From aaf55051a42fc3299232f51a335a5c6f3c5d76e9 Mon Sep 17 00:00:00 2001 From: Jake Newman Date: Fri, 19 Jun 2026 12:03:10 +0100 Subject: [PATCH 1/7] Initial integration of hill climbing --- causal_testing/discovery/__init__.py | 0 causal_testing/discovery/hill_climber.py | 236 +++++++++++++++++++++++ 2 files changed, 236 insertions(+) create mode 100644 causal_testing/discovery/__init__.py create mode 100644 causal_testing/discovery/hill_climber.py diff --git a/causal_testing/discovery/__init__.py b/causal_testing/discovery/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/causal_testing/discovery/hill_climber.py b/causal_testing/discovery/hill_climber.py new file mode 100644 index 00000000..4ac1fe26 --- /dev/null +++ b/causal_testing/discovery/hill_climber.py @@ -0,0 +1,236 @@ +""" +This module implements a hill climbing algorithm to optimise causal DAGs based on the tests that pass/fail. +""" + +import json +import os +import random +import sys +import time +import warnings +from collections import Counter +from itertools import permutations + +import networkx as nx +import rustworkx as rx +import numpy as np +import pandas as pd +from causal_testing.main import CausalTestingFramework +from causal_testing.specification.causal_dag import CausalDAG +from causal_testing.specification.scenario import Scenario +from causal_testing.testing.causal_test_result import CausalTestResult +from causal_testing.testing.metamorphic_relation import generate_metamorphic_relations + +warnings.simplefilter("ignore") + +# lexicographical order (max pass, minimise failure, minimise unknown) +# e.g. (X pass, Y fail, Z+1 unknown) is better than (X pass, Y+1 fail, Z unknown) + +def remove_cycles(causal_dag: CausalDAG, included_edges: set[tuple[str, str]] = set()): + """ + Remove cycles from individuals by iteratively deleting a random edge from each cycle until there are no more cycles. + JN Note: This may be updated using one of the methods discussed (i.e. rustworkx) + + :param causal_dag: The CausalDAG to be repaired. + :param included_edges: A set of edges that must be included in the repaired DAG. + """ + nodes = causal_dag.nodes + cycle = next(nx.algorithms.simple_cycles(causal_dag), False) + while cycle: + inx1 = random.choice(range(len(cycle))) + inx2 = (inx1 + 1) % len(cycle) + while (cycle[inx1], cycle[inx2]) in included_edges: + inx1 = inx2 + inx2 = (inx1 + 1) % len(cycle) + causal_dag.remove_edge(cycle[inx1], cycle[inx2]) + cycle = next(nx.algorithms.simple_cycles(causal_dag), False) + causal_dag.add_nodes_from(nodes) + + +def estimated_effect(result: CausalTestResult, treatment_variable: str): + """ + Check whether the estimated causal effect is negative or positive. + :param result: The causal test result object. + :param treatment_variable: The name of the treatment variable of the causal test. + :returns: Whether the estimated causal test is positive or negative (or no effect). + """ + if result.ci_low[treatment_variable] < result.ci_high[treatment_variable] < 1: + return "negative" + if 1 < result.ci_low[treatment_variable] < result.ci_high[treatment_variable]: + return "positive" + return "no effect" + + +def evaluate_tests(causal_dag: CausalDAG, df: pd.DataFrame) -> list[tuple[str, str]]: + """ + Generate and evaluate causal test cases from the supplied CausalDAG and return a list of edges for which the + corresponding causal test case failed. + + :param causal_dag: The CausalDAG to evaluate. + :param df: The data with which to evaluate the causal test cases. + """ + + ctf = CausalTestingFramework(None) + ctf.dag = causal_dag + ctf.data = df + ctf.create_variables() + ctf.scenario = Scenario(list(ctf.variables["inputs"].values()) + list(ctf.variables["outputs"].values())) + ctf.test_cases = ctf.create_test_cases( + { + "tests": [ + relation.to_json_stub( + estimator="LogisticRegressionEstimator", estimate_type="unit_odds_ratio", alpha=0.01 + ) + for relation in generate_metamorphic_relations(causal_dag) + ] + } + ) + results = [] + + for test_case, result in zip(ctf.test_cases, ctf.run_tests(silent=True)): + if result.effect_estimate is None: + results.append( + { + "result": "error", + "expected_effect": test_case.expected_causal_effect.__class__.__name__, + "treatment": test_case.base_test_case.treatment_variable.name, + "outcome": test_case.base_test_case.outcome_variable.name, + } + ) + else: + results.append( + { + "result": "pass" if test_case.expected_causal_effect.apply(result) else "failure", + "expected_effect": test_case.expected_causal_effect.__class__.__name__, + "treatment": test_case.base_test_case.treatment_variable.name, + "outcome": test_case.base_test_case.outcome_variable.name, + "effect": estimated_effect( + result.effect_estimate, test_case.base_test_case.treatment_variable.name + ), + } + ) + + return pd.DataFrame(results) + + +# TODO: Double check whether this method is actually necessary. +def normalised_counts(test_results: pd.DataFrame) -> dict: + """ + Normalise the absolute numbers of pass/fail/error test outcomes. + MF Note 2026-06-15: I can't actually remember what this method was supposed to do. I need to double check it. + :param test_results: Dataframe containing the raw pass/fail/error outcome of each test case. + :returns: Dictionary containing the number of pass/fail/error outcomes, normalised by dividing by the total number + of each. + """ + counts = pd.concat( + [ + pd.DataFrame(np.sort(test_results[["treatment", "outcome"]], axis=1), columns=["treatment", "outcome"]), + pd.get_dummies(test_results["result"]).astype(int), + ], + axis=1, + ) + for col in ["pass", "failure", "error"]: + if col not in counts.columns: + counts[col] = 0 + counts = counts.groupby(["treatment", "outcome"]).sum().reset_index()[["pass", "failure", "error"]] + counts = counts.apply(lambda col: col / counts.sum(axis=1)) + return counts.sum(axis=0).to_dict() + + +def evaluate_fitness( + individual: CausalDAG, df: pd.DataFrame +) -> tuple[tuple[float, float, float], list[tuple[str, str]]]: + """ + Evaluate the fitness of a given causal DAG by evaluating the corresponding test cases. + :param individual: The candidate individual to evaluate. + :param df: The data with which to evaluate the causal tests. + :returns: Tuple of the form (X, Y), where X is a triple containing the number of passing, inestimable, and failing + tests respectively, and Y is a list of failing edges. + """ + test_results = evaluate_tests(individual, df) + counts = normalised_counts(test_results) + problem_tests = test_results.query("result != 'pass'") + problem_edges = problem_tests[["treatment", "outcome"]].apply(tuple, axis=1).tolist() + problem_edges.extend( + problem_tests.query("expected_effect == 'NoEffect'")[["outcome", "treatment"]].apply(tuple, axis=1).tolist() + ) + + return (counts.get("pass", 0), counts.get("error", 0), counts.get("failure", 0)), problem_edges + + +def evolve_dag( + df: pd.DataFrame, + random_seed: int = 0, + output_file: str = None, + include_edges_file: str = None, + exclude_edges_file: str = None, +) -> CausalDAG: + """ + Evolve a causal DAG for a given dataset. + :param df: The data for which to fit a causal DAG. + :param random_seed: The random seed to use for genetic computation. + :param output_file: Where to save the inferred causal DAG (if supplied). + :param include_edges_file: Path to file containing edges to include. + :param exclude_edges_file: Path to file containing edges to exclude. + :returns: The inferred causal DAG. + """ + random.seed(random_seed) + + included_edges = set(nx.nx_pydot.read_dot(include_edges_file).edges()) if include_edges_file is not None else set() + excluded_edges = set(nx.nx_pydot.read_dot(exclude_edges_file).edges()) if exclude_edges_file is not None else set() + possible_edges = sorted(list((u, v) for u, v in permutations(df.columns, 2) if (u, v) not in excluded_edges)) + + start_time = time.time() + individual = CausalDAG() + individual.add_nodes_from(df.columns) + individual.add_edges_from(possible_edges) + remove_cycles(individual, included_edges) + fitness_values, problem_edges = evaluate_fitness(individual, df) + + iterations = 100 + iterations_without_improvement = 0 + + while problem_edges and iterations: + iterations -= 1 + print(iterations, fitness_values, iterations_without_improvement) + + new_individual = individual.copy() + for origin, dest in random.sample( + problem_edges + (possible_edges if iterations_without_improvement > 10 else []), + random.randint(1, len(problem_edges)), + ): + if new_individual.has_edge(origin, dest) and (origin, dest) not in included_edges: + new_individual.remove_edge(origin, dest) + elif not new_individual.has_edge(origin, dest) and (origin, dest) not in excluded_edges: + # Want to bypass the cycle check of CausalDAG as we remove the cycles afterwards + super(CausalDAG, new_individual).add_edge(origin, dest) + remove_cycles(new_individual, included_edges) + new_fitness_values, new_problem_edges = evaluate_fitness(new_individual, df) + # assert sum(new_fitness_values) == sum(fitness_values) + print(" ", new_fitness_values) + + if new_fitness_values > fitness_values: + fitness_values = new_fitness_values + problem_edges = new_problem_edges + individual = new_individual + iterations_without_improvement = 0 + else: + iterations_without_improvement += 1 + + end_time = time.time() + individual.graph["fitness"] = fitness_values + individual.graph["time"] = round(end_time - start_time) + if output_file is not None: + nx.drawing.nx_agraph.write_dot( + individual, + output_file, + ) + return individual + + +if __name__ == "__main__": + evolve_dag( + df=pd.read_csv("test_data.csv"), + random_seed=1, + output_file=f"tmp/test_dag.dot", + ) \ No newline at end of file From 1661dcfc5b277dc3245cf3ab0d2a1ec125159760 Mon Sep 17 00:00:00 2001 From: Jake Newman Date: Fri, 19 Jun 2026 12:03:52 +0100 Subject: [PATCH 2/7] Discovery entry point --- causal_testing/__main__.py | 13 +++++++++++++ causal_testing/main.py | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) diff --git a/causal_testing/__main__.py b/causal_testing/__main__.py index aee3b323..844c7c60 100644 --- a/causal_testing/__main__.py +++ b/causal_testing/__main__.py @@ -4,9 +4,11 @@ import logging import os import tempfile +import pandas as pd from pathlib import Path from causal_testing.testing.metamorphic_relation import generate_causal_tests +from causal_testing.discovery.hill_climber import evolve_dag from .main import CausalTestingFramework, CausalTestingPaths, Command, parse_args, setup_logging @@ -39,6 +41,17 @@ def main() -> None: # Setup logging setup_logging(args.verbose) + if args.command == Command.DISCOVER: + logging.info("Discovering causal structures") + evolve_dag( + df=pd.read_csv(args.data_path), + output_file=args.output_dag_path, + include_edges_file=args.include_edges, + exclude_edges_file=args.exclude_edges, + ) + logging.info("Causal structure discovery completed successfully") + return + # Create paths object paths = CausalTestingPaths( dag_path=args.dag_path, diff --git a/causal_testing/main.py b/causal_testing/main.py index 9fa3fd55..f8995965 100644 --- a/causal_testing/main.py +++ b/causal_testing/main.py @@ -31,6 +31,7 @@ class Command(Enum): TEST = "test" GENERATE = "generate" + DISCOVER = "discover" @dataclass @@ -48,6 +49,10 @@ class CausalTestingPaths: data_paths: List[Path] test_config_path: Path output_path: Path + discovery_data_path: Path + discovery_output_dag_path: Path + discovery_include_edges_path: Optional[Path] = None + discovery_exclude_edges_path: Optional[Path] = None def __init__( self, @@ -55,11 +60,20 @@ def __init__( data_paths: List[Union[str, Path]], test_config_path: Union[str, Path], output_path: Union[str, Path], + discovery_data_path: Union[str, Path], + output_dag_path: Union[str, Path], + include_edges_path: Optional[Union[str, Path]] = None, + exclude_edges_path: Optional[Union[str, Path]] = None, ): self.dag_path = Path(dag_path) self.data_paths = [Path(p) for p in data_paths] self.test_config_path = Path(test_config_path) self.output_path = Path(output_path) + self.discovery_data_path = Path(discovery_data_path) + self.output_dag_path = Path(output_dag_path) + self.include_edges_path = Path(include_edges_path) if include_edges_path else None + self.exclude_edges_path = Path(exclude_edges_path) if exclude_edges_path else None + def validate_paths(self) -> None: """ @@ -81,6 +95,18 @@ def validate_paths(self) -> None: if not self.output_path.parent.exists(): self.output_path.parent.mkdir(parents=True) + if not self.discovery_data_path.exists(): + raise FileNotFoundError(f"Data file not found: {self.discovery_data_path}") + + if not self.output_dag_path.parent.exists(): + self.output_dag_path.parent.mkdir(parents=True) + + if self.include_edges_path and not self.include_edges_path.exists(): + raise FileNotFoundError(f"Data file not found: {self.include_edges_path}") + + if self.exclude_edges_path and not self.exclude_edges_path.exists(): + raise FileNotFoundError(f"Data file not found: {self.exclude_edges_path}") + class CausalTestingFramework: # pylint: disable=too-many-instance-attributes @@ -567,6 +593,14 @@ def parse_args(args: Optional[Sequence[str]] = None) -> argparse.Namespace: help="Run tests in batches of the specified size (default: 0, which means no batching)", ) + #Discovery + parser_discover = subparsers.add_parser(Command.DISCOVER.value, help="Discover causal structures from data") + parser_discover.add_argument("-d", "--data-path", help="Path to data file (.csv)", required=True) + parser_discover.add_argument("-o", "--output-dag-path", help="Path for output DAG file (.dot)", required=True) + parser_discover.add_argument("-i", "--include-edges", help="Path to file containing edges to include", required=False) + parser_discover.add_argument("-e", "--exclude-edges", help="Path to file containing edges to exclude", required=False) + parser_discover.add_argument("-v", "--verbose", help="Enable verbose logging", action="store_true", default=False) + args = main_parser.parse_args(args) # Assume the user wants test adequacy if they're setting bootstrap_size From 078e93ca952d74871a3a5c2f7c092e9d32431aa8 Mon Sep 17 00:00:00 2001 From: Jake Newman <94863788+Jake248Newman@users.noreply.github.com> Date: Mon, 22 Jun 2026 14:48:03 +0100 Subject: [PATCH 3/7] Update causal_testing/__main__.py Co-authored-by: Michael Foster <13611658+jmafoster1@users.noreply.github.com> --- causal_testing/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/causal_testing/__main__.py b/causal_testing/__main__.py index 844c7c60..f615f810 100644 --- a/causal_testing/__main__.py +++ b/causal_testing/__main__.py @@ -42,7 +42,7 @@ def main() -> None: setup_logging(args.verbose) if args.command == Command.DISCOVER: - logging.info("Discovering causal structures") + logging.info("Discovering causal structure") evolve_dag( df=pd.read_csv(args.data_path), output_file=args.output_dag_path, From 6f9626b8b738996742908efeefe2c2be4db9717f Mon Sep 17 00:00:00 2001 From: Jake Newman Date: Mon, 22 Jun 2026 14:49:35 +0100 Subject: [PATCH 4/7] rustworkx for deterministic remove_cycles --- causal_testing/discovery/hill_climber.py | 37 ++++++++++++------------ 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/causal_testing/discovery/hill_climber.py b/causal_testing/discovery/hill_climber.py index 4ac1fe26..7dc95de8 100644 --- a/causal_testing/discovery/hill_climber.py +++ b/causal_testing/discovery/hill_climber.py @@ -26,24 +26,31 @@ # lexicographical order (max pass, minimise failure, minimise unknown) # e.g. (X pass, Y fail, Z+1 unknown) is better than (X pass, Y+1 fail, Z unknown) -def remove_cycles(causal_dag: CausalDAG, included_edges: set[tuple[str, str]] = set()): +def simple_cycle(causal_dag: CausalDAG): + """ + Find a cycle in the given CausalDAG, if one exists, returns the first found. + + :param causal_dag: The CausalDAG to check for cycles. + :returns: A list of edges in the cycle, or an empty list if there are no cycles. + """ + rx_graph = rx.networkx_converter(causal_dag) + return [(rx_graph[i], rx_graph[j]) for i, j in rx.digraph_find_cycle(rx_graph)] + + +def remove_cycles(causal_dag: CausalDAG, included_edges: set): """ Remove cycles from individuals by iteratively deleting a random edge from each cycle until there are no more cycles. - JN Note: This may be updated using one of the methods discussed (i.e. rustworkx) :param causal_dag: The CausalDAG to be repaired. :param included_edges: A set of edges that must be included in the repaired DAG. """ nodes = causal_dag.nodes - cycle = next(nx.algorithms.simple_cycles(causal_dag), False) + cycle = simple_cycle(causal_dag) while cycle: - inx1 = random.choice(range(len(cycle))) - inx2 = (inx1 + 1) % len(cycle) - while (cycle[inx1], cycle[inx2]) in included_edges: - inx1 = inx2 - inx2 = (inx1 + 1) % len(cycle) - causal_dag.remove_edge(cycle[inx1], cycle[inx2]) - cycle = next(nx.algorithms.simple_cycles(causal_dag), False) + idx = random.choice(range(len(cycle))) + while cycle[idx] in included_edges: idx = (idx + 1) % len(cycle) + causal_dag.remove_edge(cycle[idx][0], cycle[idx][1]) + cycle = simple_cycle(causal_dag) causal_dag.add_nodes_from(nodes) @@ -225,12 +232,4 @@ def evolve_dag( individual, output_file, ) - return individual - - -if __name__ == "__main__": - evolve_dag( - df=pd.read_csv("test_data.csv"), - random_seed=1, - output_file=f"tmp/test_dag.dot", - ) \ No newline at end of file + return individual \ No newline at end of file From cb0f5e6b02597f861dd595e9c87f3a8b7e4b001f Mon Sep 17 00:00:00 2001 From: Jake Newman <94863788+Jake248Newman@users.noreply.github.com> Date: Tue, 23 Jun 2026 10:43:07 +0100 Subject: [PATCH 5/7] Update causal_testing/main.py Co-authored-by: Michael Foster <13611658+jmafoster1@users.noreply.github.com> --- causal_testing/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/causal_testing/main.py b/causal_testing/main.py index f8995965..eb2da5ac 100644 --- a/causal_testing/main.py +++ b/causal_testing/main.py @@ -595,7 +595,7 @@ def parse_args(args: Optional[Sequence[str]] = None) -> argparse.Namespace: #Discovery parser_discover = subparsers.add_parser(Command.DISCOVER.value, help="Discover causal structures from data") - parser_discover.add_argument("-d", "--data-path", help="Path to data file (.csv)", required=True) + parser_discover.add_argument("-d", "--data-paths", help="Paths to data files (.csv)", nargs="+", required=True) parser_discover.add_argument("-o", "--output-dag-path", help="Path for output DAG file (.dot)", required=True) parser_discover.add_argument("-i", "--include-edges", help="Path to file containing edges to include", required=False) parser_discover.add_argument("-e", "--exclude-edges", help="Path to file containing edges to exclude", required=False) From 8538083a3c8ec1413acf5b96742881222cabb2d3 Mon Sep 17 00:00:00 2001 From: Jake Newman Date: Tue, 23 Jun 2026 11:37:19 +0100 Subject: [PATCH 6/7] Initial testing of discovery and CLI --- causal_testing/__main__.py | 4 +- causal_testing/main.py | 18 +- tests/discovery_tests/test_hill_climber.py | 97 + tests/main_tests/test_main.py | 51 + tests/resources/data/discovery_data.csv | 2001 ++++++++++++++++++++ tests/resources/data/exclude_edges.dot | 3 + tests/resources/data/include_edges.dot | 3 + 7 files changed, 2160 insertions(+), 17 deletions(-) create mode 100644 tests/discovery_tests/test_hill_climber.py create mode 100644 tests/resources/data/discovery_data.csv create mode 100644 tests/resources/data/exclude_edges.dot create mode 100644 tests/resources/data/include_edges.dot diff --git a/causal_testing/__main__.py b/causal_testing/__main__.py index f615f810..7c839330 100644 --- a/causal_testing/__main__.py +++ b/causal_testing/__main__.py @@ -44,8 +44,8 @@ def main() -> None: if args.command == Command.DISCOVER: logging.info("Discovering causal structure") evolve_dag( - df=pd.read_csv(args.data_path), - output_file=args.output_dag_path, + df=pd.concat([pd.read_csv(path) for path in args.data_paths]), + output_file=args.output, include_edges_file=args.include_edges, exclude_edges_file=args.exclude_edges, ) diff --git a/causal_testing/main.py b/causal_testing/main.py index eb2da5ac..655cb79a 100644 --- a/causal_testing/main.py +++ b/causal_testing/main.py @@ -49,10 +49,8 @@ class CausalTestingPaths: data_paths: List[Path] test_config_path: Path output_path: Path - discovery_data_path: Path - discovery_output_dag_path: Path - discovery_include_edges_path: Optional[Path] = None - discovery_exclude_edges_path: Optional[Path] = None + include_edges_path: Optional[Path] = None + exclude_edges_path: Optional[Path] = None def __init__( self, @@ -60,8 +58,6 @@ def __init__( data_paths: List[Union[str, Path]], test_config_path: Union[str, Path], output_path: Union[str, Path], - discovery_data_path: Union[str, Path], - output_dag_path: Union[str, Path], include_edges_path: Optional[Union[str, Path]] = None, exclude_edges_path: Optional[Union[str, Path]] = None, ): @@ -69,8 +65,6 @@ def __init__( self.data_paths = [Path(p) for p in data_paths] self.test_config_path = Path(test_config_path) self.output_path = Path(output_path) - self.discovery_data_path = Path(discovery_data_path) - self.output_dag_path = Path(output_dag_path) self.include_edges_path = Path(include_edges_path) if include_edges_path else None self.exclude_edges_path = Path(exclude_edges_path) if exclude_edges_path else None @@ -95,12 +89,6 @@ def validate_paths(self) -> None: if not self.output_path.parent.exists(): self.output_path.parent.mkdir(parents=True) - if not self.discovery_data_path.exists(): - raise FileNotFoundError(f"Data file not found: {self.discovery_data_path}") - - if not self.output_dag_path.parent.exists(): - self.output_dag_path.parent.mkdir(parents=True) - if self.include_edges_path and not self.include_edges_path.exists(): raise FileNotFoundError(f"Data file not found: {self.include_edges_path}") @@ -596,7 +584,7 @@ def parse_args(args: Optional[Sequence[str]] = None) -> argparse.Namespace: #Discovery parser_discover = subparsers.add_parser(Command.DISCOVER.value, help="Discover causal structures from data") parser_discover.add_argument("-d", "--data-paths", help="Paths to data files (.csv)", nargs="+", required=True) - parser_discover.add_argument("-o", "--output-dag-path", help="Path for output DAG file (.dot)", required=True) + parser_discover.add_argument("-o", "--output", help="Path for output DAG file (.dot)", required=True) parser_discover.add_argument("-i", "--include-edges", help="Path to file containing edges to include", required=False) parser_discover.add_argument("-e", "--exclude-edges", help="Path to file containing edges to exclude", required=False) parser_discover.add_argument("-v", "--verbose", help="Enable verbose logging", action="store_true", default=False) diff --git a/tests/discovery_tests/test_hill_climber.py b/tests/discovery_tests/test_hill_climber.py new file mode 100644 index 00000000..4b219780 --- /dev/null +++ b/tests/discovery_tests/test_hill_climber.py @@ -0,0 +1,97 @@ +import unittest +from unittest.mock import patch, MagicMock + +from causal_testing.discovery.hill_climber import simple_cycle, remove_cycles +from causal_testing.specification.causal_dag import CausalDAG + +class TestHillClimber(unittest.TestCase): + + def setUp(self): + pass + + def test_simple_cycle_normal(self): + dag = CausalDAG() + dag.add_edges_from([("A", "B"), ("B", "C")]) + super(CausalDAG, dag).add_edge("C", "A") + + cycle = simple_cycle(dag) + self.assertEqual(set(cycle), {("A", "B"), ("B", "C"), ("C", "A")}) + + def test_simple_cycle_no_cycles(self): + dag = CausalDAG() + dag.add_edges_from([("A", "B"), ("B", "C")]) + + cycle = simple_cycle(dag) + self.assertEqual(set(cycle), set()) + + @patch('causal_testing.discovery.hill_climber.simple_cycle') + def test_remove_cycles_normal(self, mock_simple_cycle): + mock_dag = MagicMock() + mock_dag.nodes = ['A', 'B', 'C'] + + cycle_edges = [('A', 'B'), ('B', 'C'), ('C', 'A')] + mock_simple_cycle.side_effect = [cycle_edges, []] + + remove_cycles(mock_dag, included_edges=set()) + assert mock_dag.remove_edge.call_count == 1 + call_args = mock_dag.remove_edge.call_args[0] + assert call_args in cycle_edges + mock_dag.add_nodes_from.assert_called_once_with(['A', 'B', 'C']) + + @patch('causal_testing.discovery.hill_climber.simple_cycle') + def test_remove_cycles_respects_included_edges(self, mock_simple_cycle): + mock_dag = MagicMock() + mock_dag.nodes = ['A', 'B', 'C'] + + cycle_edges = [('A', 'B'), ('B', 'C'), ('C', 'A')] + mock_simple_cycle.side_effect = [cycle_edges, []] + included_edges = {('A', 'B'), ('B', 'C')} + + remove_cycles(mock_dag, included_edges) + mock_dag.remove_edge.assert_called_once_with('C', 'A') + + @patch('causal_testing.discovery.hill_climber.simple_cycle') + def test_remove_cycles_no_cycles_present(self, mock_simple_cycle): + mock_dag = MagicMock() + mock_dag.nodes = ['A', 'B'] + mock_simple_cycle.return_value = [] + + remove_cycles(mock_dag, included_edges=set()) + mock_dag.remove_edge.assert_not_called() + mock_dag.add_nodes_from.assert_called_once_with(['A', 'B']) + + @patch('causal_testing.discovery.hill_climber.simple_cycle') + def test_remove_cycles_multiple_cycles(self, mock_simple_cycle): + mock_dag = MagicMock() + mock_dag.nodes = ['A', 'B', 'C', 'D'] + + cycle_1 = [('A', 'B'), ('B', 'A')] + cycle_2 = [('C', 'D'), ('D', 'C')] + mock_simple_cycle.side_effect = [cycle_1, cycle_2, []] + + remove_cycles(mock_dag, included_edges=set()) + assert mock_dag.remove_edge.call_count == 2 + mock_dag.add_nodes_from.assert_called_once_with(['A', 'B', 'C', 'D']) + + def test_estimate_effect(self): + # Test the estimate_effect function + pass + + def test_evaluate_tests(self): + # Test the evaluate_dag function + pass + + def test_normalize_counts(self): + # Test the normalize_counts function + pass + + def test_evaluate_fitness(self): + # Test the evaluate_fitness function + pass + + def test_evolve_dag(self): + # Test the evolve_dag function + pass + + def tearDown(self): + pass \ No newline at end of file diff --git a/tests/main_tests/test_main.py b/tests/main_tests/test_main.py index 14d92f88..e180dfe4 100644 --- a/tests/main_tests/test_main.py +++ b/tests/main_tests/test_main.py @@ -18,6 +18,8 @@ def setUp(self): self.data_paths = ["tests/resources/data/data.csv"] self.test_config_path = "tests/resources/data/tests.json" self.output_path = Path("results/results.json") + self.include_edges_path = Path("tests/resources/data/include_edges.dot") + self.exclude_edges_path = Path("tests/resources/data/exclude_edges.dot") def test_missing_dag(self): with self.assertRaises(FileNotFoundError) as e: @@ -38,6 +40,30 @@ def test_output_file_created(self): self.assertFalse(self.output_path.parent.exists()) CausalTestingPaths(self.dag_path, self.data_paths, self.test_config_path, self.output_path).validate_paths() self.assertTrue(self.output_path.parent.exists()) + + def test_missing_include_edges(self): + with self.assertRaises(FileNotFoundError) as e: + CausalTestingPaths( + self.dag_path, + self.data_paths, + self.test_config_path, + self.output_path, + "missing.dot", + self.exclude_edges_path, + ).validate_paths() + self.assertEqual("Data file not found: missing.dot", str(e.exception)) + + def test_missing_exclude_edges(self): + with self.assertRaises(FileNotFoundError) as e: + CausalTestingPaths( + self.dag_path, + self.data_paths, + self.test_config_path, + self.output_path, + self.include_edges_path, + "missing.dot", + ).validate_paths() + self.assertEqual("Data file not found: missing.dot", str(e.exception)) def tearDown(self): if self.output_path.parent.exists(): @@ -50,11 +76,15 @@ def setUp(self): self.data_paths = ["tests/resources/data/data.csv"] self.test_config_path = "tests/resources/data/tests.json" self.output_path = Path("results/results.json") + self.include_edges_path = "tests/resources/data/include_edges.dot" + self.exclude_edges_path = "tests/resources/data/exclude_edges.dot" self.paths = CausalTestingPaths( dag_path=self.dag_path, data_paths=self.data_paths, test_config_path=self.test_config_path, output_path=self.output_path, + include_edges_path=self.include_edges_path, + exclude_edges_path=self.exclude_edges_path, ) def test_load_data(self): @@ -572,6 +602,27 @@ def test_parse_args_generation_non_default(self): main() self.assertTrue(os.path.exists(os.path.join(tmp, "tests_non_default.json"))) + def test_parse_args_discover(self): + with tempfile.TemporaryDirectory() as tmp: + with patch( + "sys.argv", + [ + "causal_testing", + "discover", + "--data-paths", + str(self.data_paths[0]), + str(self.data_paths[0]), + "--output", + os.path.join(tmp, "discovered_dag.dot"), + "--include-edges", + self.include_edges_path, + "--exclude-edges", + self.exclude_edges_path, + ], + ): + main() + self.assertTrue(os.path.exists(os.path.join(tmp, "discovered_dag.dot"))) + def tearDown(self): if self.output_path.parent.exists(): shutil.rmtree(self.output_path.parent) diff --git a/tests/resources/data/discovery_data.csv b/tests/resources/data/discovery_data.csv new file mode 100644 index 00000000..b62e007c --- /dev/null +++ b/tests/resources/data/discovery_data.csv @@ -0,0 +1,2001 @@ +X,Y,Z,alpha,beta,gamma +0.0,0.0,30.0,0.3257783155705113,30.961423260135838,959.6650702100005 +0.030015007503751877,0.0005002501250625312,30.005002501250626,0.8167601636394878,30.2396900351857,917.0213662860295 +0.060030015007503754,0.0010005002501250625,30.010005002501252,0.6490706468160616,30.623796504564794,939.8245993004892 +0.09004502251125562,0.0015007503751875936,30.015007503751875,0.07743974385666638,30.737741491129515,945.5137731157389 +0.12006003001500751,0.002001000500250125,30.0200100050025,0.04193001054747307,30.1350309757095,909.0881574732543 +0.1500750375187594,0.0025012506253126563,30.025012506253127,0.9681139787708879,30.19922614980261,914.3158800517042 +0.18009004502251125,0.003001500750375187,30.030015007503753,0.46536380808197364,30.7287334376003,946.0035524385249 +0.21010505252626313,0.0035017508754377185,30.03501750875438,0.016725914551935468,30.685833968934304,942.1622129447641 +0.24012006003001501,0.00400200100050025,30.040020010005,0.6332505269920731,30.187610348006753,913.118966072951 +0.27013506753376687,0.004502251125562781,30.045022511255628,0.07334771914627418,30.46235397999305,928.6235092733613 +0.3001500750375188,0.0050025012506253125,30.050025012506254,0.37427827090162086,30.30107044831427,919.804377918189 +0.33016508254127064,0.005502751375687844,30.05502751375688,0.5875008966779577,30.602500267164316,937.8700242234625 +0.3601800900450225,0.006003001500750374,30.060030015007502,0.15816660829640689,30.460634289618806,928.8806186122065 +0.3901950975487744,0.006503251625812906,30.06503251625813,0.6811801641804072,30.51432096837935,932.6085996382307 +0.42021010505252626,0.007003501750875437,30.070035017508754,0.8958438320520082,30.324901684545463,922.0904287500556 +0.4502251125562782,0.007503751875937968,30.07503751875938,0.850757216061286,30.358618108834097,923.5843080571541 +0.48024012006003003,0.0080040020010005,30.080040020010006,0.9392699869484574,30.596541071425612,938.3549983411176 +0.5102551275637819,0.00850425212606303,30.08504252126063,0.7668562918586201,30.875402059594652,954.8390500832228 +0.5402701350675337,0.009004502251125562,30.090045022511255,0.31918890831806396,30.64581465602141,940.6438459374217 +0.5702851425712857,0.009504752376188093,30.09504752376188,0.6278828708334564,30.646628875757838,941.3571586424367 +0.6003001500750376,0.010005002501250625,30.100050025012507,0.20790661061241206,30.616650623721814,938.0808857426082 +0.6303151575787894,0.010505252626313155,30.105052526263133,0.4346417569567319,30.30676972045174,920.2510804932522 +0.6603301650825413,0.011005502751375688,30.110055027513756,0.32632000776492825,31.115742238779504,969.3598394443075 +0.6903451725862931,0.011505752876438218,30.115057528764382,0.12865458390234108,30.77742648427672,948.0261202429284 +0.720360180090045,0.012006003001500749,30.120060030015008,0.36202799558043525,30.492345285294213,930.6210170554918 +0.750375187593797,0.01250625312656328,30.125062531265634,0.8578921104033974,30.45591244368182,929.4426313678993 +0.7803901950975488,0.013006503251625811,30.130065032516256,0.9694170258120839,30.284862390276093,919.9275687913748 +0.8104052026013007,0.013506753376688344,30.135067533766883,0.8739590445469549,30.38411045111983,925.8398741319793 +0.8404202101050525,0.014007003501750874,30.14007003501751,0.5371555235212195,30.81252450549071,951.2878225454876 +0.8704352176088044,0.014507253626813406,30.145072536268135,0.6195431673614332,30.96963614738896,960.8158668397446 +0.9004502251125563,0.015007503751875937,30.15007503751876,0.05663489306029529,30.590816320773186,936.6403044507931 +0.9304652326163082,0.015507753876938469,30.155077538769383,0.9762851929738386,30.96592604100806,961.2762359006501 +0.9604802401200601,0.016008004002001,30.16008004002001,0.9565714031276491,31.17483102029122,974.0020296006585 +0.9904952476238119,0.01650825412706353,30.165082541270635,0.13782677607858834,30.232473035030466,914.9071742864688 +1.0205102551275638,0.01700850425212606,30.17008504252126,0.9356846013816592,30.841629006707382,953.5226280916444 +1.0505252626313157,0.017508754377188594,30.175087543771888,0.028873895977622768,30.454984811407172,928.3920725803689 +1.0805402701350675,0.018009004502251125,30.18009004502251,0.3408168987531087,30.239415914004326,915.7710596451279 +1.1105552776388194,0.018509254627313655,30.185092546273136,1.0179315078375573,30.84002162111409,953.836756613833 +1.1405702851425714,0.019009504752376186,30.190095047523762,0.5722700437292505,30.859541124610015,954.0227766957576 +1.1705852926463232,0.01950975487743872,30.19509754877439,0.4205992510568546,30.741987829218292,946.090716014155 +1.2006003001500751,0.02001000500250125,30.20010005002501,0.7927510332123171,30.772497297743026,949.4537382742714 +1.2306153076538269,0.02051025512756378,30.205102551275637,0.7356981673548499,31.115228719279752,969.6850172209532 +1.2606303151575788,0.02101050525262631,30.210105052526263,0.9173402593049462,30.278756279057674,919.2682002962862 +1.2906453226613308,0.02151075537768884,30.21510755377689,0.41556218432991504,30.95734878922367,959.5631156957783 +1.3206603301650826,0.022011005502751375,30.220110055027515,0.06294901063700067,30.34947138433632,921.9996632540398 +1.3506753376688345,0.022511255627813906,30.225112556278138,0.8944240421497234,30.666928208000286,942.804638205021 +1.3806903451725863,0.023011505752876436,30.230115057528764,0.46297780129268357,30.518671041217736,932.5374915083981 +1.4107053526763382,0.023511755877938967,30.23511755877939,0.8596682796043716,30.463463886824854,929.7647432391917 +1.44072036018009,0.024012006003001497,30.240120060030016,0.5231619198868581,30.468338415170276,930.2644949103458 +1.470735367683842,0.02451225612806403,30.245122561280642,0.1208750569280472,31.164662795065524,971.6162562950409 +1.500750375187594,0.02501250625312656,30.250125062531264,0.15462930463512697,31.00158598274826,961.470656467537 +1.5307653826913457,0.025512756378189092,30.25512756378189,0.09597041822564895,31.259788459925943,977.5972800147335 +1.5607803901950976,0.026013006503251623,30.260130065032516,0.9655061509308875,30.849404679365094,954.1409207665565 +1.5907953976988494,0.026513256628314157,30.265132566283143,0.8039355056768331,31.16641617443202,973.4781486556946 +1.6208104052026013,0.027013506753376687,30.27013506753377,0.8395555218181822,31.278071198883744,980.3225702626816 +1.6508254127063533,0.027513756878439218,30.27513756878439,0.8140150749737468,30.342371480558572,922.4024124004321 +1.680840420210105,0.028014007003501748,30.280140070035017,0.06492073291692732,31.2763017472227,978.9958139136849 +1.710855427713857,0.02851425712856428,30.285142571285643,0.2867807552999956,30.81822161896211,951.0645859433805 +1.7408704352176088,0.029014507253626812,30.29014507253627,0.36068736926792966,31.043221005107043,965.383123792792 +1.7708854427213607,0.029514757378689343,30.295147573786892,0.5401106664346567,30.469371130380697,930.3375035053106 +1.8009004502251127,0.030015007503751873,30.300150075037518,0.8428074561757862,31.082454245049924,967.8076972694707 +1.8309154577288644,0.030515257628814404,30.305152576288144,1.039996772531966,30.672474345520435,943.2980049045909 +1.8609304652326164,0.031015507753876938,30.31015507753877,1.0245510131750497,30.420465533098863,927.5393364641143 +1.8909454727363681,0.03151575787893947,30.315157578789396,0.5488440965503508,30.871547726785543,954.6124564688506 +1.9209604802401201,0.032016008004002,30.32016008004002,0.13009411329347673,30.42953034200669,926.8432798463489 +1.950975487743872,0.03251625812906453,30.325162581290645,0.3322698146645785,31.22011409092754,976.1069331290436 +1.9809904952476238,0.03301650825412706,30.33016508254127,0.4996663885870103,30.820608870020738,951.3933564781593 +2.0110055027513756,0.03351675837918959,30.335167583791897,0.3768203954009985,30.834000773957623,952.365425921923 +2.0410205102551275,0.03401700850425212,30.340170085042523,0.9989536544058828,30.59800534558843,939.0235451740072 +2.0710355177588795,0.03451725862931466,30.345172586293145,0.6328301262448675,30.654377217007767,941.2913274047708 +2.1010505252626315,0.03501750875437719,30.35017508754377,0.6125372762467184,30.60468830687814,938.0858167422696 +2.1310655327663834,0.03551775887943972,30.355177588794398,0.7056288355709006,30.67680885416686,943.1282549830269 +2.161080540270135,0.03601800900450225,30.360180090045024,0.7438410832233111,30.406136228764627,926.1069759546104 +2.191095547773887,0.03651825912956478,30.365182591295646,0.2057119091051441,31.02524091186429,963.5083473995447 +2.221110555277639,0.03701850925462731,30.370185092546272,0.39437538060407856,31.325737379678984,982.4170909402798 +2.251125562781391,0.03751875937968984,30.3751875937969,0.12352276757187682,31.337574855585963,982.3516090874859 +2.281140570285143,0.03801900950475237,30.380190095047524,0.2155065069983347,30.422942213416732,926.0165795712617 +2.3111555777888944,0.0385192596298149,30.38519259629815,0.8483157080756063,30.58295394393031,937.5510466759396 +2.3411705852926463,0.03901950975487744,30.390195097548773,0.2132760988803466,30.68942173280352,942.4755311288096 +2.3711855927963983,0.03951975987993997,30.3951975987994,0.4902412974804132,30.529562956723396,933.2629869768972 +2.4012006003001503,0.0400200100050025,30.400200100050025,1.0797671255466763,30.883284511747274,956.4552000113741 +2.4312156078039022,0.04052026013006503,30.40520260130065,0.8696829869361279,30.463085720068584,929.9312526064771 +2.4612306153076537,0.04102051025512756,30.410205102551277,0.36953772652741945,30.949161605903974,959.2758893117003 +2.4912456228114057,0.04152076038019009,30.4152076038019,1.0950584356652588,31.41618331102587,989.1899728668834 +2.5212606303151577,0.04202101050525262,30.420210105052526,0.38730405549285074,30.774962531515115,948.0556612086513 +2.5512756378189096,0.04252126063031515,30.425212606303152,0.303345931711138,30.783938242114758,948.5489932661425 +2.5812906453226616,0.04302151075537768,30.430215107553778,0.7216048614012529,30.599182857934306,937.8262472875194 +2.611305652826413,0.04352176088044022,30.4352176088044,0.3858959211150512,30.89264265589851,955.3475120215946 +2.641320660330165,0.04402201100550275,30.440220110055026,0.4017895646082279,30.76241555227212,947.9498898893629 +2.671335667833917,0.04452226113056528,30.445222611305653,0.8814170805227146,31.100334780567486,969.1999233355923 +2.701350675337669,0.04502251125562781,30.45022511255628,0.23549308186394138,30.622335400543797,939.1231366615724 +2.731365682841421,0.04552276138069034,30.455227613806905,0.37607792380361826,30.854185480951973,953.6235043981762 +2.7613806903451725,0.04602301150575287,30.460230115057527,0.3085556864266057,30.957819585630542,959.8769834336244 +2.7913956978489245,0.0465232616308154,30.465232616308153,0.9262827375118368,30.69165565403469,944.2541681549328 +2.8214107053526765,0.047023511755877934,30.47023511755878,0.9317687977689609,31.10047745900779,969.5441148855075 +2.8514257128564284,0.047523761880940464,30.475237618809405,0.6546803431748573,30.990862657400708,961.9500894142939 +2.88144072036018,0.048024012006002995,30.48024012006003,0.6138929287337491,30.759111258098265,947.4724508249888 +2.911455727863932,0.04852426213106553,30.485242621310654,0.2897848362474291,31.224064494202484,975.7676056592151 +2.941470735367684,0.04902451225612806,30.49024512256128,0.976847415003463,31.520875116035878,996.3161156514561 +2.971485742871436,0.04952476238119059,30.495247623811906,0.603618720514157,31.211028765633014,976.1209166878934 +3.001500750375188,0.05002501250625312,30.500250125062532,0.9068559048944642,31.15705342171629,973.3013153788118 +3.0315157578789393,0.050525262631315654,30.50525262631316,0.181511100385897,30.68361816452939,942.7087091471403 +3.0615307653826913,0.051025512756378184,30.51025512756378,1.0319970051977456,30.71957636475188,945.8979006650252 +3.0915457728864433,0.051525762881440715,30.515257628814407,0.5591953701527947,30.579169518085397,936.3734553684287 +3.1215607803901952,0.052026013006503245,30.520260130065033,1.0360480364082294,31.482652601130702,993.2486670762049 +3.151575787893947,0.052526263131565776,30.52526263131566,0.36047802089509146,31.376441725119093,985.8061120316897 +3.1815907953976987,0.05302651325662831,30.53026513256628,0.6429633717138998,31.027771572377837,964.4031355279823 +3.2116058029014507,0.053526763381690844,30.535267633816908,0.6934337377030797,31.550982189318585,997.1383816964565 +3.2416208104052027,0.054027013506753374,30.540270135067534,0.1870126782323455,31.335076968737983,982.6534205431615 +3.2716358179089546,0.054527263631815905,30.54527263631816,1.1163040967840616,30.66337953320572,943.3516961958975 +3.3016508254127066,0.055027513756878435,30.550275137568786,0.2189589265338831,31.395841594601453,986.9048037394214 +3.331665832916458,0.055527763881940966,30.55527763881941,1.1437245989148799,30.94323193144924,960.259881887863 +3.36168084042021,0.056028014007003496,30.560280140070034,0.37600860032497707,30.682547638775166,942.9156712305664 +3.391695847923962,0.056528264132066026,30.56528264132066,0.6295461780058199,30.981549517161174,961.3994090034302 +3.421710855427714,0.05702851425712856,30.570285142571286,0.6046661152694294,30.93819504890625,958.9876320985592 +3.451725862931466,0.057528764382191094,30.575287643821913,0.45119400930275666,31.340167625136672,983.2088237048797 +3.4817408704352175,0.058029014507253625,30.580290145072535,0.6270347454230967,31.637987321689252,1003.0933478191773 +3.5117558779389695,0.058529264632316155,30.58529264632316,0.8198097962607309,31.52189573445997,995.281305891832 +3.5417708854427215,0.059029514757378686,30.590295147573787,0.6487323675939329,30.898482439788438,956.4101121723762 +3.5717858929464734,0.059529764882441216,30.595297648824413,0.5065691530004023,30.858073558792622,953.6264014887452 +3.6018009004502254,0.06003001500750375,30.600300150075036,1.0534694701499747,30.900771915929916,957.3501786835816 +3.631815907953977,0.06053026513256628,30.605302651325662,0.49891051094234923,31.398747908897796,987.3547499387076 +3.661830915457729,0.06103051525762881,30.610305152576288,0.8201905737761177,31.0726988050041,967.8516654131766 +3.691845922961481,0.06153076538269134,30.615307653826914,0.8146689722224053,31.496582685703515,994.2728954025796 +3.721860930465233,0.062031015507753876,30.62031015507754,0.7696982477715041,31.355280766439954,985.2141352474321 +3.7518759379689848,0.0625312656328164,30.625312656328163,0.8467445057066433,30.774691651466433,949.4791280582551 +3.7818909454727363,0.06303151575787894,30.63031515757879,0.7570445427096371,31.360250513214577,985.4166463048299 +3.8119059529764883,0.06353176588294146,30.635317658829415,1.1405764905772942,30.994901703739963,963.4324531408454 +3.8419209604802402,0.064032016008004,30.64032016008004,0.34783571177209627,30.901666959545324,955.6460373047211 +3.871935967983992,0.06453226613306653,30.645322661330667,0.803113311239821,30.920101063400626,957.9282930557166 +3.901950975487744,0.06503251625812906,30.65032516258129,1.0347693018785282,31.53338071598694,996.9582193722063 +3.9319659829914957,0.0655327663831916,30.655327663831915,0.2973664520501901,31.351433520580656,984.3493133514316 +3.9619809904952477,0.06603301650825412,30.66033016508254,0.33033691215158073,30.933287185944845,958.5101146263218 +3.9919959979989996,0.06653326663331666,30.665332666333168,0.6392897116834997,31.190863062793806,974.8695148876268 +4.022011005502751,0.06703351675837918,30.670335167583794,1.2200107044156114,31.687895090183016,1007.2067897148764 +4.052026013006503,0.06753376688344172,30.675337668834416,0.4048913544966217,31.52369441807847,994.6403198471476 +4.082041020510255,0.06803401700850424,30.680340170085042,0.8523312078901302,30.854683824098665,953.9163438784677 +4.112056028014007,0.06853426713356678,30.68534267133567,0.8333590361648896,31.469730031626156,992.0473028890741 +4.142071035517759,0.06903451725862932,30.690345172586294,1.1476283633920157,31.01646194905167,964.4857327729626 +4.172086043021511,0.06953476738369184,30.695347673836917,0.608766810129833,31.259980925953887,979.3978870435332 +4.202101050525263,0.07003501750875438,30.700350175087543,1.1652979878719574,31.443702927371547,991.6832022300815 +4.232116058029015,0.0705352676338169,30.70535267633817,0.48397121404572024,31.414510225006225,988.5542132964852 +4.262131065532767,0.07103551775887944,30.710355177588795,0.44892896273101446,31.71617307707663,1006.8727670878504 +4.292146073036518,0.07153576788394196,30.71535767883942,0.7473790730313252,31.46428338222229,992.3977397302805 +4.32216108054027,0.0720360180090045,30.720360180090044,0.9457298355410415,30.886818028652034,956.1210625731944 +4.352176088044022,0.07253626813406702,30.72536268134067,1.1730589496778645,31.042465488290325,966.6266706137565 +4.382191095547774,0.07303651825912956,30.730365182591296,0.5857060459957318,31.633255221335435,1002.3545964621688 +4.412206103051526,0.0735367683841921,30.735367683841922,0.5282786314256908,30.86640964864817,954.3279680771185 +4.442221110555278,0.07403701850925462,30.740370185092548,0.8226873877107932,30.90251516321418,957.0080761380407 +4.47223611805903,0.07453726863431716,30.74537268634317,0.37608439920214354,30.996564615633588,962.4089667488777 +4.502251125562782,0.07503751875937968,30.750375187593797,0.570053021844156,31.53622009050242,996.5682881617715 +4.532266133066534,0.07553776888444222,30.755377688844423,0.3829182357168012,30.992696676107034,961.9581582263288 +4.562281140570286,0.07603801900950474,30.76038019009505,0.9637955892627685,31.2379405398862,978.3384992074617 +4.592296148074037,0.07653826913456728,30.76538269134567,0.410226323012107,31.7349419821729,1008.4901630182899 +4.622311155577789,0.0770385192596298,30.770385192596297,1.2902478544473,31.678607994127752,1006.7573955172655 +4.652326163081541,0.07753876938469234,30.775387693846923,1.232926515019779,31.274625635169368,980.5950966416788 +4.682341170585293,0.07803901950975488,30.78039019509755,1.2390731139127182,31.258247694245856,979.920568027718 +4.712356178089045,0.0785392696348174,30.785392696348175,1.3335074065237267,31.589100029869766,1001.1758545680135 +4.742371185592797,0.07903951975987994,30.790395197598798,0.8633270318083053,31.048250095566917,966.4609673437919 +4.7723861930965485,0.07953976988494246,30.795397698849424,0.6205627025099014,30.988602057250443,961.954527677486 +4.8024012006003005,0.080040020010005,30.80040020010005,0.7166780061504359,31.020022170001003,964.243009702267 +4.8324162081040525,0.08054027013506752,30.805402701350676,0.42861951911531865,31.396164198978365,986.6319604382996 +4.8624312156078044,0.08104052026013006,30.810405202601302,1.0675237679851615,31.75357704173599,1010.9051727851604 +4.8924462231115555,0.08154077038519258,30.815407703851925,1.1481567989501595,31.56204397698643,999.241075448016 +4.9224612306153075,0.08204102051025512,30.82041020510255,0.8577714669663637,31.579089560141128,999.1201764100738 +4.9524762381190595,0.08254127063531766,30.825412706353177,0.7378931136252405,31.54160891588704,996.4356638831284 +4.982491245622811,0.08304152076038018,30.830415207603803,1.0732653922108,31.531799056188827,996.7081217710216 +5.012506253126563,0.08354177088544272,30.83541770885443,0.6624804152895938,31.727108693215857,1008.1966497457763 +5.042521260630315,0.08404202101050524,30.84042021010505,0.45156178172959394,31.313268441627,981.4927079109985 +5.072536268134067,0.08454227113556778,30.845422711355678,1.0684251955580644,31.500524865374285,995.319331374457 +5.102551275637819,0.0850425212606303,30.850425212606304,0.9890967214821443,31.048957233555534,966.2126251960652 +5.132566283141571,0.08554277138569284,30.85542771385693,1.2818074425032762,31.768986750403872,1012.6672595110387 +5.162581290645323,0.08604302151075537,30.860430215107552,0.8100073699643766,30.997128670516854,962.594322505782 +5.192596298149074,0.0865432716358179,30.86543271635818,1.1372595988922638,31.624319078128956,1003.3192725442893 +5.222611305652826,0.08704352176088044,30.870435217608804,1.2125500349617468,31.79278166684529,1014.1289086750797 +5.252626313156578,0.08754377188594296,30.87543771885943,0.9466525504505512,31.446443551560513,991.3498838774468 +5.28264132066033,0.0880440220110055,30.880440220110057,0.6878888485369252,31.2332619794993,977.0771762199798 +5.312656328164082,0.08854427213606803,30.88544272136068,0.7230962552959612,31.512645227678114,995.3321588305012 +5.342671335667834,0.08904452226113056,30.890445222611305,1.2738065783213175,31.91602625744486,1022.0021552597906 +5.372686343171586,0.08954477238619309,30.89544772386193,0.8505694411682163,31.149370530885506,972.603654382793 +5.402701350675338,0.09004502251125562,30.900450225112557,1.2499627153119581,31.11732573207439,971.2041366762487 +5.43271635817909,0.09054527263631815,30.90545272636318,1.082176762597311,31.02771367632719,965.804165321846 +5.462731365682842,0.09104552276138068,30.910455227613806,1.1192040983032328,31.14993808701052,972.8381850394544 +5.492746373186593,0.09154577288644322,30.915457728864432,0.5292772370449563,31.148416288083205,971.7391389022766 +5.522761380690345,0.09204602301150575,30.920460230115058,0.587582574839693,31.0991540290436,968.8568470679093 +5.552776388194097,0.09254627313656828,30.925462731365684,0.8206265374051334,31.331416336252406,984.2135770847166 +5.582791395697849,0.0930465232616308,30.930465232616307,1.513033514439538,31.931623227264208,1023.07370092519 +5.612806403201601,0.09354677338669334,30.935467733866933,1.2563080450855098,31.963091106204832,1024.533799411345 +5.642821410705353,0.09404702351175587,30.94047023511756,1.1259765782486602,31.406633910018755,988.8296309663796 +5.672836418209105,0.0945472736368184,30.945472736368185,1.012156957813307,31.430570401188138,990.1555086537865 +5.702851425712857,0.09504752376188093,30.95047523761881,1.260385672916903,31.49747629334956,995.5651311137376 +5.732866433216609,0.09554777388694347,30.955477738869433,1.1388121610476452,31.232355888518523,978.1346561358655 +5.76288144072036,0.09604802401200599,30.96048024012006,1.1557768758191247,31.350796478107537,985.2705550187302 +5.792896448224112,0.09654827413706853,30.965482741370685,1.3864882765577204,31.251063995903152,979.4919252960686 +5.822911455727864,0.09704852426213106,30.97048524262131,1.1931615632686845,31.83942696119692,1016.8866425423196 +5.852926463231616,0.09754877438719359,30.975487743871938,1.477556161603492,31.694729543339875,1008.1384940771893 +5.882941470735368,0.09804902451225612,30.98049024512256,1.0162548525783492,31.28691826872679,981.5870014656712 +5.91295647823912,0.09854927463731865,30.985492746373186,0.5852165679673517,31.253401635081087,978.105157706333 +5.942971485742872,0.09904952476238119,30.990495247623812,1.5651347641849096,31.269572732108966,980.9999950677696 +5.972986493246624,0.09954977488744371,30.99549774887444,0.650773060092657,31.718494936210732,1007.5708565305257 +6.003001500750376,0.10005002501250625,31.000500250125064,1.0701655476511114,31.735739802040882,1010.1948854627352 +6.033016508254128,0.10055027513756877,31.005502751375687,1.2255273960415187,31.821771799423196,1015.9120277873903 +6.063031515757879,0.10105052526263131,31.010505252626313,1.224843830299522,32.09679160054298,1032.664167423759 +6.093046523261631,0.10155077538769385,31.01550775387694,0.7143285983564208,31.83889435791312,1015.6992142462243 +6.123061530765383,0.10205102551275637,31.020510255127565,1.0883214890901365,31.816157437210837,1015.2442963258993 +6.153076538269135,0.1025512756378189,31.025512756378188,0.7581509583587273,31.640538341872926,1003.3301537707385 +6.1830915457728866,0.10305152576288143,31.030515257628814,1.482318102903664,31.664527318420028,1005.9547679029168 +6.2131065532766385,0.10355177588794397,31.03551775887944,1.3419255402955257,32.105299526322504,1033.4562644349146 +6.2431215607803905,0.10405202601300649,31.040520260130066,0.9541290715054649,31.486369225609042,993.4923590817665 +6.2731365682841425,0.10455227613806903,31.045522761380692,1.3367965414543495,31.20965154693786,977.6236607509342 +6.303151575787894,0.10505252626313155,31.050525262631314,1.1888613704862543,31.659562756515353,1004.793589868627 +6.333166583291646,0.10555277638819409,31.05552776388194,0.8450916731215533,31.704204797264396,1007.0687161163899 +6.3631815907953975,0.10605302651325663,31.060530265132567,1.180261589470537,31.24241004119307,978.5306040456727 +6.393196598299149,0.10655327663831915,31.065532766383193,1.012386659752811,31.638751668112857,1003.1539972122495 +6.423211605802901,0.10705352676338169,31.070535267633815,1.2276311915676532,31.313208132903277,983.4853361895046 +6.453226613306653,0.10755377688844421,31.07553776888444,1.6545924316085907,32.009279125468645,1028.8492045682513 +6.483241620810405,0.10805402701350675,31.080540270135067,1.5505602674490098,32.09727834769209,1034.147799422204 +6.513256628314157,0.10855427713856927,31.085542771385693,0.9500788024345854,31.38566903571397,987.1585631237876 +6.543271635817909,0.10905452726363181,31.09054527263632,1.271124850274386,32.18561662356451,1039.1050387895748 +6.573286643321661,0.10955477738869433,31.095547773886942,0.8821555035233345,31.726594937328255,1008.7210751491375 +6.603301650825413,0.11005502751375687,31.100550275137568,1.4672537088963395,31.518376070025766,997.195743231936 +6.633316658329165,0.11055527763881941,31.105552776388194,0.8413359648212482,31.62847541863201,1002.4021337796958 +6.663331665832916,0.11105552776388193,31.11055527763882,1.2303099325892668,31.752923904370455,1010.96815316364 +6.693346673336668,0.11155577788894447,31.115557778889446,0.7970068989846797,31.69335297899933,1006.1445868384698 +6.72336168084042,0.11205602801400699,31.12056028014007,1.503037260177369,31.50575976611235,995.7231116429172 +6.753376688344172,0.11255627813906953,31.125562781390695,1.0647537084484577,32.12714203666076,1034.3294806949477 +6.783391695847924,0.11305652826413205,31.13056528264132,1.0024356278042619,32.07732258318614,1031.0399477086478 +6.813406703351676,0.11355677838919459,31.135567783891947,0.8853187425112705,32.22454857713309,1040.3436255235704 +6.843421710855428,0.11405702851425711,31.140570285142573,1.0950143514051858,31.988041595335723,1026.0660035412013 +6.87343671835918,0.11455727863931965,31.145572786393195,1.7356883994969778,31.310384195366726,984.7506793068623 +6.903451725862932,0.11505752876438219,31.15057528764382,1.0700653892291072,31.46200793521322,992.4105200594377 +6.933466733366684,0.11555777888944471,31.155577788894448,1.7031503890374866,31.459905243552374,993.5281333104803 +6.963481740870435,0.11605802901450725,31.160580290145074,0.9227482613702035,31.45352806725451,991.7355363455216 +6.993496748374187,0.11655827913956977,31.165582791395696,0.9895767294307393,31.620608396763803,1002.4362994091645 +7.023511755877939,0.11705852926463231,31.170585292646322,1.0537705455438116,31.555824743890117,998.5430881220453 +7.053526763381691,0.11755877938969483,31.17558779389695,1.060178285943808,31.81974814639225,1015.3101877945355 +7.083541770885443,0.11805902951475737,31.180590295147574,0.9049210963819035,31.39053392118937,988.0376879176779 +7.113556778389195,0.1185592796398199,31.1855927963982,1.3291416336092639,31.4141214707209,990.3560091184272 +7.143571785892947,0.11905952976488243,31.190595297648823,1.0052277249478077,31.987775333166876,1026.039454348257 +7.173586793396699,0.11955977988994497,31.19559779889945,1.4261663658504165,32.14952873588792,1036.9284375005236 +7.203601800900451,0.1200600300150075,31.200600300150075,1.1608898700658903,32.01392272072575,1027.4362248552736 +7.233616808404203,0.12056028014007003,31.2056028014007,1.1435120405992483,31.808266509461916,1014.7201228834049 +7.263631815907954,0.12106053026513255,31.210605302651327,1.101073853064447,31.53571391210818,997.1962940823652 +7.293646823411706,0.12156078039019509,31.21560780390195,1.2637785588572994,31.84040156585187,1016.4603421576943 +7.323661830915458,0.12206103051525762,31.220610305152576,1.8651945599914546,31.80424520568628,1015.5715684216518 +7.35367683841921,0.12256128064032015,31.225612806403202,1.6316079712788845,31.73905366608391,1011.3946643031599 +7.383691845922962,0.12306153076538268,31.230615307653828,1.4749083307650852,31.537811609065393,997.6681671442049 +7.413706853426714,0.12356178089044521,31.23561780890445,1.7481709585433396,31.454415606476935,993.1405417827301 +7.443721860930466,0.12406203101550775,31.240620310155077,1.4321632190337479,32.06927074070099,1031.3137056761734 +7.473736868434218,0.12456228114057027,31.245622811405703,1.29287559426314,31.37392333517189,987.3634960750302 +7.5037518759379696,0.1250625312656328,31.25062531265633,1.4752941783538986,31.674391434425278,1006.3826500371241 +7.5337668834417215,0.12556278139069535,31.255627813906955,1.7853782639955462,31.78176308997014,1014.634717732847 +7.563781890945473,0.12606303151575787,31.260630315157577,1.082097512742754,32.05807029377808,1030.6202809287986 +7.593796898449225,0.1265632816408204,31.265632816408203,1.4967882719113743,32.04799479394785,1030.8680638681506 +7.6238119059529765,0.12706353176588292,31.27063531765883,1.683011367753751,31.59739572281692,1002.2454885329801 +7.6538269134567285,0.12756378189094547,31.275637818909455,1.044817744671923,32.39892688993359,1052.3210702071763 +7.6838419209604805,0.128064032016008,31.28064032016008,1.347320349127965,31.936738207050634,1022.889328134372 +7.713856928464232,0.12856428214107052,31.285642821410704,1.1842908532432208,31.89756493894322,1020.797879636986 +7.743871935967984,0.12906453226613307,31.29064532266133,1.9651182916814431,31.98209473599605,1027.2059794044965 +7.773886943471736,0.1295647823911956,31.295647823911956,1.9198552358726806,32.331399011622544,1049.5216627018317 +7.803901950975488,0.13006503251625812,31.300650325162582,1.6146266993750908,32.37798110677261,1051.9044001215748 +7.833916958479239,0.13056528264132064,31.30565282641321,1.7351451975279342,31.825642551509866,1016.7373233050762 +7.863931965982991,0.1310655327663832,31.31065532766383,1.3994425614127524,32.16230968475426,1037.2455538236247 +7.893946973486743,0.13156578289144572,31.315657828914457,1.8250669245052444,32.05839298531197,1031.6384468237918 +7.923961980990495,0.13206603301650824,31.320660330165083,1.6607522972250686,32.39985361959986,1053.3556628106764 +7.953976988494247,0.13256628314157076,31.32566283141571,1.5402482586347968,31.89793085643644,1020.8579836766534 +7.983991995997999,0.1330665332666333,31.33066533266633,1.8016972785657104,32.007583029733894,1028.1414986291065 +8.014007003501751,0.13356678339169584,31.335667833916958,1.2909679663657712,31.72372816003127,1009.6514317648647 +8.044022011005502,0.13406703351675836,31.340670335167584,1.6846847965172196,31.866153287881417,1019.2026474187535 +8.074037018509255,0.1345672836418209,31.34567283641821,1.806293933523011,32.03093520376579,1030.562326173601 +8.104052026013006,0.13506753376688344,31.350675337668836,1.1863947773472838,31.873912649968318,1018.812722088344 +8.134067033516759,0.13556778389194596,31.35567783891946,1.1897135361364382,31.642501679580153,1004.4116407253697 +8.16408204102051,0.13606803401700848,31.360680340170084,1.82512566949323,32.17946276318086,1039.518404567561 +8.194097048524263,0.13656828414207103,31.36568284142071,1.9993239396928975,31.967884618465607,1026.6728245891886 +8.224112056028014,0.13706853426713356,31.370685342671337,2.0240289417081643,31.89850572243248,1021.9114990921848 +8.254127063531767,0.13756878439219608,31.37568784392196,1.5112672386088377,31.527694349445213,997.6014565441767 +8.284142071035518,0.13806903451725863,31.380690345172585,2.0793194429386737,31.79433192886339,1015.0736187157875 +8.314157078539269,0.13856928464232116,31.38569284642321,1.862454871124208,32.28168111537635,1046.3993305933932 +8.344172086043022,0.13906953476738368,31.390695347673837,1.2347098872690054,32.36005929610888,1050.4242060803606 +8.374187093546773,0.1395697848924462,31.395697848924463,1.9969268225378398,32.22026674450728,1043.0373986810987 +8.404202101050526,0.14007003501750875,31.400700350175086,1.5095382130608437,31.755393655733073,1012.1381051128766 +8.434217108554277,0.14057028514257128,31.405702851425712,2.0958696078427503,32.18399899520708,1040.0583871519566 +8.46423211605803,0.1410705352676338,31.410705352676338,1.6007533172067194,32.46255072130708,1057.763268477088 +8.494247123561781,0.14157078539269632,31.415707853926964,1.9577543530104222,32.07274376275481,1032.9815508155912 +8.524262131065534,0.14207103551775888,31.42071035517759,1.4110477691840408,32.499054796374466,1059.1689312642566 +8.554277138569285,0.1425712856428214,31.425712856428213,1.3900664235999771,32.55583258074735,1062.8486058889666 +8.584292146073036,0.14307153576788392,31.43071535767884,1.523437567221594,32.31276876832511,1047.8794076505217 +8.614307153576789,0.14357178589294647,31.435717858929465,1.5216328821504272,32.18221091348262,1038.9007722942454 +8.64432216108054,0.144072036018009,31.44072036018009,1.9831376373479532,32.51267504854253,1061.2948117476642 +8.674337168584293,0.14457228614307152,31.445722861430717,1.6681481866587875,32.20659101290684,1041.3059719224896 +8.704352176088044,0.14507253626813404,31.45072536268134,2.019676181704361,31.92797004193866,1024.1587514946784 +8.734367183591797,0.1455727863931966,31.455727863931966,2.029201601131559,32.201332864573835,1041.3318951502472 +8.764382191095548,0.14607303651825912,31.46073036518259,1.2969209327080415,32.32334503491677,1048.2140050722428 +8.7943971985993,0.14657328664332164,31.465732866433218,1.8822890936824797,31.9923257078745,1027.751502305168 +8.824412206103052,0.1470735367683842,31.470735367683844,2.2921676429885225,32.244264131401096,1045.2595277246378 +8.854427213606805,0.14757378689344672,31.475737868934466,1.616171874952506,32.086253035510566,1033.1833524826804 +8.884442221110556,0.14807403701850924,31.480740370185092,1.5196004103998642,32.3229452241143,1048.2212626650007 +8.914457228614307,0.14857428714357176,31.48574287143572,1.8535261681569097,32.562551134976374,1064.7810523379649 +8.94447223611806,0.14907453726863432,31.490745372686344,2.3236134758461033,32.53299247602218,1063.53470181773 +8.97448724362181,0.14957478739369684,31.495747873936967,1.8331351079969942,32.391798603281934,1053.7896774602802 +9.004502251125563,0.15007503751875936,31.500750375187593,2.1505639142763724,32.37845913556028,1053.3115501554134 +9.034517258629315,0.1505752876438219,31.50575287643822,1.4146808089359697,32.61553323250378,1066.8504572734416 +9.064532266133067,0.15107553776888444,31.510755377688845,1.4193253458795048,32.584945537287204,1065.0944838131072 +9.094547273636818,0.15157578789394696,31.51575787893947,1.8811598161457852,32.340969985715894,1050.4591242680617 +9.124562281140571,0.15207603801900949,31.520760380190094,1.388296735467257,32.09246591992515,1033.5188987494234 +9.154577288644322,0.15257628814407204,31.52576288144072,1.8722101427571125,32.15478198883223,1038.368572198963 +9.184592296148073,0.15307653826913456,31.530765382691346,1.9398333273870625,31.705404975103406,1009.2777949514265 +9.214607303651826,0.15357678839419708,31.535767883941972,1.5409635307231602,32.22601561826371,1042.1825420622663 +9.244622311155577,0.1540770385192596,31.540770385192594,1.8951180526368177,31.99539065832546,1028.0482944631087 +9.27463731865933,0.15457728864432216,31.54577288644322,1.570671719757004,32.4277705453192,1055.2723067497284 +9.304652326163081,0.15507753876938468,31.550775387693847,1.8254992971670836,31.7500964312738,1012.3173684871877 +9.334667333666834,0.1555777888944472,31.555777888944473,2.0801562114166834,31.91518581801603,1023.0364404368574 +9.364682341170585,0.15607803901950976,31.5607803901951,2.390901649317673,32.25650234574923,1045.808963025681 +9.394697348674338,0.15657828914457228,31.56578289144572,1.8849976483222477,32.32266673691849,1048.549506212521 +9.42471235617809,0.1570785392696348,31.570785392696347,1.5138138674474355,31.839268109376476,1017.4555930749987 +9.454727363681842,0.15757878939469733,31.575787893946973,1.6683494939390084,32.51800289908876,1061.5587394671106 +9.484742371185593,0.15807903951975988,31.5807903951976,1.8934232841356404,31.99433065214238,1028.3468349221305 +9.514757378689344,0.1585792896448224,31.585792896448226,2.2854545534013595,32.06178118229983,1032.79656833365 +9.544772386193097,0.15907953976988493,31.590795397698848,2.151503361759176,32.68785158669953,1073.2855114260612 +9.574787393696848,0.15957978989494745,31.595797898949474,2.1404890958602603,32.07527201177794,1033.427052216814 +9.604802401200601,0.16008004002001,31.6008004002001,2.2254270532703795,32.0685760608675,1032.874664325705 +9.634817408704352,0.16058029014507252,31.605802901450726,1.787346771748291,32.53839069949015,1062.734902510864 +9.664832416208105,0.16108054027013505,31.610805402701352,1.8636316936264261,32.056586432120014,1032.3396015491346 +9.694847423711856,0.1615807903951976,31.615807903951975,2.508050942079617,31.96823006720278,1027.328469716528 +9.724862431215609,0.16208104052026012,31.6208104052026,1.7546100583100444,32.21822922666275,1042.0036040735088 +9.75487743871936,0.16258129064532265,31.625812906453227,1.7318331424473454,32.21307262885378,1041.1691587276262 +9.784892446223111,0.16308154077038517,31.630815407703853,1.6028827021610081,32.44958176287799,1056.4720106634015 +9.814907453726864,0.16358179089544772,31.635817908954476,2.569568248999019,31.951345816504443,1026.7744044128915 +9.844922461230615,0.16408204102051024,31.6408204102051,1.9267105244468312,32.05769529137649,1032.228230040005 +9.874937468734368,0.16458229114557277,31.645822911455728,1.6496913431583462,32.098436483277574,1034.0170786596616 +9.904952476238119,0.16508254127063532,31.650825412706354,1.773865004305586,32.319669018263745,1048.9763189205423 +9.934967483741872,0.16558279139569784,31.65582791395698,1.8966889124085473,32.77038404053311,1077.8461149470288 +9.964982491245623,0.16608304152076037,31.660830415207602,2.551574903195883,31.8708996833616,1021.0104287475947 +9.994997498749376,0.1665832916458229,31.66583291645823,2.307285899853223,32.76233260354903,1078.3987080150132 +10.025012506253127,0.16708354177088544,31.670835417708854,2.673699072745057,32.11815392188005,1037.0894987432685 +10.055027513756878,0.16758379189594796,31.67583791895948,2.0242646437958682,32.62211233171699,1068.4850960641686 +10.08504252126063,0.1680840420210105,31.680840420210107,2.5226609014009753,32.76331614517468,1078.5859877199798 +10.115057528764382,0.168584292146073,31.68584292146073,1.9058571634776658,31.951714235081642,1025.4735076351683 +10.145072536268135,0.16908454227113556,31.690845422711355,2.288058896089282,32.78816554001176,1080.4415867440198 +10.175087543771886,0.1695847923961981,31.69584792396198,2.3791804685919935,31.892344419340105,1022.06406697307 +10.205102551275639,0.1700850425212606,31.700850425212607,2.433256025945001,32.29131735018123,1048.045963927583 +10.23511755877939,0.17058529264632316,31.70585292646323,1.9985647471308714,32.18654374475571,1040.1462106793385 +10.265132566283143,0.17108554277138568,31.710855427713856,2.2826675430498926,32.07859408941139,1033.6964575473983 +10.295147573786894,0.1715857928964482,31.715857928964482,2.2365609623943077,32.57485836120487,1066.524063713033 +10.325162581290646,0.17208604302151073,31.720860430215108,1.9399195346648255,32.489433655856246,1059.9685545816985 +10.355177588794398,0.17258629314657328,31.725862931465734,2.276513691268086,32.03419932178265,1031.451348226995 +10.385192596298149,0.1730865432716358,31.730865432716357,1.8377645314210973,32.45317161353833,1057.7794371102727 +10.415207603801901,0.17358679339669833,31.735867933966983,1.8580738292501007,32.60671864320792,1067.7459091470434 +10.445222611305653,0.17408704352176088,31.74087043521761,2.563889722624246,31.9172624231669,1024.5239629519754 +10.475237618809405,0.1745872936468234,31.745872936468235,1.9042447796850714,32.90360151191196,1086.554782218932 +10.505252626313156,0.17508754377188593,31.75087543771886,2.3696982097649713,32.57397672535755,1066.14934853732 +10.53526763381691,0.17558779389694845,31.755877938969483,2.336220913208506,32.705224898372606,1075.1305218759176 +10.56528264132066,0.176088044022011,31.76088044022011,2.2110530899399943,32.4869686968071,1060.101261357573 +10.595297648824413,0.17658829414707353,31.765882941470736,2.211820487889665,32.86400100703152,1084.7191660469432 +10.625312656328164,0.17708854427213605,31.77088544272136,2.1539363441754453,32.4223257739432,1055.5328091228691 +10.655327663831915,0.17758879439719857,31.775887943971988,2.0407071990551096,32.49610065619939,1060.9314817755314 +10.685342671335668,0.17808904452226113,31.78089044522261,2.1723253378891685,32.8851093464353,1085.8796053072638 +10.71535767883942,0.17858929464732365,31.785892946473236,2.8674166107819103,32.44757302958356,1058.6812747971012 +10.745372686343172,0.17908954477238617,31.790895447723862,2.0390148301385134,32.08144031707756,1034.1028909183158 +10.775387693846923,0.17958979489744872,31.79589794897449,2.4452824050518687,32.415407855814934,1056.2934868704092 +10.805402701350676,0.18009004502251125,31.80090045022511,2.470575961442495,32.0577338708299,1033.104359429104 +10.835417708854427,0.18059029514757377,31.805902951475737,2.1645214031815225,32.503550967395384,1061.7180974705636 +10.86543271635818,0.1810905452726363,31.810905452726363,2.805489879342203,32.71988360799099,1076.2924785990422 +10.895447723861931,0.18159079539769885,31.81590795397699,2.217289806759094,32.44259007817361,1057.217577663806 +10.925462731365684,0.18209104552276137,31.820910455227615,2.7075953844577225,32.22562743558182,1044.4392773267903 +10.955477738869435,0.1825912956478239,31.825912956478238,2.4568765900911687,32.47863111616717,1059.8682924686443 +10.985492746373186,0.18309154577288644,31.830915457728864,2.262919271537548,32.9539071855419,1090.5932512588065 +11.015507753876939,0.18359179589794897,31.83591795897949,2.8030660918813837,32.880348933695814,1086.7643997585049 +11.04552276138069,0.1840920460230115,31.840920460230116,2.543074315876113,32.21527354220399,1043.8466696037224 +11.075537768884443,0.18459229614807401,31.845922961480742,2.1739428520852306,32.990878227174214,1093.294165724649 +11.105552776388194,0.18509254627313657,31.850925462731364,2.6822903752465597,32.87735539991562,1086.6046362436227 +11.135567783891947,0.1855927963981991,31.85592796398199,2.0900521213980547,32.66034162624723,1071.3244324007035 +11.165582791395698,0.1860930465232616,31.860930465232617,2.6784050293336734,32.650064323125136,1072.1010383003322 +11.19559779889945,0.18659329664832414,31.865932966483243,2.3798376934150784,32.77192697411206,1079.5965931246649 +11.225612806403202,0.1870935467733867,31.870935467733865,2.1279865605550223,32.82872678607878,1082.7733340629504 +11.255627813906953,0.1875937968984492,31.87593796898449,2.5932768480688773,32.604206955400166,1068.9453406621044 +11.285642821410706,0.18809404702351173,31.880940470235117,2.3368002860107056,33.04801149612442,1097.6571984966033 +11.315657828914457,0.18859429714857429,31.885942971485743,2.18570329722061,32.08164847560834,1033.9973045408797 +11.34567283641821,0.1890945472736368,31.89094547273637,2.4542520628804096,32.565783016427744,1065.8161323382446 +11.37568784392196,0.18959479739869933,31.895947973986992,3.1026030540046796,32.4373812175815,1058.516170950928 +11.405702851425714,0.19009504752376186,31.900950475237618,2.2158986583364024,32.241592058147646,1044.386687444441 +11.435717858929465,0.1905952976488244,31.905952976488244,2.7482914098256974,32.159363499287316,1040.521581618394 +11.465732866433218,0.19109554777388693,31.91095547773887,2.6198733673625263,33.08814315756533,1100.2069971854123 +11.495747873936969,0.19159579789894945,31.915957978989496,3.0921965743217923,32.62955209940615,1071.579790990922 +11.52576288144072,0.19209604802401198,31.92096048024012,2.669992764894662,32.24773388611472,1045.8517526507533 +11.555777888944473,0.19259629814907453,31.925962981490745,2.2599476097007494,33.02463275487496,1095.4586367522465 +11.585792896448224,0.19309654827413705,31.93096548274137,2.952300920412661,32.46134147638848,1060.3471872918951 +11.615807903951977,0.19359679839919958,31.935967983991997,2.4490537491058824,32.564209546159255,1066.038495664254 +11.645822911455728,0.19409704852426213,31.940970485242623,2.4896171560524056,32.887705347608005,1087.4968274037194 +11.67583791895948,0.19459729864932465,31.945972986493246,2.29423698119664,32.36519556107959,1053.0744010629803 +11.705852926463232,0.19509754877438718,31.95097548774387,2.5168953913171066,33.08806535234484,1100.066295705335 +11.735867933966984,0.1955977988994497,31.955977988994498,3.250309959247036,32.65450528430549,1073.3943539400116 +11.765882941470736,0.19609804902451225,31.960980490245124,2.911364874246263,33.059026697346084,1099.6860346295525 +11.795897948974488,0.19659829914957477,31.965982991495746,3.2414205026348384,33.12104956509096,1104.2213388775099 +11.82591295647824,0.1970985492746373,31.970985492746372,3.1864380082321917,33.12466509031805,1103.7952581184609 +11.85592796398199,0.19759879939969985,31.975987993997,2.545994447850414,32.65870612766792,1072.3949462525425 +11.885942971485743,0.19809904952476237,31.980990495247624,2.481199556913908,33.033355931700534,1096.7192021311891 +11.915957978989494,0.1985992996498249,31.98599299649825,3.248290607548566,32.675117315754335,1075.0740395920443 +11.945972986493247,0.19909954977488742,31.990995497748873,2.477990502375182,33.06037977094709,1098.4382749631259 +11.975987993996998,0.19959979989994997,31.9959979989995,2.512539621780066,33.003544486674016,1095.0584530014987 +12.006003001500751,0.2001000500250125,32.00100050025013,2.7114859790162096,32.63091921360616,1070.507831720077 +12.036018009004502,0.20060030015007502,32.00600300150075,2.417707762608431,32.26592805749001,1046.6442672842093 +12.066033016508255,0.20110055027513754,32.011005502751374,2.4924800201559227,33.203983466554746,1108.0448646865236 +12.096048024012006,0.2016008004002001,32.016008004002,3.2268058221848057,32.72593118415343,1078.0084082606595 +12.126063031515757,0.20210105052526262,32.021010505252626,3.2855606075553965,33.214279352263304,1110.4841383384 +12.15607803901951,0.20260130065032514,32.02601300650325,2.472973534055451,32.95159891224186,1091.3935588732645 +12.186093046523261,0.2031015507753877,32.03101550775388,2.696638025744387,32.36255752554543,1053.5219731286834 +12.216108054027014,0.2036018009004502,32.0360180090045,3.045428062923368,32.494398505766405,1062.0117632685512 +12.246123061530765,0.20410205102551274,32.04102051025513,2.5517555713195597,32.95540316755016,1091.9081467959734 +12.276138069034518,0.20460230115057526,32.04602301150575,2.937874645479911,32.98010782587496,1094.0650077781695 +12.30615307653827,0.2051025512756378,32.051025512756375,3.0501047981316134,33.0174089309008,1096.5162377848567 +12.336168084042022,0.20560280140070034,32.056028014007005,2.6133200808072234,32.85719593184116,1085.5597278392834 +12.366183091545773,0.20610305152576286,32.06103051525763,3.528771466881623,32.700585747464004,1076.621076701574 +12.396198099049526,0.2066033016508254,32.06603301650826,2.7630615099993188,32.79925189028449,1082.2869948958116 +12.426213106553277,0.20710355177588793,32.07103551775888,3.3374950504859955,32.62060511432399,1071.0065931838328 +12.456228114057028,0.20760380190095046,32.0760380190095,2.8956144164239737,33.25903362138554,1112.0724971115171 +12.486243121560781,0.20810405202601298,32.08104052026013,2.8353805059387867,33.269129899344506,1112.6808235178294 +12.516258129064532,0.20860430215107553,32.086043021510754,3.3814319472855567,32.41406790693883,1058.1847378398984 +12.546273136568285,0.20910455227613806,32.091045522761384,2.8735901215259427,32.662580675582156,1073.0494199487555 +12.576288144072036,0.20960480240120058,32.096048024012006,3.378884570798553,32.712188413393974,1077.0381687807906 +12.606303151575789,0.2101050525262631,32.10105052526263,3.2124546680019526,33.242488541421544,1112.3490369513936 +12.63631815907954,0.21060530265132565,32.10605302651326,3.006062629349718,32.991185788779205,1094.6131789656745 +12.666333166583293,0.21110555277638818,32.11105552776388,2.9931986230044574,33.094984048652975,1102.0402465947627 +12.696348174087044,0.2116058029014507,32.11605802901451,2.779414429353819,32.60724416564435,1069.0332791174312 +12.726363181590795,0.21210605302651325,32.12106053026513,2.814806041115978,32.731078689815405,1077.9142645619665 +12.756378189094548,0.21260630315157578,32.126063031515756,3.2937122621295134,33.13902560340915,1105.4413724456901 +12.786393196598299,0.2131065532766383,32.131065532766385,3.6960092201682393,32.866491972683136,1087.8958136302388 +12.816408204102052,0.21360680340170082,32.13606803401701,3.5307279001220464,32.85789434754336,1086.9400978300753 +12.846423211605803,0.21410705352676337,32.14107053526763,3.287001118612534,33.26278678712796,1113.3659804296408 +12.876438219109556,0.2146073036518259,32.14607303651826,2.9731167596730543,33.216931548999035,1110.2401549309452 +12.906453226613307,0.21510755377688842,32.15107553776888,3.408933204592577,33.227629919185965,1111.6983087055678 +12.93646823411706,0.21560780390195097,32.15607803901951,3.4731644365538656,32.68492136122361,1075.569683088656 +12.96648324162081,0.2161080540270135,32.161080540270135,3.4834251392946225,32.964896441140986,1094.055711321201 +12.996498249124564,0.21660830415207602,32.16608304152076,2.9366959197292517,32.56835084939289,1067.0303274327557 +13.026513256628315,0.21710855427713854,32.17108554277139,3.2898478505191653,32.44402659463525,1059.3265036217852 +13.056528264132066,0.2176088044022011,32.17608804402201,3.4393737869657617,32.395218546873835,1056.6125929655009 +13.086543271635819,0.21810905452726362,32.18109054527264,3.5277066795727965,33.18590411118331,1109.3073156234236 +13.11655827913957,0.21860930465232614,32.18609304652326,3.182057738207817,32.708370352266414,1076.310475874029 +13.146573286643322,0.21910955477738867,32.191095547773884,3.1450633729481003,33.40629076567728,1123.2520822506042 +13.176588294147074,0.21960980490245122,32.19609804902451,3.6360927264208915,33.38579427728911,1122.7770467720256 +13.206603301650826,0.22011005502751374,32.201100550275136,3.3863023004862978,32.95444898701789,1093.1258991586324 +13.236618309154577,0.22061030515257626,32.206103051525766,3.2633867674607497,33.02780295902676,1098.2286155978013 +13.26663331665833,0.22111055527763882,32.21110555277639,3.2341739909160134,33.39014751396917,1121.4433365335656 +13.296648324162081,0.22161080540270134,32.21610805402701,3.3408138675394556,32.58920903278409,1069.383683843699 +13.326663331665833,0.22211105552776386,32.22111055527764,3.2901195608035847,32.51506010850341,1063.9308464342653 +13.356678339169585,0.22261130565282639,32.22611305652826,3.3237860579874834,32.60762461485628,1069.9425685062874 +13.386693346673336,0.22311155577788894,32.23111555777889,3.6032472669403632,32.86331991674191,1087.3443676629265 +13.41670835417709,0.22361180590295146,32.236118059029515,3.455214359226995,33.07057859835898,1101.1299547327042 +13.44672336168084,0.22411205602801398,32.24112056028014,3.6372178394483754,33.21886652666037,1111.6523150111132 +13.476738369184593,0.22461230615307654,32.24612306153077,3.118268432201963,32.96663050408723,1093.1832105483995 +13.506753376688344,0.22511255627813906,32.25112556278139,3.0901266351497227,33.45323004280315,1125.5194131813698 +13.536768384192097,0.22561280640320158,32.25612806403202,3.5677346859312884,32.81883710636786,1084.8676484395785 +13.566783391695848,0.2261130565282641,32.26113056528264,3.590749256640229,32.75411683170511,1080.2557882848791 +13.5967983991996,0.22661330665332666,32.266133066533264,3.7950742659713357,32.5445682933779,1067.0818707548317 +13.626813406703352,0.22711355677838918,32.271135567783894,3.996570971552807,32.80978705079507,1084.720726421905 +13.656828414207103,0.2276138069034517,32.276138069034516,3.410812753872591,32.944169665392074,1092.9498169116678 +13.686843421710856,0.22811405702851423,32.281140570285146,3.9425781680346335,33.14684848201264,1107.320563752712 +13.716858429214607,0.22861430715357678,32.28614307153577,3.308392045055848,33.05625235624445,1099.5875916348914 +13.74687343671836,0.2291145572786393,32.29114557278639,3.4759521608986734,33.23095578250948,1111.632637249466 +13.776888444222111,0.22961480740370183,32.29614807403702,3.9673160668638645,33.3674156246222,1121.7087081831935 +13.806903451725864,0.23011505752876438,32.30115057528764,3.857130100352234,32.822837815595186,1085.9035178436025 +13.836918459229615,0.2306153076538269,32.306153076538266,3.7232220303805117,33.14097992761477,1106.2485302568978 +13.866933466733368,0.23111555777888942,32.311155577788895,3.9000624058523874,33.44690442959787,1126.733721840446 +13.896948474237119,0.23161580790395195,32.31615807903952,3.668652149757153,32.6093407807874,1070.8813779634795 +13.92696348174087,0.2321160580290145,32.32116058029015,4.083550650348402,33.02689935747635,1099.6370278096906 +13.956978489244623,0.23261630815407702,32.32616308154077,3.9270159545167185,33.20373303003953,1110.9877938181846 +13.986993496748374,0.23311655827913955,32.33116558279139,3.376755596678425,32.98140300724887,1095.4065737016053 +14.017008504252127,0.2336168084042021,32.33616808404202,3.312501418618383,33.14417043445858,1105.3175419422191 +14.047023511755878,0.23411705852926462,32.341170585292645,3.356812756411352,33.496325673162545,1129.505751904895 +14.07703851925963,0.23461730865432714,32.346173086543274,3.974701054672476,33.4480036866586,1127.4098731921943 +14.107053526763382,0.23511755877938967,32.3511755877939,3.3652745906774797,32.72155665438708,1077.4793764520455 +14.137068534267135,0.23561780890445222,32.35617808904452,3.9722812663607305,32.81600517457146,1085.3658751013406 +14.167083541770886,0.23611805902951474,32.36118059029515,3.8840943168385773,33.296369480713075,1117.1724813817018 +14.197098549274637,0.23661830915457727,32.36618309154577,3.895942654593251,33.44480445706856,1127.169304623789 +14.22711355677839,0.2371185592796398,32.3711855927964,3.5964986333426023,33.4812445903116,1128.575341197538 +14.25712856428214,0.23761880940470234,32.37618809404702,3.471196942929811,33.106215275382695,1103.7156964485227 +14.287143571785894,0.23811905952976486,32.381190595297646,3.9734916394560624,32.94940886653479,1094.3406874847678 +14.317158579289645,0.2386193096548274,32.386193096548276,4.323550838209404,33.27969656050637,1116.517054203528 +14.347173586793398,0.23911955977988994,32.3911955977989,3.672116713369113,32.79089148342272,1083.2992189706854 +14.377188594297149,0.23961980990495246,32.39619809904953,3.447431291828027,33.45536906051812,1126.742465970402 +14.407203601800902,0.240120060030015,32.40120060030015,3.4987449256520278,33.636805130174125,1138.994498445361 +14.437218609304653,0.2406203101550775,32.40620310155077,4.211386308179064,32.95679122864348,1095.0134693152531 +14.467233616808405,0.24112056028014006,32.4112056028014,3.5176447703408233,32.74995422758911,1080.349516260976 +14.497248624312157,0.24162081040520259,32.416208104052025,3.9295701842394832,33.148009616113306,1107.135428551516 +14.527263631815908,0.2421210605302651,32.421210605302655,3.867822402264204,33.5944669139724,1136.6965189097277 +14.55727863931966,0.24262131065532766,32.42621310655328,3.9900264158580665,33.063485899670845,1101.9580875591623 +14.587293646823412,0.24312156078039018,32.4312156078039,4.189252972968811,33.46790887863842,1128.9889205191355 +14.617308654327164,0.2436218109054527,32.43621810905453,4.23208852656919,32.90070657300528,1091.8295576731493 +14.647323661830915,0.24412206103051523,32.44122061030515,4.200495228842947,33.28361691293858,1116.5060962310915 +14.677338669334668,0.24462231115557778,32.44622311155578,4.411684258639711,33.579288485330615,1137.0291925004942 +14.70735367683842,0.2451225612806403,32.451225612806404,3.9591678796308756,32.79138589858785,1083.906241118575 +14.737368684342172,0.24562281140570283,32.456228114057026,3.6924867575126608,32.81072665029492,1084.0005468581514 +14.767383691845923,0.24612306153076535,32.461230615307656,3.9273722585248025,32.91407741912928,1091.8683251591788 +14.797398699349674,0.2466233116558279,32.46623311655828,3.9498000412975003,32.916924817072015,1092.2383701246486 +14.827413706853427,0.24712356178089043,32.4712356178089,4.07857526610204,33.07497903722899,1103.096386252988 +14.857428714357178,0.24762381190595295,32.47623811905953,3.748947492735844,33.116791019041315,1104.992868186123 +14.887443721860931,0.2481240620310155,32.48124062031015,3.9929618355822805,33.249204813761594,1113.986941247454 +14.917458729364682,0.24862431215607803,32.48624312156078,4.570925412678975,33.519678603583294,1133.1776589552894 +14.947473736868435,0.24912456228114055,32.491245622811405,4.140196987669215,32.77375293640244,1082.7527339572498 +14.977488744372186,0.24962481240620307,32.49624812406203,4.140930503311571,33.63066086684337,1139.9065271838128 +15.007503751875939,0.2501250625312656,32.50125062531266,4.070417128501411,32.89333162521228,1090.7025882747266 +15.03751875937969,0.25062531265632815,32.50625312656328,4.182463815359784,32.87432522941694,1090.0470528563021 +15.067533766883443,0.2511255627813907,32.51125562781391,4.748034226756743,33.70395840265158,1145.9013815258013 +15.097548774387194,0.2516258129064532,32.51625812906453,3.9426794685368898,32.953246620177865,1094.621532641517 +15.127563781890945,0.25212606303151575,32.521260630315155,4.127753629932089,32.95058311570049,1094.5236386543934 +15.157578789394698,0.2526263131565783,32.526263131565784,4.622603504777966,32.94316504673607,1094.9211948449783 +15.18759379689845,0.2531265632816408,32.53126563281641,4.382692907524237,33.28936736880979,1117.5685293725699 +15.217608804402202,0.25362681340670334,32.536268134067036,3.8979545533428186,33.48837213983629,1129.7574010638582 +15.247623811905953,0.25412706353176584,32.54127063531766,4.199455669954989,32.86839262243431,1089.0094375858516 +15.277638819409706,0.2546273136568284,32.54627313656828,4.343082032426507,33.07005316848364,1102.858387977912 +15.307653826913457,0.25512756378189094,32.55127563781891,4.4643913948989535,33.24093600255968,1114.4816072870378 +15.33766883441721,0.25562781390695344,32.55627813906953,4.739784005886775,33.440084096746304,1128.2369536499136 +15.367683841920961,0.256128064032016,32.56128064032016,4.419843588497205,33.60212734253602,1138.1508228725577 +15.397698849424712,0.25662831415707854,32.566283141570786,4.121561636545864,32.98730302995967,1096.4370326616502 +15.427713856928465,0.25712856428214104,32.57128564282141,4.6523189214422285,33.23905173637149,1114.6790576591707 +15.457728864432216,0.2576288144072036,32.57628814407204,4.45976191476762,33.595927538799735,1138.3099262054589 +15.487743871935969,0.25812906453226614,32.58129064532266,4.102472051980961,33.772664168639736,1149.6608427393487 +15.51775887943972,0.25862931465732864,32.58629314657328,4.394541110158018,33.33196505163515,1120.6152856440165 +15.547773886943473,0.2591295647823912,32.59129564782391,4.877869396227889,33.057513870340934,1103.497606724792 +15.577788894447224,0.2596298149074537,32.596298149074535,4.337805143207189,33.31869778834678,1119.4554421206326 +15.607803901950977,0.26013006503251623,32.601300650325165,4.166989467325276,33.58873203309362,1136.7346636152258 +15.637818909454728,0.2606303151575788,32.60630315157579,4.280636300918571,33.27773017362236,1116.7587159083034 +15.667833916958479,0.2611305652826413,32.61130565282642,4.878406236854183,33.6206097007581,1140.9357622950292 +15.697848924462232,0.26163081540770383,32.61630815407704,5.069808516942569,33.714866986146355,1147.7945259419178 +15.727863931965983,0.2621310655327664,32.62131065532766,4.583819970924618,33.467879834992054,1129.7696350268643 +15.757878939469736,0.2626313156578289,32.62631315657829,4.706152419174585,33.0381955223128,1101.549301312593 +15.787893946973487,0.26313156578289143,32.631315657828914,4.3908483183129885,33.32419816584273,1119.9209677772556 +15.81790895447724,0.263631815907954,32.636318159079536,4.6318670804379405,33.770219167428166,1149.8284075853378 +15.84792396198099,0.2641320660330165,32.641320660330166,4.3198714348654885,33.41441139888247,1125.7053253068477 +15.877938969484743,0.26463231615807903,32.64632316158079,4.434054129388327,32.92685225522035,1094.0424919909756 +15.907953976988495,0.2651325662831415,32.65132566283142,4.335246079038691,33.86466193411822,1155.8775002049722 +15.937968984492247,0.2656328164082041,32.65632816408204,5.1536485405684935,32.99835964229968,1100.1931174350439 +15.967983991995998,0.2661330665332666,32.66133066533266,4.782484791820333,33.85516699698529,1156.0673863554593 +15.99799899949975,0.2666333166583291,32.66633316658329,4.744605516279619,33.488213184597655,1131.8937484404273 +16.028014007003502,0.2671335667833917,32.671335667833915,4.622617350933208,33.80481412026983,1152.84605087322 +16.058029014507255,0.2676338169084542,32.676338169084545,4.833819246764117,33.6802800332404,1144.5094972419824 +16.088044022011005,0.2681340670335167,32.68134067033517,4.671356049353847,33.70375424991729,1145.815993557329 +16.118059029514757,0.26863431715857927,32.68634317158579,4.919570853377607,33.5642511636589,1137.327197405109 +16.14807403701851,0.2691345672836418,32.69134567283642,5.105127053615884,33.36294834221571,1123.3891624609455 +16.178089044522263,0.2696348174087043,32.69634817408704,4.47602006631406,33.26436476422488,1115.83426232233 +16.208104052026012,0.27013506753376687,32.70135067533767,4.762431117808337,33.138290877039516,1107.9958110612317 +16.238119059529765,0.2706353176588294,32.706353176588294,5.328907277112854,33.89338836994118,1159.908690680936 +16.268134067033518,0.2711355677838919,32.71135567783892,4.831822164290332,33.7538834209672,1149.1526627750561 +16.298149074537267,0.27163581790895447,32.716358179089546,4.519890108176625,33.576786742296285,1136.5624930557808 +16.32816408204102,0.27213606803401696,32.72136068034017,4.490564878273821,33.171009185905696,1110.0318511296985 +16.358179089544773,0.2726363181590795,32.7263631815908,5.190351095921339,33.60554464052826,1140.4653408300835 +16.388194097048526,0.27313656828414207,32.73136568284142,4.657911495173946,33.19010661217477,1110.9989517123836 +16.418209104552275,0.27363681840920456,32.73636818409204,4.87593262268395,33.29033817337078,1118.2080177857583 +16.448224112056028,0.2741370685342671,32.74137068534267,5.046027729313041,33.3193160256387,1121.2024207049026 +16.47823911955978,0.27463731865932967,32.746373186593296,5.207928276520628,33.28941022754432,1118.6236863911863 +16.508254127063534,0.27513756878439216,32.75137568784392,4.917653379026146,33.240082812495274,1115.7081431227082 +16.538269134567283,0.2756378189094547,32.75637818909455,5.098329791738526,33.03613411988525,1102.3164289471163 +16.568284142071036,0.27613806903451726,32.76138069034517,5.427743652301796,33.62342600204953,1142.3018046681666 +16.59829914957479,0.27663831915957976,32.7663831915958,5.092960319673729,33.56428465380749,1137.3159665672501 +16.628314157078538,0.2771385692846423,32.77138569284642,4.695373331680064,33.361168222785615,1123.1818751693668 +16.65832916458229,0.2776388194097048,32.77638819409705,5.392144447650971,33.87214801171571,1158.7566740050656 +16.688344172086044,0.27813906953476736,32.781390695347675,5.255970936294549,33.18688601380153,1112.498577463619 +16.718359179589797,0.2786393196598299,32.7863931965983,5.456296020402255,33.982584476827185,1165.7318624130417 +16.748374187093546,0.2791395697848924,32.79139569784893,5.656461913045025,33.477800865161946,1132.8827643926695 +16.7783891945973,0.27963981990995496,32.79639819909955,5.432297256142213,33.95929089351515,1164.3838165716734 +16.808404202101052,0.2801400700350175,32.80140070035017,5.4554686038204405,34.04995447714227,1171.082528897676 +16.838419209604805,0.28064032016008,32.8064032016008,5.349476800769823,33.83947422830404,1156.7983182180155 +16.868434217108554,0.28114057028514255,32.811405702851424,5.077135150494664,34.07914388968744,1172.4777634740833 +16.898449224612307,0.2816408204102051,32.81640820410205,5.2137586798465305,33.91779778562547,1161.294871879195 +16.92846423211606,0.2821410705352676,32.821410705352676,5.472245638808657,33.39247802550763,1126.2943397225204 +16.95847923961981,0.28264132066033015,32.8264132066033,5.515281909508017,33.66141282933662,1144.5353117109837 +16.988494247123562,0.28314157078539265,32.83141570785393,4.898145956527582,33.739914211580505,1148.7492738141345 +17.018509254627315,0.2836418209104552,32.83641820910455,4.999375851553027,33.72026385747279,1147.963193196226 +17.048524262131068,0.28414207103551775,32.84142071035518,5.2786649352212605,34.11204083540361,1174.2168627380483 +17.078539269634817,0.28464232116058025,32.8464232116058,5.179396339465443,33.52840700347465,1134.945981317177 +17.10855427713857,0.2851425712856428,32.851425712856425,4.9099609072151225,33.57396260088645,1137.7672459048536 +17.138569284642323,0.28564282141070535,32.856428214107055,5.487410425327758,34.06312118104149,1171.9813072668658 +17.168584292146072,0.28614307153576785,32.86143071535768,5.51639962957128,33.165320152848146,1111.7505928441367 +17.198599299649825,0.2866433216608304,32.86643321660831,5.204571739404182,33.77058636537414,1151.4511216776107 +17.228614307153578,0.28714357178589295,32.87143571785893,5.3636689824408705,34.15541031923563,1177.9325773196063 +17.25862931465733,0.28764382191095544,32.87643821910955,5.583189422431188,33.95502799484186,1164.2539666800851 +17.28864432216108,0.288144072036018,32.88144072036018,5.588314996593432,33.932451827910484,1163.358626280603 +17.318659329664833,0.28864432216108055,32.886443221610804,5.845880501127159,33.194002612462995,1114.3547488839824 +17.348674337168585,0.28914457228614304,32.891445722861434,5.817887127793492,33.67436037528606,1146.0104599127392 +17.37868934467234,0.2896448224112056,32.896448224112056,5.127649366122144,33.80866848582367,1153.5035330015587 +17.408704352176088,0.2901450725362681,32.90145072536268,5.7418064111204945,34.14640827093919,1178.195773855208 +17.43871935967984,0.29064532266133064,32.90645322661331,5.945385200823087,33.44424246722649,1130.7933883482488 +17.468734367183593,0.2911455727863932,32.91145572786393,5.749986819583966,33.49409238063489,1133.5464875428313 +17.498749374687343,0.2916458229114557,32.91645822911455,5.123939731780326,33.51267278743721,1133.5945596412455 +17.528764382191095,0.29214607303651824,32.92146073036518,5.831701715720048,33.70242613161447,1147.5452191814504 +17.55877938969485,0.2926463231615808,32.926463231615806,5.603635122556075,33.43626418096522,1129.2699725456705 +17.5887943971986,0.2931465732866433,32.931465732866435,5.765053012160788,33.2264460550859,1116.0072505061357 +17.61880940470235,0.29364682341170584,32.93646823411706,5.991823423859233,33.5536445045787,1138.2942587513878 +17.648824412206103,0.2941470735367684,32.94147073536769,5.59048510823649,33.67903894932856,1145.6176374765212 +17.678839419709856,0.2946473236618309,32.94647323661831,5.599627083208539,33.5307875403689,1135.955938896635 +17.70885442721361,0.29514757378689344,32.95147573786893,6.072912673735669,34.221337088512286,1183.811884539176 +17.73886943471736,0.29564782391195593,32.95647823911956,5.245072553864738,33.53557885169977,1135.676207954159 +17.76888444222111,0.2961480740370185,32.961480740370185,5.767020742747085,33.72644409862813,1149.8652420491017 +17.798899449724864,0.29664832416208103,32.96648324162081,6.159070445935582,34.03842106922323,1171.5856976430805 +17.828914457228613,0.29714857428714353,32.97148574287144,5.678692288218615,33.67085662637928,1145.5172276894782 +17.858929464732366,0.2976488244122061,32.97648824412206,6.284772894224465,33.60224741305782,1142.3639266618516 +17.88894447223612,0.29814907453726863,32.98149074537269,6.220975644188195,33.418255528343124,1129.7549668435972 +17.918959479739872,0.29864932466233113,32.98649324662331,5.9169250327759295,34.08595462462251,1173.905647375528 +17.94897448724362,0.2991495747873937,32.991495747873934,5.606134651779074,33.977329444418956,1165.7137384181567 +17.978989494747374,0.29964982491245623,32.99649824912456,6.081755067007808,33.33040450731071,1123.3960633240624 +18.009004502251127,0.3001500750375187,33.001500750375186,6.179117829169349,33.992802992977296,1168.4481720964236 +18.039019509754876,0.3006503251625813,33.006503251625816,6.224437931857013,33.98257268709411,1168.248737186332 +18.06903451725863,0.3011505752876438,33.01150575287644,6.417904974353433,33.952113364783656,1165.9906673810167 +18.099049524762382,0.3016508254127063,33.01650825412706,5.546448204122904,33.575117522883275,1139.0250186157955 +18.129064532266135,0.3021510755377689,33.02151075537769,6.247788348792165,34.19005406765729,1181.991042045122 +18.159079539769884,0.30265132566283137,33.02651325662831,6.359791318516761,34.21927916745241,1184.0142308129475 +18.189094547273637,0.3031515757878939,33.03151575787894,6.153177268292918,33.87398773257408,1160.0368185376806 +18.21910955477739,0.3036518259129565,33.036518259129565,5.556197564805891,33.90139995337955,1161.1044374591472 +18.249124562281143,0.30415207603801897,33.04152076038019,6.050913666188142,33.38913917917813,1127.813170534559 +18.279139569784892,0.3046523261630815,33.04652326163082,5.950270059715051,33.845421911332686,1157.6568103805937 +18.309154577288645,0.3051525762881441,33.05152576288144,5.666274771559737,33.87284989059697,1158.8212363053806 +18.339169584792398,0.30565282641320657,33.05652826413207,6.038750827713591,33.90508734004923,1162.0164490836842 +18.369184592296147,0.3061530765382691,33.06153076538269,6.080383738839493,34.29317565963611,1188.426711923286 +18.3991995997999,0.30665332666333167,33.066533266633314,6.2173215569405995,33.61970757607908,1143.6658938145845 +18.429214607303653,0.30715357678839417,33.071535767883944,6.608193702389132,34.04770531614724,1172.7817695640424 +18.459229614807406,0.3076538269134567,33.076538269134566,6.250613200784297,33.672377621508986,1146.7256585999926 +18.489244622311155,0.3081540770385192,33.08154077038519,6.423526085031505,33.45861708403263,1132.7865199940995 +18.519259629814908,0.30865432716358177,33.08654327163582,5.924199042826206,34.36184491129656,1192.6735118440015 +18.54927463731866,0.3091545772886443,33.09154577288644,6.213865074670618,33.89781848887446,1161.806329075697 +18.579289644822413,0.3096548274137068,33.09654827413707,6.067476792898826,33.75332600303575,1151.5839125127134 +18.609304652326163,0.31015507753876936,33.10155077538769,6.763709019559881,33.51485737861264,1136.9366906565178 +18.639319659829916,0.3106553276638319,33.10655327663832,6.5765439540187804,33.58178610528187,1141.6143489225576 +18.66933466733367,0.3111555777888944,33.111555777888945,6.132638340488034,33.60534075476422,1142.2762327637172 +18.699349674837418,0.31165582791395696,33.11655827913957,6.559143230339784,34.11699305613843,1178.0374784051544 +18.72936468234117,0.3121560780390195,33.1215607803902,6.390440096622815,34.0476772915943,1172.1179935806435 +18.759379689844923,0.312656328164082,33.12656328164082,6.286650962450498,34.362088288345724,1193.7804968423673 +18.789394697348676,0.31315657828914456,33.13156578289144,6.445169288026799,33.79351694927272,1154.9563620269942 +18.819409704852426,0.31365682841420706,33.13656828414207,6.072384081253777,33.781111302886956,1153.9104688906816 +18.84942471235618,0.3141570785392696,33.141570785392695,6.29470131870135,33.52076029140098,1136.4685648432676 +18.87943971985993,0.31465732866433216,33.146573286643324,5.959086038183745,33.8423029394562,1158.1146347714784 +18.909454727363684,0.31515757878939465,33.15157578789395,6.597470057314809,34.069286916400465,1174.7954305434275 +18.939469734867433,0.3156578289144572,33.15657828914457,6.830762599967654,33.654525474278245,1146.3371030352337 +18.969484742371186,0.31615807903951976,33.1615807903952,6.150971347676168,34.359987390708845,1193.481654666907 +18.99949974987494,0.31665832916458225,33.16658329164582,6.873260410266237,33.65758529662874,1146.7154482404735 +19.02951475737869,0.3171585792896448,33.17158579289645,6.258521223425393,34.154789688906725,1179.5928808670128 +19.05952976488244,0.31765882941470736,33.176588294147074,6.48699912476269,33.87333643103709,1160.3996337831397 +19.089544772386194,0.31815907953976985,33.181590795397696,6.105310894674483,33.74298836163969,1151.5920169861004 +19.119559779889947,0.3186593296648324,33.186593296648326,6.919222962144568,34.03797403953269,1172.7473052780524 +19.149574787393696,0.3191595797898949,33.19159579789895,6.6739508118195765,34.37442235850622,1195.1809844786567 +19.17958979489745,0.31965982991495745,33.19659829914958,6.5925245024792245,33.909046658053974,1163.1603922751267 +19.209604802401202,0.32016008004002,33.2016008004002,6.944809207090556,34.10370415729855,1176.9701915078263 +19.23961980990495,0.3206603301650825,33.20660330165082,7.095368353623513,34.520398184259406,1206.3478667721333 +19.269634817408704,0.32116058029014505,33.21160580290145,6.580589998151086,34.14064865209373,1179.3831698652953 +19.299649824912457,0.3216608304152076,33.216608304152075,6.362805046215875,34.492714802127956,1203.4307070805905 +19.32966483241621,0.3221610805402701,33.221610805402705,6.801494906978901,34.13360260970749,1179.5091027253532 +19.35967983991996,0.32266133066533265,33.22661330665333,7.193472745762148,34.22872765907839,1186.2624015561894 +19.389694847423712,0.3231615807903952,33.23161580790395,6.5413062125178785,33.87979848087775,1161.2944693615743 +19.419709854927465,0.3236618309154577,33.23661830915458,6.544589514550518,34.34003965023562,1192.7838420534154 +19.449724862431218,0.32416208104052024,33.2416208104052,6.852285962554885,34.29051273581463,1190.493727127563 +19.479739869934967,0.32466233116558274,33.246623311655824,6.834757444660634,34.3932219639411,1196.5931226703349 +19.50975487743872,0.3251625812906453,33.251625812906454,6.459862835461473,34.07779779809256,1174.73243907385 +19.539769884942473,0.32566283141570784,33.256628314157076,6.559046288329194,34.03447456515899,1172.0413864219574 +19.569784892446222,0.32616308154077034,33.261630815407706,6.815947194587377,33.70371747982099,1150.1730298801772 +19.599799899949975,0.3266633316658329,33.26663331665833,6.650409046525266,34.117892513269084,1177.7085431953276 +19.629814907453728,0.32716358179089544,33.27163581790895,6.715020567641172,33.76047018879231,1154.1560054743093 +19.65982991495748,0.32766383191595794,33.27663831915958,7.4366076731679955,33.83007132130687,1159.9675781487879 +19.68984492246123,0.3281640820410205,33.2816408204102,7.152205475438482,34.33524793283094,1194.0241101121678 +19.719859929964983,0.32866433216608304,33.28664332166083,6.9950555866855835,33.84944286794271,1160.6905305042428 +19.749874937468736,0.32916458229114554,33.291645822911455,7.271641308550021,34.43758177633787,1200.610092874841 +19.77988994497249,0.3296648324162081,33.29664832416208,6.602245294304678,33.89074440237708,1162.2081235941828 +19.809904952476238,0.33016508254127064,33.30165082541271,6.956110174674758,34.253306644831795,1187.321236964096 +19.83991995997999,0.33066533266633313,33.30665332666333,6.963986593413004,34.48182218079067,1203.6484087759507 +19.869934967483744,0.3311655827913957,33.31165582791396,6.765170997746251,33.84909190015347,1159.3712367828766 +19.899949974987493,0.3316658329164582,33.31665832916458,6.955844697089846,34.239539483180856,1186.9581598619675 +19.929964982491246,0.33216608304152073,33.321660830415205,7.249811990514276,34.17117532273927,1182.6219901769653 +19.959979989995,0.3326663331665833,33.326663331665834,7.41254813228498,33.6882806895307,1150.3683215600256 +19.98999499749875,0.3331665832916458,33.33166583291646,7.540572017626413,34.43515215908039,1200.8977964768158 +20.0200100050025,0.33366683341670833,33.336668334167086,7.194872779283868,33.979495619703606,1169.6728554474344 +20.050025012506254,0.3341670835417709,33.34167083541771,7.6851484268868875,34.342307325631786,1195.2613249086146 +20.080040020010006,0.3346673336668334,33.34667333666833,7.33876405849341,33.84169431678989,1160.7232451268471 +20.110055027513756,0.33516758379189593,33.35167583791896,7.545730692303159,33.89810309220564,1165.1423761837857 +20.14007003501751,0.3356678339169585,33.356678339169584,7.440206289678909,34.116882176589336,1179.186812955095 +20.17008504252126,0.336168084042021,33.36168084042021,7.68964918980445,34.29079215056944,1191.843162380619 +20.200100050025014,0.3366683341670835,33.366683341670836,7.545635994215723,34.38651444151562,1198.2474259913815 +20.230115057528764,0.337168584292146,33.37168584292146,7.719589975780632,34.06960481142835,1177.0257275462075 +20.260130065032516,0.3376688344172086,33.37668834417209,7.740198575421531,34.02272908094929,1173.1042594067937 +20.29014507253627,0.3381690845422711,33.38169084542271,7.343068700647019,33.925660396583616,1165.802247484228 +20.320160080040022,0.3386693346673336,33.38669334667334,7.242140747100884,34.63419644657348,1214.2578447309515 +20.35017508754377,0.3391695847923962,33.39169584792396,7.428952110358182,34.70818808117194,1219.870356019103 +20.380190095047524,0.3396698349174587,33.396698349174585,7.897944734267075,34.24487930959256,1188.8869907937021 +20.410205102551277,0.3401700850425212,33.401700850425215,7.788033941973192,34.06312853705221,1176.7341387239037 +20.440220110055026,0.34067033516758377,33.40670335167584,7.047237697409981,34.34147652434394,1194.1227744048922 +20.47023511755878,0.3411705852926463,33.41170585292646,7.357713572091319,34.088514237381936,1177.33274412684 +20.500250125062532,0.3416708354177088,33.41670835417709,7.340940403396182,34.24783124456993,1188.068638213505 +20.530265132566285,0.34217108554277137,33.42171085542771,7.37103994767935,34.06704567561046,1175.92780314563 +20.560280140070034,0.34267133566783387,33.42671335667834,7.263160684000379,33.79864616535354,1157.1758400306012 +20.590295147573787,0.3431715857928964,33.431715857928964,7.765728573086921,34.10620096113864,1179.013922267157 +20.62031015507754,0.34367183591795897,33.43671835917959,7.917719551855207,34.349161957379096,1196.0604389374805 +20.650325162581293,0.34417208604302146,33.441720860430216,7.569331435688463,34.005339038337425,1171.5412989636422 +20.680340170085042,0.344672336168084,33.44672336168084,7.811854446081384,34.31750560481749,1194.2461262207057 +20.710355177588795,0.34517258629314657,33.45172586293147,7.449771735140539,34.64497518995038,1215.2595419556176 +20.740370185092548,0.34567283641820906,33.45672836418209,7.301066941458158,34.745546204750596,1222.0536775081193 +20.770385192596297,0.3461730865432716,33.46173086543271,7.456659391149464,34.66993557221152,1217.3455573408326 +20.80040020010005,0.34667333666833416,33.46673336668334,7.240275414390485,34.4546900914426,1202.5670494028982 +20.830415207603803,0.34717358679339666,33.471735867933965,7.541888398798042,34.01689935452461,1173.2190594195094 +20.860430215107556,0.3476738369184592,33.476738369184595,8.081761054729236,34.161093750477285,1183.974709262645 +20.890445222611305,0.34817408704352176,33.48174087043522,8.188826514672275,34.012133406280256,1174.1236803045624 +20.920460230115058,0.34867433716858426,33.48674337168584,7.465830787788024,33.871064537926166,1162.8609918969591 +20.95047523761881,0.3491745872936468,33.49174587293647,7.973494133867456,34.474751311847875,1204.6884751304308 +20.980490245122564,0.3496748374187093,33.49674837418709,7.573891496726282,34.41461150154349,1199.572216891637 +21.010505252626313,0.35017508754377186,33.50175087543772,7.379618364523811,34.80446735257113,1226.9307393190804 +21.040520260130066,0.3506753376688344,33.506753376688344,7.525394892091624,34.77278787964857,1224.9130864747815 +21.07053526763382,0.3511755877938969,33.51175587793897,8.2833360141268,34.79372111874741,1227.998379823886 +21.100550275137568,0.35167583791895946,33.516758379189596,7.843119257743366,34.49519184271902,1206.4852665579635 +21.13056528264132,0.352176088044022,33.52176088044022,8.151196145033445,34.32463820407787,1194.5388802936393 +21.160580290145074,0.3526763381690845,33.52676338169085,7.888192493040418,34.04107537374973,1174.6994757068926 +21.190595297648827,0.35317658829414705,33.53176588294147,8.313646278108433,34.4319988113716,1202.654480662896 +21.220610305152576,0.3536768384192096,33.536768384192094,8.406518061028795,34.41851395203683,1201.915973333146 +21.25062531265633,0.3541770885442721,33.54177088544272,8.0265893556477,34.52030091163844,1207.9036478104172 +21.28064032016008,0.35467733866933465,33.546773386693346,8.065390953136067,34.037932164145595,1174.8379027675094 +21.31065532766383,0.35517758879439715,33.551775887943975,8.482595108737971,34.76592256730843,1226.5904146406176 +21.340670335167584,0.3556778389194597,33.5567783891946,7.835389672600287,34.31303037191299,1193.304380459771 +21.370685342671337,0.35617808904452225,33.56178089044522,8.39254109506117,34.1537042543827,1183.3718662788226 +21.40070035017509,0.35667833916958475,33.56678339169585,8.076097271321228,34.472555603066084,1205.360451248432 +21.43071535767884,0.3571785892946473,33.57178589294647,8.608138928795992,34.23186454997175,1189.698238412283 +21.46073036518259,0.35767883941970985,33.576788394197095,8.513290658074943,34.493045234665644,1207.047293640309 +21.490745372686344,0.35817908954477234,33.581790895447725,8.57292815297704,34.64554721131475,1217.4985663294315 +21.520760380190097,0.3586793396698349,33.58679339669835,8.003259518337812,34.38406756140912,1198.834467666747 +21.550775387693847,0.35917958979489745,33.59179589794898,8.039062810920056,34.578892789492585,1212.2098344176725 +21.5807903951976,0.35967983991995994,33.5967983991996,8.303266421436257,34.31156019487003,1194.6145978852514 +21.610805402701352,0.3601800900450225,33.60180090045022,8.392032018935929,34.152957731772055,1183.764231502225 +21.6408204102051,0.360680340170085,33.60680340170085,8.01734913692604,34.384954908397404,1199.1169735266046 +21.670835417708854,0.36118059029514754,33.611805902951474,8.761174231450171,34.50811347847752,1209.2865273454997 +21.700850425212607,0.3616808404202101,33.616808404202104,7.9607420283392125,34.15931967863546,1182.8991620417582 +21.73086543271636,0.3621810905452726,33.621810905452726,8.086859194394716,34.42076115296045,1201.3784666668305 +21.76088044022011,0.36268134067033514,33.62681340670335,8.448946715239739,34.53093593505371,1210.1841718162336 +21.790895447723862,0.3631815907953977,33.63181590795398,8.007343449376453,34.04267304464876,1175.7955171957842 +21.820910455227615,0.3636818409204602,33.6368184092046,8.878157564761038,34.86260163718798,1233.5584180366034 +21.850925462731368,0.36418209104552274,33.64182091045523,8.913791139173075,34.45436786289148,1205.7033736790554 +21.880940470235117,0.3646823411705853,33.64682341170585,8.448075562350324,34.061376068242566,1177.3795365713472 +21.91095547773887,0.3651825912956478,33.651825912956475,8.858259081819833,34.43712494658104,1204.1927352941361 +21.940970485242623,0.36568284142071034,33.656828414207105,8.461977761526626,34.49830466395684,1207.5476932612062 +21.970985492746372,0.3661830915457729,33.66183091545773,8.735610852782015,34.91362965519604,1236.889317465912 +22.001000500250125,0.3666833416708354,33.66683341670836,8.261524368504626,34.079240367983864,1178.5503856839211 +22.031015507753878,0.36718359179589793,33.67183591795898,8.104495065808818,34.04684682526461,1175.399710554207 +22.06103051525763,0.36768384192096043,33.6768384192096,8.357499124341551,34.74480392804339,1224.9098152313643 +22.09104552276138,0.368184092046023,33.68184092046023,8.373797661779957,34.618883445318865,1215.6028944344093 +22.121060530265133,0.36868434217108553,33.686843421710854,8.29026273783993,34.94393717429417,1238.3692581507137 +22.151075537768886,0.36918459229614803,33.691845922961484,8.434894936072967,34.35104314534194,1197.407727169214 +22.181090545272635,0.3696848424212106,33.69684842421211,8.688530357499992,34.43495599262185,1203.2852620134688 +22.211105552776388,0.37018509254627313,33.70185092546273,8.383555132122453,34.238598730427924,1189.750713889106 +22.24112056028014,0.3706853426713356,33.70685342671336,9.088899687533482,34.88970030871225,1236.0252151318123 +22.271135567783894,0.3711855927963982,33.71185592796398,8.992098073858745,34.763141257651874,1227.3455859028934 +22.301150575287643,0.37168584292146073,33.71685842921461,8.920136185137356,34.833141135942185,1231.466145243718 +22.331165582791396,0.3721860930465232,33.72186093046523,9.127025889515041,34.33892560105745,1198.001546418418 +22.36118059029515,0.3726863431715858,33.726863431715856,8.356722327789479,34.812242732425176,1229.3041215705318 +22.3911955977989,0.3731865932966483,33.731865932966485,9.069638689380877,34.62600034805425,1217.4027462586282 +22.42121060530265,0.3736868434217108,33.73686843421711,9.077444851679225,35.031050410048124,1245.3799980604006 +22.451225612806404,0.3741870935467734,33.74187093546773,9.003569699818161,34.27544500345142,1193.4968139730938 +22.481240620310157,0.37468734367183587,33.74687343671836,8.588850194502314,35.034415151992825,1245.0822173114138 +22.511255627813906,0.3751875937968984,33.75187593796898,8.759175438071697,35.10732898886615,1250.3623620731169 +22.54127063531766,0.375687843921961,33.75687843921961,8.780935901816761,34.81070873974733,1230.3207811715226 +22.57128564282141,0.37618809404702347,33.761880940470235,9.01196766585243,35.12321906059841,1252.5350090681366 +22.601300650325165,0.376688344172086,33.76688344172086,9.416327207071575,35.06757431173626,1248.6286561161153 +22.631315657828914,0.37718859429714857,33.77188594297149,9.271250624076675,34.575268810986856,1214.330045207776 +22.661330665332667,0.37768884442221107,33.77688844422211,8.768085002542003,35.00029503673983,1242.7827962886986 +22.69134567283642,0.3781890945472736,33.78189094547274,9.577543467385434,34.22950182174917,1191.535498433142 +22.721360680340172,0.3786893446723361,33.78689344672336,8.608238795177392,35.0858752175216,1248.954954472547 +22.75137568784392,0.37918959479739867,33.791895947973984,9.336141009113835,35.16599543466636,1255.8066463835564 +22.781390695347675,0.3796898449224612,33.796898449224614,8.717037382039145,34.65201903795924,1218.6789606208913 +22.811405702851427,0.3801900950475237,33.801900950475236,8.780806339569292,34.724414942315335,1224.050508062651 +22.841420710355177,0.38069034517258626,33.806903451725866,9.288356182492727,34.58014064805969,1214.6138814289643 +22.87143571785893,0.3811905952976488,33.81190595297649,9.407105030614137,35.04322473470513,1247.29566386734 +22.901450725362682,0.3816908454227113,33.81690845422711,9.320193513769315,34.258466809729974,1192.8223739441055 +22.931465732866435,0.38219109554777386,33.82191095547774,9.019107365279844,34.732669042537644,1225.346158870029 +22.961480740370185,0.3826913456728364,33.82691345672836,9.271782893296962,34.70285440189743,1223.653862171922 +22.991495747873937,0.3831915957978989,33.83191595797899,8.9927319018367,34.75691316203616,1226.590371277203 +23.02151075537769,0.38369184592296146,33.836918459229615,9.81552704805027,34.45546936743553,1207.008730214174 +23.05152576288144,0.38419209604802396,33.84192096048024,8.86438690735424,34.61179706453752,1216.636447349746 +23.081540770385192,0.3846923461730865,33.84692346173087,9.484515317142263,34.76441405598586,1227.9114665718516 +23.111555777888945,0.38519259629814906,33.85192596298149,9.103230168513607,34.608916005779506,1216.6744096448288 +23.141570785392698,0.38569284642321155,33.85692846423211,9.313313308749287,34.368334195919594,1200.7734191841319 +23.171585792896447,0.3861930965482741,33.86193096548274,9.36587659254467,35.046807631742524,1247.3720546998084 +23.2016008004002,0.38669334667333666,33.866933466733364,9.199298547886748,34.389430409354304,1201.063369367716 +23.231615807903953,0.38719359679839915,33.871935967983994,9.12454696186353,34.380382842794916,1200.522350743491 +23.261630815407706,0.3876938469234617,33.87693846923462,9.630569024271301,34.27308869523066,1194.835285912848 +23.291645822911455,0.38819409704852426,33.881940970485246,9.313756471714154,34.7193973940316,1224.1888501317092 +23.321660830415208,0.38869434717358675,33.88694347173587,9.34164505171735,34.57251204748671,1214.4778591067268 +23.35167583791896,0.3891945972986493,33.89194597298649,9.398904471169697,34.62337437181926,1217.9195647641086 +23.38169084542271,0.38969484742371185,33.89694847423712,9.970314340520957,34.77331173124026,1230.103591342682 +23.411705852926463,0.39019509754877435,33.90195097548774,10.027281601933032,34.544816996191145,1213.6990407789656 +23.441720860430216,0.3906953476738369,33.906953476738366,10.01764237379887,34.947860037462874,1241.8399024901098 +23.47173586793397,0.3911955977988994,33.911955977988995,9.623851119748192,34.48792116770855,1208.6882462218082 +23.50175087543772,0.39169584792396195,33.91695847923962,9.769781343017273,34.63740593949477,1219.451155704053 +23.53176588294147,0.3921960980490245,33.92196098049025,9.260832987120168,34.32764802299699,1197.8227404590984 +23.561780890445224,0.392696348174087,33.92696348174087,9.795715147403817,34.7073206567484,1224.414402834062 +23.591795897948977,0.39319659829914955,33.93196598299149,9.56656185838188,34.380797320551956,1201.5057514482623 +23.621810905452726,0.3936968484242121,33.93696848424212,10.09279854431079,34.458397877407506,1208.2337881221654 +23.65182591295648,0.3941970985492746,33.941970985492745,9.35185656400513,34.958162533543586,1241.6464737966737 +23.681840920460232,0.39469734867433715,33.946973486743374,9.50003264771873,34.68074225917733,1222.0817631738146 +23.71185592796398,0.3951975987993997,33.951975987994,9.942230284326753,35.14230394785916,1255.5560268937993 +23.741870935467734,0.3956978489244622,33.95697848924462,9.630835072454332,34.71032228426133,1224.621284484281 +23.771885942971487,0.39619809904952474,33.96198099049525,9.81484249508926,34.597011998609624,1216.9807577632516 +23.80190095047524,0.39669834917458724,33.96698349174587,9.655167188146311,34.760023750373925,1228.1599756642147 +23.83191595797899,0.3971985992996498,33.9719859929965,9.502914386909227,34.942897394273345,1240.6054617635282 +23.861930965482742,0.39769884942471234,33.976988494247124,10.296866411752708,34.81745553896856,1233.4625154389798 +23.891945972986495,0.39819909954977484,33.981990995497746,10.150575816318211,34.978188705582106,1244.5405164574497 +23.921960980490248,0.3986993496748374,33.986993496748376,10.229183342948055,35.06030184465344,1250.6514566511921 +23.951975987993997,0.39919959979989994,33.991995997999,9.978636550198202,34.70585957710192,1224.698625094514 +23.98199099549775,0.39969984992496244,33.99699849924963,10.348997462248827,34.962360307422465,1243.1461335979627 +24.012006003001503,0.400200100050025,34.00200100050025,10.32718589920303,35.30935010060794,1267.5259268743164 +24.042021010505252,0.40070035017508754,34.00700350175087,9.845373169250813,34.54972303668487,1213.7497042351188 +24.072036018009005,0.40120060030015003,34.0120060030015,10.080777642702692,34.63508359261706,1220.5940468316314 +24.102051025512758,0.4017008504252126,34.017008504252125,9.761021914674023,35.35909239977166,1270.2139168044728 +24.13206603301651,0.4022011005502751,34.02201100550275,10.690218418457167,34.78954446947546,1231.7847176009475 +24.16208104052026,0.40270135067533763,34.02701350675338,9.876798069373129,35.04331531570682,1248.3039607408632 +24.192096048024013,0.4032016008004002,34.032016008004,10.434915308499685,34.71372922197478,1226.0845585188106 +24.222111055527765,0.4037018509254627,34.03701850925463,10.257659796155425,35.09654955441397,1252.7501904801547 +24.252126063031515,0.40420210105052523,34.04202101050525,10.272991244580126,35.33721667228292,1270.2154699067269 +24.282141070535268,0.4047023511755878,34.04702351175588,10.676219484386376,35.28313459868101,1266.5139615255791 +24.31215607803902,0.4052026013006503,34.052026013006504,10.37833130315347,34.53670968899692,1214.1213289981206 +24.342171085542773,0.40570285142571283,34.05702851425713,10.310748963586756,35.157043957914965,1257.4136839804985 +24.372186093046523,0.4062031015507754,34.062031015507756,10.849832893422866,34.58339412384079,1217.7263752035656 +24.402201100550275,0.4067033516758379,34.06703351675838,10.152332952834858,35.32084565394875,1268.7093712304852 +24.43221610805403,0.4072036018009004,34.072036018009,10.47900146908736,34.900042324567,1239.1056824309192 +24.46223111555778,0.407703851925963,34.07703851925963,10.93346536523799,35.399604758991735,1275.5029831131915 +24.49224612306153,0.4082041020510255,34.08204102051025,10.965531201474711,34.864574079870316,1237.9041000620678 +24.522261130565283,0.408704352176088,34.08704352176088,10.492131789017614,34.71141941460177,1226.0542739122106 +24.552276138069036,0.4092046023011505,34.092046023011505,10.103585249135197,35.21760706900043,1261.0361409401594 +24.582291145572785,0.4097048524262131,34.09704852426213,10.432246649683412,35.25557427550121,1264.0341477351703 +24.61230615307654,0.4102051025512756,34.10205102551276,10.867230587533554,35.004416274764075,1247.6663315341714 +24.64232116058029,0.4107053526763381,34.10705352676338,10.943230475652904,35.198387402659456,1260.814290006583 +24.672336168084044,0.41120560280140067,34.11205602801401,10.679066123754478,35.26304158032681,1265.036279150411 +24.702351175587793,0.4117058529264632,34.11705852926463,10.850000539534442,34.54060848304669,1214.7872894383024 +24.732366183091546,0.4122061030515257,34.122061030515255,10.360193950294935,35.30679756428295,1267.7256548772514 +24.7623811905953,0.41270635317658827,34.127063531765884,11.108831821684984,34.55252452765562,1216.1913307476823 +24.792396198099052,0.4132066033016508,34.13206603301651,10.79311864584824,34.76433327007011,1230.9086013003955 +24.8224112056028,0.4137068534267133,34.13706853426714,10.770729192529334,35.1137352947726,1255.1172116766777 +24.852426213106554,0.41420710355177587,34.14207103551776,11.121891425871842,35.12932923659254,1256.7760338424891 +24.882441220610307,0.41470735367683836,34.14707353676838,10.98239457902668,34.92074774616327,1242.2931499618514 +24.912456228114056,0.4152076038019009,34.15207603801901,10.667179836630314,35.02618008686885,1248.55194447559 +24.94247123561781,0.41570785392696347,34.157078539269634,11.058426429075917,34.865805602744736,1238.189735876203 +24.972486243121562,0.41620810405202596,34.16208104052026,11.004975364278586,35.00275710192569,1247.9085160579798 +25.002501250625315,0.4167083541770885,34.167083541770886,11.274404552338574,35.358918828380084,1273.435629004258 +25.032516258129064,0.41720860430215106,34.17208604302151,10.603569787680655,34.890781050376496,1238.9896583141908 +25.062531265632817,0.41770885442721356,34.17708854427214,11.136542875918487,35.02224242767369,1249.4021294550453 +25.09254627313657,0.4182091045522761,34.18209104552276,11.476298254623202,35.04577668017143,1251.744488259162 +25.12256128064032,0.41870935467733866,34.18709354677338,10.658388800812736,34.91450007722331,1240.4161861892987 +25.152576288144072,0.41920960480240116,34.19209604802401,11.054632171577378,35.31264388384981,1269.8702328906825 +25.182591295647825,0.4197098549274637,34.197098549274635,10.5788221077818,34.85243530328827,1235.8820625512742 +25.212606303151578,0.4202101050525262,34.202101050525265,10.960670564837336,34.787495922439156,1232.977370589365 +25.242621310655327,0.42071035517758876,34.20710355177589,11.097059424711624,35.557377099411504,1287.5211357130324 +25.27263631815908,0.4212106053026513,34.21210605302652,10.706118479615574,34.73112502734675,1228.50463441221 +25.302651325662833,0.4217108554277138,34.21710855427714,11.00043168646161,35.59839970784075,1290.245103796631 +25.332666333166586,0.42221110555277636,34.22211105552776,11.345359076150364,35.188550792850755,1261.016444311166 +25.362681340670335,0.4227113556778389,34.22711355677839,11.611677886926463,34.81881428384638,1236.1529996337251 +25.392696348174088,0.4232116058029014,34.232116058029014,11.492733307873191,34.895802642336854,1240.9348159929282 +25.42271135567784,0.42371185592796395,34.23711855927964,11.675942995969734,35.39050542902219,1276.678591853824 +25.45272636318159,0.4242121060530265,34.242121060530266,11.30807612647059,34.93251251908159,1242.973417688061 +25.482741370685343,0.424712356178089,34.24712356178089,11.327943955292783,35.29589263815032,1268.7201091656057 +25.512756378189096,0.42521260630315155,34.25212606303152,11.13670171972374,34.856028753299036,1237.463553620118 +25.54277138569285,0.4257128564282141,34.25712856428214,11.183076538844423,35.42688817959992,1278.1349731995338 +25.572786393196598,0.4262131065532766,34.26213106553276,11.68292898835289,35.67044294950339,1296.096267388221 +25.60280140070035,0.42671335667833915,34.26713356678339,11.102513377127668,34.830592029766095,1236.1768465194516 +25.632816408204103,0.42721360680340165,34.272136068034015,11.740658787764032,35.51923184517847,1285.3658048941438 +25.662831415707856,0.4277138569284642,34.277138569284645,11.713965315268405,35.27207750769021,1267.748066606696 +25.692846423211606,0.42821410705352675,34.28214107053527,11.82333035640422,35.43395263761119,1279.331791846316 +25.72286143071536,0.42871435717858924,34.28714357178589,11.059358927152779,34.78547047638334,1232.1967921125465 +25.75287643821911,0.4292146073036518,34.29214607303652,11.661512143325872,35.63704384627668,1293.6137983896647 +25.78289144572286,0.42971485742871435,34.29714857428714,11.706165770298524,34.954448631232395,1245.7671405719523 +25.812906453226613,0.43021510755377684,34.302151075537765,11.6341865785959,35.399359733948785,1276.4139681626475 +25.842921460730366,0.4307153576788394,34.307153576788394,11.933005994750712,34.95739096707158,1245.9524015589225 +25.87293646823412,0.43121560780390195,34.31215607803902,12.156276060857412,35.27425210311787,1268.9573252169114 +25.90295147573787,0.43171585792896444,34.31715857928965,11.28921651494947,34.981571761582885,1246.321782453613 +25.93296648324162,0.432216108054027,34.32216108054027,11.541599976619151,34.97777891081173,1247.0336096119304 +25.962981490745374,0.4327163581790895,34.3271635817909,11.916723046238562,35.06466511222126,1253.6274305687116 +25.992996498249127,0.43321660830415204,34.33216608304152,11.443441592689695,35.45035022146761,1280.3878864019048 +26.023011505752876,0.4337168584292146,34.337168584292144,12.266569600939425,35.73196034958899,1301.9907038278232 +26.05302651325663,0.4342171085542771,34.34217108554277,11.393767873071809,35.211081808006696,1263.1257053577008 +26.083041520760382,0.43471735867933964,34.347173586793396,11.911408075924916,34.90604441543,1242.4179755371624 +26.11305652826413,0.4352176088044022,34.35217608804402,11.520658505951298,35.08088699301526,1253.7582531644928 +26.143071535767884,0.4357178589294647,34.35717858929465,12.203516218730732,35.454944838175955,1282.2119542067974 +26.173086543271637,0.43621810905452724,34.36218109054527,11.555900963422982,35.14167068263278,1258.3202388089996 +26.20310155077539,0.4367183591795898,34.3671835917959,12.191163778702201,35.025657103667236,1251.5712575805255 +26.23311655827914,0.4372186093046523,34.37218609304652,11.73498825748673,34.85865689275635,1239.4769992642293 +26.263131565782892,0.43771885942971483,34.37718859429715,11.812021110106977,35.41672400071531,1278.9562112670235 +26.293146573286645,0.43821910955477733,34.382191095547775,12.437195626607625,35.42494362216821,1279.9418583877355 +26.323161580790394,0.4387193596798399,34.3871935967984,12.034517048860137,34.93111562546707,1244.3542736121792 +26.353176588294147,0.43921960980490243,34.39219609804903,11.95158512658691,35.11114269368652,1256.799946955427 +26.3831915957979,0.43971985992996493,34.39719859929965,11.986584068484316,35.20821744026247,1264.4129469658556 +26.413206603301653,0.4402201100550275,34.40220110055027,11.818827559292512,35.633043196159626,1294.2730366957715 +26.443221610805402,0.44072036018009003,34.4072036018009,11.929916414997809,35.331342393921666,1272.8293068099563 +26.473236618309155,0.4412206103051525,34.412206103051524,12.452223628519759,35.63180451629338,1294.59270022611 +26.503251625812908,0.4417208604302151,34.417208604302154,12.01089110985233,35.582130509101994,1290.5417059518647 +26.53326663331666,0.44222111055527763,34.422211105552776,12.47887418908739,35.11216388821992,1258.6908638017303 +26.56328164082041,0.4427213606803401,34.4272136068034,12.331007029186821,35.09779316435562,1256.6900779433215 +26.593296648324163,0.4432216108054027,34.43221610805403,12.128304244989433,35.47663085776049,1282.8612939082095 +26.623311655827916,0.44372186093046523,34.43721860930465,12.740334613434529,35.857040473189514,1311.731691781519 +26.653326663331665,0.4442221110555277,34.44222111055528,12.405929451398617,35.00326558882273,1250.8145456286115 +26.683341670835418,0.4447223611805903,34.4472236118059,12.608546374963332,35.440235210215846,1282.1779197448318 +26.71335667833917,0.44522261130565277,34.452226113056525,12.723612031650736,35.55780681663129,1290.2105760802438 +26.743371685842924,0.4457228614307153,34.457228614307155,12.856182045207678,35.21909036952688,1266.3744380463131 +26.773386693346673,0.4462231115557779,34.46223111555778,12.301066957524002,35.4546799053783,1282.3899985872406 +26.803401700850426,0.44672336168084037,34.4672336168084,12.545593743949684,35.80627822526664,1307.4593527163652 +26.83341670835418,0.4472236118059029,34.47223611805903,12.94652233302038,35.42498181966657,1281.2217429201528 +26.86343171585793,0.44772386193096547,34.47723861930965,12.211323223571538,34.99908210113769,1249.3779855118426 +26.89344672336168,0.44822411205602797,34.48224112056028,12.450706571460666,35.565435173542646,1290.5627644325477 +26.923461730865434,0.4487243621810905,34.487243621810904,12.333534023551056,35.1860078876583,1262.8053065284319 +26.953476738369186,0.44922461230615307,34.492246123061534,12.680003050001702,35.8147278920941,1308.6753666394825 +26.983491745872936,0.44972486243121557,34.49724862431216,12.584644527266978,35.80527750525406,1307.8874464117034 +27.01350675337669,0.4502251125562781,34.50225112556278,12.933534417156048,35.34635131343299,1275.963750353134 +27.04352176088044,0.4507253626813406,34.50725362681341,12.501147114855424,35.95308111930518,1318.6242609407163 +27.073536768384194,0.45122561280640316,34.51225612806403,12.44413494535442,35.265276672459066,1269.1132424037255 +27.103551775887944,0.4517258629314657,34.517258629314654,13.20220073758469,35.62272933283431,1296.1051859596257 +27.133566783391696,0.4522261130565282,34.52226113056528,12.834924760982508,35.47239570297286,1284.2998074461261 +27.16358179089545,0.45272636318159076,34.527263631815906,13.051680146542738,35.41657964032206,1281.353366682529 +27.1935967983992,0.4532266133066533,34.532266133066535,12.472912730730508,35.596174699323456,1292.8413796826974 +27.22361180590295,0.4537268634317158,34.53726863431716,12.783859187295905,35.73990774401352,1303.8131042362288 +27.253626813406704,0.45422711355677836,34.54227113556779,12.878732154164021,35.82848680405856,1310.0505145381553 +27.283641820910457,0.4547273636818409,34.54727363681841,12.63510979835462,35.088888085629335,1257.1904852506934 +27.313656828414207,0.4552276138069034,34.55227613806903,13.101882377234897,35.72969479908092,1303.6008268685637 +27.34367183591796,0.45572786393196596,34.55727863931966,13.112105038447101,35.13626073060732,1261.0518478713254 +27.373686843421712,0.45622811405702846,34.562281140570285,12.619099401705625,35.07765317876386,1256.1867198793484 +27.403701850925465,0.456728364182091,34.56728364182091,12.57856833878263,35.98589568452287,1320.3614375689156 +27.433716858429214,0.45722861430715356,34.57228614307154,12.649771590788436,35.21264329091241,1265.43926059159 +27.463731865932967,0.45772886443221605,34.57728864432216,12.834323675825779,35.88540733909854,1314.3308873936555 +27.49374687343672,0.4582291145572786,34.58229114557279,13.385844163690784,35.637212471566336,1297.2480718818601 +27.52376188094047,0.45872936468234116,34.58729364682341,13.335203584813831,35.37349816984176,1278.1961383264406 +27.553776888444222,0.45922961480740365,34.592296148074034,13.365303588389171,35.902056921324984,1316.4883867208378 +27.583791895947975,0.4597298649324662,34.597298649324664,13.552079736353816,35.30345473045371,1274.2299392449943 +27.613806903451728,0.46023011505752875,34.602301150575286,13.312696006217099,35.88620611309132,1315.3584037688704 +27.643821910955477,0.46073036518259125,34.607303651825916,13.311174263270832,35.75131834196806,1305.0463860515074 +27.67383691845923,0.4612306153076538,34.61230615307654,12.920163935982316,35.83591441177152,1310.6982381788227 +27.703851925962983,0.4617308654327163,34.61730865432716,13.35834875686125,35.20386808458451,1266.6882891667408 +27.733866933466736,0.46223111555777885,34.62231115557779,13.265206077983592,35.950075836999154,1319.2046697238713 +27.763881940970485,0.4627313656828414,34.62731365682841,13.710444812354991,35.63693484419953,1298.3089892999358 +27.793896948474238,0.4632316158079039,34.632316158079036,13.527239865053733,35.72811374174707,1304.4659672054047 +27.82391195597799,0.46373186593296645,34.637318659329665,13.47896473451995,35.16697336409815,1264.043857797255 +27.85392696348174,0.464232116058029,34.64232116058029,13.853575416900462,35.93848803531146,1319.9709037451532 +27.883941970985493,0.4647323661830915,34.64732366183092,13.45064864924645,35.92729745568006,1318.3957022882287 +27.913956978489246,0.46523261630815405,34.65232616308154,13.376358078544945,35.16205106853564,1264.0338115009815 +27.943971985993,0.4657328664332166,34.65732866433217,13.407331918256865,35.489528033378754,1286.612484268081 +27.973986993496748,0.4662331165582791,34.66233116558279,13.764478189484903,35.39482118352235,1280.7811421050685 +28.0040020010005,0.46673336668334164,34.667333666833414,13.206909106036349,35.17383076520068,1263.7532172688743 +28.034017008504254,0.4672336168084042,34.672336168084044,13.533252729100392,35.89037954479515,1315.8150503821673 +28.064032016008007,0.4677338669334667,34.67733866933467,14.056370634546028,35.24213303074136,1270.9755681727422 +28.094047023511756,0.46823411705852924,34.68234117058529,14.075096163625386,35.41402269774233,1282.8531744122686 +28.12406203101551,0.46873436718359174,34.68734367183592,13.877728632438217,35.24142684599693,1270.6905291692522 +28.15407703851926,0.4692346173086543,34.69234617308654,13.491448141620987,35.23065323040358,1268.3102279997154 +28.18409204602301,0.46973486743371684,34.69734867433717,13.243305224497563,35.46151529685549,1284.173336405111 +28.214107053526764,0.47023511755877934,34.70235117558779,13.603789109658699,35.86005230640901,1313.2067785920228 +28.244122061030517,0.4707353676838419,34.70735367683842,14.238887924649767,35.823264302863514,1312.5933622851098 +28.27413706853427,0.47123561780890444,34.712356178089045,13.406660676962746,36.13048090951922,1332.7115602230754 +28.30415207603802,0.47173586793396693,34.71735867933967,14.181426160918964,36.0672475217195,1329.3629794915903 +28.33416708354177,0.4722361180590295,34.7223611805903,13.694389497074889,35.62130557861296,1296.8546380471196 +28.364182091045524,0.47273636818409204,34.72736368184092,14.237318692131257,35.77382536857277,1309.1867082614494 +28.394197098549274,0.47323661830915453,34.73236618309154,13.568136422253422,35.27396669869551,1271.6630893018648 +28.424212106053027,0.4737368684342171,34.73736868434217,14.119768479136289,35.331933400786944,1276.702473845872 +28.45422711355678,0.4742371185592796,34.742371185592795,13.56875638601292,35.2331086771317,1268.7228023535688 +28.484242121060532,0.47473736868434213,34.747373686843424,13.781698114329387,35.65820742951999,1299.3615953438539 +28.51425712856428,0.4752376188094047,34.75237618809405,13.875905327363505,35.35957321009396,1278.9167062613983 +28.544272136068034,0.4757378689344672,34.75737868934467,14.301104540602934,36.05993685882091,1329.8295254531963 +28.574287143571787,0.47623811905952973,34.7623811905953,14.355424179696481,36.233575885725664,1342.5311240037681 +28.60430215107554,0.4767383691845923,34.76738369184592,14.58090893943126,35.295676630901916,1275.4804446921385 +28.63431715857929,0.4772386193096548,34.77238619309655,13.973520433195368,35.960979049103415,1321.8562076113965 +28.664332166083042,0.47773886943471733,34.777388694347174,14.589442732604162,35.526801713234036,1291.663131810128 +28.694347173586795,0.4782391195597799,34.782391195597796,14.132936397346871,35.45172390450309,1285.946292617916 +28.724362181090545,0.4787393696848424,34.787393696848426,14.674417206624922,35.32298060808281,1278.0319200636216 +28.754377188594297,0.4792396198099049,34.79239619809905,14.286298519347643,35.80551681074811,1310.6768392922106 +28.78439219609805,0.4797398699349674,34.79739869934967,14.681812527231582,35.337525200177765,1278.490085511202 +28.814407203601803,0.48024012006003,34.8024012006003,14.74127679476298,36.240817377697645,1343.2313631765128 +28.844422211105552,0.4807403701850925,34.80740370185092,14.376857600280262,35.307179584274095,1276.088720437214 +28.874437218609305,0.481240620310155,34.81240620310155,14.592784353476354,35.70377971679958,1304.006652534404 +28.904452226113058,0.48174087043521757,34.817408704352175,14.021236127342343,35.62511353657319,1297.7928856279455 +28.93446723361681,0.4822411205602801,34.822411205602805,14.394790284815752,35.62117892765512,1297.7713839011487 +28.96448224112056,0.4827413706853426,34.82741370685343,14.708698388095137,36.00636558906697,1326.2030568198516 +28.994497248624313,0.48324162081040517,34.83241620810405,14.179122689069827,36.14842670017141,1336.0051468983436 +29.024512256128066,0.4837418709354677,34.83741870935468,15.004479487623353,35.80216129761355,1312.129158712019 +29.054527263631815,0.4842421210605302,34.8424212106053,14.554749620983888,35.881749525516184,1317.5990484124336 +29.084542271135568,0.48474237118559277,34.847423711855924,14.173315143449306,36.30900944396801,1347.5934616727384 +29.11455727863932,0.4852426213106553,34.852426213106554,14.176978781102187,36.295089503799566,1345.9172052385927 +29.144572286143074,0.4857428714357178,34.85742871435718,14.439821991728262,35.57297395100423,1295.2947362262394 +29.174587293646823,0.48624312156078037,34.862431215607806,14.564404254514576,36.048484516255,1329.4749539277564 +29.204602301150576,0.48674337168584286,34.86743371685843,15.000187788587453,35.82214466657974,1313.4281508836325 +29.23461730865433,0.4872436218109054,34.87243621810906,14.756502310033287,36.287498358527785,1346.5424999730656 +29.264632316158078,0.48774387193596797,34.87743871935968,15.073989599076967,35.95497466502029,1323.7301554085595 +29.29464732366183,0.48824412206103046,34.8824412206103,14.388593315243373,36.23217414466283,1341.7796859849923 +29.324662331165584,0.488744372186093,34.88744372186093,14.640673265088596,35.71876374192882,1306.0985177397542 +29.354677338669337,0.48924462231115556,34.892446223111556,14.948840920590673,35.42942466873665,1285.5142520888778 +29.384692346173086,0.48974487243621806,34.89744872436218,14.719075234579497,35.980796995683995,1324.7708339894991 +29.41470735367684,0.4902451225612806,34.90245122561281,14.916292160726217,36.053798710466225,1330.351902198744 +29.44472236118059,0.49074537268634316,34.90745372686343,14.600183614966427,35.982319627548215,1324.6999935539693 +29.474737368684345,0.49124562281140566,34.91245622811406,14.58762782844566,36.21915605515357,1341.3669201881933 +29.504752376188094,0.4917458729364682,34.91745872936468,15.015696132278674,35.60504325107094,1298.5224295327553 +29.534767383691847,0.4922461230615307,34.922461230615305,14.703748678635467,36.1077146056032,1333.7482984813328 +29.5647823911956,0.49274637318659326,34.927463731865934,15.516900888142017,35.54553003400398,1294.789077406968 +29.59479739869935,0.4932466233116558,34.93246623311656,15.047467600600092,35.57297409121738,1295.7127417546837 +29.6248124062031,0.4937468734367183,34.93746873436719,15.473780998738729,36.14146884454401,1337.4533245099205 +29.654827413706855,0.49424712356178085,34.94247123561781,14.880550709935159,36.275620102575274,1346.012524278667 +29.684842421210607,0.4947473736868434,34.94747373686843,15.429370655589533,35.723852030434074,1307.521554606728 +29.714857428714357,0.4952476238119059,34.95247623811906,14.758210090301363,36.09275005436646,1332.7216817111203 +29.74487243621811,0.49574787393696845,34.957478739369684,15.587797091842148,35.612249768688194,1300.1244695791293 +29.774887443721862,0.496248124062031,34.962481240620306,15.111150866501259,36.351807102733446,1352.4096890982212 +29.804902451225615,0.4967483741870935,34.967483741870936,15.040017898641645,36.39624145757758,1355.0573953898102 +29.834917458729365,0.49724862431215605,34.97248624312156,14.933979084842894,35.742422886937675,1307.80244415798 +29.864932466233117,0.49774887443721855,34.97748874437219,15.587497912671338,35.56449142302101,1296.8244687235558 +29.89494747373687,0.4982491245622811,34.98249124562281,15.344632396141433,36.13276408890984,1337.0728510261806 +29.92496248124062,0.49874937468734365,34.98749374687344,15.07216420599828,35.858940303986756,1316.1434613829697 +29.954977488744372,0.49924962481240615,34.99249624812406,15.545742544866384,35.70386354769591,1306.2331216068403 +29.984992496248125,0.4997498749374687,34.997498749374685,15.174506509181684,36.19936405235874,1341.1809942353825 +30.015007503751878,0.5002501250625312,35.002501250625315,15.880511455815107,36.282596365672305,1349.156297336188 +30.045022511255628,0.5007503751875938,35.00750375187594,15.14010587000312,36.00623617743473,1327.6706659227937 +30.07503751875938,0.5012506253126563,35.01250625312656,15.556287832863914,36.23786337770519,1344.8078075153485 +30.105052526263133,0.5017508754377188,35.01750875437719,16.053691411883143,35.70044266800341,1307.0563450348625 +30.135067533766886,0.5022511255627814,35.02251125562781,15.343322458058285,36.33237856914919,1351.5852051748466 +30.165082541270635,0.5027513756878439,35.02751375687844,15.910054716551803,36.09481671351577,1335.3779314365627 +30.19509754877439,0.5032516258129064,35.032516258129064,16.038553945945765,36.52967349112389,1366.6045116395449 +30.22511255627814,0.503751875937969,35.03751875937969,16.19934260399222,36.019035467345965,1330.4417560010907 +30.25512756378189,0.5042521260630315,35.042521260630316,15.914580682527413,35.7834842627096,1312.7529116287426 +30.285142571285643,0.504752376188094,35.04752376188094,16.244569421791788,35.58286493014562,1298.938371515998 +30.315157578789396,0.5052526263131566,35.05252626313157,15.902500541256796,36.44043257107524,1360.5551599802097 +30.34517258629315,0.5057528764382191,35.05752876438219,16.245649632058136,35.70077236118768,1307.8873089067476 +30.3751875937969,0.5062531265632816,35.06253126563281,15.946851433877178,36.008304412498696,1329.031480250676 +30.40520260130065,0.5067533766883441,35.06753376688344,15.579820998984104,36.19750184607969,1342.2837967804526 +30.435217608804404,0.5072536268134067,35.072536268134066,15.932749415939167,36.159353212900626,1339.4649904329801 +30.465232616308153,0.5077538769384692,35.077538769384695,15.966826527894202,36.49273313892992,1363.895383636363 +30.495247623811906,0.5082541270635317,35.08254127063532,15.72752921338091,36.35824529985314,1354.1729749191031 +30.52526263131566,0.5087543771885943,35.08754377188594,15.97568306966825,36.563182057975006,1369.7100111250252 +30.555277638819412,0.5092546273136568,35.09254627313657,16.31365787071146,35.7460848638558,1310.8361738309152 +30.58529264632316,0.5097548774387193,35.09754877438719,15.679889565445201,36.40858861295789,1357.8807566559942 +30.615307653826914,0.5102551275637819,35.10255127563782,16.333809754681955,36.47555374389248,1363.5467728046738 +30.645322661330667,0.5107553776888444,35.107553776888444,15.67053816299649,35.755479762711786,1310.6231715382514 +30.67533766883442,0.5112556278139069,35.11255627813907,16.321199829587762,36.333675110911216,1353.2587352977669 +30.70535267633817,0.5117558779389695,35.1175587793897,16.05400027001706,36.354546864259234,1354.2527228000204 +30.735367683841922,0.512256128064032,35.12256128064032,16.179243570545967,35.664705428377395,1305.2501497087717 +30.765382691345675,0.5127563781890945,35.12756378189094,16.144821792884937,35.97621534015464,1326.587731270968 +30.795397698849424,0.5132566283141571,35.13256628314157,15.848775549463593,36.38503322095009,1356.0220912500988 +30.825412706353177,0.5137568784392196,35.137568784392194,16.38232231478636,36.35477463932788,1354.9753839661353 +30.85542771385693,0.5142571285642821,35.14257128564282,16.354964935748374,36.09440809897161,1335.9144500257792 +30.885442721360683,0.5147573786893447,35.147573786893446,16.363472955979656,36.6387792288049,1375.766333844554 +30.915457728864432,0.5152576288144072,35.152576288144076,16.294583537352512,36.613606474605106,1373.1710820113688 +30.945472736368185,0.5157578789394697,35.1575787893947,16.718351669569156,36.5285649566127,1368.0352617480237 +30.975487743871938,0.5162581290645323,35.16258129064532,16.52904031950068,36.23359164982078,1346.5176022857338 +31.00550275137569,0.5167583791895948,35.16758379189595,16.858432670238248,35.80882109676691,1316.4161230386667 +31.03551775887944,0.5172586293146573,35.17258629314657,16.777179028549547,36.34981122039936,1355.5259929331473 +31.065532766383193,0.5177588794397199,35.177588794397195,16.36300971713962,36.57428538638575,1370.679975636405 +31.095547773886945,0.5182591295647824,35.182591295647825,16.671597799244584,36.44213745474376,1361.9457820821626 +31.125562781390695,0.5187593796898449,35.18759379689845,16.20070767370593,36.39293476605121,1357.7199354093275 +31.155577788894448,0.5192596298149074,35.19259629814908,17.092561135281297,35.90233317526084,1323.6961584442722 +31.1855927963982,0.51975987993997,35.1975987993997,16.24225863926439,36.28260995251424,1349.3228048653773 +31.215607803901953,0.5202601300650325,35.20260130065032,17.22986869976553,35.73431607119016,1311.583719681491 +31.245622811405703,0.520760380190095,35.20760380190095,16.698434225954454,36.5478122612625,1369.2354261335236 +31.275637818909455,0.5212606303151576,35.212606303151574,16.64299328526901,36.304623758780444,1351.5145771859793 +31.30565282641321,0.5217608804402201,35.217608804402204,16.63244291712059,36.383753627860735,1357.697214294415 +31.335667833916958,0.5222611305652826,35.222611305652826,16.919701572029712,36.72469041454852,1383.1813085925075 +31.36568284142071,0.5227613806903452,35.22761380690345,16.97765585406961,36.24450286799706,1347.7449931353967 +31.395697848924463,0.5232616308154077,35.23261630815408,16.52376740627384,36.16357255437098,1340.9804716410817 +31.425712856428216,0.5237618809404702,35.2376188094047,17.158560324806214,36.30492031217971,1352.6118633101942 +31.455727863931966,0.5242621310655328,35.24262131065533,16.68896907780609,36.6759661810153,1379.2289238329547 +31.48574287143572,0.5247623811905953,35.24762381190595,17.187775700114493,36.34508353429836,1355.851792297723 +31.51575787893947,0.5252626313156578,35.252626313156576,17.196592385205822,36.66616603717673,1379.388654877576 +31.545772886443224,0.5257628814407204,35.257628814407205,17.056256882962515,36.193146877930545,1344.3586531852864 +31.575787893946973,0.5262631315657829,35.26263131565783,17.57641628763945,36.12301989589016,1340.2059440337368 +31.605802901450726,0.5267633816908454,35.26763381690846,17.363546015462287,36.608591998917504,1375.8335973903122 +31.63581790895448,0.527263631815908,35.27263631815908,17.493863964930025,35.91868256834686,1325.7335900688752 +31.66583291645823,0.5277638819409705,35.2776388194097,17.503663312261732,36.26323192650853,1350.19259472254 +31.69584792396198,0.528264132066033,35.28264132066033,17.561381219903925,36.06033022392633,1336.4235314468126 +31.725862931465734,0.5287643821910956,35.287643821910955,17.040428255595593,36.79353178457353,1387.9509223349705 +31.755877938969487,0.5292646323161581,35.29264632316158,17.76053512793583,35.9880407680465,1331.1042054506183 +31.785892946473236,0.5297648824412206,35.29764882441221,17.40732709427539,36.63510424813314,1377.7072661210766 +31.81590795397699,0.530265132566283,35.30265132566283,17.587645344088216,36.015499428187034,1333.1863550592277 +31.845922961480742,0.5307653826913457,35.30765382691346,17.882410978400067,36.006284192278514,1332.9275643791514 +31.875937968984495,0.5312656328164082,35.31265632816408,17.58799463652111,36.078692542857155,1336.8618687713704 +31.905952976488244,0.5317658829414706,35.31765882941471,17.6772446840366,35.88025839633872,1323.0803666865968 +31.935967983991997,0.5322661330665333,35.32266133066533,17.616028069871607,36.16973600997233,1344.400361339903 +31.96598299149575,0.5327663831915957,35.327663831915956,17.472420481565226,36.53917992199152,1370.7993603343843 +31.9959979989995,0.5332666333166582,35.332666333166586,17.365862463892235,36.09260262515895,1337.9720671611099 +32.026013006503256,0.5337668834417209,35.33766883441721,17.737659765382862,36.32063323689901,1355.0804389800628 +32.056028014007005,0.5342671335667833,35.34267133566783,17.889061883734506,36.25002156273122,1350.3176155072524 +32.086043021510754,0.5347673836918458,35.34767383691846,17.32930284878915,36.46174243866881,1364.7527823304977 +32.11605802901451,0.5352676338169085,35.35267633816908,17.410352352119194,36.68220901600876,1380.6590239395414 +32.14607303651826,0.535767883941971,35.35767883941971,17.71396138615987,36.707942561260815,1383.077056618825 +32.17608804402201,0.5362681340670334,35.362681340670335,17.864423200475038,36.87983336347674,1396.6439840377373 +32.206103051525766,0.536768384192096,35.36768384192096,18.26920592438312,36.53015405313527,1371.810222276752 +32.236118059029515,0.5372686343171585,35.37268634317159,17.853058149727964,36.739992456291006,1386.3343899745173 +32.266133066533264,0.537768884442221,35.37768884442221,17.5843129344591,36.37460961293502,1359.102511400042 +32.29614807403702,0.5382691345672836,35.38269134567284,17.615177699170093,36.57071366018056,1372.8847523501295 +32.32616308154077,0.5387693846923461,35.38769384692346,18.060699155422885,35.92802135155326,1327.2009446024138 +32.356178089044526,0.5392696348174086,35.392696348174084,18.18720840159447,36.764246213645336,1388.4378044976374 +32.386193096548276,0.5397698849424712,35.397698849424714,17.82709476719241,36.04326147280406,1335.1618975244796 +32.416208104052025,0.5402701350675337,35.402701350675336,17.711776109737162,36.589040358062434,1374.3159218549647 +32.44622311155578,0.5407703851925962,35.407703851925966,17.716770552880174,35.998838588905286,1331.9520711251002 +32.47623811905953,0.5412706353176588,35.41270635317659,18.39099231991908,36.68223013805781,1383.2310206033198 +32.50625312656328,0.5417708854427213,35.41770885442721,18.097289347359798,36.32272827837052,1355.8582066843333 +32.536268134067036,0.5422711355677838,35.42271135567784,18.53523516189868,36.86664202945348,1397.183074796134 +32.566283141570786,0.5427713856928463,35.42771385692846,18.616206528343355,36.71066905930883,1385.0674391005325 +32.596298149074535,0.5432716358179089,35.43271635817909,17.849338621386607,36.19482065746802,1345.9046117985695 +32.62631315657829,0.5437718859429714,35.437718859429715,18.484628388746863,36.58435882907986,1375.985266212816 +32.65632816408204,0.5442721360680339,35.44272136068034,18.144192743056593,36.10488593164928,1340.4309281531107 +32.6863431715858,0.5447723861930965,35.44772386193097,17.99340052253163,36.47314721738273,1366.2884324025906 +32.716358179089546,0.545272636318159,35.45272636318159,18.34996414062042,36.90043101477992,1398.6449663443989 +32.746373186593296,0.5457728864432215,35.45772886443221,18.593476566711274,36.21327311750723,1349.0694444602727 +32.77638819409705,0.5462731365682841,35.46273136568284,18.79686826910827,36.85335294505947,1396.204034216192 +32.8064032016008,0.5467733866933466,35.467733866933465,18.54168414812557,36.636283272075225,1379.4441988063677 +32.83641820910455,0.5472736368184091,35.472736368184094,18.210969702598355,36.82871694436801,1393.6091614108634 +32.86643321660831,0.5477738869434717,35.47773886943472,18.931885139180732,36.963698020778885,1404.353626765761 +32.896448224112056,0.5482741370685342,35.482741370685346,18.472484629430753,36.75722413515953,1388.1219741438204 +32.926463231615806,0.5487743871935967,35.48774387193597,18.834639378660263,36.953729657417284,1404.2305171781297 +32.95647823911956,0.5492746373186593,35.49274637318659,18.92023386817366,36.32966773442557,1358.2535275303928 +32.98649324662331,0.5497748874437218,35.49774887443722,18.700243464721,36.65288269205637,1381.0975533093117 +33.01650825412707,0.5502751375687843,35.50275137568784,19.16019593198708,36.761570165517405,1389.8810490603128 +33.04652326163082,0.5507753876938469,35.507753876938466,18.248560307012777,36.35800398141442,1358.812946318959 +33.076538269134566,0.5512756378189094,35.512756378189096,18.51836640930605,36.91636494595101,1400.05035844266 +33.10655327663832,0.5517758879439719,35.51775887943972,19.164122173580292,36.92193901127585,1402.060841652094 +33.13656828414207,0.5522761380690345,35.52276138069035,19.239599038140334,36.783987070942246,1392.2596142211198 +33.16658329164582,0.552776388194097,35.52776388194097,19.07213142183462,37.00019962197429,1407.8228992575757 +33.19659829914958,0.5532766383191595,35.53276638319159,18.51221097708537,36.84838492823613,1395.3892081216184 +33.22661330665333,0.5537768884442221,35.53776888444222,18.408784555972705,37.08060699690252,1412.4072851061555 +33.256628314157076,0.5542771385692846,35.542771385692845,18.865018967000978,37.04395665542864,1410.677475744169 +33.28664332166083,0.5547773886943471,35.547773886943475,18.850862864550678,36.29310441603351,1355.1159074525372 +33.31665832916458,0.5552776388194096,35.5527763881941,18.809552375943152,36.538701729003314,1373.2490906052062 +33.34667333666834,0.5557778889444722,35.55777888944472,19.43505621423132,36.39549542808306,1364.4834334049453 +33.37668834417209,0.5562781390695347,35.56278139069535,19.502093938578863,36.788627512000105,1393.2213530450972 +33.40670335167584,0.5567783891945972,35.56778389194597,18.743111607578882,36.457966372622444,1366.8198593891834 +33.436718359179594,0.5572786393196598,35.572786393196594,18.682900848965744,36.94084795297707,1402.5106257249038 +33.46673336668334,0.5577788894447223,35.577788894447224,19.10710396865468,36.88047529427766,1399.160922804546 +33.49674837418709,0.5582791395697848,35.582791395697846,18.830191766323694,36.46562827393841,1368.3224676208274 +33.52676338169085,0.5587793896948474,35.587793896948476,18.852260224767104,36.50266182869869,1370.5484705156139 +33.5567783891946,0.5592796398199099,35.5927963981991,19.208298766959945,36.59475841407268,1377.8726883928396 +33.58679339669835,0.5597798899449724,35.59779889944973,19.704300734405646,36.18596540481954,1349.0750297895167 +33.616808404202104,0.560280140070035,35.60280140070035,19.200830278351297,36.56700246769727,1376.0014462370634 +33.64682341170585,0.5607803901950975,35.60780390195097,18.934159967034876,36.29848861038355,1355.6929734822104 +33.67683841920961,0.56128064032016,35.6128064032016,19.599355058036128,36.33546507552062,1360.421822886919 +33.70685342671336,0.5617808904452226,35.617808904452225,19.792321570561363,36.92429110090035,1403.7916803119942 +33.73686843421711,0.5622811405702851,35.62281140570285,19.31999491836336,36.27549154359167,1354.9581670206603 +33.766883441720864,0.5627813906953476,35.62781390695348,19.051736684277234,36.663102435948154,1382.4529274761132 +33.796898449224614,0.5632816408204102,35.6328164082041,19.68177799979555,36.507691122175615,1372.9432751126355 +33.82691345672836,0.5637818909454727,35.63781890945473,19.139129377762387,36.989503222114905,1406.6243513541929 +33.85692846423212,0.5642821410705352,35.64282141070535,19.166196393353978,36.567574166062144,1376.0910811534065 +33.88694347173587,0.5647823911955978,35.64782391195598,19.399660362990847,36.49314556120143,1370.7917136857654 +33.91695847923962,0.5652826413206603,35.652826413206604,19.718083643824727,36.50410405500457,1372.0656827028554 +33.946973486743374,0.5657828914457228,35.65782891445723,19.541491908254613,37.141042286555866,1419.3569820813675 +33.976988494247124,0.5662831415707853,35.662831415707856,19.420931607939288,36.48836642648527,1371.2137876410118 +34.00700350175087,0.5667833916958479,35.66783391695848,20.036016816394277,36.73420092360629,1389.8671594313719 +34.03701850925463,0.5672836418209104,35.6728364182091,19.88805405917574,37.16841733637602,1421.4404976177252 +34.06703351675838,0.5677838919459729,35.67783891945973,19.66301466470161,36.87493297130114,1399.6904195779969 +34.097048524262135,0.5682841420710355,35.68284142071035,19.79870929523882,36.42034276765307,1366.8008358948118 +34.127063531765884,0.568784392196098,35.68784392196098,19.822312711969364,37.15954035331696,1420.9096136552691 +34.157078539269634,0.5692846423211605,35.692846423211606,20.122208156220903,36.76018975804359,1392.3963142585887 +34.18709354677339,0.5697848924462231,35.69784892446223,19.79724694948293,37.19226295349537,1423.245543321896 +34.21710855427714,0.5702851425712856,35.70285142571286,20.43067377355535,36.83453378890345,1397.9902698541007 +34.24712356178089,0.5707853926963481,35.70785392696348,20.45446465016081,36.33309341237636,1361.6705092610496 +34.277138569284645,0.5712856428214107,35.71285642821411,20.071750527339887,36.75599360433504,1392.0716477275123 +34.307153576788394,0.5717858929464732,35.71785892946473,20.28558208510037,36.57458686956085,1378.3272472803724 +34.337168584292144,0.5722861430715357,35.722861430715355,19.75941292836815,36.510973477110376,1373.0786658108584 +34.3671835917959,0.5727863931965983,35.727863931965985,20.57118320862133,37.15976900763288,1422.4381117859625 +34.39719859929965,0.5732866433216608,35.73286643321661,20.61289122995374,36.370792668138996,1364.6714155417 +34.427213606803406,0.5737868934467233,35.73786893446723,19.82653648969829,37.0839981201601,1415.7815692076717 +34.457228614307155,0.5742871435717859,35.74287143571786,20.35577117399885,36.72874721298699,1389.7631792441528 +34.487243621810904,0.5747873936968484,35.74787393696848,20.247967079435995,37.09500358443653,1416.9655804804693 +34.51725862931466,0.5752876438219109,35.75287643821911,20.663028743015367,36.71559827350429,1390.2727795941648 +34.54727363681841,0.5757878939469735,35.757878939469734,20.64248666739652,36.692022943720275,1388.3984277562286 +34.57728864432216,0.576288144072036,35.76288144072036,20.75927761682493,36.5137027418105,1375.357420278903 +34.607303651825916,0.5767883941970985,35.767883941970986,20.21690116699129,36.61842098818961,1382.0558308745938 +34.637318659329665,0.5772886443221611,35.77288644322161,20.273774881234107,37.287111409843845,1431.5516212913417 +34.667333666833414,0.5777888944472236,35.77788894447224,20.987893642582456,37.212928575973066,1427.2424642255946 +34.69734867433717,0.5782891445722861,35.78289144572286,20.724282933606627,37.24879608858255,1429.5971369770537 +34.72736368184092,0.5787893946973486,35.78789394697348,20.230859932532788,36.80597455111361,1395.1550916534245 +34.75737868934468,0.5792896448224112,35.79289644822411,20.721345926935943,36.92005165962791,1404.826305144547 +34.787393696848426,0.5797898949474737,35.797898949474735,20.470601303878777,36.841715085391805,1398.969418519723 +34.817408704352175,0.5802901450725362,35.802901450725365,21.004571534823306,36.86422810319535,1401.8373573893673 +34.84742371185593,0.5807903951975988,35.80790395197599,20.650979906500776,37.366006344726294,1437.5465520237333 +34.87743871935968,0.5812906453226613,35.81290645322662,20.87270628659597,36.56941786609987,1379.5035755768852 +34.90745372686343,0.5817908954477238,35.81790895447724,20.641980803189977,37.01778060477711,1411.9498909364477 +34.93746873436719,0.5822911455727864,35.82291145572786,21.00025198826332,36.54264509377115,1378.2589235831024 +34.967483741870936,0.5827913956978489,35.82791395697849,20.951527718128148,37.26892660273928,1431.8758358306056 +34.997498749374685,0.5832916458229114,35.832916458229114,20.519740647100647,37.12494516713968,1419.8141822430723 +35.02751375687844,0.583791895947974,35.83791895947974,20.471745634062493,36.868296852201695,1400.3898855707898 +35.05752876438219,0.5842921460730365,35.842921460730366,21.438393339693086,36.93131978198407,1406.8983950192896 +35.08754377188595,0.584792396198099,35.84792396198099,21.51784071608646,36.54173034600122,1378.3533237731701 +35.1175587793897,0.5852926463231616,35.85292646323162,21.03944114336771,37.06327388726907,1415.920046239417 +35.147573786893446,0.5857928964482241,35.85792896448224,21.370113933655638,36.715428960507126,1390.9310972013552 +35.1775887943972,0.5862931465732866,35.86293146573286,20.880839490716763,37.01353804460538,1412.5230583016264 +35.20760380190095,0.5867933966983492,35.86793396698349,21.15912491180853,36.93099373997154,1406.9031304390949 +35.2376188094047,0.5872936468234117,35.872936468234116,21.463684605753254,37.25627143604767,1431.8507194737017 +35.26763381690846,0.5877938969484742,35.877938969484745,20.913714060172396,36.89939654687941,1404.1935538471303 +35.29764882441221,0.5882941470735368,35.88294147073537,21.413204486713227,36.84814925955446,1401.2745099104482 +35.327663831915956,0.5887943971985993,35.88794397198599,21.561586542171085,36.62379597985791,1384.5941160222937 +35.35767883941971,0.5892946473236618,35.89294647323662,21.223852904659644,36.963031100653815,1409.2813787738087 +35.38769384692346,0.5897948974487243,35.89794897448724,21.797329902247785,36.542474352884625,1379.677318601719 +35.41770885442722,0.5902951475737869,35.902951475737865,21.383481312320008,36.71507566223675,1391.1512971906939 +35.44772386193097,0.5907953976988494,35.907953976988495,21.390644990459204,36.649153109344596,1386.3045933136689 +35.47773886943472,0.5912956478239119,35.91295647823912,21.201767627934082,36.86913729395422,1402.078617426041 +35.50775387693847,0.5917958979489745,35.91795897948975,21.691398316034284,37.38007838434531,1441.376784133552 +35.53776888444222,0.592296148074037,35.92296148074037,21.218970186993637,37.216695178344054,1428.2852565000715 +35.56778389194597,0.5927963981990995,35.927963981991,21.649396160462626,37.47897887014913,1448.023368099138 +35.59779889944973,0.5932966483241621,35.93296648324162,21.37888637091637,36.66934819396508,1387.7386775304249 +35.62781390695348,0.5937968984492246,35.937968984492244,21.794313387504918,37.01887972435503,1414.2572668531961 +35.65782891445723,0.5942971485742871,35.94297148574287,22.176158123495362,36.944625898745834,1410.150585947064 +35.68784392196098,0.5947973986993497,35.947973986993496,21.610246064380938,37.30446107070843,1435.5295427231501 +35.71785892946473,0.5952976488244122,35.95297648824412,21.42218992189716,37.54445643282023,1452.809570033307 +35.74787393696849,0.5957978989494747,35.95797898949475,21.935232373680922,37.22472716189558,1430.5392854460738 +35.77788894447224,0.5962981490745373,35.96298149074537,21.529762305033632,36.86825090572117,1402.4228316252918 +35.80790395197599,0.5967983991995998,35.967983991996,21.7849392958006,36.66818608709525,1388.359780778286 +35.837918959479744,0.5972986493246623,35.97298649324662,21.536937572056328,36.650099052216284,1387.034361958858 +35.86793396698349,0.5977988994497249,35.97798899449725,22.0278288623359,37.30181825954732,1435.7562979338388 +35.89794897448724,0.5982991495747874,35.982991495747875,21.84769062692976,37.20795623295759,1429.123625507067 +35.927963981991,0.5987993996998499,35.9879939969985,22.408819037666024,36.962025774350124,1412.007150536481 +35.95797898949475,0.5992996498249125,35.99299649824913,22.028050390954697,37.20115901908768,1428.1520635092238 +35.9879939969985,0.599799899949975,35.99799899949975,21.884335065025688,37.51119417731903,1451.2234932046385 +36.018009004502254,0.6003001500750375,36.00300150075037,22.190197852171536,36.67915407808569,1390.5039275067127 +36.048024012006,0.6008004002001001,36.008004002001,22.080577662476742,36.97040774643566,1411.1500302700547 +36.07803901950975,0.6013006503251626,36.013006503251624,21.908469209875122,36.77761275422362,1396.5900474810137 +36.10805402701351,0.601800900450225,36.018009004502254,21.782718311187296,37.397873163196046,1442.6526422799946 +36.13806903451726,0.6023011505752875,36.023011505752876,21.885199609292037,37.557258809093575,1455.3139023683013 +36.168084042021015,0.6028014007003502,36.0280140070035,22.410856550742956,37.218358289717315,1430.2831818411603 +36.198099049524764,0.6033016508254126,36.03301650825413,22.53259466489748,37.634463577645114,1461.8312004132658 +36.22811405702851,0.6038019009504751,36.03801900950475,22.08436501411912,36.85839524292244,1403.2876249098395 +36.25812906453227,0.6043021510755378,36.04302151075538,22.591971945177548,37.18267798530006,1427.7873103094032 +36.28814407203602,0.6048024012006002,36.048024012006,22.23376864759084,37.32007557826199,1437.4490531382728 +36.31815907953977,0.6053026513256627,36.053026513256626,22.19411747313136,36.852799661203704,1403.3230053466966 +36.348174087043525,0.6058029014507254,36.058029014507255,22.975700430787654,37.31496087699868,1439.2437392856543 +36.378189094547274,0.6063031515757878,36.06303151575788,22.142006100749267,37.549579123990874,1454.837729413693 +36.40820410205102,0.6068034017008503,36.0680340170085,22.938245387355717,36.791446063872115,1399.674022682849 +36.43821910955478,0.607303651825913,36.07303651825913,22.4059858978635,37.545619815906626,1455.251022049709 +36.46823411705853,0.6078039019509754,36.07803901950975,22.969253988795394,36.823006458568486,1402.0242004628137 +36.498249124562285,0.6083041520760379,36.08304152076038,22.31627416263724,37.58461140979578,1457.8887497371552 +36.528264132066035,0.6088044022011005,36.088044022011005,22.696139628757788,37.274313320915454,1435.2581390138782 +36.558279139569784,0.609304652326163,36.093046523261634,23.15929101737926,37.38980304741338,1445.1577065741942 +36.58829414707354,0.6098049024512255,36.09804902451226,22.841057740648242,37.17607842759406,1428.620635307746 +36.61830915457729,0.6103051525762881,36.10305152576288,23.22513175588517,37.470413264080875,1450.591229371157 +36.64832416208104,0.6108054027013506,36.10805402701351,22.941693566665535,37.23193815716758,1432.7624323022017 +36.678339169584795,0.6113056528264131,36.11305652826413,23.411236078409637,37.18421332395799,1430.3656676832206 +36.708354177088545,0.6118059029514757,36.118059029514754,23.00624764288254,37.324123753936895,1439.966849522784 +36.738369184592294,0.6123061530765382,36.12306153076538,22.733277404639974,37.49438397004711,1451.4813831100878 +36.76838419209605,0.6128064032016007,36.128064032016006,23.11200999302963,37.45610663328562,1449.7370873759696 +36.7983991995998,0.6133066533266633,36.133066533266636,22.828108761974992,37.20727194754414,1430.764410725666 +36.828414207103556,0.6138069034517258,36.13806903451726,23.12907110174011,36.961989058905125,1412.63062396063 +36.858429214607305,0.6143071535767883,36.14307153576788,23.265918621406374,37.306707159369275,1438.8527063717183 +36.888444222111055,0.6148074037018508,36.14807403701851,22.71532550242273,36.9355578642974,1410.0993269190335 +36.91845922961481,0.6153076538269134,36.15307653826913,23.49065509654671,37.3851114443203,1444.9798023787203 +36.94847423711856,0.6158079039519759,36.15807903951976,23.30317060873,37.19066102544424,1430.2899237250572 +36.97848924462231,0.6163081540770384,36.163081540770385,23.510559764306535,36.89172697751092,1408.0740287032822 +37.008504252126066,0.616808404202101,36.16808404202101,23.824505803797635,37.13574313217453,1427.2701867460178 +37.038519259629815,0.6173086543271635,36.17308654327164,23.214250833804478,37.7501243375786,1472.4184782601033 +37.068534267133565,0.617808904452226,36.17808904452226,23.690614293905742,36.86127833532878,1407.020228132161 +37.09854927463732,0.6183091545772886,36.18309154577289,23.32038222715883,36.90682847671604,1408.888847223411 +37.12856428214107,0.6188094047023511,36.18809404702351,23.621843420183577,36.99798255771193,1416.3369456749374 +37.15857928964483,0.6193096548274136,36.193096548274134,23.99296732081284,37.50563683201479,1455.2741708111098 +37.188594297148576,0.6198099049524762,36.198099049524764,23.996835610002844,37.698408150194645,1469.4573893362112 +37.218609304652325,0.6203101550775387,36.203101550775386,23.734275339219696,37.437551190573096,1449.7914552489872 +37.24862431215608,0.6208104052026012,36.208104052026016,24.064425094809224,37.68520758096896,1468.5794142496711 +37.27863931965983,0.6213106553276638,36.21310655327664,23.254448490379907,37.23457452378041,1433.842370051685 +37.30865432716358,0.6218109054527263,36.21810905452726,23.552704275777913,37.42828772090431,1448.6466623676731 +37.33866933466734,0.6223111555777888,36.22311155577789,23.969563174175047,37.21851727719402,1434.0566856818916 +37.368684342171086,0.6228114057028514,36.22811405702851,23.852641935454685,37.27485886718239,1437.3935074290061 +37.398699349674835,0.6233116558279139,36.233116558279136,23.857044042108154,37.190650485294434,1431.2449123133445 +37.42871435717859,0.6238119059529764,36.238119059529765,24.19439949876633,37.286717615662624,1438.7492011649206 +37.45872936468234,0.624312156078039,36.24312156078039,23.579257920132818,36.94967117189622,1413.413279213869 +37.4887443721861,0.6248124062031015,36.24812406203102,24.01191563419763,37.62957321254046,1464.4677946468162 +37.51875937968985,0.625312656328164,36.25312656328164,24.268221289680714,37.559319623186624,1459.3693484008543 +37.548774387193596,0.6258129064532265,36.25812906453227,24.321460865533915,37.66811005162327,1468.0825280545282 +37.57878939469735,0.6263131565782891,36.26313156578289,23.769135957256953,37.26702808279469,1437.344217625232 +37.6088044022011,0.6268134067033516,36.268134067033515,24.05914385096247,37.64652721434415,1466.1959255269835 +37.63881940970485,0.6273136568284141,36.273136568284144,24.272966578867422,37.397947029886545,1447.7087354126409 +37.66883441720861,0.6278139069534767,36.27813906953477,24.248926792886326,37.06914128364422,1423.4554580901054 +37.69884942471236,0.6283141570785392,36.28314157078539,24.058277542954833,36.912334756391466,1411.4705076137295 +37.728864432216106,0.6288144072036017,36.28814407203602,24.20056289367034,36.978449532016384,1416.3635177424947 +37.75887943971986,0.6293146573286643,36.29314657328664,24.567435869709556,37.773047831709334,1476.86254290663 +37.78889444722361,0.6298149074537268,36.29814907453727,24.734712922729017,37.714086716187055,1472.5926710969986 +37.81890945472737,0.6303151575787893,36.30315157578789,24.372258050994198,37.73016544268547,1473.196204399733 +37.84892446223112,0.6308154077038519,36.308154077038516,24.714804244247123,37.4090340078691,1449.6131620291135 +37.87893946973487,0.6313156578289144,36.313156578289146,24.218477271878008,37.73423643760236,1472.9447329232573 +37.90895447723862,0.6318159079539769,36.31815907953977,24.49043063048046,36.99747334336877,1418.0796259531767 +37.93896948474237,0.6323161580790395,36.3231615807904,24.048534397314537,37.570029726182234,1460.0551321397525 +37.96898449224612,0.632816408204102,36.32816408204102,25.010174139354117,37.76159206319613,1476.8894589250076 +37.99899949974988,0.6333166583291645,36.33316658329164,24.838901407421197,37.05555790491395,1423.0639396796978 +38.02901450725363,0.6338169084542271,36.33816908454227,24.306595851434718,37.04096269945905,1420.9460786345546 +38.05902951475738,0.6343171585792896,36.343171585792895,24.66415094443491,37.08062321421892,1425.1712826588587 +38.08904452226113,0.6348174087043521,36.348174087043525,24.45106219993009,37.51494300426264,1456.6093420054326 +38.11905952976488,0.6353176588294147,36.35317658829415,24.98476412778323,37.889774344483754,1486.0831533307326 +38.14907453726863,0.6358179089544772,36.35817908954477,24.318784719830663,37.99022264180585,1492.5494823395063 +38.17908954477239,0.6363181590795397,36.3631815907954,24.715954327722308,37.2691097126686,1439.3706829689922 +38.20910455227614,0.6368184092046023,36.36818409204602,24.403599986248086,37.43351832867418,1450.0927369851597 +38.239119559779894,0.6373186593296648,36.37318659329665,24.652476633925264,37.84272716885782,1481.4167941235685 +38.26913456728364,0.6378189094547273,36.378189094547274,24.920353882731593,37.65276096547958,1468.0563829190405 +38.29914957478739,0.6383191595797898,36.383191595797896,24.529350043887643,37.72311282644888,1472.1255620156192 +38.32916458229115,0.6388194097048524,36.388194097048526,25.037745487583027,37.30629984591624,1442.757198572816 +38.3591795897949,0.6393196598299149,36.39319659829915,24.92018193782554,37.900539251637404,1486.7335881985932 +38.38919459729865,0.6398199099549774,36.39819909954977,25.118634533412727,37.775556178406674,1477.4745084588865 +38.419209604802404,0.64032016008004,36.4032016008004,24.617605820563583,37.641331280074645,1466.9789530354622 +38.44922461230615,0.6408204102051025,36.40820410205102,25.40552098871713,37.654555312939166,1469.4471649028962 +38.4792396198099,0.641320660330165,36.41320660330165,25.08118776256847,37.971105268353625,1492.601019915005 +38.50925462731366,0.6418209104552276,36.418209104552275,24.806172399549464,37.21307958206643,1434.4550106921886 +38.53926963481741,0.6423211605802901,36.423211605802905,24.788717293413217,37.97679693621309,1492.0181599181335 +38.569284642321165,0.6428214107053526,36.42821410705353,25.748580372200397,37.68172343521799,1471.8690861690163 +38.599299649824914,0.6433216608304152,36.43321660830415,25.464958900722365,37.97817603378527,1493.4195311054368 +38.62931465732866,0.6438219109554777,36.43821910955478,25.17730051016277,37.45258160024039,1453.7645188087643 +38.65932966483242,0.6443221610805402,36.4432216108054,25.180806014355962,37.11407392998885,1428.3909350923454 +38.68934467233617,0.6448224112056028,36.448224112056025,25.176954694920152,37.991579342447544,1494.1697427474965 +38.71935967983992,0.6453226613306653,36.453226613306654,25.163456550747416,37.8051580107814,1479.672104070409 +38.749374687343675,0.6458229114557278,36.45822911455728,26.02251499486693,37.72597800739631,1475.9740756762203 +38.779389694847424,0.6463231615807904,36.463231615807906,25.188003828444934,37.14945042224069,1430.5426116543272 +38.80940470235117,0.6468234117058529,36.46823411705853,25.65709225920936,37.12441644443279,1429.7569409478492 +38.83941970985493,0.6473236618309154,36.47323661830915,25.862499028707617,38.04816702937662,1499.9212945465795 +38.86943471735868,0.647823911955978,36.47823911955978,26.069258281353985,37.84280500330254,1484.9031994900238 +38.899449724862436,0.6483241620810405,36.483241620810404,25.78068912821008,37.24945276865292,1439.6027726867035 +38.929464732366185,0.648824412206103,36.48824412206103,25.30136554159858,37.336382952468085,1444.6994710347615 +38.959479739869934,0.6493246623311655,36.493246623311656,26.21788510240719,37.2695846846336,1441.957650024258 +38.98949474737369,0.6498249124562281,36.49824912456228,26.207349380195417,38.02880293718313,1498.8076915698402 +39.01950975487744,0.6503251625812906,36.50325162581291,26.06422853157188,37.36107056012525,1448.4996886301292 +39.04952476238119,0.6508254127063531,36.50825412706353,26.026537177901346,38.139840632055034,1507.0723463478919 +39.079539769884946,0.6513256628314157,36.51325662831416,26.256690451591265,37.433767311629715,1454.5158700904226 +39.109554777388695,0.6518259129564782,36.51825912956478,26.107866793314336,37.51223594177399,1459.5366543276718 +39.139569784892444,0.6523261630815407,36.523261630815405,26.303088354238046,37.56497857042493,1464.2613078915597 +39.1695847923962,0.6528264132066033,36.528264132066035,25.743537548236233,37.242762432126895,1438.8970501909732 +39.19959979989995,0.6533266633316658,36.53326663331666,26.505387540748096,37.82811839994268,1484.9005001459498 +39.229614807403706,0.6538269134567283,36.53826913456729,26.069216746032915,37.56206800661301,1463.3639011862538 +39.259629814907456,0.6543271635817909,36.54327163581791,26.61162158117692,37.75720340799531,1479.3442275852447 +39.289644822411205,0.6548274137068534,36.54827413706853,26.539495824689403,37.87020425619075,1488.212151560955 +39.31965982991496,0.6553276638319159,36.55327663831916,25.90877742918836,37.306658012834504,1443.6906679843412 +39.34967483741871,0.6558279139569785,36.558279139569784,26.416674785016763,37.45027469237015,1455.4117143976248 +39.37968984492246,0.656328164082041,36.563281640820406,26.58584374057812,37.556260704571486,1463.802865975047 +39.409704852426216,0.6568284142071035,36.568284142071036,26.244609325518095,37.267739715976944,1441.5398362335309 +39.439719859929966,0.6573286643321661,36.57328664332166,26.72492813921787,37.32128393043408,1446.9692041309477 +39.469734867433715,0.6578289144572286,36.57828914457229,26.42867394209416,37.24383514721756,1440.0207258500536 +39.49974987493747,0.6583291645822911,36.58329164582291,26.68204417516617,37.599805217946475,1467.8377856220602 +39.52976488244122,0.6588294147073537,36.58829414707354,26.832082300622584,38.22285994776901,1514.9818438741174 +39.55977988994498,0.6593296648324162,36.59329664832416,26.327656027546553,37.60331775257005,1467.3872892097397 +39.589794897448726,0.6598299149574787,36.598299149574785,26.152942023090162,37.29905142262784,1443.973562839053 +39.619809904952476,0.6603301650825413,36.603301650825415,27.161581148433815,38.069359075723526,1504.1458934882585 +39.64982491245623,0.6608304152076038,36.60830415207604,27.10424283389385,38.24304677108,1517.6082375756848 +39.67983991995998,0.6613306653326663,36.61330665332666,26.556855105135817,37.72342381156231,1476.6391044631937 +39.70985492746373,0.6618309154577288,36.61830915457729,26.410023278298265,38.097643502895956,1504.4414046446038 +39.73986993496749,0.6623311655827914,36.62331165582791,26.665062211387408,37.68653449943493,1473.8895848590287 +39.769884942471236,0.6628314157078539,36.62831415707854,27.155778564347344,37.32385153257997,1447.5707062067725 +39.799899949974986,0.6633316658329164,36.633316658329164,26.641781648981226,37.784619379206,1481.2673746689857 +39.82991495747874,0.663831915957979,36.63831915957979,27.408012308446043,38.133580593539925,1509.0506318589194 +39.85992996498249,0.6643321660830415,36.643321660830416,26.59907819947337,38.0537038878294,1501.622888109478 +39.88994497248625,0.664832416208104,36.64832416208104,26.812947257792032,37.54790062936656,1464.0300901035396 +39.91995997999,0.6653326663331666,36.65332666333167,26.884528292457464,37.33189132569464,1447.4967936991918 +39.949974987493746,0.6658329164582291,36.65832916458229,27.395221511416757,37.699416490101044,1476.9055348608397 +39.9799899949975,0.6663331665832916,36.663331665832914,27.263593692604292,37.71639325588117,1477.1688076864805 +40.01000500250125,0.6668334167083542,36.66833416708354,27.032796428298745,37.55927327868234,1465.0546912492614 +40.040020010005,0.6673336668334167,36.673336668334166,26.866223237442867,37.46344957871074,1457.4603128546707 +40.07003501750876,0.6678339169584792,36.67833916958479,27.293229304078015,37.69454302931264,1476.3147674611319 +40.10005002501251,0.6683341670835418,36.68334167083542,27.351755313681906,38.16368702206,1511.65150408593 +40.13006503251626,0.6688344172086043,36.68834417208604,27.735348236465562,37.93550786392772,1494.6274795544357 +40.16008004002001,0.6693346673336668,36.69334667333667,27.030696936002645,37.59087693045105,1467.9065440225918 +40.19009504752376,0.6698349174587294,36.69834917458729,27.28551773276872,38.312522496491155,1522.971056631163 +40.22011005502751,0.6703351675837919,36.70335167583792,27.74819644294609,38.193247286249544,1514.4047762461225 +40.25012506253127,0.6708354177088544,36.708354177088545,27.58886622874511,38.18428390825128,1513.7115156043187 +40.28014007003502,0.671335667833917,36.71335667833917,27.908594261257996,38.12718469384536,1509.8737748115022 +40.310155077538774,0.6718359179589795,36.7183591795898,27.261683391104825,38.338462649326786,1524.8005372262157 +40.34017008504252,0.672336168084042,36.72336168084042,27.18358048593032,37.43512032848225,1456.5934039219899 +40.37018509254627,0.6728364182091046,36.72836418209104,27.55872733799216,38.161848272027235,1511.7167417111123 +40.40020010005003,0.673336668334167,36.73336668334167,27.50396013055115,37.561784436909456,1466.1586935135003 +40.43021510755378,0.6738369184592296,36.738369184592294,27.580274775239914,38.03286704743117,1502.1623823410691 +40.46023011505753,0.674337168584292,36.743371685842924,27.450925864658352,37.878300030819986,1490.346946204003 +40.490245122561284,0.6748374187093547,36.748374187093546,27.721627002384736,38.238647608983776,1517.6549517984945 +40.52026013006503,0.6753376688344171,36.753376688344176,27.963938730141955,38.34633351508367,1527.048163557555 +40.55027513756878,0.6758379189594796,36.7583791895948,27.863858273867624,38.161318891624525,1512.7903290788215 +40.58029014507254,0.6763381690845423,36.76338169084542,27.907967854513352,38.056274404087915,1504.1790168251102 +40.61030515257629,0.6768384192096047,36.76838419209605,27.785722103974297,38.17074527368408,1512.5945566150729 +40.640320160080044,0.6773386693346672,36.77338669334667,27.86471372430295,38.41690519769156,1531.9059861246471 +40.670335167583794,0.6778389194597298,36.778389194597295,28.39338397430363,37.97632102627502,1499.304137418012 +40.70035017508754,0.6783391695847923,36.783391695847925,27.764388450528667,38.451979281899796,1534.7129178886162 +40.7303651825913,0.6788394197098548,36.78839419709855,27.934200551242068,38.247190327295925,1518.9287920057245 +40.76038019009505,0.6793396698349174,36.79339669834918,27.719973337718777,37.991574265767,1499.0258358719436 +40.7903951975988,0.6798399199599799,36.7983991995998,28.703405993392806,38.18916673673309,1516.545833811395 +40.820410205102554,0.6803401700850424,36.80340170085042,27.889665799830794,37.61567795018918,1470.7427620767262 +40.850425212606304,0.680840420210105,36.80840420210105,28.804834982693663,37.604128659973775,1471.8480452242477 +40.88044022011005,0.6813406703351675,36.813406703351674,28.579891678267895,37.655138242779785,1475.6917565421645 +40.91045522761381,0.68184092046023,36.818409204602304,28.44262255879991,37.99550694929781,1500.9694661233661 +40.94047023511756,0.6823411705852926,36.823411705852926,28.22025209964885,38.245350835716685,1519.2575176477867 +40.970485242621315,0.6828414207103551,36.82841420710355,28.65798787250388,37.55791762512859,1468.840055804947 +41.000500250125064,0.6833416708354176,36.83341670835418,28.279382951176192,38.046812143801226,1504.1671315655035 +41.030515257628814,0.6838419209604802,36.8384192096048,29.010021427856977,37.61609164181798,1473.7024705879885 +41.06053026513257,0.6843421710855427,36.843421710855424,28.303704026103066,37.8331602335727,1488.3381323211265 +41.09054527263632,0.6848424212106052,36.84842421210605,29.113880282646175,37.869622767817354,1492.440892007086 +41.12056028014007,0.6853426713356677,36.853426713356676,28.918617709109977,38.18906075494595,1516.4857444244296 +41.150575287643825,0.6858429214607303,36.858429214607305,28.273000274489316,37.58207892690554,1469.5742220251225 +41.180590295147574,0.6863431715857928,36.86343171585793,28.631551806650272,38.38395561734162,1531.00873189312 +41.210605302651324,0.6868434217108553,36.86843421710856,28.68210265213914,37.899211618200134,1494.3701030727843 +41.24062031015508,0.6873436718359179,36.87343671835918,28.93679232905255,38.084757289579066,1508.6943655879852 +41.27063531765883,0.6878439219609804,36.8784392196098,29.03131799393685,38.05476638546977,1506.5881139805151 +41.300650325162586,0.6883441720860429,36.88344172086043,29.067115434979296,38.182430690558874,1516.463111223697 +41.330665332666335,0.6888444222111055,36.888444222111055,28.94823475155482,38.19550795724334,1517.1908161974259 +41.360680340170084,0.689344672336168,36.89344672336168,29.243326277180124,37.69406778236584,1479.9510429605282 +41.39069534767384,0.6898449224612305,36.89844922461231,28.906130129607316,38.07045089401571,1507.3994342682702 +41.42071035517759,0.6903451725862931,36.90345172586293,28.780690465793654,38.52639613996607,1542.6201632928107 +41.45072536268134,0.6908454227113556,36.90845422711356,29.1936716835593,37.6186313442386,1473.6668704895544 +41.480740370185096,0.6913456728364181,36.91345672836418,28.72786349272456,37.866294117672595,1492.0078346233372 +41.510755377688845,0.6918459229614807,36.91845922961481,29.230545183283525,37.89212398878738,1494.4694242046296 +41.540770385192594,0.6923461730865432,36.923461730865434,28.843785187256774,37.942018938651444,1497.322537131001 +41.57078539269635,0.6928464232116057,36.928464232116056,29.421738672694296,37.66526153906466,1477.6579526380203 +41.6008004002001,0.6933466733366683,36.933466733366686,29.823640355922336,38.15469262007958,1515.7056093580416 +41.63081540770386,0.6938469234617308,36.93846923461731,29.31858422191727,38.51097877819299,1542.5437237236986 +41.660830415207606,0.6943471735867933,36.94347173586793,29.152293064058412,38.579147326341754,1546.6580716512096 +41.690845422711355,0.6948474237118559,36.94847423711856,29.379710225654126,38.15425616055627,1515.4258774355228 +41.72086043021511,0.6953476738369184,36.95347673836918,29.420294354543717,38.25006139400818,1522.8117239639585 +41.75087543771886,0.6958479239619809,36.95847923961981,29.905517682799,38.002157334812345,1504.6039189457713 +41.78089044522261,0.6963481740870435,36.963481740870435,29.703369861568273,38.65930269097053,1554.200212116859 +41.81090545272637,0.696848424212106,36.96848424212106,29.413359534048002,38.51812078192195,1543.116629788473 +41.840920460230116,0.6973486743371685,36.97348674337169,30.09535996472636,38.46212514056264,1540.3881466274963 +41.870935467733865,0.697848924462231,36.97848924462231,29.36722215209111,38.13048287678717,1513.5045460821589 +41.90095047523762,0.6983491745872936,36.98349174587294,29.76012931456907,38.42245917553829,1536.7299050742977 +41.93096548274137,0.6988494247123561,36.98849424712356,29.504732501528608,38.417138572415396,1535.8245412563087 +41.96098049024513,0.6993496748374186,36.993496748374184,29.470382906558367,38.63834867911354,1552.8057043193123 +41.99099549774888,0.6998499249624812,36.998499249624814,29.69495302429911,37.80515855388105,1489.2252988032628 +42.021010505252626,0.7003501750875437,37.00350175087544,30.366665933150422,38.55268737011678,1547.3242548638634 +42.05102551275638,0.7008504252126062,37.00850425212606,30.07906252085603,38.60121534152703,1551.1163889483298 +42.08104052026013,0.7013506753376688,37.01350675337669,30.128405093551848,37.72765963943923,1484.3325906396317 +42.11105552776388,0.7018509254627313,37.01850925462731,30.225409908701785,38.048438719306965,1508.9410494965853 +42.14107053526764,0.7023511755877938,37.02351175587794,29.91491203093891,38.34117675563833,1529.94357721471 +42.17108554277139,0.7028514257128564,37.02851425712856,29.873003677497245,38.17013350079901,1516.8256540378022 +42.201100550275136,0.7033516758379189,37.03351675837919,30.153475306467293,38.51643443304018,1544.237777081998 +42.23111555777889,0.7038519259629814,37.038519259629815,30.467277486840498,38.62401593056174,1553.3250285513625 +42.26113056528264,0.704352176088044,37.04352176088044,30.7416071705334,38.288509285662116,1528.3391466556955 +42.29114557278639,0.7048524262131065,37.04852426213107,30.649511823679767,37.862271434250644,1495.2921904637171 +42.32116058029015,0.705352676338169,37.05352676338169,30.7395942883023,38.49110424262888,1543.2223212778617 +42.3511755877939,0.7058529264632316,37.05852926463231,30.4727044574348,37.7809737937931,1488.8541992874555 +42.38119059529765,0.7063531765882941,37.06353176588294,30.22874984342027,38.35633926866927,1532.1815012783309 +42.4112056028014,0.7068534267133566,37.068534267133565,30.935549848004527,38.12038637898843,1515.6846084642073 +42.44122061030515,0.7073536768384192,37.073536768384194,30.262018369020005,38.22684119174311,1522.0068527618043 +42.47123561780891,0.7078539269634817,37.07853926963482,30.610437296987445,38.76142098582509,1563.6971196528093 +42.50125062531266,0.7083541770885442,37.08354177088545,30.367786432744644,38.452421646043554,1540.0429190654352 +42.53126563281641,0.7088544272136067,37.08854427213607,30.683495304815352,38.418227716448314,1537.7764825738914 +42.56128064032016,0.7093546773386693,37.09354677338669,30.81043463912496,37.9076383122507,1499.4781741677764 +42.59129564782391,0.7098549274637318,37.09854927463732,30.68177907397789,38.35662678053847,1532.8850296701128 +42.62131065532766,0.7103551775887943,37.103551775887944,30.737119483196818,38.58475096077678,1551.153815033368 +42.65132566283142,0.7108554277138569,37.108554277138566,31.179313886799275,38.0604422372874,1511.7213748011213 +42.68134067033517,0.7113556778389194,37.113556778389196,30.474690661683276,37.86090148228536,1494.5902870295574 +42.711355677838924,0.7118559279639819,37.11855927963982,31.233194440547056,38.81305139830019,1569.5987272623074 +42.74137068534267,0.7123561780890445,37.12356178089045,30.933540808145867,38.69155846708711,1558.9848738576025 +42.77138569284642,0.712856428214107,37.12856428214107,31.287337789719345,38.61818171026273,1554.06810366389 +42.80140070035018,0.7133566783391695,37.13356678339169,31.02233673450762,38.58722602070098,1551.9363574265337 +42.83141570785393,0.7138569284642321,37.13856928464232,31.505859058096103,38.46310848461816,1542.5859981501746 +42.86143071535768,0.7143571785892946,37.143571785892945,31.285214773152802,38.55980727930414,1550.1418835457423 +42.891445722861434,0.7148574287143571,37.148574287143575,30.72206315787436,38.399231738573775,1536.7625560132508 +42.92146073036518,0.7153576788394197,37.1535767883942,31.29068457941582,38.32594750949478,1531.9572034750304 +42.95147573786893,0.7158579289644822,37.15857928964482,31.681639079890633,37.91747740107954,1502.034684452559 +42.98149074537269,0.7163581790895447,37.16358179089545,31.055399179346235,38.56048840862678,1549.6408330849301 +43.01150575287644,0.7168584292146073,37.16858429214607,31.4194683238324,38.766653422759134,1566.4011367404187 +43.041520760380195,0.7173586793396698,37.173586793396694,31.855579046021244,38.553529418270664,1550.2361217587586 +43.071535767883944,0.7178589294647323,37.178589294647324,30.950460676037164,37.96223777778145,1503.450497046596 +43.10155077538769,0.7183591795897949,37.18359179589795,31.59458701169071,38.7045219387641,1561.819540879719 +43.13156578289145,0.7188594297148574,37.188594297148576,31.758693637339316,38.145744732557894,1518.7184036791582 +43.1615807903952,0.7193596798399199,37.1935967983992,31.667158398379218,38.70422276824148,1562.044480863543 +43.19159579789895,0.7198599299649825,37.19859929964983,31.951204821786327,38.637132232628794,1557.64298737125 +43.221610805402705,0.720360180090045,37.20360180090045,32.12851648482099,38.86014188754655,1575.0486875621646 +43.251625812906454,0.7208604302151075,37.20860430215107,31.84675851725634,38.14594126004166,1519.6441002082984 +43.2816408204102,0.72136068034017,37.2136068034017,32.07329252990833,38.10195595991878,1516.511164114134 +43.31165582791396,0.7218609304652326,37.218609304652325,31.823071243799035,38.68917717097279,1560.8682834864399 +43.34167083541771,0.7223611805902951,37.22361180590295,31.582852629466732,38.63040695169149,1556.1445880227182 +43.371685842921465,0.7228614307153576,37.22861430715358,31.54147760247566,38.21465844006866,1524.38155595479 +43.401700850425215,0.7233616808404202,37.2336168084042,31.709352923919322,38.54185071263097,1549.2873871041804 +43.431715857928964,0.7238619309654827,37.23861930965483,32.26091031261108,38.780407523598754,1568.4601281612593 +43.46173086543272,0.7243621810905452,37.24362181090545,32.44514336436136,38.69180393789364,1562.7089241471576 +43.49174587293647,0.7248624312156078,37.24862431215608,31.773083323480794,38.84206118453056,1572.468258573319 +43.52176088044022,0.7253626813406703,37.253626813406704,31.686473053500098,38.7600537907115,1566.286095668286 +43.551775887943975,0.7258629314657328,37.25862931465733,32.35512664725364,38.470127829896505,1544.7215632627194 +43.581790895447725,0.7263631815907954,37.26363181590796,31.979732791192102,38.80518338881582,1569.876486505148 +43.611805902951474,0.7268634317158579,37.26863431715858,32.024147132979955,38.1436819276268,1519.14457751067 +43.64182091045523,0.7273636818409204,37.2736368184092,32.60109593810688,38.027091230779014,1511.7433839379842 +43.67183591795898,0.727863931965983,37.27863931965983,32.72575534741619,38.338676842347745,1535.7901521862707 +43.701850925462736,0.7283641820910455,37.283641820910454,31.908253745394966,38.51356693418045,1547.403724394544 +43.731865932966485,0.728864432216108,37.28864432216108,32.753474886886636,38.345576019668236,1536.4090725181336 +43.761880940470235,0.7293646823411706,37.293646823411706,32.56409978521692,38.93861697893904,1581.6174789986276 +43.79189594797399,0.7298649324662331,37.29864932466233,32.43904504639049,38.396618173418574,1540.0595666178363 +43.82191095547774,0.7303651825912956,37.30365182591296,32.44222060836947,38.37506507436938,1538.1429909746198 +43.85192596298149,0.7308654327163582,37.30865432716358,32.54086150487126,38.13795988830901,1520.3604590438904 +43.881940970485246,0.7313656828414207,37.31365682841421,32.65372509153046,38.85147460984368,1575.204448089617 +43.911955977988995,0.7318659329664832,37.31865932966483,32.451349396141126,38.64084609080349,1558.0581139580133 +43.941970985492745,0.7323661830915458,37.323661830915455,32.23861993425505,38.84900228673078,1573.7599578516956 +43.9719859929965,0.7328664332166083,37.328664332166085,33.06750497284234,38.40644974781581,1541.8158722101227 +44.00200100050025,0.7333666833416708,37.33366683341671,33.04469666442482,38.96148330512788,1584.492235740769 +44.03201600800401,0.7338669334667333,37.33866933466733,33.152868302268246,38.56451704542737,1553.9896651629165 +44.062031015507756,0.7343671835917959,37.34367183591796,33.21579186537432,38.75785567889405,1568.8216974579148 +44.092046023011505,0.7348674337168584,37.34867433716858,33.06805494854804,38.89343212098498,1579.3238281908093 +44.12206103051526,0.7353676838419209,37.35367683841921,33.155203448792626,38.76465410568634,1569.4772559227952 +44.15207603801901,0.7358679339669835,37.358679339669834,33.05260435316674,38.465876324117104,1545.825504726917 +44.18209104552276,0.736368184092046,37.363681840920464,32.99258821475071,38.158352325995715,1522.1436466185194 +44.21210605302652,0.7368684342171085,37.368684342171086,32.752459490697575,38.28247655783543,1531.657507023301 +44.242121060530266,0.7373686843421711,37.37368684342171,32.68562716682935,38.190434662797614,1524.2447456482378 +44.272136068034015,0.7378689344672336,37.37868934467234,32.996489838098874,38.674737909393826,1562.309721549554 +44.30215107553777,0.7383691845922961,37.38369184592296,33.00548844835858,38.68157797496229,1562.4423853903627 +44.33216608304152,0.7388694347173587,37.38869434717358,33.666510936074765,39.03826253959135,1591.3288491889493 +44.36218109054527,0.7393696848424212,37.39369684842421,33.54728267136298,38.6188300539759,1559.0530634098752 +44.39219609804903,0.7398699349674837,37.398699349674835,33.54735292075717,38.19348777685281,1525.8859998286757 +44.422211105552776,0.7403701850925463,37.403701850925465,33.592268933354475,38.964988436762425,1586.1429268497886 +44.45222611305653,0.7408704352176088,37.40870435217609,33.849359350901636,39.13203511642834,1599.3506312769587 +44.48224112056028,0.7413706853426713,37.41370685342671,33.73649172843115,38.27027270094994,1532.2985338049143 +44.51225612806403,0.7418709354677339,37.41870935467734,33.53909500657964,38.19571908281491,1526.4038150622491 +44.54227113556779,0.7423711855927964,37.42371185592796,33.38161425949853,38.91998742768469,1582.4172149290127 +44.57228614307154,0.7428714357178589,37.42871435717859,33.636608378963835,38.561665967476614,1554.9435093439477 +44.602301150575286,0.7433716858429215,37.433716858429214,33.78937624105403,38.62473893807291,1560.3176131380062 +44.63231615807904,0.743871935967984,37.43871935967984,33.4277679192965,38.685406768059735,1564.3872764732907 +44.66233116558279,0.7443721860930465,37.44372186093047,33.55582130813279,38.44403309344324,1545.5260705567478 +44.69234617308654,0.744872436218109,37.44872436218109,33.47764108352532,38.74472810510246,1568.5138278641778 +44.7223611805903,0.7453726863431716,37.45372686343172,33.836744774443986,38.457038995403245,1546.7335326202979 +44.75237618809405,0.745872936468234,37.45872936468234,33.53328952396242,38.477467419204835,1547.5931392595671 +44.7823911955978,0.7463731865932965,37.463731865932964,34.30819760057286,38.73622486258558,1569.8146541344477 +44.81240620310155,0.7468734367183592,37.46873436718359,33.58700679441639,39.14424055813823,1600.3897868755064 +44.8424212106053,0.7473736868434216,37.473736868434216,34.01350609316211,38.320882313202034,1536.7972380508113 +44.87243621810906,0.7478739369684841,37.478739369684845,34.09119937248449,38.74070185346109,1569.480552157187 +44.90245122561281,0.7483741870935467,37.48374187093547,34.42126729272388,38.66649780019843,1564.6506632958733 +44.93246623311656,0.7488744372186092,37.48874437218609,34.32429134768508,39.00995755322087,1590.8796249194154 +44.96248124062031,0.7493746873436717,37.49374687343672,34.24373536115249,38.87735793235497,1580.5826785134257 +44.99249624812406,0.7498749374687343,37.49874937468734,34.04126603102916,38.254179487597625,1531.6972050721188 +45.02251125562781,0.7503751875937968,37.503751875937965,34.069174933601765,38.803820877294015,1574.634197142143 +45.05252626313157,0.7508754377188593,37.508754377188595,34.65419564180636,38.451041359273596,1548.2402569291296 +45.08254127063532,0.751375687843922,37.51375687843922,33.967410501809425,38.66904050604554,1563.2703773970452 +45.112556278139074,0.7518759379689844,37.51875937968985,34.17977158590954,38.91026279125809,1582.937808806086 +45.14257128564282,0.7523761880940469,37.52376188094047,34.60176901986537,38.37127372889264,1541.5638842036162 +45.17258629314657,0.7528764382191095,37.5287643821911,34.12629284915485,38.29392477096103,1535.3560266633488 +45.20260130065033,0.753376688344172,37.53376688344172,34.90543116212701,38.75780847275211,1572.841476009511 +45.23261630815408,0.7538769384692345,37.538769384692344,34.83511285288742,38.31184082394479,1537.735929196567 +45.26263131565783,0.7543771885942971,37.543771885942974,34.881153155805,39.07810820643232,1597.5648947888626 +45.292646323161584,0.7548774387193596,37.548774387193596,34.191800102804756,38.51050844782617,1551.5684648495892 +45.32266133066533,0.7553776888444221,37.55377688844422,34.90402613542287,39.21277814005323,1607.5916735522912 +45.35267633816908,0.7558779389694847,37.55877938969485,35.01329171944643,38.59477721245344,1560.022943382983 +45.38269134567284,0.7563781890945472,37.56378189094547,35.25011654220732,38.84522982346512,1579.8770243508707 +45.41270635317659,0.7568784392196097,37.5687843921961,35.34129638193115,38.8617941828225,1581.7577670444646 +45.442721360680345,0.7573786893446722,37.57378689344672,34.90537305462992,38.3361436225278,1539.4771963315413 +45.472736368184094,0.7578789394697348,37.578789394697345,35.42809665534555,39.03934019317656,1595.30058027588 +45.50275137568784,0.7583791895947973,37.583791895947975,35.31717406173745,39.244995219405325,1611.6697198142876 +45.5327663831916,0.7588794397198598,37.5887943971986,35.39049226874428,39.07213052977235,1598.3944953734817 +45.56278139069535,0.7593796898449224,37.59379689844923,35.57045014869548,39.274820967315506,1614.529060828427 +45.5927963981991,0.7598799399699849,37.59879939969985,34.694113275941746,38.38793155228079,1543.1245835567374 +45.622811405702855,0.7603801900950474,37.60380190095047,35.44020954955783,38.45619244202397,1550.552009355498 +45.652826413206604,0.76088044022011,37.6088044022011,35.18448120281915,38.89236771456582,1583.0779755966855 +45.68284142071035,0.7613806903451725,37.613806903451724,34.91033034929305,38.54725959248438,1555.7432587973585 +45.71285642821411,0.761880940470235,37.618809404702354,35.388882427625816,39.21926871298079,1609.0881078288041 +45.74287143571786,0.7623811905952976,37.62381190595298,35.10902864474351,39.33530334372247,1617.7616141837714 +45.772886443221616,0.7628814407203601,37.6288144072036,35.84695890408306,38.504862012842196,1554.604338936079 +45.802901450725365,0.7633816908454226,37.63381690845423,35.85308660799146,39.21314828450672,1609.9511855803946 +45.832916458229114,0.7638819409704852,37.63881940970485,35.62919588855676,38.845789443215025,1581.2408151916072 +45.86293146573287,0.7643821910955477,37.64382191095548,35.931140313296005,38.85735538459043,1582.292140342077 +45.89294647323662,0.7648824412206102,37.6488244122061,35.29244794753874,39.011757536225275,1593.0440827293905 +45.92296148074037,0.7653826913456728,37.653826913456726,35.288478821617986,38.98108595756928,1590.3068874894282 +45.952976488244126,0.7658829414707353,37.658829414707355,35.22680222107976,38.676327251349676,1566.5360025929165 +45.982991495747875,0.7663831915957978,37.66383191595798,35.62977720194782,39.41177285426753,1625.3357539132132 +46.013006503251624,0.7668834417208604,37.6688344172086,35.95424264637433,38.6138548800721,1563.8974407096428 +46.04302151075538,0.7673836918459229,37.67383691845923,35.38640378414704,38.7296133924513,1570.77545056525 +46.07303651825913,0.7678839419709854,37.67883941970985,35.732635799389364,39.405705922553935,1624.854308528248 +46.10305152576288,0.7683841920960479,37.68384192096048,36.3094885210866,39.11180893914167,1602.6534448005557 +46.133066533266636,0.7688844422211105,37.688844422211105,36.02333856879948,39.123852923550096,1603.2105879145722 +46.163081540770385,0.769384692346173,37.693846923461734,36.49439766689979,38.816124637532326,1580.1295990100245 +46.19309654827414,0.7698849424712355,37.69884942471236,36.063021185564835,38.61870802628245,1563.8712405096999 +46.22311155577789,0.7703851925962981,37.70385192596298,36.07488671498039,39.4460732000348,1628.872798809516 +46.25312656328164,0.7708854427213606,37.70885442721361,36.08466381569041,38.623280894342656,1564.152604445128 +46.283141570785396,0.7713856928464231,37.71385692846423,36.11777935542045,38.76357111288312,1575.2144903399121 +46.313156578289146,0.7718859429714857,37.718859429714854,36.38445967875708,38.93030027170467,1589.304338407659 +46.343171585792895,0.7723861930965482,37.723861930965484,36.34238396994001,39.436833628416885,1628.109559835991 +46.37318659329665,0.7728864432216107,37.728864432216106,36.14326696337515,38.89558357004128,1586.087175081139 +46.4032016008004,0.7733866933466733,37.733866933466736,36.15628040744779,38.87196649732944,1583.517180570944 +46.43321660830415,0.7738869434717358,37.73886943471736,36.27521327828219,38.94111130368393,1589.5528210369712 +46.463231615807906,0.7743871935967983,37.74387193596798,36.00751586044394,38.69187127865872,1569.335591677624 +46.493246623311656,0.7748874437218609,37.74887443721861,36.33312270681887,38.60711841583804,1563.4170452494686 +46.52326163081541,0.7753876938469234,37.75387693846923,36.58038575036254,39.09916098473942,1602.2597038020053 +46.55327663831916,0.7758879439719859,37.75887943971986,36.19363803607578,39.04559771184382,1597.1867006693317 +46.58329164582291,0.7763881940970485,37.763881940970485,36.87247435786352,38.69020717319255,1570.6980949491706 +46.61330665332667,0.776888444222111,37.76888444222111,37.08833114028444,39.27049260638914,1616.4768867266575 +46.643321660830416,0.7773886943471735,37.77388694347174,36.636944127531734,39.30308360661512,1618.908300267805 +46.673336668334166,0.7778889444722361,37.77888944472236,36.84761033192248,38.83384896966159,1582.3807853838464 +46.70335167583792,0.7783891945972986,37.78389194597298,37.33777094965542,39.25040510828855,1616.1485672826984 +46.73336668334167,0.7788894447223611,37.78889444722361,36.405562038508016,39.51859790580548,1634.8820719402745 +46.76338169084542,0.7793896948474237,37.793896948474234,37.283271442763635,38.67654061569409,1571.414964548307 +46.79339669834918,0.7798899449724862,37.798899449724864,37.290017988726596,38.78732556319123,1579.685878412739 +46.823411705852926,0.7803901950975487,37.80390195097549,36.86604370962839,39.21783094036356,1612.569113749096 +46.85342671335668,0.7808904452226112,37.808904452226116,36.58793797619707,39.29339288072799,1617.8039434941736 +46.88344172086043,0.7813906953476738,37.81390695347674,37.36767541281931,39.41598908222708,1628.8934604388326 +46.91345672836418,0.7818909454727363,37.81890945472736,37.040453196425965,38.66148458071644,1569.2497346223875 +46.94347173586794,0.7823911955977988,37.82391195597799,36.90525659747054,39.603009806495564,1642.4290956425464 +46.97348674337169,0.7828914457228614,37.82891445722861,37.729677874895735,38.69990726421854,1573.784061392102 +47.00350175087544,0.7833916958479239,37.833916958479236,37.232923079857606,39.01029408727226,1596.6613765988236 +47.03351675837919,0.7838919459729864,37.838919459729865,37.36879585816972,39.12190567750051,1605.694247638454 +47.06353176588294,0.784392196098049,37.84392196098049,37.39429534118339,39.049066996152426,1599.9504282256262 +47.09354677338669,0.7848924462231115,37.84892446223112,37.43048130811175,39.542934650882756,1638.5238124534565 +47.12356178089045,0.785392696348174,37.85392696348174,37.86300066140132,38.85672219056471,1586.5465540823207 +47.1535767883942,0.7858929464732366,37.85892946473237,37.1485026965152,38.906111783218776,1588.3282658276828 +47.183591795897954,0.7863931965982991,37.86393196598299,37.12294227952272,39.148722177705906,1607.0031702958338 +47.2136068034017,0.7868934467233616,37.868934467233615,37.8187750549894,39.25035776515008,1616.7838158598356 +47.24362181090545,0.7873936968484242,37.873936968484244,38.193797584923246,39.416990272122284,1630.288575989281 +47.27363681840921,0.7878939469734867,37.87893946973487,37.71573280606465,38.98061590407436,1595.2911925773446 +47.30365182591296,0.7883941970985492,37.88394197098549,38.107431196984,38.98637549545001,1596.2055975861742 +47.33366683341671,0.7888944472236118,37.88894447223612,37.95536060943327,39.54783485804531,1640.016098223411 +47.363681840920464,0.7893946973486743,37.89394697348674,38.061946125738515,38.77645285173233,1579.9304727588258 +47.39369684842421,0.7898949474737368,37.89894947473737,37.79983912182572,39.16026887341051,1609.5989362393839 +47.42371185592796,0.7903951975987994,37.903951975987994,38.141706731449105,39.412153043297835,1629.7775094468523 +47.45372686343172,0.7908954477238619,37.908954477238616,38.46395010174493,39.610511378875586,1646.2045324511655 +47.48374187093547,0.7913956978489244,37.913956978489246,38.18547828931501,39.114019958158316,1606.62712825902 +47.513756878439224,0.791895947973987,37.91895947973987,38.10231631860593,39.27231725458151,1618.9844692619422 +47.543771885942974,0.7923961980990495,37.9239619809905,38.21755763549088,39.03228966957804,1600.4937306217691 +47.57378689344672,0.792896448224112,37.92896448224112,38.6962745604113,39.07425820096642,1604.6775838830363 +47.60380190095048,0.7933966983491745,37.93396698349174,37.963559255437495,38.87169860613949,1587.1642079376481 +47.63381690845423,0.7938969484742371,37.93896948474237,38.49782252431556,38.79980252204185,1582.9160412441424 +47.66383191595798,0.7943971985992996,37.943971985992995,38.4472085055195,39.42518651435288,1631.5927120551244 +47.693846923461734,0.7948974487243621,37.94897448724362,38.876010550486704,39.11977834493519,1608.572764393854 +47.723861930965484,0.7953976988494247,37.95397698849425,37.96804862741904,39.668315994810385,1650.3879901943826 +47.75387693846923,0.7958979489744872,37.95897948974487,38.221200450189876,39.66645309235411,1649.8774802766802 +47.78389194597299,0.7963981990995497,37.9639819909955,38.95585347525465,39.11898195066203,1609.177998700568 +47.81390695347674,0.7968984492246123,37.96898449224612,38.1473637217707,38.80388190875606,1582.8710425496315 +47.843921960980495,0.7973986993496748,37.97398699349675,38.83577956598596,39.741084675541266,1657.4764276102262 +47.873936968484244,0.7978989494747373,37.978989494747374,39.052743740856606,39.058952643583176,1603.9683586084498 +47.903951975987994,0.7983991995997999,37.983991995998,38.44759075857833,39.23706647614062,1616.7631749631723 +47.93396698349175,0.7988994497248624,37.988994497248626,38.81773177279086,39.35641007386351,1627.3424301356072 +47.9639819909955,0.7993996998499249,37.99399699849925,38.837439601023526,38.97665545014792,1596.9444310509614 +47.99399699849925,0.7998999499749875,37.99899949974987,38.78597007889073,39.258437677463995,1619.4638117653406 +48.024012006003005,0.80040020010005,38.0040020010005,38.711651445858166,39.287064486651005,1621.5552691102564 +48.054027013506754,0.8009004502251125,38.00900450225112,39.295774247279844,39.80941404962479,1663.9188724041944 +48.084042021010504,0.8014007003501751,38.01400700350175,38.66596828012403,39.31630983616498,1623.9463351782829 +48.11405702851426,0.8019009504752376,38.019009504752376,38.674596138681935,39.428373467274106,1632.0447654837114 +48.14407203601801,0.8024012006003001,38.024012006003005,38.78654455963135,39.03128972272529,1601.2774590411072 +48.17408704352176,0.8029014507253627,38.02901450725363,39.64848116101346,39.78914988926807,1662.7941264803283 +48.204102051025515,0.8034017008504252,38.03401700850425,38.77976632527489,38.89737992147985,1590.751545524139 +48.234117058529264,0.8039019509754877,38.03901950975488,39.72383412368912,38.963662277615306,1598.3843036234528 +48.26413206603302,0.8044022011005502,38.0440220110055,39.32875178425193,39.75198342026126,1659.7654587058723 +48.29414707353677,0.8049024512256128,38.049024512256125,39.358688547379465,39.71128863206796,1655.7996955910683 +48.32416208104052,0.8054027013506753,38.054027013506754,39.35507113338688,38.93678103276421,1595.1571362733828 +48.354177088544276,0.8059029514757378,38.05902951475738,39.87608134109324,39.46774850585468,1638.3093447018364 +48.384192096048025,0.8064032016008004,38.064032016008,39.01994458168882,39.2566273677365,1619.3893035144824 +48.414207103551774,0.8069034517258629,38.06903451725863,39.76150282845063,39.349814330264216,1628.042949127309 +48.44422211105553,0.8074037018509254,38.07403701850926,39.55716146786701,39.09115059472916,1607.7485699037406 +48.47423711855928,0.807903951975988,38.07903951975988,39.17712060362098,39.2708725927709,1621.2053015384881 +48.50425212606303,0.8084042021010505,38.084042021010504,39.870433626536,39.357137023342865,1629.393446966932 +48.534267133566786,0.808904452226113,38.08904452226113,39.848867270822474,39.55966546453837,1645.0292629132773 +48.564282141070535,0.8094047023511756,38.094047023511756,39.44752431428168,39.034767001389454,1603.1716039193773 +48.59429714857429,0.8099049524762381,38.09904952476238,40.0980840417807,39.54074807847992,1644.643065236619 +48.62431215607804,0.8104052026013006,38.10405202601301,39.81800142335889,39.83680558315659,1666.628036252252 +48.65432716358179,0.8109054527263632,38.10905452726363,40.1206781297789,39.2479799226775,1620.9749016524117 +48.68434217108555,0.8114057028514257,38.11405702851425,40.14872105764847,39.13828309413111,1612.5480644545987 +48.714357178589296,0.8119059529764882,38.11905952976488,40.394146216283445,39.76908983405368,1663.1095625337111 +48.744372186093045,0.8124062031015508,38.124062031015505,39.932505406154505,39.28631107589898,1623.6127109726435 +48.7743871935968,0.8129064532266133,38.129064532266135,40.23813255449733,39.70357064774204,1657.6736371522363 +48.80440220110055,0.8134067033516758,38.13406703351676,39.740029765333226,39.745416092410935,1659.6839689719272 +48.8344172086043,0.8139069534767384,38.13906953476739,40.648057206266664,39.329263944500184,1628.5919799409285 +48.86443221610806,0.8144072036018009,38.14407203601801,40.05588901461704,39.78212138697239,1663.2891697603575 +48.894447223611806,0.8149074537268634,38.14907453726863,40.09158728258854,39.13311623750278,1612.283661716577 +48.92446223111556,0.815407703851926,38.15407703851926,40.76325043662872,39.22583416999678,1621.1455927473007 +48.95447723861931,0.8159079539769885,38.159079539769884,40.49609061772842,39.344415579890516,1629.0325436815117 +48.98449224612306,0.816408204102051,38.16408204102051,40.95628158706934,39.902025950770636,1675.0734374788613 +49.01450725362682,0.8169084542271134,38.169084542271136,40.09409089025596,39.23958901848241,1620.4650102607325 +49.04452226113057,0.817408704352176,38.17408704352176,40.940748070507084,39.15651898583338,1615.200084322245 +49.074537268634316,0.8179089544772385,38.17908954477239,40.44215737509298,39.38035891337026,1632.5740124080623 +49.10455227613807,0.818409204602301,38.18409204602301,40.25150640303773,39.74084133959861,1660.3934712852326 +49.13456728364182,0.8189094547273637,38.18909454727364,40.944047061175304,39.59787928633859,1650.1443880271956 +49.16458229114557,0.8194097048524261,38.19409704852426,40.6898585723141,39.4835287434614,1641.2298415133464 +49.19459729864933,0.8199099549774886,38.199099549774886,41.159069370645724,39.88658474380705,1673.2981485563105 +49.22461230615308,0.8204102051025512,38.204102051025515,40.39843362635331,39.784041773779435,1663.6895928644744 +49.25462731365683,0.8209104552276137,38.20910455227614,41.41503903931421,39.562890760995906,1648.653580724301 +49.28464232116058,0.8214107053526762,38.21410705352676,41.19775848414307,39.48544794316685,1641.8719165543532 +49.31465732866433,0.8219109554777388,38.21910955477739,40.78348924476472,39.72921463344652,1660.474911398035 +49.34467233616809,0.8224112056028013,38.22411205602801,40.72051720697714,39.29897496894242,1626.023097243059 +49.37468734367184,0.8229114557278638,38.229114557278635,41.49198825501071,39.17983989621817,1618.9640052551126 +49.40470235117559,0.8234117058529264,38.234117058529264,41.5247124766924,40.00765418399246,1684.1237902897176 +49.43471735867934,0.8239119559779889,38.239119559779894,41.06537737853484,39.54404383445514,1646.77575352744 +49.46473236618309,0.8244122061030514,38.24412206103052,41.69296231788456,39.08965032577147,1611.8987836319309 +49.49474737368684,0.824912456228114,38.24912456228114,41.78889601317507,39.65400116546369,1656.8716279417656 +49.5247623811906,0.8254127063531765,38.25412706353177,41.69953252817713,39.37001269369823,1633.5041393799675 +49.55477738869435,0.825912956478239,38.25912956478239,41.58845692044815,39.131825832419516,1614.5030696496183 +49.584792396198104,0.8264132066033016,38.264132066033014,41.85796791473115,39.557838940010015,1649.3182042762114 +49.61480740370185,0.8269134567283641,38.26913456728364,41.84609372383386,39.392737299426045,1635.7856532738633 +49.6448224112056,0.8274137068534266,38.274137068534266,41.913685781573925,39.874118218374186,1674.4779905341195 +49.67483741870936,0.8279139569784892,38.27913956978489,41.84156791230352,39.19253142650998,1620.0617104587677 +49.70485242621311,0.8284142071035517,38.28414207103552,41.58666273594976,39.71483729590932,1660.93634427801 +49.73486743371686,0.8289144572286142,38.28914457228614,41.722704055818866,40.01327846656767,1685.4610236499561 +49.764882441220614,0.8294147073536767,38.29414707353677,41.27938402517694,39.56791593042118,1648.776693703195 +49.79489744872436,0.8299149574787393,38.29914957478739,42.162546005992226,39.29662026673862,1629.1890540537024 +49.82491245622811,0.8304152076038018,38.30415207603802,42.21843552260431,39.91145984904194,1678.3111335365732 +49.85492746373187,0.8309154577288643,38.309154577288645,42.16651708364046,39.51469168477188,1646.588239672337 +49.88494247123562,0.8314157078539269,38.31415707853927,42.390392660983665,39.94063784638283,1680.6276930240674 +49.914957478739375,0.8319159579789894,38.3191595797899,41.925528722453805,39.400993014718765,1636.7965996994608 +49.944972486243124,0.8324162081040519,38.32416208104052,41.72276272295169,39.79846627625453,1667.593116474423 +49.97498749374687,0.8329164582291145,38.32916458229114,41.6703530534279,39.71578346029548,1661.409240874456 +50.00500250125063,0.833416708354177,38.33416708354177,42.06913920271719,39.19497015802196,1620.7641142616003 +50.03501750875438,0.8339169584792395,38.339169584792394,41.93300581034569,39.93930473390319,1679.641358034656 +50.06503251625813,0.8344172086043021,38.344172086043024,42.29633020469431,39.37682852332207,1635.586464795993 +50.095047523761885,0.8349174587293646,38.349174587293646,42.23743549514084,39.20801400616318,1621.9434772896493 +50.125062531265634,0.8354177088544271,38.354177088544276,42.77715128834033,39.90244770347252,1678.4820731986777 +50.15507753876938,0.8359179589794897,38.3591795897949,41.925807295788644,40.08215416823882,1690.9326733748742 +50.18509254627314,0.8364182091045522,38.36418209104552,42.94670292592407,39.53097147725285,1649.07200723525 +50.21510755377689,0.8369184592296147,38.36918459229615,42.084318819880124,39.5628053575695,1650.1040344157973 +50.24512256128064,0.8374187093546773,38.37418709354677,42.822881652049524,39.50956463178036,1647.148389537827 +50.275137568784395,0.8379189594797398,38.379189594797396,42.89873717076104,40.2118985047421,1703.198187878558 +50.305152576288144,0.8384192096048023,38.384192096048025,42.69680519307792,39.95789613739502,1682.8608357383703 +50.3351675837919,0.8389194597298649,38.38919459729865,42.564538257986186,39.754926320910315,1666.3386632721076 +50.36518259129565,0.8394197098549274,38.39419709854927,42.40711268251267,40.050868865679845,1689.669426464761 +50.3951975987994,0.8399199599799899,38.3991995997999,43.32521873117283,40.19089387743794,1702.2961461106322 +50.425212606303155,0.8404202101050524,38.40420210105053,42.82768980504935,40.16863724294149,1699.5483258035829 +50.455227613806905,0.840920460230115,38.40920460230115,43.2653986905896,39.69667286810319,1662.9944810439215 +50.485242621310654,0.8414207103551775,38.414207103551774,43.439812944967116,39.2753216655507,1629.7537313514067 +50.51525762881441,0.84192096048024,38.419209604802404,42.987751502327896,39.588070983292845,1653.411214184825 +50.54527263631816,0.8424212106053026,38.42421210605303,43.53895305536594,39.39903245853698,1639.6402249320847 +50.57528764382191,0.8429214607303651,38.42921460730365,43.35766830342811,39.70815022205791,1664.377384527623 +50.605302651325665,0.8434217108554276,38.43421710855428,42.797912968374185,39.64919998992408,1658.1350120769155 +50.635317658829415,0.8439219609804902,38.4392196098049,43.47267086014191,39.31168283245527,1632.5480990870456 +50.66533266633317,0.8444222111055527,38.444222111055524,43.54749039969056,39.84823427125108,1675.716856765643 +50.69534767383692,0.8449224612306152,38.44922461230615,43.44229124573878,39.33930695236647,1635.3973103526446 +50.72536268134067,0.8454227113556778,38.454227113556776,43.24728766457851,39.36804378673688,1636.6428487836063 +50.755377688844426,0.8459229614807403,38.459229614807406,43.8800481571899,40.250805315808385,1708.6896607515062 +50.785392696348175,0.8464232116058028,38.46423211605803,43.21466811710916,40.285020099424315,1709.3585640550561 +50.815407703851925,0.8469234617308654,38.46923461730866,44.033044310172315,39.58811037684931,1655.475863003283 +50.84542271135568,0.8474237118559279,38.47423711855928,43.36022976431111,40.197281688909776,1703.3781420135542 +50.87543771885943,0.8479239619809904,38.4792396198099,43.53965108203799,39.419044497308434,1641.5395629957106 +50.90545272636318,0.848424212106053,38.48424212106053,43.380443915386714,39.45641856939843,1644.4626701520588 +50.935467733866936,0.8489244622311155,38.489244622311155,44.059611536645534,40.19837833605484,1704.1593007724566 +50.965482741370685,0.849424712356178,38.49424712356178,43.41585384189637,40.04388881398506,1690.4423244573031 +50.99549774887444,0.8499249624812406,38.49924962481241,43.63089036668647,39.4516784298874,1644.5683177126398 +51.02551275637819,0.8504252126063031,38.50425212606303,44.37128350960178,39.76794205162871,1670.855424308646 +51.05552776388194,0.8509254627313656,38.50925462731366,43.6874876251822,39.45546201556843,1644.7010724046954 +51.0855427713857,0.8514257128564282,38.51425712856428,44.397288891956165,39.74021578053923,1668.97787435594 +51.115557778889446,0.8519259629814907,38.51925962981491,44.31921660740716,40.00199003851619,1689.5064613703512 +51.145572786393195,0.8524262131065532,38.524262131065534,43.8979539756072,40.18352630102596,1703.1911843963412 +51.17558779389695,0.8529264632316157,38.529264632316156,44.177740844976405,39.39532676090487,1640.9267450318855 +51.2056028014007,0.8534267133566783,38.534267133566786,44.358856743518714,39.80148198790921,1673.5086305981793 +51.23561780890445,0.8539269634817408,38.53926963481741,44.24098779488026,39.62723401623896,1659.3752248946892 +51.26563281640821,0.8544272136068033,38.54427213606803,44.79821438738274,40.36840930594167,1719.9833339589238 +51.295647823911956,0.8549274637318659,38.54927463731866,44.79151400492838,39.78258950011747,1672.613160857681 +51.32566283141571,0.8554277138569284,38.55427713856928,44.53468246001004,40.39732679332992,1721.6878440020732 +51.35567783891946,0.8559279639819909,38.559279639819906,44.22668669538929,39.714642290133696,1665.9800683149047 +51.38569284642321,0.8564282141070535,38.564282141070535,44.268724132973844,40.09194591455299,1696.291510931296 +51.41570785392697,0.856928464232116,38.56928464232116,44.58983557532973,39.869776483008074,1679.3504753174795 +51.44572286143072,0.8574287143571785,38.57428714357179,44.213267036316566,39.707641968519056,1665.860673752346 +51.475737868934466,0.8579289644822411,38.57928964482241,44.7473536753015,40.36331818539999,1719.1279669546682 +51.50575287643822,0.8584292146073036,38.58429214607304,44.44153435775308,40.27446404021736,1711.8688745218926 +51.53576788394197,0.8589294647323661,38.58929464732366,45.11745672246184,40.18626850852803,1705.7421246145097 +51.56578289144572,0.8594297148574287,38.594297148574285,44.485088511912934,39.84448176683791,1677.0996622359226 +51.59579789894948,0.8599299649824912,38.599299649824914,45.16284490433842,40.021472472804774,1692.4789368689976 +51.62581290645323,0.8604302151075537,38.60430215107554,44.64460608119674,40.33730938296728,1717.2377175285055 +51.65582791395698,0.8609304652326163,38.60930465232616,45.22816480003632,39.80466125770845,1674.8960280988215 +51.68584292146073,0.8614307153576788,38.61430715357679,45.21899819640506,39.733447871028076,1669.790757123808 +51.71585792896448,0.8619309654827413,38.61930965482741,44.86904775144827,40.20116995653805,1706.8133438650057 +51.74587293646824,0.8624312156078039,38.62431215607804,45.15783618397317,40.41228043174639,1723.5028509269482 +51.77588794397199,0.8629314657328664,38.62931465732866,44.98475002909315,39.839424139796236,1678.1440937777031 +51.80590295147574,0.8634317158579289,38.63431715857929,45.0927958952886,40.257082068741866,1711.372542472555 +51.83591795897949,0.8639319659829914,38.639319659829916,44.93860501886042,40.05608573901296,1695.0155765690824 +51.86593296648324,0.864432216108054,38.64432216108054,44.858467258040946,40.37410045616163,1719.9041970550406 +51.89594797398699,0.8649324662331165,38.64932466233117,45.69709033633624,39.89724705216724,1684.0845441796528 +51.92596298149075,0.865432716358179,38.65432716358179,45.40026841225224,39.698265113805135,1666.775541048781 +51.9559779889945,0.8659329664832416,38.65932966483241,45.76793722800699,40.09345204569236,1699.582145494435 +51.985992996498254,0.8664332166083041,38.66433216608304,45.679688580576,40.18144968261703,1706.4381667742698 +52.016008004002,0.8669334667333666,38.669334667333665,45.5687989297652,40.370090950111646,1721.4825292690987 +52.04602301150575,0.8674337168584292,38.674337168584294,45.62131717002216,40.35644681857101,1720.7740787734226 +52.07603801900951,0.8679339669834917,38.67933966983492,46.08833664895218,39.97900934365856,1690.8160330196722 +52.10605302651326,0.8684342171085542,38.68434217108555,45.60985178994178,39.76075561162984,1672.6102469925045 +52.13606803401701,0.8689344672336168,38.68934467233617,45.305006109119965,39.65461852184187,1663.2025894093908 +52.166083041520764,0.8694347173586793,38.69434717358679,45.655012230607916,40.55280010912864,1736.2884730427224 +52.19609804902451,0.8699349674837418,38.69934967483742,45.74443631081773,40.40621307190297,1724.6792552111845 +52.22611305652826,0.8704352176088044,38.704352176088044,45.60327772303253,40.04529491485463,1695.1020791056046 +52.25612806403202,0.8709354677338669,38.709354677338666,46.362180699622975,40.4716726111979,1731.0035548564992 +52.28614307153577,0.8714357178589294,38.714357178589296,45.98680859055562,39.86190439651948,1681.9309131654989 +52.31615807903952,0.871935967983992,38.71935967983992,46.355239189796976,40.349316211115536,1720.9827747808306 +52.346173086543274,0.8724362181090545,38.72436218109054,45.75037154601624,40.39030450663253,1723.6398290543411 +52.37618809404702,0.872936468234117,38.72936468234117,46.562661232650996,39.93371469178443,1688.068808398283 +52.40620310155078,0.8734367183591796,38.73436718359179,46.57788158505976,40.34896681922517,1721.9240788111342 +52.43621810905453,0.8739369684842421,38.73936968484242,46.052148317337554,40.331134395120706,1718.9139410980238 +52.46623311655828,0.8744372186093046,38.744372186093045,45.99962529638991,40.602742468602344,1741.3763793735511 +52.496248124062035,0.8749374687343672,38.749374687343675,46.08577894285244,39.792376821561575,1675.7561286230593 +52.526263131565784,0.8754377188594297,38.7543771885943,46.76275242318256,39.91375108530399,1687.2792870388812 +52.55627813906953,0.8759379689844922,38.75937968984492,46.37227751506565,40.15954519944518,1706.4041001978715 +52.58629314657329,0.8764382191095547,38.76438219109555,46.58452792541562,40.06312218328293,1698.7930324497604 +52.61630815407704,0.8769384692346173,38.76938469234617,46.254221164120764,40.092769622304026,1700.1004184839906 +52.64632316158079,0.8774387193596798,38.774387193596795,46.48794932687073,40.62364495209961,1743.4823558818182 +52.676338169084545,0.8779389694847423,38.779389694847424,47.147416227991506,40.35877113996038,1723.1938224647304 +52.706353176588294,0.8784392196098049,38.78439219609805,47.065695495909445,39.82076488856762,1680.2378372978592 +52.73636818409205,0.8789394697348674,38.789394697348676,46.7950255542957,39.819516867578656,1679.5790651008547 +52.7663831915958,0.8794397198599299,38.7943971985993,46.87535064977648,39.84147539096661,1681.7835365501478 +52.79639819909955,0.8799399699849925,38.79939969984993,47.06557245401276,40.07344372859907,1700.4390797669596 +52.826413206603306,0.880440220110055,38.80440220110055,46.9042532818668,39.88042106912083,1684.8788002285671 +52.856428214107055,0.8809404702351175,38.80940470235117,47.12432788441688,40.024771924901614,1696.4478426746723 +52.886443221610804,0.8814407203601801,38.8144072036018,46.66446990860577,40.30257390178793,1718.3863317437276 +52.91645822911456,0.8819409704852426,38.819409704852426,47.60464122614579,39.76394557098778,1676.6958933244557 +52.94647323661831,0.882441220610305,38.82441220610305,46.80711451228688,40.00960850298404,1695.2221586345995 +52.97648824412206,0.8829414707353677,38.82941470735368,47.25634706304495,40.49822601227039,1735.4480728475887 +53.006503251625816,0.8834417208604302,38.8344172086043,47.45803952450305,40.23761441286997,1714.1142674987598 +53.036518259129565,0.8839419709854927,38.83941970985493,47.023254071149545,40.33412432768192,1721.665504109046 +53.06653326663332,0.8844422211105553,38.84442221110555,47.90885005723788,40.501660390126396,1736.666996992667 +53.09654827413707,0.8849424712356178,38.84942471235618,47.460865319613355,40.20216844903243,1711.6908481582773 +53.12656328164082,0.8854427213606803,38.854427213606805,47.363973815122506,40.081746522766885,1701.374233251739 +53.156578289144576,0.8859429714857429,38.85942971485743,47.28894634682293,39.87427765628244,1684.9508939268242 +53.186593296648326,0.8864432216108054,38.86443221610806,47.43072632307756,40.51881620046913,1737.5620585960296 +53.216608304152075,0.8869434717358678,38.86943471735868,47.85732069814429,40.59994285298458,1744.9253691586666 +53.24662331165583,0.8874437218609305,38.8744372186093,47.972692098992454,40.52443551667937,1738.702890824871 +53.27663831915958,0.887943971985993,38.87943971985993,47.5596133011036,39.86661245749478,1685.316222704729 +53.30665332666333,0.8884442221110554,38.884442221110554,48.163571988798054,40.291318576578256,1719.8022487560775 +53.336668334167086,0.8889444722361179,38.889444722361176,47.854666937918935,39.91882422559707,1689.2297420586185 +53.366683341670836,0.8894447223611806,38.894447223611806,47.504647008294924,40.46533681205282,1732.847978942258 +53.39669834917459,0.889944972486243,38.89944972486243,48.30738039361106,40.503678677175486,1737.8919874461646 +53.42671335667834,0.8904452226113055,38.90445222611306,48.113844322675405,40.09657260099274,1704.0789361537888 +53.45672836418209,0.8909454727363681,38.90945472736368,48.5428719285208,40.41526575149286,1731.2481384420794 +53.48674337168585,0.8914457228614306,38.91445722861431,47.82363294408647,40.311710900621016,1721.4474694511773 +53.516758379189596,0.8919459729864931,38.91945972986493,48.49362533145807,39.843774130002515,1685.359846076227 +53.546773386693346,0.8924462231115557,38.924462231115555,48.37934368807767,40.05473912181763,1701.4882524124484 +53.5767883941971,0.8929464732366182,38.929464732366185,48.326176775049476,40.627071082591335,1747.8198425058831 +53.60680340170085,0.8934467233616807,38.93446723361681,48.35242348660589,40.178863370156805,1711.4324273705145 +53.6368184092046,0.8939469734867433,38.93946973486743,48.900762567387005,40.195365831119354,1713.6664695826048 +53.66683341670836,0.8944472236118058,38.94447223611806,48.80283035304206,40.53613018927277,1741.101080438427 +53.69684842421211,0.8949474737368683,38.94947473736868,49.03183271097722,40.221116867150165,1716.7692141240238 +53.72686343171586,0.8954477238619309,38.95447723861931,48.54216571260168,39.88828777905259,1688.5809901527887 +53.75687843921961,0.8959479739869934,38.959479739869934,48.70734718377043,40.08457752198936,1705.095711489858 +53.78689344672336,0.8964482241120559,38.964482241120564,48.61662257267649,40.068191612362,1702.8917324071917 +53.81690845422712,0.8969484742371185,38.969484742371186,48.52155573671716,40.02802468104763,1699.9084276700576 +53.84692346173087,0.897448724362181,38.97448724362181,48.77699740715613,39.92435874056335,1692.4470876405762 +53.87693846923462,0.8979489744872435,38.97948974487244,48.93855533136376,40.209024098297874,1714.7956529156884 +53.90695347673837,0.8984492246123061,38.98449224612306,49.22734143982283,40.27248608564575,1720.5938664806292 +53.93696848424212,0.8989494747373686,38.98949474737368,48.94914132501017,40.11832544218101,1707.6337891715891 +53.96698349174587,0.8994497248624311,38.99449724862431,49.41522344982553,40.88720063188263,1771.0257984635105 +53.99699849924963,0.8999499749874936,38.999499749874936,48.91516465658046,40.20915304199605,1715.531754330852 +54.02701350675338,0.9004502251125562,39.00450225112556,48.94616815971078,40.570113526231275,1744.6348505003389 +54.057028514257134,0.9009504752376187,39.00950475237619,48.919831755846744,40.029485950374976,1700.5575933647865 +54.08704352176088,0.9014507253626812,39.01450725362682,49.50441551583605,40.83501152173607,1767.4006287684265 +54.11705852926463,0.9019509754877438,39.01950975487744,49.04260115738388,40.47624215646494,1736.85933649999 +54.14707353676839,0.9024512256128063,39.02451225612806,49.45043469974456,40.7676943260873,1761.3539953189086 +54.17708854427214,0.9029514757378688,39.02951475737869,49.58775729686792,40.38106629799355,1729.8821867690988 +54.20710355177589,0.9034517258629314,39.034517258629315,49.25136132199784,40.647892692761,1751.4810068982943 +54.237118559279644,0.9039519759879939,39.03951975987994,49.0458622724769,40.65043733190261,1750.9658984974865 +54.26713356678339,0.9044522261130564,39.04452226113057,49.9694415398599,40.617860777752114,1750.1194194236969 +54.29714857428714,0.904952476238119,39.04952476238119,49.237570574349064,40.02755061100597,1701.5118939930346 +54.3271635817909,0.9054527263631815,39.05452726363181,49.89754389082078,39.998185720107344,1700.213609710867 +54.35717858929465,0.905952976488244,39.05952976488244,49.26570605587577,40.33670008090439,1726.2795031762462 +54.3871935967984,0.9064532266133066,39.064532266133064,50.10149038218751,40.124427353968585,1710.8966020870291 +54.417208604302154,0.9069534767383691,39.06953476738369,49.95900590448431,40.022780812629954,1702.670640467231 +54.4472236118059,0.9074537268634316,39.074537268634316,49.66565940949975,40.51830844749697,1741.2465747873553 +54.47723861930966,0.9079539769884942,39.079539769884946,49.62268272367155,40.78421107874452,1763.153254404817 +54.50725362681341,0.9084542271135567,39.08454227113557,49.76898436683456,40.17913141624163,1714.7465468700925 +54.53726863431716,0.9089544772386192,39.08954477238619,49.66047193275153,40.94823026299414,1776.3017499006655 +54.567283641820914,0.9094547273636818,39.09454727363682,50.227914955925854,40.15423207632407,1713.5870071069487 +54.597298649324664,0.9099549774887443,39.09954977488744,49.882708067738214,40.35516010431662,1728.3484669321754 +54.62731365682841,0.9104552276138068,39.104552276138065,49.81010515201492,40.615713627227755,1749.5445964062783 +54.65732866433217,0.9109554777388694,39.109554777388695,49.89808053997236,40.20491663025359,1716.9439881480098 +54.68734367183592,0.9114557278639319,39.11455727863932,50.104830233089544,40.60440759199329,1749.5893150979914 +54.71735867933967,0.9119559779889944,39.11955977988995,50.66148961732152,40.25412758452337,1722.1721674217088 +54.747373686843424,0.9124562281140569,39.12456228114057,50.316788483188226,40.34683649963187,1728.6019671038473 +54.777388694347174,0.9129564782391195,39.1295647823912,50.56115839708324,40.48931494319271,1740.8477549284376 +54.80740370185093,0.913456728364182,39.13456728364182,50.499216968526476,40.95697041093463,1778.8106801495715 +54.83741870935468,0.9139569784892445,39.139569784892444,50.746371567484104,41.015100225012404,1784.1730372875036 +54.86743371685843,0.9144572286143071,39.144572286143074,50.78338948299764,40.36066018283144,1731.3469903562504 +54.897448724362185,0.9149574787393696,39.149574787393696,50.560800452807726,40.6795610189889,1756.178723411756 +54.927463731865934,0.9154577288644321,39.15457728864432,50.71941822172434,40.21069460103268,1718.4223248096357 +54.957478739369684,0.9159579789894947,39.15957978989495,50.76531141189553,40.164278093527656,1715.156123880186 +54.98749374687344,0.9164582291145572,39.16458229114557,50.45234141728159,40.11344324359355,1710.241982068197 +55.01750875437719,0.9169584792396197,39.16958479239619,51.36099164759406,40.803189386556504,1768.2885760587385 +55.04752376188094,0.9174587293646823,39.17458729364682,50.60250476165916,40.679587709837925,1756.9421573512911 +55.077538769384695,0.9179589794897448,39.17958979489745,51.058944246953054,40.39022278759645,1733.5593654714871 +55.107553776888444,0.9184592296148073,39.184592296148075,51.46300010519005,40.40070434044474,1736.107420489143 +55.1375687843922,0.9189594797398699,39.1895947973987,50.79698261838366,41.01508453732851,1784.2757441489775 +55.16758379189595,0.9194597298649324,39.19459729864933,51.38068225351493,40.2129277406554,1720.6173447943431 +55.1975987993997,0.9199599799899949,39.19959979989995,51.25819499579234,40.9899403977527,1783.638684765399 +55.227613806903456,0.9204602301150575,39.20460230115057,51.48552656991699,40.80837390257116,1769.219605016317 +55.257628814407205,0.92096048024012,39.2096048024012,51.30215574917338,40.88529598920884,1775.0108331278714 +55.287643821910955,0.9214607303651825,39.214607303651825,51.94018244209658,40.440814018610766,1739.4975597620348 +55.31765882941471,0.9219609804902451,39.21960980490245,51.769344872456124,40.626670547647336,1754.8603653533069 +55.34767383691846,0.9224612306153076,39.22461230615308,51.27328349594183,40.38302660024598,1733.8438787963903 +55.37768884442221,0.9229614807403701,39.2296148074037,51.94683006841965,40.31304677649622,1729.904197662735 +55.407703851925966,0.9234617308654326,39.23461730865433,51.929374249661315,41.08796817865272,1793.0091062956383 +55.437718859429715,0.9239619809904952,39.23961980990495,52.200305788358634,40.98752889788586,1784.8303062772973 +55.46773386693347,0.9244622311155577,39.24462231115558,52.008336055598136,40.61204257516183,1753.4785023120944 +55.49774887443722,0.9249624812406202,39.2496248124062,51.68699260266331,40.91913290892993,1778.748036834659 +55.52776388194097,0.9254627313656828,39.254627313656826,51.59569463524209,40.85199780385756,1772.6795275137063 +55.55777888944473,0.9259629814907453,39.259629814907456,51.606989293126404,40.51810678016402,1745.228561686067 +55.587793896948476,0.9264632316158078,39.26463231615808,51.5629090725188,40.39285762237023,1735.0149534897355 +55.617808904452225,0.9269634817408704,39.2696348174087,52.44476432508994,41.145116713863985,1798.1434941853408 +55.64782391195598,0.9274637318659329,39.27463731865933,52.226011154965846,40.47707880908451,1743.1842807150745 +55.67783891945973,0.9279639819909954,39.27963981990995,51.72328212536313,40.41636110977013,1737.6648797472626 +55.70785392696348,0.928464232116058,39.28464232116058,51.79266879375414,40.34346602638247,1731.2619202410706 +55.73786893446724,0.9289644822411205,39.289644822411205,52.642022671613795,40.95168376013938,1782.793616648387 +55.767883941970986,0.929464732366183,39.294647323661835,52.7355281882136,40.9101370226383,1779.329559347705 +55.79789894947474,0.9299649824912456,39.29964982491246,52.280509730570195,40.69424412690909,1761.4332356864754 +55.82791395697849,0.9304652326163081,39.30465232616308,52.010045222590186,40.670303436581506,1759.0841995635838 +55.85792896448224,0.9309654827413706,39.30965482741371,52.78286006386579,40.50809960948133,1747.1849337975782 +55.887943971986,0.9314657328664332,39.31465732866433,52.342598501556175,40.63280603436098,1755.7351600125444 +55.91795897948975,0.9319659829914957,39.319659829914954,52.39975899368787,40.60319838924172,1754.3118507131933 +55.947973986993496,0.9324662331165582,39.324662331165584,52.29810811460293,41.24184406143142,1805.9426036183715 +55.97798899449725,0.9329664832416208,39.329664832416206,52.28864514272588,40.519378834115635,1747.3286216789386 +56.008004002001,0.9334667333666833,39.33466733366683,53.19067108889828,40.88856353875732,1778.5840604044536 +56.03801900950475,0.9339669834917458,39.33966983491746,52.91531675877242,41.17386797134089,1802.0210961230514 +56.06803401700851,0.9344672336168084,39.34467233616809,52.63296991366922,40.55473413432367,1750.134532339802 +56.09804902451226,0.9349674837418709,39.34967483741871,52.62032798798848,40.690138951709265,1760.992629979161 +56.12806403201601,0.9354677338669334,39.35467733866933,52.89688835291847,40.69794968466137,1762.1758142037568 +56.15807903951976,0.9359679839919959,39.35967983991996,52.97394263552548,40.682866846863604,1761.5717244944308 +56.18809404702351,0.9364682341170585,39.364682341170585,52.697274760141504,40.37709449877993,1735.7824034993337 +56.21810905452727,0.936968484242121,39.36968484242121,53.57678137354941,40.86231171727214,1776.929080894418 +56.24812406203102,0.9374687343671835,39.37468734367184,53.34655286763365,40.37793396292973,1737.694267252807 +56.27813906953477,0.9379689844922461,39.37968984492246,52.81456695524439,41.27513961195011,1810.1466738692013 +56.30815407703852,0.9384692346173086,39.38469234617308,53.50036998223481,40.951898434808754,1784.6063139874607 +56.33816908454227,0.9389694847423711,39.38969484742371,52.92723999580796,41.29745962622298,1812.2420401367146 +56.36818409204602,0.9394697348674337,39.394697348674335,53.53493439255438,41.09631956619628,1796.8795688463333 +56.39819909954978,0.9399699849924962,39.399699849924964,53.971713198562476,40.93619037694532,1784.106194532952 +56.42821410705353,0.9404702351175587,39.40470235117559,53.10911507058908,41.08919545740702,1795.3504550285425 +56.45822911455728,0.9409704852426213,39.409704852426216,53.23751128060188,40.99641161058481,1787.7618151189508 +56.48824412206103,0.9414707353676838,39.41470735367684,54.17927678680205,41.15529305577066,1802.5391562022203 +56.51825912956478,0.9419709854927463,39.41970985492746,54.09689882210764,41.340209736957114,1817.5272899413383 +56.54827413706854,0.9424712356178089,39.42471235617809,54.2747380503925,41.32069055760694,1816.8932560551902 +56.57828914457229,0.9429714857428714,39.42971485742871,53.626156535934534,40.6699773156235,1761.3144496043922 +56.60830415207604,0.9434717358679339,39.434717358679336,54.122401141723415,40.92955649274488,1783.6380650670633 +56.638319159579794,0.9439719859929965,39.439719859929966,53.59145016838663,40.5752143832468,1753.647502009155 +56.66833416708354,0.944472236118059,39.44472236118059,53.81734294038761,41.124137303350814,1799.4865737857517 +56.69834917458729,0.9449724862431215,39.44972486243122,54.143182901838856,40.568054882755476,1754.4427980583612 +56.72836418209105,0.9454727363681841,39.45472736368184,53.77166468421798,40.77970584090038,1771.502877088003 +56.7583791895948,0.9459729864932466,39.45972986493247,54.458842110156965,40.583676700388324,1756.5625293384749 +56.78839419709855,0.9464732366183091,39.46473236618309,54.500741195200916,41.36552216500782,1820.3572515061842 +56.818409204602304,0.9469734867433717,39.469734867433715,54.33958872326524,40.925367474453076,1783.698288161926 +56.84842421210605,0.9474737368684342,39.474737368684345,54.55862639534938,41.04056705945571,1794.2155453693165 +56.87843921960981,0.9479739869934967,39.47973986993497,54.72850717493536,41.30608957916378,1815.6754169698022 +56.90845422711356,0.9484742371185592,39.48474237118559,54.858952436392094,40.73574416157818,1769.2929574598877 +56.93846923461731,0.9489744872436218,39.48974487243622,54.04470207917738,40.54043425639658,1752.1894782436138 +56.968484242121065,0.9494747373686843,39.49474737368684,54.17546397322052,40.71426244878307,1766.1996726769514 +56.998499249624814,0.9499749874937468,39.499749874937464,54.29573456725357,41.110785375883644,1798.874513048786 +57.02851425712856,0.9504752376188094,39.504752376188094,54.674799446903435,40.74077859252494,1769.5745992347079 +57.05852926463232,0.9509754877438719,39.50975487743872,55.04375321226287,40.6056565184228,1758.9321828790223 +57.08854427213607,0.9514757378689344,39.514757378689346,55.25396323715977,41.36826410449676,1822.6319310235208 +57.11855927963982,0.951975987993997,39.51975987993997,55.3436412779977,40.513535317495695,1752.432517338617 +57.148574287143575,0.9524762381190595,39.5247623811906,54.966418935326544,41.341632555630035,1819.637382763408 +57.178589294647324,0.952976488244122,39.52976488244122,55.00542968256985,41.284339223760774,1814.9167410273078 +57.20860430215108,0.9534767383691846,39.53476738369184,54.92638277568314,41.34101938551331,1819.5790802127146 +57.23861930965483,0.9539769884942471,39.53976988494247,54.78732783626803,40.531197703566285,1753.280612487222 +57.26863431715858,0.9544772386193096,39.544772386193095,55.54625495033432,41.267649630483895,1814.3966377884199 +57.298649324662335,0.9549774887443722,39.54977488744372,55.04014530235941,41.16215767147718,1804.6483925771754 +57.328664332166085,0.9554777388694347,39.55477738869435,55.73620646996026,40.99811548109172,1792.4744887300776 +57.358679339669834,0.9559779889944972,39.55977988994497,54.92613881321313,40.946387932181416,1786.4809354993365 +57.38869434717359,0.9564782391195598,39.5647823911956,54.965770378633344,41.50324195789764,1833.2651299900756 +57.41870935467734,0.9569784892446223,39.56978489244622,55.916812513325084,41.33350354678245,1821.1259808259795 +57.44872436218109,0.9574787393696848,39.57478739369685,55.09885475372901,41.2528039747136,1812.1911072412806 +57.478739369684845,0.9579789894947474,39.579789894947474,55.14243600391909,40.866169961100496,1780.9404065512165 +57.508754377188595,0.9584792396198099,39.5847923961981,55.159292643724726,41.4484376084013,1828.905270421667 +57.53876938469235,0.9589794897448723,39.589794897448726,55.6215249285568,41.14142647696699,1804.781556828927 +57.5687843921961,0.9594797398699348,39.59479739869935,56.115806523649674,40.80430245618971,1778.1277514324622 +57.59879939969985,0.9599799899949975,39.59979989994997,55.53979113717579,41.321975580073534,1818.651690605997 +57.628814407203606,0.96048024012006,39.6048024012006,55.781718741743646,41.00586012340669,1794.006797577795 +57.658829414707355,0.9609804902451224,39.60980490245122,56.24827570434759,40.66901642336863,1767.405051985294 +57.688844422211105,0.961480740370185,39.61480740370185,56.05343726934358,41.272560833732825,1815.6576316188662 +57.71885942971486,0.9619809904952475,39.619809904952476,55.66977112519236,41.557374146927465,1839.1104201538546 +57.74887443721861,0.96248124062031,39.624812406203105,56.54684264247102,41.08350699093402,1801.893291076996 +57.77888944472236,0.9629814907453726,39.62981490745373,55.85129135542225,41.114971222827194,1802.8281038336838 +57.808904452226116,0.9634817408704351,39.63481740870435,56.526541584681034,41.44831012158415,1831.551428535234 +57.838919459729865,0.9639819909954976,39.63981990995498,56.45062937499805,41.48870642557707,1835.0351344295827 +57.86893446723362,0.9644822411205602,39.6448224112056,56.17351203200039,40.95555069124981,1790.5575039592661 +57.89894947473737,0.9649824912456227,39.649824912456225,56.0858948165048,41.12018074384937,1804.0261395749637 +57.92896448224112,0.9654827413706852,39.654827413706855,56.7221191362636,41.06991219386224,1801.024498744947 +57.95897948974488,0.9659829914957478,39.65982991495748,56.79552939140424,40.71207905755261,1772.0085132552301 +57.988994497248626,0.9664832416208103,39.6648324162081,56.35929692443453,40.74690249862186,1773.0981045685055 +58.019009504752376,0.9669834917458728,39.66983491745873,56.602983968197755,41.35095262456008,1823.641723886671 +58.04902451225613,0.9674837418709354,39.67483741870935,57.01532562463105,40.87655732091852,1785.2501862984209 +58.07903951975988,0.9679839919959979,39.67983991995998,56.899941847217825,40.93048458453431,1789.5613921451124 +58.10905452726363,0.9684842421210604,39.684842421210604,56.29153079649562,40.828636719157764,1780.0964488100942 +58.13906953476739,0.968984492246123,39.68984492246123,57.05347507872125,41.56926182531203,1842.9484041160988 +58.169084542271136,0.9694847423711855,39.694847423711856,57.17945874641174,41.38287680737105,1826.906693390061 +58.19909954977489,0.969984992496248,39.69984992496248,56.670159588635485,41.03550590227765,1797.428329377844 +58.22911455727864,0.9704852426213106,39.70485242621311,56.95706559385795,41.43888856168115,1831.5929139476134 +58.25912956478239,0.9709854927463731,39.70985492746373,56.77896143473478,41.66850025584852,1850.363255345637 +58.28914457228615,0.9714857428714356,39.71485742871435,56.944902902421056,41.027401844553225,1797.3638261643046 +58.3191595797899,0.9719859929964981,39.71985992996498,57.322104154247185,41.600526551649466,1845.6736843401425 +58.349174587293646,0.9724862431215607,39.724862431215605,56.95372602794973,41.68515212765157,1852.0460038371473 +58.3791895947974,0.9729864932466232,39.729864932466235,57.13538364620462,41.32709801578467,1822.6178714615482 +58.40920460230115,0.9734867433716857,39.73486743371686,56.91214205553453,41.229796994815295,1814.4195661878964 +58.4392196098049,0.9739869934967483,39.73986993496749,57.736256123759496,41.69265998498556,1854.540246270525 +58.46923461730866,0.9744872436218108,39.74487243621811,57.65610095021885,41.679570019240145,1852.5058218294344 +58.49924962481241,0.9749874937468733,39.74987493746873,57.04799176117119,41.20464754189547,1812.2122799372917 +58.529264632316156,0.9754877438719359,39.75487743871936,57.66005353354734,41.2374869651942,1816.3649965094307 +58.55927963981991,0.9759879939969984,39.759879939969984,57.59031505421861,41.29844761107355,1821.1840682015802 +58.58929464732366,0.9764882441220609,39.76488244122061,57.411422582794124,40.7663550726283,1776.871937849484 +58.61930965482742,0.9769884942471235,39.769884942471236,58.15649589441451,41.22092751101485,1815.5199289523528 +58.64932466233117,0.977488744372186,39.77488744372186,57.48486597189265,40.97787085682566,1795.10618948307 +58.67933966983492,0.9779889944972485,39.77988994497249,58.19700200786173,41.658287037988245,1852.796655688751 +58.70935467733867,0.9784892446223111,39.78489244622311,57.54527787917432,41.43353560537126,1832.5547776195347 +58.73936968484242,0.9789894947473736,39.78989494747374,58.17885336965883,41.24096095778791,1817.446680604387 +58.76938469234617,0.9794897448724361,39.79489744872436,58.395599794664584,41.06356964802853,1803.8303733488513 +58.79939969984993,0.9799899949974987,39.799899949974986,57.77686070245393,40.94256969970597,1792.2092024585306 +58.82941470735368,0.9804902451225612,39.804902451225615,58.47471969831347,41.48986623373407,1838.922848283373 +58.85942971485743,0.9809904952476237,39.80990495247624,58.04061235758613,41.487115889790196,1837.5555469489082 +58.88944472236118,0.9814907453726863,39.81490745372686,57.876128372927894,41.289043188143125,1821.5253200382099 +58.91945972986493,0.9819909954977488,39.81990995497749,58.10843787818154,40.92507174701623,1791.177258265745 +58.94947473736869,0.9824912456228113,39.82491245622811,58.373560035390845,41.6276460645269,1850.3188917846521 +58.97948974487244,0.9829914957478738,39.829914957478735,58.41150381113046,41.53266261031637,1842.5148859326814 +59.00950475237619,0.9834917458729364,39.834917458729365,58.932570830949814,41.74282566099581,1860.6424665666068 +59.039519759879944,0.9839919959979989,39.83991995997999,58.85265188028972,41.40561038293177,1832.993713513609 +59.06953476738369,0.9844922461230614,39.84492246123062,58.272825675677176,41.0595542135778,1802.7511562273087 +59.09954977488744,0.984992496248124,39.84992496248124,58.677958643878625,41.00847690630085,1799.2153573438377 +59.1295647823912,0.9854927463731865,39.85492746373187,58.5726207604618,41.34829548967916,1826.9513769341413 +59.15957978989495,0.985992996498249,39.85992996498249,59.29860505794438,41.49696548956257,1841.0957751454405 +59.1895947973987,0.9864932466233116,39.864932466233114,58.95046235163333,41.07871711773715,1805.5987601947716 +59.219609804902454,0.9869934967483741,39.86993496748374,59.27155571440453,41.737235419799205,1860.9169489964218 +59.2496248124062,0.9874937468734366,39.874937468734366,58.935327439784466,41.68418366605956,1855.617248434771 +59.27963981990996,0.9879939969984992,39.87993996998499,58.630419166965744,41.308284971104165,1824.1386743332898 +59.30965482741371,0.9884942471235617,39.88494247123562,59.232631449711505,41.27679369873207,1822.6963161465771 +59.33966983491746,0.9889944972486242,39.88994497248624,59.583838748301325,41.061686156161436,1805.9919203332431 +59.369684842421215,0.9894947473736868,39.89494747373687,58.93218752100567,41.6676587074845,1854.884396081874 +59.399699849924964,0.9899949974987493,39.89994997498749,58.89063246083011,41.62113426858173,1850.1051675000076 +59.42971485742871,0.9904952476238118,39.90495247623812,59.19128386845091,41.440139526083655,1836.2280907806098 +59.45972986493247,0.9909954977488744,39.909954977488745,59.76314766137342,41.10383471580033,1809.680418136857 +59.48974487243622,0.9914957478739369,39.91495747873937,59.21467013095419,41.601014068113464,1849.683596685203 +59.51975987993997,0.9919959979989994,39.91995997999,59.58552446290967,41.70916744450059,1859.752562933256 +59.549774887443725,0.992496248124062,39.92496248124062,59.22883292189263,41.78222893050649,1864.9937351250728 +59.579789894947474,0.9929964982491245,39.92996498249124,59.4595938857544,41.69413503759627,1857.4420851198563 +59.60980490245123,0.993496748374187,39.93496748374187,59.64026958561942,41.461270278147,1838.3493492302293 +59.63981990995498,0.9939969984992496,39.939969984992494,60.06448087446113,41.6145212142538,1852.3533874180682 +59.66983491745873,0.9944972486243121,39.944972486243124,59.97027008258688,41.56835319308584,1848.6035580898947 +59.699849924962486,0.9949974987493746,39.949974987493746,60.01052920950829,41.228528890829395,1820.6025879192146 +59.729864932466235,0.9954977488744371,39.954977488744376,60.18967975971927,41.43375839519985,1837.2286159205405 +59.759879939969984,0.9959979989994997,39.959979989995,60.127878959295174,41.16199509624187,1815.4205311236626 +59.78989494747374,0.9964982491245622,39.96498249124562,60.49612222186456,41.104508192115375,1811.5499198848797 +59.81990995497749,0.9969984992496247,39.96998499249625,60.38307600093061,41.5392373735834,1846.6205564072256 +59.84992496248124,0.9974987493746873,39.97498749374687,59.8859614940081,41.395176444890325,1833.5681656189035 +59.879939969984996,0.9979989994997498,39.979989994997496,60.27545505045517,41.60582419551013,1852.3923913813603 +59.909954977488745,0.9984992496248123,39.984992496248125,60.64128725281364,41.03417487174509,1805.243615573362 +59.9399699849925,0.9989994997498749,39.98999499749875,59.90311523592349,41.7936070531997,1867.3360816309023 +59.96998499249625,0.9994997498749374,39.99499749874937,60.92187733886985,41.648351781821525,1857.4137160389475 +60.0,1.0,40.0,60.44699402212274,41.99757167831399,1884.9875281666293 diff --git a/tests/resources/data/exclude_edges.dot b/tests/resources/data/exclude_edges.dot new file mode 100644 index 00000000..7e4de036 --- /dev/null +++ b/tests/resources/data/exclude_edges.dot @@ -0,0 +1,3 @@ +strict digraph "" { + A -> B; +} diff --git a/tests/resources/data/include_edges.dot b/tests/resources/data/include_edges.dot new file mode 100644 index 00000000..7e4de036 --- /dev/null +++ b/tests/resources/data/include_edges.dot @@ -0,0 +1,3 @@ +strict digraph "" { + A -> B; +} From 05c9e9e6cc0ef25f6accbc36ef12f3b4c4c10bc0 Mon Sep 17 00:00:00 2001 From: Jake Newman Date: Wed, 24 Jun 2026 11:52:59 +0100 Subject: [PATCH 7/7] Score and tier based fitness --- causal_testing/__main__.py | 3 +- causal_testing/discovery/hill_climber.py | 53 +++++++++++++++++++----- causal_testing/main.py | 1 + 3 files changed, 46 insertions(+), 11 deletions(-) diff --git a/causal_testing/__main__.py b/causal_testing/__main__.py index 7c839330..c9740602 100644 --- a/causal_testing/__main__.py +++ b/causal_testing/__main__.py @@ -8,7 +8,7 @@ from pathlib import Path from causal_testing.testing.metamorphic_relation import generate_causal_tests -from causal_testing.discovery.hill_climber import evolve_dag +from causal_testing.discovery.hill_climber import evolve_dag, evaluate_fitness_tier, evaluate_fitness_score from .main import CausalTestingFramework, CausalTestingPaths, Command, parse_args, setup_logging @@ -48,6 +48,7 @@ def main() -> None: output_file=args.output, include_edges_file=args.include_edges, exclude_edges_file=args.exclude_edges, + fitness_function=evaluate_fitness_score if args.fitness_score else evaluate_fitness_tier, ) logging.info("Causal structure discovery completed successfully") return diff --git a/causal_testing/discovery/hill_climber.py b/causal_testing/discovery/hill_climber.py index 7dc95de8..412ed0cf 100644 --- a/causal_testing/discovery/hill_climber.py +++ b/causal_testing/discovery/hill_climber.py @@ -15,6 +15,7 @@ import rustworkx as rx import numpy as np import pandas as pd + from causal_testing.main import CausalTestingFramework from causal_testing.specification.causal_dag import CausalDAG from causal_testing.specification.scenario import Scenario @@ -144,25 +145,55 @@ def normalised_counts(test_results: pd.DataFrame) -> dict: return counts.sum(axis=0).to_dict() -def evaluate_fitness( - individual: CausalDAG, df: pd.DataFrame +def evaluate_fitness_tier( + individual: CausalDAG, df: pd.DataFrame, ) -> tuple[tuple[float, float, float], list[tuple[str, str]]]: """ - Evaluate the fitness of a given causal DAG by evaluating the corresponding test cases. + Evaluate the fitness of a given causal DAG by evaluating the corresponding test cases using a tier based + fitness metric. + :param individual: The candidate individual to evaluate. :param df: The data with which to evaluate the causal tests. - :returns: Tuple of the form (X, Y), where X is a triple containing the number of passing, inestimable, and failing + :returns: Tuple of the form (X, Y), where X is a triple containing the number of passing, failing, and error tests respectively, and Y is a list of failing edges. """ test_results = evaluate_tests(individual, df) counts = normalised_counts(test_results) + problem_tests = test_results.query("result != 'pass'") problem_edges = problem_tests[["treatment", "outcome"]].apply(tuple, axis=1).tolist() problem_edges.extend( problem_tests.query("expected_effect == 'NoEffect'")[["outcome", "treatment"]].apply(tuple, axis=1).tolist() ) - return (counts.get("pass", 0), counts.get("error", 0), counts.get("failure", 0)), problem_edges + fitness_values = (counts.get("pass", 0), -counts.get("failure", 0), -counts.get("error", 0)) + print(f"({fitness_values[0]}, {-fitness_values[1]}, {-fitness_values[2]})") + return fitness_values, problem_edges + + +def evaluate_fitness_score( + individual: CausalDAG, df: pd.DataFrame +) -> tuple[tuple[float, float, float], list[tuple[str, str]]]: + """ + Evaluate the fitness of a given causal DAG by evaluating the corresponding test cases using a score based + fitness metric. + + :param individual: The candidate individual to evaluate. + :param df: The data with which to evaluate the causal tests. + :returns: Tuple of the form (X, Y), where X is the fitness score, and Y is a list of failing edges. + """ + test_results = evaluate_tests(individual, df) + counts = normalised_counts(test_results) + + problem_tests = test_results.query("result != 'pass'") + problem_edges = problem_tests[["treatment", "outcome"]].apply(tuple, axis=1).tolist() + problem_edges.extend( + problem_tests.query("expected_effect == 'NoEffect'")[["outcome", "treatment"]].apply(tuple, axis=1).tolist() + ) + + new_fitness_values = counts.get("pass", 0) * 2 + counts.get("inestimable", 0) * 1 + print(" ", f"{new_fitness_values} / {sum(counts.values()) * 2}") + return new_fitness_values, problem_edges def evolve_dag( @@ -171,6 +202,7 @@ def evolve_dag( output_file: str = None, include_edges_file: str = None, exclude_edges_file: str = None, + fitness_function: callable = evaluate_fitness_tier, ) -> CausalDAG: """ Evolve a causal DAG for a given dataset. @@ -192,14 +224,17 @@ def evolve_dag( individual.add_nodes_from(df.columns) individual.add_edges_from(possible_edges) remove_cycles(individual, included_edges) - fitness_values, problem_edges = evaluate_fitness(individual, df) + fitness_values, problem_edges = fitness_function(individual, df) iterations = 100 iterations_without_improvement = 0 while problem_edges and iterations: iterations -= 1 - print(iterations, fitness_values, iterations_without_improvement) + if fitness_function == evaluate_fitness_tier: + print(iterations, f"({fitness_values[0]}, {-fitness_values[1]}, {-fitness_values[2]})", iterations_without_improvement) + else: + print(iterations, f"({fitness_values})", iterations_without_improvement) new_individual = individual.copy() for origin, dest in random.sample( @@ -212,9 +247,7 @@ def evolve_dag( # Want to bypass the cycle check of CausalDAG as we remove the cycles afterwards super(CausalDAG, new_individual).add_edge(origin, dest) remove_cycles(new_individual, included_edges) - new_fitness_values, new_problem_edges = evaluate_fitness(new_individual, df) - # assert sum(new_fitness_values) == sum(fitness_values) - print(" ", new_fitness_values) + new_fitness_values, new_problem_edges = fitness_function(new_individual, df) if new_fitness_values > fitness_values: fitness_values = new_fitness_values diff --git a/causal_testing/main.py b/causal_testing/main.py index 655cb79a..914d9e37 100644 --- a/causal_testing/main.py +++ b/causal_testing/main.py @@ -587,6 +587,7 @@ def parse_args(args: Optional[Sequence[str]] = None) -> argparse.Namespace: parser_discover.add_argument("-o", "--output", help="Path for output DAG file (.dot)", required=True) parser_discover.add_argument("-i", "--include-edges", help="Path to file containing edges to include", required=False) parser_discover.add_argument("-e", "--exclude-edges", help="Path to file containing edges to exclude", required=False) + parser_discover.add_argument("-s", "--fitness-score", help="Use fitness score instead of tiered fitness", action="store_true", default=False) parser_discover.add_argument("-v", "--verbose", help="Enable verbose logging", action="store_true", default=False) args = main_parser.parse_args(args)