diff --git a/DATASET.md b/DATASET.md
new file mode 100644
index 0000000000000000000000000000000000000000..fc90bcd0f86a85fef67ca443ac35d58abd42c05f
--- /dev/null
+++ b/DATASET.md
@@ -0,0 +1,34 @@
+### Dataset
+To download the datataset, run:
+```python
+# download the full dataset
+from huggingface_hub import snapshot_download
+snapshot_download(repo_id="osv5m/osv5m", local_dir="datasets/osv5m", repo_type='dataset')
+```
+
+and finally extract:
+```python
+import os
+import zipfile
+for root, dirs, files in os.walk("datasets/osv5m"):
+ for file in files:
+ if file.endswith(".zip"):
+ with zipfile.ZipFile(os.path.join(root, file), 'r') as zip_ref:
+ zip_ref.extractall(root)
+ os.remove(os.path.join(root, file))
+```
+
+You can also directly load the dataset using `load_dataset`:
+```python
+from datasets import load_dataset
+dataset = load_dataset('osv5m/osv5m', full=False)
+```
+where with `full` you can specify whether you want to load the complete metadata (default: `False`).
+
+If you only want to download the test set, you can run the script below:
+```python
+from huggingface_hub import hf_hub_download
+for i in range(5):
+ hf_hub_download(repo_id="osv5m/osv5m", filename=str(i).zfill(2)+'.zip', subfolder="images/test", repo_type='dataset', local_dir="datasets/osv5m")
+ hf_hub_download(repo_id="osv5m/osv5m", filename="README.md", repo_type='dataset', local_dir="datasets/osv5m")
+```
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000000000000000000000000000000..15c1aac6889d85f2ce67b1f8e25d134781099ada
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Nicolas Dufour
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/__init__.py b/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/callbacks/__init__.py b/callbacks/__init__.py
new file mode 100755
index 0000000000000000000000000000000000000000..7e2064a43f692ee9010e8f92f9b647bdb61488b9
--- /dev/null
+++ b/callbacks/__init__.py
@@ -0,0 +1,3 @@
+from .ema import EMACallback
+from .fix_nans import FixNANinGrad
+from .data import IncreaseDataEpoch
diff --git a/callbacks/__pycache__/__init__.cpython-310.pyc b/callbacks/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5949a25c462d7dfc0c3667a5b61a55e1480a36ee
Binary files /dev/null and b/callbacks/__pycache__/__init__.cpython-310.pyc differ
diff --git a/callbacks/__pycache__/data.cpython-310.pyc b/callbacks/__pycache__/data.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9b70ab9bd0f489aa87bfbe9ab05c368d0a1dfa71
Binary files /dev/null and b/callbacks/__pycache__/data.cpython-310.pyc differ
diff --git a/callbacks/__pycache__/ema.cpython-310.pyc b/callbacks/__pycache__/ema.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cdef30a0c6d3f63035d0e6a8b0994792ec685933
Binary files /dev/null and b/callbacks/__pycache__/ema.cpython-310.pyc differ
diff --git a/callbacks/__pycache__/fix_nans.cpython-310.pyc b/callbacks/__pycache__/fix_nans.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ef90fdcbf2328fe7483db314c68e0493ab7cbf38
Binary files /dev/null and b/callbacks/__pycache__/fix_nans.cpython-310.pyc differ
diff --git a/callbacks/data.py b/callbacks/data.py
new file mode 100644
index 0000000000000000000000000000000000000000..4706e5f21fcd415f69407e401326ba472291e167
--- /dev/null
+++ b/callbacks/data.py
@@ -0,0 +1,11 @@
+from pytorch_lightning.callbacks import Callback
+
+
+class IncreaseDataEpoch(Callback):
+ def __init__(self):
+ super().__init__()
+
+ def on_train_epoch_start(self, trainer, pl_module):
+ epoch = pl_module.current_epoch
+ if hasattr(trainer.datamodule.train_dataset, "shared_epoch"):
+ trainer.datamodule.train_dataset.shared_epoch.set_value(epoch)
diff --git a/callbacks/ema.py b/callbacks/ema.py
new file mode 100755
index 0000000000000000000000000000000000000000..bf65a7bfc358234712206de408761e2b2880d102
--- /dev/null
+++ b/callbacks/ema.py
@@ -0,0 +1,102 @@
+from pytorch_lightning import Callback
+import copy
+import itertools
+import torch
+import contextlib
+from torch.distributed.fsdp import FullyShardedDataParallel
+
+
+class EMACallback(Callback):
+ def __init__(
+ self,
+ module_attr_name,
+ ema_module_attr_name,
+ decay=0.999,
+ start_ema_step=0,
+ init_ema_random=True,
+ ):
+ super().__init__()
+ self.decay = decay
+ self.module_attr_name = module_attr_name
+ self.ema_module_attr_name = ema_module_attr_name
+ self.start_ema_step = start_ema_step
+ self.init_ema_random = init_ema_random
+
+ def on_train_start(self, trainer, pl_module):
+ if pl_module.global_step == 0:
+ if not hasattr(pl_module, self.module_attr_name):
+ raise ValueError(
+ f"Module {pl_module} does not have attribute {self.module_attr_name}"
+ )
+ if not hasattr(pl_module, self.ema_module_attr_name):
+ pl_module.add_module(
+ self.ema_module_attr_name,
+ copy.deepcopy(getattr(pl_module, self.module_attr_name))
+ .eval()
+ .requires_grad_(False),
+ )
+ self.reset_ema(pl_module)
+
+ def on_train_batch_end(self, trainer, pl_module, outputs, batch, batch_idx):
+ if pl_module.global_step == self.start_ema_step:
+ self.reset_ema(pl_module)
+ elif (
+ pl_module.global_step < self.start_ema_step
+ and pl_module.global_step % 100 == 0
+ ):
+ ## slow ema updates for visualisation
+ self.update_ema(pl_module, decay=0.9)
+ elif pl_module.global_step > self.start_ema_step:
+ self.update_ema(pl_module, decay=self.decay)
+
+ def update_ema(self, pl_module, decay=0.999):
+ ema_module = getattr(pl_module, self.ema_module_attr_name)
+ module = getattr(pl_module, self.module_attr_name)
+ context_manager = self.get_model_context_manager(module)
+ with context_manager:
+ with torch.no_grad():
+ ema_params = ema_module.state_dict()
+ for name, param in itertools.chain(
+ module.named_parameters(), module.named_buffers()
+ ):
+ if name in ema_params:
+ if param.requires_grad:
+ ema_params[name].copy_(
+ ema_params[name].detach().lerp(param.detach(), decay)
+ )
+
+ def get_model_context_manager(self, module):
+ fsdp_enabled = is_model_fsdp(module)
+ model_context_manager = contextlib.nullcontext()
+ if fsdp_enabled:
+ model_context_manager = module.summon_full_params(module)
+ return model_context_manager
+
+ def reset_ema(self, pl_module):
+ ema_module = getattr(pl_module, self.ema_module_attr_name)
+ if self.init_ema_random:
+ ema_module.init_weights()
+ else:
+ module = getattr(pl_module, self.module_attr_name)
+ context_manager = self.get_model_context_manager(module)
+ with context_manager:
+ ema_params = ema_module.state_dict()
+ for name, param in itertools.chain(
+ module.named_parameters(), module.named_buffers()
+ ):
+ if name in ema_params:
+ ema_params[name].copy_(param.detach())
+
+
+def is_model_fsdp(model: torch.nn.Module) -> bool:
+ try:
+ if isinstance(model, FullyShardedDataParallel):
+ return True
+
+ # Check if model is wrapped with FSDP
+ for _, obj in model.named_children():
+ if isinstance(obj, FullyShardedDataParallel):
+ return True
+ return False
+ except ImportError:
+ return False
diff --git a/callbacks/fix_nans.py b/callbacks/fix_nans.py
new file mode 100755
index 0000000000000000000000000000000000000000..51c1d829a4eaa2b14b2c30e54ead3d153d77ac1a
--- /dev/null
+++ b/callbacks/fix_nans.py
@@ -0,0 +1,55 @@
+import logging
+from pytorch_lightning.callbacks import Callback
+import torch
+
+log = logging.getLogger(__name__)
+
+
+class FixNANinGrad(Callback):
+ def __init__(self, monitor):
+ super().__init__()
+ self.monitor = monitor
+ self.continuous_nan_batchs = 0
+
+ def on_before_optimizer_step(self, trainer, pl_module, optimizer) -> None:
+ has_nan = []
+ is_inf = []
+ for name, param in pl_module.named_parameters():
+ if param.grad is not None:
+ if torch.isnan(param.grad).any():
+ has_nan.append(name)
+ if torch.isinf(param.grad).any():
+ is_inf.append(name)
+ torch.nan_to_num(param.grad, nan=0, posinf=0, neginf=0, out=param.grad)
+ if len(has_nan) > 0:
+ print(f"Found NaN in {has_nan}")
+ if len(is_inf) > 0:
+ print(f"Found Inf in {is_inf}")
+
+ def on_train_batch_end(
+ self,
+ trainer,
+ pl_module,
+ outputs,
+ batch,
+ batch_idx,
+ ) -> None:
+ logs = trainer.callback_metrics
+ i = 0
+ found_metric = False
+ while i < len(self.monitor) and not found_metric:
+ if self.monitor[i] in logs.keys():
+ current = logs[self.monitor[i]].squeeze()
+ found_metric = True
+ else:
+ i += 1
+ if not found_metric:
+ raise ValueError("Asked metric not in logs")
+
+ if not torch.isfinite(current):
+ self.continuous_nan_batchs += 1
+ if self.continuous_nan_batchs >= 5:
+ trainer.should_stop = True
+ log.info("Training interrupted because of NaN in {self.monitor}")
+ else:
+ self.continuous_nan_batchs = 0
diff --git a/configs/computer/a100.yaml b/configs/computer/a100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..60ac8bd5263b64cad5b659b1f71a0752f6edfe96
--- /dev/null
+++ b/configs/computer/a100.yaml
@@ -0,0 +1,8 @@
+devices: 1
+progress_bar_refresh_rate: 2
+num_workers: 8
+sync_batchnorm: False
+accelerator: gpu
+precision: 32
+strategy: auto
+num_nodes: 1
diff --git a/configs/computer/cluster-node-a100.yaml b/configs/computer/cluster-node-a100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d60903dca91d09422eefb572a41060bde0aac7b1
--- /dev/null
+++ b/configs/computer/cluster-node-a100.yaml
@@ -0,0 +1,8 @@
+devices: 8
+num_workers: 8
+progress_bar_refresh_rate: 2
+sync_batchnorm: True
+accelerator: gpu
+precision: 32
+strategy: ddp
+num_nodes: 1
diff --git a/configs/computer/cluster-node-v100.yaml b/configs/computer/cluster-node-v100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..48da9ac269cedd97f8619e92e54986a8124f6bd7
--- /dev/null
+++ b/configs/computer/cluster-node-v100.yaml
@@ -0,0 +1,8 @@
+devices: 4
+num_workers: 10
+progress_bar_refresh_rate: 2
+sync_batchnorm: True
+accelerator: gpu
+precision: 32
+strategy: ddp
+num_nodes: 1
diff --git a/configs/computer/cpu.yaml b/configs/computer/cpu.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6e4e49bbe84d4bfbf0ed4849db41a20aa27d9dc2
--- /dev/null
+++ b/configs/computer/cpu.yaml
@@ -0,0 +1,8 @@
+devices: null
+num_workers: 0
+progress_bar_refresh_rate: 2
+sync_batchnorm: False
+accelerator: cpu
+precision: 32
+strategy: auto
+num_nodes: null
diff --git a/configs/computer/h100.yaml b/configs/computer/h100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8509aa21fc99c38e44b05d250658b45d5300cfb7
--- /dev/null
+++ b/configs/computer/h100.yaml
@@ -0,0 +1,8 @@
+devices: 1
+progress_bar_refresh_rate: 2
+num_workers: 24
+sync_batchnorm: False
+accelerator: gpu
+precision: 32
+strategy: auto
+num_nodes: 1
diff --git a/configs/computer/v100.yaml b/configs/computer/v100.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d0ac2cc4c2aef6ee3a941f8508e20f5585487f8b
--- /dev/null
+++ b/configs/computer/v100.yaml
@@ -0,0 +1,8 @@
+devices: 1
+num_workers: 10
+progress_bar_refresh_rate: 2
+sync_batchnorm: False
+accelerator: gpu
+precision: 32
+strategy: auto
+num_nodes: 1
diff --git a/configs/config.yaml b/configs/config.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..2e8bb7bfa19bf4e77042bd9fa26c9cceab8207fd
--- /dev/null
+++ b/configs/config.yaml
@@ -0,0 +1,90 @@
+defaults:
+ - model: default
+ - computer: v100
+ - dataset: osv5m_emb
+ - stage: null
+ - _self_
+ - exp: ???
+
+model:
+ val_metrics:
+ _target_: metrics.distance_based.HaversineMetrics
+ acc_radiuses:
+ - 1
+ - 25
+ - 200
+ - 750
+ - 2500
+ acc_area: []
+ test_metrics:
+ _target_: metrics.distance_based.HaversineMetrics
+ acc_radiuses:
+ - 1
+ - 25
+ - 200
+ - 750
+ - 2500
+ acc_area: ${areas}
+
+datamodule:
+ _target_: data.datamodule.ImageDataModule
+ train_dataset: ${dataset.train_dataset}
+ val_dataset: ${dataset.val_dataset}
+ test_dataset: ${dataset.test_dataset}
+ full_batch_size: ${dataset.full_batch_size}
+ eval_batch_size: ${dataset.eval_batch_size}
+ num_workers: ${computer.num_workers}
+ num_nodes: ${computer.num_nodes}
+ num_devices: ${computer.devices}
+ val_proportion: 0.02
+
+trainer:
+ _target_: pytorch_lightning.Trainer
+ devices: ${computer.devices}
+ accelerator: ${computer.accelerator}
+ strategy: ${computer.strategy}
+ num_nodes: ${computer.num_nodes}
+ precision: ${computer.precision}
+ max_steps: 1000000
+ val_check_interval: 25000
+ check_val_every_n_epoch: null
+
+logger:
+ _target_: pytorch_lightning.loggers.WandbLogger
+ save_dir: ${root_dir}
+ name: ${experiment_name}${logger_suffix}
+ project: diff_plonk
+ log_model: False
+ offline: False
+
+checkpoints:
+ _target_: pytorch_lightning.callbacks.ModelCheckpoint
+ dirpath: ${root_dir}/checkpoints/${experiment_name}
+ filename: 'epoch_{epoch}'
+ monitor: val/loss
+ save_last: True
+ save_top_k: 0
+ every_n_epochs: 1
+ enable_version_counter: False
+
+progress_bar:
+ _target_: pytorch_lightning.callbacks.TQDMProgressBar
+ refresh_rate: ${computer.progress_bar_refresh_rate}
+
+data_dir: ${root_dir}/datasets
+root_dir: ${hydra:runtime.cwd}
+experiment_name: ${dataset.name}_${model.name}_${experiment_name_suffix}
+experiment_name_suffix: base
+logger_suffix: ""
+mode: train # change that to eval to do the testing
+areas: ['country', 'region', 'sub-region', 'city']
+class_name: null
+streetclip: False
+blur: False
+text_tuning: False
+
+hydra:
+ run:
+ dir: outputs/${hydra.job.name}/${now:%Y-%m-%d_%H-%M-%S}/${experiment_name}
+ job:
+ chdir: true
diff --git a/configs/dataset/baselines/im2gps.yaml b/configs/dataset/baselines/im2gps.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..92b82f56a040038421a0bbfe94861b53178538c2
--- /dev/null
+++ b/configs/dataset/baselines/im2gps.yaml
@@ -0,0 +1,16 @@
+dataset:
+ name: im2gps
+ full_batch_size: 512
+ test_dataset:
+ _partial_: true
+ _target_: data.data.Baseline
+ path: ${data_dir}/baselines/im2gps
+ which: 'im2gps'
+ transforms: ${dataset.test_transform}
+datamodule:
+ _target_: data.datamodule.BaselineDataModule
+ test_dataset: ${dataset.test_dataset}
+ full_batch_size: ${dataset.full_batch_size}
+ num_workers: ${computer.num_workers}
+ num_nodes: ${computer.num_nodes}
+ num_devices: ${computer.devices}
\ No newline at end of file
diff --git a/configs/dataset/baselines/im2gps3k.yaml b/configs/dataset/baselines/im2gps3k.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..41175f42584df9183f910d1820b8647c0f0e9d5c
--- /dev/null
+++ b/configs/dataset/baselines/im2gps3k.yaml
@@ -0,0 +1,16 @@
+dataset:
+ name: im2gps3k
+ full_batch_size: 512
+ test_dataset:
+ _partial_: true
+ _target_: data.data.Baseline
+ path: ${data_dir}/baselines/im2gps3k
+ which: 'im2gps3k'
+ transforms: ${dataset.test_transform}
+datamodule:
+ _target_: data.datamodule.BaselineDataModule
+ test_dataset: ${dataset.test_dataset}
+ full_batch_size: ${dataset.full_batch_size}
+ num_workers: ${computer.num_workers}
+ num_nodes: ${computer.num_nodes}
+ num_devices: ${computer.devices}
\ No newline at end of file
diff --git a/configs/dataset/baselines/yfcc4k.yaml b/configs/dataset/baselines/yfcc4k.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..65537b67f3a51da9eab936c5482dfca783190a19
--- /dev/null
+++ b/configs/dataset/baselines/yfcc4k.yaml
@@ -0,0 +1,16 @@
+dataset:
+ name: yfcc4k
+ full_batch_size: 512
+ test_dataset:
+ _partial_: true
+ _target_: data.data.Baseline
+ path: ${data_dir}/baselines/yfcc4k
+ which: 'yfcc4k'
+ transforms: ${dataset.test_transform}
+datamodule:
+ _target_: data.datamodule.BaselineDataModule
+ test_dataset: ${dataset.test_dataset}
+ full_batch_size: ${dataset.full_batch_size}
+ num_workers: ${computer.num_workers}
+ num_nodes: ${computer.num_nodes}
+ num_devices: ${computer.devices}
\ No newline at end of file
diff --git a/configs/dataset/combined_emb.yaml b/configs/dataset/combined_emb.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..10024808d2d63536ae2634d14c98a6bc7cdb3c90
--- /dev/null
+++ b/configs/dataset/combined_emb.yaml
@@ -0,0 +1,38 @@
+defaults:
+ - train_transform: empty
+ - test_transform: empty
+ - _self_
+
+name: iNaturalist_OSV5M_YFCC100M_${dataset.embedding_name}
+full_batch_size: 2048
+cond_dim: 1024
+eval_batch_size: 4096
+output_type: emb
+embedding_name: dinov2_vitl14_registers
+
+train_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/train/ ${data_dir}/osv5m/train/ ${data_dir}/inaturalist/train/ ${data_dir}/osv5m/train/ ${data_dir}/inaturalist/train/
+ train: true
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+val_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/yfcc4k/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+test_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/yfcc4k/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
diff --git a/configs/dataset/inaturalist_emb.yaml b/configs/dataset/inaturalist_emb.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a3fe6084032bd4ce3c143bc430159d654e8b3604
--- /dev/null
+++ b/configs/dataset/inaturalist_emb.yaml
@@ -0,0 +1,38 @@
+defaults:
+ - train_transform: empty
+ - test_transform: empty
+ - _self_
+
+name: iNaturalist_${dataset.embedding_name}
+full_batch_size: 512
+cond_dim: 1024
+eval_batch_size: 4096
+output_type: emb
+embedding_name: dinov2_vitl14_registers
+
+train_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/inaturalist/train/
+ train: true
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+val_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/inaturalist/val/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+test_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/inaturalist/test/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
diff --git a/configs/dataset/osv5m.yaml b/configs/dataset/osv5m.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..91d8c5a3f515fb7b2ef2599c145e0520f9187b1b
--- /dev/null
+++ b/configs/dataset/osv5m.yaml
@@ -0,0 +1,43 @@
+defaults:
+ - train_transform: fast_clip
+ - test_transform: fast_clip
+ - _self_
+
+name: osv5m
+full_batch_size: 2048
+eval_batch_size: 4096
+train_dataset:
+ _partial_: true
+ _target_: data.data.OSV5M
+ path: ${data_dir}/osv5m/
+ split: train
+ class_name: ${class_name}
+ transforms: ${dataset.train_transform}
+ is_baseline: ${is_baseline}
+ areas: ${areas}
+ streetclip: ${streetclip}
+ blur: ${blur}
+
+val_dataset:
+ _partial_: true
+ _target_: data.data.OSV5M
+ path: ${data_dir}/osv5m/
+ split: val
+ class_name: ${class_name}
+ transforms: ${dataset.test_transform}
+ is_baseline: ${is_baseline}
+ areas: ${areas}
+ streetclip: ${streetclip}
+ blur: ${blur}
+
+test_dataset:
+ _partial_: true
+ _target_: data.data.OSV5M
+ path: ${data_dir}/osv5m/
+ split: test
+ class_name: ${class_name}
+ transforms: ${dataset.test_transform}
+ is_baseline: ${is_baseline}
+ areas: ${areas}
+ streetclip: ${streetclip}
+ blur: ${blur}
diff --git a/configs/dataset/osv5m_emb.yaml b/configs/dataset/osv5m_emb.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b3d594ea23f200374a0486d76ea4fb77521b49e4
--- /dev/null
+++ b/configs/dataset/osv5m_emb.yaml
@@ -0,0 +1,38 @@
+defaults:
+ - train_transform: empty
+ - test_transform: empty
+ - _self_
+
+name: osv5m_${dataset.embedding_name}
+full_batch_size: 1024
+eval_batch_size: 4096
+cond_dim: 1024
+output_type: emb
+embedding_name: street_clip
+
+train_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/osv5m/train/
+ train: true
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+val_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/osv5m/val/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: ["unique_country", "unique_region", "unique_sub-region", "unique_city"]
+
+test_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/osv5m/test/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: ["unique_country", "unique_region", "unique_sub-region", "unique_city"]
diff --git a/configs/dataset/test_transform/center_crop.yaml b/configs/dataset/test_transform/center_crop.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a96f2e574f56a28142be4a8298917e0cc205ceeb
--- /dev/null
+++ b/configs/dataset/test_transform/center_crop.yaml
@@ -0,0 +1,12 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: utils.image_processing.CenterCrop
+ ratio: "1:1"
+ - _target_: torchvision.transforms.Resize
+ size: ${dataset.img_resolution}
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.Normalize
+ mean: 0.5
+ std: 0.5
diff --git a/configs/dataset/test_transform/clip.yaml b/configs/dataset/test_transform/clip.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..3d4ff8b0466161f26be883ee4a0dbe2bb1b9be47
--- /dev/null
+++ b/configs/dataset/test_transform/clip.yaml
@@ -0,0 +1,2 @@
+_target_: data.transforms.ClipTransform
+split: val
diff --git a/configs/dataset/test_transform/empty.yaml b/configs/dataset/test_transform/empty.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bbd8dd7bde63f7e764f5ad36d680d1d7d14b6de9
--- /dev/null
+++ b/configs/dataset/test_transform/empty.yaml
@@ -0,0 +1,2 @@
+_target_: data.data.null_transform
+_partial_: true
\ No newline at end of file
diff --git a/configs/dataset/test_transform/fast_clip.yaml b/configs/dataset/test_transform/fast_clip.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..45b6a08732e0466ba225038b8e1a27fffb3f66c7
--- /dev/null
+++ b/configs/dataset/test_transform/fast_clip.yaml
@@ -0,0 +1,12 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.CenterCrop
+ size: 224
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: [0.48145466, 0.4578275, 0.40821073]
+ std: [0.26862954, 0.26130258, 0.27577711]
diff --git a/configs/dataset/test_transform/fast_resnet.yaml b/configs/dataset/test_transform/fast_resnet.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fdbabe78156489a27370fa60e69e539170fbe150
--- /dev/null
+++ b/configs/dataset/test_transform/fast_resnet.yaml
@@ -0,0 +1,12 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.CenterCrop
+ size: 224
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: [0.485 ,0.456 ,0.406]
+ std: [0.229, 0.224, 0.225]
\ No newline at end of file
diff --git a/configs/dataset/test_transform/none.yaml b/configs/dataset/test_transform/none.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..711c1f0b1d1101281d28c9a95c19d7c0da2ae838
--- /dev/null
+++ b/configs/dataset/test_transform/none.yaml
@@ -0,0 +1,6 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: 0.5
+ std: 0.5
diff --git a/configs/dataset/train_transform/augmentation.yaml b/configs/dataset/train_transform/augmentation.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..393367070b772728740332907ec2f66c5025f591
--- /dev/null
+++ b/configs/dataset/train_transform/augmentation.yaml
@@ -0,0 +1,85 @@
+_target_: data.augmentation.ImageAugmentation
+names: "standard_augmentation,geometric_augmentation,clip_transform"
+
+# always apply clip_transform at the end
+clip_transform:
+ _target_: torchvision.transforms.Compose
+ transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.CenterCrop
+ size: 224
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: [0.48145466, 0.4578275, 0.40821073]
+ std: [0.26862954, 0.26130258, 0.27577711]
+
+standard_augmentation:
+ _target_: data.augmentation.StandardAugmentation
+ # by default, we all augmentation methods
+ names: "brightness,contrast,sharpness,color,blur,gaussian_noise"
+
+ # random PIL brigtness
+ brightness:
+ _target_: data.augmentation.PillowBrightness
+ p: 0.2
+ factor_interval: [0.5, 1.5]
+
+ # random PIL contrast
+ contrast:
+ _target_: data.augmentation.PillowContrast
+ p: 0.2
+ factor_interval: [0.3, 3]
+
+ # random PIL sharpness
+ sharpness:
+ _target_: data.augmentation.PillowSharpness
+ p: 0.2
+ factor_interval: [0.5, 30.0]
+
+ # random PIL color
+ color:
+ _target_: data.augmentation.PillowColor
+ p: 0.2
+ factor_interval: [0.0, 2.0]
+
+ # random PIL blur
+ blur:
+ _target_: data.augmentation.PillowBlur
+ p: 0.2
+ factor_interval: [1, 2]
+
+ # random numpy gaussian noise
+ gaussian_noise:
+ _target_: data.augmentation.NumpyGaussianNoise
+ p: 0.2
+ factor_interval: [0.1, 0.04]
+
+geometric_augmentation:
+ _target_: data.augmentation.GeometricAugmentation
+ # by default, we all augmentation methods
+ names: "random_rotation,random_resized_crop,random_horizontal_flip"
+
+ # random rotation
+ random_rotation:
+ _target_: torchvision.transforms.RandomRotation
+ degrees: [-15, 15]
+
+ # random crop
+ random_resized_crop:
+ _target_: torchvision.transforms.RandomResizedCrop
+ scale: [0.5, 1.0]
+ ratio: [0.9, 1.1]
+ size: 224
+
+ # random horizontal flip
+ random_horizontal_flip:
+ _target_: torchvision.transforms.RandomHorizontalFlip
+ p: 0.5
+
+ # random vertical flip
+ random_vertical_flip:
+ _target_: torchvision.transforms.RandomVerticalFlip
+ p: 0.5
diff --git a/configs/dataset/train_transform/center_crop.yaml b/configs/dataset/train_transform/center_crop.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aa4fb03d5db39c49fafde5c6550b95b3f61a0205
--- /dev/null
+++ b/configs/dataset/train_transform/center_crop.yaml
@@ -0,0 +1,14 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: utils.image_processing.CenterCrop
+ ratio: "1:1"
+ - _target_: torchvision.transforms.Resize
+ size: ${dataset.img_resolution}
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.RandomHorizontalFlip
+ p: 0.5
+ - _target_: torchvision.transforms.Normalize
+ mean: 0.5
+ std: 0.5
diff --git a/configs/dataset/train_transform/clip.yaml b/configs/dataset/train_transform/clip.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..3d4ff8b0466161f26be883ee4a0dbe2bb1b9be47
--- /dev/null
+++ b/configs/dataset/train_transform/clip.yaml
@@ -0,0 +1,2 @@
+_target_: data.transforms.ClipTransform
+split: val
diff --git a/configs/dataset/train_transform/empty.yaml b/configs/dataset/train_transform/empty.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bbd8dd7bde63f7e764f5ad36d680d1d7d14b6de9
--- /dev/null
+++ b/configs/dataset/train_transform/empty.yaml
@@ -0,0 +1,2 @@
+_target_: data.data.null_transform
+_partial_: true
\ No newline at end of file
diff --git a/configs/dataset/train_transform/fast_clip.yaml b/configs/dataset/train_transform/fast_clip.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..45b6a08732e0466ba225038b8e1a27fffb3f66c7
--- /dev/null
+++ b/configs/dataset/train_transform/fast_clip.yaml
@@ -0,0 +1,12 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.CenterCrop
+ size: 224
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: [0.48145466, 0.4578275, 0.40821073]
+ std: [0.26862954, 0.26130258, 0.27577711]
diff --git a/configs/dataset/train_transform/fast_resnet.yaml b/configs/dataset/train_transform/fast_resnet.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fdbabe78156489a27370fa60e69e539170fbe150
--- /dev/null
+++ b/configs/dataset/train_transform/fast_resnet.yaml
@@ -0,0 +1,12 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.CenterCrop
+ size: 224
+ - _target_: torchvision.transforms.ToTensor
+ - _target_: torchvision.transforms.Normalize
+ mean: [0.485 ,0.456 ,0.406]
+ std: [0.229, 0.224, 0.225]
\ No newline at end of file
diff --git a/configs/dataset/train_transform/none.yaml b/configs/dataset/train_transform/none.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..0d54fe0045915b325145491307e283face27b3c2
--- /dev/null
+++ b/configs/dataset/train_transform/none.yaml
@@ -0,0 +1,7 @@
+_target_: torchvision.transforms.Compose
+transforms:
+ - _target_: torchvision.transforms.Resize
+ size: 224
+ interpolation: 3
+ antialias: true
+ - _target_: torchvision.transforms.ToTensor
diff --git a/configs/dataset/yfcc_emb.yaml b/configs/dataset/yfcc_emb.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..30e42f8c30b3b68cafce66baa9241c2957987bb0
--- /dev/null
+++ b/configs/dataset/yfcc_emb.yaml
@@ -0,0 +1,38 @@
+defaults:
+ - train_transform: empty
+ - test_transform: empty
+ - _self_
+
+name: iNaturalist_${dataset.embedding_name}
+full_batch_size: 2048
+cond_dim: 1024
+eval_batch_size: 4096
+output_type: emb
+embedding_name: dinov2_vitl14_registers
+
+train_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/train/
+ train: true
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+val_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/yfcc4k/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
+
+test_dataset:
+ _partial_: true
+ _target_: data.webdataset.GPSWebdataset
+ root: ${data_dir}/YFCC100M/yfcc4k/
+ train: false
+ embedding_name: ${dataset.embedding_name}
+ return_image: false
+ metadata_attributes: []
diff --git a/configs/exp/YFCC100M_geoadalnmlp_r2_small_sigmoid_diffusion.yaml b/configs/exp/YFCC100M_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4b3410bff2182d3f5d1b044850974900a6326ab8
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
@@ -0,0 +1,35 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: emb_cond
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
+areas: []
\ No newline at end of file
diff --git a/configs/exp/YFCC100M_geoadalnmlp_r3_small_linear_flow_rieman.yaml b/configs/exp/YFCC100M_geoadalnmlp_r3_small_linear_flow_rieman.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0fee68fbf405a91b29ec434bb78476b848c30f3d
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_r3_small_linear_flow_rieman.yaml
@@ -0,0 +1,32 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: linear
+ - override /model/inference_noise_scheduler: linear
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
diff --git a/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_diffusion.yaml b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1672bd4cde5c447efae5f390785244c090f77b18
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
@@ -0,0 +1,36 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
+areas: []
diff --git a/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow.yaml b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fb204d93b7f0d4ce333fbdd61e1dff12ce4ba87e
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow.yaml
@@ -0,0 +1,38 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: flow_matching
+ - override /model/val_sampler: flow_matching
+ - override /model/test_sampler: flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
+areas: []
\ No newline at end of file
diff --git a/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d62acd07ffa09c8c618fda364da2910da20202dc
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
@@ -0,0 +1,40 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
diff --git a/configs/exp/YFCC100M_geoadalnmlp_von_fisher.yaml b/configs/exp/YFCC100M_geoadalnmlp_von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..aba9726efc25aac006d3c6c50c273ef0b2b9d4bb
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_von_fisher.yaml
@@ -0,0 +1,26 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: von_fisher
+ - override /model/network: geo_adaln_mlp_von_fisher
+ - override /model/loss: von_fisher
+ - override /model/val_sampler: von_fisher
+ - override /model/test_sampler: von_fisher
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 512
+ optimizer:
+ optim:
+ lr: 1e-4
+ weight_decay: 0.05
+dataset:
+ full_batch_size: 1024
+trainer:
+ gradient_clip_val: 0.05
+ gradient_clip_algorithm: norm
+areas: []
+experiment_name_suffix: von_fisher
\ No newline at end of file
diff --git a/configs/exp/YFCC100M_geoadalnmlp_von_fisher_mixture.yaml b/configs/exp/YFCC100M_geoadalnmlp_von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3ec04a70472c2417e47750f078e9ccea2b5d12d8
--- /dev/null
+++ b/configs/exp/YFCC100M_geoadalnmlp_von_fisher_mixture.yaml
@@ -0,0 +1,26 @@
+# @package _global_
+
+defaults:
+ - override /dataset: yfcc_emb
+ - override /model: von_fisher_mixture
+ - override /model/network: geo_adaln_mlp_von_fisher_mixture
+ - override /model/loss: von_fisher_mixture
+ - override /model/val_sampler: von_fisher_mixture
+ - override /model/test_sampler: von_fisher_mixture
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 512
+ optimizer:
+ optim:
+ lr: 1e-5
+ weight_decay: 0.05
+dataset:
+ full_batch_size: 1024
+trainer:
+ gradient_clip_val: 0.01
+ gradient_clip_algorithm: norm
+experiment_name_suffix: von_fisher_mixture
+areas: []
\ No newline at end of file
diff --git a/configs/exp/combined_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml b/configs/exp/combined_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b047cd07a5e3cb138be093a2a30729296b067bdf
--- /dev/null
+++ b/configs/exp/combined_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
@@ -0,0 +1,40 @@
+# @package _global_
+
+defaults:
+ - override /dataset: combined_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
diff --git a/configs/exp/iNaturalist_geoadalnmlp_r2_small_sigmoid_diffusion.yaml b/configs/exp/iNaturalist_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b9e44b2af3045a6f59891cd205606bbf0e8a2e10
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
@@ -0,0 +1,36 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: emb_cond
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 256
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.1
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+dataset:
+ full_batch_size: 512
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_diffusion.yaml b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e87f9bbacf609fc627e85bd183d4adae9def3a10
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
@@ -0,0 +1,37 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 256
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.1
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+
+dataset:
+ full_batch_size: 512
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow.yaml b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6252b122ff2ea716be8ccec15cc583c075e420b3
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow.yaml
@@ -0,0 +1,39 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: flow_matching
+ - override /model/val_sampler: flow_matching
+ - override /model/test_sampler: flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 256
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.1
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 512
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..904eeac8ecf2d1980c3261db2fcf4eb1450fe4ab
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
@@ -0,0 +1,40 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 256
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.1
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 512
+
+areas: []
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/iNaturalist_geoadalnmlp_von_fisher.yaml b/configs/exp/iNaturalist_geoadalnmlp_von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..86c7400c44efaa9f306329d738d18c8b5c9af946
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_von_fisher.yaml
@@ -0,0 +1,26 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: von_fisher
+ - override /model/network: geo_adaln_mlp_von_fisher
+ - override /model/loss: von_fisher
+ - override /model/val_sampler: von_fisher
+ - override /model/test_sampler: von_fisher
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 256
+ optimizer:
+ optim:
+ lr: 1e-4
+ weight_decay: 0.1
+dataset:
+ full_batch_size: 512
+trainer:
+ gradient_clip_val: 0.01
+ gradient_clip_algorithm: norm
+areas: []
+experiment_name_suffix: von_fisher
\ No newline at end of file
diff --git a/configs/exp/iNaturalist_geoadalnmlp_von_fisher_mixture.yaml b/configs/exp/iNaturalist_geoadalnmlp_von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dfbc6019225b699de292cefd27e9d31da3515240
--- /dev/null
+++ b/configs/exp/iNaturalist_geoadalnmlp_von_fisher_mixture.yaml
@@ -0,0 +1,26 @@
+# @package _global_
+
+defaults:
+ - override /dataset: inaturalist_emb
+ - override /model: von_fisher_mixture
+ - override /model/network: geo_adaln_mlp_von_fisher_mixture
+ - override /model/loss: von_fisher_mixture
+ - override /model/val_sampler: von_fisher_mixture
+ - override /model/test_sampler: von_fisher_mixture
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 256
+ optimizer:
+ optim:
+ lr: 1e-5
+ weight_decay: 0.1
+dataset:
+ full_batch_size: 512
+trainer:
+ gradient_clip_val: 0.01
+ gradient_clip_algorithm: norm
+areas: []
+experiment_name_suffix: von_fisher_mixture
diff --git a/configs/exp/osv_5m_geoadalnmlp_r2_small_sigmoid_diffusion.yaml b/configs/exp/osv_5m_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5c931fc74996f63e194b09d94876203421f908cd
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_r2_small_sigmoid_diffusion.yaml
@@ -0,0 +1,34 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: emb_cond
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_r3_small_linear_flow_riemann.yaml b/configs/exp/osv_5m_geoadalnmlp_r3_small_linear_flow_riemann.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5a31ffd41250fe0abe628f0de14f2a9da2d33127
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_r3_small_linear_flow_riemann.yaml
@@ -0,0 +1,30 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: linear
+ - override /model/inference_noise_scheduler: linear
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_diffusion.yaml b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..df953892119cd50b386e950ebfd7e4e14a874761
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_diffusion.yaml
@@ -0,0 +1,35 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: ddpm
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: diffusion
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow.yaml b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..05459ee799d32a8ed3e87c841ac59959df7239c0
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow.yaml
@@ -0,0 +1,37 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: flow_matching
+ - override /model/val_sampler: flow_matching
+ - override /model/test_sampler: flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5bfc89b84e0397c6aa6b363e59c4dad076414eea
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_r3_small_sigmoid_flow_riemann.yaml
@@ -0,0 +1,38 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: emb_cond_cartesian
+ - override /model/network: geo_adaln_mlp
+ - override /model/train_noise_scheduler: sigmoid
+ - override /model/inference_noise_scheduler: sigmoid
+ - override /model/loss: riemannian_flow_matching
+ - override /model/manifold: sphere
+ - override /model/val_sampler: riemannian_flow_matching
+ - override /model/test_sampler: riemannian_flow_matching
+ - _self_
+
+model:
+ network:
+ depth: 12
+ dim: 512
+ optimizer:
+ optim:
+ lr: 8e-4
+ weight_decay: 0.05
+ loss:
+ cond_drop_rate: 0.1
+ train_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ inference_noise_scheduler:
+ start: -7
+ end: 3
+ tau: 1.0
+ interpolant: flow_matching
+
+dataset:
+ full_batch_size: 1024
+
+experiment_name_suffix: small_sigmoid
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_von_fisher.yaml b/configs/exp/osv_5m_geoadalnmlp_von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0d48f03164a22adbeceb57c3039acd0ed81f7d02
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_von_fisher.yaml
@@ -0,0 +1,25 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: von_fisher
+ - override /model/network: geo_adaln_mlp_von_fisher
+ - override /model/loss: von_fisher
+ - override /model/val_sampler: von_fisher
+ - override /model/test_sampler: von_fisher
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 512
+ optimizer:
+ optim:
+ lr: 1e-4
+ weight_decay: 0.05
+dataset:
+ full_batch_size: 1024
+trainer:
+ gradient_clip_val: 0.05
+ gradient_clip_algorithm: norm
+experiment_name_suffix: von_fisher
\ No newline at end of file
diff --git a/configs/exp/osv_5m_geoadalnmlp_von_fisher_mixture.yaml b/configs/exp/osv_5m_geoadalnmlp_von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..96c0191c064b8f7a673512c365656816c41da1c4
--- /dev/null
+++ b/configs/exp/osv_5m_geoadalnmlp_von_fisher_mixture.yaml
@@ -0,0 +1,25 @@
+# @package _global_
+
+defaults:
+ - override /dataset: osv5m_emb
+ - override /model: von_fisher_mixture
+ - override /model/network: geo_adaln_mlp_von_fisher_mixture
+ - override /model/loss: von_fisher_mixture
+ - override /model/val_sampler: von_fisher_mixture
+ - override /model/test_sampler: von_fisher_mixture
+ - _self_
+
+model:
+ network:
+ depth: 11 # To compensate the increase in params
+ dim: 512
+ optimizer:
+ optim:
+ lr: 1e-4
+ weight_decay: 0.05
+dataset:
+ full_batch_size: 1024
+trainer:
+ gradient_clip_val: 0.05
+ gradient_clip_algorithm: norm
+experiment_name_suffix: von_fisher_mixture
diff --git a/configs/model/cond_preprocessing/embedding.yaml b/configs/model/cond_preprocessing/embedding.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..050e6bb944d1be3b0f99479606bb1e28646a7e4e
--- /dev/null
+++ b/configs/model/cond_preprocessing/embedding.yaml
@@ -0,0 +1,3 @@
+_target_: models.preprocessing.PrecomputedPreconditioning
+input_key: emb
+output_key: emb
\ No newline at end of file
diff --git a/configs/model/data_preprocessing/gps.yaml b/configs/model/data_preprocessing/gps.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b6fcf8b60f7a404b33dd13b2d558e2f4e49d0f2
--- /dev/null
+++ b/configs/model/data_preprocessing/gps.yaml
@@ -0,0 +1,4 @@
+_target_: models.preprocessing.NormGPS
+input_key: gps
+output_key: x_0
+normalize: False
\ No newline at end of file
diff --git a/configs/model/data_preprocessing/gps_to_cartesian.yaml b/configs/model/data_preprocessing/gps_to_cartesian.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..efb04d5c18c34b397f0133d823c65d602b1284ee
--- /dev/null
+++ b/configs/model/data_preprocessing/gps_to_cartesian.yaml
@@ -0,0 +1,3 @@
+_target_: models.preprocessing.GPStoCartesian
+input_key: gps
+output_key: x_0
\ No newline at end of file
diff --git a/configs/model/data_preprocessing/normalized_gps.yaml b/configs/model/data_preprocessing/normalized_gps.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..769a4ba35855891260a8302fa528a0d4a8474ebc
--- /dev/null
+++ b/configs/model/data_preprocessing/normalized_gps.yaml
@@ -0,0 +1,4 @@
+_target_: models.preprocessing.NormGPS
+input_key: gps
+output_key: x_0
+normalize: True
\ No newline at end of file
diff --git a/configs/model/emb_cond.yaml b/configs/model/emb_cond.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7f00df12fd3ad41aece86d88fd8ba509ae6f4d8c
--- /dev/null
+++ b/configs/model/emb_cond.yaml
@@ -0,0 +1,24 @@
+defaults:
+ - optimizer: lamb
+ - lr_scheduler: warmup_cosine_decay
+ - network: geo_adaln_mlp
+ - train_noise_scheduler: sigmoid
+ - inference_noise_scheduler: cosine_simple
+ - preconditioning: ddpm
+ - data_preprocessing: normalized_gps
+ - cond_preprocessing: embedding
+ - postprocessing: renorm_gps
+ - loss: ddpm
+ - val_sampler: ddim
+ - test_sampler: ddpm
+ - manifold: null
+ - _self_
+
+network:
+ input_dim: 2
+name: GeoMLP_R2
+ema_decay: 0.999
+start_ema_step: 0
+cfg_rate: 2.0
+interpolant: flow_matching
+compute_nll: true
\ No newline at end of file
diff --git a/configs/model/emb_cond_cartesian.yaml b/configs/model/emb_cond_cartesian.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f8cc9be47b5f89fcd3dea1b00e6185ff0aade5d4
--- /dev/null
+++ b/configs/model/emb_cond_cartesian.yaml
@@ -0,0 +1,25 @@
+defaults:
+ - optimizer: lamb
+ - lr_scheduler: warmup_cosine_decay
+ - network: geo_adaln_mlp
+ - train_noise_scheduler: sigmoid
+ - inference_noise_scheduler: cosine_simple
+ - preconditioning: ddpm
+ - data_preprocessing: gps_to_cartesian
+ - cond_preprocessing: embedding
+ - postprocessing: cartesian_to_gps
+ - loss: ddpm
+ - val_sampler: ddim
+ - test_sampler: ddpm
+ - manifold: null
+ - _self_
+
+network:
+ input_dim: 3
+name: GeoMLP_R3
+ema_decay: 0.999
+start_ema_step: 0
+cfg_rate: 2.0
+interpolant: flow_matching
+compute_nll: true
+compute_swarms: False
\ No newline at end of file
diff --git a/configs/model/inference_noise_scheduler/cosine.yaml b/configs/model/inference_noise_scheduler/cosine.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..40f48f84d118c3af534e0c9031a05b117a75ce6f
--- /dev/null
+++ b/configs/model/inference_noise_scheduler/cosine.yaml
@@ -0,0 +1,5 @@
+_target_: models.schedulers.CosineScheduler
+start: 1
+end: 0
+tau: 1
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/inference_noise_scheduler/cosine_simple.yaml b/configs/model/inference_noise_scheduler/cosine_simple.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..03cc697ce7cb3c49009e8875ca1e964a12cce76a
--- /dev/null
+++ b/configs/model/inference_noise_scheduler/cosine_simple.yaml
@@ -0,0 +1,3 @@
+_target_: models.schedulers.CosineSchedulerSimple
+ns: 2e-4
+ds: 2.5e-4
\ No newline at end of file
diff --git a/configs/model/inference_noise_scheduler/linear.yaml b/configs/model/inference_noise_scheduler/linear.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bc3438e62d22e6dcda127cd40b4f95975110a1be
--- /dev/null
+++ b/configs/model/inference_noise_scheduler/linear.yaml
@@ -0,0 +1,4 @@
+_target_: models.schedulers.LinearScheduler
+start: 1
+end: 0
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/inference_noise_scheduler/sigmoid.yaml b/configs/model/inference_noise_scheduler/sigmoid.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..30e86fb03187baa8e52ce148eb7a03cc6ac60751
--- /dev/null
+++ b/configs/model/inference_noise_scheduler/sigmoid.yaml
@@ -0,0 +1,5 @@
+_target_: models.schedulers.SigmoidScheduler
+start: -3
+end: 3
+tau: 0.9
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/loss/ddpm.yaml b/configs/model/loss/ddpm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..46cbf01edccfbfd23876171874c4aa94dce2ba12
--- /dev/null
+++ b/configs/model/loss/ddpm.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.losses.DDPMLoss
+cond_drop_rate: 0.0
+conditioning_key: ${model.cond_preprocessing.output_key}
\ No newline at end of file
diff --git a/configs/model/loss/flow_matching.yaml b/configs/model/loss/flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3a852addf69537611882f4be34eac2232376deb8
--- /dev/null
+++ b/configs/model/loss/flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.losses.FlowMatchingLoss
+cond_drop_rate: 0.0
+conditioning_key: ${model.cond_preprocessing.output_key}
\ No newline at end of file
diff --git a/configs/model/loss/riemannian_flow_matching.yaml b/configs/model/loss/riemannian_flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fc98b0f5dbbae06d27001929079f84cf8d016e47
--- /dev/null
+++ b/configs/model/loss/riemannian_flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.losses.RiemannianFlowMatchingLoss
+cond_drop_rate: 0.0
+conditioning_key: ${model.cond_preprocessing.output_key}
\ No newline at end of file
diff --git a/configs/model/loss/von_fisher.yaml b/configs/model/loss/von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..43a10449886f7cbdb1a0b2ed5f96855508df9842
--- /dev/null
+++ b/configs/model/loss/von_fisher.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.losses.VonFisherLoss
diff --git a/configs/model/loss/von_fisher_mixture.yaml b/configs/model/loss/von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..77f6a340b73d903167e735d35d05f9baf5f31306
--- /dev/null
+++ b/configs/model/loss/von_fisher_mixture.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.losses.VonFisherMixtureLoss
diff --git a/configs/model/lr_scheduler/warmup.yaml b/configs/model/lr_scheduler/warmup.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..18970870f95e94d92f2e97820fe3537f004510b4
--- /dev/null
+++ b/configs/model/lr_scheduler/warmup.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: utils.lr_scheduler.WarmupLR
+warmup_steps: 500
+
diff --git a/configs/model/lr_scheduler/warmup_cosine_decay.yaml b/configs/model/lr_scheduler/warmup_cosine_decay.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2d45d5a8d1f3e0a23b8cabecffb0c0b3487f9d32
--- /dev/null
+++ b/configs/model/lr_scheduler/warmup_cosine_decay.yaml
@@ -0,0 +1,5 @@
+_partial_: true
+_target_: utils.lr_scheduler.WarmupCosineDecayLR
+warmup_steps: 500
+total_steps: ${trainer.max_steps}
+
diff --git a/configs/model/manifold/sphere.yaml b/configs/model/manifold/sphere.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b5c3d19adda604d27c8987d487cd8e96463a796e
--- /dev/null
+++ b/configs/model/manifold/sphere.yaml
@@ -0,0 +1 @@
+_target_: utils.manifolds.Sphere
\ No newline at end of file
diff --git a/configs/model/network/geo_adaln_mlp.yaml b/configs/model/network/geo_adaln_mlp.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0c43b224a37bb86f988c67b7bbe51848684d8d1c
--- /dev/null
+++ b/configs/model/network/geo_adaln_mlp.yaml
@@ -0,0 +1,6 @@
+_target_: models.networks.mlp.GeoAdaLNMLP
+input_dim: 2
+dim: 256
+depth: 8
+expansion: 4
+cond_dim: ${dataset.cond_dim}
\ No newline at end of file
diff --git a/configs/model/network/geo_adaln_mlp_von_fisher.yaml b/configs/model/network/geo_adaln_mlp_von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7486447cea43cbe381b8db535cd7ebfb029a2f8d
--- /dev/null
+++ b/configs/model/network/geo_adaln_mlp_von_fisher.yaml
@@ -0,0 +1,6 @@
+_target_: models.networks.mlp.GeoAdaLNMLPVonFisher
+input_dim: 2
+dim: 256
+depth: 8
+expansion: 4
+cond_dim: ${dataset.cond_dim}
\ No newline at end of file
diff --git a/configs/model/network/geo_adaln_mlp_von_fisher_mixture.yaml b/configs/model/network/geo_adaln_mlp_von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9e58831469d78688de23ce656a348a0567a02fe0
--- /dev/null
+++ b/configs/model/network/geo_adaln_mlp_von_fisher_mixture.yaml
@@ -0,0 +1,7 @@
+_target_: models.networks.mlp.GeoAdaLNMLPVonFisherMixture
+input_dim: 2
+dim: 256
+depth: 8
+expansion: 4
+cond_dim: ${dataset.cond_dim}
+num_mixtures: 3
\ No newline at end of file
diff --git a/configs/model/network/geo_mlp.yaml b/configs/model/network/geo_mlp.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..af35cf5f33b1f2d6f7d7b3ef3eb70ad78e10c2d7
--- /dev/null
+++ b/configs/model/network/geo_mlp.yaml
@@ -0,0 +1,5 @@
+_target_: models.networks.mlp.GeoConcatNMLP
+input_dim: 2
+hidden_dim: 512
+depth: 5
+cond_dim: ${dataset.cond_dim}
\ No newline at end of file
diff --git a/configs/model/optimizer/adam.yaml b/configs/model/optimizer/adam.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..55490d3492168181115ef90949a1232fece3f7b5
--- /dev/null
+++ b/configs/model/optimizer/adam.yaml
@@ -0,0 +1,7 @@
+optim:
+ _target_: torch.optim.Adam
+ lr: 1e-3
+ betas: [0.9, 0.999]
+ weight_decay: 0.01
+
+exclude_ln_and_biases_from_weight_decay: False
\ No newline at end of file
diff --git a/configs/model/optimizer/adamw.yaml b/configs/model/optimizer/adamw.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..7b6217c6a98035ffa390a6ea0c8930754698d8f6
--- /dev/null
+++ b/configs/model/optimizer/adamw.yaml
@@ -0,0 +1,7 @@
+optim:
+ _target_: torch.optim.AdamW
+ lr: 1e-3
+ betas: [0.9, 0.999]
+ weight_decay: 0.01
+
+exclude_ln_and_biases_from_weight_decay: False
\ No newline at end of file
diff --git a/configs/model/optimizer/lamb.yaml b/configs/model/optimizer/lamb.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bb78f090fb8805a9886e000c963a92f8ee31fea9
--- /dev/null
+++ b/configs/model/optimizer/lamb.yaml
@@ -0,0 +1,7 @@
+optim:
+ _target_: utils.optimizers.Lamb
+ lr: 1e-3
+ betas: [0.9, 0.999]
+ weight_decay: 0.01
+
+exclude_ln_and_biases_from_weight_decay: False
\ No newline at end of file
diff --git a/configs/model/optimizer/sgd.yaml b/configs/model/optimizer/sgd.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..15f1c6c52521dc794c5bbc7a2740c5d0659fa6eb
--- /dev/null
+++ b/configs/model/optimizer/sgd.yaml
@@ -0,0 +1,6 @@
+optim:
+ _target_: torch.optim.SGD
+ lr: 1e-3
+ weight_decay: 0.01
+
+exclude_ln_and_biases_from_weight_decay: False
\ No newline at end of file
diff --git a/configs/model/postprocessing/cartesian_to_gps.yaml b/configs/model/postprocessing/cartesian_to_gps.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2202006d9ecb1bf660e5a0fc2f3e926474e60fcf
--- /dev/null
+++ b/configs/model/postprocessing/cartesian_to_gps.yaml
@@ -0,0 +1 @@
+_target_: models.postprocessing.CartesiantoGPS
\ No newline at end of file
diff --git a/configs/model/postprocessing/renorm_gps.yaml b/configs/model/postprocessing/renorm_gps.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..52eeec67054fd33c2c68ac98a19a47e2c3ace3be
--- /dev/null
+++ b/configs/model/postprocessing/renorm_gps.yaml
@@ -0,0 +1 @@
+_target_: models.postprocessing.UnormGPS
\ No newline at end of file
diff --git a/configs/model/preconditioning/ddpm.yaml b/configs/model/preconditioning/ddpm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a3c58541a52b3cdab50b5c6f4107cd70eff0b0bf
--- /dev/null
+++ b/configs/model/preconditioning/ddpm.yaml
@@ -0,0 +1 @@
+_target_: models.preconditioning.DDPMPrecond
\ No newline at end of file
diff --git a/configs/model/preconditioning/edm.yaml b/configs/model/preconditioning/edm.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..874e3409007eccd37ed21b94a06dc6e674ad9f7d
--- /dev/null
+++ b/configs/model/preconditioning/edm.yaml
@@ -0,0 +1,6 @@
+_partial_: true
+_target_: models.preconditioning.EDMPrecond
+label_dim: ${data.label_dim}
+sigma_min: 0
+sigma_max: !!float .inf
+sigma_data: 0.5
\ No newline at end of file
diff --git a/configs/model/test_sampler/ddim.yaml b/configs/model/test_sampler/ddim.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9082c83795f8045fbb5a65d1cfeb4cb59633ecc2
--- /dev/null
+++ b/configs/model/test_sampler/ddim.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.ddim.ddim_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/test_sampler/ddpm.yaml b/configs/model/test_sampler/ddpm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bffa1d3ec5beae8011206aa29cf61b70722aa7b7
--- /dev/null
+++ b/configs/model/test_sampler/ddpm.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.ddpm.ddpm_sampler
+num_steps: 1000
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/test_sampler/edm.yaml b/configs/model/test_sampler/edm.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..510025144aa050d415c83d115cf70d30429b3721
--- /dev/null
+++ b/configs/model/test_sampler/edm.yaml
@@ -0,0 +1,10 @@
+_partial_: true
+_target_: models.samplers.edm.edm_sampler
+num_steps: 18
+sigma_min: 0.002
+sigma_max: 80
+rho: 7
+S_churn: 0
+S_min: 0
+S_max: !!float .inf
+S_noise: 1
\ No newline at end of file
diff --git a/configs/model/test_sampler/flow_matching.yaml b/configs/model/test_sampler/flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0501d356ba495ea7fa94ff9d88fda6f282cc6740
--- /dev/null
+++ b/configs/model/test_sampler/flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.flow_sampler.flow_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/test_sampler/riemannian_flow_matching.yaml b/configs/model/test_sampler/riemannian_flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9c3274cb8fc20973c374cb01137e1ed68fa5f7d2
--- /dev/null
+++ b/configs/model/test_sampler/riemannian_flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.riemannian_flow_sampler.riemannian_flow_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/test_sampler/von_fisher.yaml b/configs/model/test_sampler/von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4d1fc32e1dcc3d4744ef47708f0dad714cf52aed
--- /dev/null
+++ b/configs/model/test_sampler/von_fisher.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.samplers.von_fisher_sampling.vMF_sampler
diff --git a/configs/model/test_sampler/von_fisher_mixture.yaml b/configs/model/test_sampler/von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cc4ae2d2f42ae8eda2396d62eed91f7c99e9e5f6
--- /dev/null
+++ b/configs/model/test_sampler/von_fisher_mixture.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.samplers.von_fisher_sampling.vMF_mixture_sampler
diff --git a/configs/model/train_noise_scheduler/cosine.yaml b/configs/model/train_noise_scheduler/cosine.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..40f48f84d118c3af534e0c9031a05b117a75ce6f
--- /dev/null
+++ b/configs/model/train_noise_scheduler/cosine.yaml
@@ -0,0 +1,5 @@
+_target_: models.schedulers.CosineScheduler
+start: 1
+end: 0
+tau: 1
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/train_noise_scheduler/cosine_simple.yaml b/configs/model/train_noise_scheduler/cosine_simple.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..03cc697ce7cb3c49009e8875ca1e964a12cce76a
--- /dev/null
+++ b/configs/model/train_noise_scheduler/cosine_simple.yaml
@@ -0,0 +1,3 @@
+_target_: models.schedulers.CosineSchedulerSimple
+ns: 2e-4
+ds: 2.5e-4
\ No newline at end of file
diff --git a/configs/model/train_noise_scheduler/linear.yaml b/configs/model/train_noise_scheduler/linear.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bc3438e62d22e6dcda127cd40b4f95975110a1be
--- /dev/null
+++ b/configs/model/train_noise_scheduler/linear.yaml
@@ -0,0 +1,4 @@
+_target_: models.schedulers.LinearScheduler
+start: 1
+end: 0
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/train_noise_scheduler/sigmoid.yaml b/configs/model/train_noise_scheduler/sigmoid.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..30e86fb03187baa8e52ce148eb7a03cc6ac60751
--- /dev/null
+++ b/configs/model/train_noise_scheduler/sigmoid.yaml
@@ -0,0 +1,5 @@
+_target_: models.schedulers.SigmoidScheduler
+start: -3
+end: 3
+tau: 0.9
+clip_min: 1e-9
\ No newline at end of file
diff --git a/configs/model/val_sampler/ddim.yaml b/configs/model/val_sampler/ddim.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9082c83795f8045fbb5a65d1cfeb4cb59633ecc2
--- /dev/null
+++ b/configs/model/val_sampler/ddim.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.ddim.ddim_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/val_sampler/ddpm.yaml b/configs/model/val_sampler/ddpm.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bffa1d3ec5beae8011206aa29cf61b70722aa7b7
--- /dev/null
+++ b/configs/model/val_sampler/ddpm.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.ddpm.ddpm_sampler
+num_steps: 1000
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/val_sampler/edm.yaml b/configs/model/val_sampler/edm.yaml
new file mode 100755
index 0000000000000000000000000000000000000000..510025144aa050d415c83d115cf70d30429b3721
--- /dev/null
+++ b/configs/model/val_sampler/edm.yaml
@@ -0,0 +1,10 @@
+_partial_: true
+_target_: models.samplers.edm.edm_sampler
+num_steps: 18
+sigma_min: 0.002
+sigma_max: 80
+rho: 7
+S_churn: 0
+S_min: 0
+S_max: !!float .inf
+S_noise: 1
\ No newline at end of file
diff --git a/configs/model/val_sampler/flow_matching.yaml b/configs/model/val_sampler/flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0501d356ba495ea7fa94ff9d88fda6f282cc6740
--- /dev/null
+++ b/configs/model/val_sampler/flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.flow_sampler.flow_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/val_sampler/riemannian_flow_matching.yaml b/configs/model/val_sampler/riemannian_flow_matching.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9c3274cb8fc20973c374cb01137e1ed68fa5f7d2
--- /dev/null
+++ b/configs/model/val_sampler/riemannian_flow_matching.yaml
@@ -0,0 +1,4 @@
+_partial_: true
+_target_: models.samplers.riemannian_flow_sampler.riemannian_flow_sampler
+num_steps: 250
+cfg_rate: ${model.cfg_rate}
\ No newline at end of file
diff --git a/configs/model/val_sampler/von_fisher.yaml b/configs/model/val_sampler/von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4d1fc32e1dcc3d4744ef47708f0dad714cf52aed
--- /dev/null
+++ b/configs/model/val_sampler/von_fisher.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.samplers.von_fisher_sampling.vMF_sampler
diff --git a/configs/model/val_sampler/von_fisher_mixture.yaml b/configs/model/val_sampler/von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cc4ae2d2f42ae8eda2396d62eed91f7c99e9e5f6
--- /dev/null
+++ b/configs/model/val_sampler/von_fisher_mixture.yaml
@@ -0,0 +1,2 @@
+_partial_: true
+_target_: models.samplers.von_fisher_sampling.vMF_mixture_sampler
diff --git a/configs/model/von_fisher.yaml b/configs/model/von_fisher.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..80f5429564432fa096e65b4910234b38423930f5
--- /dev/null
+++ b/configs/model/von_fisher.yaml
@@ -0,0 +1,19 @@
+defaults:
+ - optimizer: lamb
+ - lr_scheduler: warmup_cosine_decay
+ - network: geo_adaln_mlp_von_fisher
+ - preconditioning: ddpm
+ - data_preprocessing: gps_to_cartesian
+ - cond_preprocessing: embedding
+ - postprocessing: cartesian_to_gps
+ - loss: von_fisher
+ - val_sampler: von_fisher
+ - test_sampler: von_fisher
+ - _self_
+
+network:
+ input_dim: 3
+name: GeoMLP_R3_VonFisher
+ema_decay: 0.999
+start_ema_step: 0
+interpolant: von_fisher
\ No newline at end of file
diff --git a/configs/model/von_fisher_mixture.yaml b/configs/model/von_fisher_mixture.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ae27b7edda558d08d2746d28d98dfe80b78ef573
--- /dev/null
+++ b/configs/model/von_fisher_mixture.yaml
@@ -0,0 +1,19 @@
+defaults:
+ - optimizer: lamb
+ - lr_scheduler: warmup_cosine_decay
+ - network: geo_adaln_mlp_von_fisher_mixture
+ - preconditioning: ddpm
+ - data_preprocessing: gps_to_cartesian
+ - cond_preprocessing: embedding
+ - postprocessing: cartesian_to_gps
+ - loss: von_fisher_mixture
+ - val_sampler: von_fisher_mixture
+ - test_sampler: von_fisher_mixture
+ - _self_
+
+network:
+ input_dim: 3
+name: GeoMLP_R3_VonFisher_Mixture
+ema_decay: 0.999
+start_ema_step: 0
+interpolant: von_fisher
\ No newline at end of file
diff --git a/configs/stage/debug.yaml b/configs/stage/debug.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..1e4e1f2a87a3d8f36cde2ea5de293f59a7bd1cdc
--- /dev/null
+++ b/configs/stage/debug.yaml
@@ -0,0 +1,4 @@
+# @package _global_
+
+
+stage: debug
\ No newline at end of file
diff --git a/configs/stage/profile.yaml b/configs/stage/profile.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..88e6403662ceab281728b3de29b0701aedb26887
--- /dev/null
+++ b/configs/stage/profile.yaml
@@ -0,0 +1,20 @@
+# @package _global_
+
+trainer:
+ max_steps: 15
+ profiler:
+ _target_: pytorch_lightning.profilers.PyTorchProfiler
+ dirpath: ${root_dir}/profiler_log/${experiment_name}
+ schedule:
+ _target_: torch.profiler.schedule
+ skip_first: 5
+ wait: 2
+ warmup: 1
+ active: 3
+ repeat: 0
+ on_trace_ready:
+ _target_: torch.profiler.tensorboard_trace_handler
+ dir_name: ${root_dir}/profiler_log/${experiment_name}
+ with_stack: True
+ record_shapes: True
+ with_modules: True
\ No newline at end of file
diff --git a/data/__init__.py b/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/data/__pycache__/__init__.cpython-310.pyc b/data/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..157c9f16e680e71bc2f453357e5d909cecb5f82b
Binary files /dev/null and b/data/__pycache__/__init__.cpython-310.pyc differ
diff --git a/data/__pycache__/data.cpython-310.pyc b/data/__pycache__/data.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..390395da20b6668ac351f1b076eb64b48b3d0ff4
Binary files /dev/null and b/data/__pycache__/data.cpython-310.pyc differ
diff --git a/data/__pycache__/datamodule.cpython-310.pyc b/data/__pycache__/datamodule.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..69cf78dd176620e42e6585ffa0e80ecc6e43ea1c
Binary files /dev/null and b/data/__pycache__/datamodule.cpython-310.pyc differ
diff --git a/data/__pycache__/webdataset.cpython-310.pyc b/data/__pycache__/webdataset.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..92658145e6c8c63008b5e1ced04fc6d5657e7ad6
Binary files /dev/null and b/data/__pycache__/webdataset.cpython-310.pyc differ
diff --git a/data/augmentation.py b/data/augmentation.py
new file mode 100644
index 0000000000000000000000000000000000000000..bfd49bcd5cf985398146d99c13b1cd7d7928ea6e
--- /dev/null
+++ b/data/augmentation.py
@@ -0,0 +1,223 @@
+"""
+Adapted from https://github.com/nv-nguyen/template-pose/blob/main/src/utils/augmentation.py
+"""
+
+from torchvision import transforms
+from PIL import ImageEnhance, ImageFilter, Image
+import numpy as np
+import random
+import logging
+from torchvision.transforms import RandomResizedCrop, ToTensor
+
+
+class PillowRGBAugmentation:
+ def __init__(self, pillow_fn, p, factor_interval):
+ self._pillow_fn = pillow_fn
+ self.p = p
+ self.factor_interval = factor_interval
+
+ def __call__(self, PIL_image):
+ if random.random() <= self.p:
+ factor = random.uniform(*self.factor_interval)
+ if PIL_image.mode != "RGB":
+ logging.warning(
+ f"Error when apply data aug, image mode: {PIL_image.mode}"
+ )
+ imgs = imgs.convert("RGB")
+ logging.warning(f"Success to change to {PIL_image.mode}")
+ PIL_image = (self._pillow_fn(PIL_image).enhance(factor=factor)).convert(
+ "RGB"
+ )
+ return PIL_image
+
+
+class PillowSharpness(PillowRGBAugmentation):
+ def __init__(
+ self,
+ p=0.3,
+ factor_interval=(0, 40.0),
+ ):
+ super().__init__(
+ pillow_fn=ImageEnhance.Sharpness,
+ p=p,
+ factor_interval=factor_interval,
+ )
+
+
+class PillowContrast(PillowRGBAugmentation):
+ def __init__(
+ self,
+ p=0.3,
+ factor_interval=(0.5, 1.6),
+ ):
+ super().__init__(
+ pillow_fn=ImageEnhance.Contrast,
+ p=p,
+ factor_interval=factor_interval,
+ )
+
+
+class PillowBrightness(PillowRGBAugmentation):
+ def __init__(
+ self,
+ p=0.5,
+ factor_interval=(0.5, 2.0),
+ ):
+ super().__init__(
+ pillow_fn=ImageEnhance.Brightness,
+ p=p,
+ factor_interval=factor_interval,
+ )
+
+
+class PillowColor(PillowRGBAugmentation):
+ def __init__(
+ self,
+ p=1,
+ factor_interval=(0.0, 20.0),
+ ):
+ super().__init__(
+ pillow_fn=ImageEnhance.Color,
+ p=p,
+ factor_interval=factor_interval,
+ )
+
+
+class PillowBlur:
+ def __init__(self, p=0.4, factor_interval=(1, 3)):
+ self.p = p
+ self.k = random.randint(*factor_interval)
+
+ def __call__(self, PIL_image):
+ if random.random() <= self.p:
+ PIL_image = PIL_image.filter(ImageFilter.GaussianBlur(self.k))
+ return PIL_image
+
+
+class NumpyGaussianNoise:
+ def __init__(self, p, factor_interval=(0.01, 0.3)):
+ self.noise_ratio = random.uniform(*factor_interval)
+ self.p = p
+
+ def __call__(self, img):
+ if random.random() <= self.p:
+ img = np.copy(img)
+ noisesigma = random.uniform(0, self.noise_ratio)
+ gauss = np.random.normal(0, noisesigma, img.shape) * 255
+ img = img + gauss
+
+ img[img > 255] = 255
+ img[img < 0] = 0
+ return Image.fromarray(np.uint8(img))
+
+
+class StandardAugmentation:
+ def __init__(
+ self, names, brightness, contrast, sharpness, color, blur, gaussian_noise
+ ):
+ self.brightness = brightness
+ self.contrast = contrast
+ self.sharpness = sharpness
+ self.color = color
+ self.blur = blur
+ self.gaussian_noise = gaussian_noise
+
+ # define a dictionary of augmentation functions to be applied
+ self.names = names.split(",")
+ self.augmentations = {
+ "brightness": self.brightness,
+ "contrast": self.contrast,
+ "sharpness": self.sharpness,
+ "color": self.color,
+ "blur": self.blur,
+ "gaussian_noise": self.gaussian_noise,
+ }
+
+ def __call__(self, img):
+ for name in self.names:
+ img = self.augmentations[name](img)
+ return img
+
+
+class GeometricAugmentation:
+ def __init__(
+ self,
+ names,
+ random_resized_crop,
+ random_horizontal_flip,
+ random_vertical_flip,
+ random_rotation,
+ ):
+ self.random_resized_crop = random_resized_crop
+ self.random_horizontal_flip = random_horizontal_flip
+ self.random_vertical_flip = random_vertical_flip
+ self.random_rotation = random_rotation
+ self.names = names.split(",")
+
+ self.augmentations = {
+ "random_resized_crop": self.random_resized_crop,
+ "random_horizontal_flip": self.random_horizontal_flip,
+ "random_vertical_flip": self.random_vertical_flip,
+ "random_rotation": self.random_rotation,
+ }
+
+ def __call__(self, img):
+ for name in self.names:
+ img = self.augmentations[name](img)
+ return img
+
+
+class ImageAugmentation:
+ def __init__(
+ self, names, clip_transform, standard_augmentation, geometric_augmentation
+ ):
+ self.clip_transform = clip_transform
+ self.standard_augmentation = standard_augmentation
+ self.geometric_augmentation = geometric_augmentation
+ self.names = names.split(",")
+ self.transforms = {
+ "clip_transform": self.clip_transform,
+ "standard_augmentation": self.standard_augmentation,
+ "geometric_augmentation": self.geometric_augmentation,
+ }
+ print(f"Image augmentation: {self.names}")
+
+ def __call__(self, img):
+ for name in self.names:
+ img = self.transforms[name](img)
+ return img
+
+
+if __name__ == "__main__":
+ # sanity check
+ import glob
+ import torchvision.transforms as transforms
+ from torchvision.utils import save_image
+ from omegaconf import DictConfig, OmegaConf
+ from hydra.utils import instantiate
+ import torch
+ from PIL import Image
+
+ augmentation_config = OmegaConf.load(
+ "./configs/dataset/train_transform/augmentation.yaml"
+ )
+ augmentation_config.names = "standard_augmentation,geometric_augmentation"
+ augmentation_transform = instantiate(augmentation_config)
+ img_paths = glob.glob("./datasets/osv5m/test/images/*.jpg")
+
+ num_try = 20
+ num_try_per_image = 8
+ num_imgs = 8
+
+ for idx in range(num_try):
+ imgs = []
+ for idx_img in range(num_imgs):
+ img = Image.open(img_paths[idx_img])
+ for idx_try in range(num_try_per_image):
+ if idx_try == 0:
+ imgs.append(ToTensor()(img.resize((224, 224))))
+ img_aug = augmentation_transform(img.copy())
+ img_aug = ToTensor()(img_aug)
+ imgs.append(img_aug)
+ imgs = torch.stack(imgs)
+ save_image(imgs, f"augmentation_{idx:03d}.png", nrow=9)
diff --git a/data/data.py b/data/data.py
new file mode 100644
index 0000000000000000000000000000000000000000..5764650391e9eed57cebb370836574e70ec4a1db
--- /dev/null
+++ b/data/data.py
@@ -0,0 +1,789 @@
+import numpy as np
+import pandas as pd
+import torch
+import random
+import pickle
+from os.path import join
+from os.path import isfile
+from PIL import Image
+from sklearn.model_selection import train_test_split
+from torch.utils.data import Dataset
+from torchvision.transforms import (
+ Compose,
+ RandomCrop,
+ CenterCrop,
+ RandomHorizontalFlip,
+ ToTensor,
+)
+import time
+from torchvision.transforms import GaussianBlur
+from torchvision import transforms
+from pathlib import Path
+import json
+from tqdm import tqdm
+import multiprocessing as mp
+import ctypes
+
+
+def normalize(lat, lon):
+ """Used to put all lat lon inside ±90 and ±180."""
+ lat = (lat + 90) % 360 - 90
+ if lat > 90:
+ lat = 180 - lat
+ lon += 180
+ lon = (lon + 180) % 360 - 180
+ return lat, lon
+
+
+def collate_fn(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ keys = list(batch[0].keys())
+ if "weight" in batch[0].keys():
+ keys.remove("weight")
+ output = {}
+ for key in [
+ "idx",
+ "unique_country",
+ "unique_region",
+ "unique_sub-region",
+ "unique_city",
+ "img_idx",
+ "text",
+ ]:
+ if key in keys:
+ idx = [x[key] for x in batch]
+ output[key] = idx
+ keys.remove(key)
+ if "img" in keys and isinstance(batch[0]["img"], Image.Image):
+ output["img"] = [x["img"] for x in batch]
+ keys.remove("img")
+ for key in keys:
+ if not ("text" in key):
+ output[key] = torch.stack([x[key] for x in batch])
+ return output
+
+
+def collate_fn_streetclip(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ keys = list(batch[0].keys())
+ if "weight" in batch[0].keys():
+ keys.remove("weight")
+ output = {}
+ for key in [
+ "idx",
+ "unique_country",
+ "unique_region",
+ "unique_sub-region",
+ "unique_city",
+ "img_idx",
+ "img",
+ "text",
+ ]:
+ if key in keys:
+ idx = [x[key] for x in batch]
+ output[key] = idx
+ keys.remove(key)
+ for key in keys:
+ if not ("text" in key):
+ output[key] = torch.stack([x[key] for x in batch])
+ return output
+
+
+def collate_fn_denstity(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ keys = list(batch[0].keys())
+ if "weight" in batch[0].keys():
+ keys.remove("weight")
+ # Sample indices based on the weights
+ weights = np.array([x["weight"] for x in batch])
+ normalized_weights = weights / np.sum(weights)
+ sampled_indices = np.random.choice(
+ len(batch), size=len(batch), p=normalized_weights, replace=True
+ )
+ output = {}
+ for key in [
+ "idx",
+ "unique_country",
+ "unique_region",
+ "unique_sub-region",
+ "unique_city",
+ "img_idx",
+ "text",
+ ]:
+ if key in keys:
+ idx = [batch[i][key] for i in sampled_indices]
+ output[key] = idx
+ keys.remove(key)
+ for key in keys:
+ if not ("text" in key):
+ output[key] = torch.stack([batch[i][key] for i in sampled_indices])
+ return output
+
+
+def collate_fn_streetclip_denstity(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ keys = list(batch[0].keys())
+ if "weight" in batch[0].keys():
+ keys.remove("weight")
+ # Sample indices based on the weights
+ weights = np.array([x["weight"] for x in batch])
+ normalized_weights = weights / np.sum(weights)
+ sampled_indices = np.random.choice(
+ len(batch), size=len(batch), p=normalized_weights, replace=True
+ )
+ output = {}
+ for key in [
+ "idx",
+ "unique_country",
+ "unique_region",
+ "unique_sub-region",
+ "unique_city",
+ "img_idx",
+ "img",
+ "text",
+ ]:
+ if key in keys:
+ idx = [batch[i][key] for i in sampled_indices]
+ output[key] = idx
+ keys.remove(key)
+ for key in keys:
+ if not ("text" in key):
+ output[key] = torch.stack([batch[i][key] for i in sampled_indices])
+ return output
+
+
+def collate_fn_contrastive(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ output = collate_fn(batch)
+ pos_img = torch.stack([x["pos_img"] for x in batch])
+ output["pos_img"] = pos_img
+ return output
+
+
+def collate_fn_contrastive_density(batch):
+ """Collate function for the dataloader.
+ Args:
+ batch (list): list of dictionaries with keys "img", "gps", "idx" and optionally "label"
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ keys = list(batch[0].keys())
+ if "weight" in batch[0].keys():
+ keys.remove("weight")
+ # Sample indices based on the weights
+ weights = np.array([x["weight"] for x in batch])
+ normalized_weights = weights / np.sum(weights)
+ sampled_indices = np.random.choice(
+ len(batch), size=len(batch), p=normalized_weights, replace=True
+ )
+ output = {}
+ for key in [
+ "idx",
+ "unique_country",
+ "unique_region",
+ "unique_sub-region",
+ "unique_city",
+ "img_idx",
+ ]:
+ if key in keys:
+ idx = [batch[i][key] for i in sampled_indices]
+ output[key] = idx
+ keys.remove(key)
+ for key in keys:
+ if not ("text" in key):
+ output[key] = torch.stack([batch[i][key] for i in sampled_indices])
+ return output
+
+
+class iNaturalist(Dataset):
+ def __init__(
+ self,
+ path,
+ transforms,
+ split="train",
+ output_type="image",
+ embedding_name="dinov2",
+ ):
+ super().__init__()
+ self.split = split
+ with open(Path(path) / f"{split}.json", "r") as f:
+ self.metadata = json.load(f)
+ self.metadata = [
+ datapoint
+ for datapoint in self.metadata["images"]
+ if "latitude" in datapoint and datapoint["latitude"] is not None
+ ]
+ self.path = path
+ self.transforms = transforms
+ self.output_type = output_type
+ self.embedding_name = embedding_name
+
+ self.collate_fn = collate_fn
+
+ def __getitem__(self, i):
+ output = {}
+ if "image" in self.output_type:
+ image_path = Path(self.path) / "images" / self.metadata[i]["file_name"]
+ img = self.transforms(Image.open(image_path))
+ output["img"] = img
+ if "emb" in self.output_type:
+ emb_path = (
+ Path(self.path)
+ / "embeddings"
+ / self.embedding_name
+ / self.metadata[i]["file_name"].replace(".jpg", ".npy")
+ )
+ output["emb"] = torch.tensor(np.load(emb_path))
+ lat, lon = normalize(
+ self.metadata[i]["latitude"], self.metadata[i]["longitude"]
+ )
+ output["gps"] = torch.tensor(
+ [np.radians(lat), np.radians(lon)], dtype=torch.float
+ )
+ output["idx"] = i
+ output["img_idx"] = self.metadata[i]["id"]
+ return output
+
+ def __len__(self):
+ return len(self.metadata)
+
+
+class OSV5M(Dataset):
+ csv_dtype = {"category": str, "country": str, "city": str} # Don't remove.
+
+ def __init__(
+ self,
+ path,
+ transforms,
+ split="train",
+ class_name=None,
+ aux_data=[],
+ is_baseline=False,
+ areas=["country", "region", "sub-region", "city"],
+ streetclip=False,
+ suff="",
+ blur=False,
+ output_type="image",
+ embedding_name="dinov2",
+ ):
+ """Initializes the dataset.
+ Args:
+ path (str): path to the dataset
+ transforms (torchvision.transforms): transforms to apply to the images
+ split (str): split to use (train, val, test)
+ class_name (str): category to use (e.g. "city")
+ aux_data (list of str): auxilliary datas to use
+ areas (list of str): regions to perform accuracy
+ streetclip (bool): if the model is streetclip, do not use transform
+ suff (str): suffix of test csv
+ blur (bool): blur bottom of images or not
+ output_type (str): type of output (image or emb)
+ """
+ self.suff = suff
+ self.path = path
+ self.aux = len(aux_data) > 0
+ self.aux_list = aux_data
+ self.split = split
+ if split == "select":
+ self.df = self.load_split(split)
+ split = "test"
+ else:
+ self.df = self.load_split(split)
+ self.split = split
+ if "image" in output_type:
+ self.image_data_folder = join(
+ path,
+ "images",
+ ("train" if split == "val" else split),
+ )
+ self.image_dict_names = {}
+ for root, _, files in os.walk(self.image_data_folder):
+ for file in files:
+ self.image_dict_names[file] = os.path.join(root, file)
+ if "emb" in output_type:
+ self.emb_data_folder = join(
+ path,
+ "embeddings",
+ embedding_name,
+ ("train" if split == "val" else split),
+ )
+ self.emb_dict_names = {}
+ for root, _, files in os.walk(self.emb_data_folder):
+ for file in files:
+ self.emb_dict_names[file] = os.path.join(root, file)
+
+ self.output_type = output_type
+
+ self.is_baseline = is_baseline
+ if self.aux:
+ self.aux_data = {}
+ for col in self.aux_list:
+ if col in ["land_cover", "climate", "soil"]:
+ self.aux_data[col] = pd.get_dummies(self.df[col], dtype=float)
+ if col == "climate":
+ for i in range(31):
+ if not (i in list(self.aux_data[col].columns)):
+ self.aux_data[col][i] = 0
+ desired_order = [i for i in range(31)]
+ desired_order.remove(20)
+ self.aux_data[col] = self.aux_data[col][desired_order]
+ else:
+ self.aux_data[col] = self.df[col].apply(lambda x: [x])
+
+ self.areas = ["_".join(["unique", area]) for area in areas]
+ if class_name is None:
+ self.class_name = class_name
+ elif "quadtree" in class_name:
+ self.class_name = class_name
+ else:
+ self.class_name = "_".join(["unique", class_name])
+ ex = self.extract_classes(self.class_name)
+ self.df = self.df[
+ ["id", "latitude", "longitude", "weight"] + self.areas + ex
+ ].fillna("NaN")
+ if self.class_name in self.areas:
+ self.df.columns = list(self.df.columns)[:-1] + [self.class_name + "_2"]
+ self.transforms = transforms
+ self.collate_fn = collate_fn
+ self.collate_fn_density = collate_fn_denstity
+ self.blur = blur
+ self.streetclip = streetclip
+ if self.streetclip:
+ self.collate_fn = collate_fn_streetclip
+ self.collate_fn_density = collate_fn_streetclip_denstity
+
+ def load_split(self, split):
+ """Returns a new dataset with the given split."""
+ start_time = time.time()
+ if split == "test":
+ df = pd.read_csv(join(self.path, "test.csv"), dtype=self.csv_dtype)
+ # extract coord
+ longitude = df["longitude"].values
+ latitude = df["latitude"].values
+ # Create bins
+ num_bins = 100
+ lon_bins = np.linspace(longitude.min(), longitude.max(), num_bins)
+ lat_bins = np.linspace(latitude.min(), latitude.max(), num_bins)
+ # compute density and weights
+ hist, _, _ = np.histogram2d(longitude, latitude, bins=[lon_bins, lat_bins])
+ weights = 1.0 / np.power(hist[df["lon_bin"], df["lat_bin"]], 0.75)
+ normalized_weights = weights / np.sum(weights)
+ df["weight"] = normalized_weights
+ return df
+ elif split == "select":
+ df = pd.read_csv(join(self.path, "select.csv"), dtype=self.csv_dtype)
+ # extract coord
+ longitude = df["longitude"].values
+ latitude = df["latitude"].values
+ # Create bins
+ num_bins = 100
+ lon_bins = np.linspace(longitude.min(), longitude.max(), num_bins)
+ lat_bins = np.linspace(latitude.min(), latitude.max(), num_bins)
+ # compute density and weights
+ hist, _, _ = np.histogram2d(longitude, latitude, bins=[lon_bins, lat_bins])
+ weights = 1.0 / np.power(hist[df["lon_bin"], df["lat_bin"]], 0.75)
+ normalized_weights = weights / np.sum(weights)
+ df["weight"] = normalized_weights
+ return df
+ else:
+ if len(self.suff) == 0:
+ df = pd.read_csv(join(self.path, "train.csv"), dtype=self.csv_dtype)
+ else:
+ df = pd.read_csv(
+ join(self.path, "train" + "_" + self.suff + ".csv"),
+ dtype=self.csv_dtype,
+ )
+
+ # extract coord
+ longitude = df["longitude"].values
+ latitude = df["latitude"].values
+ # Create bins
+ num_bins = 100
+ lon_bins = np.linspace(longitude.min(), longitude.max(), num_bins)
+ lat_bins = np.linspace(latitude.min(), latitude.max(), num_bins)
+ # compute density and weights
+ hist, _, _ = np.histogram2d(longitude, latitude, bins=[lon_bins, lat_bins])
+ weights = 1.0 / np.power(hist[df["lon_bin"], df["lat_bin"]], 0.75)
+ normalized_weights = weights / np.sum(weights)
+ df["weight"] = normalized_weights
+
+ test_df = df.sample(
+ n=int(0.1 * len(df)),
+ weights=normalized_weights,
+ replace=False,
+ random_state=42,
+ )
+
+ end_time = time.time()
+ print(f"Loading {split} dataset took {(end_time - start_time):.2f} seconds")
+
+ if split == "val":
+ return test_df
+ else:
+ return df.drop(test_df.index)
+
+ def extract_classes(self, tag=None):
+ """Extracts the categories from the dataset."""
+ if tag is None:
+ self.has_labels = False
+ return []
+ splits = ["train", "test"] if self.is_baseline else ["train"]
+ # splits = ["train", "test"]
+ print(f"Loading categories from {splits}")
+
+ # concatenate all categories from relevant splits to find the unique ones.
+ self.categories = sorted(
+ pd.concat(
+ [pd.read_csv(join(self.path, f"{split}.csv"))[tag] for split in splits]
+ )
+ .fillna("NaN")
+ .unique()
+ .tolist()
+ )
+
+ if "NaN" in self.categories:
+ self.categories.remove("NaN")
+ if self.split != "test":
+ self.df = self.df.dropna(subset=[tag])
+ # compute the total number of categories - this name is fixed and will be used as a lookup during init
+ self.num_classes = len(self.categories)
+
+ # create a mapping from category to index
+ self.category_to_index = {
+ category: i for i, category in enumerate(self.categories)
+ }
+ self.has_labels = True
+ return [tag]
+
+ def __getitem__(self, i):
+ """Returns an item from the dataset.
+ Args:
+ i (int): index of the item
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ x = list(self.df.iloc[i]) # id, latitude, longitude, {category}
+ output = {}
+ if "image" in self.output_type:
+ if self.streetclip:
+ img = Image.open(self.image_dict_names[f"{int(x[0])}.jpg"])
+ elif self.blur:
+ img = transforms.ToTensor()(
+ Image.open(self.image_dict_names[f"{int(x[0])}.jpg"])
+ )
+ u = GaussianBlur(kernel_size=13, sigma=2.0)
+ bottom_part = img[:, -14:, :].unsqueeze(0)
+ blurred_bottom = u(bottom_part)
+ img[:, -14:, :] = blurred_bottom.squeeze()
+ img = self.transforms(transforms.ToPILImage()(img))
+ else:
+ img = self.transforms(
+ Image.open(self.image_dict_names[f"{int(x[0])}.jpg"])
+ )
+ output["img"] = img
+ if "emb" in self.output_type:
+ output["emb"] = torch.FloatTensor(
+ np.load(self.emb_dict_names[f"{int(x[0])}.npy"])
+ )
+
+ lat, lon = normalize(x[1], x[2])
+ gps = torch.FloatTensor([np.radians(lat), np.radians(lon)]).squeeze(0)
+
+ output.update(
+ {
+ "gps": gps,
+ "idx": i,
+ "img_idx": int(x[0]),
+ "weight": x[3],
+ }
+ )
+
+ for count, area in enumerate(self.areas):
+ output[area] = x[
+ count + 4
+ ] #'country': x[3], 'region': x[4], 'sub-region': x[5], 'city': x[6]}
+
+ if self.has_labels:
+ if x[-1] in self.categories:
+ output["label"] = torch.LongTensor(
+ [self.category_to_index[x[-1]]]
+ ).squeeze(-1)
+ else:
+ output["label"] = torch.LongTensor([-1]).squeeze(-1)
+ if self.aux:
+ for col in self.aux_list:
+ output[col] = torch.FloatTensor(self.aux_data[col].iloc[i])
+ return output
+
+ def __len__(self):
+ return len(self.df)
+
+
+class ContrastiveOSV5M(OSV5M):
+ def __init__(
+ self,
+ path,
+ transforms,
+ split="train",
+ class_name=None,
+ aux_data=[],
+ class_name2=None,
+ blur=False,
+ ):
+ """
+ class_name2 (str): if not None, we do contrastive an other class than the one specified for classif
+ """
+ super().__init__(
+ path,
+ transforms,
+ split=split,
+ class_name=class_name,
+ aux_data=aux_data,
+ blur=blur,
+ )
+ self.add_label = False
+ if not (class_name2 is None) and split != "test" and split != "select":
+ self.add_label = True
+ self.class_name = class_name2
+ self.extract_classes_contrastive(tag=class_name2)
+ self.df = self.df.reset_index(drop=True)
+ self.dict_classes = {
+ value: indices.tolist()
+ for value, indices in self.df.groupby(self.class_name).groups.items()
+ }
+ self.collate_fn = collate_fn_contrastive
+ self.random_crop = RandomCrop(224) # use when no positive image is available
+
+ def sample_positive(self, i):
+ """
+ sample positive image from the same city, country if it is available
+ otherwise, apply different crop to the image
+ """
+ x = self.df.iloc[i] # id, latitude, longitude, {category}
+ class_name = x[self.class_name]
+ idxs = self.dict_classes[class_name]
+ idxs.remove(i)
+
+ if len(idxs) > 0:
+ idx = random.choice(idxs)
+ x = self.df.iloc[idx]
+ pos_img = self.transforms(
+ Image.open(self.dict_names[f"{int(x['id'])}.jpg"])
+ )
+ else:
+ pos_img = self.random_crop(
+ self.transforms(Image.open(self.dict_names[f"{int(x['id'])}.jpg"]))
+ )
+ return pos_img
+
+ def extract_classes_contrastive(self, tag=None):
+ """Extracts the categories from the dataset."""
+ if tag is None:
+ self.has_labels = False
+ return []
+ splits = ["train", "test"] if self.is_baseline else ["train"]
+ # splits = ["train", "test"]
+ print(f"Loading categories from {splits}")
+
+ # concatenate all categories from relevant splits to find the unique ones.
+ categories = sorted(
+ pd.concat(
+ [pd.read_csv(join(self.path, f"{split}.csv"))[tag] for split in splits]
+ )
+ .fillna("NaN")
+ .unique()
+ .tolist()
+ )
+ # create a mapping from category to index
+ self.contrastive_category_to_index = {
+ category: i for i, category in enumerate(categories)
+ }
+
+ def __getitem__(self, i):
+ output = super().__getitem__(i)
+ pos_img = self.sample_positive(i)
+ output["pos_img"] = pos_img
+ if self.add_label:
+ output["label_contrastive"] = torch.LongTensor(
+ [self.contrastive_category_to_index[self.df[self.class_name].iloc[i]]]
+ ).squeeze(-1)
+ return output
+
+
+class TextContrastiveOSV5M(OSV5M):
+ def __init__(
+ self,
+ path,
+ transforms,
+ split="train",
+ class_name=None,
+ aux_data=[],
+ blur=False,
+ ):
+ super().__init__(
+ path,
+ transforms,
+ split=split,
+ class_name=class_name,
+ aux_data=aux_data,
+ blur=blur,
+ )
+ self.df = self.df.reset_index(drop=True)
+
+ def get_text(self, i):
+ """
+ sample positive image from the same city, country if it is available
+ otherwise, apply different crop to the image
+ """
+ x = self.df.iloc[i] # id, latitude, longitude, {category}
+ l = [
+ name.split("_")[-1]
+ for name in [
+ x["unique_city"],
+ x["unique_sub-region"],
+ x["unique_region"],
+ x["unique_country"],
+ ]
+ ]
+
+ pre = False
+ sentence = "An image of "
+ if l[0] != "NaN":
+ sentence += "the city of "
+ sentence += l[0]
+ pre = True
+
+ if l[1] != "NaN":
+ if pre:
+ sentence += ", in "
+ sentence += "the area of "
+ sentence += l[1]
+ pre = True
+
+ if l[2] != "NaN":
+ if pre:
+ sentence += ", in "
+ sentence += "the region of "
+ sentence += l[2]
+ pre = True
+
+ if l[3] != "NaN":
+ if pre:
+ sentence += ", in "
+ sentence += l[3]
+
+ return sentence
+
+ def __getitem__(self, i):
+ output = super().__getitem__(i)
+ output["text"] = self.get_text(i)
+ return output
+
+
+import os
+import json
+
+
+class Baseline(Dataset):
+ def __init__(
+ self,
+ path,
+ which,
+ transforms,
+ ):
+ """Initializes the dataset.
+ Args:
+ path (str): path to the dataset
+ which (str): which baseline to use (im2gps, im2gps3k)
+ transforms (torchvision.transforms): transforms to apply to the images
+ """
+ baselines = {
+ "im2gps": self.load_im2gps,
+ "im2gps3k": self.load_im2gps,
+ "yfcc4k": self.load_yfcc4k,
+ }
+ self.path = path
+ self.samples = baselines[which]()
+ self.transforms = transforms
+ self.collate_fn = collate_fn
+ self.class_name = which
+
+ def load_im2gps(
+ self,
+ ):
+ json_path = join(self.path, "info.json")
+ with open(json_path) as f:
+ data = json.load(f)
+
+ samples = []
+ for f in os.listdir(join(self.path, "images")):
+ if len(data[f]):
+ lat = float(data[f][-4].replace("latitude: ", ""))
+ lon = float(data[f][-3].replace("longitude: ", ""))
+ samples.append((f, lat, lon))
+
+ return samples
+
+ def load_yfcc4k(
+ self,
+ ):
+ samples = []
+ with open(join(self.path, "info.txt")) as f:
+ lines = f.readlines()
+ for line in lines:
+ x = line.split("\t")
+ f, lon, lat = x[1], x[12], x[13]
+ samples.append((f + ".jpg", float(lat), float(lon)))
+
+ return samples
+
+ def __getitem__(self, i):
+ """Returns an item from the dataset.
+ Args:
+ i (int): index of the item
+ Returns:
+ dict: dictionary with keys "img", "gps", "idx" and optionally "label"
+ """
+ img_path, lat, lon = self.samples[i]
+ img = self.transforms(
+ Image.open(join(self.path, "images", img_path)).convert("RGB")
+ )
+ lat, lon = normalize(lat, lon)
+ gps = torch.FloatTensor([np.radians(lat), np.radians(lon)]).squeeze(0)
+
+ return {
+ "img": img,
+ "gps": gps,
+ "idx": i,
+ }
+
+ def __len__(self):
+ return len(self.samples)
+
+
+null_transform = lambda x: x
diff --git a/data/datamodule.py b/data/datamodule.py
new file mode 100755
index 0000000000000000000000000000000000000000..f0cb1748944309e6176c20017ed128ee88ebc370
--- /dev/null
+++ b/data/datamodule.py
@@ -0,0 +1,162 @@
+import pytorch_lightning as L
+from torch.utils.data import DataLoader, random_split
+import torch
+import time
+import webdataset as wds
+from torch.utils.data import default_collate
+import math
+from PIL import Image
+
+
+class ImageDataModule(L.LightningDataModule):
+ def __init__(
+ self,
+ train_dataset,
+ val_dataset,
+ test_dataset,
+ full_batch_size,
+ num_workers,
+ eval_batch_size=None,
+ num_nodes=1,
+ num_devices=1,
+ val_proportion=0.1,
+ ):
+ super().__init__()
+ self._builders = {
+ "train": train_dataset,
+ "val": val_dataset,
+ "test": test_dataset,
+ }
+ self.num_workers = num_workers
+ self.collate_fn = dict_collate_fn()
+ self.full_batch_size = full_batch_size
+ self.train_batch_size = full_batch_size // (num_nodes * num_devices)
+ if eval_batch_size is None:
+ self.eval_batch_size = self.train_batch_size
+ self.full_eval_batch_size = self.full_batch_size
+ else:
+ self.eval_batch_size = eval_batch_size // (num_nodes * num_devices)
+ self.full_eval_batch_size = eval_batch_size
+ print(f"Each GPU will receive {self.train_batch_size} images for training")
+ print(f"Each GPU will receive {self.eval_batch_size} images for evaluation")
+ self.val_proportion = val_proportion
+ self.world_size = num_nodes * num_devices
+
+ def setup(self, stage=None):
+ """Setup the datamodule.
+ Args:
+ stage (str): stage of the datamodule
+ Is be one of "fit" or "test" or None
+ """
+ print("Stage", stage)
+ start_time = time.time()
+ if stage == "fit" or stage is None:
+ self.train_dataset = self._builders["train"]()
+ self.train_dataset, self.num_train_batches = self.get_webdataset_length(
+ self.train_dataset,
+ dict_collate_fn(),
+ self.full_batch_size,
+ self.train_batch_size,
+ )
+ self.val_dataset = self._builders["val"]()
+ self.val_dataset, self.num_val_batches = self.get_webdataset_length(
+ self.val_dataset,
+ dict_collate_fn(),
+ self.full_eval_batch_size,
+ self.eval_batch_size,
+ 0,
+ )
+ print(f"Train dataset size: {len(self.train_dataset)}")
+ print(f"Val dataset size: {len(self.val_dataset)}")
+ else:
+ self.test_dataset = self._builders["test"]()
+ self.test_dataset, self.num_test_batches = self.get_webdataset_length(
+ self.test_dataset,
+ dict_collate_fn(),
+ self.full_eval_batch_size,
+ self.eval_batch_size,
+ self.num_workers,
+ )
+ print(f"Test dataset size: {len(self.test_dataset)}")
+ end_time = time.time()
+ print(f"Setup took {(end_time - start_time):.2f} seconds")
+
+ def train_dataloader(self):
+ return wds.WebLoader(
+ self.train_dataset,
+ batch_size=None,
+ shuffle=False,
+ num_workers=self.num_workers,
+ # persistent_workers=self.num_workers > 1,
+ ).with_length(self.num_train_batches)
+ # return DataLoader(
+ # self.train_dataset,
+ # batch_size=self.batch_size,
+ # shuffle=True,
+ # pin_memory=False,
+ # drop_last=True,
+ # num_workers=self.num_workers,
+ # collate_fn=self.train_dataset.collate_fn,
+ # )
+
+ def val_dataloader(self):
+ return wds.WebLoader(
+ self.val_dataset,
+ batch_size=None,
+ shuffle=False,
+ num_workers=0,
+ ).with_length(self.num_val_batches)
+
+ def test_dataloader(self):
+ return wds.WebLoader(
+ self.test_dataset,
+ batch_size=None,
+ shuffle=False,
+ num_workers=0,
+ ).with_length(self.num_test_batches)
+
+ def get_webdataset_length(
+ self, dataset, collate_fn, full_batch_size, batch_size, num_workers=0
+ ):
+ dataset = dataset.compose(
+ wds.batched(
+ batch_size,
+ partial=self.world_size > 1,
+ collation_fn=collate_fn,
+ # dict_collate_and_pad(["flan_t5_xl"], max_length=256),
+ )
+ )
+ num_samples = dataset.num_samples
+ if self.world_size > 1:
+ num_batches = math.ceil(num_samples / full_batch_size)
+ num_workers = max(1, num_workers)
+
+ num_worker_batches = math.ceil(num_batches / num_workers)
+ num_batches = num_worker_batches * num_workers
+ num_samples = num_batches * full_batch_size
+
+ dataset = dataset.with_epoch(num_worker_batches).with_length(
+ num_worker_batches
+ )
+ else:
+ num_batches = math.ceil(num_samples / batch_size)
+
+ dataset = dataset.with_epoch(num_batches).with_length(num_batches)
+ return dataset, num_batches
+
+
+def dict_collate_fn():
+ def dict_collate(batch):
+ output_dict = {}
+ if isinstance(batch[0], dict):
+ for key in batch[0].keys():
+ output_dict[key] = dict_collate([item[key] for item in batch])
+ else:
+ # Check if the batch contains PIL images
+ if isinstance(batch[0], Image.Image):
+ output_dict = batch # Return list of PIL images directly
+ else:
+ output_dict = default_collate(batch)
+ return output_dict
+
+ return dict_collate
diff --git a/data/extract_embeddings/__init__.py b/data/extract_embeddings/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/data/extract_embeddings/__pycache__/__init__.cpython-310.pyc b/data/extract_embeddings/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..d0de6686959cbbe7bd0be9c8bf0075b1ad940aa4
Binary files /dev/null and b/data/extract_embeddings/__pycache__/__init__.cpython-310.pyc differ
diff --git a/data/extract_embeddings/__pycache__/dataset_with_path.cpython-310.pyc b/data/extract_embeddings/__pycache__/dataset_with_path.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..540d082efc1664c2273af19b75d2b514cf4d5454
Binary files /dev/null and b/data/extract_embeddings/__pycache__/dataset_with_path.cpython-310.pyc differ
diff --git a/data/extract_embeddings/__pycache__/utils.cpython-310.pyc b/data/extract_embeddings/__pycache__/utils.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e4e5ad10d0a53fa9bd1bddd79fec24a8d3044d7d
Binary files /dev/null and b/data/extract_embeddings/__pycache__/utils.cpython-310.pyc differ
diff --git a/data/extract_embeddings/dataset_with_path.py b/data/extract_embeddings/dataset_with_path.py
new file mode 100644
index 0000000000000000000000000000000000000000..832886bc84dc5e1c4784390b71ae354f5128b60a
--- /dev/null
+++ b/data/extract_embeddings/dataset_with_path.py
@@ -0,0 +1,28 @@
+from PIL import Image
+from pathlib import Path
+import torch
+import numpy as np
+from tqdm import tqdm
+
+
+class ImageWithPathDataset(torch.utils.data.Dataset):
+ def __init__(self, root_image_path, output_path, transform=None):
+ self.root_image_path = root_image_path
+ self.image_paths = list(root_image_path.glob("**/*.jpg"))
+ self.transform = transform
+ self.output_path = output_path
+
+ def __len__(self):
+ return len(self.image_paths)
+
+ def __getitem__(self, idx):
+ image_path = self.image_paths[idx]
+ image = Image.open(image_path).convert("RGB")
+ if self.transform:
+ image = self.transform(image)
+ output_emb_path = self.output_path / image_path.parent.relative_to(
+ self.root_image_path
+ )
+ output_emb_path.mkdir(exist_ok=True, parents=True)
+ output_emb_path = output_emb_path / image_path.stem
+ return image, output_emb_path
diff --git a/data/extract_embeddings/dino_v2.py b/data/extract_embeddings/dino_v2.py
new file mode 100644
index 0000000000000000000000000000000000000000..b271180d2c98ab4b74121befb0323921d5b90660
--- /dev/null
+++ b/data/extract_embeddings/dino_v2.py
@@ -0,0 +1,88 @@
+import os, sys
+
+# Ajouter le répertoire racine au chemin
+root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
+sys.path.append(root_dir)
+
+import torch
+from utils.image_processing import CenterCrop
+from data.extract_embeddings.dataset_with_path import ImageWithPathDataset
+import torch
+from torchvision import transforms
+from pathlib import Path
+
+
+from tqdm import tqdm
+import numpy as np
+import argparse
+
+parser = argparse.ArgumentParser()
+parser.add_argument(
+ "--number_of_splits",
+ type=int,
+ help="Number of splits to process",
+ default=1,
+)
+parser.add_argument(
+ "--split_index",
+ type=int,
+ help="Index of the split to process",
+ default=0,
+)
+parser.add_argument(
+ "--input_path",
+ type=str,
+ help="Path to the input dataset",
+)
+parser.add_argument(
+ "--output_path",
+ type=str,
+ help="Path to the output dataset",
+)
+
+args = parser.parse_args()
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+
+model = torch.hub.load("facebookresearch/dinov2", "dinov2_vitl14_reg")
+model = torch.compile(model, mode="max-autotune")
+model.eval()
+model.to(device)
+
+input_path = Path(args.input_path)
+output_path = Path(args.output_path)
+
+output_path.mkdir(exist_ok=True, parents=True)
+augmentation = transforms.Compose(
+ [
+ CenterCrop(ratio="1:1"),
+ transforms.Resize(336, interpolation=transforms.InterpolationMode.BICUBIC),
+ transforms.ToTensor(),
+ transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
+ ]
+)
+dataset = ImageWithPathDataset(input_path, output_path, transform=augmentation)
+dataset = torch.utils.data.Subset(
+ dataset,
+ range(
+ args.split_index * len(dataset) // args.number_of_splits,
+ (
+ (args.split_index + 1) * len(dataset) // args.number_of_splits
+ if args.split_index != args.number_of_splits - 1
+ else len(dataset)
+ ),
+ ),
+)
+
+batch_size = 128
+dataloader = torch.utils.data.DataLoader(
+ dataset, batch_size=batch_size, num_workers=16, collate_fn=lambda x: zip(*x)
+)
+
+for images, output_emb_paths in tqdm(dataloader):
+ images = torch.stack(images, dim=0).to(device)
+ with torch.no_grad():
+ embeddings = model(images)
+ numpy_embeddings = embeddings.cpu().numpy()
+ for emb, output_emb_path in zip(numpy_embeddings, output_emb_paths):
+ np.save(f"{output_emb_path}.npy", emb)
diff --git a/data/extract_embeddings/launch_embedding_extraction.py b/data/extract_embeddings/launch_embedding_extraction.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1a9c39d95b0b0aed3ed4c28682c6b6f23e24e29
--- /dev/null
+++ b/data/extract_embeddings/launch_embedding_extraction.py
@@ -0,0 +1,79 @@
+import sys
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).resolve().parent.parent.parent))
+import argparse
+import os
+
+from jean_zay.launch import JeanZayExperiment
+
+
+def parse_mode():
+ parser = argparse.ArgumentParser(
+ description="Extract embeddings from a dataset using DINOv2"
+ )
+ parser.add_argument(
+ "--launch",
+ action="store_true",
+ help="Launch the experiment",
+ )
+ parser.add_argument(
+ "--number_of_splits",
+ type=int,
+ help="Number of splits to process",
+ default=1,
+ )
+ parser.add_argument(
+ "--input_path",
+ type=str,
+ help="Path to the input dataset",
+ )
+ parser.add_argument(
+ "--output_path",
+ type=str,
+ help="Path to the output dataset",
+ )
+ args = parser.parse_args()
+
+ return args
+
+
+args = parse_mode()
+
+cmd_modifiers = []
+exps = []
+
+exp_name = f"preprocess_data"
+job_name = f"preprocess_data"
+jz_exp = JeanZayExperiment(
+ exp_name,
+ job_name,
+ slurm_array_nb_jobs=args.number_of_splits,
+ cmd_path="data/extract_embeddings/dino_v2.py",
+ num_nodes=1,
+ num_gpus_per_node=1,
+ qos="t3",
+ account="mya",
+ gpu_type="h100",
+ time="02:00:00",
+)
+
+exps.append(jz_exp)
+
+trainer_modifiers = {}
+
+exp_modifier = {
+ "--input_path": args.input_path,
+ "--output_path": args.output_path,
+ "--number_of_splits": args.number_of_splits,
+ "--split_index": "${SLURM_ARRAY_TASK_ID}",
+}
+
+cmd_modifiers.append(dict(trainer_modifiers, **exp_modifier))
+
+
+if __name__ == "__main__":
+ for exp, cmd_modifier in zip(exps, cmd_modifiers):
+ exp.build_cmd(cmd_modifier)
+ if args.launch == True:
+ exp.launch()
diff --git a/data/extract_embeddings/so_siglip.py b/data/extract_embeddings/so_siglip.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff95dba2dd446403814dd6b6639b09ee33779b17
--- /dev/null
+++ b/data/extract_embeddings/so_siglip.py
@@ -0,0 +1,44 @@
+import os, sys
+
+import torch.amp
+
+# Ajouter le répertoire racine au chemin
+root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
+sys.path.append(root_dir)
+
+from PIL import Image
+from pathlib import Path
+import torch
+from transformers import AutoProcessor, AutoModelForZeroShotImageClassification
+import numpy as np
+from tqdm import tqdm
+from data.extract_embeddings.dataset_with_path import ImageWithPathDataset
+
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+model = AutoModelForZeroShotImageClassification.from_pretrained(
+ "google/siglip-so400m-patch14-384"
+).vision_model.to(device)
+processor = AutoProcessor.from_pretrained("google/siglip-so400m-patch14-384")
+
+input_path = Path("datasets/osv5m/images")
+output_path = Path("datasets/osv5m/embeddings/so_siglip")
+
+output_path.mkdir(exist_ok=True, parents=True)
+
+dataset = ImageWithPathDataset(input_path, output_path)
+model = torch.compile(model, fullgraph=True)
+
+batch_size = 64
+dataloader = torch.utils.data.DataLoader(
+ dataset, batch_size=batch_size, num_workers=16, collate_fn=lambda x: zip(*x)
+)
+with torch.amp.autocast("cuda", enabled=True, dtype=torch.bfloat16), torch.no_grad():
+ for images, output_emb_paths in tqdm(dataloader):
+ inputs = processor(images=images, return_tensors="pt")
+ inputs = {k: v.to(device) for k, v in inputs.items()}
+ outputs = model(**inputs)
+ embeddings = outputs.last_hidden_state[:, 0]
+ numpy_embeddings = embeddings.cpu().numpy()
+ for emb, output_emb_path in zip(numpy_embeddings, output_emb_paths):
+ np.save(f"{output_emb_path}.npy", emb)
diff --git a/data/extract_embeddings/street_clip.py b/data/extract_embeddings/street_clip.py
new file mode 100644
index 0000000000000000000000000000000000000000..11e3a8eccc92551e7ddaaa8cbbd18252ceaa81c1
--- /dev/null
+++ b/data/extract_embeddings/street_clip.py
@@ -0,0 +1,40 @@
+import os, sys
+
+# Ajouter le répertoire racine au chemin
+root_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), "../.."))
+sys.path.append(root_dir)
+
+from PIL import Image
+from pathlib import Path
+import torch
+from transformers import CLIPProcessor, CLIPVisionModel
+import numpy as np
+from tqdm import tqdm
+from data.extract_embeddings.dataset_with_path import ImageWithPathDataset
+
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+model = CLIPVisionModel.from_pretrained("geolocal/StreetCLIP").to(device)
+processor = CLIPProcessor.from_pretrained("geolocal/StreetCLIP")
+
+input_path = Path("datasets/osv5m/images")
+output_path = Path("datasets/osv5m/embeddings/street_clip")
+
+output_path.mkdir(exist_ok=True, parents=True)
+
+dataset = ImageWithPathDataset(input_path)
+
+batch_size = 128
+dataloader = torch.utils.data.DataLoader(
+ dataset, batch_size=batch_size, num_workers=16, collate_fn=lambda x: zip(*x)
+)
+
+for images, output_emb_paths in tqdm(dataloader):
+ inputs = processor(images=images, return_tensors="pt")
+ inputs = {k: v.to(device) for k, v in inputs.items()}
+ with torch.no_grad():
+ outputs = model(**inputs)
+ embeddings = outputs.last_hidden_state[:, 0]
+ numpy_embeddings = embeddings.cpu().numpy()
+ for emb, output_emb_path in zip(numpy_embeddings, output_emb_paths):
+ np.save(f"{output_emb_path}.npy", emb)
diff --git a/data/to_webdataset/inaturalist_to_wds.py b/data/to_webdataset/inaturalist_to_wds.py
new file mode 100644
index 0000000000000000000000000000000000000000..d3d1912d52b196c099d5258c50739a0f5954959c
--- /dev/null
+++ b/data/to_webdataset/inaturalist_to_wds.py
@@ -0,0 +1,132 @@
+import webdataset as wds
+from pathlib import Path
+import json
+import numpy as np
+from PIL import Image
+
+
+def main(
+ src_json,
+ dest_folder,
+ num_samples_per_tar=10000,
+ number_of_jobs=10,
+ job_offset=0,
+):
+ with open(src_json, "r") as f:
+ data = json.load(f)
+ import pandas as pd
+
+ root_path = Path(src_json).parent
+
+ # Convert images list to pandas dataframe
+ data_df = pd.DataFrame(data["images"])
+ if "annotations" in data:
+ has_annotations = True
+ annotations_df = pd.DataFrame(data["annotations"])
+ # Join the dataframes on id to get category_id from annotations
+ data_df = data_df.merge(
+ annotations_df[["id", "category_id"]],
+ left_on="id",
+ right_on="id",
+ how="left",
+ )
+ categories_df = pd.DataFrame(data["categories"])
+ data_df = data_df.merge(
+ categories_df[
+ [
+ "id",
+ "name",
+ "common_name",
+ "supercategory",
+ "kingdom",
+ "phylum",
+ "class",
+ "order",
+ "family",
+ "genus",
+ "specific_epithet",
+ ]
+ ],
+ left_on="category_id",
+ right_on="id",
+ how="left",
+ )
+ data_df.rename(
+ columns={
+ "id_x": "id",
+ },
+ inplace=True,
+ )
+ del data_df["id_y"]
+ else:
+ has_annotations = False
+ data_df = data_df[data_df["latitude"].notna() & data_df["longitude"].notna()]
+ num_samples = len(data_df)
+ num_total_tar = num_samples // num_samples_per_tar + (
+ 1 if num_samples % num_samples_per_tar > 0 else 0
+ )
+ number_of_tar_per_job = num_total_tar // number_of_jobs
+ if job_offset == number_of_jobs - 1:
+ data_df = data_df.iloc[
+ number_of_tar_per_job * job_offset * num_samples_per_tar :
+ ]
+ else:
+ data_df = data_df.iloc[
+ number_of_tar_per_job
+ * job_offset
+ * num_samples_per_tar : number_of_tar_per_job
+ * (job_offset + 1)
+ * num_samples_per_tar
+ ]
+ print(f"Processing job {job_offset} with {len(data_df)} / {num_samples} samples")
+ print(f"Number of tar: {number_of_tar_per_job} / {num_total_tar}")
+ print(f"Start shard: {number_of_tar_per_job * job_offset}")
+ with wds.ShardWriter(
+ str(Path(dest_folder) / "%04d.tar"),
+ maxcount=num_samples_per_tar,
+ start_shard=number_of_tar_per_job * job_offset,
+ ) as sink:
+ for i in range(len(data_df)):
+ row = data_df.iloc[i]
+ image_path = Path(root_path) / Path("images") / row["file_name"]
+ dinov2_embedding_path = (
+ Path(root_path)
+ / Path("embeddings")
+ / Path("dinov2")
+ / f"{row['file_name'].replace('.jpg', '.npy')}"
+ )
+ sample = {
+ "__key__": str(row["id"]),
+ "jpg": Image.open(image_path).convert("RGB"),
+ "dinov2_vitl14_registers.npy": np.load(dinov2_embedding_path),
+ "json": row.to_dict(),
+ }
+ sink.write(sample)
+
+
+if __name__ == "__main__":
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--src_json", help="pixel_input_folder")
+ parser.add_argument("--dest", help="path to destination web")
+ parser.add_argument(
+ "--num_samples_per_tar",
+ help="number of samples per tar",
+ type=int,
+ default=10000,
+ )
+ parser.add_argument("--number_of_jobs", help="number of jobs", type=int, default=10)
+ parser.add_argument("--job_offset", help="job offset", type=int, default=0)
+ args = parser.parse_args()
+
+ dest = Path(args.dest)
+ dest.mkdir(exist_ok=True, parents=True)
+
+ main(
+ args.src_json,
+ args.dest,
+ args.num_samples_per_tar,
+ args.number_of_jobs,
+ args.job_offset,
+ )
diff --git a/data/to_webdataset/launch_inaturalist_preprocessing.py b/data/to_webdataset/launch_inaturalist_preprocessing.py
new file mode 100644
index 0000000000000000000000000000000000000000..b0c72512fde2af8e50c43c8bb9b8cae0b12f484a
--- /dev/null
+++ b/data/to_webdataset/launch_inaturalist_preprocessing.py
@@ -0,0 +1,73 @@
+import sys
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).resolve().parent.parent.parent))
+import argparse
+import os
+
+from jean_zay.launch import JeanZayExperiment
+
+
+def parse_mode():
+ parser = argparse.ArgumentParser(
+ description="Extract embeddings from a dataset using DINOv2"
+ )
+ parser.add_argument(
+ "--launch",
+ action="store_true",
+ help="Launch the experiment",
+ )
+ parser.add_argument("--src_json", help="path to src json")
+ parser.add_argument("--dest", help="path to dest")
+ parser.add_argument(
+ "--num_samples_per_tar",
+ help="number of samples per tar",
+ type=int,
+ default=10000,
+ )
+ parser.add_argument("--number_of_jobs", help="number of jobs", type=int, default=10)
+ args = parser.parse_args()
+
+ return args
+
+
+args = parse_mode()
+
+cmd_modifiers = []
+exps = []
+
+exp_name = f"inaturalist_preprocessing"
+job_name = f"inaturalist_preprocessing"
+jz_exp = JeanZayExperiment(
+ exp_name,
+ job_name,
+ slurm_array_nb_jobs=args.number_of_jobs,
+ cmd_path="data/to_webdataset/inaturalist_to_wds.py",
+ num_nodes=1,
+ num_gpus_per_node=1,
+ qos="t3",
+ account="syq",
+ gpu_type="v100",
+ time="1:00:00",
+)
+
+exps.append(jz_exp)
+
+trainer_modifiers = {}
+
+exp_modifier = {
+ "--src_json": args.src_json,
+ "--dest": args.dest,
+ "--num_samples_per_tar": args.num_samples_per_tar,
+ "--number_of_jobs": args.number_of_jobs,
+ "--job_offset": "${SLURM_ARRAY_TASK_ID}",
+}
+
+cmd_modifiers.append(dict(trainer_modifiers, **exp_modifier))
+
+
+if __name__ == "__main__":
+ for exp, cmd_modifier in zip(exps, cmd_modifiers):
+ exp.build_cmd(cmd_modifier)
+ if args.launch == True:
+ exp.launch()
diff --git a/data/to_webdataset/launch_osv_5m_embeddings.py b/data/to_webdataset/launch_osv_5m_embeddings.py
new file mode 100644
index 0000000000000000000000000000000000000000..1d50e456dac7c931da7f34a6c8d51323cd5ccbe0
--- /dev/null
+++ b/data/to_webdataset/launch_osv_5m_embeddings.py
@@ -0,0 +1,63 @@
+import sys
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).resolve().parent.parent.parent))
+import argparse
+import os
+
+from jean_zay.launch import JeanZayExperiment
+
+
+def parse_mode():
+ parser = argparse.ArgumentParser(description="Process some integers.")
+ parser.add_argument("--launch", action="store_true")
+ parser.add_argument("--src", help="path to source files")
+ parser.add_argument("--dest", help="path to destination files")
+ args = parser.parse_args()
+
+ return args
+
+
+args = parse_mode()
+
+dataset_path = Path(args.src)
+
+list_of_shards = list(dataset_path.glob("*.tar"))
+list_of_shards.sort()
+
+
+cmd_modifiers = []
+exps = []
+
+exp_name = f"preprocess_data"
+job_name = f"preprocess_data"
+jz_exp = JeanZayExperiment(
+ exp_name,
+ job_name,
+ slurm_array_nb_jobs=len(list_of_shards),
+ cmd_path="data/to_webdataset/osv_to_wds.py",
+ num_nodes=1,
+ qos="t3",
+ account="syq",
+ gpu_type="a100",
+ time="01:00:00",
+)
+
+exps.append(jz_exp)
+
+trainer_modifiers = {}
+
+exp_modifier = {
+ "--src": dataset_path,
+ "--dest": Path(args.dest),
+ "--shard_id": "${SLURM_ARRAY_TASK_ID}",
+}
+
+cmd_modifiers.append(dict(trainer_modifiers, **exp_modifier))
+
+
+if __name__ == "__main__":
+ for exp, cmd_modifier in zip(exps, cmd_modifiers):
+ exp.build_cmd(cmd_modifier)
+ if args.launch == True:
+ exp.launch()
diff --git a/data/to_webdataset/launch_yfcc_preprocessing.py b/data/to_webdataset/launch_yfcc_preprocessing.py
new file mode 100644
index 0000000000000000000000000000000000000000..2af2294d673e6ff698e1e565e8df7181b4131efa
--- /dev/null
+++ b/data/to_webdataset/launch_yfcc_preprocessing.py
@@ -0,0 +1,76 @@
+import sys
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).resolve().parent.parent.parent))
+import argparse
+import os
+
+from jean_zay.launch import JeanZayExperiment
+
+
+def parse_mode():
+ parser = argparse.ArgumentParser(
+ description="Extract embeddings from YFCC dataset using DINOv2"
+ )
+ parser.add_argument(
+ "--launch",
+ action="store_true",
+ help="Launch the experiment",
+ )
+ parser.add_argument("--src_csv_dir", help="path to source csv directory")
+ parser.add_argument("--src_images_dir", help="path to source images directory")
+ parser.add_argument("--dest", help="path to destination")
+ parser.add_argument(
+ "--num_samples_per_tar",
+ help="number of samples per tar",
+ type=int,
+ default=10000,
+ )
+ parser.add_argument("--batch_size", help="batch size", type=int, default=256)
+ args = parser.parse_args()
+
+ return args
+
+
+args = parse_mode()
+
+number_of_jobs = len(list(Path(args.src_csv_dir).glob("*.csv")))
+cmd_modifiers = []
+exps = []
+
+exp_name = f"yfcc_preprocessing"
+job_name = f"yfcc_preprocessing"
+jz_exp = JeanZayExperiment(
+ exp_name,
+ job_name,
+ slurm_array_nb_jobs=number_of_jobs,
+ cmd_path="data/to_webdataset/yfcc_to_wds.py",
+ num_nodes=1,
+ num_gpus_per_node=1,
+ qos="t3",
+ account="syq",
+ gpu_type="a100",
+ time="1:30:00",
+)
+
+exps.append(jz_exp)
+
+trainer_modifiers = {}
+
+exp_modifier = {
+ "--src_csv_dir": args.src_csv_dir,
+ "--src_images_dir": args.src_images_dir,
+ "--dest": args.dest,
+ "--num_samples_per_tar": args.num_samples_per_tar,
+ "--job_offset": "${SLURM_ARRAY_TASK_ID}",
+ "--batch_size": args.batch_size,
+}
+
+cmd_modifiers.append(dict(trainer_modifiers, **exp_modifier))
+
+
+if __name__ == "__main__":
+ for exp, cmd_modifier in zip(exps, cmd_modifiers):
+ exp.build_cmd(cmd_modifier)
+ if args.launch == True:
+ exp.launch()
diff --git a/data/to_webdataset/osv_to_wds.py b/data/to_webdataset/osv_to_wds.py
new file mode 100644
index 0000000000000000000000000000000000000000..85b40591413c0b5e0da0c9526c6b9668c911183f
--- /dev/null
+++ b/data/to_webdataset/osv_to_wds.py
@@ -0,0 +1,138 @@
+import sys
+from pathlib import Path
+
+sys.path.append(str(Path(__file__).resolve().parent.parent.parent))
+import argparse
+import json
+from collections import UserDict
+from pathlib import Path
+
+import numpy as np
+import torch
+import webdataset as wds
+from PIL import Image
+from torchvision import transforms
+from tqdm import tqdm
+from webdataset.autodecode import ImageHandler
+from utils.image_processing import CenterCrop
+
+print("Loading dinov2")
+augmentation_dinov2 = transforms.Compose(
+ [
+ CenterCrop(ratio="1:1"),
+ transforms.Resize(336, interpolation=transforms.InterpolationMode.BICUBIC),
+ transforms.ToTensor(),
+ transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
+ ]
+)
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+
+dinov2_model = torch.hub.load("facebookresearch/dinov2", "dinov2_vitl14_reg")
+dinov2_model.eval()
+dinov2_model.to(device)
+print(f"Model loaded on {device}")
+
+
+def dict_collate(batch):
+ output_dict = {}
+ if isinstance(batch[0], dict):
+ for key in batch[0].keys():
+ list_key = [d[key] for d in batch]
+ if key != "json":
+ output_dict[key] = dict_collate(list_key)
+ else:
+ output_dict[key] = list_key
+ return output_dict
+ elif isinstance(batch[0], Image.Image):
+ return [img for img in batch]
+ else:
+ return torch.utils.data.dataloader.default_collate(batch)
+
+
+def log_and_continue(exn):
+ """Call in an exception handler to ignore any exception, issue a warning, and continue."""
+ # logging.warning(f"Handling webdataset error ({repr(exn)}). Ignoring.")
+ return True
+
+
+device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
+
+
+def add_clip_scores_and_embeddings(src, dest, batch_size=512):
+ dataset = wds.DataPipeline(
+ wds.SimpleShardList(str(src)),
+ wds.split_by_worker,
+ wds.tarfile_to_samples(),
+ wds.rename(
+ __key__="__key__",
+ dino_image="jpg",
+ image="jpg",
+ street_clip="street_clip.npy",
+ json="json",
+ ),
+ wds.decode(
+ ImageHandler("pilrgb", ["dino_image"])
+ ), # avoid encoding decoding jpeg for true
+ wds.map_dict(
+ dino_image=augmentation_dinov2,
+ image=lambda x: x,
+ street_clip=lambda x: x,
+ json=lambda x: x,
+ ),
+ wds.to_tuple(
+ "__key__",
+ "dino_image",
+ "street_clip",
+ "image",
+ "json",
+ ),
+ wds.batched(batch_size),
+ )
+ loader = wds.WebLoader(dataset, num_workers=8, batch_size=None)
+ with wds.TarWriter(str(dest)) as sink:
+ for batch in tqdm(loader, total=10000 // batch_size):
+ (
+ keys,
+ dino_image,
+ street_clip,
+ image,
+ json,
+ ) = batch
+ dino_image = dino_image.to(device)
+ with torch.no_grad():
+ dino_embedding = dinov2_model(dino_image).cpu().numpy()
+ for i in range(len(keys)):
+ sample = {
+ "__key__": keys[i],
+ "jpg": image[i],
+ "street_clip.npy": street_clip[i],
+ "json": json[i],
+ "dinov2_vitl14_registers.npy": dino_embedding[i],
+ }
+ sink.write(sample)
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--src", help="path to source files")
+ parser.add_argument("--dest", help="path to destination files")
+ parser.add_argument("--shard_id", help="shard id")
+ args = parser.parse_args()
+
+ src = Path(args.src)
+ list_of_shards = list(src.glob("*.tar"))
+ list_of_shards.sort()
+ shard = str(list_of_shards[int(args.shard_id)]).split("/")[-1]
+ dest = Path(args.dest)
+ dest.mkdir(exist_ok=True, parents=True)
+ batch_size = 256
+
+ print(f"Loading {shard}")
+
+ tar_name = shard.split(".")[0]
+
+ src_shard = src / shard # f"{{{tar_name}...{tar_name}}}.tar"
+
+ print(f"Processing {src_shard} to {dest / shard}")
+ add_clip_scores_and_embeddings(src_shard, dest / shard, batch_size)
diff --git a/data/to_webdataset/process_yfcc_metadata.py b/data/to_webdataset/process_yfcc_metadata.py
new file mode 100644
index 0000000000000000000000000000000000000000..9de3e127a17994ff097a3d553ce074252b3e6d16
--- /dev/null
+++ b/data/to_webdataset/process_yfcc_metadata.py
@@ -0,0 +1,99 @@
+import dask
+import dask.dataframe as dd
+from dask.diagnostics import ProgressBar
+
+with ProgressBar():
+ ddf = dd.read_csv(
+ "../datasets/YFCC100M/yfcc100m_dataset",
+ names=[
+ "photo_id",
+ "user_nsid",
+ "user_nickname",
+ "date_taken",
+ "date_uploaded",
+ "capture_device",
+ "title",
+ "description",
+ "user_tags",
+ "machine_tags",
+ "longitude",
+ "latitude",
+ "accuracy",
+ "page_url",
+ "download_url",
+ "license_name",
+ "license_url",
+ "server_id",
+ "farm_id",
+ "secret",
+ "secret_original",
+ "extension",
+ "media_type",
+ ],
+ dtype={
+ "photo_id": str,
+ "user_nsid": str,
+ "user_nickname": str,
+ "user_tags": str,
+ "machine_tags": str,
+ "longitude": float,
+ "latitude": float,
+ "accuracy": float,
+ "server_id": str,
+ "farm_id": str,
+ "secret": str,
+ "secret_original": str,
+ "extension": str,
+ "media_type": float,
+ },
+ sep="\t",
+ )
+ ddf = ddf[
+ [
+ "photo_id",
+ "longitude",
+ "latitude",
+ "accuracy",
+ "extension",
+ "download_url",
+ "media_type",
+ ]
+ ]
+ filtered_ddf = ddf[
+ ddf["longitude"].notnull()
+ & ddf["latitude"].notnull()
+ & (ddf["media_type"] == 0)
+ ]
+ del ddf["media_type"]
+ hash_ddf = dd.read_csv(
+ "../datasets/YFCC100M/yfcc100m_hash",
+ names=["photo_id", "hash"],
+ dtype={"photo_id": str, "hash": str},
+ sep="\t",
+ )
+ filtered_ddf = filtered_ddf.merge(hash_ddf, on="photo_id", how="left")
+ # Read the 4k photo IDs
+ with open("../datasets/YFCC100M/yfcc_4k_ids.txt", "r") as f:
+ test_photo_ids = set(f.read().splitlines())
+
+ # Split the dataframe based on whether photo_id is in test set
+ filter = filtered_ddf["photo_id"].isin(test_photo_ids)
+ test_ddf = filtered_ddf[filter]
+ train_ddf = filtered_ddf[~filter]
+
+ train_ddf = train_ddf[train_ddf["accuracy"] >= 12]
+
+ # Save the split dataframes
+ test_ddf.to_csv(
+ "../datasets/YFCC100M/yfcc_4k_dataset_with_gps.csv",
+ sep="\t",
+ index=False,
+ single_file=True,
+ )
+ train_ddf = train_ddf.repartition(npartitions=len(train_ddf) // 100000 + 1)
+ train_ddf.to_csv(
+ "../datasets/YFCC100M/yfcc100m_dataset_with_gps_train/*.csv",
+ sep="\t",
+ index=False,
+ single_file=False,
+ )
diff --git a/data/to_webdataset/rebalance_csv.py b/data/to_webdataset/rebalance_csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..200bf543ba246e20d7c20b165cbc3c4e896ce9bb
--- /dev/null
+++ b/data/to_webdataset/rebalance_csv.py
@@ -0,0 +1,74 @@
+import csv
+import os
+import sys
+import glob
+import tqdm
+
+
+def split_csv_files(input_files, output_dir, lines_per_file=100000):
+ # Ensure output directory exists
+ os.makedirs(output_dir, exist_ok=True)
+
+ # Initialize counters
+ total_lines = 0
+ file_count = 0
+ current_line_count = 0
+
+ # Initialize the first output file
+ output_file = os.path.join(output_dir, f"{str(file_count).zfill(3)}.csv")
+ output_writer = open(output_file, "w", newline="")
+ csv_writer = None
+
+ try:
+ for file_path in tqdm.tqdm(input_files, desc="Processing files"):
+ with open(file_path, "r") as csv_file:
+ csv_reader = csv.reader(csv_file)
+
+ # Initialize writer once we have the header row
+ if csv_writer is None:
+ header = next(csv_reader)
+ csv_writer = csv.writer(output_writer)
+ csv_writer.writerow(header)
+
+ # Process each line in the current file
+ for row in csv_reader:
+ if current_line_count >= lines_per_file:
+ # Close the current file and start a new one
+ output_writer.close()
+ file_count += 1
+ current_line_count = 0
+ output_file = os.path.join(
+ output_dir, f"{str(file_count).zfill(3)}.csv"
+ )
+ output_writer = open(output_file, "w", newline="")
+ csv_writer = csv.writer(output_writer)
+ csv_writer.writerow(header) # Write header to new file
+
+ # Write row to the current output file
+ csv_writer.writerow(row)
+ current_line_count += 1
+ total_lines += 1
+
+ finally:
+ # Close the last output file
+ if output_writer:
+ output_writer.close()
+
+ print(f"Total lines processed: {total_lines}")
+ print(f"Files created: {file_count + 1}")
+
+
+if __name__ == "__main__":
+ input_dir = "../datasets/YFCC100M/yfcc100m_dataset_with_gps_train"
+ output_dir = "../datasets/YFCC100M/yfcc100m_dataset_with_gps_train_balanced"
+ lines_per_file = 100000
+
+ # Get all CSV files in input directory
+ input_files = glob.glob(os.path.join(input_dir, "*.csv"))
+
+ if not input_files:
+ print(f"No CSV files found in {input_dir}")
+ sys.exit(1)
+
+ print(f"Found {len(input_files)} CSV files")
+ split_csv_files(input_files, output_dir, lines_per_file)
diff --git a/data/to_webdataset/yfcc_to_wds.py b/data/to_webdataset/yfcc_to_wds.py
new file mode 100644
index 0000000000000000000000000000000000000000..62297ecaeac64113e89b3247f716e380ee4e675b
--- /dev/null
+++ b/data/to_webdataset/yfcc_to_wds.py
@@ -0,0 +1,162 @@
+import webdataset as wds
+from pathlib import Path
+import pandas as pd
+import numpy as np
+from PIL import Image
+import torch
+import torchvision.transforms as transforms
+from torch.utils.data import Dataset, DataLoader
+from utils.image_processing import CenterCrop
+from tqdm import tqdm
+import os
+
+tqdm.pandas()
+
+print("Loading dinov2")
+augmentation_dinov2 = transforms.Compose(
+ [
+ CenterCrop(ratio="1:1"),
+ transforms.Resize(336, interpolation=transforms.InterpolationMode.BICUBIC),
+ transforms.ToTensor(),
+ transforms.Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)),
+ ]
+)
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+
+model = torch.hub.load("facebookresearch/dinov2", "dinov2_vitl14_reg")
+model.eval()
+model.to(device)
+print(f"Model loaded on {device}")
+
+
+class YFCCDataset(Dataset):
+ def __init__(self, csv_path, images_root):
+ self.df = pd.read_csv(csv_path, sep="\t")
+ self.df = self.df[self.df["latitude"].notna() & self.df["longitude"].notna()]
+ self.images_root = Path(images_root)
+
+ # Create image paths and check existence
+ print("Checking image existence...")
+ self.df["image_path"] = self.df["hash"].progress_apply(
+ lambda x: self.images_root / x[:3] / x[3:6] / f"{x}.jpg"
+ )
+
+ def __len__(self):
+ return len(self.df)
+
+ def __getitem__(self, idx):
+ row = self.df.iloc[idx]
+ image_path = row["image_path"]
+
+ if not image_path.exists():
+ print(f"Image {image_path} does not exist")
+ return None
+
+ # Read the JPEG file directly as bytes
+ with open(image_path, "rb") as f:
+ jpg_data = f.read()
+
+ image = Image.open(image_path).convert("RGB")
+ image = augmentation_dinov2(image)
+
+ # Convert metadata to dict and ensure all values are JSON serializable
+ metadata = row.to_dict()
+ del metadata["image_path"]
+
+ return {
+ "image": image,
+ "jpg_data": jpg_data,
+ "photo_id": str(row["photo_id"]),
+ "metadata": metadata,
+ }
+
+
+def custom_collate(batch):
+ """
+ Custom collate function to handle dictionary items from the dataset
+ """
+ return {
+ "image": torch.stack([item["image"] for item in batch if item is not None]),
+ "jpg_data": [item["jpg_data"] for item in batch if item is not None],
+ "photo_id": [item["photo_id"] for item in batch if item is not None],
+ "metadata": [item["metadata"] for item in batch if item is not None],
+ }
+
+
+def process_batch(batch, model, device):
+ images = batch["image"].to(device) # No need to stack, already stacked in collate
+ with torch.no_grad():
+ embeddings = model(images).cpu().numpy()
+
+ samples = []
+ for i in range(len(batch["photo_id"])):
+ sample = {
+ "__key__": batch["photo_id"][i],
+ "jpg": batch["jpg_data"][i],
+ "dinov2_vitl14_registers.npy": embeddings[i],
+ "json": batch["metadata"][i],
+ }
+ samples.append(sample)
+ return samples
+
+
+def main(
+ src_csv,
+ src_images,
+ dest_folder,
+ num_samples_per_tar=10000,
+ job_offset=0,
+ batch_size=32,
+):
+ print(f"Loading dataset")
+ dataset = YFCCDataset(src_csv, src_images)
+ dataloader = DataLoader(
+ dataset,
+ batch_size=batch_size,
+ shuffle=False,
+ num_workers=8,
+ pin_memory=True,
+ collate_fn=custom_collate, # Add the custom collate function
+ )
+
+ print(f"Processing job {job_offset} with {len(dataset)} samples")
+ with wds.ShardWriter(
+ str(Path(dest_folder) / "%04d.tar"),
+ maxcount=num_samples_per_tar,
+ start_shard=10 * job_offset,
+ ) as sink:
+ for batch in tqdm(dataloader):
+ samples = process_batch(batch, model, device)
+ for sample in samples:
+ sink.write(sample)
+
+
+if __name__ == "__main__":
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--src_csv_dir", help="pixel_input_folder")
+ parser.add_argument("--src_images_dir", help="path to source images")
+ parser.add_argument("--dest", help="path to destination web")
+ parser.add_argument(
+ "--num_samples_per_tar",
+ help="number of samples per tar",
+ type=int,
+ default=10000,
+ )
+ parser.add_argument("--job_offset", help="job offset", type=int, default=0)
+ parser.add_argument("--batch_size", help="batch size", type=int, default=256)
+ args = parser.parse_args()
+
+ dest = Path(args.dest)
+ dest.mkdir(exist_ok=True, parents=True)
+
+ main(
+ Path(args.src_csv_dir) / f"{str(args.job_offset).zfill(3)}.csv",
+ args.src_images_dir,
+ args.dest,
+ args.num_samples_per_tar,
+ args.job_offset,
+ args.batch_size,
+ )
diff --git a/data/transforms.py b/data/transforms.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d3378c74b95fe8cce80b19fe6de00aa44bbbbdd
--- /dev/null
+++ b/data/transforms.py
@@ -0,0 +1,44 @@
+from transformers import CLIPProcessor
+
+
+class ClipTransform(object):
+ def __init__(self, split):
+ self.transform = CLIPProcessor.from_pretrained("geolocal/StreetCLIP")
+
+ def __call__(self, x):
+ # return self.transform(images=x, return_tensors="pt")["pixel_values"].squeeze(0)
+ return self.transform(images=[x], return_tensors="pt")
+
+
+if __name__ == "__main__":
+ # sanity check
+ import glob
+ import torchvision.transforms as transforms
+ from torchvision.utils import save_image
+ from omegaconf import DictConfig, OmegaConf
+ from hydra.utils import instantiate
+ import torch
+ from PIL import Image
+
+ fast_clip_config = OmegaConf.load(
+ "./configs/dataset/train_transform/fast_clip.yaml"
+ )
+ fast_clip_transform = instantiate(fast_clip_config)
+ clip_transform = ClipTransform(None)
+
+ img_paths = glob.glob("./datasets/osv5m/test/images/*.jpg")
+ original_imgs, re_implemted_imgs, diff = [], [], []
+
+ for i in range(16):
+ img = Image.open(img_paths[i])
+ clip_img = clip_transform(img)
+ fast_clip_img = fast_clip_transform(img)
+ original_imgs.append(clip_img)
+ re_implemted_imgs.append(fast_clip_img)
+ max_diff = (clip_img - fast_clip_img).abs()
+ diff.append(max_diff)
+ if max_diff.max() > 1e-5:
+ print(max_diff.max())
+ original_imgs = torch.stack(original_imgs)
+ re_implemted_imgs = torch.stack(re_implemted_imgs)
+ diff = torch.stack(diff)
diff --git a/data/webdataset.py b/data/webdataset.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2c9f6fa802aa6ba0b3b6c078460970dab7749fa
--- /dev/null
+++ b/data/webdataset.py
@@ -0,0 +1,408 @@
+import glob
+import json
+import logging
+import os
+import random
+from collections import OrderedDict
+from multiprocessing import Value
+from pathlib import Path
+
+import braceexpand
+import numpy as np
+import pandas as pd
+import torch
+import webdataset as wds
+from lightning_fabric.utilities.rank_zero import _get_rank
+from PIL import Image
+from torch.utils.data import Dataset, get_worker_info
+from tqdm import tqdm
+from webdataset.tariterators import (
+ base_plus_ext,
+ tar_file_expander,
+ url_opener,
+ valid_sample,
+)
+from functools import partial
+import math
+
+
+class GPSWebdataset(wds.DataPipeline):
+ def __init__(
+ self,
+ root,
+ image_transforms=None,
+ distributed=True,
+ train=True,
+ epoch=0,
+ seed=3407,
+ embedding_name=None,
+ return_image=True,
+ shard_shuffle_size=2000,
+ shard_shuffle_initial=500,
+ sample_shuffle_size=5000,
+ sample_shuffle_initial=1000,
+ metadata_attributes=[],
+ ):
+ self.image_transforms = image_transforms
+ dataset_tar_files = []
+ # Get a list of all tar files in the directory
+ if " " in root:
+ root = root.split(" ")
+ print(f"Using multiple dataset[s: {root}")
+ if isinstance(root, str):
+ tar_files = [f for f in os.listdir(root) if f.endswith(".tar")]
+
+ # Sort the list of tar files
+ tar_files.sort()
+
+ first_tar_file = tar_files[0].split(".")[0]
+ last_tar_file = tar_files[-1].split(".")[0]
+
+ for tar_file in tar_files:
+ dataset_tar_files.append(f"{root}/{tar_file}")
+
+ dataset_pattern = f"{root}/{{{first_tar_file}..{last_tar_file}}}.tar"
+ self.num_samples, _ = get_dataset_size(dataset_pattern)
+ elif isinstance(root, list):
+ num_samples = 0
+ for r in root:
+ tar_files = [f for f in os.listdir(r) if f.endswith(".tar")]
+ tar_files.sort()
+ first_tar_file = tar_files[0].split(".")[0]
+ last_tar_file = tar_files[-1].split(".")[0]
+
+ for tar_file in tar_files:
+ dataset_tar_files.append(f"{r}/{tar_file}")
+
+ num_samples += get_dataset_size(
+ f"{r}/{{{first_tar_file}..{last_tar_file}}}.tar"
+ )[0]
+ self.num_samples = num_samples
+ else:
+ raise ValueError(
+ f"root must be a string or list of strings. Got {type(root)}"
+ )
+ rank = _get_rank()
+ self.shared_epoch = SharedEpoch(epoch)
+ pipeline = [wds.SimpleShardList(dataset_tar_files)]
+
+ if distributed:
+ if train:
+ pipeline.extend(
+ [
+ detshuffle2(
+ bufsize=shard_shuffle_size,
+ initial=shard_shuffle_initial,
+ seed=seed,
+ epoch=self.shared_epoch,
+ ),
+ wds.split_by_node,
+ wds.split_by_worker,
+ tarfile_to_samples_nothrow,
+ wds.shuffle(
+ bufsize=sample_shuffle_size,
+ initial=sample_shuffle_initial,
+ ),
+ ]
+ )
+ else:
+ pipeline.extend(
+ [wds.split_by_node, wds.split_by_worker, tarfile_to_samples_nothrow]
+ )
+ else:
+ if train:
+ pipeline.extend(
+ [
+ wds.shuffle(
+ bufsize=shard_shuffle_size,
+ initial=sample_shuffle_initial,
+ ),
+ wds.split_by_worker,
+ tarfile_to_samples_nothrow,
+ wds.shuffle(
+ bufsize=sample_shuffle_size,
+ initial=sample_shuffle_initial,
+ ),
+ ]
+ )
+ else:
+ pipeline.extend([wds.split_by_worker, tarfile_to_samples_nothrow])
+ outputs_transforms = OrderedDict()
+ outputs_rename = OrderedDict()
+ if return_image:
+ outputs_rename["img.jpg"] = "jpg;png;webp;jpeg"
+ outputs_transforms["img.jpg"] = (
+ self.image_transforms
+ if self.image_transforms is not None
+ else lambda x: x
+ )
+ if embedding_name is not None:
+ outputs_rename[f"emb.npy"] = f"{embedding_name}.npy"
+ outputs_transforms[f"emb.npy"] = lambda x: torch.from_numpy(x)
+ if metadata_attributes != []:
+ for attr in metadata_attributes:
+ outputs_rename[f"{attr}.json"] = f"json"
+ outputs_transforms[f"{attr}.json"] = partial(get_attr, attr=attr)
+ outputs_rename["gps"] = "json"
+ outputs_transforms["gps"] = get_gps
+ pipeline.extend(
+ [
+ wds.rename(**outputs_rename),
+ filter_dict_keys(*outputs_rename.keys(), handler=log_and_continue),
+ ]
+ )
+ if return_image:
+ pipeline.append(wds.decode("pilrgb", handler=log_and_continue))
+ else:
+ pipeline.append(wds.decode(handler=log_and_continue))
+ pipeline.extend(
+ [
+ wds.map_dict(**outputs_transforms, handler=log_and_continue),
+ wds.rename(
+ **{k.split(".")[0]: k for k in outputs_transforms.keys()},
+ ),
+ ]
+ )
+
+ super().__init__(*pipeline)
+
+ def __len__(self):
+ return self.num_samples
+
+
+def normalize_gps(lat, lon):
+ """Used to put all lat lon inside ±90 and ±180."""
+ lat = (lat + 90) % 360 - 90
+ if lat > 90:
+ lat = 180 - lat
+ lon += 180
+ lon = (lon + 180) % 360 - 180
+ return lat, lon
+
+
+def get_attr(metadata, attr):
+ # datapoint = json.loads(metadata)
+ attr_value = metadata[attr]
+ if isinstance(attr_value, float) and math.isnan(attr_value):
+ return "NaN"
+ else:
+ return attr_value
+
+
+def get_gps(metadata):
+ datapoint = json.loads(metadata)
+ lat, lon = normalize_gps(
+ float(datapoint["latitude"]), float(datapoint["longitude"])
+ )
+ gps = torch.tensor([np.radians(lat), np.radians(lon)], dtype=torch.float)
+ return gps
+
+
+def get_dataset_size(shards):
+ shards_list, _ = expand_urls(shards)
+ dir_path = os.path.dirname(shards_list[0])
+ sizes_filename = os.path.join(dir_path, "sizes.json")
+ if os.path.exists(sizes_filename):
+ sizes = json.load(open(sizes_filename, "r"))
+ total_size = sum([int(sizes[os.path.basename(shard)]) for shard in shards_list])
+ else:
+ total_size = 0 # num samples undefined
+ sizes = {}
+ for shard in tqdm(shards_list):
+ dataset = wds.WebDataset(shard)
+ num_samples = sum(1 for _ in dataset)
+ total_size += num_samples
+ sizes[os.path.basename(shard)] = num_samples
+ print(f"Total number of samples: {total_size}")
+ with open(sizes_filename, "w") as f:
+ json.dump(sizes, f)
+
+ num_shards = len(shards_list)
+ return total_size, num_shards
+
+
+def expand_urls(urls, weights=None):
+ if weights is None:
+ expanded_urls = wds.shardlists.expand_urls(urls)
+ return expanded_urls, None
+ if isinstance(urls, str):
+ urllist = urls.split("::")
+ weights = weights.split("::")
+ assert len(weights) == len(
+ urllist
+ ), f"Expected the number of data components ({len(urllist)}) and weights({len(weights)}) to match."
+ weights = [float(weight) for weight in weights]
+ all_urls, all_weights = [], []
+ for url, weight in zip(urllist, weights):
+ expanded_url = list(braceexpand.braceexpand(url))
+ expanded_weights = [weight for _ in expanded_url]
+ all_urls.extend(expanded_url)
+ all_weights.extend(expanded_weights)
+ return all_urls, all_weights
+ else:
+ all_urls = list(urls)
+ return all_urls, weights
+
+
+class SharedEpoch:
+ def __init__(self, epoch: int = 0):
+ self.shared_epoch = Value("i", epoch)
+
+ def set_value(self, epoch):
+ self.shared_epoch.value = epoch
+
+ def get_value(self):
+ return self.shared_epoch.value
+
+
+# _SHARD_SHUFFLE_SIZE = 256
+# _SHARD_SHUFFLE_INITIAL = 128
+# _SAMPLE_SHUFFLE_SIZE = 5000
+# _SAMPLE_SHUFFLE_INITIAL = 1000
+
+
+class detshuffle2(wds.PipelineStage):
+ def __init__(
+ self,
+ bufsize=1000,
+ initial=100,
+ seed=0,
+ epoch=-1,
+ ):
+ self.bufsize = bufsize
+ self.initial = initial
+ self.seed = seed
+ self.epoch = epoch
+
+ def run(self, src):
+ if isinstance(self.epoch, SharedEpoch):
+ epoch = self.epoch.get_value()
+ else:
+ # NOTE: this is epoch tracking is problematic in a multiprocess (dataloader workers or train)
+ # situation as different workers may wrap at different times (or not at all).
+ self.epoch += 1
+ epoch = self.epoch
+ rng = random.Random()
+ if self.seed < 0:
+ # If seed is negative, we use the worker's seed, this will be different across all nodes/workers
+ seed = pytorch_worker_seed(epoch)
+ else:
+ # This seed to be deterministic AND the same across all nodes/workers in each epoch
+ seed = self.seed + epoch
+ rng.seed(seed)
+ return wds.filters._shuffle(src, self.bufsize, self.initial, rng)
+
+
+def pytorch_worker_seed(increment=0):
+ """get dataloader worker seed from pytorch"""
+ worker_info = get_worker_info()
+ if worker_info is not None:
+ # favour using the seed already created for pytorch dataloader workers if it exists
+ seed = worker_info.seed
+ if increment:
+ # space out seed increments so they can't overlap across workers in different iterations
+ seed += increment * max(1, worker_info.num_workers)
+ return seed
+ # fallback to wds rank based seed
+ return wds.utils.pytorch_worker_seed()
+
+
+def log_and_continue(exn):
+ """Call in an exception handler to ignore any exception, issue a warning, and continue."""
+ logging.warning(f"Handling webdataset error ({repr(exn)}). Ignoring.")
+ return True
+
+
+def group_by_keys_nothrow(
+ data, keys=base_plus_ext, lcase=True, suffixes=None, handler=None
+):
+ """Return function over iterator that groups key, value pairs into samples.
+
+ :param keys: function that splits the key into key and extension (base_plus_ext)
+ :param lcase: convert suffixes to lower case (Default value = True)
+ """
+ current_sample = None
+ for filesample in data:
+ assert isinstance(filesample, dict)
+ fname, value = filesample["fname"], filesample["data"]
+ prefix, suffix = keys(fname)
+ if prefix is None:
+ continue
+ if lcase:
+ suffix = suffix.lower()
+ # FIXME webdataset version throws if suffix in current_sample, but we have a potential for
+ # this happening in the current LAION400m dataset if a tar ends with same prefix as the next
+ # begins, rare, but can happen since prefix aren't unique across tar files in that dataset
+ if (
+ current_sample is None
+ or prefix != current_sample["__key__"]
+ or suffix in current_sample
+ ):
+ if valid_sample(current_sample):
+ yield current_sample
+ current_sample = dict(__key__=prefix, __url__=filesample["__url__"])
+ if suffixes is None or suffix in suffixes:
+ current_sample[suffix] = value
+ if valid_sample(current_sample):
+ yield current_sample
+
+
+def tarfile_to_samples_nothrow(src, handler=log_and_continue):
+ # NOTE this is a re-impl of the webdataset impl with group_by_keys that doesn't throw
+ streams = url_opener(src, handler=handler)
+ files = tar_file_expander(streams, handler=handler)
+ samples = group_by_keys_nothrow(files, handler=handler)
+ return samples
+
+
+def filter_no_caption_or_no_image(sample):
+ has_caption = "txt" in sample
+ has_image = (
+ "png" in sample or "jpg" in sample or "jpeg" in sample or "webp" in sample
+ )
+ return has_caption and has_image
+
+
+def filter_metadata(sample, min_image_size, min_clip_score):
+ metadata = json.loads(sample["json"])
+ width = metadata["width"]
+ height = metadata["height"]
+ clip_score = metadata["clip_score"] / 100
+ return (
+ width >= min_image_size
+ and height >= min_image_size
+ and clip_score >= min_clip_score
+ )
+
+
+def _filter_dict_keys(
+ data,
+ *args,
+ handler=wds.reraise_exception,
+ missing_is_error=True,
+ none_is_error=None,
+):
+ """Convert dict samples to tuples."""
+ if none_is_error is None:
+ none_is_error = missing_is_error
+ if len(args) == 1 and isinstance(args[0], str) and " " in args[0]:
+ args = args[0].split()
+
+ for sample in data:
+ try:
+ result = {
+ f: wds.getfirst(sample, f, missing_is_error=missing_is_error)
+ for f in args
+ }
+ print
+ if none_is_error and any(x is None for x in result):
+ raise ValueError(f"to_tuple {args} got {sample.keys()}")
+ yield result
+ except Exception as exn:
+ if handler(exn):
+ continue
+ else:
+ break
+
+
+filter_dict_keys = wds.pipelinefilter(_filter_dict_keys)
diff --git a/datasets/.empty b/datasets/.empty
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/datasets/YFCC100M b/datasets/YFCC100M
new file mode 120000
index 0000000000000000000000000000000000000000..455a3225ce7415c21c34761f1e3391f6923623a7
--- /dev/null
+++ b/datasets/YFCC100M
@@ -0,0 +1 @@
+/home/dufour/Documents/datasets/YFCC100M
\ No newline at end of file
diff --git a/datasets/inaturalist b/datasets/inaturalist
new file mode 120000
index 0000000000000000000000000000000000000000..01b19279908537d27ddda36b473c4be61eaae2d3
--- /dev/null
+++ b/datasets/inaturalist
@@ -0,0 +1 @@
+/home/dufour/Documents/datasets/inaturalist
\ No newline at end of file
diff --git a/datasets/osv5m b/datasets/osv5m
new file mode 120000
index 0000000000000000000000000000000000000000..013afbf10606ba9d5ff0b39e597be5c0cce66dbb
--- /dev/null
+++ b/datasets/osv5m
@@ -0,0 +1 @@
+/home/dufour/Documents/datasets/osv5m
\ No newline at end of file
diff --git a/demo/__init__.py b/demo/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/demo/demo.py b/demo/demo.py
new file mode 100644
index 0000000000000000000000000000000000000000..92e1eb4e1f2e50ffde118c2995702d77f4dc6ea3
--- /dev/null
+++ b/demo/demo.py
@@ -0,0 +1,388 @@
+import streamlit as st
+import pandas as pd
+from PIL import Image
+import torch
+from pipe import PlonkPipeline
+from pathlib import Path
+from streamlit_extras.colored_header import colored_header
+import plotly.express as px
+import requests
+from io import BytesIO
+
+# Set page config
+st.set_page_config(
+ page_title="Around the World in 80 Timesteps", page_icon="🗺️", layout="wide"
+)
+
+device = "cuda" if torch.cuda.is_available() else "cpu"
+PROJECT_ROOT = Path(__file__).parent.parent.absolute()
+# Define checkpoint path
+CHECKPOINT_DIR = PROJECT_ROOT / "checkpoints"
+
+MODEL_NAMES = {
+ "PLONK_YFCC": "nicolas-dufour/PLONK_YFCC",
+ "PLONK_OSV_5M": "nicolas-dufour/PLONK_OSV_5M",
+ "PLONK_iNaturalist": "nicolas-dufour/PLONK_iNaturalist",
+}
+
+
+@st.cache_resource
+def load_model(model_name):
+ """Load the model and cache it to prevent reloading"""
+ try:
+ pipe = PlonkPipeline(model_path=model_name)
+ return pipe
+ except Exception as e:
+ st.error(f"Error loading model: {str(e)}")
+ st.stop()
+
+
+PIPES = {model_name: load_model(MODEL_NAMES[model_name]) for model_name in MODEL_NAMES}
+
+
+def predict_location(image, model_name, cfg=0.0, num_samples=256):
+ with torch.no_grad():
+ batch = {"img": [], "emb": []}
+
+ # If image is already a PIL Image, use it directly
+ if isinstance(image, Image.Image):
+ img = image.convert("RGB")
+ else:
+ img = Image.open(image).convert("RGB")
+
+ pipe = PIPES[model_name]
+
+ # Get regular predictions
+ predicted_gps = pipe(img, batch_size=num_samples, cfg=cfg, num_steps=32)
+
+ # Get single high-confidence prediction
+ high_conf_gps = pipe(img, batch_size=1, cfg=2.0, num_steps=32)
+ return {
+ "lat": predicted_gps[:, 0].astype(float).tolist(),
+ "lon": predicted_gps[:, 1].astype(float).tolist(),
+ "high_conf_lat": high_conf_gps[0, 0].astype(float),
+ "high_conf_lon": high_conf_gps[0, 1].astype(float),
+ }
+
+
+def load_example_images():
+ """Load example images from the examples directory"""
+ examples_dir = Path(__file__).parent / "examples"
+ if not examples_dir.exists():
+ st.error(
+ """
+ Examples directory not found. Please create the following structure:
+ demo/
+ └── examples/
+ ├── eiffel_tower.jpg
+ ├── colosseum.jpg
+ ├── taj_mahal.jpg
+ ├── statue_liberty.jpg
+ └── sydney_opera.jpg
+ """
+ )
+ return {}
+
+ examples = {}
+ for img_path in examples_dir.glob("*.jpg"):
+ # Use filename without extension as the key
+ name = img_path.stem.replace("_", " ").title()
+ examples[name] = str(img_path)
+
+ if not examples:
+ st.warning("No example images found in the examples directory.")
+
+ return examples
+
+
+def resize_image_for_display(image, max_size=400):
+ """Resize image while maintaining aspect ratio"""
+ # Get current size
+ width, height = image.size
+
+ # Calculate ratio to maintain aspect ratio
+ if width > height:
+ if width > max_size:
+ ratio = max_size / width
+ new_size = (max_size, int(height * ratio))
+ else:
+ if height > max_size:
+ ratio = max_size / height
+ new_size = (int(width * ratio), max_size)
+
+ # Only resize if image is larger than max_size
+ if width > max_size or height > max_size:
+ return image.resize(new_size, Image.Resampling.LANCZOS)
+ return image
+
+
+def load_image_from_url(url):
+ """Load an image from a URL"""
+ try:
+ response = requests.get(url)
+ response.raise_for_status() # Raise an exception for bad status codes
+ return Image.open(BytesIO(response.content))
+ except Exception as e:
+ st.error(f"Error loading image from URL: {str(e)}")
+ return None
+
+
+def main():
+ # Custom CSS
+ st.markdown(
+ """
+
+ """,
+ unsafe_allow_html=True,
+ )
+
+ # Header with custom styling
+ colored_header(
+ label="🗺️ Around the World in 80 Timesteps: A Generative Approach to Global Visual Geolocation",
+ description="Upload an image and our model, PLONK, will predict possible locations! In red we will sample one point with guidance scale 2.0 for the best guess.
Project page: https://nicolas-dufour.github.io/plonk",
+ color_name="red-70",
+ )
+
+ # Adjust column ratio to give 2/3 of the space to the map
+ col1, col2 = st.columns([1, 2], gap="large")
+
+ with col1:
+ # Add model selection before the sliders
+ model_name = st.selectbox(
+ "🤖 Select Model",
+ options=MODEL_NAMES.keys(),
+ index=0, # Default to YFCC
+ help="Choose which PLONK model variant to use for prediction.",
+ )
+
+ # Modify the slider columns to accommodate both controls
+ col_slider1, col_slider2 = st.columns([0.5, 0.5])
+ with col_slider1:
+ cfg_value = st.slider(
+ "🎯 Guidance scale",
+ min_value=0.0,
+ max_value=5.0,
+ value=0.0,
+ step=0.1,
+ help="Scale for classifier-free guidance during sampling. A small value makes the model predictions display the diversity of the model, while a large value makes the model predictions more conservative but potentially more accurate.",
+ )
+
+ with col_slider2:
+ num_samples = st.number_input(
+ "🎲 Number of samples",
+ min_value=1,
+ max_value=5000,
+ value=1000,
+ step=1,
+ help="Number of location predictions to generate. More samples give better coverage but take longer to compute.",
+ )
+
+ st.markdown("### 📸 Choose your image")
+ tab1, tab2, tab3 = st.tabs(["Upload", "URL", "Examples"])
+
+ with tab1:
+ uploaded_file = st.file_uploader(
+ "Choose an image...",
+ type=["png", "jpg", "jpeg"],
+ help="Supported formats: PNG, JPG, JPEG",
+ )
+
+ if uploaded_file is not None:
+ st.markdown('
', unsafe_allow_html=True)
+ original_image = Image.open(uploaded_file)
+ display_image = resize_image_for_display(
+ original_image.copy(), max_size=300
+ )
+ st.image(
+ display_image, caption="Uploaded Image", use_container_width=True
+ )
+ st.markdown("
", unsafe_allow_html=True)
+
+ if st.button("🔍 Predict Location", key="predict_upload"):
+ with st.spinner("🌍 Analyzing image and predicting locations..."):
+ predictions = predict_location(
+ original_image,
+ model_name=model_name,
+ cfg=cfg_value,
+ num_samples=num_samples,
+ )
+ st.session_state["predictions"] = predictions
+
+ with tab2:
+ url = st.text_input("Enter image URL:", key="image_url")
+
+ if url:
+ image = load_image_from_url(url)
+ if image:
+ st.markdown(
+ '', unsafe_allow_html=True
+ )
+ display_image = resize_image_for_display(image.copy(), max_size=300)
+ st.image(
+ display_image,
+ caption="Image from URL",
+ use_container_width=True,
+ )
+ st.markdown("
", unsafe_allow_html=True)
+
+ if st.button("🔍 Predict Location", key="predict_url"):
+ with st.spinner(
+ "🌍 Analyzing image and predicting locations..."
+ ):
+ predictions = predict_location(
+ image,
+ model_name=model_name,
+ cfg=cfg_value,
+ num_samples=num_samples,
+ )
+ st.session_state["predictions"] = predictions
+
+ with tab3:
+ examples = load_example_images()
+ st.markdown('', unsafe_allow_html=True)
+ example_cols = st.columns(len(examples))
+
+ for idx, (name, path) in enumerate(examples.items()):
+ with example_cols[idx]:
+ original_image = Image.open(path)
+ display_image = resize_image_for_display(
+ original_image.copy(), max_size=150
+ )
+
+ if st.container().button(
+ "📸",
+ key=f"img_{name}",
+ help=f"Click to predict location for {name}",
+ use_container_width=True,
+ ):
+ with st.spinner(
+ "🌍 Analyzing image and predicting locations..."
+ ):
+ predictions = predict_location(
+ original_image,
+ model_name=model_name,
+ cfg=cfg_value,
+ num_samples=num_samples,
+ )
+ st.session_state["predictions"] = predictions
+ st.rerun()
+
+ st.image(display_image, caption=name, use_container_width=True)
+ st.markdown("
", unsafe_allow_html=True)
+
+ with col2:
+ st.markdown("### 🌍 Predicted Locations")
+
+ if "predictions" in st.session_state:
+ pred = st.session_state["predictions"]
+
+ # Create DataFrame for all predictions
+ df = pd.DataFrame(
+ {
+ "lat": pred["lat"],
+ "lon": pred["lon"],
+ "type": ["Sample"] * len(pred["lat"]),
+ }
+ )
+
+ # Add high-confidence prediction
+ df = pd.concat(
+ [
+ df,
+ pd.DataFrame(
+ {
+ "lat": [pred["high_conf_lat"]],
+ "lon": [pred["high_conf_lon"]],
+ "type": ["Best Guess"],
+ }
+ ),
+ ]
+ )
+
+ # Create a more interactive map using Plotly
+ fig = px.scatter_mapbox(
+ df,
+ lat="lat",
+ lon="lon",
+ zoom=2,
+ opacity=0.6,
+ color="type",
+ color_discrete_map={"Sample": "blue", "Best Guess": "red"},
+ mapbox_style="carto-positron",
+ )
+
+ fig.update_traces(selector=dict(name="Best Guess"), marker_size=15)
+
+ fig.update_layout(
+ margin={"r": 0, "t": 0, "l": 0, "b": 0},
+ height=500,
+ showlegend=True,
+ legend=dict(yanchor="top", y=0.99, xanchor="left", x=0.01),
+ )
+
+ # Display map in a container
+ with st.container():
+ st.plotly_chart(fig, use_container_width=True)
+
+ # Display stats in a styled container
+ with st.container():
+ st.markdown(
+ f"""
+
+
📊 Prediction Statistics
+
Number of sampled locations: {len(pred["lat"])}
+
Best guess location: {pred["high_conf_lat"]:.2f}°, {pred["high_conf_lon"]:.2f}°
+
+ """,
+ unsafe_allow_html=True,
+ )
+ else:
+ # Empty state with better styling
+ st.markdown(
+ """
+
+
👆 Upload an image and click 'Predict Location'
+
The predicted locations will appear here on an interactive map.
+
+ """,
+ unsafe_allow_html=True,
+ )
+
+
+if __name__ == "__main__":
+ main()
diff --git a/demo/examples/Kilimanjaro.jpg b/demo/examples/Kilimanjaro.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e24de5aaed4856ef2138f865d35a86f7bc6d0e50
Binary files /dev/null and b/demo/examples/Kilimanjaro.jpg differ
diff --git a/demo/examples/README.md b/demo/examples/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..deedf6b96d4565e56f12e48aabbc34fa1745a79e
--- /dev/null
+++ b/demo/examples/README.md
@@ -0,0 +1,15 @@
+# Example Images
+
+This directory contains example images for the demo:
+
+- eiffel_tower.jpg - The Eiffel Tower in Paris
+- colosseum.jpg - The Colosseum in Rome
+- taj_mahal.jpg - The Taj Mahal in Agra
+- statue_liberty.jpg - The Statue of Liberty in New York
+- sydney_opera.jpg - The Sydney Opera House
+
+Please ensure all images are:
+1. Free to use / properly licensed
+2. Good quality (at least 800x600)
+3. Clearly showing recognizable landmarks
+4. Named descriptively with underscores between words
\ No newline at end of file
diff --git a/demo/examples/condor.jpg b/demo/examples/condor.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..885dc24797eb8f635cf87fe15fa41bce0375060a
Binary files /dev/null and b/demo/examples/condor.jpg differ
diff --git a/demo/examples/pigeon.png b/demo/examples/pigeon.png
new file mode 100644
index 0000000000000000000000000000000000000000..ed7a1a184ff2733aa0ef77aec47d0659bc4cbe22
Binary files /dev/null and b/demo/examples/pigeon.png differ
diff --git a/evaluation.py b/evaluation.py
new file mode 100755
index 0000000000000000000000000000000000000000..a6a15177c2676d709943c794ed1ce2eeda7e3db4
--- /dev/null
+++ b/evaluation.py
@@ -0,0 +1,72 @@
+import os
+from models.module import DiffGeolocalizer
+import hydra
+from os.path import join
+
+import torch
+
+from omegaconf import OmegaConf
+from omegaconf import open_dict
+from hydra.utils import instantiate
+
+from models.eval_best_model import EvalModule
+
+torch.set_float32_matmul_precision("high")
+
+# Registering the "eval" resolver allows for advanced config
+# interpolation with arithmetic operations in hydra:
+# https://omegaconf.readthedocs.io/en/2.3_branch/how_to_guides.html
+OmegaConf.register_new_resolver("eval", eval)
+
+
+def load_model(cfg, dict_config, wandb_id):
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ log_dict = {"model": dict_config["model"], "dataset": dict_config["dataset"]}
+ logger._wandb_init.update({"config": log_dict})
+ model = EvalModule(cfg.model)
+ trainer = instantiate(
+ cfg.trainer, strategy=cfg.trainer.strategy
+ ) # , logger=logger)
+ return trainer, model
+
+
+def hydra_boilerplate(cfg):
+ dict_config = OmegaConf.to_container(cfg, resolve=True)
+ trainer, model = load_model(cfg, dict_config, cfg.wandb_id)
+ return trainer, model
+
+
+import copy
+
+
+def init_datamodule(cfg):
+ datamodule = instantiate(cfg.datamodule)
+ return datamodule
+
+
+if __name__ == "__main__":
+ import sys
+
+ sys.argv = (
+ [sys.argv[0]]
+ + ["+pt_model_path=${hydra:runtime.config_sources}"]
+ + sys.argv[1:]
+ )
+
+ @hydra.main(config_path="configs", config_name="config", version_base=None)
+ def main(cfg):
+ # print(hydra.runtime.config_sources)
+ with open_dict(cfg):
+ path = cfg.pt_model_path[1]["path"]
+ cfg.wandb_id = join(path, "wandb_id.txt")
+ cfg.checkpoint = join(path, "last.ckpt")
+ cfg.computer.devices = 1
+
+ (
+ trainer,
+ model,
+ ) = hydra_boilerplate(cfg)
+ datamodule = init_datamodule(cfg)
+ trainer.test(model, datamodule=datamodule)
+
+ main()
diff --git a/metrics/__init__.py b/metrics/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/metrics/__pycache__/__init__.cpython-310.pyc b/metrics/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..fc04d054db2e09150bf8eeb6c36f3679574b7cc2
Binary files /dev/null and b/metrics/__pycache__/__init__.cpython-310.pyc differ
diff --git a/metrics/__pycache__/distance_based.cpython-310.pyc b/metrics/__pycache__/distance_based.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..5ab30fdf09d33e8447fad5705dcb4912ddee90bb
Binary files /dev/null and b/metrics/__pycache__/distance_based.cpython-310.pyc differ
diff --git a/metrics/__pycache__/utils.cpython-310.pyc b/metrics/__pycache__/utils.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..146d0260759b1a071fa1dfdd804899160e9f6a47
Binary files /dev/null and b/metrics/__pycache__/utils.cpython-310.pyc differ
diff --git a/metrics/distance_based.py b/metrics/distance_based.py
new file mode 100644
index 0000000000000000000000000000000000000000..204024ef1b6ebb0575619dcb459e1484e7c0fd34
--- /dev/null
+++ b/metrics/distance_based.py
@@ -0,0 +1,272 @@
+import torch
+
+from metrics.utils import haversine, reverse
+from sklearn.metrics import pairwise_distances
+from torchmetrics import Metric
+import numpy as np
+from utils.kde import BatchedKDE
+from tqdm import tqdm
+
+
+class HaversineMetrics(Metric):
+ """
+ Computes the average haversine distance between the predicted and ground truth points.
+ Compute the accuracy given some radiuses.
+ Compute the Geoguessr score given some radiuses.
+
+ Args:
+ acc_radiuses (list): list of radiuses to compute the accuracy from
+ acc_area (list): list of areas to compute the accuracy from.
+ """
+
+ def __init__(
+ self,
+ acc_radiuses=[],
+ acc_area=["country", "region", "sub-region", "city"],
+ use_kde=False,
+ manifold_k=3,
+ ):
+ super().__init__()
+ self.use_kde = use_kde
+ self.add_state("haversine_sum", default=torch.tensor(0.0), dist_reduce_fx="sum")
+ self.add_state("geoguessr_sum", default=torch.tensor(0.0), dist_reduce_fx="sum")
+ for acc in acc_radiuses:
+ self.add_state(
+ f"close_enough_points_{acc}",
+ default=torch.tensor(0.0),
+ dist_reduce_fx="sum",
+ )
+ for acc in acc_area:
+ self.add_state(
+ f"close_enough_points_{acc}",
+ default=torch.tensor(0.0),
+ dist_reduce_fx="sum",
+ )
+ self.add_state(
+ f"count_{acc}", default=torch.tensor(0), dist_reduce_fx="sum"
+ )
+ self.acc_radius = acc_radiuses
+ self.acc_area = acc_area
+ self.add_state("count", default=torch.tensor(0), dist_reduce_fx="sum")
+ self.add_state(
+ "real_points",
+ [],
+ dist_reduce_fx=None,
+ )
+ self.add_state(
+ "fake_points",
+ [],
+ dist_reduce_fx=None,
+ )
+ self.manifold_k = manifold_k
+
+ def update(self, pred, gt):
+ if self.use_kde:
+ (x_mode, y_mode), kde = estimate_kde_mode(pred["gps"])
+ # self.nll_sum += -torch.log(
+ # kde.score(gt["gps"].unsqueeze(1).to(pred["gps"].device))
+ # ).sum()
+ pred["gps"] = torch.stack([x_mode, y_mode], dim=1)
+ # Handle NaN values without modifying the original inputs
+ if pred["gps"].isnan().any():
+ valid_mask = ~pred["gps"].isnan().any(dim=1)
+ pred_gps = pred["gps"][valid_mask]
+ gt_gps = gt["gps"][valid_mask]
+ if len(pred_gps) == 0: # Skip if no valid predictions remain
+ return
+ else:
+ pred_gps = pred["gps"]
+ gt_gps = gt["gps"]
+ haversine_distance = haversine(pred_gps, gt_gps)
+ for acc in self.acc_radius:
+ self.__dict__[f"close_enough_points_{acc}"] += (
+ haversine_distance < acc
+ ).sum()
+ if len(self.acc_area) > 0:
+ area_pred, area_gt = reverse(pred_gps, gt, self.acc_area)
+ for acc in self.acc_area:
+ self.__dict__[f"close_enough_points_{acc}"] += (
+ area_pred[acc] == area_gt["_".join(["unique", acc])]
+ ).sum()
+ self.__dict__[f"count_{acc}"] += len(area_gt["_".join(["unique", acc])])
+ self.haversine_sum += haversine_distance.sum()
+ self.geoguessr_sum += 5000 * torch.exp(-haversine_distance / 1492.7).sum()
+ self.real_points.append(gt_gps)
+ self.fake_points.append(pred_gps)
+ self.count += pred_gps.shape[0]
+
+ def compute(self):
+ output = {
+ "Haversine": self.haversine_sum / self.count,
+ "Geoguessr": self.geoguessr_sum / self.count,
+ }
+ for acc in self.acc_radius:
+ output[f"Accuracy_{acc}_km_radius"] = (
+ self.__dict__[f"close_enough_points_{acc}"] / self.count
+ )
+ for acc in self.acc_area:
+ output[f"Accuracy_{acc}"] = (
+ self.__dict__[f"close_enough_points_{acc}"]
+ / self.__dict__[f"count_{acc}"]
+ )
+ real_points = torch.cat(self.real_points, dim=0)
+ fake_points = torch.cat(self.fake_points, dim=0)
+ (
+ output["precision"],
+ output["recall"],
+ output["density"],
+ output["coverage"],
+ ) = self.manifold_metrics(real_points, fake_points, self.manifold_k)
+ return output
+
+ def compute_pairwise_distance(self, data_x, data_y=None):
+ """
+ Args:
+ data_x: numpy.ndarray([N, feature_dim], dtype=np.float32)
+ data_y: numpy.ndarray([N, feature_dim], dtype=np.float32)
+ Returns:
+ numpy.ndarray([N, N], dtype=np.float32) of pairwise distances.
+ """
+ if data_y is None:
+ data_y = data_x
+
+ dists = pairwise_distances(data_x, data_y, metric="haversine", n_jobs=8)
+ return dists
+
+ def get_kth_value(self, unsorted, k, axis=-1):
+ """
+ Args:
+ unsorted: numpy.ndarray of any dimensionality.
+ k: int
+ Returns:
+ kth values along the designated axis.
+ """
+ indices = np.argpartition(unsorted, k, axis=axis)[..., :k]
+ k_smallests = np.take_along_axis(unsorted, indices, axis=axis)
+ kth_values = k_smallests.max(axis=axis)
+ return kth_values
+
+ def compute_nearest_neighbour_distances(self, input_features, nearest_k):
+ """
+ Args:
+ input_features: numpy.ndarray([N, feature_dim], dtype=np.float32)
+ nearest_k: int
+ Returns:
+ Distances to kth nearest neighbours.
+ """
+ distances = self.compute_pairwise_distance(input_features)
+ radii = self.get_kth_value(distances, k=nearest_k + 1, axis=-1)
+ return radii
+
+ def compute_prdc(self, real_features, fake_features, nearest_k):
+ """
+ Computes precision, recall, density, and coverage given two manifolds.
+ Args:
+ real_features: numpy.ndarray([N, feature_dim], dtype=np.float32)
+ fake_features: numpy.ndarray([N, feature_dim], dtype=np.float32)
+ nearest_k: int.
+ Returns:
+ dict of precision, recall, density, and coverage.
+ """
+
+ real_nearest_neighbour_distances = self.compute_nearest_neighbour_distances(
+ real_features, nearest_k
+ )
+ fake_nearest_neighbour_distances = self.compute_nearest_neighbour_distances(
+ fake_features, nearest_k
+ )
+ distance_real_fake = self.compute_pairwise_distance(
+ real_features, fake_features
+ )
+
+ precision = (
+ (
+ distance_real_fake
+ < np.expand_dims(real_nearest_neighbour_distances, axis=1)
+ )
+ .any(axis=0)
+ .mean()
+ )
+
+ recall = (
+ (
+ distance_real_fake
+ < np.expand_dims(fake_nearest_neighbour_distances, axis=0)
+ )
+ .any(axis=1)
+ .mean()
+ )
+
+ density = (1.0 / float(nearest_k)) * (
+ distance_real_fake
+ < np.expand_dims(real_nearest_neighbour_distances, axis=1)
+ ).sum(axis=0).mean()
+
+ coverage = (
+ distance_real_fake.min(axis=1) < real_nearest_neighbour_distances
+ ).mean()
+
+ return precision, recall, density, coverage
+
+ def manifold_metrics(self, real_features, fake_features, nearest_k, num_splits=20):
+ """
+ Computes precision, recall, density, and coverage given two manifolds.
+ Args:
+ real_features: torch.Tensor([N, feature_dim], dtype=torch.float32)
+ fake_features: torch.Tensor([N, feature_dim], dtype=torch.float32)
+ nearest_k: int.
+ num_splits: int. Number of splits to use for computing metrics.
+ Returns:
+ dict of precision, recall, density, and coverage.
+ """
+ real_features = real_features.chunk(num_splits, dim=0)
+ fake_features = fake_features.chunk(num_splits, dim=0)
+ precision, recall, density, coverage = [], [], [], []
+ for real, fake in tqdm(
+ zip(real_features, fake_features), desc="Computing manifold"
+ ):
+ p, r, d, c = self.compute_prdc(
+ real.cpu().numpy(), fake.cpu().numpy(), nearest_k=nearest_k
+ )
+ precision.append(torch.tensor(p, device=real.device))
+ recall.append(torch.tensor(r, device=real.device))
+ density.append(torch.tensor(d, device=real.device))
+ coverage.append(torch.tensor(c, device=real.device))
+ return (
+ torch.stack(precision).mean().item(),
+ torch.stack(recall).mean().item(),
+ torch.stack(density).mean().item(),
+ torch.stack(coverage).mean().item(),
+ )
+
+
+def estimate_kde_mode(points):
+ kde = BatchedKDE()
+ kde.fit(points)
+ batch_size = points.shape[0]
+ X, Y, positions = batched_make_grid(points.cpu())
+ X = X.to(points.device)
+ Y = Y.to(points.device)
+ positions = positions.to(points.device)
+ Z = kde.score(positions).reshape(X.shape)
+
+ x_mode = X.reshape(batch_size, -1)[
+ torch.arange(batch_size), Z.reshape(batch_size, -1).argmax(dim=1)
+ ]
+ y_mode = Y.reshape(batch_size, -1)[
+ torch.arange(batch_size), Z.reshape(batch_size, -1).argmax(dim=1)
+ ]
+ return (x_mode, y_mode), kde
+
+
+def make_grid(points):
+ (lat_min, long_min), _ = points.min(dim=-2)
+ (lat_max, long_max), _ = points.max(dim=-2)
+ x = torch.linspace(lat_min, lat_max, 100)
+ y = torch.linspace(long_min, long_max, 100)
+ X, Y = torch.meshgrid(x, y)
+ positions = torch.vstack([X.flatten(), Y.flatten()]).transpose(-1, -2)
+ return X, Y, positions
+
+
+batched_make_grid = torch.vmap(make_grid)
diff --git a/metrics/elo.py b/metrics/elo.py
new file mode 100644
index 0000000000000000000000000000000000000000..d1dfe5a3686345f7a2748189c966e0577bf1dd9f
--- /dev/null
+++ b/metrics/elo.py
@@ -0,0 +1,21 @@
+import os
+import torch
+from metrics.utils import haversine
+
+from torchmetrics import Metric
+
+
+class HaversineELOMetric(Metric):
+ """
+ Computes the ELO score of the current network given previous players
+
+ Args:
+ previous_players_scores (str): path to the csv containing the scores of the previous players
+ previous_players_predictions (str): path to the folder containing the predictions of the previous players
+ tag (str): tag of the current experiment
+
+ """
+
+ def __init__(self, cache_folder, tag):
+ ### TODO
+ pass
diff --git a/metrics/utils.py b/metrics/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..d365fc49f3c534a73a5a14cbc33d3c6f1d2fb599
--- /dev/null
+++ b/metrics/utils.py
@@ -0,0 +1,104 @@
+import torch
+import reverse_geocoder
+import numpy as np
+
+
+def haversine(pred, gt):
+ # expects inputs to be np arrays in (lat, lon) format as radians
+ # N x 2
+
+ # calculate the difference in latitude and longitude between the predicted and ground truth points
+ lat_diff = pred[:, 0] - gt[:, 0]
+ lon_diff = pred[:, 1] - gt[:, 1]
+
+ # calculate the haversine formula components
+ lhs = torch.sin(lat_diff / 2) ** 2
+ rhs = torch.cos(pred[:, 0]) * torch.cos(gt[:, 0]) * torch.sin(lon_diff / 2) ** 2
+ a = lhs + rhs
+
+ # calculate the final distance using the haversine formula
+ c = 2 * torch.arctan2(torch.sqrt(a), torch.sqrt(1 - a))
+ distance = 6371 * c
+
+ return distance
+
+def haversine_np(pred, gt):
+ # expects inputs to be np arrays in (lat, lon) format as radians
+ # N x 2
+
+ # calculate the difference in latitude and longitude between the predicted and ground truth points
+ lat_diff = pred[0] - gt[0]
+ lon_diff = pred[1] - gt[1]
+
+ # calculate the haversine formula components
+ lhs = np.sin(lat_diff / 2) ** 2
+ rhs = np.cos(pred[0]) * np.cos(gt[0]) * np.sin(lon_diff / 2) ** 2
+ a = lhs + rhs
+
+ # calculate the final distance using the haversine formula
+ c = 2 * np.arctan2(np.sqrt(a), np.sqrt(1 - a))
+ distance = 6371 * c
+
+ return distance
+
+
+def reverse(pred, gt, area):
+ df = {}
+ gt_area = {}
+ nan_mask = {}
+ areas = ["_".join(["unique", ar]) for ar in area]
+ if "unique_continent" in areas:
+ areas.remove("unique_continent")
+ for ar in areas:
+ inter = np.array(gt[ar])
+ nan_mask[ar] = inter != "nan"
+ gt_area[ar] = inter[nan_mask[ar]]
+ location = reverse_geocoder.search(
+ [
+ (lat, lon)
+ for lat, lon in zip(
+ np.degrees(pred[:, 0].cpu()), np.degrees(pred[:, 1].cpu())
+ )
+ ]
+ )
+ if "continent" in area:
+ continent = torch.load("continent.pt")
+ inter = np.array([l.get("cc", "") for l in location])[
+ nan_mask["unique_country"]
+ ]
+ df["continent"] = np.array([continent[i] for i in inter])
+ gt_area["unique_continent"] = np.array(
+ [continent[i] for i in gt_area["unique_country"]]
+ )
+
+ if "country" in area:
+ df["country"] = np.array([l.get("cc", "") for l in location])[
+ nan_mask["unique_country"]
+ ]
+ if "region" in area:
+ df["region"] = np.array(
+ ["_".join([l.get("admin1", ""), l.get("cc", "")]) for l in location]
+ )[nan_mask["unique_region"]]
+ if "sub-region" in area:
+ df["sub-region"] = np.array(
+ [
+ "_".join([l.get("admin2", ""), l.get("admin1", ""), l.get("cc", "")])
+ for l in location
+ ]
+ )[nan_mask["unique_sub-region"]]
+ if "city" in area:
+ df["city"] = np.array(
+ [
+ "_".join(
+ [
+ l.get("name", ""),
+ l.get("admin2", ""),
+ l.get("admin1", ""),
+ l.get("cc", ""),
+ ]
+ )
+ for l in location
+ ]
+ )[nan_mask["unique_city"]]
+
+ return df, gt_area
diff --git a/models/__init__.py b/models/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f7d0cf6b01d1b4a37d939c99564a626d2eaca162
--- /dev/null
+++ b/models/__init__.py
@@ -0,0 +1,2 @@
+# Empty file to make the directory a Python package
+from .pretrained_models import Plonk
diff --git a/models/__pycache__/__init__.cpython-310.pyc b/models/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f50e6714a7a336a7eee7ce274e95030d6b11e612
Binary files /dev/null and b/models/__pycache__/__init__.cpython-310.pyc differ
diff --git a/models/__pycache__/losses.cpython-310.pyc b/models/__pycache__/losses.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..ed1b64018cb7cb56c83d99f44caaef63be396cf2
Binary files /dev/null and b/models/__pycache__/losses.cpython-310.pyc differ
diff --git a/models/__pycache__/module.cpython-310.pyc b/models/__pycache__/module.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..66eb7f71dad297db84e27906d6a59ca4291adbbb
Binary files /dev/null and b/models/__pycache__/module.cpython-310.pyc differ
diff --git a/models/__pycache__/positional_embeddings.cpython-310.pyc b/models/__pycache__/positional_embeddings.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f4bf3d8c75457ecc0249b0f4daffe8b5dba5f4fe
Binary files /dev/null and b/models/__pycache__/positional_embeddings.cpython-310.pyc differ
diff --git a/models/__pycache__/postprocessing.cpython-310.pyc b/models/__pycache__/postprocessing.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..e7828edad95d33c6dbfb46de88dd1774be998bf8
Binary files /dev/null and b/models/__pycache__/postprocessing.cpython-310.pyc differ
diff --git a/models/__pycache__/preconditioning.cpython-310.pyc b/models/__pycache__/preconditioning.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..42fa77b25960d8437b5e01776edde9680e9e7b8f
Binary files /dev/null and b/models/__pycache__/preconditioning.cpython-310.pyc differ
diff --git a/models/__pycache__/preprocessing.cpython-310.pyc b/models/__pycache__/preprocessing.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3acb241c6fc383a1e860ad107f088a5a35d0da91
Binary files /dev/null and b/models/__pycache__/preprocessing.cpython-310.pyc differ
diff --git a/models/__pycache__/pretrained_models.cpython-310.pyc b/models/__pycache__/pretrained_models.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..90ebb4d9e6a964ee1ee1314149fdebb00a17585e
Binary files /dev/null and b/models/__pycache__/pretrained_models.cpython-310.pyc differ
diff --git a/models/__pycache__/schedulers.cpython-310.pyc b/models/__pycache__/schedulers.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f4d9ce0f384b03b2ae4b65e51c4bd81bf953401c
Binary files /dev/null and b/models/__pycache__/schedulers.cpython-310.pyc differ
diff --git a/models/losses.py b/models/losses.py
new file mode 100644
index 0000000000000000000000000000000000000000..229cd529d27759c292dd8cce94aec5144de981e9
--- /dev/null
+++ b/models/losses.py
@@ -0,0 +1,155 @@
+import torch
+from utils.manifolds import Sphere, geodesic
+from torch.func import vjp, jvp, vmap, jacrev
+
+
+class DDPMLoss:
+ def __init__(
+ self,
+ scheduler,
+ cond_drop_rate=0.0,
+ conditioning_key="label",
+ ):
+ self.scheduler = scheduler
+ self.cond_drop_rate = cond_drop_rate
+ self.conditioning_key = conditioning_key
+
+ def __call__(self, preconditioning, network, batch, generator=None):
+ x_0 = batch["x_0"]
+ batch_size = x_0.shape[0]
+ device = x_0.device
+ t = torch.rand(batch_size, device=device, dtype=x_0.dtype, generator=generator)
+ gamma = self.scheduler(t).unsqueeze(-1)
+ n = torch.randn(x_0.shape, dtype=x_0.dtype, device=device, generator=generator)
+ y = torch.sqrt(gamma) * x_0 + torch.sqrt(1 - gamma) * n
+ batch["y"] = y
+ conditioning = batch[self.conditioning_key]
+ if conditioning is not None and self.cond_drop_rate > 0:
+ drop_mask = (
+ torch.rand(batch_size, device=device, generator=generator)
+ < self.cond_drop_rate
+ )
+ conditioning[drop_mask] = torch.zeros_like(conditioning[drop_mask])
+ batch[self.conditioning_key] = conditioning.detach()
+ batch["gamma"] = gamma.squeeze(-1).squeeze(-1).squeeze(-1)
+ D_n = preconditioning(network, batch)
+ loss = (D_n - n) ** 2
+ return loss
+
+
+class FlowMatchingLoss:
+ def __init__(
+ self,
+ scheduler,
+ cond_drop_rate=0.0,
+ conditioning_key="label",
+ ):
+ self.scheduler = scheduler
+ self.cond_drop_rate = cond_drop_rate
+ self.conditioning_key = conditioning_key
+
+ def __call__(self, preconditioning, network, batch, generator=None):
+ x_0 = batch["x_0"]
+ batch_size = x_0.shape[0]
+ device = x_0.device
+ t = torch.rand(batch_size, device=device, dtype=x_0.dtype, generator=generator)
+ gamma = self.scheduler(t).unsqueeze(-1)
+ n = torch.randn(x_0.shape, dtype=x_0.dtype, device=device, generator=generator)
+ y = gamma * x_0 + (1 - gamma) * n
+ batch["y"] = y
+ conditioning = batch[self.conditioning_key]
+ if conditioning is not None and self.cond_drop_rate > 0:
+ drop_mask = (
+ torch.rand(batch_size, device=device, generator=generator)
+ < self.cond_drop_rate
+ )
+ conditioning[drop_mask] = torch.zeros_like(conditioning[drop_mask])
+ batch[self.conditioning_key] = conditioning.detach()
+ batch["gamma"] = gamma.squeeze(-1).squeeze(-1).squeeze(-1)
+ D_n = preconditioning(network, batch)
+ loss = (D_n - (x_0 - n)) ** 2
+ return loss
+
+
+class RiemannianFlowMatchingLoss:
+ def __init__(
+ self,
+ scheduler,
+ cond_drop_rate=0.0,
+ conditioning_key="label",
+ ):
+ self.scheduler = scheduler
+ self.cond_drop_rate = cond_drop_rate
+ self.conditioning_key = conditioning_key
+ self.manifold = Sphere()
+ self.manifold_dim = 3
+
+ def __call__(self, preconditioning, network, batch, generator=None):
+ x_1 = batch["x_0"]
+ batch_size = x_1.shape[0]
+ device = x_1.device
+ t = torch.rand(batch_size, device=device, dtype=x_1.dtype, generator=generator)
+ gamma = self.scheduler(t).unsqueeze(-1)
+ x_0 = self.manifold.random_base(x_1.shape[0], self.manifold_dim).to(x_1)
+
+ def cond_u(x0, x1, t):
+ path = geodesic(self.manifold, x0, x1)
+ x_t, u_t = jvp(path, (t,), (torch.ones_like(t).to(t),))
+ return x_t, u_t
+
+ y, u_t = vmap(cond_u)(x_0, x_1, gamma)
+ y = y.reshape(batch_size, self.manifold_dim)
+ u_t = u_t.reshape(batch_size, self.manifold_dim)
+ batch["y"] = y
+ conditioning = batch[self.conditioning_key]
+ if conditioning is not None and self.cond_drop_rate > 0:
+ drop_mask = (
+ torch.rand(batch_size, device=device, generator=generator)
+ < self.cond_drop_rate
+ )
+ conditioning[drop_mask] = torch.zeros_like(conditioning[drop_mask])
+ batch[self.conditioning_key] = conditioning.detach()
+ batch["gamma"] = gamma.squeeze(-1).squeeze(-1).squeeze(-1)
+ D_n = preconditioning(network, batch)
+ diff = D_n - u_t
+ loss = self.manifold.inner(y, diff, diff).mean() / self.manifold_dim
+ return loss
+
+
+class VonFisherLoss:
+ def __init__(self, dim=3):
+ self.dim = dim
+
+ def __call__(self, preconditioning, network, batch, generator=None):
+ x = batch["x_0"]
+ mu, kappa = preconditioning(network, batch)
+ loss = (
+ torch.log((kappa + 1e-8))
+ - torch.log(torch.tensor(4 * torch.pi, dtype=kappa.dtype))
+ - log_sinh(kappa)
+ + kappa * (mu * x).sum(dim=-1, keepdim=True)
+ )
+ return -loss
+
+
+class VonFisherMixtureLoss:
+ def __init__(self, dim=3):
+ self.dim = dim
+
+ def __call__(self, preconditioning, network, batch, generator=None):
+ x = batch["x_0"]
+ mu_mixture, kappa_mixture, weights = preconditioning(network, batch)
+ loss = 0
+ for i in range(mu_mixture.shape[1]):
+ mu = mu_mixture[:, i]
+ kappa = kappa_mixture[:, i].unsqueeze(1)
+ loss += weights[:, i].unsqueeze(1) * (
+ kappa
+ * torch.exp(kappa * ((mu * x).sum(dim=-1, keepdim=True) - 1))
+ / (1e-8 + 2 * torch.pi * (1 - torch.exp(-2 * kappa)))
+ )
+ return -torch.log(loss)
+
+
+def log_sinh(x):
+ return x + torch.log(1e-8 + (1 - torch.exp(-2 * x)) / 2)
diff --git a/models/module.py b/models/module.py
new file mode 100755
index 0000000000000000000000000000000000000000..4342d2d17c989561a31ce327bbcf4f660e8a7bc3
--- /dev/null
+++ b/models/module.py
@@ -0,0 +1,813 @@
+from typing import Any
+import pytorch_lightning as L
+import torch
+import torch.nn as nn
+from hydra.utils import instantiate
+import copy
+import pandas as pd
+import numpy as np
+from tqdm import tqdm
+from utils.manifolds import Sphere
+from torch.func import jacrev, vjp, vmap
+from torchdiffeq import odeint
+from geoopt import ProductManifold, Euclidean
+from models.samplers.riemannian_flow_sampler import ode_riemannian_flow_sampler
+
+
+class DiffGeolocalizer(L.LightningModule):
+ def __init__(self, cfg):
+ super().__init__()
+ self.cfg = cfg
+ self.network = instantiate(cfg.network)
+ # self.network = torch.compile(self.network, fullgraph=True)
+ self.input_dim = cfg.network.input_dim
+ self.train_noise_scheduler = instantiate(cfg.train_noise_scheduler)
+ self.inference_noise_scheduler = instantiate(cfg.inference_noise_scheduler)
+ self.data_preprocessing = instantiate(cfg.data_preprocessing)
+ self.cond_preprocessing = instantiate(cfg.cond_preprocessing)
+ self.preconditioning = instantiate(cfg.preconditioning)
+
+ self.ema_network = copy.deepcopy(self.network).requires_grad_(False)
+ self.ema_network.eval()
+ self.postprocessing = instantiate(cfg.postprocessing)
+ self.val_sampler = instantiate(cfg.val_sampler)
+ self.test_sampler = instantiate(cfg.test_sampler)
+ self.loss = instantiate(cfg.loss)(
+ self.train_noise_scheduler,
+ )
+ self.val_metrics = instantiate(cfg.val_metrics)
+ self.test_metrics = instantiate(cfg.test_metrics)
+ self.manifold = instantiate(cfg.manifold) if hasattr(cfg, "manifold") else None
+
+ self.interpolant = cfg.interpolant
+
+ def training_step(self, batch, batch_idx):
+ with torch.no_grad():
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ loss = self.loss(self.preconditioning, self.network, batch).mean()
+ self.log(
+ "train/loss",
+ loss,
+ sync_dist=True,
+ on_step=True,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+ return loss
+
+ def on_before_optimizer_step(self, optimizer):
+ if self.global_step == 0:
+ no_grad = []
+ for name, param in self.network.named_parameters():
+ if param.grad is None:
+ no_grad.append(name)
+ if len(no_grad) > 0:
+ print("Parameters without grad:")
+ print(no_grad)
+
+ def on_validation_start(self):
+ self.validation_generator = torch.Generator(device=self.device).manual_seed(
+ 3407
+ )
+ self.validation_generator_ema = torch.Generator(device=self.device).manual_seed(
+ 3407
+ )
+
+ def validation_step(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ loss = self.loss(
+ self.preconditioning,
+ self.network,
+ batch,
+ generator=self.validation_generator,
+ ).mean()
+ self.log(
+ "val/loss",
+ loss,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+ if hasattr(self, "ema_model"):
+ loss_ema = self.loss(
+ self.preconditioning,
+ self.ema_network,
+ batch,
+ generator=self.validation_generator_ema,
+ ).mean()
+ self.log(
+ "val/loss_ema",
+ loss_ema,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+ # nll = -self.compute_exact_loglikelihood(batch).mean()
+ # self.log(
+ # "val/nll",
+ # nll,
+ # sync_dist=True,
+ # on_step=False,
+ # on_epoch=True,
+ # batch_size=batch_size,
+ # )
+
+ # def on_validation_epoch_end(self):
+ # metrics = self.val_metrics.compute()
+ # for metric_name, metric_value in metrics.items():
+ # self.log(
+ # f"val/{metric_name}",
+ # metric_value,
+ # sync_dist=True,
+ # on_step=False,
+ # on_epoch=True,
+ # )
+
+ def on_test_start(self):
+ self.test_generator = torch.Generator(device=self.device).manual_seed(3407)
+
+ def test_step_simple(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ if isinstance(self.manifold, Sphere):
+ x_N = self.manifold.random_base(
+ batch_size,
+ self.input_dim,
+ device=self.device,
+ )
+ x_N = x_N.reshape(batch_size, self.input_dim)
+ else:
+ x_N = torch.randn(
+ batch_size,
+ self.input_dim,
+ device=self.device,
+ generator=self.test_generator,
+ )
+ cond = batch[self.cfg.cond_preprocessing.output_key]
+
+ samples = self.sample(
+ x_N=x_N,
+ cond=cond,
+ stage="val",
+ generator=self.test_generator,
+ cfg=self.cfg.cfg_rate,
+ )
+ self.test_metrics.update({"gps": samples}, batch)
+ if self.cfg.compute_nll:
+ nll = -self.compute_exact_loglikelihood(batch, cfg=0).mean()
+ self.log(
+ "test/NLL",
+ nll,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+
+ def test_best_nll(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ num_sample_per_cond = 32
+ if isinstance(self.manifold, Sphere):
+ x_N = self.manifold.random_base(
+ batch_size * num_sample_per_cond,
+ self.input_dim,
+ device=self.device,
+ )
+ x_N = x_N.reshape(batch_size * num_sample_per_cond, self.input_dim)
+ else:
+ x_N = torch.randn(
+ batch_size * num_sample_per_cond,
+ self.input_dim,
+ device=self.device,
+ generator=self.test_generator,
+ )
+ cond = (
+ batch[self.cfg.cond_preprocessing.output_key]
+ .unsqueeze(1)
+ .repeat(1, num_sample_per_cond, 1)
+ .view(-1, batch[self.cfg.cond_preprocessing.output_key].shape[-1])
+ )
+ samples = self.sample_distribution(
+ x_N,
+ cond,
+ sampling_batch_size=32768,
+ stage="val",
+ generator=self.test_generator,
+ cfg=0,
+ )
+ samples = samples.view(batch_size * num_sample_per_cond, -1)
+ batch_swarm = {"gps": samples, "emb": cond}
+ nll_batch = -self.compute_exact_loglikelihood(batch_swarm, cfg=0)
+ nll_batch = nll_batch.view(batch_size, num_sample_per_cond, -1)
+ nll_best = nll_batch[
+ torch.arange(batch_size), nll_batch.argmin(dim=1).squeeze(1)
+ ]
+ self.log(
+ "test/best_nll",
+ nll_best.mean(),
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ )
+ samples = samples.view(batch_size, num_sample_per_cond, -1)[
+ torch.arange(batch_size), nll_batch.argmin(dim=1).squeeze(1)
+ ]
+ self.test_metrics.update({"gps": samples}, batch)
+
+ def test_step(self, batch, batch_idx):
+ if self.cfg.compute_swarms:
+ self.test_best_nll(batch, batch_idx)
+ else:
+ self.test_step_simple(batch, batch_idx)
+
+ def on_test_epoch_end(self):
+ metrics = self.test_metrics.compute()
+ for metric_name, metric_value in metrics.items():
+ self.log(
+ f"test/{metric_name}",
+ metric_value,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ )
+
+ def configure_optimizers(self):
+ if self.cfg.optimizer.exclude_ln_and_biases_from_weight_decay:
+ parameters_names_wd = get_parameter_names(self.network, [nn.LayerNorm])
+ parameters_names_wd = [
+ name for name in parameters_names_wd if "bias" not in name
+ ]
+ optimizer_grouped_parameters = [
+ {
+ "params": [
+ p
+ for n, p in self.network.named_parameters()
+ if n in parameters_names_wd
+ ],
+ "weight_decay": self.cfg.optimizer.optim.weight_decay,
+ "layer_adaptation": True,
+ },
+ {
+ "params": [
+ p
+ for n, p in self.network.named_parameters()
+ if n not in parameters_names_wd
+ ],
+ "weight_decay": 0.0,
+ "layer_adaptation": False,
+ },
+ ]
+ optimizer = instantiate(
+ self.cfg.optimizer.optim, optimizer_grouped_parameters
+ )
+ else:
+ optimizer = instantiate(self.cfg.optimizer.optim, self.network.parameters())
+ if "lr_scheduler" in self.cfg:
+ scheduler = instantiate(self.cfg.lr_scheduler)(optimizer)
+ return [optimizer], [{"scheduler": scheduler, "interval": "step"}]
+ else:
+ return optimizer
+
+ def lr_scheduler_step(self, scheduler, metric):
+ scheduler.step(self.global_step)
+
+ def sample(
+ self,
+ batch_size=None,
+ cond=None,
+ x_N=None,
+ num_steps=None,
+ stage="test",
+ cfg=0,
+ generator=None,
+ return_trajectories=False,
+ postprocessing=True,
+ ):
+ if x_N is None:
+ assert batch_size is not None
+ if isinstance(self.manifold, Sphere):
+ x_N = self.manifold.random_base(
+ batch_size, self.input_dim, device=self.device
+ )
+ x_N = x_N.reshape(batch_size, self.input_dim)
+ else:
+ x_N = torch.randn(batch_size, self.input_dim, device=self.device)
+ batch = {"y": x_N}
+ if stage == "val":
+ sampler = self.val_sampler
+ elif stage == "test":
+ sampler = self.test_sampler
+ else:
+ raise ValueError(f"Unknown stage {stage}")
+ batch[self.cfg.cond_preprocessing.input_key] = cond
+ batch = self.cond_preprocessing(batch, device=self.device)
+ if num_steps is None:
+ output = sampler(
+ self.ema_model,
+ batch,
+ conditioning_keys=self.cfg.cond_preprocessing.output_key,
+ scheduler=self.inference_noise_scheduler,
+ cfg_rate=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ else:
+ output = sampler(
+ self.ema_model,
+ batch,
+ conditioning_keys=self.cfg.cond_preprocessing.output_key,
+ scheduler=self.inference_noise_scheduler,
+ num_steps=num_steps,
+ cfg_rate=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ if return_trajectories:
+ return (
+ self.postprocessing(output[0]) if postprocessing else output[0],
+ [
+ self.postprocessing(frame) if postprocessing else frame
+ for frame in output[1]
+ ],
+ )
+ else:
+ return self.postprocessing(output) if postprocessing else output
+
+ def sample_distribution(
+ self,
+ x_N,
+ cond,
+ sampling_batch_size=2048,
+ num_steps=None,
+ stage="test",
+ cfg=0,
+ generator=None,
+ return_trajectories=False,
+ ):
+ if return_trajectories:
+ x_0 = []
+ trajectories = []
+ i = -1
+ for i in range(x_N.shape[0] // sampling_batch_size):
+ x_N_batch = x_N[i * sampling_batch_size : (i + 1) * sampling_batch_size]
+ cond_batch = cond[
+ i * sampling_batch_size : (i + 1) * sampling_batch_size
+ ]
+ out, trajectories = self.sample(
+ cond=cond_batch,
+ x_N=x_N_batch,
+ num_steps=num_steps,
+ stage=stage,
+ cfg=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ x_0.append(out)
+ trajectories.append(trajectories)
+ if x_N.shape[0] % sampling_batch_size != 0:
+ x_N_batch = x_N[(i + 1) * sampling_batch_size :]
+ cond_batch = cond[(i + 1) * sampling_batch_size :]
+ out, trajectories = self.sample(
+ cond=cond_batch,
+ x_N=x_N_batch,
+ num_steps=num_steps,
+ stage=stage,
+ cfg=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ x_0.append(out)
+ trajectories.append(trajectories)
+ x_0 = torch.cat(x_0, dim=1)
+ trajectories = [torch.cat(frame, dim=1) for frame in trajectories]
+ return x_0, trajectories
+ else:
+ x_0 = []
+ i = -1
+ for i in range(x_N.shape[0] // sampling_batch_size):
+ x_N_batch = x_N[i * sampling_batch_size : (i + 1) * sampling_batch_size]
+ cond_batch = cond[
+ i * sampling_batch_size : (i + 1) * sampling_batch_size
+ ]
+ out = self.sample(
+ cond=cond_batch,
+ x_N=x_N_batch,
+ num_steps=num_steps,
+ stage=stage,
+ cfg=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ x_0.append(out)
+ if x_N.shape[0] % sampling_batch_size != 0:
+ x_N_batch = x_N[(i + 1) * sampling_batch_size :]
+ cond_batch = cond[(i + 1) * sampling_batch_size :]
+ out = self.sample(
+ cond=cond_batch,
+ x_N=x_N_batch,
+ num_steps=num_steps,
+ stage=stage,
+ cfg=cfg,
+ generator=generator,
+ return_trajectories=return_trajectories,
+ )
+ x_0.append(out)
+ x_0 = torch.cat(x_0, dim=0)
+ return x_0
+
+ def model(self, *args, **kwargs):
+ return self.preconditioning(self.network, *args, **kwargs)
+
+ def ema_model(self, *args, **kwargs):
+ return self.preconditioning(self.ema_network, *args, **kwargs)
+
+ def compute_exact_loglikelihood(
+ self,
+ batch=None,
+ x_1=None,
+ cond=None,
+ t1=1.0,
+ num_steps=1000,
+ rademacher=False,
+ data_preprocessing=True,
+ cfg=0,
+ ):
+ nfe = [0]
+ if batch is None:
+ batch = {"x_0": x_1, "emb": cond}
+ if data_preprocessing:
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ timesteps = self.inference_noise_scheduler(
+ torch.linspace(0, t1, 2).to(batch["x_0"])
+ )
+ with torch.inference_mode(mode=False):
+
+ def odefunc(t, tensor):
+ nfe[0] += 1
+ t = t.to(tensor)
+ gamma = self.inference_noise_scheduler(t)
+ x = tensor[..., : self.input_dim]
+ y = batch["emb"]
+
+ def vecfield(x, y):
+ if cfg > 0:
+ batch_vecfield = {
+ "y": x,
+ "emb": y,
+ "gamma": gamma.reshape(-1),
+ }
+ model_output_cond = self.ema_model(batch_vecfield)
+ batch_vecfield_uncond = {
+ "y": x,
+ "emb": torch.zeros_like(y),
+ "gamma": gamma.reshape(-1),
+ }
+ model_output_uncond = self.ema_model(batch_vecfield_uncond)
+ model_output = model_output_cond + cfg * (
+ model_output_cond - model_output_uncond
+ )
+
+ else:
+ batch_vecfield = {
+ "y": x,
+ "emb": y,
+ "gamma": gamma.reshape(-1),
+ }
+ model_output = self.ema_model(batch_vecfield)
+
+ if self.interpolant == "flow_matching":
+ d_gamma = self.inference_noise_scheduler.derivative(t).reshape(
+ -1, 1
+ )
+ return d_gamma * model_output
+ elif self.interpolant == "diffusion":
+ alpha_t = self.inference_noise_scheduler.alpha(t).reshape(-1, 1)
+ return (
+ -1 / 2 * (alpha_t * x - torch.abs(alpha_t) * model_output)
+ )
+ else:
+ raise ValueError(f"Unknown interpolant {self.interpolant}")
+
+ if rademacher:
+ v = torch.randint_like(x, 2) * 2 - 1
+ else:
+ v = None
+ dx, div = output_and_div(vecfield, x, y, v=v)
+ div = div.reshape(-1, 1)
+ del t, x
+ return torch.cat([dx, div], dim=-1)
+
+ x_1 = batch["x_0"]
+ state1 = torch.cat([x_1, torch.zeros_like(x_1[..., :1])], dim=-1)
+ with torch.no_grad():
+ if False and isinstance(self.manifold, Sphere):
+ print("Riemannian flow sampler")
+ product_man = ProductManifold(
+ (self.manifold, self.input_dim), (Euclidean(), 1)
+ )
+ state0 = ode_riemannian_flow_sampler(
+ odefunc,
+ state1,
+ manifold=product_man,
+ scheduler=self.inference_noise_scheduler,
+ num_steps=num_steps,
+ )
+ else:
+ print("ODE solver")
+ state0 = odeint(
+ odefunc,
+ state1,
+ t=torch.linspace(0, t1, 2).to(batch["x_0"]),
+ atol=1e-6,
+ rtol=1e-6,
+ method="dopri5",
+ options={"min_step": 1e-5},
+ )[-1]
+ x_0, logdetjac = state0[..., : self.input_dim], state0[..., -1]
+ if self.manifold is not None:
+ x_0 = self.manifold.projx(x_0)
+ logp0 = self.manifold.base_logprob(x_0)
+ else:
+ logp0 = (
+ -1 / 2 * (x_0**2).sum(dim=-1)
+ - self.input_dim
+ * torch.log(torch.tensor(2 * np.pi, device=x_0.device))
+ / 2
+ )
+ print(f"nfe: {nfe[0]}")
+ logp1 = logp0 + logdetjac
+ logp1 = logp1 / (self.input_dim * np.log(2))
+ return logp1
+
+
+def get_parameter_names(model, forbidden_layer_types):
+ """
+ Returns the names of the model parameters that are not inside a forbidden layer.
+ Taken from HuggingFace transformers.
+ """
+ result = []
+ for name, child in model.named_children():
+ result += [
+ f"{name}.{n}"
+ for n in get_parameter_names(child, forbidden_layer_types)
+ if not isinstance(child, tuple(forbidden_layer_types))
+ ]
+ # Add model specific parameters (defined with nn.Parameter) since they are not in any child.
+ result += list(model._parameters.keys())
+ return result
+
+
+# for likelihood computation
+def div_fn(u):
+ """Accepts a function u:R^D -> R^D."""
+ J = jacrev(u, argnums=0)
+ return lambda x, y: torch.trace(J(x, y).squeeze(0))
+
+
+def output_and_div(vecfield, x, y, v=None):
+ if v is None:
+ dx = vecfield(x, y)
+ div = vmap(div_fn(vecfield))(x, y)
+ else:
+ vecfield_x = lambda x: vecfield(x, y)
+ dx, vjpfunc = vjp(vecfield_x, x)
+ vJ = vjpfunc(v)[0]
+ div = torch.sum(vJ * v, dim=-1)
+ return dx, div
+
+
+class VonFisherGeolocalizer(L.LightningModule):
+ def __init__(self, cfg):
+ super().__init__()
+ self.cfg = cfg
+ self.network = instantiate(cfg.network)
+ # self.network = torch.compile(self.network, fullgraph=True)
+ self.input_dim = cfg.network.input_dim
+ self.data_preprocessing = instantiate(cfg.data_preprocessing)
+ self.cond_preprocessing = instantiate(cfg.cond_preprocessing)
+ self.preconditioning = instantiate(cfg.preconditioning)
+
+ self.ema_network = copy.deepcopy(self.network).requires_grad_(False)
+ self.ema_network.eval()
+ self.postprocessing = instantiate(cfg.postprocessing)
+ self.val_sampler = instantiate(cfg.val_sampler)
+ self.test_sampler = instantiate(cfg.test_sampler)
+ self.loss = instantiate(cfg.loss)()
+ self.val_metrics = instantiate(cfg.val_metrics)
+ self.test_metrics = instantiate(cfg.test_metrics)
+
+ def training_step(self, batch, batch_idx):
+ with torch.no_grad():
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ loss = self.loss(self.preconditioning, self.network, batch).mean()
+ self.log(
+ "train/loss",
+ loss,
+ sync_dist=True,
+ on_step=True,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+ return loss
+
+ def on_before_optimizer_step(self, optimizer):
+ if self.global_step == 0:
+ no_grad = []
+ for name, param in self.network.named_parameters():
+ if param.grad is None:
+ no_grad.append(name)
+ if len(no_grad) > 0:
+ print("Parameters without grad:")
+ print(no_grad)
+
+ def on_validation_start(self):
+ self.validation_generator = torch.Generator(device=self.device).manual_seed(
+ 3407
+ )
+ self.validation_generator_ema = torch.Generator(device=self.device).manual_seed(
+ 3407
+ )
+
+ def validation_step(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ loss = self.loss(
+ self.preconditioning,
+ self.network,
+ batch,
+ generator=self.validation_generator,
+ ).mean()
+ self.log(
+ "val/loss",
+ loss,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+ if hasattr(self, "ema_model"):
+ loss_ema = self.loss(
+ self.preconditioning,
+ self.ema_network,
+ batch,
+ generator=self.validation_generator_ema,
+ ).mean()
+ self.log(
+ "val/loss_ema",
+ loss_ema,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+
+ def on_test_start(self):
+ self.test_generator = torch.Generator(device=self.device).manual_seed(3407)
+
+ def test_step(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ cond = batch[self.cfg.cond_preprocessing.output_key]
+
+ samples = self.sample(cond=cond, stage="test")
+ self.test_metrics.update({"gps": samples}, batch)
+ nll = -self.compute_exact_loglikelihood(batch).mean()
+ self.log(
+ "test/NLL",
+ nll,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ batch_size=batch_size,
+ )
+
+ def on_test_epoch_end(self):
+ metrics = self.test_metrics.compute()
+ for metric_name, metric_value in metrics.items():
+ self.log(
+ f"test/{metric_name}",
+ metric_value,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ )
+
+ def configure_optimizers(self):
+ if self.cfg.optimizer.exclude_ln_and_biases_from_weight_decay:
+ parameters_names_wd = get_parameter_names(self.network, [nn.LayerNorm])
+ parameters_names_wd = [
+ name for name in parameters_names_wd if "bias" not in name
+ ]
+ optimizer_grouped_parameters = [
+ {
+ "params": [
+ p
+ for n, p in self.network.named_parameters()
+ if n in parameters_names_wd
+ ],
+ "weight_decay": self.cfg.optimizer.optim.weight_decay,
+ "layer_adaptation": True,
+ },
+ {
+ "params": [
+ p
+ for n, p in self.network.named_parameters()
+ if n not in parameters_names_wd
+ ],
+ "weight_decay": 0.0,
+ "layer_adaptation": False,
+ },
+ ]
+ optimizer = instantiate(
+ self.cfg.optimizer.optim, optimizer_grouped_parameters
+ )
+ else:
+ optimizer = instantiate(self.cfg.optimizer.optim, self.network.parameters())
+ if "lr_scheduler" in self.cfg:
+ scheduler = instantiate(self.cfg.lr_scheduler)(optimizer)
+ return [optimizer], [{"scheduler": scheduler, "interval": "step"}]
+ else:
+ return optimizer
+
+ def lr_scheduler_step(self, scheduler, metric):
+ scheduler.step(self.global_step)
+
+ def sample(
+ self,
+ batch_size=None,
+ cond=None,
+ postprocessing=True,
+ stage="val",
+ ):
+ batch = {}
+ if stage == "val":
+ sampler = self.val_sampler
+ elif stage == "test":
+ sampler = self.test_sampler
+ else:
+ raise ValueError(f"Unknown stage {stage}")
+ batch[self.cfg.cond_preprocessing.input_key] = cond
+ batch = self.cond_preprocessing(batch, device=self.device)
+ output = sampler(
+ self.ema_model,
+ batch,
+ )
+ return self.postprocessing(output) if postprocessing else output
+
+ def model(self, *args, **kwargs):
+ return self.preconditioning(self.network, *args, **kwargs)
+
+ def ema_model(self, *args, **kwargs):
+ return self.preconditioning(self.ema_network, *args, **kwargs)
+
+ def compute_exact_loglikelihood(
+ self,
+ batch=None,
+ ):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ return -self.loss(self.preconditioning, self.ema_network, batch)
+
+
+class RandomGeolocalizer(L.LightningModule):
+ def __init__(self, cfg):
+ super().__init__()
+ self.cfg = cfg
+ self.test_metrics = instantiate(cfg.test_metrics)
+ self.data_preprocessing = instantiate(cfg.data_preprocessing)
+ self.cond_preprocessing = instantiate(cfg.cond_preprocessing)
+ self.postprocessing = instantiate(cfg.postprocessing)
+
+ def test_step(self, batch, batch_idx):
+ batch = self.data_preprocessing(batch)
+ batch = self.cond_preprocessing(batch)
+ batch_size = batch["x_0"].shape[0]
+ samples = torch.randn(batch_size, 3, device=self.device)
+ samples = samples / samples.norm(dim=-1, keepdim=True)
+ samples = self.postprocessing(samples)
+ self.test_metrics.update({"gps": samples}, batch)
+
+ def on_test_epoch_end(self):
+ metrics = self.test_metrics.compute()
+ for metric_name, metric_value in metrics.items():
+ self.log(
+ f"test/{metric_name}",
+ metric_value,
+ sync_dist=True,
+ on_step=False,
+ on_epoch=True,
+ )
diff --git a/models/networks/__init__.py b/models/networks/__init__.py
new file mode 100755
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/models/networks/__pycache__/__init__.cpython-310.pyc b/models/networks/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..b3740e80b9f4078011570bb2b03f92926bfd0cfa
Binary files /dev/null and b/models/networks/__pycache__/__init__.cpython-310.pyc differ
diff --git a/models/networks/__pycache__/mlp.cpython-310.pyc b/models/networks/__pycache__/mlp.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..7d5dfab4a17f2457d67ae35fef6afe8c240aa266
Binary files /dev/null and b/models/networks/__pycache__/mlp.cpython-310.pyc differ
diff --git a/models/networks/__pycache__/transformers.cpython-310.pyc b/models/networks/__pycache__/transformers.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..3953fc2d10c3581754230286191d8b6c48e3e3ec
Binary files /dev/null and b/models/networks/__pycache__/transformers.cpython-310.pyc differ
diff --git a/models/networks/mlp.py b/models/networks/mlp.py
new file mode 100644
index 0000000000000000000000000000000000000000..13007b5f54073bcc215e6ba87d13458b9e516ab1
--- /dev/null
+++ b/models/networks/mlp.py
@@ -0,0 +1,190 @@
+import torch.nn as nn
+from models.positional_embeddings import FourierEmbedding, PositionalEmbedding
+from models.networks.transformers import FusedMLP
+import torch
+import torch.nn.functional as F
+import numpy as np
+from einops import rearrange
+
+
+class TimeEmbedder(nn.Module):
+ def __init__(
+ self,
+ noise_embedding_type: str,
+ dim: int,
+ time_scaling: float,
+ expansion: int = 4,
+ ):
+ super().__init__()
+ self.encode_time = (
+ PositionalEmbedding(num_channels=dim, endpoint=True)
+ if noise_embedding_type == "positional"
+ else FourierEmbedding(num_channels=dim)
+ )
+ self.time_scaling = time_scaling
+ self.map_time = nn.Sequential(
+ nn.Linear(dim, dim * expansion),
+ nn.SiLU(),
+ nn.Linear(dim * expansion, dim * expansion),
+ )
+
+ def forward(self, t):
+ time = self.encode_time(t * self.time_scaling)
+ time_mean = time.mean(dim=-1, keepdim=True)
+ time_std = time.std(dim=-1, keepdim=True)
+ time = (time - time_mean) / time_std
+ return self.map_time(time)
+
+
+def get_timestep_embedding(timesteps, embedding_dim, dtype=torch.float32):
+ assert len(timesteps.shape) == 1
+ timesteps = timesteps * 1000.0
+
+ half_dim = embedding_dim // 2
+ emb = np.log(10000) / (half_dim - 1)
+ emb = (torch.arange(half_dim, dtype=dtype, device=timesteps.device) * -emb).exp()
+ emb = timesteps.to(dtype)[:, None] * emb[None, :]
+ emb = torch.cat([emb.sin(), emb.cos()], dim=-1)
+ if embedding_dim % 2 == 1: # zero pad
+ emb = F.pad(emb, (0, 1))
+ assert emb.shape == (timesteps.shape[0], embedding_dim)
+ return emb
+
+
+class AdaLNMLPBlock(nn.Module):
+ def __init__(self, dim, expansion):
+ super().__init__()
+ self.mlp = FusedMLP(
+ dim, dropout=0.0, hidden_layer_multiplier=expansion, activation=nn.GELU
+ )
+ self.ada_map = nn.Sequential(nn.SiLU(), nn.Linear(dim, dim * 3))
+ self.ln = nn.LayerNorm(dim, elementwise_affine=False)
+
+ nn.init.zeros_(self.mlp[-1].weight)
+ nn.init.zeros_(self.mlp[-1].bias)
+
+ def forward(self, x, y):
+ gamma, mu, sigma = self.ada_map(y).chunk(3, dim=-1)
+ x_res = (1 + gamma) * self.ln(x) + mu
+ x = x + self.mlp(x_res) * sigma
+ return x
+
+
+class GeoAdaLNMLP(nn.Module):
+ def __init__(self, input_dim, dim, depth, expansion, cond_dim):
+ super().__init__()
+ self.time_embedder = TimeEmbedder("positional", dim // 4, 1000, expansion=4)
+ self.cond_mapper = nn.Linear(cond_dim, dim)
+ self.initial_mapper = nn.Linear(input_dim, dim)
+ self.blocks = nn.ModuleList(
+ [AdaLNMLPBlock(dim, expansion) for _ in range(depth)]
+ )
+ self.final_adaln = nn.Sequential(
+ nn.SiLU(),
+ nn.Linear(dim, dim * 2),
+ )
+ self.final_ln = nn.LayerNorm(dim, elementwise_affine=False)
+ self.final_linear = nn.Linear(dim, input_dim)
+
+ def forward(self, batch):
+ x = batch["y"]
+ x = self.initial_mapper(x)
+ gamma = batch["gamma"]
+ cond = batch["emb"]
+ t = self.time_embedder(gamma)
+ cond = self.cond_mapper(cond)
+ cond = cond + t
+ for block in self.blocks:
+ x = block(x, cond)
+ gamma_last, mu_last = self.final_adaln(cond).chunk(2, dim=-1)
+ x = (1 + gamma_last) * self.final_ln(x) + mu_last
+ x = self.final_linear(x)
+ return x
+
+
+class GeoAdaLNMLPVonFisher(nn.Module):
+ def __init__(self, input_dim, dim, depth, expansion, cond_dim):
+ super().__init__()
+ self.cond_mapper = nn.Linear(cond_dim, dim)
+ self.blocks = nn.ModuleList(
+ [AdaLNMLPBlock(dim, expansion) for _ in range(depth)]
+ )
+ self.final_adaln = nn.Sequential(
+ nn.SiLU(),
+ nn.Linear(dim, dim * 2),
+ )
+ self.final_ln = nn.LayerNorm(dim, elementwise_affine=False)
+ self.mu_predictor = nn.Sequential(
+ FusedMLP(dim, dropout=0.0, hidden_layer_multiplier=2, activation=nn.GELU),
+ nn.Linear(dim, input_dim),
+ )
+ self.kappa_predictor = nn.Sequential(
+ FusedMLP(dim, dropout=0.0, hidden_layer_multiplier=2, activation=nn.GELU),
+ nn.Linear(dim, 1),
+ torch.nn.Softplus(),
+ )
+ self.init_registers = torch.nn.Parameter(torch.randn(dim), requires_grad=True)
+ torch.nn.init.trunc_normal_(
+ self.init_registers, std=0.02, a=-2 * 0.02, b=2 * 0.02
+ )
+
+ def forward(self, batch):
+ cond = batch["emb"]
+ cond = self.cond_mapper(cond)
+ x = self.init_registers.unsqueeze(0).repeat(cond.shape[0], 1)
+ for block in self.blocks:
+ x = block(x, cond)
+ gamma_last, mu_last = self.final_adaln(cond).chunk(2, dim=-1)
+ x = (1 + gamma_last) * self.final_ln(x) + mu_last
+ mu = self.mu_predictor(x)
+ mu = mu / mu.norm(dim=-1, keepdim=True)
+ kappa = self.kappa_predictor(x)
+ return mu, kappa
+
+
+class GeoAdaLNMLPVonFisherMixture(nn.Module):
+ def __init__(self, input_dim, dim, depth, expansion, cond_dim, num_mixtures=3):
+ super().__init__()
+ self.cond_mapper = nn.Linear(cond_dim, dim)
+ self.blocks = nn.ModuleList(
+ [AdaLNMLPBlock(dim, expansion) for _ in range(depth)]
+ )
+ self.final_adaln = nn.Sequential(
+ nn.SiLU(),
+ nn.Linear(dim, dim * 2),
+ )
+ self.final_ln = nn.LayerNorm(dim, elementwise_affine=False)
+ self.mu_predictor = nn.Sequential(
+ FusedMLP(dim, dropout=0.0, hidden_layer_multiplier=2, activation=nn.GELU),
+ nn.Linear(dim, input_dim * num_mixtures),
+ )
+ self.kappa_predictor = nn.Sequential(
+ FusedMLP(dim, dropout=0.0, hidden_layer_multiplier=2, activation=nn.GELU),
+ nn.Linear(dim, num_mixtures),
+ torch.nn.Softplus(),
+ )
+ self.mixture_weights = nn.Sequential(
+ FusedMLP(dim, dropout=0.0, hidden_layer_multiplier=2, activation=nn.GELU),
+ nn.Linear(dim, num_mixtures),
+ torch.nn.Softmax(dim=-1),
+ )
+ self.num_mixtures = num_mixtures
+ self.init_registers = torch.nn.Parameter(torch.randn(dim), requires_grad=True)
+ torch.nn.init.trunc_normal_(
+ self.init_registers, std=0.02, a=-2 * 0.02, b=2 * 0.02
+ )
+
+ def forward(self, batch):
+ cond = batch["emb"]
+ cond = self.cond_mapper(cond)
+ x = self.init_registers.unsqueeze(0).repeat(cond.shape[0], 1)
+ for block in self.blocks:
+ x = block(x, cond)
+ gamma_last, mu_last = self.final_adaln(cond).chunk(2, dim=-1)
+ x = (1 + gamma_last) * self.final_ln(x) + mu_last
+ mu = self.mu_predictor(x)
+ mu = rearrange(mu, "b (n d) -> b n d", n=self.num_mixtures)
+ mu = mu / mu.norm(dim=-1, keepdim=True)
+ kappa = self.kappa_predictor(x)
+ weights = self.mixture_weights(x)
+ return mu, kappa, weights
diff --git a/models/networks/transformers.py b/models/networks/transformers.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b344090d066c0bd7c1b3e6eccaa90a01b244298
--- /dev/null
+++ b/models/networks/transformers.py
@@ -0,0 +1,329 @@
+import torch
+import torch.nn as nn
+from torch import Tensor
+import math
+
+from models.positional_embeddings import PositionalEmbedding, FourierEmbedding
+from einops import rearrange
+
+torch.fx.wrap("rearrange")
+from typing import Tuple, Optional
+from einops._torch_specific import allow_ops_in_compiled_graph # requires einops>=0.6.1
+
+allow_ops_in_compiled_graph()
+
+
+class FusedMLP(nn.Sequential):
+ def __init__(
+ self,
+ dim_model: int,
+ dropout: float,
+ activation: nn.Module,
+ hidden_layer_multiplier: int = 4,
+ bias: bool = True,
+ ):
+ super().__init__(
+ nn.Linear(dim_model, dim_model * hidden_layer_multiplier, bias=bias),
+ activation(),
+ nn.Dropout(dropout),
+ nn.Linear(dim_model * hidden_layer_multiplier, dim_model, bias=bias),
+ )
+
+
+def _cast_if_autocast_enabled(tensor):
+ if torch.is_autocast_enabled():
+ if tensor.device.type == "cuda":
+ dtype = torch.get_autocast_gpu_dtype()
+ elif tensor.device.type == "cpu":
+ dtype = torch.get_autocast_cpu_dtype()
+ else:
+ raise NotImplementedError()
+ return tensor.to(dtype=dtype)
+ return tensor
+
+
+class LayerNorm16Bits(torch.nn.LayerNorm):
+ """
+ 16-bit friendly version of torch.nn.LayerNorm
+ """
+
+ def __init__(
+ self,
+ normalized_shape,
+ eps=1e-06,
+ elementwise_affine=True,
+ device=None,
+ dtype=None,
+ ):
+ super().__init__(
+ normalized_shape=normalized_shape,
+ eps=eps,
+ elementwise_affine=elementwise_affine,
+ device=device,
+ dtype=dtype,
+ )
+
+ def forward(self, x):
+ module_device = x.device
+ downcast_x = _cast_if_autocast_enabled(x)
+ downcast_weight = (
+ _cast_if_autocast_enabled(self.weight)
+ if self.weight is not None
+ else self.weight
+ )
+ downcast_bias = (
+ _cast_if_autocast_enabled(self.bias) if self.bias is not None else self.bias
+ )
+ with torch.autocast(enabled=False, device_type=module_device.type):
+ return nn.functional.layer_norm(
+ downcast_x,
+ self.normalized_shape,
+ downcast_weight,
+ downcast_bias,
+ self.eps,
+ )
+
+
+class StochatichDepth(nn.Module):
+ def __init__(self, p: float):
+ super().__init__()
+ self.survival_prob = 1.0 - p
+
+ def forward(self, x: Tensor) -> Tensor:
+ if self.training and self.survival_prob < 1:
+ mask = (
+ torch.empty(x.shape[0], 1, 1, device=x.device).uniform_()
+ + self.survival_prob
+ )
+ mask = mask.floor()
+ if self.survival_prob > 0:
+ mask = mask / self.survival_prob
+ return x * mask
+ else:
+ return x
+
+
+class CrossAttentionOp(nn.Module):
+ def __init__(
+ self, attention_dim, num_heads, dim_q, dim_kv, use_biases=True, is_sa=False
+ ):
+ super().__init__()
+ self.dim_q = dim_q
+ self.dim_kv = dim_kv
+ self.attention_dim = attention_dim
+ self.num_heads = num_heads
+ self.use_biases = use_biases
+ self.is_sa = is_sa
+ if self.is_sa:
+ self.qkv = nn.Linear(dim_q, attention_dim * 3, bias=use_biases)
+ else:
+ self.q = nn.Linear(dim_q, attention_dim, bias=use_biases)
+ self.kv = nn.Linear(dim_kv, attention_dim * 2, bias=use_biases)
+ self.out = nn.Linear(attention_dim, dim_q, bias=use_biases)
+
+ def forward(self, x_to, x_from=None, attention_mask=None, materialize_sdpa=False):
+ if x_from is None:
+ x_from = x_to
+ if self.is_sa:
+ q, k, v = self.qkv(x_to).chunk(3, dim=-1)
+ else:
+ q = self.q(x_to)
+ k, v = self.kv(x_from).chunk(2, dim=-1)
+ q = rearrange(q, "b n (h d) -> b h n d", h=self.num_heads)
+ k = rearrange(k, "b n (h d) -> b h n d", h=self.num_heads)
+ v = rearrange(v, "b n (h d) -> b h n d", h=self.num_heads)
+ if attention_mask is not None:
+ attention_mask = attention_mask.unsqueeze(1)
+ if materialize_sdpa:
+ x = self.materialize_sdpa(q, k, v, attention_mask)
+ else:
+ x = torch.nn.functional.scaled_dot_product_attention(
+ q, k, v, attn_mask=attention_mask
+ )
+ x = rearrange(x, "b h n d -> b n (h d)")
+ x = self.out(x)
+ return x
+
+ def materialize_sdpa(self, q, k, v, attn_mask=None):
+ scale = 1.0 / math.sqrt(q.shape[-1])
+
+ attn_matrix = torch.einsum("b h i d, b h j d -> b h i j", q, k) * scale
+ if attn_mask is not None:
+ attn_matrix = attn_matrix * attn_mask
+ attn_matrix = torch.nn.functional.softmax(attn_matrix, dim=-1)
+ return torch.einsum("b h i j, b h j d -> b h i d", attn_matrix, v)
+
+
+class CrossAttentionBlock(nn.Module):
+ def __init__(
+ self,
+ dim_q: int,
+ dim_kv: int,
+ num_heads: int,
+ attention_dim: int = 0,
+ mlp_multiplier: int = 4,
+ dropout: float = 0.0,
+ stochastic_depth: float = 0.0,
+ use_biases: bool = True,
+ retrieve_attention_scores: bool = False,
+ use_16_bits_layer_norm: bool = False,
+ ):
+ super().__init__()
+ if use_16_bits_layer_norm and not retrieve_attention_scores:
+ LayerNorm = LayerNorm16Bits
+ else:
+ LayerNorm = nn.LayerNorm
+ self.retrieve_attention_scores = retrieve_attention_scores
+ self.initial_to_ln = LayerNorm(dim_q, eps=1e-6)
+ attention_dim = min(dim_q, dim_kv) if attention_dim == 0 else attention_dim
+ self.ca = CrossAttentionOp(
+ attention_dim, num_heads, dim_q, dim_kv, is_sa=False, use_biases=use_biases
+ )
+ self.ca_stochastic_depth = StochatichDepth(stochastic_depth)
+ self.middle_ln = LayerNorm(dim_q, eps=1e-6)
+ self.ffn = FusedMLP(
+ dim_model=dim_q,
+ dropout=dropout,
+ activation=nn.GELU,
+ hidden_layer_multiplier=mlp_multiplier,
+ bias=use_biases,
+ )
+ self.ffn_stochastic_depth = StochatichDepth(stochastic_depth)
+
+ self.register_parameter(
+ "attention_mask_dummy",
+ nn.Parameter(torch.ones(1, 1, dtype=torch.bool), requires_grad=False),
+ )
+
+ def forward(
+ self,
+ to_tokens: Tensor,
+ from_tokens: Tensor,
+ to_token_mask: Optional[Tensor] = None,
+ from_token_mask: Optional[Tensor] = None,
+ ) -> Tensor:
+ if to_token_mask is None and from_token_mask is None:
+ attention_mask = None
+ else:
+ if to_token_mask is None:
+ to_token_mask = self.attention_mask_dummy.expand(
+ to_tokens.shape[0],
+ to_tokens.shape[1],
+ )
+ if from_token_mask is None:
+ from_token_mask = self.attention_mask_dummy.expand(
+ from_tokens.shape[0],
+ from_tokens.shape[1],
+ )
+ attention_mask = from_token_mask.unsqueeze(1) * to_token_mask.unsqueeze(2)
+ if self.retrieve_attention_scores:
+ attention_output = self.ca(
+ self.initial_to_ln(to_tokens),
+ from_tokens,
+ attention_mask=attention_mask,
+ materialize_sdpa=True,
+ )
+ else:
+ attention_output = self.ca(
+ self.initial_to_ln(to_tokens),
+ from_tokens,
+ attention_mask=attention_mask,
+ )
+ to_tokens = to_tokens + self.ca_stochastic_depth(attention_output)
+ to_tokens = to_tokens + self.ffn_stochastic_depth(
+ self.ffn(self.middle_ln(to_tokens))
+ )
+ return to_tokens
+
+
+class SelfAttentionBlock(nn.Module):
+ def __init__(
+ self,
+ dim_qkv: int,
+ num_heads: int,
+ attention_dim: int = 0,
+ mlp_multiplier: int = 4,
+ dropout: float = 0.0,
+ stochastic_depth: float = 0.0,
+ use_biases: bool = True,
+ use_layer_scale: bool = False,
+ layer_scale_value: float = 0.1,
+ retrieve_attention_scores: bool = False,
+ use_16_bits_layer_norm: bool = False,
+ ):
+ super().__init__()
+ if use_16_bits_layer_norm and not retrieve_attention_scores:
+ LayerNorm = LayerNorm16Bits
+ else:
+ LayerNorm = nn.LayerNorm
+ self.retrieve_attention_scores = retrieve_attention_scores
+ self.initial_ln = LayerNorm(dim_qkv, eps=1e-6)
+ attention_dim = dim_qkv if attention_dim == 0 else attention_dim
+ self.sa = CrossAttentionOp(
+ attention_dim,
+ num_heads,
+ dim_qkv,
+ dim_qkv,
+ is_sa=True,
+ use_biases=use_biases,
+ )
+ self.sa_stochastic_depth = StochatichDepth(stochastic_depth)
+ self.middle_ln = LayerNorm(dim_qkv, eps=1e-6)
+ self.ffn = FusedMLP(
+ dim_model=dim_qkv,
+ dropout=dropout,
+ activation=nn.GELU,
+ hidden_layer_multiplier=mlp_multiplier,
+ bias=use_biases,
+ )
+ self.ffn_stochastic_depth = StochatichDepth(stochastic_depth)
+ self.use_layer_scale = use_layer_scale
+ if use_layer_scale:
+ self.layer_scale_1 = nn.Parameter(
+ torch.ones(dim_qkv) * layer_scale_value, requires_grad=True
+ )
+ self.layer_scale_2 = nn.Parameter(
+ torch.ones(dim_qkv) * layer_scale_value, requires_grad=True
+ )
+
+ self.register_parameter(
+ "attention_mask_dummy",
+ nn.Parameter(torch.ones(1, 1, dtype=torch.bool), requires_grad=False),
+ )
+
+ def forward(
+ self,
+ tokens: torch.Tensor,
+ token_mask: Optional[torch.Tensor] = None,
+ ):
+ if token_mask is None:
+ attention_mask = None
+ else:
+ attention_mask = token_mask.unsqueeze(1) * self.attention_mask_dummy.expand(
+ tokens.shape[0],
+ tokens.shape[1],
+ ).unsqueeze(2)
+ if self.retrieve_attention_scores:
+ attention_output = self.sa(
+ self.initial_ln(tokens),
+ attention_mask=attention_mask,
+ materialize_sdpa=True,
+ )
+ else:
+ attention_output = self.sa(
+ self.initial_ln(tokens),
+ attention_mask=attention_mask,
+ )
+ if self.use_layer_scale:
+ tokens = tokens + self.sa_stochastic_depth(
+ self.layer_scale_1 * attention_output
+ )
+ tokens = tokens + self.ffn_stochastic_depth(
+ self.layer_scale_2 * self.ffn(self.middle_ln(tokens))
+ )
+ else:
+ tokens = tokens + self.sa_stochastic_depth(attention_output)
+ tokens = tokens + self.ffn_stochastic_depth(
+ self.ffn(self.middle_ln(tokens))
+ )
+ return tokens
diff --git a/models/positional_embeddings.py b/models/positional_embeddings.py
new file mode 100755
index 0000000000000000000000000000000000000000..58f3355b4d02e4af5b572b05007dbdecbbc468f9
--- /dev/null
+++ b/models/positional_embeddings.py
@@ -0,0 +1,41 @@
+import torch
+import torch.nn as nn
+import numpy as np
+
+
+class PositionalEmbedding(nn.Module):
+ """
+ Taken from https://github.com/NVlabs/edm
+ """
+
+ def __init__(self, num_channels, max_positions=10000, endpoint=False):
+ super().__init__()
+ self.num_channels = num_channels
+ self.max_positions = max_positions
+ self.endpoint = endpoint
+ freqs = torch.arange(start=0, end=self.num_channels // 2, dtype=torch.float32)
+ freqs = 2 * freqs / self.num_channels
+ freqs = (1 / self.max_positions) ** freqs
+ self.register_buffer("freqs", freqs)
+
+ def forward(self, x):
+ x = torch.outer(x, self.freqs)
+ out = torch.cat([x.cos(), x.sin()], dim=1)
+ return out.to(x.dtype)
+
+
+# ----------------------------------------------------------------------------
+# Timestep embedding used in the NCSN++ architecture.
+class FourierEmbedding(nn.Module):
+ """
+ Taken from https://github.com/NVlabs/edm
+ """
+
+ def __init__(self, num_channels, scale=16):
+ super().__init__()
+ self.register_buffer("freqs", torch.randn(num_channels // 2) * scale)
+
+ def forward(self, x):
+ x = x.ger((2 * np.pi * self.freqs).to(x.dtype))
+ x = torch.cat([x.cos(), x.sin()], dim=1)
+ return x
diff --git a/models/postprocessing.py b/models/postprocessing.py
new file mode 100644
index 0000000000000000000000000000000000000000..49b78f3599fa7cb8c798e4c72a80620365e8e96c
--- /dev/null
+++ b/models/postprocessing.py
@@ -0,0 +1,24 @@
+import torch.nn as nn
+import torch
+import numpy as np
+
+class UnormGPS(nn.Module):
+ def __init__(self):
+ super().__init__()
+ self.register_buffer("gps_normalize", torch.Tensor([np.pi * 0.5, np.pi]).unsqueeze(0))
+
+ def forward(self, x):
+ """Unormalize latitude longtitude radians to -1, 1."""
+ x = torch.clamp(x, -1, 1)
+ return x * self.gps_normalize
+
+class CartesiantoGPS(nn.Module):
+ def __init__(self):
+ super().__init__()
+ def forward(self, cartesian):
+ x = cartesian[:, 0]
+ y = cartesian[:, 1]
+ z = cartesian[:, 2]
+ lat = z.arcsin()
+ lon = y.atan2(x)
+ return torch.stack([lat, lon], dim=-1)
\ No newline at end of file
diff --git a/models/preconditioning.py b/models/preconditioning.py
new file mode 100755
index 0000000000000000000000000000000000000000..098f09ab31131b407d22c3637eb9f0c0ba53a59d
--- /dev/null
+++ b/models/preconditioning.py
@@ -0,0 +1,60 @@
+import torch
+from torch import nn
+
+# ----------------------------------------------------------------------------
+# Improved preconditioning proposed in the paper "Elucidating the Design
+# Space of Diffusion-Based Generative networks" (EDM).
+
+
+class EDMPrecond(torch.nn.Module):
+ def __init__(
+ self,
+ network,
+ label_dim=0, # Number of class labels, 0 = unconditional.
+ sigma_min=0, # Minimum supported noise level.
+ sigma_max=float("inf"), # Maximum supported noise level.
+ sigma_data=0.5, # Expected standard deviation of the training data.
+ ):
+ super().__init__()
+ self.label_dim = label_dim
+ self.sigma_min = sigma_min
+ self.sigma_max = sigma_max
+ self.sigma_data = sigma_data
+ self.network = network
+
+ def forward(self, x, sigma, conditioning=None, **network_kwargs):
+ x = x.to(torch.float32)
+ sigma = sigma.to(torch.float32).reshape(-1, 1, 1, 1)
+ conditioning = (
+ None
+ if self.label_dim == 0
+ else torch.zeros([1, self.label_dim], device=x.device)
+ if conditioning is None
+ else conditioning.to(torch.float32)
+ )
+
+ c_skip = self.sigma_data**2 / (sigma**2 + self.sigma_data**2)
+ c_out = sigma * self.sigma_data / (sigma**2 + self.sigma_data**2).sqrt()
+ c_in = 1 / (self.sigma_data**2 + sigma**2).sqrt()
+ c_noise = sigma.log() / 4
+
+ F_x = self.network(
+ (c_in * x),
+ c_noise.flatten(),
+ conditioning=conditioning,
+ **network_kwargs,
+ )
+ D_x = c_skip * x + c_out * F_x.to(torch.float32)
+ return D_x
+
+ def round_sigma(self, sigma):
+ return torch.as_tensor(sigma)
+
+
+class DDPMPrecond(nn.Module):
+ def __init__(self):
+ super().__init__()
+
+ def forward(self, network, batch):
+ F_x = network(batch)
+ return F_x
diff --git a/models/preprocessing.py b/models/preprocessing.py
new file mode 100644
index 0000000000000000000000000000000000000000..ccc4030d781427a29fafc889e4916d47bd7ba584
--- /dev/null
+++ b/models/preprocessing.py
@@ -0,0 +1,50 @@
+import torch
+from torch import nn
+import numpy as np
+
+
+class NormGPS(nn.Module):
+ def __init__(self, input_key="gps", output_key="x_0", normalize=True):
+ super().__init__()
+ self.input_key = input_key
+ self.output_key = output_key
+ self.normalize = normalize
+ if self.normalize:
+ self.register_buffer(
+ "gps_normalize", 1 / torch.Tensor([np.pi * 0.5, np.pi]).unsqueeze(0)
+ )
+
+ def forward(self, batch):
+ """Normalize latitude longtitude radians to -1, 1.""" # not used currently
+ x = batch[self.input_key]
+ if self.normalize:
+ x = x * self.gps_normalize
+ batch[self.output_key] = x
+ return batch
+
+class GPStoCartesian(nn.Module):
+ def __init__(self, input_key="gps", output_key="x_0"):
+ super().__init__()
+ self.input_key = input_key
+ self.output_key = output_key
+
+ def forward(self, batch):
+ """Project latitude longtitude radians to 3D coordinates."""
+ x = batch[self.input_key]
+ lat, lon = x[:, 0], x[:, 1]
+ x = torch.stack([lat.cos() * lon.cos(), lat.cos() * lon.sin(), lat.sin()], dim=-1)
+ batch[self.output_key] = x
+ return batch
+
+class PrecomputedPreconditioning:
+ def __init__(
+ self,
+ input_key="emb",
+ output_key="emb",
+ ):
+ self.input_key = input_key
+ self.output_key = output_key
+
+ def __call__(self, batch, device=None):
+ batch[self.output_key] = batch[self.input_key]
+ return batch
diff --git a/models/pretrained_models.py b/models/pretrained_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3230d35c142646aaa7f9a9ba3bac5a39030d7dd
--- /dev/null
+++ b/models/pretrained_models.py
@@ -0,0 +1,58 @@
+import sys
+import os
+
+from models.networks.mlp import GeoAdaLNMLP
+from huggingface_hub import PyTorchModelHubMixin
+import torch
+import argparse
+
+models_overrides = {
+ "YFCC100M_geoadalnmlp_r3_small_sigmoid_flow_riemann_10M_10M": "YFCC100M_geoadalnmlp_r3_small_sigmoid_flow_riemann",
+ "iNaturalist_geoadalnmlp_r3_small_sigmoid_flow_riemann_-7_3": "iNaturalist_geoadalnmlp_r3_small_sigmoid_flow_riemann",
+ "osv_5m_geoadalnmlp_r3_small_sigmoid_flow_riemann_-7_3": "osv_5m_geoadalnmlp_r3_small_sigmoid_flow_riemann",
+}
+
+
+class Plonk(
+ GeoAdaLNMLP,
+ PyTorchModelHubMixin,
+ repo_url="https://github.com/nicolas-dufour/plonk",
+ tags=["plonk", "geolocalization", "diffusion"],
+ license="mit",
+):
+ def __init__(self, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+
+
+def upload_model(checkpoint_dir, repo_name):
+ import hydra
+ from omegaconf import OmegaConf
+
+ hydra.initialize(version_base=None, config_path=f"../configs")
+ cfg = hydra.compose(
+ config_name="config",
+ overrides=[
+ f"exp={models_overrides[checkpoint_dir]}",
+ ],
+ )
+ network_config = cfg.model.network
+ serialized_network_config = OmegaConf.to_container(network_config, resolve=True)
+ print(serialized_network_config)
+ del serialized_network_config["_target_"]
+ model = Plonk(**serialized_network_config)
+ ckpt = torch.load(f"checkpoints/{checkpoint_dir}/last.ckpt")
+ ckpt_state_dict = ckpt["state_dict"]
+ ckpt_state_dict = {k: v for k, v in ckpt_state_dict.items() if "ema_network" in k}
+ ckpt_state_dict = {
+ k.replace("ema_network.", ""): v for k, v in ckpt_state_dict.items()
+ }
+ model.load_state_dict(ckpt_state_dict)
+ model.push_to_hub(repo_name, commit_message="Fixed ckpt keys")
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--checkpoint_dir", type=str, required=True)
+ parser.add_argument("--repo_name", type=str, required=True)
+ args = parser.parse_args()
+ upload_model(args.checkpoint_dir, args.repo_name)
diff --git a/models/samplers/__init__.py b/models/samplers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3016adf2f25726b3e56835d76486203060fae1c8
--- /dev/null
+++ b/models/samplers/__init__.py
@@ -0,0 +1 @@
+# Empty file to make the directory a Python package
diff --git a/models/samplers/__pycache__/__init__.cpython-310.pyc b/models/samplers/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..1d3fce33bf8788a7f716975f1ab190abdf6c7564
Binary files /dev/null and b/models/samplers/__pycache__/__init__.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/ddim.cpython-310.pyc b/models/samplers/__pycache__/ddim.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..42b233218c63f3604c381bd0afb7428940d77df4
Binary files /dev/null and b/models/samplers/__pycache__/ddim.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/ddpm.cpython-310.pyc b/models/samplers/__pycache__/ddpm.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..08457f757ae74ab75d3284a3bf4159bcb25eea86
Binary files /dev/null and b/models/samplers/__pycache__/ddpm.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/edm.cpython-310.pyc b/models/samplers/__pycache__/edm.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..4066d99eb82c5fa0920b0ae3b7686d1430ec14e6
Binary files /dev/null and b/models/samplers/__pycache__/edm.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/flow_sampler.cpython-310.pyc b/models/samplers/__pycache__/flow_sampler.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..c73112f43bfda9e4ce8d4c600a005904b1590021
Binary files /dev/null and b/models/samplers/__pycache__/flow_sampler.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/riemannian_flow_sampler.cpython-310.pyc b/models/samplers/__pycache__/riemannian_flow_sampler.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f7ccf70a1e07a024fd7dfbb551cc118d116d9ee6
Binary files /dev/null and b/models/samplers/__pycache__/riemannian_flow_sampler.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/von_fisher_sampling.cpython-310.pyc b/models/samplers/__pycache__/von_fisher_sampling.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..16b6659a1aca9b95d50f832a82bf352aab7e7188
Binary files /dev/null and b/models/samplers/__pycache__/von_fisher_sampling.cpython-310.pyc differ
diff --git a/models/samplers/__pycache__/von_fisher_sampling_numpy.cpython-310.pyc b/models/samplers/__pycache__/von_fisher_sampling_numpy.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6a84194fd8e59e558d10e6ac2de3b5926753d10f
Binary files /dev/null and b/models/samplers/__pycache__/von_fisher_sampling_numpy.cpython-310.pyc differ
diff --git a/models/samplers/ddim.py b/models/samplers/ddim.py
new file mode 100644
index 0000000000000000000000000000000000000000..94e5b0d71ace47aad549378d0a1a5871b7fb7454
--- /dev/null
+++ b/models/samplers/ddim.py
@@ -0,0 +1,62 @@
+import torch
+
+
+def ddim_sampler(
+ net,
+ batch,
+ conditioning_keys=None,
+ scheduler=None,
+ num_steps=250,
+ cfg_rate=0,
+ generator=None,
+ return_trajectories=False,
+):
+ if scheduler is None:
+ raise ValueError("Scheduler must be provided")
+
+ x_cur = batch["y"].to(torch.float32)
+ if return_trajectories:
+ traj = [x_cur.detach()]
+ step_indices = torch.arange(num_steps + 1, dtype=torch.float32, device=x_cur.device)
+ steps = 1 - step_indices / num_steps
+ gammas = scheduler(steps)
+ dtype = torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch = {}
+ stacked_batch[conditioning_keys] = torch.cat(
+ [batch[conditioning_keys], torch.zeros_like(batch[conditioning_keys])],
+ dim=0,
+ )
+ for step, (gamma_now, gamma_next) in enumerate(zip(gammas[:-1], gammas[1:])):
+ with torch.cuda.amp.autocast(dtype=dtype):
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch["y"] = torch.cat([x_cur, x_cur], dim=0)
+ stacked_batch["gamma"] = gamma_now.expand(x_cur.shape[0] * 2)
+ denoised_all = net(stacked_batch)
+ denoised_cond, denoised_uncond = denoised_all.chunk(2, dim=0)
+ denoised = denoised_cond * (1 + cfg_rate) - denoised_uncond * cfg_rate
+ else:
+ batch["y"] = x_cur
+ batch["gamma"] = gamma_now.expand(x_cur.shape[0])
+ denoised = net(batch)
+
+ x_pred = (x_cur - torch.sqrt(1 - gamma_now) * denoised) / torch.sqrt(gamma_now)
+ x_pred = torch.clamp(x_pred, -1, 1)
+ noise_pred = (x_cur - torch.sqrt(gamma_now) * x_pred) / torch.sqrt(
+ 1 - gamma_now
+ )
+ x_next = (
+ torch.sqrt(gamma_next) * x_pred + torch.sqrt(1 - gamma_next) * noise_pred
+ )
+ x_cur = x_next
+ if return_trajectories:
+ traj.append(x_cur.detach().to(torch.float32))
+
+ if return_trajectories:
+ return x_cur.to(torch.float32), traj
+ else:
+ return x_cur.to(torch.float32)
+
+
+def circular_transformation(x, min_val=-1, max_val=1):
+ return (x - min_val) % (max_val - min_val) + min_val
diff --git a/models/samplers/ddpm.py b/models/samplers/ddpm.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc8510ab527d68c8448794e796c16bbb46a457d2
--- /dev/null
+++ b/models/samplers/ddpm.py
@@ -0,0 +1,187 @@
+import torch
+
+
+def ddpm_sampler(
+ net,
+ batch,
+ conditioning_keys=None,
+ scheduler=None,
+ uncond_tokens=None,
+ num_steps=1000,
+ cfg_rate=0,
+ generator=None,
+ use_confidence_sampling=False,
+ use_uncond_token=True,
+ confidence_value=1.0,
+ unconfidence_value=0.0,
+):
+ if scheduler is None:
+ raise ValueError("Scheduler must be provided")
+
+ x_cur = batch["y"].to(torch.float32)
+ latents = batch["previous_latents"]
+ if use_confidence_sampling:
+ batch["confidence"] = (
+ torch.ones(x_cur.shape[0], device=x_cur.device) * confidence_value
+ )
+ step_indices = torch.arange(num_steps + 1, dtype=torch.float32, device=x_cur.device)
+ steps = 1 - step_indices / num_steps
+ gammas = scheduler(steps)
+ latents_cond = latents_uncond = latents
+ # dtype = torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
+ dtype = torch.float32
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch = {}
+ for key in conditioning_keys:
+ if f"{key}_mask" in batch:
+ if use_confidence_sampling and not use_uncond_token:
+ stacked_batch[f"{key}_mask"] = torch.cat(
+ [batch[f"{key}_mask"], batch[f"{key}_mask"]], dim=0
+ )
+ else:
+ if (
+ batch[f"{key}_mask"].shape[1]
+ > uncond_tokens[f"{key}_mask"].shape[1]
+ ):
+ uncond_mask = (
+ torch.zeros_like(batch[f"{key}_mask"])
+ if batch[f"{key}_mask"].dtype == torch.bool
+ else torch.ones_like(batch[f"{key}_mask"]) * -torch.inf
+ )
+ uncond_mask[:, : uncond_tokens[f"{key}_mask"].shape[1]] = (
+ uncond_tokens[f"{key}_mask"]
+ )
+ else:
+ uncond_mask = uncond_tokens[f"{key}_mask"]
+ batch[f"{key}_mask"] = torch.cat(
+ [
+ batch[f"{key}_mask"],
+ torch.zeros(
+ batch[f"{key}_mask"].shape[0],
+ uncond_tokens[f"{key}_embeddings"].shape[1]
+ - batch[f"{key}_mask"].shape[1],
+ device=batch[f"{key}_mask"].device,
+ dtype=batch[f"{key}_mask"].dtype,
+ ),
+ ],
+ dim=1,
+ )
+ stacked_batch[f"{key}_mask"] = torch.cat(
+ [batch[f"{key}_mask"], uncond_mask], dim=0
+ )
+ if f"{key}_embeddings" in batch:
+ if use_confidence_sampling and not use_uncond_token:
+ stacked_batch[f"{key}_embeddings"] = torch.cat(
+ [
+ batch[f"{key}_embeddings"],
+ batch[f"{key}_embeddings"],
+ ],
+ dim=0,
+ )
+ else:
+ if (
+ batch[f"{key}_embeddings"].shape[1]
+ > uncond_tokens[f"{key}_embeddings"].shape[1]
+ ):
+ uncond_tokens[f"{key}_embeddings"] = torch.cat(
+ [
+ uncond_tokens[f"{key}_embeddings"],
+ torch.zeros(
+ uncond_tokens[f"{key}_embeddings"].shape[0],
+ batch[f"{key}_embeddings"].shape[1]
+ - uncond_tokens[f"{key}_embeddings"].shape[1],
+ uncond_tokens[f"{key}_embeddings"].shape[2],
+ device=uncond_tokens[f"{key}_embeddings"].device,
+ ),
+ ],
+ dim=1,
+ )
+ elif (
+ batch[f"{key}_embeddings"].shape[1]
+ < uncond_tokens[f"{key}_embeddings"].shape[1]
+ ):
+ batch[f"{key}_embeddings"] = torch.cat(
+ [
+ batch[f"{key}_embeddings"],
+ torch.zeros(
+ batch[f"{key}_embeddings"].shape[0],
+ uncond_tokens[f"{key}_embeddings"].shape[1]
+ - batch[f"{key}_embeddings"].shape[1],
+ batch[f"{key}_embeddings"].shape[2],
+ device=batch[f"{key}_embeddings"].device,
+ ),
+ ],
+ dim=1,
+ )
+ stacked_batch[f"{key}_embeddings"] = torch.cat(
+ [
+ batch[f"{key}_embeddings"],
+ uncond_tokens[f"{key}_embeddings"],
+ ],
+ dim=0,
+ )
+ elif key not in batch:
+ raise ValueError(f"Key {key} not in batch")
+ else:
+ if isinstance(batch[key], torch.Tensor):
+ if use_confidence_sampling and not use_uncond_token:
+ stacked_batch[key] = torch.cat([batch[key], batch[key]], dim=0)
+ else:
+ stacked_batch[key] = torch.cat(
+ [batch[key], uncond_tokens], dim=0
+ )
+ elif isinstance(batch[key], list):
+ if use_confidence_sampling and not use_uncond_token:
+ stacked_batch[key] = [*batch[key], *batch[key]]
+ else:
+ stacked_batch[key] = [*batch[key], *uncond_tokens]
+ else:
+ raise ValueError(
+ "Conditioning must be a tensor or a list of tensors"
+ )
+ if use_confidence_sampling:
+ stacked_batch["confidence"] = torch.cat(
+ [
+ torch.ones(x_cur.shape[0], device=x_cur.device) * confidence_value,
+ torch.ones(x_cur.shape[0], device=x_cur.device)
+ * unconfidence_value,
+ ],
+ dim=0,
+ )
+ for step, (gamma_now, gamma_next) in enumerate(zip(gammas[:-1], gammas[1:])):
+ with torch.cuda.amp.autocast(dtype=dtype):
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch["y"] = torch.cat([x_cur, x_cur], dim=0)
+ stacked_batch["gamma"] = gamma_now.expand(x_cur.shape[0] * 2)
+ stacked_batch["previous_latents"] = (
+ torch.cat([latents_cond, latents_uncond], dim=0)
+ if latents is not None
+ else None
+ )
+ denoised_all, latents_all = net(stacked_batch)
+ denoised_cond, denoised_uncond = denoised_all.chunk(2, dim=0)
+ latents_cond, latents_uncond = latents_all.chunk(2, dim=0)
+ denoised = denoised_cond * (1 + cfg_rate) - denoised_uncond * cfg_rate
+ else:
+ batch["y"] = x_cur
+ batch["gamma"] = gamma_now.expand(x_cur.shape[0])
+ batch["previous_latents"] = latents
+ denoised, latents = net(
+ batch,
+ )
+ x_pred = (x_cur - torch.sqrt(1 - gamma_now) * denoised) / torch.sqrt(gamma_now)
+ x_pred = torch.clamp(x_pred, -1, 1)
+ noise_pred = (x_cur - torch.sqrt(gamma_now) * x_pred) / torch.sqrt(
+ 1 - gamma_now
+ )
+
+ log_alpha_t = torch.log(gamma_now) - torch.log(gamma_next)
+ alpha_t = torch.clip(torch.exp(log_alpha_t), 0, 1)
+ x_mean = torch.rsqrt(alpha_t) * (
+ x_cur - torch.rsqrt(1 - gamma_now) * (1 - alpha_t) * noise_pred
+ )
+ var_t = 1 - alpha_t
+ eps = torch.randn(x_cur.shape, device=x_cur.device, generator=generator)
+ x_next = x_mean + torch.sqrt(var_t) * eps
+ x_cur = x_next
+ return x_cur.to(torch.float32)
diff --git a/models/samplers/edm.py b/models/samplers/edm.py
new file mode 100755
index 0000000000000000000000000000000000000000..eae4976f5ada37e2ebc72deabede9e244db9ffcb
--- /dev/null
+++ b/models/samplers/edm.py
@@ -0,0 +1,68 @@
+import torch
+import numpy as np
+
+
+def edm_sampler(
+ net,
+ x_N,
+ conditioning=None,
+ latents=None,
+ randn_like=torch.randn_like,
+ num_steps=18,
+ sigma_min=0.002,
+ sigma_max=80,
+ rho=7,
+ S_churn=0,
+ S_min=0,
+ S_max=float("inf"),
+ S_noise=1,
+):
+ # Adjust noise levels based on what's supported by the network.
+ sigma_min = max(sigma_min, net.sigma_min)
+ sigma_max = min(sigma_max, net.sigma_max)
+
+ # Time step discretization.
+ step_indices = torch.arange(num_steps, dtype=torch.float64, device=x_N.device)
+ t_steps = (
+ sigma_max ** (1 / rho)
+ + step_indices
+ / (num_steps - 1)
+ * (sigma_min ** (1 / rho) - sigma_max ** (1 / rho))
+ ) ** rho
+ t_steps = torch.cat(
+ [net.round_sigma(t_steps), torch.zeros_like(t_steps[:1])]
+ ) # t_N = 0
+
+ # Main sampling loop.
+ x_next = x_N.to(torch.float64) * t_steps[0]
+ for i, (t_cur, t_next) in enumerate(zip(t_steps[:-1], t_steps[1:])): # 0, ..., N-1
+ x_cur = x_next
+
+ # Increase noise temporarily.
+ gamma = (
+ min(S_churn / num_steps, np.sqrt(2) - 1) if S_min <= t_cur <= S_max else 0
+ )
+ t_hat = net.round_sigma(t_cur + gamma * t_cur)
+ x_hat = x_cur + (t_hat**2 - t_cur**2).sqrt() * S_noise * randn_like(x_cur)
+
+ # Euler step.
+ denoised, latents = net(
+ x_hat, t_hat.expand(x_cur.shape[0]), conditioning, previous_latents=latents
+ )
+ denoised = denoised.to(torch.float64)
+ d_cur = (x_hat - denoised) / t_hat
+ x_next = x_hat + (t_next - t_hat) * d_cur
+
+ # Apply 2nd order correction.
+ if i < num_steps - 1:
+ denoised, latents = net(
+ x_next,
+ t_next.expand(x_cur.shape[0]),
+ conditioning,
+ previous_latents=latents,
+ )
+ denoised = denoised.to(torch.float64)
+ d_prime = (x_next - denoised) / t_next
+ x_next = x_hat + (t_next - t_hat) * (0.5 * d_cur + 0.5 * d_prime)
+
+ return x_next
diff --git a/models/samplers/flow_sampler.py b/models/samplers/flow_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc4609d415acd4a147e539bac467d5fd8bc4ae0f
--- /dev/null
+++ b/models/samplers/flow_sampler.py
@@ -0,0 +1,57 @@
+import torch
+
+
+def flow_sampler(
+ net,
+ batch,
+ conditioning_keys=None,
+ scheduler=None,
+ num_steps=250,
+ cfg_rate=0,
+ generator=None,
+ return_trajectories=False,
+):
+ if scheduler is None:
+ raise ValueError("Scheduler must be provided")
+
+ x_cur = batch["y"].to(torch.float32)
+ if return_trajectories:
+ traj = [x_cur.detach()]
+ step_indices = torch.arange(num_steps + 1, dtype=torch.float32, device=x_cur.device)
+ steps = 1 - step_indices / num_steps
+ gammas = scheduler(steps)
+ dtype = (
+ torch.float32
+ ) # torch.bfloat16 if torch.cuda.is_bf16_supported() else torch.float16
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch = {}
+ stacked_batch[conditioning_keys] = torch.cat(
+ [batch[conditioning_keys], torch.zeros_like(batch[conditioning_keys])],
+ dim=0,
+ )
+ for step, (gamma_now, gamma_next) in enumerate(zip(gammas[:-1], gammas[1:])):
+ with torch.cuda.amp.autocast(dtype=dtype):
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch["y"] = torch.cat([x_cur, x_cur], dim=0)
+ stacked_batch["gamma"] = gamma_now.expand(x_cur.shape[0] * 2)
+ denoised_all = net(stacked_batch)
+ denoised_cond, denoised_uncond = denoised_all.chunk(2, dim=0)
+ denoised = denoised_cond * (1 + cfg_rate) - denoised_uncond * cfg_rate
+ else:
+ batch["y"] = x_cur
+ batch["gamma"] = gamma_now.expand(x_cur.shape[0])
+ denoised = net(batch)
+ dt = gamma_next - gamma_now
+ x_next = x_cur + dt * denoised
+ x_cur = x_next
+ if return_trajectories:
+ traj.append(x_cur.detach().to(torch.float32))
+
+ if return_trajectories:
+ return x_cur.to(torch.float32), traj
+ else:
+ return x_cur.to(torch.float32)
+
+
+def circular_transformation(x, min_val=-1, max_val=1):
+ return (x - min_val) % (max_val - min_val) + min_val
diff --git a/models/samplers/riemannian_flow_sampler.py b/models/samplers/riemannian_flow_sampler.py
new file mode 100644
index 0000000000000000000000000000000000000000..a541f820572fed15518b4432202baac2353e2df7
--- /dev/null
+++ b/models/samplers/riemannian_flow_sampler.py
@@ -0,0 +1,84 @@
+import torch
+from utils.manifolds import Sphere
+from tqdm.auto import tqdm
+
+
+def riemannian_flow_sampler(
+ net,
+ batch,
+ manifold=Sphere(),
+ conditioning_keys=None,
+ scheduler=None,
+ num_steps=250,
+ cfg_rate=0,
+ generator=None,
+ return_trajectories=False,
+):
+ if scheduler is None:
+ raise ValueError("Scheduler must be provided")
+
+ x_cur = batch["y"].to(torch.float32)
+ if return_trajectories:
+ traj = [x_cur.detach()]
+ step_indices = torch.arange(num_steps + 1, dtype=torch.float32, device=x_cur.device)
+ steps = 1 - step_indices / num_steps
+ gammas = scheduler(steps)
+ dtype = torch.float32
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch = {}
+ stacked_batch[conditioning_keys] = torch.cat(
+ [batch[conditioning_keys], torch.zeros_like(batch[conditioning_keys])],
+ dim=0,
+ )
+ for step, (gamma_now, gamma_next) in enumerate(zip(gammas[:-1], gammas[1:])):
+ with torch.cuda.amp.autocast(dtype=dtype):
+ if cfg_rate > 0 and conditioning_keys is not None:
+ stacked_batch["y"] = torch.cat([x_cur, x_cur], dim=0)
+ stacked_batch["gamma"] = gamma_now.expand(x_cur.shape[0] * 2)
+ denoised_all = net(stacked_batch)
+ denoised_cond, denoised_uncond = denoised_all.chunk(2, dim=0)
+ denoised = denoised_cond * (1 + cfg_rate) - denoised_uncond * cfg_rate
+ else:
+ batch["y"] = x_cur
+ batch["gamma"] = gamma_now.expand(x_cur.shape[0])
+ denoised = net(batch)
+
+ dt = gamma_next - gamma_now
+ x_next = x_cur + dt * denoised # manifold.expmap(x_cur, dt * denoised)
+ x_next = manifold.projx(x_next)
+ x_cur = x_next
+ if return_trajectories:
+ traj.append(x_cur.detach().to(torch.float32))
+
+ if return_trajectories:
+ return x_cur.to(torch.float32), traj
+ else:
+ return x_cur.to(torch.float32)
+
+
+def ode_riemannian_flow_sampler(
+ odefunc,
+ x_1,
+ manifold=Sphere(),
+ scheduler=None,
+ num_steps=1000,
+):
+ if scheduler is None:
+ raise ValueError("Scheduler must be provided")
+
+ x_cur = x_1.to(torch.float32)
+ steps = (
+ torch.arange(num_steps + 1, dtype=torch.float32, device=x_cur.device)
+ / num_steps
+ )
+ dtype = torch.float32
+ for step, (t_now, t_next) in enumerate(zip(steps[:-1], steps[1:]), total=num_steps):
+ with torch.cuda.amp.autocast(dtype=dtype):
+ denoised = odefunc(t_now, x_cur)
+ gamma_now = scheduler(t_now)
+ gamma_next = scheduler(t_next)
+ dt = gamma_next - gamma_now
+ x_next = x_cur + dt * denoised # manifold.expmap(x_cur, dt * denoised)
+ x_next = manifold.projx(x_next)
+ x_cur = x_next
+ return x_cur.to(torch.float32)
diff --git a/models/samplers/von_fisher_sampling.py b/models/samplers/von_fisher_sampling.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3afab2e65aab43455f82243dd908ac77f9486b1
--- /dev/null
+++ b/models/samplers/von_fisher_sampling.py
@@ -0,0 +1,105 @@
+"""
+Generate multivariate von Mises Fisher samples.
+PyTorch implementation of the original code from:
+https://github.com/clara-labs/spherecluster
+"""
+
+import torch
+
+__all__ = ["sample_vMF"]
+
+
+def vMF_sampler(
+ net,
+ batch,
+):
+ mu, kappa = net(batch)
+ return sample_vMF(mu.T, kappa.squeeze(1))
+
+
+def vMF_mixture_sampler(
+ net,
+ batch,
+):
+ mu_mixture, kappa_mixture, weights = net(batch)
+ # Sample mixture component indices based on weights
+ indices = torch.multinomial(weights, num_samples=1).squeeze()
+ # Select corresponding mu and kappa
+ mu = mu_mixture[torch.arange(mu_mixture.shape[0]), indices]
+ kappa = kappa_mixture[torch.arange(kappa_mixture.shape[0]), indices]
+ return sample_vMF(mu.T, kappa)
+
+
+def sample_vMF(mu, kappa, num_samples=1):
+ """Generate N-dimensional samples from von Mises Fisher
+ distribution around center mu ∈ R^N with concentration kappa.
+ mu and kappa may be vectors,
+ mu should have shape (N,) or (N, 1), kappa should be scalar or vector of length N.
+ """
+ if len(mu.shape) == 1:
+ mu = mu.unsqueeze(1)
+
+ if isinstance(kappa, torch.Tensor):
+ dim = mu.shape[0]
+ assert mu.shape[1] == kappa.size(0)
+ else:
+ dim = mu.shape[0]
+ mu = mu.repeat(1, num_samples)
+ kappa = torch.full((num_samples,), kappa, device=mu.device, dtype=mu.dtype)
+
+ # sample offset from center (on sphere) with spread kappa
+ w = _sample_weight(kappa, dim)
+
+ # sample a point v on the unit sphere that's orthogonal to mu
+ v = _sample_orthonormal_to(mu)
+
+ # compute new point
+ result = v * torch.sqrt(1.0 - w**2).unsqueeze(0) + w.unsqueeze(0) * mu
+ return result.T
+
+
+def _sample_weight(kappa, dim):
+ """Rejection sampling scheme for sampling distance from center on
+ surface of the sphere.
+ """
+ dim = dim - 1 # since S^{n-1}
+ try:
+ size = kappa.size(0)
+ except AttributeError:
+ size = 1
+
+ b = dim / (torch.sqrt(4.0 * kappa**2 + dim**2) + 2 * kappa)
+ x = (1.0 - b) / (1.0 + b)
+ c = kappa * x + dim * torch.log(1 - x**2)
+
+ w = torch.zeros_like(kappa)
+ idx = torch.zeros_like(kappa, dtype=torch.bool)
+
+ while True:
+ where_zero = ~idx
+ if torch.all(idx):
+ return w
+
+ z = (
+ torch.distributions.Beta(dim / 2.0, dim / 2.0)
+ .sample((size,))
+ .to(kappa.device)
+ )
+ _w = (1.0 - (1.0 + b) * z) / (1.0 - (1.0 - b) * z)
+ u = torch.rand(size, device=kappa.device)
+
+ _idx = kappa * _w + dim * torch.log(1.0 - x * _w) - c >= torch.log(u)
+
+ if not torch.any(_idx):
+ continue
+
+ w[where_zero] = _w[where_zero]
+ idx[_idx] = True
+
+
+def _sample_orthonormal_to(mu):
+ """Sample point on sphere orthogonal to mu."""
+ v = torch.randn(mu.shape[0], mu.shape[1], device=mu.device)
+ proj_mu_v = mu * ((v * mu).sum(dim=0)) / torch.norm(mu, dim=0) ** 2
+ orthto = v - proj_mu_v
+ return orthto / torch.norm(orthto, dim=0)
diff --git a/models/schedulers.py b/models/schedulers.py
new file mode 100644
index 0000000000000000000000000000000000000000..c5d5c3370e76ff8ffdf613f319f4b7782c3de55c
--- /dev/null
+++ b/models/schedulers.py
@@ -0,0 +1,106 @@
+import torch
+
+
+class SigmoidScheduler:
+ def __init__(self, start=-3, end=3, tau=1, clip_min=1e-9):
+ self.start = start
+ self.end = end
+ self.tau = tau
+ self.clip_min = clip_min
+
+ self.v_start = torch.sigmoid(torch.tensor(self.start / self.tau))
+ self.v_end = torch.sigmoid(torch.tensor(self.end / self.tau))
+
+ def __call__(self, t):
+ output = (
+ -torch.sigmoid((t * (self.end - self.start) + self.start) / self.tau)
+ + self.v_end
+ ) / (self.v_end - self.v_start)
+ return torch.clamp(output, min=self.clip_min, max=1.0)
+
+ def derivative(self, t):
+ x = (t * (self.end - self.start) + self.start) / self.tau
+ sigmoid_x = torch.sigmoid(x)
+ # Chain rule: d/dt of original function
+ return (
+ -(self.end - self.start)
+ * sigmoid_x
+ * (1 - sigmoid_x)
+ / (self.tau * (self.v_end - self.v_start))
+ )
+
+ def alpha(self, t):
+ return -self.derivative(t) / (1e-6 + self.__call__(t))
+
+
+class LinearScheduler:
+ def __init__(self, start=1, end=0, clip_min=1e-9):
+ self.start = start
+ self.end = end
+ self.clip_min = clip_min
+
+ def __call__(self, t):
+ output = (self.end - self.start) * t + self.start
+ return torch.clamp(output, min=self.clip_min, max=1.0)
+
+ def derivative(self, t):
+ return torch.tensor(self.end - self.start).to(t.device)
+
+ def alpha(self, t):
+ return -self.derivative(t) / (1e-6 + self.__call__(t))
+
+
+class CosineScheduler:
+ def __init__(
+ self,
+ start: float = 1,
+ end: float = 0,
+ tau: float = 1.0,
+ clip_min: float = 1e-9,
+ ):
+ self.start = start
+ self.end = end
+ self.tau = tau
+ self.clip_min = clip_min
+
+ self.v_start = torch.cos(torch.tensor(self.start) * torch.pi / 2) ** (
+ 2 * self.tau
+ )
+ self.v_end = torch.cos(torch.tensor(self.end) * torch.pi / 2) ** (2 * self.tau)
+
+ def __call__(self, t: float) -> float:
+ output = (
+ torch.cos((t * (self.end - self.start) + self.start) * torch.pi / 2)
+ ** (2 * self.tau)
+ - self.v_end
+ ) / (self.v_start - self.v_end)
+ return torch.clamp(output, min=self.clip_min, max=1.0)
+
+ def derivative(self, t: float) -> float:
+ x = (t * (self.end - self.start) + self.start) * torch.pi / 2
+ cos_x = torch.cos(x)
+ # Chain rule: d/dt of original function
+ return (
+ -2
+ * self.tau
+ * (self.end - self.start)
+ * torch.pi
+ / 2
+ * cos_x
+ * (cos_x ** (2 * self.tau - 1))
+ * torch.sin(x)
+ / (self.v_start - self.v_end)
+ )
+
+
+class CosineSchedulerSimple:
+ def __init__(self, ns: float = 0.0002, ds: float = 0.00025):
+ self.ns = ns
+ self.ds = ds
+
+ def __call__(self, t: float) -> float:
+ return torch.cos(((t + self.ns) / (1 + self.ds)) * torch.pi / 2) ** 2
+
+ def derivative(self, t: float) -> float:
+ x = ((t + self.ns) / (1 + self.ds)) * torch.pi / 2
+ return -torch.pi * torch.cos(x) * torch.sin(x) / (1 + self.ds)
diff --git a/pipe.py b/pipe.py
new file mode 100644
index 0000000000000000000000000000000000000000..669b9786ca78d0d13948f33156c0080198597fcf
--- /dev/null
+++ b/pipe.py
@@ -0,0 +1,298 @@
+import torch
+import random
+import string
+from transformers import AutoTokenizer, T5EncoderModel
+from models.pretrained_models import Plonk
+from models.samplers.riemannian_flow_sampler import riemannian_flow_sampler
+
+from models.postprocessing import CartesiantoGPS
+
+from models.schedulers import (
+ SigmoidScheduler,
+ LinearScheduler,
+ CosineScheduler,
+)
+from models.preconditioning import DDPMPrecond
+from torchvision import transforms
+from transformers import CLIPProcessor, CLIPVisionModel
+from utils.image_processing import CenterCrop
+import numpy as np
+
+device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
+MODELS = {
+ "nicolas-dufour/PLONK_YFCC": {"emb_name": "dinov2"},
+ "nicolas-dufour/PLONK_OSV_5M": {
+ "emb_name": "street_clip",
+ },
+ "nicolas-dufour/PLONK_iNaturalist": {
+ "emb_name": "dinov2",
+ },
+}
+
+
+def scheduler_fn(
+ scheduler_type: str, start: float, end: float, tau: float, clip_min: float = 1e-9
+):
+ if scheduler_type == "sigmoid":
+ return SigmoidScheduler(start, end, tau, clip_min)
+ elif scheduler_type == "cosine":
+ return CosineScheduler(start, end, tau, clip_min)
+ elif scheduler_type == "linear":
+ return LinearScheduler(clip_min=clip_min)
+ else:
+ raise ValueError(f"Scheduler type {scheduler_type} not supported")
+
+
+class DinoV2FeatureExtractor:
+ def __init__(self, device=device):
+ super().__init__()
+ self.device = device
+ self.emb_model = torch.hub.load("facebookresearch/dinov2", "dinov2_vitl14_reg")
+ self.emb_model.eval()
+ self.emb_model.to(self.device)
+ self.augmentation = transforms.Compose(
+ [
+ CenterCrop(ratio="1:1"),
+ transforms.Resize(
+ 336, interpolation=transforms.InterpolationMode.BICUBIC
+ ),
+ transforms.ToTensor(),
+ transforms.Normalize(
+ mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)
+ ),
+ ]
+ )
+
+ def __call__(self, batch):
+ embs = []
+ with torch.no_grad():
+ for img in batch["img"]:
+ emb = self.emb_model(
+ self.augmentation(img).unsqueeze(0).to(self.device)
+ ).squeeze(0)
+ embs.append(emb)
+ batch["emb"] = torch.stack(embs)
+ return batch
+
+
+class StreetClipFeatureExtractor:
+ def __init__(self, device=device):
+ self.device = device
+ self.emb_model = CLIPVisionModel.from_pretrained("geolocal/StreetCLIP").to(
+ device
+ )
+ self.processor = CLIPProcessor.from_pretrained("geolocal/StreetCLIP")
+
+ def __call__(self, batch):
+ inputs = self.processor(images=batch["img"], return_tensors="pt")
+ inputs = {k: v.to(self.device) for k, v in inputs.items()}
+ with torch.no_grad():
+ outputs = self.emb_model(**inputs)
+ embeddings = outputs.last_hidden_state[:, 0]
+ batch["emb"] = embeddings
+ return batch
+
+
+def load_prepocessing(model_name, dtype=torch.float32):
+ if MODELS[model_name]["emb_name"] == "dinov2":
+ return DinoV2FeatureExtractor()
+ elif MODELS[model_name]["emb_name"] == "street_clip":
+ return StreetClipFeatureExtractor()
+ else:
+ raise ValueError(f"Embedding model {MODELS[model_name]['emb_name']} not found")
+
+
+class PlonkPipeline:
+ """
+ The CADT2IPipeline class is designed to facilitate the generation of images from text prompts using a pre-trained CAD model.
+ It integrates various components such as samplers, schedulers, and post-processing techniques to produce high-quality images.
+
+ Initialization:
+ CADT2IPipeline(
+ model_path,
+ sampler="ddim",
+ scheduler="sigmoid",
+ postprocessing="sd_1_5_vae",
+ scheduler_start=-3,
+ scheduler_end=3,
+ scheduler_tau=1.1,
+ device="cuda",
+ )
+
+ Parameters:
+ model_path (str): Path to the pre-trained CAD model.
+ sampler (str): The sampling method to use. Options are "ddim", "ddpm", "dpm", "dpm_2S", "dpm_2M". Default is "ddim".
+ scheduler (str): The scheduler type to use. Options are "sigmoid", "cosine", "linear". Default is "sigmoid".
+ postprocessing (str): The post-processing method to use. Options are "consistency-decoder", "sd_1_5_vae". Default is "sd_1_5_vae".
+ scheduler_start (float): Start value for the scheduler. Default is -3.
+ scheduler_end (float): End value for the scheduler. Default is 3.
+ scheduler_tau (float): Tau value for the scheduler. Default is 1.1.
+ device (str): Device to run the model on. Default is "cuda".
+
+ Methods:
+ model(*args, **kwargs):
+ Runs the preconditioning on the network with the provided arguments.
+
+ __call__(...):
+ Generates images based on the provided conditions and parameters.
+
+ Parameters:
+ cond (str or list of str): The conditioning text or list of texts.
+ num_samples (int, optional): Number of samples to generate. If not provided, it is inferred from cond.
+ x_N (torch.Tensor, optional): Initial noise tensor. If not provided, it is generated.
+ latents (torch.Tensor, optional): Previous latents.
+ num_steps (int, optional): Number of steps for the sampler. If not provided, the default is used.
+ sampler (callable, optional): Custom sampler function. If not provided, the default sampler is used.
+ scheduler (callable, optional): Custom scheduler function. If not provided, the default scheduler is used.
+ cfg (float): Classifier-free guidance scale. Default is 15.
+ guidance_type (str): Type of guidance. Default is "constant".
+ guidance_start_step (int): Step to start guidance. Default is 0.
+ generator (torch.Generator, optional): Random number generator.
+ coherence_value (float): Doherence value for sampling. Default is 1.0.
+ uncoherence_value (float): Uncoherence value for sampling. Default is 0.0.
+ unconfident_prompt (str, optional): Unconfident prompt text.
+ thresholding_type (str): Type of thresholding. Default is "clamp".
+ clamp_value (float): Clamp value for thresholding. Default is 1.0.
+ thresholding_percentile (float): Percentile for thresholding. Default is 0.995.
+
+ Returns:
+ torch.Tensor: The generated image tensor after post-processing.
+
+ to(device):
+ Moves the model and its components to the specified device.
+
+ Parameters:
+ device (str): The device to move the model to (e.g., "cuda", "cpu").
+
+ Returns:
+ CADT2IPipeline: The pipeline instance with updated device.
+
+ Example Usage:
+ pipe = CADT2IPipeline(
+ "nicolas-dufour/",
+ )
+ pipe.to("cuda")
+ image = pipe(
+ "a beautiful landscape with a river and mountains",
+ num_samples=4,
+ )
+ """
+
+ def __init__(
+ self,
+ model_path,
+ scheduler="sigmoid",
+ scheduler_start=-7,
+ scheduler_end=3,
+ scheduler_tau=1.0,
+ device=device,
+ ):
+ self.network = Plonk.from_pretrained(model_path).to(device)
+ self.network.requires_grad_(False).eval()
+ assert scheduler in [
+ "sigmoid",
+ "cosine",
+ "linear",
+ ], f"Scheduler {scheduler} not supported"
+ self.scheduler = scheduler_fn(
+ scheduler, scheduler_start, scheduler_end, scheduler_tau
+ )
+ self.cond_preprocessing = load_prepocessing(model_name=model_path)
+ self.postprocessing = CartesiantoGPS()
+ self.sampler = riemannian_flow_sampler
+ self.model_path = model_path
+ self.preconditioning = DDPMPrecond()
+ self.device = device
+
+ def model(self, *args, **kwargs):
+ return self.preconditioning(self.network, *args, **kwargs)
+
+ def __call__(
+ self,
+ images,
+ batch_size=None,
+ x_N=None,
+ num_steps=None,
+ scheduler=None,
+ cfg=0,
+ generator=None,
+ ):
+ """Sample from the model given conditioning.
+
+ Args:
+ cond: Conditioning input (image or list of images)
+ batch_size: Number of samples to generate (inferred from cond if not provided)
+ x_N: Initial noise tensor (generated if not provided)
+ num_steps: Number of sampling steps (uses default if not provided)
+ sampler: Custom sampler function (uses default if not provided)
+ scheduler: Custom scheduler function (uses default if not provided)
+ cfg: Classifier-free guidance scale (default 15)
+ generator: Random number generator
+
+ Returns:
+ Sampled GPS coordinates after postprocessing
+ """
+ # Set up batch size and initial noise
+ shape = [3]
+ if not isinstance(images, list):
+ images = [images]
+ if x_N is None:
+ if batch_size is None:
+ if isinstance(images, list):
+ batch_size = len(images)
+ else:
+ batch_size = 1
+ x_N = torch.randn(
+ batch_size, *shape, device=self.device, generator=generator
+ )
+ else:
+ x_N = x_N.to(self.device)
+ if x_N.ndim == 3:
+ x_N = x_N.unsqueeze(0)
+ batch_size = x_N.shape[0]
+
+ # Set up batch with conditioning
+ batch = {"y": x_N}
+ batch["img"] = images
+ batch = self.cond_preprocessing(batch)
+ if len(images) > 1:
+ assert len(images) == batch_size
+ else:
+ batch["emb"] = batch["emb"].repeat(batch_size, 1)
+
+ # Use default sampler/scheduler if not provided
+ sampler = self.sampler
+ if scheduler is None:
+ scheduler = self.scheduler
+ # Sample from model
+ if num_steps is None:
+ output = sampler(
+ self.model,
+ batch,
+ conditioning_keys="emb",
+ scheduler=scheduler,
+ cfg_rate=cfg,
+ generator=generator,
+ )
+ else:
+ output = sampler(
+ self.model,
+ batch,
+ conditioning_keys="emb",
+ scheduler=scheduler,
+ num_steps=num_steps,
+ cfg_rate=cfg,
+ generator=generator,
+ )
+
+ # Apply postprocessing and return
+ output = self.postprocessing(output)
+ # To degrees
+ output = np.degrees(output.detach().cpu().numpy())
+ return output
+
+ def to(self, device):
+ self.network.to(device)
+ self.postprocessing.to(device)
+ self.device = torch.device(device)
+ return self
diff --git a/requirements.txt b/requirements.txt
index 9190ed3582adea6a6012859ace320fcb5ac6897a..3dd61d2c35749654fe8ee00066d0762f0e2cf47f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,6 +1,18 @@
-git+https://github.com/nicolas-dufour/plonk.git@master
+joblib
+wandb
+hydra-core
+numpy
+scipy==1.13.1
pandas
-torch
-torchvision
-streamlit_extras
-plotly
\ No newline at end of file
+scikit-learn
+pytorch-lightning
+transformers
+accelerate
+peft
+geos
+reverse_geocoder
+matplotlib
+geoopt
+einops
+torchdiffeq
+webdataset==0.2.57
\ No newline at end of file
diff --git a/scripts/download-dataset.py b/scripts/download-dataset.py
new file mode 100644
index 0000000000000000000000000000000000000000..56059aca7d802505e534cf580c0cd6c62b340470
--- /dev/null
+++ b/scripts/download-dataset.py
@@ -0,0 +1,27 @@
+import os, zipfile
+from huggingface_hub import snapshot_download
+
+# Define the base directory
+base_dir = os.path.join(os.getcwd(), 'datasets')
+
+# Ensure the base directory exists
+if not os.path.exists(base_dir):
+ os.mkdir(base_dir)
+
+# Define the specific dataset directory
+dataset_dir = os.path.join(base_dir, "osv5m")
+
+# Ensure the specific dataset directory exists
+if not os.path.exists(dataset_dir):
+ os.mkdir(dataset_dir)
+
+# Download the dataset
+snapshot_download(repo_id="osv5m/osv5m", local_dir=dataset_dir, repo_type='dataset')
+
+# Extract zip files and remove them after extraction
+for root, dirs, files in os.walk(dataset_dir):
+ for file in files:
+ if file.endswith(".zip"):
+ with zipfile.ZipFile(os.path.join(root, file), 'r') as zip_ref:
+ zip_ref.extractall(root)
+ os.remove(os.path.join(root, file))
diff --git a/scripts/preprocessing/enrich-metadata-adaptive-quadtrees.py b/scripts/preprocessing/enrich-metadata-adaptive-quadtrees.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b491985dc9e3f2086b3a3003f83d2676accaea0
--- /dev/null
+++ b/scripts/preprocessing/enrich-metadata-adaptive-quadtrees.py
@@ -0,0 +1,225 @@
+import hydra
+import torch
+import numpy as np
+import pandas as pd
+import statistics
+from os.path import join, dirname
+import matplotlib.pyplot as plt
+
+
+class QuadTree(object):
+ def __init__(self, data, id="", depth=3, do_split=5000):
+ self.id = id
+ self.data = data
+
+ coord = data[["latitude", "longitude"]].to_numpy()
+
+ # if mins is None:
+ mins = coord.min(0)
+ # if maxs is None:
+ maxs = coord.max(0)
+
+ self.mins = np.asarray(mins)
+ self.maxs = np.asarray(maxs)
+ self.sizes = self.maxs - self.mins
+
+ self.children = []
+
+ # sort by latitude
+ sorted_data_lat = sorted(coord, key=lambda point: point[0])
+
+ # get the median lat
+ median_lat = statistics.median(point[0] for point in sorted_data_lat)
+
+ # Divide the cell into two half-cells based on the median lat
+ data_left = [point for point in sorted_data_lat if point[0] <= median_lat]
+ data_right = [point for point in sorted_data_lat if point[0] > median_lat]
+
+ # Sort the data points by long in each half-cell
+ sorted_data_left_lon = sorted(data_left, key=lambda point: point[1])
+ sorted_data_right_lon = sorted(data_right, key=lambda point: point[1])
+
+ # Calculate the median ylong coordinate in each half-cell
+ median_lon_left = statistics.median(point[1] for point in sorted_data_left_lon)
+ median_lon_right = statistics.median(
+ point[1] for point in sorted_data_right_lon
+ )
+
+ if (depth > 0) and (len(self.data) >= do_split):
+ # split the data into four quadrants
+ data_q1 = data[
+ (data["latitude"] < median_lat) & (data["longitude"] < median_lon_left)
+ ]
+ data_q2 = data[
+ (data["latitude"] < median_lat) & (data["longitude"] >= median_lon_left)
+ ]
+ data_q3 = data[
+ (data["latitude"] >= median_lat)
+ & (data["longitude"] < median_lon_right)
+ ]
+ data_q4 = data[
+ (data["latitude"] >= median_lat)
+ & (data["longitude"] >= median_lon_right)
+ ]
+
+ # recursively build a quad tree on each quadrant which has data
+ if data_q1.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q1,
+ id + "0",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q2.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q2,
+ id + "1",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q3.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q3,
+ id + "2",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q4.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q4,
+ id + "3",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+
+ def unwrap(self):
+ if len(self.children) == 0:
+ return {self.id: [self.mins, self.maxs, self.data.copy()]}
+ else:
+ d = dict()
+ for child in self.children:
+ d.update(child.unwrap())
+ return d
+
+
+def extract(qt, name_new_column):
+ cluster = qt.unwrap()
+ boundaries, data = {}, []
+ for i, (id, vs) in zip(np.arange(len(cluster)), cluster.items()):
+ (min_lat, min_lon), (max_lat, max_lon), points = vs
+ points[name_new_column] = int(i)
+ data.append(points)
+ boundaries[i] = (
+ float(min_lat),
+ float(min_lon),
+ float(max_lat),
+ float(max_lon),
+ points["latitude"].mean(),
+ points["longitude"].mean(),
+ )
+
+ data = pd.concat(data)
+ return boundaries, data
+
+
+def vizu(name_new_column, df_train, boundaries, do_split):
+ plt.hist(df_train[name_new_column], bins=len(boundaries))
+ plt.xlabel("Cluster ID")
+ plt.ylabel("Number of images")
+ plt.title("Cluster distribution")
+ plt.yscale("log")
+ plt.ylim(10, do_split)
+ plt.savefig(f"{name_new_column}_distrib.png")
+ plt.clf()
+
+ plt.scatter(
+ df_train["longitude"].to_numpy(),
+ df_train["latitude"].to_numpy(),
+ c=np.random.permutation(len(boundaries))[df_train[name_new_column].to_numpy()],
+ cmap="tab20",
+ s=0.1,
+ alpha=0.5,
+ )
+ plt.xlabel("Longitude")
+ plt.ylabel("Latitude")
+ plt.title("Quadtree map")
+ plt.savefig(f"{name_new_column}_map.png")
+
+
+@hydra.main(
+ config_path="../configs/scripts",
+ config_name="enrich-metadata-quadtree",
+ version_base=None,
+)
+def main(cfg):
+
+ data_path = join(cfg.data_dir, "osv5m")
+ name_new_column = f"adaptive_quadtree_{cfg.depth}_{cfg.do_split}"
+
+ # Create clusters from train images
+ train_fp = join(data_path, f"train.csv")
+ df_train = pd.read_csv(train_fp)
+
+ qt = QuadTree(df_train, depth=cfg.depth, do_split=cfg.do_split)
+ boundaries, df_train = extract(qt, name_new_column)
+
+ vizu(name_new_column, df_train, boundaries, cfg.do_split)
+
+ # Save clusters
+ boundaries = pd.DataFrame.from_dict(
+ boundaries,
+ orient="index",
+ columns=["min_lat", "min_lon", "max_lat", "max_lon", "mean_lat", "mean_lon"],
+ )
+ boundaries.to_csv(f"{name_new_column}.csv", index_label="cluster_id")
+
+ # Assign test images to clusters
+ test_fp = join(data_path, f"test.csv")
+ df_test = pd.read_csv(test_fp)
+
+ above_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lat"].to_numpy(), 0
+ )
+ below_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lat"].to_numpy(), 0
+ )
+ above_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lon"].to_numpy(), 0
+ )
+ below_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lon"].to_numpy(), 0
+ )
+
+ mask = np.logical_and(
+ np.logical_and(above_lat, below_lat), np.logical_and(above_lon, below_lon)
+ )
+
+ df_test[name_new_column] = np.argmax(mask, axis=1)
+
+ # save index_to_gps_quadtree file
+ lat = torch.tensor(boundaries["mean_lat"])
+ lon = torch.tensor(boundaries["mean_lon"])
+ coord = torch.stack([lat / 90, lon / 180], dim=-1)
+ torch.save(
+ coord,
+ join(
+ data_path, f"index_to_gps_adaptive_quadtree_{cfg.depth}_{cfg.do_split}.pt"
+ ),
+ )
+
+ # Overwrite test.csv and train.csv
+ if cfg.overwrite_csv:
+ df_train.to_csv(train_fp, index=False)
+ df_test.to_csv(test_fp, index=False)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/preprocessing/enrich-metadata-quadtree.py b/scripts/preprocessing/enrich-metadata-quadtree.py
new file mode 100644
index 0000000000000000000000000000000000000000..f8f9be38523d35c75159ea63637780bb19fd9cc8
--- /dev/null
+++ b/scripts/preprocessing/enrich-metadata-quadtree.py
@@ -0,0 +1,208 @@
+import hydra
+import numpy as np
+import pandas as pd
+from os.path import join, dirname
+import matplotlib.pyplot as plt
+import torch
+
+
+class QuadTree(object):
+ def __init__(self, data, mins=None, maxs=None, id="", depth=3, do_split=1000):
+ self.id = id
+ self.data = data
+
+ if mins is None:
+ mins = data[["latitude", "longitude"]].to_numpy().min(0)
+ if maxs is None:
+ maxs = data[["latitude", "longitude"]].to_numpy().max(0)
+
+ self.mins = np.asarray(mins)
+ self.maxs = np.asarray(maxs)
+ self.sizes = self.maxs - self.mins
+
+ self.children = []
+
+ mids = 0.5 * (self.mins + self.maxs)
+ xmin, ymin = self.mins
+ xmax, ymax = self.maxs
+ xmid, ymid = mids
+
+ if (depth > 0) and (len(self.data) >= do_split):
+ # split the data into four quadrants
+ data_q1 = data[(data["latitude"] < mids[0]) & (data["longitude"] < mids[1])]
+ data_q2 = data[
+ (data["latitude"] < mids[0]) & (data["longitude"] >= mids[1])
+ ]
+ data_q3 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] < mids[1])
+ ]
+ data_q4 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] >= mids[1])
+ ]
+
+ # recursively build a quad tree on each quadrant which has data
+ if data_q1.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q1,
+ [xmin, ymin],
+ [xmid, ymid],
+ id + "0",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q2.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q2,
+ [xmin, ymid],
+ [xmid, ymax],
+ id + "1",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q3.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q3,
+ [xmid, ymin],
+ [xmax, ymid],
+ id + "2",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q4.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q4,
+ [xmid, ymid],
+ [xmax, ymax],
+ id + "3",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+
+ def unwrap(self):
+ if len(self.children) == 0:
+ return {self.id: [self.mins, self.maxs, self.data.copy()]}
+ else:
+ d = dict()
+ for child in self.children:
+ d.update(child.unwrap())
+ return d
+
+
+def extract(qt, name_new_column):
+ cluster = qt.unwrap()
+ boundaries, data = {}, []
+ id_to_quad = np.array(list(cluster.keys()))
+ for i, (id, vs) in zip(np.arange(len(cluster)), cluster.items()):
+ (min_lat, min_lon), (max_lat, max_lon), points = vs
+ points[name_new_column] = int(i)
+ data.append(points)
+ boundaries[i] = (
+ float(min_lat),
+ float(min_lon),
+ float(max_lat),
+ float(max_lon),
+ points["latitude"].mean(),
+ points["longitude"].mean(),
+ )
+
+ data = pd.concat(data)
+ return boundaries, data, id_to_quad
+
+
+def vizu(name_new_column, df_train, boundaries):
+ plt.hist(df_train[name_new_column], bins=len(boundaries))
+ plt.xlabel("Cluster ID")
+ plt.ylabel("Number of images")
+ plt.title("Cluster distribution")
+ plt.yscale("log")
+ plt.savefig(f"{name_new_column}_distrib.png")
+ plt.clf()
+
+ plt.scatter(
+ df_train["longitude"].to_numpy(),
+ df_train["latitude"].to_numpy(),
+ c=np.random.permutation(len(boundaries))[df_train[name_new_column].to_numpy()],
+ cmap="tab20",
+ s=0.1,
+ alpha=0.5,
+ )
+ plt.xlabel("Longitude")
+ plt.ylabel("Latitude")
+ plt.title("Quadtree map")
+ plt.savefig(f"{name_new_column}_map.png")
+
+
+@hydra.main(
+ config_path="../configs/scripts",
+ config_name="enrich-metadata-quadtree",
+ version_base=None,
+)
+def main(cfg):
+ data_path = join(cfg.data_dir, "osv5m")
+ name_new_column = f"quadtree_{cfg.depth}_{cfg.do_split}"
+
+ # Create clusters from train images
+ train_fp = join(data_path, f"train.csv")
+ df_train = pd.read_csv(train_fp)
+
+ qt = QuadTree(df_train, depth=cfg.depth, do_split=cfg.do_split)
+ boundaries, df_train, id_to_quad = extract(qt, name_new_column)
+
+ vizu(name_new_column, df_train, boundaries)
+
+ # Save clusters
+ boundaries = pd.DataFrame.from_dict(
+ boundaries,
+ orient="index",
+ columns=["min_lat", "min_lon", "max_lat", "max_lon", "mean_lat", "mean_lon"],
+ )
+ boundaries.to_csv(f"{name_new_column}.csv", index_label="cluster_id")
+
+ # Assign test images to clusters
+ test_fp = join(data_path, f"test.csv")
+ df_test = pd.read_csv(test_fp)
+
+ above_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lat"].to_numpy(), 0
+ )
+ below_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lat"].to_numpy(), 0
+ )
+ above_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lon"].to_numpy(), 0
+ )
+ below_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lon"].to_numpy(), 0
+ )
+
+ mask = np.logical_and(
+ np.logical_and(above_lat, below_lat), np.logical_and(above_lon, below_lon)
+ )
+
+ df_test[name_new_column] = np.argmax(mask, axis=1)
+
+ # save index_to_gps_quadtree file
+ lat = torch.tensor(boundaries["mean_lat"])
+ lon = torch.tensor(boundaries["mean_lon"])
+ coord = torch.stack([lat / 90, lon / 180], dim=-1)
+ torch.save(
+ coord, join(data_path, f"index_to_gps_quadtree_{cfg.depth}_{cfg.do_split}.pt")
+ )
+
+ torch.save(id_to_quad, join(data_path, f"id_to_quad_{cfg.depth}_{cfg.do_split}.pt"))
+ # Overwrite test.csv and train.csv
+ if cfg.overwrite_csv:
+ df_train.to_csv(train_fp, index=False)
+ df_test.to_csv(test_fp, index=False)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/preprocessing/enrich-metadata.py b/scripts/preprocessing/enrich-metadata.py
new file mode 100644
index 0000000000000000000000000000000000000000..e7300fe0564fe9a63fbaeb50d25756372cadd37c
--- /dev/null
+++ b/scripts/preprocessing/enrich-metadata.py
@@ -0,0 +1,123 @@
+import os
+import json
+import joblib
+import pandas as pd
+import numpy as np
+import reverse_geocoder
+from os.path import join, dirname
+
+
+class QuadTree(object):
+ def __init__(
+ self, data, mins=None, maxs=None, id="", depth=3, min_split=0, do_split=1000
+ ):
+ self.id = id
+ self.data = data
+
+ if mins is None:
+ mins = data[["latitude", "longitude"]].to_numpy().min(0)
+ if maxs is None:
+ maxs = data[["latitude", "longitude"]].to_numpy().max(0)
+
+ self.mins = np.asarray(mins)
+ self.maxs = np.asarray(maxs)
+ self.sizes = self.maxs - self.mins
+
+ self.children = []
+
+ mids = 0.5 * (self.mins + self.maxs)
+ xmin, ymin = self.mins
+ xmax, ymax = self.maxs
+ xmid, ymid = mids
+
+ if depth > 0 and len(self.data) >= do_split:
+ # split the data into four quadrants
+ data_q1 = data[(data["latitude"] < mids[0]) & (data["longitude"] < mids[1])]
+ data_q2 = data[
+ (data["latitude"] < mids[0]) & (data["longitude"] >= mids[1])
+ ]
+ data_q3 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] < mids[1])
+ ]
+ data_q4 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] >= mids[1])
+ ]
+
+ # recursively build a quad tree on each quadrant which has data
+ if data_q1.shape[0] > min_split:
+ self.children.append(
+ QuadTree(data_q1, [xmin, ymin], [xmid, ymid], id + "0", depth - 1)
+ )
+ if data_q2.shape[0] > min_split:
+ self.children.append(
+ QuadTree(data_q2, [xmin, ymid], [xmid, ymax], id + "1", depth - 1)
+ )
+ if data_q3.shape[0] > min_split:
+ self.children.append(
+ QuadTree(data_q3, [xmid, ymin], [xmax, ymid], id + "2", depth - 1)
+ )
+ if data_q4.shape[0] > min_split:
+ self.children.append(
+ QuadTree(data_q4, [xmid, ymid], [xmax, ymax], id + "3", depth - 1)
+ )
+
+ def unwrap(self):
+ if len(self.children) == 0:
+ return {self.id: [self.mins, self.maxs, self.data.copy()]}
+ else:
+ d = dict()
+ for child in self.children:
+ d.update(child.unwrap())
+ return d
+
+
+def extract(qt):
+ cluster = qt.unwrap()
+ boundaries, data = {}, []
+ for id, vs in cluster.items():
+ (min_lat, min_lon), (max_lat, max_lon), points = vs
+ points["category"] = id
+ data.append(points)
+ boundaries[id] = (
+ float(min_lat),
+ float(min_lon),
+ float(max_lat),
+ float(max_lon),
+ )
+
+ data = pd.concat(data)
+ return boundaries, data
+
+
+if __name__ == "__main__":
+ # merge into one DataFrame
+ data_path = join(dirname(dirname(__file__)), "datasets", "osv5m")
+ train_fp = join(data_path, f"train.csv")
+ test_fp = join(data_path, f"test.csv")
+
+ df_train = pd.read_csv(train_fp)
+ df_train["split"] = "train"
+
+ df_test = pd.read_csv(test_fp)
+ df_test["split"] = "test"
+
+ df = pd.concat([df_train, df_test])
+ size_before = df.shape[0]
+ qt = QuadTree(df, depth=15)
+ boundaries, df = extract(qt)
+ assert df.shape[0] == size_before
+
+ location = reverse_geocoder.search(
+ [(lat, lon) for lat, lon in zip(df["latitude"], df["longitude"])]
+ )
+ df["city"] = [l.get("name", "") for l in location]
+ df["country"] = [l.get("cc", "") for l in location]
+ del location
+
+ df_train = df[df["split"] == "train"].drop(["split"], axis=1)
+ df_test = df[df["split"] == "test"].drop(["split"], axis=1)
+ assert (df_train.shape[0] + df_test.shape[0]) == size_before
+
+ json.dump(boundaries, open(join(data_path, "borders.json"), "w"))
+ df_train.to_csv(train_fp, index=False)
+ df_test.to_csv(test_fp, index=False)
diff --git a/scripts/preprocessing/fix_namimbia.py b/scripts/preprocessing/fix_namimbia.py
new file mode 100644
index 0000000000000000000000000000000000000000..61fcdc0b8c46b43a4a42e190dec25b6a972dff3f
--- /dev/null
+++ b/scripts/preprocessing/fix_namimbia.py
@@ -0,0 +1,64 @@
+from os.path import join, dirname
+import numpy as np
+import pandas as pd
+
+if __name__ == "__main__":
+ # Define the list of cities
+ cities = [
+ "Walvis Bay",
+ "Keetmanshoop",
+ "Warmbad",
+ "Rundu",
+ "Outapi",
+ "Karibib",
+ "Otjimbingwe",
+ "Ondangwa",
+ "Oranjemund",
+ "Maltahohe",
+ "Otavi",
+ "Outjo",
+ "Swakopmund",
+ "Gobabis",
+ "Karasburg",
+ "Opuwo",
+ "Hentiesbaai",
+ "Katima Mulilo",
+ "Oshikango",
+ "Bethanie",
+ "Ongandjera",
+ "Mariental",
+ "Bagani",
+ "Nkurenkuru",
+ "Usakos",
+ "Rehoboth",
+ "Aranos",
+ "Omaruru",
+ "Arandis",
+ "Windhoek",
+ "Khorixas",
+ "Okahandja",
+ "Grootfontein",
+ "Tsumeb",
+ ]
+
+ csv_dtype = {"category": str, "country": str, "city": str}
+ for split in ["train", "test"]:
+ fp = join(
+ dirname(dirname(__file__)), "datasets", "osv5m", f"{split}.csv"
+ )
+
+ # Read the CSV file into a pandas DataFrame
+ df = pd.read_csv(fp, dtype=csv_dtype)
+
+ # Check if the "country" column contains any of the cities in the list
+ mask = df["city"].isin(cities)
+
+ # If a city is found, set the corresponding rows in the "country" column to 'NMB'
+ df.loc[mask, "country"] = "NMB"
+ assert all(map(lambda x: isinstance(x, str), df["country"].unique().tolist()))
+
+ # Drop the columns that are all NaN
+ df.dropna(subset=["id", "latitude", "longitude"], inplace=True)
+
+ # Save the modified DataFrame back to the CSV file
+ df.to_csv(fp, index=False)
diff --git a/scripts/preprocessing/nearest-neighbors.py b/scripts/preprocessing/nearest-neighbors.py
new file mode 100644
index 0000000000000000000000000000000000000000..244c5fc5337734dcaede3f3a599b804afc3026a4
--- /dev/null
+++ b/scripts/preprocessing/nearest-neighbors.py
@@ -0,0 +1,140 @@
+import sys, os
+import json
+from PIL import Image
+from tqdm import tqdm
+from os.path import dirname, join
+
+sys.path.append(dirname(dirname(__file__)))
+
+import torch
+from transformers import AutoImageProcessor, AutoModel
+from transformers import CLIPProcessor, CLIPModel
+from transformers import pipeline
+
+from data.data import osv5m
+from json_stream import streamable_list
+
+DEVICE = torch.device("cuda" if torch.cuda.is_available() else "cpu")
+
+
+def load_model_clip():
+ model = CLIPModel.from_pretrained("laion/CLIP-ViT-L-14-laion2B-s32B-b82K")
+ processor = CLIPProcessor.from_pretrained("laion/CLIP-ViT-L-14-laion2B-s32B-b82K")
+ return processor, model.to(DEVICE)
+
+
+def load_model_dino():
+ model = AutoModel.from_pretrained("facebook/dinov2-base")
+ processor = AutoImageProcessor.from_pretrained("facebook/dinov2-base")
+ return processor, model.to(DEVICE)
+
+
+def compute_dino(processor, model, x):
+ inputs = processor(images=x[0], return_tensors="pt", device=DEVICE).to(DEVICE)
+ outputs = model(**inputs)
+ last_hidden_states = outputs.last_hidden_state.cpu().numpy()
+ for i in range(len(x[0])):
+ yield [last_hidden_states[i].tolist(), x[1][i], x[2][i], x[3][i]]
+
+
+def compute_clip(processor, model, x):
+ inputs = processor(images=x[0], return_tensors="pt", device=DEVICE).to(DEVICE)
+ features = model.get_image_features(**inputs)
+ features /= features.norm(dim=-1, keepdim=True)
+ features = features.cpu().numpy()
+ for i in range(len(x[0])):
+ yield [features[i].tolist(), x[1][i], x[2][i], x[3][i]]
+
+
+def get_batch(dataset, batch_size):
+ data, lats, lons, ids = [], [], [], []
+ for i in range(len(dataset)):
+ id, lat, lon = dataset.df.iloc[i]
+ data.append(Image.open(join(dataset.image_folder, f"{int(id)}.jpg")))
+ lats.append(lat)
+ lons.append(lon)
+ ids.append(id)
+ if len(data) == batch_size:
+ yield data, lats, lons, ids
+ data, lats, lons, ids = [], [], [], []
+
+ if len(data) > 0:
+ yield data, lats, lons, ids
+ data, lats, lons, ids = [], [], [], []
+
+
+if __name__ == "__main__":
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--batch_size", type=int, default=256)
+ parser.add_argument("--compute_features", action="store_true")
+ parser.add_argument("--compute_nearest", action="store_true")
+ parser.add_argument("--json_path", default="features")
+ parser.add_argument("--which", type=str, default="clip", choices=["clip", "dino"])
+ args = parser.parse_args()
+ json_path = join(args.json_path, args.which)
+
+ os.makedirs(json_path, exist_ok=True)
+ if args.compute_features:
+ processor, model = (
+ load_model_clip() if args.which == "clip" else load_model_dino()
+ )
+ compute_fn = compute_clip if args.which == "clip" else compute_dino
+
+ for split in ["test"]: #'train',
+ # open existing json and read as dictionary
+ json_path_ = join(json_path, f"{split}.json")
+
+ dataset = OSV5M(
+ "datasets/osv5m", transforms=None, split=split, dont_split=True
+ )
+
+ @torch.no_grad()
+ def compute(batch_size):
+ for data in tqdm(
+ get_batch(dataset, batch_size),
+ total=len(dataset) // batch_size,
+ desc=f"Computing {split} on {args.which}",
+ ):
+ features = compute_fn(processor, model, data)
+ for feature, lat, lon, id in features:
+ yield feature, lat, lon, id
+
+ data = streamable_list(compute(args.batch_size))
+ json.dump(data, open(json_path_, "w"), indent=4)
+
+ if args.compute_nearest:
+ from sklearn.metrics.pairwise import cosine_similarity
+ import numpy as np
+
+ train, test = [
+ json.load(open(join(json_path, f"{split}.json"), "r"))
+ for split in ["train", "test"]
+ ]
+
+ def get_neighbors(k=10):
+ for i, test_data in enumerate(tqdm(test)):
+ feature, lat, lon, id = test_data
+ features_train = np.stack(
+ [np.array(train_data[0]) for train_data in train]
+ )
+ cs = np.squeeze(
+ cosine_similarity(np.expand_dims(feature, axis=0), features_train),
+ axis=0,
+ )
+ i = np.argsort(cs)[-k:][::-1].tolist()
+ yield [
+ {n: x}
+ for idx in i
+ for n, x in zip(
+ ["feature", "lat", "lon", "id", "distance"],
+ train[idx]
+ + [
+ cs[idx],
+ ],
+ )
+ ]
+
+ data = streamable_list(get_neighbors())
+ json.dump(data, open(join(json_path, "nearest.json"), "w"), indent=4)
diff --git a/scripts/preprocessing/preprocess.py b/scripts/preprocessing/preprocess.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f00186b6718c88caa6f7b33a6e021c2f7e92089
--- /dev/null
+++ b/scripts/preprocessing/preprocess.py
@@ -0,0 +1,400 @@
+import pandas as pd
+import torch
+import numpy as np
+from os.path import join
+import matplotlib.pyplot as plt
+import hydra
+
+
+class QuadTree(object):
+ def __init__(self, data, mins=None, maxs=None, id="", depth=3, do_split=1000):
+ self.id = id
+ self.data = data
+
+ if mins is None:
+ mins = data[["latitude", "longitude"]].to_numpy().min(0)
+ if maxs is None:
+ maxs = data[["latitude", "longitude"]].to_numpy().max(0)
+
+ self.mins = np.asarray(mins)
+ self.maxs = np.asarray(maxs)
+ self.sizes = self.maxs - self.mins
+
+ self.children = []
+
+ mids = 0.5 * (self.mins + self.maxs)
+ xmin, ymin = self.mins
+ xmax, ymax = self.maxs
+ xmid, ymid = mids
+
+ if (depth > 0) and (len(self.data) >= do_split):
+ # split the data into four quadrants
+ data_q1 = data[(data["latitude"] < mids[0]) & (data["longitude"] < mids[1])]
+ data_q2 = data[
+ (data["latitude"] < mids[0]) & (data["longitude"] >= mids[1])
+ ]
+ data_q3 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] < mids[1])
+ ]
+ data_q4 = data[
+ (data["latitude"] >= mids[0]) & (data["longitude"] >= mids[1])
+ ]
+
+ # recursively build a quad tree on each quadrant which has data
+ if data_q1.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q1,
+ [xmin, ymin],
+ [xmid, ymid],
+ id + "0",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q2.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q2,
+ [xmin, ymid],
+ [xmid, ymax],
+ id + "1",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q3.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q3,
+ [xmid, ymin],
+ [xmax, ymid],
+ id + "2",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+ if data_q4.shape[0] > 0:
+ self.children.append(
+ QuadTree(
+ data_q4,
+ [xmid, ymid],
+ [xmax, ymax],
+ id + "3",
+ depth - 1,
+ do_split=do_split,
+ )
+ )
+
+ def unwrap(self):
+ if len(self.children) == 0:
+ return {self.id: [self.mins, self.maxs, self.data.copy()]}
+ else:
+ d = dict()
+ for child in self.children:
+ d.update(child.unwrap())
+ return d
+
+
+def extract(qt, name_new_column):
+ cluster = qt.unwrap()
+ boundaries, data = {}, []
+ id_to_quad = np.array(list(cluster.keys()))
+ for i, (id, vs) in zip(np.arange(len(cluster)), cluster.items()):
+ (min_lat, min_lon), (max_lat, max_lon), points = vs
+ points[name_new_column] = int(i)
+ data.append(points)
+ boundaries[i] = (
+ float(min_lat),
+ float(min_lon),
+ float(max_lat),
+ float(max_lon),
+ points["latitude"].mean(),
+ points["longitude"].mean(),
+ )
+
+ data = pd.concat(data)
+ return boundaries, data, id_to_quad
+
+
+def vizu(name_new_column, df_train, boundaries, save_path):
+ plt.hist(df_train[name_new_column], bins=len(boundaries))
+ plt.xlabel("Cluster ID")
+ plt.ylabel("Number of images")
+ plt.title("Cluster distribution")
+ plt.yscale("log")
+ plt.savefig(join(save_path, f"{name_new_column}_distrib.png"))
+ plt.clf()
+
+ plt.scatter(
+ df_train["longitude"].to_numpy(),
+ df_train["latitude"].to_numpy(),
+ c=np.random.permutation(len(boundaries))[df_train[name_new_column].to_numpy()],
+ cmap="tab20",
+ s=0.1,
+ alpha=0.5,
+ )
+ plt.xlabel("Longitude")
+ plt.ylabel("Latitude")
+ plt.title("Quadtree map")
+ plt.savefig(join(save_path, f"{name_new_column}_map.png"))
+
+
+@hydra.main(
+ config_path="../../configs/scripts",
+ config_name="preprocess",
+ version_base=None,
+)
+def main(cfg):
+ data_path = join(cfg.data_dir, "osv5m")
+ save_path = cfg.data_dir
+ name_new_column = f"quadtree_{cfg.depth}_{cfg.do_split}"
+
+ # Create clusters from train images
+ train_fp = join(data_path, f"train.csv")
+ df_train = pd.read_csv(train_fp, low_memory=False)
+
+ qt = QuadTree(df_train, depth=cfg.depth, do_split=cfg.do_split)
+ boundaries, df_train, id_to_quad = extract(qt, name_new_column)
+
+ vizu(name_new_column, df_train, boundaries, save_path)
+
+ # Save clusters
+ boundaries = pd.DataFrame.from_dict(
+ boundaries,
+ orient="index",
+ columns=["min_lat", "min_lon", "max_lat", "max_lon", "mean_lat", "mean_lon"],
+ )
+ boundaries.to_csv(
+ join(save_path, f"{name_new_column}.csv"), index_label="cluster_id"
+ )
+
+ # Assign test images to clusters
+ test_fp = join(data_path, f"test.csv")
+ df_test = pd.read_csv(test_fp)
+
+ above_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lat"].to_numpy(), 0
+ )
+ below_lat = np.expand_dims(df_test["latitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lat"].to_numpy(), 0
+ )
+ above_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) > np.expand_dims(
+ boundaries["min_lon"].to_numpy(), 0
+ )
+ below_lon = np.expand_dims(df_test["longitude"].to_numpy(), -1) < np.expand_dims(
+ boundaries["max_lon"].to_numpy(), 0
+ )
+
+ mask = np.logical_and(
+ np.logical_and(above_lat, below_lat), np.logical_and(above_lon, below_lon)
+ )
+
+ df_test[name_new_column] = np.argmax(mask, axis=1)
+
+ # save index_to_gps_quadtree file
+ lat = torch.tensor(boundaries["mean_lat"])
+ lon = torch.tensor(boundaries["mean_lon"])
+ coord = torch.stack([lat, lon], dim=-1)
+ torch.save(
+ coord, join(save_path, f"index_to_gps_quadtree_{cfg.depth}_{cfg.do_split}.pt")
+ )
+
+ torch.save(id_to_quad, join(save_path, f"id_to_quad_{cfg.depth}_{cfg.do_split}.pt"))
+ # Overwrite test.csv and train.csv
+ if cfg.overwrite_csv:
+ df_train.to_csv(train_fp, index=False)
+ df_test.to_csv(test_fp, index=False)
+
+ df = pd.read_csv(join(data_path, "train.csv"), low_memory=False).fillna("NaN")
+ # Compute the average location for each unique country
+ country_avg = (
+ df.groupby("unique_country")[["latitude", "longitude"]].mean().reset_index()
+ )
+ country_avg.to_csv(
+ join(save_path, "country_center.csv"),
+ columns=["unique_country", "latitude", "longitude"],
+ index=False,
+ )
+ # Compute the average location for each unique admin1 (region)
+ region_avg = (
+ df.groupby(["unique_region"])[["latitude", "longitude"]].mean().reset_index()
+ )
+ region_avg.to_csv(
+ join(save_path, "region_center.csv"),
+ columns=["unique_region", "latitude", "longitude"],
+ index=False,
+ )
+ # Compute the average location for each unique admin2 (area)
+ area_avg = (
+ df.groupby(["unique_sub-region"])[["latitude", "longitude"]]
+ .mean()
+ .reset_index()
+ )
+ area_avg.to_csv(
+ join(save_path, "sub-region_center.csv"),
+ columns=["unique_sub-region", "latitude", "longitude"],
+ index=False,
+ )
+ # Compute the average location for each unique city
+ city_avg = (
+ df.groupby(["unique_city"])[["latitude", "longitude"]].mean().reset_index()
+ )
+ city_avg.to_csv(
+ join(save_path, "city_center.csv"),
+ columns=["unique_city", "latitude", "longitude"],
+ index=False,
+ )
+
+ for class_name in [
+ "unique_country",
+ "unique_sub-region",
+ "unique_region",
+ "unique_city",
+ ]:
+ # Load CSV data into a Pandas DataFrame
+ csv_file = class_name.split("_")[-1] + "_center.csv"
+ df = pd.read_csv(join(save_path, csv_file), low_memory=False)
+
+ splits = ["train"]
+ categories = sorted(
+ pd.concat(
+ [
+ pd.read_csv(
+ join(data_path, f"{split}.csv"), low_memory=False
+ )[class_name]
+ for split in splits
+ ]
+ )
+ .fillna("NaN")
+ .unique()
+ .tolist()
+ )
+
+ if "NaN" in categories:
+ categories.remove("NaN")
+
+ # compute the total number of categories - this name is fixed and will be used as a lookup during init
+ num_classes = len(categories)
+
+ # create a mapping from category to index
+ category_to_index = {category: i for i, category in enumerate(categories)}
+
+ dictionary = torch.zeros((num_classes, 2))
+ for index, row in df.iterrows():
+ key = row.iloc[0]
+ value = [row.iloc[1], row.iloc[2]]
+ if key in categories:
+ (
+ dictionary[category_to_index[key], 0],
+ dictionary[category_to_index[key], 1],
+ ) = np.radians(row.iloc[1]), np.radians(row.iloc[2])
+
+ # Save the PyTorch tensor to a .pt file
+ output_file = join(save_path, "index_to_gps_" + class_name + ".pt")
+ torch.save(dictionary, output_file)
+
+ train = pd.read_csv(join(data_path, "train.csv"), low_memory=False).fillna(
+ "NaN"
+ )
+
+ u = train.groupby("unique_city").sample(n=1)
+
+ country_df = (
+ u.pivot(index="unique_city", columns="unique_country", values="unique_city")
+ .notna()
+ .astype(int)
+ .fillna(0)
+ )
+ country_to_idx = {
+ category: i for i, category in enumerate(list(country_df.columns))
+ }
+ city_country_matrix = torch.tensor(country_df.values) / 1.0
+
+ region_df = (
+ u.pivot(index="unique_city", columns="unique_region", values="unique_city")
+ .notna()
+ .astype(int)
+ .fillna(0)
+ )
+ region_to_idx = {category: i for i, category in enumerate(list(region_df.columns))}
+ city_region_matrix = torch.tensor(region_df.values) / 1.0
+
+ country_df = (
+ u.pivot(index="unique_city", columns="unique_country", values="unique_city")
+ .notna()
+ .astype(int)
+ .fillna(0)
+ )
+ country_to_idx = {
+ category: i for i, category in enumerate(list(country_df.columns))
+ }
+ city_country_matrix = torch.tensor(country_df.values) / 1.0
+
+ output_file = join(save_path, "city_to_country.pt")
+ torch.save(city_country_matrix, output_file)
+
+ output_file = join(save_path, "country_to_idx.pt")
+ torch.save(country_to_idx, output_file)
+
+ region_df = (
+ u.pivot(index="unique_city", columns="unique_region", values="unique_city")
+ .notna()
+ .astype(int)
+ .fillna(0)
+ )
+ region_to_idx = {category: i for i, category in enumerate(list(region_df.columns))}
+ city_region_matrix = torch.tensor(region_df.values) / 1.0
+
+ output_file = join(save_path, "city_to_region.pt")
+ torch.save(city_region_matrix, output_file)
+
+ output_file = join(save_path, "region_to_idx.pt")
+ torch.save(region_to_idx, output_file)
+
+ area_df = (
+ u.pivot(index="unique_city", columns="unique_sub-region", values="unique_city")
+ .notna()
+ .astype(int)
+ .fillna(0)
+ )
+ area_to_idx = {category: i for i, category in enumerate(list(area_df.columns))}
+ city_area_matrix = torch.tensor(area_df.values) / 1.0
+
+ output_file = join(save_path, "city_to_area.pt")
+ torch.save(city_area_matrix, output_file)
+
+ output_file = join(save_path, "area_to_idx.pt")
+ torch.save(area_to_idx, output_file)
+ gt = torch.load(join(save_path, f"id_to_quad_{cfg.depth}_{cfg.do_split}.pt"))
+ matrixes = []
+ dicts = []
+ for i in range(1, cfg.depth):
+ # Step 2: Truncate strings to size cfg.depth - 1
+ l = [s[: cfg.depth - i] if len(s) >= cfg.depth + 1 - i else s for s in gt]
+
+ # Step 3: Get unique values in the modified list l
+ h = list(set(l))
+
+ # Step 4: Create a dictionary to map unique values to their index
+ h_dict = {value: index for index, value in enumerate(h)}
+ dicts.append(h_dict)
+
+ # Step 5: Initialize a torch matrix with zeros
+ matrix = torch.zeros((len(gt), len(h)))
+
+ # Step 6: Fill in the matrix with 1s based on the mapping
+ for h in range(len(gt)):
+ j = h_dict[l[h]]
+ matrix[h, j] = 1
+ matrixes.append(matrix)
+
+ output_file = join(save_path, "quadtree_matrixes.pt")
+ torch.save(matrixes, output_file)
+
+ output_file = join(save_path, "quadtree_dicts.pt")
+ torch.save(dicts, output_file)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/scripts/preprocessing/train-val-split.py b/scripts/preprocessing/train-val-split.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d6b3df79e4fedb17c7c0c810033adaf839a2b59
--- /dev/null
+++ b/scripts/preprocessing/train-val-split.py
@@ -0,0 +1,15 @@
+import os
+from os.path import dirname, join
+
+import pandas as pd
+from sklearn.model_selection import train_test_split
+
+if __name__ == "__main__":
+ data_path = join(dirname(dirname(__file__)), "datasets", "osv5m")
+ train_fp = join(data_path, f"train.csv")
+ val_fp = join(data_path, f"val.csv")
+ os.makedirs(dirname(val_fp), exist_ok=True)
+ df = pd.read_csv(train_fp, dtype={"category": str, "country": str, "city": str})
+ df_train, df_val = train_test_split(df, stratify=df["category"], test_size=0.1)
+ df_train.to_csv(train_fp, index=False)
+ df_val.to_csv(val_fp, index=False)
diff --git a/scripts/retrieval/backbone.py b/scripts/retrieval/backbone.py
new file mode 100644
index 0000000000000000000000000000000000000000..1178096c6ee3b784ab26fab25572454a99590a6a
--- /dev/null
+++ b/scripts/retrieval/backbone.py
@@ -0,0 +1,152 @@
+from os.path import join
+import PIL
+import numpy as np
+import pandas as pd
+import reverse_geocoder
+from torch.utils.data import Dataset
+
+
+class GeoDataset(Dataset):
+ def __init__(self, image_folder, annotation_file, transformation, tag="image_id"):
+ self.image_folder = image_folder
+ gt = pd.read_csv(annotation_file, dtype={tag: str})
+ files = set([f.replace(".jpg", "") for f in os.listdir(image_folder)])
+ gt = gt[gt[tag].isin(files)]
+ self.processor = transformation
+ self.gt = [
+ (g[1][tag], g[1]["latitude"], g[1]["longitude"]) for g in gt.iterrows()
+ ]
+ self.tag = tag
+
+ def fid(self, i):
+ return self.gt[i][0]
+
+ def latlon(self, i):
+ return self.gt[i][1]
+
+ def __len__(self):
+ return len(self.gt)
+
+ def __getitem__(self, idx):
+ fp = join(self.image_folder, self.gt[idx][0] + ".jpg")
+ return self.processor(self, idx, fp)
+
+
+def load_plonk(path):
+ import hydra
+ from hydra import initialize, compose
+ from models.module import DiffGeolocalizer
+ from omegaconf import OmegaConf, open_dict
+ from os.path import join
+ from hydra.utils import instantiate
+
+ # load config from path
+ # make path relative to current_dir
+ with initialize(version_base=None, config_path="osv5m__best_model"):
+ cfg = compose(config_name="config", overrides=[])
+
+ checkpoint = torch.load(join(path, "last.ckpt"))
+ del checkpoint["state_dict"][
+ "model.backbone.clip.vision_model.embeddings.position_ids"
+ ]
+ torch.save(checkpoint, join(path, "last2.ckpt"))
+
+ with open_dict(cfg):
+ cfg.checkpoint = join(path, "last2.ckpt")
+
+ cfg.num_classes = 11399
+ cfg.model.network.mid.instance.final_dim = cfg.num_classes * 3
+ cfg.model.network.head.final_dim = cfg.num_classes * 3
+ cfg.model.network.head.instance.quadtree_path = join(path, "quadtree_10_1000.csv")
+
+ cfg.dataset.train_dataset.path = ""
+ cfg.dataset.val_dataset.path = ""
+ cfg.dataset.test_dataset.path = ""
+ cfg.logger.save_dir = ""
+ cfg.data_dir = ""
+ cfg.root_dir = ""
+ cfg.mode = "test"
+ cfg.model.network.backbone.instance.path = (
+ "laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K"
+ )
+ transform = instantiate(cfg.dataset.test_transform)
+ model = DiffGeolocalizer.load_from_checkpoint(
+ join(path, "last2.ckpt"), cfg=cfg.model
+ )
+ os.remove(join(path, "last2.ckpt"))
+
+ @torch.no_grad()
+ def inference(model, x):
+ return x[0], model.model.backbone({"img": x[1].to(model.device)})[:, 0, :].cpu()
+
+ def collate_fn(batch):
+ return [b[0] for b in batch], torch.stack([b[1] for b in batch], dim=0)
+
+ def operate(self, idx, fp):
+ proc = self.processor(PIL.Image.open(fp))
+ return self.gt[idx][0], proc
+
+ return model, operate, inference, collate_fn
+
+
+def load_clip(which):
+ # We evaluate on:
+ # - "openai/clip-vit-base-patch32"
+ # - "openai/clip-vit-large-patch14-336"
+ # - "laion/CLIP-ViT-B-32-laion2B-s34B-b79K"
+ # - "laion/CLIP-ViT-L-14-DataComp.XL-s13B-b90K"
+ # - "geolocal/StreetCLIP"
+ from transformers import CLIPProcessor, CLIPModel
+
+ @torch.no_grad()
+ def inference(model, img):
+ image_ids = img.data.pop("image_id")
+ image_input = img.to(model.device)
+ image_input["pixel_values"] = image_input["pixel_values"].squeeze(1)
+ features = model.get_image_features(**image_input)
+ features /= features.norm(dim=-1, keepdim=True)
+ return image_ids, features.cpu()
+
+ processor = CLIPProcessor.from_pretrained(which)
+
+ def operate(self, idx, fp):
+ pil = PIL.Image.open(fp)
+ proc = processor(images=pil, return_tensors="pt")
+ proc["image_id"] = self.gt[idx][0]
+ return proc
+
+ return CLIPModel.from_pretrained(which), operate, inference, None
+
+
+def load_dino(which):
+ # We evaluate on:
+ # - 'facebook/dinov2-large'
+ from transformers import AutoImageProcessor, AutoModel
+
+ @torch.no_grad()
+ def inference(model, img):
+ image_ids = img.data.pop("image_id")
+ image_input = img.to(model.device)
+ image_input["pixel_values"] = image_input["pixel_values"].squeeze(1)
+ features = model(**image_input).last_hidden_state[:, 0]
+ features /= features.norm(dim=-1, keepdim=True)
+ return image_ids, features.cpu()
+
+ processor = AutoImageProcessor.from_pretrained("facebook/dinov2-large")
+
+ def operate(self, idx, fp):
+ pil = PIL.Image.open(fp)
+ proc = processor(images=pil, return_tensors="pt")
+ proc["image_id"] = self.gt[idx][0]
+ return proc
+
+ return AutoModel.from_pretrained("facebook/dinov2-large"), operate, inference, None
+
+
+def get_backbone(name):
+ if os.path.isdir(name):
+ return load_plonk(name)
+ elif "clip" in name.lower():
+ return load_clip(name)
+ elif "dino" in name.lower():
+ return load_dino(name)
diff --git a/scripts/retrieval/retrieval.py b/scripts/retrieval/retrieval.py
new file mode 100644
index 0000000000000000000000000000000000000000..bfe4c46652955ca8b644ccd4d876d3b7f3720442
--- /dev/null
+++ b/scripts/retrieval/retrieval.py
@@ -0,0 +1,143 @@
+import os
+import sys
+import PIL
+import json
+import torch
+import numpy as np
+import pandas as pd
+import operator
+
+from PIL import Image
+from itertools import cycle
+from tqdm.auto import tqdm, trange
+from os.path import join
+from PIL import Image
+
+from tqdm import tqdm
+from torch.utils.data import Dataset, DataLoader
+from torch.nn import functional as F
+
+from backbone import get_backbone
+from utils import haversine, get_filenames, get_match_values, compute_print_accuracy
+
+
+def compute_features(path, data_dir, csv_file, tag, args):
+ data = GeoDataset(data_dir, csv_file, tag=tag)
+ if not os.path.isdir(test_features_dir) or len(
+ os.listdir(test_features_dir)
+ ) != len(data):
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
+ model, transform, inference, collate_fn = get_backbone(args.name)
+ dataloader = DataLoader(
+ data,
+ batch_size=args.batch_size,
+ shuffle=False,
+ num_workers=8,
+ collate_fn=collate_fn,
+ )
+ model = model.to(device)
+ os.makedirs(path, exist_ok=True)
+
+ for i, x in enumerate(tqdm(dataloader)):
+ image_ids, features = inference(model, x)
+ # save features as numpy array
+ for j, image_id in zip(range(features.shape[0]), image_ids):
+ np.save(join(path, f"{image_id}.npy"), features[j].unsqueeze(0).numpy())
+
+
+def get_results(args, train_test):
+ import joblib
+
+ if not os.path.isfile(join(args.features_parent, ".cache", "1-nn.pkl")):
+ import faiss, glob, bisect
+
+ # import sys; sys.exit(0)
+ indexes = [
+ get_filenames(idx) for idx in tqdm(range(1, 6), desc="Loading indexes...")
+ ]
+
+ train_gt = pd.read_csv(
+ join(args.data_parent, args.annotation_file), dtype={"image_id": str}
+ )[["image_id", "latitude", "longitude"]]
+ test_gt = pd.read_csv(test_path_csv, dtype={"id": str})[
+ ["id", "latitude", "longitude"]
+ ]
+
+ # make a map between image_id and lat/lon
+ train_gt = {
+ g[1]["image_id"]: np.array([g[1]["latitude"], g[1]["longitude"]])
+ for g in tqdm(
+ train_gt.iterrows(), total=len(train_gt), desc="Loading train_gt"
+ )
+ }
+ test_gt = {
+ g[1]["id"]: np.array([g[1]["latitude"], g[1]["longitude"]])
+ for g in tqdm(
+ test_gt.iterrows(), total=len(test_gt), desc="Loading test_gt"
+ )
+ }
+
+ train_test = []
+ os.makedirs(join(args.features_parent, ".cache"), exist_ok=True)
+ for f in tqdm(os.listdir(test_features_dir)):
+ query_vector = np.load(join(test_features_dir, f))
+
+ neighbors = []
+ for index, ids in indexes:
+ distances, indices = index.search(query_vector, 1)
+ distances, indices = np.squeeze(distances), np.squeeze(indices)
+ bisect.insort(
+ neighbors, (ids[indices], distances), key=operator.itemgetter(1)
+ )
+
+ neighbors = list(reversed(neighbors))
+ train_gps = train_gt[neighbors[0][0].replace(".npy", "")][None, :]
+ test_gps = test_gt[f.replace(".npy", "")][None, :]
+ train_test.append((train_gps, test_gps))
+ joblib.dump(train_test, join(args.features_parent, ".cache", "1-nn.pkl"))
+ else:
+ train_test = joblib.load(join(args.features_parent, ".cache", "1-nn.pkl"))
+
+ return train_test
+
+
+if __name__ == "__main__":
+ # make a train/eval argparser
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--id", type=int, default=1) # maybe need to remove/refactor
+ parser.add_argument("--batch_size", type=int, default=512)
+ parser.add_argument(
+ "--annotation_file", type=str, required=False, default="train.csv"
+ )
+ parser.add_argument("--name", type=str, default="openai/clip-vit-base-patch32")
+ parser.add_argument("--features_parent", type=str, default="faiss/")
+ parser.add_argument("--data_parent", type=str, default="data/")
+ parser.add_argument("--test", action="store_true")
+
+ args = parser.parse_args()
+ args.features_parent = join(args.features_parent, args.name)
+ if args.test:
+ csv_file = join(args.data_parent, "test.csv")
+ data_dir = join(args.data_parent, "test")
+ path = join(args.features_parent, "features-test")
+ model = get_backbone(args.name)
+ compute_features(path, data_dir, csv_file, tag="id", args=args)
+ train_test = get_results(args, train_test)
+
+ from collections import Counter
+
+ N, pos = Counter(), Counter()
+ for train_gps, test_gps in tqdm(train_test, desc="Computing accuracy..."):
+ get_match_values(train_gps, test_gps, N, pos)
+
+ for train_gps, test_gps in tqdm(train_test, desc="Computing haversine..."):
+ haversine(train_gps, test_gps, N, pos)
+
+ compute_print_accuracy(N, pos)
+ else:
+ csv_file = join(args.data_parent, args.annotation_file)
+ path = join(args.features_parent, f"features-{args.id}")
+ data_dir = join(args.data_parent, f"images-{args.id}", "train")
+ compute_features(path, data_dir, csv_file, tag="image_id", args=args)
diff --git a/scripts/retrieval/street-clip-zero-shot.py b/scripts/retrieval/street-clip-zero-shot.py
new file mode 100644
index 0000000000000000000000000000000000000000..72f35494048cedc085c79e1217d8609552a87307
--- /dev/null
+++ b/scripts/retrieval/street-clip-zero-shot.py
@@ -0,0 +1,299 @@
+import traceback
+import os
+import sys
+import PIL
+import json
+import torch
+import numpy as np
+import pandas as pd
+import operator
+import joblib
+import reverse_geocoder
+
+from PIL import Image
+from itertools import cycle
+from tqdm.auto import tqdm, trange
+from os.path import join
+from PIL import Image
+
+from tqdm import tqdm
+from collections import Counter
+from transformers import CLIPProcessor, CLIPModel
+from torch.utils.data import Dataset, DataLoader
+from torch.nn import functional as F
+from utils import haversine
+
+
+class GeoDataset(Dataset):
+ def __init__(self, image_folder, annotation_file, tag="image_id"):
+ self.image_folder = image_folder
+ gt = pd.read_csv(annotation_file, dtype={tag: str})
+ files = set([f.replace(".jpg", "") for f in os.listdir(image_folder)])
+ gt = gt[gt[tag].isin(files)]
+ self.processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
+ self.gt = [
+ (g[1][tag], g[1]["latitude"], g[1]["longitude"]) for g in gt.iterrows()
+ ]
+ self.tag = tag
+
+ def fid(self, i):
+ return self.gt[i][0]
+
+ def latlon(self, i):
+ return self.gt[i][1]
+
+ def __len__(self):
+ return len(self.gt)
+
+ def __getitem__(self, idx):
+ fp = join(self.image_folder, self.gt[idx][0] + ".jpg")
+ pil = PIL.Image.open(fp)
+ proc = self.processor(images=pil, return_tensors="pt")
+ proc["image_id"] = self.gt[idx][0]
+ return proc
+
+
+@torch.no_grad()
+def compute_features_clip(img, model):
+ image_ids = img.data.pop("image_id")
+ image_input = img.to(model.device)
+ image_input["pixel_values"] = image_input["pixel_values"].squeeze(1)
+ features = model.get_image_features(**image_input)
+ features /= features.norm(dim=-1, keepdim=True)
+ return image_ids, features.cpu()
+
+
+def get_prompts(country, region, sub_region, city):
+ a = country if country != "" else None
+ b, c, d = None, None, None
+ if a is not None:
+ b = country + ", " + region if region != "" else None
+ if b is not None:
+ c = (
+ country + ", " + region + ", " + sub_region
+ if sub_region != ""
+ else None
+ )
+ d = (
+ country + ", " + region + ", " + sub_region + ", " + city
+ if city != ""
+ else None
+ )
+ return a, b, c, d
+
+
+if __name__ == "__main__":
+ # make a train/eval argparser
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument(
+ "--annotation_file", type=str, required=False, default="train.csv"
+ )
+ parser.add_argument(
+ "--features_parent", type=str, default="/home/isig/gaia-v2/faiss/street-clip"
+ )
+ parser.add_argument(
+ "--data_parent", type=str, default="/home/isig/gaia-v2/loic-data/"
+ )
+
+ args = parser.parse_args()
+ test_path_csv = join(args.data_parent, "test.csv")
+ test_image_dir = join(args.data_parent, "test")
+ save_path = join(args.features_parent, "indexes/test.index")
+ test_features_dir = join(args.features_parent, "indexes/features-test")
+
+ processor = CLIPProcessor.from_pretrained("geolocal/StreetCLIP")
+ device = "cuda" if torch.cuda.is_available() else "cpu"
+ model = CLIPModel.from_pretrained("geolocal/StreetCLIP").to(device)
+
+ @torch.no_grad()
+ def compute_text_features_clip(text):
+ text_pt = processor(text=text, return_tensors="pt").to(device)
+ features = model.get_text_features(**text_pt)
+ features /= features.norm(dim=-1, keepdim=True)
+ return features.cpu().squeeze(0).numpy()
+
+ import country_converter as coco
+
+ if not os.path.isfile("text_street-clip-features.pkl"):
+ if not os.path.isfile("rg_cities1000.csv"):
+ os.system(
+ "wget https://raw.githubusercontent.com/thampiman/reverse-geocoder/master/reverse_geocoder/rg_cities1000.csv"
+ )
+
+ cities = pd.read_csv("rg_cities1000.csv")
+ cities = cities[["lat", "lon", "name", "admin1", "admin2", "cc"]]
+ reprs = {0: {}, 1: {}, 2: {}, 3: {}}
+ for line in tqdm(
+ cities.iterrows(), total=len(cities), desc="Creating hierarchy"
+ ):
+ lat, lon, city, region, sub_region, cc = line[1]
+ try:
+ city, region, sub_region, cc = [
+ ("" if pd.isna(x) else x)
+ for x in [
+ city,
+ region,
+ sub_region,
+ coco.convert(cc, to="name_short"),
+ ]
+ ]
+ a, b, c, d = get_prompts(cc, region, sub_region, city)
+ if a is not None:
+ if a not in reprs[0]:
+ reprs[0][a] = {
+ "gps": {(lat, lon)},
+ "embedding": compute_text_features_clip(a),
+ }
+ else:
+ reprs[0][a]["gps"].add((lat, lon))
+
+ if b is not None:
+ if b not in reprs[1]:
+ reprs[1][b] = {
+ "gps": {(lat, lon)},
+ "embedding": compute_text_features_clip(b),
+ }
+ else:
+ reprs[1][b]["gps"].add((lat, lon))
+
+ if c is not None:
+ if c not in reprs[2]:
+ reprs[2][c] = {
+ "gps": {(lat, lon)},
+ "embedding": compute_text_features_clip(c),
+ }
+ else:
+ reprs[2][c]["gps"].add((lat, lon))
+
+ if d is not None:
+ if d not in reprs[3]:
+ reprs[3][d] = {
+ "gps": {(lat, lon)},
+ "embedding": compute_text_features_clip(
+ d.replace(", , ", ", ")
+ ),
+ }
+ else:
+ reprs[3][d]["gps"].add((lat, lon))
+ except Exception as e:
+ # print stack trace into file log.txt
+ with open("log.txt", "a") as f:
+ print(traceback.format_exc(), file=f)
+
+ reprs[-1] = {"": {"gps": (0, 0), "embedding": compute_text_features_clip("")}}
+
+ # compute mean for gps of all 'a' and 'b' and 'c' and 'd'
+ for i in range(4):
+ for k in reprs[i].keys():
+ reprs[i][k]["gps"] = tuple(
+ np.array(list(reprs[i][k]["gps"])).mean(axis=0).tolist()
+ )
+
+ joblib.dump(reprs, "text_street-clip-features.pkl")
+ else:
+ reprs = joblib.load("text_street-clip-features.pkl")
+
+ def get_loc(x):
+ location = reverse_geocoder.search(x[0].tolist())[0]
+ country = coco.convert(names=location["cc"], to="name_short")
+ region = location.get("admin1", "")
+ sub_region = location.get("admin2", "")
+ city = location.get("name", "")
+ a, b, c, d = get_prompts(country, region, sub_region, city)
+ return a, b, c, d
+
+ def matches(embed, repr, control, gt, sw=None):
+ first_max = max(
+ (
+ (k, embed.dot(v["embedding"]))
+ for k, v in repr.items()
+ if sw is None or k.startswith(sw)
+ ),
+ key=operator.itemgetter(1),
+ )
+ if first_max[1] > embed.dot(control["embedding"]):
+ return repr[first_max[0]]["gps"], gt == first_max[0]
+ else:
+ return control["gps"], False
+
+ def get_match_values(gt, embed, N, pos):
+ xa, xb, xc, xd = get_loc(gt)
+
+ if xa is not None:
+ N["country"] += 1
+ gps, flag = matches(embed, reprs[0], reprs[-1][""], xa)
+ if flag:
+ pos["country"] += 1
+ if xb is not None:
+ N["region"] += 1
+ gps, flag = matches(embed, reprs[1], reprs[0][xa], xb, sw=xa)
+ if flag:
+ pos["region"] += 1
+ if xc is not None:
+ N["sub-region"] += 1
+ gps, flag = matches(
+ embed, reprs[2], reprs[1][xb], xc, sw=xb
+ )
+ if flag:
+ pos["sub-region"] += 1
+ if xd is not None:
+ N["city"] += 1
+ gps, flag = matches(
+ embed, reprs[3], reprs[2][xc], xd, sw=xc
+ )
+ if flag:
+ pos["city"] += 1
+ else:
+ if xd is not None:
+ N["city"] += 1
+ gps, flag = matches(
+ embed, reprs[3], reprs[1][xb], xd, sw=xb + ", "
+ )
+ if flag:
+ pos["city"] += 1
+
+ haversine(np.array(gps)[None, :], np.array(gt), N, pos)
+
+ def compute_print_accuracy(N, pos):
+ for k in N.keys():
+ pos[k] /= N[k]
+
+ # pretty-print accuracy in percentage with 2 floating points
+ print(
+ f'Accuracy: {pos["country"]*100.0:.2f} (country), {pos["region"]*100.0:.2f} (region), {pos["sub-region"]*100.0:.2f} (sub-region), {pos["city"]*100.0:.2f} (city)'
+ )
+ print(
+ f'Haversine: {pos["haversine"]:.2f} (haversine), {pos["geoguessr"]:.2f} (geoguessr)'
+ )
+
+ import joblib
+
+ data = GeoDataset(test_image_dir, test_path_csv, tag="id")
+ test_gt = pd.read_csv(test_path_csv, dtype={"id": str})[
+ ["id", "latitude", "longitude"]
+ ]
+ test_gt = {
+ g[1]["id"]: np.array([g[1]["latitude"], g[1]["longitude"]])
+ for g in tqdm(test_gt.iterrows(), total=len(test_gt), desc="Loading test_gt")
+ }
+
+ with open("/home/isig/gaia-v2/loic/plonk/test3_indices.txt", "r") as f:
+ # read lines
+ lines = f.readlines()
+ # remove whitespace characters like `\n` at the end of each line
+ lines = [l.strip() for l in lines]
+ # and convert to set
+ lines = set(lines)
+
+ train_test = []
+ N, pos = Counter(), Counter()
+ for f in tqdm(os.listdir(test_features_dir)):
+ if f.replace(".npy", "") not in lines:
+ continue
+ query_vector = np.squeeze(np.load(join(test_features_dir, f)))
+ test_gps = test_gt[f.replace(".npy", "")][None, :]
+ get_match_values(test_gps, query_vector, N, pos)
+
+ compute_print_accuracy(N, pos)
diff --git a/scripts/retrieval/utils.py b/scripts/retrieval/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2b209954a07d15ecb1b6f7bb32732cb4da799f9
--- /dev/null
+++ b/scripts/retrieval/utils.py
@@ -0,0 +1,113 @@
+import os
+import numpy as np
+import reverse_geocoder
+
+
+def get_loc(x):
+ location = reverse_geocoder.search(x[0].tolist())[0]
+ country = location.get("cc", "")
+ region = location.get("admin1", "")
+ sub_region = location.get("admin2", "")
+ city = location.get("name", "")
+
+ a = country if country != "" else None
+ b, c, d = None, None, None
+ if a is not None:
+ b = country + "," + region if region != "" else None
+ if b is not None:
+ c = country + "," + region + "," + sub_region if sub_region != "" else None
+ d = (
+ country + "," + region + "," + sub_region + "," + city
+ if city != ""
+ else None
+ )
+
+ return a, b, c, d
+
+
+def get_match_values(pred, gt, N, pos):
+ xa, xb, xc, xd = get_loc(gt)
+ ya, yb, yc, yd = get_loc(pred)
+
+ if xa is not None:
+ N["country"] += 1
+ if xa == ya:
+ pos["country"] += 1
+ if xb is not None:
+ N["region"] += 1
+ if xb == yb:
+ pos["region"] += 1
+ if xc is not None:
+ N["sub-region"] += 1
+ if xc == yc:
+ pos["sub-region"] += 1
+ if xd is not None:
+ N["city"] += 1
+ if xd == yd:
+ pos["city"] += 1
+
+
+def compute_print_accuracy(N, pos):
+ for k in N.keys():
+ pos[k] /= N[k]
+
+ # pretty-print accuracy in percentage with 2 floating points
+ print(
+ f'Accuracy: {pos["country"]*100.0:.2f} (country), {pos["region"]*100.0:.2f} (region), {pos["sub-region"]*100.0:.2f} (sub-region), {pos["city"]*100.0:.2f} (city)'
+ )
+ print(
+ f'Haversine: {pos["haversine"]:.2f} (haversine), {pos["geoguessr"]:.2f} (geoguessr)'
+ )
+
+
+def get_filenames(idx):
+ from autofaiss import build_index
+
+ path = join(args.features_parent, f"features-{idx}/")
+ files = [f for f in os.listdir(path)]
+ full_files = [join(path, f) for f in os.listdir(path)]
+ index = build_index(
+ embeddings=np.concatenate([np.load(f) for f in tqdm(full_files)], axis=0),
+ nb_cores=12,
+ save_on_disk=False,
+ )[0]
+ return index, files
+
+
+def normalize(x):
+ lat, lon = x[:, 0], x[:, 1]
+ """Used to put all lat lon inside ±90 and ±180."""
+ lat = (lat + 90) % 360 - 90
+ if lat > 90:
+ lat = 180 - lat
+ lon += 180
+ lon = (lon + 180) % 360 - 180
+ return np.stack([lat, lon], axis=1)
+
+
+def haversine(pred, gt, N, p):
+ # expects inputs to be np arrays in (lat, lon) format as radians
+ # N x 2
+ pred = np.radians(normalize(pred))
+ gt = np.radians(normalize(gt))
+
+ # calculate the difference in latitude and longitude between the predicted and ground truth points
+ lat_diff = pred[:, 0] - gt[:, 0]
+ lon_diff = pred[:, 1] - gt[:, 1]
+
+ # calculate the haversine formula components
+ lhs = np.sin(lat_diff / 2) ** 2
+ rhs = np.cos(pred[:, 0]) * np.cos(gt[:, 0]) * np.sin(lon_diff / 2) ** 2
+ a = lhs + rhs
+
+ # calculate the final distance using the haversine formula
+ c = 2 * np.arctan2(np.sqrt(a), np.sqrt(1 - a))
+
+ haversine_distance = 6371 * c[0]
+ geoguessr_sum = 5000 * np.exp(-haversine_distance / 1492.7)
+
+ N["geoguessr"] += 1
+ p["geoguessr"] += geoguessr_sum
+
+ N["haversine"] += 1
+ p["haversine"] += haversine_distance
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..e2ae4dd8095611d4078c5034b6b7082ae608523f
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,33 @@
+from setuptools import setup, find_packages
+
+setup(
+ name="diff_plonk",
+ version="0.1",
+ packages=find_packages(),
+ install_requires=[
+ "torch",
+ "torchvision",
+ "joblib",
+ "wandb",
+ "hydra-core",
+ "numpy",
+ "scipy==1.13.1",
+ "pandas",
+ "scikit-learn",
+ "pytorch-lightning",
+ "transformers",
+ "accelerate",
+ "peft",
+ "geos",
+ "reverse_geocoder",
+ "matplotlib",
+ "geoopt",
+ "einops",
+ "torchdiffeq",
+ "webdataset==0.2.57",
+ "pytest",
+ "streamlit",
+ "streamlit-extras",
+ "plotly",
+ ],
+)
diff --git a/test.py b/test.py
new file mode 100755
index 0000000000000000000000000000000000000000..77681ff94c2604dad787481deb00a7c9a4a7f42e
--- /dev/null
+++ b/test.py
@@ -0,0 +1,85 @@
+import os
+from models.module import DiffGeolocalizer
+import hydra
+import wandb
+from os.path import isfile, join
+from shutil import copyfile
+
+import torch
+
+from omegaconf import OmegaConf
+from omegaconf import open_dict
+from hydra.core.hydra_config import HydraConfig
+from hydra.utils import instantiate
+from pytorch_lightning.callbacks import LearningRateMonitor
+from lightning_fabric.utilities.rank_zero import _get_rank
+
+from models.module import DiffGeolocalizer
+
+torch.set_float32_matmul_precision("high") # TODO do we need that?
+
+# Registering the "eval" resolver allows for advanced config
+# interpolation with arithmetic operations in hydra:
+# https://omegaconf.readthedocs.io/en/2.3_branch/how_to_guides.html
+OmegaConf.register_new_resolver("eval", eval)
+
+
+def load_model(cfg, dict_config, wandb_id):
+ logger = instantiate(cfg.logger, id=open(wandb_id, "r").read(), resume="allow")
+ model = DiffGeolocalizer.load_from_checkpoint(cfg.checkpoint, cfg=cfg.model)
+ trainer = instantiate(cfg.trainer, strategy=cfg.trainer.strategy, logger=logger)
+ return trainer, model
+
+
+def hydra_boilerplate(cfg):
+ dict_config = OmegaConf.to_container(cfg, resolve=True)
+ trainer, model = load_model(cfg, dict_config, cfg.wandb_id)
+ return trainer, model
+
+
+import copy
+
+
+def generate_datamodules(cfg_):
+ for f in os.listdir(cfg_.test_dir):
+ cfg = copy.deepcopy(cfg_)
+ # open join(f, directory) with OmegaConf
+ with open_dict(cfg):
+ cfg_new = OmegaConf.load(join(cfg.test_dir, f))
+ cfg.datamodule = cfg_new.datamodule
+ cfg.dataset = cfg_new.dataset
+ cfg.dataset.test_transform = cfg_.dataset.test_transform
+
+ datamodule = instantiate(cfg.datamodule)
+ yield datamodule
+
+
+if __name__ == "__main__":
+ import sys
+
+ sys.argv = (
+ [sys.argv[0]]
+ + ["+pt_model_path=${hydra:runtime.config_sources}"]
+ + sys.argv[1:]
+ )
+
+ @hydra.main(version_base=None)
+ def main(cfg):
+ # print(hydra.runtime.config_sources)
+ with open_dict(cfg):
+ path = cfg.pt_model_path[1]["path"]
+ cfg.wandb_id = join(path, "wandb_id.txt")
+ cfg.checkpoint = join(path, "last.ckpt")
+ cfg.computer.devices = 1
+
+ (
+ trainer,
+ model,
+ ) = hydra_boilerplate(cfg)
+ for datamodule in generate_datamodules(cfg):
+ model.datamodule = datamodule
+ model.datamodule.setup()
+ print("Testing on", datamodule.test_dataset.class_name)
+ trainer.test(model, datamodule=datamodule)
+
+ main()
diff --git a/train.py b/train.py
new file mode 100755
index 0000000000000000000000000000000000000000..3fd7f153786cd780ce4e1a501366b18fb851bdd4
--- /dev/null
+++ b/train.py
@@ -0,0 +1,146 @@
+import os
+import hydra
+import wandb
+from os.path import isfile, join
+from shutil import copyfile
+
+import torch
+
+from omegaconf import OmegaConf
+from hydra.core.hydra_config import HydraConfig
+from hydra.utils import instantiate
+from pytorch_lightning.callbacks import LearningRateMonitor
+from lightning_fabric.utilities.rank_zero import _get_rank
+from callbacks import EMACallback, FixNANinGrad, IncreaseDataEpoch
+from models.module import DiffGeolocalizer
+
+torch.set_float32_matmul_precision("high") # TODO do we need that?
+
+# Registering the "eval" resolver allows for advanced config
+# interpolation with arithmetic operations in hydra:
+# https://omegaconf.readthedocs.io/en/2.3_branch/how_to_guides.html
+OmegaConf.register_new_resolver("eval", eval)
+
+
+def wandb_init(cfg):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "wandb_id.txt")) and cfg.logger_suffix == "":
+ with open(join(directory, "wandb_id.txt"), "r") as f:
+ wandb_id = f.readline()
+ else:
+ rank = _get_rank()
+ wandb_id = wandb.util.generate_id()
+ print(f"Generated wandb id: {wandb_id}")
+ if rank == 0 or rank is None:
+ with open(join(directory, "wandb_id.txt"), "w") as f:
+ f.write(str(wandb_id))
+
+ return wandb_id
+
+
+def load_model(cfg, dict_config, wandb_id, callbacks):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "last.ckpt")):
+ checkpoint_path = join(directory, "last.ckpt")
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ model = DiffGeolocalizer.load_from_checkpoint(checkpoint_path, cfg=cfg.model)
+ ckpt_path = join(directory, "last.ckpt")
+ print(f"Loading form checkpoint ... {ckpt_path}")
+ else:
+ ckpt_path = None
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ log_dict = {"model": dict_config["model"], "dataset": dict_config["dataset"]}
+ logger._wandb_init.update({"config": log_dict})
+ model = DiffGeolocalizer(cfg.model)
+
+ trainer, strategy = cfg.trainer, cfg.trainer.strategy
+ # from pytorch_lightning.profilers import PyTorchProfiler
+
+ trainer = instantiate(
+ trainer,
+ strategy=strategy,
+ logger=logger,
+ callbacks=callbacks,
+ # profiler=PyTorchProfiler(
+ # dirpath="logs",
+ # schedule=torch.profiler.schedule(wait=1, warmup=3, active=3, repeat=1),
+ # on_trace_ready=torch.profiler.tensorboard_trace_handler("./logs"),
+ # record_shapes=True,
+ # with_stack=True,
+ # with_flops=True,
+ # with_modules=True,
+ # ),
+ )
+ return trainer, model, ckpt_path
+
+
+def project_init(cfg):
+ print("Working directory set to {}".format(os.getcwd()))
+ directory = cfg.checkpoints.dirpath
+ os.makedirs(directory, exist_ok=True)
+ copyfile(".hydra/config.yaml", join(directory, "config.yaml"))
+
+
+def callback_init(cfg):
+ checkpoint_callback = instantiate(cfg.checkpoints)
+ progress_bar = instantiate(cfg.progress_bar)
+ lr_monitor = LearningRateMonitor()
+ ema_callback = EMACallback(
+ "network",
+ "ema_network",
+ decay=cfg.model.ema_decay,
+ start_ema_step=cfg.model.start_ema_step,
+ init_ema_random=False,
+ )
+ fix_nan_callback = FixNANinGrad(
+ monitor=["train/loss"],
+ )
+ increase_data_epoch_callback = IncreaseDataEpoch()
+ callbacks = [
+ checkpoint_callback,
+ progress_bar,
+ lr_monitor,
+ ema_callback,
+ fix_nan_callback,
+ increase_data_epoch_callback,
+ ]
+ return callbacks
+
+
+def init_datamodule(cfg):
+ datamodule = instantiate(cfg.datamodule)
+ return datamodule
+
+
+def hydra_boilerplate(cfg):
+ dict_config = OmegaConf.to_container(cfg, resolve=True)
+ callbacks = callback_init(cfg)
+ datamodule = init_datamodule(cfg)
+ project_init(cfg)
+ wandb_id = wandb_init(cfg)
+ trainer, model, ckpt_path = load_model(cfg, dict_config, wandb_id, callbacks)
+ return trainer, model, datamodule, ckpt_path
+
+
+@hydra.main(config_path="configs", config_name="config", version_base=None)
+def main(cfg):
+ if "stage" in cfg and cfg.stage == "debug":
+ import lovely_tensors as lt
+
+ lt.monkey_patch()
+ trainer, model, datamodule, ckpt_path = hydra_boilerplate(cfg)
+ model.datamodule = datamodule
+ # model = torch.compile(model)
+ if cfg.mode == "train":
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ elif cfg.mode == "eval":
+ trainer.test(model, datamodule=datamodule)
+ elif cfg.mode == "traineval":
+ cfg.mode = "train"
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ cfg.mode = "test"
+ trainer.test(model, datamodule=datamodule)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/train_random.py b/train_random.py
new file mode 100755
index 0000000000000000000000000000000000000000..01e9b526161aaffc54e6e94809bbab5dc93f1a73
--- /dev/null
+++ b/train_random.py
@@ -0,0 +1,146 @@
+import os
+import hydra
+import wandb
+from os.path import isfile, join
+from shutil import copyfile
+
+import torch
+
+from omegaconf import OmegaConf
+from hydra.core.hydra_config import HydraConfig
+from hydra.utils import instantiate
+from pytorch_lightning.callbacks import LearningRateMonitor
+from lightning_fabric.utilities.rank_zero import _get_rank
+from callbacks import EMACallback, FixNANinGrad, IncreaseDataEpoch
+from models.module import RandomGeolocalizer
+
+torch.set_float32_matmul_precision("high") # TODO do we need that?
+
+# Registering the "eval" resolver allows for advanced config
+# interpolation with arithmetic operations in hydra:
+# https://omegaconf.readthedocs.io/en/2.3_branch/how_to_guides.html
+OmegaConf.register_new_resolver("eval", eval)
+
+
+def wandb_init(cfg):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "wandb_id.txt")) and cfg.logger_suffix == "":
+ with open(join(directory, "wandb_id.txt"), "r") as f:
+ wandb_id = f.readline()
+ else:
+ rank = _get_rank()
+ wandb_id = wandb.util.generate_id()
+ print(f"Generated wandb id: {wandb_id}")
+ if rank == 0 or rank is None:
+ with open(join(directory, "wandb_id.txt"), "w") as f:
+ f.write(str(wandb_id))
+
+ return wandb_id
+
+
+def load_model(cfg, dict_config, wandb_id, callbacks):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "last.ckpt")):
+ checkpoint_path = join(directory, "last.ckpt")
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ model = RandomGeolocalizer.load_from_checkpoint(checkpoint_path, cfg=cfg.model)
+ ckpt_path = join(directory, "last.ckpt")
+ print(f"Loading form checkpoint ... {ckpt_path}")
+ else:
+ ckpt_path = None
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ log_dict = {"model": dict_config["model"], "dataset": dict_config["dataset"]}
+ logger._wandb_init.update({"config": log_dict})
+ model = RandomGeolocalizer(cfg.model)
+
+ trainer, strategy = cfg.trainer, cfg.trainer.strategy
+ # from pytorch_lightning.profilers import PyTorchProfiler
+
+ trainer = instantiate(
+ trainer,
+ strategy=strategy,
+ logger=logger,
+ callbacks=callbacks,
+ # profiler=PyTorchProfiler(
+ # dirpath="logs",
+ # schedule=torch.profiler.schedule(wait=1, warmup=3, active=3, repeat=1),
+ # on_trace_ready=torch.profiler.tensorboard_trace_handler("./logs"),
+ # record_shapes=True,
+ # with_stack=True,
+ # with_flops=True,
+ # with_modules=True,
+ # ),
+ )
+ return trainer, model, ckpt_path
+
+
+def project_init(cfg):
+ print("Working directory set to {}".format(os.getcwd()))
+ directory = cfg.checkpoints.dirpath
+ os.makedirs(directory, exist_ok=True)
+ copyfile(".hydra/config.yaml", join(directory, "config.yaml"))
+
+
+def callback_init(cfg):
+ checkpoint_callback = instantiate(cfg.checkpoints)
+ progress_bar = instantiate(cfg.progress_bar)
+ lr_monitor = LearningRateMonitor()
+ ema_callback = EMACallback(
+ "network",
+ "ema_network",
+ decay=cfg.model.ema_decay,
+ start_ema_step=cfg.model.start_ema_step,
+ init_ema_random=False,
+ )
+ fix_nan_callback = FixNANinGrad(
+ monitor=["train/loss"],
+ )
+ increase_data_epoch_callback = IncreaseDataEpoch()
+ callbacks = [
+ checkpoint_callback,
+ progress_bar,
+ lr_monitor,
+ ema_callback,
+ fix_nan_callback,
+ increase_data_epoch_callback,
+ ]
+ return callbacks
+
+
+def init_datamodule(cfg):
+ datamodule = instantiate(cfg.datamodule)
+ return datamodule
+
+
+def hydra_boilerplate(cfg):
+ dict_config = OmegaConf.to_container(cfg, resolve=True)
+ callbacks = callback_init(cfg)
+ datamodule = init_datamodule(cfg)
+ project_init(cfg)
+ wandb_id = wandb_init(cfg)
+ trainer, model, ckpt_path = load_model(cfg, dict_config, wandb_id, callbacks)
+ return trainer, model, datamodule, ckpt_path
+
+
+@hydra.main(config_path="configs", config_name="config", version_base=None)
+def main(cfg):
+ if "stage" in cfg and cfg.stage == "debug":
+ import lovely_tensors as lt
+
+ lt.monkey_patch()
+ trainer, model, datamodule, ckpt_path = hydra_boilerplate(cfg)
+ model.datamodule = datamodule
+ # model = torch.compile(model)
+ if cfg.mode == "train":
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ elif cfg.mode == "eval":
+ trainer.test(model, datamodule=datamodule)
+ elif cfg.mode == "traineval":
+ cfg.mode = "train"
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ cfg.mode = "test"
+ trainer.test(model, datamodule=datamodule)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/train_von_fisher.py b/train_von_fisher.py
new file mode 100755
index 0000000000000000000000000000000000000000..fd684488f5d6c952c566d6df8d231d3d519b43db
--- /dev/null
+++ b/train_von_fisher.py
@@ -0,0 +1,148 @@
+import os
+import hydra
+import wandb
+from os.path import isfile, join
+from shutil import copyfile
+
+import torch
+
+from omegaconf import OmegaConf
+from hydra.core.hydra_config import HydraConfig
+from hydra.utils import instantiate
+from pytorch_lightning.callbacks import LearningRateMonitor
+from lightning_fabric.utilities.rank_zero import _get_rank
+from callbacks import EMACallback, FixNANinGrad, IncreaseDataEpoch
+from models.module import VonFisherGeolocalizer
+
+torch.set_float32_matmul_precision("high") # TODO do we need that?
+
+# Registering the "eval" resolver allows for advanced config
+# interpolation with arithmetic operations in hydra:
+# https://omegaconf.readthedocs.io/en/2.3_branch/how_to_guides.html
+OmegaConf.register_new_resolver("eval", eval)
+
+
+def wandb_init(cfg):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "wandb_id.txt")):
+ with open(join(directory, "wandb_id.txt"), "r") as f:
+ wandb_id = f.readline()
+ else:
+ rank = _get_rank()
+ wandb_id = wandb.util.generate_id()
+ print(f"Generated wandb id: {wandb_id}")
+ if rank == 0 or rank is None:
+ with open(join(directory, "wandb_id.txt"), "w") as f:
+ f.write(str(wandb_id))
+
+ return wandb_id
+
+
+def load_model(cfg, dict_config, wandb_id, callbacks):
+ directory = cfg.checkpoints.dirpath
+ if isfile(join(directory, "last.ckpt")):
+ checkpoint_path = join(directory, "last.ckpt")
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ model = VonFisherGeolocalizer.load_from_checkpoint(
+ checkpoint_path, cfg=cfg.model
+ )
+ ckpt_path = join(directory, "last.ckpt")
+ print(f"Loading form checkpoint ... {ckpt_path}")
+ else:
+ ckpt_path = None
+ logger = instantiate(cfg.logger, id=wandb_id, resume="allow")
+ log_dict = {"model": dict_config["model"], "dataset": dict_config["dataset"]}
+ logger._wandb_init.update({"config": log_dict})
+ model = VonFisherGeolocalizer(cfg.model)
+
+ trainer, strategy = cfg.trainer, cfg.trainer.strategy
+ # from pytorch_lightning.profilers import PyTorchProfiler
+
+ trainer = instantiate(
+ trainer,
+ strategy=strategy,
+ logger=logger,
+ callbacks=callbacks,
+ # profiler=PyTorchProfiler(
+ # dirpath="logs",
+ # schedule=torch.profiler.schedule(wait=1, warmup=3, active=3, repeat=1),
+ # on_trace_ready=torch.profiler.tensorboard_trace_handler("./logs"),
+ # record_shapes=True,
+ # with_stack=True,
+ # with_flops=True,
+ # with_modules=True,
+ # ),
+ )
+ return trainer, model, ckpt_path
+
+
+def project_init(cfg):
+ print("Working directory set to {}".format(os.getcwd()))
+ directory = cfg.checkpoints.dirpath
+ os.makedirs(directory, exist_ok=True)
+ copyfile(".hydra/config.yaml", join(directory, "config.yaml"))
+
+
+def callback_init(cfg):
+ checkpoint_callback = instantiate(cfg.checkpoints)
+ progress_bar = instantiate(cfg.progress_bar)
+ lr_monitor = LearningRateMonitor()
+ ema_callback = EMACallback(
+ "network",
+ "ema_network",
+ decay=cfg.model.ema_decay,
+ start_ema_step=cfg.model.start_ema_step,
+ init_ema_random=False,
+ )
+ fix_nan_callback = FixNANinGrad(
+ monitor=["train/loss"],
+ )
+ increase_data_epoch_callback = IncreaseDataEpoch()
+ callbacks = [
+ checkpoint_callback,
+ progress_bar,
+ lr_monitor,
+ ema_callback,
+ fix_nan_callback,
+ increase_data_epoch_callback,
+ ]
+ return callbacks
+
+
+def init_datamodule(cfg):
+ datamodule = instantiate(cfg.datamodule)
+ return datamodule
+
+
+def hydra_boilerplate(cfg):
+ dict_config = OmegaConf.to_container(cfg, resolve=True)
+ callbacks = callback_init(cfg)
+ datamodule = init_datamodule(cfg)
+ project_init(cfg)
+ wandb_id = wandb_init(cfg)
+ trainer, model, ckpt_path = load_model(cfg, dict_config, wandb_id, callbacks)
+ return trainer, model, datamodule, ckpt_path
+
+
+@hydra.main(config_path="configs", config_name="config", version_base=None)
+def main(cfg):
+ if "stage" in cfg and cfg.stage == "debug":
+ import lovely_tensors as lt
+
+ lt.monkey_patch()
+ trainer, model, datamodule, ckpt_path = hydra_boilerplate(cfg)
+ model.datamodule = datamodule
+ # model = torch.compile(model)
+ if cfg.mode == "train":
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ elif cfg.mode == "eval":
+ trainer.test(model, datamodule=datamodule)
+ elif cfg.mode == "traineval":
+ cfg.mode = "train"
+ trainer.fit(model, datamodule=datamodule, ckpt_path=ckpt_path)
+ cfg.mode = "test"
+ trainer.test(model, datamodule=datamodule)
+
+
+if __name__ == "__main__":
+ main()
diff --git a/utils/__init__.py b/utils/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/utils/__pycache__/__init__.cpython-310.pyc b/utils/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..cebd9149b0667285c4370c339055250c0cf8e9fe
Binary files /dev/null and b/utils/__pycache__/__init__.cpython-310.pyc differ
diff --git a/utils/__pycache__/image_processing.cpython-310.pyc b/utils/__pycache__/image_processing.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..f0b861180242d2cfbbbcdd3b19a4764224dd6c3a
Binary files /dev/null and b/utils/__pycache__/image_processing.cpython-310.pyc differ
diff --git a/utils/__pycache__/kde.cpython-310.pyc b/utils/__pycache__/kde.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..986963634e61a31052e72a9052b1eaaab644d4d2
Binary files /dev/null and b/utils/__pycache__/kde.cpython-310.pyc differ
diff --git a/utils/__pycache__/lr_scheduler.cpython-310.pyc b/utils/__pycache__/lr_scheduler.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..72403fa774c30de5390a894aa730388c3876e712
Binary files /dev/null and b/utils/__pycache__/lr_scheduler.cpython-310.pyc differ
diff --git a/utils/__pycache__/manifolds.cpython-310.pyc b/utils/__pycache__/manifolds.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..8c88ad0acdae9e1504ad1cc966a3a66a0320232f
Binary files /dev/null and b/utils/__pycache__/manifolds.cpython-310.pyc differ
diff --git a/utils/__pycache__/optimizers.cpython-310.pyc b/utils/__pycache__/optimizers.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..a2b6a4cdcbe7edf9aa05c9aacf5aedec779fbd6b
Binary files /dev/null and b/utils/__pycache__/optimizers.cpython-310.pyc differ
diff --git a/utils/image_processing.py b/utils/image_processing.py
new file mode 100755
index 0000000000000000000000000000000000000000..8f885eeefd3ff9f0152034b32ac441caa2b1a4cd
--- /dev/null
+++ b/utils/image_processing.py
@@ -0,0 +1,58 @@
+import torch
+import torch.nn.functional as F
+import torchvision
+
+
+def remap_image_torch(image):
+ image_torch = ((image + 1) / 2.0) * 255.0
+ image_torch = torch.clip(image_torch, 0, 255).to(torch.uint8)
+ return image_torch
+
+
+class CenterCrop(torch.nn.Module):
+ """Crops the given image at the center. Allows to crop to the maximum possible size.
+ Args:
+ size (sequence or int): Desired output size of the crop. If size is an
+ int instead of sequence like (h, w), a square crop (size, size) is
+ made.
+ ratio (str): Desired output ratio of the crop that will do the maximum possible crop with the given ratio.
+ """
+
+ def __init__(self, size=None, ratio="1:1"):
+ super().__init__()
+ self.size = size
+ self.ratio = ratio
+
+ def forward(self, img):
+ """
+ Args:
+ img (PIL Image or Tensor): Image to be cropped.
+
+ Returns:
+ PIL Image or Tensor: Cropped image.
+ """
+ if self.size is None:
+ if isinstance(img, torch.Tensor):
+ h, w = img.shape[-2:]
+ else:
+ w, h = img.size
+ ratio = self.ratio.split(":")
+ ratio = float(ratio[0]) / float(ratio[1])
+ ratioed_w = int(h * ratio)
+ ratioed_h = int(w / ratio)
+ if w >= h:
+ if ratioed_h <= h:
+ size = (ratioed_h, w)
+ else:
+ size = (h, ratioed_w)
+ else:
+ if ratioed_w <= w:
+ size = (h, ratioed_w)
+ else:
+ size = (ratioed_h, w)
+ else:
+ size = self.size
+ return torchvision.transforms.functional.center_crop(img, size)
+
+ def __repr__(self) -> str:
+ return f"{self.__class__.__name__}(size={self.size})"
diff --git a/utils/kde.py b/utils/kde.py
new file mode 100644
index 0000000000000000000000000000000000000000..1afe32b79c03cb4ef266fb8def417f5b162d5a5c
--- /dev/null
+++ b/utils/kde.py
@@ -0,0 +1,31 @@
+import torch
+import torch.nn as nn
+import torch.nn.functional as F
+import matplotlib.pyplot as plt
+
+
+class BatchedKDE(nn.Module):
+ def __init__(self, bandwith=0.0):
+ super().__init__()
+ self.bandwidth = bandwith
+ self.X = None
+
+ def fit(self, X: torch.Tensor):
+ self.mu = X
+ self.nmu2 = torch.sum(X * X, dim=-1, keepdim=True)
+ b, n, d = X.shape
+ if self.bandwidth == 0:
+ q = torch.quantile(X.view(b, -1), 0.75) - torch.quantile(
+ X.view(b, -1), 0.25
+ )
+ self.bandwidth = (
+ 0.9 * torch.min(torch.std(X, dim=(1, 2)), q / 1.34) / pow(n, 0.2)
+ )
+
+ def score(self, X):
+ nx2 = torch.sum(X * X, dim=-1, keepdim=True)
+ dot = torch.einsum("bnd, bmd -> bnm", X, self.mu)
+ dist = nx2 + self.nmu2.transpose(1, 2) - 2 * dot
+ return torch.sum(
+ torch.exp(-dist / self.bandwidth.unsqueeze(-1).unsqueeze(-1)), dim=-1
+ )
diff --git a/utils/lr_scheduler.py b/utils/lr_scheduler.py
new file mode 100755
index 0000000000000000000000000000000000000000..f7136bef13d119dd3cff31b02b7226e96c88b4cd
--- /dev/null
+++ b/utils/lr_scheduler.py
@@ -0,0 +1,96 @@
+import math
+
+
+class WarmupLR:
+ """
+ Linear Warmup learning rate scheduler. After warmup, learning rate is
+ constant.
+
+ Args:
+ optimizer (torch.optim.Optimizer): optimizer
+ warmup_steps (int): number of warmup steps
+
+ """
+
+ def __init__(self, optimizer, warmup_steps):
+ self.optimizer = optimizer
+ self.warmup_steps = warmup_steps
+ self.base_lr = None
+
+ def get_lr(self, lr, step):
+ return lr * min(step / max(self.warmup_steps, 1), 1.0)
+
+ def step(self, step):
+ if self.base_lr is None:
+ self.base_lr = [
+ param_group["lr"] for param_group in self.optimizer.param_groups
+ ]
+ for param_group, base_lr_group in zip(
+ self.optimizer.param_groups, self.base_lr
+ ):
+ param_group["lr"] = self.get_lr(base_lr_group, step)
+
+ def state_dict(self):
+ return {
+ key: value for key, value in self.__dict__.items() if key != "optimizer"
+ }
+
+ def load_state_dict(self, state_dict):
+ self.__dict__.update(state_dict)
+
+
+class WarmupCosineDecayLR:
+ """
+ Linear Warmup learning rate scheduler. After warmup, learning rate is
+ constant.
+ After warmup, learning rate follows a cosine decay.
+
+ Args:
+ optimizer (torch.optim.Optimizer): optimizer
+ warmup_steps (int): number of warmup steps
+ total_steps (int): total number of steps
+ rate (float): cosine decay rate
+ """
+
+ def __init__(self, optimizer, warmup_steps, total_steps, rate=1.0):
+ self.optimizer = optimizer
+ self.warmup_steps = warmup_steps
+ self.base_lr = None
+ self.total_steps = total_steps
+ self.rate = rate
+
+ def get_lr(self, lr, step):
+ if step < self.warmup_steps:
+ return lr * min(step / max(self.warmup_steps, 1), 1.0)
+ else:
+ return (
+ 0.5
+ * lr
+ * (
+ 1
+ + math.cos(
+ self.rate
+ * math.pi
+ * (step - self.warmup_steps)
+ / (self.total_steps - self.warmup_steps)
+ )
+ )
+ )
+
+ def step(self, step):
+ if self.base_lr is None:
+ self.base_lr = [
+ param_group["lr"] for param_group in self.optimizer.param_groups
+ ]
+ for param_group, base_lr_group in zip(
+ self.optimizer.param_groups, self.base_lr
+ ):
+ param_group["lr"] = self.get_lr(base_lr_group, step)
+
+ def state_dict(self):
+ return {
+ key: value for key, value in self.__dict__.items() if key != "optimizer"
+ }
+
+ def load_state_dict(self, state_dict):
+ self.__dict__.update(state_dict)
diff --git a/utils/manifolds.py b/utils/manifolds.py
new file mode 100644
index 0000000000000000000000000000000000000000..94be76b6377ea1969344338443282b99bed1b7a0
--- /dev/null
+++ b/utils/manifolds.py
@@ -0,0 +1,43 @@
+"""Copyright (c) Meta Platforms, Inc. and affiliates."""
+
+import math
+import torch
+from geoopt.manifolds import Sphere as geoopt_Sphere
+
+
+class Sphere(geoopt_Sphere):
+ def transp(self, x, y, v):
+ denom = 1 + self.inner(x, x, y, keepdim=True)
+ res = v - self.inner(x, y, v, keepdim=True) / denom * (x + y)
+ cond = denom.gt(1e-3)
+ return torch.where(cond, res, -v)
+
+ def uniform_logprob(self, x):
+ dim = x.shape[-1]
+ return torch.full_like(
+ x[..., 0],
+ math.lgamma(dim / 2) - (math.log(2) + (dim / 2) * math.log(math.pi)),
+ )
+
+ def random_base(self, *args, **kwargs):
+ return self.random_uniform(*args, **kwargs)
+
+ def base_logprob(self, *args, **kwargs):
+ return self.uniform_logprob(*args, **kwargs)
+
+
+def geodesic(manifold, start_point, end_point):
+ shooting_tangent_vec = manifold.logmap(start_point, end_point)
+
+ def path(t):
+ """Generate parameterized function for geodesic curve.
+ Parameters
+ ----------
+ t : array-like, shape=[n_points,]
+ Times at which to compute points of the geodesics.
+ """
+ tangent_vecs = torch.einsum("i,...k->...ik", t, shooting_tangent_vec)
+ points_at_time_t = manifold.expmap(start_point.unsqueeze(-2), tangent_vecs)
+ return points_at_time_t
+
+ return path
diff --git a/utils/model_utils.py b/utils/model_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..a4ebf21894807ece574ae3f88664a635a2b431ab
--- /dev/null
+++ b/utils/model_utils.py
@@ -0,0 +1,14 @@
+def print_trainable_parameters(model):
+ """
+ Prints the number and percentage of trainable parameters in the model.
+ Useful for tracking % parameters trained for LoRA.
+ """
+ trainable_params = 0
+ all_param = 0
+ for _, param in model.named_parameters():
+ all_param += param.numel()
+ if param.requires_grad:
+ trainable_params += param.numel()
+ print(
+ f"trainable params: {trainable_params} || all params: {all_param} || trainable%: {100 * trainable_params / all_param}"
+ )
diff --git a/utils/optimizers.py b/utils/optimizers.py
new file mode 100644
index 0000000000000000000000000000000000000000..28fbdea278efa62e899778951ecf157b773f640b
--- /dev/null
+++ b/utils/optimizers.py
@@ -0,0 +1,111 @@
+"""Lamb optimizer."""
+
+import torch
+from torch.optim import Optimizer
+import math
+
+
+class Lamb(Optimizer):
+ r"""Implements Lamb algorithm.
+ It has been proposed in `Large Batch Optimization for Deep Learning: Training BERT in 76 minutes`_.
+ Arguments:
+ params (iterable): iterable of parameters to optimize or dicts defining
+ parameter groups
+ lr (float, optional): learning rate (default: 1e-3)
+ betas (Tuple[float, float], optional): coefficients used for computing
+ running averages of gradient and its square (default: (0.9, 0.999))
+ eps (float, optional): term added to the denominator to improve
+ numerical stability (default: 1e-8)
+ weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
+ adam (bool, optional): always use trust ratio = 1, which turns this into
+ Adam. Useful for comparison purposes.
+ .. _Large Batch Optimization for Deep Learning: Training BERT in 76 minutes:
+ https://arxiv.org/abs/1904.00962
+ """
+
+ def __init__(
+ self, params, lr=1e-3, betas=(0.9, 0.999), eps=1e-8, weight_decay=0, adam=False
+ ):
+ if not 0.0 <= lr:
+ raise ValueError("Invalid learning rate: {}".format(lr))
+ if not 0.0 <= eps:
+ raise ValueError("Invalid epsilon value: {}".format(eps))
+ if not 0.0 <= betas[0] < 1.0:
+ raise ValueError("Invalid beta parameter at index 0: {}".format(betas[0]))
+ if not 0.0 <= betas[1] < 1.0:
+ raise ValueError("Invalid beta parameter at index 1: {}".format(betas[1]))
+ defaults = dict(lr=lr, betas=betas, eps=eps, weight_decay=weight_decay)
+ self.adam = adam
+ super(Lamb, self).__init__(params, defaults)
+
+ def step(self, closure=None):
+ """Performs a single optimization step.
+ Arguments:
+ closure (callable, optional): A closure that reevaluates the model
+ and returns the loss.
+ """
+ loss = None
+ if closure is not None:
+ loss = closure()
+
+ for group in self.param_groups:
+ for p in group["params"]:
+ if p.grad is None:
+ continue
+ grad = p.grad.data
+ if grad.is_sparse:
+ raise RuntimeError(
+ "Lamb does not support sparse gradients, consider SparseAdam instad."
+ )
+
+ state = self.state[p]
+
+ # State initialization
+ if len(state) == 0:
+ state["step"] = 0
+ # Exponential moving average of gradient values
+ state["exp_avg"] = torch.zeros_like(p.data)
+ # Exponential moving average of squared gradient values
+ state["exp_avg_sq"] = torch.zeros_like(p.data)
+
+ exp_avg, exp_avg_sq = state["exp_avg"], state["exp_avg_sq"]
+ beta1, beta2 = group["betas"]
+
+ state["step"] += 1
+
+ # Decay the first and second moment running average coefficient
+ # m_t
+ exp_avg.mul_(beta1).add_(grad, alpha=1 - beta1)
+ # v_t
+ exp_avg_sq.mul_(beta2).addcmul_(grad, grad, value=1 - beta2)
+
+ # Paper v3 does not use debiasing.
+ bias_correction1 = 1 - beta1 ** state["step"]
+ bias_correction2 = 1 - beta2 ** state["step"]
+ exp_avg_hat = exp_avg / bias_correction1
+ exp_avg_sq_hat = exp_avg_sq / bias_correction2
+ # Apply bias to lr to avoid broadcast.
+ step_size = group["lr"]
+
+ do_layer_adaptation = (
+ group["layer_adaptation"]
+ if "layer_adaptation" in group
+ else group["weight_decay"] > 0
+ )
+
+ adam_step = exp_avg_hat / exp_avg_sq_hat.sqrt().add(group["eps"])
+ if group["weight_decay"] != 0:
+ adam_step.add_(p.data, alpha=group["weight_decay"])
+ if do_layer_adaptation:
+ weight_norm = p.data.norm(p=2)
+ adam_norm = adam_step.norm(p=2)
+ trust_ratio = torch.where(
+ weight_norm.ne(0),
+ torch.where(adam_norm.ne(0), weight_norm / adam_norm, 1),
+ 1,
+ )
+ if self.adam or not do_layer_adaptation:
+ trust_ratio = 1
+
+ p.data.add_(adam_step, alpha=-step_size * trust_ratio)
+ return loss
diff --git a/utils/quadtree_10_1000.csv b/utils/quadtree_10_1000.csv
new file mode 100644
index 0000000000000000000000000000000000000000..43dc3fe224cd477a6d531e9eb9060041fc351050
--- /dev/null
+++ b/utils/quadtree_10_1000.csv
@@ -0,0 +1,11400 @@
+cluster_id,min_lat,min_lon,max_lat,max_lon,mean_lat,mean_lon
+0,-54.887208333333,-176.81130912065618,-21.501435738728247,-87.92788457595303,-43.532155669434445,-175.16965440053036
+1,-54.887208333333,-87.92788457595303,-46.54076518468182,-65.70702843977725,-52.83911058720759,-69.97049659752754
+2,-54.887208333333,-65.70702843977725,-46.54076518468182,-43.48617230360146,-51.69177829429435,-57.87147149504169
+3,-46.54076518468182,-76.81745650786513,-42.36754361035622,-65.70702843977725,-43.064022406687926,-72.08533481128082
+4,-42.36754361035622,-76.81745650786513,-40.280932823193424,-71.26224247382119,-41.083866181388565,-71.62382852820703
+5,-42.36754361035622,-71.26224247382119,-40.280932823193424,-65.70702843977725,-40.551777598218294,-70.73476068545202
+6,-40.280932823193424,-76.81745650786513,-38.19432203603063,-71.26224247382119,-38.88633999858544,-72.26690505486575
+7,-40.280932823193424,-71.26224247382119,-38.19432203603063,-65.70702843977725,-39.43252634717636,-69.5415326724586
+8,-46.54076518468182,-65.70702843977725,-38.19432203603063,-43.48617230360146,-38.57177950090708,-59.9060379079692
+9,-38.19432203603063,-74.03984949084315,-37.15101664244923,-71.26224247382119,-37.462888242110246,-72.30247025504629
+10,-37.15101664244923,-73.34544773658766,-36.89019029405388,-72.65104598233216,-37.03085014645363,-72.90955698238258
+11,-36.89019029405388,-73.34544773658766,-36.7597771198562,-72.99824685945991,-36.81213504894157,-73.06375453971924
+12,-36.89019029405388,-72.99824685945991,-36.7597771198562,-72.65104598233216,-36.832307735674384,-72.92211821790572
+13,-36.7597771198562,-73.34544773658766,-36.629363945658525,-72.99824685945991,-36.73333261655126,-73.1051284867236
+14,-36.7597771198562,-72.99824685945991,-36.629363945658525,-72.65104598233216,-36.73909618398473,-72.93940494170596
+15,-37.15101664244923,-72.65104598233216,-36.629363945658525,-71.26224247382119,-36.8731521086885,-72.28475739579679
+16,-36.629363945658525,-74.03984949084315,-36.10771124886783,-72.65104598233216,-36.51719337787234,-72.91052295717688
+17,-36.629363945658525,-72.65104598233216,-36.10771124886783,-71.26224247382119,-36.30597218009505,-71.75592471154785
+18,-38.19432203603063,-71.26224247382119,-36.10771124886783,-65.70702843977725,-37.740423895366526,-68.48232435436529
+19,-36.10771124886783,-74.03984949084315,-35.586058552077134,-72.65104598233216,-35.89048445227239,-72.67585071374846
+20,-36.10771124886783,-72.65104598233216,-35.586058552077134,-71.26224247382119,-35.83178601642691,-71.8173774078609
+21,-35.586058552077134,-72.65104598233216,-35.32523220368178,-71.95664422807667,-35.42832057985849,-72.42471444824865
+22,-35.586058552077134,-71.95664422807667,-35.32523220368178,-71.26224247382119,-35.437206955983896,-71.61212328513326
+23,-35.32523220368178,-72.65104598233216,-35.06440585528643,-71.95664422807667,-35.18509788422381,-72.11303981752495
+24,-35.32523220368178,-71.95664422807667,-35.06440585528643,-71.26224247382119,-35.189485878742346,-71.54135505763108
+25,-35.06440585528643,-72.65104598233216,-34.54275315849573,-71.26224247382119,-34.88010495204122,-71.73425095531428
+26,-34.54275315849573,-72.65104598233216,-34.02110046170503,-71.26224247382119,-34.31041813593697,-71.74162426720133
+27,-36.10771124886783,-71.26224247382119,-35.06440585528643,-68.48463545679923,-35.70454846138962,-70.94538889473728
+28,-35.06440585528643,-71.26224247382119,-34.54275315849573,-69.87343896531021,-34.86391155056475,-71.10871374746228
+29,-35.06440585528643,-69.87343896531021,-34.54275315849573,-68.48463545679923,-34.6856355753597,-69.14530790102704
+30,-34.54275315849573,-71.26224247382119,-34.02110046170503,-69.87343896531021,-34.175992169827296,-70.71102096872653
+31,-34.54275315849573,-69.87343896531021,-34.02110046170503,-68.48463545679923,-34.542689201602,-69.162370596715
+32,-34.02110046170503,-72.65104598233216,-33.499447764914336,-71.26224247382119,-33.60446544418977,-71.61224480214646
+33,-33.499447764914336,-71.95664422807667,-33.23862141651898,-71.26224247382119,-33.38094879998429,-71.50633172629786
+34,-33.23862141651898,-71.95664422807667,-33.10820824232131,-71.60944335094894,-33.12327729371426,-71.65561798904817
+35,-33.23862141651898,-71.60944335094894,-33.10820824232131,-71.26224247382119,-33.1659373674599,-71.46860030855218
+36,-33.10820824232131,-71.95664422807667,-32.97779506812363,-71.60944335094894,-33.04848238524751,-71.63632755742346
+37,-33.10820824232131,-71.60944335094894,-32.97779506812363,-71.26224247382119,-33.038702326420946,-71.49863057375345
+38,-32.97779506812363,-74.03984949084315,-31.934489674542235,-71.26224247382119,-32.91777902455373,-71.40400860381189
+39,-34.02110046170503,-71.26224247382119,-33.760274113309684,-70.56784071956571,-33.96649856185915,-70.71217872805231
+40,-33.760274113309684,-71.26224247382119,-33.62986093911201,-70.91504159669344,-33.66946538322242,-70.942537929533
+41,-33.760274113309684,-70.91504159669344,-33.62986093911201,-70.56784071956571,-33.65594900248611,-70.74117243872517
+42,-33.62986093911201,-70.91504159669344,-33.499447764914336,-70.56784071956571,-33.56261736725573,-70.67149959737661
+43,-33.760274113309684,-70.56784071956571,-33.499447764914336,-69.87343896531021,-33.587787204825425,-70.52303189758285
+44,-33.499447764914336,-71.26224247382119,-33.36903459071666,-70.91504159669344,-33.42374496315721,-71.10185238309357
+45,-33.499447764914336,-70.91504159669344,-33.36903459071666,-70.56784071956571,-33.43829672412214,-70.67613775262431
+46,-33.36903459071666,-71.26224247382119,-33.23862141651898,-70.91504159669344,-33.24421909312565,-70.91872273185083
+47,-33.36903459071666,-70.91504159669344,-33.23862141651898,-70.56784071956571,-33.318993296509014,-70.7191967850756
+48,-33.499447764914336,-70.56784071956571,-33.36903459071666,-70.22063984243796,-33.43359381452864,-70.54310552022639
+49,-33.36903459071666,-70.56784071956571,-33.23862141651898,-70.22063984243796,-33.34832963661116,-70.49576737308526
+50,-33.23862141651898,-71.26224247382119,-32.97779506812363,-70.56784071956571,-33.109594827858075,-70.9904781209753
+51,-33.499447764914336,-69.87343896531021,-32.97779506812363,-68.48463545679923,-33.0001814184482,-68.9328981265505
+52,-34.02110046170503,-68.48463545679923,-32.97779506812363,-65.70702843977725,-33.110961895811,-67.53844632220947
+53,-32.97779506812363,-71.26224247382119,-32.45614237133293,-69.87343896531021,-32.82390714961232,-70.93472475727266
+54,-32.97779506812363,-69.17903721105472,-32.847381893925956,-68.83183633392697,-32.90384715501897,-68.85431403253693
+55,-32.97779506812363,-68.83183633392697,-32.847381893925956,-68.48463545679923,-32.89731734125177,-68.81312759372442
+56,-32.847381893925956,-69.17903721105472,-32.716968719728285,-68.83183633392697,-32.83979548944738,-68.85473911971923
+57,-32.847381893925956,-68.83183633392697,-32.716968719728285,-68.48463545679923,-32.83549344465096,-68.81633677737747
+58,-32.716968719728285,-69.87343896531021,-32.45614237133293,-69.17903721105472,-32.56916083002625,-69.30452205475075
+59,-32.716968719728285,-69.17903721105472,-32.45614237133293,-68.48463545679923,-32.642753087127495,-68.74537715407011
+60,-32.45614237133293,-69.87343896531021,-31.934489674542235,-68.48463545679923,-32.08959950499408,-68.80283649315446
+61,-32.97779506812363,-68.48463545679923,-31.934489674542235,-65.70702843977725,-32.443650051661066,-68.44633160146438
+62,-31.934489674542235,-76.81745650786513,-29.847878887379437,-71.26224247382119,-30.0875427447172,-71.3839080347258
+63,-31.934489674542235,-71.26224247382119,-29.847878887379437,-65.70702843977725,-31.524772662024933,-68.5709329018723
+64,-38.19432203603063,-65.70702843977725,-36.10771124886783,-60.1518144057333,-37.01904884964795,-62.483007302869694
+65,-38.19432203603063,-60.1518144057333,-37.15101664244923,-57.374207388711326,-37.66600887101224,-58.42583709738069
+66,-38.19432203603063,-57.374207388711326,-37.15101664244923,-54.59660037168935,-37.255174824639,-56.96708655757317
+67,-37.15101664244923,-60.1518144057333,-36.10771124886783,-57.374207388711326,-36.670988085236274,-59.07058880440538
+68,-37.15101664244923,-57.374207388711326,-36.10771124886783,-54.59660037168935,-36.50029825622035,-56.74050820746459
+69,-36.10771124886783,-65.70702843977725,-34.02110046170503,-60.1518144057333,-35.40103846117565,-61.13660647939875
+70,-36.10771124886783,-60.1518144057333,-35.06440585528643,-57.374207388711326,-35.52584103937137,-58.169134610291046
+71,-36.10771124886783,-57.374207388711326,-35.06440585528643,-54.59660037168935,-35.518350826267636,-57.319417369351825
+72,-35.06440585528643,-60.1518144057333,-34.80357950689108,-59.45741265147781,-34.99845074680234,-59.69096768427757
+73,-35.06440585528643,-59.45741265147781,-34.80357950689108,-58.763010897222316,-34.9821967084953,-59.277088589185915
+74,-34.80357950689108,-59.45741265147781,-34.673166332693405,-59.11021177435006,-34.72571167781869,-59.388132990620484
+75,-34.80357950689108,-59.11021177435006,-34.673166332693405,-58.763010897222316,-34.68109960119722,-58.821178683854214
+76,-34.673166332693405,-59.45741265147781,-34.54275315849573,-59.11021177435006,-34.58042722812838,-59.18178402405954
+77,-34.673166332693405,-59.11021177435006,-34.54275315849573,-58.763010897222316,-34.58870382900001,-59.03196934232563
+78,-35.06440585528643,-58.763010897222316,-34.93399268108875,-58.41581002009457,-34.99395471216157,-58.58541017257465
+79,-35.06440585528643,-58.41581002009457,-34.93399268108875,-58.06860914296682,-35.033044477425605,-58.18464970644378
+80,-34.93399268108875,-58.763010897222316,-34.80357950689108,-58.41581002009457,-34.875248478221174,-58.55453330021405
+81,-34.93399268108875,-58.41581002009457,-34.80357950689108,-58.06860914296682,-34.827257102268,-58.21968014909185
+82,-35.06440585528643,-58.06860914296682,-34.93399268108875,-57.721408265839074,-34.95772717786516,-57.96403545514969
+83,-34.93399268108875,-58.06860914296682,-34.80357950689108,-57.721408265839074,-34.903882481269385,-57.968138979797594
+84,-34.80357950689108,-58.763010897222316,-34.673166332693405,-58.41581002009457,-34.703597467997454,-58.52595180267002
+85,-34.80357950689108,-58.41581002009457,-34.673166332693405,-58.06860914296682,-34.74029119449247,-58.31743067210096
+86,-34.673166332693405,-58.763010897222316,-34.54275315849573,-58.41581002009457,-34.61896614531294,-58.54040826428349
+87,-34.673166332693405,-58.41581002009457,-34.54275315849573,-58.06860914296682,-34.62540071982363,-58.38059930960747
+88,-34.80357950689108,-58.06860914296682,-34.54275315849573,-57.374207388711326,-34.7908134504581,-58.000212240955
+89,-34.54275315849573,-60.1518144057333,-34.02110046170503,-58.763010897222316,-34.30930548618179,-59.015499995534746
+90,-34.54275315849573,-58.763010897222316,-34.41233998429806,-58.41581002009457,-34.48575488390475,-58.574841867631505
+91,-34.41233998429806,-58.763010897222316,-34.28192681010038,-58.41581002009457,-34.394257992877726,-58.61377926046254
+92,-34.54275315849573,-58.06860914296682,-34.28192681010038,-57.374207388711326,-34.46946383865813,-57.84275760542247
+93,-34.28192681010038,-58.763010897222316,-34.02110046170503,-58.06860914296682,-34.24807575320061,-58.729489990364854
+94,-34.93399268108875,-56.332604757328085,-34.80357950689108,-55.98540388020034,-34.868522977203796,-56.15101455330118
+95,-34.80357950689108,-56.67980563445583,-34.54275315849573,-55.98540388020034,-34.72706225915789,-56.16529435546741
+96,-35.06440585528643,-55.98540388020034,-34.54275315849573,-54.59660037168935,-34.82380889237161,-55.51708029617686
+97,-34.54275315849573,-57.374207388711326,-34.02110046170503,-55.98540388020034,-34.15759576349591,-56.212292884790784
+98,-34.54275315849573,-55.98540388020034,-34.02110046170503,-54.59660037168935,-34.250631042530664,-55.863940499977375
+99,-38.19432203603063,-54.59660037168935,-34.02110046170503,-43.48617230360146,-34.3328304,-53.7922997
+100,-34.02110046170503,-62.92942142275527,-32.97779506812363,-60.1518144057333,-33.11921303182118,-60.572635234777856
+101,-32.97779506812363,-65.70702843977725,-31.934489674542235,-62.92942142275527,-32.29699036862157,-63.86092351855826
+102,-32.97779506812363,-62.92942142275527,-32.45614237133293,-61.54061791424428,-32.666965539940406,-62.1810118303244
+103,-32.97779506812363,-61.54061791424428,-32.716968719728285,-60.846216159988785,-32.89131673318185,-61.06830384234893
+104,-32.97779506812363,-60.846216159988785,-32.847381893925956,-60.49901528286104,-32.93549270510824,-60.709876517690695
+105,-32.847381893925956,-60.846216159988785,-32.716968719728285,-60.49901528286104,-32.847034739504174,-60.71503240708483
+106,-32.716968719728285,-61.54061791424428,-32.45614237133293,-60.846216159988785,-32.579692665878994,-60.870352147514
+107,-32.716968719728285,-60.846216159988785,-32.45614237133293,-60.1518144057333,-32.64287512742883,-60.58988270398341
+108,-32.45614237133293,-62.92942142275527,-31.934489674542235,-61.54061791424428,-32.02162500101025,-62.92288344759425
+109,-32.45614237133293,-61.54061791424428,-31.934489674542235,-60.1518144057333,-32.30645188125757,-60.51572054558564
+110,-34.02110046170503,-60.1518144057333,-31.934489674542235,-54.59660037168935,-33.02496282811053,-58.38101979142032
+111,-31.934489674542235,-65.70702843977725,-31.412836977751535,-64.31822493126626,-31.67102423253045,-64.78580245103417
+112,-31.934489674542235,-64.31822493126626,-31.412836977751535,-62.92942142275527,-31.520010884765878,-64.09560027884615
+113,-31.412836977751535,-65.70702843977725,-30.891184280960836,-64.31822493126626,-31.321916233771542,-65.02470120803001
+114,-31.412836977751535,-64.31822493126626,-31.28242380355386,-63.97102405413851,-31.371456467624174,-64.20390888964799
+115,-31.28242380355386,-64.31822493126626,-31.152010629356184,-63.97102405413851,-31.224366031863156,-64.29662550953549
+116,-31.152010629356184,-64.31822493126626,-30.891184280960836,-63.62382317701076,-31.048227258539868,-64.21142737082897
+117,-31.934489674542235,-62.92942142275527,-30.891184280960836,-60.1518144057333,-31.539361043734676,-61.059773224498954
+118,-30.891184280960836,-62.92942142275527,-29.847878887379437,-60.1518144057333,-30.758375098443,-60.561620806353
+119,-31.934489674542235,-60.1518144057333,-29.847878887379437,-54.59660037168935,-30.880719236584262,-56.484232607221784
+120,-34.02110046170503,-54.59660037168935,-31.934489674542235,-49.041386337645406,-32.651460988788386,-52.66008510745024
+121,-31.934489674542235,-54.59660037168935,-30.891184280960836,-51.81899335466738,-31.607790492681126,-52.10296564701381
+122,-31.934489674542235,-51.81899335466738,-30.891184280960836,-49.041386337645406,-31.370449915901784,-51.319278748327015
+123,-30.891184280960836,-54.59660037168935,-29.847878887379437,-51.81899335466738,-30.64496380467465,-52.336181666550964
+124,-30.891184280960836,-51.81899335466738,-30.369531584170137,-50.430189846156395,-30.76353368427569,-51.7910779150264
+125,-30.369531584170137,-51.81899335466738,-30.108705235774785,-51.12459160041189,-30.12307036513822,-51.23543890459908
+126,-30.108705235774785,-51.81899335466738,-29.847878887379437,-51.12459160041189,-30.013015342166263,-51.19262050302285
+127,-30.108705235774785,-51.12459160041189,-29.847878887379437,-50.430189846156395,-29.961165654753945,-50.84241104181679
+128,-30.369531584170137,-50.430189846156395,-29.847878887379437,-49.041386337645406,-29.922085075305624,-50.20328076904488
+129,-29.847878887379437,-87.92788457595303,-21.501435738728247,-65.70702843977725,-26.671748863405917,-70.04183680022038
+130,-29.847878887379437,-65.70702843977725,-27.76126810021664,-60.1518144057333,-28.6484877312796,-61.526226561512566
+131,-29.847878887379437,-60.1518144057333,-27.76126810021664,-54.59660037168935,-28.30877229869773,-56.295137900815064
+132,-27.76126810021664,-65.70702843977725,-25.674657313053842,-60.1518144057333,-26.790109449085314,-60.499726462611804
+133,-27.76126810021664,-59.45741265147781,-27.500441751821292,-58.763010897222316,-27.517950345465454,-58.879272087902486
+134,-27.500441751821292,-59.11021177435006,-27.370028577623614,-58.763010897222316,-27.452674005446042,-58.9575810105539
+135,-27.370028577623614,-59.45741265147781,-27.23961540342594,-59.11021177435006,-27.26471223327619,-59.15026959742878
+136,-27.370028577623614,-59.11021177435006,-27.23961540342594,-58.763010897222316,-27.329005756992416,-58.957382474873114
+137,-27.76126810021664,-58.763010897222316,-27.23961540342594,-57.374207388711326,-27.402386494295897,-58.32437160432374
+138,-27.23961540342594,-60.1518144057333,-26.71796270663524,-58.763010897222316,-27.05020900542348,-59.14889207031882
+139,-27.23961540342594,-58.763010897222316,-26.71796270663524,-57.374207388711326,-26.85932897541155,-58.099327412662426
+140,-27.76126810021664,-57.374207388711326,-27.23961540342594,-55.98540388020034,-27.512697008084604,-56.544978654040655
+141,-27.76126810021664,-55.98540388020034,-27.500441751821292,-55.29100212594484,-27.608661799832625,-55.6064441728768
+142,-27.76126810021664,-55.29100212594484,-27.500441751821292,-54.59660037168935,-27.629444241802897,-55.07431726185451
+143,-27.500441751821292,-55.98540388020034,-27.370028577623614,-55.63820300307259,-27.418073316601042,-55.893859404021704
+144,-27.500441751821292,-55.63820300307259,-27.370028577623614,-55.29100212594484,-27.417740764367913,-55.564475164943744
+145,-27.370028577623614,-55.98540388020034,-27.23961540342594,-55.63820300307259,-27.34972069199877,-55.90848727676002
+146,-27.370028577623614,-55.63820300307259,-27.23961540342594,-55.29100212594484,-27.308855892831872,-55.55099031907836
+147,-27.500441751821292,-55.29100212594484,-27.23961540342594,-54.59660037168935,-27.440766432515417,-55.004521833641526
+148,-27.23961540342594,-57.374207388711326,-26.71796270663524,-55.98540388020034,-26.9907246452632,-56.70541728399165
+149,-27.23961540342594,-55.98540388020034,-26.97878905503059,-55.29100212594484,-27.14354998620388,-55.47674150648407
+150,-27.23961540342594,-55.29100212594484,-26.97878905503059,-54.59660037168935,-27.05102534087602,-55.03082481691115
+151,-26.97878905503059,-55.98540388020034,-26.71796270663524,-55.29100212594484,-26.815094951884213,-55.41569215111457
+152,-26.97878905503059,-55.29100212594484,-26.71796270663524,-54.59660037168935,-26.882801548081417,-55.02136573492049
+153,-26.71796270663524,-60.1518144057333,-25.674657313053842,-57.374207388711326,-26.15319871870633,-58.20434641948833
+154,-26.71796270663524,-57.374207388711326,-26.19631000984454,-55.98540388020034,-26.656650329605508,-57.139817957591966
+155,-26.71796270663524,-55.98540388020034,-26.19631000984454,-54.59660037168935,-26.529556064719173,-54.753308098039426
+156,-26.19631000984454,-57.374207388711326,-25.674657313053842,-55.98540388020034,-25.843257017194198,-56.91780893822136
+157,-26.19631000984454,-55.98540388020034,-25.674657313053842,-54.59660037168935,-25.89662775688784,-55.14287320430089
+158,-29.847878887379437,-54.59660037168935,-28.80457349379804,-51.81899335466738,-29.59400156772862,-52.96656796502893
+159,-29.847878887379437,-51.81899335466738,-28.80457349379804,-49.041386337645406,-29.52257099182478,-51.096865598994206
+160,-28.80457349379804,-54.59660037168935,-27.76126810021664,-51.81899335466738,-28.289863669069458,-52.414844182736864
+161,-28.80457349379804,-51.81899335466738,-28.28292079700734,-50.430189846156395,-28.470306706228218,-51.05017294016703
+162,-28.80457349379804,-50.430189846156395,-28.28292079700734,-49.041386337645406,-28.358935219720458,-49.55115431309791
+163,-28.28292079700734,-51.81899335466738,-27.76126810021664,-50.430189846156395,-28.131680206913813,-51.20479567427056
+164,-28.28292079700734,-50.430189846156395,-27.76126810021664,-49.041386337645406,-27.896080784240795,-49.84245386002218
+165,-29.847878887379437,-49.041386337645406,-27.76126810021664,-43.48617230360146,-28.414116387797776,-48.86057992656768
+166,-27.76126810021664,-54.59660037168935,-27.23961540342594,-53.20779686317836,-27.284998897073805,-54.183490017061395
+167,-27.76126810021664,-53.20779686317836,-27.23961540342594,-51.81899335466738,-27.30990261929423,-51.997965697720346
+168,-27.23961540342594,-54.59660037168935,-26.71796270663524,-53.20779686317836,-26.973793451604482,-53.71688809024544
+169,-27.23961540342594,-53.20779686317836,-26.97878905503059,-52.513395108922865,-27.09743222693079,-52.63069193901928
+170,-27.23961540342594,-52.513395108922865,-26.97878905503059,-51.81899335466738,-27.14353747804181,-51.92161230622486
+171,-26.97878905503059,-53.20779686317836,-26.71796270663524,-52.513395108922865,-26.874732186292537,-53.00577420748364
+172,-26.97878905503059,-52.513395108922865,-26.71796270663524,-51.81899335466738,-26.87330351371215,-52.20667030017679
+173,-27.76126810021664,-51.81899335466738,-27.23961540342594,-50.430189846156395,-27.461178624488298,-51.13694860003141
+174,-27.76126810021664,-50.430189846156395,-27.23961540342594,-49.041386337645406,-27.46762667500358,-49.94343394645298
+175,-27.23961540342594,-51.81899335466738,-26.71796270663524,-50.430189846156395,-27.02641277741601,-51.36172639423709
+176,-27.23961540342594,-50.430189846156395,-26.97878905503059,-49.7357880919009,-26.98092272,-50.3945707
+177,-27.23961540342594,-49.7357880919009,-26.97878905503059,-49.041386337645406,-27.074908031799627,-49.56199559937105
+178,-26.97878905503059,-50.430189846156395,-26.71796270663524,-49.7357880919009,-26.907056504695046,-49.84154047281304
+179,-26.97878905503059,-49.7357880919009,-26.848375880832915,-49.38858721477315,-26.9557489497173,-49.707823905316786
+180,-26.97878905503059,-49.38858721477315,-26.848375880832915,-49.041386337645406,-26.898662192100605,-49.141230796506946
+181,-26.848375880832915,-49.38858721477315,-26.71796270663524,-49.041386337645406,-26.773400535207198,-49.18409330890174
+182,-26.71796270663524,-54.59660037168935,-26.19631000984454,-53.20779686317836,-26.447665831035447,-53.835746984069544
+183,-26.71796270663524,-53.20779686317836,-26.19631000984454,-51.81899335466738,-26.32242370990442,-52.60839206816424
+184,-26.19631000984454,-54.59660037168935,-25.674657313053842,-53.20779686317836,-25.964859431912146,-53.95440196540919
+185,-26.19631000984454,-53.20779686317836,-25.674657313053842,-51.81899335466738,-25.92682857320142,-52.38045469314556
+186,-26.71796270663524,-51.81899335466738,-26.19631000984454,-50.430189846156395,-26.393090801347956,-51.21902688454959
+187,-26.71796270663524,-50.430189846156395,-26.19631000984454,-49.041386337645406,-26.509637650602663,-49.1860100102552
+188,-26.19631000984454,-51.81899335466738,-25.674657313053842,-50.430189846156395,-26.15957559788555,-51.54739141302423
+189,-26.19631000984454,-50.430189846156395,-25.674657313053842,-49.041386337645406,-25.934688220205633,-49.52302860973663
+190,-27.76126810021664,-49.041386337645406,-27.500441751821292,-48.34698458338991,-27.588490679932622,-48.59616100481058
+191,-27.500441751821292,-49.041386337645406,-27.23961540342594,-48.34698458338991,-27.389874945417045,-48.58680175463329
+192,-27.23961540342594,-49.041386337645406,-26.97878905503059,-48.34698458338991,-27.101026150651986,-48.59429074113422
+193,-26.97878905503059,-49.041386337645406,-26.71796270663524,-48.34698458338991,-26.89649016359952,-48.73217774476017
+194,-26.71796270663524,-49.041386337645406,-26.457136358239893,-48.34698458338991,-26.5841154621767,-48.838070638130134
+195,-26.457136358239893,-49.041386337645406,-26.326723184042216,-48.69418546051766,-26.372726001855632,-48.818078614535054
+196,-26.457136358239893,-48.69418546051766,-26.326723184042216,-48.34698458338991,-26.34898055993198,-48.66303517227944
+197,-26.326723184042216,-49.041386337645406,-26.19631000984454,-48.69418546051766,-26.278589402999813,-48.864337522745735
+198,-26.326723184042216,-48.69418546051766,-26.19631000984454,-48.34698458338991,-26.235310410706887,-48.566715210708566
+199,-26.19631000984454,-49.041386337645406,-25.674657313053842,-47.65258282913442,-25.91567385960722,-48.75162470375018
+200,-25.674657313053842,-65.70702843977725,-23.588046525891045,-60.1518144057333,-24.231353471307013,-65.25251631926727
+201,-25.674657313053842,-58.06860914296682,-25.413830964658494,-57.374207388711326,-25.503983312194823,-57.48798625951116
+202,-25.413830964658494,-58.06860914296682,-25.283417790460817,-57.721408265839074,-25.288523508533668,-57.73038800939333
+203,-25.413830964658494,-57.721408265839074,-25.283417790460817,-57.374207388711326,-25.322850788098453,-57.5574619288834
+204,-25.283417790460817,-58.06860914296682,-25.153004616263143,-57.721408265839074,-25.282716407426598,-57.736119882778006
+205,-25.283417790460817,-57.721408265839074,-25.153004616263143,-57.374207388711326,-25.243765467741103,-57.52467257626203
+206,-25.153004616263143,-58.763010897222316,-24.631351919472444,-57.374207388711326,-25.0265284259203,-57.54452106377699
+207,-25.674657313053842,-57.374207388711326,-25.413830964658494,-56.67980563445583,-25.539856232672157,-57.20166055570508
+208,-25.674657313053842,-56.67980563445583,-25.413830964658494,-55.98540388020034,-25.5177048167105,-56.41140711969225
+209,-25.413830964658494,-57.374207388711326,-25.153004616263143,-56.67980563445583,-25.31830284584856,-57.23567732427957
+210,-25.413830964658494,-56.67980563445583,-25.153004616263143,-55.98540388020034,-25.1921709139742,-56.274662814129385
+211,-25.674657313053842,-55.98540388020034,-25.413830964658494,-55.29100212594484,-25.45752268851858,-55.91775875719908
+212,-25.674657313053842,-55.29100212594484,-25.54424413885617,-54.943801248817095,-25.637545355746127,-54.97114184524975
+213,-25.674657313053842,-54.943801248817095,-25.54424413885617,-54.59660037168935,-25.559825948778172,-54.631959764312555
+214,-25.54424413885617,-54.943801248817095,-25.413830964658494,-54.59660037168935,-25.496937488901416,-54.66305783403937
+215,-25.413830964658494,-55.29100212594484,-25.153004616263143,-54.59660037168935,-25.396149843422464,-54.64361559694615
+216,-25.153004616263143,-57.374207388711326,-24.631351919472444,-55.98540388020034,-24.892241025198587,-56.526399398129875
+217,-24.631351919472444,-60.1518144057333,-23.588046525891045,-57.374207388711326,-24.431484971358,-58.047059236328
+218,-24.631351919472444,-57.374207388711326,-23.588046525891045,-54.59660037168935,-24.493830550245757,-56.49331366612264
+219,-23.588046525891045,-65.70702843977725,-21.501435738728247,-60.1518144057333,-22.626026276479582,-64.77783420807344
+220,-23.588046525891045,-60.1518144057333,-21.501435738728247,-54.59660037168935,-22.42581898485809,-57.021576232548725
+221,-25.674657313053842,-54.59660037168935,-25.153004616263143,-53.20779686317836,-25.44750857939488,-54.1450982741048
+222,-25.674657313053842,-53.20779686317836,-25.153004616263143,-51.81899335466738,-25.439334246476253,-52.32391170343757
+223,-25.153004616263143,-54.59660037168935,-24.631351919472444,-53.20779686317836,-24.914266110851738,-53.61093352162146
+224,-25.153004616263143,-53.20779686317836,-24.631351919472444,-51.81899335466738,-25.009282331045927,-52.56608942876309
+225,-25.674657313053842,-51.81899335466738,-25.153004616263143,-50.430189846156395,-25.380096588370648,-51.31328015934705
+226,-25.674657313053842,-50.430189846156395,-25.413830964658494,-49.7357880919009,-25.45051421865105,-49.960945958026564
+227,-25.674657313053842,-49.38858721477315,-25.54424413885617,-49.041386337645406,-25.56784197135079,-49.25992107815793
+228,-25.54424413885617,-49.7357880919009,-25.413830964658494,-49.38858721477315,-25.454061060079614,-49.52056420787968
+229,-25.54424413885617,-49.38858721477315,-25.413830964658494,-49.041386337645406,-25.4753385662298,-49.26743389400671
+230,-25.413830964658494,-50.430189846156395,-25.153004616263143,-49.7357880919009,-25.261597869514045,-49.97986300825626
+231,-25.413830964658494,-49.38858721477315,-25.283417790460817,-49.041386337645406,-25.377736865087705,-49.23294445247667
+232,-25.283417790460817,-49.38858721477315,-25.153004616263143,-49.041386337645406,-25.271730846481667,-49.30331692661955
+233,-25.153004616263143,-51.81899335466738,-24.631351919472444,-50.430189846156395,-24.752846055239072,-50.48475155635955
+234,-25.153004616263143,-50.430189846156395,-24.631351919472444,-49.041386337645406,-24.87983548637335,-50.08662486055981
+235,-24.631351919472444,-54.59660037168935,-24.109699222681744,-53.20779686317836,-24.317768033286075,-53.85249667710871
+236,-24.631351919472444,-53.20779686317836,-24.109699222681744,-51.81899335466738,-24.405467531343618,-52.76571517898672
+237,-24.109699222681744,-54.59660037168935,-23.588046525891045,-53.20779686317836,-23.91933096053998,-53.90260083309346
+238,-24.109699222681744,-53.20779686317836,-23.588046525891045,-51.81899335466738,-23.834839997503458,-52.52277863069209
+239,-24.631351919472444,-51.12459160041189,-24.370525571077096,-50.430189846156395,-24.52580304878546,-50.538080818055924
+240,-24.370525571077096,-51.12459160041189,-24.109699222681744,-50.430189846156395,-24.31835318527296,-50.65405775896384
+241,-24.631351919472444,-50.430189846156395,-24.109699222681744,-49.041386337645406,-24.420628830011438,-50.16591743693845
+242,-24.109699222681744,-51.81899335466738,-23.588046525891045,-50.430189846156395,-23.76828643079525,-51.14399490623052
+243,-24.109699222681744,-50.430189846156395,-23.588046525891045,-49.041386337645406,-23.755708239112078,-49.44921928207737
+244,-25.674657313053842,-49.041386337645406,-25.54424413885617,-48.69418546051766,-25.575609312515827,-48.86781288784784
+245,-25.674657313053842,-48.69418546051766,-25.54424413885617,-48.34698458338991,-25.582615718729137,-48.57485688044399
+246,-25.54424413885617,-49.041386337645406,-25.413830964658494,-48.69418546051766,-25.47431064748594,-48.809821571527415
+247,-25.54424413885617,-48.69418546051766,-25.413830964658494,-48.34698458338991,-25.52135465423062,-48.527231605046694
+248,-25.413830964658494,-49.041386337645406,-25.153004616263143,-48.34698458338991,-25.28133846894199,-48.926531748648785
+249,-25.153004616263143,-49.041386337645406,-24.631351919472444,-47.65258282913442,-24.91772170189792,-48.345472896398206
+250,-25.153004616263143,-47.65258282913442,-24.631351919472444,-46.26377932062343,-24.72471480282583,-47.53671021574285
+251,-24.631351919472444,-49.041386337645406,-24.109699222681744,-47.65258282913442,-24.47842419393461,-47.81536166863904
+252,-24.631351919472444,-47.65258282913442,-24.370525571077096,-46.95818107487892,-24.39185420080456,-47.47247032952066
+253,-24.370525571077096,-47.65258282913442,-24.109699222681744,-46.95818107487892,-24.283300700601504,-47.22446126252948
+254,-24.370525571077096,-46.95818107487892,-24.240112396879418,-46.610980197751175,-24.266602850768265,-46.9308952070099
+255,-24.240112396879418,-46.95818107487892,-24.109699222681744,-46.610980197751175,-24.185217447229252,-46.81409593344124
+256,-24.109699222681744,-49.041386337645406,-23.588046525891045,-47.65258282913442,-23.909190247115284,-48.432759591708006
+257,-24.109699222681744,-47.65258282913442,-23.848872874286393,-46.95818107487892,-24.005872703970645,-47.284633298368625
+258,-24.109699222681744,-46.95818107487892,-23.97928604848407,-46.610980197751175,-24.08902835809368,-46.70775285735725
+259,-24.109699222681744,-46.610980197751175,-23.97928604848407,-46.26377932062343,-24.015794374369175,-46.41036469954789
+260,-23.97928604848407,-46.95818107487892,-23.848872874286393,-46.610980197751175,-23.862706722929996,-46.948540802814605
+261,-23.97928604848407,-46.610980197751175,-23.848872874286393,-46.26377932062343,-23.938647348417017,-46.35564306307129
+262,-23.848872874286393,-47.65258282913442,-23.588046525891045,-46.95818107487892,-23.68242693086424,-47.319693227484905
+263,-23.848872874286393,-46.95818107487892,-23.71845970008872,-46.610980197751175,-23.78067439185469,-46.83886867951803
+264,-23.848872874286393,-46.610980197751175,-23.71845970008872,-46.26377932062343,-23.76253568880861,-46.53356168866842
+265,-23.71845970008872,-46.95818107487892,-23.588046525891045,-46.610980197751175,-23.629120990974673,-46.69951434168822
+266,-23.71845970008872,-46.610980197751175,-23.588046525891045,-46.26377932062343,-23.65943571649903,-46.522390100364746
+267,-24.109699222681744,-46.26377932062343,-23.848872874286393,-45.56937756636793,-23.978506468510133,-46.22888463773689
+268,-23.848872874286393,-46.26377932062343,-23.588046525891045,-45.56937756636793,-23.713267955251336,-46.000019482034354
+269,-23.848872874286393,-45.56937756636793,-23.588046525891045,-44.87497581211244,-23.69809280320684,-45.434324673885754
+270,-23.588046525891045,-54.59660037168935,-22.544741132309646,-51.81899335466738,-23.273566221724355,-52.17056739342255
+271,-23.588046525891045,-51.81899335466738,-23.066393829100345,-50.430189846156395,-23.32398691719045,-51.16544892009355
+272,-23.588046525891045,-50.430189846156395,-23.066393829100345,-49.041386337645406,-23.217073263989427,-50.00225394918761
+273,-23.066393829100345,-51.81899335466738,-22.544741132309646,-50.430189846156395,-22.888351718917626,-50.71145871193111
+274,-23.066393829100345,-50.430189846156395,-22.544741132309646,-49.041386337645406,-22.896967398129906,-49.84211946268264
+275,-22.544741132309646,-54.59660037168935,-21.501435738728247,-51.81899335466738,-21.757322222222,-53.257030555556
+276,-22.544741132309646,-51.81899335466738,-22.023088435518947,-50.430189846156395,-22.38745331432507,-50.76137935804053
+277,-22.544741132309646,-50.430189846156395,-22.023088435518947,-49.041386337645406,-22.287860460447153,-49.54934631001981
+278,-22.023088435518947,-51.81899335466738,-21.501435738728247,-50.430189846156395,-21.768410153738092,-50.70404332419188
+279,-22.023088435518947,-50.430189846156395,-21.501435738728247,-49.041386337645406,-21.75073150367593,-49.75041023362624
+280,-23.588046525891045,-49.041386337645406,-23.066393829100345,-47.65258282913442,-23.18240359014736,-47.98154758405879
+281,-23.588046525891045,-47.65258282913442,-23.45763335169337,-47.30538195200667,-23.496428534153033,-47.47086176535723
+282,-23.588046525891045,-47.30538195200667,-23.45763335169337,-46.95818107487892,-23.498286762985575,-47.12505912752143
+283,-23.45763335169337,-47.65258282913442,-23.327220177495697,-47.30538195200667,-23.422974432725347,-47.451005590772894
+284,-23.45763335169337,-47.30538195200667,-23.327220177495697,-46.95818107487892,-23.415865778138247,-47.1894597157114
+285,-23.588046525891045,-46.95818107487892,-23.45763335169337,-46.610980197751175,-23.531930951098563,-46.69395150762795
+286,-23.588046525891045,-46.610980197751175,-23.45763335169337,-46.26377932062343,-23.51542544005604,-46.49871608051876
+287,-23.45763335169337,-46.95818107487892,-23.327220177495697,-46.610980197751175,-23.407701492587673,-46.76629395334037
+288,-23.45763335169337,-46.610980197751175,-23.327220177495697,-46.26377932062343,-23.420773684643272,-46.438940086642376
+289,-23.327220177495697,-47.65258282913442,-23.066393829100345,-46.95818107487892,-23.163877022243682,-47.16601964141764
+290,-23.327220177495697,-46.95818107487892,-23.19680700329802,-46.610980197751175,-23.238483369913713,-46.83482542176593
+291,-23.327220177495697,-46.610980197751175,-23.19680700329802,-46.26377932062343,-23.280465587298966,-46.54194782489295
+292,-23.19680700329802,-46.95818107487892,-23.066393829100345,-46.610980197751175,-23.13911816304288,-46.80872434824891
+293,-23.19680700329802,-46.610980197751175,-23.066393829100345,-46.26377932062343,-23.129970235892976,-46.52371208273337
+294,-23.066393829100345,-49.041386337645406,-22.544741132309646,-47.65258282913442,-22.887758077640893,-48.047525054564105
+295,-23.066393829100345,-47.30538195200667,-22.93598065490267,-46.95818107487892,-22.990038026884456,-47.06901878458769
+296,-22.93598065490267,-47.65258282913442,-22.805567480704994,-47.30538195200667,-22.82684729573246,-47.33459390301056
+297,-22.93598065490267,-47.30538195200667,-22.805567480704994,-46.95818107487892,-22.870930409706336,-47.15007012163661
+298,-23.066393829100345,-46.95818107487892,-22.93598065490267,-46.610980197751175,-23.005582036360938,-46.781206695965714
+299,-23.066393829100345,-46.610980197751175,-22.93598065490267,-46.26377932062343,-22.99154098867215,-46.528912242274025
+300,-22.93598065490267,-46.95818107487892,-22.805567480704994,-46.610980197751175,-22.856245189670158,-46.734656211225364
+301,-22.93598065490267,-46.610980197751175,-22.805567480704994,-46.26377932062343,-22.873371494210247,-46.41478449980796
+302,-22.805567480704994,-47.65258282913442,-22.67515430650732,-47.30538195200667,-22.736267036846776,-47.53363656885761
+303,-22.805567480704994,-47.30538195200667,-22.67515430650732,-46.95818107487892,-22.753905809224275,-47.15791391594825
+304,-22.67515430650732,-47.65258282913442,-22.544741132309646,-47.30538195200667,-22.615236292734576,-47.46776028712311
+305,-22.67515430650732,-47.30538195200667,-22.544741132309646,-46.95818107487892,-22.627400365628155,-47.10257216486992
+306,-22.805567480704994,-46.95818107487892,-22.544741132309646,-46.26377932062343,-22.703137492770963,-46.62017459468095
+307,-23.588046525891045,-46.26377932062343,-23.327220177495697,-45.56937756636793,-23.46999492617899,-46.08699920837426
+308,-23.588046525891045,-45.56937756636793,-23.327220177495697,-44.87497581211244,-23.483716464412925,-45.25240611480315
+309,-23.327220177495697,-46.26377932062343,-23.066393829100345,-45.56937756636793,-23.21470543242939,-45.891305382507966
+310,-23.327220177495697,-45.56937756636793,-23.066393829100345,-44.87497581211244,-23.10471207813462,-45.21411352929499
+311,-23.588046525891045,-44.87497581211244,-23.066393829100345,-43.48617230360146,-23.293508367493565,-44.696402745729095
+312,-23.066393829100345,-46.26377932062343,-22.544741132309646,-44.87497581211244,-22.832307408570742,-45.662890173923486
+313,-23.066393829100345,-44.87497581211244,-22.544741132309646,-43.48617230360146,-22.88678906983329,-43.700865751118236
+314,-22.544741132309646,-49.041386337645406,-22.023088435518947,-47.65258282913442,-22.207132970504976,-48.2159212767726
+315,-22.544741132309646,-47.65258282913442,-22.283914783914298,-46.95818107487892,-22.41571382750425,-47.27155118940998
+316,-22.544741132309646,-46.95818107487892,-22.283914783914298,-46.26377932062343,-22.378939648655095,-46.86384847603117
+317,-22.283914783914298,-47.65258282913442,-22.023088435518947,-46.95818107487892,-22.16829741227005,-47.29009997238515
+318,-22.283914783914298,-46.95818107487892,-22.023088435518947,-46.26377932062343,-22.165663558978572,-46.664600759752865
+319,-22.023088435518947,-49.041386337645406,-21.501435738728247,-47.65258282913442,-21.78004129639669,-48.169317874169195
+320,-22.023088435518947,-47.65258282913442,-21.501435738728247,-46.26377932062343,-21.772958811947767,-47.086903103358694
+321,-22.544741132309646,-46.26377932062343,-22.023088435518947,-44.87497581211244,-22.247028076197047,-45.45793636074527
+322,-22.544741132309646,-44.87497581211244,-22.023088435518947,-43.48617230360146,-22.418351580162614,-44.20964447929662
+323,-22.023088435518947,-46.26377932062343,-21.501435738728247,-44.87497581211244,-21.691528636271485,-45.313203934651455
+324,-22.023088435518947,-44.87497581211244,-21.501435738728247,-43.48617230360146,-21.7921744656772,-44.31207845267145
+325,-23.066393829100345,-43.48617230360146,-22.93598065490267,-43.13897142647372,-22.980601473188035,-43.308219450938175
+326,-23.066393829100345,-43.13897142647372,-22.93598065490267,-42.79177054934597,-22.960643302277614,-42.95933696668262
+327,-22.93598065490267,-43.48617230360146,-22.805567480704994,-43.13897142647372,-22.88487353854131,-43.26177124353358
+328,-22.93598065490267,-43.13897142647372,-22.805567480704994,-42.79177054934597,-22.90870331856567,-43.03892823281889
+329,-23.066393829100345,-42.79177054934597,-22.805567480704994,-42.097368795090475,-22.9104041942606,-42.52366275515151
+330,-22.805567480704994,-43.48617230360146,-22.544741132309646,-42.79177054934597,-22.661884609222934,-43.199564502647306
+331,-22.805567480704994,-42.79177054934597,-22.544741132309646,-42.097368795090475,-22.722412794405816,-42.57288777671842
+332,-23.066393829100345,-42.097368795090475,-22.544741132309646,-40.708565286579486,-22.814333793488007,-42.0044906550884
+333,-22.544741132309646,-43.48617230360146,-22.023088435518947,-42.097368795090475,-22.466519671941885,-43.09107442301051
+334,-22.544741132309646,-42.097368795090475,-22.023088435518947,-40.708565286579486,-22.351973025284018,-41.89818835531192
+335,-22.023088435518947,-43.48617230360146,-21.501435738728247,-42.097368795090475,-21.716821590877117,-42.54466249900226
+336,-22.023088435518947,-42.097368795090475,-21.501435738728247,-40.708565286579486,-21.602683250350292,-41.59667641296178
+337,-21.501435738728247,-176.81130912065618,11.884336855876501,-87.92788457595303,-13.869004963182954,-171.7131814181936
+338,-21.501435738728247,-71.26224247382119,-19.41482495156545,-65.70702843977725,-20.046973796625124,-67.18047003067419
+339,-19.41482495156545,-76.81745650786513,-17.328214164402652,-71.26224247382119,-17.66038435945086,-71.32693268779893
+340,-19.41482495156545,-68.48463545679923,-18.37151955798405,-65.70702843977725,-18.832892912850966,-67.15013323415162
+341,-18.37151955798405,-71.26224247382119,-17.328214164402652,-68.48463545679923,-17.458523730797914,-70.39572308560983
+342,-18.37151955798405,-68.48463545679923,-17.84986686119335,-67.09583194828824,-18.080747899990435,-67.25919082431852
+343,-18.37151955798405,-67.09583194828824,-17.84986686119335,-65.70702843977725,-17.969519506958182,-66.53299057060173
+344,-17.84986686119335,-68.48463545679923,-17.328214164402652,-67.09583194828824,-17.464855553975685,-67.37661232984522
+345,-17.84986686119335,-67.09583194828824,-17.589040512798,-66.40143019403274,-17.746412631372902,-66.62068210926591
+346,-17.84986686119335,-66.40143019403274,-17.719453686995678,-66.054229316905,-17.77446985761269,-66.28503856722173
+347,-17.84986686119335,-66.054229316905,-17.719453686995678,-65.70702843977725,-17.780603323969164,-65.8783600718182
+348,-17.719453686995678,-66.40143019403274,-17.589040512798,-66.054229316905,-17.65051144549256,-66.23786650702404
+349,-17.719453686995678,-66.054229316905,-17.589040512798,-65.70702843977725,-17.63573414745974,-65.96207894817915
+350,-17.589040512798,-67.09583194828824,-17.328214164402652,-66.40143019403274,-17.5320040655746,-66.53809452075359
+351,-17.589040512798,-66.40143019403274,-17.458627338600326,-66.054229316905,-17.5400758427067,-66.2396491390247
+352,-17.589040512798,-66.054229316905,-17.458627338600326,-65.70702843977725,-17.546081012566415,-65.91373371422314
+353,-17.458627338600326,-66.40143019403274,-17.328214164402652,-66.054229316905,-17.37878216607542,-66.1905256745597
+354,-17.458627338600326,-66.054229316905,-17.328214164402652,-65.70702843977725,-17.371156222986425,-65.90254167945324
+355,-17.328214164402652,-76.81745650786513,-15.241603377239857,-71.26224247382119,-16.415345149494136,-71.68085997921207
+356,-17.328214164402652,-71.26224247382119,-16.284908770821254,-68.48463545679923,-16.789868333368403,-68.64344664839487
+357,-17.328214164402652,-68.48463545679923,-16.806561467611953,-67.09583194828824,-17.044857860898816,-67.39148413676858
+358,-17.328214164402652,-67.09583194828824,-17.067387816007304,-66.40143019403274,-17.22789466415069,-66.46957581128729
+359,-17.328214164402652,-66.40143019403274,-17.19780099020498,-66.054229316905,-17.273750459601285,-66.25794291724561
+360,-17.328214164402652,-66.054229316905,-17.19780099020498,-65.70702843977725,-17.26394222091583,-65.8485162310418
+361,-17.19780099020498,-66.40143019403274,-17.067387816007304,-66.054229316905,-17.15106430953248,-66.27523772787696
+362,-17.19780099020498,-66.054229316905,-17.067387816007304,-65.70702843977725,-17.143855259046532,-65.94152431236145
+363,-17.067387816007304,-67.09583194828824,-16.806561467611953,-66.40143019403274,-16.89350427211303,-66.59615655823974
+364,-17.067387816007304,-66.40143019403274,-16.806561467611953,-65.70702843977725,-17.003663676153455,-66.268228184114
+365,-16.806561467611953,-68.48463545679923,-16.5457351192166,-67.79023370254373,-16.58307659460525,-68.10100307410045
+366,-16.806561467611953,-67.79023370254373,-16.5457351192166,-67.09583194828824,-16.8058035163637,-67.5494065097027
+367,-16.5457351192166,-68.48463545679923,-16.415321945018928,-68.13743457967148,-16.505314723602574,-68.18377632419215
+368,-16.5457351192166,-68.13743457967148,-16.415321945018928,-67.79023370254373,-16.51209473369452,-68.09896778846847
+369,-16.415321945018928,-68.48463545679923,-16.284908770821254,-68.13743457967148,-16.3631565113311,-68.4002467792059
+370,-16.415321945018928,-68.13743457967148,-16.284908770821254,-67.79023370254373,-16.349180091569824,-67.97090957117744
+371,-16.5457351192166,-67.79023370254373,-16.284908770821254,-67.09583194828824,-16.39399203181775,-67.68267148346317
+372,-16.806561467611953,-67.09583194828824,-16.284908770821254,-65.70702843977725,-16.643445645875108,-66.71629441531451
+373,-16.284908770821254,-71.26224247382119,-15.241603377239857,-68.48463545679923,-16.043614347960947,-68.85501614315523
+374,-16.284908770821254,-68.48463545679923,-15.241603377239857,-65.70702843977725,-16.070071556690344,-67.7310075195472
+375,-15.241603377239857,-76.81745650786513,-14.19829798365846,-74.03984949084315,-14.825572,-74.929283138889
+376,-15.241603377239857,-74.03984949084315,-14.19829798365846,-71.26224247382119,-14.276464985319269,-71.47546637401693
+377,-14.19829798365846,-76.81745650786513,-13.67664528686776,-75.42865299935414,-13.903444080857994,-75.9147154662111
+378,-14.19829798365846,-75.42865299935414,-13.67664528686776,-74.03984949084315,-13.683502552250498,-75.37906759042261
+379,-13.67664528686776,-76.81745650786513,-13.154992590077061,-75.42865299935414,-13.429459944288004,-76.16705852464906
+380,-13.67664528686776,-75.42865299935414,-13.154992590077061,-74.03984949084315,-13.278960282507903,-74.44766526250258
+381,-14.19829798365846,-74.03984949084315,-13.154992590077061,-71.26224247382119,-13.519492108514195,-72.53999167983565
+382,-15.241603377239857,-71.26224247382119,-13.154992590077061,-65.70702843977725,-14.575731912540956,-69.90821994206276
+383,-21.501435738728247,-65.70702843977725,-19.41482495156545,-60.1518144057333,-19.9492482245018,-63.9171918677588
+384,-21.501435738728247,-60.1518144057333,-19.41482495156545,-54.59660037168935,-21.120647940103,-56.386493197127
+385,-19.41482495156545,-65.70702843977725,-18.37151955798405,-62.92942142275527,-18.639287697985235,-64.68076565551927
+386,-18.37151955798405,-65.70702843977725,-17.84986686119335,-64.31822493126626,-18.099714989937958,-65.24198390669537
+387,-18.37151955798405,-64.31822493126626,-17.84986686119335,-62.92942142275527,-17.99668767754052,-63.41594495059048
+388,-17.84986686119335,-65.70702843977725,-17.328214164402652,-64.31822493126626,-17.613629218405222,-65.41735414768266
+389,-17.84986686119335,-64.31822493126626,-17.589040512798,-63.62382317701076,-17.664255833333,-63.700039166667
+390,-17.84986686119335,-63.62382317701076,-17.719453686995678,-63.276622299883016,-17.822765827004154,-63.28805766972092
+391,-17.84986686119335,-63.276622299883016,-17.719453686995678,-62.92942142275527,-17.782932985455023,-63.175188567364565
+392,-17.719453686995678,-63.62382317701076,-17.589040512798,-63.276622299883016,-17.712448079246002,-63.27899555832666
+393,-17.719453686995678,-63.276622299883016,-17.589040512798,-62.92942142275527,-17.681091582647763,-63.13978656354927
+394,-17.589040512798,-64.31822493126626,-17.328214164402652,-63.62382317701076,-17.447654453782285,-63.65543483340681
+395,-17.589040512798,-63.62382317701076,-17.328214164402652,-62.92942142275527,-17.483495883970416,-63.243922939304845
+396,-18.37151955798405,-62.92942142275527,-17.328214164402652,-60.1518144057333,-17.609378568454837,-62.140691369765285
+397,-19.41482495156545,-60.1518144057333,-17.328214164402652,-54.59660037168935,-18.343827880697162,-59.59866518938009
+398,-21.501435738728247,-54.59660037168935,-20.45813034514685,-51.81899335466738,-20.4594625401665,-54.5667419722295
+399,-21.501435738728247,-51.81899335466738,-20.979783041937548,-50.430189846156395,-21.188120891921844,-50.792312013903654
+400,-21.501435738728247,-50.430189846156395,-20.979783041937548,-49.041386337645406,-21.266343428908083,-49.638835302805575
+401,-20.979783041937548,-49.7357880919009,-20.849369867739874,-49.38858721477315,-20.858848441176384,-49.40961028575811
+402,-20.979783041937548,-49.38858721477315,-20.849369867739874,-49.041386337645406,-20.873721366972305,-49.34132157653102
+403,-20.849369867739874,-49.7357880919009,-20.718956693542196,-49.38858721477315,-20.80152481074452,-49.42554486932857
+404,-20.849369867739874,-49.38858721477315,-20.718956693542196,-49.041386337645406,-20.79873151609942,-49.33509747372725
+405,-20.718956693542196,-49.7357880919009,-20.45813034514685,-49.041386337645406,-20.479823781753336,-49.30188508405383
+406,-20.45813034514685,-51.81899335466738,-19.41482495156545,-49.041386337645406,-19.671620647793848,-49.566653195299565
+407,-21.501435738728247,-49.041386337645406,-21.2406093903329,-48.34698458338991,-21.41644608379771,-48.682522051871615
+408,-21.501435738728247,-48.34698458338991,-21.2406093903329,-47.65258282913442,-21.28776722010556,-47.87352007784803
+409,-21.2406093903329,-49.041386337645406,-20.979783041937548,-48.34698458338991,-21.133203451722014,-48.92348414177614
+410,-21.2406093903329,-48.34698458338991,-21.110196216135222,-47.999783706262164,-21.195362135784,-48.162173912311
+411,-21.2406093903329,-47.999783706262164,-21.110196216135222,-47.65258282913442,-21.177640730702315,-47.808070582426666
+412,-21.110196216135222,-47.999783706262164,-20.979783041937548,-47.65258282913442,-21.078392738801156,-47.80760903094717
+413,-21.501435738728247,-47.65258282913442,-20.979783041937548,-46.26377932062343,-21.438553070866252,-47.34635369209167
+414,-20.979783041937548,-49.041386337645406,-20.45813034514685,-47.65258282913442,-20.620866579360687,-48.53725355043386
+415,-20.979783041937548,-47.65258282913442,-20.718956693542196,-46.95818107487892,-20.84505745586128,-47.57531842777466
+416,-20.718956693542196,-47.65258282913442,-20.588543519344523,-47.30538195200667,-20.652665393924174,-47.47889109516677
+417,-20.588543519344523,-47.65258282913442,-20.45813034514685,-47.30538195200667,-20.536066858758772,-47.412201164475626
+418,-21.501435738728247,-46.26377932062343,-20.45813034514685,-43.48617230360146,-21.06699668071961,-44.567530692905194
+419,-20.45813034514685,-49.041386337645406,-19.41482495156545,-46.26377932062343,-19.916919019468143,-47.977666009841386
+420,-20.45813034514685,-46.26377932062343,-19.93647764835615,-44.87497581211244,-20.228009499426594,-45.48357114064191
+421,-20.45813034514685,-44.87497581211244,-19.93647764835615,-43.48617230360146,-20.11356268901973,-44.034489926248554
+422,-19.93647764835615,-46.26377932062343,-19.41482495156545,-44.87497581211244,-19.772261803714652,-45.92358033002708
+423,-19.93647764835615,-44.87497581211244,-19.675651299960798,-44.180574057856944,-19.916847387969,-44.497216889496144
+424,-19.93647764835615,-44.180574057856944,-19.806064474158475,-43.8333731807292,-19.883817162026588,-43.94327514340733
+425,-19.93647764835615,-43.8333731807292,-19.806064474158475,-43.48617230360146,-19.864168356449618,-43.768815126619074
+426,-19.806064474158475,-44.180574057856944,-19.675651299960798,-43.8333731807292,-19.762149872534355,-43.95130973805934
+427,-19.806064474158475,-43.8333731807292,-19.675651299960798,-43.48617230360146,-19.763078715539187,-43.62422912407923
+428,-19.675651299960798,-44.180574057856944,-19.41482495156545,-43.48617230360146,-19.640893196026997,-43.9550264381705
+429,-19.41482495156545,-51.81899335466738,-18.89317225477475,-50.430189846156395,-19.122675552873044,-50.52382706975295
+430,-19.41482495156545,-50.430189846156395,-19.153998603170102,-49.7357880919009,-19.224392939279454,-49.98934893744296
+431,-19.41482495156545,-49.7357880919009,-19.153998603170102,-49.041386337645406,-19.344430952625846,-49.609164895496264
+432,-19.153998603170102,-50.430189846156395,-18.89317225477475,-49.7357880919009,-19.036073861033245,-50.12977785751254
+433,-19.153998603170102,-49.7357880919009,-19.023585428972424,-49.38858721477315,-19.08134095801409,-49.5265688804596
+434,-19.153998603170102,-49.38858721477315,-19.023585428972424,-49.041386337645406,-19.07749126609433,-49.32481625071189
+435,-19.023585428972424,-49.7357880919009,-18.89317225477475,-49.38858721477315,-18.976381385835968,-49.46713633429484
+436,-19.023585428972424,-49.38858721477315,-18.89317225477475,-49.041386337645406,-18.984294833846786,-49.29222941443038
+437,-18.89317225477475,-51.81899335466738,-18.37151955798405,-50.430189846156395,-18.547837714289283,-50.51804636203178
+438,-18.89317225477475,-50.430189846156395,-18.6323459063794,-49.7357880919009,-18.78411609174592,-49.96092145281801
+439,-18.89317225477475,-49.7357880919009,-18.6323459063794,-49.041386337645406,-18.720675436690314,-49.33459552411872
+440,-18.6323459063794,-50.430189846156395,-18.37151955798405,-49.7357880919009,-18.50566193319857,-50.176106159248285
+441,-18.6323459063794,-49.7357880919009,-18.37151955798405,-49.041386337645406,-18.504016147764013,-49.249599036260946
+442,-18.37151955798405,-54.59660037168935,-17.328214164402652,-51.81899335466738,-17.568966654727234,-52.549387052703516
+443,-18.37151955798405,-51.81899335466738,-17.328214164402652,-49.041386337645406,-17.925749138218233,-49.67592235247055
+444,-19.41482495156545,-49.041386337645406,-18.89317225477475,-47.65258282913442,-18.986648047701095,-48.355042928967585
+445,-19.41482495156545,-47.65258282913442,-18.89317225477475,-46.26377932062343,-19.30705824603368,-47.31073177231578
+446,-18.89317225477475,-49.041386337645406,-18.37151955798405,-47.65258282913442,-18.790192215067957,-48.40473628972861
+447,-18.89317225477475,-47.65258282913442,-18.37151955798405,-46.26377932062343,-18.593622025885335,-46.50651269294966
+448,-19.41482495156545,-46.26377932062343,-18.37151955798405,-43.48617230360146,-19.003394667650912,-44.85100228250219
+449,-18.37151955798405,-49.041386337645406,-17.328214164402652,-46.26377932062343,-17.80806407239866,-48.64713877230768
+450,-18.37151955798405,-46.26377932062343,-17.328214164402652,-43.48617230360146,-18.29830628486724,-44.26880163167149
+451,-17.328214164402652,-65.70702843977725,-13.154992590077061,-54.59660037168935,-16.259756493546,-60.37691871224675
+452,-17.328214164402652,-50.430189846156395,-16.806561467611953,-49.041386337645406,-16.925166386486406,-49.25974521493187
+453,-16.806561467611953,-49.7357880919009,-16.67614829341428,-49.38858721477315,-16.717936703690487,-49.411428569629216
+454,-16.806561467611953,-49.38858721477315,-16.67614829341428,-49.041386337645406,-16.718728489918774,-49.29463869503148
+455,-16.67614829341428,-49.7357880919009,-16.5457351192166,-49.38858721477315,-16.625001038691174,-49.40677279455853
+456,-16.67614829341428,-49.38858721477315,-16.5457351192166,-49.041386337645406,-16.645120829354546,-49.285241054116185
+457,-16.5457351192166,-49.7357880919009,-16.284908770821254,-49.041386337645406,-16.422992944330016,-49.4136440243533
+458,-16.284908770821254,-54.59660037168935,-15.241603377239857,-51.81899335466738,-15.780166010846937,-54.3689235603929
+459,-16.284908770821254,-50.430189846156395,-15.763256074030554,-49.041386337645406,-15.947616141978529,-49.50662530860724
+460,-15.763256074030554,-51.81899335466738,-15.241603377239857,-50.430189846156395,-15.287678892702624,-50.466602679830565
+461,-15.763256074030554,-50.430189846156395,-15.241603377239857,-49.041386337645406,-15.510216571911297,-49.846849608479395
+462,-17.328214164402652,-49.041386337645406,-16.284908770821254,-46.26377932062343,-16.72180563391183,-48.40350604447384
+463,-17.328214164402652,-46.26377932062343,-16.284908770821254,-43.48617230360146,-16.752848364657996,-43.8156164154399
+464,-16.284908770821254,-49.041386337645406,-16.024082422425906,-48.34698458338991,-16.178104519030168,-48.803519293362136
+465,-16.284908770821254,-48.34698458338991,-16.024082422425906,-47.65258282913442,-16.16104689256766,-47.97443649431857
+466,-16.024082422425906,-49.041386337645406,-15.763256074030554,-48.34698458338991,-15.848486188874347,-48.81081738319216
+467,-16.024082422425906,-48.34698458338991,-15.89366924822823,-47.999783706262164,-15.971250793070912,-48.06598600798488
+468,-16.024082422425906,-47.999783706262164,-15.89366924822823,-47.65258282913442,-15.936167423585644,-47.94459812443584
+469,-15.89366924822823,-48.34698458338991,-15.763256074030554,-47.999783706262164,-15.833286673421926,-48.06822075297236
+470,-15.89366924822823,-47.999783706262164,-15.763256074030554,-47.65258282913442,-15.815444113830821,-47.90287514085915
+471,-16.284908770821254,-47.65258282913442,-15.763256074030554,-46.26377932062343,-16.159039741186998,-47.42687590736573
+472,-15.763256074030554,-49.041386337645406,-15.502429725635206,-48.34698458338991,-15.697171938546106,-48.589203258319635
+473,-15.763256074030554,-48.34698458338991,-15.502429725635206,-47.65258282913442,-15.700985124241484,-47.92807576838828
+474,-15.502429725635206,-49.041386337645406,-15.241603377239857,-48.34698458338991,-15.37556026139076,-48.64599760606123
+475,-15.502429725635206,-48.34698458338991,-15.241603377239857,-47.65258282913442,-15.381175450348298,-48.22486417702091
+476,-15.763256074030554,-47.65258282913442,-15.241603377239857,-46.26377932062343,-15.544095263427105,-47.523583554740256
+477,-16.284908770821254,-46.26377932062343,-15.241603377239857,-43.48617230360146,-16.241526537206074,-43.62351066898416
+478,-15.241603377239857,-51.81899335466738,-14.719950680449159,-50.430189846156395,-14.971473758806718,-50.5702232156227
+479,-15.241603377239857,-50.430189846156395,-14.719950680449159,-49.041386337645406,-14.937567819216664,-49.33189846435356
+480,-14.719950680449159,-51.81899335466738,-14.19829798365846,-50.430189846156395,-14.547655963897247,-50.493598912742925
+481,-14.719950680449159,-50.430189846156395,-14.19829798365846,-49.041386337645406,-14.490637798000387,-49.35189503503793
+482,-14.19829798365846,-51.81899335466738,-13.154992590077061,-49.041386337645406,-13.581594317921654,-49.80121145017554
+483,-15.241603377239857,-49.041386337645406,-14.19829798365846,-46.26377932062343,-15.036184759762074,-48.60220986557726
+484,-15.241603377239857,-46.26377932062343,-14.19829798365846,-43.48617230360146,-14.25919109274775,-44.094942660617505
+485,-14.19829798365846,-49.041386337645406,-13.154992590077061,-46.26377932062343,-13.758578868713242,-48.223417034910575
+486,-14.19829798365846,-46.26377932062343,-13.154992590077061,-43.48617230360146,-13.605084725125922,-44.21918369116116
+487,-12.372513544891012,-77.16465738499288,-12.242100370693336,-76.81745650786513,-12.28005196655201,-76.8767656176237
+488,-12.242100370693336,-77.16465738499288,-12.111687196495662,-76.81745650786513,-12.16988130120601,-76.97468786278213
+489,-12.111687196495662,-77.51185826212063,-11.981274022297988,-77.16465738499288,-12.07393531492959,-77.1653770404921
+490,-12.111687196495662,-77.16465738499288,-11.981274022297988,-76.81745650786513,-12.060520617759154,-77.03118196245129
+491,-11.981274022297988,-77.16465738499288,-11.850860848100313,-76.81745650786513,-11.933053728076152,-77.06028853861923
+492,-11.850860848100313,-77.51185826212063,-11.590034499704963,-76.81745650786513,-11.783622638913181,-77.15027988941341
+493,-11.590034499704963,-78.20626001637612,-11.068381802914264,-76.81745650786513,-11.362245489041186,-77.38360108278826
+494,-11.068381802914264,-82.37267054190909,-8.981771015751466,-76.81745650786513,-9.8909316489537,-78.16787848352584
+495,-13.154992590077061,-76.81745650786513,-12.111687196495662,-74.03984949084315,-12.80731478504146,-75.61107295547771
+496,-13.154992590077061,-74.03984949084315,-12.111687196495662,-71.26224247382119,-13.028167239324969,-72.2727852469949
+497,-12.111687196495662,-76.81745650786513,-11.068381802914264,-74.03984949084315,-11.980294325232416,-75.47766027032432
+498,-13.154992590077061,-71.26224247382119,-11.068381802914264,-65.70702843977725,-12.448135234467255,-69.59290245575465
+499,-11.068381802914264,-76.81745650786513,-8.981771015751466,-71.26224247382119,-10.660225886175276,-75.46872627242395
+500,-8.981771015751466,-79.59506352488711,-8.460118318960767,-78.20626001637612,-8.662314947616162,-78.66303077879446
+501,-8.460118318960767,-79.59506352488711,-8.199291970565417,-78.90066177063161,-8.240601556462838,-78.96391633789415
+502,-8.460118318960767,-78.90066177063161,-8.199291970565417,-78.20626001637612,-8.411661834678442,-78.77008445963972
+503,-8.199291970565417,-79.59506352488711,-7.938465622170067,-78.90066177063161,-8.109691475829047,-79.03446831874084
+504,-8.199291970565417,-78.90066177063161,-7.938465622170067,-78.20626001637612,-7.992206897199304,-78.38140657288378
+505,-8.460118318960767,-78.20626001637612,-7.938465622170067,-76.81745650786513,-7.956370259634079,-78.19499029719863
+506,-7.938465622170067,-82.37267054190909,-6.8951602285886695,-79.59506352488711,-6.96522697893509,-79.68946668561645
+507,-7.938465622170067,-79.59506352488711,-6.8951602285886695,-76.81745650786513,-7.388534544123114,-78.69948136821311
+508,-6.8951602285886695,-82.37267054190909,-4.808549441425873,-76.81745650786513,-6.2917365899620545,-79.20956694957609
+509,-8.981771015751466,-76.81745650786513,-4.808549441425873,-65.70702843977725,-8.079855653584447,-74.84758112486286
+510,-13.154992590077061,-65.70702843977725,-4.808549441425873,-43.48617230360146,-8.964826447022752,-60.69914158055889
+511,-21.501435738728247,-43.48617230360146,-20.979783041937548,-42.097368795090475,-21.105758258555657,-42.40529183726803
+512,-21.501435738728247,-42.097368795090475,-21.2406093903329,-41.40296704083498,-21.334857087119794,-41.877547092695856
+513,-21.501435738728247,-41.40296704083498,-21.2406093903329,-40.708565286579486,-21.391071724358273,-41.170892158541
+514,-21.2406093903329,-42.097368795090475,-20.979783041937548,-41.40296704083498,-21.09236771193013,-41.60899446285023
+515,-21.2406093903329,-41.40296704083498,-20.979783041937548,-40.708565286579486,-21.087220542690687,-40.9395788532384
+516,-20.979783041937548,-43.48617230360146,-20.45813034514685,-42.097368795090475,-20.742020182601383,-42.80942785769775
+517,-20.979783041937548,-42.097368795090475,-20.718956693542196,-41.40296704083498,-20.827073323081837,-41.44767327129368
+518,-20.979783041937548,-41.40296704083498,-20.849369867739874,-41.05576616370723,-20.913231918854713,-41.22607281011972
+519,-20.979783041937548,-41.05576616370723,-20.849369867739874,-40.708565286579486,-20.885938691608118,-40.866973501380144
+520,-20.849369867739874,-41.40296704083498,-20.718956693542196,-41.05576616370723,-20.817905898746567,-41.26628425827561
+521,-20.849369867739874,-41.05576616370723,-20.718956693542196,-40.708565286579486,-20.80014811503082,-40.77660847089459
+522,-20.718956693542196,-42.097368795090475,-20.45813034514685,-41.40296704083498,-20.577668907446863,-41.71736962573155
+523,-20.718956693542196,-41.40296704083498,-20.45813034514685,-40.708565286579486,-20.62655204586695,-40.82111068753019
+524,-20.979783041937548,-40.708565286579486,-20.718956693542196,-40.01416353232399,-20.78821169753537,-40.61826805824727
+525,-20.718956693542196,-40.708565286579486,-20.45813034514685,-40.01416353232399,-20.617615171419096,-40.52120317097344
+526,-20.45813034514685,-43.48617230360146,-19.93647764835615,-42.097368795090475,-20.170190369616517,-43.006568663038465
+527,-20.45813034514685,-42.097368795090475,-19.93647764835615,-40.708565286579486,-20.406244756256402,-41.11289805097341
+528,-19.93647764835615,-43.48617230360146,-19.675651299960798,-42.79177054934597,-19.807935762096527,-43.152589061298514
+529,-19.675651299960798,-43.48617230360146,-19.41482495156545,-42.79177054934597,-19.64083250800945,-42.89835771940848
+530,-19.675651299960798,-42.79177054934597,-19.41482495156545,-42.097368795090475,-19.51326078558191,-42.60627470931389
+531,-19.93647764835615,-42.097368795090475,-19.41482495156545,-40.708565286579486,-19.521285925739484,-40.83656850302658
+532,-20.45813034514685,-40.708565286579486,-19.41482495156545,-37.93095826955751,-20.19650908256082,-40.32506594537289
+533,-19.41482495156545,-43.48617230360146,-18.37151955798405,-40.708565286579486,-19.092259278983207,-42.18041564104783
+534,-19.41482495156545,-40.708565286579486,-18.37151955798405,-37.93095826955751,-18.76738066635267,-40.039825927433654
+535,-18.37151955798405,-43.48617230360146,-17.328214164402652,-40.708565286579486,-18.02652432029375,-42.9869753312905
+536,-18.37151955798405,-40.708565286579486,-17.328214164402652,-37.93095826955751,-17.662933026621538,-39.84277507230674
+537,-17.328214164402652,-43.48617230360146,-15.241603377239857,-37.93095826955751,-16.64412809070422,-40.779198926019525
+538,-15.241603377239857,-43.48617230360146,-14.19829798365846,-40.708565286579486,-14.262347734598393,-42.442047263473626
+539,-15.241603377239857,-40.708565286579486,-14.19829798365846,-37.93095826955751,-14.369971576858399,-39.7847776025731
+540,-14.19829798365846,-43.48617230360146,-13.67664528686776,-42.097368795090475,-13.999389184087157,-42.6844040903313
+541,-14.19829798365846,-42.097368795090475,-13.67664528686776,-40.708565286579486,-14.13816925222041,-41.210532754984506
+542,-13.67664528686776,-43.48617230360146,-13.154992590077061,-42.097368795090475,-13.446212207245965,-43.17301262194358
+543,-13.67664528686776,-42.097368795090475,-13.154992590077061,-40.708565286579486,-13.338144864626726,-41.66884480334722
+544,-14.19829798365846,-40.708565286579486,-13.154992590077061,-37.93095826955751,-13.686880742570905,-39.4784440950867
+545,-13.154992590077061,-43.48617230360146,-12.111687196495662,-40.708565286579486,-12.5549245856711,-41.79315727390189
+546,-13.154992590077061,-40.708565286579486,-12.633339893286362,-39.3197617780685,-12.913770481109296,-40.01647644434928
+547,-13.154992590077061,-39.3197617780685,-12.894166241681711,-38.625360023813,-12.97108728974773,-39.10123337518609
+548,-13.024579415879387,-38.625360023813,-12.894166241681711,-38.278159146685255,-12.97310183628128,-38.45583189272377
+549,-12.894166241681711,-39.3197617780685,-12.633339893286362,-38.625360023813,-12.691220141185616,-39.20772288234725
+550,-12.894166241681711,-38.625360023813,-12.633339893286362,-37.93095826955751,-12.728406008010333,-38.264369476070605
+551,-12.633339893286362,-40.708565286579486,-12.111687196495662,-39.3197617780685,-12.401153324418868,-39.91327936881672
+552,-12.633339893286362,-39.3197617780685,-12.111687196495662,-37.93095826955751,-12.407800938839074,-38.45483862897348
+553,-12.111687196495662,-43.48617230360146,-11.068381802914264,-40.708565286579486,-12.03651359883704,-42.70332921534529
+554,-12.111687196495662,-40.708565286579486,-11.068381802914264,-37.93095826955751,-11.888016845158097,-38.28649050561946
+555,-13.154992590077061,-37.93095826955751,-11.068381802914264,-32.375744235513565,-11.871652078876997,-37.64574459928266
+556,-11.068381802914264,-43.48617230360146,-8.981771015751466,-37.93095826955751,-9.393313527404523,-38.18104801254245
+557,-11.068381802914264,-37.93095826955751,-10.025076409332865,-35.153351252535536,-10.45599141448499,-36.846153382473844
+558,-10.025076409332865,-37.93095826955751,-9.503423712542165,-36.54215476104652,-9.651508222780711,-37.52252916657059
+559,-10.025076409332865,-36.54215476104652,-9.503423712542165,-35.153351252535536,-9.699654371779722,-35.95505236656107
+560,-9.503423712542165,-36.54215476104652,-8.981771015751466,-35.153351252535536,-9.218636630652355,-35.93018282136258
+561,-8.981771015751466,-43.48617230360146,-6.8951602285886695,-37.93095826955751,-8.461942885721799,-41.91242953279684
+562,-8.981771015751466,-36.54215476104652,-8.720944667356116,-35.847753006791024,-8.849359768625629,-36.33144310543362
+563,-8.981771015751466,-35.847753006791024,-8.720944667356116,-35.153351252535536,-8.819599909632757,-35.35702629849422
+564,-8.720944667356116,-36.54215476104652,-8.460118318960767,-35.847753006791024,-8.600923652142274,-36.31670103775615
+565,-8.720944667356116,-35.847753006791024,-8.460118318960767,-35.153351252535536,-8.646500090735515,-35.60789928059407
+566,-8.460118318960767,-36.54215476104652,-8.199291970565417,-35.847753006791024,-8.299194655819152,-35.99931265797162
+567,-8.460118318960767,-35.847753006791024,-8.199291970565417,-35.153351252535536,-8.235567684559783,-35.66287776472255
+568,-8.199291970565417,-36.54215476104652,-7.938465622170067,-35.847753006791024,-8.06404443873148,-36.03991951945502
+569,-8.199291970565417,-35.847753006791024,-7.938465622170067,-35.153351252535536,-8.138552288551521,-35.39423649188995
+570,-8.981771015751466,-35.153351252535536,-8.460118318960767,-33.764547744024554,-8.671363174486807,-35.10444981195426
+571,-8.460118318960767,-35.153351252535536,-8.199291970565417,-34.45894949828005,-8.300606190736188,-34.98961964138876
+572,-8.199291970565417,-35.153351252535536,-8.068878796367741,-34.806150375407796,-8.113466331959085,-34.942538000212515
+573,-8.068878796367741,-35.153351252535536,-7.938465622170067,-34.806150375407796,-8.037053843111263,-34.909094274909734
+574,-7.938465622170067,-37.93095826955751,-6.8951602285886695,-35.153351252535536,-7.271554992240009,-35.646373085453476
+575,-7.938465622170067,-35.153351252535536,-7.416812925379368,-33.764547744024554,-7.680968332938182,-34.92606417357917
+576,-7.416812925379368,-35.153351252535536,-7.286399751181693,-34.806150375407796,-7.353621910572048,-34.93162714138277
+577,-7.416812925379368,-34.806150375407796,-7.286399751181693,-34.45894949828005,-7.322303735219344,-34.80218356746629
+578,-7.286399751181693,-35.153351252535536,-7.155986576984018,-34.806150375407796,-7.187337308092717,-34.87270427486947
+579,-7.286399751181693,-34.806150375407796,-7.155986576984018,-34.45894949828005,-7.202200218589516,-34.8006225104474
+580,-7.155986576984018,-35.153351252535536,-7.025573402786344,-34.806150375407796,-7.117724963892337,-34.86919522086582
+581,-7.155986576984018,-34.806150375407796,-7.025573402786344,-34.45894949828005,-7.151902970345624,-34.79794406034174
+582,-7.025573402786344,-35.153351252535536,-6.8951602285886695,-34.806150375407796,-6.9790722726829095,-34.92195463551993
+583,-6.8951602285886695,-43.48617230360146,-4.808549441425873,-37.93095826955751,-5.283617395182743,-42.15685775726572
+584,-6.8951602285886695,-37.93095826955751,-6.373507531797971,-36.54215476104652,-6.624828534088049,-37.38387707342545
+585,-6.8951602285886695,-36.54215476104652,-6.373507531797971,-35.153351252535536,-6.695788613622928,-35.8092357616755
+586,-6.373507531797971,-37.93095826955751,-5.851854835007272,-36.54215476104652,-6.2171473543224325,-37.07616900199279
+587,-6.373507531797971,-36.54215476104652,-6.112681183402621,-35.847753006791024,-6.22257570545002,-36.35466212193692
+588,-6.373507531797971,-35.847753006791024,-6.112681183402621,-35.153351252535536,-6.254805326132275,-35.42265362254836
+589,-6.112681183402621,-36.54215476104652,-5.851854835007272,-35.847753006791024,-5.997042000109113,-36.18203247064688
+590,-6.112681183402621,-35.847753006791024,-5.851854835007272,-35.153351252535536,-5.923747483436234,-35.380451305718225
+591,-6.8951602285886695,-35.153351252535536,-5.851854835007272,-32.375744235513565,-6.496832391506584,-35.080761054917524
+592,-5.851854835007272,-37.93095826955751,-5.330202138216572,-36.54215476104652,-5.786556404682726,-37.352120104863
+593,-5.851854835007272,-36.54215476104652,-5.330202138216572,-35.153351252535536,-5.7595549112160045,-35.319011359979754
+594,-5.330202138216572,-37.93095826955751,-4.808549441425873,-36.54215476104652,-5.066677376392814,-37.237297867328344
+595,-5.330202138216572,-36.54215476104652,-4.808549441425873,-35.153351252535536,-5.1752363829576495,-35.50453341284241
+596,-4.808549441425873,-82.37267054190909,-3.7652440478444746,-79.59506352488711,-4.014057401011699,-79.75993304534407
+597,-4.808549441425873,-79.59506352488711,-3.7652440478444746,-76.81745650786513,-4.136942413033183,-78.95742161113377
+598,-3.7652440478444746,-82.37267054190909,-2.7219386542630764,-79.59506352488711,-3.2697130553201106,-79.87480536513381
+599,-3.7652440478444746,-79.59506352488711,-2.7219386542630764,-76.81745650786513,-2.9377292990740616,-79.01972656480531
+600,-2.7219386542630764,-80.9838670333981,-2.200285957472377,-79.59506352488711,-2.2707862051565044,-79.86873896179986
+601,-2.200285957472377,-80.9838670333981,-1.9394596090770273,-80.2894652791426,-2.1988486239723,-80.854606942222
+602,-2.200285957472377,-80.2894652791426,-2.069872783274702,-79.94226440201486,-2.155951582849919,-79.9637226704734
+603,-2.200285957472377,-79.94226440201486,-2.069872783274702,-79.59506352488711,-2.148590776947218,-79.89369089061395
+604,-2.069872783274702,-80.2894652791426,-1.9394596090770273,-79.94226440201486,-2.0690903277384,-79.942328748283
+605,-2.069872783274702,-79.94226440201486,-1.9394596090770273,-79.59506352488711,-2.0554665196513415,-79.90301903244122
+606,-1.9394596090770273,-80.9838670333981,-1.6786332606816778,-80.2894652791426,-1.75896664622313,-80.7037762409679
+607,-2.7219386542630764,-79.59506352488711,-1.6786332606816778,-76.81745650786513,-2.1116145070712062,-79.02337647071235
+608,-1.6786332606816778,-82.37267054190909,-0.6353278671002793,-79.59506352488711,-1.1669586695250744,-80.6960579768327
+609,-1.6786332606816778,-78.90066177063161,-1.4178069122863284,-78.20626001637612,-1.637103240489996,-78.62854114616142
+610,-1.4178069122863284,-78.90066177063161,-1.1569805638909787,-78.20626001637612,-1.2923339843099528,-78.57796190825347
+611,-1.6786332606816778,-78.20626001637612,-1.1569805638909787,-76.81745650786513,-1.457083492259378,-78.03990879741998
+612,-1.1569805638909787,-79.59506352488711,-0.6353278671002793,-78.20626001637612,-0.9059155834749838,-78.77316132916938
+613,-1.1569805638909787,-78.20626001637612,-0.6353278671002793,-76.81745650786513,-0.9936006102378953,-77.74009087579155
+614,-4.808549441425873,-76.81745650786513,-0.6353278671002793,-65.70702843977725,-4.035973372097556,-73.46440443760793
+615,-0.6353278671002793,-82.37267054190909,0.40797752648111907,-79.59506352488711,-0.2767681785314675,-80.1788627444885
+616,-0.6353278671002793,-78.90066177063161,-0.37450151870492976,-78.20626001637612,-0.4751551737242507,-78.54167129949383
+617,-0.37450151870492976,-79.59506352488711,-0.11367517030958013,-78.90066177063161,-0.2565292390151513,-79.15029033503376
+618,-0.37450151870492976,-78.90066177063161,-0.24408834450725495,-78.55346089350387,-0.3118336936785214,-78.55949802300545
+619,-0.37450151870492976,-78.55346089350387,-0.24408834450725495,-78.20626001637612,-0.2950240642022703,-78.49232033920093
+620,-0.24408834450725495,-78.55346089350387,-0.11367517030958013,-78.20626001637612,-0.18287621209647945,-78.47285137191255
+621,-0.6353278671002793,-78.20626001637612,-0.11367517030958013,-76.81745650786513,-0.4428811394269526,-78.00037847105035
+622,-0.11367517030958013,-79.59506352488711,0.40797752648111907,-78.20626001637612,-0.06755500420505334,-78.44953202875402
+623,-0.11367517030958013,-78.20626001637612,0.40797752648111907,-76.81745650786513,0.21240935586425191,-78.10707155090324
+624,0.40797752648111907,-79.59506352488711,1.4512829200625175,-76.81745650786513,0.8398000436725079,-77.7130713554624
+625,1.4512829200625175,-82.37267054190909,3.5378937072253143,-76.81745650786513,2.1609751787819587,-77.20861665034572
+626,-0.6353278671002793,-76.81745650786513,1.4512829200625175,-71.26224247382119,0.7412793071840743,-76.52910391498581
+627,1.4512829200625175,-76.81745650786513,1.9729356168532166,-75.42865299935414,1.8970426083799254,-76.24428114271043
+628,1.4512829200625175,-75.42865299935414,1.9729356168532166,-74.03984949084315,1.6117217565560693,-75.06329217624344
+629,1.9729356168532166,-76.81745650786513,2.494588313643916,-75.42865299935414,2.341855292639876,-76.59202604113142
+630,2.494588313643916,-76.81745650786513,3.016241010434615,-75.42865299935414,2.6944904303567823,-76.5233482019378
+631,2.494588313643916,-75.42865299935414,3.016241010434615,-74.03984949084315,2.963192805489023,-75.30804855384814
+632,3.016241010434615,-76.81745650786513,3.2770673588299646,-76.12305475360964,3.1736592124606453,-76.52170329811197
+633,3.2770673588299646,-76.81745650786513,3.4074805330276394,-76.47025563073738,3.3755222469250024,-76.52987347516776
+634,3.2770673588299646,-76.47025563073738,3.4074805330276394,-76.12305475360964,3.293916401990827,-76.22696495527438
+635,3.4074805330276394,-76.81745650786513,3.5378937072253143,-76.47025563073738,3.4497783949626837,-76.5226405338533
+636,3.4074805330276394,-76.47025563073738,3.5378937072253143,-76.12305475360964,3.5032436525863626,-76.38714805402256
+637,3.016241010434615,-75.42865299935414,3.5378937072253143,-74.03984949084315,3.2819390721243664,-75.15025813362695
+638,-4.808549441425873,-65.70702843977725,3.5378937072253143,-43.48617230360146,-3.0534323599580233,-49.07246793289265
+639,3.5378937072253143,-87.92788457595303,7.711115281550908,-76.81745650786513,4.4090030530059305,-77.35635838032977
+640,3.5378937072253143,-76.81745650786513,4.059546404016013,-75.42865299935414,3.767285465433266,-76.4175218126094
+641,3.5378937072253143,-75.42865299935414,4.059546404016013,-74.03984949084315,3.942667118061086,-74.81790771132448
+642,4.059546404016013,-76.81745650786513,4.581199100806712,-75.42865299935414,4.432171221617139,-75.78186051182267
+643,4.059546404016013,-75.42865299935414,4.581199100806712,-74.03984949084315,4.425266192352964,-74.63897148368967
+644,3.5378937072253143,-74.03984949084315,4.581199100806712,-71.26224247382119,4.263202654107164,-73.62306509123029
+645,4.581199100806712,-76.81745650786513,4.842025449202062,-76.12305475360964,4.7553888422632,-76.226777294662
+646,4.581199100806712,-76.12305475360964,4.842025449202062,-75.42865299935414,4.722250424566293,-75.73563422155863
+647,4.842025449202062,-76.12305475360964,5.1028517975974115,-75.42865299935414,4.983777727258154,-75.68013375752466
+648,4.581199100806712,-75.42865299935414,4.842025449202062,-74.73425124509865,4.758859421823146,-74.90177924893977
+649,4.581199100806712,-74.73425124509865,4.711612275004387,-74.3870503679709,4.684278693126246,-74.44128374548816
+650,4.581199100806712,-74.3870503679709,4.711612275004387,-74.03984949084315,4.646328131572209,-74.11036717042299
+651,4.711612275004387,-74.73425124509865,4.842025449202062,-74.3870503679709,4.765147189824058,-74.54093371004257
+652,4.711612275004387,-74.3870503679709,4.842025449202062,-74.03984949084315,4.751009144199621,-74.12825278727121
+653,4.842025449202062,-75.42865299935414,5.1028517975974115,-74.73425124509865,4.9817536256868244,-75.21419850827874
+654,4.842025449202062,-74.73425124509865,5.1028517975974115,-74.03984949084315,4.938591074139237,-74.19658056382617
+655,5.1028517975974115,-76.81745650786513,5.624504494388111,-75.42865299935414,5.280017232580432,-75.51011148131386
+656,5.1028517975974115,-75.42865299935414,5.624504494388111,-74.03984949084315,5.349164463875339,-74.67306589552769
+657,4.581199100806712,-74.03984949084315,4.842025449202062,-73.34544773658766,4.731306796246562,-73.84901431525067
+658,4.581199100806712,-73.34544773658766,4.842025449202062,-72.65104598233216,4.774375384550112,-73.13360930042187
+659,4.842025449202062,-74.03984949084315,4.972438623399737,-73.6926486137154,4.910752450810091,-73.91388536614359
+660,4.842025449202062,-73.6926486137154,4.972438623399737,-73.34544773658766,4.8993028447837,-73.55365747538501
+661,4.972438623399737,-74.03984949084315,5.1028517975974115,-73.6926486137154,5.035715585139748,-73.93140981613779
+662,4.972438623399737,-73.6926486137154,5.1028517975974115,-73.34544773658766,5.055713634518715,-73.43872585787182
+663,4.842025449202062,-73.34544773658766,5.1028517975974115,-72.65104598233216,4.959572771487077,-73.158698376709
+664,5.1028517975974115,-74.03984949084315,5.363678145992761,-73.34544773658766,5.22318946445663,-73.64598222004116
+665,5.1028517975974115,-73.34544773658766,5.363678145992761,-72.65104598233216,5.26468230587129,-73.06217306274011
+666,5.363678145992761,-74.03984949084315,5.624504494388111,-73.34544773658766,5.536069010829492,-73.56509808456651
+667,5.363678145992761,-73.34544773658766,5.624504494388111,-72.65104598233216,5.570078109335639,-73.12587897917611
+668,5.1028517975974115,-72.65104598233216,5.624504494388111,-71.26224247382119,5.617384357478425,-72.35922507967487
+669,5.624504494388111,-76.81745650786513,6.14615719117881,-75.42865299935414,6.0316885091326045,-75.60918832743718
+670,5.624504494388111,-75.42865299935414,6.14615719117881,-74.03984949084315,5.97308539315841,-74.89804337510472
+671,6.14615719117881,-75.77585387648189,6.276570365376485,-75.42865299935414,6.216527111883595,-75.58582702422648
+672,6.276570365376485,-75.77585387648189,6.40698353957416,-75.42865299935414,6.307960889429436,-75.561573994844
+673,6.40698353957416,-76.12305475360964,6.66780988796951,-75.42865299935414,6.588628096289338,-75.80694478108951
+674,6.14615719117881,-75.42865299935414,6.66780988796951,-74.03984949084315,6.238255022998533,-75.18002240221195
+675,5.624504494388111,-74.03984949084315,5.8853308427834605,-73.34544773658766,5.731350682716136,-73.53198883462419
+676,5.624504494388111,-73.34544773658766,5.8853308427834605,-72.65104598233216,5.756278287610714,-73.02497729672717
+677,5.8853308427834605,-74.03984949084315,6.14615719117881,-73.34544773658766,6.028814785724322,-73.52312724364809
+678,5.8853308427834605,-73.34544773658766,6.14615719117881,-72.65104598233216,5.996190646196337,-72.85112655134641
+679,5.624504494388111,-72.65104598233216,6.14615719117881,-71.26224247382119,5.677213965268259,-72.34439383198284
+680,6.14615719117881,-74.03984949084315,6.66780988796951,-72.65104598233216,6.480814495261452,-73.16331296886368
+681,6.14615719117881,-72.65104598233216,6.66780988796951,-71.26224247382119,6.358137032506973,-72.440384544465
+682,6.66780988796951,-76.81745650786513,7.711115281550908,-74.03984949084315,7.6066489021505,-74.811080808285
+683,6.66780988796951,-74.03984949084315,7.711115281550908,-71.26224247382119,7.023241595317242,-73.2493772497975
+684,7.711115281550908,-85.15027755893107,8.754420675132305,-82.37267054190909,8.46336598812894,-82.51144781542584
+685,8.754420675132305,-87.92788457595303,9.797726068713704,-85.15027755893107,9.64548871219533,-85.17141195433649
+686,8.754420675132305,-85.15027755893107,9.797726068713704,-82.37267054190909,9.386076020275468,-83.77668909364255
+687,7.711115281550908,-82.37267054190909,8.754420675132305,-79.59506352488711,8.398931161010788,-80.35832596811211
+688,7.711115281550908,-79.59506352488711,8.754420675132305,-76.81745650786513,8.555624257800233,-77.27754608953161
+689,8.754420675132305,-82.37267054190909,9.797726068713704,-79.59506352488711,9.103169803229601,-79.75922355779484
+690,8.754420675132305,-79.59506352488711,9.015247023527655,-78.90066177063161,8.980044154198024,-79.53423998964358
+691,9.015247023527655,-79.59506352488711,9.14566019772533,-79.24786264775936,9.069925488284285,-79.44896446428818
+692,9.14566019772533,-79.59506352488711,9.276073371923005,-79.24786264775936,9.16392200001373,-79.54961104265087
+693,9.14566019772533,-79.24786264775936,9.276073371923005,-78.90066177063161,9.220629910508734,-78.92356114622034
+694,9.015247023527655,-78.90066177063161,9.276073371923005,-78.20626001637612,9.19257559403741,-78.83651973056932
+695,9.797726068713704,-87.92788457595303,10.841031462295103,-85.15027755893107,10.388902992996565,-85.56001003945268
+696,9.797726068713704,-85.15027755893107,10.058552417109054,-84.45587580467557,9.959516354562982,-84.66128936230753
+697,9.797726068713704,-84.45587580467557,9.928139242911378,-84.10867492754782,9.885253584185435,-84.17764902400731
+698,9.797726068713704,-84.10867492754782,9.928139242911378,-83.76147405042008,9.898495739405352,-83.99590866383079
+699,9.928139242911378,-84.45587580467557,10.058552417109054,-84.10867492754782,9.992090223536163,-84.19268207529694
+700,9.928139242911378,-84.10867492754782,10.058552417109054,-83.76147405042008,9.971303314729365,-84.05114141931874
+701,10.058552417109054,-85.15027755893107,10.319378765504403,-84.45587580467557,10.178628313121465,-84.79932581155234
+702,10.058552417109054,-84.45587580467557,10.319378765504403,-83.76147405042008,10.122946998222622,-84.12136064748395
+703,9.797726068713704,-83.76147405042008,10.319378765504403,-82.37267054190909,10.069888720661234,-83.5315969298361
+704,10.319378765504403,-85.15027755893107,10.841031462295103,-83.76147405042008,10.438842517367418,-84.65764977519636
+705,10.841031462295103,-86.53908106744205,11.362684159085802,-85.15027755893107,11.197015185694951,-85.67276659134271
+706,11.362684159085802,-87.92788457595303,11.884336855876501,-86.53908106744205,11.866175424727,-86.56127189305525
+707,11.362684159085802,-86.53908106744205,11.623510507481152,-85.84467931318656,11.482082909090973,-86.04562797551931
+708,11.362684159085802,-85.84467931318656,11.623510507481152,-85.15027755893107,11.468448321295527,-85.7201084510675
+709,11.623510507481152,-86.53908106744205,11.884336855876501,-85.84467931318656,11.773319485690243,-86.24161700821352
+710,10.841031462295103,-85.15027755893107,11.884336855876501,-82.37267054190909,11.407321594535256,-84.64877153611837
+711,7.711115281550908,-76.81745650786513,9.797726068713704,-71.26224247382119,9.003320983937908,-75.79291080273074
+712,9.797726068713704,-76.81745650786513,10.319378765504403,-75.42865299935414,10.201239584890768,-75.63870680952938
+713,9.797726068713704,-75.42865299935414,10.319378765504403,-74.03984949084315,10.086613459706799,-75.27910378986091
+714,10.319378765504403,-75.77585387648189,10.449791939702077,-75.42865299935414,10.40055283683785,-75.50440503830919
+715,10.449791939702077,-75.77585387648189,10.580205113899753,-75.42865299935414,10.482996585483043,-75.49107879663622
+716,10.580205113899753,-76.12305475360964,10.841031462295103,-75.42865299935414,10.610356155415166,-75.4425683794315
+717,10.319378765504403,-75.42865299935414,10.841031462295103,-74.03984949084315,10.705362946130451,-75.23109005943145
+718,9.797726068713704,-74.03984949084315,10.841031462295103,-71.26224247382119,10.149895478460326,-73.10487342920311
+719,10.841031462295103,-75.42865299935414,10.971444636492777,-75.0814521222264,10.855553651323746,-75.11734256606469
+720,10.841031462295103,-75.0814521222264,10.971444636492777,-74.73425124509865,10.947777877592257,-74.81580110321703
+721,10.971444636492777,-75.0814521222264,11.101857810690452,-74.73425124509865,10.997188367290692,-74.80945436650246
+722,10.841031462295103,-74.73425124509865,11.101857810690452,-74.03984949084315,11.007552427946663,-74.26141305742598
+723,11.101857810690452,-74.73425124509865,11.362684159085802,-74.03984949084315,11.188431554414498,-74.20295204393905
+724,10.841031462295103,-74.03984949084315,11.884336855876501,-71.26224247382119,11.402473644773488,-73.0904631196494
+725,9.797726068713704,-71.26224247382119,11.884336855876501,-65.70702843977725,10.433233154208713,-67.29628129465715
+726,3.5378937072253143,-60.1518144057333,5.624504494388111,-54.59660037168935,4.89401242234345,-55.24831307497633
+727,5.624504494388111,-60.1518144057333,6.66780988796951,-57.374207388711326,6.6672442033811,-57.925687551306
+728,5.624504494388111,-57.374207388711326,6.66780988796951,-54.59660037168935,5.8400456996459225,-55.175009596359594
+729,6.66780988796951,-60.1518144057333,7.711115281550908,-57.374207388711326,6.7912020380300335,-58.09681362211781
+730,3.5378937072253143,-54.59660037168935,7.711115281550908,-43.48617230360146,4.954371799426356,-52.39642865363283
+731,7.711115281550908,-65.70702843977725,9.797726068713704,-60.1518144057333,9.016502507304068,-63.79809674033481
+732,9.797726068713704,-62.92942142275527,10.841031462295103,-60.1518144057333,10.539700781928625,-61.43322828724189
+733,10.841031462295103,-62.92942142275527,11.884336855876501,-60.1518144057333,11.192388020701884,-60.75184360194799
+734,-4.808549441425873,-43.48617230360146,3.5378937072253143,-21.26531616742567,-3.890671240088198,-38.47215433853181
+735,5.624504494388111,-12.93249511635975,6.66780988796951,-10.154888099337777,6.34393517748968,-10.678774243874454
+736,6.66780988796951,-12.93249511635975,7.711115281550908,-10.154888099337777,7.130272231258121,-11.567995231705556
+737,3.5378937072253143,-10.154888099337777,5.624504494388111,-4.59967406529383,4.795624292807901,-6.853872901572457
+738,4.581199100806712,-4.59967406529383,5.624504494388111,-1.8220670482718568,5.305830026889517,-3.6407598537143744
+739,4.581199100806712,-1.8220670482718568,5.1028517975974115,-0.4332635397608702,4.99517445077849,-1.5859286436344584
+740,5.1028517975974115,-1.8220670482718568,5.624504494388111,-0.4332635397608702,5.278539761703975,-0.8757109874085244
+741,5.494091320190436,-0.4332635397608702,5.624504494388111,-0.08606266263312351,5.581726022291176,-0.21345365195798144
+742,5.494091320190436,-0.08606266263312351,5.624504494388111,0.26113821449462316,5.613784288865011,-0.05738481960367066
+743,5.624504494388111,-10.154888099337777,7.711115281550908,-4.59967406529383,7.230581917715031,-8.052613774643131
+744,5.624504494388111,-4.59967406529383,6.66780988796951,-1.8220670482718568,6.215406074375005,-2.7104590450086454
+745,5.624504494388111,-1.8220670482718568,6.14615719117881,-0.4332635397608702,6.063479334990502,-0.4720348906285082
+746,5.624504494388111,-0.4332635397608702,5.754917668585786,-0.08606266263312351,5.6542538442668775,-0.1839344630766419
+747,5.624504494388111,-0.08606266263312351,5.754917668585786,0.26113821449462316,5.670887365401321,-0.020509339831097775
+748,5.754917668585786,-0.4332635397608702,5.8853308427834605,-0.08606266263312351,5.821343604512011,-0.2093383158479312
+749,5.754917668585786,-0.08606266263312351,5.8853308427834605,0.26113821449462316,5.7881709710796505,0.11238578843104992
+750,5.624504494388111,0.26113821449462316,5.8853308427834605,0.9555399687501165,5.835929478478534,0.6507644952831199
+751,5.8853308427834605,-0.4332635397608702,6.14615719117881,0.26113821449462316,6.045578677920921,-0.11196653620276877
+752,5.8853308427834605,0.26113821449462316,6.14615719117881,0.9555399687501165,6.014730870167838,0.5748721139031372
+753,6.14615719117881,-1.8220670482718568,6.66780988796951,-0.4332635397608702,6.506063402285322,-1.2049196013921817
+754,6.14615719117881,-0.4332635397608702,6.40698353957416,0.26113821449462316,6.272450286777844,0.09055166562391816
+755,6.14615719117881,0.26113821449462316,6.40698353957416,0.9555399687501165,6.344654683951003,0.7052427221745716
+756,6.40698353957416,-0.4332635397608702,6.66780988796951,0.26113821449462316,6.478725136846298,0.2071151149817251
+757,6.40698353957416,0.26113821449462316,6.66780988796951,0.9555399687501165,6.580243020598339,0.461891303200497
+758,6.66780988796951,-4.59967406529383,7.711115281550908,-1.8220670482718568,6.838601780683064,-2.621407059938466
+759,6.66780988796951,-1.8220670482718568,7.189462584760209,-0.4332635397608702,6.732434303769491,-1.616375358086779
+760,6.66780988796951,-0.4332635397608702,7.189462584760209,0.9555399687501165,6.87882863438498,0.43109607042076187
+761,7.189462584760209,-1.8220670482718568,7.711115281550908,-0.4332635397608702,7.1905304000007,-1.3984806999998
+762,7.189462584760209,-0.4332635397608702,7.711115281550908,0.9555399687501165,7.67996642751374,0.5639903090783221
+763,7.711115281550908,-14.321298624870737,8.232767978341606,-12.93249511635975,8.205823338995945,-13.119829744636036
+764,8.232767978341606,-13.279695993487497,8.36318115253928,-12.93249511635975,8.330851059684374,-13.046342607809647
+765,8.36318115253928,-13.626896870615244,8.493594326736956,-13.279695993487497,8.4923990558688,-13.285897128095499
+766,8.36318115253928,-13.279695993487497,8.493594326736956,-12.93249511635975,8.421499776485865,-13.13932274348209
+767,8.493594326736956,-13.626896870615244,8.754420675132305,-12.93249511635975,8.613736177704654,-13.1636439495571
+768,7.711115281550908,-12.93249511635975,7.971941629946257,-12.238093362104257,7.765937398070281,-12.299829555477482
+769,7.711115281550908,-12.238093362104257,7.971941629946257,-11.543691607848764,7.955212098030744,-11.734569708220679
+770,7.971941629946257,-12.93249511635975,8.232767978341606,-12.238093362104257,8.159017374981756,-12.450311514101458
+771,7.971941629946257,-12.238093362104257,8.232767978341606,-11.543691607848764,8.070660954119694,-11.8823561303687
+772,7.711115281550908,-11.543691607848764,8.232767978341606,-10.154888099337777,7.907142587592106,-11.115631152564662
+773,8.232767978341606,-12.93249511635975,8.754420675132305,-11.543691607848764,8.626636983362994,-12.236481276479989
+774,8.232767978341606,-11.543691607848764,8.754420675132305,-10.154888099337777,8.503085439882225,-10.692260810139718
+775,8.754420675132305,-15.710102133381724,9.797726068713704,-12.93249511635975,9.534737709708875,-13.477100456200183
+776,8.754420675132305,-12.93249511635975,9.015247023527655,-12.238093362104257,8.817804701596167,-12.809654957551935
+777,8.754420675132305,-12.238093362104257,9.015247023527655,-11.543691607848764,8.895405111725344,-11.974142540960017
+778,9.015247023527655,-12.93249511635975,9.276073371923005,-12.238093362104257,9.128167560671978,-12.75442978673945
+779,9.015247023527655,-12.238093362104257,9.276073371923005,-11.543691607848764,9.074889813658919,-12.03201858824309
+780,8.754420675132305,-11.543691607848764,9.276073371923005,-10.154888099337777,9.075761040424124,-11.475004959304039
+781,9.276073371923005,-12.93249511635975,9.797726068713704,-11.543691607848764,9.513863050821003,-12.162425614490227
+782,9.276073371923005,-11.543691607848764,9.797726068713704,-10.154888099337777,9.73413370660175,-10.6349028925105
+783,9.797726068713704,-15.710102133381724,11.884336855876501,-10.154888099337777,10.22546957632179,-13.00693731208218
+784,7.711115281550908,-10.154888099337777,9.797726068713704,-4.59967406529383,8.245210858695183,-8.954685752238282
+785,7.711115281550908,-4.59967406529383,9.797726068713704,0.9555399687501165,9.067582052690604,-0.42866340940402786
+786,9.797726068713704,-10.154888099337777,11.884336855876501,-4.59967406529383,11.355525646393122,-6.802575354515874
+787,9.797726068713704,-4.59967406529383,11.884336855876501,0.9555399687501165,10.684842415645976,-0.8496714351785102
+788,-34.54275315849573,17.621182070881957,-34.02110046170503,19.009985579392943,-34.137659315795084,18.704033364499658
+789,-34.54275315849573,19.009985579392943,-34.02110046170503,20.39878908790393,-34.17092090440518,19.413903243657607
+790,-34.54275315849573,20.39878908790393,-34.02110046170503,21.787592596414918,-34.19267852685224,20.96761284501568
+791,-34.54275315849573,21.787592596414918,-34.02110046170503,23.176396104925903,-34.08803129011668,22.559399337940388
+792,-34.02110046170503,18.315583825137452,-33.89068728750736,18.6627847022652,-33.952383992493886,18.477414916890744
+793,-34.02110046170503,18.6627847022652,-33.89068728750736,19.009985579392943,-33.93750257431751,18.77918186480284
+794,-33.89068728750736,18.315583825137452,-33.760274113309684,18.6627847022652,-33.83740002181847,18.59732391290287
+795,-33.89068728750736,18.6627847022652,-33.760274113309684,19.009985579392943,-33.82731863908837,18.794834029278913
+796,-33.760274113309684,18.315583825137452,-33.499447764914336,19.009985579392943,-33.66162921449526,18.667804403816632
+797,-34.02110046170503,19.009985579392943,-33.499447764914336,20.39878908790393,-33.81417701792662,19.784134817105805
+798,-33.499447764914336,17.621182070881957,-32.97779506812363,19.009985579392943,-33.29060876371429,18.53687609924005
+799,-33.499447764914336,19.009985579392943,-32.97779506812363,20.39878908790393,-33.32083460532846,19.118393939905353
+800,-34.02110046170503,20.39878908790393,-33.499447764914336,21.787592596414918,-33.843834664653514,20.83664745037219
+801,-34.02110046170503,21.787592596414918,-33.760274113309684,22.481994350670412,-33.94690175402418,22.444046898426823
+802,-34.02110046170503,22.481994350670412,-33.760274113309684,23.176396104925903,-33.93158807688426,22.747444753666045
+803,-33.760274113309684,21.787592596414918,-33.499447764914336,22.481994350670412,-33.59437885317557,22.233650859207007
+804,-33.760274113309684,22.481994350670412,-33.499447764914336,23.176396104925903,-33.67204170083477,23.074061792825542
+805,-33.499447764914336,20.39878908790393,-32.97779506812363,21.787592596414918,-33.476438738421336,21.523709834160503
+806,-33.499447764914336,21.787592596414918,-32.97779506812363,23.176396104925903,-33.443962492579,22.376266385538596
+807,-32.97779506812363,17.621182070881957,-31.934489674542235,20.39878908790393,-32.465136749118095,18.948871280491826
+808,-31.934489674542235,12.06596803683801,-29.847878887379437,17.621182070881957,-30.536275678082333,17.406649746541003
+809,-31.934489674542235,17.621182070881957,-29.847878887379437,23.176396104925903,-30.849096485586998,18.220321611924092
+810,-38.19432203603063,23.176396104925903,-34.02110046170503,34.2868241730138,-34.050594510141416,23.829022689622484
+811,-34.02110046170503,23.176396104925903,-33.499447764914336,24.56519961343689,-33.78869073720619,24.071007108934552
+812,-34.02110046170503,24.56519961343689,-33.760274113309684,25.259601367692383,-33.971653576279444,24.854476398857397
+813,-34.02110046170503,25.259601367692383,-33.89068728750736,25.60680224482013,-33.94165379390333,25.53897304792194
+814,-34.02110046170503,25.60680224482013,-33.89068728750736,25.954003121947878,-33.96625080035581,25.630429689000756
+815,-33.89068728750736,25.259601367692383,-33.760274113309684,25.60680224482013,-33.82490639418067,25.524332740204486
+816,-33.89068728750736,25.60680224482013,-33.760274113309684,25.954003121947878,-33.82627936399631,25.634034454192278
+817,-33.760274113309684,24.56519961343689,-33.499447764914336,25.259601367692383,-33.66981144782862,24.572916558543678
+818,-33.760274113309684,25.259601367692383,-33.499447764914336,25.954003121947878,-33.70306805915976,25.510169061864204
+819,-33.499447764914336,23.176396104925903,-32.97779506812363,24.56519961343689,-33.44692551513675,23.498791450521733
+820,-33.499447764914336,24.56519961343689,-32.97779506812363,25.954003121947878,-33.45694243032234,25.76122506957686
+821,-34.02110046170503,25.954003121947878,-33.499447764914336,27.342806630458863,-33.623485860682145,26.485605596215812
+822,-33.499447764914336,25.954003121947878,-32.97779506812363,27.342806630458863,-33.184650369920504,26.888790948978016
+823,-33.23862141651898,27.342806630458863,-33.10820824232131,27.690007507586607,-33.11685928557603,27.434750570596833
+824,-33.10820824232131,27.342806630458863,-32.97779506812363,27.690007507586607,-32.99688313052936,27.359565209484998
+825,-33.10820824232131,27.690007507586607,-32.97779506812363,28.037208384714354,-33.00684086908898,27.88540685509187
+826,-32.97779506812363,23.176396104925903,-31.934489674542235,25.954003121947878,-32.104404260970455,24.606495796611025
+827,-32.97779506812363,25.954003121947878,-32.45614237133293,27.342806630458863,-32.88774894481766,27.319571099941125
+828,-32.97779506812363,27.342806630458863,-32.847381893925956,27.690007507586607,-32.933500455202996,27.378194047963333
+829,-32.97779506812363,27.690007507586607,-32.847381893925956,28.037208384714354,-32.956506550569266,27.938008114273313
+830,-32.847381893925956,27.342806630458863,-32.716968719728285,27.690007507586607,-32.7885105099964,27.361657013660004
+831,-32.847381893925956,27.690007507586607,-32.716968719728285,28.037208384714354,-32.807782944259614,27.967015483790775
+832,-32.45614237133293,27.342806630458863,-31.934489674542235,28.73161013896985,-31.9480921229177,27.83184029348425
+833,-34.02110046170503,28.73161013896985,-31.934489674542235,34.2868241730138,-31.990415894366627,29.081164038515777
+834,-31.934489674542235,23.176396104925903,-30.891184280960836,25.954003121947878,-31.695168096223334,24.85040253916241
+835,-31.934489674542235,25.954003121947878,-30.891184280960836,28.73161013896985,-31.472921566758853,27.758438201520608
+836,-30.891184280960836,23.176396104925903,-29.847878887379437,25.954003121947878,-30.631063995270395,25.51135722745769
+837,-30.891184280960836,25.954003121947878,-30.369531584170137,27.342806630458863,-30.478255572634538,26.021562620739402
+838,-30.891184280960836,27.342806630458863,-30.369531584170137,28.73161013896985,-30.394627278261336,27.636408431863188
+839,-30.369531584170137,25.954003121947878,-29.847878887379437,27.342806630458863,-29.953169267309466,27.159736734776242
+840,-30.369531584170137,27.342806630458863,-29.847878887379437,28.73161013896985,-30.117430849599884,28.04366121034654
+841,-31.934489674542235,28.73161013896985,-29.847878887379437,34.2868241730138,-30.832863682226993,29.842192293275478
+842,-29.847878887379437,0.9555399687501165,-21.501435738728247,23.176396104925903,-27.540490867505035,19.010282985716845
+843,-29.847878887379437,23.176396104925903,-28.80457349379804,25.954003121947878,-29.105982742571,25.49771054533197
+844,-29.847878887379437,25.954003121947878,-29.326226190588738,27.342806630458863,-29.682394540133927,26.932751651645734
+845,-29.847878887379437,27.342806630458863,-29.58705253898409,28.037208384714354,-29.685428403817085,27.647828103939787
+846,-29.847878887379437,28.037208384714354,-29.58705253898409,28.73161013896985,-29.775409770679,28.069437171106536
+847,-29.58705253898409,27.342806630458863,-29.326226190588738,28.037208384714354,-29.41154178004385,27.56142946690776
+848,-29.58705253898409,28.037208384714354,-29.326226190588738,28.73161013896985,-29.500707569085264,28.236117799732178
+849,-29.326226190588738,25.954003121947878,-29.195813016391064,26.301203999075625,-29.19983151657,26.234907428518266
+850,-29.195813016391064,25.954003121947878,-29.065399842193386,26.301203999075625,-29.127308321517813,26.20371014073749
+851,-29.195813016391064,26.301203999075625,-29.065399842193386,26.648404876203372,-29.16652726113276,26.30919484711481
+852,-29.326226190588738,26.648404876203372,-29.065399842193386,27.342806630458863,-29.179194604617,27.213952718894
+853,-29.065399842193386,25.954003121947878,-28.80457349379804,26.648404876203372,-28.925102204699723,26.425686213704854
+854,-29.065399842193386,26.648404876203372,-28.80457349379804,27.342806630458863,-28.811468049022306,26.673822778400304
+855,-29.326226190588738,27.342806630458863,-29.195813016391064,27.690007507586607,-29.296983736653466,27.505419718015776
+856,-29.326226190588738,27.690007507586607,-29.195813016391064,28.037208384714354,-29.243699419140093,27.843398815389104
+857,-29.195813016391064,27.342806630458863,-29.065399842193386,27.690007507586607,-29.16525720169509,27.65070821978265
+858,-29.195813016391064,27.690007507586607,-29.065399842193386,28.037208384714354,-29.12936515811236,27.830451480248886
+859,-29.326226190588738,28.037208384714354,-29.065399842193386,28.73161013896985,-29.119156649674874,28.41825121269942
+860,-29.065399842193386,27.342806630458863,-28.80457349379804,28.037208384714354,-28.95729736739649,27.9334822098467
+861,-29.065399842193386,28.037208384714354,-28.80457349379804,28.73161013896985,-28.98297975973258,28.29058767475956
+862,-28.80457349379804,23.176396104925903,-27.76126810021664,25.954003121947878,-28.59833814484637,24.7344929825633
+863,-28.80457349379804,25.954003121947878,-27.76126810021664,28.73161013896985,-28.251917658611855,27.408494302135587
+864,-29.847878887379437,28.73161013896985,-29.326226190588738,30.120413647480838,-29.371942875013133,29.632466047185726
+865,-29.847878887379437,30.120413647480838,-29.326226190588738,31.509217155991823,-29.72281667241496,30.866369989481047
+866,-29.326226190588738,28.73161013896985,-28.80457349379804,30.120413647480838,-29.105985766929646,29.421771203858192
+867,-29.326226190588738,30.120413647480838,-28.80457349379804,31.509217155991823,-29.18097334094548,31.49353950056708
+868,-29.847878887379437,31.509217155991823,-28.80457349379804,34.2868241730138,-28.899542269139072,31.85896816048594
+869,-28.80457349379804,28.73161013896985,-27.76126810021664,31.509217155991823,-28.436378521745503,29.52786602255174
+870,-28.80457349379804,31.509217155991823,-28.674160319600364,31.856418033119567,-28.761094597989562,31.851919656662435
+871,-28.80457349379804,31.856418033119567,-28.674160319600364,32.203618910247314,-28.753066581503084,31.9849481624625
+872,-28.674160319600364,31.509217155991823,-28.54374714540269,31.856418033119567,-28.59658797514218,31.799580139166533
+873,-28.674160319600364,31.856418033119567,-28.54374714540269,32.203618910247314,-28.607113562660736,31.92463937134542
+874,-28.80457349379804,32.203618910247314,-28.54374714540269,32.89802066450281,-28.692549733184432,32.207821399340254
+875,-28.54374714540269,31.509217155991823,-28.28292079700734,32.203618910247314,-28.47703846056103,32.1515836588666
+876,-28.54374714540269,32.203618910247314,-28.28292079700734,32.89802066450281,-28.37934554720715,32.336949261130314
+877,-28.28292079700734,31.509217155991823,-27.76126810021664,32.89802066450281,-28.050396639305458,32.26548211179828
+878,-27.76126810021664,23.176396104925903,-26.71796270663524,25.954003121947878,-27.65398815515482,25.601772843551966
+879,-27.76126810021664,25.954003121947878,-27.23961540342594,27.342806630458863,-27.64928797375276,27.22914833236575
+880,-27.76126810021664,27.342806630458863,-27.23961540342594,28.73161013896985,-27.445475635939246,28.515833759769333
+881,-27.23961540342594,25.954003121947878,-26.71796270663524,27.342806630458863,-26.82201565005124,26.77058246932593
+882,-27.23961540342594,27.342806630458863,-26.71796270663524,28.73161013896985,-26.802071266577062,27.854727858786216
+883,-26.71796270663524,23.176396104925903,-25.674657313053842,25.954003121947878,-25.797658418684982,25.12844228256751
+884,-26.71796270663524,25.954003121947878,-26.19631000984454,27.342806630458863,-26.68270687603116,27.1012907562257
+885,-26.71796270663524,27.690007507586607,-26.587549532437567,28.037208384714354,-26.669945044232673,27.866124271483827
+886,-26.587549532437567,27.690007507586607,-26.457136358239893,28.037208384714354,-26.556813152177074,27.87772723878056
+887,-26.71796270663524,28.037208384714354,-26.457136358239893,28.73161013896985,-26.55945738086776,28.10464479896723
+888,-26.457136358239893,27.342806630458863,-26.326723184042216,27.690007507586607,-26.371979602823547,27.399267197093035
+889,-26.457136358239893,27.690007507586607,-26.326723184042216,28.037208384714354,-26.3954556982695,27.894207585704
+890,-26.326723184042216,27.342806630458863,-26.19631000984454,27.690007507586607,-26.206157254440093,27.662999345667068
+891,-26.326723184042216,27.690007507586607,-26.19631000984454,28.037208384714354,-26.24506759766999,27.895106616472315
+892,-26.457136358239893,28.037208384714354,-26.326723184042216,28.3844092618421,-26.367369718002628,28.16350501699111
+893,-26.457136358239893,28.3844092618421,-26.326723184042216,28.73161013896985,-26.35133990529265,28.425866002517857
+894,-26.326723184042216,28.037208384714354,-26.19631000984454,28.3844092618421,-26.252602665630583,28.172715224541122
+895,-26.326723184042216,28.3844092618421,-26.19631000984454,28.73161013896985,-26.2791268511402,28.448810022242967
+896,-26.19631000984454,25.954003121947878,-25.674657313053842,27.342806630458863,-25.75766128119705,27.129641669711198
+897,-26.19631000984454,27.342806630458863,-26.065896835646868,27.690007507586607,-26.152858220229916,27.680905269942958
+898,-26.19631000984454,27.690007507586607,-26.065896835646868,28.037208384714354,-26.131322866758023,27.884984193414255
+899,-26.065896835646868,27.342806630458863,-25.93548366144919,27.690007507586607,-25.986285937685402,27.616434974423697
+900,-26.065896835646868,27.690007507586607,-25.93548366144919,28.037208384714354,-26.024397550112717,27.93213217365597
+901,-26.19631000984454,28.037208384714354,-26.065896835646868,28.3844092618421,-26.134252961136028,28.181205989050017
+902,-26.19631000984454,28.3844092618421,-26.065896835646868,28.73161013896985,-26.14213374827763,28.50425145781923
+903,-26.065896835646868,28.037208384714354,-25.93548366144919,28.3844092618421,-26.013703497475788,28.156879705194044
+904,-25.93548366144919,27.342806630458863,-25.674657313053842,28.037208384714354,-25.830876534169537,27.860926239447085
+905,-25.93548366144919,28.037208384714354,-25.805070487251516,28.3844092618421,-25.866151838250204,28.193673117389615
+906,-25.93548366144919,28.3844092618421,-25.805070487251516,28.73161013896985,-25.806219606101997,28.691071606774997
+907,-25.805070487251516,28.037208384714354,-25.674657313053842,28.3844092618421,-25.73743497431149,28.24886887686809
+908,-25.805070487251516,28.3844092618421,-25.674657313053842,28.73161013896985,-25.72725050995931,28.431620818139447
+909,-27.76126810021664,28.73161013896985,-26.71796270663524,31.509217155991823,-27.482639932187777,29.876947411942346
+910,-26.71796270663524,28.73161013896985,-25.674657313053842,31.509217155991823,-25.96128881258041,29.53565782375809
+911,-26.71796270663524,31.509217155991823,-25.674657313053842,34.2868241730138,-25.90790851705799,32.563987130610364
+912,-25.674657313053842,23.176396104925903,-24.631351919472444,25.954003121947878,-25.04940398438125,25.784930221942425
+913,-25.674657313053842,25.954003121947878,-25.153004616263143,27.342806630458863,-25.585602511628153,26.963684057332692
+914,-25.674657313053842,27.342806630458863,-25.153004616263143,28.73161013896985,-25.614868321326032,28.121753600536362
+915,-25.153004616263143,25.954003121947878,-24.631351919472444,27.342806630458863,-24.95562646709247,26.00710315845171
+916,-25.153004616263143,27.342806630458863,-24.631351919472444,28.73161013896985,-24.809479219359208,28.35843640454675
+917,-24.631351919472444,23.176396104925903,-23.588046525891045,25.954003121947878,-24.197417269892867,25.094527771339948
+918,-24.631351919472444,25.954003121947878,-23.588046525891045,28.73161013896985,-24.4781887803681,27.725262753122625
+919,-25.674657313053842,28.73161013896985,-24.631351919472444,31.509217155991823,-25.209349184544017,30.87291750154225
+920,-25.674657313053842,31.509217155991823,-24.631351919472444,34.2868241730138,-25.291243222640354,32.432184309969315
+921,-24.631351919472444,28.73161013896985,-24.109699222681744,30.120413647480838,-24.186502693428626,28.993917100544635
+922,-24.631351919472444,30.120413647480838,-24.109699222681744,31.509217155991823,-24.530431646184184,31.016729406455035
+923,-24.109699222681744,28.73161013896985,-23.848872874286393,29.426011893225343,-23.88643920121188,29.382463930851703
+924,-24.109699222681744,29.426011893225343,-23.848872874286393,30.120413647480838,-23.902127523534023,29.546909097300116
+925,-23.848872874286393,28.73161013896985,-23.588046525891045,29.426011893225343,-23.83483229358798,29.37218132397803
+926,-23.848872874286393,29.426011893225343,-23.588046525891045,30.120413647480838,-23.766736749199367,29.585722001242917
+927,-24.109699222681744,30.120413647480838,-23.588046525891045,31.509217155991823,-23.770563100414464,30.212954865349467
+928,-24.631351919472444,31.509217155991823,-23.588046525891045,34.2868241730138,-24.227218432313673,31.75717919246296
+929,-23.588046525891045,23.176396104925903,-21.501435738728247,28.73161013896985,-22.906114835048385,27.669113701315915
+930,-23.588046525891045,28.73161013896985,-21.501435738728247,34.2868241730138,-23.105472840416162,30.67227700214976
+931,-25.674657313053842,34.2868241730138,-21.501435738728247,45.39725224110169,-24.320907618441964,35.865445863893264
+932,-38.19432203603063,45.39725224110169,-21.501435738728247,89.83896451345326,-24.15928673449828,47.29245764868386
+933,-54.887208333333,156.50153292198064,-46.54076518468182,178.7223890581564,-46.5871334790512,168.57800995592606
+934,-44.45415439751902,145.39110485389273,-43.41084900393762,148.1687118709147,-43.471093516658335,146.91991414330394
+935,-43.41084900393762,145.39110485389273,-42.88919630714692,146.77990836240372,-42.98403905480684,146.3426226785394
+936,-43.41084900393762,146.77990836240372,-43.15002265554227,147.4743101166592,-43.246707434848545,147.05375566638517
+937,-43.41084900393762,147.4743101166592,-43.15002265554227,148.1687118709147,-43.170445448805864,147.80301126566627
+938,-43.15002265554227,146.77990836240372,-43.019609481344595,147.12710923953148,-43.0813948662213,147.04023278490124
+939,-43.15002265554227,147.12710923953148,-43.019609481344595,147.4743101166592,-43.081383151031574,147.25736033787967
+940,-43.019609481344595,146.77990836240372,-42.88919630714692,147.12710923953148,-42.97967106475728,147.06261956310658
+941,-43.019609481344595,147.12710923953148,-42.88919630714692,147.4743101166592,-42.94547065995379,147.30638133967003
+942,-43.15002265554227,147.4743101166592,-42.88919630714692,148.1687118709147,-43.00396349497531,147.6998001903887
+943,-42.88919630714692,145.39110485389273,-42.36754361035622,146.77990836240372,-42.74350440744627,146.40781876825642
+944,-42.88919630714692,146.77990836240372,-42.75878313294925,147.12710923953148,-42.77856359761893,147.02110393833593
+945,-42.88919630714692,147.12710923953148,-42.75878313294925,147.4743101166592,-42.83047283613042,147.32278334312926
+946,-42.75878313294925,146.77990836240372,-42.62836995875157,147.12710923953148,-42.711477596961444,146.93970583130223
+947,-42.75878313294925,147.12710923953148,-42.62836995875157,147.4743101166592,-42.71442662208283,147.30775776908246
+948,-42.88919630714692,147.4743101166592,-42.75878313294925,147.82151099378694,-42.823663584806575,147.61596864056716
+949,-42.88919630714692,147.82151099378694,-42.75878313294925,148.1687118709147,-42.820134520167265,147.83711280599746
+950,-42.75878313294925,147.4743101166592,-42.62836995875157,147.82151099378694,-42.71083340508344,147.64217926970812
+951,-42.75878313294925,147.82151099378694,-42.62836995875157,148.1687118709147,-42.682934394045006,147.87949942118982
+952,-42.62836995875157,146.77990836240372,-42.49795678455389,147.12710923953148,-42.565503577515344,146.92823295311828
+953,-42.62836995875157,147.12710923953148,-42.49795678455389,147.4743101166592,-42.55657161281604,147.34123116045808
+954,-42.49795678455389,146.77990836240372,-42.36754361035622,147.12710923953148,-42.404522419540605,146.948811296557
+955,-42.49795678455389,147.12710923953148,-42.36754361035622,147.4743101166592,-42.43578312404508,147.35324534198747
+956,-42.62836995875157,147.4743101166592,-42.36754361035622,148.1687118709147,-42.53366708446185,147.77655519697294
+957,-42.36754361035622,139.83589081984877,-40.280932823193424,145.39110485389273,-41.85920943594108,145.27557054598623
+958,-39.237627429612026,139.83589081984877,-38.19432203603063,142.61349783687075,-38.328782676428496,141.95178197225854
+959,-39.237627429612026,142.61349783687075,-38.71597473282132,144.00230134538174,-38.77868796773739,143.5340243371977
+960,-38.71597473282132,142.61349783687075,-38.19432203603063,144.00230134538174,-38.505961076601146,143.5676932823405
+961,-38.71597473282132,144.00230134538174,-38.455148384425975,144.69670309963723,-38.475434485272,144.05255788676547
+962,-38.71597473282132,144.69670309963723,-38.455148384425975,145.39110485389273,-38.48499741378761,145.13293790483286
+963,-38.455148384425975,144.00230134538174,-38.19432203603063,144.69670309963723,-38.238041540678196,144.41561601402557
+964,-38.455148384425975,144.69670309963723,-38.3247352102283,145.04390397676497,-38.36852487426231,144.88473464472352
+965,-38.455148384425975,145.04390397676497,-38.3247352102283,145.39110485389273,-38.37069996365059,145.1471520597276
+966,-38.3247352102283,144.69670309963723,-38.19432203603063,145.04390397676497,-38.2789437746167,145.00737441605645
+967,-38.3247352102283,145.04390397676497,-38.19432203603063,145.39110485389273,-38.25476749663424,145.1399657495631
+968,-42.36754361035622,145.39110485389273,-41.845890913565526,146.77990836240372,-42.102643225485586,146.45043102369553
+969,-42.36754361035622,146.77990836240372,-42.106717261960874,147.4743101166592,-42.249336835821374,147.22902932483032
+970,-42.36754361035622,147.4743101166592,-42.106717261960874,148.1687118709147,-42.24819744600597,148.01315874763102
+971,-42.106717261960874,146.77990836240372,-41.845890913565526,147.4743101166592,-41.928372452312146,147.3801884917179
+972,-42.106717261960874,147.4743101166592,-41.845890913565526,148.1687118709147,-41.99717778004909,147.8775210553726
+973,-41.845890913565526,145.39110485389273,-41.32423821677482,146.77990836240372,-41.642226284528995,146.68414552966593
+974,-41.845890913565526,146.77990836240372,-41.58506456517017,147.4743101166592,-41.73185221154775,147.2189984502107
+975,-41.845890913565526,147.4743101166592,-41.58506456517017,148.1687118709147,-41.755385274804524,147.82898637804894
+976,-41.58506456517017,146.77990836240372,-41.4546513909725,147.12710923953148,-41.51561443938095,147.02767824486165
+977,-41.58506456517017,147.12710923953148,-41.4546513909725,147.4743101166592,-41.48965621805318,147.24929934884895
+978,-41.4546513909725,146.77990836240372,-41.32423821677482,147.12710923953148,-41.38484192985168,147.1058088553993
+979,-41.4546513909725,147.12710923953148,-41.32423821677482,147.4743101166592,-41.38747205244587,147.24264805172012
+980,-41.58506456517017,147.4743101166592,-41.32423821677482,148.1687118709147,-41.457339776203874,147.57422330689704
+981,-42.36754361035622,148.1687118709147,-41.32423821677482,150.94631888793668,-41.75542531420534,148.2571137021932
+982,-41.32423821677482,145.39110485389273,-40.80258551998412,146.77990836240372,-41.05754117122046,145.90789385969285
+983,-41.32423821677482,146.77990836240372,-41.193825042577146,147.12710923953148,-41.27043652839122,147.05995678938106
+984,-41.32423821677482,147.12710923953148,-41.193825042577146,147.4743101166592,-41.265991963929075,147.24010059268184
+985,-41.193825042577146,146.77990836240372,-41.063411868379475,147.12710923953148,-41.095378787569004,146.81928788150182
+986,-41.193825042577146,147.12710923953148,-41.063411868379475,147.4743101166592,-41.16175314137835,147.2186572854998
+987,-41.32423821677482,147.4743101166592,-41.063411868379475,148.1687118709147,-41.202767467565984,147.76773658043587
+988,-41.063411868379475,146.77990836240372,-40.80258551998412,147.4743101166592,-41.013354939489005,147.11798457155888
+989,-41.063411868379475,147.4743101166592,-40.80258551998412,148.1687118709147,-40.895962697877614,147.7178507952694
+990,-40.80258551998412,146.77990836240372,-40.280932823193424,148.1687118709147,-40.765888893476,148.03177777478
+991,-41.32423821677482,148.1687118709147,-40.280932823193424,150.94631888793668,-41.27330957702041,148.25124948978916
+992,-39.237627429612026,145.39110485389273,-38.71597473282132,146.77990836240372,-38.815303675869664,146.1713900715185
+993,-38.71597473282132,145.39110485389273,-38.455148384425975,146.08550660814822,-38.57336064175328,145.7773861206548
+994,-38.71597473282132,146.08550660814822,-38.455148384425975,146.77990836240372,-38.595665786050745,146.52504483020144
+995,-38.455148384425975,145.39110485389273,-38.19432203603063,146.08550660814822,-38.32876389594153,145.70782661829534
+996,-38.455148384425975,146.08550660814822,-38.19432203603063,146.77990836240372,-38.30338230348291,146.4983154674127
+997,-38.71597473282132,146.77990836240372,-38.19432203603063,148.1687118709147,-38.377379146457756,146.99534796759463
+998,-46.54076518468182,156.50153292198064,-42.36754361035622,167.61196099006852,-45.93182137121212,167.5446339949495
+999,-46.54076518468182,167.61196099006852,-46.27993883628647,168.30636274432402,-46.40447292309428,168.24152958241007
+1000,-46.54076518468182,168.30636274432402,-46.27993883628647,169.00076449857949,-46.41124018901843,168.4497739040411
+1001,-46.27993883628647,167.61196099006852,-46.01911248789112,168.30636274432402,-46.15904003678924,168.10457589644298
+1002,-46.27993883628647,168.30636274432402,-46.01911248789112,169.00076449857949,-46.19457832720687,168.59790420430878
+1003,-46.54076518468182,169.00076449857949,-46.01911248789112,170.38956800709047,-46.324984739934294,169.50639817608052
+1004,-46.01911248789112,167.61196099006852,-45.49745979110042,169.00076449857949,-45.804699187854695,168.33440333453734
+1005,-46.01911248789112,169.00076449857949,-45.49745979110042,170.38956800709047,-45.62119812812285,169.3920785216052
+1006,-46.54076518468182,170.38956800709047,-45.49745979110042,173.16717502411245,-45.84416394730735,170.57843337660205
+1007,-45.49745979110042,167.61196099006852,-44.975807094309715,169.00076449857949,-45.078023347738174,168.60513016591452
+1008,-45.49745979110042,169.00076449857949,-44.975807094309715,170.38956800709047,-45.15102417858497,169.39315785017095
+1009,-44.975807094309715,167.61196099006852,-44.45415439751902,169.00076449857949,-44.87349022492022,168.6727227189444
+1010,-44.975807094309715,169.00076449857949,-44.45415439751902,170.38956800709047,-44.7207282402601,169.3600486735782
+1011,-45.49745979110042,170.38956800709047,-44.45415439751902,173.16717502411245,-44.92082705882133,170.87650724290555
+1012,-44.45415439751902,167.61196099006852,-43.41084900393762,170.38956800709047,-44.1144317985674,169.9539155807201
+1013,-44.45415439751902,170.38956800709047,-44.19332804912367,171.08396976134597,-44.29439723775895,170.93443617673964
+1014,-44.45415439751902,171.08396976134597,-44.19332804912367,171.77837151560146,-44.291813440871984,171.1987384120381
+1015,-44.19332804912367,170.38956800709047,-43.932501700728324,171.08396976134597,-44.06480774421896,170.719687147642
+1016,-44.19332804912367,171.08396976134597,-43.932501700728324,171.77837151560146,-44.07763161443987,171.3544517219639
+1017,-44.45415439751902,171.77837151560146,-43.932501700728324,173.16717502411245,-43.99957054040258,171.8355971916299
+1018,-43.932501700728324,170.38956800709047,-43.41084900393762,171.77837151560146,-43.77171159796959,171.33751755654444
+1019,-43.932501700728324,171.77837151560146,-43.67167535233297,172.47277326985696,-43.79207792860626,171.93288254902853
+1020,-43.932501700728324,172.47277326985696,-43.67167535233297,173.16717502411245,-43.781763492927425,172.87162116293325
+1021,-43.67167535233297,171.77837151560146,-43.41084900393762,172.47277326985696,-43.577668673736675,172.32100864662115
+1022,-43.67167535233297,172.47277326985696,-43.41084900393762,173.16717502411245,-43.53052711054781,172.62455468081393
+1023,-43.41084900393762,167.61196099006852,-42.36754361035622,170.38956800709047,-43.342779937521605,170.2194661993298
+1024,-43.41084900393762,170.38956800709047,-42.88919630714692,171.77837151560146,-43.06723820719529,171.03019825797213
+1025,-43.41084900393762,171.77837151560146,-42.88919630714692,173.16717502411245,-43.28059844922386,172.5276424449873
+1026,-42.88919630714692,170.38956800709047,-42.36754361035622,171.77837151560146,-42.7197624827573,171.34375540308343
+1027,-42.88919630714692,171.77837151560146,-42.36754361035622,173.16717502411245,-42.56668819254046,172.6120518977792
+1028,-44.45415439751902,173.16717502411245,-42.36754361035622,178.7223890581564,-42.65415957924315,173.36182661213542
+1029,-42.36754361035622,170.38956800709047,-41.845890913565526,171.77837151560146,-42.052623707338945,171.56833562407277
+1030,-42.36754361035622,171.77837151560146,-41.845890913565526,173.16717502411245,-42.04342377327293,172.07265162861754
+1031,-41.845890913565526,170.38956800709047,-41.32423821677482,171.77837151560146,-41.75256240272015,171.64308862732776
+1032,-41.845890913565526,171.77837151560146,-41.58506456517017,172.47277326985696,-41.743524000871695,172.15468561250518
+1033,-41.845890913565526,172.47277326985696,-41.58506456517017,173.16717502411245,-41.721638138054175,172.83062232506217
+1034,-41.58506456517017,171.77837151560146,-41.32423821677482,172.47277326985696,-41.536973083091496,171.95897523514205
+1035,-41.58506456517017,172.47277326985696,-41.32423821677482,173.16717502411245,-41.45079539009311,172.9416346387561
+1036,-41.32423821677482,170.38956800709047,-40.280932823193424,173.16717502411245,-40.94451199845768,172.72924269728037
+1037,-42.36754361035622,173.16717502411245,-41.845890913565526,174.55597853262344,-42.05865696903998,173.88221393886363
+1038,-41.845890913565526,173.16717502411245,-41.58506456517017,173.86157677836795,-41.68488959663733,173.44244392337077
+1039,-41.845890913565526,173.86157677836795,-41.58506456517017,174.55597853262344,-41.70745493417245,174.07224195619645
+1040,-41.58506456517017,173.16717502411245,-41.32423821677482,173.86157677836795,-41.453872855105224,173.54494321405485
+1041,-41.58506456517017,173.86157677836795,-41.32423821677482,174.55597853262344,-41.45394734566561,173.9677926510795
+1042,-41.845890913565526,174.55597853262344,-41.32423821677482,175.94478204113443,-41.40102827195918,175.25209238854586
+1043,-41.32423821677482,173.16717502411245,-41.063411868379475,173.86157677836795,-41.24973540668813,173.55132796374156
+1044,-41.32423821677482,173.86157677836795,-41.063411868379475,174.55597853262344,-41.21460641833104,174.05036201007846
+1045,-41.063411868379475,173.16717502411245,-40.80258551998412,173.86157677836795,-40.973796247149124,173.8279062067537
+1046,-41.063411868379475,173.86157677836795,-40.80258551998412,174.55597853262344,-41.02481151302755,174.09298827158318
+1047,-41.32423821677482,174.55597853262344,-41.193825042577146,174.9031794097512,-41.278226207806014,174.78590639156337
+1048,-41.32423821677482,174.9031794097512,-41.193825042577146,175.25038028687894,-41.23624629607553,174.99621738268064
+1049,-41.193825042577146,174.55597853262344,-41.063411868379475,174.9031794097512,-41.139965058854315,174.84935816415685
+1050,-41.193825042577146,174.9031794097512,-41.063411868379475,175.25038028687894,-41.11770775469728,175.04933050846248
+1051,-41.32423821677482,175.25038028687894,-41.063411868379475,175.94478204113443,-41.197066547559444,175.57156990060219
+1052,-41.063411868379475,174.55597853262344,-40.80258551998412,175.25038028687894,-40.92937245727969,175.00757572381335
+1053,-41.063411868379475,175.25038028687894,-40.80258551998412,175.94478204113443,-40.95628991183973,175.55596100730244
+1054,-40.80258551998412,174.55597853262344,-40.54175917158877,175.25038028687894,-40.739062199317445,175.18351266274297
+1055,-40.80258551998412,175.25038028687894,-40.54175917158877,175.94478204113443,-40.63803643715844,175.4006851558107
+1056,-40.54175917158877,174.55597853262344,-40.280932823193424,175.25038028687894,-40.41721016616958,175.23530907559248
+1057,-40.54175917158877,175.25038028687894,-40.280932823193424,175.94478204113443,-40.360490304839715,175.6163549857136
+1058,-41.32423821677482,175.94478204113443,-40.280932823193424,178.7223890581564,-40.76947677818874,175.98046103928698
+1059,-40.280932823193424,173.16717502411245,-39.75928012640273,174.55597853262344,-39.77234564408307,174.52982428731363
+1060,-40.280932823193424,174.55597853262344,-40.02010647479808,175.25038028687894,-40.046150917883786,175.21196963470877
+1061,-40.280932823193424,175.25038028687894,-40.02010647479808,175.94478204113443,-40.190562645371735,175.56340736331478
+1062,-40.02010647479808,174.55597853262344,-39.75928012640273,175.25038028687894,-39.86179810366987,174.93399107681137
+1063,-40.02010647479808,175.25038028687894,-39.75928012640273,175.94478204113443,-39.86918946247591,175.67149251259752
+1064,-39.75928012640273,173.16717502411245,-39.237627429612026,174.55597853262344,-39.447018519632486,174.37798240523435
+1065,-39.75928012640273,174.55597853262344,-39.237627429612026,175.94478204113443,-39.500682711772825,175.22694009777632
+1066,-40.280932823193424,175.94478204113443,-39.237627429612026,178.7223890581564,-39.61699797905105,176.7162920832611
+1067,-39.237627429612026,173.16717502411245,-38.71597473282132,174.55597853262344,-39.09321962566117,174.19696757395212
+1068,-39.237627429612026,174.55597853262344,-38.71597473282132,175.94478204113443,-39.05462501686294,175.2224218007343
+1069,-38.71597473282132,174.55597853262344,-38.19432203603063,175.94478204113443,-38.48402033117835,175.40934626695056
+1070,-39.237627429612026,175.94478204113443,-38.71597473282132,177.33358554964542,-38.92864683948354,176.83053334259958
+1071,-39.237627429612026,177.33358554964542,-38.71597473282132,178.7223890581564,-38.90850556018337,177.67509393432272
+1072,-38.71597473282132,175.94478204113443,-38.19432203603063,177.33358554964542,-38.4176584408525,176.3433650011972
+1073,-38.71597473282132,177.33358554964542,-38.58556155862365,177.68078642677318,-38.63718746966298,177.4839985440153
+1074,-38.71597473282132,177.68078642677318,-38.58556155862365,178.02798730390091,-38.64666663392185,177.94325970239086
+1075,-38.58556155862365,177.33358554964542,-38.455148384425975,177.68078642677318,-38.4939297767161,177.5326477668238
+1076,-38.58556155862365,177.68078642677318,-38.455148384425975,178.02798730390091,-38.50084295639162,177.85846227478055
+1077,-38.71597473282132,178.02798730390091,-38.455148384425975,178.7223890581564,-38.63200531729829,178.0665613270295
+1078,-38.455148384425975,177.33358554964542,-38.19432203603063,178.02798730390091,-38.361937140930564,177.5994308269686
+1079,-38.455148384425975,178.02798730390091,-38.19432203603063,178.7223890581564,-38.28188317789718,178.1889557739146
+1080,-38.19432203603063,112.05982064962905,-34.02110046170503,123.17024871771694,-34.54559144469731,116.16532600464127
+1081,-34.02110046170503,114.83742766665102,-32.97779506812363,117.615034683673,-33.73167052339626,115.46975535488095
+1082,-32.97779506812363,114.83742766665102,-32.45614237133293,116.22623117516201,-32.65184825636958,115.91593345996691
+1083,-32.97779506812363,116.22623117516201,-32.45614237133293,117.615034683673,-32.73712070418492,117.10542246142835
+1084,-32.45614237133293,115.53182942090652,-32.19531602293758,116.22623117516201,-32.25879145354912,115.85689689656492
+1085,-32.19531602293758,114.83742766665102,-31.934489674542235,115.53182942090652,-31.991077488054998,115.52742892297
+1086,-32.19531602293758,115.53182942090652,-32.064902848739905,115.87903029803427,-32.10341693498332,115.82339981434744
+1087,-32.19531602293758,115.87903029803427,-32.064902848739905,116.22623117516201,-32.09947699714634,115.95560530419789
+1088,-32.064902848739905,115.53182942090652,-31.934489674542235,115.87903029803427,-32.00983450336667,115.81501201234184
+1089,-32.064902848739905,115.87903029803427,-31.934489674542235,116.22623117516201,-32.01084964253577,115.95012406432684
+1090,-32.45614237133293,116.22623117516201,-31.934489674542235,117.615034683673,-32.120485232255426,116.92726537384623
+1091,-34.02110046170503,117.615034683673,-31.934489674542235,123.17024871771694,-33.55470809199223,120.79330956882062
+1092,-31.934489674542235,112.05982064962905,-29.847878887379437,117.615034683673,-30.890388422052755,116.29782753650751
+1093,-31.934489674542235,117.615034683673,-29.847878887379437,123.17024871771694,-31.093177917940032,119.22016936354441
+1094,-34.02110046170503,123.17024871771694,-29.847878887379437,134.28067678580484,-32.18319481641526,133.71817963830338
+1095,-29.847878887379437,112.05982064962905,-21.501435738728247,134.28067678580484,-26.540170288525495,121.84132547201817
+1096,-38.19432203603063,139.83589081984877,-37.15101664244923,142.61349783687075,-37.423059224750325,141.5538546331608
+1097,-38.19432203603063,142.61349783687075,-37.67266933923993,144.00230134538174,-37.74108127199741,143.51677003396614
+1098,-38.19432203603063,144.00230134538174,-38.06390886183296,144.3495022225095,-38.14081409988963,144.3116952439688
+1099,-38.19432203603063,144.3495022225095,-38.06390886183296,144.69670309963723,-38.15307943586808,144.45253433373594
+1100,-38.06390886183296,144.00230134538174,-37.93349568763528,144.3495022225095,-38.00903868097747,144.31472130257237
+1101,-38.06390886183296,144.3495022225095,-37.93349568763528,144.69670309963723,-37.99652520997413,144.42309131326172
+1102,-38.19432203603063,144.69670309963723,-38.06390886183296,145.04390397676497,-38.16627517354427,144.7089059472327
+1103,-38.19432203603063,145.04390397676497,-38.06390886183296,145.39110485389273,-38.11106934692674,145.22498567343152
+1104,-38.06390886183296,144.69670309963723,-37.93349568763528,145.04390397676497,-37.95781335946297,145.02298924259145
+1105,-38.06390886183296,145.04390397676497,-37.93349568763528,145.39110485389273,-37.98958948676935,145.19217376764803
+1106,-37.93349568763528,144.00230134538174,-37.67266933923993,144.69670309963723,-37.8306554099522,144.45609961464325
+1107,-37.93349568763528,144.69670309963723,-37.8030825134376,145.04390397676497,-37.85759009857705,144.86714998002412
+1108,-37.93349568763528,145.04390397676497,-37.8030825134376,145.39110485389273,-37.8657217498875,145.19437437627442
+1109,-37.8030825134376,144.69670309963723,-37.67266933923993,145.04390397676497,-37.750354323395904,144.907850245453
+1110,-37.8030825134376,145.04390397676497,-37.67266933923993,145.39110485389273,-37.75936446383201,145.1968140688405
+1111,-37.67266933923993,142.61349783687075,-37.15101664244923,144.00230134538174,-37.49904059365847,143.67697774128175
+1112,-37.67266933923993,144.00230134538174,-37.411842990844576,144.69670309963723,-37.52870171798491,144.3973341628583
+1113,-37.67266933923993,144.69670309963723,-37.542256165042254,145.04390397676497,-37.611990187199666,144.91689680913387
+1114,-37.67266933923993,145.04390397676497,-37.542256165042254,145.39110485389273,-37.63130349844073,145.1955656403712
+1115,-37.542256165042254,144.69670309963723,-37.411842990844576,145.04390397676497,-37.47024140740647,144.90458522918394
+1116,-37.542256165042254,145.04390397676497,-37.411842990844576,145.39110485389273,-37.502244755339014,145.21776487264705
+1117,-37.411842990844576,144.00230134538174,-37.15101664244923,144.69670309963723,-37.28271157851218,144.34553276306207
+1118,-37.411842990844576,144.69670309963723,-37.15101664244923,145.39110485389273,-37.27111680675223,144.95991499493164
+1119,-37.15101664244923,139.83589081984877,-36.10771124886783,142.61349783687075,-36.71732004166473,141.5088273230335
+1120,-37.15101664244923,142.61349783687075,-36.629363945658525,144.00230134538174,-36.92500734173233,143.81653861024668
+1121,-37.15101664244923,144.00230134538174,-36.89019029405388,144.69670309963723,-37.038959695375866,144.27519971625827
+1122,-37.15101664244923,144.69670309963723,-36.89019029405388,145.39110485389273,-37.02383745956476,145.06040215251969
+1123,-36.89019029405388,144.00230134538174,-36.629363945658525,144.69670309963723,-36.768493716660984,144.44775158534955
+1124,-36.89019029405388,144.69670309963723,-36.629363945658525,145.39110485389273,-36.770698278909855,145.15581200947472
+1125,-36.629363945658525,142.61349783687075,-36.10771124886783,144.00230134538174,-36.23338688997747,143.9081344522356
+1126,-36.629363945658525,144.00230134538174,-36.10771124886783,145.39110485389273,-36.39091472800841,144.70581065754774
+1127,-36.10771124886783,134.28067678580484,-35.06440585528643,137.0582838028268,-35.39543614179441,136.98556140403576
+1128,-36.10771124886783,137.0582838028268,-35.586058552077134,138.44708731133778,-35.72498196741995,137.6672365285682
+1129,-35.586058552077134,137.0582838028268,-35.06440585528643,138.44708731133778,-35.34862770709816,137.9243562262212
+1130,-35.586058552077134,138.44708731133778,-35.32523220368178,139.14148906559328,-35.422459144984906,138.6424117511204
+1131,-35.586058552077134,139.14148906559328,-35.32523220368178,139.83589081984877,-35.32972862223067,139.34348501910998
+1132,-35.32523220368178,138.44708731133778,-35.19481902948411,138.79428818846554,-35.25255396869938,138.57226470697424
+1133,-35.32523220368178,138.79428818846554,-35.19481902948411,139.14148906559328,-35.25273404378176,138.92110098635808
+1134,-35.19481902948411,138.44708731133778,-35.06440585528643,138.79428818846554,-35.117470620406664,138.52882752197425
+1135,-35.19481902948411,138.79428818846554,-35.06440585528643,139.14148906559328,-35.10785811887422,138.96759693103587
+1136,-35.32523220368178,139.14148906559328,-35.06440585528643,139.83589081984877,-35.16033135805603,139.31508747408938
+1137,-35.06440585528643,134.28067678580484,-34.02110046170503,137.0582838028268,-34.907048276314505,137.04535399322336
+1138,-35.06440585528643,137.0582838028268,-34.54275315849573,138.44708731133778,-34.92017929330814,137.32986889555522
+1139,-35.06440585528643,138.44708731133778,-34.93399268108875,138.79428818846554,-34.98856195333237,138.59550989760254
+1140,-35.06440585528643,138.79428818846554,-34.93399268108875,139.14148906559328,-35.01844851995808,138.95653599479402
+1141,-34.93399268108875,138.44708731133778,-34.80357950689108,138.79428818846554,-34.86916643953973,138.58752224694067
+1142,-34.93399268108875,138.79428818846554,-34.80357950689108,139.14148906559328,-34.85290007627143,138.91051946391573
+1143,-35.06440585528643,139.14148906559328,-34.80357950689108,139.83589081984877,-34.96303710152425,139.38333132494301
+1144,-34.80357950689108,138.44708731133778,-34.673166332693405,138.79428818846554,-34.75922918684808,138.61095917441216
+1145,-34.80357950689108,138.79428818846554,-34.673166332693405,139.14148906559328,-34.76716156496762,138.93208853917633
+1146,-34.673166332693405,138.44708731133778,-34.54275315849573,138.79428818846554,-34.6118817509494,138.6981269759469
+1147,-34.673166332693405,138.79428818846554,-34.54275315849573,139.14148906559328,-34.620637549952,138.9283423544524
+1148,-34.80357950689108,139.14148906559328,-34.54275315849573,139.83589081984877,-34.68542264701751,139.41238404151906
+1149,-34.54275315849573,137.0582838028268,-34.02110046170503,138.44708731133778,-34.17235356026113,137.90287253447855
+1150,-34.54275315849573,138.44708731133778,-34.02110046170503,139.83589081984877,-34.22554516347824,138.87175704524196
+1151,-36.10771124886783,139.83589081984877,-35.06440585528643,142.61349783687075,-35.70484923472362,141.2028551687937
+1152,-36.10771124886783,142.61349783687075,-35.06440585528643,145.39110485389273,-35.53721599787463,143.82863175344423
+1153,-35.06440585528643,139.83589081984877,-34.02110046170503,142.61349783687075,-34.25020053998962,141.22249233110978
+1154,-35.06440585528643,142.61349783687075,-34.02110046170503,145.39110485389273,-34.536759050049426,143.94846942964955
+1155,-38.19432203603063,145.39110485389273,-37.93349568763528,146.08550660814822,-38.07474197680538,145.72911745695012
+1156,-38.19432203603063,146.08550660814822,-38.06390886183296,146.43270748527596,-38.14777935626272,146.2720487616905
+1157,-38.19432203603063,146.43270748527596,-38.06390886183296,146.77990836240372,-38.14336608474886,146.58030814421346
+1158,-38.06390886183296,146.08550660814822,-37.93349568763528,146.43270748527596,-37.9969441059827,146.28951175976744
+1159,-38.06390886183296,146.43270748527596,-37.93349568763528,146.77990836240372,-38.01328796069162,146.68541069222596
+1160,-37.93349568763528,145.39110485389273,-37.67266933923993,146.08550660814822,-37.81309760451289,145.5716616756588
+1161,-37.93349568763528,146.08550660814822,-37.67266933923993,146.77990836240372,-37.80158819613219,146.57749384782937
+1162,-38.19432203603063,146.77990836240372,-38.06390886183296,147.12710923953148,-38.123054306570786,146.9851913752849
+1163,-38.19432203603063,147.12710923953148,-38.06390886183296,147.4743101166592,-38.160677759856355,147.3329432937913
+1164,-38.06390886183296,146.77990836240372,-37.93349568763528,147.12710923953148,-37.99385295836743,146.96560206946555
+1165,-38.06390886183296,147.12710923953148,-37.93349568763528,147.4743101166592,-37.99155648751643,147.26364181783543
+1166,-38.19432203603063,147.4743101166592,-37.93349568763528,148.1687118709147,-38.03005546315979,147.52342360295287
+1167,-37.93349568763528,146.77990836240372,-37.67266933923993,147.4743101166592,-37.86576008597701,147.23948082743766
+1168,-37.93349568763528,147.4743101166592,-37.8030825134376,147.82151099378694,-37.847547157284374,147.6176712863313
+1169,-37.93349568763528,147.82151099378694,-37.8030825134376,148.1687118709147,-37.847245976110955,147.9275356500087
+1170,-37.8030825134376,147.4743101166592,-37.67266933923993,147.82151099378694,-37.74415598216475,147.67651513219963
+1171,-37.8030825134376,147.82151099378694,-37.67266933923993,148.1687118709147,-37.731444427437296,148.00953817250115
+1172,-37.67266933923993,145.39110485389273,-37.15101664244923,146.77990836240372,-37.445364402145564,145.70288129907638
+1173,-37.67266933923993,146.77990836240372,-37.15101664244923,148.1687118709147,-37.47385603891429,147.70609199886772
+1174,-38.19432203603063,148.1687118709147,-37.67266933923993,149.5575153794257,-37.73128931340267,148.51769096063813
+1175,-37.67266933923993,148.1687118709147,-37.411842990844576,148.8631136251702,-37.54178158490029,148.48390458841436
+1176,-37.67266933923993,148.8631136251702,-37.411842990844576,149.5575153794257,-37.5196344974566,149.13793767290008
+1177,-37.411842990844576,148.1687118709147,-37.15101664244923,148.8631136251702,-37.29816272554804,148.46494096418596
+1178,-37.411842990844576,148.8631136251702,-37.15101664244923,149.5575153794257,-37.312892616684714,149.18783951917362
+1179,-37.67266933923993,149.5575153794257,-37.15101664244923,150.94631888793668,-37.448988872850215,149.6761968822633
+1180,-37.15101664244923,145.39110485389273,-36.629363945658525,146.77990836240372,-36.91618655902979,146.04366766521264
+1181,-37.15101664244923,146.77990836240372,-36.629363945658525,148.1687118709147,-36.929056297414164,147.31729046096808
+1182,-36.629363945658525,145.39110485389273,-36.10771124886783,146.77990836240372,-36.39194503865187,146.11762435918382
+1183,-36.629363945658525,146.77990836240372,-36.10771124886783,148.1687118709147,-36.22664770292959,147.67197558477557
+1184,-37.15101664244923,148.1687118709147,-36.629363945658525,149.5575153794257,-36.99473026420051,148.5209056167491
+1185,-37.15101664244923,149.5575153794257,-36.629363945658525,150.94631888793668,-36.784377768200805,149.81463641932825
+1186,-36.629363945658525,148.1687118709147,-36.36853759726318,148.8631136251702,-36.44411895469712,148.45785969612106
+1187,-36.629363945658525,148.8631136251702,-36.36853759726318,149.5575153794257,-36.51988939877769,149.16107226716974
+1188,-36.36853759726318,148.1687118709147,-36.10771124886783,148.8631136251702,-36.31948530387914,148.4047379427274
+1189,-36.36853759726318,148.8631136251702,-36.10771124886783,149.5575153794257,-36.233295556047835,149.12077983608637
+1190,-36.629363945658525,149.5575153794257,-36.10771124886783,150.94631888793668,-36.49022518109891,149.80298119781364
+1191,-36.10771124886783,145.39110485389273,-35.586058552077134,146.77990836240372,-36.01980593006889,146.10217551086495
+1192,-36.10771124886783,146.77990836240372,-35.586058552077134,148.1687118709147,-35.97073914657657,147.34888288390349
+1193,-35.586058552077134,145.39110485389273,-35.06440585528643,146.77990836240372,-35.297530735747316,146.02298044144516
+1194,-35.586058552077134,146.77990836240372,-35.06440585528643,148.1687118709147,-35.187750688816806,147.95509184462853
+1195,-36.10771124886783,148.1687118709147,-35.84688490047248,148.8631136251702,-35.973967930777675,148.39719434214908
+1196,-36.10771124886783,148.8631136251702,-35.84688490047248,149.5575153794257,-35.99209568531216,149.13647368508424
+1197,-35.84688490047248,148.1687118709147,-35.586058552077134,148.8631136251702,-35.70666338849166,148.46346167100594
+1198,-35.84688490047248,148.8631136251702,-35.586058552077134,149.5575153794257,-35.70674286618298,149.1825278695697
+1199,-36.10771124886783,149.5575153794257,-35.586058552077134,150.94631888793668,-35.71448225655884,150.21759501725225
+1200,-35.586058552077134,148.1687118709147,-35.32523220368178,148.8631136251702,-35.47120708084747,148.28673506616818
+1201,-35.586058552077134,148.8631136251702,-35.32523220368178,149.5575153794257,-35.39799071521832,149.11627655606787
+1202,-35.32523220368178,148.1687118709147,-35.06440585528643,148.8631136251702,-35.236684620263176,148.27627182506424
+1203,-35.32523220368178,148.8631136251702,-35.19481902948411,149.21031450229793,-35.25743095880664,149.11225438842214
+1204,-35.32523220368178,149.21031450229793,-35.19481902948411,149.5575153794257,-35.2563802411906,149.35717563031875
+1205,-35.19481902948411,148.8631136251702,-35.06440585528643,149.21031450229793,-35.16478644155306,149.06889753996637
+1206,-35.19481902948411,149.21031450229793,-35.06440585528643,149.5575153794257,-35.12257579982023,149.3863016895899
+1207,-35.586058552077134,149.5575153794257,-35.06440585528643,150.94631888793668,-35.24201146694088,150.4446117967247
+1208,-35.06440585528643,145.39110485389273,-34.80357950689108,146.08550660814822,-34.979214285714434,145.83220634920715
+1209,-35.06440585528643,146.08550660814822,-34.80357950689108,146.77990836240372,-34.929064814814666,146.32802777777667
+1210,-34.80357950689108,145.39110485389273,-34.54275315849573,146.08550660814822,-34.59566275586966,146.01927423750556
+1211,-34.80357950689108,146.08550660814822,-34.673166332693405,146.43270748527596,-34.68495719507331,146.34485898996147
+1212,-34.80357950689108,146.43270748527596,-34.673166332693405,146.77990836240372,-34.740849076603155,146.53923743866088
+1213,-34.673166332693405,146.08550660814822,-34.54275315849573,146.43270748527596,-34.579176982331916,146.34247523513196
+1214,-34.673166332693405,146.43270748527596,-34.54275315849573,146.77990836240372,-34.595954788979974,146.45777326169238
+1215,-35.06440585528643,146.77990836240372,-34.54275315849573,148.1687118709147,-34.86558710156801,147.28885196722817
+1216,-34.54275315849573,145.39110485389273,-34.28192681010038,146.08550660814822,-34.28964881012321,146.05472024199574
+1217,-34.54275315849573,146.08550660814822,-34.41233998429806,146.43270748527596,-34.49536829376266,146.30292732199518
+1218,-34.54275315849573,146.43270748527596,-34.41233998429806,146.77990836240372,-34.48822592749465,146.47594958946
+1219,-34.41233998429806,146.08550660814822,-34.28192681010038,146.43270748527596,-34.39538269406045,146.30046402835504
+1220,-34.41233998429806,146.43270748527596,-34.28192681010038,146.77990836240372,-34.35849756450202,146.53078891665572
+1221,-34.28192681010038,145.39110485389273,-34.02110046170503,146.08550660814822,-34.046223429954004,145.46242270532045
+1222,-34.28192681010038,146.08550660814822,-34.02110046170503,146.77990836240372,-34.224316649554574,146.55081332593602
+1223,-34.54275315849573,146.77990836240372,-34.02110046170503,148.1687118709147,-34.1523304547197,147.56235843817637
+1224,-35.06440585528643,148.1687118709147,-34.80357950689108,148.8631136251702,-34.86959191430637,148.49674495247413
+1225,-35.06440585528643,148.8631136251702,-34.80357950689108,149.5575153794257,-34.92042202429727,149.40086190376957
+1226,-34.80357950689108,148.1687118709147,-34.54275315849573,148.8631136251702,-34.68252832769882,148.3751439412206
+1227,-34.80357950689108,148.8631136251702,-34.54275315849573,149.5575153794257,-34.71990085584893,149.37082631077544
+1228,-35.06440585528643,149.5575153794257,-34.80357950689108,150.2519171336812,-34.83069243787869,149.6163877492417
+1229,-35.06440585528643,150.2519171336812,-34.80357950689108,150.94631888793668,-34.92307191637389,150.59646101925378
+1230,-34.80357950689108,149.5575153794257,-34.54275315849573,150.2519171336812,-34.720342302066456,149.92442222295887
+1231,-34.80357950689108,150.2519171336812,-34.54275315849573,150.94631888793668,-34.63027986420136,150.6996131670402
+1232,-34.54275315849573,148.1687118709147,-34.28192681010038,148.8631136251702,-34.38772507059547,148.30949583960714
+1233,-34.54275315849573,148.8631136251702,-34.28192681010038,149.5575153794257,-34.420394471620114,149.29870876386735
+1234,-34.28192681010038,148.1687118709147,-34.02110046170503,148.8631136251702,-34.11325055782226,148.28533728938493
+1235,-34.28192681010038,148.8631136251702,-34.02110046170503,149.5575153794257,-34.15445199388215,149.3373089609143
+1236,-34.54275315849573,149.5575153794257,-34.28192681010038,150.2519171336812,-34.482196996246834,150.1293409450391
+1237,-34.54275315849573,150.2519171336812,-34.41233998429806,150.59911801080892,-34.474717861127814,150.3570683764619
+1238,-34.54275315849573,150.59911801080892,-34.41233998429806,150.94631888793668,-34.46361594998752,150.84171948536115
+1239,-34.41233998429806,150.2519171336812,-34.28192681010038,150.59911801080892,-34.358839807557764,150.54713928334667
+1240,-34.41233998429806,150.59911801080892,-34.28192681010038,150.94631888793668,-34.36014523094229,150.883202399038
+1241,-34.28192681010038,149.5575153794257,-34.02110046170503,150.2519171336812,-34.16932458651881,149.800607417185
+1242,-34.28192681010038,150.2519171336812,-34.02110046170503,150.94631888793668,-34.14361048210558,150.73875657060384
+1243,-36.10771124886783,150.94631888793668,-34.02110046170503,156.50153292198064,-34.105161625127735,151.03208321124288
+1244,-34.02110046170503,134.28067678580484,-32.97779506812363,137.0582838028268,-33.333538053106516,135.99359875270522
+1245,-34.02110046170503,137.0582838028268,-33.499447764914336,138.44708731133778,-33.82064327278455,137.88010507718187
+1246,-34.02110046170503,138.44708731133778,-33.499447764914336,139.83589081984877,-33.768404400800186,138.87979415627285
+1247,-33.499447764914336,137.0582838028268,-32.97779506812363,138.44708731133778,-33.18427740661979,138.0819157348454
+1248,-33.499447764914336,138.44708731133778,-32.97779506812363,139.83589081984877,-33.169470082194245,138.7542894038496
+1249,-32.97779506812363,134.28067678580484,-31.934489674542235,137.0582838028268,-32.70330026878674,135.5106124567942
+1250,-32.97779506812363,137.0582838028268,-32.45614237133293,138.44708731133778,-32.73976565236364,137.72726145512686
+1251,-32.97779506812363,138.44708731133778,-32.45614237133293,139.83589081984877,-32.77612567169154,138.7761275019944
+1252,-32.45614237133293,137.0582838028268,-31.934489674542235,138.44708731133778,-32.071615509445735,137.48614814061693
+1253,-32.45614237133293,138.44708731133778,-31.934489674542235,139.83589081984877,-32.28183852100345,138.5269300166197
+1254,-34.02110046170503,139.83589081984877,-31.934489674542235,145.39110485389273,-32.208634656659264,141.18588741894615
+1255,-31.934489674542235,134.28067678580484,-29.847878887379437,139.83589081984877,-31.579483590949664,137.68677251627074
+1256,-31.934489674542235,139.83589081984877,-29.847878887379437,145.39110485389273,-31.717896814194738,143.28148665922606
+1257,-34.02110046170503,145.39110485389273,-33.499447764914336,146.77990836240372,-33.964332298324564,145.80246559856
+1258,-34.02110046170503,146.77990836240372,-33.760274113309684,147.4743101166592,-33.918380320194544,147.2374810678832
+1259,-34.02110046170503,147.4743101166592,-33.89068728750736,147.82151099378694,-33.944122405996794,147.75995378922616
+1260,-34.02110046170503,147.82151099378694,-33.89068728750736,148.1687118709147,-33.941277174161634,148.06528660000316
+1261,-33.89068728750736,147.4743101166592,-33.760274113309684,147.82151099378694,-33.84366200838599,147.72179057553672
+1262,-33.89068728750736,147.82151099378694,-33.760274113309684,148.1687118709147,-33.827988842664986,148.02393883099955
+1263,-33.760274113309684,146.77990836240372,-33.499447764914336,147.4743101166592,-33.665451050486354,147.0011455087962
+1264,-33.760274113309684,147.4743101166592,-33.499447764914336,148.1687118709147,-33.726614011822846,147.88348901509355
+1265,-33.499447764914336,145.39110485389273,-32.97779506812363,146.77990836240372,-33.30506249922416,146.44801944406998
+1266,-33.499447764914336,146.77990836240372,-32.97779506812363,148.1687118709147,-33.14683320362327,147.35061868648694
+1267,-34.02110046170503,148.1687118709147,-33.760274113309684,148.8631136251702,-33.91473896444379,148.28848601689964
+1268,-34.02110046170503,148.8631136251702,-33.760274113309684,149.5575153794257,-33.89923698112452,149.33300931547
+1269,-33.760274113309684,148.1687118709147,-33.499447764914336,148.8631136251702,-33.65332452990209,148.32916142944467
+1270,-33.760274113309684,148.8631136251702,-33.499447764914336,149.5575153794257,-33.613856952793206,149.37342023434908
+1271,-34.02110046170503,149.5575153794257,-33.760274113309684,150.2519171336812,-33.90665159219498,150.04614621660963
+1272,-34.02110046170503,150.59911801080892,-33.89068728750736,150.94631888793668,-33.953997094953515,150.85325982186538
+1273,-33.89068728750736,150.2519171336812,-33.760274113309684,150.59911801080892,-33.82250518024911,150.57614202569602
+1274,-33.89068728750736,150.59911801080892,-33.760274113309684,150.94631888793668,-33.81076220870294,150.81841275476094
+1275,-33.760274113309684,149.5575153794257,-33.499447764914336,150.2519171336812,-33.591473602618954,149.99545736959357
+1276,-33.760274113309684,150.2519171336812,-33.62986093911201,150.59911801080892,-33.703555350007534,150.37682672352312
+1277,-33.760274113309684,150.59911801080892,-33.62986093911201,150.94631888793668,-33.70823811161161,150.80589435887006
+1278,-33.62986093911201,150.2519171336812,-33.499447764914336,150.59911801080892,-33.5553495753576,150.37169907403342
+1279,-33.62986093911201,150.59911801080892,-33.499447764914336,150.94631888793668,-33.57634378627199,150.75299649494778
+1280,-33.499447764914336,148.1687118709147,-33.23862141651898,148.8631136251702,-33.368342498628905,148.55006013319678
+1281,-33.499447764914336,148.8631136251702,-33.23862141651898,149.5575153794257,-33.36041270728131,149.2150005856505
+1282,-33.23862141651898,148.1687118709147,-32.97779506812363,148.8631136251702,-33.094303575126524,148.72403728584635
+1283,-33.23862141651898,148.8631136251702,-32.97779506812363,149.5575153794257,-33.09097926465875,148.86652680986504
+1284,-33.499447764914336,149.5575153794257,-33.23862141651898,150.2519171336812,-33.40416224183447,149.93545867045682
+1285,-33.499447764914336,150.2519171336812,-33.23862141651898,150.94631888793668,-33.426372351574805,150.70556101345875
+1286,-33.23862141651898,149.5575153794257,-32.97779506812363,150.2519171336812,-33.122701683015435,150.10922711624806
+1287,-33.23862141651898,150.2519171336812,-32.97779506812363,150.94631888793668,-33.11988492471592,150.27397515346001
+1288,-32.97779506812363,145.39110485389273,-31.934489674542235,148.1687118709147,-32.381826181417054,147.55742442740421
+1289,-32.97779506812363,148.1687118709147,-32.45614237133293,149.5575153794257,-32.74174626391919,148.6059378140522
+1290,-32.97779506812363,149.5575153794257,-32.45614237133293,150.94631888793668,-32.71980463264914,150.11848743705698
+1291,-32.45614237133293,148.1687118709147,-31.934489674542235,149.5575153794257,-32.20837867799175,148.63471596159152
+1292,-32.45614237133293,149.5575153794257,-32.19531602293758,150.2519171336812,-32.409813517668546,149.951059855201
+1293,-32.45614237133293,150.2519171336812,-32.19531602293758,150.94631888793668,-32.36225543690087,150.4906845514721
+1294,-32.19531602293758,149.5575153794257,-31.934489674542235,150.2519171336812,-32.045035610913686,149.9431125689601
+1295,-32.19531602293758,150.2519171336812,-31.934489674542235,150.94631888793668,-32.073395187148265,150.52242552466
+1296,-34.02110046170503,150.94631888793668,-33.89068728750736,151.29351976506445,-33.93644088006087,151.12917860084457
+1297,-33.89068728750736,150.94631888793668,-33.760274113309684,151.29351976506445,-33.83090132019422,151.1340374349497
+1298,-33.89068728750736,151.29351976506445,-33.760274113309684,151.64072064219218,-33.763635880024005,151.29630675229402
+1299,-33.760274113309684,150.94631888793668,-33.499447764914336,151.64072064219218,-33.69435153971564,151.16635484002882
+1300,-33.499447764914336,150.94631888793668,-33.23862141651898,151.64072064219218,-33.375121264938464,151.33434097502618
+1301,-33.23862141651898,150.94631888793668,-32.97779506812363,151.64072064219218,-33.127388108600066,151.4438965563787
+1302,-33.23862141651898,151.64072064219218,-32.97779506812363,152.33512239644767,-33.03228203619635,151.67367608240806
+1303,-32.97779506812363,150.94631888793668,-32.716968719728285,151.64072064219218,-32.82032480140613,151.51420500589188
+1304,-32.97779506812363,151.64072064219218,-32.716968719728285,152.33512239644767,-32.83130762540306,151.7972976103092
+1305,-32.716968719728285,150.94631888793668,-32.45614237133293,151.64072064219218,-32.632821600867516,151.39021984582962
+1306,-32.716968719728285,151.64072064219218,-32.45614237133293,152.33512239644767,-32.576011340498894,152.0175920769109
+1307,-32.45614237133293,150.94631888793668,-31.934489674542235,152.33512239644767,-32.27852557765932,152.02119719491841
+1308,-32.45614237133293,152.33512239644767,-31.934489674542235,153.72392590495866,-32.289490333671196,152.44326709740497
+1309,-31.934489674542235,145.39110485389273,-30.891184280960836,148.1687118709147,-31.444334425299783,146.93027143605343
+1310,-31.934489674542235,148.1687118709147,-31.673663326146887,148.8631136251702,-31.77551548812758,148.65294011956158
+1311,-31.934489674542235,148.8631136251702,-31.673663326146887,149.5575153794257,-31.801929380072135,149.23145024305273
+1312,-31.673663326146887,148.1687118709147,-31.412836977751535,148.8631136251702,-31.633923090475072,148.71751136001635
+1313,-31.673663326146887,148.8631136251702,-31.412836977751535,149.5575153794257,-31.519072409220247,149.0015149394608
+1314,-31.934489674542235,149.5575153794257,-31.412836977751535,150.94631888793668,-31.647383954163722,150.49148432575186
+1315,-31.412836977751535,148.1687118709147,-30.891184280960836,149.5575153794257,-31.185232787427303,149.2449136504128
+1316,-31.412836977751535,149.5575153794257,-31.152010629356184,150.2519171336812,-31.3690213285223,149.95500535636407
+1317,-31.412836977751535,150.2519171336812,-31.152010629356184,150.94631888793668,-31.264751562927458,150.62001365128165
+1318,-31.152010629356184,149.5575153794257,-30.891184280960836,150.2519171336812,-31.070845144770022,149.92119987842685
+1319,-31.152010629356184,150.2519171336812,-30.891184280960836,150.94631888793668,-31.048581532913957,150.69200612342362
+1320,-30.891184280960836,145.39110485389273,-29.847878887379437,148.1687118709147,-30.206297562322394,146.3874095629737
+1321,-30.891184280960836,148.1687118709147,-30.369531584170137,149.5575153794257,-30.743456688931225,149.4746789973004
+1322,-30.891184280960836,149.5575153794257,-30.369531584170137,150.94631888793668,-30.64723414395768,150.69831721241036
+1323,-30.369531584170137,148.1687118709147,-29.847878887379437,149.5575153794257,-30.30321837476811,148.62012888997359
+1324,-30.369531584170137,149.5575153794257,-29.847878887379437,150.94631888793668,-30.141881385273308,150.05732515063934
+1325,-31.934489674542235,150.94631888793668,-31.412836977751535,152.33512239644767,-31.54707383945062,151.6887417382157
+1326,-31.934489674542235,152.33512239644767,-31.412836977751535,153.72392590495866,-31.51117948431702,152.6788550585679
+1327,-31.412836977751535,150.94631888793668,-30.891184280960836,152.33512239644767,-31.130138632241078,151.42452018181402
+1328,-31.412836977751535,152.33512239644767,-30.891184280960836,153.72392590495866,-31.112548285290355,152.8039773210164
+1329,-30.891184280960836,150.94631888793668,-30.630357932565488,151.64072064219218,-30.755419470345537,151.32894682974495
+1330,-30.891184280960836,151.64072064219218,-30.630357932565488,152.33512239644767,-30.753793675630448,152.1739638119176
+1331,-30.630357932565488,150.94631888793668,-30.369531584170137,151.64072064219218,-30.492032346037455,151.43014772870882
+1332,-30.630357932565488,151.64072064219218,-30.369531584170137,152.33512239644767,-30.496699620310714,151.92802612521203
+1333,-30.891184280960836,152.33512239644767,-30.369531584170137,153.72392590495866,-30.583494414231293,152.8548793943643
+1334,-30.369531584170137,150.94631888793668,-30.108705235774785,151.64072064219218,-30.277688622533486,151.44136935682212
+1335,-30.369531584170137,151.64072064219218,-30.108705235774785,152.33512239644767,-30.241569005300136,151.72188447087407
+1336,-30.108705235774785,150.94631888793668,-29.847878887379437,151.64072064219218,-29.950049438629648,151.30468503956848
+1337,-30.108705235774785,151.64072064219218,-29.847878887379437,152.33512239644767,-29.988042010420955,151.70352693435603
+1338,-30.369531584170137,152.33512239644767,-30.108705235774785,153.02952415070317,-30.24821926784361,152.65894498729492
+1339,-30.369531584170137,153.02952415070317,-30.108705235774785,153.72392590495866,-30.29646034944003,153.1072831634017
+1340,-30.108705235774785,152.33512239644767,-29.847878887379437,153.02952415070317,-29.991086320552363,152.77442061635065
+1341,-30.108705235774785,153.02952415070317,-29.847878887379437,153.72392590495866,-30.098212752917238,153.19358585826188
+1342,-38.19432203603063,174.55597853262344,-37.93349568763528,175.25038028687894,-38.085485344389795,175.13708192331154
+1343,-38.19432203603063,175.25038028687894,-37.93349568763528,175.94478204113443,-38.01823183599069,175.6192289093825
+1344,-37.93349568763528,174.55597853262344,-37.67266933923993,175.25038028687894,-37.776000044231154,175.14586397261226
+1345,-37.93349568763528,175.25038028687894,-37.67266933923993,175.94478204113443,-37.8278209161433,175.5031283421057
+1346,-37.67266933923993,174.55597853262344,-37.411842990844576,175.25038028687894,-37.55817472028117,175.16716024405994
+1347,-37.67266933923993,175.25038028687894,-37.411842990844576,175.94478204113443,-37.53934543261777,175.58979581078853
+1348,-37.411842990844576,174.55597853262344,-37.15101664244923,175.25038028687894,-37.281731020212405,175.03017256046067
+1349,-37.411842990844576,175.25038028687894,-37.15101664244923,175.94478204113443,-37.350104886309765,175.6942456738185
+1350,-38.19432203603063,175.94478204113443,-37.67266933923993,177.33358554964542,-37.9578374656446,176.36155430048177
+1351,-38.19432203603063,177.33358554964542,-37.67266933923993,178.7223890581564,-38.043101618024544,177.92139846551532
+1352,-37.67266933923993,175.94478204113443,-37.15101664244923,177.33358554964542,-37.570853669844624,176.049898732151
+1353,-37.67266933923993,177.33358554964542,-37.15101664244923,178.7223890581564,-37.610685117494356,178.08695685407602
+1354,-37.15101664244923,173.16717502411245,-36.629363945658525,174.55597853262344,-36.869761334190805,174.49360224306
+1355,-37.15101664244923,174.55597853262344,-37.02060346825155,174.9031794097512,-37.03421393598213,174.88323400437667
+1356,-37.15101664244923,174.9031794097512,-37.02060346825155,175.25038028687894,-37.079406067302024,174.98129461772103
+1357,-37.02060346825155,174.55597853262344,-36.89019029405388,174.9031794097512,-36.92833611745127,174.7280915239237
+1358,-37.02060346825155,174.9031794097512,-36.89019029405388,175.25038028687894,-36.960853920944466,174.94455749638482
+1359,-37.15101664244923,175.25038028687894,-36.89019029405388,175.94478204113443,-37.06181421115765,175.33146203611085
+1360,-36.89019029405388,174.55597853262344,-36.7597771198562,174.9031794097512,-36.83362338612236,174.70515814385584
+1361,-36.89019029405388,174.9031794097512,-36.7597771198562,175.25038028687894,-36.80075668729083,175.0159773369532
+1362,-36.7597771198562,174.55597853262344,-36.629363945658525,174.9031794097512,-36.710617253108126,174.67474541717468
+1363,-36.89019029405388,175.25038028687894,-36.629363945658525,175.94478204113443,-36.796271158361115,175.6532845442471
+1364,-36.629363945658525,173.86157677836795,-36.36853759726318,174.55597853262344,-36.52000470899763,174.38648825482787
+1365,-36.36853759726318,173.86157677836795,-36.2381244230655,174.20877765549568,-36.315860479796726,174.13312343142502
+1366,-36.36853759726318,174.20877765549568,-36.2381244230655,174.55597853262344,-36.29733094813302,174.41502483189495
+1367,-36.2381244230655,173.86157677836795,-36.10771124886783,174.20877765549568,-36.153601342994826,174.08880960260055
+1368,-36.2381244230655,174.20877765549568,-36.10771124886783,174.55597853262344,-36.162434612057815,174.39376900457793
+1369,-36.629363945658525,174.55597853262344,-36.10771124886783,175.94478204113443,-36.378793350488394,174.67893116828705
+1370,-36.10771124886783,167.61196099006852,-34.02110046170503,173.16717502411245,-34.83884449406491,173.0859904534966
+1371,-36.10771124886783,173.16717502411245,-35.84688490047248,173.86157677836795,-35.93017202212883,173.801981336097
+1372,-36.10771124886783,173.86157677836795,-35.97729807467016,174.20877765549568,-36.03428339622324,173.94646572915084
+1373,-36.10771124886783,174.20877765549568,-35.97729807467016,174.55597853262344,-36.04915003689047,174.39533331361216
+1374,-35.97729807467016,173.86157677836795,-35.84688490047248,174.20877765549568,-35.925260353780665,173.94527014258034
+1375,-35.97729807467016,174.20877765549568,-35.84688490047248,174.55597853262344,-35.93137916728018,174.37927606731023
+1376,-35.84688490047248,173.16717502411245,-35.586058552077134,173.86157677836795,-35.761460423620655,173.68331635934126
+1377,-35.84688490047248,173.86157677836795,-35.716471726274804,174.20877765549568,-35.77398473042256,173.99500527302777
+1378,-35.84688490047248,174.20877765549568,-35.716471726274804,174.55597853262344,-35.75647571737602,174.370967493567
+1379,-35.716471726274804,173.86157677836795,-35.586058552077134,174.20877765549568,-35.67178988500858,174.09964537977797
+1380,-35.716471726274804,174.20877765549568,-35.586058552077134,174.55597853262344,-35.668759184844085,174.34829785543562
+1381,-36.10771124886783,174.55597853262344,-35.586058552077134,175.94478204113443,-36.08779731753123,174.58092369468298
+1382,-35.586058552077134,173.16717502411245,-35.32523220368178,173.86157677836795,-35.43014937670686,173.49080387011392
+1383,-35.586058552077134,173.86157677836795,-35.32523220368178,174.55597853262344,-35.48014469578605,174.21025183386607
+1384,-35.32523220368178,173.16717502411245,-35.06440585528643,173.86157677836795,-35.19265704764163,173.51060165617963
+1385,-35.32523220368178,173.86157677836795,-35.06440585528643,174.55597853262344,-35.24512158665412,174.07546442350807
+1386,-35.06440585528643,173.16717502411245,-34.02110046170503,175.94478204113443,-35.01074060699873,173.38326735012143
+1387,-29.847878887379437,134.28067678580484,-25.674657313053842,145.39110485389273,-28.860731502286573,134.6082265361633
+1388,-29.847878887379437,145.39110485389273,-28.80457349379804,148.1687118709147,-29.505118270434966,147.41700928239618
+1389,-29.847878887379437,148.1687118709147,-28.80457349379804,150.94631888793668,-29.49135213438541,149.8378719097823
+1390,-28.80457349379804,145.39110485389273,-27.76126810021664,148.1687118709147,-28.772088888888998,148.13637777777998
+1391,-28.80457349379804,148.1687118709147,-27.76126810021664,150.94631888793668,-28.307289081537586,150.40489489752807
+1392,-29.847878887379437,150.94631888793668,-29.326226190588738,152.33512239644767,-29.572715406938528,151.67633378923162
+1393,-29.847878887379437,152.33512239644767,-29.326226190588738,153.72392590495866,-29.584957971388597,152.93783242762512
+1394,-29.326226190588738,150.94631888793668,-28.80457349379804,152.33512239644767,-29.09764411130581,151.85171152936726
+1395,-29.326226190588738,152.33512239644767,-29.065399842193386,153.02952415070317,-29.179674760859708,152.99430627309047
+1396,-29.065399842193386,152.33512239644767,-28.80457349379804,153.02952415070317,-28.915851577913912,152.69170674487856
+1397,-29.065399842193386,153.02952415070317,-28.80457349379804,153.72392590495866,-28.90642600720281,153.3617897990889
+1398,-28.80457349379804,150.94631888793668,-28.28292079700734,152.33512239644767,-28.554832273366266,151.71077958025987
+1399,-28.80457349379804,152.33512239644767,-28.54374714540269,153.02952415070317,-28.65873368643232,152.7121874639389
+1400,-28.80457349379804,153.02952415070317,-28.54374714540269,153.72392590495866,-28.637661901388594,153.27020681022742
+1401,-28.54374714540269,152.33512239644767,-28.28292079700734,153.02952415070317,-28.40970094536865,152.76580596904435
+1402,-28.54374714540269,153.02952415070317,-28.28292079700734,153.72392590495866,-28.403995357314106,153.4861426707629
+1403,-28.28292079700734,150.94631888793668,-27.76126810021664,152.33512239644767,-28.00669416576936,151.68476425357628
+1404,-28.28292079700734,152.33512239644767,-28.022094448611988,153.02952415070317,-28.209781652026173,152.7748826204089
+1405,-28.28292079700734,153.02952415070317,-28.022094448611988,153.72392590495866,-28.188517506239023,153.51989092600562
+1406,-28.022094448611988,152.33512239644767,-27.891681274414314,152.68232327357543,-28.00280616390645,152.65481371733725
+1407,-28.022094448611988,152.68232327357543,-27.891681274414314,153.02952415070317,-27.94018124908631,152.98340852825345
+1408,-27.891681274414314,152.68232327357543,-27.76126810021664,153.02952415070317,-27.832286359225176,152.97273074980816
+1409,-28.022094448611988,153.02952415070317,-27.891681274414314,153.3767250278309,-27.931062343204577,153.16769790008314
+1410,-28.022094448611988,153.3767250278309,-27.891681274414314,153.72392590495866,-27.962629106129537,153.4174757087807
+1411,-27.891681274414314,153.02952415070317,-27.76126810021664,153.3767250278309,-27.816507883657078,153.1051613153962
+1412,-27.891681274414314,153.3767250278309,-27.76126810021664,153.72392590495866,-27.889500464093,153.38337743124
+1413,-27.76126810021664,145.39110485389273,-25.674657313053842,150.94631888793668,-26.82817674717318,149.52364688750905
+1414,-27.76126810021664,150.94631888793668,-27.23961540342594,152.33512239644767,-27.600740265801893,151.80925226060398
+1415,-27.76126810021664,152.68232327357543,-27.630854926018966,153.02952415070317,-27.71723796436314,152.96890028685965
+1416,-27.630854926018966,152.33512239644767,-27.500441751821292,152.68232327357543,-27.56755929230663,152.4733785332514
+1417,-27.630854926018966,152.68232327357543,-27.500441751821292,153.02952415070317,-27.564004870399916,152.92122269186896
+1418,-27.76126810021664,153.02952415070317,-27.630854926018966,153.3767250278309,-27.69227577318247,153.13433517504967
+1419,-27.630854926018966,153.02952415070317,-27.500441751821292,153.3767250278309,-27.590974570735785,153.11233802273722
+1420,-27.630854926018966,153.3767250278309,-27.500441751821292,153.72392590495866,-27.50191170155033,153.40704717939
+1421,-27.500441751821292,152.68232327357543,-27.370028577623614,153.02952415070317,-27.4499345667998,152.96536733421212
+1422,-27.370028577623614,152.33512239644767,-27.23961540342594,152.68232327357543,-27.242167,152.424332
+1423,-27.370028577623614,152.68232327357543,-27.23961540342594,153.02952415070317,-27.339602185792426,152.90683663503495
+1424,-27.500441751821292,153.02952415070317,-27.23961540342594,153.72392590495866,-27.44602824338684,153.08722449636602
+1425,-27.23961540342594,150.94631888793668,-26.71796270663524,152.33512239644767,-27.092239020735807,151.19456936935828
+1426,-27.23961540342594,152.33512239644767,-26.71796270663524,153.72392590495866,-27.05010267462683,152.94732905639628
+1427,-26.71796270663524,150.94631888793668,-25.674657313053842,153.72392590495866,-26.481527963325615,152.635396023387
+1428,-25.674657313053842,134.28067678580484,-21.501435738728247,145.39110485389273,-21.509750000263,143.56769444412
+1429,-25.674657313053842,145.39110485389273,-21.501435738728247,156.50153292198064,-24.406354756173165,151.02256464944531
+1430,-29.847878887379437,156.50153292198064,-21.501435738728247,178.7223890581564,-22.203419718790677,166.44707229146604
+1431,-21.501435738728247,0.9555399687501165,-13.154992590077061,23.176396104925903,-16.714241928520615,18.07383041017271
+1432,-21.501435738728247,23.176396104925903,-17.328214164402652,34.2868241730138,-18.529891221536797,28.91381836375212
+1433,-21.501435738728247,34.2868241730138,-19.41482495156545,39.84203820705774,-19.616408570968595,34.87037473235115
+1434,-21.501435738728247,39.84203820705774,-19.41482495156545,45.39725224110169,-20.30279922825232,44.28388535211882
+1435,-19.41482495156545,34.2868241730138,-17.328214164402652,39.84203820705774,-17.965990811504174,36.056461014606775
+1436,-16.284908770821254,27.342806630458863,-15.763256074030554,28.73161013896985,-15.97351671804722,28.155959850904768
+1437,-15.763256074030554,27.342806630458863,-15.502429725635206,28.037208384714354,-15.55483220878407,27.98198596553557
+1438,-15.763256074030554,28.037208384714354,-15.502429725635206,28.73161013896985,-15.566208164851481,28.348840408928588
+1439,-15.502429725635206,27.342806630458863,-15.241603377239857,28.037208384714354,-15.46973307302403,27.92922352799891
+1440,-15.502429725635206,28.037208384714354,-15.372016551437532,28.3844092618421,-15.422942693923297,28.31938931569591
+1441,-15.502429725635206,28.3844092618421,-15.372016551437532,28.73161013896985,-15.421045735104913,28.402882426630516
+1442,-15.372016551437532,28.037208384714354,-15.241603377239857,28.3844092618421,-15.345043555996472,28.259554165490574
+1443,-15.372016551437532,28.3844092618421,-15.241603377239857,28.73161013896985,-15.31978381941845,28.5607175126058
+1444,-17.328214164402652,28.73161013896985,-15.241603377239857,34.2868241730138,-15.64041930086164,29.38299358436902
+1445,-15.241603377239857,23.176396104925903,-14.19829798365846,25.954003121947878,-14.8936837421815,25.406235111555
+1446,-15.241603377239857,25.954003121947878,-14.19829798365846,28.73161013896985,-14.985756727371651,28.131949047631572
+1447,-14.19829798365846,23.176396104925903,-13.154992590077061,25.954003121947878,-13.540624554863872,24.46253982689062
+1448,-14.19829798365846,25.954003121947878,-13.154992590077061,28.73161013896985,-13.544046213620078,27.431112144703633
+1449,-15.241603377239857,28.73161013896985,-13.154992590077061,34.2868241730138,-14.441921375442911,30.097226566981746
+1450,-17.328214164402652,34.2868241730138,-15.241603377239857,39.84203820705774,-16.81776675004268,36.5525395741372
+1451,-17.328214164402652,39.84203820705774,-15.241603377239857,45.39725224110169,-15.544753232379495,40.69652399777486
+1452,-15.241603377239857,34.2868241730138,-13.154992590077061,39.84203820705774,-14.851625953469783,38.586516211162824
+1453,-15.241603377239857,39.84203820705774,-13.154992590077061,45.39725224110169,-14.532842623812911,40.36108294750721
+1454,-13.154992590077061,12.06596803683801,-8.981771015751466,23.176396104925903,-10.736536272367909,14.103625101736302
+1455,-8.981771015751466,13.10757066822125,-8.851357841553792,13.454771545348997,-8.921495963211969,13.238882372543396
+1456,-8.851357841553792,13.10757066822125,-8.720944667356116,13.454771545348997,-8.825452167912852,13.243617742628073
+1457,-6.8951602285886695,12.06596803683801,-4.808549441425873,17.621182070881957,-5.542254624569771,14.291280517914059
+1458,-6.8951602285886695,17.621182070881957,-4.808549441425873,23.176396104925903,-5.76818388542171,21.267587017104834
+1459,-13.154992590077061,23.176396104925903,-12.111687196495662,25.954003121947878,-12.868874246272487,25.3091937895256
+1460,-13.154992590077061,25.954003121947878,-12.633339893286362,27.342806630458863,-12.855636312466746,26.320463907172307
+1461,-13.154992590077061,27.342806630458863,-12.894166241681711,28.037208384714354,-12.980478466491949,27.676146388045236
+1462,-13.154992590077061,28.037208384714354,-12.894166241681711,28.73161013896985,-13.03601344490405,28.347898015897965
+1463,-12.894166241681711,27.342806630458863,-12.633339893286362,28.037208384714354,-12.80980254290314,27.72459143072994
+1464,-12.894166241681711,28.037208384714354,-12.633339893286362,28.73161013896985,-12.83739963802021,28.246807947054148
+1465,-12.633339893286362,25.954003121947878,-12.111687196495662,27.342806630458863,-12.368610885618649,26.42719430180361
+1466,-12.633339893286362,27.342806630458863,-12.111687196495662,28.73161013896985,-12.450171290828514,27.77707614061104
+1467,-12.111687196495662,23.176396104925903,-11.068381802914264,25.954003121947878,-11.559548738044407,24.856925441440037
+1468,-12.111687196495662,25.954003121947878,-11.068381802914264,28.73161013896985,-11.926324498589999,26.795576745263936
+1469,-13.154992590077061,28.73161013896985,-11.068381802914264,34.2868241730138,-12.081738894895954,30.651867647582893
+1470,-11.068381802914264,23.176396104925903,-8.981771015751466,28.73161013896985,-10.24190111464105,28.045582847733755
+1471,-11.068381802914264,28.73161013896985,-8.981771015751466,34.2868241730138,-10.300929116174398,31.638769846533815
+1472,-13.154992590077061,34.2868241730138,-11.068381802914264,39.84203820705774,-13.016181835081218,39.0311132186994
+1473,-13.154992590077061,39.84203820705774,-12.111687196495662,42.61964522407972,-13.034576588883775,40.545776460287456
+1474,-13.154992590077061,44.7028504868462,-12.894166241681711,45.39725224110169,-12.930410119068462,45.12802319732367
+1475,-12.894166241681711,44.7028504868462,-12.633339893286362,45.39725224110169,-12.791787149774745,45.17309930294401
+1476,-12.111687196495662,42.61964522407972,-11.068381802914264,45.39725224110169,-11.708697751464406,43.24905250787944
+1477,-8.981771015751466,23.176396104925903,-4.808549441425873,34.2868241730138,-6.367823975511475,26.882092641838494
+1478,-8.981771015751466,34.2868241730138,-6.8951602285886695,39.84203820705774,-7.3524628425320335,37.95299463585695
+1479,-6.8951602285886695,34.2868241730138,-5.851854835007272,37.06443119003577,-6.150666690078574,35.727186808393554
+1480,-6.8951602285886695,37.06443119003577,-6.373507531797971,38.45323469854675,-6.804655837270386,37.73021221511574
+1481,-6.8951602285886695,38.45323469854675,-6.634333880193321,39.147636452802246,-6.798497194048833,39.055422581419336
+1482,-6.8951602285886695,39.147636452802246,-6.764747054390995,39.49483732992999,-6.824775031339073,39.26796411850425
+1483,-6.764747054390995,39.147636452802246,-6.634333880193321,39.49483732992999,-6.754388519762393,39.255198851917434
+1484,-6.634333880193321,38.45323469854675,-6.373507531797971,39.147636452802246,-6.533461373605046,38.967632668371245
+1485,-6.634333880193321,39.147636452802246,-6.373507531797971,39.84203820705774,-6.398550087843977,39.56245903960947
+1486,-6.373507531797971,37.06443119003577,-5.851854835007272,38.45323469854675,-6.069101560381505,38.1027497671934
+1487,-6.373507531797971,39.147636452802246,-6.243094357600296,39.49483732992999,-6.283719809348414,39.40255055021255
+1488,-6.373507531797971,39.49483732992999,-6.243094357600296,39.84203820705774,-6.287517855690131,39.5334388030096
+1489,-6.243094357600296,39.147636452802246,-6.112681183402621,39.49483732992999,-6.183605124853353,39.26120517055441
+1490,-6.243094357600296,39.49483732992999,-6.112681183402621,39.84203820705774,-6.173998412442685,39.522579017963444
+1491,-6.112681183402621,39.147636452802246,-5.851854835007272,39.84203820705774,-5.9951654112965915,39.27368750159433
+1492,-5.851854835007272,34.2868241730138,-4.808549441425873,37.06443119003577,-5.3031331170689455,34.88148309755884
+1493,-5.851854835007272,37.06443119003577,-4.808549441425873,39.84203820705774,-5.402532409959896,39.40111013543162
+1494,-21.501435738728247,45.39725224110169,-19.41482495156545,50.95246627514564,-21.321193189048056,47.175612331631996
+1495,-21.501435738728247,55.11887680067859,-21.2406093903329,55.81327855493409,-21.294932618461036,55.47791125642674
+1496,-21.2406093903329,55.11887680067859,-21.110196216135222,55.46607767780634,-21.165087061033,55.28647836241943
+1497,-21.2406093903329,55.46607767780634,-21.110196216135222,55.81327855493409,-21.170850245813284,55.58872960690149
+1498,-21.110196216135222,55.11887680067859,-20.979783041937548,55.46607767780634,-21.035727921225906,55.28838017751752
+1499,-21.110196216135222,55.46607767780634,-20.979783041937548,55.81327855493409,-21.02488851820988,55.68426520673363
+1500,-20.979783041937548,55.11887680067859,-20.849369867739874,55.46607767780634,-20.917815806128814,55.39036496032084
+1501,-20.979783041937548,55.46607767780634,-20.849369867739874,55.81327855493409,-20.91499641875851,55.53535931835576
+1502,-19.41482495156545,45.39725224110169,-17.328214164402652,50.95246627514564,-18.409480279056964,48.02163041441313
+1503,-21.501435738728247,56.50768030918958,-20.45813034514685,59.28528732621156,-20.466274372328115,57.66498568277129
+1504,-20.45813034514685,57.202082063445076,-20.327717170949175,57.54928294057282,-20.33960273827792,57.43188283305529
+1505,-20.45813034514685,57.54928294057282,-20.327717170949175,57.89648381770057,-20.41703842670879,57.67349888195578
+1506,-20.327717170949175,57.202082063445076,-20.1973039967515,57.54928294057282,-20.25965780336783,57.472530852675966
+1507,-20.327717170949175,57.54928294057282,-20.1973039967515,57.89648381770057,-20.23833543866857,57.6259168140492
+1508,-20.1973039967515,57.202082063445076,-19.93647764835615,57.89648381770057,-20.150043684313747,57.515216396536246
+1509,-17.328214164402652,45.39725224110169,-13.154992590077061,56.50768030918958,-16.106675928311898,46.225056189544496
+1510,-13.154992590077061,45.39725224110169,-4.808549441425873,67.61810837727748,-12.58084873866951,49.24713629766602
+1511,-4.808549441425873,0.9555399687501165,3.5378937072253143,23.176396104925903,-2.639840241168548,15.056344522596403
+1512,-4.808549441425873,23.176396104925903,-2.7219386542630764,28.73161013896985,-2.8497032985089925,26.407431714438523
+1513,-4.808549441425873,28.73161013896985,-2.7219386542630764,34.2868241730138,-3.264048409257327,29.67557363594917
+1514,-2.7219386542630764,23.176396104925903,-0.6353278671002793,28.73161013896985,-2.2606132524080746,28.65414527964148
+1515,-2.7219386542630764,28.73161013896985,-2.4611123058677267,29.426011893225343,-2.5700177642577136,28.988361674480288
+1516,-2.7219386542630764,29.426011893225343,-2.4611123058677267,30.120413647480838,-2.608499773594641,29.580592734416943
+1517,-2.4611123058677267,28.73161013896985,-2.200285957472377,29.426011893225343,-2.3271848887758897,29.19168281875457
+1518,-2.4611123058677267,29.426011893225343,-2.200285957472377,30.120413647480838,-2.3684886284814377,29.55096505771919
+1519,-2.7219386542630764,30.120413647480838,-2.200285957472377,31.509217155991823,-2.336737599084623,30.67045316543585
+1520,-2.200285957472377,28.73161013896985,-1.9394596090770273,29.426011893225343,-2.070185624476366,29.30142002468156
+1521,-2.200285957472377,29.426011893225343,-1.9394596090770273,30.120413647480838,-2.061148752701057,29.65350474828429
+1522,-1.9394596090770273,28.73161013896985,-1.6786332606816778,29.426011893225343,-1.7817984778030336,29.206178062874212
+1523,-1.9394596090770273,29.426011893225343,-1.6786332606816778,30.120413647480838,-1.824329492497774,29.83690085537685
+1524,-2.200285957472377,30.120413647480838,-1.6786332606816778,31.509217155991823,-1.8842529587957249,30.19589204044958
+1525,-2.7219386542630764,31.509217155991823,-1.6786332606816778,34.2868241730138,-2.44955986404616,33.066009716369955
+1526,-1.6786332606816778,28.73161013896985,-1.4178069122863284,29.426011893225343,-1.6314962469017271,29.215839948083538
+1527,-1.6786332606816778,29.426011893225343,-1.4178069122863284,30.120413647480838,-1.5604813127106096,29.70950596099303
+1528,-1.4178069122863284,29.426011893225343,-1.1569805638909787,30.120413647480838,-1.2934759227958688,29.740950485012792
+1529,-1.6786332606816778,30.120413647480838,-1.1569805638909787,31.509217155991823,-1.4755280795054304,30.23494774323095
+1530,-1.1569805638909787,28.73161013896985,-0.6353278671002793,30.120413647480838,-0.8469375909238331,29.776276697957705
+1531,-1.1569805638909787,30.120413647480838,-0.6353278671002793,31.509217155991823,-0.6875014029958504,30.486116554588737
+1532,-1.6786332606816778,31.509217155991823,-0.6353278671002793,34.2868241730138,-1.2309400695288901,34.098994742231994
+1533,-4.808549441425873,34.2868241730138,-2.7219386542630764,39.84203820705774,-3.363665760509497,36.54404639842365
+1534,-2.7219386542630764,34.2868241730138,-1.6786332606816778,37.06443119003577,-2.194451795620817,35.28059755515197
+1535,-2.7219386542630764,37.06443119003577,-1.6786332606816778,39.84203820705774,-1.8568072423865616,38.248954607669766
+1536,-1.6786332606816778,34.2868241730138,-0.6353278671002793,37.06443119003577,-1.1706111036152889,36.665691181404014
+1537,-1.6786332606816778,37.06443119003577,-0.6353278671002793,39.84203820705774,-1.1411782084421942,37.344043696760394
+1538,-0.6353278671002793,23.176396104925903,1.4512829200625175,28.73161013896985,0.761233640387532,25.52409998372328
+1539,-0.6353278671002793,28.73161013896985,0.40797752648111907,31.509217155991823,-0.2928157895675039,30.383807179182533
+1540,-0.6353278671002793,31.509217155991823,-0.11367517030958013,32.89802066450281,-0.3400111315492311,31.71980199554523
+1541,-0.6353278671002793,32.89802066450281,-0.11367517030958013,34.2868241730138,-0.4751452280078071,34.18135796819062
+1542,-0.11367517030958013,31.509217155991823,0.14715117808576947,32.203618910247314,0.03432819124192308,32.08293042561418
+1543,-0.11367517030958013,32.203618910247314,0.14715117808576947,32.89802066450281,0.07069008987448887,32.471113074266405
+1544,0.14715117808576947,31.509217155991823,0.40797752648111907,32.203618910247314,0.3976771152207075,32.0603330617995
+1545,0.14715117808576947,32.203618910247314,0.2775643522834443,32.55081978737506,0.22246777221375783,32.427572112837545
+1546,0.14715117808576947,32.55081978737506,0.2775643522834443,32.89802066450281,0.25335037062574306,32.605920155471004
+1547,0.2775643522834443,32.203618910247314,0.40797752648111907,32.55081978737506,0.3379485117161162,32.506547740980736
+1548,0.2775643522834443,32.55081978737506,0.40797752648111907,32.89802066450281,0.3374715135664861,32.61101915374399
+1549,-0.11367517030958013,32.89802066450281,0.40797752648111907,34.2868241730138,0.3313262581392826,33.08318094683004
+1550,0.40797752648111907,28.73161013896985,1.4512829200625175,31.509217155991823,1.1777563919857261,30.585459494427703
+1551,0.40797752648111907,31.509217155991823,0.9296302232718183,32.89802066450281,0.5969374091536825,32.34503545248128
+1552,0.40797752648111907,32.89802066450281,0.9296302232718183,34.2868241730138,0.5370284651502171,33.58135006326663
+1553,0.9296302232718183,31.509217155991823,1.4512829200625175,32.89802066450281,1.2379204117966838,32.22363860605487
+1554,0.9296302232718183,32.89802066450281,1.4512829200625175,34.2868241730138,1.0824942555768142,34.108290127386695
+1555,1.4512829200625175,23.176396104925903,3.5378937072253143,28.73161013896985,2.6579003937213255,24.50784593368541
+1556,1.4512829200625175,28.73161013896985,2.494588313643916,31.509217155991823,1.9638966776344093,30.598614024208686
+1557,1.4512829200625175,31.509217155991823,2.494588313643916,34.2868241730138,1.8908558125287729,32.36988159290001
+1558,2.494588313643916,28.73161013896985,3.5378937072253143,31.509217155991823,2.9584835752461105,31.03190355236875
+1559,2.494588313643916,31.509217155991823,3.5378937072253143,34.2868241730138,2.8385043915746495,32.36114756046974
+1560,-0.6353278671002793,34.2868241730138,3.5378937072253143,45.39725224110169,0.18540121522083994,35.5399254177962
+1561,3.5378937072253143,0.9555399687501165,5.624504494388111,6.510754002794063,4.956980156677126,6.3623890972460675
+1562,3.5378937072253143,6.510754002794063,4.581199100806712,9.288361019816037,4.103652738736509,9.063084749546135
+1563,3.5378937072253143,9.288361019816037,4.059546404016013,10.677164528327022,3.873618143716402,10.152829624732426
+1564,3.5378937072253143,10.677164528327022,4.059546404016013,12.06596803683801,3.8029661509469324,11.313915059510778
+1565,4.059546404016013,9.288361019816037,4.581199100806712,10.677164528327022,4.085532426158554,9.719094453949404
+1566,4.059546404016013,10.677164528327022,4.581199100806712,12.06596803683801,4.2831853517711,11.424828816293347
+1567,4.711612275004387,6.8579548799218095,4.842025449202062,7.205155757049557,4.800786714571853,7.0359185607415515
+1568,4.842025449202062,6.510754002794063,5.1028517975974115,7.205155757049557,4.871927288313492,6.994752621509682
+1569,4.842025449202062,7.205155757049557,5.1028517975974115,7.89955751130505,5.044986036101492,7.241232985241166
+1570,5.1028517975974115,6.510754002794063,5.624504494388111,7.89955751130505,5.517749742552668,7.1893428473307806
+1571,4.581199100806712,9.288361019816037,5.624504494388111,12.06596803683801,5.346717684225189,10.372103807165301
+1572,5.624504494388111,0.9555399687501165,6.14615719117881,2.344343477261103,6.090165243292152,1.1364560980257965
+1573,6.14615719117881,0.9555399687501165,6.276570365376485,1.302740845877863,6.196919857953704,1.1841021073259226
+1574,6.14615719117881,1.302740845877863,6.276570365376485,1.6499417230056097,6.191850131033135,1.4215582844409804
+1575,6.276570365376485,0.9555399687501165,6.40698353957416,1.302740845877863,6.325029070453023,1.1942206365617845
+1576,6.14615719117881,1.6499417230056097,6.40698353957416,2.344343477261103,6.372248971492068,2.0820713275593072
+1577,6.40698353957416,0.9555399687501165,6.66780988796951,1.6499417230056097,6.531646052623161,1.1277057787644003
+1578,6.40698353957416,1.6499417230056097,6.66780988796951,2.344343477261103,6.457114831704548,2.0991767318447296
+1579,6.14615719117881,2.344343477261103,6.40698353957416,3.0387452315165966,6.375000806583838,2.426135343764656
+1580,6.14615719117881,3.0387452315165966,6.40698353957416,3.73314698577209,6.404897086107777,3.4127262040933157
+1581,6.40698353957416,2.344343477261103,6.66780988796951,3.0387452315165966,6.497519252528705,2.650440264285265
+1582,6.40698353957416,3.0387452315165966,6.537396713771835,3.385946108644343,6.497548785016994,3.335156499301281
+1583,6.40698353957416,3.385946108644343,6.537396713771835,3.73314698577209,6.449229066493385,3.4313130300984955
+1584,6.537396713771835,3.0387452315165966,6.66780988796951,3.385946108644343,6.585667058041627,3.34525884769237
+1585,6.537396713771835,3.385946108644343,6.66780988796951,3.73314698577209,6.609345606715819,3.5200879259740234
+1586,5.624504494388111,3.73314698577209,6.66780988796951,6.510754002794063,6.477044231255519,4.257745224041225
+1587,6.66780988796951,0.9555399687501165,7.711115281550908,3.73314698577209,7.11190975307969,3.23941527707446
+1588,6.66780988796951,3.73314698577209,7.189462584760209,5.121950494283077,6.953807735672135,4.357594589586584
+1589,7.189462584760209,3.73314698577209,7.319875758957884,4.080347862899837,7.3188582128402,3.88418730946666
+1590,7.319875758957884,3.73314698577209,7.450288933155559,4.080347862899837,7.396887300854317,3.9074900712928224
+1591,7.319875758957884,4.080347862899837,7.450288933155559,4.427548740027583,7.3706964005199,4.1986443447625
+1592,7.189462584760209,4.427548740027583,7.450288933155559,5.121950494283077,7.4043213461622,4.56623011933
+1593,7.450288933155559,3.73314698577209,7.711115281550908,4.427548740027583,7.5261699181926,3.9404532576481377
+1594,7.450288933155559,4.427548740027583,7.711115281550908,5.121950494283077,7.637424528119402,4.670085422763973
+1595,7.189462584760209,5.121950494283077,7.711115281550908,6.510754002794063,7.290445342593765,5.149588667257055
+1596,5.624504494388111,6.510754002794063,7.711115281550908,12.06596803683801,6.454623616759253,7.982084255887222
+1597,3.5378937072253143,12.06596803683801,7.711115281550908,23.176396104925903,4.196259410408424,18.490720454760964
+1598,7.711115281550908,0.9555399687501165,9.797726068713704,6.510754002794063,8.518912696760784,3.1511113970096054
+1599,7.711115281550908,6.510754002794063,9.797726068713704,12.06596803683801,9.217604659487057,7.800395254531343
+1600,9.797726068713704,0.9555399687501165,11.884336855876501,6.510754002794063,10.325735764016535,1.6987489730142598
+1601,9.797726068713704,6.510754002794063,11.884336855876501,12.06596803683801,10.200798059547393,9.266374649510032
+1602,7.711115281550908,12.06596803683801,11.884336855876501,23.176396104925903,9.628470478469756,13.30651208115274
+1603,3.5378937072253143,23.176396104925903,7.711115281550908,34.2868241730138,4.602716461588108,31.83034970336877
+1604,3.5378937072253143,34.2868241730138,5.624504494388111,39.84203820705774,5.037654894455749,36.99873040981519
+1605,5.624504494388111,34.2868241730138,6.66780988796951,37.06443119003577,6.1927569514458956,35.96298817264958
+1606,5.624504494388111,37.06443119003577,6.66780988796951,39.84203820705774,6.394059980208443,37.80902173319013
+1607,6.66780988796951,34.2868241730138,7.711115281550908,37.06443119003577,7.500251117643993,36.24581160863179
+1608,6.66780988796951,37.06443119003577,7.711115281550908,39.84203820705774,7.315416476457125,38.38287390765501
+1609,7.711115281550908,23.176396104925903,11.884336855876501,34.2868241730138,8.313479528170514,33.921885565432724
+1610,7.711115281550908,34.2868241730138,8.754420675132305,37.06443119003577,7.9804089319031775,35.96509201672651
+1611,7.711115281550908,37.06443119003577,8.754420675132305,39.84203820705774,8.143944473198143,38.37496018869445
+1612,8.754420675132305,34.2868241730138,9.797726068713704,37.06443119003577,9.36628446890653,36.09421874348674
+1613,8.754420675132305,37.06443119003577,9.276073371923005,38.45323469854675,8.93868069827106,37.72188381838024
+1614,8.754420675132305,38.45323469854675,9.015247023527655,39.147636452802246,8.970578807718686,38.78558764084034
+1615,9.015247023527655,38.45323469854675,9.276073371923005,39.147636452802246,9.04583890495562,38.75196930851228
+1616,9.276073371923005,37.06443119003577,9.797726068713704,38.45323469854675,9.32367522082975,38.071405843410005
+1617,9.276073371923005,38.45323469854675,9.797726068713704,39.84203820705774,9.651965807660696,39.06211793658582
+1618,7.711115281550908,39.84203820705774,9.797726068713704,45.39725224110169,9.306628982823105,40.810795615443354
+1619,9.797726068713704,34.2868241730138,11.884336855876501,39.84203820705774,10.75855038835783,37.20687896357845
+1620,9.797726068713704,39.84203820705774,11.884336855876501,45.39725224110169,10.792335944174003,41.14075539664365
+1621,-4.808549441425873,67.61810837727748,3.5378937072253143,89.83896451345326,-0.630316691928758,73.21166146769221
+1622,3.5378937072253143,67.61810837727748,7.711115281550908,78.72853644536536,4.1239601557529255,73.14624848580291
+1623,5.624504494388111,78.72853644536536,6.66780988796951,81.50614346238734,6.352474475109009,80.53630058025638
+1624,6.66780988796951,79.42293819962086,6.928636236364859,80.11733995387635,6.824459836966669,79.93355685181663
+1625,6.928636236364859,79.42293819962086,7.189462584760209,80.11733995387635,7.023268075314227,79.93375568818955
+1626,6.66780988796951,80.11733995387635,7.189462584760209,81.50614346238734,6.903932327585134,80.90789861329122
+1627,7.189462584760209,78.72853644536536,7.711115281550908,80.11733995387635,7.407097637488332,80.00003024663557
+1628,7.189462584760209,80.11733995387635,7.711115281550908,81.50614346238734,7.35656807439038,80.64446205736655
+1629,6.66780988796951,81.50614346238734,7.711115281550908,84.28375047940932,7.265214201566229,81.7383260634694
+1630,7.711115281550908,75.95092942834339,8.754420675132305,78.72853644536536,8.570879647260961,77.34812545200202
+1631,8.754420675132305,76.64533118259888,9.015247023527655,77.33973293685438,8.920731394196416,76.89140942272506
+1632,9.015247023527655,75.95092942834339,9.276073371923005,76.64533118259888,9.193428921264074,76.51830619621103
+1633,9.015247023527655,76.64533118259888,9.276073371923005,77.33973293685438,9.178154128872679,76.71875610281177
+1634,8.754420675132305,77.33973293685438,9.276073371923005,78.72853644536536,8.955105704946124,77.90440507323969
+1635,9.276073371923005,75.95092942834339,9.536899720318354,76.64533118259888,9.399904940795915,76.47710300557033
+1636,9.276073371923005,76.64533118259888,9.536899720318354,77.33973293685438,9.437771982773757,76.78706683516783
+1637,9.536899720318354,75.95092942834339,9.66731289451603,76.29813030547113,9.66166952523022,76.29280381069421
+1638,9.536899720318354,76.29813030547113,9.66731289451603,76.64533118259888,9.613090814434292,76.41976716751975
+1639,9.66731289451603,75.95092942834339,9.797726068713704,76.29813030547113,9.71664977300342,76.29017510088167
+1640,9.66731289451603,76.29813030547113,9.797726068713704,76.64533118259888,9.72683227110369,76.44027948616508
+1641,9.536899720318354,76.64533118259888,9.797726068713704,77.33973293685438,9.62293680994417,76.90400506032212
+1642,9.276073371923005,77.33973293685438,9.797726068713704,78.72853644536536,9.514226350411443,77.93601895595361
+1643,9.797726068713704,73.17332241132142,10.841031462295103,75.95092942834339,10.830681214405,75.945773328431
+1644,9.797726068713704,75.95092942834339,9.928139242911378,76.29813030547113,9.875668548486187,76.28054987013661
+1645,9.797726068713704,76.29813030547113,9.928139242911378,76.64533118259888,9.8538706407079,76.4842887582529
+1646,9.928139242911378,75.95092942834339,10.058552417109054,76.29813030547113,9.989245401805013,76.26428432262351
+1647,9.928139242911378,76.29813030547113,10.058552417109054,76.64533118259888,9.990423216474815,76.41378740247958
+1648,9.797726068713704,76.64533118259888,10.058552417109054,77.33973293685438,9.956061671940766,76.93018620117483
+1649,10.058552417109054,75.95092942834339,10.18896559130673,76.29813030547113,10.116112659174238,76.21976787256408
+1650,10.058552417109054,76.29813030547113,10.18896559130673,76.64533118259888,10.121039175399986,76.42684304996739
+1651,10.18896559130673,75.95092942834339,10.319378765504403,76.29813030547113,10.243151363727646,76.17124512025549
+1652,10.18896559130673,76.29813030547113,10.319378765504403,76.64533118259888,10.27119070593896,76.4133058916176
+1653,10.058552417109054,76.64533118259888,10.319378765504403,77.33973293685438,10.097868556317048,77.05104066899737
+1654,9.797726068713704,77.33973293685438,10.319378765504403,78.72853644536536,10.151815643291618,77.54870798270952
+1655,10.319378765504403,75.95092942834339,10.580205113899753,76.64533118259888,10.45339786448525,76.19201142728629
+1656,10.319378765504403,76.64533118259888,10.580205113899753,77.33973293685438,10.431992577413798,77.2229467958987
+1657,10.580205113899753,75.95092942834339,10.841031462295103,76.64533118259888,10.70194667896467,76.32625626951886
+1658,10.580205113899753,76.64533118259888,10.841031462295103,77.33973293685438,10.766206530177945,76.70451098665909
+1659,10.319378765504403,77.33973293685438,10.841031462295103,78.72853644536536,10.52874398018027,77.8072456386024
+1660,10.841031462295103,73.17332241132142,11.884336855876501,75.95092942834339,11.310728261100635,75.8083041155493
+1661,10.841031462295103,75.95092942834339,11.101857810690452,76.64533118259888,10.934061819270791,76.16528553633633
+1662,10.841031462295103,76.64533118259888,11.101857810690452,77.33973293685438,10.991995289156108,76.94701754427354
+1663,11.101857810690452,75.95092942834339,11.362684159085802,76.64533118259888,11.209718406520356,76.23334589429153
+1664,11.101857810690452,76.64533118259888,11.362684159085802,77.33973293685438,11.263604031457506,76.98120593550996
+1665,10.841031462295103,77.33973293685438,11.362684159085802,78.72853644536536,11.13532018018835,77.70154319919135
+1666,11.362684159085802,75.95092942834339,11.884336855876501,77.33973293685438,11.6433503641058,76.43860899320474
+1667,11.362684159085802,77.33973293685438,11.884336855876501,78.72853644536536,11.610395263016139,78.1303000883191
+1668,7.711115281550908,78.72853644536536,9.797726068713704,84.28375047940932,8.370932092951932,80.6087347071265
+1669,9.797726068713704,78.72853644536536,11.884336855876501,84.28375047940932,11.2293204880009,79.40777324370913
+1670,-21.501435738728247,112.05982064962905,-13.154992590077061,134.28067678580484,-17.698349432641706,128.71898639151453
+1671,-13.154992590077061,100.94939258154116,-8.981771015751466,112.05982064962905,-10.44431250042325,105.68450212711
+1672,-8.981771015751466,100.94939258154116,-6.8951602285886695,106.5046066155851,-7.112471343630178,106.45024236118806
+1673,-8.981771015751466,109.28221363260707,-7.938465622170067,112.05982064962905,-8.001099461088629,110.51631916044552
+1674,-7.938465622170067,107.89341012409608,-7.416812925379368,109.28221363260707,-7.565393844463825,108.95077235564307
+1675,-7.416812925379368,106.5046066155851,-7.155986576984018,107.19900836984058,-7.290825881032594,106.67426601371193
+1676,-7.155986576984018,106.5046066155851,-6.8951602285886695,107.19900836984058,-6.979162383039643,106.80860678211222
+1677,-7.155986576984018,107.19900836984058,-7.025573402786344,107.54620924696833,-7.131757353356976,107.41247422749815
+1678,-7.155986576984018,107.54620924696833,-7.025573402786344,107.89341012409608,-7.0452972042166335,107.56492531354166
+1679,-7.025573402786344,107.19900836984058,-6.8951602285886695,107.54620924696833,-6.911547667806752,107.4757913813542
+1680,-7.025573402786344,107.54620924696833,-6.8951602285886695,107.89341012409608,-6.928771336789796,107.63720197112536
+1681,-7.416812925379368,107.89341012409608,-6.8951602285886695,109.28221363260707,-7.18653523469282,108.74775569742494
+1682,-7.938465622170067,109.28221363260707,-7.677639273774718,109.97661538686256,-7.725800563080195,109.66222307502683
+1683,-7.938465622170067,109.97661538686256,-7.8080524479723925,110.32381626399031,-7.8772686902245335,110.21538601545322
+1684,-7.938465622170067,110.32381626399031,-7.8080524479723925,110.67101714111806,-7.840482850136499,110.38907726941983
+1685,-7.8080524479723925,109.97661538686256,-7.677639273774718,110.32381626399031,-7.728399809872447,110.24866966432178
+1686,-7.8080524479723925,110.32381626399031,-7.677639273774718,110.67101714111806,-7.766757217488477,110.407820527039
+1687,-7.677639273774718,109.28221363260707,-7.416812925379368,109.97661538686256,-7.5217934564672095,109.60272440188017
+1688,-7.677639273774718,109.97661538686256,-7.416812925379368,110.67101714111806,-7.575781847564559,110.38898873097959
+1689,-7.938465622170067,110.67101714111806,-7.416812925379368,112.05982064962905,-7.642208328770596,110.89395377813165
+1690,-7.416812925379368,109.28221363260707,-7.155986576984018,109.97661538686256,-7.305053559491766,109.68713529173836
+1691,-7.416812925379368,109.97661538686256,-7.155986576984018,110.67101714111806,-7.3238889935439095,110.40080676002182
+1692,-7.155986576984018,109.28221363260707,-6.8951602285886695,109.97661538686256,-6.94541345284543,109.51043461495155
+1693,-7.155986576984018,109.97661538686256,-7.025573402786344,110.32381626399031,-7.0691414347563875,110.23478982065134
+1694,-7.155986576984018,110.32381626399031,-7.025573402786344,110.67101714111806,-7.063877469524198,110.43967307633406
+1695,-7.025573402786344,109.97661538686256,-6.8951602285886695,110.32381626399031,-6.983775008707201,110.25366047067251
+1696,-7.025573402786344,110.32381626399031,-6.8951602285886695,110.67101714111806,-6.989234574020811,110.42460876495922
+1697,-7.416812925379368,110.67101714111806,-6.8951602285886695,112.05982064962905,-7.064039673947189,111.35784946789389
+1698,-6.8951602285886695,103.72699959856314,-5.851854835007272,106.5046066155851,-6.121876664072121,106.10185274335363
+1699,-5.851854835007272,103.72699959856314,-5.330202138216572,105.11580310707413,-5.370205286906351,105.0111716064671
+1700,-5.851854835007272,105.11580310707413,-5.591028486611922,105.81020486132962,-5.723666094909527,105.65684205193136
+1701,-5.591028486611922,105.11580310707413,-5.460615312414247,105.46300398420188,-5.4827963110765525,105.32523863790132
+1702,-5.591028486611922,105.46300398420188,-5.460615312414247,105.81020486132962,-5.561489475551611,105.53566129803936
+1703,-5.460615312414247,105.11580310707413,-5.330202138216572,105.46300398420188,-5.39559472976405,105.26588853669058
+1704,-5.330202138216572,103.72699959856314,-4.808549441425873,105.11580310707413,-5.085337475881135,104.31523961015787
+1705,-5.330202138216572,105.11580310707413,-4.808549441425873,106.5046066155851,-5.294096521851278,105.21912778103885
+1706,-6.8951602285886695,106.5046066155851,-6.634333880193321,107.19900836984058,-6.731602989323665,106.86479227101111
+1707,-6.8951602285886695,107.19900836984058,-6.634333880193321,107.89341012409608,-6.826309396257015,107.56455371859845
+1708,-6.634333880193321,106.5046066155851,-6.503920705995646,106.85180749271285,-6.574741815961854,106.75071392531022
+1709,-6.634333880193321,106.85180749271285,-6.503920705995646,107.19900836984058,-6.560818843318308,106.86540078974888
+1710,-6.503920705995646,106.5046066155851,-6.373507531797971,106.85180749271285,-6.4243242355752646,106.77221592204512
+1711,-6.503920705995646,106.85180749271285,-6.373507531797971,107.19900836984058,-6.425703778750735,106.90774677539909
+1712,-6.634333880193321,107.19900836984058,-6.373507531797971,107.89341012409608,-6.553383688330604,107.74765944993659
+1713,-6.8951602285886695,107.89341012409608,-6.373507531797971,109.28221363260707,-6.870479846753541,109.03655270701738
+1714,-6.373507531797971,106.5046066155851,-6.243094357600296,106.85180749271285,-6.302837287483977,106.7852270482778
+1715,-6.373507531797971,106.85180749271285,-6.243094357600296,107.19900836984058,-6.311278529187898,106.95268466154766
+1716,-6.243094357600296,106.5046066155851,-6.112681183402621,106.85180749271285,-6.18946673025703,106.79606881903159
+1717,-6.243094357600296,106.85180749271285,-6.112681183402621,107.19900836984058,-6.204349700929289,106.89711500626358
+1718,-6.373507531797971,107.19900836984058,-6.112681183402621,107.89341012409608,-6.304065916843037,107.3015888335125
+1719,-6.112681183402621,106.5046066155851,-5.851854835007272,107.19900836984058,-6.108043502642267,106.78460959509809
+1720,-6.8951602285886695,109.28221363260707,-5.851854835007272,112.05982064962905,-6.772585518677386,110.34044488922486
+1721,-13.154992590077061,123.17024871771694,-8.981771015751466,134.28067678580484,-10.171266645322184,126.95905942042666
+1722,-8.981771015751466,112.05982064962905,-7.938465622170067,114.83742766665102,-8.086954594308718,113.20238022230733
+1723,-8.981771015751466,114.83742766665102,-8.720944667356116,115.53182942090652,-8.791030006989292,115.17775112516296
+1724,-8.981771015751466,115.53182942090652,-8.720944667356116,116.22623117516201,-8.742990031154564,115.77944709968963
+1725,-8.720944667356116,114.83742766665102,-8.59053149315844,115.18462854377877,-8.666159351892208,115.16406563457562
+1726,-8.720944667356116,115.18462854377877,-8.59053149315844,115.53182942090652,-8.642039390700507,115.2418534317443
+1727,-8.59053149315844,114.83742766665102,-8.460118318960767,115.18462854377877,-8.526477934963468,115.09722832267298
+1728,-8.59053149315844,115.18462854377877,-8.460118318960767,115.53182942090652,-8.528220220524194,115.28612046195053
+1729,-8.720944667356116,115.53182942090652,-8.460118318960767,116.22623117516201,-8.585297991778964,115.95116224739911
+1730,-8.981771015751466,116.22623117516201,-8.460118318960767,117.615034683673,-8.5888293847789,116.374018723481
+1731,-8.460118318960767,114.83742766665102,-8.329705144763093,115.18462854377877,-8.402499721323165,115.11487086213874
+1732,-8.460118318960767,115.18462854377877,-8.329705144763093,115.53182942090652,-8.413867143958546,115.31540110359504
+1733,-8.329705144763093,114.83742766665102,-8.199291970565417,115.18462854377877,-8.260010587360133,115.0855648231498
+1734,-8.329705144763093,115.18462854377877,-8.199291970565417,115.53182942090652,-8.262580589274172,115.3535378055764
+1735,-8.460118318960767,115.53182942090652,-8.199291970565417,116.22623117516201,-8.39787351951493,115.74533717484779
+1736,-8.199291970565417,114.83742766665102,-7.938465622170067,115.53182942090652,-8.145591536639232,115.22672294013887
+1737,-8.460118318960767,116.22623117516201,-7.938465622170067,117.615034683673,-8.354077741183064,116.5344249288252
+1738,-7.938465622170067,112.05982064962905,-6.8951602285886695,114.83742766665102,-7.4806092280200165,112.83049989932196
+1739,-8.981771015751466,117.615034683673,-6.8951602285886695,123.17024871771694,-8.677231166371454,121.2327964612004
+1740,-6.8951602285886695,112.05982064962905,-4.808549441425873,117.615034683673,-6.886186999637,113.70836100301
+1741,-6.8951602285886695,117.615034683673,-4.808549441425873,123.17024871771694,-5.702605901956964,120.04901472629352
+1742,-8.981771015751466,124.55905222622792,-8.720944667356116,125.25345398048341,-8.904992386947256,125.11915588683925
+1743,-8.981771015751466,125.25345398048341,-8.720944667356116,125.94785573473891,-8.806908489882357,125.46023744983448
+1744,-8.720944667356116,124.55905222622792,-8.460118318960767,125.25345398048341,-8.636315314608618,125.15526683154776
+1745,-8.720944667356116,125.25345398048341,-8.460118318960767,125.94785573473891,-8.58695057044461,125.55120555326657
+1746,-8.981771015751466,125.94785573473891,-8.720944667356116,126.6422574889944,-8.856202102182008,126.32914091656471
+1747,-8.981771015751466,126.6422574889944,-8.720944667356116,127.3366592432499,-8.742211876973865,126.70191836619563
+1748,-8.720944667356116,125.94785573473891,-8.460118318960767,126.6422574889944,-8.5487270192045,126.43786167352232
+1749,-8.720944667356116,126.6422574889944,-8.460118318960767,127.3366592432499,-8.528612858155146,126.89998991064195
+1750,-8.460118318960767,125.94785573473891,-7.938465622170067,127.3366592432499,-8.405733972752296,126.87095640373498
+1751,-21.501435738728247,134.28067678580484,-17.328214164402652,145.39110485389273,-19.813203066699543,141.96433108094968
+1752,-21.501435738728247,145.39110485389273,-19.41482495156545,150.94631888793668,-20.086465856769703,147.05210014990533
+1753,-19.41482495156545,145.39110485389273,-18.37151955798405,148.1687118709147,-18.9955529044479,146.34059552961745
+1754,-18.37151955798405,145.39110485389273,-17.328214164402652,148.1687118709147,-17.583225541441674,145.78170394643416
+1755,-17.328214164402652,134.28067678580484,-13.154992590077061,145.39110485389273,-15.995437820341108,144.5479759015096
+1756,-17.328214164402652,145.39110485389273,-17.067387816007304,146.08550660814822,-17.227889030165723,145.58493391876672
+1757,-17.067387816007304,145.39110485389273,-16.936974641809627,145.7383057310205,-16.969229354183966,145.5971376932769
+1758,-17.067387816007304,145.7383057310205,-16.936974641809627,146.08550660814822,-16.96899536417905,145.75185253531336
+1759,-16.936974641809627,145.39110485389273,-16.806561467611953,145.7383057310205,-16.867115680563327,145.67689654655362
+1760,-16.936974641809627,145.7383057310205,-16.806561467611953,146.08550660814822,-16.908486202236688,145.75850505819324
+1761,-16.806561467611953,145.39110485389273,-16.284908770821254,146.77990836240372,-16.613031445265097,145.5707129913288
+1762,-16.284908770821254,145.39110485389273,-15.241603377239857,148.1687118709147,-16.17603315076123,145.43289446337778
+1763,-15.241603377239857,145.39110485389273,-13.154992590077061,150.94631888793668,-14.6783413307053,145.447421043463
+1764,-21.501435738728247,156.50153292198064,-13.154992590077061,178.7223890581564,-17.012622760185874,172.39665376610526
+1765,-13.154992590077061,134.28067678580484,-8.981771015751466,145.39110485389273,-10.955515611309535,142.42520718206353
+1766,-13.154992590077061,145.39110485389273,-8.981771015751466,156.50153292198064,-9.636019259152304,147.89343340527603
+1767,-8.981771015751466,134.28067678580484,-4.808549441425873,145.39110485389273,-5.9350445184488,144.67998709485127
+1768,-8.981771015751466,145.39110485389273,-4.808549441425873,156.50153292198064,-6.538004542148977,147.99055285616373
+1769,-13.154992590077061,156.50153292198064,-4.808549441425873,178.7223890581564,-9.177992332047213,159.86695362998805
+1770,-4.808549441425873,89.83896451345326,-0.6353278671002793,100.94939258154116,-0.91624880276637,100.402197349345
+1771,-4.808549441425873,100.94939258154116,-0.6353278671002793,112.05982064962905,-2.794599963522687,103.54784843132548
+1772,-0.6353278671002793,89.83896451345326,3.5378937072253143,100.94939258154116,3.1661158926719906,99.04313897739088
+1773,-0.6353278671002793,100.94939258154116,0.40797752648111907,103.72699959856314,-0.17988680845112806,102.68104205307404
+1774,0.40797752648111907,100.94939258154116,1.4512829200625175,103.72699959856314,1.3210733273075932,103.63271247621721
+1775,0.40797752648111907,103.72699959856314,0.9296302232718183,105.11580310707413,0.908398116716947,104.12184810483693
+1776,0.9296302232718183,103.72699959856314,1.190456571667168,104.42140135281863,1.099284311654966,104.02790054885163
+1777,0.9296302232718183,104.42140135281863,1.190456571667168,105.11580310707413,1.052623450932325,104.70756338892251
+1778,1.190456571667168,103.72699959856314,1.3208697458648428,104.07420047569089,1.2990319123542284,103.84352156489558
+1779,1.3208697458648428,103.72699959856314,1.4512829200625175,104.07420047569089,1.3714832630704852,103.85162374807197
+1780,-0.6353278671002793,106.5046066155851,1.4512829200625175,112.05982064962905,0.821214261703023,110.82006504534176
+1781,1.4512829200625175,100.94939258154116,2.494588313643916,103.72699959856314,1.9737676674316889,102.82189546012226
+1782,1.4512829200625175,103.72699959856314,2.494588313643916,106.5046066155851,1.4622132313809988,103.79793686652444
+1783,2.494588313643916,100.94939258154116,3.016241010434615,102.33819609005215,2.9184642355182837,101.67849208039047
+1784,3.016241010434615,100.94939258154116,3.2770673588299646,101.64379433579666,3.116498352685686,101.53929731308601
+1785,3.016241010434615,101.64379433579666,3.2770673588299646,102.33819609005215,3.113829518669412,101.69066491372024
+1786,3.2770673588299646,100.94939258154116,3.5378937072253143,101.64379433579666,3.3336748965655034,101.39133242449161
+1787,3.2770673588299646,101.64379433579666,3.5378937072253143,102.33819609005215,3.449683855037345,101.96042151319453
+1788,3.016241010434615,102.33819609005215,3.5378937072253143,103.72699959856314,3.214867963020892,102.85448054645208
+1789,1.4512829200625175,106.5046066155851,3.5378937072253143,112.05982064962905,1.6928733061101635,110.5862318175624
+1790,-4.808549441425873,112.05982064962905,3.5378937072253143,134.28067678580484,-2.4086859491009602,117.7272401790359
+1791,3.5378937072253143,95.3941785474972,4.581199100806712,98.17178556451918,3.6964667673289,98.09136794567475
+1792,3.5378937072253143,98.17178556451918,3.668306881422989,98.51898644164693,3.6173887445187054,98.50312032562988
+1793,3.5378937072253143,98.51898644164693,3.668306881422989,98.86618731877468,3.598960991092104,98.67882401998476
+1794,3.668306881422989,98.17178556451918,3.7987200556206635,98.51898644164693,3.7135091601341776,98.50138372868996
+1795,3.668306881422989,98.51898644164693,3.7987200556206635,98.86618731877468,3.7143965402024857,98.65807515960374
+1796,3.5378937072253143,98.86618731877468,3.7987200556206635,99.56058907303017,3.5712416939569045,98.87594128423207
+1797,4.059546404016013,99.56058907303017,4.581199100806712,100.94939258154116,4.236130085744187,100.58508633653739
+1798,4.581199100806712,99.56058907303017,5.1028517975974115,100.94939258154116,4.971681612036112,100.62306308279634
+1799,5.1028517975974115,99.56058907303017,5.363678145992761,100.25499082728567,5.318599038294667,100.23766338482812
+1800,5.1028517975974115,100.25499082728567,5.363678145992761,100.94939258154116,5.2600037276713385,100.52216237608793
+1801,5.363678145992761,99.56058907303017,5.624504494388111,100.25499082728567,5.438291877466669,100.21567148893172
+1802,5.363678145992761,100.25499082728567,5.624504494388111,100.94939258154116,5.453968121216636,100.48561616327181
+1803,5.624504494388111,98.17178556451918,6.66780988796951,100.94939258154116,5.908928802533252,100.41297333641656
+1804,6.66780988796951,98.17178556451918,7.711115281550908,100.94939258154116,7.2356267064377775,100.23742979750389
+1805,3.5378937072253143,100.94939258154116,5.624504494388111,106.5046066155851,4.656977476770392,101.81428532680916
+1806,5.624504494388111,100.94939258154116,5.8853308427834605,101.64379433579666,5.805283179216113,101.08200118585403
+1807,5.624504494388111,101.64379433579666,5.8853308427834605,102.33819609005215,5.837247008706519,102.14088890251361
+1808,5.8853308427834605,100.94939258154116,6.14615719117881,101.64379433579666,6.026300772501024,101.23529654874815
+1809,5.8853308427834605,101.64379433579666,6.14615719117881,102.33819609005215,6.075531493305107,102.10785458235594
+1810,5.624504494388111,102.33819609005215,6.14615719117881,103.72699959856314,6.12538799291705,102.35913517248376
+1811,6.14615719117881,100.94939258154116,6.40698353957416,101.64379433579666,6.288505836659352,101.35506718661982
+1812,6.14615719117881,101.64379433579666,6.40698353957416,102.33819609005215,6.231218862924223,102.02455345020202
+1813,6.40698353957416,100.94939258154116,6.66780988796951,101.64379433579666,6.550086560599642,101.31787400118992
+1814,6.40698353957416,101.64379433579666,6.66780988796951,102.33819609005215,6.44487269898316,101.79168325727777
+1815,6.66780988796951,100.94939258154116,7.711115281550908,103.72699959856314,6.8165534111759,101.2536442807194
+1816,7.711115281550908,95.3941785474972,8.754420675132305,98.17178556451918,8.665835621331,97.648375756773
+1817,7.711115281550908,98.17178556451918,7.971941629946257,98.86618731877468,7.876058993974113,98.38109658646353
+1818,7.711115281550908,98.86618731877468,7.971941629946257,99.56058907303017,7.935075409406723,99.21684903215802
+1819,7.971941629946257,98.17178556451918,8.232767978341606,98.86618731877468,8.073371098588554,98.5829324486753
+1820,7.971941629946257,98.86618731877468,8.232767978341606,99.56058907303017,8.06914456568703,98.91961603786399
+1821,7.711115281550908,99.56058907303017,8.232767978341606,100.94939258154116,7.978889492754396,100.19428141605626
+1822,8.232767978341606,98.17178556451918,8.754420675132305,99.56058907303017,8.52957233107074,98.559976070046
+1823,8.232767978341606,99.56058907303017,8.754420675132305,100.94939258154116,8.376172599282203,99.94116769332332
+1824,8.754420675132305,98.17178556451918,9.797726068713704,100.94939258154116,9.322015725811225,99.3433851532541
+1825,9.797726068713704,98.17178556451918,10.841031462295103,100.94939258154116,10.460132386938671,99.1633371131516
+1826,10.841031462295103,98.17178556451918,11.884336855876501,100.94939258154116,11.498165412955906,99.61856954267591
+1827,7.711115281550908,100.94939258154116,11.884336855876501,112.05982064962905,11.04044890992,106.02994237938766
+1828,3.5378937072253143,112.05982064962905,4.581199100806712,114.83742766665102,4.5057318741218,114.14167421749725
+1829,4.581199100806712,112.05982064962905,5.624504494388111,114.83742766665102,4.69244107116886,114.48634879401617
+1830,4.581199100806712,114.83742766665102,4.842025449202062,115.53182942090652,4.761064330054703,114.95635064837215
+1831,4.842025449202062,114.83742766665102,4.972438623399737,115.18462854377877,4.918575415782724,114.92849233111446
+1832,4.842025449202062,115.18462854377877,4.972438623399737,115.53182942090652,4.902467934488628,115.44977141219714
+1833,4.972438623399737,114.83742766665102,5.1028517975974115,115.18462854377877,4.997946542865315,115.00378867911431
+1834,4.842025449202062,115.53182942090652,5.1028517975974115,116.22623117516201,5.0621936872736155,115.54984108299897
+1835,5.1028517975974115,114.83742766665102,5.624504494388111,116.22623117516201,5.267263121488199,115.54890283439545
+1836,5.1028517975974115,116.22623117516201,5.624504494388111,117.615034683673,5.624328923603268,117.09783498577
+1837,3.5378937072253143,117.615034683673,5.624504494388111,123.17024871771694,5.039178243087,118.36904236453002
+1838,5.624504494388111,112.05982064962905,7.711115281550908,117.615034683673,6.007138776579583,116.35056584171281
+1839,5.624504494388111,117.615034683673,7.711115281550908,123.17024871771694,7.0098679005881,121.9339032
+1840,3.5378937072253143,123.17024871771694,7.711115281550908,134.28067678580484,7.220373071790818,125.5000448092446
+1841,7.711115281550908,112.05982064962905,11.884336855876501,123.17024871771694,10.852032520109962,122.57763538939861
+1842,7.711115281550908,123.17024871771694,11.884336855876501,134.28067678580484,10.102091522883898,124.74950646111789
+1843,-4.808549441425873,134.28067678580484,11.884336855876501,178.7223890581564,4.675681725106429,155.3149124238534
+1844,11.884336855876501,-176.81130912065618,20.230780004527688,-154.5904529844804,19.642282777298437,-155.23149862871404
+1845,20.230780004527688,-160.14566701852436,21.274085398109086,-157.36806000150239,21.26971506839164,-157.79493070656397
+1846,20.230780004527688,-157.36806000150239,21.274085398109086,-154.5904529844804,20.860865815525013,-156.46857384795723
+1847,21.274085398109086,-158.75686351001337,21.534911746504434,-158.06246175575788,21.389640183133828,-158.14358154058615
+1848,21.274085398109086,-158.06246175575788,21.40449857230676,-157.71526087863015,21.339382558647277,-157.8859264203897
+1849,21.274085398109086,-157.71526087863015,21.40449857230676,-157.36806000150239,21.305948623318503,-157.69239240408876
+1850,21.40449857230676,-158.06246175575788,21.534911746504434,-157.71526087863015,21.455760323657696,-157.93074251635926
+1851,21.534911746504434,-158.75686351001337,21.795738094899786,-158.06246175575788,21.57837858943322,-158.1521734049447
+1852,21.534911746504434,-158.06246175575788,21.795738094899786,-157.36806000150239,21.648183566637684,-157.9488861486088
+1853,12.9276422494579,-93.48309860999697,13.970947643039297,-90.705491592975,13.940908956091903,-90.75270274756147
+1854,12.9276422494579,-89.316688084464,13.4492949462486,-87.92788457595303,13.39575628038337,-88.54557126224965
+1855,13.4492949462486,-90.705491592975,13.970947643039297,-89.316688084464,13.82125064578784,-89.82423125409375
+1856,13.4492949462486,-89.316688084464,13.710121294643947,-88.62228633020851,13.671723114889412,-89.18367408602477
+1857,13.4492949462486,-88.62228633020851,13.710121294643947,-87.92788457595303,13.486563715207877,-88.17585998265476
+1858,13.710121294643947,-89.316688084464,13.970947643039297,-88.62228633020851,13.781175496528629,-89.1390899219722
+1859,13.710121294643947,-88.62228633020851,13.970947643039297,-87.92788457595303,13.798492380802664,-88.12910672117499
+1860,13.970947643039297,-99.03831264404093,16.057558430202093,-93.48309860999697,15.85831824235343,-96.74601015376903
+1861,13.970947643039297,-92.09429510148598,14.492600339829995,-90.705491592975,14.235174769858485,-90.84952476493059
+1862,14.492600339829995,-93.48309860999697,15.014253036620694,-92.09429510148598,14.942012767235596,-92.25760639037004
+1863,14.492600339829995,-92.09429510148598,14.753426688225344,-91.39989334723049,14.591817065865284,-91.60748228503627
+1864,14.492600339829995,-91.39989334723049,14.753426688225344,-90.705491592975,14.623946827788226,-90.8518389573827
+1865,14.753426688225344,-91.74709422435824,14.88383986242302,-91.39989334723049,14.844835376449492,-91.5224803875795
+1866,14.88383986242302,-92.09429510148598,15.014253036620694,-91.74709422435824,14.973875665301714,-91.78544939726972
+1867,14.88383986242302,-91.74709422435824,15.014253036620694,-91.39989334723049,14.897965584448668,-91.46833886279937
+1868,14.753426688225344,-91.39989334723049,15.014253036620694,-90.705491592975,14.834747535914476,-91.11799512285788
+1869,13.970947643039297,-90.705491592975,14.231773991434647,-90.0110898387195,14.116836126404378,-90.39454074142215
+1870,13.970947643039297,-90.0110898387195,14.231773991434647,-89.316688084464,14.042281491829012,-89.62415524914626
+1871,14.231773991434647,-90.705491592975,14.492600339829995,-90.0110898387195,14.425987735638794,-90.55653465298795
+1872,14.231773991434647,-90.0110898387195,14.492600339829995,-89.316688084464,14.320321727590784,-89.60953333746501
+1873,13.970947643039297,-89.316688084464,14.492600339829995,-87.92788457595303,14.302029683686499,-89.11874134883993
+1874,14.492600339829995,-90.705491592975,14.623013514027669,-90.35829071584725,14.560551803317022,-90.54434159070976
+1875,14.623013514027669,-90.705491592975,14.753426688225344,-90.35829071584725,14.64594524696108,-90.55681421379111
+1876,14.623013514027669,-90.35829071584725,14.753426688225344,-90.0110898387195,14.727777777777776,-90.0445156
+1877,14.492600339829995,-90.0110898387195,14.753426688225344,-89.316688084464,14.626294779576147,-89.46676853126228
+1878,14.753426688225344,-90.705491592975,15.014253036620694,-90.0110898387195,14.81893883598572,-90.24929101167156
+1879,14.753426688225344,-90.0110898387195,15.014253036620694,-89.316688084464,14.869180989685091,-89.4863554221485
+1880,14.492600339829995,-89.316688084464,15.014253036620694,-87.92788457595303,14.809308620281277,-88.6830225681946
+1881,15.014253036620694,-93.48309860999697,16.057558430202093,-90.705491592975,15.150027890112703,-92.12346395170785
+1882,15.014253036620694,-90.705491592975,15.535905733411393,-89.316688084464,15.095037096892014,-89.4716057814076
+1883,15.014253036620694,-89.316688084464,15.535905733411393,-87.92788457595303,15.359432388679702,-88.34952057471743
+1884,15.535905733411393,-89.316688084464,16.057558430202093,-87.92788457595303,15.597859668524183,-88.44359940348997
+1885,16.057558430202093,-104.59352667808487,18.14416921736489,-99.03831264404093,17.302340761387118,-99.76239166003862
+1886,18.14416921736489,-110.14874071212881,20.230780004527688,-104.59352667808487,19.29182852325225,-104.79305226619749
+1887,18.14416921736489,-104.59352667808487,19.18747461094629,-101.8159196610629,18.80050477237565,-103.71932186329498
+1888,18.14416921736489,-100.42711615255192,18.66582191415559,-99.03831264404093,18.541036834829875,-99.25690759745427
+1889,18.66582191415559,-100.42711615255192,19.18747461094629,-99.03831264404093,18.927519246619646,-99.28702283441872
+1890,19.18747461094629,-104.59352667808487,19.70912730773699,-103.2047231695739,19.433663839136575,-103.64414757172968
+1891,19.18747461094629,-103.2047231695739,19.70912730773699,-101.8159196610629,19.48434010198925,-102.09999647790197
+1892,19.70912730773699,-104.59352667808487,20.230780004527688,-103.2047231695739,20.090086642909583,-103.57191453216274
+1893,19.70912730773699,-103.2047231695739,20.230780004527688,-101.8159196610629,19.981672069754527,-102.45416158611509
+1894,19.18747461094629,-101.8159196610629,19.448300959341637,-101.12151790680741,19.41451947365643,-101.67201276242288
+1895,19.448300959341637,-101.8159196610629,19.578714133539314,-101.46871878393516,19.51642836648626,-101.62906331591964
+1896,19.448300959341637,-101.46871878393516,19.578714133539314,-101.12151790680741,19.54316377445398,-101.30840398157079
+1897,19.578714133539314,-101.8159196610629,19.70912730773699,-101.46871878393516,19.649330593702743,-101.53679421166763
+1898,19.578714133539314,-101.46871878393516,19.70912730773699,-101.12151790680741,19.671709487618166,-101.22179581165217
+1899,19.448300959341637,-101.12151790680741,19.70912730773699,-100.42711615255192,19.642344846096687,-100.7375950322679
+1900,19.18747461094629,-100.42711615255192,19.448300959341637,-99.73271439829642,19.300875253930045,-99.9625725542086
+1901,19.18747461094629,-99.73271439829642,19.317887785143963,-99.38551352116868,19.27460255601888,-99.5835204066039
+1902,19.18747461094629,-99.38551352116868,19.317887785143963,-99.03831264404093,19.2784040791048,-99.18967650170721
+1903,19.317887785143963,-99.73271439829642,19.448300959341637,-99.38551352116868,19.37288320319644,-99.61773387157523
+1904,19.317887785143963,-99.38551352116868,19.448300959341637,-99.03831264404093,19.388008127194233,-99.173980126774
+1905,19.448300959341637,-100.42711615255192,19.70912730773699,-99.73271439829642,19.533629020308723,-100.24634904866369
+1906,19.448300959341637,-99.38551352116868,19.578714133539314,-99.03831264404093,19.493720851320553,-99.15552547860466
+1907,19.578714133539314,-99.38551352116868,19.70912730773699,-99.03831264404093,19.64309843030542,-99.14768699517761
+1908,19.70912730773699,-101.8159196610629,20.230780004527688,-100.42711615255192,19.86270709125014,-101.2365830328759
+1909,19.70912730773699,-100.42711615255192,20.230780004527688,-99.03831264404093,19.951731109395695,-99.4650963963701
+1910,16.057558430202093,-99.03831264404093,17.10086382378349,-96.26070562701895,16.74369928321703,-96.788317423358
+1911,16.057558430202093,-96.26070562701895,17.10086382378349,-93.48309860999697,16.416528272056603,-95.1082526182951
+1912,17.10086382378349,-99.03831264404093,18.14416921736489,-96.26070562701895,17.67262122511001,-97.40836005870504
+1913,17.10086382378349,-94.87190211850796,17.62251652057419,-93.48309860999697,17.497757176557656,-94.05182370361342
+1914,17.62251652057419,-96.26070562701895,18.14416921736489,-94.87190211850796,17.947326556164487,-94.88808654042113
+1915,17.62251652057419,-94.87190211850796,17.883342868969542,-94.17750036425247,17.760504706582612,-94.4675814915562
+1916,17.62251652057419,-94.17750036425247,17.883342868969542,-93.48309860999697,17.748508441523214,-93.91453243371487
+1917,17.883342868969542,-94.87190211850796,18.14416921736489,-94.17750036425247,18.034643891022586,-94.5202424519146
+1918,17.883342868969542,-94.17750036425247,18.14416921736489,-93.48309860999697,17.920186659805314,-94.11134905555042
+1919,16.057558430202093,-93.48309860999697,17.10086382378349,-90.705491592975,16.674923616009046,-92.5535835554583
+1920,16.057558430202093,-90.705491592975,17.10086382378349,-87.92788457595303,16.74016478116769,-88.72019344230006
+1921,17.10086382378349,-93.48309860999697,17.62251652057419,-92.09429510148598,17.386930118537773,-93.20857529290768
+1922,17.10086382378349,-92.09429510148598,17.62251652057419,-90.705491592975,17.518355718980256,-91.98968896424884
+1923,17.62251652057419,-93.48309860999697,18.14416921736489,-92.09429510148598,17.87103985686731,-93.01100830248133
+1924,17.62251652057419,-92.09429510148598,18.14416921736489,-90.705491592975,17.698757604732545,-91.98248164819763
+1925,17.10086382378349,-90.705491592975,18.14416921736489,-87.92788457595303,17.401319674031207,-88.57518802634692
+1926,18.14416921736489,-99.03831264404093,18.66582191415559,-97.64950913552994,18.618359731100707,-98.71529229119619
+1927,18.14416921736489,-97.64950913552994,18.66582191415559,-96.26070562701895,18.535980240313158,-97.07343395845686
+1928,18.66582191415559,-99.03831264404093,18.92664826255094,-98.34391088978543,18.824188979150993,-98.72150996334035
+1929,18.66582191415559,-98.34391088978543,18.92664826255094,-97.64950913552994,18.90972500686656,-98.24566027805024
+1930,18.92664826255094,-99.03831264404093,19.18747461094629,-98.34391088978543,19.05678663070085,-98.56335141098916
+1931,18.92664826255094,-98.34391088978543,19.057061436748615,-97.99671001265769,19.019510144447505,-98.22410822724373
+1932,18.92664826255094,-97.99671001265769,19.057061436748615,-97.64950913552994,18.9810867192906,-97.82380124270699
+1933,19.057061436748615,-98.34391088978543,19.18747461094629,-97.99671001265769,19.08479947496055,-98.21791996732333
+1934,18.66582191415559,-97.64950913552994,18.796235088353264,-97.30230825840219,18.726544821002005,-97.46511549459255
+1935,18.66582191415559,-97.30230825840219,18.796235088353264,-96.95510738127444,18.773529792883327,-97.14641319155169
+1936,18.796235088353264,-97.64950913552994,18.92664826255094,-97.30230825840219,18.8375587484788,-97.4505903815219
+1937,18.796235088353264,-97.30230825840219,18.92664826255094,-96.95510738127444,18.858796278942794,-97.05251229025913
+1938,18.66582191415559,-96.95510738127444,18.92664826255094,-96.26070562701895,18.848517026561595,-96.89860633309051
+1939,18.92664826255094,-97.64950913552994,19.18747461094629,-96.95510738127444,18.966496852659862,-97.12246944424304
+1940,18.92664826255094,-96.95510738127444,19.18747461094629,-96.26070562701895,19.12728350793756,-96.36492794154243
+1941,18.14416921736489,-96.26070562701895,18.66582191415559,-94.87190211850796,18.444372102447,-95.1840926261019
+1942,18.14416921736489,-94.87190211850796,18.66582191415559,-93.48309860999697,18.19460016798517,-94.48219347730668
+1943,18.66582191415559,-96.26070562701895,18.92664826255094,-95.56630387276346,18.866529133877957,-96.03857062666243
+1944,18.92664826255094,-96.26070562701895,19.057061436748615,-95.9135047498912,19.018503279899633,-96.09771197046949
+1945,19.057061436748615,-96.26070562701895,19.18747461094629,-95.9135047498912,19.121759372784158,-96.17660886691806
+1946,19.18747461094629,-99.03831264404093,19.70912730773699,-97.64950913552994,19.42130476214437,-98.62376313845822
+1947,19.18747461094629,-97.64950913552994,19.448300959341637,-96.95510738127444,19.426860728347766,-97.03783769120125
+1948,19.18747461094629,-96.95510738127444,19.448300959341637,-96.26070562701895,19.34805289479421,-96.55543087206108
+1949,19.448300959341637,-97.64950913552994,19.70912730773699,-96.95510738127444,19.56029475470455,-96.98914276350936
+1950,19.448300959341637,-96.95510738127444,19.578714133539314,-96.6079065041467,19.515936984799847,-96.86161901245791
+1951,19.448300959341637,-96.6079065041467,19.578714133539314,-96.26070562701895,19.475148337251497,-96.57919872153352
+1952,19.578714133539314,-96.95510738127444,19.70912730773699,-96.6079065041467,19.59272903906575,-96.84921629089764
+1953,19.578714133539314,-96.6079065041467,19.70912730773699,-96.26070562701895,19.627189675071765,-96.45780698011022
+1954,19.70912730773699,-99.03831264404093,20.230780004527688,-97.64950913552994,20.022649442720546,-98.6674785647654
+1955,19.70912730773699,-97.64950913552994,20.230780004527688,-96.26070562701895,20.102427581390526,-97.01968243599339
+1956,19.18747461094629,-96.26070562701895,20.230780004527688,-93.48309860999697,19.210141430981082,-96.21936280923036
+1957,18.14416921736489,-93.48309860999697,20.230780004527688,-87.92788457595303,18.674741039468728,-90.09457563894625
+1958,20.230780004527688,-132.3695968483046,28.577223153178878,-110.14874071212881,27.214104493896087,-110.83692001138536
+1959,20.230780004527688,-107.37113369510683,21.274085398109086,-104.59352667808487,20.93661135043466,-104.95570550825025
+1960,21.274085398109086,-107.37113369510683,22.317390791690485,-104.59352667808487,21.49398730609516,-104.85670917811004
+1961,20.230780004527688,-104.59352667808487,20.491606352923036,-103.89912492382939,20.412163062139072,-104.50163984964425
+1962,20.230780004527688,-103.89912492382939,20.491606352923036,-103.2047231695739,20.373468584309126,-103.51490814275154
+1963,20.491606352923036,-104.59352667808487,20.752432701318387,-103.89912492382939,20.551559971470788,-104.11269663402602
+1964,20.491606352923036,-103.89912492382939,20.622019527120713,-103.55192404670164,20.58061620035947,-103.75029090855529
+1965,20.491606352923036,-103.55192404670164,20.622019527120713,-103.2047231695739,20.581546950661046,-103.37224738246373
+1966,20.622019527120713,-103.89912492382939,20.752432701318387,-103.55192404670164,20.693686046376325,-103.72664009192434
+1967,20.622019527120713,-103.55192404670164,20.752432701318387,-103.2047231695739,20.668484016565028,-103.33834677670359
+1968,20.230780004527688,-103.2047231695739,20.491606352923036,-102.5103214153184,20.36443612641329,-102.7922000876244
+1969,20.230780004527688,-102.5103214153184,20.491606352923036,-101.8159196610629,20.336991816676438,-102.2010830251688
+1970,20.491606352923036,-103.2047231695739,20.752432701318387,-102.5103214153184,20.589904535508243,-102.95520782205466
+1971,20.491606352923036,-102.5103214153184,20.752432701318387,-101.8159196610629,20.683905228598316,-102.13135481212056
+1972,20.752432701318387,-104.59352667808487,21.274085398109086,-103.2047231695739,20.986651861204326,-104.17728068152823
+1973,20.752432701318387,-103.2047231695739,21.01325904971374,-102.5103214153184,20.86175757066866,-102.72276126884319
+1974,20.752432701318387,-102.5103214153184,21.01325904971374,-101.8159196610629,20.897949679802093,-101.970150931816
+1975,21.01325904971374,-103.2047231695739,21.274085398109086,-102.5103214153184,21.068667284900638,-102.63942420988538
+1976,21.01325904971374,-102.5103214153184,21.274085398109086,-101.8159196610629,21.071338555977892,-102.0457578400102
+1977,20.230780004527688,-101.8159196610629,20.752432701318387,-100.42711615255192,20.55241538024016,-101.112286634023
+1978,20.230780004527688,-100.42711615255192,20.752432701318387,-99.03831264404093,20.523019610185855,-100.0157099371051
+1979,20.752432701318387,-101.8159196610629,21.01325904971374,-101.12151790680741,20.951687174573433,-101.50321225609166
+1980,20.752432701318387,-101.12151790680741,21.01325904971374,-100.42711615255192,20.9131861347184,-100.746305880894
+1981,21.01325904971374,-101.8159196610629,21.143672223911413,-101.46871878393516,21.100329516947497,-101.65217156016246
+1982,21.01325904971374,-101.46871878393516,21.143672223911413,-101.12151790680741,21.038007839600166,-101.35219351951135
+1983,21.143672223911413,-101.8159196610629,21.274085398109086,-101.46871878393516,21.165102854653938,-101.68935892308792
+1984,21.143672223911413,-101.46871878393516,21.274085398109086,-101.12151790680741,21.17362887237533,-101.43772272967499
+1985,21.01325904971374,-101.12151790680741,21.274085398109086,-100.42711615255192,21.19577191237225,-100.7273594753857
+1986,20.752432701318387,-100.42711615255192,21.274085398109086,-99.03831264404093,21.007183493009546,-100.38739989190908
+1987,21.274085398109086,-104.59352667808487,22.317390791690485,-101.8159196610629,21.7725817555417,-102.29528013646434
+1988,21.274085398109086,-101.8159196610629,22.317390791690485,-99.03831264404093,21.928376667905276,-100.7252949469318
+1989,22.317390791690485,-110.14874071212881,23.360696185271884,-107.37113369510683,23.020741775726215,-109.79214970298695
+1990,23.360696185271884,-110.14874071212881,24.404001578853283,-107.37113369510683,23.607791490887998,-109.726971141585
+1991,23.360696185271884,-105.98233018659585,23.882348882062583,-104.59352667808487,23.58902369584844,-105.73106882266
+1992,23.882348882062583,-104.94072755521262,24.012762056260257,-104.59352667808487,23.994312149106428,-104.6783497841952
+1993,24.012762056260257,-104.94072755521262,24.143175230457935,-104.59352667808487,24.036275555132814,-104.64705342708503
+1994,24.143175230457935,-105.28792843234035,24.404001578853283,-104.59352667808487,24.160449712951003,-104.70399048845916
+1995,22.317390791690485,-104.59352667808487,24.404001578853283,-99.03831264404093,23.713699519803143,-103.97543874884907
+1996,20.230780004527688,-99.03831264404093,20.752432701318387,-97.64950913552994,20.445237084005335,-98.56971856559115
+1997,20.230780004527688,-97.64950913552994,20.36119317872536,-97.30230825840219,20.30764833382547,-97.37216418278932
+1998,20.230780004527688,-97.30230825840219,20.36119317872536,-96.95510738127444,20.304052064957038,-97.18993873740952
+1999,20.36119317872536,-97.64950913552994,20.491606352923036,-97.30230825840219,20.429919029786685,-97.37535169105018
+2000,20.36119317872536,-97.30230825840219,20.491606352923036,-96.95510738127444,20.440907184528182,-97.21764076521939
+2001,20.230780004527688,-96.95510738127444,20.491606352923036,-96.26070562701895,20.29645958023481,-96.8449166664028
+2002,20.491606352923036,-97.64950913552994,20.752432701318387,-96.95510738127444,20.576135747497716,-97.3289866244068
+2003,20.752432701318387,-99.03831264404093,21.274085398109086,-97.64950913552994,21.177594017865673,-98.29398012326058
+2004,20.752432701318387,-97.64950913552994,21.274085398109086,-96.26070562701895,20.94072092051238,-97.42368164083439
+2005,21.274085398109086,-99.03831264404093,22.317390791690485,-96.26070562701895,21.873163834906027,-98.07401108299486
+2006,20.230780004527688,-93.48309860999697,22.317390791690485,-87.92788457595303,20.924982173884136,-89.13271796923271
+2007,22.317390791690485,-99.03831264404093,24.404001578853283,-93.48309860999697,22.324305471100683,-98.33494419069302
+2008,24.404001578853283,-110.14874071212881,26.49061236601608,-104.59352667808487,24.88765516953741,-107.27623428739587
+2009,24.404001578853283,-104.59352667808487,25.44730697243468,-101.8159196610629,25.19213972335486,-103.72366924052287
+2010,24.404001578853283,-101.8159196610629,25.44730697243468,-99.03831264404093,25.3943425454794,-100.60307589802066
+2011,25.44730697243468,-104.59352667808487,26.49061236601608,-101.8159196610629,25.58092607684014,-103.39486436170537
+2012,25.44730697243468,-101.8159196610629,25.96895966922538,-100.42711615255192,25.6792856199298,-100.67548934377507
+2013,25.44730697243468,-100.42711615255192,25.96895966922538,-99.03831264404093,25.716651736815646,-100.23441021137971
+2014,25.96895966922538,-101.8159196610629,26.49061236601608,-100.42711615255192,26.056637717403074,-100.56347246956285
+2015,26.49061236601608,-110.14874071212881,28.577223153178878,-104.59352667808487,27.076878515755883,-109.45094437515814
+2016,26.49061236601608,-104.59352667808487,28.577223153178878,-99.03831264404093,28.181499337712744,-99.76231575573303
+2017,24.404001578853283,-99.03831264404093,28.577223153178878,-87.92788457595303,27.862674692272773,-97.47704955195138
+2018,28.577223153178878,-115.70395474617277,30.663833940341675,-110.14874071212881,29.065028587255615,-110.98050556917606
+2019,31.707139333923074,-117.09275825468376,32.22879203071378,-115.70395474617277,31.963598307342814,-116.67002134894352
+2020,32.22879203071378,-118.48156176319475,32.75044472750447,-117.09275825468376,32.703170866652066,-117.15102016325912
+2021,32.22879203071378,-117.09275825468376,32.489618379109125,-116.39835650042826,32.278638696644926,-116.97825507464358
+2022,32.489618379109125,-117.09275825468376,32.6200315533068,-116.74555737755601,32.55622644378848,-116.98728176132146
+2023,32.489618379109125,-116.74555737755601,32.6200315533068,-116.39835650042826,32.60233866251574,-116.60755312823682
+2024,32.6200315533068,-117.09275825468376,32.75044472750447,-116.74555737755601,32.700607184027675,-116.96704385784808
+2025,32.6200315533068,-116.74555737755601,32.75044472750447,-116.39835650042826,32.68392019321015,-116.5347878894229
+2026,32.489618379109125,-116.39835650042826,32.75044472750447,-115.70395474617277,32.64310330054888,-116.20431730456906
+2027,30.663833940341675,-115.70395474617277,31.707139333923074,-112.92634772915079,31.295449319795935,-113.4892357335455
+2028,30.663833940341675,-112.92634772915079,31.707139333923074,-110.14874071212881,31.555558402371457,-110.65702653995062
+2029,31.707139333923074,-114.31515123766178,32.22879203071378,-112.92634772915079,32.093960509038,-113.44316050904
+2030,32.22879203071378,-115.70395474617277,32.75044472750447,-114.31515123766178,32.633468729148106,-114.73114395414245
+2031,32.22879203071378,-114.31515123766178,32.75044472750447,-112.92634772915079,32.69168715749074,-113.98440836770978
+2032,31.707139333923074,-112.92634772915079,32.22879203071378,-111.5375442206398,32.08106836894525,-112.22304021428899
+2033,31.707139333923074,-111.5375442206398,31.967965682318425,-110.84314246638431,31.826321642964686,-111.26200256092189
+2034,31.707139333923074,-110.84314246638431,31.967965682318425,-110.14874071212881,31.85006190347166,-110.40962301952015
+2035,31.967965682318425,-111.5375442206398,32.22879203071378,-110.84314246638431,32.131219522875554,-111.09117255458365
+2036,31.967965682318425,-110.84314246638431,32.22879203071378,-110.14874071212881,32.00901080619386,-110.56292686886724
+2037,32.22879203071378,-112.92634772915079,32.75044472750447,-111.5375442206398,32.44617998455387,-112.78349397539377
+2038,32.22879203071378,-111.5375442206398,32.489618379109125,-110.84314246638431,32.31601709950346,-111.01758748791264
+2039,32.22879203071378,-110.84314246638431,32.489618379109125,-110.14874071212881,32.4033928207617,-110.76077186914974
+2040,32.489618379109125,-111.5375442206398,32.75044472750447,-110.84314246638431,32.621745421059934,-111.11676018816192
+2041,32.489618379109125,-110.84314246638431,32.75044472750447,-110.14874071212881,32.660206169439235,-110.70615152946864
+2042,34.83705551466727,-124.03677579723868,35.88036090824867,-121.25916878021671,35.79498322780237,-121.3598168609097
+2043,35.88036090824867,-122.64797228872769,36.40201360503937,-121.25916878021671,36.23767758228693,-121.42100609947491
+2044,36.40201360503937,-122.64797228872769,36.66283995343472,-121.95357053447219,36.582863879512786,-121.96351357434571
+2045,36.40201360503937,-121.95357053447219,36.53242677923704,-121.60636965734446,36.48218094331459,-121.77297899495481
+2046,36.40201360503937,-121.60636965734446,36.53242677923704,-121.25916878021671,36.47382645329996,-121.40837113996369
+2047,36.53242677923704,-121.95357053447219,36.66283995343472,-121.60636965734446,36.587402126334055,-121.7851721391838
+2048,36.53242677923704,-121.60636965734446,36.66283995343472,-121.25916878021671,36.59046207054266,-121.51922797324491
+2049,36.66283995343472,-121.95357053447219,36.7932531276324,-121.60636965734446,36.731748555026385,-121.69945737444773
+2050,36.66283995343472,-121.60636965734446,36.7932531276324,-121.25916878021671,36.728907516635594,-121.4809341775027
+2051,36.7932531276324,-121.95357053447219,36.92366630183007,-121.60636965734446,36.85006927874788,-121.7030665401293
+2052,36.7932531276324,-121.60636965734446,36.92366630183007,-121.25916878021671,36.845288455656686,-121.42062243491252
+2053,32.75044472750447,-117.4399591318115,32.88085790170214,-117.09275825468376,32.79739784427941,-117.16745203088325
+2054,32.88085790170214,-117.4399591318115,33.01127107589982,-117.09275825468376,32.950235536143744,-117.17920280774212
+2055,33.01127107589982,-117.4399591318115,33.1416842500975,-117.09275825468376,33.07093876675183,-117.19424694707054
+2056,33.1416842500975,-117.4399591318115,33.27209742429517,-117.09275825468376,33.206228684086916,-117.21617370546797
+2057,32.75044472750447,-117.09275825468376,32.88085790170214,-116.74555737755601,32.79329825780155,-116.93425689128968
+2058,32.75044472750447,-116.74555737755601,32.88085790170214,-116.39835650042826,32.814821913612555,-116.60166591037053
+2059,32.88085790170214,-117.09275825468376,33.01127107589982,-116.74555737755601,32.96214491400062,-116.94512631527935
+2060,32.88085790170214,-116.74555737755601,33.01127107589982,-116.39835650042826,32.95751822232158,-116.54924117296427
+2061,32.75044472750447,-116.39835650042826,33.01127107589982,-115.70395474617277,32.88105910468435,-116.22744345289732
+2062,33.01127107589982,-117.09275825468376,33.1416842500975,-116.74555737755601,33.06953239495339,-116.94744551581016
+2063,33.01127107589982,-116.74555737755601,33.1416842500975,-116.39835650042826,33.066376839853376,-116.57239691115565
+2064,33.1416842500975,-117.09275825468376,33.27209742429517,-116.74555737755601,33.21502904214097,-116.98218636206683
+2065,33.1416842500975,-116.74555737755601,33.27209742429517,-116.39835650042826,33.220754024500785,-116.540799925441
+2066,33.01127107589982,-116.39835650042826,33.27209742429517,-115.70395474617277,33.203207376295616,-116.33382624466151
+2067,33.27209742429517,-118.48156176319475,33.53292377269052,-117.78716000893925,33.343295144452,-118.32999768754
+2068,33.27209742429517,-117.78716000893925,33.402510598492846,-117.4399591318115,33.337831654469724,-117.51418351757712
+2069,33.27209742429517,-117.4399591318115,33.402510598492846,-117.09275825468376,33.341877988539515,-117.19953903305245
+2070,33.402510598492846,-117.78716000893925,33.53292377269052,-117.4399591318115,33.46278020726585,-117.64645063747332
+2071,33.402510598492846,-117.4399591318115,33.53292377269052,-117.09275825468376,33.4694872068993,-117.18317352456573
+2072,33.53292377269052,-118.134360886067,33.663336946888194,-117.78716000893925,33.627141806924136,-117.87943029102601
+2073,33.663336946888194,-118.48156176319475,33.79375012108587,-118.134360886067,33.76522870015852,-118.24844736871408
+2074,33.663336946888194,-118.134360886067,33.79375012108587,-117.78716000893925,33.743324389898,-117.91468880077143
+2075,33.53292377269052,-117.78716000893925,33.663336946888194,-117.4399591318115,33.604020310616946,-117.68043080861621
+2076,33.53292377269052,-117.4399591318115,33.663336946888194,-117.09275825468376,33.59020905050308,-117.21905665797469
+2077,33.663336946888194,-117.78716000893925,33.79375012108587,-117.4399591318115,33.71251827101926,-117.70065427291156
+2078,33.663336946888194,-117.4399591318115,33.79375012108587,-117.09275825468376,33.70494860039202,-117.2674116967241
+2079,33.27209742429517,-117.09275825468376,33.53292377269052,-116.39835650042826,33.34428720388369,-116.93180195876427
+2080,33.27209742429517,-116.39835650042826,33.53292377269052,-115.70395474617277,33.326818431952894,-116.28457690770624
+2081,33.53292377269052,-117.09275825468376,33.79375012108587,-116.39835650042826,33.71641723379734,-116.81691237964382
+2082,33.53292377269052,-116.39835650042826,33.79375012108587,-115.70395474617277,33.6865263999561,-116.0746595930241
+2083,33.79375012108587,-119.17596351745024,34.05457646948122,-118.48156176319475,34.02979274295632,-118.56912475565035
+2084,34.05457646948122,-119.87036527170574,34.315402817876574,-119.17596351745024,34.227886469468494,-119.22622379863391
+2085,34.05457646948122,-119.17596351745024,34.1849896436789,-118.8287626403225,34.166487014542824,-118.93417710262987
+2086,34.05457646948122,-118.8287626403225,34.1849896436789,-118.48156176319475,34.126357477001704,-118.65996604728099
+2087,34.1849896436789,-119.17596351745024,34.315402817876574,-118.8287626403225,34.21770894955489,-118.93247359900181
+2088,34.1849896436789,-118.8287626403225,34.315402817876574,-118.48156176319475,34.228050282166855,-118.61807948111024
+2089,34.315402817876574,-121.25916878021671,34.83705551466727,-119.87036527170574,34.619612392487085,-120.22491416331287
+2090,34.315402817876574,-119.87036527170574,34.57622916627192,-119.17596351745024,34.438074016449235,-119.7413736444662
+2091,34.315402817876574,-119.17596351745024,34.57622916627192,-118.48156176319475,34.43167503411455,-118.6368503785397
+2092,34.57622916627192,-119.87036527170574,34.83705551466727,-119.17596351745024,34.689357513903474,-119.37554543582705
+2093,34.57622916627192,-119.17596351745024,34.83705551466727,-118.48156176319475,34.7480909309787,-118.74504527634025
+2094,33.79375012108587,-118.48156176319475,33.92416329528355,-118.134360886067,33.863444134454355,-118.31973287237031
+2095,33.79375012108587,-118.134360886067,33.92416329528355,-117.78716000893925,33.847801382278966,-117.93947080740752
+2096,33.92416329528355,-118.48156176319475,34.05457646948122,-118.134360886067,33.99791781469081,-118.32840070818249
+2097,33.92416329528355,-118.134360886067,34.05457646948122,-117.78716000893925,33.99534400061385,-117.94909515049802
+2098,33.79375012108587,-117.78716000893925,33.92416329528355,-117.4399591318115,33.8619132124117,-117.65071074081904
+2099,33.79375012108587,-117.4399591318115,33.92416329528355,-117.09275825468376,33.892791681596215,-117.29946784922225
+2100,33.92416329528355,-117.78716000893925,34.05457646948122,-117.4399591318115,33.992993383433465,-117.60153206573665
+2101,33.92416329528355,-117.4399591318115,34.05457646948122,-117.09275825468376,33.98726589321246,-117.29476843042869
+2102,34.05457646948122,-118.48156176319475,34.1849896436789,-118.134360886067,34.11992194090648,-118.3221152456286
+2103,34.05457646948122,-118.134360886067,34.1849896436789,-117.78716000893925,34.10479578758636,-117.98601550676294
+2104,34.1849896436789,-118.48156176319475,34.315402817876574,-118.134360886067,34.225355675842344,-118.39841653351966
+2105,34.1849896436789,-118.134360886067,34.315402817876574,-117.78716000893925,34.237511157095255,-117.89245198157562
+2106,34.05457646948122,-117.78716000893925,34.315402817876574,-117.09275825468376,34.123938283570226,-117.3915770379554
+2107,33.79375012108587,-117.09275825468376,34.05457646948122,-116.39835650042826,33.891767974809504,-116.77892731303963
+2108,33.79375012108587,-116.39835650042826,34.05457646948122,-115.70395474617277,33.909869778538756,-116.05668700811812
+2109,34.05457646948122,-117.09275825468376,34.315402817876574,-116.39835650042826,34.208565433636146,-116.77801439249599
+2110,34.05457646948122,-116.39835650042826,34.315402817876574,-115.70395474617277,34.152778426702106,-116.17794658776181
+2111,34.315402817876574,-118.48156176319475,34.57622916627192,-117.78716000893925,34.48646448720044,-118.09356298905728
+2112,34.315402817876574,-117.78716000893925,34.57622916627192,-117.09275825468376,34.42694382052681,-117.56137006236231
+2113,34.57622916627192,-118.48156176319475,34.7066423404696,-118.134360886067,34.6480873867177,-118.25030886886695
+2114,34.57622916627192,-118.134360886067,34.7066423404696,-117.78716000893925,34.62667080517625,-117.9226361444237
+2115,34.7066423404696,-118.48156176319475,34.83705551466727,-118.134360886067,34.78059318282107,-118.28458529320976
+2116,34.7066423404696,-118.134360886067,34.83705551466727,-117.78716000893925,34.7362114239567,-118.02145714763199
+2117,34.57622916627192,-117.78716000893925,34.83705551466727,-117.09275825468376,34.68509840903426,-117.50431838747569
+2118,34.315402817876574,-117.09275825468376,34.83705551466727,-115.70395474617277,34.61789217390473,-116.46714317624952
+2119,32.75044472750447,-115.70395474617277,33.27209742429517,-114.31515123766178,32.90714336909735,-114.95652905578798
+2120,32.75044472750447,-114.31515123766178,33.27209742429517,-112.92634772915079,32.92987406869596,-113.57345525187539
+2121,33.27209742429517,-115.70395474617277,33.79375012108587,-114.31515123766178,33.61966571969256,-114.97155847953779
+2122,33.27209742429517,-114.31515123766178,33.79375012108587,-112.92634772915079,33.599661436361174,-113.72942123926497
+2123,32.75044472750447,-112.92634772915079,33.01127107589982,-112.2319459748953,32.88937348593575,-112.62923055323839
+2124,32.75044472750447,-112.2319459748953,33.01127107589982,-111.5375442206398,32.879353866766074,-111.82939717878789
+2125,33.01127107589982,-112.92634772915079,33.27209742429517,-112.2319459748953,33.09815067960987,-112.56973526077367
+2126,33.01127107589982,-112.2319459748953,33.27209742429517,-111.5375442206398,33.178576307358995,-111.78790734836491
+2127,32.75044472750447,-111.5375442206398,33.27209742429517,-110.14874071212881,33.03081296667432,-110.98449455561831
+2128,33.27209742429517,-112.92634772915079,33.402510598492846,-112.57914685202304,33.33913935612084,-112.6185123131302
+2129,33.27209742429517,-112.57914685202304,33.402510598492846,-112.2319459748953,33.368983267783484,-112.40650420884093
+2130,33.402510598492846,-112.92634772915079,33.53292377269052,-112.57914685202304,33.45053172689543,-112.72070859926623
+2131,33.402510598492846,-112.57914685202304,33.53292377269052,-112.2319459748953,33.45940954480679,-112.34371408839986
+2132,33.27209742429517,-112.2319459748953,33.402510598492846,-111.88474509776755,33.35131426722573,-112.02456282520404
+2133,33.27209742429517,-111.88474509776755,33.402510598492846,-111.5375442206398,33.3436357682672,-111.77022909732285
+2134,33.402510598492846,-112.2319459748953,33.53292377269052,-111.88474509776755,33.46944600913306,-112.05219878409375
+2135,33.402510598492846,-111.88474509776755,33.53292377269052,-111.5375442206398,33.446663110138815,-111.76854357323444
+2136,33.53292377269052,-112.57914685202304,33.663336946888194,-112.2319459748953,33.59935100605729,-112.31244043648795
+2137,33.663336946888194,-112.92634772915079,33.79375012108587,-112.57914685202304,33.666985250549,-112.62280819538
+2138,33.663336946888194,-112.57914685202304,33.79375012108587,-112.2319459748953,33.70213560482536,-112.33650625967192
+2139,33.53292377269052,-112.2319459748953,33.663336946888194,-111.88474509776755,33.59533466547216,-112.06003977018186
+2140,33.53292377269052,-111.88474509776755,33.663336946888194,-111.5375442206398,33.59386341980117,-111.76478954424003
+2141,33.663336946888194,-112.2319459748953,33.79375012108587,-111.88474509776755,33.698411080609624,-112.08921432278824
+2142,33.663336946888194,-111.88474509776755,33.79375012108587,-111.5375442206398,33.71632002168754,-111.83964778504482
+2143,33.27209742429517,-111.5375442206398,33.79375012108587,-110.14874071212881,33.48389623462297,-111.01537943553258
+2144,33.79375012108587,-115.70395474617277,34.315402817876574,-114.31515123766178,34.1073733167241,-114.99079919367631
+2145,33.79375012108587,-114.31515123766178,34.315402817876574,-112.92634772915079,34.041270009730816,-113.68634700312303
+2146,34.315402817876574,-115.70395474617277,34.83705551466727,-114.31515123766178,34.676423314738074,-114.75135716240113
+2147,34.315402817876574,-114.31515123766178,34.83705551466727,-112.92634772915079,34.542003866114804,-113.54324769515286
+2148,33.79375012108587,-112.92634772915079,34.315402817876574,-111.5375442206398,34.045053818158785,-112.37479871727177
+2149,33.79375012108587,-111.5375442206398,34.315402817876574,-110.14874071212881,34.08861951670229,-111.0278339906132
+2150,34.315402817876574,-112.92634772915079,34.57622916627192,-112.2319459748953,34.49473676557284,-112.48762086573493
+2151,34.315402817876574,-112.2319459748953,34.57622916627192,-111.5375442206398,34.46293188588024,-111.92147486328622
+2152,34.57622916627192,-112.92634772915079,34.83705551466727,-112.2319459748953,34.65747443862047,-112.41901783841116
+2153,34.57622916627192,-112.2319459748953,34.83705551466727,-111.5375442206398,34.723040119737185,-111.8437075287895
+2154,34.315402817876574,-111.5375442206398,34.83705551466727,-110.14874071212881,34.492271037877764,-110.79801397349956
+2155,34.83705551466727,-121.25916878021671,35.09788186306262,-120.56476702596123,35.04796245021082,-120.57458928536036
+2156,34.83705551466727,-120.56476702596123,35.09788186306262,-119.87036527170574,34.95693614901368,-120.44411358047752
+2157,35.09788186306262,-121.25916878021671,35.358708211457966,-120.56476702596123,35.23595028360186,-120.68790471356007
+2158,35.09788186306262,-120.56476702596123,35.358708211457966,-119.87036527170574,35.176315372917,-120.47300062921249
+2159,34.83705551466727,-119.87036527170574,35.09788186306262,-119.17596351745024,34.98472234074368,-119.393478252855
+2160,34.83705551466727,-119.17596351745024,35.09788186306262,-118.48156176319475,35.01528135107582,-118.91164252609995
+2161,35.09788186306262,-119.87036527170574,35.228295037260295,-119.52316439457799,35.20110710196213,-119.58070904076204
+2162,35.09788186306262,-119.52316439457799,35.228295037260295,-119.17596351745024,35.15613165893339,-119.40344841237847
+2163,35.228295037260295,-119.87036527170574,35.358708211457966,-119.52316439457799,35.231201559453254,-119.65816311033231
+2164,35.228295037260295,-119.52316439457799,35.358708211457966,-119.17596351745024,35.30224014173692,-119.34521092266694
+2165,35.09788186306262,-119.17596351745024,35.228295037260295,-118.8287626403225,35.17407852860279,-118.99424820974782
+2166,35.09788186306262,-118.8287626403225,35.228295037260295,-118.48156176319475,35.15187483791951,-118.60933774267913
+2167,35.228295037260295,-119.17596351745024,35.358708211457966,-118.8287626403225,35.31070773480159,-119.05353383042932
+2168,35.228295037260295,-118.8287626403225,35.358708211457966,-118.48156176319475,35.28986365979809,-118.69351131201384
+2169,35.358708211457966,-121.25916878021671,35.61953455985332,-120.56476702596123,35.48516316088452,-120.6956585300116
+2170,35.358708211457966,-120.56476702596123,35.61953455985332,-119.87036527170574,35.60088281337455,-120.13310406967116
+2171,35.61953455985332,-121.25916878021671,35.88036090824867,-120.56476702596123,35.77111164275527,-120.77968791279426
+2172,35.61953455985332,-120.56476702596123,35.88036090824867,-119.87036527170574,35.74734081048948,-120.23163602827829
+2173,35.358708211457966,-119.87036527170574,35.48912138565564,-119.52316439457799,35.44536475130425,-119.55211921606589
+2174,35.358708211457966,-119.52316439457799,35.48912138565564,-119.17596351745024,35.418362866506186,-119.35721717383946
+2175,35.48912138565564,-119.87036527170574,35.61953455985332,-119.52316439457799,35.5590674764943,-119.66663682102143
+2176,35.48912138565564,-119.52316439457799,35.61953455985332,-119.17596351745024,35.549820148952946,-119.3326052686595
+2177,35.358708211457966,-119.17596351745024,35.48912138565564,-118.8287626403225,35.397685335851314,-119.03812510472639
+2178,35.358708211457966,-118.8287626403225,35.48912138565564,-118.48156176319475,35.42486591750991,-118.66281859280922
+2179,35.48912138565564,-119.17596351745024,35.61953455985332,-118.8287626403225,35.56159232724242,-119.02123959056934
+2180,35.48912138565564,-118.8287626403225,35.61953455985332,-118.48156176319475,35.56856692753705,-118.5889878321903
+2181,35.61953455985332,-119.87036527170574,35.74994773405099,-119.52316439457799,35.69977538249304,-119.61751171031207
+2182,35.61953455985332,-119.52316439457799,35.74994773405099,-119.17596351745024,35.69327532454082,-119.27893993520799
+2183,35.74994773405099,-119.87036527170574,35.88036090824867,-119.52316439457799,35.79498129356878,-119.71768616612412
+2184,35.74994773405099,-119.52316439457799,35.88036090824867,-119.17596351745024,35.78250727455843,-119.27690900000766
+2185,35.61953455985332,-119.17596351745024,35.74994773405099,-118.8287626403225,35.687080154444196,-119.02438314181632
+2186,35.61953455985332,-118.8287626403225,35.74994773405099,-118.48156176319475,35.70141027931035,-118.67520334236093
+2187,35.74994773405099,-119.17596351745024,35.88036090824867,-118.8287626403225,35.77572815530523,-119.11927304158351
+2188,35.74994773405099,-118.8287626403225,35.88036090824867,-118.48156176319475,35.78120987975565,-118.7510111744969
+2189,34.83705551466727,-118.48156176319475,35.09788186306262,-117.78716000893925,34.95391439141899,-118.22140747267795
+2190,34.83705551466727,-117.78716000893925,35.09788186306262,-117.09275825468376,34.96320964012555,-117.42019364520961
+2191,35.09788186306262,-118.48156176319475,35.358708211457966,-117.78716000893925,35.19398256689588,-118.17735699528758
+2192,35.09788186306262,-117.78716000893925,35.358708211457966,-117.09275825468376,35.23900205089115,-117.60458951044396
+2193,34.83705551466727,-117.09275825468376,35.358708211457966,-115.70395474617277,35.06781001262833,-116.47743773468308
+2194,35.358708211457966,-118.48156176319475,35.61953455985332,-117.78716000893925,35.528719208150925,-118.22182491151273
+2195,35.358708211457966,-117.78716000893925,35.61953455985332,-117.09275825468376,35.53562926599943,-117.65972088968803
+2196,35.61953455985332,-118.48156176319475,35.88036090824867,-117.78716000893925,35.705258465535934,-118.20430440025227
+2197,35.61953455985332,-117.78716000893925,35.88036090824867,-117.09275825468376,35.6562880268038,-117.5977671324783
+2198,35.358708211457966,-117.09275825468376,35.88036090824867,-115.70395474617277,35.39899364312359,-115.85754107567202
+2199,35.88036090824867,-121.25916878021671,36.14118725664402,-120.56476702596123,36.0072862748993,-120.9797678822031
+2200,35.88036090824867,-120.56476702596123,36.14118725664402,-119.87036527170574,36.02468921781585,-120.0841461429788
+2201,36.14118725664402,-121.25916878021671,36.40201360503937,-120.56476702596123,36.23956865890393,-121.05909325014996
+2202,36.14118725664402,-120.56476702596123,36.40201360503937,-119.87036527170574,36.28988864949212,-120.05610025360362
+2203,35.88036090824867,-119.87036527170574,36.14118725664402,-119.17596351745024,36.03759340222047,-119.55425880221615
+2204,35.88036090824867,-119.17596351745024,36.14118725664402,-118.48156176319475,36.0543225333418,-119.03231754874234
+2205,36.14118725664402,-119.87036527170574,36.271600430841694,-119.52316439457799,36.22130674457848,-119.7174144102406
+2206,36.14118725664402,-119.52316439457799,36.271600430841694,-119.17596351745024,36.20550642421704,-119.42236412938882
+2207,36.271600430841694,-119.87036527170574,36.40201360503937,-119.52316439457799,36.3406823201885,-119.69251274969173
+2208,36.271600430841694,-119.52316439457799,36.40201360503937,-119.17596351745024,36.33140982304148,-119.3831788256312
+2209,36.14118725664402,-119.17596351745024,36.40201360503937,-118.48156176319475,36.36815088367967,-119.02053936713666
+2210,36.40201360503937,-121.25916878021671,36.66283995343472,-120.56476702596123,36.56443043192361,-121.10454889470002
+2211,36.40201360503937,-120.56476702596123,36.66283995343472,-119.87036527170574,36.5045961322378,-120.38232281813417
+2212,36.66283995343472,-121.25916878021671,36.92366630183007,-120.56476702596123,36.76667251514906,-120.92147619643033
+2213,36.66283995343472,-120.56476702596123,36.7932531276324,-120.21756614883348,36.78769980205562,-120.31095743694385
+2214,36.66283995343472,-120.21756614883348,36.7932531276324,-119.87036527170574,36.76910506809053,-119.8877774112633
+2215,36.7932531276324,-120.56476702596123,36.92366630183007,-120.21756614883348,36.84470569779538,-120.35043247988764
+2216,36.7932531276324,-120.21756614883348,36.92366630183007,-119.87036527170574,36.851176509878485,-120.00410780561856
+2217,36.40201360503937,-119.87036527170574,36.66283995343472,-119.17596351745024,36.49107167636343,-119.6004074498518
+2218,36.40201360503937,-119.17596351745024,36.66283995343472,-118.48156176319475,36.50378085743703,-118.75132754332068
+2219,36.66283995343472,-119.87036527170574,36.7932531276324,-119.52316439457799,36.747858165328246,-119.7642978037329
+2220,36.66283995343472,-119.52316439457799,36.7932531276324,-119.17596351745024,36.706526073620395,-119.35538666569732
+2221,36.7932531276324,-119.87036527170574,36.92366630183007,-119.52316439457799,36.836203588676824,-119.7801372347668
+2222,36.7932531276324,-119.52316439457799,36.92366630183007,-119.17596351745024,36.8954148853635,-119.46373809831499
+2223,36.66283995343472,-119.17596351745024,36.92366630183007,-118.48156176319475,36.77589001096939,-118.83726611070286
+2224,35.88036090824867,-118.48156176319475,36.40201360503937,-117.09275825468376,36.209169942166376,-117.66062094536726
+2225,35.88036090824867,-117.09275825468376,36.40201360503937,-115.70395474617277,36.21928950798282,-116.62028413958342
+2226,36.40201360503937,-118.48156176319475,36.92366630183007,-117.09275825468376,36.58790668255481,-117.82953656969589
+2227,36.40201360503937,-117.09275825468376,36.92366630183007,-115.70395474617277,36.627310763447994,-116.49499333697143
+2228,34.83705551466727,-115.70395474617277,35.358708211457966,-114.31515123766178,35.06420815012167,-114.59274790842552
+2229,34.83705551466727,-114.31515123766178,35.09788186306262,-113.62074948340629,34.97695142741688,-113.79288893554738
+2230,35.09788186306262,-114.31515123766178,35.228295037260295,-113.96795036053403,35.203249490309524,-114.03259628370144
+2231,35.09788186306262,-113.96795036053403,35.228295037260295,-113.62074948340629,35.16805452252515,-113.79513766973312
+2232,35.228295037260295,-114.31515123766178,35.358708211457966,-113.96795036053403,35.256196463334554,-114.06772781723505
+2233,35.228295037260295,-113.96795036053403,35.358708211457966,-113.62074948340629,35.30383290380409,-113.92788214529423
+2234,35.09788186306262,-113.62074948340629,35.358708211457966,-112.92634772915079,35.222170904079604,-113.28492223791885
+2235,35.358708211457966,-115.70395474617277,35.88036090824867,-114.31515123766178,35.62014352520177,-114.95593195409629
+2236,35.358708211457966,-114.31515123766178,35.88036090824867,-112.92634772915079,35.47413303253512,-113.61061778358828
+2237,34.83705551466727,-112.92634772915079,35.09788186306262,-112.2319459748953,34.97928932331655,-112.42588881901234
+2238,34.83705551466727,-112.2319459748953,35.09788186306262,-111.5375442206398,34.9442090010067,-111.72687490656229
+2239,35.09788186306262,-112.92634772915079,35.358708211457966,-112.2319459748953,35.23691083447474,-112.59009393298909
+2240,35.09788186306262,-112.2319459748953,35.358708211457966,-111.5375442206398,35.23647072581767,-111.81200576366481
+2241,34.83705551466727,-111.5375442206398,35.09788186306262,-110.84314246638431,34.97565643966024,-110.92051404486118
+2242,34.83705551466727,-110.84314246638431,35.09788186306262,-110.14874071212881,34.964919625925766,-110.52026485523606
+2243,35.09788186306262,-111.5375442206398,35.358708211457966,-110.84314246638431,35.17198055628166,-111.11435941998606
+2244,35.09788186306262,-110.84314246638431,35.358708211457966,-110.14874071212881,35.230960635306545,-110.4459225899499
+2245,35.358708211457966,-112.92634772915079,35.88036090824867,-111.5375442206398,35.54024289652599,-111.95159556882986
+2246,35.358708211457966,-111.5375442206398,35.88036090824867,-110.14874071212881,35.70378925438391,-110.73156000209018
+2247,35.88036090824867,-115.70395474617277,36.010774082446346,-115.35675386904502,36.007654257447,-115.58555701501
+2248,35.88036090824867,-115.35675386904502,36.010774082446346,-115.00955299191727,35.980344269905906,-115.14251539606093
+2249,36.010774082446346,-115.70395474617277,36.14118725664402,-115.35675386904502,36.101575745922254,-115.48154102549343
+2250,36.010774082446346,-115.35675386904502,36.14118725664402,-115.00955299191727,36.08165770422647,-115.18238941737036
+2251,35.88036090824867,-115.00955299191727,36.14118725664402,-114.31515123766178,36.004267585362655,-114.8196713068762
+2252,36.14118725664402,-115.70395474617277,36.271600430841694,-115.35675386904502,36.168499561661825,-115.46729195683925
+2253,36.14118725664402,-115.35675386904502,36.271600430841694,-115.00955299191727,36.19511424700454,-115.20846317186964
+2254,36.271600430841694,-115.70395474617277,36.40201360503937,-115.35675386904502,36.31494878017929,-115.41900414589044
+2255,36.271600430841694,-115.35675386904502,36.40201360503937,-115.00955299191727,36.29943086085811,-115.26588418484867
+2256,36.14118725664402,-115.00955299191727,36.40201360503937,-114.31515123766178,36.273915662556476,-114.69894647140255
+2257,35.88036090824867,-114.31515123766178,36.40201360503937,-112.92634772915079,35.931420961195585,-113.89740100913482
+2258,36.40201360503937,-115.70395474617277,36.92366630183007,-114.31515123766178,36.52720465369831,-114.75557232942072
+2259,36.40201360503937,-114.31515123766178,36.92366630183007,-112.92634772915079,36.86041216470808,-113.89852607573847
+2260,35.88036090824867,-112.92634772915079,36.40201360503937,-111.5375442206398,36.09102783419795,-111.99798269999864
+2261,35.88036090824867,-111.5375442206398,36.40201360503937,-110.14874071212881,36.103579105289704,-111.0641076258796
+2262,36.40201360503937,-112.92634772915079,36.92366630183007,-111.5375442206398,36.7203884343908,-112.17243384472866
+2263,36.40201360503937,-111.5375442206398,36.92366630183007,-110.14874071212881,36.6389186582544,-110.85759133101737
+2264,28.577223153178878,-110.14874071212881,30.663833940341675,-104.59352667808487,28.70590748902816,-106.02801624694966
+2265,28.577223153178878,-104.59352667808487,30.663833940341675,-99.03831264404093,29.630350223703573,-101.4745692422014
+2266,30.663833940341675,-110.14874071212881,31.707139333923074,-107.37113369510683,31.494582093876065,-109.71070647195347
+2267,30.663833940341675,-107.37113369510683,31.707139333923074,-104.59352667808487,31.594853595092022,-106.25586384050253
+2268,31.707139333923074,-110.14874071212881,32.22879203071378,-108.75993720361782,31.998083006779197,-109.71637720762551
+2269,31.707139333923074,-108.75993720361782,32.22879203071378,-107.37113369510683,32.225213028647,-108.46170213252
+2270,32.22879203071378,-110.14874071212881,32.489618379109125,-109.45433895787332,32.33695596650055,-109.69232436941452
+2271,32.22879203071378,-109.45433895787332,32.489618379109125,-108.75993720361782,32.2715759882365,-109.2129851891894
+2272,32.489618379109125,-110.14874071212881,32.75044472750447,-109.45433895787332,32.62036212976601,-109.77860417365802
+2273,32.489618379109125,-109.45433895787332,32.75044472750447,-108.75993720361782,32.72069579282318,-109.13455326050736
+2274,32.22879203071378,-108.75993720361782,32.75044472750447,-107.37113369510683,32.44294789231177,-107.88510439722691
+2275,31.707139333923074,-107.37113369510683,32.22879203071378,-105.98233018659585,31.864400104957582,-106.537023154003
+2276,31.707139333923074,-105.98233018659585,32.22879203071378,-104.59352667808487,31.812928371855598,-105.76288984851317
+2277,32.22879203071378,-107.37113369510683,32.75044472750447,-105.98233018659585,32.3073834505298,-106.80218928531946
+2278,30.663833940341675,-101.8159196610629,31.707139333923074,-99.03831264404093,31.33695255913572,-100.13481402772925
+2279,31.707139333923074,-104.59352667808487,32.75044472750447,-101.8159196610629,32.35784606959362,-102.56042913458369
+2280,31.707139333923074,-101.8159196610629,32.22879203071378,-100.42711615255192,31.95630573897155,-101.20881574408274
+2281,31.707139333923074,-100.42711615255192,32.22879203071378,-99.03831264404093,31.9599937256655,-99.9628236948895
+2282,32.22879203071378,-101.8159196610629,32.75044472750447,-100.42711615255192,32.63779049871373,-100.74525156340074
+2283,32.22879203071378,-100.42711615255192,32.489618379109125,-99.73271439829642,32.439358990386644,-99.79282141278021
+2284,32.22879203071378,-99.73271439829642,32.489618379109125,-99.03831264404093,32.419396272594774,-99.54309116960849
+2285,32.489618379109125,-100.42711615255192,32.75044472750447,-99.73271439829642,32.51451648884827,-100.14285546627679
+2286,32.489618379109125,-99.73271439829642,32.75044472750447,-99.03831264404093,32.68302963975361,-99.4041198397655
+2287,28.577223153178878,-99.03831264404093,29.098875849969577,-97.64950913552994,28.870333906672677,-98.37599109461243
+2288,28.577223153178878,-97.64950913552994,29.098875849969577,-96.26070562701895,28.94322779438434,-96.84709251267097
+2289,29.098875849969577,-99.03831264404093,29.35970219836493,-98.34391088978543,29.27285342774727,-98.44564878162637
+2290,29.098875849969577,-98.34391088978543,29.35970219836493,-97.64950913552994,29.278837566615294,-98.09760495866911
+2291,29.35970219836493,-99.03831264404093,29.490115372562602,-98.69111176691318,29.440983853639644,-98.72500466997468
+2292,29.35970219836493,-98.69111176691318,29.490115372562602,-98.34391088978543,29.444380858972984,-98.48897870546514
+2293,29.490115372562602,-99.03831264404093,29.620528546760276,-98.69111176691318,29.51355211608571,-98.71839263505247
+2294,29.490115372562602,-98.69111176691318,29.620528546760276,-98.34391088978543,29.557158140868534,-98.49943701649019
+2295,29.35970219836493,-98.34391088978543,29.620528546760276,-97.64950913552994,29.546580459033404,-98.25378727695961
+2296,29.098875849969577,-97.64950913552994,29.620528546760276,-96.26070562701895,29.38553631699576,-96.85716356877276
+2297,28.577223153178878,-96.26070562701895,29.098875849969577,-94.87190211850796,29.061855239641915,-95.54018045202749
+2298,29.098875849969577,-96.26070562701895,29.620528546760276,-94.87190211850796,29.4951115423629,-95.52982347164044
+2299,29.098875849969577,-94.87190211850796,29.620528546760276,-93.48309860999697,29.402505108558813,-94.68929914852734
+2300,29.620528546760276,-99.03831264404093,29.75094172095795,-98.69111176691318,29.74808132026133,-98.70318707159866
+2301,29.620528546760276,-98.69111176691318,29.75094172095795,-98.34391088978543,29.681477957040777,-98.50591007572314
+2302,29.75094172095795,-99.03831264404093,29.881354895155624,-98.69111176691318,29.78011271338311,-98.7140298442237
+2303,29.75094172095795,-98.69111176691318,29.881354895155624,-98.34391088978543,29.787085564154815,-98.4794384896647
+2304,29.620528546760276,-98.34391088978543,29.881354895155624,-97.64950913552994,29.740318458899498,-98.0710746517126
+2305,29.881354895155624,-99.03831264404093,30.142181243550976,-98.34391088978543,30.01400862467796,-98.47077917787482
+2306,29.881354895155624,-98.34391088978543,30.142181243550976,-97.64950913552994,30.06143086675186,-97.86795488746239
+2307,29.620528546760276,-97.64950913552994,30.142181243550976,-96.26070562701895,29.929739438507408,-97.14074530411018
+2308,30.142181243550976,-99.03831264404093,30.403007591946327,-98.34391088978543,30.262515977667242,-98.43314444510251
+2309,30.142181243550976,-98.34391088978543,30.27259441774865,-97.99671001265769,30.182130706875775,-98.10013382594339
+2310,30.142181243550976,-97.99671001265769,30.27259441774865,-97.64950913552994,30.218137159798385,-97.80455498078794
+2311,30.27259441774865,-98.34391088978543,30.403007591946327,-97.99671001265769,30.351972134385324,-98.06733063092831
+2312,30.27259441774865,-97.99671001265769,30.403007591946327,-97.64950913552994,30.33703805552889,-97.7763388916627
+2313,30.403007591946327,-99.03831264404093,30.663833940341675,-98.34391088978543,30.523572152733536,-98.47904982127527
+2314,30.403007591946327,-98.34391088978543,30.533420766144,-97.99671001265769,30.476257529682986,-98.15486704064801
+2315,30.403007591946327,-97.99671001265769,30.533420766144,-97.64950913552994,30.461920607505693,-97.74503358504974
+2316,30.533420766144,-98.34391088978543,30.663833940341675,-97.99671001265769,30.5851851718116,-98.19514119635804
+2317,30.533420766144,-97.99671001265769,30.663833940341675,-97.64950913552994,30.57779703995526,-97.77897113923522
+2318,30.142181243550976,-97.64950913552994,30.403007591946327,-96.95510738127444,30.29863517301184,-97.5614489273063
+2319,30.142181243550976,-96.95510738127444,30.403007591946327,-96.26070562701895,30.191206308157497,-96.51164100127353
+2320,30.403007591946327,-97.64950913552994,30.533420766144,-97.30230825840219,30.446068942144745,-97.61408535988785
+2321,30.403007591946327,-97.30230825840219,30.533420766144,-96.95510738127444,30.45131658204583,-97.21874456306226
+2322,30.533420766144,-97.64950913552994,30.663833940341675,-97.30230825840219,30.58295312054458,-97.52305579491201
+2323,30.533420766144,-97.30230825840219,30.663833940341675,-96.95510738127444,30.56290689391487,-97.20543413601766
+2324,30.403007591946327,-96.95510738127444,30.663833940341675,-96.26070562701895,30.60272032051729,-96.31448830855396
+2325,29.620528546760276,-96.26070562701895,29.881354895155624,-95.56630387276346,29.761479048079092,-95.77671353459247
+2326,29.620528546760276,-95.56630387276346,29.75094172095795,-95.21910299563571,29.69675083382153,-95.50196736025676
+2327,29.620528546760276,-95.21910299563571,29.75094172095795,-94.87190211850796,29.707411111438436,-95.06927805040877
+2328,29.75094172095795,-95.56630387276346,29.881354895155624,-95.21910299563571,29.791542606439045,-95.3970170570138
+2329,29.75094172095795,-95.21910299563571,29.881354895155624,-94.87190211850796,29.80472338913095,-95.08848496027625
+2330,29.881354895155624,-96.26070562701895,30.142181243550976,-95.56630387276346,30.013107923610484,-95.79396238847644
+2331,29.881354895155624,-95.56630387276346,30.0117680693533,-95.21910299563571,29.956230879893308,-95.4349169299137
+2332,29.881354895155624,-95.21910299563571,30.0117680693533,-94.87190211850796,29.962351504681337,-95.1837243795158
+2333,30.0117680693533,-95.56630387276346,30.142181243550976,-95.21910299563571,30.055138308932435,-95.48100102996466
+2334,29.620528546760276,-94.87190211850796,30.142181243550976,-93.48309860999697,29.889847404561657,-94.42769084066198
+2335,30.142181243550976,-96.26070562701895,30.663833940341675,-94.87190211850796,30.355301357101478,-95.68493721362518
+2336,30.142181243550976,-94.87190211850796,30.663833940341675,-93.48309860999697,30.38772608488454,-93.99384977916453
+2337,28.577223153178878,-93.48309860999697,29.620528546760276,-90.705491592975,29.572138274943295,-90.79264987141885
+2338,28.577223153178878,-90.705491592975,29.620528546760276,-87.92788457595303,29.418719222969635,-90.66314058426869
+2339,29.620528546760276,-93.48309860999697,30.142181243550976,-92.09429510148598,29.80313914396466,-93.07438846648013
+2340,29.620528546760276,-92.09429510148598,30.142181243550976,-90.705491592975,29.81593017872714,-91.32055380762488
+2341,30.142181243550976,-93.48309860999697,30.663833940341675,-92.09429510148598,30.285971854359712,-93.20519029103542
+2342,30.142181243550976,-92.09429510148598,30.403007591946327,-91.39989334723049,30.221058895428946,-92.02313760602301
+2343,30.142181243550976,-91.39989334723049,30.403007591946327,-90.705491592975,30.283536246656297,-91.07625652196344
+2344,30.403007591946327,-92.09429510148598,30.663833940341675,-91.39989334723049,30.56056162449785,-91.820468224035
+2345,30.403007591946327,-91.39989334723049,30.663833940341675,-90.705491592975,30.451853770820644,-91.1068616333469
+2346,29.620528546760276,-90.705491592975,29.881354895155624,-90.0110898387195,29.80281804717073,-90.3357040001066
+2347,29.881354895155624,-90.705491592975,30.0117680693533,-90.35829071584725,29.97726722945944,-90.39751833297527
+2348,29.881354895155624,-90.35829071584725,30.0117680693533,-90.0110898387195,29.968769300451747,-90.11911420923803
+2349,30.0117680693533,-90.705491592975,30.142181243550976,-90.35829071584725,30.080827393409958,-90.50793595594932
+2350,30.0117680693533,-90.35829071584725,30.142181243550976,-90.0110898387195,30.033427356165788,-90.10466919795037
+2351,29.881354895155624,-90.0110898387195,30.142181243550976,-89.316688084464,30.033793008974015,-89.9166657680886
+2352,30.142181243550976,-90.705491592975,30.663833940341675,-89.316688084464,30.406909346202294,-89.93384811200164
+2353,30.142181243550976,-89.316688084464,30.663833940341675,-87.92788457595303,30.42805683723971,-88.81642065133478
+2354,30.663833940341675,-99.03831264404093,31.185486637132374,-97.64950913552994,30.9064729428865,-97.93662151049857
+2355,30.663833940341675,-97.64950913552994,31.185486637132374,-96.26070562701895,30.926142060504315,-97.16768564000672
+2356,31.185486637132374,-99.03831264404093,31.707139333923074,-97.64950913552994,31.48947765994266,-98.23351805554047
+2357,31.185486637132374,-97.64950913552994,31.707139333923074,-96.26070562701895,31.487211659945295,-97.1499033002682
+2358,30.663833940341675,-96.26070562701895,31.707139333923074,-93.48309860999697,31.284974669530147,-95.40063722277465
+2359,31.707139333923074,-99.03831264404093,32.22879203071378,-97.64950913552994,32.05882685378112,-98.26436295357023
+2360,31.707139333923074,-97.64950913552994,32.22879203071378,-96.26070562701895,32.01376852923603,-96.69407880835166
+2361,32.22879203071378,-99.03831264404093,32.75044472750447,-97.64950913552994,32.46265374544655,-98.65797132840989
+2362,32.22879203071378,-97.64950913552994,32.489618379109125,-96.95510738127444,32.37506644011766,-97.22096658705892
+2363,32.22879203071378,-96.95510738127444,32.489618379109125,-96.26070562701895,32.36663998404478,-96.74985616617002
+2364,32.489618379109125,-97.64950913552994,32.6200315533068,-97.30230825840219,32.56997737050402,-97.38471605629313
+2365,32.489618379109125,-97.30230825840219,32.6200315533068,-96.95510738127444,32.56901544186659,-97.12644017912203
+2366,32.6200315533068,-97.64950913552994,32.75044472750447,-97.30230825840219,32.69655542152216,-97.39212739342457
+2367,32.6200315533068,-97.30230825840219,32.75044472750447,-96.95510738127444,32.69728950273518,-97.05112264508702
+2368,32.489618379109125,-96.95510738127444,32.6200315533068,-96.6079065041467,32.57688352949691,-96.81098037063438
+2369,32.6200315533068,-96.95510738127444,32.75044472750447,-96.6079065041467,32.70113434215175,-96.81831088965227
+2370,32.6200315533068,-96.6079065041467,32.75044472750447,-96.26070562701895,32.725454742681336,-96.44624976153428
+2371,31.707139333923074,-96.26070562701895,32.22879203071378,-94.87190211850796,31.839531860859072,-96.17421409062644
+2372,31.707139333923074,-94.87190211850796,32.22879203071378,-93.48309860999697,32.15767314304116,-94.33084606613306
+2373,32.22879203071378,-96.26070562701895,32.75044472750447,-94.87190211850796,32.57961158392445,-95.49342108791052
+2374,32.22879203071378,-94.87190211850796,32.489618379109125,-94.17750036425247,32.46367597340758,-94.62480534139962
+2375,32.22879203071378,-94.17750036425247,32.35920520491145,-93.83029948712472,32.303520300127,-94.166890318345
+2376,32.22879203071378,-93.83029948712472,32.35920520491145,-93.48309860999697,32.345372259374564,-93.71104214102331
+2377,32.35920520491145,-94.17750036425247,32.489618379109125,-93.83029948712472,32.4514752751534,-93.96289611988229
+2378,32.35920520491145,-93.83029948712472,32.489618379109125,-93.48309860999697,32.430288734731896,-93.73813283302586
+2379,32.489618379109125,-94.87190211850796,32.75044472750447,-94.17750036425247,32.493293229394205,-94.30290977687302
+2380,32.489618379109125,-94.17750036425247,32.75044472750447,-93.48309860999697,32.558225960864974,-93.75209425105794
+2381,30.663833940341675,-93.48309860999697,31.707139333923074,-90.705491592975,31.153559877594287,-92.57399057298167
+2382,30.663833940341675,-90.705491592975,31.185486637132374,-89.316688084464,31.06218044456514,-89.55423528598773
+2383,30.663833940341675,-89.316688084464,31.185486637132374,-87.92788457595303,30.914247293162337,-88.7086551921846
+2384,31.185486637132374,-90.705491592975,31.446312985527726,-90.0110898387195,31.317299235424183,-90.50319052182806
+2385,31.185486637132374,-90.0110898387195,31.31589981133005,-89.66388896159175,31.18855662728139,-89.66713538718545
+2386,31.185486637132374,-89.66388896159175,31.31589981133005,-89.316688084464,31.276392209186856,-89.41749209722511
+2387,31.31589981133005,-89.66388896159175,31.446312985527726,-89.316688084464,31.360051040156815,-89.43017076043954
+2388,31.446312985527726,-90.705491592975,31.707139333923074,-90.0110898387195,31.470428062610413,-90.47892874218375
+2389,31.446312985527726,-90.0110898387195,31.707139333923074,-89.316688084464,31.561267237423646,-89.39355811020842
+2390,31.185486637132374,-89.316688084464,31.446312985527726,-88.62228633020851,31.313111656632096,-89.16400856576101
+2391,31.185486637132374,-88.62228633020851,31.446312985527726,-87.92788457595303,31.39980206236888,-88.50244656344242
+2392,31.446312985527726,-89.316688084464,31.707139333923074,-88.62228633020851,31.625605762535297,-89.05478373793225
+2393,31.446312985527726,-88.62228633020851,31.707139333923074,-87.92788457595303,31.57015686625878,-88.54428500079844
+2394,31.707139333923074,-93.48309860999697,32.75044472750447,-90.705491592975,32.44725846351022,-92.08781713911233
+2395,31.707139333923074,-90.705491592975,32.22879203071378,-89.316688084464,32.09343986874096,-90.28650424415889
+2396,31.707139333923074,-89.316688084464,32.22879203071378,-87.92788457595303,32.00207813963928,-88.83873242426289
+2397,32.22879203071378,-90.705491592975,32.75044472750447,-89.316688084464,32.46690120749243,-90.18116982756446
+2398,32.22879203071378,-89.316688084464,32.75044472750447,-87.92788457595303,32.46561550540855,-88.48781675156174
+2399,32.75044472750447,-110.14874071212881,33.79375012108587,-107.37113369510683,33.0523062878062,-109.45657055382483
+2400,32.75044472750447,-107.37113369510683,33.79375012108587,-104.59352667808487,33.29209796860872,-106.61661198424123
+2401,33.79375012108587,-110.14874071212881,34.315402817876574,-108.75993720361782,34.124328510553234,-109.58289621393135
+2402,33.79375012108587,-108.75993720361782,34.315402817876574,-107.37113369510683,34.29872998703176,-108.1296595246631
+2403,34.315402817876574,-110.14874071212881,34.83705551466727,-108.75993720361782,34.58046072356142,-109.68704278880489
+2404,34.315402817876574,-108.75993720361782,34.83705551466727,-107.37113369510683,34.54536168512441,-108.23984527811459
+2405,33.79375012108587,-107.37113369510683,34.83705551466727,-104.59352667808487,34.48442614677387,-106.1934239066247
+2406,32.75044472750447,-104.59352667808487,33.79375012108587,-101.8159196610629,33.404751404008344,-102.9214081058426
+2407,32.75044472750447,-101.8159196610629,33.79375012108587,-99.03831264404093,33.07395186308859,-100.80020116569928
+2408,33.79375012108587,-104.59352667808487,34.315402817876574,-103.2047231695739,33.99123127910624,-104.46909064695932
+2409,33.79375012108587,-103.2047231695739,34.315402817876574,-101.8159196610629,34.303650062485396,-103.093062705938
+2410,34.315402817876574,-104.59352667808487,34.83705551466727,-103.2047231695739,34.452082025340324,-103.33161198591792
+2411,34.315402817876574,-103.2047231695739,34.83705551466727,-101.8159196610629,34.43055572214867,-103.15507371043432
+2412,33.79375012108587,-101.8159196610629,34.83705551466727,-99.03831264404093,34.46117947169632,-101.2426154781889
+2413,34.83705551466727,-110.14874071212881,35.358708211457966,-108.75993720361782,35.04566857486684,-109.55591622191297
+2414,34.83705551466727,-108.75993720361782,35.358708211457966,-107.37113369510683,35.12175590700155,-107.94814524218519
+2415,35.358708211457966,-110.14874071212881,35.88036090824867,-108.75993720361782,35.663493017995066,-109.46215747856343
+2416,35.358708211457966,-108.75993720361782,35.88036090824867,-107.37113369510683,35.47697555196021,-108.46457056233515
+2417,34.83705551466727,-107.37113369510683,35.358708211457966,-105.98233018659585,35.074073118962,-106.6687234834341
+2418,34.83705551466727,-105.98233018659585,35.358708211457966,-104.59352667808487,35.075896488991475,-105.4512781925214
+2419,35.358708211457966,-107.37113369510683,35.88036090824867,-105.98233018659585,35.61411161662236,-106.21362649300902
+2420,35.358708211457966,-105.98233018659585,35.88036090824867,-104.59352667808487,35.62123694576852,-105.78153566632182
+2421,35.88036090824867,-110.14874071212881,36.40201360503937,-108.75993720361782,36.178350337428505,-109.51995222532875
+2422,35.88036090824867,-108.75993720361782,36.40201360503937,-107.37113369510683,36.3031502853216,-108.46018320885837
+2423,36.40201360503937,-110.14874071212881,36.92366630183007,-108.75993720361782,36.71071161741811,-109.64565796648482
+2424,36.40201360503937,-108.75993720361782,36.92366630183007,-107.37113369510683,36.7127894967006,-108.13491651290614
+2425,35.88036090824867,-107.37113369510683,36.92366630183007,-104.59352667808487,36.340045436153325,-106.18024750421147
+2426,34.83705551466727,-104.59352667808487,36.92366630183007,-99.03831264404093,35.41609993215084,-102.26060775044826
+2427,32.75044472750447,-99.03831264404093,33.27209742429517,-97.64950913552994,32.95825998784107,-98.05561159961518
+2428,32.75044472750447,-97.64950913552994,32.88085790170214,-97.30230825840219,32.81522963683225,-97.39610427961134
+2429,32.75044472750447,-97.30230825840219,32.88085790170214,-96.95510738127444,32.81916442105361,-97.07874659891021
+2430,32.88085790170214,-97.64950913552994,33.01127107589982,-97.30230825840219,32.9319062607471,-97.36768031125149
+2431,32.88085790170214,-97.30230825840219,33.01127107589982,-96.95510738127444,32.941046065538465,-97.0685872466597
+2432,32.75044472750447,-96.95510738127444,32.88085790170214,-96.6079065041467,32.8142070005581,-96.77194279116172
+2433,32.75044472750447,-96.6079065041467,32.88085790170214,-96.26070562701895,32.805465243970076,-96.5789884351031
+2434,32.88085790170214,-96.95510738127444,33.01127107589982,-96.6079065041467,32.93301198014499,-96.78243341360272
+2435,32.88085790170214,-96.6079065041467,33.01127107589982,-96.26070562701895,32.93729213081808,-96.5127226673596
+2436,33.01127107589982,-97.64950913552994,33.1416842500975,-97.30230825840219,33.05544702321416,-97.42424567545852
+2437,33.01127107589982,-97.30230825840219,33.1416842500975,-96.95510738127444,33.06480029593071,-97.06221160701959
+2438,33.1416842500975,-97.64950913552994,33.27209742429517,-97.30230825840219,33.2069283302784,-97.50886205649995
+2439,33.1416842500975,-97.30230825840219,33.27209742429517,-96.95510738127444,33.196538617319284,-97.11738178746738
+2440,33.01127107589982,-96.95510738127444,33.1416842500975,-96.6079065041467,33.07226001917414,-96.8151202889149
+2441,33.01127107589982,-96.6079065041467,33.1416842500975,-96.26070562701895,33.04429704319475,-96.54734457375855
+2442,33.1416842500975,-96.95510738127444,33.27209742429517,-96.6079065041467,33.19579344421079,-96.76986626262554
+2443,33.1416842500975,-96.6079065041467,33.27209742429517,-96.26070562701895,33.19082006024645,-96.53456125744731
+2444,33.27209742429517,-99.03831264404093,33.79375012108587,-97.64950913552994,33.42540848727133,-97.812067377925
+2445,33.27209742429517,-97.64950913552994,33.79375012108587,-96.26070562701895,33.48725413966585,-96.82321544128378
+2446,32.75044472750447,-96.26070562701895,33.27209742429517,-94.87190211850796,33.13125168123363,-95.61690230000627
+2447,32.75044472750447,-94.87190211850796,33.27209742429517,-93.48309860999697,33.00980179144732,-93.91421133382514
+2448,33.27209742429517,-96.26070562701895,33.79375012108587,-94.87190211850796,33.619404049280526,-95.08617000144686
+2449,33.27209742429517,-94.87190211850796,33.53292377269052,-94.17750036425247,33.36599979905711,-94.6179873210141
+2450,33.27209742429517,-94.17750036425247,33.53292377269052,-93.48309860999697,33.41917097564804,-93.98227319326315
+2451,33.53292377269052,-94.17750036425247,33.79375012108587,-93.48309860999697,33.656526687228066,-93.66389153395666
+2452,33.79375012108587,-99.03831264404093,34.315402817876574,-97.64950913552994,33.92294745446904,-98.45372671142854
+2453,33.79375012108587,-97.64950913552994,34.05457646948122,-96.95510738127444,33.92892215045348,-97.17737609556389
+2454,33.79375012108587,-96.95510738127444,34.05457646948122,-96.26070562701895,33.96295473262151,-96.51237282216242
+2455,34.05457646948122,-97.64950913552994,34.315402817876574,-96.95510738127444,34.190993452514746,-97.20825516304554
+2456,34.05457646948122,-96.95510738127444,34.315402817876574,-96.26070562701895,34.187522902751596,-96.63049368571787
+2457,34.315402817876574,-99.03831264404093,34.83705551466727,-97.64950913552994,34.40837868470563,-97.95892910060776
+2458,34.315402817876574,-97.64950913552994,34.57622916627192,-96.95510738127444,34.45817911401999,-97.16127124842609
+2459,34.315402817876574,-96.95510738127444,34.57622916627192,-96.26070562701895,34.41868655437322,-96.59499489035265
+2460,34.57622916627192,-97.64950913552994,34.83705551466727,-96.95510738127444,34.73203938604243,-97.28332764120867
+2461,34.57622916627192,-96.95510738127444,34.7066423404696,-96.6079065041467,34.64689846681132,-96.73574240661999
+2462,34.57622916627192,-96.6079065041467,34.7066423404696,-96.26070562701895,34.64733946732205,-96.4922187889042
+2463,34.7066423404696,-96.95510738127444,34.83705551466727,-96.6079065041467,34.77565518203867,-96.69677531206068
+2464,34.7066423404696,-96.6079065041467,34.83705551466727,-96.26070562701895,34.78767670768249,-96.56521922284632
+2465,33.79375012108587,-96.26070562701895,34.83705551466727,-93.48309860999697,34.472143106076246,-95.45481317258252
+2466,32.75044472750447,-93.48309860999697,33.79375012108587,-90.705491592975,33.43778623525809,-92.50873184245673
+2467,32.75044472750447,-90.705491592975,33.27209742429517,-89.316688084464,32.984886077697425,-90.5037451420247
+2468,32.75044472750447,-89.316688084464,33.27209742429517,-87.92788457595303,32.85458826791141,-88.25253427530238
+2469,33.27209742429517,-90.705491592975,33.79375012108587,-89.316688084464,33.700361837876066,-89.47075028514173
+2470,33.27209742429517,-89.316688084464,33.79375012108587,-87.92788457595303,33.47716649803144,-88.31505659652593
+2471,33.79375012108587,-93.48309860999697,34.315402817876574,-92.09429510148598,34.120298459017874,-93.12028271200457
+2472,33.79375012108587,-92.09429510148598,34.315402817876574,-90.705491592975,34.10689946242847,-91.97351944402648
+2473,34.315402817876574,-93.48309860999697,34.83705551466727,-92.09429510148598,34.504232706878014,-93.01606600160504
+2474,33.79375012108587,-90.705491592975,34.315402817876574,-89.316688084464,34.08858016447575,-89.43526161789016
+2475,33.79375012108587,-89.316688084464,34.315402817876574,-87.92788457595303,34.12866238322626,-88.49938858537952
+2476,34.315402817876574,-90.705491592975,34.83705551466727,-89.316688084464,34.63636958101193,-89.51544678534773
+2477,34.315402817876574,-89.316688084464,34.83705551466727,-87.92788457595303,34.56484985882876,-88.79335533469839
+2478,34.83705551466727,-99.03831264404093,35.358708211457966,-97.64950913552994,35.12744099488047,-97.68059438068634
+2479,34.83705551466727,-97.64950913552994,35.09788186306262,-96.95510738127444,34.984362688713325,-97.29106974416844
+2480,34.83705551466727,-96.95510738127444,35.09788186306262,-96.26070562701895,34.95105251158052,-96.74348134984051
+2481,35.09788186306262,-97.64950913552994,35.358708211457966,-96.95510738127444,35.22411103405199,-97.45873674113608
+2482,35.09788186306262,-96.95510738127444,35.358708211457966,-96.26070562701895,35.265120841832264,-96.73228204123019
+2483,35.358708211457966,-99.03831264404093,35.88036090824867,-97.64950913552994,35.51229458795915,-98.87205767145446
+2484,35.358708211457966,-97.64950913552994,35.61953455985332,-96.95510738127444,35.46994706535138,-97.49220214875594
+2485,35.358708211457966,-96.95510738127444,35.61953455985332,-96.26070562701895,35.381119328151435,-96.6320768892622
+2486,35.61953455985332,-97.64950913552994,35.88036090824867,-96.95510738127444,35.75183106564877,-97.4173986827801
+2487,35.61953455985332,-96.95510738127444,35.88036090824867,-96.26070562701895,35.7265441843652,-96.59095401593882
+2488,34.83705551466727,-96.26070562701895,35.358708211457966,-94.87190211850796,35.08460987887727,-95.56708180593573
+2489,34.83705551466727,-94.87190211850796,35.358708211457966,-93.48309860999697,35.202903176238486,-93.84566516916031
+2490,35.358708211457966,-96.26070562701895,35.88036090824867,-94.87190211850796,35.60637035499351,-95.41809728518287
+2491,35.358708211457966,-94.87190211850796,35.88036090824867,-93.48309860999697,35.513023969327996,-93.88091227114123
+2492,35.88036090824867,-97.64950913552994,36.40201360503937,-96.26070562701895,36.165238584423655,-97.08367718206125
+2493,36.40201360503937,-99.03831264404093,36.92366630183007,-97.64950913552994,36.51998084569934,-97.92959380369709
+2494,36.40201360503937,-97.64950913552994,36.92366630183007,-96.26070562701895,36.64395692922554,-97.23911164871102
+2495,35.88036090824867,-96.26070562701895,36.010774082446346,-95.9135047498912,35.98810001669083,-96.07802149710882
+2496,35.88036090824867,-95.9135047498912,36.010774082446346,-95.56630387276346,35.95513730851686,-95.69729139276107
+2497,36.010774082446346,-96.26070562701895,36.14118725664402,-95.9135047498912,36.083692103214325,-95.98889627200089
+2498,36.010774082446346,-95.9135047498912,36.14118725664402,-95.56630387276346,36.07846051109514,-95.83885759561953
+2499,35.88036090824867,-95.56630387276346,36.14118725664402,-94.87190211850796,35.942969322770274,-95.20887317440754
+2500,36.14118725664402,-96.26070562701895,36.40201360503937,-95.56630387276346,36.2011408315194,-95.89790839295944
+2501,36.14118725664402,-95.56630387276346,36.40201360503937,-94.87190211850796,36.27577609587619,-95.38271497269406
+2502,35.88036090824867,-94.87190211850796,36.14118725664402,-94.17750036425247,36.04533492000731,-94.29656740389878
+2503,35.88036090824867,-94.17750036425247,36.14118725664402,-93.48309860999697,36.07943212598531,-94.11465552658905
+2504,36.14118725664402,-94.87190211850796,36.40201360503937,-94.17750036425247,36.29120074251274,-94.30126498360524
+2505,36.14118725664402,-94.17750036425247,36.40201360503937,-93.48309860999697,36.307705578167365,-93.98792396357948
+2506,36.40201360503937,-96.26070562701895,36.92366630183007,-94.87190211850796,36.65406030298189,-95.41889653468876
+2507,36.40201360503937,-94.87190211850796,36.92366630183007,-93.48309860999697,36.684504808965485,-94.09455266067212
+2508,34.83705551466727,-93.48309860999697,35.88036090824867,-90.705491592975,35.14749727229238,-92.44930493926651
+2509,34.83705551466727,-90.705491592975,35.09788186306262,-90.0110898387195,35.03539719509753,-90.06827268479182
+2510,34.83705551466727,-90.0110898387195,35.09788186306262,-89.316688084464,35.002444696745044,-89.78121041216545
+2511,35.09788186306262,-90.705491592975,35.358708211457966,-90.0110898387195,35.155673887375066,-90.16868362821266
+2512,35.09788186306262,-90.0110898387195,35.358708211457966,-89.316688084464,35.24503369995505,-89.8019462052515
+2513,34.83705551466727,-89.316688084464,35.358708211457966,-87.92788457595303,34.963525410840916,-88.69724924024325
+2514,35.358708211457966,-90.705491592975,35.88036090824867,-89.316688084464,35.590444765528645,-90.21415967059482
+2515,35.358708211457966,-89.316688084464,35.88036090824867,-87.92788457595303,35.70632042534126,-88.63839941757281
+2516,35.88036090824867,-93.48309860999697,36.92366630183007,-90.705491592975,36.442884593512964,-92.08151557574844
+2517,35.88036090824867,-90.705491592975,36.40201360503937,-89.316688084464,36.140082160133204,-89.66483500027155
+2518,35.88036090824867,-89.316688084464,36.40201360503937,-87.92788457595303,36.08398129519218,-88.71440770036091
+2519,36.40201360503937,-90.705491592975,36.92366630183007,-89.316688084464,36.60963649004062,-90.11117303081762
+2520,36.40201360503937,-89.316688084464,36.92366630183007,-87.92788457595303,36.725271895526305,-88.48809239333845
+2521,36.92366630183007,-122.64797228872769,37.184492650225415,-121.95357053447219,37.049100019474466,-122.05225758689078
+2522,36.92366630183007,-121.95357053447219,37.184492650225415,-121.25916878021671,37.04719401134695,-121.65243337712172
+2523,37.184492650225415,-122.64797228872769,37.31490582442309,-122.30077141159994,37.24275173638107,-122.35630313763859
+2524,37.184492650225415,-122.30077141159994,37.31490582442309,-121.95357053447219,37.26938451526315,-122.04560442764897
+2525,37.31490582442309,-122.64797228872769,37.44531899862076,-122.30077141159994,37.40321179580429,-122.37450131296244
+2526,37.31490582442309,-122.30077141159994,37.44531899862076,-121.95357053447219,37.378989229880695,-122.06371724092418
+2527,37.184492650225415,-121.95357053447219,37.31490582442309,-121.60636965734446,37.26455050755515,-121.8593402600555
+2528,37.184492650225415,-121.60636965734446,37.31490582442309,-121.25916878021671,37.1884310038,-121.55415800933
+2529,37.31490582442309,-121.95357053447219,37.44531899862076,-121.60636965734446,37.365310620128696,-121.87127515988502
+2530,37.31490582442309,-121.60636965734446,37.44531899862076,-121.25916878021671,37.39156063997905,-121.45240348956219
+2531,37.44531899862076,-124.03677579723868,37.966971695411466,-122.64797228872769,37.95006818675053,-122.71157286760462
+2532,37.44531899862076,-122.64797228872769,37.57573217281844,-122.30077141159994,37.52724755890495,-122.38422573200258
+2533,37.44531899862076,-122.30077141159994,37.57573217281844,-121.95357053447219,37.511664023260415,-122.18209412844152
+2534,37.57573217281844,-122.64797228872769,37.70614534701612,-122.30077141159994,37.641866418516166,-122.42557519594826
+2535,37.57573217281844,-122.30077141159994,37.70614534701612,-121.95357053447219,37.651160185412344,-122.08178440884218
+2536,37.44531899862076,-121.95357053447219,37.70614534701612,-121.25916878021671,37.61077822335078,-121.763429616442
+2537,37.70614534701612,-122.64797228872769,37.83655852121379,-122.30077141159994,37.75779247920467,-122.43988813360434
+2538,37.70614534701612,-122.30077141159994,37.83655852121379,-121.95357053447219,37.78497212777569,-122.17775788705723
+2539,37.83655852121379,-122.64797228872769,37.966971695411466,-122.30077141159994,37.91464846926327,-122.4537858561696
+2540,37.83655852121379,-122.30077141159994,37.966971695411466,-121.95357053447219,37.87831999434571,-122.19063794094026
+2541,37.70614534701612,-121.95357053447219,37.966971695411466,-121.25916878021671,37.828253667098025,-121.5248020533406
+2542,37.966971695411466,-124.03677579723868,38.48862439220217,-122.64797228872769,38.2918704604898,-122.84961479188955
+2543,37.966971695411466,-122.64797228872769,38.227798043806814,-121.95357053447219,38.078634228153646,-122.28913615273805
+2544,37.966971695411466,-121.95357053447219,38.227798043806814,-121.25916878021671,38.10785022042289,-121.52258208770006
+2545,38.227798043806814,-122.64797228872769,38.48862439220217,-121.95357053447219,38.30604112326839,-122.2953850591594
+2546,38.227798043806814,-121.95357053447219,38.35821121800449,-121.60636965734446,38.299744932377706,-121.91839595361351
+2547,38.227798043806814,-121.60636965734446,38.35821121800449,-121.25916878021671,38.287941450605224,-121.42563968305937
+2548,38.35821121800449,-121.95357053447219,38.48862439220217,-121.60636965734446,38.41325432477993,-121.87281518453896
+2549,38.35821121800449,-121.60636965734446,38.48862439220217,-121.25916878021671,38.432552497789736,-121.40440584618948
+2550,38.48862439220217,-124.03677579723868,39.010277088992865,-122.64797228872769,38.80942777183037,-122.92357276068446
+2551,38.48862439220217,-122.64797228872769,38.74945074059752,-121.95357053447219,38.63488443077905,-122.28032625552537
+2552,38.48862439220217,-121.95357053447219,38.61903756639984,-121.60636965734446,38.55871729665846,-121.7591988189476
+2553,38.48862439220217,-121.60636965734446,38.61903756639984,-121.25916878021671,38.55162317000551,-121.44524875275562
+2554,38.61903756639984,-121.95357053447219,38.74945074059752,-121.60636965734446,38.67335442144853,-121.77091970901462
+2555,38.61903756639984,-121.60636965734446,38.74945074059752,-121.25916878021671,38.675124283873274,-121.4027151342667
+2556,38.74945074059752,-122.64797228872769,39.010277088992865,-121.95357053447219,38.858540713785594,-122.32748720208126
+2557,38.74945074059752,-121.95357053447219,39.010277088992865,-121.25916878021671,38.822354468113744,-121.44099282831137
+2558,39.010277088992865,-124.03677579723868,39.27110343738821,-123.34237404298318,39.11874427262912,-123.6650514774385
+2559,39.010277088992865,-123.34237404298318,39.27110343738821,-122.64797228872769,39.11362048250172,-123.00569000610169
+2560,39.27110343738821,-124.03677579723868,39.53192978578356,-123.34237404298318,39.41071415951232,-123.61642417625676
+2561,39.27110343738821,-123.34237404298318,39.53192978578356,-122.64797228872769,39.35353570953212,-123.05451507877054
+2562,39.010277088992865,-122.64797228872769,39.27110343738821,-121.95357053447219,39.07030001792119,-122.38637167593852
+2563,39.010277088992865,-121.95357053447219,39.27110343738821,-121.25916878021671,39.120578557225315,-121.55466431697896
+2564,39.27110343738821,-122.64797228872769,39.53192978578356,-121.95357053447219,39.470587493373294,-122.19079519094012
+2565,39.27110343738821,-121.95357053447219,39.53192978578356,-121.25916878021671,39.437949992120274,-121.69797336471483
+2566,39.53192978578356,-124.03677579723868,40.053582482574264,-122.64797228872769,39.79383038881663,-123.61133281016642
+2567,39.53192978578356,-122.64797228872769,39.66234295998124,-122.30077141159994,39.598143453994616,-122.52748158322842
+2568,39.53192978578356,-122.30077141159994,39.66234295998124,-121.95357053447219,39.60515134922216,-122.12898858018092
+2569,39.66234295998124,-122.64797228872769,39.792756134178916,-122.30077141159994,39.73978901393821,-122.46479414661883
+2570,39.66234295998124,-122.30077141159994,39.792756134178916,-121.95357053447219,39.73611237753082,-122.15682043178352
+2571,39.53192978578356,-121.95357053447219,39.792756134178916,-121.25916878021671,39.64923518817104,-121.66209988901599
+2572,39.792756134178916,-122.64797228872769,40.053582482574264,-121.95357053447219,39.85594346942691,-122.17605927501681
+2573,39.792756134178916,-121.95357053447219,40.053582482574264,-121.25916878021671,39.81691279586946,-121.91982720676667
+2574,40.053582482574264,-125.42557930574966,40.57523517936497,-124.03677579723868,40.38017276896439,-124.16351399477166
+2575,40.57523517936497,-124.38397667436642,40.70564835356264,-124.03677579723868,40.60669193976818,-124.18495414807951
+2576,40.70564835356264,-124.38397667436642,40.836061527760315,-124.03677579723868,40.7770248301157,-124.14523514751863
+2577,40.836061527760315,-124.73117755149417,41.09688787615566,-124.03677579723868,40.93593159199578,-124.09508978237157
+2578,40.053582482574264,-124.03677579723868,40.18399565677194,-123.68957492011093,40.10630724800358,-123.8547801079389
+2579,40.053582482574264,-123.68957492011093,40.18399565677194,-123.34237404298318,40.13344106685555,-123.62290393106456
+2580,40.18399565677194,-124.03677579723868,40.31440883096961,-123.68957492011093,40.2515287468849,-123.80730973837653
+2581,40.18399565677194,-123.68957492011093,40.31440883096961,-123.34237404298318,40.22900950622358,-123.61433170135093
+2582,40.31440883096961,-124.03677579723868,40.57523517936497,-123.34237404298318,40.38432743456656,-123.89497143529182
+2583,40.31440883096961,-123.34237404298318,40.57523517936497,-122.64797228872769,40.414227117343415,-122.79457376718129
+2584,40.053582482574264,-122.64797228872769,40.31440883096961,-121.95357053447219,40.176607348599205,-122.18663118755322
+2585,40.053582482574264,-121.95357053447219,40.31440883096961,-121.25916878021671,40.19390524485367,-121.52242905237667
+2586,40.31440883096961,-122.64797228872769,40.44482200516729,-122.30077141159994,40.40352351975354,-122.41867017518551
+2587,40.31440883096961,-122.30077141159994,40.44482200516729,-121.95357053447219,40.41418488808131,-122.22890935665559
+2588,40.44482200516729,-122.64797228872769,40.57523517936497,-122.30077141159994,40.50399813724734,-122.44432416887332
+2589,40.44482200516729,-122.30077141159994,40.57523517936497,-121.95357053447219,40.50519022291818,-122.18080673171656
+2590,40.31440883096961,-121.95357053447219,40.57523517936497,-121.25916878021671,40.50683626279042,-121.79622019795325
+2591,40.57523517936497,-124.03677579723868,40.836061527760315,-123.34237404298318,40.76030397091851,-123.87484961633204
+2592,40.57523517936497,-123.34237404298318,40.836061527760315,-122.64797228872769,40.74261258578149,-123.05874538735887
+2593,40.836061527760315,-124.03677579723868,41.09688787615566,-123.34237404298318,40.92534259507901,-123.81010332393654
+2594,40.836061527760315,-123.34237404298318,41.09688787615566,-122.64797228872769,40.88046360384408,-122.80607503865252
+2595,40.57523517936497,-122.64797228872769,40.70564835356264,-122.30077141159994,40.62761199719357,-122.41812098311307
+2596,40.57523517936497,-122.30077141159994,40.70564835356264,-121.95357053447219,40.63255667228516,-122.196787457797
+2597,40.70564835356264,-122.64797228872769,40.836061527760315,-122.30077141159994,40.754239342197664,-122.48532800780684
+2598,40.70564835356264,-122.30077141159994,40.836061527760315,-121.95357053447219,40.75362649016508,-122.06276110193213
+2599,40.57523517936497,-121.95357053447219,40.836061527760315,-121.25916878021671,40.70009636905465,-121.72995392800011
+2600,40.836061527760315,-122.64797228872769,41.09688787615566,-121.95357053447219,40.92412995973436,-122.34360815991063
+2601,40.836061527760315,-121.95357053447219,41.09688787615566,-121.25916878021671,40.98205004806106,-121.58451510211917
+2602,36.92366630183007,-121.25916878021671,37.184492650225415,-120.56476702596123,37.07285185217236,-120.88632823727951
+2603,36.92366630183007,-120.56476702596123,37.05407947602774,-120.21756614883348,37.00682245492487,-120.32037404760409
+2604,36.92366630183007,-120.21756614883348,37.05407947602774,-119.87036527170574,36.985147803947704,-120.05807651132962
+2605,37.05407947602774,-120.56476702596123,37.184492650225415,-120.21756614883348,37.08922853804596,-120.33997463018108
+2606,37.05407947602774,-120.21756614883348,37.184492650225415,-119.87036527170574,37.09799128575296,-120.08824560834239
+2607,37.184492650225415,-121.25916878021671,37.44531899862076,-120.56476702596123,37.34286071754159,-120.77294578721342
+2608,37.184492650225415,-120.56476702596123,37.44531899862076,-119.87036527170574,37.31666419345417,-120.24074740912181
+2609,36.92366630183007,-119.87036527170574,37.184492650225415,-119.17596351745024,37.07531959389496,-119.69143545489428
+2610,37.184492650225415,-119.87036527170574,37.44531899862076,-119.17596351745024,37.31025378010288,-119.61154027113767
+2611,37.184492650225415,-119.17596351745024,37.44531899862076,-118.48156176319475,37.41378644475006,-118.54435988087177
+2612,37.44531899862076,-121.25916878021671,37.70614534701612,-120.56476702596123,37.62381496994048,-120.95185615623892
+2613,37.44531899862076,-120.56476702596123,37.70614534701612,-119.87036527170574,37.57457442714189,-120.17210250253152
+2614,37.70614534701612,-121.25916878021671,37.966971695411466,-120.56476702596123,37.886844467347274,-120.95674508525634
+2615,37.70614534701612,-120.56476702596123,37.966971695411466,-119.87036527170574,37.80866281965802,-120.23069142084776
+2616,37.44531899862076,-119.87036527170574,37.966971695411466,-118.48156176319475,37.69969254409268,-119.30459794789213
+2617,36.92366630183007,-118.48156176319475,37.966971695411466,-115.70395474617277,37.359597810938006,-117.35959792690576
+2618,37.966971695411466,-121.25916878021671,38.097384869609144,-120.91196790308896,38.02697562415465,-121.11826233623974
+2619,37.966971695411466,-120.91196790308896,38.097384869609144,-120.56476702596123,38.03372371120105,-120.7269884128867
+2620,38.097384869609144,-121.25916878021671,38.227798043806814,-120.91196790308896,38.14612052696396,-120.96474562348506
+2621,38.097384869609144,-120.91196790308896,38.227798043806814,-120.56476702596123,38.16005131081204,-120.784010857563
+2622,37.966971695411466,-120.56476702596123,38.227798043806814,-119.87036527170574,38.12098511036976,-120.4297256432421
+2623,38.227798043806814,-121.25916878021671,38.48862439220217,-120.56476702596123,38.35575592251315,-120.99847096627931
+2624,38.227798043806814,-120.56476702596123,38.48862439220217,-119.87036527170574,38.31279093318501,-120.39761011588645
+2625,37.966971695411466,-119.87036527170574,38.48862439220217,-118.48156176319475,38.19147560427338,-119.27585107448398
+2626,38.48862439220217,-121.25916878021671,38.61903756639984,-120.91196790308896,38.54593418270038,-121.16776110918656
+2627,38.48862439220217,-120.91196790308896,38.61903756639984,-120.56476702596123,38.52407507287681,-120.76209696948213
+2628,38.61903756639984,-121.25916878021671,38.74945074059752,-120.91196790308896,38.674525623306124,-121.17804565596879
+2629,38.61903756639984,-120.91196790308896,38.74945074059752,-120.56476702596123,38.70621073713546,-120.80850859133525
+2630,38.48862439220217,-120.56476702596123,38.74945074059752,-119.87036527170574,38.61299526506459,-120.17694236241331
+2631,38.74945074059752,-121.25916878021671,39.010277088992865,-120.56476702596123,38.81664442394763,-121.20627651495651
+2632,38.74945074059752,-120.56476702596123,39.010277088992865,-119.87036527170574,38.89006888808031,-120.06020715483852
+2633,38.48862439220217,-119.87036527170574,39.010277088992865,-118.48156176319475,38.72286128079739,-119.40346922139747
+2634,37.966971695411466,-118.48156176319475,39.010277088992865,-115.70395474617277,38.226979022384235,-117.6872952964851
+2635,36.92366630183007,-114.31515123766178,37.184492650225415,-113.62074948340629,37.07928651061438,-113.68798660196708
+2636,36.92366630183007,-113.62074948340629,37.05407947602774,-113.27354860627854,37.02004534656436,-113.54585267679393
+2637,36.92366630183007,-113.27354860627854,37.05407947602774,-112.92634772915079,36.98620775826885,-112.99461421052908
+2638,37.05407947602774,-113.62074948340629,37.184492650225415,-113.27354860627854,37.12183689696162,-113.50699358958855
+2639,37.05407947602774,-113.27354860627854,37.184492650225415,-112.92634772915079,37.15298380159954,-113.10336376964067
+2640,37.184492650225415,-114.31515123766178,37.44531899862076,-113.62074948340629,37.31717963363257,-113.65199788750935
+2641,37.184492650225415,-113.62074948340629,37.44531899862076,-112.92634772915079,37.26291201886064,-113.27649082940022
+2642,37.44531899862076,-114.31515123766178,37.966971695411466,-112.92634772915079,37.687159157301124,-113.43483427378254
+2643,36.92366630183007,-112.92634772915079,37.44531899862076,-111.5375442206398,37.098997392460696,-112.50061045944437
+2644,36.92366630183007,-111.5375442206398,37.44531899862076,-110.14874071212881,36.96529526754058,-111.41556339240378
+2645,37.44531899862076,-112.92634772915079,37.70614534701612,-112.2319459748953,37.5822920023247,-112.72860222882393
+2646,37.44531899862076,-112.2319459748953,37.70614534701612,-111.5375442206398,37.619875101278645,-112.01096229748643
+2647,37.70614534701612,-112.92634772915079,37.966971695411466,-112.2319459748953,37.80620352450628,-112.6401688499859
+2648,37.70614534701612,-112.2319459748953,37.966971695411466,-111.5375442206398,37.767789922757395,-111.6568529186032
+2649,37.44531899862076,-111.5375442206398,37.966971695411466,-110.14874071212881,37.79999044398088,-110.67978066835562
+2650,37.966971695411466,-114.31515123766178,38.48862439220217,-112.92634772915079,38.32536068497807,-113.1059591647144
+2651,38.48862439220217,-115.70395474617277,39.010277088992865,-114.31515123766178,38.81594221515969,-115.32741004342593
+2652,38.48862439220217,-114.31515123766178,39.010277088992865,-112.92634772915079,38.63458774669497,-113.49321900615142
+2653,37.966971695411466,-112.92634772915079,38.227798043806814,-112.2319459748953,38.074006048262085,-112.44480178142621
+2654,37.966971695411466,-112.2319459748953,38.227798043806814,-111.5375442206398,38.17508801666956,-112.07367479308286
+2655,38.227798043806814,-112.92634772915079,38.48862439220217,-112.2319459748953,38.29632596883087,-112.43215096092081
+2656,38.227798043806814,-112.2319459748953,38.48862439220217,-111.5375442206398,38.36563522696739,-112.01364109053138
+2657,37.966971695411466,-111.5375442206398,38.48862439220217,-110.14874071212881,38.183938619143866,-110.96330163602573
+2658,38.48862439220217,-112.92634772915079,38.74945074059752,-112.2319459748953,38.581163385112426,-112.41003911007627
+2659,38.48862439220217,-112.2319459748953,38.74945074059752,-111.5375442206398,38.62974087758107,-112.05690048896304
+2660,38.74945074059752,-112.92634772915079,39.010277088992865,-112.2319459748953,38.9135302265268,-112.59919010564163
+2661,38.74945074059752,-112.2319459748953,39.010277088992865,-111.5375442206398,38.86895051966245,-111.88923693290351
+2662,38.48862439220217,-111.5375442206398,38.74945074059752,-110.84314246638431,38.626504663725456,-111.45121335185712
+2663,38.48862439220217,-110.84314246638431,38.74945074059752,-110.14874071212881,38.585210993461345,-110.69917600323471
+2664,38.74945074059752,-111.5375442206398,39.010277088992865,-110.84314246638431,38.83418287045908,-111.20663993420723
+2665,38.74945074059752,-110.84314246638431,39.010277088992865,-110.14874071212881,38.92824953707004,-110.44920124103072
+2666,39.010277088992865,-121.25916878021671,39.53192978578356,-119.87036527170574,39.2735538769608,-120.27484449393607
+2667,39.010277088992865,-119.87036527170574,39.27110343738821,-119.17596351745024,39.154090809919545,-119.61609056040095
+2668,39.010277088992865,-119.17596351745024,39.27110343738821,-118.48156176319475,39.04194079769471,-119.04109565966186
+2669,39.27110343738821,-119.87036527170574,39.40151661158589,-119.52316439457799,39.343107518771596,-119.74226093736036
+2670,39.27110343738821,-119.52316439457799,39.40151661158589,-119.17596351745024,39.37628825959003,-119.26772300604814
+2671,39.40151661158589,-119.87036527170574,39.53192978578356,-119.52316439457799,39.48675265526689,-119.77320316271292
+2672,39.40151661158589,-119.52316439457799,39.53192978578356,-119.17596351745024,39.43742417760588,-119.29317086313829
+2673,39.27110343738821,-119.17596351745024,39.53192978578356,-118.48156176319475,39.47568724394208,-118.79713006735912
+2674,39.53192978578356,-121.25916878021671,40.053582482574264,-119.87036527170574,39.73016937572528,-119.95767932328025
+2675,39.53192978578356,-119.87036527170574,39.66234295998124,-119.52316439457799,39.58621552225764,-119.76247404859868
+2676,39.53192978578356,-119.52316439457799,39.66234295998124,-119.17596351745024,39.608597247895965,-119.31456529237812
+2677,39.66234295998124,-119.87036527170574,39.792756134178916,-119.52316439457799,39.67246960067105,-119.75240940205819
+2678,39.66234295998124,-119.52316439457799,39.792756134178916,-119.17596351745024,39.69695949215563,-119.3349129452065
+2679,39.53192978578356,-119.17596351745024,39.792756134178916,-118.48156176319475,39.62836128564153,-119.11367767466545
+2680,39.792756134178916,-119.87036527170574,40.053582482574264,-119.17596351745024,39.94971678498855,-119.391560698391
+2681,39.792756134178916,-119.17596351745024,40.053582482574264,-118.48156176319475,39.92845551692103,-118.79914130385512
+2682,39.010277088992865,-118.48156176319475,40.053582482574264,-115.70395474617277,39.39691169372885,-115.71589306423539
+2683,40.053582482574264,-121.25916878021671,41.09688787615566,-118.48156176319475,40.511979908574986,-120.45410597634394
+2684,40.053582482574264,-118.48156176319475,41.09688787615566,-115.70395474617277,40.76708041064992,-116.99624767537097
+2685,39.010277088992865,-115.70395474617277,40.053582482574264,-112.92634772915079,39.13064077729772,-113.94457943667817
+2686,39.010277088992865,-112.92634772915079,39.27110343738821,-112.2319459748953,39.14209639014226,-112.49382310026597
+2687,39.010277088992865,-112.2319459748953,39.27110343738821,-111.5375442206398,39.157206234146855,-111.83618491970525
+2688,39.27110343738821,-112.92634772915079,39.53192978578356,-112.2319459748953,39.386302017668854,-112.50211325244643
+2689,39.27110343738821,-112.2319459748953,39.53192978578356,-111.5375442206398,39.41832225211799,-111.75477883326404
+2690,39.010277088992865,-111.5375442206398,39.27110343738821,-110.84314246638431,39.18648948986568,-111.07645040194502
+2691,39.010277088992865,-110.84314246638431,39.27110343738821,-110.14874071212881,39.1371737147157,-110.32595540923609
+2692,39.27110343738821,-111.5375442206398,39.53192978578356,-110.84314246638431,39.39959600347909,-111.08521029469551
+2693,39.27110343738821,-110.84314246638431,39.53192978578356,-110.14874071212881,39.43189194424478,-110.46296094033016
+2694,39.53192978578356,-112.92634772915079,39.792756134178916,-112.2319459748953,39.590682799106055,-112.30372632207653
+2695,39.53192978578356,-112.2319459748953,39.792756134178916,-111.5375442206398,39.643327612362064,-111.86434650171459
+2696,39.792756134178916,-112.92634772915079,40.053582482574264,-112.2319459748953,40.00024881258571,-112.27404333650779
+2697,39.792756134178916,-112.2319459748953,40.053582482574264,-111.5375442206398,39.94859355198955,-111.90073160835071
+2698,39.53192978578356,-111.5375442206398,39.792756134178916,-110.84314246638431,39.66065301130666,-111.22818089626271
+2699,39.53192978578356,-110.84314246638431,39.792756134178916,-110.14874071212881,39.60301106430324,-110.64354697784897
+2700,39.792756134178916,-111.5375442206398,40.053582482574264,-110.84314246638431,39.91643119920775,-111.25980902434888
+2701,39.792756134178916,-110.84314246638431,40.053582482574264,-110.14874071212881,39.90784412986514,-110.45727622256693
+2702,40.053582482574264,-115.70395474617277,41.09688787615566,-112.92634772915079,40.743917545867035,-113.57624094321996
+2703,40.053582482574264,-112.92634772915079,40.31440883096961,-112.2319459748953,40.21311357658905,-112.45121495302111
+2704,40.053582482574264,-112.2319459748953,40.18399565677194,-111.88474509776755,40.110389984360104,-111.95298561488481
+2705,40.053582482574264,-111.88474509776755,40.18399565677194,-111.5375442206398,40.112459932018375,-111.67424353782971
+2706,40.18399565677194,-112.2319459748953,40.31440883096961,-111.88474509776755,40.252059679483,-112.09396118690296
+2707,40.18399565677194,-111.88474509776755,40.31440883096961,-111.5375442206398,40.253789371922544,-111.69217062570496
+2708,40.31440883096961,-112.92634772915079,40.57523517936497,-112.2319459748953,40.41934292499164,-112.50920615855175
+2709,40.31440883096961,-112.2319459748953,40.44482200516729,-111.88474509776755,40.38062455865186,-111.94371766042461
+2710,40.31440883096961,-111.88474509776755,40.44482200516729,-111.5375442206398,40.381911566642444,-111.75903322749309
+2711,40.44482200516729,-112.2319459748953,40.57523517936497,-111.88474509776755,40.518774513510536,-111.95207398714444
+2712,40.44482200516729,-111.88474509776755,40.57523517936497,-111.5375442206398,40.530717228853995,-111.7745887503418
+2713,40.053582482574264,-111.5375442206398,40.31440883096961,-110.84314246638431,40.217348231811826,-111.13968023934991
+2714,40.053582482574264,-110.84314246638431,40.31440883096961,-110.14874071212881,40.21081145269173,-110.48865903715725
+2715,40.31440883096961,-111.5375442206398,40.57523517936497,-110.84314246638431,40.472196096272924,-111.28351948843444
+2716,40.31440883096961,-110.84314246638431,40.57523517936497,-110.14874071212881,40.3592734231063,-110.54257711482336
+2717,40.57523517936497,-112.92634772915079,40.836061527760315,-112.2319459748953,40.68766466644271,-112.54257655539872
+2718,40.57523517936497,-112.2319459748953,40.70564835356264,-111.88474509776755,40.65074753076571,-111.96462730867101
+2719,40.57523517936497,-111.88474509776755,40.70564835356264,-111.5375442206398,40.638335399875274,-111.79576317851698
+2720,40.70564835356264,-112.2319459748953,40.836061527760315,-111.88474509776755,40.75561372335232,-111.98842438052829
+2721,40.70564835356264,-111.88474509776755,40.836061527760315,-111.5375442206398,40.748526931363756,-111.79670965291076
+2722,40.836061527760315,-112.92634772915079,41.09688787615566,-112.2319459748953,41.048659708842,-112.24244184936751
+2723,40.836061527760315,-112.2319459748953,41.09688787615566,-111.5375442206398,40.99344935428753,-111.85601462003935
+2724,40.57523517936497,-111.5375442206398,40.836061527760315,-110.84314246638431,40.67407011135938,-111.30929338026066
+2725,40.836061527760315,-111.5375442206398,41.09688787615566,-110.84314246638431,40.98845064424537,-111.37000658629712
+2726,40.836061527760315,-110.84314246638431,41.09688787615566,-110.14874071212881,40.9127178703771,-110.83404923126615
+2727,41.09688787615566,-126.81438281426065,42.14019326973706,-124.03677579723868,41.55106399014827,-124.11455373846908
+2728,41.09688787615566,-124.03677579723868,41.35771422455101,-123.34237404298318,41.212080567878346,-123.77663917328627
+2729,41.09688787615566,-123.34237404298318,41.35771422455101,-122.64797228872769,41.24494720053389,-123.10622166684443
+2730,41.35771422455101,-124.03677579723868,41.61854057294636,-123.34237404298318,41.39869819542814,-123.79103931738152
+2731,41.35771422455101,-123.34237404298318,41.61854057294636,-122.64797228872769,41.52144993571344,-122.8921684378909
+2732,41.09688787615566,-122.64797228872769,41.35771422455101,-121.95357053447219,41.25619668399702,-122.25246633737216
+2733,41.09688787615566,-121.95357053447219,41.35771422455101,-121.25916878021671,41.18822421073334,-121.62387624218539
+2734,41.35771422455101,-122.64797228872769,41.48812739874869,-122.30077141159994,41.44035939177069,-122.42774775675191
+2735,41.48812739874869,-122.64797228872769,41.61854057294636,-122.30077141159994,41.55575925548176,-122.45913613215374
+2736,41.48812739874869,-122.30077141159994,41.61854057294636,-121.95357053447219,41.55901211343079,-122.26000678430444
+2737,41.61854057294636,-124.03677579723868,41.87936692134171,-123.34237404298318,41.78528002720172,-123.58830684758574
+2738,41.61854057294636,-123.34237404298318,41.87936692134171,-122.64797228872769,41.761975684336946,-122.89651817053947
+2739,41.87936692134171,-124.03677579723868,42.14019326973706,-123.34237404298318,41.91904156658222,-123.58452104995855
+2740,41.87936692134171,-123.34237404298318,42.14019326973706,-122.64797228872769,41.89639560662602,-122.82763198082333
+2741,41.61854057294636,-122.64797228872769,41.748953747144036,-122.30077141159994,41.695996090378735,-122.53003564465925
+2742,41.61854057294636,-122.30077141159994,41.748953747144036,-121.95357053447219,41.659008119463,-122.11582094189332
+2743,41.748953747144036,-122.64797228872769,41.87936692134171,-122.30077141159994,41.80300715539254,-122.47767738157683
+2744,41.748953747144036,-122.30077141159994,41.87936692134171,-121.95357053447219,41.765748555995664,-122.05855758734333
+2745,41.61854057294636,-121.95357053447219,41.87936692134171,-121.25916878021671,41.72321049834687,-121.29505081207063
+2746,41.87936692134171,-122.64797228872769,42.14019326973706,-121.95357053447219,41.932915080426405,-122.48528056778868
+2747,41.87936692134171,-121.95357053447219,42.14019326973706,-121.25916878021671,41.98783532710838,-121.66930143247069
+2748,42.14019326973706,-126.81438281426065,43.18349866331846,-124.03677579723868,42.817005538438536,-124.40321992988768
+2749,42.14019326973706,-124.03677579723868,42.661845966527764,-122.64797228872769,42.38284056107148,-123.1090113083384
+2750,42.14019326973706,-122.64797228872769,42.661845966527764,-121.25916878021671,42.36191834529504,-121.88718972762686
+2751,42.661845966527764,-124.03677579723868,43.18349866331846,-122.64797228872769,42.999112315735424,-123.35778338170846
+2752,42.661845966527764,-122.64797228872769,43.18349866331846,-121.25916878021671,42.95969319382948,-122.14626784518985
+2753,43.18349866331846,-126.81438281426065,44.22680405689985,-124.03677579723868,43.53478252913433,-124.23305219888657
+2754,43.18349866331846,-124.03677579723868,43.705151360109156,-122.64797228872769,43.39075679151114,-123.32543250272428
+2755,43.18349866331846,-122.64797228872769,43.705151360109156,-121.25916878021671,43.49709936174079,-121.61776915321484
+2756,43.705151360109156,-123.34237404298318,43.965977708504504,-122.64797228872769,43.782093245363875,-123.0999681690537
+2757,43.965977708504504,-124.03677579723868,44.22680405689985,-123.34237404298318,44.05986703952495,-123.71260832432854
+2758,43.965977708504504,-123.34237404298318,44.22680405689985,-122.64797228872769,44.06765025827806,-123.09956015555072
+2759,43.705151360109156,-122.64797228872769,44.22680405689985,-121.25916878021671,43.934410866844985,-121.46647936870949
+2760,44.22680405689985,-126.81438281426065,45.27010945048125,-124.03677579723868,44.647676134897445,-124.06111459548129
+2761,44.22680405689985,-124.03677579723868,44.74845675369055,-122.64797228872769,44.517902126432354,-123.08810306633436
+2762,44.22680405689985,-122.64797228872769,44.74845675369055,-121.25916878021671,44.40068195990355,-121.70449416082685
+2763,44.74845675369055,-124.03677579723868,45.0092831020859,-123.34237404298318,44.95660921419749,-124.00124827347254
+2764,44.74845675369055,-123.34237404298318,45.0092831020859,-122.64797228872769,44.91415153974102,-122.87440490110309
+2765,45.0092831020859,-124.03677579723868,45.27010945048125,-123.34237404298318,45.088633523475515,-123.83769134421094
+2766,45.0092831020859,-123.34237404298318,45.27010945048125,-122.64797228872769,45.176311310723214,-122.98482317055783
+2767,44.74845675369055,-122.64797228872769,45.27010945048125,-121.25916878021671,45.0169216119927,-121.88279485414273
+2768,41.09688787615566,-121.25916878021671,42.14019326973706,-118.48156176319475,41.60268612672301,-120.6220743691813
+2769,41.09688787615566,-118.48156176319475,42.14019326973706,-115.70395474617277,41.41682611829291,-117.72005696794093
+2770,42.14019326973706,-121.25916878021671,42.661845966527764,-119.87036527170574,42.35529265830186,-120.33295478354522
+2771,42.661845966527764,-121.25916878021671,43.18349866331846,-119.87036527170574,42.90366955191615,-120.7766356424202
+2772,42.14019326973706,-118.48156176319475,43.18349866331846,-115.70395474617277,42.97240279129048,-117.18168109015096
+2773,41.09688787615566,-115.70395474617277,42.14019326973706,-112.92634772915079,41.689579058624574,-113.53575823617777
+2774,41.09688787615566,-112.2319459748953,41.22730105035333,-111.88474509776755,41.17516078861004,-111.99088936635249
+2775,41.09688787615566,-111.88474509776755,41.22730105035333,-111.5375442206398,41.15531053046502,-111.80326083563465
+2776,41.22730105035333,-112.2319459748953,41.35771422455101,-111.88474509776755,41.26545364142621,-111.98667747973501
+2777,41.22730105035333,-111.88474509776755,41.35771422455101,-111.5375442206398,41.293158999559246,-111.74554667352467
+2778,41.35771422455101,-112.92634772915079,41.61854057294636,-112.2319459748953,41.59861337797441,-112.3130297181849
+2779,41.35771422455101,-112.2319459748953,41.61854057294636,-111.5375442206398,41.51723236629839,-111.9422134344325
+2780,41.09688787615566,-111.5375442206398,41.61854057294636,-110.14874071212881,41.43310184685839,-111.04312054498098
+2781,41.61854057294636,-112.92634772915079,41.87936692134171,-112.2319459748953,41.70750136223733,-112.37711952843104
+2782,41.61854057294636,-112.2319459748953,41.748953747144036,-111.88474509776755,41.68544733641032,-112.0511570357851
+2783,41.61854057294636,-111.88474509776755,41.748953747144036,-111.5375442206398,41.69732040306157,-111.82662791412878
+2784,41.748953747144036,-112.2319459748953,41.87936692134171,-111.88474509776755,41.80342382671642,-112.04238647126294
+2785,41.748953747144036,-111.88474509776755,41.87936692134171,-111.5375442206398,41.80080770598797,-111.7681186619404
+2786,41.87936692134171,-112.92634772915079,42.14019326973706,-112.2319459748953,41.950904223840936,-112.75607975478685
+2787,41.87936692134171,-112.2319459748953,42.14019326973706,-111.5375442206398,41.93742533730372,-111.9024083893371
+2788,41.61854057294636,-111.5375442206398,42.14019326973706,-110.14874071212881,41.86704736733811,-111.02527854833205
+2789,42.14019326973706,-115.70395474617277,43.18349866331846,-112.92634772915079,42.67307991013212,-114.07168376828507
+2790,42.14019326973706,-112.92634772915079,43.18349866331846,-110.14874071212881,42.754535569662536,-111.16740025023873
+2791,43.18349866331846,-121.25916878021671,44.22680405689985,-118.48156176319475,43.51876344868149,-121.17142022006055
+2792,43.18349866331846,-117.09275825468376,43.44432501171381,-116.39835650042826,43.332149572084425,-116.7828112959648
+2793,43.18349866331846,-116.39835650042826,43.44432501171381,-115.70395474617277,43.315787743179015,-116.21852562286578
+2794,43.44432501171381,-117.09275825468376,43.574738185911485,-116.74555737755601,43.52282209116469,-116.84840995238406
+2795,43.44432501171381,-116.74555737755601,43.574738185911485,-116.39835650042826,43.52009142808397,-116.44442420081867
+2796,43.574738185911485,-117.09275825468376,43.705151360109156,-116.74555737755601,43.64403279778795,-116.89335406345747
+2797,43.574738185911485,-116.74555737755601,43.705151360109156,-116.39835650042826,43.647838722923865,-116.46140495713937
+2798,43.44432501171381,-116.39835650042826,43.574738185911485,-116.05115562330052,43.53240118940816,-116.260758535899
+2799,43.44432501171381,-116.05115562330052,43.574738185911485,-115.70395474617277,43.482022167110564,-116.00642502905876
+2800,43.574738185911485,-116.39835650042826,43.705151360109156,-116.05115562330052,43.63038593483056,-116.27829715757713
+2801,43.705151360109156,-118.48156176319475,44.22680405689985,-117.09275825468376,43.94642725996644,-117.32040524897884
+2802,43.705151360109156,-117.09275825468376,43.965977708504504,-116.39835650042826,43.74421249085059,-116.57047154315981
+2803,43.705151360109156,-116.39835650042826,43.965977708504504,-115.70395474617277,43.745879578894176,-116.28823719385666
+2804,43.965977708504504,-117.09275825468376,44.22680405689985,-116.39835650042826,44.05750808336519,-116.98813025466097
+2805,43.965977708504504,-116.39835650042826,44.22680405689985,-115.70395474617277,44.09339591439165,-116.1268955312007
+2806,44.22680405689985,-121.25916878021671,45.27010945048125,-118.48156176319475,44.63323840756306,-120.92350518497165
+2807,44.22680405689985,-118.48156176319475,45.27010945048125,-115.70395474617277,44.70932104242261,-116.62628549208206
+2808,43.18349866331846,-115.70395474617277,44.22680405689985,-112.92634772915079,43.5495334757274,-114.02932307253482
+2809,43.18349866331846,-112.92634772915079,43.705151360109156,-111.5375442206398,43.52524188336653,-111.94298603432979
+2810,43.18349866331846,-111.5375442206398,43.705151360109156,-110.14874071212881,43.440403928431756,-110.87733967081817
+2811,43.705151360109156,-112.92634772915079,44.22680405689985,-111.5375442206398,43.81350075763661,-111.78654258763355
+2812,43.705151360109156,-111.5375442206398,44.22680405689985,-110.14874071212881,43.89468826054946,-110.54420397473687
+2813,44.22680405689985,-115.70395474617277,45.27010945048125,-112.92634772915079,45.047486158054866,-114.05451326239142
+2814,44.22680405689985,-112.92634772915079,44.74845675369055,-111.5375442206398,44.636805950744574,-112.54024409440572
+2815,44.22680405689985,-111.5375442206398,44.74845675369055,-110.14874071212881,44.591669637267856,-110.78467734313631
+2816,44.74845675369055,-112.92634772915079,45.27010945048125,-111.5375442206398,45.06357724945184,-111.64739978429584
+2817,44.74845675369055,-111.5375442206398,45.27010945048125,-110.14874071212881,44.95363922411253,-111.04367093571356
+2818,36.92366630183007,-110.14874071212881,37.184492650225415,-109.45433895787332,37.0314948559528,-109.62719799268947
+2819,36.92366630183007,-109.45433895787332,37.184492650225415,-108.75993720361782,36.99829355349159,-109.20923114539171
+2820,37.184492650225415,-110.14874071212881,37.44531899862076,-109.45433895787332,37.28948432506172,-109.61529215994494
+2821,37.184492650225415,-109.45433895787332,37.44531899862076,-108.75993720361782,37.31180057380968,-109.30657505772912
+2822,36.92366630183007,-108.75993720361782,37.44531899862076,-107.37113369510683,37.30597870229536,-107.90860085553044
+2823,37.44531899862076,-110.14874071212881,37.966971695411466,-108.75993720361782,37.656063336831615,-109.57753386127345
+2824,37.44531899862076,-108.75993720361782,37.966971695411466,-107.37113369510683,37.81149951597232,-107.73537202482811
+2825,36.92366630183007,-107.37113369510683,37.44531899862076,-105.98233018659585,37.194598725278716,-106.70930866828732
+2826,36.92366630183007,-105.98233018659585,37.44531899862076,-104.59352667808487,37.293644148847605,-105.81612993351673
+2827,37.44531899862076,-107.37113369510683,37.966971695411466,-105.98233018659585,37.58770764313969,-106.31737167689491
+2828,37.44531899862076,-105.98233018659585,37.966971695411466,-104.59352667808487,37.598548836876105,-105.52131433797774
+2829,37.966971695411466,-110.14874071212881,38.48862439220217,-108.75993720361782,38.208750726458796,-109.46129347352876
+2830,37.966971695411466,-108.75993720361782,38.48862439220217,-107.37113369510683,38.27477024510417,-107.72080661903206
+2831,38.48862439220217,-110.14874071212881,38.74945074059752,-109.45433895787332,38.601984021093045,-109.62794923216946
+2832,38.48862439220217,-109.45433895787332,38.74945074059752,-108.75993720361782,38.71040164997309,-109.38245739227769
+2833,38.74945074059752,-110.14874071212881,39.010277088992865,-109.45433895787332,38.93173898179427,-109.74578600912632
+2834,38.74945074059752,-109.45433895787332,39.010277088992865,-108.75993720361782,38.918205457204685,-109.24165291328381
+2835,38.48862439220217,-108.75993720361782,39.010277088992865,-107.37113369510683,38.79295896079563,-108.08019530299028
+2836,37.966971695411466,-107.37113369510683,38.48862439220217,-105.98233018659585,38.43135919265134,-106.63372744438814
+2837,37.966971695411466,-105.98233018659585,38.227798043806814,-105.28792843234035,38.1532617474988,-105.56864547332198
+2838,37.966971695411466,-105.28792843234035,38.227798043806814,-104.59352667808487,38.11774140881717,-104.86465638665653
+2839,38.227798043806814,-105.98233018659585,38.48862439220217,-105.28792843234035,38.32344368519088,-105.53325578542567
+2840,38.227798043806814,-105.28792843234035,38.48862439220217,-104.59352667808487,38.372776814099616,-104.9457503250833
+2841,38.48862439220217,-107.37113369510683,39.010277088992865,-105.98233018659585,38.7801857555647,-106.57117650117388
+2842,38.48862439220217,-105.98233018659585,38.74945074059752,-105.28792843234035,38.599346376925354,-105.43118758549973
+2843,38.48862439220217,-105.28792843234035,38.74945074059752,-104.59352667808487,38.702036829712696,-104.73832513419592
+2844,38.74945074059752,-105.98233018659585,39.010277088992865,-105.28792843234035,38.89201087590566,-105.68276788221422
+2845,38.74945074059752,-105.28792843234035,38.879863914795195,-104.94072755521262,38.81479758263985,-105.09284864372766
+2846,38.74945074059752,-104.94072755521262,38.879863914795195,-104.59352667808487,38.827776452644365,-104.79119849675494
+2847,38.879863914795195,-105.28792843234035,39.010277088992865,-104.94072755521262,38.93148504415257,-105.02167065182178
+2848,38.879863914795195,-104.94072755521262,39.010277088992865,-104.59352667808487,38.92814623906951,-104.7629635000222
+2849,36.92366630183007,-104.59352667808487,37.966971695411466,-101.8159196610629,37.45737684592521,-103.79197964989537
+2850,36.92366630183007,-101.8159196610629,37.966971695411466,-99.03831264404093,37.61197636248834,-100.26795484891338
+2851,37.966971695411466,-104.59352667808487,38.48862439220217,-103.2047231695739,38.17762186162315,-103.95794908382935
+2852,37.966971695411466,-103.2047231695739,38.48862439220217,-101.8159196610629,38.18718544291657,-102.582242621889
+2853,38.48862439220217,-104.59352667808487,39.010277088992865,-103.2047231695739,38.8717907704803,-103.83206433004749
+2854,38.48862439220217,-103.2047231695739,39.010277088992865,-101.8159196610629,38.770149839835106,-102.67892950395336
+2855,37.966971695411466,-101.8159196610629,39.010277088992865,-99.03831264404093,38.382595376899864,-100.17801439856761
+2856,39.010277088992865,-110.14874071212881,39.53192978578356,-108.75993720361782,39.17200731275346,-108.99931540901682
+2857,39.010277088992865,-108.75993720361782,39.140690263190535,-108.41273632649008,39.08278532669442,-108.56586812326599
+2858,39.010277088992865,-108.41273632649008,39.140690263190535,-108.06553544936233,39.11468315365772,-108.36081376809841
+2859,39.140690263190535,-108.75993720361782,39.27110343738821,-108.41273632649008,39.17202352605294,-108.72392211812273
+2860,39.140690263190535,-108.41273632649008,39.27110343738821,-108.06553544936233,39.204532106093765,-108.25632316995807
+2861,39.27110343738821,-108.75993720361782,39.53192978578356,-108.06553544936233,39.34844557974025,-108.17424908503142
+2862,39.27110343738821,-108.06553544936233,39.53192978578356,-107.37113369510683,39.502487413714896,-107.88053980562665
+2863,39.53192978578356,-110.14874071212881,40.053582482574264,-108.75993720361782,39.97702735465979,-109.1475935158665
+2864,39.53192978578356,-108.75993720361782,40.053582482574264,-107.37113369510683,39.55908370646282,-107.54067057812915
+2865,39.010277088992865,-107.37113369510683,39.53192978578356,-105.98233018659585,39.26063542473501,-106.549093848937
+2866,39.010277088992865,-105.98233018659585,39.27110343738821,-105.28792843234035,39.09548651202148,-105.90120578886985
+2867,39.010277088992865,-105.28792843234035,39.27110343738821,-104.59352667808487,39.10531534310709,-104.95221728918969
+2868,39.27110343738821,-105.98233018659585,39.53192978578356,-105.28792843234035,39.42222788094994,-105.59702699960064
+2869,39.27110343738821,-105.28792843234035,39.53192978578356,-104.59352667808487,39.42455679610376,-104.93053268770312
+2870,39.53192978578356,-107.37113369510683,40.053582482574264,-105.98233018659585,39.73849762534383,-106.54124480725349
+2871,39.53192978578356,-105.98233018659585,39.792756134178916,-105.28792843234035,39.69153901125574,-105.55030721712443
+2872,39.53192978578356,-105.28792843234035,39.66234295998124,-104.94072755521262,39.60900935554603,-105.04566572284831
+2873,39.53192978578356,-104.94072755521262,39.66234295998124,-104.59352667808487,39.595603620969655,-104.8310943202581
+2874,39.66234295998124,-105.28792843234035,39.792756134178916,-104.94072755521262,39.726630501230716,-105.0555571919554
+2875,39.66234295998124,-104.94072755521262,39.792756134178916,-104.59352667808487,39.71944434950541,-104.83366867912451
+2876,39.792756134178916,-105.98233018659585,40.053582482574264,-105.28792843234035,39.95179315368715,-105.53260053596965
+2877,39.792756134178916,-105.28792843234035,39.923169308376586,-104.94072755521262,39.85987272330085,-105.05206269115675
+2878,39.792756134178916,-104.94072755521262,39.923169308376586,-104.59352667808487,39.84417694233921,-104.76743465226045
+2879,39.923169308376586,-105.28792843234035,40.053582482574264,-104.94072755521262,39.9846046165357,-105.1432584470263
+2880,39.923169308376586,-104.94072755521262,40.053582482574264,-104.59352667808487,39.955967246163105,-104.79847471666005
+2881,40.053582482574264,-110.14874071212881,40.31440883096961,-109.45433895787332,40.2437401679082,-109.82464696417637
+2882,40.053582482574264,-109.45433895787332,40.31440883096961,-108.75993720361782,40.21029160791077,-109.17767507057562
+2883,40.31440883096961,-110.14874071212881,40.57523517936497,-109.45433895787332,40.41748287122424,-109.67671706544436
+2884,40.31440883096961,-109.45433895787332,40.57523517936497,-108.75993720361782,40.381897592424906,-109.32183342940742
+2885,40.053582482574264,-108.75993720361782,40.57523517936497,-107.37113369510683,40.390872284210374,-108.01394029183436
+2886,40.57523517936497,-110.14874071212881,41.09688787615566,-108.75993720361782,40.86832793166795,-109.5857115415884
+2887,40.053582482574264,-107.37113369510683,40.57523517936497,-105.98233018659585,40.28844399813722,-106.55487902625765
+2888,40.053582482574264,-105.98233018659585,40.31440883096961,-105.28792843234035,40.15173959129932,-105.604190449225
+2889,40.053582482574264,-105.28792843234035,40.31440883096961,-104.59352667808487,40.13535612463014,-105.07311641734408
+2890,40.31440883096961,-105.98233018659585,40.57523517936497,-105.28792843234035,40.38647062280465,-105.59786214831819
+2891,40.31440883096961,-105.28792843234035,40.44482200516729,-104.94072755521262,40.40610719690897,-105.05484030716012
+2892,40.31440883096961,-104.94072755521262,40.44482200516729,-104.59352667808487,40.39514502581119,-104.77017924749485
+2893,40.44482200516729,-105.28792843234035,40.57523517936497,-104.94072755521262,40.507846996898756,-105.04109386125639
+2894,40.44482200516729,-104.94072755521262,40.57523517936497,-104.59352667808487,40.507142686891044,-104.93022191102568
+2895,40.57523517936497,-107.37113369510683,41.09688787615566,-105.98233018659585,40.77172567601113,-106.34231620379545
+2896,40.57523517936497,-105.98233018659585,41.09688787615566,-104.59352667808487,40.7336835004093,-105.18148539527502
+2897,39.010277088992865,-104.59352667808487,39.53192978578356,-103.2047231695739,39.224594206395174,-103.90796310531097
+2898,39.010277088992865,-103.2047231695739,39.53192978578356,-101.8159196610629,39.29864458146518,-102.57761984801533
+2899,39.53192978578356,-104.59352667808487,40.053582482574264,-103.2047231695739,39.71120153749765,-104.12471628358772
+2900,39.53192978578356,-103.2047231695739,40.053582482574264,-101.8159196610629,39.70133714661585,-102.51173790182541
+2901,39.010277088992865,-101.8159196610629,39.53192978578356,-100.42711615255192,39.32291995650577,-101.0439294422725
+2902,39.010277088992865,-100.42711615255192,39.53192978578356,-99.03831264404093,39.200326188622576,-99.86918956824829
+2903,39.53192978578356,-101.8159196610629,40.053582482574264,-100.42711615255192,39.79101253047051,-101.09948412256041
+2904,39.53192978578356,-100.42711615255192,40.053582482574264,-99.03831264404093,39.808584312513794,-99.84724642189444
+2905,40.053582482574264,-104.59352667808487,41.09688787615566,-101.8159196610629,40.56039220148102,-103.20009215324434
+2906,40.053582482574264,-101.8159196610629,41.09688787615566,-99.03831264404093,40.548436053725766,-99.95367018921286
+2907,36.92366630183007,-99.03831264404093,37.44531899862076,-97.64950913552994,37.239781239086916,-98.38134493760857
+2908,36.92366630183007,-97.64950913552994,37.44531899862076,-96.26070562701895,37.16783051287939,-97.20462544869275
+2909,37.44531899862076,-99.03831264404093,37.966971695411466,-97.64950913552994,37.85457613815774,-98.14000014090374
+2910,37.44531899862076,-97.64950913552994,37.70614534701612,-96.95510738127444,37.65102631062856,-97.30877648710084
+2911,37.44531899862076,-96.95510738127444,37.70614534701612,-96.26070562701895,37.65856133033973,-96.5613655530872
+2912,37.70614534701612,-97.64950913552994,37.966971695411466,-96.95510738127444,37.772067087643634,-97.3453537788756
+2913,37.70614534701612,-96.95510738127444,37.966971695411466,-96.26070562701895,37.84419561942934,-96.77105406337455
+2914,36.92366630183007,-96.26070562701895,37.184492650225415,-95.56630387276346,37.08156553439352,-95.7330995991871
+2915,36.92366630183007,-95.56630387276346,37.184492650225415,-94.87190211850796,37.1296590876981,-95.05486620015654
+2916,37.184492650225415,-96.26070562701895,37.44531899862076,-95.56630387276346,37.25084157784554,-95.65633646193226
+2917,37.184492650225415,-95.56630387276346,37.44531899862076,-94.87190211850796,37.2918273426835,-95.28167054350246
+2918,36.92366630183007,-94.87190211850796,37.184492650225415,-94.17750036425247,37.07868264763007,-94.58916526607192
+2919,36.92366630183007,-94.17750036425247,37.184492650225415,-93.48309860999697,37.132180488676596,-93.74971547063869
+2920,37.184492650225415,-94.87190211850796,37.44531899862076,-94.17750036425247,37.32193981097759,-94.73584329371776
+2921,37.184492650225415,-94.17750036425247,37.44531899862076,-93.48309860999697,37.188195233829035,-93.60651794416268
+2922,37.44531899862076,-96.26070562701895,37.70614534701612,-95.56630387276346,37.600259936175206,-96.04869155685043
+2923,37.44531899862076,-95.56630387276346,37.70614534701612,-94.87190211850796,37.57920280031403,-95.3157524877036
+2924,37.70614534701612,-96.26070562701895,37.966971695411466,-95.56630387276346,37.82791174817739,-95.97239294043064
+2925,37.70614534701612,-95.56630387276346,37.966971695411466,-94.87190211850796,37.867212841214695,-95.32455914801204
+2926,37.44531899862076,-94.87190211850796,37.966971695411466,-93.48309860999697,37.68659234396171,-94.48803371943949
+2927,37.966971695411466,-99.03831264404093,38.227798043806814,-98.34391088978543,37.99427177488385,-98.45252990795478
+2928,37.966971695411466,-98.34391088978543,38.227798043806814,-97.64950913552994,38.07351663055988,-97.99424926608792
+2929,38.227798043806814,-99.03831264404093,38.48862439220217,-98.34391088978543,38.346320108443024,-98.63201620482418
+2930,38.227798043806814,-98.34391088978543,38.48862439220217,-97.64950913552994,38.31397797620276,-98.00606889342262
+2931,37.966971695411466,-97.64950913552994,38.48862439220217,-96.26070562701895,38.24265648820618,-96.95790330449235
+2932,38.48862439220217,-99.03831264404093,39.010277088992865,-97.64950913552994,38.795259998110254,-98.30823709313538
+2933,38.48862439220217,-97.64950913552994,39.010277088992865,-96.26070562701895,38.821649348666966,-96.77622167917625
+2934,37.966971695411466,-96.26070562701895,38.48862439220217,-94.87190211850796,38.26208571646978,-95.50120816741523
+2935,37.966971695411466,-94.87190211850796,38.48862439220217,-93.48309860999697,38.233127224075226,-94.1235880295417
+2936,38.48862439220217,-96.26070562701895,38.74945074059752,-95.56630387276346,38.62529217386161,-96.10509043947484
+2937,38.48862439220217,-95.56630387276346,38.74945074059752,-94.87190211850796,38.60476037319361,-95.23251555267343
+2938,38.74945074059752,-96.26070562701895,39.010277088992865,-95.56630387276346,38.92016395873578,-95.93027785500641
+2939,38.74945074059752,-95.56630387276346,38.879863914795195,-95.21910299563571,38.812362266310004,-95.30543019870112
+2940,38.74945074059752,-95.21910299563571,38.879863914795195,-94.87190211850796,38.801425262214835,-95.03956079327861
+2941,38.879863914795195,-95.56630387276346,39.010277088992865,-95.21910299563571,38.96365035700538,-95.29289981187438
+2942,38.879863914795195,-95.21910299563571,39.010277088992865,-94.87190211850796,38.951870753957884,-95.11122558061864
+2943,38.48862439220217,-94.87190211850796,38.74945074059752,-94.17750036425247,38.63963464405087,-94.51143636928832
+2944,38.48862439220217,-94.17750036425247,38.74945074059752,-93.48309860999697,38.51863207321166,-94.11553886098436
+2945,38.74945074059752,-94.87190211850796,38.879863914795195,-94.52470124138021,38.84596756515854,-94.69020798856977
+2946,38.74945074059752,-94.52470124138021,38.879863914795195,-94.17750036425247,38.83674199581319,-94.43497841484619
+2947,38.879863914795195,-94.87190211850796,39.010277088992865,-94.52470124138021,38.94834735169032,-94.6855693086065
+2948,38.879863914795195,-94.52470124138021,39.010277088992865,-94.17750036425247,38.936330440514965,-94.41846157962972
+2949,38.74945074059752,-94.17750036425247,39.010277088992865,-93.48309860999697,38.95740807361177,-93.88042308413497
+2950,36.92366630183007,-93.48309860999697,37.184492650225415,-92.78869685574148,37.13777118643069,-93.20119419213626
+2951,36.92366630183007,-92.78869685574148,37.184492650225415,-92.09429510148598,37.13634874685162,-92.66423470302168
+2952,37.184492650225415,-93.48309860999697,37.31490582442309,-93.13589773286922,37.24089531115204,-93.25152440025109
+2953,37.184492650225415,-93.13589773286922,37.31490582442309,-92.78869685574148,37.278940205870015,-93.07403975444954
+2954,37.31490582442309,-93.48309860999697,37.44531899862076,-93.13589773286922,37.40562120775436,-93.18555511233956
+2955,37.31490582442309,-93.13589773286922,37.44531899862076,-92.78869685574148,37.35448914123933,-92.96232693272299
+2956,37.184492650225415,-92.78869685574148,37.44531899862076,-92.09429510148598,37.317635529419164,-92.34826061120776
+2957,36.92366630183007,-92.09429510148598,37.44531899862076,-90.705491592975,36.995702143977674,-91.47046395456638
+2958,37.44531899862076,-93.48309860999697,37.966971695411466,-92.09429510148598,37.677065847720996,-92.9405386566521
+2959,37.44531899862076,-92.09429510148598,37.966971695411466,-90.705491592975,37.88555964672283,-91.99692912843282
+2960,36.92366630183007,-90.705491592975,37.44531899862076,-89.316688084464,37.27769729326369,-89.55232700321832
+2961,36.92366630183007,-89.316688084464,37.44531899862076,-87.92788457595303,37.095398669332944,-88.52666861494465
+2962,37.44531899862076,-90.705491592975,37.966971695411466,-89.316688084464,37.70113481517857,-89.57061223517282
+2963,37.44531899862076,-89.316688084464,37.70614534701612,-88.62228633020851,37.60801486841538,-89.14289589586696
+2964,37.44531899862076,-88.62228633020851,37.70614534701612,-87.92788457595303,37.58901559107036,-88.39764000638458
+2965,37.70614534701612,-89.316688084464,37.966971695411466,-88.62228633020851,37.779056918865344,-88.84500799215978
+2966,37.70614534701612,-88.62228633020851,37.83655852121379,-88.27508545308078,37.786562256422755,-88.51713364689451
+2967,37.70614534701612,-88.27508545308078,37.83655852121379,-87.92788457595303,37.83114630729007,-87.9953269846728
+2968,37.83655852121379,-88.62228633020851,37.966971695411466,-88.27508545308078,37.86648833236967,-88.51773095230628
+2969,37.83655852121379,-88.27508545308078,37.966971695411466,-87.92788457595303,37.928168442889216,-88.05312723251917
+2970,37.966971695411466,-93.48309860999697,38.48862439220217,-92.09429510148598,38.276481476359486,-92.7833606020658
+2971,37.966971695411466,-92.09429510148598,38.48862439220217,-90.705491592975,38.3077091641155,-91.40078600773123
+2972,38.48862439220217,-93.48309860999697,38.74945074059752,-92.78869685574148,38.652725947819135,-93.11441953127077
+2973,38.48862439220217,-92.78869685574148,38.74945074059752,-92.09429510148598,38.628219994201366,-92.39052677512373
+2974,38.74945074059752,-93.48309860999697,39.010277088992865,-92.78869685574148,38.93274776374711,-93.17264473828939
+2975,38.74945074059752,-92.78869685574148,39.010277088992865,-92.09429510148598,38.89809733093335,-92.42070823864208
+2976,38.48862439220217,-92.09429510148598,38.74945074059752,-91.39989334723049,38.676205074858025,-91.68522630112108
+2977,38.48862439220217,-91.39989334723049,38.74945074059752,-90.705491592975,38.59532871128263,-91.03084583809925
+2978,38.74945074059752,-92.09429510148598,39.010277088992865,-91.39989334723049,38.89612211335384,-91.81622426953561
+2979,38.74945074059752,-91.39989334723049,39.010277088992865,-90.705491592975,38.83073780554795,-90.95033460365536
+2980,37.966971695411466,-90.705491592975,38.48862439220217,-89.316688084464,38.348129580182864,-89.9361085109621
+2981,37.966971695411466,-89.316688084464,38.48862439220217,-87.92788457595303,38.29673503049244,-88.71578996849124
+2982,38.48862439220217,-90.705491592975,38.61903756639984,-90.35829071584725,38.559474539819306,-90.49059132477336
+2983,38.48862439220217,-90.35829071584725,38.61903756639984,-90.0110898387195,38.568874388486854,-90.22241072314404
+2984,38.61903756639984,-90.705491592975,38.74945074059752,-90.35829071584725,38.691632889225296,-90.51054206575168
+2985,38.61903756639984,-90.35829071584725,38.74945074059752,-90.0110898387195,38.656442089200056,-90.19466983586824
+2986,38.48862439220217,-90.0110898387195,38.74945074059752,-89.316688084464,38.648047714438015,-89.83835154431218
+2987,38.74945074059752,-90.705491592975,39.010277088992865,-90.0110898387195,38.79917933079276,-90.36077378265571
+2988,38.74945074059752,-90.0110898387195,39.010277088992865,-89.316688084464,38.84118712340854,-89.72667645740593
+2989,38.48862439220217,-89.316688084464,39.010277088992865,-87.92788457595303,38.734479447005285,-88.78014404953608
+2990,39.010277088992865,-99.03831264404093,39.53192978578356,-97.64950913552994,39.373706995939735,-98.23048373061118
+2991,39.010277088992865,-97.64950913552994,39.27110343738821,-96.95510738127444,39.0543976992397,-97.47998299794723
+2992,39.010277088992865,-96.95510738127444,39.140690263190535,-96.6079065041467,39.06119884725338,-96.70742932354725
+2993,39.010277088992865,-96.6079065041467,39.140690263190535,-96.26070562701895,39.069812596665734,-96.4448280558355
+2994,39.140690263190535,-96.95510738127444,39.27110343738821,-96.6079065041467,39.211036126540655,-96.66364822940729
+2995,39.140690263190535,-96.6079065041467,39.27110343738821,-96.26070562701895,39.19879500383387,-96.51135379531169
+2996,39.27110343738821,-97.64950913552994,39.53192978578356,-96.95510738127444,39.39219999668979,-97.21991726722848
+2997,39.27110343738821,-96.95510738127444,39.53192978578356,-96.26070562701895,39.37760684425853,-96.66375291126401
+2998,39.53192978578356,-99.03831264404093,40.053582482574264,-97.64950913552994,39.75367235837413,-98.06355219523998
+2999,39.53192978578356,-97.64950913552994,40.053582482574264,-96.26070562701895,39.807610716161655,-96.80414938885345
+3000,39.010277088992865,-96.26070562701895,39.27110343738821,-95.56630387276346,39.084262567828155,-95.805715183109
+3001,39.010277088992865,-95.56630387276346,39.27110343738821,-94.87190211850796,39.09636562066516,-95.17917532778644
+3002,39.27110343738821,-96.26070562701895,39.53192978578356,-95.56630387276346,39.41864299294557,-96.08030734006456
+3003,39.27110343738821,-95.56630387276346,39.53192978578356,-94.87190211850796,39.35241620932549,-94.94809929447071
+3004,39.010277088992865,-94.87190211850796,39.140690263190535,-94.52470124138021,39.06490542377254,-94.64591843271023
+3005,39.010277088992865,-94.52470124138021,39.140690263190535,-94.17750036425247,39.065554412161674,-94.43544771634443
+3006,39.140690263190535,-94.87190211850796,39.27110343738821,-94.52470124138021,39.20308945398,-94.65541411810047
+3007,39.140690263190535,-94.52470124138021,39.27110343738821,-94.17750036425247,39.20323241827994,-94.46421051658025
+3008,39.010277088992865,-94.17750036425247,39.27110343738821,-93.48309860999697,39.123917095770835,-93.89283087661575
+3009,39.27110343738821,-94.87190211850796,39.53192978578356,-94.17750036425247,39.35892223235726,-94.65775931128498
+3010,39.27110343738821,-94.17750036425247,39.53192978578356,-93.48309860999697,39.34825030604727,-93.5582960756206
+3011,39.53192978578356,-96.26070562701895,39.792756134178916,-95.56630387276346,39.65586531986421,-95.70205835259466
+3012,39.53192978578356,-95.56630387276346,39.792756134178916,-94.87190211850796,39.651492204692346,-95.28120619486575
+3013,39.792756134178916,-96.26070562701895,40.053582482574264,-95.56630387276346,39.87619708088826,-95.8151968624724
+3014,39.792756134178916,-95.56630387276346,40.053582482574264,-94.87190211850796,39.91612345601789,-95.16245603475029
+3015,39.53192978578356,-94.87190211850796,39.792756134178916,-94.17750036425247,39.732801429933374,-94.56085083414467
+3016,39.53192978578356,-94.17750036425247,39.792756134178916,-93.48309860999697,39.74409211233294,-93.86027905472903
+3017,39.792756134178916,-94.87190211850796,40.053582482574264,-94.17750036425247,39.86837252331256,-94.75790521790691
+3018,39.792756134178916,-94.17750036425247,40.053582482574264,-93.48309860999697,39.94327103768288,-94.12095889624787
+3019,40.053582482574264,-99.03831264404093,40.57523517936497,-97.64950913552994,40.31057887672231,-98.60808277500206
+3020,40.053582482574264,-97.64950913552994,40.57523517936497,-96.26070562701895,40.2317010830983,-97.02373408821661
+3021,40.57523517936497,-99.03831264404093,41.09688787615566,-97.64950913552994,40.78917907031597,-98.47915607091407
+3022,40.57523517936497,-97.64950913552994,40.836061527760315,-96.95510738127444,40.79458950212601,-97.3231940976917
+3023,40.57523517936497,-96.95510738127444,40.836061527760315,-96.26070562701895,40.790517145554205,-96.7040375102039
+3024,40.836061527760315,-97.64950913552994,41.09688787615566,-96.95510738127444,40.963868224440574,-97.28996780793213
+3025,40.836061527760315,-96.95510738127444,41.09688787615566,-96.26070562701895,40.95449478472146,-96.53848858436471
+3026,40.053582482574264,-96.26070562701895,40.57523517936497,-94.87190211850796,40.195722588288,-95.21031710741951
+3027,40.053582482574264,-94.87190211850796,40.57523517936497,-93.48309860999697,40.31136567511104,-94.34765478591484
+3028,40.57523517936497,-96.26070562701895,41.09688787615566,-94.87190211850796,40.925627857939,-95.92716748554153
+3029,40.57523517936497,-94.87190211850796,41.09688787615566,-93.48309860999697,40.73354907488186,-93.87309688452109
+3030,39.010277088992865,-93.48309860999697,39.53192978578356,-92.09429510148598,39.25675146763494,-92.59695589391339
+3031,39.010277088992865,-92.09429510148598,39.53192978578356,-90.705491592975,39.29042640538614,-91.44640228514443
+3032,39.53192978578356,-93.48309860999697,40.053582482574264,-92.09429510148598,39.81232236337213,-92.68523804105698
+3033,39.53192978578356,-92.09429510148598,40.053582482574264,-90.705491592975,39.70944878714785,-91.27202836153253
+3034,39.010277088992865,-90.705491592975,39.53192978578356,-89.316688084464,39.234327699684314,-89.68386884979859
+3035,39.010277088992865,-89.316688084464,39.53192978578356,-87.92788457595303,39.20468040759808,-88.62459710893802
+3036,39.53192978578356,-90.705491592975,39.792756134178916,-90.0110898387195,39.69917448679652,-90.37499037031633
+3037,39.53192978578356,-90.0110898387195,39.792756134178916,-89.316688084464,39.7296972264351,-89.71046253387439
+3038,39.792756134178916,-90.705491592975,40.053582482574264,-90.0110898387195,39.954181971285784,-90.50890124269692
+3039,39.792756134178916,-90.0110898387195,40.053582482574264,-89.316688084464,39.848138594666146,-89.61549335649066
+3040,39.53192978578356,-89.316688084464,40.053582482574264,-87.92788457595303,39.91858561404045,-88.85327948529516
+3041,40.053582482574264,-93.48309860999697,40.57523517936497,-92.09429510148598,40.35035634356176,-92.54702344939999
+3042,40.053582482574264,-92.09429510148598,40.57523517936497,-90.705491592975,40.417516226373046,-91.31342509297959
+3043,40.57523517936497,-93.48309860999697,41.09688787615566,-92.09429510148598,40.87299862853698,-92.59723014719073
+3044,40.57523517936497,-92.09429510148598,40.836061527760315,-91.39989334723049,40.759818890150505,-91.6607969133703
+3045,40.57523517936497,-91.39989334723049,40.836061527760315,-90.705491592975,40.67507234912938,-91.27830413715209
+3046,40.836061527760315,-92.09429510148598,41.09688787615566,-91.39989334723049,40.9290813813561,-91.62634079851028
+3047,40.836061527760315,-91.39989334723049,41.09688787615566,-90.705491592975,40.96833485641972,-90.83450137051506
+3048,40.053582482574264,-90.705491592975,40.57523517936497,-89.316688084464,40.28844548120177,-89.9467169207005
+3049,40.053582482574264,-89.316688084464,40.31440883096961,-88.62228633020851,40.22297351011489,-89.04390926518616
+3050,40.053582482574264,-88.62228633020851,40.31440883096961,-87.92788457595303,40.127392095880374,-88.3039792540351
+3051,40.31440883096961,-89.316688084464,40.44482200516729,-88.96948720733626,40.39580453825317,-89.06873857020372
+3052,40.31440883096961,-88.96948720733626,40.44482200516729,-88.62228633020851,40.3902641946979,-88.85268240316286
+3053,40.44482200516729,-89.316688084464,40.57523517936497,-88.96948720733626,40.48376019964159,-89.0063463829411
+3054,40.44482200516729,-88.96948720733626,40.57523517936497,-88.62228633020851,40.49984428943054,-88.93914971259366
+3055,40.31440883096961,-88.62228633020851,40.57523517936497,-87.92788457595303,40.51409094704212,-88.0836792128313
+3056,40.57523517936497,-90.705491592975,41.09688787615566,-89.316688084464,40.76480789192808,-89.80019643933186
+3057,40.57523517936497,-89.316688084464,41.09688787615566,-87.92788457595303,40.75821940185144,-88.82854546767473
+3058,41.09688787615566,-110.14874071212881,42.14019326973706,-107.37113369510683,41.714203110267476,-108.82701559741618
+3059,41.09688787615566,-107.37113369510683,41.61854057294636,-105.98233018659585,41.37844666539784,-106.4178623080873
+3060,41.09688787615566,-105.98233018659585,41.61854057294636,-104.59352667808487,41.278834536502245,-105.44880653050484
+3061,41.61854057294636,-107.37113369510683,42.14019326973706,-105.98233018659585,41.77745822162216,-106.85152641041508
+3062,41.61854057294636,-105.98233018659585,42.14019326973706,-104.59352667808487,41.76820423142613,-105.24342305151886
+3063,42.14019326973706,-110.14874071212881,42.661845966527764,-108.75993720361782,42.401104932955974,-109.72407510291238
+3064,42.14019326973706,-108.75993720361782,42.661845966527764,-107.37113369510683,42.46431488569386,-107.80577072647621
+3065,42.661845966527764,-110.14874071212881,43.18349866331846,-108.75993720361782,42.944676725319574,-109.62385201044016
+3066,42.661845966527764,-108.75993720361782,43.18349866331846,-107.37113369510683,42.89411262740439,-108.44399638383003
+3067,42.14019326973706,-107.37113369510683,43.18349866331846,-104.59352667808487,42.83450869029117,-106.09966423652607
+3068,41.09688787615566,-104.59352667808487,43.18349866331846,-99.03831264404093,41.408990240734276,-103.01833205731528
+3069,43.18349866331846,-110.14874071212881,44.22680405689985,-107.37113369510683,43.48993241472356,-109.12099832338744
+3070,43.18349866331846,-107.37113369510683,44.22680405689985,-104.59352667808487,43.61983581730757,-106.4018936008764
+3071,44.22680405689985,-110.14874071212881,44.74845675369055,-108.75993720361782,44.52562669783549,-109.02551439091
+3072,44.22680405689985,-108.75993720361782,44.74845675369055,-107.37113369510683,44.513519956981746,-107.78730429622458
+3073,44.74845675369055,-110.14874071212881,45.27010945048125,-108.75993720361782,45.06494136826173,-109.41679478541374
+3074,44.74845675369055,-108.75993720361782,45.27010945048125,-107.37113369510683,45.05377702354371,-108.4067685844158
+3075,44.22680405689985,-107.37113369510683,45.27010945048125,-104.59352667808487,44.85480775177811,-106.98257300810582
+3076,43.18349866331846,-104.59352667808487,45.27010945048125,-99.03831264404093,43.94319242244413,-102.47850136844791
+3077,41.09688787615566,-99.03831264404093,42.14019326973706,-96.26070562701895,41.55988155509929,-96.94811777812751
+3078,41.09688787615566,-96.26070562701895,41.22730105035333,-95.9135047498912,41.16667096669757,-96.01790535307259
+3079,41.09688787615566,-95.9135047498912,41.22730105035333,-95.56630387276346,41.158787050901566,-95.89505252247547
+3080,41.22730105035333,-96.26070562701895,41.35771422455101,-95.9135047498912,41.27432343937985,-96.03689722313786
+3081,41.22730105035333,-95.9135047498912,41.35771422455101,-95.56630387276346,41.2593669364822,-95.85554893211695
+3082,41.09688787615566,-95.56630387276346,41.35771422455101,-94.87190211850796,41.2488898018796,-95.5370931889403
+3083,41.35771422455101,-96.26070562701895,41.61854057294636,-95.56630387276346,41.48260827631692,-95.85832542267656
+3084,41.35771422455101,-95.56630387276346,41.61854057294636,-94.87190211850796,41.49781540339136,-95.2291689654772
+3085,41.09688787615566,-94.87190211850796,41.35771422455101,-94.17750036425247,41.26650030431219,-94.6838018009241
+3086,41.09688787615566,-94.17750036425247,41.35771422455101,-93.48309860999697,41.205411306772476,-93.67845467659264
+3087,41.35771422455101,-94.87190211850796,41.61854057294636,-94.17750036425247,41.49749079946053,-94.50064601605435
+3088,41.35771422455101,-94.17750036425247,41.61854057294636,-93.48309860999697,41.55037892849418,-93.71870799752655
+3089,41.61854057294636,-96.26070562701895,42.14019326973706,-94.87190211850796,41.88182401698096,-96.10371838093907
+3090,41.61854057294636,-94.87190211850796,42.14019326973706,-93.48309860999697,41.83939132304327,-93.59730489302258
+3091,42.14019326973706,-99.03831264404093,42.661845966527764,-97.64950913552994,42.5241147321898,-97.8739738759143
+3092,42.14019326973706,-97.64950913552994,42.661845966527764,-96.26070562701895,42.46464368311279,-96.59861861403083
+3093,42.661845966527764,-99.03831264404093,43.18349866331846,-97.64950913552994,42.805518444090616,-98.0361163193917
+3094,42.661845966527764,-97.64950913552994,43.18349866331846,-96.26070562701895,42.883908360753566,-97.03225326980528
+3095,42.14019326973706,-96.26070562701895,43.18349866331846,-93.48309860999697,42.78622992188682,-95.95114282794839
+3096,41.09688787615566,-93.48309860999697,41.61854057294636,-92.09429510148598,41.42559423632643,-92.87850711906582
+3097,41.09688787615566,-92.09429510148598,41.61854057294636,-90.705491592975,41.42775779631546,-91.11570151130809
+3098,41.61854057294636,-93.48309860999697,41.87936692134171,-92.78869685574148,41.69353991268409,-93.11821139449505
+3099,41.61854057294636,-92.78869685574148,41.87936692134171,-92.09429510148598,41.72455782899721,-92.38823293856846
+3100,41.87936692134171,-93.48309860999697,42.14019326973706,-92.78869685574148,42.027464466970834,-93.2403573419057
+3101,41.87936692134171,-92.78869685574148,42.14019326973706,-92.09429510148598,41.962080718505234,-92.50268900195267
+3102,41.61854057294636,-92.09429510148598,41.87936692134171,-91.39989334723049,41.73560000700457,-91.63109158685273
+3103,41.61854057294636,-91.39989334723049,41.87936692134171,-90.705491592975,41.66611398049132,-91.10501258818502
+3104,41.87936692134171,-92.09429510148598,42.14019326973706,-91.39989334723049,41.980945417869165,-91.73469365373353
+3105,41.87936692134171,-91.39989334723049,42.14019326973706,-90.705491592975,41.988939596898064,-91.13717538572155
+3106,41.09688787615566,-90.705491592975,41.61854057294636,-89.316688084464,41.48348169476701,-90.35150338163878
+3107,41.09688787615566,-89.316688084464,41.61854057294636,-87.92788457595303,41.401222054175555,-88.61360304677295
+3108,41.61854057294636,-90.705491592975,42.14019326973706,-89.316688084464,41.82871631531742,-90.09616882808554
+3109,41.61854057294636,-89.316688084464,41.87936692134171,-88.62228633020851,41.80411384934881,-88.93400226765255
+3110,41.61854057294636,-88.62228633020851,41.748953747144036,-88.27508545308078,41.723207221588574,-88.34228510650028
+3111,41.61854057294636,-88.27508545308078,41.748953747144036,-87.92788457595303,41.69901849408621,-88.07947158124514
+3112,41.748953747144036,-88.62228633020851,41.87936692134171,-88.27508545308078,41.81133386442124,-88.37788328253329
+3113,41.748953747144036,-88.27508545308078,41.87936692134171,-87.92788457595303,41.80668367167862,-88.08781527371147
+3114,41.87936692134171,-89.316688084464,42.14019326973706,-88.62228633020851,41.93188126518605,-88.9429819871866
+3115,41.87936692134171,-88.62228633020851,42.009780095539384,-88.27508545308078,41.93689285582778,-88.33496345165338
+3116,41.87936692134171,-88.27508545308078,42.009780095539384,-87.92788457595303,41.953218048458126,-88.03214885821474
+3117,42.009780095539384,-88.62228633020851,42.14019326973706,-88.27508545308078,42.086814494825006,-88.39184411501502
+3118,42.009780095539384,-88.27508545308078,42.14019326973706,-87.92788457595303,42.050254773279406,-88.08709346690156
+3119,42.14019326973706,-93.48309860999697,42.661845966527764,-92.09429510148598,42.47154898334783,-92.38379419067513
+3120,42.14019326973706,-92.09429510148598,42.661845966527764,-90.705491592975,42.34721058577522,-91.56495526685451
+3121,42.661845966527764,-93.48309860999697,43.18349866331846,-92.09429510148598,42.9202812994845,-92.51337840125505
+3122,42.661845966527764,-92.09429510148598,43.18349866331846,-90.705491592975,42.95000922734996,-91.57213359904972
+3123,42.14019326973706,-90.705491592975,42.661845966527764,-89.316688084464,42.50678703988525,-90.27946115135494
+3124,42.14019326973706,-89.316688084464,42.40101961813241,-88.62228633020851,42.26143311907069,-88.96651169653343
+3125,42.14019326973706,-88.62228633020851,42.40101961813241,-87.92788457595303,42.25993366517743,-88.26332659891351
+3126,42.40101961813241,-89.316688084464,42.661845966527764,-88.62228633020851,42.532044587218124,-88.99527567711917
+3127,42.40101961813241,-88.62228633020851,42.661845966527764,-87.92788457595303,42.5585846643621,-88.26843091351994
+3128,42.661845966527764,-90.705491592975,42.92267231492311,-90.0110898387195,42.795611009424306,-90.3158300790436
+3129,42.661845966527764,-90.0110898387195,42.92267231492311,-89.316688084464,42.82411034065503,-89.57459966928565
+3130,42.92267231492311,-90.705491592975,43.18349866331846,-90.0110898387195,43.02269129777059,-90.21299087789615
+3131,42.92267231492311,-90.0110898387195,43.05308548912079,-89.66388896159175,42.99574020981305,-89.77323688213013
+3132,42.92267231492311,-89.66388896159175,43.05308548912079,-89.316688084464,43.01113470272053,-89.48017622399131
+3133,43.05308548912079,-90.0110898387195,43.18349866331846,-89.66388896159175,43.1389541184873,-89.78965320577343
+3134,43.05308548912079,-89.66388896159175,43.18349866331846,-89.316688084464,43.0891903919122,-89.46556756480595
+3135,42.661845966527764,-89.316688084464,42.92267231492311,-88.62228633020851,42.79718119225561,-88.9983835645842
+3136,42.661845966527764,-88.62228633020851,42.92267231492311,-87.92788457595303,42.81365863159816,-88.33149532523115
+3137,42.92267231492311,-89.316688084464,43.05308548912079,-88.96948720733626,43.0134417728719,-89.15127490774084
+3138,42.92267231492311,-88.96948720733626,43.05308548912079,-88.62228633020851,42.98930598207806,-88.81480149036501
+3139,43.05308548912079,-89.316688084464,43.18349866331846,-88.96948720733626,43.109802421820746,-89.26178282883443
+3140,43.05308548912079,-88.96948720733626,43.18349866331846,-88.62228633020851,43.09393300247349,-88.79582408354746
+3141,42.92267231492311,-88.62228633020851,43.05308548912079,-88.27508545308078,42.992832744742756,-88.40887648905466
+3142,42.92267231492311,-88.27508545308078,43.05308548912079,-87.92788457595303,43.00053588503016,-88.10456247727524
+3143,43.05308548912079,-88.62228633020851,43.18349866331846,-88.27508545308078,43.09341570401455,-88.42389176256948
+3144,43.05308548912079,-88.27508545308078,43.18349866331846,-87.92788457595303,43.114366584842614,-88.11694994516
+3145,43.18349866331846,-99.03831264404093,44.22680405689985,-96.26070562701895,43.54848918717787,-97.04593249946666
+3146,43.18349866331846,-96.26070562701895,43.705151360109156,-94.87190211850796,43.34385367834954,-95.71997112213776
+3147,43.18349866331846,-94.87190211850796,43.705151360109156,-93.48309860999697,43.6693496636053,-94.22868088786092
+3148,43.705151360109156,-96.26070562701895,44.22680405689985,-94.87190211850796,43.81497228298471,-95.24607862126553
+3149,43.705151360109156,-94.87190211850796,44.22680405689985,-93.48309860999697,44.098250429044,-94.0226038191807
+3150,44.22680405689985,-99.03831264404093,45.27010945048125,-96.26070562701895,44.92878020557511,-96.8824846361758
+3151,44.22680405689985,-96.26070562701895,44.74845675369055,-94.87190211850796,44.53125727408359,-95.16856299413857
+3152,44.22680405689985,-94.87190211850796,44.74845675369055,-93.48309860999697,44.606166172765796,-93.71947473261525
+3153,44.74845675369055,-96.26070562701895,45.27010945048125,-94.87190211850796,44.86208579132469,-95.46694039743238
+3154,44.74845675369055,-94.87190211850796,45.0092831020859,-94.17750036425247,44.88329407421274,-94.36979065430526
+3155,44.74845675369055,-94.17750036425247,45.0092831020859,-93.48309860999697,44.85410538655258,-93.67475601923347
+3156,45.0092831020859,-94.87190211850796,45.27010945048125,-94.17750036425247,45.09528528820641,-94.27290597201912
+3157,45.0092831020859,-94.17750036425247,45.27010945048125,-93.48309860999697,45.15122892701628,-93.65133968637211
+3158,43.18349866331846,-93.48309860999697,43.705151360109156,-92.09429510148598,43.4759566362625,-92.69078654490036
+3159,43.18349866331846,-92.09429510148598,43.705151360109156,-90.705491592975,43.47745943279676,-91.69559031139084
+3160,43.705151360109156,-93.48309860999697,43.965977708504504,-92.78869685574148,43.8158460783572,-93.29834354467259
+3161,43.705151360109156,-92.78869685574148,43.965977708504504,-92.09429510148598,43.867473761799445,-92.42209987895649
+3162,43.965977708504504,-93.48309860999697,44.22680405689985,-92.78869685574148,44.10512745298133,-93.06781366761552
+3163,43.965977708504504,-92.78869685574148,44.22680405689985,-92.09429510148598,44.051524757815784,-92.45982295224013
+3164,43.705151360109156,-92.09429510148598,44.22680405689985,-90.705491592975,43.87300215135431,-91.55372074778425
+3165,43.18349866331846,-90.705491592975,43.44432501171381,-90.0110898387195,43.262523399098306,-90.35466626897923
+3166,43.18349866331846,-90.0110898387195,43.44432501171381,-89.316688084464,43.28082793632674,-89.53172518809583
+3167,43.44432501171381,-90.705491592975,43.705151360109156,-90.0110898387195,43.619744188484994,-90.37252123778094
+3168,43.44432501171381,-90.0110898387195,43.705151360109156,-89.316688084464,43.55832155769961,-89.72762472412802
+3169,43.18349866331846,-89.316688084464,43.44432501171381,-88.62228633020851,43.291516838467416,-89.11157988093247
+3170,43.18349866331846,-88.62228633020851,43.44432501171381,-87.92788457595303,43.32209523762101,-88.22337604072166
+3171,43.44432501171381,-89.316688084464,43.705151360109156,-88.62228633020851,43.49503080800598,-88.86250086987422
+3172,43.44432501171381,-88.62228633020851,43.705151360109156,-87.92788457595303,43.521916084547655,-88.42604464852072
+3173,43.705151360109156,-90.705491592975,44.22680405689985,-89.316688084464,43.93450807923246,-90.05584411598694
+3174,43.705151360109156,-89.316688084464,44.22680405689985,-87.92788457595303,44.02208952009364,-88.5935738410812
+3175,44.22680405689985,-93.48309860999697,44.4876304052952,-92.78869685574148,44.42287606398633,-93.21253251478693
+3176,44.22680405689985,-92.78869685574148,44.4876304052952,-92.09429510148598,44.36552738522095,-92.5537209386628
+3177,44.4876304052952,-93.48309860999697,44.61804357949288,-93.13589773286922,44.54962739272945,-93.28987374203379
+3178,44.4876304052952,-93.13589773286922,44.61804357949288,-92.78869685574148,44.55186248190471,-92.96402556964227
+3179,44.61804357949288,-93.48309860999697,44.74845675369055,-93.13589773286922,44.70032219292332,-93.35152772811294
+3180,44.61804357949288,-93.13589773286922,44.74845675369055,-92.78869685574148,44.709260744814536,-92.98873060731721
+3181,44.4876304052952,-92.78869685574148,44.74845675369055,-92.09429510148598,44.667378341438216,-92.53681247546366
+3182,44.22680405689985,-92.09429510148598,44.74845675369055,-90.705491592975,44.53138995648591,-91.1614242667341
+3183,44.74845675369055,-93.48309860999697,44.878869927888225,-93.13589773286922,44.82279626723303,-93.33185225460912
+3184,44.74845675369055,-93.13589773286922,44.878869927888225,-92.78869685574148,44.82694762410789,-92.94584601272591
+3185,44.878869927888225,-93.48309860999697,45.0092831020859,-93.13589773286922,44.951886982620515,-93.28414195571825
+3186,44.878869927888225,-93.13589773286922,45.0092831020859,-92.78869685574148,44.95208271204469,-92.95335036045823
+3187,44.74845675369055,-92.78869685574148,44.878869927888225,-92.44149597861373,44.83904714726078,-92.65982148227518
+3188,44.74845675369055,-92.44149597861373,44.878869927888225,-92.09429510148598,44.84969582663061,-92.36111848500286
+3189,44.878869927888225,-92.78869685574148,45.0092831020859,-92.44149597861373,44.95213656774039,-92.69953895934086
+3190,44.878869927888225,-92.44149597861373,45.0092831020859,-92.09429510148598,44.94983267200755,-92.30367051945753
+3191,45.0092831020859,-93.48309860999697,45.13969627628357,-93.13589773286922,45.05960785234938,-93.33144795733378
+3192,45.0092831020859,-93.13589773286922,45.13969627628357,-92.78869685574148,45.060936758946646,-92.92505547925809
+3193,45.13969627628357,-93.48309860999697,45.27010945048125,-93.13589773286922,45.16964592782226,-93.29925373954012
+3194,45.13969627628357,-93.13589773286922,45.27010945048125,-92.78869685574148,45.20143269865895,-93.04899446106216
+3195,45.0092831020859,-92.78869685574148,45.27010945048125,-92.09429510148598,45.085188691244554,-92.5864450908883
+3196,44.74845675369055,-92.09429510148598,45.27010945048125,-90.705491592975,44.92680008051363,-91.58162750672136
+3197,44.22680405689985,-90.705491592975,44.4876304052952,-90.0110898387195,44.39022337647985,-90.24599283288069
+3198,44.22680405689985,-90.0110898387195,44.4876304052952,-89.316688084464,44.366025367438624,-89.52218010665202
+3199,44.4876304052952,-90.705491592975,44.74845675369055,-90.0110898387195,44.61633385399774,-90.36501971572838
+3200,44.4876304052952,-90.0110898387195,44.74845675369055,-89.316688084464,44.599069086386265,-89.60265656687524
+3201,44.22680405689985,-89.316688084464,44.4876304052952,-88.62228633020851,44.33208601946212,-88.95626222669941
+3202,44.22680405689985,-88.62228633020851,44.4876304052952,-87.92788457595303,44.39083200348522,-88.24498381979315
+3203,44.4876304052952,-89.316688084464,44.74845675369055,-88.62228633020851,44.641893590220995,-88.88981250953202
+3204,44.4876304052952,-88.62228633020851,44.74845675369055,-87.92788457595303,44.59610072418513,-88.13378620102844
+3205,44.74845675369055,-90.705491592975,45.27010945048125,-89.316688084464,44.959593550198655,-89.85950313306587
+3206,44.74845675369055,-89.316688084464,45.0092831020859,-88.62228633020851,44.8115935236646,-89.02687899863761
+3207,44.74845675369055,-88.62228633020851,45.0092831020859,-87.92788457595303,44.89444862628365,-88.14109479897286
+3208,45.0092831020859,-89.316688084464,45.27010945048125,-88.62228633020851,45.141204724719344,-88.95056129812733
+3209,45.0092831020859,-88.62228633020851,45.27010945048125,-87.92788457595303,45.15345253377722,-88.22129566913429
+3210,11.884336855876501,-87.92788457595303,12.4059895526672,-86.53908106744205,12.20659663937599,-86.67125084092886
+3211,11.884336855876501,-86.53908106744205,12.014750030074175,-86.19188019031431,11.94696512966274,-86.36569955956048
+3212,11.884336855876501,-86.19188019031431,12.014750030074175,-85.84467931318656,11.950753462265192,-86.02926008619859
+3213,12.014750030074175,-86.53908106744205,12.145163204271851,-86.19188019031431,12.108383215824007,-86.2664574846502
+3214,12.014750030074175,-86.19188019031431,12.145163204271851,-85.84467931318656,12.087201377027567,-86.15474497990834
+3215,11.884336855876501,-85.84467931318656,12.145163204271851,-85.15027755893107,12.029694395948523,-85.25184379815384
+3216,12.145163204271851,-86.53908106744205,12.4059895526672,-85.84467931318656,12.186296553011832,-86.24285405478578
+3217,12.145163204271851,-85.84467931318656,12.4059895526672,-85.15027755893107,12.196796556440578,-85.40972328759871
+3218,12.4059895526672,-87.92788457595303,12.9276422494579,-86.53908106744205,12.627957263203747,-86.95854494480689
+3219,12.4059895526672,-86.53908106744205,12.9276422494579,-85.15027755893107,12.74843214119978,-85.99272872350954
+3220,11.884336855876501,-85.15027755893107,12.9276422494579,-82.37267054190909,12.026260000797333,-84.4548939200095
+3221,12.9276422494579,-87.92788457595303,13.4492949462486,-86.53908106744205,13.345639886232304,-87.16281102625182
+3222,12.9276422494579,-86.53908106744205,13.18846859785325,-85.84467931318656,13.034922173372783,-86.07083624426402
+3223,12.9276422494579,-85.84467931318656,13.18846859785325,-85.15027755893107,13.037277084423568,-85.55478926154176
+3224,13.18846859785325,-86.53908106744205,13.4492949462486,-85.84467931318656,13.324589163519793,-86.3617437444619
+3225,13.18846859785325,-85.84467931318656,13.4492949462486,-85.15027755893107,13.315118237992545,-85.62685776134742
+3226,13.4492949462486,-87.92788457595303,13.970947643039297,-86.53908106744205,13.675084537288507,-87.10176922528251
+3227,13.4492949462486,-86.53908106744205,13.970947643039297,-85.15027755893107,13.60942678163391,-86.3322480924586
+3228,12.9276422494579,-85.15027755893107,13.970947643039297,-82.37267054190909,13.474003114077835,-84.7806181771577
+3229,11.884336855876501,-82.37267054190909,13.970947643039297,-76.81745650786513,12.563207017188,-81.715795244863
+3230,13.970947643039297,-87.92788457595303,14.492600339829995,-86.53908106744205,14.188195145884155,-87.28659649359867
+3231,14.492600339829995,-87.92788457595303,15.014253036620694,-86.53908106744205,14.595525833482238,-87.84438596808525
+3232,13.970947643039297,-85.15027755893107,15.014253036620694,-82.37267054190909,14.187309271868816,-84.08301523005007
+3233,15.014253036620694,-87.92788457595303,16.057558430202093,-85.15027755893107,15.492018773042922,-87.72555792806496
+3234,11.884336855876501,-76.81745650786513,16.057558430202093,-65.70702843977725,12.219776529306662,-69.01817596544426
+3235,16.057558430202093,-87.92788457595303,20.230780004527688,-76.81745650786513,19.76169413289316,-84.40279996556175
+3236,16.057558430202093,-76.81745650786513,18.14416921736489,-71.26224247382119,18.11256107761407,-76.71559776788692
+3237,16.057558430202093,-71.26224247382119,18.14416921736489,-65.70702843977725,18.050120380702644,-66.42380611189628
+3238,18.14416921736489,-76.81745650786513,19.18747461094629,-74.03984949084315,18.530596955296506,-74.1740275997669
+3239,18.14416921736489,-74.03984949084315,19.18747461094629,-71.26224247382119,18.577513439334695,-72.60223829351123
+3240,19.18747461094629,-76.81745650786513,20.230780004527688,-74.03984949084315,20.075249150137772,-75.83756663711286
+3241,19.18747461094629,-74.03984949084315,20.230780004527688,-71.26224247382119,19.682915747523626,-72.29245966380002
+3242,18.14416921736489,-70.56784071956571,18.404995565760238,-69.87343896531021,18.402930914607822,-70.1105148372713
+3243,18.404995565760238,-70.22063984243796,18.535408739957916,-69.87343896531021,18.47330540434578,-69.96042788775785
+3244,18.535408739957916,-70.22063984243796,18.66582191415559,-69.87343896531021,18.557122743199177,-69.97378512304984
+3245,18.14416921736489,-69.87343896531021,18.66582191415559,-68.48463545679923,18.470612604499962,-69.65611844118894
+3246,18.66582191415559,-71.26224247382119,19.18747461094629,-69.87343896531021,18.876298963510802,-70.27482976641579
+3247,18.66582191415559,-69.87343896531021,19.18747461094629,-68.48463545679923,18.908848911555406,-69.64095845361976
+3248,18.14416921736489,-68.48463545679923,19.18747461094629,-65.70702843977725,18.441429157895527,-66.41682946530486
+3249,19.18747461094629,-71.26224247382119,19.448300959341637,-70.56784071956571,19.403422460566745,-70.66233790099328
+3250,19.18747461094629,-70.56784071956571,19.448300959341637,-69.87343896531021,19.23748167129986,-70.49932466690274
+3251,19.448300959341637,-71.26224247382119,19.70912730773699,-70.56784071956571,19.488364089274715,-70.71227538548318
+3252,19.448300959341637,-70.56784071956571,19.70912730773699,-69.87343896531021,19.660738523848472,-70.1164911909351
+3253,19.18747461094629,-69.87343896531021,19.70912730773699,-68.48463545679923,19.286384762093192,-69.54445302742211
+3254,19.70912730773699,-71.26224247382119,20.230780004527688,-69.87343896531021,19.794139902614287,-70.6938333241327
+3255,11.884336855876501,-62.92942142275527,12.9276422494579,-60.1518144057333,12.18344917543562,-61.673037851595005
+3256,12.9276422494579,-61.54061791424428,13.4492949462486,-60.1518144057333,13.185045228560107,-61.205263350428886
+3257,13.4492949462486,-61.54061791424428,13.970947643039297,-60.1518144057333,13.823673945283378,-60.974403039086745
+3258,11.884336855876501,-60.1518144057333,13.970947643039297,-54.59660037168935,13.142026910458531,-59.578781821424485
+3259,13.970947643039297,-61.54061791424428,14.492600339829995,-60.1518144057333,14.12212184906621,-60.95670357013862
+3260,14.492600339829995,-61.54061791424428,14.753426688225344,-60.846216159988785,14.612953894638757,-61.02954309431874
+3261,14.492600339829995,-60.846216159988785,14.753426688225344,-60.1518144057333,14.544107806404,-60.840542434324405
+3262,14.753426688225344,-61.54061791424428,15.014253036620694,-60.846216159988785,14.792675073701263,-61.10190219129205
+3263,15.014253036620694,-61.54061791424428,15.535905733411393,-60.1518144057333,15.361640552551151,-61.34052191496329
+3264,15.535905733411393,-62.92942142275527,16.057558430202093,-61.54061791424428,15.993909638890385,-61.67899045132844
+3265,15.535905733411393,-61.54061791424428,16.057558430202093,-60.1518144057333,15.621970387796145,-61.39316490743637
+3266,16.057558430202093,-62.92942142275527,16.579211126992792,-61.54061791424428,16.22079770486747,-61.62172788012154
+3267,16.057558430202093,-61.54061791424428,16.579211126992792,-60.1518144057333,16.296850098629523,-61.46035868599313
+3268,16.579211126992792,-62.92942142275527,17.10086382378349,-61.54061791424428,17.00078157145147,-61.864670600100396
+3269,17.10086382378349,-65.70702843977725,18.14416921736489,-62.92942142275527,18.0549695650135,-63.06908125139217
+3270,17.10086382378349,-62.92942142275527,18.14416921736489,-60.1518144057333,17.20439020015295,-62.17428756954109
+3271,18.14416921736489,-65.70702843977725,20.230780004527688,-60.1518144057333,18.423041692000684,-64.51647679146964
+3272,20.230780004527688,-87.92788457595303,22.317390791690485,-82.37267054190909,20.738803827048514,-87.13711201631604
+3273,20.230780004527688,-82.37267054190909,22.317390791690485,-76.81745650786513,21.702909499806363,-79.11415605263308
+3274,22.317390791690485,-87.92788457595303,24.404001578853283,-82.37267054190909,23.074527339727354,-82.48766836460393
+3275,22.317390791690485,-82.37267054190909,24.404001578853283,-76.81745650786513,22.9205605697371,-81.64799055204122
+3276,20.230780004527688,-76.81745650786513,24.404001578853283,-65.70702843977725,21.32007215789334,-72.8925830959839
+3277,24.404001578853283,-82.37267054190909,24.925654275643982,-80.9838670333981,24.6491788088215,-81.42223719628592
+3278,24.404001578853283,-80.9838670333981,24.925654275643982,-79.59506352488711,24.814911477477537,-80.83206001668373
+3279,24.925654275643982,-80.9838670333981,25.44730697243468,-79.59506352488711,25.25497314322908,-80.51165380523203
+3280,24.404001578853283,-79.59506352488711,25.44730697243468,-76.81745650786513,25.062051699540206,-77.3706433158736
+3281,25.44730697243468,-82.37267054190909,25.96895966922538,-80.9838670333981,25.895832640330013,-81.34778081908155
+3282,25.44730697243468,-80.9838670333981,25.70813332083003,-80.2894652791426,25.594507717153572,-80.44490724876727
+3283,25.44730697243468,-80.2894652791426,25.70813332083003,-79.59506352488711,25.681659894414427,-80.21417129951233
+3284,25.70813332083003,-80.9838670333981,25.96895966922538,-80.2894652791426,25.803927477964496,-80.54272009715187
+3285,25.70813332083003,-80.2894652791426,25.96895966922538,-79.59506352488711,25.822593095837636,-80.20158828051545
+3286,25.96895966922538,-82.37267054190909,26.229786017620732,-81.6782687876536,26.13298691621353,-81.73630602671047
+3287,25.96895966922538,-81.6782687876536,26.229786017620732,-80.9838670333981,26.10131669983706,-81.41941773350698
+3288,26.229786017620732,-82.37267054190909,26.49061236601608,-81.6782687876536,26.39144664156698,-81.83559143774718
+3289,26.229786017620732,-81.6782687876536,26.49061236601608,-80.9838670333981,26.352152518502535,-81.44793829562788
+3290,25.96895966922538,-80.9838670333981,26.229786017620732,-80.2894652791426,26.08692344079353,-80.46186828380324
+3291,25.96895966922538,-80.2894652791426,26.229786017620732,-79.59506352488711,26.06415117684867,-80.20515078371533
+3292,26.229786017620732,-80.9838670333981,26.49061236601608,-80.2894652791426,26.342098262129774,-80.50747539552577
+3293,26.229786017620732,-80.2894652791426,26.360199191818406,-79.94226440201486,26.276231946446234,-80.1943808613439
+3294,26.360199191818406,-80.2894652791426,26.49061236601608,-79.94226440201486,26.425749214791985,-80.1586301766908
+3295,26.49061236601608,-83.76147405042008,27.01226506280678,-82.37267054190909,27.004835230081795,-82.3792874112894
+3296,27.01226506280678,-83.06707229616458,27.27309141120213,-82.37267054190909,27.160552379660313,-82.44396294343109
+3297,27.27309141120213,-82.71987141903683,27.403504585399805,-82.37267054190909,27.356335788717164,-82.48989978558366
+3298,27.403504585399805,-83.06707229616458,27.53391775959748,-82.71987141903683,27.52454499975447,-82.72886102985535
+3299,27.403504585399805,-82.71987141903683,27.53391775959748,-82.37267054190909,27.459364626000625,-82.53892186494609
+3300,27.53391775959748,-83.06707229616458,27.664330933795153,-82.71987141903683,27.612700248015443,-82.73186526360469
+3301,27.53391775959748,-82.71987141903683,27.664330933795153,-82.37267054190909,27.581608596513178,-82.50194702138583
+3302,27.664330933795153,-83.06707229616458,27.794744107992827,-82.71987141903683,27.75390295720725,-82.74608762618914
+3303,27.664330933795153,-82.71987141903683,27.794744107992827,-82.37267054190909,27.748606071513944,-82.61002307481976
+3304,27.794744107992827,-83.06707229616458,27.925157282190504,-82.71987141903683,27.85978422785396,-82.77579655417271
+3305,27.794744107992827,-82.71987141903683,27.925157282190504,-82.37267054190909,27.866253934519182,-82.58950738356174
+3306,27.925157282190504,-83.06707229616458,28.05557045638818,-82.71987141903683,27.97158691353728,-82.7727255214902
+3307,27.925157282190504,-82.71987141903683,28.05557045638818,-82.37267054190909,27.98533612794352,-82.48423361608533
+3308,28.05557045638818,-83.06707229616458,28.31639680478353,-82.37267054190909,28.160450944499207,-82.5541541120903
+3309,28.31639680478353,-83.06707229616458,28.577223153178878,-82.37267054190909,28.444507813260994,-82.51724438168428
+3310,26.49061236601608,-82.37267054190909,26.621025540213754,-82.02546966478134,26.55962496843647,-82.13773315881701
+3311,26.49061236601608,-82.02546966478134,26.621025540213754,-81.6782687876536,26.568084210813815,-81.84576901191066
+3312,26.621025540213754,-82.37267054190909,26.751438714411428,-82.02546966478134,26.63282974007084,-82.050993360705
+3313,26.621025540213754,-82.02546966478134,26.751438714411428,-81.6782687876536,26.672963763214895,-81.84782342626039
+3314,26.49061236601608,-81.6782687876536,26.751438714411428,-80.9838670333981,26.630242898554005,-81.5557765571603
+3315,26.751438714411428,-82.37267054190909,27.01226506280678,-81.6782687876536,26.88459790832796,-81.98019906113686
+3316,26.751438714411428,-81.6782687876536,27.01226506280678,-80.9838670333981,26.841522615246223,-81.2301991991426
+3317,26.49061236601608,-80.9838670333981,26.751438714411428,-80.2894652791426,26.674784780792304,-80.68871720437826
+3318,26.49061236601608,-80.2894652791426,26.751438714411428,-79.59506352488711,26.65182509703977,-80.13289032633259
+3319,26.751438714411428,-80.9838670333981,27.01226506280678,-80.2894652791426,26.85648251411476,-80.61975763631449
+3320,26.751438714411428,-80.2894652791426,27.01226506280678,-79.59506352488711,26.866159822228024,-80.10976801141824
+3321,27.01226506280678,-82.37267054190909,27.27309141120213,-81.6782687876536,27.140073533490828,-82.07649998687248
+3322,27.01226506280678,-81.6782687876536,27.27309141120213,-80.9838670333981,27.180263919635898,-81.31796062343481
+3323,27.27309141120213,-82.37267054190909,27.403504585399805,-82.02546966478134,27.33593131558477,-82.19300569636154
+3324,27.27309141120213,-82.02546966478134,27.403504585399805,-81.6782687876536,27.316694229752965,-81.84566172195157
+3325,27.403504585399805,-82.37267054190909,27.53391775959748,-82.02546966478134,27.44574568169692,-82.25941539548016
+3326,27.403504585399805,-82.02546966478134,27.53391775959748,-81.6782687876536,27.483825300168885,-81.83494977729069
+3327,27.27309141120213,-81.6782687876536,27.53391775959748,-80.9838670333981,27.417458686188674,-81.3622555290519
+3328,27.01226506280678,-80.9838670333981,27.27309141120213,-80.2894652791426,27.18842221892434,-80.55939425222762
+3329,27.01226506280678,-80.2894652791426,27.27309141120213,-79.59506352488711,27.14543002155455,-80.22673198716156
+3330,27.27309141120213,-80.9838670333981,27.53391775959748,-80.2894652791426,27.398157547226713,-80.50462823471074
+3331,27.27309141120213,-80.2894652791426,27.53391775959748,-79.59506352488711,27.35638609081447,-80.24502259257831
+3332,26.49061236601608,-79.59506352488711,27.53391775959748,-76.81745650786513,26.532016984030047,-78.61051022108752
+3333,27.53391775959748,-82.37267054190909,27.794744107992827,-81.6782687876536,27.630484681496682,-82.13912189938671
+3334,27.53391775959748,-81.6782687876536,27.794744107992827,-80.9838670333981,27.655083386599557,-81.53051065341197
+3335,27.794744107992827,-82.37267054190909,27.925157282190504,-82.02546966478134,27.870677619715373,-82.27892541066268
+3336,27.794744107992827,-82.02546966478134,27.925157282190504,-81.6782687876536,27.88317995834341,-81.86815536043558
+3337,27.925157282190504,-82.37267054190909,28.05557045638818,-82.02546966478134,27.98419490580636,-82.23307887980538
+3338,27.925157282190504,-82.02546966478134,28.05557045638818,-81.6782687876536,28.012807593162073,-81.8780492476121
+3339,27.794744107992827,-81.6782687876536,28.05557045638818,-80.9838670333981,27.936202952127832,-81.41324953181858
+3340,27.53391775959748,-80.9838670333981,27.664330933795153,-80.63666615627035,27.605677345880817,-80.78865068694645
+3341,27.53391775959748,-80.63666615627035,27.664330933795153,-80.2894652791426,27.616627063911775,-80.42990014608974
+3342,27.664330933795153,-80.9838670333981,27.794744107992827,-80.63666615627035,27.711935810331436,-80.83325572788924
+3343,27.664330933795153,-80.63666615627035,27.794744107992827,-80.2894652791426,27.740567333577378,-80.48330121497351
+3344,27.794744107992827,-80.9838670333981,28.05557045638818,-80.2894652791426,27.943358029555938,-80.59142258337434
+3345,28.05557045638818,-82.37267054190909,28.31639680478353,-81.6782687876536,28.181440061901288,-82.07206285092066
+3346,28.05557045638818,-81.6782687876536,28.31639680478353,-80.9838670333981,28.211247042039748,-81.41926560743715
+3347,28.31639680478353,-82.37267054190909,28.577223153178878,-81.6782687876536,28.469464569099177,-82.03231451055075
+3348,28.31639680478353,-81.6782687876536,28.446809978981204,-81.33106791052585,28.37589789252453,-81.49673657157413
+3349,28.31639680478353,-81.33106791052585,28.446809978981204,-80.9838670333981,28.397310823924204,-81.2677013623183
+3350,28.446809978981204,-81.6782687876536,28.577223153178878,-81.33106791052585,28.51568246707189,-81.46313086422664
+3351,28.446809978981204,-81.33106791052585,28.577223153178878,-80.9838670333981,28.501019720144498,-81.23331688545363
+3352,28.05557045638818,-80.9838670333981,28.577223153178878,-79.59506352488711,28.308625056362878,-80.72878418242587
+3353,24.404001578853283,-76.81745650786513,28.577223153178878,-65.70702843977725,25.471710837355396,-76.69321965215133
+3354,11.884336855876501,-43.48617230360146,20.230780004527688,-21.26531616742567,15.815145717810074,-23.752237255611387
+3355,11.884336855876501,-21.26531616742567,13.970947643039297,-15.710102133381724,12.904472637481945,-16.251142891725554
+3356,11.884336855876501,-15.710102133381724,13.970947643039297,-10.154888099337777,12.473232757674012,-15.478960396445045
+3357,13.970947643039297,-17.09890564189271,14.492600339829995,-15.710102133381724,14.147153392670722,-16.46287433794039
+3358,14.492600339829995,-18.487709150403695,15.014253036620694,-17.09890564189271,14.737175467902725,-17.411731659503147
+3359,14.492600339829995,-17.09890564189271,15.014253036620694,-15.710102133381724,14.797312199440666,-16.491041913000615
+3360,15.014253036620694,-18.487709150403695,16.057558430202093,-15.710102133381724,15.86039767403266,-16.408901634630315
+3361,13.970947643039297,-15.710102133381724,16.057558430202093,-10.154888099337777,15.200443996053906,-14.080111201189869
+3362,11.884336855876501,-10.154888099337777,12.4059895526672,-8.76608459082679,12.37074265145,-8.8938021336887
+3363,11.884336855876501,-8.76608459082679,12.4059895526672,-7.377281082315804,12.268170720707364,-8.24464348393184
+3364,12.4059895526672,-8.76608459082679,12.66681590106255,-8.071682836571297,12.564613888244303,-8.124817571350354
+3365,12.4059895526672,-8.071682836571297,12.66681590106255,-7.377281082315804,12.613589888039675,-7.965060854090091
+3366,12.66681590106255,-8.76608459082679,12.9276422494579,-8.071682836571297,12.759741315779676,-8.318753769860944
+3367,12.66681590106255,-8.071682836571297,12.9276422494579,-7.377281082315804,12.75249125907695,-7.762184732023249
+3368,11.884336855876501,-7.377281082315804,12.9276422494579,-4.59967406529383,12.498349721136417,-5.8964642227435204
+3369,12.9276422494579,-10.154888099337777,13.970947643039297,-7.377281082315804,13.236926464362334,-8.023051012248633
+3370,12.9276422494579,-7.377281082315804,13.970947643039297,-4.59967406529383,13.350833520602698,-6.561533817618621
+3371,11.884336855876501,-4.59967406529383,13.970947643039297,0.9555399687501165,12.560021663406493,-1.8894002938345689
+3372,13.970947643039297,-10.154888099337777,16.057558430202093,-4.59967406529383,14.40200138586069,-6.96801938991997
+3373,13.970947643039297,-4.59967406529383,16.057558430202093,0.9555399687501165,15.124548604509492,-2.227370912125768
+3374,16.057558430202093,-21.26531616742567,20.230780004527688,-10.154888099337777,16.965555428133758,-16.20608521960415
+3375,16.057558430202093,-10.154888099337777,20.230780004527688,0.9555399687501165,16.244108829953,-0.025072551263574
+3376,27.53391775959748,-18.487709150403695,28.05557045638818,-17.09890564189271,28.03731802421539,-17.21609407836635
+3377,27.53391775959748,-17.09890564189271,28.05557045638818,-15.710102133381724,27.963697629440617,-16.028021340617652
+3378,28.05557045638818,-17.7933073961482,28.31639680478353,-17.09890564189271,28.12166116048831,-17.232050095978074
+3379,28.31639680478353,-18.487709150403695,28.577223153178878,-17.7933073961482,28.533036428202525,-17.87431482956938
+3380,28.05557045638818,-17.09890564189271,28.31639680478353,-16.40450388763722,28.189413805212006,-16.62983491537302
+3381,28.05557045638818,-16.40450388763722,28.31639680478353,-15.710102133381724,28.16813936076193,-16.020311126804156
+3382,28.31639680478353,-17.09890564189271,28.577223153178878,-16.40450388763722,28.368768239882858,-16.675154657022055
+3383,28.31639680478353,-16.40450388763722,28.577223153178878,-15.710102133381724,28.466570027708393,-16.32260736481596
+3384,27.53391775959748,-15.710102133381724,28.05557045638818,-14.321298624870737,27.932717916823037,-15.54859278122121
+3385,28.05557045638818,-15.710102133381724,28.577223153178878,-14.321298624870737,28.1015885411629,-15.548442975175739
+3386,28.05557045638818,-14.321298624870737,28.577223153178878,-12.93249511635975,28.407677226694922,-13.961084756151937
+3387,28.577223153178878,-83.76147405042008,29.098875849969577,-82.37267054190909,28.815217175596214,-82.51007496633002
+3388,29.098875849969577,-85.15027755893107,29.620528546760276,-83.76147405042008,29.324035393629675,-84.38934251118101
+3389,29.098875849969577,-83.76147405042008,29.620528546760276,-82.37267054190909,29.418163633250366,-82.66039491155372
+3390,29.620528546760276,-86.53908106744205,30.142181243550976,-85.15027755893107,29.932401651914777,-85.3673551940881
+3391,30.142181243550976,-87.92788457595303,30.403007591946327,-87.23348282169755,30.338377716222087,-87.45205258608283
+3392,30.142181243550976,-87.23348282169755,30.403007591946327,-86.53908106744205,30.378382190918373,-87.02114702710251
+3393,30.403007591946327,-87.92788457595303,30.533420766144,-87.58068369882528,30.461058806278636,-87.80691132270839
+3394,30.403007591946327,-87.58068369882528,30.533420766144,-87.23348282169755,30.472819350080364,-87.29955787852722
+3395,30.533420766144,-87.92788457595303,30.663833940341675,-87.58068369882528,30.608398929658048,-87.77905636546191
+3396,30.533420766144,-87.58068369882528,30.663833940341675,-87.23348282169755,30.5766365841667,-87.35720965015321
+3397,30.403007591946327,-87.23348282169755,30.533420766144,-86.8862819445698,30.47055342228862,-87.17546468226982
+3398,30.403007591946327,-86.8862819445698,30.533420766144,-86.53908106744205,30.42363426261776,-86.6860684477992
+3399,30.533420766144,-87.23348282169755,30.663833940341675,-86.8862819445698,30.601666628677425,-87.08177965984993
+3400,30.533420766144,-86.8862819445698,30.663833940341675,-86.53908106744205,30.65905995180425,-86.85589914924583
+3401,30.142181243550976,-86.53908106744205,30.403007591946327,-85.84467931318656,30.305170200666584,-86.07606958544162
+3402,30.142181243550976,-85.84467931318656,30.27259441774865,-85.49747843605881,30.182273680806727,-85.70311590284358
+3403,30.142181243550976,-85.49747843605881,30.27259441774865,-85.15027755893107,30.204760311642396,-85.26236187779787
+3404,30.27259441774865,-85.84467931318656,30.403007591946327,-85.49747843605881,30.324887056008897,-85.69219983713917
+3405,30.27259441774865,-85.49747843605881,30.403007591946327,-85.15027755893107,30.343222823014774,-85.33576661759729
+3406,30.403007591946327,-86.53908106744205,30.663833940341675,-85.84467931318656,30.494525679999885,-86.1379708500882
+3407,30.403007591946327,-85.84467931318656,30.663833940341675,-85.15027755893107,30.52073854142169,-85.47081051576954
+3408,29.620528546760276,-85.15027755893107,29.881354895155624,-84.45587580467557,29.763708712229107,-84.88252815075353
+3409,29.881354895155624,-85.15027755893107,30.142181243550976,-84.45587580467557,29.988291083458552,-84.73533819554513
+3410,29.881354895155624,-84.45587580467557,30.142181243550976,-83.76147405042008,30.03021300375621,-84.3505455384764
+3411,29.620528546760276,-83.76147405042008,29.881354895155624,-83.06707229616458,29.742119375842393,-83.29869977219226
+3412,29.620528546760276,-83.06707229616458,29.881354895155624,-82.37267054190909,29.748289127745757,-82.61994716418562
+3413,29.881354895155624,-83.76147405042008,30.142181243550976,-83.06707229616458,30.054445636728012,-83.42067032477235
+3414,29.881354895155624,-83.06707229616458,30.142181243550976,-82.37267054190909,29.995161245175918,-82.6555784671398
+3415,30.142181243550976,-85.15027755893107,30.403007591946327,-84.45587580467557,30.3502721792442,-84.72277912708824
+3416,30.142181243550976,-84.45587580467557,30.403007591946327,-83.76147405042008,30.28357396760279,-84.18631041417694
+3417,30.403007591946327,-85.15027755893107,30.663833940341675,-84.45587580467557,30.549884715574304,-84.77115759277476
+3418,30.403007591946327,-84.45587580467557,30.533420766144,-84.10867492754782,30.461274907463064,-84.27614823256334
+3419,30.403007591946327,-84.10867492754782,30.533420766144,-83.76147405042008,30.472261781805376,-83.95182070569338
+3420,30.533420766144,-84.45587580467557,30.663833940341675,-84.10867492754782,30.589994246856335,-84.29068323047916
+3421,30.533420766144,-84.10867492754782,30.663833940341675,-83.76147405042008,30.582529685071126,-83.87654401617395
+3422,30.142181243550976,-83.76147405042008,30.403007591946327,-83.06707229616458,30.297329328265935,-83.4408756672814
+3423,30.142181243550976,-83.06707229616458,30.403007591946327,-82.37267054190909,30.262383644096644,-82.74529275802966
+3424,30.403007591946327,-83.76147405042008,30.663833940341675,-83.06707229616458,30.53343764019913,-83.33113741755767
+3425,30.403007591946327,-83.06707229616458,30.663833940341675,-82.37267054190909,30.50959568452497,-82.85774621455857
+3426,28.577223153178878,-82.37267054190909,28.838049501574226,-81.6782687876536,28.727087995018874,-81.99090187231818
+3427,28.577223153178878,-81.6782687876536,28.70763632737655,-81.33106791052585,28.63561675384552,-81.42626252287245
+3428,28.577223153178878,-81.33106791052585,28.70763632737655,-80.9838670333981,28.642453871630142,-81.2489676679215
+3429,28.70763632737655,-81.6782687876536,28.838049501574226,-81.33106791052585,28.791391338502358,-81.46926678252845
+3430,28.70763632737655,-81.33106791052585,28.838049501574226,-80.9838670333981,28.781771784339302,-81.24296079912398
+3431,28.838049501574226,-82.37267054190909,29.098875849969577,-81.6782687876536,28.956272296290603,-82.03876645608264
+3432,28.838049501574226,-81.6782687876536,28.968462675771903,-81.33106791052585,28.902207355972116,-81.58401651713363
+3433,28.838049501574226,-81.33106791052585,28.968462675771903,-80.9838670333981,28.899368010043837,-81.24027575399994
+3434,28.968462675771903,-81.6782687876536,29.098875849969577,-81.33106791052585,29.01698926702677,-81.50095394008385
+3435,28.968462675771903,-81.33106791052585,29.098875849969577,-80.9838670333981,29.037565378049994,-81.18771194018498
+3436,28.577223153178878,-80.9838670333981,29.098875849969577,-79.59506352488711,28.847022207117234,-80.88673868764666
+3437,29.098875849969577,-82.37267054190909,29.35970219836493,-81.6782687876536,29.206052050801848,-82.0879249802658
+3438,29.098875849969577,-81.6782687876536,29.22928902416725,-81.33106791052585,29.15605193790352,-81.5479490373981
+3439,29.098875849969577,-81.33106791052585,29.22928902416725,-80.9838670333981,29.173086353241576,-81.05882332598908
+3440,29.22928902416725,-81.6782687876536,29.35970219836493,-81.33106791052585,29.275915219189905,-81.55511751864228
+3441,29.22928902416725,-81.33106791052585,29.35970219836493,-80.9838670333981,29.281363926145396,-81.08854757255291
+3442,29.35970219836493,-82.37267054190909,29.620528546760276,-81.6782687876536,29.506528861646682,-82.12895036678783
+3443,29.35970219836493,-81.6782687876536,29.490115372562602,-81.33106791052585,29.450208636752034,-81.48105716503797
+3444,29.35970219836493,-81.33106791052585,29.490115372562602,-80.9838670333981,29.42678036775412,-81.17075503395742
+3445,29.490115372562602,-81.6782687876536,29.620528546760276,-81.33106791052585,29.549589237061078,-81.52878440592472
+3446,29.490115372562602,-81.33106791052585,29.620528546760276,-80.9838670333981,29.5436384190419,-81.21401695074769
+3447,29.098875849969577,-80.9838670333981,29.620528546760276,-79.59506352488711,29.13497546850592,-80.96682466425705
+3448,29.620528546760276,-82.37267054190909,29.75094172095795,-82.02546966478134,29.67724746924697,-82.24860303771156
+3449,29.620528546760276,-82.02546966478134,29.75094172095795,-81.6782687876536,29.675273884740886,-81.82005537680297
+3450,29.75094172095795,-82.37267054190909,29.881354895155624,-82.02546966478134,29.81041150597727,-82.1487013695736
+3451,29.75094172095795,-82.02546966478134,29.881354895155624,-81.6782687876536,29.82024233711666,-81.90119187018799
+3452,29.620528546760276,-81.6782687876536,29.881354895155624,-80.9838670333981,29.748760985420475,-81.41127585214605
+3453,29.881354895155624,-82.37267054190909,30.0117680693533,-82.02546966478134,29.957663776165454,-82.1525558508533
+3454,29.881354895155624,-82.02546966478134,30.0117680693533,-81.6782687876536,29.955012677143845,-81.81934678890273
+3455,30.0117680693533,-82.37267054190909,30.142181243550976,-82.02546966478134,30.053762751767533,-82.1706113944714
+3456,30.0117680693533,-82.02546966478134,30.142181243550976,-81.6782687876536,30.097538051318942,-81.84436962882128
+3457,29.881354895155624,-81.6782687876536,30.0117680693533,-81.33106791052585,29.95304913022117,-81.49306484657033
+3458,29.881354895155624,-81.33106791052585,30.0117680693533,-80.9838670333981,29.931263929039808,-81.3070167771081
+3459,30.0117680693533,-81.6782687876536,30.142181243550976,-81.33106791052585,30.08565978799008,-81.48761796107328
+3460,30.0117680693533,-81.33106791052585,30.142181243550976,-80.9838670333981,30.027296349342425,-81.32503557247615
+3461,30.142181243550976,-82.37267054190909,30.27259441774865,-82.02546966478134,30.235366881644392,-82.18569501605297
+3462,30.142181243550976,-82.02546966478134,30.27259441774865,-81.6782687876536,30.216182281723842,-81.82098163848788
+3463,30.27259441774865,-82.37267054190909,30.403007591946327,-82.02546966478134,30.336758818184272,-82.1054102259847
+3464,30.27259441774865,-82.02546966478134,30.403007591946327,-81.6782687876536,30.328109592425676,-81.76618199963639
+3465,30.142181243550976,-81.6782687876536,30.27259441774865,-81.33106791052585,30.21729758466445,-81.53818281510536
+3466,30.27259441774865,-81.6782687876536,30.403007591946327,-81.33106791052585,30.327448798291478,-81.57057705747795
+3467,30.403007591946327,-82.37267054190909,30.663833940341675,-81.6782687876536,30.5063723102492,-81.87734179193
+3468,30.403007591946327,-81.6782687876536,30.533420766144,-81.33106791052585,30.46077165563865,-81.55280124185482
+3469,30.533420766144,-81.6782687876536,30.663833940341675,-81.33106791052585,30.615463760418216,-81.5246754509276
+3470,30.663833940341675,-87.92788457595303,30.924660288737023,-87.23348282169755,30.78377540111635,-87.50370302528167
+3471,30.663833940341675,-87.23348282169755,30.924660288737023,-86.53908106744205,30.76917277563756,-86.84280671959348
+3472,30.924660288737023,-87.92788457595303,31.185486637132374,-87.23348282169755,31.00022644606754,-87.50903123568676
+3473,30.924660288737023,-87.23348282169755,31.185486637132374,-86.53908106744205,30.973024782772516,-86.92917162130135
+3474,30.663833940341675,-86.53908106744205,30.924660288737023,-85.84467931318656,30.766447187045102,-86.17845250501782
+3475,30.663833940341675,-85.84467931318656,30.924660288737023,-85.15027755893107,30.78252756089901,-85.42252064975409
+3476,30.924660288737023,-86.53908106744205,31.185486637132374,-85.84467931318656,31.029073444656422,-86.2239718760432
+3477,30.924660288737023,-85.84467931318656,31.185486637132374,-85.15027755893107,30.978593730411625,-85.43217656129045
+3478,31.185486637132374,-87.92788457595303,31.707139333923074,-86.53908106744205,31.42670537146394,-86.95043753827976
+3479,31.185486637132374,-86.53908106744205,31.707139333923074,-85.15027755893107,31.397648007866216,-85.81438271173243
+3480,30.663833940341675,-85.15027755893107,30.924660288737023,-84.45587580467557,30.760454913513243,-84.85529841209623
+3481,30.663833940341675,-84.45587580467557,30.924660288737023,-83.76147405042008,30.82439617588391,-84.04210073492001
+3482,30.924660288737023,-85.15027755893107,31.185486637132374,-84.45587580467557,31.055568699583816,-84.89355798494512
+3483,30.924660288737023,-84.45587580467557,31.185486637132374,-83.76147405042008,31.029595715387003,-83.98307460993497
+3484,30.663833940341675,-83.76147405042008,30.924660288737023,-83.06707229616458,30.80360471643994,-83.29504155308861
+3485,30.663833940341675,-83.06707229616458,30.924660288737023,-82.37267054190909,30.76680300341565,-82.90544585657726
+3486,30.924660288737023,-83.76147405042008,31.185486637132374,-83.06707229616458,31.06556964567813,-83.30307686709574
+3487,30.924660288737023,-83.06707229616458,31.185486637132374,-82.37267054190909,31.04254003033729,-82.78094686255706
+3488,31.185486637132374,-85.15027755893107,31.446312985527726,-84.45587580467557,31.30710338385833,-84.89500512613924
+3489,31.185486637132374,-84.45587580467557,31.446312985527726,-83.76147405042008,31.303503683337848,-84.21297310441189
+3490,31.446312985527726,-85.15027755893107,31.707139333923074,-84.45587580467557,31.57482885235419,-85.00709535753478
+3491,31.446312985527726,-84.45587580467557,31.707139333923074,-83.76147405042008,31.589647526184287,-84.13535553997323
+3492,31.185486637132374,-83.76147405042008,31.446312985527726,-83.06707229616458,31.30443717076161,-83.43700851934662
+3493,31.185486637132374,-83.06707229616458,31.446312985527726,-82.37267054190909,31.28159305236754,-82.50416386481672
+3494,31.446312985527726,-83.76147405042008,31.707139333923074,-83.06707229616458,31.60154623908998,-83.39362657578513
+3495,31.446312985527726,-83.06707229616458,31.707139333923074,-82.37267054190909,31.51791863811326,-82.87310431758705
+3496,31.707139333923074,-87.92788457595303,32.22879203071378,-86.53908106744205,31.93030942185144,-86.81330247567641
+3497,31.707139333923074,-86.53908106744205,32.22879203071378,-85.15027755893107,31.98001980126905,-85.811577924798
+3498,32.22879203071378,-87.92788457595303,32.75044472750447,-86.53908106744205,32.57293002027988,-87.1179785778344
+3499,32.22879203071378,-86.53908106744205,32.489618379109125,-85.84467931318656,32.368295672158204,-86.18216440262162
+3500,32.22879203071378,-85.84467931318656,32.489618379109125,-85.15027755893107,32.43229497765954,-85.49016304752104
+3501,32.489618379109125,-86.53908106744205,32.75044472750447,-85.84467931318656,32.60285777353324,-86.0936353813901
+3502,32.489618379109125,-85.84467931318656,32.75044472750447,-85.15027755893107,32.620638202992616,-85.54942176712785
+3503,31.707139333923074,-85.15027755893107,31.967965682318425,-84.45587580467557,31.82946686444647,-84.91992307781933
+3504,31.707139333923074,-84.45587580467557,31.967965682318425,-83.76147405042008,31.828268383707805,-84.08430423656277
+3505,31.967965682318425,-85.15027755893107,32.22879203071378,-84.45587580467557,32.074119371611864,-84.89991200457422
+3506,31.967965682318425,-84.45587580467557,32.22879203071378,-83.76147405042008,32.1028950422166,-84.00335155566232
+3507,31.707139333923074,-83.76147405042008,31.967965682318425,-83.06707229616458,31.809212925256364,-83.48457565516459
+3508,31.707139333923074,-83.06707229616458,31.967965682318425,-82.37267054190909,31.831128588935453,-82.65351064005328
+3509,31.967965682318425,-83.76147405042008,32.22879203071378,-83.06707229616458,32.107575465318455,-83.48181720826258
+3510,31.967965682318425,-83.06707229616458,32.22879203071378,-82.37267054190909,32.1067904225636,-82.7968610266457
+3511,32.22879203071378,-85.15027755893107,32.489618379109125,-84.45587580467557,32.4005978085403,-84.81393981715702
+3512,32.22879203071378,-84.45587580467557,32.35920520491145,-84.10867492754782,32.29665468595978,-84.25806284814412
+3513,32.22879203071378,-84.10867492754782,32.35920520491145,-83.76147405042008,32.29673816103278,-83.92879933526272
+3514,32.35920520491145,-84.45587580467557,32.489618379109125,-84.10867492754782,32.43261388157229,-84.34163659893004
+3515,32.35920520491145,-84.10867492754782,32.489618379109125,-83.76147405042008,32.431982410494676,-83.87945959291937
+3516,32.489618379109125,-85.15027755893107,32.6200315533068,-84.80307668180332,32.541263485425546,-84.93840872368017
+3517,32.489618379109125,-84.80307668180332,32.6200315533068,-84.45587580467557,32.555024153197955,-84.59675844137017
+3518,32.6200315533068,-85.15027755893107,32.75044472750447,-84.80307668180332,32.687762911366214,-84.9391970880153
+3519,32.6200315533068,-84.80307668180332,32.75044472750447,-84.45587580467557,32.67621059737041,-84.60229267184383
+3520,32.489618379109125,-84.45587580467557,32.6200315533068,-84.10867492754782,32.56127553676199,-84.30161236071542
+3521,32.489618379109125,-84.10867492754782,32.6200315533068,-83.76147405042008,32.56693924581482,-83.90709413130747
+3522,32.6200315533068,-84.45587580467557,32.75044472750447,-84.10867492754782,32.67291212996667,-84.34452465571616
+3523,32.6200315533068,-84.10867492754782,32.75044472750447,-83.76147405042008,32.67517637319307,-83.88509709247441
+3524,32.22879203071378,-83.76147405042008,32.489618379109125,-83.06707229616458,32.359872590336124,-83.54817091611905
+3525,32.22879203071378,-83.06707229616458,32.489618379109125,-82.37267054190909,32.404647196456736,-82.70512215354279
+3526,32.489618379109125,-83.76147405042008,32.6200315533068,-83.41427317329233,32.5691342937964,-83.66900430077737
+3527,32.489618379109125,-83.41427317329233,32.6200315533068,-83.06707229616458,32.56351865406691,-83.21631022846753
+3528,32.6200315533068,-83.76147405042008,32.75044472750447,-83.41427317329233,32.67622395740077,-83.68408651515493
+3529,32.6200315533068,-83.41427317329233,32.75044472750447,-83.06707229616458,32.67475235046399,-83.25662261122376
+3530,32.489618379109125,-83.06707229616458,32.75044472750447,-82.37267054190909,32.58606030588219,-82.86223828044326
+3531,30.663833940341675,-82.37267054190909,30.924660288737023,-81.6782687876536,30.800078570131205,-81.90109296667477
+3532,30.663833940341675,-81.6782687876536,30.924660288737023,-80.9838670333981,30.730550956719433,-81.5695989144432
+3533,30.924660288737023,-82.37267054190909,31.185486637132374,-81.6782687876536,31.042264342770753,-81.90638070778843
+3534,30.924660288737023,-81.6782687876536,31.185486637132374,-80.9838670333981,31.129831924670338,-81.50903147389614
+3535,31.185486637132374,-82.37267054190909,31.707139333923074,-80.9838670333981,31.43632243519449,-81.73211885442925
+3536,31.707139333923074,-82.37267054190909,31.967965682318425,-81.6782687876536,31.743646534429292,-82.08620143991934
+3537,31.707139333923074,-81.6782687876536,31.967965682318425,-80.9838670333981,31.86186379019255,-81.34416727687974
+3538,31.967965682318425,-82.37267054190909,32.22879203071378,-81.6782687876536,32.148488061347976,-82.04232294664233
+3539,31.967965682318425,-81.6782687876536,32.0983788565161,-81.33106791052585,32.07196404697317,-81.35873447904984
+3540,31.967965682318425,-81.33106791052585,32.0983788565161,-80.9838670333981,32.02901771907317,-81.13151826922305
+3541,32.0983788565161,-81.6782687876536,32.22879203071378,-81.33106791052585,32.157663528525696,-81.44013940191986
+3542,32.0983788565161,-81.33106791052585,32.22879203071378,-80.9838670333981,32.14617645087419,-81.22810429039892
+3543,31.707139333923074,-80.9838670333981,32.22879203071378,-79.59506352488711,32.11854412243519,-80.82136493665193
+3544,32.22879203071378,-82.37267054190909,32.75044472750447,-80.9838670333981,32.400895029405206,-81.65766239231725
+3545,32.22879203071378,-80.9838670333981,32.489618379109125,-80.2894652791426,32.34476660502341,-80.80903598415588
+3546,32.489618379109125,-80.9838670333981,32.75044472750447,-80.2894652791426,32.59466194363879,-80.72602323237194
+3547,32.489618379109125,-80.2894652791426,32.75044472750447,-79.59506352488711,32.70303452863837,-79.9914310399463
+3548,32.75044472750447,-87.92788457595303,33.27209742429517,-86.53908106744205,33.04064160055883,-87.33505327031945
+3549,32.75044472750447,-86.53908106744205,33.27209742429517,-85.15027755893107,33.01323516491619,-85.79339832085168
+3550,33.27209742429517,-87.92788457595303,33.79375012108587,-86.53908106744205,33.50640225256534,-86.91558813312145
+3551,33.27209742429517,-86.53908106744205,33.53292377269052,-85.84467931318656,33.35667050285792,-86.18658287358501
+3552,33.27209742429517,-85.84467931318656,33.53292377269052,-85.15027755893107,33.44507739106073,-85.50600171883298
+3553,33.53292377269052,-86.53908106744205,33.79375012108587,-85.84467931318656,33.661010756471796,-86.09478132306052
+3554,33.53292377269052,-85.84467931318656,33.79375012108587,-85.15027755893107,33.67053293786362,-85.48063538415641
+3555,32.75044472750447,-85.15027755893107,33.01127107589982,-84.45587580467557,32.87807999994907,-84.8229576780465
+3556,32.75044472750447,-84.45587580467557,33.01127107589982,-83.76147405042008,32.88546908722233,-83.9980097285071
+3557,33.01127107589982,-85.15027755893107,33.27209742429517,-84.45587580467557,33.12295365415429,-84.85480480014634
+3558,33.01127107589982,-84.45587580467557,33.27209742429517,-83.76147405042008,33.133279822113906,-84.08940061439776
+3559,32.75044472750447,-83.76147405042008,32.88085790170214,-83.41427317329233,32.82075293882488,-83.62997840192043
+3560,32.75044472750447,-83.41427317329233,32.88085790170214,-83.06707229616458,32.836508455049305,-83.29585627875306
+3561,32.88085790170214,-83.76147405042008,33.01127107589982,-83.41427317329233,32.93787421582732,-83.61032624212231
+3562,32.88085790170214,-83.41427317329233,33.01127107589982,-83.06707229616458,32.9327142848268,-83.2777612581684
+3563,32.75044472750447,-83.06707229616458,33.01127107589982,-82.37267054190909,32.87099862162152,-82.5078910228048
+3564,33.01127107589982,-83.76147405042008,33.27209742429517,-83.06707229616458,33.12437264606167,-83.37776903817057
+3565,33.01127107589982,-83.06707229616458,33.27209742429517,-82.37267054190909,33.15555490233632,-82.43136932952522
+3566,33.27209742429517,-85.15027755893107,33.53292377269052,-84.45587580467557,33.38639247438977,-84.71548603674366
+3567,33.27209742429517,-84.45587580467557,33.53292377269052,-83.76147405042008,33.41076026304794,-84.16676384309191
+3568,33.53292377269052,-85.15027755893107,33.79375012108587,-84.45587580467557,33.6785639952937,-84.72182551173132
+3569,33.53292377269052,-84.45587580467557,33.663336946888194,-84.10867492754782,33.60142555641304,-84.32695153024164
+3570,33.53292377269052,-84.10867492754782,33.663336946888194,-83.76147405042008,33.60758231661523,-83.9129542235775
+3571,33.663336946888194,-84.45587580467557,33.79375012108587,-84.10867492754782,33.742789766132724,-84.31613893090602
+3572,33.663336946888194,-84.10867492754782,33.79375012108587,-83.76147405042008,33.721133219450394,-83.99134250291533
+3573,33.27209742429517,-83.76147405042008,33.53292377269052,-83.06707229616458,33.379018430842315,-83.47119696996712
+3574,33.27209742429517,-83.06707229616458,33.53292377269052,-82.37267054190909,33.43734210482826,-82.63265099924408
+3575,33.53292377269052,-83.76147405042008,33.79375012108587,-83.06707229616458,33.621647776987935,-83.38920144202358
+3576,33.53292377269052,-83.06707229616458,33.79375012108587,-82.37267054190909,33.63547733575274,-82.58900276869751
+3577,33.79375012108587,-87.92788457595303,34.315402817876574,-86.53908106744205,33.97371257214,-87.2721587495734
+3578,33.79375012108587,-86.53908106744205,34.315402817876574,-85.15027755893107,33.99405261479226,-85.68407379429003
+3579,34.315402817876574,-87.92788457595303,34.57622916627192,-87.23348282169755,34.51802457247562,-87.33415381268358
+3580,34.315402817876574,-87.23348282169755,34.57622916627192,-86.53908106744205,34.4250098113593,-86.91399854367323
+3581,34.57622916627192,-87.92788457595303,34.83705551466727,-87.23348282169755,34.71055973914479,-87.57003376720941
+3582,34.57622916627192,-87.23348282169755,34.83705551466727,-86.53908106744205,34.71687481926962,-86.8585731526422
+3583,34.315402817876574,-86.53908106744205,34.83705551466727,-85.15027755893107,34.60214122173241,-85.77351557703501
+3584,33.79375012108587,-85.15027755893107,33.92416329528355,-84.80307668180332,33.86043355256906,-84.94046610125437
+3585,33.79375012108587,-84.80307668180332,33.92416329528355,-84.45587580467557,33.87793102535469,-84.58975083478484
+3586,33.92416329528355,-85.15027755893107,34.05457646948122,-84.80307668180332,33.99249518941957,-84.98071543539301
+3587,33.92416329528355,-84.80307668180332,34.05457646948122,-84.45587580467557,33.99131191207893,-84.57852232040693
+3588,33.79375012108587,-84.45587580467557,33.92416329528355,-84.10867492754782,33.85314848498136,-84.31601707571396
+3589,33.79375012108587,-84.10867492754782,33.92416329528355,-83.76147405042008,33.87203904830957,-83.94831283825192
+3590,33.92416329528355,-84.45587580467557,34.05457646948122,-84.10867492754782,33.99500468182171,-84.29452323248341
+3591,33.92416329528355,-84.10867492754782,34.05457646948122,-83.76147405042008,33.99327452897938,-83.96750832611866
+3592,34.05457646948122,-85.15027755893107,34.1849896436789,-84.80307668180332,34.11342328097507,-84.92984217084185
+3593,34.05457646948122,-84.80307668180332,34.1849896436789,-84.45587580467557,34.1094586745761,-84.62451627946534
+3594,34.1849896436789,-85.15027755893107,34.315402817876574,-84.80307668180332,34.23322688517835,-84.91438543148631
+3595,34.1849896436789,-84.80307668180332,34.315402817876574,-84.45587580467557,34.24036388078006,-84.6295591283293
+3596,34.05457646948122,-84.45587580467557,34.1849896436789,-84.10867492754782,34.11601116615151,-84.26736278347005
+3597,34.05457646948122,-84.10867492754782,34.1849896436789,-83.76147405042008,34.11060659176548,-83.9620643715543
+3598,34.1849896436789,-84.45587580467557,34.315402817876574,-84.10867492754782,34.25427442908803,-84.25196311596574
+3599,34.1849896436789,-84.10867492754782,34.315402817876574,-83.76147405042008,34.26046779145098,-84.003780141894
+3600,33.79375012108587,-83.76147405042008,33.92416329528355,-83.41427317329233,33.865114702913324,-83.55121671732003
+3601,33.79375012108587,-83.41427317329233,33.92416329528355,-83.06707229616458,33.84923043303522,-83.35800938213882
+3602,33.92416329528355,-83.76147405042008,34.05457646948122,-83.41427317329233,33.971413772931136,-83.59857978469886
+3603,33.92416329528355,-83.41427317329233,34.05457646948122,-83.06707229616458,33.96709203350681,-83.37474099645813
+3604,33.79375012108587,-83.06707229616458,34.05457646948122,-82.37267054190909,33.890103360149055,-82.60864664385234
+3605,34.05457646948122,-83.76147405042008,34.315402817876574,-83.06707229616458,34.18724298496089,-83.45833107111478
+3606,34.05457646948122,-83.06707229616458,34.315402817876574,-82.37267054190909,34.175122289124715,-82.6533450215676
+3607,34.315402817876574,-85.15027755893107,34.445815992074245,-84.80307668180332,34.37965483123648,-84.97014310766883
+3608,34.315402817876574,-84.80307668180332,34.445815992074245,-84.45587580467557,34.37514634765151,-84.60655750768198
+3609,34.445815992074245,-85.15027755893107,34.57622916627192,-84.80307668180332,34.51132801734506,-84.98691888290365
+3610,34.445815992074245,-84.80307668180332,34.57622916627192,-84.45587580467557,34.513489457729435,-84.55994312388862
+3611,34.315402817876574,-84.45587580467557,34.445815992074245,-84.10867492754782,34.383175847516014,-84.30963021919722
+3612,34.315402817876574,-84.10867492754782,34.445815992074245,-83.76147405042008,34.36622962053693,-84.0231384355786
+3613,34.445815992074245,-84.45587580467557,34.57622916627192,-84.10867492754782,34.50471520214808,-84.31187070504883
+3614,34.445815992074245,-84.10867492754782,34.57622916627192,-83.76147405042008,34.525113013114336,-83.958074387176
+3615,34.57622916627192,-85.15027755893107,34.83705551466727,-84.45587580467557,34.66603750874282,-84.77009115681162
+3616,34.57622916627192,-84.45587580467557,34.7066423404696,-84.10867492754782,34.64827226986922,-84.2741237597549
+3617,34.57622916627192,-84.10867492754782,34.7066423404696,-83.76147405042008,34.6429457739979,-83.96187995754079
+3618,34.7066423404696,-84.45587580467557,34.83705551466727,-84.10867492754782,34.77652233374211,-84.26142266167038
+3619,34.7066423404696,-84.10867492754782,34.83705551466727,-83.76147405042008,34.752714765459686,-83.99973409938653
+3620,34.315402817876574,-83.76147405042008,34.57622916627192,-83.06707229616458,34.45805960928723,-83.43092660097544
+3621,34.315402817876574,-83.06707229616458,34.57622916627192,-82.37267054190909,34.45587638798327,-82.79106240768074
+3622,34.57622916627192,-83.76147405042008,34.83705551466727,-83.06707229616458,34.70461508687566,-83.41145696673516
+3623,34.57622916627192,-83.06707229616458,34.83705551466727,-82.37267054190909,34.71315256539758,-82.6853264481934
+3624,32.75044472750447,-82.37267054190909,33.27209742429517,-80.9838670333981,32.981599430711135,-81.37747794179388
+3625,32.75044472750447,-80.9838670333981,33.01127107589982,-80.2894652791426,32.85490553747087,-80.58393119129576
+3626,32.75044472750447,-80.2894652791426,32.88085790170214,-79.94226440201486,32.809554574629935,-80.03592590903486
+3627,32.75044472750447,-79.94226440201486,32.88085790170214,-79.59506352488711,32.82129396868313,-79.86517308641092
+3628,32.88085790170214,-80.2894652791426,33.01127107589982,-79.94226440201486,32.95091209633733,-80.09282326356217
+3629,32.88085790170214,-79.94226440201486,33.01127107589982,-79.59506352488711,32.93837967151949,-79.7103243368619
+3630,33.01127107589982,-80.9838670333981,33.27209742429517,-80.2894652791426,33.13761530115782,-80.55130584019864
+3631,33.01127107589982,-80.2894652791426,33.27209742429517,-79.59506352488711,33.08027123982885,-80.05984219115372
+3632,33.27209742429517,-82.37267054190909,33.53292377269052,-81.6782687876536,33.46520100200414,-82.00830653111991
+3633,33.27209742429517,-81.6782687876536,33.53292377269052,-80.9838670333981,33.41334632275187,-81.32173098088826
+3634,33.53292377269052,-82.37267054190909,33.79375012108587,-81.6782687876536,33.59144546574468,-81.95436112532931
+3635,33.53292377269052,-81.6782687876536,33.79375012108587,-80.9838670333981,33.65033914225173,-81.41985332069245
+3636,33.27209742429517,-80.9838670333981,33.79375012108587,-79.59506352488711,33.52938089567899,-80.37565426311885
+3637,32.75044472750447,-79.59506352488711,33.27209742429517,-78.20626001637612,33.14001023583238,-79.44647358736164
+3638,33.27209742429517,-79.59506352488711,33.53292377269052,-78.90066177063161,33.428059665554535,-79.2853432565238
+3639,33.53292377269052,-79.59506352488711,33.79375012108587,-78.90066177063161,33.66414313623225,-79.07881479944223
+3640,33.53292377269052,-78.90066177063161,33.79375012108587,-78.20626001637612,33.75092365262324,-78.83951530973077
+3641,33.79375012108587,-82.37267054190909,34.05457646948122,-81.6782687876536,33.96624475581854,-81.92919756251585
+3642,33.79375012108587,-81.6782687876536,34.05457646948122,-80.9838670333981,33.963511228960265,-81.16512584042336
+3643,34.05457646948122,-82.37267054190909,34.315402817876574,-81.6782687876536,34.182519455012425,-82.05446391124664
+3644,34.05457646948122,-81.6782687876536,34.315402817876574,-80.9838670333981,34.13820956525864,-81.25203060253787
+3645,33.79375012108587,-80.9838670333981,34.05457646948122,-80.2894652791426,33.94310948784795,-80.63358550906617
+3646,33.79375012108587,-80.2894652791426,34.05457646948122,-79.59506352488711,33.92562504407274,-80.10541155772349
+3647,34.05457646948122,-80.9838670333981,34.315402817876574,-80.2894652791426,34.13114738840873,-80.76348044064524
+3648,34.05457646948122,-80.2894652791426,34.315402817876574,-79.59506352488711,34.19887429254568,-79.97069326168689
+3649,34.315402817876574,-82.37267054190909,34.57622916627192,-81.6782687876536,34.468938924164874,-82.01807680179284
+3650,34.315402817876574,-81.6782687876536,34.57622916627192,-80.9838670333981,34.37596840095153,-81.28488119740858
+3651,34.57622916627192,-82.37267054190909,34.83705551466727,-81.6782687876536,34.74563514119929,-82.16564834071816
+3652,34.57622916627192,-81.6782687876536,34.83705551466727,-80.9838670333981,34.701360525677,-81.02999569668576
+3653,34.315402817876574,-80.9838670333981,34.83705551466727,-79.59506352488711,34.456915764272594,-79.95798942240759
+3654,33.79375012108587,-79.59506352488711,34.05457646948122,-78.90066177063161,33.85890440258322,-79.0924071881349
+3655,33.79375012108587,-78.90066177063161,34.05457646948122,-78.20626001637612,33.90749051647664,-78.61338015942643
+3656,34.05457646948122,-79.59506352488711,34.315402817876574,-78.90066177063161,34.162693584729816,-78.97091092800912
+3657,34.05457646948122,-78.90066177063161,34.315402817876574,-78.20626001637612,34.20498842703923,-78.81318658383877
+3658,33.79375012108587,-78.20626001637612,34.315402817876574,-76.81745650786513,34.17800746833629,-77.98083611574506
+3659,34.315402817876574,-79.59506352488711,34.83705551466727,-78.20626001637612,34.62652267770885,-78.99058375611077
+3660,34.315402817876574,-78.20626001637612,34.83705551466727,-76.81745650786513,34.660523402898434,-77.55739752963402
+3661,34.83705551466727,-87.92788457595303,35.358708211457966,-86.53908106744205,35.01174613282749,-87.00049214192262
+3662,34.83705551466727,-86.53908106744205,35.09788186306262,-85.84467931318656,34.941433432729006,-86.53407927082185
+3663,34.83705551466727,-85.84467931318656,34.96746868886494,-85.49747843605881,34.873638106560726,-85.60021385713148
+3664,34.83705551466727,-85.49747843605881,34.96746868886494,-85.15027755893107,34.933094077009486,-85.3121823500365
+3665,34.96746868886494,-85.84467931318656,35.09788186306262,-85.49747843605881,35.033830989461876,-85.61792205199657
+3666,34.96746868886494,-85.49747843605881,35.09788186306262,-85.15027755893107,35.03398690654936,-85.2619021275686
+3667,35.09788186306262,-86.53908106744205,35.358708211457966,-85.84467931318656,35.274242025637115,-86.02794868317467
+3668,35.09788186306262,-85.84467931318656,35.358708211457966,-85.15027755893107,35.180512692884484,-85.2829621607182
+3669,35.358708211457966,-87.92788457595303,35.88036090824867,-86.53908106744205,35.667619266603225,-87.09459048791943
+3670,35.358708211457966,-86.53908106744205,35.88036090824867,-85.15027755893107,35.62012521529924,-85.93925696522635
+3671,34.83705551466727,-85.15027755893107,35.09788186306262,-84.45587580467557,35.00683636604993,-84.9982682962233
+3672,34.83705551466727,-84.45587580467557,35.09788186306262,-83.76147405042008,34.93340417237513,-84.19664793957415
+3673,35.09788186306262,-85.15027755893107,35.358708211457966,-84.45587580467557,35.19846333031932,-84.94568348139482
+3674,35.09788186306262,-84.45587580467557,35.358708211457966,-83.76147405042008,35.30205878199657,-84.05745171448176
+3675,34.83705551466727,-83.76147405042008,35.09788186306262,-83.06707229616458,34.96001615110248,-83.4418602181856
+3676,34.83705551466727,-83.06707229616458,35.09788186306262,-82.37267054190909,34.91820554675135,-82.5843592864603
+3677,35.09788186306262,-83.76147405042008,35.358708211457966,-83.06707229616458,35.21575047391113,-83.44547014177276
+3678,35.09788186306262,-83.06707229616458,35.358708211457966,-82.37267054190909,35.246801767959255,-82.66619073321442
+3679,35.358708211457966,-85.15027755893107,35.61953455985332,-84.45587580467557,35.46888806680895,-84.76571809993719
+3680,35.358708211457966,-84.45587580467557,35.61953455985332,-83.76147405042008,35.491652663094385,-84.05560446853413
+3681,35.61953455985332,-85.15027755893107,35.88036090824867,-84.45587580467557,35.76027732188454,-84.79441366805507
+3682,35.61953455985332,-84.45587580467557,35.74994773405099,-84.10867492754782,35.692335889860495,-84.29118903897485
+3683,35.61953455985332,-84.10867492754782,35.74994773405099,-83.76147405042008,35.686759294147386,-83.95516199127032
+3684,35.74994773405099,-84.45587580467557,35.88036090824867,-84.10867492754782,35.81205093183977,-84.26413773214624
+3685,35.74994773405099,-84.10867492754782,35.88036090824867,-83.76147405042008,35.807339112167405,-83.94818856359389
+3686,35.358708211457966,-83.76147405042008,35.61953455985332,-83.06707229616458,35.4770943963774,-83.3357214892642
+3687,35.358708211457966,-83.06707229616458,35.61953455985332,-82.37267054190909,35.50673013288095,-82.6232026957837
+3688,35.61953455985332,-83.76147405042008,35.88036090824867,-83.06707229616458,35.754818920948395,-83.52270429498358
+3689,35.61953455985332,-83.06707229616458,35.88036090824867,-82.37267054190909,35.72204071482701,-82.66564457442264
+3690,35.88036090824867,-87.92788457595303,36.14118725664402,-87.23348282169755,36.05812275830804,-87.47229674087164
+3691,35.88036090824867,-87.23348282169755,36.010774082446346,-86.8862819445698,35.95092543819531,-87.04257541953292
+3692,35.88036090824867,-86.8862819445698,36.010774082446346,-86.53908106744205,35.960613342699475,-86.73567888028498
+3693,36.010774082446346,-87.23348282169755,36.14118725664402,-86.8862819445698,36.080783678326064,-86.97920084253899
+3694,36.010774082446346,-86.8862819445698,36.14118725664402,-86.53908106744205,36.07805848160718,-86.74081377101366
+3695,36.14118725664402,-87.92788457595303,36.40201360503937,-87.23348282169755,36.1914855682373,-87.29779273968958
+3696,36.14118725664402,-87.23348282169755,36.271600430841694,-86.8862819445698,36.23418764091917,-87.02501462848006
+3697,36.14118725664402,-86.8862819445698,36.271600430841694,-86.53908106744205,36.1995032782836,-86.72744057344079
+3698,36.271600430841694,-87.23348282169755,36.40201360503937,-86.8862819445698,36.30351427821654,-87.08374141359448
+3699,36.271600430841694,-86.8862819445698,36.40201360503937,-86.53908106744205,36.310380982230285,-86.69768028247688
+3700,35.88036090824867,-86.53908106744205,36.14118725664402,-85.84467931318656,35.98626594939692,-86.4410993035703
+3701,35.88036090824867,-85.84467931318656,36.14118725664402,-85.15027755893107,36.06642703555548,-85.46042199128578
+3702,36.14118725664402,-86.53908106744205,36.40201360503937,-85.84467931318656,36.266776599171656,-86.22291648523647
+3703,36.14118725664402,-85.84467931318656,36.40201360503937,-85.15027755893107,36.281654617256855,-85.53222784491012
+3704,36.40201360503937,-87.92788457595303,36.66283995343472,-87.23348282169755,36.58360327895541,-87.31723335066232
+3705,36.40201360503937,-87.23348282169755,36.66283995343472,-86.53908106744205,36.51848775624297,-86.79264446580811
+3706,36.66283995343472,-87.92788457595303,36.92366630183007,-87.23348282169755,36.82225233167038,-87.51984923512687
+3707,36.66283995343472,-87.23348282169755,36.92366630183007,-86.53908106744205,36.78224651198327,-87.04631382889532
+3708,36.40201360503937,-86.53908106744205,36.92366630183007,-85.15027755893107,36.66905178566451,-85.95444260359127
+3709,35.88036090824867,-85.15027755893107,36.14118725664402,-84.45587580467557,35.95859986714971,-84.84215186269287
+3710,35.88036090824867,-84.45587580467557,36.010774082446346,-84.10867492754782,35.92556414712773,-84.18023007907061
+3711,35.88036090824867,-84.10867492754782,36.010774082446346,-83.76147405042008,35.953657768410146,-83.9370152446378
+3712,36.010774082446346,-84.45587580467557,36.14118725664402,-84.10867492754782,36.07739127722906,-84.25820274982094
+3713,36.010774082446346,-84.10867492754782,36.14118725664402,-83.76147405042008,36.05327329975257,-83.9163269165148
+3714,36.14118725664402,-85.15027755893107,36.40201360503937,-84.45587580467557,36.304991736778504,-84.84146988197392
+3715,36.14118725664402,-84.45587580467557,36.40201360503937,-83.76147405042008,36.264163883914556,-84.18271002019215
+3716,35.88036090824867,-83.76147405042008,36.14118725664402,-83.06707229616458,36.018638411533715,-83.43778084011379
+3717,35.88036090824867,-83.06707229616458,36.14118725664402,-82.37267054190909,36.02966373427163,-82.726910200708
+3718,36.14118725664402,-83.76147405042008,36.40201360503937,-83.06707229616458,36.22600364345522,-83.43117407848771
+3719,36.14118725664402,-83.06707229616458,36.40201360503937,-82.37267054190909,36.2433109677025,-82.65637336844824
+3720,36.40201360503937,-85.15027755893107,36.92366630183007,-83.76147405042008,36.688833934085714,-84.36081773075223
+3721,36.40201360503937,-83.76147405042008,36.92366630183007,-82.37267054190909,36.656763237743256,-83.12985680666253
+3722,34.83705551466727,-82.37267054190909,34.96746868886494,-82.02546966478134,34.90327081942712,-82.1867231091103
+3723,34.83705551466727,-82.02546966478134,34.96746868886494,-81.6782687876536,34.91756888819137,-81.94831140265781
+3724,34.96746868886494,-82.37267054190909,35.09788186306262,-82.02546966478134,35.017493470964105,-82.1628499404325
+3725,34.96746868886494,-82.02546966478134,35.09788186306262,-81.6782687876536,35.0279824090883,-81.87791744352891
+3726,34.83705551466727,-81.6782687876536,35.09788186306262,-80.9838670333981,35.023609357597536,-81.25522611237226
+3727,35.09788186306262,-82.37267054190909,35.358708211457966,-81.6782687876536,35.22023600499148,-81.96843851682748
+3728,35.09788186306262,-81.6782687876536,35.228295037260295,-81.33106791052585,35.163053403329535,-81.46922522538752
+3729,35.09788186306262,-81.33106791052585,35.228295037260295,-80.9838670333981,35.13025882546411,-81.12077827107352
+3730,35.228295037260295,-81.6782687876536,35.358708211457966,-81.33106791052585,35.281120905766784,-81.48946870418808
+3731,35.228295037260295,-81.33106791052585,35.358708211457966,-80.9838670333981,35.27435665610876,-81.18323868335013
+3732,34.83705551466727,-80.9838670333981,35.09788186306262,-80.2894652791426,35.03902222800513,-80.84448758976518
+3733,34.83705551466727,-80.2894652791426,35.09788186306262,-79.59506352488711,34.930610706419586,-79.8302863890844
+3734,35.09788186306262,-80.9838670333981,35.228295037260295,-80.63666615627035,35.18150404126724,-80.84676995257264
+3735,35.09788186306262,-80.63666615627035,35.228295037260295,-80.2894652791426,35.14760840744563,-80.49403368063578
+3736,35.228295037260295,-80.9838670333981,35.358708211457966,-80.63666615627035,35.29276807129269,-80.83511147664458
+3737,35.228295037260295,-80.63666615627035,35.358708211457966,-80.2894652791426,35.27312592834477,-80.4749539135305
+3738,35.09788186306262,-80.2894652791426,35.358708211457966,-79.59506352488711,35.27750045578822,-79.96929736540899
+3739,35.358708211457966,-82.37267054190909,35.61953455985332,-81.6782687876536,35.4692264150407,-82.02296656409858
+3740,35.358708211457966,-81.6782687876536,35.61953455985332,-80.9838670333981,35.47181837280847,-81.30793577259611
+3741,35.61953455985332,-82.37267054190909,35.88036090824867,-81.6782687876536,35.72064725535299,-82.01038688702455
+3742,35.61953455985332,-81.6782687876536,35.88036090824867,-80.9838670333981,35.71998582535085,-81.29820190246879
+3743,35.358708211457966,-80.9838670333981,35.48912138565564,-80.63666615627035,35.43198779595482,-80.80933439901419
+3744,35.358708211457966,-80.63666615627035,35.48912138565564,-80.2894652791426,35.421891019696055,-80.50391826745314
+3745,35.48912138565564,-80.9838670333981,35.61953455985332,-80.63666615627035,35.560588847669074,-80.82228630196286
+3746,35.48912138565564,-80.63666615627035,35.61953455985332,-80.2894652791426,35.53887394630986,-80.5626411643622
+3747,35.358708211457966,-80.2894652791426,35.61953455985332,-79.59506352488711,35.4755771046015,-79.97572444386113
+3748,35.61953455985332,-80.9838670333981,35.88036090824867,-80.2894652791426,35.701442645561094,-80.67861290292898
+3749,35.61953455985332,-80.2894652791426,35.88036090824867,-79.59506352488711,35.771781612916904,-79.93550760412165
+3750,34.83705551466727,-79.59506352488711,35.09788186306262,-78.90066177063161,35.01033574767317,-78.95781981794929
+3751,34.83705551466727,-78.90066177063161,35.09788186306262,-78.20626001637612,35.00822283382775,-78.86661044130385
+3752,35.09788186306262,-79.59506352488711,35.358708211457966,-78.90066177063161,35.22348685659965,-79.09986167303741
+3753,35.09788186306262,-78.90066177063161,35.358708211457966,-78.20626001637612,35.239015430039004,-78.71367808015358
+3754,34.83705551466727,-78.20626001637612,35.09788186306262,-77.51185826212063,34.94536917580918,-77.86611683406788
+3755,34.83705551466727,-77.51185826212063,35.09788186306262,-76.81745650786513,34.98612570617129,-77.12969903678456
+3756,35.09788186306262,-78.20626001637612,35.358708211457966,-77.51185826212063,35.23274924348656,-77.71196835320696
+3757,35.09788186306262,-77.51185826212063,35.358708211457966,-76.81745650786513,35.2328484540311,-77.14271619001056
+3758,35.358708211457966,-79.59506352488711,35.61953455985332,-78.90066177063161,35.460489333542824,-79.24325914607869
+3759,35.358708211457966,-78.90066177063161,35.61953455985332,-78.20626001637612,35.47916094434255,-78.6333377536084
+3760,35.61953455985332,-79.59506352488711,35.88036090824867,-78.90066177063161,35.74778164561741,-79.19624721337642
+3761,35.61953455985332,-78.90066177063161,35.74994773405099,-78.55346089350387,35.71303461152953,-78.6965921002078
+3762,35.61953455985332,-78.55346089350387,35.74994773405099,-78.20626001637612,35.67654832890971,-78.46689509061201
+3763,35.74994773405099,-78.90066177063161,35.88036090824867,-78.55346089350387,35.81497918088563,-78.67649169430487
+3764,35.74994773405099,-78.55346089350387,35.88036090824867,-78.20626001637612,35.81432372770828,-78.46137942111648
+3765,35.358708211457966,-78.20626001637612,35.61953455985332,-77.51185826212063,35.4975192556474,-77.79156824785427
+3766,35.358708211457966,-77.51185826212063,35.48912138565564,-77.16465738499288,35.43096754391464,-77.36195598852122
+3767,35.358708211457966,-77.16465738499288,35.48912138565564,-76.81745650786513,35.450910510272074,-77.06285652368298
+3768,35.48912138565564,-77.51185826212063,35.61953455985332,-77.16465738499288,35.56324014064224,-77.36486750096343
+3769,35.48912138565564,-77.16465738499288,35.61953455985332,-76.81745650786513,35.53458242243376,-77.0124225157902
+3770,35.61953455985332,-78.20626001637612,35.88036090824867,-77.51185826212063,35.739368245492194,-77.85041084897128
+3771,35.61953455985332,-77.51185826212063,35.88036090824867,-76.81745650786513,35.73464522309692,-77.23841652361116
+3772,35.88036090824867,-82.37267054190909,36.14118725664402,-81.6782687876536,35.983848214403935,-81.95950962921984
+3773,35.88036090824867,-81.6782687876536,36.14118725664402,-80.9838670333981,36.000765775255445,-81.41511515009891
+3774,36.14118725664402,-82.37267054190909,36.40201360503937,-81.6782687876536,36.259025146320624,-82.17535206388126
+3775,36.14118725664402,-81.6782687876536,36.40201360503937,-80.9838670333981,36.258371575840016,-81.44056063956226
+3776,35.88036090824867,-80.9838670333981,36.14118725664402,-80.2894652791426,36.065779381635814,-80.7353325341784
+3777,35.88036090824867,-80.2894652791426,36.010774082446346,-79.94226440201486,35.959301552675285,-80.06967869755121
+3778,35.88036090824867,-79.94226440201486,36.010774082446346,-79.59506352488711,35.96460820939854,-79.818392919515
+3779,36.010774082446346,-80.2894652791426,36.14118725664402,-79.94226440201486,36.093502614253275,-80.10386479366737
+3780,36.010774082446346,-79.94226440201486,36.14118725664402,-79.59506352488711,36.06585066097607,-79.81563428479168
+3781,36.14118725664402,-80.9838670333981,36.40201360503937,-80.2894652791426,36.28043177742081,-80.62683570288095
+3782,36.14118725664402,-80.2894652791426,36.271600430841694,-79.94226440201486,36.19624421579908,-80.09518579707537
+3783,36.14118725664402,-79.94226440201486,36.271600430841694,-79.59506352488711,36.21384872844342,-79.83042239582603
+3784,36.271600430841694,-80.2894652791426,36.40201360503937,-79.94226440201486,36.34812522066034,-80.07392581877886
+3785,36.271600430841694,-79.94226440201486,36.40201360503937,-79.59506352488711,36.33830967147645,-79.72489154094777
+3786,36.40201360503937,-82.37267054190909,36.92366630183007,-80.9838670333981,36.724610091232286,-81.7185116666777
+3787,36.40201360503937,-80.9838670333981,36.66283995343472,-80.2894652791426,36.54687175749491,-80.64284009381264
+3788,36.40201360503937,-80.2894652791426,36.66283995343472,-79.59506352488711,36.5297853081927,-80.01059739446384
+3789,36.66283995343472,-80.9838670333981,36.92366630183007,-80.2894652791426,36.77324084512822,-80.60364220973993
+3790,36.66283995343472,-80.2894652791426,36.92366630183007,-79.59506352488711,36.80128642322466,-80.09471704923118
+3791,35.88036090824867,-79.59506352488711,36.010774082446346,-79.24786264775936,35.960912173102166,-79.26471120411384
+3792,35.88036090824867,-79.24786264775936,36.010774082446346,-78.90066177063161,35.94611506369669,-78.98305094649147
+3793,36.010774082446346,-79.59506352488711,36.14118725664402,-79.24786264775936,36.081049308229225,-79.41811404417051
+3794,36.010774082446346,-79.24786264775936,36.14118725664402,-78.90066177063161,36.05336394268255,-79.01024149005232
+3795,35.88036090824867,-78.90066177063161,36.010774082446346,-78.55346089350387,35.923744791200775,-78.72657248986727
+3796,35.88036090824867,-78.55346089350387,36.010774082446346,-78.20626001637612,35.94100618421324,-78.46091088692775
+3797,36.010774082446346,-78.90066177063161,36.14118725664402,-78.55346089350387,36.06269084548038,-78.79375166515547
+3798,36.010774082446346,-78.55346089350387,36.14118725664402,-78.20626001637612,36.084741514606726,-78.4071650629216
+3799,36.14118725664402,-79.59506352488711,36.40201360503937,-78.90066177063161,36.269405947561445,-79.28928239608332
+3800,36.14118725664402,-78.90066177063161,36.40201360503937,-78.20626001637612,36.275531648532876,-78.56751562907964
+3801,35.88036090824867,-78.20626001637612,36.40201360503937,-76.81745650786513,36.0173914685717,-77.6921200291769
+3802,36.40201360503937,-79.59506352488711,36.66283995343472,-78.90066177063161,36.5403118057629,-79.3947533581658
+3803,36.40201360503937,-78.90066177063161,36.66283995343472,-78.20626001637612,36.52806755958841,-78.51198663290965
+3804,36.66283995343472,-79.59506352488711,36.92366630183007,-78.90066177063161,36.78588967209789,-79.17788364006194
+3805,36.66283995343472,-78.90066177063161,36.92366630183007,-78.20626001637612,36.76430226563432,-78.72359591956209
+3806,36.40201360503937,-78.20626001637612,36.92366630183007,-76.81745650786513,36.71333778110526,-77.37402784259902
+3807,32.75044472750447,-76.81745650786513,34.83705551466727,-71.26224247382119,34.6952183438195,-76.6798622650425
+3808,34.83705551466727,-76.81745650786513,35.88036090824867,-74.03984949084315,35.69561888485362,-76.1248714575067
+3809,35.88036090824867,-76.81745650786513,36.14118725664402,-76.12305475360964,35.98193001775627,-76.57134536239893
+3810,35.88036090824867,-76.12305475360964,36.14118725664402,-75.42865299935414,35.99574305142083,-75.69647172487618
+3811,36.14118725664402,-76.81745650786513,36.40201360503937,-76.12305475360964,36.271415833382335,-76.41584203882205
+3812,36.14118725664402,-76.12305475360964,36.40201360503937,-75.42865299935414,36.267157723795655,-75.85264501388367
+3813,36.40201360503937,-76.81745650786513,36.66283995343472,-76.12305475360964,36.57316310585053,-76.24189918105156
+3814,36.40201360503937,-76.12305475360964,36.66283995343472,-75.42865299935414,36.45856483251944,-76.01510284864578
+3815,36.66283995343472,-76.81745650786513,36.7932531276324,-76.47025563073738,36.725183753584325,-76.67146134777947
+3816,36.66283995343472,-76.47025563073738,36.7932531276324,-76.12305475360964,36.742689835775984,-76.2557229780567
+3817,36.7932531276324,-76.81745650786513,36.92366630183007,-76.47025563073738,36.85622316199821,-76.7315017796226
+3818,36.7932531276324,-76.47025563073738,36.92366630183007,-76.12305475360964,36.862268772382905,-76.25030467590447
+3819,36.66283995343472,-76.12305475360964,36.92366630183007,-75.42865299935414,36.81029021196383,-76.02441547103797
+3820,28.577223153178878,-65.70702843977725,36.92366630183007,-43.48617230360146,32.35547198122298,-64.69180663808638
+3821,36.92366630183007,-87.92788457595303,37.184492650225415,-87.23348282169755,37.078046161920085,-87.55949742237006
+3822,36.92366630183007,-87.23348282169755,37.184492650225415,-86.53908106744205,37.12524620426402,-86.93204022158132
+3823,37.184492650225415,-87.92788457595303,37.44531899862076,-87.23348282169755,37.31063306492218,-87.41561745514367
+3824,37.184492650225415,-87.23348282169755,37.44531899862076,-86.53908106744205,37.27289262696332,-86.95170818355614
+3825,36.92366630183007,-86.53908106744205,37.05407947602774,-86.19188019031431,36.984760710307945,-86.40400606425929
+3826,36.92366630183007,-86.19188019031431,37.05407947602774,-85.84467931318656,36.993659279686234,-85.95012773122967
+3827,37.05407947602774,-86.53908106744205,37.184492650225415,-86.19188019031431,37.11179023749276,-86.2463447169504
+3828,37.05407947602774,-86.19188019031431,37.184492650225415,-85.84467931318656,37.133460090895426,-86.04218852930592
+3829,36.92366630183007,-85.84467931318656,37.184492650225415,-85.15027755893107,37.0465681793916,-85.52773011849558
+3830,37.184492650225415,-86.53908106744205,37.44531899862076,-85.84467931318656,37.306229965085706,-86.0391919677837
+3831,37.184492650225415,-85.84467931318656,37.44531899862076,-85.15027755893107,37.3042656922004,-85.53780938250985
+3832,37.44531899862076,-87.92788457595303,37.966971695411466,-86.53908106744205,37.73955380667985,-87.3899890150355
+3833,37.44531899862076,-86.53908106744205,37.966971695411466,-85.15027755893107,37.63221625726666,-85.84153041223422
+3834,36.92366630183007,-85.15027755893107,37.44531899862076,-83.76147405042008,37.141289888760475,-84.53225907274093
+3835,36.92366630183007,-83.76147405042008,37.44531899862076,-82.37267054190909,37.14647462784035,-82.99589979988778
+3836,37.44531899862076,-85.15027755893107,37.966971695411466,-83.76147405042008,37.6714796030547,-84.56677811028622
+3837,37.44531899862076,-83.76147405042008,37.966971695411466,-82.37267054190909,37.56696113302513,-82.62049128647583
+3838,37.966971695411466,-87.92788457595303,38.48862439220217,-86.53908106744205,38.15188105760897,-87.3362547305553
+3839,37.966971695411466,-86.53908106744205,38.227798043806814,-85.84467931318656,38.167358269108036,-85.87101877474528
+3840,37.966971695411466,-85.84467931318656,38.227798043806814,-85.15027755893107,38.18419128936439,-85.67730146795296
+3841,38.227798043806814,-86.53908106744205,38.48862439220217,-85.84467931318656,38.2995285627756,-86.04695069053602
+3842,38.227798043806814,-85.84467931318656,38.35821121800449,-85.49747843605881,38.26807013844032,-85.73303894844162
+3843,38.227798043806814,-85.49747843605881,38.35821121800449,-85.15027755893107,38.27153945693652,-85.47865358636291
+3844,38.35821121800449,-85.84467931318656,38.48862439220217,-85.49747843605881,38.396821108199354,-85.73758639526237
+3845,38.35821121800449,-85.49747843605881,38.48862439220217,-85.15027755893107,38.431440259263354,-85.29704647005667
+3846,38.48862439220217,-87.92788457595303,39.010277088992865,-86.53908106744205,38.77216604614325,-87.30172077345829
+3847,38.48862439220217,-86.53908106744205,39.010277088992865,-85.15027755893107,38.767085425699285,-85.7842032711291
+3848,37.966971695411466,-85.15027755893107,38.48862439220217,-83.76147405042008,38.19566900142071,-84.50561988736831
+3849,37.966971695411466,-83.76147405042008,38.227798043806814,-83.06707229616458,38.17928332070061,-83.49661493184746
+3850,37.966971695411466,-83.06707229616458,38.227798043806814,-82.37267054190909,38.08673534235058,-82.64194720668955
+3851,38.227798043806814,-83.76147405042008,38.48862439220217,-83.06707229616458,38.392815994612775,-83.54280323834755
+3852,38.227798043806814,-83.06707229616458,38.35821121800449,-82.71987141903683,38.354724641125,-82.906521652166
+3853,38.227798043806814,-82.71987141903683,38.35821121800449,-82.37267054190909,38.34659870970358,-82.49192330581864
+3854,38.35821121800449,-83.06707229616458,38.48862439220217,-82.71987141903683,38.434227405137435,-82.95480008200572
+3855,38.35821121800449,-82.71987141903683,38.48862439220217,-82.37267054190909,38.41440271883181,-82.4997976753227
+3856,38.48862439220217,-85.15027755893107,38.74945074059752,-84.45587580467557,38.644330230022604,-84.78345829408222
+3857,38.48862439220217,-84.45587580467557,38.74945074059752,-83.76147405042008,38.633421938849246,-83.96747936397055
+3858,38.74945074059752,-85.15027755893107,39.010277088992865,-84.45587580467557,38.875740298497924,-84.62124129458157
+3859,38.74945074059752,-84.45587580467557,39.010277088992865,-83.76147405042008,38.85652251389332,-84.19198013953165
+3860,38.48862439220217,-83.76147405042008,38.74945074059752,-83.06707229616458,38.59959523014153,-83.51025518712046
+3861,38.48862439220217,-83.06707229616458,38.74945074059752,-82.37267054190909,38.594322145834646,-82.6459563353081
+3862,38.74945074059752,-83.76147405042008,39.010277088992865,-83.06707229616458,38.86748637443904,-83.43046529060581
+3863,38.74945074059752,-83.06707229616458,39.010277088992865,-82.37267054190909,38.86455962241285,-82.74692157084564
+3864,36.92366630183007,-82.37267054190909,37.184492650225415,-81.6782687876536,36.99968337051861,-81.86567336312565
+3865,36.92366630183007,-81.6782687876536,37.184492650225415,-80.9838670333981,37.00156735788533,-81.2141316419399
+3866,37.184492650225415,-82.37267054190909,37.44531899862076,-81.6782687876536,37.33105372250044,-81.721118204087
+3867,37.184492650225415,-81.6782687876536,37.44531899862076,-80.9838670333981,37.35287710671052,-81.22429713107366
+3868,36.92366630183007,-80.9838670333981,37.184492650225415,-80.2894652791426,37.077723956957215,-80.63727954642964
+3869,36.92366630183007,-80.2894652791426,37.184492650225415,-79.59506352488711,37.059623638482215,-79.96163269984052
+3870,37.184492650225415,-80.9838670333981,37.44531899862076,-80.2894652791426,37.30537914466572,-80.66842517554767
+3871,37.184492650225415,-80.2894652791426,37.31490582442309,-79.94226440201486,37.247391029697106,-80.0272573080434
+3872,37.184492650225415,-79.94226440201486,37.31490582442309,-79.59506352488711,37.26429982854722,-79.8523864955812
+3873,37.31490582442309,-80.2894652791426,37.44531899862076,-79.94226440201486,37.33360295031685,-79.9733761200457
+3874,37.31490582442309,-79.94226440201486,37.44531899862076,-79.59506352488711,37.37900636437613,-79.83822072710934
+3875,37.44531899862076,-82.37267054190909,37.966971695411466,-80.9838670333981,37.70665241427182,-81.31519799740309
+3876,37.44531899862076,-80.9838670333981,37.70614534701612,-80.2894652791426,37.568627245927935,-80.59005190069347
+3877,37.44531899862076,-80.2894652791426,37.70614534701612,-79.59506352488711,37.53755099027591,-79.81860936237426
+3878,37.70614534701612,-80.9838670333981,37.966971695411466,-80.2894652791426,37.83955809307293,-80.59595176467197
+3879,37.70614534701612,-80.2894652791426,37.966971695411466,-79.59506352488711,37.817326005626654,-79.90799196176087
+3880,36.92366630183007,-79.59506352488711,37.184492650225415,-78.90066177063161,37.074195177759826,-79.29944917225704
+3881,36.92366630183007,-78.90066177063161,37.184492650225415,-78.20626001637612,37.09626858117335,-78.49353146413915
+3882,37.184492650225415,-79.59506352488711,37.31490582442309,-79.24786264775936,37.26476572840846,-79.35262403597972
+3883,37.184492650225415,-79.24786264775936,37.31490582442309,-78.90066177063161,37.2723741919083,-79.1728638433891
+3884,37.31490582442309,-79.59506352488711,37.44531899862076,-79.24786264775936,37.36066046517548,-79.40818018984268
+3885,37.31490582442309,-79.24786264775936,37.44531899862076,-78.90066177063161,37.37445404112977,-79.16683292838746
+3886,37.184492650225415,-78.90066177063161,37.44531899862076,-78.20626001637612,37.32403649268933,-78.55140176590534
+3887,36.92366630183007,-78.20626001637612,37.44531899862076,-76.81745650786513,37.30303156502073,-77.45253312284645
+3888,37.44531899862076,-79.59506352488711,37.70614534701612,-78.90066177063161,37.59649890485042,-79.26507115573064
+3889,37.44531899862076,-78.90066177063161,37.70614534701612,-78.20626001637612,37.52494172197781,-78.5198881245032
+3890,37.70614534701612,-79.59506352488711,37.966971695411466,-78.90066177063161,37.824929574009914,-79.28428935312124
+3891,37.70614534701612,-78.90066177063161,37.966971695411466,-78.20626001637612,37.849296296993536,-78.584016563505
+3892,37.44531899862076,-78.20626001637612,37.57573217281844,-77.85905913924837,37.51349163755375,-78.10704212664349
+3893,37.44531899862076,-77.85905913924837,37.57573217281844,-77.51185826212063,37.52034304788753,-77.61795993811603
+3894,37.57573217281844,-78.20626001637612,37.70614534701612,-77.85905913924837,37.65425268619079,-77.97225590155874
+3895,37.57573217281844,-77.85905913924837,37.70614534701612,-77.51185826212063,37.63347515386339,-77.63114949560699
+3896,37.44531899862076,-77.51185826212063,37.57573217281844,-77.16465738499288,37.528300450573795,-77.41153407776824
+3897,37.44531899862076,-77.16465738499288,37.57573217281844,-76.81745650786513,37.49347668260761,-76.96085807146058
+3898,37.57573217281844,-77.51185826212063,37.70614534701612,-77.16465738499288,37.634360426569685,-77.45647798750862
+3899,37.57573217281844,-77.16465738499288,37.70614534701612,-76.81745650786513,37.64022570336916,-76.94400871162475
+3900,37.70614534701612,-78.20626001637612,37.966971695411466,-77.51185826212063,37.803297694233635,-77.91551385439051
+3901,37.70614534701612,-77.51185826212063,37.966971695411466,-76.81745650786513,37.804837246421535,-77.3309135075999
+3902,37.966971695411466,-82.37267054190909,38.227798043806814,-81.6782687876536,38.128093584756186,-81.86446055019057
+3903,37.966971695411466,-81.6782687876536,38.227798043806814,-80.9838670333981,38.11723551242726,-81.29459309050739
+3904,38.227798043806814,-82.37267054190909,38.48862439220217,-81.6782687876536,38.39997266891136,-82.17046678504312
+3905,38.227798043806814,-81.6782687876536,38.48862439220217,-80.9838670333981,38.3637802846909,-81.60156396295487
+3906,37.966971695411466,-80.9838670333981,38.48862439220217,-79.59506352488711,38.13296538363301,-80.2925441419568
+3907,38.48862439220217,-82.37267054190909,39.010277088992865,-80.9838670333981,38.76839370932593,-82.00133667731588
+3908,38.48862439220217,-80.9838670333981,39.010277088992865,-79.59506352488711,38.786136391158635,-80.24568019308674
+3909,37.966971695411466,-79.59506352488711,38.227798043806814,-78.90066177063161,38.10484564819294,-79.07481969200252
+3910,37.966971695411466,-78.90066177063161,38.227798043806814,-78.20626001637612,38.06421081305124,-78.6157278018403
+3911,38.227798043806814,-79.59506352488711,38.48862439220217,-78.90066177063161,38.35856057824539,-79.00641980558972
+3912,38.227798043806814,-78.90066177063161,38.48862439220217,-78.20626001637612,38.37283254460792,-78.69382047861298
+3913,37.966971695411466,-78.20626001637612,38.227798043806814,-77.51185826212063,38.12074535125755,-77.79719409254494
+3914,37.966971695411466,-77.51185826212063,38.227798043806814,-76.81745650786513,38.07678171676535,-77.39973456001673
+3915,38.227798043806814,-78.20626001637612,38.48862439220217,-77.51185826212063,38.35712748385421,-77.81314001253897
+3916,38.227798043806814,-77.51185826212063,38.48862439220217,-76.81745650786513,38.344514121538865,-77.31725466578374
+3917,38.48862439220217,-79.59506352488711,39.010277088992865,-78.20626001637612,38.750825330224075,-78.61465466967468
+3918,38.48862439220217,-78.20626001637612,38.74945074059752,-77.51185826212063,38.620505755139284,-77.77798864989698
+3919,38.48862439220217,-77.51185826212063,38.74945074059752,-76.81745650786513,38.64083534211613,-77.10712514981931
+3920,38.74945074059752,-78.20626001637612,39.010277088992865,-77.51185826212063,38.864071072693704,-77.85189444419446
+3921,38.74945074059752,-77.51185826212063,38.879863914795195,-77.16465738499288,38.82932396375912,-77.30911229232113
+3922,38.74945074059752,-77.16465738499288,38.879863914795195,-76.81745650786513,38.82941348622754,-77.01753640828449
+3923,38.879863914795195,-77.51185826212063,39.010277088992865,-77.16465738499288,38.94722036593863,-77.32449371484513
+3924,38.879863914795195,-77.16465738499288,39.010277088992865,-76.81745650786513,38.936316458993936,-77.01172442833176
+3925,39.010277088992865,-87.92788457595303,39.53192978578356,-86.53908106744205,39.3667605908378,-87.14125748693358
+3926,39.010277088992865,-86.53908106744205,39.27110343738821,-85.84467931318656,39.18951697985085,-86.21705973744845
+3927,39.010277088992865,-85.84467931318656,39.27110343738821,-85.15027755893107,39.18730411603699,-85.4149661300389
+3928,39.27110343738821,-86.53908106744205,39.53192978578356,-85.84467931318656,39.42452285301342,-86.04539416698918
+3929,39.27110343738821,-85.84467931318656,39.53192978578356,-85.15027755893107,39.3609064563277,-85.49342108878092
+3930,39.53192978578356,-87.92788457595303,40.053582482574264,-86.53908106744205,39.76398359975073,-86.81153590134194
+3931,39.53192978578356,-86.53908106744205,39.792756134178916,-85.84467931318656,39.72093868540811,-86.17941827427963
+3932,39.53192978578356,-85.84467931318656,39.792756134178916,-85.15027755893107,39.65075913945236,-85.64932681624666
+3933,39.792756134178916,-86.53908106744205,39.923169308376586,-86.19188019031431,39.862703303334285,-86.27804166464516
+3934,39.792756134178916,-86.19188019031431,39.923169308376586,-85.84467931318656,39.85592205226789,-86.09465077757632
+3935,39.923169308376586,-86.53908106744205,40.053582482574264,-86.19188019031431,39.962973904689754,-86.26612483731026
+3936,39.923169308376586,-86.19188019031431,40.053582482574264,-85.84467931318656,39.983095838473986,-86.07894321721211
+3937,39.792756134178916,-85.84467931318656,40.053582482574264,-85.15027755893107,39.951366368071454,-85.67870736842531
+3938,39.010277088992865,-85.15027755893107,39.27110343738821,-84.45587580467557,39.12817087535013,-84.55792160972398
+3939,39.010277088992865,-84.45587580467557,39.27110343738821,-83.76147405042008,39.162785460606926,-84.28608818940474
+3940,39.27110343738821,-85.15027755893107,39.53192978578356,-84.45587580467557,39.366934576686994,-84.63059843430035
+3941,39.27110343738821,-84.45587580467557,39.53192978578356,-83.76147405042008,39.389013543012275,-84.19068441477245
+3942,39.010277088992865,-83.76147405042008,39.27110343738821,-83.06707229616458,39.181634952230326,-83.45689545941099
+3943,39.010277088992865,-83.06707229616458,39.27110343738821,-82.37267054190909,39.15628923539437,-82.73158637575148
+3944,39.27110343738821,-83.76147405042008,39.53192978578356,-83.06707229616458,39.36157988561721,-83.44643531738848
+3945,39.27110343738821,-83.06707229616458,39.53192978578356,-82.37267054190909,39.382917824026805,-82.86986631172051
+3946,39.53192978578356,-85.15027755893107,39.792756134178916,-84.45587580467557,39.62507518890308,-84.98584227918424
+3947,39.53192978578356,-84.45587580467557,39.792756134178916,-83.76147405042008,39.659288627680176,-84.12523196780414
+3948,39.792756134178916,-85.15027755893107,40.053582482574264,-84.45587580467557,39.8709299222113,-84.84606623559985
+3949,39.792756134178916,-84.45587580467557,40.053582482574264,-83.76147405042008,39.88533756185408,-83.98451657009792
+3950,39.53192978578356,-83.76147405042008,39.792756134178916,-83.06707229616458,39.65648963067195,-83.42389462040619
+3951,39.53192978578356,-83.06707229616458,39.792756134178916,-82.37267054190909,39.65195518479372,-82.82918000604805
+3952,39.792756134178916,-83.76147405042008,39.923169308376586,-83.41427317329233,39.88816612268257,-83.55341901086204
+3953,39.792756134178916,-83.41427317329233,39.923169308376586,-83.06707229616458,39.86508978990397,-83.18232595078206
+3954,39.923169308376586,-83.76147405042008,40.053582482574264,-83.41427317329233,39.97669529724669,-83.61335316102287
+3955,39.923169308376586,-83.41427317329233,40.053582482574264,-83.06707229616458,39.99952985900919,-83.17545323702234
+3956,39.792756134178916,-83.06707229616458,39.923169308376586,-82.71987141903683,39.86662448938303,-82.94721993384931
+3957,39.792756134178916,-82.71987141903683,39.923169308376586,-82.37267054190909,39.88627365076814,-82.48910121051918
+3958,39.923169308376586,-83.06707229616458,40.053582482574264,-82.71987141903683,40.00307946164043,-82.94169953544943
+3959,39.923169308376586,-82.71987141903683,40.053582482574264,-82.37267054190909,39.98546103457847,-82.48089922643751
+3960,40.053582482574264,-87.92788457595303,40.57523517936497,-86.53908106744205,40.308402314656725,-87.14160195021414
+3961,40.053582482574264,-86.53908106744205,40.57523517936497,-85.15027755893107,40.22721925128086,-85.81383852333595
+3962,40.57523517936497,-87.92788457595303,41.09688787615566,-86.53908106744205,40.80961406555272,-87.40156160027658
+3963,40.57523517936497,-86.53908106744205,41.09688787615566,-85.15027755893107,40.87323392347703,-85.77771976155346
+3964,40.053582482574264,-85.15027755893107,40.31440883096961,-84.45587580467557,40.219958999077555,-84.7485044223905
+3965,40.053582482574264,-84.45587580467557,40.31440883096961,-83.76147405042008,40.20546441717461,-83.96376842669176
+3966,40.31440883096961,-85.15027755893107,40.57523517936497,-84.45587580467557,40.49103198227366,-84.75652163438419
+3967,40.31440883096961,-84.45587580467557,40.57523517936497,-83.76147405042008,40.443979531891294,-84.07565228735064
+3968,40.053582482574264,-83.76147405042008,40.18399565677194,-83.41427317329233,40.116022727158004,-83.60499350563813
+3969,40.053582482574264,-83.41427317329233,40.18399565677194,-83.06707229616458,40.11486071154443,-83.17324540075545
+3970,40.18399565677194,-83.76147405042008,40.31440883096961,-83.41427317329233,40.25083186156306,-83.60935054539401
+3971,40.18399565677194,-83.41427317329233,40.31440883096961,-83.06707229616458,40.253668355841796,-83.23803177026453
+3972,40.053582482574264,-83.06707229616458,40.18399565677194,-82.71987141903683,40.11263781580921,-82.9319229911702
+3973,40.053582482574264,-82.71987141903683,40.18399565677194,-82.37267054190909,40.123297507989726,-82.51102593911276
+3974,40.18399565677194,-83.06707229616458,40.31440883096961,-82.71987141903683,40.243410352159145,-82.90226193235388
+3975,40.18399565677194,-82.71987141903683,40.31440883096961,-82.37267054190909,40.25372245769577,-82.52882222307899
+3976,40.31440883096961,-83.76147405042008,40.44482200516729,-83.41427317329233,40.370669617623555,-83.5977604268532
+3977,40.31440883096961,-83.41427317329233,40.44482200516729,-83.06707229616458,40.376621566418066,-83.19971076565048
+3978,40.44482200516729,-83.76147405042008,40.57523517936497,-83.41427317329233,40.510136523878465,-83.5765715428452
+3979,40.44482200516729,-83.41427317329233,40.57523517936497,-83.06707229616458,40.51624847745603,-83.20077480403067
+3980,40.31440883096961,-83.06707229616458,40.44482200516729,-82.71987141903683,40.381379782568544,-82.88114188397594
+3981,40.31440883096961,-82.71987141903683,40.44482200516729,-82.37267054190909,40.381041269112984,-82.53463998635473
+3982,40.44482200516729,-83.06707229616458,40.57523517936497,-82.71987141903683,40.515521474407635,-82.88797661387805
+3983,40.44482200516729,-82.71987141903683,40.57523517936497,-82.37267054190909,40.51056171280021,-82.56166995653699
+3984,40.57523517936497,-85.15027755893107,40.836061527760315,-84.45587580467557,40.70068045640654,-84.89457752613099
+3985,40.57523517936497,-84.45587580467557,40.836061527760315,-83.76147405042008,40.71985743070875,-83.99027693571718
+3986,40.836061527760315,-85.15027755893107,41.09688787615566,-84.45587580467557,40.945886200402725,-84.85641817507144
+3987,40.836061527760315,-84.45587580467557,41.09688787615566,-83.76147405042008,40.9541607254105,-84.02159903308733
+3988,40.57523517936497,-83.76147405042008,40.70564835356264,-83.41427317329233,40.651344189065284,-83.56537986711245
+3989,40.57523517936497,-83.41427317329233,40.70564835356264,-83.06707229616458,40.630439404636945,-83.19923379413464
+3990,40.70564835356264,-83.76147405042008,40.836061527760315,-83.41427317329233,40.763946148603736,-83.57977965799681
+3991,40.70564835356264,-83.41427317329233,40.836061527760315,-83.06707229616458,40.778893502789835,-83.22522745167088
+3992,40.57523517936497,-83.06707229616458,40.70564835356264,-82.71987141903683,40.635526644674876,-82.88600999846474
+3993,40.57523517936497,-82.71987141903683,40.70564835356264,-82.37267054190909,40.6395672703068,-82.55336523645381
+3994,40.70564835356264,-83.06707229616458,40.836061527760315,-82.71987141903683,40.769294439414466,-82.87501964809168
+3995,40.70564835356264,-82.71987141903683,40.836061527760315,-82.37267054190909,40.765878269139286,-82.55319305247134
+3996,40.836061527760315,-83.76147405042008,40.96647470195799,-83.41427317329233,40.903921972063394,-83.57693072827709
+3997,40.836061527760315,-83.41427317329233,40.96647470195799,-83.06707229616458,40.90350186352667,-83.24060160404345
+3998,40.96647470195799,-83.76147405042008,41.09688787615566,-83.41427317329233,41.029206062635566,-83.57165340435157
+3999,40.96647470195799,-83.41427317329233,41.09688787615566,-83.06707229616458,41.01712113494336,-83.23549930823526
+4000,40.836061527760315,-83.06707229616458,40.96647470195799,-82.71987141903683,40.910069405980906,-82.90012087452382
+4001,40.836061527760315,-82.71987141903683,40.96647470195799,-82.37267054190909,40.89956098415658,-82.55813165276432
+4002,40.96647470195799,-83.06707229616458,41.09688787615566,-82.71987141903683,41.02821087549337,-82.88934320455272
+4003,40.96647470195799,-82.71987141903683,41.09688787615566,-82.37267054190909,41.02869249596319,-82.53609213433998
+4004,39.010277088992865,-82.37267054190909,39.27110343738821,-81.6782687876536,39.157078059786336,-82.02674801420596
+4005,39.010277088992865,-81.6782687876536,39.27110343738821,-80.9838670333981,39.238597673226245,-81.38784180382481
+4006,39.27110343738821,-82.37267054190909,39.53192978578356,-81.6782687876536,39.4034884648737,-82.01738823847401
+4007,39.27110343738821,-81.6782687876536,39.53192978578356,-80.9838670333981,39.39060029749012,-81.49896532609867
+4008,39.010277088992865,-80.9838670333981,39.53192978578356,-79.59506352488711,39.25487329485973,-80.19376171280372
+4009,39.53192978578356,-82.37267054190909,40.053582482574264,-80.9838670333981,39.83982648581914,-81.88085029964363
+4010,39.53192978578356,-80.9838670333981,40.053582482574264,-79.59506352488711,39.83043078511357,-80.03582342058445
+4011,39.010277088992865,-79.59506352488711,39.53192978578356,-78.20626001637612,39.2747719180844,-78.71619409602653
+4012,39.010277088992865,-78.20626001637612,39.27110343738821,-77.51185826212063,39.15516649985682,-77.86821449228458
+4013,39.010277088992865,-77.51185826212063,39.140690263190535,-77.16465738499288,39.07240311778865,-77.35674956844873
+4014,39.010277088992865,-77.16465738499288,39.140690263190535,-76.81745650786513,39.06643300650179,-77.00580268378505
+4015,39.140690263190535,-77.51185826212063,39.27110343738821,-77.16465738499288,39.20762562909984,-77.27630731416878
+4016,39.140690263190535,-77.16465738499288,39.27110343738821,-76.81745650786513,39.20624050118385,-76.91007001251543
+4017,39.27110343738821,-78.20626001637612,39.53192978578356,-77.51185826212063,39.379998273811076,-77.73125716569662
+4018,39.27110343738821,-77.51185826212063,39.40151661158589,-77.16465738499288,39.34691382149237,-77.3324857359813
+4019,39.27110343738821,-77.16465738499288,39.40151661158589,-76.81745650786513,39.327683402173335,-76.95669542176302
+4020,39.40151661158589,-77.51185826212063,39.53192978578356,-77.16465738499288,39.4534896640173,-77.35886986813556
+4021,39.40151661158589,-77.16465738499288,39.53192978578356,-76.81745650786513,39.467900560760405,-76.96842785585999
+4022,39.53192978578356,-79.59506352488711,39.792756134178916,-78.90066177063161,39.67245036564837,-79.14258726828803
+4023,39.53192978578356,-78.90066177063161,39.792756134178916,-78.20626001637612,39.65505713789678,-78.59414600236894
+4024,39.792756134178916,-79.59506352488711,40.053582482574264,-78.90066177063161,39.91210441410979,-79.22184880468238
+4025,39.792756134178916,-78.90066177063161,40.053582482574264,-78.20626001637612,39.9581022019372,-78.35701151419708
+4026,39.53192978578356,-78.20626001637612,39.792756134178916,-77.51185826212063,39.639283499768474,-77.78946919053331
+4027,39.53192978578356,-77.51185826212063,39.66234295998124,-77.16465738499288,39.60925382460059,-77.35590224036129
+4028,39.53192978578356,-77.16465738499288,39.66234295998124,-76.81745650786513,39.59296358538629,-76.95971965003726
+4029,39.66234295998124,-77.51185826212063,39.792756134178916,-77.16465738499288,39.70370953586042,-77.32294563971968
+4030,39.66234295998124,-77.16465738499288,39.792756134178916,-76.81745650786513,39.72811812044084,-76.94067446562444
+4031,39.792756134178916,-78.20626001637612,40.053582482574264,-77.51185826212063,39.91839520072479,-77.81591319652034
+4032,39.792756134178916,-77.51185826212063,40.053582482574264,-76.81745650786513,39.920688372020514,-77.05226252003274
+4033,40.053582482574264,-82.37267054190909,40.31440883096961,-81.6782687876536,40.21425060363466,-82.11864174221895
+4034,40.053582482574264,-81.6782687876536,40.31440883096961,-80.9838670333981,40.1669731930153,-81.3601191710946
+4035,40.31440883096961,-82.37267054190909,40.44482200516729,-82.02546966478134,40.382132071067545,-82.25373146288324
+4036,40.31440883096961,-82.02546966478134,40.44482200516729,-81.6782687876536,40.38071406003552,-81.83094164658127
+4037,40.44482200516729,-82.37267054190909,40.57523517936497,-82.02546966478134,40.508555686509936,-82.26145787258483
+4038,40.44482200516729,-82.02546966478134,40.57523517936497,-81.6782687876536,40.506264615429,-81.82761517449671
+4039,40.31440883096961,-81.6782687876536,40.57523517936497,-80.9838670333981,40.46481306862695,-81.2192601166855
+4040,40.053582482574264,-80.9838670333981,40.31440883096961,-80.2894652791426,40.125765127599,-80.69698400004634
+4041,40.053582482574264,-80.2894652791426,40.31440883096961,-79.59506352488711,40.21604145525261,-79.96007229388105
+4042,40.31440883096961,-80.9838670333981,40.57523517936497,-80.2894652791426,40.44092080859203,-80.75019382726651
+4043,40.31440883096961,-80.2894652791426,40.44482200516729,-79.94226440201486,40.39602162453493,-80.05571840981088
+4044,40.31440883096961,-79.94226440201486,40.44482200516729,-79.59506352488711,40.394318633305645,-79.83077587542721
+4045,40.44482200516729,-80.2894652791426,40.57523517936497,-79.94226440201486,40.503557335867995,-80.09354837876307
+4046,40.44482200516729,-79.94226440201486,40.57523517936497,-79.59506352488711,40.501730901560165,-79.83244026215536
+4047,40.57523517936497,-82.37267054190909,40.70564835356264,-82.02546966478134,40.63566135235521,-82.21821145323041
+4048,40.57523517936497,-82.02546966478134,40.70564835356264,-81.6782687876536,40.638796974311454,-81.83903671303266
+4049,40.70564835356264,-82.37267054190909,40.836061527760315,-82.02546966478134,40.77276796525456,-82.23198027847413
+4050,40.70564835356264,-82.02546966478134,40.836061527760315,-81.6782687876536,40.7663392182823,-81.85033986485057
+4051,40.57523517936497,-81.6782687876536,40.836061527760315,-80.9838670333981,40.7186837895617,-81.4225139177566
+4052,40.836061527760315,-82.37267054190909,40.96647470195799,-82.02546966478134,40.90649078659976,-82.20322073808565
+4053,40.836061527760315,-82.02546966478134,40.96647470195799,-81.6782687876536,40.90760177866375,-81.89185983293572
+4054,40.96647470195799,-82.37267054190909,41.09688787615566,-82.02546966478134,41.028454023246745,-82.18862434321493
+4055,40.96647470195799,-82.02546966478134,41.09688787615566,-81.6782687876536,41.01809547873947,-81.90286214719995
+4056,40.836061527760315,-81.6782687876536,40.96647470195799,-81.33106791052585,40.90331039364651,-81.50195574533939
+4057,40.836061527760315,-81.33106791052585,40.96647470195799,-80.9838670333981,40.88266376981759,-81.12129324178669
+4058,40.96647470195799,-81.6782687876536,41.09688787615566,-81.33106791052585,41.04571368154358,-81.53031860589779
+4059,40.96647470195799,-81.33106791052585,41.09688787615566,-80.9838670333981,41.03716003048711,-81.2116370162601
+4060,40.57523517936497,-80.9838670333981,40.836061527760315,-80.2894652791426,40.73332601064714,-80.63935170581938
+4061,40.57523517936497,-80.2894652791426,40.836061527760315,-79.59506352488711,40.669038599471676,-79.9630989998352
+4062,40.836061527760315,-80.9838670333981,41.09688787615566,-80.2894652791426,40.99964631416136,-80.63885527683647
+4063,40.836061527760315,-80.2894652791426,41.09688787615566,-79.59506352488711,40.960151607988486,-80.0915917453218
+4064,40.053582482574264,-79.59506352488711,40.31440883096961,-78.90066177063161,40.166029333854766,-79.33242569759923
+4065,40.053582482574264,-78.90066177063161,40.31440883096961,-78.20626001637612,40.21616229386235,-78.47148343189639
+4066,40.31440883096961,-79.59506352488711,40.57523517936497,-78.90066177063161,40.424234962440785,-79.35731483130937
+4067,40.31440883096961,-78.90066177063161,40.57523517936497,-78.20626001637612,40.45700546092676,-78.43063807918718
+4068,40.053582482574264,-78.20626001637612,40.31440883096961,-77.51185826212063,40.1282776633136,-77.740685150225
+4069,40.053582482574264,-77.51185826212063,40.31440883096961,-76.81745650786513,40.20596534436328,-76.98817199411629
+4070,40.31440883096961,-78.20626001637612,40.57523517936497,-77.51185826212063,40.497871271349524,-78.05643650027926
+4071,40.31440883096961,-77.51185826212063,40.57523517936497,-76.81745650786513,40.45879192191688,-77.00789990412625
+4072,40.57523517936497,-79.59506352488711,40.836061527760315,-78.90066177063161,40.70295865884079,-79.2091013590193
+4073,40.57523517936497,-78.90066177063161,40.836061527760315,-78.20626001637612,40.66766704785069,-78.32860843529056
+4074,40.836061527760315,-79.59506352488711,41.09688787615566,-78.90066177063161,40.945047466590474,-79.11238267313921
+4075,40.836061527760315,-78.90066177063161,41.09688787615566,-78.20626001637612,41.01149686537631,-78.52740337195654
+4076,40.57523517936497,-78.20626001637612,40.70564835356264,-77.85905913924837,40.63474745226999,-78.12191506967443
+4077,40.57523517936497,-77.85905913924837,40.70564835356264,-77.51185826212063,40.62321526626932,-77.573511569716
+4078,40.70564835356264,-78.20626001637612,40.836061527760315,-77.85905913924837,40.792162393736064,-77.93673495545741
+4079,40.70564835356264,-77.85905913924837,40.836061527760315,-77.51185826212063,40.78895440736442,-77.78952976214426
+4080,40.57523517936497,-77.51185826212063,40.836061527760315,-76.81745650786513,40.664260864884504,-76.9730905578064
+4081,40.836061527760315,-78.20626001637612,41.09688787615566,-77.51185826212063,40.91629667517319,-77.8561262832562
+4082,40.836061527760315,-77.51185826212063,41.09688787615566,-76.81745650786513,41.00840714596954,-77.00883546521064
+4083,36.92366630183007,-76.81745650786513,37.184492650225415,-76.12305475360964,37.04236647711382,-76.43942084319993
+4084,36.92366630183007,-76.12305475360964,37.184492650225415,-75.42865299935414,37.062474104194386,-76.03864782690101
+4085,37.184492650225415,-76.81745650786513,37.44531899862076,-76.12305475360964,37.280724017328964,-76.68317394732851
+4086,37.184492650225415,-76.12305475360964,37.44531899862076,-75.42865299935414,37.29977574448473,-75.95138456127589
+4087,37.44531899862076,-76.81745650786513,37.966971695411466,-75.42865299935414,37.67433544201617,-76.39412357620334
+4088,37.44531899862076,-75.42865299935414,37.966971695411466,-74.03984949084315,37.91902080564775,-75.3640025313399
+4089,37.966971695411466,-76.81745650786513,38.48862439220217,-75.42865299935414,38.285934015544804,-75.8735616709093
+4090,37.966971695411466,-75.42865299935414,38.48862439220217,-74.03984949084315,38.38418402723896,-75.19095249260121
+4091,38.48862439220217,-76.81745650786513,38.74945074059752,-76.12305475360964,38.632741410215324,-76.5890815895503
+4092,38.48862439220217,-76.12305475360964,38.74945074059752,-75.42865299935414,38.64520621570885,-75.73181665341252
+4093,38.74945074059752,-76.81745650786513,39.010277088992865,-76.12305475360964,38.93356912205604,-76.53132386207153
+4094,38.74945074059752,-76.12305475360964,39.010277088992865,-75.42865299935414,38.89351009390567,-75.82577420108962
+4095,38.48862439220217,-75.42865299935414,39.010277088992865,-74.03984949084315,38.67793392882489,-75.17382495564257
+4096,39.010277088992865,-76.81745650786513,39.140690263190535,-76.47025563073738,39.08221872728054,-76.66155773081873
+4097,39.010277088992865,-76.47025563073738,39.140690263190535,-76.12305475360964,39.056127242801914,-76.35380729200025
+4098,39.140690263190535,-76.81745650786513,39.27110343738821,-76.47025563073738,39.216825147308036,-76.67644353348838
+4099,39.140690263190535,-76.47025563073738,39.27110343738821,-76.12305475360964,39.22931908243457,-76.3809380852174
+4100,39.010277088992865,-76.12305475360964,39.27110343738821,-75.42865299935414,39.13459035959291,-75.83299517854823
+4101,39.27110343738821,-76.81745650786513,39.40151661158589,-76.47025563073738,39.33481694482506,-76.61398553318475
+4102,39.27110343738821,-76.47025563073738,39.40151661158589,-76.12305475360964,39.339653146860954,-76.4260111199922
+4103,39.40151661158589,-76.81745650786513,39.53192978578356,-76.47025563073738,39.451003243954865,-76.62617528060876
+4104,39.40151661158589,-76.47025563073738,39.53192978578356,-76.12305475360964,39.480394035734,-76.29639756194442
+4105,39.27110343738821,-76.12305475360964,39.53192978578356,-75.42865299935414,39.41654770877855,-75.80266893871298
+4106,39.010277088992865,-75.42865299935414,39.53192978578356,-74.03984949084315,39.3712949540198,-74.67484906473925
+4107,39.53192978578356,-76.81745650786513,39.66234295998124,-76.47025563073738,39.59464302391676,-76.63706942298225
+4108,39.53192978578356,-76.47025563073738,39.66234295998124,-76.12305475360964,39.581796798151736,-76.29804026716903
+4109,39.66234295998124,-76.81745650786513,39.792756134178916,-76.47025563073738,39.72898716123154,-76.64517410556064
+4110,39.66234295998124,-76.47025563073738,39.792756134178916,-76.12305475360964,39.70394295240107,-76.32131728330776
+4111,39.53192978578356,-76.12305475360964,39.66234295998124,-75.77585387648189,39.58527570592094,-75.98859825843715
+4112,39.53192978578356,-75.77585387648189,39.66234295998124,-75.42865299935414,39.60646007412179,-75.68449702362905
+4113,39.66234295998124,-76.12305475360964,39.792756134178916,-75.77585387648189,39.706341998243296,-75.98027585793007
+4114,39.66234295998124,-75.77585387648189,39.792756134178916,-75.42865299935414,39.72171375174415,-75.60208548192954
+4115,39.792756134178916,-76.81745650786513,39.923169308376586,-76.47025563073738,39.87018681894446,-76.63040074609965
+4116,39.792756134178916,-76.47025563073738,39.923169308376586,-76.12305475360964,39.85141044694961,-76.29524522215847
+4117,39.923169308376586,-76.81745650786513,40.053582482574264,-76.47025563073738,39.974815741191165,-76.68927783413913
+4118,39.923169308376586,-76.47025563073738,40.053582482574264,-76.12305475360964,40.0235251128327,-76.28782043517666
+4119,39.792756134178916,-76.12305475360964,40.053582482574264,-75.42865299935414,39.92938449630494,-75.68368333054984
+4120,39.53192978578356,-75.42865299935414,39.792756134178916,-74.73425124509865,39.73586163076427,-75.12161159170266
+4121,39.53192978578356,-74.73425124509865,39.792756134178916,-74.03984949084315,39.683132676929205,-74.3228518671585
+4122,39.792756134178916,-75.42865299935414,39.923169308376586,-75.0814521222264,39.877350779349726,-75.22123819379354
+4123,39.792756134178916,-75.0814521222264,39.923169308376586,-74.73425124509865,39.86726786368864,-74.95284061884433
+4124,39.923169308376586,-75.42865299935414,40.053582482574264,-75.0814521222264,39.98517968790747,-75.21215038492677
+4125,39.923169308376586,-75.0814521222264,40.053582482574264,-74.73425124509865,39.99626299161757,-74.98650846459958
+4126,39.792756134178916,-74.73425124509865,40.053582482574264,-74.03984949084315,39.96096354052159,-74.24068476174075
+4127,40.053582482574264,-76.81745650786513,40.18399565677194,-76.47025563073738,40.130126630258566,-76.62939751388836
+4128,40.053582482574264,-76.47025563073738,40.18399565677194,-76.12305475360964,40.11517662875585,-76.31333712829921
+4129,40.18399565677194,-76.81745650786513,40.31440883096961,-76.47025563073738,40.247310193301566,-76.66759191501062
+4130,40.18399565677194,-76.47025563073738,40.31440883096961,-76.12305475360964,40.24582789044488,-76.30754746653716
+4131,40.053582482574264,-76.12305475360964,40.31440883096961,-75.42865299935414,40.19276939238664,-75.69089443715778
+4132,40.31440883096961,-76.81745650786513,40.57523517936497,-76.12305475360964,40.39535252864672,-76.51622792322088
+4133,40.31440883096961,-76.12305475360964,40.44482200516729,-75.77585387648189,40.367194897202666,-75.9252824671532
+4134,40.31440883096961,-75.77585387648189,40.44482200516729,-75.42865299935414,40.373975856569,-75.5582178332379
+4135,40.44482200516729,-76.12305475360964,40.57523517936497,-75.77585387648189,40.506913545064585,-75.86832059981998
+4136,40.44482200516729,-75.77585387648189,40.57523517936497,-75.42865299935414,40.51638847630181,-75.62174486276429
+4137,40.053582482574264,-75.42865299935414,40.18399565677194,-75.0814521222264,40.109707135395006,-75.2617878820835
+4138,40.053582482574264,-75.0814521222264,40.18399565677194,-74.73425124509865,40.12473640087833,-74.92018287407527
+4139,40.18399565677194,-75.42865299935414,40.31440883096961,-75.0814521222264,40.25747765957991,-75.27319584901221
+4140,40.18399565677194,-75.0814521222264,40.31440883096961,-74.73425124509865,40.24242933063723,-74.82012452396484
+4141,40.053582482574264,-74.73425124509865,40.31440883096961,-74.03984949084315,40.19033224193044,-74.34483364317609
+4142,40.31440883096961,-75.42865299935414,40.57523517936497,-74.73425124509865,40.41888115070251,-75.14344704044728
+4143,40.31440883096961,-74.73425124509865,40.57523517936497,-74.03984949084315,40.460899915663546,-74.40049820876611
+4144,40.57523517936497,-76.81745650786513,40.836061527760315,-76.12305475360964,40.718749059959514,-76.41917808069786
+4145,40.57523517936497,-76.12305475360964,40.836061527760315,-75.42865299935414,40.66831661108742,-75.61609225891733
+4146,40.836061527760315,-76.81745650786513,41.09688787615566,-76.12305475360964,40.98364009240584,-76.47765291487296
+4147,40.836061527760315,-76.12305475360964,41.09688787615566,-75.42865299935414,40.992769690870354,-75.86062855235126
+4148,40.57523517936497,-75.42865299935414,40.836061527760315,-74.73425124509865,40.67130732138447,-75.21886717135966
+4149,40.57523517936497,-74.73425124509865,40.70564835356264,-74.3870503679709,40.64117077488552,-74.54529132637693
+4150,40.57523517936497,-74.3870503679709,40.70564835356264,-74.03984949084315,40.64644559369614,-74.17443303748476
+4151,40.70564835356264,-74.73425124509865,40.836061527760315,-74.3870503679709,40.77597516971266,-74.48643126234073
+4152,40.70564835356264,-74.3870503679709,40.836061527760315,-74.03984949084315,40.75733330328226,-74.18459494122911
+4153,40.836061527760315,-75.42865299935414,41.09688787615566,-74.73425124509865,40.98702225069036,-75.16875906226805
+4154,40.836061527760315,-74.73425124509865,40.96647470195799,-74.3870503679709,40.88116368629416,-74.5056871330771
+4155,40.836061527760315,-74.3870503679709,40.96647470195799,-74.03984949084315,40.89773662655138,-74.1578491673324
+4156,40.96647470195799,-74.3870503679709,41.09688787615566,-74.03984949084315,41.02758723844407,-74.14463420576831
+4157,40.053582482574264,-74.03984949084315,40.57523517936497,-72.65104598233216,40.345301699600455,-74.00159308124981
+4158,40.57523517936497,-74.03984949084315,40.70564835356264,-73.6926486137154,40.65929024757071,-73.87620527482254
+4159,40.57523517936497,-73.6926486137154,40.70564835356264,-73.34544773658766,40.66583559163196,-73.587765854596
+4160,40.70564835356264,-74.03984949084315,40.836061527760315,-73.6926486137154,40.760127380220425,-73.89934005063374
+4161,40.70564835356264,-73.6926486137154,40.836061527760315,-73.34544773658766,40.77226858482031,-73.53609691263226
+4162,40.57523517936497,-73.34544773658766,40.836061527760315,-72.65104598233216,40.790385353875706,-73.1691325941501
+4163,40.836061527760315,-74.03984949084315,40.96647470195799,-73.6926486137154,40.89648654759965,-73.90774976275792
+4164,40.836061527760315,-73.6926486137154,40.96647470195799,-73.34544773658766,40.868285058623535,-73.56503252755623
+4165,40.96647470195799,-74.03984949084315,41.09688787615566,-73.6926486137154,41.017370983912045,-73.86489578473764
+4166,40.96647470195799,-73.6926486137154,41.09688787615566,-73.34544773658766,41.060155942346746,-73.5601892639103
+4167,40.836061527760315,-73.34544773658766,41.09688787615566,-72.65104598233216,40.90006930440866,-73.01373276923383
+4168,40.57523517936497,-72.65104598233216,41.09688787615566,-71.26224247382119,40.99251469319502,-72.31270350847997
+4169,41.09688787615566,-87.92788457595303,41.35771422455101,-87.23348282169755,41.23068382537857,-87.59372620787484
+4170,41.09688787615566,-87.23348282169755,41.35771422455101,-86.53908106744205,41.32696770375466,-87.02566031137984
+4171,41.35771422455101,-87.92788457595303,41.48812739874869,-87.58068369882528,41.44058542968906,-87.82248867873155
+4172,41.35771422455101,-87.58068369882528,41.48812739874869,-87.23348282169755,41.42988483100817,-87.38131413957744
+4173,41.48812739874869,-87.92788457595303,41.61854057294636,-87.58068369882528,41.57292436969319,-87.7873437436391
+4174,41.48812739874869,-87.58068369882528,41.61854057294636,-87.23348282169755,41.564815207576395,-87.45128247293896
+4175,41.35771422455101,-87.23348282169755,41.61854057294636,-86.53908106744205,41.56500834867613,-87.02595821530379
+4176,41.09688787615566,-86.53908106744205,41.35771422455101,-85.84467931318656,41.241507123258955,-86.18970721254891
+4177,41.09688787615566,-85.84467931318656,41.35771422455101,-85.15027755893107,41.204340728786455,-85.49862236304479
+4178,41.35771422455101,-86.53908106744205,41.61854057294636,-85.84467931318656,41.448707893776856,-86.14454443030334
+4179,41.35771422455101,-85.84467931318656,41.61854057294636,-85.15027755893107,41.48255000279554,-85.444584922916
+4180,41.61854057294636,-87.92788457595303,41.748953747144036,-87.58068369882528,41.68445695944396,-87.77348012073985
+4181,41.61854057294636,-87.58068369882528,41.748953747144036,-87.23348282169755,41.690806898825265,-87.53912935945931
+4182,41.748953747144036,-87.92788457595303,41.87936692134171,-87.58068369882528,41.821539605166606,-87.70874169025056
+4183,41.748953747144036,-87.58068369882528,41.87936692134171,-87.23348282169755,41.77289898502258,-87.57584059551597
+4184,41.61854057294636,-87.23348282169755,41.87936692134171,-86.53908106744205,41.699247105147656,-86.86713690954335
+4185,41.87936692134171,-87.92788457595303,42.009780095539384,-87.58068369882528,41.9447266497284,-87.73269996661325
+4186,42.009780095539384,-87.92788457595303,42.14019326973706,-87.58068369882528,42.05858678443647,-87.76699247232308
+4187,41.87936692134171,-87.23348282169755,42.14019326973706,-86.53908106744205,41.93172081641817,-86.56993024503532
+4188,41.61854057294636,-86.53908106744205,41.87936692134171,-85.84467931318656,41.71978411439141,-86.17181254837867
+4189,41.61854057294636,-85.84467931318656,41.87936692134171,-85.15027755893107,41.71103996416367,-85.54870632174328
+4190,41.87936692134171,-86.53908106744205,42.14019326973706,-85.84467931318656,42.04249772186299,-86.46026526775573
+4191,41.87936692134171,-85.84467931318656,42.14019326973706,-85.15027755893107,41.9716676016076,-85.57837761265722
+4192,41.09688787615566,-85.15027755893107,41.35771422455101,-84.45587580467557,41.26390805352241,-84.82690154010047
+4193,41.09688787615566,-84.45587580467557,41.35771422455101,-83.76147405042008,41.228385877669886,-83.9482615530035
+4194,41.35771422455101,-85.15027755893107,41.61854057294636,-84.45587580467557,41.47207920316382,-84.80437553714474
+4195,41.35771422455101,-84.45587580467557,41.61854057294636,-83.76147405042008,41.453819212449496,-83.99637908013011
+4196,41.09688787615566,-83.76147405042008,41.35771422455101,-83.06707229616458,41.22679122089832,-83.40525201677389
+4197,41.09688787615566,-83.06707229616458,41.22730105035333,-82.71987141903683,41.157125068281225,-82.88384040410483
+4198,41.09688787615566,-82.71987141903683,41.22730105035333,-82.37267054190909,41.15241775156086,-82.53952421605541
+4199,41.22730105035333,-83.06707229616458,41.35771422455101,-82.71987141903683,41.30436924258122,-82.85672352882085
+4200,41.22730105035333,-82.71987141903683,41.35771422455101,-82.37267054190909,41.31121888019342,-82.54853276997868
+4201,41.35771422455101,-83.76147405042008,41.61854057294636,-83.06707229616458,41.50148753490284,-83.4776892471586
+4202,41.35771422455101,-83.06707229616458,41.48812739874869,-82.71987141903683,41.41362545131838,-82.821517015402
+4203,41.35771422455101,-82.71987141903683,41.48812739874869,-82.37267054190909,41.40705914085928,-82.60355614140377
+4204,41.48812739874869,-83.06707229616458,41.61854057294636,-82.71987141903683,41.527499035090365,-82.88829370838586
+4205,41.48812739874869,-82.71987141903683,41.61854057294636,-82.37267054190909,41.59516815576347,-82.69686898277408
+4206,41.61854057294636,-85.15027755893107,42.14019326973706,-83.76147405042008,41.910960863973436,-84.5491252650303
+4207,41.61854057294636,-83.76147405042008,42.14019326973706,-82.37267054190909,41.8415221765954,-83.48958463471473
+4208,42.14019326973706,-87.92788457595303,42.661845966527764,-86.53908106744205,42.34052524791517,-87.87199780501827
+4209,42.14019326973706,-86.53908106744205,42.661845966527764,-85.15027755893107,42.31285705530791,-85.67271632725713
+4210,42.661845966527764,-87.92788457595303,43.18349866331846,-86.53908106744205,43.040632937375975,-87.90502467254034
+4211,42.661845966527764,-86.53908106744205,42.92267231492311,-85.84467931318656,42.82204363304317,-85.96866011014332
+4212,42.661845966527764,-85.84467931318656,42.92267231492311,-85.15027755893107,42.84895519075501,-85.61120932192463
+4213,42.92267231492311,-86.53908106744205,43.18349866331846,-85.84467931318656,43.04681608551079,-86.07244486369024
+4214,42.92267231492311,-85.84467931318656,43.18349866331846,-85.15027755893107,43.02014131350083,-85.55562759730023
+4215,42.14019326973706,-85.15027755893107,42.40101961813241,-84.45587580467557,42.27443279426565,-84.6354635649667
+4216,42.14019326973706,-84.45587580467557,42.40101961813241,-83.76147405042008,42.28750891545036,-84.20492234280886
+4217,42.40101961813241,-85.15027755893107,42.53143279233009,-84.80307668180332,42.47926492734435,-84.9278403429605
+4218,42.40101961813241,-84.80307668180332,42.53143279233009,-84.45587580467557,42.464317948847615,-84.56794671221631
+4219,42.53143279233009,-85.15027755893107,42.661845966527764,-84.80307668180332,42.591127642479194,-84.95809828600582
+4220,42.53143279233009,-84.80307668180332,42.661845966527764,-84.45587580467557,42.60738123918343,-84.58761904029768
+4221,42.40101961813241,-84.45587580467557,42.53143279233009,-84.10867492754782,42.46884011986071,-84.28064238340949
+4222,42.40101961813241,-84.10867492754782,42.53143279233009,-83.76147405042008,42.46113013854801,-83.91084160272345
+4223,42.53143279233009,-84.45587580467557,42.661845966527764,-84.10867492754782,42.5874770782428,-84.32849569527967
+4224,42.53143279233009,-84.10867492754782,42.661845966527764,-83.76147405042008,42.59674317286405,-83.92568748026288
+4225,42.14019326973706,-83.76147405042008,42.27060644393474,-83.41427317329233,42.23024029574958,-83.62553242319174
+4226,42.14019326973706,-83.41427317329233,42.27060644393474,-83.06707229616458,42.21574382781624,-83.27117854330874
+4227,42.27060644393474,-83.76147405042008,42.40101961813241,-83.41427317329233,42.33541357971401,-83.62120297695186
+4228,42.27060644393474,-83.41427317329233,42.40101961813241,-83.06707229616458,42.3464112655269,-83.19906159534156
+4229,42.14019326973706,-83.06707229616458,42.40101961813241,-82.37267054190909,42.33674961012879,-82.96926173234378
+4230,42.40101961813241,-83.76147405042008,42.53143279233009,-83.41427317329233,42.473570885512366,-83.57391204847218
+4231,42.40101961813241,-83.41427317329233,42.53143279233009,-83.06707229616458,42.46559407629071,-83.23708118439765
+4232,42.53143279233009,-83.76147405042008,42.661845966527764,-83.41427317329233,42.59604187785142,-83.59992646327595
+4233,42.53143279233009,-83.41427317329233,42.661845966527764,-83.06707229616458,42.59113873065521,-83.23269759115168
+4234,42.40101961813241,-83.06707229616458,42.53143279233009,-82.71987141903683,42.45566465571801,-82.98761801307738
+4235,42.53143279233009,-83.06707229616458,42.661845966527764,-82.71987141903683,42.587382824030044,-82.95991017564816
+4236,42.53143279233009,-82.71987141903683,42.661845966527764,-82.37267054190909,42.62526135196255,-82.56893570539665
+4237,42.661845966527764,-85.15027755893107,42.792259140725434,-84.80307668180332,42.726716441741104,-84.99739420954961
+4238,42.661845966527764,-84.80307668180332,42.792259140725434,-84.45587580467557,42.7254452028986,-84.58395692642098
+4239,42.792259140725434,-85.15027755893107,42.92267231492311,-84.80307668180332,42.86484897890558,-85.01332500836882
+4240,42.792259140725434,-84.80307668180332,42.92267231492311,-84.45587580467557,42.831749494664095,-84.56941167717493
+4241,42.661845966527764,-84.45587580467557,42.92267231492311,-83.76147405042008,42.780458354359524,-84.10375685447787
+4242,42.92267231492311,-85.15027755893107,43.18349866331846,-84.45587580467557,43.0487018784283,-84.74484010465567
+4243,42.92267231492311,-84.45587580467557,43.05308548912079,-84.10867492754782,42.977201704643136,-84.20099452882395
+4244,42.92267231492311,-84.10867492754782,43.05308548912079,-83.76147405042008,42.979879713387085,-83.89089906759168
+4245,43.05308548912079,-84.45587580467557,43.18349866331846,-84.10867492754782,43.120656094041706,-84.25680700618132
+4246,43.05308548912079,-84.10867492754782,43.18349866331846,-83.76147405042008,43.1273945713991,-83.87684195987214
+4247,42.661845966527764,-83.76147405042008,42.792259140725434,-83.41427317329233,42.73065748195671,-83.5580291278311
+4248,42.661845966527764,-83.41427317329233,42.792259140725434,-83.06707229616458,42.71140764467667,-83.27149314232238
+4249,42.792259140725434,-83.76147405042008,42.92267231492311,-83.41427317329233,42.85501970153705,-83.63677727329278
+4250,42.792259140725434,-83.41427317329233,42.92267231492311,-83.06707229616458,42.84102603568912,-83.2943482726235
+4251,42.661845966527764,-83.06707229616458,42.92267231492311,-82.37267054190909,42.76010958877629,-82.91346016528988
+4252,42.92267231492311,-83.76147405042008,43.05308548912079,-83.41427317329233,42.99104178983265,-83.66347474387285
+4253,42.92267231492311,-83.41427317329233,43.05308548912079,-83.06707229616458,43.01995729886057,-83.22324401558406
+4254,43.05308548912079,-83.76147405042008,43.18349866331846,-83.41427317329233,43.10993890280886,-83.68889929417881
+4255,43.05308548912079,-83.41427317329233,43.18349866331846,-83.06707229616458,43.106389673363616,-83.20124975183029
+4256,42.92267231492311,-83.06707229616458,43.18349866331846,-82.37267054190909,43.039363663286395,-82.69101638842402
+4257,41.09688787615566,-82.37267054190909,41.22730105035333,-82.02546966478134,41.161410454104086,-82.19361295122799
+4258,41.09688787615566,-82.02546966478134,41.22730105035333,-81.6782687876536,41.146254800597546,-81.87732156906539
+4259,41.22730105035333,-82.37267054190909,41.35771422455101,-82.02546966478134,41.29926592441404,-82.18441504086789
+4260,41.22730105035333,-82.02546966478134,41.35771422455101,-81.6782687876536,41.30799334932212,-81.86449075807886
+4261,41.09688787615566,-81.6782687876536,41.22730105035333,-81.33106791052585,41.149242371306386,-81.51648010463711
+4262,41.09688787615566,-81.33106791052585,41.22730105035333,-80.9838670333981,41.138640339867464,-81.19395375244775
+4263,41.22730105035333,-81.6782687876536,41.35771422455101,-81.33106791052585,41.28377213473635,-81.5224675371357
+4264,41.22730105035333,-81.33106791052585,41.35771422455101,-80.9838670333981,41.28855243216182,-81.17148785787757
+4265,41.35771422455101,-82.37267054190909,41.48812739874869,-82.02546966478134,41.415081418220076,-82.17135567064656
+4266,41.35771422455101,-82.02546966478134,41.48812739874869,-81.6782687876536,41.425772081221744,-81.8655400787154
+4267,41.48812739874869,-82.37267054190909,41.61854057294636,-82.02546966478134,41.496073796947485,-82.05785354190236
+4268,41.48812739874869,-82.02546966478134,41.61854057294636,-81.6782687876536,41.49907334726901,-81.89770588549476
+4269,41.35771422455101,-81.6782687876536,41.48812739874869,-81.33106791052585,41.424575342418414,-81.55207122665693
+4270,41.35771422455101,-81.33106791052585,41.48812739874869,-80.9838670333981,41.41889514551319,-81.13430351741872
+4271,41.48812739874869,-81.6782687876536,41.61854057294636,-81.33106791052585,41.52722654991643,-81.56098664008908
+4272,41.48812739874869,-81.33106791052585,41.61854057294636,-80.9838670333981,41.54108251111077,-81.13607839377873
+4273,41.09688787615566,-80.9838670333981,41.35771422455101,-80.2894652791426,41.19535749134927,-80.72847703994337
+4274,41.09688787615566,-80.2894652791426,41.35771422455101,-79.59506352488711,41.21033703464754,-80.02997450296459
+4275,41.35771422455101,-80.9838670333981,41.61854057294636,-80.2894652791426,41.48921205600864,-80.67685401554813
+4276,41.35771422455101,-80.2894652791426,41.61854057294636,-79.59506352488711,41.47357795951445,-79.92182883318114
+4277,41.61854057294636,-82.37267054190909,42.14019326973706,-80.9838670333981,41.71903298267559,-81.21079960989876
+4278,41.61854057294636,-80.9838670333981,42.14019326973706,-79.59506352488711,41.83457632862196,-80.4111087877935
+4279,41.09688787615566,-79.59506352488711,41.35771422455101,-78.90066177063161,41.19368884600554,-79.3209374119309
+4280,41.09688787615566,-78.90066177063161,41.35771422455101,-78.20626001637612,41.184777307855896,-78.60449574277379
+4281,41.35771422455101,-79.59506352488711,41.61854057294636,-78.90066177063161,41.46101550312953,-79.176958623153
+4282,41.35771422455101,-78.90066177063161,41.61854057294636,-78.20626001637612,41.47481657697099,-78.61095335250513
+4283,41.09688787615566,-78.20626001637612,41.61854057294636,-76.81745650786513,41.265917612725985,-77.37192677175094
+4284,41.61854057294636,-79.59506352488711,42.14019326973706,-78.20626001637612,41.98096196954804,-78.72159614673473
+4285,41.61854057294636,-78.20626001637612,41.87936692134171,-77.51185826212063,41.79712340704255,-77.8742686422642
+4286,41.61854057294636,-77.51185826212063,41.87936692134171,-76.81745650786513,41.73425433217095,-77.3008153808198
+4287,41.87936692134171,-78.20626001637612,42.009780095539384,-77.85905913924837,41.96915613914349,-77.98579457263857
+4288,41.87936692134171,-77.85905913924837,42.009780095539384,-77.51185826212063,41.939451042832204,-77.71665413022843
+4289,42.009780095539384,-78.20626001637612,42.14019326973706,-77.85905913924837,42.07939115702942,-77.98474204208308
+4290,42.009780095539384,-77.85905913924837,42.14019326973706,-77.51185826212063,42.058686641854095,-77.68073524491882
+4291,41.87936692134171,-77.51185826212063,42.14019326973706,-76.81745650786513,42.07014264365329,-77.13965677474732
+4292,42.14019326973706,-82.37267054190909,42.661845966527764,-80.9838670333981,42.5232262488168,-81.7205558932267
+4293,42.14019326973706,-80.9838670333981,42.661845966527764,-79.59506352488711,42.42239750323682,-80.25225047721821
+4294,42.661845966527764,-82.37267054190909,43.18349866331846,-80.9838670333981,42.99475130835061,-81.31180824598113
+4295,42.661845966527764,-80.9838670333981,42.92267231492311,-80.2894652791426,42.77102413656596,-80.54305630520668
+4296,42.661845966527764,-80.2894652791426,42.92267231492311,-79.59506352488711,42.83705877197078,-80.1420403037142
+4297,42.92267231492311,-80.9838670333981,43.18349866331846,-80.2894652791426,43.033138759873836,-80.70844139801125
+4298,42.92267231492311,-80.2894652791426,43.18349866331846,-79.59506352488711,43.06231013506101,-79.9888576829345
+4299,42.14019326973706,-79.59506352488711,42.40101961813241,-78.90066177063161,42.244425210244884,-79.32712801768461
+4300,42.14019326973706,-78.90066177063161,42.40101961813241,-78.20626001637612,42.27452823629106,-78.45453839485222
+4301,42.40101961813241,-79.59506352488711,42.661845966527764,-78.90066177063161,42.55164420181441,-79.14118153755896
+4302,42.40101961813241,-78.90066177063161,42.661845966527764,-78.20626001637612,42.513535698223336,-78.53467732250839
+4303,42.14019326973706,-78.20626001637612,42.40101961813241,-77.51185826212063,42.28012362822042,-77.92161305592441
+4304,42.14019326973706,-77.51185826212063,42.40101961813241,-76.81745650786513,42.24559271778245,-77.02399069992018
+4305,42.40101961813241,-78.20626001637612,42.661845966527764,-77.51185826212063,42.596482993154744,-77.89035550118251
+4306,42.40101961813241,-77.51185826212063,42.661845966527764,-76.81745650786513,42.52733173288288,-77.07410529060807
+4307,42.661845966527764,-79.59506352488711,42.92267231492311,-78.90066177063161,42.76220534246988,-78.99685922109258
+4308,42.661845966527764,-78.90066177063161,42.792259140725434,-78.55346089350387,42.75872357082427,-78.73318701028336
+4309,42.661845966527764,-78.55346089350387,42.792259140725434,-78.20626001637612,42.76322925740989,-78.36926892017274
+4310,42.792259140725434,-78.90066177063161,42.92267231492311,-78.55346089350387,42.86370591793701,-78.78291162255454
+4311,42.792259140725434,-78.55346089350387,42.92267231492311,-78.20626001637612,42.84017898772338,-78.42440554547926
+4312,42.92267231492311,-79.59506352488711,43.18349866331846,-78.90066177063161,43.09582487059019,-79.08763515485553
+4313,42.92267231492311,-78.90066177063161,43.18349866331846,-78.20626001637612,42.96760157140304,-78.73278486243258
+4314,42.661845966527764,-78.20626001637612,42.92267231492311,-77.51185826212063,42.77791395771377,-77.85241721012834
+4315,42.661845966527764,-77.51185826212063,42.92267231492311,-76.81745650786513,42.79891199150716,-77.15748319522879
+4316,42.92267231492311,-78.20626001637612,43.18349866331846,-77.51185826212063,43.086944260559704,-77.73659449997433
+4317,42.92267231492311,-77.51185826212063,43.05308548912079,-77.16465738499288,43.00168303346922,-77.36978889999097
+4318,42.92267231492311,-77.16465738499288,43.05308548912079,-76.81745650786513,42.99218031749184,-76.96444965229843
+4319,43.05308548912079,-77.51185826212063,43.18349866331846,-77.16465738499288,43.11294014876003,-77.39219223087899
+4320,43.05308548912079,-77.16465738499288,43.18349866331846,-76.81745650786513,43.10145814215268,-76.97341517438241
+4321,43.18349866331846,-87.92788457595303,43.705151360109156,-86.53908106744205,43.292353465880005,-87.91329028728549
+4322,43.18349866331846,-86.53908106744205,43.44432501171381,-85.84467931318656,43.318654817295275,-86.19899689554319
+4323,43.18349866331846,-85.84467931318656,43.44432501171381,-85.15027755893107,43.318815481045775,-85.5427732137141
+4324,43.44432501171381,-86.53908106744205,43.705151360109156,-85.84467931318656,43.51096930832695,-86.17941541184356
+4325,43.44432501171381,-85.84467931318656,43.705151360109156,-85.15027755893107,43.54793972879196,-85.45170603446574
+4326,43.705151360109156,-87.92788457595303,44.22680405689985,-86.53908106744205,43.763099870436335,-87.79553816120942
+4327,43.705151360109156,-86.53908106744205,44.22680405689985,-85.15027755893107,44.03059089481479,-85.5703163288511
+4328,43.18349866331846,-85.15027755893107,43.44432501171381,-84.45587580467557,43.33952038541463,-84.76747404929732
+4329,43.18349866331846,-84.45587580467557,43.31391183751613,-84.10867492754782,43.24087399713632,-84.17532607894384
+4330,43.18349866331846,-84.10867492754782,43.31391183751613,-83.76147405042008,43.24587809037318,-83.87750399880927
+4331,43.31391183751613,-84.45587580467557,43.44432501171381,-84.10867492754782,43.37929685603288,-84.24634242476466
+4332,43.31391183751613,-84.10867492754782,43.44432501171381,-83.76147405042008,43.37785773894039,-83.93992378120402
+4333,43.44432501171381,-85.15027755893107,43.705151360109156,-84.45587580467557,43.5722133751986,-84.78519099777937
+4334,43.44432501171381,-84.45587580467557,43.705151360109156,-83.76147405042008,43.555616926729,-84.10146901983254
+4335,43.18349866331846,-83.76147405042008,43.44432501171381,-83.06707229616458,43.30893725721792,-83.48095058714703
+4336,43.18349866331846,-83.06707229616458,43.44432501171381,-82.37267054190909,43.35594757625796,-82.7741617989599
+4337,43.44432501171381,-83.76147405042008,43.705151360109156,-83.06707229616458,43.567056894446345,-83.35031884675176
+4338,43.44432501171381,-83.06707229616458,43.705151360109156,-82.37267054190909,43.47642322741121,-83.0197465575095
+4339,43.705151360109156,-85.15027755893107,44.22680405689985,-83.76147405042008,43.96289524660191,-84.73093690461307
+4340,43.705151360109156,-83.76147405042008,44.22680405689985,-82.37267054190909,43.853113932421074,-83.22546900000104
+4341,44.22680405689985,-87.92788457595303,44.74845675369055,-86.53908106744205,44.62559743060553,-87.7432426533784
+4342,44.22680405689985,-86.53908106744205,44.4876304052952,-85.84467931318656,44.29975933688735,-86.20399683643984
+4343,44.22680405689985,-85.84467931318656,44.4876304052952,-85.15027755893107,44.31359316665392,-85.3718901836988
+4344,44.4876304052952,-86.53908106744205,44.74845675369055,-85.84467931318656,44.63251135739857,-86.1768915081436
+4345,44.4876304052952,-85.84467931318656,44.74845675369055,-85.15027755893107,44.6691437248684,-85.50044986680791
+4346,44.74845675369055,-87.92788457595303,45.27010945048125,-86.53908106744205,45.0849088903867,-87.58150467684425
+4347,44.74845675369055,-86.53908106744205,45.0092831020859,-85.84467931318656,44.85878137087874,-85.9892821826585
+4348,44.74845675369055,-85.84467931318656,45.0092831020859,-85.15027755893107,44.86898564361807,-85.50896361588018
+4349,45.0092831020859,-85.84467931318656,45.27010945048125,-85.15027755893107,45.13008358069212,-85.42320097378865
+4350,44.22680405689985,-85.15027755893107,44.74845675369055,-83.76147405042008,44.38405209032398,-84.74679691456507
+4351,44.22680405689985,-83.76147405042008,44.74845675369055,-82.37267054190909,44.266346087609996,-83.5191523606278
+4352,44.74845675369055,-85.15027755893107,45.27010945048125,-83.76147405042008,45.06089757698627,-84.95668612679535
+4353,43.18349866331846,-82.37267054190909,43.44432501171381,-81.6782687876536,43.30969842508186,-81.73619179918323
+4354,43.18349866331846,-81.6782687876536,43.44432501171381,-80.9838670333981,43.331295863457655,-81.21774560779924
+4355,43.44432501171381,-82.37267054190909,43.705151360109156,-81.6782687876536,43.61366044038881,-81.69316922764014
+4356,43.44432501171381,-81.6782687876536,43.705151360109156,-80.9838670333981,43.608520582421065,-81.45787185978224
+4357,43.18349866331846,-80.9838670333981,43.31391183751613,-80.63666615627035,43.280706106706525,-80.88031703109833
+4358,43.18349866331846,-80.63666615627035,43.31391183751613,-80.2894652791426,43.2750918798603,-80.54728280820156
+4359,43.31391183751613,-80.9838670333981,43.44432501171381,-80.63666615627035,43.371612144897014,-80.85956261203508
+4360,43.31391183751613,-80.63666615627035,43.44432501171381,-80.2894652791426,43.40021676498619,-80.46669140626513
+4361,43.18349866331846,-80.2894652791426,43.31391183751613,-79.94226440201486,43.24844306196212,-80.00401205841177
+4362,43.18349866331846,-79.94226440201486,43.31391183751613,-79.59506352488711,43.24983663365947,-79.84308611303838
+4363,43.31391183751613,-80.2894652791426,43.44432501171381,-79.94226440201486,43.404854044941146,-80.14032394267058
+4364,43.31391183751613,-79.94226440201486,43.44432501171381,-79.59506352488711,43.378029810805266,-79.80078447628907
+4365,43.44432501171381,-80.9838670333981,43.574738185911485,-80.63666615627035,43.496034655131275,-80.77847616526316
+4366,43.44432501171381,-80.63666615627035,43.574738185911485,-80.2894652791426,43.49285593811504,-80.45595257092279
+4367,43.574738185911485,-80.9838670333981,43.705151360109156,-80.63666615627035,43.598604418988614,-80.75052311844208
+4368,43.574738185911485,-80.63666615627035,43.705151360109156,-80.2894652791426,43.630372210237,-80.45366685206098
+4369,43.44432501171381,-80.2894652791426,43.574738185911485,-79.94226440201486,43.52413607263502,-80.21847084381943
+4370,43.44432501171381,-79.94226440201486,43.574738185911485,-79.59506352488711,43.517510651795796,-79.71559410970724
+4371,43.574738185911485,-80.2894652791426,43.705151360109156,-79.94226440201486,43.61549766047074,-80.17594981884008
+4372,43.574738185911485,-79.94226440201486,43.705151360109156,-79.59506352488711,43.6359322620093,-79.72248383732007
+4373,43.705151360109156,-82.37267054190909,44.22680405689985,-80.9838670333981,43.759768549529454,-81.55454042297778
+4374,43.705151360109156,-80.9838670333981,43.965977708504504,-80.2894652791426,43.857983302595756,-80.3490588464572
+4375,43.705151360109156,-80.2894652791426,43.835564534306826,-79.94226440201486,43.785777765260406,-80.08438745474884
+4376,43.705151360109156,-79.94226440201486,43.835564534306826,-79.59506352488711,43.762205756420954,-79.75241599623114
+4377,43.835564534306826,-80.2894652791426,43.965977708504504,-79.94226440201486,43.915674077661315,-80.16981574410939
+4378,43.835564534306826,-79.94226440201486,43.965977708504504,-79.59506352488711,43.89025764273999,-79.75117491377725
+4379,43.965977708504504,-80.9838670333981,44.22680405689985,-80.2894652791426,44.01485073413878,-80.36265646827846
+4380,43.965977708504504,-80.2894652791426,44.22680405689985,-79.59506352488711,44.06912440670146,-79.85692150036866
+4381,43.18349866331846,-79.59506352488711,43.44432501171381,-78.90066177063161,43.21376534535692,-79.23297344393134
+4382,43.18349866331846,-78.90066177063161,43.44432501171381,-78.20626001637612,43.239204081733085,-78.51563955267999
+4383,43.44432501171381,-79.59506352488711,43.574738185911485,-79.24786264775936,43.560178410303166,-79.5795865889054
+4384,43.574738185911485,-79.59506352488711,43.705151360109156,-79.24786264775936,43.654123066198224,-79.46388809776607
+4385,43.574738185911485,-79.24786264775936,43.705151360109156,-78.90066177063161,43.700775032154,-79.247161063355
+4386,43.18349866331846,-78.20626001637612,43.705151360109156,-76.81745650786513,43.230468632110366,-77.45974627782124
+4387,43.705151360109156,-79.59506352488711,43.835564534306826,-79.24786264775936,43.76423728409908,-79.39530855688797
+4388,43.705151360109156,-79.24786264775936,43.835564534306826,-78.90066177063161,43.79068759093598,-79.17597227544383
+4389,43.835564534306826,-79.59506352488711,43.965977708504504,-79.24786264775936,43.878460629886405,-79.41163098417749
+4390,43.835564534306826,-79.24786264775936,43.965977708504504,-78.90066177063161,43.883627505027235,-79.07530145748295
+4391,43.705151360109156,-78.90066177063161,43.965977708504504,-78.20626001637612,43.91468724736834,-78.70567076955857
+4392,43.965977708504504,-79.59506352488711,44.22680405689985,-78.90066177063161,44.06945270526279,-79.40773888547338
+4393,43.965977708504504,-78.90066177063161,44.22680405689985,-78.20626001637612,44.04336820871672,-78.70615315919346
+4394,43.705151360109156,-78.20626001637612,44.22680405689985,-76.81745650786513,44.08404073443772,-77.5007422975627
+4395,44.22680405689985,-82.37267054190909,45.27010945048125,-79.59506352488711,44.49334878617433,-79.94724399576442
+4396,44.22680405689985,-79.59506352488711,44.74845675369055,-78.20626001637612,44.435017486640014,-78.89704362462649
+4397,44.22680405689985,-78.20626001637612,44.74845675369055,-76.81745650786513,44.44535073570294,-77.38112455832264
+4398,44.74845675369055,-79.59506352488711,45.27010945048125,-78.20626001637612,44.9873424171364,-79.0302842447839
+4399,44.74845675369055,-78.20626001637612,45.27010945048125,-76.81745650786513,45.0706817652225,-77.01748458579502
+4400,41.09688787615566,-76.81745650786513,41.61854057294636,-75.42865299935414,41.28382652644604,-75.87314386799711
+4401,41.09688787615566,-75.42865299935414,41.61854057294636,-74.03984949084315,41.31896734289522,-74.55867954258501
+4402,41.61854057294636,-76.81745650786513,42.14019326973706,-75.42865299935414,42.02832924438238,-76.50183015966934
+4403,41.61854057294636,-75.42865299935414,41.87936692134171,-74.73425124509865,41.767731879163165,-74.94097469563981
+4404,41.61854057294636,-74.73425124509865,41.87936692134171,-74.03984949084315,41.741107232059385,-74.18955549380816
+4405,41.87936692134171,-75.42865299935414,42.14019326973706,-74.73425124509865,42.02076382041192,-74.95648110640919
+4406,41.87936692134171,-74.73425124509865,42.14019326973706,-74.03984949084315,42.029906720768146,-74.20392611100827
+4407,41.09688787615566,-74.03984949084315,41.22730105035333,-73.6926486137154,41.15406295013079,-73.88588358950352
+4408,41.09688787615566,-73.6926486137154,41.22730105035333,-73.34544773658766,41.15071776609457,-73.45701676714198
+4409,41.22730105035333,-74.03984949084315,41.35771422455101,-73.6926486137154,41.28258188912298,-73.89623924563104
+4410,41.22730105035333,-73.6926486137154,41.35771422455101,-73.34544773658766,41.283266273976594,-73.49560199285307
+4411,41.09688787615566,-73.34544773658766,41.22730105035333,-72.99824685945991,41.185707522884236,-73.19299416368618
+4412,41.22730105035333,-73.34544773658766,41.35771422455101,-72.99824685945991,41.291071277942976,-73.14633841366818
+4413,41.22730105035333,-72.99824685945991,41.35771422455101,-72.65104598233216,41.30637538526973,-72.84851338592941
+4414,41.35771422455101,-74.03984949084315,41.48812739874869,-73.6926486137154,41.41543614252957,-73.88968333617993
+4415,41.35771422455101,-73.6926486137154,41.48812739874869,-73.34544773658766,41.419656280094635,-73.47660320609434
+4416,41.48812739874869,-74.03984949084315,41.61854057294636,-73.6926486137154,41.549376368879905,-73.88417169243971
+4417,41.48812739874869,-73.6926486137154,41.61854057294636,-73.34544773658766,41.554212547717285,-73.45694403264473
+4418,41.35771422455101,-73.34544773658766,41.48812739874869,-72.99824685945991,41.41860366760201,-73.18354899120297
+4419,41.35771422455101,-72.99824685945991,41.48812739874869,-72.65104598233216,41.42585170903067,-72.8424501994705
+4420,41.48812739874869,-73.34544773658766,41.61854057294636,-72.99824685945991,41.553678370493174,-73.13867714314725
+4421,41.48812739874869,-72.99824685945991,41.61854057294636,-72.65104598233216,41.552887153890275,-72.82448592042292
+4422,41.09688787615566,-72.65104598233216,41.35771422455101,-71.95664422807667,41.31498342201844,-72.34348326859568
+4423,41.09688787615566,-71.95664422807667,41.35771422455101,-71.26224247382119,41.34548064538369,-71.90000236733191
+4424,41.35771422455101,-72.65104598233216,41.48812739874869,-72.30384510520442,41.41242348077549,-72.47109389971004
+4425,41.35771422455101,-72.30384510520442,41.48812739874869,-71.95664422807667,41.416325290487464,-72.11170770128582
+4426,41.48812739874869,-72.65104598233216,41.61854057294636,-72.30384510520442,41.55387753713987,-72.48529435429327
+4427,41.48812739874869,-72.30384510520442,41.61854057294636,-71.95664422807667,41.555064819881025,-72.12349022548842
+4428,41.35771422455101,-71.95664422807667,41.48812739874869,-71.60944335094894,41.4265516592258,-71.8682975669618
+4429,41.35771422455101,-71.60944335094894,41.48812739874869,-71.26224247382119,41.45064667663847,-71.46303540773053
+4430,41.48812739874869,-71.95664422807667,41.61854057294636,-71.60944335094894,41.562305005818594,-71.79631363375535
+4431,41.48812739874869,-71.60944335094894,41.61854057294636,-71.26224247382119,41.5691506887216,-71.45680280840848
+4432,41.61854057294636,-74.03984949084315,41.87936692134171,-73.34544773658766,41.737568059456805,-73.68413132504095
+4433,41.61854057294636,-73.34544773658766,41.748953747144036,-72.99824685945991,41.67963161017312,-73.15576854244928
+4434,41.61854057294636,-72.99824685945991,41.748953747144036,-72.65104598233216,41.679909963998625,-72.79077339985567
+4435,41.748953747144036,-73.34544773658766,41.87936692134171,-72.99824685945991,41.81242530741929,-73.14553336026019
+4436,41.748953747144036,-72.99824685945991,41.87936692134171,-72.65104598233216,41.80929594700832,-72.78405901624615
+4437,41.87936692134171,-74.03984949084315,42.14019326973706,-73.34544773658766,42.00983513956156,-73.81279982901319
+4438,41.87936692134171,-73.34544773658766,42.009780095539384,-72.99824685945991,41.94636453555318,-73.12202376202339
+4439,41.87936692134171,-72.99824685945991,42.009780095539384,-72.65104598233216,41.94158849876683,-72.80828936594509
+4440,42.009780095539384,-73.34544773658766,42.14019326973706,-72.99824685945991,42.0316215121291,-73.22660920385574
+4441,42.009780095539384,-72.99824685945991,42.14019326973706,-72.65104598233216,42.07451507305897,-72.75777503926415
+4442,41.61854057294636,-72.65104598233216,41.748953747144036,-72.30384510520442,41.68819607163859,-72.51102004397201
+4443,41.61854057294636,-72.30384510520442,41.748953747144036,-71.95664422807667,41.68802186524859,-72.15275569315772
+4444,41.748953747144036,-72.65104598233216,41.87936692134171,-72.30384510520442,41.80934363255555,-72.50880015616711
+4445,41.748953747144036,-72.30384510520442,41.87936692134171,-71.95664422807667,41.81783678686267,-72.16124902836657
+4446,41.61854057294636,-71.95664422807667,41.748953747144036,-71.60944335094894,41.68519304138629,-71.80115202817771
+4447,41.61854057294636,-71.60944335094894,41.748953747144036,-71.26224247382119,41.673251527980185,-71.48130208444161
+4448,41.748953747144036,-71.95664422807667,41.87936692134171,-71.60944335094894,41.80581456354005,-71.85445621762241
+4449,41.748953747144036,-71.60944335094894,41.87936692134171,-71.26224247382119,41.81354466915832,-71.43260016764926
+4450,41.87936692134171,-72.65104598233216,42.009780095539384,-72.30384510520442,41.95229447649418,-72.50072627011099
+4451,41.87936692134171,-72.30384510520442,42.009780095539384,-71.95664422807667,41.945331680917704,-72.13556578083401
+4452,42.009780095539384,-72.65104598233216,42.14019326973706,-72.30384510520442,42.06891532585837,-72.5539240219885
+4453,42.009780095539384,-72.30384510520442,42.14019326973706,-71.95664422807667,42.0880566356118,-72.09284737174005
+4454,41.87936692134171,-71.95664422807667,42.009780095539384,-71.60944335094894,41.94731277157856,-71.83962815659724
+4455,41.87936692134171,-71.60944335094894,42.009780095539384,-71.26224247382119,41.94213631583755,-71.41243309543502
+4456,42.009780095539384,-71.95664422807667,42.14019326973706,-71.60944335094894,42.08139531656601,-71.75329883942634
+4457,42.009780095539384,-71.60944335094894,42.14019326973706,-71.26224247382119,42.078972645002224,-71.4385745250082
+4458,42.14019326973706,-76.81745650786513,42.661845966527764,-75.42865299935414,42.43266925275148,-76.32738748894464
+4459,42.14019326973706,-75.42865299935414,42.661845966527764,-74.03984949084315,42.3623878155445,-74.76524757705631
+4460,42.661845966527764,-76.81745650786513,42.92267231492311,-76.12305475360964,42.795888057479736,-76.41738741309368
+4461,42.661845966527764,-76.12305475360964,42.92267231492311,-75.42865299935414,42.812399615756796,-76.01950059979411
+4462,42.92267231492311,-76.81745650786513,43.05308548912079,-76.47025563073738,42.97495726919084,-76.62685334502811
+4463,42.92267231492311,-76.47025563073738,43.05308548912079,-76.12305475360964,42.99522033604505,-76.31294306898167
+4464,43.05308548912079,-76.81745650786513,43.18349866331846,-76.47025563073738,43.068644411343705,-76.60321722442482
+4465,43.05308548912079,-76.47025563073738,43.18349866331846,-76.12305475360964,43.108053317128366,-76.20727829943964
+4466,42.92267231492311,-76.12305475360964,43.18349866331846,-75.42865299935414,43.06910570362357,-75.94953250091314
+4467,42.661845966527764,-75.42865299935414,42.92267231492311,-74.73425124509865,42.834938126418514,-75.14163987635622
+4468,42.661845966527764,-74.73425124509865,42.92267231492311,-74.03984949084315,42.80670826462966,-74.29861374094548
+4469,42.92267231492311,-75.42865299935414,43.18349866331846,-74.73425124509865,43.03678373628939,-75.07076425453538
+4470,42.92267231492311,-74.73425124509865,43.18349866331846,-74.03984949084315,42.98378397301881,-74.43279712809164
+4471,42.14019326973706,-74.03984949084315,42.40101961813241,-73.34544773658766,42.285691855546915,-73.67976084638849
+4472,42.14019326973706,-73.34544773658766,42.27060644393474,-72.99824685945991,42.224131135536,-73.1207120801406
+4473,42.14019326973706,-72.99824685945991,42.27060644393474,-72.65104598233216,42.20990116829466,-72.77521199837777
+4474,42.27060644393474,-73.34544773658766,42.40101961813241,-72.99824685945991,42.326051647667214,-73.20656450616917
+4475,42.27060644393474,-72.99824685945991,42.40101961813241,-72.65104598233216,42.32628912765285,-72.79064019523132
+4476,42.40101961813241,-74.03984949084315,42.53143279233009,-73.6926486137154,42.4772894860761,-73.82328442184993
+4477,42.40101961813241,-73.6926486137154,42.53143279233009,-73.34544773658766,42.47594870665285,-73.55696627193466
+4478,42.53143279233009,-74.03984949084315,42.661845966527764,-73.6926486137154,42.6168465675053,-73.82181546996458
+4479,42.53143279233009,-73.6926486137154,42.661845966527764,-73.34544773658766,42.59600364019647,-73.55832720322424
+4480,42.40101961813241,-73.34544773658766,42.53143279233009,-72.99824685945991,42.453719006345985,-73.20329687637455
+4481,42.40101961813241,-72.99824685945991,42.53143279233009,-72.65104598233216,42.46701243869694,-72.8612939228152
+4482,42.53143279233009,-73.34544773658766,42.661845966527764,-72.99824685945991,42.59042531126807,-73.17183025891644
+4483,42.53143279233009,-72.99824685945991,42.661845966527764,-72.65104598233216,42.60385007327663,-72.78190003241471
+4484,42.14019326973706,-72.65104598233216,42.40101961813241,-71.95664422807667,42.23572516252092,-72.47876552491266
+4485,42.14019326973706,-71.95664422807667,42.27060644393474,-71.60944335094894,42.20631767796393,-71.76088580462041
+4486,42.14019326973706,-71.60944335094894,42.27060644393474,-71.26224247382119,42.18952993868659,-71.43814179409456
+4487,42.27060644393474,-71.95664422807667,42.40101961813241,-71.60944335094894,42.30734919328684,-71.75591762045735
+4488,42.27060644393474,-71.60944335094894,42.40101961813241,-71.26224247382119,42.33028161204092,-71.42458789378567
+4489,42.40101961813241,-72.65104598233216,42.661845966527764,-71.95664422807667,42.53662127571524,-72.45624792095614
+4490,42.40101961813241,-71.95664422807667,42.53143279233009,-71.60944335094894,42.4702690925972,-71.71867389482664
+4491,42.40101961813241,-71.60944335094894,42.53143279233009,-71.26224247382119,42.47918742287492,-71.38822925373655
+4492,42.53143279233009,-71.95664422807667,42.661845966527764,-71.60944335094894,42.554221149229036,-71.85968512415474
+4493,42.53143279233009,-71.60944335094894,42.661845966527764,-71.26224247382119,42.602693950860974,-71.34333773611633
+4494,42.661845966527764,-74.03984949084315,42.792259140725434,-73.6926486137154,42.72162968993782,-73.85197811125782
+4495,42.661845966527764,-73.6926486137154,42.792259140725434,-73.34544773658766,42.72635834770379,-73.57863175854517
+4496,42.792259140725434,-74.03984949084315,42.92267231492311,-73.6926486137154,42.85454212507223,-73.82768114804854
+4497,42.792259140725434,-73.6926486137154,42.92267231492311,-73.34544773658766,42.8574154327488,-73.52687421778985
+4498,42.661845966527764,-73.34544773658766,42.92267231492311,-72.65104598233216,42.809210152886465,-73.00877858694753
+4499,42.92267231492311,-74.03984949084315,43.18349866331846,-73.34544773658766,43.01621356615748,-73.6957438143542
+4500,42.92267231492311,-73.34544773658766,43.18349866331846,-72.65104598233216,43.056945022563205,-72.97504798560857
+4501,42.661845966527764,-72.65104598233216,42.92267231492311,-71.95664422807667,42.834448905454856,-72.42145526551955
+4502,42.661845966527764,-71.95664422807667,42.92267231492311,-71.26224247382119,42.81055834117402,-71.54180930766071
+4503,42.92267231492311,-72.65104598233216,43.18349866331846,-71.95664422807667,43.04676563694187,-72.38618451829426
+4504,42.92267231492311,-71.95664422807667,43.18349866331846,-71.26224247382119,43.01439885567809,-71.55618373569754
+4505,41.09688787615566,-71.26224247382119,41.61854057294636,-69.87343896531021,41.53504746109405,-70.70151655446531
+4506,41.61854057294636,-71.26224247382119,41.87936692134171,-70.56784071956571,41.730698729149445,-70.81888127023741
+4507,41.61854057294636,-70.56784071956571,41.87936692134171,-69.87343896531021,41.744898245307155,-70.31058001635498
+4508,41.87936692134171,-71.26224247382119,42.009780095539384,-70.91504159669344,41.95587633525137,-71.10872438542248
+4509,41.87936692134171,-70.91504159669344,42.009780095539384,-70.56784071956571,41.95078553269794,-70.68773809861118
+4510,42.009780095539384,-71.26224247382119,42.14019326973706,-70.91504159669344,42.066976320322624,-71.11483840352335
+4511,42.009780095539384,-70.91504159669344,42.14019326973706,-70.56784071956571,42.07025081463409,-70.76384220507438
+4512,41.87936692134171,-70.56784071956571,42.14019326973706,-69.87343896531021,42.00935312737867,-70.11027632804772
+4513,42.14019326973706,-71.26224247382119,42.27060644393474,-70.91504159669344,42.21467563530926,-71.14268467701459
+4514,42.14019326973706,-70.91504159669344,42.27060644393474,-70.56784071956571,42.18088324629604,-70.86112898244973
+4515,42.27060644393474,-71.26224247382119,42.40101961813241,-70.91504159669344,42.34069489022496,-71.12227892354436
+4516,42.27060644393474,-70.91504159669344,42.40101961813241,-70.56784071956571,42.275324228486504,-70.87058632562437
+4517,42.40101961813241,-71.26224247382119,42.53143279233009,-70.91504159669344,42.461966646003084,-71.11429780748989
+4518,42.40101961813241,-70.91504159669344,42.53143279233009,-70.56784071956571,42.5095300732957,-70.90040970207924
+4519,42.53143279233009,-71.26224247382119,42.661845966527764,-70.91504159669344,42.6012732920037,-71.08938409344374
+4520,42.53143279233009,-70.91504159669344,42.661845966527764,-70.56784071956571,42.608372481581625,-70.71825008709824
+4521,42.661845966527764,-71.26224247382119,42.792259140725434,-70.91504159669344,42.72302862095373,-71.14009100640975
+4522,42.661845966527764,-70.91504159669344,42.792259140725434,-70.56784071956571,42.71338656487403,-70.73552693121765
+4523,42.792259140725434,-71.26224247382119,42.92267231492311,-70.91504159669344,42.85302121075031,-71.0695923640206
+4524,42.792259140725434,-70.91504159669344,42.92267231492311,-70.56784071956571,42.856360317004565,-70.87494493805877
+4525,42.92267231492311,-71.26224247382119,43.05308548912079,-70.91504159669344,43.00283158711256,-71.02664456675971
+4526,42.92267231492311,-70.91504159669344,43.05308548912079,-70.56784071956571,42.99090584749368,-70.86213554436628
+4527,43.05308548912079,-71.26224247382119,43.18349866331846,-70.91504159669344,43.14133262785894,-71.0145796126373
+4528,43.05308548912079,-70.91504159669344,43.18349866331846,-70.56784071956571,43.12714637239508,-70.75382987090059
+4529,43.18349866331846,-76.81745650786513,44.22680405689985,-74.03984949084315,43.71963139150287,-75.6324496296198
+4530,43.18349866331846,-74.03984949084315,43.44432501171381,-73.34544773658766,43.28944368179984,-73.61255404656117
+4531,43.18349866331846,-73.34544773658766,43.44432501171381,-72.65104598233216,43.312416405842676,-72.95423756934477
+4532,43.44432501171381,-74.03984949084315,43.705151360109156,-73.34544773658766,43.58829656322611,-73.72617559194855
+4533,43.44432501171381,-73.34544773658766,43.574738185911485,-72.99824685945991,43.4983272584874,-73.1657758198933
+4534,43.44432501171381,-72.99824685945991,43.574738185911485,-72.65104598233216,43.505676312005406,-72.87179264241652
+4535,43.574738185911485,-73.34544773658766,43.705151360109156,-72.99824685945991,43.63058061281497,-73.14337040698352
+4536,43.574738185911485,-72.99824685945991,43.705151360109156,-72.65104598233216,43.63344447432665,-72.90382487608828
+4537,43.18349866331846,-72.65104598233216,43.44432501171381,-71.95664422807667,43.3410425041915,-72.33398945628224
+4538,43.18349866331846,-71.95664422807667,43.44432501171381,-71.26224247382119,43.263167432056754,-71.58206970116005
+4539,43.44432501171381,-72.65104598233216,43.705151360109156,-71.95664422807667,43.58627987958027,-72.32988576631769
+4540,43.44432501171381,-71.95664422807667,43.705151360109156,-71.26224247382119,43.58175858279704,-71.50149050474171
+4541,43.705151360109156,-74.03984949084315,43.965977708504504,-73.34544773658766,43.84508720510599,-73.62273649692231
+4542,43.705151360109156,-73.34544773658766,43.835564534306826,-72.99824685945991,43.77456479603832,-73.15386845660005
+4543,43.705151360109156,-72.99824685945991,43.835564534306826,-72.65104598233216,43.76180285859311,-72.816130910616
+4544,43.835564534306826,-73.34544773658766,43.965977708504504,-72.99824685945991,43.89462355519468,-73.15724120068887
+4545,43.835564534306826,-72.99824685945991,43.965977708504504,-72.65104598233216,43.89824537175302,-72.81820756923884
+4546,43.965977708504504,-74.03984949084315,44.22680405689985,-73.34544773658766,44.06799181669632,-73.51279045406716
+4547,43.965977708504504,-73.34544773658766,44.09639088270218,-72.99824685945991,44.031701425707205,-73.16612770164326
+4548,43.965977708504504,-72.99824685945991,44.09639088270218,-72.65104598233216,44.04182202049888,-72.82533629811354
+4549,44.09639088270218,-73.34544773658766,44.22680405689985,-72.99824685945991,44.15062651465124,-73.15956367112845
+4550,44.09639088270218,-72.99824685945991,44.22680405689985,-72.65104598233216,44.15228012846925,-72.83109492704074
+4551,43.705151360109156,-72.65104598233216,43.965977708504504,-71.95664422807667,43.837222994257075,-72.38218690913914
+4552,43.705151360109156,-71.95664422807667,43.965977708504504,-71.26224247382119,43.79125735286492,-71.61706670233556
+4553,43.965977708504504,-72.65104598233216,44.09639088270218,-72.30384510520442,44.019115571485756,-72.53970004716267
+4554,43.965977708504504,-72.30384510520442,44.09639088270218,-71.95664422807667,44.033473693576546,-72.12195993030227
+4555,44.09639088270218,-72.65104598233216,44.22680405689985,-72.30384510520442,44.169605632210136,-72.51110009714724
+4556,44.09639088270218,-72.30384510520442,44.22680405689985,-71.95664422807667,44.165304584810144,-72.11288669148196
+4557,43.965977708504504,-71.95664422807667,44.22680405689985,-71.26224247382119,44.07769496695857,-71.53664748308273
+4558,44.22680405689985,-76.81745650786513,44.4876304052952,-76.12305475360964,44.32918881544319,-76.50410939908923
+4559,44.22680405689985,-76.12305475360964,44.4876304052952,-75.42865299935414,44.409900226732944,-75.97728957499172
+4560,44.4876304052952,-76.81745650786513,44.74845675369055,-76.12305475360964,44.64398580916349,-76.47469117254383
+4561,44.4876304052952,-76.12305475360964,44.74845675369055,-75.42865299935414,44.63046233845841,-75.68004438964074
+4562,44.22680405689985,-75.42865299935414,44.74845675369055,-74.03984949084315,44.59912115253753,-75.0892027249558
+4563,44.74845675369055,-76.81745650786513,45.0092831020859,-76.12305475360964,44.87163112049025,-76.43752538434636
+4564,44.74845675369055,-76.12305475360964,45.0092831020859,-75.42865299935414,44.90529757197154,-75.82448774364427
+4565,45.0092831020859,-76.81745650786513,45.27010945048125,-76.12305475360964,45.127940021423825,-76.46303048137955
+4566,45.0092831020859,-76.12305475360964,45.13969627628357,-75.77585387648189,45.069602554032684,-75.9897916366663
+4567,45.0092831020859,-75.77585387648189,45.13969627628357,-75.42865299935414,45.07665754167829,-75.66054572738354
+4568,45.13969627628357,-76.12305475360964,45.27010945048125,-75.77585387648189,45.21256841097496,-75.904436264993
+4569,45.13969627628357,-75.77585387648189,45.27010945048125,-75.42865299935414,45.22041184988637,-75.65921843996216
+4570,44.74845675369055,-75.42865299935414,45.27010945048125,-74.03984949084315,44.9785044162198,-74.9716241795914
+4571,44.22680405689985,-74.03984949084315,44.4876304052952,-73.34544773658766,44.399442634949615,-73.60951170752998
+4572,44.22680405689985,-73.34544773658766,44.35721723109752,-72.99824685945991,44.29317378328646,-73.14271832474326
+4573,44.22680405689985,-72.99824685945991,44.35721723109752,-72.65104598233216,44.30158945963179,-72.76405768752875
+4574,44.35721723109752,-73.34544773658766,44.4876304052952,-72.99824685945991,44.43169777466453,-73.14594240638485
+4575,44.35721723109752,-72.99824685945991,44.4876304052952,-72.65104598233216,44.40757238535738,-72.85345481522666
+4576,44.4876304052952,-74.03984949084315,44.74845675369055,-73.34544773658766,44.60811402237826,-73.53546707187978
+4577,44.4876304052952,-73.34544773658766,44.61804357949288,-72.99824685945991,44.534933112321816,-73.14246118366646
+4578,44.4876304052952,-72.99824685945991,44.61804357949288,-72.65104598233216,44.54961187544845,-72.85885975722532
+4579,44.61804357949288,-73.34544773658766,44.74845675369055,-72.99824685945991,44.67625785379181,-73.15584289810019
+4580,44.61804357949288,-72.99824685945991,44.74845675369055,-72.65104598233216,44.66859475414371,-72.81169374776537
+4581,44.22680405689985,-72.65104598233216,44.4876304052952,-71.95664422807667,44.34479085393685,-72.28797467447203
+4582,44.22680405689985,-71.95664422807667,44.4876304052952,-71.26224247382119,44.34765603926976,-71.71105989647718
+4583,44.4876304052952,-72.65104598233216,44.74845675369055,-71.95664422807667,44.6102732683783,-72.27922496098522
+4584,44.4876304052952,-71.95664422807667,44.74845675369055,-71.26224247382119,44.6025790946901,-71.7347827180013
+4585,44.74845675369055,-74.03984949084315,45.0092831020859,-73.34544773658766,44.87128709805197,-73.44605339549385
+4586,44.74845675369055,-73.34544773658766,44.878869927888225,-72.99824685945991,44.814989544426595,-73.11260354164948
+4587,44.74845675369055,-72.99824685945991,44.878869927888225,-72.65104598233216,44.79795687958049,-72.83197399082354
+4588,44.878869927888225,-73.34544773658766,45.0092831020859,-72.99824685945991,44.94195628037869,-73.15486797050208
+4589,44.878869927888225,-72.99824685945991,45.0092831020859,-72.65104598233216,44.94848054117057,-72.81358410156913
+4590,45.0092831020859,-74.03984949084315,45.27010945048125,-73.34544773658766,45.1547882533037,-73.45528996656114
+4591,45.0092831020859,-73.34544773658766,45.27010945048125,-72.65104598233216,45.179148090537154,-72.81190759175908
+4592,44.74845675369055,-72.65104598233216,45.0092831020859,-71.95664422807667,44.887009481487034,-72.29787115637144
+4593,44.74845675369055,-71.95664422807667,45.0092831020859,-71.26224247382119,44.90606742658279,-71.70182578941449
+4594,45.0092831020859,-72.65104598233216,45.27010945048125,-71.95664422807667,45.13442999932716,-72.14992145445261
+4595,45.0092831020859,-71.95664422807667,45.27010945048125,-71.26224247382119,45.010451824461924,-71.56371744345144
+4596,43.18349866331846,-71.26224247382119,43.44432501171381,-70.56784071956571,43.30641584920164,-70.8374255283203
+4597,43.18349866331846,-70.56784071956571,43.44432501171381,-69.87343896531021,43.3989016095195,-70.4907678484015
+4598,43.44432501171381,-71.26224247382119,43.705151360109156,-70.56784071956571,43.54867645787351,-70.87556956384539
+4599,43.44432501171381,-70.56784071956571,43.574738185911485,-70.22063984243796,43.51342915279838,-70.45022593673616
+4600,43.574738185911485,-70.56784071956571,43.705151360109156,-70.22063984243796,43.647263843111766,-70.34231026092064
+4601,43.705151360109156,-71.26224247382119,43.965977708504504,-70.56784071956571,43.81838070830585,-70.92192348299997
+4602,43.705151360109156,-70.56784071956571,43.835564534306826,-70.22063984243796,43.75848008641818,-70.34542518745988
+4603,43.705151360109156,-70.22063984243796,43.835564534306826,-69.87343896531021,43.79571930412862,-70.1083732156986
+4604,43.835564534306826,-70.56784071956571,43.965977708504504,-70.22063984243796,43.90655807313489,-70.36909009405814
+4605,43.835564534306826,-70.22063984243796,43.965977708504504,-69.87343896531021,43.910851079843745,-70.01779109442735
+4606,43.965977708504504,-71.26224247382119,44.22680405689985,-70.56784071956571,44.056033332101805,-70.93487532183492
+4607,43.965977708504504,-70.56784071956571,44.09639088270218,-70.22063984243796,44.035291846625036,-70.37178806180964
+4608,43.965977708504504,-70.22063984243796,44.09639088270218,-69.87343896531021,44.031525963876675,-70.05424710371383
+4609,44.09639088270218,-70.56784071956571,44.22680405689985,-70.22063984243796,44.15022397717758,-70.36371289425773
+4610,44.09639088270218,-70.22063984243796,44.22680405689985,-69.87343896531021,44.14397503024397,-70.05408330225245
+4611,43.705151360109156,-69.87343896531021,43.965977708504504,-69.17903721105472,43.91597345756012,-69.75054706086223
+4612,43.965977708504504,-69.87343896531021,44.22680405689985,-69.17903721105472,44.13258877133156,-69.56612190140024
+4613,43.965977708504504,-69.17903721105472,44.22680405689985,-68.48463545679923,44.15185065922541,-69.1096611961007
+4614,44.22680405689985,-71.26224247382119,44.4876304052952,-70.56784071956571,44.37624824031194,-70.89283469155596
+4615,44.22680405689985,-70.56784071956571,44.4876304052952,-69.87343896531021,44.344605055727754,-70.17412212923689
+4616,44.4876304052952,-71.26224247382119,44.74845675369055,-70.56784071956571,44.544577065206965,-70.68834002385424
+4617,44.4876304052952,-70.56784071956571,44.74845675369055,-69.87343896531021,44.573229431984004,-70.21309032093592
+4618,44.22680405689985,-69.87343896531021,44.4876304052952,-69.17903721105472,44.32442016996879,-69.63421899145165
+4619,44.22680405689985,-69.17903721105472,44.35721723109752,-68.83183633392697,44.301452102382925,-69.05135747687986
+4620,44.22680405689985,-68.83183633392697,44.35721723109752,-68.48463545679923,44.324604544946396,-68.63045910537791
+4621,44.35721723109752,-69.17903721105472,44.4876304052952,-68.83183633392697,44.40871834702262,-69.01440226051463
+4622,44.35721723109752,-68.83183633392697,44.4876304052952,-68.48463545679923,44.42473846468798,-68.65919770836688
+4623,44.4876304052952,-69.87343896531021,44.74845675369055,-69.17903721105472,44.60763229042023,-69.59728509392431
+4624,44.4876304052952,-69.17903721105472,44.61804357949288,-68.83183633392697,44.55612818082855,-68.88596410057986
+4625,44.4876304052952,-68.83183633392697,44.61804357949288,-68.48463545679923,44.547929685040764,-68.67988271218593
+4626,44.61804357949288,-69.17903721105472,44.74845675369055,-68.83183633392697,44.692083471952756,-68.88052150673855
+4627,44.61804357949288,-68.83183633392697,44.74845675369055,-68.48463545679923,44.68702231493721,-68.69390977161265
+4628,44.74845675369055,-71.26224247382119,45.27010945048125,-69.87343896531021,44.7958401005075,-69.8842094214988
+4629,44.74845675369055,-69.87343896531021,45.0092831020859,-69.17903721105472,44.84958496660962,-69.482798060684
+4630,44.74845675369055,-69.17903721105472,44.878869927888225,-68.83183633392697,44.7905849089671,-68.94754269800886
+4631,44.74845675369055,-68.83183633392697,44.878869927888225,-68.48463545679923,44.80099578809899,-68.73316982297679
+4632,44.878869927888225,-69.17903721105472,45.0092831020859,-68.83183633392697,44.96459614561316,-69.00276433046379
+4633,44.878869927888225,-68.83183633392697,45.0092831020859,-68.48463545679923,44.933140314221156,-68.71435578666858
+4634,45.0092831020859,-69.87343896531021,45.27010945048125,-69.17903721105472,45.118515997645595,-69.26474228345755
+4635,45.0092831020859,-69.17903721105472,45.27010945048125,-68.48463545679923,45.186406793702375,-68.78636667951557
+4636,44.22680405689985,-68.48463545679923,44.4876304052952,-67.79023370254373,44.40007286382089,-68.23248737256348
+4637,44.4876304052952,-68.48463545679923,44.74845675369055,-67.79023370254373,44.56983320866981,-68.35155941520051
+4638,44.4876304052952,-67.79023370254373,44.74845675369055,-67.09583194828824,44.65971797019367,-67.43755963233531
+4639,44.74845675369055,-68.48463545679923,45.27010945048125,-67.09583194828824,44.95491053512405,-67.64044379874198
+4640,44.74845675369055,-67.09583194828824,45.27010945048125,-65.70702843977725,44.90854732546229,-67.01936947095197
+4641,43.18349866331846,-65.70702843977725,44.22680405689985,-62.92942142275527,43.82826178907114,-64.83939967730403
+4642,44.22680405689985,-65.70702843977725,45.27010945048125,-62.92942142275527,44.77340910371919,-63.63071914879885
+4643,44.22680405689985,-62.92942142275527,45.27010945048125,-60.1518144057333,44.95284000885683,-62.35095457952189
+4644,28.577223153178878,-21.26531616742567,30.663833940341675,-15.710102133381724,28.658224696494376,-17.900027145499227
+4645,28.577223153178878,-15.710102133381724,30.663833940341675,-10.154888099337777,28.99953384645972,-13.651663391222858
+4646,32.22879203071378,-18.487709150403695,32.75044472750447,-17.09890564189271,32.721574735564595,-17.148235052801663
+4647,32.6200315533068,-17.09890564189271,32.75044472750447,-16.751704764764966,32.6839955430786,-16.92628086849812
+4648,32.6200315533068,-16.751704764764966,32.75044472750447,-16.40450388763722,32.741838424079425,-16.731848326535626
+4649,28.577223153178878,-10.154888099337777,29.620528546760276,-7.377281082315804,29.332355632146648,-8.186088944325832
+4650,29.620528546760276,-10.154888099337777,30.142181243550976,-8.76608459082679,29.715826512439,-8.9867999250735
+4651,30.142181243550976,-10.154888099337777,30.403007591946327,-9.460486345082284,30.35789260511401,-9.521716879034157
+4652,30.142181243550976,-9.460486345082284,30.403007591946327,-8.76608459082679,30.398294054219,-9.45054280776745
+4653,30.403007591946327,-10.154888099337777,30.663833940341675,-9.460486345082284,30.43227202134053,-9.583502015066896
+4654,30.403007591946327,-9.460486345082284,30.663833940341675,-8.76608459082679,30.49409257632037,-9.358637870498299
+4655,30.142181243550976,-8.76608459082679,30.663833940341675,-7.377281082315804,30.554943261037245,-7.591709723926527
+4656,30.663833940341675,-10.154888099337777,31.185486637132374,-8.76608459082679,30.879315923791914,-9.295234501365934
+4657,30.663833940341675,-8.76608459082679,31.185486637132374,-7.377281082315804,31.062075697121625,-8.033532764102073
+4658,31.185486637132374,-10.154888099337777,31.707139333923074,-8.76608459082679,31.434232942732812,-9.179190230534463
+4659,31.185486637132374,-8.76608459082679,31.446312985527726,-8.071682836571297,31.39868553842467,-8.751936946704701
+4660,31.185486637132374,-8.071682836571297,31.446312985527726,-7.377281082315804,31.30745525299914,-7.651745332392433
+4661,31.446312985527726,-8.76608459082679,31.707139333923074,-8.071682836571297,31.63850735117309,-8.153953990952076
+4662,31.446312985527726,-8.071682836571297,31.5767261597254,-7.72448195944355,31.56385604059902,-7.998899405657053
+4663,31.446312985527726,-7.72448195944355,31.5767261597254,-7.377281082315804,31.551377937150402,-7.605110514361454
+4664,31.5767261597254,-8.071682836571297,31.707139333923074,-7.72448195944355,31.63975019224142,-8.013636420623179
+4665,30.663833940341675,-7.377281082315804,31.707139333923074,-4.59967406529383,31.475172601106273,-5.187146889958141
+4666,31.707139333923074,-10.154888099337777,32.75044472750447,-7.377281082315804,32.143425061281576,-8.341862534793442
+4667,31.707139333923074,-7.377281082315804,32.75044472750447,-4.59967406529383,32.389921675638554,-4.78851869781476
+4668,30.663833940341675,-4.59967406529383,32.75044472750447,0.9555399687501165,31.96523399886295,-4.458786133450739
+4669,32.75044472750447,-18.487709150403695,33.27209742429517,-17.09890564189271,32.80256093183675,-17.180200055934268
+4670,32.75044472750447,-17.09890564189271,33.01127107589982,-16.40450388763722,32.788200007973806,-16.94714970981879
+4671,33.01127107589982,-16.40450388763722,33.27209742429517,-15.710102133381724,33.06186700101232,-16.340274765685322
+4672,32.75044472750447,-8.76608459082679,33.27209742429517,-7.377281082315804,33.15371159241766,-7.90891596329559
+4673,33.27209742429517,-8.071682836571297,33.402510598492846,-7.72448195944355,33.369055060873805,-7.903469567422741
+4674,33.27209742429517,-7.72448195944355,33.402510598492846,-7.377281082315804,33.355092734750265,-7.57094240496574
+4675,33.402510598492846,-8.071682836571297,33.53292377269052,-7.72448195944355,33.49413280599192,-7.799952537645895
+4676,33.402510598492846,-7.72448195944355,33.53292377269052,-7.377281082315804,33.48945365773535,-7.60666149669751
+4677,33.53292377269052,-8.071682836571297,33.663336946888194,-7.72448195944355,33.53452746270499,-7.770449531251598
+4678,33.53292377269052,-7.72448195944355,33.663336946888194,-7.377281082315804,33.57526877693059,-7.598067516736001
+4679,33.663336946888194,-7.72448195944355,33.79375012108587,-7.377281082315804,33.68641629944086,-7.392216000704503
+4680,32.75044472750447,-7.377281082315804,33.79375012108587,-4.59967406529383,33.52422835344178,-5.797777778183604
+4681,33.79375012108587,-7.377281082315804,33.92416329528355,-7.030080205188057,33.816907936041005,-7.13149234380972
+4682,33.79375012108587,-7.030080205188057,33.92416329528355,-6.68287932806031,33.866522425517935,-6.862536532707922
+4683,33.92416329528355,-7.030080205188057,34.05457646948122,-6.68287932806031,33.994904013385856,-6.832126915691873
+4684,33.79375012108587,-6.68287932806031,34.05457646948122,-5.988477573804817,33.88401711619478,-6.268780740250877
+4685,34.05457646948122,-7.377281082315804,34.315402817876574,-6.68287932806031,34.06952647668987,-6.782857447482911
+4686,34.05457646948122,-6.68287932806031,34.315402817876574,-5.988477573804817,34.25280965134813,-6.592349696958275
+4687,33.79375012108587,-5.988477573804817,34.05457646948122,-5.294075819549324,33.884269890868836,-5.561996581637741
+4688,33.79375012108587,-5.294075819549324,34.05457646948122,-4.59967406529383,34.0194339376635,-5.01547696165039
+4689,34.05457646948122,-5.988477573804817,34.315402817876574,-5.294075819549324,34.08381229260164,-5.560321557956383
+4690,34.05457646948122,-5.294075819549324,34.315402817876574,-4.59967406529383,34.06086176420922,-5.011940205119759
+4691,34.315402817876574,-7.377281082315804,34.83705551466727,-5.988477573804817,34.57286965165669,-6.379575755141374
+4692,34.315402817876574,-5.988477573804817,34.83705551466727,-4.59967406529383,34.478411796082796,-5.510440160172279
+4693,32.75044472750447,-1.8220670482718568,33.79375012108587,0.9555399687501165,33.374671909908606,0.034917504715527535
+4694,33.79375012108587,-4.59967406529383,34.315402817876574,-3.2108705567828437,34.280742084173504,-3.8343978417713633
+4695,34.315402817876574,-4.59967406529383,34.83705551466727,-3.2108705567828437,34.5414538436712,-3.6244713394777635
+4696,34.315402817876574,-3.2108705567828437,34.57622916627192,-2.51646880252735,34.496926902771115,-2.976662420407866
+4697,34.57622916627192,-3.2108705567828437,34.83705551466727,-2.51646880252735,34.60228474617566,-2.6659129435899827
+4698,34.57622916627192,-2.51646880252735,34.7066423404696,-2.1692679253996037,34.622525711776305,-2.4206234072647552
+4699,34.57622916627192,-2.1692679253996037,34.7066423404696,-1.8220670482718568,34.67617621601668,-1.9073230810976378
+4700,34.7066423404696,-2.1692679253996037,34.83705551466727,-1.8220670482718568,34.73076942436614,-1.9057545916739134
+4701,33.79375012108587,-1.8220670482718568,34.83705551466727,0.9555399687501165,34.46331835107576,-0.9124266970531231
+4702,34.83705551466727,-7.377281082315804,35.358708211457966,-5.988477573804817,34.93783763244688,-6.190848526564893
+4703,34.83705551466727,-5.988477573804817,35.358708211457966,-4.59967406529383,35.17637187938614,-5.27284750034904
+4704,35.358708211457966,-7.377281082315804,35.88036090824867,-5.988477573804817,35.47507394837939,-6.026645550832398
+4705,35.358708211457966,-5.988477573804817,35.61953455985332,-5.294075819549324,35.57244803857435,-5.3976737496528155
+4706,35.358708211457966,-5.294075819549324,35.61953455985332,-4.59967406529383,35.61430600513215,-5.278871299284013
+4707,35.61953455985332,-5.988477573804817,35.74994773405099,-5.64127669667707,35.7238695568424,-5.832841685446577
+4708,35.61953455985332,-5.64127669667707,35.74994773405099,-5.294075819549324,35.69445171444626,-5.332467837577889
+4709,35.74994773405099,-5.988477573804817,35.88036090824867,-5.64127669667707,35.770341959107725,-5.809150734004615
+4710,35.74994773405099,-5.64127669667707,35.88036090824867,-5.294075819549324,35.83393781164651,-5.373214955623792
+4711,35.61953455985332,-5.294075819549324,35.88036090824867,-4.59967406529383,35.63324339411279,-5.284439292335631
+4712,35.88036090824867,-7.377281082315804,36.40201360503937,-5.988477573804817,36.30636711648283,-6.090769927617867
+4713,35.88036090824867,-5.988477573804817,36.40201360503937,-4.59967406529383,36.13598726385072,-5.532997201653296
+4714,36.40201360503937,-7.377281082315804,36.92366630183007,-5.988477573804817,36.5061521334565,-6.176348663930511
+4715,36.40201360503937,-5.988477573804817,36.66283995343472,-5.294075819549324,36.48772074472881,-5.774655857592869
+4716,36.40201360503937,-5.294075819549324,36.66283995343472,-4.59967406529383,36.52878468706409,-4.813899179249777
+4717,36.66283995343472,-5.988477573804817,36.92366630183007,-5.294075819549324,36.800756132605,-5.721028353761037
+4718,36.66283995343472,-5.294075819549324,36.92366630183007,-4.59967406529383,36.78619039702371,-4.8469158505040975
+4719,34.83705551466727,-4.59967406529383,35.358708211457966,-3.2108705567828437,35.091120172049344,-3.7728494386529845
+4720,34.83705551466727,-2.51646880252735,35.09788186306262,-1.8220670482718568,35.00339990556283,-2.2420481079497407
+4721,35.09788186306262,-3.2108705567828437,35.358708211457966,-2.51646880252735,35.18624350973873,-2.9464970052524264
+4722,35.09788186306262,-2.51646880252735,35.358708211457966,-1.8220670482718568,35.11626516315633,-2.3327834929587676
+4723,34.83705551466727,-1.8220670482718568,35.358708211457966,-0.4332635397608702,35.01988752957198,-1.2046940066979919
+4724,34.83705551466727,-0.4332635397608702,35.358708211457966,0.9555399687501165,35.22960261273983,0.0453800955556691
+4725,35.358708211457966,-1.1276652940163636,35.61953455985332,-0.4332635397608702,35.5375074250512,-0.6361107969820496
+4726,35.61953455985332,-1.1276652940163636,35.74994773405099,-0.7804644168886169,35.6982977973287,-0.8813767427134617
+4727,35.61953455985332,-0.7804644168886169,35.74994773405099,-0.4332635397608702,35.685966836728454,-0.6115879684629564
+4728,35.74994773405099,-1.1276652940163636,35.88036090824867,-0.7804644168886169,35.75629653664843,-0.7899516529449742
+4729,35.74994773405099,-0.7804644168886169,35.88036090824867,-0.4332635397608702,35.763189971336075,-0.5199308765279486
+4730,35.358708211457966,-0.4332635397608702,35.61953455985332,0.26113821449462316,35.54127238696703,-0.05177695315033671
+4731,35.358708211457966,0.26113821449462316,35.61953455985332,0.9555399687501165,35.462710328539856,0.5800167854881148
+4732,35.61953455985332,-0.4332635397608702,35.88036090824867,0.26113821449462316,35.74151639111323,-0.062050464515159234
+4733,35.61953455985332,0.26113821449462316,35.88036090824867,0.9555399687501165,35.731686771896335,0.5440235983762685
+4734,36.40201360503937,-4.59967406529383,36.66283995343472,-3.905272311038337,36.6159374140479,-4.524604946967771
+4735,36.66283995343472,-4.59967406529383,36.7932531276324,-4.252473188166084,36.72120935406497,-4.455652749455166
+4736,36.66283995343472,-4.252473188166084,36.7932531276324,-3.905272311038337,36.74295474745296,-4.149463696611351
+4737,36.7932531276324,-4.59967406529383,36.92366630183007,-4.252473188166084,36.86086457044498,-4.420606755008289
+4738,36.7932531276324,-4.252473188166084,36.92366630183007,-3.905272311038337,36.85920886741573,-4.029101537361016
+4739,36.66283995343472,-3.905272311038337,36.92366630183007,-3.2108705567828437,36.76420920461021,-3.5885510925269077
+4740,36.40201360503937,-3.2108705567828437,36.92366630183007,-1.8220670482718568,36.83114570864415,-2.472854069973181
+4741,35.88036090824867,-1.8220670482718568,36.92366630183007,0.9555399687501165,36.02740611423685,0.4741677773761528
+4742,36.92366630183007,-43.48617230360146,45.27010945048125,-21.26531616742567,38.18646366284261,-26.82593319523044
+4743,36.92366630183007,-10.154888099337777,37.44531899862076,-8.76608459082679,37.175489219960745,-8.860753658744143
+4744,37.05407947602774,-8.76608459082679,37.184492650225415,-8.418883713699042,37.12509214180194,-8.569337299129304
+4745,37.05407947602774,-8.418883713699042,37.184492650225415,-8.071682836571297,37.110327134973794,-8.228236586149086
+4746,36.92366630183007,-8.071682836571297,37.05407947602774,-7.72448195944355,37.027750827732056,-7.915707423102356
+4747,37.05407947602774,-8.071682836571297,37.184492650225415,-7.72448195944355,37.12073202950801,-7.931437287647128
+4748,37.05407947602774,-7.72448195944355,37.184492650225415,-7.377281082315804,37.152586586866356,-7.576157005569073
+4749,37.184492650225415,-8.76608459082679,37.44531899862076,-8.071682836571297,37.28405228389315,-8.399260485652606
+4750,37.184492650225415,-8.071682836571297,37.44531899862076,-7.377281082315804,37.23241216556713,-7.52293476170428
+4751,37.44531899862076,-10.154888099337777,37.966971695411466,-8.76608459082679,37.633831814361734,-8.784991861960904
+4752,37.44531899862076,-8.76608459082679,37.966971695411466,-7.377281082315804,37.66285410766109,-8.38109254117086
+4753,36.92366630183007,-7.377281082315804,37.44531899862076,-5.988477573804817,37.30803528892593,-6.623336605490664
+4754,36.92366630183007,-5.988477573804817,37.184492650225415,-5.294075819549324,37.003240455203176,-5.8953740176158
+4755,36.92366630183007,-5.294075819549324,37.184492650225415,-4.59967406529383,37.04435612711856,-4.783090040100315
+4756,37.184492650225415,-5.988477573804817,37.44531899862076,-5.294075819549324,37.37964472786888,-5.908658691038789
+4757,37.184492650225415,-5.294075819549324,37.44531899862076,-4.59967406529383,37.277749635507746,-5.004474805148234
+4758,37.44531899862076,-7.377281082315804,37.966971695411466,-5.988477573804817,37.72944805474136,-6.6732687747516515
+4759,37.44531899862076,-5.988477573804817,37.966971695411466,-4.59967406529383,37.689685582883264,-5.222854181927907
+4760,37.966971695411466,-10.154888099337777,38.48862439220217,-8.76608459082679,38.41153484999247,-8.949402578949496
+4761,37.966971695411466,-8.76608459082679,38.48862439220217,-7.377281082315804,38.20515334231489,-8.429495955591989
+4762,38.48862439220217,-10.154888099337777,38.74945074059752,-9.460486345082284,38.71558522128597,-9.47168942557137
+4763,38.48862439220217,-9.460486345082284,38.61903756639984,-9.113285467954537,38.57792403464225,-9.162712021361735
+4764,38.48862439220217,-9.113285467954537,38.61903756639984,-8.76608459082679,38.54208057701362,-8.902452549431302
+4765,38.61903756639984,-9.460486345082284,38.74945074059752,-9.113285467954537,38.711631004661406,-9.241635062883416
+4766,38.61903756639984,-9.113285467954537,38.74945074059752,-8.76608459082679,38.674749305162806,-9.007822952895225
+4767,38.74945074059752,-10.154888099337777,39.010277088992865,-9.460486345082284,38.80482289405222,-9.47404447084114
+4768,38.74945074059752,-9.460486345082284,38.879863914795195,-9.113285467954537,38.791311212240046,-9.238868300682588
+4769,38.74945074059752,-9.113285467954537,38.879863914795195,-8.76608459082679,38.810092176894756,-9.04556074302918
+4770,38.879863914795195,-9.460486345082284,39.010277088992865,-9.113285467954537,38.9099214228165,-9.248266403688726
+4771,38.879863914795195,-9.113285467954537,39.010277088992865,-8.76608459082679,38.941399922472435,-8.963201850000337
+4772,38.48862439220217,-8.76608459082679,38.74945074059752,-8.071682836571297,38.66491062556847,-8.550443121088474
+4773,38.48862439220217,-8.071682836571297,38.74945074059752,-7.377281082315804,38.639456177896534,-7.815402721077696
+4774,38.74945074059752,-8.76608459082679,39.010277088992865,-8.071682836571297,38.84859635252929,-8.567831161296876
+4775,38.74945074059752,-8.071682836571297,39.010277088992865,-7.377281082315804,38.87475329814911,-7.613841543637225
+4776,37.966971695411466,-7.377281082315804,38.48862439220217,-5.988477573804817,38.291526922854636,-6.387044433864778
+4777,37.966971695411466,-5.988477573804817,38.48862439220217,-4.59967406529383,38.22340949393433,-5.555675307148767
+4778,38.48862439220217,-7.377281082315804,38.74945074059752,-6.68287932806031,38.690374957485005,-7.093290041582651
+4779,38.48862439220217,-6.68287932806031,38.74945074059752,-5.988477573804817,38.59885462307373,-6.404478360057817
+4780,38.74945074059752,-7.377281082315804,39.010277088992865,-6.68287932806031,38.9161566966288,-7.053663433091676
+4781,38.74945074059752,-6.68287932806031,39.010277088992865,-5.988477573804817,38.92757396031757,-6.335464239984576
+4782,38.48862439220217,-5.988477573804817,39.010277088992865,-4.59967406529383,38.77168665054358,-4.762693425846846
+4783,36.92366630183007,-4.59967406529383,37.184492650225415,-3.905272311038337,37.064416014691865,-4.344711751760649
+4784,36.92366630183007,-3.905272311038337,37.184492650225415,-3.2108705567828437,37.089308082178526,-3.536870490490545
+4785,37.184492650225415,-4.59967406529383,37.44531899862076,-3.905272311038337,37.22995850109585,-4.0747175756581475
+4786,37.184492650225415,-3.905272311038337,37.31490582442309,-3.55807143391059,37.21734071819555,-3.6436834199581805
+4787,37.184492650225415,-3.55807143391059,37.31490582442309,-3.2108705567828437,37.237019765559616,-3.471552487414355
+4788,37.31490582442309,-3.905272311038337,37.44531899862076,-3.55807143391059,37.40374395315539,-3.6896417970382784
+4789,37.31490582442309,-3.55807143391059,37.44531899862076,-3.2108705567828437,37.366627799875545,-3.393790888701145
+4790,36.92366630183007,-3.2108705567828437,37.44531899862076,-1.8220670482718568,37.21518390065314,-2.689954239972808
+4791,37.44531899862076,-4.59967406529383,37.70614534701612,-3.905272311038337,37.59527297735039,-4.230134978611015
+4792,37.44531899862076,-3.905272311038337,37.70614534701612,-3.2108705567828437,37.561402738272996,-3.574820038675758
+4793,37.70614534701612,-4.59967406529383,37.966971695411466,-3.905272311038337,37.81983281403678,-4.079417932814395
+4794,37.70614534701612,-3.905272311038337,37.966971695411466,-3.2108705567828437,37.800248853944495,-3.6589959174417497
+4795,37.44531899862076,-3.2108705567828437,37.966971695411466,-1.8220670482718568,37.710485110351364,-2.728041822074071
+4796,36.92366630183007,-1.8220670482718568,37.966971695411466,0.9555399687501165,37.736799791450494,-1.0028817026822094
+4797,37.966971695411466,-4.59967406529383,38.48862439220217,-3.2108705567828437,38.10659422853933,-3.726395129730725
+4798,37.966971695411466,-3.2108705567828437,38.48862439220217,-1.8220670482718568,38.231406586967545,-2.932268357434585
+4799,38.48862439220217,-4.59967406529383,39.010277088992865,-3.2108705567828437,38.8706648890505,-3.9196563546628296
+4800,38.48862439220217,-3.2108705567828437,39.010277088992865,-1.8220670482718568,38.85605218537834,-2.308797967403098
+4801,37.966971695411466,-1.8220670482718568,38.227798043806814,-1.1276652940163636,38.05314656005325,-1.199123610461259
+4802,37.966971695411466,-1.1276652940163636,38.227798043806814,-0.4332635397608702,38.071603609015426,-0.807782382764575
+4803,38.227798043806814,-1.8220670482718568,38.48862439220217,-1.1276652940163636,38.409483911374856,-1.5472611829663105
+4804,38.227798043806814,-1.1276652940163636,38.48862439220217,-0.4332635397608702,38.321221812433116,-0.6424365210996579
+4805,37.966971695411466,-0.4332635397608702,38.48862439220217,0.9555399687501165,38.425168293078215,-0.40230764072157277
+4806,38.48862439220217,-1.8220670482718568,39.010277088992865,-0.4332635397608702,38.73227425838004,-1.0473921851858548
+4807,38.48862439220217,-0.4332635397608702,39.010277088992865,0.9555399687501165,38.74077061813839,-0.040925478298368324
+4808,39.010277088992865,-9.460486345082284,39.27110343738821,-8.76608459082679,39.12682596605469,-9.12668680351263
+4809,39.27110343738821,-10.154888099337777,39.53192978578356,-9.460486345082284,39.40288123691489,-9.490903034165616
+4810,39.27110343738821,-9.460486345082284,39.53192978578356,-8.76608459082679,39.391133345197964,-9.168270866920961
+4811,39.010277088992865,-8.76608459082679,39.27110343738821,-8.071682836571297,39.15873531596941,-8.57960572820912
+4812,39.010277088992865,-8.071682836571297,39.27110343738821,-7.377281082315804,39.14275821653203,-7.612644482451299
+4813,39.27110343738821,-8.76608459082679,39.53192978578356,-8.071682836571297,39.439756719039075,-8.472594988797532
+4814,39.27110343738821,-8.071682836571297,39.53192978578356,-7.377281082315804,39.4150020275013,-7.613534372149296
+4815,39.53192978578356,-10.154888099337777,40.053582482574264,-8.76608459082679,39.80388467918312,-8.8559566773205
+4816,39.53192978578356,-8.76608459082679,39.792756134178916,-8.071682836571297,39.63269120029271,-8.46004242980895
+4817,39.53192978578356,-8.071682836571297,39.792756134178916,-7.377281082315804,39.69457044658567,-7.808176545285925
+4818,39.792756134178916,-8.76608459082679,40.053582482574264,-8.071682836571297,39.90184906702504,-8.37320252496876
+4819,39.792756134178916,-8.071682836571297,40.053582482574264,-7.377281082315804,39.95369707118198,-7.667935352503224
+4820,39.010277088992865,-7.377281082315804,39.27110343738821,-6.68287932806031,39.07840567621849,-7.092572082777262
+4821,39.010277088992865,-6.68287932806031,39.27110343738821,-5.988477573804817,39.159805395654715,-6.389760422841082
+4822,39.27110343738821,-7.377281082315804,39.53192978578356,-6.68287932806031,39.40507683586538,-7.283890282378724
+4823,39.27110343738821,-6.68287932806031,39.53192978578356,-5.988477573804817,39.39946556783937,-6.416978042295256
+4824,39.010277088992865,-5.988477573804817,39.53192978578356,-4.59967406529383,39.340346794151436,-5.857030927005037
+4825,39.53192978578356,-7.377281082315804,40.053582482574264,-5.988477573804817,39.869330513157706,-6.766483169109249
+4826,39.53192978578356,-5.988477573804817,40.053582482574264,-4.59967406529383,39.84248166915466,-5.398736126679825
+4827,40.053582482574264,-10.154888099337777,40.57523517936497,-8.76608459082679,40.18301340485856,-8.829977797183153
+4828,40.053582482574264,-8.76608459082679,40.31440883096961,-8.071682836571297,40.18874763571688,-8.488812357325784
+4829,40.053582482574264,-8.071682836571297,40.31440883096961,-7.377281082315804,40.16332221313836,-7.726312137489944
+4830,40.31440883096961,-8.76608459082679,40.44482200516729,-8.418883713699042,40.39208784968537,-8.584041903081296
+4831,40.31440883096961,-8.418883713699042,40.44482200516729,-8.071682836571297,40.383486525554865,-8.219680946302375
+4832,40.44482200516729,-8.76608459082679,40.57523517936497,-8.418883713699042,40.524080147973756,-8.570696007717894
+4833,40.44482200516729,-8.418883713699042,40.57523517936497,-8.071682836571297,40.528475412716276,-8.225372595001543
+4834,40.31440883096961,-8.071682836571297,40.44482200516729,-7.72448195944355,40.360258543844786,-7.917420449334059
+4835,40.31440883096961,-7.72448195944355,40.44482200516729,-7.377281082315804,40.386751035067846,-7.605233083448005
+4836,40.44482200516729,-8.071682836571297,40.57523517936497,-7.72448195944355,40.52403163570844,-7.942734461960147
+4837,40.44482200516729,-7.72448195944355,40.57523517936497,-7.377281082315804,40.5072368391981,-7.561058401786042
+4838,40.57523517936497,-8.76608459082679,40.70564835356264,-8.418883713699042,40.632245505733295,-8.599830950300937
+4839,40.57523517936497,-8.418883713699042,40.70564835356264,-8.071682836571297,40.677229247423995,-8.230336612485061
+4840,40.70564835356264,-8.76608459082679,40.836061527760315,-8.418883713699042,40.76552727263004,-8.567830307279575
+4841,40.70564835356264,-8.418883713699042,40.836061527760315,-8.071682836571297,40.74150050067106,-8.139630137096157
+4842,40.57523517936497,-8.071682836571297,40.70564835356264,-7.72448195944355,40.63673775088834,-7.885841422795995
+4843,40.57523517936497,-7.72448195944355,40.70564835356264,-7.377281082315804,40.63703443900189,-7.5167640031300555
+4844,40.70564835356264,-8.071682836571297,40.836061527760315,-7.72448195944355,40.76488502577966,-7.931051813031695
+4845,40.70564835356264,-7.72448195944355,40.836061527760315,-7.377281082315804,40.75563259533715,-7.515626994982801
+4846,40.836061527760315,-8.76608459082679,40.96647470195799,-8.418883713699042,40.921326847277946,-8.555441954558537
+4847,40.836061527760315,-8.418883713699042,40.96647470195799,-8.071682836571297,40.90397618586013,-8.229556309659545
+4848,40.96647470195799,-8.76608459082679,41.09688787615566,-8.418883713699042,41.02198928460749,-8.599836700678852
+4849,40.96647470195799,-8.418883713699042,41.09688787615566,-8.071682836571297,41.0478499196382,-8.18785294544732
+4850,40.836061527760315,-8.071682836571297,41.09688787615566,-7.377281082315804,40.991470712515095,-7.758227170680571
+4851,40.053582482574264,-7.377281082315804,40.57523517936497,-5.988477573804817,40.409040992630075,-6.623084559706654
+4852,40.053582482574264,-5.988477573804817,40.57523517936497,-4.59967406529383,40.376759705697744,-5.46015306074817
+4853,40.57523517936497,-7.377281082315804,40.836061527760315,-6.68287932806031,40.62964157753618,-7.009842132127908
+4854,40.57523517936497,-6.68287932806031,40.836061527760315,-5.988477573804817,40.68692471082235,-6.25290800021079
+4855,40.836061527760315,-7.377281082315804,41.09688787615566,-6.68287932806031,40.99499055117082,-6.781822500406668
+4856,40.836061527760315,-6.68287932806031,41.09688787615566,-5.988477573804817,40.9728934070857,-6.466701839315233
+4857,40.57523517936497,-5.988477573804817,40.836061527760315,-5.294075819549324,40.72378068627263,-5.645903023543266
+4858,40.57523517936497,-5.294075819549324,40.836061527760315,-4.59967406529383,40.73182907253629,-4.817527158400157
+4859,40.836061527760315,-5.988477573804817,40.96647470195799,-5.64127669667707,40.92940255207845,-5.701016357494931
+4860,40.836061527760315,-5.64127669667707,40.96647470195799,-5.294075819549324,40.89899002230637,-5.4845854110342955
+4861,40.96647470195799,-5.988477573804817,41.09688787615566,-5.64127669667707,41.01287909317529,-5.732989553523473
+4862,40.96647470195799,-5.64127669667707,41.09688787615566,-5.294075819549324,41.02041574980498,-5.537500630755576
+4863,40.836061527760315,-5.294075819549324,41.09688787615566,-4.59967406529383,40.97769331354046,-4.883891512251948
+4864,39.010277088992865,-4.59967406529383,40.053582482574264,-1.8220670482718568,39.63599336831944,-3.3184069084017764
+4865,39.010277088992865,-1.8220670482718568,39.53192978578356,-0.4332635397608702,39.23195082963292,-0.6483053529937752
+4866,39.010277088992865,-0.4332635397608702,39.53192978578356,0.9555399687501165,39.42914233438918,-0.37274361532439515
+4867,39.53192978578356,-1.8220670482718568,40.053582482574264,-0.4332635397608702,39.774047379066744,-0.7696334177917893
+4868,39.53192978578356,-0.4332635397608702,40.053582482574264,0.9555399687501165,39.838421428778865,-0.16651619757182742
+4869,40.053582482574264,-4.59967406529383,40.31440883096961,-3.905272311038337,40.20119893639349,-4.200390907478698
+4870,40.053582482574264,-3.905272311038337,40.31440883096961,-3.2108705567828437,40.23149886568075,-3.551244095172283
+4871,40.31440883096961,-4.59967406529383,40.57523517936497,-3.905272311038337,40.49967390685976,-4.051153498223377
+4872,40.31440883096961,-3.905272311038337,40.44482200516729,-3.55807143391059,40.391383489376736,-3.726612794686508
+4873,40.31440883096961,-3.55807143391059,40.44482200516729,-3.2108705567828437,40.40118057407898,-3.4833872756338273
+4874,40.44482200516729,-3.905272311038337,40.57523517936497,-3.55807143391059,40.4871445702269,-3.69364559954351
+4875,40.44482200516729,-3.55807143391059,40.57523517936497,-3.2108705567828437,40.50210007639447,-3.4589096953138383
+4876,40.053582482574264,-3.2108705567828437,40.57523517936497,-1.8220670482718568,40.32315446079857,-2.7349067908412787
+4877,40.57523517936497,-4.59967406529383,40.70564835356264,-4.252473188166084,40.636517156534865,-4.434991368860146
+4878,40.57523517936497,-4.252473188166084,40.70564835356264,-3.905272311038337,40.621222687919705,-4.007930488090534
+4879,40.70564835356264,-4.59967406529383,40.836061527760315,-4.252473188166084,40.756446172897384,-4.417137977491413
+4880,40.70564835356264,-4.252473188166084,40.836061527760315,-3.905272311038337,40.75820250672217,-4.093084367140689
+4881,40.57523517936497,-3.905272311038337,40.836061527760315,-3.2108705567828437,40.676813867594475,-3.7057309440713113
+4882,40.836061527760315,-4.59967406529383,41.09688787615566,-3.905272311038337,40.93572664775417,-4.144287882833996
+4883,40.836061527760315,-3.905272311038337,41.09688787615566,-3.2108705567828437,40.95689298223839,-3.6808840842722956
+4884,40.57523517936497,-3.2108705567828437,41.09688787615566,-1.8220670482718568,40.825612567460354,-2.768634244632301
+4885,40.053582482574264,-1.8220670482718568,40.57523517936497,-0.4332635397608702,40.22927652673287,-0.6965431443828756
+4886,40.053582482574264,-0.08606266263312351,40.18399565677194,0.26113821449462316,40.113264089319216,0.08801597004195073
+4887,40.18399565677194,-0.4332635397608702,40.31440883096961,-0.08606266263312351,40.265933576707,-0.16157215717591114
+4888,40.18399565677194,-0.08606266263312351,40.31440883096961,0.26113821449462316,40.255818235347455,0.13685787769190869
+4889,40.053582482574264,0.26113821449462316,40.31440883096961,0.9555399687501165,40.281070737800256,0.29940517453224574
+4890,40.31440883096961,-0.4332635397608702,40.57523517936497,0.26113821449462316,40.385674967323645,0.12048526215061439
+4891,40.31440883096961,0.26113821449462316,40.57523517936497,0.9555399687501165,40.42346339645821,0.37213577843238366
+4892,40.57523517936497,-1.8220670482718568,41.09688787615566,-0.4332635397608702,40.9609388783242,-1.1630913445493956
+4893,40.57523517936497,-0.4332635397608702,40.836061527760315,0.26113821449462316,40.745967162194454,0.21673188406922
+4894,40.57523517936497,0.26113821449462316,40.70564835356264,0.6083390916223699,40.648742125387486,0.4911910783887316
+4895,40.57523517936497,0.6083390916223699,40.70564835356264,0.9555399687501165,40.68095308754711,0.7262817726570403
+4896,40.70564835356264,0.26113821449462316,40.836061527760315,0.6083390916223699,40.74611657092161,0.5207806914393928
+4897,40.70564835356264,0.6083390916223699,40.836061527760315,0.9555399687501165,40.753578560123486,0.7149836087834076
+4898,40.836061527760315,-0.4332635397608702,41.09688787615566,0.26113821449462316,40.916946137675794,0.13225799613698896
+4899,40.836061527760315,0.26113821449462316,41.09688787615566,0.9555399687501165,40.956215544621365,0.6066981189686944
+4900,41.09688787615566,-10.154888099337777,41.61854057294636,-8.76608459082679,41.50637610572523,-8.776322250170265
+4901,41.09688787615566,-8.76608459082679,41.22730105035333,-8.418883713699042,41.17406443248297,-8.598177454815584
+4902,41.09688787615566,-8.418883713699042,41.22730105035333,-8.071682836571297,41.18769902240604,-8.308926684555265
+4903,41.22730105035333,-8.76608459082679,41.35771422455101,-8.418883713699042,41.28686072204185,-8.628145386107272
+4904,41.22730105035333,-8.418883713699042,41.35771422455101,-8.071682836571297,41.26312756531132,-8.21555027234686
+4905,41.09688787615566,-8.071682836571297,41.22730105035333,-7.72448195944355,41.16943254580509,-7.81757767845668
+4906,41.09688787615566,-7.72448195944355,41.22730105035333,-7.377281082315804,41.172758743306275,-7.577219756216756
+4907,41.22730105035333,-8.071682836571297,41.35771422455101,-7.72448195944355,41.28857411249758,-7.830103626641422
+4908,41.22730105035333,-7.72448195944355,41.35771422455101,-7.377281082315804,41.29146027321883,-7.613749013707871
+4909,41.35771422455101,-8.76608459082679,41.48812739874869,-8.418883713699042,41.40497166037714,-8.595687747711043
+4910,41.35771422455101,-8.418883713699042,41.48812739874869,-8.071682836571297,41.437953417809176,-8.288976744121342
+4911,41.48812739874869,-8.76608459082679,41.61854057294636,-8.418883713699042,41.54404583701021,-8.514695743649648
+4912,41.48812739874869,-8.418883713699042,41.61854057294636,-8.071682836571297,41.55057189803405,-8.376710272567452
+4913,41.35771422455101,-8.071682836571297,41.48812739874869,-7.72448195944355,41.41272677044353,-7.909100993805755
+4914,41.35771422455101,-7.72448195944355,41.48812739874869,-7.377281082315804,41.40812442290574,-7.582954940384285
+4915,41.48812739874869,-8.071682836571297,41.61854057294636,-7.72448195944355,41.50530435292216,-7.83712231000441
+4916,41.48812739874869,-7.72448195944355,41.61854057294636,-7.377281082315804,41.52533993518474,-7.651686083882863
+4917,41.61854057294636,-10.154888099337777,42.14019326973706,-8.76608459082679,41.88961811579563,-8.82808827066489
+4918,41.61854057294636,-8.76608459082679,41.87936692134171,-8.071682836571297,41.732172267032176,-8.420585698447228
+4919,41.61854057294636,-8.071682836571297,41.87936692134171,-7.377281082315804,41.73888203678173,-7.597186388850907
+4920,41.87936692134171,-8.76608459082679,42.14019326973706,-8.071682836571297,42.01833740302161,-8.642029562231054
+4921,41.87936692134171,-8.071682836571297,42.14019326973706,-7.377281082315804,41.985487627956026,-7.5462497835271
+4922,41.09688787615566,-7.377281082315804,41.61854057294636,-5.988477573804817,41.30040243561788,-6.87296216329945
+4923,41.09688787615566,-5.988477573804817,41.35771422455101,-5.294075819549324,41.1989492542963,-5.550924438839801
+4924,41.09688787615566,-5.294075819549324,41.35771422455101,-4.59967406529383,41.225115528849656,-4.892884170491314
+4925,41.35771422455101,-5.988477573804817,41.61854057294636,-5.294075819549324,41.513991684914885,-5.704528949195539
+4926,41.35771422455101,-5.294075819549324,41.61854057294636,-4.59967406529383,41.541305602979854,-4.876148902497815
+4927,41.61854057294636,-7.377281082315804,42.14019326973706,-5.988477573804817,41.8919427804031,-6.663575868690021
+4928,41.61854057294636,-5.988477573804817,42.14019326973706,-4.59967406529383,41.77146555153674,-5.222885107492187
+4929,42.14019326973706,-10.154888099337777,42.661845966527764,-8.76608459082679,42.49823250177924,-8.863179868586634
+4930,42.14019326973706,-8.76608459082679,42.27060644393474,-8.418883713699042,42.20416106813135,-8.63374726439179
+4931,42.14019326973706,-8.418883713699042,42.27060644393474,-8.071682836571297,42.21568428285391,-8.299729484533758
+4932,42.27060644393474,-8.76608459082679,42.40101961813241,-8.418883713699042,42.32449673126315,-8.685326313265698
+4933,42.27060644393474,-8.418883713699042,42.40101961813241,-8.071682836571297,42.30287506567634,-8.148391293083673
+4934,42.14019326973706,-8.071682836571297,42.40101961813241,-7.377281082315804,42.286664592145605,-7.84904601963433
+4935,42.40101961813241,-8.76608459082679,42.661845966527764,-8.071682836571297,42.56967464466077,-8.485225185354812
+4936,42.40101961813241,-8.071682836571297,42.661845966527764,-7.377281082315804,42.483047019287135,-7.917207337544106
+4937,42.661845966527764,-10.154888099337777,43.18349866331846,-8.76608459082679,42.85100037197779,-9.006933680640104
+4938,42.661845966527764,-8.76608459082679,42.792259140725434,-8.418883713699042,42.725374278008445,-8.630737458286664
+4939,42.661845966527764,-8.418883713699042,42.792259140725434,-8.071682836571297,42.72235643110197,-8.260577036939459
+4940,42.792259140725434,-8.76608459082679,42.92267231492311,-8.418883713699042,42.870863904090925,-8.587865122130172
+4941,42.792259140725434,-8.418883713699042,42.92267231492311,-8.071682836571297,42.862919968630095,-8.211623071439819
+4942,42.661845966527764,-8.071682836571297,42.92267231492311,-7.377281082315804,42.814842050796734,-7.897645607728627
+4943,42.92267231492311,-8.76608459082679,43.18349866331846,-8.071682836571297,43.05261045144534,-8.359668893747102
+4944,42.92267231492311,-8.071682836571297,43.18349866331846,-7.377281082315804,43.05262540044706,-7.627215914748146
+4945,42.14019326973706,-7.377281082315804,42.661845966527764,-5.988477573804817,42.52608393081724,-6.555208846010592
+4946,42.14019326973706,-5.988477573804817,42.661845966527764,-4.59967406529383,42.472823068121365,-5.452684620994678
+4947,42.661845966527764,-7.377281082315804,43.18349866331846,-5.988477573804817,42.85234826827407,-6.899344249145201
+4948,42.661845966527764,-5.988477573804817,43.18349866331846,-4.59967406529383,42.99445743956261,-5.336606660136785
+4949,41.09688787615566,-4.59967406529383,41.61854057294636,-3.2108705567828437,41.33536495400149,-3.9039979398234443
+4950,41.09688787615566,-3.2108705567828437,41.61854057294636,-1.8220670482718568,41.385757790201346,-2.68211039066652
+4951,41.61854057294636,-4.59967406529383,41.87936692134171,-3.905272311038337,41.72318507890785,-4.430756484540515
+4952,41.61854057294636,-3.905272311038337,41.87936692134171,-3.2108705567828437,41.71621363087423,-3.524302973029425
+4953,41.87936692134171,-4.59967406529383,42.14019326973706,-3.905272311038337,42.006801920257075,-4.403604972230202
+4954,41.87936692134171,-3.905272311038337,42.14019326973706,-3.2108705567828437,41.99488068127135,-3.5290607508884935
+4955,41.61854057294636,-3.2108705567828437,42.14019326973706,-1.8220670482718568,41.878078690854736,-2.9226640575481904
+4956,41.09688787615566,-1.8220670482718568,41.61854057294636,-0.4332635397608702,41.45628587347082,-1.0651546888884418
+4957,41.09688787615566,-0.4332635397608702,41.61854057294636,0.9555399687501165,41.40419251654487,0.43673430683103903
+4958,41.61854057294636,-1.8220670482718568,41.87936692134171,-1.1276652940163636,41.820879690006734,-1.6102102474384543
+4959,41.61854057294636,-1.1276652940163636,41.748953747144036,-0.7804644168886169,41.65852311664285,-0.902054282799044
+4960,41.61854057294636,-0.7804644168886169,41.748953747144036,-0.4332635397608702,41.63314347868905,-0.7589594828821256
+4961,41.748953747144036,-1.1276652940163636,41.87936692134171,-0.7804644168886169,41.77852936047215,-0.841180549195134
+4962,41.748953747144036,-0.7804644168886169,41.87936692134171,-0.4332635397608702,41.803743488106356,-0.6677490849562984
+4963,41.87936692134171,-1.8220670482718568,42.14019326973706,-1.1276652940163636,42.02331090336625,-1.582697229962496
+4964,41.87936692134171,-1.1276652940163636,42.14019326973706,-0.4332635397608702,42.04713260473988,-0.5596386232777226
+4965,41.61854057294636,-0.4332635397608702,42.14019326973706,0.9555399687501165,41.77026658545559,0.6751119112189501
+4966,42.14019326973706,-4.59967406529383,42.40101961813241,-3.905272311038337,42.26326819132297,-4.1600343611619515
+4967,42.14019326973706,-3.905272311038337,42.40101961813241,-3.2108705567828437,42.33217792078005,-3.6884644187416455
+4968,42.40101961813241,-4.59967406529383,42.661845966527764,-3.905272311038337,42.5007731918183,-4.324240716358588
+4969,42.40101961813241,-3.905272311038337,42.661845966527764,-3.2108705567828437,42.523814768765384,-3.4527134302262112
+4970,42.14019326973706,-3.2108705567828437,42.40101961813241,-2.51646880252735,42.33101415434569,-2.9327926956628483
+4971,42.14019326973706,-2.51646880252735,42.40101961813241,-1.8220670482718568,42.274287239543824,-2.2008924861189585
+4972,42.40101961813241,-3.2108705567828437,42.661845966527764,-2.51646880252735,42.52715911058144,-2.821445956118669
+4973,42.40101961813241,-2.51646880252735,42.661845966527764,-1.8220670482718568,42.50540626284058,-2.2991191888718747
+4974,42.661845966527764,-4.59967406529383,42.92267231492311,-3.905272311038337,42.81233628923566,-4.129571713351276
+4975,42.661845966527764,-3.905272311038337,42.92267231492311,-3.2108705567828437,42.82463863053707,-3.5748864841374
+4976,42.92267231492311,-4.59967406529383,43.18349866331846,-3.905272311038337,43.03794320908655,-4.1827935681158985
+4977,42.92267231492311,-3.905272311038337,43.18349866331846,-3.2108705567828437,43.049334985819286,-3.68621827723077
+4978,42.661845966527764,-3.2108705567828437,42.92267231492311,-2.51646880252735,42.82000507832068,-2.738015904366495
+4979,42.661845966527764,-2.51646880252735,42.92267231492311,-1.8220670482718568,42.7762203037902,-2.048945466806944
+4980,42.92267231492311,-3.2108705567828437,43.18349866331846,-2.51646880252735,43.065878644886595,-2.730818862155519
+4981,42.92267231492311,-2.51646880252735,43.05308548912079,-2.1692679253996037,43.04019569232291,-2.254970388080323
+4982,42.92267231492311,-2.1692679253996037,43.05308548912079,-1.8220670482718568,42.98765794393574,-1.8882036625306775
+4983,43.05308548912079,-2.51646880252735,43.18349866331846,-2.1692679253996037,43.12764067794815,-2.2729958027156765
+4984,43.05308548912079,-2.1692679253996037,43.18349866331846,-1.8220670482718568,43.12322861796371,-2.0030449370900865
+4985,42.14019326973706,-1.8220670482718568,42.661845966527764,-0.4332635397608702,42.4744610347773,-0.9294451968231812
+4986,42.14019326973706,-0.4332635397608702,42.661845966527764,0.9555399687501165,42.45979111703219,-0.04596791058321712
+4987,42.661845966527764,-1.8220670482718568,43.18349866331846,-0.4332635397608702,42.91505269320937,-1.2172632569786876
+4988,42.661845966527764,-0.4332635397608702,42.92267231492311,0.26113821449462316,42.79712296443912,-0.0419707628505895
+4989,42.661845966527764,0.26113821449462316,42.92267231492311,0.9555399687501165,42.79280576876741,0.5545537202089957
+4990,42.92267231492311,-0.4332635397608702,43.18349866331846,0.26113821449462316,43.02838596498026,-0.07689724264654887
+4991,42.92267231492311,0.26113821449462316,43.18349866331846,0.9555399687501165,43.0715222149772,0.525675308750815
+4992,43.18349866331846,-10.154888099337777,43.705151360109156,-8.76608459082679,43.27356666054118,-8.885820507239535
+4993,43.18349866331846,-8.76608459082679,43.31391183751613,-8.418883713699042,43.25122603896331,-8.547325459496044
+4994,43.18349866331846,-8.418883713699042,43.31391183751613,-8.071682836571297,43.26717648709143,-8.300925031782684
+4995,43.31391183751613,-8.76608459082679,43.44432501171381,-8.418883713699042,43.34688681844279,-8.436381308479907
+4996,43.31391183751613,-8.418883713699042,43.44432501171381,-8.071682836571297,43.35041990570372,-8.364754814140346
+4997,43.18349866331846,-8.071682836571297,43.44432501171381,-7.377281082315804,43.28912782552649,-7.746477371582215
+4998,43.44432501171381,-8.071682836571297,43.705151360109156,-7.377281082315804,43.53452536636336,-7.730829718062595
+4999,43.705151360109156,-8.76608459082679,44.22680405689985,-7.377281082315804,43.7656568456697,-7.680776164271601
+5000,43.18349866331846,-7.377281082315804,43.705151360109156,-5.988477573804817,43.498829334486764,-6.642316040011868
+5001,43.18349866331846,-5.988477573804817,43.44432501171381,-5.294075819549324,43.32731124997798,-5.7660359708759765
+5002,43.18349866331846,-5.294075819549324,43.44432501171381,-4.59967406529383,43.335055372744485,-4.900375526982408
+5003,43.44432501171381,-5.988477573804817,43.705151360109156,-5.294075819549324,43.52189757139375,-5.637351089275114
+5004,43.44432501171381,-5.294075819549324,43.705151360109156,-4.59967406529383,43.46561668987784,-5.131642494308467
+5005,43.18349866331846,-4.59967406529383,43.44432501171381,-3.905272311038337,43.32045890256252,-4.162971245630924
+5006,43.18349866331846,-3.905272311038337,43.44432501171381,-3.2108705567828437,43.36192252646808,-3.636695822483015
+5007,43.44432501171381,-4.59967406529383,43.705151360109156,-3.905272311038337,43.45497981847417,-3.9269694951152765
+5008,43.44432501171381,-3.905272311038337,43.705151360109156,-3.2108705567828437,43.464128536821946,-3.731090856713434
+5009,43.18349866331846,-3.2108705567828437,43.44432501171381,-2.51646880252735,43.297120128935376,-2.909806244464982
+5010,43.18349866331846,-2.51646880252735,43.31391183751613,-2.1692679253996037,43.241977630514015,-2.298641129158656
+5011,43.18349866331846,-2.1692679253996037,43.31391183751613,-1.8220670482718568,43.25925706617012,-1.9480994604939756
+5012,43.31391183751613,-2.51646880252735,43.44432501171381,-2.1692679253996037,43.330017935298116,-2.4578425855765005
+5013,43.31391183751613,-2.1692679253996037,43.44432501171381,-1.8220670482718568,43.33168864777459,-1.9000801485732415
+5014,43.44432501171381,-3.2108705567828437,43.705151360109156,-2.51646880252735,43.45022915960175,-2.7597858501055
+5015,43.18349866331846,-1.8220670482718568,43.31391183751613,-1.4748661711441102,43.259524948791835,-1.689172779105877
+5016,43.18349866331846,-1.4748661711441102,43.31391183751613,-1.1276652940163636,43.27400915362763,-1.3324323766016124
+5017,43.31391183751613,-1.8220670482718568,43.44432501171381,-1.4748661711441102,43.35985964304332,-1.6950825685220952
+5018,43.31391183751613,-1.4748661711441102,43.44432501171381,-1.1276652940163636,43.40016181876009,-1.3974362456445601
+5019,43.18349866331846,-1.1276652940163636,43.44432501171381,-0.4332635397608702,43.324852486075656,-0.5350758818413558
+5020,43.44432501171381,-1.8220670482718568,43.705151360109156,-1.1276652940163636,43.52229799671006,-1.4378063648790678
+5021,43.44432501171381,-1.1276652940163636,43.705151360109156,-0.4332635397608702,43.53398617046339,-0.8378151470808611
+5022,43.18349866331846,-0.4332635397608702,43.44432501171381,0.26113821449462316,43.300613999567794,-0.20930335015740187
+5023,43.18349866331846,0.26113821449462316,43.44432501171381,0.9555399687501165,43.33060804757814,0.5750988239181432
+5024,43.44432501171381,-0.4332635397608702,43.705151360109156,0.26113821449462316,43.60397532617405,-0.08957984693730872
+5025,43.44432501171381,0.26113821449462316,43.705151360109156,0.9555399687501165,43.6014975376703,0.6910239202464848
+5026,43.705151360109156,-1.8220670482718568,44.22680405689985,-0.4332635397608702,43.84437511245898,-1.0484564949036337
+5027,43.705151360109156,-0.4332635397608702,43.835564534306826,-0.08606266263312351,43.7974435481522,-0.1649933513089398
+5028,43.705151360109156,-0.08606266263312351,43.835564534306826,0.26113821449462316,43.792613008379064,0.12715257090852353
+5029,43.835564534306826,-0.4332635397608702,43.965977708504504,-0.08606266263312351,43.884663080641396,-0.1661551782272307
+5030,43.835564534306826,-0.08606266263312351,43.965977708504504,0.26113821449462316,43.89211477920683,0.05687983360245099
+5031,43.705151360109156,0.26113821449462316,43.965977708504504,0.9555399687501165,43.844684410673366,0.5379717600759991
+5032,43.965977708504504,-0.4332635397608702,44.09639088270218,-0.08606266263312351,44.046956547162154,-0.32088738063319905
+5033,43.965977708504504,-0.08606266263312351,44.09639088270218,0.26113821449462316,44.03281665071133,0.07641420097946341
+5034,44.09639088270218,-0.4332635397608702,44.22680405689985,-0.08606266263312351,44.1619731458818,-0.18436484304268658
+5035,44.09639088270218,-0.08606266263312351,44.22680405689985,0.26113821449462316,44.142223510304845,0.1701915243616299
+5036,43.965977708504504,0.26113821449462316,44.09639088270218,0.6083390916223699,44.05704130702769,0.37152954129912663
+5037,43.965977708504504,0.6083390916223699,44.09639088270218,0.9555399687501165,44.04801923084402,0.8628093652388271
+5038,44.09639088270218,0.26113821449462316,44.22680405689985,0.6083390916223699,44.16774329867955,0.4064740603678646
+5039,44.09639088270218,0.6083390916223699,44.22680405689985,0.9555399687501165,44.17028252013554,0.6778982428671707
+5040,44.22680405689985,-1.8220670482718568,44.74845675369055,-0.4332635397608702,44.60747569626135,-0.8763607464898181
+5041,44.22680405689985,-0.4332635397608702,44.4876304052952,0.26113821449462316,44.399305972181246,-0.10040559484756524
+5042,44.22680405689985,0.26113821449462316,44.4876304052952,0.9555399687501165,44.304208784386596,0.4510740208429878
+5043,44.4876304052952,-0.4332635397608702,44.74845675369055,0.26113821449462316,44.58263492678253,-0.22141604378554802
+5044,44.4876304052952,0.26113821449462316,44.74845675369055,0.9555399687501165,44.648695925968546,0.7618662659818878
+5045,44.74845675369055,-1.8220670482718568,45.0092831020859,-1.1276652940163636,44.91204758964464,-1.1545164985830425
+5046,44.74845675369055,-1.1276652940163636,44.878869927888225,-0.7804644168886169,44.78794614933937,-0.8632694016600586
+5047,44.74845675369055,-0.7804644168886169,44.878869927888225,-0.4332635397608702,44.81150217092367,-0.6196466426719051
+5048,44.878869927888225,-1.1276652940163636,45.0092831020859,-0.7804644168886169,44.97083403937054,-1.0445218768884406
+5049,44.878869927888225,-0.7804644168886169,45.0092831020859,-0.4332635397608702,44.92849782283906,-0.5411494922346702
+5050,45.0092831020859,-1.8220670482718568,45.27010945048125,-1.1276652940163636,45.0560032069179,-1.1688171753877798
+5051,45.0092831020859,-1.1276652940163636,45.27010945048125,-0.4332635397608702,45.1185355778389,-0.7086586548176931
+5052,44.74845675369055,-0.4332635397608702,45.0092831020859,0.26113821449462316,44.85594388736136,-0.20452145968648036
+5053,44.74845675369055,0.26113821449462316,45.0092831020859,0.9555399687501165,44.84293470964635,0.7521753262517815
+5054,45.0092831020859,-0.4332635397608702,45.27010945048125,0.26113821449462316,45.17634498106656,0.006165695064960154
+5055,45.0092831020859,0.26113821449462316,45.27010945048125,0.9555399687501165,45.14520033076486,0.5138264055311216
+5056,53.61655259913243,-143.4800249163925,57.78977417345803,-132.3695968483046,57.073748969444395,-135.092232700642
+5057,59.876384960620825,-151.81284596745843,60.919690354202224,-149.03523895043645,60.524021749782406,-150.10884562929888
+5058,60.919690354202224,-150.42404245894744,61.44134305099293,-149.03523895043645,61.19049194260389,-149.79847482281664
+5059,61.44134305099293,-150.42404245894744,61.96299574778362,-149.03523895043645,61.616611239982646,-149.29562007908578
+5060,59.876384960620825,-149.03523895043645,61.96299574778362,-143.4800249163925,61.49173002775636,-148.83610722213805
+5061,57.78977417345803,-143.4800249163925,61.96299574778362,-132.3695968483046,59.866187888147856,-135.6565885942612
+5062,45.27010945048125,-126.81438281426065,46.31341484406265,-124.03677579723868,46.294935474172,-124.07550833482
+5063,45.27010945048125,-124.03677579723868,45.5309357988766,-123.34237404298318,45.40741016717605,-123.81214175106737
+5064,45.27010945048125,-123.34237404298318,45.40052262467893,-122.99517316585543,45.34014001765457,-123.16409940212107
+5065,45.27010945048125,-122.99517316585543,45.40052262467893,-122.64797228872769,45.34914139629477,-122.81842503518338
+5066,45.40052262467893,-123.34237404298318,45.5309357988766,-122.99517316585543,45.516183888039485,-123.06396583152416
+5067,45.40052262467893,-122.99517316585543,45.5309357988766,-122.64797228872769,45.48262333166746,-122.80579291577428
+5068,45.5309357988766,-124.03677579723868,45.79176214727195,-123.34237404298318,45.66353452611802,-123.91082746751759
+5069,45.5309357988766,-123.34237404298318,45.661348973074276,-122.99517316585543,45.561610968445926,-123.07577137722302
+5070,45.5309357988766,-122.99517316585543,45.661348973074276,-122.64797228872769,45.5680263859086,-122.7888284123063
+5071,45.661348973074276,-123.34237404298318,45.79176214727195,-122.99517316585543,45.74741899015806,-123.27548101628621
+5072,45.661348973074276,-122.99517316585543,45.79176214727195,-122.64797228872769,45.73852537000778,-122.71044748641124
+5073,45.27010945048125,-122.64797228872769,45.40052262467893,-122.30077141159994,45.370120524882005,-122.59868609413982
+5074,45.27010945048125,-122.30077141159994,45.40052262467893,-121.95357053447219,45.379782655688494,-122.13734152007441
+5075,45.40052262467893,-122.64797228872769,45.5309357988766,-122.30077141159994,45.48723562174446,-122.54282592428646
+5076,45.40052262467893,-122.30077141159994,45.5309357988766,-121.95357053447219,45.466762291391134,-122.2069839410067
+5077,45.27010945048125,-121.95357053447219,45.5309357988766,-121.25916878021671,45.41270305811243,-121.63923317882521
+5078,45.5309357988766,-122.64797228872769,45.661348973074276,-122.30077141159994,45.56196572568188,-122.55032144060588
+5079,45.5309357988766,-122.30077141159994,45.661348973074276,-121.95357053447219,45.57938090493773,-122.14873021364193
+5080,45.661348973074276,-122.64797228872769,45.79176214727195,-122.30077141159994,45.7084828431225,-122.57819605233833
+5081,45.5309357988766,-121.95357053447219,45.79176214727195,-121.25916878021671,45.6741693982651,-121.59690312624281
+5082,45.79176214727195,-124.03677579723868,46.31341484406265,-122.64797228872769,46.07532010942402,-123.46116688133687
+5083,45.79176214727195,-122.64797228872769,46.0525884956673,-121.95357053447219,45.905402785895326,-122.44608830621759
+5084,45.79176214727195,-121.95357053447219,46.0525884956673,-121.25916878021671,45.943404552671346,-121.52557751120153
+5085,46.0525884956673,-122.64797228872769,46.31341484406265,-121.95357053447219,46.17568379671183,-122.08508246499622
+5086,46.0525884956673,-121.95357053447219,46.31341484406265,-121.25916878021671,46.186579829089,-121.7353403474225
+5087,46.31341484406265,-126.81438281426065,47.35672023764404,-124.03677579723868,47.003455250781606,-124.15728521913374
+5088,46.31341484406265,-124.03677579723868,46.835067540853345,-122.64797228872769,46.5492318774997,-123.00800158313952
+5089,46.31341484406265,-122.64797228872769,46.574241192458,-121.95357053447219,46.444003980026885,-122.08567080043916
+5090,46.31341484406265,-121.95357053447219,46.574241192458,-121.25916878021671,46.45139732788197,-121.83115455095488
+5091,46.574241192458,-122.64797228872769,46.835067540853345,-121.95357053447219,46.72783067489892,-122.19523366279014
+5092,46.574241192458,-121.95357053447219,46.835067540853345,-121.25916878021671,46.72807080044497,-121.62496175632698
+5093,46.835067540853345,-124.03677579723868,47.35672023764404,-122.64797228872769,47.044069543368465,-122.93258551637075
+5094,46.835067540853345,-122.64797228872769,47.09589388924869,-121.95357053447219,46.98647302536211,-122.30719673482412
+5095,46.835067540853345,-121.95357053447219,47.09589388924869,-121.25916878021671,46.93890518365107,-121.50386541872258
+5096,47.09589388924869,-122.64797228872769,47.22630706344637,-122.30077141159994,47.17123446529459,-122.46301248132366
+5097,47.09589388924869,-122.30077141159994,47.22630706344637,-121.95357053447219,47.17155056465677,-122.22407207799479
+5098,47.22630706344637,-122.64797228872769,47.35672023764404,-122.30077141159994,47.2668542363208,-122.44214280073305
+5099,47.22630706344637,-122.30077141159994,47.35672023764404,-121.95357053447219,47.3067634705441,-122.16481540995528
+5100,47.09589388924869,-121.95357053447219,47.35672023764404,-121.25916878021671,47.22332471132208,-121.60992895977607
+5101,47.35672023764404,-126.81438281426065,48.40002563122544,-124.03677579723868,47.89903056868357,-124.37249010423557
+5102,47.35672023764404,-124.03677579723868,47.878372934434736,-122.64797228872769,47.57515302143587,-122.79092085559013
+5103,47.35672023764404,-122.64797228872769,47.48713341184171,-122.30077141159994,47.42604381001417,-122.45178384554887
+5104,47.35672023764404,-122.30077141159994,47.48713341184171,-121.95357053447219,47.427701122808315,-122.19131992402968
+5105,47.48713341184171,-122.64797228872769,47.61754658603939,-122.30077141159994,47.565500449360705,-122.35987698954008
+5106,47.48713341184171,-122.30077141159994,47.61754658603939,-121.95357053447219,47.56109583322516,-122.16875681723228
+5107,47.35672023764404,-121.95357053447219,47.61754658603939,-121.25916878021671,47.486062201009766,-121.77010672526426
+5108,47.61754658603939,-122.64797228872769,47.747959760237066,-122.30077141159994,47.67042095003582,-122.36162854912135
+5109,47.61754658603939,-122.30077141159994,47.747959760237066,-121.95357053447219,47.682734839605025,-122.16268613383896
+5110,47.747959760237066,-122.64797228872769,47.878372934434736,-122.30077141159994,47.79843852160607,-122.3716895644948
+5111,47.747959760237066,-122.30077141159994,47.878372934434736,-121.95357053447219,47.7993492855917,-122.1806371165378
+5112,47.61754658603939,-121.95357053447219,47.878372934434736,-121.25916878021671,47.74293317947398,-121.7326731990947
+5113,47.878372934434736,-124.03677579723868,48.40002563122544,-122.64797228872769,48.16495070362048,-123.05387255933103
+5114,47.878372934434736,-122.64797228872769,48.008786108632414,-122.30077141159994,47.97322228094955,-122.4120023188646
+5115,47.878372934434736,-122.30077141159994,48.008786108632414,-121.95357053447219,47.93355192451455,-122.17913094192319
+5116,48.008786108632414,-122.64797228872769,48.13919928283009,-122.30077141159994,48.067561729786405,-122.48986245897318
+5117,48.008786108632414,-122.30077141159994,48.13919928283009,-121.95357053447219,48.06874084681488,-122.15228031739397
+5118,47.878372934434736,-121.95357053447219,48.13919928283009,-121.25916878021671,47.943301204338205,-121.8216998338634
+5119,48.13919928283009,-122.64797228872769,48.40002563122544,-121.95357053447219,48.27344151118909,-122.33517521132666
+5120,48.13919928283009,-121.95357053447219,48.40002563122544,-121.25916878021671,48.30693456196719,-121.65549302168976
+5121,48.40002563122544,-126.81438281426065,49.44333102480684,-124.03677579723868,49.24337246880668,-124.74089054601886
+5122,48.40002563122544,-124.03677579723868,48.53043880542312,-123.68957492011093,48.4509801225986,-123.71395476553475
+5123,48.40002563122544,-123.68957492011093,48.53043880542312,-123.34237404298318,48.45076023376587,-123.40841592610698
+5124,48.53043880542312,-123.68957492011093,48.66085197962079,-123.34237404298318,48.601127329380596,-123.45312588869118
+5125,48.40002563122544,-123.34237404298318,48.66085197962079,-122.64797228872769,48.494105447786495,-123.13772192006783
+5126,48.66085197962079,-124.03677579723868,48.92167832801614,-123.34237404298318,48.773203375412145,-123.56961425978078
+5127,48.66085197962079,-123.34237404298318,48.92167832801614,-122.64797228872769,48.85154890922993,-122.85569234780895
+5128,48.40002563122544,-122.64797228872769,48.53043880542312,-122.30077141159994,48.45836291789941,-122.42587434501246
+5129,48.40002563122544,-122.30077141159994,48.53043880542312,-121.95357053447219,48.481636766416,-122.20252405828383
+5130,48.53043880542312,-122.64797228872769,48.66085197962079,-122.30077141159994,48.59070012064869,-122.37576846424855
+5131,48.53043880542312,-122.30077141159994,48.66085197962079,-121.95357053447219,48.56548128845242,-122.24110741207619
+5132,48.40002563122544,-121.95357053447219,48.66085197962079,-121.25916878021671,48.5308318633189,-121.66047966517951
+5133,48.66085197962079,-122.64797228872769,48.791265153818465,-122.30077141159994,48.74961580423658,-122.46473126682474
+5134,48.66085197962079,-122.30077141159994,48.791265153818465,-121.95357053447219,48.69332174208504,-122.20866178551766
+5135,48.791265153818465,-122.64797228872769,48.92167832801614,-122.30077141159994,48.848373305646334,-122.48256804602366
+5136,48.791265153818465,-122.30077141159994,48.92167832801614,-121.95357053447219,48.87947368539609,-122.13167701596265
+5137,48.66085197962079,-121.95357053447219,48.92167832801614,-121.25916878021671,48.870054598368114,-121.77821646357674
+5138,48.92167832801614,-124.03677579723868,49.18250467641149,-123.34237404298318,49.06597652619949,-123.80992874627981
+5139,48.92167832801614,-123.34237404298318,49.05209150221381,-122.99517316585543,49.02774510806179,-123.08233266526054
+5140,48.92167832801614,-122.99517316585543,49.05209150221381,-122.64797228872769,48.98262295104653,-122.74759738576128
+5141,49.05209150221381,-123.34237404298318,49.18250467641149,-122.99517316585543,49.15182214486306,-123.10621799149538
+5142,49.05209150221381,-122.99517316585543,49.18250467641149,-122.64797228872769,49.13287567334955,-122.80036472359
+5143,49.18250467641149,-124.03677579723868,49.44333102480684,-123.34237404298318,49.2138586974594,-123.95327317778828
+5144,49.18250467641149,-123.34237404298318,49.31291785060917,-122.99517316585543,49.24613361583189,-123.10765551214932
+5145,49.18250467641149,-122.99517316585543,49.31291785060917,-122.64797228872769,49.229767086895116,-122.86909223508783
+5146,49.31291785060917,-123.34237404298318,49.44333102480684,-122.99517316585543,49.34298795906348,-123.15767584068523
+5147,49.31291785060917,-122.99517316585543,49.44333102480684,-122.64797228872769,49.32400698983463,-122.8952901702275
+5148,48.92167832801614,-122.64797228872769,49.18250467641149,-121.95357053447219,49.01884164979987,-122.36464417070138
+5149,48.92167832801614,-121.95357053447219,49.18250467641149,-121.25916878021671,49.04807556301932,-121.86345840560641
+5150,49.18250467641149,-122.64797228872769,49.44333102480684,-121.95357053447219,49.214296809348724,-122.27436066203315
+5151,49.18250467641149,-121.95357053447219,49.44333102480684,-121.25916878021671,49.32828497804744,-121.60052241554428
+5152,45.27010945048125,-121.25916878021671,45.79176214727195,-119.87036527170574,45.51227562096171,-120.9466901580581
+5153,45.27010945048125,-119.87036527170574,45.79176214727195,-118.48156176319475,45.53654382033418,-118.86372500462349
+5154,45.79176214727195,-121.25916878021671,46.31341484406265,-119.87036527170574,46.17972018066918,-120.2439279109683
+5155,45.79176214727195,-119.87036527170574,46.0525884956673,-119.17596351745024,45.957690052100155,-119.43258287090147
+5156,45.79176214727195,-119.17596351745024,46.0525884956673,-118.48156176319475,46.004638321489125,-118.8251065977099
+5157,46.0525884956673,-119.87036527170574,46.31341484406265,-119.17596351745024,46.21620244484599,-119.39591101023356
+5158,46.0525884956673,-119.17596351745024,46.31341484406265,-118.48156176319475,46.19248446869956,-118.96088747710864
+5159,45.27010945048125,-118.48156176319475,45.79176214727195,-117.09275825468376,45.42896617617806,-118.31333558730046
+5160,45.27010945048125,-117.09275825468376,45.79176214727195,-115.70395474617277,45.448356119861465,-116.32885251499425
+5161,45.79176214727195,-118.48156176319475,46.31341484406265,-117.09275825468376,46.12952154146113,-117.99362452354737
+5162,45.79176214727195,-117.09275825468376,46.31341484406265,-115.70395474617277,46.02582736250969,-116.41883463514864
+5163,46.31341484406265,-121.25916878021671,46.835067540853345,-119.87036527170574,46.57616251475888,-120.43057897779043
+5164,46.31341484406265,-119.87036527170574,46.835067540853345,-118.48156176319475,46.58931507491522,-118.98645331472825
+5165,46.835067540853345,-121.25916878021671,47.09589388924869,-120.56476702596123,47.00488967235444,-120.77830348471748
+5166,46.835067540853345,-120.56476702596123,47.09589388924869,-119.87036527170574,46.946964099380374,-120.3463937917792
+5167,47.09589388924869,-121.25916878021671,47.35672023764404,-120.56476702596123,47.210517508283154,-120.81692048032959
+5168,47.09589388924869,-120.56476702596123,47.35672023764404,-119.87036527170574,47.21193844860966,-119.97826842187001
+5169,46.835067540853345,-119.87036527170574,47.09589388924869,-119.17596351745024,47.069734890641016,-119.704074443687
+5170,46.835067540853345,-119.17596351745024,47.09589388924869,-118.48156176319475,47.009337678933605,-118.71947182989601
+5171,47.09589388924869,-119.87036527170574,47.35672023764404,-119.17596351745024,47.1509353882228,-119.40143446424025
+5172,47.09589388924869,-119.17596351745024,47.35672023764404,-118.48156176319475,47.25812193938955,-118.70774422541655
+5173,46.31341484406265,-118.48156176319475,46.574241192458,-117.78716000893925,46.484984276396794,-117.98279951540063
+5174,46.31341484406265,-117.78716000893925,46.574241192458,-117.09275825468376,46.42362035747129,-117.3630232212588
+5175,46.574241192458,-118.48156176319475,46.835067540853345,-117.78716000893925,46.72918561269816,-118.18711946392283
+5176,46.574241192458,-117.78716000893925,46.835067540853345,-117.09275825468376,46.738001239163864,-117.36197813803491
+5177,46.31341484406265,-117.09275825468376,46.835067540853345,-115.70395474617277,46.53550776730339,-116.92690348539746
+5178,46.835067540853345,-118.48156176319475,47.09589388924869,-117.78716000893925,46.99687874394419,-118.37069561998909
+5179,46.835067540853345,-117.78716000893925,47.09589388924869,-117.09275825468376,46.96924277802401,-117.31907501134631
+5180,47.09589388924869,-118.48156176319475,47.35672023764404,-117.78716000893925,47.231223756240716,-118.05003106932584
+5181,47.09589388924869,-117.78716000893925,47.35672023764404,-117.09275825468376,47.20231814155507,-117.36550784316195
+5182,46.835067540853345,-117.09275825468376,47.35672023764404,-115.70395474617277,46.96916633925393,-117.00343808259947
+5183,45.27010945048125,-115.70395474617277,46.31341484406265,-112.92634772915079,46.13283763632607,-113.50176999198322
+5184,45.27010945048125,-112.92634772915079,45.79176214727195,-111.5375442206398,45.612431995461606,-111.75451415775542
+5185,45.27010945048125,-111.5375442206398,45.79176214727195,-110.14874071212881,45.60031829092446,-110.81283396566197
+5186,45.79176214727195,-112.92634772915079,46.31341484406265,-111.5375442206398,45.96933505910411,-112.19373380436508
+5187,45.79176214727195,-111.5375442206398,46.31341484406265,-110.14874071212881,46.0838636958474,-111.42958071032716
+5188,46.31341484406265,-115.70395474617277,46.835067540853345,-114.31515123766178,46.571913186578044,-114.70250437095687
+5189,46.31341484406265,-114.31515123766178,46.835067540853345,-112.92634772915079,46.621896421767524,-113.55065556774822
+5190,46.835067540853345,-115.70395474617277,47.35672023764404,-114.31515123766178,47.12619941444173,-114.82120481302931
+5191,46.835067540853345,-114.31515123766178,47.35672023764404,-112.92634772915079,47.014385141278915,-113.67330956292852
+5192,46.31341484406265,-112.92634772915079,47.35672023764404,-110.14874071212881,46.622295173298454,-111.80145947268542
+5193,47.35672023764404,-121.25916878021671,47.878372934434736,-119.87036527170574,47.585687550983415,-120.42181813669784
+5194,47.35672023764404,-119.87036527170574,47.878372934434736,-118.48156176319475,47.64990183320196,-118.8845139803924
+5195,47.878372934434736,-121.25916878021671,48.40002563122544,-119.87036527170574,48.19382636842367,-120.03407257618983
+5196,47.878372934434736,-119.87036527170574,48.40002563122544,-118.48156176319475,48.08970200221081,-119.26150667036983
+5197,47.35672023764404,-118.48156176319475,47.61754658603939,-117.78716000893925,47.4409844333119,-118.05585736262158
+5198,47.35672023764404,-117.78716000893925,47.61754658603939,-117.09275825468376,47.508446772624445,-117.55213100042188
+5199,47.61754658603939,-118.48156176319475,47.878372934434736,-117.78716000893925,47.74211817497152,-118.0259594415743
+5200,47.61754658603939,-117.78716000893925,47.747959760237066,-117.4399591318115,47.657939970113596,-117.52668620803617
+5201,47.61754658603939,-117.4399591318115,47.747959760237066,-117.09275825468376,47.6694095804196,-117.3310722061533
+5202,47.747959760237066,-117.78716000893925,47.878372934434736,-117.4399591318115,47.81912710230106,-117.62046902190176
+5203,47.747959760237066,-117.4399591318115,47.878372934434736,-117.09275825468376,47.806691633578104,-117.3184860493722
+5204,47.35672023764404,-117.09275825468376,47.878372934434736,-115.70395474617277,47.617018854461364,-116.54287856524373
+5205,47.878372934434736,-118.48156176319475,48.13919928283009,-117.78716000893925,47.97734127700778,-118.19313094752067
+5206,47.878372934434736,-117.78716000893925,48.13919928283009,-117.09275825468376,48.00527261383543,-117.47005962700912
+5207,48.13919928283009,-118.48156176319475,48.40002563122544,-117.78716000893925,48.288791925123874,-118.0689680839327
+5208,48.13919928283009,-117.78716000893925,48.40002563122544,-117.09275825468376,48.24911386615836,-117.42018925223115
+5209,47.878372934434736,-117.09275825468376,48.13919928283009,-116.39835650042826,48.04910072608891,-116.67472059704875
+5210,47.878372934434736,-116.39835650042826,48.13919928283009,-115.70395474617277,48.085777397939324,-115.9461885941779
+5211,48.13919928283009,-117.09275825468376,48.40002563122544,-116.39835650042826,48.26179717726697,-116.6008151185093
+5212,48.13919928283009,-116.39835650042826,48.40002563122544,-115.70395474617277,48.241720723413756,-116.13066714520312
+5213,48.40002563122544,-121.25916878021671,48.92167832801614,-119.87036527170574,48.56939086258652,-120.52795987300479
+5214,48.40002563122544,-119.87036527170574,48.92167832801614,-118.48156176319475,48.636450451140966,-118.68179600808837
+5215,48.92167832801614,-121.25916878021671,49.44333102480684,-119.87036527170574,49.262248814534516,-120.19238676783505
+5216,48.92167832801614,-119.87036527170574,49.44333102480684,-118.48156176319475,49.0190766181672,-119.1729841594444
+5217,48.40002563122544,-118.48156176319475,48.92167832801614,-117.09275825468376,48.61250396063583,-117.88867141861651
+5218,48.40002563122544,-117.09275825468376,48.92167832801614,-115.70395474617277,48.550939173206515,-116.15966659195853
+5219,48.92167832801614,-118.48156176319475,49.44333102480684,-117.09275825468376,49.01673399934974,-117.91994987882929
+5220,47.35672023764404,-115.70395474617277,47.878372934434736,-114.31515123766178,47.408550989023034,-115.52618739410738
+5221,47.35672023764404,-114.31515123766178,47.878372934434736,-112.92634772915079,47.603753116017735,-113.84408034116755
+5222,47.878372934434736,-115.70395474617277,48.40002563122544,-114.31515123766178,48.129645493423666,-115.05119971342542
+5223,47.878372934434736,-114.31515123766178,48.40002563122544,-112.92634772915079,48.22518823084222,-114.01788959725282
+5224,47.35672023764404,-112.92634772915079,48.40002563122544,-110.14874071212881,47.678638235285696,-111.77202769606282
+5225,48.40002563122544,-115.70395474617277,49.44333102480684,-112.92634772915079,48.589925323616654,-113.8652663124666
+5226,48.40002563122544,-112.92634772915079,49.44333102480684,-110.14874071212881,49.195478550289,-110.25219872636
+5227,49.44333102480684,-126.81438281426065,50.48663641838824,-124.03677579723868,49.89359385575195,-125.30451390857947
+5228,49.44333102480684,-124.03677579723868,49.964983721597534,-122.64797228872769,49.721312220782025,-123.18134032941677
+5229,49.44333102480684,-122.64797228872769,49.964983721597534,-121.25916878021671,49.5836536558224,-121.43474796791648
+5230,49.964983721597534,-124.03677579723868,50.48663641838824,-122.64797228872769,50.16046234115871,-122.93408910380114
+5231,49.964983721597534,-122.64797228872769,50.48663641838824,-121.25916878021671,50.308111620082514,-121.93367655738267
+5232,50.48663641838824,-122.64797228872769,51.00828911517894,-121.25916878021671,50.733704073149006,-121.7575564414981
+5233,51.00828911517894,-122.64797228872769,51.529941811969636,-121.25916878021671,51.259757185852585,-121.78305782846577
+5234,51.529941811969636,-126.81438281426065,53.61655259913243,-121.25916878021671,52.51143078920513,-122.33856631376365
+5235,49.44333102480684,-121.25916878021671,50.48663641838824,-118.48156176319475,49.89600324865466,-119.98630203581037
+5236,50.48663641838824,-121.25916878021671,50.747462766783585,-120.56476702596123,50.70474513832067,-120.65909199063293
+5237,50.48663641838824,-120.56476702596123,50.747462766783585,-119.87036527170574,50.65663885331847,-120.34683205098058
+5238,50.747462766783585,-121.25916878021671,51.00828911517894,-120.56476702596123,50.77440024728536,-120.99838546192527
+5239,50.747462766783585,-120.56476702596123,51.00828911517894,-119.87036527170574,50.86794430592616,-120.26612719300167
+5240,50.48663641838824,-119.87036527170574,51.00828911517894,-118.48156176319475,50.81547697166309,-119.19725969624213
+5241,51.00828911517894,-121.25916878021671,51.529941811969636,-119.87036527170574,51.42332657709826,-120.31206790900283
+5242,51.00828911517894,-119.87036527170574,51.529941811969636,-118.48156176319475,51.074732766601,-119.76489723806
+5243,50.48663641838824,-118.48156176319475,51.00828911517894,-117.09275825468376,50.97746453333137,-118.29703770952382
+5244,50.48663641838824,-117.09275825468376,51.00828911517894,-115.70395474617277,50.69177706502188,-116.02732550820083
+5245,51.00828911517894,-118.48156176319475,51.529941811969636,-117.09275825468376,51.31250254431025,-117.53541755439466
+5246,51.00828911517894,-117.09275825468376,51.529941811969636,-115.70395474617277,51.33069658950112,-116.50107083776713
+5247,49.44333102480684,-115.70395474617277,50.48663641838824,-112.92634772915079,50.142652504237596,-113.99187330921002
+5248,49.44333102480684,-112.92634772915079,50.48663641838824,-110.14874071212881,50.15014319874848,-111.00891944995337
+5249,50.48663641838824,-115.70395474617277,51.00828911517894,-114.31515123766178,50.865073708341015,-114.76312519390567
+5250,50.48663641838824,-114.31515123766178,50.747462766783585,-113.62074948340629,50.62586592704533,-114.02460881253998
+5251,50.48663641838824,-113.62074948340629,50.747462766783585,-112.92634772915079,50.71769022937024,-113.51353006052182
+5252,50.747462766783585,-114.31515123766178,51.00828911517894,-113.62074948340629,50.95589755801839,-113.9976793168872
+5253,50.747462766783585,-113.62074948340629,51.00828911517894,-112.92634772915079,50.883140127401674,-113.28144587222071
+5254,51.00828911517894,-115.70395474617277,51.529941811969636,-114.31515123766178,51.135368134261135,-114.87336422582383
+5255,51.00828911517894,-114.31515123766178,51.13870228937661,-113.96795036053403,51.07546130082838,-114.09295424473827
+5256,51.00828911517894,-113.96795036053403,51.13870228937661,-113.62074948340629,51.066182038186746,-113.92205468887079
+5257,51.13870228937661,-114.31515123766178,51.26911546357429,-113.96795036053403,51.18125664806983,-114.08828496199126
+5258,51.13870228937661,-113.96795036053403,51.26911546357429,-113.62074948340629,51.201080742354904,-113.91941476362621
+5259,51.00828911517894,-113.62074948340629,51.26911546357429,-112.92634772915079,51.15435243680014,-113.2768865434928
+5260,51.26911546357429,-114.31515123766178,51.529941811969636,-113.62074948340629,51.33048221489651,-114.01305367026441
+5261,51.26911546357429,-113.62074948340629,51.529941811969636,-112.92634772915079,51.4564858109048,-113.266777393902
+5262,50.48663641838824,-112.92634772915079,51.529941811969636,-110.14874071212881,50.783400462643115,-112.1918105205444
+5263,51.529941811969636,-121.25916878021671,53.61655259913243,-115.70395474617277,52.67579197406021,-118.42770633765947
+5264,51.529941811969636,-115.70395474617277,52.573247205551034,-112.92634772915079,51.92167055464367,-113.99210779054722
+5265,51.529941811969636,-112.92634772915079,52.573247205551034,-110.14874071212881,51.81406765701722,-111.68940792695393
+5266,52.573247205551034,-114.31515123766178,53.09489990234174,-112.92634772915079,52.82033471578397,-113.63775590765987
+5267,53.09489990234174,-115.70395474617277,53.61655259913243,-114.31515123766178,53.5203266897694,-115.011336591998
+5268,53.09489990234174,-113.62074948340629,53.355726250737085,-112.92634772915079,53.2377620050435,-113.56292715332542
+5269,53.355726250737085,-114.31515123766178,53.61655259913243,-113.62074948340629,53.495911929574426,-113.70823548546254
+5270,53.355726250737085,-113.62074948340629,53.48613942493476,-113.27354860627854,53.45012110806085,-113.50943377984653
+5271,53.355726250737085,-113.27354860627854,53.48613942493476,-112.92634772915079,53.41948763568078,-113.15339219912026
+5272,53.48613942493476,-113.62074948340629,53.61655259913243,-113.27354860627854,53.54828556821883,-113.48586109804846
+5273,53.48613942493476,-113.27354860627854,53.61655259913243,-112.92634772915079,53.55060960966647,-113.18428682088738
+5274,52.573247205551034,-112.92634772915079,53.61655259913243,-110.14874071212881,53.15723026273635,-111.81230994207716
+5275,45.27010945048125,-110.14874071212881,45.79176214727195,-108.75993720361782,45.57816117915241,-109.39784836958907
+5276,45.27010945048125,-108.75993720361782,45.79176214727195,-107.37113369510683,45.76016403948658,-108.52161778925766
+5277,45.79176214727195,-110.14874071212881,46.31341484406265,-108.75993720361782,45.972878245600334,-109.50988553499562
+5278,45.79176214727195,-108.75993720361782,46.31341484406265,-107.37113369510683,45.84917212844514,-108.57539202275619
+5279,45.27010945048125,-107.37113369510683,46.31341484406265,-104.59352667808487,45.4806415769829,-105.93068792403756
+5280,46.31341484406265,-110.14874071212881,47.35672023764404,-107.37113369510683,46.58063250907107,-109.55076458071582
+5281,46.31341484406265,-107.37113369510683,47.35672023764404,-104.59352667808487,47.06418733973848,-104.68219926026639
+5282,45.27010945048125,-104.59352667808487,47.35672023764404,-99.03831264404093,46.75762370425753,-101.19703845724709
+5283,47.35672023764404,-110.14874071212881,49.44333102480684,-104.59352667808487,48.61469890474683,-106.94816469152234
+5284,47.35672023764404,-104.59352667808487,49.44333102480684,-99.03831264404093,47.69203824218795,-103.0185064764119
+5285,45.27010945048125,-99.03831264404093,46.31341484406265,-96.26070562701895,45.798143798964205,-97.00120254781163
+5286,45.27010945048125,-96.26070562701895,46.31341484406265,-93.48309860999697,45.70594023178262,-94.08862986968637
+5287,46.31341484406265,-99.03831264404093,47.35672023764404,-96.26070562701895,46.902353088240574,-97.08617153068846
+5288,46.31341484406265,-96.26070562701895,46.835067540853345,-94.87190211850796,46.569493852884335,-95.65475959186375
+5289,46.31341484406265,-94.87190211850796,46.835067540853345,-93.48309860999697,46.54685292225277,-94.03903515356866
+5290,46.835067540853345,-96.26070562701895,47.35672023764404,-94.87190211850796,46.98154500452011,-95.16214666659448
+5291,46.835067540853345,-94.87190211850796,47.35672023764404,-93.48309860999697,47.35286528640812,-93.84390965252678
+5292,45.27010945048125,-93.48309860999697,45.79176214727195,-92.09429510148598,45.521611530185915,-92.74350662298454
+5293,45.27010945048125,-92.09429510148598,45.79176214727195,-90.705491592975,45.54073656131128,-91.72068409808045
+5294,45.79176214727195,-93.48309860999697,46.31341484406265,-92.09429510148598,45.96082354358875,-92.60571139732993
+5295,45.79176214727195,-92.09429510148598,46.31341484406265,-90.705491592975,46.04285469407742,-91.42077481594416
+5296,45.27010945048125,-90.705491592975,45.79176214727195,-89.316688084464,45.563082282509704,-89.63951403315951
+5297,45.27010945048125,-89.316688084464,45.79176214727195,-87.92788457595303,45.42109503895359,-88.23788042021846
+5298,45.79176214727195,-90.705491592975,46.31341484406265,-89.316688084464,45.92839721384371,-89.66996751808882
+5299,45.79176214727195,-89.316688084464,46.31341484406265,-87.92788457595303,46.005210961965105,-88.24352966998352
+5300,46.31341484406265,-93.48309860999697,46.835067540853345,-92.09429510148598,46.71873727908217,-92.30696949453656
+5301,46.31341484406265,-92.09429510148598,46.835067540853345,-90.705491592975,46.65636812774628,-91.84921983698997
+5302,46.835067540853345,-93.48309860999697,47.35672023764404,-92.09429510148598,47.05234645967381,-92.42767235366676
+5303,46.835067540853345,-92.09429510148598,47.35672023764404,-90.705491592975,47.08192570078548,-91.6032230549514
+5304,46.31341484406265,-90.705491592975,46.835067540853345,-89.316688084464,46.42714918928013,-90.19193511804997
+5305,46.31341484406265,-89.316688084464,46.835067540853345,-87.92788457595303,46.6263841368091,-88.76062007147145
+5306,46.835067540853345,-89.316688084464,47.35672023764404,-87.92788457595303,47.10841219800404,-88.56429693030512
+5307,47.35672023764404,-99.03831264404093,48.40002563122544,-96.26070562701895,48.059456143724034,-97.16677847121277
+5308,47.35672023764404,-96.26070562701895,48.40002563122544,-93.48309860999697,47.71907024188843,-94.90633645024351
+5309,48.40002563122544,-99.03831264404093,48.92167832801614,-97.64950913552994,48.76261942274298,-97.72947851983506
+5310,48.40002563122544,-97.64950913552994,48.92167832801614,-96.26070562701895,48.473592660728194,-97.30042226433177
+5311,48.92167832801614,-99.03831264404093,49.44333102480684,-97.64950913552994,48.94843163023044,-98.00034310916021
+5312,48.92167832801614,-97.64950913552994,49.44333102480684,-96.26070562701895,49.27417467659724,-96.53032869992991
+5313,48.40002563122544,-96.26070562701895,48.92167832801614,-94.87190211850796,48.83145333570968,-95.21479163079988
+5314,48.40002563122544,-94.87190211850796,48.92167832801614,-93.48309860999697,48.632463088536355,-94.16526494243007
+5315,48.92167832801614,-96.26070562701895,49.44333102480684,-94.87190211850796,49.06089038257644,-95.76899833133807
+5316,47.35672023764404,-92.78869685574148,47.61754658603939,-92.09429510148598,47.49045730335076,-92.53423866778057
+5317,47.61754658603939,-92.78869685574148,47.878372934434736,-92.09429510148598,47.786443662773216,-92.5643913132884
+5318,47.35672023764404,-92.09429510148598,47.878372934434736,-90.705491592975,47.619075226677694,-91.23953733024678
+5319,47.878372934434736,-93.48309860999697,48.13919928283009,-92.78869685574148,48.00785304358625,-92.82747572511516
+5320,47.878372934434736,-92.78869685574148,48.13919928283009,-92.09429510148598,47.976277731566896,-92.66319967535821
+5321,48.13919928283009,-93.48309860999697,48.40002563122544,-92.78869685574148,48.25402757428773,-92.92882500972544
+5322,48.13919928283009,-92.78869685574148,48.40002563122544,-92.09429510148598,48.20917436499705,-92.5160664387175
+5323,47.878372934434736,-92.09429510148598,48.40002563122544,-90.705491592975,47.926853758748614,-91.73950283555006
+5324,47.35672023764404,-90.705491592975,48.40002563122544,-87.92788457595303,47.560209822194636,-88.51007507339779
+5325,48.40002563122544,-93.48309860999697,49.44333102480684,-90.705491592975,48.7060071522919,-92.84158154124188
+5326,48.40002563122544,-90.705491592975,49.44333102480684,-87.92788457595303,48.677697083420405,-89.31081294757722
+5327,49.44333102480684,-110.14874071212881,50.48663641838824,-107.37113369510683,50.08245591294123,-108.87613398985184
+5328,49.44333102480684,-107.37113369510683,50.48663641838824,-104.59352667808487,50.41983950907509,-105.83214630330714
+5329,50.48663641838824,-110.14874071212881,51.529941811969636,-107.37113369510683,51.474494013379996,-107.51750786702999
+5330,50.48663641838824,-107.37113369510683,51.529941811969636,-104.59352667808487,51.219000391946096,-105.97448228984705
+5331,49.44333102480684,-104.59352667808487,50.48663641838824,-101.8159196610629,50.40608388239774,-103.74947582508577
+5332,49.44333102480684,-101.8159196610629,50.48663641838824,-99.03831264404093,49.90737490364934,-99.99495818792899
+5333,50.48663641838824,-104.59352667808487,51.529941811969636,-101.8159196610629,50.69522582433274,-103.76263111109051
+5334,50.48663641838824,-101.8159196610629,51.529941811969636,-99.03831264404093,50.72151960361542,-101.3894297348088
+5335,51.529941811969636,-110.14874071212881,52.573247205551034,-107.37113369510683,52.23893980794401,-108.4873780074188
+5336,51.529941811969636,-107.37113369510683,52.05159450876033,-105.98233018659585,51.86363237977374,-106.41797476591229
+5337,51.529941811969636,-105.98233018659585,52.05159450876033,-104.59352667808487,51.78422967938559,-105.41605761538726
+5338,52.05159450876033,-107.37113369510683,52.312420857155686,-106.67673194085134,52.13285355071521,-106.77755691551648
+5339,52.05159450876033,-106.67673194085134,52.18200768295801,-106.32953106372359,52.12425530394212,-106.61592857709685
+5340,52.18200768295801,-106.67673194085134,52.312420857155686,-106.32953106372359,52.19139421184482,-106.6439865924775
+5341,52.573247205551034,-110.14874071212881,53.61655259913243,-107.37113369510683,53.23876735165749,-109.9429989494984
+5342,51.529941811969636,-104.59352667808487,53.61655259913243,-99.03831264404093,51.59583945398579,-103.83181266270422
+5343,49.44333102480684,-99.03831264404093,49.964983721597534,-97.64950913552994,49.92380700842909,-98.20504996011647
+5344,49.44333102480684,-97.64950913552994,49.704157373202186,-96.95510738127444,49.61968662923231,-97.21638555455388
+5345,49.44333102480684,-96.95510738127444,49.704157373202186,-96.26070562701895,49.588808168500925,-96.6704691703294
+5346,49.704157373202186,-97.64950913552994,49.83457054739986,-97.30230825840219,49.75260016637279,-97.37910798548509
+5347,49.704157373202186,-97.30230825840219,49.83457054739986,-96.95510738127444,49.77639647397217,-97.1646574592417
+5348,49.83457054739986,-97.64950913552994,49.964983721597534,-97.30230825840219,49.88439815301576,-97.49413830641767
+5349,49.83457054739986,-97.30230825840219,49.964983721597534,-96.95510738127444,49.886757702572694,-97.1048713930774
+5350,49.704157373202186,-96.95510738127444,49.964983721597534,-96.26070562701895,49.76914909414604,-96.81159408122569
+5351,49.964983721597534,-99.03831264404093,50.48663641838824,-97.64950913552994,50.01574271664792,-98.345947949421
+5352,49.964983721597534,-97.64950913552994,50.48663641838824,-96.26070562701895,50.102902854263135,-97.02578147453352
+5353,49.44333102480684,-96.26070562701895,50.48663641838824,-93.48309860999697,49.69344901650929,-95.55309856176773
+5354,50.48663641838824,-99.03831264404093,51.529941811969636,-96.26070562701895,50.63093935442026,-96.98206711456723
+5355,50.48663641838824,-96.26070562701895,51.529941811969636,-93.48309860999697,50.979640505214,-93.870755183593
+5356,49.44333102480684,-93.48309860999697,51.529941811969636,-87.92788457595303,49.70371079728738,-92.20309925698483
+5357,53.61655259913243,-132.3695968483046,61.96299574778362,-110.14874071212881,55.178225033853884,-118.80382303267518
+5358,61.96299574778362,-176.81130912065618,78.655882045086,-132.3695968483046,63.06846154478223,-145.00302781671047
+5359,61.96299574778362,-132.3695968483046,78.655882045086,-87.92788457595303,62.460674393044,-114.37564030942
+5360,45.27010945048125,-87.92788457595303,45.79176214727195,-86.53908106744205,45.61078567790934,-87.24247771860468
+5361,45.27010945048125,-86.53908106744205,45.79176214727195,-85.15027755893107,45.49404777947028,-85.37860326666477
+5362,45.79176214727195,-87.92788457595303,46.31341484406265,-86.53908106744205,45.98319652480983,-87.06811465033209
+5363,45.79176214727195,-86.53908106744205,46.31341484406265,-85.15027755893107,46.18116203267097,-85.6492929741659
+5364,45.27010945048125,-85.15027755893107,45.79176214727195,-83.76147405042008,45.56812516806283,-84.83643013759222
+5365,45.79176214727195,-85.15027755893107,46.0525884956673,-84.45587580467557,45.95653504837517,-84.71821361690779
+5366,45.79176214727195,-84.45587580467557,46.0525884956673,-83.76147405042008,45.99406571671774,-84.09110860541887
+5367,46.0525884956673,-85.15027755893107,46.31341484406265,-84.45587580467557,46.147060664804954,-84.92925899569266
+5368,46.0525884956673,-84.45587580467557,46.31341484406265,-83.76147405042008,46.168457043565496,-84.25573913677401
+5369,45.79176214727195,-83.76147405042008,46.31341484406265,-82.37267054190909,46.00072015819515,-83.65097403944759
+5370,46.31341484406265,-87.92788457595303,46.574241192458,-87.23348282169755,46.49169353251532,-87.42270511045113
+5371,46.31341484406265,-87.23348282169755,46.574241192458,-86.53908106744205,46.362512757359966,-86.9094137251464
+5372,46.574241192458,-87.92788457595303,46.835067540853345,-87.23348282169755,46.599532749564666,-87.45462391627204
+5373,46.31341484406265,-86.53908106744205,46.835067540853345,-85.15027755893107,46.41802854497357,-85.58596939783114
+5374,46.31341484406265,-85.15027755893107,46.574241192458,-84.45587580467557,46.43948190403847,-84.83998604822682
+5375,46.31341484406265,-84.45587580467557,46.574241192458,-83.76147405042008,46.45598548867383,-84.33223163665374
+5376,46.574241192458,-85.15027755893107,46.835067540853345,-84.45587580467557,46.66108341489421,-85.0491037585258
+5377,46.574241192458,-84.45587580467557,46.835067540853345,-83.76147405042008,46.824526096127556,-84.3976524654655
+5378,46.835067540853345,-85.15027755893107,47.35672023764404,-83.76147405042008,47.08432273496411,-84.58408589177506
+5379,45.27010945048125,-82.37267054190909,46.31341484406265,-79.59506352488711,45.74505193337802,-80.43451738387455
+5380,45.27010945048125,-79.59506352488711,45.79176214727195,-78.20626001637612,45.463797696746916,-78.98564987818288
+5381,45.27010945048125,-78.20626001637612,45.79176214727195,-76.81745650786513,45.54597354017529,-77.14961839872794
+5382,45.79176214727195,-79.59506352488711,46.31341484406265,-78.20626001637612,46.21916076189281,-79.04448974017136
+5383,45.79176214727195,-78.20626001637612,46.31341484406265,-76.81745650786513,45.9885235921084,-77.45476511484551
+5384,46.31341484406265,-82.37267054190909,47.35672023764404,-79.59506352488711,46.56101204993512,-81.05768782642255
+5385,46.31341484406265,-79.59506352488711,47.35672023764404,-76.81745650786513,46.50169722774733,-79.35199066559585
+5386,47.35672023764404,-87.92788457595303,49.44333102480684,-82.37267054190909,47.91152395563052,-87.2752295629554
+5387,47.35672023764404,-82.37267054190909,49.44333102480684,-76.81745650786513,48.40742255949598,-80.41196180696497
+5388,45.27010945048125,-76.81745650786513,45.5309357988766,-76.12305475360964,45.39852653834959,-76.29124823334945
+5389,45.27010945048125,-76.12305475360964,45.40052262467893,-75.77585387648189,45.32424264725162,-75.89344721733157
+5390,45.27010945048125,-75.77585387648189,45.40052262467893,-75.42865299935414,45.34447496959431,-75.68521135275651
+5391,45.40052262467893,-76.12305475360964,45.5309357988766,-75.77585387648189,45.46714228915046,-75.91303308782769
+5392,45.40052262467893,-75.77585387648189,45.5309357988766,-75.42865299935414,45.446905339016496,-75.62090957408248
+5393,45.5309357988766,-76.81745650786513,45.79176214727195,-76.12305475360964,45.59162870417017,-76.44717803753426
+5394,45.5309357988766,-76.12305475360964,45.79176214727195,-75.42865299935414,45.640556518569824,-75.91494971360414
+5395,45.27010945048125,-75.42865299935414,45.5309357988766,-74.73425124509865,45.38525705102655,-75.20917625670461
+5396,45.27010945048125,-74.73425124509865,45.5309357988766,-74.03984949084315,45.46540114090898,-74.28352279592008
+5397,45.5309357988766,-75.42865299935414,45.79176214727195,-74.73425124509865,45.61130242655435,-75.04887667640143
+5398,45.5309357988766,-74.73425124509865,45.79176214727195,-74.03984949084315,45.61597164231023,-74.4212938123726
+5399,45.79176214727195,-76.81745650786513,46.31341484406265,-75.42865299935414,45.950061130469294,-76.13803057389127
+5400,45.79176214727195,-75.42865299935414,46.31341484406265,-74.03984949084315,46.00821956466573,-74.41680767301558
+5401,45.27010945048125,-74.03984949084315,45.5309357988766,-73.34544773658766,45.46627228611808,-73.67519905617101
+5402,45.27010945048125,-73.34544773658766,45.5309357988766,-72.65104598233216,45.352905185470014,-73.16327631405659
+5403,45.5309357988766,-74.03984949084315,45.79176214727195,-73.34544773658766,45.62916016504432,-73.78218180492158
+5404,45.5309357988766,-73.34544773658766,45.79176214727195,-72.65104598233216,45.625108060020544,-73.07546799869729
+5405,45.27010945048125,-72.65104598233216,45.79176214727195,-71.26224247382119,45.32786368062149,-72.227206462758
+5406,45.79176214727195,-74.03984949084315,46.31341484406265,-72.65104598233216,45.89563265098593,-73.70982378904289
+5407,45.79176214727195,-72.65104598233216,46.31341484406265,-71.26224247382119,46.1141388343067,-72.39958132390896
+5408,46.31341484406265,-76.81745650786513,47.35672023764404,-74.03984949084315,46.45791368288747,-75.57299662818939
+5409,46.31341484406265,-74.03984949084315,47.35672023764404,-71.26224247382119,46.756569045006856,-71.6158215399954
+5410,45.27010945048125,-71.26224247382119,46.31341484406265,-68.48463545679923,45.453302281851194,-68.59278319433366
+5411,45.27010945048125,-68.48463545679923,45.79176214727195,-67.09583194828824,45.58077890643535,-68.35681520702917
+5412,45.27010945048125,-67.09583194828824,45.79176214727195,-65.70702843977725,45.42897490861379,-65.9528799511587
+5413,45.79176214727195,-68.48463545679923,46.31341484406265,-67.09583194828824,46.044037934959555,-68.20902690201268
+5414,45.79176214727195,-67.09583194828824,46.31341484406265,-65.70702843977725,45.908635721346975,-66.61786961730809
+5415,46.31341484406265,-71.26224247382119,47.35672023764404,-68.48463545679923,46.83728344514131,-71.19417533356572
+5416,46.31341484406265,-68.48463545679923,46.835067540853345,-67.09583194828824,46.656147951074196,-67.95018794489708
+5417,46.835067540853345,-68.48463545679923,47.35672023764404,-67.09583194828824,47.00321608917272,-68.04569777876362
+5418,47.35672023764404,-71.26224247382119,49.44333102480684,-65.70702843977725,47.793600534918625,-70.43930086294749
+5419,49.44333102480684,-87.92788457595303,53.61655259913243,-76.81745650786513,49.65238473085013,-83.99304899285647
+5420,45.27010945048125,-65.70702843977725,46.31341484406265,-62.92942142275527,45.938987844900666,-64.35628414600312
+5421,45.27010945048125,-62.92942142275527,46.31341484406265,-60.1518144057333,45.77247202484271,-61.20427277899093
+5422,46.31341484406265,-65.70702843977725,47.35672023764404,-62.92942142275527,46.41211908166167,-63.345279256738
+5423,46.31341484406265,-62.92942142275527,47.35672023764404,-60.1518144057333,46.710901474866255,-60.54281904859535
+5424,47.35672023764404,-60.1518144057333,49.44333102480684,-54.59660037168935,47.427056196558,-59.38023556157
+5425,45.27010945048125,-54.59660037168935,49.44333102480684,-43.48617230360146,47.60542434192933,-52.77101599299604
+5426,45.27010945048125,-1.8220670482718568,45.5309357988766,-1.1276652940163636,45.493262055146666,-1.1333519290394
+5427,45.27010945048125,-1.1276652940163636,45.5309357988766,-0.4332635397608702,45.3554111291452,-0.733415340312725
+5428,45.5309357988766,-1.8220670482718568,45.79176214727195,-1.1276652940163636,45.713530864708495,-1.1656666201710213
+5429,45.5309357988766,-1.1276652940163636,45.661348973074276,-0.7804644168886169,45.61172146809416,-1.0062776169854217
+5430,45.5309357988766,-0.7804644168886169,45.661348973074276,-0.4332635397608702,45.60682295991682,-0.5905773932611171
+5431,45.661348973074276,-1.1276652940163636,45.79176214727195,-0.7804644168886169,45.715156739449675,-0.9787974481660809
+5432,45.661348973074276,-0.7804644168886169,45.79176214727195,-0.4332635397608702,45.73744031983557,-0.5918954677449654
+5433,45.27010945048125,-0.4332635397608702,45.79176214727195,0.9555399687501165,45.597699160655836,-0.003954158179892033
+5434,45.79176214727195,-1.8220670482718568,46.0525884956673,-1.1276652940163636,45.9346352987018,-1.2836680904867133
+5435,45.79176214727195,-1.1276652940163636,46.0525884956673,-0.4332635397608702,45.91747792412281,-0.8443783728980585
+5436,46.0525884956673,-1.8220670482718568,46.31341484406265,-1.1276652940163636,46.17804622431354,-1.198175493506109
+5437,46.0525884956673,-1.1276652940163636,46.18300166986498,-0.7804644168886169,46.12997696715466,-1.041289267768403
+5438,46.0525884956673,-0.7804644168886169,46.18300166986498,-0.4332635397608702,46.09643260394779,-0.5458716226961081
+5439,46.18300166986498,-1.1276652940163636,46.31341484406265,-0.7804644168886169,46.244869714264745,-0.9844127776317105
+5440,46.18300166986498,-0.7804644168886169,46.31341484406265,-0.4332635397608702,46.26974627402291,-0.5494396039085391
+5441,45.79176214727195,-0.4332635397608702,46.0525884956673,0.26113821449462316,45.95201611226316,0.10236261921149567
+5442,45.79176214727195,0.26113821449462316,46.0525884956673,0.9555399687501165,45.92657357128772,0.6348347290706895
+5443,46.0525884956673,-0.4332635397608702,46.31341484406265,0.26113821449462316,46.2096580033852,-0.1570404025729909
+5444,46.0525884956673,0.26113821449462316,46.31341484406265,0.9555399687501165,46.16193712962247,0.6139122313041151
+5445,46.31341484406265,-3.2108705567828437,46.835067540853345,-1.8220670482718568,46.744192476073174,-1.9456548905792175
+5446,46.835067540853345,-2.51646880252735,47.09589388924869,-1.8220670482718568,46.95547980050951,-2.00973632094706
+5447,47.09589388924869,-3.2108705567828437,47.35672023764404,-2.51646880252735,47.31131551054125,-2.74984041288225
+5448,47.09589388924869,-2.51646880252735,47.35672023764404,-1.8220670482718568,47.24499645782154,-2.1785003807786816
+5449,46.31341484406265,-1.8220670482718568,46.44382801826032,-1.4748661711441102,46.41818858298477,-1.5359681551964948
+5450,46.31341484406265,-1.4748661711441102,46.44382801826032,-1.1276652940163636,46.37657184124289,-1.3479716383917884
+5451,46.44382801826032,-1.8220670482718568,46.574241192458,-1.4748661711441102,46.504966469771276,-1.7268641085724827
+5452,46.44382801826032,-1.4748661711441102,46.574241192458,-1.1276652940163636,46.50211476533276,-1.3483190712100142
+5453,46.31341484406265,-1.1276652940163636,46.44382801826032,-0.7804644168886169,46.38157125183715,-0.9455600038069712
+5454,46.31341484406265,-0.7804644168886169,46.44382801826032,-0.4332635397608702,46.34957677408671,-0.5510971822929919
+5455,46.44382801826032,-1.1276652940163636,46.574241192458,-0.7804644168886169,46.510933084140945,-0.9964583714046424
+5456,46.44382801826032,-0.7804644168886169,46.574241192458,-0.4332635397608702,46.49382137598712,-0.6548638975218146
+5457,46.574241192458,-1.8220670482718568,46.704654366655674,-1.4748661711441102,46.644994584275274,-1.5531146228328072
+5458,46.574241192458,-1.4748661711441102,46.704654366655674,-1.1276652940163636,46.652963349525486,-1.3520991142696615
+5459,46.704654366655674,-1.8220670482718568,46.835067540853345,-1.4748661711441102,46.777731805961636,-1.6570462279859721
+5460,46.704654366655674,-1.4748661711441102,46.835067540853345,-1.1276652940163636,46.75533280014946,-1.3251229118853338
+5461,46.574241192458,-1.1276652940163636,46.835067540853345,-0.4332635397608702,46.71369808273407,-0.6936368600011588
+5462,46.31341484406265,-0.4332635397608702,46.574241192458,0.26113821449462316,46.39356531292869,-0.2628486737937459
+5463,46.31341484406265,0.26113821449462316,46.574241192458,0.9555399687501165,46.45626826957796,0.6314170898877332
+5464,46.574241192458,-0.4332635397608702,46.835067540853345,0.26113821449462316,46.71623821175625,-0.14475019734893507
+5465,46.574241192458,0.26113821449462316,46.835067540853345,0.9555399687501165,46.65329011699043,0.41440447471130426
+5466,46.835067540853345,-1.8220670482718568,46.965480715051015,-1.4748661711441102,46.90275957085605,-1.593909347695717
+5467,46.835067540853345,-1.4748661711441102,46.965480715051015,-1.1276652940163636,46.91453953963052,-1.3130688897272642
+5468,46.965480715051015,-1.8220670482718568,47.09589388924869,-1.4748661711441102,47.02706119163565,-1.6076910081885305
+5469,46.965480715051015,-1.4748661711441102,47.09589388924869,-1.1276652940163636,47.02798330956035,-1.3440116242019247
+5470,46.835067540853345,-1.1276652940163636,47.09589388924869,-0.4332635397608702,46.98913502530717,-0.9376009200783564
+5471,47.09589388924869,-1.8220670482718568,47.22630706344637,-1.4748661711441102,47.18245157784786,-1.5927498337703885
+5472,47.09589388924869,-1.4748661711441102,47.22630706344637,-1.1276652940163636,47.14954231734156,-1.32530706632604
+5473,47.22630706344637,-1.8220670482718568,47.35672023764404,-1.4748661711441102,47.266076418539114,-1.5924953680670717
+5474,47.22630706344637,-1.4748661711441102,47.35672023764404,-1.1276652940163636,47.294312175324684,-1.3052940416986105
+5475,47.09589388924869,-1.1276652940163636,47.35672023764404,-0.4332635397608702,47.206400677295306,-0.773027957160694
+5476,46.835067540853345,-0.4332635397608702,47.09589388924869,0.26113821449462316,46.93521438696771,-0.19882253355592858
+5477,46.835067540853345,0.26113821449462316,47.09589388924869,0.9555399687501165,46.95103863760943,0.5385895967694818
+5478,47.09589388924869,-0.4332635397608702,47.35672023764404,0.26113821449462316,47.24274640590156,-0.13985194276435298
+5479,47.09589388924869,0.26113821449462316,47.35672023764404,0.9555399687501165,47.280807990659255,0.6040034566715649
+5480,47.35672023764404,-10.154888099337777,49.44333102480684,-4.59967406529383,48.389906357244506,-4.745619099565632
+5481,47.35672023764404,-4.59967406529383,47.878372934434736,-3.2108705567828437,47.78015685268237,-3.548923271442046
+5482,47.35672023764404,-3.2108705567828437,47.61754658603939,-2.51646880252735,47.56516778784019,-2.8337704038988565
+5483,47.35672023764404,-2.51646880252735,47.48713341184171,-2.1692679253996037,47.439912683725986,-2.422956612356618
+5484,47.35672023764404,-2.1692679253996037,47.48713341184171,-1.8220670482718568,47.42409774117316,-1.9175073190597614
+5485,47.48713341184171,-2.51646880252735,47.61754658603939,-2.1692679253996037,47.55337680452566,-2.3573373992554854
+5486,47.48713341184171,-2.1692679253996037,47.61754658603939,-1.8220670482718568,47.58027857201493,-2.0316713458748468
+5487,47.61754658603939,-3.2108705567828437,47.878372934434736,-2.51646880252735,47.68109044036022,-2.8694220834636828
+5488,47.61754658603939,-2.51646880252735,47.747959760237066,-2.1692679253996037,47.699818231168514,-2.3265709547279
+5489,47.61754658603939,-2.1692679253996037,47.747959760237066,-1.8220670482718568,47.6670959152107,-2.0637389944740505
+5490,47.747959760237066,-2.51646880252735,47.878372934434736,-2.1692679253996037,47.80968957082765,-2.3770942486982416
+5491,47.747959760237066,-2.1692679253996037,47.878372934434736,-1.8220670482718568,47.804106234601925,-2.018174702127426
+5492,47.878372934434736,-4.59967406529383,48.13919928283009,-3.905272311038337,48.02285684698522,-4.257326041677625
+5493,47.878372934434736,-3.905272311038337,48.13919928283009,-3.2108705567828437,47.94892843676796,-3.6763930065642954
+5494,48.13919928283009,-4.59967406529383,48.40002563122544,-3.905272311038337,48.320961118851415,-4.307065236362325
+5495,48.13919928283009,-3.905272311038337,48.40002563122544,-3.2108705567828437,48.26658194887244,-3.57312711885276
+5496,47.878372934434736,-3.2108705567828437,48.13919928283009,-2.51646880252735,48.0198847557819,-2.844647719300404
+5497,47.878372934434736,-2.51646880252735,48.13919928283009,-1.8220670482718568,48.01907402309993,-2.1718785793396367
+5498,48.13919928283009,-3.2108705567828437,48.40002563122544,-2.51646880252735,48.20476378232708,-2.9237515073934377
+5499,48.13919928283009,-2.51646880252735,48.26961245702776,-2.1692679253996037,48.179012397605995,-2.336358132392462
+5500,48.13919928283009,-2.1692679253996037,48.26961245702776,-1.8220670482718568,48.19227586340544,-1.9586275020150863
+5501,48.26961245702776,-2.51646880252735,48.40002563122544,-2.1692679253996037,48.32942038488407,-2.2791647134997666
+5502,48.26961245702776,-2.1692679253996037,48.40002563122544,-1.8220670482718568,48.33447283800417,-1.9313180650098194
+5503,47.35672023764404,-1.8220670482718568,47.61754658603939,-1.1276652940163636,47.443222863927396,-1.4565285303272015
+5504,47.35672023764404,-1.1276652940163636,47.61754658603939,-0.4332635397608702,47.47301471349788,-0.613115023396537
+5505,47.61754658603939,-1.8220670482718568,47.878372934434736,-1.1276652940163636,47.7568225946253,-1.508863038549622
+5506,47.61754658603939,-1.1276652940163636,47.878372934434736,-0.4332635397608702,47.73959500160892,-0.73738192737351
+5507,47.35672023764404,-0.4332635397608702,47.61754658603939,0.26113821449462316,47.47670482300658,-0.2540457750769817
+5508,47.35672023764404,0.26113821449462316,47.48713341184171,0.6083390916223699,47.38427105740737,0.4849434275134935
+5509,47.35672023764404,0.6083390916223699,47.48713341184171,0.9555399687501165,47.41884789648712,0.7519382751504816
+5510,47.48713341184171,0.26113821449462316,47.61754658603939,0.6083390916223699,47.57269808221432,0.558281116659435
+5511,47.48713341184171,0.6083390916223699,47.61754658603939,0.9555399687501165,47.51922350242992,0.7865563230873591
+5512,47.61754658603939,-0.4332635397608702,47.878372934434736,0.26113821449462316,47.78693915361838,-0.2213877344498067
+5513,47.61754658603939,0.26113821449462316,47.878372934434736,0.9555399687501165,47.74607892172568,0.5913485114560258
+5514,47.878372934434736,-1.8220670482718568,48.008786108632414,-1.4748661711441102,47.95175282743789,-1.6433212484113344
+5515,47.878372934434736,-1.4748661711441102,48.008786108632414,-1.1276652940163636,47.932820038484685,-1.2259055822182683
+5516,48.008786108632414,-1.8220670482718568,48.13919928283009,-1.4748661711441102,48.08899189485427,-1.6564572978113548
+5517,48.008786108632414,-1.4748661711441102,48.13919928283009,-1.1276652940163636,48.0882408566543,-1.2886533173919021
+5518,47.878372934434736,-1.1276652940163636,48.13919928283009,-0.4332635397608702,48.024578883256716,-0.830105838418399
+5519,48.13919928283009,-1.8220670482718568,48.26961245702776,-1.4748661711441102,48.19516071693653,-1.6619759130751444
+5520,48.13919928283009,-1.4748661711441102,48.26961245702776,-1.1276652940163636,48.207692132038076,-1.3685190591253436
+5521,48.26961245702776,-1.8220670482718568,48.40002563122544,-1.4748661711441102,48.326420010882316,-1.6591549288292884
+5522,48.26961245702776,-1.4748661711441102,48.40002563122544,-1.1276652940163636,48.338578126743556,-1.2619290733853632
+5523,48.13919928283009,-1.1276652940163636,48.40002563122544,-0.4332635397608702,48.225732119789235,-0.9300933706476036
+5524,47.878372934434736,-0.4332635397608702,48.13919928283009,0.26113821449462316,47.990948817029015,0.07737676888365247
+5525,47.878372934434736,0.26113821449462316,48.13919928283009,0.9555399687501165,47.99871187922791,0.6271262535991112
+5526,48.13919928283009,-0.4332635397608702,48.40002563122544,0.26113821449462316,48.27716716496832,-0.033033014394310056
+5527,48.13919928283009,0.26113821449462316,48.40002563122544,0.9555399687501165,48.24013904377076,0.6915951559431679
+5528,48.40002563122544,-4.59967406529383,48.66085197962079,-3.905272311038337,48.48482469960973,-4.30691846761985
+5529,48.40002563122544,-3.905272311038337,48.66085197962079,-3.2108705567828437,48.5592293883838,-3.5949064066020067
+5530,48.66085197962079,-4.59967406529383,48.92167832801614,-3.905272311038337,48.6931604147141,-3.9842847646785025
+5531,48.66085197962079,-3.905272311038337,48.92167832801614,-3.2108705567828437,48.779033009382374,-3.4002818564186628
+5532,48.40002563122544,-3.2108705567828437,48.66085197962079,-2.51646880252735,48.5430732690986,-2.903713946332437
+5533,48.40002563122544,-2.51646880252735,48.66085197962079,-1.8220670482718568,48.563056228341694,-2.1100908997681014
+5534,48.66085197962079,-3.2108705567828437,48.92167832801614,-2.51646880252735,48.74586331127582,-3.026001970277405
+5535,48.66085197962079,-2.51646880252735,48.92167832801614,-1.8220670482718568,48.68079104353693,-1.9551104082235484
+5536,48.92167832801614,-3.2108705567828437,49.44333102480684,-1.8220670482718568,49.23375446000543,-2.19811414494183
+5537,48.40002563122544,-1.8220670482718568,48.66085197962079,-1.1276652940163636,48.541986896495835,-1.540577372387614
+5538,48.40002563122544,-1.1276652940163636,48.66085197962079,-0.4332635397608702,48.53996169076976,-0.7728776040225434
+5539,48.66085197962079,-1.8220670482718568,48.92167832801614,-1.1276652940163636,48.80072591987538,-1.4412945427302546
+5540,48.66085197962079,-1.1276652940163636,48.92167832801614,-0.4332635397608702,48.8369108714325,-0.8967678748233977
+5541,48.40002563122544,-0.4332635397608702,48.66085197962079,0.26113821449462316,48.54336455842357,-0.0560488969463959
+5542,48.40002563122544,0.26113821449462316,48.66085197962079,0.9555399687501165,48.506345949576904,0.5680826983557073
+5543,48.66085197962079,-0.4332635397608702,48.92167832801614,0.26113821449462316,48.83605078952749,0.10154623517557816
+5544,48.66085197962079,0.26113821449462316,48.791265153818465,0.6083390916223699,48.73290626460935,0.36898526513087854
+5545,48.66085197962079,0.6083390916223699,48.791265153818465,0.9555399687501165,48.72467167396696,0.8026011395190377
+5546,48.791265153818465,0.26113821449462316,48.92167832801614,0.6083390916223699,48.85081846417723,0.34368730282585097
+5547,48.791265153818465,0.6083390916223699,48.92167832801614,0.9555399687501165,48.83895630299395,0.8682666782223869
+5548,48.92167832801614,-1.8220670482718568,49.18250467641149,-1.1276652940163636,49.021815402897396,-1.195449517764509
+5549,48.92167832801614,-1.1276652940163636,49.18250467641149,-0.4332635397608702,49.080260528876764,-0.7877701781122465
+5550,49.18250467641149,-1.8220670482718568,49.44333102480684,-1.1276652940163636,49.34804686029452,-1.4292511696810346
+5551,49.18250467641149,-1.1276652940163636,49.44333102480684,-0.4332635397608702,49.29974205613934,-0.694471868951027
+5552,48.92167832801614,-0.4332635397608702,49.05209150221381,-0.08606266263312351,49.0030731463161,-0.3080746752483804
+5553,48.92167832801614,-0.08606266263312351,49.05209150221381,0.26113821449462316,48.985777920785054,0.056633638735909736
+5554,49.05209150221381,-0.4332635397608702,49.18250467641149,-0.08606266263312351,49.13096564027302,-0.2701965841290625
+5555,49.05209150221381,-0.08606266263312351,49.18250467641149,0.26113821449462316,49.11557928895887,0.0728143846516658
+5556,48.92167832801614,0.26113821449462316,49.18250467641149,0.9555399687501165,49.04200429779042,0.5266371999805656
+5557,49.18250467641149,-0.4332635397608702,49.31291785060917,-0.08606266263312351,49.244355532719595,-0.24981129456509665
+5558,49.18250467641149,-0.08606266263312351,49.31291785060917,0.26113821449462316,49.263460055595225,0.09821693120461163
+5559,49.31291785060917,-0.4332635397608702,49.44333102480684,-0.08606266263312351,49.32860138970053,-0.40587461577368267
+5560,49.31291785060917,-0.08606266263312351,49.44333102480684,0.26113821449462316,49.37060409480265,0.1497238728148622
+5561,49.18250467641149,0.26113821449462316,49.44333102480684,0.9555399687501165,49.3348446783552,0.6450158514648033
+5562,49.44333102480684,-21.26531616742567,53.61655259913243,-10.154888099337777,52.10603543010243,-10.28197599627466
+5563,49.964983721597534,-5.988477573804817,50.22581006999289,-5.294075819549324,50.11139700010619,-5.559172370579573
+5564,49.964983721597534,-5.294075819549324,50.22581006999289,-4.59967406529383,50.1325913323211,-5.208149656815165
+5565,50.22581006999289,-5.988477573804817,50.48663641838824,-5.294075819549324,50.2387847723338,-5.3801807938935
+5566,50.22581006999289,-5.294075819549324,50.48663641838824,-4.59967406529383,50.32911199846967,-4.8578684789717155
+5567,50.48663641838824,-10.154888099337777,51.529941811969636,-7.377281082315804,51.517135934004244,-9.34102506958075
+5568,50.48663641838824,-7.377281082315804,51.529941811969636,-4.59967406529383,50.59054328869566,-4.780355631427279
+5569,49.44333102480684,-3.2108705567828437,49.964983721597534,-1.8220670482718568,49.56663552803672,-2.201008156246062
+5570,49.964983721597534,-3.905272311038337,50.22581006999289,-3.2108705567828437,50.21936693824773,-3.754802126859231
+5571,50.22581006999289,-4.59967406529383,50.35622324419056,-4.252473188166084,50.34374572193018,-4.524048571032453
+5572,50.22581006999289,-4.252473188166084,50.35622324419056,-3.905272311038337,50.340584946320625,-4.083670010665189
+5573,50.35622324419056,-4.59967406529383,50.48663641838824,-4.252473188166084,50.41913803155862,-4.417866761356531
+5574,50.35622324419056,-4.252473188166084,50.48663641838824,-3.905272311038337,50.39300548579762,-4.117162616222615
+5575,50.22581006999289,-3.905272311038337,50.35622324419056,-3.55807143391059,50.30440681170658,-3.7133969336350554
+5576,50.22581006999289,-3.55807143391059,50.35622324419056,-3.2108705567828437,50.34975819669766,-3.5428239360083196
+5577,50.35622324419056,-3.905272311038337,50.48663641838824,-3.55807143391059,50.40994063583186,-3.6745058253356366
+5578,50.35622324419056,-3.55807143391059,50.48663641838824,-3.2108705567828437,50.405909378757165,-3.5328549859665235
+5579,49.44333102480684,-1.8220670482718568,49.964983721597534,-0.4332635397608702,49.57968343793493,-1.506714087012466
+5580,49.44333102480684,-0.4332635397608702,49.704157373202186,0.26113821449462316,49.547831247045536,0.16781535224368194
+5581,49.44333102480684,0.26113821449462316,49.704157373202186,0.9555399687501165,49.55645670261552,0.6021213342943017
+5582,49.704157373202186,-0.4332635397608702,49.964983721597534,0.26113821449462316,49.71084307294385,0.22184865055487
+5583,49.704157373202186,0.26113821449462316,49.964983721597534,0.9555399687501165,49.77385055523829,0.5217802568422408
+5584,50.48663641838824,-4.59967406529383,50.747462766783585,-3.905272311038337,50.595247266001095,-4.248501430609981
+5585,50.48663641838824,-3.905272311038337,50.747462766783585,-3.2108705567828437,50.64090283480666,-3.540859769818676
+5586,50.747462766783585,-4.59967406529383,51.00828911517894,-3.905272311038337,50.87860231545669,-4.186756918125062
+5587,50.747462766783585,-3.905272311038337,51.00828911517894,-3.2108705567828437,50.84570412332471,-3.456026137561702
+5588,50.48663641838824,-3.2108705567828437,50.747462766783585,-2.51646880252735,50.727052001648104,-2.903394163296153
+5589,50.48663641838824,-2.51646880252735,50.747462766783585,-1.8220670482718568,50.68251044636867,-2.178495452712668
+5590,50.747462766783585,-3.2108705567828437,50.87787594098126,-2.863669679655097,50.80544501238529,-3.005052124239627
+5591,50.747462766783585,-2.863669679655097,50.87787594098126,-2.51646880252735,50.81834358312538,-2.6900685397293356
+5592,50.87787594098126,-3.2108705567828437,51.00828911517894,-2.863669679655097,50.95579236909222,-3.011791774305145
+5593,50.87787594098126,-2.863669679655097,51.00828911517894,-2.51646880252735,50.95113923042322,-2.680109115856397
+5594,50.747462766783585,-2.51646880252735,51.00828911517894,-1.8220670482718568,50.87270955249723,-2.1887686895426626
+5595,51.00828911517894,-4.59967406529383,51.529941811969636,-3.2108705567828437,51.25426108018008,-3.698983945330572
+5596,51.00828911517894,-3.2108705567828437,51.13870228937661,-2.863669679655097,51.06604140351563,-3.0277050278481545
+5597,51.00828911517894,-2.863669679655097,51.13870228937661,-2.51646880252735,51.07470585664244,-2.7183800098238713
+5598,51.13870228937661,-3.2108705567828437,51.26911546357429,-2.863669679655097,51.19027425691184,-2.9865951491448826
+5599,51.13870228937661,-2.863669679655097,51.26911546357429,-2.51646880252735,51.200087821902535,-2.673614937419119
+5600,51.00828911517894,-2.51646880252735,51.26911546357429,-1.8220670482718568,51.13222593725129,-2.2171656833225275
+5601,51.26911546357429,-3.2108705567828437,51.399528637771965,-2.863669679655097,51.322795819149064,-2.9404636882637556
+5602,51.26911546357429,-2.863669679655097,51.399528637771965,-2.51646880252735,51.338431874860404,-2.678489313692733
+5603,51.399528637771965,-3.2108705567828437,51.529941811969636,-2.863669679655097,51.49544801007586,-3.1613244753749883
+5604,51.399528637771965,-2.863669679655097,51.529941811969636,-2.51646880252735,51.46690674744767,-2.631257710711637
+5605,51.26911546357429,-2.51646880252735,51.399528637771965,-2.1692679253996037,51.348306248589275,-2.309695067022328
+5606,51.26911546357429,-2.1692679253996037,51.399528637771965,-1.8220670482718568,51.340171707706894,-2.0532112010855337
+5607,51.399528637771965,-2.51646880252735,51.529941811969636,-2.1692679253996037,51.4690603587621,-2.356287306984378
+5608,51.399528637771965,-2.1692679253996037,51.529941811969636,-1.8220670482718568,51.46265579253924,-2.064003198987401
+5609,50.48663641838824,-1.4748661711441102,50.617049592585914,-1.1276652940163636,50.60029711538178,-1.2544924593521687
+5610,50.617049592585914,-1.8220670482718568,50.747462766783585,-1.4748661711441102,50.69855835684495,-1.5635616211612584
+5611,50.617049592585914,-1.4748661711441102,50.747462766783585,-1.1276652940163636,50.6851429546881,-1.2797178714854605
+5612,50.48663641838824,-1.1276652940163636,50.747462766783585,-0.4332635397608702,50.695802372368846,-1.095784938335528
+5613,50.747462766783585,-1.8220670482718568,50.87787594098126,-1.4748661711441102,50.819351774074505,-1.6692948538244088
+5614,50.747462766783585,-1.4748661711441102,50.87787594098126,-1.1276652940163636,50.80715256457826,-1.2735266989970346
+5615,50.87787594098126,-1.8220670482718568,51.00828911517894,-1.4748661711441102,50.943963109344054,-1.6007808864521913
+5616,50.87787594098126,-1.4748661711441102,51.00828911517894,-1.1276652940163636,50.94679168907356,-1.3496854604064026
+5617,50.747462766783585,-1.1276652940163636,51.00828911517894,-0.4332635397608702,50.88367168348229,-0.7683417390799508
+5618,50.48663641838824,0.26113821449462316,50.747462766783585,0.9555399687501165,50.61594236281454,0.42242128886293123
+5619,50.747462766783585,-0.4332635397608702,51.00828911517894,0.26113821449462316,50.865298913480316,-0.09033058953638774
+5620,50.747462766783585,0.26113821449462316,51.00828911517894,0.9555399687501165,50.90012850060748,0.5692911146560928
+5621,51.00828911517894,-1.8220670482718568,51.13870228937661,-1.4748661711441102,51.07522217076949,-1.6261343182932613
+5622,51.00828911517894,-1.4748661711441102,51.13870228937661,-1.1276652940163636,51.07479637611095,-1.2737227275843805
+5623,51.13870228937661,-1.8220670482718568,51.26911546357429,-1.4748661711441102,51.206627323821,-1.6285404012055957
+5624,51.13870228937661,-1.4748661711441102,51.26911546357429,-1.1276652940163636,51.2100894572393,-1.2824009587212302
+5625,51.00828911517894,-1.1276652940163636,51.13870228937661,-0.7804644168886169,51.0880998821238,-0.9900584867380408
+5626,51.00828911517894,-0.7804644168886169,51.13870228937661,-0.4332635397608702,51.07838842401256,-0.6113780792567732
+5627,51.13870228937661,-1.1276652940163636,51.26911546357429,-0.7804644168886169,51.206789301752046,-0.9487424526264009
+5628,51.13870228937661,-0.7804644168886169,51.26911546357429,-0.4332635397608702,51.21928443803383,-0.6370814492032114
+5629,51.26911546357429,-1.8220670482718568,51.399528637771965,-1.4748661711441102,51.346397804454,-1.6443495444322098
+5630,51.26911546357429,-1.4748661711441102,51.399528637771965,-1.1276652940163636,51.33363514699238,-1.2735980384888184
+5631,51.399528637771965,-1.8220670482718568,51.529941811969636,-1.4748661711441102,51.46800952725205,-1.5863269182608153
+5632,51.399528637771965,-1.4748661711441102,51.529941811969636,-1.1276652940163636,51.43687523032288,-1.3366976422801373
+5633,51.26911546357429,-1.1276652940163636,51.399528637771965,-0.7804644168886169,51.33843892739131,-0.9318050843944016
+5634,51.26911546357429,-0.7804644168886169,51.399528637771965,-0.4332635397608702,51.33576122323948,-0.6143615886274382
+5635,51.399528637771965,-1.1276652940163636,51.529941811969636,-0.7804644168886169,51.44156362187241,-0.9382125857472696
+5636,51.399528637771965,-0.7804644168886169,51.529941811969636,-0.4332635397608702,51.4607890671562,-0.5978106171444062
+5637,51.00828911517894,-0.4332635397608702,51.13870228937661,-0.08606266263312351,51.08145136275658,-0.2860730591496677
+5638,51.00828911517894,-0.08606266263312351,51.13870228937661,0.26113821449462316,51.10983353725285,0.058347763225374216
+5639,51.13870228937661,-0.4332635397608702,51.26911546357429,-0.08606266263312351,51.20954769853678,-0.24134153415821596
+5640,51.13870228937661,-0.08606266263312351,51.26911546357429,0.26113821449462316,51.211662205776925,0.08935356672772483
+5641,51.00828911517894,0.26113821449462316,51.13870228937661,0.6083390916223699,51.08877898970479,0.4588213705206842
+5642,51.00828911517894,0.6083390916223699,51.13870228937661,0.9555399687501165,51.08509773187799,0.7163517545001661
+5643,51.13870228937661,0.26113821449462316,51.26911546357429,0.6083390916223699,51.21153617484553,0.4477838764854293
+5644,51.13870228937661,0.6083390916223699,51.26911546357429,0.9555399687501165,51.19849471770439,0.7218912363873938
+5645,51.26911546357429,-0.4332635397608702,51.399528637771965,-0.08606266263312351,51.35722920370257,-0.2885132762310967
+5646,51.26911546357429,-0.08606266263312351,51.399528637771965,0.26113821449462316,51.35009040619811,0.13646078354181065
+5647,51.399528637771965,-0.4332635397608702,51.529941811969636,-0.08606266263312351,51.487961546574844,-0.22925658371310995
+5648,51.399528637771965,-0.08606266263312351,51.529941811969636,0.26113821449462316,51.46867086191883,0.06660330703809686
+5649,51.26911546357429,0.26113821449462316,51.399528637771965,0.6083390916223699,51.32583655619432,0.4514575686126466
+5650,51.26911546357429,0.6083390916223699,51.399528637771965,0.9555399687501165,51.33468396271485,0.7708988074703065
+5651,51.399528637771965,0.26113821449462316,51.529941811969636,0.6083390916223699,51.439519402964976,0.4215541383088724
+5652,51.399528637771965,0.6083390916223699,51.529941811969636,0.9555399687501165,51.44362143686172,0.7155676102834448
+5653,51.529941811969636,-10.154888099337777,52.05159450876033,-8.76608459082679,51.887767487807466,-9.547915334682868
+5654,51.529941811969636,-8.76608459082679,51.79076816036498,-8.071682836571297,51.75507279051921,-8.650484959183489
+5655,51.79076816036498,-8.76608459082679,52.05159450876033,-8.071682836571297,51.90522996555097,-8.449431291505878
+5656,51.79076816036498,-8.071682836571297,52.05159450876033,-7.377281082315804,51.99836610165644,-7.752511769287802
+5657,52.05159450876033,-10.154888099337777,52.573247205551034,-8.76608459082679,52.228729106939916,-9.480111611891465
+5658,52.05159450876033,-8.76608459082679,52.312420857155686,-8.071682836571297,52.18282732144834,-8.3636851497608
+5659,52.05159450876033,-8.071682836571297,52.312420857155686,-7.377281082315804,52.17810988487305,-7.6503290716389385
+5660,52.312420857155686,-8.76608459082679,52.573247205551034,-8.071682836571297,52.45263469695526,-8.107590901592175
+5661,52.312420857155686,-8.071682836571297,52.44283403135336,-7.72448195944355,52.391777879980104,-7.868368923072224
+5662,52.312420857155686,-7.72448195944355,52.44283403135336,-7.377281082315804,52.371479162566814,-7.530057444596984
+5663,52.44283403135336,-8.071682836571297,52.573247205551034,-7.72448195944355,52.49258854439977,-7.890906460909772
+5664,52.44283403135336,-7.72448195944355,52.573247205551034,-7.377281082315804,52.516477060290605,-7.491970681678425
+5665,51.529941811969636,-5.988477573804817,52.05159450876033,-4.59967406529383,51.81552855645426,-4.924447824181141
+5666,52.05159450876033,-7.377281082315804,52.18200768295801,-7.030080205188057,52.1601032073017,-7.180364496257484
+5667,52.05159450876033,-7.030080205188057,52.18200768295801,-6.68287932806031,52.156815244958345,-6.946248329529268
+5668,52.18200768295801,-7.377281082315804,52.312420857155686,-7.030080205188057,52.24625615916616,-7.16745169191923
+5669,52.18200768295801,-7.030080205188057,52.312420857155686,-6.68287932806031,52.22980091131552,-6.9299126951139565
+5670,52.05159450876033,-6.68287932806031,52.312420857155686,-5.988477573804817,52.245999848793666,-6.529415811323782
+5671,52.312420857155686,-7.377281082315804,52.44283403135336,-7.030080205188057,52.358284380650275,-7.214814805997542
+5672,52.312420857155686,-7.030080205188057,52.44283403135336,-6.68287932806031,52.39407711969729,-6.925860885397544
+5673,52.44283403135336,-7.377281082315804,52.573247205551034,-7.030080205188057,52.519144654188956,-7.193447656276608
+5674,52.44283403135336,-7.030080205188057,52.573247205551034,-6.68287932806031,52.52442963914726,-6.95111066326828
+5675,52.312420857155686,-6.68287932806031,52.573247205551034,-5.988477573804817,52.42300781930411,-6.484816710790264
+5676,52.05159450876033,-5.988477573804817,52.573247205551034,-4.59967406529383,52.09482755811144,-4.937383771627551
+5677,52.573247205551034,-10.154888099337777,53.09489990234174,-8.76608459082679,52.89402979521929,-9.16609260311496
+5678,52.573247205551034,-8.76608459082679,52.83407355394638,-8.071682836571297,52.71126672329667,-8.520287828763703
+5679,52.573247205551034,-8.071682836571297,52.83407355394638,-7.377281082315804,52.71014927320129,-7.59515000339967
+5680,52.83407355394638,-8.76608459082679,53.09489990234174,-8.071682836571297,52.97695159164098,-8.31133702986111
+5681,52.83407355394638,-8.071682836571297,53.09489990234174,-7.377281082315804,52.948606521946786,-7.683084816870086
+5682,53.09489990234174,-10.154888099337777,53.355726250737085,-9.460486345082284,53.27476817325735,-9.612601050632941
+5683,53.09489990234174,-9.460486345082284,53.22531307653941,-9.113285467954537,53.129149978048204,-9.21598193739511
+5684,53.09489990234174,-9.113285467954537,53.22531307653941,-8.76608459082679,53.179166718022806,-8.875325662230448
+5685,53.22531307653941,-9.460486345082284,53.355726250737085,-9.113285467954537,53.29602908641047,-9.168893998032333
+5686,53.22531307653941,-9.113285467954537,53.355726250737085,-8.76608459082679,53.2823820382548,-8.958840814025184
+5687,53.355726250737085,-10.154888099337777,53.61655259913243,-9.460486345082284,53.47511812450087,-9.82275660347788
+5688,53.355726250737085,-9.460486345082284,53.61655259913243,-8.76608459082679,53.4639433593963,-9.035269702615425
+5689,53.09489990234174,-8.76608459082679,53.22531307653941,-8.418883713699042,53.173784142933826,-8.582373901506234
+5690,53.09489990234174,-8.418883713699042,53.22531307653941,-8.071682836571297,53.15393067635678,-8.300724404619803
+5691,53.22531307653941,-8.76608459082679,53.355726250737085,-8.418883713699042,53.277062475290066,-8.637622005211574
+5692,53.22531307653941,-8.418883713699042,53.355726250737085,-8.071682836571297,53.28896173257719,-8.267510900304552
+5693,53.09489990234174,-8.071682836571297,53.355726250737085,-7.377281082315804,53.21938003082322,-7.678728351757021
+5694,53.355726250737085,-8.76608459082679,53.61655259913243,-8.071682836571297,53.435489184968105,-8.560104066372043
+5695,53.355726250737085,-8.071682836571297,53.61655259913243,-7.377281082315804,53.45190235086994,-7.734030385780279
+5696,52.573247205551034,-7.377281082315804,52.70366037974871,-7.030080205188057,52.644390531323204,-7.208722781702439
+5697,52.573247205551034,-7.030080205188057,52.70366037974871,-6.68287932806031,52.62307275489188,-6.960858024960175
+5698,52.70366037974871,-7.377281082315804,52.83407355394638,-7.030080205188057,52.76611442175262,-7.266272268217674
+5699,52.70366037974871,-7.030080205188057,52.83407355394638,-6.68287932806031,52.77872066196396,-6.919058975489991
+5700,52.573247205551034,-6.68287932806031,52.83407355394638,-5.988477573804817,52.6946524781754,-6.3425368892487715
+5701,52.83407355394638,-7.377281082315804,52.96448672814406,-7.030080205188057,52.9021099975865,-7.237850744821968
+5702,52.83407355394638,-7.030080205188057,52.96448672814406,-6.68287932806031,52.88624959401116,-6.843809350948595
+5703,52.96448672814406,-7.377281082315804,53.09489990234174,-7.030080205188057,53.02288649686627,-7.244451246204872
+5704,52.96448672814406,-7.030080205188057,53.09489990234174,-6.68287932806031,53.00303344126945,-6.880587602273033
+5705,52.83407355394638,-6.68287932806031,53.09489990234174,-5.988477573804817,53.010661744814435,-6.300054123677031
+5706,53.09489990234174,-7.377281082315804,53.355726250737085,-6.68287932806031,53.20109947989225,-6.946898130010642
+5707,53.09489990234174,-6.68287932806031,53.22531307653941,-6.335678450932564,53.173950319539756,-6.582078137009462
+5708,53.09489990234174,-6.335678450932564,53.22531307653941,-5.988477573804817,53.16693326774566,-6.167750772437297
+5709,53.22531307653941,-6.68287932806031,53.355726250737085,-6.335678450932564,53.30775676878399,-6.477330484775277
+5710,53.22531307653941,-6.335678450932564,53.355726250737085,-5.988477573804817,53.29725625347466,-6.234897613027635
+5711,53.355726250737085,-7.377281082315804,53.61655259913243,-6.68287932806031,53.48969296882687,-7.002762519720928
+5712,53.355726250737085,-6.68287932806031,53.48613942493476,-6.335678450932564,53.40844748426284,-6.44890082052272
+5713,53.355726250737085,-6.335678450932564,53.48613942493476,-5.988477573804817,53.409795918528786,-6.219430378254644
+5714,53.48613942493476,-6.68287932806031,53.61655259913243,-6.335678450932564,53.53836679048409,-6.460836736639109
+5715,53.48613942493476,-6.335678450932564,53.61655259913243,-5.988477573804817,53.54301215909926,-6.201590485445277
+5716,53.09489990234174,-5.988477573804817,53.61655259913243,-4.59967406529383,53.30384873285924,-4.622681863112725
+5717,51.529941811969636,-4.59967406529383,52.05159450876033,-3.2108705567828437,51.75370254138562,-3.611904091867804
+5718,51.529941811969636,-3.2108705567828437,51.660354986167306,-2.863669679655097,51.59057253203182,-3.013529444495026
+5719,51.529941811969636,-2.863669679655097,51.660354986167306,-2.51646880252735,51.59080158539828,-2.6618698015048903
+5720,51.660354986167306,-3.2108705567828437,51.79076816036498,-2.863669679655097,51.712788666720954,-2.976365501219471
+5721,51.660354986167306,-2.863669679655097,51.79076816036498,-2.51646880252735,51.7350374488009,-2.7045528217186474
+5722,51.529941811969636,-2.51646880252735,51.660354986167306,-2.1692679253996037,51.59540269415306,-2.361046891337462
+5723,51.529941811969636,-2.1692679253996037,51.660354986167306,-1.8220670482718568,51.591791622296824,-2.0001566204778487
+5724,51.660354986167306,-2.51646880252735,51.79076816036498,-2.1692679253996037,51.72995893765227,-2.2984805627869944
+5725,51.660354986167306,-2.1692679253996037,51.79076816036498,-1.8220670482718568,51.723689172294506,-2.027692084875408
+5726,51.79076816036498,-3.2108705567828437,52.05159450876033,-2.51646880252735,51.897921877531665,-2.780241429878139
+5727,51.79076816036498,-2.51646880252735,51.92118133456266,-2.1692679253996037,51.844650767884396,-2.3014149947667093
+5728,51.79076816036498,-2.1692679253996037,51.92118133456266,-1.8220670482718568,51.86121753472459,-2.0498057715947344
+5729,51.92118133456266,-2.51646880252735,52.05159450876033,-2.1692679253996037,51.98954304105549,-2.348478881104798
+5730,51.92118133456266,-2.1692679253996037,52.05159450876033,-1.8220670482718568,51.991839779620086,-2.0596883379484505
+5731,52.05159450876033,-4.59967406529383,52.573247205551034,-3.2108705567828437,52.31579045758543,-3.862145650857135
+5732,52.05159450876033,-3.2108705567828437,52.312420857155686,-2.51646880252735,52.12033983289894,-2.813955923769433
+5733,52.05159450876033,-2.51646880252735,52.312420857155686,-1.8220670482718568,52.15684443869373,-2.11752234507268
+5734,52.312420857155686,-3.2108705567828437,52.573247205551034,-2.51646880252735,52.442110802440354,-2.8765655292566534
+5735,52.312420857155686,-2.51646880252735,52.44283403135336,-2.1692679253996037,52.37286195225433,-2.283875965116111
+5736,52.312420857155686,-2.1692679253996037,52.44283403135336,-1.8220670482718568,52.38327862414019,-1.9638649360784142
+5737,52.44283403135336,-2.51646880252735,52.573247205551034,-2.1692679253996037,52.50297339807002,-2.2928490857257353
+5738,52.44283403135336,-2.1692679253996037,52.573247205551034,-1.8220670482718568,52.49856998063651,-1.970193536503603
+5739,51.529941811969636,-1.8220670482718568,51.660354986167306,-1.4748661711441102,51.58761848468553,-1.682939741578561
+5740,51.529941811969636,-1.4748661711441102,51.660354986167306,-1.1276652940163636,51.590171384746945,-1.3285687366221826
+5741,51.660354986167306,-1.8220670482718568,51.79076816036498,-1.4748661711441102,51.74053680778449,-1.6022203148396357
+5742,51.660354986167306,-1.4748661711441102,51.79076816036498,-1.1276652940163636,51.73748964127006,-1.2745071431944957
+5743,51.529941811969636,-1.1276652940163636,51.660354986167306,-0.7804644168886169,51.60214098221422,-0.8653772063457672
+5744,51.529941811969636,-0.7804644168886169,51.660354986167306,-0.4332635397608702,51.60278594205825,-0.6123067920247162
+5745,51.660354986167306,-1.1276652940163636,51.79076816036498,-0.7804644168886169,51.734679303294136,-0.9059466426109333
+5746,51.660354986167306,-0.7804644168886169,51.79076816036498,-0.4332635397608702,51.720288285715775,-0.5821994644716654
+5747,51.79076816036498,-1.8220670482718568,51.92118133456266,-1.4748661711441102,51.85766259963086,-1.612741066331246
+5748,51.79076816036498,-1.4748661711441102,51.92118133456266,-1.1276652940163636,51.86768590122453,-1.2954037838778432
+5749,51.92118133456266,-1.8220670482718568,52.05159450876033,-1.4748661711441102,51.977908105115,-1.6912749063395602
+5750,51.92118133456266,-1.4748661711441102,52.05159450876033,-1.1276652940163636,51.98465861470982,-1.285461569059126
+5751,51.79076816036498,-1.1276652940163636,51.92118133456266,-0.7804644168886169,51.83775363139864,-0.9060327246278423
+5752,51.79076816036498,-0.7804644168886169,51.92118133456266,-0.4332635397608702,51.85725329550406,-0.6132308547942831
+5753,51.92118133456266,-1.1276652940163636,52.05159450876033,-0.7804644168886169,51.99612074945292,-0.8789471388689901
+5754,51.92118133456266,-0.7804644168886169,52.05159450876033,-0.4332635397608702,52.00764038463486,-0.7004942216051456
+5755,51.529941811969636,-0.4332635397608702,51.660354986167306,-0.08606266263312351,51.58101544543944,-0.20060480737323097
+5756,51.529941811969636,-0.08606266263312351,51.660354986167306,0.26113821449462316,51.57693641545823,0.010525063084108482
+5757,51.660354986167306,-0.4332635397608702,51.79076816036498,-0.08606266263312351,51.71245296982859,-0.2950601202032244
+5758,51.660354986167306,-0.08606266263312351,51.79076816036498,0.26113821449462316,51.727904720552445,0.07753903748310736
+5759,51.529941811969636,0.26113821449462316,51.79076816036498,0.9555399687501165,51.69242329095161,0.5605186509037612
+5760,51.79076816036498,-0.4332635397608702,52.05159450876033,0.26113821449462316,51.92185175627992,-0.052966667399754815
+5761,51.79076816036498,0.26113821449462316,52.05159450876033,0.9555399687501165,51.89872780384015,0.7940247499594444
+5762,52.05159450876033,-1.8220670482718568,52.18200768295801,-1.4748661711441102,52.10476893808321,-1.624430843135438
+5763,52.05159450876033,-1.4748661711441102,52.18200768295801,-1.1276652940163636,52.096664801158546,-1.3392999389197984
+5764,52.18200768295801,-1.8220670482718568,52.312420857155686,-1.4748661711441102,52.246286242260545,-1.634418550299794
+5765,52.18200768295801,-1.4748661711441102,52.312420857155686,-1.1276652940163636,52.24914089705577,-1.3590219180373688
+5766,52.05159450876033,-1.1276652940163636,52.312420857155686,-0.4332635397608702,52.16038833457804,-0.8274690898656929
+5767,52.312420857155686,-1.8220670482718568,52.44283403135336,-1.4748661711441102,52.375361594888595,-1.6127318307940297
+5768,52.312420857155686,-1.4748661711441102,52.44283403135336,-1.1276652940163636,52.379434453183336,-1.285765291108351
+5769,52.44283403135336,-1.8220670482718568,52.573247205551034,-1.4748661711441102,52.494790631133924,-1.6737773872852277
+5770,52.44283403135336,-1.4748661711441102,52.573247205551034,-1.1276652940163636,52.51193774771961,-1.3389490080010182
+5771,52.312420857155686,-1.1276652940163636,52.573247205551034,-0.4332635397608702,52.44151621380033,-0.7025124384452321
+5772,52.05159450876033,-0.4332635397608702,52.18200768295801,-0.08606266263312351,52.11769022926128,-0.28566470145347067
+5773,52.05159450876033,-0.08606266263312351,52.18200768295801,0.26113821449462316,52.13155875569613,0.10766221529246832
+5774,52.18200768295801,-0.4332635397608702,52.312420857155686,-0.08606266263312351,52.26453045696051,-0.1914540400160857
+5775,52.18200768295801,-0.08606266263312351,52.312420857155686,0.26113821449462316,52.223752897557105,0.11073326928830565
+5776,52.05159450876033,0.26113821449462316,52.312420857155686,0.9555399687501165,52.22741356821826,0.6617674113539661
+5777,52.312420857155686,-0.4332635397608702,52.573247205551034,0.26113821449462316,52.46687550434838,-0.16650966368270959
+5778,52.312420857155686,0.26113821449462316,52.573247205551034,0.9555399687501165,52.37737905775249,0.5386596335199108
+5779,52.573247205551034,-4.59967406529383,53.09489990234174,-3.2108705567828437,52.84439609539937,-3.824820886659527
+5780,52.573247205551034,-3.2108705567828437,52.83407355394638,-2.51646880252735,52.73900280284916,-2.7662628678828423
+5781,52.573247205551034,-2.51646880252735,52.83407355394638,-1.8220670482718568,52.68970704000618,-2.143442972966093
+5782,52.83407355394638,-3.2108705567828437,53.09489990234174,-2.51646880252735,52.923340009596416,-2.796892016034771
+5783,52.83407355394638,-2.51646880252735,53.09489990234174,-1.8220670482718568,52.955347182183445,-2.1867786774392
+5784,53.09489990234174,-4.59967406529383,53.61655259913243,-3.2108705567828437,53.21749007168189,-4.092337141068498
+5785,53.09489990234174,-3.2108705567828437,53.355726250737085,-2.51646880252735,53.19748452670735,-2.8234268811018026
+5786,53.09489990234174,-2.51646880252735,53.355726250737085,-1.8220670482718568,53.249302816235215,-2.21131269924258
+5787,53.355726250737085,-3.2108705567828437,53.48613942493476,-2.863669679655097,53.42310384377282,-2.961575254675035
+5788,53.355726250737085,-2.863669679655097,53.48613942493476,-2.51646880252735,53.430757904299355,-2.687043064732034
+5789,53.48613942493476,-3.2108705567828437,53.61655259913243,-2.863669679655097,53.56956377758775,-2.9726432039185093
+5790,53.48613942493476,-2.863669679655097,53.61655259913243,-2.51646880252735,53.572085672043926,-2.6811007624585796
+5791,53.355726250737085,-2.51646880252735,53.48613942493476,-2.1692679253996037,53.438569062716866,-2.301629274076696
+5792,53.355726250737085,-2.1692679253996037,53.48613942493476,-1.8220670482718568,53.41946269158868,-2.0844011767439
+5793,53.48613942493476,-2.51646880252735,53.61655259913243,-2.1692679253996037,53.52929292306786,-2.287360379997959
+5794,53.48613942493476,-2.1692679253996037,53.61655259913243,-1.8220670482718568,53.547913147366295,-2.0558012695074255
+5795,52.573247205551034,-1.8220670482718568,52.70366037974871,-1.4748661711441102,52.63039465136015,-1.666478822085435
+5796,52.573247205551034,-1.4748661711441102,52.70366037974871,-1.1276652940163636,52.646061028375485,-1.2181702374915007
+5797,52.70366037974871,-1.8220670482718568,52.83407355394638,-1.4748661711441102,52.7808879097432,-1.6165103935624803
+5798,52.70366037974871,-1.4748661711441102,52.83407355394638,-1.1276652940163636,52.76760212455791,-1.2835403377822563
+5799,52.573247205551034,-1.1276652940163636,52.83407355394638,-0.4332635397608702,52.69150060862773,-0.78090154490918
+5800,52.83407355394638,-1.8220670482718568,52.96448672814406,-1.4748661711441102,52.890352313479546,-1.6116472067398027
+5801,52.83407355394638,-1.4748661711441102,52.96448672814406,-1.1276652940163636,52.90867428644266,-1.3003318605339766
+5802,52.96448672814406,-1.8220670482718568,53.09489990234174,-1.4748661711441102,53.015597698916835,-1.6678039201007318
+5803,52.96448672814406,-1.4748661711441102,53.09489990234174,-1.1276652940163636,53.011551736964634,-1.2583062208610072
+5804,52.83407355394638,-1.1276652940163636,52.96448672814406,-0.7804644168886169,52.89635627414513,-1.0373897861211974
+5805,52.83407355394638,-0.7804644168886169,52.96448672814406,-0.4332635397608702,52.902645922947926,-0.655662748413249
+5806,52.96448672814406,-1.1276652940163636,53.09489990234174,-0.7804644168886169,53.034512517333255,-0.9259243399352655
+5807,52.96448672814406,-0.7804644168886169,53.09489990234174,-0.4332635397608702,53.043089322595065,-0.7233065053081827
+5808,52.573247205551034,-0.4332635397608702,52.83407355394638,0.26113821449462316,52.658969648580104,-0.2410674627774295
+5809,52.573247205551034,0.26113821449462316,52.83407355394638,0.9555399687501165,52.76019593774938,0.4963218642939157
+5810,52.83407355394638,-0.4332635397608702,53.09489990234174,0.26113821449462316,52.99228611520408,-0.12480207360097621
+5811,52.83407355394638,0.26113821449462316,53.09489990234174,0.9555399687501165,52.89244032874421,0.621109773671628
+5812,53.09489990234174,-1.8220670482718568,53.355726250737085,-1.1276652940163636,53.21410614557525,-1.525108905715759
+5813,53.09489990234174,-1.1276652940163636,53.355726250737085,-0.4332635397608702,53.17759367843113,-0.7725799499811039
+5814,53.355726250737085,-1.8220670482718568,53.61655259913243,-1.1276652940163636,53.49595301320933,-1.4454543913881919
+5815,53.355726250737085,-1.1276652940163636,53.61655259913243,-0.4332635397608702,53.54931777411343,-0.7899597643104361
+5816,53.09489990234174,-0.4332635397608702,53.61655259913243,0.9555399687501165,53.419449405410234,-0.064548324547908
+5817,53.61655259913243,-21.26531616742567,57.78977417345803,-10.154888099337777,53.9698068761782,-10.177423221909331
+5818,53.61655259913243,-10.154888099337777,54.13820529592313,-8.76608459082679,53.85357520823098,-9.27192206667461
+5819,53.61655259913243,-8.76608459082679,53.87737894752778,-8.071682836571297,53.76198770583324,-8.448724705775257
+5820,53.61655259913243,-8.071682836571297,53.87737894752778,-7.377281082315804,53.71799750222371,-7.703683029519604
+5821,53.87737894752778,-8.76608459082679,54.00779212172546,-8.418883713699042,53.94841524940514,-8.544060462005264
+5822,53.87737894752778,-8.418883713699042,54.00779212172546,-8.071682836571297,53.95815886045661,-8.208185396979239
+5823,54.00779212172546,-8.76608459082679,54.13820529592313,-8.418883713699042,54.058207906829075,-8.55839977197265
+5824,54.00779212172546,-8.418883713699042,54.13820529592313,-8.071682836571297,54.05241632048018,-8.347531705878854
+5825,53.87737894752778,-8.071682836571297,54.13820529592313,-7.377281082315804,54.013809674914974,-7.766669134826085
+5826,54.13820529592313,-10.154888099337777,54.65985799271383,-8.76608459082679,54.24094958302235,-9.633830628813017
+5827,54.13820529592313,-8.76608459082679,54.399031644318484,-8.071682836571297,54.28147870820847,-8.436301663297035
+5828,54.13820529592313,-8.071682836571297,54.399031644318484,-7.377281082315804,54.27117816099856,-7.628549475102944
+5829,54.399031644318484,-8.76608459082679,54.65985799271383,-8.071682836571297,54.512792273691296,-8.388910484201984
+5830,54.399031644318484,-8.071682836571297,54.65985799271383,-7.377281082315804,54.45445279689022,-7.836794611443331
+5831,53.61655259913243,-7.377281082315804,53.87737894752778,-6.68287932806031,53.72900157730304,-6.866303697069464
+5832,53.61655259913243,-6.68287932806031,53.87737894752778,-5.988477573804817,53.71245600230764,-6.470460434690309
+5833,53.87737894752778,-7.377281082315804,54.00779212172546,-7.030080205188057,53.96828268355286,-7.273562792281809
+5834,53.87737894752778,-7.030080205188057,54.00779212172546,-6.68287932806031,53.95950735218844,-6.834620228733936
+5835,54.00779212172546,-7.377281082315804,54.13820529592313,-7.030080205188057,54.06594970372069,-7.126273707456971
+5836,54.00779212172546,-7.030080205188057,54.13820529592313,-6.68287932806031,54.053363896830774,-6.8429268631334885
+5837,53.87737894752778,-6.68287932806031,54.13820529592313,-5.988477573804817,54.02569093477244,-6.340460132147139
+5838,53.61655259913243,-5.988477573804817,54.13820529592313,-4.59967406529383,54.09356938008267,-4.696234260536843
+5839,54.13820529592313,-7.377281082315804,54.65985799271383,-5.988477573804817,54.34205576898445,-6.755145547317317
+5840,54.13820529592313,-5.988477573804817,54.65985799271383,-4.59967406529383,54.46181271508571,-5.579408418674731
+5841,54.65985799271383,-10.154888099337777,55.70316338629523,-7.377281082315804,55.00666232189477,-7.774232268809327
+5842,54.65985799271383,-7.377281082315804,55.181510689504535,-5.988477573804817,54.98156300875783,-6.552566439215348
+5843,54.65985799271383,-5.988477573804817,55.181510689504535,-4.59967406529383,54.822029758427895,-5.051787442989658
+5844,55.181510689504535,-7.377281082315804,55.70316338629523,-5.988477573804817,55.249318648526184,-6.658826145016517
+5845,55.181510689504535,-5.988477573804817,55.44233703789988,-5.294075819549324,55.31376494216687,-5.610597397525669
+5846,55.181510689504535,-5.294075819549324,55.44233703789988,-4.59967406529383,55.33873947045791,-4.722575045384036
+5847,55.44233703789988,-5.988477573804817,55.70316338629523,-5.294075819549324,55.61254838888143,-5.368395232643372
+5848,55.44233703789988,-5.294075819549324,55.70316338629523,-4.59967406529383,55.61835415266846,-4.713052558920369
+5849,53.61655259913243,-4.59967406529383,54.13820529592313,-3.2108705567828437,54.10451043198658,-3.7259369879942557
+5850,53.61655259913243,-3.2108705567828437,53.7469657733301,-2.863669679655097,53.65083425330929,-2.9674336410150053
+5851,53.61655259913243,-2.863669679655097,53.7469657733301,-2.51646880252735,53.67003708585411,-2.6625528450076112
+5852,53.7469657733301,-3.2108705567828437,53.87737894752778,-2.863669679655097,53.80156051525561,-3.0265102877191934
+5853,53.7469657733301,-2.863669679655097,53.87737894752778,-2.51646880252735,53.78627496260659,-2.7000574813066422
+5854,53.61655259913243,-2.51646880252735,53.87737894752778,-1.8220670482718568,53.7078140684036,-2.164839219667321
+5855,53.87737894752778,-3.2108705567828437,54.13820529592313,-2.51646880252735,54.04306134612991,-2.8047617913053102
+5856,53.87737894752778,-2.51646880252735,54.13820529592313,-1.8220670482718568,54.04103443683129,-2.2403747822641082
+5857,54.13820529592313,-4.59967406529383,54.65985799271383,-3.2108705567828437,54.332127418994716,-3.946907621658393
+5858,54.13820529592313,-3.2108705567828437,54.399031644318484,-2.51646880252735,54.28764578191134,-2.9074971141663295
+5859,54.13820529592313,-2.51646880252735,54.399031644318484,-1.8220670482718568,54.297163187490824,-2.188158857093164
+5860,54.399031644318484,-3.2108705567828437,54.65985799271383,-2.51646880252735,54.53548960143802,-2.935828682299948
+5861,54.399031644318484,-2.51646880252735,54.65985799271383,-1.8220670482718568,54.52466250470089,-2.221413020473889
+5862,53.61655259913243,-1.8220670482718568,53.7469657733301,-1.4748661711441102,53.683656572456734,-1.6128314125719612
+5863,53.61655259913243,-1.4748661711441102,53.7469657733301,-1.1276652940163636,53.66666578572099,-1.3194003131862717
+5864,53.7469657733301,-1.8220670482718568,53.87737894752778,-1.4748661711441102,53.81078853358944,-1.567861895634215
+5865,53.7469657733301,-1.4748661711441102,53.87737894752778,-1.1276652940163636,53.81570738036919,-1.393167008509192
+5866,53.61655259913243,-1.1276652940163636,53.87737894752778,-0.4332635397608702,53.72103619591258,-0.8229191474016073
+5867,53.87737894752778,-1.8220670482718568,54.13820529592313,-1.1276652940163636,53.99819092131872,-1.4170577510621578
+5868,53.87737894752778,-1.1276652940163636,54.13820529592313,-0.4332635397608702,53.97401301450134,-1.019891881543442
+5869,53.61655259913243,-0.4332635397608702,54.13820529592313,0.9555399687501165,53.78707249037085,-0.1929615405388259
+5870,54.13820529592313,-1.8220670482718568,54.399031644318484,-1.1276652940163636,54.27308088328286,-1.5434528713366231
+5871,54.13820529592313,-1.1276652940163636,54.399031644318484,-0.4332635397608702,54.25026665061542,-0.7487211300764967
+5872,54.399031644318484,-1.8220670482718568,54.65985799271383,-1.1276652940163636,54.53718924947042,-1.4757474414275076
+5873,54.399031644318484,-1.1276652940163636,54.65985799271383,-0.4332635397608702,54.514133643378635,-0.9387533736131639
+5874,54.13820529592313,-0.4332635397608702,54.65985799271383,0.9555399687501165,54.22554445917108,-0.3373598314464939
+5875,54.65985799271383,-4.59967406529383,55.181510689504535,-3.2108705567828437,54.98191149234435,-3.7515115545883697
+5876,54.65985799271383,-3.2108705567828437,54.92068434110918,-2.51646880252735,54.762112893665446,-2.871846104332935
+5877,54.65985799271383,-2.51646880252735,54.92068434110918,-1.8220670482718568,54.79684922761068,-2.133866478121751
+5878,54.92068434110918,-3.2108705567828437,55.181510689504535,-2.51646880252735,55.0130682328611,-3.0051907887209435
+5879,54.92068434110918,-2.51646880252735,55.181510689504535,-1.8220670482718568,55.05814029369346,-2.160194418155176
+5880,55.181510689504535,-4.59967406529383,55.44233703789988,-3.905272311038337,55.385773601759766,-4.07965249465367
+5881,55.181510689504535,-3.905272311038337,55.44233703789988,-3.2108705567828437,55.30518871090432,-3.568709908862827
+5882,55.44233703789988,-4.59967406529383,55.70316338629523,-3.905272311038337,55.611873599001136,-4.448537288833181
+5883,55.44233703789988,-3.905272311038337,55.70316338629523,-3.2108705567828437,55.607941232644094,-3.5890320812583476
+5884,55.181510689504535,-3.2108705567828437,55.44233703789988,-2.51646880252735,55.393733036777554,-2.7305071275521855
+5885,55.181510689504535,-2.51646880252735,55.44233703789988,-1.8220670482718568,55.293567942780186,-2.158029842456261
+5886,55.44233703789988,-3.2108705567828437,55.57275021209756,-2.863669679655097,55.4985603451422,-3.023961545362444
+5887,55.44233703789988,-2.863669679655097,55.57275021209756,-2.51646880252735,55.504566637186144,-2.668896178599937
+5888,55.57275021209756,-3.2108705567828437,55.70316338629523,-2.863669679655097,55.64361235348733,-3.0214734292233763
+5889,55.57275021209756,-2.863669679655097,55.70316338629523,-2.51646880252735,55.62250988705533,-2.7323003768722156
+5890,55.44233703789988,-2.51646880252735,55.70316338629523,-1.8220670482718568,55.58812259175895,-2.2293374429685637
+5891,54.65985799271383,-1.8220670482718568,54.92068434110918,-1.1276652940163636,54.78602228328395,-1.5641607204310284
+5892,54.92068434110918,-1.8220670482718568,55.05109751530686,-1.4748661711441102,55.000266127846736,-1.6002132509938765
+5893,54.92068434110918,-1.4748661711441102,55.05109751530686,-1.1276652940163636,54.990699517154944,-1.4393122460104075
+5894,55.05109751530686,-1.8220670482718568,55.181510689504535,-1.4748661711441102,55.116754617007174,-1.6255430618237061
+5895,55.181510689504535,-1.8220670482718568,55.70316338629523,-0.4332635397608702,55.38130333799587,-1.6621733889489219
+5896,55.70316338629523,-5.988477573804817,56.224816083085926,-4.59967406529383,55.91605760293969,-4.8406104080323455
+5897,56.224816083085926,-7.377281082315804,56.74646877987663,-5.988477573804817,56.51683391168836,-6.585016049608126
+5898,56.224816083085926,-5.988477573804817,56.48564243148128,-5.294075819549324,56.33224939458223,-5.490768056432612
+5899,56.224816083085926,-5.294075819549324,56.48564243148128,-4.59967406529383,56.34809958928752,-4.863570680726183
+5900,56.48564243148128,-5.988477573804817,56.74646877987663,-5.294075819549324,56.68408182663326,-5.671137140701602
+5901,56.48564243148128,-5.294075819549324,56.74646877987663,-4.59967406529383,56.63200378891019,-4.89527021430163
+5902,56.74646877987663,-10.154888099337777,57.78977417345803,-7.377281082315804,57.1176264745404,-7.444062607711439
+5903,56.74646877987663,-7.377281082315804,57.26812147666733,-5.988477573804817,57.14811735793346,-6.827823122964632
+5904,56.74646877987663,-5.988477573804817,57.00729512827198,-5.294075819549324,56.88403528123244,-5.673269504674991
+5905,56.74646877987663,-5.294075819549324,57.00729512827198,-4.59967406529383,56.82819084552142,-4.972889130695959
+5906,57.00729512827198,-5.988477573804817,57.26812147666733,-5.294075819549324,57.22707330873753,-5.553054566998444
+5907,57.00729512827198,-5.294075819549324,57.26812147666733,-4.59967406529383,57.12915142211836,-4.9136914969616186
+5908,57.26812147666733,-7.377281082315804,57.52894782506268,-6.68287932806031,57.37859369151108,-7.252757717037761
+5909,57.26812147666733,-6.68287932806031,57.52894782506268,-5.988477573804817,57.40272314295501,-6.333999371741237
+5910,57.52894782506268,-7.377281082315804,57.78977417345803,-6.68287932806031,57.580733941747525,-7.273910956550241
+5911,57.52894782506268,-6.68287932806031,57.78977417345803,-5.988477573804817,57.60614423335679,-6.321138182749777
+5912,57.26812147666733,-5.988477573804817,57.78977417345803,-4.59967406529383,57.42215332293812,-5.150168390425254
+5913,55.70316338629523,-4.59967406529383,55.8335765604929,-4.252473188166084,55.784361612831844,-4.350577190938952
+5914,55.70316338629523,-4.252473188166084,55.8335765604929,-3.905272311038337,55.78643984724497,-4.103452299496717
+5915,55.8335765604929,-4.59967406529383,55.96398973469058,-4.252473188166084,55.882066289106085,-4.3567964239768475
+5916,55.8335765604929,-4.252473188166084,55.96398973469058,-3.905272311038337,55.87521211488393,-4.144096767255544
+5917,55.70316338629523,-3.905272311038337,55.8335765604929,-3.55807143391059,55.76308724616432,-3.7701180196361217
+5918,55.70316338629523,-3.55807143391059,55.8335765604929,-3.2108705567828437,55.75769299421249,-3.3333603867049226
+5919,55.8335765604929,-3.905272311038337,55.96398973469058,-3.55807143391059,55.89910544001563,-3.6477138695623905
+5920,55.8335765604929,-3.55807143391059,55.96398973469058,-3.2108705567828437,55.91489423053628,-3.369945151389164
+5921,55.96398973469058,-4.59967406529383,56.224816083085926,-3.905272311038337,56.11025084736015,-4.183784599603307
+5922,55.96398973469058,-3.905272311038337,56.094402908888256,-3.55807143391059,56.01270568911493,-3.732673996569072
+5923,55.96398973469058,-3.55807143391059,56.094402908888256,-3.2108705567828437,56.009972683153734,-3.377366792778907
+5924,56.094402908888256,-3.905272311038337,56.224816083085926,-3.55807143391059,56.14189572383832,-3.722068879011922
+5925,56.094402908888256,-3.55807143391059,56.224816083085926,-3.2108705567828437,56.16054385841617,-3.3939248676818843
+5926,55.70316338629523,-3.2108705567828437,55.8335765604929,-2.863669679655097,55.77895728912477,-3.0540205793281836
+5927,55.70316338629523,-2.863669679655097,55.8335765604929,-2.51646880252735,55.7645445524188,-2.769536031087465
+5928,55.8335765604929,-3.2108705567828437,55.96398973469058,-2.863669679655097,55.91332708859615,-3.0955769738430985
+5929,55.8335765604929,-2.863669679655097,55.96398973469058,-2.51646880252735,55.919637457769376,-2.734253775690174
+5930,55.70316338629523,-2.51646880252735,55.96398973469058,-1.8220670482718568,55.79761254165761,-2.197259663984611
+5931,55.96398973469058,-3.2108705567828437,56.224816083085926,-2.51646880252735,56.05525974957523,-2.962284506557489
+5932,55.96398973469058,-2.51646880252735,56.224816083085926,-1.8220670482718568,55.98738894926642,-2.4996246893167635
+5933,56.224816083085926,-4.59967406529383,56.48564243148128,-3.905272311038337,56.31558124605034,-4.361473037174564
+5934,56.224816083085926,-3.905272311038337,56.48564243148128,-3.2108705567828437,56.3458403771085,-3.438374278661412
+5935,56.48564243148128,-4.59967406529383,56.74646877987663,-3.905272311038337,56.63931846197693,-4.188784482205512
+5936,56.48564243148128,-3.905272311038337,56.74646877987663,-3.2108705567828437,56.604757813550435,-3.5565971221748156
+5937,56.224816083085926,-3.2108705567828437,56.48564243148128,-2.51646880252735,56.3917428120582,-2.9331105876695482
+5938,56.48564243148128,-3.2108705567828437,56.74646877987663,-2.51646880252735,56.595647716072165,-2.8400603613930384
+5939,56.48564243148128,-2.51646880252735,56.74646877987663,-1.8220670482718568,56.695101085189194,-2.477376908853339
+5940,56.74646877987663,-4.59967406529383,57.26812147666733,-3.2108705567828437,57.06970017539382,-4.043908739234657
+5941,56.74646877987663,-3.2108705567828437,57.00729512827198,-2.51646880252735,56.85261355614827,-2.7697007954632826
+5942,56.74646877987663,-2.51646880252735,57.00729512827198,-1.8220670482718568,56.89631339293307,-2.2591612137951045
+5943,57.00729512827198,-3.2108705567828437,57.26812147666733,-2.51646880252735,57.09303705708045,-2.807504189693512
+5944,57.00729512827198,-2.51646880252735,57.26812147666733,-1.8220670482718568,57.12580071865046,-2.2681152572700047
+5945,57.26812147666733,-4.59967406529383,57.52894782506268,-3.905272311038337,57.444376031928265,-4.2047948933515515
+5946,57.26812147666733,-3.905272311038337,57.52894782506268,-3.2108705567828437,57.37501485617702,-3.5252869416334573
+5947,57.52894782506268,-4.59967406529383,57.78977417345803,-3.905272311038337,57.62926765988099,-4.307167465356296
+5948,57.52894782506268,-3.905272311038337,57.78977417345803,-3.2108705567828437,57.61701224891756,-3.546494599601902
+5949,57.26812147666733,-3.2108705567828437,57.52894782506268,-2.51646880252735,57.47340238603752,-3.1346347748621812
+5950,57.26812147666733,-2.51646880252735,57.52894782506268,-1.8220670482718568,57.498630872269274,-2.0993366431186056
+5951,57.52894782506268,-3.2108705567828437,57.78977417345803,-2.51646880252735,57.63147377094826,-2.8620492661525656
+5952,57.52894782506268,-2.51646880252735,57.78977417345803,-1.8220670482718568,57.59443107872279,-2.3953643056072975
+5953,56.74646877987663,-1.8220670482718568,57.78977417345803,0.9555399687501165,57.50091762310945,-1.7915977652395794
+5954,57.78977417345803,-10.154888099337777,59.876384960620825,-4.59967406529383,58.189029299940024,-6.280356645950528
+5955,57.78977417345803,-4.59967406529383,58.311426870248724,-3.2108705567828437,57.95606767784282,-4.237378304685075
+5956,58.311426870248724,-4.59967406529383,58.83307956703943,-3.2108705567828437,58.60825608342286,-3.510925676167843
+5957,58.311426870248724,-3.2108705567828437,58.83307956703943,-1.8220670482718568,58.752041268540054,-3.0383878969071767
+5958,58.83307956703943,-4.59967406529383,59.35473226383013,-3.2108705567828437,58.9825001745545,-3.2790414872163196
+5959,58.83307956703943,-3.2108705567828437,59.35473226383013,-1.8220670482718568,59.00153515845757,-3.084021546156449
+5960,59.35473226383013,-3.2108705567828437,59.876384960620825,-1.8220670482718568,59.35914892113425,-2.6690275802507752
+5961,58.83307956703943,-1.8220670482718568,59.876384960620825,0.9555399687501165,59.868626353944144,-1.2818315253751529
+5962,59.876384960620825,-10.154888099337777,61.96299574778362,-4.59967406529383,61.63876231153946,-6.820302819126463
+5963,59.876384960620825,-1.8220670482718568,60.13721130901617,-1.1276652940163636,60.021102213,-1.2737529886347954
+5964,60.13721130901617,-1.8220670482718568,60.39803765741152,-1.1276652940163636,60.26865121290355,-1.287747579638826
+5965,60.13721130901617,-1.1276652940163636,60.39803765741152,-0.4332635397608702,60.15339334180339,-1.1065988995919689
+5966,60.39803765741152,-1.8220670482718568,60.919690354202224,-0.4332635397608702,60.56132800304408,-1.2143983484483627
+5967,61.96299574778362,-87.92788457595303,78.655882045086,-43.48617230360146,65.30167782188146,-51.68420513015531
+5968,61.96299574778362,-26.820530201469616,64.04960653494642,-21.26531616742567,63.9647778645397,-22.163445493025076
+5969,64.04960653494642,-26.820530201469616,65.09291192852783,-24.042923184447645,64.885296441323,-24.043716413616
+5970,64.04960653494642,-24.042923184447645,64.57125923173712,-22.654119675936656,64.073088304782,-22.655485410703
+5971,64.04960653494642,-22.654119675936656,64.31043288334178,-21.95971792168116,64.09961295991657,-21.98757933251374
+5972,64.04960653494642,-21.95971792168116,64.18001970914409,-21.612517044553414,64.11441081831236,-21.865657098683986
+5973,64.04960653494642,-21.612517044553414,64.18001970914409,-21.26531616742567,64.11134721642227,-21.416378818752445
+5974,64.18001970914409,-21.95971792168116,64.31043288334178,-21.612517044553414,64.25072326697487,-21.78216901518772
+5975,64.18001970914409,-21.612517044553414,64.31043288334178,-21.26531616742567,64.22428695552784,-21.523828551312192
+5976,64.31043288334178,-22.654119675936656,64.57125923173712,-21.95971792168116,64.3413851536049,-22.033611674642753
+5977,64.31043288334178,-21.95971792168116,64.57125923173712,-21.26531616742567,64.46559684165008,-21.681720300454888
+5978,64.57125923173712,-24.042923184447645,65.09291192852783,-22.654119675936656,64.8748619327996,-23.449139386640056
+5979,64.57125923173712,-22.654119675936656,65.09291192852783,-21.26531616742567,64.75593613989851,-21.871712877688733
+5980,65.09291192852783,-26.820530201469616,66.13621732210922,-24.042923184447645,65.56948664532173,-24.226410939041322
+5981,65.09291192852783,-24.042923184447645,66.13621732210922,-21.26531616742567,65.67278413901899,-23.081895451528712
+5982,66.13621732210922,-32.375744235513565,70.30943889643481,-21.26531616742567,66.15887232496766,-23.27852942960366
+5983,63.00630114136502,-21.26531616742567,64.04960653494642,-18.487709150403695,63.72976957474703,-20.228703279208673
+5984,63.00630114136502,-18.487709150403695,64.04960653494642,-15.710102133381724,63.927666160696,-16.737299442467098
+5985,64.04960653494642,-21.26531616742567,65.09291192852783,-18.487709150403695,64.35314115320342,-20.625518951465207
+5986,64.04960653494642,-18.487709150403695,65.09291192852783,-15.710102133381724,64.21060276968994,-16.09128956355953
+5987,65.09291192852783,-21.26531616742567,66.13621732210922,-18.487709150403695,65.63506762350787,-19.81410215884898
+5988,65.09291192852783,-18.487709150403695,66.13621732210922,-15.710102133381724,65.74905186150094,-17.618454167924998
+5989,64.04960653494642,-15.710102133381724,66.13621732210922,-10.154888099337777,64.8796410587222,-14.526430152397566
+5990,61.96299574778362,-10.154888099337777,66.13621732210922,0.9555399687501165,62.15670544129313,-6.8769179694104325
+5991,66.13621732210922,-21.26531616742567,70.30943889643481,-10.154888099337777,66.4678087285921,-17.406711005413154
+5992,11.884336855876501,0.9555399687501165,20.230780004527688,23.176396104925903,12.733929462943696,6.263825504331247
+5993,11.884336855876501,23.176396104925903,20.230780004527688,45.39725224110169,13.288669673041865,39.78645960098399
+5994,20.230780004527688,23.176396104925903,28.577223153178878,45.39725224110169,23.897037732455495,37.519209144466124
+5995,16.057558430202093,50.95246627514564,17.10086382378349,53.73007329216761,16.811230884215203,53.310743241101044
+5996,16.840037475388144,53.73007329216761,16.970450649585818,54.07727416929535,16.93228092920003,53.87455520967935
+5997,16.970450649585818,53.73007329216761,17.10086382378349,54.07727416929535,17.014371465851802,54.03439838548301
+5998,16.970450649585818,54.07727416929535,17.10086382378349,54.4244750464231,17.041155553279705,54.16534001214205
+5999,16.840037475388144,54.4244750464231,17.10086382378349,55.11887680067859,17.02042818023555,54.62835430184308
+6000,17.10086382378349,50.95246627514564,18.14416921736489,53.73007329216761,17.47755192471099,53.21325963256296
+6001,17.10086382378349,53.73007329216761,18.14416921736489,56.50768030918958,17.26942530539694,54.236306364213526
+6002,18.14416921736489,50.95246627514564,20.230780004527688,56.50768030918958,19.498442877735275,55.181965268104875
+6003,16.057558430202093,56.50768030918958,20.230780004527688,67.61810837727748,20.19457632731725,56.54026334229863
+6004,11.884336855876501,74.5621259198324,12.4059895526672,75.95092942834339,12.246614332489463,75.42703896349275
+6005,12.4059895526672,74.5621259198324,12.9276422494579,75.95092942834339,12.716861747906048,75.09407810434712
+6006,11.884336855876501,75.95092942834339,12.145163204271851,76.64533118259888,11.995362596139573,76.23257366119368
+6007,11.884336855876501,76.64533118259888,12.145163204271851,77.33973293685438,12.031826099797057,76.73111477709003
+6008,12.145163204271851,75.95092942834339,12.4059895526672,76.64533118259888,12.31208477297154,76.54408952874655
+6009,12.145163204271851,76.64533118259888,12.4059895526672,77.33973293685438,12.286067177582606,76.77167242027224
+6010,11.884336855876501,77.33973293685438,12.4059895526672,78.72853644536536,12.095341056379866,78.11496367359113
+6011,12.4059895526672,75.95092942834339,12.9276422494579,77.33973293685438,12.671795222562837,76.74586587777098
+6012,12.4059895526672,77.33973293685438,12.66681590106255,78.03413469110987,12.564857090722024,77.74568229673663
+6013,12.4059895526672,78.03413469110987,12.66681590106255,78.72853644536536,12.549255146898918,78.245224864084
+6014,12.66681590106255,77.33973293685438,12.9276422494579,78.03413469110987,12.856102893291288,77.64614167752266
+6015,12.66681590106255,78.03413469110987,12.9276422494579,78.72853644536536,12.739723572888566,78.68230443019414
+6016,12.9276422494579,73.17332241132142,13.970947643039297,75.95092942834339,13.255986219639096,75.47462487454801
+6017,12.9276422494579,75.95092942834339,13.4492949462486,77.33973293685438,13.077511578271883,76.6655362648016
+6018,12.9276422494579,77.33973293685438,13.058055423655574,77.68693381398212,12.98891017980578,77.5906901981933
+6019,12.9276422494579,77.68693381398212,13.058055423655574,78.03413469110987,12.970472397902778,77.71883039357807
+6020,13.058055423655574,77.33973293685438,13.18846859785325,77.68693381398212,13.11078244610357,77.58677418224867
+6021,13.058055423655574,77.68693381398212,13.18846859785325,78.03413469110987,13.108851291702033,77.83564040796443
+6022,12.9276422494579,78.03413469110987,13.18846859785325,78.72853644536536,13.14213972275335,78.28795298534813
+6023,13.18846859785325,77.33973293685438,13.4492949462486,78.03413469110987,13.294485148749033,77.73148837494351
+6024,13.18846859785325,78.03413469110987,13.4492949462486,78.72853644536536,13.290248753668589,78.35762601001736
+6025,13.4492949462486,75.95092942834339,13.970947643039297,77.33973293685438,13.756270040397277,76.85890089881431
+6026,13.4492949462486,77.33973293685438,13.970947643039297,78.72853644536536,13.608735672818874,78.23322692950306
+6027,13.970947643039297,73.17332241132142,15.014253036620694,75.95092942834339,14.737179689442401,75.20038886703342
+6028,13.970947643039297,75.95092942834339,15.014253036620694,78.72853644536536,14.385772256935065,76.70747669095113
+6029,15.014253036620694,73.8677241655769,15.275079385016044,74.5621259198324,15.22521641305105,73.9990854536932
+6030,15.275079385016044,73.17332241132142,15.535905733411393,73.8677241655769,15.487776888112318,73.82725753653963
+6031,15.275079385016044,73.8677241655769,15.535905733411393,74.5621259198324,15.388220562913036,73.98133653586292
+6032,15.014253036620694,74.5621259198324,15.535905733411393,75.95092942834339,15.277398660615816,75.13673720668706
+6033,15.535905733411393,73.17332241132142,16.057558430202093,74.5621259198324,15.70409478080251,73.8224467918731
+6034,15.535905733411393,74.5621259198324,16.057558430202093,75.95092942834339,15.634891007967749,74.75185311271431
+6035,15.014253036620694,75.95092942834339,16.057558430202093,78.72853644536536,15.441536281045924,77.7145994948448
+6036,11.884336855876501,78.72853644536536,12.4059895526672,80.11733995387635,11.999961101980453,79.81116090285026
+6037,12.4059895526672,78.72853644536536,12.9276422494579,80.11733995387635,12.822388461912634,79.65306092642103
+6038,12.4059895526672,80.11733995387635,12.9276422494579,81.50614346238734,12.757200458297232,80.202491802926
+6039,12.9276422494579,78.72853644536536,13.4492949462486,80.11733995387635,13.087640638868177,79.456963712632
+6040,12.9276422494579,80.11733995387635,13.4492949462486,81.50614346238734,13.04024675921145,80.21758673094267
+6041,13.4492949462486,78.72853644536536,13.970947643039297,80.11733995387635,13.631609649132715,79.31618811614102
+6042,13.970947643039297,78.72853644536536,16.057558430202093,84.28375047940932,15.579862761150961,79.82887303492916
+6043,16.057558430202093,67.61810837727748,18.14416921736489,73.17332241132142,17.932986678515572,73.04015406199758
+6044,16.057558430202093,73.17332241132142,17.10086382378349,75.95092942834339,16.418338386824015,74.11595534560816
+6045,16.057558430202093,75.95092942834339,17.10086382378349,78.72853644536536,16.74924622872011,78.34731457741535
+6046,17.10086382378349,73.17332241132142,18.14416921736489,75.95092942834339,17.48535457815612,73.78675838965616
+6047,17.10086382378349,77.33973293685438,17.36169017217884,78.03413469110987,17.305078819096938,77.88754249232281
+6048,17.10086382378349,78.03413469110987,17.36169017217884,78.72853644536536,17.308534830583262,78.42323988058972
+6049,17.36169017217884,78.03413469110987,17.492103346376517,78.38133556823762,17.43726483397646,78.3327655854044
+6050,17.36169017217884,78.38133556823762,17.492103346376517,78.72853644536536,17.42616703432506,78.46765185279888
+6051,17.492103346376517,78.03413469110987,17.62251652057419,78.38133556823762,17.511899570517237,78.31557645634095
+6052,17.492103346376517,78.38133556823762,17.62251652057419,78.72853644536536,17.52826671645112,78.48877376252058
+6053,17.62251652057419,77.33973293685438,18.14416921736489,78.72853644536536,17.76641538991956,78.469032407307
+6054,18.14416921736489,71.78451890281045,18.66582191415559,73.17332241132142,18.431329189003783,72.94401145263437
+6055,18.66582191415559,72.47892065706594,18.92664826255094,73.17332241132142,18.789438415427007,73.00077400776449
+6056,18.92664826255094,72.47892065706594,19.057061436748615,72.82612153419367,18.95827028735168,72.8237022141515
+6057,18.92664826255094,72.82612153419367,19.057061436748615,73.17332241132142,19.00393097193674,72.90870588293151
+6058,19.057061436748615,72.47892065706594,19.18747461094629,72.82612153419367,19.136277764902502,72.82290511642248
+6059,19.057061436748615,72.82612153419367,19.18747461094629,73.17332241132142,19.104391788588288,72.88145066903007
+6060,19.18747461094629,70.39571539429946,20.230780004527688,73.17332241132142,19.269074165948332,72.90502316547229
+6061,18.14416921736489,73.17332241132142,18.404995565760238,73.8677241655769,18.365908869786,73.75249952493648
+6062,18.14416921736489,73.8677241655769,18.404995565760238,74.5621259198324,18.356582808085037,74.00037309233593
+6063,18.404995565760238,73.17332241132142,18.66582191415559,73.8677241655769,18.536665296446504,73.7986938280145
+6064,18.404995565760238,73.8677241655769,18.66582191415559,74.5621259198324,18.51275793720609,73.9104466795663
+6065,18.66582191415559,73.17332241132142,19.18747461094629,74.5621259198324,18.929385498062626,73.42069394162078
+6066,18.14416921736489,75.95092942834339,19.18747461094629,78.72853644536536,18.653064807867818,78.39716535815346
+6067,19.18747461094629,73.17332241132142,20.230780004527688,75.95092942834339,19.868315258160585,74.62112352290669
+6068,16.057558430202093,78.72853644536536,17.10086382378349,81.50614346238734,16.627481889330873,80.45548142601237
+6069,16.057558430202093,81.50614346238734,17.10086382378349,84.28375047940932,16.971127318754057,81.77535506585753
+6070,17.10086382378349,78.72853644536536,18.14416921736489,81.50614346238734,17.320395795254708,79.30822740920168
+6071,17.10086382378349,81.50614346238734,18.14416921736489,84.28375047940932,17.627134898484407,82.9566964342595
+6072,18.14416921736489,78.72853644536536,20.230780004527688,84.28375047940932,18.48984314956669,82.64270011104057
+6073,18.14416921736489,84.28375047940932,20.230780004527688,89.83896451345326,18.83906787552691,84.48958288108584
+6074,22.317390791690485,45.39725224110169,24.404001578853283,50.95246627514564,23.628854246773898,46.3846674353413
+6075,23.882348882062583,54.4244750464231,24.143175230457935,55.11887680067859,24.11380647858,54.93241579624075
+6076,24.143175230457935,53.73007329216761,24.404001578853283,54.4244750464231,24.182830223164363,54.36281031810011
+6077,24.143175230457935,54.4244750464231,24.27358840465561,54.771675923550845,24.247904030846367,54.61723854566701
+6078,24.143175230457935,54.771675923550845,24.27358840465561,55.11887680067859,24.19914903226517,54.93514952813117
+6079,24.27358840465561,54.4244750464231,24.404001578853283,54.771675923550845,24.34599757220505,54.597929835127225
+6080,23.882348882062583,55.11887680067859,24.143175230457935,55.81327855493409,24.112686716663177,55.70195722948801
+6081,23.882348882062583,55.81327855493409,24.143175230457935,56.50768030918958,24.080136950351402,55.87299878711673
+6082,24.143175230457935,55.11887680067859,24.27358840465561,55.46607767780634,24.185404824662925,55.29010811014845
+6083,24.143175230457935,55.46607767780634,24.27358840465561,55.81327855493409,24.210253819752623,55.70189571981106
+6084,24.27358840465561,55.46607767780634,24.404001578853283,55.81327855493409,24.32168839937907,55.76882548049662
+6085,24.143175230457935,55.81327855493409,24.404001578853283,56.50768030918958,24.221466524143864,56.03642822371187
+6086,20.230780004527688,56.50768030918958,22.317390791690485,62.06289434323353,22.11328599637836,58.83419379880532
+6087,22.317390791690485,56.50768030918958,22.839043488481185,57.89648381770057,22.80182062854246,57.809969718633376
+6088,22.317390791690485,57.89648381770057,22.839043488481185,59.28528732621156,22.59268810256103,58.70718489741226
+6089,22.839043488481185,56.50768030918958,23.099869836876536,57.202082063445076,23.0949163399475,56.8423442274945
+6090,22.839043488481185,57.202082063445076,23.099869836876536,57.89648381770057,22.970747044796823,57.54197848807959
+6091,23.099869836876536,56.50768030918958,23.360696185271884,57.202082063445076,23.19875308790266,57.06302275227153
+6092,23.099869836876536,57.202082063445076,23.360696185271884,57.89648381770057,23.190014179706587,57.4478153476219
+6093,22.839043488481185,57.89648381770057,23.360696185271884,59.28528732621156,23.166750361133236,58.593563603783664
+6094,22.317390791690485,59.28528732621156,23.360696185271884,62.06289434323353,22.55331431680838,59.54585132952468
+6095,23.360696185271884,56.50768030918958,23.882348882062583,57.89648381770057,23.572080345655017,57.52497189899214
+6096,23.360696185271884,57.89648381770057,23.491109359469558,58.24368469482832,23.43198854079957,58.12169335641449
+6097,23.360696185271884,58.24368469482832,23.491109359469558,58.590885571956065,23.45072598808225,58.40857299636906
+6098,23.491109359469558,57.89648381770057,23.621522533667232,58.24368469482832,23.592109059908502,58.20262016470407
+6099,23.491109359469558,58.24368469482832,23.621522533667232,58.590885571956065,23.586511416197833,58.41675630071471
+6100,23.360696185271884,58.590885571956065,23.621522533667232,59.28528732621156,23.502766853873478,58.679556679355166
+6101,23.621522533667232,57.89648381770057,23.882348882062583,58.590885571956065,23.65023274598212,58.221564161023444
+6102,23.882348882062583,56.50768030918958,24.404001578853283,57.89648381770057,24.213167647206628,56.80538778546557
+6103,22.317390791690485,62.06289434323353,24.404001578853283,67.61810837727748,24.224825062759546,67.57580042310255
+6104,24.404001578853283,46.09165399535718,24.66482792724863,46.78605574961267,24.631500242755937,46.677727152440795
+6105,24.66482792724863,46.438854872484924,24.795241101446308,46.78605574961267,24.74552440989753,46.717438437874044
+6106,24.795241101446308,46.438854872484924,24.925654275643982,46.78605574961267,24.822202576527683,46.6786637141084
+6107,24.404001578853283,46.78605574961267,24.925654275643982,48.17485925812366,24.710322281188265,46.80628454868504
+6108,24.925654275643982,45.39725224110169,25.44730697243468,46.78605574961267,24.96312756363475,46.68928247005809
+6109,24.404001578853283,48.17485925812366,25.44730697243468,50.95246627514564,25.23151539260796,50.80896027735044
+6110,25.44730697243468,45.39725224110169,26.49061236601608,48.17485925812366,25.713550049146,45.886775053689
+6111,25.44730697243468,49.56366276663465,25.96895966922538,50.95246627514564,25.86992823277561,50.35289641148724
+6112,25.96895966922538,49.56366276663465,26.229786017620732,50.258064520890144,26.141805898339886,50.02894400619033
+6113,25.96895966922538,50.258064520890144,26.099372843423055,50.60526539801789,26.05167743092164,50.521199602742605
+6114,25.96895966922538,50.60526539801789,26.099372843423055,50.95246627514564,26.058988077513924,50.61432018021433
+6115,26.099372843423055,50.258064520890144,26.229786017620732,50.60526539801789,26.174654642895256,50.52500985872193
+6116,26.099372843423055,50.60526539801789,26.229786017620732,50.95246627514564,26.187731079536515,50.63718946487238
+6117,26.229786017620732,49.56366276663465,26.49061236601608,50.258064520890144,26.341514125627306,50.101806865232
+6118,26.229786017620732,50.258064520890144,26.360199191818406,50.60526539801789,26.24355877794467,50.55368894116134
+6119,26.229786017620732,50.60526539801789,26.360199191818406,50.95246627514564,26.269581169928998,50.64242416058201
+6120,24.404001578853283,50.95246627514564,24.925654275643982,52.34126978365663,24.8560529872648,51.510155391261556
+6121,24.925654275643982,50.95246627514564,25.186480624039334,51.64686802940113,25.146857592290146,51.49163781770905
+6122,25.186480624039334,51.299667152273386,25.316893798237007,51.64686802940113,25.258489187492106,51.48172529271707
+6123,25.316893798237007,50.95246627514564,25.44730697243468,51.299667152273386,25.351785137666752,51.29179071174563
+6124,25.316893798237007,51.299667152273386,25.44730697243468,51.64686802940113,25.357872803299568,51.476520774626735
+6125,24.404001578853283,53.73007329216761,24.66482792724863,54.4244750464231,24.46614148534555,54.37480498886333
+6126,24.404001578853283,54.4244750464231,24.534414753050957,54.771675923550845,24.444856298325334,54.5895694496215
+6127,24.534414753050957,54.4244750464231,24.66482792724863,54.771675923550845,24.583598799235165,54.64810891518492
+6128,24.534414753050957,54.771675923550845,24.66482792724863,55.11887680067859,24.647369361359832,54.78824371083711
+6129,24.66482792724863,54.4244750464231,24.925654275643982,55.11887680067859,24.769989067834345,54.88359114015967
+6130,24.404001578853283,55.11887680067859,24.925654275643982,56.50768030918958,24.66263689619143,55.83604202556004
+6131,24.925654275643982,53.73007329216761,25.44730697243468,55.11887680067859,24.983868362270105,55.084626826715876
+6132,24.925654275643982,55.11887680067859,25.056067449841656,55.46607767780634,25.013886182396657,55.2026647755464
+6133,24.925654275643982,55.46607767780634,25.056067449841656,55.81327855493409,24.98218844769487,55.68324715245865
+6134,25.056067449841656,55.11887680067859,25.186480624039334,55.46607767780634,25.119138627253506,55.25628184845317
+6135,25.056067449841656,55.46607767780634,25.186480624039334,55.81327855493409,25.174132872208087,55.505756628548426
+6136,24.925654275643982,55.81327855493409,25.186480624039334,56.50768030918958,25.028210338218923,56.10194842163266
+6137,25.186480624039334,55.11887680067859,25.316893798237007,55.46607767780634,25.246713904168384,55.35470624996998
+6138,25.186480624039334,55.46607767780634,25.316893798237007,55.81327855493409,25.25391586821452,55.54615400255825
+6139,25.316893798237007,55.11887680067859,25.44730697243468,55.46607767780634,25.36606577586906,55.41745769290483
+6140,25.316893798237007,55.46607767780634,25.44730697243468,55.81327855493409,25.40148186029038,55.512647994894856
+6141,25.186480624039334,55.81327855493409,25.44730697243468,56.50768030918958,25.249378412366926,55.91437630496551
+6142,25.44730697243468,50.95246627514564,26.49061236601608,53.73007329216761,25.696912225653037,51.383787525998464
+6143,25.44730697243468,53.73007329216761,26.49061236601608,56.50768030918958,25.61454579309274,55.77444660664851
+6144,26.49061236601608,45.39725224110169,28.577223153178878,50.95246627514564,28.106254023057904,48.67300105366653
+6145,26.49061236601608,50.95246627514564,28.577223153178878,56.50768030918958,26.891143764702107,55.169767893673
+6146,24.404001578853283,56.50768030918958,26.49061236601608,62.06289434323353,24.493791379384177,56.58050843945242
+6147,24.404001578853283,66.92370662302199,24.66482792724863,67.61810837727748,24.574871597731743,67.55912495252655
+6148,24.66482792724863,66.22930486876649,24.925654275643982,66.92370662302199,24.848892554499255,66.66356922521629
+6149,24.66482792724863,66.92370662302199,24.925654275643982,67.61810837727748,24.844282574499466,67.22205871730124
+6150,24.925654275643982,66.22930486876649,25.44730697243468,67.61810837727748,25.084341909490927,67.23458823908264
+6151,25.44730697243468,64.8405013602555,26.49061236601608,67.61810837727748,26.30254083026574,67.5525684918754
+6152,26.49061236601608,62.06289434323353,28.577223153178878,67.61810837727748,26.7412232013097,67.53109373614997
+6153,20.230780004527688,67.61810837727748,22.317390791690485,73.17332241132142,20.889145460019535,72.29277190535957
+6154,20.230780004527688,73.17332241132142,22.317390791690485,78.72853644536536,21.310548481659144,75.15507383149317
+6155,22.317390791690485,67.61810837727748,23.360696185271884,70.39571539429946,22.96510034854603,69.84204786494422
+6156,22.317390791690485,70.39571539429946,23.360696185271884,73.17332241132142,23.015229074436643,72.33388688932482
+6157,23.360696185271884,69.00691188578847,23.882348882062583,70.39571539429946,23.653112571532528,69.67746074426759
+6158,24.143175230457935,67.61810837727748,24.404001578853283,68.31251013153297,24.305264944617427,67.87416170566642
+6159,24.143175230457935,68.31251013153297,24.404001578853283,69.00691188578847,24.362818466903537,68.76815233715095
+6160,23.882348882062583,69.00691188578847,24.404001578853283,70.39571539429946,24.36940063760615,69.56480450688424
+6161,23.360696185271884,70.39571539429946,24.404001578853283,73.17332241132142,23.554057970258096,72.84353644797868
+6162,22.317390791690485,73.17332241132142,24.404001578853283,78.72853644536536,23.450366223792063,74.7744454877842
+6163,20.230780004527688,78.72853644536536,22.317390791690485,84.28375047940932,21.097541183221054,79.31449827099436
+6164,20.230780004527688,84.28375047940932,22.317390791690485,89.83896451345326,21.425402452872955,87.56004675899351
+6165,22.317390791690485,78.72853644536536,24.404001578853283,84.28375047940932,23.514046384343,81.26055118414034
+6166,22.317390791690485,84.28375047940932,23.360696185271884,87.0613574964313,23.271668156692193,85.43193621721048
+6167,22.317390791690485,87.0613574964313,22.839043488481185,88.45016100494229,22.556097876853695,88.37314973724725
+6168,22.317390791690485,88.45016100494229,22.839043488481185,89.83896451345326,22.63139638639317,89.21821990511077
+6169,22.839043488481185,87.0613574964313,23.360696185271884,88.45016100494229,23.23669570960514,87.86759387967058
+6170,22.839043488481185,88.45016100494229,23.360696185271884,89.83896451345326,23.08751582223806,89.50005536197233
+6171,23.360696185271884,84.28375047940932,24.404001578853283,87.0613574964313,23.564808265708,85.76119817436036
+6172,23.360696185271884,87.0613574964313,24.404001578853283,89.83896451345326,23.97658484091503,89.30723348946044
+6173,24.404001578853283,67.61810837727748,24.534414753050957,67.96530925440523,24.466933007477795,67.7855742110733
+6174,24.404001578853283,67.96530925440523,24.534414753050957,68.31251013153297,24.46627673084913,68.16371504596799
+6175,24.534414753050957,67.61810837727748,24.66482792724863,67.96530925440523,24.60416166534276,67.79990106369773
+6176,24.534414753050957,67.96530925440523,24.66482792724863,68.31251013153297,24.610715315995336,68.16674276810664
+6177,24.404001578853283,68.31251013153297,24.534414753050957,68.65971100866072,24.481874627615845,68.4970858481512
+6178,24.404001578853283,68.65971100866072,24.534414753050957,69.00691188578847,24.481108911584194,68.81904572914898
+6179,24.534414753050957,68.31251013153297,24.66482792724863,68.65971100866072,24.613966007114136,68.49650482676154
+6180,24.534414753050957,68.65971100866072,24.66482792724863,69.00691188578847,24.60908630255466,68.82386972082924
+6181,24.66482792724863,67.61810837727748,24.795241101446308,67.96530925440523,24.731339776134508,67.81699994856962
+6182,24.66482792724863,67.96530925440523,24.795241101446308,68.31251013153297,24.729452220495222,68.18936016036295
+6183,24.795241101446308,67.61810837727748,24.925654275643982,67.96530925440523,24.837132302034874,67.84793168354511
+6184,24.795241101446308,67.96530925440523,24.925654275643982,68.31251013153297,24.839291666676342,68.11507052105922
+6185,24.66482792724863,68.31251013153297,24.795241101446308,68.65971100866072,24.73543322346237,68.502925123637
+6186,24.66482792724863,68.65971100866072,24.795241101446308,69.00691188578847,24.720499685150404,68.85132653044543
+6187,24.795241101446308,68.31251013153297,24.925654275643982,68.65971100866072,24.861591855820965,68.48317958875842
+6188,24.795241101446308,68.65971100866072,24.925654275643982,69.00691188578847,24.859892308491876,68.8535245048892
+6189,24.404001578853283,69.00691188578847,24.534414753050957,69.35411276291622,24.49978634192028,69.10256587568998
+6190,24.404001578853283,69.35411276291622,24.534414753050957,69.70131364004396,24.482643113163856,69.49501712271542
+6191,24.534414753050957,69.00691188578847,24.66482792724863,69.35411276291622,24.610110835470312,69.15006391470341
+6192,24.534414753050957,69.35411276291622,24.66482792724863,69.70131364004396,24.582120946224624,69.50165387263657
+6193,24.404001578853283,69.70131364004396,24.66482792724863,70.39571539429946,24.57795382033036,70.0339722682574
+6194,24.66482792724863,69.00691188578847,24.795241101446308,69.35411276291622,24.734053008667388,69.15922348188101
+6195,24.66482792724863,69.35411276291622,24.795241101446308,69.70131364004396,24.74363649823556,69.51731935585252
+6196,24.795241101446308,69.00691188578847,24.925654275643982,69.35411276291622,24.856789887104167,69.16929631097118
+6197,24.795241101446308,69.35411276291622,24.925654275643982,69.70131364004396,24.857060339188052,69.47809028156438
+6198,24.66482792724863,69.70131364004396,24.925654275643982,70.39571539429946,24.799693889849177,69.96990773477906
+6199,24.925654275643982,67.61810837727748,25.186480624039334,68.31251013153297,25.0622935145703,68.09611259199879
+6200,24.925654275643982,68.31251013153297,25.056067449841656,68.65971100866072,24.99171152890861,68.48193137247952
+6201,24.925654275643982,68.65971100866072,25.056067449841656,69.00691188578847,24.996118124646696,68.80933564639714
+6202,25.056067449841656,68.31251013153297,25.186480624039334,68.65971100866072,25.11114656946304,68.50729343938441
+6203,25.056067449841656,68.65971100866072,25.186480624039334,69.00691188578847,25.118588138611337,68.85556046179556
+6204,25.186480624039334,67.61810837727748,25.44730697243468,68.31251013153297,25.30502519351258,68.05477742940478
+6205,25.186480624039334,68.31251013153297,25.316893798237007,68.65971100866072,25.261790879089727,68.56705466779405
+6206,25.186480624039334,68.65971100866072,25.316893798237007,69.00691188578847,25.256108147098498,68.83259189820897
+6207,25.316893798237007,68.31251013153297,25.44730697243468,68.65971100866072,25.380456758052258,68.53319840195279
+6208,25.316893798237007,68.65971100866072,25.44730697243468,69.00691188578847,25.377875687090302,68.8126109094259
+6209,24.925654275643982,69.00691188578847,25.056067449841656,69.35411276291622,24.97541578998398,69.16665154210312
+6210,24.925654275643982,69.35411276291622,25.056067449841656,69.70131364004396,25.00152162873571,69.46781562988531
+6211,25.056067449841656,69.00691188578847,25.186480624039334,69.35411276291622,25.136342107405184,69.15081883297037
+6212,25.056067449841656,69.35411276291622,25.186480624039334,69.70131364004396,25.118137710145614,69.53536586005204
+6213,24.925654275643982,69.70131364004396,25.186480624039334,70.39571539429946,25.083924793571487,70.08788235456312
+6214,25.186480624039334,69.00691188578847,25.316893798237007,69.35411276291622,25.255923432065725,69.21077658897696
+6215,25.186480624039334,69.35411276291622,25.316893798237007,69.70131364004396,25.251749293100705,69.52767065976424
+6216,25.316893798237007,69.00691188578847,25.44730697243468,69.35411276291622,25.37590779318717,69.17430847740891
+6217,25.316893798237007,69.35411276291622,25.44730697243468,69.70131364004396,25.392602327328152,69.54970386734972
+6218,25.186480624039334,69.70131364004396,25.44730697243468,70.39571539429946,25.316271739589077,69.95370239193022
+6219,24.404001578853283,70.39571539429946,25.44730697243468,73.17332241132142,25.028941048655568,70.58571021721322
+6220,25.44730697243468,67.61810837727748,25.70813332083003,68.31251013153297,25.560846028956774,68.10195977619985
+6221,25.44730697243468,68.31251013153297,25.577720146632355,68.65971100866072,25.520970025229957,68.49812959640226
+6222,25.44730697243468,68.65971100866072,25.577720146632355,69.00691188578847,25.509192727836712,68.80008652556188
+6223,25.577720146632355,68.31251013153297,25.70813332083003,68.65971100866072,25.635196119010406,68.54013705172724
+6224,25.577720146632355,68.65971100866072,25.70813332083003,69.00691188578847,25.64260201824807,68.77760606123285
+6225,25.70813332083003,67.61810837727748,25.96895966922538,68.31251013153297,25.86168161442044,68.19353780162527
+6226,25.70813332083003,68.31251013153297,25.838546495027707,68.65971100866072,25.776765089410315,68.52889583222775
+6227,25.70813332083003,68.65971100866072,25.838546495027707,69.00691188578847,25.776300490229634,68.81524341544565
+6228,25.838546495027707,68.31251013153297,25.96895966922538,68.65971100866072,25.913277988761852,68.51490876691808
+6229,25.838546495027707,68.65971100866072,25.96895966922538,69.00691188578847,25.90414504900585,68.82823182618732
+6230,25.44730697243468,69.00691188578847,25.577720146632355,69.35411276291622,25.521083636119286,69.15825206949505
+6231,25.44730697243468,69.35411276291622,25.577720146632355,69.70131364004396,25.49152958790736,69.52943356204482
+6232,25.577720146632355,69.00691188578847,25.70813332083003,69.35411276291622,25.635915878904864,69.15426824657344
+6233,25.577720146632355,69.35411276291622,25.70813332083003,69.70131364004396,25.6323242053928,69.41194706318414
+6234,25.44730697243468,69.70131364004396,25.70813332083003,70.39571539429946,25.560985794843294,69.98236648678902
+6235,25.70813332083003,69.00691188578847,25.96895966922538,69.70131364004396,25.843434369423633,69.1868264992935
+6236,25.96895966922538,67.61810837727748,26.229786017620732,68.31251013153297,26.11461173624872,68.14987916384554
+6237,25.96895966922538,68.31251013153297,26.099372843423055,68.65971100866072,26.03320196498784,68.48125399165728
+6238,25.96895966922538,68.65971100866072,26.099372843423055,69.00691188578847,26.033439443446316,68.8512204656354
+6239,26.099372843423055,68.31251013153297,26.229786017620732,68.65971100866072,26.15824551870085,68.51953959960048
+6240,26.099372843423055,68.65971100866072,26.229786017620732,69.00691188578847,26.16355024989182,68.81107391737754
+6241,26.229786017620732,67.61810837727748,26.360199191818406,67.96530925440523,26.31247877613215,67.78287219230097
+6242,26.229786017620732,67.96530925440523,26.360199191818406,68.31251013153297,26.298654003209727,68.16779664781453
+6243,26.360199191818406,67.61810837727748,26.49061236601608,67.96530925440523,26.438770582593897,67.77765185243591
+6244,26.360199191818406,67.96530925440523,26.49061236601608,68.31251013153297,26.43445017669767,68.22703385406756
+6245,26.229786017620732,68.31251013153297,26.360199191818406,68.65971100866072,26.291180036977156,68.48941157211422
+6246,26.229786017620732,68.65971100866072,26.360199191818406,69.00691188578847,26.29214071731701,68.82092031661556
+6247,26.360199191818406,68.31251013153297,26.49061236601608,68.65971100866072,26.427085235866294,68.46053977682993
+6248,26.360199191818406,68.65971100866072,26.49061236601608,69.00691188578847,26.420630981050756,68.84894279305388
+6249,25.96895966922538,69.00691188578847,26.49061236601608,70.39571539429946,26.10571233251484,69.0852286192063
+6250,25.44730697243468,70.39571539429946,26.49061236601608,73.17332241132142,25.711008392088107,71.23137135900247
+6251,24.404001578853283,73.17332241132142,26.49061236601608,78.72853644536536,24.884364949511014,74.125916128983
+6252,26.49061236601608,67.61810837727748,26.621025540213754,67.96530925440523,26.540342144714717,67.72000945288562
+6253,26.49061236601608,67.96530925440523,26.621025540213754,68.31251013153297,26.55418645755908,68.1669361336326
+6254,26.621025540213754,67.61810837727748,26.751438714411428,67.96530925440523,26.685295131548088,67.7958934184053
+6255,26.621025540213754,67.96530925440523,26.751438714411428,68.31251013153297,26.729078808340585,68.3072627428184
+6256,26.49061236601608,68.31251013153297,26.751438714411428,69.00691188578847,26.60367293848705,68.45471056778285
+6257,26.751438714411428,67.61810837727748,26.881851888609106,67.96530925440523,26.81005589894934,67.74726377493171
+6258,26.751438714411428,67.96530925440523,26.881851888609106,68.31251013153297,26.821603338784882,68.17427345808683
+6259,26.881851888609106,67.61810837727748,27.01226506280678,67.96530925440523,26.97379813223559,67.67628914357826
+6260,26.881851888609106,67.96530925440523,27.01226506280678,68.31251013153297,26.935864529449674,68.12964514795253
+6261,26.751438714411428,68.31251013153297,27.01226506280678,69.00691188578847,26.907415111818374,68.44202416671452
+6262,27.01226506280678,67.61810837727748,27.27309141120213,68.31251013153297,27.098330759787675,67.86987133527857
+6263,27.01226506280678,68.31251013153297,27.142678237004453,68.65971100866072,27.080763977247535,68.5293329413763
+6264,27.01226506280678,68.65971100866072,27.142678237004453,69.00691188578847,27.067255611135618,68.8797190206049
+6265,27.142678237004453,68.31251013153297,27.27309141120213,68.65971100866072,27.220969962954705,68.54695167291536
+6266,27.142678237004453,68.65971100866072,27.27309141120213,69.00691188578847,27.189947046812105,68.7278137100698
+6267,27.27309141120213,67.61810837727748,27.53391775959748,68.31251013153297,27.441276037604172,67.98118262217838
+6268,27.27309141120213,68.31251013153297,27.403504585399805,68.65971100866072,27.343489187129126,68.5390105291707
+6269,27.27309141120213,68.65971100866072,27.403504585399805,69.00691188578847,27.369273657962104,68.74186174884937
+6270,27.403504585399805,68.31251013153297,27.53391775959748,68.65971100866072,27.441776231418004,68.52927064500794
+6271,27.403504585399805,68.65971100866072,27.53391775959748,69.00691188578847,27.464417399811886,68.76672957349767
+6272,27.01226506280678,69.00691188578847,27.53391775959748,70.39571539429946,27.303631098333415,69.10692521306765
+6273,26.49061236601608,70.39571539429946,27.53391775959748,73.17332241132142,26.871418835769862,70.84767138541345
+6274,27.53391775959748,67.61810837727748,27.664330933795153,67.96530925440523,27.600542026163353,67.8644519710358
+6275,27.53391775959748,67.96530925440523,27.664330933795153,68.31251013153297,27.599855698298065,68.1327983664239
+6276,27.664330933795153,67.61810837727748,27.794744107992827,67.96530925440523,27.693149324734463,67.92998241840759
+6277,27.664330933795153,67.96530925440523,27.794744107992827,68.31251013153297,27.714055639214113,68.1662093547904
+6278,27.53391775959748,68.31251013153297,27.794744107992827,69.00691188578847,27.620626590240224,68.68194480926977
+6279,27.794744107992827,67.61810837727748,28.05557045638818,68.31251013153297,27.879231850688644,68.16304289497188
+6280,27.794744107992827,68.31251013153297,27.925157282190504,68.65971100866072,27.86662697155291,68.48489543881517
+6281,27.794744107992827,68.65971100866072,27.925157282190504,69.00691188578847,27.85900019036813,68.72384870880637
+6282,27.925157282190504,68.31251013153297,28.05557045638818,68.65971100866072,27.981931001244362,68.53837644528984
+6283,27.925157282190504,68.65971100866072,28.05557045638818,69.00691188578847,27.998549007802218,68.76448115165974
+6284,27.53391775959748,69.00691188578847,27.794744107992827,69.70131364004396,27.678386465171986,69.28296669471705
+6285,27.794744107992827,69.00691188578847,27.925157282190504,69.35411276291622,27.861401262569053,69.23331628794415
+6286,27.794744107992827,69.35411276291622,27.925157282190504,69.70131364004396,27.86420351414187,69.49748522860983
+6287,27.925157282190504,69.00691188578847,28.05557045638818,69.35411276291622,27.99614193675017,69.27165904387934
+6288,27.925157282190504,69.35411276291622,28.05557045638818,69.70131364004396,27.98932172374953,69.52440699684804
+6289,27.794744107992827,69.70131364004396,28.05557045638818,70.39571539429946,27.97364666489276,69.76340526861199
+6290,28.05557045638818,67.61810837727748,28.31639680478353,68.31251013153297,28.079893008738246,68.10563791232778
+6291,28.05557045638818,68.31251013153297,28.185983630585852,68.65971100866072,28.119246963437806,68.50157800768662
+6292,28.05557045638818,68.65971100866072,28.185983630585852,69.00691188578847,28.122952801274888,68.84257170143006
+6293,28.185983630585852,68.31251013153297,28.31639680478353,68.65971100866072,28.262456547037125,68.44899038788574
+6294,28.185983630585852,68.65971100866072,28.31639680478353,69.00691188578847,28.245625930525776,68.83591804661035
+6295,28.31639680478353,68.31251013153297,28.577223153178878,69.00691188578847,28.371452541513616,68.61827233102234
+6296,28.05557045638818,69.00691188578847,28.185983630585852,69.35411276291622,28.135190363858392,69.19068913175907
+6297,28.05557045638818,69.35411276291622,28.185983630585852,69.70131364004396,28.1115235161341,69.56028926957097
+6298,28.185983630585852,69.00691188578847,28.31639680478353,69.35411276291622,28.268074144251752,69.17610382582454
+6299,28.185983630585852,69.35411276291622,28.31639680478353,69.70131364004396,28.28233771390764,69.42499055961544
+6300,28.05557045638818,69.70131364004396,28.31639680478353,70.39571539429946,28.152551423582004,69.79331692048535
+6301,28.31639680478353,69.00691188578847,28.577223153178878,69.70131364004396,28.378313756868767,69.32403230216106
+6302,28.31639680478353,69.70131364004396,28.577223153178878,70.39571539429946,28.34450206241963,69.78587547677007
+6303,26.49061236601608,73.17332241132142,28.577223153178878,78.72853644536536,28.17697419846604,76.93950477470081
+6304,24.404001578853283,78.72853644536536,26.49061236601608,84.28375047940932,25.40643689601939,82.77832428578871
+6305,24.404001578853283,84.28375047940932,26.49061236601608,89.83896451345326,25.405038017831565,88.45367631015142
+6306,26.49061236601608,78.72853644536536,27.53391775959748,81.50614346238734,26.790689239189565,80.75717502781579
+6307,26.49061236601608,81.50614346238734,27.53391775959748,84.28375047940932,27.470891460310924,83.36993819416443
+6308,27.53391775959748,78.72853644536536,28.577223153178878,81.50614346238734,28.498928973396186,81.24372073047951
+6309,27.53391775959748,81.50614346238734,28.577223153178878,84.28375047940932,28.182851401351655,83.74503837537735
+6310,26.49061236601608,84.28375047940932,27.53391775959748,87.0613574964313,26.998286127729763,85.86815510797396
+6311,26.49061236601608,87.0613574964313,27.53391775959748,89.83896451345326,26.982832700673136,88.58449188470566
+6312,27.53391775959748,84.28375047940932,27.794744107992827,84.97815223366482,27.6345699933704,84.47428460262181
+6313,27.53391775959748,84.97815223366482,27.664330933795153,85.32535311079256,27.650968232421306,85.28716658049139
+6314,27.53391775959748,85.32535311079256,27.664330933795153,85.67255398792031,27.632637337290962,85.44351575970947
+6315,27.664330933795153,84.97815223366482,27.794744107992827,85.32535311079256,27.70098059597426,85.28977837230627
+6316,27.664330933795153,85.32535311079256,27.794744107992827,85.67255398792031,27.718857115774497,85.3659220419061
+6317,27.794744107992827,84.28375047940932,28.05557045638818,84.97815223366482,27.841826212873357,84.78258926468477
+6318,27.794744107992827,84.97815223366482,28.05557045638818,85.67255398792031,27.8316097554833,85.22377803327815
+6319,27.53391775959748,85.67255398792031,28.05557045638818,87.0613574964313,27.695636251531774,86.10068498542037
+6320,28.05557045638818,84.28375047940932,28.577223153178878,85.67255398792031,28.464318621862155,84.34471205886993
+6321,28.05557045638818,85.67255398792031,28.577223153178878,87.0613574964313,28.1625541439705,86.409778437585
+6322,27.53391775959748,87.0613574964313,28.577223153178878,89.83896451345326,28.502777691103,87.067499961857
+6323,28.577223153178878,0.9555399687501165,32.75044472750447,12.06596803683801,32.3680378915388,7.065997351260924
+6324,28.577223153178878,12.06596803683801,32.75044472750447,23.176396104925903,32.48698373220366,12.994898114282334
+6325,32.75044472750447,0.9555399687501165,34.83705551466727,6.510754002794063,33.63679990110771,1.3506662123118631
+6326,32.75044472750447,6.510754002794063,33.79375012108587,9.288361019816037,33.58692821418451,9.012037156641416
+6327,32.75044472750447,9.288361019816037,33.27209742429517,10.677164528327022,33.04248462654114,10.463763144053999
+6328,32.75044472750447,10.677164528327022,33.27209742429517,12.06596803683801,33.176474223968114,11.102610600663231
+6329,33.27209742429517,9.288361019816037,33.79375012108587,10.677164528327022,33.52685313971531,10.332602621634392
+6330,33.27209742429517,10.677164528327022,33.79375012108587,12.06596803683801,33.533525840720195,10.888681761679134
+6331,33.79375012108587,6.510754002794063,34.83705551466727,9.288361019816037,34.39240655078225,8.729275183605525
+6332,33.79375012108587,9.288361019816037,34.315402817876574,10.677164528327022,33.92542125522952,10.051361762068607
+6333,33.79375012108587,10.677164528327022,34.315402817876574,12.06596803683801,33.83627975442059,10.959229748792302
+6334,34.315402817876574,9.288361019816037,34.57622916627192,9.98276277407153,34.397888693771954,9.932729572936935
+6335,34.315402817876574,9.98276277407153,34.57622916627192,10.677164528327022,34.54110625521056,10.225365690790678
+6336,34.57622916627192,9.98276277407153,34.7066423404696,10.329963651199275,34.66034355674652,10.262530599600137
+6337,34.57622916627192,10.329963651199275,34.7066423404696,10.677164528327022,34.66400168149738,10.506897969023445
+6338,34.7066423404696,9.98276277407153,34.83705551466727,10.329963651199275,34.77864496977285,10.297247458964739
+6339,34.7066423404696,10.329963651199275,34.83705551466727,10.677164528327022,34.7542749556875,10.51644292114925
+6340,34.57622916627192,10.677164528327022,34.7066423404696,11.02436540545477,34.68314256468294,10.709844480326316
+6341,34.57622916627192,11.02436540545477,34.7066423404696,11.371566282582517,34.66948998102227,11.115884213714617
+6342,34.7066423404696,10.677164528327022,34.83705551466727,11.02436540545477,34.78838838236772,10.755418868406137
+6343,34.7066423404696,11.02436540545477,34.83705551466727,11.371566282582517,34.75642103744817,11.243180157996296
+6344,34.83705551466727,0.9555399687501165,35.88036090824867,3.73314698577209,35.01292000658086,1.257522431819982
+6345,34.83705551466727,3.73314698577209,35.88036090824867,6.510754002794063,34.86171679039836,5.715502375995913
+6346,35.88036090824867,0.9555399687501165,36.92366630183007,3.73314698577209,36.580538109975926,2.7175894459504772
+6347,35.88036090824867,3.73314698577209,36.92366630183007,6.510754002794063,36.5266436497607,4.468545356107189
+6348,34.83705551466727,8.593959265560542,35.09788186306262,9.288361019816037,34.927940600018935,9.194304942173389
+6349,35.09788186306262,8.593959265560542,35.228295037260295,8.94116014268829,35.20760284296328,8.889107057345036
+6350,35.09788186306262,8.94116014268829,35.228295037260295,9.288361019816037,35.211362555289554,9.009047995409599
+6351,35.228295037260295,8.593959265560542,35.358708211457966,8.94116014268829,35.29048635095002,8.901941992421536
+6352,35.228295037260295,8.94116014268829,35.358708211457966,9.288361019816037,35.28552992614357,9.026767315514562
+6353,35.358708211457966,8.593959265560542,35.48912138565564,8.94116014268829,35.39014253440346,8.894851105647616
+6354,35.358708211457966,8.94116014268829,35.48912138565564,9.288361019816037,35.39821104456319,9.052982090468982
+6355,35.61953455985332,8.593959265560542,35.88036090824867,9.288361019816037,35.85392959524946,9.206663564546387
+6356,34.83705551466727,9.288361019816037,35.358708211457966,10.677164528327022,35.00063968476029,10.258220022965618
+6357,34.83705551466727,10.677164528327022,35.358708211457966,12.06596803683801,35.02459201141835,10.74130644823722
+6358,35.358708211457966,9.288361019816037,35.88036090824867,10.677164528327022,35.742590991110106,10.398740317829201
+6359,35.358708211457966,10.677164528327022,35.88036090824867,12.06596803683801,35.54686036818191,10.936027489828678
+6360,35.88036090824867,6.510754002794063,36.92366630183007,9.288361019816037,36.31937116928126,7.5008007288698755
+6361,35.88036090824867,9.288361019816037,36.40201360503937,10.677164528327022,36.15610461921305,10.1532481974736
+6362,36.40201360503937,9.288361019816037,36.66283995343472,9.98276277407153,36.63447273140288,9.846008078789175
+6363,36.40201360503937,9.98276277407153,36.66283995343472,10.677164528327022,36.51425167142245,10.366141998253774
+6364,36.66283995343472,9.288361019816037,36.92366630183007,9.98276277407153,36.72861521879483,9.947342434697843
+6365,36.66283995343472,9.98276277407153,36.7932531276324,10.329963651199275,36.75089992129582,10.162188948468378
+6366,36.66283995343472,10.329963651199275,36.7932531276324,10.677164528327022,36.7171980911762,10.481064398610911
+6367,36.7932531276324,9.98276277407153,36.92366630183007,10.329963651199275,36.84001696722833,10.204650825409137
+6368,36.7932531276324,10.329963651199275,36.92366630183007,10.677164528327022,36.87125680402857,10.339262674496522
+6369,36.40201360503937,10.677164528327022,36.92366630183007,12.06596803683801,36.74986415339684,10.9698536519565
+6370,32.75044472750447,12.06596803683801,34.83705551466727,17.621182070881957,32.88518397386833,13.265969283575766
+6371,34.83705551466727,12.06596803683801,35.88036090824867,14.843575053859983,35.840364487556116,14.185260004539275
+6372,35.88036090824867,14.14917329960449,36.010774082446346,14.496374176732235,35.927870898494156,14.401168969782715
+6373,35.88036090824867,14.496374176732235,36.010774082446346,14.843575053859983,35.89891711665514,14.512582143596013
+6374,36.010774082446346,14.14917329960449,36.14118725664402,14.496374176732235,36.04329184165796,14.271070500224116
+6375,36.40201360503937,13.454771545348997,36.92366630183007,14.843575053859983,36.79571746439274,14.670825614099577
+6376,35.88036090824867,14.843575053859983,36.92366630183007,17.621182070881957,36.8622343847674,15.067274998724184
+6377,34.83705551466727,17.621182070881957,36.92366630183007,23.176396104925903,36.70514015869713,22.524254163562226
+6378,28.577223153178878,28.73161013896985,29.620528546760276,31.509217155991823,29.272549659227014,31.1574405456395
+6379,28.577223153178878,31.509217155991823,29.620528546760276,34.2868241730138,29.11149513030778,32.57487774295664
+6380,29.620528546760276,30.814815401736332,29.881354895155624,31.509217155991823,29.74603736335744,31.22147481804731
+6381,29.881354895155624,30.814815401736332,30.0117680693533,31.16201627886408,29.95271622183654,31.02127306304891
+6382,29.881354895155624,31.16201627886408,30.0117680693533,31.509217155991823,29.990580064086995,31.388664765241078
+6383,30.0117680693533,30.814815401736332,30.142181243550976,31.16201627886408,30.050279338560525,30.968408155972377
+6384,30.0117680693533,31.16201627886408,30.142181243550976,31.509217155991823,30.067421579172485,31.361538470443897
+6385,30.142181243550976,28.73161013896985,30.663833940341675,30.120413647480838,30.606731770771223,29.834913166185444
+6386,30.142181243550976,30.120413647480838,30.663833940341675,31.509217155991823,30.36711205528395,31.19863899176105
+6387,29.620528546760276,31.509217155991823,30.663833940341675,34.2868241730138,30.111637145904808,31.775894122822763
+6388,30.663833940341675,23.176396104925903,32.75044472750447,28.73161013896985,31.07037992507967,28.227487375915082
+6389,30.663833940341675,28.73161013896985,32.75044472750447,34.2868241730138,31.047998647572665,29.98499996037742
+6390,28.577223153178878,34.2868241730138,30.663833940341675,39.84203820705774,30.302887538749264,35.18094697826196
+6391,30.663833940341675,34.2868241730138,31.185486637132374,35.67562768152479,30.947885639109604,35.16203621616222
+6392,30.663833940341675,35.67562768152479,31.185486637132374,37.06443119003577,31.094798965625984,36.200628863560766
+6393,31.185486637132374,34.2868241730138,31.446312985527726,34.98122592726929,31.34957470154892,34.70607900756634
+6394,31.185486637132374,34.98122592726929,31.446312985527726,35.67562768152479,31.335560484467372,35.260849014687714
+6395,31.446312985527726,34.2868241730138,31.707139333923074,34.98122592726929,31.576556133727635,34.76161117916751
+6396,31.446312985527726,34.98122592726929,31.707139333923074,35.67562768152479,31.592070783401457,35.14309433571806
+6397,31.185486637132374,35.67562768152479,31.707139333923074,37.06443119003577,31.44397424723115,36.44266058459309
+6398,31.707139333923074,34.2868241730138,31.967965682318425,34.98122592726929,31.8847120618464,34.816934015012734
+6399,31.707139333923074,34.98122592726929,31.83755250812075,35.32842680439704,31.780061211523943,35.20161233628637
+6400,31.707139333923074,35.32842680439704,31.83755250812075,35.67562768152479,31.79357694062697,35.445996582506545
+6401,31.83755250812075,34.98122592726929,31.967965682318425,35.32842680439704,31.905736823619222,35.14151458413496
+6402,31.83755250812075,35.32842680439704,31.967965682318425,35.67562768152479,31.909416857980023,35.40097633184859
+6403,31.967965682318425,34.634025050141545,32.0983788565161,34.98122592726929,32.049144795775725,34.83291487402673
+6404,32.0983788565161,34.634025050141545,32.22879203071378,34.98122592726929,32.157986281691706,34.87800323005175
+6405,31.967965682318425,34.98122592726929,32.22879203071378,35.67562768152479,32.10228730700757,35.19697381238083
+6406,31.707139333923074,35.67562768152479,31.83755250812075,36.022828558652535,31.757478416103,35.928613150605294
+6407,31.707139333923074,36.022828558652535,31.83755250812075,36.37002943578028,31.787020614965527,36.21131118599794
+6408,31.83755250812075,35.67562768152479,31.967965682318425,36.022828558652535,31.92980788016721,35.87926761611165
+6409,31.83755250812075,36.022828558652535,31.967965682318425,36.37002943578028,31.84554843744829,36.042735926344896
+6410,31.707139333923074,36.37002943578028,31.967965682318425,37.06443119003577,31.79433143967647,36.64195739872416
+6411,31.967965682318425,35.67562768152479,32.0983788565161,36.022828558652535,32.011150722714746,35.887612325251
+6412,31.967965682318425,36.022828558652535,32.0983788565161,36.37002943578028,32.055435192333974,36.08372890058192
+6413,32.22879203071378,34.2868241730138,32.489618379109125,34.98122592726929,32.33968204900763,34.88823016997981
+6414,32.22879203071378,34.98122592726929,32.489618379109125,35.67562768152479,32.365008621909354,35.17755470596265
+6415,32.489618379109125,34.2868241730138,32.75044472750447,34.98122592726929,32.51817401926874,34.91182437719399
+6416,32.489618379109125,34.98122592726929,32.75044472750447,35.67562768152479,32.61655870893451,35.19771832110062
+6417,32.22879203071378,35.67562768152479,32.75044472750447,37.06443119003577,32.30373580481142,35.796182123211764
+6418,30.663833940341675,39.84203820705774,32.75044472750447,45.39725224110169,31.942256206234003,44.784487831353
+6419,34.57622916627192,32.55081978737506,34.7066423404696,32.89802066450281,34.67908237945843,32.7470079566142
+6420,34.7066423404696,32.203618910247314,34.83705551466727,32.55081978737506,34.7859469677734,32.46286815624328
+6421,34.7066423404696,32.55081978737506,34.83705551466727,32.89802066450281,34.78025547614936,32.70480863575934
+6422,34.57622916627192,32.89802066450281,34.7066423404696,33.245221541630556,34.675514718757,32.997725568944176
+6423,34.7066423404696,32.89802066450281,34.83705551466727,33.245221541630556,34.75966948288467,33.06839334367576
+6424,34.7066423404696,33.245221541630556,34.83705551466727,33.592422418758304,34.79225598472926,33.40762644207844
+6425,34.57622916627192,33.592422418758304,34.83705551466727,34.2868241730138,34.82890870079347,33.600766338886935
+6426,34.83705551466727,23.176396104925903,35.358708211457966,24.56519961343689,35.29336362535322,24.24785966839561
+6427,34.83705551466727,24.56519961343689,35.09788186306262,25.259601367692383,34.97699853863521,24.911669189874114
+6428,34.83705551466727,25.259601367692383,35.09788186306262,25.954003121947878,35.032874896504424,25.563834867087763
+6429,35.09788186306262,24.56519961343689,35.358708211457966,25.259601367692383,35.302257488562375,25.0380937951199
+6430,35.09788186306262,25.259601367692383,35.358708211457966,25.954003121947878,35.233816165198974,25.580978447511676
+6431,35.358708211457966,23.176396104925903,35.61953455985332,23.870797859181394,35.4756399252105,23.684747387434385
+6432,35.358708211457966,23.870797859181394,35.61953455985332,24.56519961343689,35.45595599867651,24.156253818373642
+6433,35.358708211457966,24.56519961343689,35.88036090824867,25.954003121947878,35.393965834677566,24.808545706246807
+6434,34.83705551466727,25.954003121947878,35.88036090824867,28.73161013896985,35.22195555715211,26.343452348059568
+6435,35.88036090824867,23.176396104925903,36.92366630183007,25.954003121947878,36.663103103420774,24.655883478768743
+6436,35.88036090824867,25.954003121947878,36.92366630183007,28.73161013896985,36.697725909498494,27.762970576269446
+6437,34.83705551466727,32.203618910247314,34.96746868886494,32.55081978737506,34.892501500425276,32.45395669776261
+6438,34.83705551466727,32.55081978737506,34.96746868886494,32.89802066450281,34.88490421459047,32.72653501355315
+6439,34.96746868886494,32.203618910247314,35.09788186306262,32.55081978737506,35.00669713715527,32.43705231669455
+6440,34.96746868886494,32.55081978737506,35.09788186306262,32.89802066450281,35.03079228914474,32.76937185993894
+6441,35.09788186306262,32.203618910247314,35.358708211457966,32.89802066450281,35.1441773011634,32.70557462982915
+6442,34.83705551466727,32.89802066450281,34.96746868886494,33.245221541630556,34.89146307704446,33.01162412472318
+6443,34.83705551466727,33.245221541630556,34.96746868886494,33.592422418758304,34.9113694577193,33.483437357121446
+6444,34.96746868886494,32.89802066450281,35.09788186306262,33.245221541630556,35.05758110966326,33.00998000094637
+6445,34.96746868886494,33.245221541630556,35.09788186306262,33.592422418758304,35.034818145637246,33.43087239808858
+6446,34.83705551466727,33.592422418758304,34.96746868886494,33.93962329588605,34.91813935661956,33.61944875254384
+6447,34.83705551466727,33.93962329588605,34.96746868886494,34.2868241730138,34.953774234741,34.057704849219995
+6448,34.96746868886494,33.592422418758304,35.09788186306262,33.93962329588605,35.02390305675769,33.78121036394222
+6449,34.96746868886494,33.93962329588605,35.09788186306262,34.2868241730138,35.02528604556281,33.994009374347044
+6450,35.09788186306262,32.89802066450281,35.228295037260295,33.245221541630556,35.163044815587234,33.120464792306464
+6451,35.09788186306262,33.245221541630556,35.228295037260295,33.592422418758304,35.16221069313303,33.36110012101654
+6452,35.228295037260295,32.89802066450281,35.358708211457966,33.245221541630556,35.292513213950784,33.09666211982953
+6453,35.228295037260295,33.245221541630556,35.358708211457966,33.592422418758304,35.29681050834423,33.36656564032414
+6454,35.09788186306262,33.592422418758304,35.358708211457966,34.2868241730138,35.227399555008674,33.793980876129154
+6455,35.358708211457966,32.89802066450281,35.88036090824867,34.2868241730138,35.442745848323355,34.03035266862453
+6456,35.88036090824867,28.73161013896985,36.40201360503937,30.120413647480838,36.244867460927374,29.55779472710956
+6457,35.88036090824867,30.120413647480838,36.40201360503937,31.509217155991823,36.383004477108294,30.467057435812414
+6458,36.40201360503937,28.73161013896985,36.92366630183007,30.120413647480838,36.594967956520726,29.20561766537158
+6459,36.40201360503937,30.120413647480838,36.92366630183007,31.509217155991823,36.76759156416195,30.782927762942467
+6460,35.88036090824867,31.509217155991823,36.92366630183007,34.2868241730138,36.50725038319289,32.750212131854965
+6461,32.75044472750447,34.2868241730138,33.79375012108587,37.06443119003577,33.10249122517711,35.37136247012189
+6462,33.79375012108587,34.2868241730138,34.83705551466727,37.06443119003577,33.942404622415914,35.610640133566875
+6463,32.75044472750447,39.84203820705774,34.83705551466727,45.39725224110169,34.78085780696633,44.576542225164665
+6464,34.83705551466727,34.2868241730138,35.88036090824867,37.06443119003577,35.603796553347685,34.45441450378474
+6465,35.88036090824867,35.67562768152479,36.40201360503937,37.06443119003577,36.17387707695023,36.15560792575696
+6466,36.40201360503937,34.2868241730138,36.92366630183007,35.67562768152479,36.79907853078282,34.583531406486
+6467,36.40201360503937,35.67562768152479,36.92366630183007,37.06443119003577,36.55309791664584,36.35119130911043
+6468,35.88036090824867,37.06443119003577,36.92366630183007,39.84203820705774,36.72529224129418,37.10293405990813
+6469,34.83705551466727,39.84203820705774,36.92366630183007,45.39725224110169,36.32016542662724,44.34821423792244
+6470,36.92366630183007,0.9555399687501165,39.010277088992865,6.510754002794063,38.940498866810124,1.452254997417045
+6471,36.92366630183007,6.510754002794063,39.010277088992865,12.06596803683801,37.136202114716205,10.363886745026056
+6472,39.010277088992865,0.9555399687501165,39.53192978578356,2.344343477261103,39.066902242081994,1.5024719091942733
+6473,39.010277088992865,2.344343477261103,39.53192978578356,3.73314698577209,39.4465366478413,2.820980188507372
+6474,39.53192978578356,2.344343477261103,39.792756134178916,3.0387452315165966,39.65403072852704,2.7049556424754284
+6475,39.53192978578356,3.0387452315165966,39.792756134178916,3.73314698577209,39.66106229520648,3.2631199087201344
+6476,39.792756134178916,2.344343477261103,40.053582482574264,3.0387452315165966,39.837152962467556,2.8874537817181025
+6477,39.792756134178916,3.0387452315165966,40.053582482574264,3.73314698577209,39.86501821886434,3.120737087754278
+6478,39.010277088992865,3.73314698577209,40.053582482574264,6.510754002794063,39.884021304850236,4.190790543345332
+6479,40.053582482574264,0.9555399687501165,41.09688787615566,3.73314698577209,41.07284336240275,1.0405424912033419
+6480,40.053582482574264,3.73314698577209,41.09688787615566,6.510754002794063,40.055218425965,4.1313682223426
+6481,39.010277088992865,6.510754002794063,40.053582482574264,9.288361019816037,39.817388653199785,8.585994224151365
+6482,39.010277088992865,9.288361019816037,40.053582482574264,12.06596803683801,39.36395036679542,9.545664974637791
+6483,40.053582482574264,6.510754002794063,41.09688787615566,9.288361019816037,40.60610678017031,8.771928485569834
+6484,40.053582482574264,9.288361019816037,41.09688787615566,12.06596803683801,40.67929421244769,9.520299274530139
+6485,36.92366630183007,12.06596803683801,37.966971695411466,14.843575053859983,37.46384621071706,13.862345660428492
+6486,36.92366630183007,14.843575053859983,37.44531899862076,16.232378562370968,37.125642621312444,15.140578006901
+6487,37.44531899862076,14.843575053859983,37.70614534701612,15.537976808115475,37.55464268923018,15.058938716184482
+6488,37.70614534701612,14.843575053859983,37.966971695411466,15.537976808115475,37.83783809667739,15.195706313959437
+6489,37.70614534701612,15.537976808115475,37.966971695411466,16.232378562370968,37.9320798485172,15.977291142277513
+6490,37.966971695411466,12.06596803683801,38.227798043806814,12.760369791093503,38.08237951950261,12.658100051652578
+6491,37.966971695411466,12.760369791093503,38.097384869609144,13.10757066822125,38.024319938545304,12.94595361982908
+6492,37.966971695411466,13.10757066822125,38.097384869609144,13.454771545348997,38.068156343247935,13.308652698525867
+6493,38.097384869609144,12.760369791093503,38.227798043806814,13.10757066822125,38.13168997681952,13.083051423084695
+6494,38.097384869609144,13.10757066822125,38.227798043806814,13.454771545348997,38.14267952595484,13.312523388134721
+6495,37.966971695411466,13.454771545348997,38.48862439220217,14.843575053859983,38.05738953956514,14.030255078633191
+6496,37.966971695411466,14.843575053859983,38.227798043806814,15.537976808115475,38.1511828484081,15.238060502026128
+6497,37.966971695411466,15.537976808115475,38.227798043806814,16.232378562370968,38.10498715621074,15.81429800853853
+6498,38.227798043806814,14.843575053859983,38.48862439220217,15.537976808115475,38.24683792337404,15.29028835750665
+6499,38.227798043806814,15.537976808115475,38.48862439220217,16.232378562370968,38.35594908506288,15.934114395209038
+6500,38.227798043806814,16.232378562370968,38.35821121800449,16.579579439498715,38.3064950909438,16.3461341123779
+6501,38.35821121800449,16.232378562370968,38.48862439220217,16.579579439498715,38.44170073400661,16.471405168637048
+6502,38.35821121800449,16.579579439498715,38.48862439220217,16.926780316626463,38.468113939164596,16.580046697815614
+6503,38.48862439220217,14.843575053859983,39.010277088992865,16.232378562370968,38.69882455643788,16.075411243499172
+6504,38.48862439220217,16.232378562370968,38.74945074059752,16.926780316626463,38.6027205741134,16.46118206565884
+6505,38.74945074059752,16.232378562370968,39.010277088992865,16.926780316626463,38.85494226079671,16.51162870841036
+6506,38.74945074059752,16.926780316626463,39.010277088992865,17.621182070881957,38.946042905645946,17.038833522272782
+6507,36.92366630183007,20.39878908790393,37.44531899862076,21.787592596414918,37.12094815862044,21.6910388846679
+6508,36.92366630183007,21.787592596414918,37.184492650225415,22.481994350670412,37.09391988142055,22.240437770776772
+6509,36.92366630183007,22.481994350670412,37.184492650225415,23.176396104925903,37.01966185205573,22.72049649615389
+6510,37.184492650225415,21.787592596414918,37.44531899862076,22.481994350670412,37.29287030167384,22.214307802598064
+6511,37.184492650225415,22.481994350670412,37.44531899862076,23.176396104925903,37.29105925321748,22.817508565531686
+6512,37.44531899862076,20.39878908790393,37.966971695411466,21.787592596414918,37.6882661224107,21.32267789604212
+6513,37.44531899862076,21.787592596414918,37.70614534701612,22.481994350670412,37.589510642204736,22.203886907305684
+6514,37.44531899862076,22.481994350670412,37.70614534701612,23.176396104925903,37.59688119292816,22.837252376563363
+6515,37.70614534701612,21.787592596414918,37.966971695411466,22.481994350670412,37.85661229747594,22.237725305181364
+6516,37.70614534701612,22.481994350670412,37.966971695411466,23.176396104925903,37.86292087738815,22.871481242033965
+6517,37.966971695411466,20.39878908790393,38.48862439220217,21.787592596414918,38.36131742937989,21.55136293895501
+6518,37.966971695411466,21.787592596414918,38.227798043806814,22.481994350670412,38.100727210389806,22.257104854432974
+6519,37.966971695411466,22.481994350670412,38.227798043806814,23.176396104925903,38.046027855986004,22.82455431333769
+6520,38.227798043806814,21.787592596414918,38.48862439220217,22.481994350670412,38.39897703264626,21.9538915487389
+6521,38.227798043806814,22.481994350670412,38.48862439220217,23.176396104925903,38.381114999285245,22.95741016808663
+6522,38.48862439220217,20.39878908790393,38.74945074059752,21.093190842159423,38.65647726400753,20.784843169137144
+6523,38.48862439220217,21.093190842159423,38.74945074059752,21.787592596414918,38.660675983694055,21.31559317595604
+6524,38.74945074059752,20.39878908790393,39.010277088992865,21.093190842159423,38.861641433525456,20.88649379289226
+6525,38.74945074059752,21.093190842159423,39.010277088992865,21.787592596414918,38.88296906302255,21.266577934621413
+6526,38.48862439220217,21.787592596414918,38.74945074059752,22.481994350670412,38.60969461631335,22.03879283704184
+6527,38.48862439220217,22.481994350670412,38.74945074059752,23.176396104925903,38.60327917904517,22.70105185824311
+6528,38.74945074059752,21.787592596414918,39.010277088992865,22.481994350670412,38.88986483851334,22.29174339552892
+6529,38.74945074059752,22.481994350670412,39.010277088992865,23.176396104925903,38.84844830890188,22.815261123601427
+6530,39.010277088992865,14.843575053859983,39.53192978578356,16.232378562370968,39.272948834252446,16.087824303510967
+6531,39.010277088992865,16.232378562370968,39.53192978578356,17.621182070881957,39.26334792484844,16.656253919410325
+6532,39.53192978578356,14.843575053859983,40.053582482574264,16.232378562370968,39.84468348428122,15.91845131893334
+6533,39.53192978578356,16.232378562370968,40.053582482574264,17.621182070881957,39.74335858570354,16.370973385938573
+6534,40.053582482574264,13.454771545348997,40.57523517936497,14.843575053859983,40.55395354387011,14.224397079371702
+6535,40.57523517936497,13.454771545348997,40.836061527760315,14.14917329960449,40.80379441320409,14.091555129878895
+6536,40.57523517936497,14.14917329960449,40.836061527760315,14.843575053859983,40.7265090332399,14.536906436616679
+6537,40.836061527760315,13.454771545348997,41.09688787615566,14.14917329960449,40.91279486570375,14.103417377205085
+6538,40.836061527760315,14.14917329960449,40.96647470195799,14.496374176732235,40.86595285118173,14.257806467456204
+6539,40.836061527760315,14.496374176732235,40.96647470195799,14.843575053859983,40.90419729363676,14.635831299641954
+6540,40.96647470195799,14.14917329960449,41.09688787615566,14.496374176732235,41.02157176407413,14.32773365131997
+6541,40.96647470195799,14.496374176732235,41.09688787615566,14.843575053859983,41.032441185401005,14.613181773471874
+6542,40.053582482574264,14.843575053859983,40.57523517936497,16.232378562370968,40.253444414138954,15.634602837082424
+6543,40.053582482574264,16.232378562370968,40.57523517936497,17.621182070881957,40.47618910762572,17.14194744560302
+6544,40.57523517936497,14.843575053859983,41.09688787615566,16.232378562370968,40.77226913468627,15.507808834073295
+6545,40.57523517936497,16.232378562370968,40.836061527760315,16.926780316626463,40.713901870270014,16.559613931385922
+6546,40.57523517936497,16.926780316626463,40.70564835356264,17.27398119375421,40.59233071905885,17.099917932276924
+6547,40.57523517936497,17.27398119375421,40.70564835356264,17.621182070881957,40.673141411390326,17.470042688250167
+6548,40.70564835356264,16.926780316626463,40.836061527760315,17.27398119375421,40.813661879707546,17.110466423903134
+6549,40.70564835356264,17.27398119375421,40.836061527760315,17.621182070881957,40.76929949702874,17.427269892908498
+6550,40.836061527760315,16.232378562370968,41.09688787615566,16.926780316626463,41.02530786950999,16.814874114836645
+6551,40.836061527760315,16.926780316626463,41.09688787615566,17.621182070881957,40.94813636878974,17.215458932381328
+6552,39.010277088992865,19.009985579392943,39.53192978578356,20.39878908790393,39.43031257825966,19.99984247979461
+6553,39.53192978578356,17.621182070881957,40.053582482574264,19.009985579392943,39.93888288241113,18.262722836641707
+6554,39.53192978578356,19.009985579392943,40.053582482574264,20.39878908790393,39.80940967606612,19.980553296425622
+6555,39.010277088992865,20.39878908790393,39.27110343738821,21.093190842159423,39.13880993664861,20.954122673289813
+6556,39.010277088992865,21.093190842159423,39.27110343738821,21.787592596414918,39.110921276143735,21.374603358988136
+6557,39.27110343738821,20.39878908790393,39.53192978578356,21.093190842159423,39.39545022032071,20.851111629034918
+6558,39.27110343738821,21.093190842159423,39.53192978578356,21.787592596414918,39.42422348480718,21.63426769530564
+6559,39.010277088992865,21.787592596414918,39.53192978578356,23.176396104925903,39.305062952619814,22.383618066760675
+6560,39.53192978578356,20.39878908790393,39.792756134178916,21.093190842159423,39.63781925871337,20.863122578886436
+6561,39.53192978578356,21.093190842159423,39.792756134178916,21.787592596414918,39.68699676877622,21.557436189310756
+6562,39.792756134178916,20.39878908790393,40.053582482574264,21.093190842159423,39.92075023992718,20.690418622359388
+6563,39.792756134178916,21.093190842159423,40.053582482574264,21.787592596414918,39.9260637445462,21.368494961853347
+6564,39.53192978578356,21.787592596414918,40.053582482574264,23.176396104925903,39.688323375129386,22.304433108282222
+6565,40.053582482574264,17.621182070881957,40.31440883096961,18.315583825137452,40.230561567296874,17.986828342288618
+6566,40.053582482574264,18.315583825137452,40.31440883096961,19.009985579392943,40.2032639007973,18.413658966914948
+6567,40.31440883096961,17.621182070881957,40.44482200516729,17.968382948009705,40.384681069746165,17.895061750752873
+6568,40.31440883096961,17.968382948009705,40.44482200516729,18.315583825137452,40.374140451209946,18.11533379306132
+6569,40.44482200516729,17.621182070881957,40.57523517936497,17.968382948009705,40.52500524471502,17.80911719977833
+6570,40.44482200516729,17.968382948009705,40.57523517936497,18.315583825137452,40.5000045194098,18.040982341746204
+6571,40.31440883096961,18.315583825137452,40.57523517936497,19.009985579392943,40.331469426445565,18.347248264402083
+6572,40.053582482574264,19.009985579392943,40.31440883096961,19.704387333648434,40.21206213042863,19.579263120155854
+6573,40.053582482574264,19.704387333648434,40.31440883096961,20.39878908790393,40.12405897773342,20.034079975733263
+6574,40.31440883096961,19.009985579392943,40.57523517936497,19.704387333648434,40.44369898482468,19.466773651183043
+6575,40.31440883096961,19.704387333648434,40.57523517936497,20.39878908790393,40.425353900099346,19.91031833662364
+6576,40.57523517936497,17.621182070881957,40.70564835356264,17.968382948009705,40.63948898712402,17.866181349224302
+6577,40.57523517936497,17.968382948009705,40.70564835356264,18.315583825137452,40.61031610210859,17.989444165978526
+6578,40.70564835356264,17.621182070881957,40.836061527760315,17.968382948009705,40.73698844712059,17.698509785910257
+6579,40.57523517936497,19.009985579392943,41.09688787615566,20.39878908790393,40.82979433250955,19.63265578592695
+6580,40.053582482574264,20.39878908790393,40.57523517936497,21.787592596414918,40.27793215251779,21.223833964330613
+6581,40.053582482574264,21.787592596414918,40.31440883096961,22.481994350670412,40.19134707603984,22.15389234573813
+6582,40.053582482574264,22.481994350670412,40.31440883096961,23.176396104925903,40.250153826604326,22.56494069869392
+6583,40.31440883096961,21.787592596414918,40.57523517936497,22.481994350670412,40.43722706196666,22.045835901912124
+6584,40.31440883096961,22.481994350670412,40.57523517936497,23.176396104925903,40.47418731340054,22.877518785376928
+6585,40.57523517936497,20.39878908790393,41.09688787615566,21.787592596414918,40.97185019544564,21.193770748808863
+6586,40.57523517936497,21.787592596414918,40.836061527760315,22.481994350670412,40.72342684976053,22.33963782527743
+6587,40.57523517936497,22.481994350670412,40.70564835356264,22.82919522779816,40.62661405547851,22.742930861452034
+6588,40.57523517936497,22.82919522779816,40.70564835356264,23.176396104925903,40.64059955620961,22.951638078348005
+6589,40.70564835356264,22.481994350670412,40.836061527760315,22.82919522779816,40.72996882376723,22.6624416919845
+6590,40.70564835356264,22.82919522779816,40.836061527760315,23.176396104925903,40.73993108485342,22.983909390138276
+6591,40.836061527760315,21.787592596414918,41.09688787615566,22.481994350670412,40.93928716693876,22.04669272555301
+6592,40.836061527760315,22.481994350670412,41.09688787615566,23.176396104925903,40.96651519931728,22.809446150904083
+6593,41.09688787615566,0.9555399687501165,41.35771422455101,1.6499417230056097,41.20416739066239,1.3374088025336255
+6594,41.09688787615566,1.6499417230056097,41.35771422455101,2.344343477261103,41.288783687028264,1.8726354181421077
+6595,41.35771422455101,0.9555399687501165,41.61854057294636,1.6499417230056097,41.513239403453596,1.3279428034621636
+6596,41.35771422455101,1.6499417230056097,41.48812739874869,1.9971426001333563,41.42044108846077,1.8412725721870389
+6597,41.35771422455101,1.9971426001333563,41.48812739874869,2.344343477261103,41.413769847297225,2.138404031876575
+6598,41.48812739874869,1.6499417230056097,41.61854057294636,1.9971426001333563,41.56237794727569,1.8160941112000115
+6599,41.48812739874869,1.9971426001333563,41.61854057294636,2.344343477261103,41.540481599220115,2.11943807612923
+6600,41.09688787615566,2.344343477261103,41.61854057294636,3.73314698577209,41.55909037473862,2.462486666154128
+6601,41.61854057294636,0.9555399687501165,41.87936692134171,1.6499417230056097,41.72618269917349,1.2501441152895894
+6602,41.61854057294636,1.6499417230056097,41.87936692134171,2.344343477261103,41.7213411841448,1.9025491674886805
+6603,41.87936692134171,0.9555399687501165,42.14019326973706,1.6499417230056097,41.98139818188952,1.2562510861442306
+6604,41.87936692134171,1.6499417230056097,42.14019326973706,2.344343477261103,42.01708757400505,2.0152652684968744
+6605,41.61854057294636,2.344343477261103,41.87936692134171,3.0387452315165966,41.75435216673226,2.698188847135194
+6606,41.61854057294636,3.0387452315165966,41.87936692134171,3.73314698577209,41.850306963547276,3.090161385090464
+6607,41.87936692134171,2.344343477261103,42.009780095539384,2.6915443543888498,41.960908690268894,2.6091342193333484
+6608,41.87936692134171,2.6915443543888498,42.009780095539384,3.0387452315165966,41.95894545803582,2.801324261794128
+6609,42.009780095539384,2.344343477261103,42.14019326973706,2.6915443543888498,42.05776038234211,2.5429618020468006
+6610,42.009780095539384,2.6915443543888498,42.14019326973706,3.0387452315165966,42.07433343738207,2.8428096445678968
+6611,41.87936692134171,3.0387452315165966,42.14019326973706,3.73314698577209,41.998245064005,3.1719763362561526
+6612,42.14019326973706,0.9555399687501165,42.40101961813241,1.6499417230056097,42.27943533710835,1.3280747779091155
+6613,42.14019326973706,1.6499417230056097,42.40101961813241,2.344343477261103,42.274720061342286,1.8442325903082317
+6614,42.40101961813241,0.9555399687501165,42.661845966527764,1.6499417230056097,42.52422464378206,1.4635045600602299
+6615,42.40101961813241,1.6499417230056097,42.661845966527764,2.344343477261103,42.520707199027434,1.9568019206466742
+6616,42.14019326973706,2.344343477261103,42.40101961813241,3.0387452315165966,42.22636397737248,2.7308835809120495
+6617,42.14019326973706,3.0387452315165966,42.40101961813241,3.73314698577209,42.30106419485492,3.162566504706801
+6618,42.40101961813241,2.344343477261103,42.53143279233009,2.6915443543888498,42.51445776718308,2.629172903453869
+6619,42.40101961813241,2.6915443543888498,42.53143279233009,3.0387452315165966,42.48785528481052,2.8400447583123247
+6620,42.53143279233009,2.344343477261103,42.661845966527764,2.6915443543888498,42.621515053888736,2.5618668732268812
+6621,42.53143279233009,2.6915443543888498,42.661845966527764,3.0387452315165966,42.59685947468233,2.9332692848418547
+6622,42.40101961813241,3.0387452315165966,42.661845966527764,3.73314698577209,42.52642126271731,3.077558312211342
+6623,42.661845966527764,0.9555399687501165,42.92267231492311,1.6499417230056097,42.85427250236457,1.2851233355047014
+6624,42.661845966527764,1.6499417230056097,42.92267231492311,2.344343477261103,42.79443144946242,2.0065314924204207
+6625,42.92267231492311,0.9555399687501165,43.18349866331846,1.6499417230056097,43.09455091119296,1.432448620601758
+6626,42.92267231492311,1.6499417230056097,43.18349866331846,2.344343477261103,43.06794124011659,1.8612014141203834
+6627,42.661845966527764,2.344343477261103,42.792259140725434,2.6915443543888498,42.691559123000104,2.656640756460305
+6628,42.661845966527764,2.6915443543888498,42.792259140725434,3.0387452315165966,42.722803963023956,2.8722409041891694
+6629,42.792259140725434,2.344343477261103,42.92267231492311,2.6915443543888498,42.84444431262754,2.4993291040866343
+6630,42.792259140725434,2.6915443543888498,42.92267231492311,3.0387452315165966,42.8527341931254,2.940819225446647
+6631,42.661845966527764,3.0387452315165966,42.92267231492311,3.73314698577209,42.88331450451645,3.046520952283887
+6632,42.92267231492311,2.344343477261103,43.18349866331846,3.0387452315165966,43.0847789890807,2.956577580183331
+6633,42.92267231492311,3.0387452315165966,43.18349866331846,3.73314698577209,43.120066991092585,3.098122367701187
+6634,42.661845966527764,5.8163522485385695,42.92267231492311,6.510754002794063,42.869399356328664,6.242997752813767
+6635,42.92267231492311,5.121950494283077,43.18349866331846,5.8163522485385695,43.14271503801079,5.755043931374544
+6636,42.92267231492311,5.8163522485385695,43.05308548912079,6.163553125666317,43.04145118777161,6.14148870822241
+6637,42.92267231492311,6.163553125666317,43.05308548912079,6.510754002794063,43.01098443949864,6.337922602976223
+6638,43.05308548912079,5.8163522485385695,43.18349866331846,6.163553125666317,43.11924377698537,5.9936276297151885
+6639,43.05308548912079,6.163553125666317,43.18349866331846,6.510754002794063,43.14398681477253,6.320891097792655
+6640,41.09688787615566,7.89955751130505,41.61854057294636,9.288361019816037,41.393597858159254,9.113246842460496
+6641,41.61854057294636,8.593959265560542,41.87936692134171,9.288361019816037,41.704664237855646,8.951790149462933
+6642,41.87936692134171,8.593959265560542,42.14019326973706,9.288361019816037,41.94850641896346,8.728773862960539
+6643,41.09688787615566,9.288361019816037,41.61854057294636,10.677164528327022,41.25006266127258,9.397872982195082
+6644,41.61854057294636,9.288361019816037,42.14019326973706,10.677164528327022,41.77271729192267,9.371448093637463
+6645,41.61854057294636,10.677164528327022,42.14019326973706,12.06596803683801,42.091756383512426,11.820579082573492
+6646,42.14019326973706,6.510754002794063,43.18349866331846,9.288361019816037,42.37926210147892,8.68560698739084
+6647,42.14019326973706,9.288361019816037,42.661845966527764,10.677164528327022,42.576890773303916,9.452397004113463
+6648,42.14019326973706,10.677164528327022,42.40101961813241,11.371566282582517,42.39351843837412,11.20416177108125
+6649,42.14019326973706,11.371566282582517,42.40101961813241,12.06596803683801,42.2637654131191,11.753438872963558
+6650,42.40101961813241,10.677164528327022,42.661845966527764,11.371566282582517,42.45676053854837,11.22554666038987
+6651,42.40101961813241,11.371566282582517,42.661845966527764,12.06596803683801,42.51067088124028,11.666004118089464
+6652,42.661845966527764,9.288361019816037,43.18349866331846,10.677164528327022,42.84043980375915,10.09109776492142
+6653,42.661845966527764,10.677164528327022,42.92267231492311,11.371566282582517,42.783951166303396,11.130802774891498
+6654,42.661845966527764,11.371566282582517,42.92267231492311,12.06596803683801,42.836499388602675,11.791953989913342
+6655,42.92267231492311,10.677164528327022,43.18349866331846,11.371566282582517,43.04338979543011,11.20189557096212
+6656,42.92267231492311,11.371566282582517,43.18349866331846,12.06596803683801,43.06821274106509,11.806135131436264
+6657,43.18349866331846,0.9555399687501165,43.31391183751613,1.302740845877863,43.24386581214892,1.1751797379158728
+6658,43.18349866331846,1.302740845877863,43.31391183751613,1.6499417230056097,43.24089166300729,1.5099877577751177
+6659,43.31391183751613,0.9555399687501165,43.44432501171381,1.302740845877863,43.391666399535836,1.2397621767193605
+6660,43.31391183751613,1.302740845877863,43.44432501171381,1.6499417230056097,43.3806170819034,1.4286259317256838
+6661,43.18349866331846,1.6499417230056097,43.31391183751613,1.9971426001333563,43.24666679071691,1.7842406625528935
+6662,43.18349866331846,1.9971426001333563,43.31391183751613,2.344343477261103,43.24204628813213,2.1444624730742605
+6663,43.31391183751613,1.6499417230056097,43.44432501171381,1.9971426001333563,43.41790954330605,1.8523060181956574
+6664,43.31391183751613,1.9971426001333563,43.44432501171381,2.344343477261103,43.416972540906535,2.0990715512767637
+6665,43.44432501171381,0.9555399687501165,43.574738185911485,1.302740845877863,43.514176656580744,1.2009951693730874
+6666,43.44432501171381,1.302740845877863,43.574738185911485,1.6499417230056097,43.51001105982427,1.4181767160749827
+6667,43.574738185911485,0.9555399687501165,43.705151360109156,1.302740845877863,43.62359818991178,1.1396416832830416
+6668,43.574738185911485,1.302740845877863,43.705151360109156,1.6499417230056097,43.62748537326579,1.4258104703876509
+6669,43.44432501171381,1.6499417230056097,43.574738185911485,1.9971426001333563,43.48114786955366,1.914707589146867
+6670,43.44432501171381,1.9971426001333563,43.574738185911485,2.344343477261103,43.488537925342996,2.0507535431453943
+6671,43.574738185911485,1.6499417230056097,43.705151360109156,1.9971426001333563,43.689230771743,1.81846831094
+6672,43.574738185911485,1.9971426001333563,43.705151360109156,2.344343477261103,43.61096566497376,2.245891103800813
+6673,43.18349866331846,2.344343477261103,43.31391183751613,2.6915443543888498,43.237578133010004,2.4602209042246637
+6674,43.18349866331846,2.6915443543888498,43.31391183751613,3.0387452315165966,43.238477633275764,2.9061670464506326
+6675,43.31391183751613,2.344343477261103,43.44432501171381,2.6915443543888498,43.32129524834827,2.5286882212043
+6676,43.31391183751613,2.6915443543888498,43.44432501171381,3.0387452315165966,43.336236110847736,2.825603375294188
+6677,43.18349866331846,3.0387452315165966,43.31391183751613,3.385946108644343,43.25461407315082,3.175082893350792
+6678,43.18349866331846,3.385946108644343,43.31391183751613,3.73314698577209,43.29673143627986,3.4704778030080337
+6679,43.31391183751613,3.0387452315165966,43.44432501171381,3.385946108644343,43.34521228549375,3.2261698310406874
+6680,43.31391183751613,3.385946108644343,43.44432501171381,3.73314698577209,43.3728131768096,3.5359959579926428
+6681,43.44432501171381,2.344343477261103,43.705151360109156,3.0387452315165966,43.486427203827084,2.3783084221585153
+6682,43.44432501171381,3.0387452315165966,43.705151360109156,3.73314698577209,43.58131053286909,3.526802414786564
+6683,43.705151360109156,0.9555399687501165,43.835564534306826,1.302740845877863,43.797590615470185,1.1761844562582375
+6684,43.705151360109156,1.302740845877863,43.835564534306826,1.6499417230056097,43.76939289853515,1.4002982831798787
+6685,43.835564534306826,0.9555399687501165,43.965977708504504,1.302740845877863,43.89800029809591,1.1807353654474055
+6686,43.835564534306826,1.302740845877863,43.965977708504504,1.6499417230056097,43.90285703955745,1.4071085190829715
+6687,43.705151360109156,1.6499417230056097,43.965977708504504,2.344343477261103,43.85762287727864,2.025342622153635
+6688,43.965977708504504,0.9555399687501165,44.09639088270218,1.302740845877863,44.037908946359025,1.1371686574357396
+6689,43.965977708504504,1.302740845877863,44.09639088270218,1.6499417230056097,44.01878731791787,1.3728641505065173
+6690,44.09639088270218,0.9555399687501165,44.22680405689985,1.302740845877863,44.13307588992935,1.1262019287357512
+6691,44.09639088270218,1.302740845877863,44.22680405689985,1.6499417230056097,44.170165450194865,1.4709653400152178
+6692,43.965977708504504,1.6499417230056097,44.22680405689985,2.344343477261103,44.06419509883219,2.0362734126379674
+6693,43.705151360109156,2.344343477261103,43.965977708504504,3.0387452315165966,43.937047118973986,2.8749068930481503
+6694,43.705151360109156,3.0387452315165966,43.965977708504504,3.73314698577209,43.82705440457973,3.4401191549527437
+6695,43.965977708504504,2.344343477261103,44.22680405689985,3.0387452315165966,44.098063165088305,2.912360379713926
+6696,43.965977708504504,3.0387452315165966,44.22680405689985,3.73314698577209,44.060386219782984,3.4750725958297326
+6697,43.18349866331846,3.73314698577209,43.44432501171381,4.427548740027583,43.43723735207778,3.7590514810054376
+6698,43.18349866331846,4.427548740027583,43.44432501171381,5.121950494283077,43.40056790728314,4.909581157308836
+6699,43.44432501171381,3.73314698577209,43.574738185911485,4.080347862899837,43.532297204089666,3.8644504030395614
+6700,43.44432501171381,4.080347862899837,43.574738185911485,4.427548740027583,43.53714127311963,4.256179077563261
+6701,43.574738185911485,3.73314698577209,43.705151360109156,4.080347862899837,43.62631786403576,3.8799709993180875
+6702,43.574738185911485,4.080347862899837,43.705151360109156,4.427548740027583,43.644213191666,4.212011796590708
+6703,43.44432501171381,4.427548740027583,43.705151360109156,5.121950494283077,43.58343574885859,4.813851685028807
+6704,43.18349866331846,5.121950494283077,43.31391183751613,5.469151371410823,43.27411020551159,5.402585161244715
+6705,43.18349866331846,5.469151371410823,43.31391183751613,5.8163522485385695,43.24834173746054,5.601071590517809
+6706,43.31391183751613,5.121950494283077,43.44432501171381,5.469151371410823,43.383327221534486,5.314619877523054
+6707,43.31391183751613,5.469151371410823,43.44432501171381,5.8163522485385695,43.37727867316648,5.578021392892526
+6708,43.18349866331846,5.8163522485385695,43.44432501171381,6.510754002794063,43.32873392884641,6.210513022616003
+6709,43.44432501171381,5.121950494283077,43.574738185911485,5.469151371410823,43.50536076229707,5.35445967214029
+6710,43.44432501171381,5.469151371410823,43.574738185911485,5.8163522485385695,43.48064342644241,5.584669396890053
+6711,43.574738185911485,5.121950494283077,43.705151360109156,5.469151371410823,43.631376565942105,5.280671582678623
+6712,43.574738185911485,5.469151371410823,43.705151360109156,5.8163522485385695,43.64428282953938,5.537988576447262
+6713,43.44432501171381,5.8163522485385695,43.574738185911485,6.163553125666317,43.47675052078512,5.964976998983761
+6714,43.44432501171381,6.163553125666317,43.574738185911485,6.510754002794063,43.50193113201311,6.42459827354684
+6715,43.574738185911485,5.8163522485385695,43.705151360109156,6.163553125666317,43.627951600689094,5.969832639123526
+6716,43.574738185911485,6.163553125666317,43.705151360109156,6.510754002794063,43.613545627084186,6.327595594501945
+6717,43.705151360109156,3.73314698577209,43.835564534306826,4.080347862899837,43.77188636632417,3.905613763192269
+6718,43.705151360109156,4.080347862899837,43.835564534306826,4.427548740027583,43.77413461064056,4.240063805172559
+6719,43.835564534306826,3.73314698577209,43.965977708504504,4.080347862899837,43.89885195674633,3.948164375316371
+6720,43.835564534306826,4.080347862899837,43.965977708504504,4.427548740027583,43.88030811153674,4.295814755456503
+6721,43.705151360109156,4.427548740027583,43.835564534306826,4.774749617155329,43.782595257320395,4.536877171564709
+6722,43.705151360109156,4.774749617155329,43.835564534306826,5.121950494283077,43.79481513413382,4.957643549323663
+6723,43.835564534306826,4.427548740027583,43.965977708504504,4.774749617155329,43.908300236793615,4.636431086093384
+6724,43.835564534306826,4.774749617155329,43.965977708504504,5.121950494283077,43.9161037560696,4.891478638240349
+6725,43.965977708504504,3.73314698577209,44.09639088270218,4.080347862899837,44.03005366871668,3.9044046700606034
+6726,43.965977708504504,4.080347862899837,44.09639088270218,4.427548740027583,44.03069706777625,4.287140050229702
+6727,44.09639088270218,3.73314698577209,44.22680405689985,4.080347862899837,44.148184765025135,3.8864011755567947
+6728,44.09639088270218,4.080347862899837,44.22680405689985,4.427548740027583,44.161468946398195,4.26141502961605
+6729,43.965977708504504,4.427548740027583,44.09639088270218,4.774749617155329,44.03081216832896,4.632605914036827
+6730,43.965977708504504,4.774749617155329,44.09639088270218,5.121950494283077,44.03671200545345,4.933042261279935
+6731,44.09639088270218,4.427548740027583,44.22680405689985,4.774749617155329,44.15138508423436,4.653647489726424
+6732,44.09639088270218,4.774749617155329,44.22680405689985,5.121950494283077,44.1428492701351,4.876113188798332
+6733,43.705151360109156,5.121950494283077,43.965977708504504,5.8163522485385695,43.81003352493755,5.416778906815389
+6734,43.705151360109156,5.8163522485385695,43.965977708504504,6.510754002794063,43.8216760438228,6.125837793962981
+6735,43.965977708504504,5.121950494283077,44.22680405689985,5.8163522485385695,44.09739003944924,5.330263597140942
+6736,43.965977708504504,5.8163522485385695,44.22680405689985,6.510754002794063,44.11094175226892,6.082343076504069
+6737,44.22680405689985,0.9555399687501165,44.4876304052952,1.6499417230056097,44.36829626010679,1.415165938737666
+6738,44.22680405689985,1.6499417230056097,44.4876304052952,2.344343477261103,44.38315832893249,2.10409162855831
+6739,44.4876304052952,0.9555399687501165,44.74845675369055,1.6499417230056097,44.622177141495605,1.4096062949070343
+6740,44.4876304052952,1.6499417230056097,44.74845675369055,2.344343477261103,44.58688379821202,2.0909267670551057
+6741,44.22680405689985,2.344343477261103,44.4876304052952,3.0387452315165966,44.3652118213535,2.60596852096607
+6742,44.22680405689985,3.0387452315165966,44.4876304052952,3.73314698577209,44.376899194911466,3.3445126312212157
+6743,44.4876304052952,2.344343477261103,44.74845675369055,3.0387452315165966,44.597844259299194,2.681513853616672
+6744,44.4876304052952,3.0387452315165966,44.74845675369055,3.73314698577209,44.586373642833045,3.4048754346299575
+6745,44.74845675369055,0.9555399687501165,45.0092831020859,1.6499417230056097,44.85331698803115,1.3150423677099876
+6746,44.74845675369055,1.6499417230056097,45.0092831020859,2.344343477261103,44.91485235481653,2.058346243637221
+6747,45.0092831020859,0.9555399687501165,45.27010945048125,1.6499417230056097,45.15961832842557,1.4958065270790593
+6748,45.0092831020859,1.6499417230056097,45.13969627628357,1.9971426001333563,45.09128540479357,1.8322038274093786
+6749,45.13969627628357,1.6499417230056097,45.27010945048125,1.9971426001333563,45.226854640385994,1.8142433804635822
+6750,45.13969627628357,1.9971426001333563,45.27010945048125,2.344343477261103,45.2226328726093,2.037750052145926
+6751,44.74845675369055,2.344343477261103,45.27010945048125,3.73314698577209,45.06232652190624,2.9907706250881
+6752,44.22680405689985,3.73314698577209,44.4876304052952,4.427548740027583,44.33188093353085,4.106535285543963
+6753,44.22680405689985,4.427548740027583,44.4876304052952,5.121950494283077,44.33079442725612,4.784336787108153
+6754,44.4876304052952,3.73314698577209,44.74845675369055,4.427548740027583,44.60461091210374,4.16490165835378
+6755,44.4876304052952,4.427548740027583,44.74845675369055,5.121950494283077,44.615868378530166,4.736233422836046
+6756,44.22680405689985,5.121950494283077,44.4876304052952,5.8163522485385695,44.3926876866929,5.51147923951582
+6757,44.22680405689985,5.8163522485385695,44.4876304052952,6.510754002794063,44.362997968945244,6.200066445979236
+6758,44.4876304052952,5.121950494283077,44.74845675369055,5.8163522485385695,44.63131221261498,5.4857905632709665
+6759,44.4876304052952,5.8163522485385695,44.74845675369055,6.510754002794063,44.569169519967126,6.221871128733413
+6760,44.74845675369055,3.73314698577209,45.0092831020859,4.427548740027583,44.8817668165333,4.014138536598202
+6761,44.74845675369055,4.427548740027583,45.0092831020859,5.121950494283077,44.88771560323716,4.821907619180935
+6762,45.0092831020859,3.73314698577209,45.27010945048125,4.427548740027583,45.10461233978004,4.023306885140932
+6763,45.0092831020859,4.427548740027583,45.27010945048125,5.121950494283077,45.131093677880095,4.8349261019332985
+6764,44.74845675369055,5.121950494283077,45.0092831020859,5.8163522485385695,44.894824774037744,5.568103448426176
+6765,44.74845675369055,5.8163522485385695,45.0092831020859,6.510754002794063,44.8274784212947,5.968987011063764
+6766,45.0092831020859,5.121950494283077,45.13969627628357,5.469151371410823,45.069822124202474,5.301453275881994
+6767,45.0092831020859,5.469151371410823,45.13969627628357,5.8163522485385695,45.07351880491007,5.687486603362443
+6768,45.13969627628357,5.121950494283077,45.27010945048125,5.469151371410823,45.15993619866996,5.306728559675005
+6769,45.13969627628357,5.469151371410823,45.27010945048125,5.8163522485385695,45.19517062751149,5.71935631593196
+6770,45.0092831020859,5.8163522485385695,45.27010945048125,6.510754002794063,45.17671162431072,6.157510660931729
+6771,43.18349866331846,6.510754002794063,43.44432501171381,7.205155757049557,43.31551343858918,6.651732633581513
+6772,43.44432501171381,6.510754002794063,43.574738185911485,6.8579548799218095,43.48227515326905,6.6681416656970525
+6773,43.44432501171381,6.8579548799218095,43.574738185911485,7.205155757049557,43.550558904481434,7.034602340384847
+6774,43.574738185911485,6.510754002794063,43.705151360109156,6.8579548799218095,43.613065832459675,6.748790086995677
+6775,43.574738185911485,6.8579548799218095,43.705151360109156,7.205155757049557,43.62149433754116,7.058369399720479
+6776,43.44432501171381,7.205155757049557,43.705151360109156,7.89955751130505,43.69272652363388,7.283596909387261
+6777,43.705151360109156,6.510754002794063,43.965977708504504,7.205155757049557,43.775836886583825,7.054979839995388
+6778,43.705151360109156,7.205155757049557,43.965977708504504,7.89955751130505,43.78319522595782,7.4712845792016624
+6779,43.965977708504504,6.510754002794063,44.22680405689985,7.205155757049557,44.05720509927635,6.790055119172538
+6780,43.965977708504504,7.205155757049557,44.22680405689985,7.89955751130505,44.12572328114741,7.604459866264338
+6781,43.705151360109156,7.89955751130505,44.22680405689985,9.288361019816037,44.07044206272816,8.17592801129145
+6782,43.18349866331846,9.98276277407153,43.44432501171381,10.677164528327022,43.35426926103264,10.49210887043986
+6783,43.44432501171381,9.98276277407153,43.705151360109156,10.677164528327022,43.567710136377336,10.399706817629495
+6784,43.18349866331846,10.677164528327022,43.44432501171381,11.371566282582517,43.35412431681467,11.185819132778208
+6785,43.18349866331846,11.371566282582517,43.44432501171381,12.06596803683801,43.28670093889476,11.723672525458998
+6786,43.44432501171381,10.677164528327022,43.705151360109156,11.371566282582517,43.5595288407196,11.06899799828503
+6787,43.44432501171381,11.371566282582517,43.705151360109156,12.06596803683801,43.52202382573816,11.574118595312394
+6788,43.705151360109156,9.98276277407153,43.965977708504504,10.677164528327022,43.84744320769176,10.395712932131682
+6789,43.965977708504504,9.288361019816037,44.22680405689985,9.98276277407153,44.14817730970697,9.8056806338426
+6790,43.965977708504504,9.98276277407153,44.09639088270218,10.329963651199275,44.043677183395864,10.12148594303877
+6791,43.965977708504504,10.329963651199275,44.09639088270218,10.677164528327022,44.01136571613002,10.486547274349347
+6792,44.09639088270218,9.98276277407153,44.22680405689985,10.329963651199275,44.16105211257016,10.167639484020052
+6793,44.09639088270218,10.329963651199275,44.22680405689985,10.677164528327022,44.15102670940088,10.421416571399918
+6794,43.705151360109156,10.677164528327022,43.835564534306826,11.02436540545477,43.79611964545491,10.856349318393761
+6795,43.705151360109156,11.02436540545477,43.835564534306826,11.371566282582517,43.77984681183513,11.213166486189392
+6796,43.835564534306826,10.677164528327022,43.965977708504504,11.02436540545477,43.8871824507633,10.830720575056517
+6797,43.835564534306826,11.02436540545477,43.965977708504504,11.371566282582517,43.894434831141375,11.109122591667624
+6798,43.705151360109156,11.371566282582517,43.965977708504504,12.06596803683801,43.785026676346945,11.766875837794752
+6799,43.965977708504504,10.677164528327022,44.22680405689985,11.371566282582517,44.077482265026475,10.99976624060597
+6800,43.965977708504504,11.371566282582517,44.22680405689985,12.06596803683801,44.17160006058851,11.86390907987054
+6801,44.22680405689985,6.510754002794063,44.4876304052952,7.205155757049557,44.40448454867328,6.923144749449501
+6802,44.22680405689985,7.205155757049557,44.35721723109752,7.552356634177303,44.29526006688636,7.435964464845362
+6803,44.22680405689985,7.552356634177303,44.35721723109752,7.89955751130505,44.31412700605699,7.693481168743143
+6804,44.35721723109752,7.205155757049557,44.4876304052952,7.552356634177303,44.41983487262899,7.476392995791934
+6805,44.35721723109752,7.552356634177303,44.4876304052952,7.89955751130505,44.43116219578454,7.692526510573491
+6806,44.4876304052952,6.510754002794063,44.74845675369055,7.205155757049557,44.61926473739639,6.822777411834589
+6807,44.4876304052952,7.205155757049557,44.74845675369055,7.89955751130505,44.61485890017866,7.636484341918969
+6808,44.22680405689985,7.89955751130505,44.4876304052952,8.593959265560542,44.367325666758646,8.334650917001634
+6809,44.22680405689985,8.94116014268829,44.35721723109752,9.288361019816037,44.33980933499291,9.211009112208531
+6810,44.35721723109752,8.593959265560542,44.4876304052952,8.94116014268829,44.432317969783085,8.857247155622476
+6811,44.35721723109752,8.94116014268829,44.4876304052952,9.288361019816037,44.416113301457024,9.001123842902022
+6812,44.4876304052952,7.89955751130505,44.74845675369055,8.593959265560542,44.63451017174806,8.201399942036643
+6813,44.4876304052952,8.593959265560542,44.74845675369055,9.288361019816037,44.59649618976027,8.866015920062408
+6814,44.74845675369055,6.510754002794063,45.0092831020859,7.205155757049557,44.8711577034964,6.805557980819987
+6815,44.74845675369055,7.205155757049557,44.878869927888225,7.552356634177303,44.81290716050091,7.392450698571327
+6816,44.74845675369055,7.552356634177303,44.878869927888225,7.89955751130505,44.81110924375772,7.71522533685863
+6817,44.878869927888225,7.205155757049557,45.0092831020859,7.552356634177303,44.921836061943466,7.4134118584081525
+6818,44.878869927888225,7.552356634177303,45.0092831020859,7.89955751130505,44.957379158781706,7.713225894047698
+6819,45.0092831020859,6.510754002794063,45.27010945048125,7.205155757049557,45.147932494646646,6.853601524567554
+6820,45.0092831020859,7.205155757049557,45.13969627628357,7.552356634177303,45.07604644831132,7.441558046650661
+6821,45.0092831020859,7.552356634177303,45.13969627628357,7.89955751130505,45.07978842274208,7.683183149171442
+6822,45.13969627628357,7.205155757049557,45.27010945048125,7.552356634177303,45.22437281122351,7.439387690619962
+6823,45.13969627628357,7.552356634177303,45.27010945048125,7.89955751130505,45.20830145329866,7.696864562040207
+6824,44.74845675369055,7.89955751130505,45.0092831020859,8.593959265560542,44.8782123286136,8.244687264110299
+6825,44.74845675369055,8.593959265560542,45.0092831020859,9.288361019816037,44.85933617169364,8.79028768155397
+6826,45.0092831020859,7.89955751130505,45.13969627628357,8.246758388432795,45.08395133723043,8.103141994998337
+6827,45.0092831020859,8.246758388432795,45.13969627628357,8.593959265560542,45.08049203007258,8.41981265905767
+6828,45.13969627628357,7.89955751130505,45.27010945048125,8.246758388432795,45.20604374070274,8.061099925028245
+6829,45.13969627628357,8.246758388432795,45.27010945048125,8.593959265560542,45.208551923167754,8.419082859899309
+6830,45.0092831020859,8.593959265560542,45.27010945048125,9.288361019816037,45.16112965616605,8.952956796023267
+6831,44.22680405689985,9.288361019816037,44.4876304052952,9.98276277407153,44.31101971842626,9.617099038376516
+6832,44.22680405689985,9.98276277407153,44.4876304052952,10.677164528327022,44.35493521462328,10.382876486500315
+6833,44.4876304052952,9.288361019816037,44.74845675369055,9.98276277407153,44.553183549771006,9.790417914539983
+6834,44.4876304052952,9.98276277407153,44.74845675369055,10.677164528327022,44.64500642957115,10.491988503202446
+6835,44.22680405689985,10.677164528327022,44.4876304052952,11.371566282582517,44.355156256647604,11.063358346620037
+6836,44.22680405689985,11.371566282582517,44.4876304052952,12.06596803683801,44.36864888461942,11.785983209027716
+6837,44.4876304052952,10.677164528327022,44.61804357949288,11.02436540545477,44.57747803150347,10.84550955652196
+6838,44.4876304052952,11.02436540545477,44.61804357949288,11.371566282582517,44.5252473432327,11.28685893726778
+6839,44.61804357949288,10.677164528327022,44.74845675369055,11.02436540545477,44.66003271831172,10.876139044012787
+6840,44.61804357949288,11.02436540545477,44.74845675369055,11.371566282582517,44.67483011357856,11.227645606462929
+6841,44.4876304052952,11.371566282582517,44.74845675369055,12.06596803683801,44.57620675009424,11.553694880698972
+6842,44.74845675369055,9.288361019816037,45.27010945048125,10.677164528327022,45.019693623254575,9.989855612355282
+6843,44.74845675369055,10.677164528327022,45.0092831020859,11.371566282582517,44.84053551537526,10.944716400675846
+6844,44.74845675369055,11.371566282582517,45.0092831020859,12.06596803683801,44.89790994207027,11.651924381288064
+6845,45.0092831020859,10.677164528327022,45.27010945048125,11.371566282582517,45.112868630622074,11.107794304233824
+6846,45.0092831020859,11.371566282582517,45.13969627628357,11.718767159710264,45.05639820093403,11.60849448211495
+6847,45.0092831020859,11.718767159710264,45.13969627628357,12.06596803683801,45.06772296760239,11.841833891932803
+6848,45.13969627628357,11.371566282582517,45.27010945048125,11.718767159710264,45.2137115731366,11.60194774095503
+6849,45.13969627628357,11.718767159710264,45.27010945048125,12.06596803683801,45.215803874909355,11.834258013854113
+6850,41.09688787615566,12.06596803683801,41.61854057294636,13.454771545348997,41.44320768947181,13.000327440347684
+6851,41.09688787615566,13.454771545348997,41.61854057294636,14.843575053859983,41.387538979918965,14.099984582203962
+6852,41.61854057294636,12.06596803683801,41.748953747144036,12.413168913965755,41.72546065193808,12.314321997720171
+6853,41.61854057294636,12.413168913965755,41.748953747144036,12.760369791093503,41.68496553308282,12.558938775738792
+6854,41.748953747144036,12.06596803683801,41.87936692134171,12.413168913965755,41.79752725903135,12.310357547935821
+6855,41.748953747144036,12.413168913965755,41.87936692134171,12.760369791093503,41.82260915916221,12.556328386508133
+6856,41.61854057294636,12.760369791093503,41.87936692134171,13.454771545348997,41.702663490802955,13.252906643179527
+6857,41.87936692134171,12.06596803683801,42.009780095539384,12.413168913965755,41.91327967340845,12.257932763367558
+6858,41.87936692134171,12.413168913965755,42.009780095539384,12.760369791093503,41.9139047990693,12.536552382021517
+6859,42.009780095539384,12.06596803683801,42.14019326973706,12.413168913965755,42.06783724680111,12.377576165405044
+6860,42.009780095539384,12.413168913965755,42.14019326973706,12.760369791093503,42.111285245625304,12.574912013224035
+6861,41.87936692134171,12.760369791093503,42.14019326973706,13.454771545348997,41.96007019274313,12.80967886733664
+6862,41.61854057294636,13.454771545348997,42.14019326973706,14.843575053859983,41.90680304877855,14.518340133593497
+6863,41.09688787615566,14.843575053859983,41.61854057294636,16.232378562370968,41.38353139590872,15.551728551624228
+6864,41.09688787615566,16.232378562370968,41.22730105035333,16.579579439498715,41.171543190154885,16.392716136256286
+6865,41.09688787615566,16.579579439498715,41.22730105035333,16.926780316626463,41.12277564974078,16.82277330087902
+6866,41.22730105035333,16.232378562370968,41.35771422455101,16.579579439498715,41.2748692293974,16.30620671284258
+6867,41.09688787615566,16.926780316626463,41.35771422455101,17.621182070881957,41.099305930228,16.933640789858288
+6868,41.61854057294636,14.843575053859983,42.14019326973706,16.232378562370968,41.89523084457468,15.224785681138805
+6869,42.14019326973706,12.06596803683801,42.40101961813241,12.760369791093503,42.25251387891784,12.59504948511362
+6870,42.14019326973706,12.760369791093503,42.40101961813241,13.454771545348997,42.32219914485629,13.22750559240174
+6871,42.40101961813241,12.06596803683801,42.661845966527764,12.760369791093503,42.538747351682794,12.470854731488894
+6872,42.40101961813241,12.760369791093503,42.661845966527764,13.454771545348997,42.548943624392635,13.034365432600163
+6873,42.14019326973706,13.454771545348997,42.40101961813241,14.14917329960449,42.283268171880735,13.775651352044326
+6874,42.14019326973706,14.14917329960449,42.40101961813241,14.843575053859983,42.27880368353402,14.443797102153335
+6875,42.40101961813241,13.454771545348997,42.661845966527764,14.14917329960449,42.50804137311604,14.072138402975087
+6876,42.40101961813241,14.14917329960449,42.661845966527764,14.843575053859983,42.45106693303603,14.20199285936524
+6877,42.661845966527764,12.06596803683801,42.92267231492311,12.760369791093503,42.73561121293549,12.466688981557661
+6878,42.661845966527764,12.760369791093503,42.92267231492311,13.454771545348997,42.75740657048482,13.172228923259208
+6879,42.92267231492311,12.06596803683801,43.18349866331846,12.760369791093503,43.07787834824624,12.43787693673752
+6880,42.92267231492311,12.760369791093503,43.18349866331846,13.454771545348997,43.06855619891164,13.271240737800468
+6881,42.661845966527764,13.454771545348997,43.18349866331846,14.843575053859983,42.932678216092555,13.802891179966041
+6882,42.661845966527764,14.843575053859983,43.18349866331846,16.232378562370968,43.04250999703246,16.16677625829487
+6883,42.661845966527764,16.232378562370968,42.92267231492311,16.926780316626463,42.751616438831824,16.857172649536096
+6884,42.661845966527764,16.926780316626463,42.92267231492311,17.621182070881957,42.80662481788454,17.454425707308136
+6885,42.92267231492311,16.232378562370968,43.18349866331846,16.926780316626463,43.11333037231858,16.6249197514162
+6886,42.92267231492311,16.926780316626463,43.18349866331846,17.621182070881957,43.0175443691883,17.276036561230033
+6887,41.09688787615566,19.009985579392943,41.61854057294636,20.39878908790393,41.375846404099725,19.74114505009178
+6888,41.61854057294636,19.009985579392943,41.87936692134171,19.704387333648434,41.821381112122225,19.5567159689106
+6889,41.61854057294636,19.704387333648434,41.87936692134171,20.39878908790393,41.76184653618073,20.04797309350799
+6890,41.87936692134171,19.009985579392943,42.14019326973706,19.704387333648434,42.02866173437558,19.49209319809778
+6891,41.87936692134171,19.704387333648434,42.14019326973706,20.39878908790393,42.01947190645022,20.247238279191667
+6892,41.09688787615566,20.39878908790393,41.61854057294636,21.787592596414918,41.36061090066027,21.078377418266555
+6893,41.09688787615566,21.787592596414918,41.61854057294636,23.176396104925903,41.37286389978548,22.44010819870319
+6894,41.61854057294636,20.39878908790393,41.87936692134171,21.093190842159423,41.691530103879124,20.616668718966924
+6895,41.61854057294636,21.093190842159423,41.87936692134171,21.787592596414918,41.708905658825906,21.638957725512615
+6896,41.87936692134171,20.39878908790393,42.14019326973706,21.093190842159423,42.01911674237691,20.870610300295706
+6897,41.87936692134171,21.093190842159423,42.009780095539384,21.44039171928717,41.996487768457214,21.377114702438938
+6898,41.87936692134171,21.44039171928717,42.009780095539384,21.787592596414918,41.97749174255885,21.544477998353727
+6899,42.009780095539384,21.093190842159423,42.14019326973706,21.44039171928717,42.03187079057665,21.384346709418786
+6900,42.009780095539384,21.44039171928717,42.14019326973706,21.787592596414918,42.03479624527476,21.512996666000873
+6901,41.61854057294636,21.787592596414918,42.14019326973706,23.176396104925903,41.87330287754781,22.457734316615365
+6902,42.14019326973706,17.621182070881957,42.661845966527764,19.009985579392943,42.438967881326896,18.696346681786398
+6903,42.14019326973706,19.009985579392943,42.40101961813241,19.704387333648434,42.2650320512945,19.31676932498162
+6904,42.14019326973706,19.704387333648434,42.40101961813241,20.39878908790393,42.282907846841034,20.023096807487423
+6905,42.40101961813241,19.009985579392943,42.661845966527764,19.704387333648434,42.490313287529794,19.32575616162172
+6906,42.40101961813241,19.704387333648434,42.661845966527764,20.39878908790393,42.551764269601044,20.190794470419036
+6907,42.661845966527764,17.621182070881957,43.18349866331846,19.009985579392943,42.87502079338855,18.002890867138984
+6908,42.661845966527764,19.009985579392943,43.18349866331846,20.39878908790393,42.94840797424932,19.60466702792713
+6909,42.14019326973706,20.39878908790393,42.40101961813241,21.093190842159423,42.348705418997255,20.56445541326401
+6910,42.14019326973706,21.093190842159423,42.40101961813241,21.787592596414918,42.2302410398107,21.39584918678943
+6911,42.40101961813241,20.39878908790393,42.661845966527764,21.093190842159423,42.53669807431417,20.748917563083644
+6912,42.40101961813241,21.093190842159423,42.661845966527764,21.787592596414918,42.606503800776544,21.166103611515993
+6913,42.14019326973706,21.787592596414918,42.661845966527764,23.176396104925903,42.33712138053836,22.643189481645926
+6914,42.661845966527764,20.39878908790393,43.18349866331846,21.787592596414918,42.71877742890302,21.13056264902045
+6915,42.661845966527764,21.787592596414918,42.92267231492311,22.481994350670412,42.75800867187057,22.131806518935868
+6916,42.661845966527764,22.481994350670412,42.92267231492311,23.176396104925903,42.819444266770084,23.055908132789384
+6917,42.92267231492311,21.787592596414918,43.18349866331846,22.481994350670412,43.01490866755069,21.982693482225024
+6918,42.92267231492311,22.481994350670412,43.18349866331846,23.176396104925903,43.03957197995603,22.862898111544038
+6919,43.18349866331846,12.06596803683801,43.44432501171381,12.760369791093503,43.247360971603115,12.279790916679078
+6920,43.18349866331846,12.760369791093503,43.44432501171381,13.454771545348997,43.300973682316176,13.313536685961429
+6921,43.44432501171381,12.06596803683801,43.705151360109156,12.760369791093503,43.632181469187096,12.664285007140125
+6922,43.44432501171381,12.760369791093503,43.705151360109156,13.454771545348997,43.64236893994543,13.02099789083518
+6923,43.18349866331846,13.454771545348997,43.705151360109156,14.843575053859983,43.372242188571256,13.572223433406348
+6924,43.705151360109156,12.06596803683801,43.965977708504504,12.760369791093503,43.87275761544668,12.514526484300047
+6925,43.705151360109156,12.760369791093503,43.835564534306826,13.10757066822125,43.7796381238939,12.950153668014158
+6926,43.705151360109156,13.10757066822125,43.835564534306826,13.454771545348997,43.75064419706193,13.163051517195788
+6927,43.835564534306826,12.760369791093503,43.965977708504504,13.10757066822125,43.88203753883171,12.917771554794774
+6928,43.965977708504504,12.06596803683801,44.22680405689985,12.760369791093503,44.07281206787582,12.49883740936481
+6929,43.705151360109156,13.454771545348997,44.22680405689985,14.843575053859983,44.14863643572373,14.830574620127182
+6930,43.18349866331846,14.843575053859983,43.705151360109156,16.232378562370968,43.61890521901202,16.02340768860949
+6931,43.18349866331846,16.232378562370968,43.44432501171381,16.926780316626463,43.3835758990001,16.785476235600527
+6932,43.18349866331846,16.926780316626463,43.44432501171381,17.621182070881957,43.30774998920147,17.15748962629702
+6933,43.44432501171381,16.232378562370968,43.705151360109156,16.926780316626463,43.52715627242414,16.485212750827255
+6934,43.44432501171381,16.926780316626463,43.705151360109156,17.621182070881957,43.58309262606217,17.362340373697794
+6935,43.705151360109156,14.843575053859983,43.965977708504504,15.537976808115475,43.92028280339483,15.317799397757344
+6936,43.705151360109156,15.537976808115475,43.965977708504504,16.232378562370968,43.82486051964057,15.828485004878582
+6937,43.965977708504504,14.843575053859983,44.22680405689985,15.537976808115475,44.128076801621866,15.32581888317982
+6938,43.965977708504504,15.537976808115475,44.22680405689985,16.232378562370968,44.0940977529958,15.885825749580874
+6939,43.705151360109156,16.232378562370968,44.22680405689985,17.621182070881957,43.94678259981358,16.850836881241314
+6940,44.22680405689985,12.06596803683801,44.74845675369055,13.454771545348997,44.44126256227192,12.20105496390073
+6941,44.22680405689985,13.454771545348997,44.74845675369055,14.843575053859983,44.56180097983831,14.54913346056872
+6942,44.74845675369055,12.06596803683801,45.27010945048125,13.454771545348997,45.07980313031916,12.184577996240744
+6943,44.74845675369055,13.454771545348997,45.0092831020859,14.14917329960449,44.89265561503856,13.881923705348155
+6944,44.74845675369055,14.14917329960449,45.0092831020859,14.843575053859983,44.91590853652641,14.623988671391979
+6945,45.0092831020859,13.454771545348997,45.27010945048125,14.14917329960449,45.15549495173395,13.790145453736212
+6946,45.0092831020859,14.14917329960449,45.27010945048125,14.843575053859983,45.13083923634956,14.57745945119979
+6947,44.22680405689985,14.843575053859983,44.4876304052952,15.537976808115475,44.28113581392701,15.266218066248767
+6948,44.22680405689985,15.537976808115475,44.4876304052952,16.232378562370968,44.36547949041109,15.801887198005304
+6949,44.4876304052952,14.843575053859983,44.74845675369055,15.537976808115475,44.60309969699753,15.27289554990758
+6950,44.4876304052952,15.537976808115475,44.74845675369055,16.232378562370968,44.58734484779277,15.887949451014018
+6951,44.22680405689985,16.232378562370968,44.74845675369055,17.621182070881957,44.46522608904944,17.067848686603277
+6952,44.74845675369055,14.843575053859983,45.0092831020859,15.537976808115475,44.90567435885183,15.27414323960606
+6953,44.74845675369055,15.537976808115475,45.0092831020859,16.232378562370968,44.87841588145036,15.840772769874034
+6954,45.0092831020859,14.843575053859983,45.27010945048125,15.537976808115475,45.150325056496705,15.182255525866811
+6955,45.0092831020859,15.537976808115475,45.27010945048125,16.232378562370968,45.18240244910366,15.800829314278124
+6956,44.74845675369055,16.232378562370968,45.27010945048125,17.621182070881957,44.914251004904905,17.128918448130026
+6957,43.18349866331846,17.621182070881957,43.705151360109156,19.009985579392943,43.375687545959714,18.03569218056713
+6958,43.18349866331846,19.009985579392943,43.705151360109156,20.39878908790393,43.440582526086665,19.946195321978188
+6959,43.705151360109156,17.621182070881957,43.965977708504504,18.315583825137452,43.8499660029085,18.23548754162267
+6960,43.705151360109156,18.315583825137452,43.835564534306826,18.6627847022652,43.80467682821836,18.390858979185733
+6961,43.705151360109156,18.6627847022652,43.835564534306826,19.009985579392943,43.76549100000002,18.871880000000004
+6962,43.835564534306826,18.315583825137452,43.965977708504504,18.6627847022652,43.86508552063535,18.403041172609
+6963,43.835564534306826,18.6627847022652,43.965977708504504,19.009985579392943,43.92704078720555,18.758277044526693
+6964,43.965977708504504,17.621182070881957,44.22680405689985,18.315583825137452,44.131678659622004,17.98323894100858
+6965,43.965977708504504,18.315583825137452,44.22680405689985,19.009985579392943,44.1046214719658,18.903608005217222
+6966,43.705151360109156,19.009985579392943,43.965977708504504,19.704387333648434,43.812064529708074,19.49790790674905
+6967,43.705151360109156,19.704387333648434,43.965977708504504,20.39878908790393,43.84390440523602,19.986817738381397
+6968,43.965977708504504,19.009985579392943,44.22680405689985,19.704387333648434,44.11439577754773,19.306973260779902
+6969,43.965977708504504,19.704387333648434,44.22680405689985,20.39878908790393,44.104608142258456,20.088360728357465
+6970,43.18349866331846,20.39878908790393,43.44432501171381,21.093190842159423,43.30515963427917,20.852731451394735
+6971,43.18349866331846,21.093190842159423,43.44432501171381,21.787592596414918,43.36420925692276,21.520197283558225
+6972,43.44432501171381,20.39878908790393,43.705151360109156,21.093190842159423,43.63064485876713,20.738678043399233
+6973,43.44432501171381,21.093190842159423,43.705151360109156,21.787592596414918,43.56794292697667,21.546404531364544
+6974,43.18349866331846,21.787592596414918,43.44432501171381,22.481994350670412,43.30352861002408,22.02238210727016
+6975,43.18349866331846,22.481994350670412,43.44432501171381,23.176396104925903,43.33837173233339,22.975012336122337
+6976,43.44432501171381,21.787592596414918,43.705151360109156,22.481994350670412,43.56944178898453,21.95784687822556
+6977,43.44432501171381,22.481994350670412,43.705151360109156,23.176396104925903,43.51965312210423,22.8760926282419
+6978,43.705151360109156,20.39878908790393,43.965977708504504,21.093190842159423,43.81363152835329,20.658975662033786
+6979,43.705151360109156,21.093190842159423,43.965977708504504,21.787592596414918,43.878359361002964,21.432533099399418
+6980,43.965977708504504,20.39878908790393,44.22680405689985,21.093190842159423,44.08742717120269,20.709820260928932
+6981,43.965977708504504,21.093190842159423,44.22680405689985,21.787592596414918,44.03429170632212,21.221359258303544
+6982,43.705151360109156,21.787592596414918,44.22680405689985,23.176396104925903,43.97223619869283,22.314773841191734
+6983,44.22680405689985,17.621182070881957,44.74845675369055,19.009985579392943,44.4470083821593,18.15686890266969
+6984,44.22680405689985,19.009985579392943,44.4876304052952,19.704387333648434,44.35753590068199,19.2504036657989
+6985,44.22680405689985,19.704387333648434,44.4876304052952,20.39878908790393,44.31626080787673,20.15507427888417
+6986,44.4876304052952,19.009985579392943,44.74845675369055,19.704387333648434,44.59365437028952,19.36674593752384
+6987,44.4876304052952,19.704387333648434,44.74845675369055,20.39878908790393,44.66570720102458,20.246741861701416
+6988,44.74845675369055,17.621182070881957,45.27010945048125,19.009985579392943,45.019564972942234,18.37579928128574
+6989,44.74845675369055,19.009985579392943,45.0092831020859,19.704387333648434,44.86615227061796,19.436508854565275
+6990,44.74845675369055,19.704387333648434,44.878869927888225,20.05158821077618,44.830217333948745,19.794792423030835
+6991,44.74845675369055,20.05158821077618,44.878869927888225,20.39878908790393,44.831585801289776,20.323194541134434
+6992,44.878869927888225,19.704387333648434,45.0092831020859,20.05158821077618,44.956137317033296,19.89138966638914
+6993,44.878869927888225,20.05158821077618,45.0092831020859,20.39878908790393,44.94745017910827,20.22296949364223
+6994,45.0092831020859,19.009985579392943,45.27010945048125,19.704387333648434,45.12741086196995,19.39115431276709
+6995,45.0092831020859,19.704387333648434,45.13969627628357,20.05158821077618,45.06792480945487,19.847560940694514
+6996,45.0092831020859,20.05158821077618,45.13969627628357,20.39878908790393,45.070339802785156,20.194049534314793
+6997,45.13969627628357,19.704387333648434,45.27010945048125,20.05158821077618,45.224562414224245,19.85144900865403
+6998,45.13969627628357,20.05158821077618,45.27010945048125,20.39878908790393,45.17800279739501,20.14001986091316
+6999,44.22680405689985,20.39878908790393,44.4876304052952,21.093190842159423,44.3384900306738,20.72688655662941
+7000,44.22680405689985,21.093190842159423,44.4876304052952,21.787592596414918,44.283064099946436,21.20807499084232
+7001,44.4876304052952,20.39878908790393,44.74845675369055,21.093190842159423,44.65208049091,20.62684352595019
+7002,44.4876304052952,21.093190842159423,44.74845675369055,21.787592596414918,44.62941234267968,21.465875197883978
+7003,44.22680405689985,21.787592596414918,44.4876304052952,22.481994350670412,44.414966508682255,22.321778573364288
+7004,44.22680405689985,22.481994350670412,44.4876304052952,23.176396104925903,44.33947063141907,22.785356910488325
+7005,44.4876304052952,21.787592596414918,44.74845675369055,22.481994350670412,44.59904920260577,22.125870774805588
+7006,44.4876304052952,22.481994350670412,44.74845675369055,23.176396104925903,44.62316021580217,22.675382065045778
+7007,44.74845675369055,20.39878908790393,44.878869927888225,20.745989965031676,44.79521641730642,20.484454989928796
+7008,44.74845675369055,20.745989965031676,44.878869927888225,21.093190842159423,44.811672782527346,20.865031275453408
+7009,44.878869927888225,20.39878908790393,45.0092831020859,20.745989965031676,44.91807827793202,20.534031548885594
+7010,44.878869927888225,20.745989965031676,45.0092831020859,21.093190842159423,44.92647468192125,20.912750052118373
+7011,44.74845675369055,21.093190842159423,45.0092831020859,21.787592596414918,44.822977540518956,21.317393564806874
+7012,45.0092831020859,20.39878908790393,45.27010945048125,21.093190842159423,45.15463868625314,20.67136354413808
+7013,45.0092831020859,21.093190842159423,45.27010945048125,21.787592596414918,45.150684312330775,21.267877810229063
+7014,44.74845675369055,21.787592596414918,45.27010945048125,23.176396104925903,45.02334091650272,22.591794469523578
+7015,36.92366630183007,23.176396104925903,37.44531899862076,24.56519961343689,37.34326097770487,24.410435968493307
+7016,36.92366630183007,24.56519961343689,37.44531899862076,25.954003121947878,37.09942584552677,25.20333487076081
+7017,37.44531899862076,23.176396104925903,37.70614534701612,23.870797859181394,37.57597711093406,23.34819630009364
+7018,37.44531899862076,23.870797859181394,37.70614534701612,24.56519961343689,37.58235380993782,24.196133667026285
+7019,37.70614534701612,23.176396104925903,37.83655852121379,23.523596982053647,37.73551448653416,23.45390731550719
+7020,37.70614534701612,23.523596982053647,37.83655852121379,23.870797859181394,37.81232963458254,23.779566786014623
+7021,37.83655852121379,23.176396104925903,37.966971695411466,23.523596982053647,37.92269011842427,23.466670468790543
+7022,37.83655852121379,23.523596982053647,37.966971695411466,23.870797859181394,37.925421496364564,23.723975737947303
+7023,37.70614534701612,23.870797859181394,37.966971695411466,24.56519961343689,37.8486787566451,23.966713235450804
+7024,37.44531899862076,24.56519961343689,37.966971695411466,25.954003121947878,37.45483652641329,24.996877265621027
+7025,36.92366630183007,25.954003121947878,37.966971695411466,28.73161013896985,37.58688493103923,27.441823074030438
+7026,37.966971695411466,23.176396104925903,38.097384869609144,23.523596982053647,38.028536448348355,23.35946922218886
+7027,37.966971695411466,23.523596982053647,38.097384869609144,23.870797859181394,38.027175840683846,23.744316006724187
+7028,38.097384869609144,23.176396104925903,38.227798043806814,23.523596982053647,38.15153717149242,23.30903376297793
+7029,38.097384869609144,23.523596982053647,38.227798043806814,23.870797859181394,38.13981452386888,23.782594464640496
+7030,37.966971695411466,23.870797859181394,38.227798043806814,24.56519961343689,38.05415795724398,23.933773664022965
+7031,38.227798043806814,23.176396104925903,38.48862439220217,23.870797859181394,38.372328831839155,23.535628135360465
+7032,38.227798043806814,23.870797859181394,38.48862439220217,24.56519961343689,38.39943642202652,23.952184858179958
+7033,37.966971695411466,24.56519961343689,38.48862439220217,25.954003121947878,38.3374290193606,25.921239253871594
+7034,38.48862439220217,23.176396104925903,39.010277088992865,24.56519961343689,38.646325011629486,23.718075919803915
+7035,38.48862439220217,24.56519961343689,39.010277088992865,25.954003121947878,38.59480409758982,25.623472388076184
+7036,37.966971695411466,25.954003121947878,38.227798043806814,26.648404876203372,38.2271829303538,25.998493920995806
+7037,37.966971695411466,26.648404876203372,38.227798043806814,27.342806630458863,38.16535099744,26.85491608969769
+7038,38.227798043806814,25.954003121947878,38.48862439220217,26.648404876203372,38.33910169341606,26.210053662505953
+7039,38.227798043806814,26.648404876203372,38.48862439220217,27.342806630458863,38.39831983245442,27.046199519065265
+7040,37.966971695411466,27.342806630458863,38.48862439220217,28.73161013896985,38.265415779870395,27.70536152829664
+7041,38.48862439220217,25.954003121947878,39.010277088992865,27.342806630458863,38.562525242166394,27.022428805417327
+7042,38.48862439220217,27.342806630458863,39.010277088992865,28.73161013896985,38.64827239020726,27.95191714127614
+7043,36.92366630183007,28.73161013896985,37.966971695411466,31.509217155991823,37.57068742415602,29.859603132535224
+7044,36.92366630183007,31.509217155991823,37.966971695411466,34.2868241730138,37.80277854459481,32.72593636382693
+7045,37.966971695411466,28.73161013896985,39.010277088992865,31.509217155991823,38.59677530308987,29.98533272447837
+7046,37.966971695411466,31.509217155991823,38.48862439220217,32.89802066450281,37.990109840128504,32.5389535973037
+7047,37.966971695411466,32.89802066450281,38.48862439220217,34.2868241730138,38.29675453058189,33.75588857729974
+7048,38.48862439220217,31.509217155991823,39.010277088992865,32.89802066450281,38.57701804158275,32.76575663277488
+7049,38.48862439220217,32.89802066450281,38.74945074059752,33.592422418758304,38.562883558051055,33.259265340256995
+7050,38.48862439220217,33.592422418758304,38.74945074059752,34.2868241730138,38.67028983748685,33.89076958991035
+7051,38.74945074059752,32.89802066450281,39.010277088992865,33.592422418758304,38.92094957220323,33.537431622586226
+7052,38.74945074059752,33.592422418758304,38.879863914795195,33.93962329588605,38.81019984861848,33.856988692291914
+7053,38.74945074059752,33.93962329588605,38.879863914795195,34.2868241730138,38.819707096346036,34.0026814779398
+7054,38.879863914795195,33.592422418758304,39.010277088992865,33.93962329588605,38.95709927693666,33.88524880277809
+7055,38.879863914795195,33.93962329588605,39.010277088992865,34.2868241730138,38.9604861555769,33.99587346119889
+7056,39.010277088992865,23.176396104925903,40.053582482574264,25.954003121947878,39.83932905920938,24.359881031415064
+7057,39.010277088992865,25.954003121947878,40.053582482574264,28.73161013896985,39.5688299582353,27.079390489804165
+7058,40.053582482574264,23.176396104925903,40.31440883096961,23.870797859181394,40.22136859773367,23.56714151695645
+7059,40.053582482574264,23.870797859181394,40.31440883096961,24.56519961343689,40.13194271409753,23.989701141998506
+7060,40.31440883096961,23.176396104925903,40.57523517936497,23.870797859181394,40.465090230488286,23.448542545274265
+7061,40.31440883096961,23.870797859181394,40.57523517936497,24.56519961343689,40.361255610148866,23.92294064911187
+7062,40.053582482574264,24.56519961343689,40.57523517936497,25.954003121947878,40.452715172394846,25.578273241139808
+7063,40.57523517936497,23.176396104925903,40.836061527760315,23.870797859181394,40.673540278533046,23.524294728711073
+7064,40.57523517936497,23.870797859181394,40.836061527760315,24.56519961343689,40.77551995619366,24.270344327214236
+7065,40.836061527760315,23.176396104925903,41.09688787615566,23.870797859181394,41.06301058478085,23.464994869658906
+7066,40.836061527760315,23.870797859181394,41.09688787615566,24.56519961343689,40.93294941011485,24.31197441915076
+7067,40.57523517936497,24.56519961343689,41.09688787615566,25.954003121947878,40.825971453605625,25.08116494539786
+7068,40.053582482574264,25.954003121947878,40.57523517936497,27.342806630458863,40.14476077574269,26.522950881350795
+7069,40.053582482574264,27.342806630458863,40.57523517936497,28.73161013896985,40.199324986227545,28.39197270626599
+7070,40.57523517936497,25.954003121947878,41.09688787615566,27.342806630458863,40.84973673829955,26.724481274055
+7071,40.836061527760315,27.342806630458863,41.09688787615566,28.037208384714354,41.01730738749791,27.772550204003284
+7072,40.96647470195799,28.037208384714354,41.09688787615566,28.3844092618421,41.07713248579837,28.22696604504841
+7073,40.96647470195799,28.3844092618421,41.09688787615566,28.73161013896985,41.04473232263259,28.64877313487397
+7074,39.010277088992865,28.73161013896985,39.53192978578356,30.120413647480838,39.259351596400045,29.797637175056988
+7075,39.010277088992865,30.120413647480838,39.53192978578356,31.509217155991823,39.38195483330555,30.791571735270384
+7076,39.53192978578356,28.73161013896985,40.053582482574264,30.120413647480838,39.88432588872507,29.827091285959227
+7077,39.53192978578356,30.120413647480838,40.053582482574264,31.509217155991823,39.73569223170705,30.580435654222658
+7078,39.010277088992865,31.509217155991823,39.53192978578356,32.89802066450281,39.315541051739274,32.54356479310764
+7079,39.010277088992865,32.89802066450281,39.53192978578356,34.2868241730138,39.111134216805674,33.900698217970564
+7080,39.53192978578356,31.509217155991823,39.792756134178916,32.203618910247314,39.590575610897716,32.04091283692008
+7081,39.53192978578356,32.203618910247314,39.792756134178916,32.89802066450281,39.695821270355516,32.508132553231896
+7082,39.792756134178916,32.203618910247314,39.923169308376586,32.55081978737506,39.81945566617493,32.54037109547533
+7083,39.792756134178916,32.55081978737506,39.923169308376586,32.89802066450281,39.87624415717848,32.766193395571534
+7084,39.923169308376586,32.55081978737506,40.053582482574264,32.89802066450281,39.96200210690258,32.78734140123505
+7085,39.53192978578356,32.89802066450281,40.053582482574264,34.2868241730138,39.78807698732839,33.35242698605291
+7086,40.053582482574264,28.73161013896985,40.57523517936497,30.120413647480838,40.251244401088826,29.1166179731622
+7087,40.053582482574264,30.120413647480838,40.57523517936497,31.509217155991823,40.36004901876739,31.330709067420056
+7088,40.57523517936497,28.73161013896985,40.836061527760315,29.426011893225343,40.732059795681025,29.310584102635808
+7089,40.57523517936497,29.426011893225343,40.836061527760315,30.120413647480838,40.77001398666408,29.689485881058047
+7090,40.836061527760315,28.73161013896985,40.96647470195799,29.078811016097596,40.94007734038256,28.93439945162421
+7091,40.836061527760315,29.078811016097596,40.96647470195799,29.426011893225343,40.906185758441545,29.250105965539028
+7092,40.96647470195799,28.73161013896985,41.09688787615566,29.078811016097596,41.03273731593209,28.916138962224014
+7093,40.96647470195799,29.078811016097596,41.09688787615566,29.426011893225343,41.00853347553782,29.150727784574357
+7094,40.836061527760315,29.426011893225343,41.09688787615566,30.120413647480838,40.86629273885939,29.621853528245552
+7095,40.57523517936497,30.120413647480838,40.836061527760315,30.814815401736332,40.729700582271334,30.448648200438107
+7096,40.57523517936497,30.814815401736332,40.836061527760315,31.509217155991823,40.771170077267584,31.253359676850266
+7097,40.836061527760315,30.120413647480838,41.09688787615566,30.814815401736332,40.998374859503585,30.532435285624107
+7098,40.836061527760315,30.814815401736332,41.09688787615566,31.509217155991823,40.92364213464238,31.05305754842036
+7099,40.053582482574264,31.509217155991823,40.57523517936497,32.89802066450281,40.387356481148146,31.77801881791283
+7100,40.053582482574264,32.89802066450281,40.57523517936497,34.2868241730138,40.118419171903994,33.42545580032245
+7101,40.57523517936497,31.509217155991823,41.09688787615566,32.89802066450281,40.79107599074437,32.034247412665884
+7102,40.57523517936497,32.89802066450281,41.09688787615566,34.2868241730138,40.94099869538313,33.81026431590393
+7103,36.92366630183007,34.2868241730138,37.184492650225415,34.98122592726929,37.034337497908105,34.838062317510236
+7104,36.92366630183007,34.98122592726929,37.05407947602774,35.32842680439704,37.01947798218476,35.26225869284461
+7105,36.92366630183007,35.32842680439704,37.05407947602774,35.67562768152479,37.00091303075474,35.413031476977665
+7106,37.05407947602774,34.98122592726929,37.184492650225415,35.32842680439704,37.07618532609404,35.244384947178695
+7107,37.05407947602774,35.32842680439704,37.184492650225415,35.67562768152479,37.09091651890905,35.45833676962119
+7108,37.184492650225415,34.2868241730138,37.44531899862076,34.98122592726929,37.27502670933405,34.76244664548184
+7109,36.92366630183007,35.67562768152479,37.44531899862076,37.06443119003577,37.099470662241835,36.06203476554003
+7110,37.44531899862076,34.2868241730138,37.966971695411466,35.67562768152479,37.56601493745177,34.66190446296799
+7111,37.44531899862076,35.67562768152479,37.966971695411466,37.06443119003577,37.588505807343715,36.90330994901353
+7112,36.92366630183007,37.06443119003577,37.966971695411466,39.84203820705774,37.18016747002788,37.98679781230257
+7113,37.966971695411466,34.2868241730138,39.010277088992865,37.06443119003577,38.61909676528378,35.458299108206525
+7114,37.966971695411466,37.06443119003577,39.010277088992865,39.84203820705774,38.614357579403666,37.872457767277965
+7115,36.92366630183007,39.84203820705774,39.010277088992865,45.39725224110169,37.80967030821603,41.203882798093254
+7116,39.010277088992865,34.2868241730138,40.053582482574264,37.06443119003577,39.682817800675664,35.899757836275825
+7117,39.010277088992865,37.06443119003577,40.053582482574264,39.84203820705774,39.7694337956726,38.70607753761975
+7118,40.053582482574264,34.2868241730138,40.57523517936497,35.67562768152479,40.22796521365206,34.806377054295766
+7119,40.053582482574264,35.67562768152479,40.57523517936497,37.06443119003577,40.34396243265462,36.21883158871861
+7120,40.57523517936497,34.2868241730138,41.09688787615566,35.67562768152479,40.96912541132504,34.856666072779035
+7121,40.57523517936497,35.67562768152479,41.09688787615566,37.06443119003577,40.791632574835525,36.17447414469232
+7122,40.053582482574264,37.06443119003577,40.57523517936497,38.45323469854675,40.332857695818085,37.72613175614981
+7123,40.053582482574264,38.45323469854675,40.57523517936497,39.84203820705774,40.3237765147989,39.272797614985066
+7124,40.57523517936497,37.06443119003577,40.836061527760315,37.75883294429126,40.74536648850721,37.29469475936609
+7125,40.57523517936497,37.75883294429126,40.836061527760315,38.45323469854675,40.73426928916219,37.90998875319201
+7126,40.836061527760315,37.06443119003577,41.09688787615566,37.75883294429126,40.93482500447711,37.51563983911306
+7127,40.836061527760315,37.75883294429126,41.09688787615566,38.45323469854675,40.96633949413906,37.991116232745625
+7128,40.57523517936497,38.45323469854675,41.09688787615566,39.84203820705774,40.850114872812455,39.34232141384629
+7129,39.010277088992865,39.84203820705774,40.053582482574264,42.61964522407972,39.91136806738181,41.203586314328604
+7130,39.010277088992865,42.61964522407972,40.053582482574264,45.39725224110169,39.77807617493178,43.934797315610474
+7131,40.053582482574264,39.84203820705774,41.09688787615566,42.61964522407972,40.878200348577835,40.44454263888627
+7132,40.053582482574264,42.61964522407972,41.09688787615566,45.39725224110169,40.44312631166024,43.763998960288156
+7133,41.09688787615566,23.176396104925903,41.61854057294636,24.56519961343689,41.32189072083524,23.48634642023343
+7134,41.09688787615566,24.56519961343689,41.61854057294636,25.954003121947878,41.232524079116885,25.287403214274114
+7135,41.61854057294636,23.176396104925903,42.14019326973706,24.56519961343689,41.92531201577664,23.839245755311254
+7136,41.61854057294636,24.56519961343689,41.87936692134171,25.259601367692383,41.705672086988706,24.724481621504022
+7137,41.61854057294636,25.259601367692383,41.87936692134171,25.954003121947878,41.63901446264947,25.427372338269063
+7138,41.87936692134171,24.56519961343689,42.14019326973706,25.259601367692383,42.06169719140328,24.96912528208906
+7139,41.87936692134171,25.259601367692383,42.14019326973706,25.954003121947878,42.02774743503942,25.49346115052768
+7140,41.09688787615566,25.954003121947878,41.61854057294636,27.342806630458863,41.384187237720724,26.93318117664272
+7141,41.09688787615566,27.342806630458863,41.35771422455101,28.037208384714354,41.26335475333854,27.752435440841914
+7142,41.09688787615566,28.037208384714354,41.35771422455101,28.73161013896985,41.188004900693194,28.411749810035875
+7143,41.35771422455101,27.342806630458863,41.61854057294636,28.037208384714354,41.42123454155094,27.679807914734358
+7144,41.35771422455101,28.037208384714354,41.61854057294636,28.73161013896985,41.58829237093696,28.077088080498196
+7145,41.61854057294636,25.954003121947878,42.14019326973706,27.342806630458863,41.793153625691396,26.47753647199836
+7146,41.61854057294636,27.342806630458863,42.14019326973706,28.73161013896985,41.81363698530195,27.798383609275913
+7147,42.14019326973706,23.176396104925903,42.40101961813241,23.870797859181394,42.26494089048893,23.58425307573855
+7148,42.14019326973706,23.870797859181394,42.40101961813241,24.56519961343689,42.27037182742137,24.25565812781266
+7149,42.40101961813241,23.176396104925903,42.53143279233009,23.523596982053647,42.4824767445763,23.399608822128464
+7150,42.40101961813241,23.523596982053647,42.53143279233009,23.870797859181394,42.464719809493296,23.78875840310036
+7151,42.53143279233009,23.176396104925903,42.661845966527764,23.523596982053647,42.63374152077713,23.348626182298148
+7152,42.53143279233009,23.523596982053647,42.661845966527764,23.870797859181394,42.57576464569896,23.644913201906544
+7153,42.40101961813241,23.870797859181394,42.661845966527764,24.56519961343689,42.537061829874006,24.368444789501087
+7154,42.14019326973706,24.56519961343689,42.40101961813241,25.259601367692383,42.200772757658946,24.839509081659795
+7155,42.14019326973706,25.259601367692383,42.40101961813241,25.954003121947878,42.28370607365911,25.479329337214175
+7156,42.40101961813241,24.56519961343689,42.661845966527764,25.259601367692383,42.56059813663424,24.760935448651104
+7157,42.40101961813241,25.259601367692383,42.661845966527764,25.954003121947878,42.487372017634954,25.70954426963156
+7158,42.661845966527764,23.176396104925903,42.792259140725434,23.523596982053647,42.70076793831719,23.31700619013082
+7159,42.661845966527764,23.523596982053647,42.792259140725434,23.870797859181394,42.74528595841372,23.676948700865406
+7160,42.792259140725434,23.176396104925903,42.92267231492311,23.523596982053647,42.82870752053619,23.282106758699125
+7161,42.792259140725434,23.523596982053647,42.92267231492311,23.870797859181394,42.84895181656984,23.776927876079224
+7162,42.661845966527764,23.870797859181394,42.92267231492311,24.56519961343689,42.77897526131127,24.095463766335634
+7163,42.92267231492311,23.176396104925903,43.18349866331846,23.870797859181394,43.00902852908928,23.539168532035355
+7164,42.92267231492311,23.870797859181394,43.18349866331846,24.56519961343689,43.076286619449704,24.124013384477724
+7165,42.661845966527764,24.56519961343689,43.18349866331846,25.954003121947878,42.91129517571285,25.261120061808892
+7166,42.14019326973706,25.954003121947878,42.661845966527764,27.342806630458863,42.50818832051339,26.63298900538613
+7167,42.14019326973706,27.342806630458863,42.661845966527764,28.73161013896985,42.496038484723854,27.547661756703505
+7168,42.661845966527764,25.954003121947878,43.18349866331846,27.342806630458863,42.859281910369795,26.98093394630805
+7169,42.661845966527764,27.342806630458863,43.18349866331846,28.73161013896985,42.776380130590866,27.765434740801275
+7170,41.09688787615566,28.73161013896985,41.61854057294636,30.120413647480838,41.162190160860725,28.97532720517526
+7171,41.09688787615566,30.120413647480838,41.61854057294636,31.509217155991823,41.1390010972453,30.821781459632422
+7172,41.09688787615566,31.509217155991823,41.61854057294636,32.89802066450281,41.25224910474671,32.42797883984121
+7173,41.09688787615566,32.89802066450281,41.61854057294636,34.2868241730138,41.34476694108482,33.60679511118455
+7174,41.61854057294636,31.509217155991823,42.14019326973706,32.89802066450281,41.75023749756685,32.5062168182944
+7175,41.61854057294636,32.89802066450281,42.14019326973706,34.2868241730138,41.84450238267049,33.598308543056504
+7176,43.18349866331846,23.176396104925903,43.705151360109156,24.56519961343689,43.39283599996624,24.091570762743526
+7177,43.18349866331846,24.56519961343689,43.705151360109156,25.954003121947878,43.45989141583944,25.295575209097326
+7178,43.705151360109156,23.176396104925903,44.22680405689985,24.56519961343689,44.11947971516766,23.823576400512284
+7179,43.705151360109156,24.56519961343689,44.22680405689985,25.954003121947878,43.88723448275557,25.657928556995174
+7180,43.18349866331846,25.954003121947878,43.705151360109156,27.342806630458863,43.488987595874676,26.775299772867925
+7181,43.18349866331846,27.342806630458863,43.705151360109156,28.73161013896985,43.24304562089102,27.90367090304717
+7182,43.705151360109156,25.954003121947878,44.22680405689985,27.342806630458863,44.07757873808562,26.484548717050625
+7183,43.705151360109156,27.342806630458863,43.965977708504504,28.037208384714354,43.92846280866605,28.028578429216317
+7184,43.705151360109156,28.037208384714354,43.965977708504504,28.73161013896985,43.865970878534995,28.449464992044856
+7185,43.965977708504504,27.342806630458863,44.22680405689985,28.037208384714354,44.081315643577504,27.79094236757012
+7186,43.965977708504504,28.037208384714354,44.09639088270218,28.3844092618421,44.04380094541207,28.251037832810102
+7187,43.965977708504504,28.3844092618421,44.09639088270218,28.73161013896985,44.038368305949845,28.59496706416912
+7188,44.09639088270218,28.037208384714354,44.22680405689985,28.3844092618421,44.155752326819794,28.218439257569393
+7189,44.09639088270218,28.3844092618421,44.22680405689985,28.73161013896985,44.176311883291945,28.56447833754916
+7190,44.22680405689985,23.176396104925903,44.74845675369055,24.56519961343689,44.40286772406292,23.88647613422375
+7191,44.22680405689985,24.56519961343689,44.74845675369055,25.954003121947878,44.5233757116425,25.678299859856793
+7192,44.74845675369055,23.176396104925903,45.0092831020859,23.870797859181394,44.919605022180804,23.604651385978258
+7193,44.74845675369055,23.870797859181394,45.0092831020859,24.56519961343689,44.9098404982443,24.3066280689872
+7194,45.0092831020859,23.176396104925903,45.27010945048125,23.870797859181394,45.12919985140619,23.447794680305236
+7195,45.0092831020859,23.870797859181394,45.27010945048125,24.56519961343689,45.15249814266928,24.217883868186185
+7196,44.74845675369055,24.56519961343689,45.0092831020859,25.259601367692383,44.89669438013526,24.85131187013665
+7197,44.74845675369055,25.259601367692383,44.878869927888225,25.60680224482013,44.85931974572793,25.461597810507186
+7198,44.74845675369055,25.60680224482013,44.878869927888225,25.954003121947878,44.854141581393414,25.89494216908106
+7199,44.878869927888225,25.259601367692383,45.0092831020859,25.60680224482013,44.934219720969644,25.47847439613339
+7200,44.878869927888225,25.60680224482013,45.0092831020859,25.954003121947878,44.949708341020404,25.745229056239474
+7201,45.0092831020859,24.56519961343689,45.27010945048125,25.259601367692383,45.118705921899384,24.989647743861056
+7202,45.0092831020859,25.259601367692383,45.13969627628357,25.60680224482013,45.07805494050451,25.47308742026919
+7203,45.0092831020859,25.60680224482013,45.13969627628357,25.954003121947878,45.07554895634784,25.816223877990232
+7204,45.13969627628357,25.259601367692383,45.27010945048125,25.60680224482013,45.17115067083473,25.44769181215415
+7205,45.13969627628357,25.60680224482013,45.27010945048125,25.954003121947878,45.191802071303236,25.73768979625596
+7206,44.22680405689985,25.954003121947878,44.35721723109752,26.301203999075625,44.31529893719785,26.13917990100686
+7207,44.22680405689985,26.301203999075625,44.35721723109752,26.648404876203372,44.25385943717546,26.3952479104056
+7208,44.35721723109752,25.954003121947878,44.4876304052952,26.301203999075625,44.42914340822018,26.101409977529233
+7209,44.35721723109752,26.301203999075625,44.4876304052952,26.648404876203372,44.448037809808994,26.433628334834296
+7210,44.22680405689985,26.648404876203372,44.4876304052952,27.342806630458863,44.43181909042334,26.908958354810604
+7211,44.4876304052952,25.954003121947878,44.61804357949288,26.301203999075625,44.53056217900344,26.12047264969653
+7212,44.4876304052952,26.301203999075625,44.61804357949288,26.648404876203372,44.5310429771832,26.43717297814868
+7213,44.61804357949288,25.954003121947878,44.74845675369055,26.301203999075625,44.69434034433579,26.191043905045145
+7214,44.61804357949288,26.301203999075625,44.74845675369055,26.648404876203372,44.701651073049035,26.409897148252888
+7215,44.4876304052952,26.648404876203372,44.74845675369055,27.342806630458863,44.68652515045655,27.097799441619888
+7216,44.22680405689985,27.342806630458863,44.4876304052952,28.037208384714354,44.39288687303373,27.602226513446375
+7217,44.22680405689985,28.037208384714354,44.4876304052952,28.73161013896985,44.33879023010821,28.401011254014524
+7218,44.4876304052952,27.342806630458863,44.74845675369055,28.037208384714354,44.637899420735046,27.551221505832757
+7219,44.4876304052952,28.037208384714354,44.74845675369055,28.73161013896985,44.60377243100994,28.35400232175058
+7220,44.74845675369055,25.954003121947878,44.878869927888225,26.301203999075625,44.808309754239026,26.197284724875608
+7221,44.74845675369055,26.301203999075625,44.878869927888225,26.648404876203372,44.773850714857446,26.390254188967432
+7222,44.878869927888225,25.954003121947878,45.0092831020859,26.301203999075625,44.94228697271426,26.040098114319367
+7223,44.878869927888225,26.301203999075625,45.0092831020859,26.648404876203372,44.96131904379207,26.49170982954088
+7224,44.74845675369055,26.648404876203372,45.0092831020859,27.342806630458863,44.866819856913324,26.989674141751433
+7225,45.0092831020859,25.954003121947878,45.13969627628357,26.301203999075625,45.09109633991234,26.13827759147445
+7226,45.0092831020859,26.301203999075625,45.13969627628357,26.648404876203372,45.0687911619408,26.44653280657899
+7227,45.13969627628357,25.954003121947878,45.27010945048125,26.301203999075625,45.207126426889765,26.119748455264297
+7228,45.13969627628357,26.301203999075625,45.27010945048125,26.648404876203372,45.21605957496437,26.47412561126087
+7229,45.0092831020859,26.648404876203372,45.27010945048125,27.342806630458863,45.14118044419558,26.759492698078205
+7230,44.74845675369055,27.342806630458863,45.0092831020859,28.037208384714354,44.868281589739816,27.540501360543384
+7231,44.74845675369055,28.037208384714354,45.0092831020859,28.73161013896985,44.88867328142816,28.428209820946446
+7232,45.0092831020859,27.342806630458863,45.27010945048125,28.037208384714354,45.134277572613485,27.847125137345387
+7233,45.0092831020859,28.037208384714354,45.27010945048125,28.73161013896985,45.13242689321015,28.24286913162422
+7234,43.18349866331846,28.73161013896985,45.27010945048125,34.2868241730138,45.04785103021411,28.918757717146637
+7235,41.09688787615566,34.2868241730138,41.61854057294636,35.67562768152479,41.33706232203331,34.91223697402023
+7236,41.09688787615566,35.67562768152479,41.61854057294636,37.06443119003577,41.30930544992276,36.28825789956924
+7237,41.61854057294636,34.2868241730138,42.14019326973706,35.67562768152479,41.87140852558099,34.92210439272113
+7238,41.09688787615566,37.06443119003577,42.14019326973706,39.84203820705774,41.112824193020366,37.341253040809256
+7239,41.09688787615566,39.84203820705774,42.14019326973706,42.61964522407972,41.75892737017968,41.81244315917682
+7240,41.09688787615566,42.61964522407972,41.61854057294636,44.00844873259071,41.348732048180125,43.16041456657498
+7241,41.09688787615566,44.00844873259071,41.61854057294636,45.39725224110169,41.43977142439679,44.872708797464895
+7242,41.61854057294636,42.61964522407972,42.14019326973706,44.00844873259071,41.9635796919039,43.469397967801385
+7243,41.61854057294636,44.00844873259071,41.87936692134171,44.7028504868462,41.77322422703098,44.484705953512474
+7244,41.61854057294636,44.7028504868462,41.87936692134171,45.39725224110169,41.72876125156876,44.886964352979945
+7245,41.87936692134171,44.00844873259071,42.14019326973706,44.7028504868462,41.970024691274716,44.279624600599355
+7246,41.87936692134171,44.7028504868462,42.14019326973706,45.39725224110169,41.97954853499225,44.927338249350456
+7247,42.14019326973706,39.84203820705774,43.18349866331846,42.61964522407972,42.701812902749886,41.578988809218735
+7248,42.14019326973706,42.61964522407972,43.18349866331846,45.39725224110169,42.69356329474901,44.11551546430273
+7249,43.18349866331846,37.06443119003577,44.22680405689985,39.84203820705774,43.98660469883233,39.324880372523225
+7250,44.22680405689985,34.2868241730138,45.27010945048125,37.06443119003577,45.1617189360464,36.86213188930046
+7251,44.22680405689985,37.06443119003577,44.74845675369055,38.45323469854675,44.57480974375825,38.12681540827429
+7252,44.22680405689985,38.45323469854675,44.4876304052952,39.147636452802246,44.34442547416061,38.70507083323736
+7253,44.22680405689985,39.147636452802246,44.4876304052952,39.84203820705774,44.30436353995653,39.44278721509639
+7254,44.4876304052952,38.45323469854675,44.74845675369055,39.147636452802246,44.64372587631018,38.87071268839368
+7255,44.4876304052952,39.147636452802246,44.74845675369055,39.84203820705774,44.59997518649536,39.294881395906806
+7256,44.74845675369055,37.06443119003577,45.27010945048125,38.45323469854675,44.966844888056556,37.6612889444296
+7257,44.74845675369055,38.45323469854675,45.0092831020859,39.147636452802246,44.88321264392315,38.852822816863906
+7258,44.74845675369055,39.147636452802246,45.0092831020859,39.84203820705774,44.88172787899797,39.350951284669755
+7259,45.0092831020859,38.45323469854675,45.27010945048125,39.147636452802246,45.062125482832954,39.00202859824966
+7260,45.0092831020859,39.147636452802246,45.27010945048125,39.84203820705774,45.110080539473564,39.41342314052377
+7261,43.18349866331846,39.84203820705774,43.705151360109156,41.23084171556873,43.48534673862067,40.25151937838174
+7262,43.18349866331846,41.23084171556873,43.705151360109156,42.61964522407972,43.359037177580035,42.199085640015866
+7263,43.705151360109156,39.84203820705774,44.22680405689985,41.23084171556873,44.09762359874881,40.52119815902677
+7264,43.705151360109156,41.23084171556873,44.22680405689985,42.61964522407972,44.05369692611466,41.35812749172975
+7265,43.18349866331846,42.61964522407972,43.705151360109156,44.00844873259071,43.44789288126931,43.248312729654586
+7266,43.18349866331846,44.00844873259071,43.705151360109156,45.39725224110169,43.26718496679219,44.584261046464036
+7267,43.705151360109156,42.61964522407972,44.22680405689985,44.00844873259071,43.94610730589001,42.95628415884769
+7268,44.22680405689985,39.84203820705774,44.74845675369055,41.23084171556873,44.440475738901156,40.31009791948364
+7269,44.22680405689985,41.23084171556873,44.74845675369055,42.61964522407972,44.563935948559525,42.053789782915615
+7270,44.74845675369055,39.84203820705774,45.27010945048125,41.23084171556873,44.89752983966312,40.50966786712407
+7271,44.74845675369055,41.23084171556873,45.27010945048125,42.61964522407972,44.96890644217719,41.841834612720305
+7272,44.22680405689985,42.61964522407972,45.27010945048125,45.39725224110169,44.242559033955835,44.27380780097828
+7273,28.577223153178878,47.480457503868166,28.838049501574226,48.17485925812366,28.689211784317173,47.991940651013536
+7274,28.838049501574226,47.480457503868166,29.098875849969577,48.17485925812366,28.998282039636013,48.06440293222738
+7275,29.098875849969577,47.480457503868166,29.22928902416725,47.82765838099591,29.149691645528605,47.79110574905441
+7276,29.098875849969577,47.82765838099591,29.22928902416725,48.17485925812366,29.172756744329682,48.060666939699146
+7277,29.22928902416725,47.480457503868166,29.35970219836493,47.82765838099591,29.32343973492142,47.73641804822592
+7278,29.22928902416725,47.82765838099591,29.35970219836493,48.17485925812366,29.293029035435286,47.97417949920884
+7279,29.35970219836493,47.480457503868166,29.490115372562602,47.82765838099591,29.441592610321077,47.61771275262437
+7280,29.35970219836493,47.82765838099591,29.490115372562602,48.17485925812366,29.371423985850488,47.972654616502496
+7281,29.490115372562602,47.480457503868166,29.620528546760276,47.82765838099591,29.512241109096657,47.64754316508667
+7282,29.490115372562602,47.82765838099591,29.620528546760276,48.17485925812366,29.563167501906655,47.87764422942419
+7283,28.577223153178878,48.17485925812366,29.620528546760276,50.95246627514564,28.66681200388097,48.31777755359076
+7284,29.620528546760276,45.39725224110169,30.663833940341675,48.17485925812366,30.187417554672955,47.71679853398094
+7285,28.577223153178878,50.95246627514564,30.663833940341675,56.50768030918958,29.7295764495066,52.58830012148371
+7286,30.663833940341675,45.39725224110169,32.75044472750447,50.95246627514564,31.529942300801846,48.36187968430344
+7287,30.663833940341675,50.95246627514564,32.75044472750447,56.50768030918958,32.63512586110354,51.627092589845
+7288,32.75044472750447,45.39725224110169,34.83705551466727,50.95246627514564,34.12421667417764,49.798229505147795
+7289,32.75044472750447,50.95246627514564,34.83705551466727,56.50768030918958,33.66482337539793,51.43500081659285
+7290,34.83705551466727,45.39725224110169,36.92366630183007,50.95246627514564,36.10887492968394,50.42902693802689
+7291,34.83705551466727,50.95246627514564,35.358708211457966,52.34126978365663,35.14409328765352,51.52496589833619
+7292,35.358708211457966,50.95246627514564,35.61953455985332,51.64686802940113,35.551491575294826,51.23140575183453
+7293,35.358708211457966,51.64686802940113,35.61953455985332,52.34126978365663,35.517498005262446,52.25589710151074
+7294,35.61953455985332,50.95246627514564,35.74994773405099,51.299667152273386,35.709138811668,51.17130526090966
+7295,35.61953455985332,51.299667152273386,35.74994773405099,51.64686802940113,35.715236544949654,51.412051122575825
+7296,35.74994773405099,50.95246627514564,35.88036090824867,51.299667152273386,35.784987875729065,51.0993260936218
+7297,35.74994773405099,51.299667152273386,35.88036090824867,51.64686802940113,35.78118695057291,51.44947882312772
+7298,35.61953455985332,51.64686802940113,35.88036090824867,52.34126978365663,35.74763635038886,51.90420426173549
+7299,35.358708211457966,52.34126978365663,35.88036090824867,53.73007329216761,35.6077508784556,53.37912690031461
+7300,35.88036090824867,50.95246627514564,36.40201360503937,52.34126978365663,36.10227509253349,51.25312258468392
+7301,35.88036090824867,52.34126978365663,36.40201360503937,53.73007329216761,36.37598520693369,52.3518016862715
+7302,36.40201360503937,50.95246627514564,36.66283995343472,51.64686802940113,36.55001435840702,51.26578058671424
+7303,36.66283995343472,50.95246627514564,36.92366630183007,51.64686802940113,36.682130415932356,51.33969600873543
+7304,36.40201360503937,52.34126978365663,36.92366630183007,53.73007329216761,36.47697672133503,52.48087899876024
+7305,35.88036090824867,53.73007329216761,36.92366630183007,56.50768030918958,36.09698782952751,54.214345100461
+7306,32.75044472750447,56.50768030918958,34.83705551466727,62.06289434323353,32.9960764129645,58.939826913886996
+7307,34.83705551466727,59.28528732621156,35.88036090824867,62.06289434323353,35.652298356306574,59.69059562485454
+7308,35.88036090824867,56.50768030918958,36.92366630183007,59.28528732621156,36.48161984657417,58.03372367517671
+7309,35.88036090824867,59.28528732621156,36.14118725664402,59.979689080467054,35.98114644884134,59.74480094768378
+7310,36.14118725664402,59.28528732621156,36.271600430841694,59.63248820333931,36.25816638086621,59.602822397717446
+7311,36.14118725664402,59.63248820333931,36.271600430841694,59.979689080467054,36.247920989962566,59.64333987781329
+7312,36.271600430841694,59.28528732621156,36.40201360503937,59.63248820333931,36.316279993754875,59.550772577433115
+7313,36.271600430841694,59.63248820333931,36.40201360503937,59.979689080467054,36.31165659114164,59.64118949618712
+7314,36.40201360503937,59.28528732621156,36.92366630183007,60.67409083472255,36.42640928348499,59.43391294692886
+7315,36.40201360503937,60.67409083472255,36.92366630183007,62.06289434323353,36.54010236282976,61.22418824341075
+7316,34.83705551466727,62.06289434323353,36.92366630183007,67.61810837727748,36.12912815186248,62.62296697281309
+7317,28.577223153178878,73.17332241132142,29.620528546760276,75.95092942834339,28.599687128864634,75.37569209233054
+7318,28.577223153178878,75.95092942834339,29.620528546760276,78.72853644536536,28.776702481777804,77.38744979279292
+7319,29.620528546760276,73.17332241132142,30.663833940341675,75.95092942834339,30.138281451117738,75.81354206130521
+7320,29.620528546760276,75.95092942834339,30.663833940341675,78.72853644536536,30.19570762354994,78.05314261426518
+7321,30.663833940341675,67.61810837727748,32.75044472750447,73.17332241132142,31.355632892157004,72.92355925974114
+7322,30.663833940341675,73.17332241132142,31.707139333923074,75.95092942834339,31.538104948778138,74.45314473440621
+7323,30.663833940341675,75.95092942834339,31.707139333923074,78.72853644536536,31.05191086357227,76.90929297313244
+7324,31.707139333923074,73.17332241132142,32.75044472750447,75.95092942834339,32.198518023900014,75.37386129096696
+7325,31.707139333923074,75.95092942834339,32.75044472750447,78.72853644536536,32.204091757906205,76.77629845907039
+7326,28.577223153178878,78.72853644536536,29.620528546760276,81.50614346238734,29.25900349667302,79.37502856561662
+7327,28.577223153178878,81.50614346238734,29.620528546760276,84.28375047940932,29.122436427643795,82.22545240409224
+7328,29.620528546760276,78.72853644536536,30.663833940341675,81.50614346238734,29.63058649501992,79.59180834810756
+7329,30.663833940341675,78.72853644536536,32.75044472750447,84.28375047940932,30.75572271895875,79.494810519687
+7330,32.75044472750447,70.39571539429946,33.79375012108587,73.17332241132142,33.650459951788186,73.07633880013364
+7331,33.79375012108587,67.61810837727748,34.83705551466727,70.39571539429946,34.520732996445005,69.14901830580955
+7332,33.79375012108587,71.4373180256827,33.92416329528355,71.78451890281045,33.917757429554754,71.46051736795387
+7333,33.92416329528355,71.09011714855495,34.05457646948122,71.4373180256827,33.980406382730195,71.3985827447905
+7334,33.92416329528355,71.4373180256827,34.05457646948122,71.78451890281045,34.00614467931337,71.54771061516469
+7335,34.05457646948122,71.09011714855495,34.315402817876574,71.78451890281045,34.077842043612236,71.45662039122764
+7336,34.315402817876574,70.39571539429946,34.83705551466727,71.78451890281045,34.79289711689966,71.66270492346716
+7337,34.315402817876574,71.78451890281045,34.83705551466727,73.17332241132142,34.75735118686324,72.36137926338913
+7338,32.75044472750447,73.17332241132142,34.83705551466727,78.72853644536536,34.06672368097762,73.82548870293945
+7339,34.83705551466727,67.61810837727748,36.92366630183007,73.17332241132142,36.40068498050725,72.24544979059462
+7340,34.83705551466727,73.17332241132142,36.92366630183007,78.72853644536536,35.31182753646904,75.59293257005555
+7341,36.92366630183007,45.39725224110169,39.010277088992865,50.95246627514564,37.371307432598975,49.345669621320965
+7342,36.92366630183007,50.95246627514564,39.010277088992865,56.50768030918958,38.54199001125794,55.054854616200515
+7343,39.010277088992865,45.39725224110169,40.053582482574264,48.17485925812366,39.69753437911291,46.35547799016226
+7344,39.010277088992865,48.17485925812366,40.053582482574264,50.95246627514564,39.9753183550625,49.243685181632635
+7345,40.053582482574264,45.39725224110169,41.09688787615566,48.17485925812366,40.61278342923777,46.336423091273275
+7346,40.053582482574264,48.17485925812366,40.57523517936497,49.56366276663465,40.37761062792524,49.16204156106626
+7347,40.053582482574264,49.56366276663465,40.31440883096961,50.258064520890144,40.260805557586636,49.651875980482124
+7348,40.31440883096961,49.56366276663465,40.44482200516729,49.9108636437624,40.39045263522791,49.849738811868626
+7349,40.31440883096961,49.9108636437624,40.44482200516729,50.258064520890144,40.40153340023424,50.00655306369545
+7350,40.44482200516729,49.56366276663465,40.57523517936497,49.9108636437624,40.46848429552639,49.84597713374004
+7351,40.44482200516729,49.9108636437624,40.57523517936497,50.258064520890144,40.45757026137867,50.071445122238345
+7352,40.31440883096961,50.258064520890144,40.57523517936497,50.95246627514564,40.41381482236076,50.32589079457816
+7353,40.57523517936497,48.17485925812366,41.09688787615566,49.56366276663465,40.81511369003885,48.726871466525544
+7354,40.57523517936497,49.56366276663465,41.09688787615566,50.95246627514564,40.586164674294444,49.915958105283856
+7355,39.010277088992865,50.95246627514564,41.09688787615566,56.50768030918958,39.528687296294684,54.35795143494292
+7356,36.92366630183007,56.50768030918958,37.44531899862076,57.89648381770057,37.14103799101545,57.45604579120774
+7357,36.92366630183007,57.89648381770057,37.44531899862076,59.28528732621156,37.14531456804097,58.38926887250867
+7358,37.44531899862076,56.50768030918958,37.966971695411466,57.89648381770057,37.469169886906286,57.369777878350455
+7359,37.44531899862076,58.590885571956065,37.70614534701612,59.28528732621156,37.65352473936971,59.128794895955274
+7360,37.70614534701612,57.89648381770057,37.966971695411466,58.590885571956065,37.92680111483652,58.365195709267205
+7361,37.70614534701612,58.590885571956065,37.966971695411466,59.28528732621156,37.82264249908288,58.78104329096356
+7362,36.92366630183007,59.28528732621156,37.966971695411466,62.06289434323353,37.387773412210784,61.12690687713025
+7363,37.966971695411466,56.50768030918958,38.48862439220217,57.89648381770057,38.30932660146561,57.237749824589116
+7364,37.966971695411466,57.89648381770057,38.48862439220217,59.28528732621156,38.057768226039485,58.19076926921288
+7365,38.48862439220217,56.50768030918958,39.010277088992865,57.89648381770057,38.58999850006802,57.00208565138409
+7366,38.48862439220217,57.89648381770057,39.010277088992865,59.28528732621156,38.70228903701035,58.496513609191844
+7367,37.966971695411466,59.28528732621156,39.010277088992865,62.06289434323353,38.221481815949005,61.761179730120894
+7368,36.92366630183007,62.06289434323353,39.010277088992865,67.61810837727748,37.99197910422769,63.538038405767274
+7369,39.010277088992865,56.50768030918958,41.09688787615566,62.06289434323353,40.42495403217733,61.188671649513
+7370,39.010277088992865,62.06289434323353,40.053582482574264,64.8405013602555,39.59192560171535,64.14036917696495
+7371,39.010277088992865,64.8405013602555,40.053582482574264,67.61810837727748,39.83195454540096,67.10278988506984
+7372,40.053582482574264,62.06289434323353,41.09688787615566,64.8405013602555,40.069502185851164,64.37197927557877
+7373,40.053582482574264,64.8405013602555,41.09688787615566,67.61810837727748,40.200974233493874,65.41941205121246
+7374,41.09688787615566,45.39725224110169,45.27010945048125,56.50768030918958,41.96368813692397,47.098504986872086
+7375,41.09688787615566,56.50768030918958,45.27010945048125,67.61810837727748,42.2049162876088,60.281214132686614
+7376,36.92366630183007,67.61810837727748,37.966971695411466,70.39571539429946,37.86056344026885,69.67142548824478
+7377,36.92366630183007,70.39571539429946,37.966971695411466,73.17332241132142,37.22760470127401,72.28437492684075
+7378,37.966971695411466,67.61810837727748,39.010277088992865,70.39571539429946,38.547111247986216,68.7856415564353
+7379,37.966971695411466,70.39571539429946,39.010277088992865,73.17332241132142,38.39327685043007,70.95361560589208
+7380,36.92366630183007,73.17332241132142,39.010277088992865,78.72853644536536,37.61008868257648,73.80153378500994
+7381,39.010277088992865,67.61810837727748,40.053582482574264,70.39571539429946,39.69249303572903,68.44262166803772
+7382,39.010277088992865,70.39571539429946,40.053582482574264,73.17332241132142,39.63594890941126,72.89466099031597
+7383,40.053582482574264,67.61810837727748,40.57523517936497,69.00691188578847,40.452604949107176,68.59300952633298
+7384,40.053582482574264,69.00691188578847,40.57523517936497,70.39571539429946,40.301839199520195,69.53841945496961
+7385,40.57523517936497,67.61810837727748,41.09688787615566,69.00691188578847,40.89034776251972,68.55168187598636
+7386,40.57523517936497,69.00691188578847,41.09688787615566,70.39571539429946,40.997269673909976,69.88476207587011
+7387,40.053582482574264,70.39571539429946,41.09688787615566,73.17332241132142,40.73031327847621,71.14970865434711
+7388,39.010277088992865,73.17332241132142,41.09688787615566,78.72853644536536,40.15173765033634,74.48850099843278
+7389,36.92366630183007,78.72853644536536,41.09688787615566,89.83896451345326,37.484992794588,81.951890132734
+7390,41.09688787615566,67.61810837727748,41.61854057294636,69.00691188578847,41.274110508093194,68.71505912915708
+7391,41.09688787615566,69.00691188578847,41.22730105035333,69.35411276291622,41.19697377539331,69.16247145750366
+7392,41.09688787615566,69.35411276291622,41.22730105035333,69.70131364004396,41.15220380974171,69.42012135663555
+7393,41.22730105035333,69.00691188578847,41.35771422455101,69.35411276291622,41.289135864621095,69.25910530350201
+7394,41.22730105035333,69.35411276291622,41.35771422455101,69.70131364004396,41.291367999339265,69.36785946160877
+7395,41.09688787615566,69.70131364004396,41.35771422455101,70.39571539429946,41.15835606133134,70.09893150014923
+7396,41.35771422455101,69.00691188578847,41.61854057294636,69.70131364004396,41.47567409722921,69.29386735409574
+7397,41.61854057294636,69.00691188578847,42.14019326973706,70.39571539429946,41.871299044808424,69.43587892483758
+7398,41.09688787615566,70.39571539429946,42.14019326973706,73.17332241132142,41.272947399163414,71.25542210291803
+7399,42.14019326973706,67.61810837727748,43.18349866331846,70.39571539429946,42.59325270996707,69.49633392108
+7400,42.14019326973706,70.39571539429946,43.18349866331846,73.17332241132142,42.83398378773529,71.49007290941768
+7401,41.09688787615566,73.17332241132142,42.14019326973706,75.95092942834339,41.55995619092952,74.99731517328905
+7402,41.09688787615566,75.95092942834339,42.14019326973706,78.72853644536536,41.80863761629666,76.7237164658627
+7403,42.14019326973706,73.17332241132142,42.661845966527764,74.5621259198324,42.54009328624913,74.3157962634118
+7404,42.14019326973706,74.5621259198324,42.661845966527764,75.95092942834339,42.61118314790167,74.9652110403563
+7405,42.661845966527764,73.17332241132142,43.18349866331846,74.5621259198324,42.88261956688627,73.98447288633385
+7406,42.661845966527764,74.5621259198324,43.18349866331846,75.95092942834339,42.87437838453621,74.78083059201421
+7407,42.14019326973706,75.95092942834339,43.18349866331846,78.72853644536536,42.724326027409376,77.47912979789398
+7408,43.18349866331846,67.61810837727748,45.27010945048125,73.17332241132142,43.527153142455326,68.44754353275202
+7409,43.18349866331846,73.17332241132142,44.22680405689985,75.95092942834339,43.348415407047085,74.87245618948896
+7410,43.18349866331846,75.95092942834339,43.44432501171381,76.64533118259888,43.2571447425152,76.44109835115633
+7411,43.18349866331846,76.64533118259888,43.31391183751613,76.99253205972663,43.25253507576323,76.85352953631846
+7412,43.18349866331846,76.99253205972663,43.31391183751613,77.33973293685438,43.298613658140766,77.00206077304478
+7413,43.31391183751613,76.64533118259888,43.44432501171381,76.99253205972663,43.345403140000535,76.87177360034967
+7414,43.31391183751613,76.99253205972663,43.44432501171381,77.33973293685438,43.37051499727823,77.04550729157184
+7415,43.44432501171381,76.64533118259888,43.705151360109156,77.33973293685438,43.49889593356778,76.89634821602071
+7416,43.18349866331846,77.33973293685438,43.705151360109156,78.72853644536536,43.488773656430055,77.84537307416909
+7417,43.705151360109156,75.95092942834339,44.22680405689985,77.33973293685438,44.04832536356362,76.23169911088112
+7418,43.705151360109156,77.33973293685438,44.22680405689985,78.72853644536536,43.9072059004405,77.7125330268025
+7419,44.22680405689985,73.17332241132142,45.27010945048125,75.95092942834339,45.14792348105005,73.94959444054717
+7420,41.09688787615566,78.72853644536536,45.27010945048125,89.83896451345326,43.458699632769864,80.12844897030857
+7421,11.884336855876501,99.56058907303017,12.4059895526672,100.94939258154116,12.206788388548519,99.92094375646144
+7422,12.4059895526672,99.56058907303017,12.66681590106255,100.25499082728567,12.531823339718082,99.93345872544698
+7423,12.4059895526672,100.25499082728567,12.66681590106255,100.94939258154116,12.654470529297068,100.91395989536605
+7424,12.66681590106255,99.56058907303017,12.9276422494579,100.25499082728567,12.78010906580398,99.8720819031102
+7425,12.66681590106255,100.25499082728567,12.9276422494579,100.94939258154116,12.803554531878914,100.90082308033625
+7426,12.9276422494579,99.56058907303017,13.18846859785325,100.25499082728567,13.050653167589626,99.81003881640791
+7427,12.9276422494579,100.25499082728567,13.18846859785325,100.94939258154116,13.029280209059817,100.91797824490426
+7428,13.18846859785325,99.56058907303017,13.4492949462486,100.25499082728567,13.353944199101068,99.88650873292399
+7429,13.18846859785325,100.25499082728567,13.4492949462486,100.94939258154116,13.29845086942023,100.93196667892282
+7430,13.4492949462486,98.17178556451918,13.970947643039297,99.56058907303017,13.726431345771504,99.0663550831754
+7431,13.4492949462486,99.56058907303017,13.710121294643947,100.25499082728567,13.57134233584011,100.01010662310168
+7432,13.4492949462486,100.25499082728567,13.579708120446274,100.60219170441341,13.536791669467846,100.37434060471719
+7433,13.4492949462486,100.60219170441341,13.579708120446274,100.94939258154116,13.537876353826862,100.77932013605826
+7434,13.579708120446274,100.25499082728567,13.710121294643947,100.60219170441341,13.651976986251332,100.46159714354464
+7435,13.579708120446274,100.60219170441341,13.710121294643947,100.94939258154116,13.653853066445446,100.7113856045611
+7436,13.710121294643947,99.56058907303017,13.970947643039297,100.25499082728567,13.842795226176083,100.00660372116381
+7437,13.710121294643947,100.25499082728567,13.840534468841621,100.60219170441341,13.765576628417142,100.48779041057816
+7438,13.710121294643947,100.60219170441341,13.840534468841621,100.94939258154116,13.772237352367439,100.70389407639463
+7439,13.840534468841621,100.25499082728567,13.970947643039297,100.60219170441341,13.905098817068861,100.4706002383147
+7440,13.840534468841621,100.60219170441341,13.970947643039297,100.94939258154116,13.911043338513267,100.72804631326044
+7441,13.970947643039297,95.3941785474972,15.014253036620694,98.17178556451918,14.398584691196897,98.08694835181873
+7442,13.970947643039297,98.17178556451918,14.492600339829995,99.56058907303017,14.123003137618845,99.02415505876012
+7443,13.970947643039297,99.56058907303017,14.231773991434647,100.25499082728567,14.054710636429549,99.88840005524517
+7444,13.970947643039297,100.25499082728567,14.101360817236973,100.60219170441341,14.02570419332532,100.45876485812873
+7445,13.970947643039297,100.60219170441341,14.101360817236973,100.94939258154116,14.031917613364307,100.77513956094366
+7446,14.101360817236973,100.25499082728567,14.231773991434647,100.60219170441341,14.161637878186776,100.45963814962715
+7447,14.101360817236973,100.60219170441341,14.231773991434647,100.94939258154116,14.163109972819361,100.78023769485924
+7448,14.231773991434647,99.56058907303017,14.492600339829995,100.25499082728567,14.387362366490194,100.0302936136635
+7449,14.231773991434647,100.25499082728567,14.492600339829995,100.94939258154116,14.347891701217748,100.64460571144446
+7450,14.492600339829995,98.17178556451918,15.014253036620694,99.56058907303017,14.697350774010923,98.51063497983036
+7451,14.492600339829995,99.56058907303017,14.753426688225344,100.25499082728567,14.590429988770126,100.05797730223398
+7452,14.492600339829995,100.25499082728567,14.623013514027669,100.60219170441341,14.566132070315463,100.43718197019355
+7453,14.492600339829995,100.60219170441341,14.623013514027669,100.94939258154116,14.55940591562976,100.82348929537676
+7454,14.623013514027669,100.25499082728567,14.753426688225344,100.60219170441341,14.711781875727345,100.46058771961276
+7455,14.623013514027669,100.60219170441341,14.753426688225344,100.94939258154116,14.694425405283914,100.82071425402121
+7456,14.753426688225344,99.56058907303017,15.014253036620694,100.25499082728567,14.88602430820872,100.07934326539741
+7457,14.753426688225344,100.25499082728567,15.014253036620694,100.94939258154116,14.837630588520328,100.53347159499852
+7458,15.014253036620694,95.3941785474972,16.057558430202093,98.17178556451918,15.788236666773464,97.13949975979976
+7459,15.014253036620694,98.17178556451918,15.535905733411393,99.56058907303017,15.134039571195336,98.50757420997066
+7460,15.014253036620694,99.56058907303017,15.535905733411393,100.94939258154116,15.204268314176169,100.25064741011855
+7461,15.535905733411393,98.17178556451918,16.057558430202093,99.56058907303017,15.988313242917702,99.3516165227904
+7462,15.535905733411393,99.56058907303017,16.057558430202093,100.94939258154116,15.76101452838361,100.17510896813431
+7463,11.884336855876501,100.94939258154116,12.4059895526672,102.33819609005215,12.183191074214456,102.29784759548703
+7464,11.884336855876501,102.33819609005215,12.4059895526672,103.72699959856314,12.326947170904155,102.43158098418093
+7465,12.4059895526672,100.94939258154116,12.66681590106255,101.64379433579666,12.633138136706497,101.36559874163152
+7466,12.4059895526672,101.64379433579666,12.66681590106255,102.33819609005215,12.523299887519906,102.16607897751922
+7467,12.66681590106255,100.94939258154116,12.9276422494579,101.64379433579666,12.754452958160744,101.118674717399
+7468,12.66681590106255,101.64379433579666,12.9276422494579,102.33819609005215,12.77648710723823,101.98868537738296
+7469,12.4059895526672,102.33819609005215,12.9276422494579,103.72699959856314,12.899853052372775,102.37226735669722
+7470,11.884336855876501,103.72699959856314,12.9276422494579,106.5046066155851,11.967477215612309,105.3586848468354
+7471,12.9276422494579,100.94939258154116,13.18846859785325,101.64379433579666,13.082920752757898,101.04644201846936
+7472,13.18846859785325,100.94939258154116,13.4492949462486,101.64379433579666,13.323169159474752,101.06684525386429
+7473,13.18846859785325,101.64379433579666,13.4492949462486,102.33819609005215,13.32048765505077,102.30260957202309
+7474,12.9276422494579,102.33819609005215,13.4492949462486,103.72699959856314,13.082359618125146,102.61684469957272
+7475,13.4492949462486,100.94939258154116,13.970947643039297,102.33819609005215,13.647931977458788,101.38861760451776
+7476,13.4492949462486,102.33819609005215,13.970947643039297,103.72699959856314,13.887047066406407,102.4800928493565
+7477,12.9276422494579,103.72699959856314,13.970947643039297,106.5046066155851,13.402847846266534,103.96256647528695
+7478,11.884336855876501,106.5046066155851,13.970947643039297,112.05982064962905,12.584013372407492,109.05392962349796
+7479,13.970947643039297,100.94939258154116,14.492600339829995,102.33819609005215,14.321499673014944,101.32513933488084
+7480,13.970947643039297,102.33819609005215,14.492600339829995,103.72699959856314,14.279740004679667,102.9587116739231
+7481,14.492600339829995,100.94939258154116,14.753426688225344,101.64379433579666,14.614501831335561,101.36815767567023
+7482,14.492600339829995,101.64379433579666,14.753426688225344,102.33819609005215,14.694157864762062,102.10110685815195
+7483,14.753426688225344,100.94939258154116,15.014253036620694,101.64379433579666,14.855579039592683,101.37339103842872
+7484,14.753426688225344,101.64379433579666,15.014253036620694,102.33819609005215,14.897410683744418,101.99014387631593
+7485,14.492600339829995,102.33819609005215,14.753426688225344,103.03259784430765,14.623981111487872,102.74715437969425
+7486,14.492600339829995,103.03259784430765,14.753426688225344,103.72699959856314,14.608868547539748,103.39574223305632
+7487,14.753426688225344,102.33819609005215,15.014253036620694,103.03259784430765,14.994865979197272,102.75478802784421
+7488,14.753426688225344,103.03259784430765,15.014253036620694,103.72699959856314,14.901166466349821,103.0791151157248
+7489,13.970947643039297,105.11580310707413,14.492600339829995,106.5046066155851,14.117507898406876,105.81135354749125
+7490,14.492600339829995,103.72699959856314,14.753426688225344,104.42140135281863,14.65415706456986,104.10020466057067
+7491,14.492600339829995,104.42140135281863,14.753426688225344,105.11580310707413,14.652880729529196,104.49657369617867
+7492,14.753426688225344,103.72699959856314,15.014253036620694,104.42140135281863,14.865317217227503,104.34223990776007
+7493,14.753426688225344,104.42140135281863,15.014253036620694,105.11580310707413,14.873437661004237,104.70367697520525
+7494,14.492600339829995,105.11580310707413,15.014253036620694,106.5046066155851,14.743636459909851,106.2980602476415
+7495,15.014253036620694,100.94939258154116,15.535905733411393,102.33819609005215,15.210428936222542,101.69750136238856
+7496,15.014253036620694,102.33819609005215,15.535905733411393,103.72699959856314,15.23358492439208,102.65765559666764
+7497,15.535905733411393,100.94939258154116,16.057558430202093,102.33819609005215,15.774406332289157,101.84084190982499
+7498,15.535905733411393,102.33819609005215,16.057558430202093,103.72699959856314,15.871463414953594,102.86611151017024
+7499,15.014253036620694,103.72699959856314,15.275079385016044,104.42140135281863,15.10255314470415,104.26267899879262
+7500,15.014253036620694,104.42140135281863,15.275079385016044,105.11580310707413,15.152859640319473,104.8341384428465
+7501,15.275079385016044,103.72699959856314,15.535905733411393,104.42140135281863,15.395127322465662,104.07565774780387
+7502,15.275079385016044,104.42140135281863,15.535905733411393,105.11580310707413,15.427607648431149,104.51989463369544
+7503,15.014253036620694,105.11580310707413,15.535905733411393,106.5046066155851,15.214758627205244,105.66747901288954
+7504,15.535905733411393,103.72699959856314,16.057558430202093,105.11580310707413,15.825083586534788,104.14150521181973
+7505,15.535905733411393,105.11580310707413,16.057558430202093,106.5046066155851,15.763434774152499,106.3572728447375
+7506,13.970947643039297,106.5046066155851,15.014253036620694,109.28221363260707,14.744127733930942,106.66836990779686
+7507,15.014253036620694,106.5046066155851,15.535905733411393,107.89341012409608,15.101449447469202,106.75768485623601
+7508,15.014253036620694,107.89341012409608,15.535905733411393,109.28221363260707,15.449370491629667,108.55360614502779
+7509,15.535905733411393,106.5046066155851,16.057558430202093,107.89341012409608,15.640254703779183,107.59139009042615
+7510,15.535905733411393,107.89341012409608,15.796732081806743,108.58781187835157,15.739301069967997,108.17021078940398
+7511,15.796732081806743,108.24061100122383,15.927145256004419,108.58781187835157,15.876847496054816,108.33338177440685
+7512,15.927145256004419,107.89341012409608,16.057558430202093,108.24061100122383,16.021453313829646,108.2043397747313
+7513,15.927145256004419,108.24061100122383,16.057558430202093,108.58781187835157,15.989961168170684,108.28092710345004
+7514,16.057558430202093,89.83896451345326,18.14416921736489,95.3941785474972,16.793383187410626,94.64981862157389
+7515,16.057558430202093,95.3941785474972,16.579211126992792,96.7829820560082,16.359779233431848,95.88588008290701
+7516,16.057558430202093,96.7829820560082,16.579211126992792,98.17178556451918,16.459360592290082,97.63676189981622
+7517,16.579211126992792,95.3941785474972,17.10086382378349,96.7829820560082,16.842379609873227,96.14351886053979
+7518,16.579211126992792,96.7829820560082,17.10086382378349,98.17178556451918,16.727999739511034,97.55741564075102
+7519,16.057558430202093,98.17178556451918,16.579211126992792,99.56058907303017,16.460525876665802,99.06211950435106
+7520,16.057558430202093,99.56058907303017,16.579211126992792,100.94939258154116,16.29301546262157,100.11526081059658
+7521,16.579211126992792,98.17178556451918,17.10086382378349,99.56058907303017,16.84648722453484,99.00988033044158
+7522,16.579211126992792,99.56058907303017,16.840037475388144,100.25499082728567,16.74174845309608,100.17336705428478
+7523,16.579211126992792,100.25499082728567,16.840037475388144,100.94939258154116,16.754466928554496,100.4357723319413
+7524,16.840037475388144,99.56058907303017,17.10086382378349,100.25499082728567,17.004400082547647,99.87328724663483
+7525,16.840037475388144,100.25499082728567,17.10086382378349,100.94939258154116,16.929280201110455,100.62953776870427
+7526,17.10086382378349,95.3941785474972,18.14416921736489,98.17178556451918,17.502358613099698,96.71403334469352
+7527,17.10086382378349,98.86618731877468,17.36169017217884,99.56058907303017,17.277012575982145,99.47259039902514
+7528,17.36169017217884,98.86618731877468,17.62251652057419,99.56058907303017,17.502913124871274,99.19867483167687
+7529,17.10086382378349,99.56058907303017,17.36169017217884,100.25499082728567,17.23359355566684,99.77245733270212
+7530,17.10086382378349,100.25499082728567,17.36169017217884,100.94939258154116,17.25561517434279,100.57255126597445
+7531,17.36169017217884,99.56058907303017,17.62251652057419,100.25499082728567,17.49308227519383,99.87460094321874
+7532,17.36169017217884,100.25499082728567,17.62251652057419,100.94939258154116,17.505169813724162,100.790088380085
+7533,17.62251652057419,98.17178556451918,18.14416921736489,99.56058907303017,17.893720992614906,99.0526360274608
+7534,17.62251652057419,99.56058907303017,18.14416921736489,100.94939258154116,17.885353435579923,100.09389143414683
+7535,18.14416921736489,89.83896451345326,20.230780004527688,95.3941785474972,19.818110854137778,94.74256908702236
+7536,18.14416921736489,95.3941785474972,19.18747461094629,98.17178556451918,18.516153924779516,97.35414461263098
+7537,18.14416921736489,98.17178556451918,18.404995565760238,98.86618731877468,18.2520083056176,98.56258758824032
+7538,18.14416921736489,98.86618731877468,18.404995565760238,99.56058907303017,18.28030359471472,99.40096230670632
+7539,18.404995565760238,98.17178556451918,18.66582191415559,98.86618731877468,18.550808888014647,98.67142667073583
+7540,18.404995565760238,98.86618731877468,18.535408739957916,99.21338819590243,18.488985421990737,99.09031008237493
+7541,18.404995565760238,99.21338819590243,18.535408739957916,99.56058907303017,18.47767556684707,99.39396348035157
+7542,18.535408739957916,98.86618731877468,18.66582191415559,99.21338819590243,18.612327973904744,99.02046699997051
+7543,18.535408739957916,99.21338819590243,18.66582191415559,99.56058907303017,18.589395026503873,99.40874538378517
+7544,18.14416921736489,99.56058907303017,18.66582191415559,100.94939258154116,18.39711727049268,100.06265491765313
+7545,18.66582191415559,98.17178556451918,18.92664826255094,98.86618731877468,18.802391443998918,98.73121099419774
+7546,18.66582191415559,98.86618731877468,18.796235088353264,99.21338819590243,18.737437995397638,99.02587818943711
+7547,18.66582191415559,99.21338819590243,18.796235088353264,99.56058907303017,18.752761936576263,99.30611473658878
+7548,18.796235088353264,98.86618731877468,18.92664826255094,99.21338819590243,18.84709632558709,99.03995440519557
+7549,18.796235088353264,99.21338819590243,18.92664826255094,99.56058907303017,18.84242742879558,99.31908627928009
+7550,18.92664826255094,98.17178556451918,19.18747461094629,98.86618731877468,19.034618569417148,98.69262485959514
+7551,18.92664826255094,98.86618731877468,19.057061436748615,99.21338819590243,18.972295485205592,98.98211729465987
+7552,18.92664826255094,99.21338819590243,19.057061436748615,99.56058907303017,18.974402125282616,99.32573314184819
+7553,19.057061436748615,98.86618731877468,19.18747461094629,99.21338819590243,19.113231046058722,98.98313895918996
+7554,19.057061436748615,99.21338819590243,19.18747461094629,99.56058907303017,19.101408632617982,99.38298409176808
+7555,18.66582191415559,99.56058907303017,18.92664826255094,100.25499082728567,18.824098456779137,99.87599718605311
+7556,18.66582191415559,100.25499082728567,18.92664826255094,100.94939258154116,18.849298941761305,100.6648248143651
+7557,18.92664826255094,99.56058907303017,19.18747461094629,100.25499082728567,19.07913985679408,99.89156360248379
+7558,18.92664826255094,100.25499082728567,19.18747461094629,100.94939258154116,19.099742100286853,100.85390576426137
+7559,19.18747461094629,95.3941785474972,20.230780004527688,98.17178556451918,19.947256505336902,96.36028808317585
+7560,19.18747461094629,98.17178556451918,19.448300959341637,98.86618731877468,19.33258921763155,98.59743625291783
+7561,19.18747461094629,98.86618731877468,19.448300959341637,99.56058907303017,19.314963480587718,99.11229800450961
+7562,19.448300959341637,98.17178556451918,19.70912730773699,98.86618731877468,19.538912422018146,98.71292933802222
+7563,19.448300959341637,98.86618731877468,19.70912730773699,99.56058907303017,19.538000609297754,99.193244895223
+7564,19.18747461094629,99.56058907303017,19.70912730773699,100.94939258154116,19.52909377439259,100.25506481142459
+7565,19.70912730773699,98.17178556451918,20.230780004527688,99.56058907303017,19.88229498321161,99.07714285320665
+7566,19.70912730773699,99.56058907303017,19.839540481934662,99.90778995015792,19.782362483045553,99.71233505185691
+7567,19.70912730773699,99.90778995015792,19.839540481934662,100.25499082728567,19.821162412844807,100.02905124969662
+7568,19.839540481934662,99.56058907303017,19.96995365613234,99.90778995015792,19.906968388698356,99.82754290608993
+7569,19.839540481934662,99.90778995015792,19.96995365613234,100.25499082728567,19.88938657517111,100.01358341790562
+7570,19.70912730773699,100.25499082728567,19.96995365613234,100.94939258154116,19.811252715111117,100.40679416950253
+7571,19.96995365613234,99.56058907303017,20.230780004527688,100.25499082728567,20.03064017401435,99.88033302041804
+7572,16.057558430202093,100.94939258154116,16.579211126992792,102.33819609005215,16.38314369651564,101.74459210185728
+7573,16.057558430202093,102.33819609005215,16.31838477859744,103.03259784430765,16.17296361283725,102.75359873829801
+7574,16.057558430202093,103.03259784430765,16.31838477859744,103.72699959856314,16.17151235982333,103.42944960511001
+7575,16.31838477859744,102.33819609005215,16.579211126992792,103.03259784430765,16.43329264127222,102.79092299104299
+7576,16.31838477859744,103.03259784430765,16.579211126992792,103.72699959856314,16.405534724026353,103.26180471189306
+7577,16.579211126992792,100.94939258154116,16.840037475388144,101.64379433579666,16.761798747354895,101.21886718670105
+7578,16.579211126992792,101.64379433579666,16.840037475388144,102.33819609005215,16.628780866493944,101.95494470969363
+7579,16.840037475388144,100.94939258154116,17.10086382378349,101.64379433579666,16.97859729566194,101.29736804722322
+7580,16.840037475388144,101.64379433579666,17.10086382378349,102.33819609005215,16.965840499572,102.27403296016
+7581,16.579211126992792,102.33819609005215,17.10086382378349,103.72699959856314,16.78539991343158,103.10634511453773
+7582,16.057558430202093,103.72699959856314,16.579211126992792,105.11580310707413,16.333498750594284,103.98333006494855
+7583,16.579211126992792,103.72699959856314,17.10086382378349,105.11580310707413,16.851806882282013,104.08185911097048
+7584,16.579211126992792,105.11580310707413,17.10086382378349,106.5046066155851,16.69467771044243,105.41075489545287
+7585,17.10086382378349,100.94939258154116,17.62251652057419,102.33819609005215,17.360734912683785,101.45342751018968
+7586,17.10086382378349,102.33819609005215,17.36169017217884,103.03259784430765,17.2483846205786,102.6997107158093
+7587,17.10086382378349,103.03259784430765,17.36169017217884,103.72699959856314,17.195344930797425,103.0560370767862
+7588,17.36169017217884,102.33819609005215,17.62251652057419,103.03259784430765,17.47645059603106,102.7469441047791
+7589,17.36169017217884,103.03259784430765,17.62251652057419,103.72699959856314,17.48604650218044,103.41588685219716
+7590,17.62251652057419,100.94939258154116,18.14416921736489,102.33819609005215,17.923070462483476,101.70570270176972
+7591,17.62251652057419,102.33819609005215,17.883342868969542,103.03259784430765,17.757906341710658,102.56195685427485
+7592,17.62251652057419,103.03259784430765,17.883342868969542,103.72699959856314,17.69051423278902,103.19157449468854
+7593,17.883342868969542,102.33819609005215,18.14416921736489,103.03259784430765,17.982068074795635,102.63727361989265
+7594,17.883342868969542,103.03259784430765,18.14416921736489,103.72699959856314,18.134890265476,103.043440629635
+7595,17.10086382378349,103.72699959856314,18.14416921736489,106.5046066155851,17.528608374722303,104.46303287110294
+7596,16.057558430202093,106.5046066155851,16.579211126992792,107.89341012409608,16.376857025130217,107.53850788783168
+7597,16.057558430202093,107.89341012409608,16.187971604399767,108.24061100122383,16.08116695633338,108.17482209789961
+7598,16.057558430202093,108.24061100122383,16.187971604399767,108.58781187835157,16.09309112826091,108.26069263718476
+7599,16.187971604399767,107.89341012409608,16.31838477859744,108.24061100122383,16.246065353074655,108.03682752543266
+7600,16.579211126992792,106.5046066155851,17.10086382378349,107.89341012409608,16.841128387541378,107.06598678074637
+7601,17.10086382378349,106.5046066155851,18.14416921736489,109.28221363260707,17.27829568101981,106.67551251192414
+7602,18.14416921736489,100.94939258154116,18.66582191415559,102.33819609005215,18.316613296146635,101.53001823553834
+7603,18.14416921736489,102.33819609005215,18.66582191415559,103.72699959856314,18.468702853541842,103.01521943354265
+7604,18.66582191415559,100.94939258154116,19.18747461094629,102.33819609005215,19.044315099491925,101.37398709586674
+7605,18.66582191415559,102.33819609005215,19.18747461094629,103.72699959856314,18.89676874334805,103.08156503687394
+7606,18.14416921736489,103.72699959856314,19.18747461094629,106.5046066155851,18.382845060964556,104.5647585599728
+7607,19.18747461094629,100.94939258154116,20.230780004527688,103.72699959856314,19.715196838808556,101.82614747658394
+7608,19.18747461094629,103.72699959856314,20.230780004527688,106.5046066155851,19.914863621402066,105.33627870746356
+7609,18.14416921736489,106.5046066155851,20.230780004527688,112.05982064962905,18.47546486680241,109.81240193509298
+7610,11.884336855876501,117.615034683673,13.970947643039297,123.17024871771694,13.493746033356395,121.4459977602767
+7611,13.970947643039297,120.39264170069498,14.231773991434647,121.08704345495048,14.082476005958707,120.96622020152866
+7612,13.970947643039297,121.08704345495048,14.231773991434647,121.78144520920597,14.153535502400361,121.27355560815381
+7613,14.231773991434647,120.73984257782273,14.36218716563232,121.08704345495048,14.312055970255948,120.9593480594356
+7614,14.36218716563232,120.73984257782273,14.492600339829995,121.08704345495048,14.438865758666008,121.00874793613312
+7615,14.231773991434647,121.08704345495048,14.492600339829995,121.78144520920597,14.263516782790646,121.16069185149148
+7616,14.492600339829995,120.73984257782273,14.623013514027669,121.08704345495048,14.571596805728442,121.0273338247382
+7617,14.623013514027669,120.73984257782273,14.753426688225344,121.08704345495048,14.662294910251545,121.01420252128443
+7618,14.492600339829995,121.08704345495048,14.753426688225344,121.78144520920597,14.605583931821185,121.11204993686576
+7619,14.753426688225344,120.39264170069498,15.014253036620694,121.08704345495048,14.943169888486583,120.76189534824682
+7620,14.753426688225344,121.08704345495048,15.014253036620694,121.78144520920597,14.788245160668499,121.14038085413
+7621,15.014253036620694,117.615034683673,16.057558430202093,120.39264170069498,15.90304018095972,120.36762441731933
+7622,15.014253036620694,120.39264170069498,15.144666210818368,120.73984257782273,15.075003201984355,120.62578614803571
+7623,15.014253036620694,120.73984257782273,15.144666210818368,121.08704345495048,15.087163557694106,120.81451453106861
+7624,15.144666210818368,120.39264170069498,15.275079385016044,120.73984257782273,15.170544788268757,120.6350146040627
+7625,15.144666210818368,120.73984257782273,15.275079385016044,121.08704345495048,15.16869138722047,120.83353013333678
+7626,15.014253036620694,121.08704345495048,15.275079385016044,121.78144520920597,15.120590368719,121.13207244993333
+7627,15.275079385016044,120.39264170069498,15.535905733411393,121.08704345495048,15.395633270021857,120.76411177723095
+7628,15.535905733411393,120.39264170069498,16.057558430202093,121.78144520920597,15.834445654174063,121.003356591521
+7629,11.884336855876501,123.17024871771694,16.057558430202093,134.28067678580484,13.162218836701964,123.6970410277553
+7630,16.057558430202093,112.05982064962905,20.230780004527688,123.17024871771694,16.741632897284386,120.80758863836846
+7631,20.230780004527688,89.83896451345326,22.317390791690485,95.3941785474972,21.59348091696763,92.45585795190152
+7632,20.230780004527688,95.3941785474972,21.274085398109086,98.17178556451918,20.70623774829895,96.67005005983016
+7633,20.230780004527688,98.17178556451918,21.274085398109086,100.94939258154116,20.3748157828355,99.94002208773516
+7634,21.274085398109086,95.3941785474972,22.317390791690485,98.17178556451918,21.898888480299703,96.14622667881717
+7635,21.274085398109086,98.17178556451918,22.317390791690485,100.94939258154116,21.545973058743023,99.59475378831027
+7636,22.317390791690485,89.83896451345326,23.360696185271884,92.61657153047523,22.853147851904588,90.9796514377866
+7637,22.317390791690485,92.61657153047523,23.360696185271884,95.3941785474972,22.6425197187518,93.5946840987792
+7638,23.360696185271884,89.83896451345326,23.621522533667232,90.53336626770874,23.46216669820816,90.18893236225404
+7639,23.360696185271884,90.53336626770874,23.621522533667232,91.22776802196424,23.45171116040165,91.05907965942926
+7640,23.621522533667232,90.18616539058101,23.75193570786491,90.53336626770874,23.717713649549584,90.38962557573592
+7641,23.75193570786491,89.83896451345326,23.882348882062583,90.18616539058101,23.803427195213683,90.0378136784861
+7642,23.75193570786491,90.18616539058101,23.882348882062583,90.53336626770874,23.80464007489195,90.37232265073462
+7643,23.621522533667232,90.53336626770874,23.882348882062583,91.22776802196424,23.799191086343864,90.89481441128925
+7644,23.360696185271884,91.22776802196424,23.882348882062583,92.61657153047523,23.46138433901246,91.31506016611837
+7645,23.882348882062583,89.83896451345326,24.404001578853283,91.22776802196424,24.05114980261789,90.62450915895324
+7646,23.882348882062583,91.22776802196424,24.404001578853283,92.61657153047523,24.22112224310848,91.5904469573124
+7647,22.317390791690485,95.3941785474972,24.404001578853283,100.94939258154116,22.92251133589944,97.32680173013507
+7648,20.230780004527688,100.94939258154116,20.752432701318387,102.33819609005215,20.54947686171512,101.51652472731053
+7649,20.752432701318387,100.94939258154116,21.274085398109086,102.33819609005215,21.003099357274692,101.95170506808982
+7650,20.752432701318387,102.33819609005215,21.274085398109086,103.72699959856314,21.10694034707225,102.53570516102852
+7651,20.230780004527688,103.72699959856314,20.752432701318387,105.11580310707413,20.566226292802593,104.0644257584916
+7652,20.230780004527688,105.11580310707413,20.752432701318387,106.5046066155851,20.42053424106775,105.91071190744636
+7653,20.752432701318387,105.11580310707413,20.88284587551606,105.46300398420188,20.756583165866335,105.15175719824333
+7654,20.752432701318387,105.46300398420188,20.88284587551606,105.81020486132962,20.872309113181633,105.78039693139209
+7655,20.88284587551606,105.46300398420188,21.01325904971374,105.81020486132962,20.987732892063605,105.73777678950132
+7656,20.752432701318387,105.81020486132962,20.88284587551606,106.15740573845736,20.869192180541987,105.85780958928093
+7657,20.752432701318387,106.15740573845736,20.88284587551606,106.5046066155851,20.822278913832864,106.47132840545962
+7658,20.88284587551606,105.81020486132962,21.01325904971374,106.15740573845736,20.983100134118338,105.8668071667071
+7659,20.88284587551606,106.15740573845736,21.01325904971374,106.5046066155851,20.96023841877235,106.35480742711471
+7660,21.01325904971374,105.46300398420188,21.143672223911413,105.81020486132962,21.05012693397008,105.77827319669083
+7661,21.143672223911413,105.11580310707413,21.274085398109086,105.46300398420188,21.214444466958,105.3644444557
+7662,21.143672223911413,105.46300398420188,21.274085398109086,105.81020486132962,21.21842569948135,105.69731540812347
+7663,21.01325904971374,105.81020486132962,21.143672223911413,106.15740573845736,21.046816782663008,105.86719459118673
+7664,21.143672223911413,105.81020486132962,21.274085398109086,106.15740573845736,21.203087975657226,105.84816279688862
+7665,21.143672223911413,106.15740573845736,21.274085398109086,106.5046066155851,21.24886538874,106.15960261696
+7666,21.274085398109086,100.94939258154116,22.317390791690485,103.72699959856314,21.588796293875216,102.21088663592089
+7667,21.274085398109086,103.72699959856314,22.317390791690485,106.5046066155851,21.695325769584127,105.0763787773199
+7668,20.230780004527688,106.5046066155851,22.317390791690485,112.05982064962905,21.03625253186199,106.70718925428622
+7669,22.317390791690485,100.94939258154116,24.404001578853283,106.5046066155851,22.581603600603444,104.26512680014017
+7670,22.317390791690485,106.5046066155851,24.404001578853283,112.05982064962905,23.831579971668102,106.70224548630576
+7671,24.404001578853283,89.83896451345326,26.49061236601608,95.3941785474972,24.958157625027777,91.0352702184199
+7672,24.404001578853283,95.3941785474972,26.49061236601608,100.94939258154116,25.75207637162711,100.14680824548665
+7673,26.49061236601608,89.83896451345326,28.577223153178878,95.3941785474972,26.869088878432056,92.20617888253759
+7674,26.49061236601608,95.3941785474972,28.577223153178878,100.94939258154116,27.07083705368976,100.25446624657882
+7675,24.404001578853283,100.94939258154116,26.49061236601608,106.5046066155851,25.227113787500816,105.65655769875833
+7676,24.404001578853283,106.5046066155851,26.49061236601608,112.05982064962905,26.150666612613573,108.81345385954857
+7677,26.49061236601608,100.94939258154116,28.577223153178878,106.5046066155851,27.88916415340023,106.13566398263602
+7678,26.49061236601608,106.5046066155851,28.577223153178878,112.05982064962905,27.991429042927397,107.97323119052845
+7679,21.795738094899786,112.05982064962905,22.317390791690485,113.44862415814003,22.226130916489083,112.32914600080802
+7680,22.056564443295137,113.44862415814003,22.317390791690485,114.14302591239553,22.231767362894864,113.80486434819908
+7681,22.056564443295137,114.14302591239553,22.18697761749281,114.49022678952328,22.165930601572967,114.25534108779966
+7682,22.18697761749281,114.14302591239553,22.317390791690485,114.49022678952328,22.283661717467886,114.19551483586751
+7683,20.230780004527688,117.615034683673,22.317390791690485,123.17024871771694,22.154229375958064,120.82089304064877
+7684,22.317390791690485,112.05982064962905,22.839043488481185,113.44862415814003,22.48854903067611,112.9427085542439
+7685,22.317390791690485,113.44862415814003,22.44780396588816,113.79582503526778,22.362373516447832,113.57146378024
+7686,22.317390791690485,113.79582503526778,22.44780396588816,114.14302591239553,22.389602979401836,114.04813959303193
+7687,22.44780396588816,113.79582503526778,22.578217140085833,114.14302591239553,22.48333711063231,114.0360930666548
+7688,22.317390791690485,114.14302591239553,22.44780396588816,114.49022678952328,22.35538298556142,114.20375551164997
+7689,22.44780396588816,114.14302591239553,22.578217140085833,114.49022678952328,22.465709346684758,114.17381742026117
+7690,22.578217140085833,113.44862415814003,22.839043488481185,114.14302591239553,22.782367302566186,113.59328541484872
+7691,22.839043488481185,112.05982064962905,23.360696185271884,113.44862415814003,23.119153744500164,113.27382380757354
+7692,22.839043488481185,113.44862415814003,23.360696185271884,114.83742766665102,22.923149364089653,113.66582764788738
+7693,22.317390791690485,119.69823994643949,22.578217140085833,120.39264170069498,22.530088130374512,120.35867180530782
+7694,22.578217140085833,119.69823994643949,22.839043488481185,120.39264170069498,22.68101481971325,120.30927014327476
+7695,22.839043488481185,119.69823994643949,23.099869836876536,120.39264170069498,23.003784691198483,120.27154981816386
+7696,23.099869836876536,119.00383819218399,23.360696185271884,119.69823994643949,23.20709569028145,119.43658218769899
+7697,23.099869836876536,119.69823994643949,23.360696185271884,120.39264170069498,23.213654940434065,120.27772458745596
+7698,22.317390791690485,120.39264170069498,22.578217140085833,121.08704345495048,22.449617827407767,120.56682678135802
+7699,22.578217140085833,120.39264170069498,22.839043488481185,121.08704345495048,22.71341362275787,120.62184405400508
+7700,22.578217140085833,121.08704345495048,22.839043488481185,121.78144520920597,22.77980538729382,121.1453881677781
+7701,22.839043488481185,120.39264170069498,23.099869836876536,121.08704345495048,22.96064558135479,120.50051274972023
+7702,22.839043488481185,121.08704345495048,23.099869836876536,121.78144520920597,22.968018921594027,121.16648373919459
+7703,23.099869836876536,120.39264170069498,23.360696185271884,121.08704345495048,23.248921026736486,120.76332561144879
+7704,23.099869836876536,121.08704345495048,23.360696185271884,121.78144520920597,23.178942585530837,121.24636404707199
+7705,23.360696185271884,119.00383819218399,23.621522533667232,119.69823994643949,23.549085149908777,119.57835429954079
+7706,23.360696185271884,119.69823994643949,23.621522533667232,120.39264170069498,23.479434165356746,120.27037741798695
+7707,23.621522533667232,119.00383819218399,23.882348882062583,119.69823994643949,23.65019350256902,119.55576437701465
+7708,23.621522533667232,119.69823994643949,23.882348882062583,120.39264170069498,23.75659517386303,120.26388983383863
+7709,23.882348882062583,119.00383819218399,24.404001578853283,120.39264170069498,23.950078621186368,120.34787986680857
+7710,23.360696185271884,120.39264170069498,23.491109359469558,120.73984257782273,23.449044363477196,120.5334808472255
+7711,23.360696185271884,120.73984257782273,23.491109359469558,121.08704345495048,23.48284591086771,120.80829663644705
+7712,23.491109359469558,120.39264170069498,23.621522533667232,120.73984257782273,23.550297569953567,120.58097047239615
+7713,23.491109359469558,120.73984257782273,23.621522533667232,121.08704345495048,23.502268884072002,120.7980292760935
+7714,23.360696185271884,121.08704345495048,23.621522533667232,121.78144520920597,23.54805554842785,121.3825953010477
+7715,23.621522533667232,120.39264170069498,23.75193570786491,120.73984257782273,23.691906584231358,120.56421480540575
+7716,23.621522533667232,120.73984257782273,23.75193570786491,121.08704345495048,23.689412169967884,120.77970823681265
+7717,23.75193570786491,120.39264170069498,23.882348882062583,120.73984257782273,23.817901441528377,120.60556402713723
+7718,23.75193570786491,120.73984257782273,23.882348882062583,121.08704345495048,23.838380714886558,120.8509880652464
+7719,23.621522533667232,121.08704345495048,23.882348882062583,121.78144520920597,23.737222181320554,121.4850126241069
+7720,23.882348882062583,120.39264170069498,24.012762056260257,120.73984257782273,23.94822367884817,120.59102675215712
+7721,23.882348882062583,120.73984257782273,24.012762056260257,121.08704345495048,23.957729658527356,120.90402011625483
+7722,24.012762056260257,120.39264170069498,24.143175230457935,120.73984257782273,24.087486943870964,120.60555497129585
+7723,24.012762056260257,120.73984257782273,24.143175230457935,121.08704345495048,24.075298166232724,120.83963569961132
+7724,23.882348882062583,121.08704345495048,24.143175230457935,121.78144520920597,23.99012350835366,121.54469211853089
+7725,24.143175230457935,120.39264170069498,24.27358840465561,120.73984257782273,24.19246527276087,120.64413527460843
+7726,24.143175230457935,120.73984257782273,24.27358840465561,121.08704345495048,24.211206891532093,120.829651795427
+7727,24.27358840465561,120.39264170069498,24.404001578853283,120.73984257782273,24.319575301534,120.65352674749003
+7728,24.27358840465561,120.73984257782273,24.404001578853283,121.08704345495048,24.33896177595233,120.84210761183473
+7729,24.143175230457935,121.08704345495048,24.404001578853283,121.78144520920597,24.25716042959179,121.37614911146439
+7730,20.230780004527688,123.17024871771694,24.404001578853283,134.28067678580484,24.36046135587604,124.14646514963292
+7731,24.404001578853283,117.615034683673,25.44730697243468,120.39264170069498,24.53495146680982,118.34305655169254
+7732,24.404001578853283,120.39264170069498,24.534414753050957,120.73984257782273,24.459831610418426,120.68723395266338
+7733,24.404001578853283,120.73984257782273,24.534414753050957,121.08704345495048,24.470120989105244,120.80087314805725
+7734,24.534414753050957,120.39264170069498,24.66482792724863,120.73984257782273,24.568536986036683,120.71385415832997
+7735,24.534414753050957,120.73984257782273,24.66482792724863,121.08704345495048,24.59997807317696,120.88706736952659
+7736,24.404001578853283,121.08704345495048,24.66482792724863,121.78144520920597,24.546902450111276,121.49745273815543
+7737,24.66482792724863,120.73984257782273,24.795241101446308,121.08704345495048,24.74378788779694,120.96077774341529
+7738,24.795241101446308,120.73984257782273,24.925654275643982,121.08704345495048,24.829996681539342,120.99216373346405
+7739,24.66482792724863,121.08704345495048,24.795241101446308,121.43424433207822,24.734234419997062,121.18817319184325
+7740,24.66482792724863,121.43424433207822,24.795241101446308,121.78144520920597,24.718123233339924,121.7293378365218
+7741,24.795241101446308,121.08704345495048,24.925654275643982,121.43424433207822,24.877600619363047,121.26285859688211
+7742,24.795241101446308,121.43424433207822,24.925654275643982,121.78144520920597,24.841297127577008,121.61401747958199
+7743,24.404001578853283,121.78144520920597,24.925654275643982,123.17024871771694,24.703743839696486,121.8200630539481
+7744,24.925654275643982,120.39264170069498,25.186480624039334,121.08704345495048,24.98847509860728,121.04636733749088
+7745,24.925654275643982,121.08704345495048,25.056067449841656,121.43424433207822,24.979630731228198,121.27408552155802
+7746,24.925654275643982,121.43424433207822,25.056067449841656,121.78144520920597,24.997140363547256,121.5470912730743
+7747,25.056067449841656,121.08704345495048,25.186480624039334,121.43424433207822,25.08822796740278,121.28708304855208
+7748,25.056067449841656,121.43424433207822,25.186480624039334,121.78144520920597,25.11503302084048,121.60380390496145
+7749,25.186480624039334,121.08704345495048,25.44730697243468,121.78144520920597,25.23026881479556,121.58208722699834
+7750,24.925654275643982,121.78144520920597,25.44730697243468,123.17024871771694,25.045573723597272,121.8726707879972
+7751,26.49061236601608,112.05982064962905,28.577223153178878,117.615034683673,27.652141405188924,113.8794968955309
+7752,26.49061236601608,117.615034683673,28.577223153178878,123.17024871771694,27.985959711007684,120.6486049484355
+7753,24.404001578853283,123.17024871771694,25.44730697243468,125.94785573473891,24.451893837453742,124.20050872420542
+7754,25.96895966922538,125.94785573473891,26.49061236601608,127.3366592432499,26.22777777777433,127.29333333331333
+7755,25.96895966922538,127.3366592432499,26.099372843423055,127.68386012037764,26.087607698524614,127.66664696536986
+7756,25.96895966922538,127.68386012037764,26.099372843423055,128.0310609975054,26.09387361477747,127.70732371937417
+7757,26.099372843423055,127.3366592432499,26.229786017620732,127.68386012037764,26.16740726926589,127.66943649676253
+7758,26.099372843423055,127.68386012037764,26.229786017620732,128.0310609975054,26.178812701744015,127.73091722991774
+7759,26.229786017620732,127.3366592432499,26.360199191818406,127.68386012037764,26.24033988746337,127.67243316188653
+7760,26.229786017620732,127.68386012037764,26.360199191818406,128.0310609975054,26.29350714499407,127.79067683128658
+7761,26.360199191818406,127.68386012037764,26.49061236601608,128.0310609975054,26.40316271559988,127.79338789403927
+7762,26.49061236601608,123.17024871771694,28.577223153178878,128.7254627517609,26.72133057265442,128.08499819474648
+7763,28.577223153178878,89.83896451345326,36.92366630183007,112.05982064962905,30.546754104290777,104.55537362247983
+7764,28.577223153178878,112.05982064962905,30.663833940341675,117.615034683673,30.50758307778087,114.4225422230411
+7765,28.577223153178878,117.615034683673,30.663833940341675,123.17024871771694,29.914158863627144,120.00568487552924
+7766,30.663833940341675,112.05982064962905,32.75044472750447,117.615034683673,31.04362365583444,114.37798061768369
+7767,30.663833940341675,117.615034683673,32.75044472750447,123.17024871771694,31.220687876357403,121.49204394381383
+7768,28.577223153178878,128.7254627517609,30.663833940341675,134.28067678580484,30.373092641038717,130.5138019175417
+7769,30.663833940341675,128.7254627517609,31.707139333923074,131.50306976878286,31.590274793276183,130.77118523765924
+7770,31.707139333923074,130.11426626027188,31.83755250812075,130.4614671373996,31.786192842207676,130.3808162159415
+7771,31.707139333923074,130.4614671373996,31.83755250812075,130.80866801452737,31.778369344437237,130.66265446447701
+7772,31.83755250812075,130.11426626027188,31.967965682318425,130.4614671373996,31.867390925741446,130.31743828289262
+7773,31.83755250812075,130.4614671373996,31.967965682318425,130.80866801452737,31.913180639841205,130.7187997667298
+7774,31.707139333923074,130.80866801452737,31.967965682318425,131.50306976878286,31.851208024074097,131.33813872155113
+7775,31.967965682318425,130.11426626027188,32.22879203071378,130.80866801452737,32.100448505711746,130.53419894263592
+7776,31.967965682318425,130.80866801452737,32.22879203071378,131.50306976878286,32.04382755916736,131.28468715084722
+7777,32.22879203071378,128.7254627517609,32.75044472750447,130.11426626027188,32.702360473914084,129.79146705449045
+7778,32.22879203071378,130.11426626027188,32.489618379109125,130.80866801452737,32.35968467908049,130.5065182358346
+7779,32.22879203071378,130.80866801452737,32.489618379109125,131.50306976878286,32.38255068478075,130.84954207113566
+7780,32.489618379109125,130.11426626027188,32.6200315533068,130.4614671373996,32.531573099755654,130.40230214817547
+7781,32.489618379109125,130.4614671373996,32.6200315533068,130.80866801452737,32.561525971924716,130.66645404057243
+7782,32.6200315533068,130.11426626027188,32.75044472750447,130.4614671373996,32.68332443271131,130.2898966473451
+7783,32.6200315533068,130.4614671373996,32.75044472750447,130.80866801452737,32.68708619755997,130.69406064017195
+7784,32.489618379109125,130.80866801452737,32.75044472750447,131.50306976878286,32.62177436634688,130.96217022040275
+7785,31.707139333923074,131.50306976878286,32.75044472750447,134.28067678580484,32.44825818925026,131.64437351833396
+7786,32.75044472750447,112.05982064962905,36.92366630183007,123.17024871771694,35.79433636073297,115.07776700470048
+7787,32.75044472750447,123.17024871771694,34.83705551466727,128.7254627517609,33.58633448018901,126.9325587606824
+7788,32.75044472750447,129.41986450601638,32.88085790170214,129.76706538314414,32.84762278558596,129.71637076323591
+7789,32.75044472750447,129.76706538314414,32.88085790170214,130.11426626027188,32.805900146393554,129.90675865246334
+7790,32.88085790170214,129.41986450601638,33.01127107589982,129.76706538314414,32.97736039665124,129.69373835455508
+7791,32.88085790170214,129.76706538314414,33.01127107589982,130.11426626027188,32.943208756394796,129.84934839967158
+7792,33.01127107589982,128.7254627517609,33.27209742429517,129.41986450601638,33.18707504125925,129.343815416405
+7793,33.01127107589982,129.41986450601638,33.1416842500975,129.76706538314414,33.039549913314865,129.69296118454807
+7794,33.01127107589982,129.76706538314414,33.1416842500975,130.11426626027188,33.10178685955621,129.96583835799692
+7795,33.1416842500975,129.41986450601638,33.27209742429517,129.76706538314414,33.17813325353794,129.72015313295046
+7796,33.1416842500975,129.76706538314414,33.27209742429517,130.11426626027188,33.203800541308695,129.96872741202415
+7797,32.75044472750447,130.11426626027188,33.01127107589982,130.80866801452737,32.81433266010179,130.52246943623777
+7798,32.75044472750447,130.80866801452737,33.01127107589982,131.50306976878286,32.89669191555469,131.00177466959556
+7799,33.01127107589982,130.11426626027188,33.1416842500975,130.4614671373996,33.13926915120609,130.13790615688092
+7800,33.01127107589982,130.4614671373996,33.1416842500975,130.80866801452737,33.08873297244276,130.5413274847339
+7801,33.1416842500975,130.11426626027188,33.27209742429517,130.4614671373996,33.22086732332055,130.25011246094118
+7802,33.1416842500975,130.4614671373996,33.27209742429517,130.80866801452737,33.223576843392706,130.5261893494412
+7803,33.01127107589982,130.80866801452737,33.27209742429517,131.50306976878286,33.15212274409993,131.1532739407183
+7804,33.27209742429517,128.7254627517609,33.79375012108587,130.11426626027188,33.347159724336095,129.96582005838238
+7805,33.27209742429517,130.11426626027188,33.53292377269052,130.80866801452737,33.36317188980746,130.34318643880883
+7806,33.27209742429517,130.80866801452737,33.53292377269052,131.50306976878286,33.376254821543974,131.40388432332952
+7807,33.53292377269052,130.11426626027188,33.79375012108587,130.80866801452737,33.61569746630538,130.4200335610987
+7808,33.53292377269052,130.80866801452737,33.79375012108587,131.50306976878286,33.63190088833634,131.12195801901737
+7809,32.75044472750447,131.50306976878286,33.01127107589982,132.19747152303836,32.92805141094655,131.82675787785388
+7810,32.75044472750447,132.19747152303836,33.01127107589982,132.89187327729385,32.92220414718707,132.70329659658464
+7811,33.01127107589982,131.50306976878286,33.27209742429517,132.19747152303836,33.146055633047446,131.63498988914694
+7812,33.01127107589982,132.19747152303836,33.27209742429517,132.89187327729385,33.260683828972255,132.54216584854862
+7813,32.75044472750447,132.89187327729385,33.27209742429517,134.28067678580484,33.05551904967564,133.0493517999913
+7814,33.27209742429517,131.50306976878286,33.79375012108587,132.89187327729385,33.52944769497656,132.41626508424756
+7815,33.27209742429517,132.89187327729385,33.79375012108587,134.28067678580484,33.62458315376899,133.48983537144443
+7816,33.79375012108587,130.11426626027188,34.315402817876574,131.50306976878286,33.995572188305964,131.0773883134353
+7817,34.315402817876574,130.11426626027188,34.83705551466727,131.50306976878286,34.40164014001331,131.31621701896276
+7818,33.79375012108587,131.50306976878286,34.05457646948122,132.19747152303836,34.038395923663785,131.85812726162396
+7819,33.79375012108587,132.19747152303836,34.05457646948122,132.89187327729385,33.86537418325486,132.7639884724674
+7820,34.05457646948122,131.50306976878286,34.315402817876574,132.19747152303836,34.09281009555595,131.88264080490964
+7821,34.05457646948122,132.19747152303836,34.315402817876574,132.89187327729385,34.26599542020125,132.302127477879
+7822,33.79375012108587,132.89187327729385,33.92416329528355,133.2390741544216,33.892874495046634,133.12955224689776
+7823,33.79375012108587,133.2390741544216,33.92416329528355,133.58627503154935,33.88837844975897,133.29027512815352
+7824,33.92416329528355,132.89187327729385,34.05457646948122,133.2390741544216,33.99564324395597,133.01372013716087
+7825,33.92416329528355,133.2390741544216,34.05457646948122,133.58627503154935,33.96485054030151,133.43676565813627
+7826,33.79375012108587,133.58627503154935,34.05457646948122,134.28067678580484,33.959248312677424,133.87864227972554
+7827,34.05457646948122,132.89187327729385,34.315402817876574,133.58627503154935,34.13059445029768,133.01871799142933
+7828,34.05457646948122,133.58627503154935,34.315402817876574,134.28067678580484,34.13775324643736,134.0419947433919
+7829,34.315402817876574,131.50306976878286,34.83705551466727,132.89187327729385,34.52936174107215,132.26650646744784
+7830,34.315402817876574,132.89187327729385,34.83705551466727,134.28067678580484,34.559555674845136,133.69565645194191
+7831,34.83705551466727,125.94785573473891,35.88036090824867,128.7254627517609,35.784615613552965,128.49330615815464
+7832,35.88036090824867,125.94785573473891,36.40201360503937,127.3366592432499,36.19698229157156,127.16493213294535
+7833,35.88036090824867,127.3366592432499,36.40201360503937,128.7254627517609,36.22996421702,127.78382013228274
+7834,36.40201360503937,125.94785573473891,36.92366630183007,127.3366592432499,36.688725162967046,126.91483606190044
+7835,36.40201360503937,127.3366592432499,36.92366630183007,128.7254627517609,36.51452655276831,127.47814728903577
+7836,34.83705551466727,128.7254627517609,35.88036090824867,131.50306976878286,35.641353462791955,128.94791389283347
+7837,34.83705551466727,131.50306976878286,35.358708211457966,132.89187327729385,35.15482984635681,132.44618214251824
+7838,34.83705551466727,132.89187327729385,35.09788186306262,133.58627503154935,34.92806352232081,133.34743750832135
+7839,34.83705551466727,133.58627503154935,35.09788186306262,134.28067678580484,35.0338139056778,133.92575786578504
+7840,35.09788186306262,132.89187327729385,35.358708211457966,133.58627503154935,35.26715269874545,133.49433187118044
+7841,35.09788186306262,133.58627503154935,35.358708211457966,134.28067678580484,35.303314963343155,133.89276185842346
+7842,35.358708211457966,131.50306976878286,35.88036090824867,132.89187327729385,35.3983179429053,132.78727617379892
+7843,35.358708211457966,132.89187327729385,35.61953455985332,133.58627503154935,35.451728940811265,133.31445517328132
+7844,35.358708211457966,133.58627503154935,35.61953455985332,134.28067678580484,35.46658375459387,134.04843520205054
+7845,35.88036090824867,128.7254627517609,36.92366630183007,131.50306976878286,35.99706827386433,129.2626027648275
+7846,36.92366630183007,89.83896451345326,45.27010945048125,112.05982064962905,38.09792294412549,101.38698658251336
+7847,36.92366630183007,112.05982064962905,39.010277088992865,117.615034683673,37.745341967621464,112.63818543195734
+7848,36.92366630183007,117.615034683673,39.010277088992865,123.17024871771694,37.5227900216143,121.35468939104246
+7849,39.010277088992865,116.22623117516201,39.53192978578356,117.615034683673,39.13050422233041,117.17871511135588
+7850,39.53192978578356,114.83742766665102,40.053582482574264,116.22623117516201,39.94733510433455,116.09090325184955
+7851,39.53192978578356,116.22623117516201,39.792756134178916,116.92063292941751,39.73109866559301,116.44184372199234
+7852,39.53192978578356,116.92063292941751,39.792756134178916,117.615034683673,39.75670496941634,116.99853931540446
+7853,39.792756134178916,116.22623117516201,39.923169308376586,116.57343205228976,39.86047741130153,116.43244453001644
+7854,39.792756134178916,116.57343205228976,39.923169308376586,116.92063292941751,39.81050539491355,116.82182853866635
+7855,39.923169308376586,116.22623117516201,40.053582482574264,116.57343205228976,39.96035721325424,116.31850724809452
+7856,39.792756134178916,116.92063292941751,40.053582482574264,117.615034683673,39.796757934947834,116.94075930169834
+7857,40.053582482574264,114.83742766665102,41.09688787615566,117.615034683673,40.39347338638441,116.06777730439049
+7858,36.92366630183007,123.17024871771694,41.09688787615566,134.28067678580484,37.47249415664275,126.9488107570436
+7859,41.09688787615566,112.05982064962905,45.27010945048125,123.17024871771694,45.1019725,120.172861666665
+7860,41.09688787615566,128.7254627517609,43.18349866331846,134.28067678580484,43.06860813606505,131.90253539315185
+7861,43.18349866331846,131.50306976878286,43.705151360109156,132.89187327729385,43.25754619384946,132.01594090501155
+7862,43.705151360109156,131.50306976878286,43.965977708504504,132.19747152303836,43.8267811337342,131.965660549718
+7863,43.705151360109156,132.19747152303836,43.965977708504504,132.89187327729385,43.955833622052054,132.47341558191792
+7864,43.965977708504504,131.50306976878286,44.22680405689985,132.19747152303836,44.025839972618215,132.16854374155085
+7865,43.965977708504504,132.19747152303836,44.09639088270218,132.54467240016612,44.06142349244739,132.48086267363803
+7866,43.965977708504504,132.54467240016612,44.09639088270218,132.89187327729385,44.07652787737485,132.59710361818443
+7867,44.09639088270218,132.19747152303836,44.22680405689985,132.54467240016612,44.17667713679677,132.440596868824
+7868,44.09639088270218,132.54467240016612,44.22680405689985,132.89187327729385,44.156455964166305,132.7384977387038
+7869,43.705151360109156,132.89187327729385,44.22680405689985,134.28067678580484,44.20192944668729,133.32908462330195
+7870,44.22680405689985,131.50306976878286,44.74845675369055,132.89187327729385,44.34063676330552,132.52585259616703
+7871,44.22680405689985,132.89187327729385,44.4876304052952,133.58627503154935,44.326155741466714,133.45392885049873
+7872,44.22680405689985,133.58627503154935,44.4876304052952,134.28067678580484,44.397407695096064,133.59966832023315
+7873,44.4876304052952,132.89187327729385,44.74845675369055,133.58627503154935,44.52001445003822,133.58368313845887
+7874,44.4876304052952,133.58627503154935,44.74845675369055,134.28067678580484,44.6496280886048,133.6281262295556
+7875,44.74845675369055,132.89187327729385,45.27010945048125,134.28067678580484,44.801321785006365,133.6029269205553
+7876,33.27209742429517,134.28067678580484,33.79375012108587,135.6694802943158,33.684685480580235,135.29640217933726
+7877,33.27209742429517,135.6694802943158,33.79375012108587,137.0582838028268,33.626970716979365,135.90538019135147
+7878,33.79375012108587,134.28067678580484,34.05457646948122,134.97507854006034,33.93383064771219,134.52635411195408
+7879,33.79375012108587,134.97507854006034,34.05457646948122,135.6694802943158,33.907858062407776,135.24794420689807
+7880,34.05457646948122,134.28067678580484,34.1849896436789,134.62787766293258,34.104196124916974,134.43278572024022
+7881,34.1849896436789,134.28067678580484,34.315402817876574,134.62787766293258,34.213507566752824,134.4720091582243
+7882,34.1849896436789,134.62787766293258,34.315402817876574,134.97507854006034,34.26636990380497,134.6951373535591
+7883,34.05457646948122,134.97507854006034,34.315402817876574,135.6694802943158,34.21619399765547,135.3489775708194
+7884,33.79375012108587,135.6694802943158,34.315402817876574,137.0582838028268,34.03894398617994,136.13092744784734
+7885,34.315402817876574,134.28067678580484,34.57622916627192,134.97507854006034,34.42291271971633,134.73708947721687
+7886,34.315402817876574,134.97507854006034,34.57622916627192,135.6694802943158,34.478159860858675,135.47779558511604
+7887,34.57622916627192,134.62787766293258,34.7066423404696,134.97507854006034,34.674479311944005,134.9247502134775
+7888,34.7066423404696,134.28067678580484,34.83705551466727,134.62787766293258,34.7914619608299,134.46403187867355
+7889,34.7066423404696,134.62787766293258,34.83705551466727,134.97507854006034,34.77260399864205,134.83365296281087
+7890,34.57622916627192,134.97507854006034,34.7066423404696,135.32227941718807,34.66169249273272,135.10543404803045
+7891,34.57622916627192,135.32227941718807,34.7066423404696,135.6694802943158,34.6540042117339,135.5376460725121
+7892,34.7066423404696,134.97507854006034,34.83705551466727,135.32227941718807,34.76799302873366,135.21742048289278
+7893,34.7066423404696,135.32227941718807,34.83705551466727,135.6694802943158,34.774165269466735,135.4611391196114
+7894,34.315402817876574,135.6694802943158,34.57622916627192,136.3638820485713,34.462702118407634,135.84230244913275
+7895,34.315402817876574,136.3638820485713,34.57622916627192,137.0582838028268,34.44853499439997,136.77206938508647
+7896,34.57622916627192,135.6694802943158,34.7066423404696,136.01668117144357,34.67121888027235,135.77018456615073
+7897,34.57622916627192,136.01668117144357,34.7066423404696,136.3638820485713,34.676426709694724,136.0624140397453
+7898,34.7066423404696,135.6694802943158,34.83705551466727,136.01668117144357,34.77061224413023,135.81919849681606
+7899,34.7066423404696,136.01668117144357,34.83705551466727,136.3638820485713,34.763939107415894,136.12847317467288
+7900,34.57622916627192,136.3638820485713,34.83705551466727,137.0582838028268,34.68651720811126,136.73788919465125
+7901,33.79375012108587,138.44708731133778,34.315402817876574,139.83589081984877,34.08401413502273,139.50604840667884
+7902,34.57622916627192,137.0582838028268,34.7066423404696,137.40548467995455,34.662840075992584,137.26136546763408
+7903,34.57622916627192,137.40548467995455,34.7066423404696,137.7526855570823,34.68801457017912,137.62460038640037
+7904,34.7066423404696,137.0582838028268,34.83705551466727,137.40548467995455,34.77582654626655,137.32320047320445
+7905,34.7066423404696,137.40548467995455,34.83705551466727,137.7526855570823,34.75705185217712,137.6122436933109
+7906,34.57622916627192,137.7526855570823,34.7066423404696,138.09988643421002,34.686765005454674,137.94710634240775
+7907,34.57622916627192,138.09988643421002,34.7066423404696,138.44708731133778,34.646942896924344,138.18599965988616
+7908,34.7066423404696,137.7526855570823,34.83705551466727,138.09988643421002,34.774228863702504,137.95760618904092
+7909,34.7066423404696,138.09988643421002,34.83705551466727,138.44708731133778,34.78718618393735,138.21342798459477
+7910,34.315402817876574,138.44708731133778,34.83705551466727,139.83589081984877,34.633589600935665,139.0206427325246
+7911,34.83705551466727,134.28067678580484,35.09788186306262,134.97507854006034,34.94143129608208,134.6846289013968
+7912,34.83705551466727,134.97507854006034,34.96746868886494,135.32227941718807,34.887836677430556,135.15457473035235
+7913,34.83705551466727,135.32227941718807,34.96746868886494,135.6694802943158,34.89808592092184,135.53646103919468
+7914,34.96746868886494,134.97507854006034,35.09788186306262,135.32227941718807,35.05596687675992,135.1612985075027
+7915,34.96746868886494,135.32227941718807,35.09788186306262,135.6694802943158,35.03415157883307,135.53806336883463
+7916,35.09788186306262,134.28067678580484,35.358708211457966,134.97507854006034,35.247027484607884,134.75927315249993
+7917,35.09788186306262,134.97507854006034,35.228295037260295,135.32227941718807,35.17502029935109,135.15318824594405
+7918,35.09788186306262,135.32227941718807,35.228295037260295,135.6694802943158,35.15643689379807,135.48517453209507
+7919,35.228295037260295,134.97507854006034,35.358708211457966,135.32227941718807,35.29941776332231,135.1922278422851
+7920,35.228295037260295,135.32227941718807,35.358708211457966,135.6694802943158,35.28824185773641,135.46795907592724
+7921,34.83705551466727,135.6694802943158,34.96746868886494,136.01668117144357,34.90876711638769,135.76545246444098
+7922,34.83705551466727,136.01668117144357,34.96746868886494,136.3638820485713,34.911765937822416,136.17692988042091
+7923,34.96746868886494,135.6694802943158,35.09788186306262,136.01668117144357,35.016772572395666,135.78166300058254
+7924,34.96746868886494,136.01668117144357,35.09788186306262,136.3638820485713,35.0418339596365,136.16130945175
+7925,34.83705551466727,136.3638820485713,35.09788186306262,137.0582838028268,34.967766328739174,136.70732922601943
+7926,35.09788186306262,135.6694802943158,35.358708211457966,136.3638820485713,35.204953912275535,135.94882706971183
+7927,35.09788186306262,136.3638820485713,35.228295037260295,136.71108292569903,35.14198775737898,136.57342917394539
+7928,35.09788186306262,136.71108292569903,35.228295037260295,137.0582838028268,35.17692215584509,136.8812685994772
+7929,35.228295037260295,136.3638820485713,35.358708211457966,136.71108292569903,35.32580081757187,136.54955751284066
+7930,35.228295037260295,136.71108292569903,35.358708211457966,137.0582838028268,35.271725272625254,136.9079271598744
+7931,35.358708211457966,134.28067678580484,35.48912138565564,134.62787766293258,35.41726719156885,134.48727336417963
+7932,35.358708211457966,134.62787766293258,35.48912138565564,134.97507854006034,35.43099595399056,134.79457740727173
+7933,35.48912138565564,134.28067678580484,35.61953455985332,134.62787766293258,35.57334419369834,134.43722417902933
+7934,35.48912138565564,134.62787766293258,35.61953455985332,134.97507854006034,35.56023305226303,134.83400795194058
+7935,35.358708211457966,134.97507854006034,35.48912138565564,135.32227941718807,35.41310973454893,135.1871419635254
+7936,35.358708211457966,135.32227941718807,35.48912138565564,135.6694802943158,35.430592519105446,135.43265234234684
+7937,35.48912138565564,134.97507854006034,35.61953455985332,135.32227941718807,35.56472468752832,135.1254800493285
+7938,35.48912138565564,135.32227941718807,35.61953455985332,135.6694802943158,35.53568025212023,135.40835355822495
+7939,35.61953455985332,134.28067678580484,35.88036090824867,134.97507854006034,35.63971049158747,134.8218518310155
+7940,35.61953455985332,134.97507854006034,35.74994773405099,135.32227941718807,35.68634532640332,135.138622534321
+7941,35.74994773405099,134.97507854006034,35.88036090824867,135.32227941718807,35.7619961256198,135.2095205125035
+7942,35.358708211457966,135.6694802943158,35.61953455985332,136.3638820485713,35.47493748024723,135.9957181343674
+7943,35.358708211457966,136.3638820485713,35.61953455985332,137.0582838028268,35.42928790092548,136.70574745769565
+7944,35.61953455985332,135.6694802943158,35.88036090824867,136.3638820485713,35.75839126550906,136.1130227212805
+7945,35.61953455985332,136.3638820485713,35.88036090824867,137.0582838028268,35.75553920671228,136.64625911940877
+7946,34.83705551466727,137.0582838028268,35.09788186306262,137.7526855570823,34.93567344037078,137.23490472277555
+7947,34.83705551466727,137.7526855570823,34.96746868886494,138.09988643421002,34.86159305432869,137.96928539136843
+7948,34.83705551466727,138.09988643421002,34.96746868886494,138.44708731133778,34.89786260213148,138.27207810891247
+7949,34.96746868886494,137.7526855570823,35.09788186306262,138.09988643421002,35.06215260014086,137.94962570687733
+7950,34.96746868886494,138.09988643421002,35.09788186306262,138.44708731133778,35.01155087783016,138.35221008177461
+7951,35.09788186306262,137.0582838028268,35.358708211457966,137.7526855570823,35.2777007610748,137.3039675512418
+7952,35.09788186306262,137.7526855570823,35.358708211457966,138.44708731133778,35.22872979006176,138.27544582838874
+7953,34.83705551466727,138.44708731133778,34.96746868886494,138.79428818846554,34.903438393902256,138.72229626082435
+7954,34.83705551466727,138.79428818846554,34.96746868886494,139.14148906559328,34.917869015990426,138.98805672791508
+7955,34.96746868886494,138.44708731133778,35.09788186306262,138.79428818846554,35.027896162368194,138.50361694635592
+7956,34.96746868886494,138.79428818846554,35.09788186306262,139.14148906559328,35.032626863268945,138.94213177552413
+7957,34.83705551466727,139.14148906559328,35.09788186306262,139.83589081984877,34.98333466075804,139.81336944254784
+7958,35.09788186306262,138.44708731133778,35.228295037260295,138.79428818846554,35.17172747363648,138.62961458307524
+7959,35.09788186306262,138.79428818846554,35.228295037260295,139.14148906559328,35.15460694119469,138.95238222184713
+7960,35.228295037260295,138.44708731133778,35.358708211457966,138.79428818846554,35.281925324526725,138.58383205505172
+7961,35.228295037260295,138.79428818846554,35.358708211457966,139.14148906559328,35.29352149760281,138.96828820741115
+7962,35.09788186306262,139.14148906559328,35.228295037260295,139.488689942721,35.15489971417671,139.14836817291126
+7963,35.09788186306262,139.488689942721,35.228295037260295,139.83589081984877,35.18040431588548,139.68243044001048
+7964,35.228295037260295,139.14148906559328,35.358708211457966,139.488689942721,35.325689302739754,139.3272175750038
+7965,35.228295037260295,139.488689942721,35.358708211457966,139.83589081984877,35.3047143948033,139.6025092484834
+7966,35.358708211457966,137.0582838028268,35.61953455985332,137.7526855570823,35.50007917491834,137.37419921441742
+7967,35.358708211457966,137.7526855570823,35.61953455985332,138.44708731133778,35.447085844961244,138.26233807034194
+7968,35.61953455985332,137.0582838028268,35.88036090824867,137.7526855570823,35.75262239192581,137.47673622428428
+7969,35.61953455985332,137.7526855570823,35.88036090824867,138.44708731133778,35.81624495079925,138.27509925892747
+7970,35.358708211457966,138.44708731133778,35.48912138565564,138.79428818846554,35.428508901670504,138.60743374953162
+7971,35.358708211457966,138.79428818846554,35.48912138565564,139.14148906559328,35.41327630318245,138.897949685062
+7972,35.48912138565564,138.44708731133778,35.61953455985332,138.79428818846554,35.54716634136591,138.63707215338454
+7973,35.48912138565564,138.79428818846554,35.61953455985332,139.14148906559328,35.56995395467936,138.97741853805954
+7974,35.358708211457966,139.14148906559328,35.48912138565564,139.488689942721,35.42250110544017,139.36689651822672
+7975,35.358708211457966,139.488689942721,35.48912138565564,139.83589081984877,35.428918611342326,139.59011927630658
+7976,35.48912138565564,139.14148906559328,35.61953455985332,139.488689942721,35.549217468782984,139.35412697795195
+7977,35.48912138565564,139.488689942721,35.61953455985332,139.83589081984877,35.54538192746489,139.63269790059934
+7978,35.61953455985332,138.44708731133778,35.74994773405099,138.79428818846554,35.67608095463137,138.60577495856546
+7979,35.61953455985332,138.79428818846554,35.74994773405099,139.14148906559328,35.689568043904416,139.0270516759109
+7980,35.74994773405099,138.44708731133778,35.88036090824867,138.79428818846554,35.816130206466354,138.63011183626077
+7981,35.74994773405099,138.79428818846554,35.88036090824867,139.14148906559328,35.7807155529401,138.96067482461314
+7982,35.61953455985332,139.14148906559328,35.74994773405099,139.488689942721,35.67863631065572,139.36689138878538
+7983,35.61953455985332,139.488689942721,35.74994773405099,139.83589081984877,35.68510061041668,139.66284570136523
+7984,35.74994773405099,139.14148906559328,35.88036090824867,139.488689942721,35.810396441643114,139.3627883154908
+7985,35.74994773405099,139.488689942721,35.88036090824867,139.83589081984877,35.812906027596085,139.63581134419778
+7986,35.88036090824867,135.6694802943158,36.14118725664402,136.3638820485713,36.017301840008706,136.20391221191946
+7987,35.88036090824867,136.3638820485713,36.14118725664402,137.0582838028268,35.97763863099207,136.5903075650291
+7988,36.14118725664402,135.6694802943158,36.40201360503937,136.3638820485713,36.23689435916043,136.29211981947913
+7989,36.14118725664402,136.3638820485713,36.40201360503937,137.0582838028268,36.30152207889094,136.55008297431516
+7990,36.40201360503937,136.3638820485713,36.66283995343472,137.0582838028268,36.55831661527702,136.72867855193533
+7991,36.66283995343472,136.3638820485713,36.92366630183007,137.0582838028268,36.80232526481475,136.92155971907036
+7992,35.88036090824867,137.0582838028268,36.14118725664402,137.7526855570823,36.04668026084437,137.43587100345823
+7993,35.88036090824867,137.7526855570823,36.010774082446346,138.09988643421002,35.951774118609,137.84065117473693
+7994,35.88036090824867,138.09988643421002,36.010774082446346,138.44708731133778,35.9312053990287,138.3253571904589
+7995,36.010774082446346,137.7526855570823,36.14118725664402,138.09988643421002,36.083202558051795,137.9995157180783
+7996,36.010774082446346,138.09988643421002,36.14118725664402,138.44708731133778,36.074058467943594,138.2434165418627
+7997,36.14118725664402,137.0582838028268,36.40201360503937,137.7526855570823,36.25258317080197,137.3074066117478
+7998,36.14118725664402,137.7526855570823,36.271600430841694,138.09988643421002,36.20484800616942,137.9532668770651
+7999,36.14118725664402,138.09988643421002,36.271600430841694,138.44708731133778,36.214255027010644,138.28209687769404
+8000,36.271600430841694,137.7526855570823,36.40201360503937,138.09988643421002,36.331858472342724,137.91650349299422
+8001,36.271600430841694,138.09988643421002,36.40201360503937,138.44708731133778,36.337552300032776,138.38534605535506
+8002,35.88036090824867,138.44708731133778,36.010774082446346,138.79428818846554,35.93240522527056,138.49499923087672
+8003,35.88036090824867,138.79428818846554,36.010774082446346,139.14148906559328,35.95668341524677,139.04376713762343
+8004,36.010774082446346,138.44708731133778,36.14118725664402,138.79428818846554,36.08024175875243,138.58246151527925
+8005,36.010774082446346,138.79428818846554,36.14118725664402,139.14148906559328,36.05324785842928,138.99922077513133
+8006,35.88036090824867,139.14148906559328,36.010774082446346,139.488689942721,35.94042499949543,139.3737648174242
+8007,35.88036090824867,139.488689942721,36.010774082446346,139.83589081984877,35.934303485637884,139.64446083930133
+8008,36.010774082446346,139.14148906559328,36.14118725664402,139.488689942721,36.07834795704826,139.31852201409455
+8009,36.010774082446346,139.488689942721,36.14118725664402,139.83589081984877,36.077589617510725,139.6812294698487
+8010,36.14118725664402,138.44708731133778,36.271600430841694,138.79428818846554,36.19985091233834,138.55911298813874
+8011,36.14118725664402,138.79428818846554,36.271600430841694,139.14148906559328,36.240321902858156,138.9978428606701
+8012,36.271600430841694,138.44708731133778,36.40201360503937,138.79428818846554,36.33165818705638,138.56007216325975
+8013,36.271600430841694,138.79428818846554,36.40201360503937,139.14148906559328,36.34946382864332,138.9982761476075
+8014,36.14118725664402,139.14148906559328,36.271600430841694,139.488689942721,36.201445735711715,139.2878009645721
+8015,36.14118725664402,139.488689942721,36.271600430841694,139.83589081984877,36.20982103086142,139.66715966432182
+8016,36.271600430841694,139.14148906559328,36.40201360503937,139.488689942721,36.32950653833498,139.32407601000662
+8017,36.271600430841694,139.488689942721,36.40201360503937,139.83589081984877,36.332185987972935,139.66898818983378
+8018,36.40201360503937,137.0582838028268,36.66283995343472,137.7526855570823,36.5793514615449,137.26481372912397
+8019,36.40201360503937,137.7526855570823,36.53242677923704,138.09988643421002,36.48801424860683,137.91494413823906
+8020,36.40201360503937,138.09988643421002,36.53242677923704,138.44708731133778,36.46487786371418,138.26461202026255
+8021,36.53242677923704,137.7526855570823,36.66283995343472,138.09988643421002,36.59635871228518,137.94401559529967
+8022,36.53242677923704,138.09988643421002,36.66283995343472,138.44708731133778,36.60358109947813,138.17976451964896
+8023,36.66283995343472,137.0582838028268,36.92366630183007,137.7526855570823,36.74639468757907,137.2816549980531
+8024,36.66283995343472,137.7526855570823,36.7932531276324,138.09988643421002,36.72435107028175,137.91214831335802
+8025,36.66283995343472,138.09988643421002,36.7932531276324,138.44708731133778,36.72983901785647,138.28480382670477
+8026,36.7932531276324,137.7526855570823,36.92366630183007,138.09988643421002,36.88275639059403,137.8781174275226
+8027,36.7932531276324,138.09988643421002,36.92366630183007,138.44708731133778,36.85121976599394,138.3295512260318
+8028,36.40201360503937,138.44708731133778,36.53242677923704,138.79428818846554,36.48038394441736,138.60806017797157
+8029,36.40201360503937,138.79428818846554,36.53242677923704,139.14148906559328,36.464551126536236,138.98217804396867
+8030,36.53242677923704,138.44708731133778,36.66283995343472,138.79428818846554,36.597288464072925,138.6435952975258
+8031,36.53242677923704,138.79428818846554,36.66283995343472,139.14148906559328,36.60777109284127,139.0032133735635
+8032,36.40201360503937,139.14148906559328,36.66283995343472,139.83589081984877,36.5037138670722,139.56633017607038
+8033,36.66283995343472,138.44708731133778,36.92366630183007,139.14148906559328,36.782680238297964,138.83532279114013
+8034,36.66283995343472,139.14148906559328,36.92366630183007,139.83589081984877,36.75600277251631,139.60015418920008
+8035,34.83705551466727,139.83589081984877,35.09788186306262,140.53029257410427,34.98954840782834,139.92140421680563
+8036,35.09788186306262,139.83589081984877,35.228295037260295,140.18309169697653,35.16647517862265,140.01514555975857
+8037,35.09788186306262,140.18309169697653,35.228295037260295,140.53029257410427,35.16273587373131,140.3049770997959
+8038,35.228295037260295,139.83589081984877,35.358708211457966,140.18309169697653,35.28702423140519,139.97536169399814
+8039,35.228295037260295,140.18309169697653,35.358708211457966,140.53029257410427,35.27588630097362,140.3217600551312
+8040,35.358708211457966,139.83589081984877,35.48912138565564,140.18309169697653,35.41717373900626,139.97114657131758
+8041,35.358708211457966,140.18309169697653,35.48912138565564,140.53029257410427,35.43079969966791,140.3388395068169
+8042,35.48912138565564,139.83589081984877,35.61953455985332,140.18309169697653,35.547658684594076,140.1050491922786
+8043,35.48912138565564,140.18309169697653,35.61953455985332,140.53029257410427,35.56641408030904,140.33423510517403
+8044,35.358708211457966,140.53029257410427,35.61953455985332,141.22469432835976,35.617868594514,140.53582123037665
+8045,35.61953455985332,139.83589081984877,35.74994773405099,140.18309169697653,35.683010723620335,139.94958741677894
+8046,35.61953455985332,140.18309169697653,35.74994773405099,140.53029257410427,35.69806136536937,140.3407348339345
+8047,35.74994773405099,139.83589081984877,35.88036090824867,140.18309169697653,35.822354718398884,139.95003371590906
+8048,35.74994773405099,140.18309169697653,35.88036090824867,140.53029257410427,35.81053220340214,140.39138069749342
+8049,35.61953455985332,140.53029257410427,35.88036090824867,141.22469432835976,35.77454675413193,140.68561546089825
+8050,35.88036090824867,139.83589081984877,36.010774082446346,140.18309169697653,35.946299905249525,139.9914391295692
+8051,35.88036090824867,140.18309169697653,36.010774082446346,140.53029257410427,35.93948952348529,140.38742149088753
+8052,36.010774082446346,139.83589081984877,36.14118725664402,140.18309169697653,36.07205877148662,140.07085373317508
+8053,36.010774082446346,140.18309169697653,36.14118725664402,140.53029257410427,36.06915978243334,140.29866752933563
+8054,35.88036090824867,140.53029257410427,36.14118725664402,141.22469432835976,35.90695340152568,140.63270298258604
+8055,36.14118725664402,139.83589081984877,36.271600430841694,140.18309169697653,36.20220939901622,140.02894870287213
+8056,36.14118725664402,140.18309169697653,36.271600430841694,140.53029257410427,36.19794915942529,140.32114346000216
+8057,36.271600430841694,139.83589081984877,36.40201360503937,140.18309169697653,36.322344060227486,139.96749375981014
+8058,36.271600430841694,140.18309169697653,36.40201360503937,140.53029257410427,36.349871172321144,140.38220719484778
+8059,36.14118725664402,140.53029257410427,36.40201360503937,141.22469432835976,36.362183934513155,140.56843564559574
+8060,36.40201360503937,139.83589081984877,36.66283995343472,140.53029257410427,36.547502557203785,140.07504565014514
+8061,36.40201360503937,140.53029257410427,36.66283995343472,141.22469432835976,36.521188492941434,140.60780018070633
+8062,36.66283995343472,139.83589081984877,36.92366630183007,140.53029257410427,36.806369532244396,140.21865069513737
+8063,36.66283995343472,140.53029257410427,36.92366630183007,141.22469432835976,36.84026506012202,140.70536748698535
+8064,36.92366630183007,135.6694802943158,37.184492650225415,136.3638820485713,37.050642428571436,135.99971515714284
+8065,36.92366630183007,136.3638820485713,37.184492650225415,137.0582838028268,37.06190050077748,136.85865946463423
+8066,37.184492650225415,136.3638820485713,37.44531899862076,137.0582838028268,37.29270390527103,136.87876834370135
+8067,37.44531899862076,135.6694802943158,37.966971695411466,137.0582838028268,37.701452311701836,136.61147878562457
+8068,36.92366630183007,137.0582838028268,37.184492650225415,137.7526855570823,36.9548814831196,137.56659943154048
+8069,36.92366630183007,137.7526855570823,37.184492650225415,138.44708731133778,37.07599008417749,138.17745229237
+8070,37.184492650225415,137.0582838028268,37.44531899862076,137.7526855570823,37.33907598216343,137.18392985491892
+8071,37.184492650225415,137.7526855570823,37.44531899862076,138.44708731133778,37.26726024657109,138.37611586555278
+8072,36.92366630183007,138.44708731133778,37.184492650225415,139.14148906559328,37.01610721670521,138.7574254672106
+8073,36.92366630183007,139.14148906559328,37.184492650225415,139.83589081984877,37.0544127649672,139.6759497157864
+8074,37.184492650225415,138.44708731133778,37.44531899862076,139.14148906559328,37.3391455842951,138.75490425669196
+8075,37.184492650225415,139.14148906559328,37.44531899862076,139.83589081984877,37.3439192951459,139.6616706082798
+8076,37.44531899862076,137.0582838028268,37.966971695411466,138.44708731133778,37.501097992107006,137.2560626200457
+8077,37.44531899862076,138.44708731133778,37.70614534701612,139.14148906559328,37.556484577348066,138.9109787886855
+8078,37.44531899862076,139.488689942721,37.57573217281844,139.83589081984877,37.5078934352506,139.74132814581301
+8079,37.57573217281844,139.14148906559328,37.70614534701612,139.488689942721,37.68262794015252,139.32945490967495
+8080,37.57573217281844,139.488689942721,37.70614534701612,139.83589081984877,37.62740722887544,139.72714811845862
+8081,37.70614534701612,138.79428818846554,37.83655852121379,139.14148906559328,37.77667053177944,139.0840154822377
+8082,37.83655852121379,138.79428818846554,37.966971695411466,139.14148906559328,37.90282304024468,139.04774777388377
+8083,37.70614534701612,139.14148906559328,37.966971695411466,139.83589081984877,37.80774115963614,139.2703454263161
+8084,37.966971695411466,137.0582838028268,39.010277088992865,139.83589081984877,38.381231990238426,139.56235225995715
+8085,36.92366630183007,139.83589081984877,37.05407947602774,140.18309169697653,36.99803181574929,140.02446601705745
+8086,36.92366630183007,140.18309169697653,37.05407947602774,140.53029257410427,36.99126774657347,140.42005207349803
+8087,37.05407947602774,139.83589081984877,37.184492650225415,140.18309169697653,37.109109337403126,140.09389520200048
+8088,37.05407947602774,140.18309169697653,37.184492650225415,140.53029257410427,37.122033442675935,140.34575953485023
+8089,36.92366630183007,140.53029257410427,37.05407947602774,140.877493451232,36.98655221964672,140.76450414041852
+8090,36.92366630183007,140.877493451232,37.05407947602774,141.22469432835976,36.99505069558621,140.91790007669843
+8091,37.05407947602774,140.53029257410427,37.184492650225415,140.877493451232,37.119303479344204,140.75250436760527
+8092,37.05407947602774,140.877493451232,37.184492650225415,141.22469432835976,37.110911189765766,140.95143591698223
+8093,37.184492650225415,139.83589081984877,37.31490582442309,140.18309169697653,37.26308364212067,139.98608219268553
+8094,37.184492650225415,140.18309169697653,37.31490582442309,140.53029257410427,37.25960487182735,140.37485711043234
+8095,37.31490582442309,139.83589081984877,37.44531899862076,140.18309169697653,37.39908824025017,139.97933557014224
+8096,37.31490582442309,140.18309169697653,37.44531899862076,140.53029257410427,37.3908684224972,140.37289324431651
+8097,37.184492650225415,140.53029257410427,37.31490582442309,140.877493451232,37.24464869553124,140.64125420893703
+8098,37.184492650225415,140.877493451232,37.31490582442309,141.22469432835976,37.252033606451896,140.99130122161355
+8099,37.31490582442309,140.53029257410427,37.44531899862076,140.877493451232,37.39006453115713,140.64178524449213
+8100,37.31490582442309,140.877493451232,37.44531899862076,141.22469432835976,37.37871733017026,140.98363170031635
+8101,37.44531899862076,139.83589081984877,37.57573217281844,140.18309169697653,37.5130459098495,139.95322671401635
+8102,37.44531899862076,140.18309169697653,37.57573217281844,140.53029257410427,37.502828912279035,140.39572857398107
+8103,37.57573217281844,139.83589081984877,37.70614534701612,140.18309169697653,37.63244617939203,139.94704657907937
+8104,37.57573217281844,140.18309169697653,37.70614534701612,140.53029257410427,37.642581455907944,140.4148562703561
+8105,37.44531899862076,140.53029257410427,37.57573217281844,140.877493451232,37.50845291332089,140.66799976222524
+8106,37.44531899862076,140.877493451232,37.57573217281844,141.22469432835976,37.50736979394847,140.97431385932987
+8107,37.57573217281844,140.53029257410427,37.70614534701612,140.877493451232,37.650641345374865,140.61016927401218
+8108,37.57573217281844,140.877493451232,37.70614534701612,141.22469432835976,37.6476855680855,140.96792505671212
+8109,37.70614534701612,139.83589081984877,37.83655852121379,140.18309169697653,37.73782111248575,139.93252952911894
+8110,37.70614534701612,140.18309169697653,37.83655852121379,140.53029257410427,37.76845311226652,140.43153155599038
+8111,37.83655852121379,139.83589081984877,37.966971695411466,140.18309169697653,37.91313917734454,140.09506344972266
+8112,37.83655852121379,140.18309169697653,37.966971695411466,140.53029257410427,37.87262926099553,140.39083325110008
+8113,37.70614534701612,140.53029257410427,37.83655852121379,140.877493451232,37.77538116466646,140.66445521769006
+8114,37.70614534701612,140.877493451232,37.83655852121379,141.22469432835976,37.77918725091576,140.94286371227054
+8115,37.83655852121379,140.53029257410427,37.966971695411466,140.877493451232,37.88817265090793,140.66885347488895
+8116,37.83655852121379,140.877493451232,37.966971695411466,141.22469432835976,37.87990022864414,140.9127630648306
+8117,37.966971695411466,139.83589081984877,38.227798043806814,140.53029257410427,38.08204252920203,140.1622917365919
+8118,37.966971695411466,140.53029257410427,38.227798043806814,141.22469432835976,38.118403515580965,140.79678384950645
+8119,38.227798043806814,139.83589081984877,38.48862439220217,140.53029257410427,38.35178948431078,140.3045813708052
+8120,38.227798043806814,140.53029257410427,38.35821121800449,140.877493451232,38.281755423072774,140.8273716625249
+8121,38.227798043806814,140.877493451232,38.35821121800449,141.22469432835976,38.289933569088205,140.97717577026233
+8122,38.35821121800449,140.53029257410427,38.48862439220217,140.877493451232,38.39188912723631,140.8678241873464
+8123,38.35821121800449,140.877493451232,38.48862439220217,141.22469432835976,38.41997244123984,141.05241422500737
+8124,37.966971695411466,141.22469432835976,38.48862439220217,142.61349783687075,38.44440946821917,141.3618227503219
+8125,38.48862439220217,139.83589081984877,38.74945074059752,140.53029257410427,38.632388275334385,140.20688676708312
+8126,38.48862439220217,140.53029257410427,38.61903756639984,140.877493451232,38.57032507003592,140.83605453849574
+8127,38.48862439220217,140.877493451232,38.61903756639984,141.22469432835976,38.55807651416757,141.03741100823223
+8128,38.61903756639984,140.53029257410427,38.74945074059752,140.877493451232,38.7084715850389,140.80287313452678
+8129,38.61903756639984,140.877493451232,38.74945074059752,141.22469432835976,38.69556171643611,141.08997810475555
+8130,38.74945074059752,139.83589081984877,39.010277088992865,140.53029257410427,38.86001050515239,140.1702318166165
+8131,38.74945074059752,140.53029257410427,38.879863914795195,140.877493451232,38.80426498640779,140.8206566113215
+8132,38.74945074059752,140.877493451232,38.879863914795195,141.22469432835976,38.815090699631256,141.08225700948333
+8133,38.879863914795195,140.53029257410427,39.010277088992865,140.877493451232,38.95167026791165,140.80499616180973
+8134,38.879863914795195,140.877493451232,39.010277088992865,141.22469432835976,38.93885950914078,141.0795349745138
+8135,38.48862439220217,141.22469432835976,38.74945074059752,141.91909608261525,38.66073929888706,141.30894924581082
+8136,38.74945074059752,141.22469432835976,38.879863914795195,141.57189520548752,38.81996800518474,141.32088457853123
+8137,38.74945074059752,141.57189520548752,38.879863914795195,141.91909608261525,38.849076997355056,141.5954512179723
+8138,38.879863914795195,141.22469432835976,39.010277088992865,141.57189520548752,38.9398754160546,141.3518327811161
+8139,38.879863914795195,141.57189520548752,39.010277088992865,141.91909608261525,38.95429133124169,141.63326898378244
+8140,39.010277088992865,134.28067678580484,41.09688787615566,139.83589081984877,39.94224360021018,139.72416152110043
+8141,39.010277088992865,139.83589081984877,39.27110343738821,140.53029257410427,39.178688195162245,140.2304077834814
+8142,39.010277088992865,140.53029257410427,39.140690263190535,140.877493451232,39.078901260860896,140.76321350487197
+8143,39.010277088992865,140.877493451232,39.140690263190535,141.22469432835976,39.07886974206607,141.07690161863144
+8144,39.140690263190535,140.53029257410427,39.27110343738821,140.877493451232,39.181011390432126,140.63485431268379
+8145,39.140690263190535,140.877493451232,39.27110343738821,141.22469432835976,39.204721673280055,141.11151314888585
+8146,39.27110343738821,139.83589081984877,39.53192978578356,140.53029257410427,39.412065035650805,140.3758953229543
+8147,39.27110343738821,140.53029257410427,39.40151661158589,140.877493451232,39.33716135441719,140.66252179819622
+8148,39.27110343738821,140.877493451232,39.40151661158589,141.22469432835976,39.32371298883721,141.07390228432968
+8149,39.40151661158589,140.53029257410427,39.53192978578356,140.877493451232,39.46944455008619,140.64434978911365
+8150,39.40151661158589,140.877493451232,39.53192978578356,141.22469432835976,39.45085350983536,141.1137287589633
+8151,39.010277088992865,141.22469432835976,39.140690263190535,141.57189520548752,39.05722439863209,141.34349482554165
+8152,39.010277088992865,141.57189520548752,39.140690263190535,141.91909608261525,39.05545023157724,141.6905839476266
+8153,39.140690263190535,141.22469432835976,39.27110343738821,141.57189520548752,39.198545242964435,141.31777844461766
+8154,39.140690263190535,141.57189520548752,39.27110343738821,141.91909608261525,39.20940269122054,141.76079813562342
+8155,39.27110343738821,141.22469432835976,39.53192978578356,141.91909608261525,39.32483467539999,141.51177760537186
+8156,39.27110343738821,141.91909608261525,39.53192978578356,142.61349783687075,39.443098582469545,141.94675418083258
+8157,39.53192978578356,139.83589081984877,39.792756134178916,140.53029257410427,39.703748059206035,140.15910608730076
+8158,39.53192978578356,140.53029257410427,39.66234295998124,140.877493451232,39.589614286002934,140.61443036542406
+8159,39.53192978578356,140.877493451232,39.66234295998124,141.22469432835976,39.62027484833852,141.10106971348466
+8160,39.66234295998124,140.53029257410427,39.792756134178916,140.877493451232,39.7206285664364,140.680091732766
+8161,39.66234295998124,140.877493451232,39.792756134178916,141.22469432835976,39.70221676003659,141.08707248041628
+8162,39.792756134178916,139.83589081984877,40.053582482574264,140.53029257410427,39.94081866394907,140.09516403049577
+8163,39.792756134178916,140.53029257410427,40.053582482574264,141.22469432835976,39.95450022696306,141.01937552497543
+8164,39.53192978578356,141.22469432835976,40.053582482574264,142.61349783687075,39.6626397694042,141.71309577728712
+8165,40.053582482574264,139.83589081984877,40.31440883096961,140.53029257410427,40.18151952412567,140.2603848359658
+8166,40.053582482574264,140.53029257410427,40.31440883096961,141.22469432835976,40.20544991095325,140.77561083647635
+8167,40.31440883096961,139.83589081984877,40.57523517936497,140.53029257410427,40.512312638963856,140.1274925642921
+8168,40.31440883096961,140.53029257410427,40.57523517936497,141.22469432835976,40.42825595764291,140.74478157772546
+8169,40.053582482574264,141.22469432835976,40.57523517936497,142.61349783687075,40.4175509701031,141.4948459455349
+8170,40.57523517936497,139.83589081984877,40.836061527760315,140.53029257410427,40.66782197783162,140.36611892733936
+8171,40.57523517936497,140.53029257410427,40.836061527760315,141.22469432835976,40.72982060850856,140.8386525912845
+8172,40.836061527760315,139.83589081984877,41.09688787615566,140.53029257410427,40.9656295715855,140.38540394439158
+8173,40.836061527760315,140.53029257410427,41.09688787615566,141.22469432835976,40.917494756585825,140.78525752115402
+8174,40.57523517936497,141.22469432835976,41.09688787615566,142.61349783687075,40.814453557947544,141.33374558441284
+8175,41.09688787615566,134.28067678580484,43.18349866331846,139.83589081984877,42.28307626662546,139.78881402488574
+8176,41.09688787615566,139.83589081984877,41.61854057294636,141.22469432835976,41.27126932883439,140.74747731232765
+8177,41.09688787615566,141.22469432835976,41.61854057294636,142.61349783687075,41.29313825781522,141.38728530663386
+8178,41.61854057294636,139.83589081984877,42.14019326973706,141.22469432835976,41.92835404973501,140.63112394788422
+8179,41.09688787615566,142.61349783687075,42.14019326973706,145.39110485389273,42.05051715928852,143.14652985297815
+8180,42.14019326973706,139.83589081984877,42.40101961813241,140.53029257410427,42.2526023288165,140.33037247231044
+8181,42.14019326973706,140.53029257410427,42.40101961813241,141.22469432835976,42.35668210281861,140.99926794752471
+8182,42.40101961813241,139.83589081984877,42.661845966527764,140.53029257410427,42.50239424481367,140.29211962139058
+8183,42.40101961813241,140.53029257410427,42.661845966527764,141.22469432835976,42.531434729929416,140.88584490889997
+8184,42.14019326973706,141.22469432835976,42.661845966527764,142.61349783687075,42.49797275770538,141.81343430559255
+8185,42.661845966527764,139.83589081984877,42.92267231492311,140.53029257410427,42.7833966774322,140.27842708648862
+8186,42.661845966527764,140.53029257410427,42.92267231492311,141.22469432835976,42.81280715726971,140.9065453424492
+8187,42.92267231492311,139.83589081984877,43.18349866331846,140.53029257410427,43.09145417063433,140.4577345766792
+8188,42.92267231492311,140.53029257410427,43.05308548912079,140.877493451232,43.000869167450325,140.69115917668668
+8189,42.92267231492311,140.877493451232,43.05308548912079,141.22469432835976,42.96887609045722,141.1468107874506
+8190,43.05308548912079,140.53029257410427,43.18349866331846,140.877493451232,43.1127151791371,140.80339793405355
+8191,43.05308548912079,140.877493451232,43.18349866331846,141.22469432835976,43.144104377731416,141.10059012297944
+8192,42.661845966527764,141.22469432835976,42.792259140725434,141.57189520548752,42.73407965946481,141.40076785639937
+8193,42.661845966527764,141.57189520548752,42.792259140725434,141.91909608261525,42.74029126346191,141.73042569170047
+8194,42.792259140725434,141.22469432835976,42.92267231492311,141.57189520548752,42.869707099376164,141.53163550562465
+8195,42.792259140725434,141.57189520548752,42.92267231492311,141.91909608261525,42.8573075105878,141.68695950747272
+8196,42.661845966527764,141.91909608261525,42.92267231492311,142.61349783687075,42.85763388814093,142.26676817653367
+8197,42.92267231492311,141.22469432835976,43.05308548912079,141.57189520548752,43.00617284686661,141.4117236043501
+8198,42.92267231492311,141.57189520548752,43.05308548912079,141.91909608261525,42.98148838891224,141.73117383437392
+8199,43.05308548912079,141.22469432835976,43.18349866331846,141.57189520548752,43.0939825766408,141.36587570632818
+8200,43.05308548912079,141.57189520548752,43.18349866331846,141.91909608261525,43.13098658291166,141.67944141485265
+8201,42.92267231492311,141.91909608261525,43.18349866331846,142.61349783687075,43.027247990133574,142.2901812360702
+8202,42.14019326973706,142.61349783687075,42.661845966527764,144.00230134538174,42.44244533150499,143.18488744500604
+8203,42.661845966527764,142.61349783687075,42.92267231492311,143.30789959112624,42.87058193287915,143.11731711818024
+8204,42.661845966527764,143.30789959112624,42.92267231492311,144.00230134538174,42.803318704713845,143.709252935858
+8205,42.92267231492311,142.61349783687075,43.05308548912079,142.9606987139985,42.993466447356056,142.7935214201102
+8206,42.92267231492311,142.9606987139985,43.05308548912079,143.30789959112624,42.95537521886635,143.17996024672777
+8207,43.05308548912079,142.61349783687075,43.18349866331846,142.9606987139985,43.130165916288284,142.79026323088777
+8208,43.05308548912079,142.9606987139985,43.18349866331846,143.30789959112624,43.12463772721257,143.19439757098974
+8209,42.92267231492311,143.30789959112624,43.18349866331846,144.00230134538174,43.07938976643798,143.78096461094708
+8210,42.661845966527764,144.00230134538174,43.18349866331846,145.39110485389273,43.02556796163845,144.37696373158545
+8211,43.18349866331846,134.28067678580484,45.27010945048125,139.83589081984877,44.368777846896464,134.65063920947154
+8212,43.18349866331846,139.83589081984877,43.705151360109156,141.22469432835976,43.24566121446553,140.74177862969185
+8213,43.18349866331846,141.22469432835976,43.44432501171381,141.91909608261525,43.293063143443376,141.58595436901248
+8214,43.18349866331846,141.91909608261525,43.44432501171381,142.61349783687075,43.34354836064465,142.27414232187914
+8215,43.44432501171381,141.22469432835976,43.705151360109156,141.91909608261525,43.538947612610926,141.5423245347982
+8216,43.44432501171381,141.91909608261525,43.705151360109156,142.61349783687075,43.580247332429586,142.29291127865469
+8217,43.705151360109156,141.22469432835976,43.965977708504504,141.91909608261525,43.83783564624381,141.50441759464087
+8218,43.705151360109156,141.91909608261525,43.965977708504504,142.61349783687075,43.79951507792586,142.36570155200377
+8219,43.965977708504504,141.22469432835976,44.22680405689985,141.91909608261525,44.07681217274341,141.6555356528008
+8220,43.965977708504504,141.91909608261525,44.22680405689985,142.61349783687075,44.13289920029927,142.39686481801152
+8221,43.18349866331846,142.61349783687075,43.705151360109156,144.00230134538174,43.324269122326015,143.39903045008955
+8222,43.18349866331846,144.00230134538174,43.705151360109156,145.39110485389273,43.49865975791113,144.70321829298138
+8223,43.705151360109156,142.61349783687075,44.22680405689985,144.00230134538174,43.85138630809044,143.46181857016526
+8224,43.705151360109156,144.00230134538174,44.22680405689985,145.39110485389273,43.91825354463314,144.4499520311044
+8225,44.22680405689985,141.22469432835976,44.74845675369055,142.61349783687075,44.446720239689405,142.22830619245585
+8226,44.74845675369055,141.22469432835976,45.27010945048125,142.61349783687075,44.96189379078386,141.91825929139165
+8227,44.22680405689985,142.61349783687075,45.27010945048125,145.39110485389273,44.48065133854636,143.0850219879671
+8228,41.09688787615566,145.39110485389273,45.27010945048125,156.50153292198064,43.30241652876592,145.56351733801537
+8229,45.27010945048125,0.9555399687501165,45.5309357988766,1.6499417230056097,45.35585355928274,1.5933268874460103
+8230,45.27010945048125,1.6499417230056097,45.40052262467893,1.9971426001333563,45.33234936660799,1.798243384930062
+8231,45.27010945048125,1.9971426001333563,45.40052262467893,2.344343477261103,45.36964861749243,2.14399342203651
+8232,45.40052262467893,1.6499417230056097,45.5309357988766,1.9971426001333563,45.43776063210004,1.7538244426331997
+8233,45.40052262467893,1.9971426001333563,45.5309357988766,2.344343477261103,45.477628238170766,2.169703554943853
+8234,45.5309357988766,0.9555399687501165,45.79176214727195,1.6499417230056097,45.7292328752226,1.3097055090985787
+8235,45.5309357988766,1.6499417230056097,45.79176214727195,2.344343477261103,45.70415386191303,1.9722942373760166
+8236,45.27010945048125,2.344343477261103,45.5309357988766,3.0387452315165966,45.42190277420377,2.5719138690087124
+8237,45.27010945048125,3.0387452315165966,45.5309357988766,3.73314698577209,45.388775609301916,3.421626987207899
+8238,45.5309357988766,2.344343477261103,45.79176214727195,3.0387452315165966,45.65716688048845,2.854209416281109
+8239,45.5309357988766,3.0387452315165966,45.661348973074276,3.385946108644343,45.57723565479809,3.2001410212603374
+8240,45.5309357988766,3.385946108644343,45.661348973074276,3.73314698577209,45.61041109407309,3.6520418157639813
+8241,45.661348973074276,3.0387452315165966,45.79176214727195,3.385946108644343,45.753215520530134,3.154661780331531
+8242,45.661348973074276,3.385946108644343,45.79176214727195,3.73314698577209,45.74879019447583,3.621262833218274
+8243,45.79176214727195,0.9555399687501165,46.0525884956673,1.6499417230056097,45.85763554199726,1.27056016075369
+8244,45.79176214727195,1.6499417230056097,46.0525884956673,2.344343477261103,45.86499250043265,1.9291053272292018
+8245,46.0525884956673,0.9555399687501165,46.31341484406265,1.6499417230056097,46.18584150503355,1.2230154600337007
+8246,46.0525884956673,1.6499417230056097,46.31341484406265,2.344343477261103,46.17707841008937,2.0471056066793696
+8247,45.79176214727195,2.344343477261103,46.0525884956673,3.0387452315165966,45.854986889089375,2.828734851877354
+8248,45.79176214727195,3.0387452315165966,46.0525884956673,3.73314698577209,45.878770470093365,3.344907370870051
+8249,46.0525884956673,2.344343477261103,46.31341484406265,3.0387452315165966,46.28067941381748,2.515619773648624
+8250,46.0525884956673,3.0387452315165966,46.31341484406265,3.73314698577209,46.16440044194052,3.4087445378882775
+8251,45.27010945048125,3.73314698577209,45.5309357988766,4.427548740027583,45.4384937083237,4.240826250531008
+8252,45.27010945048125,4.427548740027583,45.5309357988766,5.121950494283077,45.422089124445606,4.607181093675905
+8253,45.5309357988766,3.73314698577209,45.79176214727195,4.427548740027583,45.67758056591468,4.098637973474097
+8254,45.5309357988766,4.427548740027583,45.661348973074276,4.774749617155329,45.60039832103182,4.6687098764602
+8255,45.5309357988766,4.774749617155329,45.661348973074276,5.121950494283077,45.597263746492764,4.884550599371413
+8256,45.661348973074276,4.427548740027583,45.79176214727195,4.774749617155329,45.74012381087864,4.627296877041374
+8257,45.661348973074276,4.774749617155329,45.79176214727195,5.121950494283077,45.74124121158962,4.904199016053441
+8258,45.27010945048125,5.121950494283077,45.5309357988766,5.8163522485385695,45.40709465743053,5.554217007637552
+8259,45.27010945048125,5.8163522485385695,45.40052262467893,6.163553125666317,45.33662935273022,5.970433836429672
+8260,45.27010945048125,6.163553125666317,45.40052262467893,6.510754002794063,45.32848265255884,6.328081147295462
+8261,45.40052262467893,5.8163522485385695,45.5309357988766,6.163553125666317,45.47183555099638,6.011896518652603
+8262,45.40052262467893,6.163553125666317,45.5309357988766,6.510754002794063,45.47096767381353,6.361302696640993
+8263,45.5309357988766,5.121950494283077,45.79176214727195,5.8163522485385695,45.64732174115434,5.482528991948004
+8264,45.5309357988766,5.8163522485385695,45.661348973074276,6.163553125666317,45.5906319812551,5.956691529628018
+8265,45.5309357988766,6.163553125666317,45.661348973074276,6.510754002794063,45.594543107617476,6.332286828037897
+8266,45.661348973074276,5.8163522485385695,45.79176214727195,6.163553125666317,45.72759408196807,5.978099806347722
+8267,45.661348973074276,6.163553125666317,45.79176214727195,6.510754002794063,45.729620421347946,6.3841352085346745
+8268,45.79176214727195,3.73314698577209,46.0525884956673,4.427548740027583,45.92270551002747,4.1386966860404995
+8269,45.79176214727195,4.427548740027583,45.922175321469624,4.774749617155329,45.85107541158367,4.613576679718243
+8270,45.79176214727195,4.774749617155329,45.922175321469624,5.121950494283077,45.84249447006608,4.917454310224514
+8271,45.922175321469624,4.427548740027583,46.0525884956673,4.774749617155329,45.97640952376492,4.628398317176519
+8272,45.922175321469624,4.774749617155329,46.0525884956673,5.121950494283077,45.97166629304419,4.921254853830036
+8273,46.0525884956673,3.73314698577209,46.31341484406265,4.427548740027583,46.15390774745215,4.02958704969159
+8274,46.0525884956673,4.427548740027583,46.31341484406265,5.121950494283077,46.2142440211866,4.785706457492432
+8275,45.79176214727195,5.121950494283077,46.0525884956673,5.8163522485385695,45.90803848647933,5.368032801109107
+8276,45.79176214727195,5.8163522485385695,45.922175321469624,6.163553125666317,45.860965942429495,6.053851513289797
+8277,45.79176214727195,6.163553125666317,45.922175321469624,6.510754002794063,45.856670436666796,6.28671213544442
+8278,45.922175321469624,5.8163522485385695,46.0525884956673,6.163553125666317,45.96018977775125,6.0663315223592775
+8279,45.922175321469624,6.163553125666317,46.0525884956673,6.510754002794063,45.99029131784753,6.249135015521542
+8280,46.0525884956673,5.121950494283077,46.31341484406265,5.8163522485385695,46.17478769564121,5.436469996240672
+8281,46.0525884956673,5.8163522485385695,46.18300166986498,6.163553125666317,46.12836602634787,6.01967998439656
+8282,46.0525884956673,6.163553125666317,46.18300166986498,6.510754002794063,46.119038138823285,6.295343666878953
+8283,46.18300166986498,5.8163522485385695,46.31341484406265,6.163553125666317,46.23775928734321,6.082072930030462
+8284,46.18300166986498,6.163553125666317,46.31341484406265,6.510754002794063,46.27517859687334,6.3419731289234385
+8285,46.31341484406265,0.9555399687501165,46.835067540853345,2.344343477261103,46.58568789267082,1.556740886565152
+8286,46.31341484406265,2.344343477261103,46.574241192458,3.0387452315165966,46.39429026621872,2.7462702487192647
+8287,46.31341484406265,3.0387452315165966,46.574241192458,3.73314698577209,46.46046994399086,3.4251886259924844
+8288,46.574241192458,2.344343477261103,46.835067540853345,3.0387452315165966,46.71712822183395,2.5066360835813053
+8289,46.574241192458,3.0387452315165966,46.835067540853345,3.73314698577209,46.71039379409017,3.336755356281286
+8290,46.835067540853345,0.9555399687501165,47.09589388924869,1.6499417230056097,46.976988885913414,1.2101520054317445
+8291,46.835067540853345,1.6499417230056097,47.09589388924869,2.344343477261103,47.0064636663832,1.9875023596362857
+8292,47.09589388924869,0.9555399687501165,47.35672023764404,1.6499417230056097,47.28987556839948,1.3011394793982234
+8293,47.09589388924869,1.6499417230056097,47.35672023764404,2.344343477261103,47.244166137397094,2.0266469001792653
+8294,46.835067540853345,2.344343477261103,47.09589388924869,3.0387452315165966,47.01635237267587,2.5071740382300303
+8295,46.835067540853345,3.0387452315165966,47.09589388924869,3.73314698577209,46.96203437866988,3.1906804235592294
+8296,47.09589388924869,2.344343477261103,47.35672023764404,3.0387452315165966,47.254629292927504,2.7162602767372266
+8297,47.09589388924869,3.0387452315165966,47.35672023764404,3.73314698577209,47.18886075351849,3.3055588399830373
+8298,46.31341484406265,3.73314698577209,46.44382801826032,4.080347862899837,46.375877806406535,3.9189035631947795
+8299,46.31341484406265,4.080347862899837,46.44382801826032,4.427548740027583,46.40246701086775,4.29962450903993
+8300,46.44382801826032,3.73314698577209,46.574241192458,4.080347862899837,46.50317739905142,3.881342518849325
+8301,46.44382801826032,4.080347862899837,46.574241192458,4.427548740027583,46.501781788937215,4.262585737855427
+8302,46.31341484406265,4.427548740027583,46.574241192458,5.121950494283077,46.46063914048805,4.781774568935681
+8303,46.574241192458,3.73314698577209,46.835067540853345,4.427548740027583,46.661530559369744,4.133503581757254
+8304,46.574241192458,4.427548740027583,46.835067540853345,5.121950494283077,46.76112997894141,4.7549319003643
+8305,46.31341484406265,5.121950494283077,46.574241192458,5.8163522485385695,46.44330253586277,5.617341575508101
+8306,46.31341484406265,5.8163522485385695,46.574241192458,6.510754002794063,46.40341865459326,6.245053654779819
+8307,46.574241192458,5.121950494283077,46.704654366655674,5.469151371410823,46.66068968688515,5.414464220592489
+8308,46.574241192458,5.469151371410823,46.704654366655674,5.8163522485385695,46.64862546810267,5.615853818385118
+8309,46.704654366655674,5.121950494283077,46.835067540853345,5.469151371410823,46.77053965706979,5.402561728418305
+8310,46.704654366655674,5.469151371410823,46.835067540853345,5.8163522485385695,46.761752248484314,5.583839596673237
+8311,46.574241192458,5.8163522485385695,46.835067540853345,6.510754002794063,46.70703208255821,6.095790485426861
+8312,46.835067540853345,3.73314698577209,47.09589388924869,4.427548740027583,46.966868425340344,4.223437079718588
+8313,46.835067540853345,4.427548740027583,46.965480715051015,4.774749617155329,46.90285937803901,4.694895456356071
+8314,46.835067540853345,4.774749617155329,46.965480715051015,5.121950494283077,46.91240311335543,4.872590618359527
+8315,46.965480715051015,4.427548740027583,47.09589388924869,4.774749617155329,46.9993214705252,4.623873256717741
+8316,46.965480715051015,4.774749617155329,47.09589388924869,5.121950494283077,47.02292432882796,4.87992976705761
+8317,47.09589388924869,3.73314698577209,47.35672023764404,4.427548740027583,47.260791141647935,4.099797182528014
+8318,47.09589388924869,4.427548740027583,47.35672023764404,5.121950494283077,47.26644445582175,4.887025295328276
+8319,46.835067540853345,5.121950494283077,47.09589388924869,5.8163522485385695,46.947934811509114,5.516979026099819
+8320,46.835067540853345,5.8163522485385695,47.09589388924869,6.510754002794063,46.94060930109972,6.2246784445278225
+8321,47.09589388924869,5.121950494283077,47.35672023764404,5.8163522485385695,47.194163332019784,5.485897358770541
+8322,47.09589388924869,5.8163522485385695,47.35672023764404,6.510754002794063,47.237329868166704,6.080609605236152
+8323,45.27010945048125,6.510754002794063,45.5309357988766,7.205155757049557,45.41940425476714,6.77145237665134
+8324,45.27010945048125,7.205155757049557,45.40052262467893,7.552356634177303,45.31076111255497,7.424797661467274
+8325,45.27010945048125,7.552356634177303,45.40052262467893,7.89955751130505,45.33180198663035,7.741779551627364
+8326,45.40052262467893,7.205155757049557,45.5309357988766,7.552356634177303,45.44179983042064,7.404668668551187
+8327,45.40052262467893,7.552356634177303,45.5309357988766,7.89955751130505,45.45846071678658,7.820202240697578
+8328,45.5309357988766,6.510754002794063,45.79176214727195,7.205155757049557,45.642197663872956,6.8120214982829435
+8329,45.5309357988766,7.205155757049557,45.79176214727195,7.89955751130505,45.6703644165017,7.659780477527263
+8330,45.27010945048125,7.89955751130505,45.40052262467893,8.246758388432795,45.34092578461317,8.08758734677412
+8331,45.27010945048125,8.246758388432795,45.40052262467893,8.593959265560542,45.32216745142563,8.402602576145227
+8332,45.40052262467893,7.89955751130505,45.5309357988766,8.246758388432795,45.46252562011172,8.051189585921358
+8333,45.40052262467893,8.246758388432795,45.5309357988766,8.593959265560542,45.46943171235967,8.38561199830367
+8334,45.27010945048125,8.593959265560542,45.40052262467893,8.94116014268829,45.33955711861971,8.735711710683237
+8335,45.27010945048125,8.94116014268829,45.40052262467893,9.288361019816037,45.37294459405201,9.191066162872627
+8336,45.40052262467893,8.593959265560542,45.5309357988766,8.94116014268829,45.488655125859395,8.802096424557288
+8337,45.40052262467893,8.94116014268829,45.5309357988766,9.288361019816037,45.472662034373265,9.16636656974648
+8338,45.5309357988766,7.89955751130505,45.661348973074276,8.246758388432795,45.58246244258642,8.105764559768009
+8339,45.5309357988766,8.246758388432795,45.661348973074276,8.593959265560542,45.59483609319328,8.388633703859384
+8340,45.661348973074276,7.89955751130505,45.79176214727195,8.246758388432795,45.70105908217784,8.138596705817108
+8341,45.661348973074276,8.246758388432795,45.79176214727195,8.593959265560542,45.72935467528097,8.389741153502797
+8342,45.5309357988766,8.593959265560542,45.661348973074276,8.94116014268829,45.59994789627672,8.79509048911557
+8343,45.5309357988766,8.94116014268829,45.661348973074276,9.288361019816037,45.59679565451117,9.112402940975684
+8344,45.661348973074276,8.593959265560542,45.79176214727195,8.94116014268829,45.72055070174685,8.737978256687384
+8345,45.661348973074276,8.94116014268829,45.79176214727195,9.288361019816037,45.724095431064015,9.115583975552136
+8346,45.79176214727195,6.510754002794063,46.0525884956673,7.205155757049557,45.917928720693105,6.749499707931995
+8347,45.79176214727195,7.205155757049557,46.0525884956673,7.89955751130505,45.89910176672995,7.665556243189685
+8348,46.0525884956673,6.510754002794063,46.31341484406265,7.205155757049557,46.15668901588643,6.959442893099256
+8349,46.0525884956673,7.205155757049557,46.31341484406265,7.89955751130505,46.23111900574855,7.443896531441236
+8350,45.79176214727195,7.89955751130505,46.0525884956673,8.593959265560542,45.864354730069216,8.344789097626748
+8351,45.79176214727195,8.593959265560542,46.0525884956673,9.288361019816037,45.9331999508675,8.99007695855231
+8352,46.0525884956673,7.89955751130505,46.31341484406265,8.593959265560542,46.207764481336355,8.229950612286036
+8353,46.0525884956673,8.593959265560542,46.31341484406265,9.288361019816037,46.15839953577031,8.916736339332257
+8354,45.27010945048125,9.288361019816037,45.5309357988766,9.98276277407153,45.43292599397534,9.482604325559358
+8355,45.27010945048125,9.98276277407153,45.5309357988766,10.677164528327022,45.451864531046134,10.333668567366855
+8356,45.5309357988766,9.288361019816037,45.661348973074276,9.635561896943784,45.61073732161297,9.433639815793846
+8357,45.5309357988766,9.635561896943784,45.661348973074276,9.98276277407153,45.61082866460576,9.764137538166537
+8358,45.661348973074276,9.288361019816037,45.79176214727195,9.635561896943784,45.71238334359321,9.469086771536114
+8359,45.661348973074276,9.635561896943784,45.79176214727195,9.98276277407153,45.69225089880105,9.714376469469528
+8360,45.5309357988766,9.98276277407153,45.79176214727195,10.677164528327022,45.625281849383924,10.37111243289667
+8361,45.27010945048125,10.677164528327022,45.40052262467893,11.02436540545477,45.35401236158454,10.870853097819426
+8362,45.27010945048125,11.02436540545477,45.40052262467893,11.371566282582517,45.370035321434564,11.154870029038827
+8363,45.40052262467893,10.677164528327022,45.5309357988766,11.02436540545477,45.449275081428986,10.844873151172543
+8364,45.40052262467893,11.02436540545477,45.5309357988766,11.371566282582517,45.43393905840646,11.186067479150418
+8365,45.27010945048125,11.371566282582517,45.40052262467893,11.718767159710264,45.34250122429125,11.61402639319411
+8366,45.27010945048125,11.718767159710264,45.40052262467893,12.06596803683801,45.34337546568998,11.882509662423923
+8367,45.40052262467893,11.371566282582517,45.5309357988766,11.718767159710264,45.474563728079325,11.595081137546721
+8368,45.40052262467893,11.718767159710264,45.5309357988766,12.06596803683801,45.448933005047515,11.881000589080148
+8369,45.5309357988766,10.677164528327022,45.79176214727195,11.371566282582517,45.65045474522677,11.018076428447177
+8370,45.5309357988766,11.371566282582517,45.661348973074276,11.718767159710264,45.59373024049197,11.554073889891198
+8371,45.5309357988766,11.718767159710264,45.661348973074276,12.06596803683801,45.58869328428731,11.871348137379334
+8372,45.661348973074276,11.371566282582517,45.79176214727195,11.718767159710264,45.71588115796932,11.535588039467653
+8373,45.661348973074276,11.718767159710264,45.79176214727195,12.06596803683801,45.729299184627635,11.854367151075522
+8374,45.79176214727195,9.288361019816037,46.0525884956673,9.98276277407153,45.899689443946826,9.41392436001728
+8375,45.79176214727195,9.98276277407153,46.0525884956673,10.677164528327022,45.890195933269794,10.399160190191635
+8376,46.0525884956673,9.288361019816037,46.31341484406265,9.98276277407153,46.15435274430977,9.427035117935842
+8377,46.0525884956673,9.98276277407153,46.31341484406265,10.677164528327022,46.204330131691236,10.244721826390322
+8378,45.79176214727195,10.677164528327022,46.0525884956673,11.371566282582517,45.91602088292596,11.001275027753108
+8379,45.79176214727195,11.371566282582517,46.0525884956673,12.06596803683801,45.88472619522198,11.674706216617743
+8380,46.0525884956673,10.677164528327022,46.31341484406265,11.371566282582517,46.14792367959892,11.105076822248474
+8381,46.0525884956673,11.371566282582517,46.31341484406265,12.06596803683801,46.20963883028372,11.681787768707016
+8382,46.31341484406265,6.510754002794063,46.574241192458,7.205155757049557,46.46107512628788,6.790917043442545
+8383,46.31341484406265,7.205155757049557,46.574241192458,7.89955751130505,46.456987662475626,7.595158141316334
+8384,46.574241192458,6.510754002794063,46.835067540853345,7.205155757049557,46.70649081163718,6.770649073743019
+8385,46.574241192458,7.205155757049557,46.835067540853345,7.89955751130505,46.72067324424646,7.617670640232608
+8386,46.31341484406265,7.89955751130505,46.574241192458,8.593959265560542,46.4195566361281,8.276465885621384
+8387,46.31341484406265,8.593959265560542,46.574241192458,9.288361019816037,46.42958888960874,8.903996800484325
+8388,46.574241192458,7.89955751130505,46.835067540853345,8.593959265560542,46.71735776672194,8.257897759852261
+8389,46.574241192458,8.593959265560542,46.835067540853345,9.288361019816037,46.75384916996414,8.96851708310148
+8390,46.835067540853345,6.510754002794063,47.09589388924869,7.205155757049557,46.953564213797634,6.961831966520074
+8391,46.835067540853345,7.205155757049557,46.965480715051015,7.552356634177303,46.914307870133285,7.4470373514252834
+8392,46.835067540853345,7.552356634177303,46.965480715051015,7.89955751130505,46.89001453259936,7.6289180177718965
+8393,46.965480715051015,7.205155757049557,47.09589388924869,7.552356634177303,47.01896597469309,7.428926956284196
+8394,46.965480715051015,7.552356634177303,47.09589388924869,7.89955751130505,47.034695771593526,7.66627053829816
+8395,47.09589388924869,6.510754002794063,47.35672023764404,7.205155757049557,47.17758815581531,6.882608071655398
+8396,47.09589388924869,7.205155757049557,47.35672023764404,7.89955751130505,47.205972631881984,7.5640115283625
+8397,46.835067540853345,7.89955751130505,47.09589388924869,8.593959265560542,47.00626360263952,8.361642347805502
+8398,46.835067540853345,8.593959265560542,47.09589388924869,9.288361019816037,46.97965499930413,8.760928979433485
+8399,47.09589388924869,7.89955751130505,47.22630706344637,8.246758388432795,47.16836329615362,8.12780443387762
+8400,47.09589388924869,8.246758388432795,47.22630706344637,8.593959265560542,47.16600433280496,8.452495413197555
+8401,47.22630706344637,7.89955751130505,47.35672023764404,8.246758388432795,47.291771815138645,8.107795782016606
+8402,47.22630706344637,8.246758388432795,47.35672023764404,8.593959265560542,47.30041169841955,8.4377304711317
+8403,47.09589388924869,8.593959265560542,47.22630706344637,8.94116014268829,47.17989005987077,8.796233690824506
+8404,47.09589388924869,8.94116014268829,47.22630706344637,9.288361019816037,47.1600877738815,9.079793460973232
+8405,47.22630706344637,8.593959265560542,47.35672023764404,8.94116014268829,47.28213293573184,8.758818023629527
+8406,47.22630706344637,8.94116014268829,47.35672023764404,9.288361019816037,47.286290989401195,9.109801162546427
+8407,46.31341484406265,9.288361019816037,46.574241192458,9.98276277407153,46.46704159647799,9.632794367894489
+8408,46.31341484406265,9.98276277407153,46.574241192458,10.677164528327022,46.45101285623391,10.26064355171251
+8409,46.574241192458,9.288361019816037,46.835067540853345,9.98276277407153,46.725177558488475,9.620685848389739
+8410,46.574241192458,9.98276277407153,46.835067540853345,10.677164528327022,46.702432820611804,10.381448112583055
+8411,46.31341484406265,10.677164528327022,46.574241192458,11.371566282582517,46.440050066601465,11.228718011718932
+8412,46.31341484406265,11.371566282582517,46.44382801826032,11.718767159710264,46.38994244785366,11.60153269169141
+8413,46.31341484406265,11.718767159710264,46.44382801826032,12.06596803683801,46.387554397881516,11.940019495385945
+8414,46.44382801826032,11.371566282582517,46.574241192458,11.718767159710264,46.52577379530443,11.577619038474209
+8415,46.44382801826032,11.718767159710264,46.574241192458,12.06596803683801,46.512509562498586,11.880432239075954
+8416,46.574241192458,10.677164528327022,46.835067540853345,11.371566282582517,46.68714512661261,11.07116762223401
+8417,46.574241192458,11.371566282582517,46.835067540853345,12.06596803683801,46.691700222242794,11.696994124037584
+8418,46.835067540853345,9.288361019816037,47.09589388924869,9.98276277407153,46.969005861632986,9.583475097545131
+8419,46.835067540853345,9.98276277407153,47.09589388924869,10.677164528327022,46.95600916367277,10.440608525062915
+8420,47.09589388924869,9.288361019816037,47.35672023764404,9.98276277407153,47.23426111023362,9.612940851296127
+8421,47.09589388924869,9.98276277407153,47.35672023764404,10.677164528327022,47.177629018557745,10.309605795554678
+8422,46.835067540853345,10.677164528327022,47.09589388924869,11.371566282582517,46.976113662252,11.12593001734191
+8423,46.835067540853345,11.371566282582517,47.09589388924869,12.06596803683801,46.95073161732942,11.553261379460064
+8424,47.09589388924869,10.677164528327022,47.35672023764404,11.371566282582517,47.240699691104716,11.02803240746631
+8425,47.09589388924869,11.371566282582517,47.35672023764404,12.06596803683801,47.2419202421928,11.592918241026613
+8426,47.35672023764404,0.9555399687501165,47.61754658603939,1.6499417230056097,47.49121459822601,1.2786558130203063
+8427,47.35672023764404,1.6499417230056097,47.61754658603939,2.344343477261103,47.50424797799979,1.9454065594202592
+8428,47.61754658603939,0.9555399687501165,47.878372934434736,1.6499417230056097,47.7666936501436,1.2506317844272865
+8429,47.61754658603939,1.6499417230056097,47.747959760237066,1.9971426001333563,47.68227743807149,1.8682494708204966
+8430,47.61754658603939,1.9971426001333563,47.747959760237066,2.344343477261103,47.663169210684465,2.1203250984142357
+8431,47.747959760237066,1.6499417230056097,47.878372934434736,1.9971426001333563,47.836771593364944,1.8422782165232532
+8432,47.747959760237066,1.9971426001333563,47.878372934434736,2.344343477261103,47.83851473642539,2.151804738695304
+8433,47.35672023764404,2.344343477261103,47.61754658603939,3.0387452315165966,47.501936228941624,2.823605817727742
+8434,47.35672023764404,3.0387452315165966,47.61754658603939,3.73314698577209,47.50021333372419,3.491406473610749
+8435,47.61754658603939,2.344343477261103,47.878372934434736,3.0387452315165966,47.70889042327135,2.5625217103637823
+8436,47.61754658603939,3.0387452315165966,47.878372934434736,3.73314698577209,47.80121338924472,3.5215846933431316
+8437,47.878372934434736,0.9555399687501165,48.13919928283009,1.6499417230056097,47.9606120989723,1.3078016193179036
+8438,47.878372934434736,1.6499417230056097,48.008786108632414,1.9971426001333563,47.92445219650857,1.897111856754901
+8439,47.878372934434736,1.9971426001333563,48.008786108632414,2.344343477261103,47.92603167377332,2.095637556652896
+8440,48.008786108632414,1.6499417230056097,48.13919928283009,1.9971426001333563,48.06723120475989,1.8717870730069945
+8441,48.008786108632414,1.9971426001333563,48.13919928283009,2.344343477261103,48.0663722371767,2.1982564814616254
+8442,48.13919928283009,0.9555399687501165,48.40002563122544,1.6499417230056097,48.28610826508816,1.3454072036967921
+8443,48.13919928283009,1.6499417230056097,48.40002563122544,2.344343477261103,48.261067006418116,1.9609344393822237
+8444,47.878372934434736,2.344343477261103,48.13919928283009,3.0387452315165966,47.998923524894145,2.733212305292782
+8445,47.878372934434736,3.0387452315165966,48.13919928283009,3.73314698577209,47.96002312199891,3.355301963106781
+8446,48.13919928283009,2.344343477261103,48.40002563122544,3.0387452315165966,48.31155763466413,2.7244497739654423
+8447,48.13919928283009,3.0387452315165966,48.40002563122544,3.73314698577209,48.24468045025889,3.3377157488350377
+8448,47.35672023764404,3.73314698577209,47.878372934434736,5.121950494283077,47.583942013157284,4.231256256706699
+8449,47.35672023764404,5.121950494283077,47.878372934434736,6.510754002794063,47.631081408639155,5.803717735335065
+8450,47.878372934434736,3.73314698577209,48.40002563122544,5.121950494283077,48.19026970868169,4.3750526374198015
+8451,47.878372934434736,5.121950494283077,48.13919928283009,5.8163522485385695,47.98178863245989,5.3703638405336145
+8452,47.878372934434736,5.8163522485385695,48.13919928283009,6.510754002794063,47.99861923648702,6.272723240562616
+8453,48.13919928283009,5.121950494283077,48.40002563122544,5.8163522485385695,48.28740979942473,5.592441698459724
+8454,48.13919928283009,5.8163522485385695,48.26961245702776,6.163553125666317,48.24017432911396,6.003581794829576
+8455,48.13919928283009,6.163553125666317,48.26961245702776,6.510754002794063,48.199365134327145,6.393083824442844
+8456,48.26961245702776,5.8163522485385695,48.40002563122544,6.163553125666317,48.32101852611884,6.047120054774885
+8457,48.26961245702776,6.163553125666317,48.40002563122544,6.510754002794063,48.3279905083615,6.30462586771522
+8458,48.40002563122544,0.9555399687501165,48.66085197962079,1.6499417230056097,48.49391099536268,1.4305875565597825
+8459,48.40002563122544,1.6499417230056097,48.53043880542312,1.9971426001333563,48.47010407924065,1.8584577494013907
+8460,48.40002563122544,1.9971426001333563,48.53043880542312,2.344343477261103,48.45804220732466,2.2055233959059874
+8461,48.53043880542312,1.6499417230056097,48.66085197962079,1.9971426001333563,48.605748345054074,1.867604074785658
+8462,48.53043880542312,1.9971426001333563,48.66085197962079,2.344343477261103,48.61726301089232,2.1886606265502513
+8463,48.66085197962079,0.9555399687501165,48.791265153818465,1.302740845877863,48.76635272648117,1.1817991381560833
+8464,48.66085197962079,1.302740845877863,48.791265153818465,1.6499417230056097,48.73804249520785,1.3651757215193545
+8465,48.791265153818465,0.9555399687501165,48.92167832801614,1.302740845877863,48.84947593198043,1.2091146136323545
+8466,48.791265153818465,1.302740845877863,48.92167832801614,1.6499417230056097,48.876562049894105,1.4221045478128316
+8467,48.66085197962079,1.6499417230056097,48.791265153818465,1.9971426001333563,48.7183123728096,1.864448360562869
+8468,48.66085197962079,1.9971426001333563,48.791265153818465,2.344343477261103,48.72597454650479,2.215445084268029
+8469,48.791265153818465,1.6499417230056097,48.92167832801614,1.9971426001333563,48.83728161470828,1.9048014862516345
+8470,48.791265153818465,1.9971426001333563,48.92167832801614,2.344343477261103,48.861703228722085,2.2176226926789258
+8471,48.40002563122544,2.344343477261103,48.53043880542312,2.6915443543888498,48.46880824193955,2.5528463551475786
+8472,48.40002563122544,2.6915443543888498,48.53043880542312,3.0387452315165966,48.44493940530992,2.773169230964328
+8473,48.53043880542312,2.344343477261103,48.66085197962079,2.6915443543888498,48.60844425641105,2.494550357397848
+8474,48.53043880542312,2.6915443543888498,48.66085197962079,3.0387452315165966,48.57550552552635,2.89432618862941
+8475,48.40002563122544,3.0387452315165966,48.66085197962079,3.73314698577209,48.51416812832222,3.4749509157340093
+8476,48.66085197962079,2.344343477261103,48.791265153818465,2.6915443543888498,48.72717231944481,2.4638767603616545
+8477,48.66085197962079,2.6915443543888498,48.791265153818465,3.0387452315165966,48.7126525862937,2.8582906760099274
+8478,48.791265153818465,2.344343477261103,48.92167832801614,2.6915443543888498,48.85740928034774,2.4886746961692703
+8479,48.791265153818465,2.6915443543888498,48.92167832801614,3.0387452315165966,48.864656253754745,2.8133654715985674
+8480,48.66085197962079,3.0387452315165966,48.92167832801614,3.73314698577209,48.770660681556336,3.210369411268648
+8481,48.92167832801614,0.9555399687501165,49.05209150221381,1.302740845877863,49.00442935813293,1.159434317307372
+8482,48.92167832801614,1.302740845877863,49.05209150221381,1.6499417230056097,48.99818163760662,1.4493941402437704
+8483,49.05209150221381,0.9555399687501165,49.18250467641149,1.302740845877863,49.094616907550986,1.1798260252634822
+8484,49.05209150221381,1.302740845877863,49.18250467641149,1.6499417230056097,49.09885813753071,1.4388584785167842
+8485,48.92167832801614,1.6499417230056097,49.05209150221381,1.9971426001333563,48.98545897637749,1.837380173867106
+8486,48.92167832801614,1.9971426001333563,49.05209150221381,2.344343477261103,48.97630943454651,2.165082097480465
+8487,49.05209150221381,1.6499417230056097,49.18250467641149,1.9971426001333563,49.10393846031647,1.9248769870286564
+8488,49.05209150221381,1.9971426001333563,49.18250467641149,2.344343477261103,49.083116920912225,2.136775076614727
+8489,49.18250467641149,0.9555399687501165,49.44333102480684,1.6499417230056097,49.33190706814746,1.2051576737884673
+8490,49.18250467641149,1.6499417230056097,49.44333102480684,2.344343477261103,49.33657746997021,2.026152957308824
+8491,48.92167832801614,2.344343477261103,49.05209150221381,2.6915443543888498,48.9814901081687,2.5173684063091386
+8492,48.92167832801614,2.6915443543888498,49.05209150221381,3.0387452315165966,48.96373423843431,2.856285885265879
+8493,49.05209150221381,2.344343477261103,49.18250467641149,2.6915443543888498,49.11450938106126,2.5836858450604354
+8494,49.05209150221381,2.6915443543888498,49.18250467641149,3.0387452315165966,49.0973070999159,2.7747956969154477
+8495,48.92167832801614,3.0387452315165966,49.18250467641149,3.73314698577209,49.03798087849112,3.355600013652555
+8496,49.18250467641149,2.344343477261103,49.44333102480684,3.0387452315165966,49.294658302933506,2.574148247517855
+8497,49.18250467641149,3.0387452315165966,49.44333102480684,3.73314698577209,49.367684596247166,3.4212198757332053
+8498,48.40002563122544,3.73314698577209,48.66085197962079,4.427548740027583,48.532774444912285,4.002968679148799
+8499,48.40002563122544,4.427548740027583,48.53043880542312,4.774749617155329,48.47372969664237,4.730422561801227
+8500,48.40002563122544,4.774749617155329,48.53043880542312,5.121950494283077,48.48505073272394,4.946320132823136
+8501,48.53043880542312,4.427548740027583,48.66085197962079,4.774749617155329,48.602036386376135,4.704838505462156
+8502,48.53043880542312,4.774749617155329,48.66085197962079,5.121950494283077,48.5947422479609,4.9600786538247785
+8503,48.66085197962079,3.73314698577209,48.92167832801614,4.427548740027583,48.80151280321226,4.086734306672273
+8504,48.66085197962079,4.427548740027583,48.92167832801614,5.121950494283077,48.74746671902724,4.8225513161436835
+8505,48.40002563122544,5.121950494283077,48.66085197962079,5.8163522485385695,48.53901611657115,5.326362515855076
+8506,48.40002563122544,5.8163522485385695,48.53043880542312,6.163553125666317,48.45969305869544,5.967007563668848
+8507,48.40002563122544,6.163553125666317,48.53043880542312,6.510754002794063,48.46955310806702,6.251842030775668
+8508,48.53043880542312,5.8163522485385695,48.66085197962079,6.163553125666317,48.62135740790348,6.005749098962399
+8509,48.53043880542312,6.163553125666317,48.66085197962079,6.510754002794063,48.625454571234535,6.261898004548549
+8510,48.66085197962079,5.121950494283077,48.92167832801614,5.8163522485385695,48.74243951786415,5.547269956932729
+8511,48.66085197962079,5.8163522485385695,48.791265153818465,6.163553125666317,48.70401120554727,6.081008519819467
+8512,48.66085197962079,6.163553125666317,48.791265153818465,6.510754002794063,48.69864224346034,6.215504484009688
+8513,48.791265153818465,5.8163522485385695,48.92167832801614,6.163553125666317,48.87086076014865,6.030197573699728
+8514,48.791265153818465,6.163553125666317,48.92167832801614,6.510754002794063,48.84546976618973,6.3525198000033525
+8515,48.92167832801614,3.73314698577209,49.44333102480684,5.121950494283077,49.11909162318891,4.162404638905641
+8516,48.92167832801614,5.121950494283077,49.18250467641149,5.8163522485385695,49.07811889167157,5.551882833451108
+8517,48.92167832801614,5.8163522485385695,49.18250467641149,6.510754002794063,49.08003857556192,6.10776132708955
+8518,49.18250467641149,5.121950494283077,49.44333102480684,5.8163522485385695,49.26230371729744,5.4593673700207646
+8519,49.18250467641149,5.8163522485385695,49.44333102480684,6.510754002794063,49.28316524985341,6.118600770425249
+8520,47.35672023764404,6.510754002794063,47.61754658603939,7.205155757049557,47.501585062356746,6.792618216038085
+8521,47.35672023764404,7.205155757049557,47.61754658603939,7.89955751130505,47.54568787993193,7.666872504597129
+8522,47.61754658603939,6.510754002794063,47.878372934434736,7.205155757049557,47.68764349026358,6.859081437412327
+8523,47.61754658603939,7.205155757049557,47.747959760237066,7.552356634177303,47.694934348588845,7.437449363643917
+8524,47.61754658603939,7.552356634177303,47.747959760237066,7.89955751130505,47.66420767525682,7.768659389617035
+8525,47.747959760237066,7.205155757049557,47.878372934434736,7.552356634177303,47.789293079759894,7.40185308102448
+8526,47.747959760237066,7.552356634177303,47.878372934434736,7.89955751130505,47.81358987171587,7.674878022546725
+8527,47.35672023764404,7.89955751130505,47.48713341184171,8.246758388432795,47.41325884275595,8.143629332593344
+8528,47.35672023764404,8.246758388432795,47.48713341184171,8.593959265560542,47.414531280383656,8.443822740043519
+8529,47.48713341184171,7.89955751130505,47.61754658603939,8.246758388432795,47.56154134419722,8.061155874977766
+8530,47.48713341184171,8.246758388432795,47.61754658603939,8.593959265560542,47.53951254988265,8.436032138668809
+8531,47.35672023764404,8.593959265560542,47.48713341184171,8.94116014268829,47.4234033841139,8.706929711895752
+8532,47.35672023764404,8.94116014268829,47.48713341184171,9.288361019816037,47.40660777218117,9.125407603665526
+8533,47.48713341184171,8.593959265560542,47.61754658603939,8.94116014268829,47.53823960017957,8.760492580312738
+8534,47.48713341184171,8.94116014268829,47.61754658603939,9.288361019816037,47.567950663696514,9.103464141006256
+8535,47.61754658603939,7.89955751130505,47.878372934434736,8.593959265560542,47.73140223527448,8.240649912198927
+8536,47.61754658603939,8.593959265560542,47.747959760237066,8.94116014268829,47.685546207445846,8.740743393144017
+8537,47.61754658603939,8.94116014268829,47.747959760237066,9.288361019816037,47.67582734114541,9.107433099368203
+8538,47.747959760237066,8.593959265560542,47.878372934434736,8.94116014268829,47.78540625552423,8.807507906893392
+8539,47.747959760237066,8.94116014268829,47.878372934434736,9.288361019816037,47.80805754923728,9.063863873670202
+8540,47.878372934434736,6.510754002794063,48.13919928283009,7.205155757049557,48.0429878735291,6.811480920622929
+8541,47.878372934434736,7.205155757049557,48.008786108632414,7.552356634177303,47.95312285776538,7.389000687865578
+8542,47.878372934434736,7.552356634177303,48.008786108632414,7.89955751130505,47.94768730061626,7.754712500001414
+8543,48.008786108632414,7.205155757049557,48.13919928283009,7.552356634177303,48.07579026210057,7.3826450819778
+8544,48.008786108632414,7.552356634177303,48.13919928283009,7.89955751130505,48.07100390170181,7.719609363197067
+8545,48.13919928283009,6.510754002794063,48.26961245702776,6.8579548799218095,48.21042868797519,6.702921789730141
+8546,48.13919928283009,6.8579548799218095,48.26961245702776,7.205155757049557,48.19968272740982,6.969134414454822
+8547,48.26961245702776,6.510754002794063,48.40002563122544,6.8579548799218095,48.32696436446054,6.7065290997755
+8548,48.26961245702776,6.8579548799218095,48.40002563122544,7.205155757049557,48.33859744351477,6.984321411416103
+8549,48.13919928283009,7.205155757049557,48.40002563122544,7.89955751130505,48.271865073066714,7.6571066919646675
+8550,47.878372934434736,7.89955751130505,48.13919928283009,8.593959265560542,48.018421284733975,8.284291009372025
+8551,47.878372934434736,8.593959265560542,48.13919928283009,9.288361019816037,48.04331009720165,9.048531301760264
+8552,48.13919928283009,7.89955751130505,48.40002563122544,8.593959265560542,48.244947322614294,8.274099121433627
+8553,48.13919928283009,8.593959265560542,48.40002563122544,9.288361019816037,48.286124405284255,8.902036591045677
+8554,47.35672023764404,9.288361019816037,47.48713341184171,9.635561896943784,47.42224783429812,9.516227521888464
+8555,47.35672023764404,9.635561896943784,47.48713341184171,9.98276277407153,47.42387177452614,9.725535753157951
+8556,47.48713341184171,9.288361019816037,47.61754658603939,9.635561896943784,47.55396618842988,9.392432508073734
+8557,47.48713341184171,9.635561896943784,47.61754658603939,9.98276277407153,47.54041753705556,9.7609056077921
+8558,47.35672023764404,9.98276277407153,47.61754658603939,10.677164528327022,47.52405790804042,10.370099167747485
+8559,47.61754658603939,9.288361019816037,47.878372934434736,9.98276277407153,47.725174621242694,9.577923451860393
+8560,47.61754658603939,9.98276277407153,47.878372934434736,10.677164528327022,47.765593393457536,10.297627019559048
+8561,47.35672023764404,10.677164528327022,47.61754658603939,11.371566282582517,47.50738811374135,10.911859070874712
+8562,47.35672023764404,11.371566282582517,47.61754658603939,12.06596803683801,47.46468701356249,11.769863979923894
+8563,47.61754658603939,10.677164528327022,47.878372934434736,11.371566282582517,47.733238480513286,11.05708432178457
+8564,47.61754658603939,11.371566282582517,47.878372934434736,12.06596803683801,47.77097093004334,11.745653893526088
+8565,47.878372934434736,9.288361019816037,48.13919928283009,9.98276277407153,47.99905631933539,9.607805803764155
+8566,47.878372934434736,9.98276277407153,48.13919928283009,10.677164528327022,47.97720890148311,10.247554436785514
+8567,48.13919928283009,9.288361019816037,48.26961245702776,9.635561896943784,48.214540957376705,9.52330008711381
+8568,48.13919928283009,9.635561896943784,48.26961245702776,9.98276277407153,48.21332293241845,9.799391915848611
+8569,48.26961245702776,9.288361019816037,48.40002563122544,9.635561896943784,48.334904432515565,9.48638802490518
+8570,48.26961245702776,9.635561896943784,48.40002563122544,9.98276277407153,48.34057117022058,9.854234061468764
+8571,48.13919928283009,9.98276277407153,48.40002563122544,10.677164528327022,48.31715763822578,10.225022842952876
+8572,47.878372934434736,10.677164528327022,48.13919928283009,11.371566282582517,48.04269480556691,11.101823535737903
+8573,47.878372934434736,11.371566282582517,48.008786108632414,11.718767159710264,47.954890035686745,11.57078060229058
+8574,47.878372934434736,11.718767159710264,48.008786108632414,12.06596803683801,47.95408139384989,11.851807674609606
+8575,48.008786108632414,11.371566282582517,48.13919928283009,11.718767159710264,48.0869191195268,11.565789490192198
+8576,48.008786108632414,11.718767159710264,48.13919928283009,12.06596803683801,48.08106030160796,11.850568492574851
+8577,48.13919928283009,10.677164528327022,48.26961245702776,11.02436540545477,48.22314936212084,10.854608283663056
+8578,48.13919928283009,11.02436540545477,48.26961245702776,11.371566282582517,48.195300337168106,11.251597118443621
+8579,48.26961245702776,10.677164528327022,48.40002563122544,11.02436540545477,48.34429694736647,10.885934633114827
+8580,48.26961245702776,11.02436540545477,48.40002563122544,11.371566282582517,48.34174398034529,11.207680202167726
+8581,48.13919928283009,11.371566282582517,48.26961245702776,11.718767159710264,48.19047289072296,11.548094014832335
+8582,48.13919928283009,11.718767159710264,48.26961245702776,12.06596803683801,48.18453933942775,11.83858092910954
+8583,48.26961245702776,11.371566282582517,48.40002563122544,11.718767159710264,48.32475774815849,11.563247056938836
+8584,48.26961245702776,11.718767159710264,48.40002563122544,12.06596803683801,48.34466048648765,11.833951389741129
+8585,48.40002563122544,6.510754002794063,48.66085197962079,7.205155757049557,48.47905037570458,6.834515516547262
+8586,48.40002563122544,7.205155757049557,48.66085197962079,7.89955751130505,48.550943031447616,7.739477978794068
+8587,48.66085197962079,6.510754002794063,48.92167832801614,7.205155757049557,48.753431312657554,6.886914876666589
+8588,48.66085197962079,7.205155757049557,48.92167832801614,7.89955751130505,48.78477251107512,7.554533467693391
+8589,48.40002563122544,7.89955751130505,48.66085197962079,8.593959265560542,48.54348419585529,8.177306904962597
+8590,48.40002563122544,8.593959265560542,48.53043880542312,8.94116014268829,48.46406329562146,8.821517565986104
+8591,48.40002563122544,8.94116014268829,48.53043880542312,9.288361019816037,48.47173999970189,9.123269280800306
+8592,48.53043880542312,8.593959265560542,48.66085197962079,8.94116014268829,48.59710387586657,8.837846266151084
+8593,48.53043880542312,8.94116014268829,48.66085197962079,9.288361019816037,48.59343031274614,9.10725770955726
+8594,48.66085197962079,7.89955751130505,48.791265153818465,8.246758388432795,48.72450287751809,8.064063953696557
+8595,48.66085197962079,8.246758388432795,48.791265153818465,8.593959265560542,48.73788222006095,8.467426296654292
+8596,48.791265153818465,7.89955751130505,48.92167832801614,8.246758388432795,48.8497247124575,8.126601231826891
+8597,48.791265153818465,8.246758388432795,48.92167832801614,8.593959265560542,48.86187157555057,8.434893517363307
+8598,48.66085197962079,8.593959265560542,48.791265153818465,8.94116014268829,48.72194192896617,8.812996805050087
+8599,48.66085197962079,8.94116014268829,48.791265153818465,9.288361019816037,48.72640335726202,9.1169292466702
+8600,48.791265153818465,8.593959265560542,48.92167832801614,8.94116014268829,48.864487411988506,8.767989787045158
+8601,48.791265153818465,8.94116014268829,48.92167832801614,9.288361019816037,48.846706395890806,9.126441621624384
+8602,48.92167832801614,6.510754002794063,49.18250467641149,7.205155757049557,49.09726848508798,6.979118292360275
+8603,48.92167832801614,7.205155757049557,49.18250467641149,7.89955751130505,49.099681683973515,7.623460410219937
+8604,49.18250467641149,6.510754002794063,49.31291785060917,6.8579548799218095,49.281677572555836,6.760865793124942
+8605,49.18250467641149,6.8579548799218095,49.31291785060917,7.205155757049557,49.26044446195692,7.041307430859846
+8606,49.31291785060917,6.510754002794063,49.44333102480684,6.8579548799218095,49.37443335835857,6.7205246441781865
+8607,49.31291785060917,6.8579548799218095,49.44333102480684,7.205155757049557,49.38010511044746,7.058791717203911
+8608,49.18250467641149,7.205155757049557,49.31291785060917,7.552356634177303,49.25744945059837,7.3556097522557415
+8609,49.18250467641149,7.552356634177303,49.31291785060917,7.89955751130505,49.240357942123296,7.703423048586685
+8610,49.31291785060917,7.205155757049557,49.44333102480684,7.552356634177303,49.375560482607455,7.358231610868561
+8611,49.31291785060917,7.552356634177303,49.44333102480684,7.89955751130505,49.38869847052866,7.718198094040719
+8612,48.92167832801614,7.89955751130505,49.05209150221381,8.246758388432795,48.98659199152481,8.089636666344015
+8613,48.92167832801614,8.246758388432795,49.05209150221381,8.593959265560542,48.988374456393075,8.412934331870217
+8614,49.05209150221381,7.89955751130505,49.18250467641149,8.246758388432795,49.11827893123756,8.07685005948163
+8615,49.05209150221381,8.246758388432795,49.18250467641149,8.593959265560542,49.11120760909657,8.452242319634863
+8616,48.92167832801614,8.593959265560542,49.05209150221381,8.94116014268829,48.98292864675772,8.7865002271507
+8617,48.92167832801614,8.94116014268829,49.05209150221381,9.288361019816037,48.983080680217114,9.112451856967475
+8618,49.05209150221381,8.593959265560542,49.18250467641149,8.94116014268829,49.11912682236479,8.778766469228446
+8619,49.05209150221381,8.94116014268829,49.18250467641149,9.288361019816037,49.11730010705869,9.14809734668888
+8620,49.18250467641149,7.89955751130505,49.31291785060917,8.246758388432795,49.248138376960064,8.093786321881812
+8621,49.18250467641149,8.246758388432795,49.31291785060917,8.593959265560542,49.25121206330209,8.459215883834831
+8622,49.31291785060917,7.89955751130505,49.44333102480684,8.246758388432795,49.379511273961306,8.096707698844707
+8623,49.31291785060917,8.246758388432795,49.44333102480684,8.593959265560542,49.38364807240868,8.444164147116163
+8624,49.18250467641149,8.593959265560542,49.31291785060917,8.94116014268829,49.249312293846515,8.741850380145168
+8625,49.18250467641149,8.94116014268829,49.31291785060917,9.288361019816037,49.23540399344651,9.160596731191644
+8626,49.31291785060917,8.593959265560542,49.44333102480684,8.94116014268829,49.3895572587489,8.720680955053806
+8627,49.31291785060917,8.94116014268829,49.44333102480684,9.288361019816037,49.37916237767099,9.135003910656263
+8628,48.40002563122544,9.288361019816037,48.53043880542312,9.635561896943784,48.46371761766625,9.413250852261003
+8629,48.40002563122544,9.635561896943784,48.53043880542312,9.98276277407153,48.45712200109555,9.848778297523886
+8630,48.53043880542312,9.288361019816037,48.66085197962079,9.635561896943784,48.615429268972235,9.443681635950805
+8631,48.53043880542312,9.635561896943784,48.66085197962079,9.98276277407153,48.603883171226606,9.78337398828825
+8632,48.40002563122544,9.98276277407153,48.53043880542312,10.329963651199275,48.45275234488812,10.135214931115888
+8633,48.40002563122544,10.329963651199275,48.53043880542312,10.677164528327022,48.44566152034041,10.526675989071963
+8634,48.53043880542312,9.98276277407153,48.66085197962079,10.329963651199275,48.59871448291463,10.167746254464877
+8635,48.53043880542312,10.329963651199275,48.66085197962079,10.677164528327022,48.59549964153981,10.512016164906758
+8636,48.66085197962079,9.288361019816037,48.791265153818465,9.635561896943784,48.71425889316054,9.460252113989165
+8637,48.66085197962079,9.635561896943784,48.791265153818465,9.98276277407153,48.715322199212565,9.749473815414001
+8638,48.791265153818465,9.288361019816037,48.92167832801614,9.635561896943784,48.8501464696348,9.418434618837773
+8639,48.791265153818465,9.635561896943784,48.92167832801614,9.98276277407153,48.84488333741257,9.77749303861964
+8640,48.66085197962079,9.98276277407153,48.92167832801614,10.677164528327022,48.77395992556889,10.238375885617645
+8641,48.40002563122544,10.677164528327022,48.66085197962079,11.371566282582517,48.50751238538108,10.9210438964066
+8642,48.40002563122544,11.371566282582517,48.66085197962079,12.06596803683801,48.483003393031964,11.769030479012097
+8643,48.66085197962079,10.677164528327022,48.92167832801614,11.371566282582517,48.809701900493,11.137531772266293
+8644,48.66085197962079,11.371566282582517,48.92167832801614,12.06596803683801,48.82116232234868,11.569928594090756
+8645,48.92167832801614,9.288361019816037,49.05209150221381,9.635561896943784,48.97944594880666,9.43021112861037
+8646,48.92167832801614,9.635561896943784,49.05209150221381,9.98276277407153,48.97758492878675,9.730166694192771
+8647,49.05209150221381,9.288361019816037,49.18250467641149,9.635561896943784,49.11466221957656,9.416794392688097
+8648,49.05209150221381,9.635561896943784,49.18250467641149,9.98276277407153,49.12785944424772,9.82588041802967
+8649,48.92167832801614,9.98276277407153,49.18250467641149,10.677164528327022,49.06467165941389,10.296727174394153
+8650,49.18250467641149,9.288361019816037,49.44333102480684,9.98276277407153,49.30553863253548,9.512878509647535
+8651,49.18250467641149,9.98276277407153,49.44333102480684,10.677164528327022,49.27918943765151,10.307102394925371
+8652,48.92167832801614,10.677164528327022,49.18250467641149,11.371566282582517,49.08499795803,11.068588005909483
+8653,48.92167832801614,11.371566282582517,49.18250467641149,12.06596803683801,49.00590420938326,11.746883327640294
+8654,49.18250467641149,10.677164528327022,49.44333102480684,11.371566282582517,49.363446600151896,11.08731307207403
+8655,49.18250467641149,11.371566282582517,49.44333102480684,12.06596803683801,49.35178047935615,11.71667120366267
+8656,45.27010945048125,12.06596803683801,45.5309357988766,12.760369791093503,45.44911716249113,12.239898751612067
+8657,45.5309357988766,12.06596803683801,45.79176214727195,12.760369791093503,45.64327281666956,12.3937969376767
+8658,45.5309357988766,12.760369791093503,45.79176214727195,13.454771545348997,45.68548751204269,13.0006920996804
+8659,45.27010945048125,13.454771545348997,45.5309357988766,14.14917329960449,45.410431221052036,13.770556715299962
+8660,45.27010945048125,14.14917329960449,45.40052262467893,14.496374176732235,45.3489231190636,14.363659619409681
+8661,45.27010945048125,14.496374176732235,45.40052262467893,14.843575053859983,45.34190379283902,14.674554788501665
+8662,45.40052262467893,14.14917329960449,45.5309357988766,14.496374176732235,45.45690752742218,14.331365187218562
+8663,45.40052262467893,14.496374176732235,45.5309357988766,14.843575053859983,45.461724923626456,14.662681965166724
+8664,45.5309357988766,13.454771545348997,45.661348973074276,13.801972422476744,45.596110558647055,13.760014709719878
+8665,45.5309357988766,13.801972422476744,45.661348973074276,14.14917329960449,45.618101465058615,13.861213649874916
+8666,45.661348973074276,13.454771545348997,45.79176214727195,13.801972422476744,45.73177475652525,13.700546990099193
+8667,45.661348973074276,13.801972422476744,45.79176214727195,14.14917329960449,45.72475035432859,13.927990345548595
+8668,45.5309357988766,14.14917329960449,45.79176214727195,14.843575053859983,45.70597337505711,14.452807689792994
+8669,45.79176214727195,12.06596803683801,46.0525884956673,12.760369791093503,45.938894953866544,12.408192290267253
+8670,45.79176214727195,12.760369791093503,45.922175321469624,13.10757066822125,45.884781269094404,13.01622035077722
+8671,45.79176214727195,13.10757066822125,45.922175321469624,13.454771545348997,45.869115638754906,13.289229086869568
+8672,45.922175321469624,12.760369791093503,46.0525884956673,13.10757066822125,45.959577863009606,13.018868231574766
+8673,45.922175321469624,13.10757066822125,46.0525884956673,13.454771545348997,45.98646298680469,13.265237521297436
+8674,46.0525884956673,12.06596803683801,46.31341484406265,12.760369791093503,46.16374214984984,12.393020338062039
+8675,46.0525884956673,12.760369791093503,46.18300166986498,13.10757066822125,46.1001280487466,12.99673422844581
+8676,46.0525884956673,13.10757066822125,46.18300166986498,13.454771545348997,46.103360109585445,13.282881357112986
+8677,46.18300166986498,12.760369791093503,46.31341484406265,13.10757066822125,46.24859635481073,13.015572420929022
+8678,46.18300166986498,13.10757066822125,46.31341484406265,13.454771545348997,46.241374230041394,13.263806671970727
+8679,45.79176214727195,13.454771545348997,45.922175321469624,13.801972422476744,45.862413626769715,13.589041990564635
+8680,45.79176214727195,13.801972422476744,45.922175321469624,14.14917329960449,45.84663453472418,13.946576802591832
+8681,45.922175321469624,13.454771545348997,46.0525884956673,13.801972422476744,45.9761859104926,13.602052265924428
+8682,45.922175321469624,13.801972422476744,46.0525884956673,14.14917329960449,45.962171253852,13.98672350695512
+8683,45.79176214727195,14.14917329960449,46.0525884956673,14.843575053859983,45.94764664453585,14.444550630428969
+8684,46.0525884956673,13.454771545348997,46.31341484406265,14.14917329960449,46.16770141364883,13.689985300410578
+8685,46.0525884956673,14.14917329960449,46.18300166986498,14.496374176732235,46.11587194269206,14.435831105763251
+8686,46.0525884956673,14.496374176732235,46.18300166986498,14.843575053859983,46.11589760355955,14.5984663160798
+8687,46.18300166986498,14.14917329960449,46.31341484406265,14.496374176732235,46.24338520752976,14.389174365292703
+8688,46.18300166986498,14.496374176732235,46.31341484406265,14.843575053859983,46.22843002250271,14.636609329403715
+8689,45.27010945048125,14.843575053859983,45.5309357988766,15.537976808115475,45.408275347304375,15.183089812722011
+8690,45.27010945048125,15.537976808115475,45.5309357988766,16.232378562370968,45.399305109300265,15.832533489080614
+8691,45.5309357988766,14.843575053859983,45.79176214727195,15.537976808115475,45.68054800510848,15.201402193357099
+8692,45.5309357988766,15.537976808115475,45.661348973074276,15.885177685243221,45.60254472800663,15.651351796832
+8693,45.5309357988766,15.885177685243221,45.661348973074276,16.232378562370968,45.60058417371732,16.019272475918616
+8694,45.661348973074276,15.537976808115475,45.79176214727195,15.885177685243221,45.72853726673708,15.805734486278238
+8695,45.661348973074276,15.885177685243221,45.79176214727195,16.232378562370968,45.737783633178516,16.031038939519167
+8696,45.27010945048125,16.232378562370968,45.79176214727195,17.621182070881957,45.49953892795278,16.622615235644965
+8697,45.79176214727195,14.843575053859983,46.0525884956673,15.537976808115475,45.87334669700256,15.130771753871453
+8698,45.79176214727195,15.537976808115475,45.922175321469624,15.885177685243221,45.85813059240324,15.766213648931943
+8699,45.79176214727195,15.885177685243221,45.922175321469624,16.232378562370968,45.83497215371289,15.997721687364391
+8700,45.922175321469624,15.537976808115475,46.0525884956673,15.885177685243221,45.98568529014842,15.785858095082366
+8701,45.922175321469624,15.885177685243221,46.0525884956673,16.232378562370968,45.99870840291169,15.994796229219498
+8702,46.0525884956673,14.843575053859983,46.31341484406265,15.537976808115475,46.21013251498191,15.183538520858106
+8703,46.0525884956673,15.537976808115475,46.18300166986498,15.885177685243221,46.13218018883781,15.778629243197186
+8704,46.0525884956673,15.885177685243221,46.18300166986498,16.232378562370968,46.114642572670434,16.00818999908686
+8705,46.18300166986498,15.537976808115475,46.31341484406265,15.885177685243221,46.232576587668,15.7245672943556
+8706,46.18300166986498,15.885177685243221,46.31341484406265,16.232378562370968,46.227956398721275,16.071575288383542
+8707,45.79176214727195,16.232378562370968,46.0525884956673,16.926780316626463,45.92084334538317,16.633479656030204
+8708,45.79176214727195,16.926780316626463,46.0525884956673,17.621182070881957,45.949556007692074,17.336030933388646
+8709,46.0525884956673,16.232378562370968,46.31341484406265,16.926780316626463,46.22479317620093,16.459441891987584
+8710,46.0525884956673,16.926780316626463,46.31341484406265,17.621182070881957,46.21694003319196,17.11407145626107
+8711,46.31341484406265,12.06596803683801,46.574241192458,12.760369791093503,46.49116662770439,12.321887800736688
+8712,46.31341484406265,12.760369791093503,46.44382801826032,13.10757066822125,46.3936700389593,12.99184039026028
+8713,46.31341484406265,13.10757066822125,46.44382801826032,13.454771545348997,46.382463822263134,13.249677708085919
+8714,46.44382801826032,12.760369791093503,46.574241192458,13.10757066822125,46.50890337269983,12.943446814904433
+8715,46.44382801826032,13.10757066822125,46.574241192458,13.454771545348997,46.50069269037132,13.254304803176684
+8716,46.574241192458,12.06596803683801,46.835067540853345,12.760369791093503,46.66973095357813,12.402211922828377
+8717,46.574241192458,12.760369791093503,46.835067540853345,13.454771545348997,46.706898081332994,13.025085706198412
+8718,46.31341484406265,13.454771545348997,46.44382801826032,13.801972422476744,46.38400592725937,13.606824545375936
+8719,46.31341484406265,13.801972422476744,46.44382801826032,14.14917329960449,46.4060417631009,14.0531618729109
+8720,46.44382801826032,13.454771545348997,46.574241192458,13.801972422476744,46.50827536206717,13.63719948344003
+8721,46.44382801826032,13.801972422476744,46.574241192458,14.14917329960449,46.51842282237205,13.99826599933631
+8722,46.31341484406265,14.14917329960449,46.574241192458,14.843575053859983,46.45197316084519,14.440677600618171
+8723,46.574241192458,13.454771545348997,46.835067540853345,14.14917329960449,46.69196789880935,13.82330371011008
+8724,46.574241192458,14.14917329960449,46.704654366655674,14.496374176732235,46.62797425925597,14.287208596062655
+8725,46.574241192458,14.496374176732235,46.704654366655674,14.843575053859983,46.63295098684177,14.634282259994968
+8726,46.704654366655674,14.14917329960449,46.835067540853345,14.496374176732235,46.75027066174546,14.348361847694788
+8727,46.704654366655674,14.496374176732235,46.835067540853345,14.843575053859983,46.775544247429025,14.744989090030094
+8728,46.835067540853345,12.06596803683801,47.09589388924869,12.760369791093503,46.96575945476244,12.496322478379104
+8729,46.835067540853345,12.760369791093503,47.09589388924869,13.454771545348997,46.92120588358203,13.06267392051362
+8730,47.09589388924869,12.06596803683801,47.35672023764404,12.760369791093503,47.25770031731911,12.434990151067698
+8731,47.09589388924869,12.760369791093503,47.22630706344637,13.10757066822125,47.17235667267797,13.042277667003734
+8732,47.09589388924869,13.10757066822125,47.22630706344637,13.454771545348997,47.16323353363362,13.247425522522924
+8733,47.22630706344637,12.760369791093503,47.35672023764404,13.10757066822125,47.2978848980248,12.978600960069747
+8734,47.22630706344637,13.10757066822125,47.35672023764404,13.454771545348997,47.3079247190074,13.238140408519067
+8735,46.835067540853345,13.454771545348997,47.09589388924869,14.14917329960449,46.983276967005146,13.818040547836196
+8736,46.835067540853345,14.14917329960449,47.09589388924869,14.843575053859983,46.919882914254856,14.51539555094826
+8737,47.09589388924869,13.454771545348997,47.35672023764404,14.14917329960449,47.23503559254709,13.705724345848134
+8738,47.09589388924869,14.14917329960449,47.35672023764404,14.843575053859983,47.192707827386954,14.57261101804702
+8739,46.31341484406265,14.843575053859983,46.574241192458,15.537976808115475,46.44913647934691,15.245156266432971
+8740,46.31341484406265,15.537976808115475,46.574241192458,16.232378562370968,46.47406431394426,15.73093591172485
+8741,46.574241192458,14.843575053859983,46.835067540853345,15.537976808115475,46.74025304853791,15.313912672758933
+8742,46.574241192458,15.537976808115475,46.835067540853345,16.232378562370968,46.683247251784245,15.725307414250672
+8743,46.31341484406265,16.232378562370968,46.574241192458,16.926780316626463,46.44673170647126,16.610754783805078
+8744,46.31341484406265,16.926780316626463,46.574241192458,17.621182070881957,46.473657235720154,17.099898751372702
+8745,46.574241192458,16.232378562370968,46.835067540853345,16.926780316626463,46.718542909751406,16.587775497098416
+8746,46.574241192458,16.926780316626463,46.835067540853345,17.621182070881957,46.72799322707503,17.26475590970976
+8747,46.835067540853345,14.843575053859983,46.965480715051015,15.19077593098773,46.93099490373076,14.96718007443786
+8748,46.835067540853345,15.19077593098773,46.965480715051015,15.537976808115475,46.906473669572854,15.426356551846068
+8749,46.965480715051015,14.843575053859983,47.09589388924869,15.19077593098773,47.014342148628664,15.103959799177067
+8750,46.965480715051015,15.19077593098773,47.09589388924869,15.537976808115475,47.043163033260036,15.419505346627195
+8751,46.835067540853345,15.537976808115475,47.09589388924869,16.232378562370968,46.996324921369634,15.894535577922474
+8752,47.09589388924869,14.843575053859983,47.35672023764404,15.537976808115475,47.19832384066963,15.307271908319334
+8753,47.09589388924869,15.537976808115475,47.35672023764404,16.232378562370968,47.239144609356416,15.832274866952035
+8754,46.835067540853345,16.232378562370968,47.09589388924869,16.926780316626463,46.93275956485354,16.679825209060503
+8755,46.835067540853345,16.926780316626463,47.09589388924869,17.621182070881957,46.93542112081,17.31952348281704
+8756,47.09589388924869,16.232378562370968,47.35672023764404,16.926780316626463,47.245343018110226,16.636497302407825
+8757,47.09589388924869,16.926780316626463,47.35672023764404,17.621182070881957,47.19017613344426,17.302331641838258
+8758,45.27010945048125,17.621182070881957,45.5309357988766,18.315583825137452,45.403129989855884,17.886298066358787
+8759,45.27010945048125,18.315583825137452,45.5309357988766,19.009985579392943,45.412020482558376,18.63035305648063
+8760,45.5309357988766,17.621182070881957,45.79176214727195,18.315583825137452,45.6126923563645,17.968748188671636
+8761,45.5309357988766,18.315583825137452,45.79176214727195,19.009985579392943,45.58190362173386,18.660910435653218
+8762,45.27010945048125,19.009985579392943,45.5309357988766,19.704387333648434,45.400842055359924,19.394658836872654
+8763,45.27010945048125,19.704387333648434,45.5309357988766,20.39878908790393,45.36801994213116,20.021788705700093
+8764,45.5309357988766,19.009985579392943,45.79176214727195,19.704387333648434,45.7028444029275,19.445546867456848
+8765,45.5309357988766,19.704387333648434,45.79176214727195,20.39878908790393,45.67337798391145,19.968438455742106
+8766,45.79176214727195,17.621182070881957,46.0525884956673,18.315583825137452,45.94691166432605,18.043128604367197
+8767,45.79176214727195,18.315583825137452,46.0525884956673,19.009985579392943,45.92764259559744,18.52796933624751
+8768,46.0525884956673,17.621182070881957,46.18300166986498,17.968382948009705,46.10453613910931,17.855619641160708
+8769,46.0525884956673,17.968382948009705,46.18300166986498,18.315583825137452,46.111431180472984,18.155748575340965
+8770,46.18300166986498,17.621182070881957,46.31341484406265,17.968382948009705,46.25976610681493,17.856854739391252
+8771,46.18300166986498,17.968382948009705,46.31341484406265,18.315583825137452,46.23242710581063,18.150148134006464
+8772,46.0525884956673,18.315583825137452,46.31341484406265,19.009985579392943,46.19324436771924,18.57115939302611
+8773,45.79176214727195,19.009985579392943,46.0525884956673,19.704387333648434,45.86194725132621,19.640229811929366
+8774,45.79176214727195,19.704387333648434,46.0525884956673,20.39878908790393,45.941621772362176,20.105611284986892
+8775,46.0525884956673,19.009985579392943,46.31341484406265,19.704387333648434,46.1133418735544,19.639623108983987
+8776,46.0525884956673,19.704387333648434,46.31341484406265,20.39878908790393,46.22159767650278,20.080079496264744
+8777,45.27010945048125,20.39878908790393,45.5309357988766,21.093190842159423,45.37886751588334,20.692123468349177
+8778,45.27010945048125,21.093190842159423,45.5309357988766,21.787592596414918,45.435939435380945,21.30559175848719
+8779,45.5309357988766,20.39878908790393,45.79176214727195,21.093190842159423,45.666216301867024,20.60433737675618
+8780,45.5309357988766,21.093190842159423,45.79176214727195,21.787592596414918,45.736363875347166,21.290744297488295
+8781,45.27010945048125,21.787592596414918,45.5309357988766,22.481994350670412,45.42832764928209,22.137878887313924
+8782,45.27010945048125,22.481994350670412,45.5309357988766,23.176396104925903,45.429307226869035,22.910440080476572
+8783,45.5309357988766,21.787592596414918,45.79176214727195,22.481994350670412,45.71206652903701,21.990597344962126
+8784,45.5309357988766,22.481994350670412,45.79176214727195,23.176396104925903,45.668793294291476,22.95239530350662
+8785,45.79176214727195,20.39878908790393,46.0525884956673,21.093190842159423,45.84989684455814,20.48680872423032
+8786,45.79176214727195,21.093190842159423,46.0525884956673,21.787592596414918,45.86330157683274,21.478086658247864
+8787,46.0525884956673,20.39878908790393,46.31341484406265,21.093190842159423,46.21966834757507,20.667234708465344
+8788,46.0525884956673,21.093190842159423,46.31341484406265,21.787592596414918,46.190176892133614,21.49157271548307
+8789,45.79176214727195,21.787592596414918,46.0525884956673,22.481994350670412,45.88531589906211,22.100122094725386
+8790,45.79176214727195,22.481994350670412,46.0525884956673,23.176396104925903,45.88790470057368,22.899553738823275
+8791,46.0525884956673,21.787592596414918,46.31341484406265,22.481994350670412,46.20839962897843,22.160585659612487
+8792,46.0525884956673,22.481994350670412,46.31341484406265,23.176396104925903,46.21203062731956,22.73933747874202
+8793,46.31341484406265,17.621182070881957,46.574241192458,18.315583825137452,46.44011875613357,17.86544418437948
+8794,46.31341484406265,18.315583825137452,46.574241192458,19.009985579392943,46.43955338225492,18.68158685670638
+8795,46.574241192458,17.621182070881957,46.835067540853345,18.315583825137452,46.71542920754145,17.89553631596681
+8796,46.574241192458,18.315583825137452,46.835067540853345,19.009985579392943,46.70458074218593,18.689507218639395
+8797,46.31341484406265,19.009985579392943,46.835067540853345,20.39878908790393,46.56623250263128,19.77502291678719
+8798,46.835067540853345,17.621182070881957,46.965480715051015,17.968382948009705,46.899785055275615,17.82099301749229
+8799,46.835067540853345,17.968382948009705,46.965480715051015,18.315583825137452,46.915007586809516,18.11681633660817
+8800,46.965480715051015,17.621182070881957,47.09589388924869,17.968382948009705,47.026934512917315,17.82740298002764
+8801,46.965480715051015,17.968382948009705,47.09589388924869,18.315583825137452,47.02642676823497,18.112534970583997
+8802,46.835067540853345,18.315583825137452,47.09589388924869,19.009985579392943,46.957892242466144,18.792455641705683
+8803,47.09589388924869,17.621182070881957,47.35672023764404,18.315583825137452,47.20366253708175,17.928885037289902
+8804,47.09589388924869,18.315583825137452,47.22630706344637,18.6627847022652,47.16912639006607,18.487978151108507
+8805,47.09589388924869,18.6627847022652,47.22630706344637,19.009985579392943,47.160083798412614,18.872278610203253
+8806,47.22630706344637,18.315583825137452,47.35672023764404,18.6627847022652,47.27552318471341,18.534435943562734
+8807,47.22630706344637,18.6627847022652,47.35672023764404,19.009985579392943,47.29664755387503,18.865571237904906
+8808,46.835067540853345,19.009985579392943,47.09589388924869,19.704387333648434,46.99280724310272,19.434478438750798
+8809,46.835067540853345,19.704387333648434,47.09589388924869,20.39878908790393,46.95200467950559,20.0015412149585
+8810,47.09589388924869,19.009985579392943,47.22630706344637,19.357186456520687,47.16899705638495,19.203948575828225
+8811,47.09589388924869,19.357186456520687,47.22630706344637,19.704387333648434,47.16312174222032,19.52132534140866
+8812,47.22630706344637,19.009985579392943,47.35672023764404,19.357186456520687,47.29946140992757,19.127756703827483
+8813,47.22630706344637,19.357186456520687,47.35672023764404,19.704387333648434,47.29143352408421,19.530885781294934
+8814,47.09589388924869,19.704387333648434,47.35672023764404,20.39878908790393,47.214941186877944,19.952379386831435
+8815,46.31341484406265,20.39878908790393,46.574241192458,21.093190842159423,46.46123333359567,20.861779446467562
+8816,46.31341484406265,21.093190842159423,46.574241192458,21.787592596414918,46.440017116849425,21.37896369299267
+8817,46.574241192458,20.39878908790393,46.835067540853345,21.093190842159423,46.74862640852042,20.77038515353835
+8818,46.574241192458,21.093190842159423,46.835067540853345,21.787592596414918,46.70055315310292,21.283341580072847
+8819,46.31341484406265,21.787592596414918,46.574241192458,22.481994350670412,46.413858015400045,22.07445699304083
+8820,46.31341484406265,22.481994350670412,46.574241192458,23.176396104925903,46.430714147490534,22.839450707818354
+8821,46.574241192458,21.787592596414918,46.835067540853345,22.481994350670412,46.71529932672193,22.065144591291194
+8822,46.574241192458,22.481994350670412,46.835067540853345,23.176396104925903,46.70166493058342,22.944912317174023
+8823,46.835067540853345,20.39878908790393,47.35672023764404,21.787592596414918,47.068861220664274,21.198834201618247
+8824,46.835067540853345,21.787592596414918,47.09589388924869,22.481994350670412,47.04424012397587,22.055575452627732
+8825,46.835067540853345,22.481994350670412,47.09589388924869,23.176396104925903,46.942662453788216,22.639008394205085
+8826,47.09589388924869,21.787592596414918,47.35672023764404,22.481994350670412,47.189884982562546,22.09209155955332
+8827,47.09589388924869,22.481994350670412,47.35672023764404,23.176396104925903,47.23402246840519,22.941055359242675
+8828,47.35672023764404,12.06596803683801,47.61754658603939,12.760369791093503,47.49126500037865,12.429816144578261
+8829,47.35672023764404,12.760369791093503,47.48713341184171,13.10757066822125,47.41792978759295,12.897021142063405
+8830,47.35672023764404,13.10757066822125,47.48713341184171,13.454771545348997,47.42466475112401,13.254217596223112
+8831,47.48713341184171,12.760369791093503,47.61754658603939,13.10757066822125,47.580204342062515,12.904810187394459
+8832,47.48713341184171,13.10757066822125,47.61754658603939,13.454771545348997,47.56078446647136,13.25476785410341
+8833,47.61754658603939,12.06596803683801,47.747959760237066,12.413168913965755,47.6866451487142,12.20261737785323
+8834,47.61754658603939,12.413168913965755,47.747959760237066,12.760369791093503,47.68353110991574,12.573190382737254
+8835,47.747959760237066,12.06596803683801,47.878372934434736,12.413168913965755,47.81805215215672,12.237000916883753
+8836,47.747959760237066,12.413168913965755,47.878372934434736,12.760369791093503,47.82465613524384,12.586943289797928
+8837,47.61754658603939,12.760369791093503,47.747959760237066,13.10757066822125,47.6877228398526,13.020986483519977
+8838,47.61754658603939,13.10757066822125,47.747959760237066,13.454771545348997,47.6643226278192,13.20369716433689
+8839,47.747959760237066,12.760369791093503,47.878372934434736,13.10757066822125,47.802211854862705,13.009685634139645
+8840,47.747959760237066,13.10757066822125,47.878372934434736,13.454771545348997,47.808761085822134,13.231995028558075
+8841,47.35672023764404,13.454771545348997,47.61754658603939,14.14917329960449,47.452376951509294,13.723330279508774
+8842,47.35672023764404,14.14917329960449,47.61754658603939,14.843575053859983,47.50612196630572,14.444470134722689
+8843,47.61754658603939,13.454771545348997,47.878372934434736,14.14917329960449,47.745395090490355,13.701147385377507
+8844,47.61754658603939,14.14917329960449,47.878372934434736,14.843575053859983,47.73861011191819,14.495178316797436
+8845,47.878372934434736,12.06596803683801,48.008786108632414,12.413168913965755,47.944217551364325,12.262016319657041
+8846,47.878372934434736,12.413168913965755,48.008786108632414,12.760369791093503,47.929279713624695,12.570718487819724
+8847,48.008786108632414,12.06596803683801,48.13919928283009,12.413168913965755,48.0676214908411,12.252659875074242
+8848,48.008786108632414,12.413168913965755,48.13919928283009,12.760369791093503,48.07707312433093,12.554980491545756
+8849,47.878372934434736,12.760369791093503,48.13919928283009,13.454771545348997,47.973951453613665,13.078192470787565
+8850,48.13919928283009,12.06596803683801,48.40002563122544,12.760369791093503,48.26279566905627,12.44459760050849
+8851,48.13919928283009,12.760369791093503,48.40002563122544,13.454771545348997,48.27685844251472,13.160192024102829
+8852,47.878372934434736,13.454771545348997,48.008786108632414,13.801972422476744,47.95753812276333,13.656584861728275
+8853,47.878372934434736,13.801972422476744,48.008786108632414,14.14917329960449,47.93592805018879,14.061011629523875
+8854,48.008786108632414,13.454771545348997,48.13919928283009,13.801972422476744,48.061802678654665,13.669468328812785
+8855,48.008786108632414,13.801972422476744,48.13919928283009,14.14917329960449,48.08613450571748,14.013757238802341
+8856,47.878372934434736,14.14917329960449,48.13919928283009,14.843575053859983,48.036481248975676,14.418875589518706
+8857,48.13919928283009,13.454771545348997,48.26961245702776,13.801972422476744,48.192115465221335,13.618366362606078
+8858,48.13919928283009,13.801972422476744,48.26961245702776,14.14917329960449,48.19540653735072,13.981491894111175
+8859,48.26961245702776,13.454771545348997,48.40002563122544,13.801972422476744,48.34115967925583,13.68916073233364
+8860,48.26961245702776,13.801972422476744,48.40002563122544,14.14917329960449,48.33315216163618,14.004320674801873
+8861,48.13919928283009,14.14917329960449,48.26961245702776,14.496374176732235,48.21840190784581,14.291563556556016
+8862,48.13919928283009,14.496374176732235,48.26961245702776,14.843575053859983,48.20911236127138,14.657338475680358
+8863,48.26961245702776,14.14917329960449,48.40002563122544,14.496374176732235,48.318721160966085,14.29865983462325
+8864,48.26961245702776,14.496374176732235,48.40002563122544,14.843575053859983,48.33491406291691,14.617600958827984
+8865,47.35672023764404,14.843575053859983,47.61754658603939,15.537976808115475,47.432465392285465,15.16214433772185
+8866,47.35672023764404,15.537976808115475,47.61754658603939,16.232378562370968,47.483761418584095,15.895285298968128
+8867,47.61754658603939,14.843575053859983,47.878372934434736,15.537976808115475,47.75152493339962,15.192741705415832
+8868,47.61754658603939,15.537976808115475,47.878372934434736,16.232378562370968,47.74212857739287,16.01045206039416
+8869,47.35672023764404,16.232378562370968,47.61754658603939,16.926780316626463,47.48340478735255,16.635723170155437
+8870,47.35672023764404,16.926780316626463,47.61754658603939,17.621182070881957,47.529723815937594,17.15705030308614
+8871,47.61754658603939,16.232378562370968,47.878372934434736,16.926780316626463,47.75555160765332,16.537156296350418
+8872,47.61754658603939,16.926780316626463,47.878372934434736,17.621182070881957,47.779030628553926,17.39222021646495
+8873,47.878372934434736,14.843575053859983,48.13919928283009,15.537976808115475,48.06548847959998,15.01490713083411
+8874,47.878372934434736,15.537976808115475,48.13919928283009,16.232378562370968,48.00361511578768,16.069919539330087
+8875,48.13919928283009,14.843575053859983,48.40002563122544,15.537976808115475,48.2329112661887,15.213232618422184
+8876,48.13919928283009,15.537976808115475,48.40002563122544,16.232378562370968,48.26488129835184,15.960647031828517
+8877,47.878372934434736,16.232378562370968,48.008786108632414,16.579579439498715,47.9590978139461,16.36659635378151
+8878,47.878372934434736,16.579579439498715,48.008786108632414,16.926780316626463,47.955223218232355,16.754703568224397
+8879,48.008786108632414,16.232378562370968,48.13919928283009,16.579579439498715,48.07840615158501,16.358725227776198
+8880,48.008786108632414,16.579579439498715,48.13919928283009,16.926780316626463,48.059489401676785,16.72460447923816
+8881,47.878372934434736,16.926780316626463,48.13919928283009,17.621182070881957,48.02744666279115,17.222395746783622
+8882,48.13919928283009,16.232378562370968,48.26961245702776,16.579579439498715,48.20593769015511,16.37548604782485
+8883,48.13919928283009,16.579579439498715,48.26961245702776,16.926780316626463,48.20305956025058,16.780333989206333
+8884,48.26961245702776,16.232378562370968,48.40002563122544,16.579579439498715,48.323167422302284,16.401852227604255
+8885,48.26961245702776,16.579579439498715,48.40002563122544,16.926780316626463,48.33357627249099,16.729938698252393
+8886,48.13919928283009,16.926780316626463,48.40002563122544,17.621182070881957,48.22739340640297,17.19083805800313
+8887,48.40002563122544,12.06596803683801,48.66085197962079,12.760369791093503,48.51665204123287,12.267372411689774
+8888,48.40002563122544,12.760369791093503,48.66085197962079,13.454771545348997,48.50753208391944,13.23078029436527
+8889,48.66085197962079,12.06596803683801,48.92167832801614,12.760369791093503,48.80315733658739,12.444087943314296
+8890,48.66085197962079,12.760369791093503,48.92167832801614,13.454771545348997,48.78596757917707,13.025566004219032
+8891,48.40002563122544,13.454771545348997,48.66085197962079,14.14917329960449,48.501949918568066,13.811467682291802
+8892,48.40002563122544,14.14917329960449,48.66085197962079,14.843575053859983,48.49063158859836,14.469310782454858
+8893,48.66085197962079,13.454771545348997,48.92167832801614,14.14917329960449,48.79052907222478,13.718302778478769
+8894,48.66085197962079,14.14917329960449,48.92167832801614,14.843575053859983,48.84506931280163,14.462865546306913
+8895,48.92167832801614,12.06596803683801,49.18250467641149,12.760369791093503,49.034328784309515,12.353444075261512
+8896,48.92167832801614,12.760369791093503,49.18250467641149,13.454771545348997,49.057224936434814,13.026368742885596
+8897,49.18250467641149,12.06596803683801,49.44333102480684,12.760369791093503,49.335250582577224,12.386994271867996
+8898,49.18250467641149,12.760369791093503,49.44333102480684,13.454771545348997,49.324997216721094,13.062433361365324
+8899,48.92167832801614,13.454771545348997,49.18250467641149,14.14917329960449,49.06060227733107,13.707581836720738
+8900,48.92167832801614,14.14917329960449,49.18250467641149,14.843575053859983,49.05561719826189,14.561385168536054
+8901,49.18250467641149,13.454771545348997,49.44333102480684,14.14917329960449,49.33558870105441,13.816053601337552
+8902,49.18250467641149,14.14917329960449,49.44333102480684,14.843575053859983,49.32217864942018,14.513569587358303
+8903,48.40002563122544,14.843575053859983,48.92167832801614,16.232378562370968,48.6172859999407,15.671640281798682
+8904,48.40002563122544,16.232378562370968,48.66085197962079,16.926780316626463,48.51586756224,16.55996156752081
+8905,48.40002563122544,16.926780316626463,48.66085197962079,17.621182070881957,48.53888977665171,17.21101148421377
+8906,48.66085197962079,16.232378562370968,48.92167832801614,16.926780316626463,48.78742544555002,16.6049194132947
+8907,48.66085197962079,16.926780316626463,48.791265153818465,17.27398119375421,48.72178752632148,17.09577682377882
+8908,48.66085197962079,17.27398119375421,48.791265153818465,17.621182070881957,48.730723248019345,17.428487148965225
+8909,48.791265153818465,16.926780316626463,48.92167832801614,17.27398119375421,48.839805964354895,17.198401203854807
+8910,48.791265153818465,17.27398119375421,48.92167832801614,17.621182070881957,48.842252876900666,17.437043481021746
+8911,48.92167832801614,14.843575053859983,49.44333102480684,16.232378562370968,49.258781844825826,15.683643706202432
+8912,48.92167832801614,16.232378562370968,49.18250467641149,16.926780316626463,49.1186986717099,16.57227310308288
+8913,48.92167832801614,16.926780316626463,49.18250467641149,17.621182070881957,49.05863602113197,17.398205110066606
+8914,49.18250467641149,16.232378562370968,49.31291785060917,16.579579439498715,49.22635615632605,16.46992008052717
+8915,49.18250467641149,16.579579439498715,49.31291785060917,16.926780316626463,49.21837131821151,16.663807422017246
+8916,49.31291785060917,16.232378562370968,49.44333102480684,16.579579439498715,49.374863029818734,16.421221084338836
+8917,49.31291785060917,16.579579439498715,49.44333102480684,16.926780316626463,49.372111366680386,16.691070144374546
+8918,49.18250467641149,16.926780316626463,49.44333102480684,17.621182070881957,49.30398483428388,17.356803569170104
+8919,47.35672023764404,17.621182070881957,47.61754658603939,18.315583825137452,47.459924996220984,17.979719563079172
+8920,47.35672023764404,18.315583825137452,47.48713341184171,18.6627847022652,47.43411875834578,18.463627488651706
+8921,47.35672023764404,18.6627847022652,47.48713341184171,19.009985579392943,47.43729561402951,18.901071121899847
+8922,47.48713341184171,18.315583825137452,47.61754658603939,18.6627847022652,47.5499953649873,18.484381591915632
+8923,47.48713341184171,18.6627847022652,47.61754658603939,19.009985579392943,47.54819464634116,18.899226985815798
+8924,47.61754658603939,17.621182070881957,47.878372934434736,18.315583825137452,47.73760222353238,17.952378414978497
+8925,47.61754658603939,18.315583825137452,47.747959760237066,18.6627847022652,47.68914568659501,18.508833903958404
+8926,47.61754658603939,18.6627847022652,47.747959760237066,19.009985579392943,47.681348699032576,18.861593280552313
+8927,47.747959760237066,18.315583825137452,47.878372934434736,18.6627847022652,47.79396475333615,18.51676351557605
+8928,47.747959760237066,18.6627847022652,47.878372934434736,19.009985579392943,47.80347250628596,18.85135527727759
+8929,47.35672023764404,19.009985579392943,47.48713341184171,19.357186456520687,47.43523469209217,19.150667196223967
+8930,47.35672023764404,19.357186456520687,47.48713341184171,19.704387333648434,47.40783516016423,19.51291792737475
+8931,47.48713341184171,19.009985579392943,47.61754658603939,19.357186456520687,47.54802881112589,19.133854714803743
+8932,47.48713341184171,19.357186456520687,47.61754658603939,19.704387333648434,47.560252007534864,19.51209179309635
+8933,47.35672023764404,19.704387333648434,47.61754658603939,20.39878908790393,47.461646725599586,19.842284603821376
+8934,47.61754658603939,19.009985579392943,47.747959760237066,19.357186456520687,47.669507996087376,19.137859444880657
+8935,47.61754658603939,19.357186456520687,47.747959760237066,19.704387333648434,47.66603111346853,19.5721875562991
+8936,47.747959760237066,19.009985579392943,47.878372934434736,19.357186456520687,47.80312643372359,19.125163740342195
+8937,47.747959760237066,19.357186456520687,47.878372934434736,19.704387333648434,47.8086365113794,19.510550947733574
+8938,47.61754658603939,19.704387333648434,47.878372934434736,20.39878908790393,47.784602678052046,20.107401619340035
+8939,47.878372934434736,17.621182070881957,48.13919928283009,18.315583825137452,47.95760748026632,18.007028096812473
+8940,47.878372934434736,18.315583825137452,48.13919928283009,19.009985579392943,48.00370118573016,18.669315866626516
+8941,48.13919928283009,17.621182070881957,48.40002563122544,18.315583825137452,48.28262973943473,17.96220256918284
+8942,48.13919928283009,18.315583825137452,48.40002563122544,19.009985579392943,48.271960589132476,18.595478546709632
+8943,47.878372934434736,19.009985579392943,48.13919928283009,19.704387333648434,47.961879978426076,19.41184175087065
+8944,47.878372934434736,19.704387333648434,48.13919928283009,20.39878908790393,47.99086827012448,20.02153551513473
+8945,48.13919928283009,19.009985579392943,48.40002563122544,19.704387333648434,48.27210942381748,19.412475589137923
+8946,48.13919928283009,19.704387333648434,48.40002563122544,20.39878908790393,48.2617615924505,20.051433035922326
+8947,47.35672023764404,20.39878908790393,47.61754658603939,21.093190842159423,47.56960235279485,20.76677651237332
+8948,47.35672023764404,21.093190842159423,47.61754658603939,21.787592596414918,47.53269624013177,21.57090032164639
+8949,47.61754658603939,20.39878908790393,47.878372934434736,21.093190842159423,47.747770547491825,20.665373695544865
+8950,47.61754658603939,21.093190842159423,47.878372934434736,21.787592596414918,47.777100675885315,21.475090385799806
+8951,47.35672023764404,21.787592596414918,47.61754658603939,22.481994350670412,47.48365609404405,22.15070194132462
+8952,47.35672023764404,22.481994350670412,47.61754658603939,23.176396104925903,47.51825984738496,22.691738038164036
+8953,47.61754658603939,21.787592596414918,47.878372934434736,22.481994350670412,47.735833703778255,22.17932577087739
+8954,47.61754658603939,22.481994350670412,47.878372934434736,23.176396104925903,47.74289742699911,22.86088336071853
+8955,47.878372934434736,20.39878908790393,48.008786108632414,20.745989965031676,47.942418389562455,20.664552969132686
+8956,47.878372934434736,20.745989965031676,48.008786108632414,21.093190842159423,47.955959289822786,20.842312780949637
+8957,48.008786108632414,20.39878908790393,48.13919928283009,20.745989965031676,48.08067341178899,20.56578400504183
+8958,48.008786108632414,20.745989965031676,48.13919928283009,21.093190842159423,48.07735175165673,20.838393985978794
+8959,47.878372934434736,21.093190842159423,48.008786108632414,21.44039171928717,47.924559014100474,21.327028242681134
+8960,47.878372934434736,21.44039171928717,48.008786108632414,21.787592596414918,47.95014045832211,21.687923476135783
+8961,48.008786108632414,21.093190842159423,48.13919928283009,21.44039171928717,48.08893475945133,21.250904610219234
+8962,48.008786108632414,21.44039171928717,48.13919928283009,21.787592596414918,48.06309678869054,21.60676444562132
+8963,48.13919928283009,20.39878908790393,48.40002563122544,21.093190842159423,48.250594413724755,20.7126005204734
+8964,48.13919928283009,21.093190842159423,48.40002563122544,21.787592596414918,48.276440114486824,21.2864231514807
+8965,47.878372934434736,21.787592596414918,48.13919928283009,22.481994350670412,48.01669319422408,22.01847808118686
+8966,47.878372934434736,22.481994350670412,48.13919928283009,23.176396104925903,47.95197040869082,23.001626952609865
+8967,48.13919928283009,21.787592596414918,48.40002563122544,22.481994350670412,48.21736189663996,22.27013287651286
+8968,48.13919928283009,22.481994350670412,48.40002563122544,23.176396104925903,48.17455850919214,22.531438099832137
+8969,48.40002563122544,17.621182070881957,48.66085197962079,18.315583825137452,48.55092909924409,17.872548242674387
+8970,48.40002563122544,18.315583825137452,48.66085197962079,19.009985579392943,48.535595551632184,18.710453813761447
+8971,48.66085197962079,17.621182070881957,48.92167832801614,18.315583825137452,48.79295933130001,17.931885344848553
+8972,48.66085197962079,18.315583825137452,48.92167832801614,19.009985579392943,48.774618745934895,18.68378222520538
+8973,48.40002563122544,19.009985579392943,48.66085197962079,19.704387333648434,48.56259043121962,19.20643507438459
+8974,48.40002563122544,19.704387333648434,48.66085197962079,20.39878908790393,48.53908790057378,20.178858985057552
+8975,48.66085197962079,19.009985579392943,48.92167832801614,19.704387333648434,48.78381063966318,19.322947564451905
+8976,48.66085197962079,19.704387333648434,48.92167832801614,20.39878908790393,48.792036294254444,20.210900911501746
+8977,48.92167832801614,17.621182070881957,49.44333102480684,19.009985579392943,49.152454053664314,18.3774247002426
+8978,48.92167832801614,19.009985579392943,49.18250467641149,19.704387333648434,49.07207439635777,19.417586748190644
+8979,48.92167832801614,19.704387333648434,49.18250467641149,20.39878908790393,49.08006320579251,20.177136571353437
+8980,49.18250467641149,19.009985579392943,49.44333102480684,19.704387333648434,49.3167342275536,19.327571650158227
+8981,49.18250467641149,19.704387333648434,49.44333102480684,20.39878908790393,49.30648111757529,20.12341215120938
+8982,48.40002563122544,20.39878908790393,48.53043880542312,20.745989965031676,48.46329997963098,20.586045393898356
+8983,48.40002563122544,20.745989965031676,48.53043880542312,21.093190842159423,48.45046741604569,20.79599272176686
+8984,48.53043880542312,20.39878908790393,48.66085197962079,20.745989965031676,48.59158174718284,20.562277749606814
+8985,48.53043880542312,20.745989965031676,48.66085197962079,21.093190842159423,48.595712902939255,20.925189215964842
+8986,48.40002563122544,21.093190842159423,48.53043880542312,21.44039171928717,48.46354247136913,21.276198370034482
+8987,48.40002563122544,21.44039171928717,48.53043880542312,21.787592596414918,48.45330641331567,21.59792833847448
+8988,48.53043880542312,21.093190842159423,48.66085197962079,21.44039171928717,48.60952599038495,21.245763337234163
+8989,48.53043880542312,21.44039171928717,48.66085197962079,21.787592596414918,48.604743275188824,21.56136413233988
+8990,48.66085197962079,20.39878908790393,48.791265153818465,20.745989965031676,48.715283986237765,20.526638676263246
+8991,48.66085197962079,20.745989965031676,48.791265153818465,21.093190842159423,48.731182275801345,20.987097139108492
+8992,48.791265153818465,20.39878908790393,48.92167832801614,20.745989965031676,48.84127367775272,20.578029191429327
+8993,48.791265153818465,20.745989965031676,48.92167832801614,21.093190842159423,48.8560428279608,20.973196658550684
+8994,48.66085197962079,21.093190842159423,48.791265153818465,21.44039171928717,48.722468011283645,21.251243469081754
+8995,48.66085197962079,21.44039171928717,48.791265153818465,21.787592596414918,48.721630820124574,21.56866155460715
+8996,48.791265153818465,21.093190842159423,48.92167832801614,21.44039171928717,48.86776981414362,21.25228210900121
+8997,48.791265153818465,21.44039171928717,48.92167832801614,21.787592596414918,48.83252350818956,21.58053681512886
+8998,48.40002563122544,21.787592596414918,48.92167832801614,23.176396104925903,48.64629340102188,22.05605447124933
+8999,48.92167832801614,20.39878908790393,49.18250467641149,21.093190842159423,49.01331147189831,20.764090280051636
+9000,48.92167832801614,21.093190842159423,49.05209150221381,21.44039171928717,48.97014375451762,21.19433274853003
+9001,48.92167832801614,21.44039171928717,49.05209150221381,21.787592596414918,49.00686727007321,21.518143243419814
+9002,49.05209150221381,21.093190842159423,49.18250467641149,21.44039171928717,49.108757035214374,21.269523602254047
+9003,49.05209150221381,21.44039171928717,49.18250467641149,21.787592596414918,49.107157550228564,21.550970297427806
+9004,49.18250467641149,20.39878908790393,49.44333102480684,21.093190842159423,49.367621528145484,20.740335066925827
+9005,49.18250467641149,21.093190842159423,49.44333102480684,21.787592596414918,49.29960958147366,21.568133558152827
+9006,48.92167832801614,21.787592596414918,49.18250467641149,22.481994350670412,49.048497617858956,22.230783642606166
+9007,48.92167832801614,22.481994350670412,49.18250467641149,23.176396104925903,49.04939685912742,22.609528669003318
+9008,49.18250467641149,21.787592596414918,49.44333102480684,22.481994350670412,49.31183975131322,22.24084996051257
+9009,49.18250467641149,22.481994350670412,49.44333102480684,23.176396104925903,49.32101864387357,22.637345324115238
+9010,49.44333102480684,0.9555399687501165,49.704157373202186,1.6499417230056097,49.52983320974254,1.1929347290550167
+9011,49.44333102480684,1.6499417230056097,49.704157373202186,2.344343477261103,49.544436894864134,2.036996540217811
+9012,49.704157373202186,0.9555399687501165,49.964983721597534,1.6499417230056097,49.80648473312311,1.3997754520400605
+9013,49.704157373202186,1.6499417230056097,49.964983721597534,2.344343477261103,49.86108802417758,2.1393316672444467
+9014,49.44333102480684,2.344343477261103,49.704157373202186,3.0387452315165966,49.56282490193354,2.9266299376676552
+9015,49.44333102480684,3.0387452315165966,49.704157373202186,3.73314698577209,49.57284616655774,3.48255380919128
+9016,49.704157373202186,2.344343477261103,49.964983721597534,3.0387452315165966,49.87244529777561,2.751363995859169
+9017,49.704157373202186,3.0387452315165966,49.964983721597534,3.73314698577209,49.8607492913129,3.4116323905288786
+9018,49.964983721597534,0.9555399687501165,50.22581006999289,1.6499417230056097,50.10401677455502,1.4804158548830453
+9019,49.964983721597534,1.6499417230056097,50.22581006999289,2.344343477261103,50.13694071557498,1.833540206909154
+9020,50.22581006999289,0.9555399687501165,50.48663641838824,1.6499417230056097,50.373232601873255,1.605606886229424
+9021,50.22581006999289,1.6499417230056097,50.48663641838824,2.344343477261103,50.357587941134454,1.850292860575287
+9022,49.964983721597534,2.344343477261103,50.22581006999289,3.0387452315165966,50.10048277125014,2.802191627167254
+9023,49.964983721597534,3.0387452315165966,50.22581006999289,3.73314698577209,50.13630591247987,3.3011621080969067
+9024,50.22581006999289,2.344343477261103,50.35622324419056,2.6915443543888498,50.29316776393446,2.6356281529092844
+9025,50.22581006999289,2.6915443543888498,50.35622324419056,3.0387452315165966,50.28721850943133,2.782805392949887
+9026,50.35622324419056,2.344343477261103,50.48663641838824,2.6915443543888498,50.41097449824007,2.502270990766023
+9027,50.35622324419056,2.6915443543888498,50.48663641838824,3.0387452315165966,50.428864362995334,2.865169686870379
+9028,50.22581006999289,3.0387452315165966,50.35622324419056,3.385946108644343,50.30136223611832,3.201477255499684
+9029,50.22581006999289,3.385946108644343,50.35622324419056,3.73314698577209,50.32250446622013,3.534783594218388
+9030,50.35622324419056,3.0387452315165966,50.48663641838824,3.385946108644343,50.38315966152031,3.1201760658362745
+9031,50.35622324419056,3.385946108644343,50.48663641838824,3.73314698577209,50.403975698321986,3.5761420302912397
+9032,49.44333102480684,3.73314698577209,49.704157373202186,4.427548740027583,49.56913660496177,4.05974814834007
+9033,49.44333102480684,4.427548740027583,49.704157373202186,5.121950494283077,49.64419969338139,4.774542453891937
+9034,49.704157373202186,3.73314698577209,49.964983721597534,4.427548740027583,49.86190097586091,4.081899533093627
+9035,49.704157373202186,4.427548740027583,49.964983721597534,5.121950494283077,49.79629862353784,4.7481055864575294
+9036,49.44333102480684,5.121950494283077,49.704157373202186,5.8163522485385695,49.63874955004533,5.600054137608087
+9037,49.44333102480684,5.8163522485385695,49.57374419900451,6.163553125666317,49.52105885256141,5.975005086300339
+9038,49.44333102480684,6.163553125666317,49.57374419900451,6.510754002794063,49.51753798239211,6.329607492075189
+9039,49.57374419900451,5.8163522485385695,49.704157373202186,6.163553125666317,49.62709433254108,6.028039117336649
+9040,49.57374419900451,6.163553125666317,49.704157373202186,6.510754002794063,49.63784955796126,6.286901456213455
+9041,49.704157373202186,5.121950494283077,49.83457054739986,5.469151371410823,49.77757281892921,5.3139788589830195
+9042,49.704157373202186,5.469151371410823,49.83457054739986,5.8163522485385695,49.75806373273111,5.62903548068097
+9043,49.83457054739986,5.121950494283077,49.964983721597534,5.469151371410823,49.88002576984733,5.353409030170902
+9044,49.83457054739986,5.469151371410823,49.964983721597534,5.8163522485385695,49.88768688493879,5.662341866451009
+9045,49.704157373202186,5.8163522485385695,49.964983721597534,6.510754002794063,49.822813287125385,6.131250250020863
+9046,49.964983721597534,3.73314698577209,50.22581006999289,4.427548740027583,50.120464581275726,4.123684966427823
+9047,49.964983721597534,4.427548740027583,50.22581006999289,5.121950494283077,50.09693216837577,4.719493394072338
+9048,50.22581006999289,3.73314698577209,50.35622324419056,4.080347862899837,50.29257446933669,3.950649567469041
+9049,50.22581006999289,4.080347862899837,50.35622324419056,4.427548740027583,50.29429374858403,4.228768183514409
+9050,50.35622324419056,3.73314698577209,50.48663641838824,4.080347862899837,50.43966500073384,3.9302734431230233
+9051,50.35622324419056,4.080347862899837,50.48663641838824,4.427548740027583,50.428246570863706,4.258697479223993
+9052,50.22581006999289,4.427548740027583,50.48663641838824,5.121950494283077,50.34773739054214,4.854077405755793
+9053,49.964983721597534,5.121950494283077,50.22581006999289,5.8163522485385695,50.10403871898754,5.421546327580225
+9054,49.964983721597534,5.8163522485385695,50.22581006999289,6.510754002794063,50.108346488650874,6.121053296946496
+9055,50.22581006999289,5.121950494283077,50.48663641838824,5.8163522485385695,50.32065597863836,5.451712273846898
+9056,50.22581006999289,5.8163522485385695,50.48663641838824,6.510754002794063,50.353051587770885,6.149016523471303
+9057,50.48663641838824,0.9555399687501165,51.00828911517894,2.344343477261103,50.78210844234443,1.8248842194176156
+9058,50.48663641838824,2.344343477261103,50.617049592585914,2.6915443543888498,50.54210832703362,2.5957708274377485
+9059,50.48663641838824,2.6915443543888498,50.617049592585914,3.0387452315165966,50.56922488462085,2.907782341924996
+9060,50.617049592585914,2.344343477261103,50.747462766783585,2.6915443543888498,50.67807833689802,2.5271340547827146
+9061,50.617049592585914,2.6915443543888498,50.747462766783585,3.0387452315165966,50.679490126517955,2.9424259208544155
+9062,50.48663641838824,3.0387452315165966,50.617049592585914,3.385946108644343,50.585396803505404,3.1387729652713987
+9063,50.48663641838824,3.385946108644343,50.617049592585914,3.73314698577209,50.548138828066755,3.5722310772230474
+9064,50.617049592585914,3.0387452315165966,50.747462766783585,3.385946108644343,50.67922881880776,3.1537235822745036
+9065,50.617049592585914,3.385946108644343,50.747462766783585,3.73314698577209,50.70041456582722,3.5602047922869846
+9066,50.747462766783585,2.344343477261103,51.00828911517894,3.0387452315165966,50.87905868487437,2.789858177959309
+9067,50.747462766783585,3.0387452315165966,50.87787594098126,3.385946108644343,50.80182777841829,3.1706735077243526
+9068,50.747462766783585,3.385946108644343,50.87787594098126,3.73314698577209,50.80812517976343,3.5455769258130596
+9069,50.87787594098126,3.0387452315165966,51.00828911517894,3.385946108644343,50.950499627917196,3.178496396664347
+9070,50.87787594098126,3.385946108644343,51.00828911517894,3.73314698577209,50.94613729472409,3.52784756142139
+9071,51.00828911517894,0.9555399687501165,51.529941811969636,2.344343477261103,51.26142544871108,1.1874215252338578
+9072,51.00828911517894,2.344343477261103,51.26911546357429,3.0387452315165966,51.126615587669406,2.8235455786450276
+9073,51.00828911517894,3.0387452315165966,51.13870228937661,3.385946108644343,51.0664311275238,3.2030709480578476
+9074,51.00828911517894,3.385946108644343,51.13870228937661,3.73314698577209,51.07520991236689,3.5315367716647734
+9075,51.13870228937661,3.0387452315165966,51.26911546357429,3.385946108644343,51.19047838190925,3.185197661482608
+9076,51.13870228937661,3.385946108644343,51.26911546357429,3.73314698577209,51.18355027154069,3.52955578653663
+9077,51.26911546357429,2.344343477261103,51.529941811969636,3.0387452315165966,51.27309342185043,3.0314321175695715
+9078,51.26911546357429,3.0387452315165966,51.529941811969636,3.73314698577209,51.41872373866606,3.4882169623792314
+9079,50.48663641838824,3.73314698577209,50.617049592585914,4.080347862899837,50.54400179947429,3.9190485805224777
+9080,50.48663641838824,4.080347862899837,50.617049592585914,4.427548740027583,50.56120375732634,4.233823710253045
+9081,50.617049592585914,3.73314698577209,50.747462766783585,4.080347862899837,50.67719828016447,3.8926513632793958
+9082,50.617049592585914,4.080347862899837,50.747462766783585,4.427548740027583,50.693694215491576,4.264438683993466
+9083,50.48663641838824,4.427548740027583,50.747462766783585,5.121950494283077,50.61412965839996,4.725252528807371
+9084,50.747462766783585,3.73314698577209,50.87787594098126,4.080347862899837,50.81676959173043,3.884202070511539
+9085,50.747462766783585,4.080347862899837,50.87787594098126,4.427548740027583,50.82434967829872,4.308845396659826
+9086,50.87787594098126,3.73314698577209,51.00828911517894,4.080347862899837,50.95153769045188,3.9139068773453998
+9087,50.87787594098126,4.080347862899837,51.00828911517894,4.427548740027583,50.93939494142974,4.280000300916888
+9088,50.747462766783585,4.427548740027583,50.87787594098126,4.774749617155329,50.83054342270692,4.586175119390876
+9089,50.747462766783585,4.774749617155329,50.87787594098126,5.121950494283077,50.810355586253245,4.911222558169907
+9090,50.87787594098126,4.427548740027583,51.00828911517894,4.774749617155329,50.94143071979708,4.594841269175557
+9091,50.87787594098126,4.774749617155329,51.00828911517894,5.121950494283077,50.95705613886986,4.91072359165163
+9092,50.48663641838824,5.121950494283077,50.747462766783585,5.8163522485385695,50.61334715988715,5.534204753012791
+9093,50.48663641838824,5.8163522485385695,50.617049592585914,6.163553125666317,50.55119032611888,5.943977829010109
+9094,50.48663641838824,6.163553125666317,50.617049592585914,6.510754002794063,50.57484890716384,6.338085675383281
+9095,50.617049592585914,5.8163522485385695,50.747462766783585,6.163553125666317,50.70321864571091,6.02021024190571
+9096,50.617049592585914,6.163553125666317,50.747462766783585,6.510754002794063,50.6755977838925,6.378738179220561
+9097,50.747462766783585,5.121950494283077,50.87787594098126,5.469151371410823,50.82165794141414,5.275888455767618
+9098,50.747462766783585,5.469151371410823,50.87787594098126,5.8163522485385695,50.822503514371675,5.693337793770758
+9099,50.87787594098126,5.121950494283077,51.00828911517894,5.469151371410823,50.93690494257088,5.299118302954375
+9100,50.87787594098126,5.469151371410823,51.00828911517894,5.8163522485385695,50.94222806391485,5.688484519123482
+9101,50.747462766783585,5.8163522485385695,50.87787594098126,6.163553125666317,50.81147215685154,5.988995844009484
+9102,50.747462766783585,6.163553125666317,50.87787594098126,6.510754002794063,50.812625660585056,6.3785229254086815
+9103,50.87787594098126,5.8163522485385695,51.00828911517894,6.163553125666317,50.936738362848395,6.0096348898352945
+9104,50.87787594098126,6.163553125666317,51.00828911517894,6.510754002794063,50.94953592916681,6.29129475535502
+9105,51.00828911517894,3.73314698577209,51.13870228937661,4.080347862899837,51.06382980849271,3.8960903700019798
+9106,51.00828911517894,4.080347862899837,51.13870228937661,4.427548740027583,51.07729412614616,4.281029041443045
+9107,51.13870228937661,3.73314698577209,51.26911546357429,4.080347862899837,51.19663895797499,3.9205975987739397
+9108,51.13870228937661,4.080347862899837,51.26911546357429,4.427548740027583,51.19977837123498,4.298451550066033
+9109,51.00828911517894,4.427548740027583,51.13870228937661,4.774749617155329,51.076803705422485,4.582856322398491
+9110,51.00828911517894,4.774749617155329,51.13870228937661,5.121950494283077,51.07890170563303,4.922854193265427
+9111,51.13870228937661,4.427548740027583,51.26911546357429,4.774749617155329,51.20426400074504,4.5824933756867345
+9112,51.13870228937661,4.774749617155329,51.26911546357429,5.121950494283077,51.19677039675272,4.932256019007719
+9113,51.26911546357429,3.73314698577209,51.399528637771965,4.080347862899837,51.33743255419991,3.918256656096268
+9114,51.26911546357429,4.080347862899837,51.399528637771965,4.427548740027583,51.330875194415725,4.318052734612201
+9115,51.399528637771965,3.73314698577209,51.529941811969636,4.080347862899837,51.470118546220064,3.8923699522220754
+9116,51.399528637771965,4.080347862899837,51.529941811969636,4.427548740027583,51.453125994392565,4.292969671574882
+9117,51.26911546357429,4.427548740027583,51.399528637771965,4.774749617155329,51.33193275282149,4.589835906513957
+9118,51.26911546357429,4.774749617155329,51.399528637771965,5.121950494283077,51.32313788920817,4.904681028333626
+9119,51.399528637771965,4.427548740027583,51.529941811969636,4.774749617155329,51.449790494471394,4.568032123070191
+9120,51.399528637771965,4.774749617155329,51.529941811969636,5.121950494283077,51.466032656852526,4.936122785197374
+9121,51.00828911517894,5.121950494283077,51.26911546357429,5.8163522485385695,51.141150226953776,5.473069417481868
+9122,51.00828911517894,5.8163522485385695,51.13870228937661,6.163553125666317,51.06738793872053,6.0250559819847815
+9123,51.00828911517894,6.163553125666317,51.13870228937661,6.510754002794063,51.06872600758153,6.313133012363065
+9124,51.13870228937661,5.8163522485385695,51.26911546357429,6.163553125666317,51.19176055191025,5.997483184176596
+9125,51.13870228937661,6.163553125666317,51.26911546357429,6.510754002794063,51.203098756474354,6.361326390845814
+9126,51.26911546357429,5.121950494283077,51.399528637771965,5.469151371410823,51.35761281922096,5.33162727578528
+9127,51.26911546357429,5.469151371410823,51.399528637771965,5.8163522485385695,51.34338366085118,5.634791762376245
+9128,51.399528637771965,5.121950494283077,51.529941811969636,5.469151371410823,51.460548602118784,5.371566478045079
+9129,51.399528637771965,5.469151371410823,51.529941811969636,5.8163522485385695,51.45730905666949,5.588866900535178
+9130,51.26911546357429,5.8163522485385695,51.399528637771965,6.163553125666317,51.34339936814853,6.057811253216507
+9131,51.26911546357429,6.163553125666317,51.399528637771965,6.510754002794063,51.347788315834656,6.319950094087903
+9132,51.399528637771965,5.8163522485385695,51.529941811969636,6.163553125666317,51.449315944282326,6.053768787944235
+9133,51.399528637771965,6.163553125666317,51.529941811969636,6.510754002794063,51.460852032354296,6.312017759437908
+9134,49.44333102480684,6.510754002794063,49.57374419900451,6.8579548799218095,49.496505817527414,6.695231080839806
+9135,49.44333102480684,6.8579548799218095,49.57374419900451,7.205155757049557,49.50102442466459,7.061968280569727
+9136,49.57374419900451,6.510754002794063,49.704157373202186,6.8579548799218095,49.647547022799124,6.63754405739865
+9137,49.57374419900451,6.8579548799218095,49.704157373202186,7.205155757049557,49.62745669665997,7.055461756771365
+9138,49.44333102480684,7.205155757049557,49.704157373202186,7.89955751130505,49.54252430898364,7.481561441321275
+9139,49.704157373202186,6.510754002794063,49.83457054739986,6.8579548799218095,49.77129238976872,6.685466354549468
+9140,49.704157373202186,6.8579548799218095,49.83457054739986,7.205155757049557,49.7766524817266,7.011216953492052
+9141,49.83457054739986,6.510754002794063,49.964983721597534,6.8579548799218095,49.89931863951916,6.739240210241093
+9142,49.83457054739986,6.8579548799218095,49.964983721597534,7.205155757049557,49.896428005444164,7.0019050803495855
+9143,49.704157373202186,7.205155757049557,49.964983721597534,7.89955751130505,49.82505969497085,7.5975455532088345
+9144,49.44333102480684,7.89955751130505,49.57374419900451,8.246758388432795,49.50735020365684,8.119298293248784
+9145,49.44333102480684,8.246758388432795,49.57374419900451,8.593959265560542,49.5033153606257,8.443775940211392
+9146,49.57374419900451,7.89955751130505,49.704157373202186,8.246758388432795,49.63853211958429,8.071996085742965
+9147,49.57374419900451,8.246758388432795,49.704157373202186,8.593959265560542,49.63615366463728,8.422263547370942
+9148,49.44333102480684,8.593959265560542,49.57374419900451,8.94116014268829,49.50401827645601,8.721771858269102
+9149,49.44333102480684,8.94116014268829,49.57374419900451,9.288361019816037,49.492904505299585,9.11604560879529
+9150,49.57374419900451,8.593959265560542,49.704157373202186,8.94116014268829,49.638201616887066,8.742631897262786
+9151,49.57374419900451,8.94116014268829,49.704157373202186,9.288361019816037,49.64277468478302,9.10599379305983
+9152,49.704157373202186,7.89955751130505,49.83457054739986,8.246758388432795,49.77087854368919,8.062716716006571
+9153,49.704157373202186,8.246758388432795,49.83457054739986,8.593959265560542,49.77403138844487,8.451190503083113
+9154,49.83457054739986,7.89955751130505,49.964983721597534,8.246758388432795,49.916715467992034,8.110663839995475
+9155,49.83457054739986,8.246758388432795,49.964983721597534,8.593959265560542,49.91496762267298,8.412569936960388
+9156,49.704157373202186,8.593959265560542,49.964983721597534,9.288361019816037,49.826799352139965,8.866073390562477
+9157,49.964983721597534,6.510754002794063,50.22581006999289,7.205155757049557,50.09539287931911,6.910972876950087
+9158,49.964983721597534,7.205155757049557,50.22581006999289,7.89955751130505,50.09623469741548,7.566491333508591
+9159,50.22581006999289,6.510754002794063,50.48663641838824,7.205155757049557,50.33330709980175,6.854714892000374
+9160,50.22581006999289,7.205155757049557,50.35622324419056,7.552356634177303,50.292608611166116,7.379407276192924
+9161,50.22581006999289,7.552356634177303,50.35622324419056,7.89955751130505,50.29637899175832,7.691150420459575
+9162,50.35622324419056,7.205155757049557,50.48663641838824,7.552356634177303,50.41322352501277,7.395280800860362
+9163,50.35622324419056,7.552356634177303,50.48663641838824,7.89955751130505,50.418847460533094,7.706838258678717
+9164,49.964983721597534,7.89955751130505,50.09539689579521,8.246758388432795,50.01599855464148,8.13595407922306
+9165,49.964983721597534,8.246758388432795,50.09539689579521,8.593959265560542,50.02067396456605,8.424536187246197
+9166,50.09539689579521,7.89955751130505,50.22581006999289,8.246758388432795,50.15588340765979,8.103299983451874
+9167,50.09539689579521,8.246758388432795,50.22581006999289,8.593959265560542,50.15446597677508,8.444234569716203
+9168,49.964983721597534,8.593959265560542,50.09539689579521,8.94116014268829,50.03895580051226,8.728169629112934
+9169,49.964983721597534,8.94116014268829,50.09539689579521,9.288361019816037,50.02071570467046,9.115242798534217
+9170,50.09539689579521,8.593959265560542,50.22581006999289,8.94116014268829,50.14809499902293,8.71931240276923
+9171,50.09539689579521,8.94116014268829,50.22581006999289,9.288361019816037,50.15593233481743,9.113000221348077
+9172,50.22581006999289,7.89955751130505,50.48663641838824,8.593959265560542,50.36237001485215,8.176572398906789
+9173,50.22581006999289,8.593959265560542,50.48663641838824,9.288361019816037,50.369798713759074,8.865481534612499
+9174,49.44333102480684,9.288361019816037,49.704157373202186,9.98276277407153,49.59748759530005,9.70187758412348
+9175,49.44333102480684,9.98276277407153,49.704157373202186,10.677164528327022,49.63278700775642,10.118370099422366
+9176,49.704157373202186,9.288361019816037,49.83457054739986,9.635561896943784,49.7739509440815,9.484150517276163
+9177,49.704157373202186,9.635561896943784,49.83457054739986,9.98276277407153,49.771532516759564,9.881981859654829
+9178,49.83457054739986,9.288361019816037,49.964983721597534,9.635561896943784,49.885993486223434,9.450607940641623
+9179,49.83457054739986,9.635561896943784,49.964983721597534,9.98276277407153,49.87155365595433,9.878263218717983
+9180,49.704157373202186,9.98276277407153,49.83457054739986,10.329963651199275,49.77084120623606,10.07502140343452
+9181,49.704157373202186,10.329963651199275,49.83457054739986,10.677164528327022,49.77595987191898,10.543026873674389
+9182,49.83457054739986,9.98276277407153,49.964983721597534,10.329963651199275,49.86487502335018,10.114343212909455
+9183,49.83457054739986,10.329963651199275,49.964983721597534,10.677164528327022,49.88713598367212,10.49205197254665
+9184,49.44333102480684,10.677164528327022,49.57374419900451,11.02436540545477,49.50717847231781,10.929668987116681
+9185,49.44333102480684,11.02436540545477,49.57374419900451,11.371566282582517,49.502519762706754,11.12393326584384
+9186,49.57374419900451,10.677164528327022,49.704157373202186,11.02436540545477,49.62573379864766,10.929861045303307
+9187,49.57374419900451,11.02436540545477,49.704157373202186,11.371566282582517,49.63425809028365,11.10529858944848
+9188,49.44333102480684,11.371566282582517,49.704157373202186,12.06596803683801,49.55164690180249,11.686920811759737
+9189,49.704157373202186,10.677164528327022,49.83457054739986,11.02436540545477,49.78574618408082,10.864536972645032
+9190,49.704157373202186,11.02436540545477,49.83457054739986,11.371566282582517,49.77784844953992,11.145273220774747
+9191,49.83457054739986,10.677164528327022,49.964983721597534,11.02436540545477,49.9083596048062,10.879455909199228
+9192,49.83457054739986,11.02436540545477,49.964983721597534,11.371566282582517,49.90540386726266,11.140813094375401
+9193,49.704157373202186,11.371566282582517,49.964983721597534,12.06596803683801,49.832327067537285,11.691120599571343
+9194,49.964983721597534,9.288361019816037,50.22581006999289,9.98276277407153,50.08199876235693,9.711688437034496
+9195,49.964983721597534,9.98276277407153,50.22581006999289,10.677164528327022,50.0776567459977,10.321390266743954
+9196,50.22581006999289,9.288361019816037,50.48663641838824,9.98276277407153,50.36619328002565,9.607496273284548
+9197,50.22581006999289,9.98276277407153,50.48663641838824,10.677164528327022,50.363641904752384,10.352736964518465
+9198,49.964983721597534,10.677164528327022,50.09539689579521,11.02436540545477,50.01191787956517,10.883038877013655
+9199,49.964983721597534,11.02436540545477,50.09539689579521,11.371566282582517,50.01430298575203,11.161926118682093
+9200,50.09539689579521,10.677164528327022,50.22581006999289,11.02436540545477,50.15654271799913,10.906958583829901
+9201,50.09539689579521,11.02436540545477,50.22581006999289,11.371566282582517,50.15518420521266,11.156037275669622
+9202,49.964983721597534,11.371566282582517,50.22581006999289,12.06596803683801,50.07056602913552,11.759562116690965
+9203,50.22581006999289,10.677164528327022,50.48663641838824,11.371566282582517,50.36335821813075,11.053854442518709
+9204,50.22581006999289,11.371566282582517,50.48663641838824,12.06596803683801,50.36775922427113,11.69058072535172
+9205,50.48663641838824,6.510754002794063,50.617049592585914,6.8579548799218095,50.55762160047109,6.667509635810837
+9206,50.48663641838824,6.8579548799218095,50.617049592585914,7.205155757049557,50.54665411441256,7.021935851919247
+9207,50.617049592585914,6.510754002794063,50.747462766783585,6.8579548799218095,50.67697571122,6.687459738038196
+9208,50.617049592585914,6.8579548799218095,50.747462766783585,7.205155757049557,50.68554882466287,7.059232103786143
+9209,50.48663641838824,7.205155757049557,50.747462766783585,7.89955751130505,50.63079161894392,7.505632642387577
+9210,50.747462766783585,6.510754002794063,50.87787594098126,6.8579548799218095,50.810746442370046,6.664193504000028
+9211,50.747462766783585,6.8579548799218095,50.87787594098126,7.205155757049557,50.805873270628084,7.040039828937696
+9212,50.87787594098126,6.510754002794063,51.00828911517894,6.8579548799218095,50.93822707678646,6.6905142502749495
+9213,50.87787594098126,6.8579548799218095,51.00828911517894,7.205155757049557,50.9398618413921,6.985978045322475
+9214,50.747462766783585,7.205155757049557,51.00828911517894,7.89955751130505,50.86622781759348,7.469797621227126
+9215,50.48663641838824,7.89955751130505,50.747462766783585,8.593959265560542,50.613553081328405,8.262870460952225
+9216,50.48663641838824,8.593959265560542,50.617049592585914,8.94116014268829,50.562482469619184,8.735914872387378
+9217,50.48663641838824,8.94116014268829,50.617049592585914,9.288361019816037,50.55535654261843,9.038038940954445
+9218,50.617049592585914,8.593959265560542,50.747462766783585,8.94116014268829,50.655957743222295,8.751696961574464
+9219,50.617049592585914,8.94116014268829,50.747462766783585,9.288361019816037,50.67181837662211,9.0943420340529
+9220,50.747462766783585,7.89955751130505,51.00828911517894,8.593959265560542,50.88341358442158,8.224061335667107
+9221,50.747462766783585,8.593959265560542,51.00828911517894,9.288361019816037,50.86976177630184,8.963243751268108
+9222,51.00828911517894,6.510754002794063,51.13870228937661,6.8579548799218095,51.085598794438404,6.675015233352179
+9223,51.00828911517894,6.8579548799218095,51.13870228937661,7.205155757049557,51.06110365978219,7.02552245572935
+9224,51.13870228937661,6.510754002794063,51.26911546357429,6.8579548799218095,51.20421580266458,6.7237337790435046
+9225,51.13870228937661,6.8579548799218095,51.26911546357429,7.205155757049557,51.21452835760334,7.035433930843923
+9226,51.00828911517894,7.205155757049557,51.13870228937661,7.552356634177303,51.08246659279863,7.41532047095863
+9227,51.00828911517894,7.552356634177303,51.13870228937661,7.89955751130505,51.07706871858342,7.703652298134859
+9228,51.13870228937661,7.205155757049557,51.26911546357429,7.552356634177303,51.2084096588728,7.3450518308482
+9229,51.13870228937661,7.552356634177303,51.26911546357429,7.89955751130505,51.208451779247014,7.699923560054699
+9230,51.26911546357429,6.510754002794063,51.399528637771965,6.8579548799218095,51.34177297034756,6.67862698391938
+9231,51.26911546357429,6.8579548799218095,51.399528637771965,7.205155757049557,51.34415513065548,7.026567246336978
+9232,51.399528637771965,6.510754002794063,51.529941811969636,6.8579548799218095,51.456626181293665,6.712954072756281
+9233,51.399528637771965,6.8579548799218095,51.529941811969636,7.205155757049557,51.46172732230357,7.017956863782674
+9234,51.26911546357429,7.205155757049557,51.399528637771965,7.552356634177303,51.34154552688604,7.360943442907901
+9235,51.26911546357429,7.552356634177303,51.399528637771965,7.89955751130505,51.346253534575425,7.694480771274689
+9236,51.399528637771965,7.205155757049557,51.529941811969636,7.552356634177303,51.47391561080391,7.367435748200111
+9237,51.399528637771965,7.552356634177303,51.529941811969636,7.89955751130505,51.47241540763007,7.699830882251466
+9238,51.00828911517894,7.89955751130505,51.26911546357429,8.593959265560542,51.16091168329292,8.253388107460538
+9239,51.00828911517894,8.593959265560542,51.26911546357429,9.288361019816037,51.14106912027635,9.008127045223796
+9240,51.26911546357429,7.89955751130505,51.529941811969636,8.593959265560542,51.404181912662715,8.265388933635455
+9241,51.26911546357429,8.593959265560542,51.529941811969636,9.288361019816037,51.40300436775728,8.981282083405132
+9242,50.48663641838824,9.288361019816037,50.747462766783585,9.98276277407153,50.5990700422079,9.646348122562138
+9243,50.48663641838824,9.98276277407153,50.747462766783585,10.677164528327022,50.610029555509655,10.35903197391081
+9244,50.747462766783585,9.288361019816037,51.00828911517894,9.98276277407153,50.87517142125933,9.668223328738184
+9245,50.747462766783585,9.98276277407153,50.87787594098126,10.329963651199275,50.81620382381783,10.185624594074635
+9246,50.747462766783585,10.329963651199275,50.87787594098126,10.677164528327022,50.82072010674207,10.507904881428708
+9247,50.87787594098126,9.98276277407153,51.00828911517894,10.329963651199275,50.96254373511474,10.219990177731756
+9248,50.87787594098126,10.329963651199275,51.00828911517894,10.677164528327022,50.94891182956089,10.45388061518167
+9249,50.48663641838824,10.677164528327022,50.747462766783585,11.371566282582517,50.62949872523837,11.040175206549005
+9250,50.48663641838824,11.371566282582517,50.747462766783585,12.06596803683801,50.62578669895123,11.701756990987759
+9251,50.747462766783585,10.677164528327022,50.87787594098126,11.02436540545477,50.81738056738741,10.898725371786107
+9252,50.747462766783585,11.02436540545477,50.87787594098126,11.371566282582517,50.802029090122964,11.191002772447685
+9253,50.87787594098126,10.677164528327022,51.00828911517894,11.02436540545477,50.940443926021494,10.823855364112971
+9254,50.87787594098126,11.02436540545477,51.00828911517894,11.371566282582517,50.949344841731005,11.210748591405883
+9255,50.747462766783585,11.371566282582517,50.87787594098126,11.718767159710264,50.81069505570179,11.571130569109167
+9256,50.747462766783585,11.718767159710264,50.87787594098126,12.06596803683801,50.8247657524463,11.869619669463763
+9257,50.87787594098126,11.371566282582517,51.00828911517894,11.718767159710264,50.935390440645406,11.579130514387481
+9258,50.87787594098126,11.718767159710264,51.00828911517894,12.06596803683801,50.93758976040042,11.885079841222472
+9259,51.00828911517894,9.288361019816037,51.26911546357429,9.98276277407153,51.14969195744905,9.604552328861686
+9260,51.00828911517894,9.98276277407153,51.13870228937661,10.329963651199275,51.06245629387762,10.195475772647685
+9261,51.00828911517894,10.329963651199275,51.13870228937661,10.677164528327022,51.07382739496668,10.50813738840511
+9262,51.13870228937661,9.98276277407153,51.26911546357429,10.329963651199275,51.205826317221806,10.14379520464954
+9263,51.13870228937661,10.329963651199275,51.26911546357429,10.677164528327022,51.204625580319366,10.444978137423048
+9264,51.26911546357429,9.288361019816037,51.529941811969636,9.98276277407153,51.388136932556996,9.618382447103576
+9265,51.26911546357429,9.98276277407153,51.529941811969636,10.677164528327022,51.372158491431755,10.322889501058109
+9266,51.00828911517894,10.677164528327022,51.26911546357429,11.371566282582517,51.10104774856449,11.075115108192168
+9267,51.00828911517894,11.371566282582517,51.26911546357429,12.06596803683801,51.12832909699325,11.751443641284789
+9268,51.26911546357429,10.677164528327022,51.529941811969636,11.371566282582517,51.42116950078674,11.004959250632913
+9269,51.26911546357429,11.371566282582517,51.529941811969636,12.06596803683801,51.44368128740611,11.854515332776133
+9270,51.529941811969636,0.9555399687501165,51.79076816036498,1.6499417230056097,51.78338959563834,1.1160926393501946
+9271,51.79076816036498,0.9555399687501165,51.92118133456266,1.302740845877863,51.8526696226651,1.1133185465836668
+9272,51.92118133456266,0.9555399687501165,52.05159450876033,1.302740845877863,51.986962695922074,1.1379858709684858
+9273,51.92118133456266,1.302740845877863,52.05159450876033,1.6499417230056097,51.98432489775881,1.3526084375880534
+9274,51.529941811969636,2.344343477261103,52.05159450876033,3.73314698577209,51.58857006303254,3.632100128645408
+9275,52.05159450876033,0.9555399687501165,52.312420857155686,1.6499417230056097,52.12152269963509,1.2133223530840151
+9276,52.312420857155686,0.9555399687501165,52.573247205551034,1.6499417230056097,52.405190278975375,1.3438835527798305
+9277,52.312420857155686,1.6499417230056097,52.573247205551034,2.344343477261103,52.48416490940736,1.7144967962811788
+9278,51.529941811969636,3.73314698577209,51.79076816036498,4.427548740027583,51.669259041674295,4.060971634928709
+9279,51.529941811969636,4.427548740027583,51.660354986167306,4.774749617155329,51.59605853807901,4.653128198340253
+9280,51.529941811969636,4.774749617155329,51.660354986167306,5.121950494283077,51.60027606862454,4.917232297314819
+9281,51.660354986167306,4.427548740027583,51.79076816036498,4.774749617155329,51.736579804849555,4.642570717695957
+9282,51.660354986167306,4.774749617155329,51.79076816036498,5.121950494283077,51.731435862502316,4.9586011826022505
+9283,51.79076816036498,3.73314698577209,51.92118133456266,4.080347862899837,51.842288612797205,4.000419306330998
+9284,51.79076816036498,4.080347862899837,51.92118133456266,4.427548740027583,51.86955014410599,4.263297395574927
+9285,51.92118133456266,3.73314698577209,52.05159450876033,4.080347862899837,51.94889542018521,4.0171854909128815
+9286,51.92118133456266,4.080347862899837,52.05159450876033,4.427548740027583,51.987623649310784,4.29951418882357
+9287,51.79076816036498,4.427548740027583,51.92118133456266,4.774749617155329,51.85797494346751,4.573577584051345
+9288,51.79076816036498,4.774749617155329,51.92118133456266,5.121950494283077,51.850572132176524,4.9551066184435415
+9289,51.92118133456266,4.427548740027583,52.05159450876033,4.774749617155329,51.98833732118464,4.568775809944978
+9290,51.92118133456266,4.774749617155329,52.05159450876033,5.121950494283077,51.99580296165813,4.961618054214041
+9291,51.529941811969636,5.121950494283077,51.660354986167306,5.469151371410823,51.59828868177366,5.297517623072382
+9292,51.529941811969636,5.469151371410823,51.660354986167306,5.8163522485385695,51.59933872755988,5.632056737437522
+9293,51.660354986167306,5.121950494283077,51.79076816036498,5.469151371410823,51.72011821658566,5.286850588928674
+9294,51.660354986167306,5.469151371410823,51.79076816036498,5.8163522485385695,51.72983652545798,5.651068395252886
+9295,51.529941811969636,5.8163522485385695,51.660354986167306,6.163553125666317,51.58920136624952,6.013177913451924
+9296,51.529941811969636,6.163553125666317,51.660354986167306,6.510754002794063,51.594468791298425,6.3246486309522645
+9297,51.660354986167306,5.8163522485385695,51.79076816036498,6.163553125666317,51.741403146936925,6.003678959392264
+9298,51.660354986167306,6.163553125666317,51.79076816036498,6.510754002794063,51.72823586384978,6.32836535567806
+9299,51.79076816036498,5.121950494283077,51.92118133456266,5.469151371410823,51.86165243542072,5.2755967778400725
+9300,51.79076816036498,5.469151371410823,51.92118133456266,5.8163522485385695,51.84504466514436,5.69296488452124
+9301,51.92118133456266,5.121950494283077,52.05159450876033,5.469151371410823,51.99939210430135,5.28524108783409
+9302,51.92118133456266,5.469151371410823,52.05159450876033,5.8163522485385695,52.00253379315034,5.643038788815798
+9303,51.79076816036498,5.8163522485385695,51.92118133456266,6.163553125666317,51.85051551843429,5.983778705685669
+9304,51.79076816036498,6.163553125666317,51.92118133456266,6.510754002794063,51.86175917599568,6.338390532033521
+9305,51.92118133456266,5.8163522485385695,52.05159450876033,6.163553125666317,51.9876387324532,5.988778922391098
+9306,51.92118133456266,6.163553125666317,52.05159450876033,6.510754002794063,51.97656460979589,6.30661391042154
+9307,52.05159450876033,3.73314698577209,52.312420857155686,4.427548740027583,52.10270692251795,4.344859490518429
+9308,52.05159450876033,4.427548740027583,52.18200768295801,4.774749617155329,52.11629570977346,4.587963628039977
+9309,52.05159450876033,4.774749617155329,52.18200768295801,5.121950494283077,52.1148021010671,4.968661879068019
+9310,52.18200768295801,4.427548740027583,52.312420857155686,4.774749617155329,52.251217062078524,4.5942920116256225
+9311,52.18200768295801,4.774749617155329,52.312420857155686,5.121950494283077,52.23954429273965,4.943838658536233
+9312,52.312420857155686,4.427548740027583,52.44283403135336,4.774749617155329,52.37524330180366,4.646366087682261
+9313,52.312420857155686,4.774749617155329,52.44283403135336,5.121950494283077,52.36061599940867,4.93362816786508
+9314,52.44283403135336,4.427548740027583,52.573247205551034,4.774749617155329,52.49803976831742,4.675721685466584
+9315,52.44283403135336,4.774749617155329,52.573247205551034,5.121950494283077,52.5106728848279,4.893725953676362
+9316,52.05159450876033,5.121950494283077,52.18200768295801,5.469151371410823,52.11875327098173,5.294540875362201
+9317,52.05159450876033,5.469151371410823,52.18200768295801,5.8163522485385695,52.111667934379334,5.615620465778687
+9318,52.18200768295801,5.121950494283077,52.312420857155686,5.469151371410823,52.24060046935709,5.271694163069352
+9319,52.18200768295801,5.469151371410823,52.312420857155686,5.8163522485385695,52.24527097995037,5.641858270759137
+9320,52.05159450876033,5.8163522485385695,52.18200768295801,6.163553125666317,52.11931748225812,5.968322714117207
+9321,52.05159450876033,6.163553125666317,52.18200768295801,6.510754002794063,52.118322932862874,6.30872901689172
+9322,52.18200768295801,5.8163522485385695,52.312420857155686,6.163553125666317,52.23576962099675,5.970510975731544
+9323,52.18200768295801,6.163553125666317,52.312420857155686,6.510754002794063,52.26220096507604,6.309727509772412
+9324,52.312420857155686,5.121950494283077,52.44283403135336,5.469151371410823,52.36906044814131,5.2920029495464584
+9325,52.312420857155686,5.469151371410823,52.44283403135336,5.8163522485385695,52.35831648859308,5.606600802847622
+9326,52.44283403135336,5.121950494283077,52.573247205551034,5.469151371410823,52.499341589012275,5.4315184786414825
+9327,52.44283403135336,5.469151371410823,52.573247205551034,5.8163522485385695,52.50547343394268,5.610383554694225
+9328,52.312420857155686,5.8163522485385695,52.44283403135336,6.163553125666317,52.368751608776144,5.968467584999473
+9329,52.312420857155686,6.163553125666317,52.44283403135336,6.510754002794063,52.36788326582811,6.362039220582852
+9330,52.44283403135336,5.8163522485385695,52.573247205551034,6.163553125666317,52.50332003693319,6.035882012006413
+9331,52.44283403135336,6.163553125666317,52.573247205551034,6.510754002794063,52.50603590283357,6.352735414266856
+9332,52.573247205551034,0.9555399687501165,53.61655259913243,3.73314698577209,52.707611031288415,1.289032718368553
+9333,52.573247205551034,4.427548740027583,52.83407355394638,5.121950494283077,52.684483316649235,4.853866361832841
+9334,52.83407355394638,4.427548740027583,53.09489990234174,5.121950494283077,52.98204753100207,4.8166174657796095
+9335,52.573247205551034,5.121950494283077,52.83407355394638,5.8163522485385695,52.68182550350653,5.5146789949993185
+9336,52.573247205551034,5.8163522485385695,52.83407355394638,6.510754002794063,52.715321073015105,6.188531877947692
+9337,52.83407355394638,5.121950494283077,53.09489990234174,5.8163522485385695,53.017344322468425,5.555217203818528
+9338,52.83407355394638,5.8163522485385695,52.96448672814406,6.163553125666317,52.91254497019358,5.993061921736248
+9339,52.83407355394638,6.163553125666317,52.96448672814406,6.510754002794063,52.90306396080441,6.314269486956788
+9340,52.96448672814406,5.8163522485385695,53.09489990234174,6.163553125666317,53.05116967630331,6.007489687959429
+9341,52.96448672814406,6.163553125666317,53.09489990234174,6.510754002794063,53.04645912268189,6.310092792325248
+9342,53.09489990234174,3.73314698577209,53.61655259913243,5.121950494283077,53.134852068696794,4.83318777347549
+9343,53.09489990234174,5.121950494283077,53.22531307653941,5.469151371410823,53.139820515947534,5.436342983693999
+9344,53.09489990234174,5.469151371410823,53.22531307653941,5.8163522485385695,53.15151229033529,5.631784950392215
+9345,53.22531307653941,5.469151371410823,53.355726250737085,5.8163522485385695,53.27713904880138,5.699933230952451
+9346,53.09489990234174,5.8163522485385695,53.22531307653941,6.163553125666317,53.15398344538855,5.941611088962893
+9347,53.09489990234174,6.163553125666317,53.22531307653941,6.510754002794063,53.15807321172914,6.353117343613423
+9348,53.22531307653941,5.8163522485385695,53.355726250737085,6.163553125666317,53.305039691570244,6.016747151540882
+9349,53.22531307653941,6.163553125666317,53.355726250737085,6.510754002794063,53.29514088337322,6.357585772102351
+9350,53.355726250737085,5.121950494283077,53.61655259913243,5.8163522485385695,53.43487319004089,5.620204324374546
+9351,53.355726250737085,5.8163522485385695,53.48613942493476,6.163553125666317,53.40883027759763,6.006747685909315
+9352,53.355726250737085,6.163553125666317,53.48613942493476,6.510754002794063,53.395835520663944,6.317665884939149
+9353,53.48613942493476,5.8163522485385695,53.61655259913243,6.163553125666317,53.488752605919665,6.157049302064533
+9354,53.48613942493476,6.163553125666317,53.61655259913243,6.510754002794063,53.49182912011393,6.202097616717244
+9355,51.529941811969636,6.510754002794063,51.660354986167306,6.8579548799218095,51.589268136173594,6.681464616049078
+9356,51.529941811969636,6.8579548799218095,51.660354986167306,7.205155757049557,51.594322980095825,7.051208107198165
+9357,51.660354986167306,6.510754002794063,51.79076816036498,6.8579548799218095,51.72791620244691,6.670790711634794
+9358,51.660354986167306,6.8579548799218095,51.79076816036498,7.205155757049557,51.709488739263215,7.02558451287691
+9359,51.529941811969636,7.205155757049557,51.660354986167306,7.552356634177303,51.589222654647195,7.360417035417681
+9360,51.529941811969636,7.552356634177303,51.660354986167306,7.89955751130505,51.58680900617231,7.720325880521958
+9361,51.660354986167306,7.205155757049557,51.79076816036498,7.552356634177303,51.73415848209193,7.392562418064873
+9362,51.660354986167306,7.552356634177303,51.79076816036498,7.89955751130505,51.70809319085172,7.782100443211661
+9363,51.79076816036498,6.510754002794063,51.92118133456266,6.8579548799218095,51.84208252703967,6.646945257061744
+9364,51.79076816036498,6.8579548799218095,51.92118133456266,7.205155757049557,51.85539061231848,6.985077837979913
+9365,51.92118133456266,6.510754002794063,52.05159450876033,6.8579548799218095,51.98902348030424,6.703958919549134
+9366,51.92118133456266,6.8579548799218095,52.05159450876033,7.205155757049557,51.98490134261085,7.027284974175779
+9367,51.79076816036498,7.205155757049557,51.92118133456266,7.552356634177303,51.85154911353748,7.402405100127947
+9368,51.79076816036498,7.552356634177303,51.92118133456266,7.89955751130505,51.87165850328651,7.65389239211446
+9369,51.92118133456266,7.205155757049557,52.05159450876033,7.552356634177303,51.98726758347132,7.434500922825281
+9370,51.92118133456266,7.552356634177303,52.05159450876033,7.89955751130505,51.98129824552113,7.643941864587711
+9371,51.529941811969636,7.89955751130505,51.79076816036498,8.593959265560542,51.68144620293091,8.303028890539164
+9372,51.529941811969636,8.593959265560542,51.660354986167306,8.94116014268829,51.607709635245584,8.744450236720942
+9373,51.529941811969636,8.94116014268829,51.660354986167306,9.288361019816037,51.602214715776476,9.102006164646474
+9374,51.660354986167306,8.593959265560542,51.79076816036498,8.94116014268829,51.72693981830873,8.745569578985258
+9375,51.660354986167306,8.94116014268829,51.79076816036498,9.288361019816037,51.71357710377608,9.091870992099636
+9376,51.79076816036498,7.89955751130505,51.92118133456266,8.246758388432795,51.842347252294616,8.111027215117211
+9377,51.79076816036498,8.246758388432795,51.92118133456266,8.593959265560542,51.8718626605639,8.397763678544152
+9378,51.92118133456266,7.89955751130505,52.05159450876033,8.246758388432795,51.976621832041396,8.060815290166731
+9379,51.92118133456266,8.246758388432795,52.05159450876033,8.593959265560542,51.97845001779186,8.451752380081409
+9380,51.79076816036498,8.593959265560542,51.92118133456266,8.94116014268829,51.84680205513145,8.748405237602723
+9381,51.79076816036498,8.94116014268829,51.92118133456266,9.288361019816037,51.87559254682127,9.072297027642474
+9382,51.92118133456266,8.593959265560542,52.05159450876033,8.94116014268829,51.98847522297589,8.768497596741314
+9383,51.92118133456266,8.94116014268829,52.05159450876033,9.288361019816037,51.981250180684185,9.135488985876309
+9384,52.05159450876033,6.510754002794063,52.18200768295801,6.8579548799218095,52.12777825927939,6.716631626515168
+9385,52.05159450876033,6.8579548799218095,52.18200768295801,7.205155757049557,52.11197321995391,6.991801097780129
+9386,52.18200768295801,6.510754002794063,52.312420857155686,6.8579548799218095,52.24516197434003,6.746134828647099
+9387,52.18200768295801,6.8579548799218095,52.312420857155686,7.205155757049557,52.24385171375825,6.971530300956538
+9388,52.05159450876033,7.205155757049557,52.18200768295801,7.552356634177303,52.113001675267306,7.385927931317062
+9389,52.05159450876033,7.552356634177303,52.18200768295801,7.89955751130505,52.11267969695475,7.677448282383132
+9390,52.18200768295801,7.205155757049557,52.312420857155686,7.552356634177303,52.25087657227571,7.392455858967789
+9391,52.18200768295801,7.552356634177303,52.312420857155686,7.89955751130505,52.26589211073185,7.7416406545594265
+9392,52.312420857155686,6.510754002794063,52.44283403135336,6.8579548799218095,52.36201295211833,6.696468856919521
+9393,52.312420857155686,6.8579548799218095,52.44283403135336,7.205155757049557,52.36765038057018,6.986748017130965
+9394,52.44283403135336,6.510754002794063,52.573247205551034,6.8579548799218095,52.51757883320237,6.6756800643039345
+9395,52.44283403135336,6.8579548799218095,52.573247205551034,7.205155757049557,52.48846481144107,7.05245826618467
+9396,52.312420857155686,7.205155757049557,52.573247205551034,7.89955751130505,52.402317905234085,7.485878646912943
+9397,52.05159450876033,7.89955751130505,52.312420857155686,8.593959265560542,52.16815465890249,8.223058420731698
+9398,52.05159450876033,8.593959265560542,52.18200768295801,8.94116014268829,52.125647264030285,8.71657668163546
+9399,52.05159450876033,8.94116014268829,52.18200768295801,9.288361019816037,52.132035107417146,9.131156253816348
+9400,52.18200768295801,8.593959265560542,52.312420857155686,8.94116014268829,52.24988953555069,8.819169076198719
+9401,52.18200768295801,8.94116014268829,52.312420857155686,9.288361019816037,52.24528997344981,9.060659800026965
+9402,52.312420857155686,7.89955751130505,52.573247205551034,8.593959265560542,52.41467054794576,8.190492712159722
+9403,52.312420857155686,8.593959265560542,52.573247205551034,9.288361019816037,52.423105655175824,8.956707318115654
+9404,51.529941811969636,9.288361019816037,51.660354986167306,9.635561896943784,51.614377035534076,9.489116391457427
+9405,51.529941811969636,9.635561896943784,51.660354986167306,9.98276277407153,51.594930054386964,9.808688537181036
+9406,51.660354986167306,9.288361019816037,51.79076816036498,9.635561896943784,51.72003158500293,9.413399944255753
+9407,51.660354986167306,9.635561896943784,51.79076816036498,9.98276277407153,51.721033906653645,9.830297422251814
+9408,51.529941811969636,9.98276277407153,51.79076816036498,10.677164528327022,51.673415144231306,10.392752501343168
+9409,51.79076816036498,9.288361019816037,52.05159450876033,9.98276277407153,51.9140443416377,9.592759326204328
+9410,51.79076816036498,9.98276277407153,52.05159450876033,10.677164528327022,51.9182358975082,10.353164325029077
+9411,51.529941811969636,10.677164528327022,51.79076816036498,11.371566282582517,51.71180589558867,11.029759336439499
+9412,51.529941811969636,11.371566282582517,51.79076816036498,12.06596803683801,51.68454804119659,11.758810422177536
+9413,51.79076816036498,10.677164528327022,52.05159450876033,11.371566282582517,51.87689006768329,11.00530432222019
+9414,51.79076816036498,11.371566282582517,52.05159450876033,12.06596803683801,51.92491210587076,11.716393803418406
+9415,52.05159450876033,9.288361019816037,52.18200768295801,9.635561896943784,52.11435604050745,9.443052091140675
+9416,52.05159450876033,9.635561896943784,52.18200768295801,9.98276277407153,52.13821510488625,9.853596013166335
+9417,52.18200768295801,9.288361019816037,52.312420857155686,9.635561896943784,52.24678596738262,9.46376837241386
+9418,52.18200768295801,9.635561896943784,52.312420857155686,9.98276277407153,52.25239225950909,9.824050289948222
+9419,52.05159450876033,9.98276277407153,52.18200768295801,10.329963651199275,52.119664336595505,10.124800290534782
+9420,52.05159450876033,10.329963651199275,52.18200768295801,10.677164528327022,52.128521792585346,10.487229011825466
+9421,52.18200768295801,9.98276277407153,52.312420857155686,10.329963651199275,52.243076814417016,10.117882718949563
+9422,52.18200768295801,10.329963651199275,52.312420857155686,10.677164528327022,52.25604222593899,10.539314876244122
+9423,52.312420857155686,9.288361019816037,52.44283403135336,9.635561896943784,52.393657914875156,9.49802186761617
+9424,52.312420857155686,9.635561896943784,52.44283403135336,9.98276277407153,52.380443662889896,9.785019578684249
+9425,52.44283403135336,9.288361019816037,52.573247205551034,9.635561896943784,52.49610997595774,9.491221654292792
+9426,52.44283403135336,9.635561896943784,52.573247205551034,9.98276277407153,52.498113902158615,9.785436421682892
+9427,52.312420857155686,9.98276277407153,52.44283403135336,10.329963651199275,52.37034701608432,10.136741109517615
+9428,52.312420857155686,10.329963651199275,52.44283403135336,10.677164528327022,52.38055612435413,10.521932715276291
+9429,52.44283403135336,9.98276277407153,52.573247205551034,10.329963651199275,52.50866333004017,10.134001058217626
+9430,52.44283403135336,10.329963651199275,52.573247205551034,10.677164528327022,52.497153713028574,10.535651831918813
+9431,52.05159450876033,10.677164528327022,52.312420857155686,11.371566282582517,52.19820788471682,10.989153424193724
+9432,52.05159450876033,11.371566282582517,52.312420857155686,12.06596803683801,52.167130282827095,11.647221006505706
+9433,52.312420857155686,10.677164528327022,52.573247205551034,11.371566282582517,52.43270853696094,10.853633988807847
+9434,52.312420857155686,11.371566282582517,52.573247205551034,12.06596803683801,52.45903904430438,11.788746651133312
+9435,52.573247205551034,6.510754002794063,52.83407355394638,7.205155757049557,52.72992262667992,6.815755820888661
+9436,52.573247205551034,7.205155757049557,52.83407355394638,7.89955751130505,52.70663517703004,7.429451340694878
+9437,52.83407355394638,6.510754002794063,52.96448672814406,6.8579548799218095,52.90664766146113,6.702153486382677
+9438,52.83407355394638,6.8579548799218095,52.96448672814406,7.205155757049557,52.89938415317115,6.954465471364065
+9439,52.96448672814406,6.510754002794063,53.09489990234174,6.8579548799218095,53.032227336431866,6.648972193266946
+9440,52.96448672814406,6.8579548799218095,53.09489990234174,7.205155757049557,53.06272931741851,7.006191890219995
+9441,52.83407355394638,7.205155757049557,53.09489990234174,7.89955751130505,53.02480638442551,7.509803626626566
+9442,52.573247205551034,7.89955751130505,52.83407355394638,8.593959265560542,52.684393409960215,8.251931689983055
+9443,52.573247205551034,8.593959265560542,52.83407355394638,9.288361019816037,52.6788512334799,9.011643778259936
+9444,52.83407355394638,7.89955751130505,53.09489990234174,8.593959265560542,53.00293687791258,8.22301252623009
+9445,52.83407355394638,8.593959265560542,52.96448672814406,8.94116014268829,52.89591770497434,8.797942805460659
+9446,52.83407355394638,8.94116014268829,52.96448672814406,9.288361019816037,52.91864883018941,9.201145341205022
+9447,52.96448672814406,8.593959265560542,53.09489990234174,8.94116014268829,53.047533724976645,8.775501576871273
+9448,52.96448672814406,8.94116014268829,53.09489990234174,9.288361019816037,53.02981864831941,9.088410843005578
+9449,53.09489990234174,6.510754002794063,53.22531307653941,6.8579548799218095,53.171239790056404,6.642093227727032
+9450,53.09489990234174,6.8579548799218095,53.22531307653941,7.205155757049557,53.15928412006946,7.005655247979035
+9451,53.22531307653941,6.510754002794063,53.355726250737085,6.8579548799218095,53.28452032539688,6.63922421076918
+9452,53.22531307653941,6.8579548799218095,53.355726250737085,7.205155757049557,53.29663081638205,6.97957340485378
+9453,53.09489990234174,7.205155757049557,53.355726250737085,7.89955751130505,53.22318054732554,7.548167303213339
+9454,53.355726250737085,6.510754002794063,53.61655259913243,7.205155757049557,53.4563780599144,6.829027319104708
+9455,53.355726250737085,7.205155757049557,53.61655259913243,7.89955751130505,53.48455002637793,7.550460857593365
+9456,53.09489990234174,7.89955751130505,53.22531307653941,8.246758388432795,53.16480197745985,8.096755528764362
+9457,53.09489990234174,8.246758388432795,53.22531307653941,8.593959265560542,53.15128492414685,8.445586427101322
+9458,53.22531307653941,7.89955751130505,53.355726250737085,8.246758388432795,53.273067609309486,8.018460472473743
+9459,53.22531307653941,8.246758388432795,53.355726250737085,8.593959265560542,53.281495347726775,8.429690522098223
+9460,53.09489990234174,8.593959265560542,53.22531307653941,8.94116014268829,53.14339201429456,8.775538844318925
+9461,53.09489990234174,8.94116014268829,53.22531307653941,9.288361019816037,53.15475682315788,9.133990678136062
+9462,53.22531307653941,8.593959265560542,53.355726250737085,8.94116014268829,53.26601741558288,8.780831582434102
+9463,53.22531307653941,8.94116014268829,53.355726250737085,9.288361019816037,53.28673280302773,9.108204953130445
+9464,53.355726250737085,7.89955751130505,53.61655259913243,8.593959265560542,53.49448861356575,8.263693859145043
+9465,53.355726250737085,8.593959265560542,53.61655259913243,9.288361019816037,53.51129690049374,8.921503325260447
+9466,52.573247205551034,9.288361019816037,52.83407355394638,9.98276277407153,52.6763208450158,9.680162643667778
+9467,52.573247205551034,9.98276277407153,52.83407355394638,10.677164528327022,52.69437549134605,10.363307971775361
+9468,52.83407355394638,9.288361019816037,53.09489990234174,9.98276277407153,52.982441110305004,9.762224202547356
+9469,52.83407355394638,9.98276277407153,52.96448672814406,10.329963651199275,52.90272894169824,10.122166451635627
+9470,52.83407355394638,10.329963651199275,52.96448672814406,10.677164528327022,52.91131434863428,10.539127458843451
+9471,52.96448672814406,9.98276277407153,53.09489990234174,10.329963651199275,53.026365906347756,10.140841996917093
+9472,52.96448672814406,10.329963651199275,53.09489990234174,10.677164528327022,53.02388241449583,10.512883269708169
+9473,52.573247205551034,10.677164528327022,52.83407355394638,11.371566282582517,52.69001400776988,10.955470165681165
+9474,52.573247205551034,11.371566282582517,52.83407355394638,12.06596803683801,52.65529045183691,11.908072519988211
+9475,52.83407355394638,10.677164528327022,53.09489990234174,11.371566282582517,52.98239107410876,11.017853839410593
+9476,52.83407355394638,11.371566282582517,53.09489990234174,12.06596803683801,52.99358376738006,11.65666380128948
+9477,53.09489990234174,9.288361019816037,53.22531307653941,9.635561896943784,53.14919350840265,9.419740818342486
+9478,53.09489990234174,9.635561896943784,53.22531307653941,9.98276277407153,53.16226810222092,9.85199497295505
+9479,53.22531307653941,9.288361019816037,53.355726250737085,9.635561896943784,53.29640745584996,9.44739133192784
+9480,53.22531307653941,9.635561896943784,53.355726250737085,9.98276277407153,53.29751315173842,9.831601158822991
+9481,53.09489990234174,9.98276277407153,53.22531307653941,10.329963651199275,53.153524856897526,10.165514184626227
+9482,53.09489990234174,10.329963651199275,53.22531307653941,10.677164528327022,53.17843201916979,10.494313676176727
+9483,53.22531307653941,9.98276277407153,53.355726250737085,10.329963651199275,53.295569226928485,10.170940175857982
+9484,53.22531307653941,10.329963651199275,53.355726250737085,10.677164528327022,53.279821597201355,10.473283786817456
+9485,53.355726250737085,9.288361019816037,53.48613942493476,9.635561896943784,53.435366017765666,9.482955209629237
+9486,53.355726250737085,9.635561896943784,53.48613942493476,9.98276277407153,53.43598204243988,9.820386797270087
+9487,53.48613942493476,9.288361019816037,53.61655259913243,9.635561896943784,53.54604321771776,9.498131006528652
+9488,53.48613942493476,9.635561896943784,53.61655259913243,9.98276277407153,53.55562201969687,9.835683557150393
+9489,53.355726250737085,9.98276277407153,53.48613942493476,10.329963651199275,53.42663707552993,10.134535359223184
+9490,53.355726250737085,10.329963651199275,53.48613942493476,10.677164528327022,53.41472576836853,10.48315594227874
+9491,53.48613942493476,9.98276277407153,53.61655259913243,10.329963651199275,53.55327486104395,10.103237321421444
+9492,53.48613942493476,10.329963651199275,53.61655259913243,10.677164528327022,53.54544431468167,10.500324017198423
+9493,53.09489990234174,10.677164528327022,53.22531307653941,11.02436540545477,53.17553385236483,10.840823889544106
+9494,53.09489990234174,11.02436540545477,53.22531307653941,11.371566282582517,53.155358190198825,11.121884834651132
+9495,53.22531307653941,10.677164528327022,53.355726250737085,11.02436540545477,53.273203203495335,10.83451772920276
+9496,53.22531307653941,11.02436540545477,53.355726250737085,11.371566282582517,53.292051682208765,11.08111283231643
+9497,53.09489990234174,11.371566282582517,53.355726250737085,12.06596803683801,53.254013450989206,11.632610595801635
+9498,53.355726250737085,10.677164528327022,53.61655259913243,11.371566282582517,53.474477641256044,10.974762954547128
+9499,53.355726250737085,11.371566282582517,53.61655259913243,12.06596803683801,53.448776922294634,11.684609442604806
+9500,49.44333102480684,12.06596803683801,49.704157373202186,12.760369791093503,49.57755169624145,12.285016245455923
+9501,49.44333102480684,12.760369791093503,49.704157373202186,13.454771545348997,49.57977136924819,13.181859571980757
+9502,49.704157373202186,12.06596803683801,49.964983721597534,12.760369791093503,49.87723836198133,12.242509470989717
+9503,49.704157373202186,12.760369791093503,49.964983721597534,13.454771545348997,49.74732870384654,13.275615962778936
+9504,49.44333102480684,13.454771545348997,49.704157373202186,14.14917329960449,49.59959502950338,13.861000464318304
+9505,49.44333102480684,14.14917329960449,49.704157373202186,14.843575053859983,49.56587435789695,14.478808963276382
+9506,49.704157373202186,13.454771545348997,49.964983721597534,14.14917329960449,49.88509008605221,13.924769058592323
+9507,49.704157373202186,14.14917329960449,49.964983721597534,14.843575053859983,49.85374018769256,14.587128103800476
+9508,49.964983721597534,12.06596803683801,50.22581006999289,12.760369791093503,50.08281842360823,12.24377333816395
+9509,49.964983721597534,12.760369791093503,50.22581006999289,13.454771545348997,50.10507856264749,13.199027977116316
+9510,50.22581006999289,12.06596803683801,50.48663641838824,12.760369791093503,50.37302592605938,12.322400828234757
+9511,50.22581006999289,12.760369791093503,50.48663641838824,13.454771545348997,50.402986636752644,13.023895006128074
+9512,49.964983721597534,13.454771545348997,50.22581006999289,14.14917329960449,50.08342471428608,13.900801606853028
+9513,49.964983721597534,14.14917329960449,50.09539689579521,14.496374176732235,50.05300320149907,14.370933887048444
+9514,49.964983721597534,14.496374176732235,50.09539689579521,14.843575053859983,50.03667126055629,14.61918140474237
+9515,50.09539689579521,14.14917329960449,50.22581006999289,14.496374176732235,50.13607022523854,14.398124388336859
+9516,50.09539689579521,14.496374176732235,50.22581006999289,14.843575053859983,50.14683334106553,14.628469742345368
+9517,50.22581006999289,13.454771545348997,50.48663641838824,14.14917329960449,50.33823226306392,13.8012468141271
+9518,50.22581006999289,14.14917329960449,50.48663641838824,14.843575053859983,50.31761755843167,14.417274612056701
+9519,49.44333102480684,14.843575053859983,49.964983721597534,16.232378562370968,49.6787195179197,15.594862853707923
+9520,49.44333102480684,16.232378562370968,49.704157373202186,16.926780316626463,49.53638296667015,16.59144149827649
+9521,49.44333102480684,16.926780316626463,49.704157373202186,17.621182070881957,49.58434908191625,17.199606575106007
+9522,49.704157373202186,16.232378562370968,49.964983721597534,16.926780316626463,49.83634187362658,16.685716633633128
+9523,49.704157373202186,16.926780316626463,49.964983721597534,17.621182070881957,49.780288300311085,17.01155981010924
+9524,49.964983721597534,14.843575053859983,50.22581006999289,15.537976808115475,50.10257660646529,15.078520139273175
+9525,49.964983721597534,15.537976808115475,50.22581006999289,16.232378562370968,50.13372683248901,15.97005064028923
+9526,50.22581006999289,14.843575053859983,50.48663641838824,15.537976808115475,50.36669941857772,15.03130957765181
+9527,50.22581006999289,15.537976808115475,50.48663641838824,16.232378562370968,50.3545312092799,16.027147635922365
+9528,49.964983721597534,16.232378562370968,50.22581006999289,16.926780316626463,50.0854397098579,16.580561253526067
+9529,49.964983721597534,16.926780316626463,50.22581006999289,17.621182070881957,50.14545846918201,17.10689382000541
+9530,50.22581006999289,16.232378562370968,50.35622324419056,16.579579439498715,50.31253909909511,16.451479999886274
+9531,50.22581006999289,16.579579439498715,50.35622324419056,16.926780316626463,50.2915975891002,16.742061252525048
+9532,50.35622324419056,16.232378562370968,50.48663641838824,16.579579439498715,50.426519743849425,16.403367195604794
+9533,50.35622324419056,16.579579439498715,50.48663641838824,16.926780316626463,50.42769465866705,16.684470626947142
+9534,50.22581006999289,16.926780316626463,50.48663641838824,17.621182070881957,50.380075551843554,17.30016126356214
+9535,50.48663641838824,12.06596803683801,50.617049592585914,12.413168913965755,50.53688556552317,12.22290749323206
+9536,50.48663641838824,12.413168913965755,50.617049592585914,12.760369791093503,50.55757684736377,12.581280492496456
+9537,50.617049592585914,12.06596803683801,50.747462766783585,12.413168913965755,50.666154545689686,12.255853503509385
+9538,50.617049592585914,12.413168913965755,50.747462766783585,12.760369791093503,50.69193385559105,12.592882521467793
+9539,50.48663641838824,12.760369791093503,50.747462766783585,13.454771545348997,50.62854377498938,13.023936722538346
+9540,50.747462766783585,12.06596803683801,50.87787594098126,12.413168913965755,50.846364371937284,12.229214227996389
+9541,50.747462766783585,12.413168913965755,50.87787594098126,12.760369791093503,50.805924873540086,12.628704686643506
+9542,50.87787594098126,12.06596803683801,51.00828911517894,12.413168913965755,50.908701814127646,12.234325631711778
+9543,50.87787594098126,12.413168913965755,51.00828911517894,12.760369791093503,50.94549581352875,12.590960145530557
+9544,50.747462766783585,12.760369791093503,50.87787594098126,13.10757066822125,50.818581199109225,12.90149173193793
+9545,50.747462766783585,13.10757066822125,50.87787594098126,13.454771545348997,50.812866591875206,13.267315037355669
+9546,50.87787594098126,12.760369791093503,51.00828911517894,13.10757066822125,50.93793903592421,12.913541389165662
+9547,50.87787594098126,13.10757066822125,51.00828911517894,13.454771545348997,50.93350605901239,13.311846685766769
+9548,50.48663641838824,13.454771545348997,50.747462766783585,14.14917329960449,50.63604811001551,13.89391231443687
+9549,50.48663641838824,14.14917329960449,50.747462766783585,14.843575053859983,50.62904886149368,14.47735219806562
+9550,50.747462766783585,13.454771545348997,51.00828911517894,14.14917329960449,50.91843295719465,13.869023941445233
+9551,50.747462766783585,14.14917329960449,50.87787594098126,14.496374176732235,50.81745048237395,14.344960209370052
+9552,50.747462766783585,14.496374176732235,50.87787594098126,14.843575053859983,50.827524599319624,14.66898888314081
+9553,50.87787594098126,14.14917329960449,51.00828911517894,14.496374176732235,50.942603010422154,14.273902323892058
+9554,50.87787594098126,14.496374176732235,51.00828911517894,14.843575053859983,50.93097667983134,14.674049020473673
+9555,51.00828911517894,12.06596803683801,51.13870228937661,12.413168913965755,51.07225501650984,12.157861069868394
+9556,51.00828911517894,12.413168913965755,51.13870228937661,12.760369791093503,51.07457487864408,12.58540145425625
+9557,51.13870228937661,12.06596803683801,51.26911546357429,12.413168913965755,51.217856798509054,12.275317862439035
+9558,51.13870228937661,12.413168913965755,51.26911546357429,12.760369791093503,51.20564312248944,12.565227774250127
+9559,51.00828911517894,12.760369791093503,51.26911546357429,13.454771545348997,51.13731782007126,13.06537375670676
+9560,51.26911546357429,12.06596803683801,51.399528637771965,12.413168913965755,51.340609486779336,12.320767947617789
+9561,51.26911546357429,12.413168913965755,51.399528637771965,12.760369791093503,51.330920456278186,12.506499396999388
+9562,51.399528637771965,12.06596803683801,51.529941811969636,12.413168913965755,51.45858046337979,12.270200556038306
+9563,51.399528637771965,12.413168913965755,51.529941811969636,12.760369791093503,51.43572175787299,12.536261048970207
+9564,51.26911546357429,12.760369791093503,51.399528637771965,13.10757066822125,51.33845473484905,12.986825169689505
+9565,51.26911546357429,13.10757066822125,51.399528637771965,13.454771545348997,51.33051455292707,13.248378008289297
+9566,51.399528637771965,12.760369791093503,51.529941811969636,13.10757066822125,51.45931576553999,12.919464194381268
+9567,51.399528637771965,13.10757066822125,51.529941811969636,13.454771545348997,51.47113977746612,13.304323121401168
+9568,51.00828911517894,13.454771545348997,51.13870228937661,13.801972422476744,51.06780616952837,13.688034532921607
+9569,51.00828911517894,13.801972422476744,51.13870228937661,14.14917329960449,51.06874911634035,13.91998057818828
+9570,51.13870228937661,13.454771545348997,51.26911546357429,13.801972422476744,51.197699549322124,13.646048359449066
+9571,51.13870228937661,13.801972422476744,51.26911546357429,14.14917329960449,51.19314984410582,13.956453058511327
+9572,51.00828911517894,14.14917329960449,51.13870228937661,14.496374176732235,51.07308905027072,14.314756659552437
+9573,51.00828911517894,14.496374176732235,51.13870228937661,14.843575053859983,51.07364529170642,14.690463805885827
+9574,51.13870228937661,14.14917329960449,51.26911546357429,14.496374176732235,51.20168890903898,14.353821256114108
+9575,51.13870228937661,14.496374176732235,51.26911546357429,14.843575053859983,51.198383587729204,14.676510150477117
+9576,51.26911546357429,13.454771545348997,51.399528637771965,13.801972422476744,51.3569450518011,13.657316984492384
+9577,51.26911546357429,13.801972422476744,51.399528637771965,14.14917329960449,51.32714271454309,14.018493577130208
+9578,51.399528637771965,13.454771545348997,51.529941811969636,13.801972422476744,51.46526401455912,13.632014203894533
+9579,51.399528637771965,13.801972422476744,51.529941811969636,14.14917329960449,51.476427298451874,13.930682353875055
+9580,51.26911546357429,14.14917329960449,51.529941811969636,14.843575053859983,51.38247633677895,14.566424802799665
+9581,50.48663641838824,14.843575053859983,50.747462766783585,15.537976808115475,50.63345375428542,15.181054925739025
+9582,50.48663641838824,15.537976808115475,50.747462766783585,16.232378562370968,50.61521218985368,15.841769797910107
+9583,50.747462766783585,14.843575053859983,51.00828911517894,15.537976808115475,50.90190814049173,15.135701615531433
+9584,50.747462766783585,15.537976808115475,51.00828911517894,16.232378562370968,50.870059776587205,15.804403043394302
+9585,50.48663641838824,16.232378562370968,50.747462766783585,16.926780316626463,50.59299100404406,16.59790220435032
+9586,50.48663641838824,16.926780316626463,50.747462766783585,17.621182070881957,50.62010057552486,17.352554012137194
+9587,50.747462766783585,16.232378562370968,51.00828911517894,16.926780316626463,50.88386042156131,16.459610417410357
+9588,50.747462766783585,16.926780316626463,51.00828911517894,17.621182070881957,50.870051097204204,17.177807620084437
+9589,51.00828911517894,14.843575053859983,51.13870228937661,15.19077593098773,51.085620878250104,15.029406869776821
+9590,51.00828911517894,15.19077593098773,51.13870228937661,15.537976808115475,51.066609455342096,15.311517124973852
+9591,51.13870228937661,14.843575053859983,51.26911546357429,15.19077593098773,51.185398254535514,14.98446885185242
+9592,51.13870228937661,15.19077593098773,51.26911546357429,15.537976808115475,51.203091058386526,15.286956962443451
+9593,51.00828911517894,15.537976808115475,51.26911546357429,16.232378562370968,51.17279320514275,15.853219567328914
+9594,51.26911546357429,14.843575053859983,51.529941811969636,15.537976808115475,51.39203004946819,15.1480842052588
+9595,51.26911546357429,15.537976808115475,51.529941811969636,16.232378562370968,51.417684246934456,15.863773469578994
+9596,51.00828911517894,16.232378562370968,51.26911546357429,16.926780316626463,51.12486988100273,16.60612081138052
+9597,51.00828911517894,16.926780316626463,51.26911546357429,17.621182070881957,51.116921593456134,17.082409839199773
+9598,51.26911546357429,16.232378562370968,51.529941811969636,16.926780316626463,51.341115026549446,16.399623804063342
+9599,51.26911546357429,16.926780316626463,51.529941811969636,17.621182070881957,51.330554055144404,17.36329329746757
+9600,49.44333102480684,17.621182070881957,49.704157373202186,18.315583825137452,49.55521029248934,18.050712240158582
+9601,49.44333102480684,18.315583825137452,49.704157373202186,19.009985579392943,49.61475151479433,18.586745009235788
+9602,49.704157373202186,17.621182070881957,49.964983721597534,18.315583825137452,49.81225126040185,18.207559720913235
+9603,49.704157373202186,18.315583825137452,49.964983721597534,19.009985579392943,49.84713841382745,18.741082865254878
+9604,49.44333102480684,19.009985579392943,49.704157373202186,19.704387333648434,49.57807411256269,19.219811788094397
+9605,49.44333102480684,19.704387333648434,49.704157373202186,20.39878908790393,49.57986893061429,20.01571470700278
+9606,49.704157373202186,19.009985579392943,49.83457054739986,19.357186456520687,49.78250673071482,19.081234656308027
+9607,49.704157373202186,19.357186456520687,49.83457054739986,19.704387333648434,49.74108131426287,19.543942206792146
+9608,49.83457054739986,19.009985579392943,49.964983721597534,19.357186456520687,49.876817838823,19.11679338474832
+9609,49.83457054739986,19.357186456520687,49.964983721597534,19.704387333648434,49.906926357397914,19.527200305615146
+9610,49.704157373202186,19.704387333648434,49.964983721597534,20.39878908790393,49.85461242127859,20.05549693236565
+9611,49.964983721597534,17.621182070881957,50.22581006999289,18.315583825137452,50.100137598942204,18.16186358794891
+9612,49.964983721597534,18.315583825137452,50.22581006999289,19.009985579392943,50.06067199492746,18.781393706424126
+9613,50.22581006999289,17.621182070881957,50.48663641838824,18.315583825137452,50.40119305676251,17.999123981124594
+9614,50.22581006999289,18.315583825137452,50.35622324419056,18.6627847022652,50.29242653979616,18.562586916585985
+9615,50.22581006999289,18.6627847022652,50.35622324419056,19.009985579392943,50.2837924468422,18.84527176945853
+9616,50.35622324419056,18.315583825137452,50.48663641838824,18.6627847022652,50.411347761820345,18.459864726327766
+9617,50.35622324419056,18.6627847022652,50.48663641838824,19.009985579392943,50.4017212134752,18.866117147669673
+9618,49.964983721597534,19.009985579392943,50.22581006999289,19.704387333648434,50.08424475441809,19.345898455068134
+9619,49.964983721597534,19.704387333648434,50.09539689579521,20.05158821077618,50.043328448572886,19.931568929775626
+9620,49.964983721597534,20.05158821077618,50.09539689579521,20.39878908790393,50.03063320177055,20.12710210048299
+9621,50.09539689579521,19.704387333648434,50.22581006999289,20.05158821077618,50.141104852377055,19.909896869279557
+9622,50.09539689579521,20.05158821077618,50.22581006999289,20.39878908790393,50.15315077236459,20.179109989117062
+9623,50.22581006999289,19.009985579392943,50.48663641838824,19.704387333648434,50.33653582539379,19.203691403543292
+9624,50.22581006999289,19.704387333648434,50.48663641838824,20.39878908790393,50.34158476253114,20.058938431471763
+9625,49.44333102480684,20.39878908790393,49.704157373202186,21.093190842159423,49.579085927788846,20.690448931412657
+9626,49.44333102480684,21.093190842159423,49.57374419900451,21.44039171928717,49.52815190865984,21.16814576364351
+9627,49.44333102480684,21.44039171928717,49.57374419900451,21.787592596414918,49.529911672205714,21.621478613788586
+9628,49.57374419900451,21.093190842159423,49.704157373202186,21.44039171928717,49.656254770340105,21.224526275334892
+9629,49.57374419900451,21.44039171928717,49.704157373202186,21.787592596414918,49.65123420234238,21.656762947918438
+9630,49.704157373202186,20.39878908790393,49.964983721597534,21.093190842159423,49.830691321264446,20.761019482105535
+9631,49.704157373202186,21.093190842159423,49.83457054739986,21.44039171928717,49.779741650294135,21.355047308422016
+9632,49.704157373202186,21.44039171928717,49.83457054739986,21.787592596414918,49.77072014822174,21.65099452098298
+9633,49.83457054739986,21.093190842159423,49.964983721597534,21.44039171928717,49.90755731964752,21.360514576940208
+9634,49.83457054739986,21.44039171928717,49.964983721597534,21.787592596414918,49.895302971500584,21.652221802277314
+9635,49.44333102480684,21.787592596414918,49.57374419900451,22.134793473542665,49.538253606946654,22.007942497342555
+9636,49.44333102480684,22.134793473542665,49.57374419900451,22.481994350670412,49.51121912944582,22.293065738441634
+9637,49.57374419900451,21.787592596414918,49.704157373202186,22.134793473542665,49.642141695251745,21.960792458860503
+9638,49.57374419900451,22.134793473542665,49.704157373202186,22.481994350670412,49.65675542228242,22.27069630231402
+9639,49.44333102480684,22.481994350670412,49.704157373202186,23.176396104925903,49.54377821073376,22.60265880712028
+9640,49.704157373202186,21.787592596414918,49.83457054739986,22.134793473542665,49.77392232618443,21.92232382363595
+9641,49.704157373202186,22.134793473542665,49.83457054739986,22.481994350670412,49.780937187065675,22.245509588982568
+9642,49.83457054739986,21.787592596414918,49.964983721597534,22.134793473542665,49.89607376462878,21.90583866326692
+9643,49.83457054739986,22.134793473542665,49.964983721597534,22.481994350670412,49.89343302169123,22.300308141004706
+9644,49.704157373202186,22.481994350670412,49.964983721597534,23.176396104925903,49.89347651573361,22.72736743911782
+9645,49.964983721597534,20.39878908790393,50.22581006999289,21.093190842159423,50.04144730924699,20.77109075817335
+9646,49.964983721597534,21.093190842159423,50.09539689579521,21.44039171928717,50.02533373598387,21.350402812864033
+9647,49.964983721597534,21.44039171928717,50.09539689579521,21.787592596414918,50.03096527108961,21.62718496253176
+9648,50.09539689579521,21.093190842159423,50.22581006999289,21.44039171928717,50.14234037817947,21.220414369567557
+9649,50.09539689579521,21.44039171928717,50.22581006999289,21.787592596414918,50.14232772114761,21.634429401680883
+9650,50.22581006999289,20.39878908790393,50.48663641838824,21.093190842159423,50.39092850117368,20.60965650735722
+9651,50.22581006999289,21.093190842159423,50.48663641838824,21.787592596414918,50.31261683425376,21.557745546804732
+9652,49.964983721597534,21.787592596414918,50.09539689579521,22.134793473542665,50.02552829549539,21.962744876616547
+9653,49.964983721597534,22.134793473542665,50.09539689579521,22.481994350670412,50.04303711391161,22.282349519232685
+9654,50.09539689579521,21.787592596414918,50.22581006999289,22.134793473542665,50.140731400719275,21.958109886680056
+9655,50.09539689579521,22.134793473542665,50.22581006999289,22.481994350670412,50.14136606280799,22.270480010698677
+9656,49.964983721597534,22.481994350670412,50.22581006999289,23.176396104925903,50.04227072959166,22.624889113175144
+9657,50.22581006999289,21.787592596414918,50.48663641838824,22.481994350670412,50.3466329499248,22.271461534941306
+9658,50.22581006999289,22.481994350670412,50.48663641838824,23.176396104925903,50.28442012261422,22.719196521415114
+9659,50.48663641838824,17.621182070881957,50.747462766783585,18.315583825137452,50.629996610936644,17.954493879702742
+9660,50.48663641838824,18.315583825137452,50.747462766783585,19.009985579392943,50.55440113624257,18.651566120609857
+9661,50.747462766783585,17.621182070881957,51.00828911517894,18.315583825137452,50.941722857932724,18.168863775664697
+9662,50.747462766783585,18.315583825137452,51.00828911517894,19.009985579392943,50.89540372828249,18.627610394862952
+9663,50.48663641838824,19.009985579392943,50.747462766783585,19.704387333648434,50.633404126768966,19.215396145596877
+9664,50.48663641838824,19.704387333648434,50.747462766783585,20.39878908790393,50.64196876692635,20.303902188652668
+9665,50.747462766783585,19.009985579392943,51.00828911517894,19.704387333648434,50.853919022055706,19.199707307014396
+9666,50.747462766783585,19.704387333648434,51.00828911517894,20.39878908790393,50.91460671878987,20.2221102341081
+9667,51.00828911517894,17.621182070881957,51.26911546357429,18.315583825137452,51.152439498243794,18.14424502231816
+9668,51.00828911517894,18.315583825137452,51.26911546357429,19.009985579392943,51.16047733246473,18.509203648582442
+9669,51.26911546357429,17.621182070881957,51.529941811969636,18.315583825137452,51.35809292659965,17.97750750392629
+9670,51.26911546357429,18.315583825137452,51.529941811969636,19.009985579392943,51.396910740539006,18.63698407595082
+9671,51.00828911517894,19.009985579392943,51.26911546357429,19.704387333648434,51.12403572784207,19.442289582758708
+9672,51.00828911517894,19.704387333648434,51.26911546357429,20.39878908790393,51.126653517957344,20.280048042101882
+9673,51.26911546357429,19.009985579392943,51.529941811969636,19.704387333648434,51.410587359810904,19.554080702074625
+9674,51.26911546357429,19.704387333648434,51.529941811969636,20.39878908790393,51.42172292472982,19.980490230785744
+9675,50.48663641838824,20.39878908790393,50.747462766783585,21.093190842159423,50.6379883345352,20.78856364352886
+9676,50.48663641838824,21.093190842159423,50.747462766783585,21.787592596414918,50.62928174943677,21.337817353546043
+9677,50.747462766783585,20.39878908790393,51.00828911517894,21.093190842159423,50.865397655089915,20.74017603848815
+9678,50.747462766783585,21.093190842159423,51.00828911517894,21.787592596414918,50.857549442405535,21.39864039299428
+9679,50.48663641838824,21.787592596414918,51.00828911517894,23.176396104925903,50.68718350946972,22.434548512322575
+9680,51.00828911517894,20.39878908790393,51.26911546357429,21.093190842159423,51.10164034665415,20.885171467616964
+9681,51.00828911517894,21.093190842159423,51.26911546357429,21.787592596414918,51.07634840704768,21.315974806468326
+9682,51.26911546357429,20.39878908790393,51.529941811969636,21.093190842159423,51.418187629735115,20.988912937594606
+9683,51.26911546357429,21.093190842159423,51.529941811969636,21.787592596414918,51.42451014018715,21.313414427163075
+9684,51.00828911517894,21.787592596414918,51.26911546357429,22.481994350670412,51.12260612022059,22.300176584516223
+9685,51.00828911517894,22.481994350670412,51.26911546357429,23.176396104925903,51.214503752271646,22.67869663873469
+9686,51.26911546357429,21.787592596414918,51.399528637771965,22.134793473542665,51.31900641794583,21.982288562162754
+9687,51.26911546357429,22.134793473542665,51.399528637771965,22.481994350670412,51.353306779528275,22.340655797096062
+9688,51.399528637771965,21.787592596414918,51.529941811969636,22.134793473542665,51.43353450100109,21.93912004428111
+9689,51.399528637771965,22.134793473542665,51.529941811969636,22.481994350670412,51.44422100912983,22.33725592955224
+9690,51.26911546357429,22.481994350670412,51.529941811969636,23.176396104925903,51.375371114559215,22.642724540017447
+9691,51.529941811969636,12.06596803683801,51.79076816036498,12.760369791093503,51.65740538489007,12.375942673529508
+9692,51.529941811969636,12.760369791093503,51.660354986167306,13.10757066822125,51.59115894109161,12.973653887080818
+9693,51.529941811969636,13.10757066822125,51.660354986167306,13.454771545348997,51.59244796272252,13.32976259337799
+9694,51.660354986167306,12.760369791093503,51.79076816036498,13.10757066822125,51.72615184522367,12.92662074547934
+9695,51.660354986167306,13.10757066822125,51.79076816036498,13.454771545348997,51.720477813712726,13.296880593035505
+9696,51.79076816036498,12.06596803683801,52.05159450876033,12.760369791093503,51.91466672740775,12.48904452921015
+9697,51.79076816036498,12.760369791093503,51.92118133456266,13.10757066822125,51.85367669419981,12.93186130495366
+9698,51.79076816036498,13.10757066822125,51.92118133456266,13.454771545348997,51.84660853536286,13.28530677608078
+9699,51.92118133456266,12.760369791093503,52.05159450876033,13.10757066822125,51.99080626591761,12.930798823744732
+9700,51.92118133456266,13.10757066822125,52.05159450876033,13.454771545348997,51.98012226386436,13.258585881747798
+9701,51.529941811969636,13.454771545348997,51.660354986167306,13.801972422476744,51.60581431957138,13.628793133354433
+9702,51.529941811969636,13.801972422476744,51.660354986167306,14.14917329960449,51.60181225055926,13.931720644966717
+9703,51.660354986167306,13.454771545348997,51.79076816036498,13.801972422476744,51.70835447995896,13.642424005091586
+9704,51.660354986167306,13.801972422476744,51.79076816036498,14.14917329960449,51.72146980211236,13.961996686043756
+9705,51.529941811969636,14.14917329960449,51.660354986167306,14.496374176732235,51.60592260550629,14.305724907283302
+9706,51.529941811969636,14.496374176732235,51.660354986167306,14.843575053859983,51.60315049183662,14.630873936469335
+9707,51.660354986167306,14.14917329960449,51.79076816036498,14.496374176732235,51.72134793460555,14.319344469939148
+9708,51.660354986167306,14.496374176732235,51.79076816036498,14.843575053859983,51.71462987409421,14.615621084768776
+9709,51.79076816036498,13.454771545348997,51.92118133456266,13.801972422476744,51.85460964161047,13.648849184078365
+9710,51.79076816036498,13.801972422476744,51.92118133456266,14.14917329960449,51.85420099382294,13.96701152530004
+9711,51.92118133456266,13.454771545348997,52.05159450876033,13.801972422476744,51.980711271393005,13.64577140320786
+9712,51.92118133456266,13.801972422476744,52.05159450876033,14.14917329960449,51.98519919832381,13.957651471412277
+9713,51.79076816036498,14.14917329960449,52.05159450876033,14.843575053859983,51.914280939134784,14.436288335265957
+9714,52.05159450876033,12.06596803683801,52.312420857155686,12.760369791093503,52.16296030368147,12.505913872275212
+9715,52.05159450876033,12.760369791093503,52.18200768295801,13.10757066822125,52.10996988901915,12.880771596333426
+9716,52.05159450876033,13.10757066822125,52.18200768295801,13.454771545348997,52.11701330838526,13.23600031735441
+9717,52.18200768295801,12.760369791093503,52.312420857155686,13.10757066822125,52.259319844733895,12.949378962568858
+9718,52.18200768295801,13.10757066822125,52.312420857155686,13.454771545348997,52.25331245037548,13.297156217413816
+9719,52.312420857155686,12.06596803683801,52.573247205551034,12.760369791093503,52.40271422991116,12.551696222907228
+9720,52.312420857155686,12.760369791093503,52.44283403135336,13.10757066822125,52.37832725513441,12.965438314044292
+9721,52.312420857155686,13.10757066822125,52.44283403135336,13.454771545348997,52.38405859857676,13.293577466502738
+9722,52.44283403135336,12.760369791093503,52.573247205551034,13.10757066822125,52.51086325438425,12.974615133304566
+9723,52.44283403135336,13.10757066822125,52.573247205551034,13.454771545348997,52.510477093723246,13.305960738396617
+9724,52.05159450876033,13.454771545348997,52.18200768295801,13.801972422476744,52.1293907921006,13.650872604632644
+9725,52.05159450876033,13.801972422476744,52.18200768295801,14.14917329960449,52.11375150935658,13.956996877991264
+9726,52.18200768295801,13.454771545348997,52.312420857155686,13.801972422476744,52.24971550892063,13.634015104142039
+9727,52.18200768295801,13.801972422476744,52.312420857155686,14.14917329960449,52.251874001654556,13.960812798923019
+9728,52.05159450876033,14.14917329960449,52.312420857155686,14.843575053859983,52.18755282552216,14.484980188082977
+9729,52.312420857155686,13.454771545348997,52.44283403135336,13.801972422476744,52.38615500053281,13.61038516617984
+9730,52.312420857155686,13.801972422476744,52.44283403135336,14.14917329960449,52.37392405331713,13.969623138629347
+9731,52.44283403135336,13.454771545348997,52.573247205551034,13.801972422476744,52.50598835775338,13.59182514452657
+9732,52.44283403135336,13.801972422476744,52.573247205551034,14.14917329960449,52.52389676238484,13.925475539442104
+9733,52.312420857155686,14.14917329960449,52.573247205551034,14.843575053859983,52.41582656244074,14.54180510170926
+9734,51.529941811969636,14.843575053859983,52.05159450876033,16.232378562370968,51.79180013353278,15.477767475971598
+9735,51.529941811969636,16.232378562370968,52.05159450876033,17.621182070881957,51.81227271767799,17.17622875286976
+9736,52.05159450876033,14.843575053859983,52.573247205551034,16.232378562370968,52.31720788269351,15.440537119157995
+9737,52.05159450876033,16.232378562370968,52.312420857155686,16.926780316626463,52.1949660946458,16.51255559487291
+9738,52.05159450876033,16.926780316626463,52.312420857155686,17.621182070881957,52.233036073313514,17.22456223691044
+9739,52.312420857155686,16.232378562370968,52.573247205551034,16.926780316626463,52.41371720083712,16.77181944106062
+9740,52.312420857155686,16.926780316626463,52.44283403135336,17.27398119375421,52.39397542190993,17.090489044358428
+9741,52.312420857155686,17.27398119375421,52.44283403135336,17.621182070881957,52.341328388048325,17.484546474216984
+9742,52.44283403135336,16.926780316626463,52.573247205551034,17.27398119375421,52.49021963610327,17.132680055510473
+9743,52.44283403135336,17.27398119375421,52.573247205551034,17.621182070881957,52.518286603406814,17.55470436964564
+9744,52.573247205551034,12.06596803683801,52.83407355394638,12.760369791093503,52.67844410212626,12.445207069209792
+9745,52.573247205551034,12.760369791093503,52.70366037974871,13.10757066822125,52.61440545509169,12.966496291413568
+9746,52.573247205551034,13.10757066822125,52.70366037974871,13.454771545348997,52.63288162486877,13.320717801881058
+9747,52.70366037974871,12.760369791093503,52.83407355394638,13.10757066822125,52.766248470112735,12.95046223704187
+9748,52.70366037974871,13.10757066822125,52.83407355394638,13.454771545348997,52.74251514310331,13.283765013346601
+9749,52.83407355394638,12.06596803683801,53.09489990234174,12.760369791093503,52.96402059614011,12.503435459864493
+9750,52.83407355394638,12.760369791093503,53.09489990234174,13.454771545348997,52.955878941181446,13.138044409474121
+9751,52.573247205551034,13.454771545348997,52.70366037974871,13.801972422476744,52.636610074621984,13.572449148552161
+9752,52.573247205551034,13.801972422476744,52.70366037974871,14.14917329960449,52.63321081174837,13.952007136264005
+9753,52.70366037974871,13.454771545348997,52.83407355394638,13.801972422476744,52.76230182967593,13.608910423708684
+9754,52.70366037974871,13.801972422476744,52.83407355394638,14.14917329960449,52.77775788002894,13.922114669644001
+9755,52.573247205551034,14.14917329960449,52.83407355394638,14.843575053859983,52.7249453700798,14.571196970334782
+9756,52.83407355394638,13.454771545348997,52.96448672814406,13.801972422476744,52.88198865544664,13.677071416771236
+9757,52.83407355394638,13.801972422476744,52.96448672814406,14.14917329960449,52.88537904052387,13.961269325067226
+9758,52.96448672814406,13.454771545348997,53.09489990234174,13.801972422476744,53.018505220154275,13.617261808900642
+9759,52.96448672814406,13.801972422476744,53.09489990234174,14.14917329960449,53.02519898869352,13.947339657562548
+9760,52.83407355394638,14.14917329960449,52.96448672814406,14.496374176732235,52.88606142689637,14.344145092407043
+9761,52.83407355394638,14.496374176732235,52.96448672814406,14.843575053859983,52.908140683543856,14.647960562159012
+9762,52.96448672814406,14.14917329960449,53.09489990234174,14.496374176732235,53.030655887063375,14.29340792276764
+9763,52.96448672814406,14.496374176732235,53.09489990234174,14.843575053859983,53.039187122330134,14.688203621606627
+9764,53.09489990234174,12.06596803683801,53.355726250737085,12.760369791093503,53.204605230455115,12.355913590929031
+9765,53.09489990234174,12.760369791093503,53.355726250737085,13.454771545348997,53.24109769693774,13.174649080065391
+9766,53.355726250737085,12.06596803683801,53.61655259913243,12.760369791093503,53.484425759340205,12.385627132818257
+9767,53.355726250737085,12.760369791093503,53.61655259913243,13.454771545348997,53.45633184330659,13.19692132942401
+9768,53.09489990234174,13.454771545348997,53.355726250737085,14.14917329960449,53.22029226744332,13.789757121103642
+9769,53.09489990234174,14.14917329960449,53.355726250737085,14.843575053859983,53.23436838900773,14.611833195764529
+9770,53.355726250737085,13.454771545348997,53.61655259913243,14.14917329960449,53.47587289970915,13.820702146775657
+9771,53.355726250737085,14.14917329960449,53.48613942493476,14.496374176732235,53.42798697881598,14.42095738994154
+9772,53.355726250737085,14.496374176732235,53.48613942493476,14.843575053859983,53.41768785362411,14.630335200351208
+9773,53.48613942493476,14.14917329960449,53.61655259913243,14.496374176732235,53.54688257514081,14.401253650937056
+9774,53.48613942493476,14.496374176732235,53.61655259913243,14.843575053859983,53.54890993444304,14.69204285873519
+9775,52.573247205551034,14.843575053859983,52.83407355394638,15.537976808115475,52.71275471719243,15.202136816529778
+9776,52.573247205551034,15.537976808115475,52.83407355394638,16.232378562370968,52.74146121907028,15.755233827556815
+9777,52.83407355394638,14.843575053859983,52.96448672814406,15.19077593098773,52.924424050483616,14.949242315310347
+9778,52.83407355394638,15.19077593098773,52.96448672814406,15.537976808115475,52.92139580267813,15.342153879146602
+9779,52.96448672814406,14.843575053859983,53.09489990234174,15.19077593098773,53.00665530318023,14.984302231450947
+9780,52.96448672814406,15.19077593098773,53.09489990234174,15.537976808115475,53.03616426473181,15.342578524215318
+9781,52.83407355394638,15.537976808115475,53.09489990234174,16.232378562370968,53.00154406676278,15.69154281316949
+9782,52.573247205551034,16.232378562370968,53.09489990234174,17.621182070881957,52.86786567324865,17.069890587684
+9783,53.09489990234174,14.843575053859983,53.22531307653941,15.19077593098773,53.15196510019421,14.987285025433499
+9784,53.09489990234174,15.19077593098773,53.22531307653941,15.537976808115475,53.16186328327369,15.383320894279263
+9785,53.22531307653941,14.843575053859983,53.355726250737085,15.19077593098773,53.31621477724989,15.033537890847315
+9786,53.22531307653941,15.19077593098773,53.355726250737085,15.537976808115475,53.27763236218915,15.391711180980309
+9787,53.09489990234174,15.537976808115475,53.22531307653941,15.885177685243221,53.16098867791451,15.704877728361609
+9788,53.09489990234174,15.885177685243221,53.22531307653941,16.232378562370968,53.17925141612629,15.97400961377812
+9789,53.22531307653941,15.537976808115475,53.355726250737085,15.885177685243221,53.27924699775886,15.671163486371782
+9790,53.22531307653941,15.885177685243221,53.355726250737085,16.232378562370968,53.29748758784445,16.050530346870286
+9791,53.355726250737085,14.843575053859983,53.61655259913243,15.537976808115475,53.47087319093491,15.187288067224273
+9792,53.355726250737085,15.537976808115475,53.48613942493476,15.885177685243221,53.440029976690866,15.68757812954661
+9793,53.355726250737085,15.885177685243221,53.48613942493476,16.232378562370968,53.436431280809266,16.093220753003322
+9794,53.48613942493476,15.537976808115475,53.61655259913243,15.885177685243221,53.53973269418517,15.722079090206556
+9795,53.48613942493476,15.885177685243221,53.61655259913243,16.232378562370968,53.54029899850982,16.06329847345074
+9796,53.09489990234174,16.232378562370968,53.355726250737085,16.926780316626463,53.24502216390536,16.57429671797834
+9797,53.09489990234174,16.926780316626463,53.355726250737085,17.621182070881957,53.20550172971043,17.23057116892045
+9798,53.355726250737085,16.232378562370968,53.61655259913243,16.926780316626463,53.530356276296935,16.51577491367589
+9799,53.355726250737085,16.926780316626463,53.61655259913243,17.621182070881957,53.485658157167364,17.279837788175747
+9800,51.529941811969636,17.621182070881957,51.79076816036498,18.315583825137452,51.680561087886126,17.940083735168827
+9801,51.529941811969636,18.315583825137452,51.79076816036498,19.009985579392943,51.5958838493837,18.746736094151228
+9802,51.79076816036498,17.621182070881957,52.05159450876033,18.315583825137452,51.90658927654478,18.013123631497013
+9803,51.79076816036498,18.315583825137452,52.05159450876033,19.009985579392943,52.00197274645872,18.940284373652933
+9804,51.529941811969636,19.009985579392943,51.79076816036498,19.704387333648434,51.69653595874609,19.42840934479068
+9805,51.529941811969636,19.704387333648434,51.79076816036498,20.39878908790393,51.65741113922339,20.165331263056757
+9806,51.79076816036498,19.009985579392943,52.05159450876033,19.704387333648434,51.89976241053941,19.439389353151952
+9807,51.79076816036498,19.704387333648434,52.05159450876033,20.39878908790393,51.90357795379787,20.120416137565453
+9808,52.05159450876033,17.621182070881957,52.312420857155686,18.315583825137452,52.17500783165044,18.146866236207348
+9809,52.05159450876033,18.315583825137452,52.312420857155686,19.009985579392943,52.13946763156169,18.55168573811116
+9810,52.312420857155686,17.621182070881957,52.573247205551034,18.315583825137452,52.521133852221986,17.691452801446896
+9811,52.312420857155686,18.315583825137452,52.573247205551034,19.009985579392943,52.4450558899274,18.522114952439285
+9812,52.05159450876033,19.009985579392943,52.573247205551034,20.39878908790393,52.287716361907286,19.747605999758186
+9813,51.529941811969636,20.39878908790393,51.660354986167306,20.745989965031676,51.64615840375339,20.72286527803569
+9814,51.529941811969636,20.745989965031676,51.660354986167306,21.093190842159423,51.62761314924241,20.91851659472353
+9815,51.660354986167306,20.39878908790393,51.79076816036498,20.745989965031676,51.686102867269405,20.72765491693635
+9816,51.660354986167306,20.745989965031676,51.79076816036498,21.093190842159423,51.706405160684696,20.86447664097513
+9817,51.529941811969636,21.093190842159423,51.79076816036498,21.787592596414918,51.66129477561851,21.31474398232317
+9818,51.79076816036498,20.39878908790393,51.92118133456266,20.745989965031676,51.847415686160026,20.53074205614546
+9819,51.79076816036498,20.745989965031676,51.92118133456266,21.093190842159423,51.84367098652154,20.847044985778307
+9820,51.92118133456266,20.39878908790393,52.05159450876033,20.745989965031676,51.99391605833076,20.567840306481763
+9821,51.92118133456266,20.745989965031676,52.05159450876033,21.093190842159423,52.01314709529983,20.87986946387489
+9822,51.79076816036498,21.093190842159423,52.05159450876033,21.787592596414918,51.96988296176225,21.23680271435929
+9823,51.529941811969636,21.787592596414918,52.05159450876033,23.176396104925903,51.74018405402809,22.62651079998587
+9824,52.05159450876033,20.39878908790393,52.18200768295801,20.745989965031676,52.121523481020716,20.636756849080918
+9825,52.05159450876033,20.745989965031676,52.18200768295801,21.093190842159423,52.124741310599624,20.956326523920936
+9826,52.18200768295801,20.39878908790393,52.312420857155686,20.745989965031676,52.229948184798246,20.639128573412894
+9827,52.18200768295801,20.745989965031676,52.312420857155686,21.093190842159423,52.24296053221147,20.95561505756701
+9828,52.05159450876033,21.093190842159423,52.18200768295801,21.44039171928717,52.13090391129511,21.169262657689522
+9829,52.05159450876033,21.44039171928717,52.18200768295801,21.787592596414918,52.098897450823166,21.46561946436583
+9830,52.18200768295801,21.093190842159423,52.312420857155686,21.44039171928717,52.2527618007992,21.15036686468214
+9831,52.18200768295801,21.44039171928717,52.312420857155686,21.787592596414918,52.211501731888106,21.644597818923213
+9832,52.312420857155686,20.39878908790393,52.573247205551034,21.093190842159423,52.40000020697113,20.87693514725742
+9833,52.312420857155686,21.093190842159423,52.573247205551034,21.787592596414918,52.39767113202642,21.27286187731568
+9834,52.05159450876033,21.787592596414918,52.573247205551034,23.176396104925903,52.307551039474845,22.34653805791245
+9835,52.573247205551034,17.621182070881957,52.83407355394638,18.315583825137452,52.69979425997622,18.069467873171014
+9836,52.573247205551034,18.315583825137452,52.83407355394638,19.009985579392943,52.69494222521264,18.771138822312665
+9837,52.83407355394638,17.621182070881957,53.09489990234174,18.315583825137452,52.96841497654117,17.910586492813977
+9838,52.83407355394638,18.315583825137452,53.09489990234174,19.009985579392943,52.99801058238119,18.65638613822953
+9839,52.573247205551034,19.009985579392943,52.83407355394638,19.704387333648434,52.666762401244185,19.25366681373575
+9840,52.573247205551034,19.704387333648434,52.83407355394638,20.39878908790393,52.720373964939796,20.144032569132264
+9841,52.83407355394638,19.009985579392943,53.09489990234174,19.704387333648434,52.9588055432533,19.29006620964133
+9842,52.83407355394638,19.704387333648434,53.09489990234174,20.39878908790393,52.97871749651362,20.224031842210195
+9843,53.09489990234174,17.621182070881957,53.355726250737085,18.315583825137452,53.1950140890299,18.032101955941204
+9844,53.09489990234174,18.315583825137452,53.355726250737085,19.009985579392943,53.20487613716185,18.745816761971145
+9845,53.355726250737085,17.621182070881957,53.61655259913243,18.315583825137452,53.51749258665701,18.022366406001623
+9846,53.355726250737085,18.315583825137452,53.61655259913243,19.009985579392943,53.469520686687346,18.66591721352675
+9847,53.09489990234174,19.009985579392943,53.22531307653941,19.357186456520687,53.14658729626906,19.118343977656146
+9848,53.09489990234174,19.357186456520687,53.22531307653941,19.704387333648434,53.19138647327609,19.610814939060194
+9849,53.22531307653941,19.009985579392943,53.355726250737085,19.357186456520687,53.277985199133234,19.238432267562473
+9850,53.22531307653941,19.357186456520687,53.355726250737085,19.704387333648434,53.283465662576305,19.555870869381877
+9851,53.09489990234174,19.704387333648434,53.355726250737085,20.39878908790393,53.2156098151755,20.01971427084455
+9852,53.355726250737085,19.009985579392943,53.61655259913243,19.704387333648434,53.45804759278814,19.39099573784339
+9853,53.355726250737085,19.704387333648434,53.61655259913243,20.39878908790393,53.46573585300381,20.0348642264243
+9854,52.573247205551034,20.39878908790393,53.09489990234174,21.787592596414918,52.74426039913804,21.133038433526163
+9855,52.573247205551034,21.787592596414918,53.09489990234174,23.176396104925903,52.86409856180953,22.186468751472738
+9856,53.09489990234174,20.39878908790393,53.61655259913243,21.787592596414918,53.352013451898095,20.67906811684197
+9857,53.09489990234174,21.787592596414918,53.61655259913243,23.176396104925903,53.291479501287284,22.499342209020057
+9858,45.27010945048125,23.176396104925903,45.5309357988766,23.870797859181394,45.39513102743072,23.493310909699606
+9859,45.27010945048125,23.870797859181394,45.5309357988766,24.56519961343689,45.377462760862564,24.18923042319282
+9860,45.5309357988766,23.176396104925903,45.79176214727195,23.870797859181394,45.657817474163416,23.527671454974623
+9861,45.5309357988766,23.870797859181394,45.79176214727195,24.56519961343689,45.74414100373293,24.222768899219382
+9862,45.27010945048125,24.56519961343689,45.5309357988766,25.259601367692383,45.3667286702665,24.890934283113587
+9863,45.27010945048125,25.259601367692383,45.5309357988766,25.954003121947878,45.40651805832181,25.61266835931667
+9864,45.5309357988766,24.56519961343689,45.79176214727195,25.259601367692383,45.72379018722937,24.90772040734317
+9865,45.5309357988766,25.259601367692383,45.661348973074276,25.60680224482013,45.60490285543169,25.4830762890078
+9866,45.5309357988766,25.60680224482013,45.661348973074276,25.954003121947878,45.618263185465544,25.663870161507273
+9867,45.661348973074276,25.259601367692383,45.79176214727195,25.60680224482013,45.7078896576936,25.472019865053618
+9868,45.661348973074276,25.60680224482013,45.79176214727195,25.954003121947878,45.7177001444939,25.71774399724829
+9869,45.79176214727195,23.176396104925903,46.0525884956673,23.870797859181394,45.903880803597474,23.52415273272409
+9870,45.79176214727195,23.870797859181394,46.0525884956673,24.56519961343689,45.887842042672304,24.28110980547723
+9871,46.0525884956673,23.176396104925903,46.31341484406265,23.870797859181394,46.16435015200378,23.561684229714782
+9872,46.0525884956673,23.870797859181394,46.31341484406265,24.56519961343689,46.187319289671564,24.30711431541619
+9873,45.79176214727195,24.56519961343689,46.0525884956673,25.259601367692383,45.91581718955714,24.894616262270556
+9874,45.79176214727195,25.259601367692383,46.0525884956673,25.954003121947878,45.92163563489974,25.5425757976808
+9875,46.0525884956673,24.56519961343689,46.31341484406265,25.259601367692383,46.17337993701556,24.92299551619483
+9876,46.0525884956673,25.259601367692383,46.31341484406265,25.954003121947878,46.289313861723514,25.285614546009796
+9877,45.27010945048125,25.954003121947878,45.5309357988766,26.648404876203372,45.3209254652424,26.324729432734685
+9878,45.27010945048125,26.648404876203372,45.5309357988766,27.342806630458863,45.404756688787955,26.790852705868662
+9879,45.5309357988766,25.954003121947878,45.79176214727195,26.648404876203372,45.682061258741,25.955403303096
+9880,45.5309357988766,26.648404876203372,45.79176214727195,27.342806630458863,45.6184979300409,27.057067323350026
+9881,45.27010945048125,27.342806630458863,45.5309357988766,28.037208384714354,45.43045002015837,27.895742760288986
+9882,45.27010945048125,28.037208384714354,45.5309357988766,28.73161013896985,45.37453090012808,28.180111381236078
+9883,45.5309357988766,27.342806630458863,45.79176214727195,28.037208384714354,45.640402311168934,27.721807070583814
+9884,45.5309357988766,28.037208384714354,45.79176214727195,28.73161013896985,45.70797929648185,28.34092670163317
+9885,45.79176214727195,25.954003121947878,46.31341484406265,27.342806630458863,46.09180390663511,26.847062143764056
+9886,45.79176214727195,27.342806630458863,46.0525884956673,28.037208384714354,45.89403373713016,27.696404274690256
+9887,45.79176214727195,28.037208384714354,46.0525884956673,28.73161013896985,45.934802907208855,28.322961437449298
+9888,46.0525884956673,27.342806630458863,46.31341484406265,28.037208384714354,46.19811484832408,27.557974974898677
+9889,46.0525884956673,28.037208384714354,46.31341484406265,28.73161013896985,46.20209779596056,28.53877164759285
+9890,46.31341484406265,23.176396104925903,46.574241192458,23.870797859181394,46.43930995320027,23.598411248483906
+9891,46.31341484406265,23.870797859181394,46.574241192458,24.56519961343689,46.45443544236535,24.151264391566773
+9892,46.574241192458,23.176396104925903,46.704654366655674,23.523596982053647,46.64595400615808,23.35972943969734
+9893,46.574241192458,23.523596982053647,46.704654366655674,23.870797859181394,46.6208516224801,23.705672423125836
+9894,46.704654366655674,23.176396104925903,46.835067540853345,23.523596982053647,46.765514662315,23.386294897236336
+9895,46.704654366655674,23.523596982053647,46.835067540853345,23.870797859181394,46.770241657084675,23.63571675929928
+9896,46.574241192458,23.870797859181394,46.835067540853345,24.56519961343689,46.74010237411,24.315052064280227
+9897,46.31341484406265,24.56519961343689,46.574241192458,25.259601367692383,46.447706498858,24.966921788101455
+9898,46.31341484406265,25.259601367692383,46.574241192458,25.954003121947878,46.37036897671477,25.4823178871177
+9899,46.574241192458,24.56519961343689,46.835067540853345,25.259601367692383,46.71266183659658,24.848544968043807
+9900,46.574241192458,25.259601367692383,46.835067540853345,25.954003121947878,46.75029114585146,25.51615209932835
+9901,46.835067540853345,23.176396104925903,47.09589388924869,23.870797859181394,46.956049297528914,23.427813234785447
+9902,46.835067540853345,23.870797859181394,47.09589388924869,24.56519961343689,46.94705180123281,24.339068831744914
+9903,47.09589388924869,23.176396104925903,47.35672023764404,23.870797859181394,47.22703187308814,23.474914010167296
+9904,47.09589388924869,23.870797859181394,47.35672023764404,24.56519961343689,47.1799524719461,24.273257714591004
+9905,46.835067540853345,24.56519961343689,47.35672023764404,25.954003121947878,47.150995860407676,25.327577473281906
+9906,46.31341484406265,25.954003121947878,46.835067540853345,27.342806630458863,46.584655112058016,26.995639710222655
+9907,46.31341484406265,27.342806630458863,46.574241192458,28.037208384714354,46.48726495794575,27.843512482887824
+9908,46.31341484406265,28.037208384714354,46.574241192458,28.73161013896985,46.405672169460395,28.401060700740384
+9909,46.574241192458,27.342806630458863,46.835067540853345,28.037208384714354,46.694436812788986,27.749152864514276
+9910,46.574241192458,28.037208384714354,46.835067540853345,28.73161013896985,46.74274068562742,28.399681295957286
+9911,46.835067540853345,25.954003121947878,47.09589388924869,26.648404876203372,46.98333559382804,26.186321133298954
+9912,46.835067540853345,26.648404876203372,47.09589388924869,27.342806630458863,46.937828704984646,26.99049572784093
+9913,47.09589388924869,25.954003121947878,47.35672023764404,26.648404876203372,47.21803813688149,26.409306063763783
+9914,47.09589388924869,26.648404876203372,47.35672023764404,27.342806630458863,47.20430137700325,26.896497952695135
+9915,46.835067540853345,27.342806630458863,47.09589388924869,28.037208384714354,46.97077740220018,27.74982707115251
+9916,46.835067540853345,28.037208384714354,46.965480715051015,28.3844092618421,46.892771234439266,28.2165397829107
+9917,46.835067540853345,28.3844092618421,46.965480715051015,28.73161013896985,46.89869761389351,28.608212736368646
+9918,46.965480715051015,28.037208384714354,47.09589388924869,28.3844092618421,47.05212182474979,28.206292891666006
+9919,46.965480715051015,28.3844092618421,47.09589388924869,28.73161013896985,47.0252339495892,28.621881935854724
+9920,47.09589388924869,27.342806630458863,47.35672023764404,28.037208384714354,47.19367469114292,27.638969526974815
+9921,47.09589388924869,28.037208384714354,47.35672023764404,28.73161013896985,47.19722052773418,28.36006002023247
+9922,45.27010945048125,28.73161013896985,46.31341484406265,31.509217155991823,46.256228270961806,28.75150622209214
+9923,46.31341484406265,28.73161013896985,46.574241192458,29.426011893225343,46.48926369609154,28.85276087077443
+9924,46.31341484406265,29.426011893225343,46.574241192458,30.120413647480838,46.48231571179614,29.88601164046856
+9925,46.574241192458,28.73161013896985,46.835067540853345,29.426011893225343,46.72834118378016,29.145953209246404
+9926,46.574241192458,29.426011893225343,46.835067540853345,30.120413647480838,46.702000433208056,29.704611271355812
+9927,46.31341484406265,30.120413647480838,46.835067540853345,31.509217155991823,46.41273052769074,30.144861445757943
+9928,46.835067540853345,28.73161013896985,46.965480715051015,29.078811016097596,46.92080791189794,28.896923447909046
+9929,46.835067540853345,29.078811016097596,46.965480715051015,29.426011893225343,46.89392574861822,29.260272649391453
+9930,46.965480715051015,28.73161013896985,47.09589388924869,29.078811016097596,47.02215424167908,28.864357204699846
+9931,46.965480715051015,29.078811016097596,47.09589388924869,29.426011893225343,47.05179287505323,29.223711546409422
+9932,46.835067540853345,29.426011893225343,47.09589388924869,30.120413647480838,46.914299257646206,29.600200003994214
+9933,47.09589388924869,28.73161013896985,47.22630706344637,29.078811016097596,47.14343311014755,28.914565561089297
+9934,47.09589388924869,29.078811016097596,47.22630706344637,29.426011893225343,47.15777423274599,29.18073590027829
+9935,47.22630706344637,28.73161013896985,47.35672023764404,29.078811016097596,47.2933372395689,28.904960141378183
+9936,47.22630706344637,29.078811016097596,47.35672023764404,29.426011893225343,47.30205524287694,29.133316025442703
+9937,47.35672023764404,23.176396104925903,48.40002563122544,25.954003121947878,47.523134392684725,25.51251439665236
+9938,47.35672023764404,25.954003121947878,47.878372934434736,27.342806630458863,47.52001579345133,26.22616619340957
+9939,47.35672023764404,27.342806630458863,47.61754658603939,28.037208384714354,47.55938937352175,27.824304898489395
+9940,47.35672023764404,28.037208384714354,47.61754658603939,28.73161013896985,47.50751785018164,28.390802125588024
+9941,47.61754658603939,27.342806630458863,47.878372934434736,28.037208384714354,47.7434193159505,27.905107478368187
+9942,47.61754658603939,28.037208384714354,47.878372934434736,28.73161013896985,47.78115097430189,28.34850473124304
+9943,47.878372934434736,25.954003121947878,48.40002563122544,27.342806630458863,48.25647037659867,27.009913277674332
+9944,47.878372934434736,27.342806630458863,48.13919928283009,28.037208384714354,48.02386472448203,27.657122935851145
+9945,47.878372934434736,28.037208384714354,48.13919928283009,28.73161013896985,47.98636598039406,28.57798520428858
+9946,48.13919928283009,27.342806630458863,48.40002563122544,28.037208384714354,48.36068459532621,27.852601039076564
+9947,48.13919928283009,28.037208384714354,48.40002563122544,28.73161013896985,48.16811773689708,28.258531201029687
+9948,48.40002563122544,25.954003121947878,49.44333102480684,28.73161013896985,48.41903420413689,27.836988671936112
+9949,47.35672023764404,28.73161013896985,47.61754658603939,29.426011893225343,47.49588807509594,28.94712122496121
+9950,47.61754658603939,28.73161013896985,47.878372934434736,29.426011893225343,47.711784214076864,28.92958754906655
+9951,47.878372934434736,28.73161013896985,48.40002563122544,30.120413647480838,48.117667270896305,28.73550195866935
+9952,45.27010945048125,37.06443119003577,46.31341484406265,39.84203820705774,45.69004208342254,39.06566157255457
+9953,46.31341484406265,37.06443119003577,46.835067540853345,38.45323469854675,46.7028661043092,38.09575872008727
+9954,46.31341484406265,38.45323469854675,46.835067540853345,39.84203820705774,46.61726507962482,39.28927863977213
+9955,46.835067540853345,39.147636452802246,47.09589388924869,39.84203820705774,47.01362931058763,39.51534570382992
+9956,47.09589388924869,38.45323469854675,47.35672023764404,39.147636452802246,47.22338837952146,38.85964800534514
+9957,47.09589388924869,39.147636452802246,47.22630706344637,39.49483732992999,47.10306127183061,39.42751307695415
+9958,47.09589388924869,39.49483732992999,47.22630706344637,39.84203820705774,47.167782399569674,39.68991726608965
+9959,47.22630706344637,39.147636452802246,47.35672023764404,39.49483732992999,47.28520308908728,39.37399080185741
+9960,47.22630706344637,39.49483732992999,47.35672023764404,39.84203820705774,47.257179799722195,39.70407559631174
+9961,45.27010945048125,39.84203820705774,46.31341484406265,42.61964522407972,45.77166589554926,40.64136790733151
+9962,45.27010945048125,42.61964522407972,46.31341484406265,45.39725224110169,46.180294577955465,43.79474531956288
+9963,46.31341484406265,39.84203820705774,46.835067540853345,41.23084171556873,46.596350041553485,40.82018988742948
+9964,46.31341484406265,41.23084171556873,46.835067540853345,42.61964522407972,46.65576917198419,42.10939602080993
+9965,46.835067540853345,39.84203820705774,47.09589388924869,40.536439961313235,46.96230157467484,40.183900166104145
+9966,46.835067540853345,40.536439961313235,47.09589388924869,41.23084171556873,46.991967027757795,40.68806544474556
+9967,47.09589388924869,39.84203820705774,47.35672023764404,40.536439961313235,47.19803492741853,40.11604488182443
+9968,47.09589388924869,40.536439961313235,47.35672023764404,41.23084171556873,47.33320016963033,40.55533887360634
+9969,46.835067540853345,41.23084171556873,47.35672023764404,42.61964522407972,46.90029997924016,41.83468786269056
+9970,46.31341484406265,42.61964522407972,46.574241192458,43.31404697833521,46.49188548925834,42.95169715686172
+9971,46.31341484406265,43.31404697833521,46.574241192458,44.00844873259071,46.49654885069055,43.69736217296664
+9972,46.574241192458,42.61964522407972,46.835067540853345,43.31404697833521,46.59510105403398,42.82710822528931
+9973,46.31341484406265,44.00844873259071,46.835067540853345,45.39725224110169,46.33071718811577,44.07759823396298
+9974,46.835067540853345,44.00844873259071,47.35672023764404,45.39725224110169,47.298763083152664,44.573056389394004
+9975,47.35672023764404,34.2868241730138,49.44333102480684,39.84203820705774,47.529268686998584,39.30836683790065
+9976,47.35672023764404,39.84203820705774,47.61754658603939,40.536439961313235,47.45978229853668,39.95828912916969
+9977,47.35672023764404,40.536439961313235,47.61754658603939,41.23084171556873,47.500546524233236,40.730458170958954
+9978,47.61754658603939,39.84203820705774,47.878372934434736,40.536439961313235,47.69094109103751,40.269165554131725
+9979,47.61754658603939,40.536439961313235,47.878372934434736,41.23084171556873,47.69896703647401,40.85764420606545
+9980,47.878372934434736,39.84203820705774,48.40002563122544,41.23084171556873,48.25261856022524,40.300852674128144
+9981,47.35672023764404,42.61964522407972,48.40002563122544,45.39725224110169,48.01572232156716,43.855518388374286
+9982,48.40002563122544,39.84203820705774,49.44333102480684,42.61964522407972,48.5312052154189,40.31884104014329
+9983,48.40002563122544,42.61964522407972,48.92167832801614,44.00844873259071,48.68689714623125,43.86585294778393
+9984,48.40002563122544,44.00844873259071,48.66085197962079,44.7028504868462,48.559326541350785,44.50935395952187
+9985,48.66085197962079,44.00844873259071,48.92167832801614,44.7028504868462,48.74228089725866,44.5029018376176
+9986,48.66085197962079,44.7028504868462,48.92167832801614,45.39725224110169,48.67799343790008,45.35341541251069
+9987,48.92167832801614,44.00844873259071,49.44333102480684,45.39725224110169,49.182450873727745,44.80182095014792
+9988,49.44333102480684,23.176396104925903,51.529941811969636,28.73161013896985,50.88083633172118,23.54419260638126
+9989,51.529941811969636,23.176396104925903,52.05159450876033,24.56519961343689,51.84374659646336,23.733974994111627
+9990,52.05159450876033,23.176396104925903,52.312420857155686,23.870797859181394,52.19605392778681,23.641988469416063
+9991,52.05159450876033,23.870797859181394,52.312420857155686,24.56519961343689,52.215648942339314,24.14212045015021
+9992,52.312420857155686,23.176396104925903,52.44283403135336,23.523596982053647,52.36963047011852,23.401619825208247
+9993,52.312420857155686,23.523596982053647,52.44283403135336,23.870797859181394,52.384880578178446,23.763218603726155
+9994,52.44283403135336,23.176396104925903,52.573247205551034,23.523596982053647,52.49488503557877,23.408978272625866
+9995,52.44283403135336,23.523596982053647,52.573247205551034,23.870797859181394,52.509304848512784,23.693505809877877
+9996,52.312420857155686,23.870797859181394,52.573247205551034,24.56519961343689,52.429418754945345,24.081092384034903
+9997,52.05159450876033,24.56519961343689,52.573247205551034,25.954003121947878,52.34961680187311,25.155371642546797
+9998,51.529941811969636,25.954003121947878,52.05159450876033,27.342806630458863,51.97240416374649,27.1452430101583
+9999,52.05159450876033,25.954003121947878,52.573247205551034,27.342806630458863,52.28857293202422,26.56351301308258
+10000,52.05159450876033,27.342806630458863,52.573247205551034,28.73161013896985,52.2447486934238,27.81384858246958
+10001,52.573247205551034,23.176396104925903,53.09489990234174,24.56519961343689,52.716835717514485,23.885052505694336
+10002,52.573247205551034,24.56519961343689,53.09489990234174,25.954003121947878,52.78138421440838,25.39787681493616
+10003,53.09489990234174,23.176396104925903,53.61655259913243,24.56519961343689,53.22869600140949,23.756056035183438
+10004,53.09489990234174,24.56519961343689,53.61655259913243,25.954003121947878,53.320981992053284,25.080734706489082
+10005,52.573247205551034,25.954003121947878,53.09489990234174,27.342806630458863,52.84918517689576,26.471583621655736
+10006,52.573247205551034,27.342806630458863,53.09489990234174,28.73161013896985,52.937308532170604,27.641055657023482
+10007,53.09489990234174,25.954003121947878,53.355726250737085,26.648404876203372,53.25043426387939,26.393140470133066
+10008,53.09489990234174,26.648404876203372,53.355726250737085,27.342806630458863,53.20535928398311,26.92908342660123
+10009,53.355726250737085,25.954003121947878,53.61655259913243,26.648404876203372,53.450717334777586,26.441373421225915
+10010,53.355726250737085,26.648404876203372,53.61655259913243,27.342806630458863,53.48593422361568,27.011838362427806
+10011,53.09489990234174,27.342806630458863,53.355726250737085,28.037208384714354,53.24043997772829,27.726638549601173
+10012,53.09489990234174,28.037208384714354,53.355726250737085,28.73161013896985,53.26411645829808,28.540614169680357
+10013,53.355726250737085,27.342806630458863,53.61655259913243,28.037208384714354,53.513548733597574,27.676961856779673
+10014,53.355726250737085,28.037208384714354,53.61655259913243,28.73161013896985,53.5188862888351,28.176296433745293
+10015,51.529941811969636,28.73161013896985,52.573247205551034,31.509217155991823,52.225146922058244,30.462732517364813
+10016,51.529941811969636,31.509217155991823,52.573247205551034,34.2868241730138,52.52332997910899,31.698100373930203
+10017,52.573247205551034,28.73161013896985,53.09489990234174,30.120413647480838,52.994994162352626,29.234042254675074
+10018,52.573247205551034,30.120413647480838,53.09489990234174,31.509217155991823,52.77151258797163,30.386421333227517
+10019,53.09489990234174,28.73161013896985,53.61655259913243,30.120413647480838,53.18847707092628,29.0917405700113
+10020,53.09489990234174,30.120413647480838,53.61655259913243,31.509217155991823,53.3536101600705,30.80792160201245
+10021,52.573247205551034,31.509217155991823,53.61655259913243,34.2868241730138,53.34960767508966,32.75194051603334
+10022,49.44333102480684,34.2868241730138,50.48663641838824,37.06443119003577,50.444370938163665,36.25532638877981
+10023,49.44333102480684,37.06443119003577,50.48663641838824,39.84203820705774,50.14228115437475,39.055224319595965
+10024,50.48663641838824,34.2868241730138,51.00828911517894,35.67562768152479,50.81139984450934,35.537262554743485
+10025,50.48663641838824,35.67562768152479,51.00828911517894,37.06443119003577,50.65117663402778,36.36332407664278
+10026,51.00828911517894,35.67562768152479,51.529941811969636,37.06443119003577,51.214406674611,36.290380600538
+10027,50.48663641838824,37.06443119003577,51.00828911517894,38.45323469854675,50.84661739779583,37.16351088329717
+10028,50.48663641838824,38.45323469854675,51.00828911517894,39.84203820705774,50.77484519028286,38.99366122944575
+10029,51.00828911517894,37.06443119003577,51.529941811969636,38.45323469854675,51.34960976413,37.753400929670505
+10030,51.00828911517894,38.45323469854675,51.26911546357429,39.147636452802246,51.1242844596653,38.99390126568175
+10031,51.00828911517894,39.147636452802246,51.26911546357429,39.84203820705774,51.14028557881635,39.588171900399225
+10032,51.26911546357429,38.45323469854675,51.529941811969636,39.147636452802246,51.394968681670576,39.020466263612704
+10033,51.26911546357429,39.147636452802246,51.529941811969636,39.84203820705774,51.44456618803357,39.406362741042926
+10034,49.44333102480684,39.84203820705774,50.48663641838824,42.61964522407972,49.94108274276437,41.05526625715385
+10035,49.44333102480684,42.61964522407972,50.48663641838824,45.39725224110169,49.860225519266,43.23988715883808
+10036,50.48663641838824,39.84203820705774,51.529941811969636,42.61964522407972,50.9595427326586,40.21862912371365
+10037,50.48663641838824,42.61964522407972,51.529941811969636,45.39725224110169,51.312531944801826,44.934814265251674
+10038,51.529941811969636,34.2868241730138,52.573247205551034,37.06443119003577,51.7296288227652,36.148249663305755
+10039,51.529941811969636,37.06443119003577,52.05159450876033,38.45323469854675,51.566946132725285,38.14545105388983
+10040,51.529941811969636,38.45323469854675,51.660354986167306,38.8004355756745,51.607252064452624,38.62982631476647
+10041,51.529941811969636,38.8004355756745,51.660354986167306,39.147636452802246,51.61509533172199,39.06193026786544
+10042,51.660354986167306,38.45323469854675,51.79076816036498,38.8004355756745,51.705341609433226,38.788030258269146
+10043,51.660354986167306,38.8004355756745,51.79076816036498,39.147636452802246,51.704234553807275,39.08770901305134
+10044,51.529941811969636,39.147636452802246,51.660354986167306,39.49483732992999,51.61787042194591,39.269923422434275
+10045,51.529941811969636,39.49483732992999,51.660354986167306,39.84203820705774,51.601290976840396,39.65367090145108
+10046,51.660354986167306,39.147636452802246,51.79076816036498,39.49483732992999,51.70550478658837,39.24693581266774
+10047,51.660354986167306,39.49483732992999,51.79076816036498,39.84203820705774,51.69320821332984,39.6284453231101
+10048,51.79076816036498,38.45323469854675,52.05159450876033,39.147636452802246,51.84729682207088,39.066347543480425
+10049,51.79076816036498,39.147636452802246,52.05159450876033,39.84203820705774,51.86835492038262,39.265398188827895
+10050,52.05159450876033,37.06443119003577,52.573247205551034,38.45323469854675,52.40196661753778,37.88533033276358
+10051,52.05159450876033,38.45323469854675,52.573247205551034,39.84203820705774,52.360176900570416,39.01471709653906
+10052,52.573247205551034,34.2868241730138,53.61655259913243,37.06443119003577,53.022742201946976,36.188317124879546
+10053,52.573247205551034,37.06443119003577,53.09489990234174,38.45323469854675,52.79388307178113,38.278071287232784
+10054,52.573247205551034,38.45323469854675,53.09489990234174,39.84203820705774,52.60316806248028,38.98595628340084
+10055,53.09489990234174,37.06443119003577,53.61655259913243,38.45323469854675,53.29383893578072,38.166639526496304
+10056,53.09489990234174,38.45323469854675,53.61655259913243,39.84203820705774,53.4577670245291,38.62209414836233
+10057,51.529941811969636,39.84203820705774,52.573247205551034,42.61964522407972,51.9804845302172,40.649716058828034
+10058,51.529941811969636,42.61964522407972,52.573247205551034,45.39725224110169,52.33953097005805,44.10572355373194
+10059,52.573247205551034,39.84203820705774,53.09489990234174,41.23084171556873,52.867294190707625,40.76102657192015
+10060,52.573247205551034,41.23084171556873,53.09489990234174,42.61964522407972,52.7398942992542,41.46968164343842
+10061,53.09489990234174,39.84203820705774,53.61655259913243,41.23084171556873,53.331678984610384,40.05847781375526
+10062,53.09489990234174,41.23084171556873,53.61655259913243,42.61964522407972,53.46192109113406,41.756763170036116
+10063,52.573247205551034,42.61964522407972,53.61655259913243,45.39725224110169,53.196832565268885,44.35989406787868
+10064,53.61655259913243,6.510754002794063,54.13820529592313,7.89955751130505,53.69612237025691,7.639929095238612
+10065,53.61655259913243,7.89955751130505,53.87737894752778,8.593959265560542,53.69607079383576,8.277796242832386
+10066,53.61655259913243,8.593959265560542,53.87737894752778,9.288361019816037,53.75917148713756,8.868819249834596
+10067,53.87737894752778,7.89955751130505,54.13820529592313,8.593959265560542,53.95983036962381,8.33781133132588
+10068,53.87737894752778,8.593959265560542,54.13820529592313,9.288361019816037,54.013262098225724,8.992703534234327
+10069,54.13820529592313,6.510754002794063,54.65985799271383,7.89955751130505,54.17862020139481,7.888234959127356
+10070,54.13820529592313,7.89955751130505,54.399031644318484,8.593959265560542,54.23085370156937,8.124204722651013
+10071,54.13820529592313,8.593959265560542,54.399031644318484,9.288361019816037,54.24510723091306,8.971391599019496
+10072,54.399031644318484,7.89955751130505,54.65985799271383,8.593959265560542,54.63715720806336,8.38115234364947
+10073,54.399031644318484,8.593959265560542,54.65985799271383,9.288361019816037,54.506751174602485,8.978055022610876
+10074,53.61655259913243,9.288361019816037,53.7469657733301,9.635561896943784,53.67483282633609,9.442544059300516
+10075,53.61655259913243,9.635561896943784,53.7469657733301,9.98276277407153,53.677883316632794,9.843107302328573
+10076,53.7469657733301,9.288361019816037,53.87737894752778,9.635561896943784,53.81485734422428,9.482758485683235
+10077,53.7469657733301,9.635561896943784,53.87737894752778,9.98276277407153,53.79773539663325,9.855940490680103
+10078,53.61655259913243,9.98276277407153,53.7469657733301,10.329963651199275,53.66717094816759,10.130612668797342
+10079,53.61655259913243,10.329963651199275,53.7469657733301,10.677164528327022,53.69009430460853,10.507344347869816
+10080,53.7469657733301,9.98276277407153,53.87737894752778,10.329963651199275,53.81312084675054,10.10606906525952
+10081,53.7469657733301,10.329963651199275,53.87737894752778,10.677164528327022,53.826746986279645,10.544769516666678
+10082,53.87737894752778,9.288361019816037,54.13820529592313,9.98276277407153,53.99351898210626,9.631128854925432
+10083,53.87737894752778,9.98276277407153,54.00779212172546,10.329963651199275,53.93754915263928,10.189000251143108
+10084,53.87737894752778,10.329963651199275,54.00779212172546,10.677164528327022,53.932652270107916,10.583100525387115
+10085,54.00779212172546,9.98276277407153,54.13820529592313,10.329963651199275,54.05958890459121,10.112124764422404
+10086,54.00779212172546,10.329963651199275,54.13820529592313,10.677164528327022,54.08249880377861,10.568893245064045
+10087,53.61655259913243,10.677164528327022,53.87737894752778,11.371566282582517,53.77021634127482,10.830638702013543
+10088,53.61655259913243,11.371566282582517,53.87737894752778,12.06596803683801,53.735268513738994,11.570103689394745
+10089,53.87737894752778,10.677164528327022,54.00779212172546,11.02436540545477,53.94312221125111,10.80814973725751
+10090,53.87737894752778,11.02436540545477,54.00779212172546,11.371566282582517,53.970358765792504,11.184027316346915
+10091,54.00779212172546,10.677164528327022,54.13820529592313,11.02436540545477,54.089893555538765,10.776623807560943
+10092,54.00779212172546,11.02436540545477,54.13820529592313,11.371566282582517,54.01045076666319,11.116617878895815
+10093,53.87737894752778,11.371566282582517,54.13820529592313,12.06596803683801,54.02941552325452,11.693362059950536
+10094,54.13820529592313,9.288361019816037,54.399031644318484,9.98276277407153,54.2872210405812,9.668554850133685
+10095,54.13820529592313,9.98276277407153,54.399031644318484,10.677164528327022,54.270993305120335,10.30650772913862
+10096,54.399031644318484,9.288361019816037,54.529444818516154,9.635561896943784,54.47001527718413,9.51046435788251
+10097,54.399031644318484,9.635561896943784,54.529444818516154,9.98276277407153,54.46232134007572,9.81516343718358
+10098,54.529444818516154,9.288361019816037,54.65985799271383,9.635561896943784,54.577781617061824,9.518756675918805
+10099,54.529444818516154,9.635561896943784,54.65985799271383,9.98276277407153,54.60396323537678,9.838426295788853
+10100,54.399031644318484,9.98276277407153,54.65985799271383,10.677164528327022,54.450954564142926,10.232109369503535
+10101,54.13820529592313,10.677164528327022,54.399031644318484,11.371566282582517,54.245306198490454,10.946143077162217
+10102,54.13820529592313,11.371566282582517,54.399031644318484,12.06596803683801,54.14885224958682,11.847070216310176
+10103,54.399031644318484,10.677164528327022,54.65985799271383,11.371566282582517,54.45481125539646,11.146370828702985
+10104,54.399031644318484,11.371566282582517,54.65985799271383,12.06596803683801,54.60921473807012,11.942164074245069
+10105,54.65985799271383,7.89955751130505,54.92068434110918,8.593959265560542,54.800048982489,8.396589642025402
+10106,54.65985799271383,8.593959265560542,54.92068434110918,9.288361019816037,54.807220754319836,8.891093027835195
+10107,54.92068434110918,7.89955751130505,55.181510689504535,8.593959265560542,55.07254636761369,8.47306342395968
+10108,54.92068434110918,8.593959265560542,55.05109751530686,8.94116014268829,54.96367566508781,8.829453608881364
+10109,54.92068434110918,8.94116014268829,55.05109751530686,9.288361019816037,54.98127347340285,9.058528531830664
+10110,55.05109751530686,8.593959265560542,55.181510689504535,8.94116014268829,55.13129864539789,8.80423664627645
+10111,55.05109751530686,8.94116014268829,55.181510689504535,9.288361019816037,55.114574213206886,9.088295325583106
+10112,55.181510689504535,7.89955751130505,55.44233703789988,8.593959265560542,55.379045425735995,8.440954711947988
+10113,55.181510689504535,8.593959265560542,55.311923863702205,8.94116014268829,55.25473074030762,8.790077943324656
+10114,55.181510689504535,8.94116014268829,55.311923863702205,9.288361019816037,55.242849587389905,9.108361356578396
+10115,55.311923863702205,8.593959265560542,55.44233703789988,8.94116014268829,55.368551812186254,8.769476404930645
+10116,55.311923863702205,8.94116014268829,55.44233703789988,9.288361019816037,55.37938028788047,9.114277395693934
+10117,55.44233703789988,7.89955751130505,55.70316338629523,8.593959265560542,55.540835967966544,8.402277342320058
+10118,55.44233703789988,8.593959265560542,55.70316338629523,9.288361019816037,55.54018263308449,8.913196722411772
+10119,54.65985799271383,9.288361019816037,54.79027116691151,9.635561896943784,54.725645179938674,9.425447411501418
+10120,54.65985799271383,9.635561896943784,54.79027116691151,9.98276277407153,54.758969043190625,9.792928226043372
+10121,54.79027116691151,9.288361019816037,54.92068434110918,9.635561896943784,54.85645121540826,9.470548641936391
+10122,54.79027116691151,9.635561896943784,54.92068434110918,9.98276277407153,54.87852606259961,9.798253174392784
+10123,54.65985799271383,9.98276277407153,54.92068434110918,10.677164528327022,54.86708628571109,10.32778126274902
+10124,54.92068434110918,9.288361019816037,55.181510689504535,9.98276277407153,55.01266771680876,9.560305837514692
+10125,54.92068434110918,9.98276277407153,55.181510689504535,10.677164528327022,55.07627498535605,10.337093102362777
+10126,54.65985799271383,10.677164528327022,54.92068434110918,11.371566282582517,54.804726691116834,11.10598037604907
+10127,54.65985799271383,11.371566282582517,54.92068434110918,12.06596803683801,54.768327054138034,11.785860760512302
+10128,54.92068434110918,10.677164528327022,55.181510689504535,11.371566282582517,55.06892192159835,10.746346023977074
+10129,54.92068434110918,11.371566282582517,55.181510689504535,12.06596803683801,55.03566655646127,11.865470650070836
+10130,55.181510689504535,9.288361019816037,55.44233703789988,9.98276277407153,55.29510488043778,9.56802449955178
+10131,55.181510689504535,9.98276277407153,55.311923863702205,10.329963651199275,55.23340723024839,10.170589180418535
+10132,55.181510689504535,10.329963651199275,55.311923863702205,10.677164528327022,55.25742593377547,10.49730252727638
+10133,55.311923863702205,9.98276277407153,55.44233703789988,10.329963651199275,55.386381422011326,10.191995388928767
+10134,55.311923863702205,10.329963651199275,55.44233703789988,10.677164528327022,55.383142231995855,10.47833084644975
+10135,55.44233703789988,9.288361019816037,55.57275021209756,9.635561896943784,55.51919746927277,9.473683868985189
+10136,55.44233703789988,9.635561896943784,55.57275021209756,9.98276277407153,55.518416752901274,9.766930217902257
+10137,55.57275021209756,9.288361019816037,55.70316338629523,9.635561896943784,55.65361102972226,9.520305361935176
+10138,55.57275021209756,9.635561896943784,55.70316338629523,9.98276277407153,55.61938592552726,9.714024426571086
+10139,55.44233703789988,9.98276277407153,55.70316338629523,10.677164528327022,55.49922988383282,10.458545348252052
+10140,55.181510689504535,10.677164528327022,55.44233703789988,11.371566282582517,55.31740963767822,11.015093967329872
+10141,55.181510689504535,11.371566282582517,55.44233703789988,12.06596803683801,55.32529567317436,11.752032978665493
+10142,55.44233703789988,10.677164528327022,55.70316338629523,11.371566282582517,55.629408599630025,11.189346492017208
+10143,55.44233703789988,11.371566282582517,55.70316338629523,12.06596803683801,55.54921953055074,11.793328158655633
+10144,55.70316338629523,7.89955751130505,55.96398973469058,8.593959265560542,55.85112593478558,8.33699608678698
+10145,55.70316338629523,8.593959265560542,55.96398973469058,9.288361019816037,55.8087352285222,8.984593175176334
+10146,55.96398973469058,7.89955751130505,56.094402908888256,8.246758388432795,56.03139908185056,8.143809264379017
+10147,55.96398973469058,8.246758388432795,56.094402908888256,8.593959265560542,56.034094562017195,8.437890751384673
+10148,56.094402908888256,7.89955751130505,56.224816083085926,8.246758388432795,56.14944552868896,8.166181412301832
+10149,56.094402908888256,8.246758388432795,56.224816083085926,8.593959265560542,56.175258904980915,8.40699886672816
+10150,55.96398973469058,8.593959265560542,56.224816083085926,9.288361019816037,56.115510441732255,8.916503724910893
+10151,56.224816083085926,7.89955751130505,56.355229257283604,8.246758388432795,56.28601311585444,8.167863922568369
+10152,56.224816083085926,8.246758388432795,56.355229257283604,8.593959265560542,56.27963721295069,8.394317696200856
+10153,56.355229257283604,7.89955751130505,56.48564243148128,8.246758388432795,56.407854403100565,8.167161094548673
+10154,56.355229257283604,8.246758388432795,56.48564243148128,8.593959265560542,56.421759967693355,8.44465610047145
+10155,56.224816083085926,8.593959265560542,56.355229257283604,8.94116014268829,56.291143749360735,8.7199147936623
+10156,56.224816083085926,8.94116014268829,56.355229257283604,9.288361019816037,56.29203453411281,9.10233413997154
+10157,56.355229257283604,8.593959265560542,56.48564243148128,8.94116014268829,56.41515103101481,8.715026731367661
+10158,56.355229257283604,8.94116014268829,56.48564243148128,9.288361019816037,56.43486665565964,9.085857042026008
+10159,56.48564243148128,7.89955751130505,56.74646877987663,8.593959265560542,56.58434580848051,8.366817173283193
+10160,56.48564243148128,8.593959265560542,56.74646877987663,9.288361019816037,56.57259199282489,8.91808856294879
+10161,55.70316338629523,9.288361019816037,55.96398973469058,9.98276277407153,55.81716462851079,9.642054915986911
+10162,55.70316338629523,9.98276277407153,55.96398973469058,10.677164528327022,55.886313020908375,10.274852714797925
+10163,55.96398973469058,9.288361019816037,56.094402908888256,9.635561896943784,56.0348152741894,9.503094857022804
+10164,55.96398973469058,9.635561896943784,56.094402908888256,9.98276277407153,56.040801149072784,9.813033429000342
+10165,56.094402908888256,9.288361019816037,56.224816083085926,9.635561896943784,56.172188106194426,9.525036239702683
+10166,56.094402908888256,9.635561896943784,56.224816083085926,9.98276277407153,56.170417280086895,9.786957585167588
+10167,55.96398973469058,9.98276277407153,56.094402908888256,10.329963651199275,56.04223777214531,10.158076836622959
+10168,55.96398973469058,10.329963651199275,56.094402908888256,10.677164528327022,55.9673063246496,10.5426529262594
+10169,56.094402908888256,9.98276277407153,56.224816083085926,10.329963651199275,56.14895940145761,10.134357533978037
+10170,56.094402908888256,10.329963651199275,56.224816083085926,10.677164528327022,56.17949559695464,10.485115746767203
+10171,55.70316338629523,10.677164528327022,55.96398973469058,11.371566282582517,55.73954800663133,11.13792629877176
+10172,55.70316338629523,11.371566282582517,55.8335765604929,11.718767159710264,55.77001583807881,11.508814234700987
+10173,55.70316338629523,11.718767159710264,55.8335765604929,12.06596803683801,55.77469411635466,11.95047847514992
+10174,55.8335765604929,11.371566282582517,55.96398973469058,11.718767159710264,55.903185102100856,11.583008497932516
+10175,55.8335765604929,11.718767159710264,55.96398973469058,12.06596803683801,55.88408723539056,11.974088618476973
+10176,55.96398973469058,10.677164528327022,56.224816083085926,11.371566282582517,56.06563370632812,11.065901715930378
+10177,55.96398973469058,11.371566282582517,56.224816083085926,12.06596803683801,55.990647936513085,11.964809139129645
+10178,56.224816083085926,9.288361019816037,56.355229257283604,9.635561896943784,56.29069025636281,9.470810945698494
+10179,56.224816083085926,9.635561896943784,56.355229257283604,9.98276277407153,56.28465373095772,9.759100711700231
+10180,56.355229257283604,9.288361019816037,56.48564243148128,9.635561896943784,56.43299183967044,9.420655386762094
+10181,56.355229257283604,9.635561896943784,56.48564243148128,9.98276277407153,56.407325461774526,9.802883950791813
+10182,56.224816083085926,9.98276277407153,56.355229257283604,10.329963651199275,56.27977166125012,10.185221196856865
+10183,56.224816083085926,10.329963651199275,56.355229257283604,10.677164528327022,56.29251757535115,10.46670388106986
+10184,56.355229257283604,9.98276277407153,56.48564243148128,10.329963651199275,56.428665202752754,10.116435398276703
+10185,56.355229257283604,10.329963651199275,56.48564243148128,10.677164528327022,56.41909800822547,10.49901189482292
+10186,56.48564243148128,9.288361019816037,56.74646877987663,9.98276277407153,56.59325294876681,9.671859179910143
+10187,56.48564243148128,9.98276277407153,56.74646877987663,10.677164528327022,56.57974562915114,10.213985481869054
+10188,56.224816083085926,10.677164528327022,56.74646877987663,12.06596803683801,56.413884174442785,10.756224126213231
+10189,56.74646877987663,6.510754002794063,57.78977417345803,9.288361019816037,56.889717597491256,8.651256023258178
+10190,56.74646877987663,9.288361019816037,57.00729512827198,9.98276277407153,56.85778612337953,9.75758122096631
+10191,56.74646877987663,9.98276277407153,57.00729512827198,10.677164528327022,56.84137717237171,10.168554051274421
+10192,57.00729512827198,9.288361019816037,57.26812147666733,9.98276277407153,57.127210331195606,9.72455813739619
+10193,57.00729512827198,9.98276277407153,57.26812147666733,10.677164528327022,57.134395390453214,10.149002270101533
+10194,56.74646877987663,10.677164528327022,57.26812147666733,12.06596803683801,57.253698959000076,10.96744421147795
+10195,57.26812147666733,9.288361019816037,57.52894782506268,9.98276277407153,57.38242254712134,9.807180545967698
+10196,57.26812147666733,9.98276277407153,57.52894782506268,10.677164528327022,57.40601809157571,10.195812577388313
+10197,57.52894782506268,9.288361019816037,57.78977417345803,9.98276277407153,57.57275354272932,9.949527842681903
+10198,57.52894782506268,9.98276277407153,57.78977417345803,10.677164528327022,57.65299691165351,10.372736227347161
+10199,57.26812147666733,10.677164528327022,57.52894782506268,11.371566282582517,57.28362507986295,10.95531416413242
+10200,57.26812147666733,11.371566282582517,57.52894782506268,12.06596803683801,57.483268814558805,12.030136592547608
+10201,57.52894782506268,11.371566282582517,57.65936099926036,11.718767159710264,57.6342638111785,11.602499020797499
+10202,57.52894782506268,11.718767159710264,57.65936099926036,12.06596803683801,57.63035485681775,11.948252002287703
+10203,57.65936099926036,11.371566282582517,57.78977417345803,11.718767159710264,57.6988536315208,11.651425964731802
+10204,57.65936099926036,11.718767159710264,57.78977417345803,12.06596803683801,57.71893182969837,11.954753813206441
+10205,53.61655259913243,12.06596803683801,53.87737894752778,12.760369791093503,53.73655176938353,12.328576109410074
+10206,53.61655259913243,12.760369791093503,53.87737894752778,13.454771545348997,53.748543365561346,13.117336047854533
+10207,53.87737894752778,12.06596803683801,54.13820529592313,12.760369791093503,54.05206847186343,12.251098640578022
+10208,53.87737894752778,12.760369791093503,54.13820529592313,13.454771545348997,54.018921030879014,13.168120731064523
+10209,53.61655259913243,13.454771545348997,53.87737894752778,14.14917329960449,53.69757285688185,13.902228557399871
+10210,53.61655259913243,14.14917329960449,53.87737894752778,14.843575053859983,53.73289010001066,14.563865643481659
+10211,53.87737894752778,13.454771545348997,54.13820529592313,14.14917329960449,54.00784759610753,13.942477949069003
+10212,53.87737894752778,14.14917329960449,54.13820529592313,14.843575053859983,53.93741940209019,14.499386175894221
+10213,54.13820529592313,12.06596803683801,54.399031644318484,12.760369791093503,54.27368417222777,12.458275953376821
+10214,54.13820529592313,12.760369791093503,54.399031644318484,13.454771545348997,54.302202940388504,13.106760161116277
+10215,54.399031644318484,12.06596803683801,54.65985799271383,12.760369791093503,54.43691926303512,12.61014451256878
+10216,54.399031644318484,12.760369791093503,54.65985799271383,13.454771545348997,54.50890380520187,13.169222960492819
+10217,54.13820529592313,13.454771545348997,54.65985799271383,14.843575053859983,54.42907414961655,13.592810957333457
+10218,53.61655259913243,14.843575053859983,53.87737894752778,15.537976808115475,53.76050851730468,15.207989938693798
+10219,53.61655259913243,15.537976808115475,53.87737894752778,16.232378562370968,53.74736506858461,15.842690749570817
+10220,53.87737894752778,14.843575053859983,54.13820529592313,15.537976808115475,54.01842732025543,15.234254785828877
+10221,53.87737894752778,15.537976808115475,54.13820529592313,16.232378562370968,54.02192482862631,15.9208283072061
+10222,53.61655259913243,16.232378562370968,53.87737894752778,16.926780316626463,53.729301378213684,16.61986652353456
+10223,53.61655259913243,16.926780316626463,53.87737894752778,17.621182070881957,53.75994989801541,17.367908051521027
+10224,53.87737894752778,16.232378562370968,54.13820529592313,16.926780316626463,54.01027934606763,16.563198697847604
+10225,53.87737894752778,16.926780316626463,54.13820529592313,17.621182070881957,54.03472255969297,17.227671930034543
+10226,54.13820529592313,14.843575053859983,54.65985799271383,16.232378562370968,54.196642590860634,15.948069374254562
+10227,54.13820529592313,16.232378562370968,54.399031644318484,16.926780316626463,54.252221980518826,16.56308908608549
+10228,54.13820529592313,16.926780316626463,54.399031644318484,17.621182070881957,54.26325803672983,17.253172475980612
+10229,54.399031644318484,16.232378562370968,54.65985799271383,16.926780316626463,54.48369530729468,16.60278397917807
+10230,54.399031644318484,16.926780316626463,54.65985799271383,17.621182070881957,54.49499370650929,17.173936844382503
+10231,54.65985799271383,12.06596803683801,55.181510689504535,13.454771545348997,54.98223683364292,12.33462460040199
+10232,54.65985799271383,13.454771545348997,55.181510689504535,14.843575053859983,55.102603722031816,14.733243724366817
+10233,55.181510689504535,12.06596803683801,55.44233703789988,12.760369791093503,55.31137288474964,12.245842428295775
+10234,55.181510689504535,12.760369791093503,55.44233703789988,13.454771545348997,55.39862568671522,13.044917563837313
+10235,55.44233703789988,12.06596803683801,55.57275021209756,12.413168913965755,55.50786765604638,12.17042174483158
+10236,55.44233703789988,12.413168913965755,55.57275021209756,12.760369791093503,55.568562845299354,12.592543200632482
+10237,55.57275021209756,12.06596803683801,55.70316338629523,12.413168913965755,55.64646854667418,12.267339811398724
+10238,55.57275021209756,12.413168913965755,55.70316338629523,12.760369791093503,55.644847167517064,12.55726221589294
+10239,55.44233703789988,12.760369791093503,55.57275021209756,13.10757066822125,55.53186647067566,13.001974616677366
+10240,55.44233703789988,13.10757066822125,55.57275021209756,13.454771545348997,55.50692228351895,13.25540368132904
+10241,55.57275021209756,12.760369791093503,55.70316338629523,13.10757066822125,55.61316500901258,13.026577537199833
+10242,55.57275021209756,13.10757066822125,55.70316338629523,13.454771545348997,55.650090541260454,13.252676533608279
+10243,55.181510689504535,13.454771545348997,55.44233703789988,14.14917329960449,55.421424195325955,13.858686041482413
+10244,55.181510689504535,14.14917329960449,55.44233703789988,14.843575053859983,55.36461481989237,14.381874922306837
+10245,55.44233703789988,13.454771545348997,55.57275021209756,13.801972422476744,55.48798601403318,13.647144891029315
+10246,55.44233703789988,13.801972422476744,55.57275021209756,14.14917329960449,55.490480142159356,13.969412978219994
+10247,55.57275021209756,13.454771545348997,55.70316338629523,13.801972422476744,55.63553076573936,13.615324458031811
+10248,55.57275021209756,13.801972422476744,55.70316338629523,14.14917329960449,55.63213698332442,14.004877199431556
+10249,55.44233703789988,14.14917329960449,55.70316338629523,14.843575053859983,55.54773722117568,14.258153093513489
+10250,54.65985799271383,14.843575053859983,55.70316338629523,17.621182070881957,54.97269422124237,15.747767757614406
+10251,53.61655259913243,17.621182070881957,54.13820529592313,19.009985579392943,53.89259685871493,18.356021127187596
+10252,53.61655259913243,19.009985579392943,54.13820529592313,20.39878908790393,53.88851337858688,19.755006332024863
+10253,54.13820529592313,17.621182070881957,54.399031644318484,18.315583825137452,54.302011958689135,18.051689721910368
+10254,54.13820529592313,18.315583825137452,54.268618470120806,18.6627847022652,54.21821581501503,18.534136779397226
+10255,54.13820529592313,18.6627847022652,54.268618470120806,19.009985579392943,54.231955332779926,18.827804051183744
+10256,54.268618470120806,18.315583825137452,54.399031644318484,18.6627847022652,54.362301313895884,18.547989177638517
+10257,54.268618470120806,18.6627847022652,54.399031644318484,19.009985579392943,54.336131419484026,18.750001596553833
+10258,54.399031644318484,17.621182070881957,54.65985799271383,18.315583825137452,54.516572604844924,18.08070113114793
+10259,54.399031644318484,18.315583825137452,54.529444818516154,18.6627847022652,54.459443140131086,18.49799711948031
+10260,54.399031644318484,18.6627847022652,54.529444818516154,19.009985579392943,54.40369675557857,18.678010601807
+10261,54.529444818516154,18.315583825137452,54.65985799271383,18.6627847022652,54.59601240459188,18.434931478426044
+10262,54.529444818516154,18.6627847022652,54.65985799271383,19.009985579392943,54.620764197570935,18.80188882320904
+10263,54.13820529592313,19.009985579392943,54.65985799271383,20.39878908790393,54.278650864656456,19.480134544043725
+10264,53.61655259913243,20.39878908790393,54.13820529592313,21.787592596414918,53.86325365315614,21.038367866235667
+10265,53.61655259913243,21.787592596414918,54.13820529592313,23.176396104925903,53.86055496840979,22.718479038299304
+10266,54.13820529592313,20.39878908790393,54.65985799271383,21.787592596414918,54.56792200348102,21.325292373390152
+10267,54.13820529592313,21.787592596414918,54.399031644318484,22.481994350670412,54.24900712356108,22.27747470223451
+10268,54.13820529592313,22.481994350670412,54.399031644318484,23.176396104925903,54.28705557660606,22.899514449011303
+10269,54.399031644318484,21.787592596414918,54.65985799271383,22.481994350670412,54.616065258269536,22.057825270474286
+10270,54.399031644318484,22.481994350670412,54.65985799271383,23.176396104925903,54.614413815541404,22.778193224341113
+10271,54.65985799271383,17.621182070881957,54.92068434110918,18.315583825137452,54.76131758475159,18.033557173012564
+10272,54.65985799271383,18.315583825137452,54.92068434110918,19.009985579392943,54.70230691568213,18.551028023585488
+10273,54.65985799271383,19.009985579392943,55.181510689504535,20.39878908790393,54.80710689180371,20.10834442235453
+10274,54.65985799271383,20.39878908790393,54.79027116691151,20.745989965031676,54.71961736903607,20.515835749373593
+10275,54.65985799271383,20.745989965031676,54.79027116691151,21.093190842159423,54.681104437479036,20.89981009043738
+10276,54.79027116691151,20.39878908790393,54.92068434110918,20.745989965031676,54.88792569543219,20.48479814647874
+10277,54.65985799271383,21.093190842159423,54.92068434110918,21.787592596414918,54.6662037552769,21.11871540055296
+10278,54.92068434110918,20.39878908790393,55.181510689504535,21.093190842159423,55.03099186995125,20.60879771022251
+10279,54.65985799271383,21.787592596414918,55.181510689504535,23.176396104925903,55.02277317016095,22.29995960304041
+10280,55.181510689504535,20.39878908790393,55.70316338629523,21.787592596414918,55.5190478615758,21.15554744835148
+10281,55.181510689504535,21.787592596414918,55.70316338629523,23.176396104925903,55.498831934299595,22.559589491560644
+10282,55.70316338629523,12.06596803683801,55.8335765604929,12.413168913965755,55.765669491987076,12.264002278867371
+10283,55.70316338629523,12.413168913965755,55.8335765604929,12.760369791093503,55.75590289896663,12.51673166915366
+10284,55.8335765604929,12.06596803683801,55.96398973469058,12.413168913965755,55.886712876907026,12.239364013910372
+10285,55.8335765604929,12.413168913965755,55.96398973469058,12.760369791093503,55.89943374477265,12.507517346581963
+10286,55.70316338629523,12.760369791093503,55.8335765604929,13.10757066822125,55.77808807578109,13.019046882576166
+10287,55.70316338629523,13.10757066822125,55.8335765604929,13.454771545348997,55.74917505790743,13.25099944011608
+10288,55.8335765604929,12.760369791093503,55.96398973469058,13.10757066822125,55.89598282160272,12.895795798486652
+10289,55.8335765604929,13.10757066822125,55.96398973469058,13.454771545348997,55.89066274782685,13.284850277096046
+10290,55.96398973469058,12.06596803683801,56.094402908888256,12.413168913965755,56.0360696154407,12.230462946887833
+10291,55.96398973469058,12.413168913965755,56.094402908888256,12.760369791093503,56.042745112402415,12.683036290924322
+10292,56.094402908888256,12.06596803683801,56.224816083085926,12.413168913965755,56.1081373255995,12.256331548510556
+10293,56.094402908888256,12.413168913965755,56.224816083085926,12.760369791093503,56.15707065974487,12.647084112894333
+10294,55.96398973469058,12.760369791093503,56.094402908888256,13.10757066822125,56.02344168882829,12.878405583797582
+10295,55.96398973469058,13.10757066822125,56.094402908888256,13.454771545348997,56.025436124714744,13.267300179159495
+10296,56.094402908888256,12.760369791093503,56.224816083085926,13.10757066822125,56.14873064696486,12.898078460687264
+10297,56.094402908888256,13.10757066822125,56.224816083085926,13.454771545348997,56.13068044700124,13.261310226144927
+10298,55.70316338629523,13.454771545348997,55.8335765604929,13.801972422476744,55.76323511302009,13.543976764786038
+10299,55.70316338629523,13.801972422476744,55.8335765604929,14.14917329960449,55.7650321188129,14.0391456071812
+10300,55.8335765604929,13.454771545348997,55.96398973469058,13.801972422476744,55.8990504593253,13.6096001864684
+10301,55.8335765604929,13.801972422476744,55.96398973469058,14.14917329960449,55.91390657215577,14.019294102355916
+10302,55.70316338629523,14.14917329960449,55.96398973469058,14.843575053859983,55.88050415720035,14.252458241650645
+10303,55.96398973469058,13.454771545348997,56.094402908888256,13.801972422476744,56.03053319810435,13.660368787297998
+10304,55.96398973469058,13.801972422476744,56.094402908888256,14.14917329960449,56.02219103619005,14.07866876081644
+10305,56.094402908888256,13.454771545348997,56.224816083085926,13.801972422476744,56.14936187379535,13.702467817129849
+10306,56.094402908888256,13.801972422476744,56.224816083085926,14.14917329960449,56.16269510518155,13.879091424290989
+10307,55.96398973469058,14.14917329960449,56.094402908888256,14.496374176732235,56.034216323620605,14.23298459666277
+10308,55.96398973469058,14.496374176732235,56.094402908888256,14.843575053859983,56.05068830786402,14.630093556748786
+10309,56.094402908888256,14.14917329960449,56.224816083085926,14.496374176732235,56.168240658355195,14.287383090597364
+10310,56.094402908888256,14.496374176732235,56.224816083085926,14.843575053859983,56.15721482310921,14.698241018023266
+10311,56.224816083085926,12.06596803683801,56.48564243148128,12.760369791093503,56.29501050362307,12.603408689411467
+10312,56.224816083085926,12.760369791093503,56.48564243148128,13.454771545348997,56.33688480976941,12.94478567244573
+10313,56.48564243148128,12.06596803683801,56.74646877987663,12.760369791093503,56.655190608579666,12.75184857368
+10314,56.48564243148128,12.760369791093503,56.74646877987663,13.454771545348997,56.59391711971565,13.050535045502714
+10315,56.224816083085926,13.454771545348997,56.48564243148128,14.14917329960449,56.362929544250214,13.787362363378234
+10316,56.224816083085926,14.14917329960449,56.48564243148128,14.843575053859983,56.36178474925718,14.519903633140476
+10317,56.48564243148128,13.454771545348997,56.74646877987663,14.14917329960449,56.58478636842453,13.88360014700508
+10318,56.48564243148128,14.14917329960449,56.74646877987663,14.843575053859983,56.64485690782325,14.346259868679432
+10319,55.70316338629523,14.843575053859983,56.224816083085926,16.232378562370968,56.17571639681945,15.392522946597316
+10320,55.70316338629523,16.232378562370968,56.224816083085926,17.621182070881957,56.21052478298933,16.405947668692
+10321,56.224816083085926,14.843575053859983,56.74646877987663,16.232378562370968,56.46739491543524,15.669165812101816
+10322,56.224816083085926,16.232378562370968,56.74646877987663,17.621182070881957,56.59798535849978,16.442502388676875
+10323,56.74646877987663,12.06596803683801,57.00729512827198,12.760369791093503,56.905455550120095,12.56493970277654
+10324,56.74646877987663,12.760369791093503,57.00729512827198,13.454771545348997,56.884345219219036,13.142018120851109
+10325,57.00729512827198,12.06596803683801,57.137708302469655,12.413168913965755,57.088963732744155,12.292444939077038
+10326,57.00729512827198,12.413168913965755,57.137708302469655,12.760369791093503,57.087379138359054,12.556954930201444
+10327,57.137708302469655,12.06596803683801,57.26812147666733,12.413168913965755,57.196901340982706,12.214573405267316
+10328,57.137708302469655,12.413168913965755,57.26812147666733,12.760369791093503,57.15060293266562,12.60959770147244
+10329,57.00729512827198,12.760369791093503,57.26812147666733,13.454771545348997,57.129504310590185,13.221182523087085
+10330,56.74646877987663,13.454771545348997,57.00729512827198,14.14917329960449,56.85285818193628,13.901052782890332
+10331,56.74646877987663,14.14917329960449,57.00729512827198,14.843575053859983,56.890855579160814,14.653028370762275
+10332,57.00729512827198,13.454771545348997,57.26812147666733,14.14917329960449,57.16968801678449,13.84795952629215
+10333,57.00729512827198,14.14917329960449,57.26812147666733,14.843575053859983,57.11235886032076,14.580114050976894
+10334,57.26812147666733,12.06596803683801,57.52894782506268,12.760369791093503,57.4162526653142,12.334182319765944
+10335,57.26812147666733,12.760369791093503,57.52894782506268,13.454771545348997,57.44726239049819,13.030026557177328
+10336,57.52894782506268,12.06596803683801,57.65936099926036,12.413168913965755,57.624384058007436,12.181010768725827
+10337,57.52894782506268,12.413168913965755,57.65936099926036,12.760369791093503,57.599411754912325,12.50740463760695
+10338,57.65936099926036,12.06596803683801,57.78977417345803,12.413168913965755,57.7144532067741,12.193744915301062
+10339,57.65936099926036,12.413168913965755,57.78977417345803,12.760369791093503,57.704779213153294,12.577967381342203
+10340,57.52894782506268,12.760369791093503,57.78977417345803,13.454771545348997,57.69476409130276,13.169865449541799
+10341,57.26812147666733,13.454771545348997,57.52894782506268,14.14917329960449,57.3629184828171,13.796735468555417
+10342,57.26812147666733,14.14917329960449,57.52894782506268,14.843575053859983,57.393802454126174,14.526922555976467
+10343,57.52894782506268,13.454771545348997,57.78977417345803,14.14917329960449,57.7242731589084,13.730633329548034
+10344,57.52894782506268,14.14917329960449,57.78977417345803,14.843575053859983,57.71168092303351,14.279418511590054
+10345,56.74646877987663,14.843575053859983,57.26812147666733,16.232378562370968,57.00039193563761,15.25365378722596
+10346,56.74646877987663,16.232378562370968,57.26812147666733,17.621182070881957,57.00752524647369,16.603429665707598
+10347,57.26812147666733,14.843575053859983,57.52894782506268,15.537976808115475,57.37936521953386,15.08242811032805
+10348,57.26812147666733,15.537976808115475,57.52894782506268,16.232378562370968,57.41410998764247,15.775359314970435
+10349,57.52894782506268,14.843575053859983,57.78977417345803,15.537976808115475,57.64701020319519,15.042002024800622
+10350,57.52894782506268,15.537976808115475,57.78977417345803,16.232378562370968,57.66639217024325,15.864157140558909
+10351,57.26812147666733,16.232378562370968,57.78977417345803,17.621182070881957,57.550596512788005,16.559592423091143
+10352,55.70316338629523,17.621182070881957,56.74646877987663,20.39878908790393,56.59715959323499,17.95892260113
+10353,55.70316338629523,20.39878908790393,56.224816083085926,21.787592596414918,55.858343327741,21.16662958913174
+10354,55.70316338629523,21.787592596414918,56.224816083085926,23.176396104925903,55.97963415536126,22.361101162589804
+10355,56.224816083085926,20.39878908790393,56.74646877987663,21.787592596414918,56.58666870659912,21.293044320381767
+10356,56.224816083085926,21.787592596414918,56.74646877987663,23.176396104925903,56.60686387597171,22.35184730505754
+10357,56.74646877987663,17.621182070881957,57.26812147666733,19.009985579392943,57.083683424211394,18.29935923392883
+10358,57.26812147666733,17.621182070881957,57.52894782506268,18.315583825137452,57.41454221252463,18.17633388356888
+10359,57.26812147666733,18.315583825137452,57.52894782506268,19.009985579392943,57.417576021201135,18.63453795581718
+10360,57.52894782506268,17.621182070881957,57.78977417345803,18.315583825137452,57.6210267286283,18.284517916493357
+10361,57.52894782506268,18.315583825137452,57.78977417345803,19.009985579392943,57.67707820188114,18.538154654347863
+10362,56.74646877987663,20.39878908790393,57.00729512827198,21.093190842159423,56.80979249412788,21.07313451333218
+10363,56.74646877987663,21.093190842159423,57.00729512827198,21.787592596414918,56.869400028754136,21.55579400878347
+10364,57.00729512827198,21.093190842159423,57.26812147666733,21.787592596414918,57.12713164571914,21.59883300142559
+10365,56.74646877987663,21.787592596414918,56.87688195407431,22.134793473542665,56.836296824042996,21.8975914836072
+10366,56.74646877987663,22.134793473542665,56.87688195407431,22.481994350670412,56.839095103727445,22.319641140080662
+10367,56.87688195407431,21.787592596414918,57.00729512827198,22.134793473542665,56.957439767517904,21.965620747879296
+10368,56.87688195407431,22.134793473542665,57.00729512827198,22.481994350670412,56.92634534071181,22.345488323371494
+10369,56.74646877987663,22.481994350670412,57.00729512827198,23.176396104925903,56.92405497512568,22.888885371169525
+10370,57.00729512827198,21.787592596414918,57.26812147666733,22.481994350670412,57.08814491131713,22.088821091677975
+10371,57.00729512827198,22.481994350670412,57.26812147666733,23.176396104925903,57.08901919877234,22.79133113729039
+10372,57.26812147666733,20.39878908790393,57.78977417345803,21.787592596414918,57.393227720802834,21.608695570238133
+10373,57.26812147666733,21.787592596414918,57.78977417345803,23.176396104925903,57.48899901012538,22.345258897336457
+10374,57.78977417345803,3.73314698577209,58.83307956703943,6.510754002794063,58.68270739096403,5.808331862369547
+10375,58.83307956703943,5.121950494283077,59.35473226383013,6.510754002794063,59.001583562208836,5.831982869471429
+10376,59.35473226383013,5.121950494283077,59.876384960620825,6.510754002794063,59.636969385112096,5.758653538754927
+10377,57.78977417345803,6.510754002794063,58.83307956703943,9.288361019816037,58.25317701894105,7.512421033191181
+10378,57.78977417345803,11.371566282582517,57.9201873476557,11.718767159710264,57.89190031808274,11.647932163578867
+10379,57.78977417345803,11.718767159710264,57.9201873476557,12.06596803683801,57.857943976902874,11.951774921108088
+10380,57.9201873476557,11.371566282582517,58.050600521853376,11.718767159710264,58.00516342596926,11.60683036754456
+10381,57.9201873476557,11.718767159710264,58.050600521853376,12.06596803683801,57.98028140878307,11.867816434679561
+10382,58.050600521853376,10.677164528327022,58.311426870248724,11.371566282582517,58.11313024674375,11.36672854599575
+10383,58.050600521853376,11.371566282582517,58.18101369605105,11.718767159710264,58.1273155960512,11.598505100631595
+10384,58.050600521853376,11.718767159710264,58.18101369605105,12.06596803683801,58.10838206970582,11.856383001715438
+10385,58.18101369605105,11.371566282582517,58.311426870248724,11.718767159710264,58.265705983507964,11.587307493143546
+10386,58.18101369605105,11.718767159710264,58.311426870248724,12.06596803683801,58.245292334432996,11.842934445768648
+10387,58.311426870248724,10.677164528327022,58.57225321864408,11.371566282582517,58.44531901062882,11.288098690195797
+10388,58.311426870248724,11.371566282582517,58.57225321864408,12.06596803683801,58.41339215148598,11.725463916114997
+10389,58.57225321864408,10.677164528327022,58.83307956703943,11.371566282582517,58.69900344963892,11.310556669323256
+10390,58.57225321864408,11.371566282582517,58.83307956703943,12.06596803683801,58.68237991205447,11.598792434199494
+10391,58.83307956703943,6.510754002794063,59.876384960620825,9.288361019816037,59.55272112193257,7.911336037754289
+10392,58.83307956703943,9.288361019816037,59.35473226383013,10.677164528327022,59.158559603842036,10.067540558320392
+10393,58.83307956703943,10.677164528327022,59.35473226383013,12.06596803683801,59.15123700781967,11.077776229587654
+10394,59.35473226383013,9.288361019816037,59.61555861222548,9.98276277407153,59.534496783109006,9.562672588486967
+10395,59.35473226383013,9.98276277407153,59.61555861222548,10.677164528327022,59.46769503168082,10.319087094031374
+10396,59.61555861222548,9.288361019816037,59.876384960620825,9.98276277407153,59.715086165611524,9.605673762695657
+10397,59.61555861222548,9.98276277407153,59.876384960620825,10.677164528327022,59.765126847873766,10.343915873684514
+10398,59.35473226383013,10.677164528327022,59.61555861222548,11.371566282582517,59.533643453374026,10.857881693195418
+10399,59.35473226383013,11.371566282582517,59.61555861222548,12.06596803683801,59.50551958888538,11.752063320343062
+10400,59.61555861222548,10.677164528327022,59.876384960620825,11.371566282582517,59.72056437030555,10.894964126570928
+10401,59.61555861222548,11.371566282582517,59.876384960620825,12.06596803683801,59.755940165007424,11.997634708229942
+10402,59.876384960620825,0.9555399687501165,61.96299574778362,6.510754002794063,60.54751811141193,5.603603423855499
+10403,59.876384960620825,6.510754002794063,60.919690354202224,9.288361019816037,60.40384426902924,7.6328027550962485
+10404,59.876384960620825,9.288361019816037,60.39803765741152,10.677164528327022,60.05792593546617,10.337781483264258
+10405,59.876384960620825,10.677164528327022,60.006798134818496,11.02436540545477,59.926956031898904,10.807596411503242
+10406,59.876384960620825,11.02436540545477,60.006798134818496,11.371566282582517,59.95856746777605,11.074762370956623
+10407,60.006798134818496,10.677164528327022,60.13721130901617,11.02436540545477,60.07902253966343,10.917350351110116
+10408,60.006798134818496,11.02436540545477,60.13721130901617,11.371566282582517,60.064385408575625,11.153202754796917
+10409,59.876384960620825,11.371566282582517,60.13721130901617,12.06596803683801,60.06623129985792,11.561126585833776
+10410,60.13721130901617,10.677164528327022,60.39803765741152,11.371566282582517,60.24211501663173,11.11016760767215
+10411,60.13721130901617,11.371566282582517,60.39803765741152,12.06596803683801,60.21418026260856,11.790094578467501
+10412,60.39803765741152,9.288361019816037,60.919690354202224,10.677164528327022,60.58223573266625,10.14965905849664
+10413,60.39803765741152,10.677164528327022,60.919690354202224,12.06596803683801,60.73374534511664,11.215292903033033
+10414,60.919690354202224,6.510754002794063,61.96299574778362,9.288361019816037,61.461433496115234,8.24259548068687
+10415,60.919690354202224,9.288361019816037,61.44134305099293,10.677164528327022,61.258288095658685,10.255209941263182
+10416,60.919690354202224,10.677164528327022,61.44134305099293,12.06596803683801,61.04345644974912,11.720099933963208
+10417,61.44134305099293,9.288361019816037,61.96299574778362,10.677164528327022,61.63858378478327,9.883066251347309
+10418,61.44134305099293,10.677164528327022,61.96299574778362,12.06596803683801,61.61948472222228,10.967386249999834
+10419,57.78977417345803,12.06596803683801,58.050600521853376,12.760369791093503,57.919439547171244,12.400268036510962
+10420,57.78977417345803,12.760369791093503,58.050600521853376,13.454771545348997,57.88751989349665,13.16044268738418
+10421,58.050600521853376,12.06596803683801,58.311426870248724,12.760369791093503,58.20847118498222,12.32726944526798
+10422,58.050600521853376,12.760369791093503,58.311426870248724,13.454771545348997,58.15457016368396,13.03218941914461
+10423,57.78977417345803,13.454771545348997,58.050600521853376,14.14917329960449,57.908764371001205,13.70768222178145
+10424,57.78977417345803,14.14917329960449,58.050600521853376,14.843575053859983,57.91739590958099,14.487800487531004
+10425,58.050600521853376,13.454771545348997,58.311426870248724,14.14917329960449,58.182305219532715,13.755823922801044
+10426,58.050600521853376,14.14917329960449,58.311426870248724,14.843575053859983,58.21572623379976,14.372039526585365
+10427,58.311426870248724,12.06596803683801,58.57225321864408,12.760369791093503,58.37224211228166,12.37595684532014
+10428,58.311426870248724,12.760369791093503,58.57225321864408,13.454771545348997,58.45691539248769,13.173043849671146
+10429,58.57225321864408,12.06596803683801,58.83307956703943,12.760369791093503,58.766439280747974,12.3877663119794
+10430,58.57225321864408,12.760369791093503,58.83307956703943,13.454771545348997,58.609698139435565,13.294403742420894
+10431,58.311426870248724,13.454771545348997,58.57225321864408,14.14917329960449,58.4175683572537,13.86263843659651
+10432,58.311426870248724,14.14917329960449,58.57225321864408,14.843575053859983,58.402723573470304,14.353302152992969
+10433,58.57225321864408,13.454771545348997,58.83307956703943,14.14917329960449,58.685797295824585,13.9362381923049
+10434,58.57225321864408,14.14917329960449,58.83307956703943,14.843575053859983,58.69590351367488,14.47575308727398
+10435,57.78977417345803,14.843575053859983,58.050600521853376,15.537976808115475,57.9241899539632,14.910840804147965
+10436,57.78977417345803,15.537976808115475,58.050600521853376,16.232378562370968,57.95900534273856,15.960546185617662
+10437,58.050600521853376,14.843575053859983,58.311426870248724,15.537976808115475,58.2348106894303,15.278158777350848
+10438,58.050600521853376,15.537976808115475,58.311426870248724,16.232378562370968,58.21187663695018,15.935763060922634
+10439,57.78977417345803,16.232378562370968,58.311426870248724,17.621182070881957,58.018848480111814,16.48267557768459
+10440,58.311426870248724,14.843575053859983,58.57225321864408,15.537976808115475,58.466956843777304,15.330555309471627
+10441,58.311426870248724,15.537976808115475,58.4418400444464,15.885177685243221,58.39219891508352,15.659593045159362
+10442,58.311426870248724,15.885177685243221,58.4418400444464,16.232378562370968,58.37267929375477,15.991479979919097
+10443,58.4418400444464,15.537976808115475,58.57225321864408,15.885177685243221,58.47865452000305,15.708965520389143
+10444,58.4418400444464,15.885177685243221,58.57225321864408,16.232378562370968,58.521916913347354,16.034868768855652
+10445,58.57225321864408,14.843575053859983,58.83307956703943,15.537976808115475,58.6744165242441,15.20602029462145
+10446,58.57225321864408,15.537976808115475,58.83307956703943,16.232378562370968,58.69125312290312,16.014574859452225
+10447,58.311426870248724,16.232378562370968,58.57225321864408,16.926780316626463,58.44401108228075,16.45825799103324
+10448,58.311426870248724,16.926780316626463,58.57225321864408,17.621182070881957,58.492090263444,16.93462875708
+10449,58.57225321864408,16.232378562370968,58.83307956703943,16.926780316626463,58.708104028066174,16.54121348803023
+10450,58.57225321864408,16.926780316626463,58.83307956703943,17.621182070881957,58.758136710216945,17.054196404522514
+10451,58.83307956703943,12.06596803683801,59.35473226383013,13.454771545348997,59.011319780737324,12.52891498936113
+10452,58.83307956703943,13.454771545348997,59.35473226383013,14.843575053859983,59.14237973819554,14.293244530944222
+10453,59.35473226383013,12.06596803683801,59.61555861222548,12.760369791093503,59.54974071809878,12.515283355316873
+10454,59.35473226383013,12.760369791093503,59.4851454380278,13.10757066822125,59.44637552735128,12.990120897300086
+10455,59.35473226383013,13.10757066822125,59.4851454380278,13.454771545348997,59.42251652486429,13.269466300019054
+10456,59.4851454380278,12.760369791093503,59.61555861222548,13.10757066822125,59.548299781714675,12.942197553953838
+10457,59.4851454380278,13.10757066822125,59.61555861222548,13.454771545348997,59.52657535135332,13.276428781204748
+10458,59.61555861222548,12.06596803683801,59.745971786423155,12.413168913965755,59.708136328188786,12.213958432338709
+10459,59.61555861222548,12.413168913965755,59.745971786423155,12.760369791093503,59.6828516222173,12.587606958599821
+10460,59.745971786423155,12.06596803683801,59.876384960620825,12.413168913965755,59.80154962252609,12.27985715422062
+10461,59.745971786423155,12.413168913965755,59.876384960620825,12.760369791093503,59.81361689073725,12.560031780247215
+10462,59.61555861222548,12.760369791093503,59.745971786423155,13.10757066822125,59.67329305241126,12.891322795135908
+10463,59.61555861222548,13.10757066822125,59.745971786423155,13.454771545348997,59.687146552035436,13.239416613625176
+10464,59.745971786423155,12.760369791093503,59.876384960620825,13.10757066822125,59.814295236728896,12.928108967121025
+10465,59.745971786423155,13.10757066822125,59.876384960620825,13.454771545348997,59.809139695351796,13.189314593673812
+10466,59.35473226383013,13.454771545348997,59.61555861222548,14.14917329960449,59.459681277524275,13.702019164106108
+10467,59.35473226383013,14.14917329960449,59.61555861222548,14.843575053859983,59.46549679332216,14.423866888692158
+10468,59.61555861222548,13.454771545348997,59.876384960620825,14.14917329960449,59.787395208517474,13.649517093694287
+10469,59.61555861222548,14.14917329960449,59.876384960620825,14.843575053859983,59.75317399147533,14.430707369758142
+10470,58.83307956703943,14.843575053859983,59.093905915434775,15.537976808115475,58.97005257903286,15.10271310290701
+10471,58.83307956703943,15.537976808115475,59.093905915434775,16.232378562370968,58.98907666892964,15.942255137526212
+10472,59.093905915434775,14.843575053859983,59.35473226383013,15.537976808115475,59.24719512502965,15.223109347825256
+10473,59.093905915434775,15.537976808115475,59.35473226383013,16.232378562370968,59.2806117181557,15.988716622153076
+10474,58.83307956703943,16.232378562370968,59.093905915434775,16.926780316626463,58.99232293223435,16.589423973129417
+10475,58.83307956703943,16.926780316626463,59.093905915434775,17.621182070881957,58.990651341883144,17.360821701122507
+10476,59.093905915434775,16.232378562370968,59.35473226383013,16.926780316626463,59.27992828337702,16.552516130815018
+10477,59.093905915434775,16.926780316626463,59.35473226383013,17.621182070881957,59.23017662206052,17.29893388775062
+10478,59.35473226383013,14.843575053859983,59.61555861222548,15.537976808115475,59.48031399216125,15.211866786748915
+10479,59.35473226383013,15.537976808115475,59.4851454380278,15.885177685243221,59.40721574526842,15.72234449588688
+10480,59.35473226383013,15.885177685243221,59.4851454380278,16.232378562370968,59.4211134730528,16.06600640987257
+10481,59.4851454380278,15.537976808115475,59.61555861222548,15.885177685243221,59.5813678405055,15.747593943337382
+10482,59.4851454380278,15.885177685243221,59.61555861222548,16.232378562370968,59.540716309951684,16.075093397867388
+10483,59.61555861222548,14.843575053859983,59.876384960620825,15.537976808115475,59.758400345065525,15.269103339180443
+10484,59.61555861222548,15.537976808115475,59.876384960620825,16.232378562370968,59.7422646784129,15.931208413787992
+10485,59.35473226383013,16.232378562370968,59.4851454380278,16.579579439498715,59.40936893448234,16.420172045454443
+10486,59.35473226383013,16.579579439498715,59.4851454380278,16.926780316626463,59.42275775360857,16.709474298405528
+10487,59.4851454380278,16.232378562370968,59.61555861222548,16.579579439498715,59.56134117128679,16.396503660657707
+10488,59.4851454380278,16.579579439498715,59.61555861222548,16.926780316626463,59.58286834420882,16.639039114725335
+10489,59.35473226383013,16.926780316626463,59.61555861222548,17.621182070881957,59.49958425164689,17.374631203842142
+10490,59.61555861222548,16.232378562370968,59.745971786423155,16.579579439498715,59.66773509381636,16.441566791964178
+10491,59.61555861222548,16.579579439498715,59.745971786423155,16.926780316626463,59.66849576251354,16.72109991357434
+10492,59.745971786423155,16.232378562370968,59.876384960620825,16.579579439498715,59.80101005855759,16.41661752875229
+10493,59.745971786423155,16.579579439498715,59.876384960620825,16.926780316626463,59.82447166986258,16.767238731450387
+10494,59.61555861222548,16.926780316626463,59.745971786423155,17.27398119375421,59.67012806667355,17.0866845158063
+10495,59.61555861222548,17.27398119375421,59.745971786423155,17.621182070881957,59.677526645498325,17.442815897568224
+10496,59.745971786423155,16.926780316626463,59.876384960620825,17.27398119375421,59.80381804475311,17.12094485221067
+10497,59.745971786423155,17.27398119375421,59.876384960620825,17.621182070881957,59.83349023003232,17.44871158337018
+10498,57.78977417345803,17.621182070881957,58.83307956703943,20.39878908790393,57.89118291417977,18.93608551858745
+10499,57.78977417345803,21.787592596414918,58.311426870248724,23.176396104925903,58.212689450925154,22.36290365293558
+10500,58.311426870248724,21.787592596414918,58.57225321864408,22.481994350670412,58.442175235522186,22.12951543211607
+10501,58.311426870248724,22.481994350670412,58.57225321864408,23.176396104925903,58.44957970284181,22.797081485240668
+10502,58.57225321864408,21.787592596414918,58.83307956703943,22.481994350670412,58.7112914126962,22.4618757727674
+10503,58.57225321864408,22.481994350670412,58.83307956703943,23.176396104925903,58.67933949776187,22.726189300841213
+10504,58.83307956703943,17.621182070881957,59.093905915434775,18.315583825137452,58.99265646027392,17.909570604310115
+10505,58.83307956703943,18.315583825137452,59.093905915434775,19.009985579392943,59.044596112496606,18.5199537764108
+10506,59.093905915434775,17.621182070881957,59.22431908963245,17.968382948009705,59.18206673994166,17.772773024264975
+10507,59.093905915434775,17.968382948009705,59.22431908963245,18.315583825137452,59.16484928897412,18.14572956786375
+10508,59.22431908963245,17.621182070881957,59.35473226383013,17.968382948009705,59.28357495551302,17.86493652199659
+10509,59.22431908963245,17.968382948009705,59.35473226383013,18.315583825137452,59.29895498000423,18.09598237686592
+10510,59.093905915434775,18.315583825137452,59.35473226383013,19.009985579392943,59.29088754277036,18.485812278290357
+10511,59.35473226383013,17.621182070881957,59.4851454380278,17.968382948009705,59.420159099122415,17.88764525475116
+10512,59.35473226383013,17.968382948009705,59.4851454380278,18.315583825137452,59.410441976544995,18.073666689851077
+10513,59.4851454380278,17.621182070881957,59.61555861222548,17.968382948009705,59.54164330312503,17.826358106042942
+10514,59.4851454380278,17.968382948009705,59.61555861222548,18.315583825137452,59.52450872104563,18.15132246405383
+10515,59.35473226383013,18.315583825137452,59.61555861222548,19.009985579392943,59.416886687110654,18.466634002477747
+10516,59.61555861222548,17.621182070881957,59.745971786423155,17.968382948009705,59.66330061325369,17.819667729178438
+10517,59.61555861222548,17.968382948009705,59.745971786423155,18.315583825137452,59.7090900700503,18.1290857734426
+10518,59.745971786423155,17.621182070881957,59.876384960620825,17.968382948009705,59.84161410469229,17.689325983423043
+10519,59.745971786423155,17.968382948009705,59.876384960620825,18.315583825137452,59.797920490197406,18.07103043638843
+10520,59.61555861222548,18.315583825137452,59.876384960620825,19.009985579392943,59.74068224680463,18.620590722382513
+10521,59.35473226383013,19.009985579392943,59.876384960620825,20.39878908790393,59.83295348857125,19.044757655222394
+10522,58.83307956703943,20.39878908790393,59.876384960620825,23.176396104925903,59.19573289868353,22.703618003062438
+10523,59.876384960620825,12.06596803683801,60.13721130901617,12.760369791093503,59.988193947929304,12.529696654978745
+10524,59.876384960620825,12.760369791093503,60.13721130901617,13.454771545348997,60.01414092707846,13.180296009110897
+10525,60.13721130901617,12.06596803683801,60.39803765741152,12.760369791093503,60.22921231523019,12.511431049114977
+10526,60.13721130901617,12.760369791093503,60.39803765741152,13.454771545348997,60.289426985592456,13.177290274141805
+10527,59.876384960620825,13.454771545348997,60.13721130901617,14.14917329960449,60.01063504510823,13.616326626347092
+10528,59.876384960620825,14.14917329960449,60.13721130901617,14.843575053859983,60.04272620221927,14.526319264990425
+10529,60.13721130901617,13.454771545348997,60.39803765741152,14.14917329960449,60.19379062819765,13.569649921455998
+10530,60.13721130901617,14.14917329960449,60.39803765741152,14.843575053859983,60.206284781684566,14.416250710743961
+10531,60.39803765741152,12.06596803683801,60.919690354202224,13.454771545348997,60.61692738539956,12.871681978348102
+10532,60.39803765741152,13.454771545348997,60.919690354202224,14.843575053859983,60.68971986919343,14.165071966538989
+10533,59.876384960620825,14.843575053859983,60.13721130901617,15.537976808115475,60.0450237513805,15.16410989928072
+10534,59.876384960620825,15.537976808115475,60.13721130901617,16.232378562370968,59.99075104817988,15.905932846256006
+10535,60.13721130901617,14.843575053859983,60.39803765741152,15.537976808115475,60.21189745102245,15.155080340419946
+10536,60.13721130901617,15.537976808115475,60.39803765741152,16.232378562370968,60.268409510253626,15.949043841221956
+10537,59.876384960620825,16.232378562370968,60.13721130901617,16.926780316626463,59.9809054280745,16.62667472813848
+10538,59.876384960620825,16.926780316626463,60.13721130901617,17.621182070881957,59.99850508142629,17.41159180837247
+10539,60.13721130901617,16.232378562370968,60.39803765741152,16.926780316626463,60.24026964695958,16.680841180913802
+10540,60.13721130901617,16.926780316626463,60.39803765741152,17.621182070881957,60.264657454996794,17.354601002303514
+10541,60.39803765741152,14.843575053859983,60.658864005806876,15.537976808115475,60.515806815012084,15.323329186706406
+10542,60.39803765741152,15.537976808115475,60.658864005806876,16.232378562370968,60.52453696477867,15.737813450046252
+10543,60.658864005806876,14.843575053859983,60.919690354202224,15.537976808115475,60.767626614197674,15.20659729723222
+10544,60.658864005806876,15.537976808115475,60.919690354202224,16.232378562370968,60.742077175896206,15.751056817470252
+10545,60.39803765741152,16.232378562370968,60.658864005806876,16.926780316626463,60.53773509149516,16.44745598549713
+10546,60.39803765741152,16.926780316626463,60.658864005806876,17.621182070881957,60.567682806253856,17.24728171147824
+10547,60.658864005806876,16.232378562370968,60.919690354202224,16.926780316626463,60.78593602850141,16.69066492416813
+10548,60.658864005806876,16.926780316626463,60.919690354202224,17.621182070881957,60.72891368896157,17.12053719594029
+10549,60.919690354202224,12.06596803683801,61.44134305099293,13.454771545348997,61.16165035387515,12.741597154258512
+10550,60.919690354202224,13.454771545348997,61.44134305099293,14.843575053859983,61.11032040215802,14.307146737308015
+10551,61.44134305099293,12.06596803683801,61.96299574778362,13.454771545348997,61.7347944007405,12.982821785206603
+10552,61.44134305099293,13.454771545348997,61.96299574778362,14.843575053859983,61.79382124852064,14.059278068572594
+10553,60.919690354202224,14.843575053859983,61.44134305099293,16.232378562370968,61.23039288979842,15.77474248534973
+10554,60.919690354202224,16.232378562370968,61.44134305099293,17.621182070881957,61.228399988736975,16.797193452228868
+10555,61.44134305099293,14.843575053859983,61.702169399388275,15.537976808115475,61.49425459797502,15.328506868607397
+10556,61.44134305099293,15.537976808115475,61.702169399388275,16.232378562370968,61.57677317506099,15.90109876892291
+10557,61.702169399388275,14.843575053859983,61.96299574778362,15.537976808115475,61.84087194714032,15.375514693134736
+10558,61.702169399388275,15.537976808115475,61.96299574778362,16.232378562370968,61.81216193194839,15.97007765428631
+10559,61.44134305099293,16.232378562370968,61.96299574778362,17.621182070881957,61.68987531907525,16.829272610080718
+10560,59.876384960620825,17.621182070881957,60.13721130901617,18.315583825137452,59.965462890816355,17.830084073443935
+10561,59.876384960620825,18.315583825137452,60.13721130901617,19.009985579392943,59.98272523951343,18.619423135602137
+10562,60.13721130901617,17.621182070881957,60.39803765741152,18.315583825137452,60.217161486782466,18.003099946410835
+10563,60.13721130901617,18.315583825137452,60.39803765741152,19.009985579392943,60.24701721360944,18.42121626874297
+10564,59.876384960620825,19.009985579392943,60.39803765741152,20.39878908790393,60.20951650827347,20.036416043162316
+10565,60.39803765741152,17.621182070881957,60.919690354202224,19.009985579392943,60.4529522682076,17.790625622349985
+10566,59.876384960620825,20.39878908790393,60.39803765741152,21.787592596414918,60.21551540334203,20.960981809342822
+10567,59.876384960620825,21.787592596414918,60.13721130901617,22.481994350670412,60.01379387469516,22.391486709676307
+10568,59.876384960620825,22.481994350670412,60.13721130901617,23.176396104925903,60.025976795085555,22.831967893547308
+10569,60.13721130901617,21.787592596414918,60.39803765741152,22.481994350670412,60.29422083505255,22.054278988377988
+10570,60.13721130901617,22.481994350670412,60.39803765741152,23.176396104925903,60.30949753602598,22.957670191059826
+10571,60.39803765741152,20.39878908790393,60.919690354202224,21.787592596414918,60.637400404131796,21.360803570183787
+10572,60.39803765741152,21.787592596414918,60.5284508316092,22.134793473542665,60.45556823835261,21.987374286366062
+10573,60.39803765741152,22.134793473542665,60.5284508316092,22.481994350670412,60.45474731089827,22.27881586167251
+10574,60.5284508316092,21.787592596414918,60.658864005806876,22.134793473542665,60.5541025119698,22.095070416892774
+10575,60.5284508316092,22.134793473542665,60.658864005806876,22.481994350670412,60.56769486424099,22.33639606178389
+10576,60.39803765741152,22.481994350670412,60.658864005806876,23.176396104925903,60.469358973429955,22.88257355711753
+10577,60.658864005806876,21.787592596414918,60.919690354202224,22.481994350670412,60.78802990134222,22.412017340997114
+10578,60.658864005806876,22.481994350670412,60.919690354202224,23.176396104925903,60.83645467457058,22.975424855499398
+10579,60.919690354202224,20.39878908790393,61.44134305099293,21.787592596414918,61.0511365680903,21.59136139952265
+10580,60.919690354202224,21.787592596414918,61.18051670259757,22.481994350670412,61.11813801251494,22.162260545140402
+10581,60.919690354202224,22.481994350670412,61.18051670259757,23.176396104925903,61.107081016526955,22.85302036305539
+10582,61.18051670259757,21.787592596414918,61.44134305099293,22.481994350670412,61.29794090788512,22.125860376759313
+10583,61.18051670259757,22.481994350670412,61.44134305099293,23.176396104925903,61.292494860481106,22.980913974022847
+10584,61.44134305099293,20.39878908790393,61.96299574778362,21.787592596414918,61.51549177868614,21.706060325367897
+10585,61.44134305099293,21.787592596414918,61.96299574778362,23.176396104925903,61.690270080131135,22.39018647895623
+10586,53.61655259913243,23.176396104925903,53.87737894752778,23.870797859181394,53.68742063329487,23.828923298284984
+10587,53.61655259913243,23.870797859181394,53.87737894752778,24.56519961343689,53.75704827849816,23.993394206385382
+10588,53.87737894752778,23.176396104925903,54.13820529592313,23.870797859181394,54.046658039295124,23.384646698655125
+10589,53.87737894752778,23.870797859181394,54.13820529592313,24.56519961343689,54.0058885152083,24.093320100781746
+10590,53.61655259913243,24.56519961343689,54.13820529592313,25.954003121947878,53.91784621329882,25.303109033880855
+10591,54.13820529592313,23.176396104925903,54.399031644318484,23.870797859181394,54.250743192063126,23.59626588663003
+10592,54.13820529592313,23.870797859181394,54.399031644318484,24.56519961343689,54.3208289367888,24.120899474465364
+10593,54.399031644318484,23.176396104925903,54.65985799271383,23.870797859181394,54.54940730134675,23.38541569583053
+10594,54.399031644318484,23.870797859181394,54.65985799271383,24.56519961343689,54.49232508283115,24.094665650554195
+10595,54.13820529592313,24.56519961343689,54.399031644318484,25.259601367692383,54.2938108150667,24.821573993783925
+10596,54.13820529592313,25.259601367692383,54.399031644318484,25.954003121947878,54.21044696122842,25.41369613862356
+10597,54.399031644318484,24.56519961343689,54.65985799271383,25.259601367692383,54.599899735956726,25.025964620814083
+10598,54.399031644318484,25.259601367692383,54.65985799271383,25.954003121947878,54.56320514381635,25.48943355624881
+10599,53.61655259913243,25.954003121947878,53.87737894752778,26.648404876203372,53.7341835679057,26.09766778449881
+10600,53.61655259913243,26.648404876203372,53.87737894752778,27.342806630458863,53.730707603903824,27.13434940583264
+10601,53.87737894752778,25.954003121947878,54.13820529592313,26.648404876203372,53.976328375198385,26.360187582699428
+10602,53.87737894752778,26.648404876203372,54.13820529592313,27.342806630458863,53.97613169370211,27.070986661691478
+10603,53.61655259913243,27.342806630458863,53.7469657733301,27.690007507586607,53.68748944114788,27.52813566326698
+10604,53.61655259913243,27.690007507586607,53.7469657733301,28.037208384714354,53.667321519955955,27.90652084671253
+10605,53.7469657733301,27.342806630458863,53.87737894752778,27.690007507586607,53.83923603451306,27.541728069665155
+10606,53.7469657733301,27.690007507586607,53.87737894752778,28.037208384714354,53.799051129268086,27.809929483760293
+10607,53.61655259913243,28.037208384714354,53.87737894752778,28.73161013896985,53.72577432972038,28.345572823330095
+10608,53.87737894752778,27.342806630458863,54.00779212172546,27.690007507586607,53.921934999239284,27.540670126380462
+10609,53.87737894752778,27.690007507586607,54.00779212172546,28.037208384714354,53.94566423713066,27.84804922355437
+10610,54.00779212172546,27.342806630458863,54.13820529592313,27.690007507586607,54.07808245505371,27.508872907748703
+10611,54.00779212172546,27.690007507586607,54.13820529592313,28.037208384714354,54.05639675782741,27.811563164726497
+10612,53.87737894752778,28.037208384714354,54.13820529592313,28.73161013896985,54.05989554650592,28.283805345275358
+10613,54.13820529592313,25.954003121947878,54.65985799271383,27.342806630458863,54.39263259093064,26.696419921446562
+10614,54.13820529592313,27.342806630458863,54.65985799271383,28.73161013896985,54.2863088624032,28.141719659211905
+10615,54.65985799271383,23.176396104925903,54.92068434110918,23.870797859181394,54.795422663177085,23.641909715268252
+10616,54.65985799271383,23.870797859181394,54.92068434110918,24.56519961343689,54.88327227966389,23.989295932743445
+10617,54.92068434110918,23.176396104925903,55.181510689504535,23.870797859181394,55.00795530659435,23.699409420471813
+10618,54.92068434110918,23.870797859181394,55.181510689504535,24.56519961343689,54.98123079527121,24.078970911197047
+10619,54.65985799271383,24.56519961343689,54.79027116691151,24.912400490564636,54.77480887701739,24.736800777357963
+10620,54.65985799271383,24.912400490564636,54.79027116691151,25.259601367692383,54.712370974147376,25.163555811894735
+10621,54.79027116691151,24.56519961343689,54.92068434110918,24.912400490564636,54.8824651047664,24.779555180383063
+10622,54.79027116691151,24.912400490564636,54.92068434110918,25.259601367692383,54.850171267572335,24.996893682703977
+10623,54.65985799271383,25.259601367692383,54.79027116691151,25.60680224482013,54.71079351035078,25.311293693652026
+10624,54.65985799271383,25.60680224482013,54.79027116691151,25.954003121947878,54.73277638453798,25.7278687831796
+10625,54.79027116691151,25.259601367692383,54.92068434110918,25.60680224482013,54.83285877686526,25.392908269738882
+10626,54.79027116691151,25.60680224482013,54.92068434110918,25.954003121947878,54.90063340999815,25.64367776995855
+10627,54.92068434110918,24.56519961343689,55.181510689504535,25.259601367692383,55.051500132629954,24.89459304069436
+10628,54.92068434110918,25.259601367692383,55.181510689504535,25.954003121947878,55.098296812684616,25.67722814037395
+10629,55.181510689504535,23.176396104925903,55.70316338629523,24.56519961343689,55.465013334567814,23.987517524375427
+10630,55.181510689504535,24.56519961343689,55.70316338629523,25.954003121947878,55.3981123365777,25.197827094090233
+10631,54.65985799271383,25.954003121947878,55.181510689504535,27.342806630458863,54.935685580542724,26.692306021646196
+10632,54.65985799271383,27.342806630458863,55.181510689504535,28.73161013896985,54.9025081815521,28.208920747917144
+10633,55.181510689504535,25.954003121947878,55.70316338629523,27.342806630458863,55.543649093067806,26.16131406754447
+10634,55.181510689504535,27.342806630458863,55.70316338629523,28.73161013896985,55.53899628213284,28.325660876150348
+10635,53.61655259913243,28.73161013896985,54.13820529592313,30.120413647480838,53.89737890470156,29.470134451287024
+10636,53.61655259913243,30.120413647480838,53.87737894752778,30.814815401736332,53.82774398231697,30.359507478010396
+10637,53.61655259913243,30.814815401736332,53.87737894752778,31.509217155991823,53.725790839401846,31.092043616796477
+10638,53.87737894752778,30.120413647480838,54.13820529592313,30.814815401736332,53.923238657120145,30.33149885273794
+10639,53.87737894752778,30.814815401736332,54.13820529592313,31.509217155991823,54.013303244461994,31.064836858595896
+10640,54.13820529592313,28.73161013896985,54.65985799271383,30.120413647480838,54.42137071858704,29.185946054425674
+10641,54.13820529592313,30.120413647480838,54.65985799271383,31.509217155991823,54.42126001197831,30.551531195064403
+10642,53.61655259913243,31.509217155991823,54.65985799271383,34.2868241730138,54.11974184851638,33.143173186121295
+10643,54.65985799271383,28.73161013896985,55.181510689504535,30.120413647480838,54.99333766318885,29.20782631016865
+10644,54.65985799271383,30.120413647480838,55.181510689504535,31.509217155991823,55.02908881647196,30.43217472044841
+10645,55.181510689504535,28.73161013896985,55.70316338629523,30.120413647480838,55.414653574939415,29.263024182768458
+10646,55.181510689504535,30.120413647480838,55.70316338629523,31.509217155991823,55.214974124561046,30.232714256737033
+10647,54.65985799271383,31.509217155991823,55.70316338629523,34.2868241730138,55.01065222269856,32.64651618355874
+10648,55.70316338629523,23.176396104925903,56.224816083085926,24.56519961343689,55.95643164223751,24.097216838838513
+10649,55.70316338629523,24.56519961343689,56.224816083085926,25.954003121947878,56.03052071372644,25.268490007413472
+10650,56.224816083085926,23.176396104925903,56.48564243148128,23.870797859181394,56.37374113078635,23.482051370474203
+10651,56.224816083085926,23.870797859181394,56.48564243148128,24.56519961343689,56.362734290243274,24.267634896545204
+10652,56.48564243148128,23.176396104925903,56.74646877987663,23.870797859181394,56.64046411626963,23.61363088234605
+10653,56.48564243148128,23.870797859181394,56.74646877987663,24.56519961343689,56.61804020302735,24.218455422176675
+10654,56.224816083085926,24.56519961343689,56.48564243148128,25.259601367692383,56.35091409810718,24.766816734245655
+10655,56.224816083085926,25.259601367692383,56.48564243148128,25.954003121947878,56.34172667473093,25.52599914601513
+10656,56.48564243148128,24.56519961343689,56.74646877987663,25.259601367692383,56.62994621194558,24.869625379061276
+10657,56.48564243148128,25.259601367692383,56.74646877987663,25.954003121947878,56.59578212420467,25.653046258479364
+10658,55.70316338629523,25.954003121947878,56.224816083085926,27.342806630458863,55.96186600786357,26.570143407575895
+10659,55.70316338629523,27.342806630458863,56.224816083085926,28.73161013896985,55.93709422003823,27.919892389903996
+10660,56.224816083085926,25.954003121947878,56.74646877987663,27.342806630458863,56.49451482517711,26.79237499444491
+10661,56.224816083085926,27.342806630458863,56.74646877987663,28.73161013896985,56.51171505790772,27.62565870371506
+10662,56.74646877987663,23.176396104925903,57.00729512827198,23.870797859181394,56.897923370362996,23.57907216580018
+10663,56.74646877987663,23.870797859181394,56.87688195407431,24.21799873630914,56.820274143295805,24.05605513534799
+10664,56.74646877987663,24.21799873630914,56.87688195407431,24.56519961343689,56.817508752063326,24.397960049390395
+10665,56.87688195407431,23.870797859181394,57.00729512827198,24.21799873630914,56.94552302698598,24.09392682430891
+10666,56.87688195407431,24.21799873630914,57.00729512827198,24.56519961343689,56.94903179109006,24.33482937990211
+10667,57.00729512827198,23.176396104925903,57.26812147666733,23.870797859181394,57.04063082711953,23.296290051654168
+10668,57.00729512827198,23.870797859181394,57.137708302469655,24.21799873630914,57.06167395143322,24.140894878717226
+10669,57.00729512827198,24.21799873630914,57.137708302469655,24.56519961343689,57.07461780594916,24.357321370861584
+10670,57.137708302469655,24.21799873630914,57.26812147666733,24.56519961343689,57.20370913269534,24.378998491327533
+10671,56.74646877987663,24.56519961343689,56.87688195407431,24.912400490564636,56.81022471499508,24.68489023597774
+10672,56.74646877987663,24.912400490564636,56.87688195407431,25.259601367692383,56.812175358218035,25.08311286005868
+10673,56.87688195407431,24.56519961343689,57.00729512827198,24.912400490564636,56.93648903977951,24.717520955458003
+10674,56.87688195407431,24.912400490564636,57.00729512827198,25.259601367692383,56.92397651195401,24.99950194330876
+10675,56.74646877987663,25.259601367692383,57.00729512827198,25.954003121947878,56.88628383035579,25.626171139175266
+10676,57.00729512827198,24.56519961343689,57.137708302469655,24.912400490564636,57.08179642335426,24.732031703809643
+10677,57.00729512827198,24.912400490564636,57.137708302469655,25.259601367692383,57.06705008954668,25.054329493716416
+10678,57.137708302469655,24.56519961343689,57.26812147666733,24.912400490564636,57.176254627363875,24.808279889112058
+10679,57.137708302469655,24.912400490564636,57.26812147666733,25.259601367692383,57.20754500029099,25.081183989577905
+10680,57.00729512827198,25.259601367692383,57.26812147666733,25.954003121947878,57.16972397678638,25.49000838740003
+10681,57.26812147666733,23.176396104925903,57.78977417345803,24.56519961343689,57.53383379342421,24.417757529645236
+10682,57.26812147666733,24.56519961343689,57.52894782506268,25.259601367692383,57.38396537323941,24.87348479643368
+10683,57.26812147666733,25.259601367692383,57.52894782506268,25.954003121947878,57.384704663122044,25.44648249452373
+10684,57.52894782506268,24.56519961343689,57.78977417345803,25.259601367692383,57.61258104127525,24.8890284843386
+10685,57.52894782506268,25.259601367692383,57.78977417345803,25.954003121947878,57.6112805158542,25.578866403579966
+10686,56.74646877987663,25.954003121947878,57.26812147666733,27.342806630458863,57.011340973255386,26.576503603671213
+10687,56.74646877987663,27.342806630458863,57.26812147666733,28.73161013896985,57.07160238236433,28.438105999529757
+10688,57.26812147666733,25.954003121947878,57.78977417345803,27.342806630458863,57.630125117716965,26.69781073525628
+10689,57.26812147666733,27.342806630458863,57.78977417345803,28.73161013896985,57.64293594622867,27.969123258838827
+10690,55.70316338629523,28.73161013896985,57.78977417345803,34.2868241730138,57.05640764286352,31.180318309855785
+10691,53.61655259913243,34.2868241730138,54.13820529592313,35.67562768152479,53.87102615927864,35.30165151390034
+10692,53.61655259913243,35.67562768152479,54.13820529592313,37.06443119003577,54.08240866188542,36.58452482928953
+10693,54.13820529592313,34.2868241730138,54.65985799271383,35.67562768152479,54.56555656078848,34.936441800025804
+10694,54.13820529592313,35.67562768152479,54.65985799271383,37.06443119003577,54.48650659259472,36.24546040351885
+10695,53.61655259913243,37.06443119003577,53.87737894752778,37.75883294429126,53.76394126948719,37.422782073419164
+10696,53.61655259913243,37.75883294429126,53.87737894752778,38.45323469854675,53.747417328792444,38.08251664346609
+10697,53.87737894752778,37.06443119003577,54.13820529592313,37.75883294429126,54.070168001225106,37.46270789968816
+10698,53.87737894752778,37.75883294429126,54.13820529592313,38.45323469854675,53.999937281205476,38.05120004589558
+10699,53.61655259913243,38.45323469854675,54.13820529592313,39.84203820705774,53.91455733094691,38.65881193247962
+10700,54.13820529592313,37.06443119003577,54.268618470120806,37.41163206716351,54.22910429631432,37.354627631688786
+10701,54.13820529592313,37.41163206716351,54.268618470120806,37.75883294429126,54.191279974585235,37.5995017053293
+10702,54.268618470120806,37.06443119003577,54.399031644318484,37.41163206716351,54.31261640825939,37.28065161625351
+10703,54.268618470120806,37.41163206716351,54.399031644318484,37.75883294429126,54.31143476692019,37.57421213348347
+10704,54.13820529592313,37.75883294429126,54.399031644318484,38.45323469854675,54.317866827498385,38.12163572787092
+10705,54.399031644318484,37.06443119003577,54.65985799271383,37.75883294429126,54.48045903401171,37.513287315541916
+10706,54.399031644318484,37.75883294429126,54.65985799271383,38.45323469854675,54.56062478360768,38.27291318310729
+10707,54.13820529592313,38.45323469854675,54.399031644318484,39.147636452802246,54.19738658992019,38.88181851397779
+10708,54.13820529592313,39.147636452802246,54.399031644318484,39.84203820705774,54.32021717119578,39.22873001472996
+10709,54.399031644318484,38.45323469854675,54.65985799271383,39.147636452802246,54.5274683112538,38.5649342382911
+10710,54.399031644318484,39.147636452802246,54.65985799271383,39.84203820705774,54.5761410403179,39.62995445218893
+10711,54.65985799271383,34.2868241730138,55.181510689504535,35.67562768152479,54.79719750605378,35.2664998363789
+10712,54.65985799271383,35.67562768152479,55.181510689504535,37.06443119003577,54.93030947072972,36.330153425011474
+10713,55.181510689504535,34.2868241730138,55.70316338629523,35.67562768152479,55.41378487835288,34.84804601720097
+10714,55.181510689504535,35.67562768152479,55.44233703789988,36.37002943578028,55.33476147858853,36.22689782597884
+10715,55.181510689504535,36.37002943578028,55.44233703789988,37.06443119003577,55.367240536698006,36.81509186663847
+10716,55.44233703789988,35.67562768152479,55.70316338629523,36.37002943578028,55.5339897839149,36.249437069994315
+10717,55.44233703789988,36.37002943578028,55.70316338629523,37.06443119003577,55.58540450215728,36.88226467166246
+10718,54.65985799271383,37.06443119003577,54.92068434110918,37.75883294429126,54.84507944813007,37.45389131535924
+10719,54.65985799271383,37.75883294429126,54.92068434110918,38.45323469854675,54.84925853442984,38.11694971845208
+10720,54.92068434110918,37.06443119003577,55.181510689504535,37.75883294429126,55.04330970927981,37.48284199680227
+10721,54.92068434110918,37.75883294429126,55.181510689504535,38.45323469854675,55.07220103376433,38.06960259948635
+10722,54.65985799271383,38.45323469854675,55.181510689504535,39.84203820705774,54.99534856276516,39.01807411000909
+10723,55.181510689504535,37.06443119003577,55.44233703789988,37.75883294429126,55.34178430048145,37.46930971278119
+10724,55.181510689504535,37.75883294429126,55.44233703789988,38.45323469854675,55.32192879824986,38.012601289470645
+10725,55.44233703789988,37.06443119003577,55.57275021209756,37.41163206716351,55.519223368387635,37.263413222144045
+10726,55.44233703789988,37.41163206716351,55.57275021209756,37.75883294429126,55.523887504156505,37.5891695439015
+10727,55.57275021209756,37.06443119003577,55.70316338629523,37.41163206716351,55.640953091460744,37.25839280544966
+10728,55.57275021209756,37.41163206716351,55.70316338629523,37.75883294429126,55.64080876833838,37.59636676333342
+10729,55.44233703789988,37.75883294429126,55.57275021209756,38.106033821419004,55.51431019509217,37.864441590517565
+10730,55.44233703789988,38.106033821419004,55.57275021209756,38.45323469854675,55.517809151594285,38.30866825029147
+10731,55.57275021209756,37.75883294429126,55.70316338629523,38.106033821419004,55.650433386517705,37.914341427711044
+10732,55.57275021209756,38.106033821419004,55.70316338629523,38.45323469854675,55.60336019549906,38.22919594698477
+10733,55.181510689504535,38.45323469854675,55.311923863702205,38.8004355756745,55.24212851502283,38.654291995293605
+10734,55.181510689504535,38.8004355756745,55.311923863702205,39.147636452802246,55.25268363435807,39.07900587824464
+10735,55.311923863702205,38.45323469854675,55.44233703789988,38.8004355756745,55.376948222986314,38.669657214490236
+10736,55.311923863702205,38.8004355756745,55.44233703789988,39.147636452802246,55.3900940708219,39.00752953963721
+10737,55.181510689504535,39.147636452802246,55.44233703789988,39.84203820705774,55.414379773839606,39.28076020374692
+10738,55.44233703789988,38.45323469854675,55.70316338629523,39.147636452802246,55.5564292356249,38.76957782482852
+10739,55.44233703789988,39.147636452802246,55.70316338629523,39.84203820705774,55.59923392862675,39.62660329260156
+10740,53.61655259913243,39.84203820705774,54.65985799271383,42.61964522407972,54.38813026344954,40.63726105694753
+10741,53.61655259913243,42.61964522407972,54.65985799271383,45.39725224110169,53.97868759237124,44.550088404706294
+10742,54.65985799271383,39.84203820705774,54.92068434110918,40.536439961313235,54.82279992437661,39.925956642990315
+10743,54.65985799271383,40.536439961313235,54.92068434110918,41.23084171556873,54.70547365761666,41.167519439589064
+10744,54.92068434110918,39.84203820705774,55.181510689504535,40.536439961313235,55.0632757265491,40.114214179802374
+10745,54.92068434110918,40.536439961313235,55.181510689504535,41.23084171556873,55.09803791992398,40.91794569247755
+10746,54.65985799271383,41.23084171556873,55.181510689504535,42.61964522407972,54.973397353997186,41.33633825705096
+10747,55.181510689504535,39.84203820705774,55.44233703789988,40.536439961313235,55.23538136409481,40.06707373418457
+10748,55.181510689504535,40.536439961313235,55.44233703789988,41.23084171556873,55.289156781059546,40.73404179742145
+10749,55.44233703789988,39.84203820705774,55.70316338629523,40.536439961313235,55.62672598362295,40.22114302880907
+10750,55.44233703789988,40.536439961313235,55.70316338629523,41.23084171556873,55.589968706832835,40.67288216537597
+10751,55.181510689504535,41.23084171556873,55.70316338629523,42.61964522407972,55.50548484733393,41.95467508036712
+10752,54.65985799271383,42.61964522407972,55.70316338629523,45.39725224110169,55.12974621708572,44.063488783841414
+10753,55.70316338629523,34.2868241730138,56.224816083085926,35.67562768152479,56.121347454866864,34.665573762760324
+10754,55.70316338629523,35.67562768152479,55.96398973469058,36.37002943578028,55.762457409987725,36.22697812973776
+10755,55.70316338629523,36.37002943578028,55.96398973469058,37.06443119003577,55.833697502521886,36.82429929456573
+10756,55.96398973469058,35.67562768152479,56.224816083085926,36.37002943578028,56.0058301522579,36.158201033043035
+10757,55.96398973469058,36.37002943578028,56.224816083085926,37.06443119003577,56.1189846501476,36.830126884631035
+10758,56.224816083085926,34.2868241730138,56.74646877987663,35.67562768152479,56.26513306012674,34.39140122321794
+10759,56.224816083085926,35.67562768152479,56.74646877987663,37.06443119003577,56.508636470132174,36.6887563804216
+10760,55.70316338629523,37.06443119003577,55.8335765604929,37.41163206716351,55.7778433662288,37.300424171823956
+10761,55.70316338629523,37.41163206716351,55.8335765604929,37.75883294429126,55.77043026731415,37.592643875768225
+10762,55.8335765604929,37.06443119003577,55.96398973469058,37.41163206716351,55.88978858592882,37.30243091471593
+10763,55.8335765604929,37.41163206716351,55.96398973469058,37.75883294429126,55.88633788833964,37.57442145077993
+10764,55.70316338629523,37.75883294429126,55.8335765604929,38.106033821419004,55.76899336916294,37.868312290947856
+10765,55.70316338629523,38.106033821419004,55.8335765604929,38.45323469854675,55.77434587173267,38.31336618337608
+10766,55.8335765604929,37.75883294429126,55.96398973469058,38.106033821419004,55.91293314501041,37.86966454186883
+10767,55.8335765604929,38.106033821419004,55.96398973469058,38.45323469854675,55.88023469906367,38.34148597928948
+10768,55.96398973469058,37.06443119003577,56.094402908888256,37.41163206716351,56.012497144905055,37.20843113210781
+10769,55.96398973469058,37.41163206716351,56.094402908888256,37.75883294429126,56.01493620488456,37.53070770981987
+10770,56.094402908888256,37.06443119003577,56.224816083085926,37.41163206716351,56.11797379794482,37.195851599785485
+10771,56.094402908888256,37.41163206716351,56.224816083085926,37.75883294429126,56.156276718430085,37.5212726639625
+10772,55.96398973469058,37.75883294429126,56.224816083085926,38.45323469854675,56.04151693461298,37.96787344572154
+10773,55.70316338629523,38.45323469854675,55.96398973469058,39.147636452802246,55.81190730904072,38.794484666841385
+10774,55.70316338629523,39.147636452802246,55.96398973469058,39.84203820705774,55.871121074395,39.42236137912485
+10775,55.96398973469058,38.45323469854675,56.224816083085926,39.147636452802246,56.047316456330684,38.68832754354988
+10776,55.96398973469058,39.147636452802246,56.224816083085926,39.84203820705774,55.99104455220564,39.716294905900284
+10777,56.224816083085926,37.06443119003577,56.48564243148128,37.75883294429126,56.33291209195487,37.454217904557964
+10778,56.224816083085926,37.75883294429126,56.48564243148128,38.45323469854675,56.33361485920415,38.15560414739838
+10779,56.48564243148128,37.06443119003577,56.74646877987663,37.75883294429126,56.626506402537125,37.48918249280551
+10780,56.48564243148128,37.75883294429126,56.74646877987663,38.45323469854675,56.576352170428095,38.173638401467365
+10781,56.224816083085926,38.45323469854675,56.74646877987663,39.84203820705774,56.5138541555624,39.19687397619976
+10782,56.74646877987663,34.2868241730138,57.26812147666733,35.67562768152479,57.07077366154345,35.37190303606801
+10783,56.74646877987663,35.67562768152479,57.26812147666733,37.06443119003577,56.939346740049906,36.02244978397196
+10784,57.26812147666733,34.2868241730138,57.78977417345803,35.67562768152479,57.44687857898819,34.833628438915845
+10785,57.26812147666733,35.67562768152479,57.78977417345803,37.06443119003577,57.513111105417494,36.26529866606405
+10786,56.74646877987663,37.06443119003577,57.26812147666733,38.45323469854675,56.88814376568056,37.38843417048357
+10787,56.74646877987663,38.45323469854675,57.26812147666733,39.84203820705774,56.98029695778213,39.16045237119999
+10788,57.26812147666733,37.06443119003577,57.78977417345803,38.45323469854675,57.61863357425998,38.11811436258844
+10789,57.26812147666733,38.45323469854675,57.78977417345803,39.84203820705774,57.615278468100904,39.70281629954884
+10790,55.70316338629523,39.84203820705774,55.96398973469058,40.536439961313235,55.89232757836887,40.27463077292495
+10791,55.70316338629523,40.536439961313235,55.96398973469058,41.23084171556873,55.84039006932497,40.69420119515172
+10792,55.96398973469058,39.84203820705774,56.094402908888256,40.18923908418549,56.01182613386738,40.073659056113776
+10793,55.96398973469058,40.18923908418549,56.094402908888256,40.536439961313235,56.02987292112041,40.377538418286385
+10794,56.094402908888256,39.84203820705774,56.224816083085926,40.18923908418549,56.143124416442056,40.04703166474903
+10795,56.094402908888256,40.18923908418549,56.224816083085926,40.536439961313235,56.14247161704428,40.41352289161112
+10796,55.96398973469058,40.536439961313235,56.224816083085926,41.23084171556873,56.11171721997509,40.72960407238534
+10797,55.70316338629523,41.23084171556873,56.224816083085926,42.61964522407972,56.121648119066045,41.993003953691925
+10798,56.224816083085926,39.84203820705774,56.48564243148128,40.536439961313235,56.3766680446886,40.3012411026917
+10799,56.224816083085926,40.536439961313235,56.48564243148128,41.23084171556873,56.32030228139662,40.68429067373317
+10800,56.48564243148128,39.84203820705774,56.74646877987663,40.536439961313235,56.5553334385611,40.19753601644497
+10801,56.48564243148128,40.536439961313235,56.74646877987663,41.23084171556873,56.62019708170983,40.624618858391095
+10802,56.224816083085926,41.23084171556873,56.74646877987663,42.61964522407972,56.381986450104264,42.066132278752725
+10803,55.70316338629523,42.61964522407972,55.96398973469058,43.31404697833521,55.94439280720742,43.06343197638294
+10804,55.70316338629523,43.31404697833521,55.96398973469058,44.00844873259071,55.89307069959897,43.932465853064365
+10805,55.96398973469058,42.61964522407972,56.224816083085926,43.31404697833521,56.080244056326514,42.90197265320799
+10806,55.96398973469058,43.31404697833521,56.094402908888256,43.66124785546296,56.05624059793839,43.473281688130356
+10807,55.96398973469058,43.66124785546296,56.094402908888256,44.00844873259071,56.03271883948278,43.89062629623496
+10808,56.094402908888256,43.31404697833521,56.224816083085926,43.66124785546296,56.125273639649016,43.53304776117403
+10809,56.094402908888256,43.66124785546296,56.224816083085926,44.00844873259071,56.17597268428795,43.85791135523188
+10810,55.70316338629523,44.00844873259071,55.96398973469058,44.7028504868462,55.86416640798749,44.15850870068998
+10811,55.70316338629523,44.7028504868462,55.96398973469058,45.39725224110169,55.83231329519741,44.78086996134778
+10812,55.96398973469058,44.00844873259071,56.224816083085926,44.7028504868462,56.14883541309088,44.168793211534684
+10813,55.96398973469058,44.7028504868462,56.224816083085926,45.39725224110169,56.048808007238875,45.00342394209005
+10814,56.224816083085926,42.61964522407972,56.48564243148128,43.31404697833521,56.297512851649245,42.960287898300685
+10815,56.224816083085926,43.31404697833521,56.355229257283604,43.66124785546296,56.271404766855476,43.50450814363243
+10816,56.224816083085926,43.66124785546296,56.355229257283604,44.00844873259071,56.29388715230582,43.892110773170934
+10817,56.355229257283604,43.31404697833521,56.48564243148128,43.66124785546296,56.41629103266414,43.620082194329385
+10818,56.355229257283604,43.66124785546296,56.48564243148128,44.00844873259071,56.39170515421211,43.85231521362621
+10819,56.48564243148128,42.61964522407972,56.74646877987663,43.31404697833521,56.66032557086999,42.98571750635789
+10820,56.48564243148128,43.31404697833521,56.74646877987663,44.00844873259071,56.5862779177891,43.60455263836497
+10821,56.224816083085926,44.00844873259071,56.355229257283604,44.355649609718455,56.293419093476636,44.07625361669153
+10822,56.224816083085926,44.355649609718455,56.355229257283604,44.7028504868462,56.263169055182495,44.4411469169215
+10823,56.355229257283604,44.00844873259071,56.48564243148128,44.355649609718455,56.393914699016875,44.042760972449756
+10824,56.48564243148128,44.00844873259071,56.74646877987663,44.7028504868462,56.59800825672623,44.101625002729165
+10825,56.74646877987663,39.84203820705774,57.00729512827198,40.536439961313235,56.856656109197196,40.524584735792104
+10826,56.74646877987663,40.536439961313235,56.87688195407431,40.88364083844098,56.802315366377286,40.736176513956124
+10827,56.74646877987663,40.88364083844098,56.87688195407431,41.23084171556873,56.81848145810004,40.952117538226
+10828,56.87688195407431,40.536439961313235,57.00729512827198,40.88364083844098,56.937656009432196,40.746419601227856
+10829,56.87688195407431,40.88364083844098,57.00729512827198,41.23084171556873,56.97125053575315,41.00926729040874
+10830,57.00729512827198,39.84203820705774,57.26812147666733,40.536439961313235,57.22764336368258,40.221024626661446
+10831,57.00729512827198,40.536439961313235,57.137708302469655,40.88364083844098,57.06736973790145,40.77446629973695
+10832,57.00729512827198,40.88364083844098,57.137708302469655,41.23084171556873,57.04450577236014,40.970086844768495
+10833,57.137708302469655,40.536439961313235,57.26812147666733,40.88364083844098,57.150984756861,40.56711348217875
+10834,57.137708302469655,40.88364083844098,57.26812147666733,41.23084171556873,57.18543786624631,41.09538245572923
+10835,56.74646877987663,41.23084171556873,57.26812147666733,42.61964522407972,56.969558683247136,41.468564432756295
+10836,57.26812147666733,39.84203820705774,57.52894782506268,40.536439961313235,57.37025084035801,39.96901090929198
+10837,57.26812147666733,40.536439961313235,57.52894782506268,41.23084171556873,57.42459068883108,41.03297549614091
+10838,57.52894782506268,39.84203820705774,57.65936099926036,40.18923908418549,57.6126247985917,39.9011168722033
+10839,57.52894782506268,40.18923908418549,57.65936099926036,40.536439961313235,57.61496445147865,40.37975487851449
+10840,57.65936099926036,39.84203820705774,57.78977417345803,40.18923908418549,57.707012782903504,39.92061610259427
+10841,57.52894782506268,40.536439961313235,57.78977417345803,41.23084171556873,57.705739624218346,40.91149605564364
+10842,57.26812147666733,41.23084171556873,57.78977417345803,42.61964522407972,57.40535553779793,41.848511440619546
+10843,56.74646877987663,42.61964522407972,57.78977417345803,45.39725224110169,57.097445687311044,44.21158308454139
+10844,57.78977417345803,23.176396104925903,58.311426870248724,24.56519961343689,58.00703613645788,24.450015328211244
+10845,57.78977417345803,24.56519961343689,58.311426870248724,25.954003121947878,58.1274364404638,25.43094813879659
+10846,58.311426870248724,23.176396104925903,58.57225321864408,23.870797859181394,58.5515506184235,23.6446462310039
+10847,58.311426870248724,23.870797859181394,58.57225321864408,24.56519961343689,58.44811950741533,24.394052187287237
+10848,58.57225321864408,23.176396104925903,58.83307956703943,23.870797859181394,58.65460227775476,23.648549812382225
+10849,58.57225321864408,23.870797859181394,58.83307956703943,24.56519961343689,58.70763288137854,24.233135327788546
+10850,58.311426870248724,24.56519961343689,58.57225321864408,25.259601367692383,58.473798623753474,24.763980532470526
+10851,58.311426870248724,25.259601367692383,58.57225321864408,25.954003121947878,58.42298486200486,25.607505491659364
+10852,58.57225321864408,24.56519961343689,58.83307956703943,25.259601367692383,58.69138792587303,24.97807048275453
+10853,58.57225321864408,25.259601367692383,58.83307956703943,25.954003121947878,58.712239016516094,25.58310597039903
+10854,57.78977417345803,25.954003121947878,58.050600521853376,26.648404876203372,57.93560177251253,26.313238039570376
+10855,57.78977417345803,26.648404876203372,58.050600521853376,27.342806630458863,57.91579715796862,26.9856207753109
+10856,58.050600521853376,25.954003121947878,58.311426870248724,26.648404876203372,58.16224210304154,26.30021743607808
+10857,58.050600521853376,26.648404876203372,58.311426870248724,27.342806630458863,58.17820598156902,26.945255295379873
+10858,57.78977417345803,27.342806630458863,58.311426870248724,28.73161013896985,57.8978136987779,27.86880926097294
+10859,58.311426870248724,25.954003121947878,58.57225321864408,26.648404876203372,58.41920253538655,26.369444519804947
+10860,58.311426870248724,26.648404876203372,58.57225321864408,27.342806630458863,58.38955308215531,26.80738710859119
+10861,58.57225321864408,25.954003121947878,58.83307956703943,26.648404876203372,58.698275583828035,26.30114541648035
+10862,58.57225321864408,26.648404876203372,58.83307956703943,27.342806630458863,58.69486394705189,26.86905239724542
+10863,58.83307956703943,23.176396104925903,59.093905915434775,23.870797859181394,58.95683070658708,23.63303564748265
+10864,58.83307956703943,23.870797859181394,59.093905915434775,24.56519961343689,58.95891880545239,24.237374045265113
+10865,59.093905915434775,23.176396104925903,59.35473226383013,23.870797859181394,59.243924840677465,23.7117470990816
+10866,59.093905915434775,23.870797859181394,59.35473226383013,24.56519961343689,59.231195176910724,24.289033198157366
+10867,58.83307956703943,24.56519961343689,59.093905915434775,25.259601367692383,58.98999826928558,24.86056995592725
+10868,58.83307956703943,25.259601367692383,59.093905915434775,25.954003121947878,58.95544442828955,25.656330378153744
+10869,59.093905915434775,24.56519961343689,59.22431908963245,24.912400490564636,59.170629497432344,24.730740267576984
+10870,59.093905915434775,24.912400490564636,59.22431908963245,25.259601367692383,59.18474032748382,25.131020954270337
+10871,59.22431908963245,24.56519961343689,59.35473226383013,24.912400490564636,59.30556548809002,24.713216774825742
+10872,59.22431908963245,24.912400490564636,59.35473226383013,25.259601367692383,59.30202878682659,25.06656696415679
+10873,59.093905915434775,25.259601367692383,59.35473226383013,25.954003121947878,59.21382141267675,25.592108316882147
+10874,59.35473226383013,23.176396104925903,59.876384960620825,24.56519961343689,59.40401599458827,24.414951067091827
+10875,59.35473226383013,24.56519961343689,59.4851454380278,24.912400490564636,59.41344846251179,24.747328795289636
+10876,59.35473226383013,24.912400490564636,59.4851454380278,25.259601367692383,59.41444133886016,25.02967940851487
+10877,59.4851454380278,24.56519961343689,59.61555861222548,24.912400490564636,59.51955914391772,24.848361456692803
+10878,59.4851454380278,24.912400490564636,59.61555861222548,25.259601367692383,59.496587861403654,25.143569186556697
+10879,59.35473226383013,25.259601367692383,59.61555861222548,25.954003121947878,59.49584774794518,25.57796782619392
+10880,59.61555861222548,25.259601367692383,59.876384960620825,25.954003121947878,59.65220872382139,25.67472738865207
+10881,58.83307956703943,25.954003121947878,59.093905915434775,26.648404876203372,59.004353592023605,26.227531993873853
+10882,58.83307956703943,26.648404876203372,59.093905915434775,27.342806630458863,58.98243826649825,26.948192519816523
+10883,59.093905915434775,25.954003121947878,59.35473226383013,26.648404876203372,59.23516943046555,26.316787361032898
+10884,59.093905915434775,26.648404876203372,59.35473226383013,27.342806630458863,59.27411149070818,26.985541210085366
+10885,58.83307956703943,27.342806630458863,59.35473226383013,28.73161013896985,59.24054144354877,27.617281402132463
+10886,59.35473226383013,25.954003121947878,59.61555861222548,26.648404876203372,59.44886983234669,26.2431879537135
+10887,59.35473226383013,26.648404876203372,59.61555861222548,27.342806630458863,59.41061883507503,27.060557465807282
+10888,59.61555861222548,25.954003121947878,59.876384960620825,26.648404876203372,59.6161650389175,26.01775401212
+10889,59.35473226383013,27.342806630458863,59.61555861222548,28.037208384714354,59.38723331226231,27.78366461236406
+10890,59.35473226383013,28.037208384714354,59.61555861222548,28.73161013896985,59.40795228623577,28.158905917978732
+10891,59.61555861222548,27.342806630458863,59.876384960620825,28.037208384714354,59.66677700129199,27.929866733646
+10892,59.61555861222548,28.037208384714354,59.876384960620825,28.73161013896985,59.67412232835337,28.320273560101985
+10893,57.78977417345803,28.73161013896985,58.83307956703943,31.509217155991823,58.31132018720263,30.275191465482784
+10894,57.78977417345803,31.509217155991823,58.83307956703943,34.2868241730138,58.06745736406424,32.98266448375587
+10895,58.83307956703943,28.73161013896985,59.35473226383013,30.120413647480838,59.24905668802194,29.96234045009099
+10896,58.83307956703943,30.120413647480838,59.35473226383013,31.509217155991823,58.93662765878363,30.98825263284592
+10897,59.35473226383013,28.73161013896985,59.876384960620825,30.120413647480838,59.68216636873414,29.70324216316512
+10898,59.35473226383013,30.120413647480838,59.61555861222548,30.814815401736332,59.57189143953214,30.37932790417369
+10899,59.35473226383013,30.814815401736332,59.61555861222548,31.509217155991823,59.533046342218114,31.008736425443075
+10900,59.61555861222548,30.120413647480838,59.745971786423155,30.467614524608585,59.71098934944245,30.37291667353719
+10901,59.61555861222548,30.467614524608585,59.745971786423155,30.814815401736332,59.701869127891094,30.646236153854215
+10902,59.745971786423155,30.120413647480838,59.876384960620825,30.467614524608585,59.83318442377622,30.285026423721256
+10903,59.745971786423155,30.467614524608585,59.876384960620825,30.814815401736332,59.802763805899346,30.648028849390666
+10904,59.61555861222548,30.814815401736332,59.876384960620825,31.509217155991823,59.767823740537146,31.06346780203365
+10905,58.83307956703943,31.509217155991823,59.876384960620825,34.2868241730138,59.27332563100875,32.43487916568963
+10906,59.876384960620825,23.176396104925903,60.13721130901617,23.870797859181394,60.064994534025416,23.524562259498683
+10907,59.876384960620825,23.870797859181394,60.13721130901617,24.56519961343689,60.098582791710314,24.330921279145354
+10908,60.13721130901617,23.176396104925903,60.39803765741152,23.870797859181394,60.29187929469316,23.567205376687863
+10909,60.13721130901617,23.870797859181394,60.26762448321385,24.21799873630914,60.20008430842382,24.08297314900652
+10910,60.13721130901617,24.21799873630914,60.26762448321385,24.56519961343689,60.197456971128396,24.43892696883868
+10911,60.26762448321385,23.870797859181394,60.39803765741152,24.21799873630914,60.34185711425501,24.06706918779626
+10912,60.26762448321385,24.21799873630914,60.39803765741152,24.56519961343689,60.32738040955084,24.394691140484827
+10913,59.876384960620825,24.56519961343689,60.13721130901617,25.259601367692383,60.120328145933684,24.70688634599421
+10914,60.13721130901617,24.56519961343689,60.26762448321385,24.912400490564636,60.20445898841729,24.761514161817466
+10915,60.13721130901617,24.912400490564636,60.26762448321385,25.259601367692383,60.21219219942274,25.023536932505863
+10916,60.26762448321385,24.56519961343689,60.39803765741152,24.912400490564636,60.31782883761223,24.784147727046197
+10917,60.26762448321385,24.912400490564636,60.39803765741152,25.259601367692383,60.31640938905208,25.04338183336413
+10918,60.13721130901617,25.259601367692383,60.39803765741152,25.954003121947878,60.34611158615644,25.514944382581643
+10919,60.39803765741152,23.176396104925903,60.658864005806876,23.870797859181394,60.48878407877059,23.539482877931523
+10920,60.39803765741152,23.870797859181394,60.658864005806876,24.56519961343689,60.523489754928484,24.236891956030046
+10921,60.658864005806876,23.176396104925903,60.919690354202224,23.870797859181394,60.82459534277184,23.547508553952536
+10922,60.658864005806876,23.870797859181394,60.919690354202224,24.56519961343689,60.78575667871174,24.197974048529797
+10923,60.39803765741152,24.56519961343689,60.658864005806876,25.259601367692383,60.491141192426454,24.92777069320731
+10924,60.39803765741152,25.259601367692383,60.658864005806876,25.954003121947878,60.482487538631155,25.55287260018054
+10925,60.658864005806876,24.56519961343689,60.919690354202224,25.259601367692383,60.786107585313005,24.69466060282684
+10926,60.658864005806876,25.259601367692383,60.919690354202224,25.954003121947878,60.78944068093425,25.550462166779564
+10927,60.39803765741152,25.954003121947878,60.919690354202224,27.342806630458863,60.59998336217793,26.692620733275266
+10928,60.39803765741152,27.342806630458863,60.919690354202224,28.73161013896985,60.72099178239197,28.05052326497933
+10929,60.919690354202224,23.176396104925903,61.18051670259757,23.870797859181394,61.05721363566795,23.44537490976472
+10930,60.919690354202224,23.870797859181394,61.0501035283999,24.21799873630914,61.00339161497428,24.061273754454454
+10931,60.919690354202224,24.21799873630914,61.0501035283999,24.56519961343689,60.99390013400989,24.444010064121287
+10932,61.0501035283999,23.870797859181394,61.18051670259757,24.21799873630914,61.1337918368985,24.077087995525794
+10933,61.0501035283999,24.21799873630914,61.18051670259757,24.56519961343689,61.10088575126568,24.38524859061433
+10934,61.18051670259757,23.176396104925903,61.44134305099293,23.870797859181394,61.32716060914691,23.691866391663552
+10935,61.18051670259757,23.870797859181394,61.44134305099293,24.56519961343689,61.31413717219226,24.13359038085688
+10936,60.919690354202224,24.56519961343689,61.44134305099293,25.954003121947878,61.09186984157311,25.34876807034626
+10937,61.44134305099293,23.176396104925903,61.5717562251906,23.523596982053647,61.48476880754946,23.450753908640124
+10938,61.44134305099293,23.523596982053647,61.5717562251906,23.870797859181394,61.5101751620648,23.692193835604442
+10939,61.5717562251906,23.176396104925903,61.702169399388275,23.523596982053647,61.62794473121373,23.340187707182967
+10940,61.5717562251906,23.523596982053647,61.702169399388275,23.870797859181394,61.57521164819494,23.596501226134443
+10941,61.44134305099293,23.870797859181394,61.702169399388275,24.56519961343689,61.5362533275468,24.081961388154994
+10942,61.702169399388275,23.176396104925903,61.96299574778362,23.870797859181394,61.83761441206996,23.61965004852244
+10943,61.702169399388275,23.870797859181394,61.96299574778362,24.56519961343689,61.81483990481487,24.4076402157388
+10944,61.44134305099293,24.56519961343689,61.96299574778362,25.954003121947878,61.78789336229718,25.163108320345064
+10945,60.919690354202224,25.954003121947878,61.44134305099293,27.342806630458863,61.225310012632725,26.60241833178868
+10946,60.919690354202224,27.342806630458863,61.44134305099293,28.73161013896985,61.20567151711363,28.163448536873783
+10947,61.44134305099293,25.954003121947878,61.96299574778362,27.342806630458863,61.64799155902537,26.578210334237564
+10948,61.44134305099293,27.342806630458863,61.96299574778362,28.73161013896985,61.66598890089836,28.145639187410357
+10949,59.876384960620825,28.73161013896985,60.39803765741152,30.120413647480838,60.10785885536835,29.620048242104737
+10950,59.876384960620825,30.120413647480838,60.006798134818496,30.467614524608585,59.947222243939464,30.333567245580916
+10951,59.876384960620825,30.467614524608585,60.006798134818496,30.814815401736332,59.93776097789695,30.54995658359253
+10952,60.006798134818496,30.120413647480838,60.13721130901617,30.467614524608585,60.052512574949056,30.35722067921204
+10953,60.006798134818496,30.467614524608585,60.13721130901617,30.814815401736332,60.05494597470306,30.595131615413653
+10954,59.876384960620825,30.814815401736332,60.13721130901617,31.509217155991823,60.01118893377942,30.970868103656432
+10955,60.13721130901617,30.120413647480838,60.39803765741152,30.814815401736332,60.225381795517094,30.402615120282988
+10956,60.13721130901617,30.814815401736332,60.39803765741152,31.509217155991823,60.15585994542316,30.933497466576164
+10957,60.39803765741152,28.73161013896985,60.919690354202224,30.120413647480838,60.66804927910685,29.281278235613012
+10958,60.39803765741152,30.120413647480838,60.919690354202224,31.509217155991823,60.57787233154744,30.237963423522636
+10959,59.876384960620825,31.509217155991823,60.919690354202224,34.2868241730138,60.21579427294253,32.59085619529142
+10960,60.919690354202224,28.73161013896985,61.44134305099293,30.120413647480838,61.16482080042139,29.333571793823747
+10961,60.919690354202224,30.120413647480838,61.44134305099293,31.509217155991823,61.04615204946896,30.24118325483143
+10962,61.44134305099293,28.73161013896985,61.96299574778362,30.120413647480838,61.76430016066423,29.183917944619285
+10963,61.44134305099293,30.120413647480838,61.96299574778362,31.509217155991823,61.75600472855434,30.710356371460776
+10964,60.919690354202224,31.509217155991823,61.96299574778362,34.2868241730138,61.785882674530235,33.50422457272542
+10965,57.78977417345803,34.2868241730138,58.83307956703943,37.06443119003577,58.525716406394146,36.362403394141296
+10966,57.78977417345803,37.06443119003577,58.311426870248724,38.45323469854675,58.068315468718275,37.738995127789266
+10967,57.78977417345803,38.45323469854675,58.311426870248724,39.84203820705774,58.00981191065898,39.126833637850254
+10968,58.311426870248724,37.06443119003577,58.83307956703943,38.45323469854675,58.75486137700704,38.064691927800204
+10969,58.311426870248724,38.45323469854675,58.83307956703943,39.84203820705774,58.51186693102523,38.95873290812139
+10970,58.83307956703943,34.2868241730138,59.876384960620825,37.06443119003577,59.24526123038826,35.56477454448694
+10971,58.83307956703943,37.06443119003577,59.35473226383013,38.45323469854675,59.10235807388093,38.02134886537922
+10972,58.83307956703943,38.45323469854675,59.35473226383013,39.84203820705774,59.172982083909346,39.28775824391805
+10973,59.35473226383013,37.06443119003577,59.876384960620825,38.45323469854675,59.559265209305124,37.76015706632712
+10974,59.35473226383013,38.45323469854675,59.876384960620825,39.84203820705774,59.372965412417365,39.698608431109534
+10975,57.78977417345803,39.84203820705774,58.311426870248724,41.23084171556873,57.98895935625074,40.34564012678104
+10976,57.78977417345803,41.23084171556873,58.311426870248724,42.61964522407972,58.03574842795997,41.6063617091529
+10977,58.311426870248724,39.84203820705774,58.57225321864408,40.536439961313235,58.417120767821785,40.363211966209505
+10978,58.311426870248724,40.536439961313235,58.57225321864408,41.23084171556873,58.352422000429534,40.920241419239794
+10979,58.57225321864408,39.84203820705774,58.83307956703943,40.536439961313235,58.71670908991151,40.216946084707544
+10980,58.311426870248724,41.23084171556873,58.83307956703943,42.61964522407972,58.40694498775286,41.54206002334321
+10981,57.78977417345803,42.61964522407972,58.83307956703943,45.39725224110169,58.00023084522945,43.797739367511944
+10982,58.83307956703943,39.84203820705774,59.093905915434775,40.536439961313235,58.97163264612384,40.156523210018676
+10983,59.093905915434775,39.84203820705774,59.35473226383013,40.536439961313235,59.17703317727914,39.92341883842961
+10984,59.35473226383013,39.84203820705774,59.876384960620825,41.23084171556873,59.80523087312944,40.30484435328961
+10985,59.876384960620825,34.2868241730138,61.96299574778362,39.84203820705774,61.230500534912395,36.28095460116876
+10986,59.876384960620825,39.84203820705774,61.96299574778362,45.39725224110169,60.21587412595978,40.70060684113901
+10987,45.27010945048125,45.39725224110169,49.44333102480684,56.50768030918958,47.12212797563926,47.68887604555581
+10988,45.27010945048125,56.50768030918958,49.44333102480684,67.61810837727748,47.31513388764737,61.66378424617988
+10989,49.44333102480684,45.39725224110169,50.48663641838824,48.17485925812366,50.38857770092333,46.163265622372336
+10990,50.48663641838824,45.39725224110169,51.00828911517894,46.78605574961267,50.8499445475208,45.915019239810675
+10991,50.48663641838824,46.78605574961267,51.00828911517894,48.17485925812366,50.656288818095,46.921314443139
+10992,51.00828911517894,45.39725224110169,51.529941811969636,46.78605574961267,51.325751950137914,45.99700961863635
+10993,51.00828911517894,46.78605574961267,51.529941811969636,48.17485925812366,51.2593296522222,46.98568311521433
+10994,50.48663641838824,48.17485925812366,51.529941811969636,50.95246627514564,51.19610450150534,49.807570972989886
+10995,49.44333102480684,50.95246627514564,51.529941811969636,56.50768030918958,51.02536630688162,51.84861521666569
+10996,51.529941811969636,45.39725224110169,51.79076816036498,46.09165399535718,51.637042065397296,45.99497231620283
+10997,51.529941811969636,46.09165399535718,51.79076816036498,46.78605574961267,51.68328445371461,46.25662796389979
+10998,51.79076816036498,45.39725224110169,52.05159450876033,46.09165399535718,51.945746026193,45.58952815132
+10999,51.79076816036498,46.09165399535718,52.05159450876033,46.78605574961267,51.89625158020238,46.48882208009188
+11000,51.529941811969636,46.78605574961267,52.05159450876033,48.17485925812366,51.85797635139031,47.00987372164705
+11001,52.05159450876033,45.39725224110169,52.573247205551034,46.78605574961267,52.2511121869253,46.65000922806534
+11002,52.05159450876033,46.78605574961267,52.312420857155686,47.480457503868166,52.12765949749364,47.09966750734315
+11003,52.05159450876033,47.480457503868166,52.312420857155686,48.17485925812366,52.18607006684916,47.800980358082946
+11004,52.312420857155686,46.78605574961267,52.573247205551034,47.480457503868166,52.5075036189675,46.8020497747845
+11005,52.312420857155686,47.480457503868166,52.573247205551034,48.17485925812366,52.44442375752428,48.00219890632418
+11006,51.529941811969636,48.17485925812366,52.573247205551034,50.95246627514564,52.32951195979279,50.65064607986642
+11007,52.573247205551034,45.39725224110169,53.61655259913243,48.17485925812366,52.77298378532688,47.85023452008606
+11008,52.573247205551034,48.17485925812366,53.09489990234174,49.56366276663465,52.8641217065157,48.386377392680764
+11009,52.573247205551034,49.56366276663465,53.09489990234174,50.95246627514564,53.014106728815094,50.00632235680965
+11010,53.09489990234174,48.17485925812366,53.355726250737085,48.869261012379155,53.1791230001421,48.35759742679466
+11011,53.09489990234174,48.869261012379155,53.355726250737085,49.56366276663465,53.29106519267523,49.2511701843137
+11012,53.355726250737085,48.17485925812366,53.61655259913243,48.869261012379155,53.504194885328985,48.34559214534845
+11013,53.355726250737085,49.2164618895069,53.48613942493476,49.56366276663465,53.45763466018733,49.4725985876084
+11014,53.48613942493476,48.869261012379155,53.61655259913243,49.2164618895069,53.53851598817398,49.13651838196203
+11015,53.48613942493476,49.2164618895069,53.61655259913243,49.56366276663465,53.53797894154053,49.36853737780421
+11016,53.09489990234174,49.56366276663465,53.22531307653941,49.9108636437624,53.1189676994068,49.9004307722732
+11017,53.09489990234174,49.9108636437624,53.22531307653941,50.258064520890144,53.17314429972703,50.147253626630466
+11018,53.22531307653941,49.56366276663465,53.355726250737085,49.9108636437624,53.295108189703605,49.7152252291947
+11019,53.22531307653941,49.9108636437624,53.355726250737085,50.258064520890144,53.26840910583277,50.21649276407387
+11020,53.09489990234174,50.258064520890144,53.22531307653941,50.60526539801789,53.18411560340205,50.34296335982808
+11021,53.09489990234174,50.60526539801789,53.22531307653941,50.95246627514564,53.14995706991784,50.62931388924568
+11022,53.22531307653941,50.258064520890144,53.355726250737085,50.60526539801789,53.269680076375394,50.33857558778171
+11023,53.22531307653941,50.60526539801789,53.355726250737085,50.95246627514564,53.29764442032975,50.78613361545453
+11024,53.355726250737085,49.56366276663465,53.61655259913243,50.258064520890144,53.484445297401976,49.89551904309545
+11025,53.355726250737085,50.258064520890144,53.61655259913243,50.95246627514564,53.44227367094139,50.43074569040181
+11026,51.529941811969636,50.95246627514564,53.61655259913243,56.50768030918958,52.33887624431956,54.55675234008456
+11027,49.44333102480684,56.50768030918958,53.61655259913243,67.61810837727748,51.9131448334495,58.47078909112494
+11028,45.27010945048125,67.61810837727748,49.44333102480684,78.72853644536536,45.9335265333879,73.54091707742457
+11029,45.27010945048125,78.72853644536536,49.44333102480684,89.83896451345326,46.428050820028936,81.88456769400942
+11030,49.44333102480684,70.39571539429946,50.48663641838824,73.17332241132142,49.793121294390545,73.10039775266254
+11031,50.48663641838824,71.78451890281045,51.00828911517894,73.17332241132142,50.766018153777544,72.25552133451069
+11032,51.00828911517894,71.09011714855495,51.13870228937661,71.4373180256827,51.119951429579906,71.41831083868507
+11033,51.00828911517894,71.4373180256827,51.13870228937661,71.78451890281045,51.128704424424875,71.48250999721972
+11034,51.13870228937661,71.09011714855495,51.26911546357429,71.4373180256827,51.1752017267463,71.40197260754849
+11035,51.13870228937661,71.4373180256827,51.26911546357429,71.78451890281045,51.159179083852884,71.47254002278075
+11036,51.26911546357429,71.09011714855495,51.529941811969636,71.78451890281045,51.30590061016494,71.35365268687703
+11037,49.44333102480684,73.17332241132142,51.529941811969636,78.72853644536536,50.818763094549865,75.93118069969852
+11038,51.529941811969636,67.61810837727748,53.61655259913243,73.17332241132142,52.850263881203375,69.19412103830194
+11039,51.529941811969636,73.17332241132142,53.61655259913243,78.72853644536536,52.25626289591002,77.19018662509893
+11040,49.44333102480684,78.72853644536536,51.529941811969636,84.28375047940932,50.902832660744394,79.38514635592068
+11041,49.44333102480684,84.28375047940932,51.529941811969636,89.83896451345326,51.11968404891553,86.30748810310514
+11042,53.09489990234174,82.89494697089833,53.355726250737085,83.58934872515383,53.329594927333595,83.56561872263497
+11043,53.09489990234174,83.58934872515383,53.22531307653941,83.93654960228157,53.223125784206104,83.71410153800848
+11044,53.22531307653941,83.58934872515383,53.355726250737085,83.93654960228157,53.32360222508684,83.71584648859388
+11045,53.22531307653941,83.93654960228157,53.355726250737085,84.28375047940932,53.33109054810874,83.99203205499192
+11046,53.355726250737085,82.89494697089833,53.61655259913243,83.58934872515383,53.40625642362528,83.52793854332216
+11047,53.355726250737085,83.58934872515383,53.61655259913243,84.28375047940932,53.372602949861644,83.72843507980812
+11048,51.529941811969636,84.28375047940932,53.61655259913243,89.83896451345326,52.461685756123536,85.31373651925102
+11049,53.61655259913243,47.480457503868166,53.87737894752778,48.17485925812366,53.84834867598682,47.74569713972251
+11050,53.87737894752778,47.480457503868166,54.13820529592313,48.17485925812366,53.99474142412435,47.73703154070711
+11051,54.13820529592313,45.39725224110169,54.65985799271383,46.78605574961267,54.51480971940842,45.897554444348444
+11052,54.13820529592313,46.78605574961267,54.65985799271383,48.17485925812366,54.264849975258834,47.71223624430397
+11053,53.61655259913243,48.17485925812366,54.13820529592313,49.56366276663465,53.7767319780729,48.99722732545568
+11054,53.61655259913243,49.56366276663465,54.13820529592313,50.95246627514564,53.70555956784175,50.0814856510623
+11055,54.13820529592313,48.17485925812366,54.268618470120806,48.52206013525141,54.22277825231526,48.30004412391261
+11056,54.268618470120806,48.17485925812366,54.399031644318484,48.52206013525141,54.315736264714964,48.359260856294526
+11057,54.268618470120806,48.52206013525141,54.399031644318484,48.869261012379155,54.362911803457266,48.640708863548184
+11058,54.13820529592313,48.869261012379155,54.399031644318484,49.56366276663465,54.2493993916051,49.39941785475129
+11059,54.399031644318484,48.17485925812366,54.65985799271383,48.869261012379155,54.518301403483,48.50876434686483
+11060,54.399031644318484,48.869261012379155,54.65985799271383,49.56366276663465,54.50683784750859,48.91422680602696
+11061,54.13820529592313,49.56366276663465,54.65985799271383,50.95246627514564,54.3580949400786,50.44236461270656
+11062,54.65985799271383,45.39725224110169,55.70316338629523,48.17485925812366,55.13954168720853,46.811570153910765
+11063,54.65985799271383,48.17485925812366,55.181510689504535,49.56366276663465,55.080643770610344,49.14149252231353
+11064,54.65985799271383,49.56366276663465,55.181510689504535,50.95246627514564,54.84566594788675,50.788059945671996
+11065,55.181510689504535,48.869261012379155,55.44233703789988,49.56366276663465,55.29795306638802,49.14289043882304
+11066,55.44233703789988,48.17485925812366,55.70316338629523,48.869261012379155,55.65826082128348,48.855917886944226
+11067,55.44233703789988,48.869261012379155,55.70316338629523,49.56366276663465,55.631696136282024,49.09342243996287
+11068,55.181510689504535,49.56366276663465,55.70316338629523,50.95246627514564,55.39536762364906,50.14834486295048
+11069,53.61655259913243,50.95246627514564,54.65985799271383,53.73007329216761,54.22415756703948,52.59238442686119
+11070,53.61655259913243,53.73007329216761,54.13820529592313,55.11887680067859,54.03727401365486,54.36680170727596
+11071,53.61655259913243,55.11887680067859,54.13820529592313,56.50768030918958,53.84157504712265,55.92566977377555
+11072,54.13820529592313,53.73007329216761,54.65985799271383,55.11887680067859,54.443540475696906,54.53875755061132
+11073,54.13820529592313,55.11887680067859,54.399031644318484,55.81327855493409,54.352584439142525,55.346995819996046
+11074,54.13820529592313,55.81327855493409,54.399031644318484,56.50768030918958,54.337076103772645,56.025562315384825
+11075,54.399031644318484,55.11887680067859,54.65985799271383,55.81327855493409,54.57234342959329,55.56626730524309
+11076,54.399031644318484,55.81327855493409,54.529444818516154,56.160479432061834,54.481274435854935,55.919198315264204
+11077,54.399031644318484,56.160479432061834,54.529444818516154,56.50768030918958,54.44981934226572,56.324433816235924
+11078,54.529444818516154,55.81327855493409,54.65985799271383,56.160479432061834,54.607357082858016,55.971531718383936
+11079,54.529444818516154,56.160479432061834,54.65985799271383,56.50768030918958,54.60360698921252,56.31088568150942
+11080,54.65985799271383,50.95246627514564,55.70316338629523,53.73007329216761,55.16042154369892,51.87719784425884
+11081,54.65985799271383,53.73007329216761,55.181510689504535,55.11887680067859,54.94725279608985,54.77946954071327
+11082,54.65985799271383,55.11887680067859,54.92068434110918,55.81327855493409,54.78677119842366,55.667306274628935
+11083,54.65985799271383,55.81327855493409,54.79027116691151,56.160479432061834,54.73249957743768,55.97079102391176
+11084,54.65985799271383,56.160479432061834,54.79027116691151,56.50768030918958,54.743792736656594,56.271046592508924
+11085,54.79027116691151,55.81327855493409,54.92068434110918,56.160479432061834,54.82701839027954,56.02581259837355
+11086,54.79027116691151,56.160479432061834,54.92068434110918,56.50768030918958,54.82770666954024,56.30831701114749
+11087,54.92068434110918,55.11887680067859,55.181510689504535,55.81327855493409,55.02276468178532,55.50691383993505
+11088,54.92068434110918,55.81327855493409,55.181510689504535,56.50768030918958,55.02907484985622,56.00954676791192
+11089,55.181510689504535,53.73007329216761,55.70316338629523,55.11887680067859,55.41138016017988,54.87466816675764
+11090,55.181510689504535,55.11887680067859,55.70316338629523,56.50768030918958,55.354294241356044,55.918227217529335
+11091,55.70316338629523,45.39725224110169,56.224816083085926,46.78605574961267,56.08304166934285,45.8494647009702
+11092,55.70316338629523,46.78605574961267,56.224816083085926,48.17485925812366,56.08869325264921,47.30735553100368
+11093,56.224816083085926,47.480457503868166,56.48564243148128,48.17485925812366,56.43657679174966,48.09728008871507
+11094,56.48564243148128,46.78605574961267,56.74646877987663,47.480457503868166,56.57635049708417,47.234538174138
+11095,56.48564243148128,47.82765838099591,56.61605560567895,48.17485925812366,56.577767080152334,47.9671631213183
+11096,56.61605560567895,47.480457503868166,56.74646877987663,47.82765838099591,56.63600004308624,47.80482532680469
+11097,56.61605560567895,47.82765838099591,56.74646877987663,48.17485925812366,56.64532406732263,47.919475336537204
+11098,55.70316338629523,48.17485925812366,55.96398973469058,48.869261012379155,55.82682704129111,48.64911422987405
+11099,55.70316338629523,48.869261012379155,55.8335765604929,49.2164618895069,55.78037086065933,49.09244623439379
+11100,55.70316338629523,49.2164618895069,55.8335765604929,49.56366276663465,55.7705564836238,49.2892089843118
+11101,55.8335765604929,48.869261012379155,55.96398973469058,49.2164618895069,55.8721069177523,49.040425904720955
+11102,55.8335765604929,49.2164618895069,55.96398973469058,49.56366276663465,55.882631528124925,49.275441469152696
+11103,55.96398973469058,48.17485925812366,56.224816083085926,48.869261012379155,56.09410757640489,48.37631651175907
+11104,55.96398973469058,48.869261012379155,56.224816083085926,49.56366276663465,56.07685579677713,49.23237598761804
+11105,55.70316338629523,49.56366276663465,56.224816083085926,50.95246627514564,56.053291416070714,49.828405134576194
+11106,56.224816083085926,48.17485925812366,56.74646877987663,49.56366276663465,56.43881433607321,48.36378069663922
+11107,56.74646877987663,45.39725224110169,57.78977417345803,48.17485925812366,57.14634586831603,46.16875601751193
+11108,56.74646877987663,48.17485925812366,57.78977417345803,50.95246627514564,56.923738862807575,48.73266797173784
+11109,55.70316338629523,50.95246627514564,56.74646877987663,53.73007329216761,56.08328270312145,52.226057967371055
+11110,55.70316338629523,53.73007329216761,56.74646877987663,56.50768030918958,56.471924387973054,55.62814978085836
+11111,56.74646877987663,50.95246627514564,57.78977417345803,53.73007329216761,56.99962236804601,53.304870864674534
+11112,56.74646877987663,53.73007329216761,57.26812147666733,55.11887680067859,57.08928640228603,54.02800414369093
+11113,56.74646877987663,55.11887680067859,57.26812147666733,56.50768030918958,57.04147840336621,55.6514429473223
+11114,57.26812147666733,53.73007329216761,57.78977417345803,55.11887680067859,57.51541131061391,54.24525038526681
+11115,57.26812147666733,55.11887680067859,57.78977417345803,56.50768030918958,57.5822430841487,55.89952566536003
+11116,53.61655259913243,56.50768030918958,54.65985799271383,59.28528732621156,53.915378029714496,58.20191910505773
+11117,53.61655259913243,60.67409083472255,54.13820529592313,62.06289434323353,54.0520112804964,61.52711729062022
+11118,54.13820529592313,59.28528732621156,54.65985799271383,60.67409083472255,54.268146585349385,59.456959360948545
+11119,54.13820529592313,60.67409083472255,54.65985799271383,62.06289434323353,54.35696163527055,61.39275214779685
+11120,54.65985799271383,56.50768030918958,55.70316338629523,59.28528732621156,54.93637963342688,57.09661786640222
+11121,54.65985799271383,59.28528732621156,55.181510689504535,60.67409083472255,55.07563947425529,60.06089801497058
+11122,54.65985799271383,60.67409083472255,54.92068434110918,61.36849258897804,54.72882437236117,61.26968921705693
+11123,54.92068434110918,60.67409083472255,55.05109751530686,61.021291711850296,54.99867288913399,60.864283398287654
+11124,54.92068434110918,61.021291711850296,55.05109751530686,61.36849258897804,55.00590115288508,61.16940597163505
+11125,55.05109751530686,61.021291711850296,55.181510689504535,61.36849258897804,55.14905669201343,61.30909631252192
+11126,54.92068434110918,61.36849258897804,55.05109751530686,61.71569346610579,55.021671190104655,61.43460793112616
+11127,55.05109751530686,61.36849258897804,55.181510689504535,61.71569346610579,55.14291810131569,61.413265162574916
+11128,55.181510689504535,59.28528732621156,55.70316338629523,60.67409083472255,55.52086979149479,60.480401064264434
+11129,55.181510689504535,60.67409083472255,55.311923863702205,61.021291711850296,55.211755473657625,60.865267843098046
+11130,55.181510689504535,61.021291711850296,55.311923863702205,61.36849258897804,55.21796140371866,61.307013811049885
+11131,55.311923863702205,60.67409083472255,55.44233703789988,61.021291711850296,55.42772300597094,60.99787325542471
+11132,55.311923863702205,61.021291711850296,55.44233703789988,61.36849258897804,55.37446864417837,61.17199645624517
+11133,55.181510689504535,61.36849258897804,55.44233703789988,62.06289434323353,55.20533987400404,61.427344613240784
+11134,55.44233703789988,60.67409083472255,55.70316338629523,61.36849258897804,55.47640854536818,60.8432587647251
+11135,53.61655259913243,62.06289434323353,55.70316338629523,67.61810837727748,54.4305786370846,63.384770828569195
+11136,55.70316338629523,56.50768030918958,56.74646877987663,59.28528732621156,56.29463954378237,58.95368529482632
+11137,55.70316338629523,59.28528732621156,56.224816083085926,60.67409083472255,55.9742236811211,60.00963844537944
+11138,55.70316338629523,60.67409083472255,56.224816083085926,62.06289434323353,55.84582468151782,60.999374021098994
+11139,56.224816083085926,59.28528732621156,56.74646877987663,60.67409083472255,56.63391086200755,59.98601542828328
+11140,56.224816083085926,60.67409083472255,56.74646877987663,62.06289434323353,56.57019025895439,61.238391019980654
+11141,56.74646877987663,56.50768030918958,57.26812147666733,57.89648381770057,57.1034571793681,57.04378797652048
+11142,56.74646877987663,57.89648381770057,57.26812147666733,59.28528732621156,56.80103682786376,58.57869278120544
+11143,57.26812147666733,56.50768030918958,57.78977417345803,57.89648381770057,57.41464379393789,56.78820874646777
+11144,56.74646877987663,59.28528732621156,57.00729512827198,59.979689080467054,56.82089199803478,59.61606173171407
+11145,56.74646877987663,59.979689080467054,56.87688195407431,60.3268899575948,56.84330885974049,60.09677162069947
+11146,56.74646877987663,60.3268899575948,56.87688195407431,60.67409083472255,56.817903571541656,60.57291422396641
+11147,56.87688195407431,60.3268899575948,57.00729512827198,60.67409083472255,56.91871538110644,60.567563710687665
+11148,57.00729512827198,59.979689080467054,57.26812147666733,60.67409083472255,57.148838214855566,60.32516351060628
+11149,56.74646877987663,60.67409083472255,57.26812147666733,62.06289434323353,56.80725958254903,61.179494740110954
+11150,57.26812147666733,59.28528732621156,57.78977417345803,60.67409083472255,57.557975827354085,60.09227538686365
+11151,57.26812147666733,60.67409083472255,57.78977417345803,62.06289434323353,57.582551291339996,61.539727970816
+11152,55.70316338629523,62.06289434323353,56.74646877987663,64.8405013602555,56.22688518428787,62.98609196849984
+11153,55.70316338629523,64.8405013602555,56.74646877987663,67.61810837727748,56.23712159676249,64.940091464864
+11154,56.74646877987663,62.06289434323353,57.78977417345803,64.8405013602555,56.890773461869976,62.8290264155357
+11155,56.74646877987663,64.8405013602555,57.78977417345803,67.61810837727748,57.14939713825856,65.64002113177541
+11156,57.78977417345803,45.39725224110169,59.876384960620825,50.95246627514564,58.681014739577165,49.80262421181303
+11157,57.78977417345803,50.95246627514564,58.83307956703943,53.73007329216761,58.75275586502128,52.375832122472744
+11158,57.78977417345803,53.73007329216761,58.311426870248724,55.11887680067859,58.05327334106365,54.85493459969079
+11159,57.78977417345803,55.11887680067859,58.050600521853376,55.81327855493409,57.92381232385935,55.602959027043546
+11160,57.78977417345803,55.81327855493409,57.9201873476557,56.160479432061834,57.88086886924013,55.97742518456515
+11161,57.78977417345803,56.160479432061834,57.9201873476557,56.50768030918958,57.87179408267083,56.30117328310755
+11162,57.9201873476557,55.81327855493409,58.050600521853376,56.160479432061834,57.99289367364504,56.05176170439412
+11163,57.9201873476557,56.160479432061834,58.050600521853376,56.50768030918958,57.99190320056963,56.27990499935612
+11164,58.050600521853376,55.11887680067859,58.311426870248724,55.81327855493409,58.08951248340158,55.700398866454485
+11165,58.050600521853376,55.81327855493409,58.18101369605105,56.160479432061834,58.07607776416419,55.97830146601206
+11166,58.050600521853376,56.160479432061834,58.18101369605105,56.50768030918958,58.105344181544424,56.36172684433088
+11167,58.18101369605105,55.81327855493409,58.311426870248724,56.160479432061834,58.27455806297293,56.142221390976104
+11168,58.18101369605105,56.160479432061834,58.311426870248724,56.50768030918958,58.25012144031833,56.328333671481694
+11169,58.311426870248724,53.73007329216761,58.83307956703943,55.11887680067859,58.49942313640067,54.216524462978924
+11170,58.311426870248724,55.11887680067859,58.83307956703943,56.50768030918958,58.39294031667848,56.32257683550881
+11171,58.83307956703943,50.95246627514564,59.876384960620825,53.73007329216761,58.8911492309236,51.72440787560252
+11172,58.83307956703943,53.73007329216761,59.876384960620825,56.50768030918958,59.17116089783463,55.3714324284231
+11173,59.876384960620825,45.39725224110169,61.96299574778362,50.95246627514564,61.62154300123137,50.67694970503402
+11174,59.876384960620825,50.95246627514564,61.96299574778362,56.50768030918958,61.32038489555721,51.25884853937119
+11175,57.78977417345803,56.50768030918958,58.311426870248724,57.89648381770057,58.09707195417873,56.86387339326133
+11176,57.78977417345803,57.89648381770057,58.311426870248724,59.28528732621156,57.84073583597904,58.53303648251333
+11177,58.311426870248724,56.50768030918958,58.83307956703943,57.89648381770057,58.49442601585275,57.59079650972855
+11178,58.311426870248724,57.89648381770057,58.83307956703943,59.28528732621156,58.37629999091072,57.973680783124486
+11179,57.78977417345803,59.28528732621156,58.83307956703943,62.06289434323353,57.99813873715013,59.98195781315815
+11180,58.83307956703943,56.50768030918958,59.876384960620825,59.28528732621156,59.05399193055788,57.463142222508814
+11181,58.83307956703943,59.28528732621156,59.876384960620825,62.06289434323353,59.70828820777282,60.09963618218743
+11182,57.78977417345803,62.06289434323353,59.876384960620825,67.61810837727748,58.05199825283819,63.603556439146814
+11183,59.876384960620825,56.50768030918958,61.96299574778362,62.06289434323353,60.00513193657124,60.10316791423654
+11184,53.61655259913243,67.61810837727748,57.78977417345803,78.72853644536536,54.74971605624176,70.16198760295744
+11185,53.61655259913243,78.72853644536536,57.78977417345803,89.83896451345326,55.51330463662822,83.86367191273757
+11186,57.78977417345803,67.61810837727748,59.876384960620825,73.17332241132142,58.6905819611692,68.79561628325621
+11187,59.876384960620825,67.61810837727748,61.96299574778362,73.17332241132142,60.51162693238259,72.2656560059308
+11188,59.876384960620825,73.17332241132142,61.96299574778362,78.72853644536536,61.03160990726896,76.2700529888557
+11189,61.96299574778362,0.9555399687501165,64.04960653494642,6.510754002794063,62.36765024823604,6.178718832457387
+11190,61.96299574778362,6.510754002794063,63.00630114136502,9.288361019816037,62.593220203928226,7.818666104942939
+11191,61.96299574778362,9.288361019816037,62.48464844457432,10.677164528327022,62.26799358035322,9.583695132924639
+11192,61.96299574778362,10.677164528327022,62.48464844457432,12.06596803683801,62.1833309242643,11.849829233264405
+11193,62.48464844457432,9.288361019816037,63.00630114136502,10.677164528327022,62.782677494776514,10.01072135108925
+11194,62.48464844457432,10.677164528327022,63.00630114136502,12.06596803683801,62.69258501708479,11.610747166534418
+11195,63.00630114136502,6.510754002794063,64.04960653494642,9.288361019816037,63.13139055707916,8.19719142354594
+11196,63.00630114136502,9.288361019816037,63.26712748976037,9.98276277407153,63.17771406275065,9.713343394013286
+11197,63.00630114136502,9.98276277407153,63.26712748976037,10.677164528327022,63.11053131989111,10.288538901057274
+11198,63.26712748976037,9.288361019816037,63.527953838155724,9.98276277407153,63.292073763750345,9.828224698283533
+11199,63.26712748976037,9.98276277407153,63.39754066395805,10.329963651199275,63.32477003163029,10.219568682463699
+11200,63.26712748976037,10.329963651199275,63.39754066395805,10.677164528327022,63.36306603200417,10.435066593833193
+11201,63.39754066395805,9.98276277407153,63.527953838155724,10.329963651199275,63.4330963856669,10.254716591026513
+11202,63.39754066395805,10.329963651199275,63.527953838155724,10.677164528327022,63.42352711606229,10.440464204128514
+11203,63.00630114136502,10.677164528327022,63.527953838155724,12.06596803683801,63.388314839189476,11.044882913669186
+11204,63.527953838155724,9.288361019816037,64.04960653494642,10.677164528327022,63.64739774820022,10.350152253648611
+11205,63.527953838155724,10.677164528327022,64.04960653494642,12.06596803683801,63.684111731501844,11.167961725451914
+11206,64.04960653494642,6.510754002794063,66.13621732210922,12.06596803683801,64.46854479268745,11.205438248941702
+11207,61.96299574778362,12.06596803683801,62.48464844457432,13.454771545348997,62.20884697693221,12.752963636070167
+11208,61.96299574778362,13.454771545348997,62.48464844457432,14.843575053859983,62.24656117328403,14.17667624751564
+11209,62.48464844457432,12.06596803683801,63.00630114136502,13.454771545348997,62.63055586481703,12.602160517627064
+11210,62.48464844457432,13.454771545348997,62.745474792969674,14.14917329960449,62.54783831691373,13.765611859988724
+11211,62.48464844457432,14.14917329960449,62.745474792969674,14.843575053859983,62.62924562950143,14.573063038290021
+11212,62.745474792969674,13.454771545348997,63.00630114136502,14.14917329960449,62.8346624229828,13.769272801426347
+11213,62.745474792969674,14.14917329960449,63.00630114136502,14.843575053859983,62.9058765121458,14.506146444846953
+11214,61.96299574778362,14.843575053859983,62.48464844457432,16.232378562370968,62.1559964472199,15.333184960534863
+11215,61.96299574778362,16.232378562370968,62.22382209617897,16.926780316626463,62.08649727335606,16.675278227734804
+11216,61.96299574778362,16.926780316626463,62.22382209617897,17.621182070881957,62.08609434969149,17.296549888751585
+11217,62.22382209617897,16.232378562370968,62.48464844457432,16.926780316626463,62.36670139403184,16.63793302138794
+11218,62.22382209617897,16.926780316626463,62.48464844457432,17.621182070881957,62.3594832977346,17.320745735675857
+11219,62.48464844457432,14.843575053859983,62.745474792969674,15.537976808115475,62.65977261269042,15.196088223459956
+11220,62.48464844457432,15.537976808115475,62.745474792969674,16.232378562370968,62.67813976226678,15.618041643642337
+11221,62.745474792969674,14.843575053859983,63.00630114136502,15.537976808115475,62.864012307550695,15.185730927963304
+11222,62.745474792969674,15.537976808115475,63.00630114136502,16.232378562370968,62.850061129324175,15.937594624278374
+11223,62.48464844457432,16.232378562370968,63.00630114136502,17.621182070881957,62.74223475202567,16.955071665313785
+11224,63.00630114136502,12.06596803683801,63.527953838155724,13.454771545348997,63.358356461645,12.887429118531319
+11225,63.00630114136502,13.454771545348997,63.26712748976037,14.14917329960449,63.158940346545826,13.971721382041201
+11226,63.00630114136502,14.14917329960449,63.1367143155627,14.496374176732235,63.07085723134002,14.351322197294705
+11227,63.00630114136502,14.496374176732235,63.1367143155627,14.843575053859983,63.077600527339754,14.68430578642451
+11228,63.1367143155627,14.14917329960449,63.26712748976037,14.496374176732235,63.19052236136699,14.361980546830278
+11229,63.1367143155627,14.496374176732235,63.26712748976037,14.843575053859983,63.195293601546076,14.635722249609058
+11230,63.26712748976037,13.454771545348997,63.527953838155724,14.14917329960449,63.35962068823812,13.86755203452266
+11231,63.26712748976037,14.14917329960449,63.527953838155724,14.843575053859983,63.37733787003772,14.427709394369707
+11232,63.527953838155724,12.06596803683801,64.04960653494642,13.454771545348997,63.67151301831105,12.703555023007224
+11233,63.527953838155724,13.454771545348997,63.78878018655107,14.14917329960449,63.66647132915735,13.893050649204786
+11234,63.527953838155724,14.14917329960449,63.78878018655107,14.843575053859983,63.67342320564687,14.555697205091706
+11235,63.78878018655107,13.454771545348997,64.04960653494642,14.14917329960449,63.843572068007745,14.073614612281515
+11236,63.78878018655107,14.14917329960449,64.04960653494642,14.843575053859983,63.92217868735004,14.300845819291386
+11237,63.00630114136502,14.843575053859983,63.26712748976037,15.537976808115475,63.12473012123449,15.182959447161569
+11238,63.00630114136502,15.537976808115475,63.26712748976037,16.232378562370968,63.15214531050599,15.927766650931346
+11239,63.26712748976037,14.843575053859983,63.527953838155724,15.537976808115475,63.399839688593715,15.191636985910934
+11240,63.26712748976037,15.537976808115475,63.527953838155724,16.232378562370968,63.400195890370966,15.827112393926202
+11241,63.00630114136502,16.232378562370968,63.527953838155724,17.621182070881957,63.18952494000713,16.943473314846234
+11242,63.527953838155724,14.843575053859983,63.78878018655107,15.537976808115475,63.652159064461635,15.228107346419462
+11243,63.527953838155724,15.537976808115475,63.78878018655107,16.232378562370968,63.61071879777061,15.847408246127879
+11244,63.78878018655107,14.843575053859983,64.04960653494642,15.537976808115475,63.87831920961288,15.339577889581575
+11245,63.78878018655107,15.537976808115475,64.04960653494642,16.232378562370968,63.95017927596559,15.868897268470757
+11246,63.527953838155724,16.232378562370968,64.04960653494642,17.621182070881957,63.83327020633323,17.04107546262169
+11247,61.96299574778362,17.621182070881957,63.00630114136502,20.39878908790393,62.776389851830324,17.974509801545015
+11248,61.96299574778362,21.093190842159423,62.22382209617897,21.787592596414918,62.175844442459315,21.622739701190067
+11249,62.22382209617897,21.093190842159423,62.35423527037665,21.44039171928717,62.27019729534284,21.380783362161438
+11250,62.22382209617897,21.44039171928717,62.35423527037665,21.787592596414918,62.26276296140034,21.580623167467166
+11251,62.35423527037665,21.093190842159423,62.48464844457432,21.44039171928717,62.44208276292531,21.36832682851174
+11252,62.35423527037665,21.44039171928717,62.48464844457432,21.787592596414918,62.454890022101935,21.616981040383646
+11253,61.96299574778362,21.787592596414918,62.48464844457432,23.176396104925903,62.249837970949386,22.32574211159321
+11254,62.48464844457432,20.39878908790393,63.00630114136502,21.787592596414918,62.74373351484409,21.50886220075027
+11255,62.48464844457432,21.787592596414918,63.00630114136502,23.176396104925903,62.77821181004939,22.55229029803191
+11256,63.00630114136502,17.621182070881957,63.527953838155724,19.009985579392943,63.26795092471736,18.411379952869044
+11257,63.00630114136502,19.009985579392943,63.527953838155724,20.39878908790393,63.44182706833939,19.286657273303952
+11258,63.527953838155724,17.621182070881957,64.04960653494642,19.009985579392943,63.757769213102115,18.310860604924578
+11259,63.527953838155724,19.009985579392943,63.78878018655107,19.704387333648434,63.66454127360335,19.384019721616852
+11260,63.527953838155724,19.704387333648434,63.78878018655107,20.39878908790393,63.70496708527,20.057849948922634
+11261,63.78878018655107,19.009985579392943,64.04960653494642,19.704387333648434,63.89175918201069,19.419286001425238
+11262,63.78878018655107,19.704387333648434,63.91919336074875,20.05158821077618,63.87975957450327,19.884981630855677
+11263,63.78878018655107,20.05158821077618,63.91919336074875,20.39878908790393,63.83589388993774,20.25172600044667
+11264,63.91919336074875,19.704387333648434,64.04960653494642,20.05158821077618,63.97973216900448,19.837313454470475
+11265,63.91919336074875,20.05158821077618,64.04960653494642,20.39878908790393,63.98691961756415,20.15751123954824
+11266,63.00630114136502,21.093190842159423,63.26712748976037,21.787592596414918,63.1211457395626,21.600869228986245
+11267,63.26712748976037,21.093190842159423,63.527953838155724,21.787592596414918,63.305850599174526,21.2416404014616
+11268,63.00630114136502,21.787592596414918,63.527953838155724,23.176396104925903,63.141487735649555,22.52965937498417
+11269,63.527953838155724,20.39878908790393,64.04960653494642,21.787592596414918,63.96199499305984,20.712057498571337
+11270,63.527953838155724,21.787592596414918,64.04960653494642,23.176396104925903,63.731746495569205,22.896015787991182
+11271,64.04960653494642,12.06596803683801,65.09291192852783,14.843575053859983,64.6281757725408,14.01330692529415
+11272,64.04960653494642,14.843575053859983,64.57125923173712,16.232378562370968,64.29130069911074,15.524702449652791
+11273,64.04960653494642,16.232378562370968,64.57125923173712,17.621182070881957,64.23811862503473,16.796733972155014
+11274,64.57125923173712,14.843575053859983,65.09291192852783,16.232378562370968,64.8757735263493,15.658287876042657
+11275,64.57125923173712,16.232378562370968,65.09291192852783,17.621182070881957,64.73622441159081,16.888475291473718
+11276,65.09291192852783,12.06596803683801,66.13621732210922,14.843575053859983,65.62391945735418,14.255478969011746
+11277,65.09291192852783,14.843575053859983,65.61456462531852,16.232378562370968,65.32612021086074,15.668369333260141
+11278,65.09291192852783,16.232378562370968,65.61456462531852,17.621182070881957,65.42062048910833,17.149479271268735
+11279,65.61456462531852,14.843575053859983,66.13621732210922,16.232378562370968,65.8513998847397,15.103004297382697
+11280,65.61456462531852,16.232378562370968,66.13621732210922,17.621182070881957,65.77206899534339,16.99926953870675
+11281,64.04960653494642,17.621182070881957,64.57125923173712,19.009985579392943,64.31876051874528,18.28729300507441
+11282,64.04960653494642,19.009985579392943,64.57125923173712,20.39878908790393,64.27007877208128,19.71716632457046
+11283,64.57125923173712,17.621182070881957,65.09291192852783,19.009985579392943,64.76214627000823,18.41431634104711
+11284,64.57125923173712,19.009985579392943,65.09291192852783,20.39878908790393,64.83689053321443,19.82535899285809
+11285,64.04960653494642,20.39878908790393,64.31043288334178,21.093190842159423,64.18785759850684,20.808236287680067
+11286,64.04960653494642,21.093190842159423,64.31043288334178,21.787592596414918,64.3021340214695,21.1200142960315
+11287,64.31043288334178,20.39878908790393,64.57125923173712,21.093190842159423,64.42921304264542,20.75870659886038
+11288,64.31043288334178,21.093190842159423,64.57125923173712,21.787592596414918,64.41632405570118,21.31504933470915
+11289,64.57125923173712,20.39878908790393,65.09291192852783,21.787592596414918,64.7562301960247,20.8888155536884
+11290,65.09291192852783,17.621182070881957,66.13621732210922,20.39878908790393,65.57315450713585,18.769059504998307
+11291,65.09291192852783,20.39878908790393,65.35373827692317,21.093190842159423,65.29545644419333,20.801265116735067
+11292,65.09291192852783,21.093190842159423,65.35373827692317,21.787592596414918,65.25599782932056,21.35682714138847
+11293,65.35373827692317,20.39878908790393,65.61456462531852,21.093190842159423,65.44980761816643,20.622198805699302
+11294,65.35373827692317,21.093190842159423,65.61456462531852,21.787592596414918,65.45387863391443,21.455878509189976
+11295,65.09291192852783,21.787592596414918,65.61456462531852,23.176396104925903,65.58295750236584,22.071641425307455
+11296,65.61456462531852,20.39878908790393,66.13621732210922,21.787592596414918,65.84736162719565,21.28782747607892
+11297,65.61456462531852,21.787592596414918,65.87539097371388,22.481994350670412,65.71613247709628,22.027300295789008
+11298,65.61456462531852,22.481994350670412,65.87539097371388,23.176396104925903,65.8411711752341,22.964505019367405
+11299,65.87539097371388,21.787592596414918,66.13621732210922,22.481994350670412,65.99163976521962,22.224228244962283
+11300,65.87539097371388,22.481994350670412,66.13621732210922,23.176396104925903,65.9850286139704,22.864952101556337
+11301,66.13621732210922,12.06596803683801,68.22282810927202,17.621182070881957,67.22083646606052,14.44015359133971
+11302,66.13621732210922,17.621182070881957,67.17952271569061,20.39878908790393,66.65660060047242,19.76704563824217
+11303,66.13621732210922,20.39878908790393,66.65787001889991,21.787592596414918,66.33036817837412,21.07905427770165
+11304,66.13621732210922,21.787592596414918,66.65787001889991,23.176396104925903,66.4243173965198,22.775102900055042
+11305,66.65787001889991,20.39878908790393,67.17952271569061,21.787592596414918,66.97673198214738,21.04278970592432
+11306,66.65787001889991,21.787592596414918,67.17952271569061,23.176396104925903,66.96028370920439,22.681885879066158
+11307,67.17952271569061,17.621182070881957,68.22282810927202,20.39878908790393,67.9201756202695,19.9250649016529
+11308,67.17952271569061,20.39878908790393,68.22282810927202,23.176396104925903,67.61660249172986,21.126689903328145
+11309,68.22282810927202,12.06596803683801,69.26613350285342,14.843575053859983,68.30773597823521,14.315310478611304
+11310,68.22282810927202,14.843575053859983,69.26613350285342,17.621182070881957,68.53506017130331,16.311014627488476
+11311,69.26613350285342,14.843575053859983,70.30943889643481,17.621182070881957,69.382015043419,16.555519469706336
+11312,68.22282810927202,17.621182070881957,70.30943889643481,23.176396104925903,69.02700457814346,18.56994848445655
+11313,61.96299574778362,23.176396104925903,62.48464844457432,24.56519961343689,62.21178693725886,23.665577607823394
+11314,61.96299574778362,24.56519961343689,62.48464844457432,25.954003121947878,62.20988569526224,25.351072935645142
+11315,62.48464844457432,23.176396104925903,63.00630114136502,24.56519961343689,62.717765671728245,24.222768322044416
+11316,62.48464844457432,24.56519961343689,63.00630114136502,25.954003121947878,62.662841427917456,25.12348963035649
+11317,61.96299574778362,25.954003121947878,62.48464844457432,27.342806630458863,62.23351218501152,26.455642358335155
+11318,61.96299574778362,27.342806630458863,62.48464844457432,28.73161013896985,62.19851954538357,28.169377741530003
+11319,62.48464844457432,25.954003121947878,63.00630114136502,27.342806630458863,62.760890997437315,26.72684498624219
+11320,62.48464844457432,27.342806630458863,63.00630114136502,28.73161013896985,62.838661909327534,27.823001008622214
+11321,63.00630114136502,23.176396104925903,64.04960653494642,25.954003121947878,63.497345445735576,25.11388561897949
+11322,63.00630114136502,25.954003121947878,64.04960653494642,28.73161013896985,63.43605623990085,27.40067578350226
+11323,61.96299574778362,28.73161013896985,62.48464844457432,30.120413647480838,62.17114948630082,29.596162483804616
+11324,61.96299574778362,30.120413647480838,62.48464844457432,31.509217155991823,62.26304030703427,30.64235314013795
+11325,62.48464844457432,28.73161013896985,63.00630114136502,30.120413647480838,62.631585776718886,29.66368264967636
+11326,62.48464844457432,30.120413647480838,63.00630114136502,31.509217155991823,62.71364440495465,31.005421512646233
+11327,61.96299574778362,31.509217155991823,63.00630114136502,34.2868241730138,62.377924446953394,32.20802660725309
+11328,63.00630114136502,28.73161013896985,63.527953838155724,30.120413647480838,63.232174625311394,29.56931650823172
+11329,63.00630114136502,30.120413647480838,63.527953838155724,31.509217155991823,63.258571655153695,30.466520578981406
+11330,63.527953838155724,28.73161013896985,64.04960653494642,30.120413647480838,63.88802443719245,29.685180258821163
+11331,63.527953838155724,30.120413647480838,64.04960653494642,31.509217155991823,63.73289893436509,30.143404969140633
+11332,64.04960653494642,23.176396104925903,65.09291192852783,25.954003121947878,64.6974066394596,24.963861493468265
+11333,64.04960653494642,25.954003121947878,65.09291192852783,28.73161013896985,64.3787629762319,27.753999381929088
+11334,65.09291192852783,24.56519961343689,65.61456462531852,25.954003121947878,65.28557913393519,25.421323133290453
+11335,65.61456462531852,23.176396104925903,66.13621732210922,24.56519961343689,65.92073830770224,23.896862060347672
+11336,65.61456462531852,24.56519961343689,66.13621732210922,25.954003121947878,65.80403491583664,24.952268889776725
+11337,65.09291192852783,25.954003121947878,66.13621732210922,28.73161013896985,65.81380700579265,26.96831625266961
+11338,64.04960653494642,28.73161013896985,64.31043288334178,29.426011893225343,64.16512866782702,29.34039619770717
+11339,64.04960653494642,29.426011893225343,64.31043288334178,30.120413647480838,64.13504393948074,29.587517207582444
+11340,64.31043288334178,28.73161013896985,64.57125923173712,29.426011893225343,64.43753099414526,29.2158107780193
+11341,64.31043288334178,29.426011893225343,64.57125923173712,30.120413647480838,64.43314841872642,29.71773850148261
+11342,64.57125923173712,28.73161013896985,65.09291192852783,30.120413647480838,64.69337467770144,29.469614045120036
+11343,64.57125923173712,30.120413647480838,65.09291192852783,31.509217155991823,64.8632830532461,30.676879513316127
+11344,64.04960653494642,31.509217155991823,65.09291192852783,34.2868241730138,64.6314917221225,32.98456793079475
+11345,65.09291192852783,28.73161013896985,66.13621732210922,31.509217155991823,65.53059760030351,30.347956826095306
+11346,65.09291192852783,31.509217155991823,66.13621732210922,34.2868241730138,65.163836980302,32.012669285819996
+11347,61.96299574778362,34.2868241730138,66.13621732210922,45.39725224110169,64.10286293270218,40.010967266474864
+11348,66.13621732210922,23.176396104925903,66.65787001889991,24.56519961343689,66.40374384789676,23.58023355480556
+11349,66.13621732210922,24.56519961343689,66.65787001889991,25.954003121947878,66.43259989255174,25.522993736972637
+11350,66.65787001889991,23.176396104925903,67.17952271569061,24.56519961343689,66.92303478168023,23.752691813123526
+11351,66.65787001889991,24.56519961343689,67.17952271569061,25.954003121947878,66.83975449930952,25.37234846754001
+11352,66.13621732210922,25.954003121947878,67.17952271569061,28.73161013896985,66.64486460403731,26.921962122158902
+11353,67.17952271569061,23.176396104925903,67.70117541248132,24.56519961343689,67.56864053652824,24.095875609016023
+11354,67.17952271569061,24.56519961343689,67.70117541248132,25.954003121947878,67.50047927192892,24.986316500963103
+11355,67.70117541248132,23.176396104925903,68.22282810927202,24.56519961343689,67.89561151502147,24.080009286432947
+11356,67.70117541248132,24.56519961343689,68.22282810927202,25.954003121947878,67.8785708178082,24.99404348721744
+11357,67.17952271569061,25.954003121947878,68.22282810927202,28.73161013896985,67.49107060165973,26.551529426240158
+11358,66.13621732210922,28.73161013896985,68.22282810927202,34.2868241730138,67.22927498891356,32.21345504924499
+11359,68.22282810927202,23.176396104925903,70.30943889643481,28.73161013896985,69.5700006569916,25.243508307792723
+11360,68.22282810927202,28.73161013896985,70.30943889643481,34.2868241730138,69.02334390845176,32.83044723252118
+11361,66.13621732210922,34.2868241730138,70.30943889643481,45.39725224110169,69.09750138754401,35.41249897866362
+11362,70.30943889643481,0.9555399687501165,78.655882045086,23.176396104925903,78.25465098822015,15.56498912135673
+11363,70.30943889643481,23.176396104925903,78.655882045086,45.39725224110169,70.58798316339279,24.722913378545933
+11364,61.96299574778362,45.39725224110169,78.655882045086,89.83896451345326,65.21012293402745,60.32119043289609
+11365,45.27010945048125,106.5046066155851,47.35672023764404,112.05982064962905,47.317184667334374,111.30047233672305
+11366,47.35672023764404,100.94939258154116,49.44333102480684,106.5046066155851,48.54950371929886,105.89259475873807
+11367,47.35672023764404,106.5046066155851,47.878372934434736,107.89341012409608,47.82316496355705,106.93316109030796
+11368,47.35672023764404,107.89341012409608,47.878372934434736,109.28221363260707,47.73342509788958,108.82661598060571
+11369,47.878372934434736,106.5046066155851,48.008786108632414,106.85180749271285,47.91535415315759,106.78398559669708
+11370,47.878372934434736,106.85180749271285,48.008786108632414,107.19900836984058,47.918286955002216,106.92312598006006
+11371,48.008786108632414,106.5046066155851,48.13919928283009,106.85180749271285,48.09715380319427,106.65272345687332
+11372,48.008786108632414,106.85180749271285,48.13919928283009,107.19900836984058,48.041360477976035,106.9050872070297
+11373,47.878372934434736,107.19900836984058,48.13919928283009,107.89341012409608,47.94279389621,107.31892571944499
+11374,48.13919928283009,106.5046066155851,48.40002563122544,107.19900836984058,48.19370402014233,106.76901226690939
+11375,47.35672023764404,109.28221363260707,48.40002563122544,112.05982064962905,47.44954471246663,110.02433386471205
+11376,49.44333102480684,100.94939258154116,53.61655259913243,112.05982064962905,52.176184720147475,104.67727266077881
+11377,45.27010945048125,112.05982064962905,49.44333102480684,123.17024871771694,47.576532000001144,112.26561605478527
+11378,45.27010945048125,132.89187327729385,45.79176214727195,134.28067678580484,45.707819506166835,134.06973442942055
+11379,45.79176214727195,133.58627503154935,45.922175321469624,133.9334759086771,45.869099104818275,133.71731963763617
+11380,45.79176214727195,133.9334759086771,45.922175321469624,134.28067678580484,45.798560446150105,134.10144429186892
+11381,45.922175321469624,133.58627503154935,46.0525884956673,133.9334759086771,45.94099422696005,133.76547306130067
+11382,45.922175321469624,133.9334759086771,46.0525884956673,134.28067678580484,45.970889558226446,134.22847910643696
+11383,46.0525884956673,133.58627503154935,46.31341484406265,134.28067678580484,46.06746910982268,133.89506254273812
+11384,47.35672023764404,123.17024871771694,49.44333102480684,128.7254627517609,48.6462887706339,126.13942097901406
+11385,48.40002563122544,128.7254627517609,49.44333102480684,131.50306976878286,49.24204096093412,130.53651598653778
+11386,48.40002563122544,131.50306976878286,49.44333102480684,134.28067678580484,49.03204780675634,131.90995528984686
+11387,49.44333102480684,112.05982064962905,53.61655259913243,123.17024871771694,51.91064574968474,113.62728322245688
+11388,49.44333102480684,123.17024871771694,53.61655259913243,134.28067678580484,49.83978352305297,129.8551062111279
+11389,53.61655259913243,89.83896451345326,61.96299574778362,112.05982064962905,56.052738063651276,95.67456089758828
+11390,53.61655259913243,112.05982064962905,61.96299574778362,134.28067678580484,57.06813751118283,117.8126001109134
+11391,45.27010945048125,134.28067678580484,47.35672023764404,139.83589081984877,45.62949302340049,134.49519034343444
+11392,45.27010945048125,139.83589081984877,47.35672023764404,145.39110485389273,45.401259562738026,141.74990007979335
+11393,47.35672023764404,134.28067678580484,49.44333102480684,139.83589081984877,48.27506669348682,135.0844709556692
+11394,49.44333102480684,134.28067678580484,53.61655259913243,145.39110485389273,50.18742929634777,136.69624750823166
+11395,45.27010945048125,156.50153292198064,53.61655259913243,178.7223890581564,53.44356671674289,158.80286473002002
+11396,53.61655259913243,134.28067678580484,61.96299574778362,156.50153292198064,59.56386135372554,150.8147104739586
+11397,53.61655259913243,156.50153292198064,61.96299574778362,178.7223890581564,53.8776104884923,158.2221962172068
+11398,61.96299574778362,89.83896451345326,78.655882045086,134.28067678580484,62.917089195898726,126.772205124501