diff --git a/badges/interrogate_badge.svg b/badges/interrogate_badge.svg new file mode 100644 index 0000000..0394f30 --- /dev/null +++ b/badges/interrogate_badge.svg @@ -0,0 +1,58 @@ + + interrogate: 16.2% + + + + + + + + + + + interrogate + interrogate + 16.2% + 16.2% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/build/build_container.sh b/build/build_container.sh deleted file mode 100755 index 966d0e2..0000000 --- a/build/build_container.sh +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/bash - -# Default variables - -ARCH_TYPE="gpu" -FORMAT="docker" -OUTPUT_FILE="Dockerfile" -IS_DEVEL="False" -RAPIDS_VERSION="23.08" -CUDA_VERSION="12.0" -UBUNTU_VERSION="20.04" -PYTHON_VERSION="3.10" -DOCKERFILE_DIR=docker/ -RECIPE_ONLY=0 - -# For local hpccm installs -OLD_PATH=$PATH -export PATH=$PATH:$HOME/.local/bin/ - -function print_help() { - echo "Usage: ./build_docker.sh [ARCH_TYPE]" - echo "" - echo "Standard options:" - echo " -h or -help Display this help and exit" - echo " --device ARCH_TYPE: Build a container based on arch type." - echo " Use 'gpu' for GPU container-based architecture." - echo " Use 'cpu' for CPU container-based architecture (default='$ARCH_TYPE')." - echo " --rapids-version RAPIDS_VERSION Defines which version of RAPIDS AI will be used (default='$RAPIDS_VERSION')." - echo " --cuda-version CUDA_VERSION Defines which version of CUDA will be used (default='$CUDA_VERSION')." - echo " --os-version OS_VERSION Defines which version of the container will be used (default='$UBUNTU_VERSION')." - echo " --python-version PYTHON_VERSION Defines which version of the python interpreter will be used (default='$PYTHON_VERSION')." - echo " --format FORMAT Select the container backend for this build." - echo " Use 'docker' for Docker images." - echo " Use 'singularity' for SIF images (default='$FORMAT')." - echo " --recipe-only Print the recipe of the target only. It does not generate an image." - echo " --devel Defines extra packages for development purpose." - echo "" -} - -POSITIONAL_ARGS=() - -while [[ $# -gt 0 ]]; do - case $1 in - -h|--help) - print_help - exit 0 - ;; - --device) - ARCH_TYPE="$2" - shift - shift - ;; - --rapids-version) - RAPIDS_VERSION="$2" - shift - shift - ;; - --cuda-version) - CUDA_VERSION="$2" - shift - shift - ;; - --os-version) - UBUNTU_VERSION="$2" - shift - shift - ;; - --python-version) - PYTHON_VERSION="$2" - shift - shift - ;; - --format) - FORMAT="$2" - shift - shift - ;; - --recipe-only) - RECIPE_ONLY=1 - shift - ;; - --devel) - IS_DEVEL="True" - shift - ;; - -*|--*) - echo "Unknown option $1" - exit 1 - ;; - *) - POSITIONAL_ARGS+=("$1") # save positional arg - shift # past argument - ;; - esac -done - -if [[ "${#POSITIONAL_ARGS[@]}" -gt 1 ]]; then - echo "Invalid number of positional arguments" - exit 1 -elif [[ "${#POSITIONAL_ARGS[@]}" -eq 1 ]]; then - ARCH_TYPE="${POSITIONAL_ARGS[0]}" -fi - -if [[ "$ARCH_TYPE" != "cpu" && "$ARCH_TYPE" != "gpu" ]]; then - echo "Invalid '--device' type. Check -h|--help for further details." - exit 1 -fi - -if [[ "$FORMAT" != "docker" && "$FORMAT" != "singularity" ]]; then - echo "Invalid container backend for '--format'. Check -h|--help for further details." - exit 1 -fi - -function GET_CONTAINER_CMD() { - OLDIFS="$IFS" - IFS=":" - - for P in $PATH; do - if test -f "$P/podman"; then - CONTAINER_CMD=podman - break - else - CONTAINER_CMD=docker - fi - done - - IFS=$OLDIFS - - echo $CONTAINER_CMD -} - -[[ -z "${CONTAINER_CMD}" ]] && CONTAINER_CMD=$(GET_CONTAINER_CMD) - -function FIND_CMD() { - if ! command -v $1 &> /dev/null - then - echo $2 - exit -1 - fi -} - -FIND_CMD hpccm "Binary 'hpccm' could not be found: install HPC container maker first. - Check https://github.com/NVIDIA/hpc-container-maker for more details" - -mkdir -p $DOCKERFILE_DIR - -hpccm --recipe hpccm/build_docker.py \ - --userarg device-target=$ARCH_TYPE \ - devel=$IS_DEVEL \ - rapids-version=$RAPIDS_VERSION \ - cuda-version=$CUDA_VERSION \ - ubuntu-version=$UBUNTU_VERSION \ - python-version=$PYTHON_VERSION \ - --format $FORMAT > $DOCKERFILE_DIR/$OUTPUT_FILE - -if [ $RECIPE_ONLY -eq 1 ]; then - cat $DOCKERFILE_DIR/$OUTPUT_FILE -else - if [[ "$FORMAT" == "docker" ]]; then - FIND_CMD $CONTAINER_CMD "Docker binaries are not found." - $CONTAINER_CMD build $DOCKERFILE_DIR -t dasf:$ARCH_TYPE - else - FIND_CMD singularity "Singularity binaries are not found." - singularity build dasf_$ARCH_TYPE.sif $DOCKERFILE_DIR/$OUTPUT_FILE - fi -fi - -rm -rf $DOCKERFILE_DIR - -export PATH=$OLD_PATH diff --git a/build/hpccm/build_docker.py b/build/hpccm/build_docker.py deleted file mode 100644 index 7628a2f..0000000 --- a/build/hpccm/build_docker.py +++ /dev/null @@ -1,101 +0,0 @@ -""" -HPC Container Maker for DASF core -""" - - -def str2bool(string): - return string.lower() in ['true', '1', 't', 'y', 'yes'] - - -device_target = USERARG.get('device-target', 'gpu') -is_devel = str2bool(USERARG.get('devel', 'False')) - -if is_devel: - # Devel packages always use the latest CUDA version - cuda_version = "11.5" -else: - cuda_version = USERARG.get('cuda-version', '11.2') - -rapidsai_version = USERARG.get('rapids-version', '23.08') -ubuntu_version = USERARG.get('ubuntu-version', '20.04') -python_version = USERARG.get('python-version', '3.10') - -if python_version: - python_version = f"-py{python_version}" - -gpu_image_devel = f"rapidsai/base:{rapidsai_version}-cuda{cuda_version}{python_version}" - -# GPU image needs to be fixed due to dependency matrix -gpu_image = "nvcr.io/nvidia/pytorch:23.06-py3" - -cpu_image = f"ubuntu:{ubuntu_version}" - -if device_target.lower() == "cpu": - Stage0 += baseimage(image=cpu_image) -elif device_target.lower() == "gpu": - # XXX: There is no way to use old GPUs with 11.5 CUDA. - # if is_devel: - # Stage0 += baseimage(image=gpu_image_devel) - # else: - Stage0 += baseimage(image=gpu_image) -else: - raise RuntimeError(f"Device target {device_target} is not known.") - -ubuntu_unified_version = "".join(ubuntu_version.split(".")) - -apt_keys = [ - f"https://developer.download.nvidia.com/compute/cuda/repos/ubuntu{ubuntu_unified_version}/x86_64/3bf863cc.pub", - f"https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu{ubuntu_unified_version}/x86_64/7fa2af80.pub" -] - -packages_list = ["git", "graphviz", "gcc", "python3-dev", "g++", "openssh-client", "wget"] - -if is_devel: - # Install NVIDIA NSight packages - package_list += ["nsight-compute"] - -pip_package_install = "pip3 install --extra-index-url https://test.pypi.org/simple/ XPySom-dask git+https://github.com/discovery-unicamp/dasf-core.git" - -if device_target.lower() == "cpu": - packages_list.extend(["python3-pip"]) - - Stage0 += apt_get(ospackages=packages_list) - - pip_package_install = ("%s jupyterlab" % pip_package_install) - -elif device_target.lower() == "gpu": - if is_devel: - Stage0 += shell(commands=["conda install -n base -c rapidsai git graphviz gcc cxx-compiler openssh wget kvikio -y"]) - else: - Stage0 += apt_get(keys=apt_keys, ospackages=packages_list) - Stage0 += apt_get(ospackages=packages_list) - - pip_package_install = ("%s cupy_xarray" % pip_package_install) - - if is_devel: - pip_package_install = ("%s %s" % (pip_package_install, "git+https://github.com/cupy/cupy.git")) - else: - pip_package_install = ("%s %s" % (pip_package_install, "cupy==13.0.0b1")) - Stage0 += shell(commands=["rm -r /usr/local/lib/python3.10/dist-packages/cupy_cuda12x-12.0.0b3.dist-info"]) # not the best solution but it works - - -Stage0 += shell(commands=["pip3 install pip --upgrade"]) - -Stage0 += shell(commands=[pip_package_install]) - -# TODO: fix numpy issue with version 1.24 and other fixed reqs -Stage0 += shell(commands=["pip install \"numpy<1.24\" bokeh==2.4.3 \"protobuf<=3.20.1\" \"charset-normalizer<3.0\" \"tornado<6.2\""]) - -if is_devel: - Stage0 += shell(commands=["wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && bash Miniconda3-latest-Linux-x86_64.sh -b && cp /root/miniconda3/bin/conda /usr/bin/conda"]) - - Stage0 += shell(commands=["conda create -n kvikio -c rapidsai"]) - - Stage0 += shell(commands=["conda install -n kvikio -c rapidsai kvikio -y"]) - -Stage0 += workdir(directory='/dasf') - -if is_devel: - Stage0 += label(metadata={'dasf-devel': 'latest'}) -else: - Stage0 += label(metadata={'dasf': 'latest'}) diff --git a/build/start_jupyter_server.sh b/build/start_jupyter_server.sh deleted file mode 100755 index 1f8710c..0000000 --- a/build/start_jupyter_server.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/bin/bash - -PORT=8891 -TYPE="gpu" -FORMAT="docker" - -function print_help() { - echo "Usage: ./build_docker.sh [ARCH_TYPE]" - echo "" - echo "Standard options:" - echo " -h or -help Display this help and exit" - echo " --device ARCH_TYPE: Build a container based on arch type." - echo " Use 'gpu' for GPU container-based architecture." - echo " Use 'cpu' for CPU container-based architecture (default='$TYPE')." - echo " --port PORT Use the prefered port to start the server (default='$PORT')." - echo " --format FORMAT Select the container backend for this service." - echo " Use 'docker' for Docker images." - echo " Use 'singularity' for SIF images (default='$FORMAT')." - echo "" -} - -while [[ $# -gt 0 ]]; do - case $1 in - -h|--help) - print_help - exit 0 - ;; - --device) - TYPE="$2" - shift - shift - ;; - --format) - FORMAT="$2" - shift - shift - ;; - --port|-p) - PORT="$2" - shift - shift - ;; - *) - break; - esac -done - -function GET_CONTAINER_CMD() { - OLDIFS="$IFS" - IFS=":" - - for P in $PATH; do - if test -f "$P/podman"; then - CONTAINER_CMD=podman - break - else - CONTAINER_CMD=docker - fi - done - - IFS=$OLDIFS - - echo $CONTAINER_CMD -} - -[[ -z "${CONTAINER_CMD}" ]] && CONTAINER_CMD=$(GET_CONTAINER_CMD) - -EXTRA_ARGS=$@ - -if [[ "$FORMAT" == "docker" ]]; then - if [[ "$TYPE" == "gpu" ]]; then - EXTRA_ARGS="$EXTRA_ARGS --gpus all" - fi - - $CONTAINER_CMD run -it --rm -p $PORT:$PORT -e SHELL="/bin/bash" --network=host $EXTRA_ARGS dasf:$TYPE python3 -m jupyterlab --allow-root --ServerApp.port $PORT --no-browser --ServerApp.ip='0.0.0.0' -elif [[ "$FORMAT" == "singularity" ]]; then - if [[ "$TYPE" == "gpu" ]]; then - EXTRA_ARGS="$EXTRA_ARGS --nv" - fi - - singularity exec $EXTRA_ARGS dasf_$TYPE.sif python3 -m jupyterlab --allow-root --ServerApp.port $PORT --no-browser --ServerApp.ip=0.0.0.0 -fi diff --git a/build/vars.sh b/build/vars.sh deleted file mode 100644 index 96307e2..0000000 --- a/build/vars.sh +++ /dev/null @@ -1,8 +0,0 @@ -FORMAT="docker" -OUTPUT_FILE="Dockerfile" -IS_DEVEL="False" -RAPIDS_VERSION="22.08" -CUDA_VERSION="11.2" -UBUNTU_VERSION="20.04" -DOCKERFILE_DIR=docker/ -PORT=8891 diff --git a/dasf/__init__.py b/dasf/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dasf/datasets/__init__.py b/dasf/datasets/__init__.py deleted file mode 100644 index d795e60..0000000 --- a/dasf/datasets/__init__.py +++ /dev/null @@ -1,20 +0,0 @@ -from dasf.datasets.base import * # noqa -from dasf.datasets.datasets import * # noqa - -files = [ - # Base Dataset imports - "DatasetType", - "Dataset", - "DatasetArray", - "DatasetZarr", - "DatasetHDF5", - "DatasetXarray", - "DatasetLabeled", - "DatasetDataFrame", - "DatasetParquet", - # Others - "make_blobs", - "make_classification", -] - -__all__ = files diff --git a/dasf/datasets/base.py b/dasf/datasets/base.py deleted file mode 100644 index 897dc97..0000000 --- a/dasf/datasets/base.py +++ /dev/null @@ -1,1475 +0,0 @@ -#!/usr/bin/env python3 - -import json -import os -from numbers import Number - -import dask -import dask.array as da -import dask.dataframe as ddf -import h5py -import numpy as np -import numpy.lib.format -import pandas as pd -import xarray as xr -import zarr - -try: - import cudf - import cupy as cp - - # This is just to enable Xarray Cupy capabilities - import cupy_xarray as cx # noqa - import dask_cudf as dcudf -except ImportError: # pragma: no cover - pass - -try: - import numcodecs - from kvikio.nvcomp_codec import NvCompBatchCodec - from kvikio.zarr import GDSStore -except ImportError: # pragma: no cover - pass - -from pathlib import Path - -from dasf.transforms.base import TargeteredTransform -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import ( - human_readable_size, - is_gds_supported, - is_kvikio_compat_mode, - is_kvikio_supported, - is_nvcomp_codec_supported, -) -from dasf.utils.types import is_array, is_dask_array - - -class Dataset(TargeteredTransform): - """Class representing a generic dataset based on a TargeteredTransform - object. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - *args : type - Additional arguments without keys. - **kwargs : type - Additional keyworkded arguments. - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - *args, - **kwargs): - super().__init__(*args, **kwargs) - - # Dataset internals - self._name = name - self._download = download - self._root = root - self._metadata = {} - self._data = None - self._chunks = None - - self.__set_dataset_cache_dir() - - self.download() - - def __set_dataset_cache_dir(self): - """Generate cached directory in $HOME to store dataset(s). - - """ - self._cache_dir = os.path.abspath(str(Path.home()) + "/.cache/dasf/datasets/") - os.makedirs(self._cache_dir, exist_ok=True) - - if self._root is None: - self._root = self._cache_dir - - def download(self): - """Skeleton of the download method. - - """ - if self._download: - raise NotImplementedError("Function download() needs to be defined") - - def __len__(self) -> int: - """Return internal data length. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return len(self._data) - - def __getitem__(self, idx): - """Generic __getitem__() function based on internal data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.__getitem__(idx) - - -class DatasetArray(Dataset): - """Class representing an dataset wich is defined as an array of a defined - shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - raise Exception("Array requires a root=filename.") - - self._root = os.path.dirname(root) - - def __operator_check__(self, other): - assert self._data is not None, "Data is not loaded yet." - if isinstance(other, DatasetArray): - return other._data - return other - - def __repr__(self): - """Return a class representation based on internal array. - - """ - return repr(self._data) - - def __array__(self, dtype=None): - assert self._data is not None, "Data is not loaded yet." - return self._data - - def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): - assert self._data is not None, "Data is not loaded yet." - if method == '__call__': - scalars = [] - - for inp in inputs: - if isinstance(inp, Number): - scalars.append(inp) - elif isinstance(inp, self.__class__): - scalars.append(inp._data) - else: - return NotImplemented - - self.__class__(name=self._name, chunks=self._chunks) - self._data = ufunc(*scalars, **kwargs) - return self - return NotImplemented - - def __check_op_input(self, in_data): - """Return the proper type of data for operation - - >>> Result = DatasetArray + Numpy; or - >>> Result = DatasetArray + DatasetArray - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - """ - if is_array(in_data) or is_dask_array(in_data): - return in_data - if isinstance(in_data, self.__class__): - return in_data._data - raise TypeError("Data is incompatible with Array") - - def __add__(self, other): - """Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data + data - - def __sub__(self, other): - """Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data - data - - def __mul__(self, other): - """Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data * data - - def __div__(self, other): - """Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data / data - - def __copy_attrs_from_data(self): - """Extends metadata to new transformed object (after operations). - - """ - self._metadata["type"] = type(self._data) - - attrs = dir(self._data) - for attr in attrs: - if not attr.startswith("__") and callable(getattr(self._data, attr)): - if not hasattr(self, attr): - self.__dict__[attr] = getattr(self._data, attr) - - def __npy_header(self): - """Read an array header from a filelike object. - - """ - with open(self._root_file, 'rb') as fobj: - version = numpy.lib.format.read_magic(fobj) - func_name = "read_array_header_" + "_".join(str(v) for v in version) - func = getattr(numpy.lib.format, func_name) - return func(fobj) - - def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - npy_shape = self.shape - - local_data = dask.delayed(xp.load)(self._root_file, **kwargs) - - local_data = da.from_delayed(local_data, shape=npy_shape, dtype=xp.float32, meta=xp.array(())) - if isinstance(self._chunks, tuple): - local_data = local_data.rechunk(self._chunks) - - return local_data - - def _load(self, xp, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - - return xp.load(self._root_file, **kwargs) - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, ("There is no temporary file to " - "inspect") - assert os.path.isfile(self._root_file), ("The root variable should " - "be a NPY file") - - return self.inspect_metadata() - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - self.__copy_attrs_from_data() - return self - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - self.__copy_attrs_from_data() - return self - - def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = self._load(cp) - self.__copy_attrs_from_data() - return self - - def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load(np) - self.__copy_attrs_from_data() - return self - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - return self.__npy_header()[0] - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - array_file_size = human_readable_size( - os.path.getsize(self._root_file), - decimal=2 - ) - - npy_shape = self.shape - - return { - "size": array_file_size, - "file": self._root_file, - "shape": npy_shape, - "block": {"chunks": self._chunks}, - } - - -class DatasetZarr(Dataset): - """Class representing an dataset wich is defined as a Zarr array of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - backend: str = None, - chunks=None): - - Dataset.__init__(self, name, download, root) - - self._backend = backend - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - self._root = root - else: - self._root = os.path.dirname(root) - - def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - if (self._backend == "kvikio" and is_kvikio_supported() and - (is_gds_supported() or is_kvikio_compat_mode()) - and is_nvcomp_codec_supported()): - store = GDSStore(self._root_file) - meta = json.loads(store[".zarray"]) - meta["compressor"] = NvCompBatchCodec("lz4").get_config() - store[".zarray"] = json.dumps(meta).encode() - - array = zarr.open_array(store, meta_array=xp.empty(())) - return da.from_zarr(array, chunks=array.chunks).map_blocks(xp.asarray) - - return da.from_zarr(self._root_file, chunks=self._chunks).map_blocks(xp.asarray) - - def _load(self, xp, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - return zarr.open(self._root_file, mode='r', meta_array=xp.empty(())) - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - self.__copy_attrs_from_data() - return self - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - self.__copy_attrs_from_data() - return self - - def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load(np) - self.__copy_attrs_from_data() - return self - - def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = self._load(cp) - self.__copy_attrs_from_data() - return self - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - - return self.inspect_metadata() - - def __read_zarray(self, key): - """Returns the value of ZArray JSON metadata. - - """ - if self._root_file and os.path.isdir(self._root_file): - zarray = os.path.abspath(self._root_file + "/.zarray") - if os.path.exists(zarray): - try: - with open(zarray) as fz: - meta = json.load(fz) - return meta[key] - except Exception: - pass - return None - - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - if not self._data: - shape = self.__read_zarray("shape") - if shape is not None: - return tuple(shape) - return tuple() - - return self._data.shape - - @property - def chunksize(self): - """Returns the chunksize of an array. - - Returns - ------- - tuple - A tuple with the chunksize. - - """ - if not self._data: - chunks = self.__read_zarray("chunks") - if chunks is not None: - return tuple(chunks) - return tuple() - - return self._data.chunksize - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - z = zarr.open(self._root_file, mode='r') - - info = {} - for k, v in z.info_items(): - info[k] = v - - if isinstance(self._chunks, bool) and self._chunks: - self._chunks = info["Chunk shape"] - - if self._chunks is None: - self._chunks = self.chunksize - - return { - "size": human_readable_size( - int(info["No. bytes"].split(' ')[0]) - ), - "compressor": info["Compressor"], - "type": info["Store type"], - "file": self._root_file, - "shape": info["Shape"], - "block": {"chunks": self._chunks}, - } - - def __repr__(self): - """Return a class representation based on internal array. - - """ - return repr(self._data) - - def __check_op_input(self, in_data): - """Return the proper type of data for operation - - >>> Result = DatasetZarr + Numpy; or - >>> Result = DatasetZarr + DatasetZarr - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - """ - if is_array(in_data) or is_dask_array(in_data): - return in_data - elif isinstance(in_data, self.__class__): - return in_data._data - raise TypeError("Data is incompatible with Array") - - def __add__(self, other): - """Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data + data - - def __sub__(self, other): - """Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data - data - - def __mul__(self, other): - """Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data * data - - def __div__(self, other): - """Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data / data - - def __copy_attrs_from_data(self): - """Extends metadata to new transformed object (after operations). - - """ - self._metadata["type"] = type(self._data) - - attrs = dir(self._data) - for attr in attrs: - if not attr.startswith("__") and callable(getattr(self._data, attr)): - if not hasattr(self, attr): - self.__dict__[attr] = getattr(self._data, attr) - - -class DatasetHDF5(Dataset): - """Class representing an dataset wich is defined as a HDF5 dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - dataset_path : str - Relative path of the internal HDF5 dataset (the default is None). - - """ - def __init__(self, - name: str, - download: str = False, - root: str = None, - chunks="auto", - dataset_path: str = None): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - self._dataset_path = dataset_path - - if root is not None: - if not os.path.isfile(root): - raise Exception("HDF5 requires a root=filename.") - - self._root = os.path.dirname(root) - - if dataset_path is None: - raise Exception("HDF5 requires a path.") - - def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - f = h5py.File(self._root_file) - data = f[self._dataset_path] - return da.from_array(data, chunks=self._chunks, meta=xp.array(())) - - def _load(self, xp=None, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) (placeholder). - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - f = h5py.File(self._root_file) - return f[self._dataset_path] - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - return self - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - return self - - def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load() - return self - - def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = cp.asarray(self._load()) - return self - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - assert self._dataset_path is not None, "There is no path to fetch data" - - return self.inspect_metadata() - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - f = h5py.File(self._root_file) - data = f[self._dataset_path] - - array_file_size = human_readable_size( - data.size, decimal=2 - ) - - return { - "size": array_file_size, - "file": self._root_file, - "shape": data.shape, - "block": {"chunks": self._chunks}, - } - - -class DatasetXarray(Dataset): - """Class representing an dataset wich is defined as a Xarray dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - data_var : Any - Key (or index) of the internal Xarray dataset (the default is None). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks=None, - data_var=None): - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - self._data_var = data_var - - if chunks and not isinstance(chunks, dict): - raise Exception("Chunks should be a dict.") - - if root is not None: - if not os.path.isfile(root): - raise Exception("HDF5 requires a root=filename.") - - self._root = os.path.dirname(root) - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - assert self._chunks is not None, "Lazy operations require chunks" - - if self._data_var: - self._data = xr.open_dataset(self._root_file, - chunks=self._chunks) - else: - self._data = xr.open_dataarray(self._root_file, - chunks=self._chunks) - self._metadata = self._load_meta() - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - assert self._chunks is not None, "Lazy operations require chunks" - - if self._data_var: - self._data = xr.open_dataset(self._root_file, - chunks=self._chunks).as_cupy() - else: - self._data = xr.open_dataarray(self._root_file, - chunks=self._chunks).as_cupy() - self._metadata = self._load_meta() - - def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - if self._data_var: - self._data = xr.open_dataset(self._root_file) - else: - self._data = xr.open_dataarray(self._root_file) - self._data.load() - self._metadata = self._load_meta() - - def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - if self._data_var: - self._data = xr.open_dataset(self._root_file).as_cupy() - else: - self._data = xr.open_dataarray(self._root_file).as_cupy() - self._data.load() - self._metadata = self._load_meta() - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - - return self.inspect_metadata() - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - array_file_size = human_readable_size( - os.path.getsize(self._root_file), decimal=2 - ) - - return { - "size": array_file_size, - "file": self._root_file, - "coords": tuple(self._data.coords), - "attrs": self._data.attrs, - "block": {"chunks": self._chunks}, - } - - def __len__(self) -> int: - """Return internal data length. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - if self._data_var: - return len(self._data[self._data_var]) - - return len(self._data) - - def __getitem__(self, idx): - """A __getitem__() function based on internal Xarray data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - # Always slice a DataArray - if self._data_var: - return self._data[self._data_var].data[idx] - - return self._data.data[idx] - - -class DatasetLabeled(Dataset): - """A class representing a labeled dataset. Each item is a 2-element tuple, - where the first element is a array of data and the second element is the - respective label. The items can be accessed from `dataset[x]`. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - Attributes - ---------- - __chunks : type - Description of attribute `__chunks`. - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - def download(self): - """Download the dataset. - - """ - if hasattr(self, "_train") and hasattr(self._train, "download"): - self._train.download() - - if hasattr(self, "_val") and hasattr(self._val, "download"): - self._val.download() - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data - (train and labels). - - Returns - ------- - dict - A dictionary with metadata information. - - """ - metadata_train = self._train.inspect_metadata() - metadata_val = self._val.inspect_metadata() - - assert ( - metadata_train["shape"] == metadata_val["shape"] - ), "Train and Labels should have same shape: " + str( - metadata_train["shape"] - ) + " != " + str( - metadata_val["shape"] - ) - - return {"train": metadata_train, "labels": metadata_val} - - def _lazy_load(self, xp, **kwargs) -> tuple: - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Tuple - A Future object that will return a tuple: (data, label). - - """ - local_data = self._train._lazy_load(xp) - local_labels = self._val._lazy_load(xp) - - return (local_data, local_labels) - - def _load(self, xp, **kwargs) -> tuple: - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - Returns - ------- - Tuple - A 2-element tuple: (data, label) - - """ - local_data = self._train._load(xp) - local_labels = self._val._load(xp) - - return (local_data, local_labels) - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._train._root_file is not None, ( - "There is no temporary file to inspect" - ) - assert self._val._root_file is not None, ( - "There is no temporary file to inspect" - ) - assert os.path.isfile(self._train._root_file), ( - "The root variable should be a file" - ) - assert os.path.isfile(self._val._root_file), ( - "The root variable should be a file" - ) - - return self.inspect_metadata() - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._lazy_load(cp) - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._lazy_load(np) - - def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._load(cp) - - def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._load(np) - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - def __getitem__(self, idx): - """A __getitem__() function for data and labeled data together. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return (self._data.__getitem__(idx), self._labels.__getitem__(idx)) - - -class DatasetDataFrame(Dataset): - """Class representing an dataset wich is defined as a dataframe. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = True, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - raise Exception("DataFrame requires a root=filename.") - - self._root = os.path.dirname(root) - - def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, ( - "There is no temporary file to inspect" - ) - - return self.inspect_metadata() - - def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - df_file_size = human_readable_size( - os.stat(self._root_file).st_size, decimal=2 - ) - - return { - "size": df_file_size, - "file": self._root_file, - "type": type(self._data), - "shape": self.shape, - "columns": list(self._data.columns), - "block": {"chunks": self._chunks}, - } - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._data = dcudf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._data = ddf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self - - def _load_gpu(self): - """Load data with GPU container (e.g. CuDF). - - """ - self._data = cudf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self - - def _load_cpu(self): - """Load data with CPU container (e.g. pandas). - - """ - self._data = pd.read_csv(self._root_file) - self._metadata = self._load_meta() - return self - - @task_handler - def load(self): - """Placeholder for load function. - - """ - ... - - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.shape - - def __len__(self) -> int: - """Return internal data length. - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return len(self._data) - - def __getitem__(self, idx): - """A __getitem__() function based on internal dataframe. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.iloc[idx] - - -class DatasetParquet(DatasetDataFrame): - """Class representing an dataset wich is defined as a Parquet. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = True, - root: str = None, - chunks="auto"): - - DatasetDataFrame.__init__(self, name, download, root, chunks) - - def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._data = dcudf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self - - def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._data = ddf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self - - def _load_gpu(self): - """Load data with GPU container (e.g. CuDF). - - """ - self._data = cudf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self - - def _load_cpu(self): - """Load data with CPU container (e.g. pandas). - - """ - self._data = pd.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self diff --git a/dasf/datasets/datasets.py b/dasf/datasets/datasets.py deleted file mode 100644 index ccb1396..0000000 --- a/dasf/datasets/datasets.py +++ /dev/null @@ -1,129 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.datasets import make_blobs as make_blobs_MCPU -from sklearn.datasets import make_blobs as make_blobs_CPU - -try: - import cupy as cp - from cuml.dask.datasets import make_blobs as make_blobs_MGPU - from cuml.datasets import make_blobs as make_blobs_GPU -except ImportError: # pragma: no cover - pass - -from dask_ml.datasets import make_classification as make_classification_MCPU -from sklearn.datasets import make_classification as make_classification_CPU - -try: - from cuml.dask.datasets import make_classification as make_classification_MGPU - from cuml.datasets import make_classification as make_classification_GPU -except ImportError: # pragma: no cover - pass - -from dask_ml.datasets import make_regression as make_regression_MCPU -from sklearn.datasets import make_regression as make_regression_CPU - -try: - from cuml.dask.datasets import make_regression as make_regression_MGPU - from cuml.datasets import make_regression as make_regression_GPU -except ImportError: # pragma: no cover - pass - -from dasf.utils.funcs import is_dask_gpu_supported, is_dask_supported, is_gpu_supported -from dasf.utils.types import is_cpu_array - - -class make_blobs: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - - def _lazy_make_blobs_cpu(self, **kwargs): - return make_blobs_MCPU(**kwargs) - - def _lazy_make_blobs_gpu(self, **kwargs): - return make_blobs_MGPU(**kwargs) - - def _make_blobs_cpu(self, **kwargs): - return make_blobs_CPU(**kwargs) - - def _make_blobs_gpu(self, **kwargs): - return make_blobs_GPU(**kwargs) - - def __call__(self, **kwargs): - if is_dask_gpu_supported(): - if "centers" in kwargs and is_cpu_array(kwargs["centers"]): - kwargs["centers"] = cp.asarray(kwargs["centers"]) - return self._lazy_make_blobs_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_blobs_cpu(**kwargs) - elif is_gpu_supported(): - if "centers" in kwargs and is_cpu_array(kwargs["centers"]): - kwargs["centers"] = cp.asarray(kwargs["centers"]) - return self._make_blobs_gpu(**kwargs) - else: - return self._make_blobs_cpu(**kwargs) - - -class make_classification: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - - def _lazy_make_classification_cpu(self, **kwargs): - return make_classification_MCPU(**kwargs) - - def _lazy_make_classification_gpu(self, **kwargs): - return make_classification_MGPU(**kwargs) - - def _make_classification_cpu(self, **kwargs): - return make_classification_CPU(**kwargs) - - def _make_classification_gpu(self, **kwargs): - return make_classification_GPU(**kwargs) - - def __call__(self, **kwargs): - if is_dask_gpu_supported(): - return self._lazy_make_classification_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_classification_cpu(**kwargs) - elif is_gpu_supported(): - return self._make_classification_gpu(**kwargs) - else: - return self._make_classification_cpu(**kwargs) - - -class make_regression: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - - def _lazy_make_regression_cpu(self, **kwargs): - return make_regression_MCPU(**kwargs) - - def _lazy_make_regression_gpu(self, **kwargs): - return make_regression_MGPU(**kwargs) - - def _make_regression_cpu(self, **kwargs): - return make_regression_CPU(**kwargs) - - def _make_regression_gpu(self, **kwargs): - return make_regression_GPU(**kwargs) - - def __call__(self, **kwargs): - if is_dask_gpu_supported(): - return self._lazy_make_regression_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_regression_cpu(**kwargs) - elif is_gpu_supported(): - return self._make_regression_gpu(**kwargs) - else: - return self._make_regression_cpu(**kwargs) diff --git a/dasf/datasets/download.py b/dasf/datasets/download.py deleted file mode 100644 index e862c21..0000000 --- a/dasf/datasets/download.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.datasets.base import Dataset -from dasf.utils.funcs import download_file, download_file_from_gdrive - - -class DownloadWget(Dataset): - """Dataset downloadable via wget. - - Parameters - ---------- - url : str - The url to fetch the resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - """ - def __init__(self, - url: str, - filename: str, - root: str, - download: bool = True): - self.__url = url - self.__filename = filename - - # Set download as false because this class overrides download() - Dataset.__init__(self, name="Download Wget", download=download, root=root) - - def download(self): - """Download the dataset. - - """ - if not self._download or self.__url is None: - return - - if hasattr(self, "download") and self._download is True: - self._root_file = download_file( - self.__url, self.__filename, self._root - ) - - if hasattr(self, "_download_check") and callable(self._download_check): - self._download_check() - - -class DownloadGDrive(Dataset): - """Dataset downloadable via Google Drive. - - Parameters - ---------- - google_file_id : str - Id of the google drive resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - """ - def __init__(self, - google_file_id: str, - filename: str, - root: str, - download: bool = True): - self.__google_file_id = google_file_id - self.__filename = filename - - # Set download as false because this class overrides download() - Dataset.__init__( - self, name="Download Google Drive", download=download, root=root - ) - - def download(self): - """Download the dataset. - - """ - if not self._download or self.__google_file_id is None: - return - - if hasattr(self, "download") and self._download is True: - self._root_file = download_file_from_gdrive( - self.__google_file_id, self.__filename, self._root - ) - - if hasattr(self, "_download_check") and callable(self._download_check): - self._download_check() diff --git a/dasf/debug/__init__.py b/dasf/debug/__init__.py deleted file mode 100644 index 3268c0c..0000000 --- a/dasf/debug/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.debug.debug import Debug, VisualizeDaskData - -__all__ = ["Debug", "VisualizeDaskData"] diff --git a/dasf/debug/debug.py b/dasf/debug/debug.py deleted file mode 100644 index 21de139..0000000 --- a/dasf/debug/debug.py +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env python3 - -from IPython.core.display import HTML as iHTML -from IPython.core.display import display as idisplay - -from dasf.utils.funcs import is_notebook -from dasf.utils.types import is_dask_array, is_dask_dataframe - - -class Debug: - """Print information about an operator (shape, datatype, etc.), and return - the self object reference. - - Parameters - ---------- - name : str - Name of the operator. - **kwargs : type - Additional keyworkded arguments to `Operator`. - - """ - def display(self, X): - print(is_notebook()) - if (is_dask_array(X) or is_dask_dataframe(X)) and is_notebook(): - idisplay(iHTML(X._repr_html_())) - else: - if hasattr(X, "shape"): - print("Datashape is:", X.shape) - - print("Datatype is:", type(X)) - print("Data content is:", X) - - return X - - -class VisualizeDaskData: - """Visualize DASK data from an operator. - - Parameters - ---------- - filename : str - A path to save the DASK visualization (the default is None). - **kwargs : type - Additional keyworkded arguments to `Operator`. - - """ - def __init__(self, filename: str = None): - self.filename = filename - - def display(self, X): - if not is_dask_array(X) and not is_dask_dataframe(X): - self.logger.warning("This is not a Dask element.") - return X - - if self.filename is not None: - X.visualize(self.filename) - else: - X.visualize() - - return X diff --git a/dasf/feature_extraction/__init__.py b/dasf/feature_extraction/__init__.py deleted file mode 100644 index 2870417..0000000 --- a/dasf/feature_extraction/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.feature_extraction.histogram import Histogram # noqa - -# from dasf.feature_extraction.transform import ConcatenateToDataframe # noqa -from dasf.feature_extraction.transform import ConcatenateToArray # noqa -from dasf.feature_extraction.transform import GetSubDataframe # noqa -from dasf.feature_extraction.transform import GetSubeCubeArray # noqa -from dasf.feature_extraction.transform import SampleDataframe # noqa - -__all__ = [ - "ConcatenateToArray", - # "ConcatenateToDataframe", - "SampleDataframe", - "GetSubeCubeArray", - "GetSubDataframe", - "Histogram", -] diff --git a/dasf/feature_extraction/histogram.py b/dasf/feature_extraction/histogram.py deleted file mode 100644 index 0deff06..0000000 --- a/dasf/feature_extraction/histogram.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python3 - -import dask.array as da -import numpy as np - -try: - import cupy as cp -except ImportError: # pragma: no cover - pass - -from dasf.transforms.base import TargeteredTransform, Transform - - -class Histogram(TargeteredTransform, Transform): - """Operator to extract the histogram of a data. - - Parameters - ---------- - bins : Optional[int] - Number of bins (the default is None). - range : tuple - 2-element tuple with the lower and upper range of the bins. If not - provided, range is simply (X.min(), X.max()) (the default is None). - normed : bool - If the historgram must be normalized (the default is False). - weights : type - An array of weights, of the same shape as X. Each value in a only - contributes its associated weight towards the bin count - (the default is None). - density : type - If False, the result will contain the number of samples in each bin. - If True, the result is the value of the probability density function - at the bin, normalized such that the integral over the range is 1 - (the default is None). - - Attributes - ---------- - bins - range - normed - weights - density - - """ - def __init__(self, - bins: int = None, - range: tuple = None, - normed: bool = False, - weights=None, - density=None, - *args, - **kwargs): - TargeteredTransform.__init__(self, *args, **kwargs) - - self._bins = bins - self._range = range - self._normed = normed - self._weights = weights - self._density = density - - def __lazy_transform_generic(self, X): - return da.histogram( - X, - bins=self._bins, - range=self._range, - normed=self._normed, - weights=self._weights, - density=self._density, - ) - - def __transform_generic(self, X, xp): - return xp.histogram( - X, - bins=self._bins, - range=self._range, - normed=self._normed, - weights=self._weights, - density=self._density, - ) - - def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X) - - def _lazy_transform_gpu(self, X, **kwargs): - return self.__lazy_transform_generic(X) - - def _transform_cpu(self, X, **kwargs): - return self.__transform_generic(X, np) - - def _transform_gpu(self, X, **kwargs): - return self.__transform_generic(X, cp) diff --git a/dasf/feature_extraction/transform.py b/dasf/feature_extraction/transform.py deleted file mode 100644 index 97629fe..0000000 --- a/dasf/feature_extraction/transform.py +++ /dev/null @@ -1,139 +0,0 @@ -#!/usr/bin/env python3 - -import numpy as np - -try: - import cupy as cp -except ImportError: # pragma: no cover - pass - -from dasf.transforms.base import Transform -from dasf.utils.types import is_dataframe - - -class ConcatenateToArray(Transform): - """Concatenate data from different Arrays into a single array. - - Parameters - ---------- - flatten : bool - If the arrays must be flatten prior concatenating. If `False`, the - arrays must share the shape of last dimansions in order to be - concatenated (the default is False). - - """ - def __init__(self, flatten: bool = False): - self.flatten = flatten - - def __transform_generic(self, xp, **kwargs): - datas = None - for key in kwargs: - if datas is None: - if self.flatten: - flat = kwargs[key].flatten() - datas = xp.asarray([flat]) - else: - data = xp.asarray(kwargs[key]) - datas = xp.expand_dim(data, axis=len(data.shape)) - else: - if self.flatten: - flat = kwargs[key].flatten() - datas = xp.append(datas, xp.asarray([flat]), - axis=0) - else: - data = xp.asarray(kwargs[key]) - datas = xp.append(datas, data, axis=len(data.shape)) - - if self.flatten: - data = xp.transpose(datas) - else: - data = datas - - return data -# return data.rechunk({1: data.shape[1]}) - - def _transform_cpu(self, **kwargs): - return self.__transform_generic(np, **kwargs) - - def _transform_gpu(self, **kwargs): - return self.__transform_generic(cp, **kwargs) - - -class SampleDataframe: - """Return a subset with random samples of the original dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataset. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - - def run(self, X): - """Returns a subset with random samples from the dataset `X`. - - Parameters - ---------- - X : Any - The dataset. - - Returns - ------- - Any - The sampled subset. - - """ - return X.sample(n=int(len(X) * self.__percent)) - - -class GetSubeCubeArray: - """Get a subcube with x% of samples from the original one. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the cube. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - - assert ( - self.__percent > 0 and self.__percent <= 1.0 - ), "Percent must be in [0,1] range." - - def transform(self, X): - i_num, x_num, t_num = X.shape - - i_start_idx = int((i_num - (i_num * self.__percent)) / 2) - i_end_idx = int(i_start_idx + (self.__percent * i_num)) - - x_start_idx = int((x_num - (x_num * self.__percent)) / 2) - x_end_idx = int(x_start_idx + (self.__percent * x_num)) - - t_start_idx = int((t_num - (t_num * self.__percent)) / 2) - t_end_idx = int(t_start_idx + (self.__percent * t_num)) - - return X[i_start_idx:i_end_idx, - x_start_idx:x_end_idx, - t_start_idx:t_end_idx] - - -class GetSubDataframe: - """Get the first x% samples from the dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataframe. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - - def transform(self, X): - new_size = int(len(X) * self.__percent) - - return X.iloc[0:new_size] diff --git a/dasf/ml/__init__.py b/dasf/ml/__init__.py deleted file mode 100644 index e5a0d9b..0000000 --- a/dasf/ml/__init__.py +++ /dev/null @@ -1 +0,0 @@ -#!/usr/bin/env python3 diff --git a/dasf/ml/cluster/__init__.py b/dasf/ml/cluster/__init__.py deleted file mode 100644 index 45b478d..0000000 --- a/dasf/ml/cluster/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.cluster.agglomerative import AgglomerativeClustering # noqa -from dasf.ml.cluster.dbscan import DBSCAN # noqa -from dasf.ml.cluster.kmeans import KMeans # noqa -from dasf.ml.cluster.som import SOM # noqa -from dasf.ml.cluster.spectral import SpectralClustering # noqa - -cluster_methods = [ - "AgglomerativeClustering", - "KMeans", - "DBSCAN", - "SOM", - "SpectralClustering" -] - -# XXX: Import due to CVE-2022-21797 -import joblib # noqa -from packaging import version # noqa - -if version.parse(joblib.__version__) < version.parse("1.2.0"): - # Do not include HDBSCAN while it is not safe - from dasf.ml.cluster.hdbscan import HDBSCAN # noqa - - cluster_methods.append("HDBSCAN") -# End of workaround - -__all__ = cluster_methods diff --git a/dasf/ml/cluster/agglomerative.py b/dasf/ml/cluster/agglomerative.py deleted file mode 100644 index f8774e8..0000000 --- a/dasf/ml/cluster/agglomerative.py +++ /dev/null @@ -1,185 +0,0 @@ -#!/usr/bin/env python3 - -from sklearn.cluster import ( # noqa - AgglomerativeClustering as AgglomerativeClustering_CPU, -) - -from dasf.ml.cluster.classifier import ClusterClassifier -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml import AgglomerativeClustering as AgglomerativeClustering_GPU -except ImportError: - pass - - -class AgglomerativeClustering(ClusterClassifier): - """ - - Agglomerative Clustering - - Recursively merges the pair of clusters that minimally increases - a given linkage distance. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int or None, default=2 - The number of clusters to find. It must be ``None`` if - ``distance_threshold`` is not ``None``. - - affinity : str or callable, default='euclidean' - Metric used to compute the linkage. Can be "euclidean", "l1", "l2", - "manhattan", "cosine", or "precomputed". - If linkage is "ward", only "euclidean" is accepted. - If "precomputed", a distance matrix (instead of a similarity matrix) - is needed as input for the fit method. - - memory : str or object with the joblib.Memory interface, default=None - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - connectivity : array-like or callable, default=None - Connectivity matrix. Defines for each sample the neighboring - samples following a given structure of the data. - This can be a connectivity matrix itself or a callable that transforms - the data into a connectivity matrix, such as derived from - kneighbors_graph. Default is ``None``, i.e, the - hierarchical clustering algorithm is unstructured. - - compute_full_tree : 'auto' or bool, default='auto' - Stop early the construction of the tree at ``n_clusters``. This is - useful to decrease computation time if the number of clusters is not - small compared to the number of samples. This option is useful only - when specifying a connectivity matrix. Note also that when varying the - number of clusters and using caching, it may be advantageous to compute - the full tree. It must be ``True`` if ``distance_threshold`` is not - ``None``. By default `compute_full_tree` is "auto", which is equivalent - to `True` when `distance_threshold` is not `None` or that `n_clusters` - is inferior to the maximum between 100 or `0.02 * n_samples`. - Otherwise, "auto" is equivalent to `False`. - - linkage : {'ward', 'complete', 'average', 'single'}, default='ward' - Which linkage criterion to use. The linkage criterion determines which - distance to use between sets of observation. The algorithm will merge - the pairs of cluster that minimize this criterion. - - - 'ward' minimizes the variance of the clusters being merged. - - 'average' uses the average of the distances of each observation of - the two sets. - - 'complete' or 'maximum' linkage uses the maximum distances between - all observations of the two sets. - - 'single' uses the minimum of the distances between all observations - of the two sets. - - .. versionadded:: 0.20 - Added the 'single' option - - distance_threshold : float, default=None - The linkage distance threshold above which, clusters will not be - merged. If not ``None``, ``n_clusters`` must be ``None`` and - ``compute_full_tree`` must be ``True``. - - .. versionadded:: 0.21 - - compute_distances : bool, default=False - Computes distances between clusters even if `distance_threshold` is not - used. This can be used to make dendrogram visualization, but introduces - a computational and memory overhead. - - .. versionadded:: 0.24 - - n_neighbors : int, default = 15 - The number of neighbors to compute when connectivity = "knn" - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import AgglomerativeClustering - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [4, 2], [4, 4], [4, 0]]) - >>> clustering = AgglomerativeClustering().fit(X) - >>> clustering - AgglomerativeClustering() - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html - - https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering - - """ - def __init__( - self, - n_clusters=2, - affinity="euclidean", - connectivity=None, - linkage="single", - memory=None, - compute_full_tree="auto", - distance_threshold=None, - compute_distances=False, - handle=None, - verbose=False, - n_neighbors=10, - output_type=None, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.affinity = affinity - self.connectivity = connectivity - self.linkage = linkage - self.memory = memory - self.compute_full_tree = compute_full_tree - self.distance_threshold = distance_threshold - self.compute_distances = compute_distances - self.handle = handle - self.verbose = verbose - self.n_neighbors = n_neighbors - self.output_type = output_type - - self.__agg_cluster_cpu = AgglomerativeClustering_CPU( - n_clusters=n_clusters, - affinity=affinity, - memory=memory, - connectivity=connectivity, - compute_full_tree=compute_full_tree, - linkage=linkage, - distance_threshold=distance_threshold, - compute_distances=compute_distances, - ) - - if is_gpu_supported(): - if connectivity is None: - connectivity = "knn" - - self.__agg_cluster_gpu = AgglomerativeClustering_GPU( - n_clusters=n_clusters, - affinity=affinity, - linkage=linkage, - handle=handle, - verbose=verbose, - connectivity=connectivity, - n_neighbors=n_neighbors, - output_type=output_type, - ) - - def _fit_cpu(self, X, y=None, convert_dtype=True): - return self.__agg_cluster_cpu.fit(X, y) - - def _fit_gpu(self, X, y=None, convert_dtype=True): - return self.__agg_cluster_gpu.fit(X, y, convert_dtype=convert_dtype) - - def _fit_predict_cpu(self, X, y=None): - return self.__agg_cluster_cpu.fit_predict(X, y) - - def _fit_predict_gpu(self, X, y=None): - return self.__agg_cluster_gpu.fit_predict(X, y) diff --git a/dasf/ml/cluster/classifier.py b/dasf/ml/cluster/classifier.py deleted file mode 100644 index 64541c9..0000000 --- a/dasf/ml/cluster/classifier.py +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.transforms.base import ( - Fit, - FitPredict, - FitTransform, - GetParams, - Predict, - SetParams, - TargeteredTransform, - Transform, -) - - -class ClusterClassifier( - Fit, FitPredict, FitTransform, Predict, - GetParams, SetParams, TargeteredTransform -): - def __init__(self, **kwargs): - TargeteredTransform.__init__(self, **kwargs) diff --git a/dasf/ml/cluster/dbscan.py b/dasf/ml/cluster/dbscan.py deleted file mode 100644 index b8c4b90..0000000 --- a/dasf/ml/cluster/dbscan.py +++ /dev/null @@ -1,188 +0,0 @@ -#!/usr/bin/env python3 - -from sklearn.cluster import DBSCAN as DBSCAN_CPU - -from dasf.ml.cluster.classifier import ClusterClassifier -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml.cluster import DBSCAN as DBSCAN_GPU - from cuml.dask.cluster import DBSCAN as DBSCAN_MGPU -except ImportError: - pass - - -class DBSCAN(ClusterClassifier): - """ - Perform DBSCAN clustering from vector array or distance matrix. - - DBSCAN - Density-Based Spatial Clustering of Applications with Noise. - Finds core samples of high density and expands clusters from them. - Good for data which contains clusters of similar density. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - eps : float, default=0.5 - The maximum distance between two samples for one to be considered - as in the neighborhood of the other. This is not a maximum bound - on the distances of points within a cluster. This is the most - important DBSCAN parameter to choose appropriately for your data set - and distance function. - - min_samples : int, default=5 - The number of samples (or total weight) in a neighborhood for a point - to be considered as a core point. This includes the point itself. - - metric : string, or callable, default='euclidean' - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by :func:`sklearn.metrics.pairwise_distances` for - its metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. X may be a :term:`Glossary `, in which - case only "nonzero" elements may be considered neighbors for DBSCAN. - - .. versionadded:: 0.17 - metric *precomputed* to accept precomputed sparse matrix. - - metric_params : dict, default=None - Additional keyword arguments for the metric function. - - .. versionadded:: 0.19 - - algorithm : {'auto', 'ball_tree', 'kd_tree', 'brute'}, default='auto' - The algorithm to be used by the NearestNeighbors module - to compute pointwise distances and find nearest neighbors. - See NearestNeighbors module documentation for details. - - leaf_size : int, default=30 - Leaf size passed to BallTree or cKDTree. This can affect the speed - of the construction and query, as well as the memory required - to store the tree. The optimal value depends - on the nature of the problem. - - p : float, default=None - The power of the Minkowski metric to be used to calculate distance - between points. If None, then ``p=2`` (equivalent to the Euclidean - distance). - - n_jobs : int, default=None - The number of parallel jobs to run. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - calc_core_sample_indices(optional) : boolean, default = True - Indicates whether the indices of the core samples should be calculated. - The the attribute `core_sample_indices_` will not be used, setting this - to False will avoid unnecessary kernel launches. - - - Examples - -------- - >>> from dasf.ml.cluster import DBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = DBSCAN(eps=3, min_samples=2).fit(X) - >>> clustering - DBSCAN(eps=3, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - See Also - -------- - OPTICS : A similar clustering at multiple values of eps. Our implementation - is optimized for memory usage. - - References - ---------- - Ester, M., H. P. Kriegel, J. Sander, and X. Xu, "A Density-Based - Algorithm for Discovering Clusters in Large Spatial Databases with Noise". - In: Proceedings of the 2nd International Conference on Knowledge Discovery - and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996 - - Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). - DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. - ACM Transactions on Database Systems (TODS), 42(3), 19. - - """ - def __init__( - self, - eps=0.5, - leaf_size=40, - metric="euclidean", - min_samples=5, - p=None, - output_type=None, - calc_core_sample_indices=True, - verbose=False, - **kwargs - ): - super().__init__(**kwargs) - - self.eps = eps - self.leaf_size = leaf_size - self.metric = metric - self.min_samples = min_samples - self.p = p - self.output_type = output_type - self.calc_core_sample_indices = calc_core_sample_indices - self.verbose = verbose - - self.__dbscan_cpu = DBSCAN_CPU( - eps=self.eps, - leaf_size=self.leaf_size, - metric=self.metric, - min_samples=self.min_samples, - p=self.p, - ) - - if is_gpu_supported(): - self.__dbscan_gpu = DBSCAN_GPU( - min_samples=self.min_samples, - output_type=output_type, - calc_core_sample_indices=calc_core_sample_indices, - ) - - try: - self.__dbscan_mgpu = DBSCAN_MGPU( - min_samples=self.min_samples, - output_type=output_type, - calc_core_sample_indices=calc_core_sample_indices, - ) - except ValueError: - self.__dbscan_mgpu = None - - def _lazy_fit_gpu(self, X, y=None, out_dtype="int32"): - if self.__dbscan_mgpu is None: - raise NotImplementedError - return self.__dbscan_mgpu.fit(X=X, out_dtype=out_dtype) - - def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__dbscan_cpu.fit(X=X, y=y, sample_weight=sample_weight) - - def _fit_gpu(self, X, y=None, out_dtype="int32"): - return self.__dbscan_gpu.fit(X=X, out_dtype=out_dtype) - - def _lazy_fit_predict_gpu(self, X, y=None, out_dtype="int32"): - if self.__dbscan_mgpu is None: - raise NotImplementedError - return self.__dbscan_mgpu.fit_predict(X=X, out_dtype=out_dtype) - - def _fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__dbscan_cpu.fit_predict(X=X, y=y, sample_weight=sample_weight) - - def _fit_predict_gpu(self, X, y=None, out_dtype="int32"): - return self.__dbscan_gpu.fit_predict(X=X, out_dtype=out_dtype) diff --git a/dasf/ml/cluster/hdbscan.py b/dasf/ml/cluster/hdbscan.py deleted file mode 100644 index 325442f..0000000 --- a/dasf/ml/cluster/hdbscan.py +++ /dev/null @@ -1,266 +0,0 @@ -#!/usr/bin/env python3 - -from hdbscan import HDBSCAN as HDBSCAN_CPU - -from dasf.ml.cluster.classifier import ClusterClassifier -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml.cluster import HDBSCAN as HDBSCAN_GPU -except ImportError: - pass - - -class HDBSCAN(ClusterClassifier): - """ - Perform HDBSCAN clustering from vector array or distance matrix. - - HDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications - with Noise. Performs DBSCAN over varying epsilon values and integrates - the result to find a clustering that gives the best stability over epsilon. - This allows HDBSCAN to find clusters of varying densities (unlike DBSCAN), - and be more robust to parameter selection. - - Parameters - ---------- - min_cluster_size : int, optional (default=5) - The minimum size of clusters; single linkage splits that contain - fewer points than this will be considered points "falling out" of a - cluster rather than a cluster splitting into two new clusters. - - min_samples : int, optional (default=None) - The number of samples in a neighbourhood for a point to be - considered a core point. - - metric : string, or callable, optional (default='euclidean') - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by metrics.pairwise.pairwise_distances for its - metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. - - p : int, optional (default=None) - p value to use if using the minkowski metric. - - alpha : float, optional (default=1.0) - A distance scaling parameter as used in robust single linkage. - See [3]_ for more information. - - cluster_selection_epsilon: float, optional (default=0.0) - A distance threshold. Clusters below this value will be merged. - See [5]_ for more information. - - algorithm : string, optional (default='best') - Exactly which algorithm to use; hdbscan has variants specialised - for different characteristics of the data. By default this is set - to ``best`` which chooses the "best" algorithm given the nature of - the data. You can force other options if you believe you know - better. Options are: - * ``best`` - * ``generic`` - * ``prims_kdtree`` - * ``prims_balltree`` - * ``boruvka_kdtree`` - * ``boruvka_balltree`` - - leaf_size: int, optional (default=40) - If using a space tree algorithm (kdtree, or balltree) the number - of points ina leaf node of the tree. This does not alter the - resulting clustering, but may have an effect on the runtime - of the algorithm. - - memory : Instance of joblib.Memory or string (optional) - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - approx_min_span_tree : bool, optional (default=True) - Whether to accept an only approximate minimum spanning tree. - For some algorithms this can provide a significant speedup, but - the resulting clustering may be of marginally lower quality. - If you are willing to sacrifice speed for correctness you may want - to explore this; in general this should be left at the default True. - - gen_min_span_tree: bool, optional (default=False) - Whether to generate the minimum spanning tree with regard - to mutual reachability distance for later analysis. - - core_dist_n_jobs : int, optional (default=4) - Number of parallel jobs to run in core distance computations (if - supported by the specific algorithm). For ``core_dist_n_jobs`` - below -1, (n_cpus + 1 + core_dist_n_jobs) are used. - - cluster_selection_method : string, optional (default='eom') - The method used to select clusters from the condensed tree. The - standard approach for HDBSCAN* is to use an Excess of Mass algorithm - to find the most persistent clusters. Alternatively you can instead - select the clusters at the leaves of the tree -- this provides the - most fine grained and homogeneous clusters. Options are: - * ``eom`` - * ``leaf`` - - allow_single_cluster : bool, optional (default=False) - By default HDBSCAN* will not produce a single cluster, setting this - to True will override this and allow single cluster results in - the case that you feel this is a valid result for your dataset. - - prediction_data : boolean, optional - Whether to generate extra cached data for predicting labels or - membership vectors few new unseen points later. If you wish to - persist the clustering object for later re-use you probably want - to set this to True. - (default False) - - match_reference_implementation : bool, optional (default=False) - There exist some interpretational differences between this - HDBSCAN* implementation and the original authors reference - implementation in Java. This can result in very minor differences - in clustering results. Setting this flag to True will, at a some - performance cost, ensure that the clustering results match the - reference implementation. - - connectivity : {'pairwise', 'knn'}, default='knn' - The type of connectivity matrix to compute. - * 'pairwise' will compute the entire fully-connected graph of - pairwise distances between each set of points. This is the fastest - to compute and can be very fast for smaller datasets but requires - O(n^2) space. - - * 'knn' will sparsify the fully-connected connectivity matrix to - save memory and enable much larger inputs. "n_neighbors” will - control the amount of memory used and the graph will be connected - automatically in the event "n_neighbors” was not large enough to - connect it. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import HDBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = HDBSCAN(min_cluster_size=30, min_samples=2).fit(X) - >>> clustering - HDBSCAN(min_cluster_size=30, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - References - ---------- - - .. [1] Campello, R. J., Moulavi, D., & Sander, J. (2013, April). - Density-based clustering based on hierarchical density estimates. - In Pacific-Asia Conference on Knowledge Discovery and Data Mining - (pp. 160-172). Springer Berlin Heidelberg. - - .. [2] Campello, R. J., Moulavi, D., Zimek, A., & Sander, J. (2015). - Hierarchical density estimates for data clustering, visualization, - and outlier detection. ACM Transactions on Knowledge Discovery - from Data (TKDD), 10(1), 5. - - .. [3] Chaudhuri, K., & Dasgupta, S. (2010). Rates of convergence for the - cluster tree. In Advances in Neural Information Processing Systems - (pp. 343-351). - - .. [4] Moulavi, D., Jaskowiak, P.A., Campello, R.J., Zimek, A. and - Sander, J., 2014. Density-Based Clustering Validation. In SDM - (pp. 839-847). - - .. [5] Malzer, C., & Baum, M. (2019). A Hybrid Approach To Hierarchical - Density-based Cluster Selection. arxiv preprint 1911.02282. - - """ - def __init__( - self, - alpha=1.0, - gen_min_span_tree=False, - leaf_size=40, - metric="euclidean", - min_cluster_size=5, - min_samples=None, - p=None, - algorithm='best', - approx_min_span_tree=True, - core_dist_n_jobs=4, - cluster_selection_method='eom', - allow_single_cluster=False, - prediction_data=False, - match_reference_implementation=False, - connectivity='knn', - output_type=None, - verbose=0, - **kwargs - ): - super().__init__(**kwargs) - - self.alpha = alpha - self.gen_min_span_tree = gen_min_span_tree - self.leaf_size = leaf_size - self.metric = metric - self.min_cluster_size = min_cluster_size - self.min_samples = min_samples - self.p = p - self.algorithm = algorithm - self.approx_min_span_tree = approx_min_span_tree - self.core_dist_n_jobs = core_dist_n_jobs - self.cluster_selection_method = cluster_selection_method - self.allow_single_cluster = allow_single_cluster - self.prediction_data = prediction_data - self.match_reference_implementation = match_reference_implementation - self.connectivity = connectivity - self.output_type = output_type - self.verbose = verbose - - self.__hdbscan_cpu = HDBSCAN_CPU( - alpha=alpha, - gen_min_span_tree=gen_min_span_tree, - leaf_size=leaf_size, - metric=metric, - min_cluster_size=min_cluster_size, - min_samples=min_samples, - p=p, - algorithm=algorithm, - approx_min_span_tree=approx_min_span_tree, - core_dist_n_jobs=core_dist_n_jobs, - cluster_selection_method=cluster_selection_method, - allow_single_cluster=allow_single_cluster, - prediction_data=prediction_data, - match_reference_implementation=match_reference_implementation - ) - - if is_gpu_supported(): - self.__hdbscan_gpu = HDBSCAN_GPU( - alpha=alpha, - gen_min_span_tree=gen_min_span_tree, - metric=metric, - min_cluster_size=min_cluster_size, - min_samples=min_samples, - p=p, - cluster_selection_method=cluster_selection_method, - allow_single_cluster=allow_single_cluster, - verbose=verbose, - connectivity=connectivity, - prediction_data=prediction_data, - output_type=output_type - ) - - def _fit_cpu(self, X, y=None): - return self.__hdbscan_cpu.fit(X=X, y=y) - - def _fit_gpu(self, X, y=None, convert_dtype=True): - return self.__hdbscan_gpu.fit(X=X, y=y, convert_dtype=convert_dtype) - - def _fit_predict_cpu(self, X, y=None): - return self.__hdbscan_cpu.fit_predict(X=X, y=y) - - def _fit_predict_gpu(self, X, y=None): - return self.__hdbscan_gpu.fit_predict(X=X, y=y) diff --git a/dasf/ml/cluster/kmeans.py b/dasf/ml/cluster/kmeans.py deleted file mode 100644 index 35e1bd8..0000000 --- a/dasf/ml/cluster/kmeans.py +++ /dev/null @@ -1,657 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.cluster import KMeans as KMeans_MCPU -from sklearn.cluster import KMeans as KMeans_CPU - -from dasf.ml.cluster.classifier import ClusterClassifier -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml.cluster import KMeans as KMeans_GPU - from cuml.dask.cluster import KMeans as KMeans_MGPU -except ImportError: - pass - - -class KMeans(ClusterClassifier): - """ - K-Means clustering. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - - n_clusters : int, default=8 - The number of clusters to form as well as the number of - centroids to generate. - - init : {'k-means++', 'random'}, callable or array-like of shape (n_clusters, n_features), default='k-means++' - - Method for initialization: - - 'k-means++' : selects initial cluster centers for k-mean - clustering in a smart way to speed up convergence. See section - Notes in k_init for more details. - - 'random': choose `n_clusters` observations (rows) at random from data - for the initial centroids. - - If an array is passed, it should be of shape (n_clusters, n_features) - and gives the initial centers. - - If a callable is passed, it should take arguments X, n_clusters and a - random state and return an initialization. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of - n_init consecutive runs in terms of inertia. - - max_iter : int, default=300 - Maximum number of iterations of the k-means algorithm for a - single run. - - tol : float, default=1e-4 - Relative tolerance with regards to Frobenius norm of the difference - in the cluster centers of two consecutive iterations to declare - convergence. - - precompute_distances : {'auto', True, False}, default='auto' - Precompute distances (faster but takes more memory). - - 'auto' : do not precompute distances if n_samples * n_clusters > 12 - million. This corresponds to about 100MB overhead per job using - double precision. IMPORTANT: This is used only in Dask ML version. - - True : always precompute distances. - - False : never precompute distances. - - verbose : int, default=0 - Verbosity mode. - - random_state : int, RandomState instance or None, default=None - Determines random number generation for centroid initialization. Use - an int to make the randomness deterministic. - See :term:`Glossary `. - - copy_x : bool, default=True - When pre-computing distances it is more numerically accurate to center - the data first. If copy_x is True (default), then the original data is - not modified. If False, the original data is modified, and put back - before the function returns, but small numerical differences may be - introduced by subtracting and then adding the data mean. Note that if - the original data is not C-contiguous, a copy will be made even if - copy_x is False. If the original data is sparse, but not in CSR format, - a copy will be made even if copy_x is False. - - n_jobs : int, default=1 - The number of OpenMP threads to use for the computation. Parallelism is - sample-wise on the main cython loop which assigns each sample to its - closest center. IMPORTANT: This is used only in Dask ML version. - - ``None`` or ``-1`` means using all processors. - - init_max_iter : int, default=None - Number of iterations for init step. - - algorithm : {"auto", "full", "elkan"}, default="full" - K-means algorithm to use. The classical EM-style algorithm is "full". - The "elkan" variation is more efficient on data with well-defined - clusters, by using the triangle inequality. However it's more memory - intensive due to the allocation of an extra array of shape - (n_samples, n_clusters). - - For now "auto" (kept for backward compatibiliy) chooses "elkan" but it - might change in the future for a better heuristic. - - .. versionchanged:: 0.18 - Added Elkan algorithm - - oversampling_factor : int, default=2 - The amount of points to sample in scalable k-means++ initialization - for potential centroids. Increasing this value can lead to better - initial centroids at the cost of memory. The total number of centroids - sampled in scalable k-means++ is oversampling_factor * n_clusters * 8. - - max_samples_per_batch : int, default=32768 - The number of data samples to use for batches of the pairwise distance - computation. This computation is done throughout both fit predict. The - default should suit most cases. The total number of elements in the - batched pairwise distance computation is max_samples_per_batch * - n_clusters. It might become necessary to lower this number when - n_clusters becomes prohibitively large. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - See Also - -------- - MiniBatchKMeans : Alternative online implementation that does incremental - updates of the centers positions using mini-batches. - For large scale learning (say n_samples > 10k) MiniBatchKMeans is - probably much faster than the default batch implementation. - - Notes - ----- - The k-means problem is solved using either Lloyd's or Elkan's algorithm. - - The average complexity is given by O(k n T), where n is the number of - samples and T is the number of iteration. - - The worst case complexity is given by O(n^(k+2/p)) with - n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, - 'How slow is the k-means method?' SoCG2006) - - In practice, the k-means algorithm is very fast (one of the fastest - clustering algorithms available), but it falls in local minima. That's why - it can be useful to restart it several times. - - If the algorithm stops before fully converging (because of ``tol`` or - ``max_iter``), ``labels_`` and ``cluster_centers_`` will not be consistent, - i.e. the ``cluster_centers_`` will not be the means of the points in each - cluster. Also, the estimator will reassign ``labels_`` after the last - iteration to make ``labels_`` consistent with ``predict`` on the training - set. - - Examples - -------- - - >>> from dasf.ml.cluster import KMeans - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [10, 2], [10, 4], [10, 0]]) - >>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X) - >>> kmeans.predict([[0, 0], [12, 3]]) - array([1, 0], dtype=int32) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html - - https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html - - https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering - - https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans - - """ - def __init__( - self, - n_clusters=8, - init=None, - n_init=None, - max_iter=300, - tol=0.0001, - verbose=0, - random_state=None, - copy_x=True, - algorithm='full', - oversampling_factor=2.0, - n_jobs=1, - init_max_iter=None, - max_samples_per_batch=32768, - precompute_distances='auto', - output_type=None, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.random_state = random_state - self.max_iter = max_iter - self.init = init - self.n_init = n_init - self.tol = tol - self.verbose = verbose - self.copy_x = copy_x - self.algorithm = algorithm - self.oversampling_factor = oversampling_factor - self.n_jobs = n_jobs - self.init_max_iter = init_max_iter - self.max_samples_per_batch = max_samples_per_batch - self.precompute_distances = precompute_distances - self.output_type = output_type - - # Estimator for CPU operations - self.__kmeans_cpu = KMeans_CPU( - n_clusters=n_clusters, - random_state=random_state, - max_iter=max_iter, - init=("k-means++" if init is None else init), - n_init=(10 if n_init is None else n_init), - tol=tol, - verbose=verbose, - copy_x=copy_x, - algorithm=algorithm, - ) - - # Estimator for Dask ML operations - self.__kmeans_mcpu = KMeans_MCPU( - n_clusters=n_clusters, - random_state=random_state, - max_iter=max_iter, - init=("k-means||" if init is None else init), - tol=tol, - oversampling_factor=oversampling_factor, - algorithm=algorithm, - n_jobs=n_jobs, - init_max_iter=init_max_iter, - copy_x=copy_x, - precompute_distances=precompute_distances, - ) - - if is_gpu_supported(): - # Estimator for CuML operations - self.__kmeans_gpu = KMeans_GPU( - n_clusters=n_clusters, - random_state=(1 if random_state is None else random_state), - max_iter=max_iter, - tol=tol, - verbose=verbose, - init=("scalable-k-means++" if init is None else init), - oversampling_factor=oversampling_factor, - max_samples_per_batch=max_samples_per_batch, - ) - - # XXX: KMeans in Multi GPU requires a Client instance, - # skip if not present. - try: - self.__kmeans_mgpu = KMeans_MGPU( - n_clusters=n_clusters, - random_state=(1 if random_state is None else random_state), - max_iter=max_iter, - tol=tol, - verbose=verbose, - init=("scalable-k-means++" if init is None else init), - oversampling_factor=oversampling_factor, - max_samples_per_batch=max_samples_per_batch, - ) - except ValueError: - self.__kmeans_mgpu = None - - def _lazy_fit_cpu(self, X, y=None, sample_weight=None): - """ - Compute Dask k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_mcpu.fit(X=X, y=y) - - def _lazy_fit_gpu(self, X, y=None, sample_weight=None): - """ - Compute Dask CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.fit(X=X, sample_weight=sample_weight) - - def _fit_cpu(self, X, y=None, sample_weight=None): - """ - Compute Scikit Learn k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_cpu.fit(X=X, y=y, sample_weight=sample_weight) - - def _fit_gpu(self, X, y=None, sample_weight=None): - """ - Compute CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_gpu.fit(X=X, sample_weight=sample_weight) - - def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Dask ML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - local_kmeans = self.__kmeans_mcpu.fit(X=X, y=y) - return local_kmeans.predict(X=X) - - def _lazy_fit_predict_gpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Dask CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.fit_predict(X, y, sample_weight) - - def _fit_predict_cpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Scikit Learn. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_cpu.fit_predict(X) - - def _fit_predict_gpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_gpu.fit_predict(X=X, sample_weight=sample_weight) - - def _lazy_predict_cpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Dask ML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_mcpu.predict(X) - - def _lazy_predict_gpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Dask - CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.predict(X, sample_weight) - - def _predict_cpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Scikit - Learn. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_cpu.predict(X, sample_weight) - - def _predict_gpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_gpu.predict(X, sample_weight) - - def _lazy_predict2_cpu(self, X, sample_weight=None): - """ - A block predict using Scikit Learn variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - def __predict(block): - return self._predict_cpu.predict(block, sample_weight=sample_weight) - - return X.map_blocks( - __predict, chunks=(X.chunks[0],), drop_axis=[1], dtype=X.dtype - ) - - def _lazy_predict2_gpu(self, X, sample_weight=None): - """ - A block predict using CuML variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - def __predict(block): - return self._predict_gpu.predict(block, sample_weight=sample_weight) - - return X.map_blocks( - __predict, chunks=(X.chunks[0],), drop_axis=[1], dtype=X.dtype - ) - - def _predict2_cpu(self, X, sample_weight=None): - raise NotImplementedError("Method available only for Dask.") - - def _predict2_gpu(self, X, sample_weight=None): - raise NotImplementedError("Method available only for Dask.") - - @task_handler - def predict2(self, sample_weight=None): - ... diff --git a/dasf/ml/cluster/som.py b/dasf/ml/cluster/som.py deleted file mode 100644 index 3b19c0d..0000000 --- a/dasf/ml/cluster/som.py +++ /dev/null @@ -1,274 +0,0 @@ -#!/usr/bin/env python3 - -import numpy as np -from xpysom_dask import XPySom - -from dasf.ml.cluster.classifier import ClusterClassifier -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import is_gpu_supported - -try: - import cupy as cp -except ImportError: - pass - - -class SOM(ClusterClassifier): - """ - Initializes a Self Organizing Maps. - - A rule of thumb to set the size of the grid for a dimensionality - reduction task is that it should contain 5*sqrt(N) neurons - where N is the number of samples in the dataset to analyze. - - E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 - hence a map 8-by-8 should perform well. - - Parameters - ---------- - x : int - x dimension of the SOM. - - y : int - y dimension of the SOM. - - input_len : int - Number of the elements of the vectors in input. - - sigma : float, default=min(x,y)/2 - Spread of the neighborhood function, needs to be adequate - to the dimensions of the map. - - sigmaN : float, default=0.01 - Spread of the neighborhood function at last iteration. - - learning_rate : float, default=0.5 - initial learning rate. - - learning_rateN : float, default=0.01 - final learning rate - - decay_function : string, default='exponential' - Function that reduces learning_rate and sigma at each iteration. - Possible values: 'exponential', 'linear', 'aymptotic' - - neighborhood_function : string, default='gaussian' - Function that weights the neighborhood of a position in the map. - Possible values: 'gaussian', 'mexican_hat', 'bubble', 'triangle' - - topology : string, default='rectangular' - Topology of the map. - Possible values: 'rectangular', 'hexagonal' - - activation_distance : string, default='euclidean' - Distance used to activate the map. - Possible values: 'euclidean', 'cosine', 'manhattan' - - random_seed : int, default=None - Random seed to use. - - n_parallel : uint, default=#max_CUDA_threads or 500*#CPUcores - Number of samples to be processed at a time. Setting a too low - value may drastically lower performance due to under-utilization, - setting a too high value increases memory usage without granting - any significant performance benefit. - - xp : numpy or cupy, default=cupy if can be imported else numpy - Use numpy (CPU) or cupy (GPU) for computations. - - std_coeff: float, default=0.5 - Used to calculate gausssian exponent denominator: - d = 2*std_coeff**2*sigma**2 - - compact_support: bool, default=False - Cut the neighbor function to 0 beyond neighbor radius sigma - - Examples - -------- - >>> from dasf.ml.cluster import SOM - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> som = SOM(x=3, y=2, input_len=2, - ... num_epochs=100).fit(X) - >>> som - SOM(x=3, y=2, input_len=2, num_epochs=100) - - """ - def __init__( - self, - x, - y, - input_len, - num_epochs=100, - sigma=0, - sigmaN=1, - learning_rate=0.5, - learning_rateN=0.01, - decay_function="exponential", - neighborhood_function="gaussian", - std_coeff=0.5, - topology="rectangular", - activation_distance="euclidean", - random_seed=None, - n_parallel=0, - compact_support=False, - **kwargs - ): - super().__init__(**kwargs) - - self.x = x - self.y = y - self.input_len = input_len - self.num_epochs = num_epochs - self.sigma = sigma - self.sigmaN = sigmaN - self.learning_rate = learning_rate - self.learning_rateN = learning_rateN - self.decay_function = decay_function - self.neighborhood_function = neighborhood_function - self.std_coeff = std_coeff - self.topology = topology - self.activation_distance = activation_distance - self.random_seed = random_seed - self.n_parallel = n_parallel - self.compact_support = compact_support - - self.__som_cpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=np, - ) - - self.__som_mcpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=np, - use_dask=True, - ) - - if is_gpu_supported(): - self.__som_gpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=cp, - ) - - self.__som_mgpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=cp, - use_dask=True, - ) - - def _lazy_fit_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mcpu - return self.__som_mcpu.train(X, self.num_epochs) - - def _lazy_fit_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mgpu - return self.__som_mgpu.train(X, self.num_epochs) - - def _fit_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_cpu - return self.__som_cpu.train(X, self.num_epochs) - - def _fit_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_gpu - return self.__som_gpu.train(X, self.num_epochs) - - def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mcpu - return self.__som_mcpu.train(X, self.num_epochs).predict(X) - - def _lazy_fit_predict_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mgpu - return self.__som_mgpu.train(X, self.num_epochs).predict(X) - - def _fit_predict_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_cpu - return self.__som_cpu.train(X, self.num_epochs).predict(X) - - def _fit_predict_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_gpu - return self.__som_gpu.train(X, self.num_epochs).predict(X) - - def _lazy_predict_cpu(self, X, sample_weight=None): - return self.__som_mcpu.predict(X) - - def _lazy_predict_gpu(self, X, sample_weight=None): - return self.__som_mgpu.predict(X) - - def _predict_cpu(self, X, sample_weight=None): - return self.__som_cpu.predict(X) - - def _predict_gpu(self, X, sample_weight=None): - return self.__som_gpu.predict(X) - - def _lazy_quantization_error_cpu(self, X): - return self.__som_mcpu.quantization_error(X) - - def _lazy_quantization_error_gpu(self, X): - return self.__som_mgpu.quantization_error(X) - - def _quantization_error_cpu(self, X): - return self.__som_cpu.quantization_error(X) - - def _quantization_error_gpu(self, X): - return self.__som_gpu.quantization_error(X) - - @task_handler - def quantization_error(self, X): - ... diff --git a/dasf/ml/cluster/spectral.py b/dasf/ml/cluster/spectral.py deleted file mode 100644 index ffac4ad..0000000 --- a/dasf/ml/cluster/spectral.py +++ /dev/null @@ -1,270 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.cluster import SpectralClustering as SpectralClustering_MCPU -from sklearn.cluster import SpectralClustering as SpectralClustering_CPU - -from dasf.ml.cluster.classifier import ClusterClassifier - - -class SpectralClustering(ClusterClassifier): - """ - Apply clustering to a projection of the normalized Laplacian. - - In practice Spectral Clustering is very useful when the structure of - the individual clusters is highly non-convex, or more generally when - a measure of the center and spread of the cluster is not a suitable - description of the complete cluster, such as when clusters are - nested circles on the 2D plane. - - If the affinity matrix is the adjacency matrix of a graph, this method - can be used to find normalized graph cuts. - - When calling ``fit``, an affinity matrix is constructed using either - a kernel function such the Gaussian (aka RBF) kernel with Euclidean - distance ``d(X, X)``:: - - np.exp(-gamma * d(X,X) ** 2) - - or a k-nearest neighbors connectivity matrix. - - Alternatively, a user-provided affinity matrix can be specified by - setting ``affinity='precomputed'``. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int, default=8 - The dimension of the projection subspace. - - eigen_solver : {'arpack', 'lobpcg', 'amg'}, default=None - The eigenvalue decomposition strategy to use. AMG requires pyamg - to be installed. It can be faster on very large, sparse problems, - but may also lead to instabilities. If None, then ``'arpack'`` is - used. - - n_components : int, default=n_clusters - Number of eigenvectors to use for the spectral embedding - - random_state : int, RandomState instance, default=None - A pseudo random number generator used for the initialization of the - lobpcg eigenvectors decomposition when ``eigen_solver='amg'`` and by - the K-Means initialization. Use an int to make the randomness - deterministic. - See :term:`Glossary `. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of n_init - consecutive runs in terms of inertia. Only used if - ``assign_labels='kmeans'``. - - gamma : float, default=1.0 - Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. - Ignored for ``affinity='nearest_neighbors'``. - - affinity : str or callable, default='rbf' - How to construct the affinity matrix. - - 'nearest_neighbors': construct the affinity matrix by computing a - graph of nearest neighbors. - - 'rbf': construct the affinity matrix using a radial basis function - (RBF) kernel. - - 'precomputed': interpret ``X`` as a precomputed affinity matrix, - where larger values indicate greater similarity between instances. - - 'precomputed_nearest_neighbors': interpret ``X`` as a sparse graph - of precomputed distances, and construct a binary affinity matrix - from the ``n_neighbors`` nearest neighbors of each instance. - - one of the kernels supported by - :func:`~sklearn.metrics.pairwise_kernels`. - - Only kernels that produce similarity scores (non-negative values that - increase with similarity) should be used. This property is not checked - by the clustering algorithm. - - n_neighbors : int, default=10 - Number of neighbors to use when constructing the affinity matrix using - the nearest neighbors method. Ignored for ``affinity='rbf'``. - - eigen_tol : float, default=0.0 - Stopping criterion for eigendecomposition of the Laplacian matrix - when ``eigen_solver='arpack'``. - - assign_labels : {'kmeans', 'discretize'}, default='kmeans' - The strategy for assigning labels in the embedding space. There are two - ways to assign labels after the Laplacian embedding. k-means is a - popular choice, but it can be sensitive to initialization. - Discretization is another approach which is less sensitive to random - initialization. - - degree : float, default=3 - Degree of the polynomial kernel. Ignored by other kernels. - - coef0 : float, default=1 - Zero coefficient for polynomial and sigmoid kernels. - Ignored by other kernels. - - kernel_params : dict of str to any, default=None - Parameters (keyword arguments) and values for kernel passed as - callable object. Ignored by other kernels. - - n_jobs : int, default=None - The number of parallel jobs to run when `affinity='nearest_neighbors'` - or `affinity='precomputed_nearest_neighbors'`. The neighbors search - will be done in parallel. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - verbose : bool, default=False - Verbosity mode. - - .. versionadded:: 0.24 - - persist_embedding : bool - Whether to persist the intermediate n_samples x n_components array used - for clustering. - - kmeans_params : dictionary of string to any, optional - Keyword arguments for the KMeans clustering used for the final - clustering. - - Examples - -------- - >>> from dasf.ml.cluster import SpectralClustering - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> clustering = SpectralClustering(n_clusters=2, - ... assign_labels='discretize', - ... random_state=0).fit(X) - >>> clustering - SpectralClustering(assign_labels='discretize', n_clusters=2, - random_state=0) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering - - https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html - - Notes - ----- - A distance matrix for which 0 indicates identical elements and high values - indicate very dissimilar elements can be transformed into an affinity / - similarity matrix that is well-suited for the algorithm by - applying the Gaussian (aka RBF, heat) kernel:: - - np.exp(- dist_matrix ** 2 / (2. * delta ** 2)) - - where ``delta`` is a free parameter representing the width of the Gaussian - kernel. - - An alternative is to take a symmetric version of the k-nearest neighbors - connectivity matrix of the points. - - If the pyamg package is installed, it is used: this greatly - speeds up computation. - - References - ---------- - - - Normalized cuts and image segmentation, 2000 - Jianbo Shi, Jitendra Malik - http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.2324 - - - A Tutorial on Spectral Clustering, 2007 - Ulrike von Luxburg - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.9323 - - - Multiclass spectral clustering, 2003 - Stella X. Yu, Jianbo Shi - https://www1.icsi.berkeley.edu/~stellayu/publication/doc/2003kwayICCV.pdf - - """ - def __init__( - self, - n_clusters=8, - eigen_solver=None, - random_state=None, - n_init=10, - gamma=1.0, - affinity="rbf", - n_neighbors=10, - eigen_tol=0.0, - assign_labels="kmeans", - degree=3, - coef0=1, - kernel_params=None, - n_jobs=None, - n_components=None, - persist_embedding=False, - kmeans_params=None, - verbose=False, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.eigen_solver = eigen_solver - self.random_state = random_state - self.n_init = n_init - self.gamma = gamma - self.affinity = affinity - self.n_neighbors = n_neighbors - self.eigen_tol = eigen_tol - self.assign_labels = assign_labels - self.degree = degree - self.coef0 = coef0 - self.kernel_params = kernel_params - self.n_jobs = n_jobs - self.n_components = n_components - self.persist_embedding = persist_embedding - self.kmeans_params = kmeans_params - self.verbose = verbose - - self.__sc_cpu = SpectralClustering_CPU( - n_clusters=n_clusters, - eigen_solver=eigen_solver, - random_state=random_state, - n_init=n_init, - gamma=gamma, - affinity=affinity, - n_neighbors=n_neighbors, - eigen_tol=eigen_tol, - assign_labels=assign_labels, - degree=degree, - coef0=coef0, - kernel_params=kernel_params, - n_jobs=n_jobs, - n_components=n_components, - verbose=verbose - ) - - # If n_components is set to None, use default - n_components = 100 if n_components is None else n_components - - self.__sc_mcpu = SpectralClustering_MCPU( - n_clusters=n_clusters, - eigen_solver=eigen_solver, - random_state=random_state, - n_init=n_init, - gamma=gamma, - affinity=affinity, - n_neighbors=n_neighbors, - eigen_tol=eigen_tol, - assign_labels=assign_labels, - degree=degree, - coef0=coef0, - kernel_params=kernel_params, - n_jobs=n_jobs, - n_components=n_components, - persist_embedding=persist_embedding, - kmeans_params=kmeans_params, - ) - - def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__sc_cpu.fit(X=X, y=y) - - def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__sc_mcpu.fit_predict(X=X) - - def _fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__sc_cpu.fit_predict(X) diff --git a/dasf/ml/core.py b/dasf/ml/core.py deleted file mode 100644 index 14c4756..0000000 --- a/dasf/ml/core.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python3 - -import os -import pickle -from pathlib import Path - - -class MLGeneric: - def __init__(self, name, checkpoint=False, **kwargs): - # Machine Learning Algorithm - self._cached_dir = os.path.abspath( - os.path.join(str(Path.home()), - "/.cache/dasf/ml/")) - os.makedirs(self._cached_dir, exist_ok=True) - - self._tmp = os.path.abspath(os.path.join(self._cached_dir, - name.lower())) - - self.__checkpoint = checkpoint - - def dump(self, model): - if self.get_checkpoint(): - with open(self._tmp, "wb") as fh: - pickle.dump(model, fh) - - def load(self, model): - if self.get_checkpoint() and os.path.exists(self._tmp): - with open(self._tmp, "rb") as fh: - return pickle.load(fh) - return model diff --git a/dasf/ml/decomposition/__init__.py b/dasf/ml/decomposition/__init__.py deleted file mode 100644 index 503984c..0000000 --- a/dasf/ml/decomposition/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.decomposition.pca import PCA - -__all__ = ["PCA"] diff --git a/dasf/ml/decomposition/pca.py b/dasf/ml/decomposition/pca.py deleted file mode 100644 index 82dc1da..0000000 --- a/dasf/ml/decomposition/pca.py +++ /dev/null @@ -1,143 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.decomposition import PCA as PCA_MCPU -from sklearn.decomposition import PCA as PCA_CPU - -from dasf.transforms.base import Fit, FitTransform, TargeteredTransform -from dasf.utils.funcs import is_dask_supported, is_gpu_supported - -try: - from cuml.dask.decomposition import PCA as PCA_MGPU - from cuml.decomposition import PCA as PCA_GPU -except ImportError: - pass - - -class PCA(Fit, FitTransform, TargeteredTransform): - def __init__( - self, - n_components=None, - copy=True, - whiten=False, - svd_solver="auto", - tol=0.0, - iterated_power="auto", - random_state=None, - *args, - **kwargs, - ): - TargeteredTransform.__init__(self, *args, **kwargs) - - self.__pca_cpu = PCA_CPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - - self.__pca_mcpu = PCA_MCPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - if is_gpu_supported(): - try: - self.__pca_gpu = PCA_GPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - except TypeError: - self.__pca_gpu = None - - # XXX: PCA in Multi GPU requires a Client instance, - # skip if not present. - try: - self.__pca_mgpu = PCA_MGPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - except ValueError: - self.__pca_mgpu = None - - def _lazy_fit_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.fit(X) - - def _lazy_fit_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.fit(X) - - def _fit_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.fit(X) - - def _fit_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.fit(X) - - def _lazy_fit_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.fit_transform(X, y) - - def _lazy_fit_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.fit_transform(X, y) - - def _fit_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.fit_transform(X, y) - - def _fit_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.fit_transform(X, y) - - def _lazy_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.transform(X) - - def _lazy_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.transform(X) - - def _transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.transform(X) - - def _transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.transform(X) - - def _get_covariance_cpu(self): - return self.__pca_cpu.get_covariance() - - def get_covariance(self): - if not is_dask_supported() and not is_gpu_supported(): - return self._get_covariance_cpu() - else: - raise NotImplementedError - - def _get_precision_cpu(self): - return self.__pca_cpu.get_precision() - - def get_precision(self): - if not is_dask_supported() and not is_gpu_supported(): - return self._get_precision_cpu() - else: - raise NotImplementedError diff --git a/dasf/ml/dl/__init__.py b/dasf/ml/dl/__init__.py deleted file mode 100644 index d4c8b02..0000000 --- a/dasf/ml/dl/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.dl.pytorch_lightning import NeuralNetClassifier - -__all__ = ["NeuralNetClassifier"] diff --git a/dasf/ml/dl/clusters/__init__.py b/dasf/ml/dl/clusters/__init__.py deleted file mode 100644 index ef52917..0000000 --- a/dasf/ml/dl/clusters/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.dl.clusters.dask import DaskClusterEnvironment - -__all__ = ["DaskClusterEnvironment"] diff --git a/dasf/ml/dl/clusters/dask.py b/dasf/ml/dl/clusters/dask.py deleted file mode 100644 index 88cfeb9..0000000 --- a/dasf/ml/dl/clusters/dask.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python - -import os - -from pytorch_lightning.plugins.environments import ClusterEnvironment - - -class DaskClusterEnvironment(ClusterEnvironment): - """ - Create a Dask Cluster environment for workers - - metadata -- dictionary containing all data related to workers. - """ - - def __init__(self, metadata=None) -> None: - super().__init__() - - if isinstance(metadata, dict): - self.metadata = metadata - else: - self.metadata = {k.lower(): v for k, v in os.environ.items()} - - self._master_port = 23456 - - def detect(self) -> bool: - if "master" not in self.metadata: - return False - if "world_size" not in self.metadata: - return False - if "global_rank" not in self.metadata: - return False - - return True - - @property - def creates_processes_externally(self) -> bool: - """Return True if the cluster is managed (you don't launch processes - yourself). - """ - return True - - @property - def main_address(self) -> str: - """Return master worker address.""" - return self.metadata["master"] - - @property - def main_port(self) -> int: - """Return master worker port.""" - return self._master_port - - def creates_children(self) -> bool: - """Fork children when generate a cluster.""" - return False - - def world_size(self) -> int: - """Return worker world size.""" - return int(self.metadata["world_size"]) - - def global_rank(self) -> int: - """Return worker global rank.""" - return int(self.metadata["global_rank"]) - - def local_rank(self) -> int: - """Return worker local rank.""" - if "local_rank" in self.metadata: - return int(self.metadata["local_rank"]) - else: - return 0 - - def node_rank(self) -> int: - """Return worker node rank (which is similar to global rank).""" - return int(self.metadata["global_rank"]) - - def set_world_size(self, size: int) -> None: - self.metadata["world_size"] = size - - def set_global_rank(self, rank: int) -> None: - self.metadata["global_rank"] = rank diff --git a/dasf/ml/dl/models/__init__.py b/dasf/ml/dl/models/__init__.py deleted file mode 100644 index ebf3f41..0000000 --- a/dasf/ml/dl/models/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.dl.models.devconvnet import ( - TorchPatchDeConvNet, - TorchPatchDeConvNetSkip, - TorchSectionDeConvNet, - TorchSectionDeConvNetSkip, -) - -__all__ = [ - "TorchPatchDeConvNet", - "TorchPatchDeConvNetSkip", - "TorchSectionDeConvNet", - "TorchSectionDeConvNetSkip", -] diff --git a/dasf/ml/dl/models/devconvnet.py b/dasf/ml/dl/models/devconvnet.py deleted file mode 100644 index 42d0b63..0000000 --- a/dasf/ml/dl/models/devconvnet.py +++ /dev/null @@ -1,1361 +0,0 @@ -#!/usr/bin/env python3 - -import numpy as np -import torch -from pytorch_lightning import LightningModule -from torch.nn import ( - BatchNorm2d, - Conv2d, - ConvTranspose2d, - MaxPool2d, - MaxUnpool2d, - ReLU, - Sequential, -) -from torch.nn import functional as F -from torchmetrics import Metric - - -class MyAccuracy(Metric): - def __init__(self, dist_sync_on_step=False): - # call `self.add_state`for every internal state that is needed for the - # metrics computations dist_reduce_fx indicates the function that - # should be used to reduce state from multiple processes - super().__init__(dist_sync_on_step=dist_sync_on_step) - - self.add_state("correct", default=torch.tensor(0), dist_reduce_fx="sum") - self.add_state("total", default=torch.tensor(0), dist_reduce_fx="sum") - self.idx = 0 - - def set_idx(self, idx): - self.idx = idx - - def update(self, preds: torch.Tensor, target: torch.Tensor): - # update metric states - pred = preds.detach().max(1)[1].cpu().numpy() - gt = torch.squeeze(target, 1).cpu().numpy() - - assert pred.shape == gt.shape - - np.save("out/pred_" + str(self.idx) + ".npy", pred) - - self.correct += np.sum(pred == gt) - self.total += len(gt.flatten()) - - def __str__(self): - ret = self.compute() - return str(ret) - - def compute(self): - # compute final result - return float(self.correct / self.total) - - -class NNModule(LightningModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__() - - self.learned_billinear = learned_billinear - self.n_classes = n_classes - self.clip = clip - - if class_weights and isinstance(class_weights, dict): - self.class_weights = torch.tensor( - list(class_weights.values()), requires_grad=False - ) - else: - self.class_weights = None - - self.class_names = list(class_weights.keys()) - - def cross_entropy_loss(self, input, target, weight=None, ignore_index=255): - """ - Use 255 to fill empty values when padding or doing any augmentation operations - like rotation. - """ - target = torch.squeeze(target, dim=1) - - print(input.device) - print(target.device) - print(weight.device) - - loss = F.cross_entropy(input, target, weight, reduction="sum", ignore_index=255) - - return loss - - def configure_optimizers(self): - return torch.optim.Adam(self.parameters(), amsgrad=True) - - def training_step(self, batch, batch_idx): - images, labels = batch - - outputs = self.forward(images) - - self.class_weights = self.class_weights.type_as(labels) - - if self.class_weights.is_cuda: - self.class_weights = self.class_weights.type(torch.cuda.FloatTensor) - else: - self.class_weights = self.class_weights.type(torch.FloatTensor) - - loss = self.cross_entropy_loss( - input=outputs, target=labels, weight=self.class_weights - ) - - # gradient clipping - if self.clip != 0: - torch.nn.utils.clip_grad_norm_(self.parameters(), self.clip) - - return loss - - def test_step(self, test_batch, batch_idx): - images, labels = test_batch - - preds = self(images) - - file_object = open("test.txt", "w") - file_object.write(str(preds.shape)) - file_object.write(str(labels.shape)) - file_object.close() - - self.accuracy.set_idx(batch_idx) - - self.accuracy(preds, labels) - - -class TorchPatchDeConvNet(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - - def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - print(type(out), '- device: ', out.device) - - out = out.type_as(x) - - return out - - def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - - def load(self): - """ This is just a no-op load method. """ - return self - - -class TorchPatchDeConvNetSkip(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - - def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) + conv5 - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) + conv4 - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) + conv3 - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) + conv2 - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) + conv1 - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - print(type(out), '- device: ', out.device) - - out = out.type_as(x) - - return out - - def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - - def load(self): - """ This is just a no-op load method. """ - return self - - -class TorchSectionDeConvNet(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=False - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - - def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - print(type(out), '- device: ', out.device) - - out = out.type_as(x) - - return out - - def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - - def load(self): - """ This is just a no-op load method. """ - return self - - -class TorchSectionDeConvNetSkip(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - - def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) + conv5 - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) + conv4 - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) + conv3 - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) + conv2 - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) + conv1 - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - print(type(out), '- device: ', out.device) - - out = out.type_as(x) - - return out - - def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - - def load(self): - """ This is just a no-op load method. """ - return self diff --git a/dasf/ml/dl/pytorch_lightning.py b/dasf/ml/dl/pytorch_lightning.py deleted file mode 100644 index 8479264..0000000 --- a/dasf/ml/dl/pytorch_lightning.py +++ /dev/null @@ -1,167 +0,0 @@ -#!/usr/bin/env python3 - -import uuid - -import pytorch_lightning as pl -from dask_pytorch_ddp.results import DaskResultsHandler -from torch.utils.data import DataLoader - -from dasf.ml.dl.clusters import DaskClusterEnvironment -from dasf.transforms.base import Fit -from dasf.utils.funcs import ( - get_dask_gpu_count, - get_dask_running_client, - get_gpu_count, - get_worker_info, - sync_future_loop, -) - - -class TorchDataLoader(pl.LightningDataModule): - def __init__(self, train, val=None, test=None, batch_size=64): - super().__init__() - - self._train = train - self._val = val - self._test = test - - self._batch_size = batch_size - - def prepare_data(self): - if self._train is not None and hasattr(self._train, "download"): - self._train.download() - - if self._val is not None and hasattr(self._val, "download"): - self._val.download() - - if self._test is not None and hasattr(self._test, "download"): - self._test.download() - - def setup(self, stage=None): - if self._train is not None and hasattr(self._train, "load"): - self._train.load() - - if self._val is not None and hasattr(self._val, "load"): - self._val.load() - - if self._test is not None and hasattr(self._test, "load"): - self._test.load() - - def train_dataloader(self): - return DataLoader(self._train, batch_size=self._batch_size) - - def val_dataloader(self): - return DataLoader(self._val, batch_size=self._batch_size) - - def test_dataloader(self): - return DataLoader(self._test, batch_size=self._batch_size) - - -def run_dask_clustered(func, client=None, **kwargs): - if client is None: - client = get_dask_running_client() - - all_workers = get_worker_info(client) - - for worker in all_workers: - # Including worker metadata into kwargs - kwargs['meta'] = worker - - futures = client.submit(func, **kwargs, workers=[worker["worker"]]) - - sync_future_loop(futures) - - -def fit(model, X, y, max_iter, accel, strategy, devices, ngpus, batch_size=32, - plugins=None, meta=None): - - if meta is None: - plugin = DaskClusterEnvironment(metadata=meta) - - nodes = plugin.world_size() - - if plugins is None: - plugins = list() - - plugins.append(plugin) - else: - nodes = 1 - - # Use it for heterogeneous workers. - if ngpus < 0: - ngpus = -1 - - dataloader = TorchDataLoader(train=X, val=y, batch_size=batch_size) - - trainer = pl.Trainer( - max_epochs=max_iter, - accelerator=accel, - strategy=strategy, - gpus=ngpus, - plugins=plugins, - devices=devices, - num_nodes=nodes, - ) - - trainer.fit(model, datamodule=dataloader) - - -class NeuralNetClassifier(Fit): - def __init__(self, model, max_iter=100, batch_size=32): - self._model = model - - self._accel = None - self._strategy = None - self._max_iter = max_iter - self._devices = 0 - self._ngpus = 0 - self._batch_size = batch_size - - self.__trainer = False - self.__handler = DaskResultsHandler(uuid.uuid4().hex) - - def _lazy_fit_generic(self, X, y, accel, ngpus): - self._accel = accel - self._strategy = "ddp" - self._ngpus = self._ndevices = ngpus - - plugins = [DaskClusterEnvironment()] - - run_dask_clustered( - fit, - model=self._model, - X=X, - y=y, - max_iter=self._max_iter, - accel=self._accel, - strategy=self._strategy, - devices=self._ndevices, - ngpus=self._ngpus, - batch_size=self._batch_size, - plugins=plugins, - ) - - def _lazy_fit_gpu(self, X, y=None): - self._lazy_fit_generic(X=X, y=y, accel="gpu", ngpus=get_dask_gpu_count()) - - def _lazy_fit_cpu(self, X, y=None): - self._lazy_fit_generic(X=X, y=y, accel="cpu", ngpus=get_dask_gpu_count()) - - def __fit_generic(self, X, y, accel, ngpus): - self._accel = accel - self._strategy = "dp" - self._ngpus = self._ndevices = ngpus - - dataloader = TorchDataLoader(train=X, val=y, batch_size=self._batch_size) - - self.__trainer = pl.Trainer( - max_epochs=self._max_iter, accelerator=accel, devices=ngpus - ) - - self.__trainer.fit(self._model, datamodule=dataloader) - - def _fit_gpu(self, X, y=None): - self.__fit_generic(X, y, "gpu", get_gpu_count()) - - def _fit_cpu(self, X, y=None): - self.__fit_generic(X, y, "cpu", 0) diff --git a/dasf/ml/inference/__init__.py b/dasf/ml/inference/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dasf/ml/inference/loader/__init__.py b/dasf/ml/inference/loader/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dasf/ml/inference/loader/base.py b/dasf/ml/inference/loader/base.py deleted file mode 100644 index 9b726bb..0000000 --- a/dasf/ml/inference/loader/base.py +++ /dev/null @@ -1,102 +0,0 @@ -from dask.distributed import Worker - -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import get_dask_running_client - - -class BaseLoader: - """ - BaseLoader for DL models. When running in a Dask Cluster instantiates a model per worker that will be reused on every subsequent prediction task. - """ - - def __init__(self): - self.model_instances = {} - - def inference(self, model, data): - raise NotImplementedError("Inference must be implemented") - - def load_model(self): - """ - Load Model method is specific for each framework/model. - """ - raise NotImplementedError("Load Model must be implemented") - - def load_model_distributed(self, **kwargs): - """ - Distributed model instantiation - """ - try: - Worker.model = self.load_model(**kwargs) - return "UP" - except: - return "DOWN" - - def _lazy_load(self, **kwargs): - client = get_dask_running_client() - self.model_instances = {} - if client: - worker_addresses = list(client.scheduler_info()["workers"].keys()) - self.model_instances = client.run( - self.load_model_distributed, **kwargs, workers=worker_addresses - ) - - def _load(self, **kwargs): - self.model_instances = {"local": self.load_model(**kwargs)} - - def _lazy_load_cpu(self, **kwargs): - if not (hasattr(self, "device") and self.device): - self.device = "cpu" - self._lazy_load(**kwargs) - - def _lazy_load_gpu(self, **kwargs): - if not (hasattr(self, "device") and self.device): - self.device = "gpu" - self._lazy_load(**kwargs) - - def _load_cpu(self, **kwargs): - if not (hasattr(self, "device") and self.device): - self.device = "cpu" - self._load(**kwargs) - - def _load_gpu(self, **kwargs): - if not (hasattr(self, "device") and self.device): - self.device = "gpu" - self._load(**kwargs) - - @task_handler - def load(self, **kwargs): - ... - - def predict(self, data): - """ - Predict method called on prediction tasks. - """ - if not self.model_instances: - raise RuntimeError( - "Models have not been loaded. load method must be executed beforehand." - ) - if "local" in self.model_instances: - model = self.model_instances["local"] - else: - model = Worker.model - data = self.preprocessing(data) - output = self.inference(model, data) - return self.postprocessing(output) - - def preprocessing(self, data): - """ - Preprocessing stage which is called before inference - """ - return data - - def inference(self, model, data): - """ - Inference method, receives model and input data - """ - raise NotImplementedError("Inference must be implemented") - - def postprocessing(self, data): - """ - Postprocessing stage which is called after inference - """ - return data diff --git a/dasf/ml/inference/loader/torch.py b/dasf/ml/inference/loader/torch.py deleted file mode 100644 index ee1f696..0000000 --- a/dasf/ml/inference/loader/torch.py +++ /dev/null @@ -1,57 +0,0 @@ -import inspect -import os - -import torch - -from .base import BaseLoader - - -class TorchLoader(BaseLoader): - """ - Model Loader for Torch models - """ - - def __init__( - self, model_class_or_file, dtype=torch.float32, checkpoint=None, device=None - ): - """ - model_class_or_file: class or file with model definition - dtype: data type of model input - checkpoint: model chekpoint file - device: device to place model ("cpu" or "gpu") - """ - super().__init__() - self.model_class_or_file = model_class_or_file - self.dtype = dtype - self.checkpoint = checkpoint - self.device = device - - def load_model(self, **kwargs): - device = torch.device("cuda" if self.device == "gpu" else "cpu") - if inspect.isclass(self.model_class_or_file): - model = self.model_class_or_file(**kwargs) - if self.checkpoint: - state_dict = torch.load(self.checkpoint, map_location=device) - state_dict = ( - state_dict["state_dict"] - if "state_dict" in state_dict - else state_dict - ) # In case model was saved by TensorBoard - model.load_state_dict(state_dict) - elif os.path.isfile(self.model_class_or_file): - model = torch.load(self.model_class_or_file) - else: - raise ValueError( - "model_class_or_file must be a model class or path to model file" - ) - model.to(device=device) - model.eval() - return model - - def inference(self, model, data): - data = torch.from_numpy(data) - device = torch.device("cuda" if self.device == "gpu" else "cpu") - data = data.to(device, dtype=self.dtype) - with torch.no_grad(): - output = model(data) - return output.cpu().numpy() if self.device == "gpu" else output.numpy() diff --git a/dasf/ml/mixture/classifier.py b/dasf/ml/mixture/classifier.py deleted file mode 100644 index 630468b..0000000 --- a/dasf/ml/mixture/classifier.py +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.transforms.base import Fit, FitPredict, FitTransform, GetParams, SetParams - - -class MixtureClassifier(Fit, FitPredict, FitTransform, - GetParams, SetParams): - def fit(self, X, y=None, sample_weight=None): - raise NotImplementedError - - def fit_predict(self, X, y=None, sample_weight=None): - raise NotImplementedError - - def fit_transform(self, X, y=None): - raise NotImplementedError - - def get_params(deep=True): - raise NotImplementedError - - def set_params(**params): - raise NotImplementedError diff --git a/dasf/ml/mixture/gmm.py b/dasf/ml/mixture/gmm.py deleted file mode 100644 index 9d192f4..0000000 --- a/dasf/ml/mixture/gmm.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -from sklearn.mixture import GaussianMixture as GaussianMixture_CPU - -from dasf.ml.mixture.classifier import MixtureClassifier - - -class GaussianMixture(MixtureClassifier): - def __init__( - self, - n_components=1, - *, - covariance_type="full", - tol=0.001, - reg_covar=1e-06, - max_iter=100, - n_init=1, - init_params="kmeans", - weights_init=None, - means_init=None, - precisions_init=None, - random_state=None, - warm_start=False, - verbose=0, - verbose_interval=10 - ): - - self.__gmm_cpu = GaussianMixture_CPU( - n_components=n_components, - covariance_type=covariance_type, - tol=tol, - reg_covar=reg_covar, - max_iter=max_iter, - n_init=n_init, - init_params=init_params, - weights_init=weights_init, - means_init=means_init, - precisions_init=precisions_init, - random_state=random_state, - warm_start=warm_start, - verbose=verbose, - verbose_interval=verbose_interval, - ) - - def _fit_cpu(self, X, y=None): - return self.__gmm_cpu.fit(X=X, y=y) - - def _fit_predict_cpu(self, X, y=None): - return self.__gmm_cpu.fit_predict(X=X, y=y) - - def _predict_cpu(self, X, y=None): - return self.__gmm_cpu.predict(X=X) - - def _set_params_cpu(self, **params): - return self.__gmm_cpu.set_params(**params) - - def _get_params_cpu(self, deep=True): - return self.__gmm_cpu.get_params(deep=deep) diff --git a/dasf/ml/model_selection/__init__.py b/dasf/ml/model_selection/__init__.py deleted file mode 100644 index ac8a3b0..0000000 --- a/dasf/ml/model_selection/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.model_selection.split import TrainTestSplit - -__all__ = ["TrainTestSplit"] diff --git a/dasf/ml/model_selection/split.py b/dasf/ml/model_selection/split.py deleted file mode 100644 index ed3ddb3..0000000 --- a/dasf/ml/model_selection/split.py +++ /dev/null @@ -1,85 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.model_selection import train_test_split as train_test_split_mcpu -from sklearn.model_selection import train_test_split as train_test_split_cpu - -from dasf.transforms import TargeteredTransform, Transform - -try: - from cuml.model_selection import train_test_split as train_test_split_gpu -except ImportError: - pass - - -class train_test_split(TargeteredTransform, Transform): - def __init__( - self, - output="train", - test_size=None, - train_size=None, - random_state=None, - shuffle=None, - blockwise=True, - convert_mixed_types=False, - **kwargs - ): - TargeteredTransform.__init__(self, **kwargs) - - self.output = output - self.test_size = test_size - self.train_size = train_size - self.random_state = random_state - self.shuffle = shuffle - - # Exclusive for Dask operations - self.blockwise = blockwise - - self.convert_mixed_types = convert_mixed_types - - def _lazy_transform_cpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_mcpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - blockwise=self.blockwise, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test - - def _lazy_transform_gpu(self, X): - raise NotImplementedError( - "Function train_test_split() is not implemented for Dask and CuML" - ) - - def _transform_cpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_cpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test - - def _transform_gpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_gpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test diff --git a/dasf/ml/neighbors/__init__.py b/dasf/ml/neighbors/__init__.py deleted file mode 100644 index f3e271f..0000000 --- a/dasf/ml/neighbors/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.neighbors.neighbors import NearestNeighbors # noqa - -__all__ = ["NearestNeighbors"] diff --git a/dasf/ml/neighbors/neighbors.py b/dasf/ml/neighbors/neighbors.py deleted file mode 100644 index f3a0c3e..0000000 --- a/dasf/ml/neighbors/neighbors.py +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env python3 - -from sklearn.neighbors import NearestNeighbors as NearestNeighbors_CPU - -from dasf.transforms.base import Fit, GetParams, SetParams -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml.neighbors import NearestNeighbors as NearestNeighbors_GPU -except ImportError: - pass - - -class NearestNeighbors(Fit, GetParams, SetParams): - def __init__(self, n_neighbors=5, radius=1.0, algorithm='auto', - leaf_size=30, metric='minkowski', p=2, - metric_params=None, n_jobs=None, handle=None, verbose=False, - output_type=None, **kwargs): - - self.__nn_cpu = NearestNeighbors_CPU(n_neighbors=n_neighbors, - radius=radius, - algorithm=algorithm, - leaf_size=leaf_size, - metric=metric, p=p, - metric_params=metric_params, - n_jobs=n_jobs, **kwargs) - - if is_gpu_supported(): - self.__nn_gpu = NearestNeighbors_GPU(n_neighbors=n_neighbors, - radius=radius, - algorithm=algorithm, - leaf_size=leaf_size, - metric=metric, p=p, - metric_params=metric_params, - n_jobs=n_jobs, - handle=handle, - verbose=verbose, - output_type=output_type, - **kwargs) - - def _fit_cpu(self, X, y=None, **kwargs): - return self.__nn_cpu.fit(X=X, y=y) - - def _fit_gpu(self, X, y=None, **kwargs): - return self.__nn_gpu.fit(X=X, **kwargs) - - def _get_params_cpu(self, deep=True, **kwargs): - return self.__nn_cpu.get_params(deep=deep) - - def _set_params_cpu(self, **params): - return self.__nn_cpu.set_params(**params) diff --git a/dasf/ml/preprocessing/__init__.py b/dasf/ml/preprocessing/__init__.py deleted file mode 100644 index 3789fea..0000000 --- a/dasf/ml/preprocessing/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.preprocessing.standardscaler import StandardScaler - -__all__ = ["StandardScaler"] diff --git a/dasf/ml/preprocessing/standardscaler.py b/dasf/ml/preprocessing/standardscaler.py deleted file mode 100644 index 33a3773..0000000 --- a/dasf/ml/preprocessing/standardscaler.py +++ /dev/null @@ -1,92 +0,0 @@ -#!/usr/bin/env python3 - -from dask_ml.preprocessing import StandardScaler as StandardScaler_MCPU -from sklearn.preprocessing import StandardScaler as StandardScaler_CPU - -from dasf.utils.funcs import is_gpu_supported - -try: - from cuml.preprocessing import StandardScaler as StandardScaler_GPU -except ImportError: - pass - -from dasf.transforms.base import Fit, FitTransform, TargeteredTransform - - -class StandardScaler(Fit, FitTransform, TargeteredTransform): - def __init__(self, copy=True, with_mean=True, with_std=True, **kwargs): - TargeteredTransform.__init__(self, **kwargs) - - self.__std_scaler_cpu = StandardScaler_CPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - - self.__std_scaler_dask = StandardScaler_MCPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - - if is_gpu_supported(): - self.__std_scaler_gpu = StandardScaler_GPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - - def _lazy_fit_cpu(self, X, y=None): - return self.__std_scaler_dask.fit(X=X, y=y) - - def _lazy_fit_gpu(self, X, y=None): - return self.__std_scaler_dask.fit(X=X, y=y) - - def _fit_cpu(self, X, y=None): - return self.__std_scaler_cpu.fit(X=X, y=y) - - def _fit_gpu(self, X, y=None): - return self.__std_scaler_gpu.fit(X=X, y=y) - - def _lazy_fit_transform_cpu(self, X, y=None): - return self.__std_scaler_dask.fit_transform(X=X, y=y) - - def _lazy_fit_transform_gpu(self, X, y=None): - return self.__std_scaler_dask.fit_transform(X=X, y=y) - - def _fit_transform_cpu(self, X, y=None): - return self.__std_scaler_cpu.fit_transform(X=X, y=y) - - def _fit_transform_gpu(self, X, y=None): - ret = self.__std_scaler_gpu.fit(X=X, y=y) - return ret.transform(X=X) - - def _lazy_partial_fit_cpu(self, X, y=None): - return self.__std_scaler_dask.partial_fit(X=X, y=y) - - def _lazy_partial_fit_gpu(self, X, y=None): - return self.__std_scaler_dask.partial_fit(X=X, y=y) - - def _fit_partial_cpu(self, X, y=None): - return self.__std_scaler_cpu.partial_fit(X=X, y=y) - - def _fit_partial_gpu(self, X, y=None): - return self.__std_scaler_gpu.partial_fit(X=X, y=y) - - def _lazy_transform_cpu(self, X, copy=None): - return self.__std_scaler_dask.transform(X=X, copy=copy) - - def _lazy_transform_gpu(self, X, copy=None): - return self.__std_scaler_dask.transform(X=X, copy=copy) - - def _transform_cpu(self, X, copy=None): - return self.__std_scaler_cpu.transform(X=X, copy=copy) - - def _transform_gpu(self, X, copy=None): - return self.__std_scaler_gpu.transform(X=X, copy=copy) - - def _lazy_inverse_transform_cpu(self, X, copy=None): - return self.__std_scaler_dask.inverse_transform(X=X, copy=copy) - - def _lazy_inverse_transform_gpu(self, X, copy=None): - return self.__std_scaler_dask.inverse_transform(X=X, copy=copy) - - def _inverse_transform_cpu(self, X, copy=None): - return self.__std_scaler_cpu.inverse_transform(X=X, copy=copy) - - def _inverse_transform_gpu(self, X, copy=None): - return self.__std_scaler_gpu.inverse_transform(X=X, copy=copy) diff --git a/dasf/ml/svm/__init__.py b/dasf/ml/svm/__init__.py deleted file mode 100644 index 4ecc8f7..0000000 --- a/dasf/ml/svm/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.svm.svm import SVC # noqa -from dasf.ml.svm.svm import SVR # noqa -from dasf.ml.svm.svm import LinearSVC # noqa -from dasf.ml.svm.svm import LinearSVR # noqa - -__all__ = ["SVC", "SVR", "LinearSVC", "LinearSVR"] diff --git a/dasf/ml/svm/svm.py b/dasf/ml/svm/svm.py deleted file mode 100644 index fd21cde..0000000 --- a/dasf/ml/svm/svm.py +++ /dev/null @@ -1,294 +0,0 @@ -#!/usr/bin/env python3 - -from sklearn.svm import SVC as SVC_CPU -from sklearn.svm import SVR as SVR_CPU -from sklearn.svm import LinearSVC as LinearSVC_CPU -from sklearn.svm import LinearSVR as LinearSVR_CPU - -try: - from cuml.svm import SVC as SVC_GPU - from cuml.svm import SVR as SVR_GPU - from cuml.svm import LienarSVC as LinearSVC_GPU - from cuml.svm import LienarSVR as LinearSVR_GPU -except ImportError: - pass - -from dasf.transforms.base import Fit, GetParams, Predict, SetParams -from dasf.utils.funcs import is_gpu_supported - - -class SVC(Fit, Predict, GetParams, SetParams): - def __init__( - self, - C=1.0, - kernel="rbf", - degree=3, - gamma="scale", - coef0=0.0, - shrinking=True, - probability=False, - tol=0.001, - cache_size=200, - class_weight=None, - verbose=False, - max_iter=-1, - decision_function_shape="ovr", - break_ties=False, - nochange_steps=1000, - random_state=None, - ): - - self.__svc_cpu = SVC_CPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - shrinking=shrinking, - probability=probability, - tol=tol, - cache_size=cache_size, - class_weight=class_weight, - verbose=verbose, - max_iter=max_iter, - decision_function_shape=decision_function_shape, - break_ties=break_ties, - random_state=random_state, - ) - - if is_gpu_supported(): - self.__svc_gpu = SVC_GPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - cache_size=cache_size, - class_weight=class_weight, - verbose=verbose, - max_iter=max_iter, - random_state=random_state, - multiclass_strategy=decision_function_shape, - probability=probability, - output_type="input", - ) - - def _fit_cpu(self, X, y, sample_weight=None): - return self.__svc_cpu.fit(X, y, sample_weight) - - def _fit_gpu(self, X, y, sample_weight=None): - return self.__svc_gpu.fit(X, y, sample_weight) - - def _predict_cpu(self, X): - return self.__svc_cpu.predict(X) - - def _predict_gpu(self, X): - return self.__svc_gpu.predict(X) - - def _get_params_cpu(self, deep=True): - return self.__svc_cpu.get_params(deep=deep) - - def _set_params_cpu(self, **params): - return self.__svc_cpu.set_params(**params) - - -class SVR(Fit, Predict): - def __init__( - self, - kernel="rbf", - degree=3, - gamma="scale", - coef0=0.0, - tol=0.001, - C=1.0, - epsilon=0.1, - shrinking=True, - cache_size=200, - verbose=False, - max_iter=-1, - nochange_steps=1000, - ): - - self.__svr_cpu = SVR_CPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - epsilon=epsilon, - shrinking=shrinking, - cache_size=cache_size, - verbose=verbose, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__svr_gpu = SVR_GPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - epsilon=epsilon, - shrinking=shrinking, - cache_size=cache_size, - verbose=verbose, - max_iter=max_iter, - nochange_steps=nochange_steps, - output_type="input", - ) - - def _fit_cpu(self, X, y, sample_weight=None): - return self.__svr_cpu.fit(X, y, sample_weight) - - def _fit_gpu(self, X, y, sample_weight=None): - return self.__svr_gpu.fit(X, y, sample_weight) - - def _predict_cpu(self, X): - return self.__svr_cpu.predict(X) - - def _predict_gpu(self, X): - return self.__svr_gpu.predict(X) - - -class LinearSVC(Fit, Predict, GetParams, SetParams): - def __init__( - self, - epsilon=0.0, - tol=0.0001, - C=1.0, - loss="epsilon_insensitive", - fit_intercept=True, - intercept_scaling=1.0, - dual=True, - verbose=0, - random_state=None, - max_iter=1000, - handle=None, - penalty="l2", - penalized_intercept=False, - linesearch_max_iter=100, - lbfgs_memory=5, - grad_tol=0.0001, - change_tol=1e-05, - multi_class="ovr", - ): - - self.__linear_svc_cpu = LinearSVC_CPU( - epsilon=epsilon, - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__linear_svc_gpu = LinearSVC_GPU( - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - handle=handle, - penalty=penalty, - penalized_intercept=penalized_intercept, - linesearch_max_iter=linesearch_max_iter, - lbfgs_memory=lbfgs_memory, - grad_tol=grad_tol, - change_tol=change_tol, - multi_class=multi_class, - ) - - def _fit_cpu(self, X, y, sample_weight=None): - return self.__linear_svc_cpu.fit(X, y, sample_weight) - - def _fit_gpu(self, X, y, sample_weight=None): - return self.__linear_svc_gpu.fit(X, y, sample_weight) - - def _predict_cpu(self, X): - return self.__linear_svc_cpu.predict(X) - - def _predict_gpu(self, X): - return self.__linear_svc_gpu.predict(X) - - -class LinearSVR(Fit, Predict): - def __init__( - self, - epsilon=0.0, - tol=0.0001, - C=1.0, - loss="epsilon_insensitive", - fit_intercept=True, - intercept_scaling=1.0, - dual=True, - verbose=0, - random_state=None, - max_iter=1000, - handle=None, - penalty="l2", - penalized_intercept=False, - linesearch_max_iter=100, - lbfgs_memory=5, - grad_tol=0.0001, - change_tol=1e-05, - multi_class="ovr", - ): - - self.__linear_svr_cpu = LinearSVR_CPU( - epsilon=epsilon, - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__linear_svr_gpu = LinearSVR_GPU( - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - handle=handle, - penalty=penalty, - penalized_intercept=penalized_intercept, - linesearch_max_iter=linesearch_max_iter, - lbfgs_memory=lbfgs_memory, - grad_tol=grad_tol, - change_tol=change_tol, - multi_class=multi_class, - ) - - def _fit_cpu(self, X, y, sample_weight=None): - return self.__linear_svr_cpu.fit(X, y, sample_weight) - - def _fit_gpu(self, X, y, sample_weight=None): - return self.__linear_svr_gpu.fit(X, y, sample_weight) - - def _predict_cpu(self, X): - return self.__linear_svr_cpu.predict(X) - - def _predict_gpu(self, X): - return self.__linear_svr_gpu.predict(X) diff --git a/dasf/ml/xgboost/__init__.py b/dasf/ml/xgboost/__init__.py deleted file mode 100644 index 6f9053c..0000000 --- a/dasf/ml/xgboost/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.ml.xgboost.xgboost import XGBRegressor # noqa - -__all__ = ["XGBRegressor"] diff --git a/dasf/ml/xgboost/xgboost.py b/dasf/ml/xgboost/xgboost.py deleted file mode 100644 index e63b0a2..0000000 --- a/dasf/ml/xgboost/xgboost.py +++ /dev/null @@ -1,189 +0,0 @@ -#!/usr/bin/env python3 - -import GPUtil -import xgboost as xgb - -from dasf.transforms import Fit, FitPredict, Predict -from dasf.utils.funcs import is_gpu_supported - - -class XGBRegressor(Fit, FitPredict, Predict): - def __init__( - self, - max_depth=None, - max_leaves=None, - max_bin=None, - grow_policy=None, - learning_rate=None, - n_estimators=100, - verbosity=None, - objective=None, - booster=None, - tree_method=None, - n_jobs=None, - gamma=None, - min_child_weight=None, - max_delta_step=None, - subsample=None, - sampling_method=None, - colsample_bytree=None, - colsample_bylevel=None, - colsample_bynode=None, - reg_alpha=None, - reg_lambda=None, - scale_pos_weight=None, - base_score=None, - random_state=None, - num_parallel_tree=None, - monotone_constraints=None, - interaction_constraints=None, - importance_type=None, - gpu_id=None, - validate_parameters=None, - predictor=None, - enable_categorical=False, - max_cat_to_onehot=None, - eval_metric=None, - early_stopping_rounds=None, - callbacks=None, - **kwargs - ): - - self.__xgb_cpu = xgb.XGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method=tree_method, - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - self.__xgb_mcpu = xgb.dask.DaskXGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method=tree_method, - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - if is_gpu_supported(): - if gpu_id is None: - gpus = GPUtil.getGPUs() - if len(gpus) > 0: - gpu_id = gpus[0].id - - self.__xgb_gpu = xgb.XGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method='gpu_hist', - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - gpu_id=gpu_id - ) - - self.__xgb_mgpu = xgb.dask.DaskXGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method='gpu_hist', - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - def _lazy_fit_cpu(self, X, y=None, sample_weight=None, *args, **kwargs): - return self.__xgb_mcpu.fit(X=X, y=y, *args, **kwargs) - - def _lazy_fit_gpu(self, X, y=None, sample_weight=None, *args, **kwargs): - return self.__xgb_mgpu.fit(X=X, y=y, *args, **kwargs) - - def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__xgb_cpu.fit(X=X, y=y) - - def _fit_gpu(self, X, y=None, sample_weight=None, *args, **kwargs): - return self.__xgb_gpu.fit(X=X, y=y, *args, **kwargs) - - def _lazy_predict_cpu(self, X, sample_weight=None, **kwargs): - return self.__xgb_mcpu.predict(X=X, **kwargs) - - def _lazy_predict_gpu(self, X, sample_weight=None, **kwargs): - return self.__xgb_mgpu.predict(X=X, **kwargs) - - def _predict_cpu(self, X, sample_weight=None, **kwargs): - return self.__xgb_cpu.predict(X=X, **kwargs) - - def _predict_gpu(self, X, sample_weight=None, **kwargs): - return self.__xgb_gpu.predict(X=X, **kwargs) diff --git a/dasf/pipeline/__init__.py b/dasf/pipeline/__init__.py deleted file mode 100644 index cc9da9c..0000000 --- a/dasf/pipeline/__init__.py +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.pipeline.pipeline import Pipeline, PipelinePlugin - -__all__ = [ - "PipelinePlugin", - "Pipeline", -] diff --git a/dasf/pipeline/executors/__init__.py b/dasf/pipeline/executors/__init__.py deleted file mode 100644 index d712276..0000000 --- a/dasf/pipeline/executors/__init__.py +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.pipeline.executors.base import Executor # noqa -from dasf.pipeline.executors.dask import DaskPBSPipelineExecutor # noqa -from dasf.pipeline.executors.dask import DaskPipelineExecutor # noqa -from dasf.pipeline.executors.dask import DaskTasksPipelineExecutor # noqa -from dasf.pipeline.executors.wrapper import LocalExecutor # noqa - -__all__ = [ - "Executor", - "LocalExecutor", - "DaskPipelineExecutor", - "DaskPBSPipelineExecutor", - "DaskTasksPipelineExecutor", -] diff --git a/dasf/pipeline/executors/base.py b/dasf/pipeline/executors/base.py deleted file mode 100644 index 403e5c9..0000000 --- a/dasf/pipeline/executors/base.py +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python3 - - -class Executor: - @property - def is_connected(self) -> bool: - return False - - @property - def info(self) -> str: - return "This executor has no info to show." - - def has_dataset(self, key) -> bool: - return False - - def register_dataset(self, **kwargs): - dataset = list(kwargs.values()) - - if len(dataset) != 1: - raise Exception(f"This function requires one dataset only. " - "We found {len(dataset)}.") - - return dataset.pop() - - def get_dataset(self, key): - raise NotImplementedError("This function needs to be specialized for " - "every executor.") - - def register_plugin(self, plugin): - raise Exception("This executor does not accept plugins.") - - def pre_run(self, pipeline): - pass - - def post_run(self, pipeline): - pass - - def execute(self, fn, *args, **kwargs): - ... - - def shutdown(self): - pass diff --git a/dasf/pipeline/executors/dask.py b/dasf/pipeline/executors/dask.py deleted file mode 100644 index 6adc78a..0000000 --- a/dasf/pipeline/executors/dask.py +++ /dev/null @@ -1,311 +0,0 @@ -#!/usr/bin/env python3 - -import os -from typing import Union - -try: - import cupy as cp - import rmm -except ImportError: # pragma: no cover - pass - -from pathlib import Path - -import dask_memusage as dmem -import networkx as nx -from dask.distributed import Client, LocalCluster -from dask_cuda import LocalCUDACluster -from dask_jobqueue import PBSCluster -from distributed.diagnostics.plugin import NannyPlugin, WorkerPlugin - -from dasf.pipeline.executors.base import Executor -from dasf.pipeline.types import TaskExecutorType -from dasf.utils.funcs import ( - get_dask_gpu_count, - get_worker_info, - is_dask_gpu_supported, - is_gpu_supported, -) - - -def setup_dask_protocol(protocol=None): - if protocol is None or protocol == "tcp": - return "tcp://" - - if protocol == "ucx": - return "ucx://" - - raise ValueError(f"Protocol {protocol} is not supported.") - - -class DaskPipelineExecutor(Executor): - """ - A pipeline engine based on dask data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - protocol -- sets the Dask protocol (default TCP) - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - """ - - def __init__( - self, - address=None, - port=8786, - local=False, - use_gpu=False, - profiler=None, - protocol=None, - gpu_allocator="cupy", - cluster_kwargs=None, - client_kwargs=None, - ): - self.address = address - self.port = port - - if not cluster_kwargs: - cluster_kwargs = dict() - - if not client_kwargs: - client_kwargs = dict() - - # If address is not set, consider local - local = local or (address is None and "scheduler_file" not in client_kwargs) - - if address: - address = f"{setup_dask_protocol()}{address}:{port}" - - self.client = Client(address=address) - elif "scheduler_file" in client_kwargs: - self.client = Client(scheduler_file=client_kwargs["scheduler_file"]) - elif local: - if use_gpu: - self.client = Client( - LocalCUDACluster(**cluster_kwargs), **client_kwargs - ) - else: - os.environ["CUDA_VISIBLE_DEVICES"] = "" # This avoids initializing workers on GPU:0 when available - self.client = Client(LocalCluster(**cluster_kwargs), - **client_kwargs) - - # Ask workers for GPUs - if local and not use_gpu: - self.dtype = TaskExecutorType.multi_cpu - else: - # Ask workers for GPUs - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.multi_gpu - - if gpu_allocator == "cupy": - # Nothing is required yet. - pass - elif gpu_allocator == "rmm" and is_gpu_supported(): - self.client.run(cp.cuda.set_allocator, rmm.rmm_cupy_allocator) - rmm.reinitialize(managed_memory=True) - cp.cuda.set_allocator(rmm.rmm_cupy_allocator) - else: - raise ValueError(f"'{gpu_allocator}' GPU Memory allocator is not " - "known") - else: - self.dtype = TaskExecutorType.multi_cpu - - # Share dtype attribute to client - if not hasattr(self.client, "dtype"): - setattr(self.client, "dtype", self.dtype) - - # Share which is the default backend of a cluster - if not hasattr(self.client, "backend"): - if self.dtype == TaskExecutorType.single_gpu or \ - self.dtype == TaskExecutorType.multi_gpu: - setattr(self.client, "backend", "cupy") - else: - setattr(self.client, "backend", "numpy") - - if profiler == "memusage": - profiler_dir = os.path.abspath( - os.path.join(str(Path.home()), - "/.cache/dasf/profiler/")) - os.makedirs(profiler_dir, exist_ok=True) - - dmem.install( - self.client.cluster.scheduler, - os.path.abspath(profiler_dir + "/dask-memusage"), - ) - - @property - def ngpus(self): - return get_dask_gpu_count() - - @property - def is_connected(self): - if "running" in self.client.status: - return True - return False - - def execute(self, fn, *args, **kwargs): - return fn(*args, **kwargs) - - def register_plugin(self, plugin: Union[WorkerPlugin, - NannyPlugin]): - if isinstance(plugin, WorkerPlugin): - self.client.register_worker_plugin(plugin) - elif isinstance(plugin, NannyPlugin): - self.client.register_worker_plugin(plugin, nanny=True) - - def register_dataset(self, **kwargs): - self.client.publish_dataset(**kwargs) - - def has_dataset(self, key): - return key in self.client.list_datasets() - - def get_dataset(self, key): - return self.client.get_dataset(name=key) - - def shutdown(self, gracefully=True): - if gracefully: - info = get_worker_info(self.client) - - worker_names = [] - for worker in info: - worker_names.append(worker["worker"]) - - if worker_names: - self.client.retire_workers(worker_names, close_workers=True) - else: - self.client.shutdown() - - def close(self): - self.client.close() - - -class DaskTasksPipelineExecutor(DaskPipelineExecutor): - """ - A not centric execution engine based on dask. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - """ - def __init__( - self, - address=None, - port=8786, - local=False, - use_gpu=True, - profiler=None, - protocol=None, - gpu_allocator="cupy", - cluster_kwargs=None, - client_kwargs=None, - ): - - super().__init__( - address=address, - port=port, - local=local, - use_gpu=use_gpu, - profiler=profiler, - protocol=protocol, - gpu_allocator=gpu_allocator, - cluster_kwargs=cluster_kwargs, - client_kwargs=client_kwargs, - ) - - # Ask workers for GPUs - if use_gpu: - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.single_gpu - else: - self.dtype = TaskExecutorType.single_cpu - else: - self.dtype = TaskExecutorType.single_cpu - - # Share dtype attribute to client - if not hasattr(self.client, "dtype"): - setattr(self.client, "dtype", self.dtype) - - self._tasks_map = dict() - - def pre_run(self, pipeline): - nodes = list(nx.topological_sort(pipeline._dag)) - - # TODO: we need to consider other branches for complex pipelines - dag_paths = nx.all_simple_paths(pipeline._dag, nodes[0], nodes[-1]) - all_paths = [] - for path in dag_paths: - all_paths.append(path) - - workers = get_worker_info(self.client) - - worker_idx = 0 - for path in all_paths: - for node in path: - if node not in self._tasks_map: - self._tasks_map[node] = workers[worker_idx] - - # Increment workers to all new path and repeat if there - # are more paths to assign. - if worker_idx == len(workers): - worker_idx = 0 - else: - worker_idx += 1 - - def post_run(self, pipeline): - pass - - def execute(self, fn, *args, **kwargs): - key = hash(fn) - - worker = self._tasks_map[key]["worker"] - - return self.client.submit(fn, *args, **kwargs, workers=[worker]) - - def register_dataset(self, **kwargs): - self.client.publish_dataset(**kwargs) - - def has_dataset(self, key): - return key in self.client.list_datasets() - - def get_dataset(self, key): - return self.client.get_dataset(name=key) - - def shutdown(self, gracefully=True): - if gracefully: - info = get_worker_info(self.client) - - worker_names = [] - for worker in info: - worker_names.append(worker["worker"]) - - if worker_names: - self.client.retire_workers(worker_names, close_workers=True) - else: - self.client.shutdown() - - def close(self): - self.client.close() - - -class DaskPBSPipelineExecutor(Executor): - def __init__(self, **kwargs): - self.client = Client(PBSCluster(**kwargs)) - - # Ask workers for GPUs - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.multi_gpu - else: - self.dtype = TaskExecutorType.multi_cpu diff --git a/dasf/pipeline/executors/ray.py b/dasf/pipeline/executors/ray.py deleted file mode 100644 index 2f12dc0..0000000 --- a/dasf/pipeline/executors/ray.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/env python3 - -try: - import ray - from ray.util.dask import disable_dask_on_ray, enable_dask_on_ray - - USE_RAY = True -except ImportError: # pragma: no cover - USE_RAY = False - -from dasf.pipeline.executors.base import Executor -from dasf.utils.funcs import get_dask_gpu_count - - -class RayPipelineExecutor(Executor): - """ - A pipeline engine based on ray data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Ray head (default 8786). - local -- kicks off a new local Ray cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Ray - cluster (default False). - """ - - def __init__( - self, - address=None, - port=6379, - local=False, - use_gpu=False, - ray_kwargs=None, - ): - if not USE_RAY: - raise Exception("Ray executor is not support. " - "Check if you have it installed first.") - - self.address = address - self.port = port - - if not ray_kwargs: - ray_kwargs = dict() - - enable_dask_on_ray() - - if address: - address_str = f"ray://{address}:{str(port)}" - - ray.init(address=address_str, **ray_kwargs) - elif local: - ray.init(**ray_kwargs) - - @property - def ngpus(self): - return len(get_dask_gpu_count()) - - @property - def is_connected(self): - return ray.is_initialized() - - def execute(self, fn, *args, **kwargs): - return fn(*args, **kwargs) - - def __del__(self): - disable_dask_on_ray() - - ray.shutdown() diff --git a/dasf/pipeline/executors/wrapper.py b/dasf/pipeline/executors/wrapper.py deleted file mode 100644 index d6b4071..0000000 --- a/dasf/pipeline/executors/wrapper.py +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env python3 - -import numpy as np - -try: - import cupy as cp - import rmm -except ImportError: # pragma: no cover - pass - -try: - from jax import jit -except ImportError: # pragma: no cover - pass - -from dasf.pipeline.types import TaskExecutorType -from dasf.utils.funcs import ( - get_backend_supported, - get_gpu_count, - is_gpu_supported, - is_jax_supported, -) - - -class LocalExecutor: - def __init__(self, - use_gpu=None, - backend="numpy", - gpu_allocator="cupy"): - - self.backend = backend - - if use_gpu is None: - if self.ngpus > 0: - self.dtype = TaskExecutorType.single_gpu - else: - self.dtype = TaskExecutorType.single_cpu - elif use_gpu and is_gpu_supported(): - self.dtype = TaskExecutorType.single_gpu - else: - self.dtype = TaskExecutorType.single_cpu - - if gpu_allocator == "rmm" and self.dtype == TaskExecutorType.single_gpu: - rmm.reinitialize(managed_memory=True) - cp.cuda.set_allocator(rmm.rmm_cupy_allocator) - - @property - def ngpus(self) -> int: - return get_gpu_count() - - @property - def is_connected(self) -> bool: - return True - - def pre_run(self, pipeline): - pass - - def post_run(self, pipeline): - pass - - def get_backend(self): - if self.backend == "numpy" and \ - self.dtype == TaskExecutorType.single_gpu: - return eval("cupy") - - return eval("cupy") - - def execute(self, fn, *args, **kwargs): - if get_backend_supported(fn): - kwargs['backend'] = self.get_backend() - - return fn(*args, **kwargs) diff --git a/dasf/pipeline/pipeline.py b/dasf/pipeline/pipeline.py deleted file mode 100644 index 758d3c3..0000000 --- a/dasf/pipeline/pipeline.py +++ /dev/null @@ -1,257 +0,0 @@ -#!/usr/bin/env python3 - -import inspect -from typing import List - -import graphviz -import networkx as nx - -from dasf.utils.logging import init_logging - - -class PipelinePlugin: - def on_pipeline_start(self, fn_keys): - pass - - def on_pipeline_end(self): - pass - - def on_task_start(self, func, params, name): - pass - - def on_task_end(self, func, params, name, ret): - pass - - def on_task_error(self, func, params, name, exception): - pass - - -class Pipeline: - def __init__(self, - name, - executor=None, - verbose=False, - callbacks: List[PipelinePlugin] = None): - from dasf.pipeline.executors.wrapper import LocalExecutor - - self._name = name - self._executor = executor if executor is not None else LocalExecutor() - self._verbose = verbose - - self._dag = nx.DiGraph() - self._dag_table = dict() - self._dag_g = graphviz.Digraph(name, format="png") - - self._logger = init_logging() - self._callbacks = callbacks or [] - - def register_plugin(self, plugin): - if isinstance(plugin, PipelinePlugin): - self._callbacks.append(plugin) - else: - self._executor.register_plugin(plugin) - - def info(self): - print(self._executor.info) - - def execute_callbacks(self, func_name: str, *args, **kwargs): - for callback in self._callbacks: - getattr(callback, func_name)(*args, **kwargs) - - def __add_into_dag(self, obj, func_name, parameters=None, itself=None): - key = hash(obj) - - if key not in self._dag_table: - self._dag.add_node(key) - self._dag_table[key] = dict() - self._dag_table[key]["fn"] = obj - self._dag_table[key]["name"] = func_name - self._dag_table[key]["parameters"] = None - self._dag_table[key]["ret"] = None - - if parameters and isinstance(parameters, dict): - if self._dag_table[key]["parameters"] is None: - self._dag_table[key]["parameters"] = parameters - else: - self._dag_table[key]["parameters"].update(parameters) - - # If we are adding a object which require parameters, - # we need to make sure they are mapped into DAG. - for k, v in parameters.items(): - dep_obj, dep_func_name, _ = self.__inspect_element(v) - self.add(dep_obj) - if not self._dag.has_node(str(key)): - self._dag_g.node(str(key), func_name) - - if not self._dag.has_node(str(hash(dep_obj))): - self._dag_g.node(str(hash(dep_obj)), dep_func_name) - - self._dag.add_edge(hash(dep_obj), key) - - self._dag_g.edge(str(hash(dep_obj)), str(key), label=k) - - def __inspect_element(self, obj): - from dasf.datasets.base import Dataset - from dasf.ml.inference.loader.base import BaseLoader - from dasf.transforms.base import Fit, Transform - - def generate_name(class_name, func_name): - return ("%s.%s" % (class_name, func_name)) - - if inspect.isfunction(obj) and callable(obj): - return (obj, - obj.__qualname__, - None) - elif inspect.ismethod(obj): - return (obj, - generate_name(obj.__self__.__class__.__name__, - obj.__name__), - obj.__self__) - elif issubclass(obj.__class__, Dataset) and hasattr(obj, "load"): - # (Disabled) Register dataset for reusability - # obj = self.__register_dataset(obj) - - return (obj.load, - generate_name(obj.__class__.__name__, - "load"), - obj) - elif issubclass(obj.__class__, Fit) and hasattr(obj, "fit"): - return (obj.fit, - generate_name(obj.__class__.__name__, - "fit"), - obj) - elif issubclass(obj.__class__, BaseLoader) and hasattr(obj, "load"): - return (obj.load, - generate_name(obj.__class__.__name__, - "load"), - obj) - elif issubclass(obj.__class__, Transform) and hasattr(obj, "transform"): - return (obj.transform, - generate_name(obj.__class__.__name__, - "transform"), - obj) - else: - raise ValueError( - f"This object {obj.__class__.__name__} is not a function, " - "method or a transformer object." - ) - - def add(self, obj, **kwargs): - obj, func_name, objref = self.__inspect_element(obj) - self.__add_into_dag(obj, func_name, kwargs, objref) - - return self - - def visualize(self, filename=None): - from dasf.utils.funcs import is_notebook - - if is_notebook(): - return self._dag_g - return self._dag_g.view(filename) - - def __register_dataset(self, dataset): - key = str(hash(dataset.load)) - kwargs = {key: dataset} - - if not self._executor.has_dataset(key): - return self._executor.register_dataset(**kwargs) - - return self._executor.get_dataset(key) - - def __execute(self, func, params, name): - ret = None - - new_params = dict() - if params: - for k, v in params.items(): - dep_obj, *_ = self.__inspect_element(v) - req_key = hash(dep_obj) - - new_params[k] = self._dag_table[req_key]["ret"] - - if len(new_params) > 0: - ret = self._executor.execute(fn=func, **new_params) - else: - ret = self._executor.execute(fn=func) - - return ret - - def get_result_from(self, obj): - _, obj_name, *_ = self.__inspect_element(obj) - - for key in self._dag_table: - if self._dag_table[key]["name"] == obj_name: - if self._dag_table[key]["ret"] is None: - raise Exception("Pipeline was not executed yet.") - return self._dag_table[key]["ret"] - - raise Exception(f"Function {obj_name} was not added into pipeline.") - - def run(self): - if not nx.is_directed_acyclic_graph(self._dag): - raise Exception("Pipeline has not a DAG format.") - - if not hasattr(self._executor, "execute"): - raise Exception( - f"Executor {self._executor.__name__} has not a execute() " - "method." - ) - - if not self._executor.is_connected: - raise Exception("Executor is not connected.") - - fn_keys = list(nx.topological_sort(self._dag)) - - self._logger.info(f"Beginning pipeline run for '{self._name}'") - self.execute_callbacks("on_pipeline_start", fn_keys) - - self._executor.pre_run(self) - - ret = None - failed = False - - for fn_key in fn_keys: - func = self._dag_table[fn_key]["fn"] - params = self._dag_table[fn_key]["parameters"] - name = self._dag_table[fn_key]["name"] - - if not failed: - self._logger.info(f"Task '{name}': Starting task run...") - else: - self._logger.error(f"Task '{name}': Starting task run...") - - try: - if not failed: - # Execute DAG node only if there is no error during the - # execution. Otherwise, skip it. - self.execute_callbacks("on_task_start", func=func, - params=params, name=name) - - result = self.__execute(func, params, name) - self._dag_table[fn_key]["ret"] = result - - self.execute_callbacks("on_task_end", func=func, - params=params, name=name, - ret=result) - - except Exception as e: - self.execute_callbacks("on_task_error", func=func, - params=params, name=name, exception=e) - failed = True - err = str(e) - self._logger.exception(f"Task '{name}': Failed with:\n{err}") - - if not failed: - self._logger.info(f"Task '{name}': Finished task run") - else: - self._logger.error(f"Task '{name}': Finished task run") - - if failed: - self._logger.info(f"Pipeline failed at '{name}'") - else: - self._logger.info("Pipeline run successfully") - - self._executor.post_run(self) - - self.execute_callbacks("on_pipeline_end") - return ret diff --git a/dasf/pipeline/types.py b/dasf/pipeline/types.py deleted file mode 100644 index 96edefc..0000000 --- a/dasf/pipeline/types.py +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env python3 - -from enum import IntEnum, auto - - -class TaskExecutorType(IntEnum): - single_cpu = auto() - multi_cpu = auto() - single_gpu = auto() - multi_gpu = auto() diff --git a/dasf/profile/__init__.py b/dasf/profile/__init__.py deleted file mode 100644 index f69b34c..0000000 --- a/dasf/profile/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from dasf.profile.analysis import TraceAnalyser -from dasf.profile.utils import MultiEventDatabase, register_default_profiler diff --git a/dasf/profile/analysis.py b/dasf/profile/analysis.py deleted file mode 100644 index 1d9b6e1..0000000 --- a/dasf/profile/analysis.py +++ /dev/null @@ -1,336 +0,0 @@ -import argparse -from collections import defaultdict -from pathlib import Path -from typing import List - -import networkx as nx -import numpy as np -import pandas as pd -import tqdm - -from dasf.profile.profiler import EventProfiler -from dasf.profile.utils import MultiEventDatabase - - -class TraceAnalyser: - def __init__(self, database: MultiEventDatabase, process_trace_before: bool = True): - self._database = database - if process_trace_before: - self._database = list(self._database) - - def create_annotated_task_graph(self) -> nx.DiGraph: - graph = nx.DiGraph() - - for event in tqdm.tqdm(self._database, desc="Creating annotated task graph"): - if event.name == "Compute": - name = event.args["name"] - task_key = event.args['key'] - dependencies = event.args['dependencies'] - dependents = event.args['dependents'] - size = event.args['size'] - shape = event.args['shape'] - task_type = event.args['type'] - - # Add the task as a node to the graph and store task information as metadata - graph.add_node( - task_key, - name=name, - size=size, - shape=shape, - type=task_type, - duration=event.duration - ) - - # Add the dependencies as edges to the graph - for dependency in dependencies: - graph.add_edge(dependency, task_key) - - # Add the dependents as edges to the graph - for dependent in dependents: - graph.add_edge(task_key, dependent) - - for node in graph.nodes: - input_data_size = sum([graph.nodes[dependency].get('size', 0) for dependency in graph.predecessors(node)]) - - # Set the input_data_size attribute for the current node - graph.nodes[node]['input_data_size'] = input_data_size - graph.nodes[node]["throughput"] = input_data_size / graph.nodes[node].get("duration", 1) - - return graph - - def per_function_bottleneck(self): - # Create the annotated DAG - graph = self.create_annotated_task_graph() - - # Dictionary to store task durations per thread_id - task_durations = defaultdict(lambda: defaultdict(float)) - # Dictionary to store mean gpu_utilization and gpu_memory_used per task_key - task_resources = defaultdict(lambda: {'gpu_utilization': [], 'gpu_memory_used': []}) - # Dictionaty mapping name to keys - task_name_keys = defaultdict(lambda: defaultdict(list)) - - # Iterate over the traces to calculate task durations per thread_id - for event in tqdm.tqdm(self._database, desc="[function_bottleneck] Analysing traces"): - if event.name == "Compute": - task_key = event.args['name'] - task_duration = event.duration - thread_id = event.thread_id - process_id = event.process_id - task_name_keys[(process_id, thread_id)][task_key].append(event.args['key']) - task_durations[(process_id, thread_id)][task_key] += task_duration - elif event.name == "Resource Usage": - event_timestamp = event.timestamp - gpu_utilization = event.args['gpu_utilization'] - gpu_memory_used = event.args['gpu_memory_used'] - - # Find the corresponding task for the resource event based on timestamp - task_key = None - for task_event in self._database: - if task_event.name == "Compute" and task_event.timestamp <= event_timestamp <= ( - task_event.timestamp + task_event.duration): - task_key = task_event.args['name'] - break - - if task_key is not None: - task_resources[task_key]['gpu_utilization'].append(gpu_utilization) - task_resources[task_key]['gpu_memory_used'].append(gpu_memory_used) - - # Create a list of dictionaries to store data for the DataFrame - data = [] - for (process_id, thread_id), durations in tqdm.tqdm(task_durations.items(), desc="[function_bottleneck] Creating dataframe"): - total_duration = sum(durations.values()) - for task_key, duration in durations.items(): - percentage = (duration / total_duration) * 100 - gpu_utilization_values = task_resources[task_key]['gpu_utilization'] - gpu_memory_used_values = task_resources[task_key]['gpu_memory_used'] - num_tasks = len(task_name_keys[(process_id, thread_id)][task_key]) - mean_data_size = 0 - mean_throughput = 0 - count = 0 - for name_key in task_name_keys[(process_id, thread_id)][task_key]: - mean_data_size += graph.nodes[name_key]["input_data_size"] - mean_throughput += graph.nodes[name_key]["throughput"] - count += 1 - mean_data_size /= count - mean_throughput /= count - - mean_gpu_utilization = sum(gpu_utilization_values) / len(gpu_utilization_values) if len( - gpu_utilization_values) > 0 else 0 - mean_gpu_memory_used = sum(gpu_memory_used_values) / len(gpu_memory_used_values) if len( - gpu_memory_used_values) > 0 else 0 - data.append({ - 'Host': process_id, - "GPU": thread_id.split("-")[-1], - 'Function': task_key, - 'Duration (s)': duration, - 'Percentage of total time (%)': percentage, - 'Mean GPU Utilization (%)': mean_gpu_utilization, - 'Mean GPU Memory Used (GB)': mean_gpu_memory_used / 1e9, - "Mean Data Size (MB)": mean_data_size / 1e6, - "Mean Throughput (MB/s)": mean_throughput/1e6, - "Num Tasks (chunks)": num_tasks, - "Mean Task time (s)": duration / num_tasks - }) - - # Create a Pandas DataFrame from the data list - df = pd.DataFrame(data) - df.set_index(['Host', 'GPU'], append=True) - df.sort_values(by='Duration (s)', ascending=False, inplace=True) - return df - - def per_worker_task_balance(self): - # Dictionary to store the number of tasks per worker at each timestamp - tasks_per_worker = defaultdict(lambda: defaultdict(int)) - - # Find the start and end time - start_time = float('inf') - end_time = float('-inf') - - # Iterate over the traces to calculate the number of tasks per worker at each timestamp - for event in tqdm.tqdm(self._database, desc="[task_balance] Analysing traces"): - if event.name == "Managed Memory": - timestamp = int(event.timestamp) - thread_id = event.thread_id - tasks = event.args['tasks'] - tasks_per_worker[timestamp][thread_id] = tasks - - # Update start and end time - start_time = min(start_time, timestamp) - end_time = max(end_time, timestamp) - - # Shift the linear spacing of 1 second in relation to the start time - timestamps = list(range(0, int(end_time - start_time) + 1)) - - # Calculate the mean number of tasks per thread in each time interval - mean_tasks_per_interval = defaultdict(dict) - - for timestamp in tqdm.tqdm(timestamps, desc="[task_balance] Creating dataframe"): - shifted_timestamp = start_time + timestamp - tasks_per_thread = tasks_per_worker[shifted_timestamp] - for thread_id, tasks in tasks_per_thread.items(): - mean_tasks_per_interval[timestamp][thread_id] = tasks - - # Create a Pandas DataFrame from the mean_tasks_per_interval dictionary - df = pd.DataFrame.from_dict(mean_tasks_per_interval, orient='index') - - df = df.reindex(sorted(df.columns), axis=1) - - # Fill missing values with 0 (if a thread didn't have any tasks in a specific interval) - df.fillna(0, inplace=True) - - # Calculate the mean number of tasks per thread across all intervals - # df['Mean Tasks'] = df.mean(axis=0) - - # Reset the index and rename the column - df.reset_index(inplace=True) - df.rename(columns={'index': 'Time Interval (seconds from begin)'}, inplace=True) - # df["Time Interval"] = df["Time Interval"].apply(lambda x: x + start_time) - - # Print the DataFrame showing the mean number of tasks per thread in each time interval - df.sort_values(by='Time Interval (seconds from begin)', inplace=True) - return df - - def per_task_bottleneck(self): - # Create the annotated DAG - graph = self.create_annotated_task_graph() - # Dictionary to store task durations per thread_id - task_durations = defaultdict(lambda: defaultdict(float)) - # Dictionary to store mean gpu_utilization and gpu_memory_used per task_key - task_resources = defaultdict(lambda: {'gpu_utilization': [], 'gpu_memory_used': []}) - memory_usage_per_task = defaultdict(int) - # Dictionaty mapping name to keys - task_name_keys = defaultdict(lambda: defaultdict(list)) - - # Iterate over the traces to calculate task durations per thread_id - for event in tqdm.tqdm(self._database, desc="[task_bottleneck] Analysing traces"): - if event.name == "Compute": - task_key = event.args['key'] - task_duration = event.duration - thread_id = event.thread_id - process_id = event.process_id - task_name_keys[(process_id, thread_id)][task_key].append(event.args['key']) - task_durations[(process_id, thread_id)][task_key] += task_duration - memory_usage_per_task[task_key] = event.args['size'] - - elif event.name == "Resource Usage": - event_timestamp = event.timestamp - gpu_utilization = event.args['gpu_utilization'] - gpu_memory_used = event.args['gpu_memory_used'] - - # Find the corresponding task for the resource event based on timestamp - task_key = None - for task_event in self._database: - if task_event.name == "Compute" and task_event.timestamp <= event_timestamp <= ( - task_event.timestamp + task_event.duration): - task_key = task_event.args['name'] - break - - if task_key is not None: - task_resources[task_key]['gpu_utilization'].append(gpu_utilization) - task_resources[task_key]['gpu_memory_used'].append(gpu_memory_used) - - # Create a list of dictionaries to store data for the DataFrame - data = [] - for (process_id, thread_id), durations in tqdm.tqdm(task_durations.items(), desc="[task_bottleneck] Creating dataframe"): - total_duration = sum(durations.values()) - for task_key, duration in durations.items(): - percentage = (duration / total_duration) * 100 - gpu_utilization_values = task_resources[task_key]['gpu_utilization'] - gpu_memory_used_values = task_resources[task_key]['gpu_memory_used'] - num_tasks = len(task_name_keys[(process_id, thread_id)][task_key]) - mean_data_size = 0 - mean_throughput = 0 - count = 0 - for name_key in task_name_keys[(process_id, thread_id)][task_key]: - mean_data_size += graph.nodes[name_key]["input_data_size"] - mean_throughput += graph.nodes[name_key]["throughput"] - count += 1 - mean_data_size /= count - mean_throughput /= count - - mean_gpu_utilization = sum(gpu_utilization_values) / len(gpu_utilization_values) if len( - gpu_utilization_values) > 0 else 0 - mean_gpu_memory_used = sum(gpu_memory_used_values) / len(gpu_memory_used_values) if len( - gpu_memory_used_values) > 0 else 0 - data.append({ - 'Host': process_id, - "GPU": thread_id.split("-")[-1], - 'Task Key': task_key, - 'Duration (s)': duration, - 'Percentage of total time (%)': percentage, - 'Memory usage (Mb)': memory_usage_per_task[task_key] / 1e6, - # 'Mean GPU Utilization (%)': mean_gpu_utilization, - # 'Mean GPU Memory Used (GB)': mean_gpu_memory_used / 1e9, - # "Mean Data Size (MB)": mean_data_size / 1e6, - # "Mean throughput (B/s)": mean_throughput, - # "Num Tasks (chunks)": num_tasks, - }) - - # Create a Pandas DataFrame from the data list - df = pd.DataFrame(data) - df.set_index(['Host', 'GPU'], append=True) - df.sort_values(by='Duration (s)', ascending=False, inplace=True) - return df - -valid_analyses = [ - "function_bottleneck", - "task_bottleneck", - "task_balance" -] - -def main(database: MultiEventDatabase, output: str = None, analyses: List[str] = None, head: int = 30): - pd.set_option('display.float_format', lambda x: '%.5f' % x) - pd.set_option('display.max_rows', 100) - pd.set_option('display.max_columns', 100) - pd.set_option('display.width', 1000) - - if analyses is None: - analyses = valid_analyses - - if output is not None: - output = Path(output) - output.mkdir(parents=True, exist_ok=True) - - analyser = TraceAnalyser(database) - if "function_bottleneck" in analyses: - df = analyser.per_function_bottleneck() - if output is not None: - df.to_csv(f"{output}/function_bottleneck.csv") - - print("="*20 + "Function bottleneck" + "="*20) - print(df.head(head)) - print("=" * 80 + "\n") - - if "task_bottleneck" in analyses: - df = analyser.per_task_bottleneck() - if output is not None: - df.to_csv(f"{output}/task_bottleneck.csv") - - print("="*20 + "Task bottleneck" + "="*20) - print(df.head(head)) - print("=" * 80 + "\n") - - if "task_balance" in analyses: - df = analyser.per_worker_task_balance() - if output is not None: - df.to_csv(f"{output}/task_balance.csv") - - print("="*20 + "Task balance" + "="*20) - print(df.head(head)) - print("=" * 80 + "\n") - - print("Analyses finished!") - - -if __name__ == "__main__": - # Argument parser with default help format - parser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter) - parser.add_argument("-d", "--databases", type=str, nargs="+", help="The databases to analyse",required=True) - parser.add_argument("-o", "--output", type=str, help="The output directory, to save output analysis. If None, print only in screen", required=False) - parser.add_argument("-a", "--analyses", type=str, nargs="+", help="The analyses to perform (if None, perform all)", required=False) - - args = parser.parse_args() - database = MultiEventDatabase( - [EventProfiler(database_file=database) for database in args.databases] - ) - main(database, args.output, args.analyses) \ No newline at end of file diff --git a/dasf/profile/plugins.py b/dasf/profile/plugins.py deleted file mode 100644 index 93e3dff..0000000 --- a/dasf/profile/plugins.py +++ /dev/null @@ -1,150 +0,0 @@ -import os -import socket -import time -from typing import Any - -import nvtx -import pynvml -from dask.distributed.compatibility import PeriodicCallback -from dask.distributed.system_monitor import SystemMonitor -from distributed.diagnostics.plugin import WorkerPlugin -from pynvml import * - -from dasf.profile.profiler import EventProfiler - - -class WorkerTaskPlugin(WorkerPlugin): - def __init__( - self, - name: str = "TracePlugin", - ): - self.name = name - - def setup(self, worker): - self.worker = worker - self.hostname = socket.gethostname() - self.worker_id = f"worker-{self.hostname}-{self.worker.name}" - self.database = EventProfiler( - database_file=f"{self.name}-{self.hostname}.msgpack", - ) - - def transition(self, key, start, finish, *args, **kwargs): - now = time.monotonic() - - if finish == "memory": - # Get the last compute event - startstops = next( - ( - x - for x in reversed(self.worker.state.tasks[key].startstops) - if x["action"] == "compute" - ), - None, - ) - if startstops is not None: - # Add information about the task execution - shape = tuple() - dtype = "unknown" - if hasattr(self.worker.data[key], "shape"): - if isinstance(getattr(self.worker.data[key], "shape"), tuple): - shape = getattr(self.worker.data[key], "shape") - - if hasattr(self.worker.data[key], "dtype"): - dtype = str(getattr(self.worker.data[key], "dtype")) - - task = self.worker.state.tasks[key] - nbytes = task.nbytes or 0 - - self.database.record_complete_event( - name="Compute", - timestamp=now, - # TODO check startstop returning None - duration=startstops["stop"] - startstops["start"], - process_id=self.hostname, - thread_id=self.worker_id, - args={ - "key": key, - "name": "-".join(key.split(",")[0][2:-1].split("-")[:-1]), - "state": finish, - "size": nbytes, - "shape": shape, - "dtype": dtype, - "type": str(type(self.worker.data[key])), - "dependencies": [dep.key for dep in task.dependencies], - "dependents": [dep.key for dep in task.dependents], - }, - ) - - if finish == "memory" or finish == "erred": - # Additionally add the total in-memory tasks - self.database.record_instant_event( - name="Managed Memory", - timestamp=now, - process_id=self.hostname, - thread_id=self.worker_id, - args={ - "key": key, - "state": finish, - "size": self.worker.state.nbytes, - "tasks": len(self.worker.data), - } - ) - -class ResourceMonitor: - def __init__(self, time = 100, autostart: bool = True, name: str = "ResourceMonitor", **monitor_kwargs): - self.time = time - self.name = name - self.hostname = socket.gethostname() - self.database = EventProfiler( - database_file=f"{self.name}-{self.hostname}.msgpack", - ) - self.monitor = SystemMonitor(**monitor_kwargs) - self.callback = PeriodicCallback(self.update, callback_time=self.time) - if autostart: - self.start() - - def __del__(self): - self.stop() - - def update(self): - res = self.monitor.update() - self.database.record_instant_event( - name="Resource Usage", - timestamp=time.monotonic(), - process_id=self.hostname, - thread_id=None, - args=res - ) - return res - - - def start(self): - self.callback.start() - - def stop(self): - self.database.commit() - self.callback.stop() - -class GPUAnnotationPlugin(WorkerPlugin): - def __init__( - self, - name: str = "GPUAnnotationPlugin", - ): - self.name = name - self.gpu_num = None - self.marks = {} - - def setup(self, worker): - self.worker = worker - self.gpu_num = int(os.environ['CUDA_VISIBLE_DEVICES'].split(",")[0]) - print(f"Setting up GPU annotation plugin for worker {self.worker.name}. GPU: {self.gpu_num}") - - def transition(self, key, start, finish, *args, **kwargs): - if finish == "executing": - handle = pynvml.nvmlDeviceGetHandleByIndex(self.gpu_num) - mark = nvtx.start_range(message=key, domain="compute") - self.marks[key] = mark - if start == "executing": - handle = pynvml.nvmlDeviceGetHandleByIndex(self.gpu_num) - nvtx.end_range(self.marks[key]) - del self.marks[key] \ No newline at end of file diff --git a/dasf/profile/profiler.py b/dasf/profile/profiler.py deleted file mode 100644 index 80c347c..0000000 --- a/dasf/profile/profiler.py +++ /dev/null @@ -1,251 +0,0 @@ -import atexit -import fcntl -import os -import uuid -from abc import ABC, abstractmethod -from dataclasses import dataclass, field -from pathlib import Path -from queue import SimpleQueue -from typing import Iterable, Union - -import ormsgpack -import portalocker - - -class EventPhases: - COMPLETE = "X" - DURATION_BEGIN = "B" - DURATION_END = "E" - INSTANT = "I" - ASYNC_BEGIN = "b" - ASYNC_INSTANT = "n" - ASYNC_END = "e" - FLOW_BEGIN = "s" - FLOW_STEP = "t" - FLOW_END = "f" - COUNTER = "C" - OBJECT_CREATED = "N" - OBJECT_SNAPSHOT = "O" - OBJECT_DESTROYED = "D" - METADATA = "M" - MARK = "R" - - -class InstantEventScope: - GLOBAL = "g" - PROCESS = "p" - THREAD = "t" - - -@dataclass -class InstantEvent: - name: str - timestamp: float - phase: str = EventPhases.INSTANT - scope: str = InstantEventScope.GLOBAL - process_id: int = 0 - thread_id: int = 0 - args: dict = field(default_factory=dict) - - -@dataclass -class CompleteEvent: - name: str - timestamp: float - duration: float - phase: str = EventPhases.COMPLETE - process_id: int = 0 - thread_id: int = 0 - args: dict = field(default_factory=dict) - - -@dataclass -class DurationBeginEvent: - name: str - timestamp: float - phase: str = EventPhases.DURATION_BEGIN - process_id: int = 0 - thread_id: int = 0 - args: dict = field(default_factory=dict) - - -@dataclass -class DurationEndEvent: - name: str - timestamp: float - phase: str = EventPhases.DURATION_BEGIN - process_id: int = 0 - thread_id: int = 0 - args: dict = field(default_factory=dict) - - -EventTypes = Union[CompleteEvent, InstantEvent, DurationBeginEvent, DurationEndEvent] -event_classes = { - EventPhases.COMPLETE: CompleteEvent, - EventPhases.INSTANT: InstantEvent, - EventPhases.DURATION_BEGIN: DurationBeginEvent, - EventPhases.DURATION_END: DurationEndEvent, -} - - -class EventDatabase(ABC): - def open(self) -> "EventDatabase": - return self - - @abstractmethod - def record(self, event: EventTypes): - raise NotImplementedError - - @abstractmethod - def commit(self): - raise NotImplementedError - - @abstractmethod - def get_traces(self) -> Iterable[EventTypes]: - raise NotImplementedError - - def close(self): - pass - - def __enter__(self): - return self.open() - - def __exit__(self, *args, **kwargs): - self.close() - - -class FileDatabase(EventDatabase): - def __init__( - self, - database_file: str = "traces.msgpack", - commit_threshold: int = 5000, - remove_old_output_file: bool = False, - commit_on_close: bool = True, - lock_timeout: int = 30, - default_byte_size: int = 8, - flush: bool = True, - ): - self.database_file = Path(database_file) - self.commit_threshold = commit_threshold - self.commit_on_close = commit_on_close - self.queue = SimpleQueue() - self.lock_timeout = lock_timeout - self.byte_size = default_byte_size - self.flush = flush - if remove_old_output_file: - self.database_file.unlink(missing_ok=True) - - # Register a function to commit the events when the program exits - atexit.register(self.close) - - def record(self, event: EventTypes): - self.queue.put(event) - if self.queue.qsize() >= self.commit_threshold: - self.commit() - - def commit(self): - # TODO implement async commit - # Create a exclusive lock file to prevent other processes from writing to the file - with portalocker.Lock(self.database_file, mode="ab", timeout=self.lock_timeout) as f: - # Write each event to file - # Always write the size of the event first (8 bytes) then the event data - events = [] - while not self.queue.empty(): - event = self.queue.get() - packed_data = ormsgpack.packb(event) - size = len(packed_data).to_bytes(self.byte_size, byteorder="big") - events.append(size) - events.append(packed_data) - events = b"".join(events) - f.write(events) - - if self.flush: - f.flush() - os.fsync(f.fileno()) - - def get_traces(self) -> Iterable[EventTypes]: - with self.database_file.open("rb") as f: - while True: - chunk = f.read(self.byte_size) - if chunk == b"": - return - size = int.from_bytes(chunk, byteorder="big") - data = f.read(size) - data = ormsgpack.unpackb(data) - data = event_classes[data["phase"]](**data) - yield data - - def close(self): - if self.commit_on_close: - self.commit() - - def __str__(self) -> str: - return f"FileDatabase at {self.database_file}" - - def __repr__(self) -> str: - return f"FileDatabase at {self.database_file}" - - -# Singleton instance of the database -class EventProfiler: - traces_file_prefix = "traces-" - - default_database = FileDatabase - default_database_kwargs = { - "commit_threshold": 1000, - "remove_old_output_file": False, - "commit_on_close": True, - } - - def __init__( - self, - database_file: str = None, - database_creation_kwargs: dict = None, - database: EventDatabase = None, - ): - self.output_file = None - if database is not None: - if database_file is not None: - raise ValueError( - "Cannot specify both output_file and database arguments" - ) - self.database = database - else: - if database_creation_kwargs is None: - database_creation_kwargs = self.default_database_kwargs - if database_file is None: - database_file = f"{self.traces_file_prefix}{str(uuid.uuid4())[:8]}.msgpack" - self.output_file = database_file - self.database = self.default_database( - database_file, **database_creation_kwargs - ) - - def _record(self, event: EventTypes): - self.database.record(event) - - def record_complete_event( - self, - name: str, timestamp: float, duration: float, **kwargs - ): - self._record(CompleteEvent(name, timestamp, duration, **kwargs)) - - def record_instant_event(self, name: str, timestamp: float, **kwargs): - self._record(InstantEvent(name, timestamp, **kwargs)) - - def record_duration_begin_event(self, name: str, timestamp: float, **kwargs): - self._record(DurationBeginEvent(name, timestamp, **kwargs)) - - def record_duration_end_event(self, name: str, timestamp: float, **kwargs): - self._record(DurationEndEvent(name, timestamp, **kwargs)) - - def get_traces(self) -> Iterable[EventTypes]: - return self.database.get_traces() - - def __str__(self): - return f"EventProfiler(database={self.database})" - - def __repr__(self) -> str: - return f"EventProfiler(database={self.database})" - - def commit(self): - self.database.commit() \ No newline at end of file diff --git a/dasf/profile/utils.py b/dasf/profile/utils.py deleted file mode 100644 index e9e7593..0000000 --- a/dasf/profile/utils.py +++ /dev/null @@ -1,47 +0,0 @@ -import atexit -import time -from typing import List - -from dasf.pipeline import Pipeline -from dasf.profile.plugins import GPUAnnotationPlugin, ResourceMonitor, WorkerTaskPlugin -from dasf.profile.profiler import EventDatabase - - -class MultiEventDatabase: - def __init__(self, databases: List[EventDatabase]): - self._databases = databases - - def __iter__(self): - for database in self._databases: - yield from database.get_traces() - - def __str__(self) -> str: - return f"MultiEventDatabase with {len(self._databases)} databases" - - def __repr__(self) -> str: - return str(self) - - -def register_default_profiler(pipeline: Pipeline, name: str = None, enable_nvtx: bool = False, add_time_suffix: bool = True): - if name is None: - name = "default" - - if add_time_suffix: - name += f"-{int(time.time())}" - - worker_plugin = WorkerTaskPlugin(name=f"{name}-TracePlugin") - pipeline.register_plugin(worker_plugin) - print(f"Registered worker plugin: {name}-TracePlugin") - - resource_plugin = ResourceMonitor(name=f"{name}-ResourceMonitor") - print(f"Registered resource plugin: {name}-ResourceMonitor") - - def close(): - resource_plugin.stop() - - if enable_nvtx: - ptx_annotator = GPUAnnotationPlugin() - pipeline.register_plugin(ptx_annotator) - print(f"Registered GPU annotation plugin (NVTX)") - - atexit.register(close) \ No newline at end of file diff --git a/dasf/transforms/__init__.py b/dasf/transforms/__init__.py deleted file mode 100644 index c051865..0000000 --- a/dasf/transforms/__init__.py +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/python3 - -from dasf.transforms.base import MappedTransform # noqa -from dasf.transforms.base import ReductionTransform # noqa -from dasf.transforms.base import TargeteredTransform # noqa -from dasf.transforms.base import Transform # noqa -from dasf.transforms.base import ( # noqa - Fit, - FitPredict, - FitTransform, - GetParams, - Predict, - SetParams, -) -from dasf.transforms.memory import ComputeDaskData, PersistDaskData # noqa -from dasf.transforms.operations import Reshape # noqa -from dasf.transforms.operations import SliceArray, SliceArrayByPercent # noqa -from dasf.transforms.transforms import ArraysToDataFrame # noqa -from dasf.transforms.transforms import ArrayToHDF5 # noqa -from dasf.transforms.transforms import ArrayToZarr # noqa -from dasf.transforms.transforms import Normalize # noqa -from dasf.transforms.transforms import ZarrToArray # noqa - -__all__ = [ - "Fit", - "FitPredict", - "FitTransform", - "Predict", - "GetParams", - "SetParams" - "Transform", - "TargeteredTransform", - "MappedTransform", - "ReductionTransform", - "Normalize", - "ArrayToZarr", - "ArrayToHDF5", - "ZarrToArray", - "ArraysToDataFrame", - "SliceArray", - "SliceArrayByPercent", - "Reshape", - "PersistDaskData", - "ComputeDaskData", -] diff --git a/dasf/transforms/base.py b/dasf/transforms/base.py deleted file mode 100644 index d509ac7..0000000 --- a/dasf/transforms/base.py +++ /dev/null @@ -1,360 +0,0 @@ -#!/usr/bin/python3 - -import inspect -from uuid import uuid4 - -import dask.array as da -import numpy as np - -try: - import cupy as cp - import dask_cudf as dcudf -except ImportError: # pragma: no cover - pass - -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import block_chunk_reduce -from dasf.utils.types import ( - is_dask_array, - is_dask_cpu_dataframe, - is_dask_dataframe, - is_dask_gpu_dataframe, -) - - -class Operator: - def get_uuid(self): - if not hasattr(self, "_uuid"): - self._uuid = uuid4() - return self._uuid - -class Fit(Operator): - def _lazy_fit_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _lazy_fit_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - @task_handler - def fit(self, X, y, sample_weight=None, **kwargs): - ... - - @staticmethod - def fit_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit(X=X, y=y, sample_weight=sample_weight, **kwargs) - - -class FitPredict(Operator): - def _lazy_fit_predict_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _lazy_fit_predict_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_predict_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_predict_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - @task_handler - def fit_predict(self, X, y=None, **kwargs): - ... - - @staticmethod - def fit_predict_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit_predict(X=X, y=y, sample_weight=sample_weight, - **kwargs) - - -class FitTransform(Operator): - def _lazy_fit_transform_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _lazy_fit_transform_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_transform_cpu(self, X, y=None, **kwargs): - raise NotImplementedError - - def _fit_transform_gpu(self, X, y=None, **kwargs): - raise NotImplementedError - - @task_handler - def fit_transform(self, X, y=None, **kwargs): - ... - - @staticmethod - def fit_transform_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit_transform(X=X, y=y, sample_weight=sample_weight, - **kwargs) - - -class Predict(Operator): - def _lazy_predict_cpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError - - def _lazy_predict_gpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError - - def _predict_cpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError - - def _predict_gpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError - - @task_handler - def predict(self, X, sample_weight=None, **kwargs): - ... - - @staticmethod - def predict_from_model(model, X, sample_weight=None, **kwargs): - if 'sample_weight' not in inspect.signature(model.predict).parameters: - return model.predict(X=X, **kwargs) - return model.predict(X=X, sample_weight=sample_weight, **kwargs) - - -class GetParams(Operator): - def _lazy_get_params_cpu(self, deep=True, **kwargs): - raise NotImplementedError - - def _lazy_get_params_gpu(self, deep=True, **kwargs): - raise NotImplementedError - - def _get_params_cpu(self, deep=True, **kwargs): - raise NotImplementedError - - def _get_params_gpu(self, deep=True, **kwargs): - raise NotImplementedError - - @task_handler - def get_params(self, deep=True, **kwargs): - ... - - -class SetParams(Operator): - def _lazy_set_params_cpu(self, **params): - raise NotImplementedError - - def _lazy_set_params_gpu(self, **params): - raise NotImplementedError - - def _set_params_cpu(self, **params): - raise NotImplementedError - - def _set_params_gpu(self, **params): - raise NotImplementedError - - @task_handler - def set_params(self, **params): - ... - - -class Transform(Operator): - def _lazy_transform_cpu(self, X, **kwargs): - raise NotImplementedError - - def _lazy_transform_gpu(self, X, **kwargs): - raise NotImplementedError - - def _transform_cpu(self, X, **kwargs): - raise NotImplementedError - - def _transform_gpu(self, X, **kwargs): - raise NotImplementedError - - @task_handler - def transform(self, X, **kwargs): - ... - - @staticmethod - def transform_from_model(model, X, **kwargs): - return model.transform(X=X, **kwargs) - - -class TargeteredTransform(Transform): - def __init__(self, run_local=None, run_gpu=None): - super().__init__() - - self._run_local = run_local - self._run_gpu = run_gpu - - -class MappedTransform(Transform): - def __init__( - self, - function, - depth=None, - boundary=None, - trim=True, - output_chunk=None, - drop_axis=None, - new_axis=None, - ): - - self.function = function - self.depth = depth - self.boundary = boundary - self.trim = trim - self.output_chunk = output_chunk - self.drop_axis = drop_axis - self.new_axis = new_axis - - if ( - self.boundary is None - and self.depth is not None - or self.boundary is not None - and self.depth is None - ): - raise Exception("Both boundary and depth should be passed " - "together") - - def __lazy_transform_generic(self, X, xp, **kwargs): - if self.drop_axis is not None or self.new_axis is not None: - drop_axis, new_axis = self.drop_axis, self.new_axis - else: - drop_axis, new_axis = block_chunk_reduce(X, self.output_chunk) - - if self.output_chunk is None: - __output_chunk = X.chunks - else: - __output_chunk = self.output_chunk - - if self.depth and self.boundary: - if self.trim: - new_data = X.map_overlap( - self.function, - **kwargs, - dtype=X.dtype, - depth=self.depth, - boundary=self.boundary, - meta=xp.array(()), - ) - else: - data_blocks = da.overlap.overlap( - X, depth=self.depth, boundary=self.boundary - ) - - new_data = data_blocks.map_blocks( - self.function, - dtype=X.dtype, - drop_axis=drop_axis, - new_axis=new_axis, - chunks=__output_chunk, - meta=xp.array(()), - **kwargs, - ) - else: - if is_dask_array(X): - new_data = X.map_blocks( - self.function, - dtype=X.dtype, - drop_axis=drop_axis, - new_axis=new_axis, - chunks=__output_chunk, - meta=xp.array(()), - **kwargs, - ) - elif is_dask_dataframe(X): - new_data = X.map_partitions(self.function, **kwargs) - - return new_data - - def _lazy_transform_cpu(self, X, **kwargs): - return self.__lazy_transform_generic(X, xp=np, **kwargs) - - def _lazy_transform_gpu(self, X, **kwargs): - return self.__lazy_transform_generic(X, xp=cp, **kwargs) - - def _transform_cpu(self, X, **kwargs): - return self.function(X, **kwargs) - - def _transform_gpu(self, X, **kwargs): - return self.function(X, **kwargs) - - @task_handler - def transform(self, X, **kwargs): - ... - - -class ReductionTransform(Transform): - def __init__(self, output_size, func_aggregate, func_chunk, func_combine=None): - self.output_size = output_size - - self.func_aggregate = func_aggregate - self.func_chunk = func_chunk - self.func_combine = func_combine - - def _operation_aggregate_cpu(self, block, axis=None, keepdims=False): - return self.func_aggregate(block, axis, keepdims, xp=np) - - def _operation_aggregate_gpu(self, block, axis=None, keepdims=False): - return self.func_aggregate(block, axis, keepdims, xp=cp) - - def _operation_combine_cpu(self, block, axis=None, keepdims=False): - return self.func_combine(block, axis, keepdims, xp=np) - - def _operation_combine_gpu(self, block, axis=None, keepdims=False): - return self.func_combine(block, axis, keepdims, xp=cp) - - def _operation_chunk_cpu(self, block, axis=None, keepdims=False): - return self.func_chunk(block, axis, keepdims, xp=np) - - def _operation_chunk_gpu(self, block, axis=None, keepdims=False): - return self.func_chunk(block, axis, keepdims, xp=cp) - - def _lazy_transform_cpu(self, X, *args, **kwargs): - if self.func_combine is not None: - kwargs['combine'] = self._operation_combine_cpu - - if is_dask_cpu_dataframe(X): - return X.reduction(chunk=self._operation_chunk_cpu, - aggregate=self._operation_aggregate_cpu, - meta=self.output_size, - *args, - **kwargs) - else: - return da.reduction(X, - chunk=self._operation_chunk_cpu, - aggregate=self._operation_aggregate_cpu, - dtype=X.dtype, - meta=np.array(self.output_size, - dtype=X.dtype), - *args, - **kwargs) - - def _lazy_transform_gpu(self, X, *args, **kwargs): - if self.func_combine is not None: - kwargs['combine'] = self._operation_combine_gpu - - if is_dask_gpu_dataframe(X): - return X.reduction(chunk=self._operation_chunk_gpu, - aggregate=self._operation_aggregate_gpu, - meta=self.output_size, - *args, - **kwargs) - else: - return da.reduction(X, - chunk=self._operation_chunk_gpu, - aggregate=self._operation_aggregate_gpu, - dtype=X.dtype, - meta=cp.array(self.output_size, - dtype=X.dtype), - *args, - **kwargs) - - def _transform_cpu(self, X, *args, **kwargs): - return self.func_chunk(block=X, xp=np, *args, **kwargs) - - def _transform_gpu(self, X, *args, **kwargs): - return self.func_chunk(block=X, xp=cp, *args, **kwargs) - - @task_handler - def transform(self, X, *args, **kwargs): - ... diff --git a/dasf/transforms/memory.py b/dasf/transforms/memory.py deleted file mode 100644 index 4412baf..0000000 --- a/dasf/transforms/memory.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env python3 - -from dasf.transforms.base import Transform -from dasf.utils.types import is_dask_array, is_dask_dataframe - - -class PersistDaskData(Transform): - """Allow persisting a dask array to memory and return a copy of the object. - It will gather the data blocks from all workers and resembles locally. - """ - def __lazy_transform_generic(self, X): - if is_dask_array(X) or is_dask_dataframe(X): - new_data = X.persist() - else: - new_data = X - - return new_data - - def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X) - - def _lazy_transform_gpu(self, X): - return self.__lazy_transform_generic(X) - - def _transform_cpu(self, X): - # Bypass because the data is local - return X - - def _transform_gpu(self, X): - # Bypass because the data is local - return X - - -class ComputeDaskData(Transform): - """Allow persisting a dask array to memory. It will gather the data blocks - from all workers and resembles locally. - """ - def __lazy_transform_generic(self, X): - if is_dask_array(X) or is_dask_dataframe(X): - new_data = X.compute() - else: - new_data = X - - return new_data - - def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X) - - def _lazy_transform_gpu(self, X): - return self.__lazy_transform_generic(X) - - def _transform_cpu(self, X): - # Bypass because the data is local - return X - - def _transform_gpu(self, X): - # Bypass because the data is local - return X diff --git a/dasf/transforms/operations.py b/dasf/transforms/operations.py deleted file mode 100644 index cf55051..0000000 --- a/dasf/transforms/operations.py +++ /dev/null @@ -1,458 +0,0 @@ -#!/usr/bin/env python3 - -import dask.array as da -import numpy as np -from scipy import stats - -try: - import cupy as cp -except ImportError: # pragma: no cover - pass - -from dasf.ml.inference.loader.base import BaseLoader -from dasf.transforms.base import Fit, ReductionTransform, Transform -from dasf.utils.types import is_array, is_dataframe - - -class Reshape(Fit): - """Get a slice of a cube. An inline slice is a section over the x-axis. - - Parameters - ---------- - iline_index : int - The index of the inline to get. - - """ - def __init__(self, shape: tuple = None): - self.shape = shape - - def fit(self, X, y=None): - if self.shape: - cube_shape = self.shape - elif y is not None and hasattr(y, "shape"): - cube_shape = y.shape - else: - raise Exception("Missing shape input.") - - if is_array(X): - slice_array = X - elif is_dataframe(X): - slice_array = X.values - else: - raise ValueError("X is not a known datatype.") - - return slice_array.reshape(cube_shape) - - -class SliceArray(Transform): - def __init__(self, output_size): - self.x = list(output_size) - - def transform(self, X): - if len(self.x) == 1: - return X[0 : self.x[0]] - elif len(self.x) == 2: - return X[0 : self.x[0], 0 : self.x[1]] - elif len(self.x) == 3: - return X[0 : self.x[0], 0 : self.x[1], 0 : self.x[2]] - else: - raise Exception("The dimmension is not known") - - -class SliceArrayByPercent(Transform): - def __init__(self, x=100.0, y=100.0, z=100.0): - self.x = float(x / 100.0) - self.y = float(y / 100.0) - self.z = float(z / 100.0) - - def transform(self, X): - if self.x > 1 or self.y > 1 or self.z > 1: - raise Exception("Percentages cannot be higher than 100% (1.0)") - - if self.x <= 0 or self.y <= 0 or self.z <= 0: - raise Exception("Percentages cannot be negative or 0") - - if X.ndim == 1: - return X[0 : int(self.x * X.shape[0])] - elif X.ndim == 2: - return X[0 : int(self.x * X.shape[0]), 0 : int(self.y * X.shape[1])] - elif X.ndim == 3: - return X[ - 0 : int(self.x * X.shape[0]), - 0 : int(self.y * X.shape[1]), - 0 : int(self.z * X.shape[2]), - ] - else: - raise Exception("The dimmension is not known") - - -class SliceArrayByPercentile(Transform): - def __init__(self, percentile): - self.p = percentile - - def __internal_chunk_array_positive(self, block, axis=None, keepdims=False, xp=np): - block[block < 0] = 0 - block[block != 0] - return xp.array([xp.percentile(block.flatten(), self.p)]) - - def __internal_aggregate_array_positive(self, block, axis=None, keepdims=False, xp=np): - return xp.array([xp.max(block)]) - - def __internal_chunk_array_negative(self, block, axis=None, keepdims=False, xp=np): - block *= -1 - block[block < 0] = 0 - block[block != 0] - return xp.array([-xp.percentile(block.flatten(), self.p)]) - - def __internal_aggregate_array_negative(self, block, axis=None, keepdims=False, xp=np): - return xp.array([xp.min(block)]) - - def _lazy_transform_cpu(self, X): - positive = ReductionTransform(func_chunk=self.__internal_chunk_array_positive, - func_aggregate=self.__internal_aggregate_array_positive, - output_size=[0]) - - negative = ReductionTransform(func_chunk=self.__internal_chunk_array_negative, - func_aggregate=self.__internal_aggregate_array_negative, - output_size=[0]) - - p = positive._lazy_transform_cpu(X, axis=[0]) - n = negative._lazy_transform_cpu(X, axis=[0]) - - # Unfortunately, we need to compute first. - pos_cutoff = p.compute()[0] - neg_cutoff = n.compute()[0] - - X[X > pos_cutoff] = pos_cutoff - X[X < neg_cutoff] = neg_cutoff - - return X - - def _lazy_transform_gpu(self, X): - positive = ReductionTransform(func_chunk=self.__internal_aggregate_array_positive, - func_aggregate=self.__internal_aggregate_array_positive, - output_size=[0]) - - negative = ReductionTransform(func_chunk=self.__internal_aggregate_array_negative, - func_aggregate=self.__internal_aggregate_array_negative, - output_size=[0]) - - p = positive._lazy_transform_gpu(X) - n = negative._lazy_transform_gpu(X) - - # Unfortunately, we need to compute first. - pos_cutoff = p.compute()[0] - neg_cutoff = n.compute()[0] - - X[X > pos_cutoff] = pos_cutoff - X[X < neg_cutoff] = neg_cutoff - - return X - - def _transform_cpu(self, X): - pos_cutoff = self.__internal_chunk_array_positive(X, xp=np) - neg_cutoff = self.__internal_chunk_array_negative(X, xp=np) - - X[X > pos_cutoff] = pos_cutoff - X[X < neg_cutoff] = neg_cutoff - - return X - - def _transform_gpu(self, X): - pos_cutoff = self.__internal_chunk_array_positive(X, xp=cp) - neg_cutoff = self.__internal_chunk_array_negative(X, xp=cp) - - X[X > pos_cutoff] = pos_cutoff - X[X < neg_cutoff] = neg_cutoff - - return X - - -class ApplyPatchesBase(Transform): - """ - Base Class for ApplyPatches Functionalities - """ - - def __init__(self, function, weight_function, input_size, overlap, offsets): - """ - function: function to be applied to each patch, can be eiter a Python Function or a ModelLoader - weight_function: weight attribution function, must receive a shape and produce a NDArray with the respective weights for each array position - input_size: size of input to the function to be applied, - overlap: dictionary containing overlapping/padding configurations to use with np.pad or dask.overlap.overlap. Its important that for the base patch set the whole "chunk core" is covered by the patches. - offsets: list of offsets for overlapping patches extraction - """ - self._function = function - self._weight_function = weight_function - self._input_size = input_size - self._offsets = offsets if offsets is not None else [] - overlap = overlap if overlap is not None else {} - self._overlap_config = { - "padding": overlap.get("padding", tuple(len(input_size) * [0])), - "boundary": overlap.get("boundary", 0), - } - - def _apply_patches(self, patch_set): - """ - Applies function to each patch in a patch set - - """ - if callable(self._function): - return np.array(list(map(self._function, patch_set))) - if isinstance(self._function, BaseLoader): - return self._function.predict(patch_set) - raise NotImplementedError("Requested Apply Method not supported") - - def _reconstruct_patches(self, patches, index, weights, inner_dim=None): - """ - Rearranges patches to reconstruct area of interest from patches and weights - """ - reconstruct_shape = np.array(self._input_size) * np.array(index) - if weights: - weight = np.zeros(reconstruct_shape) - base_weight = ( - self._weight_function(self._input_size) - if self._weight_function - else np.ones(self._input_size) - ) - else: - weight = None - if inner_dim is not None: - reconstruct_shape = np.append(reconstruct_shape, inner_dim) - reconstruct = np.zeros(reconstruct_shape) - for patch_index, patch in zip(np.ndindex(index), patches): - sl = [ - slice(idx * patch_len, (idx + 1) * patch_len, None) - for idx, patch_len in zip(patch_index, self._input_size) - ] - if weights: - weight[tuple(sl)] = base_weight - if inner_dim is not None: - sl.append(slice(None, None, None)) - reconstruct[tuple(sl)] = patch - return reconstruct, weight - - def _adjust_patches(self, arrays, ref_shape, offset, pad_value=0): - """ - Pads reconstructed_patches with 0s to have same shape as the reference shape from the base patch set - """ - pad_width = [] - sl = [] - ref_shape = list(ref_shape) - arr_shape = list(arrays[0].shape) - if len(offset) < len(ref_shape): - ref_shape = ref_shape[:-1] - arr_shape = arr_shape[:-1] - for idx, lenght, ref in zip(offset, arr_shape, ref_shape): - if idx > 0: - sl.append(slice(0, min(lenght, ref), None)) - pad_width.append((idx, max(ref - lenght - idx, 0))) - else: - sl.append(slice(np.abs(idx), min(lenght, ref - idx), None)) - pad_width.append((0, max(ref - lenght - idx, 0))) - adjusted = [ - np.pad( - arr[tuple([*sl, slice(None, None, None)])], - pad_width=[*pad_width, (0, 0)], - mode="constant", - constant_values=pad_value, - ) - if len(offset) < len(arr.shape) - else np.pad( - arr[tuple(sl)], - pad_width=pad_width, - mode="constant", - constant_values=pad_value, - ) - for arr in arrays - ] - return adjusted - - def _combine_patches(self, results, offsets, indexes): - """ - How results are combined is dependent on what is being combined. - ApplyPatchesWeightedAvg uses Weighted Average - ApplyPatchesVoting uses Voting (hard or soft) - """ - raise NotImplementedError("Combine patches method must be implemented") - - def _extract_patches(self, data, patch_shape): - """ - Patch extraction method. It will be called once for the base patch set and also for the requested offsets (overlapping patch sets) - """ - indexes = tuple(np.array(data.shape) // np.array(patch_shape)) - patches = [] - for patch_index in np.ndindex(indexes): - sl = [ - slice(idx * patch_len, (idx + 1) * patch_len, None) - for idx, patch_len in zip(patch_index, patch_shape) - ] - patches.append(data[tuple(sl)]) - return np.asarray(patches), indexes - - def _operation(self, chunk): - """ - Operation to be performed on each chunk - """ - offsets = list(self._offsets) - base = self._overlap_config["padding"] - offsets.insert(0, tuple([0] * len(base))) - - slices = [ - tuple([slice(i + base, None) for i, base in zip(offset, base)]) - for offset in offsets - ] - results = [] - indexes = [] - for sl in slices: - patch_set, patch_idx = self._extract_patches(chunk[sl], self._input_size) - results.append(self._apply_patches(patch_set)) - indexes.append(patch_idx) - output_slice = tuple( - [slice(0, lenght - 2 * pad) for lenght, pad in zip(chunk.shape, base)] - ) - return self._combine_patches(results, offsets, indexes)[output_slice] - - def _transform(self, X): - if isinstance(self._overlap_config["boundary"], int): - X_overlap = np.pad( - X, - pad_width=[(pad, pad) for pad in self._overlap_config["padding"]], - mode="constant", - constant_values=self._overlap_config["boundary"], - ) - else: - X_overlap = np.pad( - X, - pad_width=[(pad, pad) for pad in self._overlap_config["padding"]], - mode=self._overlap_config["boundary"], - ) - - return self._operation(X_overlap) - - def _lazy_transform(self, X): - X_overlap = da.overlap.overlap( - X, - depth=self._overlap_config["padding"], - boundary=self._overlap_config["boundary"], - ) - - return X_overlap.map_blocks( - self._operation, dtype=X_overlap.dtype, chunks=X.chunks - ) - - def _lazy_transform_cpu(self, X, **kwargs): - return self._lazy_transform(X) - - def _lazy_transform_gpu(self, X, **kwargs): - X = X.map_blocks(cp.asnumpy, dtype=X.dtype, meta=np.array((), dtype=X.dtype)) - return self._lazy_transform(X).map_blocks( - cp.asarray, dtype=X.dtype, meta=cp.array((), dtype=X.dtype) - ) - - def _transform_cpu(self, X, **kwargs): - return self._transform(X) - - def _transform_gpu(self, X, **kwargs): - X = cp.asnumpy(X) - return cp.asarray(self._transform(X)) - - -class ApplyPatchesWeightedAvg(ApplyPatchesBase): - """ - ApplyPatches with Weighted Average combination function. - """ - - def _combine_patches(self, results, offsets, indexes): - reconstructed = [] - weights = [] - for patches, offset, shape in zip(results, offsets, indexes): - reconstruct, weight = self._reconstruct_patches( - patches, shape, weights=True - ) - if len(reconstructed) > 0: - adjusted = self._adjust_patches( - [reconstruct, weight], reconstructed[0].shape, offset - ) - reconstruct = adjusted[0] - weight = adjusted[1] - reconstructed.append(reconstruct) - weights.append(weight) - reconstructed = np.stack(reconstructed, axis=0) - weights = np.stack(weights, axis=0) - return np.sum(reconstructed * weights, axis=0) / np.sum(weights, axis=0) - - -class ApplyPatchesVoting(ApplyPatchesBase): - """ - ApplyPatches with Voting combination function. - """ - - def __init__( - self, - function, - weight_function, - input_size, - overlap, - offsets, - voting, - num_classes, - ): - """ - function: function to be applied to each patch, can be eiter a Python Function or a ModelLoader - weight_function: weight attribution function, must receive a shape and produce a NDArray with the respective weights for each array position - input_size: size of input to the function to be applied, - overlap: dictionary containing overlapping/padding configurations to use with np.pad or dask.overlap.overlap. Its important that for the base patch set the whole "chunk core" is covered by the patches. - offsets: list of offsets for overlapping patches extraction - voting: voting method. "hard" or "soft" - num_classes: number of classes possible - """ - super().__init__(function, weight_function, input_size, overlap, offsets) - self._voting = voting # Types: Hard Voting, Soft Voting - self._num_classes = num_classes - - def _combine_patches(self, results, offsets, indexes): - if self._voting == "hard": - result = self._hard_voting(results, offsets, indexes) - elif self._voting == "soft": - result = self._soft_voting(results, offsets, indexes) - else: - raise ValueError("Invalid Voting Type. Should be either soft or hard.") - return result - - def _hard_voting(self, results, offsets, indexes): - """ - Hard voting combination function - """ - reconstructed = [] - for patches, offset, shape in zip(results, offsets, indexes): - reconstruct, _ = self._reconstruct_patches( - patches, shape, weights=False, inner_dim=self._num_classes - ) - reconstruct = np.argmax(reconstruct, axis=-1).astype(np.float32) - if len(reconstructed) > 0: - adjusted = self._adjust_patches( - [reconstruct], reconstructed[0].shape, offset, pad_value=np.nan - ) - reconstruct = adjusted[0] - reconstructed.append(reconstruct) - reconstructed = np.stack(reconstructed, axis=0) - ret = stats.mode(reconstructed, axis=0, nan_policy="omit", keepdims=False)[0] - return ret - - def _soft_voting(self, results, offsets, indexes): - """ - Soft voting combination function - """ - reconstructed = [] - for patches, offset, shape in zip(results, offsets, indexes): - reconstruct, _ = self._reconstruct_patches( - patches, shape, weights=False, inner_dim=self._num_classes - ) - if len(reconstructed) > 0: - adjusted = self._adjust_patches( - [reconstruct], reconstructed[0].shape, offset - ) - reconstruct = adjusted[0] - reconstructed.append(reconstruct) - reconstructed = np.stack(reconstructed, axis=0) - return np.argmax(np.sum(reconstructed, axis=0), axis=-1) diff --git a/dasf/transforms/transforms.py b/dasf/transforms/transforms.py deleted file mode 100644 index b4d1840..0000000 --- a/dasf/transforms/transforms.py +++ /dev/null @@ -1,347 +0,0 @@ -#!/usr/bin/env python3 - -import math - -import dask -import dask.dataframe as ddf -import h5py -import numpy as np -import pandas as pd -import zarr - -from dasf.transforms.base import Transform -from dasf.utils.types import is_array, is_dask_array, is_dask_gpu_array - -try: - import cudf - import cupy as cp -except ImportError: # pragma: no cover - pass - - -class Normalize(Transform): - def transform(self, X): - return (X - X.mean()) / (X.std(ddof=0)) - - -class ArrayToZarr(Transform): - def __init__(self, chunks=None, save=True, filename=None): - self.chunks = chunks - # TODO: implement the possibility of not saving - self.save = True - self.filename = filename - - @staticmethod - def _convert_filename(url): - if url.endswith(".npy"): - return url.replace(".npy", ".zarr") - return url + ".zarr" - - def _lazy_transform_generic_all(self, data): - if self.filename: - url = self.filename - elif hasattr(data, '_root_file'): - url = data._root_file - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - if data is None: - raise Exception("Dataset needs to be loaded first.") - - url = self._convert_filename(url) - - # XXX: Workaround to avoid error with CuPy and Zarr library - if is_dask_gpu_array(data): - data = data.map_blocks(lambda x: x.get()) - - data.to_zarr(url) - - return url - - def _transform_generic_all(self, data, chunks, **kwargs): - if data is None: - raise Exception("Dataset needs to be loaded first.") - - if not chunks: - raise Exception("Chunks needs to be passed for non lazy arrays.") - - if self.filename: - url = self.filename - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - url = self._convert_filename(url) - - z = zarr.open(store=url, mode='w', shape=data.shape, - chunks=chunks, dtype='i4') - - z = data - - return url - - def _lazy_transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray, DatasetZarr - - name = None - - if isinstance(X, DatasetArray): - name = X._name - chunks = X._chunks - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._lazy_transform_generic_all(X._data) - elif is_dask_array(X): - chunks = X.chunks - - url = self._lazy_transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetZarr(name=name, download=False, root=url, chunks=chunks) - - def _transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray, DatasetZarr - - name = None - url = None - - if hasattr(X, '_chunks') and \ - (X._chunks is not None and X._chunks != 'auto'): - chunks = X._chunks - else: - chunks = self.chunks - - if chunks is None: - raise Exception("Chunks needs to be specified.") - - if isinstance(X, DatasetArray): - name = X._name - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._transform_generic_all(X._data, chunks) - elif is_array(X): - url = self._transform_generic_all(X, chunks) - else: - raise Exception("It is not an Array type.") - - return DatasetZarr(name=name, download=False, root=url, chunks=chunks) - - def _lazy_transform_gpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs) - - def _lazy_transform_cpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs) - - def _transform_gpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs) - - def _transform_cpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs) - - -class ArrayToHDF5(Transform): - def __init__(self, dataset_path, chunks=None, save=True, filename=None): - # Avoid circular dependency - from dasf.datasets.base import DatasetArray, DatasetHDF5 - - self.dataset_path = dataset_path - self.chunks = chunks - # TODO: implement the possibility of not saving - self.save = True - self.filename = filename - - @staticmethod - def _convert_filename(url): - if url.endswith(".npy"): - return url.replace(".npy", ".hdf5") - return url + ".hdf5" - - def _lazy_transform_generic_all(self, data): - if self.filename: - url = self.filename - elif hasattr(data, '_root_file'): - url = data._root_file - else: - raise Exception("Array requires a valid path to convert to HDF5.") - - if data is None: - raise Exception("Dataset needs to be loaded first.") - - url = self._convert_filename(url) - - data.to_hdf5(url, self.dataset_path) - - return url - - def _transform_generic_all(self, data): - if data is None: - raise Exception("Dataset needs to be loaded first.") - - if self.filename: - url = self.filename - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - url = self._convert_filename(url) - - h5f = h5py.File(url, 'w') - h5f.create_dataset(self.dataset_path, data=data) - h5f.close() - - return url - - def _lazy_transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray, DatasetHDF5 - - name = None - chunks = None - - if isinstance(X, DatasetArray): - name = X._name - chunks = X._chunks - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._lazy_transform_generic_all(X._data) - elif is_dask_array(X): - chunks = X.chunks - - url = self._lazy_transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetHDF5(name=name, download=False, root=url, chunks=chunks, - dataset_path=self.dataset_path) - - def _transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray, DatasetHDF5 - - name = None - url = None - - if hasattr(X, '_chunks') and \ - (X._chunks is not None and X._chunks != 'auto'): - chunks = X._chunks - else: - chunks = self.chunks - - if isinstance(X, DatasetArray): - name = X._name - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._transform_generic_all(X._data) - elif is_array(X): - url = self._transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetHDF5(name=name, download=False, root=url, chunks=chunks, - dataset_path=self.dataset_path) - - def _lazy_transform_gpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs) - - def _lazy_transform_cpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs) - - def _transform_gpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs) - - def _transform_cpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs) - - -class ZarrToArray(Transform): - def __init__(self, chunks=None, save=True, filename=None): - self.chunks = chunks - self.save = save - self.filename = filename - - @staticmethod - def _convert_filename(url): - if url.endswith(".zarr"): - return url.replace(".zarr", ".npy") - return url + ".npy" - - def transform(self, X): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetZarr - - if issubclass(X.__class__, DatasetZarr): - if self.save: - if self.filename: - url = self.filename - elif hasattr(X, '_root_file'): - url = X._root_file - else: - raise Exception("Array requires a valid path to convert to Array.") - - url = self._convert_filename(url) - - np.save(url, X._data) - - # This is just a place holder - return X._data - else: - raise Exception("Input is not a Zarr dataset.") - - -class ArraysToDataFrame(Transform): - def _build_dataframe(self, data, columns, xp, df): - data = [d.flatten() for d in data] - stacked_data = xp.stack(data, axis=1) - return df.DataFrame( - stacked_data, - columns=columns - ) - - def _lazy_transform(self, xp, df, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - assert len(X) == len(y), "Data and labels should have the same length." - - meta = ddf.utils.make_meta([ - (col, data.dtype) - for col, data in zip(y, X) - ], - parent_meta=None if df == pd else cudf.DataFrame - ) - - lazy_dataframe_build = dask.delayed(self._build_dataframe) - data_chunks = [x.to_delayed().ravel() for x in X] - partial_dataframes = [ - ddf.from_delayed(lazy_dataframe_build(data=mapped_chunks, columns=y, xp=xp, df=df), meta=meta) - for mapped_chunks in zip(*data_chunks) - ] - - return ddf.concat(partial_dataframes) - - def _lazy_transform_cpu(self, X=None, **kwargs): - return self._lazy_transform(np, pd, **kwargs) - - def _lazy_transform_gpu(self, X=None, **kwargs): - return self._lazy_transform(cp, cudf, **kwargs) - - def _transform(self, xp, df, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - assert len(X) == len(y), "Data and labels should have the same length." - - return self._build_dataframe(data=X, columns=y, xp=xp, df=df) - - def _transform_cpu(self, X=None, **kwargs): - return self._transform(np, pd, **kwargs) - - def _transform_gpu(self, X=None, **kwargs): - return self._transform(cp, cudf, **kwargs) diff --git a/dasf/utils/__init__.py b/dasf/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/dasf/utils/benchmark.py b/dasf/utils/benchmark.py deleted file mode 100644 index baf5895..0000000 --- a/dasf/utils/benchmark.py +++ /dev/null @@ -1,120 +0,0 @@ -#!/usr/bin/env python3 - -import timeit -from time import perf_counter - -try: - import memray - USE_MEMRAY = True -except ImportError: # pragma: no cover - USE_MEMRAY = False - -import cProfile -from pstats import Stats - -try: - from functools import partial - - from memory_profiler import LineProfiler, choose_backend, memory_usage, show_results - - USE_MEM_PROF = True -except ImportError: # pragma: no cover - USE_MEM_PROF = False - - -class TimeBenchmark: - def __init__(self, backend="cprofile"): - self.__backend = backend - - def __enter__(self): - if self.__backend == "cprofile": - self.__pr = cProfile.Profile() - self.__pr.enable() - elif self.__backend == "perf_counter": - self.__start = perf_counter() - self.__end = 0.0 - else: - print("There is no available backend") - return self - - def __exit__(self, *args, **kwargs): - if self.__backend == "cprofile": - self.__pr.disable() - p = Stats(self.__pr) - - p.strip_dirs().sort_stats('cumulative').print_stats(10) - elif self.__backend == "perf_counter": - self.__end = perf_counter() - print("Time spent:", self.__end - self.__start) - - def run(self, function, *args, **kwargs): - if self.__backend == "cprofile": - pr = cProfile.Profile() - pr.enable() - - function(*args, **kwargs) - - pr.disable() - p = Stats(pr) - - p.strip_dirs().sort_stats('cumulative').print_stats(10) - - self.teardown() - elif self.__backend == "timeit": - timeit.repeat("function(*args, **kwargs)", setup="self.setup()") - - self.teardown() - else: - print("There is no available backend") - - -class MemoryBenchmark: - def __init__(self, backend="memray", debug=False, output_file=None, *args, **kwargs): - self.__backend = backend - self.__debug = debug - self.__output_file = output_file - self.__args = args - self.__kwargs = kwargs - - def __enter__(self): - if self.__backend == "memray" and USE_MEMRAY: - self.__memray = memray.Tracker(*self.__args, **self.__kwargs) - - return self.__memray.__enter__() - else: - raise Exception(f"The backend {self.__backend} does not support context " - "manager") - - def __exit__(self, *args, **kwargs): - if self.__backend == "memray" and USE_MEMRAY: - return self.__memray.__exit__(*args, **kwargs) - - def run(self, function, *args, **kwargs): - if self.__backend == "memory_profiler" and USE_MEM_PROF: - if self.__debug: - # profile = LineProfiler(include_children=True) - - get_prof = partial(LineProfiler, backend=choose_backend("psutil")) - show_results_bound = partial( - show_results, precision=4 - ) - - prof = get_prof() - vals = prof(function)(*args, **kwargs) - show_results_bound(prof) - else: - vals = memory_usage((function, args, kwargs), *self.__args, - **self.__kwargs) - - self.teardown() - - return vals - elif self.__backend == "memray" and USE_MEMRAY: - with memray.Tracker(*self.__args, **self.__kwargs): - ret = function(*args, **kwargs) - - self.teardown() - - return ret - else: - print(f"The backend {self.__backend} is not supported") diff --git a/dasf/utils/decorators.py b/dasf/utils/decorators.py deleted file mode 100644 index 3682dbb..0000000 --- a/dasf/utils/decorators.py +++ /dev/null @@ -1,149 +0,0 @@ -""" Implementations of important library decorators. """ -#!/usr/bin/env python3 - -from functools import wraps - -from dasf.utils.funcs import ( - get_dask_running_client, - is_dask_gpu_supported, - is_dask_supported, - is_gpu_supported, -) -from dasf.utils.types import is_dask_array, is_gpu_array - - -def is_forced_local(cls): - """ - Returns if object is forced to run in a CPU. - """ - # pylint: disable=protected-access - if hasattr(cls, "_run_local") and cls._run_local is not None: - # pylint: disable=protected-access - return cls._run_local - return None - - -def is_forced_gpu(cls): - """ - Returns if object is forced to run in a GPU. - """ - # pylint: disable=protected-access - if hasattr(cls, "_run_gpu") and cls._run_gpu is not None: - # pylint: disable=protected-access - return cls._run_gpu - return None - - -def fetch_from_dask(*args, **kwargs) -> tuple: - """ - Fetches to CPU all parameters in a Dask data type. - """ - new_kwargs = {} - new_args = [] - - for key, value in kwargs.items(): - if is_dask_array(value): - new_kwargs[key] = value.compute() - else: - new_kwargs[key] = value - - for value in args: - if is_dask_array(value): - new_args.append(value.compute()) - else: - new_args.append(value) - - return new_args, new_kwargs - - -def fetch_from_gpu(*args, **kwargs) -> tuple: - """ - Fetches to CPU all parameters in a GPU data type. - """ - new_kwargs = {} - new_args = [] - - for key, value in kwargs.items(): - if is_gpu_array(value): - new_kwargs[key] = value.get() - else: - new_kwargs[key] = value - - for value in args: - if is_gpu_array(value): - new_args.append(value.get()) - else: - new_args.append(value) - - return new_args, new_kwargs - - -def fetch_args_from_dask(func): - """ - Fetches to CPU all function parameters in a Dask data type. - """ - def wrapper(*args, **kwargs): - new_args, new_kwargs = fetch_from_dask(*args, **kwargs) - - return func(*new_args, **new_kwargs) - - return wrapper - - -def fetch_args_from_gpu(func): - """ - Fetches to CPU all function parameters in a GPU data type. - """ - def wrapper(*args, **kwargs): - new_args, new_kwargs = fetch_from_gpu(*args, **kwargs) - - return func(*new_args, **new_kwargs) - - return wrapper - - -def task_handler(func): - """ - Returns all mapped functions corresponding to the executor in place. - """ - @wraps(func) - def wrapper(*args, **kwargs): - cls = args[0] - new_args = args[1:] - func_name = func.__name__ - func_type = "" - arch = "cpu" - client = get_dask_running_client() - if client is not None: # Runs task according to current client configuration, i.e, Pipeline Executor - func_type = "_lazy" - arch = "gpu" if getattr(client, "backend", None) == "cupy" else "cpu" - else: - if not is_forced_local(cls) and (is_dask_gpu_supported() or is_dask_supported()): - func_type = "_lazy" - if is_dask_gpu_supported() or is_gpu_supported(): - arch = "gpu" - - if is_forced_local(cls): - func_type = "" - new_args, kwargs = fetch_from_dask(*new_args, **kwargs) - - if is_forced_gpu(cls): - arch = "gpu" - - if arch == "cpu": - new_args, kwargs = fetch_from_gpu(*new_args, **kwargs) - - wrapper_func_attr = f"{func_type}_{func_name}_{arch}" - - if (not hasattr(cls, wrapper_func_attr) and - hasattr(cls, func_name)): - return func(*new_args, **kwargs) - if (not hasattr(cls, wrapper_func_attr) and - not hasattr(cls, func_name)): - raise NotImplementedError( - f"There is no implementation of {wrapper_func_attr} nor " - f"{func_name}" - ) - return getattr(cls, wrapper_func_attr)(*new_args, **kwargs) - - return wrapper diff --git a/dasf/utils/funcs.py b/dasf/utils/funcs.py deleted file mode 100644 index d7ac495..0000000 --- a/dasf/utils/funcs.py +++ /dev/null @@ -1,574 +0,0 @@ -""" Generic and regular functions. """ -#!/usr/bin/env python3 - -import inspect -import os -import threading -import time -from pathlib import Path - -import dask -import dask.delayed as dd -import gdown -import GPUtil -import numpy as np -import pandas -import psutil -from dask.distributed import Client -from distributed.client import FIRST_COMPLETED, wait -from distributed.utils import TimeoutError as DistributedTimeoutError -from IPython import display as disp -from IPython import get_ipython -from ipywidgets import FloatProgress, HBox, Label - -from dasf.pipeline.types import TaskExecutorType - -try: - import cupy as cp - GPU_SUPPORTED = isinstance(cp.__version__, str) -except ImportError: # pragma: no cover - GPU_SUPPORTED = False - -try: - import jax.numpy as jnp - JAX_SUPPORTED = isinstance(jnp.__name__, str) -except ImportError: # pragma: no cover - JAX_SUPPORTED = False - -try: - import kvikio - import kvikio.defaults - KVIKIO_SUPPORTED = True -except ImportError: # pragma: no cover - KVIKIO_SUPPORTED = False - -try: - from kvikio.nvcomp_codec import NvCompBatchCodec - NV_COMP_BATCH_CODEC_SUPPORTED = True -except ImportError: # pragma: no cover - NV_COMP_BATCH_CODEC_SUPPORTED = False - - -def human_readable_size(size, decimal=3) -> str: - """ - converts data size into the proper measurement - """ - for unit in ['B', 'KB', 'MB', 'GB', 'TB']: - if size < 1024.0: - break - size /= 1024.0 - return f"{size:.{decimal}f} {unit}" - - -def get_worker_info(client) -> list: - """ - Returns a list of workers (sorted), and the DNS name for the master host - The master is the 0th worker's host - """ - info = client.scheduler_info() - - if "workers" not in info: - return [] - - workers = info["workers"] - worker_keys = sorted(workers.keys()) - workers_by_host = {} - for key in worker_keys: - worker = workers[key] - host = worker["host"] - workers_by_host.setdefault(host, []).append(key) - - all_workers = [] - - if len(worker_keys) == 0: - return all_workers - - host = workers[worker_keys[0]]["host"] - global_rank = 0 - world_size = len(workers_by_host) - hosts = sorted(workers_by_host.keys()) - for host in hosts: - local_rank = 0 - for worker in workers_by_host[host]: - all_workers.append( - dict( - master=hosts[0], - worker=worker, - nthreads=workers[worker]["nthreads"], - local_rank=0, - global_rank=global_rank, - host=host, - world_size=world_size, - ) - ) - local_rank += 1 - global_rank += 1 - return all_workers - - -def sync_future_loop(futures): - """ - Synchronize all futures submitted to workers. - """ - while True: - if not futures: - break - - try: - result = wait(futures, 0.1, FIRST_COMPLETED) - except DistributedTimeoutError: - continue - - for fut in result.done: - try: - fut.result(timeout=7200) - except Exception as exc: # pylint: disable=broad-except - print(str(exc)) - raise - futures = result.not_done - - -class NotebookProgressBar(threading.Thread): - MIN_CUR = -2 - MIN_TOTAL = -1 - - def __init__(self): - threading.Thread.__init__(self) - - # pylint: disable=disallowed-name - self.bar = None - self.percentage = None - self.data = None - - self.__lock = threading.Lock() - self.__current = self.MIN_CUR - self.__total = self.MIN_TOTAL - self.__error = False - - def show(self): - self.bar = FloatProgress(value=0, min=0, max=100) - self.percentage = Label(value='0 %') - self.data = Label(value='') - box = HBox((self.percentage, self.bar, self.data)) - disp.display(box) - - def set_current(self, current, total): - with self.__lock: - self.__current = current - self.__total = total - - def set_error(self, error): - self.__error = error - - def run(self): - while (not self.__error and self.__current < self.__total): - time.sleep(1) - - if self.__current != self.MIN_CUR and self.__total != self.MIN_TOTAL: - progress = (self.__current / self.__total) * 100 - self.bar.value = progress - self.percentage.value = f"{int(self.bar.value)} %%" - self.data.value = f"{int(self.__current)} / {int(self.__total)}" - - if not self.__error: - self.bar.style.bar_color = '#03c04a' - else: - self.bar.style.bar_color = '#ff0000' - - -def download_file(url, filename=None, directory=None): - """ - Download a generic file and save it. - """ - if directory is not None: - os.makedirs(os.path.dirname(directory), exist_ok=True) - - progressbar = None - - if is_notebook(): - progressbar = NotebookProgressBar() - - def update_notebook_bar(current, total): - progressbar.set_current(current, total) - - try: - if filename and directory: - output = os.path.abspath(os.path.join(directory, filename)) - - if not os.path.exists(output): - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - gdown.download(url, output=output) # TODO: use pbar=update_notebook_bar - else: - gdown.download(url, output=output) - elif filename: - output = os.path.abspath(os.path.join(os.getcwd(), filename)) - - if not os.path.exists(output): - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - gdown.download(url, output=output) # TODO: use pbar=update_notebook_bar - else: - gdown.download(url, output=output) - elif directory: - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - output = \ - os.path.abspath(os.path.join(directory, - gdown.download(url, - bar=update_notebook_bar))) - else: - output = os.path.abspath(os.path.join(directory, gdown.download(url))) - else: - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - output = \ - os.path.abspath(os.path.join(os.getcwd(), - gdown.download(url, - bar=update_notebook_bar))) - else: - output = os.path.abspath(os.path.join(os.getcwd(), gdown.download(url))) - except Exception as exc: - if progressbar: - progressbar.set_error(True) - - return output - - -def download_file_from_gdrive(file_id, filename=None, directory=None): - """ - Download a file from Google Drive using gdrive file id. - """ - url = f"https://drive.google.com/uc?export=download&confirm=9iBg&id={file_id}" - - return download_file(url, filename=filename, directory=directory) - - -def get_machine_memory_avail(): - """ - Return free memory available from a single machine. - """ - return psutil.virtual_memory().free - - -def set_executor_default(): - """ - Return executor as a CPU (default) instance. - """ - return TaskExecutorType.single_cpu - - -def set_executor_gpu(): - """ - Return executor as a GPU instance. - """ - return TaskExecutorType.single_gpu - - -def is_executor_single(dtype) -> bool: - """ - Return if the executor is a single machine instance. - """ - return dtype in (TaskExecutorType.single_cpu, TaskExecutorType.single_gpu) - - -def is_executor_cluster(dtype) -> bool: - """ - Return if the executor is a cluster instance. - """ - return dtype in (TaskExecutorType.multi_cpu, TaskExecutorType.multi_gpu) - - -def is_executor_cpu(dtype) -> bool: - """ - Return if the executor is a CPU instance. - """ - return dtype in (TaskExecutorType.single_cpu, TaskExecutorType.multi_cpu) - - -def is_executor_gpu(dtype) -> bool: - """ - Return if the executor is a GPU instance. - """ - return dtype in (TaskExecutorType.single_gpu, TaskExecutorType.multi_gpu) - - -def is_gpu_supported() -> bool: - """ - Return if GPU is supported. - """ - return GPU_SUPPORTED and get_gpu_count() >= 1 - - -def is_kvikio_supported() -> bool: - """ - Return if kvikio is supported (installed). - """ - return KVIKIO_SUPPORTED - - -def is_gds_supported() -> bool: - """ - Return if GPU Direct Store is supported. - """ - if is_kvikio_supported(): - props = kvikio.DriverProperties() - return props.is_gds_available - - return False - - -def is_kvikio_compat_mode() -> bool: - """ - Return if Kvikio is running in compatibility mode. - """ - return kvikio.defaults.compat_mode() - - -def is_nvcomp_codec_supported() -> bool: - """ - Return if NVidia Compressor Codecs are supported. - """ - return NV_COMP_BATCH_CODEC_SUPPORTED - - -def is_jax_supported() -> bool: - """ - Return if JAX is supported. - """ - return JAX_SUPPORTED - - -def is_dask_local_supported() -> bool: - """ - Return if Dask is supported locally by the executor. - """ - try: - scheduler = dask.config.get(key="scheduler") - return scheduler is not None - except Exception: - return False - - -def get_dask_running_client(): - """ - Get Dask runner stanza. - """ - try: - return Client.current() - except: - return None - - - -def get_backend_supported(func): - """ - Get backend support. - """ - par = inspect.signature(func) - if "backend" in par.parameters: - return True - return False - - -def is_dask_supported() -> bool: - """ - Return if Dask is supported by the executor. - """ - try: - if is_dask_local_supported(): - return True - - cur = get_dask_running_client() - if hasattr(cur, 'dtype'): - return is_executor_cluster(cur.dtype) - return cur is not None - except Exception: - return False - - -def is_dask_gpu_supported() -> bool: - """ - Return if any node supports GPU. - """ - if is_dask_supported(): - if get_gpu_from_workers(): - return True - elif get_dask_gpu_count() > 0: - return True - - return False - - -def get_gpu_from_workers() -> bool: - try: - cur = get_dask_running_client() - - workers = cur.cluster.scheduler_info["workers"] - - for worker_id, worker_meta in workers.items(): - if 'gpu' in worker_meta: - return True - except Exception: - pass - - return False - - -def get_gpu_count() -> int: - """ - Get single node GPU count. - """ - return len(GPUtil.getGPUs()) - - -def get_dask_gpu_count(fetch=True) -> int: - """ - Get how many GPUs are available in each worker. - """ - # pylint: disable=not-callable - ret = dd(GPUtil.getGPUs)() - if fetch: - return len(ret.compute()) - return ret - - -def block_chunk_reduce(dask_data, output_chunk): - """ - Reduce the chunk according the new output size. - """ - drop_axis = np.array([]) - new_axis = None - - if output_chunk is None or not isinstance(output_chunk, tuple): - return drop_axis.tolist(), new_axis - - data_chunk = dask_data.chunksize - - drop_axis = np.in1d(data_chunk, output_chunk) - new_axis = np.in1d(output_chunk, data_chunk) - - drop_axis = np.where(drop_axis == False) - new_axis = np.where(new_axis == False) - - return drop_axis[0].tolist(), new_axis[0].tolist() - - -def trim_chunk_location(block_info, depth, index=0): - """ - Trim an overlapped chunk to the exact size of the chunk. - """ - if not 'array-location' in block_info[index]: - raise IndexError("Key 'array-location' was not found in block-info.") - - if not 'chunk-location' in block_info[index]: - raise IndexError("Key 'chunk-location' was not found in block-info.") - - loc = block_info[index]['array-location'] - - chunks = block_info[index]['chunk-location'] - - if len(depth) != len(loc) and len(depth) != len(chunks): - raise ValueError(f"Depth {len(depth)}, location {len(loc)} and/or chunks {len(chunks)} do not match.") - - loc_orig = [] - for i in range(0, len(depth)): - loc_orig.append((loc[i][0] - 2 * depth[i] * chunks[i], - loc[i][1] - 2 * depth[i] - (loc[i][0] - 2 * depth[i] * chunks[i]))) - - return loc_orig - - -def return_local_and_gpu(executor, local, gpu): - """ - Return executor type based on passed preferences. - """ - # pylint: disable=too-many-return-statements - if local is not None and gpu is None: - if local is True: - return TaskExecutorType(executor.dtype.value & 2) - if local is False: - return TaskExecutorType(executor.dtype.value | 1) - elif local is None and gpu is not None: - if gpu is True: - return TaskExecutorType((executor.dtype >> 1) + 2) - if gpu is False: - return TaskExecutorType(executor.dtype & 1) - elif local is not None and gpu is not None: - if local is True and gpu is False: - return TaskExecutorType.single_cpu - if local is False and gpu is False: - return TaskExecutorType.multi_cpu - if local is True and gpu is True: - return TaskExecutorType.single_gpu - if local is False and gpu is True: - return TaskExecutorType.multi_gpu - - return executor.dtype - - -def get_dask_mem_usage(profiler): - """ - Get Dask memory usage profile. - """ - profiler_dir = os.path.abspath(str(Path.home()) + "/.cache/dasf/profiler/") - - if profiler == "memusage": - os.makedirs(profiler_dir, exist_ok=True) - - mem = pandas.read_csv(os.path.abspath(profiler_dir + "/dask-memusage")) - - column = mem["max_memory_mb"] - max_index = column.idxmax() - - return mem["max_memory_mb"][max_index] - return 0.0 - - -def is_notebook() -> bool: - """ - Return if the code is being executed in a IPyNotebook. - """ - try: - shell = get_ipython().__class__.__name__ - if shell == "ZMQInteractiveShell": - return True - except NameError: - pass - - return False - - -def weight_gaussian(shape): - """ - Produces a NDArray for a given shape with a Gaussian Distribution in all directions starting from the center - """ - center = np.array(shape) / 2 - distances = np.zeros(shape) - for idx in np.ndindex(shape): - distances[idx] = np.linalg.norm(np.array(idx) - center) - distances = distances / np.max(distances) - return np.exp(-2 * (distances**2)) / (np.sqrt(2 * np.pi) / 2) - - -def weight_radial(shape): - """ - Produces a NDArray for a given shape with a decreasing rate starting from the center - """ - center = np.array(shape) / 2 - distances = np.zeros(shape) - for idx in np.ndindex(shape): - distances[idx] = np.linalg.norm(np.array(idx) - center) - return 1 / (1 + distances) diff --git a/dasf/utils/labels.py b/dasf/utils/labels.py deleted file mode 100644 index 7728cbf..0000000 --- a/dasf/utils/labels.py +++ /dev/null @@ -1,153 +0,0 @@ -#!/usr/bin/env python3 - -from threading import Lock - -from dask.base import is_dask_collection -from dask.core import get_dependencies, ishashable, istask -from dask.dot import graphviz_to_file, to_graphviz - -inside_with = Lock() - -g_hash_attrs = dict() -g_func_attrs = dict() -g_data_attrs = dict() - - -class DaskLabel(object): - def __init__(self, start, stop, label=None, color=None): - self.__label = label - self.__color = color - self.__start = start - self.__stop = stop - self.__hash_attrs = g_hash_attrs - self.__func_attrs = g_func_attrs - self.__data_attrs = g_data_attrs - - def start(self, start): - self.__enter(start) - - def stop(self, stop): - self.__exit(stop, None, None, None) - - def __name(self, x): - try: - return str(hash(x)) - except TypeError: - return str(hash(str(x))) - - def __add_item(self, key, tag, label=None, color=None, atype="data"): - if not key in self.__data_attrs: - self.__hash_attrs[key] = dict() - # We use comment as a generic field for tag - self.__hash_attrs[key]["comment"] = tag - self.__hash_attrs[key]["xlabel"] = label - self.__hash_attrs[key]["color"] = color - self.__hash_attrs[key]["type"] = atype - - def __add_func(self, key, tag, label, color): - if not key in self.__func_attrs: - self.__func_attrs[key] = dict() - # We use comment as a generic field for tag - self.__func_attrs[key]["comment"] = tag - if label: - self.__func_attrs[key]["xlabel"] = label - if color: - self.__func_attrs[key]["color"] = color - self.__func_attrs[key]["style"] = "filled" - - def __add_data(self, key, tag, label, color): - if not key in self.__data_attrs: - self.__data_attrs[key] = dict() - # We use comment as a generic field for tag - self.__data_attrs[key]["comment"] = tag - if label: - self.__data_attrs[key]["xlabel"] = label - if color: - self.__data_attrs[key]["color"] = color - self.__data_attrs[key]["style"] = "filled" - - def __generate_hashtable(self, data, delete_dup=False): - if not is_dask_collection(data): - raise Exception("This is not a Dask data: this is %s." % str(type(data))) - else: - dsk = data.dask - - remove = set() - - for k, v in dsk.items(): - k_name = self.__name(k) - if istask(v): - func_name = self.__name((k, "function")) - - if delete_dup and func_name in self.__hash_attrs: - del self.__hash_attrs[func_name] - remove.add(func_name) - elif func_name not in remove: - self.__add_item( - func_name, k, self.__label, self.__color, atype="func" - ) - - for dep in get_dependencies(dsk, k): - dep_name = self.__name(dep) - if delete_dup and dep_name in self.__hash_attrs: - del self.__hash_attrs[dep_name] - remove.add(dep_name) - elif dep_name not in remove: - self.__add_item(dep_name, dep, self.__label, self.__color) - - def __enter(self, dsk): - global inside_with - - inside_with.acquire() - - self.__generate_hashtable(dsk) - - return self - - def __enter__(self): - dsk = eval(self.__start) - - return self.__enter(dsk) - - def __exit(self, dsk, exc_type, exc_val, exc_tb): - global inside_with, g_hash_attrs, g_func_attrs, g_data_attrs - - self.__generate_hashtable(dsk, delete_dup=True) - - for k in self.__hash_attrs: - if self.__hash_attrs[k]["type"] == "data": - self.__add_data( - self.__hash_attrs[k]["comment"], - k, - self.__hash_attrs[k]["xlabel"], - self.__hash_attrs[k]["color"], - ) - elif self.__hash_attrs[k]["type"] == "func": - self.__add_func( - self.__hash_attrs[k]["comment"], - k, - self.__hash_attrs[k]["xlabel"], - self.__hash_attrs[k]["color"], - ) - - g_hash_attrs = {**g_hash_attrs, **self.__hash_attrs} - g_func_attrs = {**g_func_attrs, **self.__func_attrs} - g_data_attrs = {**g_data_attrs, **self.__data_attrs} - - inside_with.release() - - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - dsk = eval(self.__stop) - - return self.__exit(dsk, exc_type, exc_val, exc_tb) - - -def get_attributes(): - global inside_with, g_func_attrs, g_data_attrs - - if inside_with.locked(): - print("WARNING: it cannot reflect all attribute changes.") - - return {"function_attributes": g_func_attrs, "data_attributes": g_data_attrs} diff --git a/dasf/utils/logging.py b/dasf/utils/logging.py deleted file mode 100644 index 2db081b..0000000 --- a/dasf/utils/logging.py +++ /dev/null @@ -1,28 +0,0 @@ -""" Logging helpers for functions. """ -#!/usr/bin/env python3 - -import sys -from logging import INFO, Formatter, Logger, StreamHandler, getLogger - - -def init_logging() -> Logger: - """ - Initialize logger objects to be used by modules. - """ - logger = getLogger("DASF") - - logger.setLevel(INFO) - handler = StreamHandler(sys.stdout) - - if logger.hasHandlers(): - logger.handlers.clear() - else: - formatter = Formatter( - fmt="[%(asctime)s] %(levelname)s - %(message)s", - datefmt="%Y-%m-%d %H:%M:%S%z", - ) - - handler.setFormatter(formatter) - logger.addHandler(handler) - - return logger diff --git a/dasf/utils/types.py b/dasf/utils/types.py deleted file mode 100644 index 433a162..0000000 --- a/dasf/utils/types.py +++ /dev/null @@ -1,187 +0,0 @@ -""" Data types handlers. """ -#!/usr/bin/env python3 - -from typing import Union, get_args - -import dask.array as da -import dask.dataframe as ddf -import numpy as np -import pandas as pd -import xarray as xr -import zarr - -try: - import cudf - import cupy as cp - import dask_cudf as dcudf -except ImportError: # pragma: no cover - pass - -from dasf.utils.funcs import is_gpu_supported - -ArrayCPU = Union[list, np.ndarray, zarr.core.Array] -DataFrameCPU = Union[pd.DataFrame] - -DataCPU = Union[ArrayCPU, DataFrameCPU] - -DaskArray = Union[da.core.Array] -DaskDataFrameCPU = Union[ddf.core.DataFrame] - -XDataArray = Union[xr.DataArray] - -Array = Union[ArrayCPU, DaskArray, XDataArray] -DaskDataFrame = Union[DaskDataFrameCPU] -DataFrame = Union[DataFrameCPU, DaskDataFrameCPU] -DataDask = Union[DaskArray, DaskDataFrameCPU] -try: - ArrayGPU = Union[cp.ndarray] - DataFrameGPU = Union[cudf.DataFrame] - - DataGPU = Union[ArrayGPU, DataFrameGPU] - - DaskDataFrameGPU = Union[dcudf.core.DataFrame] - - Array = Union[Array, ArrayGPU] - DaskDataFrame = Union[DaskDataFrame, DaskDataFrameGPU] - DataFrame = Union[DataFrame, DaskDataFrame, DataFrameGPU] - DataDask = Union[DataDask, DaskDataFrame] -except NameError: # pragma: no cover - pass - - -def is_array(data) -> bool: - """ - Returns if data is a generic array. - """ - return isinstance(data, get_args(Array)) - - -def is_dataframe(data) -> bool: - """ - Returns if data is a generic dataframe. - """ - return isinstance(data, get_args(DataFrame)) - - -def is_cpu_array(data) -> bool: - """ - Returns if data is a CPU arrau like Numpy. - """ - return isinstance(data, get_args(ArrayCPU)) - - -def is_cpu_dataframe(data) -> bool: - """ - Returns if data is a CPU dataframe like Pandas. - """ - return isinstance(data, DataFrameCPU) - - -def is_cpu_datatype(data) -> bool: - """ - Returns if data is a CPU data type. - """ - return isinstance(data, get_args(DataCPU)) - - -def is_gpu_array(data) -> bool: - """ - Returns if data is a GPU array like Cupy. - """ - return is_gpu_supported() and isinstance(data, ArrayGPU) - - -def is_gpu_dataframe(data) -> bool: - """ - Returns if data is a GPU dataframe like Cudf. - """ - return is_gpu_supported() and isinstance(data, DataFrameGPU) - - -def is_gpu_datatype(data) -> bool: - """ - Returns if data is a GPU data type. - """ - return is_gpu_supported() and isinstance(data, get_args(DataGPU)) - - -def is_dask_cpu_array(data) -> bool: - """ - Returns if data is a Dask array with CPU internal array. - """ - if isinstance(data, DaskArray): - # pylint: disable=protected-access - if isinstance(data._meta, get_args(ArrayCPU)): - return True - return False - - -def is_dask_cpu_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe with CPU internal dataframe. - """ - try: - if is_gpu_supported() and isinstance(data, get_args(DaskDataFrame)): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameCPU): - return True - elif isinstance(data, DaskDataFrame): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameCPU): - return True - # We need a Exception here due to Numpy bug. - except TypeError: # pragma: no cover - pass - return False - - -def is_dask_gpu_array(data) -> bool: - """ - Returns if data is a Dask array with GPU internal array. - """ - if is_gpu_supported() and isinstance(data, DaskArray): - # pylint: disable=protected-access - if isinstance(data._meta, ArrayGPU): - return True - return False - - -def is_dask_gpu_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe with GPU internal dataframe. - """ - if is_gpu_supported() and isinstance(data, get_args(DaskDataFrame)): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameGPU): - return True - return False - - -def is_dask_array(data) -> bool: - """ - Returns if data is a Dask array. - """ - return isinstance(data, DaskArray) - - -def is_dask_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe. - """ - if is_gpu_supported(): - return isinstance(data, get_args(DaskDataFrame)) - return isinstance(data, DaskDataFrame) - - -def is_dask(data) -> bool: - """ - Returns if data is a Dask data type. - """ - return isinstance(data, get_args(DataDask)) - - -def is_xarray_array(data) -> bool: - """ - Returns if data is a Xarray. - """ - return isinstance(data, XDataArray) diff --git a/docs/.buildinfo b/docs/.buildinfo deleted file mode 100644 index d4bbda7..0000000 --- a/docs/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 1c993a4895d4f057a0bb9048d67ed54c -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/.doctrees/api.doctree b/docs/.doctrees/api.doctree deleted file mode 100644 index c7a365c..0000000 Binary files a/docs/.doctrees/api.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/datasets/base/index.doctree b/docs/.doctrees/autoapi/dasf/datasets/base/index.doctree deleted file mode 100644 index 396c260..0000000 Binary files a/docs/.doctrees/autoapi/dasf/datasets/base/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/datasets/blobs/index.doctree b/docs/.doctrees/autoapi/dasf/datasets/blobs/index.doctree deleted file mode 100644 index f425be1..0000000 Binary files a/docs/.doctrees/autoapi/dasf/datasets/blobs/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/datasets/datasets/index.doctree b/docs/.doctrees/autoapi/dasf/datasets/datasets/index.doctree deleted file mode 100644 index 47dbab9..0000000 Binary files a/docs/.doctrees/autoapi/dasf/datasets/datasets/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/datasets/download/index.doctree b/docs/.doctrees/autoapi/dasf/datasets/download/index.doctree deleted file mode 100644 index ad94bd7..0000000 Binary files a/docs/.doctrees/autoapi/dasf/datasets/download/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/datasets/index.doctree b/docs/.doctrees/autoapi/dasf/datasets/index.doctree deleted file mode 100644 index 88c4547..0000000 Binary files a/docs/.doctrees/autoapi/dasf/datasets/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/debug/debug/index.doctree b/docs/.doctrees/autoapi/dasf/debug/debug/index.doctree deleted file mode 100644 index 8639444..0000000 Binary files a/docs/.doctrees/autoapi/dasf/debug/debug/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/debug/index.doctree b/docs/.doctrees/autoapi/dasf/debug/index.doctree deleted file mode 100644 index 0867aa8..0000000 Binary files a/docs/.doctrees/autoapi/dasf/debug/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/feature_extraction/histogram/index.doctree b/docs/.doctrees/autoapi/dasf/feature_extraction/histogram/index.doctree deleted file mode 100644 index c3c0019..0000000 Binary files a/docs/.doctrees/autoapi/dasf/feature_extraction/histogram/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/feature_extraction/index.doctree b/docs/.doctrees/autoapi/dasf/feature_extraction/index.doctree deleted file mode 100644 index 153e270..0000000 Binary files a/docs/.doctrees/autoapi/dasf/feature_extraction/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/feature_extraction/transform/index.doctree b/docs/.doctrees/autoapi/dasf/feature_extraction/transform/index.doctree deleted file mode 100644 index 405c3af..0000000 Binary files a/docs/.doctrees/autoapi/dasf/feature_extraction/transform/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/index.doctree b/docs/.doctrees/autoapi/dasf/index.doctree deleted file mode 100644 index c098461..0000000 Binary files a/docs/.doctrees/autoapi/dasf/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/agglomerative/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/agglomerative/index.doctree deleted file mode 100644 index 035dca0..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/agglomerative/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/classifier/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/classifier/index.doctree deleted file mode 100644 index b00961d..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/classifier/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/dbscan/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/dbscan/index.doctree deleted file mode 100644 index baf4572..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/dbscan/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/hdbscan/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/hdbscan/index.doctree deleted file mode 100644 index 8ce208c..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/hdbscan/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/index.doctree deleted file mode 100644 index 92ec91f..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/kmeans/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/kmeans/index.doctree deleted file mode 100644 index 4bc9d12..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/kmeans/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/som/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/som/index.doctree deleted file mode 100644 index 47aa6c7..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/som/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/cluster/spectral/index.doctree b/docs/.doctrees/autoapi/dasf/ml/cluster/spectral/index.doctree deleted file mode 100644 index 1dd9e62..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/cluster/spectral/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/core/index.doctree b/docs/.doctrees/autoapi/dasf/ml/core/index.doctree deleted file mode 100644 index 3990da3..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/core/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/decomposition/index.doctree b/docs/.doctrees/autoapi/dasf/ml/decomposition/index.doctree deleted file mode 100644 index d4b651a..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/decomposition/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/decomposition/pca/index.doctree b/docs/.doctrees/autoapi/dasf/ml/decomposition/pca/index.doctree deleted file mode 100644 index d8e1514..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/decomposition/pca/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/clusters/dask/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/clusters/dask/index.doctree deleted file mode 100644 index 52e1729..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/clusters/dask/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/clusters/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/clusters/index.doctree deleted file mode 100644 index 77e315a..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/clusters/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/index.doctree deleted file mode 100644 index 1ba0c7c..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/models/devconvnet/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/models/devconvnet/index.doctree deleted file mode 100644 index 05a6f41..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/models/devconvnet/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/models/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/models/index.doctree deleted file mode 100644 index 5f3323f..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/models/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/dl/pytorch_lightning/index.doctree b/docs/.doctrees/autoapi/dasf/ml/dl/pytorch_lightning/index.doctree deleted file mode 100644 index 047570a..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/dl/pytorch_lightning/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/index.doctree b/docs/.doctrees/autoapi/dasf/ml/index.doctree deleted file mode 100644 index d5d45d9..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/mixture/classifier/index.doctree b/docs/.doctrees/autoapi/dasf/ml/mixture/classifier/index.doctree deleted file mode 100644 index c4ffeae..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/mixture/classifier/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/mixture/gmm/index.doctree b/docs/.doctrees/autoapi/dasf/ml/mixture/gmm/index.doctree deleted file mode 100644 index ec362eb..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/mixture/gmm/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/model_selection/index.doctree b/docs/.doctrees/autoapi/dasf/ml/model_selection/index.doctree deleted file mode 100644 index 7b94e69..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/model_selection/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/model_selection/split/index.doctree b/docs/.doctrees/autoapi/dasf/ml/model_selection/split/index.doctree deleted file mode 100644 index 8b2fe41..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/model_selection/split/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/neighbors/index.doctree b/docs/.doctrees/autoapi/dasf/ml/neighbors/index.doctree deleted file mode 100644 index 99ce754..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/neighbors/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/neighbors/neighbors/index.doctree b/docs/.doctrees/autoapi/dasf/ml/neighbors/neighbors/index.doctree deleted file mode 100644 index a627c45..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/neighbors/neighbors/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/preprocessing/index.doctree b/docs/.doctrees/autoapi/dasf/ml/preprocessing/index.doctree deleted file mode 100644 index 97531c2..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/preprocessing/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/preprocessing/standardscaler/index.doctree b/docs/.doctrees/autoapi/dasf/ml/preprocessing/standardscaler/index.doctree deleted file mode 100644 index b0c442f..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/preprocessing/standardscaler/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/svm/index.doctree b/docs/.doctrees/autoapi/dasf/ml/svm/index.doctree deleted file mode 100644 index ecb3686..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/svm/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/svm/svm/index.doctree b/docs/.doctrees/autoapi/dasf/ml/svm/svm/index.doctree deleted file mode 100644 index 46ff0b9..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/svm/svm/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/xgboost/index.doctree b/docs/.doctrees/autoapi/dasf/ml/xgboost/index.doctree deleted file mode 100644 index 79b88bf..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/xgboost/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/ml/xgboost/xgboost/index.doctree b/docs/.doctrees/autoapi/dasf/ml/xgboost/xgboost/index.doctree deleted file mode 100644 index 89c71df..0000000 Binary files a/docs/.doctrees/autoapi/dasf/ml/xgboost/xgboost/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/executors/base/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/executors/base/index.doctree deleted file mode 100644 index 95780ec..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/executors/base/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/executors/dask/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/executors/dask/index.doctree deleted file mode 100644 index 5aa8ffe..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/executors/dask/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/executors/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/executors/index.doctree deleted file mode 100644 index 5dbae33..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/executors/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/executors/ray/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/executors/ray/index.doctree deleted file mode 100644 index cab8c77..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/executors/ray/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/executors/wrapper/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/executors/wrapper/index.doctree deleted file mode 100644 index d2d8cc7..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/executors/wrapper/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/index.doctree deleted file mode 100644 index eacdc2f..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/pipeline/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/pipeline/index.doctree deleted file mode 100644 index 93fd6af..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/pipeline/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/pipeline/types/index.doctree b/docs/.doctrees/autoapi/dasf/pipeline/types/index.doctree deleted file mode 100644 index ea5bec5..0000000 Binary files a/docs/.doctrees/autoapi/dasf/pipeline/types/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/database/index.doctree b/docs/.doctrees/autoapi/dasf/profile/database/index.doctree deleted file mode 100644 index 3aa45bc..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/database/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/event/index.doctree b/docs/.doctrees/autoapi/dasf/profile/event/index.doctree deleted file mode 100644 index 85050e2..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/event/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/index.doctree b/docs/.doctrees/autoapi/dasf/profile/index.doctree deleted file mode 100644 index 7f36eb9..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/plugins/dasf/index.doctree b/docs/.doctrees/autoapi/dasf/profile/plugins/dasf/index.doctree deleted file mode 100644 index 5ba8823..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/plugins/dasf/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/plugins/dask/index.doctree b/docs/.doctrees/autoapi/dasf/profile/plugins/dask/index.doctree deleted file mode 100644 index d6f944f..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/plugins/dask/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/plugins/index.doctree b/docs/.doctrees/autoapi/dasf/profile/plugins/index.doctree deleted file mode 100644 index 4e2694d..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/plugins/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/profile/plugins/resource_monitor/index.doctree b/docs/.doctrees/autoapi/dasf/profile/plugins/resource_monitor/index.doctree deleted file mode 100644 index 45600cc..0000000 Binary files a/docs/.doctrees/autoapi/dasf/profile/plugins/resource_monitor/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/transforms/base/index.doctree b/docs/.doctrees/autoapi/dasf/transforms/base/index.doctree deleted file mode 100644 index ce3064c..0000000 Binary files a/docs/.doctrees/autoapi/dasf/transforms/base/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/transforms/index.doctree b/docs/.doctrees/autoapi/dasf/transforms/index.doctree deleted file mode 100644 index 67b51d7..0000000 Binary files a/docs/.doctrees/autoapi/dasf/transforms/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/transforms/memory/index.doctree b/docs/.doctrees/autoapi/dasf/transforms/memory/index.doctree deleted file mode 100644 index 18c50d7..0000000 Binary files a/docs/.doctrees/autoapi/dasf/transforms/memory/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/transforms/operations/index.doctree b/docs/.doctrees/autoapi/dasf/transforms/operations/index.doctree deleted file mode 100644 index bd54c93..0000000 Binary files a/docs/.doctrees/autoapi/dasf/transforms/operations/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/transforms/transforms/index.doctree b/docs/.doctrees/autoapi/dasf/transforms/transforms/index.doctree deleted file mode 100644 index de51f41..0000000 Binary files a/docs/.doctrees/autoapi/dasf/transforms/transforms/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/benchmark/index.doctree b/docs/.doctrees/autoapi/dasf/utils/benchmark/index.doctree deleted file mode 100644 index 06fbb3c..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/benchmark/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/decorators/index.doctree b/docs/.doctrees/autoapi/dasf/utils/decorators/index.doctree deleted file mode 100644 index 787a8b4..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/decorators/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/funcs/index.doctree b/docs/.doctrees/autoapi/dasf/utils/funcs/index.doctree deleted file mode 100644 index 9254239..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/funcs/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/index.doctree b/docs/.doctrees/autoapi/dasf/utils/index.doctree deleted file mode 100644 index ee049ba..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/labels/index.doctree b/docs/.doctrees/autoapi/dasf/utils/labels/index.doctree deleted file mode 100644 index 7da25bf..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/labels/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/logging/index.doctree b/docs/.doctrees/autoapi/dasf/utils/logging/index.doctree deleted file mode 100644 index 1f0d641..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/logging/index.doctree and /dev/null differ diff --git a/docs/.doctrees/autoapi/dasf/utils/types/index.doctree b/docs/.doctrees/autoapi/dasf/utils/types/index.doctree deleted file mode 100644 index cf111ba..0000000 Binary files a/docs/.doctrees/autoapi/dasf/utils/types/index.doctree and /dev/null differ diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle deleted file mode 100644 index 845d707..0000000 Binary files a/docs/.doctrees/environment.pickle and /dev/null differ diff --git a/docs/.doctrees/index.doctree b/docs/.doctrees/index.doctree deleted file mode 100644 index 3cc23d2..0000000 Binary files a/docs/.doctrees/index.doctree and /dev/null differ diff --git a/docs/.doctrees/installation.doctree b/docs/.doctrees/installation.doctree deleted file mode 100644 index ce62d80..0000000 Binary files a/docs/.doctrees/installation.doctree and /dev/null differ diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_11_0.png b/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_11_0.png deleted file mode 100644 index d9029dd..0000000 Binary files a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_11_0.png and /dev/null differ diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_13_0.png b/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_13_0.png deleted file mode 100644 index dfb971d..0000000 Binary files a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_13_0.png and /dev/null differ diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_3_0.png b/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_3_0.png deleted file mode 100644 index 466d8f6..0000000 Binary files a/docs/.doctrees/nbsphinx/tutorials_Tutorial_1_3_0.png and /dev/null differ diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_13_0.svg b/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_13_0.svg deleted file mode 100644 index 2be6c19..0000000 --- a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_13_0.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -A KMeans and SOM Pipeline - - - -180662574 - -Normalize.transform - - - -128329762 - -KMeans.fit_predict - - - -180662574->128329762 - - -X - - - -128329900 - -SOM.fit_predict - - - -180662574->128329900 - - -X - - - -182107497 - -DatasetArray.load - - - -182107497->180662574 - - -X - - - -16599060 - -PersistDaskData.transform - - - -128329762->16599060 - - -X - - - -16599058 - -PersistDaskData.transform - - - -128329900->16599058 - - -X - - - diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_18_0.png b/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_18_0.png deleted file mode 100644 index a985d6d..0000000 Binary files a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_18_0.png and /dev/null differ diff --git a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_19_0.png b/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_19_0.png deleted file mode 100644 index a985d6d..0000000 Binary files a/docs/.doctrees/nbsphinx/tutorials_Tutorial_4_19_0.png and /dev/null differ diff --git a/docs/.doctrees/overview.doctree b/docs/.doctrees/overview.doctree deleted file mode 100644 index e41b3f8..0000000 Binary files a/docs/.doctrees/overview.doctree and /dev/null differ diff --git a/docs/.doctrees/principles.doctree b/docs/.doctrees/principles.doctree deleted file mode 100644 index d215ef5..0000000 Binary files a/docs/.doctrees/principles.doctree and /dev/null differ diff --git a/docs/.doctrees/tutorials.doctree b/docs/.doctrees/tutorials.doctree deleted file mode 100644 index 317b99c..0000000 Binary files a/docs/.doctrees/tutorials.doctree and /dev/null differ diff --git a/docs/.doctrees/tutorials/Tutorial_1.doctree b/docs/.doctrees/tutorials/Tutorial_1.doctree deleted file mode 100644 index c3949c2..0000000 Binary files a/docs/.doctrees/tutorials/Tutorial_1.doctree and /dev/null differ diff --git a/docs/.doctrees/tutorials/Tutorial_2.doctree b/docs/.doctrees/tutorials/Tutorial_2.doctree deleted file mode 100644 index 7fbde50..0000000 Binary files a/docs/.doctrees/tutorials/Tutorial_2.doctree and /dev/null differ diff --git a/docs/.doctrees/tutorials/Tutorial_3.doctree b/docs/.doctrees/tutorials/Tutorial_3.doctree deleted file mode 100644 index 2daa9b7..0000000 Binary files a/docs/.doctrees/tutorials/Tutorial_3.doctree and /dev/null differ diff --git a/docs/.doctrees/tutorials/Tutorial_4.doctree b/docs/.doctrees/tutorials/Tutorial_4.doctree deleted file mode 100644 index f7ab225..0000000 Binary files a/docs/.doctrees/tutorials/Tutorial_4.doctree and /dev/null differ diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index 8d1c8b6..0000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index d0c3cbf..0000000 --- a/docs/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = source -BUILDDIR = build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_images/tutorials_Tutorial_1_11_0.png b/docs/_images/tutorials_Tutorial_1_11_0.png deleted file mode 100644 index d9029dd..0000000 Binary files a/docs/_images/tutorials_Tutorial_1_11_0.png and /dev/null differ diff --git a/docs/_images/tutorials_Tutorial_1_13_0.png b/docs/_images/tutorials_Tutorial_1_13_0.png deleted file mode 100644 index dfb971d..0000000 Binary files a/docs/_images/tutorials_Tutorial_1_13_0.png and /dev/null differ diff --git a/docs/_images/tutorials_Tutorial_1_3_0.png b/docs/_images/tutorials_Tutorial_1_3_0.png deleted file mode 100644 index 466d8f6..0000000 Binary files a/docs/_images/tutorials_Tutorial_1_3_0.png and /dev/null differ diff --git a/docs/_images/tutorials_Tutorial_4_13_0.svg b/docs/_images/tutorials_Tutorial_4_13_0.svg deleted file mode 100644 index 2be6c19..0000000 --- a/docs/_images/tutorials_Tutorial_4_13_0.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -A KMeans and SOM Pipeline - - - -180662574 - -Normalize.transform - - - -128329762 - -KMeans.fit_predict - - - -180662574->128329762 - - -X - - - -128329900 - -SOM.fit_predict - - - -180662574->128329900 - - -X - - - -182107497 - -DatasetArray.load - - - -182107497->180662574 - - -X - - - -16599060 - -PersistDaskData.transform - - - -128329762->16599060 - - -X - - - -16599058 - -PersistDaskData.transform - - - -128329900->16599058 - - -X - - - diff --git a/docs/_images/tutorials_Tutorial_4_18_0.png b/docs/_images/tutorials_Tutorial_4_18_0.png deleted file mode 100644 index a985d6d..0000000 Binary files a/docs/_images/tutorials_Tutorial_4_18_0.png and /dev/null differ diff --git a/docs/_images/tutorials_Tutorial_4_19_0.png b/docs/_images/tutorials_Tutorial_4_19_0.png deleted file mode 100644 index a985d6d..0000000 Binary files a/docs/_images/tutorials_Tutorial_4_19_0.png and /dev/null differ diff --git a/docs/_modules/dasf/datasets/base.html b/docs/_modules/dasf/datasets/base.html deleted file mode 100644 index a6475e1..0000000 --- a/docs/_modules/dasf/datasets/base.html +++ /dev/null @@ -1,1630 +0,0 @@ - - - - - - - - - - dasf.datasets.base — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.datasets.base
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.datasets.base

-#!/usr/bin/env python3
-
-import os
-import json
-import zarr
-import h5py
-import dask
-
-import numpy as np
-import numpy.lib.format
-import pandas as pd
-import dask.array as da
-import dask.dataframe as ddf
-import xarray as xr
-
-from numbers import Number
-
-try:
-    import cupy as cp
-    import cudf
-    import dask_cudf as dcudf
-    # This is just to enable Xarray Cupy capabilities
-    import cupy_xarray as cx   # noqa
-except ImportError:
-    pass
-
-from pathlib import Path
-
-from dasf.utils.funcs import human_readable_size
-from dasf.utils.decorators import task_handler
-from dasf.utils.types import is_array
-from dasf.utils.types import is_dask_array
-from dasf.transforms.base import TargeteredTransform
-
-
-
[docs]class Dataset(TargeteredTransform): - """Class representing a generic dataset based on a TargeteredTransform - object. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - *args : type - Additional arguments without keys. - **kwargs : type - Additional keyworkded arguments. - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - *args, - **kwargs): - super().__init__(*args, **kwargs) - - # Dataset internals - self._name = name - self._download = download - self._root = root - self._metadata = {} - self._data = None - self._chunks = None - - self.__set_dataset_cache_dir() - - self.download() - - def __set_dataset_cache_dir(self): - """Generate cached directory in $HOME to store dataset(s). - - """ - self._cache_dir = os.path.abspath(str(Path.home()) + "/.cache/dasf/datasets/") - os.makedirs(self._cache_dir, exist_ok=True) - - if self._root is None: - self._root = self._cache_dir - -
[docs] def download(self): - """Skeleton of the download method. - - """ - if self._download: - raise NotImplementedError("Function download() needs to be defined")
- -
[docs] def __len__(self) -> int: - """Return internal data length. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return len(self._data)
- -
[docs] def __getitem__(self, idx): - """Generic __getitem__() function based on internal data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.__getitem__(idx)
- - -
[docs]class DatasetArray(Dataset): - """Class representing an dataset wich is defined as an array of a defined - shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - raise Exception("Array requires a root=filename.") - - self._root = os.path.dirname(root) - -
[docs] def __operator_check__(self, other): - assert self._data is not None, "Data is not loaded yet." - if isinstance(other, DatasetArray): - return other._data - return other
- -
[docs] def __repr__(self): - """Return a class representation based on internal array. - - """ - return repr(self._data)
- -
[docs] def __array__(self, dtype=None): - assert self._data is not None, "Data is not loaded yet." - return self._data
- -
[docs] def __array_ufunc__(self, ufunc, method, *inputs, **kwargs): - assert self._data is not None, "Data is not loaded yet." - if method == '__call__': - scalars = [] - - for inp in inputs: - if isinstance(inp, Number): - scalars.append(inp) - elif isinstance(inp, self.__class__): - scalars.append(inp._data) - else: - return NotImplemented - - self.__class__(name=self._name, chunks=self._chunks) - self._data = ufunc(*scalars, **kwargs) - return self - return NotImplemented
- - def __check_op_input(self, in_data): - """Return the proper type of data for operation - - >>> Result = DatasetArray + Numpy; or - >>> Result = DatasetArray + DatasetArray - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - """ - if is_array(in_data) or is_dask_array(in_data): - return in_data - if isinstance(in_data, self.__class__): - return in_data._data - raise TypeError("Data is incompatible with Array") - -
[docs] def __add__(self, other): - """Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data + data
- -
[docs] def __sub__(self, other): - """Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data - data
- -
[docs] def __mul__(self, other): - """Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data * data
- -
[docs] def __div__(self, other): - """Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data / data
- - def __copy_attrs_from_data(self): - """Extends metadata to new transformed object (after operations). - - """ - self._metadata["type"] = type(self._data) - - attrs = dir(self._data) - for attr in attrs: - if not attr.startswith("__") and callable(getattr(self._data, attr)): - if not hasattr(self, attr): - self.__dict__[attr] = getattr(self._data, attr) - - def __npy_header(self): - """Read an array header from a filelike object. - - """ - with open(self._root_file, 'rb') as fobj: - version = numpy.lib.format.read_magic(fobj) - func_name = "read_array_header_" + "_".join(str(v) for v in version) - func = getattr(numpy.lib.format, func_name) - return func(fobj) - -
[docs] def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - npy_shape = self.shape - - local_data = dask.delayed(xp.load)(self._root_file, **kwargs) - - local_data = da.from_delayed(local_data, shape=npy_shape, dtype=xp.float32) - if isinstance(self._chunks, tuple): - local_data = local_data.rechunk(self._chunks) - - return local_data
- -
[docs] def _load(self, xp, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - - return xp.load(self._root_file, **kwargs)
- -
[docs] def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, ("There is no temporary file to " - "inspect") - assert os.path.isfile(self._root_file), ("The root variable should " - "be a NPY file") - - return self.inspect_metadata()
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - self.__copy_attrs_from_data() - return self
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - self.__copy_attrs_from_data() - return self
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = self._load(cp) - self.__copy_attrs_from_data() - return self
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load(np) - self.__copy_attrs_from_data() - return self
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - return self.__npy_header()[0] - -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - array_file_size = human_readable_size( - os.path.getsize(self._root_file), - decimal=2 - ) - - npy_shape = self.shape - - return { - "size": array_file_size, - "file": self._root_file, - "shape": npy_shape, - "block": {"chunks": self._chunks}, - }
- - -
[docs]class DatasetZarr(Dataset): - """Class representing an dataset wich is defined as a Zarr array of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks=None): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - self._root = root - else: - self._root = os.path.dirname(root) - -
[docs] def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - return da.from_zarr(self._root_file, chunks=self._chunks).map_blocks(xp.asarray)
- -
[docs] def _load(self, xp, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - return zarr.open(self._root_file, mode='r', meta_array=xp.empty(()))
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - self.__copy_attrs_from_data() - return self
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - self.__copy_attrs_from_data() - return self
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load(np) - self.__copy_attrs_from_data() - return self
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = self._load(cp) - self.__copy_attrs_from_data() - return self
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- -
[docs] def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - - return self.inspect_metadata()
- - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - if not self._data: - if self._root_file and os.path.isdir(self._root_file): - zarray = os.path.abspath(self._root_file + "/.zarray") - if os.path.exists(zarray): - try: - with open(zarray) as fz: - meta = json.load(fz) - return tuple(meta["shape"]) - except Exception: - pass - return tuple() - - return self._data.shape - -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - z = zarr.open(self._root_file, mode='r') - - info = {} - for k, v in z.info_items(): - info[k] = v - - if isinstance(self._chunks, bool) and self._chunks: - self._chunks = info["Chunk shape"] - - return { - "size": human_readable_size( - int(info["No. bytes"].split(' ')[0]) - ), - "compressor": info["Compressor"], - "type": info["Store type"], - "file": self._root_file, - "shape": info["Shape"], - "block": {"chunks": self._chunks}, - }
- -
[docs] def __repr__(self): - """Return a class representation based on internal array. - - """ - return repr(self._data)
- - def __check_op_input(self, in_data): - """Return the proper type of data for operation - - >>> Result = DatasetZarr + Numpy; or - >>> Result = DatasetZarr + DatasetZarr - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - """ - if is_array(in_data) or is_dask_array(in_data): - return in_data - elif isinstance(in_data, self.__class__): - return in_data._data - raise TypeError("Data is incompatible with Array") - -
[docs] def __add__(self, other): - """Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data + data
- -
[docs] def __sub__(self, other): - """Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data - data
- -
[docs] def __mul__(self, other): - """Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data * data
- -
[docs] def __div__(self, other): - """Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - """ - assert self._data is not None, "Data is not loaded yet." - data = self.__check_op_input(other) - return self._data / data
- - def __copy_attrs_from_data(self): - """Extends metadata to new transformed object (after operations). - - """ - self._metadata["type"] = type(self._data) - - attrs = dir(self._data) - for attr in attrs: - if not attr.startswith("__") and callable(getattr(self._data, attr)): - if not hasattr(self, attr): - self.__dict__[attr] = getattr(self._data, attr)
- - -
[docs]class DatasetHDF5(Dataset): - """Class representing an dataset wich is defined as a HDF5 dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - dataset_path : str - Relative path of the internal HDF5 dataset (the default is None). - - """ - def __init__(self, - name: str, - download: str = False, - root: str = None, - chunks="auto", - dataset_path: str = None): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - self._dataset_path = dataset_path - - if root is not None: - if not os.path.isfile(root): - raise Exception("HDF5 requires a root=filename.") - - self._root = os.path.dirname(root) - - if dataset_path is None: - raise Exception("HDF5 requires a path.") - -
[docs] def _lazy_load(self, xp, **kwargs): - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - """ - f = h5py.File(self._root_file) - data = f[self._dataset_path] - return da.from_array(data, chunks=self._chunks, meta=xp.array(()))
- -
[docs] def _load(self, xp=None, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) (placeholder). - **kwargs : type - Additional `kwargs` to `xp.load` function. - - """ - f = h5py.File(self._root_file) - return f[self._dataset_path]
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(np) - return self
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data = self._lazy_load(cp) - return self
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data = self._load() - return self
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data = cp.asarray(self._load()) - return self
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- -
[docs] def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - assert self._dataset_path is not None, "There is no path to fetch data" - - return self.inspect_metadata()
- -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - f = h5py.File(self._root_file) - data = f[self._dataset_path] - - array_file_size = human_readable_size( - data.size, decimal=2 - ) - - return { - "size": array_file_size, - "file": self._root_file, - "shape": data.shape, - "block": {"chunks": self._chunks}, - }
- - -
[docs]class DatasetXarray(Dataset): - """Class representing an dataset wich is defined as a Xarray dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - data_var : Any - Key (or index) of the internal Xarray dataset (the default is None). - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks=None, - data_var=None): - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - self._data_var = data_var - - if chunks and not isinstance(chunks, dict): - raise Exception("Chunks should be a dict.") - - if root is not None: - if not os.path.isfile(root): - raise Exception("HDF5 requires a root=filename.") - - self._root = os.path.dirname(root) - -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - assert self._chunks is not None, "Lazy operations require chunks" - - if self._data_var: - self._data = xr.open_dataset(self._root_file, - chunks=self._chunks) - else: - self._data = xr.open_dataarray(self._root_file, - chunks=self._chunks) - self._metadata = self._load_meta()
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - assert self._chunks is not None, "Lazy operations require chunks" - - if self._data_var: - self._data = xr.open_dataset(self._root_file, - chunks=self._chunks).as_cupy() - else: - self._data = xr.open_dataarray(self._root_file, - chunks=self._chunks).as_cupy() - self._metadata = self._load_meta()
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - if self._data_var: - self._data = xr.open_dataset(self._root_file) - else: - self._data = xr.open_dataarray(self._root_file) - self._data.load() - self._metadata = self._load_meta()
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - if self._data_var: - self._data = xr.open_dataset(self._root_file).as_cupy() - else: - self._data = xr.open_dataarray(self._root_file).as_cupy() - self._data.load() - self._metadata = self._load_meta()
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- -
[docs] def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, "There is no temporary file to inspect" - - return self.inspect_metadata()
- -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - array_file_size = human_readable_size( - os.path.getsize(self._root_file), decimal=2 - ) - - return { - "size": array_file_size, - "file": self._root_file, - "coords": tuple(self._data.coords), - "attrs": self._data.attrs, - "block": {"chunks": self._chunks}, - }
- -
[docs] def __len__(self) -> int: - """Return internal data length. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - if self._data_var: - return len(self._data[self._data_var]) - - return len(self._data)
- -
[docs] def __getitem__(self, idx): - """A __getitem__() function based on internal Xarray data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - # Always slice a DataArray - if self._data_var: - return self._data[self._data_var].data[idx] - - return self._data.data[idx]
- - -
[docs]class DatasetLabeled(Dataset): - """A class representing a labeled dataset. Each item is a 2-element tuple, - where the first element is a array of data and the second element is the - respective label. The items can be accessed from `dataset[x]`. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - Attributes - ---------- - __chunks : type - Description of attribute `__chunks`. - - """ - def __init__(self, - name: str, - download: bool = False, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - -
[docs] def download(self): - """Download the dataset. - - """ - if hasattr(self, "_train") and hasattr(self._train, "download"): - self._train.download() - - if hasattr(self, "_val") and hasattr(self._val, "download"): - self._val.download()
- -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data - (train and labels). - - Returns - ------- - dict - A dictionary with metadata information. - - """ - metadata_train = self._train.inspect_metadata() - metadata_val = self._val.inspect_metadata() - - assert ( - metadata_train["shape"] == metadata_val["shape"] - ), "Train and Labels should have same shape: " + str( - metadata_train["shape"] - ) + " != " + str( - metadata_val["shape"] - ) - - return {"train": metadata_train, "labels": metadata_val}
- -
[docs] def _lazy_load(self, xp, **kwargs) -> tuple: - """Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Tuple - A Future object that will return a tuple: (data, label). - - """ - local_data = self._train._lazy_load(xp) - local_labels = self._val._lazy_load(xp) - - return (local_data, local_labels)
- -
[docs] def _load(self, xp, **kwargs): - """Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - Returns - ------- - Tuple - A 2-element tuple: (data, label) - - """ - local_data = self._train._load(xp) - local_labels = self._val._load(xp) - - return (local_data, local_labels)
- -
[docs] def _load_meta(self) -> dict: - - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._train._root_file is not None, ( - "There is no temporary file to inspect" - ) - assert self._val._root_file is not None, ( - "There is no temporary file to inspect" - ) - assert os.path.isfile(self._train._root_file), ( - "The root variable should be a file" - ) - assert os.path.isfile(self._val._root_file), ( - "The root variable should be a file" - ) - - return self.inspect_metadata()
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._lazy_load(cp)
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._lazy_load(np)
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. cupy). - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._load(cp)
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. numpy). - - """ - self._metadata = self._load_meta() - self._data, self._labels = self._load(np)
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- -
[docs] def __getitem__(self, idx): - """A __getitem__() function for data and labeled data together. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return (self._data.__getitem__(idx), self._labels.__getitem__(idx))
- - -
[docs]class DatasetDataFrame(Dataset): - """Class representing an dataset wich is defined as a dataframe. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = True, - root: str = None, - chunks="auto"): - - Dataset.__init__(self, name, download, root) - - self._chunks = chunks - - self._root_file = root - - if root is not None: - if not os.path.isfile(root): - raise Exception("DataFrame requires a root=filename.") - - self._root = os.path.dirname(root) - -
[docs] def _load_meta(self) -> dict: - """Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - assert self._root_file is not None, ( - "There is no temporary file to inspect" - ) - - return self.inspect_metadata()
- -
[docs] def inspect_metadata(self) -> dict: - """Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - """ - df_file_size = human_readable_size( - os.stat(self._root_file).st_size, decimal=2 - ) - - return { - "size": df_file_size, - "file": self._root_file, - "type": type(self._data), - "shape": self.shape, - "columns": list(self._data.columns), - "block": {"chunks": self._chunks}, - }
- -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._data = dcudf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._data = ddf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. CuDF). - - """ - self._data = cudf.read_csv(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. pandas). - - """ - self._data = pd.read_csv(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] @task_handler - def load(self): - """Placeholder for load function. - - """ - ...
- - @property - def shape(self) -> tuple: - """Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.shape - -
[docs] def __len__(self) -> int: - """Return internal data length. - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return len(self._data)
- -
[docs] def __getitem__(self, idx): - """A __getitem__() function based on internal dataframe. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - """ - if self._data is None: - raise Exception("Data is not loaded yet") - - return self._data.iloc[idx]
- - -
[docs]class DatasetParquet(DatasetDataFrame): - """Class representing an dataset wich is defined as a Parquet. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - """ - def __init__(self, - name: str, - download: bool = True, - root: str = None, - chunks="auto"): - - DatasetDataFrame.__init__(self, name, download, root, chunks) - -
[docs] def _lazy_load_gpu(self): - """Load data with GPU container + DASK. (It does not load immediattly) - - """ - self._data = dcudf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _lazy_load_cpu(self): - """Load data with CPU container + DASK. (It does not load immediattly) - - """ - self._data = ddf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _load_gpu(self): - """Load data with GPU container (e.g. CuDF). - - """ - self._data = cudf.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self
- -
[docs] def _load_cpu(self): - """Load data with CPU container (e.g. pandas). - - """ - self._data = pd.read_parquet(self._root_file) - self._metadata = self._load_meta() - return self
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/datasets/datasets.html b/docs/_modules/dasf/datasets/datasets.html deleted file mode 100644 index 218462c..0000000 --- a/docs/_modules/dasf/datasets/datasets.html +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - dasf.datasets.datasets — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.datasets.datasets
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.datasets.datasets

-#!/usr/bin/env python3
-
-from sklearn.datasets import make_blobs as make_blobs_CPU
-from dask_ml.datasets import make_blobs as make_blobs_MCPU
-
-try:
-    import cupy as cp
-
-    from cuml.datasets import make_blobs as make_blobs_GPU
-    from cuml.dask.datasets import make_blobs as make_blobs_MGPU
-except ImportError:
-    pass
-
-from sklearn.datasets import make_classification as make_classification_CPU
-from dask_ml.datasets import make_classification as make_classification_MCPU
-
-try:
-    from cuml.datasets import make_classification as make_classification_GPU
-    from cuml.dask.datasets import make_classification as make_classification_MGPU
-except ImportError:
-    pass
-
-from sklearn.datasets import make_regression as make_regression_CPU
-from dask_ml.datasets import make_regression as make_regression_MCPU
-
-try:
-    from cuml.datasets import make_regression as make_regression_GPU
-    from cuml.dask.datasets import make_regression as make_regression_MGPU
-except ImportError:
-    pass
-
-from dasf.utils.types import is_cpu_array
-from dasf.utils.funcs import is_gpu_supported
-from dasf.utils.funcs import is_dask_supported
-from dasf.utils.funcs import is_dask_gpu_supported
-
-
-
[docs]class make_blobs: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - -
[docs] def _lazy_make_blobs_cpu(self, **kwargs): - return make_blobs_MCPU(**kwargs)
- -
[docs] def _lazy_make_blobs_gpu(self, **kwargs): - return make_blobs_MGPU(**kwargs)
- -
[docs] def _make_blobs_cpu(self, **kwargs): - return make_blobs_CPU(**kwargs)
- -
[docs] def _make_blobs_gpu(self, **kwargs): - return make_blobs_GPU(**kwargs)
- -
[docs] def __call__(self, **kwargs): - if is_dask_gpu_supported(): - if "centers" in kwargs and is_cpu_array(kwargs["centers"]): - kwargs["centers"] = cp.asarray(kwargs["centers"]) - return self._lazy_make_blobs_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_blobs_cpu(**kwargs) - elif is_gpu_supported(): - if "centers" in kwargs and is_cpu_array(kwargs["centers"]): - kwargs["centers"] = cp.asarray(kwargs["centers"]) - return self._make_blobs_gpu(**kwargs) - else: - return self._make_blobs_cpu(**kwargs)
- - -
[docs]class make_classification: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - -
[docs] def _lazy_make_classification_cpu(self, **kwargs): - return make_classification_MCPU(**kwargs)
- -
[docs] def _lazy_make_classification_gpu(self, **kwargs): - return make_classification_MGPU(**kwargs)
- -
[docs] def _make_classification_cpu(self, **kwargs): - return make_classification_CPU(**kwargs)
- -
[docs] def _make_classification_gpu(self, **kwargs): - return make_classification_GPU(**kwargs)
- -
[docs] def __call__(self, **kwargs): - if is_dask_gpu_supported(): - return self._lazy_make_classification_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_classification_cpu(**kwargs) - elif is_gpu_supported(): - return self._make_classification_gpu(**kwargs) - else: - return self._make_classification_cpu(**kwargs)
- - -
[docs]class make_regression: - def __new__(cls, **kwargs): - instance = super().__new__(cls) - if kwargs is None: - return instance - else: - return instance(**kwargs) - -
[docs] def _lazy_make_regression_cpu(self, **kwargs): - return make_regression_MCPU(**kwargs)
- -
[docs] def _lazy_make_regression_gpu(self, **kwargs): - return make_regression_MGPU(**kwargs)
- -
[docs] def _make_regression_cpu(self, **kwargs): - return make_regression_CPU(**kwargs)
- -
[docs] def _make_regression_gpu(self, **kwargs): - return make_regression_GPU(**kwargs)
- -
[docs] def __call__(self, **kwargs): - if is_dask_gpu_supported(): - return self._lazy_make_regression_gpu(**kwargs) - elif is_dask_supported(): - return self._lazy_make_regression_cpu(**kwargs) - elif is_gpu_supported(): - return self._make_regression_gpu(**kwargs) - else: - return self._make_regression_cpu(**kwargs)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/datasets/download.html b/docs/_modules/dasf/datasets/download.html deleted file mode 100644 index 3c2b267..0000000 --- a/docs/_modules/dasf/datasets/download.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - dasf.datasets.download — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.datasets.download
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.datasets.download

-#!/usr/bin/env python3
-
-from dasf.utils.funcs import download_file
-from dasf.utils.funcs import download_file_from_gdrive
-from dasf.datasets.base import Dataset
-
-
-
[docs]class DownloadWget(Dataset): - """Dataset downloadable via wget. - - Parameters - ---------- - url : str - The url to fetch the resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - """ - def __init__(self, - url: str, - filename: str, - root: str, - download: bool = True): - self.__url = url - self.__filename = filename - - # Set download as false because this class overrides download() - Dataset.__init__(self, name="Download Wget", download=download, root=root) - -
[docs] def download(self): - """Download the dataset. - - """ - if not self._download or self.__url is None: - return - - if hasattr(self, "download") and self._download is True: - self._root_file = download_file( - self.__url, self.__filename, self._root - )
- - -
[docs]class DownloadGDrive(Dataset): - """Dataset downloadable via Google Drive. - - Parameters - ---------- - google_file_id : str - Id of the google drive resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - """ - def __init__(self, - google_file_id: str, - filename: str, - root: str, - download: bool = True): - self.__google_file_id = google_file_id - self.__filename = filename - - # Set download as false because this class overrides download() - Dataset.__init__( - self, name="Download Google Drive", download=download, root=root - ) - -
[docs] def download(self): - """Download the dataset. - - """ - if not self._download or self.__google_file_id is None: - return - - if hasattr(self, "download") and self._download is True: - self._root_file = download_file_from_gdrive( - self.__google_file_id, self.__filename, self._root - )
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/debug/debug.html b/docs/_modules/dasf/debug/debug.html deleted file mode 100644 index 038bde3..0000000 --- a/docs/_modules/dasf/debug/debug.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - dasf.debug.debug — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.debug.debug
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.debug.debug

-#!/usr/bin/env python3
-
-from IPython.core.display import HTML as iHTML
-from IPython.core.display import display as idisplay
-
-from dasf.utils.types import is_dask_array
-from dasf.utils.types import is_dask_dataframe
-
-
-
[docs]class Debug: - """Print information about an operator (shape, datatype, etc.), and return - the self object reference. - - Parameters - ---------- - name : str - Name of the operator. - **kwargs : type - Additional keyworkded arguments to `Operator`. - - """ -
[docs] def display(self, X): - if hasattr(X, "shape"): - print("Datashape is:", X.shape) - - if is_dask_array(X) or is_dask_dataframe(X): - idisplay(iHTML(X._repr_html_())) - else: - print("Datatype is:", type(X)) - print("Data content is:", X) - - return X
- - -
[docs]class VisualizeDaskData: - """Visualize DASK data from an operator. - - Parameters - ---------- - filename : str - A path to save the DASK visualization (the default is None). - **kwargs : type - Additional keyworkded arguments to `Operator`. - - """ - def __init__(self, filename: str = None): - self.filename = filename - -
[docs] def display(self, X): - if not is_dask_array(X) and not is_dask_dataframe(X): - self.logger.warning("This is not a Dask element.") - return X - - if self.filename is not None: - X.visualize(self.filename) - else: - X.visualize() - - return X
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/feature_extraction/histogram.html b/docs/_modules/dasf/feature_extraction/histogram.html deleted file mode 100644 index c33e4d1..0000000 --- a/docs/_modules/dasf/feature_extraction/histogram.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - - - - dasf.feature_extraction.histogram — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.feature_extraction.histogram
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.feature_extraction.histogram

-#!/usr/bin/env python3
-
-import numpy as np
-import dask.array as da
-
-try:
-    import cupy as cp
-except ImportError:
-    pass
-
-from dasf.transforms.base import Transform
-from dasf.transforms.base import TargeteredTransform
-
-
-
[docs]class Histogram(TargeteredTransform, Transform): - """Operator to extract the histogram of a data. - - Parameters - ---------- - bins : Optional[int] - Number of bins (the default is None). - range : tuple - 2-element tuple with the lower and upper range of the bins. If not - provided, range is simply (X.min(), X.max()) (the default is None). - normed : bool - If the historgram must be normalized (the default is False). - weights : type - An array of weights, of the same shape as X. Each value in a only - contributes its associated weight towards the bin count - (the default is None). - density : type - If False, the result will contain the number of samples in each bin. - If True, the result is the value of the probability density function - at the bin, normalized such that the integral over the range is 1 - (the default is None). - - Attributes - ---------- - bins - range - normed - weights - density - - """ - def __init__(self, - bins: int = None, - range: tuple = None, - normed: bool = False, - weights=None, - density=None, - *args, - **kwargs): - TargeteredTransform.__init__(self, *args, **kwargs) - - self._bins = bins - self._range = range - self._normed = normed - self._weights = weights - self._density = density - - def __lazy_transform_generic(self, X): - return da.histogram( - X, - bins=self._bins, - range=self._range, - normed=self._normed, - weights=self._weights, - density=self._density, - ) - - def __transform_generic(self, X, xp): - return xp.histogram( - X, - bins=self._bins, - range=self._range, - normed=self._normed, - weights=self._weights, - density=self._density, - ) - -
[docs] def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X)
- -
[docs] def _lazy_transform_gpu(self, X, **kwargs): - return self.__lazy_transform_generic(X)
- -
[docs] def _transform_cpu(self, X, **kwargs): - return self.__transform_generic(X, np)
- -
[docs] def _transform_gpu(self, X, **kwargs): - return self.__transform_generic(X, cp)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/feature_extraction/transform.html b/docs/_modules/dasf/feature_extraction/transform.html deleted file mode 100644 index 8b9e62c..0000000 --- a/docs/_modules/dasf/feature_extraction/transform.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - - - dasf.feature_extraction.transform — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.feature_extraction.transform
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.feature_extraction.transform

-#!/usr/bin/env python3
-
-import numpy as np
-
-try:
-    import cupy as cp
-except ImportError:
-    pass
-
-from dasf.utils.types import is_array
-from dasf.utils.types import is_dataframe
-from dasf.transforms.base import Transform, Fit
-
-
-
[docs]class ConcatenateToArray(Transform): - """Concatenate data from different Arrays into a single array. - - Parameters - ---------- - flatten : bool - If the arrays must be flatten prior concatenating. If `False`, the - arrays must share the shape of last dimansions in order to be - concatenated (the default is False). - - """ - def __init__(self, flatten: bool = False): - self.flatten = flatten - - def __transform_generic(self, xp, **kwargs): - datas = None - for key in kwargs: - if datas is None: - if self.flatten: - flat = kwargs[key].flatten() - datas = xp.asarray([flat]) - else: - data = xp.asarray(kwargs[key]) - datas = xp.expand_dim(data, axis=len(data.shape)) - else: - if self.flatten: - flat = kwargs[key].flatten() - datas = xp.append(datas, xp.asarray([flat]), - axis=0) - else: - data = xp.asarray(kwargs[key]) - datas = xp.append(datas, data, axis=len(data.shape)) - - if self.flatten: - data = xp.transpose(datas) - else: - data = datas - - return data -# return data.rechunk({1: data.shape[1]}) - -
[docs] def _transform_cpu(self, **kwargs): - return self.__transform_generic(np, **kwargs)
- -
[docs] def _transform_gpu(self, **kwargs): - return self.__transform_generic(cp, **kwargs)
- - -
[docs]class SampleDataframe: - """Return a subset with random samples of the original dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataset. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - -
[docs] def run(self, X): - """Returns a subset with random samples from the dataset `X`. - - Parameters - ---------- - X : Any - The dataset. - - Returns - ------- - Any - The sampled subset. - - """ - return X.sample(n=int(len(X) * self.__percent))
- - -
[docs]class GetSubeCubeArray: - """Get a subcube with x% of samples from the original one. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the cube. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - - assert ( - self.__percent > 0 and self.__percent <= 1.0 - ), "Percent must be in [0,1] range." - - -
[docs] def transform(self, X): - i_num, x_num, t_num = X.shape - - i_start_idx = int((i_num - (i_num * self.__percent)) / 2) - i_end_idx = int(i_start_idx + (self.__percent * i_num)) - - x_start_idx = int((x_num - (x_num * self.__percent)) / 2) - x_end_idx = int(x_start_idx + (self.__percent * x_num)) - - t_start_idx = int((t_num - (t_num * self.__percent)) / 2) - t_end_idx = int(t_start_idx + (self.__percent * t_num)) - - return X[i_start_idx:i_end_idx, - x_start_idx:x_end_idx, - t_start_idx:t_end_idx]
- - -
[docs]class SliceDataframe(Fit): - """Get a slice of a cube. An inline slice is a section over the x-axis. - - Parameters - ---------- - iline_index : int - The index of the inline to get. - - """ - def __init__(self, iline_index: int): - self.iline_index = iline_index - -
[docs] def fit(self, X, y): - cube_shape = y.shape - - if is_array(X): - slice_array = X - elif is_dataframe(X): - slice_array = X.values - else: - raise ValueError("X is not a known datatype.") - - return slice_array.reshape(cube_shape)
- - -
[docs]class GetSubDataframe: - """Get the first x% samples from the dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataframe. - - """ - def __init__(self, percent: float): - self.__percent = float(percent / 100.0) - -
[docs] def transform(self, X): - new_size = int(len(X) * self.__percent) - - return X.iloc[0:new_size]
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/agglomerative.html b/docs/_modules/dasf/ml/cluster/agglomerative.html deleted file mode 100644 index 6a53a0a..0000000 --- a/docs/_modules/dasf/ml/cluster/agglomerative.html +++ /dev/null @@ -1,394 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.agglomerative — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.agglomerative
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.agglomerative

-#!/usr/bin/env python3
-
-from sklearn.cluster import (
-    AgglomerativeClustering as AgglomerativeClustering_CPU,
-)  # noqa
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-from dasf.utils.funcs import is_gpu_supported
-
-try:
-    from cuml import AgglomerativeClustering as AgglomerativeClustering_GPU
-except ImportError:
-    pass
-
-
-
[docs]class AgglomerativeClustering(ClusterClassifier): - """ - - Agglomerative Clustering - - Recursively merges the pair of clusters that minimally increases - a given linkage distance. - - Read more in the :ref:`User Guide <hierarchical_clustering>`. - - Parameters - ---------- - n_clusters : int or None, default=2 - The number of clusters to find. It must be ``None`` if - ``distance_threshold`` is not ``None``. - - affinity : str or callable, default='euclidean' - Metric used to compute the linkage. Can be "euclidean", "l1", "l2", - "manhattan", "cosine", or "precomputed". - If linkage is "ward", only "euclidean" is accepted. - If "precomputed", a distance matrix (instead of a similarity matrix) - is needed as input for the fit method. - - memory : str or object with the joblib.Memory interface, default=None - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - connectivity : array-like or callable, default=None - Connectivity matrix. Defines for each sample the neighboring - samples following a given structure of the data. - This can be a connectivity matrix itself or a callable that transforms - the data into a connectivity matrix, such as derived from - kneighbors_graph. Default is ``None``, i.e, the - hierarchical clustering algorithm is unstructured. - - compute_full_tree : 'auto' or bool, default='auto' - Stop early the construction of the tree at ``n_clusters``. This is - useful to decrease computation time if the number of clusters is not - small compared to the number of samples. This option is useful only - when specifying a connectivity matrix. Note also that when varying the - number of clusters and using caching, it may be advantageous to compute - the full tree. It must be ``True`` if ``distance_threshold`` is not - ``None``. By default `compute_full_tree` is "auto", which is equivalent - to `True` when `distance_threshold` is not `None` or that `n_clusters` - is inferior to the maximum between 100 or `0.02 * n_samples`. - Otherwise, "auto" is equivalent to `False`. - - linkage : {'ward', 'complete', 'average', 'single'}, default='ward' - Which linkage criterion to use. The linkage criterion determines which - distance to use between sets of observation. The algorithm will merge - the pairs of cluster that minimize this criterion. - - - 'ward' minimizes the variance of the clusters being merged. - - 'average' uses the average of the distances of each observation of - the two sets. - - 'complete' or 'maximum' linkage uses the maximum distances between - all observations of the two sets. - - 'single' uses the minimum of the distances between all observations - of the two sets. - - .. versionadded:: 0.20 - Added the 'single' option - - distance_threshold : float, default=None - The linkage distance threshold above which, clusters will not be - merged. If not ``None``, ``n_clusters`` must be ``None`` and - ``compute_full_tree`` must be ``True``. - - .. versionadded:: 0.21 - - compute_distances : bool, default=False - Computes distances between clusters even if `distance_threshold` is not - used. This can be used to make dendrogram visualization, but introduces - a computational and memory overhead. - - .. versionadded:: 0.24 - - n_neighbors : int, default = 15 - The number of neighbors to compute when connectivity = "knn" - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import AgglomerativeClustering - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [4, 2], [4, 4], [4, 0]]) - >>> clustering = AgglomerativeClustering().fit(X) - >>> clustering - AgglomerativeClustering() - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html - - https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering - - """ - def __init__( - self, - n_clusters=2, - affinity="euclidean", - connectivity=None, - linkage="single", - memory=None, - compute_full_tree="auto", - distance_threshold=None, - compute_distances=False, - handle=None, - verbose=False, - n_neighbors=10, - output_type=None, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.affinity = affinity - self.connectivity = connectivity - self.linkage = linkage - self.memory = memory - self.compute_full_tree = compute_full_tree - self.distance_threshold = distance_threshold - self.compute_distances = compute_distances - self.handle = handle - self.verbose = verbose - self.n_neighbors = n_neighbors - self.output_type = output_type - - self.__agg_cluster_cpu = AgglomerativeClustering_CPU( - n_clusters=n_clusters, - affinity=affinity, - memory=memory, - connectivity=connectivity, - compute_full_tree=compute_full_tree, - linkage=linkage, - distance_threshold=distance_threshold, - compute_distances=compute_distances, - ) - - if is_gpu_supported(): - if connectivity is None: - connectivity = "knn" - - self.__agg_cluster_gpu = AgglomerativeClustering_GPU( - n_clusters=n_clusters, - affinity=affinity, - linkage=linkage, - handle=handle, - verbose=verbose, - connectivity=connectivity, - n_neighbors=n_neighbors, - output_type=output_type, - ) - -
[docs] def _fit_cpu(self, X, y=None, convert_dtype=True): - return self.__agg_cluster_cpu.fit(X, y)
- -
[docs] def _fit_gpu(self, X, y=None, convert_dtype=True): - return self.__agg_cluster_gpu.fit(X, y, convert_dtype=convert_dtype)
- -
[docs] def _fit_predict_cpu(self, X, y=None): - return self.__agg_cluster_cpu.fit_predict(X, y)
- -
[docs] def _fit_predict_gpu(self, X, y=None): - return self.__agg_cluster_gpu.fit_predict(X, y)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/classifier.html b/docs/_modules/dasf/ml/cluster/classifier.html deleted file mode 100644 index 98f4009..0000000 --- a/docs/_modules/dasf/ml/cluster/classifier.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.classifier — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.classifier
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.classifier

-#!/usr/bin/env python3
-
-from dasf.transforms.base import Fit
-from dasf.transforms.base import FitPredict
-from dasf.transforms.base import FitTransform
-from dasf.transforms.base import Predict
-from dasf.transforms.base import Transform
-from dasf.transforms.base import TargeteredTransform
-from dasf.transforms.base import GetParams
-from dasf.transforms.base import SetParams
-
-
-
[docs]class ClusterClassifier( - Fit, FitPredict, FitTransform, Predict, - Transform, GetParams, SetParams, - TargeteredTransform -): - def __init__(self, **kwargs): - TargeteredTransform.__init__(self, **kwargs)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/dbscan.html b/docs/_modules/dasf/ml/cluster/dbscan.html deleted file mode 100644 index d837d4c..0000000 --- a/docs/_modules/dasf/ml/cluster/dbscan.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.dbscan — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.dbscan
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.dbscan

-#!/usr/bin/env python3
-
-from sklearn.cluster import DBSCAN as DBSCAN_CPU
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-from dasf.utils.funcs import is_gpu_supported
-
-try:
-    from cuml.cluster import DBSCAN as DBSCAN_GPU
-    from cuml.dask.cluster import DBSCAN as DBSCAN_MGPU
-except ImportError:
-    pass
-
-
-
[docs]class DBSCAN(ClusterClassifier): - """ - Perform DBSCAN clustering from vector array or distance matrix. - - DBSCAN - Density-Based Spatial Clustering of Applications with Noise. - Finds core samples of high density and expands clusters from them. - Good for data which contains clusters of similar density. - - Read more in the :ref:`User Guide <dbscan>`. - - Parameters - ---------- - eps : float, default=0.5 - The maximum distance between two samples for one to be considered - as in the neighborhood of the other. This is not a maximum bound - on the distances of points within a cluster. This is the most - important DBSCAN parameter to choose appropriately for your data set - and distance function. - - min_samples : int, default=5 - The number of samples (or total weight) in a neighborhood for a point - to be considered as a core point. This includes the point itself. - - metric : string, or callable, default='euclidean' - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by :func:`sklearn.metrics.pairwise_distances` for - its metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. X may be a :term:`Glossary <sparse graph>`, in which - case only "nonzero" elements may be considered neighbors for DBSCAN. - - .. versionadded:: 0.17 - metric *precomputed* to accept precomputed sparse matrix. - - metric_params : dict, default=None - Additional keyword arguments for the metric function. - - .. versionadded:: 0.19 - - algorithm : {'auto', 'ball_tree', 'kd_tree', 'brute'}, default='auto' - The algorithm to be used by the NearestNeighbors module - to compute pointwise distances and find nearest neighbors. - See NearestNeighbors module documentation for details. - - leaf_size : int, default=30 - Leaf size passed to BallTree or cKDTree. This can affect the speed - of the construction and query, as well as the memory required - to store the tree. The optimal value depends - on the nature of the problem. - - p : float, default=None - The power of the Minkowski metric to be used to calculate distance - between points. If None, then ``p=2`` (equivalent to the Euclidean - distance). - - n_jobs : int, default=None - The number of parallel jobs to run. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary <n_jobs>` - for more details. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - calc_core_sample_indices(optional) : boolean, default = True - Indicates whether the indices of the core samples should be calculated. - The the attribute `core_sample_indices_` will not be used, setting this - to False will avoid unnecessary kernel launches. - - - Examples - -------- - >>> from dasf.ml.cluster import DBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = DBSCAN(eps=3, min_samples=2).fit(X) - >>> clustering - DBSCAN(eps=3, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - See Also - -------- - OPTICS : A similar clustering at multiple values of eps. Our implementation - is optimized for memory usage. - - References - ---------- - Ester, M., H. P. Kriegel, J. Sander, and X. Xu, "A Density-Based - Algorithm for Discovering Clusters in Large Spatial Databases with Noise". - In: Proceedings of the 2nd International Conference on Knowledge Discovery - and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996 - - Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). - DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. - ACM Transactions on Database Systems (TODS), 42(3), 19. - - """ - def __init__( - self, - eps=0.5, - leaf_size=40, - metric="euclidean", - min_samples=5, - p=None, - output_type=None, - calc_core_sample_indices=True, - verbose=False, - **kwargs - ): - super().__init__(**kwargs) - - self.eps = eps - self.leaf_size = leaf_size - self.metric = metric - self.min_samples = min_samples - self.p = p - self.output_type = output_type - self.calc_core_sample_indices = calc_core_sample_indices - self.verbose = verbose - - self.__dbscan_cpu = DBSCAN_CPU( - eps=self.eps, - leaf_size=self.leaf_size, - metric=self.metric, - min_samples=self.min_samples, - p=self.p, - ) - - if is_gpu_supported(): - self.__dbscan_gpu = DBSCAN_GPU( - min_samples=self.min_samples, - output_type=output_type, - calc_core_sample_indices=calc_core_sample_indices, - ) - - try: - self.__dbscan_mgpu = DBSCAN_MGPU( - min_samples=self.min_samples, - output_type=output_type, - calc_core_sample_indices=calc_core_sample_indices, - ) - except ValueError: - self.__dbscan_mgpu = None - -
[docs] def _lazy_fit_gpu(self, X, y=None, out_dtype="int32"): - if self.__dbscan_mgpu is None: - raise NotImplementedError - return self.__dbscan_mgpu.fit(X=X, out_dtype=out_dtype)
- -
[docs] def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__dbscan_cpu.fit(X=X, y=y, sample_weight=sample_weight)
- -
[docs] def _fit_gpu(self, X, y=None, out_dtype="int32"): - return self.__dbscan_gpu.fit(X=X, out_dtype=out_dtype)
- -
[docs] def _lazy_fit_predict_gpu(self, X, y=None, out_dtype="int32"): - if self.__dbscan_mgpu is None: - raise NotImplementedError - return self.__dbscan_mgpu.fit_predict(X=X, out_dtype=out_dtype)
- -
[docs] def _fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__dbscan_cpu.fit_predict(X=X, y=y, sample_weight=sample_weight)
- -
[docs] def _fit_predict_gpu(self, X, y=None, out_dtype="int32"): - return self.__dbscan_gpu.fit_predict(X=X, out_dtype=out_dtype)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/hdbscan.html b/docs/_modules/dasf/ml/cluster/hdbscan.html deleted file mode 100644 index 4e2e942..0000000 --- a/docs/_modules/dasf/ml/cluster/hdbscan.html +++ /dev/null @@ -1,474 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.hdbscan — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.hdbscan
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.hdbscan

-#!/usr/bin/env python3
-
-from hdbscan import HDBSCAN as HDBSCAN_CPU
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-from dasf.utils.funcs import is_gpu_supported
-
-try:
-    from cuml.cluster import HDBSCAN as HDBSCAN_GPU
-except ImportError:
-    pass
-
-
-
[docs]class HDBSCAN(ClusterClassifier): - """ - Perform HDBSCAN clustering from vector array or distance matrix. - - HDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications - with Noise. Performs DBSCAN over varying epsilon values and integrates - the result to find a clustering that gives the best stability over epsilon. - This allows HDBSCAN to find clusters of varying densities (unlike DBSCAN), - and be more robust to parameter selection. - - Parameters - ---------- - min_cluster_size : int, optional (default=5) - The minimum size of clusters; single linkage splits that contain - fewer points than this will be considered points "falling out" of a - cluster rather than a cluster splitting into two new clusters. - - min_samples : int, optional (default=None) - The number of samples in a neighbourhood for a point to be - considered a core point. - - metric : string, or callable, optional (default='euclidean') - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by metrics.pairwise.pairwise_distances for its - metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. - - p : int, optional (default=None) - p value to use if using the minkowski metric. - - alpha : float, optional (default=1.0) - A distance scaling parameter as used in robust single linkage. - See [3]_ for more information. - - cluster_selection_epsilon: float, optional (default=0.0) - A distance threshold. Clusters below this value will be merged. - See [5]_ for more information. - - algorithm : string, optional (default='best') - Exactly which algorithm to use; hdbscan has variants specialised - for different characteristics of the data. By default this is set - to ``best`` which chooses the "best" algorithm given the nature of - the data. You can force other options if you believe you know - better. Options are: - * ``best`` - * ``generic`` - * ``prims_kdtree`` - * ``prims_balltree`` - * ``boruvka_kdtree`` - * ``boruvka_balltree`` - - leaf_size: int, optional (default=40) - If using a space tree algorithm (kdtree, or balltree) the number - of points ina leaf node of the tree. This does not alter the - resulting clustering, but may have an effect on the runtime - of the algorithm. - - memory : Instance of joblib.Memory or string (optional) - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - approx_min_span_tree : bool, optional (default=True) - Whether to accept an only approximate minimum spanning tree. - For some algorithms this can provide a significant speedup, but - the resulting clustering may be of marginally lower quality. - If you are willing to sacrifice speed for correctness you may want - to explore this; in general this should be left at the default True. - - gen_min_span_tree: bool, optional (default=False) - Whether to generate the minimum spanning tree with regard - to mutual reachability distance for later analysis. - - core_dist_n_jobs : int, optional (default=4) - Number of parallel jobs to run in core distance computations (if - supported by the specific algorithm). For ``core_dist_n_jobs`` - below -1, (n_cpus + 1 + core_dist_n_jobs) are used. - - cluster_selection_method : string, optional (default='eom') - The method used to select clusters from the condensed tree. The - standard approach for HDBSCAN* is to use an Excess of Mass algorithm - to find the most persistent clusters. Alternatively you can instead - select the clusters at the leaves of the tree -- this provides the - most fine grained and homogeneous clusters. Options are: - * ``eom`` - * ``leaf`` - - allow_single_cluster : bool, optional (default=False) - By default HDBSCAN* will not produce a single cluster, setting this - to True will override this and allow single cluster results in - the case that you feel this is a valid result for your dataset. - - prediction_data : boolean, optional - Whether to generate extra cached data for predicting labels or - membership vectors few new unseen points later. If you wish to - persist the clustering object for later re-use you probably want - to set this to True. - (default False) - - match_reference_implementation : bool, optional (default=False) - There exist some interpretational differences between this - HDBSCAN* implementation and the original authors reference - implementation in Java. This can result in very minor differences - in clustering results. Setting this flag to True will, at a some - performance cost, ensure that the clustering results match the - reference implementation. - - connectivity : {'pairwise', 'knn'}, default='knn' - The type of connectivity matrix to compute. - * 'pairwise' will compute the entire fully-connected graph of - pairwise distances between each set of points. This is the fastest - to compute and can be very fast for smaller datasets but requires - O(n^2) space. - - * 'knn' will sparsify the fully-connected connectivity matrix to - save memory and enable much larger inputs. "n_neighbors” will - control the amount of memory used and the graph will be connected - automatically in the event "n_neighbors” was not large enough to - connect it. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import HDBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = HDBSCAN(min_cluster_size=30, min_samples=2).fit(X) - >>> clustering - HDBSCAN(min_cluster_size=30, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - References - ---------- - - .. [1] Campello, R. J., Moulavi, D., & Sander, J. (2013, April). - Density-based clustering based on hierarchical density estimates. - In Pacific-Asia Conference on Knowledge Discovery and Data Mining - (pp. 160-172). Springer Berlin Heidelberg. - - .. [2] Campello, R. J., Moulavi, D., Zimek, A., & Sander, J. (2015). - Hierarchical density estimates for data clustering, visualization, - and outlier detection. ACM Transactions on Knowledge Discovery - from Data (TKDD), 10(1), 5. - - .. [3] Chaudhuri, K., & Dasgupta, S. (2010). Rates of convergence for the - cluster tree. In Advances in Neural Information Processing Systems - (pp. 343-351). - - .. [4] Moulavi, D., Jaskowiak, P.A., Campello, R.J., Zimek, A. and - Sander, J., 2014. Density-Based Clustering Validation. In SDM - (pp. 839-847). - - .. [5] Malzer, C., & Baum, M. (2019). A Hybrid Approach To Hierarchical - Density-based Cluster Selection. arxiv preprint 1911.02282. - - """ - def __init__( - self, - alpha=1.0, - gen_min_span_tree=False, - leaf_size=40, - metric="euclidean", - min_cluster_size=5, - min_samples=None, - p=None, - algorithm='best', - approx_min_span_tree=True, - core_dist_n_jobs=4, - cluster_selection_method='eom', - allow_single_cluster=False, - prediction_data=False, - match_reference_implementation=False, - connectivity='knn', - output_type=None, - verbose=0, - **kwargs - ): - super().__init__(**kwargs) - - self.alpha = alpha - self.gen_min_span_tree = gen_min_span_tree - self.leaf_size = leaf_size - self.metric = metric - self.min_cluster_size = min_cluster_size - self.min_samples = min_samples - self.p = p - self.algorithm = algorithm - self.approx_min_span_tree = approx_min_span_tree - self.core_dist_n_jobs = core_dist_n_jobs - self.cluster_selection_method = cluster_selection_method - self.allow_single_cluster = allow_single_cluster - self.prediction_data = prediction_data - self.match_reference_implementation = match_reference_implementation - self.connectivity = connectivity - self.output_type = output_type - self.verbose = verbose - - self.__hdbscan_cpu = HDBSCAN_CPU( - alpha=alpha, - gen_min_span_tree=gen_min_span_tree, - leaf_size=leaf_size, - metric=metric, - min_cluster_size=min_cluster_size, - min_samples=min_samples, - p=p, - algorithm=algorithm, - approx_min_span_tree=approx_min_span_tree, - core_dist_n_jobs=core_dist_n_jobs, - cluster_selection_method=cluster_selection_method, - allow_single_cluster=allow_single_cluster, - prediction_data=prediction_data, - match_reference_implementation=match_reference_implementation - ) - - if is_gpu_supported(): - self.__hdbscan_gpu = HDBSCAN_GPU( - alpha=alpha, - gen_min_span_tree=gen_min_span_tree, - metric=metric, - min_cluster_size=min_cluster_size, - min_samples=min_samples, - p=p, - cluster_selection_method=cluster_selection_method, - allow_single_cluster=allow_single_cluster, - verbose=verbose, - connectivity=connectivity, - output_type=output_type - ) - -
[docs] def _fit_cpu(self, X, y=None): - return self.__hdbscan_cpu.fit(X=X, y=y)
- -
[docs] def _fit_gpu(self, X, y=None, convert_dtype=True): - return self.__hdbscan_gpu.fit(X=X, y=y, convert_dtype=convert_dtype)
- -
[docs] def _fit_predict_cpu(self, X, y=None): - return self.__hdbscan_cpu.fit_predict(X=X, y=y)
- -
[docs] def _fit_predict_gpu(self, X, y=None): - return self.__hdbscan_gpu.fit_predict(X=X, y=y)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/kmeans.html b/docs/_modules/dasf/ml/cluster/kmeans.html deleted file mode 100644 index a8edef8..0000000 --- a/docs/_modules/dasf/ml/cluster/kmeans.html +++ /dev/null @@ -1,866 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.kmeans — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.kmeans
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.kmeans

-#!/usr/bin/env python3
-
-from sklearn.cluster import KMeans as KMeans_CPU
-from dask_ml.cluster import KMeans as KMeans_MCPU
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-from dasf.utils.funcs import is_gpu_supported
-from dasf.utils.decorators import task_handler
-
-try:
-    from cuml.cluster import KMeans as KMeans_GPU
-    from cuml.dask.cluster import KMeans as KMeans_MGPU
-except ImportError:
-    pass
-
-
-
[docs]class KMeans(ClusterClassifier): - """ - K-Means clustering. - - Read more in the :ref:`User Guide <k_means>`. - - Parameters - ---------- - - n_clusters : int, default=8 - The number of clusters to form as well as the number of - centroids to generate. - - init : {'k-means++', 'random'}, callable or array-like of shape (n_clusters, n_features), default='k-means++' - - Method for initialization: - - 'k-means++' : selects initial cluster centers for k-mean - clustering in a smart way to speed up convergence. See section - Notes in k_init for more details. - - 'random': choose `n_clusters` observations (rows) at random from data - for the initial centroids. - - If an array is passed, it should be of shape (n_clusters, n_features) - and gives the initial centers. - - If a callable is passed, it should take arguments X, n_clusters and a - random state and return an initialization. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of - n_init consecutive runs in terms of inertia. - - max_iter : int, default=300 - Maximum number of iterations of the k-means algorithm for a - single run. - - tol : float, default=1e-4 - Relative tolerance with regards to Frobenius norm of the difference - in the cluster centers of two consecutive iterations to declare - convergence. - - precompute_distances : {'auto', True, False}, default='auto' - Precompute distances (faster but takes more memory). - - 'auto' : do not precompute distances if n_samples * n_clusters > 12 - million. This corresponds to about 100MB overhead per job using - double precision. IMPORTANT: This is used only in Dask ML version. - - True : always precompute distances. - - False : never precompute distances. - - verbose : int, default=0 - Verbosity mode. - - random_state : int, RandomState instance or None, default=None - Determines random number generation for centroid initialization. Use - an int to make the randomness deterministic. - See :term:`Glossary <random_state>`. - - copy_x : bool, default=True - When pre-computing distances it is more numerically accurate to center - the data first. If copy_x is True (default), then the original data is - not modified. If False, the original data is modified, and put back - before the function returns, but small numerical differences may be - introduced by subtracting and then adding the data mean. Note that if - the original data is not C-contiguous, a copy will be made even if - copy_x is False. If the original data is sparse, but not in CSR format, - a copy will be made even if copy_x is False. - - n_jobs : int, default=1 - The number of OpenMP threads to use for the computation. Parallelism is - sample-wise on the main cython loop which assigns each sample to its - closest center. IMPORTANT: This is used only in Dask ML version. - - ``None`` or ``-1`` means using all processors. - - init_max_iter : int, default=None - Number of iterations for init step. - - algorithm : {"auto", "full", "elkan"}, default="full" - K-means algorithm to use. The classical EM-style algorithm is "full". - The "elkan" variation is more efficient on data with well-defined - clusters, by using the triangle inequality. However it's more memory - intensive due to the allocation of an extra array of shape - (n_samples, n_clusters). - - For now "auto" (kept for backward compatibiliy) chooses "elkan" but it - might change in the future for a better heuristic. - - .. versionchanged:: 0.18 - Added Elkan algorithm - - oversampling_factor : int, default=2 - The amount of points to sample in scalable k-means++ initialization - for potential centroids. Increasing this value can lead to better - initial centroids at the cost of memory. The total number of centroids - sampled in scalable k-means++ is oversampling_factor * n_clusters * 8. - - max_samples_per_batch : int, default=32768 - The number of data samples to use for batches of the pairwise distance - computation. This computation is done throughout both fit predict. The - default should suit most cases. The total number of elements in the - batched pairwise distance computation is max_samples_per_batch * - n_clusters. It might become necessary to lower this number when - n_clusters becomes prohibitively large. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - See Also - -------- - MiniBatchKMeans : Alternative online implementation that does incremental - updates of the centers positions using mini-batches. - For large scale learning (say n_samples > 10k) MiniBatchKMeans is - probably much faster than the default batch implementation. - - Notes - ----- - The k-means problem is solved using either Lloyd's or Elkan's algorithm. - - The average complexity is given by O(k n T), where n is the number of - samples and T is the number of iteration. - - The worst case complexity is given by O(n^(k+2/p)) with - n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, - 'How slow is the k-means method?' SoCG2006) - - In practice, the k-means algorithm is very fast (one of the fastest - clustering algorithms available), but it falls in local minima. That's why - it can be useful to restart it several times. - - If the algorithm stops before fully converging (because of ``tol`` or - ``max_iter``), ``labels_`` and ``cluster_centers_`` will not be consistent, - i.e. the ``cluster_centers_`` will not be the means of the points in each - cluster. Also, the estimator will reassign ``labels_`` after the last - iteration to make ``labels_`` consistent with ``predict`` on the training - set. - - Examples - -------- - - >>> from dasf.ml.cluster import KMeans - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [10, 2], [10, 4], [10, 0]]) - >>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X) - >>> kmeans.predict([[0, 0], [12, 3]]) - array([1, 0], dtype=int32) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html - - https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html - - https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering - - https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans - - """ - def __init__( - self, - n_clusters=8, - init=None, - n_init=None, - max_iter=300, - tol=0.0001, - verbose=0, - random_state=None, - copy_x=True, - algorithm='full', - oversampling_factor=2.0, - n_jobs=1, - init_max_iter=None, - max_samples_per_batch=32768, - precompute_distances='auto', - output_type=None, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.random_state = random_state - self.max_iter = max_iter - self.init = init - self.n_init = n_init - self.tol = tol - self.verbose = verbose - self.copy_x = copy_x - self.algorithm = algorithm - self.oversampling_factor = oversampling_factor - self.n_jobs = n_jobs - self.init_max_iter = init_max_iter - self.max_samples_per_batch = max_samples_per_batch - self.precompute_distances = precompute_distances - self.output_type = output_type - - # Estimator for CPU operations - self.__kmeans_cpu = KMeans_CPU( - n_clusters=n_clusters, - random_state=random_state, - max_iter=max_iter, - init=("k-means++" if init is None else init), - n_init=(10 if n_init is None else n_init), - tol=tol, - verbose=verbose, - copy_x=copy_x, - algorithm=algorithm, - ) - - # Estimator for Dask ML operations - self.__kmeans_mcpu = KMeans_MCPU( - n_clusters=n_clusters, - random_state=random_state, - max_iter=max_iter, - init=("k-means||" if init is None else init), - tol=tol, - oversampling_factor=oversampling_factor, - algorithm=algorithm, - n_jobs=n_jobs, - init_max_iter=init_max_iter, - copy_x=copy_x, - precompute_distances=precompute_distances, - ) - - if is_gpu_supported(): - # Estimator for CuML operations - self.__kmeans_gpu = KMeans_GPU( - n_clusters=n_clusters, - random_state=(1 if random_state is None else random_state), - max_iter=max_iter, - tol=tol, - verbose=verbose, - init=("scalable-k-means++" if init is None else init), - oversampling_factor=oversampling_factor, - max_samples_per_batch=max_samples_per_batch, - ) - - # XXX: KMeans in Multi GPU requires a Client instance, - # skip if not present. - try: - self.__kmeans_mgpu = KMeans_MGPU( - n_clusters=n_clusters, - random_state=(1 if random_state is None else random_state), - max_iter=max_iter, - tol=tol, - verbose=verbose, - init=("scalable-k-means++" if init is None else init), - oversampling_factor=oversampling_factor, - max_samples_per_batch=max_samples_per_batch, - ) - except ValueError: - self.__kmeans_mgpu = None - -
[docs] def _lazy_fit_cpu(self, X, y=None, sample_weight=None): - """ - Compute Dask k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it&apos;s not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_mcpu.fit(X=X, y=y)
- -
[docs] def _lazy_fit_gpu(self, X, y=None, sample_weight=None): - """ - Compute Dask CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it&apos;s not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.fit(X=X, sample_weight=sample_weight)
- -
[docs] def _fit_cpu(self, X, y=None, sample_weight=None): - """ - Compute Scikit Learn k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it&apos;s not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_cpu.fit(X=X, y=y, sample_weight=sample_weight)
- -
[docs] def _fit_gpu(self, X, y=None, sample_weight=None): - """ - Compute CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it&apos;s not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - """ - return self.__kmeans_gpu.fit(X=X, sample_weight=sample_weight)
- -
[docs] def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Dask ML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - local_kmeans = self.__kmeans_mcpu.fit(X=X, y=y) - return local_kmeans.predict(X=X)
- -
[docs] def _lazy_fit_predict_gpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Dask CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.fit_predict(X, y, sample_weight)
- -
[docs] def _fit_predict_cpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - Scikit Learn. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_cpu.fit_predict(X)
- -
[docs] def _fit_predict_gpu(self, X, y=None, sample_weight=None): - """ - Compute cluster centers and predict cluster index for each sample using - CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_gpu.fit_predict(X=X, sample_weight=sample_weight)
- -
[docs] def _lazy_predict_cpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Dask ML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_mcpu.predict(X)
- -
[docs] def _lazy_predict_gpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Dask - CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - if self.__kmeans_mgpu is None: - raise NotImplementedError - return self.__kmeans_mgpu.predict(X, sample_weight)
- -
[docs] def _predict_cpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using Scikit - Learn. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_cpu.predict(X, sample_weight)
- -
[docs] def _predict_gpu(self, X, sample_weight=None): - """ - Predict the closest cluster each sample in X belongs to using CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - return self.__kmeans_gpu.predict(X, sample_weight)
- -
[docs] def _lazy_predict2_cpu(self, X, sample_weight=None): - """ - A block predict using Scikit Learn variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - def __predict(block): - return self._predict_cpu.predict(block, sample_weight=sample_weight) - - return X.map_blocks( - __predict, chunks=(X.chunks[0],), drop_axis=[1], dtype=X.dtype - )
- -
[docs] def _lazy_predict2_gpu(self, X, sample_weight=None): - """ - A block predict using CuML variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - """ - def __predict(block): - return self._predict_gpu.predict(block, sample_weight=sample_weight) - - return X.map_blocks( - __predict, chunks=(X.chunks[0],), drop_axis=[1], dtype=X.dtype - )
- -
[docs] def _predict2_cpu(self, X, sample_weight=None): - raise NotImplementedError("Method available only for Dask.")
- -
[docs] def _predict2_gpu(self, X, sample_weight=None): - raise NotImplementedError("Method available only for Dask.")
- -
[docs] @task_handler - def predict2(self, sample_weight=None): - ...
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/som.html b/docs/_modules/dasf/ml/cluster/som.html deleted file mode 100644 index bf274f9..0000000 --- a/docs/_modules/dasf/ml/cluster/som.html +++ /dev/null @@ -1,484 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.som — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.som
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.som

-#!/usr/bin/env python3
-
-import numpy as np
-
-from xpysom_dask import XPySom
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-from dasf.utils.funcs import is_gpu_supported
-from dasf.utils.decorators import task_handler
-
-try:
-    import cupy as cp
-except ImportError:
-    pass
-
-
-
[docs]class SOM(ClusterClassifier): - """ - Initializes a Self Organizing Maps. - - A rule of thumb to set the size of the grid for a dimensionality - reduction task is that it should contain 5*sqrt(N) neurons - where N is the number of samples in the dataset to analyze. - - E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 - hence a map 8-by-8 should perform well. - - Parameters - ---------- - x : int - x dimension of the SOM. - - y : int - y dimension of the SOM. - - input_len : int - Number of the elements of the vectors in input. - - sigma : float, default=min(x,y)/2 - Spread of the neighborhood function, needs to be adequate - to the dimensions of the map. - - sigmaN : float, default=0.01 - Spread of the neighborhood function at last iteration. - - learning_rate : float, default=0.5 - initial learning rate. - - learning_rateN : float, default=0.01 - final learning rate - - decay_function : string, default='exponential' - Function that reduces learning_rate and sigma at each iteration. - Possible values: 'exponential', 'linear', 'aymptotic' - - neighborhood_function : string, default='gaussian' - Function that weights the neighborhood of a position in the map. - Possible values: 'gaussian', 'mexican_hat', 'bubble', 'triangle' - - topology : string, default='rectangular' - Topology of the map. - Possible values: 'rectangular', 'hexagonal' - - activation_distance : string, default='euclidean' - Distance used to activate the map. - Possible values: 'euclidean', 'cosine', 'manhattan' - - random_seed : int, default=None - Random seed to use. - - n_parallel : uint, default=#max_CUDA_threads or 500*#CPUcores - Number of samples to be processed at a time. Setting a too low - value may drastically lower performance due to under-utilization, - setting a too high value increases memory usage without granting - any significant performance benefit. - - xp : numpy or cupy, default=cupy if can be imported else numpy - Use numpy (CPU) or cupy (GPU) for computations. - - std_coeff: float, default=0.5 - Used to calculate gausssian exponent denominator: - d = 2*std_coeff**2*sigma**2 - - compact_support: bool, default=False - Cut the neighbor function to 0 beyond neighbor radius sigma - - Examples - -------- - >>> from dasf.ml.cluster import SOM - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> som = SOM(x=3, y=2, input_len=2, - ... num_epochs=100).fit(X) - >>> som - SOM(x=3, y=2, input_len=2, num_epochs=100) - - """ - def __init__( - self, - x, - y, - input_len, - num_epochs=100, - sigma=0, - sigmaN=1, - learning_rate=0.5, - learning_rateN=0.01, - decay_function="exponential", - neighborhood_function="gaussian", - std_coeff=0.5, - topology="rectangular", - activation_distance="euclidean", - random_seed=None, - n_parallel=0, - compact_support=False, - **kwargs - ): - super().__init__(**kwargs) - - self.x = x - self.y = y - self.input_len = input_len - self.num_epochs = num_epochs - self.sigma = sigma - self.sigmaN = sigmaN - self.learning_rate = learning_rate - self.learning_rateN = learning_rateN - self.decay_function = decay_function - self.neighborhood_function = neighborhood_function - self.std_coeff = std_coeff - self.topology = topology - self.activation_distance = activation_distance - self.random_seed = random_seed - self.n_parallel = n_parallel - self.compact_support = compact_support - - self.__som_cpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=np, - ) - - self.__som_mcpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=np, - use_dask=True, - ) - - if is_gpu_supported(): - self.__som_gpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=cp, - ) - - self.__som_mgpu = XPySom( - x=self.x, - y=self.y, - input_len=self.input_len, - sigma=self.sigma, - sigmaN=self.sigmaN, - learning_rate=self.learning_rate, - learning_rateN=self.learning_rateN, - decay_function=self.decay_function, - neighborhood_function=self.neighborhood_function, - std_coeff=self.std_coeff, - topology=self.topology, - activation_distance=self.activation_distance, - random_seed=self.random_seed, - n_parallel=self.n_parallel, - compact_support=self.compact_support, - xp=cp, - use_dask=True, - ) - -
[docs] def _lazy_fit_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mcpu - return self.__som_mcpu.train(X, self.num_epochs)
- -
[docs] def _lazy_fit_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mgpu - return self.__som_mgpu.train(X, self.num_epochs)
- -
[docs] def _fit_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_cpu - return self.__som_cpu.train(X, self.num_epochs)
- -
[docs] def _fit_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_gpu - return self.__som_gpu.train(X, self.num_epochs)
- -
[docs] def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mcpu - return self.__som_mcpu.train(X, self.num_epochs).predict(X)
- -
[docs] def _lazy_fit_predict_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_mgpu - return self.__som_mgpu.train(X, self.num_epochs).predict(X)
- -
[docs] def _fit_predict_cpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_cpu - return self.__som_cpu.train(X, self.num_epochs).predict(X)
- -
[docs] def _fit_predict_gpu(self, X, y=None, sample_weight=None): - self.__som = self.__som_gpu - return self.__som_gpu.train(X, self.num_epochs).predict(X)
- -
[docs] def _lazy_predict_cpu(self, X, sample_weight=None): - return self.__som_mcpu.predict(X)
- -
[docs] def _lazy_predict_gpu(self, X, sample_weight=None): - return self.__som_mgpu.predict(X)
- -
[docs] def _predict_cpu(self, X, sample_weight=None): - return self.__som_cpu.predict(X)
- -
[docs] def _predict_gpu(self, X, sample_weight=None): - return self.__som_gpu.predict(X)
- -
[docs] def _lazy_quantization_error_cpu(self, X): - return self.__som_mcpu.quantization_error(X)
- -
[docs] def _lazy_quantization_error_gpu(self, X): - return self.__som_mgpu.quantization_error(X)
- -
[docs] def _quantization_error_cpu(self, X): - return self.__som_cpu.quantization_error(X)
- -
[docs] def _quantization_error_gpu(self, X): - return self.__som_gpu.quantization_error(X)
- -
[docs] @task_handler - def quantization_error(self, X): - ...
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/cluster/spectral.html b/docs/_modules/dasf/ml/cluster/spectral.html deleted file mode 100644 index 8f053e9..0000000 --- a/docs/_modules/dasf/ml/cluster/spectral.html +++ /dev/null @@ -1,479 +0,0 @@ - - - - - - - - - - dasf.ml.cluster.spectral — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.cluster.spectral
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.cluster.spectral

-#!/usr/bin/env python3
-
-from sklearn.cluster import SpectralClustering as SpectralClustering_CPU
-from dask_ml.cluster import SpectralClustering as SpectralClustering_MCPU
-
-from dasf.ml.cluster.classifier import ClusterClassifier
-
-
-
[docs]class SpectralClustering(ClusterClassifier): - """ - Apply clustering to a projection of the normalized Laplacian. - - In practice Spectral Clustering is very useful when the structure of - the individual clusters is highly non-convex, or more generally when - a measure of the center and spread of the cluster is not a suitable - description of the complete cluster, such as when clusters are - nested circles on the 2D plane. - - If the affinity matrix is the adjacency matrix of a graph, this method - can be used to find normalized graph cuts. - - When calling ``fit``, an affinity matrix is constructed using either - a kernel function such the Gaussian (aka RBF) kernel with Euclidean - distance ``d(X, X)``:: - - np.exp(-gamma * d(X,X) ** 2) - - or a k-nearest neighbors connectivity matrix. - - Alternatively, a user-provided affinity matrix can be specified by - setting ``affinity='precomputed'``. - - Read more in the :ref:`User Guide <spectral_clustering>`. - - Parameters - ---------- - n_clusters : int, default=8 - The dimension of the projection subspace. - - eigen_solver : {'arpack', 'lobpcg', 'amg'}, default=None - The eigenvalue decomposition strategy to use. AMG requires pyamg - to be installed. It can be faster on very large, sparse problems, - but may also lead to instabilities. If None, then ``'arpack'`` is - used. - - n_components : int, default=n_clusters - Number of eigenvectors to use for the spectral embedding - - random_state : int, RandomState instance, default=None - A pseudo random number generator used for the initialization of the - lobpcg eigenvectors decomposition when ``eigen_solver='amg'`` and by - the K-Means initialization. Use an int to make the randomness - deterministic. - See :term:`Glossary <random_state>`. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of n_init - consecutive runs in terms of inertia. Only used if - ``assign_labels='kmeans'``. - - gamma : float, default=1.0 - Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. - Ignored for ``affinity='nearest_neighbors'``. - - affinity : str or callable, default='rbf' - How to construct the affinity matrix. - - 'nearest_neighbors': construct the affinity matrix by computing a - graph of nearest neighbors. - - 'rbf': construct the affinity matrix using a radial basis function - (RBF) kernel. - - 'precomputed': interpret ``X`` as a precomputed affinity matrix, - where larger values indicate greater similarity between instances. - - 'precomputed_nearest_neighbors': interpret ``X`` as a sparse graph - of precomputed distances, and construct a binary affinity matrix - from the ``n_neighbors`` nearest neighbors of each instance. - - one of the kernels supported by - :func:`~sklearn.metrics.pairwise_kernels`. - - Only kernels that produce similarity scores (non-negative values that - increase with similarity) should be used. This property is not checked - by the clustering algorithm. - - n_neighbors : int, default=10 - Number of neighbors to use when constructing the affinity matrix using - the nearest neighbors method. Ignored for ``affinity='rbf'``. - - eigen_tol : float, default=0.0 - Stopping criterion for eigendecomposition of the Laplacian matrix - when ``eigen_solver='arpack'``. - - assign_labels : {'kmeans', 'discretize'}, default='kmeans' - The strategy for assigning labels in the embedding space. There are two - ways to assign labels after the Laplacian embedding. k-means is a - popular choice, but it can be sensitive to initialization. - Discretization is another approach which is less sensitive to random - initialization. - - degree : float, default=3 - Degree of the polynomial kernel. Ignored by other kernels. - - coef0 : float, default=1 - Zero coefficient for polynomial and sigmoid kernels. - Ignored by other kernels. - - kernel_params : dict of str to any, default=None - Parameters (keyword arguments) and values for kernel passed as - callable object. Ignored by other kernels. - - n_jobs : int, default=None - The number of parallel jobs to run when `affinity='nearest_neighbors'` - or `affinity='precomputed_nearest_neighbors'`. The neighbors search - will be done in parallel. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary <n_jobs>` - for more details. - - verbose : bool, default=False - Verbosity mode. - - .. versionadded:: 0.24 - - persist_embedding : bool - Whether to persist the intermediate n_samples x n_components array used - for clustering. - - kmeans_params : dictionary of string to any, optional - Keyword arguments for the KMeans clustering used for the final - clustering. - - Examples - -------- - >>> from dasf.ml.cluster import SpectralClustering - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> clustering = SpectralClustering(n_clusters=2, - ... assign_labels='discretize', - ... random_state=0).fit(X) - >>> clustering - SpectralClustering(assign_labels='discretize', n_clusters=2, - random_state=0) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering - - https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html - - Notes - ----- - A distance matrix for which 0 indicates identical elements and high values - indicate very dissimilar elements can be transformed into an affinity / - similarity matrix that is well-suited for the algorithm by - applying the Gaussian (aka RBF, heat) kernel:: - - np.exp(- dist_matrix ** 2 / (2. * delta ** 2)) - - where ``delta`` is a free parameter representing the width of the Gaussian - kernel. - - An alternative is to take a symmetric version of the k-nearest neighbors - connectivity matrix of the points. - - If the pyamg package is installed, it is used: this greatly - speeds up computation. - - References - ---------- - - - Normalized cuts and image segmentation, 2000 - Jianbo Shi, Jitendra Malik - http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.2324 - - - A Tutorial on Spectral Clustering, 2007 - Ulrike von Luxburg - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.9323 - - - Multiclass spectral clustering, 2003 - Stella X. Yu, Jianbo Shi - https://www1.icsi.berkeley.edu/~stellayu/publication/doc/2003kwayICCV.pdf - - """ - def __init__( - self, - n_clusters=8, - eigen_solver=None, - random_state=None, - n_init=10, - gamma=1.0, - affinity="rbf", - n_neighbors=10, - eigen_tol=0.0, - assign_labels="kmeans", - degree=3, - coef0=1, - kernel_params=None, - n_jobs=None, - n_components=None, - persist_embedding=False, - kmeans_params=None, - verbose=False, - **kwargs - ): - super().__init__(**kwargs) - - self.n_clusters = n_clusters - self.eigen_solver = eigen_solver - self.random_state = random_state - self.n_init = n_init - self.gamma = gamma - self.affinity = affinity - self.n_neighbors = n_neighbors - self.eigen_tol = eigen_tol - self.assign_labels = assign_labels - self.degree = degree - self.coef0 = coef0 - self.kernel_params = kernel_params - self.n_jobs = n_jobs - self.n_components = n_components - self.persist_embedding = persist_embedding - self.kmeans_params = kmeans_params - self.verbose = verbose - - self.__sc_cpu = SpectralClustering_CPU( - n_clusters=n_clusters, - eigen_solver=eigen_solver, - random_state=random_state, - n_init=n_init, - gamma=gamma, - affinity=affinity, - n_neighbors=n_neighbors, - eigen_tol=eigen_tol, - assign_labels=assign_labels, - degree=degree, - coef0=coef0, - kernel_params=kernel_params, - n_jobs=n_jobs, - n_components=n_components, - verbose=verbose - ) - - # If n_components is set to None, use default - n_components = 100 if n_components is None else n_components - - self.__sc_mcpu = SpectralClustering_MCPU( - n_clusters=n_clusters, - eigen_solver=eigen_solver, - random_state=random_state, - n_init=n_init, - gamma=gamma, - affinity=affinity, - n_neighbors=n_neighbors, - eigen_tol=eigen_tol, - assign_labels=assign_labels, - degree=degree, - coef0=coef0, - kernel_params=kernel_params, - n_jobs=n_jobs, - n_components=n_components, - persist_embedding=persist_embedding, - kmeans_params=kmeans_params, - ) - -
[docs] def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__sc_cpu.fit(X=X, y=y)
- -
[docs] def _lazy_fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__sc_mcpu.fit_predict(X=X)
- -
[docs] def _fit_predict_cpu(self, X, y=None, sample_weight=None): - return self.__sc_cpu.fit_predict(X)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/core.html b/docs/_modules/dasf/ml/core.html deleted file mode 100644 index 9c073f3..0000000 --- a/docs/_modules/dasf/ml/core.html +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - dasf.ml.core — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.core
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.core

-#!/usr/bin/env python3
-
-import os
-import pickle
-
-from pathlib import Path
-
-
-
[docs]class MLGeneric: - def __init__(self, name, checkpoint=False, **kwargs): - # Machine Learning Algorithm - self._cached_dir = os.path.abspath( - os.path.join(str(Path.home()), - "/.cache/dasf/ml/")) - os.makedirs(self._cached_dir, exist_ok=True) - - self._tmp = os.path.abspath(os.path.join(self._cached_dir, - name.lower())) - - self.__checkpoint = checkpoint - -
[docs] def dump(self, model): - if self.get_checkpoint(): - with open(self._tmp, "wb") as fh: - pickle.dump(model, fh)
- -
[docs] def load(self, model): - if self.get_checkpoint() and os.path.exists(self._tmp): - with open(self._tmp, "rb") as fh: - return pickle.load(fh) - return model
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/decomposition/pca.html b/docs/_modules/dasf/ml/decomposition/pca.html deleted file mode 100644 index 2d6cca9..0000000 --- a/docs/_modules/dasf/ml/decomposition/pca.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - - dasf.ml.decomposition.pca — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.ml.decomposition.pca

-#!/usr/bin/env python3
-
-from sklearn.decomposition import PCA as PCA_CPU
-from dask_ml.decomposition import PCA as PCA_MCPU
-
-from dasf.utils.funcs import is_dask_supported
-from dasf.utils.funcs import is_gpu_supported
-from dasf.transforms.base import Fit, FitTransform
-from dasf.transforms.base import TargeteredTransform
-
-try:
-    from cuml.decomposition import PCA as PCA_GPU
-    from cuml.dask.decomposition import PCA as PCA_MGPU
-except ImportError:
-    pass
-
-
-
[docs]class PCA(Fit, FitTransform, TargeteredTransform): - def __init__( - self, - n_components=None, - copy=True, - whiten=False, - svd_solver="auto", - tol=0.0, - iterated_power="auto", - random_state=None, - *args, - **kwargs, - ): - TargeteredTransform.__init__(self, *args, **kwargs) - - self.__pca_cpu = PCA_CPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - - self.__pca_mcpu = PCA_MCPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - if is_gpu_supported(): - try: - self.__pca_gpu = PCA_GPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - except TypeError: - self.__pca_gpu = None - - # XXX: PCA in Multi GPU requires a Client instance, - # skip if not present. - try: - self.__pca_mgpu = PCA_MGPU( - n_components=n_components, - copy=copy, - whiten=whiten, - svd_solver=svd_solver, - tol=tol, - iterated_power=iterated_power, - random_state=random_state, - ) - except ValueError: - self.__pca_mgpu = None - -
[docs] def _lazy_fit_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.fit(X)
- -
[docs] def _lazy_fit_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.fit(X)
- -
[docs] def _fit_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.fit(X)
- -
[docs] def _fit_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.fit(X)
- -
[docs] def _lazy_fit_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.fit_transform(X, y)
- -
[docs] def _lazy_fit_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.fit_transform(X, y)
- -
[docs] def _fit_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.fit_transform(X, y)
- -
[docs] def _fit_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.fit_transform(X, y)
- -
[docs] def _lazy_transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_mcpu.transform(X)
- -
[docs] def _lazy_transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_mgpu is None: - raise NotImplementedError - return self.__pca_mgpu.transform(X)
- -
[docs] def _transform_cpu(self, X, y=None, sample_weights=None): - return self.__pca_cpu.transform(X)
- -
[docs] def _transform_gpu(self, X, y=None, sample_weights=None): - if self.__pca_gpu is None: - raise NotImplementedError - return self.__pca_gpu.transform(X)
- -
[docs] def _get_covariance_cpu(self): - return self.__pca_cpu.get_covariance()
- -
[docs] def get_covariance(self): - if not is_dask_supported() and not is_gpu_supported(): - return self._get_covariance_cpu() - else: - raise NotImplementedError
- -
[docs] def _get_precision_cpu(self): - return self.__pca_cpu.get_precision()
- -
[docs] def get_precision(self): - if not is_dask_supported() and not is_gpu_supported(): - return self._get_precision_cpu() - else: - raise NotImplementedError
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/dl/clusters/dask.html b/docs/_modules/dasf/ml/dl/clusters/dask.html deleted file mode 100644 index a307a6c..0000000 --- a/docs/_modules/dasf/ml/dl/clusters/dask.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - - - dasf.ml.dl.clusters.dask — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.dl.clusters.dask
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.dl.clusters.dask

-#!/usr/bin/env python
-
-import os
-
-from pytorch_lightning.plugins.environments import ClusterEnvironment
-
-
-
[docs]class DaskClusterEnvironment(ClusterEnvironment): - """ - Create a Dask Cluster environment for workers - - metadata -- dictionary containing all data related to workers. - """ - - def __init__(self, metadata=None) -> None: - super().__init__() - - if isinstance(metadata, dict): - self.metadata = metadata - else: - self.metadata = {k.lower(): v for k, v in os.environ.items()} - - self._master_port = 23456 - -
[docs] def detect(self) -> bool: - if "master" not in self.metadata: - return False - if "world_size" not in self.metadata: - return False - if "global_rank" not in self.metadata: - return False - - return True
- - @property - def creates_processes_externally(self) -> bool: - """Return True if the cluster is managed (you don't launch processes - yourself). - """ - return True - - @property - def main_address(self) -> str: - """Return master worker address.""" - return self.metadata["master"] - - @property - def main_port(self) -> int: - """Return master worker port.""" - return self._master_port - -
[docs] def creates_children(self) -> bool: - """Fork children when generate a cluster.""" - return False
- -
[docs] def world_size(self) -> int: - """Return worker world size.""" - return int(self.metadata["world_size"])
- -
[docs] def global_rank(self) -> int: - """Return worker global rank.""" - return int(self.metadata["global_rank"])
- -
[docs] def local_rank(self) -> int: - """Return worker local rank.""" - if "local_rank" in self.metadata: - return int(self.metadata["local_rank"]) - else: - return 0
- -
[docs] def node_rank(self) -> int: - """Return worker node rank (which is similar to global rank).""" - return int(self.metadata["global_rank"])
- -
[docs] def set_world_size(self, size: int) -> None: - self.metadata["world_size"] = size
- -
[docs] def set_global_rank(self, rank: int) -> None: - self.metadata["global_rank"] = rank
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/dl/models/devconvnet.html b/docs/_modules/dasf/ml/dl/models/devconvnet.html deleted file mode 100644 index e092ff0..0000000 --- a/docs/_modules/dasf/ml/dl/models/devconvnet.html +++ /dev/null @@ -1,1541 +0,0 @@ - - - - - - - - - - dasf.ml.dl.models.devconvnet — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.dl.models.devconvnet
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.dl.models.devconvnet

-#!/usr/bin/env python3
-
-import torch
-import numpy as np
-
-from torch.nn import MaxUnpool2d
-from torch.nn import MaxPool2d, ConvTranspose2d
-from torch.nn import Sequential, Conv2d
-from torch.nn import BatchNorm2d, ReLU
-
-from torch.nn import functional as F
-
-from torchmetrics import Metric
-
-from pytorch_lightning import LightningModule
-
-
-
[docs]class MyAccuracy(Metric): - def __init__(self, dist_sync_on_step=False): - # call `self.add_state`for every internal state that is needed for the - # metrics computations dist_reduce_fx indicates the function that - # should be used to reduce state from multiple processes - super().__init__(dist_sync_on_step=dist_sync_on_step) - - self.add_state("correct", default=torch.tensor(0), dist_reduce_fx="sum") - self.add_state("total", default=torch.tensor(0), dist_reduce_fx="sum") - self.idx = 0 - -
[docs] def set_idx(self, idx): - self.idx = idx
- -
[docs] def update(self, preds: torch.Tensor, target: torch.Tensor): - # update metric states - pred = preds.detach().max(1)[1].cpu().numpy() - gt = torch.squeeze(target, 1).cpu().numpy() - - assert pred.shape == gt.shape - - np.save("out/pred_" + str(self.idx) + ".npy", pred) - - self.correct += np.sum(pred == gt) - self.total += len(gt.flatten())
- -
[docs] def __str__(self): - ret = self.compute() - return str(ret)
- -
[docs] def compute(self): - # compute final result - return float(self.correct / self.total)
- - -
[docs]class NNModule(LightningModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__() - - self.learned_billinear = learned_billinear - self.n_classes = n_classes - self.clip = clip - - if class_weights and isinstance(class_weights, dict): - self.class_weights = torch.tensor( - list(class_weights.values()), requires_grad=False - ) - else: - self.class_weights = None - - self.class_names = list(class_weights.keys()) - -
[docs] def cross_entropy_loss(self, input, target, weight=None, ignore_index=255): - """ - Use 255 to fill empty values when padding or doing any augmentation operations - like rotation. - """ - target = torch.squeeze(target, dim=1) - loss = F.cross_entropy(input, target, weight, reduction="sum", ignore_index=255) - - return loss
- -
[docs] def configure_optimizers(self): - return torch.optim.Adam(self.parameters(), amsgrad=True)
- -
[docs] def training_step(self, batch, batch_idx): - images, labels = batch - - outputs = self.forward(images) - - loss = self.cross_entropy_loss( - input=outputs, target=labels, weight=self.class_weights - ) - - # gradient clipping - if self.clip != 0: - torch.nn.utils.clip_grad_norm_(self.parameters(), self.clip) - - return loss
- -
[docs] def test_step(self, test_batch, batch_idx): - images, labels = test_batch - - preds = self(images) - - file_object = open("test.txt", "w") - file_object.write(str(preds.shape)) - file_object.write(str(labels.shape)) - file_object.close() - - self.accuracy.set_idx(batch_idx) - - self.accuracy(preds, labels)
- - -
[docs]class TorchPatchDeConvNet(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - -
[docs] def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - return out
- -
[docs] def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1
- -
[docs] def load(self): - """ This is just a no-op load method. """ - return self
- - -
[docs]class TorchPatchDeConvNetSkip(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - -
[docs] def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) + conv5 - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) + conv4 - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) + conv3 - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) + conv2 - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) + conv1 - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - return out
- -
[docs] def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1
- -
[docs] def load(self): - """ This is just a no-op load method. """ - return self
- - -
[docs]class TorchSectionDeConvNet(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=False - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - -
[docs] def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - return out
- -
[docs] def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1
- -
[docs] def load(self): - """ This is just a no-op load method. """ - return self
- - -
[docs]class TorchSectionDeConvNetSkip(NNModule): - def __init__( - self, n_classes=4, learned_billinear=False, clip=0.1, class_weights=None - ): - super().__init__(n_classes, learned_billinear, clip, class_weights) - - self.unpool = MaxUnpool2d(2, stride=2) - self.conv_block1 = Sequential( - # conv1_1 - Conv2d(1, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv1_2 - Conv2d(64, 64, 3, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool1 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_1 - - # 48*48 - - self.conv_block2 = Sequential( - # conv2_1 - Conv2d(64, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv2_2 - Conv2d(128, 128, 3, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool2 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_2 - - # 24*24 - - self.conv_block3 = Sequential( - # conv3_1 - Conv2d(128, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_2 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv3_3 - Conv2d(256, 256, 3, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool3 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_3 - - # 12*12 - - self.conv_block4 = Sequential( - # conv4_1 - Conv2d(256, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv4_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool4 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_4 - - # 6*6 - - self.conv_block5 = Sequential( - # conv5_1 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_2 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # conv5_3 - Conv2d(512, 512, 3, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # pool5 - MaxPool2d(2, stride=2, return_indices=True, ceil_mode=True), - ) - # it returns outputs and pool_indices_5 - - # 3*3 - - self.conv_block6 = Sequential( - # fc6 - Conv2d(512, 4096, 3), - # set the filter size and nor padding to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 1*1 - - self.conv_block7 = Sequential( - # fc7 - Conv2d(4096, 4096, 1), - # set the filter size to make output into 1*1 - BatchNorm2d(4096, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.deconv_block8 = Sequential( - # fc6-deconv - ConvTranspose2d(4096, 512, 3, stride=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - # 3*3 - - self.unpool_block9 = Sequential( - # unpool5 - MaxUnpool2d(2, stride=2), - ) - # usage unpool(output, indices) - - # 6*6 - - self.deconv_block10 = Sequential( - # deconv5_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv5_3 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block11 = Sequential( - # unpool4 - MaxUnpool2d(2, stride=2), - ) - - # 12*12 - - self.deconv_block12 = Sequential( - # deconv4_1 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_2 - ConvTranspose2d(512, 512, 3, stride=1, padding=1), - BatchNorm2d(512, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv4_3 - ConvTranspose2d(512, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block13 = Sequential( - # unpool3 - MaxUnpool2d(2, stride=2), - ) - - # 24*24 - - self.deconv_block14 = Sequential( - # deconv3_1 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_2 - ConvTranspose2d(256, 256, 3, stride=1, padding=1), - BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv3_3 - ConvTranspose2d(256, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block15 = Sequential( - # unpool2 - MaxUnpool2d(2, stride=2), - ) - - # 48*48 - - self.deconv_block16 = Sequential( - # deconv2_1 - ConvTranspose2d(128, 128, 3, stride=1, padding=1), - BatchNorm2d(128, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv2_2 - ConvTranspose2d(128, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.unpool_block17 = Sequential( - # unpool1 - MaxUnpool2d(2, stride=2), - ) - - # 96*96 - - self.deconv_block18 = Sequential( - # deconv1_1 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - # deconv1_2 - ConvTranspose2d(64, 64, 3, stride=1, padding=1), - BatchNorm2d(64, eps=1e-05, momentum=0.1, affine=True), - ReLU(inplace=True), - ) - - self.seg_score19 = Sequential( - # seg-score - Conv2d(64, self.n_classes, 1), - ) - - if self.learned_billinear: - raise NotImplementedError - -
[docs] def forward(self, x): - size0 = x.size() - conv1, indices1 = self.conv_block1(x) - size1 = conv1.size() - conv2, indices2 = self.conv_block2(conv1) - size2 = conv2.size() - conv3, indices3 = self.conv_block3(conv2) - size3 = conv3.size() - conv4, indices4 = self.conv_block4(conv3) - size4 = conv4.size() - conv5, indices5 = self.conv_block5(conv4) - - conv6 = self.conv_block6(conv5) - conv7 = self.conv_block7(conv6) - conv8 = self.deconv_block8(conv7) + conv5 - conv9 = self.unpool(conv8, indices5, output_size=size4) - conv10 = self.deconv_block10(conv9) + conv4 - conv11 = self.unpool(conv10, indices4, output_size=size3) - conv12 = self.deconv_block12(conv11) + conv3 - conv13 = self.unpool(conv12, indices3, output_size=size2) - conv14 = self.deconv_block14(conv13) + conv2 - conv15 = self.unpool(conv14, indices2, output_size=size1) - conv16 = self.deconv_block16(conv15) + conv1 - conv17 = self.unpool(conv16, indices1, output_size=size0) - conv18 = self.deconv_block18(conv17) - out = self.seg_score19(conv18) - - return out
- -
[docs] def init_vgg16_params(self, vgg16, copy_fc8=True): - blocks = [ - self.conv_block1, - self.conv_block2, - self.conv_block3, - self.conv_block4, - self.conv_block5, - ] - - ranges = [[0, 4], [5, 9], [10, 16], [17, 23], [24, 29]] - features = list(vgg16.features.children()) - i_layer = 0 - # copy convolutional filters from vgg16 - for idx, conv_block in enumerate(blocks): - for l1, l2 in zip(features[ranges[idx][0]:ranges[idx][1]], conv_block): - if isinstance(l1, Conv2d) and isinstance(l2, Conv2d): - if i_layer == 0: - l2.weight.data = ( - ( - l1.weight.data[:, 0, :, :] - + l1.weight.data[:, 1, :, :] - + l1.weight.data[:, 2, :, :] - ) - / 3.0 - ).view(l2.weight.size()) - l2.bias.data = l1.bias.data - i_layer = i_layer + 1 - else: - assert l1.weight.size() == l2.weight.size() - assert l1.bias.size() == l2.bias.size() - l2.weight.data = l1.weight.data - l2.bias.data = l1.bias.data - i_layer = i_layer + 1
- -
[docs] def load(self): - """ This is just a no-op load method. """ - return self
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/dl/pytorch_lightning.html b/docs/_modules/dasf/ml/dl/pytorch_lightning.html deleted file mode 100644 index 534647e..0000000 --- a/docs/_modules/dasf/ml/dl/pytorch_lightning.html +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - dasf.ml.dl.pytorch_lightning — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.dl.pytorch_lightning
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.dl.pytorch_lightning

-#!/usr/bin/env python3
-
-import uuid
-
-from torch.utils.data import DataLoader
-
-import pytorch_lightning as pl
-
-from dask_pytorch_ddp.results import DaskResultsHandler
-
-from dasf.ml.dl.clusters import DaskClusterEnvironment
-from dasf.utils.funcs import get_gpu_count
-from dasf.utils.funcs import get_dask_gpu_count
-from dasf.utils.funcs import get_worker_info
-from dasf.utils.funcs import get_dask_running_client
-from dasf.utils.funcs import sync_future_loop
-from dasf.transforms.base import Fit
-
-
-
[docs]class TorchDataLoader(pl.LightningDataModule): - def __init__(self, train, val=None, test=None, batch_size=64): - super().__init__() - - self._train = train - self._val = val - self._test = test - - self._batch_size = batch_size - -
[docs] def prepare_data(self): - if self._train is not None and hasattr(self._train, "download"): - self._train.download() - - if self._val is not None and hasattr(self._val, "download"): - self._val.download() - - if self._test is not None and hasattr(self._test, "download"): - self._test.download()
- -
[docs] def setup(self, stage=None): - if self._train is not None and hasattr(self._train, "load"): - self._train.load() - - if self._val is not None and hasattr(self._val, "load"): - self._val.load() - - if self._test is not None and hasattr(self._test, "load"): - self._test.load()
- -
[docs] def train_dataloader(self): - return DataLoader(self._train, batch_size=self._batch_size)
- -
[docs] def val_dataloader(self): - return DataLoader(self._val, batch_size=self._batch_size)
- -
[docs] def test_dataloader(self): - return DataLoader(self._test, batch_size=self._batch_size)
- - -
[docs]def run_dask_clustered(func, client=None, **kwargs): - if client is None: - client = get_dask_running_client() - - all_workers = get_worker_info(client) - - for worker in all_workers: - futures = client.submit(func, **kwargs, workers=[worker["worker"]]) - - sync_future_loop(futures)
- - -
[docs]def fit( - model, X, y, max_iter, accel, strategy, devices, ngpus, batch_size=32, plugins=None -): - - # Variable world_size is based on the number of Dask workers - if plugins is not None and isinstance(plugins, list): - nodes = 1 - for plugin in plugins: - if isinstance(plugin, DaskClusterEnvironment): - nodes = plugin.world_size() - break - else: - nodes = 1 - - # Use it for heterogeneous workers. - if ngpus < 0: - ngpus = -1 - - dataloader = TorchDataLoader(train=X, val=y, batch_size=batch_size) - - trainer = pl.Trainer( - max_epochs=max_iter, - accelerator=accel, - strategy=strategy, - gpus=ngpus, - plugins=plugins, - devices=devices, - num_nodes=nodes, - ) - - trainer.fit(model, datamodule=dataloader)
- - -
[docs]class NeuralNetClassifier(Fit): - def __init__(self, model, max_iter=100, batch_size=32): - self._model = model - - self._accel = None - self._strategy = None - self._max_iter = max_iter - self._devices = 0 - self._ngpus = 0 - self._batch_size = batch_size - - self.__trainer = False - self.__handler = DaskResultsHandler(uuid.uuid4().hex) - -
[docs] def _lazy_fit_generic(self, X, y, accel, ngpus): - self._accel = accel - self._strategy = "ddp" - self._ngpus = self._ndevices = ngpus - - plugins = [DaskClusterEnvironment()] - - run_dask_clustered( - fit, - model=self._model, - X=X, - y=y, - max_iter=self._max_iter, - accel=self._accel, - strategy=self._strategy, - devices=self._ndevices, - ngpus=self._ngpus, - batch_size=self._batch_size, - plugins=plugins, - )
- -
[docs] def _lazy_fit_gpu(self, X, y=None): - self._lazy_fit_generic(X=X, y=y, accel="gpu", ngpus=len(get_dask_gpu_count()))
- -
[docs] def _lazy_fit_cpu(self, X, y=None): - self._lazy_fit_generic(X=X, y=y, accel="cpu", ngpus=len(get_dask_gpu_count()))
- - def __fit_generic(self, X, y, accel, ngpus): - self._accel = accel - self._strategy = "dp" - self._ngpus = self._ndevices = ngpus - - dataloader = TorchDataLoader(train=X, val=y, batch_size=self._batch_size) - - self.__trainer = pl.Trainer( - max_epochs=self._max_iter, accelerator=accel, gpus=ngpus - ) - - self.__trainer.fit(self._model, datamodule=dataloader) - -
[docs] def _fit_gpu(self, X, y=None): - self.__fit_generic(X, y, "gpu", len(get_gpu_count()))
- -
[docs] def _fit_cpu(self, X, y=None): - self.__fit_generic(X, y, "cpu", 0)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/mixture/classifier.html b/docs/_modules/dasf/ml/mixture/classifier.html deleted file mode 100644 index b569b62..0000000 --- a/docs/_modules/dasf/ml/mixture/classifier.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - - - - - dasf.ml.mixture.classifier — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.mixture.classifier
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.mixture.classifier

-#!/usr/bin/env python3
-
-from dasf.transforms.base import Fit
-from dasf.transforms.base import FitPredict
-from dasf.transforms.base import FitTransform
-from dasf.transforms.base import GetParams
-from dasf.transforms.base import SetParams
-
-
-
[docs]class MixtureClassifier(Fit, FitPredict, FitTransform, - GetParams, SetParams): -
[docs] def fit(self, X, y=None, sample_weight=None): - raise NotImplementedError
- -
[docs] def fit_predict(self, X, y=None, sample_weight=None): - raise NotImplementedError
- -
[docs] def fit_transform(self, X, y=None): - raise NotImplementedError
- -
[docs] def get_params(deep=True): - raise NotImplementedError
- -
[docs] def set_params(**params): - raise NotImplementedError
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/mixture/gmm.html b/docs/_modules/dasf/ml/mixture/gmm.html deleted file mode 100644 index c231296..0000000 --- a/docs/_modules/dasf/ml/mixture/gmm.html +++ /dev/null @@ -1,267 +0,0 @@ - - - - - - - - - - dasf.ml.mixture.gmm — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.mixture.gmm
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.mixture.gmm

-#!/usr/bin/env python3
-
-from sklearn.mixture import GaussianMixture as GaussianMixture_CPU
-
-from dasf.ml.mixture.classifier import MixtureClassifier
-
-
-
[docs]class GaussianMixture(MixtureClassifier): - def __init__( - self, - n_components=1, - *, - covariance_type="full", - tol=0.001, - reg_covar=1e-06, - max_iter=100, - n_init=1, - init_params="kmeans", - weights_init=None, - means_init=None, - precisions_init=None, - random_state=None, - warm_start=False, - verbose=0, - verbose_interval=10 - ): - - self.__gmm_cpu = GaussianMixture_CPU( - n_components=n_components, - covariance_type=covariance_type, - tol=tol, - reg_covar=reg_covar, - max_iter=max_iter, - n_init=n_init, - init_params=init_params, - weights_init=weights_init, - means_init=means_init, - precisions_init=precisions_init, - random_state=random_state, - warm_start=warm_start, - verbose=verbose, - verbose_interval=verbose_interval, - ) - -
[docs] def _fit_cpu(self, X, y=None): - return self.__gmm_cpu.fit(X=X, y=y)
- -
[docs] def _fit_predict_cpu(self, X, y=None): - return self.__gmm_cpu.fit_predict(X=X, y=y)
- -
[docs] def _predict_cpu(self, X, y=None): - return self.__gmm_cpu.predict(X=X)
- -
[docs] def _set_params_cpu(self, **params): - return self.__gmm_cpu.set_params(**params)
- -
[docs] def _get_params_cpu(self, deep=True): - return self.__gmm_cpu.get_params(deep=deep)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/model_selection/split.html b/docs/_modules/dasf/ml/model_selection/split.html deleted file mode 100644 index f77d6bb..0000000 --- a/docs/_modules/dasf/ml/model_selection/split.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - - - - - dasf.ml.model_selection.split — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.model_selection.split
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.model_selection.split

-#!/usr/bin/env python3
-
-from sklearn.model_selection import train_test_split as train_test_split_cpu
-from dask_ml.model_selection import train_test_split as train_test_split_mcpu
-
-from dasf.transforms import TargeteredTransform, Transform
-
-try:
-    from cuml.model_selection import train_test_split as train_test_split_gpu
-except ImportError:
-    pass
-
-
-class train_test_split(TargeteredTransform, Transform):
-    def __init__(
-        self,
-        output="train",
-        test_size=None,
-        train_size=None,
-        random_state=None,
-        shuffle=None,
-        blockwise=True,
-        convert_mixed_types=False,
-        **kwargs
-    ):
-        TargeteredTransform.__init__(self, **kwargs)
-
-        self.output = output
-        self.test_size = test_size
-        self.train_size = train_size
-        self.random_state = random_state
-        self.shuffle = shuffle
-
-        # Exclusive for Dask operations
-        self.blockwise = blockwise
-
-        self.convert_mixed_types = convert_mixed_types
-
-
[docs] def _lazy_transform_cpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_mcpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - blockwise=self.blockwise, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test
- -
[docs] def _lazy_transform_gpu(self, X): - raise NotImplementedError( - "Function train_test_split() is not implemented for Dask and CuML" - )
- -
[docs] def _transform_cpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_cpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test
- -
[docs] def _transform_gpu(self, X): - X, y = X - X_train, X_test, y_train, y_test = train_test_split_gpu( - X, - y, - train_size=self.train_size, - shuffle=self.shuffle, - random_state=self.random_state, - ) - if self.output == "train": - return X_train, y_train - elif self.output == "test": - return X_test, y_test
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/neighbors/neighbors.html b/docs/_modules/dasf/ml/neighbors/neighbors.html deleted file mode 100644 index ec1be29..0000000 --- a/docs/_modules/dasf/ml/neighbors/neighbors.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - - - - dasf.ml.neighbors.neighbors — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.neighbors.neighbors
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.neighbors.neighbors

-#!/usr/bin/env python3
-
-from sklearn.neighbors import NearestNeighbors as NearestNeighbors_CPU
-
-from dasf.utils.funcs import is_gpu_supported
-from dasf.transforms.base import Fit
-from dasf.transforms.base import GetParams
-from dasf.transforms.base import SetParams
-
-try:
-    from cuml.neighbors import NearestNeighbors as NearestNeighbors_GPU
-except ImportError:
-    pass
-
-
-
[docs]class NearestNeighbors(Fit, GetParams, SetParams): - def __init__(self, n_neighbors=5, radius=1.0, algorithm='auto', - leaf_size=30, metric='minkowski', p=2, - metric_params=None, n_jobs=None, handle=None, verbose=False, - output_type=None, **kwargs): - - self.__nn_cpu = NearestNeighbors_CPU(n_neighbors=n_neighbors, - radius=radius, - algorithm=algorithm, - leaf_size=leaf_size, - metric=metric, p=p, - metric_params=metric_params, - n_jobs=n_jobs, **kwargs) - - if is_gpu_supported(): - self.__nn_gpu = NearestNeighbors_GPU(n_neighbors=n_neighbors, - radius=radius, - algorithm=algorithm, - leaf_size=leaf_size, - metric=metric, p=p, - metric_params=metric_params, - n_jobs=n_jobs, - handle=handle, - verbose=verbose, - output_type=output_type, - **kwargs) - -
[docs] def _fit_cpu(self, X, y=None, **kwargs): - return self.__nn_cpu.fit(X=X, y=y)
- -
[docs] def _fit_gpu(self, X, y=None, **kwargs): - return self.__nn_gpu.fit(X=X, **kwargs)
- -
[docs] def _get_params_cpu(self, deep=True, **kwargs): - return self.__nn_cpu.get_params(deep=deep)
- -
[docs] def _set_params_cpu(self, **params): - return self.__nn_cpu.set_params(**params)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/preprocessing/standardscaler.html b/docs/_modules/dasf/ml/preprocessing/standardscaler.html deleted file mode 100644 index 1ac7d3f..0000000 --- a/docs/_modules/dasf/ml/preprocessing/standardscaler.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - dasf.ml.preprocessing.standardscaler — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.preprocessing.standardscaler
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.preprocessing.standardscaler

-#!/usr/bin/env python3
-
-from sklearn.preprocessing import StandardScaler as StandardScaler_CPU
-from dask_ml.preprocessing import StandardScaler as StandardScaler_MCPU
-
-from dasf.utils.funcs import is_gpu_supported
-
-try:
-    from cuml.preprocessing import StandardScaler as StandardScaler_GPU
-except ImportError:
-    pass
-
-from dasf.transforms.base import Fit
-from dasf.transforms.base import Transform
-from dasf.transforms.base import FitTransform
-
-
-
[docs]class StantardScaler(Fit, Transform, FitTransform): - def __init__(self, copy=True, with_mean=True, with_std=True): - - self.__std_scaler_cpu = StandardScaler_CPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - - self.__std_scaler_dask = StandardScaler_MCPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - - if is_gpu_supported(): - self.__std_scaler_gpu = StandardScaler_GPU( - copy=copy, with_mean=with_mean, with_std=with_std - ) - -
[docs] def _lazy_fit_cpu(self, X, y=None): - return self.__std_scaler_dask.fit(X=X, y=y)
- -
[docs] def _lazy_fit_gpu(self, X, y=None): - return self.__std_scaler_dask.fit(X=X, y=y)
- -
[docs] def _fit_cpu(self, X, y=None): - return self.__std_scaler_cpu.fit(X=X, y=y)
- -
[docs] def _fit_gpu(self, X, y=None): - return self.__std_scaler_gpu.fit(X=X, y=y)
- -
[docs] def _lazy_fit_transform_cpu(self, X, y=None): - return self.__std_scaler_dask.fit_transform(X=X, y=y)
- -
[docs] def _lazy_fit_transform_gpu(self, X, y=None): - return self.__std_scaler_dask.fit_transform(X=X, y=y)
- -
[docs] def _fit_transform_cpu(self, X, y=None): - return self.__std_scaler_cpu.fit_transform(X=X, y=y)
- -
[docs] def _fit_transform_gpu(self, X, y=None): - ret = self.__std_scaler_gpu.fit(X=X, y=y) - return ret.transform(X=X)
- -
[docs] def _lazy_partial_fit_cpu(self, X, y=None): - return self.__std_scaler_dask.partial_fit(X=X, y=y)
- -
[docs] def _lazy_partial_fit_gpu(self, X, y=None): - return self.__std_scaler_dask.partial_fit(X=X, y=y)
- -
[docs] def _fit_partial_cpu(self, X, y=None): - return self.__std_scaler_cpu.partial_fit(X=X, y=y)
- -
[docs] def _fit_partial_gpu(self, X, y=None): - return self.__std_scaler_gpu.partial_fit(X=X, y=y)
- -
[docs] def _lazy_transform_cpu(self, X, copy=None): - return self.__std_scaler_dask.transform(X=X, copy=copy)
- -
[docs] def _lazy_transform_gpu(self, X, copy=None): - return self.__std_scaler_dask.transform(X=X, copy=copy)
- -
[docs] def _transform_cpu(self, X, copy=None): - return self.__std_scaler_cpu.transform(X=X, copy=copy)
- -
[docs] def _transform_gpu(self, X, copy=None): - return self.__std_scaler_gpu.transform(X=X, copy=copy)
- -
[docs] def _lazy_inverse_transform_cpu(self, X, copy=None): - return self.__std_scaler_dask.inverse_transform(X=X, copy=copy)
- -
[docs] def _lazy_inverse_transform_gpu(self, X, copy=None): - return self.__std_scaler_dask.inverse_transform(X=X, copy=copy)
- -
[docs] def _inverse_transform_cpu(self, X, copy=None): - return self.__std_scaler_cpu.inverse_transform(X=X, copy=copy)
- -
[docs] def _inverse_transform_gpu(self, X, copy=None): - return self.__std_scaler_gpu.inverse_transform(X=X, copy=copy)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/svm/svm.html b/docs/_modules/dasf/ml/svm/svm.html deleted file mode 100644 index c7cc249..0000000 --- a/docs/_modules/dasf/ml/svm/svm.html +++ /dev/null @@ -1,506 +0,0 @@ - - - - - - - - - - dasf.ml.svm.svm — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.svm.svm
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.svm.svm

-#!/usr/bin/env python3
-
-from sklearn.svm import SVC as SVC_CPU
-from sklearn.svm import SVR as SVR_CPU
-from sklearn.svm import LinearSVC as LinearSVC_CPU
-from sklearn.svm import LinearSVR as LinearSVR_CPU
-
-try:
-    from cuml.svm import SVC as SVC_GPU
-    from cuml.svm import SVR as SVR_GPU
-    from cuml.svm import LienarSVC as LinearSVC_GPU
-    from cuml.svm import LienarSVR as LinearSVR_GPU
-except ImportError:
-    pass
-
-from dasf.utils.funcs import is_gpu_supported
-from dasf.transforms.base import Fit
-from dasf.transforms.base import Predict
-from dasf.transforms.base import GetParams
-from dasf.transforms.base import SetParams
-
-
-
[docs]class SVC(Fit, Predict, GetParams, SetParams): - def __init__( - self, - C=1.0, - kernel="rbf", - degree=3, - gamma="scale", - coef0=0.0, - shrinking=True, - probability=False, - tol=0.001, - cache_size=200, - class_weight=None, - verbose=False, - max_iter=-1, - decision_function_shape="ovr", - break_ties=False, - nochange_steps=1000, - random_state=None, - ): - - self.__svc_cpu = SVC_CPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - shrinking=shrinking, - probability=probability, - tol=tol, - cache_size=cache_size, - class_weight=class_weight, - verbose=verbose, - max_iter=max_iter, - decision_function_shape=decision_function_shape, - break_ties=break_ties, - random_state=random_state, - ) - - if is_gpu_supported(): - self.__svc_gpu = SVC_GPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - cache_size=cache_size, - class_weight=class_weight, - verbose=verbose, - max_iter=max_iter, - random_state=random_state, - multiclass_strategy=decision_function_shape, - probability=probability, - output_type="input", - ) - -
[docs] def _fit_cpu(self, X, y, sample_weight=None): - return self.__svc_cpu.fit(X, y, sample_weight)
- -
[docs] def _fit_gpu(self, X, y, sample_weight=None): - return self.__svc_gpu.fit(X, y, sample_weight)
- -
[docs] def _predict_cpu(self, X): - return self.__svc_cpu.predict(X)
- -
[docs] def _predict_gpu(self, X): - return self.__svc_gpu.predict(X)
- -
[docs] def _get_params_cpu(self, deep=True): - return self.__svc_cpu.get_params(deep=deep)
- -
[docs] def _set_params_cpu(self, **params): - return self.__svc_cpu.set_params(**params)
- - -
[docs]class SVR(Fit, Predict): - def __init__( - self, - kernel="rbf", - degree=3, - gamma="scale", - coef0=0.0, - tol=0.001, - C=1.0, - epsilon=0.1, - shrinking=True, - cache_size=200, - verbose=False, - max_iter=-1, - nochange_steps=1000, - ): - - self.__svr_cpu = SVR_CPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - epsilon=epsilon, - shrinking=shrinking, - cache_size=cache_size, - verbose=verbose, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__svr_gpu = SVR_GPU( - C=C, - kernel=kernel, - degree=degree, - gamma=gamma, - coef0=coef0, - tol=tol, - epsilon=epsilon, - shrinking=shrinking, - cache_size=cache_size, - verbose=verbose, - max_iter=max_iter, - nochange_steps=nochange_steps, - output_type="input", - ) - -
[docs] def _fit_cpu(self, X, y, sample_weight=None): - return self.__svr_cpu.fit(X, y, sample_weight)
- -
[docs] def _fit_gpu(self, X, y, sample_weight=None): - return self.__svr_gpu.fit(X, y, sample_weight)
- -
[docs] def _predict_cpu(self, X): - return self.__svr_cpu.predict(X)
- -
[docs] def _predict_gpu(self, X): - return self.__svr_gpu.predict(X)
- - -
[docs]class LinearSVC(Fit, Predict, GetParams, SetParams): - def __init__( - self, - epsilon=0.0, - tol=0.0001, - C=1.0, - loss="epsilon_insensitive", - fit_intercept=True, - intercept_scaling=1.0, - dual=True, - verbose=0, - random_state=None, - max_iter=1000, - handle=None, - penalty="l2", - penalized_intercept=False, - linesearch_max_iter=100, - lbfgs_memory=5, - grad_tol=0.0001, - change_tol=1e-05, - multi_class="ovr", - ): - - self.__linear_svc_cpu = LinearSVC_CPU( - epsilon=epsilon, - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__linear_svc_gpu = LinearSVC_GPU( - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - handle=handle, - penalty=penalty, - penalized_intercept=penalized_intercept, - linesearch_max_iter=linesearch_max_iter, - lbfgs_memory=lbfgs_memory, - grad_tol=grad_tol, - change_tol=change_tol, - multi_class=multi_class, - ) - -
[docs] def _fit_cpu(self, X, y, sample_weight=None): - return self.__linear_svc_cpu.fit(X, y, sample_weight)
- -
[docs] def _fit_gpu(self, X, y, sample_weight=None): - return self.__linear_svc_gpu.fit(X, y, sample_weight)
- -
[docs] def _predict_cpu(self, X): - return self.__linear_svc_cpu.predict(X)
- -
[docs] def _predict_gpu(self, X): - return self.__linear_svc_gpu.predict(X)
- - -
[docs]class LinearSVR(Fit, Predict): - def __init__( - self, - epsilon=0.0, - tol=0.0001, - C=1.0, - loss="epsilon_insensitive", - fit_intercept=True, - intercept_scaling=1.0, - dual=True, - verbose=0, - random_state=None, - max_iter=1000, - handle=None, - penalty="l2", - penalized_intercept=False, - linesearch_max_iter=100, - lbfgs_memory=5, - grad_tol=0.0001, - change_tol=1e-05, - multi_class="ovr", - ): - - self.__linear_svr_cpu = LinearSVR_CPU( - epsilon=epsilon, - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - ) - - if is_gpu_supported(): - self.__linear_svr_gpu = LinearSVR_GPU( - tol=tol, - C=C, - loss=loss, - fit_intercept=fit_intercept, - intercept_scaling=intercept_scaling, - dual=dual, - verbose=verbose, - random_state=random_state, - max_iter=max_iter, - handle=handle, - penalty=penalty, - penalized_intercept=penalized_intercept, - linesearch_max_iter=linesearch_max_iter, - lbfgs_memory=lbfgs_memory, - grad_tol=grad_tol, - change_tol=change_tol, - multi_class=multi_class, - ) - -
[docs] def _fit_cpu(self, X, y, sample_weight=None): - return self.__linear_svr_cpu.fit(X, y, sample_weight)
- -
[docs] def _fit_gpu(self, X, y, sample_weight=None): - return self.__linear_svr_gpu.fit(X, y, sample_weight)
- -
[docs] def _predict_cpu(self, X): - return self.__linear_svr_cpu.predict(X)
- -
[docs] def _predict_gpu(self, X): - return self.__linear_svr_gpu.predict(X)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/ml/xgboost/xgboost.html b/docs/_modules/dasf/ml/xgboost/xgboost.html deleted file mode 100644 index dbebddc..0000000 --- a/docs/_modules/dasf/ml/xgboost/xgboost.html +++ /dev/null @@ -1,405 +0,0 @@ - - - - - - - - - - dasf.ml.xgboost.xgboost — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.ml.xgboost.xgboost
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.ml.xgboost.xgboost

-#!/usr/bin/env python3
-
-import GPUtil
-
-import xgboost as xgb
-
-from dasf.transforms import Fit
-from dasf.transforms import Predict
-from dasf.transforms import FitPredict
-
-from dasf.utils.funcs import is_gpu_supported
-
-
-
[docs]class XGBoost(Fit, FitPredict, Predict): - def __init__( - self, - max_depth=None, - max_leaves=None, - max_bin=None, - grow_policy=None, - learning_rate=None, - n_estimators=100, - verbosity=None, - objective=None, - booster=None, - tree_method=None, - n_jobs=None, - gamma=None, - min_child_weight=None, - max_delta_step=None, - subsample=None, - sampling_method=None, - colsample_bytree=None, - colsample_bylevel=None, - colsample_bynode=None, - reg_alpha=None, - reg_lambda=None, - scale_pos_weight=None, - base_score=None, - random_state=None, - num_parallel_tree=None, - monotone_constraints=None, - interaction_constraints=None, - importance_type=None, - gpu_id=None, - validate_parameters=None, - predictor=None, - enable_categorical=False, - max_cat_to_onehot=None, - eval_metric=None, - early_stopping_rounds=None, - callbacks=None, - **kwargs - ): - - self.__xgb_cpu = xgb.XGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method=tree_method, - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - self.__xgb_mcpu = xgb.dask.DaskXGBClassifier( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method=tree_method, - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - if is_gpu_supported(): - if gpu_id is None: - gpus = GPUtil.getGPUs() - if len(gpus) > 0: - gpu_id = gpus[0].id - - self.__xgb_gpu = xgb.XGBRegressor( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method='gpu_hist', - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - gpu_id=gpu_id - ) - - self.__xgb_mgpu = xgb.dask.DaskXGBClassifier( - n_estimators=n_estimators, - max_depth=max_depth, - max_leaves=max_leaves, - max_bin=max_bin, - grow_policy=grow_policy, - learning_rate=learning_rate, - verbosity=verbosity, - objective=objective, - booster=booster, - tree_method=tree_method, - n_jobs=n_jobs, - gamma=gamma, - min_child_weight=min_child_weight, - max_delta_step=max_delta_step, - subsample=subsample, - sampling_method=sampling_method, - colsample_bytree=colsample_bytree, - colsample_bylevel=colsample_bylevel, - colsample_bynode=colsample_bynode, - reg_alpha=reg_alpha, - reg_lambda=reg_lambda, - scale_pos_weight=scale_pos_weight, - base_score=base_score, - random_state=random_state, - ) - - self.__xgb_gpu.set_param({'predictor': 'gpu_predictor'}) - self.__xgb_mgpu.set_param({'predictor': 'gpu_predictor'}) - -
[docs] def _lazy_fit_cpu(self, X, y=None, sample_weight=None): - return self.__xgb_mcpu.fit(X=X, y=y)
- -
[docs] def _lazy_fit_gpu(self, X, y=None, sample_weight=None): - return self.__xgb_mgpu.fit(X=X, y=y)
- -
[docs] def _fit_cpu(self, X, y=None, sample_weight=None): - return self.__xgb_cpu.fit(X=X, y=y)
- -
[docs] def _fit_gpu(self, X, y=None, sample_weight=None): - return self.__xgb_gpu.fit(X=X, y=y)
- -
[docs] def _lazy_predict_cpu(self, X, sample_weight=None, **kwargs): - return self.__kmeans_mcpu.predict(data=X, **kwargs)
- -
[docs] def _lazy_predict_gpu(self, X, sample_weight=None, **kwargs): - return self.__kmeans_mgpu.predict(data=X, **kwargs)
- -
[docs] def _predict_cpu(self, X, sample_weight=None, **kwargs): - return self.__kmeans_cpu.predict(X, **kwargs)
- -
[docs] def _predict_gpu(self, X, sample_weight=None, **kwargs): - return self.__kmeans_gpu.predict(X, **kwargs)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/pipeline/executors/base.html b/docs/_modules/dasf/pipeline/executors/base.html deleted file mode 100644 index 41dd6e5..0000000 --- a/docs/_modules/dasf/pipeline/executors/base.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - dasf.pipeline.executors.base — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.pipeline.executors.base
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.pipeline.executors.base

-#!/usr/bin/env python3
-
-
-
[docs]class Executor: - @property - def ngpus(self) -> int: - return 0 - - @property - def is_connected(self) -> bool: - return False - -
[docs] def pre_run(self, pipeline): - pass
- -
[docs] def post_run(self, pipeline): - pass
- -
[docs] def execute(self, fn, *args, **kwargs): - ...
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/pipeline/executors/dask.html b/docs/_modules/dasf/pipeline/executors/dask.html deleted file mode 100644 index 8ada758..0000000 --- a/docs/_modules/dasf/pipeline/executors/dask.html +++ /dev/null @@ -1,411 +0,0 @@ - - - - - - - - - - dasf.pipeline.executors.dask — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.pipeline.executors.dask
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.pipeline.executors.dask

-#!/usr/bin/env python3
-
-import os
-
-import networkx as nx
-
-import dask_memusage as dmem
-
-from pathlib import Path
-
-from dask.distributed import Client, LocalCluster
-from dask_cuda import LocalCUDACluster
-
-from dask_jobqueue import PBSCluster
-
-from dasf.pipeline.types import TaskExecutorType
-from dasf.pipeline.executors.base import Executor
-from dasf.utils.funcs import is_dask_gpu_supported
-from dasf.utils.funcs import get_dask_gpu_count
-from dasf.utils.funcs import get_worker_info
-
-
-
[docs]class DaskPipelineExecutor(Executor): - """ - A pipeline engine based on dask data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - """ - - def __init__( - self, - address=None, - port=8786, - local=False, - use_gpu=False, - profiler=None, - cluster_kwargs=None, - client_kwargs=None, - ): - self.address = address - self.port = port - - if not cluster_kwargs: - cluster_kwargs = dict() - - if not client_kwargs: - client_kwargs = dict() - - # If address is not set, consider local - local = local or (address is None and "scheduler_file" not in client_kwargs) - - if address: - self.client = Client(address=f"{address}:{port}") - elif "scheduler_file" in client_kwargs: - self.client = Client(scheduler_file=client_kwargs["scheduler_file"]) - elif local: - if use_gpu: - self.client = Client( - LocalCUDACluster(**cluster_kwargs), **client_kwargs - ) - else: - self.client = Client(LocalCluster(**cluster_kwargs), - **client_kwargs) - - # Ask workers for GPUs - if local and not use_gpu: - self.dtype = TaskExecutorType.multi_cpu - else: - # Ask workers for GPUs - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.multi_gpu - else: - self.dtype = TaskExecutorType.multi_cpu - - # Share dtype attribute to client - if not hasattr(self.client, "dtype"): - setattr(self.client, "dtype", self.dtype) - - if profiler == "memusage": - profiler_dir = os.path.abspath( - os.path.join(str(Path.home()), - "/.cache/dasf/profiler/")) - os.makedirs(profiler_dir, exist_ok=True) - - dmem.install( - self.client.cluster.scheduler, - os.path.abspath(profiler_dir + "/dask-memusage"), - ) - - @property - def ngpus(self): - return len(get_dask_gpu_count()) - - @property - def is_connected(self): - if "running" in self.client.status: - return True - return False - -
[docs] def execute(self, fn, *args, **kwargs): - return fn(*args, **kwargs)
- - -
[docs]class DaskTasksPipelineExecutor(DaskPipelineExecutor): - """ - A not centric execution engine based on dask. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - """ - def __init__( - self, - address=None, - port=8786, - local=False, - use_gpu=False, - profiler=None, - cluster_kwargs=None, - client_kwargs=None, - ): - - super().__init__( - address=address, - port=port, - local=local, - use_gpu=use_gpu, - profiler=profiler, - cluster_kwargs=cluster_kwargs, - client_kwargs=client_kwargs, - ) - - # Ask workers for GPUs - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.single_gpu - else: - self.dtype = TaskExecutorType.single_cpu - - # Share dtype attribute to client - if not hasattr(self.client, "dtype"): - setattr(self.client, "dtype", self.dtype) - - self._tasks_map = dict() - -
[docs] def pre_run(self, pipeline): - nodes = list(nx.topological_sort(pipeline._dag)) - - # TODO: we need to consider other branches for complex pipelines - dag_paths = nx.all_simple_paths(pipeline._dag, nodes[0], nodes[-1]) - all_paths = [] - for path in dag_paths: - all_paths.append(path) - - workers = get_worker_info(self.client) - - worker_idx = 0 - for path in all_paths: - for node in path: - if node not in self._tasks_map: - self._tasks_map[node] = workers[worker_idx] - - # Increment workers to all new path and repeat if there - # are more paths to assign. - if worker_idx == len(workers): - worker_idx = 0 - else: - worker_idx += 1
- -
[docs] def post_run(self, pipeline): - pass
- -
[docs] def execute(self, fn, *args, **kwargs): - key = hash(fn) - - worker = self._tasks_map[key]["worker"] - - return self.client.submit(fn, *args, **kwargs, workers=[worker])
- - -
[docs]class DaskPBSPipelineExecutor(Executor): - def __init__(self, **kwargs): - self.client = Client(PBSCluster(**kwargs)) - - # Ask workers for GPUs - if is_dask_gpu_supported(): - self.dtype = TaskExecutorType.multi_gpu - else: - self.dtype = TaskExecutorType.multi_cpu
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/pipeline/executors/ray.html b/docs/_modules/dasf/pipeline/executors/ray.html deleted file mode 100644 index 857c8bd..0000000 --- a/docs/_modules/dasf/pipeline/executors/ray.html +++ /dev/null @@ -1,175 +0,0 @@ - - - - - - dasf.pipeline.executors.ray — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.pipeline.executors.ray

-#!/usr/bin/env python3
-
-try:
-    import ray
-    
-    from ray.util.dask import ray_dask_get
-    from ray.util.dask import enable_dask_on_ray
-    from ray.util.dask import disable_dask_on_ray
-
-    USE_RAY=True
-except ImportError:
-    USE_RAY=False
-
-from dasf.pipeline.executors.base import Executor
-from dasf.utils.funcs import get_dask_gpu_count
-
-
[docs]class RayPipelineExecutor(Executor): - """ - A pipeline engine based on ray data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Ray head (default 8786). - local -- kicks off a new local Ray cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Ray - cluster (default False). - """ - - def __init__( - self, - address=None, - port=6379, - local=False, - use_gpu=False, - ray_kwargs=None, - ): - - self.address = address - self.port = port - - if not ray_kwargs: - ray_kwargs = dict() - - enable_dask_on_ray() - - if address: - address_str = f"ray://{address}:{str(port)}" - - ray.init(address=address, **ray_kwargs) - elif local: - ray.init(**ray_kwargs) - - @property - def ngpus(self): - return len(get_dask_gpu_count()) - - @property - def is_connected(self): - return ray.is_initialized() - -
[docs] def execute(self, fn, *args, **kwargs): - return fn(*args, **kwargs)
- -
[docs] def __del__(self): - disable_dask_on_ray() - - ray.shutdown()
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/pipeline/pipeline.html b/docs/_modules/dasf/pipeline/pipeline.html deleted file mode 100644 index 3afeecd..0000000 --- a/docs/_modules/dasf/pipeline/pipeline.html +++ /dev/null @@ -1,408 +0,0 @@ - - - - - - - - - - dasf.pipeline.pipeline — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.pipeline.pipeline
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.pipeline.pipeline

-#!/usr/bin/env python3
-
-import inspect
-import graphviz
-
-import networkx as nx
-
-from dasf.utils.logging import init_logging
-
-
-
[docs]class Pipeline: - def __init__(self, name, executor=None, verbose=False): - self._name = name - self._executor = executor - self._verbose = verbose - - self._dag = nx.DiGraph() - self._dag_table = dict() - self._dag_g = graphviz.Digraph(name, format="png") - - self._logger = init_logging() - - def __add_into_dag(self, obj, func_name, parameters=None, itself=None): - key = hash(obj) - - if key not in self._dag_table: - self._dag.add_node(key) - self._dag_table[key] = dict() - self._dag_table[key]["fn"] = obj - self._dag_table[key]["name"] = func_name - self._dag_table[key]["parameters"] = None - self._dag_table[key]["ret"] = None - - if parameters and isinstance(parameters, dict): - if self._dag_table[key]["parameters"] is None: - self._dag_table[key]["parameters"] = parameters - else: - self._dag_table[key]["parameters"].update(parameters) - - # If we are adding a object which require parameters, - # we need to make sure they are mapped into DAG. - for k, v in parameters.items(): - dep_obj, dep_func_name, _ = self.__inspect_element(v) - self.add(dep_obj) - if not self._dag.has_node(str(key)): - self._dag_g.node(str(key), func_name) - - if not self._dag.has_node(str(hash(dep_obj))): - self._dag_g.node(str(hash(dep_obj)), dep_func_name) - - self._dag.add_edge(hash(dep_obj), key) - - self._dag_g.edge(str(hash(dep_obj)), str(key), label=k) - - def __inspect_element(self, obj): - from dasf.datasets.base import Dataset - from dasf.transforms.base import Transform, Fit - - def generate_name(class_name, func_name): - return ("%s.%s" % (class_name, func_name)) - - if inspect.isfunction(obj) and callable(obj): - return (obj, - obj.__qualname__, - None) - elif inspect.ismethod(obj): - return (obj, - generate_name(obj.__self__.__class__.__name__, - obj.__name__), - obj.__self__) - elif issubclass(obj.__class__, Transform) and hasattr(obj, "transform"): - return (obj.transform, - generate_name(obj.__class__.__name__, - "transform"), - obj) - elif issubclass(obj.__class__, Dataset) and hasattr(obj, "load"): - return (obj.load, - generate_name(obj.__class__.__name__, - "load"), - obj) - elif issubclass(obj.__class__, Fit) and hasattr(obj, "fit"): - return (obj.fit, - generate_name(obj.__class__.__name__, - "fit"), - obj) - else: - raise ValueError( - f"This object {obj.__class__.__name__} is not a function, " - "method or a transformer object." - ) - -
[docs] def add(self, obj, **kwargs): - obj, func_name, objref = self.__inspect_element(obj) - self.__add_into_dag(obj, func_name, kwargs, objref) - - return self
- -
[docs] def visualize(self, filename=None): - from dasf.utils.funcs import is_notebook - - if is_notebook(): - return self._dag_g - return self._dag_g.view(filename)
- - def __execute(self, func, params, name): - ret = None - - new_params = dict() - if params: - for k, v in params.items(): - dep_obj, *_ = self.__inspect_element(v) - req_key = hash(dep_obj) - - new_params[k] = self._dag_table[req_key]["ret"] - - if len(new_params) > 0: - if self._executor: - ret = self._executor.execute(fn=func, **new_params) - else: - ret = func(**new_params) - else: - if self._executor: - ret = self._executor.execute(fn=func) - else: - ret = func() - - return ret - -
[docs] def get_result_from(self, obj): - _, obj_name, *_ = self.__inspect_element(obj) - - for key in self._dag_table: - if self._dag_table[key]["name"] == obj_name: - if self._dag_table[key]["ret"] is None: - raise Exception("Pipeline was not executed yet.") - return self._dag_table[key]["ret"] - - raise Exception(f"Function {obj_name} was not added into pipeline.")
- -
[docs] def run(self): - if not nx.is_directed_acyclic_graph(self._dag): - raise Exception("Pipeline has not a DAG format.") - - if self._executor and not hasattr(self._executor, "execute"): - raise Exception( - f"Executor {self._executor.__name__} has not a execute() " - "method." - ) - - if self._executor: - if not self._executor.is_connected: - raise Exception("Executor is not connected.") - - fn_keys = list(nx.topological_sort(self._dag)) - - self._logger.info(f"Beginning pipeline run for '{self._name}'") - - if self._executor: - self._executor.pre_run(self) - - ret = None - failed = False - - for fn_key in fn_keys: - func = self._dag_table[fn_key]["fn"] - params = self._dag_table[fn_key]["parameters"] - name = self._dag_table[fn_key]["name"] - - if not failed: - self._logger.info(f"Task '{name}': Starting task run...") - else: - self._logger.error(f"Task '{name}': Starting task run...") - - try: - if not failed: - # Execute DAG node only if there is no error during the - # execution. Otherwise, skip it. - self._dag_table[fn_key]["ret"] = self.__execute(func, - params, - name) - except Exception as e: - failed = True - err = str(e) - self._logger.exception(f"Task '{name}': Failed with:\n{err}") - - if not failed: - self._logger.info(f"Task '{name}': Finished task run") - else: - self._logger.error(f"Task '{name}': Finished task run") - - if failed: - self._logger.info(f"Pipeline failed at '{name}'") - else: - self._logger.info("Pipeline run successfully") - - if self._executor: - self._executor.post_run(self) - - return ret
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/pipeline/types.html b/docs/_modules/dasf/pipeline/types.html deleted file mode 100644 index b65d00c..0000000 --- a/docs/_modules/dasf/pipeline/types.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - - - - - dasf.pipeline.types — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.pipeline.types
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.pipeline.types

-#!/usr/bin/env python3
-
-from enum import IntEnum, auto
-
-
-
[docs]class TaskExecutorType(IntEnum): - single_cpu = auto() - multi_cpu = auto() - single_gpu = auto() - multi_gpu = auto()
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/profile/database.html b/docs/_modules/dasf/profile/database.html deleted file mode 100644 index eaa6901..0000000 --- a/docs/_modules/dasf/profile/database.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - - - dasf.profile.database — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.profile.database

-import json
-
-from dataclasses import dataclass, asdict, field
-from pathlib import Path
-from typing import List
-
-
-
[docs]@dataclass -class TraceEvent: - # Mandadory options - name: str # name: name of the event, (displayed in Trace Viewer). - phase: str # ph: the event type (single character). - timestamp: float # ts: tracing clock timestamp (microsecond granularity). - process_id: str # pid: the process identifier. - thread_id: str # tid: the thread identifier. - - # Global options - category: List[str] = None # cat: event categoies. - data: dict = None # args: dictionary of arguments provided for the event. - thread_timestamp: float = None # tts: thread clock timestamp (microsecond granularity). - color_name: str = None # cname: color name for the event - - # Duration event fields (X) - duration: float = None # dur: tracing clock duration of complete events (microsecond granularity). - thread_duration: float = None # tdur: the thread clock duration of complete events (microsecond granularity).
- - -
[docs]class TraceDatabase: -
[docs] def add_trace_event(self, trace: TraceEvent): - raise NotImplementedError
- -
[docs] def commit(self): - raise NotImplementedError
- -
[docs] def get_traces(self) -> List[TraceEvent]: - raise NotImplementedError
- - -
[docs]class SingleFileTraceDatabase(TraceDatabase): - def __init__(self, path: Path, encoder: callable = json.dumps, decoder: callable = json.loads): - self._path = Path(path) - self._encoder = encoder - self._decoder = decoder - - # Note, this process is not process-safe! -
[docs] def add_trace_event(self, trace: TraceEvent) -> int: # returns the record id - obj = f"trace: {self._encoder(asdict(trace))}\n" - with self._path.open("a") as f: - f.write(obj)
- -
[docs] def get_traces(self) -> List[TraceEvent]: - traces = [] - if not self._path.exists(): - return traces - with self._path.open("r") as f: - for line in f: - if not line: - continue - if line.startswith("trace: "): - trace = TraceEvent(**self._decoder(line[7:])) - traces.append(trace) - return traces
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/profile/event.html b/docs/_modules/dasf/profile/event.html deleted file mode 100644 index 42d751d..0000000 --- a/docs/_modules/dasf/profile/event.html +++ /dev/null @@ -1,331 +0,0 @@ - - - - - - dasf.profile.event — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.profile.event

-import time
-import threading
-import os
-import json
-from pathlib import Path
-from typing import List, Optional
-from dasf.profile.database import TraceEvent, TraceDatabase, SingleFileTraceDatabase
-
-
-
[docs]class Singleton(type): - _instances = {} - -
[docs] def __call__(cls, *args, **kwargs): - if cls not in cls._instances: - cls._instances[cls] = super(Singleton, cls).__call__(*args, **kwargs) - return cls._instances[cls]
- - -
[docs]class TraceDatabase(metaclass=Singleton): - db_name: str = "traces.txt" - - def __init__(self, database: TraceDatabase = None): - self._database = database or SingleFileTraceDatabase(self.db_name) - - @property - def database(self) -> TraceDatabase: - return self._database
- - -
[docs]def get_time_ms(): - return time.time() * 1000
- - -
[docs]def add_trace_duration_begin( - name: str, - process_id: str, - thread_id: str, - category: List[str] = None, - timestamp: float = None, - thread_timestamp: float = None, - data: dict = None, -): - event = TraceEvent( - name=name, - category=category, - phase="B", - timestamp=get_time_ms(), - process_id=process_id, - thread_id=thread_id, - data=data, - thread_timestamp=thread_timestamp, - color_name=None, - ) - TraceDatabase().database.add_trace_event(event)
- - -
[docs]def add_trace_duration_end( - name: str, - process_id: str, - thread_id: str, - category: List[str] = None, - timestamp: float = None, - thread_timestamp: float = None, - data: dict = None, -): - event = TraceEvent( - name=name, - category=category, - phase="E", - timestamp=get_time_ms(), - process_id=process_id, - thread_id=thread_id, - data=data, - thread_timestamp=thread_timestamp, - color_name=None, - ) - TraceDatabase().database.add_trace_event(event)
- - -
[docs]def add_trace_complete( - name: str, - process_id: str, - thread_id: str, - timestamp: float, - duration: float, - thread_timestamp: float = None, - thread_duration: float = None, - category: List[str] = None, - data: dict = None, -): - if thread_timestamp is not None or thread_duration is not None: - if thread_timestamp is None or thread_duration is None: - raise ValueError( - "initial_thread_timestamp and thread_duration must be set together" - ) - event = TraceEvent( - name=name, - category=category, - phase="X", - timestamp=timestamp, - duration=duration, - process_id=process_id, - thread_id=thread_id, - data=data, - thread_timestamp=thread_timestamp, - thread_duration=thread_duration, - color_name=None, - ) - TraceDatabase().database.add_trace_event(event)
- - -
[docs]def get_traces() -> List[TraceEvent]: - return TraceDatabase().database.get_traces()
- - -
[docs]def to_chrome_event_format( - trace_events: List[TraceEvent], - trace_options: dict = None, - format_kwargs: dict = None, -) -> str: - traces = [] - pids = set() - tids = set() - # stack_frames = [] - for trace in trace_events: - if isinstance(trace, TraceEvent): - pids.add(trace.process_id) - tids.add((trace.process_id, trace.thread_id)) - - pids = list(pids) - tids = list(tids) - - for trace in trace_events: - if isinstance(trace, TraceEvent): - t = { - "name": trace.name, - "ph": trace.phase, - "cat": ",".join(trace.category) if trace.category else "default", - "ts": trace.timestamp * 1e6, - "pid": pids.index(trace.process_id), - "tid": tids.index((trace.process_id, trace.thread_id)), - } - - if trace.data is not None: - t["args"] = trace.data - if trace.thread_timestamp is not None: - t["tts"] = trace.thread_timestamp - if trace.color_name is not None: - t["cname"] = trace.color_name - if trace.duration is not None: - t["dur"] = trace.duration * 1e6 - if trace.thread_duration is not None: - t["tdur"] = trace.thread_duration - # pids.add(trace.process_id) - # threads.add((trace.process_id, trace.thread_id)) - traces.append(t) - - # print(f"PIDS: {pids}") - for pid in pids: - traces.append( - { - "name": "process_name", - "ph": "M", - "pid": pids.index(pid), - "args": {"name": pid}, - } - ) - - for pid, tid in tids: - traces.append( - { - "name": "thread_name", - "ph": "M", - "pid": pids.index(pid), - "tid": tids.index((pid, tid)), - "args": {"name": tid}, - } - ) - - traces = { - "traceEvents": traces, - # "stackFrames": stack_frames - } - - if trace_options is not None: - traces.update(trace_options) - - format_kwargs = format_kwargs or {} - return json.dumps(traces, **format_kwargs)
- - -
[docs]class Profile: - def __init__( - self, - trace_file: str = "traces.txt", - remove_old_trace_file: bool = True, - processed_filename: Optional[str] = "profile.json", - process_trace_options: dict = None, - process_trace_kwargs: dict = None, - ): - self.trace_file = Path(trace_file) - self.processed_filename = Path(processed_filename) - self.remove_old_trace_file = remove_old_trace_file - self.process_trace_options = process_trace_options - self.process_trace_kwargs = process_trace_kwargs - -
[docs] def __enter__(self): - if self.remove_old_trace_file: - self.trace_file.unlink(missing_ok=True) - db = SingleFileTraceDatabase(self.trace_file) - TraceDatabase(db)
- -
[docs] def __exit__(self, exc_type, exc_val, exc_tb): - if self.processed_filename is not None: - # print("Processing traces...") - traces = get_traces() - with self.processed_filename.open("w") as f: - f.write( - to_chrome_event_format( - traces, self.process_trace_options, self.process_trace_kwargs - ) - ) - print(f"Chrome trace file written to {self.processed_filename}")
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/profile/plugins/dasf.html b/docs/_modules/dasf/profile/plugins/dasf.html deleted file mode 100644 index 45c689a..0000000 --- a/docs/_modules/dasf/profile/plugins/dasf.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - - - dasf.profile.plugins.dasf — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.profile.plugins.dasf

-import time
-import socket
-from distributed.diagnostics.plugin import WorkerPlugin, SchedulerPlugin
-from dasf.profile.event import add_trace_complete
-from dasf.pipeline import PipelinePlugin
-
-
-
[docs]class PipelineTaskTimer(PipelinePlugin): - def __init__(self): - self.start_times = dict() - self.hostname = socket.gethostname() - -
[docs] def on_task_start(self, func, params, name): - self.start_times[name] = time.time()
- # print(f"Pipeline Task Timer Start: {name}: {self.start_times[name]}") - -
[docs] def on_task_end(self, func, params, name, ret): - duration = time.time() - self.start_times[name] - # print(f"Pipeline Task Timer End: {name}: {duration}") - add_trace_complete( - name=name, - process_id="dasf-core", - thread_id="core", - timestamp=self.start_times[name], - duration=duration, - category=["dasf", "task time"], - data={"task": name}, - )
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/profile/plugins/dask.html b/docs/_modules/dasf/profile/plugins/dask.html deleted file mode 100644 index 003f0d0..0000000 --- a/docs/_modules/dasf/profile/plugins/dask.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - - - dasf.profile.plugins.dask — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.profile.plugins.dask

-import time
-import socket
-from distributed.diagnostics.plugin import WorkerPlugin, SchedulerPlugin
-from dasf.profile.event import add_trace_complete
-
-
-
[docs]class TaskTimePlugin(WorkerPlugin): -
[docs] def setup(self, worker): - self.worker = worker - self.start_times = dict() - self.transfer_times = dict() - self.waiting_time = dict() - self.hostname = socket.gethostname()
- -
[docs] def transition(self, key, start, finish, *args, **kwargs): - if finish == "executing": # start execting - self.start_times[key] = time.time() - if key in self.waiting_time: - duration = time.time() - self.waiting_time[key] - add_trace_complete( - name="Waiting", - process_id=self.hostname, - thread_id=f"worker-{self.worker.name}", - timestamp=self.waiting_time[key], - duration=duration, - category=["worker", "dask", "waiting"], - data={"from": start, "to": finish, "key": key}, - ) - - elif (start == "executing" or start == "long-running") and key in self.start_times: # end executing - if key in self.start_times: - duration = time.time() - self.start_times[key] - add_trace_complete( - name="Processing", - process_id=self.hostname, - thread_id=f"worker-{self.worker.name}", - timestamp=self.start_times[key], - duration=duration, - category=["worker", "dask", "processing"], - data={"from": start, "to": finish, "key": key}, - ) - if finish == "fetch": # start transfer - self.transfer_times[key] = time.time() - elif start == "flight" and finish == "memory": - if key in self.transfer_times: - duration = time.time() - self.transfer_times[key] - add_trace_complete( - name="Transfering", - process_id=self.hostname, - thread_id=f"worker-{self.worker.name}", - timestamp=self.transfer_times[key], - duration=duration, - category=["worker", "dask", "transfering"], - data={"from": start, "to": finish, "key": key}, - ) - - if finish == "waiting": - self.waiting_time[key] = time.time()
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/transforms/base.html b/docs/_modules/dasf/transforms/base.html deleted file mode 100644 index 16c21fe..0000000 --- a/docs/_modules/dasf/transforms/base.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - dasf.transforms.base — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.transforms.base
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.transforms.base

-#!/usr/bin/python3
-
-import inspect
-import dask.array as da
-
-from dasf.utils.decorators import task_handler
-from dasf.utils.types import is_dask_array
-from dasf.utils.types import is_dask_dataframe
-from dasf.utils.funcs import block_chunk_reduce
-
-
-
[docs]class Fit: -
[docs] def _lazy_fit_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_fit_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def fit(self, X, y, sample_weight=None, **kwargs): - ...
- -
[docs] @staticmethod - def fit_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit(X=X, y=y, sample_weight=sample_weight, **kwargs)
- - -
[docs]class FitPredict: -
[docs] def _lazy_fit_predict_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_fit_predict_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_predict_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_predict_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def fit_predict(self, X, y=None, **kwargs): - ...
- -
[docs] @staticmethod - def fit_predict_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit_predict(X=X, y=y, sample_weight=sample_weight, - **kwargs)
- - -
[docs]class FitTransform: -
[docs] def _lazy_fit_transform_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_fit_transform_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_transform_cpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] def _fit_transform_gpu(self, X, y=None, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def fit_transform(self, X, y=None, **kwargs): - ...
- -
[docs] @staticmethod - def fit_transform_from_model(model, X, y, sample_weight=None, **kwargs): - return model.fit_transform(X=X, y=y, sample_weight=sample_weight, - **kwargs)
- - -
[docs]class Predict: -
[docs] def _lazy_predict_cpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_predict_gpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError
- -
[docs] def _predict_cpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError
- -
[docs] def _predict_gpu(self, X, sample_weight=None, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def predict(self, X, sample_weight=None, **kwargs): - ...
- -
[docs] @staticmethod - def predict_from_model(model, X, sample_weight=None, **kwargs): - if 'sample_weight' not in inspect.signature(model.predict).parameters: - return model.predict(X=X, **kwargs) - return model.predict(X=X, sample_weight=sample_weight, **kwargs)
- - -
[docs]class GetParams: -
[docs] def _lazy_get_params_cpu(self, deep=True, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_get_params_gpu(self, deep=True, **kwargs): - raise NotImplementedError
- -
[docs] def _get_params_cpu(self, deep=True, **kwargs): - raise NotImplementedError
- -
[docs] def _get_params_gpu(self, deep=True, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def get_params(self, deep=True, **kwargs): - ...
- - -
[docs]class SetParams: -
[docs] def _lazy_set_params_cpu(self, **params): - raise NotImplementedError
- -
[docs] def _lazy_set_params_gpu(self, **params): - raise NotImplementedError
- -
[docs] def _set_params_cpu(self, **params): - raise NotImplementedError
- -
[docs] def _set_params_gpu(self, **params): - raise NotImplementedError
- -
[docs] @task_handler - def set_params(self, **params): - ...
- - -
[docs]class Transform: -
[docs] def _lazy_transform_cpu(self, X, **kwargs): - raise NotImplementedError
- -
[docs] def _lazy_transform_gpu(self, X, **kwargs): - raise NotImplementedError
- -
[docs] def _transform_cpu(self, X, **kwargs): - raise NotImplementedError
- -
[docs] def _transform_gpu(self, X, **kwargs): - raise NotImplementedError
- -
[docs] @task_handler - def transform(self, X, **kwargs): - ...
- -
[docs] @staticmethod - def transform_from_model(model, X, **kwargs): - return model.transform(X=X, **kwargs)
- - -
[docs]class TargeteredTransform: - def __init__(self, run_local=None, run_gpu=None): - super().__init__() - - self._run_local = run_local - self._run_gpu = run_gpu
- - -
[docs]class MappedTransform(Transform): - def __init__( - self, - function, - depth=None, - boundary=None, - trim=True, - output_chunk=None, - ): - - self.function = function - self.depth = depth - self.boundary = boundary - self.trim = trim - self.output_chunk = output_chunk - - if ( - self.boundary is None - and self.depth is not None - or self.boundary is not None - and self.depth is None - ): - raise Exception("Both boundary and depth should be passed " - "together") - - def __lazy_transform_generic(self, X, **kwargs): - drop_axis, new_axis = block_chunk_reduce(X, self.output_chunk) - - if self.depth and self.boundary: - if self.trim: - new_data = X.map_overlap( - self.function, - **kwargs, - dtype=X.dtype, - depth=self.depth, - boundary=self.boundary, - ) - else: - data_blocks = da.overlap.overlap( - X, depth=self.depth, boundary=self.boundary - ) - - new_data = data_blocks.map_blocks( - self.function, - dtype=X.dtype, - drop_axis=drop_axis, - new_axis=new_axis, - **kwargs, - ) - else: - if is_dask_array(X): - new_data = X.map_blocks( - self.function, - dtype=X.dtype, - drop_axis=drop_axis, - new_axis=new_axis, - **kwargs, - ) - elif is_dask_dataframe(X): - new_data = X.map_partitions(self.function, **kwargs) - - return new_data - -
[docs] def _lazy_transform_cpu(self, X, **kwargs): - return self.__lazy_transform_generic(X, **kwargs)
- -
[docs] def _lazy_transform_gpu(self, X, **kwargs): - return self.__lazy_transform_generic(X, **kwargs)
- -
[docs] def _transform_cpu(self, X, **kwargs): - return self.function(X, **kwargs)
- -
[docs] def _transform_gpu(self, X, **kwargs): - return self.function(X, **kwargs)
- -
[docs] @task_handler - def transform(self, X, **kwargs): - ...
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/transforms/memory.html b/docs/_modules/dasf/transforms/memory.html deleted file mode 100644 index f601ad8..0000000 --- a/docs/_modules/dasf/transforms/memory.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - dasf.transforms.memory — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.transforms.memory
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.transforms.memory

-#!/usr/bin/env python3
-
-from dasf.utils.types import is_dask_array
-from dasf.utils.types import is_dask_dataframe
-from dasf.transforms.base import Transform
-
-
-
[docs]class PersistDaskData(Transform): - """Allow persisting a dask array to memory and return a copy of the object. - It will gather the data blocks from all workers and resembles locally. - """ - def __lazy_transform_generic(self, X): - if is_dask_array(X) or is_dask_dataframe(X): - new_data = X.persist() - else: - new_data = X - - return new_data - -
[docs] def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X)
- -
[docs] def _lazy_transform_gpu(self, X): - return self.__lazy_transform_generic(X)
- -
[docs] def _transform_cpu(self, X): - # Bypass because the data is local - return X
- -
[docs] def _transform_gpu(self, X): - # Bypass because the data is local - return X
- - -
[docs]class LoadDaskData(Transform): - """Allow persisting a dask array to memory. It will gather the data blocks - from all workers and resembles locally. - """ - def __lazy_transform_generic(self, X): - if is_dask_array(X) or is_dask_dataframe(X): - new_data = X.compute() - else: - new_data = X - - return new_data - -
[docs] def _lazy_transform_cpu(self, X): - return self.__lazy_transform_generic(X)
- -
[docs] def _lazy_transform_gpu(self, X): - return self.__lazy_transform_generic(X)
- -
[docs] def _transform_cpu(self, X): - # Bypass because the data is local - return X
- -
[docs] def _transform_gpu(self, X): - # Bypass because the data is local - return X
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/transforms/operations.html b/docs/_modules/dasf/transforms/operations.html deleted file mode 100644 index 48341cc..0000000 --- a/docs/_modules/dasf/transforms/operations.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - - - - dasf.transforms.operations — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.transforms.operations
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.transforms.operations

-#!/usr/bin/env python3
-
-from dasf.transforms.base import Transform
-
-
-
[docs]class Reshape: - """Reshape data with a new shape. - - Parameters - ---------- - shape : tuple - The new shape of the data. - - """ - def __init__(self, shape: tuple): - self.shape = shape - -
[docs] def run(self, X): - print(X.shape) - return X.reshape(self.shape)
- - -
[docs]class SliceArray: - def __init__(self, output_size): - self.x = list(output_size) - -
[docs] def transform(self, X): - if len(self.x) == 1: - return X[0:self.x[0]] - elif len(self.x) == 2: - return X[0:self.x[0], 0:self.x[1]] - elif len(self.x) == 3: - return X[0:self.x[0], 0:self.x[0], 0:self.x[0]] - else: - raise Exception("The dimmension is not known")
- - -
[docs]class SliceArrayByPercent(Transform): - def __init__(self, x=100.0, y=100.0, z=100.0): - self.x = float(x / 100.0) - self.y = float(y / 100.0) - self.z = float(z / 100.0) - -
[docs] def transform(self, X): - if self.x > 1 or self.y > 1 or self.z > 1: - raise Exception("Percentages cannot be higher than 100% (1.0)") - - if X.ndim == 1: - return X[0:int(self.x * X.shape[0])] - elif X.ndim == 2: - return X[0:int(self.x * X.shape[0]), 0:int(self.y * X.shape[1])] - elif X.ndim == 3: - return X[ - 0:int(self.x * X.shape[0]), - 0:int(self.y * X.shape[1]), - 0:int(self.z * X.shape[2]), - ] - else: - raise Exception("The dimmension is not known")
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/transforms/transforms.html b/docs/_modules/dasf/transforms/transforms.html deleted file mode 100644 index 4e8e0ea..0000000 --- a/docs/_modules/dasf/transforms/transforms.html +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - - - - dasf.transforms.transforms — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.transforms.transforms
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.transforms.transforms

-#!/usr/bin/env python3
-
-import h5py
-import math
-import zarr
-
-import numpy as np
-import pandas as pd
-
-from dasf.utils.types import is_array
-from dasf.utils.types import is_dask_array
-from dasf.transforms.base import Transform
-
-try:
-    import cupy as cp
-    import cudf
-except ImportError:
-    pass
-
-
-
[docs]class Normalize(Transform): -
[docs] def transform(self, X): - return (X - X.mean()) / (X.std(ddof=0))
- - -
[docs]class ArrayToZarr(Transform): - def __init__(self, chunks=None, save=True, filename=None): - self.chunks = chunks - # TODO: implement the possibility of not saving - self.save = True - self.filename = filename - -
[docs] @staticmethod - def _convert_filename(url): - if url.endswith(".npy"): - return url.replace(".npy", ".zarr") - return url + ".zarr"
- -
[docs] def _lazy_transform_generic_all(self, data): - if self.filename: - url = self.filename - elif hasattr(data, '_root_file'): - url = data._root_file - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - if data is None: - raise Exception("Dataset needs to be loaded first.") - - url = self._convert_filename(url) - - data.to_zarr(url) - - return url
- -
[docs] def _transform_generic_all(self, data, chunks, **kwargs): - if data is None: - raise Exception("Dataset needs to be loaded first.") - - if not chunks: - raise Exception("Chunks needs to be passed for non lazy arrays.") - - if self.filename: - url = self.filename - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - url = self._convert_filename(url) - - z = zarr.open(store=url, mode='w', shape=data.shape, - chunks=chunks, dtype='i4') - - z = data - - return url
- -
[docs] def _lazy_transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray - from dasf.datasets.base import DatasetZarr - - name = None - - if isinstance(X, DatasetArray): - name = X._name - chunks = X._chunks - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._lazy_transform_generic_all(X._data) - elif is_dask_array(X): - chunks = X.chunks - - url = self._lazy_transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetZarr(name=name, download=False, root=url, chunks=chunks)
- -
[docs] def _transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray - from dasf.datasets.base import DatasetZarr - - name = None - url = None - - if hasattr(X, '_chunks') and \ - (X._chunks is not None and X._chunks != 'auto'): - chunks = X._chunks - else: - chunks = self.chunks - - if chunks is None: - raise Exception("Chunks needs to be specified.") - - if isinstance(X, DatasetArray): - name = X._name - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._transform_generic_all(X._data, chunks) - elif is_array(X): - url = self._transform_generic_all(X, chunks) - else: - raise Exception("It is not an Array type.") - - return DatasetZarr(name=name, download=False, root=url, chunks=chunks)
- -
[docs] def _lazy_transform_gpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs)
- -
[docs] def _lazy_transform_cpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs)
- -
[docs] def _transform_gpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs)
- -
[docs] def _transform_cpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs)
- - -
[docs]class ArrayToHDF5(Transform): - def __init__(self, dataset_path, chunks=None, save=True, filename=None): - # Avoid circular dependency - from dasf.datasets.base import DatasetArray - from dasf.datasets.base import DatasetHDF5 - - self.dataset_path = dataset_path - self.chunks = chunks - # TODO: implement the possibility of not saving - self.save = True - self.filename = filename - -
[docs] @staticmethod - def _convert_filename(url): - if url.endswith(".npy"): - return url.replace(".npy", ".hdf5") - return url + ".hdf5"
- -
[docs] def _lazy_transform_generic_all(self, data): - if self.filename: - url = self.filename - elif hasattr(data, '_root_file'): - url = data._root_file - else: - raise Exception("Array requires a valid path to convert to HDF5.") - - if data is None: - raise Exception("Dataset needs to be loaded first.") - - url = self._convert_filename(url) - - data.to_hdf5(url, self.dataset_path) - - return url
- -
[docs] def _transform_generic_all(self, data): - if data is None: - raise Exception("Dataset needs to be loaded first.") - - if self.filename: - url = self.filename - else: - raise Exception("Array requires a valid path to convert to Zarr.") - - url = self._convert_filename(url) - - h5f = h5py.File(url, 'w') - h5f.create_dataset(self.dataset_path, data=data) - h5f.close() - - return url
- -
[docs] def _lazy_transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray - from dasf.datasets.base import DatasetHDF5 - - name = None - chunks = None - - if isinstance(X, DatasetArray): - name = X._name - chunks = X._chunks - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._lazy_transform_generic_all(X._data) - elif is_dask_array(X): - chunks = X.chunks - - url = self._lazy_transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetHDF5(name=name, download=False, root=url, chunks=chunks, - dataset_path=self.dataset_path)
- -
[docs] def _transform_generic(self, X, **kwargs): - # XXX: Avoid circular dependency - from dasf.datasets.base import DatasetArray - from dasf.datasets.base import DatasetHDF5 - - name = None - url = None - - if hasattr(X, '_chunks') and \ - (X._chunks is not None and X._chunks != 'auto'): - chunks = X._chunks - else: - chunks = self.chunks - - if isinstance(X, DatasetArray): - name = X._name - - if not self.filename and hasattr(X, '_root_file'): - self.filename = X._root_file - - url = self._transform_generic_all(X._data) - elif is_array(X): - url = self._transform_generic_all(X) - else: - raise Exception("It is not an Array type.") - - return DatasetHDF5(name=name, download=False, root=url, chunks=chunks, - dataset_path=self.dataset_path)
- -
[docs] def _lazy_transform_gpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs)
- -
[docs] def _lazy_transform_cpu(self, X, **kwargs): - return self._lazy_transform_generic(X, **kwargs)
- -
[docs] def _transform_gpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs)
- -
[docs] def _transform_cpu(self, X, **kwargs): - return self._transform_generic(X, **kwargs)
- - -
[docs]class ArraysToDataFrame(Transform): - def __transform_generic(self, X, y): - assert len(X) == len(y), "Data and labels should have the same length." - - dfs = None - for i, x in enumerate(X): - if is_array(x): - # Dask has some facilities to convert to DataFrame - if is_dask_array(x): - new_chunk = math.prod(x.chunksize) - flat = x.flatten().rechunk(new_chunk) - - if dfs is None: - dfs = flat.to_dask_dataframe(columns=[y[i]]) - else: - dfs = dfs.join(flat.to_dask_dataframe(columns=[y[i]])) - else: - flat = x.flatten() - - if dfs is None: - dfs = list() - dfs.append(flat) - else: - raise Exception("This is not an array. This is a '%s'." - % str(type(x))) - - return dfs - -
[docs] def _lazy_transform_cpu(self, X=None, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - - return self.__transform_generic(X, y)
- -
[docs] def _lazy_transform_gpu(self, X=None, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - - return self.__transform_generic(X, y)
- -
[docs] def _transform_gpu(self, X=None, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - - dfs = self.__transform_generic(X, y) - - if is_array(dfs) and not is_dask_array(dfs): - datas = cp.stack(dfs, axis=-1) - datas = cudf.DataFrame(datas, columns=y) - else: - datas = dfs - - return datas
- -
[docs] def _transform_cpu(self, X=None, **kwargs): - X = list(kwargs.values()) - y = list(kwargs.keys()) - - dfs = self.__transform_generic(X, y) - - if is_array(dfs) and not is_dask_array(dfs): - datas = np.stack(dfs, axis=-1) - datas = pd.DataFrame(datas, columns=y) - else: - datas = dfs - - return datas
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/benchmark.html b/docs/_modules/dasf/utils/benchmark.html deleted file mode 100644 index 462b32a..0000000 --- a/docs/_modules/dasf/utils/benchmark.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - dasf.utils.benchmark — DASF 1.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -

Source code for dasf.utils.benchmark

-#!/usr/bin/env python3
-
-import timeit
-
-from time import perf_counter
-
-try:
-    import memray
-    USE_MEMRAY = True
-except ImportError:
-    USE_MEMRAY = False
-
-import cProfile
-from pstats import Stats
-
-try:
-    from functools import partial
-    from memory_profiler import show_results, LineProfiler
-    from memory_profiler import memory_usage, choose_backend
-
-    USE_MEM_PROF = True
-except ImportError:
-    USE_MEM_PROF = False
-
-
-
[docs]class TimeBenchmark: - def __init__(self, backend="cprofile"): - self.__backend = backend - -
[docs] def __enter__(self): - if self.__backend == "cprofile": - self.__pr = cProfile.Profile() - self.__pr.enable() - elif self.__backend == "perf_counter": - self.__start = perf_counter() - self.__end = 0.0 - else: - print("There is no available backend") - return self
- -
[docs] def __exit__(self, *args, **kwargs): - if self.__backend == "cprofile": - self.__pr.disable() - p = Stats(self.__pr) - - p.strip_dirs().sort_stats('cumulative').print_stats(10) - elif self.__backend == "perf_counter": - self.__end = perf_counter() - print("Time spent:", self.__end - self.__start)
- -
[docs] def run(self, function, *args, **kwargs): - if self.__backend == "cprofile": - pr = cProfile.Profile() - pr.enable() - - function(*args, **kwargs) - - pr.disable() - p = Stats(pr) - - p.strip_dirs().sort_stats('cumulative').print_stats(10) - - self.teardown() - elif self.__backend == "timeit": - timeit.repeat("function(*args, **kwargs)", setup="self.setup()") - - self.teardown() - else: - print("There is no available backend")
- - -
[docs]class MemoryBenchmark: - def __init__(self, backend="memray", debug=False, output_file=None, *args, **kwargs): - self.__backend = backend - self.__debug = debug - self.__output_file = output_file - self.__args = args - self.__kwargs = kwargs - -
[docs] def __enter__(self): - if self.__backend == "memray" and USE_MEMRAY: - self.__memray = memray.Tracker(*self.__args, **self.__kwargs) - - return self.__memray.__enter__() - else: - raise Exception(f"The backend {self.__backend} does not support context " - "manager")
- -
[docs] def __exit__(self, *args, **kwargs): - if self.__backend == "memray" and USE_MEMRAY: - return self.__memray.__exit__(*args, **kwargs)
- -
[docs] def run(self, function, *args, **kwargs): - if self.__backend == "memory_profiler" and USE_MEM_PROF: - if self.__debug: - # profile = LineProfiler(include_children=True) - - get_prof = partial(LineProfiler, backend=choose_backend("psutil")) - show_results_bound = partial( - show_results, precision=4 - ) - - prof = get_prof() - vals = prof(function)(*args, **kwargs) - show_results_bound(prof) - else: - vals = memory_usage((function, args, kwargs), *self.__args, - **self.__kwargs) - - self.teardown() - - return vals - elif self.__backend == "memray" and USE_MEMRAY: - with memray.Tracker(*self.__args, **self.__kwargs): - ret = function(*args, **kwargs) - - self.teardown() - - return ret - else: - print(f"The backend {self.__backend} is not supported")
-
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/decorators.html b/docs/_modules/dasf/utils/decorators.html deleted file mode 100644 index 31ff6f6..0000000 --- a/docs/_modules/dasf/utils/decorators.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - - - - dasf.utils.decorators — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.utils.decorators
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.utils.decorators

-""" Implementations of important library decorators. """
-#!/usr/bin/env python3
-
-from functools import wraps
-
-from dasf.utils.types import is_dask_array
-from dasf.utils.types import is_gpu_array
-from dasf.utils.funcs import is_gpu_supported
-from dasf.utils.funcs import is_dask_supported
-from dasf.utils.funcs import is_dask_gpu_supported
-
-
-
[docs]def is_forced_local(cls): - """ - Returns if object is forced to run in a CPU. - """ - # pylint: disable=protected-access - if hasattr(cls, "_run_local") and cls._run_local is not None: - # pylint: disable=protected-access - return cls._run_local - return None
- - -
[docs]def is_forced_gpu(cls): - """ - Returns if object is forced to run in a GPU. - """ - # pylint: disable=protected-access - if hasattr(cls, "_run_gpu") and cls._run_gpu is not None: - # pylint: disable=protected-access - return cls._run_gpu - return None
- - -
[docs]def fetch_from_dask(*args, **kwargs) -> tuple: - """ - Fetches to CPU all parameters in a Dask data type. - """ - new_kwargs = {} - new_args = [] - - for key, value in kwargs.items(): - if is_dask_array(value): - new_kwargs[key] = value.compute() - else: - new_kwargs[key] = value - - for value in args: - if is_dask_array(value): - new_args.append(value.compute()) - else: - new_args.append(value) - - return new_args, new_kwargs
- - -
[docs]def fetch_from_gpu(*args, **kwargs) -> tuple: - """ - Fetches to CPU all parameters in a GPU data type. - """ - new_kwargs = {} - new_args = [] - - for key, value in kwargs.items(): - if is_gpu_array(value): - new_kwargs[key] = value.get() - else: - new_kwargs[key] = value - - for value in args: - if is_gpu_array(value): - new_args.append(value.get()) - else: - new_args.append(value) - - return new_args, new_kwargs
- - -
[docs]def fetch_args_from_dask(func): - """ - Fetches to CPU all function parameters in a Dask data type. - """ - def wrapper(*args, **kwargs): - new_args, new_kwargs = fetch_from_dask(*args, **kwargs) - - return func(*new_args, **new_kwargs) - - return wrapper
- - -
[docs]def fetch_args_from_gpu(func): - """ - Fetches to CPU all function parameters in a GPU data type. - """ - def wrapper(*args, **kwargs): - new_args, new_kwargs = fetch_from_gpu(*args, **kwargs) - - return func(*new_args, **new_kwargs) - - return wrapper
- - -
[docs]def task_handler(func): - """ - Returns all mapped functions corresponding to the executor in place. - """ - @wraps(func) - def wrapper(*args, **kwargs): - cls = args[0] - new_args = args[1:] - func_name = func.__name__ - func_type = "" - arch = "cpu" - - if is_forced_local(cls): - new_args, kwargs = fetch_from_dask(*new_args, **kwargs) - - if not is_forced_local(cls) and (is_dask_gpu_supported() or is_dask_supported()): - func_type = "_lazy" - - if is_forced_gpu(cls) is not None: - if is_forced_gpu(cls): - arch = "gpu" - else: - new_args, kwargs = fetch_from_gpu(*new_args, **kwargs) - arch = "cpu" - elif is_dask_gpu_supported() or is_gpu_supported(): - arch = "gpu" - - wrapper_func_attr = f"{func_type}_{func_name}_{arch}" - - if (not hasattr(cls, wrapper_func_attr) and - hasattr(cls, func_name)): - return func(*new_args, **kwargs) - if (not hasattr(cls, wrapper_func_attr) and - not hasattr(cls, func_name)): - raise NotImplementedError( - f"There is no implementation of {wrapper_func_attr} nor " - "{func_name}" - ) - return getattr(cls, wrapper_func_attr)(*new_args, **kwargs) - - return wrapper
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/funcs.html b/docs/_modules/dasf/utils/funcs.html deleted file mode 100644 index d768eab..0000000 --- a/docs/_modules/dasf/utils/funcs.html +++ /dev/null @@ -1,656 +0,0 @@ - - - - - - - - - - dasf.utils.funcs — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.utils.funcs
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.utils.funcs

-""" Generic and regular functions. """
-#!/usr/bin/env python3
-
-import os
-import time
-import threading
-
-from pathlib import Path
-
-import wget
-import pandas
-import psutil
-import GPUtil
-import numpy as np
-
-import dask
-import dask.delayed as dd
-from dask.distributed import Client
-
-from distributed.client import wait, FIRST_COMPLETED
-from distributed.utils import TimeoutError as DistributedTimeoutError
-
-from dasf.pipeline.types import TaskExecutorType
-
-from IPython import display as disp
-from ipywidgets import HBox, FloatProgress, Label
-
-try:
-    import cupy as cp
-    GPU_SUPPORTED = isinstance(cp.__version__, str)
-except ImportError:
-    GPU_SUPPORTED = False
-
-
-
[docs]def human_readable_size(size, decimal=3) -> str: - """ - converts data size into the proper measurement - """ - for unit in ['B', 'KB', 'MB', 'GB', 'TB']: - if size < 1024.0: - break - size /= 1024.0 - return f"{size:.{decimal}f} {unit}"
- - -
[docs]def get_full_qualname(obj) -> str: - """ - Return fully qualified name of objects. - """ - klass = obj.__class__ - module = klass.__module__ - if module == "builtins": - return klass.__qualname__ - return module + "." + klass.__qualname__
- - -
[docs]def get_worker_info(client) -> list: - """ - Returns a list of workers (sorted), and the DNS name for the master host - The master is the 0th worker's host - """ - workers = client.scheduler_info()["workers"] - worker_keys = sorted(workers.keys()) - workers_by_host = {} - for key in worker_keys: - worker = workers[key] - host = worker["host"] - workers_by_host.setdefault(host, []).append(key) - host = workers[worker_keys[0]]["host"] - all_workers = [] - global_rank = 0 - world_size = len(workers_by_host) - hosts = sorted(workers_by_host.keys()) - for host in hosts: - local_rank = 0 - for worker in workers_by_host[host]: - all_workers.append( - dict( - master=hosts[0], - worker=worker, - nthreads=workers[worker]["nthreads"], - local_rank=0, - global_rank=global_rank, - host=host, - world_size=world_size, - ) - ) - local_rank += 1 - global_rank += 1 - return all_workers
- - -
[docs]def sync_future_loop(futures): - """ - Synchronize all futures submitted to workers. - """ - while True: - if not futures: - break - - try: - result = wait(futures, 0.1, FIRST_COMPLETED) - except DistributedTimeoutError: - continue - - for fut in result.done: - try: - fut.result(timeout=7200) - except Exception as exc: # pylint: disable=broad-except - print(str(exc)) - raise - futures = result.not_done
- - -
[docs]class NotebookProgressBar(threading.Thread): - MIN_CUR = -2 - MIN_TOTAL = -1 - - def __init__(self): - threading.Thread.__init__(self) - - # pylint: disable=disallowed-name - self.bar = None - self.percentage = None - self.data = None - - self.__lock = threading.Lock() - self.__current = self.MIN_CUR - self.__total = self.MIN_TOTAL - self.__error = False - -
[docs] def show(self): - self.bar = FloatProgress(value=0, min=0, max=100) - self.percentage = Label(value='0 %') - self.data = Label(value='') - box = HBox((self.percentage, self.bar, self.data)) - disp.display(box)
- -
[docs] def set_current(self, current, total): - with self.__lock: - self.__current = current - self.__total = total
- -
[docs] def set_error(self, error): - self.__error = error
- -
[docs] def run(self): - while (not self.__error and self.__current < self.__total): - time.sleep(1) - - if self.__current != self.MIN_CUR and self.__total != self.MIN_TOTAL: - progress = (self.__current / self.__total) * 100 - self.bar.value = progress - self.percentage.value = f"{int(self.bar.value)} %%" - self.data.value = f"{int(self.__current)} / {int(self.__total)}" - - if not self.__error: - self.bar.style.bar_color = '#03c04a' - else: - self.bar.style.bar_color = '#ff0000'
- - -
[docs]def download_file(url, filename=None, directory=None): - """ - Download a generic file and save it. - """ - if directory is not None: - os.makedirs(os.path.dirname(directory), exist_ok=True) - - progressbar = None - - if is_notebook(): - progressbar = NotebookProgressBar() - - def update_notebook_bar(current, total): - progressbar.set_current(current, total) - - try: - if filename and directory: - output = os.path.abspath(os.path.join(directory, filename)) - - if not os.path.exists(output): - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - wget.download(url, out=output, bar=update_notebook_bar) - else: - wget.download(url, out=output) - elif filename: - output = os.path.abspath(os.path.join(os.getcwd(), filename)) - - if not os.path.exists(output): - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - wget.download(url, out=output, bar=update_notebook_bar) - else: - wget.download(url, out=output) - elif directory: - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - output = \ - os.path.abspath(os.path.join(directory, - wget.download(url, - bar=update_notebook_bar))) - else: - output = os.path.abspath(os.path.join(directory, wget.download(url))) - else: - if is_notebook(): - # Activate the notebook progress bar - progressbar.show() - progressbar.start() - - output = \ - os.path.abspath(os.path.join(os.getcwd(), - wget.download(url, - bar=update_notebook_bar))) - else: - output = os.path.abspath(os.path.join(os.getcwd(), wget.download(url))) - except Exception as exc: - if progressbar: - progressbar.set_error(True) - - return output
- - -
[docs]def download_file_from_gdrive(file_id, filename=None, directory=None): - """ - Download a file from Google Drive using gdrive file id. - """ - url = f"https://drive.google.com/uc?export=download&confirm=9iBg&id={file_id}" - - return download_file(url, filename=filename, directory=directory)
- - -
[docs]def get_machine_memory_avail(): - """ - Return free memory available from a single machine. - """ - return psutil.virtual_memory().free
- - -
[docs]def set_executor_default(): - """ - Return executor as a CPU (default) instance. - """ - return TaskExecutorType.single_cpu
- - -
[docs]def set_executor_gpu(): - """ - Return executor as a GPU instance. - """ - return TaskExecutorType.single_gpu
- - -
[docs]def is_executor_single(dtype) -> bool: - """ - Return if the executor is a single machine instance. - """ - return dtype in (TaskExecutorType.single_cpu, TaskExecutorType.single_gpu)
- - -
[docs]def is_executor_cluster(dtype) -> bool: - """ - Return if the executor is a cluster instance. - """ - return dtype in (TaskExecutorType.multi_cpu, TaskExecutorType.multi_gpu)
- - -
[docs]def is_executor_cpu(dtype) -> bool: - """ - Return if the executor is a CPU instance. - """ - return dtype in (TaskExecutorType.single_cpu, TaskExecutorType.multi_cpu)
- - -
[docs]def is_executor_gpu(dtype) -> bool: - """ - Return if the executor is a GPU instance. - """ - return dtype in (TaskExecutorType.single_gpu, TaskExecutorType.multi_gpu)
- - -
[docs]def is_gpu_supported() -> bool: - """ - Return if GPU is supported. - """ - return GPU_SUPPORTED
- - -
[docs]def is_dask_local_supported() -> bool: - """ - Return if Dask is supported locally by the executor. - """ - try: - scheduler = dask.config.get(key="scheduler") - return scheduler is not None - except Exception: - return False
- - -
[docs]def get_dask_running_client(): - """ - Get Dask runner stanza. - """ - return Client.current()
- - -
[docs]def is_dask_supported() -> bool: - """ - Return if Dask is supported by the executor. - """ - try: - if is_dask_local_supported(): - return True - - cur = get_dask_running_client() - if hasattr(cur, 'dtype'): - return is_executor_cluster(cur.dtype) - return cur is not None - except Exception: - return False
- - -
[docs]def is_dask_gpu_supported() -> bool: - """ - Return if any node supports GPU. - """ - if is_dask_supported(): - if len(get_dask_gpu_count()) > 0: - return True - - return False
- - -
[docs]def get_gpu_count() -> int: - """ - Get single node GPU count. - """ - return GPUtil.getGPUs()
- - -
[docs]def get_dask_gpu_count(fetch=True) -> int: - """ - Get how many GPUs are available in each worker. - """ - # pylint: disable=not-callable - ret = dd(GPUtil.getGPUs)() - if fetch: - return ret.compute() - return ret
- - -
[docs]def block_chunk_reduce(dask_data, output_chunk): - """ - Reduce the chunk according the new output size. - """ - drop_axis = np.array([]) - new_axis = None - - if output_chunk is None or not isinstance(output_chunk, tuple): - return drop_axis.tolist(), new_axis - - data_chunk_range = len(dask_data.chunksize) - output_chunk_range = len(output_chunk) - - data_indexes = np.arange(data_chunk_range) - output_indexes = np.arange(output_chunk_range) - - if data_chunk_range > output_chunk_range: - inter = np.intersect1d(data_indexes, output_indexes) - - drop_axis = np.delete(data_indexes, inter) - elif data_chunk_range < output_chunk_range: - inter = np.intersect1d(data_indexes, output_indexes) - - new_axis = np.delete(output_chunk_range, inter).tolist() - - return drop_axis.tolist(), new_axis
- - -
[docs]def return_local_and_gpu(executor, local, gpu): - """ - Return executor type based on passed preferences. - """ - # pylint: disable=too-many-return-statements - if local is not None and gpu is None: - if local is True: - return TaskExecutorType(executor.dtype.value & 2) - if local is False: - return TaskExecutorType(executor.dtype.value | 1) - elif local is None and gpu is not None: - if gpu is True: - return TaskExecutorType((executor.dtype >> 1) + 2) - if gpu is False: - return TaskExecutorType(executor.dtype & 1) - elif local is not None and gpu is not None: - if local is True and gpu is False: - return TaskExecutorType.single_cpu - if local is False and gpu is False: - return TaskExecutorType.multi_cpu - if local is True and gpu is True: - return TaskExecutorType.single_gpu - if local is False and gpu is True: - return TaskExecutorType.multi_gpu - - return executor.dtype
- - -
[docs]def get_dask_mem_usage(profiler): - """ - Get Dask memory usage profile. - """ - profiler_dir = os.path.abspath(str(Path.home()) + "/.cache/dasf/profiler/") - - if profiler == "memusage": - os.makedirs(profiler_dir, exist_ok=True) - - mem = pandas.read_csv(os.path.abspath(profiler_dir + "/dask-memusage")) - - column = mem["max_memory_mb"] - max_index = column.idxmax() - - return mem["max_memory_mb"][max_index] - return 0.0
- - -
[docs]def is_notebook() -> bool: - """ - Return if the code is being executed in a IPyNotebook. - """ - try: - shell = get_ipython().__class__.__name__ - if shell == "ZMQInteractiveShell": - return True - except NameError: - pass - - return False
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/labels.html b/docs/_modules/dasf/utils/labels.html deleted file mode 100644 index 259dd46..0000000 --- a/docs/_modules/dasf/utils/labels.html +++ /dev/null @@ -1,362 +0,0 @@ - - - - - - - - - - dasf.utils.labels — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.utils.labels
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.utils.labels

-#!/usr/bin/env python3
-
-from threading import Lock
-
-from dask.core import get_dependencies, ishashable, istask
-from dask.base import is_dask_collection
-from dask.dot import to_graphviz, graphviz_to_file
-
-inside_with = Lock()
-
-g_hash_attrs = dict()
-g_func_attrs = dict()
-g_data_attrs = dict()
-
-
-
[docs]class DaskLabel(object): - def __init__(self, start, stop, label=None, color=None): - self.__label = label - self.__color = color - self.__start = start - self.__stop = stop - self.__hash_attrs = g_hash_attrs - self.__func_attrs = g_func_attrs - self.__data_attrs = g_data_attrs - -
[docs] def start(self, start): - self.__enter(start)
- -
[docs] def stop(self, stop): - self.__exit(stop, None, None, None)
- - def __name(self, x): - try: - return str(hash(x)) - except TypeError: - return str(hash(str(x))) - - def __add_item(self, key, tag, label=None, color=None, atype="data"): - if not key in self.__data_attrs: - self.__hash_attrs[key] = dict() - # We use comment as a generic field for tag - self.__hash_attrs[key]["comment"] = tag - self.__hash_attrs[key]["xlabel"] = label - self.__hash_attrs[key]["color"] = color - self.__hash_attrs[key]["type"] = atype - - def __add_func(self, key, tag, label, color): - if not key in self.__func_attrs: - self.__func_attrs[key] = dict() - # We use comment as a generic field for tag - self.__func_attrs[key]["comment"] = tag - if label: - self.__func_attrs[key]["xlabel"] = label - if color: - self.__func_attrs[key]["color"] = color - self.__func_attrs[key]["style"] = "filled" - - def __add_data(self, key, tag, label, color): - if not key in self.__data_attrs: - self.__data_attrs[key] = dict() - # We use comment as a generic field for tag - self.__data_attrs[key]["comment"] = tag - if label: - self.__data_attrs[key]["xlabel"] = label - if color: - self.__data_attrs[key]["color"] = color - self.__data_attrs[key]["style"] = "filled" - - def __generate_hashtable(self, data, delete_dup=False): - if not is_dask_collection(data): - raise Exception("This is not a Dask data: this is %s." % str(type(data))) - else: - dsk = data.dask - - remove = set() - - for k, v in dsk.items(): - k_name = self.__name(k) - if istask(v): - func_name = self.__name((k, "function")) - - if delete_dup and func_name in self.__hash_attrs: - del self.__hash_attrs[func_name] - remove.add(func_name) - elif func_name not in remove: - self.__add_item( - func_name, k, self.__label, self.__color, atype="func" - ) - - for dep in get_dependencies(dsk, k): - dep_name = self.__name(dep) - if delete_dup and dep_name in self.__hash_attrs: - del self.__hash_attrs[dep_name] - remove.add(dep_name) - elif dep_name not in remove: - self.__add_item(dep_name, dep, self.__label, self.__color) - - def __enter(self, dsk): - global inside_with - - inside_with.acquire() - - self.__generate_hashtable(dsk) - - return self - -
[docs] def __enter__(self): - dsk = eval(self.__start) - - return self.__enter(dsk)
- - def __exit(self, dsk, exc_type, exc_val, exc_tb): - global inside_with, g_hash_attrs, g_func_attrs, g_data_attrs - - self.__generate_hashtable(dsk, delete_dup=True) - - for k in self.__hash_attrs: - if self.__hash_attrs[k]["type"] == "data": - self.__add_data( - self.__hash_attrs[k]["comment"], - k, - self.__hash_attrs[k]["xlabel"], - self.__hash_attrs[k]["color"], - ) - elif self.__hash_attrs[k]["type"] == "func": - self.__add_func( - self.__hash_attrs[k]["comment"], - k, - self.__hash_attrs[k]["xlabel"], - self.__hash_attrs[k]["color"], - ) - - g_hash_attrs = {**g_hash_attrs, **self.__hash_attrs} - g_func_attrs = {**g_func_attrs, **self.__func_attrs} - g_data_attrs = {**g_data_attrs, **self.__data_attrs} - - inside_with.release() - - return self - -
[docs] def __exit__(self, exc_type, exc_val, exc_tb): - dsk = eval(self.__stop) - - return self.__exit(dsk, exc_type, exc_val, exc_tb)
- - -
[docs]def get_attributes(): - global inside_with, g_func_attrs, g_data_attrs - - if inside_with.locked(): - print("WARNING: it cannot reflect all attribute changes.") - - return {"function_attributes": g_func_attrs, "data_attributes": g_data_attrs}
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/logging.html b/docs/_modules/dasf/utils/logging.html deleted file mode 100644 index a7c0c2f..0000000 --- a/docs/_modules/dasf/utils/logging.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - dasf.utils.logging — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.utils.logging
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.utils.logging

-""" Logging helpers for functions. """
-#!/usr/bin/env python3
-
-import sys
-
-from logging import INFO, Formatter, Logger, StreamHandler, getLogger
-
-
-
[docs]def init_logging() -> Logger: - """ - Initialize logger objects to be used by modules. - """ - logger = getLogger("DASF") - - logger.setLevel(INFO) - handler = StreamHandler(sys.stdout) - - if logger.hasHandlers(): - logger.handlers.clear() - else: - formatter = Formatter( - fmt="[%(asctime)s] %(levelname)s - %(message)s", - datefmt="%Y-%m-%d %H:%M:%S%z", - ) - - handler.setFormatter(formatter) - logger.addHandler(handler) - - return logger
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/dasf/utils/types.html b/docs/_modules/dasf/utils/types.html deleted file mode 100644 index b5e3687..0000000 --- a/docs/_modules/dasf/utils/types.html +++ /dev/null @@ -1,396 +0,0 @@ - - - - - - - - - - dasf.utils.types — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- -
    - -
  • »
  • - -
  • Module code »
  • - -
  • dasf.utils.types
  • - - -
  • - -
  • - -
- - -
-
-
-
- -

Source code for dasf.utils.types

-""" Data types handlers. """
-#!/usr/bin/env python3
-
-from typing import Union, get_args
-
-import numpy as np
-import pandas as pd
-import dask.array as da
-import dask.dataframe as ddf
-import xarray as xr
-
-try:
-    import cupy as cp
-    import cudf
-    import dask_cudf as dcudf
-except ImportError:
-    pass
-
-from dasf.utils.funcs import is_gpu_supported
-
-
-ArrayCPU = Union[list, np.ndarray]
-DataFrameCPU = Union[pd.DataFrame]
-
-DataCPU = Union[ArrayCPU, DataFrameCPU]
-
-DaskArray = Union[da.core.Array]
-DaskDataFrameCPU = Union[ddf.core.DataFrame]
-
-XDataArray = Union[xr.DataArray]
-
-Array = Union[ArrayCPU, DaskArray, XDataArray]
-DaskDataFrame = Union[DaskDataFrameCPU]
-DataFrame = Union[DataFrameCPU, DaskDataFrameCPU]
-DataDask = Union[DaskArray, DaskDataFrameCPU]
-try:
-    ArrayGPU = Union[cp.ndarray]
-    DataFrameGPU = Union[cudf.DataFrame]
-
-    DataGPU = Union[ArrayGPU, DataFrameGPU]
-
-    DaskDataFrameGPU = Union[dcudf.core.DataFrame]
-
-    Array = Union[Array, ArrayGPU]
-    DaskDataFrame = Union[DaskDataFrame, DaskDataFrameGPU]
-    DataFrame = Union[DataFrame, DaskDataFrame, DataFrameGPU]
-    DataDask = Union[DataDask, DaskDataFrame]
-except NameError:
-    pass
-
-
-
[docs]def is_array(data) -> bool: - """ - Returns if data is a generic array. - """ - return isinstance(data, get_args(Array))
- - -
[docs]def is_dataframe(data) -> bool: - """ - Returns if data is a generic dataframe. - """ - return isinstance(data, get_args(DataFrame))
- - -
[docs]def is_cpu_array(data) -> bool: - """ - Returns if data is a CPU arrau like Numpy. - """ - return isinstance(data, get_args(ArrayCPU))
- - -
[docs]def is_cpu_dataframe(data) -> bool: - """ - Returns if data is a CPU dataframe like Pandas. - """ - return isinstance(data, DataFrameCPU)
- - -
[docs]def is_cpu_datatype(data) -> bool: - """ - Returns if data is a CPU data type. - """ - return isinstance(data, get_args(DataCPU))
- - -
[docs]def is_gpu_array(data) -> bool: - """ - Returns if data is a GPU array like Cupy. - """ - return is_gpu_supported() and isinstance(data, ArrayGPU)
- - -
[docs]def is_gpu_dataframe(data) -> bool: - """ - Returns if data is a GPU dataframe like Cudf. - """ - return is_gpu_supported() and isinstance(data, DataFrameGPU)
- - -
[docs]def is_gpu_datatype(data) -> bool: - """ - Returns if data is a GPU data type. - """ - return is_gpu_supported() and isinstance(data, get_args(DataGPU))
- - -
[docs]def is_dask_cpu_array(data) -> bool: - """ - Returns if data is a Dask array with CPU internal array. - """ - if isinstance(data, DaskArray): - # pylint: disable=protected-access - if isinstance(data._meta, get_args(ArrayCPU)): - return True - return False
- - -
[docs]def is_dask_cpu_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe with CPU internal dataframe. - """ - try: - if is_gpu_supported() and isinstance(data, get_args(DaskDataFrame)): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameCPU): - return True - elif isinstance(data, DaskDataFrame): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameCPU): - return True - # We need a Exception here due to Numpy bug. - except TypeError: - pass - return False
- - -
[docs]def is_dask_gpu_array(data) -> bool: - """ - Returns if data is a Dask array with GPU internal array. - """ - if is_gpu_supported() and isinstance(data, DaskArray): - # pylint: disable=protected-access - if isinstance(data._meta, ArrayGPU): - return True - return False
- - -
[docs]def is_dask_gpu_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe with GPU internal dataframe. - """ - if is_gpu_supported() and isinstance(data, get_args(DaskDataFrame)): - # pylint: disable=protected-access - if isinstance(data._meta, DataFrameGPU): - return True - return False
- - -
[docs]def is_dask_array(data) -> bool: - """ - Returns if data is a Dask array. - """ - return isinstance(data, DaskArray)
- - -
[docs]def is_dask_dataframe(data) -> bool: - """ - Returns if data is a Dask dataframe. - """ - if is_gpu_supported(): - return isinstance(data, get_args(DaskDataFrame)) - return isinstance(data, DaskDataFrame)
- - -
[docs]def is_dask(data) -> bool: - """ - Returns if data is a Dask data type. - """ - return isinstance(data, get_args(DataDask))
- - -
[docs]def is_xarray_array(data) -> bool: - """ - Returns if data is a Xarray. - """ - return isinstance(data, XDataArray)
-
- -
- -
-
- -
- -
-

- © Copyright 2022, UNICAMP. - -

-
- - - - Built with Sphinx using a - - theme - - provided by Read the Docs. - -
-
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/_modules/index.html b/docs/_modules/index.html deleted file mode 100644 index d59c265..0000000 --- a/docs/_modules/index.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Overview: module code — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/_sources/api.rst.txt b/docs/_sources/api.rst.txt deleted file mode 100644 index 2c7a2c0..0000000 --- a/docs/_sources/api.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -DASF API Reference ------------------------ - -.. toctree:: - :maxdepth: 2 - - autoapi/dasf/index diff --git a/docs/_sources/autoapi/dasf/datasets/base/index.rst.txt b/docs/_sources/autoapi/dasf/datasets/base/index.rst.txt deleted file mode 100644 index d574631..0000000 --- a/docs/_sources/autoapi/dasf/datasets/base/index.rst.txt +++ /dev/null @@ -1,1035 +0,0 @@ -:py:mod:`dasf.datasets.base` -============================ - -.. py:module:: dasf.datasets.base - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.datasets.base.Dataset - dasf.datasets.base.DatasetArray - dasf.datasets.base.DatasetZarr - dasf.datasets.base.DatasetHDF5 - dasf.datasets.base.DatasetXarray - dasf.datasets.base.DatasetLabeled - dasf.datasets.base.DatasetDataFrame - dasf.datasets.base.DatasetParquet - - - - -.. py:class:: Dataset(name, download = False, root = None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.TargeteredTransform` - - Class representing a generic dataset based on a TargeteredTransform - object. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - *args : type - Additional arguments without keys. - **kwargs : type - Additional keyworkded arguments. - - - .. py:method:: __set_dataset_cache_dir() - - Generate cached directory in $HOME to store dataset(s). - - - - - .. py:method:: download() - - Skeleton of the download method. - - - - - .. py:method:: __len__() - - Return internal data length. - - - - - .. py:method:: __getitem__(idx) - - Generic __getitem__() function based on internal data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetArray(name, download = False, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as an array of a defined - shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: __operator_check__(other) - - - .. py:method:: __repr__() - - Return a class representation based on internal array. - - - - - .. py:method:: __array__(dtype=None) - - - .. py:method:: __array_ufunc__(ufunc, method, *inputs, **kwargs) - - - .. py:method:: __check_op_input(in_data) - - Return the proper type of data for operation - - >>> Result = DatasetArray + Numpy; or - >>> Result = DatasetArray + DatasetArray - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - - - .. py:method:: __add__(other) - - Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - - - .. py:method:: __sub__(other) - - Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - - - .. py:method:: __mul__(other) - - Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - - - .. py:method:: __div__(other) - - Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - - - .. py:method:: __copy_attrs_from_data() - - Extends metadata to new transformed object (after operations). - - - - - .. py:method:: __npy_header() - - Read an array header from a filelike object. - - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - -.. py:class:: DatasetZarr(name, download = False, root = None, chunks=None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a Zarr array of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: __repr__() - - Return a class representation based on internal array. - - - - - .. py:method:: __check_op_input(in_data) - - Return the proper type of data for operation - - >>> Result = DatasetZarr + Numpy; or - >>> Result = DatasetZarr + DatasetZarr - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - - - .. py:method:: __add__(other) - - Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - - - .. py:method:: __sub__(other) - - Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - - - .. py:method:: __mul__(other) - - Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - - - .. py:method:: __div__(other) - - Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - - - .. py:method:: __copy_attrs_from_data() - - Extends metadata to new transformed object (after operations). - - - - - -.. py:class:: DatasetHDF5(name, download = False, root = None, chunks='auto', dataset_path = None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a HDF5 dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - dataset_path : str - Relative path of the internal HDF5 dataset (the default is None). - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp=None, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) (placeholder). - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - -.. py:class:: DatasetXarray(name, download = False, root = None, chunks=None, data_var=None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a Xarray dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - data_var : Any - Key (or index) of the internal Xarray dataset (the default is None). - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: __len__() - - Return internal data length. - - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function based on internal Xarray data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetLabeled(name, download = False, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - A class representing a labeled dataset. Each item is a 2-element tuple, - where the first element is a array of data and the second element is the - respective label. The items can be accessed from `dataset[x]`. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - Attributes - ---------- - __chunks : type - Description of attribute `__chunks`. - - - .. py:method:: download() - - Download the dataset. - - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data - (train and labels). - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Tuple - A Future object that will return a tuple: (data, label). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - Returns - ------- - Tuple - A 2-element tuple: (data, label) - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function for data and labeled data together. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetDataFrame(name, download = True, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a dataframe. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. CuDF). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. pandas). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: __len__() - - Return internal data length. - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function based on internal dataframe. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetParquet(name, download = True, root = None, chunks='auto') - - - Bases: :py:obj:`DatasetDataFrame` - - Class representing an dataset wich is defined as a Parquet. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. CuDF). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. pandas). - - - - - diff --git a/docs/_sources/autoapi/dasf/datasets/blobs/index.rst.txt b/docs/_sources/autoapi/dasf/datasets/blobs/index.rst.txt deleted file mode 100644 index b6e17e2..0000000 --- a/docs/_sources/autoapi/dasf/datasets/blobs/index.rst.txt +++ /dev/null @@ -1,44 +0,0 @@ -:py:mod:`dasf.datasets.blobs` -============================= - -.. py:module:: dasf.datasets.blobs - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.datasets.blobs.make_blobs - - - - -.. py:class:: make_blobs - - Singleton class used to generate isotropic Gaussian blobs for clustering. - It automatically selects the implementation based on hardware and available - libraries and return a container suitable for it (cupy, numpy, cupy+dask or - numpy+dask). - - The class implements `__call__` being a callable object. - - .. py:method:: _lazy_make_blobs_cpu(**kwargs) - - - .. py:method:: _lazy_make_blobs_gpu(**kwargs) - - - .. py:method:: _make_blobs_cpu(**kwargs) - - - .. py:method:: _make_blobs_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/datasets/datasets/index.rst.txt b/docs/_sources/autoapi/dasf/datasets/datasets/index.rst.txt deleted file mode 100644 index 69c3d5f..0000000 --- a/docs/_sources/autoapi/dasf/datasets/datasets/index.rst.txt +++ /dev/null @@ -1,78 +0,0 @@ -:py:mod:`dasf.datasets.datasets` -================================ - -.. py:module:: dasf.datasets.datasets - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.datasets.datasets.make_blobs - dasf.datasets.datasets.make_classification - dasf.datasets.datasets.make_regression - - - - -.. py:class:: make_blobs - - - .. py:method:: _lazy_make_blobs_cpu(**kwargs) - - - .. py:method:: _lazy_make_blobs_gpu(**kwargs) - - - .. py:method:: _make_blobs_cpu(**kwargs) - - - .. py:method:: _make_blobs_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - -.. py:class:: make_classification - - - .. py:method:: _lazy_make_classification_cpu(**kwargs) - - - .. py:method:: _lazy_make_classification_gpu(**kwargs) - - - .. py:method:: _make_classification_cpu(**kwargs) - - - .. py:method:: _make_classification_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - -.. py:class:: make_regression - - - .. py:method:: _lazy_make_regression_cpu(**kwargs) - - - .. py:method:: _lazy_make_regression_gpu(**kwargs) - - - .. py:method:: _make_regression_cpu(**kwargs) - - - .. py:method:: _make_regression_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/datasets/download/index.rst.txt b/docs/_sources/autoapi/dasf/datasets/download/index.rst.txt deleted file mode 100644 index 1e3cd76..0000000 --- a/docs/_sources/autoapi/dasf/datasets/download/index.rst.txt +++ /dev/null @@ -1,74 +0,0 @@ -:py:mod:`dasf.datasets.download` -================================ - -.. py:module:: dasf.datasets.download - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.datasets.download.DownloadWget - dasf.datasets.download.DownloadGDrive - - - - -.. py:class:: DownloadWget(url, filename, root, download = True) - - - Bases: :py:obj:`dasf.datasets.base.Dataset` - - Dataset downloadable via wget. - - Parameters - ---------- - url : str - The url to fetch the resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - - .. py:method:: download() - - Download the dataset. - - - - - -.. py:class:: DownloadGDrive(google_file_id, filename, root, download = True) - - - Bases: :py:obj:`dasf.datasets.base.Dataset` - - Dataset downloadable via Google Drive. - - Parameters - ---------- - google_file_id : str - Id of the google drive resource. - filename : str - Name of the file. - root : str - Directory to store the downloaded file. - download : bool - If it the dataset must be downloaded (the default is True). - - - .. py:method:: download() - - Download the dataset. - - - - - diff --git a/docs/_sources/autoapi/dasf/datasets/index.rst.txt b/docs/_sources/autoapi/dasf/datasets/index.rst.txt deleted file mode 100644 index 3c6fc2e..0000000 --- a/docs/_sources/autoapi/dasf/datasets/index.rst.txt +++ /dev/null @@ -1,1086 +0,0 @@ -:py:mod:`dasf.datasets` -======================= - -.. py:module:: dasf.datasets - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - base/index.rst - datasets/index.rst - download/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.datasets.Dataset - dasf.datasets.DatasetArray - dasf.datasets.DatasetZarr - dasf.datasets.DatasetHDF5 - dasf.datasets.DatasetXarray - dasf.datasets.DatasetLabeled - dasf.datasets.DatasetDataFrame - dasf.datasets.DatasetParquet - dasf.datasets.make_blobs - dasf.datasets.make_classification - - - - -.. py:class:: Dataset(name, download = False, root = None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.TargeteredTransform` - - Class representing a generic dataset based on a TargeteredTransform - object. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - *args : type - Additional arguments without keys. - **kwargs : type - Additional keyworkded arguments. - - - .. py:method:: __set_dataset_cache_dir() - - Generate cached directory in $HOME to store dataset(s). - - - - - .. py:method:: download() - - Skeleton of the download method. - - - - - .. py:method:: __len__() - - Return internal data length. - - - - - .. py:method:: __getitem__(idx) - - Generic __getitem__() function based on internal data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetArray(name, download = False, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as an array of a defined - shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: __operator_check__(other) - - - .. py:method:: __repr__() - - Return a class representation based on internal array. - - - - - .. py:method:: __array__(dtype=None) - - - .. py:method:: __array_ufunc__(ufunc, method, *inputs, **kwargs) - - - .. py:method:: __check_op_input(in_data) - - Return the proper type of data for operation - - >>> Result = DatasetArray + Numpy; or - >>> Result = DatasetArray + DatasetArray - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - - - .. py:method:: __add__(other) - - Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - - - .. py:method:: __sub__(other) - - Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - - - .. py:method:: __mul__(other) - - Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - - - .. py:method:: __div__(other) - - Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - - - .. py:method:: __copy_attrs_from_data() - - Extends metadata to new transformed object (after operations). - - - - - .. py:method:: __npy_header() - - Read an array header from a filelike object. - - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - -.. py:class:: DatasetZarr(name, download = False, root = None, chunks=None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a Zarr array of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: __repr__() - - Return a class representation based on internal array. - - - - - .. py:method:: __check_op_input(in_data) - - Return the proper type of data for operation - - >>> Result = DatasetZarr + Numpy; or - >>> Result = DatasetZarr + DatasetZarr - - Parameters - ---------- - in_data : Any - Input data to be analyzed. - - Returns - ------- - data : Any - A data representing the internal array or the class itself. - - - - .. py:method:: __add__(other) - - Internal function of adding two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A sum with two arrays. - - - - .. py:method:: __sub__(other) - - Internal function of subtracting two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A subtraction of two arrays. - - - - .. py:method:: __mul__(other) - - Internal function of multiplication two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A multiplication of two arrays. - - - - .. py:method:: __div__(other) - - Internal function of division two array datasets. - - Parameters - ---------- - other : Any - A data representing an array or a DatasetArray. - - Returns - ------- - DatasetArry - A division of two arrays. - - - - .. py:method:: __copy_attrs_from_data() - - Extends metadata to new transformed object (after operations). - - - - - -.. py:class:: DatasetHDF5(name, download = False, root = None, chunks='auto', dataset_path = None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a HDF5 dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - dataset_path : str - Relative path of the internal HDF5 dataset (the default is None). - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Any - The data (or a Future load object, for `_lazy` operations). - - - - .. py:method:: _load(xp=None, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) (placeholder). - **kwargs : type - Additional `kwargs` to `xp.load` function. - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - -.. py:class:: DatasetXarray(name, download = False, root = None, chunks=None, data_var=None) - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a Xarray dataset of a - defined shape. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - data_var : Any - Key (or index) of the internal Xarray dataset (the default is None). - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: __len__() - - Return internal data length. - - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function based on internal Xarray data. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetLabeled(name, download = False, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - A class representing a labeled dataset. Each item is a 2-element tuple, - where the first element is a array of data and the second element is the - respective label. The items can be accessed from `dataset[x]`. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - Attributes - ---------- - __chunks : type - Description of attribute `__chunks`. - - - .. py:method:: download() - - Download the dataset. - - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data - (train and labels). - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load(xp, **kwargs) - - Lazy load the dataset using an CPU dask container. - - Parameters - ---------- - xp : type - Library used to load the file. It must follow numpy library. - **kwargs : type - Additional keyworkded arguments to the load. - - Returns - ------- - Tuple - A Future object that will return a tuple: (data, label). - - - - .. py:method:: _load(xp, **kwargs) - - Load data using CPU container. - - Parameters - ---------- - xp : Module - A module that load data (implement `load` function) - **kwargs : type - Additional `kwargs` to `xp.load` function. - - Returns - ------- - Tuple - A 2-element tuple: (data, label) - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. cupy). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. numpy). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function for data and labeled data together. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetDataFrame(name, download = True, root = None, chunks='auto') - - - Bases: :py:obj:`Dataset` - - Class representing an dataset wich is defined as a dataframe. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:property:: shape - :type: tuple - - Returns the shape of an array. - - Returns - ------- - tuple - A tuple with the shape. - - - - .. py:method:: _load_meta() - - Load metadata to inspect. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: inspect_metadata() - - Return a dictionary with all metadata information from data. - - Returns - ------- - dict - A dictionary with metadata information. - - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. CuDF). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. pandas). - - - - - .. py:method:: load() - - Placeholder for load function. - - - - - .. py:method:: __len__() - - Return internal data length. - - - - .. py:method:: __getitem__(idx) - - A __getitem__() function based on internal dataframe. - - Parameters - ---------- - idx : Any - Key of the fetched data. It can be an integer or a tuple. - - - - -.. py:class:: DatasetParquet(name, download = True, root = None, chunks='auto') - - - Bases: :py:obj:`DatasetDataFrame` - - Class representing an dataset wich is defined as a Parquet. - - Parameters - ---------- - name : str - Symbolic name of the dataset. - download : bool - If the dataset must be downloaded (the default is False). - root : str - Root download directory (the default is None). - chunks : Any - Number of blocks of the array (the default is "auto"). - - - .. py:method:: _lazy_load_gpu() - - Load data with GPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _lazy_load_cpu() - - Load data with CPU container + DASK. (It does not load immediattly) - - - - - .. py:method:: _load_gpu() - - Load data with GPU container (e.g. CuDF). - - - - - .. py:method:: _load_cpu() - - Load data with CPU container (e.g. pandas). - - - - - -.. py:class:: make_blobs - - - .. py:method:: _lazy_make_blobs_cpu(**kwargs) - - - .. py:method:: _lazy_make_blobs_gpu(**kwargs) - - - .. py:method:: _make_blobs_cpu(**kwargs) - - - .. py:method:: _make_blobs_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - -.. py:class:: make_classification - - - .. py:method:: _lazy_make_classification_cpu(**kwargs) - - - .. py:method:: _lazy_make_classification_gpu(**kwargs) - - - .. py:method:: _make_classification_cpu(**kwargs) - - - .. py:method:: _make_classification_gpu(**kwargs) - - - .. py:method:: __call__(**kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/debug/debug/index.rst.txt b/docs/_sources/autoapi/dasf/debug/debug/index.rst.txt deleted file mode 100644 index 0f238b5..0000000 --- a/docs/_sources/autoapi/dasf/debug/debug/index.rst.txt +++ /dev/null @@ -1,55 +0,0 @@ -:py:mod:`dasf.debug.debug` -========================== - -.. py:module:: dasf.debug.debug - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.debug.debug.Debug - dasf.debug.debug.VisualizeDaskData - - - - -.. py:class:: Debug - - - Print information about an operator (shape, datatype, etc.), and return - the self object reference. - - Parameters - ---------- - name : str - Name of the operator. - **kwargs : type - Additional keyworkded arguments to `Operator`. - - - .. py:method:: display(X) - - - -.. py:class:: VisualizeDaskData(filename = None) - - - Visualize DASK data from an operator. - - Parameters - ---------- - filename : str - A path to save the DASK visualization (the default is None). - **kwargs : type - Additional keyworkded arguments to `Operator`. - - - .. py:method:: display(X) - - - diff --git a/docs/_sources/autoapi/dasf/debug/index.rst.txt b/docs/_sources/autoapi/dasf/debug/index.rst.txt deleted file mode 100644 index c3275fc..0000000 --- a/docs/_sources/autoapi/dasf/debug/index.rst.txt +++ /dev/null @@ -1,64 +0,0 @@ -:py:mod:`dasf.debug` -==================== - -.. py:module:: dasf.debug - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - debug/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.debug.Debug - dasf.debug.VisualizeDaskData - - - - -.. py:class:: Debug - - - Print information about an operator (shape, datatype, etc.), and return - the self object reference. - - Parameters - ---------- - name : str - Name of the operator. - **kwargs : type - Additional keyworkded arguments to `Operator`. - - - .. py:method:: display(X) - - - -.. py:class:: VisualizeDaskData(filename = None) - - - Visualize DASK data from an operator. - - Parameters - ---------- - filename : str - A path to save the DASK visualization (the default is None). - **kwargs : type - Additional keyworkded arguments to `Operator`. - - - .. py:method:: display(X) - - - diff --git a/docs/_sources/autoapi/dasf/feature_extraction/histogram/index.rst.txt b/docs/_sources/autoapi/dasf/feature_extraction/histogram/index.rst.txt deleted file mode 100644 index d6a82b7..0000000 --- a/docs/_sources/autoapi/dasf/feature_extraction/histogram/index.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -:py:mod:`dasf.feature_extraction.histogram` -=========================================== - -.. py:module:: dasf.feature_extraction.histogram - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.feature_extraction.histogram.Histogram - - - - -.. py:class:: Histogram(bins = None, range = None, normed = False, weights=None, density=None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.TargeteredTransform`, :py:obj:`dasf.transforms.base.Transform` - - Operator to extract the histogram of a data. - - Parameters - ---------- - bins : Optional[int] - Number of bins (the default is None). - range : tuple - 2-element tuple with the lower and upper range of the bins. If not - provided, range is simply (X.min(), X.max()) (the default is None). - normed : bool - If the historgram must be normalized (the default is False). - weights : type - An array of weights, of the same shape as X. Each value in a only - contributes its associated weight towards the bin count - (the default is None). - density : type - If False, the result will contain the number of samples in each bin. - If True, the result is the value of the probability density function - at the bin, normalized such that the integral over the range is 1 - (the default is None). - - Attributes - ---------- - bins - range - normed - weights - density - - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: __transform_generic(X, xp) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/feature_extraction/index.rst.txt b/docs/_sources/autoapi/dasf/feature_extraction/index.rst.txt deleted file mode 100644 index 89a9d7b..0000000 --- a/docs/_sources/autoapi/dasf/feature_extraction/index.rst.txt +++ /dev/null @@ -1,188 +0,0 @@ -:py:mod:`dasf.feature_extraction` -================================= - -.. py:module:: dasf.feature_extraction - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - histogram/index.rst - transform/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.feature_extraction.ConcatenateToArray - dasf.feature_extraction.SampleDataframe - dasf.feature_extraction.GetSubeCubeArray - dasf.feature_extraction.SliceDataframe - dasf.feature_extraction.GetSubDataframe - dasf.feature_extraction.Histogram - - - - -.. py:class:: ConcatenateToArray(flatten = False) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Concatenate data from different Arrays into a single array. - - Parameters - ---------- - flatten : bool - If the arrays must be flatten prior concatenating. If `False`, the - arrays must share the shape of last dimansions in order to be - concatenated (the default is False). - - - .. py:method:: __transform_generic(xp, **kwargs) - - - .. py:method:: _transform_cpu(**kwargs) - - - .. py:method:: _transform_gpu(**kwargs) - - - -.. py:class:: SampleDataframe(percent) - - - Return a subset with random samples of the original dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataset. - - - .. py:method:: run(X) - - Returns a subset with random samples from the dataset `X`. - - Parameters - ---------- - X : Any - The dataset. - - Returns - ------- - Any - The sampled subset. - - - - -.. py:class:: GetSubeCubeArray(percent) - - - Get a subcube with x% of samples from the original one. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the cube. - - - .. py:method:: transform(X) - - - -.. py:class:: SliceDataframe(iline_index) - - - Bases: :py:obj:`dasf.transforms.base.Fit` - - Get a slice of a cube. An inline slice is a section over the x-axis. - - Parameters - ---------- - iline_index : int - The index of the inline to get. - - - .. py:method:: fit(X, y) - - - -.. py:class:: GetSubDataframe(percent) - - - Get the first x% samples from the dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataframe. - - - .. py:method:: transform(X) - - - -.. py:class:: Histogram(bins = None, range = None, normed = False, weights=None, density=None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.TargeteredTransform`, :py:obj:`dasf.transforms.base.Transform` - - Operator to extract the histogram of a data. - - Parameters - ---------- - bins : Optional[int] - Number of bins (the default is None). - range : tuple - 2-element tuple with the lower and upper range of the bins. If not - provided, range is simply (X.min(), X.max()) (the default is None). - normed : bool - If the historgram must be normalized (the default is False). - weights : type - An array of weights, of the same shape as X. Each value in a only - contributes its associated weight towards the bin count - (the default is None). - density : type - If False, the result will contain the number of samples in each bin. - If True, the result is the value of the probability density function - at the bin, normalized such that the integral over the range is 1 - (the default is None). - - Attributes - ---------- - bins - range - normed - weights - density - - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: __transform_generic(X, xp) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/feature_extraction/transform/index.rst.txt b/docs/_sources/autoapi/dasf/feature_extraction/transform/index.rst.txt deleted file mode 100644 index 23f185b..0000000 --- a/docs/_sources/autoapi/dasf/feature_extraction/transform/index.rst.txt +++ /dev/null @@ -1,123 +0,0 @@ -:py:mod:`dasf.feature_extraction.transform` -=========================================== - -.. py:module:: dasf.feature_extraction.transform - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.feature_extraction.transform.ConcatenateToArray - dasf.feature_extraction.transform.SampleDataframe - dasf.feature_extraction.transform.GetSubeCubeArray - dasf.feature_extraction.transform.SliceDataframe - dasf.feature_extraction.transform.GetSubDataframe - - - - -.. py:class:: ConcatenateToArray(flatten = False) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Concatenate data from different Arrays into a single array. - - Parameters - ---------- - flatten : bool - If the arrays must be flatten prior concatenating. If `False`, the - arrays must share the shape of last dimansions in order to be - concatenated (the default is False). - - - .. py:method:: __transform_generic(xp, **kwargs) - - - .. py:method:: _transform_cpu(**kwargs) - - - .. py:method:: _transform_gpu(**kwargs) - - - -.. py:class:: SampleDataframe(percent) - - - Return a subset with random samples of the original dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataset. - - - .. py:method:: run(X) - - Returns a subset with random samples from the dataset `X`. - - Parameters - ---------- - X : Any - The dataset. - - Returns - ------- - Any - The sampled subset. - - - - -.. py:class:: GetSubeCubeArray(percent) - - - Get a subcube with x% of samples from the original one. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the cube. - - - .. py:method:: transform(X) - - - -.. py:class:: SliceDataframe(iline_index) - - - Bases: :py:obj:`dasf.transforms.base.Fit` - - Get a slice of a cube. An inline slice is a section over the x-axis. - - Parameters - ---------- - iline_index : int - The index of the inline to get. - - - .. py:method:: fit(X, y) - - - -.. py:class:: GetSubDataframe(percent) - - - Get the first x% samples from the dataset. - - Parameters - ---------- - percent : float - Percentage of the samples to get from the dataframe. - - - .. py:method:: transform(X) - - - diff --git a/docs/_sources/autoapi/dasf/index.rst.txt b/docs/_sources/autoapi/dasf/index.rst.txt deleted file mode 100644 index 2c47f49..0000000 --- a/docs/_sources/autoapi/dasf/index.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -:py:mod:`dasf` -============== - -.. py:module:: dasf - - -Subpackages ------------ -.. toctree:: - :titlesonly: - :maxdepth: 3 - - datasets/index.rst - debug/index.rst - feature_extraction/index.rst - ml/index.rst - pipeline/index.rst - profile/index.rst - transforms/index.rst - utils/index.rst - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/agglomerative/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/agglomerative/index.rst.txt deleted file mode 100644 index 4cb4ec7..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/agglomerative/index.rst.txt +++ /dev/null @@ -1,136 +0,0 @@ -:py:mod:`dasf.ml.cluster.agglomerative` -======================================= - -.. py:module:: dasf.ml.cluster.agglomerative - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.agglomerative.AgglomerativeClustering - - - - -.. py:class:: AgglomerativeClustering(n_clusters=2, affinity='euclidean', connectivity=None, linkage='single', memory=None, compute_full_tree='auto', distance_threshold=None, compute_distances=False, handle=None, verbose=False, n_neighbors=10, output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Agglomerative Clustering - - Recursively merges the pair of clusters that minimally increases - a given linkage distance. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int or None, default=2 - The number of clusters to find. It must be ``None`` if - ``distance_threshold`` is not ``None``. - - affinity : str or callable, default='euclidean' - Metric used to compute the linkage. Can be "euclidean", "l1", "l2", - "manhattan", "cosine", or "precomputed". - If linkage is "ward", only "euclidean" is accepted. - If "precomputed", a distance matrix (instead of a similarity matrix) - is needed as input for the fit method. - - memory : str or object with the joblib.Memory interface, default=None - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - connectivity : array-like or callable, default=None - Connectivity matrix. Defines for each sample the neighboring - samples following a given structure of the data. - This can be a connectivity matrix itself or a callable that transforms - the data into a connectivity matrix, such as derived from - kneighbors_graph. Default is ``None``, i.e, the - hierarchical clustering algorithm is unstructured. - - compute_full_tree : 'auto' or bool, default='auto' - Stop early the construction of the tree at ``n_clusters``. This is - useful to decrease computation time if the number of clusters is not - small compared to the number of samples. This option is useful only - when specifying a connectivity matrix. Note also that when varying the - number of clusters and using caching, it may be advantageous to compute - the full tree. It must be ``True`` if ``distance_threshold`` is not - ``None``. By default `compute_full_tree` is "auto", which is equivalent - to `True` when `distance_threshold` is not `None` or that `n_clusters` - is inferior to the maximum between 100 or `0.02 * n_samples`. - Otherwise, "auto" is equivalent to `False`. - - linkage : {'ward', 'complete', 'average', 'single'}, default='ward' - Which linkage criterion to use. The linkage criterion determines which - distance to use between sets of observation. The algorithm will merge - the pairs of cluster that minimize this criterion. - - - 'ward' minimizes the variance of the clusters being merged. - - 'average' uses the average of the distances of each observation of - the two sets. - - 'complete' or 'maximum' linkage uses the maximum distances between - all observations of the two sets. - - 'single' uses the minimum of the distances between all observations - of the two sets. - - .. versionadded:: 0.20 - Added the 'single' option - - distance_threshold : float, default=None - The linkage distance threshold above which, clusters will not be - merged. If not ``None``, ``n_clusters`` must be ``None`` and - ``compute_full_tree`` must be ``True``. - - .. versionadded:: 0.21 - - compute_distances : bool, default=False - Computes distances between clusters even if `distance_threshold` is not - used. This can be used to make dendrogram visualization, but introduces - a computational and memory overhead. - - .. versionadded:: 0.24 - - n_neighbors : int, default = 15 - The number of neighbors to compute when connectivity = "knn" - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import AgglomerativeClustering - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [4, 2], [4, 4], [4, 0]]) - >>> clustering = AgglomerativeClustering().fit(X) - >>> clustering - AgglomerativeClustering() - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html - - https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering - - - .. py:method:: _fit_cpu(X, y=None, convert_dtype=True) - - - .. py:method:: _fit_gpu(X, y=None, convert_dtype=True) - - - .. py:method:: _fit_predict_cpu(X, y=None) - - - .. py:method:: _fit_predict_gpu(X, y=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/classifier/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/classifier/index.rst.txt deleted file mode 100644 index 77e28e0..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/classifier/index.rst.txt +++ /dev/null @@ -1,25 +0,0 @@ -:py:mod:`dasf.ml.cluster.classifier` -==================================== - -.. py:module:: dasf.ml.cluster.classifier - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.classifier.ClusterClassifier - - - - -.. py:class:: ClusterClassifier(**kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitPredict`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.Predict`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams`, :py:obj:`dasf.transforms.base.TargeteredTransform` - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/dbscan/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/dbscan/index.rst.txt deleted file mode 100644 index 569a34b..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/dbscan/index.rst.txt +++ /dev/null @@ -1,147 +0,0 @@ -:py:mod:`dasf.ml.cluster.dbscan` -================================ - -.. py:module:: dasf.ml.cluster.dbscan - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.dbscan.DBSCAN - - - - -.. py:class:: DBSCAN(eps=0.5, leaf_size=40, metric='euclidean', min_samples=5, p=None, output_type=None, calc_core_sample_indices=True, verbose=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Perform DBSCAN clustering from vector array or distance matrix. - - DBSCAN - Density-Based Spatial Clustering of Applications with Noise. - Finds core samples of high density and expands clusters from them. - Good for data which contains clusters of similar density. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - eps : float, default=0.5 - The maximum distance between two samples for one to be considered - as in the neighborhood of the other. This is not a maximum bound - on the distances of points within a cluster. This is the most - important DBSCAN parameter to choose appropriately for your data set - and distance function. - - min_samples : int, default=5 - The number of samples (or total weight) in a neighborhood for a point - to be considered as a core point. This includes the point itself. - - metric : string, or callable, default='euclidean' - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by :func:`sklearn.metrics.pairwise_distances` for - its metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. X may be a :term:`Glossary `, in which - case only "nonzero" elements may be considered neighbors for DBSCAN. - - .. versionadded:: 0.17 - metric *precomputed* to accept precomputed sparse matrix. - - metric_params : dict, default=None - Additional keyword arguments for the metric function. - - .. versionadded:: 0.19 - - algorithm : {'auto', 'ball_tree', 'kd_tree', 'brute'}, default='auto' - The algorithm to be used by the NearestNeighbors module - to compute pointwise distances and find nearest neighbors. - See NearestNeighbors module documentation for details. - - leaf_size : int, default=30 - Leaf size passed to BallTree or cKDTree. This can affect the speed - of the construction and query, as well as the memory required - to store the tree. The optimal value depends - on the nature of the problem. - - p : float, default=None - The power of the Minkowski metric to be used to calculate distance - between points. If None, then ``p=2`` (equivalent to the Euclidean - distance). - - n_jobs : int, default=None - The number of parallel jobs to run. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - calc_core_sample_indices(optional) : boolean, default = True - Indicates whether the indices of the core samples should be calculated. - The the attribute `core_sample_indices_` will not be used, setting this - to False will avoid unnecessary kernel launches. - - - Examples - -------- - >>> from dasf.ml.cluster import DBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = DBSCAN(eps=3, min_samples=2).fit(X) - >>> clustering - DBSCAN(eps=3, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - See Also - -------- - OPTICS : A similar clustering at multiple values of eps. Our implementation - is optimized for memory usage. - - References - ---------- - Ester, M., H. P. Kriegel, J. Sander, and X. Xu, "A Density-Based - Algorithm for Discovering Clusters in Large Spatial Databases with Noise". - In: Proceedings of the 2nd International Conference on Knowledge Discovery - and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996 - - Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). - DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. - ACM Transactions on Database Systems (TODS), 42(3), 19. - - - .. py:method:: _lazy_fit_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_gpu(X, y=None, out_dtype='int32') - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/hdbscan/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/hdbscan/index.rst.txt deleted file mode 100644 index 6f6a5da..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/hdbscan/index.rst.txt +++ /dev/null @@ -1,203 +0,0 @@ -:py:mod:`dasf.ml.cluster.hdbscan` -================================= - -.. py:module:: dasf.ml.cluster.hdbscan - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.hdbscan.HDBSCAN - - - - -.. py:class:: HDBSCAN(alpha=1.0, gen_min_span_tree=False, leaf_size=40, metric='euclidean', min_cluster_size=5, min_samples=None, p=None, algorithm='best', approx_min_span_tree=True, core_dist_n_jobs=4, cluster_selection_method='eom', allow_single_cluster=False, prediction_data=False, match_reference_implementation=False, connectivity='knn', output_type=None, verbose=0, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Perform HDBSCAN clustering from vector array or distance matrix. - - HDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications - with Noise. Performs DBSCAN over varying epsilon values and integrates - the result to find a clustering that gives the best stability over epsilon. - This allows HDBSCAN to find clusters of varying densities (unlike DBSCAN), - and be more robust to parameter selection. - - Parameters - ---------- - min_cluster_size : int, optional (default=5) - The minimum size of clusters; single linkage splits that contain - fewer points than this will be considered points "falling out" of a - cluster rather than a cluster splitting into two new clusters. - - min_samples : int, optional (default=None) - The number of samples in a neighbourhood for a point to be - considered a core point. - - metric : string, or callable, optional (default='euclidean') - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by metrics.pairwise.pairwise_distances for its - metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. - - p : int, optional (default=None) - p value to use if using the minkowski metric. - - alpha : float, optional (default=1.0) - A distance scaling parameter as used in robust single linkage. - See [3]_ for more information. - - cluster_selection_epsilon: float, optional (default=0.0) - A distance threshold. Clusters below this value will be merged. - See [5]_ for more information. - - algorithm : string, optional (default='best') - Exactly which algorithm to use; hdbscan has variants specialised - for different characteristics of the data. By default this is set - to ``best`` which chooses the "best" algorithm given the nature of - the data. You can force other options if you believe you know - better. Options are: - * ``best`` - * ``generic`` - * ``prims_kdtree`` - * ``prims_balltree`` - * ``boruvka_kdtree`` - * ``boruvka_balltree`` - - leaf_size: int, optional (default=40) - If using a space tree algorithm (kdtree, or balltree) the number - of points ina leaf node of the tree. This does not alter the - resulting clustering, but may have an effect on the runtime - of the algorithm. - - memory : Instance of joblib.Memory or string (optional) - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - approx_min_span_tree : bool, optional (default=True) - Whether to accept an only approximate minimum spanning tree. - For some algorithms this can provide a significant speedup, but - the resulting clustering may be of marginally lower quality. - If you are willing to sacrifice speed for correctness you may want - to explore this; in general this should be left at the default True. - - gen_min_span_tree: bool, optional (default=False) - Whether to generate the minimum spanning tree with regard - to mutual reachability distance for later analysis. - - core_dist_n_jobs : int, optional (default=4) - Number of parallel jobs to run in core distance computations (if - supported by the specific algorithm). For ``core_dist_n_jobs`` - below -1, (n_cpus + 1 + core_dist_n_jobs) are used. - - cluster_selection_method : string, optional (default='eom') - The method used to select clusters from the condensed tree. The - standard approach for HDBSCAN* is to use an Excess of Mass algorithm - to find the most persistent clusters. Alternatively you can instead - select the clusters at the leaves of the tree -- this provides the - most fine grained and homogeneous clusters. Options are: - * ``eom`` - * ``leaf`` - - allow_single_cluster : bool, optional (default=False) - By default HDBSCAN* will not produce a single cluster, setting this - to True will override this and allow single cluster results in - the case that you feel this is a valid result for your dataset. - - prediction_data : boolean, optional - Whether to generate extra cached data for predicting labels or - membership vectors few new unseen points later. If you wish to - persist the clustering object for later re-use you probably want - to set this to True. - (default False) - - match_reference_implementation : bool, optional (default=False) - There exist some interpretational differences between this - HDBSCAN* implementation and the original authors reference - implementation in Java. This can result in very minor differences - in clustering results. Setting this flag to True will, at a some - performance cost, ensure that the clustering results match the - reference implementation. - - connectivity : {'pairwise', 'knn'}, default='knn' - The type of connectivity matrix to compute. - * 'pairwise' will compute the entire fully-connected graph of - pairwise distances between each set of points. This is the fastest - to compute and can be very fast for smaller datasets but requires - O(n^2) space. - - * 'knn' will sparsify the fully-connected connectivity matrix to - save memory and enable much larger inputs. "n_neighbors” will - control the amount of memory used and the graph will be connected - automatically in the event "n_neighbors” was not large enough to - connect it. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import HDBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = HDBSCAN(min_cluster_size=30, min_samples=2).fit(X) - >>> clustering - HDBSCAN(min_cluster_size=30, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - References - ---------- - - .. [1] Campello, R. J., Moulavi, D., & Sander, J. (2013, April). - Density-based clustering based on hierarchical density estimates. - In Pacific-Asia Conference on Knowledge Discovery and Data Mining - (pp. 160-172). Springer Berlin Heidelberg. - - .. [2] Campello, R. J., Moulavi, D., Zimek, A., & Sander, J. (2015). - Hierarchical density estimates for data clustering, visualization, - and outlier detection. ACM Transactions on Knowledge Discovery - from Data (TKDD), 10(1), 5. - - .. [3] Chaudhuri, K., & Dasgupta, S. (2010). Rates of convergence for the - cluster tree. In Advances in Neural Information Processing Systems - (pp. 343-351). - - .. [4] Moulavi, D., Jaskowiak, P.A., Campello, R.J., Zimek, A. and - Sander, J., 2014. Density-Based Clustering Validation. In SDM - (pp. 839-847). - - .. [5] Malzer, C., & Baum, M. (2019). A Hybrid Approach To Hierarchical - Density-based Cluster Selection. arxiv preprint 1911.02282. - - - .. py:method:: _fit_cpu(X, y=None) - - - .. py:method:: _fit_gpu(X, y=None, convert_dtype=True) - - - .. py:method:: _fit_predict_cpu(X, y=None) - - - .. py:method:: _fit_predict_gpu(X, y=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/index.rst.txt deleted file mode 100644 index 52feec9..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/index.rst.txt +++ /dev/null @@ -1,1128 +0,0 @@ -:py:mod:`dasf.ml.cluster` -========================= - -.. py:module:: dasf.ml.cluster - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - agglomerative/index.rst - classifier/index.rst - dbscan/index.rst - hdbscan/index.rst - kmeans/index.rst - som/index.rst - spectral/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.AgglomerativeClustering - dasf.ml.cluster.KMeans - dasf.ml.cluster.DBSCAN - dasf.ml.cluster.SOM - dasf.ml.cluster.SpectralClustering - - - - -.. py:class:: AgglomerativeClustering(n_clusters=2, affinity='euclidean', connectivity=None, linkage='single', memory=None, compute_full_tree='auto', distance_threshold=None, compute_distances=False, handle=None, verbose=False, n_neighbors=10, output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Agglomerative Clustering - - Recursively merges the pair of clusters that minimally increases - a given linkage distance. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int or None, default=2 - The number of clusters to find. It must be ``None`` if - ``distance_threshold`` is not ``None``. - - affinity : str or callable, default='euclidean' - Metric used to compute the linkage. Can be "euclidean", "l1", "l2", - "manhattan", "cosine", or "precomputed". - If linkage is "ward", only "euclidean" is accepted. - If "precomputed", a distance matrix (instead of a similarity matrix) - is needed as input for the fit method. - - memory : str or object with the joblib.Memory interface, default=None - Used to cache the output of the computation of the tree. - By default, no caching is done. If a string is given, it is the - path to the caching directory. - - connectivity : array-like or callable, default=None - Connectivity matrix. Defines for each sample the neighboring - samples following a given structure of the data. - This can be a connectivity matrix itself or a callable that transforms - the data into a connectivity matrix, such as derived from - kneighbors_graph. Default is ``None``, i.e, the - hierarchical clustering algorithm is unstructured. - - compute_full_tree : 'auto' or bool, default='auto' - Stop early the construction of the tree at ``n_clusters``. This is - useful to decrease computation time if the number of clusters is not - small compared to the number of samples. This option is useful only - when specifying a connectivity matrix. Note also that when varying the - number of clusters and using caching, it may be advantageous to compute - the full tree. It must be ``True`` if ``distance_threshold`` is not - ``None``. By default `compute_full_tree` is "auto", which is equivalent - to `True` when `distance_threshold` is not `None` or that `n_clusters` - is inferior to the maximum between 100 or `0.02 * n_samples`. - Otherwise, "auto" is equivalent to `False`. - - linkage : {'ward', 'complete', 'average', 'single'}, default='ward' - Which linkage criterion to use. The linkage criterion determines which - distance to use between sets of observation. The algorithm will merge - the pairs of cluster that minimize this criterion. - - - 'ward' minimizes the variance of the clusters being merged. - - 'average' uses the average of the distances of each observation of - the two sets. - - 'complete' or 'maximum' linkage uses the maximum distances between - all observations of the two sets. - - 'single' uses the minimum of the distances between all observations - of the two sets. - - .. versionadded:: 0.20 - Added the 'single' option - - distance_threshold : float, default=None - The linkage distance threshold above which, clusters will not be - merged. If not ``None``, ``n_clusters`` must be ``None`` and - ``compute_full_tree`` must be ``True``. - - .. versionadded:: 0.21 - - compute_distances : bool, default=False - Computes distances between clusters even if `distance_threshold` is not - used. This can be used to make dendrogram visualization, but introduces - a computational and memory overhead. - - .. versionadded:: 0.24 - - n_neighbors : int, default = 15 - The number of neighbors to compute when connectivity = "knn" - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - Examples - -------- - >>> from dasf.ml.cluster import AgglomerativeClustering - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [4, 2], [4, 4], [4, 0]]) - >>> clustering = AgglomerativeClustering().fit(X) - >>> clustering - AgglomerativeClustering() - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html - - https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering - - - .. py:method:: _fit_cpu(X, y=None, convert_dtype=True) - - - .. py:method:: _fit_gpu(X, y=None, convert_dtype=True) - - - .. py:method:: _fit_predict_cpu(X, y=None) - - - .. py:method:: _fit_predict_gpu(X, y=None) - - - -.. py:class:: KMeans(n_clusters=8, init=None, n_init=None, max_iter=300, tol=0.0001, verbose=0, random_state=None, copy_x=True, algorithm='full', oversampling_factor=2.0, n_jobs=1, init_max_iter=None, max_samples_per_batch=32768, precompute_distances='auto', output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - K-Means clustering. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - - n_clusters : int, default=8 - The number of clusters to form as well as the number of - centroids to generate. - - init : {'k-means++', 'random'}, callable or array-like of shape (n_clusters, n_features), default='k-means++' - - Method for initialization: - - 'k-means++' : selects initial cluster centers for k-mean - clustering in a smart way to speed up convergence. See section - Notes in k_init for more details. - - 'random': choose `n_clusters` observations (rows) at random from data - for the initial centroids. - - If an array is passed, it should be of shape (n_clusters, n_features) - and gives the initial centers. - - If a callable is passed, it should take arguments X, n_clusters and a - random state and return an initialization. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of - n_init consecutive runs in terms of inertia. - - max_iter : int, default=300 - Maximum number of iterations of the k-means algorithm for a - single run. - - tol : float, default=1e-4 - Relative tolerance with regards to Frobenius norm of the difference - in the cluster centers of two consecutive iterations to declare - convergence. - - precompute_distances : {'auto', True, False}, default='auto' - Precompute distances (faster but takes more memory). - - 'auto' : do not precompute distances if n_samples * n_clusters > 12 - million. This corresponds to about 100MB overhead per job using - double precision. IMPORTANT: This is used only in Dask ML version. - - True : always precompute distances. - - False : never precompute distances. - - verbose : int, default=0 - Verbosity mode. - - random_state : int, RandomState instance or None, default=None - Determines random number generation for centroid initialization. Use - an int to make the randomness deterministic. - See :term:`Glossary `. - - copy_x : bool, default=True - When pre-computing distances it is more numerically accurate to center - the data first. If copy_x is True (default), then the original data is - not modified. If False, the original data is modified, and put back - before the function returns, but small numerical differences may be - introduced by subtracting and then adding the data mean. Note that if - the original data is not C-contiguous, a copy will be made even if - copy_x is False. If the original data is sparse, but not in CSR format, - a copy will be made even if copy_x is False. - - n_jobs : int, default=1 - The number of OpenMP threads to use for the computation. Parallelism is - sample-wise on the main cython loop which assigns each sample to its - closest center. IMPORTANT: This is used only in Dask ML version. - - ``None`` or ``-1`` means using all processors. - - init_max_iter : int, default=None - Number of iterations for init step. - - algorithm : {"auto", "full", "elkan"}, default="full" - K-means algorithm to use. The classical EM-style algorithm is "full". - The "elkan" variation is more efficient on data with well-defined - clusters, by using the triangle inequality. However it's more memory - intensive due to the allocation of an extra array of shape - (n_samples, n_clusters). - - For now "auto" (kept for backward compatibiliy) chooses "elkan" but it - might change in the future for a better heuristic. - - .. versionchanged:: 0.18 - Added Elkan algorithm - - oversampling_factor : int, default=2 - The amount of points to sample in scalable k-means++ initialization - for potential centroids. Increasing this value can lead to better - initial centroids at the cost of memory. The total number of centroids - sampled in scalable k-means++ is oversampling_factor * n_clusters * 8. - - max_samples_per_batch : int, default=32768 - The number of data samples to use for batches of the pairwise distance - computation. This computation is done throughout both fit predict. The - default should suit most cases. The total number of elements in the - batched pairwise distance computation is max_samples_per_batch * - n_clusters. It might become necessary to lower this number when - n_clusters becomes prohibitively large. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - See Also - -------- - MiniBatchKMeans : Alternative online implementation that does incremental - updates of the centers positions using mini-batches. - For large scale learning (say n_samples > 10k) MiniBatchKMeans is - probably much faster than the default batch implementation. - - Notes - ----- - The k-means problem is solved using either Lloyd's or Elkan's algorithm. - - The average complexity is given by O(k n T), where n is the number of - samples and T is the number of iteration. - - The worst case complexity is given by O(n^(k+2/p)) with - n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, - 'How slow is the k-means method?' SoCG2006) - - In practice, the k-means algorithm is very fast (one of the fastest - clustering algorithms available), but it falls in local minima. That's why - it can be useful to restart it several times. - - If the algorithm stops before fully converging (because of ``tol`` or - ``max_iter``), ``labels_`` and ``cluster_centers_`` will not be consistent, - i.e. the ``cluster_centers_`` will not be the means of the points in each - cluster. Also, the estimator will reassign ``labels_`` after the last - iteration to make ``labels_`` consistent with ``predict`` on the training - set. - - Examples - -------- - - >>> from dasf.ml.cluster import KMeans - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [10, 2], [10, 4], [10, 0]]) - >>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X) - >>> kmeans.predict([[0, 0], [12, 3]]) - array([1, 0], dtype=int32) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html - - https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html - - https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering - - https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans - - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None) - - Compute Dask k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None) - - Compute Dask CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - Compute Scikit Learn k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None) - - Compute CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Dask ML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Dask CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Scikit Learn. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _fit_predict_gpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Dask ML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Dask - CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict_cpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Scikit - Learn. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict_gpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict2_cpu(X, sample_weight=None) - - A block predict using Scikit Learn variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict2_gpu(X, sample_weight=None) - - A block predict using CuML variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict2_cpu(X, sample_weight=None) - :abstractmethod: - - - .. py:method:: _predict2_gpu(X, sample_weight=None) - :abstractmethod: - - - .. py:method:: predict2(sample_weight=None) - - - -.. py:class:: DBSCAN(eps=0.5, leaf_size=40, metric='euclidean', min_samples=5, p=None, output_type=None, calc_core_sample_indices=True, verbose=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Perform DBSCAN clustering from vector array or distance matrix. - - DBSCAN - Density-Based Spatial Clustering of Applications with Noise. - Finds core samples of high density and expands clusters from them. - Good for data which contains clusters of similar density. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - eps : float, default=0.5 - The maximum distance between two samples for one to be considered - as in the neighborhood of the other. This is not a maximum bound - on the distances of points within a cluster. This is the most - important DBSCAN parameter to choose appropriately for your data set - and distance function. - - min_samples : int, default=5 - The number of samples (or total weight) in a neighborhood for a point - to be considered as a core point. This includes the point itself. - - metric : string, or callable, default='euclidean' - The metric to use when calculating distance between instances in a - feature array. If metric is a string or callable, it must be one of - the options allowed by :func:`sklearn.metrics.pairwise_distances` for - its metric parameter. - If metric is "precomputed", X is assumed to be a distance matrix and - must be square. X may be a :term:`Glossary `, in which - case only "nonzero" elements may be considered neighbors for DBSCAN. - - .. versionadded:: 0.17 - metric *precomputed* to accept precomputed sparse matrix. - - metric_params : dict, default=None - Additional keyword arguments for the metric function. - - .. versionadded:: 0.19 - - algorithm : {'auto', 'ball_tree', 'kd_tree', 'brute'}, default='auto' - The algorithm to be used by the NearestNeighbors module - to compute pointwise distances and find nearest neighbors. - See NearestNeighbors module documentation for details. - - leaf_size : int, default=30 - Leaf size passed to BallTree or cKDTree. This can affect the speed - of the construction and query, as well as the memory required - to store the tree. The optimal value depends - on the nature of the problem. - - p : float, default=None - The power of the Minkowski metric to be used to calculate distance - between points. If None, then ``p=2`` (equivalent to the Euclidean - distance). - - n_jobs : int, default=None - The number of parallel jobs to run. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - calc_core_sample_indices(optional) : boolean, default = True - Indicates whether the indices of the core samples should be calculated. - The the attribute `core_sample_indices_` will not be used, setting this - to False will avoid unnecessary kernel launches. - - - Examples - -------- - >>> from dasf.ml.cluster import DBSCAN - >>> import numpy as np - >>> X = np.array([[1, 2], [2, 2], [2, 3], - ... [8, 7], [8, 8], [25, 80]]) - >>> clustering = DBSCAN(eps=3, min_samples=2).fit(X) - >>> clustering - DBSCAN(eps=3, min_samples=2) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan - - https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering - - See Also - -------- - OPTICS : A similar clustering at multiple values of eps. Our implementation - is optimized for memory usage. - - References - ---------- - Ester, M., H. P. Kriegel, J. Sander, and X. Xu, "A Density-Based - Algorithm for Discovering Clusters in Large Spatial Databases with Noise". - In: Proceedings of the 2nd International Conference on Knowledge Discovery - and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996 - - Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). - DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. - ACM Transactions on Database Systems (TODS), 42(3), 19. - - - .. py:method:: _lazy_fit_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, out_dtype='int32') - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_gpu(X, y=None, out_dtype='int32') - - - -.. py:class:: SOM(x, y, input_len, num_epochs=100, sigma=0, sigmaN=1, learning_rate=0.5, learning_rateN=0.01, decay_function='exponential', neighborhood_function='gaussian', std_coeff=0.5, topology='rectangular', activation_distance='euclidean', random_seed=None, n_parallel=0, compact_support=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Initializes a Self Organizing Maps. - - A rule of thumb to set the size of the grid for a dimensionality - reduction task is that it should contain 5*sqrt(N) neurons - where N is the number of samples in the dataset to analyze. - - E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 - hence a map 8-by-8 should perform well. - - Parameters - ---------- - x : int - x dimension of the SOM. - - y : int - y dimension of the SOM. - - input_len : int - Number of the elements of the vectors in input. - - sigma : float, default=min(x,y)/2 - Spread of the neighborhood function, needs to be adequate - to the dimensions of the map. - - sigmaN : float, default=0.01 - Spread of the neighborhood function at last iteration. - - learning_rate : float, default=0.5 - initial learning rate. - - learning_rateN : float, default=0.01 - final learning rate - - decay_function : string, default='exponential' - Function that reduces learning_rate and sigma at each iteration. - Possible values: 'exponential', 'linear', 'aymptotic' - - neighborhood_function : string, default='gaussian' - Function that weights the neighborhood of a position in the map. - Possible values: 'gaussian', 'mexican_hat', 'bubble', 'triangle' - - topology : string, default='rectangular' - Topology of the map. - Possible values: 'rectangular', 'hexagonal' - - activation_distance : string, default='euclidean' - Distance used to activate the map. - Possible values: 'euclidean', 'cosine', 'manhattan' - - random_seed : int, default=None - Random seed to use. - - n_parallel : uint, default=#max_CUDA_threads or 500*#CPUcores - Number of samples to be processed at a time. Setting a too low - value may drastically lower performance due to under-utilization, - setting a too high value increases memory usage without granting - any significant performance benefit. - - xp : numpy or cupy, default=cupy if can be imported else numpy - Use numpy (CPU) or cupy (GPU) for computations. - - std_coeff: float, default=0.5 - Used to calculate gausssian exponent denominator: - d = 2*std_coeff**2*sigma**2 - - compact_support: bool, default=False - Cut the neighbor function to 0 beyond neighbor radius sigma - - Examples - -------- - >>> from dasf.ml.cluster import SOM - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> som = SOM(x=3, y=2, input_len=2, - ... num_epochs=100).fit(X) - >>> som - SOM(x=3, y=2, input_len=2, num_epochs=100) - - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None) - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None) - - - .. py:method:: _predict_cpu(X, sample_weight=None) - - - .. py:method:: _predict_gpu(X, sample_weight=None) - - - .. py:method:: _lazy_quantization_error_cpu(X) - - - .. py:method:: _lazy_quantization_error_gpu(X) - - - .. py:method:: _quantization_error_cpu(X) - - - .. py:method:: _quantization_error_gpu(X) - - - .. py:method:: quantization_error(X) - - - -.. py:class:: SpectralClustering(n_clusters=8, eigen_solver=None, random_state=None, n_init=10, gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=None, n_components=None, persist_embedding=False, kmeans_params=None, verbose=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Apply clustering to a projection of the normalized Laplacian. - - In practice Spectral Clustering is very useful when the structure of - the individual clusters is highly non-convex, or more generally when - a measure of the center and spread of the cluster is not a suitable - description of the complete cluster, such as when clusters are - nested circles on the 2D plane. - - If the affinity matrix is the adjacency matrix of a graph, this method - can be used to find normalized graph cuts. - - When calling ``fit``, an affinity matrix is constructed using either - a kernel function such the Gaussian (aka RBF) kernel with Euclidean - distance ``d(X, X)``:: - - np.exp(-gamma * d(X,X) ** 2) - - or a k-nearest neighbors connectivity matrix. - - Alternatively, a user-provided affinity matrix can be specified by - setting ``affinity='precomputed'``. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int, default=8 - The dimension of the projection subspace. - - eigen_solver : {'arpack', 'lobpcg', 'amg'}, default=None - The eigenvalue decomposition strategy to use. AMG requires pyamg - to be installed. It can be faster on very large, sparse problems, - but may also lead to instabilities. If None, then ``'arpack'`` is - used. - - n_components : int, default=n_clusters - Number of eigenvectors to use for the spectral embedding - - random_state : int, RandomState instance, default=None - A pseudo random number generator used for the initialization of the - lobpcg eigenvectors decomposition when ``eigen_solver='amg'`` and by - the K-Means initialization. Use an int to make the randomness - deterministic. - See :term:`Glossary `. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of n_init - consecutive runs in terms of inertia. Only used if - ``assign_labels='kmeans'``. - - gamma : float, default=1.0 - Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. - Ignored for ``affinity='nearest_neighbors'``. - - affinity : str or callable, default='rbf' - How to construct the affinity matrix. - - 'nearest_neighbors': construct the affinity matrix by computing a - graph of nearest neighbors. - - 'rbf': construct the affinity matrix using a radial basis function - (RBF) kernel. - - 'precomputed': interpret ``X`` as a precomputed affinity matrix, - where larger values indicate greater similarity between instances. - - 'precomputed_nearest_neighbors': interpret ``X`` as a sparse graph - of precomputed distances, and construct a binary affinity matrix - from the ``n_neighbors`` nearest neighbors of each instance. - - one of the kernels supported by - :func:`~sklearn.metrics.pairwise_kernels`. - - Only kernels that produce similarity scores (non-negative values that - increase with similarity) should be used. This property is not checked - by the clustering algorithm. - - n_neighbors : int, default=10 - Number of neighbors to use when constructing the affinity matrix using - the nearest neighbors method. Ignored for ``affinity='rbf'``. - - eigen_tol : float, default=0.0 - Stopping criterion for eigendecomposition of the Laplacian matrix - when ``eigen_solver='arpack'``. - - assign_labels : {'kmeans', 'discretize'}, default='kmeans' - The strategy for assigning labels in the embedding space. There are two - ways to assign labels after the Laplacian embedding. k-means is a - popular choice, but it can be sensitive to initialization. - Discretization is another approach which is less sensitive to random - initialization. - - degree : float, default=3 - Degree of the polynomial kernel. Ignored by other kernels. - - coef0 : float, default=1 - Zero coefficient for polynomial and sigmoid kernels. - Ignored by other kernels. - - kernel_params : dict of str to any, default=None - Parameters (keyword arguments) and values for kernel passed as - callable object. Ignored by other kernels. - - n_jobs : int, default=None - The number of parallel jobs to run when `affinity='nearest_neighbors'` - or `affinity='precomputed_nearest_neighbors'`. The neighbors search - will be done in parallel. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - verbose : bool, default=False - Verbosity mode. - - .. versionadded:: 0.24 - - persist_embedding : bool - Whether to persist the intermediate n_samples x n_components array used - for clustering. - - kmeans_params : dictionary of string to any, optional - Keyword arguments for the KMeans clustering used for the final - clustering. - - Examples - -------- - >>> from dasf.ml.cluster import SpectralClustering - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> clustering = SpectralClustering(n_clusters=2, - ... assign_labels='discretize', - ... random_state=0).fit(X) - >>> clustering - SpectralClustering(assign_labels='discretize', n_clusters=2, - random_state=0) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering - - https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html - - Notes - ----- - A distance matrix for which 0 indicates identical elements and high values - indicate very dissimilar elements can be transformed into an affinity / - similarity matrix that is well-suited for the algorithm by - applying the Gaussian (aka RBF, heat) kernel:: - - np.exp(- dist_matrix ** 2 / (2. * delta ** 2)) - - where ``delta`` is a free parameter representing the width of the Gaussian - kernel. - - An alternative is to take a symmetric version of the k-nearest neighbors - connectivity matrix of the points. - - If the pyamg package is installed, it is used: this greatly - speeds up computation. - - References - ---------- - - - Normalized cuts and image segmentation, 2000 - Jianbo Shi, Jitendra Malik - http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.2324 - - - A Tutorial on Spectral Clustering, 2007 - Ulrike von Luxburg - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.9323 - - - Multiclass spectral clustering, 2003 - Stella X. Yu, Jianbo Shi - https://www1.icsi.berkeley.edu/~stellayu/publication/doc/2003kwayICCV.pdf - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/kmeans/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/kmeans/index.rst.txt deleted file mode 100644 index 0ee75be..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/kmeans/index.rst.txt +++ /dev/null @@ -1,541 +0,0 @@ -:py:mod:`dasf.ml.cluster.kmeans` -================================ - -.. py:module:: dasf.ml.cluster.kmeans - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.kmeans.KMeans - - - - -.. py:class:: KMeans(n_clusters=8, init=None, n_init=None, max_iter=300, tol=0.0001, verbose=0, random_state=None, copy_x=True, algorithm='full', oversampling_factor=2.0, n_jobs=1, init_max_iter=None, max_samples_per_batch=32768, precompute_distances='auto', output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - K-Means clustering. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - - n_clusters : int, default=8 - The number of clusters to form as well as the number of - centroids to generate. - - init : {'k-means++', 'random'}, callable or array-like of shape (n_clusters, n_features), default='k-means++' - - Method for initialization: - - 'k-means++' : selects initial cluster centers for k-mean - clustering in a smart way to speed up convergence. See section - Notes in k_init for more details. - - 'random': choose `n_clusters` observations (rows) at random from data - for the initial centroids. - - If an array is passed, it should be of shape (n_clusters, n_features) - and gives the initial centers. - - If a callable is passed, it should take arguments X, n_clusters and a - random state and return an initialization. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of - n_init consecutive runs in terms of inertia. - - max_iter : int, default=300 - Maximum number of iterations of the k-means algorithm for a - single run. - - tol : float, default=1e-4 - Relative tolerance with regards to Frobenius norm of the difference - in the cluster centers of two consecutive iterations to declare - convergence. - - precompute_distances : {'auto', True, False}, default='auto' - Precompute distances (faster but takes more memory). - - 'auto' : do not precompute distances if n_samples * n_clusters > 12 - million. This corresponds to about 100MB overhead per job using - double precision. IMPORTANT: This is used only in Dask ML version. - - True : always precompute distances. - - False : never precompute distances. - - verbose : int, default=0 - Verbosity mode. - - random_state : int, RandomState instance or None, default=None - Determines random number generation for centroid initialization. Use - an int to make the randomness deterministic. - See :term:`Glossary `. - - copy_x : bool, default=True - When pre-computing distances it is more numerically accurate to center - the data first. If copy_x is True (default), then the original data is - not modified. If False, the original data is modified, and put back - before the function returns, but small numerical differences may be - introduced by subtracting and then adding the data mean. Note that if - the original data is not C-contiguous, a copy will be made even if - copy_x is False. If the original data is sparse, but not in CSR format, - a copy will be made even if copy_x is False. - - n_jobs : int, default=1 - The number of OpenMP threads to use for the computation. Parallelism is - sample-wise on the main cython loop which assigns each sample to its - closest center. IMPORTANT: This is used only in Dask ML version. - - ``None`` or ``-1`` means using all processors. - - init_max_iter : int, default=None - Number of iterations for init step. - - algorithm : {"auto", "full", "elkan"}, default="full" - K-means algorithm to use. The classical EM-style algorithm is "full". - The "elkan" variation is more efficient on data with well-defined - clusters, by using the triangle inequality. However it's more memory - intensive due to the allocation of an extra array of shape - (n_samples, n_clusters). - - For now "auto" (kept for backward compatibiliy) chooses "elkan" but it - might change in the future for a better heuristic. - - .. versionchanged:: 0.18 - Added Elkan algorithm - - oversampling_factor : int, default=2 - The amount of points to sample in scalable k-means++ initialization - for potential centroids. Increasing this value can lead to better - initial centroids at the cost of memory. The total number of centroids - sampled in scalable k-means++ is oversampling_factor * n_clusters * 8. - - max_samples_per_batch : int, default=32768 - The number of data samples to use for batches of the pairwise distance - computation. This computation is done throughout both fit predict. The - default should suit most cases. The total number of elements in the - batched pairwise distance computation is max_samples_per_batch * - n_clusters. It might become necessary to lower this number when - n_clusters becomes prohibitively large. - - output_type : {'input', 'cudf', 'cupy', 'numpy', 'numba'}, default=None - Variable to control output type of the results and attributes of the - estimator. If None, it'll inherit the output type set at the module - level, cuml.global_settings.output_type. See Output Data Type - Configuration for more info. - - See Also - -------- - MiniBatchKMeans : Alternative online implementation that does incremental - updates of the centers positions using mini-batches. - For large scale learning (say n_samples > 10k) MiniBatchKMeans is - probably much faster than the default batch implementation. - - Notes - ----- - The k-means problem is solved using either Lloyd's or Elkan's algorithm. - - The average complexity is given by O(k n T), where n is the number of - samples and T is the number of iteration. - - The worst case complexity is given by O(n^(k+2/p)) with - n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, - 'How slow is the k-means method?' SoCG2006) - - In practice, the k-means algorithm is very fast (one of the fastest - clustering algorithms available), but it falls in local minima. That's why - it can be useful to restart it several times. - - If the algorithm stops before fully converging (because of ``tol`` or - ``max_iter``), ``labels_`` and ``cluster_centers_`` will not be consistent, - i.e. the ``cluster_centers_`` will not be the means of the points in each - cluster. Also, the estimator will reassign ``labels_`` after the last - iteration to make ``labels_`` consistent with ``predict`` on the training - set. - - Examples - -------- - - >>> from dasf.ml.cluster import KMeans - >>> import numpy as np - >>> X = np.array([[1, 2], [1, 4], [1, 0], - ... [10, 2], [10, 4], [10, 0]]) - >>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X) - >>> kmeans.predict([[0, 0], [12, 3]]) - array([1, 0], dtype=int32) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html - - https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html - - https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering - - https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans - - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None) - - Compute Dask k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None) - - Compute Dask CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - Compute Scikit Learn k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None) - - Compute CuML k-means clustering. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - Training instances to cluster. It must be noted that the data - will be converted to C ordering, which will cause a memory - copy if the given data is not C-contiguous. - If a sparse matrix is passed, a copy will be made if it's not in - CSR format. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - self - Fitted estimator. - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Dask ML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Dask CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - Scikit Learn. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _fit_predict_gpu(X, y=None, sample_weight=None) - - Compute cluster centers and predict cluster index for each sample using - CuML. - - Convenience method; equivalent to calling fit(X) followed by - predict(X). - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to transform. - - y : Ignored - Not used, present here for API consistency by convention. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Dask ML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : Ignored - Not used, present here for API consistency by convention. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Dask - CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict_cpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using Scikit - Learn. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict_gpu(X, sample_weight=None) - - Predict the closest cluster each sample in X belongs to using CuML. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict2_cpu(X, sample_weight=None) - - A block predict using Scikit Learn variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _lazy_predict2_gpu(X, sample_weight=None) - - A block predict using CuML variant but for Dask. - - In the vector quantization literature, `cluster_centers_` is called - the code book and each value returned by `predict` is the index of - the closest code in the code book. - - Parameters - ---------- - X : {array-like, sparse matrix} of shape (n_samples, n_features) - New data to predict. - - sample_weight : array-like of shape (n_samples,), default=None - The weights for each observation in X. If None, all observations - are assigned equal weight. - - Returns - ------- - labels : ndarray of shape (n_samples,) - Index of the cluster each sample belongs to. - - - .. py:method:: _predict2_cpu(X, sample_weight=None) - :abstractmethod: - - - .. py:method:: _predict2_gpu(X, sample_weight=None) - :abstractmethod: - - - .. py:method:: predict2(sample_weight=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/som/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/som/index.rst.txt deleted file mode 100644 index c4a7d41..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/som/index.rst.txt +++ /dev/null @@ -1,156 +0,0 @@ -:py:mod:`dasf.ml.cluster.som` -============================= - -.. py:module:: dasf.ml.cluster.som - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.som.SOM - - - - -.. py:class:: SOM(x, y, input_len, num_epochs=100, sigma=0, sigmaN=1, learning_rate=0.5, learning_rateN=0.01, decay_function='exponential', neighborhood_function='gaussian', std_coeff=0.5, topology='rectangular', activation_distance='euclidean', random_seed=None, n_parallel=0, compact_support=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Initializes a Self Organizing Maps. - - A rule of thumb to set the size of the grid for a dimensionality - reduction task is that it should contain 5*sqrt(N) neurons - where N is the number of samples in the dataset to analyze. - - E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 - hence a map 8-by-8 should perform well. - - Parameters - ---------- - x : int - x dimension of the SOM. - - y : int - y dimension of the SOM. - - input_len : int - Number of the elements of the vectors in input. - - sigma : float, default=min(x,y)/2 - Spread of the neighborhood function, needs to be adequate - to the dimensions of the map. - - sigmaN : float, default=0.01 - Spread of the neighborhood function at last iteration. - - learning_rate : float, default=0.5 - initial learning rate. - - learning_rateN : float, default=0.01 - final learning rate - - decay_function : string, default='exponential' - Function that reduces learning_rate and sigma at each iteration. - Possible values: 'exponential', 'linear', 'aymptotic' - - neighborhood_function : string, default='gaussian' - Function that weights the neighborhood of a position in the map. - Possible values: 'gaussian', 'mexican_hat', 'bubble', 'triangle' - - topology : string, default='rectangular' - Topology of the map. - Possible values: 'rectangular', 'hexagonal' - - activation_distance : string, default='euclidean' - Distance used to activate the map. - Possible values: 'euclidean', 'cosine', 'manhattan' - - random_seed : int, default=None - Random seed to use. - - n_parallel : uint, default=#max_CUDA_threads or 500*#CPUcores - Number of samples to be processed at a time. Setting a too low - value may drastically lower performance due to under-utilization, - setting a too high value increases memory usage without granting - any significant performance benefit. - - xp : numpy or cupy, default=cupy if can be imported else numpy - Use numpy (CPU) or cupy (GPU) for computations. - - std_coeff: float, default=0.5 - Used to calculate gausssian exponent denominator: - d = 2*std_coeff**2*sigma**2 - - compact_support: bool, default=False - Cut the neighbor function to 0 beyond neighbor radius sigma - - Examples - -------- - >>> from dasf.ml.cluster import SOM - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> som = SOM(x=3, y=2, input_len=2, - ... num_epochs=100).fit(X) - >>> som - SOM(x=3, y=2, input_len=2, num_epochs=100) - - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_gpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None) - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None) - - - .. py:method:: _predict_cpu(X, sample_weight=None) - - - .. py:method:: _predict_gpu(X, sample_weight=None) - - - .. py:method:: _lazy_quantization_error_cpu(X) - - - .. py:method:: _lazy_quantization_error_gpu(X) - - - .. py:method:: _quantization_error_cpu(X) - - - .. py:method:: _quantization_error_gpu(X) - - - .. py:method:: quantization_error(X) - - - diff --git a/docs/_sources/autoapi/dasf/ml/cluster/spectral/index.rst.txt b/docs/_sources/autoapi/dasf/ml/cluster/spectral/index.rst.txt deleted file mode 100644 index 892c9c8..0000000 --- a/docs/_sources/autoapi/dasf/ml/cluster/spectral/index.rst.txt +++ /dev/null @@ -1,205 +0,0 @@ -:py:mod:`dasf.ml.cluster.spectral` -================================== - -.. py:module:: dasf.ml.cluster.spectral - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.cluster.spectral.SpectralClustering - - - - -.. py:class:: SpectralClustering(n_clusters=8, eigen_solver=None, random_state=None, n_init=10, gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=None, n_components=None, persist_embedding=False, kmeans_params=None, verbose=False, **kwargs) - - - Bases: :py:obj:`dasf.ml.cluster.classifier.ClusterClassifier` - - Apply clustering to a projection of the normalized Laplacian. - - In practice Spectral Clustering is very useful when the structure of - the individual clusters is highly non-convex, or more generally when - a measure of the center and spread of the cluster is not a suitable - description of the complete cluster, such as when clusters are - nested circles on the 2D plane. - - If the affinity matrix is the adjacency matrix of a graph, this method - can be used to find normalized graph cuts. - - When calling ``fit``, an affinity matrix is constructed using either - a kernel function such the Gaussian (aka RBF) kernel with Euclidean - distance ``d(X, X)``:: - - np.exp(-gamma * d(X,X) ** 2) - - or a k-nearest neighbors connectivity matrix. - - Alternatively, a user-provided affinity matrix can be specified by - setting ``affinity='precomputed'``. - - Read more in the :ref:`User Guide `. - - Parameters - ---------- - n_clusters : int, default=8 - The dimension of the projection subspace. - - eigen_solver : {'arpack', 'lobpcg', 'amg'}, default=None - The eigenvalue decomposition strategy to use. AMG requires pyamg - to be installed. It can be faster on very large, sparse problems, - but may also lead to instabilities. If None, then ``'arpack'`` is - used. - - n_components : int, default=n_clusters - Number of eigenvectors to use for the spectral embedding - - random_state : int, RandomState instance, default=None - A pseudo random number generator used for the initialization of the - lobpcg eigenvectors decomposition when ``eigen_solver='amg'`` and by - the K-Means initialization. Use an int to make the randomness - deterministic. - See :term:`Glossary `. - - n_init : int, default=10 - Number of time the k-means algorithm will be run with different - centroid seeds. The final results will be the best output of n_init - consecutive runs in terms of inertia. Only used if - ``assign_labels='kmeans'``. - - gamma : float, default=1.0 - Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. - Ignored for ``affinity='nearest_neighbors'``. - - affinity : str or callable, default='rbf' - How to construct the affinity matrix. - - 'nearest_neighbors': construct the affinity matrix by computing a - graph of nearest neighbors. - - 'rbf': construct the affinity matrix using a radial basis function - (RBF) kernel. - - 'precomputed': interpret ``X`` as a precomputed affinity matrix, - where larger values indicate greater similarity between instances. - - 'precomputed_nearest_neighbors': interpret ``X`` as a sparse graph - of precomputed distances, and construct a binary affinity matrix - from the ``n_neighbors`` nearest neighbors of each instance. - - one of the kernels supported by - :func:`~sklearn.metrics.pairwise_kernels`. - - Only kernels that produce similarity scores (non-negative values that - increase with similarity) should be used. This property is not checked - by the clustering algorithm. - - n_neighbors : int, default=10 - Number of neighbors to use when constructing the affinity matrix using - the nearest neighbors method. Ignored for ``affinity='rbf'``. - - eigen_tol : float, default=0.0 - Stopping criterion for eigendecomposition of the Laplacian matrix - when ``eigen_solver='arpack'``. - - assign_labels : {'kmeans', 'discretize'}, default='kmeans' - The strategy for assigning labels in the embedding space. There are two - ways to assign labels after the Laplacian embedding. k-means is a - popular choice, but it can be sensitive to initialization. - Discretization is another approach which is less sensitive to random - initialization. - - degree : float, default=3 - Degree of the polynomial kernel. Ignored by other kernels. - - coef0 : float, default=1 - Zero coefficient for polynomial and sigmoid kernels. - Ignored by other kernels. - - kernel_params : dict of str to any, default=None - Parameters (keyword arguments) and values for kernel passed as - callable object. Ignored by other kernels. - - n_jobs : int, default=None - The number of parallel jobs to run when `affinity='nearest_neighbors'` - or `affinity='precomputed_nearest_neighbors'`. The neighbors search - will be done in parallel. - ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context. - ``-1`` means using all processors. See :term:`Glossary ` - for more details. - - verbose : bool, default=False - Verbosity mode. - - .. versionadded:: 0.24 - - persist_embedding : bool - Whether to persist the intermediate n_samples x n_components array used - for clustering. - - kmeans_params : dictionary of string to any, optional - Keyword arguments for the KMeans clustering used for the final - clustering. - - Examples - -------- - >>> from dasf.ml.cluster import SpectralClustering - >>> import numpy as np - >>> X = np.array([[1, 1], [2, 1], [1, 0], - ... [4, 7], [3, 5], [3, 6]]) - >>> clustering = SpectralClustering(n_clusters=2, - ... assign_labels='discretize', - ... random_state=0).fit(X) - >>> clustering - SpectralClustering(assign_labels='discretize', n_clusters=2, - random_state=0) - - For further informations see: - - https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering - - https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html - - Notes - ----- - A distance matrix for which 0 indicates identical elements and high values - indicate very dissimilar elements can be transformed into an affinity / - similarity matrix that is well-suited for the algorithm by - applying the Gaussian (aka RBF, heat) kernel:: - - np.exp(- dist_matrix ** 2 / (2. * delta ** 2)) - - where ``delta`` is a free parameter representing the width of the Gaussian - kernel. - - An alternative is to take a symmetric version of the k-nearest neighbors - connectivity matrix of the points. - - If the pyamg package is installed, it is used: this greatly - speeds up computation. - - References - ---------- - - - Normalized cuts and image segmentation, 2000 - Jianbo Shi, Jitendra Malik - http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.160.2324 - - - A Tutorial on Spectral Clustering, 2007 - Ulrike von Luxburg - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.165.9323 - - - Multiclass spectral clustering, 2003 - Stella X. Yu, Jianbo Shi - https://www1.icsi.berkeley.edu/~stellayu/publication/doc/2003kwayICCV.pdf - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_predict_cpu(X, y=None, sample_weight=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/core/index.rst.txt b/docs/_sources/autoapi/dasf/ml/core/index.rst.txt deleted file mode 100644 index a0bc6b3..0000000 --- a/docs/_sources/autoapi/dasf/ml/core/index.rst.txt +++ /dev/null @@ -1,29 +0,0 @@ -:py:mod:`dasf.ml.core` -====================== - -.. py:module:: dasf.ml.core - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.core.MLGeneric - - - - -.. py:class:: MLGeneric(name, checkpoint=False, **kwargs) - - - .. py:method:: dump(model) - - - .. py:method:: load(model) - - - diff --git a/docs/_sources/autoapi/dasf/ml/decomposition/index.rst.txt b/docs/_sources/autoapi/dasf/ml/decomposition/index.rst.txt deleted file mode 100644 index d246b6b..0000000 --- a/docs/_sources/autoapi/dasf/ml/decomposition/index.rst.txt +++ /dev/null @@ -1,82 +0,0 @@ -:py:mod:`dasf.ml.decomposition` -=============================== - -.. py:module:: dasf.ml.decomposition - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - pca/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.decomposition.PCA - - - - -.. py:class:: PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.TargeteredTransform` - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _get_covariance_cpu() - - - .. py:method:: get_covariance() - - - .. py:method:: _get_precision_cpu() - - - .. py:method:: get_precision() - - - diff --git a/docs/_sources/autoapi/dasf/ml/decomposition/pca/index.rst.txt b/docs/_sources/autoapi/dasf/ml/decomposition/pca/index.rst.txt deleted file mode 100644 index 5b19d26..0000000 --- a/docs/_sources/autoapi/dasf/ml/decomposition/pca/index.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -:py:mod:`dasf.ml.decomposition.pca` -=================================== - -.. py:module:: dasf.ml.decomposition.pca - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.decomposition.pca.PCA - - - - -.. py:class:: PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None, *args, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.TargeteredTransform` - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _fit_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _lazy_transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _transform_cpu(X, y=None, sample_weights=None) - - - .. py:method:: _transform_gpu(X, y=None, sample_weights=None) - - - .. py:method:: _get_covariance_cpu() - - - .. py:method:: get_covariance() - - - .. py:method:: _get_precision_cpu() - - - .. py:method:: get_precision() - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/clusters/dask/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/clusters/dask/index.rst.txt deleted file mode 100644 index 4a0c147..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/clusters/dask/index.rst.txt +++ /dev/null @@ -1,84 +0,0 @@ -:py:mod:`dasf.ml.dl.clusters.dask` -================================== - -.. py:module:: dasf.ml.dl.clusters.dask - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.clusters.dask.DaskClusterEnvironment - - - - -.. py:class:: DaskClusterEnvironment(metadata=None) - - - Bases: :py:obj:`pytorch_lightning.plugins.environments.ClusterEnvironment` - - Create a Dask Cluster environment for workers - - metadata -- dictionary containing all data related to workers. - - .. py:property:: creates_processes_externally - :type: bool - - Return True if the cluster is managed (you don't launch processes - yourself). - - - .. py:property:: main_address - :type: str - - Return master worker address. - - - .. py:property:: main_port - :type: int - - Return master worker port. - - - .. py:method:: detect() - - Detects the environment settings corresponding to this cluster and returns ``True`` if they match. - - - .. py:method:: creates_children() - - Fork children when generate a cluster. - - - .. py:method:: world_size() - - Return worker world size. - - - .. py:method:: global_rank() - - Return worker global rank. - - - .. py:method:: local_rank() - - Return worker local rank. - - - .. py:method:: node_rank() - - Return worker node rank (which is similar to global rank). - - - .. py:method:: set_world_size(size) - - - .. py:method:: set_global_rank(rank) - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/clusters/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/clusters/index.rst.txt deleted file mode 100644 index 12c72f3..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/clusters/index.rst.txt +++ /dev/null @@ -1,93 +0,0 @@ -:py:mod:`dasf.ml.dl.clusters` -============================= - -.. py:module:: dasf.ml.dl.clusters - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - dask/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.clusters.DaskClusterEnvironment - - - - -.. py:class:: DaskClusterEnvironment(metadata=None) - - - Bases: :py:obj:`pytorch_lightning.plugins.environments.ClusterEnvironment` - - Create a Dask Cluster environment for workers - - metadata -- dictionary containing all data related to workers. - - .. py:property:: creates_processes_externally - :type: bool - - Return True if the cluster is managed (you don't launch processes - yourself). - - - .. py:property:: main_address - :type: str - - Return master worker address. - - - .. py:property:: main_port - :type: int - - Return master worker port. - - - .. py:method:: detect() - - Detects the environment settings corresponding to this cluster and returns ``True`` if they match. - - - .. py:method:: creates_children() - - Fork children when generate a cluster. - - - .. py:method:: world_size() - - Return worker world size. - - - .. py:method:: global_rank() - - Return worker global rank. - - - .. py:method:: local_rank() - - Return worker local rank. - - - .. py:method:: node_rank() - - Return worker node rank (which is similar to global rank). - - - .. py:method:: set_world_size(size) - - - .. py:method:: set_global_rank(rank) - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/index.rst.txt deleted file mode 100644 index 482bced..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/index.rst.txt +++ /dev/null @@ -1,62 +0,0 @@ -:py:mod:`dasf.ml.dl` -==================== - -.. py:module:: dasf.ml.dl - - -Subpackages ------------ -.. toctree:: - :titlesonly: - :maxdepth: 3 - - clusters/index.rst - models/index.rst - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - pytorch_lightning/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.NeuralNetClassifier - - - - -.. py:class:: NeuralNetClassifier(model, max_iter=100, batch_size=32) - - - Bases: :py:obj:`dasf.transforms.base.Fit` - - .. py:method:: _lazy_fit_generic(X, y, accel, ngpus) - - - .. py:method:: _lazy_fit_gpu(X, y=None) - - - .. py:method:: _lazy_fit_cpu(X, y=None) - - - .. py:method:: __fit_generic(X, y, accel, ngpus) - - - .. py:method:: _fit_gpu(X, y=None) - - - .. py:method:: _fit_cpu(X, y=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/models/devconvnet/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/models/devconvnet/index.rst.txt deleted file mode 100644 index bcf5ecc..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/models/devconvnet/index.rst.txt +++ /dev/null @@ -1,588 +0,0 @@ -:py:mod:`dasf.ml.dl.models.devconvnet` -====================================== - -.. py:module:: dasf.ml.dl.models.devconvnet - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.models.devconvnet.MyAccuracy - dasf.ml.dl.models.devconvnet.NNModule - dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet - dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip - dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet - dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip - - - - -.. py:class:: MyAccuracy(dist_sync_on_step=False) - - - Bases: :py:obj:`torchmetrics.Metric` - - Base class for all metrics present in the Metrics API. - - Implements ``add_state()``, ``forward()``, ``reset()`` and a few other things to - handle distributed synchronization and per-step metric computation. - - Override ``update()`` and ``compute()`` functions to implement your own metric. Use - ``add_state()`` to register metric state variables which keep track of state on each - call of ``update()`` and are synchronized across processes when ``compute()`` is called. - - Note: - Metric state variables can either be :class:`~torch.Tensor` or an empty list which can we used - to store :class:`~torch.Tensor`. - - Note: - Different metrics only override ``update()`` and not ``forward()``. A call to ``update()`` - is valid, but it won't return the metric value at the current step. A call to ``forward()`` - automatically calls ``update()`` and also returns the metric value at the current step. - - Args: - kwargs: additional keyword arguments, see :ref:`Metric kwargs` for more info. - - - compute_on_cpu: If metric state should be stored on CPU during computations. Only works - for list states. - - dist_sync_on_step: If metric state should synchronize on ``forward()``. Default is ``False`` - - process_group: The process group on which the synchronization is called. Default is the world. - - dist_sync_fn: function that performs the allgather option on the metric state. Default is an - custom implementation that calls ``torch.distributed.all_gather`` internally. - - distributed_available_fn: function that checks if the distributed backend is available. - Defaults to a check of ``torch.distributed.is_available()`` and ``torch.distributed.is_initialized()``. - - sync_on_compute: If metric state should synchronize when ``compute`` is called. Default is ``True``- - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: set_idx(idx) - - - .. py:method:: update(preds, target) - - Override this method to update the state variables of your metric class. - - - .. py:method:: __str__() - - Return str(self). - - - .. py:method:: compute() - - Override this method to compute the final metric value from state variables synchronized across the - distributed backend. - - - -.. py:class:: NNModule(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`pytorch_lightning.LightningModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: cross_entropy_loss(input, target, weight=None, ignore_index=255) - - Use 255 to fill empty values when padding or doing any augmentation operations - like rotation. - - - .. py:method:: configure_optimizers() - - Choose what optimizers and learning-rate schedulers to use in your optimization. Normally you'd need - one. But in the case of GANs or similar you might have multiple. Optimization with multiple optimizers only - works in the manual optimization mode. - - Return: - Any of these 6 options. - - - **Single optimizer**. - - **List or Tuple** of optimizers. - - **Two lists** - The first list has multiple optimizers, and the second has multiple LR schedulers - (or multiple ``lr_scheduler_config``). - - **Dictionary**, with an ``"optimizer"`` key, and (optionally) a ``"lr_scheduler"`` - key whose value is a single LR scheduler or ``lr_scheduler_config``. - - **None** - Fit will run without any optimizer. - - The ``lr_scheduler_config`` is a dictionary which contains the scheduler and its associated configuration. - The default configuration is shown below. - - .. code-block:: python - - lr_scheduler_config = { - # REQUIRED: The scheduler instance - "scheduler": lr_scheduler, - # The unit of the scheduler's step size, could also be 'step'. - # 'epoch' updates the scheduler on epoch end whereas 'step' - # updates it after a optimizer update. - "interval": "epoch", - # How many epochs/steps should pass between calls to - # `scheduler.step()`. 1 corresponds to updating the learning - # rate after every epoch/step. - "frequency": 1, - # Metric to to monitor for schedulers like `ReduceLROnPlateau` - "monitor": "val_loss", - # If set to `True`, will enforce that the value specified 'monitor' - # is available when the scheduler is updated, thus stopping - # training if not found. If set to `False`, it will only produce a warning - "strict": True, - # If using the `LearningRateMonitor` callback to monitor the - # learning rate progress, this keyword can be used to specify - # a custom logged name - "name": None, - } - - When there are schedulers in which the ``.step()`` method is conditioned on a value, such as the - :class:`torch.optim.lr_scheduler.ReduceLROnPlateau` scheduler, Lightning requires that the - ``lr_scheduler_config`` contains the keyword ``"monitor"`` set to the metric name that the scheduler - should be conditioned on. - - .. testcode:: - - # The ReduceLROnPlateau scheduler requires a monitor - def configure_optimizers(self): - optimizer = Adam(...) - return { - "optimizer": optimizer, - "lr_scheduler": { - "scheduler": ReduceLROnPlateau(optimizer, ...), - "monitor": "metric_to_track", - "frequency": "indicates how often the metric is updated" - # If "monitor" references validation metrics, then "frequency" should be set to a - # multiple of "trainer.check_val_every_n_epoch". - }, - } - - - # In the case of two optimizers, only one using the ReduceLROnPlateau scheduler - def configure_optimizers(self): - optimizer1 = Adam(...) - optimizer2 = SGD(...) - scheduler1 = ReduceLROnPlateau(optimizer1, ...) - scheduler2 = LambdaLR(optimizer2, ...) - return ( - { - "optimizer": optimizer1, - "lr_scheduler": { - "scheduler": scheduler1, - "monitor": "metric_to_track", - }, - }, - {"optimizer": optimizer2, "lr_scheduler": scheduler2}, - ) - - Metrics can be made available to monitor by simply logging it using - ``self.log('metric_to_track', metric_val)`` in your :class:`~pytorch_lightning.core.module.LightningModule`. - - Note: - Some things to know: - - - Lightning calls ``.backward()`` and ``.step()`` automatically in case of automatic optimization. - - If a learning rate scheduler is specified in ``configure_optimizers()`` with key - ``"interval"`` (default "epoch") in the scheduler configuration, Lightning will call - the scheduler's ``.step()`` method automatically in case of automatic optimization. - - If you use 16-bit precision (``precision=16``), Lightning will automatically handle the optimizer. - - If you use :class:`torch.optim.LBFGS`, Lightning handles the closure function automatically for you. - - If you use multiple optimizers, you will have to switch to 'manual optimization' mode and step them - yourself. - - If you need to control how often the optimizer steps, override the :meth:`optimizer_step` hook. - - - .. py:method:: training_step(batch, batch_idx) - - Here you compute and return the training loss and some additional metrics for e.g. the progress bar or - logger. - - Args: - batch (:class:`~torch.Tensor` | (:class:`~torch.Tensor`, ...) | [:class:`~torch.Tensor`, ...]): - The output of your :class:`~torch.utils.data.DataLoader`. A tensor, tuple or list. - batch_idx (``int``): Integer displaying index of this batch - - Return: - Any of. - - - :class:`~torch.Tensor` - The loss tensor - - ``dict`` - A dictionary. Can include any keys, but must include the key ``'loss'`` - - ``None`` - Training will skip to the next batch. This is only for automatic optimization. - This is not supported for multi-GPU, TPU, IPU, or DeepSpeed. - - In this step you'd normally do the forward pass and calculate the loss for a batch. - You can also do fancier things like multiple forward passes or something model specific. - - Example:: - - def training_step(self, batch, batch_idx): - x, y, z = batch - out = self.encoder(x) - loss = self.loss(out, x) - return loss - - To use multiple optimizers, you can switch to 'manual optimization' and control their stepping: - - .. code-block:: python - - def __init__(self): - super().__init__() - self.automatic_optimization = False - - - # Multiple optimizers (e.g.: GANs) - def training_step(self, batch, batch_idx): - opt1, opt2 = self.optimizers() - - # do training_step with encoder - ... - opt1.step() - # do training_step with decoder - ... - opt2.step() - - Note: - When ``accumulate_grad_batches`` > 1, the loss returned here will be automatically - normalized by ``accumulate_grad_batches`` internally. - - - .. py:method:: test_step(test_batch, batch_idx) - - Operates on a single batch of data from the test set. In this step you'd normally generate examples or - calculate anything of interest such as accuracy. - - Args: - batch: The output of your :class:`~torch.utils.data.DataLoader`. - batch_idx: The index of this batch. - dataloader_id: The index of the dataloader that produced this batch. - (only if multiple test dataloaders used). - - Return: - Any of. - - - Any object or value - - ``None`` - Testing will skip to the next batch - - .. code-block:: python - - # if you have one test dataloader: - def test_step(self, batch, batch_idx): - ... - - - # if you have multiple test dataloaders: - def test_step(self, batch, batch_idx, dataloader_idx=0): - ... - - Examples:: - - # CASE 1: A single test dataset - def test_step(self, batch, batch_idx): - x, y = batch - - # implement your own - out = self(x) - loss = self.loss(out, y) - - # log 6 example images - # or generated text... or whatever - sample_imgs = x[:6] - grid = torchvision.utils.make_grid(sample_imgs) - self.logger.experiment.add_image('example_images', grid, 0) - - # calculate acc - labels_hat = torch.argmax(out, dim=1) - test_acc = torch.sum(y == labels_hat).item() / (len(y) * 1.0) - - # log the outputs! - self.log_dict({'test_loss': loss, 'test_acc': test_acc}) - - If you pass in multiple test dataloaders, :meth:`test_step` will have an additional argument. We recommend - setting the default value of 0 so that you can quickly switch between single and multiple dataloaders. - - .. code-block:: python - - # CASE 2: multiple test dataloaders - def test_step(self, batch, batch_idx, dataloader_idx=0): - # dataloader_idx tells you which dataset this is. - ... - - Note: - If you don't need to test you don't need to implement this method. - - Note: - When the :meth:`test_step` is called, the model has been put in eval mode and - PyTorch gradients have been disabled. At the end of the test epoch, the model goes back - to training mode and gradients are enabled. - - - -.. py:class:: TorchPatchDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchPatchDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchSectionDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=False) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchSectionDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/models/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/models/index.rst.txt deleted file mode 100644 index c3879fb..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/models/index.rst.txt +++ /dev/null @@ -1,267 +0,0 @@ -:py:mod:`dasf.ml.dl.models` -=========================== - -.. py:module:: dasf.ml.dl.models - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - devconvnet/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.models.TorchPatchDeConvNet - dasf.ml.dl.models.TorchPatchDeConvNetSkip - dasf.ml.dl.models.TorchSectionDeConvNet - dasf.ml.dl.models.TorchSectionDeConvNetSkip - - - - -.. py:class:: TorchPatchDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchPatchDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchSectionDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=False) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - -.. py:class:: TorchSectionDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None) - - - Bases: :py:obj:`NNModule` - - Base class for all neural network modules. - - Your models should also subclass this class. - - Modules can also contain other Modules, allowing to nest them in - a tree structure. You can assign the submodules as regular attributes:: - - import torch.nn as nn - import torch.nn.functional as F - - class Model(nn.Module): - def __init__(self): - super().__init__() - self.conv1 = nn.Conv2d(1, 20, 5) - self.conv2 = nn.Conv2d(20, 20, 5) - - def forward(self, x): - x = F.relu(self.conv1(x)) - return F.relu(self.conv2(x)) - - Submodules assigned in this way will be registered, and will have their - parameters converted too when you call :meth:`to`, etc. - - .. note:: - As per the example above, an ``__init__()`` call to the parent class - must be made before assignment on the child. - - :ivar training: Boolean represents whether this module is in training or - evaluation mode. - :vartype training: bool - - Initializes internal Module state, shared by both nn.Module and ScriptModule. - - .. py:method:: forward(x) - - Same as :meth:`torch.nn.Module.forward`. - - Args: - *args: Whatever you decide to pass into the forward method. - **kwargs: Keyword arguments are also possible. - - Return: - Your model's output - - - .. py:method:: init_vgg16_params(vgg16, copy_fc8=True) - - - .. py:method:: load() - - This is just a no-op load method. - - - diff --git a/docs/_sources/autoapi/dasf/ml/dl/pytorch_lightning/index.rst.txt b/docs/_sources/autoapi/dasf/ml/dl/pytorch_lightning/index.rst.txt deleted file mode 100644 index 11cf70f..0000000 --- a/docs/_sources/autoapi/dasf/ml/dl/pytorch_lightning/index.rst.txt +++ /dev/null @@ -1,266 +0,0 @@ -:py:mod:`dasf.ml.dl.pytorch_lightning` -====================================== - -.. py:module:: dasf.ml.dl.pytorch_lightning - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.pytorch_lightning.TorchDataLoader - dasf.ml.dl.pytorch_lightning.NeuralNetClassifier - - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.ml.dl.pytorch_lightning.run_dask_clustered - dasf.ml.dl.pytorch_lightning.fit - - - -.. py:class:: TorchDataLoader(train, val=None, test=None, batch_size=64) - - - Bases: :py:obj:`pytorch_lightning.LightningDataModule` - - A DataModule standardizes the training, val, test splits, data preparation and transforms. The main - advantage is consistent data splits, data preparation and transforms across models. - - Example:: - - class MyDataModule(LightningDataModule): - def __init__(self): - super().__init__() - def prepare_data(self): - # download, split, etc... - # only called on 1 GPU/TPU in distributed - def setup(self, stage): - # make assignments here (val/train/test split) - # called on every process in DDP - def train_dataloader(self): - train_split = Dataset(...) - return DataLoader(train_split) - def val_dataloader(self): - val_split = Dataset(...) - return DataLoader(val_split) - def test_dataloader(self): - test_split = Dataset(...) - return DataLoader(test_split) - def teardown(self): - # clean up after fit or test - # called on every process in DDP - - Attributes: - prepare_data_per_node: - If True, each LOCAL_RANK=0 will call prepare data. - Otherwise only NODE_RANK=0, LOCAL_RANK=0 will prepare data. - allow_zero_length_dataloader_with_multiple_devices: - If True, dataloader with zero length within local rank is allowed. - Default value is False. - - .. py:method:: prepare_data() - - Use this to download and prepare data. Downloading and saving data with multiple processes (distributed - settings) will result in corrupted data. Lightning ensures this method is called only within a single - process, so you can safely add your downloading logic within. - - .. warning:: DO NOT set state to the model (use ``setup`` instead) - since this is NOT called on every device - - Example:: - - def prepare_data(self): - # good - download_data() - tokenize() - etc() - - # bad - self.split = data_split - self.some_state = some_other_state() - - In a distributed environment, ``prepare_data`` can be called in two ways - (using :ref:`prepare_data_per_node`) - - 1. Once per node. This is the default and is only called on LOCAL_RANK=0. - 2. Once in total. Only called on GLOBAL_RANK=0. - - Example:: - - # DEFAULT - # called once per node on LOCAL_RANK=0 of that node - class LitDataModule(LightningDataModule): - def __init__(self): - super().__init__() - self.prepare_data_per_node = True - - - # call on GLOBAL_RANK=0 (great for shared file systems) - class LitDataModule(LightningDataModule): - def __init__(self): - super().__init__() - self.prepare_data_per_node = False - - This is called before requesting the dataloaders: - - .. code-block:: python - - model.prepare_data() - initialize_distributed() - model.setup(stage) - model.train_dataloader() - model.val_dataloader() - model.test_dataloader() - model.predict_dataloader() - - - .. py:method:: setup(stage=None) - - Called at the beginning of fit (train + validate), validate, test, or predict. This is a good hook when - you need to build models dynamically or adjust something about them. This hook is called on every process - when using DDP. - - Args: - stage: either ``'fit'``, ``'validate'``, ``'test'``, or ``'predict'`` - - Example:: - - class LitModel(...): - def __init__(self): - self.l1 = None - - def prepare_data(self): - download_data() - tokenize() - - # don't do this - self.something = else - - def setup(self, stage): - data = load_data(...) - self.l1 = nn.Linear(28, data.num_classes) - - - .. py:method:: train_dataloader() - - An iterable or collection of iterables specifying training samples. - - For more information about multiple dataloaders, see this :ref:`section `. - - The dataloader you return will not be reloaded unless you set - :paramref:`~pytorch_lightning.trainer.Trainer.reload_dataloaders_every_n_epochs` to - a positive integer. - - For data processing use the following pattern: - - - download in :meth:`prepare_data` - - process and split in :meth:`setup` - - However, the above are only necessary for distributed processing. - - .. warning:: do not assign state in prepare_data - - - :meth:`~pytorch_lightning.trainer.trainer.Trainer.fit` - - :meth:`prepare_data` - - :meth:`setup` - - Note: - Lightning tries to add the correct sampler for distributed and arbitrary hardware. - There is no need to set it yourself. - - - .. py:method:: val_dataloader() - - An iterable or collection of iterables specifying validation samples. - - For more information about multiple dataloaders, see this :ref:`section `. - - The dataloader you return will not be reloaded unless you set - :paramref:`~pytorch_lightning.trainer.Trainer.reload_dataloaders_every_n_epochs` to - a positive integer. - - It's recommended that all data downloads and preparation happen in :meth:`prepare_data`. - - - :meth:`~pytorch_lightning.trainer.trainer.Trainer.fit` - - :meth:`~pytorch_lightning.trainer.trainer.Trainer.validate` - - :meth:`prepare_data` - - :meth:`setup` - - Note: - Lightning tries to add the correct sampler for distributed and arbitrary hardware - There is no need to set it yourself. - - Note: - If you don't need a validation dataset and a :meth:`validation_step`, you don't need to - implement this method. - - - .. py:method:: test_dataloader() - - An iterable or collection of iterables specifying test samples. - - For more information about multiple dataloaders, see this :ref:`section `. - - For data processing use the following pattern: - - - download in :meth:`prepare_data` - - process and split in :meth:`setup` - - However, the above are only necessary for distributed processing. - - .. warning:: do not assign state in prepare_data - - - - :meth:`~pytorch_lightning.trainer.trainer.Trainer.test` - - :meth:`prepare_data` - - :meth:`setup` - - Note: - Lightning tries to add the correct sampler for distributed and arbitrary hardware. - There is no need to set it yourself. - - Note: - If you don't need a test dataset and a :meth:`test_step`, you don't need to implement - this method. - - - -.. py:function:: run_dask_clustered(func, client=None, **kwargs) - - -.. py:function:: fit(model, X, y, max_iter, accel, strategy, devices, ngpus, batch_size=32, plugins=None) - - -.. py:class:: NeuralNetClassifier(model, max_iter=100, batch_size=32) - - - Bases: :py:obj:`dasf.transforms.base.Fit` - - .. py:method:: _lazy_fit_generic(X, y, accel, ngpus) - - - .. py:method:: _lazy_fit_gpu(X, y=None) - - - .. py:method:: _lazy_fit_cpu(X, y=None) - - - .. py:method:: __fit_generic(X, y, accel, ngpus) - - - .. py:method:: _fit_gpu(X, y=None) - - - .. py:method:: _fit_cpu(X, y=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/index.rst.txt b/docs/_sources/autoapi/dasf/ml/index.rst.txt deleted file mode 100644 index 931caaf..0000000 --- a/docs/_sources/autoapi/dasf/ml/index.rst.txt +++ /dev/null @@ -1,31 +0,0 @@ -:py:mod:`dasf.ml` -================= - -.. py:module:: dasf.ml - - -Subpackages ------------ -.. toctree:: - :titlesonly: - :maxdepth: 3 - - cluster/index.rst - decomposition/index.rst - dl/index.rst - model_selection/index.rst - neighbors/index.rst - preprocessing/index.rst - svm/index.rst - xgboost/index.rst - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - core/index.rst - - diff --git a/docs/_sources/autoapi/dasf/ml/mixture/classifier/index.rst.txt b/docs/_sources/autoapi/dasf/ml/mixture/classifier/index.rst.txt deleted file mode 100644 index 8afd00d..0000000 --- a/docs/_sources/autoapi/dasf/ml/mixture/classifier/index.rst.txt +++ /dev/null @@ -1,45 +0,0 @@ -:py:mod:`dasf.ml.mixture.classifier` -==================================== - -.. py:module:: dasf.ml.mixture.classifier - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.mixture.classifier.MixtureClassifier - - - - -.. py:class:: MixtureClassifier - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitPredict`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: fit(X, y=None, sample_weight=None) - :abstractmethod: - - - .. py:method:: fit_predict(X, y=None, sample_weight=None) - :abstractmethod: - - - .. py:method:: fit_transform(X, y=None) - :abstractmethod: - - - .. py:method:: get_params() - :abstractmethod: - - - .. py:method:: set_params() - :abstractmethod: - - - diff --git a/docs/_sources/autoapi/dasf/ml/mixture/gmm/index.rst.txt b/docs/_sources/autoapi/dasf/ml/mixture/gmm/index.rst.txt deleted file mode 100644 index 93b0f2d..0000000 --- a/docs/_sources/autoapi/dasf/ml/mixture/gmm/index.rst.txt +++ /dev/null @@ -1,40 +0,0 @@ -:py:mod:`dasf.ml.mixture.gmm` -============================= - -.. py:module:: dasf.ml.mixture.gmm - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.mixture.gmm.GaussianMixture - - - - -.. py:class:: GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06, max_iter=100, n_init=1, init_params='kmeans', weights_init=None, means_init=None, precisions_init=None, random_state=None, warm_start=False, verbose=0, verbose_interval=10) - - - Bases: :py:obj:`dasf.ml.mixture.classifier.MixtureClassifier` - - .. py:method:: _fit_cpu(X, y=None) - - - .. py:method:: _fit_predict_cpu(X, y=None) - - - .. py:method:: _predict_cpu(X, y=None) - - - .. py:method:: _set_params_cpu(**params) - - - .. py:method:: _get_params_cpu(deep=True) - - - diff --git a/docs/_sources/autoapi/dasf/ml/model_selection/index.rst.txt b/docs/_sources/autoapi/dasf/ml/model_selection/index.rst.txt deleted file mode 100644 index c237f87..0000000 --- a/docs/_sources/autoapi/dasf/ml/model_selection/index.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -:py:mod:`dasf.ml.model_selection` -================================= - -.. py:module:: dasf.ml.model_selection - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - split/index.rst - - diff --git a/docs/_sources/autoapi/dasf/ml/model_selection/split/index.rst.txt b/docs/_sources/autoapi/dasf/ml/model_selection/split/index.rst.txt deleted file mode 100644 index eea6289..0000000 --- a/docs/_sources/autoapi/dasf/ml/model_selection/split/index.rst.txt +++ /dev/null @@ -1,38 +0,0 @@ -:py:mod:`dasf.ml.model_selection.split` -======================================= - -.. py:module:: dasf.ml.model_selection.split - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.model_selection.split.train_test_split - - - - -.. py:class:: train_test_split(output='train', test_size=None, train_size=None, random_state=None, shuffle=None, blockwise=True, convert_mixed_types=False, **kwargs) - - - Bases: :py:obj:`dasf.transforms.TargeteredTransform`, :py:obj:`dasf.transforms.Transform` - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X) - :abstractmethod: - - - .. py:method:: _transform_cpu(X) - - - .. py:method:: _transform_gpu(X) - - - diff --git a/docs/_sources/autoapi/dasf/ml/neighbors/index.rst.txt b/docs/_sources/autoapi/dasf/ml/neighbors/index.rst.txt deleted file mode 100644 index a30497c..0000000 --- a/docs/_sources/autoapi/dasf/ml/neighbors/index.rst.txt +++ /dev/null @@ -1,46 +0,0 @@ -:py:mod:`dasf.ml.neighbors` -=========================== - -.. py:module:: dasf.ml.neighbors - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - neighbors/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.neighbors.NearestNeighbors - - - - -.. py:class:: NearestNeighbors(n_neighbors=5, radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=None, handle=None, verbose=False, output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y=None, **kwargs) - - - .. py:method:: _fit_gpu(X, y=None, **kwargs) - - - .. py:method:: _get_params_cpu(deep=True, **kwargs) - - - .. py:method:: _set_params_cpu(**params) - - - diff --git a/docs/_sources/autoapi/dasf/ml/neighbors/neighbors/index.rst.txt b/docs/_sources/autoapi/dasf/ml/neighbors/neighbors/index.rst.txt deleted file mode 100644 index 21eb93b..0000000 --- a/docs/_sources/autoapi/dasf/ml/neighbors/neighbors/index.rst.txt +++ /dev/null @@ -1,37 +0,0 @@ -:py:mod:`dasf.ml.neighbors.neighbors` -===================================== - -.. py:module:: dasf.ml.neighbors.neighbors - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.neighbors.neighbors.NearestNeighbors - - - - -.. py:class:: NearestNeighbors(n_neighbors=5, radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=None, handle=None, verbose=False, output_type=None, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y=None, **kwargs) - - - .. py:method:: _fit_gpu(X, y=None, **kwargs) - - - .. py:method:: _get_params_cpu(deep=True, **kwargs) - - - .. py:method:: _set_params_cpu(**params) - - - diff --git a/docs/_sources/autoapi/dasf/ml/preprocessing/index.rst.txt b/docs/_sources/autoapi/dasf/ml/preprocessing/index.rst.txt deleted file mode 100644 index 66630cb..0000000 --- a/docs/_sources/autoapi/dasf/ml/preprocessing/index.rst.txt +++ /dev/null @@ -1,94 +0,0 @@ -:py:mod:`dasf.ml.preprocessing` -=============================== - -.. py:module:: dasf.ml.preprocessing - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - standardscaler/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.preprocessing.StantardScaler - - - - -.. py:class:: StantardScaler(copy=True, with_mean=True, with_std=True, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.TargeteredTransform` - - .. py:method:: _lazy_fit_cpu(X, y=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None) - - - .. py:method:: _fit_cpu(X, y=None) - - - .. py:method:: _fit_gpu(X, y=None) - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None) - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None) - - - .. py:method:: _fit_transform_cpu(X, y=None) - - - .. py:method:: _fit_transform_gpu(X, y=None) - - - .. py:method:: _lazy_partial_fit_cpu(X, y=None) - - - .. py:method:: _lazy_partial_fit_gpu(X, y=None) - - - .. py:method:: _fit_partial_cpu(X, y=None) - - - .. py:method:: _fit_partial_gpu(X, y=None) - - - .. py:method:: _lazy_transform_cpu(X, copy=None) - - - .. py:method:: _lazy_transform_gpu(X, copy=None) - - - .. py:method:: _transform_cpu(X, copy=None) - - - .. py:method:: _transform_gpu(X, copy=None) - - - .. py:method:: _lazy_inverse_transform_cpu(X, copy=None) - - - .. py:method:: _lazy_inverse_transform_gpu(X, copy=None) - - - .. py:method:: _inverse_transform_cpu(X, copy=None) - - - .. py:method:: _inverse_transform_gpu(X, copy=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/preprocessing/standardscaler/index.rst.txt b/docs/_sources/autoapi/dasf/ml/preprocessing/standardscaler/index.rst.txt deleted file mode 100644 index 7a8bdda..0000000 --- a/docs/_sources/autoapi/dasf/ml/preprocessing/standardscaler/index.rst.txt +++ /dev/null @@ -1,85 +0,0 @@ -:py:mod:`dasf.ml.preprocessing.standardscaler` -============================================== - -.. py:module:: dasf.ml.preprocessing.standardscaler - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.preprocessing.standardscaler.StantardScaler - - - - -.. py:class:: StantardScaler(copy=True, with_mean=True, with_std=True, **kwargs) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.FitTransform`, :py:obj:`dasf.transforms.base.TargeteredTransform` - - .. py:method:: _lazy_fit_cpu(X, y=None) - - - .. py:method:: _lazy_fit_gpu(X, y=None) - - - .. py:method:: _fit_cpu(X, y=None) - - - .. py:method:: _fit_gpu(X, y=None) - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None) - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None) - - - .. py:method:: _fit_transform_cpu(X, y=None) - - - .. py:method:: _fit_transform_gpu(X, y=None) - - - .. py:method:: _lazy_partial_fit_cpu(X, y=None) - - - .. py:method:: _lazy_partial_fit_gpu(X, y=None) - - - .. py:method:: _fit_partial_cpu(X, y=None) - - - .. py:method:: _fit_partial_gpu(X, y=None) - - - .. py:method:: _lazy_transform_cpu(X, copy=None) - - - .. py:method:: _lazy_transform_gpu(X, copy=None) - - - .. py:method:: _transform_cpu(X, copy=None) - - - .. py:method:: _transform_gpu(X, copy=None) - - - .. py:method:: _lazy_inverse_transform_cpu(X, copy=None) - - - .. py:method:: _lazy_inverse_transform_gpu(X, copy=None) - - - .. py:method:: _inverse_transform_cpu(X, copy=None) - - - .. py:method:: _inverse_transform_gpu(X, copy=None) - - - diff --git a/docs/_sources/autoapi/dasf/ml/svm/index.rst.txt b/docs/_sources/autoapi/dasf/ml/svm/index.rst.txt deleted file mode 100644 index aa4d2f9..0000000 --- a/docs/_sources/autoapi/dasf/ml/svm/index.rst.txt +++ /dev/null @@ -1,109 +0,0 @@ -:py:mod:`dasf.ml.svm` -===================== - -.. py:module:: dasf.ml.svm - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - svm/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.svm.SVC - dasf.ml.svm.SVR - dasf.ml.svm.LinearSVC - dasf.ml.svm.LinearSVR - - - - -.. py:class:: SVC(C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, nochange_steps=1000, random_state=None) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - .. py:method:: _get_params_cpu(deep=True) - - - .. py:method:: _set_params_cpu(**params) - - - -.. py:class:: SVR(kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1, nochange_steps=1000) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - -.. py:class:: LinearSVC(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr') - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - -.. py:class:: LinearSVR(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr') - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - diff --git a/docs/_sources/autoapi/dasf/ml/svm/svm/index.rst.txt b/docs/_sources/autoapi/dasf/ml/svm/svm/index.rst.txt deleted file mode 100644 index 92a987a..0000000 --- a/docs/_sources/autoapi/dasf/ml/svm/svm/index.rst.txt +++ /dev/null @@ -1,100 +0,0 @@ -:py:mod:`dasf.ml.svm.svm` -========================= - -.. py:module:: dasf.ml.svm.svm - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.svm.svm.SVC - dasf.ml.svm.svm.SVR - dasf.ml.svm.svm.LinearSVC - dasf.ml.svm.svm.LinearSVR - - - - -.. py:class:: SVC(C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, nochange_steps=1000, random_state=None) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - .. py:method:: _get_params_cpu(deep=True) - - - .. py:method:: _set_params_cpu(**params) - - - -.. py:class:: SVR(kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1, nochange_steps=1000) - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - -.. py:class:: LinearSVC(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr') - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict`, :py:obj:`dasf.transforms.base.GetParams`, :py:obj:`dasf.transforms.base.SetParams` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - -.. py:class:: LinearSVR(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr') - - - Bases: :py:obj:`dasf.transforms.base.Fit`, :py:obj:`dasf.transforms.base.Predict` - - .. py:method:: _fit_cpu(X, y, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y, sample_weight=None) - - - .. py:method:: _predict_cpu(X) - - - .. py:method:: _predict_gpu(X) - - - diff --git a/docs/_sources/autoapi/dasf/ml/xgboost/index.rst.txt b/docs/_sources/autoapi/dasf/ml/xgboost/index.rst.txt deleted file mode 100644 index 5afcef8..0000000 --- a/docs/_sources/autoapi/dasf/ml/xgboost/index.rst.txt +++ /dev/null @@ -1,58 +0,0 @@ -:py:mod:`dasf.ml.xgboost` -========================= - -.. py:module:: dasf.ml.xgboost - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - xgboost/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.xgboost.XGBRegressor - - - - -.. py:class:: XGBRegressor(max_depth=None, max_leaves=None, max_bin=None, grow_policy=None, learning_rate=None, n_estimators=100, verbosity=None, objective=None, booster=None, tree_method=None, n_jobs=None, gamma=None, min_child_weight=None, max_delta_step=None, subsample=None, sampling_method=None, colsample_bytree=None, colsample_bylevel=None, colsample_bynode=None, reg_alpha=None, reg_lambda=None, scale_pos_weight=None, base_score=None, random_state=None, num_parallel_tree=None, monotone_constraints=None, interaction_constraints=None, importance_type=None, gpu_id=None, validate_parameters=None, predictor=None, enable_categorical=False, max_cat_to_onehot=None, eval_metric=None, early_stopping_rounds=None, callbacks=None, **kwargs) - - - Bases: :py:obj:`dasf.transforms.Fit`, :py:obj:`dasf.transforms.FitPredict`, :py:obj:`dasf.transforms.Predict` - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _predict_cpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _predict_gpu(X, sample_weight=None, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/ml/xgboost/xgboost/index.rst.txt b/docs/_sources/autoapi/dasf/ml/xgboost/xgboost/index.rst.txt deleted file mode 100644 index e73acfd..0000000 --- a/docs/_sources/autoapi/dasf/ml/xgboost/xgboost/index.rst.txt +++ /dev/null @@ -1,49 +0,0 @@ -:py:mod:`dasf.ml.xgboost.xgboost` -================================= - -.. py:module:: dasf.ml.xgboost.xgboost - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.ml.xgboost.xgboost.XGBRegressor - - - - -.. py:class:: XGBRegressor(max_depth=None, max_leaves=None, max_bin=None, grow_policy=None, learning_rate=None, n_estimators=100, verbosity=None, objective=None, booster=None, tree_method=None, n_jobs=None, gamma=None, min_child_weight=None, max_delta_step=None, subsample=None, sampling_method=None, colsample_bytree=None, colsample_bylevel=None, colsample_bynode=None, reg_alpha=None, reg_lambda=None, scale_pos_weight=None, base_score=None, random_state=None, num_parallel_tree=None, monotone_constraints=None, interaction_constraints=None, importance_type=None, gpu_id=None, validate_parameters=None, predictor=None, enable_categorical=False, max_cat_to_onehot=None, eval_metric=None, early_stopping_rounds=None, callbacks=None, **kwargs) - - - Bases: :py:obj:`dasf.transforms.Fit`, :py:obj:`dasf.transforms.FitPredict`, :py:obj:`dasf.transforms.Predict` - - .. py:method:: _lazy_fit_cpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _lazy_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _fit_cpu(X, y=None, sample_weight=None) - - - .. py:method:: _fit_gpu(X, y=None, sample_weight=None, *args, **kwargs) - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _predict_cpu(X, sample_weight=None, **kwargs) - - - .. py:method:: _predict_gpu(X, sample_weight=None, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/executors/base/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/executors/base/index.rst.txt deleted file mode 100644 index 315f73b..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/executors/base/index.rst.txt +++ /dev/null @@ -1,40 +0,0 @@ -:py:mod:`dasf.pipeline.executors.base` -====================================== - -.. py:module:: dasf.pipeline.executors.base - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.base.Executor - - - - -.. py:class:: Executor - - - .. py:property:: ngpus - :type: int - - - .. py:property:: is_connected - :type: bool - - - .. py:method:: pre_run(pipeline) - - - .. py:method:: post_run(pipeline) - - - .. py:method:: execute(fn, *args, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/executors/dask/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/executors/dask/index.rst.txt deleted file mode 100644 index fb4a4bc..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/executors/dask/index.rst.txt +++ /dev/null @@ -1,119 +0,0 @@ -:py:mod:`dasf.pipeline.executors.dask` -====================================== - -.. py:module:: dasf.pipeline.executors.dask - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.dask.DaskPipelineExecutor - dasf.pipeline.executors.dask.DaskTasksPipelineExecutor - dasf.pipeline.executors.dask.DaskPBSPipelineExecutor - - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.dask.GPU_SUPPORTED - - -.. py:data:: GPU_SUPPORTED - - - -.. py:class:: DaskPipelineExecutor(address=None, port=8786, local=False, use_gpu=False, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None) - - - Bases: :py:obj:`dasf.pipeline.executors.base.Executor` - - A pipeline engine based on dask data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - - .. py:property:: ngpus - - - .. py:property:: is_connected - - - .. py:method:: execute(fn, *args, **kwargs) - - - .. py:method:: register_dataset(**kwargs) - - - .. py:method:: has_dataset(key) - - - .. py:method:: get_dataset(key) - - - .. py:method:: shutdown(gracefully=True) - - - -.. py:class:: DaskTasksPipelineExecutor(address=None, port=8786, local=False, use_gpu=True, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None) - - - Bases: :py:obj:`DaskPipelineExecutor` - - A not centric execution engine based on dask. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - - .. py:method:: pre_run(pipeline) - - - .. py:method:: post_run(pipeline) - - - .. py:method:: execute(fn, *args, **kwargs) - - - .. py:method:: register_dataset(**kwargs) - - - .. py:method:: has_dataset(key) - - - .. py:method:: get_dataset(key) - - - .. py:method:: shutdown(gracefully=True) - - - -.. py:class:: DaskPBSPipelineExecutor(**kwargs) - - - Bases: :py:obj:`dasf.pipeline.executors.base.Executor` - - diff --git a/docs/_sources/autoapi/dasf/pipeline/executors/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/executors/index.rst.txt deleted file mode 100644 index 4f1cc8f..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/executors/index.rst.txt +++ /dev/null @@ -1,141 +0,0 @@ -:py:mod:`dasf.pipeline.executors` -================================= - -.. py:module:: dasf.pipeline.executors - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - base/index.rst - dask/index.rst - ray/index.rst - wrapper/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.Executor - dasf.pipeline.executors.DaskPipelineExecutor - dasf.pipeline.executors.DaskPBSPipelineExecutor - dasf.pipeline.executors.DaskTasksPipelineExecutor - - - - -.. py:class:: Executor - - - .. py:property:: ngpus - :type: int - - - .. py:property:: is_connected - :type: bool - - - .. py:method:: pre_run(pipeline) - - - .. py:method:: post_run(pipeline) - - - .. py:method:: execute(fn, *args, **kwargs) - - - -.. py:class:: DaskPipelineExecutor(address=None, port=8786, local=False, use_gpu=False, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None) - - - Bases: :py:obj:`dasf.pipeline.executors.base.Executor` - - A pipeline engine based on dask data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - - .. py:property:: ngpus - - - .. py:property:: is_connected - - - .. py:method:: execute(fn, *args, **kwargs) - - - .. py:method:: register_dataset(**kwargs) - - - .. py:method:: has_dataset(key) - - - .. py:method:: get_dataset(key) - - - .. py:method:: shutdown(gracefully=True) - - - -.. py:class:: DaskPBSPipelineExecutor(**kwargs) - - - Bases: :py:obj:`dasf.pipeline.executors.base.Executor` - - -.. py:class:: DaskTasksPipelineExecutor(address=None, port=8786, local=False, use_gpu=True, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None) - - - Bases: :py:obj:`DaskPipelineExecutor` - - A not centric execution engine based on dask. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Dask scheduler (default 8786). - local -- kicks off a new local Dask cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Dask - cluster (default False). - profiler -- sets a Dask profiler. - gpu_allocator -- sets which is the memory allocator for GPU (default cupy). - cluster_kwargs -- extra Dask parameters like memory, processes, etc. - client_kwargs -- extra Client parameters. - - .. py:method:: pre_run(pipeline) - - - .. py:method:: post_run(pipeline) - - - .. py:method:: execute(fn, *args, **kwargs) - - - .. py:method:: register_dataset(**kwargs) - - - .. py:method:: has_dataset(key) - - - .. py:method:: get_dataset(key) - - - .. py:method:: shutdown(gracefully=True) - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/executors/ray/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/executors/ray/index.rst.txt deleted file mode 100644 index 4e0923e..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/executors/ray/index.rst.txt +++ /dev/null @@ -1,59 +0,0 @@ -:py:mod:`dasf.pipeline.executors.ray` -===================================== - -.. py:module:: dasf.pipeline.executors.ray - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.ray.RayPipelineExecutor - - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.ray.USE_RAY - - -.. py:data:: USE_RAY - :value: True - - - -.. py:class:: RayPipelineExecutor(address=None, port=6379, local=False, use_gpu=False, ray_kwargs=None) - - - Bases: :py:obj:`dasf.pipeline.executors.base.Executor` - - A pipeline engine based on ray data flow. - - Keyword arguments: - address -- address of the Dask scheduler (default None). - port -- port of the Ray head (default 8786). - local -- kicks off a new local Ray cluster (default False). - use_gpu -- in conjunction with `local`, it kicks off a local CUDA Ray - cluster (default False). - - .. py:property:: ngpus - - - .. py:property:: is_connected - - - .. py:method:: execute(fn, *args, **kwargs) - - - .. py:method:: __del__() - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/executors/wrapper/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/executors/wrapper/index.rst.txt deleted file mode 100644 index 6960047..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/executors/wrapper/index.rst.txt +++ /dev/null @@ -1,28 +0,0 @@ -:py:mod:`dasf.pipeline.executors.wrapper` -========================================= - -.. py:module:: dasf.pipeline.executors.wrapper - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.executors.wrapper.PrefectPipelineExecutor - - - - -.. py:class:: PrefectPipelineExecutor - - - Bases: :py:obj:`prefect.executors.local.LocalExecutor` - - .. py:property:: dtype - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/index.rst.txt deleted file mode 100644 index 645d658..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/index.rst.txt +++ /dev/null @@ -1,92 +0,0 @@ -:py:mod:`dasf.pipeline` -======================= - -.. py:module:: dasf.pipeline - - -Subpackages ------------ -.. toctree:: - :titlesonly: - :maxdepth: 3 - - executors/index.rst - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - pipeline/index.rst - types/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.Pipeline - dasf.pipeline.PipelinePlugin - - - - -.. py:class:: Pipeline(name, executor=None, verbose=False, callbacks = None) - - - .. py:method:: register_plugin(plugin) - - - .. py:method:: execute_callbacks(func_name, *args, **kwargs) - - - .. py:method:: __add_into_dag(obj, func_name, parameters=None, itself=None) - - - .. py:method:: __inspect_element(obj) - - - .. py:method:: add(obj, **kwargs) - - - .. py:method:: visualize(filename=None) - - - .. py:method:: __register_dataset(dataset) - - - .. py:method:: __execute(func, params, name) - - - .. py:method:: get_result_from(obj) - - - .. py:method:: run() - - - -.. py:class:: PipelinePlugin - - - .. py:method:: on_pipeline_start(fn_keys) - - - .. py:method:: on_pipeline_end() - - - .. py:method:: on_task_start(func, params, name) - - - .. py:method:: on_task_end(func, params, name, ret) - - - .. py:method:: on_task_error(func, params, name, exception) - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/pipeline/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/pipeline/index.rst.txt deleted file mode 100644 index a069995..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/pipeline/index.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -:py:mod:`dasf.pipeline.pipeline` -================================ - -.. py:module:: dasf.pipeline.pipeline - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.pipeline.PipelinePlugin - dasf.pipeline.pipeline.Pipeline - - - - -.. py:class:: PipelinePlugin - - - .. py:method:: on_pipeline_start(fn_keys) - - - .. py:method:: on_pipeline_end() - - - .. py:method:: on_task_start(func, params, name) - - - .. py:method:: on_task_end(func, params, name, ret) - - - .. py:method:: on_task_error(func, params, name, exception) - - - -.. py:class:: Pipeline(name, executor=None, verbose=False, callbacks = None) - - - .. py:method:: register_plugin(plugin) - - - .. py:method:: execute_callbacks(func_name, *args, **kwargs) - - - .. py:method:: __add_into_dag(obj, func_name, parameters=None, itself=None) - - - .. py:method:: __inspect_element(obj) - - - .. py:method:: add(obj, **kwargs) - - - .. py:method:: visualize(filename=None) - - - .. py:method:: __register_dataset(dataset) - - - .. py:method:: __execute(func, params, name) - - - .. py:method:: get_result_from(obj) - - - .. py:method:: run() - - - diff --git a/docs/_sources/autoapi/dasf/pipeline/types/index.rst.txt b/docs/_sources/autoapi/dasf/pipeline/types/index.rst.txt deleted file mode 100644 index 2f19ce1..0000000 --- a/docs/_sources/autoapi/dasf/pipeline/types/index.rst.txt +++ /dev/null @@ -1,45 +0,0 @@ -:py:mod:`dasf.pipeline.types` -============================= - -.. py:module:: dasf.pipeline.types - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.pipeline.types.TaskExecutorType - - - - -.. py:class:: TaskExecutorType - - - Bases: :py:obj:`enum.IntEnum` - - Enum where members are also (and must be) ints - - Initialize self. See help(type(self)) for accurate signature. - - .. py:attribute:: single_cpu - - - - .. py:attribute:: multi_cpu - - - - .. py:attribute:: single_gpu - - - - .. py:attribute:: multi_gpu - - - - diff --git a/docs/_sources/autoapi/dasf/profile/database/index.rst.txt b/docs/_sources/autoapi/dasf/profile/database/index.rst.txt deleted file mode 100644 index 9a35707..0000000 --- a/docs/_sources/autoapi/dasf/profile/database/index.rst.txt +++ /dev/null @@ -1,108 +0,0 @@ -:py:mod:`dasf.profile.database` -=============================== - -.. py:module:: dasf.profile.database - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.profile.database.TraceEvent - dasf.profile.database.TraceDatabase - dasf.profile.database.SingleFileTraceDatabase - - - - -.. py:class:: TraceEvent - - - .. py:attribute:: name - :type: str - - - - .. py:attribute:: phase - :type: str - - - - .. py:attribute:: timestamp - :type: float - - - - .. py:attribute:: process_id - :type: str - - - - .. py:attribute:: thread_id - :type: str - - - - .. py:attribute:: category - :type: List[str] - - - - .. py:attribute:: data - :type: dict - - - - .. py:attribute:: thread_timestamp - :type: float - - - - .. py:attribute:: color_name - :type: str - - - - .. py:attribute:: duration - :type: float - - - - .. py:attribute:: thread_duration - :type: float - - - - -.. py:class:: TraceDatabase - - - .. py:method:: add_trace_event(trace) - :abstractmethod: - - - .. py:method:: commit() - :abstractmethod: - - - .. py:method:: get_traces() - :abstractmethod: - - - -.. py:class:: SingleFileTraceDatabase(path, encoder = json.dumps, decoder = json.loads) - - - Bases: :py:obj:`TraceDatabase` - - .. py:method:: add_trace_event(trace) - - - .. py:method:: get_traces() - - - diff --git a/docs/_sources/autoapi/dasf/profile/event/index.rst.txt b/docs/_sources/autoapi/dasf/profile/event/index.rst.txt deleted file mode 100644 index 8944349..0000000 --- a/docs/_sources/autoapi/dasf/profile/event/index.rst.txt +++ /dev/null @@ -1,91 +0,0 @@ -:py:mod:`dasf.profile.event` -============================ - -.. py:module:: dasf.profile.event - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.profile.event.Singleton - dasf.profile.event.TraceDatabase - dasf.profile.event.Profile - - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.profile.event.get_time_ms - dasf.profile.event.add_trace_duration_begin - dasf.profile.event.add_trace_duration_end - dasf.profile.event.add_trace_complete - dasf.profile.event.get_traces - dasf.profile.event.to_chrome_event_format - - - -.. py:class:: Singleton - - - Bases: :py:obj:`type` - - .. py:attribute:: _instances - - - - .. py:method:: __call__(*args, **kwargs) - - Call self as a function. - - - -.. py:class:: TraceDatabase(database = None) - - - .. py:property:: database - :type: TraceDatabase - - - .. py:attribute:: db_name - :type: str - :value: 'traces.txt' - - - - -.. py:function:: get_time_ms() - - -.. py:function:: add_trace_duration_begin(name, process_id, thread_id, category = None, timestamp = None, thread_timestamp = None, data = None) - - -.. py:function:: add_trace_duration_end(name, process_id, thread_id, category = None, timestamp = None, thread_timestamp = None, data = None) - - -.. py:function:: add_trace_complete(name, process_id, thread_id, timestamp, duration, thread_timestamp = None, thread_duration = None, category = None, data = None) - - -.. py:function:: get_traces() - - -.. py:function:: to_chrome_event_format(trace_events, trace_options = None, format_kwargs = None) - - -.. py:class:: Profile(trace_file = 'traces.txt', remove_old_trace_file = True, processed_filename = 'profile.json', process_trace_options = None, process_trace_kwargs = None) - - - .. py:method:: __enter__() - - - .. py:method:: __exit__(exc_type, exc_val, exc_tb) - - - diff --git a/docs/_sources/autoapi/dasf/profile/index.rst.txt b/docs/_sources/autoapi/dasf/profile/index.rst.txt deleted file mode 100644 index b581935..0000000 --- a/docs/_sources/autoapi/dasf/profile/index.rst.txt +++ /dev/null @@ -1,25 +0,0 @@ -:py:mod:`dasf.profile` -====================== - -.. py:module:: dasf.profile - - -Subpackages ------------ -.. toctree:: - :titlesonly: - :maxdepth: 3 - - plugins/index.rst - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - database/index.rst - event/index.rst - - diff --git a/docs/_sources/autoapi/dasf/profile/plugins/dasf/index.rst.txt b/docs/_sources/autoapi/dasf/profile/plugins/dasf/index.rst.txt deleted file mode 100644 index 8f97051..0000000 --- a/docs/_sources/autoapi/dasf/profile/plugins/dasf/index.rst.txt +++ /dev/null @@ -1,31 +0,0 @@ -:py:mod:`dasf.profile.plugins.dasf` -=================================== - -.. py:module:: dasf.profile.plugins.dasf - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.profile.plugins.dasf.PipelineTaskTimer - - - - -.. py:class:: PipelineTaskTimer - - - Bases: :py:obj:`dasf.pipeline.PipelinePlugin` - - .. py:method:: on_task_start(func, params, name) - - - .. py:method:: on_task_end(func, params, name, ret) - - - diff --git a/docs/_sources/autoapi/dasf/profile/plugins/dask/index.rst.txt b/docs/_sources/autoapi/dasf/profile/plugins/dask/index.rst.txt deleted file mode 100644 index 7319069..0000000 --- a/docs/_sources/autoapi/dasf/profile/plugins/dask/index.rst.txt +++ /dev/null @@ -1,92 +0,0 @@ -:py:mod:`dasf.profile.plugins.dask` -=================================== - -.. py:module:: dasf.profile.plugins.dask - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.profile.plugins.dask.TaskTimePlugin - - - - -.. py:class:: TaskTimePlugin - - - Bases: :py:obj:`distributed.diagnostics.plugin.WorkerPlugin` - - Interface to extend the Worker - - A worker plugin enables custom code to run at different stages of the Workers' - lifecycle. - - A plugin enables custom code to run at each of step of a Workers's life. Whenever such - an event happens, the corresponding method on this class will be called. Note that the - user code always runs within the Worker's main thread. - - To implement a plugin implement some of the methods of this class and register - the plugin to your client in order to have it attached to every existing and - future workers with ``Client.register_worker_plugin``. - - Examples - -------- - >>> class ErrorLogger(WorkerPlugin): - ... def __init__(self, logger): - ... self.logger = logger - ... - ... def setup(self, worker): - ... self.worker = worker - ... - ... def transition(self, key, start, finish, *args, **kwargs): - ... if finish == 'error': - ... ts = self.worker.tasks[key] - ... exc_info = (type(ts.exception), ts.exception, ts.traceback) - ... self.logger.error( - ... "Error during computation of '%s'.", key, - ... exc_info=exc_info - ... ) - - >>> import logging - >>> plugin = ErrorLogger(logging) - >>> client.register_worker_plugin(plugin) # doctest: +SKIP - - .. py:method:: setup(worker) - - Run when the plugin is attached to a worker. This happens when the plugin is registered - and attached to existing workers, or when a worker is created after the plugin has been - registered. - - - .. py:method:: transition(key, start, finish, *args, **kwargs) - - Throughout the lifecycle of a task (see :doc:`Worker State - `), Workers are instructed by the scheduler to compute - certain tasks, resulting in transitions in the state of each task. The - Worker owning the task is then notified of this state transition. - - Whenever a task changes its state, this method will be called. - - .. warning:: - - This is an advanced feature and the transition mechanism and details - of task states are subject to change without deprecation cycle. - - Parameters - ---------- - key : string - start : string - Start state of the transition. - One of waiting, ready, executing, long-running, memory, error. - finish : string - Final state of the transition. - kwargs : More options passed when transitioning - - - diff --git a/docs/_sources/autoapi/dasf/profile/plugins/index.rst.txt b/docs/_sources/autoapi/dasf/profile/plugins/index.rst.txt deleted file mode 100644 index 48678c3..0000000 --- a/docs/_sources/autoapi/dasf/profile/plugins/index.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -:py:mod:`dasf.profile.plugins` -============================== - -.. py:module:: dasf.profile.plugins - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - dasf/index.rst - dask/index.rst - resource_monitor/index.rst - - diff --git a/docs/_sources/autoapi/dasf/profile/plugins/resource_monitor/index.rst.txt b/docs/_sources/autoapi/dasf/profile/plugins/resource_monitor/index.rst.txt deleted file mode 100644 index 8721226..0000000 --- a/docs/_sources/autoapi/dasf/profile/plugins/resource_monitor/index.rst.txt +++ /dev/null @@ -1,73 +0,0 @@ -:py:mod:`dasf.profile.plugins.resource_monitor` -=============================================== - -.. py:module:: dasf.profile.plugins.resource_monitor - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.profile.plugins.resource_monitor.Format - dasf.profile.plugins.resource_monitor.ResourceMonitor - - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.profile.plugins.resource_monitor.run_continuously - - - -.. py:class:: Format - - - .. py:method:: temperature(value) - :staticmethod: - - - .. py:method:: byte_value(value) - :staticmethod: - - - .. py:method:: percent(value) - :staticmethod: - - - -.. py:function:: run_continuously(scheduler, interval=1) - - Continuously run, while executing pending jobs at each - elapsed time interval. - @return cease_continuous_run: threading. Event which can - be set to cease continuous run. Please note that it is - *intended behavior that run_continuously() does not run - missed jobs*. For example, if you've registered a job that - should run every minute and you set a continuous run - interval of one hour then your job won't be run 60 times - at each interval but only once. - - -.. py:class:: ResourceMonitor(path = None, monitor_interval=0.1, verbose = False) - - - Bases: :py:obj:`dasf.pipeline.PipelinePlugin` - - .. py:method:: get_info(event_list, verbose = False) - :staticmethod: - - - .. py:method:: on_pipeline_start(fn_keys) - - - .. py:method:: on_pipeline_end() - - - diff --git a/docs/_sources/autoapi/dasf/transforms/base/index.rst.txt b/docs/_sources/autoapi/dasf/transforms/base/index.rst.txt deleted file mode 100644 index a3d9428..0000000 --- a/docs/_sources/autoapi/dasf/transforms/base/index.rst.txt +++ /dev/null @@ -1,238 +0,0 @@ -:py:mod:`dasf.transforms.base` -============================== - -.. py:module:: dasf.transforms.base - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.transforms.base.Fit - dasf.transforms.base.FitPredict - dasf.transforms.base.FitTransform - dasf.transforms.base.Predict - dasf.transforms.base.GetParams - dasf.transforms.base.SetParams - dasf.transforms.base.Transform - dasf.transforms.base.TargeteredTransform - dasf.transforms.base.MappedTransform - - - - -.. py:class:: Fit - - - .. py:method:: _lazy_fit_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit(X, y, sample_weight=None, **kwargs) - - - .. py:method:: fit_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: FitPredict - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_predict_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_predict_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit_predict(X, y=None, **kwargs) - - - .. py:method:: fit_predict_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: FitTransform - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_transform_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_transform_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit_transform(X, y=None, **kwargs) - - - .. py:method:: fit_transform_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: Predict - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _predict_cpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _predict_gpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: predict(X, sample_weight=None, **kwargs) - - - .. py:method:: predict_from_model(model, X, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: GetParams - - - .. py:method:: _lazy_get_params_cpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_get_params_gpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _get_params_cpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _get_params_gpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: get_params(deep=True, **kwargs) - - - -.. py:class:: SetParams - - - .. py:method:: _lazy_set_params_cpu(**params) - :abstractmethod: - - - .. py:method:: _lazy_set_params_gpu(**params) - :abstractmethod: - - - .. py:method:: _set_params_cpu(**params) - :abstractmethod: - - - .. py:method:: _set_params_gpu(**params) - :abstractmethod: - - - .. py:method:: set_params(**params) - - - -.. py:class:: Transform - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - :abstractmethod: - - - .. py:method:: _transform_cpu(X, **kwargs) - :abstractmethod: - - - .. py:method:: _transform_gpu(X, **kwargs) - :abstractmethod: - - - .. py:method:: transform(X, **kwargs) - - - .. py:method:: transform_from_model(model, X, **kwargs) - :staticmethod: - - - -.. py:class:: TargeteredTransform(run_local=None, run_gpu=None) - - - Bases: :py:obj:`Transform` - - -.. py:class:: MappedTransform(function, depth=None, boundary=None, trim=True, output_chunk=None, drop_axis=None, new_axis=None) - - - Bases: :py:obj:`Transform` - - .. py:method:: __lazy_transform_generic(X, xp, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: transform(X, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/transforms/index.rst.txt b/docs/_sources/autoapi/dasf/transforms/index.rst.txt deleted file mode 100644 index af5b945..0000000 --- a/docs/_sources/autoapi/dasf/transforms/index.rst.txt +++ /dev/null @@ -1,398 +0,0 @@ -:py:mod:`dasf.transforms` -========================= - -.. py:module:: dasf.transforms - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - base/index.rst - memory/index.rst - operations/index.rst - transforms/index.rst - - -Package Contents ----------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.transforms.ArraysToDataFrame - dasf.transforms.ArrayToZarr - dasf.transforms.ArrayToHDF5 - dasf.transforms.ZarrToArray - dasf.transforms.Normalize - dasf.transforms.SliceArray - dasf.transforms.SliceArrayByPercent - dasf.transforms.Reshape - dasf.transforms.PersistDaskData - dasf.transforms.ComputeDaskData - dasf.transforms.Fit - dasf.transforms.FitPredict - dasf.transforms.FitTransform - dasf.transforms.Predict - dasf.transforms.GetParams - dasf.transforms.TargeteredTransform - dasf.transforms.MappedTransform - - - - -.. py:class:: ArraysToDataFrame - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: __transform_generic(X, y) - - - .. py:method:: _lazy_transform_cpu(X=None, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X=None, **kwargs) - - - .. py:method:: _transform_gpu(X=None, **kwargs) - - - .. py:method:: _transform_cpu(X=None, **kwargs) - - - -.. py:class:: ArrayToZarr(chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: _lazy_transform_generic_all(data) - - - .. py:method:: _transform_generic_all(data, chunks, **kwargs) - - - .. py:method:: _lazy_transform_generic(X, **kwargs) - - - .. py:method:: _transform_generic(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - -.. py:class:: ArrayToHDF5(dataset_path, chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: _lazy_transform_generic_all(data) - - - .. py:method:: _transform_generic_all(data) - - - .. py:method:: _lazy_transform_generic(X, **kwargs) - - - .. py:method:: _transform_generic(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - -.. py:class:: ZarrToArray(chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: transform(X) - - - -.. py:class:: Normalize - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: transform(X) - - - -.. py:class:: SliceArray(output_size) - - - .. py:method:: transform(X) - - - -.. py:class:: SliceArrayByPercent(x=100.0, y=100.0, z=100.0) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: transform(X) - - - -.. py:class:: Reshape(shape) - - - Reshape data with a new shape. - - Parameters - ---------- - shape : tuple - The new shape of the data. - - - .. py:method:: run(X) - - - -.. py:class:: PersistDaskData - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Allow persisting a dask array to memory and return a copy of the object. - It will gather the data blocks from all workers and resembles locally. - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X) - - - .. py:method:: _transform_cpu(X) - - - .. py:method:: _transform_gpu(X) - - - -.. py:class:: ComputeDaskData - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Allow persisting a dask array to memory. It will gather the data blocks - from all workers and resembles locally. - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X) - - - .. py:method:: _transform_cpu(X) - - - .. py:method:: _transform_gpu(X) - - - -.. py:class:: Fit - - - .. py:method:: _lazy_fit_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit(X, y, sample_weight=None, **kwargs) - - - .. py:method:: fit_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: FitPredict - - - .. py:method:: _lazy_fit_predict_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_predict_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_predict_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_predict_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit_predict(X, y=None, **kwargs) - - - .. py:method:: fit_predict_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: FitTransform - - - .. py:method:: _lazy_fit_transform_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_fit_transform_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_transform_cpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: _fit_transform_gpu(X, y=None, **kwargs) - :abstractmethod: - - - .. py:method:: fit_transform(X, y=None, **kwargs) - - - .. py:method:: fit_transform_from_model(model, X, y, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: Predict - - - .. py:method:: _lazy_predict_cpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_predict_gpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _predict_cpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: _predict_gpu(X, sample_weight=None, **kwargs) - :abstractmethod: - - - .. py:method:: predict(X, sample_weight=None, **kwargs) - - - .. py:method:: predict_from_model(model, X, sample_weight=None, **kwargs) - :staticmethod: - - - -.. py:class:: GetParams - - - .. py:method:: _lazy_get_params_cpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _lazy_get_params_gpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _get_params_cpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: _get_params_gpu(deep=True, **kwargs) - :abstractmethod: - - - .. py:method:: get_params(deep=True, **kwargs) - - - -.. py:class:: TargeteredTransform(run_local=None, run_gpu=None) - - - Bases: :py:obj:`Transform` - - -.. py:class:: MappedTransform(function, depth=None, boundary=None, trim=True, output_chunk=None, drop_axis=None, new_axis=None) - - - Bases: :py:obj:`Transform` - - .. py:method:: __lazy_transform_generic(X, xp, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: transform(X, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/transforms/memory/index.rst.txt b/docs/_sources/autoapi/dasf/transforms/memory/index.rst.txt deleted file mode 100644 index d2d4a10..0000000 --- a/docs/_sources/autoapi/dasf/transforms/memory/index.rst.txt +++ /dev/null @@ -1,68 +0,0 @@ -:py:mod:`dasf.transforms.memory` -================================ - -.. py:module:: dasf.transforms.memory - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.transforms.memory.PersistDaskData - dasf.transforms.memory.ComputeDaskData - - - - -.. py:class:: PersistDaskData - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Allow persisting a dask array to memory and return a copy of the object. - It will gather the data blocks from all workers and resembles locally. - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X) - - - .. py:method:: _transform_cpu(X) - - - .. py:method:: _transform_gpu(X) - - - -.. py:class:: ComputeDaskData - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - Allow persisting a dask array to memory. It will gather the data blocks - from all workers and resembles locally. - - .. py:method:: __lazy_transform_generic(X) - - - .. py:method:: _lazy_transform_cpu(X) - - - .. py:method:: _lazy_transform_gpu(X) - - - .. py:method:: _transform_cpu(X) - - - .. py:method:: _transform_gpu(X) - - - diff --git a/docs/_sources/autoapi/dasf/transforms/operations/index.rst.txt b/docs/_sources/autoapi/dasf/transforms/operations/index.rst.txt deleted file mode 100644 index c019622..0000000 --- a/docs/_sources/autoapi/dasf/transforms/operations/index.rst.txt +++ /dev/null @@ -1,52 +0,0 @@ -:py:mod:`dasf.transforms.operations` -==================================== - -.. py:module:: dasf.transforms.operations - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.transforms.operations.Reshape - dasf.transforms.operations.SliceArray - dasf.transforms.operations.SliceArrayByPercent - - - - -.. py:class:: Reshape(shape) - - - Reshape data with a new shape. - - Parameters - ---------- - shape : tuple - The new shape of the data. - - - .. py:method:: run(X) - - - -.. py:class:: SliceArray(output_size) - - - .. py:method:: transform(X) - - - -.. py:class:: SliceArrayByPercent(x=100.0, y=100.0, z=100.0) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: transform(X) - - - diff --git a/docs/_sources/autoapi/dasf/transforms/transforms/index.rst.txt b/docs/_sources/autoapi/dasf/transforms/transforms/index.rst.txt deleted file mode 100644 index e5f32a3..0000000 --- a/docs/_sources/autoapi/dasf/transforms/transforms/index.rst.txt +++ /dev/null @@ -1,134 +0,0 @@ -:py:mod:`dasf.transforms.transforms` -==================================== - -.. py:module:: dasf.transforms.transforms - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.transforms.transforms.Normalize - dasf.transforms.transforms.ArrayToZarr - dasf.transforms.transforms.ArrayToHDF5 - dasf.transforms.transforms.ZarrToArray - dasf.transforms.transforms.ArraysToDataFrame - - - - -.. py:class:: Normalize - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: transform(X) - - - -.. py:class:: ArrayToZarr(chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: _lazy_transform_generic_all(data) - - - .. py:method:: _transform_generic_all(data, chunks, **kwargs) - - - .. py:method:: _lazy_transform_generic(X, **kwargs) - - - .. py:method:: _transform_generic(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - -.. py:class:: ArrayToHDF5(dataset_path, chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: _lazy_transform_generic_all(data) - - - .. py:method:: _transform_generic_all(data) - - - .. py:method:: _lazy_transform_generic(X, **kwargs) - - - .. py:method:: _transform_generic(X, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X, **kwargs) - - - .. py:method:: _lazy_transform_cpu(X, **kwargs) - - - .. py:method:: _transform_gpu(X, **kwargs) - - - .. py:method:: _transform_cpu(X, **kwargs) - - - -.. py:class:: ZarrToArray(chunks=None, save=True, filename=None) - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: _convert_filename(url) - :staticmethod: - - - .. py:method:: transform(X) - - - -.. py:class:: ArraysToDataFrame - - - Bases: :py:obj:`dasf.transforms.base.Transform` - - .. py:method:: __transform_generic(X, y) - - - .. py:method:: _lazy_transform_cpu(X=None, **kwargs) - - - .. py:method:: _lazy_transform_gpu(X=None, **kwargs) - - - .. py:method:: _transform_gpu(X=None, **kwargs) - - - .. py:method:: _transform_cpu(X=None, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/utils/benchmark/index.rst.txt b/docs/_sources/autoapi/dasf/utils/benchmark/index.rst.txt deleted file mode 100644 index 793fded..0000000 --- a/docs/_sources/autoapi/dasf/utils/benchmark/index.rst.txt +++ /dev/null @@ -1,65 +0,0 @@ -:py:mod:`dasf.utils.benchmark` -============================== - -.. py:module:: dasf.utils.benchmark - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.utils.benchmark.TimeBenchmark - dasf.utils.benchmark.MemoryBenchmark - - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.benchmark.USE_MEMRAY - dasf.utils.benchmark.USE_MEM_PROF - - -.. py:data:: USE_MEMRAY - :value: True - - - -.. py:data:: USE_MEM_PROF - :value: True - - - -.. py:class:: TimeBenchmark(backend='cprofile') - - - .. py:method:: __enter__() - - - .. py:method:: __exit__(*args, **kwargs) - - - .. py:method:: run(function, *args, **kwargs) - - - -.. py:class:: MemoryBenchmark(backend='memray', debug=False, output_file=None, *args, **kwargs) - - - .. py:method:: __enter__() - - - .. py:method:: __exit__(*args, **kwargs) - - - .. py:method:: run(function, *args, **kwargs) - - - diff --git a/docs/_sources/autoapi/dasf/utils/decorators/index.rst.txt b/docs/_sources/autoapi/dasf/utils/decorators/index.rst.txt deleted file mode 100644 index 576ca59..0000000 --- a/docs/_sources/autoapi/dasf/utils/decorators/index.rst.txt +++ /dev/null @@ -1,65 +0,0 @@ -:py:mod:`dasf.utils.decorators` -=============================== - -.. py:module:: dasf.utils.decorators - -.. autoapi-nested-parse:: - - Implementations of important library decorators. - - - -Module Contents ---------------- - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.decorators.is_forced_local - dasf.utils.decorators.is_forced_gpu - dasf.utils.decorators.fetch_from_dask - dasf.utils.decorators.fetch_from_gpu - dasf.utils.decorators.fetch_args_from_dask - dasf.utils.decorators.fetch_args_from_gpu - dasf.utils.decorators.task_handler - - - -.. py:function:: is_forced_local(cls) - - Returns if object is forced to run in a CPU. - - -.. py:function:: is_forced_gpu(cls) - - Returns if object is forced to run in a GPU. - - -.. py:function:: fetch_from_dask(*args, **kwargs) - - Fetches to CPU all parameters in a Dask data type. - - -.. py:function:: fetch_from_gpu(*args, **kwargs) - - Fetches to CPU all parameters in a GPU data type. - - -.. py:function:: fetch_args_from_dask(func) - - Fetches to CPU all function parameters in a Dask data type. - - -.. py:function:: fetch_args_from_gpu(func) - - Fetches to CPU all function parameters in a GPU data type. - - -.. py:function:: task_handler(func) - - Returns all mapped functions corresponding to the executor in place. - - diff --git a/docs/_sources/autoapi/dasf/utils/funcs/index.rst.txt b/docs/_sources/autoapi/dasf/utils/funcs/index.rst.txt deleted file mode 100644 index a637145..0000000 --- a/docs/_sources/autoapi/dasf/utils/funcs/index.rst.txt +++ /dev/null @@ -1,250 +0,0 @@ -:py:mod:`dasf.utils.funcs` -========================== - -.. py:module:: dasf.utils.funcs - -.. autoapi-nested-parse:: - - Generic and regular functions. - - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.utils.funcs.NotebookProgressBar - - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.funcs.human_readable_size - dasf.utils.funcs.get_full_qualname - dasf.utils.funcs.get_worker_info - dasf.utils.funcs.sync_future_loop - dasf.utils.funcs.download_file - dasf.utils.funcs.download_file_from_gdrive - dasf.utils.funcs.get_machine_memory_avail - dasf.utils.funcs.set_executor_default - dasf.utils.funcs.set_executor_gpu - dasf.utils.funcs.is_executor_single - dasf.utils.funcs.is_executor_cluster - dasf.utils.funcs.is_executor_cpu - dasf.utils.funcs.is_executor_gpu - dasf.utils.funcs.is_gpu_supported - dasf.utils.funcs.is_dask_local_supported - dasf.utils.funcs.get_dask_running_client - dasf.utils.funcs.is_dask_supported - dasf.utils.funcs.is_dask_gpu_supported - dasf.utils.funcs.get_gpu_count - dasf.utils.funcs.get_dask_gpu_count - dasf.utils.funcs.block_chunk_reduce - dasf.utils.funcs.return_local_and_gpu - dasf.utils.funcs.get_dask_mem_usage - dasf.utils.funcs.is_notebook - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.funcs.GPU_SUPPORTED - - -.. py:data:: GPU_SUPPORTED - - - -.. py:function:: human_readable_size(size, decimal=3) - - converts data size into the proper measurement - - -.. py:function:: get_full_qualname(obj) - - Return fully qualified name of objects. - - -.. py:function:: get_worker_info(client) - - Returns a list of workers (sorted), and the DNS name for the master host - The master is the 0th worker's host - - -.. py:function:: sync_future_loop(futures) - - Synchronize all futures submitted to workers. - - -.. py:class:: NotebookProgressBar - - - Bases: :py:obj:`threading.Thread` - - A class that represents a thread of control. - - This class can be safely subclassed in a limited fashion. There are two ways - to specify the activity: by passing a callable object to the constructor, or - by overriding the run() method in a subclass. - - - This constructor should always be called with keyword arguments. Arguments are: - - *group* should be None; reserved for future extension when a ThreadGroup - class is implemented. - - *target* is the callable object to be invoked by the run() - method. Defaults to None, meaning nothing is called. - - *name* is the thread name. By default, a unique name is constructed of - the form "Thread-N" where N is a small decimal number. - - *args* is the argument tuple for the target invocation. Defaults to (). - - *kwargs* is a dictionary of keyword arguments for the target - invocation. Defaults to {}. - - If a subclass overrides the constructor, it must make sure to invoke - the base class constructor (Thread.__init__()) before doing anything - else to the thread. - - - .. py:attribute:: MIN_CUR - - - - .. py:attribute:: MIN_TOTAL - - - - .. py:method:: show() - - - .. py:method:: set_current(current, total) - - - .. py:method:: set_error(error) - - - .. py:method:: run() - - Method representing the thread's activity. - - You may override this method in a subclass. The standard run() method - invokes the callable object passed to the object's constructor as the - target argument, if any, with sequential and keyword arguments taken - from the args and kwargs arguments, respectively. - - - - -.. py:function:: download_file(url, filename=None, directory=None) - - Download a generic file and save it. - - -.. py:function:: download_file_from_gdrive(file_id, filename=None, directory=None) - - Download a file from Google Drive using gdrive file id. - - -.. py:function:: get_machine_memory_avail() - - Return free memory available from a single machine. - - -.. py:function:: set_executor_default() - - Return executor as a CPU (default) instance. - - -.. py:function:: set_executor_gpu() - - Return executor as a GPU instance. - - -.. py:function:: is_executor_single(dtype) - - Return if the executor is a single machine instance. - - -.. py:function:: is_executor_cluster(dtype) - - Return if the executor is a cluster instance. - - -.. py:function:: is_executor_cpu(dtype) - - Return if the executor is a CPU instance. - - -.. py:function:: is_executor_gpu(dtype) - - Return if the executor is a GPU instance. - - -.. py:function:: is_gpu_supported() - - Return if GPU is supported. - - -.. py:function:: is_dask_local_supported() - - Return if Dask is supported locally by the executor. - - -.. py:function:: get_dask_running_client() - - Get Dask runner stanza. - - -.. py:function:: is_dask_supported() - - Return if Dask is supported by the executor. - - -.. py:function:: is_dask_gpu_supported() - - Return if any node supports GPU. - - -.. py:function:: get_gpu_count() - - Get single node GPU count. - - -.. py:function:: get_dask_gpu_count(fetch=True) - - Get how many GPUs are available in each worker. - - -.. py:function:: block_chunk_reduce(dask_data, output_chunk) - - Reduce the chunk according the new output size. - - -.. py:function:: return_local_and_gpu(executor, local, gpu) - - Return executor type based on passed preferences. - - -.. py:function:: get_dask_mem_usage(profiler) - - Get Dask memory usage profile. - - -.. py:function:: is_notebook() - - Return if the code is being executed in a IPyNotebook. - - diff --git a/docs/_sources/autoapi/dasf/utils/index.rst.txt b/docs/_sources/autoapi/dasf/utils/index.rst.txt deleted file mode 100644 index aa1bd79..0000000 --- a/docs/_sources/autoapi/dasf/utils/index.rst.txt +++ /dev/null @@ -1,20 +0,0 @@ -:py:mod:`dasf.utils` -==================== - -.. py:module:: dasf.utils - - -Submodules ----------- -.. toctree:: - :titlesonly: - :maxdepth: 1 - - benchmark/index.rst - decorators/index.rst - funcs/index.rst - labels/index.rst - logging/index.rst - types/index.rst - - diff --git a/docs/_sources/autoapi/dasf/utils/labels/index.rst.txt b/docs/_sources/autoapi/dasf/utils/labels/index.rst.txt deleted file mode 100644 index 7c56fc1..0000000 --- a/docs/_sources/autoapi/dasf/utils/labels/index.rst.txt +++ /dev/null @@ -1,96 +0,0 @@ -:py:mod:`dasf.utils.labels` -=========================== - -.. py:module:: dasf.utils.labels - - -Module Contents ---------------- - -Classes -~~~~~~~ - -.. autoapisummary:: - - dasf.utils.labels.DaskLabel - - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.labels.get_attributes - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.labels.inside_with - dasf.utils.labels.g_hash_attrs - dasf.utils.labels.g_func_attrs - dasf.utils.labels.g_data_attrs - - -.. py:data:: inside_with - - - -.. py:data:: g_hash_attrs - - - -.. py:data:: g_func_attrs - - - -.. py:data:: g_data_attrs - - - -.. py:class:: DaskLabel(start, stop, label=None, color=None) - - - Bases: :py:obj:`object` - - .. py:method:: start(start) - - - .. py:method:: stop(stop) - - - .. py:method:: __name(x) - - - .. py:method:: __add_item(key, tag, label=None, color=None, atype='data') - - - .. py:method:: __add_func(key, tag, label, color) - - - .. py:method:: __add_data(key, tag, label, color) - - - .. py:method:: __generate_hashtable(data, delete_dup=False) - - - .. py:method:: __enter(dsk) - - - .. py:method:: __enter__() - - - .. py:method:: __exit(dsk, exc_type, exc_val, exc_tb) - - - .. py:method:: __exit__(exc_type, exc_val, exc_tb) - - - -.. py:function:: get_attributes() - - diff --git a/docs/_sources/autoapi/dasf/utils/logging/index.rst.txt b/docs/_sources/autoapi/dasf/utils/logging/index.rst.txt deleted file mode 100644 index 88958f0..0000000 --- a/docs/_sources/autoapi/dasf/utils/logging/index.rst.txt +++ /dev/null @@ -1,29 +0,0 @@ -:py:mod:`dasf.utils.logging` -============================ - -.. py:module:: dasf.utils.logging - -.. autoapi-nested-parse:: - - Logging helpers for functions. - - - -Module Contents ---------------- - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.logging.init_logging - - - -.. py:function:: init_logging() - - Initialize logger objects to be used by modules. - - diff --git a/docs/_sources/autoapi/dasf/utils/types/index.rst.txt b/docs/_sources/autoapi/dasf/utils/types/index.rst.txt deleted file mode 100644 index a9e732d..0000000 --- a/docs/_sources/autoapi/dasf/utils/types/index.rst.txt +++ /dev/null @@ -1,181 +0,0 @@ -:py:mod:`dasf.utils.types` -========================== - -.. py:module:: dasf.utils.types - -.. autoapi-nested-parse:: - - Data types handlers. - - - -Module Contents ---------------- - - -Functions -~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.types.is_array - dasf.utils.types.is_dataframe - dasf.utils.types.is_cpu_array - dasf.utils.types.is_cpu_dataframe - dasf.utils.types.is_cpu_datatype - dasf.utils.types.is_gpu_array - dasf.utils.types.is_gpu_dataframe - dasf.utils.types.is_gpu_datatype - dasf.utils.types.is_dask_cpu_array - dasf.utils.types.is_dask_cpu_dataframe - dasf.utils.types.is_dask_gpu_array - dasf.utils.types.is_dask_gpu_dataframe - dasf.utils.types.is_dask_array - dasf.utils.types.is_dask_dataframe - dasf.utils.types.is_dask - dasf.utils.types.is_xarray_array - - - -Attributes -~~~~~~~~~~ - -.. autoapisummary:: - - dasf.utils.types.ArrayCPU - dasf.utils.types.DataFrameCPU - dasf.utils.types.DataCPU - dasf.utils.types.DaskArray - dasf.utils.types.DaskDataFrameCPU - dasf.utils.types.XDataArray - dasf.utils.types.Array - dasf.utils.types.DaskDataFrame - dasf.utils.types.DataFrame - dasf.utils.types.DataDask - dasf.utils.types.ArrayGPU - - -.. py:data:: ArrayCPU - - - -.. py:data:: DataFrameCPU - - - -.. py:data:: DataCPU - - - -.. py:data:: DaskArray - - - -.. py:data:: DaskDataFrameCPU - - - -.. py:data:: XDataArray - - - -.. py:data:: Array - - - -.. py:data:: DaskDataFrame - - - -.. py:data:: DataFrame - - - -.. py:data:: DataDask - - - -.. py:data:: ArrayGPU - - - -.. py:function:: is_array(data) - - Returns if data is a generic array. - - -.. py:function:: is_dataframe(data) - - Returns if data is a generic dataframe. - - -.. py:function:: is_cpu_array(data) - - Returns if data is a CPU arrau like Numpy. - - -.. py:function:: is_cpu_dataframe(data) - - Returns if data is a CPU dataframe like Pandas. - - -.. py:function:: is_cpu_datatype(data) - - Returns if data is a CPU data type. - - -.. py:function:: is_gpu_array(data) - - Returns if data is a GPU array like Cupy. - - -.. py:function:: is_gpu_dataframe(data) - - Returns if data is a GPU dataframe like Cudf. - - -.. py:function:: is_gpu_datatype(data) - - Returns if data is a GPU data type. - - -.. py:function:: is_dask_cpu_array(data) - - Returns if data is a Dask array with CPU internal array. - - -.. py:function:: is_dask_cpu_dataframe(data) - - Returns if data is a Dask dataframe with CPU internal dataframe. - - -.. py:function:: is_dask_gpu_array(data) - - Returns if data is a Dask array with GPU internal array. - - -.. py:function:: is_dask_gpu_dataframe(data) - - Returns if data is a Dask dataframe with GPU internal dataframe. - - -.. py:function:: is_dask_array(data) - - Returns if data is a Dask array. - - -.. py:function:: is_dask_dataframe(data) - - Returns if data is a Dask dataframe. - - -.. py:function:: is_dask(data) - - Returns if data is a Dask data type. - - -.. py:function:: is_xarray_array(data) - - Returns if data is a Xarray. - - diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt deleted file mode 100644 index db20367..0000000 --- a/docs/_sources/index.rst.txt +++ /dev/null @@ -1,32 +0,0 @@ -===================================================== -Welcome to DASF Documentation! -===================================================== - - -DASF is an Accelerated and Scalable Framework ------------------------------------------------ - -DASF is a generic framework specialized in acceleration and scaling common -techniques for Machine Learning. DASF uses most methods and function from the -most common libraries to increase the speed up of most algorithms. Part of this -is to use Dask data to scale computation and RAPIDS AI algorithms to extend the -support to GPUs as well. - -Contents ---------------- - -.. toctree:: - :maxdepth: 2 - - principles - installation - overview - tutorials - api - -Indices and tables -+++++++++++++++++++ - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/_sources/installation.rst.txt b/docs/_sources/installation.rst.txt deleted file mode 100644 index 40219c9..0000000 --- a/docs/_sources/installation.rst.txt +++ /dev/null @@ -1,62 +0,0 @@ -.. _installation: - -========================== -Installation Guide -========================== - -The installation can be done using `conda` or `docker`. - -Using Docker --------------- - -To install DASF using docker, you must in the go to the `build/` directory and -execute the command below directory according to your build type: `cpu` or -`gpu`. - -.. code-block:: bash - - ./build_docker.sh - - -The `dasf` image will be created and be ready to use. Once it is ready, you -can start a jupyter instance by executing the command: - -.. code-block:: bash - - ./start_jupyter_server.sh - - -Using Conda -------------- - -If you just want to create a base Conda environment for DASF, you need to -create it, using the respective YAML file based on architecture: for CPUs -or GPUs. The environment name is always `dasf`. - - -.. code-block:: bash - - conda env create -f build/conda/{cpu,gpu}/environment.yml - - -Development version --------------------- - -To install this development version, all you need to do is run `pip` from the -root project directory (the same where `pyproject.toml` lives). - -.. code-block:: bash - - python -m pip install -e . - -Testing --------- - -If you have a working environment with DASF installed, you can execute the all -the test set. Make sure you have all development packages installed such as -**pytest**, **parameterized** and **mock**. To run, you need to execute -`pytest` from the `tests/` directory. - -.. code-block:: bash - - pytest tests/ diff --git a/docs/_sources/overview.rst.txt b/docs/_sources/overview.rst.txt deleted file mode 100644 index a902390..0000000 --- a/docs/_sources/overview.rst.txt +++ /dev/null @@ -1,31 +0,0 @@ -.. _overview: - -========================== -Overview -========================== - -DASF offers a wide range of Machine learning algorithms. Below, a table of -implemented algorithms and the respective infra-structure. - -Implemented Machine Learning Algorithms ------------------------------------------ - -The table below is a list of supported machine learning algorithms by DASF framework. - -+--------------------------+---------+---------+---------------+---------------+ -| **ML Algorithm** | **CPU** | **GPU** | **Multi-CPU** | **Multi-GPU** | -+==========================+=========+=========+===============+===============+ -| K-Means | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| SOM | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| Agglomerative Clustering | ✓ | ✓ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| DBSCAN | ✓ | ✓ | ✗ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| HDBSCAN | ✓ | ✓ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| Gaussian Mixture Models | ✓ | ✗ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| PCA | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ diff --git a/docs/_sources/principles.rst.txt b/docs/_sources/principles.rst.txt deleted file mode 100644 index 1eaa755..0000000 --- a/docs/_sources/principles.rst.txt +++ /dev/null @@ -1,24 +0,0 @@ -.. _principles: - -========================== -Principles -========================== - -The growth in the use of machine learning techniques has led to the emergence of a significant number of frameworks, libraries and tools in recent times. Depending on the technique used or the purpose of the project, there will possibly be a way to develop something using what already exists. With the further growth of deep learning techniques, more of these facilities become available. - -One of the problems with these deep learning techniques is the use of data in batch format. So a large piece of data is subdivided into smaller pieces and iterated during epoch training. Today, there are no tools that process data distributedly on demand in full machine learning pipelines. There are also no tools that still use the maximum computational power using GPUs, for example. - -Taking advantage of this niche space to be explored, the DASF was created whose recursive acronym is DASF is an Accelerated and Scalable Framework. The project seeks to fill this gap in creating machine learning pipelines using large volumes of data without dividing them into batches. - -So that this was also possible, a series of libraries were gathered that could compose the framework, composing most of the functionalities proposed by it. Such tools will be specified in the next sections. - -DASF as a Simple API ----------------------- - -DASF tries to enable a simple API for the user to use. The idea is to make the user's life easier when using the framework. We believe that the user should not have to worry about the details of the framework, but rather focus on the problem to be solved. The framework should be transparent to the user. - -In order to simplify the learning-curve some concepts were created to facilitate the use of the framework. The main ones are: - -* **Standard API**: We try to follow the same API as scikit-learn, so that the user does not have to learn a new API to use the framework. This is a very popular API and is widely used in the community. So, operations in DASF usually implement the same methods as scikit-learn, such as fit, predict, transform, etc. -* **Extensibility to new devices**: DASF allows simple extensibility to be used in new devices (e.g., GPU) by implementing a simple interface. This allows the user to use the framework in different devices without having to worry about the details of the implementation. -* **Extensibility to scale**: For multi-node scalability we use the DASK construct graphs under the hood. This allows the user to use the framework in a distributed way without having to worry about the details of the implementation. \ No newline at end of file diff --git a/docs/_sources/tutorials.rst.txt b/docs/_sources/tutorials.rst.txt deleted file mode 100644 index f354361..0000000 --- a/docs/_sources/tutorials.rst.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. _tutorials: - -========================== -Tutorials -========================== - -Tutorials using DASF. - -.. toctree:: - :maxdepth: 2 - - tutorials/Tutorial_1.ipynb - tutorials/Tutorial_2.ipynb - tutorials/Tutorial_3.ipynb - tutorials/Tutorial_4.ipynb diff --git a/docs/_sources/tutorials/Tutorial_1.ipynb.txt b/docs/_sources/tutorials/Tutorial_1.ipynb.txt deleted file mode 100644 index de77cbd..0000000 --- a/docs/_sources/tutorials/Tutorial_1.ipynb.txt +++ /dev/null @@ -1,289 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "981cafbc-1031-4827-b9a5-77ae10b4fa92", - "metadata": {}, - "source": [ - "### Tutorial 1 - A Quick Demo\n", - "\n", - "In this first tutorial, we want to present some basics of DASF framework and how you can use it to manage your machine learning algorithms in a multi architecture environemnt like single machines, clusteres and GPUs.\n", - "\n", - "If you are familiar with all the [scikit-learn](https://scikit-learn.org/stable/index.html) API, DASF has the same methodology of function notations. The only difference of DASF is that this framework is directly associated with the host environment. If you are using a clustered environment with [Dask](https://www.dask.org/) for example, you will use the optimized functions for that environment type. If you are running your code in a single GPU host environment, your code will have the specific optimizations for that type and so on so forth.\n", - "\n", - "Let's try our first example with some basic clustering algorithm. First, create a simple dataset using `make_blobs` function." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9a10b3d6-4d4a-498a-a03e-036679fea3fe", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import make_blobs\n", - "\n", - "n_samples = 500000\n", - "n_bins = 3\n", - "\n", - "# Generate 3 blobs with 2 classes where the second blob contains\n", - "# half positive samples and half negative samples. Probability in this\n", - "# blob is therefore 0.5.\n", - "centers = [(-6, -6), (0, 0), (9, 1)]\n", - "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "id": "d5d5931b-08a2-402c-acc1-6378b63e1308", - "metadata": {}, - "source": [ - "Notice that we are using the same code available in scikit-learn tutorials and demos.\n", - "\n", - "To have a better view of the data distribution, we can plot the generated dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "6d8b9470-6079-4b4c-8ad0-639719057ca0", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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vn07Cxcu1LGy1BUKhTh27BgzZszQu5SUU1hYiMvlYvv27RQVFQEX+nXt3LmT9evX61xd/5aSYeVyeL1empub8Xq9RKNRjhw5AsCIESPIysqivLyccePGsWzZMjZs2EBzczOrV6/m3nvvxWaz6Vt8P7R371727dvH7NmzsdvtHDx4kJUrV7JgwQLy8/P1Lq9fWrVqFcuWLaOkpITS0lJeffVVvF4v9913n96lpYTVq1czf/588vPzaWpq4sknn8Tv97N8+XK9S+uXAoEAJ06ciD8/efIkR44cIScnh/z8fB566CGeeuopRo4cyciRI3nqqafIyMhg6dKlOladAnQejZT0li9froAujx07dsSXqa2tVfPmzVPp6ekqJydHrVixQnV0dOhXdD9WVVWlpk2bpux2u7JarWr06NGqoqJCBYNBvUvr115++WU1bNgwZTab1ZQpU9TOnTv1Lill3HnnnWrw4MHKZDIpt9utFi9erKqrq/Uuq9/asWNHt3/zly9frpS6MHy5oqJCuVwuZbFY1I033qiOHj2qb9EpwKCUUnoFJSGEEEKIH5OSo4GEEEII0XdIWBFCCCFEUpOwIoQQQoikJmFFCCGEEElNwooQQgghkpqEFSGEEEIkNQkrQgghhEhqElaEEEIIkdQkrAghhBAiqUlYEUIIIURSk7AihBBCiKT2v8F99NlEdpGMAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Only to generate colors\n", - "import numpy as np\n", - "\n", - "from dasf.utils.types import is_gpu_array\n", - "\n", - "from matplotlib import cm\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# Check the data just to plot\n", - "if is_gpu_array(X):\n", - " X_cpu = X.get()\n", - "else:\n", - " X_cpu = X\n", - "\n", - "colors = cm.rainbow(np.linspace(0.0, 1.0, 1))\n", - "\n", - "plt.figure()\n", - "plt.scatter(\n", - " X_cpu[:, 0],\n", - " X_cpu[:, 1],\n", - " s=50,\n", - " c=colors[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - ")\n", - "plt.title(\"Dataset\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "6fc4ccc3-e5e3-426d-a145-87ebdf80782b", - "metadata": {}, - "source": [ - "Once, we have the big picture of how our dataset is distributed, let's run two clustering algorithms to understand how it can be classified.\n", - "\n", - "For this tutorial, we decided to use KMeans and SOM (Kohonen's Self-Organized Map) as an example." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f41ed448-e3a8-47b1-8f2a-c92c6013892e", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.ml.cluster import KMeans\n", - "from dasf.ml.cluster import SOM\n", - "\n", - "kmeans = KMeans(n_clusters=3, max_iter=100)\n", - "som = SOM(x=1, y=3, input_len=2, num_epochs=100)" - ] - }, - { - "cell_type": "markdown", - "id": "9afda5c9-f59a-4974-b603-1e51ac69323c", - "metadata": {}, - "source": [ - "As we know our dataset defines 3 centers with 2 classes, we set KMeans `n_clusters` parameter with the same number of classes of our dataset. On the other hand, SOM is based on an activation map and it does not necessary needs a 1-D map with 3 activation points, but we want to use here to help the classification algorithm also. See that as we also know that our dataset contains two classes, the parameter `input_len` of SOM needs to be set as **2** (same number of classes).\n", - "\n", - "Now, it is time to `fit_predict` both classifiers. Let's analyze KMeans first." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "579b0eab-8096-4f00-a993-626f2c5bafc9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 315 ms, sys: 7.29 ms, total: 322 ms\n", - "Wall time: 326 ms\n" - ] - } - ], - "source": [ - "%time result_kmeans = kmeans.fit_predict(X)" - ] - }, - { - "cell_type": "markdown", - "id": "c2f9beae-6356-4565-bc81-23fe7586851f", - "metadata": {}, - "source": [ - "KMeans is a fast algorithm compared to SOM. For further reference, let's see the speed of the SOM algorithm." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3afbb17c-4ac0-435e-a8a4-b9bc4934e697", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 4min, sys: 210 ms, total: 4min\n", - "Wall time: 4min 1s\n" - ] - } - ], - "source": [ - "%time result_som = som.fit_predict(X)" - ] - }, - { - "cell_type": "markdown", - "id": "1ed936d8-6acd-4d04-8f3d-f13ac73f83d7", - "metadata": {}, - "source": [ - "Now, let's see the performance of each prediction. The first one is KMeans results." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "0cc9cff9-b6f6-49d5-9edb-cc38d21113dd", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAisAAAGdCAYAAADT1TPdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOz9eXRc933neb9v7fuOKqAAFPaNILjvlETt1upFdqwkTnuynk4nk860J8/kON3PeSZ9epJ290zH3UmPEy+RYzuxJFtyLIkStYv7ChIkiIXYUQWgUIXa91u36t7nD1CMadGy5I2UdV/n8A+CtwqXIMD61u/3/X2+gqIoCiqVSqVSqVS3KM3NvgGVSqVSqVSqd6MWKyqVSqVSqW5parGiUqlUKpXqlqYWKyqVSqVSqW5parGiUqlUKpXqlqYWKyqVSqVSqW5parGiUqlUKpXqlqYWKyqVSqVSqW5pupt9Az8tWZZZWVnBbrcjCMLNvh2VSqVSqVTvgaIo5PN5gsEgGs27r5184IuVlZUVWltbb/ZtqFQqlUql+glEIhFaWlre9ZoPfLFit9uB9b+sw+G4yXejUqlUKpXqvcjlcrS2tl57HX83H/hi5e2tH4fDoRYrKpVKpVJ9wLyXFg61wValUqlUKtUtTS1WVCqVSqVS3dLUYkWlUqlUKtUtTS1WVCqVSqVS3dLUYkWlUqlUKtUtTS1WVCqVSqVS3dLUYkWlUqlUKtUtTS1WVCqVSvWBJUkShUIBSZJu9q2ofo5uiVC45eVl/vRP/5SXXnqJcrlMb28vX/va19i+ffvNvjWVSqVS3YLC4TAnTp1kZHIUSa6h1+jY0j/Evj17CYVCN/v2VD9jN71YSafT7N+/n7vuuouXXnoJv9/P7OwsLpfrZt+aSqVSqW5BZ8+e5ekXn0Xxmei8fxM2t4NCOse54QmGnxjh8Yc/yY4dO272bap+hm56sfKFL3yB1tZWnnjiiWsfa29vv3k3pFKpVKpbVjgc5ukXn8W3q5NdD9xxXVT7wO7NnDl0hKcOPoPf71dXWH6J3PSeleeee44dO3bwK7/yK/j9frZu3cpXvvKVm31bKpVKpboFnTh1EsVnekehAuszZnY9cAeKz8TJUydv0h2qfh5uerEyNzfHl770JXp6enj55Zf5/d//ff7tv/23fOMb37jh9aIoksvlrvulUqlUql9+kiQxMjlK5/aBHzn8ThAEOrcPcGFyVG26/SVy07eBZFlmx44d/MVf/AUAW7duZWxsjC996Ut89rOffcf1f/mXf8mf//mf/6JvU6VSqVQ3mSiKSHINm9vxrtfZ3A4kuYYoiuj1+l/Q3al+nm76ykpTUxMbNmy47mMDAwOEw+EbXv/5z3+ebDZ77VckEvlF3KZKpVKpbjKj0Yheo6OQfvcV9UI6h16jw2g0/oLuTPXzdtOLlf3793PlypXrPjY1NUVbW9sNrzcajTgcjut+qVQqleqXn16vZ0v/EHPDEyiKcsNrFEVhbniCrf1D6qrKL5GbXqz8u3/37zh16hR/8Rd/wczMDP/0T//El7/8Zf7wD//wZt+aSqVSqW4x+/bsRUhUOHPoyDsKFkVROHPoCEKiwt49e2/SHap+HgTlR5Wnv0AvvPACn//855menqajo4PPfe5z/N7v/d57emwul8PpdJLNZtVVFpVKpfoQOHfuHE8dfGY9Z2X7wLWclbnhCYRERc1Z+YB4P6/ft0Sx8tNQixWVSqX68AmHw5w8dXL91M/VBNut/UPsVRNsPzDez+v3TT8NpFKpVCrV+xUKhQiFQjwmPYYoiuvNt2qPyi8ttVhRqVQq1QeWXq9Xi5QPgZveYKtSqVQqlUr1btRiRaVSqVQq1S1NLVZUKpVKpVLd0tRiRaVSqVS3BEmSKBQK6kwf1TuoDbYqlUqluqnC4TAnTp1k5AeOIW/pH2KfegxZdZVarKhUKpXqpjl79ixPv/jsesDb/ZuuBbydG55g+ImR9xXwJknST3yM+ad5rOrnTy1WVCqVSnVThMNhnn7xWXy7Otn1wB0IgnDtzwZ2b+bMoSM8dfAZ/H7/u66w/KiVmZ3bdxAIBN61AAmHwxw5dpTzYxeRNQomvVFd1bkFqcWKSqVSqW6KE6dOovhM7yhUAARBYNcDd3BwboWTp07+yMLhRiszq5EVvvf6a/zPb36ZUFMLrS2tNyxAnn/+eb78za+Rrhex+90YTUa8Xh9vXDnF8MT7W9VR/XypxYpKpVKpfuEkSWJkcpTO+ze9o1B5myAIdG4f4MIrl3hMeuwdqyM/vDKjyDKRSISMtkzXx3di29DI2vl5bJuCnFue5MxXh/n4vY+wd+9eDh06xBf+7q9wbw1x10MPYfE4KKXzhIenKK8VMbot71jVUbeKbh61WFGpVCrVL5woikhyDZv73WfC2NwOJLmGKIrvKBDeXpnp27uZsfFxwssRVhMx9FYjrQ3tbH30Ns7mKiRWYjh8Lk4MX+D0f/0/6Qq2Mz0/Q/DeQR75k99A0PzLwdjO3YOMHjpF9NQUZsHAsWPHuO2229QG4JtMLVZUKpVK9QtnNBrRa3QU0rl3va6QzqHX6DAajdd9/O2VGfuWJs6ODINFh67JRqDZgsVhJRNNkRpJUhErHHnzJIP372bv7z1ELBIlcngcpc2Ge0MLqdUE3qD/2vNWRZHAti4mT19iJbLM+VdP8tSLz9K8uYuN92//qRqAVT85NWdFpVKpVL9wer2eLf1DzA1PoCjKDa9RFIW54Qm29g+9Y1VFFEXS2QzRzBqWZjfdOzagt5twt/pxt/pp39lPXVCYPjdG0+5etj9+F1qHCdmgIZZeI3THRoxeKzOXr1DM5gHI53Isr0Yp1sqEbh9ErEmIBhnDtkZcO9qwNXloaA7Qu32Qh//gV/Ht6uSpg88QDod/7l+vDzt1ZUWl+gBT99BVH2T79uxl+IkRzhw68o4mW0VROHPoCEKiwt5H977jsUajkbVYHIdkp7k7RF2WUVBAURALZXRGPYXVNLZmD462BmbHptBajTjaGzC5bThDDVgaXaylwkxfmKBv10bWUkn0dhN2j5NaoUIpncfbE2Tnx+9k+PmjHP/2y/i8PsxmE139PQzs3szaj2kAVv1sqMWKSvUBFA6HOXHiFCMnJpEqMnqThi37+tm3b4/6n6bqAyMUCvH4w5/kqYPPcHBuhc7tA1gdNjLJNIsjU2hTVR5/+JM3bHAFqEs1sisJFCAdiTH+wmnSqwm0Oi2KAomZJfyb2qlWq5j8DowuK+lYkjoKxXQOS6MTrc3I/OQMmUwGo9NCaHMPCFBYy5JdTdG2tYej33wRk9dG1yM78Pq8mDR6FoanmPraJI1NTZwbG7lhA7DqZ0ctVlSqD5izZ8/y9N+/iBzz0eW5H5vJTaGU5uzTwwwffoLHf+dhdQ9d9YGxY8cO/H4/z7/wPK/9zXeJZ5ModRmfzc19d96D3++/YY5Kf3sPFpuVYqrMy3/1bbKJDFqXiY67NmFyWFi5NMfM4YvY2/042wKUqxXEbB2L346ns5GV4Wn8m9qx+J0YVpIoVi3FYpGLL53AHvAw/v0TlDIFoosr9D+4kw0P7kauy0jZEg1ODxqbgZEXT/DKMy9gEKGvrZv7771PfbPwc6IWKyrVB0g4HObpv38RX24Xu4YeuD5Eq3k3Z2YO8dTXDv7YEC2V6ma50dZlLBZjYW2Jtl393LaxG5ffQ6VQYm54gv/vF/4jslQjsLnjuoTbkdOjzCzOgU5D/Og57G0+vO2NiCcmMHksOFp8+Pqa0ZsNWBudoNcgVUQquSIGh5nUfJTo+Vl8fc3ozAZc7QFMDiup2RXGnjnO3BsXkcoVqtUq5WqF4X8+jE6nw2AwsGq1orUYCO7uZeXKAsnxJZ44+G2+f+h5/vVnf5dHHnnkJn+Vf/moxYpK9QFy4sQp5JjvHYUKXA3R6n6AF0bnOHnilFqsqG4pb6+ODI+NUJFETHoj2we30NYa4tlXnrthim2wv50n/+4bJKaWePiRO2hsayadSpGq5FE6HZiHGpl5a4TAQIjOA1uITS4yf3SUeq2Os8WLXJdZGw/T+8gudCYDaASKa1m8vUE83U1MPn+ahcOjNGwIIRVFCqtpElPLhI+Ng6JgC3ppP7CRlj39yFKN3FKS3HKSUqGIzevEFnDRff82jDoj+x6/j4k3zvGf//a/AagFy8+YWqyoVB8QkiQxcmKSLs/97xqi1eXZzoUTr/DYJyV1D11100mSxIkTJ/jWs0+yWkhQN2jQGnXUxRqTSzOUY1na9mzgoRuk2C4tL9N55yaMVhPDb57E0RVgJjKPxm5AZzex9bfvQ9ELREfmGH/+BE1bu7j9//gkdalOfDJCYTXN/OsXGX3yMEO/egCLz0FNrOII+TBYTThbG5h64Szxy4sYbCYsXgfO1ga8PUEcrT6kUgXfQCv2Rjd6ixFb0IN51k5yahmxXCHQ6KaSL1GTa2TFIh33bKGmgf/5D19m06ZN171hUJvhfzpqsaJSfUCIoohUkbGZ3O96nc3kRhLlG4ZoqVS/KG+vpBw5dYxjZ06i8Znp2LWBDfs34Wr0UkrnWTgzyfSzb2DMJVmLx3E4HBgMBjRaLXK9TiwRw90VoFIocfIfXyWk2YizqxG93QgGLUanBU9fkOjFOTof2Iarw4+91Uc1X8GWyuNo9qLIChPPniR8fAJPVyPVfBmtXodUrlKv1rD47HR/ZBut+zegNeiYf3WEarFC1/1bmHvtIpVsEbFQQapUQVFwtQcQ82VKa1niVyLUS1VMbhvBLZ3IdZk2oc7w7CG+8Y1v8B/+w39QJ0r/jKjFikr1AWE0GtGbNBRK6Xe9rlBJo7do3hGipVL9opw9e5Ynn/8uNa+BNYoIXhObf+MuWnf3I0gyVp+bpr42/AMhYuk1Fi7O8NUvfZlAZwt2m4321nY629upKzJoBCrUqNQlsOiwNrsRSxXMbhsGq5H8cgpXe4ChXz9A+OgYkZOTWHwOXO1+FFnB092ILeDC6LBg8TrwdDah0WvJr6RIzUQxOiy07t+A2WlFVmQS08s4mr3YGz34+pqJX14kuL0bpQ5yXUYjKziavZRTeWqiRH5xjbYdfTibvKAomFw2EpMRXvzn1xj83iAnLp35mUyU/rBTixWV6gNCr9ezZV8/Z58eZqB59w23ghRFYTY1zK57+39mqyrq8rXq/Th58iRf+NJfYd7op3VDM2PPH6JxVxeh/RuQxCrVqkh+YR6n1U50LkIxl6eSLzN/apxKvoy9wUUql2EltoIgaCCZopjLI1WrONv9mL12pGoVvcWARqclG1mjYTBEKZlHqlRxtHhp2tpNJVMgfnmR2KUFNj5+O3qrCaUuY3JaMTot+D7TwqVvvkkmsoZUqCAAWoMepa6gNenRmvQ07+7j4jffYPHIZXoe2EFNlFDqdXQmPRqthtWRWZRyncGH9lAslJBqVcRiBWvQTbqS40vf/Cr3/N7H39GL07djI6dePMy3n/uO2gz/HqnFikr1AbJv3x6GDz/BmZlD7Op+4J0hWjOH0AQS7N336Ht+zh9VjKhZLqr36+zZs/zFX32BaouJfb92N/WKREWs4OppoiSWsTrtWPxOSpkCV45eZuHYZSxeB5t+/QD1skRwqIPVi/PErkSQa3VsFhuZ+SLLF2Yw++xYfA6kiohcl6mVJSq5EsV4hrbbBknPRrH6HOvbNNkilUyR9HwMd2cTvY/uIj66iCIrFNcy1KsSWYuJxm1dIAjEx8K0H9hIvVanEM+gtxpJTq2gtxhxtjYw+9oI2UiC4LYutHodueUks69eIL+S4rb/7RModh1FsYTeaKBWq0EdxGqVlLFCcGPntZ/TbDZLZGmJWCJGzS4zlprn//mr/8b//u8+p/5M/RhqsaJSfYCEQiEe/52HeeprB3lhdI4uz/b1nJVKmtnUMJpAgsd/5+H39B/fuxUjsVhMzXJRvS/hcJhvP/8dyjbY+yt3429tInJphlpVwtrgxOZ3IZVEDFoDYrbI0vAU7QeGaLt9kGx4jdRslOadfbTdNsjUS+eYe/MS2oF2ls7MEJuM0PPwDmpiFb3VRG45ydRL5wgfGyM1F2Psu8dwtProumcLlVwJZAWT20olU6Dr/q3IkozOqMfd1cTqhRr1ao3ccgK5WsfV5mf14hyNWzqZfuks2fAaBqsJe9CDo9mLuz2A2ecgdnGeye+fRgESE2GqRZHOe7bg7lnfVjI6LJQSOaSySGJqGYffTWBzB5evjOFwOCgWCoxNT4JFh6srgMFkpDufZ/gfXueLX/0bfv2jn1Z/pt6FWqyoVB8wb4donTxxigsnXkESZfQWDbvu7WfvvkffU6HybsFyb77wV1TKVTaYHlGzXH7J/SRbfD/qMSdOnaTm0tEgNGLxrE9SjlyeBUXhysEzLA/PINdqaDRaioks1kYXPQ9up16tURMlpJJI9OIszmYfTVs6mTs6ysh3D5MPJ6iIIvGxMCggK3VWhmfR6rQENrbTfsdGBI2GYjzDwpHLBIsVmnf2YnJaqEt1dCYD2cU4gkZDNVcCwGA3AyDWS5RTBfKraaZeOM3K8Cw9D2wjt5Iien4Wg91MJV3A7LIR3NFDOZ0nsxBHKlUxOi30P7oLRYBiIkc5XUDQaFg+N8Pq5AJirYqsgZVEjMNvvYXWbMDVEaC5O4Qsy9TqdYLdIZIbu3BtbuWpg8+oP1PvQi1WVKoPoFAoRCgU4rFPvv8Xmx8XLPeV1/6MZFTiEx/dq2a5/JL6SU6ovNtjmpqaGJkcpefujaTeOE4pnacm1Zg8fB6Ty4ZUFgnu6MbT2UhqbpWT//05LA0OZl+7iFavJb+axtXgQUqXOffiIbIrSUqpPNnlJLVMGa3HiJgrceZLBzF7bHR9ZDveniCerkbsTR5ilxfxD7VTiKZYPDaGM9SA3mqkVqkSHwtj9TkIbOpAzJWoiRJ1qUYlXcTotpKPJinGs9ga3fg3htj2ux9h9cIs5594jfCJcZq39+DtbUZr1JGYWGL5zBS5yBoGu5npQ8MEhtox2kyUknlSV1bWG3Tb/axdWaKYzuHuamRhbRlXwIvH1srs7Cz5UhEEiF6cYyWyzP2f/Thj0ZQ6Y+hdqMWKSvUBptfr0ev1SJJEoVD4sUWLJEm88cZb1KMedm1+Z7BcXa6hqZlolLtZWlrG5XK94znULJcPtrNnz/L0i8++rxMqP+4xj971IJJcw9ngoau/h4XhKSqFMvPDk7i7m0CB8WeO4+4KYvM7cHcECGxqBxQ0Bi16s56546Ok5mN4OhvpeWQnOpOe8MlJVs/PUEzkSC3EMHtsuDoacTR7QFGoZEvIUh2tXkd0eIZ8LE1qOsrx//osJreVzEKcYjzLXf/xM5jcNjILMTzdTYBA9MIsNVFibSxMPpoCYNNv3Em9IqHRadFoNWj1OhJXlknNrYIAlgYHfR/bQ+ziHEsnJ5k5NMzS6SsIClRLIvZmD03bukheWaKcLZAJx/H1NyNJEoLTQHhlCZPNjC3oRqvXMXHwDPomG2+dPorHYWF47CL3p+/HZrOpP1c/RC1WVKoPsPfaBPv2dcNHxzhx+Cy9yiOM6cZpbW3B6XReu06qi9RrCk2WblYjCQYG6mi12nd8XjXL5dbyXrdzwuEwT7/47A3TYgd2b+bMoSPv2I54L4/5/msHKRdKFNI5NuzZwsn/eJjT338Td08Tnu4g5XSBSrbIwuFLyJKMwWaklMihMxupZIrUazXy8Qztdw7RfudGaqUqYr6MrdFN+71bEPMlLv7D6xhsZtpu24CvtwWzx46ggcJqhsipCWIXF7AHvXQ/uJ1KroxWK2B0WEleWeLyU0fpODBEJVPEP9SORqcht5Jg+fQUdanO4KdvZ/61ESqpAivDM0ROTdKwIcSeP/4oxXiGerWOvclNrSJx8Vtvgkagdf8GHC0+PN1NaDUals5Nk5pZ4fJTRzE6LDT0t1KIZZg6eA5LwIm5wUFDnw2zy4bV62Dq0DkQa+z/nYdZi8QYf+sSa8emKEsVrCaLmsXyQ9RiRaX6gHqvAw1/8Lpm+wE8ShafMsjKWJHowgUGt/USDAYB0GuNaHUaapTR10zU6zcuVtQsl1vDe93OebuYOXLsKIrP9I6iA65u8T1wBwfnVq7bjjhx6uSPfIwiy2y5ew8vzyyhz4uMvHoSs8fO0lwEfYMFvc2EzmJgw517UYD8aprZVy8w//oIBpuZHb//IFq9jsiJCZyhBtydAebfuER2MU4+mkLMl7H4HHj7W/D1t5AJJ/D1t2JrdGP1O9EZDdRrMmtjYYxOM7VKlemD56gWyphcVnRmA2KhzLkvv8Tk90/h6WwkMNSO2esgcSXCwluX2fSZOxl4bC/Z+Rg6sxGz144iK7Qf2IjOqMfktFFO5gCIj4WJjc7Tfd9WbEHPei+MIFCTavj6mykmcoi5Ei17+2ne3o1WpyU5GyU2usjEM8fJ7ujF1dpAJZYlv5KmeUsnSxPzFLN5REkkJxZpu2sjFrvtHStdP4sIgQ9yDIFarKhUH0DvdaChJEk8+41Xrl1Xl2ucnzyGSTLSad/JcmqGsfNTWK1WnE4nOq2erpZ+Lg2fZYPt9hsWKj+PLBfV+/detnP8fv+1YkaUqpw7P0zv3k3EI1ECoeA7nlMQBNq39HHmpfM8+sij6PV6RiZH6bx/07XvMbleJ5VKEV1dJZ5ao67IpLVlpsdGqMhVFKcB36YQhUyWtv0baL1tA7JUB8DktmK0r5+0WToxQeTEBIJOy+zL52nc3MHYU0exB700beuiiS6kcpXYpQVmXhymVqkiKHDub18ksKmDtgMb8XQ2MvLEa0ilKhafk2qxQuvefrz9zdTFGtnFOBavg+JaFmuDC3dXgOT0CqmXzuEMNaAz62ne0QMKWAMu1ibCeLqbqFWqaPU6ZKmORqcBAWoVibnXR3C2+Gg/MERqbpV6tY7Vb8PktJJeWEWp1XG0+EjPRimupkEBZ5uf4PYuMgtxrjx3CqPTQtuuAVw9AXReC1qjHl/QxerlRQxeK8NHz3DnR+/j4T/4Vc4cOsJXn/wHTp05zVIi+hMn4P4ypOjeUsXKX/7lX/Jnf/Zn/PEf/zFf/OIXb/btqFS/cO/1nc97HWj45LefRhfrvnbd28XIwvgwnfbdNHu6mY6niUSWcDqd1Ot1ugNbeVV4mkZDAxrNgeue+/1muXyQ38ndyt7L1sxfP/G3mAwG7N0BOu/fhNFqJtWkkMsVee6Jp7nj4Xvo2zF07XFvZ4CMz00yMnKG//B//Z9s6hsknc2wwe249uczczOk8hmMLgu+5kYcLif5YoHVYpLe27awOhsmMRdFqknExyOsji7g6WrCvyGE1qjHFnCz///zGP/8219k8vunaRhoQWfSU04X6Lx7E41bu5CKFfRmIwgC9iYPtkY3sYtzWANuTG4bdanG+HePE9zZQ+zyAl33baWcyhPaP0DX/dtQ6jKlZI5iT5BseI3k1DLzb16iJoo07+7D2eYncmICMVti9Omj1EoislQjG0kglUQEoJIpUi1WkGt15LpMZiFOLrLGhk/dtt7TohEwu21otBpSc6tc+f5J5LpM694BPF1NuDsDiNkSkVOTLJ+ewjvQQmBTB1KpQsOmNgSthvh4mPRinFIiR2E1Tcv2HowhF0cOvo7L76VlqIs3Dr7K8vAqD/7er/xECbg/SY/SreiWKVbOnj3Ll7+8PvxJpfqweT8BbO91oGG7azNPH36RT2/71HXXbQjtYWbxCUZThxjyPIDbHCQ8M44sy8SWksykTlPSxpjndb5zOs/Gltvfd5bLLyJQ7sNcCL3b1owgCPTt3cwbB1/Fa3Lzq3/wqwiCgFyvs5Baxt7pZ/XywrUXxEAoyMry8rUMEI3ThL+nhY4Ht3Dx/CRjE2NYTjdhCXkQhRpFjYSruxGAlcgyK4tLxEbmMNjMuDv8XDl1EVdXI4P3bsHZ1oBUElm9OM/k86fxdAfpe3gnxdU0epOB1r39NG3v4vxXXiawsZ3Oe7eiyDIGq4lKukAxnsXV5sfZ1kDs0jyx0QWsDU6MDgtag5Zzf/sSnu5GdGYDJqeV9rs2odFpKSbzyFIdd0cARVZwtPqoSzWSUyvELy3Qdf9WVs5MIZWqFFZShG7bgLsjQCVbJHxsnLXJJWRZwdvXTH4lRSVTQMxXMLlsOFt9VEsVKpkiRocZg91CYnKJSqbElt+8h8FP3052PrY+S0gQaN03gKDVMP/6RRwtXuKXw5jcduqihNFuxtsbpGEghM6kJzMfY358BkGUOfrC6zg3BOk4MERhfJXe7YPorn6f/6j+oh82OzvLt773JIG93ex95O731KN0q7olipVCocBnPvMZvvKVr/Cf/tN/utm3o1L9Qr3X3pO3vdeBhkadhXpVwGJwXPfxgDPEHdse5sj5gyTjc5grQaKZWaKpRQqaVeq2FB/p+m1S4hKR+hnKhQU82ob3nOVy8uRJnvza8wiJRnp9P/rv86OKjR9XhHzYk3UlSXrH1swPW1pepmlrF7WlHPVaDZ1ej0arJeALEI0mGPrIbpJzUcZPjWByWhmbnsTS7CbY1cpbX/pnNu/dztBtO+jftYm5qVmOvPQ6D/4fn8Gmt5IuZsklMmgtelxdARDg0jNHwahl+PtHadjSTsvuPhq3d2G0mzHazDRt72bhzUtMvXSO4PZuFo5cxuJz4utvQa7WQRCwBlwosoLebMTstpGZj6EzGShnCkwfPIer3U9wWzf+jSEKsQzJqRVqZRG5JrNybobuj2xDzBSppIvUSiImrw2dSY/JbaMQTdF+YAgEAWeLl7GnjyHX6/Q8tIOGDa2YHBbqtToGi4nBX7mN8LFxpl44y7H/8l18fS2YXVYCW7qIjy6QWYxTLVSIXpilLtURcyVSM1EcrT7a79hIYSVFZjGO1e/C19eCVq/F29tMMZZh6cwUxdU0K2em6HlwB97+Zmx+F642Pwa7Gbkus/jmKFeeO82RV97krv5P0jbUzaWxFSSxeq1Y+VH9RW97e9vn6eeeISam6TBWEMsiG/Zsubb99+Oe41ZzSxQrf/iHf8jDDz/Mvffe+2OLFVEUEUXx2u9zudzP+/ZUqp+b99p78oPvfN7rQEOxVkJrUChV3/kz0hfcgcvq59yVN3jj5D9SkBNsDxxgsLWPnqZP0ezpRqvRcWbmEDHrSX73f3uc7u7uH3vS5LnnXuDJv3sBQymA363BJswx1H4bIV/ftb/PV7/4JKf2nGFpKoFUkdHoFQZ3dtHV1cHycpTzx8aoFGuYrDo27+lj2/at1z73+y3sfhmJoogk17C5HTf887enFTd0N7MUyVz3Itfa0kL0wiorsxFC23qYffUint5mZLOGhtZGLr14klqiiH9bE28+/SKzk9NkKwVWJ8O89sWn8W1uw9zowtsbxNUeAGD6pXPEJyKIhRLBrV34N7ZTLVQQc0X0ZiOyLCPX6nTcs5nVkXlmXj7P2tgi7XcOocgyxWQOQSNQE6uEj17G1RHAGWqgJkpodBrm3rhI45YOGja0kllcwzfQiqPFR9O2bupVidVL8xisZlytDevbRaMLzL58geTMMmK+Qr1aQ67VadrWRbVQpufBHcy9OYqj1Ye7I0BiconiahoF0Gg0WAJOgtu6cXX4mfjnU/j6mtHodGifPkZuKUHk1AQmlw13RyPNOzsxOS1cfvooTZs7iY+Hkat1fP0t+AZa1qdHS3UQYPBTt5GNrFHJFAls6WTb732EXGQNe7MXs8uGXKuj0Sn0PLSD+ESY2VfOU5YlMrEUWo0GvdFw3b+zIAh0bh/gwiuXeEx67NrP5tvbPnWPAee+droG78BkNLIwPMXME1PXbf/9qOe4Fd30YuXJJ5/k/PnznD179j1d/5d/+Zf8+Z//+c/5rlSqX4wf7j2p1+vXTuBotdobBrC994GG59m4t53Z1WE2hva947qAM0TIvAO36QK7Nu7Da2tkYXmGmYVJNBqBrtYBBtv2Eg/PcX74Aq2trdc+/w97u4iYOZHFu3onDk0jlUyBo7MnOOY+xP17Ps2+3kdoNg/xxhsHWZoaZk/no0RTC8wvX+HlZ49RKKdpsQ0RMm9DL1iJFGOc+M4rVB3/wMC2dnbevpnLp+boUO75UCfrGo1G9BodhfSN36jV6nXqirzeJPpDL3JOp5PB3gHGpiZIriWILi5z5JU3qGkUjn/jEIXwGqFQiNeeeRFHh5/2ezfhLHdgG2xi/tgoy985Suj2DfiH2oiOzLJ8ZprohVnEQglns4+2OzYi5kqsnJti6dQkZp8DT2cjjVu7cLcHaBhsZew7xzHYTRRiWUrJHO6uAL7eZny9zVj9bkqJPPnlFDWxSmx0EalcRWvQET0/R7VQoZIuoNFpsXjtNAyGqBYrpOZWqZZE4mOLDH/1ZXRm43oUflcj1XyZyMkrxC7NU0rmCe7oQZbqKHWZ2OgCvt5meh7cgcFiJLecYPnMNFeeO4292Ufz9m58G0LIUp3SWhapWKG0lqX34V10P7Cdar6M1qjD2uCieXcf9WqNYjyDvdmDRqNBkWUEjUBdqmFwWDA6rHg6AlTzZbKLceRajXIqj1anRWcyXHtMQ18L04eGqSJx9oUjbOnbeK3g/EE2twNJrl2LEPjBXqYtd+/h8MmjBAbbcfrcdO4eZPTQqeu2/270HLeqm1qsRCIR/viP/5hXXnkFk8n0nh7z+c9/ns997nPXfp/L5a79J6pSfZD8YO9JLpcjElliNZJArilodAKNrT5aW1tod27hzOGXePSjj2CxWIAbDzSs1SWkukgqv8rzw19hMTtCh9xOeP4Q8bUoH935+zS62q59/lqtxvHLL1IxxonGNGTnBdz1HSglI+VajnOzF3nL9hImB5z+L2uce2sCo0X/ji2Xt1eH5Jk2rMtabFIrAUs3OpMJqV7mUuIZvvPq35LP5agtuwmxn6Xim4xNn8dQCtCt/QjJShFvcR/Bwg5MFhOKtkqj0kNIeYClyinCp8+xNHkYXb6B2+955/bHhylZV6/Xs6V/iHPDEwzs3vyOr4VOq0WDwMLpcfo7ut/x+GAwiNVq5eC3v8f8hSvo58N42xtp29SDaUsfl145TfOOHoY+vh93o4/qxCS+3iDOzgDTL59j+dQkYrqIzmrEEfRSl2ps/NRtpGajxC8v4OkOsvHxA8i1OoqikJxeZvTbbxHatwFBq0Vr0FFYSVPNl9n0mbvoe3QXl58+RjaSoHXvADVRIrMQZ+rgGZZOXWHjp2/H0uDCFnCj0WkRcyVKyRzlTBGlJmP1u8hHU0y/PEytLOLubGTDY/vw9bUgCALVQoW2OzYy+c+nmPz+aWZfOU9uOYHOpGfgsX0MfGwPSl1Ga9RTSuRo2BBi5ew0S2enMLqsuEINOFp8uDr8TP7zaRaPjKLV60hNL2OwmaEA1XyZ3HISb3cTKAr5lTRmt219kGOuhFQUSUxEqJVFvAMtZOZimDw2ZKmOVKxQyZUwysp6465eSyGWoVaqcvpvXqCczFOKppFqNW576K7rTnEV0jn0Gt21CIEf7GVSZBmtoKFaWd+JEASBoQf2XNv+e/t5fvg5blU3tVgZHh4mHo+zffv2ax+r1+scOXKEv/mbv0EUxXccnTQajbf8F1Wlei/e7j0pZqucGbmAUrTgNndh0JmoShUWRxa5fH6KsmaVaf0I/+Fz/xe77tx8rVB4e6DhP50+hywKJFNJIokp4qkV3HTQ7bkL50IzGwxFZiIX+OuVP+G2TQ8x2LqPQiXNlfhpZuXXMGt9NBZvw1Mcoi6BReehpF0jUrlAZGUW23KQRvNWzA07cDVYOfv0leu2XJ577gVmTmSxLmup5fXUdDVKtSxuox27yccezb8mnY7wzdf/M036zej0WmLxSe4K3M6+4K/xVvTLaMsOtur/FXrZQrRyEae2lZBnEJ1Oh6fUxslMnKwyyibdAcYvTGOz2a4Ls4MPV7Luvj17GX5ihDOHjryjyTaXz3Pl6EUuv3ya+q4ykYUIXf091/UrKIrC4uUZdt6zj7a7N+Lpb6Gxo4XTT79Gx4Eheu7fRnhqHr3JQH4tg8akx2K0rG+lFCvkVhL4BkLklteH/jVt7SRyYoKOuzfT/7HdpGdXKaymqYkSvr4W6mKNi996C19fM4VYhlIyR6h7gK77t1Kv1mjZ2cPFb71J5MQk7XcNYWlwkltOYnBYMDjMVFJ50AhotBpMbhsOk4FyOo/BaiS3lKC0liMxsYR/qJ3QbYMUYxnkmryexWIyIEt1QrdtoBDLMP/mRSrpPM7WIUJ7+6lkiwiCgKZSXT+FZDHR88hO1iYjrF6cp/32jegtRupijcBQG1KhTHp+FavfiSytnxTSWw2sXpjD2xvE7HWQWYhhtJupixIavRatUUdqJop/sA2z187CW5c5/oVn2f8nn8Dic1BOF9aTeI16Fg+PMvv6CJ6eIA0DLTT0teBwupg5c4Xo336L+x57kL4dQyiKwtzwBDv7h66lWP9gL5Pwdo/SSoKG5gAIAoIgENrey+wrI9wuSWh1uuue41Z2U4uVe+65h9HR0es+9lu/9Vv09/fzp3/6pzfMeFCpflkYjUYqUpGx0ct06++j2d997UUnl8thKgYpF7VkhDnswSY6qg9y9umL1xUK0WiUv//v36EcdqCrOKgmDGziszQbNiNIVbxiAFmSsDs7iGsucWLuWVK2S3i9bnY/3s343xlQpvysVaJMVs4iKBoK9TgZOQKKwFbhdwkomxCrSaoLZrLZGtu2fpyl3CWe+tpBIpEIT/7dCzRGH8ArDWLQuVBkKBUTZMvncRmDCKKBkHyA5dolqrUKa4UoViXE2kKRQ7GvM1F/iV7lozToe1gWL2KUXbi1HVSrVfR6PQ6LF396Mwvpo7T09FMulq8dtf5hH5Zk3VAoxOMPf5KnDj7DwbkVOrcPYHM7mL8yy4lXDpNZXqPv9q103r0Fu8PGwvnpa/0Kvds38vKTz1OIpfmt//vfkChkiK4l8DUHWJlcoO3uIWxBL8mVOBMXxyhkcwgGHeVsAZvfRcddmwgfH6fnI9sYffIIYrbE/JFRAps7cIYaiI+FKa1lMTmtuDsbEbQavL1BSoksV54/g9FhpnFzOw39rWTm1+PvXR2N9D60gysvnCU5vUwpmUcQBCqZIpVMicBQO7CedVJYSSEWyih1GUGrQQFyy0nsjR7abx+kcVM7Wr2OQixDbimBtcGJ2bOehdK8o4fwscto9DocLQ3oraZrPSU1UUIqi5g9drR6HY4WH3qzEa1BRymRxWAzozXo8Q+2sXJ+hs57N6PR6aikCxisJmZePs/y6SlC+zeAolBO57F4HGhNeuZevUA5nWfLZ++hEMvg6Wgks7DKG/+/b9L/sb242vzkV5KsTUSInJigYaAVZ6gBrU6LLCs4m724P307yZEwRw6+jrPBw+L4DEKiwt5H9wI37mV6u0dpeSZMc3cIBAGL205dlqlWREaPnbjuOW5lN7VYsdvtbNy48bqPWa1WvF7vOz6uUv2y0ev16Ow1VnIz3NH9+9cKlVK5RGwlhkF20elq43L6aXwOG0Oh29jYuv+6wLcjL55nT+DX6B7YxTee/++EjLu5x/XHAMTLM2Rzy/S1bSVTXMOoM2D1yuy6u4FPPPYJjEYjX/mbb5JIRxBqAVrlO9GgJ8YoClpKJPAp/ZjxUJdLuHXtKGKZ8QvT7LxtLzOT5/jqF59EV2zArxnEb+mGmpZKXsJKA2uVacKlMTyadgwaG3rZSlHOYaWJAT6OV+4hXhwjRwojfiraIiU5hYs2dBojYrmEoihIYg1D1YNYl4isTdHm2MpqJHLDUQAfpmTda9O3T53kwiuXSGczjE2MEdrcy2998d8g6wXGpiaQtQKDH93L7PFRnv3qt2l+Icj08Bi3PXYvjW3NmLM2ohdWCY/PUamIyEYNkizhDPlJTa9QLYsolSruzgCOoJe1yQhagx69xUjbgY2U4lmmDw2z9TfvJRdJoDXo8PQE8fYEkWvrc3uMDgt9j+wiOb2CoNGg1evxdDeRX0lRLZSxNXlwdTTS89AOJp87zexrIzibvThDPorxNCanFYPVhEavQ+kJkpxaJnFliVqxQnJqeT2/pdmNtdGF3mJEZ/iX58+vpDC5rAgaDTqLAQQBg8WEVq8lt5TA4rWj0evWe0b0OnQmPdlIAgBrgwOdyUCtUiWzsIpSVzDYTJhcVpAVNBoNBpsJR4uP5t29zL95icSVJWxNbvRWE+V0gaXTVygncvQ+uAN3VyNzb1wkdMcgUqFCPppi/NnjmJxWKtkSuUgCR4sPe9CDs/VqMVWViM4vUStXMbtsrJUy/P2//yKbezbw+MOfvL7x/od6mX6wR2k6nccV9BGfXyEbS/HqE/+MLi1d9xy3spveYKtSfVhJkoSUF9A6K1xOv0yHZS/J3DLLsTDVkoxRZyEpXkHUp6iLHmp1CZ1Wf8PAt0ujF0nnEmw2/TrlcplqRcKgNJCsrTCrGaevdRuziTjFioEn/sczXDo5T66UJHxljS7pV9igPI4dP0mmaWEXfjayykWO8V+x4QcZJsMGBtv2oi1buDR1jpnwGLklDWaDjkQhis8ootQ1VKoigqLFRgslMlTlEun6CqChRoUaVcIcR0HGRiMa9NSoUCinqWtq6DQmFAWqVQnqWnRaM4pQRy+YmUtexFbqpN5QeMcogA9jsu616dvSY/zjt/8JS5uHj/7RZ64VvlarlampKebPTlCuV0nmMqyNLOD2umlsbwb+5QXt3Mh5UqtrFNay+AfbEDQC5UyBaq6Mp7sJZ0sDYqFEPpqinM6TmFqmXq3RMNjK3BsXKa5lMNotaHRaDBYj1XwZRVFQjDLVQhmNQY+rPYBcq5MJr8fUB4baKMSzpGairN+ygC3gQq7VcLT68A+GWJtY347peWgHWr0OFIXmnb2IhTJXvn+aciq/HiCngFyT1wsRo56aWMUZaljvCckUsfgcFFbT1MU6CgqVXImV4Rn0JgN6ixGj0wpAfiVFrVJFZ9KjNeiwNbmpizVSsyvr2zo6LUpdWS+cFOVaOq+3O4jebOTEX30PqVAhNbuKzqDH293EwO9+BKvfycyhYYprWfoe2UV+JUns8iLVQhmz207rvn4W3holtH8Ai89JdimBzqjH0ezF3uKlkimSmY8hGzVEZxb5g0/9Fps3b75ugOmNepne7lFaWloiOrPK2PMnMSfr7GkcZO/H1QTbn9hbb711s29BpfqFEEURs97BnqF9nB59geGpgwTkrZjFJmRk5mvHiNcuYTDrKVUKSHURnVZ/LfDtqcMH+eSmj1Or1VgOR9HUDciikapSB0GHIkjYaCKVmmFeXKBUg6wMeJzkZ8ycmryEIdNKs7IHmSolEuRZxUmIFc6TI4KVBmwEsdOIJBaYWhohIyxQT6y/EA0IH0dvk1jKTtCSuwMdBvSCBZ1gpK7UsdDAqjJClAuYcaNFT4g7cNJCjiViXAYgxijtHKAu16hpK0hSFUHRYjY4qMs1IvXTOAhSUFaZyL6OTXQSjUZpa1tvGH6/ybq/jCYXpun5oeyVYqFAppjD2eyj1e/B7XYz9dwZ6oLMK985iMVupW/HEMFgkMblZZxeN8tnpvAPhNa3PnR6tG4nBruZWlFEURTSczF8vS04W3xUskVykQQGi4nC6voKiK1xPf+nWqysv+gbDejNBlBkzB47Fo+dtbEIiycmaL9zCIvPgVSuUsmWmHj2BOHjY2h1WlztAby9zXj7Wlh4c5TccpLg9i7MbjvlTIHwsXEiJybwb+3A4nMiyzKp6RVa9/Zj8Tkw2EyI2RJGh4XMQgyz10788iKVbAGpKJJdjNP70A60Bh2VTJHSWpbiWg6dSU/DYIjwsXHMbhu5SAKT04JGq6VcLrI2FsbR5EHQakCBaqmC1qBDlmXKqTxGm5lSIo/BbCSwuQN3e4Di1YGGmYVVWvcOYHRYyIbXyC0l6Lp/K1a/E+oKBquZwOYOGvpbSE6tkJxZoZItUqusjxOw+p1o61Boa+CrT32DV468jtlhvRaf39YaYnjinb1MTqcTh8NB7mCcDe52/uhzv09XV9dN+T79Sd1yxYpK9WHxdl6KVqPDoDcg2EyU6xFWpXEMGgvNpiH2Gj/LTPkIE6mnSRdimD02stksS4tRVsMpxsR54hM1EqtpqmKNpDJHSjPHWv0KiiJTQ0SHHn3OhiDryAsJ5lcnyKfzlKt1uoTtyIqEgI4Us+RZIUuEMEdp4wBBdlJghSa2UlPK5EsrVJQXiAujuE1NuC2ttLramI7+38zzBgN8EoQ6eWGZcP00q1xkjTFKJBHQoUFHnIuIZNnErxNjlGXOEeMiCxzGQSu5+gpGxYXRZEKqiYyLz5FU5thgfRiLwcXR/P/AUHHw/ZeT7LttHxaH4T0n6/6yulG/QjabvRb29na/AtU68cZZtj90G+dOnObwC+vHWBuaA+RLeXZ96m4uvXiS9NgSZp+Dls4Q0cgK9WoNdAKxcwtUSxUGP3UbACaXFZPTigIkp1do3NqF1e/E7LahtxgprK6fitFZjFz+zlF8vc2YfXZAYf71i1i9Dnof3klhNU30/CzRC7N03ruVqcpZlLqMPejB1ujB1dZA9Pwcs6+MoCgKgkZA0GiwNXmoZkr4h9qZeWkYqbTeczL4+G1YvQ5MHhvldAFFgdilBWKXF9FoNXTcvZl6VSI1G6XvkV3rfz8gNbfK0qlJJp49STGRpf3AJjILq6wMZ6kWKqRmoySnlmne3c/5r7yMu6uJelUiG0mwdOoK6bko1ZJItVAmt5KkuJYFWJ/CPNBCz0M7sXjX02tTs1E0Wg3ujgBSUcTd20Q2soZWq8XscRDcaaUmSpQSWewdjZQSOUwuG8tnpsnms5jabYgeHXt+5c5/ic+fGGGoY4DRMxPX9TIV0jnmhicQEhV+4+OPf+AKFVCLFZXqpnk7L+Vb/+15vNJW7uz8Q6R6lbnZGSxKIw6TF0VRaBB6yeg3cmVlGKVsYvzCNCtrKQyCCSt+XPUeplJziGKZUc3TdGjuopP7MAsecnKEufphxnkeN52sMoauZkereBClZZy0UmKNClnsBGlgA4scxU0XPTyEQp0yaxiwYcGLSXCgUQyISp54ZZycdo1atpdew/2MSy+RU1YwyFYSTGLBh4MWTLgQ0BDlAjJV9NjIs8xR/pJN/Cta2MkyZ5ngWXwMoJct5IlhEd0sK2fJCku0GXfSb7+PcO0kQVc3Nr2XueJJVkePsnXPBvZ/citbt91Nd/e/HNX9MMXx36hfIbK0BBbdvxQqQCmdR6vR0NHZSaqYZfSNM4ydvMBtn7iPuiIT6Aqx7ZHbOPQ/nkLRQGBDG8VCAWuTh/LRUYqrGVr29K9nh4gSBpsZe7OXelWiGMsQH10gsHG9wVWpyxhsZsRCmfCJCYrxLK37BiisZmjc2klqapkLT7zK4rExPJ2NVLJFbAEXzlYfWp0WMVtEEDSgKDhb/Xg6m6hVJeqiRLUkEjkxSTYcpyZKNO/sJjMfQ6PXMvncKVJzUTruHMLqd5G4sszMS+coxDPkV1J03L2J9gMbiY8tMnNomOTUMoGhDgw2E7nlJAuHL7M6Moe3t5m5V89jb/bSuqePmljDHnRjsJtJz65QyeTR6nWIuRL1qoSztYHOj2wjH05QSuRwNHvZ8Kn91CvS+jFuWUGu1debfhvdZCNrtOzuIzDUQXYhhlSsYG/xsXJhlubdvWg0bzcmr4fmmZxW6lKN7NIaYqlCY1+ISqqC2+8h2Nl6LT5/9MwEj93/UcKRMBdeuXRtcOHO/iH2PvrB2fb5YWqxolLdRDt3budvyl+nufoAAAadEY+7gXy8gqIoxMpT1PQF+l13MjF7BFHjwSqG0Fgus6FxK0vJYSrlLJPSQfKs0Srvo0neiV8YRCcY0cpmttLJMme4xLcoEOMOPk+tWmaVCURKmNBjxo2FBqrkSTBJLw9jpYE081TIUkfCKNioIeKjjya2sKa5SFKeZjXagUPfQiObiHCGLBE6uJsWdlMhgxE7AH08ig4zEY7Tzt3EGeU0f007txNnlBJJFjlKHRGNoEGnGLEpTQSEQRx6PyPiP1IxJNjf9Bk82naWpd2sOY8jWFJcOj3D8OEp9CYNLb0+gGsJuR+GOP4f7ldQZJlYInY1Dn+9UFEUhfDwFF39PXh9Xjb2bWBlYoE3nn4Rb2MDmUic5dkwY4dOszy+QL1eJ3J+impJxBlqoO9ju+n/2B5sjW6ksohWr0NvNaK3GKkWKjhDPlaGZ6gWKgx8bO/VvJA0S6enyC0n8HQ2Ers4T/jEOHVpPdF29rWLJKajFFbTyDWZ3od2UBMlnB0NJGeilFJ5BK2AUpfRWYwodZlqvoIkVklNr2DxOshG1ijGsxjtJnb+wSMsnZpk9MkjxC4tIEs1yukChViW5p3dBDa20dAfolYS8XQ14WoLELs0T/T8LBqddn3Yp0GHtydIXaxibWzB29sMgoCj2UtwRzet+wZYeGuU1ZE5Cms5zE4zu/7wYYI7urnw96/R89B2/Js6GPn6a6RmVwlu70JvMlBK5YmPLuLqaCQbXqMQTdP3yG7MbisGWxtSsYJUFImPh5l5+Txd929DbzFisJooxrO4u5u4+I03yC0l8Q+1M3nqEvVUCfG/SphMRrr6exjYvZm1uRXCkTCPf/pxHpMe+6Up2NViRaW6iQKBAJ3dHQjTZabjZ3Gbgwh6Dcn6LLPxY8iaGnazi1wixawyjtM6RMlaomxaoc0/wBtzz5Es5rDWmvExRA8PkWGBkpLAqvgREBDQYcSFDiugZVVzkbpcpUqBWV5liM9gxEWFDHVEapSpUuQyT7HMaWRqLHOWgLIRu9KMnw3YaUZQtERqw5SrIp3Vewgqu6hSwU0XvTxCiQQ1ynjpR4OWFDO0spc8S9QoM8Anrm45naBIAh0mdBoteWUNjzZEXomh1xjJC0uItTW6G7awx/coXlOItdwSUrVKfbWBC5FRfvXAp3FaGhhbPM63n38JmxBg39BH2NDa+6GJ4//B7JUtd++hrsgYTOunohRFYfTQKWqJIhse3QKsN17u2rWLzMl5Fl+5xLljx1hYCWPxO/ENtgIKequByJkZjA4zOoMed1cjOpMBkgp6ixGzz8HY00cRs0W67t+Ks9XH2HePc/ZvX0RvMyEIYLBbsDd5KcSzRC/MkZxZoVoos3z6CpXseiS/2dlKNV9g9eIca5MRpPJ6MTL/+gj9n9hLcS2L3moCRUGj1xK7OE+1tF7Qm9w2IqeuUFxNkZxawtMTxOSwYG/2EdjchlQUEbMlalWJpZOTWPwOnM0+0gsx9BYdnfduweK1Y210k55dRavTcuqvn0NvM1PJlVg8chmDw4J/IISlwYGzpYHApg5qYg2FCJVUnmx4jdRMFIPNRNudG9EIGnoe2M7Ui2dZG1vEFnCvb4tF08y/NUo1X0ZnNqAoMnWpjtFmwhZwUS2UQaO5uqW0irPNT3Eti1QSiZycZPaV8/iHOmjd38/oPx1Gb9HRfu9mzBbTepz+16doCbVyYXL0uvj8t0fUfJALFrVYUaluIqPRSLA1gMcYxFKzshqZJVfKkhEyaAUbHk0HDsVHpHKOTCnLa9n/jsGiIejpYvLkeXziZizlVtKcoouP4KINMx7iXGKZs+gwIlNDpoabDpJMI8t1bDThpoMMC+QI46OPCmnCnCDBJDlWMGLHQzct7AXqrHKRed6ikS3oMCDKRaRqBYkakiISYCMZFunk3qsFTx4Ddrx0o0FPiQQl1giyg1leoZdHaGYnl3ny6v21IWrTODRe7EoQO83c4fxfaTB0ky+ncRuseE1+FEUhnlukJBdx67oJueJ0N24hV06xtBxhl+238CjdVJZXcHY2XjeX6Jc5jv/t7JVvP/cdDk4ukDNISIJMwmgkPDxFLVHkjofvuS4BlZpMc2OQeqlKopim7a4hOu/dgtXvpJItEru0QHJmFZ3VROTkBFJZxNfXsv5CW5OJfvc4kePjaI16BI1A++0bETQaRp54DVuTG6PLSj6SwOp30TDQircnSPPOHuLjEZJXlhDzlauptlqCO3rovHsz7s5GSoksF77+GuPPnCAfy9B592YcQQ/1ao2V4Rkyi3HKmQLR4Vm0ei0avQ6L186p//E8jqCHrvu2orebsfmdVAsVCIE14CIxHiEzH8O/IYTRbiY9H8M/6CAwtD7PqBjPEDl1hdjoAkaHlUI0jcllxViusrCWZeX8NJ13b0Fn1NO8s4dqoYy3t5mFI5fJLyfRmfQsHh3D5LRiD3qR5RqrI/PojIb15li9Fo1WwN3ZSGIiwsQzJ2jYEEIBlLqMpcGFmK8w8Im9REfmuPDEa8i1GnJdwd3WgKDR0P2RrejNBuRandD+TVQ1NToG2q7F6U+8cp4ADmZmZrg4eomRydFrW0Fb+ofYt+eDuRWkFisq1c/Zu/VO/Mucnys8MnQPwWCaY2+cIWgdQKd1UC5VSGWTzCmncMptOHUtlJUIuqIbe9aDv7aLHMvUEJGRyLBImRQKoMOESA4TTpy0YcbLGhOkmGeal/DSR5UC87xJhNMIgJMQ3TyIj16sBIgxyhInaeMOdvFHhDnCIscpEqPAGn4GcRAiyjArnEWihJsOLHhp4w5SzJBmDisBHDRTIoEFHzJ1JIqY8ZInCoAs1NDWzJiFJpblEfTYmEucRzDZERCIR9ew2Wykysvk5Tg2TQCz1UBSp0VAw8jcW2gKbjYFHgRgOp65Fh73YYjjD4fDzMzNUi6UCE+EWVxZQtZD344hhnZtYcOjW64rVBRFYfjVEyyOTxAtphj4lf30PLITjdVAtVTB3uJFbzFeO3ljb/ESPT/LyrlpFAWyi3HqUg1FARSZ1fOz9D26C6VWx7ehhVKyQPT8LO13biKwqR2NZn2ysqPZRzlTYP71i4w+eRi5JtP/sd0ENnVQL1cxOtcnIG/5rfsY/84xZl8+T2IigtltQ9BokGs1MuE15FodW5Mbs9uGxWPD4neRmY+Rmlul8/6toChUMkWqhQpmjw0xXaRhMERmIU56PobObERvXj+2XFzLkbiyxOwrFyin8vgHQgR39tAw0Ipcq1NK5Cgl86TnVhl75hhd923FFnBTK4vYgx4K0TQ6owF7k4eGwRAGixExXyY9n8Tqc9L76C68XU3ozEaykTWcrT7mXr/I1PNnGHvqCAOP7Ucy6AAFpS5jC7oxh2242v3Urn5NMgtx9FYT4aNj5FfT5JaTIEA+nWVtaZX2wR6GHtjD/LkJpo5M8NVvfx0hYKHz/k3XmmzPDU8w/MQIjz/8yQ/cCqNarKhUPyfhcJgTJ04xcmLyR/ZOSJLE5s1DnH3j25yZOUR52UJ2qU6D0gCSHnPdRVR4nbKSJijsoJVdjBWfYSZ/im3y7xJgC3aaWeE8Ilk06DFgw0U7CjIlElQpkidKjjBF4mjRY8bHIkcQ0OGiDZEIFrzosdLEVhoYxIIPHwMsc5oVzuGll07uZ4mzFIjTyl7KJLDTRCd3ocfCON9Fj406EjXKOGgmzhhajBhxUGSNNPMkmOQ4/5Uk0yjI2GnCrfTgpIW0Mk+OKHmWuaB8k1j5Ml5NFy6plfTUArZGMJl1BAydnM5/HcGb5puvfYHxhfM4lBbOaL5Dt2MPbnOQ1cjstfC4D1Ic//ttDn570q7iM7Hx07ezx+1geT7Ma88eIpNM0dTR8o5C5c1nDnHl9CU8IT8+rZWtj99JuSoiaDVUMkXEXAmtQcemz9yJIAhIZRGLz8HSqStU0gWa9/TTvLOHYjwLgsD4M8e49K23yK8kcXc2IRVFmnf20vPgdsR8CXd7AFdHYD1W3qCj7Y5BFo+PY3ZbsTd5qOZKlNNFNAYdrjY/9aqbLb95L4JGw8LRMYrJHFKxgtlppaG/lc57NuMfaqeSKbBydprMQhxXmx+T28rFb7xB4+ZO2g9sJLi9C5PLTl2SkCoil/7xMMunr9B539ZrAxGTU0tMPHsCs8dOTZTovGcz7QeG0Gg1IAjrxUoii6+vmYvfeovo+Vk67hzC5LThCvnRmfSE9g/SvLsXZ4sPe5ObfDRNbjlB7OICs69cgHsVjHYzUrlKdnGNxi2dFFbThI9PIGi1+De0IlWqpGZWWT43RbVQwep3kl2Mk56NkltKErp9A8HtPRTXsjRt6aJarzL+2jnSi3FC/Z1oNBrMXjupcg7vznb2PnL39QM/rzbhPnXwmQ/cCqNarKhUPwdvTyGWYz66PPdjM7mv65048PB2CoUSw0fHqJQkVuKLvDVzGHHOS4/yMMh2RPLEhcsUhBX6hY/h1XSTqM1gwEWNKg5COGjGSQsWvIQ5wR7+GAfNSJRQUCiTBsBOI6tcoIM7aWU/ixymxBo6zATZQQP9OAkR5ijLnCPJFRQUNOjQYSZHhMs8STsHsNOEBQ8GrDSzg07uxU0HNUTSzCFRwkaABFewEaBOFYA8URJMMck/I1FEjxkNWlrYgw4TGRaQkSiTopdHMGKnRBIzbgryGlHhAt3GnTh0HQjoOJn8BnOlk3TV9tFs34+gdGHBTyI+y1LmCXrd+zEKuuvC4271OP5wOMyJUyff19L9D07a/cFsjVBfJ6GhHp7/1jN887/8HQ9+5hOEBjoppHNMn7nM9MnLtHS3g02HMWhGq9MhZrNoFB2lRA53RwCr34UgCHTes5nLTx/F091EJVMkcWUZi8/OytlpyukCJpeV4PZuxr57HJ1Bh6s9QG4pSfuBIOm5VYyO9bC4UiKHUlcQc0UUBUxOK01butCbjZRTebw9TRidVmrlKnqrCWeLjw2f2k8xliZ6aR7/QCs9D++mdU8vLXv6kWt1aiWR4I4eFt64xPShYRq3diIVRaZePEclV2Lzrx1Y77MB/INtNG3uYOyZ46QX4tj8ThCE9eGERgPVYhlXqIHOezZjtFvW81OkOhqthmIsg8llw7+xjfjlBdILfhq3dBA+OY496CG0vx+d0UAhmroW5uZsbcDssZONrLF6aZ6Nn74dvdmIzmygki7g7QlSXMuiNeqZf2uU+FiYfDSFq92P2W2nlMpTK4skrqzQdvsgTdu6qeZKV491u9eHO+r1TB0eYWzrAJ5gA3WphsXnYMud75zILggCux64g4NzK5w8dVItVlSqD7O3pxD7crvYNfTA9e9smnfz0ulv8eef+yscZh/GmodqWSadFomWE1RqK+hxsMpltBjw0kkzOzEodhaVEyxxmgpZqhSY41XsNOGiHRNuEkyyxgRmvOsJnWQpEsdJGylmqJClgQFAwc8QeqxEOY+dJlrZj4cuJEpkCFOnSjt34SSESJYFDrPIYSx4aWQTYY5jp4leHiHHEk7a0GOhgUHG+A4mHFgJEOUCWgzoMDPOM1cf10g3v4ERJyJZkkyTYZEqOaIM08G9+BmigX5ijFJijRC3k9fOk1QmqaUKzBSPkqos0a7cib7YQXhtGRmFoLGNAftHmKwc4lLsZfpbdl6Xcnsrx/H/4OrI+1m6/8FJuz/84tTc3Myv/uvP8mTmK5z9p9dYbG4kthQFjUA8HadqhcpahUBzD7HFFTBqycyuoNFqEDQCpWQOFNAa19NcU7OrWAMu0nMxysk8vQ/vvBqqVmBleAadUUdNlIiPhUEAZ3sDGo0Ge9CDLNUpFXMIgoDRYaGar6DRa9HotNTEKjqzAYvPSa1SxeSyoreYUGQZw9V0WbPLRvPuPpq2dOBsbUCRZWplEa1Rj9Gop+ehHSSml8nMxwjt38DaxBLxSwu8ObNC654Beh/ajtnjwDcQwuS+RGx0gaVihZlXL6A3G+h7dDfxy4v0PrwLs8eOUpORpTqCRsBoN2Nv9rB6cR5vb5D5Ny+RnI4S3N5F9NwMG3/1AMEdvegMOoqJLKW1HIV4Bk9nI46gl8CmDsLHxxE0Ggx2M/agB093E+V0gctPHUVRFHLhNSq5Elq9jsTEEsVkDpPdjM5kwNboppIpsHz6Cp6uJqwN63Ox9GYDzbt6iF2e59B//zZ3f/ajCDXwNvmvNVfXJAlJrKI3GtDp10MlO7cPcOGVS9c14d7q1GJFpfoZO3HiFHLM945CBdYHFMYXCpRWTDQ4O9noeoBstkqukkSqPkeSaTx0s4nPYNa4EAQNM/VXmeE1rDQwwGNUSJNkhgoZzvMEIfaTYR433UzxAqtcIMBmquSpIZJkiiRTNLIJL73oMGHGg51m0swS4STN7CLLInO8Ri+PYMWPBi1+BtGgXc8/wUyCSfTYqJKniW0oyCjIyNQok0RGWj/WzDgZFtFhQoOOS/wTWRZp505C3IadRsx4UJDx0ssKw0zxPD4GaGQzEkUWeAstBmRqlIQYFsHLciHDaO0FilKWNm4npDmAU2kFRcNqfZSF0ihyVUun807CpXMUjJFrxcpPGsf/i8hr+VGrI/DuS/c/PGn3RlwuF3d87D5e/+vvEl2NInq1eLoa8dc8WO0WLj13EiFsQ3EacLX5KacLBDa2YfE5ELRayqk8sdF5ohfmMM2tosgKnfduwT/UTuv+ASrpAstnp7H4XYRu28DSqSs42/yUElk0goDBaro2TLAYz17NJamBICCLEjVRQqPTrRcIigKAzmTAYFs//VNcy1KIpTE6rNcGGmoNOmoVaX3ej1GPoiho9Tr8G9u4/O3DNG7uoHFzOy17+qiki6xcmOPof/ku1gYX+eh6nD4omLwOtHoNAqDR69BbjNib1gsrjU6LVq9D0AqggMFmRpbq5FaSVHMllk5Nsnh4FIvPQcvuXhxBD4qsrBddXgfp+RiRk5NoDHrkWp30Qozlc1O07hlAq9MiaDVUCxWqpQqFlRQtu/tp3NpBvSKxNrlM4kqEUjKPt6eZ3kd2YLCYWBsLk1mMo7caMdotZJcShPYP0HHXJoa/8jLTlyYpLqyxadMmktE1xk+NMDs5TV2W0Wo016Zv29wOJLl2y64w3oharKhUP0OSJDFyYpIuz/3XvXjU6hJSXeTCxAnmYpfZrH8crxLCUgyRy8cQ6iVCyh246CTCSVrZD3IHZRIscox27qCHh5EoMs+beOhCpECKaV7n31MlTzsHaGUvInkWOUyccewEcRCkm4/QwCCgIFPDgg8tRto5wDBfI88SWZawEqCdO6+ueExRJoMOA3VEmtlNlBFmeJEaVepUWWOCGiWWOEWFLF666efj5FhhjKeY4BkM2BDQ0Mo+hvh1BAQqZChyBQteHLTSzyeIMYoWA1r0mHBhpYEia5gxIlFAq2gJsp1UbQkjJfRYuSK/RF0W8dJLkB2USLBanKEslvBZeilWL1GrS2g1uvcdx/9eeo5+Vt5tdeTdlu5FUaQiiegMemqShO5HvPAsR5Y4d3kEX38zeslM/Owo+USWWrVKrVxFt2DB1OCgWqxgctlwtPjW01LPTjF9aJilE5MY7RbqUh2z24aro5FyIsfc6yNU0sX1F2i3DUezj+adCq62BpBlIqevXOvNkOvyeo6JUU+1WMHqdyDL8tUel0YMViMWj516tYZ49UizWCgTPj5OfjWL3rS+PSVX61eHCdowWI1otBp0JgOVfAmU9SPViixTE2tYPA6K8SwGqxGd0YNUrmKwGjE5reSWEuSWEmhNBgIbQ2iNegxWM6W1LA0bWjFYTSiygiLLVPNlKukCOpMBk8uKs91PYGM7xXiG1GyU8PEJGjd3ojMbqIkSaxMR1sYjrF6cQ9AI6wVaRWLh8GWUmkLLnj50Rj2RU5NYvA5C+zfQ//E9rF6YIzm9Qjmdx2Azrw84zOSpFat4uoI07+5l+fQUS2emaL9jkEI0TWJymaat3Vg8J5g7eZnCUopAg5/nnnganc9Kx/1bsLjtlNL59ePNT6wfb9ZrdLfkCuOPohYrKtXPkCiKSBUZm2l9PkosG2Y8fIrZpUlqUo1LMydoqG2mw3Ybqdocq+kV0rUoGmW97bWPRymTZJLn2MfnWOQ4Vvy0sA8FhQRXyLOCHitWfHjoQqZGkRgOgqSZp4XdtLCbyzxFI1uw4MHHAAZsaDEgksOAFQENRtzUKHOOL6O52mw7xXOY8bLCOeZ582qKbRoTLnSYSDKDgA7xauptkmlynEJGYoaXkKhQJY9IDhDQYUGDnjbuwEsPGnSI5EgxQ4kkfjahQUsDG1hjDBNurPjIE0WPGZkaBqWRQjVKRShRVjJ46aWL+7HQQIU0US4wwfcIsZ8CcSq1LJpqjVwxw6XwUZbzE+8rjv+He45MehuZbJxTT17+mee1vJfVkRst3YfDYY4eO8bw+fNcSSzibWq49s75B5tpJycmeep/fgNJr6DY9FjaPNgNfrzVGpnFOGuTEZLTK1gDLjzdTYjZAqW1LKuX5hl/5jiCRsDZ1oBGp6UQzyLmypz7uxdp2tKJpyuItcFBw2AbiYkI5VSe1n0DZOZjFNeyiJkS1gYnrjY/ZreNSqZATZTQGvUsn5lG0GgRcyUiJydwhRoQtBpMHht1qUZ8IszMS8PrjaV7+4ldmkeW1k8AScUKrjY/tUqV3FISrVGPmF8vCMxeB4XVLE3buhCLZaLnZ3F3NiLmStj8Lnz9LVh8DkqJHOHjE4SPjZGeXcVoNdMwGGL10jwdd29CrskA1EWJcrpAtVDG0xsk9sw8rlYfvt5mAps7sAZcLB65TMvuPnz9LYSPjbN8dgpHi5cNn9gHAqRmo5hcNqRShaXTVzA6zdTFGpn5GC27+rD4HIw9dRRbk5uu+7eiMxgoxNPELi+un8C6MIunN0h8NIx/qJ303CrFeBZbk4fMYgypUkVr0JNfSmJ12bh46jwf+dyvsf2j1xe/nbsHGX3pJMeeOMSv3/XxD8yqCqjFikr1M/X2vJ9CKc3k8lmOXngRXdFHh/l+9JiZri7ikftZKoxT0xRRqgYUpU6DMEROWUFBppsHOcv/yxn+36s9HPcQ4TgSZUokMGDFSQg7TWgx0MYdzPIyQXZTp8IKw/TyCAJaskTw0IUBGwasKOuJDoBAgivM8BIBNuGhCxNObDQS5SIrfBsnbQzyKbSYKBAjzTQJphDQYsbJNC9jpxEnbfTyEGXSjPE0EmUaGMBKAB0WalRY4A1yLLHKCI1sxUoDGvSscp4UM/gZxIgDieK1E0tVCldD6kQs+BDQUFSSyNTQoKdMChNO3HTSxDbCHGeRo3RyDxUypCuzRFMnGbL52PXgIHv3PfqeCpUf7DlqC21gInKa2aVJ6jUZrU5AXqvwlS/+I/6/+NmcprjRXJ8b+cGl+5GRkWv9Lbs+cx9FvURDS4CF89PMPDHFHQ/fQ9+OIS6OXOSlgy+Sjafoe2QnXfdvw2AzrRcO2RKp2SjOUANLZ65QWE2j0WqweO2MPnWExJVlrA3rAwJd7QEcQe96EFtdZvXSPOFj4+hMBhoGWsksxhFzRerV2tVtowU6792ExeNg9rURMgtxCtEU3t5mwscmWDh6GTFbxNnqIzWznmBbSRcZeGwvtgYnydlVpg+epSZKdD+wjZVzMzRu7aCczGNv8ZJfSlJO5XG2+8kvpygmcuiMOpKzUQRAKosMfvo25t+4iK3JjZgvE9q3gc77tlBJFVAUBVujm9Z9AzhDPmYOnWf18gK2oJu6VGf6pWG6H9gOikJ+NU0+ur4ytHZ5kcx8HIvXTnRkDq1BR7VQplqocPpvnmfrb9/H0ukrdNy9iZ4HdyCVKkSHZ7H6XWza2kV6bpWL33iDC3//GrZGF2avHZPLQuT4OB13b6btwBAaQUBnNuDta8Y/2IbV72LsqSM07+jG3uQhdmkeZ5uf5bPTbNzYTnJmhdlXL2BymrH7XHTt3MDSbBhTk5MfLn0FwNMdxBZw/9Tft79oarGiUv0MvZ2b8vrXX6WYqNMo7mbIv967UpJyWAUPjWxGrJRIs0xNEXHTgY0ANaoUiF5d8XAQ5xIyNZy0Xs0oSVIhe20bpUYZAS1V8mSJMMZ3sOCmQo5lTqMgs8Zl+vkoFtYj6BXqaDGyxgTTvIiPPhrZQo0KMnUseNFgxIafJNOABit+3HTQwV1M8j2yhK9msIzgoh0bjSSZJcwxDNjYzP+Ch25iXMJFCCdtVMlhxU+JNZY5jZdeHLRgo4k0c/jop0aJNAtYaMBLDx66yLJEkTgSZSz4qHOZDu7BhIMkU9gJIlGmTJpW9lIkziojNLGNqDBMqZ7id/7o1+jv73/P/4Zv9xw5PF6eP/b1a8WmReemJKUJ585xeeUw3/rmP/Jn//7zP/X3zI3m+txIIZ1Dr9ERi8Wu62/J5XKcuXAOk8/Bnf/m44y+fJq3nnuFldVVLkYmmD0+iq+vmYHH9uEM+VFqdXQmw/oU421ddN6z+WqzahVnu3/9nfzwDDa/i7rTQuu+DTjbGtDqtFgbnJjcNgY+sZeRb77J7MvnrxYyHrJLScLHx1k+O43ZYyM9F0epK3Q/sJ3wkTHOffnl9YAzqU5gUwe9D25HZzaSX0oSG18kfHyc9Pwqvv5WsuE1EBT2/NFHiV9exNnagH9TG5PfO8XS8QnsLT4ufetNyqkCgk6LosiIuTL55SQNG0L0PLQTvdVI/HIYvdmI0WGl7cBGDBYjlXQRg9WI1qBDzJdpu30j8cthkrPLLB4Zxz/UxsVvvcHk90/haPGhM+gQi2XyK2nKiRw6qxFro4vWPf3rgxQLZSa+d5KZQ8Mc+Yun6b53K807e8kvJUjPx8gsxtHotETPzyAIAga7idjoAoVYCl9/K0m9Fk9PMxsfv526WKOSLVItlBF0WqSySNf9W4mNzBEbXSAxtUJmLgqCQHYpSXp+lVwkgSCAVq9HqdTIp7K0791A7EoYnSzgbQlgMBmpVkQyKwko1dj3kTuJXFhBkm7tI/w/SC1WVKqfsX379vDNLz8N0V7u7rxvffqxXKdcFKnLChlpGb92A5JcJsE0VcosKEcRgDp1YlwkzRxb+W3SzGPEQR2JKgWctOCkFR1m6lTJsECWCEYc7OB3KRBnmdNM8D1AQ5kEy5zGTpAaIqCgIBPhBHUkAmzGTjNJrlCjSpYwTkJ0cBfD/B1rjGEjQJXC1SPJTXjopkCMILtp5wAeOhnnGRTqNLGLNm4nzhgu2gmyDSMOgmwnTxQPO66eOFrEhBMzbtYQKZFkiVPUEalTwUaQKnlM5HARQiTPKE9SIc0+/gQP3UzyPZY5y1Z+mxplMizQxDbG+Q5hjoNeQi+5OPzWEVpaWt5Tg+zbPUduwyaOjbxEQNx1rdh8W6d9N7olJy89+TSP/+rsTz3B9ofn+txoK0hRFOaGJ9jZP8TZ4XPX9bc4nU4GewcYm5pgeGKB9NIal85d5PirR6jX6hTXMmz7nftxtPrWc0rcNtIL8fXHtvvR6rQ0be1i8rnTbP2d+/F2B0lOr6CzmNZP4bitGEzr7/R1JiMoCgabiV1/8BCleJbRbx+m58HtpOdX8fY24+5oxNvTRDldJHLqCskry5g9Niw+O+m5GIFN7XTesxmNTovZY8fb3UTfx3YxffAcY989TjmdR6vX0HnvFox2C/GxMF33bcHmd9Oyp5+FI5cR82Ua+lsJ7u5FAAqxDMtnp6hXazQMtODtCVJay1ItVqjmS7TdPoggQHEtt75dJFbRGPTri4woOFp9LB4bQ2fSE7usIBUqWHwOamURjUGHIiuUk3nyy0lCd2xk02/chcVjR9BqMNoteLqDKApMv3QWjUHH0slJ0AhU0nnK6QJGmwV3RyPOUANWvwuNVovWoGN1ZI7cUoL7/vNvImg0aA06pHKV8IkJEmNhFIH1U1npAgtHx/D2BDF7bFQLFbQ6DTqjjuZdvXi61qcyZ2ZWmT9/Bdmiw+a2k1lKkImsYbFZMRlNNDUECPWFyK4muTgcVhtsVaoPq3A4zJEjx1hdSuLL63n5/DfRaXUYNTaqFQnqsKI5S7OwDRMujNjw0QdokMhTIk2ccUy4sdNCljALHKaF3bhow4gLKz5qVK+eyNnBMmdQkLHgJ8Bm/GykjsQKw1QpMsZ3KZGihT1Y8FEgyiyv0sFdWPCSJXw1wC1EihkM2NFjppldTHMIDXqyhCmRIEuYMklSTCGgYYZDNLObHFHMuGliG0ViGLBixoNMDYBW9jLMV0kyhZMQWvSkmcOAjTpVzvMVMizSy6PM8DIxLuGhBwNW9FiIcYkowzSwATtNCAj08DBp5lngTfr4KCUSFFglwyKikGGj4aOs1of5+t88w+S5CEaL/sc2yL7dcxRNLaAr+t5RqMB6/8iQ5wEiiVMcO3r8py5W4Pq5Pj/cZKsoCmcOHUFIVNjxwA6+8o9PvKO/JRgMsnJlkfOvH0F26uh+ZDupcIy6VGf+zVHsQS9SUaSwmmbhyGWWTk5isJuZfvk8zhYfRocZqSQy+c8nSUwvozPqEVCoFsrMvnoBo9OK9mUdvr4WGrd04O5oRBAEWvcNsHppnoXDl+m4cxPWRhe1kojZY8fqd9G8s4fERITFY2PYmzwY7RYUWSYbjtN2YAiz245Wr0Wpy/Q8vINMZI3lc9OI6SL+je2k5lZRFAV70EtpLYvZY8NgN9G8qw9Hi/fayaKmrV00besmdnGe5PQKqxfn0Gg0VAulawWFRq+jWhARNOtBbzrj+ukf8epxYXuTB51Rh5gts/mz97DpN+5EUCC3nMTstaPUZSa/f4rZV86zenGejgNDKPUaUkmkVqkS3NlDdHgaR7MXR4uXcrpILpJAbzHRsKGVwKb29c+tKNibvXTcPYSt0cX0S+c5+3cvkZhcQqPXkZxaxtboofO+LRjsZvLLyfVTSItrOFp9uDsaiV2cA8VK90e2Y/WtnzwyWEw07enF5HOQXV5D2duPvaOBQiJDIpHEaXOg1WoQNBpK0bTaYKtSfVidPHmSp752kNqqC7vYRqNmM1apmZKUoaJk0SlmWgzbmam9xlTtRVxKDxFOMcVL1ChTQ6RChiwRvPQwzlOI5MlfndPTyFYkClQpUqeKgPbqoME6fjaywjk28Em0GGhiG3VERDIYsCFRZJEjyNSRkdCgJcCWq6sc89howowXA6soyBSJXY3rz7DKBYzYqZKnQIwGBvGzCT1mDNgQyZIjjBkPJtyUSOKhGwWZKgVMuLDTTDcPcIlvssRJmth2NS8mzyojZFjEip8iqzhoRYueRQ4jU0dAg5tOeniQNHPUqFzNbjESZDtzvEGJJBp0JJlCooxZ42K5coGAbhPd0h42cDulbI4zT468a4Os0WhEo1eYX77CdvP/8iMbXqW6SLNlkLFzs0if+emX0t+e6/PUwWc4OLdC5/aBazkrc8MTCIkKjz/8SQKBwA37W2LhFS4cOc3AAzvxb+0kPL9AXZHx9jQTu7SARqdh8chlIqcmsTd5aLtjEGdrA3WpztrYAgtH5hBzRdbGwzRu7aKSLFJO5fB0NdF1/zZsfidivszK+RkuP3mUtjsG1+frOCwIGgFrgxO93YQsStga3Wh0WlztftwdjQS3dyMWK4iZIj0PbqcQz7J4eBSTy4bJZVvf8rj6dbY3edDqdOu5IBYDjhYPpWSeY1/4LuVUHjFXwtvXgsFuopIuYHRYqWmraHRarH4nKAqlRI74WBijw4KiQGpqhYvfegOT04qtyUNo3wBmt5VaRcLkMlDJFlDq9fVTSLkiLbv76X14B7WiiFyX0ei0yNUagiCw+bP3kF1cY+GNS3Tft5VyMk8xkSM1vUKtWL62vWb1OylE09QlCZ3ZQG4lRXpuFY1eRzYcJzERoWVXL1t+817kmkxxLUduKcnqyBwbPrWfDZ/ajyKvjwswOa3XTictnZ0it5TA5LRgbXQz/+Yldv7rB5HKVSrZIkaridb9/cy9OkJ0fAF7yIep1YXOa0FKFNEH7Kxk1zj3vVfZ1zD4U33P/qKpxYpK9VMolUqMj49z5PBRvvf1NwiWb8On6yQXH6ZWF2gw9FLR5FmujFAW0jiFAI56GxPK80gUcdBKO3fgJMQy51jiBC5uv9pLshk9Fo7xn1nhHFXyNDCIFT8iOdLMUSFDOwdQUFjgLVrYS4Lxqwm20MAgrewjzwoaDDQyiBk3SabIsoBCCybcNNCPlUbyLF87KZRhkQoZrDQgUyfOOO0cIMAm0sxhxE6KGULcgUSZBd4gzjhmXCjU0aBHonQ1hdaDAQs1JJY4yRoTVMiun/TBTiv76eRu7DSzygWyRGhlP+0cQCRPmlkUZOKMIVEGQKaO/uq9atCiQU+GBQzYyNejeBmgUdeHpmBl4VIKpS5g1g6RSkzy1S8+ecMGWb1ez+DOLo4fHMdscd3w31xRFNLlFVpCIUpS/Ge2lL5jxw78fj8nT53kwiuXriXY7uwfYu+j6wm2kiTdsL9l/NQIOp+VjffvYjESRswWMXvt2Fu9aA16Ft4aRZEV2u/YSNf9Wykl89gb3ZhcVkL7Bzj7pRdJTi0R2NhO885eFt4apXlnH/0f341/sG09vE2joXFrJ7OvXGDh8Cg6k4FiIoOYKyGVROZfu4jJZUUQwN7kxdMTRKPTgqIQ3NLFxPdPYbSbMdjNpGejLJ2+Qt+ju2na2onBtr6ys3hsjNJalkq6QG4pyfybo+SXkwQ2tTHw2F6mnj9LcHs3Vp9zPRPlathcbjlBfiWF0WHG1uhi9MkjOFt8+Ppb8PU242jxYQ96iI0ucOnbhwnt34Cnq5HUTJRSKo9cl2nZ08fqyDxtd2xEluooOi1mtw2dUU8lUwBBwASEbh/k3N+9RGImitFmQsyXURQFb08ztkYXsZE5rH7n+smlRg+OoBeT04Kg01JayzJzaBiA+OUwtkY3bbcNMvbdY9iavQR1WhyhBkrx7HpYXqWKIsvkIgmad/ehMxuoixIte/qJX15k6fQVxr97jI2/eoDiWhaNXkslVcDksBI5PkFDfyv2Rvf6ipZJRzFXYOn8FOGxGVK6Zdb+LM3tO/d9IIYbqsWKSvUTOHnyJE9++2mOvXSe7FqFqijh0oXY4dlNOpbDKoZYE64QkIZI1xcxyG6sBDFWzTjkEAYm8dBDDw9go/FqE2mR7fw+LtrJMIeCgpN2mtmDjSZSTDLHawAICLSwlz4evRptP0mVIkucQqGGETsSBfxsREBDjQpJpq6eKiqSYg4rfjq5l7Wrs3sEwIybInHsbGGJ09SRWOAwccaw0XhtuGGN0rWvxRyv4WeQGJe4yD+wmX9FkTVsBNBioEKWCCeZ43UMmNnPn6DBwArnKJOkwCoFoixxig38CgN8knneYOlqI66XXgqsXk3hzTDGU0iUkSiRY4kkUxSJUSJJimks+GhhNwN8nFIlQT5WoKIzEQr0UK1VkHNmzq9c5lvf+kf+7M/e2SB7++37+ar9SRZTozRZ+t6xJbOcmkGwlrC7TUjGn20abigUIhQK8Zj02A2D6G7U31KTJGYnp2m7ZxNSVUKSasSnlsnFkiydukJuNUn88gJ9H9tNzyM7kfIVtHoddamGRq8jPb+Mb6AFz3gTaDSsnp+lYSCErdFFbimJt7cZvcWIIICgaOj+yDZSM1GWz02TmllBq19fRWkYaMXTHSS/kiQ9F+PSN9+k+4HtNG3pwORZL2L0NjPpuVV8fc1Ez88S3NGNVqeFq6m27o5GPN1N1Ot1wicm0JsNbP6NO+m4ZzO5pSTVUoWmzR2E7thIJZWnnCpg8TrQGnVU0kWKaxl0ZiP1ShXfQCuh2zaQX05Sr9Yw2Exs+c17CB8dJ3xsDDFfolapUlrLUYxlCN0+SOLKMr7eZmwBN6VkjnIyT71WQypVETQC1UIFvcVIJVvk2Be+u16EAN7eZvwb2whs6mD0nw4Tu7RA7yM7sQfc2JvcmL125JpM8soSsizj7W/B3RVg7vWLBDZ3ALA2tsjGT9+BVq8lu5RYb2Z22UhMLa+fZrptAxavncnvn6JlTx+t+/qx+BxMfO8koTuGrt5XCb3JgNFpIR9Nc+ZLL2Lx2NZXh6Q6pXgOm93K/s8+iN5uxizpObc2+YEYbqgWKyrV+/QP//APfOW/fAdDooOWykfZRA8JZZ58Jc6p5WfwCJ0MmT7Bheo/crH6FIOaT+IS2qgqJQq12NWmWRft3ImTEGbcxBjFSSu9PEQdCYnC1aF/M2RZpEYFBeXqSoIACLhow06QBFNc5jvEuEiJNepUMdNAkQROQqwRRY+Ffj5GHQmRDAscI8JJzvNVPPQQYxRQEMlRpcQIXyfKeVrYS4jbKJOimd2USVAmgR4LRmyYcJFlkQJRvHSTu3p6x0kboEGhSpE4c7x6tfDow06QFc7RyT146GGJE8zzJlWKnOZ/0MJu/AyhxcAsh3DTjgUfZ/hrFP7/7P13mGT3fd6Jfs6pnHNVV1d1zj05BwCDQeAAICgG0CQVLWm1Wq8sy2tr9+59bO2u7WtbWtu79rWttJZJyhRJMYEkQOQwgxlMjt3T0zlXd1V15RxPnXPuH1VsmTIh2xIt8orzPg/+6ELP4HTNwZxvfX/v+3kVJCoEOIAeG2nmMeCgSQkTLpz0kWGFLg5gElz4xHHKQpxYchmvI0jA2YPXFiK7HeG1P/48n/nMp/8Tz8nQ0BAf/snHuPjZi7gTvbjNIfRaI81WnVwthmCpMnlohLuZb3P89H8dDfe/VDqd7gN/3z/tb4muRNha3kAccFBsVlh4/x47s5u4h7vRGnWIgojZZ8fZ5yezGEWj02BwWChuZ8gsRVERcIS9+MZ72L65RHJmA5PLSn4jgdKSSS9ssfcnz+Ds9aMqCkpLIbCvjxv/9ju0pBZ9j+9j8pOPIGpELH4H1i4Xw88cYf3CfZZeuYHZY6W4lSa3vsPUH76DVGsiakSq2RLZ1Tj+iV4QQGpIRG8tMfj0AUweO3PfvMLkC48w+hPHUZotYrdXELUatCY9AmAJONulgNupNrQtX6FRqrH8+m0cA130ndlDq9YeMiwBJ8WtNI1CFXvYi0anZevKPAA7U2u4R7qppIvIzRblZI7Q8VGkah1FktEa9MiNFqJWpFVrUIpmUBWV8eePtnuM6k2SDzZ58JVLbQ9Nq0Vieh2tQUf4xCiiRiS3kSR2Z5nidoaDP/8UyfsbaA16LF470RuLqLKCVG2XSFq72nUG9XyFnel1Wg0Jo9NCemGbRrFKo1ijVZMwOs30P7GP+L1VYneWcfb50eq19JweZ/PSA3RmA46wB/dQEL3VTDVTRBCj+IIBQnsGsYU8FFcTnP30GW6/feVHvtzw4bDyUA/FByPV//Tr165d4w/++dcZrHycftcJiukaIfMBlrPXmFRH2ZAus8TrDGjPYNcEici3MGAlKBxCVA1kWGaTy/TxGDaC6DChwUiWFQY4C4AGHRb81MiSZokqGSz4mORTbSw4Oja4xBT/gSm+QI0MZrz08RhG3ChIpFnsHBPlOM6vYiNEgwJGHDjoxckAN/i3bHGVEvEOqK3Q8aukqJJilOcZ4cOU2aFJGStB/ExSI0OBLWQkZCqY8WEnjIqKEScx7pBljQHO4qCH+/wxMnXs9GAjSJYVbHTjYxIjdvbwaWrkO++Fji2u4WWcAHuY4St0cZg08xTY4gi/zGgHnNekjIsh+nmCGLfY4CL9PImTfra4Skqdx6p40QgG5HqL+bnv0GUdYtR9Cq+lF6Vs/kCD7M/+3M8Qmf835DfuITZrqDKIOoHuQS/h8CiLqWv/VTTcH+T9+R/7Wz574RapQo5cIU+XIpHc2iG1tE3gwAAmd5tA6xrqwmA1ETw4hCCKZJZjmD12ZKlFs1zD4nOiqiqlWJZSPItvPEz/4/uwh7xI1QYblx5w5Z+/yNAzhwkeGkKVFWr5MvlIivCJMQJ7+6jn2xsOpaUgAEpLZviZw6Tmt7j0W9+gsJlEURR0FiMGqxGTx44sybz/m1/HMx7CEfaxM7VGOZHH0eul1WhisJroPT0BKlTTJYpbSXzjYaK3luk6OIggtpugC5EUZq8d30S7tXjqC+/Sc2qC7FIMQRTw7ekjeHCQWq5MfiNBeSeHNeAkdneV4OEheh+bpJoukVncRm5IbLz3gJHnjmGwm6mkCqDSPt7SiNRyJWJ3Vug5Ocbkpx6jksjTKFXpfXSShW/fYO7FK23zsShQiCRplmtEby1jsJvxjoXpP7sf10AAURBYe2+G/jN72ybnXi9StUlxO41Wr6W8k0MF9BYjXQcG2t4gQWD1nanOEdo8w+eO0Ko0cA8FSc5t4h7oQkEGQSB6a5nwiVGe+P/8DMVImvxGArkVwD3chUYReftz3+LAc6exGM3IisLxZ8/w8vIWF967wE//1E//SCaEHg4rD/VjrQ9Cqvf19bC5ufWfvP7mm29hzo1yZugXuL92BZduCI2gRRBAUmpMiB9nR77PqnSRliixT/hJGkqReV6iSpoaeVrU0WGiSooGBVo0KNH+hKsio8eGEWeHGXKPEZ7FyyQW/OgwYyWARJUoN5CoMc5H6eYYWvQ0qSBRoZujWOlijbeIcZcAEm6G8DJOhQRRbnOMXyXFHOu8g4UuujmClW4q7JBnYzfKDEKno0dCi6HDTansYvSzLOPkEDCNTJMeTrPFVa7yL1FRkGngZog13maT9/ExSYgB9JjRYUahRZjjrPEOx/nbVEiyxVWGeAYTHm7zex243QgmPGxxhRZ1RHR4GMaEixDHybGORJmD/CJ18pRJoFddONX+NulXlkgWZ7hU+hJ6jYmSI8mFN67w8U98DI1G8z2Dam9vL//93/lJvvrZV6nFJfocB3FYPFSbRd6PfOm/iob7F74/P6CF+YVzH+Wf/c7/jXNPgHqrzvqlGRw9PrwjYboODJCcjeAZ6aaWr9CqNRG1Iv49vdQLlTYbJeyhmilRimeJXJ4nvbBN+PgYA0/ux+Jz4h3txuiyEj45xtyLV1j8zk1q2RL2bg/lnTyCKGLxO7H4nSiSTC1TRGfSozXq2503pRoGm4nSdpqhZw4TPj5KLV0kMbtJNV1k9PmjpOa2WHtnispQgeChQcYHusit77B1fRGdxUg+kuyg+mVUFcInxojeWmbt3WnCJ8coRTM4+/y4BtsDwsK3r6PKCsHDQxjtZjJLUZqVOhq9Flu3G2vAST1fQWvSkVrYYvITp0AQWH3rLq6BrnY78tQa9790gT2fehS52UKj06K3mqgXKiy/fpfEgw32fuYM+fUd9NY2iTY5G8Ez2k3fo5MosoJ7pJu1d6YYee4o9rAHe9iLtctFo1BFEASMTiuK1KKSyCNV64z/xAnKiTylaAb3UBey1MI93I3Za8Me9iFqRHRmA616k8CBfjYvz+HoCyCVa+0oc6lOfjuF3mzk+r/6NtnlGI//g59Co9G274FcmVqmhN5kYODMfqqZIqtTC3SP9jF3b4bcZoLF+UVubV9hdnWRw3sO/Mj5WB4OKw/1Y6s/jVS3Gl2Uqzm+8/98k83kFxjzn+TI0J+8fu3L13n/yhSPWX6tXeCnqGhFI6KgwWbwUqjt4BD7CavHmZe/jUUO4GWMEkmyrKGiYMVPmQRRbmIhQBcH0aBHh4U6WcrsYKaFQosca9joppcz6LGQYw0BgQIRFnkFJ/0YcNDDI9gIYsYDCCSZJccaozyPRJlV3kRGwkk/ZRJscrFTZNjFMq/RzxP0cBo/exHRkeQ+Y3yMHe6xxjsMco4uDpFmgQGeRKGJATsFtnb7eMrEKRFFi4EJXsBBDwt8Gx1mzHhwMYKASpJZNniPJkWGeKZDo9VjxNUpRZTo5THu80dEuYUWA3pCJJglwH5sdKMid2B4ZTKsIlHHgo8+HmOLq4CKiI5eHuUYf5MqKbKs4mWMQfUp1tR3uKt8jmq6yGvfuMg77xxhcGCUsfERnnr+kd1o867h9ep17l29QKShoDOLHH96/HtouP+tig7/rBbm9/7NZXKxNHW3SHdfgPX7i8iCQn4jwcDTBzHazTRKVQafOsj6+Wm0Rj3xqTXCJ8ex+BxU0gXsPV7Mbhtag47Fl69j7/USPDSIqNVQTeURJnvarcdWIxOfPE1xO0N6fguzz8HO1Bo6kw6jy4LBbqZeqJDbSFLLldvgOUWhnMhjctuwdrsYfuYQBqsJ32QP/U8dYPWte6yfn0bUaZj4xCm842GkaoNmuYZntJvuo8PMf+s66cVt+h7dg97S9gUZ7GYmPn6S+Zeus3lpFs9oNzqLgfjdVeJTq+Q2kpg8dkwuC8HDw7QaErm1HbI9Ptwj3QiigLXLiXS1gVRr7rJnVEVl4KkDJGcjbN+YZ+bLF4neWsI/2YdrsItiNM3sN65STRVw9PrYubdKaTtN18Eh9BYDzUqd7qMjyM0Ws1+/zNjHTpCai5BZjuEdCyOV6214m0YD5RqFaJpKskB2I4FroIvBpw9S3slz7/NvE7k8h7Pfj9KSkSoNWrUGBoeFlTfvUs2UOPYrH2buxWssvnwD72iovc0SBVrVJuXtDLE7q3QfG257cVIFrF1OLD475USu3adkNRI8PMTqm/do1SW++bk/Jjw+yNjHTlBNFggNjHL7/o+ej+XhsPJQP5b6j5Hq/3E7cqIQQS2ZGax8nEBxiJBtAoejXcfe7Rjhvffeo1qWqDfL7b8glDoALkOYtBAjq6xgJ4RCiwYF1jhPgllc9LOHz2DAjp5vscN9Zvgy21zHShAVlQQzhDlNmSQFtigRZ5hn0KDtJHQE8mwS5y56bKhIBNiLHgtaDDSpoCJjo5smRQQExvgYWVbJsMgl/ikGbNTJYyPIFlfxMEI3R/EwggknTSootNBhoo8zpJinRoZ+zjDFF9jgIiM8i5ESGZapk8eEl0VeokYeO2ESTBPhMuN8AisB4txDhwE9Vvo4Q5YV4kxhxEUPpzHhosQ2Mi00GJBpUiRGnCnodDrrMBHjFi1qmPEBKmV2kKhQp4CdHsIcR0TLDlO4GMDPPmSa2OimTo46+U5s24AFHxJV9LKfQmaDxUyE1ek4V8/f4uDxCf7ub/wKR48e/RPD6yf/04Hkv2XR4Z/VwuwIe3npC1/nzuX7PPnRT1MpVwkcGsTR6+X6Z9/Ak8jiGutGlRWMDjPO/gCxeytklqJItSaBfX1U0yWkSh3/3j6UlkxiZpO+RyYx2M2UtjO06k1kaepPyvxUFUefj+jNHKVYBo1ei6PHh1SuU4pnMHscdO3vJ3ZvjWq63Qll8dlpNSUMNjNao6HdkKzXIdWbDD65n5U3bmNwmBn9ieOkZiM0SjWcfX78e/vQ6rXUsmVW3rxDPpJk4PF9OHp8rJ2/j3csRDVbYuvaAtm1GNs3F9FbTfjGexh86gDZ5RipuS36z+7Hv6eXRrFKcj7SQdtbaBYqJGY22gZWh6VDywVR00475TcS9D+5j2v/35fZuPgAvcWIIIo4+/0c+vkn8U30UoxnSM1GiN9dIXx6HJPbhtFhxuSxtaPKWxn8e/tZPz/N0LnD6Mx6cqs7VHMlFFlm+Tu3KO603+fA/gGkagOTx4bBYWb5tdsEDw/hHOhCFAXym0kKkRT1fJmRDx/D7LbjGvAz/82ruAa72L65RLPc7hwyOi10HRxgTyf6nJjZQBD7QRQRBAFRq0HUadDajRRTObZnVug+Pc7BZx9BkBSKqwn2nT7M/kePfmDT9w9LD4eVh/qx1HeR6v/xoAIwF7mOruLj8d7/jpXUbba2tneHFZPBgsPkR6o0yZTiuO1e8qkYTn0Ii85JwDJEorxGVlnrGGIVZvkGozxPkCMIwAYXqZIhxHFc9CEj46SXJA/Y5H006PAwRoEIMs3OUNIuMKyQxIANgB5OE+M2RlydQUaDgIiMjB4LLoZIMYcRN3psNCgQ4hgWfAiI6DCxwMtYCSDT6KSBNBhxIKKlRR0DdgLsZ5vrjPETdHOMTS6SYwUHvVRIEKNGhiVWeZs2MTfFGu/QxSFKxKiTwU4IM2702JFpIKLt/LyXsNGNATtx7mHBT4zbzPL1toESH3724mcPdXI0KVMgyjY3cDNIL491BpYFUswS4X0AujlKH2dQkSkTR0QHiKRZwEY3TnqY4AUW+Q4mvAgImPERlo6TiM1w9Y1Z4on/nT/8yv+z+5f0nza8ftBW7tbX7vxAig4/qIW5UCgwt7LI2HPHWbk7T71YYenSFN2nxzC4rRgcZhrlGqggN1tUkgW0Bi25lR2sXU7y6zuoLRlHv5/8RpLorWXykSTF7TSiToPBasJgM5HfSKIqKkanpcMrUamk8iQfbFLNlgns7SN6axmlJeOb7EGqNlCkFq6BANmVOAgqBpeVrRtLWPwOpEoNvdmJoG0/NFsNCY1ehyPspZYpU80U0Rr1u9dsDTgJ7OkjeX+d5VduMfD0ATRGHdvvTFEvVDC7rVg8dnpOT6LRa0FVEbUitXQRo9NKdjnKyht3CR4ebF+/rJB4sInOYmDz4gO2ri2gNem58TuvUM9V8O/tQ5ZaWLx20AgUo1ncg10YHRYEjcDIs0cxOC3oTQZKsQzNUg1bt4dmqcbNf/sKvolebEEXjWK1nbrJFDC7baiKQmougsllQWcy4JvsZfv6AmgEHD0+Evc3qWZKGB3mdl1APMvI80cpRbNELj0gH0lh73bjm+hl6NwRbEE35Z0cgkaD0WWlVWtgdJg49AufJr+xQ+TKPKJWg1Ru4BrqopreJH53rbNBarT9NFoNrWqTaqZEcG8/fU/sJZ1OI5YkerwBRI0G4AObvn9YejisPNSPnb6LVB9yn/ueB0FLlljdXmDAdA5RFHGZutnZWmViQm57GvRGhvrHWJ9ZJ5OfYKTnANnCfZK1FfymYXzWPtSmlpna18gJa5TUON0co4uDuBmiQpIMSwTYjx4zKRY70LW7BDmCjz084Gt4GCXMSQQ01MigIFEjh9o53hAQMGAFFBoUEdGh6TBNBLRoMaJBj4pKkQh1cgzwJKf4dRJM7aLwA+zHwxh18jTIY8aDiooZH2V20GPDgJ3vIvqDHMRBD1Fucpd/j0C7KbpN363iYZReHiHHKoM8hQ7TbtxZhxkTLnSYkGlRJs4tfh8ngyS4T5FtAhxgjhcR0aPDSj9nGOcTtKiRZoEtrlIljREHGZbJE6GHRzjEL6LF2Dm2Ok+SB1gJEOIENoI0qdKkiAY9bkawE9zd1rgYoMgWce5SI4edEK76GHM3b/NP/vE/4d/9wb/7T455PmgrBzAROsHNlTf46mdf/XN/Iv2zWpi3trfBrKVvzxCoKvdev4Ko0eAZC+McChA6Pkp6cRuNUYt/spfIlTkUWWHPZx7D3u2mWamTW08Qv7OKVGuQXYmTmN3EYDGiNRqwBF3kN5IEDw+h6WDm5WYLUDu9NiZq6SJb1xdw9HhRFHX36KeaKlBOtLkrJreVzGKUajJP/5lH0Oi07TRNXQJVbf+ctSaKrKBIEp7hbmzdbjQGHZVEnvjUGlq9Fp3FSGI2wpee+4do9Fr0FiPJ2U38e3oxutpVAF37B2iU6jTLtc4DvEk1XWD59dtEby+hNbbTQ7Vcu026kirg7PdjtFuI3VomtbDN6lt3SS9sYXLbKETSVFNFRp8/Rmougt5iJHhkiJ2pdZrFCoKowdrlwtbtJnhokGalTnY1zt3PvU1xO0N5J9s+SksXyCzF0JkM9DwygcXnYOmVmxS304SPj2ENuvCN97J2fprpL73H2E8cZ8+nHqVZaZueg4eHWHjpBj2nx9EZ9dSyJXQmHYIoUs+VyW+mEHVaBp88gHe07UtRAWu3m+RchO7jI1iDLgqbSVJzEWr5CigqoiiyM7WGCNi6PezMR6ikChhkDe5JG4VCAYfD8X2bvn+YejisPNSPnb6LVLcav7d5VJIbyC0Fs7b9ul5rRGmpyHJ7WAF4ZO8zzC7/JoulC+zTnqI3OEokvsRmJYdN08Ws0o4QW1Q/Kir9nMXFICJatrkB0KHDhpng44BAnnVSzFNkGzfDCAhEuUmedVZRGebZzsPeiZUQ21ynRQMLAaLcIshhRLSoKGjQoNBCooKASIQrmHAR5iQa9JjwIlFFoYWABhEtZjxkWMHLBAotLPjIs065Q7P9bsmhDjM+usizjhkfAzxFmkU2ucgwzzLCc+gwM8OX0WHCRjcuhpCpY8KNiAYVFS0GQpxgjheZ50V0GOnmGA/4KkrHr+NhBFdnwMuxwhbXseBnL59Gg5Ek90nygAo7pFnCywh+9mPCwybvs8MUIY53BjktGgzoMCNTp8g22c6w06SCm2G6OYxMqxOMTqKVrfzR575Go9nCKnow6iy7xzzpdPr7buWgjeI/Pvwsr8ysce3q9T/XsPJBLcyKLJNIJ3AOBSjsZFBQ8e/rh5aCLLcwONt+jvP/8EusvHGXwacPMP/yDfx7etn3U2eoZUrkVndABXuovRXwTfZQzZRolmvE7ixjcJgxe2yYvY42h6TR3AW5lWJZ+h/fS3Jmk0apytjHTqLKMtvXFylFs22cvEakli2RfLCJqBXxTvSg0evQmvRoTQY0Og1ys0UxlqUYTdP32B4cfX7quQoWvxOd2YDRYSE1t0V2LY4iK7gGAow8dwQUhXKqSLNUQ6q1sfmVZIGuQ0OIGpHk3Bb5jR2Ch4aw+OxsXplj5c27FKNptHo9tm4Xgb39+Pf2YQt5sHjtaE16IpfnWXr1Juvn79OqNyinizh7fG3PyUqcgbP72LgwQzmRI7+RxGA3Y3Lb8I6FCR0fYejpQ9TzFQxOC4VrCww/e5jRDx9j+8YiIBC9tURuM4Et6MbsseMd78HZ4wWx3a4M7Tbk2K1ljJ0tltaga78XTjNDHzqM3JDIrkTZmV5HUZR27FqAfT95BlvQTUtqUcu0k0vhoyOsvn2PzYsPcPQH0JkNaPTtDznZ9R02Lj5g88ostWIFRVUwua3oTHocJhsFtcrNe7fZMzpBd3f39zR9PxxWHuqh/pJlMBjQGUXK1dz3vK7TGNBoRapS+/Vmq46oE3YHFYDhnr0c3HeU8zNf4etrJcbsT6C3WYgX73Axf4m4PINHM45etaAoCm6G0WOlRpZNLqHFSIjjjPI8Mk3q5NBjwcM467zLMq/Too69Q5Ztezvc7OFT2AnRooYFHxGuYCdMng02uMAELwAgogUEisRIs0CGJXo4iYiGBgWalGlQZo13yLJCmnkc9KIg73pKFFoYcVFmh1XeokqaRV5CoUWaJfKsYSOERIU4d7ATYpSP4qafKhlAoE6Rbo5ixInUqQfQdci2LeqUiGHGS5MKFTJUSWPGQzfHSTLDAE8iomGHe8S4Qx+P0cfjKDSpdLYrVoLINFjlbTa52GHQ0PG+GDsU3NM0KCJRxYidJmU0GEkwgxYD/TxOH4/TpEiBbWx0kWMTES0VJclrX3yfY+GP8eSJJzHb9Vz/yk1ur77BhwZ/5QNR/IIgMOQ+wr2rb/HCJ//rUfwf1MLckmVkVUFvNLBw/g6+8R7cI91k13dIPNig7+xeXANdjH/0BFNfOE9pJ4cggNljY+vyHHq7GY1Bh9nroBRNgyBQjmcRNSLhE2MoLZnsSoyug4/Qqjdp1SVMTitGt5XVt6co7eQIHx/D5LaTmFlHlWSMbitD5w6TmF5n9e17KC2ZzHIcqd7ANxZm8EMH2wyUQhWdyYDWYwMBNt9/gKjRkFuNUzs6jKBCJZlHZzIgSy1sITfFaJpKqsC+nzpDz8lxyok8UqWOo9/P5qVZNi/OUNrJc/dzb2GwmcmuxCjv5Fl54y5dh4fIryfIre7gnQwT2NPH4NOHKMezmD123MNBjA4LCOAZCdGs1tmZXqccz2JyWOk+OoJrsItGuUY5kSO7EsPZH2D8YydxDQaoF6rs3F3l3uffwTcRBgEsXjsDZ/ejNeip5yto9DrCp8Zx9HgpxTNMfvJR3INd6Mx60otRNt67j8ltZ//PnqWeq6AqCtVsmczCFpagC0WS6T46CqpK8sEm8XurSPUm5XiO7EqUnpPjxO6sUEkWaJZq5NYTaPRaYndWcI90s35xBi7OYPW3tzSVVIHorSUySzGa1TrugS70FhMmmwW924lRo6e/t4/Y6hazS/NYLJbdpu8fhQ6hh8PKQ/3YSadrF9rd+todJkIndh86Wo2OofA4G3N3GLAeJ1eL0T3o/Z5hRVVVbB4DP/93Pko6neHOxd+nVQfJWiWvidFbOcZJ8//AtcSXsIpe6kqOLKuU2aFGlt4OQl6iRpMiMk006EmxQI0cXezHiBsrQdLMUqfANldIMkMXB7ARJM0iZXbQoGOIc2xzgwopghzGQoAsy2zwXqc/SMBCF3ps5Fhni2skuI+PSSZ4gSYVdJhIs8Q0f0Sqk7rRYyfOXTZ4jwYlCkSx0YWPCUIcJ8MiU3yeGllO8nfQdUi1MhIuBkizyAjPokGHipEaOTSdIyzQsMMUDnqRqFAihoyEFj15VikTp8gWJlys8Q4a9OixkeQBBqwIaDHi6CD99TjowYiLYZ4hzyZRbpJjjQW+zTAfpsg2Ler4mKRBsbN5mSbIIcb5BEYclIhSIIIZPwacmPFQI0dGWWImdonm1Rq/9qnfpN+3h5kHU8RXcxQGC7t+pj8tq9GF1FD+XJ9IP6iFWavRoBFEaqUK0fkN3INBTHojWrOBxNwms9+4zOCHDtF/Zh/NaoOZL73XQcHTfpDptCgtGUVRqOcrKLJCbi3B8LlDjH/8JOV4nhu/8x0EjUhgbx96q4liNE16fptarsTg0wcQRBGTx0Z+I4HOakButrAGnOz/mbMYnBZW37wDqERvr5BbS7D+7jShY6OUttMkZtapJAqkFraI3lii78xeCttp4rdX6H10Eq1BTy1XppLMUy9W2ZlaY+feGpaAi2LH9OsaDqLV67CHPagIpGY3id9eRm8z0XVwoA2Cq0sk7q8Tu7uKVG3QyFVx9gVoFqtojXq8E2FsQTeCICBLMgCDT+ynHMsiigI72U0S99eRpRap2U1s3R72fvoxQifGMHvs6Ix6ECB4aIi1t6dYfPUmSud9sAacLL12B5PbSiWRJx9J0ao1KW5nufvv3+Tp3/x5pGqTyOVZek5PMHTuMKVYltitJVTAv7ePaNDNgz9+D6nWpJIssH1tHtdAF+ETYzQrdRrFKkaHme0bS8Sn17H4HNiCLroODuAdC5Oa3yKzFMXW4yPy/gPizVVy6zsoLZl6oYJvby96sxGrx0HywQY9h4axOR00CxUUVSU03MtyrsTW1hYbnabvH/ZWBR4OKw/1Y6rTp09y5+LnubnyBseH/2SdP9l7kuXNz/Fe5HOEPUP09Izt/hpVVbm+9CqyO87ZJ54hGo2jaVpIxBPcfzCDUjKhCirvF36HqDyPgkSTGhO8gJN+VFR8THaOaYrosVKnQJY1VnmLHk7hZoQV3mCbq7gZ5hj/I1oMJJkjxyrbXMfLBFrMbHKRBiWsdJFmgSg3aVGnRaPz32unhyK8T45VqmTIsEQvjxHiOEpnUGpQws0QBmxscpk0yzQokOA+NfKEOIqT/t3yRANW+nkChRbrXMCEGxNuQEBEg4cJFnmFNc5zgJ9FQAMoKEiAwAZvUyKGgz5KJDDiIMhhXAxip5sdpsmzwU1+hxY1jvIr+JhARaZIlCpRTLjRYkKhyRDPEOUGPvagw4IRN9tcZZav8TVewIgLD8OdCPMKBaKduoITGHEAbQ+FiA4RDVpsu8h+iQpdrQM8iH2bz73zj/m1j/8WQU8ftYT0PebrP61yPYfO/OdH8X+/FmZRoyHgDbCxsUV0dg3Nmo5iIoesyDQrdbauLnD38+8w8bET+Pf2M/nXHuX2v3udWraIvduN3maikszTfWSYjfdmyK/v4J3oIXhwELnZwjXUhTXgopGvsPjKLUwuKwigMxkwuW1sXpyllit1HnpVug4MIDda6EwGXINdbFycYev6Ihafi/GPnWp38UyvtzkpUotiNIugFWkWqlgDTkaePYIgwtKrt9iZWcfqd6Ix6hE1IoXNBM1Kg+FnDqPVa1l46TrO/nZSKDm/xfLrd3ANBPCOdtN1eAhBEIndXmb93Wmc/QEO/NyTeEZD3Pvc24h6LVK1TjVT7FQHtPt8UNs+HBUQDVp0ViPhkRD1fIXAwQGKkTSlWI6uA0OETo5Riecox7IIGhFBFDC57fQ8MsH6hfsUsqW2b6ZSJ7sco5Iq0H14iAM/8wQavZbk7CZr5+9z43dfweS2YbCb6Tk9QTVVaIPqEnkA4nUJVW3D87QWI41CheDhYYJHhhEEAZ1JT2BvH+GTYyx86xrFWJbeRycpbqYoRFL0nJrg1N/9OPPfusrcN66gqjD83FHCx0bIrSeY/dplCpspRj9yDKPVxMalB8RuLDH+3HEEBERBAEHAEfRw5Y/P0122cOonTv257uEftB4OKw/1Y6ne3l4+80vP89XPvsorM2sMuY+0Ex31HIKtylrt2+jsJ4mWTBQkFzvpLe6svkus/gCLR8Pf/5vTOIQeHBYP82s7lLIazPIAFnUIB/10c4YcG0R4n3Xe4wB/vbNlUDpGWQ1FopSJkeQ+bgYZ5+OkmKNMjDCnCHGcNjNEi4AGM16MOMixgYMeQrxAgyJpFqiTp0ScKim8jCNRRqJGkCMEOUiAgyS4D0CJKEUiDPAkWozk2aREDAEBHUZWeB0b3QAM8yH287O7m4YYt9lhmj7OsI+fJsEMWVYJsL/ThGzGiA0XwyzwLRoU8DEJqJSIscwbFNlGi4ENLtKgQB+PM8pH0GPq+Gh0mPHiZpglXsGAHUPH7GvCQ54Nksx0TLLt1ucsq1zm/6RBoRNlDhPkMAoydsIU2OQOn8WKnwk+ySIvdbg0KiBQZgcLPmQaGHHRoIgFPxJVjvI3qKkZLs99i2OTj9HfPcJMfJHYxgATE+Pfs3mD9lC7mr3D8af//Cj+D2phrsZzXPq9bxNbXCd0fJSRjx7HOxZCkWQ2r8wRuTLH1B9dwDMaQmvQImpEAPz7+rCHvWy8N7P7gJZqTXpOjFHNllFaeSx+J66BABq9lqFnDuMZDZFZ2GL5jTsYndZ2E3FdIrsSI7+ZInJlDqPTStehQUrRDBsXHxA+PoZvTy+ZxW1CJ8YJHhxk8dVbbF64j2c8RLNUJ3RqnEo8hyXgQNRo0JoMlOJZEvc3sYfcWINuBFFk/GMncQ8FsYU8LL92m9V37mELedmZWqXn5BiB/QOkF7YZfvogGr2OkWcPM/fNq6y+PYXWZCB0fLQNnEvlaZTraAx6jA4LOpMeQRRQVZAbEkpDQirVO/HnMCtv3ME7GqL76AiVVAGzx0b8zioml6UNavPYadWalOJZtq7OY/bZqWaLeMdClONtOq57tP3/j6jX0HVwEL3NSC1XJnJ1ns1LD/BP9vJ+Io/JZUXUaXEPd2Hv9gIq9WKV4JFhHvzxxbZhuCFR2Ezi39eHzmTA4nfSLNcInxwjORtBrjc5+jefY+mV28y9eBlVkbEF3Vj8TlILEUSBNp04lkGRWliDbjwj3ejMBtzxLPe/fZnYzBojJ/ZjbIhUcyUW3rtH7PICv/K//sMfiSQQ/AgMK7/1W7/FN7/5TRYWFjCZTJw+fZp/9s/+GWNjY//5X/xQD/UX0PdCv95C6kC/Pvo3jtLb9wkim1vcu/oWsa0d1lY2cJqCnOj/KAtrM9iyVnLVDCW1DA0XB/koOtWOjSB6bIhoCHCAPBvEuEWBjc5mYwULAZz0U2QLG900KDPG85hwkmQGO2HCnESPBT1WtBgR0JBlGZkW/ZzFSR8DPIEZD3UK1MizxRUWeIkaWeqU6OU0DvpQkZGoYMbDQX6BApvsMI2XCSx4MWDDzH6KbHe+/zIyTQZ5koP8Ik76UZCw00MXh1nnXda5wCBP4WOSFLMM8CTLvE6EyzQpoaJQp0iWNRyE0WKiRRUbIfbzszjoIcsKWdZQaLLC63RzBIUWZRIYsNLLY8S5xxbX6OEUMhKgYiNIkSgqMnXyZFlForrbPi1TJ8EsQAcyd5oKo5SIkuQBJWIA1CggoCHBNHk20WPtGHrX0aBHokKTClrBxJj6MeLKPf7DW79Jf9ceYuVtyoUavpCbwcGB3Q2LqqrcXHnjB4Li/34tzLViBX1FZejJg4y9cIrA3j50FiManZa+x/Yw//J1Fl+9haoolJIFrF0uoreW2w//j59Eo9eSXdvpHMe1j4fkVguj3UJmKUrXwUHi91aJ311FZzaweWWe3kcmGXzqIKJOQ2o2gtFp5eAT+9m4OMPGhRk2339AfiOJqNXQdXCAnek1Evc3ScxsotFrSc9vYfI7yG+mcIS9eIaC6EwGVt68iyCIjDx3lFq2RCVVYPKFR1AVmeTMJha/g1a9SWEzSfDIEOmFLea+cZnwyXH6z+4nv5lsFyxq2kWIggA9p8ZJ3N/gxr95iVZDQlVUmuU6K6/fZuT5Ywii2GaNaDUIotAe5gSI31vFM9yNqqoorfamSmc2YvLYKMVzNN67j95mZvPSLP69fQQPD2MNupGqDYwuKwabCbPfwfr5+3QdGuLR//cnWX3rHqtv3sPic5BeiJK4v05gbx+9pyfQmfVodHqiNxfJbyax93gZfOIAwcODmL0OpA5G3+i2Ejw0RGEzyYOvvk/o2CjdRj3VdJFWvZ2iWnjpOqmFKNV0kdxqjNidVdxDQexhDzqzidx6gp5H95Bb38EW8lBJFZAqDUaeOYLZbWPt3WnqiSIPXrpC3D2PzWbDLhrwje7h1Kkfja0K/AgMKxcvXuRXf/VXOXbsGK1Wi9/4jd/g3LlzzM3NYbFYftiX91B/xfVnQb9OnTrF0WOr/Kt/+u94auwXGA0e5ls3fofN7TUUCSyqn5ZSxSaF8QhjtGjiZoQKqU4H0CV8TDDAE4DACm9SJEKOIGV2sHYivQBmvNQpssM0vTyKjSAG7Mg0OwWGZorEcNLHMOdIMINEDQWZApskuN+h5LYoEqWLA3gY7Rw15SmwBSho0NLPExTYIsUcHj4KCLSoY8aDEScqCnZCeBijSooScWQagIIBO2Z8tKhxk99Gh4U4dynx9xEQcTFAkMOY8VEnxw7Tu3j8YZ6hjzPoMCGgxUk/Q5wjzzprvNs5QhrDgA0Poxhx0MU+lniVInFM2JFpAQouBsixBoidHqOP4KCHMgkEBLo4iEyDZV5Dok4PJ0gxT4EIEa4AAptcRIOWGlnshLETRkBApkmZJBGuUCWDqGrQY8GAg2J+i3hrB7exn7SywOs3v0DX4hCTkxNYHAY2ClM/UBT/n25hfunll8kY6gSf2YMuYKVRrKECBrMREBh97ijZ1Tir70whaASO/NKzlOJZoreWuPW7r2HxO0GA/NoO6aUonrEwnqEgtrCH7HIMz0g3qjrI9B+dJ3Jlju4jI3QfHaFRqlGMpilspmiWqtQzJUJHR9i+tsit33sdjUGLI+zlWiRFq97EN9lD6NgoFp+D2WaL1PwWrVqTntMT7c3DcDeX//k38O/ppe/xPVz9F99i8KkDaPVa6vn2lqPVaOHooPyhbYRduzCDs6+Nn68mCxhd7TZnVJVCJEViZgONTkNqYZuhpw9hD7nJbSTJLEXZeG8Go92Ms7M9gnbCavP9WSqpAv1n93P/y+9RSmRZ+NY1pGoTqdogdGKU4XOHsfd4qWXLJO5vEL+7St+ZvfScGie1uE05niN+e4X8ZpJDv/g0qDD49EEyyzEWv3OTzNI2vY/sYeCpA1STeTLLMew9XnofnSAxvc7m5Vly6zukl7YZfuYIoGLy2HAPdyM3JA78/JNsnL/P9o1F9FYjUrlOs1qnmipSSuQIHBig//G9qLLCztQalUyRZqmOXG8Sn1rF0eunnq9w+n/5BNNfvMDm5VlGnj2CZyREMZrBcdROMBiktJnixNETXP/a2xwb/W9T0vnn1Q99WHnjjTe+5+vPf/7z+P1+7ty5w5kzZ35IV/VQP276fi23kUiEf/Ovf5t7FyNYtBlevvQFtFUPg+qHMMp+9Fi43vxdeumloG4T5Eg7RUKSLa7Tw2l87O3AyXYYRCLFPHXyQDu5I1FDRKRKhjoFJKrYCGLChUSt4wLRISNRJ8sYH+l08giUiJJlmTXexUY3gzxNkCPc5vfo5fRu8sbFQIdDMt05qtHTxQHWuYCIHk3nHwUZsQOXc9CHTIMyO7vDxXdTRjJNPIzRpEQXhymwAQiEOMEgT2GlCz0WdJgJc5IqaUQ0DPEsLgYQ0VAiRosaAgL9PNGh4RYw4aZJCSMuDFjxsYc5vsUyrzDKR3bhcjWyNCiTZ4MaOfRYSTKLCQ9O+tBixE43Rba5x+c4yd/ZvZa7fI4aWbIso8XAHj6Dnz1IHXqvCp3raSe1UsxR6TRNh4VjBFt7keplmrY8LWecG/FbXN2R8HbbOPH0Xn7ypz79A0eUf/fenF58gLnHha83iKyBTD6LVG/QtBjQGvWgqDh6fZjdNkweK10HBnAN+DHYTRS30iRmNsiu7dCqNfDv6UeuS+jtJkRRJL2wTfzeGkpLRqPVkF2JET4xRnphG1EjorRkBFHANRgksxJDaSl0HRhAabUInxoHVWDlzTt0Hx5m8NxBTA4rydkIO/fXsQba6ZbtGwvtrqBzh3GEPdiCbqJXF2kUq4iiSL1QQdvxwKTmIx1kvxV7yIvJa0MQQZEVkrNtNojJY6W0k6ccz5LfTKK0ZPx7+6nlygx96CC1XJlWrYmz10fs7irTX7yAIisMPHmAZrHK9s1FarkKw88eYfE7N9i6Mt+ON+/poxBJ4hkN49/bi6jVoLeYcPV3ETwyzOb7s2xdncfZ7ye/niC7kWDlzTt4J3rRW01Ers4Tv7NC4sEG6YUoRocZ71gPhUgSndmIzmLEv6cPnVGPdyxMLVvG4DRjtFtYOz+N0pQwuW14RkPE7iwzdO4Q/U/sJzW/RWJqjf4n9tMoVnfBeu6hIKFjIxjsFkLHR0nNbbFxaYbg0RE2Ltxn9sUrTH7iFBafg8lPnOLq//1tpr7wLpN/7VEMdjPZaIrxA3uol6qcf/F1LOnWj4xX5bv6oQ8rf1qFQgEAt9v9ff99o9Gg0Wjsfl0sFr/v9z3UQ/1FdOvWLb7yB99h8V2JYfXDbOceMN58FJ3kpdxKYcKLjW48jHcIqwXybJJjlSVeQ4sJD+OotGhSpkYWJ/00OtsTAQEBDTa60GBknm/Sz9mOp6UN6xcQaVFHIkeKuc4RR6sz7KgkmWOHewzxDCM8hwBscxMTro5vpYoFP10cokGhMygV8ePAQgAZqRPlbQPlZJrkWEOmCajosGAhgJtBdFhoUCTDIhI1dJg7JNoZ9NjRoKNCgkVeRosRP3vwMUmVNDaC+JhEh7HTKB3ARogaWZqUkagQ5BCrvE2d/C5B14gdFbVzZLTMPC/SxxmMOEmzwCIvISDgYRSFJlaCWAkgIO7C8fp5nBm+wlX+Of08gYcRQhwjzwZxpolxFwt+qqTQYaJBiRRz5InQy2OYmCfJHEW2sBPEoLXiUUcRdHUK1TXkmpXngn+dYjWN3aei2S7xzS+8hU6n+4EPLI1Gg3qrgaLRkC8VMHnteEJ+quUK5UKJWr6C3JTaiRWrEakmUYplqOXKBPb103dmLyP5Chf/yVdRZZmhDx0kMbvJ3ItX0JoMmJxWRp7Yj95moryT5dq//DaoKlKticltRWnJWHwO9DYTbINvTy8CUIiksHidlJM5hj50kIEnDpDfSJJZjLH4nXZ/zeQnT1PYSqEzGUgvRpn6wruIOg3hE2OoikItVya7FifstVPLtMsOE9Pr1HIVQKXr0BCCCK16k/xmm64rVeuU4jkUWaWSyKM16LAGnCgtGa1R3x7avO30TjVdZPDJ/ZRjGa7+y2+zfv4+Zq8d50AA/2Qva+9Os/rmXbqPjtD/+F4SMxs4wj5GPnwUrV5Lo1yjFMtgdJoxuWwMPrGf7FKU27//GvVCFZPTiq3bjarCvc+/TWY51q4OmOzF0ePHHnZTTRVZfPkGXQcGMbos7XJJjUirIdF1cIDVd6Y59esfI3p7ieRchNEPH6NVb9Ao1tqEYY2GwIEBIpfn0Bp0aLx2Mksxuo+O4B0Lk12J4xwIIIoiIx8+QuL+Oq2GRPDQIDvT68TuLLeHwo6P6cHXLlNJ5vFN9FJNFrj45depbGWoLiT4F7/xT39kvCrf1Y/UsKKqKr/+67/Oo48+yt69e7/v9/zWb/0W/+gf/aO/5Ct7qB8nfZdQ6i4c5ZDDRqywilsZ5pj959hqLKMqWhpUsKCiQYsWExJxlnm9wyJZwE6YCO/jZxItJmSaiGgx4WaU57jBb1MnhwEnAgIVUrgZxoyPHabp4lCnWbjNR2lQpE6eWb6KiAYFGYkaTvrpYj8FIhTY7GD6JZLMEuQwVgIU2ERFQewceWRYpkkJEQ118mgxdEBr9zpdPy5MeDpHPl7MeNFiREUhwEGalFnkZaoduq5Mgy72M8BTWPDTos4O95jiP+BjAgN2XAwiI6Eg0aKKAQcuBikSpUUdEx7UDqvXSoAiWxiwE+UmvTyKjwmWeY0FXgJUMiyRY5PD/HedaLMdDyMIHShekxISFWx042UUAS0JZsiwhEILN2MU2cbHOEW2STKDiB4tRsx4CHEMEy7MeFjhLbQYsAp+rEqAsiZJWVxhv/bTmGRPG9Xn3kehvsrZyUe4s/72X4hg+0EyGAxI9SapnRJ+7Sjubh8IYHM70OWyqALkoymkWht9L2pE4tPrOMJeFFkhuxxDkWQ0WhGT30FqfovCRpJiLIM95MV+Zg9KS0Zv0mOwmHAPBzG57ZRiGeSO/8Mz4qCwlcbW7SZ0dIStK3PoLAasXU42L82w96cexz0UJDkXIXJ5ltDRESb/2iPYut0YXTZa1QZ9Z/ay9OotHnz1fer5Cr2PTuKf7CWzFMPkthG5Oo/V72TsYycRhHY3TmZxm8jlOYrbbVNr7/9rAnvYQ3YpRoU8Bkf7OMje42PxOzfw7+lDlRWkSgOz106jWKVRqtJ1aKjd+pwpobcayC5HSS9ssX1zCd9ET7tx2mtn42KJoXOHUWUZBC06s4GKopBZjuMd1yBV6hjsFhKzW7gG2sdS6YUoxVgWVZbZ+1OPc+Cnz1LLlknNRRA0Ij2nJ0ncX2f9/H0Gnz6I3JBoAqi0qbT5MrFby4g6LY1Cla1r87QaLcrxHBvvzRA6PoI95EFVVcqpPPVchVIsw8G//hTWoItqpkh2OYajz08xksY7Hmb1rbv0nB4n1/lzPvo/PIuj108plmX6j86zfWORzGIMqVLH0+VDSlcY6er/wOfvD1M/UsPK3/pbf4v79+9z+fLlD/yev/f3/h6//uu/vvt1sVikp6fnL+PyHuqvkP6sptyrV68jx90cGn2aSytXiBWX2KN7gbpUodGqYiFAnQJlEtjpY5avo8WIESc9nCbIIax0kWOFFd7Egh83I2jQkaPS9kF0qKoBDqDDSJ0caZYosEWZGBoMhDjeqfS7Q4koAfZhpXu3mG+Bl7DRRYpZJGqdiO4YQaJkWGKAJzoDjxYLXdQpUCdPng2WeR0tenKsoMVEjnWqpDDixkIXKi28TJBnHS1GrASQqGDCTYMS61ygRAxNh2trxocFPwH2IqAhxDFm+GMSzHQ2RTW0GAGRP/HIeMmx1vHTgIqMSgsN+o4JeIoKSUZ5ngblzvcolIlTp4gWPUW28TKOmyGMOAFQkNFiQoOeDMtoOvC3Zd7AgJ0EUzTIoSBjxN3xqrRLBdr7Ln3nmC1OjQx5NujjUUSNgFMXompbwy6HmDA9R74ZJVtYxWH2obRUFEX5CxNsP0g6nQ69oiG/maRZru2+Lgig0WgQ9Vo0eh3J2QjNch1Hrw+DzdTmqazGsfgdOHp9KLJCJZEneHQY12AAvdWE1qgj+SDC1B++Q2D/AEPnDhE6OkYxmiJ8Ygxbt5tquoTF7yC7EsMx2YuqqsSm1vCOhTHYTEh1CVHTNq6WY1lsQTeh46MY7GYUScbitZNe2KKyk2PiE6dYeesei9+5gW9PD/69vdz97FtklqOMfeQ44dPjCAhI1QZmT5sWiygit2RScxEefPUyXfv7kepNmpU6ti4XjXKNyJU5yvEs4RNjtOpNtAYdraaEo9dHKZal+5iNzUsP2nwVQUTUacmtxxBFkcEnD7TR/eUaolaDLeTB7LEjSy30VhMWj4PkXASp2kCjb9cHiBoBvcXM5F9rdxTV8xUKW2nq2TL5zSS2oBvPaAhZalHcShPY1096YRup2sDa5aKaKSHVGhSj6Q6eP0opmsE12MXAE/tpNSRaNYlKMs/cN6/i7AtQz1dYfOkGOrOB/rP7sPd4URUVe8hDZiXW/rOoNdGaDMiSjD3kwegwU83KBA8PY7Sb0ep17P30YyiNFtNfusDo6YN87O/9PK/9sz+iOpP5kYDA/Wn9yAwrv/Zrv8bLL7/MpUuXCIfDH/h9BoPhR/KNfKj//9B/ril3dXWVr/3hyzi2TnN56ybpXJJ8JQlmLYV6Bq1qhM6n9xxrNCmTZYVJ/hr9nMWMlzTzuBhkiA8xx4ss8Qo6LCjIpJjDSoAhniXKDdpm0UHq5Ojjcd7lf6PCDgW2SDOHmxHybOCkjwZFYtzEgBMRAQUZAQ1lEgTYh40QdQqEeZR1/jERrjLBJxAQUZBQaVEhRYoHbHKRFnU2uISHEXo6yaE6RTwMEWcKER1O+olyAwe96LGSZY0ZvoyNIAH2YSeEoXMsc5vfZ5CnGOIcBmz0c5Y6uU4i6jYhTiCiQUSDjISAiIUAaRaIcYsmFZqUKbLFeqfjx0EfC7xElhWMOHAxjItBNOjZ5BJRbmAhgAHbLr1Xgx4dFjToSTCDiAYbQRQkTLjQYCTKbWQaVEnjZrBT9ljEgL0z9LRHrCopJCoUiDAqP0tLUdlpRdhrfAHZKKMV263EdamCaGzTjv+iBNsPkiRJSIKMUdGy/t4MZpeNwEgPCAI6nZ5avcbqu1PE766i0WsZ+8hxjE5LOxFTqSMIAvVcmWapytDTh9j/c08Qv7eGxWvHYDfjHe9h69oC29cWsHW7cQ342Xz/AbaQB1GvQwAaxSqqoqLRa1h+/TaVRJ6BM3sRDToMNlMbSR9ptwSHT46hykrbW+GxozXqMfsc5DeTNMp1ek+PM/f1K9z/4ns4en1Us2VsAScmrx2l2TbV1gsVyjt5atkSntFuCpEk+c0k6+enqSTzOMJejG4rmZU4kcuzKJLM2MdOYnbb0Oh1bRBevkyjUkeRFTR6Df49fRicFqRqHd9EDzvT61iDbgx2CxsXZ0gtbJNZjhO/u4r2pBZRp0Gj12L22dvgt6AbvdVIenEbk8tK3+N7cYQ8CKJIs1Jn4hOnSMxsMPeNKww/ewRnvx+daqCer1DczhA6Pkrs9gqiXoPJbUVVVIrRDJaAi63ri+jNehRZIXJ1nla1QdfBQXoemaC4nebBVy4h6jSossLkpx7Fv6cPRVYQNWKnA0lAY9Cht5pIzUYQBAFFktHqdYiCQG41jnskRDmRxx7yojMbsHW5sdgtaLUaHN1eSouFH8j9+oPWD31YUVWVX/u1X+Nb3/oW7733HgMDAz/sS3qov6L6zzXl7j3Zz933F9lZaDBk3kNAswejKci0/C7R/AI9mpPoRBMiejLyClUyFNkizAnshMmysmtQzbEKgIdRDNi4wx+gw0gvj9DNcSTK1MmTYh5Q0XbSPjaCdLGffp6gSZkV3kBAoEgUKwGGea5jvq0gUWeba4Q5hQ4rWVZIMEOKOYpEmeHL5FjD3+GctGiQYZkyO4zzCeTO11pMbHCh0+Bs2y30K7KFjISDcCc9NMsOU/RzliBHybFCgP3YCTPE02xyiU0uASK9nEZAJMABCmyTYBotRtwMd3D47c4eC35WeZM4U5TZYYdptBjQY8HHHlQU1jlPkEM4GcSCDxNuJKqEOYWNIFtcoZdHsBNGot45ctMT4Qp18jjoIcEDWtSw4ifEMRRaiOhoUtrdOLkZ7iD867tFkGWSHU+MTE0t4RP9qJIWQbaQbxWQzUUEAxQaScIjf0I7/osQbD9IjUYDk93C46ef5sb5K1z5198meHgI73CIRqXG4oV7bF6dQ5EkTv3PLxA8MkxpO4PBacHa5aQYSTP9pfdw9Ppxj4bIrSeo58o4erzt+K2sMPnCaaqpAtGbS/ScGsc1GCB+e4XE/Q0Ce/rIre1QjGVJLWwhajSMPHcUo8sKQPexETKLUcweG1Ktic6kR2PQUU0VcPUHUBW13XfjstIoVBBEEakhMfuNK7tHNXs+9ShGh4X4vVWa5TqiToPZZcM7FkJVVHwTvWSW43hGu4m8P8fO9BpGhwX3cBBRo8EScNL/+F60Bh2iRkQQRVRVpRTLtrH5y3FsYQ+u/gBb1xa4/m9fQW82tBvRL0wT2DfA2EeO4ez1U0sXkSWZaqqdrEFVkZsSqArphS1SsxFcg10gKxQiabzjIeqFChqdlv7H95Ga2yJ2exmzx44iywiiSC1XwuS0osgylUSeaq7M0qu32bo8S6NYQ9CK9D06Se+ZAczu9vuYWYyy/Notug4O4h4K4p3saYPz1pOIZ9tGW4u3vQFCEBBEAUErko8kcQ11tVNQLgutpkRsahVBFCnv5BC1IrIkEz4+xs7cNrfev06jVsNks/xIdAH9af3Qh5Vf/dVf5ctf/jIvvfQSNpuNnZ0dABwOByaT6Yd8dQ/1V0X/uabct6a/wB/886/z+NDPMhgwYJQMOMxeHGYvk5UzbEaWCSgHQQBZydGkjINeotxigk8AAhWS5NlEpkGNHE2qiGjwMsE2N9FjQ6LGEi/Tog6IndLCWzQpdwaLfaiobPIeWkzUyCCgYYhz7OOnqZLsGG0lNJiIc5ssq6xxnhLbaDHiYQwbQVQUdrjPJhdx0o8BBz4mOMx/jwkXVdJscokdpvGzjzSLVEgxzDNM8ilaVFjhLba4igkvW50+ogE+RIENDNixE0aHCRWVIZ6hzA4VEmRZxUkfIlrqZBHQdpqN84Q4goN+6uRZ5GWi3ERAZJjnsOLDiAsXg+RYZY13cTGElwkERMrEybGOHgsiGoIcoUCEt/lfGeY5qqSQaVIlCYgMca79589lujjU8QI1MePBST8Zljom4O6OUViLiBkViHGDMnFcDLHJJW7wbzDIDpqUyCqrnKr/bbSyFoNeAksLbyBMS5bQanR/YYLt95PBYKBeqUGzyvDZAyxenWbuxau0mhIaRHLJLHqvGbPPjlRpP1xFnQatUYcgCNh6PCQfbBDY3089V6aeLaE1GRA1IjqTHlVR0VuMDD59kAdfuYTOpMc9GMQacLP0xm0yS1FadYl6vow16OaJf/BT2IIepGoDi9+JI+Rl/d1pNEZ92+shinQdHCBxf5PCVqo91Khgclmxh33UChUcPT50Jh2Z5RhavRZrwIlUqSM3W3jHw/gme9DqdchSi0qqgGuoC1vAicFqwr+vl9TcFrZuLxa/i+Fzh1h+4w4bF2cYePIAqqKCIKMxaGkUq6TmIuzcW2PihdM0K3XMHhuNfHm3PNC/r5+Dv/g0BqsR90g3U59/l1qmiGsoSH5th1q+QqvWQG7JbF58QC1XZuzjJ7H6HGRX47QaEnJDol6oojFoCR4cZO38dDte3WG65DcSRK7OsX1jCUEUid1eoVmqYnBYaFYa9D22h679A9jDHhy9frR6bRvr/84U6+9O498/QCGSYuLjp7h7600il+cIHhmi1WxRSeQxOMzozAY2LsxQy5TQmg3szGzgGQ3jGuoidmMZrU7XLmN0WVFVlXwhSW47STVVRFYUtjY3ePDgASdPnty99/6sY/O/LP3Qh5Xf+73fA+Ds2bPf8/rnP/95fuEXfuEv/4Ie6q+krl69/mc25eo0Rsy5Ubp0e9GGRTbm7jBoa/cG7fE9znriPtvN63Qph2hQwoANC0EAGhQ7ZYSj2DqvpZilRLxjTjVgwM5+fgY3I2RYYoOLlIgyxIcY4hwlYrzL30dBwoiTMCew4MeIkwpJMiyzzjt4mUDq+D+s+HEyQIUkm1xgkk9hwY8FPwU2+W6ix8MIPiax4qeXxxDQ0OikbsKcokYeLUZ0mGhRZ5CnO71FUoevIqCioMeGn30kmcGCBy16QEWPlSYVZBp4GWOdC/iZJM1iZ9Mzzx5+Eh1GksywxjsoKJQ6HUAW/OzjZxjmHGkWqZLCgJUwp1jlnc7P2UeDEgoSNrox4kLotASFOckd/oAoNxjmGQzYETrx6DYROEmFHQ7zS6io1Migw0wPJ7HgZ4urFNmmTo4uDqKiEuUGBSJo0JNnnRBH0WHFRhdVUiR4wLvq/467OYS3EcDR0LF5/TIarchgeIx4ZYmnf+EHx6mQJImrV6+yub6BJCd46u9+GvdoN4uXp1m/vYBUb6CvVjnw6cfJbO6wfWOJSrKAayiILeAi1WwSu71COZEnZNRjcJjRm42IOpF6vop7RI9UaaAq6i4OXm8zUy/WSDxYb5NtdVoaxQrVTIlausjO1Dqe0RBSrUEtU6RerGD0WHnwlYuIWhGD3Yw95EGWJCJX5tqQNZcVrVlPLV9h9c17VNJ59v/045QTBSx+R7uROZrB1u0hfHIcpdmiXqggVRsIgkCr3kRj0KKqKhqdDo1WQ/DIEJmFLbKrccLHR4m8P0d+M0nPiTEMDgvRW8ssv36bWrqI1mKguJUmeHQI73gYo8tKs1wjdHwM30QP+Y0EntEQ9m4PIx8+wvJrt8muxlEVlWq21H4vF7aJXJlj/089TvjYKKKu7SMSNSKOPj/Ncg1b0IXZa0cQBeSGhMljo1VrYvE7iN5eIrWwTXErzciHj7abrGcjNApVhp89TC1bopzIozXq0Rr1KC2Z7qPD5DcTVBI5atkyzUrbk7T5/iylWAaz106zXMfosrL6xh2KsQw6k4HmVgpRq0VptbB4veTXE7iHgnQfGUFVFFRFpRTNUEsV6RvsZ2OnQu+BUV588yW6u9sU3qvXrzG1MIOktNCJWg6O7+P0yVN/6WmhH/qwoqrqD/sSHuqvuCRJYurqAkPuc9+3KbclS6xtLzJqO0tiO8PkiWOsbH6Bmewb7HM/i9fUx6j1LNP5l8mpa+hUCw4GUGiRZ4MEM+zlM+ixdkLHRWrkAYEqGWSaWPDjYRQRHQbsHONXSDJDjDu0qKPDigkPIzxPN0fQYcKMhyw9jPITFNhgm5u4GOocg1TQYkCLgQYlNBiw4EeDHhtB8qyjx0aaBUZ4HrET521R6xQTRthhmgxLndj1Gia8tKhRJUWODRJMo8PMKB9BREuJ7c4RVBkN3YhoKRLFjL8TFxY626A8DcqUiBPjFhI1MixgwEEPp7ESYJ33UGgR4AB2guzl07Sot8FrbJFhGRCw0Y2LIbKsosVIgAO4GURFoUGZJiWc9ONlHB0WTHgIcRQjLiSqTPGHrPI2Wkw84GvINNlhCi8T6LDgZgg9FnaYZoGX2WEKK93Y6aafJ1jjbXp5lF4epcgWQQ7SokmGZZZ5jTXexlA/ySntL2PVeKg0s9y7+Ro5+z0+Zj30F753I5EIV69f49L1y0wvzeLZ14NQbXD7q++S28mg6ASCx4eRlRaVt6vISttQ6RkJITclVt64g85sQNRq0FkMCKKAwWHB6LRgdFjQGvVUUgUKG0ksXS7kpkQ9V0YQRey9Pjbem2H75jImlxXvWIjxj54ifHKUa//yJeZevEp6YZvAgX7kRovE/XVSC1Esfgdag46d6XW0Jj3O/gCqrCBoNFQzRTRlHfG7KyRnNzuG3QRGR5sPEr+7StfBAVwDAeq50i5LxOS2IogixUgaR68fQRSIXJ6lXqqSmF7H5LEx85VLmJwWjE4r+UiS1TfvIWo11LIlNMY2j0SWZIrRNNaQm0qiQL1YQavXobcYKUSSFDaT5NZ2MHd8PL2P7mH59dtErs7TKFYx2MyonS4mjbHdrlxJ5mkUa9QsVYIHB4jdWSGzFCW9GCVxf4O7n38HjVaDqGubj7VGPQNn95HfTDD20RNY/E42Lj5g4In97XbkRJ74vTVadQmj04IitaPGgX39PPjq+1TTJdYvzCBqBFyDAZKzWxS2UiDQPgISBMweO44eP3qrkcxyjIM//xSVRJ6189MUY1n6HtEhdGLT1VQRd1+A21+/gNNo5aP/409y+5VLfPGLXyQnlVC9RgbP7cfqslPOFbl9Z547n5/iM89/8gcez/+z9EMfVh7qof5bq9FoINUVrEbX97zekiUkuUFLlpBbCna9H6VVx2sNcebw81y6+yqZ5Bq9piM4bG5MOW+b1irs4FbH0GJAQSbPBgqt3eGgRBQdJow40aBni6s46SXPOiIGVGSSzJLgAXkiXOFfYMKDjSAuBqmQRKFFhuWO/0JkjI9TIsYW1/CzhwbFTny5SoMiQQ5RZAsv4x2jqA25s6Ux4kBEpEKKIlGSzBLjNma8DPEhtBhJMrs7wGzwHjnWcTOMgMg679KkSpkd8mzipBcDdhRksqzu9unUyRFniiwrLPEKFVLUydPNMbKsdJqn21sNAzYm+SRbXKOLQ7s/W4L7VEgi08BGeDcarUGPi0FCHKNtfpXRY6OIjIyEkz6MuEgygxY9Atrd6/Kzhxo5xvgoZWJY8NKkwixfw8MoboYY5lmaVAlzHCtdgMoab2PBRx9nkGkgou2YbwUs+NFiosg28dp9RNmAtmVBqRfY53+Sln+Mi6/eYf/+/X/uT6C3bt3ia699E9VrpOHW0v3oOMd+5mluf/08N79+nr7H9zL81EEsPieiTkP8wSZGpxWDw0wxlmHgyQME9g8gVeoEDw8x/aX30Oi0xO4so9Vr0ZkMGOxmLD4Hhe00tXwFvdXI+vn7NCs1LvyDL5FbjWNyWihsJtFbjVi7nKDC/p89S+jEKEuv3OTGb7+CVG9icdvpO7OXoWcOIdeaJOe2SC9uUy9U6DowiMFuolVrsnV1gdR8BPdwELnZYv3CNFa/E7PLxto7U+hMeoJHhign8ph9DqwBJ6qisvzqLWr5MpMvnG4TaS8+wGbUszO9hj3kJXRsBN94D4JWpFVpkJyPkF3ZwdHn48l//HPMfuUSa+/dxzUYpFVrsvLmHURENDod2ZUYWqOO0LERNDotlUSewlaK9MI25Z0coeNjmJxmug4OkV/fYfYbl1l/bwZBI7aHM5Oe4nYKqVpHbkoUoxm2byzg7PUTPj5CLVNm69o8+UiSgbMH6H1kkvtfvEB6YQtnXzuCbnLbAHAPBSnFc5R3sli7nOgsRnQmPVqTgVajXTmx+J3raI0GjHYz/v199J6ZIHR4pF1eupmgnMjiHuxm/lvXEHUaDDbTrpl6+9o8JpcFUaclPbdFamGL7ol+ou/N8fz/8bfp6gvhDPl4/Y0X+fDf+DQnnz/7vcfmJw5w841LfPXVF3/g8fw/Sw+HlYf6Ky+DwYDOKFKu5gBIFCLMRa6zur2A3FIQRJV4fhWrukHAHEQQBAa8+7Gd9jC3fY2lyHeoGWtsaq7i101AS8HXGsfDGAIiG7zHEq/QzTEaFHaPbwpEKLK1W9YnomWJ71BgCxshfJ3IbZkEm1wizHFAwc9eVFpkWOnwQqrUyOBhnFn+GDdDuBlGh5k05nZbKlr02LAR7GxYDCSYpkUVAREdFlSSNCiS4D59PEovbUJ0mTgKEt0cw4CdHe4jIO4e0bTx/yFyrBLnHnHuIaDBST9mPJSIUyaBGR8VEnSxHxshmlTQY6GfM2wCChJOBvAwhI0QOmyoXCHPJqudiPcwz9CisQugSzBFhBZDnMNJLyIaVBQ0iICKgEiWZWyEcNJHlJs4GaTciR1r0NLLo8S4TYUdGpQY5Gmc9LPEK2xzo9PTtIkW3W7poZUgLeqM8BHshNjmeif2HcFKABDwMEyI49xTZ3kn+jtMBE9weM+j9PSMYbef5ZWZ3/1zx5cjkQhfe+2beI8PcvipU/yH//P3GD97CF8ogE6nx97rRWvSs/j6nfb7IAiojRbxu6sc+uVzNEo1EtPrDDx1gPjdVYrRLOsX7iNoBErRLLn1HYKHh7D4nbSqDQRRQKo1mHvxKsuv3UIQBfx7+hj/2En8e3rZuraIKstM/9F5QsfHMDrM5DcSGF1WLH4nlZ0czv4A/j296M1GKpU6gb19VFMFtm4skVttdxBVU0UMNhMDT+yn78xeFLlF9OYSO9MbRK7OgSAw980rbF1bwNaJ3Jo8dlBUWvUGg08ewNnrI7eeQBTFdkpnKIizz9+GrdlNCKKINmzAMxEmdmuZQiSFRqvBMx5m6fU7VJN5ChsJnH1+QifGUCUZR5+PWrZM7PYKI88dIXh4mOTcJltXFwifGCN8coxStG1W9k30cOJ/+hjTn3+H3Eqc0NERtAYd9WKVcrx9TFNJFRAEgeDRYeSmjKAR6X1sD4HCAJnlKJ7RbvR2E8kHEXof3QOA0pRQZZVWXcIe8lCIJNvdQ04LJpeVYjRNeSfH4NMHyG+mcPX72Xx/DrPLhq3LTWY5RnqhPRyW41mi15fQGvWEjoxw47dfRW5KBA8NkVpoVx/Ery2wc28NURAw7x+nZ3SArv4wLUlie3UDXdDO/rPHvu+x+fFnz/DqWoxr1689HFYe6qF+UNLpdBw8Pc6tr91BQOTy1OtoK14GTOcwa11UWzmitT/gbu4VTho/zsV3rpKr7hCvzVMjh8loxGgyojE3MYpadrIlGpQx48PLGG6GmOHLPOAreBlDRSXDIltcR0THAGfxMso6F0lwnzE+yjifQIsRiTJrnAeUThS4Bx0mRHSIaHDQg0SVCkla1NBgxMUgeqwdVokPiToAFZJUSKPFhNrZPGgwsM679PMEMg0SPOgkbfZSJ99JGm13vBxZvIyTZYUaOSb4ON0cR4MGC114GcNCgBSzRLiKk35CnGSba5jxkGaBCmn87AEEhvgQeda5xe9SJYtKi2VeJcsoRpxoMZJghjI77OFTDHKOCjvUyaHD0qHVupjnRba4wiAfokkVBQkAhRabXKRKmmE+jESZKlmKRNF1uDftY7J2JLpEDB0Wksx2tlFHybNBnk1i3O5wVjRoMWIjhIgeO91USCGgwcMIJeJY8O0e+dkIosVAWHeAgriBr+e53VLDv0h8+er1a6heI8efPUO9UqVWq1NXJFZXV7n+zXcx+e3o7SYGz+7H4nXQKFRZe2+alfNT6L5ykf6z+0nObJJ8sInOYmDh5Wvk13Y48svPYA26uf/FC9zJvcnkC6exeNugt8jVeTJL7WOc8Y+exOS1U45nqWZKuAb8hE+MkY+kdo9bvONhhp4+hKs/QCVVoJIqMPWF8+itRkxOC3qHhfRshIGzexl86iDVTJH5F6/g39ffpq6OhtAa9TQKNdwj3dz77FvUCzVCx0dx9Piw9/iQ601S81vUcmVGnz9G+MQotVyF2O1lfHt7Sd7fxDHmY+jcIezdHjR6La16k3KyQKvWZPDpgyy/eptLv/V1pGqdRqFCo1il95EJeh/dg9ljo1mu4+zzEzwyxMobd1h67Tb7f+YsqbkI7sEuBs8dIjWziaqqVBI59DYzJoeFPZ95jNmvvs/0Fy/Q+8hEe/BrNEnPb5Ne2mbPpx5l4Ox+ZKmFqrSTRIVIitTCNjd/71UEQQTSrL59D3u3h52ZDboOD9Gs1JCbErIk0yzXaZbqZJZibF9daFOE/U6kcpPDv3SOWrrM6jtTRK7M0fvoHnpOjXeKGdeI3Vqili2hsxjYmVrFv7ePZqVGdjlO9NYynpEQg08cIHlvnelXrqIXNHz+N3+XXDzJ1koER4+XP/6//j1Dk6NMnjxIoLd79/4UBIHBIxPce+s+L0gv/KWYbh8OKw/1Y6HTp09y4ZV/xYsX77LP+En2+5/b/cSgqirZTI535H/N3MZNRrqOslm+h6HpoUs9jElvoWqI06XdZkeaw4IfFYUYtzDjJscqMi1i3KFGlm1uAFAjyx4+RZiTtGiwwuuEOMEhfgk9FkClgZ4mVfTYMOJGi5Eq6Q6JVcZOmBLx3Ye4gIYmZRRanc3KPCoKCgoaDGRYQqKKQhMtZsKcZpGXgQtYCBLlKhN8EjMeRHTkWKVBAZkmLZrosaCiYqeHEZ6nRBQTfgRAhxkHYapk0DLPOu92PC5pMiySJ9KJ/3YBICDiZZIMy9TIYyGIgzBdHMTPXkAl1bl+L3uod/qRZJodKnCZYZ4jwTTrXMCMjwGexIqfOgWi3CLJDIM8hYMQcab4biuzGXfnqMtPlQUM2OnnSYzYqJCmSIQsS9gIscklWtQQ0bHAt7ARRERDmR0iXMXNEE768DBCjLtUSGLCg5YmChIKLey1EWLbOS7ff42Pn/5lZFnGrLf/ueLLkiQxtTDD4Ln9CIJAKp0mnUnjSGewINGo1tl37iwTL5xGkdp9PaaAgwMDPnROM3PfvEI5UUBvNQIqstRi5suX8I6HCOwfQJUVQifHWfrODarpIq6BLlBV6oUK9UIFz2g3Zp+jnZjx2qmkSwgI1AtVzF47itQisH+A/T9zllI0Qz1fRmc2ED4xRmY5ytbVBXRWI5mFbboODTLxwmm69vUz/aUL+Pf2c+CvP0UtXSS7GsfZH0BvMVDYzmDv8eMdN9D72CRyQ6Zrf3+7WFGAtbemiN1doef0BOvnp9sclxNjbF9fpPeRCfx7+jA6zOitJgRRoFVrUthKU4gk0dtMlGJZhj50kFZdwuK10//EPgQEGsUqvoke6vkK+Y0kIx8+Rm490ablbqXpP7ufRq5COZmna38/BruZ5IMI9rCX4XOHqefKLL9+h1a92easlGuEToxhcFl2kf+CIFDaySI39YiaDM4eL9V0geFzh2hW2rThnfsb1HNlpGqD7qMj1NJF6rkSpXgWRZaJ3VqhWW3g6PURv7dKPVth8eWb2Hu9pBa2OgPgMBqjjmqqiKvfj8ltpbidJvkggqPPT9fBIXburtCqN+l9ZBLfWJhqPE85ncc24MVms1GliW1PN+NHwpjtVtw9PWxEoqx8fokzzz/F2NF9u/ep1WVHUlp/aTHnh8PKQ/1YqLe3l74JPxtXJYySh3Qpil5rpNmqkyxuUqrmOOH/NPdK3yCRmOGg4acZNz9LS6mTqC6jIPLCib/Nq5e+QoI1ujjAHf4dW1whyFH6OEOLGoM8jUSNCinSzFNkGw161ngXhRY9PEKFBHX0gECDAiWi+Nm3C1+TaSIjIVEmz3qnA2iKKilEtCzyHVwM7HpI+niMFnUyLFAliwDosSGiwUKAFnVWeQcHvZ2Ni5UaWSokaVLGzSgN8mRZRYcViTIB9tIg3yn2kzsDkIyVbvQs42GUeb7FNjex4keHBYnKLgTOyygBDmDGS41MxzALPTyCAVvnZ2mbjbs5wjZXcNKPHgt67IhoaVClRhYXwx28/iqaTgJJQMTDKB5GOmbbCmkW8DFBlWSnmFHZPc4Kchg3gx1AXBhrB0aXYZkks4zzCQzY2OQiRaKU2aFKiiQPCHMSE24ERGwEybGKgkydIknmENFSFdMElaPcuPUV9OleDFoz8fochZ4VEokEVqv1v/hebTQaSEoLq8tOoVBgcWOFrj39lCIpKuk2syR4ZAhBFNrmWY3Y/uQutxj7ieOUYlmid5bJryfQmQ20mi3qhTKKJHP3c28jNyVs3W5Gnz9GenEbrVGPzmKgFMuACqGjo7gGArTqTYrRLHqTHp3FSLNUI7Mcwzfeg7PfTzmepdVo0qpL7TK9kW56To+jyirxqTV6Hpmg59QE2aUoFp+d1Pw2A4/vRWfUoQk4qWVLZFdimL0Olt+6i2coSODQIIWNBFqDntxGAqnSwNbtJnxyjMT9dc7/xh8h6jWET46SmNnA5LbSdXCw3URcbaAzGRAEDRq9DovfQSGSwmA14hkJYvE5EDUiPY9M4B0LozRbJOe2MDotWHwOkrObFCIp9DYTy6/dRlVUXENBpGp7c+md6EFutlBVFWvQhVRr4Oz34+j1cugXnqacKoCq0ntqgtRchNV3p9r3qkZEZzJQz2XbKPxoBq1Rh9ZixDMaolWXSDzYRGPQkV6M0qo3sXa50ZqNbbPtnVXKyRz+yR5id9fQ6LVMfOIUydlNll+/jdFppRjN8OArl7AFXfj29BE6OkJ8ao2BJw9QTZco7+Q4/Esf4i6Qj6TZvrmI2WNj4/0HdB0cQtSIbLwzzYFPPEbo+Ci5eApkFaXQ4NjPPM3atVkuvfouTr9nd8NSzhXRidq/NEjrw2HloX4sJEkSxYTEU8c/jrllZWdrFaWlIuoENJ4aPkLsDZ0htTpPOp/AYwyRUmcRNAJdIT/FZhsTP2g/RqVUZZ3zALgZwc0wTYo0KVMhgZXgrqk1xxqrvM0ml9Cgx4hjl6IqU6dOjiop/Owjzxo7TNHFQVo0SLNImiVcDBDmRIfNIpBnnU3eJ8jhXcDZPN8ixwrdHKObE5hwUyHBFtdIMUuLxm6nUIw7NCmhx4aVLiz4dqPBTUod3LyWGjlaNJCoYcCODhNlkrtHIh5GqJJFjx073XgZx8UACgo73GWVtxjkKbo5whZXO8NMHhcDHROyBR2m3dLFLKs46EHbaZtub5QSnWOZMHZ6CXKYfh6nTIIYt4lwlSIR6hRpUuIM/xsadFRJ0epA8yRq9PE4wi71V8WIEzshoJ1GzLCAiBYHPRzmb2DCQYp5VnidNHMYsKPHsrvxqpBilTdJMUeYE2wW7zEkPImkaqlGDQS6R5ivvI+UNfD7/9cX+cwvPf9fnJwwGAzoRC3lXJFiqwZmLcc//jjnP/sy2wtrOPp9VNMlAvsGoJOm/G60V2c20HN6gq3rCyiAf18fjXwVjaGH8Y+dQmfU0azUKUaznU/YE8Rur5CcjdD7yASyrODo8aK3thlXoWPDVFNFCtE06cUokfdn6Tuzl2q6iFRpIDck9DYTzsEuDHYzWoOe4KFBVt+e4vAvfgjPaDfRW0skZyMoUguz34nBZqZerGByWcltJECFZrGG+5FJDLa250TQtFMtok5DdjWOIivoLEZquTKHfvFpHP0BFr59E1u3i2aljmckRCGSpFGqYvLYUVsyzVINi99BZjWG3Gi1E1FmAxqDDlVRsQRciEsxatlyx8QLUq2O0mhRy5ZpNSQqqQIGqwm52aJRqKDI7fdbbcmoQL1QbeP3DXr0JgNSrUE5mUdnNSFLMpVkEbPPjiIrdDodKEYz5FZ3WPrOTbRGPdVUkdHnj+IdD1PcSpFeiLL5/gPMHjvlRJ7STpaRc4dJzkbIrsYwe6ysvjuNIrUIHRul5+Q43vEwtXyF6M0l1s9Po8oKGp0Ws9uGxe+kFMuQmFonsLddWhi/u4pW3+bvdB8ZZu4bVzB3OfHv60OuNHE73LQ0CkUpQzqaYN+zJ8msxZm7PkWgtxtVVVm7M8+x8X1/adyVh8PKQ/1Y6LuJoC5vD73eMSYmZGRZRhAELr5zFY99CFltIUkt+g0n2TtwClHUUGuWyRbjlItl7lzeoFwto8XIGufp53Em+GTHC3KfCinmeBEnA1jwYiWImyEWeZkCEXxMAKDF2Gk2hu/C5OyECHOCKf6QDS7hYoAc6wQ5jI9xKqQQ0eBn325J4hrvkuQBBbaokGKcF/AxSYxbnb4dFQ0GXAyRZh4zXhoUSbNImFM46cOCnwYFMix1Ys1FyiSpk+t0H4VQO7yWBnla1FBo0qCEDguQoZdH6eYoRmzYCAHQzVFWeJ11LuBjAheDCGjZ4R5hThLkCCCQZBYBESf9pJjv4O3brc4t6rSoUyZOgU30WJnmCyzynY6fpw8/e7DRTZkYBbaY4+sE2E+DEnHuIFHlFP8LdroR0AAKGnQdS7KFMgn02HDSzzzfRERHlQwWfGgw0KLJMm+wxXVcDKDFRIk4D/ha5witiIUAWfU+qCI60YxYdHFPeQu1q8TPnv4/2EzN/VcVG+p0Og6O7+PmrVnM+7pwDnfhCXex/+njzLx9E9+hAarpIpmlKO7BLmRJbvNHjPr2JqXeoJou4p8IY+tyM/zMEeSGRGBfX7uo0GpCY9Ay+/XL3P/SRZqVBr6xEL7JPnKrCSqpIkaXFaPTiq3bg95mJnp3hejNpXaZ4XAQa9CN0lJIzGzgGgxgcloA2pRaixFE0FnaXBVrwEVydhOlJdMsVEAAUdOO8rYaEkpLweCwtLc3xRqCIOAe7qa8k0NuttrRZ0VBa9RRSRVw9PqIXpun1WjiGekmfmeV8IkxtCY9jUIVVQGNXosstTA4LCSm19FbTVi7nG1uSbOFwW4GVMxeG9m1OPVCBddQF66BLrauzhE+MYrZ50Cq1BG0IqJGZP29Bwi0m5+ruTJmr53sSgydxUh+Y4fozSWq6SLi/4+9/4yOLE/PO8HfveG9jwACLuB9el+VWd51VbWptmyRIqmmeIZH0h7prJNm3WhmZ7myQ60kkiKHbJFssg27q025LNNVlVVZ6ZEGCe/DILz37sbdD3ELYotNLamhuvc08z0nPySAAALAxf2/8b7P83u0apChmi5SjGVQadW0qg3quTKVdJHifhrf4WFGnzxKIZgksxUltRZBVKsAGduQh77TE+hsRkS1irXvX2P33XuU4nkcAR/tRptqqsDgQ9PYAl6804MYnGbsAR+emQH23ltk6+IC3kMBVHoNnVaL7E6ct//JH+Ca9OOe6KNRrJK4v8fxX3gKtVpFPpRk5MI8Vp0Zm80KwH48hsakJ5fKMtjpMHh8gu237vJws8ntH15FSNc5++LZv8a79H+5HjQrD+pvRP3njiCVSoVKpaLZbNJpy2jVetpyg6ZUR6+2oFFpyZbjhOKbiE0j9s4oYt1OTrpGniA2hpjmJVpU2eINLPQyxrNIiuj148DAIc5jppcyCdSYiXAVN1Oo0KJCQ5w7mOmlQgIfhxEQkaizynfRYkRAJM0KNoZwM0WZKGolADHMFWLcxUofbibxMEOCRcz00M8ZzPQQZ5Ft3lSmMKfwcZglvkGEK7QU0WmdnGINHqPAe3RoUSZGli2alDHTQ5sadfLUyNKhQ5TbqNAeNCIgo8OGoLh0QGaYJ8ixwyavM8QjmOklxAcICMokaRczvcS4yyQvosOCg1GSLFEnr0yinES4jgYTDgIUlITkAI9gZ4g2dcz46OcUWXbIs8MK36ZGEQ16bAxQIIibKeVKkBXjc5MglygTQ4uZj7UuJrz0cgwtZjToCXKZDBsYcFEjQ0cJZWxQok6eYR5jmMcVzc4eBULc5LcxYWRYnsYg2P+rgg3PnTnLtd+5xWZ1ibOz3ccMHptErdNgctug020UapkSeoe5S6kt10kl8ySXQrRqDawDHowuCxPPnWD77Ttkt2JYB9w08hVKsSz+Y2PUs2X2b24w8tRRBEBnMxBd2MQ51oMgdA/mUjRLajnE0COzFMMZpFbX3YLUQWPo5v0Iqu6B3q43qaYKdJrdA7VZrqMxdgP11HoNoSurOCf6kDsdatkyjUIVg9NMPVeini13D1dJQmPQ0X9qguxOnEqqgLnHQb1QpZzIsfztj8jvxlHrNLjG/aRWw9z7o/fwHx9DVIk0ihXatSbFWJa1710ldnsb76EAi39yiXIsR+ijFXqPjtJptTF5bOR2E2hNekweK+1mk/i9XZwjPXSkrl1aEAWGHzsECDTLNYr7GUrRLLGFLYrhNGqjlq2Lt7ENeek7NYHebiK9FqEQSbPxyk2GH59HZzZQyRTJ7cQRBIGpT57BM92Pxqhj/PkTJBb32H1/EUuPE53NSCmaoZzIIQgigiBSCKcZffYYE8+dJPzRCsLMAKNPHiG9FqGSLmJwWjA4LYhqkalPn6G4n6EcyzH40Aw6uxmD3czoM8eoJPNsXbxNJV3EEfDRNzmILImIHYHB4QBen/fgGvS43IQKe+SSGRKhGBIymViKV/7dn6AryXzx+c/+RMFwD5qVB/U3ov6sI2i67/SBuFalUiGqBZqtOkadlUonic6iotosE4pvYmr34TWNkSyEMCBTE1IYcKFCR5My+9wgwCN4mSfMR5jpBTposRLkA27xO4qLR0uaJfLsoMfBUb6CTJscu0zwPAnucZ1/A4AOG70cYYQncDFBhSQRrhPkEg5GaVHHzSRuppTMmwZ2hoiyQIBH6OWoIrptscWbHOGXMOElyyZeZjjKL7PKy+zwDholg8eIm23eIs0qwzxGRuGiQJfQC9Ckgp0h6hTIsI4GE4f4Mm2qVGljZwgBAYk23bwjHVb62eQiPg5TI4NECxE1aVYVd46RBHcRUWHEQ0cRCAuI6HFSJqZkDM1TIkqbuqI/mUBU7NMmPDQpo0LNHF9SxLc38HMCFVp2+SE1MvRyDANO6uQIc5Ucu+hwINGmQYlD/Dx6nBhxUSdHhRRG3Bzhlw+CEMvEUWPAxiBVUsS5R50cFvwYcKKXrSS4wxMD/z1CU0s4HGFubvav7AwaHBzkSy98lv/j//x/4VKzydxTpxBU3Vfeue04M589Rzmeo5IsUAinUBt0CAJIrTaJ+7vorEbSyyGsfhc7796jXqjSrjW64DBBwDnai2O0FwEIXVmlVa3jnuxn+qWHWP/BNZIrYQIXZikn8oSvrGLpdeI/Pk5+J8H+zQ0co71drYwsIyjpxbLUASC5HMI26CG1Fmbw4enupkqW0TusJBd3WPveVfwnxymEU4iabpaSa6Kf/ZsbeOeGMLqsFEJJjG4rrvE+Ksk8mc191n9wnexWDIPTgiCIqA1aEktBzD0OQh8tU9rP0HdqHLVex96lRYIfLmNwWDj084/hnRtEqreJ3t4ifGWVte9fY/YL58ls7RG7vUX83g5bb9+hkihQy5UJnJ8hsxml9/gYlVSR3ffu4xjuJlS3ak2237xNJV2g/9wM+e0Ygw/PMv7ssW6WULqIwWHBMztEIZhk+VsfYnBaqaTydFoSw48ewjs7iErXdS616y16j42SuLdLMZLCofNTiuWoJPNIjRbteguNWY/cltCYuqyV0Qtz+A4FQIbcThypLaGzGaHTQRBFhs7Psfa9qzQKVVrlOr5Dw6RWQpi8NoweG+VEnvjSHhuX7uGZ6Ecji9BsIyuPB7BYLNgtNirqFOW9NPurO5RDGU6f/xTnP3f+bx7B9kE9qJ9UnTt3hoVLX+XG1kVOjXWx+yqVip4BN/tL+0RbixjsKkriPql8GLFpxGsaQ0amUEvQkMukpV08zCrJxR9ixscAD5FmFT32g1XPHpfIsoWdIQy46eMkeXbJssUq3yXNOsM8TpU0emw0qRDkQ7zMMMxjGPHgYQYtRsz48DBDiMvsKA6cFlVKxPh4UlAljYNhRnlKcfA42eQNTHgVfH6JCnEybOJmkik+xTqvEuIj0qzjYBgVGoZ5nH7OEOEau7xPnj102LDQS40sYa5QYp8OElWClIljJ0CBMB0knIwewPIqpGjTwMYgBhwkuIeImgIhQMbOMCjNzT3+CCejSjCiHxDY411SrDLEBSb5JHHucY//SICfO9CbeJhGhZYYt5HpkGYNEx4EVGTZwoCTfs4goGKTNxAQkZEx48PPSfZ4nyYlLPjp44ziEOpFj5U9LqHHwRxfIsJVysRQY8BKP/2cQVageGGuMsLj9KoOMyidY1GGcHGJw44XiIe3mZ6W/quCDc+cOcMXn3uJNxfeZ/fNu7SaTaRam0IwSTWaZ/SReaKLu6Q2I6iNOgSNitzGPonlECaPtRsmqIT0qXVqOm2J3E4c15gfc68TqdlCBhqlKqIo0n96UllZ1Nl9b5FSNItnqp/9Gxv0HBshvRLGOeYnuRQktRIi8Og8mfV9CuEUll4HzXqzi3+P5xh9+hj7NzbYfucuersZjVGHY6QXx7CHrTdvk1oJH5B0pUaLZqlK+Moaglpk/kuPUAimyO3GcQz70DtMxO9uI4gC5//JF0guBQl+sEwtV6KSLHDkFx/n1N97gcjVdTZev0WjUKW4n6Hv+DjmPie+2SHck/0YXFYCj86zPOBh9eUrZHfj1HMVLL0Oeo+PIUsdKq48pWiWnXfvYev3cOrvPU+jWCP44TLbb99BpdVQz5cBgVa5zt779+mdH6LnyDDF/SzVVLfZ0VkNXT2PWU+jVGf91Zv0nZxg7ovn8c0N0ShUKcWySM02ap0GS4+T/rNT3P79t6kXt3AM93DkF58AILMWIbpgoVVpsPA7F9FajWiMetq1Fo7RHqrZIunVMJ6pfkBAVIvoHaZuLtDiLsnlIFOfPkPs9jZ6u5n5L10g+OEKoSur3P7Geww/NIveamTp0gKGgAuTwYTJaMRoMlJNF5mdnGFqcpIfLEb5tb/1Fb785S//dd+a/1L1oFl5UH9janBwkC9+5Xm++Xuv8er9HUadxzHrHVTVMW43v4ck1fjE6V/g/sZN7uy9zhHNzwGwX1wl0rpNTg6RJ4iHGYWWusQoTyMqdmI9djq0kWiSZYspPo2DESJcwYCDAkHa1NBgIMgHRLmJRAsNBgpE0GHBxQS9HCfNqsIb0QMCAgIjPEmOHSok8XOcHLtUSKHGQIcW4zyrrGG6LUy3IXpMebSIHgcVkvg4hAU/g5zDzzEi3GCc52hQpI/T6DCjw0qdPHt8QITraDEjoFJswR7KxABoUkZGQkZWUpobiGhQocGICyMejLgoEibCdVyMoceOjyPs8kM2eB09VsZ4BpAPwHNNivg4oqxYNkmzhp+TBPmAEhH6OKUQgdWUiCHRpIejlInRpEKTkuJEylImwTx/iwHOKVObrtB2ne9TIESFBHl2uctXqZOnyD4upmhQoIfD1MlhxEWNLBoMB0GJEk3sDJFiGbc4jlMIIGkaBMSHWU9+lynL43QEGUmSKFRTyNoWovKq9S9bn3zhRYKpCI5jgxx59DR6m5nNnU3id3YohFPoXN3DvlVpkA8mSK52gV8Guxm5I2P22ug5PEK9WKGWq5BaCmJwmKmmC4iiSHIpiEqroVGpo9JpKOwlqSiMktjtbXbfu0c1XcLsd9J/cgLneC96u4nItTUqqQJao4743V0KoSSlaLbLQ3nuOP1npjD5bNz+X99ClmR6j4+i0mjI7cZRqVUkloNdkFqujHOsl4Gz0/iOjBD+aBVBFPHNBygspEgthw4YLh9PBwrhFO7pAaI3NzC4LMTv7VHPV/DOBRh6eIa9D5ZxjfvpOzNJI1+lkirSf9bcTUwGjvzSE2S2ouy9f5+h8zO4JvrR6LVozQZGHj+Mzm7i1m+/QW43TrvWxDc3hMFmwjHkxei2kttLYHRbWfv+NbbfvovBbSV+ZwetWY9Kp0Gt19CqNmgUqwiiiH3Ie2DtNrqsyDIUImlsgx6MHiv1QgXbkAeNSU+73mT82TP4j49j8TtR6bqfy9LvQpY63PnqO9QLFZrVGmq9BllWY+lxEl3YInJ9A2u/C1HdFSWnVsKYvVbkjozv0Aj2gI+ti7ex9DoJPDqHWq8hvRYhenebmRfPkFoMcvcHl3GM9kAHaEnoO2qmTg9z6+2P0ObbPPyZh/+6bsd/5XrQrDyov1F14sQJvF4vV69c486Vt2g1Omi8Io/8Sh/BlSSZaoienl7e2vkOtUoJT2WWSOMOOTmIATdmfJjw4GD4QJTapZxIqNDSpk6UBYy4GOMZSkQpEiPCDVxMMM1LaDASZ5E498ixyT638DBLkRB2AnRoocNCnTxOxujQVizEHXwcYpXv4mCcXS7hYYoycVTo0WCiRgYZWWGxSOgUC3M3d8dKgTAxFhBQISMrK488GTZwMk6HFgUi5NnFwQhWBthRAhRj3CbHNjrsCAgY8VAljQ47IlrKxGhRw0n/AThtizdRo2OPS4q1uMtdaVJmle/hYx43kwxwTnHqiEi02ecaURYY5gla1AhzBRMeXIyTZhUVGlpUWOW7dGhhwkOGdVToEFHTQaKPUwT5gDv8Ptu8hQEHIioENLSpUiCirJWO4GISI24ERAoEWeXb1Mmjw4YaHQacqNCgxkCdnBJp0E2d1mGhJEexC4PotUacDENbTTy/g+As8sHqd3hv8dt4Akb+x3/8Lzlybopz5878pcbog4ODfPH5z/LN177Du6Ek/n4/q3eXUA2qaWTLBK+u0K63aDWaDD95GAEw++yMf+Ik7UaLYiTD8OMG1HoNFr+T/F4CUaOmmi7RrNaJXF9HrVUTvrpGPdcVv+qtRmY++xBGt5VarsyH/69v0WlJqI3abhryRB96q5F8KEV8cZf43R3atSbOMT+zn3+4K6i9HyS1HKLTkshsRymEUxhcFsrRLDOfexj/qQls/W5uf/UdfIdHcI75sQ16yO3FSa2Gqecr1DIlCpEUsiTjHO1F7uyhs5qoFyqU9jN454aY+uRpOlKHdr1JYnGPeqFCbGGL2c89hGvMr6yQooQur2DucaC3d4MLG6UqzpEeDv3845T2M7RrXYu0zmZCo9fiPzEOsnwQ1ljcz2BwW1Fp1N3E55khUsshdt9dxNrnRhAFGqUaqnrrIO9OVKsQRQGjy4LJY0Ol1VAIJammi5iUGIFGqUpyOURmfZ9iKIVGr2X6pXPUMqXu728/g1RvodJrGH7sENGFbTZeu0n01haD56bR6HXobEYEUURqtcltx2lW6uy8fRdRLeKZGyK2sIXeZug6mKQOolqN3mZCpVEzcG6KvUaLO994D61eR3Y/iS8ZwDXZj4hArdjka//8d+iVrfz9X/7vfuKrnz9bD5qVB/U3rgYHBxkcHOSlz/5o7HkoFOKVH7zKxe+/S1lOsN5+g3vtbyG0dUzwPIM8TIRr5Nhhlp/DzhA5JTCwSelgnRPnHtN8GpAVPsgW/ZxmjE8oB54ON5P4OESZGB/xLyiwe2CL1eNAh5U0a2TZxsEwWsxKTpAaEQ0hPqRGmn7OEuYaCRZJs44RDzISavTItKlTUIIKd4lzjyRLqNBRIYGAmhZVheWyhICg2Jk9eJlniEdoUUaDEScjuJggzy5bXMRIDzJtUqzhZY4RnsbGIDl2lMRpBzm2iHILDSY6SIzxzEGD0aaOhxncTOHjEBINNrlIhQQAAmqqpNjhLQJcYJXv0KSCHhtl4uxxmSjX6dBChQ4NRhwMY2WAHLuAQIjLlInSoziqDDiRkUizTpk4Oiy4mWCYpxjgFA1KSDQY4CEiXOU2/ytZNvEwQ4e24iAyIFDAiBc9NrJsKynW3XBIgzBDtZNFK5rYzt6go0qjvWVj3PQEp/pPQbXNzW8tsHDpq39pO/NBg33tKnfW7uNpGdn43nXcc0P4Z4Yxemzcf+Uj9t6/T2Jpj9Enj9J7dIRatszG6zfZevM2Qw/PoNHqQZYpRtIYPTaKoRRyp8PRX3qK+OIu22/eZvKTp5h48dSB/qSWLeGa9NOs1GiW65g8NtQGHXq7CZdGjW3AQzXT5aXIwPY7d9l9b5GO1KGWLdGsNOg/OUExmqGWKaHSabD4HaRWQsQWdkithOi0JRL3dgGQWxLVfJXeY6NMPH+SyPUNkvd3qSS7+px6qUqzUmPw7DS5nQTBD5ZB7OrPXBN92AMe6vkytkEPHamDoBJR67W0qg1K+xnK8Rxyp0O71qLv5ARmrw2VRkXo8gpaixGT147OakAAPLODxG7vYLu+Tn43gc5qpJ4rK7ZuGZPXRkeSyO0m6Dsxhs5mQq1TU8tXqGfLSM027UabSqpIu96ikspj8Tto15pozXpq2RIdqYPZ56C4n2H77TvYhrw0ijUaxRql2D6yJKG3m5E7HZCh//QEu+8tUgin2HjtJuOfOEmr0kClVaE167H2u1l9+QqtepMjf/tJgh/eJ7MZ48r/8n2kepNqpkSjXO3+fgWQpQ4Wv6vbtPa5Mfe66JSaZG7t0qw3sOotuCwOdHUVXq/3x1+gP6F60Kw8qL+xpdFoDvQDrVaL3d1dthfjjJsu4B1+jNRWg93mVQQ0yMhscZGKIqqMsqAg8dXocVIne+CoaVKiTY0wV7nOv1WYKZsk+Vc4CDDIBUy4FOeQGzeTaDHRpEaFhIK9nwAEMmzQoIgZHzIdcuySYZ0aWUBmg1eoU6BJkTAf4WISA3ZlZWFkl/cpkyTGAhoMjPIMavTsc5MoN9FgZIrP4GKMDh2SCv6+TJwNXqFBCQNO7ATQ48BCL0t8nTZxpvgUavSEuUqFFAOcUZxPcTZ5jQwbOBilh8Po6YZIGnBQIkqGLcZ4GiNuCoQIcRkdFkZ5GgMumhTZ4i32uIQZP2pMdGhTZJ80G1T5XaVJegoLfjq0SbPGBq9SIooKDWVi+DhCHydxMY4JHyIqdNjZ5DW2eRMXU8S5g485BjinBEzew0wvdgIs8nVUGNBjxUwPAtCiihodIJNmFS9zWIV+su1diq0Ee8J7VMkRF5eZKl9gdvA0c8cn8fu7MK3pvtPc2Lr4V7IzHzTYrZdoNBrcuXOHb7/8HX746iVK7RrNZhOjz47BZmbw4RmMbhuNYg1Z6nDvj94l+MESrnE/7UaLdrNFbi9BNV1k8OFZAo/MIWrVqPUa3NMDJO7tIqpVdFoSzUoN33w3zya1EkJnNWJwmKgXqqj1Wqw9DuUQncLc46CaKSK3OzRyZdRaDf0nxxk8P0ur0iB0dY30apjFP34fS68TjakrGtXbTMx+7mH0NiOVZIHFb1xi640Foje3EEUBg7u7OqnnK2j0WlqVOvs3N/HNDTF4fhaTp8sjSa9FiN3eolmq0SjXEUUBqdlGEAUsficmrx2D00y71mTpmx+iMem6E5xslxyb30vQLNew9rmRZZl6rkwhnCKzvo93bgitWU81XaJda7B76T4br96kWaqT24njnRvE6LbRrDSUhOp+ZKlDLd91W9ULFbKbUQxOM5YeJxa/E73NdEAJjt/bJbcbxzMfIHl/j2alTjVdxOi20qrnQJZpFKuIajVqnYbRZ44SubJGajWC1qxHbzWy++4itUyxqyHyOwlfW0EQBOa+dAHPzADVRJ70+j73/ui9biil147BacE+LOOZHWTmpYco7iaR8nXOfOYx9A4z1UiOJx55jDf+w5/+RHOAflw9aFYe1N/oCoVCXLlyjQ/fvMnd62sYJA9HRoZR1TT0qnpZl3+ICd8BzE2iyRjPYlLsyd3pxyZW+qiSPsjs2ecmBULKOuhZ7ASURucO9/ljvMwiKMqOPk4T5y51MlQVsmybGhb82BmkRJR9btKmQZiPyLOHARdeZjDgxEI/RSLKAXxRYZiAgIoYN8iwxijP0MNRtBipkqZDkxk+iwo9Zrz0cBQDdiqk2OIiKVbRYmGfm8zxJawMEOYyQS6jw0ov4xzhl2lRwYKfOHdZ5Xuo0CLRoqM4oh7h/4EZHwWC7HOLPS5hoocCIcz0UCZGjDsEeJQAjyLTQYMeEQ12RhAQCfKBsopxkOA+VvyMK5OubkxAFR02ejh6EEVQJYONAfo5g51BfBwCus6mJgX6OUOaNcWh1OAa/4bD/AIaTOixYaaXaV6iQZEsm9TIMMrTGPHQoEyeIEUiVEgxyYuoOzpcwjgbvEFEvkFDKGBnCK9pmMBk30GjAkoQ3H+FnRn+U4N9/vx5zp8/z7vvvss/+ef/A5pJJ5ZhL2s/uN51Aq1HCF5awj7kY+DMFPlgku137tFpSxhdFtxT/cx+7iFkWaa4nya7uc/ki6fotDs0ClVcU33k95IYPTaq6QIavZbQ1TWym1G88wHck32IKpH171+jlisz+NAMPYcD2AJekvf22HrnLiOPHmLyU6eh0/0a+VASvd1Io1Bj+53bVFNFnONdLk9qNcTIE4cZeeIwEy+e4u3/01fZeOMm1n4PxXAK7+wQgw/PIogCm2/cxDHcg8FlQRQFXBN9+OYCjD93nPVXbnD/65dIrYYZODtJMZKhVes2Ivm9JEaXBb3LSiGSpufwMFqzgUI4jdnnoFmpUdzPUknkkYHsZpRiJE3fmQk0Wi1thfzbkSTi9/coBJOMPnOMdrVOei1Cpy3hGvN3wxGlDp1Oh/A31xEEgelPn2X/xjqp5RCxW1vInQ6+Q8OUo1mit7coRrPYBr14JvqwDriRWm3Ueg22AQ+tapNGqUr83i6J+3uotGpcI35kSebeH/6QfDCFe7KfQjCJZ2YA36FharkS9iEfll4n1n4XxXAaW8DHxCdPs/naTTYvLnDoy4/Sd2qSrTdvY3Lb8c0HGDo3Q/TaBvcuXuX4px8BlYDU6fzEc4B+XD1oVh7U39i6efMm3/r91+kk3OhzR5mrn8Jj62d58X32y6voNWaKcpQRnqaXo9zhP+JhGg8zyEjUyfMxUbZBETV6yiRo02CHHzLD57HSRw9HlBVEm16OEeEqm7zBAGeVw9nIPjcQUZFiBTNePMxQIIwaPRoMOBljnxs0FOfKDJ/DwzRNSljpx8U4VvpZ5hvUyDLAQ1jpo04RtbImkWkhomKfG2gxY2cYNTplGhJDRIUWMwEeJcMmDYr4OESTMlk22eMD+jlNkxIDnMGAHT02JngBF5NUSGLEjag4cW7w7xVB7D5taiRZpkycUZ5Fok2VNAWC6LER4FFaVGhQQECFiJo6BXwcpkqKGnlSrJBmjX5O42GGOvmDbJ4ScRyMMMaz5AlSJcMoTyHQXRFINDHgUPQ8JdrUGeQhtnmLUZ7iHn/EMt9ilKcY5emD9GwdNpyMUsXGJq/jUJD91/gNWlQY5lHq5GlSoSgEaaiynBL/LvfE/8hp72cYshwjuLGPz+c7CDiEbsPyXxt02Gr9p/VlMp1i+uwRUrYGjvFeTG4riTs7NGsNBk5PMfaJ40j1FlKzTS1XYeSJQ0jNNsVIhmIk003zjWWpJAsIoojeqqeSzNOqNJClDmqznkqqgMlrI3Bhjo/+1Xcpxbu2WpVWg7nHjn3A3SXjlmq0Kg0K4TSWHgfe+SGyW1GQoZIs0Ko2Ueu02Oe93VygAS8n/97zNPIVQh+tcvO3Xmfi+VP0n56gXijjHO2lUawy/6VHOPyLj6NSq1l9+Qr+E+Mc/9VniVxdJ70aphzPYx/y0Ko0mPrUGUr7WSLX1rjz1XfoPz2Ja7wXvc1ER+pQTuZZ/volmoWqQofNdYWwahF7wKcIYOXuROTGBuV4jqv/6nuMf+IEOquRWqZEbidOq9bAPT2A1e/CPuxj6+ItGsUqzXIdUatGarSJ3dkmtxvHNeFn8PxsVycz1svee/dZ+N03cU32IapU2AbcDD48Q2Jxl/C1NXqOjVKKZjD7HKi0amQZDC4LpXiWyLV12s0Wq9+9QrNSR2c2YB9045sP0Gm18B8fZf/mFnq7Cee4H4PViNSSaJRrGD02aukSnplBstux7nNVdUXWnpkBzF47tVyJgXNTbCdLbF5dYmRmDLVK9RPPAfpx9aBZeVB/IysUCvGt338dd/EUx2ee4v23P6LHPorL7CcWThCqrxGtbOJjnhGeYJE/RkRFH6cVay3IdDDiVlgbBTZ4BR1WJFq4GFOcJHklJE+FgJY2TXwcUUL4lg9SjrWY6OUYbqYoKjZgG/2Kt8ZIgkUKhJBo42EOJ+Ms8Sc0qYDiALLRzwQvsMYPWOZbdJBokKefk7SpUyNHkX2SLDHFZwAZK33osNFScng+BqS5GGeP93Ezywavk2ZNERf7aChI/iJRNBjQYsLOEBINGuQx4KZElBZVysTp46TSzBkVTcsSAHt8gBYzfo5TIoIW84HItYNEWiHaGnCSZJl1vg/I9HIMH3NosdKgQI4dqmTJsYWIBjNetBgx4VUEyi1CXEZEjRoDImpUivZHhRY7AdxM41Aoug7GUKMjy7aiidGjw4ZMm/t8AwMOQMDNBAnud5OsBROjttMM619iu3aZdq2J3zZBn2OMzWSOcDjyI80K8Fe2M4dCIa5cu8rdtfu0Om1Ussj62hojTx8h20hgG3DTe2KMzTcWGH3iMCNPHem6j7RqGsUaokbE6LahNemp5ysU9tMUoxk6bYlyIkd2K4Z3dpBOS6IUzVLcT6NOajE4zArnT8bS6+DYLz+Fc8KP3mqk05ao5ypkd+J4DwWI3txk9btXsfgd3Pj3ryKIIs5xPzqLAYPTDLKMzmpk6Pwssdvb2AbcaMb78B0eZueH91h/tRuumNmKodFr8c0FmP3CeVQqFbIsk16PMPLkEVqVBt65IRqFCsnlILVcCbPPgdakxznuZ+lbH4AooDHo0J6dolmuU8uVSS6HSK1HEPUawldWkTsdvHNDOEf9OMd6Ueu1lONZIjfW0Rh1HP6Fx4nd2Wb77TtIjTaCSmT4sUN4pvrJbMWI3tzAOdKD73A3n2j33XuEr67hHO3BNd7H0MOPU4ykkdsdbP1uNl9fwNxjp5LsurE8cwNodDqkehO9zUR2O8bmazex+J24xvzoHWY6re7XDX+0QjmeoxjLUMuWOPF3nyVwYZ61V64Tu7tDLVcmfG2dxOIex77yNI4hL2q9lvR6l45r7nHQqtTRGHT0nZpk//o6UrNFPpig/8wknXYbUaWiWWvQd2yMu197l9NnTyOqVD/xHKAfVw+alQf1M19/9pXox4fClSvX6CTcnJp/llardUCxTdeCbFUvMyV8ii35HTzMkeA+UW5xhF9kQMnokZF/5HAtESXFCG6mybLJCE/SoECLKgVC6LEjI9GgRI0sLibZ4S28zJNlk3E+wRjPoEKHCS9hrpBilRL7FIkwxAXGeIEY/xMGHCzyR2jQM8ZzmOmhSYl9bhLnLi4m2Oe6kuZsRo8NO4NY6KNBCT1OxW1UQAYF/d+V4wqoaNPAgh8dVtxMkGGNPHvKpCaPDjMCIlrMyLQV+7QOAy7KxBFQU1amLP2cRoMBmQ4jPAY8wTrfp0qGKAvYGGCYx1FjQIsZFToERMVp1cB0YJMWaVHDzTS9HMWIGxU6hajbxs4gAir02DDhI8RHhLiCESc9HEODkQpJHAyjwUCeEEmWqJKhSRkRkSEeYZf3SLHEIA9TIoKDYQTAiIshHqNFjT5OUydHgkXaVBnnE/ToJzDrzKw1XyOv3sNqcNERWgiCgMPgP+CtqFSqg+uyXM+hMYo/9gD4z6/Zmzdv8q3XX0Z26xl5+hBmh5VcMsON/SU+fPsSxoCLgGae0SePsfryVfROC5VEHr3dhKDqOkU6LYlCMIk94MXscyBqVEiNFhqTHvdkP5nNfezDPlr1Js1KnXatiX3Qi7W/u5a4/u9eodOWMLgtaI16CqEUzXId25CH4pU0Gz+4Ti1fwTrgYvTJozjH/LQqNUJXVtm/sY5vbgj/iQms/S5q2TKiRoVKo6YjdRBFkZmXzlFLF6kkC6i0Wlq1JkMX5pDbElJLIh9MktmK4RjuoVmpK8h+NcgytUwJqdGmlilSimaw+F2c/LXnSK1E2Hj9FlKrTS1bQq3TMvTwLLGFLeJLe+x9sEwtW0ZvM6PWqWmW6ux9sETi/h5TnzqN79AwrWoDrdmAxe/AOebH0uug05Kw+p3EVCKVdAGjy8LUJ0/TcyjA5sXbnPvffwaVRk05lqO4n6FVbaA26HAMexl99gTRmxtErnbt347RXqx9Tur5ClKjxdI3P6T/zCR6m4lWrUk5niNxv+t0Gn3qCOuv3aRZbWDy2KikC2Q29lHrNBz5padILu2RXAqRXotQzZRwDvfQkSTUBi2VVAGVSqTdbCNLHZLLQYqxLo/GYDfRarRot1pIjTZSq0G70cbr8f5UcoB+XD1oVh7Uz2x9rEe5e2WNVr2DRi9y5NwUJ08e5+6VNUadTx+A4T6m2O5Ur2PqeBnkLLvyhwcHnwotXubpQsxaittGAsCEjwpJtJiw0EuWLSz0YcFPmnWybCEp9lpZAbYblTDDPd7DTA+DnMeElzJxOrSY44vKVKbOXf4IAYhynSoZSkQJcIE+zmDBhwotdQqY8LHH+2xxkTZNJnieHNsHotIWFWpklH9dAa4AytRHoEObluK4+TgPqEui1WOlHy9ziIhYGSTFOv2cQ4WRDh3qFJBoUCdPlRx1sozyNHaGqJKmRQ09dpqUmeCTNKkS4SoplkixjI0B6uSR6VAjq3w/XuwEyLGnEGiPosOq6E7KNEmSYxsbQ9gZokCoC/Ajgo1BnIyzzy3sDNPHaWIs0KaGkzGMeFnje1RIscu7Cnm4O1Ha5m0A6hQZ5SkAGhQw4saIhwAX0CgsmhVeRhZepWGYxyia8HunGBdPsFZ/g3DjDuPyObRqPZ12l7fycbMiyzLb2QVOPTn1IwfAfz490Yhq+t29LO2sMfzEIU49e+GAvmzx2Bl8dI5Kqcz2h/dJrYQZujCLbcCNAKTXI+htJkRt9xAW1SoiN9ZxjveisxophJN0JBnbgIUxRe8RubqG/9Q41VQRjUmPdcCFIArEb+2i0qoxOMykVsLQkcntJDD3OBh57BDVZJ57f3yJwIVZeo6MoNZp6LS72TwTL5wicm2NvUtLOIZ7cI710izXaFcb1AsVBEGkni/TrDRAFNn+4V1K0Qx6mwmj24qgEgldXmbrrbu0yjV0NiPe2SE6LYncbhdfr9JpcAz7aJTrNIo19FYjgiB2G6Rjo1SzZbRGLfVilZ7Dw9hHfMhC1+0kqAS237qN2qBDpVVj6XXSf2oC/4kJDE4zvcdGWfve1S7ordkGGfR2E7ndOI1ClU6rex+opoqo9To6banr0HFoKETSiGoVjWIVuSOR302y+eoNBJXI4PkZkveD7LxzB4PTQimaJfDIPHNfOo9ar2P77Tt02hJSo4192Mv0S2eRmm32b2yQ2tjn2r9/lVa5gdRsodKouPZvvk/v0RGmXjzN0PlZNEYdu+8vkloJMXh+lnIs13V1lbqRAc1Kg8kXThN4bJ7cbldcbHBYKJezZEMJOpJEo9XkxsUPfuI5QD+uHjQrD+pnsv6sHmXU+TRmvYNyNcfNby1w9Z3fI5cpMNPnOPh4d6+d4OIWW/m7+KULNNpdumebGhJNdFgoE8POIBJNZMXM2qQKyBjx0KSCRAsBaFICujg3E16aFBXnkO2A4ppnD5kOR/jbGHHSpIybSdJsUCePERcyMg4C3OGr1MlRI4MOK4OcR4OBKtkuoRQ9XcLHE+TZo8UCVvpoUyPDDqMIiGhoUMDJOHmCBHiUCklE1OiwIdGkSQUZiLGgZAvdRY0OiSZazEqA4CBRbrHDDxnmUdRoaaGmTIImNdKsKMLTT1MhqTiKHJRJYMaHkzH6OYVEg31usclFUiwriUISVvoZ42k8TCtpzFtUSCkJ05KiWzlHgyg6rNgJICOhxYJEgwxrGHDgVsBuadaVwMNesuzQQWKLN5BoYaWPfW7xEP8HBATa1ElwjyL7HOLnMOLGgp8US+TYQ4eFFjVsBBjmCVKsYLfY+OzM/w21oEMlqNlM3uTIxMOsJz/ifvYiPeo5RK3wI43Kja2LiL40Z8+9+KPX7H82PSnnirzxu39K0yBw/tDYQaPSkSSC4TB6sxHHeC/FeJbg5SV6jo8e8ERMHhvF/QyNYhUEAUuPg8RSkPjdXWxDHjrtDvZhH57ZIUSVwK5Jz/K3L7N/axNHwItrqp/USpj43R0KkTSHvvwotUyJcjJP7/ExmpU6lj4nmc0Y2+8u0ndynPHnTwKg1mpo15rUMiWcY73MffECxUiazFYM93Q/8cW9rrPIaaWeL1PNlFDrNThHe3CO9GDusZK4FySxFCR6a5Pd9+9j7nGgNuhY+/41XJN9OId7UBu0dFptcntJMpv7GD02StE0PUdGcI37ye0mKCfy2AY9WPxO4nd3un+TbhtaswFRJTLy2GEco36MLgtGt4VSLEfk2hrlRA6j04zebkKWZdr1JlKjRacl0SjX2bu0hEqrRm830663qOZKdJoSnZZEcT9LajVMOZ4DAVqVBtmtOO6ZAaY+eYZOWyJ+dwfnmB+1UY/UaNIs1TH77Aw9PIu1v+tIKu1nQBAQRQFrn4vEvT0QRbQmPd7pAXRWE75DAcrxHIVQinIih6hVgShgHXAz8eIpdDYj8Xu7HP75x7H2jZHZihK9vYXUbNFutbH1u5E7HbKbMcrxPJ22ROp+CLPDyp/8y99lWO/jV770iz9VJxA8aFYe1M9g/Vk9yqn5Zw9u8NC1jV7deJWFrd9iu71GMd4mHk6TTqeIRWMUWjnGZC9GnNgZJsZdRNRYGSDKLTzMoUaDGj0iahoUUaFFjZ4qGdKsosVGkA8OGg0HI1TJUCVNniACKnZ5HxkZH4fwMq9QbINoseBljiIRBZ5WIcuWMjXooMeBAQd1coioaFHBjA8Lfcp0x4ibSYrso0avfJ4NPuB/wkofBpz0ceoAs69CQ5sGTsYOYGrbvEWVDHokkizTyzF0WImywCSfpEGZXo4R4xYlovg5hgodURZIskSaFXo5Tp4djLjo5Thmeljj+1RIUadAizpx7qJCjYMAwzyOl1mqZNnnOmv8gAppauQoEFKExmZ6Ocx9vsEuP0SPAxdjCkG4ioiKLd6nTp5+zqBCjQU/G7yKCQ8aTCRYJMwVikRwMY5EixJRCkQoEaVEjA4SGvSo0GDAgQo1JnpY4k/xMIsKDSmW8YkzDHGOrfYPusGUgpr97BaCqcrhyZP4+u1cuv0qS9G3mZ88wX5ui3I9x3Z2AdGX5otfef7gAAiFQnzr9Zdxnxr5kelJu9XiypuXMM/0sLK5htzpkC8WiSfjhGP7iHo1rWgG96if+KtXSS2HsPa7Sa10gwdBIJkPIjWb2AM+tBYDu+8totKqMffYsQ15SShgt+RKkFalTj1fIXh5hcxWDJPHhmO0l16XtasHGenl7h+9S/DDZQRRoBBKEfxwGb3VyNjTx7APemnVGsgdGfuIj2axRiGSQms20HNomODlFUKXV6gk8/SfniCzEaHdaOMY6cEe8BK6vIIgCvQeHiP0wSrr379G7/FRZj/7EAMPT1MMpVn7wTUu/7Nvc+zvPI2l19nNuonnMTgt1DIlStEcY8+e6LqFNOoDponOasTsc3TXLc0WKq0aQRRpN9rIcodGsUollSezvg8ypNcilKJZpFYbvdWE1e/sZvm0WuxeXKAQTjPzmbPU82U6kkQ5nmP/xgb2IS+1XIliOA3ItOst6oUKGqOOQ19+BMdwD4gCfSfHCX64zNr3r5LfiWPqsZPZjKIx6RA13WmMqFGh0XcnQuVEnq137lLPlxh7+hhzXzpPMZxGarYZPDeN85eeYPkbH7Lz7j1UWg1Sq43BaSHwyDzVVJHQ5RWmPnWa1EoIqSkx/PgRYre3yD1+CGSZzOY+yftBSrEchWCSgcAQdrOF+Uem/lI8oP/W9aBZeVA/c/Vn9Sh/tlGBrgvj7MQLvH3va7x9/ds84vz7GNQ+5FINr2aaUPMWeTmEQxxB1dEerBaGeYwUK0S4wgTdV8NNigfTlG3eosAedXIEeJQs21joZ4QnkaijVVYqAiqi3CTHNjN8niop2tTwMKVwVLapkMCEBxuD7PIuMW7jZVaZiOzgZIwmZWVS4UWDiQZFGpRoUkRApE2dMB9hY4ABztKiioxMnRwbvIoKPff544MJRJYtABLcV5oYLTJtnEzgZAyZDit8h7YyVTBgp59zVEmxxVvk2CbFKv2cxsuhA6Q/wDZvUiBMnj00GNFgpE0DDSZGeRIXU+gU6J2DADYGCPIBS3wdEz4GOEuOHZKs0MdJAjzCFm/Sps4EL1AjQ4kYMRbIsccsX8BKHxk28DJHhGus8DJlYpSIocdxYEW3M4wRDw4C6LAT4w5GXGgxk+D+wc96m7eJsYCbKbSK3keiiVs7ynK7xqXw7zGgP4ZorjF7bAKz2UxAP8+Of5GS4w3q/SrutTbQGEVOPTnF2XMv/sgr1SvXriK79T/SqAC0Gk0kucPQ/BjxcJSPbl3D2efFOuLF41ShNmhJ70Qpbu1TTRYJfrCE2qgjsbTHrd98HfuwD1mWkZrt7kpFLXYZHFdXSa1GqKRL0OlQSRXJ7cYZ/8RJ+k9PsPaDa1j7PUy+eBrf3BCR6+tkt2O0ak38J8cJvn+fRrFKo1LH1u9C7zCDSkCt19As11Bp1DSLtW5DgEB2O46oUZFaDdPpdPAfG8PgtJBe38fstWN0WWhVG4SvrCIIAkaXFfdUP65xP73HRhk4PYVtwINrtBfnWC9L3/yAj/75dxh+/BDmXgd1RWjbrDboOTpC0i/GcwABAABJREFUfi+B1Jym05K6P4NOdzLiHOslsRRk7/1F/MfGaFXrpNfDGN0WmuU6WpMex0gPBqelGxSZLrD+/VvIskxH6pBcChH8cJlmtY5vbkgRGJfpSB1iC1sEP1jGPdWP1qRHljsUwhnKiSzteouxZ45h8trpdDqoVGq0ViPjzx0nfneHyM1N+kemCF5aYvP1BSZePInc7mB0dXH8CBC6vEL4ygrOsT76z0ziHOlBVKmIXFvDPdkHkszYc8fJbkfJ7cQxua0A6Ia8eGeHWP7Ty6TWgjRLdY788pMIgkgxkubyP/sOaoMGvc1Ez+ERBk9paeVr2LRGsptxbtxb4FdbfzXH2n+LetCsPKifqWq1Wj+iR/lxVSwWcTXmWWq+Q02dQts2Yeg4GXScINK4S7J1n06ng0yHAI+yyevEuEMfJ4hwnRy7OBlFoqXkygSJcQeTEo7XoU2ZBLv8kDw7uJhEREObGmUSClTMRJs6FvoJcxU/J/AyhwU/eYIUCJNmnSAf4GYKI91pT4OCEsTXQ4UkJeIYcdNBIsMG0E1HblFhkPMMcYEqKRoUFafLMEmWCXIJJ2OoMRDkQ6qkFdGwCQ0GxZbspEmJHd45CPDLE6RJhX5O06GtxA20lCnSCI/z/2SXd8iwiYtJOrSIchsDTqb5HHYC1MlxhX+FizHGeYEOTRoUkemQYUPJ3BnGxThGvEg0sBOgRIgYt3ExwSjPcJ3/D8t8Ez1OREQERKZ5iQAXqJJWhM/7CAio0WMnwCjP4GZCCTrcUHQsVZpUyBMCBPo5Q4zbFIlgZ4gSURIso8FAimU6tDDiodJJ01DlEDRttgzfo2UOMdVzhtXgbd7+KMR+ZZmaJcSzXzrHl770BXw+34+IvH/kml27z8jTh/7cNavRaVGJIplIkmqzgd5rYuzEDJVCieDuHo1kE7VOQ6vRpLCfpvFODUGn6q4dNqO4Jvtwjfehd5jJ7sTYe/8+gkpk4vlTZLfjOEd7u2j3ehP/sTEsfS5CH61SDGdpFGv45oZwBHzYB72otBqK4RQIAvaAl3tfe6+75hm9QH0/S7NYQ5ah3WyjNmjRWY3IHRmtxaBMKbouFu/cIINnp4nf2UVj0KF3mCkn84Q+XCG5HCTw6DzFaJrAo/P0HBkhv9sF2Kl0GlSaboM29uxxsjtxlr71AWqdDtuAG5PPjnd2EEElsn9jk62Lt+k9NorOYsDid5HbjiGoVRTDKWK3d1BpNLgm/Oz88B6tapOxZ49hsJvRGLQggKXPSSGSpl6oUorn4JXrtCpNyqk8nulBWrUmqdUwBqeFzMY+5USenmOj1HMlQldWkBot4vd2GX3m2H9a7XQ6NAoVjC4rKo0KqQXO8W6CdUfqUI5nWfrmB1QzRQLnZ1EZtJT2M6RWw2S3Ygiqrg7HPtT9feisRgTlsaK6O4XxzAwSub6Oe7q/6+SJ52mUa9TyZdQGBzqbCfugt6u9sRnZfW+RiedO4J0PYHZacfV6aGWrHHroODe+/R5LX3ufra0tpqen/5vcs/+y9aBZeVA/U9VoNGjVO5j1jr/wY8LhCC55kqGeIPvqK9zZv8iY+DSR6iIqyUCYH1IiwTjPKbySAT7kf8aIAzfT5NhihW9TIYWFXmwMIdFkhCc5zT9gk9dJsoydgGI7vo9Egxp5QGaC5wGZIvt4sVMlywavMcmLGHACgpLou4MRN07GD8SrAGlW8HNcwfyX2ecWRty0qeNmilVexschJWRRpIEWC34qJDHhY4ReBZ7Wop+zCIgc4ucZ5AIV4tRIo1LWIEmWuMcfMsGnOM0/YJuLRLlFlAUERIpEqJHDTA89HKZJETfTRLjOLu8AIv2cZYBziKiokqJKCj12+jlLnh2s9KNChxo9biZRocWEDw0GbvHbaDAywfOs8T2ybCmRBFZ8zKJCzxF+mSopUizjUiYhWbaoU2SPd4lxjxk+g5d5vMwgoEaNjl6Oc48/oECEFb5NgwLH+Lt4mKFCknVe5Ra/yxAXsOJnkIcw4WWHt5HpdLU77XsEDnv4nT/4N7z8nZd5/Rv/gU7ZiN3oYXxykl7HU2QX9vntyNf+Qrx+o9Gg1Wljdlj/3PvUGg2jU+Pc/OEtAp84it3vIbWfILIdRFYJ2Ho9mJwWtt6/iz3gpVmoUYpnsfS6aNWbqDRq9j5YQlSpMDhNSI02h3/xSeh0qOUqRK6ucfgXHmP9lRydtgSyzMxnzjH8+GEWfvciqZUwKq0G+7APo9uCa6yXzE6c/RvriGoRndWISq3C0mMnpFhrC+E0ar0GlU6Dd3YQ17gfS5+LQjiFd3aQ3GaMWrqELINar+k2Fzc3KMWy+E+M03NklPt//D4zn3+IgbPTrH3v6oHuplsysiQzdH6WZrEGIow+dbT7/apVSG0Jg9PM+qs3SNzfI/DIPKJGRfTmBisvX6EYTuEc6wYyhq+uk1qLUIykEQQBz8wAWrOeeqFKfi9BLVti5nMPkVzaQ2q2CXx2jkIwRWYrSnJpr+u4Ge3B6LQweG6a4ScPk1oKsfvBEvYhL/HFXRr5CrE7OwQ/WCbw6LzSUKlQadWIGjWtSqNrJ8+WuiubdJHkUpD8XgIEoatPmQ9g6rGz+p2rtBstLL1ORLUKZBlRJdKutxBUIggCepsJnc2ESqvBNeZH1KjotNq4pwaY++LDbL91h71L9/HODtEs1/HNBxj7xHF0Bj1Wr5Ps2j7+3l5UajWjD80RvLzEnTt3HjQrD+pB/XWWTqdDoxcpV3M/9v2SJBEPp9FodHhsAzx+7DP8XuF/ZKf0NlJVQ0UoKMF5VzHiwoADHWZMeEiyjIyMn1OKOHOAUZ5indfQYqKfcxQIk2GTCZ5nhs9hxkuFFG3qGPGyw1tEuIYFPwVlIiOiYomvs88N3EwqBNYsMW7Rw2EyrNGkrKx3auyzgRbLAUm3oax+QOA+36BAiFm+gICARBMBAT12bAwqDUsP/Zxml/coEMaKnyk+hUyHLOtoMGOhhxy7eJhT6K8dkiyixcwEL2JjAA1GJCQ+4v9NmnVGeQotFkDEzTQL/A4DnMPNJHUl/ViNDiMuTLjp5Qh18uTYxYyPBPexM4ydIcrEKBKhTII5voAOKyZ85NihQJgxnsHLIfZ4nxX+FAejqNBSJqFMmEQa5CmTYIAz+DiMCg0iGmpkqZGjSQkdViVvKHbAZdFjZ5CHibPIHF8gyAcKIfcwRrwkWaJCiiCXSEgrDKm15HI5cpEWn5j7NY4EHkWr1qNWdScoHwtq/yK8vk6nQyOqKeeKP/aanTw+xyt/9G1MI24sDiuRVBJzvxNnoIdSucTO+4vUCxXmvnieQiRN6PIKrWoTz3Q/gw/PsP3mHYweK+16E53VRC1dxOCy0KrUMHltCCqRcjzPzGcfYu5L51Gp1cidDoVQkvi9XXbfW8R434LF70JnNhBf3CX00Sr+0xOIoojGZKCaKRK/u4vWpGP8E8cxeWw0y3Xid3eI3tykXW+itRoZe/Y4okpFajXE7nv3aZbreKb7GX3mKN7ZIWqZIoIogChgdFoQVSJGj41GvoLJa0fudNDZTOitRtQ6NfG7u1TTBYrRDI5hH71Hx5A7HdyTfWQ2o4SvrHL/T94HoBTPMfbMMYafOEx2Y5/QlZVugyaA91CATkcifHUNQRRolmt45wOMPH4Ee8CDSqtm8/WbgIB7egD/iXG0VgP3/+QSR//Ok4DQXRsl8vSfmyb00aoSCRBg+PHDOEZ7KO1nKIZTrLwcoe/UBGrdGKVohkIkjUqjplVtMPL4YZqVOuGra6i1akafPorObiZ2e5vwtTWKkTTBy8uYfV3oXi1dpN1ode3afS6kepNmtQt7E9UqWvUmOo2B1FqYnkMBDHYz3tkh1l+5js5soFGq0nd8HGuvC7nVoZouUE7mcB073BXd7qeYOXOUxa0VPv9TXgU9aFYe1M9UaTQajpyb4ua3FpjuO/3nxuqSJCG1OiRaK8wMTDHonmLYO49ZPoJNnqKgifNm8X/ASh967GzzDjn2SLGOhR4SLLLPLUrEGOFJtnmbXd5FROQm/5Y2TSz4GeZxqqQw4wMELPgRURPgMfIEaVEnzRoaTJjwIqIhyi3CfAQINCjRoIiNIWwMMc4nMOKmQpId3mWHd0izxghP0qauaCzuEeYybQUlJyNTIY2IChU6GpQoso8KDRb6UKGlxD4TvECbOkUiNCljQEdVSRauksHLPBGuoceGEc9B8nCHFnlCB9EDFvoQEQ9Eq3pseJghzdqBi8jGECq0aHmPNg1cTNCkQpUMdQpk2aRAEBVaqqQx48PDPMt8nSHOY6GXm/w2W7xxwIXZ5zpZtvBxiDqFrkaCHcrEEFAxwhM4GFEavRsYcSs5P32o0aJCzT2+RoMSIirqZGlSRo8VKwOo0AEdLPTSooYJD7u8203F1vfSrz/GH/7B19DFJzl7+IUfq5P6L+H1NRoNR6bmubWwyvTpw3/u8Q6fC0+Pj+CHy6SXwngPBTD3OogsbBC8tkpqJ4plyE3v0VG0NiORa+uIGhVTL57Gf2KcxN09BLVIbGEbk89OLVPi+K8+Q7NcY+TxI0SurWPuddJ/egKp3kI0isiyTP/pKUxeG6VojpWXr1BJ5EEABLD2uTE6zBhcVmIL23QkickXT+Ge6keWZNq1Jjqrkb7Tk1RSBYIfrXD677+Ad2aQ3F4CjUHHyJNH2H77No1ileT9ILGFbeq5Mo7xvq6TKFfpJhjLdFcYcS3OcT/mHgcq5SBW67VIbYn0WoTxT5zA4DTTrNTRmg30n57E2ufq5gathhl95ihznz9PMZpFZ9aj0moIX1vF2udi7KljWHodlGJZbP1uGuUarvE+NEYdtWwJW78brcVIs1RFY9Bh7nVQjufRGHRY+9xUkgX0dhONYpXorU3ajSbeuUH8J8cxue1Y/S60Jj1DF+YIfrDE9lt3utMcUSS9vg+iQODCXHcFFk4z8cJJrv7r73Hva+8jCAK2gIfpT5+hmi4iCALleJbowgbOMT8DZ6YpRFIUgsmuhmk1gnOsC+Jr1RpEF7ao5yqMPnm0m5PU60Cl1VDLV6imi+hspq6dOZxBLYrojUZKtQobq2sUgim0dZn05uZPfRX0oFl5UD9zde7cGRYufZUbWxc5NfajIltRFNmt3KSsCzEz8GXUKg3D/glubdzmId0jZFtB2opGop8zgMACv4Of4zgYRkaiTJwGRXZ5Gyv9DPMoXmbRYibFGnWyrPAdvMyiw4IGMyJqZDqIqPBzjJv8Dh0Fvx/gUfRYqZFHRqJNiwV+CxEVAR5lls8psLYaZnpwM4UFH1u8xSov06JKD0ewE+AU/zvu8Hvs8T4VkggISkbQXSQaGHCRJ0RdIb+q0dGiyjZvEWWBNnXF2ZSiSAw1WvTYyLGHFgtW+pDpkGcXNXrM9OBglBJRGhTRYiLMFdJsYKYXN5OUiGKmFx+H0GJShLQjxLh9sCpT06FJmWEep0mJLNvs8A4xbhPjDnXy9LCJnxM4GGWOz7PPTZyMk+AeG7xGhs0D544eKyM8RZzb2BkCuvZug2IHV6M9ANH5Ock27ygrrSId6gqfRo0BB5O8wBYXiXNXsX8XFcR+EbtphkQ0yfadu4z1tHlf9afMDJ7BZ/vRhuT/F17/3JmzLHz1LjcufvDnRLZqrQZJkhgYHSJ6b4d4s001nEEURfxTAfwTQ9S0HVr1FqEPlhl75jj7tzYwOC3IUge9w0T87i7mHjuFSIZ6rkJuK4bOZsLgNNMq1+k5MkxuJ47GpAformh0GkRRpO/EOHqbkY3Xb9JutKilS5jcVvavb+CZGyIfSuKdGcB/YoxWtUGr2qBdb3QdKc02znE/xf00qeUQvvkAoQ+Wid3dAQEa+Sr2IS++uQDe+SHSqxFSKyHKiRzb79zB5LHSrNS6EQHRro23Wa6htRjYevOO4mxpYwh4SdzbRWPU0a41kZpt1DoNjpGebqbO4h49R0dJrYYpxbJYep1MfeYMpXiO5P09DA4T3rmhbnOSK6OzGCnFsvSdHKdZqlFJF9AYtJh7nDRKNVQ6DbHbWzjH/XRaElK9idRoI7c7bL+1gNZiwD3Zj33Q13UGRdLo7SZqmS7uPrqwReTGOmqtlka+zIlffRa9zYRapwFBwDHko//MJDd/+w28s4OYPDayW3HajQbWfg/+Y6OYww5SK2E6Uhuzz045kSO5HCKxFMQzFyC9HiFydY1Gucb8ly5g6XVQTuSpFSqoDZqu6yeU7ILltmM0izV8Y/0Uomm2F9cQOwKjR6ZIbe2Trub53a9/lS9/8gs/NWfQg2blQf3M1eDgIF/8yvN88/de49X7O4w6j3c5K4pttD6whFPqwWsdAGDSf4J3hbe5V3yZVk1GQECLmXVeQUbGwzRq9MS4g51hRniSFnVkJEZ5il6OKdh5M0Y8WBlgj/cJ85FywPdiZRANBtrUKZEgxxYBHmWeL9OgQJF9GhSRaKPHhoCaXo5hpocUq3+G29JN8AnwOC0a7PEuFvro4xQORoAObqYpE8fLHGZ6kOlQJKykRIuY8LLPdVrUqJFjg9doUcHJGGM8i4iKKAtoMFIjTy/H8HOCMkkSLOJlDhdj5AnSoUVdCV9McI84i5SI4mKMEvsKJVdGg5EuJbeBCg39nGWRP2KHd7AygAEXFVKKMFagSgoBgV6O089ZcmySZJk93kODmV3eBQRW+FOFK1NFhUYR2D5GkQgSDWRkZULjR4sJByMUCGJRmq6u3XwdNQbcTLHBD+jlGHn28HMCD9NoMWPgJm7FtlwmocD9BByMMSqfQiuPE+hMsbcSZCv4VS4ce55J/4/e1P9LeP3BwUG++Pxn+eZr3+G1nSgjx6cPOCs7C6sYymBqawjMjzP7+YdxB3pR67SIosC9y7dw91q5/3rXwRN4bJ7w9TVq+QreOQOCKGLusaOzmzD5HNQyRfYu3aderJHwO0lt7FMvVYje3GTj9Vt4Z4fwTA/gGOnBOeYnH0xSL1TptDv45gPsvb+Exqhj4OEZEot7CIDBaaEQTHVDDqf6unj7bIlOS+q6kGS49TsXKSdzZNaj9J+dIr0aZvChGdxT/QiCQCmaxeSzYwt4URk0bLx6C6newn9qHI1Bh2vCT7veTYyOLWwRvLQEapFT/90nsPhd3Pnq2wQ/XMYR8KF3dCcspWiWYjSD1mLANuAmvbGP3mZCazHQaUn0HB4mcW+X2J0dfIeHcY77Sd7fQ+7ItGpdNorWaiC2sI1t0It92Ev46jo7b9+hki4ycG5aYakImDw2WmY9zUqTniNjyB0ZncVAs1QluxPHPujF3ONAa9LhmRkk9OEKGpO+m1jtc4DiWJI7HcLX19h6YwH/8XGO/MJjGFxW0mthItfXSa2EaJVrBB47RG4nzvorN/AdHiZydY3UWoRatsy9P3xHCTF003tkBBDI7sQBCH+0Si1dohzLodJqUIkiRpcVk9NKNpqiU6ozMTOFZ6AHo9XMznuLPP6FT2Cymvnma9/5SyeF/3XXg2blQf1M1okTJ/B6vVy9co07V96i1egc2EY/N/RrvPyHbx1MXuS6DnNrgKXaDxSHT4oIN6iRoYdDqJknzQZDXDjQeoio6eUUk3wKiQYtKqCE5mkwMM5zlImSYws9VmLcRocFAYEKSVToGOZxPEwjIyuUXB11chhw0KKCm2nqZBV2yrQyBamQZ48S++gwUyPPAA8roLn/5NTZ5A1y7NLHKSSaCh1WOnAbycic5u8RY5E4t5nlC/g5gQBk2CLAIxziF9jlHbZ5mzGeZZzn2eJ1trjIPD+Hn5OUSRDiCnEWEfg6A5zDyRg10lRIscM79HMGUcn76RJoS2gx0cMx7vEHWOmnl2PUKSgunDA1cszxJZIsUyPFGM+hw8YGr6ClyjJ/io0hoMM0n2GH92iQJ8F9iuxTIUGJGA3KNCkzytNY8WOhjxo51vnBAZQvxh0kmormKKgg/hPM8iVqZGgqLB0THjq0SLOuwADbhCuLqFRqNCoLfYZDHLU+z/3sRT64/Rp2k/dHJiz/Jbz+j1yz165y563FA4Ltyal5PvuPnuZP3/gui+ENGqUqOqOejizTqNapV2oIFR2ZjX3GnjlGq9rA1ueiFM0g6rpaCP/JcUIfrjD2zDFSqyGalQb1YpXN125hH/Yy+uSxP/PqPEh6PcLYM0e7hyhQCKfIbsXQWbsgteRyCIvfhXuyn/RKqHvdm/WoNCpyOwlqmSLNSh1BFChG0kitrjYkensb+5CX2J1trH1ueo6MIDXbNApVBFHo2oA7Haz9HvR208E0x9rvxuy1I7Ul4rd3KMfzTH36LLE72112SrZEq96knqvQKFbRWoy06w2QBVQaFY1ClWq6iFqnwR7wobMYqefLaI06jB4Lma0oW2/eYepTpzH7HOT2EjhHe0mvR4gubJFcCTH1qdPE7+2x9eZtmuUah//249QyJSqJHKKi85FabURVF9qm1qmJ3t5Co9d23TsaNdmtfUCgFM0gtdqMPzpHditGq9bA4ndSjGSoporE7mzjnQ8w8fzJbopypohzzI/vUIDItQ02L97COdqL1mJk840FGopNfOL5k3SabSI3Njj1Dz5Jp9Gknq9Q3E9Tz1fJbO6zf3OTyRdPIqpUVFMFEotd8fD440eQak2GZ8YJzI0jyzL3L16jna4w++JRvAO9vLYT5eq1qw+alQf1oP46a3BwkMHBQV767J/PBtJoNHzz917jT68vkd/Som5ZKBGnTAwjbvRYgQ5+TlEmjoUeRniSDi2ybKFBj485VGjQYkJGUiiqJoqEcTGOh1m2eIMqWaCDALSos8e7iKjY4R1aVDHjU3JwvNTIkidIgxJqNHiZw4ALleJgUaHFSZf/8vGh72KcUZ4kwyYSLfo5jUyHRb6GALiYIMsuOozk2KVCkgCPIqKhTg4TXrzMdhHtbKBCg5V+dJgZ5nFi3CHOPXzM4+c0FdJk2KKXY4S5fODWqZCgRY08u2TZUYIAm0pq9OiBE6gbJKijQxMjbrSY2OZNcuxhVwBxAR7DiJMWVcJcVeB5s9TIKoJXKxWSGHBwn2+iRouDEQZ5GBNekiwjoqZKmgpJaqSx4GeV75FgkV6OEOAxmpQw4FSyne5TIk6LKjpseJimQoJtfoiDEQREdnmPHFuoUHOaf0S5GmWjdg2dRYU1Z8dr/dvMO58lk9xhJXztoFn5i/D6f+E123rpx16z9//p/5VLf/g6+6k4iZUQqZ0otWIFjUFLMZqhUe4eWoHHDxG6vMLW6wsA2Ie8RK6tY+1306o22Hj9JoIoEnh0jt6jY+htJlyTfVh6HRhcFta+d5XL/+w7WPwujC4L+WAKrVlH4JF55PMymY0o+WACVTTdTWfWa/DODVHPlannyxgcFhwjPah0GlrVBqXYPTrtDs1SDeuAh3q2xPRLZ/HNDlEIpw+Sob1zQ+SDSfQ2MwNnp1h/5QZSo8Xytz5k841bAKgNWsw+O616k1alTvjaGvlgkuFHulbnjy29rUodo9vC+is3uP+ND7rhgRoVnVaLZrlGLVcmt5egFM0htTrc/erbxO9s03dqgkaxRqvaYP/mBuEra1QyRYIfLlPPlqmkixhcZlJLQYYeme9OhlQirUqd1FqkGzYYTTP65FGKkTQag65L63WYsQ/7KEbSiKsq3NP9mHscbL91h2a5DjJUM0WSK0F0VgPOsV4EsctCkRotGsUKkWtrZHfi1HMVVr97Fc/sIEaXhcGHZxBVYncNV29STRXYeOU6A2enqeUr3XTqZJ5mscrxX32GiWdPsPb9a9TyFTSxDOnVCInFPXzzAVaSRbLbMSqxPKqqxIXnn8A32GUmjRyf5s5bi7zUeuknLrZ90Kw8qJ/50mg0f+4P6+NXsf/qX/4vLN9ZISXFARXjPIefkxhxscr3sOInzQpDnEeigYCabl6OER02VGiUtZGFKmkFRrZJiTg6bIhoaVKmQIgaGUx4GOQ8OswYcJFlk13eZZCHlcwaJzu8i0STDm28zCEj0yBPhRSCEuhnoRc1ejpIWOilQ1tB6Y8hIGKlHwejaLGxwztEuIGHaYa4gI95fByig8Qy36KP02TZRo1O0YYcBmRK7CMD/Zxlle+QZw81OhwMs8PblIhSIcE4n8CMjx3eJcSHxJWAv49t3d3/NxjhKQSgQ5s065SIMsazDPMYd/kDQEWDHEmWKRHDQQAV2gNHk40As3yeEnFUqCkRxckkJUL0cQo7w4iokJEY4TFm+Tx7vMsGr7PPAkViZNmkj1MM8jB1ckg06eMURjys8m1W+C46rKjRc5evEuMuVdKY8LDG9+ggKZwcA6PCE8gdCDJEuPlDlotv4YoHmO25wKDhONvhtzg/3UIlqn8sXv+ves3KsozX6+Hq9Vskg1E8c4MMXpjtrhqqdXbfu8/9P7mEwWXG0uuinq9w+/ffopoqYnCZEIDifhqt2YBj2IcsyTjH+qgkctTzZVQ6DflggtjtbZzjffgOjWB0W5GlDq23bqPWq1l9+QruyQH0DhM6Wz8r3/4IUa0msxGlVW1Qy5Sw9DmxB3yoNGoEUUBt0FLLlbuHrwADZybZv76BY6i7FjH57GhMOhKLe+RDKaRmm+xWFFGjwj7swzbkIbeXwOJ3MvH8SSx+F+16k/idHRqVBjvv3CXwyDwD56Zp15uoNCr0diMafVcz454ewDs7SLvRwtnvRmcz0643qaQL5HcT+I+PMv2Zc2S34+y8fYfr//YV5E4H3+Fh7AEfjhEf9iEPI88cY+MH17GbPECXcKuzda3bOquBQiTD/o11mpU6mbV9pl48jd5hppYuojbqaJZrSI02rVqDSrKAZ2oQvc2IyWfvpjrXW7gm/ISvrmHpc9Mo1mjXmqjcVnI7cYIfLmNwWhh54jDDjx06YNfUs90VsW8+QC1XJrqwRbvRIrm0RyGYBFEgv5tAVKs49pWn6Tk8TDGaYf/WZjfE0WSk//AoGpOOUjhNMlcmKq1jUul5/hdfYvLE/ME1aHZYaXXaf+mk8L/O+v+LZuU3f/M3+Rf/4l8Qi8WYnZ3lN37jNzh//vxP+2k9qJ/R+jjR1u12o+tYGbWcIZe9yASfZJin0GNDj4MI1zHhRYsVDQYEVAiACh1NstTJIdDNexEQEVFhxItMhwT3FcBZnRo55ZA8jZtJJeW3m8czz99in+tEuI5bgcfVyKLDciCENeFGxoIGE6JySLeVnOWPc4pqdK3aKrR0aJPgLr0cZZIXSDJLhg1GeIIxZT0lKunKINDLERyMEucuTcq0qdOghIxEBwkzXlTokIE8QYrsE+ceSZZxM0mKJSokCfI+JeL0cYI6eQI8ihYzG7zKFm+SYhUbA+ixY6WfST6JmV62eJME97HiJ0uVCgkEZCIkaFCkTZUaWaz0Y8CFGS9meqiSJs4dxnmOM/wj0qwR5goajJjwISAwzvPk2KVBiTRr6LBgwkuGTewElFVSNwPKwThupohzFweBA7KwFjMd2tTIkmWbJhW0mEjLmwwIpxiWH6fYDFLQrLDdehdt0kBLaFBoZFkMfch+afXP4fX/qvUxjn/wwiyxThHJo2X06aN4JwYQRJH4ZghLv4tiJIVar2X4sUOotWpid3cIX1tj5+17mHsd7F26z/gnTiIIIu7ZPlrVOia3jUapys6790ivhRl75hjjz52gFM0Qv7uLwWXh2FeeInFvj+CHSzQrdUIfrWDxO2jXWwxdmCKxuMPGK9cZfuII3tkh2vUmnbZER+qw8/YdStEsc194mK2Lt2lVG4hqFdV0Cc909whyBLwUgika+TIqnZaOJJHbSZBaDlHazzB0fhbXRB8mlxXnSE+XiTI9QKctcfcPf4jR1bU5aww6WtUG1VQRi99J7PY2lXSBwCPzhK6s0ntkhHwwQbNcpxzNorMZGXvmOLZ+N+6JPsafO87t33+LyNU1xp45Rn4vRS1Xxj09wN67i6TX95GlDn2nJhh+4jDFSJrlb3/U1ZpIHZxjvZz5h59i6euX2H77Dn2nJ6kXqzSKVXQ2E61at6Fr1RsMHzvE7juL2AbctBttgpeXkSSJUjSLe3oA5A6iWkRqS4QurzBwdprBh7oNmSzLCIKA71AAi99FcjmIc7QXc083Edo3P0SjXGfw4VncU30kl0PsvH2H/jOTAOy+c49iJI3ZY+fMV57jws89SzKdplopUwnnOPLoKdbfv8PSjUVGDk0dTFbKuSIaUf0XrjL/W9ZPvVn55je/yT/8h/+Q3/zN3+Shhx7iP/yH/8Bzzz3HysrKTz046UH9bNV/nsKMqs3Kygq5og57Z4RRnkZAhR47IiJupkiyomhIasqqB7zMsM0PiXGHfs6iUpw+gpJe3AWa7ZJkhQRLhLiiMDo8GHAiI2FjgDYNqiQZ5TmFz7KBmynaNDDjp0qaDV5llKcQUQECLSp06Bw0BmZ6lM/TTSqukiXIh+QIMsfnaVJDUHwtFZJk2UaDAYkWZeKo0NBBOtBklIiiw4adIUWYu0+OO8i0sdGPGh15gniZPUDdJ1lmme/QpskMn6FGDhE1NXK0aTDOc8py6B102OjnDDpsVEkR4kMSLKLGoKyAHqNBUWme7rDLu1TJEOeeooXJIiLSxyliLFAijosxVGjwMEOSpQPbsxEPMhIeZljlZQAmeJ4ejpBlGxfjaDDQoUOCe1QVaF6c29gYxskIGgyKVTuPkwl02CkQxIyPIJfwqCZwCMP0S2fI1Fdo6tP4prTcXb9FVtggZr7Eqedm/xxe/69aH+P4NXod+h4rQ88cwey2kt9NILUlYre3SC0HGX3mOO6pPjR6HY1SlcAj80x96gz3vvYe0YUtCsFkd4Kyl8TosdJptkmvRWgUq+S246iNOvR2M+VYDqnRQhDAYDej1msYODdNvVDpgsQOD9N7bASpJaEz62hWGmxevI1Kq0at06C1GKhnS8Tv7ZLZjDJwbhqt2YD/xDjJ5WAX+X9tDe/cECqtmlathcFp7gLPehyUEzlSKyEMri5s7cgvPUk1mae4n6FerGIb9GB0Whh6ZJbl73xEJVmgGElj8tqRmi2KkTS5nTjtRgtZ6tCutboclEyB6I1NKqkCBpeFsaePYRtwU89XaFbqXet0wEdpP8Od338Hg8uCfdhHKZwmcn0dg9tCu9rE4OxOTGz9HtwTfegsRhyjPWiNOsrJApVkgfXvXyO3m+iufxSE/97L98nvJTn1D56nXWsid6SuUHY7wf1vXCKzEUVj1iGqVYgqkXIir0xUzAw+PE271qIjdXOMGqUaOquR6ZfOsvyty0RurKM1GWhW6jz8f/48K9/5iOxWFHvAi85mpFlpsP7KDeq5MuVYjla1iWPQw8iFeeKpJLVyheTOPn3+PnQGPfPPniGzE2Pl2l18g35kWWZnYZWTU/M/Fd7KT71Z+df/+l/zla98hV/5lV8B4Dd+4zd48803+a3f+i1+/dd//af87B7Uz0r9uBTmQiXNYihNtLDAsPyMcmirEdEgAH2c4j5/oiT5dvHxIOFmhhAfEecOW7zBBC/Qoqo4XiDLDkE+oEAQLzO0qDHJJ7HgVxqACAkWD9wo3VBEDUnuI6Ihzy5mevBxiCT3KRPDxiB6bMjIZNkiz55iKd4hygK9HKNEjHVeoUYOA3YW+WOaVKiQoEKCBEtosaJCg41BGhSwM0yQyzgYpU4REz4lJHEMATDiIsUKOmw0KGHETZk4AR6jnzNEuIIBF2qFeAuQYlnRwXTdSDYGsNJPlRR2htjnJk2KyHSdVyJapvgU07xEjSxp1vFzAjdTaDCxzLfY5zoDnCPEh9gZQYcFHXYalKkq2UAq1KjQIqKhQ4sKcWRkRDRItFGjw4BDWbG1aFJS9Cw5qqTRYMLOADaG8DKDFjN2AmgxUiJOnZxC6S3QoIyAwNvt/54Z8bMYBDvqjpFCJcP45CjBzof86qe/xJf/1s/9b76xf4zjH3p8hmtvf4h5wIV3rA9Hv4dKtkQ6GKMQTuEc6WXwoSlqmTLJ5SD2YR/2QBerPvLkEXI7cZLLQbi3hyAKxO7u4Jsfpv/kBAaXhcRykFq6xN77i8gX5jB5bF3EvVaNwWWhXW/Rf2qSa//2FcafOUrfiQnid3YpxbL0HAqQ203QrjXZenMBuSMjtdrYBjyMP3ccEKimihjdVjptCf/xcTZevcHuu/cYPD9Lu9ZUUpAL1HJlwh+t0ndqglqmyNCFOSw+O0aHGeeYn/i9bvCiyWunmi5i9toRNWr0Dgv5vSRVBSzXqjbQO8zIHZn0RoTY7S0yG/vUCxX8x0YZfuwQWpOeVrVBR+qQ2YzSKFURNWpMXjv7Nzew9LvQ6LU0NCo0Rj1Hfv5xgpdX6Ds9hdaoQ63T4D8xhiCKyFKHTltCEAX8x0YJX1klvrhDLVPGMz2AuccBAggqgb1Ly8htiYkXTuE/Po65x0k+lERrNpBaCZG8v4dnZoBapkj83i7TnzpDPVcBQO50SK9FqKYKmH12Os025h4Hi197H5PXyslfex6r34lnepDlb18ms75PdjtGcilILpgg8PAsao2aZqHK7Jcfo1qqUC2UqeZLlNMF6pkyJpuFgclhBo9PsP3WXR5uNrn9w6sI6TpnXzz7v+l6/q+tn2qz0mw2WVhY4B//43/8I29/+umnuXLlyo99TKPRoNFoHPy/WPzx1McH9aA+rr8whdk9SeOQhtD+Lh25o+g2DJSJo8eOnSEm+ASLfJ0UHyGiYoBzdGhjZ5ht3uEuf8A+C/iYx4CdJMvEuUuadfRYadOiTIIwV1Cjo0GZCklcjDHME4q4M8IWbxFnkQybVEjRooaPQ0zyKeLcZZ1X0WJCjwMLfib5NFtcpEaOTV4jzRoNipSIMsTDjCsNVIpl1OjQYlEycErYGCTHDio0eJlhi7dY4du4mcLNJAVCZNnCwQg7vEOJKP2cJsZdhbp7mzo5wnyElzmGuICNQdToyLKtaHcGcDGBjISTMUDGiJs+TnKKv0eIy0g0CfERZnrp5RgSDRqUaFGhSBgBgUk+SYZN9rlBhKtk2WGeL1EkQlc7pEeiSYYNbAyC0gBZ6adMAg16RZiswYBLaWQkGhTJsUuLGlpMOBmlQpotLtKmgREXTsYUBowBFXpExigSwkwPUW4zw2fZ431KnRh7wnvUxCydmsTCzjuoerM89vin/lpegX6M49cZDbTaLbRmOxq9lvx+mthmCEHbnboNnZ/F1u+h0+6ALKMx6GgUqsiA3mZi8oVThK6sYg94qKZLeKcGmPnsOcweGzqrEVGtwj09QPjqKpFr63jnhug02yDL6G0mStUs9XyZdr2J79AwjXyFRqlCbjfBkV98AgBTj4Peo6OoDVrktgSC0HWjhNM4xnppFKq0KnXMPXYmP3mate9fI7W+j3vCj0qrIbsdJXx1HaPbwvBj86x8+wpqvRZBLSJIIhq9hqHzM8QX92gWa5h7HPQeGyUfTHQR+lYjiaVuM9aut1Bp1OisRsL5Co7RHvQOM5n1KKNPH0MQRUrRLDqrgUqqCMj0Hh1FZzXimRmgmi5y9O88ic5soFao8t7//Wsgiqi0atqVOhafnUoyT243gXOkB1mWaVbqSM02hVCKcjyP3JaZ+OQZDLauwLae7wLwGrkyk586jbXPjdRs0Sp39SmdVpvcTpzcThy1XoNjpBtEKQOVZB5EgWqqQDmeQ6XXUAilqCQL1DJFRI2I//g4ll4Hxf0Man03nLD/7FT3OU74aVebBD9cAVnG7LKiNmqpV6vonWZMHhu90wEyoTh3L9+kmMmjEdVkYile+Xd/gq4k88XnP/tT23j8VJuVdDqNJEn4fL4febvP5yMej//Yx/z6r/86//Sf/tOfxNN7UD8j9V9KYZb0Bdpi98Cy0o+ZHjpI1MmRYAkvM5zjH/EBv849/pA4d7ETQIcNJ2PEucMy32CT19BgQIMJPTZcTNKmSpEgKGA2NzPEuc0wjylYd6vyHj0zfA4Ho0QU50uZONu8SZsabqYZ5QlcTGFnCBV6tnmTFEtM8gKTfJL7/AkN8szwOZyMUiaKRAM/JxjjOSJcZY3vK3yVClYGqJBSEpDrrPE9+jjBx8nQW1wkyxZVMljppwMEeR+JJj0cQaKBj8O4mMSIAxEVDobp4QgtqlRJk2OLfs4gICIg4GaSKLcZ4CH+v+z9d5BkB3rdC/7yZt703lRWZVVledveW3g/AAYgZkiQY0RRw6GooVZmVtpd6r1Yw5DiSauV9KQQzdINR2MxgzHwpoGGa99dXVVd3ldlVnrv/b37R15UcJakIkRxiHmcPhGIQHcgurIrLiq//L5zfsdOPxGmqZHDT9uf1qRGgdBe6aOAhgYlOtjHOm8S5Do9nEQG4izspaaybOFmfG+7UyWLCjUSDTQ4iDCNGa9yWpqlmxN42IeLEeoUqZBGRqJEnCTL5AhwiX+HETc9nKGHE1joQYdF8cz4aHEVUGHEzQE+z5z8DeKtearNMknLTb74pef+xn6of4zjr5UriBqReqFMPp4mF8tg6XFh9tpZNt9A7zQjaNTozAbUOhFRKRMUTTrywSSmDht6uwkQ6D07gbnDRjVTpGPSj9RqR4ulRpORJ46TWAgQnd5oc0RiWTQGHemNCNHZLQxOM/lImt0rSwgaNc1aE1Qquk+MUsm0zZ7JpeBeCkYtajB12JBbLVKrIZyj3WQ2Y1h7XXTs7yOxGGDr/TlyO/E2cE3UMPncGZxDPjR6sZ2u2U0hGnVtFD8qBLVAKZ6l//4DVNIFdq8us3VxFqPHBkApkcc53IV7vIedDxeQmk32f/Y8GqOO2cxFcoEE/nMT9Jwep1VvEri0iGu0G5DR203kwykEtRpZApVKQG8x4Ds2RHhqDaPHytb7c4hmPfVChdCNVXKBBDa/h0a5RjVXYuWVGyRXdznwy/fSe3KUZrVdOJnZjqES1fScHcc14kNqSuTDaZZ+fI30epjuE6OMP3Oaaq5EdjtGKZ6jmim16wpMegrRDJVMCY1ORGczYfbaqRer6KxGTG4bFp+DSqa4B5gzeqyk18M0a3XO/LNnyG7GWH3tFpmtKIVEjma9icPvxWgyYrSaEfVaukb9rF+bI7C0gZBvUgykOHXPM9zz2Xs+UWvGJ34GAv7CG8jH5qG/TL/927/NV7/61b1f5/N5ent7f6qv767+j6v/XgtzLBfgzsYVBm0nqCcqqGWd4u5wYcdPlh3iLCqwNWhQI84CEW6jx06FDGp0uJmkQgovB6hToUgIJx10MIGTYaUReYVN3sZCN0f5dXJsk2QFGQknI+iwYKVXOV/E6OdBwtxgg7dpUMHBEHWKJFgiydJe2qiH0/g4RoTbaDBgwUedAjJgpgsXo0g08HOOOAtUyWGkgyQrBLmMjIwFH2Y6ibNIiJvosCEq24Q8AaUWwIBEEzfj1ClhxMUBPk+ZOAXCCiStBch0cZQECyRZpo97kWmhQoOPE0zzNdZ5HTeTSDQBAS0WxVicAVR0chgBzV4CqkUDNRpGeAwbfazyKnl2MeHCiIsdPqRdadCjxLFzpFhBhcgOH1IgTAf78LCP2/wJDYoc5teUQVFLVfk6KZaRaXGe/xt6rAT4iE3eoUKKQR4C5aSkRkuDCnnCyMjkCWKhB7uqD5V3nX/y219iaGjob+wZ/hjHf/G9a1TzZQLbG0gWEYvPiaDTkIukaNRqVNNFmrUG5WQe0dg2QFYyRaRmC1mWyQbaoL1GqYrv2Ai5QJxiJE3oRhu3L2g0pNcjALjGeth+bxa1VtPeEsQyNOtN4osBMpsx7nzzPTom/ejtZvRWI/lgAmu3m2IsS3hqjY79/XTs86M1GyhGM8jIzH/3Q1IrIY7/5uPUchXid7ZRixoO/+rD7F5bppzI0XV8mPRaGFNHG6lv7XETn2+fRFQqVbvLB5CaLZrVOqGpdcK31rAPdrL4g8uodVqs3U6svR5a9SYLL3xEbjeJ/8wE3afHqeXLOIe7yG7H6LtnH4IgUClUQJbRWfTUSzVUGoHY7BYd+/0YHGZ0VgOVVJGe0xN88K+/g9FpRZZlyok8Q48doRzPk1oLEbi0QLPWILG0S+zOFga7idD1VfLBBD2nJ+g9O04lXSQfiBO4ukzHZB/1cpX1N6bY/mCO/vv24z00QCmexX9ugvR6hGwgTnYrxvrb021gXo8b37FhCpE0iaUgtUIFQVQTndlEoxeppIuUYlmklszOh/Nkt2LU82V8R4ex9XgwOizkQyka5SrldJFsKIEkST/xvGlEDb0HR2jkquSWN/lHn/8Sn/vc5/7Gnue/rj7RYcXtdqNWq//CFiUej/+FbcvH0ul0n4gT+a7+j6n/XgvzYuAampKb+7t+hR+l/y3h5i16OIVEiwrSXsneIj8gwCX0SumdiAkZGYkmHvaTZg0dFhqUkWlwkC/gZBiZFg6GkGjg5RCrvESOXbJsYqGHLDu0qGOhiypZTLjxc45ZvokFL/t4njt8ixjzBLmyF6l1MMQADyAoZuAiUcok6edeZfjopkYWG30YsJNmnQizVEhRJEoaO3b6cTFKlBksdDHCp7DRQ54wQa5QJb/nJxni7B60zUwn67xBnSIxZhniEWWTkiLPLmq0gIydPsW3E0RGQsSAHjuDPMQGbxPgKgYc1MmTZWuvdFGLkThzShJJQoVAgRAGnFTJscWfsc17GHBxkC9go5d13mKTC3ut0yY8rPAqOQK0qOPlEA0qLPED1Ijk2GWB7+PjKE1qhLhFmSRlEgzyKIM8gIVuRnmaGb7OMj/CwyQt6pjxkWQJNTpizGDAQZQZ1Gjw6fdh7BN+Kp8+TQYji9dn0Q86UcsqwlNrjPefpSm10DnNeCb9xBcD6F0WqoUyRre1DUcz65GaWgSthvj8Ds1aHZApxjKoBBV6p4VavkwlXURqtdpwMZ3YbvUVNUhS+wRh9jnbpwmdiLXHhUavJbebZPChQxhdVoJXlkithKjmSwQvL9F37z7kZguLz0VyKUhqM0JuO45aKxK6uY6tt92/U89XmV/5kFq+TMc+PwMPHaIYTlNOtrt2TB024nM7pJZ3Gf7UcRrFKoKoVjwqZqLTG0RmNpElGY1eRGrJRGc2cE/0YvY6cA11MfL4MbQWA/VCm0HjHu9l6QdX2HxnBvuAF6neRNCoaTXafpP1N25TiGY4+Ln7ARDUaqRWi0oihyCo6Tw8iMFpJja3TSVToPPQAKYOG6V4lq2Ld8gFk3gP9tN3fh+NSg2d1UQhmuHC//XPqKTy6B0W1l+fYvfKEo7BLhrlKp2HBtj3i+fJh9KogPR6GI1Oy77PnGf0yRNc+rcvktmMMvzYUVQqFTqLgUq6QCGSJr0WITa3g7nTxubFWVQqFeVUgXIyj/+efXQcGKCUyDH1x2+hUqkoxbPUi1VsPS4a5RrBW6v0n9tHJVrB5nJgsLTj2KmNMImFLU795qm/8ef5r6NPdFjRarUcO3aMCxcu8Au/8At7v3/hwgWeeeaZT/CV3dXfFf1VLczNVoON3WUGDI+irlhxMUpKvUBRCmGR2xuOGgUSLFImyTjPYKGLAmHSbNKgiISEHjsixjZyHBcuhhnlSSLcpoN9OBikQpoCETwcQEJml+sMY0eHjRJRKqQx4MCAUynNkzHhJckSOkyY8dLFIUCFk2EiTLPFuxSI0MVhRAw0KFMli41ezHgpk0CLiQjTrPAqJjyM8Wnq5DHRSZhb5NnFy0HlVAM6bHTRgYUuFvgeG1xgks8wwS8SYwY9VtRo6eUsNYqs8Rp2BjDgJEeAPEFEjIgYlGFOYpmXkJGQaaJCwM4APk6wxIskKJNlhwoZJvkseuxoMGCiQ2HINEiyRkRhpESZRkbGiAcfJ0iwRJMKR/gSOXZY4sf0cFLh2gQpk8KIa48YrEJgH79IH/eyyzU2uECYKSQa9HAaO0fp416a1KmSQYuVQ3yBJEuEuck4z7HGa6TZAGQybNDD5zDipkmZWr2GU2v6G2dQBAIBPrx9hbO//BiabgtLV2e4/uJFBL3I8CNH0NvNqPUi2x/OU8kUmXzuLCaPjeidrXbqxW0l+N6dNv6+JZHbTdEs1zA4LJg7bBhdVuqlKo1yrY3JT+XbHULZEpVEjlI0QyGUopotMv7Mabbfv4NGr0VrMYJKIL0exuSx0XfffgxOMzP/7SKteoOF719CazW2mSITvZz7l8+h0WvZvb7KzkeLJJfbpyK93cShLz5IdjuG3d+B7/gI6fUIersJx2AnJo+dwOUFsjtxfMeHMbqsbez88i7p9QjWHhedBwdJrYepFyqIBpGRR4/ReXQInUlPo1JDJagQDe0PuV1HBolMb7Dyyg0q2RJjT56gmiux+votStEM+XCKfZ891+4JSuURNAKyJLH88nW6jg7Rd8++tu+mw05qNcT8Cx+h0WsppwtktmIMP3KE/gcP4hzsJLEUbBOF/W785ydJrYbwn52gEE6TWguTXguh0es48muPYPLYsfZ4KIRT7Z4mo45COIWtz8PI40dZfvkGzVqD3pNj6J1mirEMq6/dJLUSol6q4hrtpu/efdTzFTLbMVqNFrlAnJ2P5vFM9DL0yBGMTgu5YIK112+RD6XwDHcTnd2imsjjHPGR0kTQabQEbiwTm9lkqKv3r1wc/G3rEz8DffWrX+WLX/wix48f58yZM/zhH/4hgUCA3/zN3/ykX9pd/R3QX9XC3GjVaDUlDIKNQraAXeWn33iS2+VvsdZ8C7VS8Cdi3OOTuBklyw5ZtokzzzpvEOImtT/HFOniCA3KqFChwwqAHofS6CvQwQS73KCLo8orFNBiRod17wSkUrD9MeYY4EEs9OBhnAjT6LAxzrMEucwKLxNlli5OUCNHgRA+TiCgRkBNkGvc4RvKNkjPLlcRMeLjBGY6ETGQUBqR26beW2gx06CEiJlezuBinDizykZnAB02okzjZpw8Ae7wdXycpEIGiZbi6fByh29SVDqCejiDiQ5KJIgzxzI/pEEVCz0UidKgSow7jPEMLkb3WDENyuQJ0qBKNycY4Wnm+BZajDQoUSVLhCm0mBniUZKskmUHE24O8fdo7wQkCoQpk8LBACFuUiJGJ0cBmQBX6Od+XIxgwoNeialXydKkhgY9PZzmBr+LgI4wN1GjpUKKfh5glKeRaFAUdolJM8RTURqNBo3GXywr/Ovq49jypz7/LPl8nvDNNUw2MxpBzdrrUzTrDWSphd5mIrsVZfW1m/Tft59GpU7o+iqLL16mmi9j9TnQmQ0YO2zkw2mcIz6q2RLuiV6EjIZWvYnF58TS7WLrgzkK0TSz33wPrcVA76kxXKM+rN0uEATqpSpdx0cI3Vil/74DOIe7qBerqEUNlk4ngw8dxNzpaMeiixXcoz04h3wIGgF7vxej08yyLLfZK29PE55aw9RhQ2q08Iz3kFgKEr69zuinTmByWdGa9aTXI2y/P09mO0YplsV/zyRjnz5JYm6HsWdOMfVHbxG6uYbJYwUVmNxW6oUyKrXQjmZvxVAJKurFKqJBR6vRYPOdGeJz2+jsJsrJPO6xbtzjfqIzW6y9cXsv3VPNFsjsxOm7dz9yS6LjQD9Gt5XxZ88g0yb6Lv7gMs6BTnpOj+79P9wo19pbo0k/gw8e4s633gcV+M9NMvnZs6y/dZu573zY/j7euw+t2bDX3qzRa9HbTOR3U3gPDxJbCCDqday8dhOAWqFMfjeFoFFjcJjpPjmK0WVFbzMhaDV0nx7j8r97EedgJ/t/+V5EnYhGGQ5bzRbJxQD5SJqh+w/SSJcJXVslH0uj12ixd7o5dOoYzuwnw1T5y/SJDyvPP/88qVSK3/md3yESibB//35ef/11+vr6PumXdld/R/SXtTCLah1qjUChmiJflZHVTWqqPEU5gY/jeDmIGh1WukmwyAZvoUJFB/tpUsWIhypZlngJDRqcDFMiipEOPvY2tM9CEjISOqxoMVGhrmwfzNQpIShfpS0VMe5gwMkuVzHiooODFNhFookBOwnmsdJLH/eRZo2Ach7SYSfNBipUVMkRZoodPsTFKBP8AgacpNkgxh3meQEbPfTzAE1qFInRySHKpKhTQoOOElG6OEaJKC5G6WA/GgxK0qabKlk6OMAGbzOKVznhmHAxRoIlYszRzUn6uA+9AtWz4kNATZUsW7xLli0O8nkkmoS5SYAPKRFBi4UaeRIsUSbBKE9RJs5H/Gs8TDLOl5ThrskyL7HG6/g5jxo9NvxUSZMnSJMaVnx4mKBAhCzbeDlAnAVWeV0pjqxjxIUNP2Y6seCjQoYaWVQIVMkioKFJDQG1khaLKCWWj7bptoIDjzjG7cbXWFua5X/9Z/8Wo1nPsXv2cfbs6f+ps9DHseXBRw+iUqkwGY00q3UOPHgCwWFg/NnTlEtliuk8rWYTo93MzLfeY/rr77RjvOkCao0ak8dOZjOKpctB59EhEgtBcgNezJ12Uish9A4zersJrdnA1sVZRIMez4SfYjTNmX/6DEa3jdRqiHwoBS25XSio/HkDDx6iXqxg8tqpFyoYHCaCV1fY/yv3YvG50ObLVDNFMptRnMNd7T6mmU08E724RrvZvbHK4otX8B7sRxDUGFwWLJ0OhQlSovfMOGqtiLXbRa1QweiyMPL4MdwTPRTCKYKXlwhdX0UtaqgXy3gP9JFcDuI7PtzmkeTa5zD7gJdSPEtkepPwrTU0+rYBWJYkcoEErVqd2Nw2sbltzB0O+h9ob0dywQSByxnkpkQpkcPS5aRRqlLVqJEliXIyT71YQWq28N87gSxJCLq2CbhZa2DudOCe7EU06PCfn2TpB1dwjXRj6XJx8reeohBOs/HuDIe++ABej41mtYGpw04umKBjn596sUJ6PYLRZeXolx6hUalRy5ZJrYaYLbxHeiOKZ6IXg8OEudPR7lrKl4ncWsd3dJiuo0OU4jkc/R0IGoFKpogKsPV7qWWK5EMpzv39J9oDzEaY6MI2nQ4PuakgRz4hpspfpk98WAH4yle+wle+8pVP+mXc1d9R/VUtzDqjwFTgh3RqjiFaW8ynX8LTOsA4z1EmgQUfNnoY5GE2eIs1XkOPDRMe0qwzyMOEuEmBCCoEWjSokMZMBxoMZNhEq5QXSjQw4CLBMnmCbQIqaWRaCGgAgU3eJcsOHibJsMkAD5BiBYkmcRYok0SHBS1mMmxixEOdAtt8gJNR0qyzyA8w4laIuSc4yBdwMECZFGq0+DjOLldZ5TVs9OPnPCu8TC9nEJToM8hUSKNBh4yECS9aTAiIgIwWC3Hm0WBAjwOJ5l5JooiJNV7FRi/7eJ4WdWVrs0ODMjVKuBinQJgsO8pQV+EQv0qTKmGmqVNQ8Pp9uBhFj50qGXRYOc0/x4SLEkn02LDRxzI/ZpXXkajRw0n02NBhRkYmwSK7XMeAixZ15vk+HsbwcRwng0zzNQClNduEpPQ7tYspZcx4FdOxCQtdxJiln/vZ5Sotqu0NkFxmqfYSGdUGQtHO1vUiqPMs3dzlvVev8uV/9nmOHz/+33lC/2p9HFs2O9oDbaNWpyVJjNx3iIX3p1h5Z4qJT58mG0pg7XWj0Yr0nhln9+Ya1VSRw198EL3TQuDKEptv38Z+fAT3aA+iTktiMUBmI0pyaRetxYDBYSa9HiG1FkKj05JeD7P/V+6l89Ag9VIVrVlPYjlIq9kkF0wCMPELZ8lux6ikCqBSIRq0+I6NsPbmFIGPFvGfm2g3GJerJJaDVLJFksu7JJZ36T07wew33yc6u4Wt143Oomfpx1cRzXoMdjOiSUcpniM8tU41W0Sj07ZTTkYd4VtrhG6uUkkVyAYSVHNFOg/2E7q1ht5qohBJs/72NK7hLhwDndj7OghcXmTrgzmkepOxT59SzLs7xBcCtOoN5XXW29TYRovglUWqmQLmTic9Z8YoJ3M0q3Wq+RLpzSiCWkCtE9Fbjdj6vIh6LRqDjlI8i7XHTSGaRWq2sPicqLXt121Q2qBFgw6VWkAtahh+/BiRmU12Li+2qbyShFpUIzVatBpNTB12Zr/5Hj2nxvYi6VJLInR7nXw4Rb1UZeSxoxjdNhJLQTQ6kUapRnI1xPgzp7B0OklvRnAOeklvRChE0qjUAjqzgXIix9bleUbvO4TJbafZatGsNqgHcpjKAmdOfzJMlb9MPxPDyl3d1U9bf1kLs64/j0mdRJNLElzdQWza6OQoemxUSaNGREBEQM0Qj5Fhkwi36ec+JTXk3POxVEkjYmCHDxnlKYy4KBCmSAw7fcppSKBIlDolrvNf0CiHo2Veokxq72xiooNt3mOFlwEw4MDLYVD4IXpsmOlUGCYjDPAgWbYpEmORF7HSSxeH6eI4Ek2y7CDRQoMBiQZu5RQVY5ZeztGgTIpVRAwM8aiy6bhFhSxmPAholASQGxUqauSVXqMN0qwSYx6JOioE1niDFOsc5HNY6ESLhRZ1cuwS4CMi3N77c6pkiDKHChk/52lQAUCNqDTwpIB2l5CZTjxMYMazB3VTo0WLGRt+WtQY4CGO8xtUSJFgEQ+TDPIwK7zMBhcw4KTJHDl20WAgTIY6JULcoI97SbJMneLe1/zYH7PJO5RIs8VFZGRs9JFli03ewc95duRLRJnGySDdwiFOGx+jQZlA4RYb16f5z//bH/Jv/lPHX2vD8nFsuZhp86REnRa1IKA16Dj8+Gne+bOX2wV9BpFmrUFqPUwhnKZeqTH48GFMXgeCRk3f+UmSS0F0NiMmjw2VCtyTveR3k+xeXSY2v4No1KM16VDrRbqPdyMjY+12E53bJjq9QWxuh2q2iKBRt1uDaw1KsQw6ix7XWDdqrQYkmVIi144MfzRPej2MwWHG1tdBKZpRqKoRVGo1zUoNtU5EajTx7PdTimZBpUJqNLEPdLax8pLMob//EPPf/oDsToJyModjoJPeM+M4h7qIL+xgWAqSWgkhqNU4B71tKJxaYPXVG3gUlkxqNcTyKzdwj3XjHO7CM95LJVNk+4M5uo4Msu+XzrepvfUG6fUIhWj735MrIUSTHntfBwMPHaIUybTf6K3tDZdUb7bJt6shyukC8bltDC5LG+cfzSAo/61G236rze7EkRotzF3ttBOA2evA4DCzdXGOA8/fg6xsrkCmXqgQuLxEeiPC5GfOUc2VQQUbb91up322Yww+fIS+e/e3B6lsidxukkalRjGWQWpJbeN0oUJIIfeqVCoc/V7ykRStepPwzCY/+D/9VzrH+nD7vWSXw3R0jPD8p3/xZ4oif3dYuaufG/1lLcyzs7P8m9/+L6wWlzjIF0FpgWn/04YPtrcfAj6Os86b+DiOCoEyKWRkmlRIsYaPk4S4hpVuxvg0OiykWKdKFjUiu1wnzRomOghwiQZVTHhoUcNOP50coUqWDd5Gh40+7qeTQ9TI74HmLHRhoYsySfLs0lLOE2M8TZIVmlSRkZX0TIYKKXTYUSHQpEqTKhINPEywxUX0OJRm4hROBhBQYcGPi1F2ucIkv4geK1XljV2DliIxnIwQ4iYajGxygRJx7PTRyVEcDCi1AXWMGIhxh3XeQo+dUZ7CwSB55bQlUSfKLE0qdHGUQR5Ei4kcAXa5SYpVNOgw06mQhTXUFZx/kypVMoS4gYdJejmj/P3adYMCWjToGeNZ5Qy0iZkuyqTJso2TEYZ5nF2uMc93GOQRHAwiYqRBhRwBVniJGHdwMkiVDEM8srdR2eIDKmSpkGacZ+mSD1MXEvhMk2jUGgYtp7iTfoMbt7/GKy+/ym/94//x7fHHseVbU0tMnDqERhQZGh9he2qVe//hp5kMhsnGUsy9chW1Vo1aJzLyxHGcYz7MHjtGtxXRpCO1FkGSZEqxLDsfzZMPpZAlGZ3FQNeJYdR6Lf337scx2EklU8A14uPSv3uRK//hR6j1IhqdiGu0m95To2gU02p0ehOpJeE7NoJo0tGsNmhW6xjc1nYLcblGamWXzXdmQFC1sff1JmaPDY1BTa1Qxts3QCVTQGvS4753H6Bqb2524qTWIzQrNa79xx9j9NjQ6DQc/tWH6Dk5RimZoxTNYu5yMvbMKXY+WODOt9+n68gQzVqTwm6Saq69HVt++TrRO1vY/R10KuWEao2atTemGHjgIL5jw3ubl1IsS999+4lOb7L94TzJpUA7Un10qE3CXQshyzJqjRqD04Kpy47WbKBZa1CMZds9RvcdoFGqIjVbCKKGeqHaNjAncgSvLOEe70Fr0rfBeZJEJV1oU3ILZW7+/ht4D/ZTiueQmk2m/vhtkiu7SI0WpUSW1dduELuzTXRmk+xuErnZwu73EJneBFmm1WyiEmiTbRtN0uuR9lAZzVA3VrD3d6DWiVSzJfR2M5YuJ137+nCP9RJf2CFweYGTQ4f4p//qt36mBhW4O6zc1c+h/nyjrSzLZPIZGlKJOgXqWMmyjRYrZZLY8SOhQY2AHruCyw8iYmKDdxDR42KEGHcw48PHMcLcJs8u3ZxEjY4Q1wlxgxJJJBo0FVibGR8p1qiQQIOeRV5EQE0Pp3EygpsRpQG5jf5vJ3TexkQHOixk2MaEFx/HMOOjRp4hHiHCFHYG0GJEQsJJm/nRpEqDEkViaNBRJMY8L6DFTJxZYsywwIuoEKiQIsMmVnqx078HWxOUoWeL9yiT5CC/QpU8WXaUM9MxdviQEDdwMESYW+xylT7uo4uje6kpEQPDfAoZiQwbWOllnGdRISDRQEDExQRRbhPgMnp2cDNOhRRNKmgwItEiyQpZthnmCbSYlVOVhIBInSIyTUSM9HKGGHdQo2OUJ0mxgo+jOBkhyyZRZlGhppsTmOhQeouukGARIy76uBcVkCPIII8goGGdN9Bjw8kQR/l1drlKoZpmdXUZp8ONzWbjoPMJtgtTvP3q+/zGP/zyX+v+f/b0Gaa+NsONNz/k5OP3Mnn6MOtfW2Xhwk16JwYR3SYmGw3W3r/DuX/yLLaBDurlKhqjjlIyx+IfXCFwZZHMZoRqpsCQ187kZ8/RqjeRJZlcIE4lUyS53N68xOe2WXtjCoPTitXnpuNAXxs/f2OF6J1tek6PM/ToUQrhNJnNKKVUDl3NiEpQIUsytXwR0ajD4nOSXN6l58wY7sle4nPbdB8dweCysnNpkcTCDrG5bcZ/4Qx95yepZkrIkoTGqMPW42kzW26t4xjsQpYkdBYDw48eBVlG0AhIjRa1XAlBrcY93oPBYSY6s4HBZaX3/CQrr9zA7HNi6/WQ3Y4z/NhROvb3obebWHnpOka3heHHj1FNtUF2Vp+L/G5Kgas5MTgtmDud+I6PMPbUCVq1Jquv3WT9rdvUCmUO/PJ9FKIZqpkg0dkt6vky9WKVzGYU3/ER9DYD5XiO9EYElUYgfHONXCBB/30HiM5uYfRYMXc6CF5dxuCyorObQFAx/bV3KMWzdB4aaJ/29FqyOwlu/8kFpGYLjU7E4LJSiGbR2k2kN6Lsf/4eNDot1WwRlaptIjZ5bMQXdjB6rDhHfPiODiPLMpHb65i7nFi7nWxdmGHisZMc/aX7Wbw4RejiAvbmX8Q8/Czo7rByVz+3CgQCfPePXsGROoZNV0Ks6/DJxygSU4r4UqTZwM0EABXS1MhTo0iKdQVM5qWfBwhwhXVeZ4AH6WCSFGtM8zVq5GhQoZMjHODzpNlgkRfp4hjdHGOA+3mNf0yOIE2qDPGYMqwMUSRGmjXsDCinqEcpECbKHfRYyLOLj2OoUNOghEwTIy6lCVrGziBp1skRxMGA4sVoR5yLRFEh0MtZLHRRIkGU2xjx4GIENVoMuAhyhRIJxQvioECIAJcpEsVOP1HuYMPPGE9ykz/YazYuk2SUp/eGKw8TNChiooMWDbLsKNTgXro4prRAV7HSS5k4stLT1N5W3STMFOM8qwwgEjVyVMlQJYsOCxq0itdFrVB3uzHipKZ0EOmwUadInSId7KdCmhSrNKjg5zy93MMGb7LA9xDQ0qSMCS9n+OeEuEGNLMM8joxMlg38nCfGLAmWOMe/JM4cLRoYZBfxTIhaTkVEHcfZYaNbc5jp3asUi0Ucjv/xNwK/38/zT36GF177Aa9thhk8NsHovnGuvXKZmrqJ3m3B4rbTLNXIR9LoHCZEk474YoC1N28hNVoMP3aM6MwGRo+Nvnv34z3QTznRjuV2HR1C0KiZ+/YHlNNFqtkiPafGcA51tU8Gg52otRocA16CV5bYeGeaWq5tfK3mSux8uEDv6fG2B0OjRq3TYrEZaXxYI76wQ8/pcdwj3ZQTBZZfuUHHpJ/hRw7TrNVAaqd2cjsJVBo1cqtFLphok2x1Ir7jI/Tfv5+F712i7/w+CpE0stQeVmy9blLVOtvv3QGVCudQF8svXaNVb6LRa9HoRCqZIp7xXnQ2I9YeF2pRQ6vRJLEcZPChwyDJ7W+yLKPSqFGp2sC5RrnOwH370WhFHP1edFYTFp8TvdMMQDaYYP2tKVoNiWqmgK3XzcnfehKVWs2N332VSrpAx/4+DA4T8YUdNi/OIEsyY0+fovvkCM1qg3w4xe0/fpvI7XVMXgdGtw1aEjqLHpt/hO4Tw9SLNUweG72nx1GLarRWI0aXhbXXb5FY2WXys+dIr4WJzmwx8sQxRGO7BLGSLpDbTbL17iw6s4F9z9+D3moksbyL1mzA2utm9dUb5EMpOn7lIbKxNBaHlbHzhxG2Cly9dvXuZuWu7upnRVeuXKMZdTFimWRDO028vsgYv4CNbkJMoUZLihUFhuZlhVcokWCLi4AKO300lRNO+1xhoERCMamiUGm70WHHQR8SDcx0KuyVJKu8QomU0nwsoEGmQxmM2gkfC1l2qCtv8irUWPCxwHdxMoqdfkQMlEkio6JClhxB7PSRZZs+7sVKNzHuEGMWESN1ilTJk2GTbo7TxVGaVIkzzwSf2TvRmOmkg/2EuU2CeWb4OgIadFgx4GCMZ3EzSohrhGhHKZvUcDBIBwfY4h22eZ8s2wzyEBp0VMlRIUuRCAVC2OgjTxA/59nlCjmC5AmhViixTWpUSO29bjVahU0To0wSUNHLORIsUSSGFgsplmlQwcUoRtxItGhSI80aDSoICEjUseIjyDVaNBjlSbzsx4gDFWoqpCmRwM3InjF3ldeoksXLITZ4Cxdj+DjGDN8gxRoWvIiYMNGBJNVxaP3UmxVykRxZXZmqu/4/9azuea6uXWX67Ts0pCYD+g5EWU10O0Hg+gzVVIHMahi92UC1VmX70gJ2fwddR4fIbMboOtJmhERnt2iW6+gdJkwddqrpAtZeN6JRx9rrNxl86DC+EyMUQ2lsfR4Aavl2wV/n0SHCU+skFoP0nBqj68gwwatLFEIpOg70A5APpUgs7JBaDdOsNQjdXGtj6DNFhh89gmu0m3IqT6NUY+CBgwCUEm3zqtRs+ytUaoHcVoyhR45QCKVR60Ss/vaWoVGqKq+pgizLFKJZBI2AwWnGOeJj/NkzZDcjhG6usvn2DKFrK1RzZe585wOO/dojmLwOWvVWu/MnXaBZrZMPpcgHEwqbJIHBbsLq9xC8ugyA1qynkimSDyQZeeoEsdltpEYTS7cLvdWIa6wbvc2EWtRQSeWZ//4l4nPbFGNZZEmmFM/hOz6MwWWhkixQSuYI3VwjPrdNKZ4juxPH4LK2o9MTflrVOosvXiGzGaXn9Bie8R5s/V5Eo5bApSWK8SxWn4uJ586yffEO4al1stsxHAOd6JToc3I5SGothKnTzvx3P2Tg/gN7tQUbF2bIbkfpOtCP2WrBIhqxdOvJlMJ4D3cx/d4czzWe+5lJAsHdYeWufk71MYZ/2PUQsViTXuNB7hTeYYkfMcADWPDRoESWOBVyrPAyu1xDQIseO2Y6qVPCRi/bvI8WMx4mGOMpBOVTvod9qFAR4oZiHhXIsEmMO3RySOmoUdHHeWV7cAsJCQH1XuGgGi15wiRZBVCaghNY6EGNqGwI1skRIMsOMe5wlC8T4BKL/AAHQ1jpRosFiSYl4iRYJMEyIzyBDT9p1uhgPwf5AjJNQkr82UIXLkbQYUXmEmp0nOe3KRKiQEQx5D7OAi9wg9/Fgo8mFWJMo0bLGq9Rp4yf80rzcYMs85RIKENElSYVtJhpUadKngZF1Iho0NOgjJNh3IwR4BJrvImXAzQo4WRoz18iI5FggU6OEGEaK93UyO99v5KsssV7OBmiQoo8IUTMFIkCMlXupUiUIlFaNABwM4oBBzqsmOhAVnJNVpzUKFAkipNRdFiIcYchvkqWLUCFSqVCo9ahU5vR1HWsViNU60XS6fRfa7PysfY8V43n9jxXoijSaDRYX1/n9/7g95jb2aHoSbFxYwGTx4Z9wIvRbWPrvTsMP3IUvd2MwWkmuxODHRANOkSjDr3DzORnzjL1x2/RdXiQSqqggOLqiEY9BpcFrcmASgXeg/3sfLRIrVRjYF8vpg4bK6/e4MbvvobWrMPkseMe68Z7oJ/g1WUSS0Eym1Hsfg+iSU8hlKJRrQMqzF4H3SdGaVRr7F5fo1Wt4ZnoQSUIhG6uIWjVVDIFyvEs+WASS5cTg92NaNJRy5epFyuIehGVqEajFZElifnvfoBUb9J3z3484z3onWaSS7ukN8Jc+d9fovPQAMVYhthigA6lDVmjE2lU6ohGHdmdOJ6JXtJrIQWk16IYzbRNs7EMXd3DWHtcLP3gCva+jrZHRzmBqQQVHfv66FgIcPK3nmTqj96iVW9i7+9g/rsfMv2nFxCNOmRJxug0M/zkcTbemia3m0A0atuo/EYLWZbQWY04hrpILofYubJMv6gmMrVBKZ6lVWvg3e8nOr1FrVClXqoQmd5on386bGiNOuqlKsigt5vJ7yaZ/+5HJNdCmDrs2LpdTDx8guFD4wz096MSBBK7UdQqAbvLQUBq/o3DDf9ndXdYuaufS32M4beZ3GRMcbTlTnSYWOElEswzyqepU0CiQZwFSsSx0E2GLcokcTOOl4Ns8JZy0jnFAt8lycpewV/7E3oMG73Y6KdFjSBXMNGhGHjrjPE0AmpGeIqX+Adk2cKIkyIxTHSiQq14Toapk1f4JvtIs06Ym9joRY0WG70YcJJkmQzrdHKI2/wRPo4zwpMIiAqX5ZJy+jhDlFms9BBjgTGeUlI4bXpuiTgmPIiYqJGjkyNEmSHOHE2qGHAQ4iYp1nDQzzifxsMkarSEuY1EExeTJLhDgkUE1LSoKVuP9vdGj03B3Lf5Lk4GMeKiQhoVAnlCNCjToomJDqJMUyLCII8qW5Q1drmqnIRySlz7FCXiBLiEkfZWIMhl6pSx40ePjSzbqBGV8sIE83yLVV5Gg4E+7mGYRxEx0aIGyHsx5joF0qxQIwvI1MhhwkNZIeR+bOxtyWUE2kmPnLxLjDm8jl5u3Zz6G+kM+vOeq49/PTExwaMPP8rtP/iP5AJJGqUanvv8qFRt3ofUkqgVylSXyhhdVlzDPkqpPK16k1a9SaNURRA16CxGvIf6cQ53E51eb59HVCo0OpFavkSjXEOnYPBL0QyleA6Ff8bxLz9G//37EUQNalFDeGod0azH1Olg6+IdPPv8tGoNZGR8x0dILu9SDKdZeeU6oVtr5ENp6oUy5i4nZk+b2VJOts23Ro+N1FqI3rNtjkkxmqFRqSPLoDHokGWZwOVFUmthbD1uRp48Qe/ZCVSAoFG3abKLAbI7cZIrIYxOK5n1CL1nxqkXK+SCCVSCCvdYN7E726jUAonFIJ4JP52HBikn85RiWWqFCrIkYe12odaLGD02VIKKWr6C3mZGNOvbPhqNgNasx3twgMBHC9j72mTeoUePUM2UaDWa1PNlvAf6qWVKZLaiTDxzhtGnT1LLlRAN7WEjNrfd9hC9fpNyMk/nwX4EUSA6u4Ugalh56SruiV4GHjjE2JMnaTVaRGc3SSwFMHXYEM16pEaLQjiDZ7KXRrmOe6yb4QcOY1Rp8fp9qAQBZJlsOInP7aWULyIKPzswuI91d1i5q59LfYzhj8aD5JMSPs0hDFovt+p/RoAr1JXmYC1mKmSw0r2HlQcoEiHLDnpsdLCfBkU8TLLOm0i0GOBB6uT3zilaLCzyIjItHuH/zS7XCHGDYR5Fh4cKKdyMUSRCnaICWbPgYBAVaqpkaNGgQAgTHRQIMcRjCqm1RZ4gCZaokmOdN1Cjw8EwJrws8H2qZGhQxoiL/TxPBwe4xe+TYJ4ySdTokWkh00JEr8DqbHvFfZ0cokAIFYLCMbFSIkY3x+nkMBklaeNkiD7uY5032eIifdxHjQJuJhAxEGceJ0OkkdFjx8Egd/gmDoboYB81ctQRUaNHh4UES2zxLinW6OUMZjqJMkOEKeW1WNnPLxPkKksKY8bBEC3qpFgjxw4JFrEziBqRbk4yxR9TJY2LEbo4igEnOqykWCXI1b00E4AMhJlCjxMZSLOFjxN0cpRp/kRhxxRZ4RXsyqmvIZXItUIUWhE2eBfZUOTekeeZvrLIc5/5myPb/nl9jOQ/9NAp3nv1AlW5AbJMvVSlki5QimZJLAYZeuworuGu9id7t43MVhSjx0q9UGH9rWlajRZSo4XebkSlVlPNldDZjFQyRZBpv7G1ZOwDXlqNJhvvzCCa9Fi7nAw8eBCtxYBUb5FejxCf3yG1FqJVbyFoBHavr2DtdWP3d5DdilHJllh9cwp7Xwegwn92HMdgFypBRSmRQ2o12Xh7mvFnT2PudBC+tcbiDy7jPz+JIAgAlJM5RKOW+EKA0I01tCY9XcdGGHvqJBq9iCBqqKQLtBotXKM9AGQ2ohRjaTR5LVsX72DzuynFstj7vcgy6B1mwrfWye7EGf/0aQwOM2avHb2t7T+pZoqUM0UyWzEWf3AFjV6DSqXC5vfQf/9BwtMbeMZ7UWs06K1GVBqBcjyH3JKw93WgGdNSimXI7sTx7usjtbyL3mqk/4ED1LKlvZOWoFGjFjX03X9AiTw3yAXibYJvIk9yeZfhx4/hPzeBUaH8anQi7okeVl+9yeY7M8iSRGYrhnfCj0YvotGqyW3HaRaq9B0bx2SzgCwTWg9AuUn3aDeXvvUGJ36GYHAf6+6wclc/l/oYw/+j//Aug/Vn8fdPsLPp4ET9N5nij3AzzjbvY8GHgIiIERdjWPDRUqivIW7iYpg8IUy4FcqrkY/412TZpodTaDAQYYo4i8SZp5sTlIljwQfIXOLfco7/C02q2Okjyh1lq+IlzhxlEpjwIiAS5ia7XEeiiY8TTPAc0EKDjhZ1DDiw0gtKE3AXR7HQpcSj6zgYokoGEx1oMdLNSbZ4Dw0GcuzgZkRJ0ZRRoUaNljJJVMpWRIcNo1Io2GbDpBHYIsuOchYZwoATG2a6le6eKjmqpNniXfp5AIkWarSY8ZJlhzQbpFhRvCHtPiYQkGiix6HEsxsc4HMYcChlgw/hYYKasmky08UOH6DHgRkfUaapkle2Yoto0FIjxxH+Hll2qZLGx0m87EdGQoMeC134Oc8W7zLP9zjM38NCN2u8RoZNOjhEjh2q5BjhCaLMoELNAA+xxuss80McDGHBh1Y2stj8EWUxSkPMcbDrQfq9k8zV5n9qq/WPkfyj+wZ57+ULNKt1CpEMRreVQiRDvVwjsx3DMdiJShCQpVa7jVmSaVbqiGYDma0oUrPF9ofzaIw6mrU6jUqdSqrQNq1qRVCrSCwH6T4+Qj6UZPml66hFNYf//sMUwmkAirEsgcuLpNfDePf303tuEvd4NypBoFGsklzZJbsdR262cI1206rXGf/0SQYeOEir3kRnM5HZiGB0WdAa9QSvLHH41x6hXqwSvLJEJVWg6/gwrWqD9Ga0bTCd3aKUytN9bJiuQwM0aw2kloSKGsgyWrMeg9OMRi+SXAmx8+ECeqeJ+Rc+xDPpx+730KzU0Tst7F5rn64GHzyIa9SHxqBDNGgRNGrKqTw7Hy2we30F96iP4ceOtMm6+TK711f56H/7HoJGzdi/+iUEsT3syS2J5HqErqND2Ps6qGaKtBoSGn17c1FO5dHbTGh0Ik2pjqBRIxp1lBK5NnhO3W6fXnn5OkaPDZ3FgFqnxuJzMvb0yXZBo6imUa5RjGapFcptb9L0BqJBT247ilBrYbAa0en1RG5v0n9oDM1ZkcRulGw4CeUmkyPjrFydRZWscubpnx0Y3Me6O6zc1c+dGo02Z+Xw4YP8bvUbmBuTjFpO0tPno7ZUZ6z5JFU5T40SSZY4xm/QwQGlbbcPHWYMeHBxgS0ucodvMM4z9PMAemzYGWKXqwioCTOFBgNWuvFyCA/7MNEBwAAPcodvcoX/gIMBnIwg0VI+pffjYYIyaSRmyLBJXun+aVBhnGex0EmCJQCs9GCmCzsDhJlCxIyTUbwcpEQCkPEwSZQZCoSx0osBFxINfBwlwQLdnECHlSKRPXDbx8moMLfwsA8bfYT5IRGm8XOOAR7ARAcpVokwzR2+iZ97cDGMn3Ns8i7dnGKdN4kwjY9jGHCSYZN13kSFGi+HiDPHNf4TdgYw4gZkQtwgygzdnMBCJ10cJ0+QNV5HhYCIARETQa4QYZp+7mecT1PhHmLMYcTFFH9EmFvcw/+CmS7e4/+FlR56OIURt7JxKlEgTI0CToaJMccN/isGXOQIYMFHjBnizDPOs+zwEQVCSjRdi5UedrlBjQI51RYqlZoewzj7Ou9DaBiYmBiiXM8jGoWfymr9YyS//aCP6xcv03NmnHQkTnozimOok1quhEoF9VKVjbdvM/rkCVSCqo3i14mIJj1bF2cpRrM0a3V2PlpELWroPDKI0WmhXqrSrDcxddjYvjhPdHaLcjKPSqXi4OfuY+2NKaqZIrs3VmnVGpSTeVJrYUY/dZzhJ47RKFapZotILYm+e/ax9MMrzL3wIZ0HBzB57dRypfY5JFdG0Gqo5UqotRq0Jj2e/X0U3snw1v/5j7H1uBE0AuGpdbY/nEelUmHtceM/N4HUbBFfCICqbYY1uqxodO2+o1IiD7KM1Gihsxja+PuJHsafPoVo0ROf22H32nJ7A7G/D7PPhcFpbptwbSbqhQoavdg+YckyuzdW6Zj003tuAqPbitFtRWsx0H16lHq5SjGSptVogaAivhikEMlgarboPDS49z1ulKvoFD5LfG6nzZHRtgeiVrVN0y2EM+hsRqSWhK3Xg+/ECGf/xXNkN6Lc/toFHIOdFMJp1KKaYixLq9Hca2QuRNKYuxxoVkIYTEb+0bd+B6PVyNXvv8NH//GHhN+e5/WtJN37Buj1+zHrjUz/+ENUySrPP/mZn7kkENwdVu7q50iBQIArV64xc2WZRlUCdRNZX2Gn9j7NeJ4e3RHq5jzqkprt+nuUieFhTPFYpPByCCs9VBSfRT/301TgYXf4Fkv8EIACEQB6OIMBFyChRkudEmnWFRJqO34roEXEzBpvoOMKLaqYaLecZtlBpkmBKA0q7OOz9HEvd/im0vSsJsEyVdI0qZEnRI4gbiZY500ybOBimDJJHAxQIYUGPSXipFmnQgqJFh7GiTHLGq/TyWFa1LDgU1gqKRIssM0HGJUm6Bhz9HEv+3keE27UaFGjxcEgUWbZ4G1sdGOlBzUaOjlKmFts8yFVcsSYJ8Mmadbp5SxVMpRJscMlosxgVJqfw9xGxESDClu8xzbvY2eQGnlWeBk34+QIkmQRLWYGeZAKaZpUkGlSJomX/WTZpkGZm/wBRSIc5POoEdFjo0nbX1KhvRWokUOHhQ0u0KSdOmlRp0EZgCJR3IwzwqeokyfGHUx4EFDTyznMghObyUm34QCd6l6qpgg9Pd18FPgWJx8e/6lsVT5G8ke2g+SrRRq1CganhWIyS6vawNbfHo69BwfY+WiB7FYM+1AnrVqTRrlGZjNCo1xj/NlTxOZ2sPa6WXv1JrVCheFHj6DRa4nPbbP0w12iM5sY3VZcIz4mnj2DtcdFai2Mc9RH54F+Mlsx5r//EdZuF77jI1QzJUSDFmu3i9jcDrE7W3SfGmP55WtYe9zkggn67z9As9agmi2h1omoNWpEkx5Th51arkzvmXEq2SLdp8fRmfVEZzapF6uMfvokR//BI6hFDfHFoIKvVyOo234RlUqFoFFjdFuRGk1qhQr1YqWdNkKFwWXB5vfgHu2h89AAN37vNY7/o0/h3d/H9J+9w9IPryJoBBwDnejtJkqJHIs/vIreamTo8aPUCxWSy7vkg0l0ViOiWc/oE8fZeu8OmxdnCV5dInBpnmIkg/3JE6i1mnYsulilVW9idFtZe/0W8aUgB56/F73dSCVbQpIk4vM75ENJ1FqRarpAKZGnGM22vUj7+zA4LFi7XWQ2IqjUAmavHZXQ/nsXwmka5RrOYR+b796h2WxQyGRJ7kaJ3t7k1z//93n+l57n0uVLLGysUIrvUhc0nBg/wJmnz/xMDipwd1i5q58T3bx5k+/96etIMTdDzkcx6x3kSkkW0lnqqiKa7iwb+ddJWBJUmhJWrYdEUYefs6RZVxJAXiTaKQaJFipU2OknySpGPEqr8gFa1Jjne2TYQItJafCtkieEGS/DPIoeBylWKfBNUixjpQcVavq4h17OUiRCiwYOhtCgZ53XiTCNRzldFIgQZ4EwN/FyiH4eQIWKGHOKMbVInPm9c0mTGgacewyVPEHWlXLGPCG0mJjlGwS5QhfHSLCERIsKSSpk8XOeEjHWeAMHAwrgTYUKNSWSVMkC0MlhsmyxxftKuWOCKX6fMmn6uVfx79hIsUI/9zLIo1RI0ckRSsQVdsxxyiSQaSmtzafRYqZInDhz5AmSYpOokjrS4+Qgn8fBEA1KJFigQgYvB9BiYoMLBLhEixod7MPFCE2qlEnQoomLEaJM081prHSRUmLOwzzGbb6GRAMdNsZ4ChfjSgorRY08RtwYlIFNREeLGt3CCfLlMJZOFQeOjLOSuIrgTXLm7NM/lWdbp9MhyCoWb80hWTUMP3YUx74etm8sE7q5SiGSQa0TMdiNmFyDRG5vELi8hIyMoBaw9Xo49KsPUUkVSG9E0Rp0+E6OYut1s35hhmqmQDVXxj3ajc7WNtf237sPlaBSCgbdJBaC+I4No9GL1LJlRh49hrXbhUavRZZlksu7yJJEej2Kudg2o8qyTKNYRaUSaNWbGJwWdFYjOqtRKSAs4RjwojHpCF5dpvNQP959fXSfGiV6e4P0ZpRiNIPZa6cQTmPze1AJApHZTXrPTbaNv0rLutba3mLkgklyO3H0DlP7HNaSANrbE62ILMlUc2Wq2TL99x9AJQgsvXQNqd5ENGqppPL0nBmnli+jEgT0NhO1QhmNUYfRqKNZrmN0Wpj5xkWquTKVTAHPZC/5QILbf/o29r42QVY06AjdWidya41avkwhmqacKlCMZcntxKkVyhjdNoweKzqrkcjMJqhg7tvvM/Dgofbg05LQWQ3t16wUNpo7HZg8NlwjPiKzW6i1GorBJNVontx6jAG9ly98/gv4/X6Ghob2tswfJ8t+lnV3WLmrv/MKBAJ8709fx50/yckD7dZlANxjlEdFLlx9kSvx97GKHQiyhiYSDUpoMGCiEw1ajDjJE0RCQqIJyO0f9ohoMTLE46zwY3wcQ4uZJKukWMNEF2USlIgxyEP08yAietRoSbK8B5VLsoIGHQM8iAk3ZrzkCFAmgYdxBniIPLvs8AFWetjmPark6OcB9vM8EnUERMzKm+0279GkQp0iWix7zBdQIWIixh0ybCKgYZ4XqJEjzQYlEsSYw8Egdvox08kQj2HBR5oNwkxhxosGLVm2KRGnQhoBDQJqBDQ4GWWLd4gzR4IVtJg4yq9jws08L1AhhZ9zjPIMBXapKm3Weuzs8AFLvEiDMgf4HKM8TY08AhosdONhnC1cik8mgZ+z9HBKGUzMlIjRoIKFLqz0sMlF6hTp4jAdHGCe71IiTg9naNEgxh20mNFgoEISIw7l67V7oRz0s8IruBhjjdfZ4B3awL1++rgXLR3EuIMKmbDqBk6GSEorCLYy9mEbt1M/RvAmef5LT/7UPrGKosi+oXFevvAao58+yf5PnyURiuEe7cY51El6I0J4ao3dG2t0HRnE0uNm4KFD5IIJLD4X9WKFVq1BdHoDrUnPxjvT9J6ZwDXUtXcGEgQBrUWPwWll+aWrJFdC2Ps6MHkd+I4NsXlxlo23ptHZ2i3GOpuxbcZVQXIxSCGcpmNfH6VkDq1JT6vR3ItHl6IZbD2uvdSR1GyR300iGnRYet1tpkmrhc6kp5zMo1ar8Z/fRymRI3B5kaFHjlAvVhh/5hSR2xtEZ7ZYe2OKkSeOtT0fWuUclMyx9d4daoUy9n4vxUi6XS7oshC+tY6t10M1W2JzbYb8bpKJ585Qz7dbnuvFCqJJR+brFzF7rDiHfGj0IipBoJzIUYxmiNxaB0FFOVukVqxQLZSoZEuk1yLk9Skid7Yxua04Br0gydQKFaRWi55TY0RubzD1R29i6XErseQ+LD4X1XyJ5FIAWZI4+Cv3El8Mcu0//RgJFbV8maHHjtJ7epxyIofBYcY57FMAd+3ot9FloZUtU5gNYSrC87/8qz/xHP7/J8t+lnV3WLmrv/O6cuUaUsz9k4MKEAqFmFu7SrocwdIapt94mi79fpK1TebKP0aiSZEoFrpQKUC0KlnC3CLDpkLeiFEkjottpS8oyTIvKd6PMDJN8oRwMcwwT9CiRp0iBcJs8i41CuQJEWceMx0E+IhuTmLBhwEndQIkWcFOH72cZZEf4OdeAryIj2P0cpYGJQTUSLQw4dkbHpyMEOCKchKJIwM1soSZokySY3wZiSYORrjBf8FEDDUaejnPWb7abhSmjKSwR5pU0WJWvBy7qAArvXiY2CtJzBGkToEiMVoKfG2Mp7HQSZYdglzGy2F8nCTLFiXlxFUiprRR2zDgQouFIR6jRFz5mk5kmqiUfqEYc5RIKBuvLlKsoMFAlSw2/GTZoUGNGDP4OMEgD+8xVKLMMsFnqVPAhIcCu4gYaFBBBna5thdJlpFRIeBhgj7OY8FHhTS7XGeJH+DlIHHmkTR1zvh+ibKQIMhrdAyayHZmOHl2nDNnn/6pr9ZPnzxF8z83sfo9qIBms4neZsTgstJ5cADvwQFmv3GRQjiFa6wHx2An5WQei89JvVhl4fuXCE+to7MaadUbOIe6MHc50VmN7WhvIEkpnsPottF7bpKNt2+ze22FgQcOoLOZ0Bi0zH7jIqYOK9VseW8QquVK5IIJjB4rnYcHCFxaxOb34BzqohTL0nt2kuRqiK7jw9RLVSRJQqPTkg+l0NtNVNIFApfm97YuBpcVZJl8OEU5XWD7/XmSyyFqhQqJhQA9p8YIXllm+msXCE+t03tmHLVWTXIlROjmGsnlIPt+8Rx6q5lyMk+jWqcQSpFc3cU91sPs19+lWatz4PMPoBY1lNMFVIKAaNITurFGo1TF6u/A3GlX0lEqDA5TO75crOAY8NKsNRD1WrTdbnQmA5PP34PZbSMXjBOZ2qTVaGLt9tB5xIFKpcI51Em9XGfmaxcQdJv0nBihnC6Q3ogQXwhQiLQHPVDhmfRTjGaopgtUcyWKoRTR2U1atUb71Da7hdRqEby6TODSApZuN6Ko5YClnyd+8Ym/8Bze3azc1V39jOhj+NuQ89GfGFRyuRxXr18inN7mgPlZTJVess0ttBiwil30cT9J1tjhA/p5EBu9pFhjk4uYcDPKk2gwEOQSQa6xyIvUKZBhBydDmPAAKlZ4iTplBnmAFlUalMmywy7XSLFCL+fwcx4H/WixUiDMPN/DzxnsDKBCIM0GIkYERJrUWOcNBTNvJc0qFVxIimulRX0POy+gYYxnWOR7LPAiQa5hp0/xXDxBgQhNKhSUUsEGZeo00WIgzh2s9CBiok5zb+tiwIYeKzISbsbQYd/zrLQ3FEbizJNlBx8n6OdeBDQkWCTMNFUKCt4/igo1IiYGeBADLiLcJsMmToZJsUKUGQBEDNTIYqYTHTbFaHyMIFfIs0uE25jpxMsBbPipkKZFndv8IQGu4OWgMhjmkGnj1Te5QCdHsNJDgkWlxVpmhw8oEKabUzSookaDCQ8jPIGbcUT0NOnGw362eZ8FvkuOHbqF4wRzS3j8Fo4eG+U3/vnnmJiY+Ft7A+jp6aGvp5dasUJyN0a1VMbosbXL7epN3ENdjD91kgv/6uuUEzmkWpNKpt0SnF6PsP3+HLLUNsBmNiI0aw0MTjPWblcbLgZktmIkFgKYfU4c/V6WX75ONpigWaoitSRcIz5UaoHg1WVWX72JWtRg7/eiMehwj/UgqAX0DnM7httsUk4XEESBUjxD8MoSk585h9ySKCVzlBM51DqRxK0dGpU6w48coV6sYvG5iExvELy2jMltY/jxo3QeGsDcYSO7kyB0aw3/+UnSGxFCN1YIXl1CUAttaJssK2eeCoJGQ6vWIPjKdVLrEbQWA616k3q5Rr1QZeG7H2LqsCNo1cgticRikGq2hK3fS3R6k56To6gVCF01V0YQ1ai1GiKzWwQuLVLJFLF2u/Ae6OfcV58lsxGjEPbiPzvBxoUZjG4L3cdHSK2HCd/eoJprtyV/3Iqc2YmjkmVkGQYfOoxruAuNUYvWZKCeKzP7rffp2O8ntREht5vE4DTTrDXQGLTE7+yQWgujsxpJLe9Cpsb9993/E4NKIBDgyrWrzCzP0ZCaiIKGw+MHOHv6rmflru7qE9HH8Dez/ifJocHgLqHkBk5hiMOm58iKEbLlDXZKt9FLDpyqQQblR1nk+9jwY8BFnDv4OUM/D9GgoLQg+zjLv2CXq6zwCi1qqNHSw2n6uY8Y89zi98mxS4RpBERq5MkTYpCHOcKX0GFBooGVHgZ5iE3eYYv3OUAXJrykWCXNBjm2yRFAg44O9tPDaWRkUixjpAMTHoy4kJFZ5y2liLCHEZ6kSYUoM+iwYqVHOVMtK2kfETt+6hTJEUCPkzplcgSR91qo66gQsDNIkKsM8ghORpCRlHbntAJCa3tgPEzSwT7qlIgyQ5MqIabQYaGTwxhwKh6S/ZjwKNHtfiqk9tqV7fShw6og8JNk2EaDjiYVrPSgwUA/9yvmZDMqBFpU91JcOQJ0cQyQmOPbdHOK/fwSSVbY5F1SrGJnQPH4VAhxEwE1NnoBFG/PLh4mKRCiRlZhz2iQaCLs/fgUGOVTRKvTzAYuInRN8u0//jGHzy5z9uzpv5Uf/jqdjonRcbIVFdVIjqa62S69U6loVurtpIhaQDTqaZTrrL01RX43idFlxeJz4hzpQmsx0n//AQDSGxH67t1HNVtsDzvjPajUarI7MUrxDJGZLYrxHJVMEZ3dTPexIU7/k09TL9Uo7CbJbMcIT62j1ovIjRateoNSIgfIbL49TWYzxsjjR0muhJBlFauv3CC/m6TryBDlVJ58MEl4epNWtc7BLzyAc7CT2Pw20dlNtt+fw39ukq5jQ8Rmt3EMdNIo1bD6PZQTeQJXFhl54hgDDxykUalRzZaQmk0232knnkLXVynGMsiShK3Pw4HP34+o05JcDaG1GBB8atLrYRJLQewDXkqxDK1Gi8O/+hAA4akNNi7M0Ht2nHqhQimeo9VootZqyGxEKEUzdOzrI7MVpf++AwiCgGvU1z631ZuMPnmC3E6clVdvkN9NEZ3ZwD7YyYHP3cf6m7c58msPY+l0IKMiuRggG4yTXN5FrdUgaNRo9CIGu4lSLEvH/j5kWSZ8a4Pk0i56hxl7v5dz/+I57AMd3Pn2B2z8+Ab/8Q/+M1/+/D/g+PHjbf/e6z9EdusZfPQgZoeVYibPraklpr42w/NPfobjx4//1J/Z/1HdHVbu6u+0Poa/FcuZvd9rtVqEdqIUG1n2iQ+iUqloSFVkSaLfdByPfoj52EWqjTQWOsmwRZRZfBzHx0kKhEixQos63ZxCjZYujhFlVjFiPs027ysEXAmN0m2jxYyTEVZ5FRu9dHKEFlVkjIgYKBHHSAd93EuOXcJM0cVhZECDjjSb6LCix4as0FI//tparMg0lUZjE72cJco0W1zEiAs3k/RzHyFucJX/QJOaMjgcwccJFvgeGozIyJiUwefjBEwbGNc+h9jws8FbOBjEz1lARotF2fpUWOdNcgRwMcwc38aGHyvd1ClixEWBEPN8l2Eeo5uT6LEr0LvcnxsAZAQERIxoMaHFggkPCZZIsYKbCXLsINGkn/vIsMkW75NgBRUCKlSIGFCjwYIXHyfIEyTETRIs4mIMPTYCXGGO71AlgxbzXiNzm6kzziIvUCTGMIdpD2ERNKQQMSGgRgV0sL9N0q1PMe64H6vRSCcO/OXT3PzeFFMffI3nv/TkT/2HvyiK3HPiLBdWryIWZYr5FAAGh5lGraEYOPNIzRYd+/owdznIbMXIBRKMfOo4Wxfn6Ds/scf4iN3ZYvWVGww/fhSdzYSo12LtqVMrlIlMrdOs1jn+G4+h1mnJ7cSQWzLRmS08k730P3CI+MIOqdUQ2UAcW28HtWIVlaAiubxLai1Ms1ojH07TdXiQzE6c3RsrpDajrL05hdaoQ2c306o3ue9/fZ7OQwMIagFrj5uZr7+LaNLRfWqU1GoYtU5DZjOKWqdB1ZLoOT1GPpRi7bVbDDx4CL3NiGPAS2JpF73dxKEvPkC9WGX2m+/hGPBi93tJr4YQjTrcYz4GHz6Ca8RHo1Lj8r//IamVEM16C1uvB0u3C4PVhGfCz9bFWdIbYXQWE9YeF6JJR2IhSD6YwN7fgQx4JvzkQyky2zGsPpdSJBjENdrd3rocHiI+v0VmK8r9//dfoRTJsPLKDcrJPI4BL6nVMJHZTXRmPaOfOo7RY6OWLbF+YZpWs4XWaqCSLrLvs+cYfPAQd779Pif/8dN497eH43Iiz9DDh5EyVfLNBi+89gMajQY/fPtlnMf6OfrIWUSNBkHdpi1PnDrEjTc/5IXXfkBHR8fP3Ibl7rByV3+n9TH87eb3ppjoPoVKpaLVatFo1FGhwig4kGWZRHUTnWCm0ziGJEtEpTuY8CpvXKPM8x3UiGzzHhJN1Ojo4igAdYrUyNOlIOnXeQsRA37O7wHZ0qyRZoMKGaJMM8KnEDGQZhMPeuqU2OIiy7yEXinrKxBFjYgFHwVCCGjwMEmcORqU2eZ9xnkWG35q5KlQokkNEQMGnMRZQIedGgWCXEPEhIdx+hUTL6hoUOYWv0eaTQw4kGmxzXvcz/9zLwZspguAGLNUyNCkRojrtKjj46hCs40T5hY5dunnPvQ4SLKKFis5AnRzkv0cVs4202wpBuFRnkSHVfHxRFCjI0+IGgVaNKmQVsByGeIsEmWaMLeVHh6ZPLuUSSCiQ8SIj+O4GMVMFzkCxLjDBhcY5CHsxIkzr2xnavRyViHdriLTYpCHEDFSIkaQy4S5RT8PYMJLmQRdHMXJME1q1CnQpIoKDbtcJ6faxWHx4nM9wVb2bYaOHWbIc4Tb2xd44U9e+1v54X/29BmmlmYQ000skpbwzCbmTgeiQYvBYaaSyGN0WJAaLTQGLc5hHzsfzJHdiiFoBKw9Huz9HRSjGQS1mvRmlIXvXcJ3bBid1UgumGTlles0ylUKoRTR25t07PeT3YrjGPSy8e4MkdsbOEd9aLQi3adGye4kiM9vk1hs499tfg/Djx7B3OmgEM2w9f4c+VCKZrWOWiOgt1s49IX7Mbos3Pjd18hsRNo+kGqDVr1FLV9h4IEDJBaD5HbiaPQizVqTzkP91AoV4nPbaE06UtkS1h431XyZ4JVlSoksrpFuVGqB7E6AriNDjH/6FI6hTiqpArvXVghdX213DykJH0unk7XXb9J5eJDMZoz4nW3Gnz2N0WWlWatz+f/zQ4xOK9V8CUFQYfTYGXv6NL4Tw8TnAqy+fhOVoGLnwwUmf+EMGr0W0aBrNz/XmxhsRqR6C1uvG7Vey/TX36VeKLN7bZlWo0l0epOBBw7SeWig/d9oRVSCCgTQWY3tpFc0jUavpZovoxZFLJ126qUq1WyJRqmKzqCj5/AQtfk4TYfIH/3JH1PyCOjMfj64+hFqlYDX7aW3pwebzcbJx+/ltc3w3dblu7qrT0Jnz55m6oOvcWP9TU4OP45arUYUtcjIlFpp5MYaRSmO33QUlUqFJDXISgFGeIoVXkGFii6OMcQjaNCTYFk5FbSzQe2G4ApGPOQJMcTjDPIQFVLosXOEf8Atfp8481jpoUyKFs0/Z8j9EXEWMODEwyRGXJRJssYbrPIqRjzISAzzKH3czyxfZ5o/Y4ePcDCEW9kUCKgVA/Bt1ngNN2O4mcCEBzVadrhElh00SlNzmtU96NlBPkcXR0mxwQx/ypv8UyWOLSKgwoofG73schWJBgM8jIiebT6gRoEaOZyMcJAvYMJDnHl0mDnOPyTHjtKJ5MHFCBa6SbK419bcySH02KlTokiYKhn02IkpceI4C0SYwkoPk3yWEjHs9FEgwmX+PQUiCKgZ5SlGeQo9DmrksNJDJ4fZ4UN2+BA7/aRZR8M9uJggym1y7NDu+SmywPeVAkQVPo7gZBgr3agR0WFBhUCJOBr06LChxUSK1baXRrawGPmQ/drzJJtJ3n37PTSyAZXaTECu8srLr/Jb//grP9Xn3O/38/yTn+GF135AOBemZJMw2Eyggsh7d6imixz8xfMEb60Rur6KwWNBENVEpjcoxXOkVkPo7SakRgtrjwvXqI9yMs/GO7PtM048Symew39uglI8z+6tNcLTG2iNOsrJPGZvu8G5EElRiueI3N7A5ncz9OgRUqshnCPd6Cx6jG4bnoleQIXBaUYtahCNOkweK8nVMBq9iGOwC41eZPW1m2QDCXpOjqI1G2hUajRKNQDcEz3USzWSy7uEbq4hNVttGJtaoJorMfut99BbjXQdHsTS7SS/myK1GsLW68bS7dobAqSWRO/ZcRa+d5mVl69TK1SwdLnQO8zorEZ6T42BChJLQYYePUJJypFc2qX31BjH/9Gn0ChDRHI5hCCqEQ06Rp8+QWIxQD6UJL3eZqFIrRYqQYXZ56RZqZNYDLB7YxWD08JH/+YFtGY9h77wIInlIOGbq9h6O+g8MohUbyIDKo1AZiNCvVhl8jNnKCdz7FxeRDS1yxcFtUAlU0TICwhqAZ3FCC0JWSdQKpXRjlr4YPoq577yNLbhTrR6HfVqjUg4SWQ6yr7RCXw+H4PHJph++87d1uW7uqu/bfn9fp7/0pO88Cev8ercJkPOY2icFepbBWZL32ef6UlMBgtm0Q1AQ66hUgkYZTcadGTYQoMBGQkXY5RJYcOvvMG2kz0yLeWNrH1KkGkC7fONiyEmeI4lfkSadarkyBNU/uxNwtygn4eUYUhHnSIqVPRwmiJRkqwwxtPocZBgER8nCHCFMLeIMEWLKk5GMOAiyzbL/BAfxxnkYeqUSLGKFj393K/A2d6nRQMBgRGe4DC/hg4rLaqkWEWPAw2GP0fVbRDmFqu8QoMqGgwkWeI0/5RezhNjFgAbvUoqSVIGMz8OBrDhJ8Mmu1xnkufwMAHIJFkhxhwyEnpsRJihQYl+7sfNGFu8R5Q5ikTwc5ZezirbnhoeJrHSQ5MqCZZwM8oQj2GmiwYlZCR0WAHo5gRFIpSI0aJBiBss82MybOBmEjt9rPEGBULosGGhkw4O7L3mLAEalIlyRyHuHqCXM1jpIc4iNnowqbxkWhtsBpYp6Ks47eMYRAv1ZhV9eoPv/H9/wLHjRzl9+vRP9Vk/fvw4DoeDr/72v6QSLjF3bY261MAz2UfPiTGquTI7lxepZgsYPTaa9SYWn4tWvcnGhWkErXovDVQvVnGN+Og6NkKzWmX+e5dplGqUEnmGHzmC0WOlUa4x+Zlz1ItV5l/4gFq+gmvUh83vxjHazcYbUwiiBo1Bx/obU+jtRsafOUMumGD9rVu4x3opJXPY/B72/fI9XPxf/hv1YoXo7Ab1Ug2Xz4W9r4PApUVajRaFUApJknBP9KLWqGnV0ngP9GPpcpDbTZLdjlOMpKnly0iNNnitWW8ityRq+RIGp5muo0O06i2atQalRB6NTkTvNDP48CHSGxEyG1Hs/g4K4RSlRJ7AtWUaxRqZzShLP75K75kJ0htR+s5NIOq1qLUima0otXwJe7+XZqVOvVCh58w4M1+7QL1QIR9NUwpnUKnVFHZTlFI51t6YIjqzidZixH9unNGnTmL3ewheXebG771Gz8kxGoUKzVqT7FaMRqVGLV/B5vegt5txj/ey/cE8EiqSy0FcY90YnBZEgxa1qGn//aKZdldTOkUoGUZj0TNycj+ens69Z8bT7SW0HmBhdQmTyYTZYaVxt3X5ru7qk9Hx48fp6Ojg6pVrTF95m4wrR9m1TDOnp2U9jaHYQVNqpx5EQQ+wtwnJEkCDSIRpOjgEsBfnbbcC1wE1UabxMEmTMlXyNChRJIpEEwtdDPIQC3yfDBsEuIwOGxm2sNCDl4N7hNkmVUokcTHMQb7AFH9InSJ93EOCRfLsYqWXFCt4OUiZBNu8t9dE7GaCI3wJAQ0ZNpCRaFBEjRYfx6mQJsI0vZzBxRhZthQU/xw7fMgkn8HPecLcUgyvGmz0IQN5Avg5T4BLzPB1vBykRk6BvZmokCXMDfLscphfQ4sJGejiKGu8gRo9FrpRoyHGLBtcoEaOEnEkWozwhHJGslOjyBX+vdKLdJswtzHiRI9zL4Y8xqepkKJJjSYVKqRoUUeHFREDLWqoEPByiDt8kwxbpNnASg96nFRIUyFNNycx4KCbE3sJoyDXABkDDkZ5Cgf9lIgTZ4Fp/gwDdmpk6eQQsiyDLBNvrdBlGqXTNrD37I2pz7Gbucx3/vhlfD7fT3297vV6GZ4cZd9nz6MCXn7hRxSrJYLv3iEVjOEe9dF/bh8as57o3BaFaBq1TkMlW6SaKWLr68DS5URrMVCIZMhuRdm9vkJsZpPuk6N0nxihmivRqjZQCar2aWUryrEvP0E+nEKqNel/YD/VdJFyLIvWpOOef/VLpNbCfPA732bt9ZtUMiUc/R107O9j6YdX6D0z0YbRHR8hH0xidFvpOTWGSlBhdFkYfeoZatkyWx/MUYplMXlspJZ3yYdT+M9OIrVaAFh8DsJTazgGu3AN+8gFE+xeX8HksbWLHB8+jAoVcqtFJVPE1GGnUa2jypVpVRv4jg0RurWOe7KH6a+/i9aoQ1AJjHzqOJmtKPG5HYqRDOVUgd4zY+R3k9QKFZqVOs7hdhoKoJYrY7CZEHQihVCKW7//BkanBXOng8jtdVJrYbI7cfKhFAMP+jj25ccxex0gy3QdGcI51IVGr22nrco1pJaMvc+Da7gLo9tKo1JHarbQmvSsvnyNYjzL0CNH2vRfgw5BI1BJF6gVKxR2EuhdFipSHaPRSDVf/skHRqWie9jPWqbA7u4uqkLjbuvyXd3VJym/34/f7+e5z7TZAvPz8/zuv/9T5m5/H22jE2d1P72NY+QaYQrqADXyjPFpPPI4q/IbbPMBWszY6CPNpuJdKCIgkmWLJCuM8hQlkm2cNy4AqmRRIWDAzj4+ixYjEpJSEqiimxMYlEhunAWSLNGigYkO8oSw0kOMWQVCp8HOIGVSqNGTYo1DfBEvB2lQ4jr/lREew6i8odcpokGPBv0eCVaHhTy77ON5WtTIsEmFDAEu4WKMA3weNRo0aImzhIdxwtyii2Os87rSgHyWFKuoENBipkGFLAGCXKFIhE4O4WECNTpkJCz49lD/WoyoELDQjZ0B9vPL3OG/KZuVMnoc7PAhW7yLl0MM8SgO+qlTZIv3yRHAgBMzXvRY8XKQMDdJskI3dgw40aBXQHUaZCSMuKmRx8EgAzxAB/v3Nict6vRzHwA+jjPAQ5jwkmYDLwdwMISIfs/cbKOPVV5hgwtM8hml62iLIjFsYieWlh9JaiEIbeNipZWly9WHKung6pVrP/VhRafTIQoaqsUyk6cP85DqKRZXFln5YBr/+X04RruweB00anW6j4/QqNTJbEbZ/mie4JUlEku75Lbj9JwZp7CbInRjhexOnGO//hgdB/ooxbMEry1j6/OQCyQI31zF3udl+PGjRKc3WPrRVbYuzjHyxDGOffkx3vt/fIulH1xh8pfO493fz+DDh1l/exr/+Un0DhMavYily4HOYmDo0aPc/P3XSa6EOPJrjyCoVWy9P0dqNYxnohetSc/2xVlu/9Fb2BUvSz6UpBjJYOywkVoN0yjV8J0YQTRo0ZoNCBoN2+/fweCw0H1yFO/BfirZIomFINmtGOZOO+VkDoPTgq3HQ2Rmk7nvfEQhlOTEVz6F98AA+VASg2MYjVakmi8Tm98hMrNJo1zDMdiJucsJKmiWaxhcFlqNJuHbGxTCKQS1muRSEGuvh3q5htyScAx6cY33UAin8Ez2UQilkCUJUFFOFpCa7eHLPdZDvVglsxlFY9TRqNQpJfMUQimKkTRSq8Xaa7foPDRAq9miWatDQUWjXKNWKBO4vATpCp6JXiLz2wyODrI7s87w2QM/gXJApcLucxNZj1Kei3LqbuvyXd3VJ6+PqY2nT5/G9598vPLyq7z04uvM3LnKRuMNutx+jnYcY2VlmURhjkOqL2BuuZmWvsU838FEF3b8OBhGg54ki5RJ06JJiSQ9WPbirTUKqNFSI48KDRoMWOimj/uY5RuUiDDEI8RYYJv30OOgl3PKSUVDlBnSTFElS47A3tagQQkHA6RYIcEiHexXNjxgwIWAhjQb1CjsNRwHuLS3GaiRJ8oMFnxY8e/15/RyFpBoUUdAgxoNehwYcCndxEdY4w3GeIY064qh+M02GI0mBhz08yAatDQoIyPt9SCJGNBi/onTmQoQ0eNiFAmJGnnm+PZeb5Cd/j06bY0iJrxEmCLGHHoclEmix44W6x5C34pPiVFDgyoyshKfrnCWf4kaEQNOJBq4GKVMgi3e3YsoV8mQZp1uTtLFMUpEqZEnzTpNqkg06eCAcqJbVgzHN2hpyuwzfwpR0NCSWwiokWWZQGWKocEJvHY/01fe5rnPNH6qbwSiKHJ4/AC3ppaYOHWI3p4eXvzf/4yKqsHosf24hn0YXVYK0QzpzQjNSh2zz4m1x4VGK6IW1cx84yKrr91ENOuxdDqx9XlILAUJXF0iH0pRSebxHR1CZzcRXwi2yxFlsHa7MXfYic5uojXp8Ez0orcZufOt90mthUGW2floEVmSsfa6sXQ5EY06atkS9VIVnVlP97Fh7nz7fcqJHJ2HB5j4hbNsfzDH/Pc+QiUINGtNtj+cxx6Io7eZSG9EEA1aypcWyO+mcI91Y3SaEU16CuEUvmPDAOR3E+isRsxeB0aXFVGvIza3RTGeRWcx0Kw1iS1sE7y0RCVXZOD+g0w8d5ZGsUohnCK3m8TksWLuclDNFSnFs7jHezA4zBgcZuqFCqhAlmXUOpHg5UXS6xGMHhujTxxj4rlzCGqBWq5EfjdFZGYDjUGL90A/rUZzj9QLYPG5yGzF6Do2BLIMKmjVGhRLVUrxHKV4lsjsFt4DA3gP9bP+xhRTf/gWvWfG8Ez00mq0CF1fIbUa5onf/EXmLt2mHM3y7G8+y833LjP35jUOPH76JwYWUadl7fo8XQUjZ56527p8Vz9H+lmlI/751+X3+/mtf/wVfuMffpmPPvqIH33jbdQZH6PukzhMHbxx9TtkKjuMiI8y2LwfQRKJMkOMGURMqNFhx88IT5BmlR3ex6UYMyUkGpQpEVMKA/exzA+x00cPJ4kxxzJb7TQJAfyco4/7aFFHiwkTHjo5wgIvcIdvEuASZjopESfFOk4G0aBjl2tUSOHjOA2lLLFOkSpZrHQjYmSHD8kRwEYfPo5SJoUOGyY8lP5/7P13lCT3ed8Lf6o65zjdk3PcnBMWwCIvMkgwSaQkWCQlW5J9LR29ryxZltO51ntlyT4+skRLMsVwJYqZFDKWuwB2F5vj7OScerqnc84V3j+qdwyQAAnJIgFTeM6Zszvdv66q7q7u+s7zfAMxdBgwYG0kHgsNf5UKQgOuaFb6BvRYkahSIIwFL13cSZ0yEiUCbMNJGzaaCXOVFAs4aENFIcx1/AxjwU2UMWqUSLPU4Np4GvLkAN3cyzU+h4vOhkw8RJEENQqbQG2QxykSo0AEHZ2ASoXUJnhTkHDSjkyVIjGyhFjjPG0cahjzFTHhREHCRTttjfciyxrtHKZMmjSL9HBvY7RlQKbekG53NdRWbkBlkm+RZoE4kxyx/RJB/TBpcQGdoAGVsdTLSLYEWzoep1ovU68qPxEuwJFDh7n2hZtcfvkMbQPdJFYijHzyTnwDbThavAiCgM6kR2820ryrB1VSyK3EWD4zTueRLVg9dnLrSZp39mB224hNruJo9eIbaMXb24zF5yS7EqOSK1FO5SlnipSSOaSqRL1SZ9vH7qRWqDD74lXq5RqegVamn7uM1WvXOgt9LSh1GbPLhj3oYen0ON6BVgxWE9337mD9ypxmcDcdQtDpsDW56DgygsXrQCpVkep1Nq4vsnpeSx23+V3YmpwEd3Tj7WumZU8/RruZ2Reu4Gz14mg9wIX/+l3WLkzTdmCQeqlKrVBBVVRK8SylWIZcKMHaG1PorAZsRjeONh/xiTXMbhsGmxmdUYfJaUOq1Og8vIXFUzdJzoaxeh1UMkWcHU3o9CLZtQTLr90iOrZMy54+Bh7aw8atZaK3ljDZLVQyRSq5Ism5sGabUKwSGOnA2eZDrsmY3TaatnZy84uniN5axt7iQSrXyIdT1AoVjE4LlWyJ4kaabR85ypaGdPm5f/rfufmlU7g6A5gcFnR6Hd72IOFbi6y8Pkbfvi3suGMPFquZMy+cIrkYoXPvIFaPg1I6z/j3LpO4vMiv/+v/+32nBIIPwMoH9WOo1dVVLp4/z/T58yiVCqLZzPCRIxw6cuQ9/RB8f+qywSyy68jwpnHXvffeS39//yavRd+nsN3Uytitq0xko5TkMioCfTxIgQ1CXKZMCh0Gxvk6MnXqlIlwA4kaFVIYsSNRadiy36JEkkEObZqptbCHda7Qwz1s55OI6KiRp0SSMin0WHHSgZcB6hRp5yCrvEGeEAB2mht8kjqLnCLDMvOcYC+fxU03BixsMEqOMIM8Rj+PsMF1MqySYYlO7sCClyi3qFMmzULDx0UmzSL6hl+JtWHjX6OAikyWNQREahTx0s88LzVcbUdw04VMlSi3WOcKOVbJskYr+xqZRCtUSFEiwS6eoUCMKnk2uI4ROwoyFvykmUNGaqRHD2GnGWPD/K2dg0zxHRy0kWKBCnniTGHG0+hCrWx60US4To0CbexvADARifKbRlhFguxglTcAENABaiNNWUtnNmAlySwVMgTYRp0KUmOE5jG30CHtY7r0ClU5T3dgC0uFK6yWryHZEty151GCrk4mQxcxWMWfCBfgzcqg1//mRQSTnratfSApVDIFdEYDxVgWk8NC254BsqtxXF0BTE4r/Q/vRapLDD91mMxqnOXTY3TeuRVvIyvI09+C3qhHf+8O1s5PkZqPEDo/jaCCzmygnM5jC7pp2e3D3dWEXJPY8cljiDqRSrpIIZqmlMgy/d2LWJtcGB0WErMh1i5M031sO1aPnfZDQ6QWInQcHiYXSlLJlhBEgXIih7e/Bd9QG+VEHluLh/RChC1PH8HktJGejyDXJMqJHBujiwDYgm5QVJztfjKrMW5+6STuniB6kxFnux//cAdyrc7iqVGKiRzDjx8muxajaaSDerGCLeBCbzQg6nSY7GaMVhPODj9yvc7kN89vJjNnVuPUciXWLs2QXY3RdWwb5USe1n0DlDNFMktROg4PY/E7mH3+ConpEL6hdnKhBIOP7aeaLaIzqli8dkwOCwPH9zL93CUtefrICM5OP5Hri6xfnkVn0tM00kFsfAVXZxOJmRBWnxP/YDvlWJbCegq5JmEqQO+BI2z4g9hEE4IoMrRvOw6Pi7FzV1l86TqKADpBRFrN8ImHP/xjJ4H/fesDsPJB/YPWlStXePEv/xJ/NMqDXi8es5l0qcS1r3+dL5w+zaOf/vR74o74dqnLhVL6B4y7vp/XYjKZGB0d5U/+4PO88uwb9MlPYMJBlFsMcJwk8yjUUFCxY6afR4hyA5kaBiw4aCXDCjG+gopCN8cw46bcSGJWUamSxUNvI8Mn1fAYqVOnRJUlSiRoYQ+LnOQ6n0dFZj+/yhwvkieMHhN7+WUAcqwxywskmCLANiSqrPIGbjpp4xA5VlFRGOFJbvBFQpxngMfJsIIRO2Gu4aGfEjHSLAE0cob6STLPEq/hpJMmtlIguum7ImJgkVOo0EiV9lIiwQzPUSCKn2HCXEFBIsotVBSGeAoFiTxhSsRoYgtbeJoKabz0QMOELk+YaqNLBGz6m1TJs8pZcqzjpZ9ZnsOArWE252kAlaskmKKV/ajI6LFhxkWZFAoSWdaw4MVFJwZsCIiYcaPHTJk0NvwICNhpxoCVAhHWudLwzpmlKqbR0YVH10OhmuCq7i+R9PfgN7TQ1zvMlo7HCbo6UVWVhdQ1Dtw//BPrMt5WBv3mv/ktjCYjubU4vsE2xLqKx+8iWljCN9ym5dt47QiCSCmZ5+aXvoenr43+43uZ+OYbdN+9nf2/8giFSJr0UpRyMt8I8RMI7uzB1RUgfG2Opm2d6Cp6qhltzOFs9WGwmjBYTZSTeXZ96h4u/fFz+Adb6bl3FwsnrnPrr16j686tdN29g9D5STIrMdoODCJLEtHRJQwWI64uLYunnMpjb/Hg6g6w8MoNErPrdBwaJrsURZEUnG0+lLpMaj5MIZZBqcsYbRYEQaCSL2HzO/EOtDL+tTO07O6j/dAwJoeFWqFM6PIsUqlG7/07Sc6FGuRVE7oGQRZBwN7iRa7UsDdrbtj2gAdvXzMmu5XEdEhLeVbB3eHHZDfTuqefyW+dIzWndV9W3pig7eAgs9+5QHI6hNllRxAgsxJl7sUrBHf0YPU7EfU6pEqd1gODLL46ytr5KYx2C4npEMVomuR8hLt+66NItTrTf3uR8a+dYf3KHPVyjeYtnbi7gxgdVvIzG+y96yD1SpW+1i6Euo4TX/4OBrOJxZl5ZEVBQKWrpxtFkmnByeOP/XiSwf8h6gOw8kH9b9ftsUo0GuXFv/xLDuRyHN/+VgLXwbY2Xp6f54XPf/4n7o74jqnLwEjbQS7Pv/wW4643j4kAisUi4XAUfc2Bj36yrOGln2GeJEeIRU5hwcsyp6mRpY1D5FlnlhfY4CZVchiwcRe/ixUvEW4S5gob3ERBRkRPjhDLnMGKDzMuBCDLGmXSiBhQqFEigR4LFny46GAvv8xr/BvyhHHSQRd3YcKJnWZmeZE4U7hoJ80yQzxGijmKxHDQgp0WguxgnWukWW7Y15tJMsMCL9PENoLspMAG4caaMFdZ4TRWmtBjxoidEgmyLAPQzB4yLHOTL1EihQkbTtqxE6RInHleoUAUAzb2808x4yLLClWyCOhpZjsGbJjxYMWPBQ9FohixkWOdGkXstGDASpaVRlK1GQ+91MhTb1jtx5kiywpl0vgZRkbCThAv/eQIocPY8LrRxm1+RigQQYA3cVmGCHGRDg43OECGRhxAmipZ7DSTZJphnqBd2c+achFVlNErZmwWJ0e2P8iWdu0vVFVVuTz/MmIwweEjP9mLQTAYpHewnxZnP/m1HL0PHSUSi1LOakZmOoMeVFAkmfj0GtYmF6vnpimntQDCxHSILR8+TD6Sxmg10byrh2q2RGY5RjmVx+K103lkmORcmPTCBq37+7E2Odm4sUDTSDuCXoe1yUn4+jyH/q8niIwuMf2d83QcrrLlI3cw+v++it5ipOuOLXQcGSFyc5Hzf/Qd6qUKSl1m7eIMpWQeR5sPUSeSXU0QvjZPJVNk+IlD+IfbSM6tE746R+eREWwBN4npNaRKHUEUtS5LusDKGxM0be1CqUu07R/E29fC7HOXMdjNiDoRW9DNrl+4D4vPwbU/f5nkfJiNm0sMPLKP+NQaqCqlZB5BFLRkY1EgdHkG72AbQ4/sx+y1a6+nyUBqPsL4198gOacZ2qlAOVMkt57ixhdfpZzI0vfQHlRVZeW1MQBWz02yMbpE913bcLY3kQsnWDk9TuTmInt+8QEGHtlPvVghPrnG+N+cRs3XKCbSpGbD5FbiGPR6/DvbcLb6qKTy6OoqO568g7nlBYqzMX7pY8+gqip/8Y0vYRsMMHBsF86Al1wsxY3Xb26ueT+Of27XB2Dlg/p71/ePe+ZXVzGlUjxz5MhbmeaAIAgc7+9ncWyMi+fP/0Q/FO+Uunz7uA70H+f5sUWee/Z5fH4/N89Pk05kiaei5EsZ4qsFrNGtNAlubKqfDW4yzJN46MGAjTLJTYOzFc7Sx4P4GKBEAhE9w3yIab5NgmlUFFY4ixUv2/gYVfKEuUaVLCUSANQpN4ijLvo5jhk3i5zESx/38B/Z4AbzvMI2Ps4OPslZfp9b/DUhLuCmBz1mmhhhncsschIRHTJ17DRjw0+OdXKEcNHRcLodY56XKZHASz9RxgGBJkaokkdFZpU3yLFGN/dQIc0Cr2DAhgk7eaJs4Wls+FnidRTqbOOj9PMoZhwICGQJscEoK5wlwRRxJsmySp51DNjp4BAgkGEJAYEwVxnmw4gUUJCx4qdChgTT6DAyw3NUSHMX/wY/w8zyLBGuN8CcFzvNlIgTZBdVCihI2AhQJN4gDhsBhRIpEkyzyjncdGPCTokUTtqY5JuI6NjJM8iUGwRmFRedlIhTE4qMGB/Bo++ky7Sb6epLXK9/iWJE5LlzX6Z6oIzJYGEhdQ0xmODjn370J34xuK0M8vS2MjU6ztzpUbrv2Eo8EUeq1qnmyxgdZaaeu0R0bKlBkN1Kzz070FuMVLNF9GYT6cUNmobacXX4cbb5sQXchK/N4+kJYHbb0Zv0mlV8PIe7J0BqLszqG5NYm1xYPHYS0RCLJ0cZOL6H/HpCAxd3bkFnMlAvVph57hKCToeqQvvhYRzNHry9zSTnwsw8d5n5V64hGgy42ny4ugIEt3ehNxtITK1hb/aQXtxg6dVbuLoDmBxWmkY6UBWFYiLH0qujJOfCuDsDRMdX6H9gN00jHZhcVtzdQe07QVXRmw0odZnWff2kFjfIrMRYOz+FwWpCEAX8Q21kVxNUckVS8xGyKzF8A+3Uy1XMig2Dw4IgilRyJfLrCcqZAp2Hhui6cytT37lIvVhGshnxDrSQX09SyRTRGfWsnZ+i/cgWcqEEY189gyAK5CNpRIPIzk/dQ9u+AURBwGqxYqgLNPub6Qy2E0rVaLb7GOkYYHJlBnNVjzmr4gu20jzShbfZT/ChALHpNc6du4ig03HvM08SGO4gmowhVyQ8LjeP/+LHiE2vMTYxxerq6vsWsHwAVj6ov1d9/7jHaTTy+toayWKRL77xBo/u2cO+1ta3PEYQBPZ6vZw4f57600//RNrh75S6/P3HpZctfPXPvsP+vgdxqbvILGRwFOqECicQi05aagcoKolGGKERA/bNC2AbBzHjI8UiBSIU2MBNN1v4CJN8kzwh+nmEG3yeAhsM8SQdHKZMkgTTiOjJE6GP4zQxQpZlTDjxM4QBCwoKKRZw0UmBML08QIp5VjlHC3tw0IoZN0WSRLiJnWYCbKWVfbSwh5mGhb+X3k1iaY1SI0PHSjO7sNNCkQQH+bUGGPkeV/gcdppx0IoRK53cSRv7sdLEBjdY5CTb+ARzvICbLjz0ssTrm/LuMjEkCtSpkGONKhnaOUiRDZY5jQ4THRxkN7/YCE2UcNOLgI4x/po1ztPMDnKEsNHU6KAUmeMFUswzyBPYaCLNAha8+BhCQGSEJymT4Sr/AwGRnfwsEa6zxGs4aGsEHlbxNDot43yVDUbp40GWeJU0S0QZJ8saJhzc4sv4GQagRIKNxphvyHCcFtsgblsAQRAZ0t9HuHKZYKebaCrPqdCfsm3rdg7cP8zhI4+/JxeBTWXQ+jR3PnIvZ198leRihOZt3Qh5icXv3aCYzhMZXcRotzD06H6MDguurgC2oJvl18ewt3hwtnrJrMUxezXli1SuAirldJHlM+PkI2lsTS5ykSTlVA7RqGfyW+cxuaz0P7SHtv2DTH33AnqDHkeHn3wkTTlV0NQ/+4do3dePKisgCuTDSTKLUWKTa8TGlmna0kHX3VuJT63Rtm8QX38L1XwFo92iGcK1+dGbTSycuonZqWX11IoVCpEUkRuLbNxaJrBF46WUkzkteTlX1Nyq6xI6vR4EKEQzmOwW9CYjgigS2NrJ7ItXEUSBnnt3ap4s5Qq3/up1aoUyTdu60VsMJGbXqRWruDubqFfrTH7zHLlwkr4HduPpa6VWrJBZ2qBeqmHxOLAH3LTuG8DosFKMpll6/RblRJZKpoigE3B1aP4zbfsHad3bh1KVECoKBtFAZTXDkWN3cNc99/LsZJRf/8yvIep1+Da6eOCfPIXRbEIURSRZRq/TIep0qFu38l9eegNbwM3Hn9b+YNsiyz+w5oXoV9+XNvu36wOw8kH9yPp+Vc/q6uoPjHtqtRoxs5mtVitXKxVeuH6dgM1Gp8v1lm15zGaUavUn5o74TqnLb65odpWphTFaK0c51PpxRi9P0i6MEOzoIrWwSi1nRlS1JOVxvk6FDDIVQEChhgErZpwYseOglRwhJvkmHRwmwDbmeBE9ZqrkG2Zkbta5DCiIGJGpUWCDNIsE2EKJFD4GNfMqYJlXKRGni7vJEsJKAB9DzPMSNQqb+TkaIOlnF8/Qwm5q5HDSQZUcSeZpYS86TNhpJsEMBmwNCTENsu+uxhjKiRk3PdzHDj6JiJ4sK0S4AaiYsNHOQXKEyBOmjQMkmaGVAxiw0MWdCAiNfVgBgQpp9A3xcz/HucVfNcBJD9FG1pGXfqz4sZLATRdxxik17O0rZFCQSTFPmgVsNBFgKxkWsdOCkw6aGCbOZCNReoYqOXbzDF4GsNLEZf64sW4LElUSTJFmkRQLyFSY4tvUyGPEjhkPXdzJHj7DBjdZ5BQp5nHQiodudok/h0/fSaWaBps26slJEYY8R6mI8xw/+lHWrN/j9/5/v4nVav2xn+c/rG4rg7KJNI8/81GmLo2ycHqSQjbP6uQ8oteM2WHFN9BKz7EdJGfDFDfSmJ1WHG0+omPLtB0YpJorkQslMTksxKfWNKmx00ohnKR5RzfNu3tJTIXIrsbxDrTStK2LyLV5Jr55jqbhdnLrSTLLGsk0uxojsxTF2eEnOrZE++Eh0Ink1pPIVQlRr2Pl5A167tmBqzOAzqjH7LJTiKToe3A3pUSOQiSNpyeIvdmNxWOj++5tTH3nAsm5dTKrcVRZwWAz0//ALvLRNOvXNFdcqVJFVaGWL5NejBLY2okgitSzRSrZIqmFCNVsAavficFqIrMcZeX0GKGL00ilKoV4lpbdfTTv6MbX36IpfUYXSS9GSM6GScyE6HtwL513jOBo87L2xjSlRBaz20b/8X207R9A1InYWzzExlfRWzRwtHjyJuVskeDObpp39ZKaDZOcXsfV7MVm85AYXcZQlBk5uJOr3zuHMSNx8LGD/MVff4GBB3dgddg333NjI5wQQJYkZKOIpcODqigIDYDy5jWCILxvbfZv1wdg5YN6x3onVU8ikcAfjb6Fl6LT6RD0eqr1Ose9XhZjMS6urf0AWElXKohW6/+2IuLdyqLfLnX5+2ty9SK6gpf+wEE2NqKoRSttgX4ipWkipTn8ym7qapkCMZoYYZYXmeLbOOmgQpplTrPecG293dVIMMM1/qKhmClRo4iAwAhPUiGzqeyx4GOF06goRLhKkSg6DBixkWaBCNeokGOAR7ETJMoYJeIo1CgQJ88GAbZTp4RCvWH6pilctIt8mlb2kWCaNc7RzT3oMCEgYiNIglkyLCNRpo19jdRiHVlW6eEezDiRqaPHhIqMiKFhsuajizsbxmgfbQQGvoyhIbn20kcBx2Yw4G3fljoFJCqbRnXacTRRo0im0ZmqU6aNA4gYWeQEIS5hpwULHlrZxwH+OfO8SI08HnqQqGCnBQdtrHERC03kGo6+JtyoQI08JjykWGCZMxixIVHGSTu93E8nd1ClwDX+Ah16VGRa2YcRK10cpVnYznn1v9LNXbQIu/CKPYiioPE9VIVEZQnFWKLFOci8NIvV5ABFj6Io/1vn+T9EvVkZFF8M07t3hK4t/WRiKYyyjmvnLoHDyMhjBxElFavDytrNMLIs03lkCxPfeoPl127hH24nuxKjXixTiGbwDbYSublIPpph8JH9dBwehqdg9Y1Jpp+9RCVTZOixA2RWohjtZs2Gv70Ja5MTT18LsbEV7EEX4WvzmL92lraDQxhtJvyDbSycvIG3vxVXZ1Mjq8eLq9PPxugiC69cp/ueHdSLVdLLUby9zeiMevLLKUSDnh0/cze+wXYsPocGsNY0pdPq+UniU2tMffciXXdtRZUV1GKVSraIyWlFbzYgGnQkZ0K0HRxCEARc7T76H9xNYHu3Zu8vKWRXokx+8xwTXztLz307MFjNyLLCzPNXqBcr9D+0B5vfydhXT5Oai4CgOdrqjAbszW4USUYq11BlFalc07KYOjxYfA7q5SqL37tJ5NoCZrcdb7OPwnKcicWzWKoiO/bt4urzZxASFT7+6NMEg0HqioTd43zH979eraEz6THaLUiy/BaQ8uZ6v9rs3673DKwsLy/zH//jf+TVV19lY2OD1tZWPvWpT/Gv//W/xmg0vleH9UE16p1UPZe/+lVeXljgn/X2vmWsotPp8La1sTYxQYvdzl6LhRNra9RHRjA0PhyqqnItlWL4/vvf8cPwo0DI31UW/Xapy28uSa6zEJrCSTvBdh+x9RQeSx9L+atcizxHtVrFgo8Au1Abpmd1yqxwlvP8IRI1bPjp5YFNBdBt8zA9Fmw04WcEEw4WOYmTTsw4ARUdRkw4MOMBVNo5TJUcE3yTOFNY8DVykp/EzzAZltFjahBP44CCBTd7+Cwv8xv0cj9ZlsmwigknVnxIVDHjpp/jTPJNkswSZCdV8qRZZoFXyLDMdj6JnRZUZGrkkaliapjbSVSRkQABDz3oMKDD2PBkUXEQpJcHmOAbFImSYxsOWhvdEIkaBVrYiwELUW5BQ12jw0yMcdo5hBkPKgoFIg3/k05EDJhw0csDuOggyA489AAqzexinlcIspMaBVy0k8RDjTy3+CIZVgiygyv8KToMbHCLInF06GhlD83sQkHCQw9xprjC5/AzjJ9BZnmeLo5haSiK2u1bSUhzSLUCBSKU1A7yQgSDbKBInEopimos09kySFZdRacXqUolDPafjEz53dRm3MTFC9w4cYu6ImEQ9Tx14AHEdI2x8BylRI7Y+CqqomCymilGMzhafbQfGGT59THCV+fRmfSoqorBbGTj1hK5tQRdd26l48gwRpsZQRAYefoI5XSB8LV5irEMQ48dYOaFy6QXNug4PELo0gwWj52uu7bi7W1BVRRCl2eJ3FggsLUTqVZn+fQ4zbt6yYWSuDr8+IfaKCVytO0bYO7layRm1rW11TrZlRjzJ65Ty5dxdwUw2CyIBl0DbPixBVzk11NU8yXWr8wTn1zF3uKh996dpBc2SM1HMNrNWDwOErPrbNxaxtXhJ7MYpefeHRqokWT0NjOuTjf+oVaquRKX//QFqsUyOqMBpS5RSubpvns7sfFV8uEkznY//ffvwt3XTPTWErV8haVTt+g+tg13V4DI9Xmq+TLth4apZApYvQ6WXh1FkRSK8SzlRI6RvTsQBYGN+TU6WzsQ1orsH97O4ccPb4oBDKKeQjr3ju+9wWRErkrUCmX07wBUAArp3PvSZv92vWdgZXp6GkVR+LM/+zP6+/sZHx/ns5/9LMVikT/8wz98rw7rg4K3HfPcrq1NTdwcHye9sEC2txeXy0U2myW0tkZkcZFEKkUskUB0ucjabFRlGYNOM8h6eX6eRDDI40eOvO0+vx+E9B84wO69e+nv78dgMPy9ZdHfn7r85udTkypEkisM2HtoaWlmYyVJUU5wI/4i7cphfLatbOQWMMmOhm18WyO3JssaF+jlAdo5hAELBaKoyPTyIDJ14kywh8/QyVGqZIkzgY9+HLSwwhuUSOCglQBbWeY0edYZ4SOUSaMgsZdfAmSqDcfXPBH0mMgRZopvU2ADPWau8KfUyGLFg4pEnjUCbEVzDDFSJomdIEM8zhwvcZ3PU6eIRJUUCxiwNFQ5eQRAooaK2hh31ZGpk2d907peRfO4rZBGQIcOM00M08t9TPNdFjmJgJ4KGbq4Ey8DmwGNFryscZEKGQxYSDDJLC/SyREctKKiUCKOBR9LnKJIlEEeRWn40qh0IyI2AB7oMCCgQ0UgxTwmXLjpJcsqRhzM8xJm3LjpwYSDAR6hm7vJsEyWNcx46OMB1rhAmGvYaaZGgQyL+BlghbOEqxdIiJPoLDKKUsSASFKepq6UMVn1dAeG8DuHsZmcjMW+Q2/PEMuZUQ48+JOTKb+b2pTl1z/8lj8IFFSWvvY/cfu8eLuDyKqCS4DsRhIVMLvt+AbbWDo9xsaNRfQWA76+VnxDbYx8+AhdR7egSApSta7xv8xGWvf0k5gOYfbYqVdq7Pr5+zj3B9+mnMrjH24ndHGa1n39uDr9GK1mjDYzG7eWmP7uRRRZJruWoOfeHegMegRRRGcy4O4OUIxnaT84RGo+wuyLV0gvRlFkmVq+TN+Dewhs60aRZfLhlNYtsRgx2MyacVuuiKvdhywplBI5Zl+4gt5sxOyxUUrkSS9EyEdSVDJFTA4LnUe3arb1uRKONh+2oBtVUSlE0pgcVoLbu9n5qXswOiwsfO8mM89dwt0dQKrUGHx0H51Ht1JJF0gvbuBs89N5dAvxiVXmXrpG24FB9GYDIGCym7EH3UjVOgsnb9Kypw+T2UTo9UkO3XeUB3/uSaYujbL00k1+7zd/5y1jxe93K347Xp5Or0dXUyivpRFE8W3PDVVVWbw2xf73oc3+7XrPwMrx48c5fvz45u+9vb3MzMzwuc997gOw8h7XxfPnf2DMc7vMej1dPh/1aJTQ2hqFQoG5GzewFotssViQAwFi0SjnNja4ZjLxzYkJ+n0+RjMZEsEgj37605sdkNtdlLGxMU58+cv4o1HudbtRKhWWZ2Y4/8ILfMVkom37dnbeeSdzFy/yoKr+nWXRb5e6bDd7KFTSzCYuU7Vs0NLrwev1IuoF5pIXMNf8DNuOk5HXWC+Psiy9Rpd6F7JQRq9akKkRZCdeBohyq5FHY6JEkio52jm0mYUjosOADStNhLnGIf4lcaYoEiNPGD/DrHGBDUYx4aKDwyzyPVY4TTsHkSiTI0SOEAZsbHCDBV7BTgtm3HgZpESi0YkJMMdLmLjAII/hpA2JKlVy6DA1fGnT6LFgwNLIvHEQ4gKjfIkd/DxGbHjoJcRlfAyTZoECG3jpJ08YD30oSKxxER+D6DBseqn4GSbEJZLMYKMZFRkTTqrkSDBLggkyLNLBESpkkagwxTeZ4bs0s4t2DpFqOMLmidDL/fgYosAGFdJkWMJNDzXyjVGSNp6a5tvEmMBOgE6OUKeIDiNuetjBJymRpE6BIZ5AQMBFJyBQIIydFvp4iBJx8oQR0G1KrfNsoBdUdvkfoV+3m+XSZXTWLJZcKyUk9vTfjdPq3XSrrdvi1GU7YstPXqb8but23MTtuuvonXztu98gdHEa50AAs8+B3eeiXquht5pABHdvEO9anORcGFuTk50/fw96kxHfYBtGuwVAI7CmCtTL1Ybjqx5bwEViKoSrw8+ezzzIzLOX8A21U07lqRXKSOU6OqMBR6sXq9+B0WlFZzBw6Y+f01x2jQbqlRr5cJJyqkA5mcfZ5qdpuJ3lMxNU8xW2PX2E/EaaSqaEaND4GKmFCHK1Dtu70VuM1MtVpr59AalSZ/c/uR9Fkrn0J8+Tmo/g7W9FkWQUWdL2V6420qg9ONv9SJU6qqygSFr4odFuIbW4gW+gDVdnAFvAxcKJG7ja/Vz9Hy/Sffd22g8PU4xlyEfSFGNZ9CYj1VyZwI5uwtcXSEyvcfCfP05yep3sWgJvfwvJmXWkSg1vTzPpiRDDR3cRDq0D4GryIhjEtx0rvtmt+MDxu97y3aiqKpdfPkOrswmhrvuha4REhcOPv/9s9m/X+4qzks1m8Xq9P3RNtUHOvF253Du3vz6ov3vV63Wmz5/nQa/3bVG6QadjoLWVmUiEltlZYgYD7bUa/YHA5nqXwcCzKyu4qlU+d+YMtuZmdj7wAB/7mZ9h3759b+mipBMJ5sfGOGw2Y/X7eXZ2lszGBnpFYZvTyXC5zOStW4xPTRHP5/Hff//fSxb9/anL9aqCwSpy+BPD9CceY/7kElWphLfFypm5MXYbfw5BEPDoO9np+BBn639GWlqkRd0DQJwpmtnTGFvI6DGjIiNTQ6aKnSCt7GWNC3RzDIkydoIscgoBER+DVIkS4hIuOujnODf4PKN8mRb2YMTOBF9jjXO46ERABATWucY6F7ERZJgnCbANYFMVs59fRUVhlhfIsEo7h3HTSZUck3yDEFdoZidt7KdMEhc9JJjAShMzPNsIKTyMisIGN6lTxk4zekwYsVMhS5YV0iyTZ502DhJnkhJJsqwQZRQTDsJcbSRIl7ETQKbOIicBoWFOt4aDNvbyS6ioRBkjwnWu83mKxPDQyzBPYSeIk3aq5MgTJsotMqyyzGuI6FjiNbKsUKOERAUfQ4iNUc9NvoyXflrYy1X+hH4eQUREooqA0EiarpIngptueriXs/w+KrCNj6OikmKWiHIJs9lMV18Qt7qDa3PfwmB1EzAMMpGQMBhMROuTFEyreP12pJbl90Sm/Petzs5OfvnnP8Nv/8G/Q3Ca2PmJuynUUtSyZZJzYaRqnY3xJVbOTtC6pw+DxYTeYkKn16Ez6lHqEipgsJmpl2rINYliLIMgigiiQGxiBf9IO1a/E3dPkPCVGaRyjcxKDJ3FgMVjR5FkqrkSVq8Ti8dO05YOVs9N0XvfTirZIpmVOBaPDf9IB6n5MPVKjUq6QMehQbru3oZUlbj++RPkIymMDgtGu4VyOk/4+jxGp5Xw5VmK8SwHfvVRXJ1NzJ+4jsVlx9vfitFuITq+hN3vwhpwgigSn1wlu5Zg8NEDlFN5omPLJKZDONp8hC7NUIxl6H9wD4JOYOb5y5TTBQ7+X0/w2u/9NQariY2bi0ilGma3DWvAhaPFg1yTsDW5aD80xOLJUaRyDbPHTmo+TCmd17xghtrJLEWhqtB/x3ZWT09Qr9Z+6IjmzZykFxqcJLvHSSGdY/HaFEKiwmc/+YsAP3TNxx99+n19zr5vwMrCwgJ//Md/zB/90R/90HW///u/z7//9//+J3RU//iqWq2iVCp4zOYfuG81m+Xi6ipXl5YYLxTIJBIcczrZ3d2NqqooikI+n+e7q6ukgN/q6uL1SgUpGMQXCnHiy19mdnaW5YsXN7so5zY2KMTjhCoVSjMz7BMEOnU6VKOR64UCCaMRu6piqdU4LIq8eOMGQbv9B4i770YW/XbutJFIhGeffZ6rCy8zNn4Tl8VHur5KRSmhmlQATIqbbZ4HiMuzTKW+haoKFIkjADYClEggU0WPCSt+auQblu0CFTKbSp8sa9gJkmSOOkVsBBDQscFN0ixRp0iJJFN8FxM2zHjJESHJHC46MWLDThNW/DhpYyufQKZKiTheBht+IWfp4AgRrhPmGmEuoyIgUaJMhq08zQCPUiKOGRc5QnRzN+0cIs0SG4wyxt+gAiXipJjDzxaCbGOdK9QobJJ8O7mDOOPkiZBllQIbNDFCLw9wjb9gjQuI6Btqpyg6jOzgUySZpo1DtLCHMgmq5GhhF07aiHCdZV4HVMokMGJjjQvUKW4GKi5xigjXUVGZ4xUseBvSbS1w0E4TdlqpksOCjwxLKMiYcVIhi0IdC16MOGhiKxvcIMFsIwIgiY9+zLiwCT70Foms5QaFrkuUuvNYTSI/+8Q9AExeW2J99RbJRApXu5Wezg7ufmgfhxvxDf8n1UMPPcQXv/Jllq8uczmWIzDSid5kILuRJLkaJTK5jMXrYO9nHiJybZ7E5BqBnd2oiopo0CNX60jlGqJBRzldZuPmAla/g0IkzcatJRRFoePwCCanhcC2bhZP3SQ2sYKn6xLDHz6MwWxEZzIAKooso8oKqYUIjhYvHUeGad7ZgyKrVDNFqoUy+VASVVUxOW1aPk+Ti47Dw0x95wKRqwsEtnfhH24nt5YgOR9GKtcYfHgftUKFm184STGRxeyxEZtaRZUV2vcN0LK7D6vfiVStM/3sJca/epbsapyee3agyAorZycoJXPIVYnuY9spJbKsnp+kVqjQcXgYd2cAV1cT9mYPjmYPiqJitJrJR1JYvA5i4yukFzawB9yASmY5hgoUE1k2bi1TCKewuB1UkgUOPHkMo8WEThTRGw0/ckTzTpykN/NbgHe15v1a/+Bg5d/9u3/3I8HElStX3sItCIfDHD9+nI9+9KN85jOf+aGP/e3f/m1+4zd+Y/P3XC5HR0fH/95Bf1CbZTKZEBtcEABZlpFlmevRKK+MjuIvFvmYxcKg08nzxSL1bJbliQk69HpU4GqpRMpg4Ge7uzni9yPmcpwol/nsli08Oz7OF//gD7i3rQ2/w8H3xsd5fXYWpVTiUVXlbkXBAgRdLjx6PYdMJl6uVHg2ryXh/HJ3N7li8W1VRvDuZdG32+BvtuB/oPefEVlIU8yVkZUxlmuXUSUBnV6HYizjt3UgpwTaHHfgsrt5eeMP0KkGDJjwqQMNDobmhppq5OuUSFAjT5oFQlyiiztp4yBJZpjjRcJcxYKPPGFyrNPGAXwMMcr/23BR7ceMGxEDTtppZR8WvJRI4qWPIht4GSDJLC46kKgwxle5xV/jZ4jt/AwCBvKsNfxh9NhpRUXGQy8WmpjhOfp5uCE3FnHRgREHZZIoyMSZYpFTrHMRY0MZVCWLikSBKHaacdJGkB1s4SPI1FjjHFVy2PDjoodmtrPGBVrZQ4EobrppZgdpFjBhx0MvBqzYCCJiIMcaeSJscIskc9hp2fScWeMCRTbYwocx4WaDUTa4joduhngMiRIyMjM8S50SZjwkmaNKbvN49Vg3U7FFdOgwbWYZgUo3d+HX9WPT+0jIY3T4B+nra+Jf/u6n8fl8m5yB22NMUdTa8++3wM6/S1WrVboGe7nj7sdIRmIsTM6hChVIFFk8NUrTrm5sARdKXcY31MbCyZvoZ42YnVZcnU2oioJSl0FVWXr1FrHJNVp297FxawkQyCxHiU+sIupF/MMd+AbaqGRLLL0+RjldoOuurZhcNuKTq6SXYuRCcVztfpZev0W9XEWuafb3kdEl1i9OI+p1tOzpQ28yUq/USMyEMDmsdBwZ4eaXThGfXsXW5MLT14Iqy6iyyuKro8i1Op6eZrru3sbE199AEET2/dPjdB/bjslp2XTm3ffLDxM6N0Xo6hzZ1TgIkF6K4upowh5wER3TwIWrs4k9n34Qg8WIIsvojXqquRJSVUJn1JMNJdAbNZdgR6uXfCRFLpSgmi9TiKbJrsZZeWOC3FoSg9XIyH376Do4jFyqs3x5it6hfq6fuvCuRjTvxEn6u655v9Y/OFj5tV/7NT7xiU/80DXd3d2b/w+Hw9xzzz0cPnyYP//zP/+R2zeZTO9btvJ7Xe9WzvvD1hkMBoaPHOHsF7+IPZ0mGQqxUSrxajTKMbOZp1paMJvNqMUidbebUrHI5WqVl+t1ugwGenU67jAYEFIpVoxGjIJAvV6npij0CQKWjQ2ul0qYzGZ21OssFgq0KgpHgTRgA2qFApFaDZ/dznGzmZu5HKdkmbwkva3K6Hb9XWTRb2fBn+3NsrYWonAjTDwSJiMs4XBZcDu95EvrOK1etnUewWAwcCItk5Zm6eQgiqLilXux4MeEE4nKZnJvE1sJcRkjDto4gICIl34CbMdGYDNxeIpvUW54kchU6eAIAzyCCQcVsmxwgym+TT8PYcaFmx7yhGliGzK1ze0mmCbIDtx0UyWLTAEzbvp4kBxrrHIGN90E2EaNIiJ6jFgxYCXIDpLM4aAFgBwhVCT6uL8x6rKgIJFjlRwhzLjw0IeTdoxYCXOFFAuAgINWBETCXCbDPBJV2thHghkGeJgMK7jpwscAKloHS4cRmSrd3LMJuFZ5gwzLm/JqJ20E2IoRJyoKwzyJBTcCOhw0oyDjZwsVUsSZQEDAiJUAW0mxQDuaBb6WL1SjQhqZ6iao8TFEt3AXTYZeymSIyVO0iR6unh/nD37vc9gc5reEX/6f8kX/o+q2063JYub+n32CY/U69WqNSqnMytwSPUe3Ebo2Sy6UoOPIMKJBz+wLWhhfbi2Bb7CNQiRN6MosqfkwjhYP2dUYpWiGO//VR/D1t7F2YZJiPEsxnsXic+Drb0VVFcLX58muxTFYTUiVOla/A0EnIlfqDD9xkEq2xMxzlyjGM2SW40g1iabBVtYuzmB2Wuk8ugVvXzNSuU5wWxddR7didFpYfWMSi9dOy54+lJqMyWnBO9CKyWHl1ldeJ72wQfexbYw8fQSpVEPU6bRuTChJenGD4O5eVFVBZzLi6W0mdGmGLU8dpvXAAMnZMOnFCDqTkXqpislppZzIIRr0xCZW6b5nB8VYlnIqT8+9OzBazZgcFmxBNytnJ8mtxZn4xhtkVxMEtrRz5F88ic5sxO33Uq1UGH/uHJmpMOnmCO1WP5/5xC+8687H93OS/r5r3m/1Dw5W/H4/fr//Xa1dX1/nnnvuYe/evXzhC19AfAem8gf1w+vdynnf7TqLzcbptTUMuRxP+/3MlUr012rcKctsrK6St9mI63RYSiUO1+s8o9fz57KMQZL4pN1O1WDghUKBv5qepm40sqbT8ZvPP094dZVsqcS+QoFWl4tULkddltkLDOh0RGSZKOCXJARFIVKtIjscDKsqJwWBaKVCwOlEkaRNlRFAXZapSBKXEwmGP/GJd/UhfDsLfpfLhcvlwtv6DM+e/QJKPMfOPfsZGBzg7KsXcNb6qEtVzoX+BpkaaXmWVfUi3RzDK/ZSVYpoab0Bpvlb4kywlU+wwl/Qwz3EGN9MKpYoY8GDm26M2Ojibi7x36iSo4M72Mtn8TNInQoyVdo5yCKnWOAEdUqoSA0J9WmKRNFjIdUAGgG2oSABYMWHg1YkKrRziJt8gVv8FQ6acdODiI4yKcqkGjLlCnnCiBjIskYnRzdBkJ/hxtoMWVaJcA0TroZ9/1rDwr8LAxZijOOgDRt+6lQoEiJHGFCpksNJK256GsoiCZkaCnV0mPDQiwkXRWKYcDYCD6vUKONnABA2lUUdHEJAYJ4TCOgoESXHGn6GaWYXa7zBEE/hZ4RlXmeJ1xjksYbqSeOriBiIMkqedR7W/RHN4jZqUpFx9ZtkxVU6s8M43SV2m3+WSqnwA+GXPw31/aoSvcGA3mBAqksYLSbat/dRShdIL0XZ/rE7sfvdeDoDTHzrHDe+dAqd0YDJbkZvNmK0W8gsRZHrMn0P7sbV4cdgM+IbaGPwsQMsvTrK8tkJDFYTlXSBo//fp6nmysTGVygmsqSXotgCbnyDrVibXNibPZSS+Ybfihtbk+YA6+pswmgzE7mxQHxylbZ9g5icVsxuK7VSlc47RkjMrqPKKh2HhrC3eCluZBj/6hlWzkxg8TvpvXcnpXgWVJVqTkVvMWILuKhkChSjGfQWEwvfu8k2vxNXu5+VsxPIskw5kUdn1MZfG6NLWNfiiCYD9VKVQjTN3ItXN8Mhk7Pr+AbaEA061s5NUU7m6H94L7lQitj4Ko4WH8VYFlEUycyGWbk4xcqZCcwGM2KmhqvnfcPWeE/rPXsVwuEwx44do7Ozkz/8wz8kHo9v3tfc3PxeHdaPvd5t9+Pd1ruV877bdaurq1x/8UUe6OggnUjwnUKBqVyOJw0GVJ2OpWKRUKVCxWhEX6tRBPKCgCzLvF6rMV6rEREEnKqKVVWplcsYgcVUihLQBuwF9MkkbapKkyDQoqrUZBkbkAJiqso2UaSuKOQKBfKAy+OhaLUylkoh+P2YdLpNDs1UKMRKMsmGxcJjicSPzLf4URb8rd4e7tn/BN89+5f87fVptiWOMDk3S6HyTeL1eRShisscRFbLzKkvIVGlouYw4aJKlgRTpFigTIpr/A8AvPRtuslWyaIgUSaFhx7qlBGAPBt46MNDL6AiUQFUDFiQqNLLfWRZJsYEIa7gRBt/3uazhLmCny04aKFAFBcduOnGgoc8GxiwMMCj3OKvmOTb7OTnsNNCnGma2EadImWSOGknxSxGbLRzhDgTGLChx4IRB3GmiTFOkjk2uIEGHkr46EeHvpHGnEKPmT4eYJinOMvvUyOHHjM1CthpoU4BLaqWhgV+HSteMixiwt5IpVZQGpk8rezGQy91SqxzpeEKnMOMa/N1UlHIsoKbbrq5l8v8MWEus5WP089x5niZIjE6OESZDAmmyBEmwwJG7BgFJyHlMtPKs6wLl9nivB+H08r2kXvoDWpk5rcLv/xpqLdTlVjsVlwuN6nlDTzdQdZvzjN/4gZ99+/CFnBx8FcfY/CxA8y+eIXl18eoZIoUNlJ4+1q45z98Ckezh3KqQCmRo5ovUUkX6Ty6hcxKjFIii1SuYbCaGX7yMFKlSmEjQ3xqjdTCBkunbrL8+jh6kwFBBBDovHcbFq8dg9VEcHs3ZreNpi0dLJy8yfKZMXY9cz/bP3mMU7/zZZp399Kyuw+lLrN+dY7lM+PoTAbSCxH0ViP2oAd7iweTwwoCmBxWKukCpXgWQRS1MES9SDGeYfHkTRAFcmsJVFS2fuxObH4nUqVOaiFCejlKdHSJ1HwYncnIytlxzC47wW1drJ6fZu3iDPn1JLlQEmuTk9T8BqnZdVxdAVBh4htvoDcaMLtsVOMF9j52JzsfO8L6zQXWb8zz3/78v/N/B/7DT8259vep9wysnDhxgvn5eebn52lvb3/LfaqqvkdH9eOrv6uZ2bvd5rtJOa7X65z48pffcd0Ls7N8+0//FNOv/zpjo6P4o1F+5eBB1nI5Xl9aInT+PDFVxaLTUfF4GI1GCReLBESRlySJUr3ONkHgKDChKASBIaAPMAImYBY4BYTQxj0eRcEA1IAc4AbKQBLYALYLAi5BYExRSOp0WGWZjsFB/uTyZYqSxBdu3mRqaQlvoUA70GO34+ntZfnkSf785k0e+8xnOHTo0Nu+bu/Ggn+odR/DvVd48eb/JDo/TaaUp0nazjbxI7jEDmS5xKT4PDF5khpFZnkeHUYUFPwMMcRjrPAGDtqIMkqZDBIlRHR4GcCMhxzrZFhDh444UyjU8dCHRJkNRhtJwJrTrI0AOowE2UmSBda5TJ0CW/kETtooEqNEAjvNaJb4joaKSEBFxYAVhRpW/NgIYsTGEq8SYCtLvEaIC5hwU6eMDhNJ5hngYQqsUyGFjSB6jMQJNToqTnbzDGUyiOiJcI0oY4S4TIBt2GnFzzAGbKzwOm66iHKrYf0/hwkXRuyogA59Q1qs7TvGJCYcVCmQYZVco8OjgTI7JlzYCWLFR4UMeSINYCc07nc20pSH0GHa7LqM8CFa2E2UW5znj6hTaZj2bSHJLCUSXFb/mJy6ToUc3aaDdPqHydkm2dLxxOa58ebwywvnL/7UXEDeSVUSbAmy8Pot+h/dx5aHDrByYZL04gYtu3ox2MzkYxkyy1FQVJpGOihn8uz5xQdxNHsQdTp8g63IVYnkfBhUFaNNI9kuv3YLk9NCaiGCxWPH0eKlXq7iaPVhdFiQKjWyqzFik6tklmO07OzBYDEi1yVq0TKhSzMYrCZQVcxuO4JOx8LJm3i6AhidVjZuLiHqRLZ+7E5cHX4S02skZtYpxrIMPLKfUiKHUpexeOyUUnkEnYDJZUVnNmjEYaMOs9OG3mTAHnQh1WVa9/ShSAorp8dp3deP1efA5LQQn1hl+fQYzTt7MbvtZFaihK7Msn51Fr3JgKjXUa/Usfmc5MMpauUK9oCbeqmCaNDRd88O+g5vJ7eWYOPGIsf+yeP4OpsZuGMnYy9d4NIXXua555/jV3/lV9/r0+Q9q/cMrDzzzDM888wz79Xuf6L19zUz+1FdmDf7oUiKQlWWMel0GHS6TTnv/Ogof/XlLzMciXB851tNg7LZLLMzM5Smp1lOJPiFl1/GqNNxZ3s7i+3teC0Wjvf3MxcK0VOvYxBFXlpexi3L7FZVOkSR64rCuqqSV1WmARl4AjiABkQqgBPoQgMuLwAXgDAQBdaBzwER4CCgQwMsK4pCWFVZAbJmMy2iyH+7eZNlkwmLIPDn588zpNdzqLmZLX192Ox2ioUCjlCI/NgY//78eR755V/myQ996AcuJiaTCdGgksiv0+rpRa/7wdc2ml1lenGMQdODWF16ylUnTfl99FuPAVCSUhhFB+eVP8Gq+uniTqyNC7pEhWn+FjedbOEjSJRIMM0wH0JtxPo5MFIhTZoFWtlHkrlGd0HjZVhpwkELekwU2CDGOE46MOGkQpoca5uqFi99iBjJEaZOgSIJAmxBjwmZOhIVTDgosEGBKALQxV0scYo+HiLGFBN8AxuBTXfbKjnKJAEVJx0YsZMlxCzP08Y+WjmISn1TqdTPwyzyClf5czIsb5rEueludFkslEg2/FPCzPIcW/kECjUqVJEajrnLvEaO9YafzCgl4lTIYsIFCEiUGyZwCjqMqCiscR4XXVjwNjKGBho8lyVUZPwMs8FNKqTRYQJUBnmUJragx0qEayjUqZJnQ76FHhOiTkfaOEPEKPHwnk8SdL31HBIEgT7vXm6cP8GHn67/Hzf/f6d6O1WJT7YSy4lEry6w82fvYe/P3Efo2hzLJ29Rr9ZILm1Qimc4+itPoUgy65dnMdrNGMxGCtEM9UoVi9uOuytAbHwZVVEx2kwgCHh7WyjGsujMBsLX56kXq5g9dnLhJNHRRbyDbYw8dYjVc1P0P7Abe4sXqVKjnMwDYPVpUmdFUXD3BBn94im8g60MPLSH2OQq0397CeupUUSDjlIih8luxhZw4e1vwepzEL46R9MWLaFZEAQMVhNGm5n8uqY2quVLGB0WIjeX6Dy6hUP/8ilyKzHWr84x+8JVEEAqVRtxAm0kF8Lc+VsfoRTP0XXXNrKrcZZevamBqUIZo8OMt7+Vlt29VLIlYmPLrF2aITDSCTUVOVthz6NH8XU2I9UlpGqNkfv3s3RtmhOvn+KXPvtLPzXn2t+1PhiG/Zjr3XY/3txOfjddmNt+KDuMRr4xPs50KIRUryOIIiMdHWzzehGyWcSZGS6ePctwMMikXk97Rwcul4v19XWuv/EGxfV1/JLEw7KMWKnQLMtciEQ4NTqKy2TCpNeTEwSWFYV2UWRvpcJ9ej1LtRrJapWdwCeBbwNngD3ALjSAYkHrmuQBETgKXASm0MZBx9AAzAww3rivH41ke1aW8QgC0zods0CyWCRYqfDPjx1DrFaJxuNkdDrO5XKs37xJcz5PrVYjqtcTA8RKhW/8p//E2eee42d/7de4//77N6XKF8+fJ7JwmVvTJ5kK7qW1/QhbOo+85YI0sXoBOWumud2HlDPTLt5JQggTLk7iFXrRCVZMigeH2kqSOQJsb4xKvBiwkWWVbu6hThkHraxzmRVO08cDCOg2ibRhrjPB10kwi0wNPRbc9AIKCnUErHgZIMsKcSbJskqWNYw46eAOyqSYYxYzHuoUiTFBD/e+RfGiUEdBjxkP61xExLA5hlriJDFGKZPGiINRvogJFxIVPPTQThM2ApRJM813cNDKMB9CQW6AGYEiMQREBnmCDW4xw3PoMDek0DcREBExIKLDTpAaZSb4OjlCBNiKjWZkqsSZJMc6HRxilXMYsNHDfRSIEuYafTyIuZEabcRGhhVyrJFhhQEeo0IGI47GM1tgke8B4KKdFDXKZHDSjoNWWthHnjArPEuFNG66UcQaXeIRLEY7dbGEaio2JOhaSXKdulzFoDOh1xmwmz3Uq8r7Nkvl71tvpxgZHR3ld/+f/8D1/3mCgQd3427zYbIYSUyE0DcpBO7dhzvo5eZ33kAUBYqxLPVSFUVRkat1aoWKJjV22ShspElMhyhspAnu6mH1zASiTiS4s5vAtk4quRKhC9O07R8kuLuX3FoCi8eOp7cFk9NCejGKp68FR6sXvcmAXJMQdCK+/hYcbV4UWUaWFOqlKrYmJ51HRwCBWrGMzqBn/cocGzcW6H94L3MvXmXx1Cgtu/vQGQ0IooBUrVPJlYhPrFHJFLD5HGRDSWwBN7FbS5qN/vG9VHMlMisxpFIVR5sPd1eAyW+fx9nmR2fQ4x1oxTfQiqgTSc6FMbvtPPmX/wKj2UhkdInY2ApDx/exemma9cszON0u7vqZhzCaTVz6+knC08soiqKlKFfqROMRCoUCHs87d4R/musDsPJjrh/mBvt2ZmbvtgtTrVZZW1sjPTdHZ6XCPlnGVCqRkySuzc7yMnCn08mwzYZPUehXFIoTE9xYXqa5v5+F8XGq6+sM1ev0ASs6Ha8qCkVZ5qgs01ouU6tUcOj1jAMvSxJ3CQJ7DQZSioKkKJSA7YCCNvbpAZaBr6N1SPqAnWgdlpvAG8AacBh4HGhHGwnVgW60EdEYsA/IAi8oCqOAvlLhKbOZfcEgD4yMcPn11xkwmzHmcpwuFDhTr5MTRW7W66iKovFgdDqChQLi1av8/i/+Il/fvx+H2005mWS7Xs8zbjcr9iRSYoZIbo1XV06zZ8+nGWrdR12qcX78FVoduynWN2iVjyGVNFlvXtigpuYRFD1ZZR0/QyzyKku8xhY+ikKcCilqFBrk1SRGbPTxIOtcJssKXvrRNyzu53mZNAuN1GQPcaZoYhtig8NRIUuVLHo0uewq5xAx4GeAbXycIlGq5PHSj4iBKjmijOJnCCM2VGgECJZY5nSDJ9NPmKuscZElTiNTZSsfo0IaKz6aGKFCFpkaOozEmaJKnjpFhniy4RoLGZY2HWyTzGHETh8PsMgJSkSpU3yToinDIq+hw4ybIDoMFEmwwlnEhmW+hx6GeYoFvkeSORQkOjhIhhXWuUiuYXJnI0iWVRY4SY0i7RxCh45CgyeTI0SWVQRE7uS3ETEwxbfJskKKeWKMN5x8U1jw0cXdJJjEbBfY33s3W3YMMj+5jEvqZ0Ma56WLf81k22WSqQSypKDTi/S1D2MwGDEE3j/5P//Q9WbFyL59+/i3v/Hb/Kf/8v+w8uwNfO0BDDo9e7bsoOMjfSzG11iamEOK5KAksXJ2guCObhBA0Bkw2s0YHRYcrV7c3UHG/uYMG7eWqGQKKLJKbj1BaiGCf6SD2MQKJrsFW7Ob/HqStgODRG8tI1U0Hxerz4Gj3Y9UrmKyWzDazMh1Gbku4+4OYnJaiVyfQ2c00HVsO+uX52g7MIivrxW9xYjV52Tx1VFS8xu07O5j4cQNEtMh+u7bhdlrI3xlnuUz42RWYow8dQhVgNx6isDWTixeB9k1LdFZVVTsAbc2sipVsbd4USSF1NIGrbv7cLR4N/OOqjnNCqKSLJCIpqlmS9h8TixWC8Gt3dg8TqwBJ5GldZYuTmD22+l5cBdWj4NSOs/Uy1fIlPKcO3eOhx566KcKHL/b+gCs/BjrR7nBwlvNzBb273/XXZh6vc7G/DxPZDLcL8sY63UcBgOyXs+WUonLksRNScJsNGIwGnFYLOwwmRgPhzk/O0u1WqVVkvDrdBhNJhZkmags86SicFdjnzOqSkmSeFIUmVNVvKrK96pVLGgckypQRBvbRNHGOLPAh9BAyFXgJBoY2QU0owGUe9Foldcbj+8EHIAXrevybWArIAkCFp2OIUVhS6lEfG2Nc2+8QT6RwJHJ4NPpuE+n44VikZdUlbuB+wGfIBBTFN6QJCqSxEFBYO7WLYw2G3uqVXY0NdHX0sLwoR1M3pynqyAyk17k9Pk/Ir7t40RLi5R1cYaGB7g+F6aWETGpBpzGFrxiB7HaLPH6LHZa6eQoKjDOVykSw88QKprsN8kMFZqQqNHCHvwMssirjPM1dJiQKFMmTQ/3M8OzGLCwwQ3MuGhmNxY8jWRiHXpMpJgnwxJDPNGwn9cAhRUfKjIt7GpY1U9xhT9liMcRMTY4MDcbBN5eLHhY4UwjQbmEg2aKROnlfgJsI8U8AiLrXGrkCrVSIoaICQNWZOoUiFCjSDP96DCRJ0KNQiONyEkHR+jlAVrZi4CIgoSdVkJcYpyv4qabCmlcdNHGfhy0UCHDBF9jkVPUKWEj0OhQ3U2dEjM8ywX+CwpyQ81TR4eONWS0QMVW4kyRZ50aRYZ5knYOkidMF3dTIsEcL+BjhGGeokwSBy1kWCHFAnuH9nL0jkO4XC6KxRLhiQg2s5e15RC1pJm9wSex6j2U6mmWJ68yXznNo5/Z84/mwnH48GH+7W/9Ll959utIbj0DB7bhavJSSOeInptl5tRFZFFl8NhuVqcXWbswzfATB1EVlUq2iKqqGB0WJr99jmI8S/exbSSm1xENOnQGPdGxZcI3FpCrEsNPHECRFAxmI5VUHmebduFvOziEr78FnclALV8iv5HGYDWhM+oJX5nD2uTC7LCw9OoovQ/sJjkXJjG1hm+wlY4jw6iKii3gxujU8nykkhYpUMuXufHFk5TTeYqJHO7OJlwdfrx9LcRnQprpZV2maaQDpeEpo0gyAIokU5QVSrEMAB2Hh7EH3JTiOYx2C9YmF45WH9nVGPlwEnvQQ8vOXgqRNGsXpjHo9Hj7W4hcmScxE2L4gb0MP3xg8/u/VqlSkWqUM0X+0+f+iBdffYW7Dh3lyKH3v5HbP2R9AFZ+jPXD3GDfXLfNzM6dPfuuuzAAA6JIa6GA02jEa7MhCAKxQgG7IPBJi4VYpcJ3NzboGhzkYjpNc6mEp1QiUCqRVFV6G9sOl8t8A+hQFHajgRAjGriYVlWWZXmTNOtq/JTQAMky2knUikaknUfrnhiBkTeteRj4KhoIKaKpfpKNx+j4X2DlQeCbQL+qckgUealexwNsEUUKtRpr58+TQBsx1QWBqKqSBh4Cfh0wCQJ1oElV6VRVlnU6XgdK6TQeReE+j4fFlRXOra3hb2vD09qKGhDYkigzGb/J1YzERz/1IZRTwzgFO6VyiXKtSMDmpVIq4NK1YhSteMU+fOIAaXkZu9qMlz78DFIg0mClhFjmDNv4OCIqOdZw04OXXjo5goUmJvg6DlopEKGTI/RwPwU22OA6ReJ46cNFFzqMhLlGnEnMuOjnIaZ5liv8CUbsm6nNZlyUSRFgGyEucZU/x0YAoGEnfwwFhSxrVEjTzA7KpMiwghE7AbajUMNBK0WiOGlnkVcx42qY160TZ2ozBNFDL3pM1Cljo4kMyyxwAh8D+BiiSJQkc3jpQ0CHiI5BHiXGGDP8La0cQEVmgRNIVCmTRKKKny2IDV7KGufp5l4EdA1+ziAu2hrKqxyzPM8Go4BAtZE11MJeRngAG0GKxMmxjoiIn2ESTFElR50iXnrJESbMFQrGVY7t/be4GmaDHR3tTM++zOTKRYZ4HJ/aSY99P6KohXIaa16q+iKrU/EfqT77aaq3cFpeHWO54YK6xz9AZSCDa08H7sEWTn/9ZWafu0xiJkTvvTsxO61kVmKEbyyQmFzD3RvE09uMWleo5Euokoq1yYUqSWTWEogGPUpNQhZF4pNrCDqR+HQIqVLH3R1AbzIi6nWae269vumI27Knj0q2iFyXiE+uUErm8fQ1szG6RG49SdfRrejMRsqpPCgKibkQ1WwJo92Cq6OJ4I4eLD476YUooCLXJOqFCo4WL8uvj9F7/y4MFiOCKGgApiahSApGp4W1S7P4BloxO2wUoxmkSh2T3YLZZcPe5EQA2vb2Y3LaEEURuVxDb9JjM1nJZXPEF8L03LmNoYf2b37/l3JFEuEoxVSOnY/fwcaVeaqSnqvxaa594SYff/Tpnxr5/I+qD8DKj7G+3w32nSpdqaCazSxcucLD76IL89LZsyiqyojJRAHtwu8FFFUlX6lgVxSylQp+WSYsy+wpFBhPp2kql3lSFGkXBFKqih/wKwpfQuuIfAxIAAa00U658bMDjVdi4X+BmE40nskEMAD4gCVARRsHBYB4Y/1zwNfQui+tgAeN0+JDAyl5NJDTCTShgSEdEFQUdgGTQEVRMAPbGseaA1obBNxu4Hhj31VVxYTWzVGAe0WRaUmiXK/jzGYpyTJ7DAZy1SpKJkO5WqVkszGyaxefqndx0uHgYx//KDq9ngtfuYpethJnkmHTA5SrUQr1BAUpjoc+qmoOVJEUM/RwL0M8hoBIgRidHOEGf0mGZfp4gCJxCmxgwYefEeZ5hQQzqEh0czd2WvHSi4JEOweIMsYq55jnZXwM0MI+LHiY4XlWeIMUc5hw0MZBWthNjTxRxkmzxCrn0GOkQgYrPnwMoSKzzmVSLFAgQgt7GeQxxvkqFTL4GMSKjzoldBhwNwirmovtBElmiDKGETsH+ef4GWpk/1QR0WHCiYCeFHO0cRAViSIxJCoUiOKgFZkqRaIYcWDCTRPbqJACREw46OIoJpxY8LHCGSTK6NnKFf4EGwH6eYhe7keigkyNGONs4SN0cifLvEaROFv5GIM8gopKjQIFNsgTwYwLhTp2mimwQY0cc4yyzmVUXR23NYDf2bL5WXO5XAj+NKY1Fy3qHrK1ZdLFGIoqky6HEWwlHj/8Ka4nv/tTpQh6N/V2nJZvfefbtOzs4dFf/gTVSgVFVSgWi5z8s29z+b8/j9FhoRjLYnbb2PeLD6G3mwhdmWXbJ+7C6ndSy5Xx9AaRqjLX//IVHEEPKiDoRJwdfqxeJ0aHjdEvn0KWZNr29QMC9VKF5Mw6pXSe1n0DmBwWSokserMRV1eQSrpEcHs3epOB/HqSyW+dQ1VBlWWCO3q467c/RnI+zPLrYww8vJd6ucrquSmio0sMPrYfuS5j8TppPzjE5LfPM/aV02z7xF2osowiK5rwXhSY+sZ5Nm4ucuBXHqUQTSMIAkabGZPTqkm2cyUURUFnMKBKCrVajWq+jMVpx2qxklreoBhL4+1tplwooTfoqZYqJDfiVHMlbBYbw/u24bY5WDpxk4c++zTXT13gay9866dKPv/D6gOw8mOs226w177+dQ62tb0tCFFVlWupFH1PPMHi+fM/sgtTrte5NTdHNRbDFY3iFATG63VikoQXDfiUVJUcoAgCfaJIx/o61Xqd6zodeUEgKAiso6lyVgSBV1UVIxqQ2IYGSspo/BEzGnDYCsyhcVCExs9t4KDlyMACWjfF0diGDW00lAX+BK1j09PY7hKaUkhBAzatjW2FgVG07swttC5MHK3b0oUGjFrQwE0STUU0BFgBe2MfscZ2bUBeURgBUBQ8sswOiwWLTkdOEEjV6wy3tzOfTjN34waObdsQ6nWmp6cJh1YZm/8qxbhEXdZzMp9ml/nnqZbrVOUCVYpIapWIcJ2SmqSLY4iCHlHQYVIcuOjCywAhLpJnnU7uJMMKdgKsco4sq4josOCnm2MUGvk6Xvqx4MVND0M8wTX+AjsBtvA0V/kz9BiY50WGeZIW9pNlmQoZ3HThpgcBHdN8h0KD2JtghmXOIFPBTS9BttPL/VjwkmWFCnlUVARESsSwEqBGAT1mguxodG5cjdGLHokqMSbw0IvU4LSI6JBJsMxrVMjSxAh2AqRZokKOGgUyLKPZv9UBFR8D7OJT1Ck3whKDZFkmwwo6jDSxhXUuM8DDLHMGE06a2UWBDSTK5ImQZhEdJgzYNgm/doJUyFKnSIUMVXKI6FCoU0YjzBbY4A3+M6quRptpG03qfmTfCmajdfNzJsl10sUY21vvQV9UqZezxNUp9AYdrb1+OjqGcLlcZNWfPkXQu63bnJZ6vc7N6TF6H9yhXaSNRgx6PR27+jn2Lz5MvpDH3uKlXq6xcPIGtqCb1KKW++PtayEXSmDzOxFUAVFVcbf5iU+vEdzRjanFiy3gRhCg8/Aw+VCcxEyIuXiGWrGKqBPxDbTReccWzE4r9qCHm188STmRJ351AVBxdzRh8Tlo3duPwWJEbzUjlTVZdGEjowUzmozUihWio4uUYhktAdpmxmg1Us0UsPqdDD2yn5nnLhGfWqX94BCONj/5cILQhRk2bi3hbPex7WNHEUSRaq6EIAqY7VZ0RgPR8RV6jm1HlRRkuYZer6eWKeFu9qGWJdRsFeoK9XSJxGwIndFAMZunnCtis1jp3TqEzeXA6nEgKwpSrc6B43fxwmKYCxcvfABWPqj//Tp05AhfOH2al+fnOd7f/wPR3C/Pz5MIBjl+550sX7/+Q7swV9bX+cblyzRXq8hGI0FFYa/BQEiSWJIkpqpVZFnGAXQLAh5BoAnoqVbpQeuOpFWVZ9E6Ip3AsKpiRwMYzWhdjduclCxapyOGRpY9h9ax6EIjzZbRQIIIXEPrdhxFAy4yGnBwAL2N22poip+DaEogf2PNTTTw0o0GUgJoYKOIRuDVo4GlBTQOzO7GsS+gARYPIDX2kW8chw1wNwBJXdZmy1FF4UI6TdBiwaiq2uu2uAiqSqxS4VI2y2t2O5fPnqWnVOIRQSBHgbrqZKHyDc5UX8dn+BCKKJJWVsmwhCSW6Dfci1myU5RjGFVbI7gvgg4DfTzADM9Tp0SSBTx0YcWPnWbiTNDDMYzYsNFMiIuYcW+avMnU6eAQC5xggRNUyeFjmBo5urkPc8NPJMRFKmQBFTfdtHGg4YPyi2RYZINxkkyRYQUbzRSJEeF6w2q+3MgmCpFmiTIpTDipkkFGpkCYOqWGWshGC7tZ5CQJpmljPzaClEkxxbcIcx0HLdgJ0MweFGRSLCJiQo+5kcWjUiWPRJkMywiIGLARZ5IyScy40WHAiB0FCRNu3HThZ4AYE8jUUFGokKbeMI2rUyLIduJMEGEUFQU9Jix4cdLekIgvY8CMV+jGofPT4d7GwfanycYLXE1/naMDR9DrDJuKH0muI0sKbmuQgpJj354dDA0PodPp0L0p5uGnVRH0d6lqtUpdkbB7nACIOh1Bf5DIRoJgWwtyBNSaTDmVo5TIEZ9ZJXJjkfbDwxQiKewBN2a7FZPZhGA0gwzrl2exB90MPLIfs9OKVK5RK5RpPzREfDqEqzOApydIMZHD296E1e/C19fK6qVpMqtxhh7Yi14VyefzuFp8uHuDFONZ8pEUiqwgGnTYA26ya3Hi0yHik6uUUzk8XUEO/rPHya7HWT03SW4tSSVTYvn1cUaePES1UGbptVvEJ1fRmYxUskXsARdWvxNvTzOqCnK1js6gR6rUqJUqLLxyndT0Or13bMNg0GO0mkkuRFCqEtagk+nTlymupwi4/TSbvNgKInW5SimawtfRTN9ODagAlNJ5dKKIwWREEAR6945w48QtPlz/8E/9+fcBWPkxV2dnJ49++tO88PnPszg2xt7bCp9KhWupFIlgkEc//Wn6+vp+aBdmNZvlhRs3GCwUuP/AAcYVhdFIhKFaDRSFTKnEqKJQRAMQzarKnCzTLMvo0KTCdUVBJwhk0LgkGTS5sQsNePwOGpDwonU6uhq/19EAQBYNsMwBw2hdlyJwuvHvTqCA1vUQ0QCDigaMcmhdkb1ogGYQDRTJaOqfU8DfogEjGfg5tM7NGBpwaWr8fgm4jDZC8qF1XVxoIMeOxoFxNp6PrKrkJYl8Y5sxRcFeqTBXrZJVFFr0ekbMZpKqyrVymW8tLFASRY5aLDwWCOCxWlkqlVjLZxiwNHOrFuGk/DkkZyfGuptmdrHN8rPY5AB6u0QqmaZYLKKgEubapuW9HiNu+qiQpZV9DWO2poaJWwsievSY0KEnT5gaxYZ3igGZOjEmqZJnkMeZ44WG8keHiopEGTMuZGqY8dDGAYxYmeUFwlyhRhE3nbSxj6v8D8b5m0bw4LYGcbXcUPasbOYJ3fYxqVGk3ogFiDOBRBUXXeixssZ5JvkmIgbyhCkSYzfPIKIjwQw93E+ArdQpUyNPC3tQkUizzCpnENGTYLpx3C6MOLERxNDIHyoR33Tw1WPChHszs0gzgasCKiJ6HLTiohs9f4tEgTYOYmmAHi3eoASIpFlkjTfwOVs4EPwoShkihovUg0uU5BFeHfsai6EZZElB1KmEslOI9dfobhqhs2sIo9H4A5/vQiWNwfrTqwh6N3U7V6iQzm3e1tHeTuTGBrJRh9lgRO+ykA8lKa6nyC7HqNVq9D+0F1ebH7ku43A6MBgMzLx2nVw0hb3ZQ3YtzvjfnKbz6BZsPieFaIa1N6aoZookp0OUk3ksLhuBQztIRROMf/0MsYlV9Ih0DfdSCKdIr8eJj64Q2N6F0W7BEfRiNBnJbCQQjXoKMc0x19rk4s7f/ChyqUY1W8SoMzB4ZAcrZ8apx/LEQincdgftQ52Yn7Q1JNIqlWyB7Gqc2PgKUk3iyudeJLCtE7PbTiWRZ+n0GOuXZrB7nGRnN3j997+Gs82HwWTC5rJz7lvnSI+F2DO4jQcePkKqXOeeO++mXKlw7vIFmrf0bAIVVVVZvTZL3/AA+gYwsXuc1BXpHwVY/gCs/ATqNint4vnznDh/HqVaRbRaGb7/fh5/k3fKD+vCXFhdRY5G2RkI0NHZydLGBlcUBWepRA8wpyh0oAECPZoMeAoNSFwFHgC2qypvSBIXRBGXKNKjKHjQuhQGNBCSRfM6iaONYyS0i/9LaM6yxxprZ9G6Ggto4ObTje3MAKto4KXWuO06GnjYiebDsoYGYlrQOi81NDBlRQMefjTQMYQGXvJoIOi2cmgMjQMjooGuNNpIqYSmNio0bkugAa3Ljedg1euZaYyD+gCvqrKiKJwoFqnWagwCXaLIk7JMPpkklE5jEkUccol8KcT9rQcwClDsP04ikaK8YkeoGhCsdYLNzSBAvJJlSTpDnSLbhY+TUOeokifMRZIsoMfCfv4pPoaY5wRSYwyiUMeAHTPaX6dpFgFNHiwAPoaokqNEEh+D1MiRZYUahQZJN4qDZipkUJCpkKHABjYCNDFMjSJ2gggIBNlBM7swYMZNNz4GucEXyBPGin8zI8hBMwIGQlygSAwrflLMEWAbAndgwskaF5Cpc5hfx0MfedaZ5xXmeZlW9mLCgYBIllWa2c08J8izQTd3M8RTrHEOTyOjqNpQE6lIRLiOQp0I1xruvHHybFAkikIdIzZqQJ0yIJDkJnosqECUUfp4AAOWzedixc8qbxBjnKD8GFPpk+BPEtwnsr3/KCe/8SrW9CCDjmM4jQFytRiLyTWuy99iePdvbBJv31yqqrKQusaB+4d/6i8UP6y+P1dIEARcLhdbB0e4MT5KsZSnHI2zcG4MZ7sfRVZILkUwm804LHYUo4zRbCIXSZJYCOPuCmCwmWg/MEh6Kcrs81cQRBFRJ2JtcjLw6D4KGxli48ssnholPbkOAlRLFTwtTex4/BiPf/Qpiqk83/jvXyI+FWLl9DjBXb2ICJj8LryGIJHxJdYvzVJLF7F6nUx/9wI2vxOX14PX7SYXStLZ0cWOrdtJja1hrzgJXVtECNiIpZaxN3tIzIaJjS/jaPNjdtuoZotMffcCtXwFKVNGqUrYHXY8djces4P4VIT8RAS9w0w5W6QazvDJpz7OL/z8LwDwx1/4HFe/d459D9yBXqejVqkC2rk29vJFpESRLY/v2nztC+mcFkD5jwAsfwBWfkJ1m5RWf/rpH3Clve1U29LS8rZdmHipxNdv3uQ+m42hvXuZzOX4y3PnEGo1XmjY1n8IuI//dZH2Af8EmEZzjT0BvILWTXErCjvRxi4KGoDoQQMUrwBXgMfQOiP/o7EmgQYUbndDDqMBgy+ggY15NMJtC5p8uAUNlLyINuLxoI1y6o3HWdDAzwY0LsbwFPCdxv2XgLsa21lvrIk0ns9yY5vlxnbTaMDMjtZ9OY4GcK6hAaU4MCSKtIoi31EUuhrP72q9zmuZDNsUhX5V5YROx+NGI0ZZplat4lNVHDodAZuF9UKRSOQyTpObcZ2BLcMf4qXQXxOrzHPE8QlSUpml7DjL3KQoJtjKR+gWjxKTx9jBz9AlHGVS+Q5TfIcE0/gYwk0XSWbxM7LZRaiQpYM7MOFARSXKLbbzSXq5jzDXGoGBXSSZw4IPN92YcFImhREHZpyoyBiwYMaDgkSKBVIskmeDANsYQrOON2JveKYo9HIf87xMhmXcdG8aua1zkRLJBgl3hCp5pnmWOBNY8GInyA4+RQt7UJBw0EI/D7HACSJcx4wTC34STBPiPBlWMWKnRIIFXsFNN3kiOGhBRIcBGxGuI1OjlQPUqVJgg3BD+mwngIO2TWffMilKJMmyTAeH6eEe1jhPkSht7MeIkxRzhLhEUphGMVSQ/VFiSgZvQOTAvQ8zdWWNeweeoUk3TDSURJEquK0unur9p1ye/h6nJ77FQPdWmt1dm59nVVW5PP8yYjDB4SOPv7svgZ/iertcIVQVVVHQIRIfWyF2fRG9oNdysBJpVl4f5/Dxu5EkiVg8RnQhRDGZo//4XhZfHUUFtj51BIvNSrlYQtGBKiukFzcwO2zYfE6Sc2HWJxYRdTqQFKwmKzt378Lj9eLxennkUx/i23/2Fa59/gRNIx10H95CbHyZzEqc9auzlENpuro70FlNLLw2RjVfZmDvVko+Dz6fH53OhC0v8Iu/+uvYbDb+P7/3rwgvhskUc9ha3BhtZsxuO00jHRitJjLLMXRGA6hlth/cjdftZfzkJQa3DrP1rr24A16KmRwzF8cQklU++Tsfe0ssyO24g5cWw6geE/FYnFx7nNXrc0iJInc9eh/BzlZAOwcXr02xf3j7Pwqw/AFY+QnXm42W3smp9sGf/3nWVlY2uzB1oxFrdzcH2ttZV1X+60sv0RKP85gscwbtwuxF66IIjf/b0LoiB9BUOJNo3ZYkWvdlGA04+IAgWqfDCNwNrDS2dRiti3IJ7eL+ABqvRQLOAv+18TgH8D002fEQGphZRuOjHGg87xtooMKHxkkZaaxT0U5CpfE8LI3t3e7qWBqPn0EDK21oI6EyWvdle2OfJjRAdQv4PbSuSw+akmkn4FIUZup1cqpKETir13NBkmiRJO4wGNCJInZRxCAIxGSZFlVlh9VKRJIw6HSMuF2463XKap6/jV8he7CXT/za/Zw5cYlb8b/GJ7WxJC3hMQyy2/TLGCsBVoTXkIxZOqWDmCQXB3X/jHn5BCucJU8EFx1EucUiJ7E0gIWIniwr+BlhiVMUiTPAw1jwUiFNjRJ5QogcIsA2jFgpEEVFAVR0mIgziRFbQzVTRaaGoeGY28YBHLRSIY1EGREdeiy0sg8DZm7wJcb5Knqs2AkgU2c3/4RVzuGmgyp5TDga+TzN9PIAAbYAbI5dWtiDBR/n+c8UiWHARooFTLgwYKZCFokycSZx0IqTVrwMNrgrE2RZoZt7GeQx5nkJC15KJJAoEmRXI0agioKEix7G+QoJZhngEQZ4mCA7WecSc7zS4LYU8dBLl+EQRnuNTz/yOwScHVxfOsV3vvIFOvT7eeTg0wiCwJYtMrIsb3JT2tvb+PKp3+evzv8HHtnxWexmD4VKmoXUNcRggo9/+tF/FOTGH1XfnysUGOpgMbwKFh3VaBa/6OCx//y7DO3biiIr/M0f/E8unjjDqT/5Fgc+fh9WnZl6vkq9UsNgNWFx2YheX2T7AwcxmY0IBhFFBASo5yrIxRprZydo3d5D34N7KCdyKNkqpfUMX//Pnyf00DwDe7ZSq1Tp6uwkcmuJ8OkpSvNxBFHA4XBw5+GjHH3qfnwtTdQqVf72T76CIVzF6LCgiCpmxcTu4e0cbviZ1Ot1RrZsQYrMc+D+h1CsOqpSjcRCmOjECvZWD627+tBbDFSiObITUToUN7/5mX9BNpdl/PQU64KKQdRz5/AuDn/sB31S3iwNP3PlPGNTY1gCTo48dDdbH9/9FqBy+eUzCIkKhx8//B684z/5+gCsvEf1w5xqpxo8lg81ujCiKPKH/+pfEYrFuHj9OltSKT6iKARUlUvAI2hAYwGNR+JGG4tU0boSjsb929Eu4rddZ3VowCGPBnKqaOOSY2gdln60LkcIDfxcQAM+i421ev6X38pONHDjaaytNm6X0Pgp02jdkNvqIhrHkmsc4wZaZ2b2+447iybNXkXjtvz/2Xvv8LrO60733afgoPdCVDaQBHsVKVHNkqhebEsusj1JHMuOnRsnzs3MzYxnchMnk4lnYmcyyUwcx012HDuyHFmyGiWqUgVi750gQaL3joPT9/3jtzY2JVOypMiWb3SWHjwAztn7axvUes9vrW99i4Dv2RyvQtCTQepOtfX1lLW1Fn9X0jSwwnUZB0aDQT6ak8NIJsMGoMZxmAwECNg254Wuy1zHAcehKBBgJBajqqiI/GCQeVVVNE5OcuX1l/Drv/Eb7LllDz/8xsPEugoZP7+AhsAlJMKTHJ55mDjjbCj+GKHJCkKZPEJuHpUsJkIJ0/QzQQdJYgzYqcYL2UI+FbTxJPv4NmkSzOc6JunjNFvp5wg5FDDMKTp4iQKqiVDEtJ2f089RZniBAY5TwUKSRMmlhAoWM0kfCaYoYz6FVJNrY0gwRZIoGVKEKaSWNaQstBKh2JSRcnIpZQ6rqedSwGWKPnbxtdlquSEiZEjjWs3cYU4SpoBF3MY455lmgGZuoIAqJugmTZJ+DnKeF3EIkEcZYfLJo4IS5jLNAPv5NjOMUEQdYfLpYT9TDFDLWoJEmGGEUdoY4Dh5lHGWZ6hiGUEiVLCYPNuKXUkLARxOuQ9BME1FYS3hUA7r5l/Hwzu+xeImP0fstQm09fX1XLfxA+wc+y7tka1kkg7h/AAbt7Rw2ebbs6BygV3oaH/03Qfoj40yf+ViFi5dxLI71sw6WoBP/dkXmBoco3vbYZ49N0h1SxPTUxOkRqOMHeumbl4jXftOc/7FIzReuZyMA+G8HFKxJImZGOdeOkomkeb2//ZpSpuq6dh9kpm+cequq+bIC3t56Jv3UVxYTH5uHusWr+RP/9P/y4v7X6FoRR3rt2wmv6hgNu/DdV0Ov9RKcTzM7/6H36O2tvaiZ7KFw2GWL2yh9dge5q5qpri2gsGuPkpKiqmorWLwZCeDu86QiMUJJx1CQwnqmmvYcWgPyUyKIAFWLmjhysuvYOHCha+7jrNbwz94J6+88goPPf0o0aEJhnsGiM/EmBqd4Oze4zhDMT56613vmb/BLKz8Es0L9/T397+5SrVf/OLsH2LL5s088j//J439/axJJsnJZOhEgNKIHmQIOfoACocEkXqRAB5FiksSqRPNCBAq7foRBBLuBb8/gMI785HD3wF2GozaLENA8ApKnK1FcJBBCsoyBBl7EfScs7a6UPJuv40/D4WkdiLg6bdx7kCws9f6O4bCSgNIMbkUvxjdhN03BlyOn9gbQLuN4tZmLjCRTvOjaJQMym/5QTLJWCjEmXSac6kU/8F1SYYkV4dMzk6k07jBIAcSCdbNm8e5vXtJfvzjs/+Dfu7Z53nh8D8wMtbOnHAzc2rnEI4uJZ3MkMiMUBAKk8xMkU6n6GIn5YH5pDNJIEAxTXTxCilmqGQpMUaZYZQQuXTwIkEiFDKHBJPEGCeAQxc7maKPei6hnEWAy0keIsqQFVULESKXAmooZA6neJwY4wQJAw5h8smnigxpknZ44gQ9JJgixhgp4rOF7A7zz7ik2c3XOc9LVNFCJUuZx9Uc4vtM0csibrXaLuOM8AAjtFHJEvKo4DSPsoTbWcNv0sd+ylnEHFYD0M6z7OPbhCnAAfo4RIIpOnmJSpZQxhKG2MkKPkoJjXSzi5M8TJoUGRKEyKeOdSSJcZ4XmKQXB8dyWVxqWE0x9Yxwhu7UfiIU0naqncbGBnLyghSFq4kO+2rKxWxOZSPzSpr5z3/+BcLh8OseLJo1Odra2lr2HD3AFVcvZdWV62eh4EJzHIfrP/kBjtz/IpeuvYSDJ48y3j7C9NkhpucOcfV/vImm5nnse/RFOg+foWb9QormlDFypocTP93J6Jk+3v+V36J83hwASuorGe0Y4EzXOZqvX0sqk6K6oIKVl63l3IGTtB7axZrmFRw+fpwXBrfOnij9eo7/9Z7vlZdfwbfu+y7nD7dx6ZK5FCxfRFPLAjLpNIFgkK6T55g8PwgjCV75wRN0BcdYdMOq2b6O7D3O0X868aaKuYXDYa666irmzZv3qoMlw4EQl7Ss5LLbsxVss/YO22vDPW0dHURGRvjk5s2zoJJMp2dPTfYq1b704ovc8f73E4lEWH/JJXxtaIgVIyOQybAbhUqmUahmEQIJb5dMEXLMufZeNVJEKhGs1CFoGEfQ4akkLgq3dCJQqUFAcQblttxj958HnkNbiQuQInIOJcnWIVDZiOCkw9rZhoCmHCX9RhFoLUBqSBK4EkFHLvANBBOTF8wpgB+uWoGv1BTb3Drwc2SeRruZNiIg2ofAZwwl6caR4tOSyRBKJGYTh58HtqRSBFMpQo6D6zhMJpPsiEQYLizkqqYmtsfjsxn4TU1NfPwTH+OV5w4w+UoDi3NuoqliKdPxCQbGOzjdcYipTD8jnCURHKWMRhayhTJnIRNuD30cIUQeQcLUsIJmbiVIkGFO0cMehjjFWZ5iil4gQyUrbduvwwBH6WU/ruW7xBlnkm7b0hsjxhjn2U4/hwiRazt1rjMFxCFImDQJIpSQ5jxT9FHCPFNwTjLGOWpYyTyunj2AcZxOutlNMzezgC0c5Ad2uGIRKntfy1yupJKl7OWbFNHAIm5jlDMkmaGJdVZEzqGFDzLAEbrYyQruJkOaMhYSoYgxztHHboqopZhGAOZzDRFKbZfPBJP02M4gh252kGCKpdxJgBCjnGGSHsLkc5KHGA+1c1vpf6Ln6DS95/azZM18ciO5ROOTbwgr3o6fwsLCLKS8CYvH42Qcl8r66ouCimeFZcXkFRdw5wfv5GORj9HW1sZfff1vODfQx9nWI6y8+TIKKkrY+ejznNm2n1Qszmh7PxMdQ1z+O7fTdEnLbFtOwCEWm6GiaQ7NG5YRIkD7tgO0bFzJ8s1r2fXECxzedZw7b7iDjs6Ot+34Fy5cyC1XXs/27Qcob6qhrL6KnNwIiVicsZ4hiKZoXtDMTx77Pk2rF3PH737iVR9Gl25aza4nXnhLxdwuVoTvvfh3mIWVX7C9NtxTnJPD852dDE9P892XXmL94sVE43FOdHWRSaUIhEI0lZeTHhvjB3/5lxx/7jkmkknOjYzQ293NcDpNAuVw3IagoA3VQalCoZJBpIxUIfXkmzaWYhRe+SEqf5+23+vsPQ9QtiL1osJeSwAftXvqERRsRmByFMHG9Qg8xhAAPIlAahFKfM1Biksryi1ZZNeD1JI+BB9xu64Rv17Kb9pcDiAQabB55qJwVyECloyNbxypP/XAbyHl50EEbLchtaYdAdckgqYVKOfm2wgCJ4DmaJQSx2EsEOBoIsFUYSEfXryY3HCYQCTyqgz8cDjM+26+lKc6ThEd7+Zo3wCV+XOpKKplsnKYrsFzjAfPMd+5klJ3ASRzCDphqtxlVLKMAQ6TZJpe9jPDKPVcwhR9DHGCIBGarUbvDKNMM0guJVSyjHwqyJBkmiGiDJDLitkaJilmcK2Y2zzexwCH6WEvp3mchdxAwGrPBkgwyDHO8hQZMuRRSoh8HIIsZAs1rCZAkAD6H+Qc1jJCG/v4NgVUkUsxU12GYVQAANAPSURBVPQxh1pKLW17kh462Uk/B1nPp5mggziT1LCCPMpw7T+AejbSSSvgUMo8ethFPZtwCMzWcRnkMAu4nkpaCNp5R9rlU80UfXTxCmEK6GInk/RQzyXkUsoQpzjAdxkOHOfKpk9wSd37cV2X7pE2Th5opyC/kP6pYwQCAS5m2R0/b90utpX5YvbanSyNjY18+mOf5O++83V23vsE7XtPMG9DC4VzyogmYgwd66C8ppLKOVU0X7UaN+PiuhkcJ8Dk8BgEA1Q01hAIBGaLpyXjCULh8GwBtY7ODj76kY/+jONPJpNMTU29KRD4d5/4d3T8bS9j+zsJzKTJ4BJ0AtRV1lC/uJ4n73uEqf5RfvP/+e2LHpvydou5XZjv+F60LKz8Aq2jo4NHvvlNNoyPc8uyZapamEgwkJvL8vx8fjgywtefeoqrS0q4obiYslCIrrExXjx1irPpNJniYsYOHmTXyZOkJifJQY62BwHDGuT4tyM14BPWbwlSKV5ClV/zgPcjBzyIVI02pE4Mo629lcjJe3VN7kaw8hAChQ8gOOi390cQeNyK8lXyUaLrNAoNPYdqpzgIhoaAuxB8bEM5JYuRWlJrc5mP4CGGgCSCQkHNKLF3GUrszUFwsxi/OJ1j4+pCtWB22lp8GcHTzcCvW39j1v8KpBh1IYipt3bPIvh7ERhzXUqCQZaXl7MgJwf35EmeLi6m5bOf/Zn/ccyd28hg8H56xlopcPM5MuaSl7+M6oLFjEUP405CpdNCEQ0U5VYTdUfpj58k5o4zh7Wc4xkypEgR4xA/YIIumriCJq4gTYxxuggQooAaSplLP4dZyBaKmMMwp5nPNTRyBRmSTNBFP4dp4DKGOEYnrcxhDX0c4CDfp49D1LKWDCnGOMsgp5hhmAVcxxjnLHm1gblcwwxDRCgnTB5xJpi0/VlpErTz/Gy4KUOSQY7N5sFM2TbjOJO4ZCihgQJqLBkYe2oQJAcXbHfRHOJMcZJHiVDMSj5CB61M0ksFSwjOJtemcQiSSzEZkrNwVs96JujiKPeTJsUUvQw5x7hj4Rd5X91n1KvjUF/ezKn+EcZzhsmbP8Xe9qfY2HzTzxRtzO74eet2sa3MrzVvJ8v8yloeePAnHDhxeFbp2LTmEhaPLGTPof3seuVRJqYmmY5FWXT1Gq797AfZfu8jDJzpJhMJCHddl762LnIiORQXFuMEAq8qngZctIBaOBymo6OD1h2vvKr/NS0r3/CQwKamJj5992/wo8ceIJrsY+6axZRWlDE9McUL33+MI9taueLOLcyZW3/R+99rxdzeKcvCyi/IOjo6+OuvfpXkM89QVFLCy+fOUdnYSG1dHU4oxNnpaUZnZtgSj7MlHGZFcTGxWIzI5CSrQyH+OZXie0NDlI6N8cFEgmWBAE9kMgyhUM3VSBEoQCrFc+h//ZejEMgR4J/t91uQQrIMAcBcVKfkJaRgJJHDL0RgczlSTuaisMlmFOKpQWDj1VKZgyAjH8HLaQQZQaRSnLf7zqLwyvuRurEG+Cu0lXkRgqC03d+DgMhB8NSLYOwSBD3zEJS8YuPMQXDTYXPaZ69FELQVIxXGtXZrbHyLbUybbA2fQGcjrUG5MTnAHwK7AwEWNDSwqVGnrX6no4MdsRjXzfW3sYIUtG3/+I9sTA9TlDNOQaIQp7iYE6lWzqYP0uWMUB98H2k3AaTAgYybJOlOk0cZpcwlRA5neJIgYVLELfxyDQkmyJCihhXEmCDKILWsI2EQEGWEUuYyj2uJMUouJeRSRogIccZYzO2McZ4MSTbzB5zmCc7xPGd4kiRR0iSpZwML2QJAkhhxxqjjElJMEyDADCMkCBMiYiGrHGpZywSdhMlnMbdSzQoSTFJANeUsZpoBHuVzJJiigBpC5JAhSZokDr4DG+Y0YfIooYEedpNLCcv5KGd4gjwqyaOMBFHaeIIFXIdLhgAhXNIECNNJK3FnUrlUoVGKnEpykyUEQhkSwXkU5xSxqfpuXmsDyVOMhzv595+/h5ef3MWjh8+ysHx9dsfPO2AX3cps5u1k6TvYzlTxEIVuJQsuyOs4u/c4TjrGF//gD1myZAmdnZ3873u/zmRlgOHBIdyQQ8feU9Rf3kIwFGLwdBcz49PkRCKkovGLFk+Dny2gtnv3bu5//Ce4lbmv6n/P3uM/95DAVx3o+NxhOgx0Vs9bxGTzIMs3r33D9XkvFXN7pywLK78A2717N49885t0PPMMvxEKsTIUIpZM0nP0KIfOnSNYXMwznZ1UJhK8Pz+fsxMTpKuqmJiYIJxI4OTkUDY+ziWZDCQSLHAc8jIZVqCtuf3I4Xpn+HivR1FIJYDqjtQjNaMHOd9qpDqcQjt+Qsipz6CtxceRArESQccpBBBhFBYaR3krlyJF40qk9IxbX8MojFNlY5iLQk5jCJbuwy/nP4ngqN7aTyMV5QCCqvehfJUTSO34Kn7F2g0ImLYB1yKAegRBzG8giPJCWu0IklxbmyA+uERtLBUo9DNk63EJArlzgQCVgQAnJidJjY1xIB5nsLKSZUVFtJ89y8qVK4lEIvT29voJ01ddxcTEBJ2dXfR1DlGfzFAyeYbucIKSylyqnSr6Bk8zlu4imY5REmggL1NlpfUvY4IuKmjhMD+ghAam6aWMhZTQRIo4QfpwgAiFVNJCJ63kUsYCtpA0RcMrR58mQZRhJuiimpWc4zlSxKnjEgqp5TRbGaeDGhaSYJJTPEqaBLWsJ844lbQQZxwXCJNHijgxJgiTh4tLhCISTFJMIyU0zp7po2JsCjLVso5xOhjmFHNYQ4o4ETtryCVteSn7qWY5CaL0c5ha1rKIGxnimAEZzGEVHbzIKGdp5DLyKGWcbnrZyzCnmRtZz0xlG3ff/EHycgrZ8cI+6nPWcHZqJy+NvEzr0L3My99IfqiMaGqUjpm9jOa10bSoli1btrBu3Tpead3B/tZtJOOZ7I6ff6W9divzaxNaJ9v6CYVDzL9u1c/AjJfX8cCTP+V3636bVatW8dlPfIr/8bW/5rlDD1C9ai7jHYMcfbCViuY6YuPTVM6vJa8wn572Tjr3nPqZ4mnw6rBTR0cH9z/+Eyo3Lnjd/n9eXsnFckkAjp87/ZZDYFn7+ZaFlXfYOjo6ePw732HN2BhOSQlLQiEq83VAWn1REW0jI5weHKQtkeCj6TR5OTm4mQzJdJrBkRGiqRT7x8YoTae5EqkKq5GD9XI9diG1wquVUo0cdBj4LFIG9iIg+Hvk4FtQfsputONmi13jFYorQIrMY8iBP2v9aIeGYOJmFOrptHvykUJxFEHKMhtjN1I7BhHA5Nu4quy+XQgstiJVZTXaityNCrpdhsJSu1GI6AoEZHtQcu44gqmf2PoM2bg2oPyZKQRBl9n7exHEnEAl/d9v6xi3ue7Bh5uNSEmqBPa5LlszGaaTSTaEQqxqbubqkhIOnT07m08Uzs9nFKhrb+emTZtmq3eWlJSwdKl2mVwLdN73ACdjZ7mq4XMU5ZZzrquNQprIZw6uGyDuTjBFPxGKWcaddPEKpcyjgc0UUEmSKAkmCVNAhCQJpsinymqWxMmQBBzyKCdIhAm6yKGQGGP0so8k00zSQzvPEWOMAQ5TRD3L+b+ppIUY4xznJ5xhGyGOkWCaLnZQSA1h8gmQQwk15FFuBxcmOc8LQICFXE8VSymiDnBIMAnAFH00cTnHeZDztqupmPrZk5rH6aSDF0mTpIHNtLGVcc6zkd8hj3IqWEycSfKpoJIW5nMN53mBNp4gRQzXSvEvDdxOSV4Zx6fPcHRvGyvWtpCbFyGZiDPhdHDVhtsoza/kTOc20qkMwXCAhQtaWBSqZ6r6EJFIxHc8dyXf00mM76S9Sn14TULroFPJOXfoZ0ABLp7XsWHDBq7esJnx1m1kuqPM9Ixx8HvPUrNsLkuvXUd+UYSJ7mHOPn8Ihmb42O996lVbpV9bQK11xyu4lblvuv83stfmkrzZENh7pZjbO2VZWHmHbUdrK5X9/dy2bBlHzp9nNJmcfc9xHJrLy+nu6yOck0MolaIjGmUqHObk0BAnx8YIp1IE0mkWOw4xq6OS67qzZei7kWLRgaBkGuVhbERbjX8X5aZUooq25UgV6UXOfTXKP3kSgUk9AoQKu+YRpIYsQGGRarRTJ2X9Vtu12xEozUFgchQpNIvs/SkUipoB/hJBwXEUyrnCfn7U5tCO/hDrUchqHIHKORSmakCwMmHtdeFXq30cAU0FUkXSCNqKbG2uQvVediOgeQGFeqZR6KrC5lCFVKda+7kcaHZdhl2XlxIJFtTWUg30HThAeHSUppwcPhgIEJ2a4q+3b2dROExvUxN1df7/IC+s2XFlUx279+8lmpigsqSe052HyE+HCZEHjkPGTTPAIcLkMsMYMwwToYQUURJEmWGENAmKacAhyCBHmaafoIVWpFgUk7Ytxy4ZmrmJcTro4yD9HKGX/bMnFS/mFlZwNxHL+cihkLV8iiA5tPEEORQabFxhNXgmrd00YfKZpJd2nsUlQwWLSJMkzoTBUg4jtJEkyhxWMcoZDvJ9ogxRzQrC5JIkyiS9pElSzSpO8yjd7KaUeRRQyTSDFFHHeV4gRB5DHKeJKwiTT5okQSIkAxP0Zg5S6NQw7BxiefXVFCbmcvxAG8VV+ew98gDBmjE2L/kUNSVNXLlUhxSGgxGCgRCPHv4aGze3/EwtjawDeefs9dSH//fLfzp7SvPF7LV5HQBdQ7184POfYPH65cSjMwz2DnDmwAnaj55hZOY8Q8ND5BTkUlhRwcLV/k6h1xZQe+0p0W+m/7fyN/FmQmDvpWJu75RlYeUdtGQyyYnWVm4oLycnFKKloYG9x46xqaho9g/WcRzm5ufjjo0RrKxkZGyMiZwcjgwPUw0QChHPZJiDQhMOekgBpD6cRcmgu5DT9nbnHEJhGwclh6ZRgmsuUk283I4ylET7FFJXrsevr9KIDyO9CBLqrO/b7ec+FCaaY30uRDCUgwCqH4FJEIFIEcoTOWrfqxBo1KCcFm/r9FNoW/RZ+xq1NnoQoFUihWavjfMIgpMwcI3NMe+COYZtThGkKr2M4K3Q2s61a8ZQCOwGpNAcRDDVjYBmGiiameGnzz/PZDJJQyTC4rIy8nJzWVlTQzydZkVJCQunpji1bx8FBQUXPUemZW4TkdNd7B78MTfN+wIFeSVk4ikc1yGeidLHfhJMU0MzI5wiQ4ZBjlLNClwGyJAmSA4hcgkQIIcijvJjRjhDJYvp5xAVLGaKHmKMUc4iIhQzhzVMM8QJHiZAkAVcRx7lrOQTJIkSYxSAAGFc0sznWibotFBNiiFO0MQV5FLOJD2M0k6EEkY5w5QdKNjNbhZyPUlmmKCbOONEGSafKsbosO3ICyikmnNsxyVtNVJyyaeSUzzMBN0UUEkjm+liJxlSZEhSQDUTdNHBS4TJp5qVBAmrmq8zQUloDu3O04ymj1IX/DUCuWm6Bs8wkTzKYPEp1lZeT3Wx9p2FgmFCwXA2cfZdsAshcGpq6lWnNL+eXZjXAczeEwqHCZWEKSgpZl5LM6lkkmQ8weDwMK3bX+Lwwy9z6MW9VNZXX7SOytvp/63Ays8Lgb3Xirm9U5aFlXfQ4vE4mViMstxcAC5tauLe8+d5YmSEm8rLZ4GlKBymNi+PpycmuK62loVVVbjt7VTn53Oou5s81yWGoKIJ5YdkkEP2TiVejQDgEFIxzqNci/UIHF5EjnkxUhTiSKkIAD/GV1RSyMFnkGPOQ+GTQwgaliOnX4acftTayUUAUAx20ozAYgLBwAkEU1G0bXi5zeMp/MJyPUhVud3G1W5zq0CgVG/37EY1U3oQUPRZP2PWbxeCmRob/4StQdDml2/XTtv1CXsvB+12akOwMorUqQq7dr99XeK63JhKEc9k6EokOD44yEQgwMH+flbX1BAMhykuKCA4PU1XZ+dFYSUVDtOyfikn27bz8PlJcplDODBNnHHOua0kmWGRezNVLGOSXvIpZ4hTnON5FnEreZTa4YS9xJlkjHNM0sMQpwkQZIQzZEhSz6UUUkvQTkMOk88Ah5miGwgwTieLuJVCakgyQ9BQOMogaZIUUk0dG+jjAA1cyiAniDFKLWsBh2kGaOdZogyRZIZ8KumklRKayKXEquGmLczTgQ4ZPEUBNZazom3ShdRSQA3jnGeSXiIUkU811awkj1JSzJBxElQ6ixjMnKCXg+zhG5TQyBzW6iwh12EydI7JvHbWrlnHSPQQg6kDjBf0E64d5j987tO8/ORBHj38tWzi7K+Qvd2tza93TygcJhQO01RYQF9dE4O5x+jdfpxu59hF66i83f7fir1RCOy9VsztnbIsrLyDFolECFjZfICmkhJuXbeOx/bt4+zAAOvz8igLhTg5Ps4512WouJhFFRXUDw4yLxRidHqaKQv53Iec8loEF8MoBHIGOWNPTfg/9vodCFbKkaLyIZTDMYQAZwECl3zk3K9BYZwLnboXQgkg6HnW+nDwk2drUQjpPAqxjAEPW9tK/FSIZxdSXxIINEZsPnUIRHqtfxcBwpT1cRuCjmkUdtqFFKN6BDwDCJxOolyTEbu30ObaYuszgFSdqL0+hnJk8hDkTSEVpc3W5oxd22E/DyAY2wx8BihMJChxHHal0xQGg6RjMX6yYwfV111HS0MD+44d447cXM52dpJcsgTXdWfDQK7rsndkhJs//nHuKizkH/7mexw7uJ24G6I2uIZwKJ+l3EpNYAWZZIA6VrM4cyuneJx+DhFngmqWAzplWMXazpMiSjlzWcaHiVBMH/sY4CAVtDDDKGniFgI6RJgCQuTPnpUTZQgHx2B1nATThMjFwSFIhByKWcaHmKCLdp6jjaeADFP00s1eKllsByIGOMqP6GY3S7iDChYTIpckM4xylnaeZZCjJJB6VMEiGrmMHAoZ4QwzDKPKQQVAhgk6KGMeYaeGKEPkBoopCzcyneqjN72bAY4SIpdYcJBwOIegm8vioqu5btFtlFeWEk1MMDTRy0nnp9nE2V9Reytbmy/M63gz9wyc7OQjd9zFnR98/QJqb7b/07uOsGbeorc9z2wxt3fWsrDyDlo4HKZl82b23n8/m+p13siGujqqCwrY0dnJts5O0qkUR1IpSq+9lhVVVfzoscco6+igJZUiJ5lkynWZwC+2tht/++2MfZ1DTvYAUl7KUTgnjpx4JVJNRhFcHEM1UY4hdQIEJF412AyClRRy1mMIJPYAv49CO+eQ866xfheguiUTqMbLI0htqUC5JDkIfC6z97ajfJoyBFPYuL3S/R1od8/V+JVoH7b7rkRbjDttXLVoC/NClLMyjKCiz+a5xObUj2BoDwo3daEQ0lZ7vxLtJgqhZOA2/MMeh/ALxTnARCZDOhCg2HGYDgRYF4/T0dnJ44cOccuqVdx7/jzbh4fJc11eePJJgq6LEwpRXFfHkWSS/ro6bt+8maamJlatWsVDD/6Uv//LH5A7WkRz7vtw0mGKC4qZGJskmdABhAkmmMMacimlja1WqRVKaCJNlIyTopyFlNJArbuWChYwTBt9HCDKICliNLIZcBmlnSpWcJ7nmWaQCbpwce1s5XxyKSVNjAm6AId8KolQTDGNzOca0iRwcJhm0EraB0gwzTjnSRPnFI8yTT8NXEqYfBJMz1asncv76GM/I7RTYCdRhYhQxzqWcBt7+DoVLCaXMrqdV5hxh2hyNpN0Z+hPH2bK6aTH3UtD7jqKqGOeezWLyjeTSMbIhGaYDJ/hx0//A+GSFMFAmPFYP+GGEfr7+1m4cGE2cfZX0N5OXsdbuefn5R69UVt957t5+Ov30XHwFNGlIxw/d5qVzctYt3Ytzc3Nb/nvJ5sH9c5YFlbeYbt082bu3b6dJ9rauKm5GcdxaCopoamkhERLC4+eOkV3MklpMklTWxsbly1j28gIOwcGSGYyDCOHvhw573qkBrQiB1uFVIdC/AMGlyEwGEK5HB9ETj2AQkk77LoPovDQNAKZXvQHkLDrB5FiEsYvDleCnHahjesUcuorUfgohJJ7l+EXb3OQmvIAqlVyzvpdAnwL7VLytgmX2b1XIKXjb63tXqR+rES7kGI2h0m7bw3a3pyw+Y0jeDmHQlALbBzPodor51Ho7P+xe3JtbvkIgk7YvQm03fu7Np8e6xugORikMRxm2nEoy8tj0/Q0Dx4+zIeWL+eShgbubWsjN5nkrpwccBxaJybYd+QIkzk5LLjkEna0tgL6xPV7X/hdmuY28pdf/AbtYzMUJ+eTTkQJ5EU4k2xlmkHq3A0McZw8ysmnmohTSMqdod85RK+zj0WBm2iMrGUyeY7q1HIK3CrqnHWQCTLDKD3sIU2SXvYzzSANFNoBgodYwh1EGQSwc4emGOUM0wwyzQAVLMIlwwzDpIiTQyEBQnTwMgD5VFLBYmpYRR3rGeMcPexhhDZKmU+EQnIoJI8yAgRZzC2M0M5m/oBpBpigk1rW088hMqSZx9UUOFWkw9MkwmO0JZ4glppgyumjOFBDQ/oy4ukRCiKlDLqHaIivIhBJMVN8njMTL5GaDFHnbqK+cgEnp18mNtLG17/6T3z0nlvZsGFD1mH8itnbyet4J3NBXq+toy/v46Wtz1FYU8b1v/1hqmqrOXOqje+3PsTXfvgtmuvncfN1N75h0bis/WIsCyvvsDU1NXHrPffw2Le/zdnDh1nvnagci7F3ZIS2/Hwi6TTXue7sIYZ57e1EBwaY5zjsdF2+jZzsBnRgXzUK1RxFzjMfOegJpBREkaoSse8VSCU5j4DnCmunwu5/GSkWSxAQuNbWNFJOOpEasQKFliL4JzMvR+rOUbTzJ2rzXmRjHEQO38U/yXk1Uoh+gBSTuajy7VKk4uyzPi+xuT1tYy6y7+XWZwgBhldi3wOl0yi3pAMpOv0oFNWJAGjK1rIIQd/t9nPKxtyC1KEhBGi/bm332Pc5CH5Gk0ly0mnSjkN6dJQBoC8e59n9+6mKRqnNyyOweDFbp6fpHhhgXirFb1ZVURAI0NPRwfnvfpfj27dz6z33sGHDBj7wgQ8A8I2/+T6nTx0gPp0h7BZQXjyP/GgFyXSMmDNMp/siATdMjlNAbkEOqxZtwD07n9WBO5gTWcaLI1+nN7Sb6tRKYhntyCmgknKa2c+99LGXGJNEGWYRt3OWJ9jHN1nErSSZJsYYUYaZoo9BjpImSQ0rmKKXBFPkUEA+5QxwjDaeZB7XUMp8KlhEJUuYpIcE08zlKvZzLwGC5FJKgikiFLGCj3Gax6hlFYVOFY7jMp7pmM1/iVBMeWABReEqJkLnWFtxK8lUgu7x43Qkd5KXnweJEGcDT1FdU8mZ8T305L7IwvL17B/YTl16E40Fm0kkRknPJGioXMgll9/FycFX+NG3H3vTZ7Bk7Zdrbyev453MBXltW8OjI5xoO8nqWzdzw923E52e5ujpE+Q2V3DtlXdz5uUjdLxwlGdP7mDv8TcuGpe1d96ysPILMO8fwY7WVra+9BKpaJRQfj7LP/IRnKEh3Gef5abmZlKZDOMzM5yfmOB8JsOLCAoyqPDaFgQHDUj5uBY51ZdReOU+u3Y5yjdZirYnn0VhkmNIiVmIQh8nkSrSiADhGyh3pRg5+QK042gbykH5oLXvhUxGEADMRZDyFCqR32CvdyI48c7eOWt9BJDysQ+FVa5EOTEhBDXrUMjnSaSYXIFUjW58OClHELQAPzG3BYFEA9qOvQc/n6YE7f5Zgard9tra7kC1VuYixaoIAUsvgqtSWx8vMTkPqS5nEHSFMxniwHg8PltH5p/37WN+QQHlTU3cuHIlWw8c4Nbqam4pLydkOSu7BwbILyigc2KCx779bZLJJOfPd3Kg9QT1tU0Ew53MROPMzEQZHtpLMjdF2k3hhNKsqV9BUVkhMzPTNETWsrRmM6fPniKTApcQCwsuo8vZyUT0HCXRJZQylzjjnOFpzvI0ucECSjINdDmthDJ5FFJHG0/Sz6HZrdAZ0kzTRy/7WcD1BIkQZ4J8KggSJkmcUzxGITUs5AbijFNCAxG0o6KPA5TTTC3ryKWEei4hyjBJZjjEDxjkGBv4LKBD50KZCIMcI8Yo5cG5ODlJ8oJFTLjaxp0TyiUQgpqqSkqKy0gkkgSK5vPhaz7OuaFVvHzwCbb1PE1+dB71+RuYTg4yEDtJVU0eq9a1UFpaysaSm3j08Flead2RhZVfUXs7eR3vZC7IhW394J9/SNGCKm7/7MeZmJjg6OkT5NeXUd/cBI5D1UfnEBueZE5lHQXFhW/pMMKs/estCyu/aHNdXNcF1yWVStG+dy+X5+Tw97t2sf30aXoHBpicmiKMHGsYQUoLAogiBAu59n0jCsVUIIfsVZB1UGinAqkYqxCc1AP/iGBjLb5i8TBSIzIIIAYRrBxHjvmzNp4UgpQuBD5FyLHPQ9uIlyOQWIjUmQ70R7ULgccNqJ7LuF27BAHGhX94KaSqnEWqyNVoN5K35brU5gZ+XkyPvT9l1yxFkJEP/A+UIPssfvjKsX5X4J8yDYK3UVvvc7b2821Mc1AuzI2oHP+LqKDcXGAonWbQ+pyIRnke+LPFi+kcG6MmGuX26upXbVevy8vjTFcX119/PXtefpkv//FfsajoGhaW38Cy8jKm8kd58fSPORc9yrqm61i94H2U5lczHR/j1NAuwnPGuPaOjUxPRdnz4stkCiYYGDvOotr1bCi5gaWs4cjQ0xw6/zg5mWIygSQDqRNUB5cyP3w51axgKjlEG08zxEnLN+kixCEryz/JFP04OHTwEkFCNHE5GTJM00c72+ljP8v5qNV8iTNJH2kSBAiRJs4IpymginNsp5A5BIkwxlmGOUmAEEe4n0m3DzedYMg5QcqNU+OsoDi/gr7UAUoyTQQCSvGdmBlhyulj0ZImJkZmOD3+CquWLyM/r4BljZsoKajkm4//CUXJCgbdo8SYIlw5w8YrLqO8vHx23ReWr2d/6zbuvCuZDQP9CtvbCdO906G9E+dO02y1Vzq7uiA/NAsqoL+npvWLObvtAL/xn36bJ9/GYYRZe/uWhZVfgF140vLN5eWUFRQwGovRev/97Dh8mLZEglA0ypJEghtjMcpdl36UuHoUuBOBSCNSE84gx3sKKSgj+HARQOGbU8iRL0OhjyeQQ+9Du3autrbnIQeeQU73FZRHUoTyQ8pRSGcFUj3O2BimYTafJowgYcjamG9jOYcUidPW/kIEKauQytOIwjle8bagrZcHIuuA+9GZP0lrex9SkaLWZ8D69xJz96Ik4yFrz1OHNlmb523c4ygU9Js2r/NICfqQrdc/IAi6GuX9VCBF5xxSc25CMHUC+DAqx38a+L9Qfs/jiQT729txMxluyMv7mR0GuaEQbirF8PAwhT0juG4hN33kM4RDOmitf7wDZ7qIRTMfoj66kIXl62a3QK9ovJxdbU+w/bFd/O4Xf5M77/ogc+aX8OT/OUMiOEYkUkWu08TVDZ+iJrWW4z076ErtYaFzHQvzLieWniY/U0WBU8u8nCt5OfE3nOclWvgAc7mcMAWM0c4xfsIwp5lmgFHOEmMMlwyuk8ZxHXIpMZUlSiE1TNHLMCdxCFJABUXUMUYHU/TRzvMUU09dcC2rAnczkxyjjac5wHdIuTFa8q+nJn0ZaTdFVWA+x3iEw4kfszD/CsaivYxmzlE4x2VJyxKe3HMfA84hljb8+ux6lhfWUFvSzMrS91GVu5AzQwdoWFE4CyqeFeaWkYxnsmewZO0NLR6Pz9ZeyaTT9A/1U7qwZhZUPPNOc04lktnDCH/JloWVd9i8cvsbJyZmc1I8q8zL4/7nnycQi/HvCgpYmUoRxE9KPYUSO72CZ2tQ2OI5u8bLix+x1w8h8MhHyazVKOm0CcHKAfzdNQeR8jEPwcG4Xesgx/sZ/GJoA8gRe8Xd6mw8AwhaphAIddnYBm1cceS4e1B4KRcBRR2CqCb8EvwF1tYkApFc68+bXwBB0zNoN9Fl9toUfqjpUevrVrs/1/ovRmGmG1Fuzr1Ieamx/j0gG7GxbEGQFMIHuXzrazeClAa750FbP6/qbonjcFUgQE8mw7NHjnDJ3LmU2fEKF9pQNMrgzAzD27aRHJhmKi/Ns4d/yJoF11JT0sSxjh2Ep6u4uulTtA3uobOzaxZWHMdhY7Mf0vjo3R/hwx/5EIde+R8cPfQg0f73UZ5fT04ol6LCEkYDbQQIUZbTgJsXIzE9TiCSJj9VxVi6i1RghkWZm2jgMmqdNQScMBG3iJSboJ8DnAo8xohzguL0fMqYS2G4kvxQCSeTnUxmOqjKLKfEbaTMmUvKiTHjjpAMTDOWPqd+mc9cNlPBIqqcJYTIIxDIoTazlnHnHJGcCJc3foyp2CjjmS7c5BTpVJwTgQeZSLczJ7yI4qoC5i6u5sWOH+DOa2dBTRnnB49RU9KE4ziqQhsKEE2M0z/eQbBwhsbGlp9Z96nYKOH8QPYMlqy9oV1YeyWVTpN2M+Tk/uzfzIWnOWcPI/zlWhZW3mHzyu2/FlQA9vX0UBsMsiyTYXMyyWg6Tanrzr6/CKkLu5ESUYNgYD0KnxTg1y5Zh/IzHkEhl2tRzsajyAnP4IcxFiLHO46UFm83kYOA6HmkmHg1V4oR7Py2XdOLnPdKpPj0I8AJI/XheQRa86y/6/GTZ4+h/JMKFEaasGtzEJx4lWczCDymrb2FCHLWWV9HEOxEUcn8Tuu/Cm1fXmCvPYqfg5JB0LQVqSmj1naN9RtEwDWCYOQs/i6ouK2fa+8fsfG1ISXpWgRSXa7LXGCJ6/JSLMbY9DSjOTkkMxnirkvEcRiYmuJQVxfl+fkUJV0SwTyaXJfQyYd4tnsnq1b/Bme6TjA/7wYCgQBleXX0dZ5h6dL0bLn+14Y0mpqa+N0v/ibf+l/3cfbkQ/RFG8mJFxJzxxnK309jzpXMKaujrnQRw5O9TA2P4KRzOZ95gfLQXBambmEoc5JpdxDHisoVhStoDH2KdCZKcUkBvRNtDIR3MhUupTq0hIbQEkLTIYoTFaQTM5SxGAIuKeoI5sDJmWfozxyihAYawhuIM05/+jCOE8IJQHF+CfXJ1Zxxn2ZPz6M0NNbRsKCUE33Pkp45ybI5tQSCfbjOKOHyGmYqu9m4WTVRBgYG+NG3H3vVyciR/AC7On/MhtrbWbFuyc8U43NdlzMje9m4pSXrTLL2hnZh7ZUlG1YQdAIkYvFXXfPa05yzhxH+cu1XAlbi8TibNm3i4MGD7N+/nzVr1rzbQ3pbdmG5fQ9UookEE4kEecEgRzs6qHAcVoZCjM3MkHFd0q5LBjnOMWsnHykC+/EViTmovogXkikAPoqUgWcRhHQj0KhBqkIbAog8BCdJFNaoRtDRh1+W/pS9FkWqRb/1X2P9NyAAKkSqDijP5Iy9V4YKui22/iIISEAhn3rrYymChh4UHkpYu7kXjP+EzbXL2i60sdxna1SHIKQE/QF3oEq0DgohxRHE9aMQWLW1OYPUqEmk0iRtHVcj6Dll6zkXQVKhrU3Mvp60uVx7wVrkAX2uS8h1mUmnmY5G+WY8zpOOowMqXZfE5CSXhsNcVl9PT+cAz6QcLqlayq1Vy9k+0saL+7/FRLKI/LwyAHJCuWRSLum0DyvwsyGNDRs2UP0X1bzSuoO9Lx0lFu0mL5Rh8Zl6NpddQz5V9HV24GZmmJkagWCaiekulofuIs8pIpTMoSBQyXimi3Agh/rwGgbTJ6kNrGTI3UvDvFpSeQUUujUscm+jOncBz3fcy0ygD9eF7uQEualSckL5xBPjdGReZtQ5w+rIRygtKiGTKSYWjREK5FKcV0EkJ5/gjMPp6FaOB++ndOFG4vPqufMTa9lwyaepqamZ/R//axMnm5qatHPjggJvkXkTFASHCBUOU1tby4WWLamftbdqXu2VPU+9THVjNX09Q1TVKxTkui6Hn9gxe5pz9jDCX779SsDKH/7hH1JXV8fBgwff7aH8q+zCcvuvdHZy/+HDnDp/HjeVIuE4TLsuLZkMRaEQx+NxEghMvD/1GArZLMav+TEXfdIvtGu8bcFeTsVmFO5px0+4bUQOdciunUYwVGT3F+NDwbD134V2z4CUhCvQrplGlNcxiSDjqI3tKhROOWVtDiJlYw4Ck4Bd+zQCCS901IMSfU/j7/Ipset2IRC51sbwHIIgb3v2hM33Bruu274uR1B1ENVIaQF+hEI2XpJyDIFVDQqNeTVbdtk4vTyc5baGBbbGjq1f1OafB3zV1rUQJd0WZTIM2v1Hx8bYEA7THAyyJBymLRrlaDLJvrw8GpJJjiZjdAfLubq4EcdxuLq8mfb+g5xOjRMNK3snkYoRCDuvAhW4eEjjwtOCp6amSCaTfPXP/o7CWC7LGpbPnvw8MDDArlf2Ej09QibpkghOkXSi9DuHyIQTlAUaGM90EQuOUF+xkN7MM8yUTjE9mmRgdIjzyXY21nyEheXrOTOyl0m3h5BTRioVJ+lE6U7vYTByhMUFV7Gq9nJqy+fhui6JRILJyUmmxqeYzkwRC45QWVnFsmuW8pd/+yUKCwsv+j/7i712sZORDx48aIpLf7akftb+VXZh7ZXpI21EC1ymRycpKi6kY99pUkPTXHXrdVQ31mYPI3wX7F2Hla1bt7Jt2zYeeOABtm7d+m4P519lXrn9fzpwgP3HjzNvepoPZDIUJpOMuC7Pui77kNpxGVIs8pEzPIGc/AL8WiUh5KzrkGOdRk43gBxq0q6rQArMAmAnUi+O2Zj2IZVgyr7Cds+YtbPHvp9AW5ZXI6d8JdoZVIJ2DkXtujqUYDrH3t+EwjK3IXAZRErGUbQLqAr/9OefohDXMP7WZBDAnMEPr+TiV9t9DD9P5nKUX5K28c+z+cTRNusAUpMW2e8nkOqyEr/K7fUIYCatjaWo9sqPbd4DKATViYAuYM/heWvjcqSw3ISgq9zWcCcQCgS4OhjkmoYGosPD9CeT1AeDbIhEeCWT4avnz1NUVMzaQDl1EW35dRyHNfmV7B7v5lx0F/MLNzI600PdgspXwcobhTQ6Ojpobd3BgdYTJGMZ2s6f4PxIgrpCbeENBoM0NDSQd10uRyYeZ3TwLJOpPlKRCdxgDrmUEnX6yOTM0FBWz+nJlxiIt3NVzu3MW7KO8yf66e3u40THXnIKAtQVLWGMXobCuykpKyKWHqCuIcmdV3+E44/HmZocxHHmEwgEyMvLIy8vj8rKDJlMhnODj1BWksuWWy+nrKyMt2MX7gKZrZWRLamftXfALqy98sT2p9n9+B6cSJAla1ew5qpLSafSPPa1+7KHEb4L9q7CSn9/P5/5zGd46KGHyL9IUuLFLB6Pz57CCTAx8caHUf0yLRwOE6is5Nn9+/lwOs018bh2pzgOOYEALakU/ws51A8hEAE5+CbkwHvRDpcKFMYYxU/6jCLn6P08iBx7M3K6qxEAbMQ/z+coUg9WIwc9gyBnCKkxYeTM9wP/hBz3GAIFB8HIHOTgHfteae+nkDOPWRun0Xbpcwh8ymys+9EOnVUIGP4ZgUsQAdoV6MTlPPwckhZUuXYJ8G1r6yYEeWetj3pbt9PW1kaUs3IlCkNdCnzP5tyEwGkQ/xDDoH01I/UmYPM/Y+vvFcvbb+u6HsHlS9Ye+Nule4C96TRVqRRFVVUUV1Ux0NVFd28vA6kUFbm5zI9EqF64gCWTLt0jbdSXq8JxcSiXivwyYqE+nu/4Dg0VC2lsXIJnbxTS2L17N/d/53Ey/ZUsLL+BwtwyysqOs/XUD7jvsX/g9vf9O+rr6wGoKK/kio3Xsrv1AI056ykunQMZh+hMP5CmKK+IeGCA7tF9rFlwFb/+vj/GcRzGF4xz6OAhTh/uoG+6jcOpx9m84mY2zllHT+wY4TkFfPy37qC6upq/OPO3tO98nvzhMhoqFr1q+/bR8W30Zg6wcHExl22+lHfKLqa4ZKX5rL1dm/17+uCdtLW1sW//Pg63Hadr+8UPRszaL8feNVhxXZdPfvKTfO5zn2PDhg2cO3fuTd335S9/mT/90z/9xQ7uX2Hn2ttZkkxyVSJBleMwJxSarbVSgIqXPYiSPj+FnPkU+jQfRFuJ+5CC0I3AJg14h5lXIqCZQKAygpSEEHL2LoKcyxGcpNFOoYcRLISR2nLE3q+1/ufgnw80htQSL3dlrrWfRtCQa69HbIxeKGkOgoMUgpxbERjtQspEBqkha22uJ2w91iBgGEXbi3sQkIxbH3n4FXmPImCLWbtF1n8KKTCHgb+z9r0dTOdRVdoxBCSV+DuRBuz7+2yMngrzCAKiiM3/FlurwzbXFfb+K7Yeq7Ft5skkVTt2MCc3l9W1tZwrKaExmaQkECCeSvHK4CBLLr2UkwfaODUwSnleHT2xMWacAOHiOGcTDxEuvpTuyTzGk28c0ujo6OD+7zxO5cRGNq68aRYMmiqXUFlUz788/3X+8Zkvc93GDzCnspGp2Ci906eYLD9MadNyblj/ATKZzKyCk0qleHD7t6Fwmg9f8aez7ZWUlHDlVVeyfMUI58938MThAc6Gt5I/ZyVXbG7hss0fmh3Xp3//bv73l+/lpf1/y5yptVTnN5NihnPR3Qw4h1iwrozP/P4nfiH/o8+W1M/aO2nhcJilS5eydOlSksksCL/b9o7Dype+9KWfCxO7d++mtbWViYkJvvjFL76l9r/4xS/yB3/wB7O/T0xM0NjY+LbG+lbszfyxRqNRzu/cye2uS57rUuS6RBMJvD1B48hR9yFnOIOcXB9ymCdQ+GE5CoksB/4Lyvn4NeSQu+z7MAKFE9Z2P1Ir+pDT3YSUhxkENg5SO6YQ4Hil+pvxtwXPoB0uCWuvHjnky1CoZRz/kD9vu/HL9v1J+7nA5vhhBFUvI4j599Z+u7XhWczG0nXB63EEE0etnwVICamwsZ9BAFOBD2hRFJaKoVDVFAKyGQRZR6yN1finPU/YPKtRIu8OpL5EEFR5SleXrXOz9eEi4Jmw+axDYauVSHUpSaepiscJjo1RVVjI9MQEywsK6J6cZKy/n1AkwqYr19LZ2UVvRxsvzfSTWrKCD39yE01zP0TH+c43FdJobd1Bpr/yVaDiWUv9JXz61mr+qfXP2Dn2XeaVNBPOD7Dlky28v3At2x/by9Zj//CqPI+2od0cndzGFavuZE7pXF5r5eXllJeXEyr/OOdyt/LH//0//IwiumHDBv7rX1fzyMOP8uyjz3Gm6yFc0lS2FPLx267h9jtuy34izdr/7ywLwu++veOw8vnPf5677777Da+ZN28ef/7nf86OHTt+ZtvXhg0b+MQnPsH3vve9i94biUR+qVvFOjo62NHayonWVjKxGIHcXFo2b+ZSO0H3Qtu+fTsjHR2UJhKzW4G9cvUx5CTLUQ7HTgQWJ5AznIsUhg8jCKlAD2cJgowRFOYot3v3INUlgkJAGxB8hFHYotfu2WWv5SKnv9J+HrXxYD8P2li6kYIwinJQBvC3EHehkFQ1cuovopyQUgRZVQgG1iFl4wCCJq+mSZ5d04h/EKMXUpmy92oRDBQhOPpnBBwJBDE3ozyaXgQIY/ZeDgoHpWwMJbZeL9saLMPf9nwTCukkEdh5O7GiNubnbF2G7Zlssj5esLZqbG0qbf09xaXU1rocOJNK0T06SiQWYzKdZjKRwI1ECKXTDPb2Ur9qFcXFxZwLn6JqVTN/+MUvsnDhQgAuu+yynxvSSCaTHGg9wcLyGy56xD3AnNK53LLqM7RHtvKf//wLr0pmXbVqle0i2kosmiI3P8TqDyxkclszy8s3X7Q9z0oKKiEZIpPJXPT9pqYmfufz/xe/9dnPMDU1BfC6ibRZy1rWsvZm7B2HlcrKSiorK3/udX/7t3/Ln//5n8/+3tPTw4033siPfvQjNm3a9AZ3/vLswkq0N3gHEkaj7L3/fu694EA6ENRs/d73cBMJJoE8xyHougSQM3TRJ/w0csLlwCeQA9+OnPVtyIF22PXngDsQsHj5JHH8A/2WoHyPYgQgEXvvcpTI+tQF792BwjJe+Xwv02eXtX0JcuDXIFD4iV1TBvyLjfEyBBljCFRGUXjlLL6DX4rAx8tJWYYPPOX2vQ2/yNo+a+tuu9fLtamyfncitabA1qUPPwxVilSbJgQrnQhs/gfwMVub+TaeM+jE5SO2LnW2lmmb5/O2Fk0I6C5DytJBlOS7yNYnbPMZsmeVRGGmDP7W8yHXpQIoT6epTKVI5eZyZnqa+2ZmoKSEw21tTJeUcGB8nKGaGj5wzz2zoOLZz/skF4/HScYyFOa+cZJqYW4ZmaRz0fZcQCdBuLguBEMhciIhpmKjF2/M7M0WWguHw287iTZrWcta1i60dy1n5bWqRGGhNucuXLiQhoaGd2NIr7I3qkS7qb6eJ9raeOzb3549yGpHaysFZ86wMC+PXckkH3Jd8lF4xcGvjtqLoKMeOfMA+mS+Ff9gQK9AWhH69P4CcqhJBBO32LVp/OTbXAQWXiEzBykPp9BW3y/g7yLytvAeRErKtSgpNYqfO/IJBDX7rF0vX+QVG3ctcuq1+CcdH7XrTiJwuAmpHE02/jgClsUIOhYhGNmOoGrM5uhtYx6zcbbY+M4iqMhHCtQqBA4vIAipsfF7Y+1EgLYJ7fY5gkJU/QiE5uNDzjD+Fu0uW9N6W8+XkQK0AeUZPWzXLbLnuc+e09MIOr1dXUOuSyqRICcQYCQcJuq6DKRSfDca5bLcXFbdeCO3X0ShezMWiUQI5waYir51sHh1Uu7NFBYoDLT/J3vpmDhPLP00S+s3XVSxyRZay1rWsvZu2Lu+dflX1d6oEq3jONzU3EzbwYM8/+yzvP+DH+TAc8/RMD3NquJivjIxwfcQIHibT73EzvtQmOYjCBrS6CGsRXkfBcgJjyJn+k1UyMyrN3Itco47UF7FY/g1QcLIyS6wNmqRY34fgpdBBAGtyDm3o/DTYrsuHz9BtwmBRqf18UEUEsnFP9dnEDnrqLXxEgKVa5BDb0DKimNjHEYAFLPfi6w/UKjrcQRf9aiOSzOChWMISEBn+8y/oJ0ggoxNtq6XI/gZsvX6qY0tgSAEm8NPUDgriqCoGRXSq0VF9p5HStUKlOzszTVuz+ohpNxUIEDZaV85NversW3PrsvhZJJzjsP1hYW0hUKcnTeP//xXf/Wmd8BdzMLhMGs2t7D7/r1vCSxeLykXYGn9JrYdLOTF0z/muYMPcM3qu171frbQWtaylrV3y35lYGXePBWR+lWwi1WivdDGx8fp6uwkc/Qo/7B3L9//yleYGhnhtslJVqXTXIZCK2dQjsUc5Oi2IqcbQduTVyEomEH5Fr1I6fAKrVUgReIG/HDIo8jZfgQ5xkP4Z914Bc12ICfdj8IpXoXap6yfJgQ9DyMoyLd+p+36IIKGFAKDCQRAm/ETbaMIQhy7t9SuL0HhrB+iP67EBdeVIgiL41e5LQH+CEHOkyjUsgiBTBUKhY3ZWtbaa3MRMHWjUNhK/HL6E8Bv2TqN2lodtfdL8UM4LlJsqmze54H/ikDkbqT87EN5L3MRfDxg4+ixtT1m7b1obV+Hf55QF4KVEtdlQyTCR4qKSCSTDE1NEUil3hFVYvPmS9m7/V52tT3Bxuab3hRYvFFSruM43LD61+kYP8rhqYeZzhZay1rWsvYrYr8ysPKrZBdWon2tdXd3c3r/fpyhIerHx1mQSnFTJMIPpqaYiEYZc13+cyDAX2cy/BhBRglyjj1I/bjN2tqNf5LyYgQJT+DX/4ghlSGKnH4aKQjrkBNvRVt/b0chkm6kBCxD6sJOu/de5DgHUCjjTgQ4rQiYSu39fqQg5CCnW4PCMmH8OisJpN60I2fuJfL227U1KCelAAHITdY2dm8EwVGj3ZuysdTa2FbgF607iF/RdgKBDAi4ZlDoyNsHloPybp5A6spyBHL9CN5CSHnJs+fhnRbdZH2UoTDOw+gE5qW2pu32DCZtzbfiJ/duR1AVsjnVo9ygSxGMbgDqXRd3ehonN5dyoDoQwLGdZf9aYGlqauKj99z6M2fmvB5YvJmkXMdxuHzhnRxJ38/6LWUc2pkttJa1rGXt3bcsrFzEvEq0o9Hoq14fHx/n9P79VE9NkRePEwPmFxVxS00NXdPTnJmaogNozmT4U8fhWuAfXHf2k/wMcqgLEIzcYd8rkXN+CoV2FiMneRKBQhH69F+LnPk8BBoVKHQBCmOMIEfqXVeHQi+XoJBHAsHLDxAAOEh98BztDP6JyC6q/TKEHPlBBCI7EGR1INWiwcY4hqBkB1IpoggqtiFlyIOtXKSsvGhtV6Mw0zEEYXk2h+MoN+d2m/tzCCBKrK39to5ePlAAQQ8we9bSXJSnUo1yV+bY77sQ3CywtQ9aOx/G30Z9wsbZi9SwB23+t9izaUbwF7e1rkU7tH6I1Jlhm9cCYDqTYdvgINcVF1NSWkp0aopAwEO4f529lQqubyUpNy9ZzB3vv4MPfySSrS+Rtaxl7V23LKxcxMLhMC2bN7P3/vvZVF8/+ym0q7OT/OlpKh2H9pkZ7k+liDsOXzp1ir1jY0ygT+N7gBtcl02BAP8nEGB/Os1PkHNbjsIPXgXYUgQH30QO/kq7rgZByQbkZP8YQUMCf6vtMvvu7b2qQ0pNBDn7K9En/GIEAdcgp/oEUhGKkUO9Gr8q7iSCCO/8oAPW7gs2r6U2hztQPsuD1v+H8JN825BD92q+nEYgUmGvvYLgotDm/7T9vNjmfAgpJmttvgV2/aT97J0YDYKqjH0ftuuGEIDl4xeHq0BANteuPWR91yCISl7wfIYRzLTZczpoY7sagcwRa7fB5vki8EkUzvoRApYVNucrEBA+C/xoYoKg45C/aNHrbvt9O/ZmK7i+naTcbH2JrGUta78KloWV17FLN2/m3u3beaKtjZuam8lkMgx1djI/EqG1q4sHZ2YochzWhcOcmp7minR6thpsDEHCs5kMK5DD24Gc5BzkhMfsOq8ey3bk/LYjJ1tu1/QhR7kGAccIUi4mkOMesHa8HJNxey0fhXh22utRe68YhT9+gJxxCjnrLfZ6HDnXceC7CCy2IGhYYmMpR2DyANriez1Sf0YRRFyHwivftzFWIdjJoDBTCKk4xxEkeA69xK6dQLk+hTbfUmv/O/Z+CCkeC2y882w8O21+4zaXPgQeq62tkzae99u8jyH1aBQfBLE26xHknLRxNaOw13br9wqkKK1B8Pc1ew434of2liJIKkPA92MELPUzM7+QWkE/DyzeblJu1rKWtay925aFldexpqYmbr3nHh779rc5e/gwq4qKOD81RXssxr9MTrLZcdhSVMTWWIwbgPWuSyEKH+zEd3T/hByWFwYZAu5HEJBATtEraDaCPo1vQc51AqkXD9i13tk2U8jZgz7hx+1rEAFOAUpSPYV/fk8IOdN/QnkZaRQeATntKeTga23shxBgVSA1YSNK6t1l9/7U+rkeAcxx/Mq2Qwhs1uAXpduE4Gi3jbPAW2fk4Fvta4G9V2rjiKFdRj0IwNYhcOhEiscjKEdlyNq+HCk91QjIkgiePIUmYu8tRvknJ/HzchZbf95uqBQq9na1fT+P4Mx7Pt7W9CXAPyK4G0Mg8zVbkwA+QC0G1rouO0+c4ODBg7M1en6Z9naScrOWtaxl7d22LKy8gXn5ADtaW3n6pZfY5zjEYjEWh8P8Wl4er7gulek01wQC9DgOk65LEXKGw2jLcAg5xAhyZM8iB38nAo5B/NOJr0JF1hYi5zqCckteRpVc99p7jfil669AjjCFwiRzkPPNICVgEVIdehBgtNk19dbnGgQrh9BOlykbfzUKmUyhxNIbbE0iCIxiKAyVj3bbeNt8XRv3GAqxBK39h/EPYlyIHPiIve+Fol5ECkzark0icHgW5d004StJ820ehxGUlKHE1giCtOdQXssWpKwcQ+DVbvOJ2jyusHFOoTDXszamXluPlM1x2O6/DIFUGcwW/EvaM83YPD+Ef3zBMfu5CClndzkOfVNTPPC1r1H9pS9RW1v7S80JeatJuVnLWtay9qtgWVj5OeblAyTvuovvf+97PPoXf8GtlZWkJyc5nkhwhevSn0gQNFBJI0CIIweYi58/shO/Smw12r2TRDkstUg1qLSvGH4uxQ0IPLbhV6KtR/kRO5CT3oNfK2UG3+l/GuVYbEWO9bPIQfciJeIQAqLlCBa8fq+xOTyKwONxpHzMIFBI41dzXYAc8RSClQq7d9jeb7fXvDyUK21d+pBacQSpRyutj0n8BNntKPy1FMHAXPyjAFz8vJcipKrsQcBw3n7fYnMdtz4nEeBMW1veuUgOAqgJBIfb8Hcu7bd1+bj9XoD+4Xj/eBK2FnfYuJ5HEPq8vZ+PQkkVwNpgkBrHIXT6NH/91a9SBiSjUdxwmGWXX84VV131CweFt5KUm7WsZS1rvwqWhZU3aeFwmMsuv5wHc3NxYzGmQiEmpqYgk6EYKAoGmUmnAX3qrkIO6hBytueRotCCQhidaPE9h38zcqZddl3A7j/Dq8/rOYwgZSMKPzyEgKIChVq804i70e6WnUhlWImUkMvwd9RUI9Xnf1qf4ygklYPAYi9yuquR0y9BCs155MArEJg1IXjB5pBv7VfaOkwimLgJOfR8BDM1SFHZjvJbMgimHkYQ5lhfN+LnsoQvuLcJAUUAJbXejw9JJUjV+Ipd49qcqlHS8o/wk2OX4QPNPAQZ1SjnpwAB4w6bxxRSWy78h9ODFKMgyk3ZiZ65V7LfOzixG/hJKsVYKMQl/f0c+ulPuWvePJzRUSYTCVq3beOJ+fP5yO//Prfddhu/SHuzSblZy1rWsvarYFlYeQvW3NxM06pVnD9wgLx0mmHXZSyVIi8YJOq6zODXR/HK4+chBxhCMOGFa0LIsVbaa432Wht+hdghpD5EkJpRiRy3i0I6AQQHu+xnrzibl1jq1UzxCsaVWLsvo23StcA9dl/C+n4RKQz/gpSXCuv/NPBR5Hyvxz8l+loEGSkEF7n4+TFH7PqTyPFfi5QQzyVOIdXmVqQ+HQE+b+O62sbQaXNIIlgbtn4WI6DIQWrNCeAztjb/gnKCcpF6citSUl5GADZs712GwmvXIHVoAp06vQUB5yV23UkEJIUILCvxoey0tb3Qrhu3ud0OfNHW+5S9txkpSC+k07gjI1QDTX19NBcUkJuby0wyyQMnT/L1//gfAWaB5Rd5PH12t0/Wspa1/z9YFlbegoXDYa7+wAc4PzZGZV4ehU8/zZFMhssBgkHSQCKT4Qxy4A0oB8KrknoJWvBDyNmOIsXBsfcXIKd9Ajnscwh06tCn/RRylLfjh1gqgf9l9+fbtcdQ2OSgXfcxBA+lCEi2odDRzcjZ9yAF52r7+YC180H8E4e3A3+PQisbkULyR0jZmUYAUoyfj/Kojb/c+r3WxufgqzdjKHfEqz+zw8abQSGxAygsdBopHIPI+V9m7YYvWLtcpLb025pU2NruQnC1yO55BOXIfAadf/Qn9loZgjYXJfAGbIxVNp9DaFt6PVJkZhBMeruRQFuwe5CKdRV+EbxmG9dJ9IxjwN6xMfKLithcXU1O0DuUAX6vqIjh9na+9zd/Q0VFBZ3nz7+pE7+zlrWsZe3fsmVh5S3apZs3c3z7dtqGhlhXX8/xoSGeT6WYF40y6ThMIKeajxz8eZR4egaFGqqQ2jKDv5W4EqkYC9Cn927koEsRtIwjVSCOwi+34e8wiiNHWGb3eLkan0aw8lcIGiqRsnLY2rwRKTgpG49rY4whEGlEDn4pcvreeTiPIzgoQeGhPQgkViIVZBty5u34uRoh/HBNP4K4HFvPUvzy/ZMIcjII2tpRiKYLAVqprc2F5dRCSC1ZguClz17zquI+DvweSsaNWD8pVNW3y55VJQK1Ufu5zdY7z+ZdjpKlv4MAqsLGmmc/p5Bi0olgaj1+EnLGfo4gECsFtgQC/PdMhpbcXBJAKpUi4zhEHIdwIMAtlZW8dOwYf/dHf8RlJSU/98TvrGUta1n7t25ZWHkbltPQwDdffJFkTw8zySTbEwnWZjJsQo47hRJcD9nvbciRPY5CDKPIaWI/L0WqwgMo+dWDlxFULG4HcsLF6PycucBvILDpQw53AkFGK77jrkNQ0IBUh0kEJHfgF1VL2r0ZFAKpRcrFafTHMWDjCKMwxmGUA/NhpB54oPQkvjJRg0JGuSjcNAF83a7D5rHO5rECwU8bcuZ7rS+vYF6njaXO+uxBCscqG99TNv+b7PVpG8dS/LL/l+An+FYg4NtlY34fUkY8YFuCAGmfPb9aBCDVtm4/svHdYmvohXhG7Zqz+CX9J6zNpM07YPPoT6eZAg6MjPDZw4cZS6XID4VojES4tKKCjOsSmJ5meUcHn/3oRwmF/H+mFzvxO2tZy1rW/q1bFlbegu3evZvHv/MdKvv7+fcrVvDS5CS7Oztpdt1ZQAkiJzUXhR96kbM8h1SDbuS085GTdFCY4BVUDXYSbSfeY9eWI0iYhxz4IygZ9Qh+LsYkAoAepBZsR05/CDnIo8hpT1obRejTfghBSieCktPI6ZcgJaDU+h9BSlAuUlOeQ6rLQfycnE4U6rkWKSJtyOGP49ckudba83bz7Lb3ve3PtyGYm8Cvd7IDqSwPovDWGqQonbB7pxDgefVnum1uDSjh9gbgd21u/QjErkHwtANBT9KuH7bnl2NtDiP4mG9zWGXtfMP69grJFeCHhcL2HK5FYBK3a4Z49ZlHEeCaZFLbvwMBjqXTdCQS7InHOZhK0QBsLCz8mUq33onfZw8fZkdraxZWspa1rL0nLAsrb9I6Ojp45JvfZM3YGLctW8bUxARPp9OsDgb5bCo169iSyJFtQg7pvwH3IWhYjRyYV/jsOPp0/yBytlEEGi8hxeQOFP6oRE4+H0HCj1EOyzn0yb0XqRlxBBu1CAT2oFBPF3Kym5Gz9HYXBVHYqA3/FOX5CGa8ark1SJHwKuOW48PWGZSjsg+BzdX4dVWeRqGXGptHqf0+x+awEgHafcjBn0PAcM5+P25j/Ax+zZOdCNSwdfZq0wzbWLsR5NyEdgdVIZXkqK1TDD9faBkCjLiNxwMVr+R+2p7Viyislo/+sQzZGl2LAO0c/rbno/Zzr62zpyTNoOeZsvvHkKLT7LpsCYWoDIe53XV5IpXilVQK4nEWhsOkXJfgBfksnjmOw/rycra1tpK8665sgmzWspa1f/OWhZU3YR0dHfz1V79KxzPPkMzLY/u+fTgTE3SOjfFhx2EAqRFFyKk2IAjwdtPMoGTW1Uh1GEGfslchx7wbOfpBfEXlBnttOXKoQaSMFCIHnkBl3r3DAS9HysRTKFTh4h/e51W5PY2A6l7k7GfsK4MceZ5d12lzGbS2FyNHm4uUHAfB0gBSKbaisMgkOuDwRfyDEqdRobvzSE1J4J/ZM9euOYSSgEet3WIEHJttfgsQOHwMf6fPGH6+ynFb5yW2xs/Yml6PYGkxAscqBG4HbP5rkMpxpbVRgn8Y5HIESzEEc9W2fruR8lJh42tHSdR32Rq12RpuBX7N7u9FMFiKv7trka3xoXicFsehLhTixmCQfbEYKcdhjuviRiIXhRWAstxcMvH4O3J6c9aylrWs/apbFlZ+ju3evZtHvvlNks88w0eSSSonJ5mcmWFXNMp4JkMOcvJ96FNzCgGA94m8Hzm3xchRemGGBuQQt6Ay7WXIQf8jgolNyKGeRM47iBx/gd3bbOMrRZ/034dgYRdyhh9BznofcvSTaCdLBQKCUwgwRm2MKQQFz6KdQt65PPtRyClgY3weOd8QUkzmoqTaYhvbK8jJXw982+YUsTHHbU4Xnkm0EKkT863/dptnwMbunaocQzBxHf4xAlMoxBa2sXr5LF6OSIutY67dX4MAYQoBUhG+upKLFKxSe04T1l4MqUqPIPUlhiBkAIWiVlm7q+yev7G5bkOw12BzCePXX7nS1nIVMJlOcyweJ+O6pDIZ5gYCJNNpCIcJxOOk0+mLAstoLEYgP/8XcsZQ1rKWtaz9qlkWVt7AOjo6ePw732HD+Djh3FxqJyaYk0oRcV02uS5fQI7cRQ4wg1SDdgQIVwH/EYU8XPxD88qRExtFyscVKBwUQuGJOfZzAr/6az1yqlEEJP3ISZagHSt96JN/DMHGLfjFyALW11oERw5SFIpQImoQOeYxpIxUIhgqQSGggPX7IkrgLQL+bwQ0zyB42I8UmZNIRUoiGKm0+zP4O59K7DrXXnsJwUoMOfWltv5r8RWhIQQIxQiQvKqyz9hYK2yO07ZmXiG4U/iF3NL2+kr8HUsRuydjfVfZ82m3Z7IfQdh5BDbLUaJvDkqYftR+9ubmWF8JBFv7EcQ4toafsXVrcBwpNK7L4XSa7fE4M8Eg465L1HHYGgjw0VTqorDiui57R0Zo2bIlq6pkLWtZe09YFlbewHa0tpLf3s68vDx2dXVRHI3iAMFAgLZAgEw6TScKhaxGDuplFAq6G4VzulGIoAV9Qh9HzrUMOTEvwTSN1I8YfgjmOgQubUgx6EHO1UEOtNDuOYnCGKfxT1sOIwfsIqWgAKk7M+iT/TT+uTxp5FSr8cM6q5HSkYfveEcQgJ254L4Gm9sZBCg9SJ05aGPaj0BrysYQsO8Z5OQTF4wziABsOX61Wu+wxbD1UYjAoNn6vxPlveyyfmptzNg46myMXoLxIMotKUe7r7x8nIT1n2/P5iC+wlOJwjbbEVhi196JAK6DVytU/fb+lSjU9CN7rueQGtNkz2EmEOCU47DDdSlyXW4IBnGDQZYFgxxJp7mvq4t5fX1cekESreu6PNHWxlBNDbdv3kzWspa1rL0XLAsrr2PJZJLnH3yQJW1t9E9PQzTKZCpFCOhzHJ50XW5BO0pOoJDPOHJSCQQc3vkyeUi18AqieQmqIMXgMHLy2+26PAQgI/Zzs/08iFSHTpSr4aA8jeuRsvCMvd6Hv+uoAKkEG62/oL2WRsrFZQiEihFYpJDTP4Xgx6uJUoR/CnIAKQq/jl+h9rj1uRzl2ixAQLPXxlZp73mJrlEEEi8gWGm3dj2VI2TzxMa0xMbcYfcOIAB6xO65HYWE6hAwvmxr1oe2R+fYvJttvvdZn3F7BgtsvXpRiGgYqSxeG/k29s22DjNIbVmKnvvRC+aShx8qesKuvcOe325b64Tr8nI6zd5gkPeFw6wOBGgsL2f/zAzXV1WxPBrlxXicv3ruOT6xaRNLKysZjcXYOzLCUE0Nt95zT3YnUNaylrX3jGVh5XWsra2NU7t2ccXICM2hEDPBIFPpNH2uyyHXpRqpJ5PIyf8vpAq0I6e0HSkiLfZzA3JyCfxEWQdBgFcC/hX0QGaQ49+OIKMGgUPY7n8UqSW/g7+rZSVyjsPIAT+HnL9r748glSaFgAjkgKP4tVF6UeG31ahOys34pxPnINDZgZJcS+21R63vaaQ+rEBOvxEBxI+QIhJAkJJjv2eQgz+M8m1W2HocQXkxGxGYeEqKi2BjGsHBGuvnBRT2+oCtZQJBzHUIQJ6yZ7IKqTReYT2vWm6Drc0eW7Mya6/J3m/Br83iZYcM4+fWLLNnsw2FyByUp3MJUlt+au2XIKjstzH9R6QGFaXTXB4OEw0EaI/HiebkkOO65FRV8ZlVq/j7w4f54dgYy0pKCOTn07JlC7dnK9hmLWtZe49ZFlZex57eto3MyAgVgQBNBQW0JxKkk0k6XZcXUQggipxyI/o0/iByYCEUHgij/IoutJ33JvzdJsXI+W1FsHIJ2r0TQzAwgH+gXxA/0bQbOcotSK2YQs67A/9hdqAQRBhByF78wmsucpZtwP9BzrsegYt3vtAVyGFnUGinGIEA1u8u5LCn7d4Actp3IWfsKSIlqPjbfvzquvm2FuNI0ahEYFRh730Y5cM4CFi8UFEfUp9OopBUCQqrtADvt/F4JfhHbPzX4ee8PINfCG8egp0BpAJN4isp46g+SyF+zZf1KKRUil+0rszWpRsBVr/11WxrH7B+WxAsHkdQdjXwLVSr5by9diKRIBoIkM5kyMnJYaywkMXr1lFXV8f7AwG25ubyhf/6XyksLMzmqGQta1l7T1oWVi5iyWSSnVu3siQc5jRwg+NQFYnQOTNDk+OQcV2SCDpGEJAUI+ViBoHMt5CjvxY5/+12vRfG6UDhiJdQaOGLCHgeRqGMO5BqsAMfiMrR7pYnUEgF5FxHkVoSQ9BzxPpqsLGlkNozhhSANgROC+290yhssg6BSJO1O4Ocbp7NJde+lth1vQgK9iJQqcCvPtttbVRZu08D/xsBWgF+AvFHUHKt15eXnHwQQd6MzbPf1qwbqSi1CCBiCBJKkPOvQVCyD4VcvLo3K+051Nr6tyLlxQPG5fasyqyfnbYm6xG0TdszuMTa67f5b7f5zsU/DbofwVUXgpWYXZdBeUMLbYydCJImHYeS8nKqKiqoa26mobGRkpISQFuUnWQye+Bg1rKWtfe0ZWHlIjY1NcV4Vxd3lJVxfHqaJ2IxGoJBngUmXZfz6LTeRfi5DD1IfWhBUBCxr05UH2Qecn7PIyfWhz7Rt6Bw0gGUR7ERfaJvQw7t0wgIdiCnXmL3rkROcqH9fgCBgbeV1lNlXAQY+xEAxIBPoVBPCXLO7Sgf5MAF465Cio5Xe2UUv5aMi5QHUGglZO8NIQArsXH044el5iKoqbU188Jiu20OEQQYk+gk6GdsDo9aO/MQXFyCzjXK2Nj77Lpqm8cU/g6qq3h1yf4fIqD01J9BdN5PE/BJpA45SP1owj/naAI/jJWLX7b/Puu35oL2NuKHiJpsvt55RoP2c7HN4SSQH4lQN3cu19x+O3l5eT+z8ye7RTlrWcta1rKw8rqWBorDYW6treUb588zOjVFs+OwDikLM8gh9SJnPIEUg8vRp+gg+iR/FiWa3mpf70NOKw78Z6SWnEE5E3VIlRlF6kgNyvs4gpxiKX64xEt4nULKxXkUUilEIY5+FM541OZzGDn4u/EL1YWs76iN7ZzdH0eKUa39XmG/j+M7Za+WScra7UBg04S/DbnAfs5HoaciBG4ZBHoO8A/osMVlNv8r8Q9XXGLXNaBQUY/9PGPtp5FSsQslBF+O1Km1tgZeLRovSdlbj/X25dWtSaDQ2w0IHhN2z3oEeC8iyDmPauLMtefVa9cM2FhKUFisysY31173+gniKzE9jkMxcDI3lyUlJRcFlewW5axlLWtZk2Vh5SJWWFhIUX09u0+e5NeLiigOBlkXiVCWTLI9laIPf1dPDoKJGHLsYeTAXrHf16KQwzBKIg2jT9cnkPMqQg64FSkoHgR1o7CEV7m2DMFJIXK8h1A45CyCi2L0qd9LhO1H25BvtDa/g0JILvpEX4ccaCkCjAGkCgzYvd34tVwqEWB4B/Z5gJZAakwDcugfROqHV9MkbvML4p9I/DACgVYEBhtsvh9DUOPlpiRsbt46nEXqigc/M9bmeQSFB5Gi1YRCS20Iqrw6MxM2ptuRkhO3Z9aCoOwZ4J9QSK7G1jlk7yWQ2rIHAd02a68R5d/Ms7GErY9D9qyO25xfQsD3BPq7mA9sc10KCgrYnU7THApxdeDCs6SzW5SzlrWsZe1Cy8LKRSwcDnP17bfz3KlTfL2nh3npNDXhMP80M0MUv4Q9yDGPIHUigfIo7kAOzEWfthch5/aQvRZFAFCN1Iqfop0xMyhXogQBSilyqBnkcAvtmvVICWi1NgIIUlLW3pMoR6QJOf4ya6PS2nUQOHn3JhCEzLdr+lDBszivrn+yCEHWNFKAnkMQsRnBwiL8+ifOBd8fRyGpdTaWGHLuz9najSEQWIQfmtpt8++xOZcgsPASjQuwLcD23g4UXrsFQcKzCHTC9pW0sV2LYGI5UqWKbE2uQaCWQHlF7Sis5ak3IEhah0Bkp61ZD4K3DTbmHgSdSevnJZtryvqZa+3Ega5YjN7cXHYUFuIePsz68nLKcnOzW5SzlrWsZe01loWV17Hb7riDfc88w/PPPMOSWIx/SaXY4LosQ4pDO3LqE2gR+5Hzy0Of6pciJ3sZCpF0IBgoQ7ACcnjDds0NKA8lB336Pocc3SrkFD2FAuTwbkaH+gWQA/fyRToRAHghpxEUJjmLgKjCrneQEgN+YbZpG5t3GvM6G3MCOd4H8A9YLLf7D1of4J8XtNre60LhmQNI4WlBkNWMlJRqFJ7aisArjHJSDti6/Do6HTlk7fUjNcNLup1CSs4BG4OD8oKGbY2usfXpRVuoPUDJw9/SPYPUkxKkPD1lPzfZNYfxK9jOtZ+vxk829hJyO2ztH0PQMmPXX4KUHy8JehqFqOYAuzMZXCDhODjXXsu2U6fIxOPZLcpZy1rWsvYay8LK61hTUxOX3HQTu556ivPJJLcgx/MEcjQfRWBxFH+nTxg5zB8gJWIKObMV6JP2JIKbfAQQQ/gHFkYRjKxFgJJCBc+qUR7EJD6sODaWZ5Bj9g7u67Z7v4h/UF4SwVAbUi+uRU74GP5WX+88o23oE//7Ub7IqP2esXG5SLEZQzt7xvBDMtico8BP8Hf7TCDnfAsCj03Ah+z6FFKLypAa8hgKxSSQmrENKRvH7B6vUmypvT6BlKAj9nsb/g6j22yd4gigjtuaDODnGvXZGBbZfaU2rjH7vgipXmeQGrTC7hm3a3pRjs0GBJftCJ7GULhpKX6p/7UIXg6gkNla4BOuy/7CQh45dQqAL/7VXxGPx4lEItkclaxlLWtZu8CysPI61tHRQffevZTk5TE/HufSTIanXJdLXZcrEDyEkQNrQSGNZ9Gn63GkKMSRIrEIKRRecmwnfvhkCX79kUm0I8bbAluH1JXfQQqGV2QugBx7EvhdpNDsQ07zWuRQ0/hF0PpRAqtXv8VTe/YgpcJFDn8HcrJXIhBYhYAsbWNOoB09DyDAWo8AKonCQ0fQTp7fQE56DCWkbkTbsIsRnIWsXQ8cKvCLvVXbWGvwS/LvRuD2YbvnLIKiSeT4BxDEJKzPIzamjdZeBKkgBfjHGWxCAONVrJ2H4DFq48jDB8A+BEVn7Vm+D7+43DR69its7XYghew6BCn70d+CN5/VNo4jwKZAgGsKCmhPpXjmpz/lk5/6FIWF3j6rrGUta1nLmmdZWHkd29HaSuXAAA1FRcwdG+NQMEhVJsN16TQDKFRQjhx9A3LcMyipcxKBw2EU3hhCn7zn2Nc6BAlrkVMLICiZRE4+gj6F34rqtfwz2mHSgRzoMHLOy1DCaruNeQkKabSjEIz3cCNIvbjR+okhp3sYfdL3tvZ6gDONnHvarp1CwJNEzjYEfN6uaUWOuwCBxV/jFz8rwa/R8rLNNWTtTdv3agQN7Ug9mY9CMF5J/jnWxos2hlU2rlEEaOfwdwxdg5Jni2w+/4i2Ly9HMLIbhWS8uizzEBAeQOrJdpRz8g18RaQRwVCptX8zgtROBEbLkQLUYWvzFIKkU0g9q0Y1aCptPkfR30MHym0Z6utjXijEI3v38mdf+ALrrruOS7Phn6xlLWtZe5W967Dy2GOP8Wd/9mccOnSIgoICrrrqKn7yk5+8q2NKJpOcaG1lUTDIRCLBnkyG6UyGDzkOh5HjL0GflNPIeQXQJ+qdCCw6EcDUIzViGX4C63qkalQi5wp+CGMl+jTvtV+FHGcnUgF67fpm5NBLbAxTCB4c/FL0ceR8J+zaZhQyehYpHa716W27xdo/gJx4kd3XjRzzGP6hhLkIMl5BDvsuBCtPITXhFQQZnQgoJu26PUhJKUOOPIOc/Vy0m+gUAhQv78RFIaE4Aq0z1u4ogkNv23gdArUNNo/lCKQewz+ryTsxepnNGWs/H0HECAK6HBt3t407hMI7V6PnHEZQmoeg61L73TsbKIrA6DIES1g7VWh79U9QzZfOTIb5MzMUhUIU5+ZybSzG6fvv597t27n1nnvYsMGbTdaylrWsvbftXYWVBx54gM985jP8xV/8Bddeey2u63L48OF3c0gAxONxOjs7GT51ivnT0ywPh9kTj7PIdYnj1xSpxt+im0bwEUGKydPICV6NPmGXolDADAKCURRCySBHNomAIYoPAwHkJD+DX2r+jH11WhtlyEljY6pHKkcEgUupXX8cP1H3d1GuyBH8MEohfjXYuPWVwFd5GpEDDiMH34Gc8xVoZ1CxzWsZgosjaFdSE1KgppFSMYF/AvMAygnZicJb/9vmXYWfSzMHgZynFFXb3OuQklFuYzyIwjGltuZjSIU5hGDoLnQ2z7/YWmDte0pHAhXjuxvBSgCpWt+09geAv7H5NdoazbHn9oqN8QwCnm8gIL3ZnkEM/8yiMIKYl63vhcD5dBrHdVlXVsb1CxbwRFsbj33721RXV2cVlqxlLWtZ412ElVQqxRe+8AW+8pWvcM8998y+vmTJkndrSLPW399PX1sbH4nFWFtTw3B/PyeSSTKZDKuR4zqDYCQfgYQXNgkjB12GFIQIcpxlyLnuRIXJOvFPZZ5Czm8hAopC/LyGZrs3166ZxK+autXa7sQ/XfkSG0fEvqeQY++09u5Epfb34NdWaULO9HnrvwLBh1cO/iz+7pkj1t4pBDE3IgDxzr/Jse9dCIwGbY28JONLUY7OI/jqxPtRDskICk39wNZqk63tMQRtK6zv62zsR1AOzBakpLyMtknPQ0BRgpSMJ+w+L/wTR+GzM7Y+tyOAGLJ1CyEAOWXrWY/yeNIo9PSC/T5j15WgmjfnUL7LWXsuL6C8JC9HJ4mgrc/6Ow2MuS770L+HZ44e5aNXXslNzc2cPXyYHa2tWVjJWtayljXeRVjZt28f3d3dBAIB1q5dS19fH2vWrOGrX/0qy5cv//kN/AJt7+7drMjNZXEySUNpKT2joxRmMuxGn9bnI8DoRk58DO38+Alyqt65Px0oz2IMwcAepE7MRbtVOpEj9uqwHMbfHfMvyHleiT6ZT+OfQBxAUOFtPS5GqkEbUhK8JNY0fvG0LrunFjnVp/EPLAwiJ7zK3vNCNRUoLFWEFKAH7LpSm9sHkBLkbZc+iwCg0sbg2GsBfHXnAFInehB8bLJ5ltrYLkehpFdsHVqRw2+wudVdMOaHUIhtOVJYLrVnsg0dKZBB6odXiO8FexZ32FqOozyUtQgkYvZ+G9rqvNaeTZutQTFSjfaicFoOys+5ydYtbr8fQ8+7FV/5KrBn5YFME0rG3YpK7n8kJ4dnDx9m4/LlzC8vZ315OdtaW0nedVd2Z1DWspa197wFfv4lvxg7e/YsAF/60pf4oz/6Ix599FHKysq4+uqrGRkZed374vE4ExMTr/p6J83LV7lu4UJmCgvpmZoiGQxSgBzNU8jZFCCndA4pIsfwK6/eh3/GzlqkEowip3c1Ujc2IOg5iXbSOMjxDyEn/ARykAUIBEIozFJo32cQXNyBnGE1AoR24McoxHAOqRg/QiDknSf0AHLg1QhMXrR+vTL+zyDVImPXdSHFogflw/QgCBtC6kMOfh7HdWg3UAsCt3XAb+ED1CPAf0VOfJ3NbdjGXYj+ILcgdeSndt2V+AqNVyemBIFGtY3Vg4FFCCZetjGesbb/AakxtyKwvOKC9oI2x3EEU9sQHF2FlJ9SBCL5CFJb8GvrrLE5eHVYFtv1y/ETgwfR8z9u6+WgvwVv23sG6EulGJma4pETJwAdYJiJx4nH42Qta1nL2nvd3nFY+dKXvoTjOG/4tWfPHjKZDAD/5b/8F+666y7Wr1/Pvffei+M4/PjHP37d9r/85S9TUlIy+9XY2PiOjj8ej5OJxQhGIpwoLuavBwb4wcAAR5CTeQLlLuxCTnYM5Sh8CznxHyDnU4A+cX8SOdtzSAl5P3LuGeQwfws56VMo8XUHUibqkBP8IQKKl6zPp1BuxiBy2FvsOi+c8Wv2+tMIUh5FYYcr8Q8DPIqfHNqEnPdK/K3Oq63/rQh8XkLKxSesvyL8svuLkGM+jxz8bdaOF25Joj+ym5Fjb7DXKhFEnEEKUNLaiCPIW4fUm/V2jXe+TsTm6p091IK/k6kAPynX243zE/u5Eyk5l9t6HME/2mAcKVuX2xhD1q+XgDxhfbThF4JbZM8tib+VepmNb469vhJB7DHr3ztPqQcBYQApQF8IBLg+k2FxKsW2AwfY0dmpAwwjkewBhlnLWtayxi8gDPT5z3+eu++++w2vmTdvHpOTkwAsW7Zs9vVIJMKCBQvo6Oh43Xu/+MUv8gd/8Aezv09MTLyjwBKJROgdH+fHhw6xHPhYeTljo6NE0afvDuR0HrOfc5Ejvx4/mXIfckQrkLPzzu0pRZ+u0/Zzlb1+O3LuD9u9nwL+O76DexSpGIXIya9CztFTKxI2lpi1eSd+4bMCVOnWK6n/HFIYFiDHHLb7xlGexxTKp1iP4GEjgqsEfsirHak/p5GqM4CA4IP4MFFgbXrqTAgByI+REnU5fsG3kM2tH+XkzLf18xJ98+y1IfwjAGbsmlx7vdd+H0H5PEvQrqR84C/smpfxD2tcYt+fRgDmnWc0aF9hm8swvvXYdaW2Jg5+FePgBddV27jD6LmWWH8jtlaHUVjqo0h5m+e6NDkO8/Lz+edUikf27SO3poaWT34yGwLKWtayljV+AbBSWVlJZWXlz71u/fr1RCIRTp48yRVXXAEoBHPu3Dnmzp37uvdFfsGfNnt7e5kZHmbd1BS/PX8+6XSa4x0dBNNprndd9qAk2QbkXG9AUDKBHOk6/HN29iGnegA/CdfLYVmCACCMnGYOgoWHkEozF6kG5dbGMQQolyOH/hxynCsQePSj3TfXoIfqnZ/j4ifJ3olUiiJrN4gcqBdoKLOvUuS4vbwXTxGIINC4xNo+CfwHu84r9X/C2u6zdj2nnkHQEbLfe22OuTaOqF07hSDjjM2pD+XG5CFYHLO2XBvTlM3vuK3fIVvPF2yNapCKkYdCNF3W/pj9fM7GUYpyTPLxt6T3o2eZjyCwCT9s1Yt/xMIGBB89SHEpsGufxD80MoCAbh8CpxttXX8EvC8eZ31eHplwmI3hMM8MDnKospLf2LyZZDKZrWqbtaxl7T1v71qCbXFxMZ/73Of4kz/5ExobG5k7dy5f+cpXAPjwhz/8bg2LHa2trAyFWF1dzZnRURaWlRGMRHATCabSaa5DyZ/7kZryB/ghkf34ibfzkbLQhpzhFHJgLWibbT5yiBn8RFkvCXYVfi2WVeiT+bVIydiHckLSKGy0FjnDfLu+114rRPDwIgp5lFnbU0hROWJ9xJAj93bBBBAMDSEH7dUV8XYYBZBq412bRoCWtjF44JBGqotrc0whR+/liexHgODB2FykOkTt6ySvzkPxwjYx/LL2jq1lrbX1tM23GsFjC6p6m2/XHkYKVA7+MQJebZgaFMYptrk9auuYsefmPQcQZL5wwbrkIlA6bfd32xodRRA3aGOcsLEtsLXYbN+fcF1qwmFGkkkmcnKoKyykOy+Pl154gbZdu8jEYgRyc2nZvDlbMC5rWcvae9Le1TorX/nKVwiFQvzar/0aMzMzbNq0iWeffZaysrJ3ZTxecu0NDQ00NTVxat8+RgcHCRcUEJ2eZjidpg2FYlykcrjIgQ4iJ5ZAwBBDn7yvQkmd30RO9noEJUG7dxypAVF0Lk49go/jyPHNQeCQh1STLpRAegtwLwKUBuv/FuTUH0NwMIrAY4Vd8xz+iclHUEjmSvwTm4MIDF5BjnSlvefVg5lASsf3kSqwBSXUeuGQYwiEvLokXnjJC6Xswc/p2Gs/345UlAYEDB3Ag9b+nSjv5G9sLM32/hFbE2/30xUIDHptrq6tRQ0KY01YezP2DHahP/x6tHtnB1JYpm3NRvFPjV5l94wh4PDG7h2JcNJeb7a5HkHKVafN/3br9yzK57kFAePLtv6/HQhwGvhJPM6iwkIWrV5NjuPweFsbffffzw3V1TqJORpl13338fWnn+aOT3+aSy+9lKxlLWtZe6/Yuwor4XCYr371q3z1q199N4cxa15ybVluLnWVlRQUFNDV2Ul3Wxu9U1PEpqdJp1KzizaCnGU3cnApFEqoQgqIV07fS9h8HKkhdXZ9DgodVOAnmt5mrw/i112ZQeqAdyDeM/il5beikMIjNpa5CCyC+MXH5iHVYBkCjREbw9PIwV9mfU4jp7oDqRpr8U9dHkCgdNi+b7T3y5BjvwNttz6JIGa3zSmKf+rzAbvnhM31FHLYXl7HlM3tOQRnffgnGo+g8FO+tbsP5dQEkAqyzN7vtfFW2xoMIXDoQBDxCaTmjNlzOmX3XmHPbgYBj5cLcx4pKzMIaE4hCLkF2YMImi616+sQsJxGALYIAdwpW7uUPbcCdLDjg8CKnBwez8/nY7fcQk1ZGbu3bqXadfn8qlXkhEJ0jI9zsLeX0d5e+o4c4c927uS2z36W2+64I6uyZC1rWXtP2Ltebv9XySKRCAH7FAvM7jhqWbqUrq4uju3Zw2B3NwfHx+nLZNiPv93Yq4GyA6kpjyCHGUCLvBCpFTuRc49ccM8p5GTnI8dZhhxsCX7ROAc5uhzkLDPW5veQU1+EPvXXo0/9hxHItCPHei3+7pVOlNxZjtSAJ/HPA1qFnPhu63cdgql2/GTSSgRh2FjKkJqxBYVHOlFYphfBxbNIdSlBDn8DUjQCwN9ZG/ttjgMIHK67YK260Rbf03ZtGEHZx5Ci8Zit0yoECmvxc2C8MvrVCNpq7Dk8iVSPl22u16CQUiPaXl5r6+HVjunBPwKgyNrKsbbus37SaGdUMdph1WxtzLXXB2wd5trzWg38SyZDCdCXyfC9I0coCwQ4MTrKjVdcQU4oxO7ubh7fv5/K6WluzMujtKyMlwcHafve97j36NFsWf6sZS1r7wnLwsoFFg6Hadm8mb3338+m+nocxwEgGAwyd+5cSktL6ezoYPvOnQz19NDmusxDn6BnkGPNQRBQg0DgIAKIDHLqS5DD8s7m8WqkLEFO8yhyYsUITsaQU08i2Bi0dg+jLcUJlJux1PpP2LVeOOQcgpdCm+NK6+cV5Jg345+FU49/SnQUAcxWpKQUIgi4yvr1Qh9tyInn2jxuxM8d8Q4/bAL+m71/CEGWVyW2DjnyFP725WYEKnUIsgaRo2+ztbsBwcxxe2+1jcnbCr0IqSxlCARL8ZOHXVvbhI3bK82/1+7ZZdfVIHVnNYKQKKpPU4/g9DiCrhxr/zwK8W20eeYioDmDYGu5rd9z9hwS9j4AsRj1oRDXTE/zSGcn7eEwBZEIHePjPL5/PxvjcW6qrp79eyxMp1noOEyNjWXL8mcta1l7T1gWVl5jl27ezL3bt/NEWxs3NTfPOghQUnBnbi61N93Eopdeou3UKS53XT6CPqGP4CfLhu0rjgAEpAqk0SfrF1H11jX4zm0QKQOLEXhMIccZwA8FHUQhhIC1uxkpDCcvaNsLGS1FOSv3IwdfiaDjVqRUxPBPHh5BakM/CmmUo8RT75ycjyPFxYOlafwE3FP4IZ8SBESlyLkHbC77rM3dKDdnwsa2FikwRxGwXYEgZp2NM2r9tdtaNCOFZQNKVD1o7bTjJyuX29onbf3L8UveR2wti2zdZ2wMD6IaOC/bGgXt+5TdDwKOp1Cez9MI2LYjgKpAILfG7u2zPusQZLm2Jh6UZazvIBYKjMeJ9/ayJhhkWVERe0+domN0lMrp6VeBCkBuKATpNNfPm8f5kyezZfmzlrWs/Zu3d62C7a+qNTU1ces997CruJivHT7Mjq4uTg4NsaOri68dPsyu4mI+8LnPUVxTw1yUC/E9x2EEOfIgApEIUiTWofDIRgQPAZS7kkAO91IEEbVoi66DwKMcAUQHcnAJlBNyBOWYeDVJvDNqXKRgVCFHHEHgcBcCi++jT/hhpFZ8CsHK3wNfQ8pEGSpit9TaqEFKg9fXWRtfHQp3dSB1ohqpS3Fbg0kU1ilHScilNu5vXTDmO5ASkUaQdBjtckrYWlyKnHgfAoYSBGkfsf4O2Fp7wFQGfN7W5pz103fB2L2vDAKcpdaOt506be97u54cBCsZ6z+DDy3YtQ+jpGFvbMcRNA3j16Tx6s4M2Xi8MNxjKEF61NoYcF1Gc3MJhkJcVVRE+dQUz58+zfq8vFeBCkAslcIJhQiFQqwvL+dEayvJZJKsZS1rWfu3alll5SK2YcMGqqur2dHayrbWVjLxOIH8fFq2bOH2zZuprKwkMDjILXl5LJiZocN12YVCF6XIcbYgZ/4QKpbmIgh5EUFACr+8fBUKTTQiJeFxlIRaij6Vn0SgcAo52J/a69424rPWpldOP4l/LlA5UgR2Ilj5AFI1nr1gvFF7rxQ51TIUptqNduS0Isdbj5z75ah8fQiFTrydTR50PY8c/IeQ0vAyAq070anG3pEBZxBgPYDCTRMoHLMZvzaLl6eTxN9ZtA4l4m5CwDVs9/4EqUqekrXEXvcgsveCdbwH/6DHMQRJuxB0eNuwxxFsTNj8vHaidk+hrcU5BIHeOKrt93EEI2Gk+By2dv7Z2t1gbcyPRDhi46pxHE6NjbG6spKtIyMUlpZyobmuS8/MDJULFhAMBl9Vlj9bhyVrWcvav1XLwsrrWFNTE01NTSTvuutninL19fURyWRonjOH8p4e5sXj3Oy6/E/0qflWBAIhVPTrp8jJDyDACCAw2YdyIsqQKhFEwOEix/motTGFf9hfIVIxlqPS/+ft58VIDUna9dX4Z+Pk25h+aO0NIRhajXI28pCKsR9tEy5D6ksLgoEICs28D8HEIP5JzmGUFDyKn8txFgGGl5g7buNbhV87xTsEcsLmfBSFYoZtLR6y9r2t014RuyM2n6i9v8fm/O/wS+wPIuVlDQrxeLViWu3+IIKnFAKiszb/AMqFSaBwmheq8rYxv2jr97yt77W2Dh5sNSKInGPPKIBUnGkEKrtszuvx85guDwSoCgTYEAhwLJPh2UyGVCxGeHqaADBwgWLiui5tIyNECwpYYlWbR2MxAvn52bL8Wcta1v5NWxZWfo6Fw+Gf+cRaXFxMLBDgVDRKU04OiXicQsdhs+vyXaSo3IRCK5NINVmEHPYcfAe2D4UjbkafvJPoE3ujteHloJxEDs7bAr0BgUkbcsw5CDiCyAGDHG4DOqsoFykvNQhQtiHwuAs5zRK770akWOyyvkfxd8h4lW+nUIjmJgQye5HzjtrvUeDTCBZO2ZxPoh1Jcbt/F8r1iCOI6Ld7vXV5wNbFCyHF7J4hm9dem3ubrdd6a2eOfT1p4yhAEHLMxr7Grj1k4/ugrU2Jrd0xpL5EEcAswK9MfAKB1Bp77UoEIzW2lrts7HsQEF2Lf5zASZvjOEp8rkagMh9odBz6UykKSkq4JS+PkxMT9ObmEggGmXAcXhgbY2VODvF0mp6ZGaIFBSxet46SkhJc12XvyAgtW7ZkVZWsZS1r/6YtCytvw44ePUoyEODA6Cg3FhSQDARwXJd+12U9CqEcRw70N5AysQA5rU0IXM4haHgav25JIXKKbUiZySAV4WMo3NKBoOERpFKk0Cf1g/iHCbZaPy5yvD3W9lkETk8gsNmAwjYlyJF7fd1sY99m9y1BDnkHcshr8NWfANrZU2Lza0F5KaP4dWW8YwWKEHQ8ZO0sQuGeuI1zn/UJ2kb8eVs/r/JtA4K/R6yty5CiM4WAZStSURy7vsXWuhD/LCEPCG/Ar2i7CMHDdXb/82gr8mW2PhkEN0O2ficQQGLrha1DPkpWHkCw0mX95tl9c6y9K2xetUDGcRgDYq5LdU4OjuOwOhDgR+k0xY2NLNq8mb179vCd0VE2lZdTtXw5SxobZ0HlibY2hmpquH3zZrKWtaxl7d+yZWHlLVpHRwePf+c73F1Xx/7+fnYnElwbDhOPx2lE6kQ/Cv9cg5zYJHLIafzTg5cg+PC20j6Kf5BeA3Kqt6BP4ouRg6xHALEPKSAOcviPA/8FhUoaEYh4iaqeStOOwKAN+E3r00V/AN5ZOxlr0yt9f71dD4KPIRv3Gfyk0xqkgjQgGFiHoGM+grSMjeW03XMWv/LtKAKNGpvbEZvDCvy6M96W7zgKKy2xdVpqa5uHVI4DKLTj7QCaQuA23/rKR4pMAf5Bhs9Yvz22Hl612UetX68C7yQCslKUY1NmYxywdTtt7S9EYJOLgGijtX8KgeS/WL+51m7UdakCSkMhIsEgrusSymQYcxym5s3jT/74j+np6eHRb32Lw0NDXFJaSl8yyfGuLvaOjDBUU8Ot99yT3QmUtaxl7d+8ZWHlLdqO1lYq+/v53GWX8URBAf+0fTv/kkyScV0m8A8GLEX5DGGUQNuIVIIu5LB6kIPfC/w+cmAxlBfxmN17F3JyRdZ3qbV/KVI/WpGjvwH4BoKa9fj5Il4Nle+hLbefBv43crg5CAhqkPNPI8c7YOOtRY57DQKKAzbGS1C+iVfQrg4pC1M2zjJ86Apb+2UoH8bbVrwYKUtJu6YMAVCFzS2FAGAQwdMJWycPRHqRIlKDQMJTsapQiOZam3uhrdEDKKRUa+MN2RrUIuiI4IPJJdbX31hf2xFkLEcq2VlblzF7hoP2zBz8UNwHgF9H4aQeBGu3IVWoHSk4p2w+hzIZ8pJJ5kxMEMxk2JPJMFpTwx2f/vRs3lRdXd3rJntnQSVrWcvae8GysPIWbPbsoPJyHMfRCdPV1fTG4ySj0dmQSSmCg+X4CaJxFAJ4FjnbAuTEzqAQxkakgDyFHPvvIcfuOce0tVWGgMc7w2e3tXU5coIRFI7IRyrOQbunGvhfyIFO2jgHUcioAW2rvbDQ3Hlr9wr8arspu6cUqSIV+LVVZvBPJM7g1x4ZsPnvst8/bfPy6q/EkePusHY95cQrUOcVoLsSKT59SLnZheDoanvtDFKCWpHC0WLzWodCTy8iEFlpfQ7h7zZqQPDhbXMutnkFUPjrDKqhUoj+wcRtvnPsWcXsnm/as/0dW/8SW98oAsEVwC7HYY7rUgbUh0LkZDJMuS7dExP0A68UFtJ02WXU1dXh2Rsle2cta1nL2nvBsrDyFuzCs4M6xsd5ZN8+lqXTFBcVsTyVojGRIIM+5R9CBcwq0Cf/XvwzcLrsde8AwW+gnTpF9noKqRAOgooh5FBBji+Ev6vmEHKWv4kc/QjaJZNCSsGYXb/Gfvbg4HIEBT1INTmCoOA662PE+n0Af3vyIhv77QiSxpFD9xSFPgRj3gGKjai+y1kb47T1P4oAKIkAYQCBg1f8Lg8pNUdRPZb32XUVCHRy7J79SKUpwK84+xIChx4EPAEUjuuz9tbbOu9F6ooXCqtBeUKDNrbjtiadNo+T6GgAb3v2oK39JDq6YD0qvvcQytvJt/F6z7APwevfIWi52nHIcRwSjkNZMEhDTg5bMxlGg0Hmnj3LvV/+8s+U0r9YsnfWspa1rL0XLAsrb2DJZPJVn2S9s4OODwyw/exZOtrbOZ7JUD4zwwYEAeUoFFGDHOLnkdowjpy/BxsTaOdIHnJs3vZcb1fNOWuvBP9E40rk+I8iWPC21fah0EwDfk2PqP1cgJSGFHK4YRRWubCs/k6k7FyJnLOLFIsylNfxAoKGj6FcnN1IBYkj1eGE3XMI7cSZxIe0CuSkT9vPE/a6p2qE8FWINP7ZSodtPa63a7H++mxOtyH42oGc/3wEFwH8U6hP4gPJagQTnfYcelDuTNzaTiCY6kVwst+uu9navdLW4pitS9DG2Wy/F9r6JJC683X8vJWQzX8MCLkuBx2H/lCIlYEA9bm5RPLzeTGVYignh/U5OayvrKR4YiJbSj9rWcta1syysHIR6+joYEdrKydaW8nEYgRyc2nZvJlLN28mVFPD9x95hNqxMe7OZHhwZobmZJIwCr9UI4ecg3b6PIScdQx90u9An9xPIyd6B3KoQeSEX0LOf9QbCwKKY/ZaOwKhNUhVmEYwMYxAJmz9R/Cr2M5FoZN2e60ThYTWI7CpR3AyiJx1DnLYxUjVOI+/I+dapA7Ms3FP2Ti7keqyGikmvWjH0hL7vcReO233VVgfuUhNOYNA5HH83Jz34YdjQghyJqzdHBv/Q9YOSCGqR1CXb/PtRdDjFcn7gY35EpTj4tgaDiFAOYDAZwMCjSh+nkkrApR8BFFltu6ealSMtnQfs76mUahoCH/LdrPjsKa4mO6iIl6YmKA2P59gIEBLeTm3FxfTk0j8f+29eZwdZZn3/a2qs3efc3pN752ts3QWsnTIZsImhCUBRAZkYBj0QX2ckcdRH31ffZwRnRFHR2fQ12XcUGFUFPEZkS0kEAxLSMi+ErJ0ku5OutPpfT1bVb1/XHd1JSGyKKGB3N/Ppz/pPqfqrqvqNFy/vrabVS0tfO6yy2jcs0eP0tdoNBq0WHkFGzdu5LGf/pSS48dZVlREodqFefMDD3D3I4/Q29nJPNNkUi5HIpOhJ5tlJvJX+lHEuRUgUQsTqUfZiYgYb3DaDiRysgipCRmHRA8OIcJgNhIVaFbHhBEHuAZxot7+OFGkPXeyet+bgmsgXTxesew+JCpQgoijNmXHFsSZ36DWS+OPl9+DFKNmEcf+Ar5Tt5Go0fNIy3IhImQWKZtK1DWfU/eWjwgMb97INCRi4SU0bPXMvIFuq5BUzXvUPaQQ0XZU3XuRukdvT6UcUutzEOmgalfX80bbH1H316KelTc919tvaCsSdTmGiKA96pql6rgAImIa1TVnq9d6EJGZRVJDQfUZlCNi5WX1LD2hsge4JBxmQkUFZZ2dxIJBKuJxauJxyvLysEyTYcfByeXIOA4NRUWsWreO7PXX6/SPRqM5p9Fi5SS8tuT5fX1cMXPmKXuyLKiq4v88+STZ1lYumzaNLceO8VImQ9gwyHddHCR6kMZvUb5a/fwHRLQEkQfuFZ1mkb/is4ggqUYc5GJks78HEQc5BREqxUjLbg/iED1HXYGkhvarNeoRp/4HZctqddxXEOddrdbcDPx/yq4M/u7MWUQc9CCiwURExk/U64VIaqkSuAURMAl1b14NylVI6uuEei7gT6ttRqIzCxDh0YkIm/3q/e2I4NmDiKdeZd8kRARsQ0TSUUQArkWEx5XKhmZ1LxF1XDkiFhardXvVs3wKEW5H8GetnI8IvfVI9CmKiLmVSDrIm+MSUueUIxGxXvVcmpXNAXXcY0hx7wYgYxiUGAbnBQJ02zZkMrQ1NXHQNInn5TGhpIRW08TMzyesR+lrNBrNCFqsnITXlny6UAHIOQ6RXI46x6HjxAni8Tgv2jbTczk2GgZzXJcQkiLoQZzrXsT55yM1D5MQMfIsUtvRgjiz+er4HOJ8B5AUyB8QR/wIkjK6EXGWtYhDrEQEwGG1xuOIuLkZEQ+H1Gs9yByWYkTUTEcc+RxE6OTh7/BcrmzsUes2IgKkEYmcBPBTJ+cjYqYLPzpSjoigPiRq9AgiyJ5U93iV+nkd0qJt4Kd5rlfn7UGc/jZEbCSVfV6bc07d28NIlAT8wtyQsrdTPYOxyKC3nfh7Jl2v7n2TutZlSBFuM9I9dAEibO5XNj6i7nexen+hej67lY1L1GfSre5zSB3fif95LgH2GAY9gQAFpslAKkXctpkYCNBs2xwZHORELsfvgaq5cwlalh6lr9FoNAotVhSntyWfTtq2cXM5JkSjHDt8mMlFRTw9MMA802Sr47Aml+MqxPF3uC5DSBSiGXGSixBHWYN07ngbB/4BqcU4H4muDCLO9SLEwW1EBABIO+5YxDFnkehMLb5jXg78XK05jKSbWoEvIhGLTrWO105djtS/NCICZhISkfGiQ0uUnd9HUjez8dusn8GPmKTUejFEfFQg6RNvAmwNInzS6pgaRHj1q/dPIBGOyYiAcPHnuexQdvQg4q8OETDPq3ssQMTLcrVGs7LJVOseQyI2jnqmM9Rxf0DExmSkWLcYvwV6qnp9OSKKtih734MIoYyyaTkiNjcpm44jQqUdEVY1at1x6rqPGga7LIuHmpu5zLKIuy5xy2K6ZTGYybDFthkOBGg/cYIjPT16lL5Go9EotFhRnNyWfCbCloUZCDDouhi2TUUsRkF+Pu7AAAuAZwyDfY7DZERI7EccXw6JVHTh15J4I+qrEafYhPwF34Y4uxjimOep985H0gjDiMP3aktAhEIB/s6/lchf/954+ZWIOBlABIUXFSlHBMAc/F2Ab1Lv9+PPdPkj/iC7bfgt2AYifuKI8w6q9YqRCIc3YM5FhEVG3dsLyo5h9Wz61XtVSFTlkLqvBYhYeVndrzdV94A6xitUjiIzaWYjwuSHiIDwCowH1fXuQIa6xfB3cP4OcC3+po9RZZfXnVWFiKNW9WwS6ryj6n5rlZ3bgW/iFyCvRCI5FyGi5rj6jOYDB9JpnrUs+oJB6nM5SjMZhk2TJ12XF22b/zNhApvTaX6waRORmTP1KH2NRqNBi5URvLbk7qGhM74ftCymVlezqa2NiYaB4zicl0iwf2iIq7NZXMdhN1JnYiN/4c9AumNCSOSiAH8GiTd+P47UfEQRZz0fERY7EcHSiji8esRxz1fHegPYxij7hpAoDIhoAImYeGmVJPKXfhBx9HH8sfWFSFrmx0iHjdfO+xAiEFYgqZ21iLBoRITGbxHnHFDrelsFeHvxvKDszyKpky1IFGIGIqpCJ9mbRkTRViQSUYCIhipEnDyHiJFx+DNMOpD0Tbl6b7d6Lg34k3NfVs/7V+rZ/w/8qbsGUjOTRASHN9smi4jBkHpOXtdQRH2fp9bahb8RYg/Sqgx+mu4a5LPsV8+6yHWpzmSYHosRKihgTX8/mcFBLMchGQhQFgwSdxyiw8Ns7+3li7fdpjuBNBqNBi1WRggGg0xdvJjNDzzAgqqqV6SCmnp7OTE0xKrubhYYBomDB0m6Lk+nUuTZNhchtSkVSE3GfyHCIoI/5t0bN38YceZNiPNbhjjFcYi42IY49xfw6zDmIbUTW5D0QwARAp2IcNiOCKSrkL/ovY6a+chf9hYifrwptDFEWLQj0YdJSCTiMfV+ESKwLkaiGmXICPoI0i5sIY64W13PUGt5+wZtVjZdoWxYjz8I7gQi4vLUOpXKtscQAfBx/C0Axqp7OoSkbry5J16k6g+IkKlHhNQ09Xm1qGe7QN3nFiQ65UVTpqhr9+AX8Vbhb9DobSEwrOzOQwShgaR8BtTPlnp+UUQ85anndkh9fkF8sbLPcWgCMoODRFyX8nicwpIScuk0L/f10ZzL8a3jxykuK6Nq/HhmzJiBRqPRaLRYOYWFixfzs7VrWXngAFfU1Y0Ilo1Hj/Lo1q3Yx4+ztKiIY47D/ceOMc22KUPSHN4AsoT6eRfi/P4GcWYB/L/mvTbgZUgaqBNG5rRUITUsLUihp7dR3mXKxlVIZKMeiUacUOs1It0sOeDf1PqViDPepGxbht/5cwBJZ3gD0s5DRJA3tG0yIrLiymZbvfYeJG20Qr2/CT+aMQZpWX5S2fq/EKEyiKS5JiPCYyPSgTMdiUr0I9Gf3Yg4KEXEQD4SNalACpLzkGhOAolaVCFCbAfS7ePtVXQQiUa9X9lWiqRzKhHB8l/qfAuJhF2irjWormWq59im7sfbaLEff5NErxPLSx0VISm1APLZ2+oZRNQxO5GurAnAMsfBGh4mbVk8nUpJO3cgwPVjxlCSSPBUTw97GhvZtWsXCxcuRKPRaM51tFg5idraWpbffjuP3nMPjTt3MquggL5Uioe2bKF+cJBZY8YwpaGBP+7fz/fb2xlyXfIdhyCQNgwZyua6I7M9+vDTGA7iTNci0YBZiDjIQ5xeByJahhCn2oSfOnoQESnL1M/rEeefUcd14Y/x70UiAe1I5KUKidKsRCI6s5Coyj78MffliNjpUtf0BqiF8Se7bkaiEf2IYBmj7udK9d6D6j5sxJnXIRGh+5Bi3DZlu41ENg4jwiGrjhuPCIhfIAJoEq/s5skgxa/XqvddZfNc9Rz3IEKlFn9DxJB6JmWIUOhRz/pHSFqsF79Dqk+tNaTse0p9jnXK7jz1dUQ9ixQiXl5W9pSr57Ja2dqr7m+6eg6zgdvVdY7YNsP9/fw1Ig6fc12WR6MsSCaxUilKk0meuPdeKisrdSpIo9Gc82ixchrz5s0jm83ywP3389jatfScOEF4cJBJU6ZQOnMmZWVl7H7iCS41TZYHg2xPp5kAFLguIdOEQID+bJbP42+6NxNxgM3AfyMOLofsuxNGoiTeRn3bESftFchOR0TFM4joOR9xjDEkojAMfARxjl1IpCGNONt6/L1+0khEYx0SOehBakduVmvdi9SoDCFRhi7E8ceRVutWRKSsQ6Io+fh7+ExDOn+61L99yJC1/YgDPx/phqpC0kbPI+mh96l1a5FfxIfUmruQSEUXkr7px+88uhgRD476ctW9z0YExVa1rjdPpRB/MFtS3etSJHX0YSRS83/VdWYhAqoREUxHkRkrPYjYu0jdwx7ks81HIjotSLeQiaTIOtVnuQUppl6v7DgPOGia9DgOGaDccZhimow3DI45Do8fPQrpNKmCAm6aN49fqknKWqxoNJpzHS1WTmPjxo2suu8+6o4f5/o5czi4aRPJvDyO9vfzu+3bmdnWxuH2dm6wbWoDAY4ZBkWuSxQotSzyQiEGg0Eqh4YoRBzzduSv+OcQwTIVcdZV+NNi70UiLZX4UZb9iDBYiAiX3YjY6cLfT2cs4rSfV+teo86djjjU76lzp6hrphEnvgoRTLuQqMY0/P1wpqhnsUHZm0LSI9uQiMw0ZOaIJ1a8wXRtiGBox08N/Q3iqL09deoQ0bRS2VODpGOOIEIrhAiYX6u1ZiHRm42I469Bfmm9mhYDEXf5iIh7ERGAIUTInEAElzfzJI0/i+X76v4MJHqzWT2rlHq+n1X2epGsHYgoSiFpqVZ1jelI5GcNklKbo67zRyTqkkCG582NRNiVzVKobBkDBAMB4oEAFzsOvx4aYl9PDwvnz6egoICGgQE9wVaj0WjQYuUUTp9gm81myYXDzIjFKI5G+cPx4zx0+DDYNhMCAekmMYyRv9pDrstwJkMiEmGaZbHftrkaeBoRGYcRpzUBERY1SIqlAUkPPYTUTxQh6YY/IiIginS/rECiHUeQaM0GxOHtRSIOFyIRhU3IX/FtSJpoMlK/YSBOOobUjnQgznosUtdRjEQVNiMO/wQiTrzx+YOI4Ijht0P3IRGFLkS0LERETSVwOVIjU4QIs3Z1/CzE8a9BUlt71NpH1f3kIWLoZbVOFZKSiahrB/FbsPvw0z1ebU0PIihcRDRkEEHUgr+ppNeCPRkRbF6r9hXq2T2IHxm6SH1G2xGR5U33Has+m5fUsd6gvHHIZ51ABJYBlKuIyhjXpday2OQ4xAIBCIVIuy4x0yQRDlORSJDNZAD0BFuNRqNRaLFyEqdPsLUsCyMQIJXNYhgGCw2D7ek0W4JB2m2bhOMw3jTZbtsYwFjTZMBxSOdylBkGDyN/gU9CHGQBEiXoQv4CL0ecZA4pCN2HRBCqEQe/F6l1iOK3zZYjaRNv76Dx6vgbEXHSq+4lgERKZiNFrq2Ik38ZcbSNSESmA0nZfBhxvkVIJMJFHHMZUuhbjh9d+C0iBrxuHq/jpQA/AtSARBy2IoIiiThzb6+fViRNckStkcaf//JedY95SCFwHxI56VHHlCC1IP1IGqxCPcdN6v1tyuYx6tk6iKDwtgV4XtnZrZ7xABIBOo4f1RpUzyqknmEFIhDb1WdXhYhH75m9hNSqlCAi0lL3WQnkTJMhx2Egk2EyYAYCuIaBEYtRkEziui65TIY8y6IumaSpuRm7vl5PsNVoNBqFOdoGvF3wJtg2nDTB1rIsiqqqaBkcxLZthvv6eE8oRCwQYIPjkLVtCg2DkGnSbppschw6XJcdw8M8rwTMfuQv8nYkpTCIOOEeRJx4XSMBJJpwAqkR6USiDvORWpGrEFGwHhkzvxKJ0DQhwiCKOOdhpO7E2/NmFuJMe5QdmxBHugIZO/9X+PUi+xGn7M1aKQC+ikQfXkTEx81IpKINEQFHkIhIPRJBuA8RQrPw27iDiINPI+3Xv0DEyzXKhtmIOOpBhMN0dQ1vk8Yn1PPYq2xsU+t5E3Hi6jhPaGxEojbeNNmXEGFSotZoRsTJB5Fo1HSkaHcFIoC8rp0P4O+e/SASHcsiwm6S+qzOR4TVWCQydZ16fruRKFDAMKhxXfarteKGwZBtEzIMjjsy2s8wDLbkckxNJokHg7i5HLlcTibYLl6soyoajeacR0dWFKdPsO3t7aWluZljjY10dnWRPXGCQschbllUhMN0BwL8saeHOdksZiDA7GCQXsdhRybDWuCEYfBp0yRk2zyNRDy8TfZqkAhCKyJeipC0Sz+SghlCIiUNyF/7Xg3FdERo7MAfMz+o/vX2zkmo77sQx5qn1u5F6iqWIekZz9G3ISJjCBEsi5HamiEk/VGARBhWIOkRExEPjYg4KEGEwDr8FNKwes+bmluORBja1NoNiLg4oF4LI+mjw4jYyCLipQIRU2VIjc0mRJSZSF1NHBEjaSSN1qzu30KGwK1V1xmPCIXdao02pFjZRMTFRkSgeHsg9SpbWhCReL66pwAiUrLqmlvVM8wpO4bUvdSp51KMbF54WTDI/bbNzlyOCtclGQgwKRplfy7H3oEBDlkWHaEQVycSpDIZCARYffgwHWVleoKtRqPRoMXKCCdPsD169Cj7t24lNjjI9GiUvjFjaGxro3twkDZgIB5nXmkpvx0cZHUmw3LDIA/oN03WBAIcAD6cl8e8/n4OAZciTrgCERSDiAgoxh8O5xW7HkEiCrWI8xuPOEZvRN2NiENO409sbcYXL22IULDUz1n1dRARDFfhd9LEERHkKNtABMsc4K/Vmk8qOy9GREkYqckoQURLOxIh6kAKby9DIkPPIEIhhoiwCmXvWCSa4W3yOEHdSysihrYh0aNJ6pkVKnsuRopuf6bsbcDfsfmwOs9BxEenOmezej5D6r1i9fwex09b7Vf39QB+vUxIPbN96jOZhb83UKGytRIRaAeRKNEO/Im5WWCRYfBHoMs06TBNKlyXXxkG+12Xm2Mxxubl0d3Xx92pFN2hEFcVFTFk2zzf1cWB0lIiBQUsv/123Qmk0Wg0aLEygjfB9tmf/5x5J05QnclQN2bMSEqoKh5nV1MTD7S3sz2dpnFwkIFYjKO5HHttmxBQFY3KSPeiImblcjT19tJjGARclxmIE52HpCVOoOoZkMiJt/FgGCnybECc3hDiPNuQNMk4xBE/haRPdiLOvUTdh40IogLEiT6t1jqBCIl+/ALVDCIyapFoz0Ik3bMAEUkDiKhYrq7tFdJ2IM5/BiJCSpHZMU3IL1QBIky+jR81CiNRi/n4xcYl6rgqRLQUIdGNDWoNT5SUITUmZUhh8hQknXRE3XMJIjQWI2LoAfUcPqped9XP3UjKaryy82n8mSqo53IZfjfPRmTg3k61zkT8ep5hdU4GET/71HkDSPSnKhDAdRxaQiFWx+METJMpts2Lg4NgWYxzXYajUfJiMc6rr6epu5tnOztpi8dZcdttrLjmGi1UNBqNRjGqYmXfvn189rOf5fnnnyeTyTBz5ky+8pWvcPHFF4+KPQsXL+aRn/yEYHs7F44ff8rI/UQ4TEciQWpoiGgqRVVXF0uDQSrjcdqHh9lu2+weHKTPMBg0DBoNg2bDoBJxcCtcl18hznkGknboQxx9KRIFOIY49Q51XBhxklHEcXcigqAYcYreVNptiIjwOoASSITgCqR1uQ1xvlHEOccR0XIUSXUUIMIojoiFPPwun5Cyw5vaekQdCyIeyvB3I3aRKI+p1ihEhqwlEed+AInUzEfml5Sqe9qN1JgsVOs56t7S6lkkkdTMJiR6s1D9bCGFyXPwC4YPqfPOQ4SdV7zbiohCBxEtBhL1uUhdI4BEvLyaoiWIcFkN/AARcXPVdUNI9Ahldy8y26VMPbcosD2bZTAY5Jbqas5PJNjY28u2EyeYkEhwPJvFdV0uSiYJhMOMLytjayRCeuZMPvrhD+uptRqNRnMaoypWli9fzuTJk1mzZg3RaJRvfetbrFixgoMHD1JeXv6W21NRUUG0uJh9+fn854kTNESjFAYCdOdybB4e5lAohBGP897BQS6xbc5PJAhZFkPBIPOHhliTzfKQ4/BYfz+1c+bgZjJ0dXcz1TQpdRwucl2eQBxfEBEtIWRPHG+AGEjEpRRxgl5tRTv+XjYt+KmNDvX9z9R5NfhpDAcRGvsRIZFCIizNiFP2JsIm8Os1mpUt+ep6feoaMxHRk1O2VyGiyUGETCVS1/Is4sBvVz8fQ2o7vE0bl6lr1qvzg0iK52F1Xq26jtdtdAgRVXvUVx1S7NqLtIF7mw16GxDuQqI0Veo1Rz0fGxEnz6vjrkAiOeC3MNchtTErEaE1Xh23A+mE6lc2P4CIrhpEPF2FdGQ1I6JoArIp5AnDIAt89cABgoODzDFNqi0LIxJhVy7HL7u6yBQWckk8zvQrr+R9ixfraIpGo9GcgVETKx0dHRw4cICf/vSnnHfeeQB87Wtf4/vf/z67d+8eFbGSTqepSCa5cP58TgwOsqq5GSeXwwwGmTphAsbgIMHOTq6IRik1TbpME9NxIBikuLaWD+Xn09PczAvDwwwVFXHewoVsWrmSo7ZNu2niuC71wN2IgzyGONEmZL7KVYjDPoSkeEL480dCiOMtRdIXPeq4JsRRNiAi5iXE0TcikYUvIE70biRVsxT5y78aEUeFal1vI8IeZLKuN8huAHHwJxfuFuDPiAERN0WI8AggaZp6dU6xus8jiPO/Dn9oXAUiiDLKrpeRWpduJP1SoOw5jIipfCQ1MxW4DREzjer5ZJBUzDakILYbEXmDSGSlFImSbELE0VL8dmZPeBlINKVRXWesWncuIsJeVPc7hESZFuLPxQnhb+64EhFNWdfll0eOcEkux7JgkLL8fKxAgGOpFOODQYoCAfbU1vK3n/oUEyd6UlWj0Wg0pzNqYqW4uJj6+nruu+8+5s6dSzgc5oc//CFlZWU0NDT8yfPSakiWR19f35tmk1dkG3Ucbpwxg2x9PWnbJmxZAHzliSeoyWQoDwYJRyLUTJgASOupaUoX+JKiIrYeO8bjO3fyn9dfz+7NmznU3k6Z41CJCAxvI7444jzfA3wIcXiXIZ0smxCHP0G97qVfnkWiG+PxJ6rORCIgy5EIQUqt8Xt1/JVIy/GvEJHyPxFH3osICRNJQ4WQyMdmRKB4Qsar0Zihvp+MCJNipMi2AxEhOUQ8LcCfWVKonm2jWjuDiA6vi8ernQkh4uoRREwdQMTIABKtuByJYhxHhMBa9fy8guVdar1ypPB1SJ1TjN/p5EWpxiNRmh4kWhJSNnlJvzmIsPEm5Mbwh8pdop5Dr7LxPvyZLuvU886o6wzkckw1TT6cTFIQjRIJyH9uVaEQW3t7GR8I4DgOmzdu1GJFo9FoXoVREyuGYbB69WquvfZa4vE4pmlSVlbGypUrKSgo+JPn/eu//itf/vKXz4pNXpHt5gceYEFVFUHLIqiEykAmI4O7gJzjUJhMYqn3TqY8L4/iwkKOmCb/vnEjAdNkbDiMDTyUStGMRDTm4xeIXoz85Z9DohLXI4PXdiFCpAx/XksLInTGqq8VSEFqJdJB4w2Q+ztEOKxS1/F2E94G/ByJxCSRCMc2te4k/OLbW5CunQjihP+Iv+fNOEQAbFdrz1XrHUbETDkiAtrUvz3q3orw0zVtiICJIuKqExEmIUTsLEEEWB1STNyDCIYZSFTnN4jgyMPftuAqRFg0Ii3SDypbbGXzlcg+QDn8lvCM+sri1wYVqHMGEUHUql5PItEYE7hJ3cuTSKSrVd1/FGiwLDqAqGXx3rw8bMMgY9s4rkvOcejPZimMRqkJhzFMk716pL5Go9G8Km/6ULgvfelLGIbxql+bNm3CdV3+/u//njFjxvDss8/y4osvcu2117JixQpaW1v/5Pqf//zn6e3tHflqbm5+U+1fuHgxHWVlrDxwANd1R14PWxaBYJDjmQxDlkUikTjj+d25HGY0yrQFC2ifMoUXgkHW5OXxRDRKNBLh5kCAumCQNssiikRZKhDV6EmfOYhgSSOdJvcgkQEvwnAQiZJU4u+Dk0RSH8P49Sp/gwgQL5KQQlIoJhI5eAhx6kXIgLQK9TUH+B9IOqUEcfjjEfHz38APkRqTMciANK9eo0DdR4eyy2vztfEn0A4oGx0kfbMfEUomIoBSSJRmLv403CiSIlqP1Pf8TL0+CWkLb1DneoWytYig89qQFyIisBmJrrSre6xX1/Xavb10mJdCykNqfDbgD/Fbg9TgrFU21Kv7jiORn3pgwDDIWRYlgQB11dUEx4zhuGFwKJfjuGEQHDOGirFjmVBUhN3ZSXZ4+JRooUaj0WhO5U2PrNxxxx3cdNNNr3rMuHHjWLNmDY888gjd3d0jjv/73/8+q1ev5t577+Vzn/vcGc8Nh8Nndfx4bW0ty2+/nUfvuYfGnTtpKCqiMBKhO5WixTDIhkLMj8UIqBC+l/4BcF2XTcPDZOJxli5bxoENG7jxve+lzHU5tG0b/Xv2UGKaVABP2zbX4499NxAHaSB/+btI1KQTScvsRTpOKhGR8CgSHViPRCCq8ffCKVb/5iFi6H2ImPEc/Az8jRBDiHg4cdI5Neq8rYhzLkOETwjZ/M9GUjrTETETQwRUAL+m5q/wh7zFTlpvLCJgLGWzpc47od43EcGyH4nylKvn0Yy/h08pstfRcXVcJSISXETkvISIB2/w3m51b9vU8YeQmpepSOTnMCJELPy9lWoQMfUE0rocA/4BET2HEbHymLr2e9Vn8oz6N5HLYZsmlmXx0tAQL4dCvATYhoGlbF0IxAIB+oeGcAMBPVJfo9FoXoU3XayUlJRQUlLymscNDckM1ZOdvfezo8aQjxbz5s1jzJgxrF+3jlXr1uGk05ixGONXrODFhx/msX37sPr6qInFiCWTJBIJwuEwj3d1sTWXIzF5MnPmzmXf2rWUxmJMKimhIBbjkaNH2dfbi2kY7EZqPyYhBaonzyltRpxoKZKmOYzUSOQjzjyNOH9v1+VD+HUXPeqYGP6E3ENI9MJSa9Ug0ZdSRBCE8NMb3hySE0j6ZQ5SkxFGhNRNwC/V2lH1Wom6TitSA/OcsuVKJOWVVve5GnHo49T7B5BoRgiJnJhI2uu36nlE8OejuEg9j6Peq0SiKSeQ6IoFfB0RERWIaJiqnoOL1MLEkJbmLUh67P1Imqn1pGd+BBFN04FvIamuAPAxRGC0IyLoCqSeaCtSp3JYne99TlnD4GA6zU+bmrgqFuPyaJRCy6Lbcdjc3s7PenpoiMfZk8uxeMkSnQLSaDSaV2HUalYWLVpEYWEht912G1/84heJRqP8+Mc/5tChQyxfvny0zBqhtraW2tpastdfTzqdZufOnay67z6m5ufTXFjIL7q6mNXbS3lfH4OBAC9HIrwciVA4dy63fPKT1NXVjUzEBSgqKqKqspKkbVOcTlOaTrMWSR14E1QXII4zgzjCHOIMW5C/xsfhF3yuw9+JeBARCYWI07aRaMsGRIy0Iimc+Ui6YwciMIaReg9vIu5OROxcj3S0tCHRjJ3quhMRkTAFiaTsQZx63UnrHkfEwjEkZeQJhiFl5x8Qp38xIoA61XlpJJI0oO5rGuL0u5AokoGIhC5EEGxX3wfUGpcj4u9Jdf2L8DuNtir7Vqg1/h9lRzMi9lJqzReQjp8hdW/96vlcr77fpezwNl0cj7+zdSWSTptkGCwNhfhDNss24LxcjvOGhmjIyxsRJAtCIR4fHuaeo0dh9myWLF2KRqPRaP40oyZWSkpKWLlyJV/4whe45JJLyGazTJ8+nYceeohZs2aNllmvIBgM0trayqr77mN+Xx9XXHABzbNn88jLL7Nu3z56+vroTacZDAR4/4c+xN9+8IMjszJOLta1LIuqujpOdHfTNzzMEuQvfBDn91/IX+izEWFyFGkhfh4RLRcgkYlZyF/xExFHOYxEP3YhDnYMIlCeQ6IAN6h19yJFs8Pq51JEZBxEnPUGJAJzJeKIn0FqVi5DIjheOmo94sDfjxSw/gIRAAWImAohU3pXIEWwj+DvPXRM3YeLiLN8ZWsE6YiajERKSpAIio0Uy8aQYt9t+BGnq9X7ver1nyDRmzgiUlaq9b29ei5HBGAXUry7DT/ickStNRYRfN4cmOPqPicgaSJD2Wip51Wjnve3kW6uEqDFdQnaNinDYIlpcqXrst+2+WNPD/WJBBHTZNi2CQ8PEzFNqvVsFY1Go3lNRnUo3Lx583jiiSdG04TXxfp16yg5fpwrZs7EMAxqk0n+fv58PtLQwEAmg+u6/GLfPsonTz7F8SxcvJifrV3LygMHuKKujuqaGtoaG8n19DAvk+E522YYqZ/wikl3II6wDamvyKm1UkiEoAfZDXimOnaTOi6MRGACiJM9gfyl/3MkxdOCCJByxNH3IuInrK5hI9GBFkRkvAcpsh2DLxxmqPdeABYhs0qaEbG0HIl2bEcExt1IyuVide4RRNx4KZqFiCAoxd8R+hAiajJItGIXkq66Vv37G0SMLEEiL1l1H9WIaHpQ3X8NEv2ZiQiNWnWfDiLEourrAnXtoHpmMURwXIkU7f4EEV+oNb35NTaSsqpABJwnptqR1NaBXI4u02R5NEqFbdOZSnHMccg5DnY2y6BtY5SWcm1dHXtTKbLZrE4DaTQazaug9wZ6DbLZLHvXrWNZUdEp4/cBgpZFYTQKwPySElad1oJ6pmLdwIQJ7Dh0SGpLAgGetW3aXHek86YSER8WMtMjD3GA+5CoQgwpoD2KRFeGgZ8iEYFSde4A4ly7EeccUj+vRzptLlH2V+OnQz6gzt2MpIumq3UKEOfstRcvVtd+EhEEUUQY/RKJVMxEhMlsJNIxjAixueq8HnXdSepevZbgfHVvjyBCBXXeXyGRnO1q7cPqvo4homcPkropRQqJ+/G3LHgUSQcV489ROYH80meRyNW6k2wsVteoUzZ4Iq0QEUk5JKXWggimGCIqvUm4GSBqGEwJBNgIRHM5iuJxqgyDY7kcVnk5oWCQsbW11I4dS1s2yx41N0iLFY1Go/nTaLHyGqTTaZxUisJI5FWPK4xEcM7geE4u1n38uefIJRK8NHMm/Xv3UtPXxzjTJGfb/NS2MRDHPB5x7nWI0JiKCInjSETDRZx0mfr3QuAjyIfZiIiSBOKAB5CISg6JWlTiT209H4kqfAuJUJQgzrkIv1U3hD9zZAhx+vOQSEazOm4jkgL6JyTqUoGkgTLK1jJEBM3AH/p2pbpOv7Itqu6vCBFU3j5F3pRbV12jB0nFtCERo6eQWp9L1Vp78Wt7nkaiR2OULb1I9GMLIpxSSHQli4iY/YiQ6kXE3XwkejVH2Wer59alni/qGdUDpmFgAwWmSTIYpNgwGMzlSNs2RZEIcWDBJZeQn58/Mp/npZYWzFhMdwJpNBrNa6DFymvgTbX1CmX/FN2p1Gs7HtfFdV1qxo+nJZfj+K5d3GCaVJomZnc33cCtiMDwWni9gtYsEuXwNhRMIE57C+Jwk8hf/O1I2qNQrRFBHPWv8Nt5c/i7CXudRN7Ml2r8qa+H8QtbQ/hRnTB+19FHkOhEI9LR04y08trK1iJEQBxTdsURcfMjZIhbHIliPI5EMv4Wv0bERX5BQ/ht2Z54KwP+DRFYl6pn482biSo7r1b38BQiZDqR1NI2JOJSjxQiJ5S9JYhgmY5EaiaoY9cg6SzwN5Y8qJ71fiSK1Ou69BoG+YEAlYkEM7JZXh4YYObwMN2WRaS09BSh4roum7u6mHrppTqqotFoNK+BFiuvwelTbU9PBcGrO56NGzfy2E9/Ssnx41xZVERhXh7dqRS/tiyec10as1m6MhmGESc/gIiDYcThzkeEildT0YoIjDL8vYUKkcjHYXVuAr9rpRCJDKxBxES/Om8TIoSWIMKlD6nTeAGJnixCHHIH/o7MASTq8DIiVsJqvauA+5Eohpd2CiMC5veIgAkg4qYHSQHtR9qHc/iD4sYiESVPWIAIrSQinnar94NIZOUEEoVJ4E83jCHRmBPquKlIV1Ix/qTeq5B0T0itO0c9X1vZ0aiuU4Kklp5GIjH1+Ds7P66uV4aIreNAOhBgVkEB8XCYhZbFluFhVqfTVMZi1EyefIpQWXngAB1lZVy9+OSmdY1Go9GcCS1WXgenF8qeLFhezfE0NTXx2E9/Kl1EqjjXY255ObcdPcqJgQEc18XN5UYGkeUhTr1SHWsgDrUCqV8Zr77vRERGF+L0vQLREFLXEVXntyICJI7UmlQhqaP34qdp7kcEQC0SfRiLOO8yRPQcRwTBMFIAPE3Z+iNE8ITxZ41sOemrDumoKVR2PqxsyyARibmIAOpABrA9ru6tCxE13kaOG5G0z7VIjYo3WK5S2ZXBH0wXxN8EsVTZfBhf3FypnssgEh1x8DdiPIHfBj6knnUc6aB6WF1jWJ378USCgmCQX/b1EcjluMR1MR2HoWyWAsdhumHwS8OgOhbjpkSClzs66E6l2NzVRUdZGctvv113Amk0Gs3rQIuV18GrTbV9NcdzehfRyYQCAd43Zw7r161jcmkpTnMzw65LEnG8OeTD8RzjcSTC4LUOe9NjQ0hEYxH+oDRbrRHG38OnHonS/AciSBoQEeKo9RYgQiGIRB/CyHyRMiQdFUFEwXNq7SPKhkIkHRVTX6vxNxl8D9IyPEZdazIiItYgtTarlG0zEFGRj4ifAmVfKyJStiKRGJCUznsREeRtxmggAiOtrtWOPw04jgiRvwPuRVJqXnqpWd1XWj3LpLpGK34qrkOts1Q913agIRjkD8AjrsvscJjzq6po7+/nqYEBWlIpylyXPmBdMIhVX8/E665jXVvbyHDBqZdeytW6ZVmj0WheN1qsvE7+1FTbP+V4Xq2LyGNRbS1r9+xhV08PRaEQW9Jp5iNOO4BfN3IMcbohJH3xAhJ5uBipMXkKETTXqfPy1PoppC7FQURDChEfE5EIjTeB1rNuBuKkvb1wAvjTYpvV60fVa62IUClCnL+JCCYH6cK5EqkZ8QauhZFIiKFs7lHX7ELG1mfVtYcQYdKICLasus8b1PtbEcE2Q635FCKwBhAhUq7W7lHXe1Hdx4tIsWwfIkpi6vwGJJribXnQr67/a6T12ru3HUj6Z5llsREoKCpiSnk5c3M5VhQX05xO82hbG08PDzOmvJxjw8MMjB3LP/7zP7No0SKy2SzpdJpwOKxrVDQajeYNosXKG+D0qbav5nheTxdRbTLJJTNn8qOtWynM5chmMpiui4kIiaP4qY4DiCC5FOnu2ad+LkM+xLXq2MsR53tIfZnIYLcyJEoRR7qA8hEhM4A/9fY8JFrShEQcChBh4KhjSpGoTAUSJXkEcfw5JG1UpGx9Eakj2YcIpyx+fcgAEv2II1GYC9WxXYiQCON333QiQi2hXstDIkQbkDqSl9Q5efij+I+qc/OQ1M2TiJg5gqSQEure1yPRnaha2yv+fVLdzxZEKNrqvmuAvzYMhkMhVuVylIdCLJk2jc379tHU3k5DNMqceJxcOMxwVRVWdTXXfPSjzJs3D5DaJy1SNBqN5s9Di5U/g9fjeF5vF1F1IsGMJUsomjCBB77zHQ6cOMEWJIWSQZzpDiT9UIcUmV6nXl+JRAiWIs57JyJUQFIbU5ANByertbYjDtlAnHMKcchpREgUqePAb58+T/0cQyIk3i7NQXWs11bs7VocRoRLHiI0Uur8fMTxJ9S5k5CC1x4k7dSJpLo+AHxKrdsCfAURNTaS/kkiaSuv1boDEUcWksqKISJpE9KlZCFRnunq+z5ELN2qntnLyD4/JereDODvEUE4iLRpz0XqeZ6xLHpdl8sSCfpDIYYyGT60dCnrm5tZ1dxM69AQTZEIt9xyC0uWLtVpHo1Go3mT0GLlLPFGuogW3ngjN950E3998818++67efC++9jV308QERWzEfGyBXHWMxDnfQsyjv9hxEkPIxGMi/BbfEP4IuMo0o77NBIdKUUcchgRRDbi0DsQMZRW53jTW4cQYZJEojbeJoTj8AtsB/B3Mm5GxFOZWq8aiYxMQUTXLGR670vKvj4k4tGJiJkwIiKmKft2IV09jlrPm5PShYiTRmVPDhF3B5HJureoteKI6NiNCKPzlH2/QcRVJyKIqpAI0XeQNNMBw6AHSNo25+fnc8XYsTS5Lquam7muvp4bZ8wgM3Uq392xg6U33sjNt9zyis9ao9FoNH8+WqycRd5oF1EwGGTJkiUE+/tZ99RT9B47xgWmSY1p0mHb7HIcrkEERgQRHJcgjnsqkip6ABk7X49ECQKIoDmKRBciSITleXXMMSRV5CJi5Cl1Xh8iQo6o74sR8ZJDHL3X4pzAT7+UI8JmLSJALkaiHSX42wX8GKkTOYKIpRgiDkxEZL2sbBuHiK8oEjm6DEn/7ETSSo2IADmGRGcGkEhMPlKTswQRH14NUFh9VSOipwm/g+oxZet8RLTsQ6I/HwLWGAZLQiHGRqMMZ7P0ui6xYJBCx8FRQ98CpslThw7RX1XFX11wwZ/6ddBoNBrNn4kWK2eRN9JFdPI8lhuKirhq/nz+/dFHCeZyxC2LCfn5rOnupghx7hkkgtGHCA0HEQqXI4KlCXH6VYiTfh+yH4+JRE9WITUdk5H00ktI9CKFRDy8XZTnICJgH34B7CNI5GQuIgS6EXFRhQiEXnWt65EoTDsiapYi6ZXfqXPGq2sElf0VSJ3MU8iY/YCytR0ROJeoc7Ype5PKvjmIwGpBJuUOq+dfob4fQCIuA0hUpV1dZ7J6HpVIBGsQEVQ2MMs0CRgGsfx8lkyYQHV+PgMDAzx36BBrm5sx8vPpjUTY1tbG9p4e3Yqs0Wg0ZxEtVs4yr6eLqKmpiYd//GNm9/SwYto0QoEAVFezobGRrr17KXRd9g8P4wSDnMhm6UciHTEkQpGHpDemIdGCBYgwWIMU0waQiEJIfT8ZiUZsRaIk7UgaZRARNZVIeuRxJJIxHxFEbUj05kWklqMIEQPlSNTG26eoWq3TpGwL4A+Qq8Lf2Xg68Edl1xRECHmFxd9GBI+NpIi8rQBiyqYKZNrtNeo81LUuQsTa80gk6IR6Rh3qPluR6FJS2ZtRz3KxsvMo0GwY2KZJKBajNC+Pivx8TNMkkUgwtaqKrcPDrMlmaa+uZk1+PlOXLdOtyBqNRnMW0WLlLeDVuoiampq4+5vfpOmppzCSSXYdOcLU6moW1tZyTUMD3zl6lKOZDJMsi6ZAgJe6upht2yPpmE7EiUcQR74ZKSAtRcTLs0jaZAkiFo4jwiQAfFwd047UsjyOP7XWm5/SDvwnImQMRBC8R631JBKFWYQInw3IaP3b8Ef+tyGiJaPsqkRamp9D6k02ItGVa5FoTxKJurQgWwQ0qnOnIIXFv1LPdC7SSTSs7t/bu6cSEWonEFGzFal/KUWiKHFE6HSr+2zCH7aXB0wxDDLqOe1xHM5LJAia3nxciEejHEilSF54IXd89rPU1dXpLh+NRqM5y2ix8hZyehfRxo0befjHPyb71FPcFggwJRCgO5tl8549/OzIEZbPncv7lizhV888g9XXR9hxOOa6PIakQ3qQiEUOEQdPIM79CsQZT0Ac8S+QItIyxAkvRCISxUjaZ4w6zmtbbkciDGOQiEoWEUJ1SD1IEZKe+S+kPqYNEQHjEfEzFhE2hUiKJx8RQeVIhCSLiJ8t6hrHkcLa9UiqBkSEWer9JUib8QGkaDcfEUk96vsQIlosdb2xyta9SLpqJ9LynVN2dqjnc0Dd52fVfR4EjrsuVYEAz4fDbItEiGSzrO/rozAQoDuXY3VXFy/G43zhox+lvr7+1T9wjUaj0bwpaLEySnij+Of19hJPJpkZCFASiwGwIB5nZVcXj27ZwtxJkxjOz6exr48C1yVomjzhOIx3XSbh76z8EhLtmIM45TFIlMLbbPAXiKMOIrUfY/DFzlFEQFyFOHhvY8LzEccfQ4RHUr0+Dkn1mMhmguch7cEx4JtIzUpE2eMg9SFF+HsbvYQIBi8S8nuksLYeqU2pQSIrXsv2dkSUDCibo2qtfvyOoay6phf9MZD00BQkYtSMiLc8JD3Ui0ShKpHuqDlqvaeBVCTC1kiED150Ea7q+nFyOYxgkKYxY7jyb/+WhQsXvp6PWaPRaDRvAlqsjBLeKP6rpk3j+cOHSWWzI+8ZhsEVRUVsOnqUnz//PAUDA/yf/HymBQKECgpo6ulhQ0cHR5DIwWGkruRWxGF7IiCJOOcYIgJ+h0QhXkKEhjc11kWEiY2IhiEkSrEFETLewDcDEQfeYLWoOm4dkmrxBNImRCQMIkKiGYmq1Kr1tik7mxHx04ukgaap+/fqYCqVffuR1NIE4KvqeBsRQsOIAMpTP+fwd5+OA/8DeEi994y6/wKkpiYBFBsGxYbBKsehGdhnmswLh5lUVcX7pk4FYGDiRFzX5fnmZux4nIvf+16y2axO/2g0Gs1bhBYro8DJo/gDgQAlNTUc272bqnh8pL3ZMAyMXI7Bjg4uikZpsG2Gcjmi3d3MsSzKLYuk47DVdbkLEQ41iAAow9/UMIcIiiwyIO5lJN0CIj5KkRqUvUgXTinSJnwJImiOIuJmMSJoWpAakgEkMjFNrb0DqXGxkPTKH5GZJUeQVFMVfrong7QKlyGRjARSGFuHnzJqQkRJpbr+r4G/RsTGUaTI932ISMnh7xFkIEKlEynifUnZXIHUyPQhGysutizWOw6rDIPbTJP3miZbQyF+FQySjsVod12+/txzdHZ1kUqnOTw8TG88zpQJE/jN3XdjRiJMXbyYhbqwVqPRaM46WqyMAqeP4q+uqWHr4cMc6OqiTu0llHUc2oeGyHMcJuRyDGSzlMZilOXJzj+9wSB2Nku9YXB+Lsd2pPtnLBJFyFf/uohAOAx8DBETdyOiZYb6GkLExSJEcBxF6k8OILUhJcgQuNn4uzF7Q+Ruwy9k7UAiL/WICNmmzq1DakT2IcJlGRIl2ajOuRYRP52I8ClGBr31I3U0J5A01nH8Gpo9iLBapmwKqfvdiT/npQIp+h1GIjkB4AbTpNow6DUMSgIBDGA4ECBomgwbBkOxGJn6epzBQdqampgaCHAil6Mvm2XyiRNMyeWYEYkQSiTY/MAD/GztWi6/7TZmzJih9/3RaDSas4QWK6PA6aP4k8kkk+fOZd+WLXS3t1MZjZIzDDpTKVzbxnAcYqEQZXl5GIZBKpfDtSy6UikMJGXyMrDBMNjouixBhEQvIgjaEQFh4+/Y/GMk4hBFBEMQcf6tiGAZg0RAtqjXG5FOnImIEMgBtyNi5zwkSvKUul61WtdFBMhqRCxcgERx9iA7IHcjwuMQIpgM/Im0EXWNJCKi9ql78CIrv1W27ke6f4rUuuvU/VyBpIGqgRbDoNEwyDgOQcchEQ7Ta9vstW36gG7LImUYPOo4dFdVMSU/n4ujUSaXlrLr4EF2dHZymetyZWkpnUB7YyP1S5cyNT+fX2/axF0f+Qh1M2dSWFKioy0ajUZzFtBiZRQ40yj+yspK8vLyaGlu5mBzM5lMhqNAYTzOIFAaDmMYBn3pNF0DAwRsmyLLosW2R2o43uu6/Ar4ISIwbCRKUY5EF7Ygrcz3IyJhN5KmcZF6lzwkCpJEIiB9iGDJIVGKlUgdygl1/lNq3QrkFymNCI3JyP46Xl3JLxCRNATcg6SqZgE3IdGTIkSMPIwU8s5BhJZXk9KOiJdFiEABidg0IfUoa/DH7M8EPqzsDyLCbFI4zGO5HP/tunzHMLjBcWgwTTYDpmWxJRBgq2nSXl/PRStW4D79NMV9faSGhugdHmaqbXNdOMxARwfRYBAzlWLH9u3YfX3MGRjgRCpFvLOThbHYSLRl+e23j2xiqNFoNJq/DC1WRokzjeJPJpMkk0lyU6fy2P79lBQWEmpvZ3dLC1epiErXwABxx6EoFMK2LA4MDdHiuhxDUjPViHMfB9yIiJY2JBX0ICI0piND3YJIdONZ9X0OqVM5oc5pRupgitSax5G0TwR4FGmVbkEiGLuRiMZMJKXzDFLjkkN+yS5ExEcbcAOyZ08hEiUZRmpkHkQ6d7zW6ABSF7MNvxPpcURcFSMCZZmybR1SwLsAmeGSRVJSpmEw23W5ID+fQdtmfy7H48AO0+RgMEh9cTFbk0lyU6bw+U98gt/98IeMb22lOhhkbEkJKxsbWRaJkAyHSbguXcPDhPr62LdjBwvKy5lcVobb38+qnh4a5s9nQVUVKw8c4NF77mHMmDE6wqLRaDRvAlqsjBKvZxT/B2+9ldW/+hXbWlp4fHiYpaZJ0LYpUnURL+dyrDUMLMviw67Li47DcdflcqTmZAgRCOVIsekzyLyRDyBRjxAiNloRMXAQiUgkkfRNGBEORUj9io0IAgtpc25DIiAhREBcixT2HkKEUxvSJTSornMYEVMX4u/YPAZJ3xxEUkA9iPCYqo59Uv08ARFEh5GU025EsESQQts+JEXlTbddBMSDQfpNkx2Ow3+l04wNhYhFIvQ7Do/k5zNr7lxytbXMW7KEhYsXU1RUxPeampifyVBXVsag4+A4DoVqKJxhGBRFo4Q7OnBcl3EFBRiGQWEgMLJPUNCyuKKujsadO1m/bp0WKxqNRvMmoMXKKPJ6RvGXl5dz54ED/GjXLtblciw1TYqyWfbZNutzOXKBAP+rsJCKXI6UadLS18eEdBqQDp9jSKvu00g05SJEnFQaBpbrMsGyKLRtjiBRiT6kO+cYIky8gWu7ESGyFSneNZBOoPuR6EkJElEZRERKKb7I6UY2Pgwh81jCSMpoUF1rHNLdU6Cu+QiSHupCUlfvQepinkIE2F7DoCIcpi+T4XeuS6PrclzZOQ8RUrFQiFA0ipPLMTub5al0miezWQbz8rh85kziEybwj9/6Fvn5+SNFsUNDQ3R1dBAOBjEMg7BhYJom3Y5z6gdn22AYmKpzqzuXwwwGCVsWIKKmoaiIVevWkb3+el10q9FoNH8hWqyMMq82ih9E0Pzjt7/Nlz79aR7fto3tiGiwAgEmWxYfLyzETaV4ybZpzGS4AMgZBqWuSxoImyYm0Ok4LEPSOvuQdE/aMAi7LouR2o+dSGFsk7p2FdI6fL86ZymSGgJ/GF0Iiag8pd4rQURGIyKM5iIRj2eRKI+FiJUMEpXxBrSF1GuHkUiLF8UpQqIq2xGhFAAuCIe5qrKSmvx8HmxrY113N43ZLFcgYiUUjRIwDMxMhqhpYoZCXBcIsDuTYb3jMK6sjKZI5BUThR3HIVZczJ7Dh7laDeCbmkyyub2dBaEQhmHgui4drkswFMJFds/ePDzM1AkTCCqxAlAYieCk06TTaS1WNBqN5i/EfO1DNG8FwWDwlL/yT2bRokV8+e67GTtxIteWlHDXxIl8OC+P26NRugcH2Tk8jOG6FCApkgQiJkKGQdYwmBQKETUMqk2TomCQvECAqGniBgI4eXkUGsbI/j6rkVSMhURm7kWEwkRk0NsyZA7LPCR6EkVEShwpbL1avZ9ARMuvkGF0TUiqZy+SajLUdXYhIslRrwUQcfIxpO4kjaSv9iI1MDcDVbbNI21tpE2Tr9TX8/uGBmrDYWoti0RxMa66/3gwSDgQIGhZRAIBJqjZNLt37mQwkyEcDp/ynMPhMDVjx9IUDrOyqwvXdVmYSNARCrEylcJxHA6kUnSbphTaAiu7uujIy2NhTc0pa3WnUpjh8CuuodFoNJo3jo6svENYuHAh13zsYzTfey/tjkOf49BlGPQYBpNiMSbEYqzs6mJ7JkMtUkOSAzpcl1x+PgHbpttxGIMUneaZJnYsxoQpUzh2+DBjczmOdXXxPdelEEnRpJH6Ei86MoykdUrU+lsRwfEIMuvkIaTY1UUiI8eQybrnI11G9yDCpxARE71IB9IEtWYcES81yF5GaxBBNAPZy8iyLJoBK5cj5rr8sqWF1myWg9ksacsinExyPJcjkMtRGY2ODNhzXZcDuRxBy2J8NMrLvb0E4/FXCMNgMMjCyy9n0+HDbOjvp7G9nYZolOmFhTx8/Diru7upC4dxIxEGTZMfdHTQmZfH8rlzqU0mR9ZxXZfNXV1MvfRSHVXRaDSaNwEtVt5BrLjmGn62ezfD3d2UAZmODooHB5mSl8fGdJot6TQTHYcVQKFhMOi67HFd9vb3UxUIsC6dJt+2SQQCBAIBQsEglmVhmCZh0+RYOEwgm6VeCZYXHIccElGZg3QDtZsmBxyHDcDziBApQKIiIWTTwRqkW6gUqR+ZgoTwbgD+gERW8tQ9mUg6yUK6izYjnUmNSNTmfwKVgYDsLxQIUBcIsDqVIm4Y5LJZfjE0RHVpKXlAVU0NTVu3SnopnaYsGCTluhxzHIYsi4JQiG7HIVhcTKi//4wj8xcuXsxLa9cyrrWViGWxqqUFxzCIVFfjhEI829FBl2VhWxbnFxfzsXnzGFtQMHK+67qsPHCAjrIyrl68+E353DUajeZcR4uVdxAndxANGwb5XV0sCYd5aHiYX/b1scCyyAUC7M9mudJ1iSJ7Ah3MZqkJBPi/QMp1+ahlEYhEwDTp6upiaGiI+/v7eTEU4ryaGo51dvJXgQDVts23+/sZcl0GgbhpkguFeDGTYb8SRTchaZ4HkXH4lwEPIAWxExAhsgupsxmDdPw8gURtxiLzVrYjBbYHkU6eKmRn6GOIeDk/Hqc0EMAZHsa0bcYZBi+FQtSHw2zq7GQ4HCZYVMSW7m4WFxcTjkbZ1t1NMJslZpqUhMOUBQL8IZWiv7SUD5x3HrtCoTPWk5z8jEuOH+eS6dOJBQIM5XJs7+khMXs2l/7N3xAKhXji3nt5pKmJhoGBV3RyLb/9dt0JpNFoNG8SWqy8w/A6iB787W/51V13cSibpd80qQsG+X8TCQ44Dr/v7mZfJsMs06TANGl1HDY5Dq3BID2WxaBhMHNoiIRlMTQwwIu2zY5AgPPjcWotiz8Gg9wfDLIslaLCdXGBx02TaCjEEGCbJhdZFhW2TdZxGEBapSchqaL9iGgBKZL12pj7kVqWq5E0z9NIlCWFFPLORNqsXXVuEbDFsqjOyyNsWeRCIdr7++mwbVLZLKGhISbF4/zPOXPochx+sWEDdHVxU1kZ51dV0dzbS1dfH8OOwzPZLB2lpXz64osxDIM9r1JPcnKX1hqvSys/n6nLlo10aQFUVla+aieXRqPRaN4ctFh5B1JbW8v/+sQn2LdhAxO3buVgRweXhkKEkOmxyyMRnnccnjRNHMOgLxSiqqiICwoLuW7OHO565hlWHTtGCZCfl8eUceP4f8rLiR89SnRggFg0ykNDQxzMZOgLBJhoWczNy6PNdWm1bUpCIc6LxVjX3c3edJrDSCTlCJK+GULam3sQ8RJFoiyV+LsjH0dG89+ifjaRQttOoCAQwHAcChyHINCTzRLN5ejPZumOREgbBvWmiVlTw/FIhEUTJxK0LKricb7x8MPc3dLC3waD1CYShCIRNg0PM5CfzycaGmioqOD7O3e+Zj3Ja3Vpvd5jNBqNRvOXc1bFyl133cWjjz7Ktm3bCIVC9PT0vOKYpqYmPv7xj7NmzRqi0Sg333wz3/zmNwmFQmfTtHc8wWCQS97/fvZ1dRHK5WBoiHbHAdNkYmUlky2LzhMn2DMwQKK4mFgiwb3pNJu6ukhOmMCCqir+bv58kuEwMfWseydMoOnIEaYeOcK2tjYpcI1GeSKd5qBt022aDGYyFJsm/dkstfE4+22bplyOBfjD5AYQ4ZJEUjkBRLxEAMs0cV2Xftclg9SnBE0TTJOoYVAcClEbDhNzXZ7r7SVjWfQAfYZBvLSUbDZLdGiIyeXlPJjJMHXSpJGW4fOrqvinq67is488wje7u1kYiWCFw0ytq+O6mhpqEok3XE9yenvzn3uMRqPRaP58zqpYyWQy3HDDDSxatIh77rnnFe/bts3y5cspLS3lueeeo7Ozk9tuuw3XdfnOd75zNk17V7Bw8WJ2rVnDQHMz0WSSmngcQw0yc12X49ksbixGNpFgSypFUzjMove/n7Fr13KVZVERj4+s1dvbS0tzM11Hj2K6LrPicXaZJhfU1LBr3z7sTIYbw2HSqRSW67J7aIg9lkW7ZXEwl2OlYbBbpYwySK3JzUCrYTDguqSQ9E7IsrBcl2bbZsB1MU2T8liMTtcl4DgU5eeTNgycgQE2WxZmNMpRw8BwXejt5UhfH+MDAdYDHXl5XH1ay/DM2lo+vmgR3zt4kPyKChaNGUNpLMax/n4ePnJE15NoNBrNO5CzKla+/OUvA/Dzn//8jO+vWrWKPXv20NzcTGVlJQD//u//zgc/+EHuuusuEonE2TTvHU9tbS3XfPSj/FtjIw/u2UONYRANBknlchwbHmYoP58Fc+cyZswY9u7YwS0f+ADXXHstjevWUXhS5Oro0aPs37qV2OAgE6NRIoEAlmnyu8FBnt25k1uSSaYHgwSzWcJIl89Ew+C+VIoXHYf50SiLHYfJ2SydjsPzwAZ1zEVI8ewBJNIScF0etm2OWxZYFhtcl6uzWZqAtGWRiERIuS4Puy7bTZPibJanbZu5loWTy9GaSvFsOEzENPnQaS3DHpNrapiel0fZsmWs2bJF15NoNBrNO5xRrVl54YUXmDFjxohQAbj88stJp9Ns3ryZiy+++BXnpNVUUI++vr63xNa3K/PmzeNT//Iv/Oc//RP3Nzdzfl4eZjBIyYQJTKmpIaFSHz1VVVy3dCnhcBgzEqF7aAiQiMr+rVupSqepGzNmZDZJOJejKB6nqrOT6sFB6saNoy+d5uXWVg4ND5OwLCYCF5omU0pLmZzNUpZO05DNMr2/n/+LdAW1WBZjVPTlsONw3LZpsywuLy+nKpnkqfZ2dvX3k2fbBMNhmoNBmmIxdpgmVyQSzAb29PXx+NAQ4cJChvr7iZomwUCAMXl5Z3wm3akUyZIS/vqWW+CWW3Q9iUaj0bzDGVWx0tbWRllZ2SmvFRYWEgqFaGtrO+M5//qv/zoSsdEIixYtIvi1r/GHH/2IHW1tzCsuJpCXx0v9/Ww+Q+pj6uLFbH7gARZUVdHS3ExscPAUoeK6Li8ODRELBnlfVRXp9na2tLfTUFbGrJoadh89yvDQEOWWxbV5efwxl+Py8nIOtbXRms0STiR4n2nSPjzMqkCAvHCYcChEa18fMdvminic6nicYcdhKBRiXX4+wUSC+unTKa+txTVNLtq3j39csADHcbBtGwcZcndg717Se/awMZtlfXPzKyIrZxrIpkWKRqPRvLN5w2LlS1/60muKhY0bNzJv3rzXtZ7nIE/Gdd0zvg7w+c9/nk9/+tMjP/f19VFzWt3CucjJ7bZPvUYr7cLFi/nZ2rU8um8f+U1N1J027XVlVxdt0ShluRzV0SjBYJBtqRT7LUuOKyuju6WFGsBQRbcp28aIxeiIRMiLxQgYBhO6u9lhWUxZuJCCwkKuqK+nt7eXvevWsaGlBRvInzGDW1es4PIrr6SsrAzTNPnm5z7HZdXVGGpHaeukPXfGjx3L1qYmyrq72dPcTLa+fqTAVg9k02g0mncnb1is3HHHHdx0002vesy4ceNe11rl5eVs2LDhlNe6u7vJZrOviLh4hPV+K3+S19tK6w0++/0PfkB3eztXx2IMBgJ053JsHh6mIy+Pa2bPZtXOnXRns9TFYhSFwyy45BIsy8K2bZ557DESQ0Ps7uuj2zBoCYUonzSJ2TU15OfnY9s2NT09DGazfPxf/oXi4uIRW7LZLAMDAwCv2A9pYGAAJ5WiMBI54z0mk0kmz51L07p17Gxv59mmJqricT2QTaPRaN7FvGGxUlJSQklJyZty8UWLFnHXXXfR2tpKRUUFIEW34XCYhoaGN+Ua5yKvp5V23rx5FH7+83y+pYWHmpsps23MYJCpEyZwdU0NtckkTd3dbN6zh6pIBCMUIhQKjYiVSCxGNBDgaDDIRVOnctHMmadEQCzLoi+TIRiLnSJUPPsKCwvPaNfpNTVnorKyksoZM4j09LA2Px8jm9UFtBqNRvMu5qzWrDQ1NdHV1UVTUxO2bbNt2zYA6urqyM/PZ9myZUybNo1bb72Vb3zjG3R1dfGZz3yGj3zkI7oT6C1g4sSJ/NUHP0jbr3/Nh+rriagdij0W1tby0yNH+N3x41w6f/6IGLEsi+Lqan734ov0lJVxzfjxpwgV+PM38wsGg6fU1PypNOHLmQzXfPCDXKcHsmk0Gs27HvNsLv7FL36ROXPmcOeddzIwMMCcOXOYM2cOmzZtAsTpPfroo0QiEd7znvdw44038r73vY9vfvObZ9MszUksXLyY7ooKnmtqImCe+utQk0hQWFLCk4kEjw8Osr6lhZc7Oljf0sLjg4M8qd6vOU1Ynlw7svDPqB1ZuHgxHWVlrDxwANd1T3nv9LWDweArUkkajUajeXdhuKd7g3cYfX19JJNJent7dTTmz2TTpk0jG/c1FBW9YlO+huXLGRoYYK9XuBsOM3XxYmL5+Wx+9NE/ed7y229/3YXWb9Smv2RtjUaj0Yw+b8R/a7GiASRlt37dulcIkoUn1YBks9lXpFxez3ln0yaNRqPRvDPRYkXzZ3MmQXI2zxvttTUajUYzOrwR/613Xdacwp+7Kd/Z3MxPbxSo0Wg05zZntcBWo9FoNBqN5i9FixWNRqPRaDRva7RY0Wg0Go1G87ZGixWNRqPRaDRva7RY0Wg0Go1G87ZGixWNRqPRaDRva7RY0Wg0Go1G87ZGixWNRqPRaDRva97xQ+G8Abx9fX2jbIlGo9FoNJrXi+e3X88g/Xe8WOnv7wegpqZmlC3RaDQajUbzRunv7yeZTL7qMe/4vYEcx+HYsWPE43EMwzgr1+jr66Ompobm5ma9/9AooT+D0Ud/BqOLfv6jj/4M3lxc16W/v5/KykpM89WrUt7xkRXTNKmurn5LrpVIJPQv6CijP4PRR38Go4t+/qOP/gzePF4rouKhC2w1Go1Go9G8rdFiRaPRaDQazdsaLVZeB+FwmDvvvJNwODzappyz6M9g9NGfweiin//ooz+D0eMdX2Cr0Wg0Go3m3Y2OrGg0Go1Go3lbo8WKRqPRaDSatzVarGg0Go1Go3lbo8WKRqPRaDSatzVarLwGd911F4sXLyYWi1FQUHDGY5qamrj66qvJy8ujpKSET3ziE2QymbfW0HOIcePGYRjGKV+f+9znRtusdzXf//73GT9+PJFIhIaGBp599tnRNumc4Utf+tIrft/Ly8tH26x3Lc888wxXX301lZWVGIbB73//+1Ped12XL33pS1RWVhKNRrnooovYvXv36Bh7DqHFymuQyWS44YYb+Lu/+7szvm/bNsuXL2dwcJDnnnuOX//61/zud7/jf//v//0WW3pu8c///M+0traOfP3jP/7jaJv0ruU3v/kNn/zkJ/nCF77A1q1bWbp0KVdeeSVNTU2jbdo5w/Tp00/5fd+5c+dom/SuZXBwkFmzZvHd7373jO//27/9G//xH//Bd7/7XTZu3Eh5eTmXXXbZyD51mrOEq3ld/OxnP3OTyeQrXn/sscdc0zTdo0ePjrx2//33u+Fw2O3t7X0LLTx3GDt2rHv33XePthnnDPPnz3c/9rGPnfLa1KlT3c997nOjZNG5xZ133unOmjVrtM04JwHc//7v/x752XEct7y83P3a17428loqlXKTyaT7gx/8YBQsPHfQkZW/kBdeeIEZM2ZQWVk58trll19OOp1m8+bNo2jZu5uvf/3rFBcXM3v2bO666y6ddjtLZDIZNm/ezLJly055fdmyZaxbt26UrDr32L9/P5WVlYwfP56bbrqJxsbG0TbpnOTQoUO0tbWd8t9DOBzmwgsv1P89nGXe8RsZjjZtbW2UlZWd8lphYSGhUIi2trZRsurdzT/8wz8wd+5cCgsLefHFF/n85z/PoUOH+MlPfjLapr3r6OjowLbtV/yOl5WV6d/vt4gFCxZw3333MXnyZI4fP85XvvIVFi9ezO7duykuLh5t884pvN/5M/33cOTIkdEw6ZzhnIysnKlg7fSvTZs2ve71DMN4xWuu657xdc2ZeSOfyac+9SkuvPBCzjvvPD784Q/zgx/8gHvuuYfOzs5Rvot3L6f/Luvf77eOK6+8kuuvv56ZM2dy6aWX8uijjwJw7733jrJl5y76v4e3nnMysnLHHXdw0003veox48aNe11rlZeXs2HDhlNe6+7uJpvNvkJ9a/40f8lnsnDhQgAOHDig/9J8kykpKcGyrFdEUdrb2/Xv9yiRl5fHzJkz2b9//2ibcs7hdWG1tbVRUVEx8rr+7+Hsc06KlZKSEkpKSt6UtRYtWsRdd91Fa2vryC/vqlWrCIfDNDQ0vCnXOBf4Sz6TrVu3ApzyPw/Nm0MoFKKhoYHVq1dz3XXXjby+evVqrr322lG07NwlnU7z0ksvsXTp0tE25Zxj/PjxlJeXs3r1aubMmQNIXdfatWv5+te/PsrWvbs5J8XKG6GpqYmuri6ampqwbZtt27YBUFdXR35+PsuWLWPatGnceuutfOMb36Crq4vPfOYzfOQjHyGRSIyu8e9CXnjhBdavX8/FF19MMplk48aNfOpTn+Kaa66htrZ2tM17V/LpT3+aW2+9lXnz5rFo0SJ+9KMf0dTUxMc+9rHRNu2c4DOf+QxXX301tbW1tLe385WvfIW+vj5uu+220TbtXcnAwAAHDhwY+fnQoUNs27aNoqIiamtr+eQnP8lXv/pVJk2axKRJk/jqV79KLBbj5ptvHkWrzwFGuRvpbc9tt93mAq/4evrpp0eOOXLkiLt8+XI3Go26RUVF7h133OGmUqnRM/pdzObNm90FCxa4yWTSjUQi7pQpU9w777zTHRwcHG3T3tV873vfc8eOHeuGQiF37ty57tq1a0fbpHOGD3zgA25FRYUbDAbdyspK9/3vf7+7e/fu0TbrXcvTTz99xv/n33bbba7rSvvynXfe6ZaXl7vhcNi94IIL3J07d46u0ecAhuu67mgJJY1Go9FoNJrX4pzsBtJoNBqNRvPOQYsVjUaj0Wg0b2u0WNFoNBqNRvO2RosVjUaj0Wg0b2u0WNFoNBqNRvO2RosVjUaj0Wg0b2u0WNFoNBqNRvO2RosVjUaj0Wg0b2u0WNFoNBqNRvO2RosVjUaj0Wg0b2u0WNFoNBqNRvO2RosVjUaj0Wg0b2v+f482eeE8shUgAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from itertools import cycle\n", - "\n", - "def plot_results(X, result):\n", - " y_unique = np.unique(result)\n", - " \n", - " colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))\n", - " \n", - " for this_y, color in zip(y_unique, colors):\n", - " if is_gpu_array(X):\n", - " this_X = X[result == this_y].get()\n", - " else:\n", - " this_X = X[result == this_y]\n", - "\n", - " plt.scatter(\n", - " this_X[:, 0],\n", - " this_X[:, 1],\n", - " s=50,\n", - " c=color[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - " label=\"Class %s\" % this_y,\n", - " )\n", - "\n", - "plot_results(X, result_kmeans)" - ] - }, - { - "cell_type": "markdown", - "id": "6ba5eac4-86b8-493c-830c-aeb0c8cb99f4", - "metadata": {}, - "source": [ - "Now, let's see how SOM results look like." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "214a124b-4c23-40ae-8e0b-0ae7e2d4b8b9", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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k1azWnTZa8qZ9SqiFpul1KjxnII1HXbKWbLshlVzpp0356qUGsumNOrR5YCTftdmD2jS54h/64JvrvvCjHjdtAt63GLVnISEaZcsGpWQstX7tdkaid4b6nVq1Ctho7QaKWnH/JZVc0grKjooAMplIanxivBLvU0gKk/HPz3ZrIPZrN/6jd+wa2zMR2699XvmSf1x9vqZTMbuQ4cc/fzn3bNx4x/5fE9jo972di9dv+7dXM4tpZK+hgZHSyWvpdMuFYs2l0puF4D8NQGgfkwA1XeEX/RHBZC7ITjALgrg+JoAVvcI4Fav2u+nWwDCLwlAXFGYNsa96IjzFuP5dsd/rwhgfk/cr1fwNwXl4ooQjnhEKM+dF8jQUVWzvZX474oZ3axABnYICkMFiCulwmcEktSu6ux6T1znuECOPiioNdfj+zXx2jcKykyfoO70x73ZEfdiWrW79kJce19cT138/IRABOaF6qU1gajcJShSGwQi96CgsDwlEI+kkDOTjO89JBCaj+CfC6G2StjtYwI5ScRzH1XNX7kmKD518Vq3x/WufMe+PhLP0xevfTbO1xKva7hclkwm1dfWWpmddXpqytVk0moi4Xwq9QMPBd0kKzfHD904dOheR1/4jDcuPOnu7d+dZJtMJl1eOmKxdsjeTT8rncrYsmGnN8+95T217zWdv6oQcyT63YuEo37VBndos0VZ0aIxa+Zd9m3N+m3xkG771Gg06YxV0075om771GqS0SgprawkKWWDg474VaVovz/oIVnNVswqKyrIO+pXJKUMesg+PxHN2lY06tVptyY9LnjKaV+St6zXbVoNutvf8rZfd8XzlkxISMQeQe8oWlOnw6whq9H5Na1W3rKLnnLdUQWrsbJp0rxRaTWyWsy4okaTZhuVlcy6LC2rUa822yy4bs28Gg2GHTblnEZ9Ou2y4LpGfXrcokZDTKTdatRb66GytJKcRVs8LGfBtIsuedqot4x626pZvc7b4E5tttnvJ404ot0O44455xtuOC8lrUGvrGZbfcCYt7TajFDeXRfLwdNq1o3oNrjLRU+bMySnU1EAqYoSUMn3+JJq9cicAEy7GxpMXL/unbffVujt9YVUyr0DAwb+kFvtf8he/95Dh3zmhRc8eeGCx7Zv/67vbE0yqVgu29bZ6VipJLe0tA4suzdssHNpSc3161YLBS8KoPym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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_results(X, result_som)" - ] - }, - { - "cell_type": "markdown", - "id": "13e71923-abe0-43ee-90c7-5cbef839fd97", - "metadata": {}, - "source": [ - "As we can see, the results do not seem similar but they are accurated.\n", - "\n", - "The idea behind this tutorial is not to exaplain how both algorithms work, but how can you use DASF framework the same way you use the most famous Machine Learning libraries.\n", - "\n", - "If you are curious, try to run the same code using a machine with GPU. Compare the results and see if the behaviour is the same!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_sources/tutorials/Tutorial_2.ipynb.txt b/docs/_sources/tutorials/Tutorial_2.ipynb.txt deleted file mode 100644 index 95a4059..0000000 --- a/docs/_sources/tutorials/Tutorial_2.ipynb.txt +++ /dev/null @@ -1,222 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "66892f2a-1c92-47d6-a9c1-8cb26940f251", - "metadata": {}, - "source": [ - "### Tutorial 2 - How to extend DASF Datasets\n", - "\n", - "In this tutorial, we will teach you how you can extend DASF datasets to be loaded dynamically to all architetcure.\n", - "\n", - "For this specific scenario we will use DASF Array Dataset class to show you how you can create a dataset like this using a simple NPY file.\n", - "\n", - "To start, the first step is create and save a simple NPY file to be loaded by the dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "c38bd978-012f-4599-a249-b20577e3700f", - "metadata": {}, - "outputs": [], - "source": [ - "### Serialize a simple array\n", - "import numpy as np\n", - "\n", - "data = np.random.random((20, 20, 20))\n", - "\n", - "np.save(\"data.npy\", data)" - ] - }, - { - "cell_type": "markdown", - "id": "ca8b5760-bbca-4613-9958-bbaacd96ced6", - "metadata": {}, - "source": [ - "Once we have the file saved, we can create our own array dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "7774cf93-a8ff-46d6-b378-0a5eff657b69", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "\n", - "dataset = DatasetArray(name=\"My Saved NPY\", root=\"data.npy\")" - ] - }, - { - "cell_type": "markdown", - "id": "a8f92ca2-ecb6-4241-b2be-726146056259", - "metadata": {}, - "source": [ - "From this moment, our dataset is not loaded yet. To load the data from NPY file, we need to run the function `load`. This object has the same dynamic generator from the previous tutorial. Here we are using a ipykernel with a GPU, then we are expecting the dataset to lad a CuPy Array. Let's see if this is true." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "4b055d3f-0d96-4f1e-bcde-20bd825976bf", - "metadata": {}, - "outputs": [], - "source": [ - "dataset.load()" - ] - }, - { - "cell_type": "markdown", - "id": "1bd783da-95e1-42cf-8ab9-da5035641a05", - "metadata": {}, - "source": [ - "Once it is loaded, we can slice the dataset and see what is the type of each slice." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d25dbe78-7abf-4ef2-a564-ed72a0bc79e8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "cupy._core.core.ndarray" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "d733a245-13f1-45b3-8b69-0d09a496c61d", - "metadata": {}, - "source": [ - "What should I do if I'm using a GPU but I want to load a Numpy array?\n", - "\n", - "All the datasets have a protected load wrapper for each platform. The code discovers which platform you are in and bind the method to its respective protected mathod.\n", - "\n", - "In other words, if you are using `load` in a GPU environment as we are doing here, in fact you are executing the protected method called `_load_gpu`.\n", - "\n", - "Then to load Numpy arrays, all you need to do is call directly `_load_cpu`." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3ab10622-978a-4e2e-af2c-6cd9c4f6c626", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "numpy.ndarray" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._load_cpu()\n", - "\n", - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "b2a38825-1bd7-42f0-8d65-b09553e273b4", - "metadata": {}, - "source": [ - "If you need to handle a Dask array in a multi clustered environment, you can use the protected lazy methods called `_lazy_*`.\n", - "\n", - "For datasets, the respective methods for `load` are `_lazy_load_cpu` and `_lazy_load_gpu`. Both returns a Dask Array but with different metadata.\n", - "\n", - "Let's see how it looks like." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e5ec3104-8087-406c-aa86-71961740fcce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dask.array.core.Array" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._lazy_load_cpu()\n", - "\n", - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "b6bc2c21-ce64-42a3-a72a-b9f895decdb9", - "metadata": {}, - "source": [ - "See how the internal array of this Dask dataset looks." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "92a556a1-643d-449e-8f5b-b5223972dbb0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "numpy.ndarray" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(dataset[:2, :2, :2]._meta)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_sources/tutorials/Tutorial_3.ipynb.txt b/docs/_sources/tutorials/Tutorial_3.ipynb.txt deleted file mode 100644 index c92d213..0000000 --- a/docs/_sources/tutorials/Tutorial_3.ipynb.txt +++ /dev/null @@ -1,252 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a9de8fc4-806e-404b-becc-e79954a1ac9c", - "metadata": {}, - "source": [ - "### Tutorial 3 - How Create Your Own Trasform\n", - "\n", - "In this tutorial, we will show you how DASF organize the structure APIs to generate code for targeted to each architecture.\n", - "\n", - "We will also show you how you can create your own object to and generate code dynamically to each platform.\n", - "\n", - "For this, let's use the same code we had used in **Tutorial 2**. Check how you can create `data.npy` before continue.\n", - "\n", - "Then, we need to define our dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "eec84166-3f6c-420b-81e6-71f9c126a440", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "\n", - "dataset = DatasetArray(name=\"My Saved NPY\", root=\"data.npy\")" - ] - }, - { - "cell_type": "markdown", - "id": "92f243e0-64e9-4457-a18c-ea5c21740a6a", - "metadata": {}, - "source": [ - "Here, we want to create a transform to multiple the data by the same data.\n", - "\n", - "First, let's inpect how the data looks like. We are using a GPU, so it will require to fetch data from GPU to CPU. If you are using a CPU, you just need to print the data." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ef2d45e3-121c-40f1-b8d7-f84735945ee1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.22139306, 0.18095083],\n", - " [0.78598473, 0.28964964]])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.load()\n", - "\n", - "dataset[:2, :2, 0].get()" - ] - }, - { - "cell_type": "markdown", - "id": "aa7e4593-a22d-49db-976f-00b8b8d19de5", - "metadata": {}, - "source": [ - "Now, let's create our own transform called **Multiply**. To generate the code targeted to the running platform, we need to import and set the respective decorator. So, the code will generate the function `transform` for us dynamically. To clarigy even more, we can include some a `print` call in each function." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c53d25f4-3806-46d1-8f94-ac580ee46821", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import Transform\n", - "\n", - "\n", - "class Multiply(Transform):\n", - " def _lazy_transform_cpu(self, X):\n", - " print(\"Lazy CPU\")\n", - " return X * X\n", - " \n", - " def _lazy_transform_gpu(self, X):\n", - " print(\"Lazy GPU\")\n", - " return X * X\n", - " \n", - " def _transform_cpu(self, X):\n", - " print(\"CPU\")\n", - " return X * X\n", - " \n", - " def _transform_gpu(self, X):\n", - " print(\"GPU\")\n", - " return X * X\n", - "\n", - "multiply = Multiply()" - ] - }, - { - "cell_type": "markdown", - "id": "43efcdec-2639-4775-9abc-a92cf6fa7a8f", - "metadata": {}, - "source": [ - "Now, we can transform our dataset and see what happens." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "875e2a54-5506-4226-bf4e-58353408e4e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GPU\n" - ] - } - ], - "source": [ - "result = multiply.transform(dataset)" - ] - }, - { - "cell_type": "markdown", - "id": "fbf295d3-9c2b-4b4f-ae7c-60c332b2842d", - "metadata": {}, - "source": [ - "See it triggered the GPU local function. Now, let's see and compare what is the content of `result` variable." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "e1f6c244-51a2-42fd-964a-0a96fc4dc169", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.04901489, 0.0327432 ],\n", - " [0.61777199, 0.08389691]])" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "result[:2, :2, 0].get()" - ] - }, - { - "cell_type": "markdown", - "id": "0f400794-0660-4ee5-b8bb-eed6e6aad03f", - "metadata": {}, - "source": [ - "See that the result is exactly the dataset multiplied by itself. The values confirm that. Now, what happens if I would like to run CPU code instead of GPU? If I want that, I need to call directly each protected method directly." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "962d9a55-3de1-43e2-86a9-d0c489dd2e90", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU\n" - ] - }, - { - "data": { - "text/plain": [ - "array([[0.04901489, 0.0327432 ],\n", - " [0.61777199, 0.08389691]])" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._load_cpu()\n", - "\n", - "result = multiply._transform_cpu(dataset)\n", - "\n", - "result[:2, :2, 0]" - ] - }, - { - "cell_type": "markdown", - "id": "9ab0786f-5268-40b0-8845-01900c350098", - "metadata": {}, - "source": [ - "See now that the code triggered the CPU function obviously.\n", - "\n", - "Actually, if you pay attention, the implementation of each function are equal. Then, this class can be reduced to:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "7d311947-30bf-4ab2-bf43-8f1fa6dafc0a", - "metadata": {}, - "outputs": [], - "source": [ - "class Multiply2(Transform):\n", - " def transform(self, X):\n", - " return X * X" - ] - }, - { - "cell_type": "markdown", - "id": "bcae55ea-951d-4807-9f0f-569e031fcb23", - "metadata": {}, - "source": [ - "Without decorator and all the other functions. The reason why we have all the diferentiations is that we know we will have different data manipulation for most cases." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_sources/tutorials/Tutorial_4.ipynb.txt b/docs/_sources/tutorials/Tutorial_4.ipynb.txt deleted file mode 100644 index 9ef5401..0000000 --- a/docs/_sources/tutorials/Tutorial_4.ipynb.txt +++ /dev/null @@ -1,464 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "664bfe29-de10-4c07-b23e-75bdb9a330d3", - "metadata": {}, - "source": [ - "### Tutorial 4 - How Create an Agnostic Pipeline\n", - "\n", - "In this tutorial, we will show you how convert a simple code structure into a advanced and agnostic pipeline based on DAGs.\n", - "\n", - "For this, we still can use the **Tutorial 1** with a simple Machine Learning script. There we use `make_blobs` to generate a dataset and them we cluster it using two algorithms: KMeans and SOM.\n", - "\n", - "First, let's generate and save our data (you can use DASF or Scikit-learn). The objective here is just to generate some labeled data and use the `DatasetLabeled` as an example." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2d3ae542-b03f-49e0-86fc-1cdbf19b5a30", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "from dasf.datasets import make_blobs\n", - "\n", - "n_samples = 100000\n", - "n_bins = 3\n", - "\n", - "# Generate 3 blobs with 2 classes where the second blob contains\n", - "# half positive samples and half negative samples. Probability in this\n", - "# blob is therefore 0.5.\n", - "centers = [(-6, -6), (0, 0), (9, 1)]\n", - "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)\n", - "\n", - "np.save(\"X.npy\", X)\n", - "np.save(\"y.npy\", y)" - ] - }, - { - "cell_type": "markdown", - "id": "d90e6b0b-236d-4cab-951b-e973e780c94f", - "metadata": {}, - "source": [ - "Now, let's import our `DatasetLabeled` and assign each file to the respective type." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1d5d935f-065e-4bda-af74-38b148924463", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "from dasf.datasets import DatasetLabeled\n", - "\n", - "\n", - "class MyMakeBlobs(DatasetLabeled):\n", - " def __init__(self):\n", - " super().__init__(name=\"My Own make_blobs()\", download=False)\n", - " \n", - " # Let's assign the train and val data.\n", - " self._train = DatasetArray(name=\"X\", download=False, root=\"X.npy\", chunks=(5000, 2))\n", - " self._val = DatasetArray(name=\"y\", download=False, root=\"y.npy\", chunks=(5000))\n", - "\n", - "make_blobs = MyMakeBlobs()" - ] - }, - { - "cell_type": "markdown", - "id": "37bcedef-d5cb-40ee-a691-dcb2d1636083", - "metadata": {}, - "source": [ - "To reduce the variability and as an example, we can normalize the data to help the algorithms to fit better." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6db9235f-7580-48dd-a9e9-b946a9570a86", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import Normalize\n", - "\n", - "normalize = Normalize()" - ] - }, - { - "cell_type": "markdown", - "id": "eaaed4e1-b799-4448-99ac-922094b18988", - "metadata": {}, - "source": [ - "After, creating our dataset and the normalization transformation, we can start the executor. For this example, we can use Dask." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "aa39f7b9-ffb1-4c93-9293-ecda4139d8cf", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.pipeline.executors import DaskPipelineExecutor\n", - "\n", - "dask = DaskPipelineExecutor(local=True, use_gpu=False)" - ] - }, - { - "cell_type": "markdown", - "id": "0bd517c3-8de0-46a4-89c4-78314ffe6491", - "metadata": {}, - "source": [ - "Now, it is time to create our pipeline objects. We can copy and paste the same code used previously." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1d3fc983-f6c8-4a66-9a22-fc1a6b5ccd7e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: CuPy could not be imported\n", - "WARNING: CuPy could not be imported\n", - "WARNING: CuPy could not be imported\n" - ] - } - ], - "source": [ - "from dasf.ml.cluster import KMeans\n", - "from dasf.ml.cluster import SOM\n", - "\n", - "kmeans = KMeans(n_clusters=3, max_iter=100)\n", - "som = SOM(x=1, y=3, input_len=2, num_epochs=100)" - ] - }, - { - "cell_type": "markdown", - "id": "07966b83-22d5-4bb6-8592-1ec54f365417", - "metadata": {}, - "source": [ - "As we want to reuse the data after the pipeline execution, we need to persist the data." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "297c99be-394d-4c5f-8dd6-04baab437b5f", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import PersistDaskData\n", - "\n", - "persist_kmeans = PersistDaskData()\n", - "persist_som = PersistDaskData()" - ] - }, - { - "cell_type": "markdown", - "id": "7b26ce69-d483-4ec3-a570-cfa761299983", - "metadata": {}, - "source": [ - "Then, we generate the pipeline and connect all the pieces in one single DAG.\n", - "\n", - "Pay attention that we are passing the our fresh executor `dask` to the pipeline by specifying the parameter `executor=`.\n", - "\n", - "To connect all the objects, we use the function `add()` that returns the pipeline itself. The function inputs can be refered as an argument.\n", - "\n", - "At the end, we can visualize the DAG using `visualize()` method. It will plot a image that represents the graph. Let's use one single line to do everything. It should be simple and easy to understand." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "bbee98cf-2425-431f-87af-342fcf0c00c2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "A KMeans and SOM Pipeline\n", - "\n", - "\n", - "\n", - "180662574\n", - "\n", - "Normalize.transform\n", - "\n", - "\n", - "\n", - "128329762\n", - "\n", - "KMeans.fit_predict\n", - "\n", - "\n", - "\n", - "180662574->128329762\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "128329900\n", - "\n", - "SOM.fit_predict\n", - "\n", - "\n", - "\n", - "180662574->128329900\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "182107497\n", - "\n", - "DatasetArray.load\n", - "\n", - "\n", - "\n", - "182107497->180662574\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "16599060\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "128329762->16599060\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "16599058\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "128329900->16599058\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from dasf.pipeline import Pipeline\n", - "\n", - "pipeline = Pipeline(\"A KMeans and SOM Pipeline\", executor=dask)\n", - "\n", - "pipeline.add(normalize, X=make_blobs._train) \\\n", - " .add(kmeans.fit_predict, X=normalize) \\\n", - " .add(som.fit_predict, X=normalize) \\\n", - " .add(persist_kmeans, X=kmeans.fit_predict) \\\n", - " .add(persist_som, X=som.fit_predict) \\\n", - " .visualize()" - ] - }, - { - "cell_type": "markdown", - "id": "14815700-715b-4e17-92e0-1203b107c7c8", - "metadata": {}, - "source": [ - "It is time to run our new pipeline." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "c2dd0613-ccbf-4543-bd01-ba3dda54fbf7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2022-11-25 04:36:49+0000] INFO - Beginning pipeline run for 'A KMeans and SOM Pipeline'\n", - "[2022-11-25 04:36:49+0000] INFO - Task 'DatasetArray.load': Starting task run...\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'DatasetArray.load': Finished task run\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Starting task run...\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Finished task run\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'KMeans.fit_predict': Starting task run...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.8/dist-packages/dask/base.py:1367: UserWarning: Running on a single-machine scheduler when a distributed client is active might lead to unexpected results.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2022-11-25 04:37:00+0000] INFO - Task 'KMeans.fit_predict': Finished task run\n", - "[2022-11-25 04:37:00+0000] INFO - Task 'SOM.fit_predict': Starting task run...\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'SOM.fit_predict': Finished task run\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2022-11-25 04:37:23+0000] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2022-11-25 04:37:23+0000] INFO - Pipeline run successfully\n", - "CPU times: user 23.2 s, sys: 1.71 s, total: 24.9 s\n", - "Wall time: 33.2 s\n" - ] - } - ], - "source": [ - "%time pipeline.run()" - ] - }, - { - "cell_type": "markdown", - "id": "eeb8f9cb-de3e-4e9e-bf9f-3d89f59e99ba", - "metadata": {}, - "source": [ - "Notice that our pipeline returns two methods instead of one. To capture the result of some node, you can easily pass the same function or object to the pipeline function `get_result_from()`." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "f3412afd-4f97-4219-954a-5d95cf92d629", - "metadata": {}, - "outputs": [], - "source": [ - "result_kmeans = pipeline.get_result_from(persist_kmeans).compute()\n", - "result_som = pipeline.get_result_from(persist_som).compute()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "801faa7c-a1c4-48c9-9c6c-de2c480a74dc", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "\n", - "from itertools import cycle\n", - "\n", - "from matplotlib import cm\n", - "import matplotlib.pyplot as plt\n", - "\n", - "def plot_results(X, result):\n", - " y_unique = np.unique(result)\n", - " \n", - " colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))\n", - " \n", - " for this_y, color in zip(y_unique, colors):\n", - " this_X = X[result == this_y]\n", - " plt.scatter(\n", - " this_X[:, 0],\n", - " this_X[:, 1],\n", - " s=50,\n", - " c=color[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - " label=\"Class %s\" % this_y,\n", - " )\n", - "\n", - "plot_results(make_blobs._train, result_kmeans)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "e3fe23cb-d5ae-4255-9437-42cddb89d004", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_results(make_blobs._train, result_som)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c68ca230-d319-4c35-8e4a-0fb3d017c0cd", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/docs/_static/_sphinx_javascript_frameworks_compat.js b/docs/_static/_sphinx_javascript_frameworks_compat.js deleted file mode 100644 index 8141580..0000000 --- a/docs/_static/_sphinx_javascript_frameworks_compat.js +++ /dev/null @@ -1,123 +0,0 @@ -/* Compatability shim for jQuery and underscores.js. - * - * Copyright Sphinx contributors - * Released under the two clause BSD licence - */ - -/** - * small helper function to urldecode strings - * - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL - */ -jQuery.urldecode = function(x) { - if (!x) { - return x - } - return decodeURIComponent(x.replace(/\+/g, ' ')); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); - } - return result; -}; - -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} diff --git a/docs/_static/basic.css b/docs/_static/basic.css deleted file mode 100644 index 7577acb..0000000 --- a/docs/_static/basic.css +++ /dev/null @@ -1,903 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -div.section::after { - display: block; - content: ''; - clear: left; -} - -/* -- relbar ---------------------------------------------------------------- */ - -div.related { - width: 100%; - font-size: 90%; -} - -div.related h3 { - display: none; -} - -div.related ul { - margin: 0; - padding: 0 0 0 10px; - list-style: none; -} - -div.related li { - display: inline; -} - -div.related li.right { - float: right; - margin-right: 5px; -} - -/* -- sidebar --------------------------------------------------------------- */ - -div.sphinxsidebarwrapper { - padding: 10px 5px 0 10px; -} - -div.sphinxsidebar { - float: left; - width: 230px; - margin-left: -100%; - font-size: 90%; - word-wrap: break-word; - overflow-wrap : break-word; -} - -div.sphinxsidebar ul { - list-style: none; -} - -div.sphinxsidebar ul ul, -div.sphinxsidebar ul.want-points { - margin-left: 20px; - list-style: square; -} - -div.sphinxsidebar ul ul { - margin-top: 0; - margin-bottom: 0; -} - -div.sphinxsidebar form { - margin-top: 10px; -} - -div.sphinxsidebar input { - border: 1px solid #98dbcc; - font-family: sans-serif; - font-size: 1em; -} - -div.sphinxsidebar #searchbox form.search { - overflow: hidden; -} - -div.sphinxsidebar #searchbox input[type="text"] { - float: left; - width: 80%; - padding: 0.25em; - box-sizing: border-box; -} - -div.sphinxsidebar #searchbox input[type="submit"] { - float: left; - width: 20%; - border-left: none; - padding: 0.25em; - box-sizing: border-box; -} - - -img { - border: 0; - max-width: 100%; -} - -/* -- search page ----------------------------------------------------------- */ - -ul.search { - margin: 10px 0 0 20px; - padding: 0; -} - -ul.search li { - padding: 5px 0 5px 20px; - background-image: url(file.png); - background-repeat: no-repeat; - background-position: 0 7px; -} - -ul.search li a { - font-weight: bold; -} - -ul.search li p.context { - color: #888; - margin: 2px 0 0 30px; - text-align: left; -} - -ul.keywordmatches li.goodmatch a { - font-weight: bold; -} - -/* -- index page ------------------------------------------------------------ */ - -table.contentstable { - width: 90%; - margin-left: auto; - margin-right: auto; -} - -table.contentstable p.biglink { - line-height: 150%; -} - -a.biglink { - font-size: 1.3em; -} - -span.linkdescr { - font-style: italic; - padding-top: 5px; - font-size: 90%; -} - -/* -- general index --------------------------------------------------------- */ - -table.indextable { - width: 100%; -} - -table.indextable td { - text-align: left; - vertical-align: top; -} - -table.indextable ul { - margin-top: 0; - margin-bottom: 0; - list-style-type: none; -} - -table.indextable > tbody > tr > td > ul { - padding-left: 0em; -} - -table.indextable tr.pcap { - height: 10px; -} - -table.indextable tr.cap { - margin-top: 10px; - background-color: #f2f2f2; -} - -img.toggler { - margin-right: 3px; - margin-top: 3px; - cursor: pointer; -} - -div.modindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -div.genindex-jumpbox { - border-top: 1px solid #ddd; - border-bottom: 1px solid #ddd; - margin: 1em 0 1em 0; - padding: 0.4em; -} - -/* -- domain module index --------------------------------------------------- */ - -table.modindextable td { - padding: 2px; - border-collapse: collapse; -} - -/* -- general body styles --------------------------------------------------- */ - -div.body { - min-width: 360px; - max-width: 800px; -} - -div.body p, div.body dd, div.body li, div.body blockquote { - -moz-hyphens: auto; - -ms-hyphens: auto; - -webkit-hyphens: auto; - hyphens: auto; -} - -a.headerlink { - visibility: hidden; -} - -h1:hover > a.headerlink, -h2:hover > a.headerlink, -h3:hover > a.headerlink, -h4:hover > a.headerlink, -h5:hover > a.headerlink, -h6:hover > a.headerlink, -dt:hover > a.headerlink, -caption:hover > a.headerlink, -p.caption:hover > a.headerlink, -div.code-block-caption:hover > a.headerlink { - visibility: visible; -} - -div.body p.caption { - text-align: inherit; -} - -div.body td { - text-align: left; -} - -.first { - margin-top: 0 !important; -} - -p.rubric { - margin-top: 30px; - font-weight: bold; -} - -img.align-left, figure.align-left, .figure.align-left, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, figure.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, figure.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -img.align-default, figure.align-default, .figure.align-default { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-default { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar, -aside.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px; - background-color: #ffe; - width: 40%; - float: right; - clear: right; - overflow-x: auto; -} - -p.sidebar-title { - font-weight: bold; -} - -nav.contents, -aside.topic, -div.admonition, div.topic, blockquote { - clear: left; -} - -/* -- topics ---------------------------------------------------------------- */ - -nav.contents, -aside.topic, -div.topic { - border: 1px solid #ccc; - padding: 7px; - margin: 10px 0 10px 0; -} - -p.topic-title { - font-size: 1.1em; - font-weight: bold; - margin-top: 10px; -} - -/* -- admonitions ----------------------------------------------------------- */ - -div.admonition { - margin-top: 10px; - margin-bottom: 10px; - padding: 7px; -} - -div.admonition dt { - font-weight: bold; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- content of sidebars/topics/admonitions -------------------------------- */ - -div.sidebar > :last-child, -aside.sidebar > :last-child, -nav.contents > :last-child, -aside.topic > :last-child, -div.topic > :last-child, -div.admonition > :last-child { - margin-bottom: 0; -} - -div.sidebar::after, -aside.sidebar::after, -nav.contents::after, -aside.topic::after, -div.topic::after, -div.admonition::after, -blockquote::after { - display: block; - content: ''; - clear: both; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - margin-top: 10px; - margin-bottom: 10px; - border: 0; - border-collapse: collapse; -} - -table.align-center { - margin-left: auto; - margin-right: auto; -} - -table.align-default { - margin-left: auto; - margin-right: auto; -} - -table caption span.caption-number { - font-style: italic; -} - -table caption span.caption-text { -} - -table.docutils td, table.docutils th { - padding: 1px 8px 1px 5px; - border-top: 0; - border-left: 0; - border-right: 0; - border-bottom: 1px solid #aaa; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -th > :first-child, -td > :first-child { - margin-top: 0px; -} - -th > :last-child, -td > :last-child { - margin-bottom: 0px; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure, figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption, figcaption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number, -figcaption span.caption-number { - font-style: italic; -} - -div.figure p.caption span.caption-text, -figcaption span.caption-text { -} - -/* -- field list styles ----------------------------------------------------- */ - -table.field-list td, table.field-list th { - border: 0 !important; -} - -.field-list ul { - margin: 0; - padding-left: 1em; -} - -.field-list p { - margin: 0; -} - -.field-name { - -moz-hyphens: manual; - -ms-hyphens: manual; - -webkit-hyphens: manual; - hyphens: manual; -} - -/* -- hlist styles ---------------------------------------------------------- */ - -table.hlist { - margin: 1em 0; -} - -table.hlist td { - vertical-align: top; -} - -/* -- object description styles --------------------------------------------- */ - -.sig { - font-family: 'Consolas', 'Menlo', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', monospace; -} - -.sig-name, code.descname { - background-color: transparent; - font-weight: bold; -} - -.sig-name { - font-size: 1.1em; -} - -code.descname { - font-size: 1.2em; -} - -.sig-prename, code.descclassname { - background-color: transparent; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.sig-param.n { - font-style: italic; -} - -/* C++ specific styling */ - -.sig-inline.c-texpr, -.sig-inline.cpp-texpr { - font-family: unset; -} - -.sig.c .k, .sig.c .kt, -.sig.cpp .k, .sig.cpp .kt { - color: #0033B3; -} - -.sig.c .m, -.sig.cpp .m { - color: #1750EB; -} - -.sig.c .s, .sig.c .sc, -.sig.cpp .s, .sig.cpp .sc { - color: #067D17; -} - - -/* -- other body styles ----------------------------------------------------- */ - -ol.arabic { - list-style: decimal; -} - -ol.loweralpha { - list-style: lower-alpha; -} - -ol.upperalpha { - list-style: upper-alpha; -} - -ol.lowerroman { - list-style: lower-roman; -} - -ol.upperroman { - list-style: upper-roman; -} - -:not(li) > ol > li:first-child > :first-child, -:not(li) > ul > li:first-child > :first-child { - margin-top: 0px; -} - -:not(li) > ol > li:last-child > :last-child, -:not(li) > ul > li:last-child > :last-child { - margin-bottom: 0px; -} - -ol.simple ol p, -ol.simple ul p, -ul.simple ol p, -ul.simple ul p { - margin-top: 0; -} - -ol.simple > li:not(:first-child) > p, -ul.simple > li:not(:first-child) > p { - margin-top: 0; -} - -ol.simple p, -ul.simple p { - margin-bottom: 0; -} - -aside.footnote > span, -div.citation > span { - float: left; -} -aside.footnote > span:last-of-type, -div.citation > span:last-of-type { - padding-right: 0.5em; -} -aside.footnote > p { - margin-left: 2em; -} -div.citation > p { - margin-left: 4em; -} -aside.footnote > p:last-of-type, -div.citation > p:last-of-type { - margin-bottom: 0em; -} -aside.footnote > p:last-of-type:after, -div.citation > p:last-of-type:after { - content: ""; - clear: both; -} - -dl.field-list { - display: grid; - grid-template-columns: fit-content(30%) auto; -} - -dl.field-list > dt { - font-weight: bold; - word-break: break-word; - padding-left: 0.5em; - padding-right: 5px; -} - -dl.field-list > dd { - padding-left: 0.5em; - margin-top: 0em; - margin-left: 0em; - margin-bottom: 0em; -} - -dl { - margin-bottom: 15px; -} - -dd > :first-child { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dl > dd:last-child, -dl > dd:last-child > :last-child { - margin-bottom: 0; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.versionmodified { - font-style: italic; -} - -.system-message { - background-color: #fda; - padding: 5px; - border: 3px solid red; -} - -.footnote:target { - background-color: #ffa; -} - -.line-block { - display: block; - margin-top: 1em; - margin-bottom: 1em; -} - -.line-block .line-block { - margin-top: 0; - margin-bottom: 0; - margin-left: 1.5em; -} - -.guilabel, .menuselection { - font-family: sans-serif; -} - -.accelerator { - text-decoration: underline; -} - -.classifier { - font-style: oblique; -} - -.classifier:before { - font-style: normal; - margin: 0 0.5em; - content: ":"; - display: inline-block; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -pre, div[class*="highlight-"] { - clear: both; -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; - white-space: nowrap; -} - -div[class*="highlight-"] { - margin: 1em 0; -} - -td.linenos pre { - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - display: block; -} - -table.highlighttable tbody { - display: block; -} - -table.highlighttable tr { - display: flex; -} - -table.highlighttable td { - margin: 0; - padding: 0; -} - -table.highlighttable td.linenos { - padding-right: 0.5em; -} - -table.highlighttable td.code { - flex: 1; - overflow: hidden; -} - -.highlight .hll { - display: block; -} - -div.highlight pre, -table.highlighttable pre { - margin: 0; -} - -div.code-block-caption + div { - margin-top: 0; -} - -div.code-block-caption { - margin-top: 1em; - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -table.highlighttable td.linenos, -span.linenos, -div.highlight span.gp { /* gp: Generic.Prompt */ - user-select: none; - -webkit-user-select: text; /* Safari fallback only */ - -webkit-user-select: none; /* Chrome/Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+ */ -} - -div.code-block-caption span.caption-number { - padding: 0.1em 0.3em; - font-style: italic; -} - -div.code-block-caption span.caption-text { -} - -div.literal-block-wrapper { - margin: 1em 0; -} - -code.xref, a code { - background-color: transparent; - font-weight: bold; -} - -h1 code, h2 code, h3 code, h4 code, h5 code, h6 code { - background-color: transparent; -} - -.viewcode-link { - float: right; -} - -.viewcode-back { - float: right; - font-family: sans-serif; -} - -div.viewcode-block:target { - margin: -1px -10px; - padding: 0 10px; -} - -/* -- math display ---------------------------------------------------------- */ - -img.math { - vertical-align: middle; -} - -div.body div.math p { - text-align: center; -} - -span.eqno { - float: right; -} - -span.eqno a.headerlink { - position: absolute; - z-index: 1; -} - -div.math:hover a.headerlink { - visibility: visible; -} - -/* -- printout stylesheet --------------------------------------------------- */ - -@media print { - div.document, - div.documentwrapper, - div.bodywrapper { - margin: 0 !important; - width: 100%; - } - - div.sphinxsidebar, - div.related, - div.footer, - #top-link { - display: none; - } -} \ No newline at end of file diff --git a/docs/_static/css/badge_only.css b/docs/_static/css/badge_only.css deleted file mode 100644 index c718cee..0000000 --- a/docs/_static/css/badge_only.css +++ /dev/null @@ -1 +0,0 @@ -.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}} \ No newline at end of file diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff b/docs/_static/css/fonts/Roboto-Slab-Bold.woff deleted file mode 100644 index 6cb6000..0000000 Binary files a/docs/_static/css/fonts/Roboto-Slab-Bold.woff and /dev/null differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 b/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 deleted file mode 100644 index 7059e23..0000000 Binary files a/docs/_static/css/fonts/Roboto-Slab-Bold.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff b/docs/_static/css/fonts/Roboto-Slab-Regular.woff deleted file mode 100644 index f815f63..0000000 Binary files a/docs/_static/css/fonts/Roboto-Slab-Regular.woff and /dev/null differ diff --git a/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 b/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 deleted file mode 100644 index f2c76e5..0000000 Binary files a/docs/_static/css/fonts/Roboto-Slab-Regular.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.eot b/docs/_static/css/fonts/fontawesome-webfont.eot deleted file mode 100644 index e9f60ca..0000000 Binary files a/docs/_static/css/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.svg b/docs/_static/css/fonts/fontawesome-webfont.svg deleted file mode 100644 index 855c845..0000000 --- a/docs/_static/css/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,2671 +0,0 @@ - - - - -Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 - By ,,, -Copyright Dave Gandy 2016. All rights reserved. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/_static/css/fonts/fontawesome-webfont.ttf b/docs/_static/css/fonts/fontawesome-webfont.ttf deleted file mode 100644 index 35acda2..0000000 Binary files a/docs/_static/css/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff b/docs/_static/css/fonts/fontawesome-webfont.woff deleted file mode 100644 index 400014a..0000000 Binary files a/docs/_static/css/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/docs/_static/css/fonts/fontawesome-webfont.woff2 b/docs/_static/css/fonts/fontawesome-webfont.woff2 deleted file mode 100644 index 4d13fc6..0000000 Binary files a/docs/_static/css/fonts/fontawesome-webfont.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/lato-bold-italic.woff b/docs/_static/css/fonts/lato-bold-italic.woff deleted file mode 100644 index 88ad05b..0000000 Binary files a/docs/_static/css/fonts/lato-bold-italic.woff and /dev/null differ diff --git a/docs/_static/css/fonts/lato-bold-italic.woff2 b/docs/_static/css/fonts/lato-bold-italic.woff2 deleted file mode 100644 index c4e3d80..0000000 Binary files a/docs/_static/css/fonts/lato-bold-italic.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/lato-bold.woff b/docs/_static/css/fonts/lato-bold.woff deleted file mode 100644 index c6dff51..0000000 Binary files a/docs/_static/css/fonts/lato-bold.woff and /dev/null differ diff --git a/docs/_static/css/fonts/lato-bold.woff2 b/docs/_static/css/fonts/lato-bold.woff2 deleted file mode 100644 index bb19504..0000000 Binary files a/docs/_static/css/fonts/lato-bold.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/lato-normal-italic.woff b/docs/_static/css/fonts/lato-normal-italic.woff deleted file mode 100644 index 76114bc..0000000 Binary files a/docs/_static/css/fonts/lato-normal-italic.woff and /dev/null differ diff --git a/docs/_static/css/fonts/lato-normal-italic.woff2 b/docs/_static/css/fonts/lato-normal-italic.woff2 deleted file mode 100644 index 3404f37..0000000 Binary files a/docs/_static/css/fonts/lato-normal-italic.woff2 and /dev/null differ diff --git a/docs/_static/css/fonts/lato-normal.woff b/docs/_static/css/fonts/lato-normal.woff deleted file mode 100644 index ae1307f..0000000 Binary files a/docs/_static/css/fonts/lato-normal.woff and /dev/null differ diff --git a/docs/_static/css/fonts/lato-normal.woff2 b/docs/_static/css/fonts/lato-normal.woff2 deleted file mode 100644 index 3bf9843..0000000 Binary files a/docs/_static/css/fonts/lato-normal.woff2 and /dev/null differ diff --git a/docs/_static/css/theme.css b/docs/_static/css/theme.css deleted file mode 100644 index 19a446a..0000000 --- a/docs/_static/css/theme.css +++ /dev/null @@ -1,4 +0,0 @@ -html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden],audio:not([controls]){display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;text-decoration:none}ins,mark{color:#000}mark{background:#ff0;font-style:italic;font-weight:700}.rst-content code,.rst-content tt,code,kbd,pre,samp{font-family:monospace,serif;_font-family:courier new,monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:after,q:before{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}dl,ol,ul{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure,form{margin:0}label{cursor:pointer}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:.2em 0;background:#ccc;color:#000;padding:.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none!important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{body,html,section{background:none!important}*{box-shadow:none!important;text-shadow:none!important;filter:none!important;-ms-filter:none!important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}.rst-content .toctree-wrapper>p.caption,h2,h3,p{orphans:3;widows:3}.rst-content .toctree-wrapper>p.caption,h2,h3{page-break-after:avoid}}.btn,.fa:before,.icon:before,.rst-content .admonition,.rst-content .admonition-title:before,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .code-block-caption .headerlink:before,.rst-content .danger,.rst-content .eqno .headerlink:before,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-alert,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before,input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}/*! - * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713);src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix&v=4.7.0) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#fontawesomeregular) format("svg");font-weight:400;font-style:normal}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa-pull-left.icon,.fa.fa-pull-left,.rst-content .code-block-caption .fa-pull-left.headerlink,.rst-content .eqno .fa-pull-left.headerlink,.rst-content .fa-pull-left.admonition-title,.rst-content code.download span.fa-pull-left:first-child,.rst-content dl dt .fa-pull-left.headerlink,.rst-content h1 .fa-pull-left.headerlink,.rst-content h2 .fa-pull-left.headerlink,.rst-content h3 .fa-pull-left.headerlink,.rst-content h4 .fa-pull-left.headerlink,.rst-content h5 .fa-pull-left.headerlink,.rst-content h6 .fa-pull-left.headerlink,.rst-content p .fa-pull-left.headerlink,.rst-content table>caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.wy-menu-vertical li.current>a button.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-left.toctree-expand,.wy-menu-vertical li button.fa-pull-left.toctree-expand{margin-right:.3em}.fa-pull-right.icon,.fa.fa-pull-right,.rst-content .code-block-caption .fa-pull-right.headerlink,.rst-content .eqno .fa-pull-right.headerlink,.rst-content .fa-pull-right.admonition-title,.rst-content code.download span.fa-pull-right:first-child,.rst-content dl dt .fa-pull-right.headerlink,.rst-content h1 .fa-pull-right.headerlink,.rst-content h2 .fa-pull-right.headerlink,.rst-content h3 .fa-pull-right.headerlink,.rst-content h4 .fa-pull-right.headerlink,.rst-content h5 .fa-pull-right.headerlink,.rst-content h6 .fa-pull-right.headerlink,.rst-content p .fa-pull-right.headerlink,.rst-content table>caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.wy-menu-vertical li.current>a button.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a button.fa-pull-right.toctree-expand,.wy-menu-vertical li button.fa-pull-right.toctree-expand{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.pull-left.icon,.rst-content .code-block-caption .pull-left.headerlink,.rst-content .eqno .pull-left.headerlink,.rst-content .pull-left.admonition-title,.rst-content code.download span.pull-left:first-child,.rst-content dl dt .pull-left.headerlink,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content p .pull-left.headerlink,.rst-content table>caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.wy-menu-vertical li.current>a button.pull-left.toctree-expand,.wy-menu-vertical li.on a button.pull-left.toctree-expand,.wy-menu-vertical li button.pull-left.toctree-expand{margin-right:.3em}.fa.pull-right,.pull-right.icon,.rst-content .code-block-caption .pull-right.headerlink,.rst-content .eqno .pull-right.headerlink,.rst-content .pull-right.admonition-title,.rst-content code.download span.pull-right:first-child,.rst-content dl dt .pull-right.headerlink,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content p .pull-right.headerlink,.rst-content table>caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.wy-menu-vertical li.current>a button.pull-right.toctree-expand,.wy-menu-vertical li.on a button.pull-right.toctree-expand,.wy-menu-vertical li button.pull-right.toctree-expand{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);-ms-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scaleY(-1);-ms-transform:scaleY(-1);transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before,.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.rst-content .admonition-title:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook-f:before,.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.icon-caret-down:before,.wy-dropdown .caret:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before,.fa-gratipay:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li button.toctree-expand:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-pp:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}.fa-buysellads:before{content:""}.fa-connectdevelop:before{content:""}.fa-dashcube:before{content:""}.fa-forumbee:before{content:""}.fa-leanpub:before{content:""}.fa-sellsy:before{content:""}.fa-shirtsinbulk:before{content:""}.fa-simplybuilt:before{content:""}.fa-skyatlas:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-diamond:before{content:""}.fa-ship:before{content:""}.fa-user-secret:before{content:""}.fa-motorcycle:before{content:""}.fa-street-view:before{content:""}.fa-heartbeat:before{content:""}.fa-venus:before{content:""}.fa-mars:before{content:""}.fa-mercury:before{content:""}.fa-intersex:before,.fa-transgender:before{content:""}.fa-transgender-alt:before{content:""}.fa-venus-double:before{content:""}.fa-mars-double:before{content:""}.fa-venus-mars:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-v:before{content:""}.fa-mars-stroke-h:before{content:""}.fa-neuter:before{content:""}.fa-genderless:before{content:""}.fa-facebook-official:before{content:""}.fa-pinterest-p:before{content:""}.fa-whatsapp:before{content:""}.fa-server:before{content:""}.fa-user-plus:before{content:""}.fa-user-times:before{content:""}.fa-bed:before,.fa-hotel:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-y-combinator:before,.fa-yc:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-three-quarters:before{content:""}.fa-battery-2:before,.fa-battery-half:before{content:""}.fa-battery-1:before,.fa-battery-quarter:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-mouse-pointer:before{content:""}.fa-i-cursor:before{content:""}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-sticky-note:before{content:""}.fa-sticky-note-o:before{content:""}.fa-cc-jcb:before{content:""}.fa-cc-diners-club:before{content:""}.fa-clone:before{content:""}.fa-balance-scale:before{content:""}.fa-hourglass-o:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass:before{content:""}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:""}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:""}.fa-hand-scissors-o:before{content:""}.fa-hand-lizard-o:before{content:""}.fa-hand-spock-o:before{content:""}.fa-hand-pointer-o:before{content:""}.fa-hand-peace-o:before{content:""}.fa-trademark:before{content:""}.fa-registered:before{content:""}.fa-creative-commons:before{content:""}.fa-gg:before{content:""}.fa-gg-circle:before{content:""}.fa-tripadvisor:before{content:""}.fa-odnoklassniki:before{content:""}.fa-odnoklassniki-square:before{content:""}.fa-get-pocket:before{content:""}.fa-wikipedia-w:before{content:""}.fa-safari:before{content:""}.fa-chrome:before{content:""}.fa-firefox:before{content:""}.fa-opera:before{content:""}.fa-internet-explorer:before{content:""}.fa-television:before,.fa-tv:before{content:""}.fa-contao:before{content:""}.fa-500px:before{content:""}.fa-amazon:before{content:""}.fa-calendar-plus-o:before{content:""}.fa-calendar-minus-o:before{content:""}.fa-calendar-times-o:before{content:""}.fa-calendar-check-o:before{content:""}.fa-industry:before{content:""}.fa-map-pin:before{content:""}.fa-map-signs:before{content:""}.fa-map-o:before{content:""}.fa-map:before{content:""}.fa-commenting:before{content:""}.fa-commenting-o:before{content:""}.fa-houzz:before{content:""}.fa-vimeo:before{content:""}.fa-black-tie:before{content:""}.fa-fonticons:before{content:""}.fa-reddit-alien:before{content:""}.fa-edge:before{content:""}.fa-credit-card-alt:before{content:""}.fa-codiepie:before{content:""}.fa-modx:before{content:""}.fa-fort-awesome:before{content:""}.fa-usb:before{content:""}.fa-product-hunt:before{content:""}.fa-mixcloud:before{content:""}.fa-scribd:before{content:""}.fa-pause-circle:before{content:""}.fa-pause-circle-o:before{content:""}.fa-stop-circle:before{content:""}.fa-stop-circle-o:before{content:""}.fa-shopping-bag:before{content:""}.fa-shopping-basket:before{content:""}.fa-hashtag:before{content:""}.fa-bluetooth:before{content:""}.fa-bluetooth-b:before{content:""}.fa-percent:before{content:""}.fa-gitlab:before,.icon-gitlab:before{content:""}.fa-wpbeginner:before{content:""}.fa-wpforms:before{content:""}.fa-envira:before{content:""}.fa-universal-access:before{content:""}.fa-wheelchair-alt:before{content:""}.fa-question-circle-o:before{content:""}.fa-blind:before{content:""}.fa-audio-description:before{content:""}.fa-volume-control-phone:before{content:""}.fa-braille:before{content:""}.fa-assistive-listening-systems:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:""}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-sign-language:before,.fa-signing:before{content:""}.fa-low-vision:before{content:""}.fa-viadeo:before{content:""}.fa-viadeo-square:before{content:""}.fa-snapchat:before{content:""}.fa-snapchat-ghost:before{content:""}.fa-snapchat-square:before{content:""}.fa-pied-piper:before{content:""}.fa-first-order:before{content:""}.fa-yoast:before{content:""}.fa-themeisle:before{content:""}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:""}.fa-fa:before,.fa-font-awesome:before{content:""}.fa-handshake-o:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-o:before{content:""}.fa-linode:before{content:""}.fa-address-book:before{content:""}.fa-address-book-o:before{content:""}.fa-address-card:before,.fa-vcard:before{content:""}.fa-address-card-o:before,.fa-vcard-o:before{content:""}.fa-user-circle:before{content:""}.fa-user-circle-o:before{content:""}.fa-user-o:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-drivers-license-o:before,.fa-id-card-o:before{content:""}.fa-quora:before{content:""}.fa-free-code-camp:before{content:""}.fa-telegram:before{content:""}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:""}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-shower:before{content:""}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:""}.fa-podcast:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:""}.fa-bandcamp:before{content:""}.fa-grav:before{content:""}.fa-etsy:before{content:""}.fa-imdb:before{content:""}.fa-ravelry:before{content:""}.fa-eercast:before{content:""}.fa-microchip:before{content:""}.fa-snowflake-o:before{content:""}.fa-superpowers:before{content:""}.fa-wpexplorer:before{content:""}.fa-meetup:before{content:""}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}.fa,.icon,.rst-content .admonition-title,.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content code.download span:first-child,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink,.rst-content tt.download span:first-child,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li button.toctree-expand{font-family:inherit}.fa:before,.icon:before,.rst-content .admonition-title:before,.rst-content .code-block-caption .headerlink:before,.rst-content .eqno .headerlink:before,.rst-content code.download span:first-child:before,.rst-content dl dt .headerlink:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content p .headerlink:before,.rst-content table>caption .headerlink:before,.rst-content tt.download span:first-child:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-menu-vertical li.current>a button.toctree-expand:before,.wy-menu-vertical li.on a button.toctree-expand:before,.wy-menu-vertical li button.toctree-expand:before{font-family:FontAwesome;display:inline-block;font-style:normal;font-weight:400;line-height:1;text-decoration:inherit}.rst-content .code-block-caption a .headerlink,.rst-content .eqno a .headerlink,.rst-content a .admonition-title,.rst-content code.download a span:first-child,.rst-content dl dt a .headerlink,.rst-content h1 a .headerlink,.rst-content h2 a .headerlink,.rst-content h3 a .headerlink,.rst-content h4 a .headerlink,.rst-content h5 a .headerlink,.rst-content h6 a .headerlink,.rst-content p.caption a .headerlink,.rst-content p a .headerlink,.rst-content table>caption a .headerlink,.rst-content tt.download a span:first-child,.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand,.wy-menu-vertical li a button.toctree-expand,a .fa,a .icon,a .rst-content .admonition-title,a .rst-content .code-block-caption .headerlink,a .rst-content .eqno .headerlink,a .rst-content code.download span:first-child,a .rst-content dl dt .headerlink,a .rst-content h1 .headerlink,a .rst-content h2 .headerlink,a .rst-content h3 .headerlink,a .rst-content h4 .headerlink,a .rst-content h5 .headerlink,a .rst-content h6 .headerlink,a .rst-content p.caption .headerlink,a .rst-content p .headerlink,a .rst-content table>caption .headerlink,a .rst-content tt.download span:first-child,a .wy-menu-vertical li button.toctree-expand{display:inline-block;text-decoration:inherit}.btn .fa,.btn .icon,.btn .rst-content .admonition-title,.btn .rst-content .code-block-caption .headerlink,.btn .rst-content .eqno .headerlink,.btn .rst-content code.download span:first-child,.btn .rst-content dl dt .headerlink,.btn .rst-content h1 .headerlink,.btn .rst-content h2 .headerlink,.btn .rst-content h3 .headerlink,.btn .rst-content h4 .headerlink,.btn .rst-content h5 .headerlink,.btn .rst-content h6 .headerlink,.btn .rst-content p .headerlink,.btn .rst-content table>caption .headerlink,.btn .rst-content tt.download span:first-child,.btn .wy-menu-vertical li.current>a button.toctree-expand,.btn .wy-menu-vertical li.on a button.toctree-expand,.btn .wy-menu-vertical li button.toctree-expand,.nav .fa,.nav .icon,.nav .rst-content .admonition-title,.nav .rst-content .code-block-caption .headerlink,.nav .rst-content .eqno .headerlink,.nav .rst-content code.download span:first-child,.nav .rst-content dl dt .headerlink,.nav .rst-content h1 .headerlink,.nav .rst-content h2 .headerlink,.nav .rst-content h3 .headerlink,.nav .rst-content h4 .headerlink,.nav .rst-content h5 .headerlink,.nav .rst-content h6 .headerlink,.nav .rst-content p .headerlink,.nav .rst-content table>caption .headerlink,.nav .rst-content tt.download span:first-child,.nav .wy-menu-vertical li.current>a button.toctree-expand,.nav .wy-menu-vertical li.on a button.toctree-expand,.nav .wy-menu-vertical li button.toctree-expand,.rst-content .btn .admonition-title,.rst-content .code-block-caption .btn .headerlink,.rst-content .code-block-caption .nav .headerlink,.rst-content .eqno .btn .headerlink,.rst-content .eqno .nav .headerlink,.rst-content .nav .admonition-title,.rst-content code.download .btn span:first-child,.rst-content code.download .nav span:first-child,.rst-content dl dt .btn .headerlink,.rst-content dl dt .nav .headerlink,.rst-content h1 .btn .headerlink,.rst-content h1 .nav .headerlink,.rst-content h2 .btn .headerlink,.rst-content h2 .nav .headerlink,.rst-content h3 .btn .headerlink,.rst-content h3 .nav .headerlink,.rst-content h4 .btn .headerlink,.rst-content h4 .nav .headerlink,.rst-content h5 .btn .headerlink,.rst-content h5 .nav .headerlink,.rst-content h6 .btn .headerlink,.rst-content h6 .nav .headerlink,.rst-content p .btn .headerlink,.rst-content p .nav .headerlink,.rst-content table>caption .btn .headerlink,.rst-content table>caption .nav .headerlink,.rst-content tt.download .btn span:first-child,.rst-content tt.download .nav span:first-child,.wy-menu-vertical li .btn button.toctree-expand,.wy-menu-vertical li.current>a .btn button.toctree-expand,.wy-menu-vertical li.current>a .nav button.toctree-expand,.wy-menu-vertical li .nav button.toctree-expand,.wy-menu-vertical li.on a .btn button.toctree-expand,.wy-menu-vertical li.on a .nav button.toctree-expand{display:inline}.btn .fa-large.icon,.btn .fa.fa-large,.btn .rst-content .code-block-caption .fa-large.headerlink,.btn .rst-content .eqno .fa-large.headerlink,.btn .rst-content .fa-large.admonition-title,.btn .rst-content code.download span.fa-large:first-child,.btn .rst-content dl dt .fa-large.headerlink,.btn .rst-content h1 .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.btn .rst-content p .fa-large.headerlink,.btn .rst-content table>caption .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.btn .wy-menu-vertical li button.fa-large.toctree-expand,.nav .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .code-block-caption .fa-large.headerlink,.nav .rst-content .eqno .fa-large.headerlink,.nav .rst-content .fa-large.admonition-title,.nav .rst-content code.download span.fa-large:first-child,.nav .rst-content dl dt .fa-large.headerlink,.nav .rst-content h1 .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.nav .rst-content p .fa-large.headerlink,.nav .rst-content table>caption .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.nav .wy-menu-vertical li button.fa-large.toctree-expand,.rst-content .btn .fa-large.admonition-title,.rst-content .code-block-caption .btn .fa-large.headerlink,.rst-content .code-block-caption .nav .fa-large.headerlink,.rst-content .eqno .btn .fa-large.headerlink,.rst-content .eqno .nav .fa-large.headerlink,.rst-content .nav .fa-large.admonition-title,.rst-content code.download .btn span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.rst-content dl dt .btn .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.rst-content p .btn .fa-large.headerlink,.rst-content p .nav .fa-large.headerlink,.rst-content table>caption .btn .fa-large.headerlink,.rst-content table>caption .nav .fa-large.headerlink,.rst-content tt.download .btn span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.wy-menu-vertical li .btn button.fa-large.toctree-expand,.wy-menu-vertical li .nav button.fa-large.toctree-expand{line-height:.9em}.btn .fa-spin.icon,.btn .fa.fa-spin,.btn .rst-content .code-block-caption .fa-spin.headerlink,.btn .rst-content .eqno .fa-spin.headerlink,.btn .rst-content .fa-spin.admonition-title,.btn .rst-content code.download span.fa-spin:first-child,.btn .rst-content dl dt .fa-spin.headerlink,.btn .rst-content h1 .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.btn .rst-content p .fa-spin.headerlink,.btn .rst-content table>caption .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.btn .wy-menu-vertical li button.fa-spin.toctree-expand,.nav .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .code-block-caption .fa-spin.headerlink,.nav .rst-content .eqno .fa-spin.headerlink,.nav .rst-content .fa-spin.admonition-title,.nav .rst-content code.download span.fa-spin:first-child,.nav .rst-content dl dt .fa-spin.headerlink,.nav .rst-content h1 .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.nav .rst-content p .fa-spin.headerlink,.nav .rst-content table>caption .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.nav .wy-menu-vertical li button.fa-spin.toctree-expand,.rst-content .btn .fa-spin.admonition-title,.rst-content .code-block-caption .btn .fa-spin.headerlink,.rst-content .code-block-caption .nav .fa-spin.headerlink,.rst-content .eqno .btn .fa-spin.headerlink,.rst-content .eqno .nav .fa-spin.headerlink,.rst-content .nav .fa-spin.admonition-title,.rst-content code.download .btn span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.rst-content dl dt .btn .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.rst-content p .btn .fa-spin.headerlink,.rst-content p .nav .fa-spin.headerlink,.rst-content table>caption .btn .fa-spin.headerlink,.rst-content table>caption .nav .fa-spin.headerlink,.rst-content tt.download .btn span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.wy-menu-vertical li .btn button.fa-spin.toctree-expand,.wy-menu-vertical li .nav button.fa-spin.toctree-expand{display:inline-block}.btn.fa:before,.btn.icon:before,.rst-content .btn.admonition-title:before,.rst-content .code-block-caption .btn.headerlink:before,.rst-content .eqno .btn.headerlink:before,.rst-content code.download span.btn:first-child:before,.rst-content dl dt .btn.headerlink:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content p .btn.headerlink:before,.rst-content table>caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.wy-menu-vertical li button.btn.toctree-expand:before{opacity:.5;-webkit-transition:opacity .05s ease-in;-moz-transition:opacity .05s ease-in;transition:opacity .05s ease-in}.btn.fa:hover:before,.btn.icon:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content .code-block-caption .btn.headerlink:hover:before,.rst-content .eqno .btn.headerlink:hover:before,.rst-content code.download span.btn:first-child:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content p .btn.headerlink:hover:before,.rst-content table>caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.wy-menu-vertical li button.btn.toctree-expand:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .icon:before,.btn-mini .rst-content .admonition-title:before,.btn-mini .rst-content .code-block-caption .headerlink:before,.btn-mini .rst-content .eqno .headerlink:before,.btn-mini .rst-content code.download span:first-child:before,.btn-mini .rst-content dl dt .headerlink:before,.btn-mini .rst-content h1 .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.btn-mini .rst-content p .headerlink:before,.btn-mini .rst-content table>caption .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.btn-mini .wy-menu-vertical li button.toctree-expand:before,.rst-content .btn-mini .admonition-title:before,.rst-content .code-block-caption .btn-mini .headerlink:before,.rst-content .eqno .btn-mini .headerlink:before,.rst-content code.download .btn-mini span:first-child:before,.rst-content dl dt .btn-mini .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.rst-content p .btn-mini .headerlink:before,.rst-content table>caption .btn-mini .headerlink:before,.rst-content tt.download .btn-mini span:first-child:before,.wy-menu-vertical li .btn-mini button.toctree-expand:before{font-size:14px;vertical-align:-15%}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning,.wy-alert{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.rst-content .admonition-title,.wy-alert-title{font-weight:700;display:block;color:#fff;background:#6ab0de;padding:6px 12px;margin:-12px -12px 12px}.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.admonition,.rst-content .wy-alert-danger.admonition-todo,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.wy-alert.wy-alert-danger{background:#fdf3f2}.rst-content .danger .admonition-title,.rst-content .danger .wy-alert-title,.rst-content .error .admonition-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.rst-content .wy-alert-danger.admonition .admonition-title,.rst-content .wy-alert-danger.admonition .wy-alert-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.wy-alert.wy-alert-danger .wy-alert-title{background:#f29f97}.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .wy-alert-warning.admonition,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.note,.rst-content .wy-alert-warning.seealso,.rst-content .wy-alert-warning.tip,.wy-alert.wy-alert-warning{background:#ffedcc}.rst-content .admonition-todo .admonition-title,.rst-content .admonition-todo .wy-alert-title,.rst-content .attention .admonition-title,.rst-content .attention .wy-alert-title,.rst-content .caution .admonition-title,.rst-content .caution .wy-alert-title,.rst-content .warning .admonition-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.admonition .admonition-title,.rst-content .wy-alert-warning.admonition .wy-alert-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.wy-alert.wy-alert-warning .wy-alert-title{background:#f0b37e}.rst-content .note,.rst-content .seealso,.rst-content .wy-alert-info.admonition,.rst-content .wy-alert-info.admonition-todo,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.wy-alert.wy-alert-info{background:#e7f2fa}.rst-content .note .admonition-title,.rst-content .note .wy-alert-title,.rst-content .seealso .admonition-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .admonition-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.rst-content .wy-alert-info.admonition .admonition-title,.rst-content .wy-alert-info.admonition .wy-alert-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.wy-alert.wy-alert-info .wy-alert-title{background:#6ab0de}.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.admonition,.rst-content .wy-alert-success.admonition-todo,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.warning,.wy-alert.wy-alert-success{background:#dbfaf4}.rst-content .hint .admonition-title,.rst-content .hint .wy-alert-title,.rst-content .important .admonition-title,.rst-content .important .wy-alert-title,.rst-content .tip .admonition-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .admonition-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.rst-content .wy-alert-success.admonition .admonition-title,.rst-content .wy-alert-success.admonition .wy-alert-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.wy-alert.wy-alert-success .wy-alert-title{background:#1abc9c}.rst-content .wy-alert-neutral.admonition,.rst-content .wy-alert-neutral.admonition-todo,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.wy-alert.wy-alert-neutral{background:#f3f6f6}.rst-content .wy-alert-neutral.admonition-todo .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.rst-content .wy-alert-neutral.admonition .admonition-title,.rst-content .wy-alert-neutral.admonition .wy-alert-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.wy-alert.wy-alert-neutral .wy-alert-title{color:#404040;background:#e1e4e5}.rst-content .wy-alert-neutral.admonition-todo a,.rst-content .wy-alert-neutral.admonition a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.wy-alert.wy-alert-neutral a{color:#2980b9}.rst-content .admonition-todo p:last-child,.rst-content .admonition p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .note p:last-child,.rst-content .seealso p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.wy-alert p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all .3s ease-in;-moz-transition:all .3s ease-in;transition:all .3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27ae60}.wy-tray-container li.wy-tray-item-info{background:#2980b9}.wy-tray-container li.wy-tray-item-warning{background:#e67e22}.wy-tray-container li.wy-tray-item-danger{background:#e74c3c}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width:768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px;color:#fff;border:1px solid rgba(0,0,0,.1);background-color:#27ae60;text-decoration:none;font-weight:400;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 2px -1px hsla(0,0%,100%,.5),inset 0 -2px 0 0 rgba(0,0,0,.1);outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all .1s linear;-moz-transition:all .1s linear;transition:all .1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:inset 0 -1px 0 0 rgba(0,0,0,.05),inset 0 2px 0 0 rgba(0,0,0,.1);padding:8px 12px 6px}.btn:visited{color:#fff}.btn-disabled,.btn-disabled:active,.btn-disabled:focus,.btn-disabled:hover,.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980b9!important}.btn-info:hover{background-color:#2e8ece!important}.btn-neutral{background-color:#f3f6f6!important;color:#404040!important}.btn-neutral:hover{background-color:#e5ebeb!important;color:#404040}.btn-neutral:visited{color:#404040!important}.btn-success{background-color:#27ae60!important}.btn-success:hover{background-color:#295!important}.btn-danger{background-color:#e74c3c!important}.btn-danger:hover{background-color:#ea6153!important}.btn-warning{background-color:#e67e22!important}.btn-warning:hover{background-color:#e98b39!important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f!important}.btn-link{background-color:transparent!important;color:#2980b9;box-shadow:none;border-color:transparent!important}.btn-link:active,.btn-link:hover{background-color:transparent!important;color:#409ad5!important;box-shadow:none}.btn-link:visited{color:#9b59b6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:after,.wy-btn-group:before{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-active .wy-dropdown-menu{display:block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:1px solid #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980b9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:1px solid #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type=search]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980b9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;left:auto;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned .wy-help-inline,.wy-form-aligned input,.wy-form-aligned label,.wy-form-aligned select,.wy-form-aligned textarea{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{margin:0}fieldset,legend{border:0;padding:0}legend{width:100%;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label,legend{display:block}label{margin:0 0 .3125em;color:#333;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:after,.wy-control-group:before{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#e74c3c}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full input[type=color],.wy-control-group .wy-form-full input[type=date],.wy-control-group .wy-form-full input[type=datetime-local],.wy-control-group .wy-form-full input[type=datetime],.wy-control-group .wy-form-full input[type=email],.wy-control-group .wy-form-full input[type=month],.wy-control-group .wy-form-full input[type=number],.wy-control-group .wy-form-full input[type=password],.wy-control-group .wy-form-full input[type=search],.wy-control-group .wy-form-full input[type=tel],.wy-control-group .wy-form-full input[type=text],.wy-control-group .wy-form-full input[type=time],.wy-control-group .wy-form-full input[type=url],.wy-control-group .wy-form-full input[type=week],.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves input[type=color],.wy-control-group .wy-form-halves input[type=date],.wy-control-group .wy-form-halves input[type=datetime-local],.wy-control-group .wy-form-halves input[type=datetime],.wy-control-group .wy-form-halves input[type=email],.wy-control-group .wy-form-halves input[type=month],.wy-control-group .wy-form-halves input[type=number],.wy-control-group .wy-form-halves input[type=password],.wy-control-group .wy-form-halves input[type=search],.wy-control-group .wy-form-halves input[type=tel],.wy-control-group .wy-form-halves input[type=text],.wy-control-group .wy-form-halves input[type=time],.wy-control-group .wy-form-halves input[type=url],.wy-control-group .wy-form-halves input[type=week],.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds input[type=color],.wy-control-group .wy-form-thirds input[type=date],.wy-control-group .wy-form-thirds input[type=datetime-local],.wy-control-group .wy-form-thirds input[type=datetime],.wy-control-group .wy-form-thirds input[type=email],.wy-control-group .wy-form-thirds input[type=month],.wy-control-group .wy-form-thirds input[type=number],.wy-control-group .wy-form-thirds input[type=password],.wy-control-group .wy-form-thirds input[type=search],.wy-control-group .wy-form-thirds input[type=tel],.wy-control-group .wy-form-thirds input[type=text],.wy-control-group .wy-form-thirds input[type=time],.wy-control-group .wy-form-thirds input[type=url],.wy-control-group .wy-form-thirds input[type=week],.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full{float:left;display:block;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child,.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(odd){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child,.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control,.wy-control-no-input{margin:6px 0 0;font-size:90%}.wy-control-no-input{display:inline-block}.wy-control-group.fluid-input input[type=color],.wy-control-group.fluid-input input[type=date],.wy-control-group.fluid-input input[type=datetime-local],.wy-control-group.fluid-input input[type=datetime],.wy-control-group.fluid-input input[type=email],.wy-control-group.fluid-input input[type=month],.wy-control-group.fluid-input input[type=number],.wy-control-group.fluid-input input[type=password],.wy-control-group.fluid-input input[type=search],.wy-control-group.fluid-input input[type=tel],.wy-control-group.fluid-input input[type=text],.wy-control-group.fluid-input input[type=time],.wy-control-group.fluid-input input[type=url],.wy-control-group.fluid-input input[type=week]{width:100%}.wy-form-message-inline{padding-left:.3em;color:#666;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:.3125em;font-style:italic}.wy-form-message p{font-size:inherit;font-style:italic;margin-bottom:6px}.wy-form-message p:last-child{margin-bottom:0}input{line-height:normal}input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;*overflow:visible}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}input[type=datetime-local]{padding:.34375em .625em}input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{padding:0;margin-right:.3125em;*height:13px;*width:13px}input[type=checkbox],input[type=radio],input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus{outline:0;outline:thin dotted\9;border-color:#333}input.no-focus:focus{border-color:#ccc!important}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:thin dotted #333;outline:1px auto #129fea}input[type=color][disabled],input[type=date][disabled],input[type=datetime-local][disabled],input[type=datetime][disabled],input[type=email][disabled],input[type=month][disabled],input[type=number][disabled],input[type=password][disabled],input[type=search][disabled],input[type=tel][disabled],input[type=text][disabled],input[type=time][disabled],input[type=url][disabled],input[type=week][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,select:focus:invalid,textarea:focus:invalid{color:#e74c3c;border:1px solid #e74c3c}input:focus:invalid:focus,select:focus:invalid:focus,textarea:focus:invalid:focus{border-color:#e74c3c}input[type=checkbox]:focus:invalid:focus,input[type=file]:focus:invalid:focus,input[type=radio]:focus:invalid:focus{outline-color:#e74c3c}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif}select,textarea{padding:.5em .625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border .3s linear;-moz-transition:border .3s linear;transition:border .3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}input[readonly],select[disabled],select[readonly],textarea[disabled],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap;padding:6px}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{line-height:27px;padding:0 8px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:1px solid #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{position:relative;display:block;height:24px;margin-top:12px;cursor:pointer}.wy-switch:before{left:0;top:0;width:36px;height:12px;background:#ccc}.wy-switch:after,.wy-switch:before{position:absolute;content:"";display:block;border-radius:4px;-webkit-transition:all .2s ease-in-out;-moz-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wy-switch:after{width:18px;height:18px;background:#999;left:-3px;top:-3px}.wy-switch span{position:absolute;left:48px;display:block;font-size:12px;color:#ccc;line-height:1}.wy-switch.active:before{background:#1e8449}.wy-switch.active:after{left:24px;background:#27ae60}.wy-switch.disabled{cursor:not-allowed;opacity:.8}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#e74c3c}.wy-control-group.wy-control-group-error input[type=color],.wy-control-group.wy-control-group-error input[type=date],.wy-control-group.wy-control-group-error input[type=datetime-local],.wy-control-group.wy-control-group-error input[type=datetime],.wy-control-group.wy-control-group-error input[type=email],.wy-control-group.wy-control-group-error input[type=month],.wy-control-group.wy-control-group-error input[type=number],.wy-control-group.wy-control-group-error input[type=password],.wy-control-group.wy-control-group-error input[type=search],.wy-control-group.wy-control-group-error input[type=tel],.wy-control-group.wy-control-group-error input[type=text],.wy-control-group.wy-control-group-error input[type=time],.wy-control-group.wy-control-group-error input[type=url],.wy-control-group.wy-control-group-error input[type=week],.wy-control-group.wy-control-group-error textarea{border:1px solid #e74c3c}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:.5em .625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27ae60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#e74c3c}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#e67e22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980b9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width:480px){.wy-form button[type=submit]{margin:.7em 0 0}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=text],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week],.wy-form label{margin-bottom:.3em;display:block}.wy-form input[type=color],.wy-form input[type=date],.wy-form input[type=datetime-local],.wy-form input[type=datetime],.wy-form input[type=email],.wy-form input[type=month],.wy-form input[type=number],.wy-form input[type=password],.wy-form input[type=search],.wy-form input[type=tel],.wy-form input[type=time],.wy-form input[type=url],.wy-form input[type=week]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0}.wy-form-message,.wy-form-message-inline,.wy-form .wy-help-inline{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width:768px){.tablet-hide{display:none}}@media screen and (max-width:480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.rst-content table.docutils,.rst-content table.field-list,.wy-table{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.rst-content table.docutils caption,.rst-content table.field-list caption,.wy-table caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.rst-content table.docutils td,.rst-content table.docutils th,.rst-content table.field-list td,.rst-content table.field-list th,.wy-table td,.wy-table th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.rst-content table.docutils td:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list td:first-child,.rst-content table.field-list th:first-child,.wy-table td:first-child,.wy-table th:first-child{border-left-width:0}.rst-content table.docutils thead,.rst-content table.field-list thead,.wy-table thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.rst-content table.docutils thead th,.rst-content table.field-list thead th,.wy-table thead th{font-weight:700;border-bottom:2px solid #e1e4e5}.rst-content table.docutils td,.rst-content table.field-list td,.wy-table td{background-color:transparent;vertical-align:middle}.rst-content table.docutils td p,.rst-content table.field-list td p,.wy-table td p{line-height:18px}.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child,.wy-table td p:last-child{margin-bottom:0}.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min,.wy-table .wy-table-cell-min{width:1%;padding-right:0}.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:grey;font-size:90%}.wy-table-tertiary{color:grey;font-size:80%}.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td,.wy-table-backed,.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td{background-color:#f3f6f6}.rst-content table.docutils,.wy-table-bordered-all{border:1px solid #e1e4e5}.rst-content table.docutils td,.wy-table-bordered-all td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.rst-content table.docutils tbody>tr:last-child td,.wy-table-bordered-all tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0!important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980b9;text-decoration:none;cursor:pointer}a:hover{color:#3091d1}a:visited{color:#9b59b6}html{height:100%}body,html{overflow-x:hidden}body{font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;font-weight:400;color:#404040;min-height:100%;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#e67e22!important}a.wy-text-warning:hover{color:#eb9950!important}.wy-text-info{color:#2980b9!important}a.wy-text-info:hover{color:#409ad5!important}.wy-text-success{color:#27ae60!important}a.wy-text-success:hover{color:#36d278!important}.wy-text-danger{color:#e74c3c!important}a.wy-text-danger:hover{color:#ed7669!important}.wy-text-neutral{color:#404040!important}a.wy-text-neutral:hover{color:#595959!important}.rst-content .toctree-wrapper>p.caption,h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif}p{line-height:24px;font-size:16px;margin:0 0 24px}h1{font-size:175%}.rst-content .toctree-wrapper>p.caption,h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}.rst-content code,.rst-content tt,code{white-space:nowrap;max-width:100%;background:#fff;border:1px solid #e1e4e5;font-size:75%;padding:0 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#e74c3c;overflow-x:auto}.rst-content tt.code-large,code.code-large{font-size:90%}.rst-content .section ul,.rst-content .toctree-wrapper ul,.rst-content section ul,.wy-plain-list-disc,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.rst-content .section ul li,.rst-content .toctree-wrapper ul li,.rst-content section ul li,.wy-plain-list-disc li,article ul li{list-style:disc;margin-left:24px}.rst-content .section ul li p:last-child,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li p:last-child,.rst-content .toctree-wrapper ul li ul,.rst-content section ul li p:last-child,.rst-content section ul li ul,.wy-plain-list-disc li p:last-child,.wy-plain-list-disc li ul,article ul li p:last-child,article ul li ul{margin-bottom:0}.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,.rst-content section ul li li,.wy-plain-list-disc li li,article ul li li{list-style:circle}.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,.rst-content section ul li li li,.wy-plain-list-disc li li li,article ul li li li{list-style:square}.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,.rst-content section ul li ol li,.wy-plain-list-disc li ol li,article ul li ol li{list-style:decimal}.rst-content .section ol,.rst-content .section ol.arabic,.rst-content .toctree-wrapper ol,.rst-content .toctree-wrapper ol.arabic,.rst-content section ol,.rst-content section ol.arabic,.wy-plain-list-decimal,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.rst-content .section ol.arabic li,.rst-content .section ol li,.rst-content .toctree-wrapper ol.arabic li,.rst-content .toctree-wrapper ol li,.rst-content section ol.arabic li,.rst-content section ol li,.wy-plain-list-decimal li,article ol li{list-style:decimal;margin-left:24px}.rst-content .section ol.arabic li ul,.rst-content .section ol li p:last-child,.rst-content .section ol li ul,.rst-content .toctree-wrapper ol.arabic li ul,.rst-content .toctree-wrapper ol li p:last-child,.rst-content .toctree-wrapper ol li ul,.rst-content section ol.arabic li ul,.rst-content section ol li p:last-child,.rst-content section ol li ul,.wy-plain-list-decimal li p:last-child,.wy-plain-list-decimal li ul,article ol li p:last-child,article ol li ul{margin-bottom:0}.rst-content .section ol.arabic li ul li,.rst-content .section ol li ul li,.rst-content .toctree-wrapper ol.arabic li ul li,.rst-content .toctree-wrapper ol li ul li,.rst-content section ol.arabic li ul li,.rst-content section ol li ul li,.wy-plain-list-decimal li ul li,article ol li ul li{list-style:disc}.wy-breadcrumbs{*zoom:1}.wy-breadcrumbs:after,.wy-breadcrumbs:before{display:table;content:""}.wy-breadcrumbs:after{clear:both}.wy-breadcrumbs>li{display:inline-block;padding-top:5px}.wy-breadcrumbs>li.wy-breadcrumbs-aside{float:right}.rst-content .wy-breadcrumbs>li code,.rst-content .wy-breadcrumbs>li tt,.wy-breadcrumbs>li .rst-content tt,.wy-breadcrumbs>li code{all:inherit;color:inherit}.breadcrumb-item:before{content:"/";color:#bbb;font-size:13px;padding:0 6px 0 3px}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width:480px){.wy-breadcrumbs-extra,.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}html{font-size:16px}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:after,.wy-menu-horiz:before{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz li,.wy-menu-horiz ul{display:inline-block}.wy-menu-horiz li:hover{background:hsla(0,0%,100%,.1)}.wy-menu-horiz li.divide-left{border-left:1px solid #404040}.wy-menu-horiz li.divide-right{border-right:1px solid #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical{width:300px}.wy-menu-vertical header,.wy-menu-vertical p.caption{color:#55a5d9;height:32px;line-height:32px;padding:0 1.618em;margin:12px 0 0;display:block;font-weight:700;text-transform:uppercase;font-size:85%;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:1px solid #404040}.wy-menu-vertical li.divide-bottom{border-bottom:1px solid #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:grey;border-right:1px solid #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.rst-content .wy-menu-vertical li tt,.wy-menu-vertical li .rst-content tt,.wy-menu-vertical li code{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li button.toctree-expand{display:block;float:left;margin-left:-1.2em;line-height:18px;color:#4d4d4d;border:none;background:none;padding:0}.wy-menu-vertical li.current>a,.wy-menu-vertical li.on a{color:#404040;font-weight:700;position:relative;background:#fcfcfc;border:none;padding:.4045em 1.618em}.wy-menu-vertical li.current>a:hover,.wy-menu-vertical li.on a:hover{background:#fcfcfc}.wy-menu-vertical li.current>a:hover button.toctree-expand,.wy-menu-vertical li.on a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.current>a button.toctree-expand,.wy-menu-vertical li.on a button.toctree-expand{display:block;line-height:18px;color:#333}.wy-menu-vertical li.toctree-l1.current>a{border-bottom:1px solid #c9c9c9;border-top:1px solid #c9c9c9}.wy-menu-vertical .toctree-l1.current .toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .toctree-l11>ul{display:none}.wy-menu-vertical .toctree-l1.current .current.toctree-l2>ul,.wy-menu-vertical .toctree-l2.current .current.toctree-l3>ul,.wy-menu-vertical .toctree-l3.current .current.toctree-l4>ul,.wy-menu-vertical .toctree-l4.current .current.toctree-l5>ul,.wy-menu-vertical .toctree-l5.current .current.toctree-l6>ul,.wy-menu-vertical .toctree-l6.current .current.toctree-l7>ul,.wy-menu-vertical .toctree-l7.current .current.toctree-l8>ul,.wy-menu-vertical .toctree-l8.current .current.toctree-l9>ul,.wy-menu-vertical .toctree-l9.current .current.toctree-l10>ul,.wy-menu-vertical .toctree-l10.current .current.toctree-l11>ul{display:block}.wy-menu-vertical li.toctree-l3,.wy-menu-vertical li.toctree-l4{font-size:.9em}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l4 a,.wy-menu-vertical li.toctree-l5 a,.wy-menu-vertical li.toctree-l6 a,.wy-menu-vertical li.toctree-l7 a,.wy-menu-vertical li.toctree-l8 a,.wy-menu-vertical li.toctree-l9 a,.wy-menu-vertical li.toctree-l10 a{color:#404040}.wy-menu-vertical li.toctree-l2 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l3 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l4 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l5 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l6 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l7 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l8 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l9 a:hover button.toctree-expand,.wy-menu-vertical li.toctree-l10 a:hover button.toctree-expand{color:grey}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a,.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a,.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a,.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a,.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a,.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a,.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a,.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{display:block}.wy-menu-vertical li.toctree-l2.current>a{padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{padding:.4045em 1.618em .4045em 4.045em}.wy-menu-vertical li.toctree-l3.current>a{padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{padding:.4045em 1.618em .4045em 5.663em}.wy-menu-vertical li.toctree-l4.current>a{padding:.4045em 5.663em}.wy-menu-vertical li.toctree-l4.current li.toctree-l5>a{padding:.4045em 1.618em .4045em 7.281em}.wy-menu-vertical li.toctree-l5.current>a{padding:.4045em 7.281em}.wy-menu-vertical li.toctree-l5.current li.toctree-l6>a{padding:.4045em 1.618em .4045em 8.899em}.wy-menu-vertical li.toctree-l6.current>a{padding:.4045em 8.899em}.wy-menu-vertical li.toctree-l6.current li.toctree-l7>a{padding:.4045em 1.618em .4045em 10.517em}.wy-menu-vertical li.toctree-l7.current>a{padding:.4045em 10.517em}.wy-menu-vertical li.toctree-l7.current li.toctree-l8>a{padding:.4045em 1.618em .4045em 12.135em}.wy-menu-vertical li.toctree-l8.current>a{padding:.4045em 12.135em}.wy-menu-vertical li.toctree-l8.current li.toctree-l9>a{padding:.4045em 1.618em .4045em 13.753em}.wy-menu-vertical li.toctree-l9.current>a{padding:.4045em 13.753em}.wy-menu-vertical li.toctree-l9.current li.toctree-l10>a{padding:.4045em 1.618em .4045em 15.371em}.wy-menu-vertical li.toctree-l10.current>a{padding:.4045em 15.371em}.wy-menu-vertical li.toctree-l10.current li.toctree-l11>a{padding:.4045em 1.618em .4045em 16.989em}.wy-menu-vertical li.toctree-l2.current>a,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#c9c9c9}.wy-menu-vertical li.toctree-l2 button.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3.current>a,.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#bdbdbd}.wy-menu-vertical li.toctree-l3 button.toctree-expand{color:#969696}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical li ul li a{margin-bottom:0;color:#d9d9d9;font-weight:400}.wy-menu-vertical a{line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#d9d9d9}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover button.toctree-expand{color:#d9d9d9}.wy-menu-vertical a:active{background-color:#2980b9;cursor:pointer;color:#fff}.wy-menu-vertical a:active button.toctree-expand{color:#fff}.wy-side-nav-search{display:block;width:300px;padding:.809em;margin-bottom:.809em;z-index:200;background-color:#2980b9;text-align:center;color:#fcfcfc}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto .809em;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-side-nav-search .wy-dropdown>a,.wy-side-nav-search>a{color:#fcfcfc;font-size:100%;font-weight:700;display:inline-block;padding:4px 6px;margin-bottom:.809em;max-width:100%}.wy-side-nav-search .wy-dropdown>a:hover,.wy-side-nav-search>a:hover{background:hsla(0,0%,100%,.1)}.wy-side-nav-search .wy-dropdown>a img.logo,.wy-side-nav-search>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search .wy-dropdown>a.icon img.logo,.wy-side-nav-search>a.icon img.logo{margin-top:.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:400;color:hsla(0,0%,100%,.3)}.wy-nav .wy-menu-vertical header{color:#2980b9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980b9;color:#fff}[data-menu-wrap]{-webkit-transition:all .2s ease-in;-moz-transition:all .2s ease-in;transition:all .2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:#fcfcfc}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:fixed;top:0;bottom:0;left:0;padding-bottom:2em;width:300px;overflow-x:hidden;overflow-y:hidden;min-height:100%;color:#9b9b9b;background:#343131;z-index:200}.wy-side-scroll{width:320px;position:relative;overflow-x:hidden;overflow-y:scroll;height:100%}.wy-nav-top{display:none;background:#2980b9;color:#fff;padding:.4045em .809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:after,.wy-nav-top:before{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:700}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980b9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;padding-top:inherit}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:grey}footer p{margin-bottom:12px}.rst-content footer span.commit tt,footer span.commit .rst-content tt,footer span.commit code{padding:0;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:1em;background:none;border:none;color:grey}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:after,.rst-footer-buttons:before{width:100%;display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:after,.rst-breadcrumbs-buttons:before{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:1px solid #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:1px solid #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:grey;font-size:90%}.genindextable li>ul{margin-left:24px}@media screen and (max-width:768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-menu.wy-menu-vertical,.wy-side-nav-search,.wy-side-scroll{width:auto}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width:1100px){.wy-nav-content-wrap{background:rgba(0,0,0,.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,.wy-nav-side,footer{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60;*zoom:1}.rst-versions .rst-current-version:after,.rst-versions .rst-current-version:before{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-content .code-block-caption .rst-versions .rst-current-version .headerlink,.rst-content .eqno .rst-versions .rst-current-version .headerlink,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-content p .rst-versions .rst-current-version .headerlink,.rst-content table>caption .rst-versions .rst-current-version .headerlink,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .icon,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-versions .rst-current-version .rst-content .code-block-caption .headerlink,.rst-versions .rst-current-version .rst-content .eqno .headerlink,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-versions .rst-current-version .rst-content p .headerlink,.rst-versions .rst-current-version .rst-content table>caption .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-versions .rst-current-version .wy-menu-vertical li button.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version button.toctree-expand{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}.rst-content .toctree-wrapper>p.caption,.rst-content h1,.rst-content h2,.rst-content h3,.rst-content h4,.rst-content h5,.rst-content h6{margin-bottom:24px}.rst-content img{max-width:100%;height:auto}.rst-content div.figure,.rst-content figure{margin-bottom:24px}.rst-content div.figure .caption-text,.rst-content figure .caption-text{font-style:italic}.rst-content div.figure p:last-child.caption,.rst-content figure p:last-child.caption{margin-bottom:0}.rst-content div.figure.align-center,.rst-content figure.align-center{text-align:center}.rst-content .section>a>img,.rst-content .section>img,.rst-content section>a>img,.rst-content section>img{margin-bottom:24px}.rst-content abbr[title]{text-decoration:none}.rst-content.style-external-links a.reference.external:after{font-family:FontAwesome;content:"\f08e";color:#b3b3b3;vertical-align:super;font-size:60%;margin:0 .2em}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content pre.literal-block{white-space:pre;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;display:block;overflow:auto}.rst-content div[class^=highlight],.rst-content pre.literal-block{border:1px solid #e1e4e5;overflow-x:auto;margin:1px 0 24px}.rst-content div[class^=highlight] div[class^=highlight],.rst-content pre.literal-block div[class^=highlight]{padding:0;border:none;margin:0}.rst-content div[class^=highlight] td.code{width:100%}.rst-content .linenodiv pre{border-right:1px solid #e6e9ea;margin:0;padding:12px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;user-select:none;pointer-events:none}.rst-content div[class^=highlight] pre{white-space:pre;margin:0;padding:12px;display:block;overflow:auto}.rst-content div[class^=highlight] pre .hll{display:block;margin:0 -12px;padding:0 12px}.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;font-size:12px;line-height:1.4}.rst-content div.highlight .gp,.rst-content div.highlight span.linenos{user-select:none;pointer-events:none}.rst-content div.highlight span.linenos{display:inline-block;padding-left:0;padding-right:12px;margin-right:12px;border-right:1px solid #e6e9ea}.rst-content .code-block-caption{font-style:italic;font-size:85%;line-height:1;padding:1em 0;text-align:center}@media print{.rst-content .codeblock,.rst-content div[class^=highlight],.rst-content div[class^=highlight] pre{white-space:pre-wrap}}.rst-content .admonition,.rst-content .admonition-todo,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .note,.rst-content .seealso,.rst-content .tip,.rst-content .warning{clear:both}.rst-content .admonition-todo .last,.rst-content .admonition-todo>:last-child,.rst-content .admonition .last,.rst-content .admonition>:last-child,.rst-content .attention .last,.rst-content .attention>:last-child,.rst-content .caution .last,.rst-content .caution>:last-child,.rst-content .danger .last,.rst-content .danger>:last-child,.rst-content .error .last,.rst-content .error>:last-child,.rst-content .hint .last,.rst-content .hint>:last-child,.rst-content .important .last,.rst-content .important>:last-child,.rst-content .note .last,.rst-content .note>:last-child,.rst-content .seealso .last,.rst-content .seealso>:last-child,.rst-content .tip .last,.rst-content .tip>:last-child,.rst-content .warning .last,.rst-content .warning>:last-child{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent!important;border-color:rgba(0,0,0,.1)!important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha>li,.rst-content .toctree-wrapper ol.loweralpha,.rst-content .toctree-wrapper ol.loweralpha>li,.rst-content section ol.loweralpha,.rst-content section ol.loweralpha>li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha>li,.rst-content .toctree-wrapper ol.upperalpha,.rst-content .toctree-wrapper ol.upperalpha>li,.rst-content section ol.upperalpha,.rst-content section ol.upperalpha>li{list-style:upper-alpha}.rst-content .section ol li>*,.rst-content .section ul li>*,.rst-content .toctree-wrapper ol li>*,.rst-content .toctree-wrapper ul li>*,.rst-content section ol li>*,.rst-content section ul li>*{margin-top:12px;margin-bottom:12px}.rst-content .section ol li>:first-child,.rst-content .section ul li>:first-child,.rst-content .toctree-wrapper ol li>:first-child,.rst-content .toctree-wrapper ul li>:first-child,.rst-content section ol li>:first-child,.rst-content section ul li>:first-child{margin-top:0}.rst-content .section ol li>p,.rst-content .section ol li>p:last-child,.rst-content .section ul li>p,.rst-content .section ul li>p:last-child,.rst-content .toctree-wrapper ol li>p,.rst-content .toctree-wrapper ol li>p:last-child,.rst-content .toctree-wrapper ul li>p,.rst-content .toctree-wrapper ul li>p:last-child,.rst-content section ol li>p,.rst-content section ol li>p:last-child,.rst-content section ul li>p,.rst-content section ul li>p:last-child{margin-bottom:12px}.rst-content .section ol li>p:only-child,.rst-content .section ol li>p:only-child:last-child,.rst-content .section ul li>p:only-child,.rst-content .section ul li>p:only-child:last-child,.rst-content .toctree-wrapper ol li>p:only-child,.rst-content .toctree-wrapper ol li>p:only-child:last-child,.rst-content .toctree-wrapper ul li>p:only-child,.rst-content .toctree-wrapper ul li>p:only-child:last-child,.rst-content section ol li>p:only-child,.rst-content section ol li>p:only-child:last-child,.rst-content section ul li>p:only-child,.rst-content section ul li>p:only-child:last-child{margin-bottom:0}.rst-content .section ol li>ol,.rst-content .section ol li>ul,.rst-content .section ul li>ol,.rst-content .section ul li>ul,.rst-content .toctree-wrapper ol li>ol,.rst-content .toctree-wrapper ol li>ul,.rst-content .toctree-wrapper ul li>ol,.rst-content .toctree-wrapper ul li>ul,.rst-content section ol li>ol,.rst-content section ol li>ul,.rst-content section ul li>ol,.rst-content section ul li>ul{margin-bottom:12px}.rst-content .section ol.simple li>*,.rst-content .section ol.simple li ol,.rst-content .section ol.simple li ul,.rst-content .section ul.simple li>*,.rst-content .section ul.simple li ol,.rst-content .section ul.simple li ul,.rst-content .toctree-wrapper ol.simple li>*,.rst-content .toctree-wrapper ol.simple li ol,.rst-content .toctree-wrapper ol.simple li ul,.rst-content .toctree-wrapper ul.simple li>*,.rst-content .toctree-wrapper ul.simple li ol,.rst-content .toctree-wrapper ul.simple li ul,.rst-content section ol.simple li>*,.rst-content section ol.simple li ol,.rst-content section ol.simple li ul,.rst-content section ul.simple li>*,.rst-content section ul.simple li ol,.rst-content section ul.simple li ul{margin-top:0;margin-bottom:0}.rst-content .line-block{margin-left:0;margin-bottom:24px;line-height:24px}.rst-content .line-block .line-block{margin-left:24px;margin-bottom:0}.rst-content .topic-title{font-weight:700;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0 0 24px 24px}.rst-content .align-left{float:left;margin:0 24px 24px 0}.rst-content .align-center{margin:auto}.rst-content .align-center:not(table){display:block}.rst-content .code-block-caption .headerlink,.rst-content .eqno .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink,.rst-content dl dt .headerlink,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content p.caption .headerlink,.rst-content p .headerlink,.rst-content table>caption .headerlink{opacity:0;font-size:14px;font-family:FontAwesome;margin-left:.5em}.rst-content .code-block-caption .headerlink:focus,.rst-content .code-block-caption:hover .headerlink,.rst-content .eqno .headerlink:focus,.rst-content .eqno:hover .headerlink,.rst-content .toctree-wrapper>p.caption .headerlink:focus,.rst-content .toctree-wrapper>p.caption:hover .headerlink,.rst-content dl dt .headerlink:focus,.rst-content dl dt:hover .headerlink,.rst-content h1 .headerlink:focus,.rst-content h1:hover .headerlink,.rst-content h2 .headerlink:focus,.rst-content h2:hover .headerlink,.rst-content h3 .headerlink:focus,.rst-content h3:hover .headerlink,.rst-content h4 .headerlink:focus,.rst-content h4:hover .headerlink,.rst-content h5 .headerlink:focus,.rst-content h5:hover .headerlink,.rst-content h6 .headerlink:focus,.rst-content h6:hover .headerlink,.rst-content p.caption .headerlink:focus,.rst-content p.caption:hover .headerlink,.rst-content p .headerlink:focus,.rst-content p:hover .headerlink,.rst-content table>caption .headerlink:focus,.rst-content table>caption:hover .headerlink{opacity:1}.rst-content p a{overflow-wrap:anywhere}.rst-content .wy-table td p,.rst-content .wy-table td ul,.rst-content .wy-table th p,.rst-content .wy-table th ul,.rst-content table.docutils td p,.rst-content table.docutils td ul,.rst-content table.docutils th p,.rst-content table.docutils th ul,.rst-content table.field-list td p,.rst-content table.field-list td ul,.rst-content table.field-list th p,.rst-content table.field-list th ul{font-size:inherit}.rst-content .btn:focus{outline:2px solid}.rst-content table>caption .headerlink:after{font-size:12px}.rst-content .centered{text-align:center}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:1px solid #e1e4e5}.rst-content .sidebar dl,.rst-content .sidebar p,.rst-content .sidebar ul{font-size:90%}.rst-content .sidebar .last,.rst-content .sidebar>:last-child{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:Roboto Slab,ff-tisa-web-pro,Georgia,Arial,sans-serif;font-weight:700;background:#e1e4e5;padding:6px 12px;margin:-24px -24px 24px;font-size:100%}.rst-content .highlighted{background:#f1c40f;box-shadow:0 0 0 2px #f1c40f;display:inline;font-weight:700}.rst-content .citation-reference,.rst-content .footnote-reference{vertical-align:baseline;position:relative;top:-.4em;line-height:0;font-size:90%}.rst-content .citation-reference>span.fn-bracket,.rst-content .footnote-reference>span.fn-bracket{display:none}.rst-content .hlist{width:100%}.rst-content dl dt span.classifier:before{content:" : "}.rst-content dl dt span.classifier-delimiter{display:none!important}html.writer-html4 .rst-content table.docutils.citation,html.writer-html4 .rst-content table.docutils.footnote{background:none;border:none}html.writer-html4 .rst-content table.docutils.citation td,html.writer-html4 .rst-content table.docutils.citation tr,html.writer-html4 .rst-content table.docutils.footnote td,html.writer-html4 .rst-content table.docutils.footnote tr{border:none;background-color:transparent!important;white-space:normal}html.writer-html4 .rst-content table.docutils.citation td.label,html.writer-html4 .rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{display:grid;grid-template-columns:auto minmax(80%,95%)}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{display:inline-grid;grid-template-columns:max-content auto}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{display:grid;grid-template-columns:auto auto minmax(.65rem,auto) minmax(40%,95%)}html.writer-html5 .rst-content aside.citation>span.label,html.writer-html5 .rst-content aside.footnote>span.label,html.writer-html5 .rst-content div.citation>span.label{grid-column-start:1;grid-column-end:2}html.writer-html5 .rst-content aside.citation>span.backrefs,html.writer-html5 .rst-content aside.footnote>span.backrefs,html.writer-html5 .rst-content div.citation>span.backrefs{grid-column-start:2;grid-column-end:3;grid-row-start:1;grid-row-end:3}html.writer-html5 .rst-content aside.citation>p,html.writer-html5 .rst-content aside.footnote>p,html.writer-html5 .rst-content div.citation>p{grid-column-start:4;grid-column-end:5}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.field-list,html.writer-html5 .rst-content dl.footnote{margin-bottom:24px}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dt{padding-left:1rem}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.field-list>dd,html.writer-html5 .rst-content dl.field-list>dt,html.writer-html5 .rst-content dl.footnote>dd,html.writer-html5 .rst-content dl.footnote>dt{margin-bottom:0}html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{font-size:.9rem}html.writer-html5 .rst-content dl.citation>dt,html.writer-html5 .rst-content dl.footnote>dt{margin:0 .5rem .5rem 0;line-height:1.2rem;word-break:break-all;font-weight:400}html.writer-html5 .rst-content dl.citation>dt>span.brackets:before,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:before{content:"["}html.writer-html5 .rst-content dl.citation>dt>span.brackets:after,html.writer-html5 .rst-content dl.footnote>dt>span.brackets:after{content:"]"}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a{word-break:keep-all}html.writer-html5 .rst-content dl.citation>dt>span.fn-backref>a:not(:first-child):before,html.writer-html5 .rst-content dl.footnote>dt>span.fn-backref>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content dl.citation>dd,html.writer-html5 .rst-content dl.footnote>dd{margin:0 0 .5rem;line-height:1.2rem}html.writer-html5 .rst-content dl.citation>dd p,html.writer-html5 .rst-content dl.footnote>dd p{font-size:.9rem}html.writer-html5 .rst-content aside.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content div.citation{padding-left:1rem;padding-right:1rem;font-size:.9rem;line-height:1.2rem}html.writer-html5 .rst-content aside.citation p,html.writer-html5 .rst-content aside.footnote p,html.writer-html5 .rst-content div.citation p{font-size:.9rem;line-height:1.2rem;margin-bottom:12px}html.writer-html5 .rst-content aside.citation span.backrefs,html.writer-html5 .rst-content aside.footnote span.backrefs,html.writer-html5 .rst-content div.citation span.backrefs{text-align:left;font-style:italic;margin-left:.65rem;word-break:break-word;word-spacing:-.1rem;max-width:5rem}html.writer-html5 .rst-content aside.citation span.backrefs>a,html.writer-html5 .rst-content aside.footnote span.backrefs>a,html.writer-html5 .rst-content div.citation span.backrefs>a{word-break:keep-all}html.writer-html5 .rst-content aside.citation span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content aside.footnote span.backrefs>a:not(:first-child):before,html.writer-html5 .rst-content div.citation span.backrefs>a:not(:first-child):before{content:" "}html.writer-html5 .rst-content aside.citation span.label,html.writer-html5 .rst-content aside.footnote span.label,html.writer-html5 .rst-content div.citation span.label{line-height:1.2rem}html.writer-html5 .rst-content aside.citation-list,html.writer-html5 .rst-content aside.footnote-list,html.writer-html5 .rst-content div.citation-list{margin-bottom:24px}html.writer-html5 .rst-content dl.option-list kbd{font-size:.9rem}.rst-content table.docutils.footnote,html.writer-html4 .rst-content table.docutils.citation,html.writer-html5 .rst-content aside.footnote,html.writer-html5 .rst-content aside.footnote-list aside.footnote,html.writer-html5 .rst-content div.citation-list>div.citation,html.writer-html5 .rst-content dl.citation,html.writer-html5 .rst-content dl.footnote{color:grey}.rst-content table.docutils.footnote code,.rst-content table.docutils.footnote tt,html.writer-html4 .rst-content table.docutils.citation code,html.writer-html4 .rst-content table.docutils.citation tt,html.writer-html5 .rst-content aside.footnote-list aside.footnote code,html.writer-html5 .rst-content aside.footnote-list aside.footnote tt,html.writer-html5 .rst-content aside.footnote code,html.writer-html5 .rst-content aside.footnote tt,html.writer-html5 .rst-content div.citation-list>div.citation code,html.writer-html5 .rst-content div.citation-list>div.citation tt,html.writer-html5 .rst-content dl.citation code,html.writer-html5 .rst-content dl.citation tt,html.writer-html5 .rst-content dl.footnote code,html.writer-html5 .rst-content dl.footnote tt{color:#555}.rst-content .wy-table-responsive.citation,.rst-content .wy-table-responsive.footnote{margin-bottom:0}.rst-content .wy-table-responsive.citation+:not(.citation),.rst-content .wy-table-responsive.footnote+:not(.footnote){margin-top:24px}.rst-content .wy-table-responsive.citation:last-child,.rst-content .wy-table-responsive.footnote:last-child{margin-bottom:24px}.rst-content table.docutils th{border-color:#e1e4e5}html.writer-html5 .rst-content table.docutils th{border:1px solid #e1e4e5}html.writer-html5 .rst-content table.docutils td>p,html.writer-html5 .rst-content table.docutils th>p{line-height:1rem;margin-bottom:0;font-size:.9rem}.rst-content table.docutils td .last,.rst-content table.docutils td .last>:last-child{margin-bottom:0}.rst-content table.field-list,.rst-content table.field-list td{border:none}.rst-content table.field-list td p{line-height:inherit}.rst-content table.field-list td>strong{display:inline-block}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left}.rst-content code,.rst-content tt{color:#000;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;padding:2px 5px}.rst-content code big,.rst-content code em,.rst-content tt big,.rst-content tt em{font-size:100%!important;line-height:normal}.rst-content code.literal,.rst-content tt.literal{color:#e74c3c;white-space:normal}.rst-content code.xref,.rst-content tt.xref,a .rst-content code,a .rst-content tt{font-weight:700;color:#404040;overflow-wrap:normal}.rst-content kbd,.rst-content pre,.rst-content samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace}.rst-content a code,.rst-content a tt{color:#2980b9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:700;margin-bottom:12px}.rst-content dl ol,.rst-content dl p,.rst-content dl table,.rst-content dl ul{margin-bottom:12px}.rst-content dl dd{margin:0 0 12px 24px;line-height:24px}.rst-content dl dd>ol:last-child,.rst-content dl dd>p:last-child,.rst-content dl dd>table:last-child,.rst-content dl dd>ul:last-child{margin-bottom:0}html.writer-html4 .rst-content dl:not(.docutils),html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple){margin-bottom:24px}html.writer-html4 .rst-content dl:not(.docutils)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{display:table;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980b9;border-top:3px solid #6ab0de;padding:6px;position:relative}html.writer-html4 .rst-content dl:not(.docutils)>dt:before,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:before{color:#6ab0de}html.writer-html4 .rst-content dl:not(.docutils)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt{margin-bottom:6px;border:none;border-left:3px solid #ccc;background:#f0f0f0;color:#555}html.writer-html4 .rst-content dl:not(.docutils) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) dl:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt .headerlink{color:#404040;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils)>dt:first-child,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple)>dt:first-child{margin-top:0}html.writer-html4 .rst-content dl:not(.docutils) code.descclassname,html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descclassname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{background-color:transparent;border:none;padding:0;font-size:100%!important}html.writer-html4 .rst-content dl:not(.docutils) code.descname,html.writer-html4 .rst-content dl:not(.docutils) tt.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) code.descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) tt.descname{font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .optional,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:700}html.writer-html4 .rst-content dl:not(.docutils) .property,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .property{display:inline-block;padding-right:8px;max-width:100%}html.writer-html4 .rst-content dl:not(.docutils) .k,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .k{font-style:italic}html.writer-html4 .rst-content dl:not(.docutils) .descclassname,html.writer-html4 .rst-content dl:not(.docutils) .descname,html.writer-html4 .rst-content dl:not(.docutils) .sig-name,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descclassname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .descname,html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,Courier,monospace;color:#000}.rst-content .viewcode-back,.rst-content .viewcode-link{display:inline-block;color:#27ae60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:700}.rst-content code.download,.rst-content tt.download{background:inherit;padding:inherit;font-weight:400;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content code.download span:first-child,.rst-content tt.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content code.download span:first-child:before,.rst-content tt.download span:first-child:before{margin-right:4px}.rst-content .guilabel,.rst-content .menuselection{font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}.rst-content .guilabel,.rst-content .menuselection{border:1px solid #7fbbe3;background:#e7f2fa}.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>.kbd,.rst-content :not(dl.option-list)>:not(dt):not(kbd):not(.kbd)>kbd{color:inherit;font-size:80%;background-color:#fff;border:1px solid #a6a6a6;border-radius:4px;box-shadow:0 2px grey;padding:2.4px 6px;margin:auto 0}.rst-content .versionmodified{font-style:italic}@media screen and (max-width:480px){.rst-content .sidebar{width:100%}}span[id*=MathJax-Span]{color:#404040}.math{text-align:center}@font-face{font-family:Lato;src:url(fonts/lato-normal.woff2?bd03a2cc277bbbc338d464e679fe9942) format("woff2"),url(fonts/lato-normal.woff?27bd77b9162d388cb8d4c4217c7c5e2a) format("woff");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold.woff2?cccb897485813c7c256901dbca54ecf2) format("woff2"),url(fonts/lato-bold.woff?d878b6c29b10beca227e9eef4246111b) format("woff");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-bold-italic.woff2?0b6bb6725576b072c5d0b02ecdd1900d) format("woff2"),url(fonts/lato-bold-italic.woff?9c7e4e9eb485b4a121c760e61bc3707c) format("woff");font-weight:700;font-style:italic;font-display:block}@font-face{font-family:Lato;src:url(fonts/lato-normal-italic.woff2?4eb103b4d12be57cb1d040ed5e162e9d) format("woff2"),url(fonts/lato-normal-italic.woff?f28f2d6482446544ef1ea1ccc6dd5892) format("woff");font-weight:400;font-style:italic;font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:400;src:url(fonts/Roboto-Slab-Regular.woff2?7abf5b8d04d26a2cafea937019bca958) format("woff2"),url(fonts/Roboto-Slab-Regular.woff?c1be9284088d487c5e3ff0a10a92e58c) format("woff");font-display:block}@font-face{font-family:Roboto Slab;font-style:normal;font-weight:700;src:url(fonts/Roboto-Slab-Bold.woff2?9984f4a9bda09be08e83f2506954adbe) format("woff2"),url(fonts/Roboto-Slab-Bold.woff?bed5564a116b05148e3b3bea6fb1162a) format("woff");font-display:block} \ No newline at end of file diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js deleted file mode 100644 index d06a71d..0000000 --- a/docs/_static/doctools.js +++ /dev/null @@ -1,156 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Base JavaScript utilities for all Sphinx HTML documentation. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ - "TEXTAREA", - "INPUT", - "SELECT", - "BUTTON", -]); - -const _ready = (callback) => { - if (document.readyState !== "loading") { - callback(); - } else { - document.addEventListener("DOMContentLoaded", callback); - } -}; - -/** - * Small JavaScript module for the documentation. - */ -const Documentation = { - init: () => { - Documentation.initDomainIndexTable(); - Documentation.initOnKeyListeners(); - }, - - /** - * i18n support - */ - TRANSLATIONS: {}, - PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), - LOCALE: "unknown", - - // gettext and ngettext don't access this so that the functions - // can safely bound to a different name (_ = Documentation.gettext) - gettext: (string) => { - const translated = Documentation.TRANSLATIONS[string]; - switch (typeof translated) { - case "undefined": - return string; // no translation - case "string": - return translated; // translation exists - default: - return translated[0]; // (singular, plural) translation tuple exists - } - }, - - ngettext: (singular, plural, n) => { - const translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated !== "undefined") - return translated[Documentation.PLURAL_EXPR(n)]; - return n === 1 ? singular : plural; - }, - - addTranslations: (catalog) => { - Object.assign(Documentation.TRANSLATIONS, catalog.messages); - Documentation.PLURAL_EXPR = new Function( - "n", - `return (${catalog.plural_expr})` - ); - Documentation.LOCALE = catalog.locale; - }, - - /** - * helper function to focus on search bar - */ - focusSearchBar: () => { - document.querySelectorAll("input[name=q]")[0]?.focus(); - }, - - /** - * Initialise the domain index toggle buttons - */ - initDomainIndexTable: () => { - const toggler = (el) => { - const idNumber = el.id.substr(7); - const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); - if (el.src.substr(-9) === "minus.png") { - el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; - toggledRows.forEach((el) => (el.style.display = "none")); - } else { - el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; - toggledRows.forEach((el) => (el.style.display = "")); - } - }; - - const togglerElements = document.querySelectorAll("img.toggler"); - togglerElements.forEach((el) => - el.addEventListener("click", (event) => toggler(event.currentTarget)) - ); - togglerElements.forEach((el) => (el.style.display = "")); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); - }, - - initOnKeyListeners: () => { - // only install a listener if it is really needed - if ( - !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS - ) - return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.altKey || event.ctrlKey || event.metaKey) return; - - if (!event.shiftKey) { - switch (event.key) { - case "ArrowLeft": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const prevLink = document.querySelector('link[rel="prev"]'); - if (prevLink && prevLink.href) { - window.location.href = prevLink.href; - event.preventDefault(); - } - break; - case "ArrowRight": - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; - - const nextLink = document.querySelector('link[rel="next"]'); - if (nextLink && nextLink.href) { - window.location.href = nextLink.href; - event.preventDefault(); - } - break; - } - } - - // some keyboard layouts may need Shift to get / - switch (event.key) { - case "/": - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; - Documentation.focusSearchBar(); - event.preventDefault(); - } - }); - }, -}; - -// quick alias for translations -const _ = Documentation.gettext; - -_ready(Documentation.init); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js deleted file mode 100644 index a230c95..0000000 --- a/docs/_static/documentation_options.js +++ /dev/null @@ -1,14 +0,0 @@ -var DOCUMENTATION_OPTIONS = { - URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.0b5', - LANGUAGE: 'en', - COLLAPSE_INDEX: false, - BUILDER: 'html', - FILE_SUFFIX: '.html', - LINK_SUFFIX: '.html', - HAS_SOURCE: true, - SOURCELINK_SUFFIX: '.txt', - NAVIGATION_WITH_KEYS: false, - SHOW_SEARCH_SUMMARY: true, - ENABLE_SEARCH_SHORTCUTS: true, -}; \ No newline at end of file diff --git a/docs/_static/file.png b/docs/_static/file.png deleted file mode 100644 index a858a41..0000000 Binary files a/docs/_static/file.png and /dev/null differ diff --git a/docs/_static/graphviz.css b/docs/_static/graphviz.css deleted file mode 100644 index 8d81c02..0000000 --- a/docs/_static/graphviz.css +++ /dev/null @@ -1,19 +0,0 @@ -/* - * graphviz.css - * ~~~~~~~~~~~~ - * - * Sphinx stylesheet -- graphviz extension. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -img.graphviz { - border: 0; - max-width: 100%; -} - -object.graphviz { - max-width: 100%; -} diff --git a/docs/_static/jquery.js b/docs/_static/jquery.js deleted file mode 100644 index c4c6022..0000000 --- a/docs/_static/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/_static/js/html5shiv.min.js b/docs/_static/js/html5shiv.min.js deleted file mode 100644 index cd1c674..0000000 --- a/docs/_static/js/html5shiv.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** -* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); \ No newline at end of file diff --git a/docs/_static/js/theme.js b/docs/_static/js/theme.js deleted file mode 100644 index 1fddb6e..0000000 --- a/docs/_static/js/theme.js +++ /dev/null @@ -1 +0,0 @@ -!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("
"),n("table.docutils.footnote").wrap("
"),n("table.docutils.citation").wrap("
"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n(''),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}if(t.length>0){$(".wy-menu-vertical .current").removeClass("current").attr("aria-expanded","false"),t.addClass("current").attr("aria-expanded","true"),t.closest("li.toctree-l1").parent().addClass("current").attr("aria-expanded","true");for(let n=1;n<=10;n++)t.closest("li.toctree-l"+n).addClass("current").attr("aria-expanded","true");t[0].scrollIntoView()}}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current").attr("aria-expanded","false"),e.siblings().find("li.current").removeClass("current").attr("aria-expanded","false");var t=e.find("> ul li");t.length&&(t.removeClass("current").attr("aria-expanded","false"),e.toggleClass("current").attr("aria-expanded",(function(n,e){return"true"==e?"false":"true"})))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t0 - var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1 - var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1 - var s_v = "^(" + C + ")?" + v; // vowel in stem - - this.stemWord = function (w) { - var stem; - var suffix; - var firstch; - var origword = w; - - if (w.length < 3) - return w; - - var re; - var re2; - var re3; - var re4; - - firstch = w.substr(0,1); - if (firstch == "y") - w = firstch.toUpperCase() + w.substr(1); - - // Step 1a - re = /^(.+?)(ss|i)es$/; - re2 = /^(.+?)([^s])s$/; - - if (re.test(w)) - w = w.replace(re,"$1$2"); - else if (re2.test(w)) - w = w.replace(re2,"$1$2"); - - // Step 1b - re = /^(.+?)eed$/; - re2 = /^(.+?)(ed|ing)$/; - if (re.test(w)) { - var fp = re.exec(w); - re = new RegExp(mgr0); - if (re.test(fp[1])) { - re = /.$/; - w = w.replace(re,""); - } - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1]; - re2 = new RegExp(s_v); - if (re2.test(stem)) { - w = stem; - re2 = /(at|bl|iz)$/; - re3 = new RegExp("([^aeiouylsz])\\1$"); - re4 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re2.test(w)) - w = w + "e"; - else if (re3.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - else if (re4.test(w)) - w = w + "e"; - } - } - - // Step 1c - re = /^(.+?)y$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(s_v); - if (re.test(stem)) - w = stem + "i"; - } - - // Step 2 - re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step2list[suffix]; - } - - // Step 3 - re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - suffix = fp[2]; - re = new RegExp(mgr0); - if (re.test(stem)) - w = stem + step3list[suffix]; - } - - // Step 4 - re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/; - re2 = /^(.+?)(s|t)(ion)$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - if (re.test(stem)) - w = stem; - } - else if (re2.test(w)) { - var fp = re2.exec(w); - stem = fp[1] + fp[2]; - re2 = new RegExp(mgr1); - if (re2.test(stem)) - w = stem; - } - - // Step 5 - re = /^(.+?)e$/; - if (re.test(w)) { - var fp = re.exec(w); - stem = fp[1]; - re = new RegExp(mgr1); - re2 = new RegExp(meq1); - re3 = new RegExp("^" + C + v + "[^aeiouwxy]$"); - if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) - w = stem; - } - re = /ll$/; - re2 = new RegExp(mgr1); - if (re.test(w) && re2.test(w)) { - re = /.$/; - w = w.replace(re,""); - } - - // and turn initial Y back to y - if (firstch == "y") - w = firstch.toLowerCase() + w.substr(1); - return w; - } -} - diff --git a/docs/_static/minus.png b/docs/_static/minus.png deleted file mode 100644 index d96755f..0000000 Binary files a/docs/_static/minus.png and /dev/null differ diff --git a/docs/_static/nbsphinx-broken-thumbnail.svg b/docs/_static/nbsphinx-broken-thumbnail.svg deleted file mode 100644 index 4919ca8..0000000 --- a/docs/_static/nbsphinx-broken-thumbnail.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/docs/_static/nbsphinx-code-cells.css b/docs/_static/nbsphinx-code-cells.css deleted file mode 100644 index a3fb27c..0000000 --- a/docs/_static/nbsphinx-code-cells.css +++ /dev/null @@ -1,259 +0,0 @@ -/* remove conflicting styling from Sphinx themes */ -div.nbinput.container div.prompt *, -div.nboutput.container div.prompt *, -div.nbinput.container div.input_area pre, -div.nboutput.container div.output_area pre, -div.nbinput.container div.input_area .highlight, -div.nboutput.container div.output_area .highlight { - border: none; - padding: 0; - margin: 0; - box-shadow: none; -} - -div.nbinput.container > div[class*=highlight], -div.nboutput.container > div[class*=highlight] { - margin: 0; -} - -div.nbinput.container div.prompt *, -div.nboutput.container div.prompt * { - background: none; -} - -div.nboutput.container div.output_area .highlight, -div.nboutput.container div.output_area pre { - background: unset; -} - -div.nboutput.container div.output_area div.highlight { - color: unset; /* override Pygments text color */ -} - -/* avoid gaps between output lines */ -div.nboutput.container div[class*=highlight] pre { - line-height: normal; -} - -/* input/output containers */ -div.nbinput.container, -div.nboutput.container { - display: -webkit-flex; - display: flex; - align-items: flex-start; - margin: 0; - width: 100%; -} -@media (max-width: 540px) { - div.nbinput.container, - div.nboutput.container { - flex-direction: column; - } -} - -/* input container */ -div.nbinput.container { - padding-top: 5px; -} - -/* last container */ -div.nblast.container { - padding-bottom: 5px; -} - -/* input prompt */ -div.nbinput.container div.prompt pre, -/* for sphinx_immaterial theme: */ -div.nbinput.container div.prompt pre > code { - color: #307FC1; -} - -/* output prompt */ -div.nboutput.container div.prompt pre, -/* for sphinx_immaterial theme: */ -div.nboutput.container div.prompt pre > code { - color: #BF5B3D; -} - -/* all prompts */ -div.nbinput.container div.prompt, -div.nboutput.container div.prompt { - width: 4.5ex; - padding-top: 5px; - position: relative; - user-select: none; -} - -div.nbinput.container div.prompt > div, -div.nboutput.container div.prompt > div { - position: absolute; - right: 0; - margin-right: 0.3ex; -} - -@media (max-width: 540px) { - div.nbinput.container div.prompt, - div.nboutput.container div.prompt { - width: unset; - text-align: left; - padding: 0.4em; - } - div.nboutput.container div.prompt.empty { - padding: 0; - } - - div.nbinput.container div.prompt > div, - div.nboutput.container div.prompt > div { - position: unset; - } -} - -/* disable scrollbars and line breaks on prompts */ -div.nbinput.container div.prompt pre, -div.nboutput.container div.prompt pre { - overflow: hidden; - white-space: pre; -} - -/* input/output area */ -div.nbinput.container div.input_area, -div.nboutput.container div.output_area { - -webkit-flex: 1; - flex: 1; - overflow: auto; -} -@media (max-width: 540px) { - div.nbinput.container div.input_area, - div.nboutput.container div.output_area { - width: 100%; - } -} - -/* input area */ -div.nbinput.container div.input_area { - border: 1px solid #e0e0e0; - border-radius: 2px; - /*background: #f5f5f5;*/ -} - -/* override MathJax center alignment in output cells */ -div.nboutput.container div[class*=MathJax] { - text-align: left !important; -} - -/* override sphinx.ext.imgmath center alignment in output cells */ -div.nboutput.container div.math p { - text-align: left; -} - -/* standard error */ -div.nboutput.container div.output_area.stderr { - background: #fdd; -} - -/* ANSI colors */ -.ansi-black-fg { color: #3E424D; } -.ansi-black-bg { background-color: #3E424D; } -.ansi-black-intense-fg { color: #282C36; } -.ansi-black-intense-bg { background-color: #282C36; } -.ansi-red-fg { color: #E75C58; } -.ansi-red-bg { background-color: #E75C58; } -.ansi-red-intense-fg { color: #B22B31; } -.ansi-red-intense-bg { background-color: #B22B31; } -.ansi-green-fg { color: #00A250; } -.ansi-green-bg { background-color: #00A250; } -.ansi-green-intense-fg { color: #007427; } -.ansi-green-intense-bg { background-color: #007427; } -.ansi-yellow-fg { color: #DDB62B; } -.ansi-yellow-bg { background-color: #DDB62B; } -.ansi-yellow-intense-fg { color: #B27D12; } -.ansi-yellow-intense-bg { background-color: #B27D12; } -.ansi-blue-fg { color: #208FFB; } -.ansi-blue-bg { background-color: #208FFB; } -.ansi-blue-intense-fg { color: #0065CA; } -.ansi-blue-intense-bg { background-color: #0065CA; } -.ansi-magenta-fg { color: #D160C4; } -.ansi-magenta-bg { background-color: #D160C4; } -.ansi-magenta-intense-fg { color: #A03196; } -.ansi-magenta-intense-bg { background-color: #A03196; } -.ansi-cyan-fg { color: #60C6C8; } -.ansi-cyan-bg { background-color: #60C6C8; } -.ansi-cyan-intense-fg { color: #258F8F; } -.ansi-cyan-intense-bg { background-color: #258F8F; } -.ansi-white-fg { color: #C5C1B4; } -.ansi-white-bg { background-color: #C5C1B4; } -.ansi-white-intense-fg { color: #A1A6B2; } -.ansi-white-intense-bg { background-color: #A1A6B2; } - -.ansi-default-inverse-fg { color: #FFFFFF; } -.ansi-default-inverse-bg { background-color: #000000; } - -.ansi-bold { font-weight: bold; } -.ansi-underline { text-decoration: underline; } - - -div.nbinput.container div.input_area div[class*=highlight] > pre, -div.nboutput.container div.output_area div[class*=highlight] > pre, -div.nboutput.container div.output_area div[class*=highlight].math, -div.nboutput.container div.output_area.rendered_html, -div.nboutput.container div.output_area > div.output_javascript, -div.nboutput.container div.output_area:not(.rendered_html) > img{ - padding: 5px; - margin: 0; -} - -/* fix copybtn overflow problem in chromium (needed for 'sphinx_copybutton') */ -div.nbinput.container div.input_area > div[class^='highlight'], -div.nboutput.container div.output_area > div[class^='highlight']{ - overflow-y: hidden; -} - -/* hide copy button on prompts for 'sphinx_copybutton' extension ... */ -.prompt .copybtn, -/* ... and 'sphinx_immaterial' theme */ -.prompt .md-clipboard.md-icon { - display: none; -} - -/* Some additional styling taken form the Jupyter notebook CSS */ -.jp-RenderedHTMLCommon table, -div.rendered_html table { - border: none; - border-collapse: collapse; - border-spacing: 0; - color: black; - font-size: 12px; - table-layout: fixed; -} -.jp-RenderedHTMLCommon thead, -div.rendered_html thead { - border-bottom: 1px solid black; - vertical-align: bottom; -} -.jp-RenderedHTMLCommon tr, -.jp-RenderedHTMLCommon th, -.jp-RenderedHTMLCommon td, -div.rendered_html tr, -div.rendered_html th, -div.rendered_html td { - text-align: right; - vertical-align: middle; - padding: 0.5em 0.5em; - line-height: normal; - white-space: normal; - max-width: none; - border: none; -} -.jp-RenderedHTMLCommon th, -div.rendered_html th { - font-weight: bold; -} -.jp-RenderedHTMLCommon tbody tr:nth-child(odd), -div.rendered_html tbody tr:nth-child(odd) { - background: #f5f5f5; -} -.jp-RenderedHTMLCommon tbody tr:hover, -div.rendered_html tbody tr:hover { - background: rgba(66, 165, 245, 0.2); -} - diff --git a/docs/_static/nbsphinx-gallery.css b/docs/_static/nbsphinx-gallery.css deleted file mode 100644 index 365c27a..0000000 --- a/docs/_static/nbsphinx-gallery.css +++ /dev/null @@ -1,31 +0,0 @@ -.nbsphinx-gallery { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); - gap: 5px; - margin-top: 1em; - margin-bottom: 1em; -} - -.nbsphinx-gallery > a { - padding: 5px; - border: 1px dotted currentColor; - border-radius: 2px; - text-align: center; -} - -.nbsphinx-gallery > a:hover { - border-style: solid; -} - -.nbsphinx-gallery img { - max-width: 100%; - max-height: 100%; -} - -.nbsphinx-gallery > a > div:first-child { - display: flex; - align-items: start; - justify-content: center; - height: 120px; - margin-bottom: 5px; -} diff --git a/docs/_static/nbsphinx-no-thumbnail.svg b/docs/_static/nbsphinx-no-thumbnail.svg deleted file mode 100644 index 9dca758..0000000 --- a/docs/_static/nbsphinx-no-thumbnail.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - diff --git a/docs/_static/plus.png b/docs/_static/plus.png deleted file mode 100644 index 7107cec..0000000 Binary files a/docs/_static/plus.png and /dev/null differ diff --git a/docs/_static/pygments.css b/docs/_static/pygments.css deleted file mode 100644 index 08bec68..0000000 --- a/docs/_static/pygments.css +++ /dev/null @@ -1,74 +0,0 @@ -pre { line-height: 125%; } -td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; } -td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; } -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f8f8f8; } -.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */ -.highlight .err { border: 1px solid #FF0000 } /* Error */ -.highlight .k { color: #008000; font-weight: bold } /* Keyword */ -.highlight .o { color: #666666 } /* Operator */ -.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */ -.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #9C6500 } /* Comment.Preproc */ -.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */ -.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */ -.highlight .gd { color: #A00000 } /* Generic.Deleted */ -.highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #E40000 } /* Generic.Error */ -.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */ -.highlight .gi { color: #008400 } /* Generic.Inserted */ -.highlight .go { color: #717171 } /* Generic.Output */ -.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ -.highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #0044DD } /* Generic.Traceback */ -.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #008000 } /* Keyword.Pseudo */ -.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #B00040 } /* Keyword.Type */ -.highlight .m { color: #666666 } /* Literal.Number */ -.highlight .s { color: #BA2121 } /* Literal.String */ -.highlight .na { color: #687822 } /* Name.Attribute */ -.highlight .nb { color: #008000 } /* Name.Builtin */ -.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */ -.highlight .no { color: #880000 } /* Name.Constant */ -.highlight .nd { color: #AA22FF } /* Name.Decorator */ -.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #0000FF } /* Name.Function */ -.highlight .nl { color: #767600 } /* Name.Label */ -.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #19177C } /* Name.Variable */ -.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ -.highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mb { color: #666666 } /* Literal.Number.Bin */ -.highlight .mf { color: #666666 } /* Literal.Number.Float */ -.highlight .mh { color: #666666 } /* Literal.Number.Hex */ -.highlight .mi { color: #666666 } /* Literal.Number.Integer */ -.highlight .mo { color: #666666 } /* Literal.Number.Oct */ -.highlight .sa { color: #BA2121 } /* Literal.String.Affix */ -.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */ -.highlight .sc { color: #BA2121 } /* Literal.String.Char */ -.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */ -.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #BA2121 } /* Literal.String.Double */ -.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */ -.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */ -.highlight .sx { color: #008000 } /* Literal.String.Other */ -.highlight .sr { color: #A45A77 } /* Literal.String.Regex */ -.highlight .s1 { color: #BA2121 } /* Literal.String.Single */ -.highlight .ss { color: #19177C } /* Literal.String.Symbol */ -.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */ -.highlight .fm { color: #0000FF } /* Name.Function.Magic */ -.highlight .vc { color: #19177C } /* Name.Variable.Class */ -.highlight .vg { color: #19177C } /* Name.Variable.Global */ -.highlight .vi { color: #19177C } /* Name.Variable.Instance */ -.highlight .vm { color: #19177C } /* Name.Variable.Magic */ -.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js deleted file mode 100644 index 97d56a7..0000000 --- a/docs/_static/searchtools.js +++ /dev/null @@ -1,566 +0,0 @@ -/* - * searchtools.js - * ~~~~~~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for the full-text search. - * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ -"use strict"; - -/** - * Simple result scoring code. - */ -if (typeof Scorer === "undefined") { - var Scorer = { - // Implement the following function to further tweak the score for each result - // The function takes a result array [docname, title, anchor, descr, score, filename] - // and returns the new score. - /* - score: result => { - const [docname, title, anchor, descr, score, filename] = result - return score - }, - */ - - // query matches the full name of an object - objNameMatch: 11, - // or matches in the last dotted part of the object name - objPartialMatch: 6, - // Additive scores depending on the priority of the object - objPrio: { - 0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5, // used to be unimportantResults - }, - // Used when the priority is not in the mapping. - objPrioDefault: 0, - - // query found in title - title: 15, - partialTitle: 7, - // query found in terms - term: 5, - partialTerm: 2, - }; -} - -const _removeChildren = (element) => { - while (element && element.lastChild) element.removeChild(element.lastChild); -}; - -/** - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping - */ -const _escapeRegExp = (string) => - string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string - -const _displayItem = (item, searchTerms) => { - const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; - const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; - const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; - const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; - const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; - - const [docName, title, anchor, descr, score, _filename] = item; - - let listItem = document.createElement("li"); - let requestUrl; - let linkUrl; - if (docBuilder === "dirhtml") { - // dirhtml builder - let dirname = docName + "/"; - if (dirname.match(/\/index\/$/)) - dirname = dirname.substring(0, dirname.length - 6); - else if (dirname === "index/") dirname = ""; - requestUrl = docUrlRoot + dirname; - linkUrl = requestUrl; - } else { - // normal html builders - requestUrl = docUrlRoot + docName + docFileSuffix; - linkUrl = docName + docLinkSuffix; - } - let linkEl = listItem.appendChild(document.createElement("a")); - linkEl.href = linkUrl + anchor; - linkEl.dataset.score = score; - linkEl.innerHTML = title; - if (descr) - listItem.appendChild(document.createElement("span")).innerHTML = - " (" + descr + ")"; - else if (showSearchSummary) - fetch(requestUrl) - .then((responseData) => responseData.text()) - .then((data) => { - if (data) - listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) - ); - }); - Search.output.appendChild(listItem); -}; -const _finishSearch = (resultCount) => { - Search.stopPulse(); - Search.title.innerText = _("Search Results"); - if (!resultCount) - Search.status.innerText = Documentation.gettext( - "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." - ); - else - Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); -}; -const _displayNextItem = ( - results, - resultCount, - searchTerms -) => { - // results left, load the summary and display it - // this is intended to be dynamic (don't sub resultsCount) - if (results.length) { - _displayItem(results.pop(), searchTerms); - setTimeout( - () => _displayNextItem(results, resultCount, searchTerms), - 5 - ); - } - // search finished, update title and status message - else _finishSearch(resultCount); -}; - -/** - * Default splitQuery function. Can be overridden in ``sphinx.search`` with a - * custom function per language. - * - * The regular expression works by splitting the string on consecutive characters - * that are not Unicode letters, numbers, underscores, or emoji characters. - * This is the same as ``\W+`` in Python, preserving the surrogate pair area. - */ -if (typeof splitQuery === "undefined") { - var splitQuery = (query) => query - .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) - .filter(term => term) // remove remaining empty strings -} - -/** - * Search Module - */ -const Search = { - _index: null, - _queued_query: null, - _pulse_status: -1, - - htmlToText: (htmlString) => { - const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); - const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; - console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." - ); - return ""; - }, - - init: () => { - const query = new URLSearchParams(window.location.search).get("q"); - document - .querySelectorAll('input[name="q"]') - .forEach((el) => (el.value = query)); - if (query) Search.performSearch(query); - }, - - loadIndex: (url) => - (document.body.appendChild(document.createElement("script")).src = url), - - setIndex: (index) => { - Search._index = index; - if (Search._queued_query !== null) { - const query = Search._queued_query; - Search._queued_query = null; - Search.query(query); - } - }, - - hasIndex: () => Search._index !== null, - - deferQuery: (query) => (Search._queued_query = query), - - stopPulse: () => (Search._pulse_status = -1), - - startPulse: () => { - if (Search._pulse_status >= 0) return; - - const pulse = () => { - Search._pulse_status = (Search._pulse_status + 1) % 4; - Search.dots.innerText = ".".repeat(Search._pulse_status); - if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); - }; - pulse(); - }, - - /** - * perform a search for something (or wait until index is loaded) - */ - performSearch: (query) => { - // create the required interface elements - const searchText = document.createElement("h2"); - searchText.textContent = _("Searching"); - const searchSummary = document.createElement("p"); - searchSummary.classList.add("search-summary"); - searchSummary.innerText = ""; - const searchList = document.createElement("ul"); - searchList.classList.add("search"); - - const out = document.getElementById("search-results"); - Search.title = out.appendChild(searchText); - Search.dots = Search.title.appendChild(document.createElement("span")); - Search.status = out.appendChild(searchSummary); - Search.output = out.appendChild(searchList); - - const searchProgress = document.getElementById("search-progress"); - // Some themes don't use the search progress node - if (searchProgress) { - searchProgress.innerText = _("Preparing search..."); - } - Search.startPulse(); - - // index already loaded, the browser was quick! - if (Search.hasIndex()) Search.query(query); - else Search.deferQuery(query); - }, - - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - - // stem the search terms and add them to the correct list - const stemmer = new Stemmer(); - const searchTerms = new Set(); - const excludedTerms = new Set(); - const highlightTerms = new Set(); - const objectTerms = new Set(splitQuery(query.toLowerCase().trim())); - splitQuery(query.trim()).forEach((queryTerm) => { - const queryTermLower = queryTerm.toLowerCase(); - - // maybe skip this "word" - // stopwords array is from language_data.js - if ( - stopwords.indexOf(queryTermLower) !== -1 || - queryTerm.match(/^\d+$/) - ) - return; - - // stem the word - let word = stemmer.stemWord(queryTermLower); - // select the correct list - if (word[0] === "-") excludedTerms.add(word.substr(1)); - else { - searchTerms.add(word); - highlightTerms.add(queryTermLower); - } - }); - - if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js - localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" ")) - } - - // console.debug("SEARCH: searching for:"); - // console.info("required: ", [...searchTerms]); - // console.info("excluded: ", [...excludedTerms]); - - // array of [docname, title, anchor, descr, score, filename] - let results = []; - _removeChildren(document.getElementById("search-progress")); - - const queryLower = query.toLowerCase(); - for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { - for (const [file, id] of foundTitles) { - let score = Math.round(100 * queryLower.length / title.length) - results.push([ - docNames[file], - titles[file] !== title ? `${titles[file]} > ${title}` : title, - id !== null ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // search for explicit entries in index directives - for (const [entry, foundEntries] of Object.entries(indexEntries)) { - if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ - docNames[file], - titles[file], - id ? "#" + id : "", - null, - score, - filenames[file], - ]); - } - } - } - - // lookup as object - objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) - ); - - // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); - - // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); - - // remove duplicate search results - // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept - let seen = new Set(); - results = results.reverse().reduce((acc, result) => { - let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(','); - if (!seen.has(resultStr)) { - acc.push(result); - seen.add(resultStr); - } - return acc; - }, []); - - results = results.reverse(); - - // for debugging - //Search.lastresults = results.slice(); // a copy - // console.info("search results:", Search.lastresults); - - // print the results - _displayNextItem(results, results.length, searchTerms); - }, - - /** - * search for object names - */ - performObjectSearch: (object, objectTerms) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const objects = Search._index.objects; - const objNames = Search._index.objnames; - const titles = Search._index.titles; - - const results = []; - - const objectSearchCallback = (prefix, match) => { - const name = match[4] - const fullname = (prefix ? prefix + "." : "") + name; - const fullnameLower = fullname.toLowerCase(); - if (fullnameLower.indexOf(object) < 0) return; - - let score = 0; - const parts = fullnameLower.split("."); - - // check for different match types: exact matches of full name or - // "last name" (i.e. last dotted part) - if (fullnameLower === object || parts.slice(-1)[0] === object) - score += Scorer.objNameMatch; - else if (parts.slice(-1)[0].indexOf(object) > -1) - score += Scorer.objPartialMatch; // matches in last name - - const objName = objNames[match[1]][2]; - const title = titles[match[0]]; - - // If more than one term searched for, we require other words to be - // found in the name/title/description - const otherTerms = new Set(objectTerms); - otherTerms.delete(object); - if (otherTerms.size > 0) { - const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase(); - if ( - [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0) - ) - return; - } - - let anchor = match[3]; - if (anchor === "") anchor = fullname; - else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname; - - const descr = objName + _(", in ") + title; - - // add custom score for some objects according to scorer - if (Scorer.objPrio.hasOwnProperty(match[2])) - score += Scorer.objPrio[match[2]]; - else score += Scorer.objPrioDefault; - - results.push([ - docNames[match[0]], - fullname, - "#" + anchor, - descr, - score, - filenames[match[0]], - ]); - }; - Object.keys(objects).forEach((prefix) => - objects[prefix].forEach((array) => - objectSearchCallback(prefix, array) - ) - ); - return results; - }, - - /** - * search for full-text terms in the index - */ - performTermsSearch: (searchTerms, excludedTerms) => { - // prepare search - const terms = Search._index.terms; - const titleTerms = Search._index.titleterms; - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - - const scoreMap = new Map(); - const fileMap = new Map(); - - // perform the search on the required terms - searchTerms.forEach((word) => { - const files = []; - const arr = [ - { files: terms[word], score: Scorer.term }, - { files: titleTerms[word], score: Scorer.title }, - ]; - // add support for partial matches - if (word.length > 2) { - const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); - } - - // no match but word was a required one - if (arr.every((record) => record.files === undefined)) return; - - // found search word in contents - arr.forEach((record) => { - if (record.files === undefined) return; - - let recordFiles = record.files; - if (recordFiles.length === undefined) recordFiles = [recordFiles]; - files.push(...recordFiles); - - // set score for the word in each file - recordFiles.forEach((file) => { - if (!scoreMap.has(file)) scoreMap.set(file, {}); - scoreMap.get(file)[word] = record.score; - }); - }); - - // create the mapping - files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); - }); - }); - - // now check if the files don't contain excluded terms - const results = []; - for (const [file, wordList] of fileMap) { - // check if all requirements are matched - - // as search terms with length < 3 are discarded - const filteredTermCount = [...searchTerms].filter( - (term) => term.length > 2 - ).length; - if ( - wordList.length !== searchTerms.size && - wordList.length !== filteredTermCount - ) - continue; - - // ensure that none of the excluded terms is in the search result - if ( - [...excludedTerms].some( - (term) => - terms[term] === file || - titleTerms[term] === file || - (terms[term] || []).includes(file) || - (titleTerms[term] || []).includes(file) - ) - ) - break; - - // select one (max) score for the file. - const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w])); - // add result to the result list - results.push([ - docNames[file], - titles[file], - "", - null, - score, - filenames[file], - ]); - } - return results; - }, - - /** - * helper function to return a node containing the - * search summary for a given text. keywords is a list - * of stemmed words. - */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); - if (text === "") return null; - - const textLower = text.toLowerCase(); - const actualStartPosition = [...keywords] - .map((k) => textLower.indexOf(k.toLowerCase())) - .filter((i) => i > -1) - .slice(-1)[0]; - const startWithContext = Math.max(actualStartPosition - 120, 0); - - const top = startWithContext === 0 ? "" : "..."; - const tail = startWithContext + 240 < text.length ? "..." : ""; - - let summary = document.createElement("p"); - summary.classList.add("context"); - summary.textContent = top + text.substr(startWithContext, 240).trim() + tail; - - return summary; - }, -}; - -_ready(Search.init); diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js deleted file mode 100644 index aae669d..0000000 --- a/docs/_static/sphinx_highlight.js +++ /dev/null @@ -1,144 +0,0 @@ -/* Highlighting utilities for Sphinx HTML documentation. */ -"use strict"; - -const SPHINX_HIGHLIGHT_ENABLED = true - -/** - * highlight a given string on a node by wrapping it in - * span elements with the given class name. - */ -const _highlight = (node, addItems, text, className) => { - if (node.nodeType === Node.TEXT_NODE) { - const val = node.nodeValue; - const parent = node.parentNode; - const pos = val.toLowerCase().indexOf(text); - if ( - pos >= 0 && - !parent.classList.contains(className) && - !parent.classList.contains("nohighlight") - ) { - let span; - - const closestNode = parent.closest("body, svg, foreignObject"); - const isInSVG = closestNode && closestNode.matches("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.classList.add(className); - } - - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - parent.insertBefore( - span, - parent.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling - ) - ); - node.nodeValue = val.substr(0, pos); - - if (isInSVG) { - const rect = document.createElementNS( - "http://www.w3.org/2000/svg", - "rect" - ); - const bbox = parent.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute("class", className); - addItems.push({ parent: parent, target: rect }); - } - } - } else if (node.matches && !node.matches("button, select, textarea")) { - node.childNodes.forEach((el) => _highlight(el, addItems, text, className)); - } -}; -const _highlightText = (thisNode, text, className) => { - let addItems = []; - _highlight(thisNode, addItems, text, className); - addItems.forEach((obj) => - obj.parent.insertAdjacentElement("beforebegin", obj.target) - ); -}; - -/** - * Small JavaScript module for the documentation. - */ -const SphinxHighlight = { - - /** - * highlight the search words provided in localstorage in the text - */ - highlightSearchWords: () => { - if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight - - // get and clear terms from localstorage - const url = new URL(window.location); - const highlight = - localStorage.getItem("sphinx_highlight_terms") - || url.searchParams.get("highlight") - || ""; - localStorage.removeItem("sphinx_highlight_terms") - url.searchParams.delete("highlight"); - window.history.replaceState({}, "", url); - - // get individual terms from highlight string - const terms = highlight.toLowerCase().split(/\s+/).filter(x => x); - if (terms.length === 0) return; // nothing to do - - // There should never be more than one element matching "div.body" - const divBody = document.querySelectorAll("div.body"); - const body = divBody.length ? divBody[0] : document.querySelector("body"); - window.setTimeout(() => { - terms.forEach((term) => _highlightText(body, term, "highlighted")); - }, 10); - - const searchBox = document.getElementById("searchbox"); - if (searchBox === null) return; - searchBox.appendChild( - document - .createRange() - .createContextualFragment( - '" - ) - ); - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords: () => { - document - .querySelectorAll("#searchbox .highlight-link") - .forEach((el) => el.remove()); - document - .querySelectorAll("span.highlighted") - .forEach((el) => el.classList.remove("highlighted")); - localStorage.removeItem("sphinx_highlight_terms") - }, - - initEscapeListener: () => { - // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return; - - document.addEventListener("keydown", (event) => { - // bail for input elements - if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; - // bail with special keys - if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return; - if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) { - SphinxHighlight.hideSearchWords(); - event.preventDefault(); - } - }); - }, -}; - -_ready(SphinxHighlight.highlightSearchWords); -_ready(SphinxHighlight.initEscapeListener); diff --git a/docs/api.html b/docs/api.html deleted file mode 100644 index 65badb1..0000000 --- a/docs/api.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - DASF API Reference — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

DASF API Reference

-
- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/datasets/base/index.html b/docs/autoapi/dasf/datasets/base/index.html deleted file mode 100644 index bbd9843..0000000 --- a/docs/autoapi/dasf/datasets/base/index.html +++ /dev/null @@ -1,1419 +0,0 @@ - - - - - - - dasf.datasets.base — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.datasets.base

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - -

Dataset

Class representing a generic dataset based on a TargeteredTransform

DatasetArray

Class representing an dataset wich is defined as an array of a defined

DatasetZarr

Class representing an dataset wich is defined as a Zarr array of a

DatasetHDF5

Class representing an dataset wich is defined as a HDF5 dataset of a

DatasetXarray

Class representing an dataset wich is defined as a Xarray dataset of a

DatasetLabeled

A class representing a labeled dataset. Each item is a 2-element tuple,

DatasetDataFrame

Class representing an dataset wich is defined as a dataframe.

DatasetParquet

Class representing an dataset wich is defined as a Parquet.

-
-
-class dasf.datasets.base.Dataset(name, download=False, root=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.TargeteredTransform

-

Class representing a generic dataset based on a TargeteredTransform -object.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
*argstype

Additional arguments without keys.

-
-
**kwargstype

Additional keyworkded arguments.

-
-
-
-
-__set_dataset_cache_dir()
-

Generate cached directory in $HOME to store dataset(s).

-
- -
-
-download()[source]
-

Skeleton of the download method.

-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

Generic __getitem__() function based on internal data.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetArray(name, download=False, root=None, chunks='auto')[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as an array of a defined -shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-__operator_check__(other)[source]
-
- -
-
-__repr__()[source]
-

Return a class representation based on internal array.

-
- -
-
-__array__(dtype=None)[source]
-
- -
-
-__array_ufunc__(ufunc, method, *inputs, **kwargs)[source]
-
- -
-
-__check_op_input(in_data)
-

Return the proper type of data for operation

-
>>> Result = DatasetArray + Numpy; or
->>> Result = DatasetArray + DatasetArray
-
-
-
-
Parameters
-
-
in_dataAny

Input data to be analyzed.

-
-
-
-
-
Returns
-
-
dataAny

A data representing the internal array or the class itself.

-
-
-
-
- -
-
-__add__(other)[source]
-

Internal function of adding two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A sum with two arrays.

-
-
-
-
- -
-
-__sub__(other)[source]
-

Internal function of subtracting two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A subtraction of two arrays.

-
-
-
-
- -
-
-__mul__(other)[source]
-

Internal function of multiplication two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A multiplication of two arrays.

-
-
-
-
- -
-
-__div__(other)[source]
-

Internal function of division two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A division of two arrays.

-
-
-
-
- -
-
-__copy_attrs_from_data()
-

Extends metadata to new transformed object (after operations).

-
- -
-
-__npy_header()
-

Read an array header from a filelike object.

-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetZarr(name, download=False, root=None, chunks=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a Zarr array of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-__repr__()[source]
-

Return a class representation based on internal array.

-
- -
-
-__check_op_input(in_data)
-

Return the proper type of data for operation

-
>>> Result = DatasetZarr + Numpy; or
->>> Result = DatasetZarr + DatasetZarr
-
-
-
-
Parameters
-
-
in_dataAny

Input data to be analyzed.

-
-
-
-
-
Returns
-
-
dataAny

A data representing the internal array or the class itself.

-
-
-
-
- -
-
-__add__(other)[source]
-

Internal function of adding two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A sum with two arrays.

-
-
-
-
- -
-
-__sub__(other)[source]
-

Internal function of subtracting two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A subtraction of two arrays.

-
-
-
-
- -
-
-__mul__(other)[source]
-

Internal function of multiplication two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A multiplication of two arrays.

-
-
-
-
- -
-
-__div__(other)[source]
-

Internal function of division two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A division of two arrays.

-
-
-
-
- -
-
-__copy_attrs_from_data()
-

Extends metadata to new transformed object (after operations).

-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetHDF5(name, download=False, root=None, chunks='auto', dataset_path=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a HDF5 dataset of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
dataset_pathstr

Relative path of the internal HDF5 dataset (the default is None).

-
-
-
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp=None, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function) (placeholder).

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (str) –

  • -
  • root (str) –

  • -
  • dataset_path (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetXarray(name, download=False, root=None, chunks=None, data_var=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a Xarray dataset of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
data_varAny

Key (or index) of the internal Xarray dataset (the default is None).

-
-
-
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function based on internal Xarray data.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetLabeled(name, download=False, root=None, chunks='auto')[source]
-

Bases: Dataset

-

A class representing a labeled dataset. Each item is a 2-element tuple, -where the first element is a array of data and the second element is the -respective label. The items can be accessed from dataset[x].

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-

Attributes

-
-
__chunkstype

Description of attribute __chunks.

-
-
-
-
-download()[source]
-

Download the dataset.

-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data -(train and labels).

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Tuple

A Future object that will return a tuple: (data, label).

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
-
Returns
-
-
Tuple

A 2-element tuple: (data, label)

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function for data and labeled data together.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetDataFrame(name, download=True, root=None, chunks='auto')[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a dataframe.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. CuDF).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. pandas).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function based on internal dataframe.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.base.DatasetParquet(name, download=True, root=None, chunks='auto')[source]
-

Bases: DatasetDataFrame

-

Class representing an dataset wich is defined as a Parquet.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. CuDF).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. pandas).

-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/datasets/blobs/index.html b/docs/autoapi/dasf/datasets/blobs/index.html deleted file mode 100644 index 578a4ab..0000000 --- a/docs/autoapi/dasf/datasets/blobs/index.html +++ /dev/null @@ -1,313 +0,0 @@ - - - - - - - - - - - dasf.datasets.blobs — DASF 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - - - -
- -
- - - - - - - - - - - - - - - - - - - -
- - - - -
-
-
-
- - - -
-

dasf.datasets.blobs

-
-

Module Contents

-
-

Classes

- - - - - - -

make_blobs

Singleton class used to generate isotropic Gaussian blobs for clustering.

-
-
-class dasf.datasets.blobs.make_blobs
-

Singleton class used to generate isotropic Gaussian blobs for clustering. -It automatically selects the implementation based on hardware and available -libraries and return a container suitable for it (cupy, numpy, cupy+dask or -numpy+dask).

-

The class implements __call__ being a callable object.

-
-
-_lazy_make_blobs_cpu(**kwargs)
-
- -
-
-_lazy_make_blobs_gpu(**kwargs)
-
- -
-
-_make_blobs_cpu(**kwargs)
-
- -
-
-_make_blobs_gpu(**kwargs)
-
- -
-
-__call__(**kwargs)
-
- -
- -
-
-
- - -
- -
- -
-
- -
- -
- - - - - - - - - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/datasets/datasets/index.html b/docs/autoapi/dasf/datasets/datasets/index.html deleted file mode 100644 index 4c3aa6f..0000000 --- a/docs/autoapi/dasf/datasets/datasets/index.html +++ /dev/null @@ -1,245 +0,0 @@ - - - - - - - dasf.datasets.datasets — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.datasets.datasets

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - -

make_blobs

make_classification

make_regression

-
-
-class dasf.datasets.datasets.make_blobs[source]
-
-
-_lazy_make_blobs_cpu(**kwargs)[source]
-
- -
-
-_lazy_make_blobs_gpu(**kwargs)[source]
-
- -
-
-_make_blobs_cpu(**kwargs)[source]
-
- -
-
-_make_blobs_gpu(**kwargs)[source]
-
- -
-
-__call__(**kwargs)[source]
-
- -
- -
-
-class dasf.datasets.datasets.make_classification[source]
-
-
-_lazy_make_classification_cpu(**kwargs)[source]
-
- -
-
-_lazy_make_classification_gpu(**kwargs)[source]
-
- -
-
-_make_classification_cpu(**kwargs)[source]
-
- -
-
-_make_classification_gpu(**kwargs)[source]
-
- -
-
-__call__(**kwargs)[source]
-
- -
- -
-
-class dasf.datasets.datasets.make_regression[source]
-
-
-_lazy_make_regression_cpu(**kwargs)[source]
-
- -
-
-_lazy_make_regression_gpu(**kwargs)[source]
-
- -
-
-_make_regression_cpu(**kwargs)[source]
-
- -
-
-_make_regression_gpu(**kwargs)[source]
-
- -
-
-__call__(**kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/datasets/download/index.html b/docs/autoapi/dasf/datasets/download/index.html deleted file mode 100644 index 7e77126..0000000 --- a/docs/autoapi/dasf/datasets/download/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - dasf.datasets.download — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.datasets.download

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

DownloadWget

Dataset downloadable via wget.

DownloadGDrive

Dataset downloadable via Google Drive.

-
-
-class dasf.datasets.download.DownloadWget(url, filename, root, download=True)[source]
-

Bases: dasf.datasets.base.Dataset

-

Dataset downloadable via wget.

-
-

Parameters

-
-
urlstr

The url to fetch the resource.

-
-
filenamestr

Name of the file.

-
-
rootstr

Directory to store the downloaded file.

-
-
downloadbool

If it the dataset must be downloaded (the default is True).

-
-
-
-
-download()[source]
-

Download the dataset.

-
- -
-
-
Parameters:
-
    -
  • url (str) –

  • -
  • filename (str) –

  • -
  • root (str) –

  • -
  • download (bool) –

  • -
-
-
-
- -
-
-class dasf.datasets.download.DownloadGDrive(google_file_id, filename, root, download=True)[source]
-

Bases: dasf.datasets.base.Dataset

-

Dataset downloadable via Google Drive.

-
-

Parameters

-
-
google_file_idstr

Id of the google drive resource.

-
-
filenamestr

Name of the file.

-
-
rootstr

Directory to store the downloaded file.

-
-
downloadbool

If it the dataset must be downloaded (the default is True).

-
-
-
-
-download()[source]
-

Download the dataset.

-
- -
-
-
Parameters:
-
    -
  • google_file_id (str) –

  • -
  • filename (str) –

  • -
  • root (str) –

  • -
  • download (bool) –

  • -
-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/datasets/index.html b/docs/autoapi/dasf/datasets/index.html deleted file mode 100644 index 6694ece..0000000 --- a/docs/autoapi/dasf/datasets/index.html +++ /dev/null @@ -1,1494 +0,0 @@ - - - - - - - dasf.datasets — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.datasets

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Dataset

Class representing a generic dataset based on a TargeteredTransform

DatasetArray

Class representing an dataset wich is defined as an array of a defined

DatasetZarr

Class representing an dataset wich is defined as a Zarr array of a

DatasetHDF5

Class representing an dataset wich is defined as a HDF5 dataset of a

DatasetXarray

Class representing an dataset wich is defined as a Xarray dataset of a

DatasetLabeled

A class representing a labeled dataset. Each item is a 2-element tuple,

DatasetDataFrame

Class representing an dataset wich is defined as a dataframe.

DatasetParquet

Class representing an dataset wich is defined as a Parquet.

make_blobs

make_classification

-
-
-class dasf.datasets.Dataset(name, download=False, root=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.TargeteredTransform

-

Class representing a generic dataset based on a TargeteredTransform -object.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
*argstype

Additional arguments without keys.

-
-
**kwargstype

Additional keyworkded arguments.

-
-
-
-
-__set_dataset_cache_dir()
-

Generate cached directory in $HOME to store dataset(s).

-
- -
-
-download()[source]
-

Skeleton of the download method.

-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

Generic __getitem__() function based on internal data.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetArray(name, download=False, root=None, chunks='auto')[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as an array of a defined -shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-__operator_check__(other)[source]
-
- -
-
-__repr__()[source]
-

Return a class representation based on internal array.

-
- -
-
-__array__(dtype=None)[source]
-
- -
-
-__array_ufunc__(ufunc, method, *inputs, **kwargs)[source]
-
- -
-
-__check_op_input(in_data)
-

Return the proper type of data for operation

-
>>> Result = DatasetArray + Numpy; or
->>> Result = DatasetArray + DatasetArray
-
-
-
-
Parameters
-
-
in_dataAny

Input data to be analyzed.

-
-
-
-
-
Returns
-
-
dataAny

A data representing the internal array or the class itself.

-
-
-
-
- -
-
-__add__(other)[source]
-

Internal function of adding two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A sum with two arrays.

-
-
-
-
- -
-
-__sub__(other)[source]
-

Internal function of subtracting two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A subtraction of two arrays.

-
-
-
-
- -
-
-__mul__(other)[source]
-

Internal function of multiplication two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A multiplication of two arrays.

-
-
-
-
- -
-
-__div__(other)[source]
-

Internal function of division two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A division of two arrays.

-
-
-
-
- -
-
-__copy_attrs_from_data()
-

Extends metadata to new transformed object (after operations).

-
- -
-
-__npy_header()
-

Read an array header from a filelike object.

-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetZarr(name, download=False, root=None, chunks=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a Zarr array of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-__repr__()[source]
-

Return a class representation based on internal array.

-
- -
-
-__check_op_input(in_data)
-

Return the proper type of data for operation

-
>>> Result = DatasetZarr + Numpy; or
->>> Result = DatasetZarr + DatasetZarr
-
-
-
-
Parameters
-
-
in_dataAny

Input data to be analyzed.

-
-
-
-
-
Returns
-
-
dataAny

A data representing the internal array or the class itself.

-
-
-
-
- -
-
-__add__(other)[source]
-

Internal function of adding two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A sum with two arrays.

-
-
-
-
- -
-
-__sub__(other)[source]
-

Internal function of subtracting two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A subtraction of two arrays.

-
-
-
-
- -
-
-__mul__(other)[source]
-

Internal function of multiplication two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A multiplication of two arrays.

-
-
-
-
- -
-
-__div__(other)[source]
-

Internal function of division two array datasets.

-
-
Parameters
-
-
otherAny

A data representing an array or a DatasetArray.

-
-
-
-
-
Returns
-
-
DatasetArry

A division of two arrays.

-
-
-
-
- -
-
-__copy_attrs_from_data()
-

Extends metadata to new transformed object (after operations).

-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetHDF5(name, download=False, root=None, chunks='auto', dataset_path=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a HDF5 dataset of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
dataset_pathstr

Relative path of the internal HDF5 dataset (the default is None).

-
-
-
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Any

The data (or a Future load object, for _lazy operations).

-
-
-
-
- -
-
-_load(xp=None, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function) (placeholder).

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (str) –

  • -
  • root (str) –

  • -
  • dataset_path (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetXarray(name, download=False, root=None, chunks=None, data_var=None)[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a Xarray dataset of a -defined shape.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
data_varAny

Key (or index) of the internal Xarray dataset (the default is None).

-
-
-
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function based on internal Xarray data.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetLabeled(name, download=False, root=None, chunks='auto')[source]
-

Bases: Dataset

-

A class representing a labeled dataset. Each item is a 2-element tuple, -where the first element is a array of data and the second element is the -respective label. The items can be accessed from dataset[x].

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-

Attributes

-
-
__chunkstype

Description of attribute __chunks.

-
-
-
-
-download()[source]
-

Download the dataset.

-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data -(train and labels).

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load(xp, **kwargs)[source]
-

Lazy load the dataset using an CPU dask container.

-
-
Parameters
-
-
xptype

Library used to load the file. It must follow numpy library.

-
-
**kwargstype

Additional keyworkded arguments to the load.

-
-
-
-
-
Returns
-
-
Tuple

A Future object that will return a tuple: (data, label).

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load(xp, **kwargs)[source]
-

Load data using CPU container.

-
-
Parameters
-
-
xpModule

A module that load data (implement load function)

-
-
**kwargstype

Additional kwargs to xp.load function.

-
-
-
-
-
Returns
-
-
Tuple

A 2-element tuple: (data, label)

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. cupy).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. numpy).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function for data and labeled data together.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetDataFrame(name, download=True, root=None, chunks='auto')[source]
-

Bases: Dataset

-

Class representing an dataset wich is defined as a dataframe.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-property shape: tuple
-

Returns the shape of an array.

-
-
Returns
-
-
tuple

A tuple with the shape.

-
-
-
-
-
Return type:
-

tuple

-
-
-
- -
-
-_load_meta()[source]
-

Load metadata to inspect.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-inspect_metadata()[source]
-

Return a dictionary with all metadata information from data.

-
-
Returns
-
-
dict

A dictionary with metadata information.

-
-
-
-
-
Return type:
-

dict

-
-
-
- -
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. CuDF).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. pandas).

-
- -
-
-load()[source]
-

Placeholder for load function.

-
- -
-
-__len__()[source]
-

Return internal data length.

-
-
Return type:
-

int

-
-
-
- -
-
-__getitem__(idx)[source]
-

A __getitem__() function based on internal dataframe.

-
-
Parameters
-
-
idxAny

Key of the fetched data. It can be an integer or a tuple.

-
-
-
-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.DatasetParquet(name, download=True, root=None, chunks='auto')[source]
-

Bases: DatasetDataFrame

-

Class representing an dataset wich is defined as a Parquet.

-
-

Parameters

-
-
namestr

Symbolic name of the dataset.

-
-
downloadbool

If the dataset must be downloaded (the default is False).

-
-
rootstr

Root download directory (the default is None).

-
-
chunksAny

Number of blocks of the array (the default is “auto”).

-
-
-
-
-_lazy_load_gpu()[source]
-

Load data with GPU container + DASK. (It does not load immediattly)

-
- -
-
-_lazy_load_cpu()[source]
-

Load data with CPU container + DASK. (It does not load immediattly)

-
- -
-
-_load_gpu()[source]
-

Load data with GPU container (e.g. CuDF).

-
- -
-
-_load_cpu()[source]
-

Load data with CPU container (e.g. pandas).

-
- -
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • download (bool) –

  • -
  • root (str) –

  • -
-
-
-
- -
-
-class dasf.datasets.make_blobs[source]
-
-
-_lazy_make_blobs_cpu(**kwargs)[source]
-
- -
-
-_lazy_make_blobs_gpu(**kwargs)[source]
-
- -
-
-_make_blobs_cpu(**kwargs)[source]
-
- -
-
-_make_blobs_gpu(**kwargs)[source]
-
- -
-
-__call__(**kwargs)[source]
-
- -
- -
-
-class dasf.datasets.make_classification[source]
-
-
-_lazy_make_classification_cpu(**kwargs)[source]
-
- -
-
-_lazy_make_classification_gpu(**kwargs)[source]
-
- -
-
-_make_classification_cpu(**kwargs)[source]
-
- -
-
-_make_classification_gpu(**kwargs)[source]
-
- -
-
-__call__(**kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/debug/debug/index.html b/docs/autoapi/dasf/debug/debug/index.html deleted file mode 100644 index 552881e..0000000 --- a/docs/autoapi/dasf/debug/debug/index.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - - dasf.debug.debug — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.debug.debug

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

Debug

Print information about an operator (shape, datatype, etc.), and return

VisualizeDaskData

Visualize DASK data from an operator.

-
-
-class dasf.debug.debug.Debug[source]
-

Print information about an operator (shape, datatype, etc.), and return -the self object reference.

-
-

Parameters

-
-
namestr

Name of the operator.

-
-
**kwargstype

Additional keyworkded arguments to Operator.

-
-
-
-
-display(X)[source]
-
- -
-
- -
-
-class dasf.debug.debug.VisualizeDaskData(filename=None)[source]
-

Visualize DASK data from an operator.

-
-

Parameters

-
-
filenamestr

A path to save the DASK visualization (the default is None).

-
-
**kwargstype

Additional keyworkded arguments to Operator.

-
-
-
-
-display(X)[source]
-
- -
-
-
Parameters:
-

filename (str) –

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/debug/index.html b/docs/autoapi/dasf/debug/index.html deleted file mode 100644 index f991415..0000000 --- a/docs/autoapi/dasf/debug/index.html +++ /dev/null @@ -1,205 +0,0 @@ - - - - - - - dasf.debug — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.debug

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - -

Debug

Print information about an operator (shape, datatype, etc.), and return

VisualizeDaskData

Visualize DASK data from an operator.

-
-
-class dasf.debug.Debug[source]
-

Print information about an operator (shape, datatype, etc.), and return -the self object reference.

-
-

Parameters

-
-
namestr

Name of the operator.

-
-
**kwargstype

Additional keyworkded arguments to Operator.

-
-
-
-
-display(X)[source]
-
- -
-
- -
-
-class dasf.debug.VisualizeDaskData(filename=None)[source]
-

Visualize DASK data from an operator.

-
-

Parameters

-
-
filenamestr

A path to save the DASK visualization (the default is None).

-
-
**kwargstype

Additional keyworkded arguments to Operator.

-
-
-
-
-display(X)[source]
-
- -
-
-
Parameters:
-

filename (str) –

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/feature_extraction/histogram/index.html b/docs/autoapi/dasf/feature_extraction/histogram/index.html deleted file mode 100644 index 3f439da..0000000 --- a/docs/autoapi/dasf/feature_extraction/histogram/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - - dasf.feature_extraction.histogram — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.feature_extraction.histogram

-
-

Module Contents

-
-

Classes

- - - - - - -

Histogram

Operator to extract the histogram of a data.

-
-
-class dasf.feature_extraction.histogram.Histogram(bins=None, range=None, normed=False, weights=None, density=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.TargeteredTransform, dasf.transforms.base.Transform

-

Operator to extract the histogram of a data.

-
-

Parameters

-
-
binsOptional[int]

Number of bins (the default is None).

-
-
rangetuple

2-element tuple with the lower and upper range of the bins. If not -provided, range is simply (X.min(), X.max()) (the default is None).

-
-
normedbool

If the historgram must be normalized (the default is False).

-
-
weightstype

An array of weights, of the same shape as X. Each value in a only -contributes its associated weight towards the bin count -(the default is None).

-
-
densitytype

If False, the result will contain the number of samples in each bin. -If True, the result is the value of the probability density function -at the bin, normalized such that the integral over the range is 1 -(the default is None).

-
-
-
-
-

Attributes

-

bins -range -normed -weights -density

-
-
-__lazy_transform_generic(X)
-
- -
-
-__transform_generic(X, xp)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-
Parameters:
-
    -
  • bins (int) –

  • -
  • range (tuple) –

  • -
  • normed (bool) –

  • -
-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/feature_extraction/index.html b/docs/autoapi/dasf/feature_extraction/index.html deleted file mode 100644 index 2d2fbf9..0000000 --- a/docs/autoapi/dasf/feature_extraction/index.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - dasf.feature_extraction — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.feature_extraction

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - -

ConcatenateToArray

Concatenate data from different Arrays into a single array.

SampleDataframe

Return a subset with random samples of the original dataset.

GetSubeCubeArray

Get a subcube with x% of samples from the original one.

SliceDataframe

Get a slice of a cube. An inline slice is a section over the x-axis.

GetSubDataframe

Get the first x% samples from the dataset.

Histogram

Operator to extract the histogram of a data.

-
-
-class dasf.feature_extraction.ConcatenateToArray(flatten=False)[source]
-

Bases: dasf.transforms.base.Transform

-

Concatenate data from different Arrays into a single array.

-
-

Parameters

-
-
flattenbool

If the arrays must be flatten prior concatenating. If False, the -arrays must share the shape of last dimansions in order to be -concatenated (the default is False).

-
-
-
-
-__transform_generic(xp, **kwargs)
-
- -
-
-_transform_cpu(**kwargs)[source]
-
- -
-
-_transform_gpu(**kwargs)[source]
-
- -
-
-
Parameters:
-

flatten (bool) –

-
-
-
- -
-
-class dasf.feature_extraction.SampleDataframe(percent)[source]
-

Return a subset with random samples of the original dataset.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the dataset.

-
-
-
-
-run(X)[source]
-

Returns a subset with random samples from the dataset X.

-
-
Parameters
-
-
XAny

The dataset.

-
-
-
-
-
Returns
-
-
Any

The sampled subset.

-
-
-
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-class dasf.feature_extraction.GetSubeCubeArray(percent)[source]
-

Get a subcube with x% of samples from the original one.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the cube.

-
-
-
-
-transform(X)[source]
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-class dasf.feature_extraction.SliceDataframe(iline_index)[source]
-

Bases: dasf.transforms.base.Fit

-

Get a slice of a cube. An inline slice is a section over the x-axis.

-
-

Parameters

-
-
iline_indexint

The index of the inline to get.

-
-
-
-
-fit(X, y)[source]
-
- -
-
-
Parameters:
-

iline_index (int) –

-
-
-
- -
-
-class dasf.feature_extraction.GetSubDataframe(percent)[source]
-

Get the first x% samples from the dataset.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the dataframe.

-
-
-
-
-transform(X)[source]
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-class dasf.feature_extraction.Histogram(bins=None, range=None, normed=False, weights=None, density=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.TargeteredTransform, dasf.transforms.base.Transform

-

Operator to extract the histogram of a data.

-
-

Parameters

-
-
binsOptional[int]

Number of bins (the default is None).

-
-
rangetuple

2-element tuple with the lower and upper range of the bins. If not -provided, range is simply (X.min(), X.max()) (the default is None).

-
-
normedbool

If the historgram must be normalized (the default is False).

-
-
weightstype

An array of weights, of the same shape as X. Each value in a only -contributes its associated weight towards the bin count -(the default is None).

-
-
densitytype

If False, the result will contain the number of samples in each bin. -If True, the result is the value of the probability density function -at the bin, normalized such that the integral over the range is 1 -(the default is None).

-
-
-
-
-

Attributes

-

bins -range -normed -weights -density

-
-
-__lazy_transform_generic(X)
-
- -
-
-__transform_generic(X, xp)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-
Parameters:
-
    -
  • bins (int) –

  • -
  • range (tuple) –

  • -
  • normed (bool) –

  • -
-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/feature_extraction/transform/index.html b/docs/autoapi/dasf/feature_extraction/transform/index.html deleted file mode 100644 index bbc9cf4..0000000 --- a/docs/autoapi/dasf/feature_extraction/transform/index.html +++ /dev/null @@ -1,305 +0,0 @@ - - - - - - - dasf.feature_extraction.transform — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.feature_extraction.transform

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - -

ConcatenateToArray

Concatenate data from different Arrays into a single array.

SampleDataframe

Return a subset with random samples of the original dataset.

GetSubeCubeArray

Get a subcube with x% of samples from the original one.

SliceDataframe

Get a slice of a cube. An inline slice is a section over the x-axis.

GetSubDataframe

Get the first x% samples from the dataset.

-
-
-class dasf.feature_extraction.transform.ConcatenateToArray(flatten=False)[source]
-

Bases: dasf.transforms.base.Transform

-

Concatenate data from different Arrays into a single array.

-
-

Parameters

-
-
flattenbool

If the arrays must be flatten prior concatenating. If False, the -arrays must share the shape of last dimansions in order to be -concatenated (the default is False).

-
-
-
-
-__transform_generic(xp, **kwargs)
-
- -
-
-_transform_cpu(**kwargs)[source]
-
- -
-
-_transform_gpu(**kwargs)[source]
-
- -
-
-
Parameters:
-

flatten (bool) –

-
-
-
- -
-
-class dasf.feature_extraction.transform.SampleDataframe(percent)[source]
-

Return a subset with random samples of the original dataset.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the dataset.

-
-
-
-
-run(X)[source]
-

Returns a subset with random samples from the dataset X.

-
-
Parameters
-
-
XAny

The dataset.

-
-
-
-
-
Returns
-
-
Any

The sampled subset.

-
-
-
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-class dasf.feature_extraction.transform.GetSubeCubeArray(percent)[source]
-

Get a subcube with x% of samples from the original one.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the cube.

-
-
-
-
-transform(X)[source]
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-class dasf.feature_extraction.transform.SliceDataframe(iline_index)[source]
-

Bases: dasf.transforms.base.Fit

-

Get a slice of a cube. An inline slice is a section over the x-axis.

-
-

Parameters

-
-
iline_indexint

The index of the inline to get.

-
-
-
-
-fit(X, y)[source]
-
- -
-
-
Parameters:
-

iline_index (int) –

-
-
-
- -
-
-class dasf.feature_extraction.transform.GetSubDataframe(percent)[source]
-

Get the first x% samples from the dataset.

-
-

Parameters

-
-
percentfloat

Percentage of the samples to get from the dataframe.

-
-
-
-
-transform(X)[source]
-
- -
-
-
Parameters:
-

percent (float) –

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/index.html b/docs/autoapi/dasf/index.html deleted file mode 100644 index 46c301b..0000000 --- a/docs/autoapi/dasf/index.html +++ /dev/null @@ -1,239 +0,0 @@ - - - - - - - dasf — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf

-
-

Subpackages

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/agglomerative/index.html b/docs/autoapi/dasf/ml/cluster/agglomerative/index.html deleted file mode 100644 index 8430740..0000000 --- a/docs/autoapi/dasf/ml/cluster/agglomerative/index.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - - - - dasf.ml.cluster.agglomerative — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.agglomerative

-
-

Module Contents

-
-

Classes

- - - - - - -

AgglomerativeClustering

Agglomerative Clustering

-
-
-class dasf.ml.cluster.agglomerative.AgglomerativeClustering(n_clusters=2, affinity='euclidean', connectivity=None, linkage='single', memory=None, compute_full_tree='auto', distance_threshold=None, compute_distances=False, handle=None, verbose=False, n_neighbors=10, output_type=None, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Agglomerative Clustering

-

Recursively merges the pair of clusters that minimally increases -a given linkage distance.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint or None, default=2

The number of clusters to find. It must be None if -distance_threshold is not None.

-
-
affinitystr or callable, default=’euclidean’

Metric used to compute the linkage. Can be “euclidean”, “l1”, “l2”, -“manhattan”, “cosine”, or “precomputed”. -If linkage is “ward”, only “euclidean” is accepted. -If “precomputed”, a distance matrix (instead of a similarity matrix) -is needed as input for the fit method.

-
-
memorystr or object with the joblib.Memory interface, default=None

Used to cache the output of the computation of the tree. -By default, no caching is done. If a string is given, it is the -path to the caching directory.

-
-
connectivityarray-like or callable, default=None

Connectivity matrix. Defines for each sample the neighboring -samples following a given structure of the data. -This can be a connectivity matrix itself or a callable that transforms -the data into a connectivity matrix, such as derived from -kneighbors_graph. Default is None, i.e, the -hierarchical clustering algorithm is unstructured.

-
-
compute_full_tree‘auto’ or bool, default=’auto’

Stop early the construction of the tree at n_clusters. This is -useful to decrease computation time if the number of clusters is not -small compared to the number of samples. This option is useful only -when specifying a connectivity matrix. Note also that when varying the -number of clusters and using caching, it may be advantageous to compute -the full tree. It must be True if distance_threshold is not -None. By default compute_full_tree is “auto”, which is equivalent -to True when distance_threshold is not None or that n_clusters -is inferior to the maximum between 100 or 0.02 * n_samples. -Otherwise, “auto” is equivalent to False.

-
-
linkage{‘ward’, ‘complete’, ‘average’, ‘single’}, default=’ward’

Which linkage criterion to use. The linkage criterion determines which -distance to use between sets of observation. The algorithm will merge -the pairs of cluster that minimize this criterion.

-
    -
  • ‘ward’ minimizes the variance of the clusters being merged.

  • -
  • ‘average’ uses the average of the distances of each observation of -the two sets.

  • -
  • ‘complete’ or ‘maximum’ linkage uses the maximum distances between -all observations of the two sets.

  • -
  • ‘single’ uses the minimum of the distances between all observations -of the two sets.

  • -
-
-

New in version 0.20: Added the ‘single’ option

-
-
-
distance_thresholdfloat, default=None

The linkage distance threshold above which, clusters will not be -merged. If not None, n_clusters must be None and -compute_full_tree must be True.

-
-

New in version 0.21.

-
-
-
compute_distancesbool, default=False

Computes distances between clusters even if distance_threshold is not -used. This can be used to make dendrogram visualization, but introduces -a computational and memory overhead.

-
-

New in version 0.24.

-
-
-
n_neighborsint, default = 15

The number of neighbors to compute when connectivity = “knn”

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import AgglomerativeClustering
->>> import numpy as np
->>> X = np.array([[1, 2], [1, 4], [1, 0],
-...               [4, 2], [4, 4], [4, 0]])
->>> clustering = AgglomerativeClustering().fit(X)
->>> clustering
-AgglomerativeClustering()
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html -- https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering

-
-
-_fit_cpu(X, y=None, convert_dtype=True)[source]
-
- -
-
-_fit_gpu(X, y=None, convert_dtype=True)[source]
-
- -
-
-_fit_predict_cpu(X, y=None)[source]
-
- -
-
-_fit_predict_gpu(X, y=None)[source]
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/classifier/index.html b/docs/autoapi/dasf/ml/cluster/classifier/index.html deleted file mode 100644 index 518ef12..0000000 --- a/docs/autoapi/dasf/ml/cluster/classifier/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - dasf.ml.cluster.classifier — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/dbscan/index.html b/docs/autoapi/dasf/ml/cluster/dbscan/index.html deleted file mode 100644 index 185810f..0000000 --- a/docs/autoapi/dasf/ml/cluster/dbscan/index.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - dasf.ml.cluster.dbscan — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.dbscan

-
-

Module Contents

-
-

Classes

- - - - - - -

DBSCAN

Perform DBSCAN clustering from vector array or distance matrix.

-
-
-class dasf.ml.cluster.dbscan.DBSCAN(eps=0.5, leaf_size=40, metric='euclidean', min_samples=5, p=None, output_type=None, calc_core_sample_indices=True, verbose=False, **kwargs)[source]
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Perform DBSCAN clustering from vector array or distance matrix.

-

DBSCAN - Density-Based Spatial Clustering of Applications with Noise. -Finds core samples of high density and expands clusters from them. -Good for data which contains clusters of similar density.

-

Read more in the User Guide.

-
-

Parameters

-
-
epsfloat, default=0.5

The maximum distance between two samples for one to be considered -as in the neighborhood of the other. This is not a maximum bound -on the distances of points within a cluster. This is the most -important DBSCAN parameter to choose appropriately for your data set -and distance function.

-
-
min_samplesint, default=5

The number of samples (or total weight) in a neighborhood for a point -to be considered as a core point. This includes the point itself.

-
-
metricstring, or callable, default=’euclidean’

The metric to use when calculating distance between instances in a -feature array. If metric is a string or callable, it must be one of -the options allowed by sklearn.metrics.pairwise_distances() for -its metric parameter. -If metric is “precomputed”, X is assumed to be a distance matrix and -must be square. X may be a Glossary, in which -case only “nonzero” elements may be considered neighbors for DBSCAN.

-
-

New in version 0.17: metric precomputed to accept precomputed sparse matrix.

-
-
-
metric_paramsdict, default=None

Additional keyword arguments for the metric function.

-
-

New in version 0.19.

-
-
-
algorithm{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, default=’auto’

The algorithm to be used by the NearestNeighbors module -to compute pointwise distances and find nearest neighbors. -See NearestNeighbors module documentation for details.

-
-
leaf_sizeint, default=30

Leaf size passed to BallTree or cKDTree. This can affect the speed -of the construction and query, as well as the memory required -to store the tree. The optimal value depends -on the nature of the problem.

-
-
pfloat, default=None

The power of the Minkowski metric to be used to calculate distance -between points. If None, then p=2 (equivalent to the Euclidean -distance).

-
-
n_jobsint, default=None

The number of parallel jobs to run. -None means 1 unless in a joblib.parallel_backend context. --1 means using all processors. See Glossary -for more details.

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
calc_core_sample_indices(optional)boolean, default = True

Indicates whether the indices of the core samples should be calculated. -The the attribute core_sample_indices_ will not be used, setting this -to False will avoid unnecessary kernel launches.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import DBSCAN
->>> import numpy as np
->>> X = np.array([[1, 2], [2, 2], [2, 3],
-...               [8, 7], [8, 8], [25, 80]])
->>> clustering = DBSCAN(eps=3, min_samples=2).fit(X)
->>> clustering
-DBSCAN(eps=3, min_samples=2)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering

-
-
-

See Also

-
-
OPTICSA similar clustering at multiple values of eps. Our implementation

is optimized for memory usage.

-
-
-
-
-

References

-

Ester, M., H. P. Kriegel, J. Sander, and X. Xu, “A Density-Based -Algorithm for Discovering Clusters in Large Spatial Databases with Noise”. -In: Proceedings of the 2nd International Conference on Knowledge Discovery -and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996

-

Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). -DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. -ACM Transactions on Database Systems (TODS), 42(3), 19.

-
-
-_lazy_fit_gpu(X, y=None, out_dtype='int32')[source]
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y=None, out_dtype='int32')[source]
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, out_dtype='int32')[source]
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)[source]
-
- -
-
-_fit_predict_gpu(X, y=None, out_dtype='int32')[source]
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/hdbscan/index.html b/docs/autoapi/dasf/ml/cluster/hdbscan/index.html deleted file mode 100644 index 22eedbf..0000000 --- a/docs/autoapi/dasf/ml/cluster/hdbscan/index.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - dasf.ml.cluster.hdbscan — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.hdbscan

-
-

Module Contents

-
-

Classes

- - - - - - -

HDBSCAN

Perform HDBSCAN clustering from vector array or distance matrix.

-
-
-class dasf.ml.cluster.hdbscan.HDBSCAN(alpha=1.0, gen_min_span_tree=False, leaf_size=40, metric='euclidean', min_cluster_size=5, min_samples=None, p=None, algorithm='best', approx_min_span_tree=True, core_dist_n_jobs=4, cluster_selection_method='eom', allow_single_cluster=False, prediction_data=False, match_reference_implementation=False, connectivity='knn', output_type=None, verbose=0, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Perform HDBSCAN clustering from vector array or distance matrix.

-

HDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications -with Noise. Performs DBSCAN over varying epsilon values and integrates -the result to find a clustering that gives the best stability over epsilon. -This allows HDBSCAN to find clusters of varying densities (unlike DBSCAN), -and be more robust to parameter selection.

-
-

Parameters

-
-
min_cluster_sizeint, optional (default=5)

The minimum size of clusters; single linkage splits that contain -fewer points than this will be considered points “falling out” of a -cluster rather than a cluster splitting into two new clusters.

-
-
min_samplesint, optional (default=None)

The number of samples in a neighbourhood for a point to be -considered a core point.

-
-
metricstring, or callable, optional (default=’euclidean’)

The metric to use when calculating distance between instances in a -feature array. If metric is a string or callable, it must be one of -the options allowed by metrics.pairwise.pairwise_distances for its -metric parameter. -If metric is “precomputed”, X is assumed to be a distance matrix and -must be square.

-
-
pint, optional (default=None)

p value to use if using the minkowski metric.

-
-
alphafloat, optional (default=1.0)

A distance scaling parameter as used in robust single linkage. -See [3] for more information.

-
-
cluster_selection_epsilon: float, optional (default=0.0)
-

A distance threshold. Clusters below this value will be merged.

-
-

See [5] for more information.

-
-
algorithmstring, optional (default=’best’)

Exactly which algorithm to use; hdbscan has variants specialised -for different characteristics of the data. By default this is set -to best which chooses the “best” algorithm given the nature of -the data. You can force other options if you believe you know -better. Options are:

-
-
    -
  • best

  • -
  • generic

  • -
  • prims_kdtree

  • -
  • prims_balltree

  • -
  • boruvka_kdtree

  • -
  • boruvka_balltree

  • -
-
-
-
leaf_size: int, optional (default=40)

If using a space tree algorithm (kdtree, or balltree) the number -of points ina leaf node of the tree. This does not alter the -resulting clustering, but may have an effect on the runtime -of the algorithm.

-
-
memoryInstance of joblib.Memory or string (optional)

Used to cache the output of the computation of the tree. -By default, no caching is done. If a string is given, it is the -path to the caching directory.

-
-
approx_min_span_treebool, optional (default=True)

Whether to accept an only approximate minimum spanning tree. -For some algorithms this can provide a significant speedup, but -the resulting clustering may be of marginally lower quality. -If you are willing to sacrifice speed for correctness you may want -to explore this; in general this should be left at the default True.

-
-
gen_min_span_tree: bool, optional (default=False)

Whether to generate the minimum spanning tree with regard -to mutual reachability distance for later analysis.

-
-
core_dist_n_jobsint, optional (default=4)

Number of parallel jobs to run in core distance computations (if -supported by the specific algorithm). For core_dist_n_jobs -below -1, (n_cpus + 1 + core_dist_n_jobs) are used.

-
-
cluster_selection_methodstring, optional (default=’eom’)

The method used to select clusters from the condensed tree. The -standard approach for HDBSCAN* is to use an Excess of Mass algorithm -to find the most persistent clusters. Alternatively you can instead -select the clusters at the leaves of the tree – this provides the -most fine grained and homogeneous clusters. Options are:

-
-
    -
  • eom

  • -
  • leaf

  • -
-
-
-
allow_single_clusterbool, optional (default=False)

By default HDBSCAN* will not produce a single cluster, setting this -to True will override this and allow single cluster results in -the case that you feel this is a valid result for your dataset.

-
-
prediction_databoolean, optional

Whether to generate extra cached data for predicting labels or -membership vectors few new unseen points later. If you wish to -persist the clustering object for later re-use you probably want -to set this to True. -(default False)

-
-
match_reference_implementationbool, optional (default=False)

There exist some interpretational differences between this -HDBSCAN* implementation and the original authors reference -implementation in Java. This can result in very minor differences -in clustering results. Setting this flag to True will, at a some -performance cost, ensure that the clustering results match the -reference implementation.

-
-
connectivity{‘pairwise’, ‘knn’}, default=’knn’
-
The type of connectivity matrix to compute.
    -
  • ‘pairwise’ will compute the entire fully-connected graph of

  • -
-

pairwise distances between each set of points. This is the fastest -to compute and can be very fast for smaller datasets but requires -O(n^2) space.

-
    -
  • ‘knn’ will sparsify the fully-connected connectivity matrix to

  • -
-

save memory and enable much larger inputs. “n_neighbors” will -control the amount of memory used and the graph will be connected -automatically in the event “n_neighbors” was not large enough to -connect it.

-
-
-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import HDBSCAN
->>> import numpy as np
->>> X = np.array([[1, 2], [2, 2], [2, 3],
-...               [8, 7], [8, 8], [25, 80]])
->>> clustering = HDBSCAN(min_cluster_size=30, min_samples=2).fit(X)
->>> clustering
-HDBSCAN(min_cluster_size=30, min_samples=2)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering

-
-
-

References

- -
-
-_fit_cpu(X, y=None)
-
- -
-
-_fit_gpu(X, y=None, convert_dtype=True)
-
- -
-
-_fit_predict_cpu(X, y=None)
-
- -
-
-_fit_predict_gpu(X, y=None)
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/index.html b/docs/autoapi/dasf/ml/cluster/index.html deleted file mode 100644 index b28e3c7..0000000 --- a/docs/autoapi/dasf/ml/cluster/index.html +++ /dev/null @@ -1,1293 +0,0 @@ - - - - - - - dasf.ml.cluster — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - -

AgglomerativeClustering

Agglomerative Clustering

KMeans

K-Means clustering.

DBSCAN

Perform DBSCAN clustering from vector array or distance matrix.

SOM

Initializes a Self Organizing Maps.

SpectralClustering

Apply clustering to a projection of the normalized Laplacian.

-
-
-class dasf.ml.cluster.AgglomerativeClustering(n_clusters=2, affinity='euclidean', connectivity=None, linkage='single', memory=None, compute_full_tree='auto', distance_threshold=None, compute_distances=False, handle=None, verbose=False, n_neighbors=10, output_type=None, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Agglomerative Clustering

-

Recursively merges the pair of clusters that minimally increases -a given linkage distance.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint or None, default=2

The number of clusters to find. It must be None if -distance_threshold is not None.

-
-
affinitystr or callable, default=’euclidean’

Metric used to compute the linkage. Can be “euclidean”, “l1”, “l2”, -“manhattan”, “cosine”, or “precomputed”. -If linkage is “ward”, only “euclidean” is accepted. -If “precomputed”, a distance matrix (instead of a similarity matrix) -is needed as input for the fit method.

-
-
memorystr or object with the joblib.Memory interface, default=None

Used to cache the output of the computation of the tree. -By default, no caching is done. If a string is given, it is the -path to the caching directory.

-
-
connectivityarray-like or callable, default=None

Connectivity matrix. Defines for each sample the neighboring -samples following a given structure of the data. -This can be a connectivity matrix itself or a callable that transforms -the data into a connectivity matrix, such as derived from -kneighbors_graph. Default is None, i.e, the -hierarchical clustering algorithm is unstructured.

-
-
compute_full_tree‘auto’ or bool, default=’auto’

Stop early the construction of the tree at n_clusters. This is -useful to decrease computation time if the number of clusters is not -small compared to the number of samples. This option is useful only -when specifying a connectivity matrix. Note also that when varying the -number of clusters and using caching, it may be advantageous to compute -the full tree. It must be True if distance_threshold is not -None. By default compute_full_tree is “auto”, which is equivalent -to True when distance_threshold is not None or that n_clusters -is inferior to the maximum between 100 or 0.02 * n_samples. -Otherwise, “auto” is equivalent to False.

-
-
linkage{‘ward’, ‘complete’, ‘average’, ‘single’}, default=’ward’

Which linkage criterion to use. The linkage criterion determines which -distance to use between sets of observation. The algorithm will merge -the pairs of cluster that minimize this criterion.

-
    -
  • ‘ward’ minimizes the variance of the clusters being merged.

  • -
  • ‘average’ uses the average of the distances of each observation of -the two sets.

  • -
  • ‘complete’ or ‘maximum’ linkage uses the maximum distances between -all observations of the two sets.

  • -
  • ‘single’ uses the minimum of the distances between all observations -of the two sets.

  • -
-
-

New in version 0.20: Added the ‘single’ option

-
-
-
distance_thresholdfloat, default=None

The linkage distance threshold above which, clusters will not be -merged. If not None, n_clusters must be None and -compute_full_tree must be True.

-
-

New in version 0.21.

-
-
-
compute_distancesbool, default=False

Computes distances between clusters even if distance_threshold is not -used. This can be used to make dendrogram visualization, but introduces -a computational and memory overhead.

-
-

New in version 0.24.

-
-
-
n_neighborsint, default = 15

The number of neighbors to compute when connectivity = “knn”

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import AgglomerativeClustering
->>> import numpy as np
->>> X = np.array([[1, 2], [1, 4], [1, 0],
-...               [4, 2], [4, 4], [4, 0]])
->>> clustering = AgglomerativeClustering().fit(X)
->>> clustering
-AgglomerativeClustering()
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html -- https://docs.rapids.ai/api/cuml/stable/api.html#agglomerative-clustering

-
-
-_fit_cpu(X, y=None, convert_dtype=True)
-
- -
-
-_fit_gpu(X, y=None, convert_dtype=True)
-
- -
-
-_fit_predict_cpu(X, y=None)
-
- -
-
-_fit_predict_gpu(X, y=None)
-
- -
-
- -
-
-class dasf.ml.cluster.KMeans(n_clusters=8, init=None, n_init=None, max_iter=300, tol=0.0001, verbose=0, random_state=None, copy_x=True, algorithm='full', oversampling_factor=2.0, n_jobs=1, init_max_iter=None, max_samples_per_batch=32768, precompute_distances='auto', output_type=None, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

K-Means clustering.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint, default=8

The number of clusters to form as well as the number of -centroids to generate.

-
-
-

init : {‘k-means++’, ‘random’}, callable or array-like of shape (n_clusters, n_features), default=’k-means++’

-
-

Method for initialization:

-

‘k-means++’ : selects initial cluster centers for k-mean -clustering in a smart way to speed up convergence. See section -Notes in k_init for more details.

-

‘random’: choose n_clusters observations (rows) at random from data -for the initial centroids.

-

If an array is passed, it should be of shape (n_clusters, n_features) -and gives the initial centers.

-

If a callable is passed, it should take arguments X, n_clusters and a -random state and return an initialization.

-
-
-
n_initint, default=10

Number of time the k-means algorithm will be run with different -centroid seeds. The final results will be the best output of -n_init consecutive runs in terms of inertia.

-
-
max_iterint, default=300

Maximum number of iterations of the k-means algorithm for a -single run.

-
-
tolfloat, default=1e-4

Relative tolerance with regards to Frobenius norm of the difference -in the cluster centers of two consecutive iterations to declare -convergence.

-
-
precompute_distances{‘auto’, True, False}, default=’auto’

Precompute distances (faster but takes more memory).

-

‘auto’ : do not precompute distances if n_samples * n_clusters > 12 -million. This corresponds to about 100MB overhead per job using -double precision. IMPORTANT: This is used only in Dask ML version.

-

True : always precompute distances.

-

False : never precompute distances.

-
-
verboseint, default=0

Verbosity mode.

-
-
random_stateint, RandomState instance or None, default=None

Determines random number generation for centroid initialization. Use -an int to make the randomness deterministic. -See Glossary.

-
-
copy_xbool, default=True

When pre-computing distances it is more numerically accurate to center -the data first. If copy_x is True (default), then the original data is -not modified. If False, the original data is modified, and put back -before the function returns, but small numerical differences may be -introduced by subtracting and then adding the data mean. Note that if -the original data is not C-contiguous, a copy will be made even if -copy_x is False. If the original data is sparse, but not in CSR format, -a copy will be made even if copy_x is False.

-
-
n_jobsint, default=1

The number of OpenMP threads to use for the computation. Parallelism is -sample-wise on the main cython loop which assigns each sample to its -closest center. IMPORTANT: This is used only in Dask ML version.

-

None or -1 means using all processors.

-
-
init_max_iterint, default=None

Number of iterations for init step.

-
-
algorithm{“auto”, “full”, “elkan”}, default=”full”

K-means algorithm to use. The classical EM-style algorithm is “full”. -The “elkan” variation is more efficient on data with well-defined -clusters, by using the triangle inequality. However it’s more memory -intensive due to the allocation of an extra array of shape -(n_samples, n_clusters).

-

For now “auto” (kept for backward compatibiliy) chooses “elkan” but it -might change in the future for a better heuristic.

-
-

Changed in version 0.18: Added Elkan algorithm

-
-
-
oversampling_factorint, default=2

The amount of points to sample in scalable k-means++ initialization -for potential centroids. Increasing this value can lead to better -initial centroids at the cost of memory. The total number of centroids -sampled in scalable k-means++ is oversampling_factor * n_clusters * 8.

-
-
max_samples_per_batchint, default=32768

The number of data samples to use for batches of the pairwise distance -computation. This computation is done throughout both fit predict. The -default should suit most cases. The total number of elements in the -batched pairwise distance computation is max_samples_per_batch * -n_clusters. It might become necessary to lower this number when -n_clusters becomes prohibitively large.

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
-
-
-

See Also

-
-
MiniBatchKMeansAlternative online implementation that does incremental

updates of the centers positions using mini-batches. -For large scale learning (say n_samples > 10k) MiniBatchKMeans is -probably much faster than the default batch implementation.

-
-
-
-
-

Notes

-

The k-means problem is solved using either Lloyd’s or Elkan’s algorithm.

-

The average complexity is given by O(k n T), where n is the number of -samples and T is the number of iteration.

-

The worst case complexity is given by O(n^(k+2/p)) with -n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, -‘How slow is the k-means method?’ SoCG2006)

-

In practice, the k-means algorithm is very fast (one of the fastest -clustering algorithms available), but it falls in local minima. That’s why -it can be useful to restart it several times.

-

If the algorithm stops before fully converging (because of tol or -max_iter), labels_ and cluster_centers_ will not be consistent, -i.e. the cluster_centers_ will not be the means of the points in each -cluster. Also, the estimator will reassign labels_ after the last -iteration to make labels_ consistent with predict on the training -set.

-
-
-

Examples

-
>>> from dasf.ml.cluster import KMeans
->>> import numpy as np
->>> X = np.array([[1, 2], [1, 4], [1, 0],
-...               [10, 2], [10, 4], [10, 0]])
->>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
->>> kmeans.predict([[0, 0], [12, 3]])
-array([1, 0], dtype=int32)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html -- https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html -- https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering -- https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans

-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None)
-

Compute Dask k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None)
-

Compute Dask CuML k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-

Compute Scikit Learn k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None)
-

Compute CuML k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)
-

Compute cluster centers and predict cluster index for each sample using -Dask ML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, sample_weight=None)
-

Compute cluster centers and predict cluster index for each sample using -Dask CuML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-

Compute cluster centers and predict cluster index for each sample using -Scikit Learn.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_fit_predict_gpu(X, y=None, sample_weight=None)
-

Compute cluster centers and predict cluster index for each sample using -CuML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None)
-

Predict the closest cluster each sample in X belongs to using Dask ML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None)
-

Predict the closest cluster each sample in X belongs to using Dask -CuML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_predict_cpu(X, sample_weight=None)
-

Predict the closest cluster each sample in X belongs to using Scikit -Learn.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_predict_gpu(X, sample_weight=None)
-

Predict the closest cluster each sample in X belongs to using CuML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict2_cpu(X, sample_weight=None)
-

A block predict using Scikit Learn variant but for Dask.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict2_gpu(X, sample_weight=None)
-

A block predict using CuML variant but for Dask.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-abstract _predict2_cpu(X, sample_weight=None)
-
- -
-
-abstract _predict2_gpu(X, sample_weight=None)
-
- -
-
-predict2(sample_weight=None)
-
- -
-
- -
-
-class dasf.ml.cluster.DBSCAN(eps=0.5, leaf_size=40, metric='euclidean', min_samples=5, p=None, output_type=None, calc_core_sample_indices=True, verbose=False, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Perform DBSCAN clustering from vector array or distance matrix.

-

DBSCAN - Density-Based Spatial Clustering of Applications with Noise. -Finds core samples of high density and expands clusters from them. -Good for data which contains clusters of similar density.

-

Read more in the User Guide.

-
-

Parameters

-
-
epsfloat, default=0.5

The maximum distance between two samples for one to be considered -as in the neighborhood of the other. This is not a maximum bound -on the distances of points within a cluster. This is the most -important DBSCAN parameter to choose appropriately for your data set -and distance function.

-
-
min_samplesint, default=5

The number of samples (or total weight) in a neighborhood for a point -to be considered as a core point. This includes the point itself.

-
-
metricstring, or callable, default=’euclidean’

The metric to use when calculating distance between instances in a -feature array. If metric is a string or callable, it must be one of -the options allowed by sklearn.metrics.pairwise_distances() for -its metric parameter. -If metric is “precomputed”, X is assumed to be a distance matrix and -must be square. X may be a Glossary, in which -case only “nonzero” elements may be considered neighbors for DBSCAN.

-
-

New in version 0.17: metric precomputed to accept precomputed sparse matrix.

-
-
-
metric_paramsdict, default=None

Additional keyword arguments for the metric function.

-
-

New in version 0.19.

-
-
-
algorithm{‘auto’, ‘ball_tree’, ‘kd_tree’, ‘brute’}, default=’auto’

The algorithm to be used by the NearestNeighbors module -to compute pointwise distances and find nearest neighbors. -See NearestNeighbors module documentation for details.

-
-
leaf_sizeint, default=30

Leaf size passed to BallTree or cKDTree. This can affect the speed -of the construction and query, as well as the memory required -to store the tree. The optimal value depends -on the nature of the problem.

-
-
pfloat, default=None

The power of the Minkowski metric to be used to calculate distance -between points. If None, then p=2 (equivalent to the Euclidean -distance).

-
-
n_jobsint, default=None

The number of parallel jobs to run. -None means 1 unless in a joblib.parallel_backend context. --1 means using all processors. See Glossary -for more details.

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
calc_core_sample_indices(optional)boolean, default = True

Indicates whether the indices of the core samples should be calculated. -The the attribute core_sample_indices_ will not be used, setting this -to False will avoid unnecessary kernel launches.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import DBSCAN
->>> import numpy as np
->>> X = np.array([[1, 2], [2, 2], [2, 3],
-...               [8, 7], [8, 8], [25, 80]])
->>> clustering = DBSCAN(eps=3, min_samples=2).fit(X)
->>> clustering
-DBSCAN(eps=3, min_samples=2)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.DBSCAN.html#sklearn.cluster.DBSCAN -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan -- https://docs.rapids.ai/api/cuml/stable/api.html#dbscan-clustering

-
-
-

See Also

-
-
OPTICSA similar clustering at multiple values of eps. Our implementation

is optimized for memory usage.

-
-
-
-
-

References

-

Ester, M., H. P. Kriegel, J. Sander, and X. Xu, “A Density-Based -Algorithm for Discovering Clusters in Large Spatial Databases with Noise”. -In: Proceedings of the 2nd International Conference on Knowledge Discovery -and Data Mining, Portland, OR, AAAI Press, pp. 226-231. 1996

-

Schubert, E., Sander, J., Ester, M., Kriegel, H. P., & Xu, X. (2017). -DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. -ACM Transactions on Database Systems (TODS), 42(3), 19.

-
-
-_lazy_fit_gpu(X, y=None, out_dtype='int32')
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_gpu(X, y=None, out_dtype='int32')
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, out_dtype='int32')
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_gpu(X, y=None, out_dtype='int32')
-
- -
-
- -
-
-class dasf.ml.cluster.SOM(x, y, input_len, num_epochs=100, sigma=0, sigmaN=1, learning_rate=0.5, learning_rateN=0.01, decay_function='exponential', neighborhood_function='gaussian', std_coeff=0.5, topology='rectangular', activation_distance='euclidean', random_seed=None, n_parallel=0, compact_support=False, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Initializes a Self Organizing Maps.

-

A rule of thumb to set the size of the grid for a dimensionality -reduction task is that it should contain 5*sqrt(N) neurons -where N is the number of samples in the dataset to analyze.

-

E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 -hence a map 8-by-8 should perform well.

-
-

Parameters

-
-
xint

x dimension of the SOM.

-
-
yint

y dimension of the SOM.

-
-
input_lenint

Number of the elements of the vectors in input.

-
-
sigmafloat, default=min(x,y)/2

Spread of the neighborhood function, needs to be adequate -to the dimensions of the map.

-
-
sigmaNfloat, default=0.01

Spread of the neighborhood function at last iteration.

-
-
learning_ratefloat, default=0.5

initial learning rate.

-
-
learning_rateNfloat, default=0.01

final learning rate

-
-
decay_functionstring, default=’exponential’

Function that reduces learning_rate and sigma at each iteration. -Possible values: ‘exponential’, ‘linear’, ‘aymptotic’

-
-
neighborhood_functionstring, default=’gaussian’

Function that weights the neighborhood of a position in the map. -Possible values: ‘gaussian’, ‘mexican_hat’, ‘bubble’, ‘triangle’

-
-
topologystring, default=’rectangular’

Topology of the map. -Possible values: ‘rectangular’, ‘hexagonal’

-
-
activation_distancestring, default=’euclidean’

Distance used to activate the map. -Possible values: ‘euclidean’, ‘cosine’, ‘manhattan’

-
-
random_seedint, default=None

Random seed to use.

-
-
n_paralleluint, default=#max_CUDA_threads or 500*#CPUcores

Number of samples to be processed at a time. Setting a too low -value may drastically lower performance due to under-utilization, -setting a too high value increases memory usage without granting -any significant performance benefit.

-
-
xpnumpy or cupy, default=cupy if can be imported else numpy

Use numpy (CPU) or cupy (GPU) for computations.

-
-
std_coeff: float, default=0.5

Used to calculate gausssian exponent denominator: -d = 2*std_coeff**2*sigma**2

-
-
compact_support: bool, default=False

Cut the neighbor function to 0 beyond neighbor radius sigma

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import SOM
->>> import numpy as np
->>> X = np.array([[1, 1], [2, 1], [1, 0],
-...               [4, 7], [3, 5], [3, 6]])
->>> som = SOM(x=3, y=2, input_len=2,
-...           num_epochs=100).fit(X)
->>> som
-SOM(x=3, y=2, input_len=2, num_epochs=100)
-
-
-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_gpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None)
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None)
-
- -
-
-_predict_cpu(X, sample_weight=None)
-
- -
-
-_predict_gpu(X, sample_weight=None)
-
- -
-
-_lazy_quantization_error_cpu(X)
-
- -
-
-_lazy_quantization_error_gpu(X)
-
- -
-
-_quantization_error_cpu(X)
-
- -
-
-_quantization_error_gpu(X)
-
- -
-
-quantization_error(X)
-
- -
-
- -
-
-class dasf.ml.cluster.SpectralClustering(n_clusters=8, eigen_solver=None, random_state=None, n_init=10, gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=None, n_components=None, persist_embedding=False, kmeans_params=None, verbose=False, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Apply clustering to a projection of the normalized Laplacian.

-

In practice Spectral Clustering is very useful when the structure of -the individual clusters is highly non-convex, or more generally when -a measure of the center and spread of the cluster is not a suitable -description of the complete cluster, such as when clusters are -nested circles on the 2D plane.

-

If the affinity matrix is the adjacency matrix of a graph, this method -can be used to find normalized graph cuts.

-

When calling fit, an affinity matrix is constructed using either -a kernel function such the Gaussian (aka RBF) kernel with Euclidean -distance d(X, X):

-
np.exp(-gamma * d(X,X) ** 2)
-
-
-

or a k-nearest neighbors connectivity matrix.

-

Alternatively, a user-provided affinity matrix can be specified by -setting affinity='precomputed'.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint, default=8

The dimension of the projection subspace.

-
-
eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’}, default=None

The eigenvalue decomposition strategy to use. AMG requires pyamg -to be installed. It can be faster on very large, sparse problems, -but may also lead to instabilities. If None, then 'arpack' is -used.

-
-
n_componentsint, default=n_clusters

Number of eigenvectors to use for the spectral embedding

-
-
random_stateint, RandomState instance, default=None

A pseudo random number generator used for the initialization of the -lobpcg eigenvectors decomposition when eigen_solver='amg' and by -the K-Means initialization. Use an int to make the randomness -deterministic. -See Glossary.

-
-
n_initint, default=10

Number of time the k-means algorithm will be run with different -centroid seeds. The final results will be the best output of n_init -consecutive runs in terms of inertia. Only used if -assign_labels='kmeans'.

-
-
gammafloat, default=1.0

Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. -Ignored for affinity='nearest_neighbors'.

-
-
affinitystr or callable, default=’rbf’
-
How to construct the affinity matrix.
    -
  • ‘nearest_neighbors’: construct the affinity matrix by computing a -graph of nearest neighbors.

  • -
  • ‘rbf’: construct the affinity matrix using a radial basis function -(RBF) kernel.

  • -
  • ‘precomputed’: interpret X as a precomputed affinity matrix, -where larger values indicate greater similarity between instances.

  • -
  • ‘precomputed_nearest_neighbors’: interpret X as a sparse graph -of precomputed distances, and construct a binary affinity matrix -from the n_neighbors nearest neighbors of each instance.

  • -
  • one of the kernels supported by -pairwise_kernels().

  • -
-
-
-

Only kernels that produce similarity scores (non-negative values that -increase with similarity) should be used. This property is not checked -by the clustering algorithm.

-
-
n_neighborsint, default=10

Number of neighbors to use when constructing the affinity matrix using -the nearest neighbors method. Ignored for affinity='rbf'.

-
-
eigen_tolfloat, default=0.0

Stopping criterion for eigendecomposition of the Laplacian matrix -when eigen_solver='arpack'.

-
-
assign_labels{‘kmeans’, ‘discretize’}, default=’kmeans’

The strategy for assigning labels in the embedding space. There are two -ways to assign labels after the Laplacian embedding. k-means is a -popular choice, but it can be sensitive to initialization. -Discretization is another approach which is less sensitive to random -initialization.

-
-
degreefloat, default=3

Degree of the polynomial kernel. Ignored by other kernels.

-
-
coef0float, default=1

Zero coefficient for polynomial and sigmoid kernels. -Ignored by other kernels.

-
-
kernel_paramsdict of str to any, default=None

Parameters (keyword arguments) and values for kernel passed as -callable object. Ignored by other kernels.

-
-
n_jobsint, default=None

The number of parallel jobs to run when affinity=’nearest_neighbors’ -or affinity=’precomputed_nearest_neighbors’. The neighbors search -will be done in parallel. -None means 1 unless in a joblib.parallel_backend context. --1 means using all processors. See Glossary -for more details.

-
-
verbosebool, default=False

Verbosity mode.

-
-

New in version 0.24.

-
-
-
persist_embeddingbool

Whether to persist the intermediate n_samples x n_components array used -for clustering.

-
-
kmeans_paramsdictionary of string to any, optional

Keyword arguments for the KMeans clustering used for the final -clustering.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import SpectralClustering
->>> import numpy as np
->>> X = np.array([[1, 1], [2, 1], [1, 0],
-...               [4, 7], [3, 5], [3, 6]])
->>> clustering = SpectralClustering(n_clusters=2,
-...         assign_labels='discretize',
-...         random_state=0).fit(X)
->>> clustering
-SpectralClustering(assign_labels='discretize', n_clusters=2,
-    random_state=0)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering -- https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html

-
-
-

Notes

-

A distance matrix for which 0 indicates identical elements and high values -indicate very dissimilar elements can be transformed into an affinity / -similarity matrix that is well-suited for the algorithm by -applying the Gaussian (aka RBF, heat) kernel:

-
np.exp(- dist_matrix ** 2 / (2. * delta ** 2))
-
-
-

where delta is a free parameter representing the width of the Gaussian -kernel.

-

An alternative is to take a symmetric version of the k-nearest neighbors -connectivity matrix of the points.

-

If the pyamg package is installed, it is used: this greatly -speeds up computation.

-
-
-

References

- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/kmeans/index.html b/docs/autoapi/dasf/ml/cluster/kmeans/index.html deleted file mode 100644 index 8e6b460..0000000 --- a/docs/autoapi/dasf/ml/cluster/kmeans/index.html +++ /dev/null @@ -1,690 +0,0 @@ - - - - - - - dasf.ml.cluster.kmeans — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.kmeans

-
-

Module Contents

-
-

Classes

- - - - - - -

KMeans

K-Means clustering.

-
-
-class dasf.ml.cluster.kmeans.KMeans(n_clusters=8, init=None, n_init=None, max_iter=300, tol=0.0001, verbose=0, random_state=None, copy_x=True, algorithm='full', oversampling_factor=2.0, n_jobs=1, init_max_iter=None, max_samples_per_batch=32768, precompute_distances='auto', output_type=None, **kwargs)[source]
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

K-Means clustering.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint, default=8

The number of clusters to form as well as the number of -centroids to generate.

-
-
-

init : {‘k-means++’, ‘random’}, callable or array-like of shape (n_clusters, n_features), default=’k-means++’

-
-

Method for initialization:

-

‘k-means++’ : selects initial cluster centers for k-mean -clustering in a smart way to speed up convergence. See section -Notes in k_init for more details.

-

‘random’: choose n_clusters observations (rows) at random from data -for the initial centroids.

-

If an array is passed, it should be of shape (n_clusters, n_features) -and gives the initial centers.

-

If a callable is passed, it should take arguments X, n_clusters and a -random state and return an initialization.

-
-
-
n_initint, default=10

Number of time the k-means algorithm will be run with different -centroid seeds. The final results will be the best output of -n_init consecutive runs in terms of inertia.

-
-
max_iterint, default=300

Maximum number of iterations of the k-means algorithm for a -single run.

-
-
tolfloat, default=1e-4

Relative tolerance with regards to Frobenius norm of the difference -in the cluster centers of two consecutive iterations to declare -convergence.

-
-
precompute_distances{‘auto’, True, False}, default=’auto’

Precompute distances (faster but takes more memory).

-

‘auto’ : do not precompute distances if n_samples * n_clusters > 12 -million. This corresponds to about 100MB overhead per job using -double precision. IMPORTANT: This is used only in Dask ML version.

-

True : always precompute distances.

-

False : never precompute distances.

-
-
verboseint, default=0

Verbosity mode.

-
-
random_stateint, RandomState instance or None, default=None

Determines random number generation for centroid initialization. Use -an int to make the randomness deterministic. -See Glossary.

-
-
copy_xbool, default=True

When pre-computing distances it is more numerically accurate to center -the data first. If copy_x is True (default), then the original data is -not modified. If False, the original data is modified, and put back -before the function returns, but small numerical differences may be -introduced by subtracting and then adding the data mean. Note that if -the original data is not C-contiguous, a copy will be made even if -copy_x is False. If the original data is sparse, but not in CSR format, -a copy will be made even if copy_x is False.

-
-
n_jobsint, default=1

The number of OpenMP threads to use for the computation. Parallelism is -sample-wise on the main cython loop which assigns each sample to its -closest center. IMPORTANT: This is used only in Dask ML version.

-

None or -1 means using all processors.

-
-
init_max_iterint, default=None

Number of iterations for init step.

-
-
algorithm{“auto”, “full”, “elkan”}, default=”full”

K-means algorithm to use. The classical EM-style algorithm is “full”. -The “elkan” variation is more efficient on data with well-defined -clusters, by using the triangle inequality. However it’s more memory -intensive due to the allocation of an extra array of shape -(n_samples, n_clusters).

-

For now “auto” (kept for backward compatibiliy) chooses “elkan” but it -might change in the future for a better heuristic.

-
-

Changed in version 0.18: Added Elkan algorithm

-
-
-
oversampling_factorint, default=2

The amount of points to sample in scalable k-means++ initialization -for potential centroids. Increasing this value can lead to better -initial centroids at the cost of memory. The total number of centroids -sampled in scalable k-means++ is oversampling_factor * n_clusters * 8.

-
-
max_samples_per_batchint, default=32768

The number of data samples to use for batches of the pairwise distance -computation. This computation is done throughout both fit predict. The -default should suit most cases. The total number of elements in the -batched pairwise distance computation is max_samples_per_batch * -n_clusters. It might become necessary to lower this number when -n_clusters becomes prohibitively large.

-
-
output_type{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’}, default=None

Variable to control output type of the results and attributes of the -estimator. If None, it’ll inherit the output type set at the module -level, cuml.global_settings.output_type. See Output Data Type -Configuration for more info.

-
-
-
-
-

See Also

-
-
MiniBatchKMeansAlternative online implementation that does incremental

updates of the centers positions using mini-batches. -For large scale learning (say n_samples > 10k) MiniBatchKMeans is -probably much faster than the default batch implementation.

-
-
-
-
-

Notes

-

The k-means problem is solved using either Lloyd’s or Elkan’s algorithm.

-

The average complexity is given by O(k n T), where n is the number of -samples and T is the number of iteration.

-

The worst case complexity is given by O(n^(k+2/p)) with -n = n_samples, p = n_features. (D. Arthur and S. Vassilvitskii, -‘How slow is the k-means method?’ SoCG2006)

-

In practice, the k-means algorithm is very fast (one of the fastest -clustering algorithms available), but it falls in local minima. That’s why -it can be useful to restart it several times.

-

If the algorithm stops before fully converging (because of tol or -max_iter), labels_ and cluster_centers_ will not be consistent, -i.e. the cluster_centers_ will not be the means of the points in each -cluster. Also, the estimator will reassign labels_ after the last -iteration to make labels_ consistent with predict on the training -set.

-
-
-

Examples

-
>>> from dasf.ml.cluster import KMeans
->>> import numpy as np
->>> X = np.array([[1, 2], [1, 4], [1, 0],
-...               [10, 2], [10, 4], [10, 0]])
->>> kmeans = KMeans(n_clusters=2, random_state=0).fit(X)
->>> kmeans.predict([[0, 0], [12, 3]])
-array([1, 0], dtype=int32)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html -- https://ml.dask.org/modules/generated/dask_ml.cluster.KMeans.html -- https://docs.rapids.ai/api/cuml/stable/api.html#k-means-clustering -- https://docs.rapids.ai/api/cuml/stable/api.html#cuml.dask.cluster.KMeans

-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None)[source]
-

Compute Dask k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None)[source]
-

Compute Dask CuML k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)[source]
-

Compute Scikit Learn k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None)[source]
-

Compute CuML k-means clustering.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

Training instances to cluster. It must be noted that the data -will be converted to C ordering, which will cause a memory -copy if the given data is not C-contiguous. -If a sparse matrix is passed, a copy will be made if it&apos;s not in -CSR format.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
self

Fitted estimator.

-
-
-
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)[source]
-

Compute cluster centers and predict cluster index for each sample using -Dask ML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, sample_weight=None)[source]
-

Compute cluster centers and predict cluster index for each sample using -Dask CuML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)[source]
-

Compute cluster centers and predict cluster index for each sample using -Scikit Learn.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_fit_predict_gpu(X, y=None, sample_weight=None)[source]
-

Compute cluster centers and predict cluster index for each sample using -CuML.

-

Convenience method; equivalent to calling fit(X) followed by -predict(X).

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to transform.

-
-
yIgnored

Not used, present here for API consistency by convention.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None)[source]
-

Predict the closest cluster each sample in X belongs to using Dask ML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightIgnored

Not used, present here for API consistency by convention.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None)[source]
-

Predict the closest cluster each sample in X belongs to using Dask -CuML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_predict_cpu(X, sample_weight=None)[source]
-

Predict the closest cluster each sample in X belongs to using Scikit -Learn.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_predict_gpu(X, sample_weight=None)[source]
-

Predict the closest cluster each sample in X belongs to using CuML.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict2_cpu(X, sample_weight=None)[source]
-

A block predict using Scikit Learn variant but for Dask.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-_lazy_predict2_gpu(X, sample_weight=None)[source]
-

A block predict using CuML variant but for Dask.

-

In the vector quantization literature, cluster_centers_ is called -the code book and each value returned by predict is the index of -the closest code in the code book.

-
-
Parameters
-
-
X{array-like, sparse matrix} of shape (n_samples, n_features)

New data to predict.

-
-
sample_weightarray-like of shape (n_samples,), default=None

The weights for each observation in X. If None, all observations -are assigned equal weight.

-
-
-
-
-
Returns
-
-
labelsndarray of shape (n_samples,)

Index of the cluster each sample belongs to.

-
-
-
-
- -
-
-abstract _predict2_cpu(X, sample_weight=None)[source]
-
- -
-
-abstract _predict2_gpu(X, sample_weight=None)[source]
-
- -
-
-predict2(sample_weight=None)[source]
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/som/index.html b/docs/autoapi/dasf/ml/cluster/som/index.html deleted file mode 100644 index cad59b0..0000000 --- a/docs/autoapi/dasf/ml/cluster/som/index.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - dasf.ml.cluster.som — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.som

-
-

Module Contents

-
-

Classes

- - - - - - -

SOM

Initializes a Self Organizing Maps.

-
-
-class dasf.ml.cluster.som.SOM(x, y, input_len, num_epochs=100, sigma=0, sigmaN=1, learning_rate=0.5, learning_rateN=0.01, decay_function='exponential', neighborhood_function='gaussian', std_coeff=0.5, topology='rectangular', activation_distance='euclidean', random_seed=None, n_parallel=0, compact_support=False, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Initializes a Self Organizing Maps.

-

A rule of thumb to set the size of the grid for a dimensionality -reduction task is that it should contain 5*sqrt(N) neurons -where N is the number of samples in the dataset to analyze.

-

E.g. if your dataset has 150 samples, 5*sqrt(150) = 61.23 -hence a map 8-by-8 should perform well.

-
-

Parameters

-
-
xint

x dimension of the SOM.

-
-
yint

y dimension of the SOM.

-
-
input_lenint

Number of the elements of the vectors in input.

-
-
sigmafloat, default=min(x,y)/2

Spread of the neighborhood function, needs to be adequate -to the dimensions of the map.

-
-
sigmaNfloat, default=0.01

Spread of the neighborhood function at last iteration.

-
-
learning_ratefloat, default=0.5

initial learning rate.

-
-
learning_rateNfloat, default=0.01

final learning rate

-
-
decay_functionstring, default=’exponential’

Function that reduces learning_rate and sigma at each iteration. -Possible values: ‘exponential’, ‘linear’, ‘aymptotic’

-
-
neighborhood_functionstring, default=’gaussian’

Function that weights the neighborhood of a position in the map. -Possible values: ‘gaussian’, ‘mexican_hat’, ‘bubble’, ‘triangle’

-
-
topologystring, default=’rectangular’

Topology of the map. -Possible values: ‘rectangular’, ‘hexagonal’

-
-
activation_distancestring, default=’euclidean’

Distance used to activate the map. -Possible values: ‘euclidean’, ‘cosine’, ‘manhattan’

-
-
random_seedint, default=None

Random seed to use.

-
-
n_paralleluint, default=#max_CUDA_threads or 500*#CPUcores

Number of samples to be processed at a time. Setting a too low -value may drastically lower performance due to under-utilization, -setting a too high value increases memory usage without granting -any significant performance benefit.

-
-
xpnumpy or cupy, default=cupy if can be imported else numpy

Use numpy (CPU) or cupy (GPU) for computations.

-
-
std_coeff: float, default=0.5

Used to calculate gausssian exponent denominator: -d = 2*std_coeff**2*sigma**2

-
-
compact_support: bool, default=False

Cut the neighbor function to 0 beyond neighbor radius sigma

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import SOM
->>> import numpy as np
->>> X = np.array([[1, 1], [2, 1], [1, 0],
-...               [4, 7], [3, 5], [3, 6]])
->>> som = SOM(x=3, y=2, input_len=2,
-...           num_epochs=100).fit(X)
->>> som
-SOM(x=3, y=2, input_len=2, num_epochs=100)
-
-
-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_gpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_gpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None)
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None)
-
- -
-
-_predict_cpu(X, sample_weight=None)
-
- -
-
-_predict_gpu(X, sample_weight=None)
-
- -
-
-_lazy_quantization_error_cpu(X)
-
- -
-
-_lazy_quantization_error_gpu(X)
-
- -
-
-_quantization_error_cpu(X)
-
- -
-
-_quantization_error_gpu(X)
-
- -
-
-quantization_error(X)
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/cluster/spectral/index.html b/docs/autoapi/dasf/ml/cluster/spectral/index.html deleted file mode 100644 index 418bb21..0000000 --- a/docs/autoapi/dasf/ml/cluster/spectral/index.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - dasf.ml.cluster.spectral — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.cluster.spectral

-
-

Module Contents

-
-

Classes

- - - - - - -

SpectralClustering

Apply clustering to a projection of the normalized Laplacian.

-
-
-class dasf.ml.cluster.spectral.SpectralClustering(n_clusters=8, eigen_solver=None, random_state=None, n_init=10, gamma=1.0, affinity='rbf', n_neighbors=10, eigen_tol=0.0, assign_labels='kmeans', degree=3, coef0=1, kernel_params=None, n_jobs=None, n_components=None, persist_embedding=False, kmeans_params=None, verbose=False, **kwargs)
-

Bases: dasf.ml.cluster.classifier.ClusterClassifier

-

Apply clustering to a projection of the normalized Laplacian.

-

In practice Spectral Clustering is very useful when the structure of -the individual clusters is highly non-convex, or more generally when -a measure of the center and spread of the cluster is not a suitable -description of the complete cluster, such as when clusters are -nested circles on the 2D plane.

-

If the affinity matrix is the adjacency matrix of a graph, this method -can be used to find normalized graph cuts.

-

When calling fit, an affinity matrix is constructed using either -a kernel function such the Gaussian (aka RBF) kernel with Euclidean -distance d(X, X):

-
np.exp(-gamma * d(X,X) ** 2)
-
-
-

or a k-nearest neighbors connectivity matrix.

-

Alternatively, a user-provided affinity matrix can be specified by -setting affinity='precomputed'.

-

Read more in the User Guide.

-
-

Parameters

-
-
n_clustersint, default=8

The dimension of the projection subspace.

-
-
eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’}, default=None

The eigenvalue decomposition strategy to use. AMG requires pyamg -to be installed. It can be faster on very large, sparse problems, -but may also lead to instabilities. If None, then 'arpack' is -used.

-
-
n_componentsint, default=n_clusters

Number of eigenvectors to use for the spectral embedding

-
-
random_stateint, RandomState instance, default=None

A pseudo random number generator used for the initialization of the -lobpcg eigenvectors decomposition when eigen_solver='amg' and by -the K-Means initialization. Use an int to make the randomness -deterministic. -See Glossary.

-
-
n_initint, default=10

Number of time the k-means algorithm will be run with different -centroid seeds. The final results will be the best output of n_init -consecutive runs in terms of inertia. Only used if -assign_labels='kmeans'.

-
-
gammafloat, default=1.0

Kernel coefficient for rbf, poly, sigmoid, laplacian and chi2 kernels. -Ignored for affinity='nearest_neighbors'.

-
-
affinitystr or callable, default=’rbf’
-
How to construct the affinity matrix.
    -
  • ‘nearest_neighbors’: construct the affinity matrix by computing a -graph of nearest neighbors.

  • -
  • ‘rbf’: construct the affinity matrix using a radial basis function -(RBF) kernel.

  • -
  • ‘precomputed’: interpret X as a precomputed affinity matrix, -where larger values indicate greater similarity between instances.

  • -
  • ‘precomputed_nearest_neighbors’: interpret X as a sparse graph -of precomputed distances, and construct a binary affinity matrix -from the n_neighbors nearest neighbors of each instance.

  • -
  • one of the kernels supported by -pairwise_kernels().

  • -
-
-
-

Only kernels that produce similarity scores (non-negative values that -increase with similarity) should be used. This property is not checked -by the clustering algorithm.

-
-
n_neighborsint, default=10

Number of neighbors to use when constructing the affinity matrix using -the nearest neighbors method. Ignored for affinity='rbf'.

-
-
eigen_tolfloat, default=0.0

Stopping criterion for eigendecomposition of the Laplacian matrix -when eigen_solver='arpack'.

-
-
assign_labels{‘kmeans’, ‘discretize’}, default=’kmeans’

The strategy for assigning labels in the embedding space. There are two -ways to assign labels after the Laplacian embedding. k-means is a -popular choice, but it can be sensitive to initialization. -Discretization is another approach which is less sensitive to random -initialization.

-
-
degreefloat, default=3

Degree of the polynomial kernel. Ignored by other kernels.

-
-
coef0float, default=1

Zero coefficient for polynomial and sigmoid kernels. -Ignored by other kernels.

-
-
kernel_paramsdict of str to any, default=None

Parameters (keyword arguments) and values for kernel passed as -callable object. Ignored by other kernels.

-
-
n_jobsint, default=None

The number of parallel jobs to run when affinity=’nearest_neighbors’ -or affinity=’precomputed_nearest_neighbors’. The neighbors search -will be done in parallel. -None means 1 unless in a joblib.parallel_backend context. --1 means using all processors. See Glossary -for more details.

-
-
verbosebool, default=False

Verbosity mode.

-
-

New in version 0.24.

-
-
-
persist_embeddingbool

Whether to persist the intermediate n_samples x n_components array used -for clustering.

-
-
kmeans_paramsdictionary of string to any, optional

Keyword arguments for the KMeans clustering used for the final -clustering.

-
-
-
-
-

Examples

-
>>> from dasf.ml.cluster import SpectralClustering
->>> import numpy as np
->>> X = np.array([[1, 1], [2, 1], [1, 0],
-...               [4, 7], [3, 5], [3, 6]])
->>> clustering = SpectralClustering(n_clusters=2,
-...         assign_labels='discretize',
-...         random_state=0).fit(X)
->>> clustering
-SpectralClustering(assign_labels='discretize', n_clusters=2,
-    random_state=0)
-
-
-

For further informations see: -- https://scikit-learn.org/stable/modules/generated/sklearn.cluster.SpectralClustering.html#sklearn.cluster.SpectralClustering -- https://ml.dask.org/modules/generated/dask_ml.cluster.SpectralClustering.html

-
-
-

Notes

-

A distance matrix for which 0 indicates identical elements and high values -indicate very dissimilar elements can be transformed into an affinity / -similarity matrix that is well-suited for the algorithm by -applying the Gaussian (aka RBF, heat) kernel:

-
np.exp(- dist_matrix ** 2 / (2. * delta ** 2))
-
-
-

where delta is a free parameter representing the width of the Gaussian -kernel.

-

An alternative is to take a symmetric version of the k-nearest neighbors -connectivity matrix of the points.

-

If the pyamg package is installed, it is used: this greatly -speeds up computation.

-
-
-

References

- -
-
-_fit_cpu(X, y=None, sample_weight=None)
-
- -
-
-_lazy_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
-_fit_predict_cpu(X, y=None, sample_weight=None)
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/core/index.html b/docs/autoapi/dasf/ml/core/index.html deleted file mode 100644 index aed3c86..0000000 --- a/docs/autoapi/dasf/ml/core/index.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - dasf.ml.core — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.core

-
-

Module Contents

-
-

Classes

- - - - - - -

MLGeneric

-
-
-class dasf.ml.core.MLGeneric(name, checkpoint=False, **kwargs)[source]
-
-
-dump(model)[source]
-
- -
-
-load(model)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/decomposition/index.html b/docs/autoapi/dasf/ml/decomposition/index.html deleted file mode 100644 index 3668f1d..0000000 --- a/docs/autoapi/dasf/ml/decomposition/index.html +++ /dev/null @@ -1,243 +0,0 @@ - - - - - - - dasf.ml.decomposition — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.decomposition

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

PCA

-
-
-class dasf.ml.decomposition.PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.FitTransform, dasf.transforms.base.TargeteredTransform

-
-
-_lazy_fit_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_get_covariance_cpu()[source]
-
- -
-
-get_covariance()[source]
-
- -
-
-_get_precision_cpu()[source]
-
- -
-
-get_precision()[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/decomposition/pca/index.html b/docs/autoapi/dasf/ml/decomposition/pca/index.html deleted file mode 100644 index eb2cc2f..0000000 --- a/docs/autoapi/dasf/ml/decomposition/pca/index.html +++ /dev/null @@ -1,236 +0,0 @@ - - - - - - - dasf.ml.decomposition.pca — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.decomposition.pca

-
-

Module Contents

-
-

Classes

- - - - - - -

PCA

-
-
-class dasf.ml.decomposition.pca.PCA(n_components=None, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', random_state=None, *args, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.FitTransform, dasf.transforms.base.TargeteredTransform

-
-
-_lazy_fit_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_fit_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_fit_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_lazy_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_transform_cpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_transform_gpu(X, y=None, sample_weights=None)[source]
-
- -
-
-_get_covariance_cpu()[source]
-
- -
-
-get_covariance()[source]
-
- -
-
-_get_precision_cpu()[source]
-
- -
-
-get_precision()[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/clusters/dask/index.html b/docs/autoapi/dasf/ml/dl/clusters/dask/index.html deleted file mode 100644 index 110e01e..0000000 --- a/docs/autoapi/dasf/ml/dl/clusters/dask/index.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - dasf.ml.dl.clusters.dask — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl.clusters.dask

-
-

Module Contents

-
-

Classes

- - - - - - -

DaskClusterEnvironment

Create a Dask Cluster environment for workers

-
-
-class dasf.ml.dl.clusters.dask.DaskClusterEnvironment(metadata=None)[source]
-

Bases: pytorch_lightning.plugins.environments.ClusterEnvironment

-

Create a Dask Cluster environment for workers

-

metadata – dictionary containing all data related to workers.

-
-
-property creates_processes_externally: bool
-

Return True if the cluster is managed (you don’t launch processes -yourself).

-
-
Return type:
-

bool

-
-
-
- -
-
-property main_address: str
-

Return master worker address.

-
-
Return type:
-

str

-
-
-
- -
-
-property main_port: int
-

Return master worker port.

-
-
Return type:
-

int

-
-
-
- -
-
-detect()[source]
-

Detects the environment settings corresponding to this cluster and returns True if they match.

-
-
Return type:
-

bool

-
-
-
- -
-
-creates_children()[source]
-

Fork children when generate a cluster.

-
-
Return type:
-

bool

-
-
-
- -
-
-world_size()[source]
-

Return worker world size.

-
-
Return type:
-

int

-
-
-
- -
-
-global_rank()[source]
-

Return worker global rank.

-
-
Return type:
-

int

-
-
-
- -
-
-local_rank()[source]
-

Return worker local rank.

-
-
Return type:
-

int

-
-
-
- -
-
-node_rank()[source]
-

Return worker node rank (which is similar to global rank).

-
-
Return type:
-

int

-
-
-
- -
-
-set_world_size(size)[source]
-
-
Parameters:
-

size (int) –

-
-
Return type:
-

None

-
-
-
- -
-
-set_global_rank(rank)[source]
-
-
Parameters:
-

rank (int) –

-
-
Return type:
-

None

-
-
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/clusters/index.html b/docs/autoapi/dasf/ml/dl/clusters/index.html deleted file mode 100644 index 7188a74..0000000 --- a/docs/autoapi/dasf/ml/dl/clusters/index.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - dasf.ml.dl.clusters — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl.clusters

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

DaskClusterEnvironment

Create a Dask Cluster environment for workers

-
-
-class dasf.ml.dl.clusters.DaskClusterEnvironment(metadata=None)[source]
-

Bases: pytorch_lightning.plugins.environments.ClusterEnvironment

-

Create a Dask Cluster environment for workers

-

metadata – dictionary containing all data related to workers.

-
-
-property creates_processes_externally: bool
-

Return True if the cluster is managed (you don’t launch processes -yourself).

-
-
Return type:
-

bool

-
-
-
- -
-
-property main_address: str
-

Return master worker address.

-
-
Return type:
-

str

-
-
-
- -
-
-property main_port: int
-

Return master worker port.

-
-
Return type:
-

int

-
-
-
- -
-
-detect()[source]
-

Detects the environment settings corresponding to this cluster and returns True if they match.

-
-
Return type:
-

bool

-
-
-
- -
-
-creates_children()[source]
-

Fork children when generate a cluster.

-
-
Return type:
-

bool

-
-
-
- -
-
-world_size()[source]
-

Return worker world size.

-
-
Return type:
-

int

-
-
-
- -
-
-global_rank()[source]
-

Return worker global rank.

-
-
Return type:
-

int

-
-
-
- -
-
-local_rank()[source]
-

Return worker local rank.

-
-
Return type:
-

int

-
-
-
- -
-
-node_rank()[source]
-

Return worker node rank (which is similar to global rank).

-
-
Return type:
-

int

-
-
-
- -
-
-set_world_size(size)[source]
-
-
Parameters:
-

size (int) –

-
-
Return type:
-

None

-
-
-
- -
-
-set_global_rank(rank)[source]
-
-
Parameters:
-

rank (int) –

-
-
Return type:
-

None

-
-
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/index.html b/docs/autoapi/dasf/ml/dl/index.html deleted file mode 100644 index 57b4ec5..0000000 --- a/docs/autoapi/dasf/ml/dl/index.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - - dasf.ml.dl — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl

-
-

Subpackages

- -
-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

NeuralNetClassifier

-
-
-class dasf.ml.dl.NeuralNetClassifier(model, max_iter=100, batch_size=32)[source]
-

Bases: dasf.transforms.base.Fit

-
-
-_lazy_fit_generic(X, y, accel, ngpus)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None)[source]
-
- -
-
-_lazy_fit_cpu(X, y=None)[source]
-
- -
-
-__fit_generic(X, y, accel, ngpus)
-
- -
-
-_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_cpu(X, y=None)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/models/devconvnet/index.html b/docs/autoapi/dasf/ml/dl/models/devconvnet/index.html deleted file mode 100644 index 6486422..0000000 --- a/docs/autoapi/dasf/ml/dl/models/devconvnet/index.html +++ /dev/null @@ -1,737 +0,0 @@ - - - - - - - dasf.ml.dl.models.devconvnet — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl.models.devconvnet

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - -

MyAccuracy

Base class for all metrics present in the Metrics API.

NNModule

Base class for all neural network modules.

TorchPatchDeConvNet

Base class for all neural network modules.

TorchPatchDeConvNetSkip

Base class for all neural network modules.

TorchSectionDeConvNet

Base class for all neural network modules.

TorchSectionDeConvNetSkip

Base class for all neural network modules.

-
-
-class dasf.ml.dl.models.devconvnet.MyAccuracy(dist_sync_on_step=False)[source]
-

Bases: torchmetrics.Metric

-

Base class for all metrics present in the Metrics API.

-

Implements add_state(), forward(), reset() and a few other things to -handle distributed synchronization and per-step metric computation.

-

Override update() and compute() functions to implement your own metric. Use -add_state() to register metric state variables which keep track of state on each -call of update() and are synchronized across processes when compute() is called.

-
-
Note:

Metric state variables can either be Tensor or an empty list which can we used -to store Tensor.

-
-
Note:

Different metrics only override update() and not forward(). A call to update() -is valid, but it won’t return the metric value at the current step. A call to forward() -automatically calls update() and also returns the metric value at the current step.

-
-
Args:

kwargs: additional keyword arguments, see Metric kwargs for more info.

-
-
    -
  • -
    compute_on_cpu: If metric state should be stored on CPU during computations. Only works

    for list states.

    -
    -
    -
  • -
  • dist_sync_on_step: If metric state should synchronize on forward(). Default is False

  • -
  • process_group: The process group on which the synchronization is called. Default is the world.

  • -
  • -
    dist_sync_fn: function that performs the allgather option on the metric state. Default is an

    custom implementation that calls torch.distributed.all_gather internally.

    -
    -
    -
  • -
  • -
    distributed_available_fn: function that checks if the distributed backend is available.

    Defaults to a check of torch.distributed.is_available() and torch.distributed.is_initialized().

    -
    -
    -
  • -
  • sync_on_compute: If metric state should synchronize when compute is called. Default is True-

  • -
-
-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-set_idx(idx)[source]
-
- -
-
-update(preds, target)[source]
-

Override this method to update the state variables of your metric class.

-
-
Parameters:
-
    -
  • preds (torch.Tensor) –

  • -
  • target (torch.Tensor) –

  • -
-
-
-
- -
-
-__str__()[source]
-

Return str(self).

-
- -
-
-compute()[source]
-

Override this method to compute the final metric value from state variables synchronized across the -distributed backend.

-
- -
- -
-
-class dasf.ml.dl.models.devconvnet.NNModule(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: pytorch_lightning.LightningModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-cross_entropy_loss(input, target, weight=None, ignore_index=255)[source]
-

Use 255 to fill empty values when padding or doing any augmentation operations -like rotation.

-
- -
-
-configure_optimizers()[source]
-

Choose what optimizers and learning-rate schedulers to use in your optimization. Normally you’d need -one. But in the case of GANs or similar you might have multiple. Optimization with multiple optimizers only -works in the manual optimization mode.

-
-
Return:

Any of these 6 options.

-
    -
  • Single optimizer.

  • -
  • List or Tuple of optimizers.

  • -
  • Two lists - The first list has multiple optimizers, and the second has multiple LR schedulers -(or multiple lr_scheduler_config).

  • -
  • Dictionary, with an "optimizer" key, and (optionally) a "lr_scheduler" -key whose value is a single LR scheduler or lr_scheduler_config.

  • -
  • None - Fit will run without any optimizer.

  • -
-
-
-

The lr_scheduler_config is a dictionary which contains the scheduler and its associated configuration. -The default configuration is shown below.

-
lr_scheduler_config = {
-    # REQUIRED: The scheduler instance
-    "scheduler": lr_scheduler,
-    # The unit of the scheduler's step size, could also be 'step'.
-    # 'epoch' updates the scheduler on epoch end whereas 'step'
-    # updates it after a optimizer update.
-    "interval": "epoch",
-    # How many epochs/steps should pass between calls to
-    # `scheduler.step()`. 1 corresponds to updating the learning
-    # rate after every epoch/step.
-    "frequency": 1,
-    # Metric to to monitor for schedulers like `ReduceLROnPlateau`
-    "monitor": "val_loss",
-    # If set to `True`, will enforce that the value specified 'monitor'
-    # is available when the scheduler is updated, thus stopping
-    # training if not found. If set to `False`, it will only produce a warning
-    "strict": True,
-    # If using the `LearningRateMonitor` callback to monitor the
-    # learning rate progress, this keyword can be used to specify
-    # a custom logged name
-    "name": None,
-}
-
-
-

When there are schedulers in which the .step() method is conditioned on a value, such as the -torch.optim.lr_scheduler.ReduceLROnPlateau scheduler, Lightning requires that the -lr_scheduler_config contains the keyword "monitor" set to the metric name that the scheduler -should be conditioned on.

-

Metrics can be made available to monitor by simply logging it using -self.log('metric_to_track', metric_val) in your LightningModule.

-
-
Note:

Some things to know:

-
    -
  • Lightning calls .backward() and .step() automatically in case of automatic optimization.

  • -
  • If a learning rate scheduler is specified in configure_optimizers() with key -"interval" (default “epoch”) in the scheduler configuration, Lightning will call -the scheduler’s .step() method automatically in case of automatic optimization.

  • -
  • If you use 16-bit precision (precision=16), Lightning will automatically handle the optimizer.

  • -
  • If you use torch.optim.LBFGS, Lightning handles the closure function automatically for you.

  • -
  • If you use multiple optimizers, you will have to switch to ‘manual optimization’ mode and step them -yourself.

  • -
  • If you need to control how often the optimizer steps, override the optimizer_step() hook.

  • -
-
-
-
- -
-
-training_step(batch, batch_idx)[source]
-

Here you compute and return the training loss and some additional metrics for e.g. the progress bar or -logger.

-
-
Args:
-
batch (Tensor | (Tensor, …) | [Tensor, …]):

The output of your DataLoader. A tensor, tuple or list.

-
-
-

batch_idx (int): Integer displaying index of this batch

-
-
Return:

Any of.

-
    -
  • Tensor - The loss tensor

  • -
  • dict - A dictionary. Can include any keys, but must include the key 'loss'

  • -
  • -
    None - Training will skip to the next batch. This is only for automatic optimization.

    This is not supported for multi-GPU, TPU, IPU, or DeepSpeed.

    -
    -
    -
  • -
-
-
-

In this step you’d normally do the forward pass and calculate the loss for a batch. -You can also do fancier things like multiple forward passes or something model specific.

-

Example:

-
def training_step(self, batch, batch_idx):
-    x, y, z = batch
-    out = self.encoder(x)
-    loss = self.loss(out, x)
-    return loss
-
-
-

To use multiple optimizers, you can switch to ‘manual optimization’ and control their stepping:

-
def __init__(self):
-    super().__init__()
-    self.automatic_optimization = False
-
-
-# Multiple optimizers (e.g.: GANs)
-def training_step(self, batch, batch_idx):
-    opt1, opt2 = self.optimizers()
-
-    # do training_step with encoder
-    ...
-    opt1.step()
-    # do training_step with decoder
-    ...
-    opt2.step()
-
-
-
-
Note:

When accumulate_grad_batches > 1, the loss returned here will be automatically -normalized by accumulate_grad_batches internally.

-
-
-
- -
-
-test_step(test_batch, batch_idx)[source]
-

Operates on a single batch of data from the test set. In this step you’d normally generate examples or -calculate anything of interest such as accuracy.

-
-
Args:

batch: The output of your DataLoader. -batch_idx: The index of this batch. -dataloader_id: The index of the dataloader that produced this batch.

-
-

(only if multiple test dataloaders used).

-
-
-
Return:

Any of.

-
-
    -
  • Any object or value

  • -
  • None - Testing will skip to the next batch

  • -
-
-
-
-
# if you have one test dataloader:
-def test_step(self, batch, batch_idx):
-    ...
-
-
-# if you have multiple test dataloaders:
-def test_step(self, batch, batch_idx, dataloader_idx=0):
-    ...
-
-
-

Examples:

-
# CASE 1: A single test dataset
-def test_step(self, batch, batch_idx):
-    x, y = batch
-
-    # implement your own
-    out = self(x)
-    loss = self.loss(out, y)
-
-    # log 6 example images
-    # or generated text... or whatever
-    sample_imgs = x[:6]
-    grid = torchvision.utils.make_grid(sample_imgs)
-    self.logger.experiment.add_image('example_images', grid, 0)
-
-    # calculate acc
-    labels_hat = torch.argmax(out, dim=1)
-    test_acc = torch.sum(y == labels_hat).item() / (len(y) * 1.0)
-
-    # log the outputs!
-    self.log_dict({'test_loss': loss, 'test_acc': test_acc})
-
-
-

If you pass in multiple test dataloaders, test_step() will have an additional argument. We recommend -setting the default value of 0 so that you can quickly switch between single and multiple dataloaders.

-
# CASE 2: multiple test dataloaders
-def test_step(self, batch, batch_idx, dataloader_idx=0):
-    # dataloader_idx tells you which dataset this is.
-    ...
-
-
-
-
Note:

If you don’t need to test you don’t need to implement this method.

-
-
Note:

When the test_step() is called, the model has been put in eval mode and -PyTorch gradients have been disabled. At the end of the test epoch, the model goes back -to training mode and gradients are enabled.

-
-
-
- -
- -
-
-class dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=False)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/models/index.html b/docs/autoapi/dasf/ml/dl/models/index.html deleted file mode 100644 index 8cbaa8b..0000000 --- a/docs/autoapi/dasf/ml/dl/models/index.html +++ /dev/null @@ -1,415 +0,0 @@ - - - - - - - dasf.ml.dl.models — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl.models

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - -

TorchPatchDeConvNet

Base class for all neural network modules.

TorchPatchDeConvNetSkip

Base class for all neural network modules.

TorchSectionDeConvNet

Base class for all neural network modules.

TorchSectionDeConvNetSkip

Base class for all neural network modules.

-
-
-class dasf.ml.dl.models.TorchPatchDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.TorchPatchDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.TorchSectionDeConvNet(n_classes=4, learned_billinear=False, clip=0.1, class_weights=False)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-class dasf.ml.dl.models.TorchSectionDeConvNetSkip(n_classes=4, learned_billinear=False, clip=0.1, class_weights=None)[source]
-

Bases: NNModule

-

Base class for all neural network modules.

-

Your models should also subclass this class.

-

Modules can also contain other Modules, allowing to nest them in -a tree structure. You can assign the submodules as regular attributes:

-
import torch.nn as nn
-import torch.nn.functional as F
-
-class Model(nn.Module):
-    def __init__(self):
-        super().__init__()
-        self.conv1 = nn.Conv2d(1, 20, 5)
-        self.conv2 = nn.Conv2d(20, 20, 5)
-
-    def forward(self, x):
-        x = F.relu(self.conv1(x))
-        return F.relu(self.conv2(x))
-
-
-

Submodules assigned in this way will be registered, and will have their -parameters converted too when you call to(), etc.

-
-

Note

-

As per the example above, an __init__() call to the parent class -must be made before assignment on the child.

-
-
-
Variables:
-

training (bool) – Boolean represents whether this module is in training or -evaluation mode.

-
-
-

Initializes internal Module state, shared by both nn.Module and ScriptModule.

-
-
-forward(x)[source]
-

Same as torch.nn.Module.forward().

-
-
Args:

*args: Whatever you decide to pass into the forward method. -**kwargs: Keyword arguments are also possible.

-
-
Return:

Your model’s output

-
-
-
- -
-
-init_vgg16_params(vgg16, copy_fc8=True)[source]
-
- -
-
-load()[source]
-

This is just a no-op load method.

-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/dl/pytorch_lightning/index.html b/docs/autoapi/dasf/ml/dl/pytorch_lightning/index.html deleted file mode 100644 index e083133..0000000 --- a/docs/autoapi/dasf/ml/dl/pytorch_lightning/index.html +++ /dev/null @@ -1,430 +0,0 @@ - - - - - - - dasf.ml.dl.pytorch_lightning — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.dl.pytorch_lightning

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

TorchDataLoader

A DataModule standardizes the training, val, test splits, data preparation and transforms. The main

NeuralNetClassifier

-
-
-

Functions

- - - - - - - - - -

run_dask_clustered(func[, client])

fit(model, X, y, max_iter, accel, strategy, devices, ngpus)

-
-
-class dasf.ml.dl.pytorch_lightning.TorchDataLoader(train, val=None, test=None, batch_size=64)[source]
-

Bases: pytorch_lightning.LightningDataModule

-

A DataModule standardizes the training, val, test splits, data preparation and transforms. The main -advantage is consistent data splits, data preparation and transforms across models.

-

Example:

-
class MyDataModule(LightningDataModule):
-    def __init__(self):
-        super().__init__()
-    def prepare_data(self):
-        # download, split, etc...
-        # only called on 1 GPU/TPU in distributed
-    def setup(self, stage):
-        # make assignments here (val/train/test split)
-        # called on every process in DDP
-    def train_dataloader(self):
-        train_split = Dataset(...)
-        return DataLoader(train_split)
-    def val_dataloader(self):
-        val_split = Dataset(...)
-        return DataLoader(val_split)
-    def test_dataloader(self):
-        test_split = Dataset(...)
-        return DataLoader(test_split)
-    def teardown(self):
-        # clean up after fit or test
-        # called on every process in DDP
-
-
-
-
Attributes:
-
prepare_data_per_node:

If True, each LOCAL_RANK=0 will call prepare data. -Otherwise only NODE_RANK=0, LOCAL_RANK=0 will prepare data.

-
-
allow_zero_length_dataloader_with_multiple_devices:

If True, dataloader with zero length within local rank is allowed. -Default value is False.

-
-
-
-
-
-
-prepare_data()[source]
-

Use this to download and prepare data. Downloading and saving data with multiple processes (distributed -settings) will result in corrupted data. Lightning ensures this method is called only within a single -process, so you can safely add your downloading logic within.

-
-

Warning

-

DO NOT set state to the model (use setup instead) -since this is NOT called on every device

-
-

Example:

-
def prepare_data(self):
-    # good
-    download_data()
-    tokenize()
-    etc()
-
-    # bad
-    self.split = data_split
-    self.some_state = some_other_state()
-
-
-

In a distributed environment, prepare_data can be called in two ways -(using prepare_data_per_node)

-
    -
  1. Once per node. This is the default and is only called on LOCAL_RANK=0.

  2. -
  3. Once in total. Only called on GLOBAL_RANK=0.

  4. -
-

Example:

-
# DEFAULT
-# called once per node on LOCAL_RANK=0 of that node
-class LitDataModule(LightningDataModule):
-    def __init__(self):
-        super().__init__()
-        self.prepare_data_per_node = True
-
-
-# call on GLOBAL_RANK=0 (great for shared file systems)
-class LitDataModule(LightningDataModule):
-    def __init__(self):
-        super().__init__()
-        self.prepare_data_per_node = False
-
-
-

This is called before requesting the dataloaders:

-
model.prepare_data()
-initialize_distributed()
-model.setup(stage)
-model.train_dataloader()
-model.val_dataloader()
-model.test_dataloader()
-model.predict_dataloader()
-
-
-
- -
-
-setup(stage=None)[source]
-

Called at the beginning of fit (train + validate), validate, test, or predict. This is a good hook when -you need to build models dynamically or adjust something about them. This hook is called on every process -when using DDP.

-
-
Args:

stage: either 'fit', 'validate', 'test', or 'predict'

-
-
-

Example:

-
class LitModel(...):
-    def __init__(self):
-        self.l1 = None
-
-    def prepare_data(self):
-        download_data()
-        tokenize()
-
-        # don't do this
-        self.something = else
-
-    def setup(self, stage):
-        data = load_data(...)
-        self.l1 = nn.Linear(28, data.num_classes)
-
-
-
- -
-
-train_dataloader()[source]
-

An iterable or collection of iterables specifying training samples.

-

For more information about multiple dataloaders, see this section.

-

The dataloader you return will not be reloaded unless you set -:paramref:`~pytorch_lightning.trainer.Trainer.reload_dataloaders_every_n_epochs` to -a positive integer.

-

For data processing use the following pattern:

-
-
-
-

However, the above are only necessary for distributed processing.

-
-

Warning

-

do not assign state in prepare_data

-
- -
-
Note:

Lightning tries to add the correct sampler for distributed and arbitrary hardware. -There is no need to set it yourself.

-
-
-
- -
-
-val_dataloader()[source]
-

An iterable or collection of iterables specifying validation samples.

-

For more information about multiple dataloaders, see this section.

-

The dataloader you return will not be reloaded unless you set -:paramref:`~pytorch_lightning.trainer.Trainer.reload_dataloaders_every_n_epochs` to -a positive integer.

-

It’s recommended that all data downloads and preparation happen in prepare_data().

- -
-
Note:

Lightning tries to add the correct sampler for distributed and arbitrary hardware -There is no need to set it yourself.

-
-
Note:

If you don’t need a validation dataset and a validation_step(), you don’t need to -implement this method.

-
-
-
- -
-
-test_dataloader()[source]
-

An iterable or collection of iterables specifying test samples.

-

For more information about multiple dataloaders, see this section.

-

For data processing use the following pattern:

-
-
-
-

However, the above are only necessary for distributed processing.

-
-

Warning

-

do not assign state in prepare_data

-
- -
-
Note:

Lightning tries to add the correct sampler for distributed and arbitrary hardware. -There is no need to set it yourself.

-
-
Note:

If you don’t need a test dataset and a test_step(), you don’t need to implement -this method.

-
-
-
- -
- -
-
-dasf.ml.dl.pytorch_lightning.run_dask_clustered(func, client=None, **kwargs)[source]
-
- -
-
-dasf.ml.dl.pytorch_lightning.fit(model, X, y, max_iter, accel, strategy, devices, ngpus, batch_size=32, plugins=None)[source]
-
- -
-
-class dasf.ml.dl.pytorch_lightning.NeuralNetClassifier(model, max_iter=100, batch_size=32)[source]
-

Bases: dasf.transforms.base.Fit

-
-
-_lazy_fit_generic(X, y, accel, ngpus)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None)[source]
-
- -
-
-_lazy_fit_cpu(X, y=None)[source]
-
- -
-
-__fit_generic(X, y, accel, ngpus)
-
- -
-
-_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_cpu(X, y=None)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/index.html b/docs/autoapi/dasf/ml/index.html deleted file mode 100644 index 731dc4e..0000000 --- a/docs/autoapi/dasf/ml/index.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - dasf.ml — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/mixture/classifier/index.html b/docs/autoapi/dasf/ml/mixture/classifier/index.html deleted file mode 100644 index c22ad98..0000000 --- a/docs/autoapi/dasf/ml/mixture/classifier/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - dasf.ml.mixture.classifier — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.mixture.classifier

-
-

Module Contents

-
-

Classes

- - - - - - -

MixtureClassifier

-
-
-class dasf.ml.mixture.classifier.MixtureClassifier[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.FitPredict, dasf.transforms.base.FitTransform, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-abstract fit(X, y=None, sample_weight=None)[source]
-
- -
-
-abstract fit_predict(X, y=None, sample_weight=None)[source]
-
- -
-
-abstract fit_transform(X, y=None)[source]
-
- -
-
-abstract get_params()[source]
-
- -
-
-abstract set_params()[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/mixture/gmm/index.html b/docs/autoapi/dasf/ml/mixture/gmm/index.html deleted file mode 100644 index 1824d36..0000000 --- a/docs/autoapi/dasf/ml/mixture/gmm/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - - - - dasf.ml.mixture.gmm — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.mixture.gmm

-
-

Module Contents

-
-

Classes

- - - - - - -

GaussianMixture

-
-
-class dasf.ml.mixture.gmm.GaussianMixture(n_components=1, *, covariance_type='full', tol=0.001, reg_covar=1e-06, max_iter=100, n_init=1, init_params='kmeans', weights_init=None, means_init=None, precisions_init=None, random_state=None, warm_start=False, verbose=0, verbose_interval=10)[source]
-

Bases: dasf.ml.mixture.classifier.MixtureClassifier

-
-
-_fit_cpu(X, y=None)[source]
-
- -
-
-_fit_predict_cpu(X, y=None)[source]
-
- -
-
-_predict_cpu(X, y=None)[source]
-
- -
-
-_set_params_cpu(**params)[source]
-
- -
-
-_get_params_cpu(deep=True)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/model_selection/index.html b/docs/autoapi/dasf/ml/model_selection/index.html deleted file mode 100644 index b742ecb..0000000 --- a/docs/autoapi/dasf/ml/model_selection/index.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - dasf.ml.model_selection — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.model_selection

-
-

Submodules

- -
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/model_selection/split/index.html b/docs/autoapi/dasf/ml/model_selection/split/index.html deleted file mode 100644 index 9c6ed2a..0000000 --- a/docs/autoapi/dasf/ml/model_selection/split/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - dasf.ml.model_selection.split — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.model_selection.split

-
-

Module Contents

-
-

Classes

- - - - - - -

train_test_split

-
-
-class dasf.ml.model_selection.split.train_test_split(output='train', test_size=None, train_size=None, random_state=None, shuffle=None, blockwise=True, convert_mixed_types=False, **kwargs)
-

Bases: dasf.transforms.TargeteredTransform, dasf.transforms.Transform

-
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-abstract _lazy_transform_gpu(X)[source]
-
- -
-
-_transform_cpu(X)[source]
-
- -
-
-_transform_gpu(X)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/neighbors/index.html b/docs/autoapi/dasf/ml/neighbors/index.html deleted file mode 100644 index b258814..0000000 --- a/docs/autoapi/dasf/ml/neighbors/index.html +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - dasf.ml.neighbors — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.neighbors

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

NearestNeighbors

-
-
-class dasf.ml.neighbors.NearestNeighbors(n_neighbors=5, radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=None, handle=None, verbose=False, output_type=None, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-_fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-_get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-_set_params_cpu(**params)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/neighbors/neighbors/index.html b/docs/autoapi/dasf/ml/neighbors/neighbors/index.html deleted file mode 100644 index 85495b4..0000000 --- a/docs/autoapi/dasf/ml/neighbors/neighbors/index.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - - dasf.ml.neighbors.neighbors — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.neighbors.neighbors

-
-

Module Contents

-
-

Classes

- - - - - - -

NearestNeighbors

-
-
-class dasf.ml.neighbors.neighbors.NearestNeighbors(n_neighbors=5, radius=1.0, algorithm='auto', leaf_size=30, metric='minkowski', p=2, metric_params=None, n_jobs=None, handle=None, verbose=False, output_type=None, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-_fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-_get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-_set_params_cpu(**params)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/preprocessing/index.html b/docs/autoapi/dasf/ml/preprocessing/index.html deleted file mode 100644 index aaf3e98..0000000 --- a/docs/autoapi/dasf/ml/preprocessing/index.html +++ /dev/null @@ -1,263 +0,0 @@ - - - - - - - dasf.ml.preprocessing — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.preprocessing

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

StantardScaler

-
-
-class dasf.ml.preprocessing.StantardScaler(copy=True, with_mean=True, with_std=True, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.FitTransform, dasf.transforms.base.TargeteredTransform

-
-
-_lazy_fit_cpu(X, y=None)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_cpu(X, y=None)[source]
-
- -
-
-_fit_gpu(X, y=None)[source]
-
- -
-
-_lazy_fit_transform_cpu(X, y=None)[source]
-
- -
-
-_lazy_fit_transform_gpu(X, y=None)[source]
-
- -
-
-_fit_transform_cpu(X, y=None)[source]
-
- -
-
-_fit_transform_gpu(X, y=None)[source]
-
- -
-
-_lazy_partial_fit_cpu(X, y=None)[source]
-
- -
-
-_lazy_partial_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_partial_cpu(X, y=None)[source]
-
- -
-
-_fit_partial_gpu(X, y=None)[source]
-
- -
-
-_lazy_transform_cpu(X, copy=None)[source]
-
- -
-
-_lazy_transform_gpu(X, copy=None)[source]
-
- -
-
-_transform_cpu(X, copy=None)[source]
-
- -
-
-_transform_gpu(X, copy=None)[source]
-
- -
-
-_lazy_inverse_transform_cpu(X, copy=None)[source]
-
- -
-
-_lazy_inverse_transform_gpu(X, copy=None)[source]
-
- -
-
-_inverse_transform_cpu(X, copy=None)[source]
-
- -
-
-_inverse_transform_gpu(X, copy=None)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/preprocessing/standardscaler/index.html b/docs/autoapi/dasf/ml/preprocessing/standardscaler/index.html deleted file mode 100644 index c81c45a..0000000 --- a/docs/autoapi/dasf/ml/preprocessing/standardscaler/index.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - - dasf.ml.preprocessing.standardscaler — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.preprocessing.standardscaler

-
-

Module Contents

-
-

Classes

- - - - - - -

StantardScaler

-
-
-class dasf.ml.preprocessing.standardscaler.StantardScaler(copy=True, with_mean=True, with_std=True, **kwargs)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.FitTransform, dasf.transforms.base.TargeteredTransform

-
-
-_lazy_fit_cpu(X, y=None)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_cpu(X, y=None)[source]
-
- -
-
-_fit_gpu(X, y=None)[source]
-
- -
-
-_lazy_fit_transform_cpu(X, y=None)[source]
-
- -
-
-_lazy_fit_transform_gpu(X, y=None)[source]
-
- -
-
-_fit_transform_cpu(X, y=None)[source]
-
- -
-
-_fit_transform_gpu(X, y=None)[source]
-
- -
-
-_lazy_partial_fit_cpu(X, y=None)[source]
-
- -
-
-_lazy_partial_fit_gpu(X, y=None)[source]
-
- -
-
-_fit_partial_cpu(X, y=None)[source]
-
- -
-
-_fit_partial_gpu(X, y=None)[source]
-
- -
-
-_lazy_transform_cpu(X, copy=None)[source]
-
- -
-
-_lazy_transform_gpu(X, copy=None)[source]
-
- -
-
-_transform_cpu(X, copy=None)[source]
-
- -
-
-_transform_gpu(X, copy=None)[source]
-
- -
-
-_lazy_inverse_transform_cpu(X, copy=None)[source]
-
- -
-
-_lazy_inverse_transform_gpu(X, copy=None)[source]
-
- -
-
-_inverse_transform_cpu(X, copy=None)[source]
-
- -
-
-_inverse_transform_gpu(X, copy=None)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/svm/index.html b/docs/autoapi/dasf/ml/svm/index.html deleted file mode 100644 index 64c01b2..0000000 --- a/docs/autoapi/dasf/ml/svm/index.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - dasf.ml.svm — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.svm

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - -

SVC

SVR

LinearSVC

LinearSVR

-
-
-class dasf.ml.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, nochange_steps=1000, random_state=None)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
-
-_get_params_cpu(deep=True)[source]
-
- -
-
-_set_params_cpu(**params)[source]
-
- -
- -
-
-class dasf.ml.svm.SVR(kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1, nochange_steps=1000)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-class dasf.ml.svm.LinearSVC(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr')[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-class dasf.ml.svm.LinearSVR(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr')[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/svm/svm/index.html b/docs/autoapi/dasf/ml/svm/svm/index.html deleted file mode 100644 index 8e6b174..0000000 --- a/docs/autoapi/dasf/ml/svm/svm/index.html +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - dasf.ml.svm.svm — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.svm.svm

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - -

SVC

SVR

LinearSVC

LinearSVR

-
-
-class dasf.ml.svm.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='scale', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape='ovr', break_ties=False, nochange_steps=1000, random_state=None)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
-
-_get_params_cpu(deep=True)[source]
-
- -
-
-_set_params_cpu(**params)[source]
-
- -
- -
-
-class dasf.ml.svm.svm.SVR(kernel='rbf', degree=3, gamma='scale', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1, nochange_steps=1000)[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-class dasf.ml.svm.svm.LinearSVC(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr')[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict, dasf.transforms.base.GetParams, dasf.transforms.base.SetParams

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-class dasf.ml.svm.svm.LinearSVR(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000, handle=None, penalty='l2', penalized_intercept=False, linesearch_max_iter=100, lbfgs_memory=5, grad_tol=0.0001, change_tol=1e-05, multi_class='ovr')[source]
-

Bases: dasf.transforms.base.Fit, dasf.transforms.base.Predict

-
-
-_fit_cpu(X, y, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y, sample_weight=None)[source]
-
- -
-
-_predict_cpu(X)[source]
-
- -
-
-_predict_gpu(X)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/xgboost/index.html b/docs/autoapi/dasf/ml/xgboost/index.html deleted file mode 100644 index 37296e7..0000000 --- a/docs/autoapi/dasf/ml/xgboost/index.html +++ /dev/null @@ -1,203 +0,0 @@ - - - - - - - dasf.ml.xgboost — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.xgboost

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - -

XGBRegressor

-
-
-class dasf.ml.xgboost.XGBRegressor(max_depth=None, max_leaves=None, max_bin=None, grow_policy=None, learning_rate=None, n_estimators=100, verbosity=None, objective=None, booster=None, tree_method=None, n_jobs=None, gamma=None, min_child_weight=None, max_delta_step=None, subsample=None, sampling_method=None, colsample_bytree=None, colsample_bylevel=None, colsample_bynode=None, reg_alpha=None, reg_lambda=None, scale_pos_weight=None, base_score=None, random_state=None, num_parallel_tree=None, monotone_constraints=None, interaction_constraints=None, importance_type=None, gpu_id=None, validate_parameters=None, predictor=None, enable_categorical=False, max_cat_to_onehot=None, eval_metric=None, early_stopping_rounds=None, callbacks=None, **kwargs)[source]
-

Bases: dasf.transforms.Fit, dasf.transforms.FitPredict, dasf.transforms.Predict

-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/ml/xgboost/xgboost/index.html b/docs/autoapi/dasf/ml/xgboost/xgboost/index.html deleted file mode 100644 index cf49b79..0000000 --- a/docs/autoapi/dasf/ml/xgboost/xgboost/index.html +++ /dev/null @@ -1,196 +0,0 @@ - - - - - - - dasf.ml.xgboost.xgboost — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.ml.xgboost.xgboost

-
-

Module Contents

-
-

Classes

- - - - - - -

XGBRegressor

-
-
-class dasf.ml.xgboost.xgboost.XGBRegressor(max_depth=None, max_leaves=None, max_bin=None, grow_policy=None, learning_rate=None, n_estimators=100, verbosity=None, objective=None, booster=None, tree_method=None, n_jobs=None, gamma=None, min_child_weight=None, max_delta_step=None, subsample=None, sampling_method=None, colsample_bytree=None, colsample_bylevel=None, colsample_bynode=None, reg_alpha=None, reg_lambda=None, scale_pos_weight=None, base_score=None, random_state=None, num_parallel_tree=None, monotone_constraints=None, interaction_constraints=None, importance_type=None, gpu_id=None, validate_parameters=None, predictor=None, enable_categorical=False, max_cat_to_onehot=None, eval_metric=None, early_stopping_rounds=None, callbacks=None, **kwargs)[source]
-

Bases: dasf.transforms.Fit, dasf.transforms.FitPredict, dasf.transforms.Predict

-
-
-_lazy_fit_cpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_lazy_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_fit_cpu(X, y=None, sample_weight=None)[source]
-
- -
-
-_fit_gpu(X, y=None, sample_weight=None, *args, **kwargs)[source]
-
- -
-
-_lazy_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_lazy_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/executors/base/index.html b/docs/autoapi/dasf/pipeline/executors/base/index.html deleted file mode 100644 index c523249..0000000 --- a/docs/autoapi/dasf/pipeline/executors/base/index.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - - - - dasf.pipeline.executors.base — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.executors.base

-
-

Module Contents

-
-

Classes

- - - - - - -

Executor

-
-
-class dasf.pipeline.executors.base.Executor[source]
-
-
-property ngpus: int
-
-
Return type:
-

int

-
-
-
- -
-
-property is_connected: bool
-
-
Return type:
-

bool

-
-
-
- -
-
-pre_run(pipeline)[source]
-
- -
-
-post_run(pipeline)[source]
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/executors/dask/index.html b/docs/autoapi/dasf/pipeline/executors/dask/index.html deleted file mode 100644 index c44c50e..0000000 --- a/docs/autoapi/dasf/pipeline/executors/dask/index.html +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - dasf.pipeline.executors.dask — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.executors.dask

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - -

DaskPipelineExecutor

A pipeline engine based on dask data flow.

DaskTasksPipelineExecutor

A not centric execution engine based on dask.

DaskPBSPipelineExecutor

-
-
-

Attributes

- - - - - - -

GPU_SUPPORTED

-
-
-dasf.pipeline.executors.dask.GPU_SUPPORTED
-
- -
-
-class dasf.pipeline.executors.dask.DaskPipelineExecutor(address=None, port=8786, local=False, use_gpu=False, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None)[source]
-

Bases: dasf.pipeline.executors.base.Executor

-

A pipeline engine based on dask data flow.

-

Keyword arguments: -address – address of the Dask scheduler (default None). -port – port of the Dask scheduler (default 8786). -local – kicks off a new local Dask cluster (default False). -use_gpu – in conjunction with local, it kicks off a local CUDA Dask

-
-

cluster (default False).

-
-

profiler – sets a Dask profiler. -gpu_allocator – sets which is the memory allocator for GPU (default cupy). -cluster_kwargs – extra Dask parameters like memory, processes, etc. -client_kwargs – extra Client parameters.

-
-
-property ngpus
-
- -
-
-property is_connected
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
-
-register_dataset(**kwargs)[source]
-
- -
-
-has_dataset(key)[source]
-
- -
-
-get_dataset(key)[source]
-
- -
-
-shutdown(gracefully=True)[source]
-
- -
- -
-
-class dasf.pipeline.executors.dask.DaskTasksPipelineExecutor(address=None, port=8786, local=False, use_gpu=True, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None)[source]
-

Bases: DaskPipelineExecutor

-

A not centric execution engine based on dask.

-

Keyword arguments: -address – address of the Dask scheduler (default None). -port – port of the Dask scheduler (default 8786). -local – kicks off a new local Dask cluster (default False). -use_gpu – in conjunction with local, it kicks off a local CUDA Dask

-
-

cluster (default False).

-
-

profiler – sets a Dask profiler. -gpu_allocator – sets which is the memory allocator for GPU (default cupy). -cluster_kwargs – extra Dask parameters like memory, processes, etc. -client_kwargs – extra Client parameters.

-
-
-pre_run(pipeline)[source]
-
- -
-
-post_run(pipeline)[source]
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
-
-register_dataset(**kwargs)[source]
-
- -
-
-has_dataset(key)[source]
-
- -
-
-get_dataset(key)[source]
-
- -
-
-shutdown(gracefully=True)[source]
-
- -
- -
-
-class dasf.pipeline.executors.dask.DaskPBSPipelineExecutor(**kwargs)[source]
-

Bases: dasf.pipeline.executors.base.Executor

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/executors/index.html b/docs/autoapi/dasf/pipeline/executors/index.html deleted file mode 100644 index 804ec79..0000000 --- a/docs/autoapi/dasf/pipeline/executors/index.html +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - - dasf.pipeline.executors — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.executors

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - -

Executor

DaskPipelineExecutor

A pipeline engine based on dask data flow.

DaskPBSPipelineExecutor

DaskTasksPipelineExecutor

A not centric execution engine based on dask.

-
-
-class dasf.pipeline.executors.Executor[source]
-
-
-property ngpus: int
-
-
Return type:
-

int

-
-
-
- -
-
-property is_connected: bool
-
-
Return type:
-

bool

-
-
-
- -
-
-pre_run(pipeline)[source]
-
- -
-
-post_run(pipeline)[source]
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
- -
-
-class dasf.pipeline.executors.DaskPipelineExecutor(address=None, port=8786, local=False, use_gpu=False, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None)[source]
-

Bases: dasf.pipeline.executors.base.Executor

-

A pipeline engine based on dask data flow.

-

Keyword arguments: -address – address of the Dask scheduler (default None). -port – port of the Dask scheduler (default 8786). -local – kicks off a new local Dask cluster (default False). -use_gpu – in conjunction with local, it kicks off a local CUDA Dask

-
-

cluster (default False).

-
-

profiler – sets a Dask profiler. -gpu_allocator – sets which is the memory allocator for GPU (default cupy). -cluster_kwargs – extra Dask parameters like memory, processes, etc. -client_kwargs – extra Client parameters.

-
-
-property ngpus
-
- -
-
-property is_connected
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
-
-register_dataset(**kwargs)[source]
-
- -
-
-has_dataset(key)[source]
-
- -
-
-get_dataset(key)[source]
-
- -
-
-shutdown(gracefully=True)[source]
-
- -
- -
-
-class dasf.pipeline.executors.DaskPBSPipelineExecutor(**kwargs)[source]
-

Bases: dasf.pipeline.executors.base.Executor

-
- -
-
-class dasf.pipeline.executors.DaskTasksPipelineExecutor(address=None, port=8786, local=False, use_gpu=True, profiler=None, gpu_allocator='cupy', cluster_kwargs=None, client_kwargs=None)[source]
-

Bases: DaskPipelineExecutor

-

A not centric execution engine based on dask.

-

Keyword arguments: -address – address of the Dask scheduler (default None). -port – port of the Dask scheduler (default 8786). -local – kicks off a new local Dask cluster (default False). -use_gpu – in conjunction with local, it kicks off a local CUDA Dask

-
-

cluster (default False).

-
-

profiler – sets a Dask profiler. -gpu_allocator – sets which is the memory allocator for GPU (default cupy). -cluster_kwargs – extra Dask parameters like memory, processes, etc. -client_kwargs – extra Client parameters.

-
-
-pre_run(pipeline)[source]
-
- -
-
-post_run(pipeline)[source]
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
-
-register_dataset(**kwargs)[source]
-
- -
-
-has_dataset(key)[source]
-
- -
-
-get_dataset(key)[source]
-
- -
-
-shutdown(gracefully=True)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/executors/ray/index.html b/docs/autoapi/dasf/pipeline/executors/ray/index.html deleted file mode 100644 index c76fba5..0000000 --- a/docs/autoapi/dasf/pipeline/executors/ray/index.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - - dasf.pipeline.executors.ray — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.executors.ray

-
-

Module Contents

-
-

Classes

- - - - - - -

RayPipelineExecutor

A pipeline engine based on ray data flow.

-
-
-

Attributes

- - - - - - -

USE_RAY

-
-
-dasf.pipeline.executors.ray.USE_RAY = True
-
- -
-
-class dasf.pipeline.executors.ray.RayPipelineExecutor(address=None, port=6379, local=False, use_gpu=False, ray_kwargs=None)[source]
-

Bases: dasf.pipeline.executors.base.Executor

-

A pipeline engine based on ray data flow.

-

Keyword arguments: -address – address of the Dask scheduler (default None). -port – port of the Ray head (default 8786). -local – kicks off a new local Ray cluster (default False). -use_gpu – in conjunction with local, it kicks off a local CUDA Ray

-
-

cluster (default False).

-
-
-
-property ngpus
-
- -
-
-property is_connected
-
- -
-
-execute(fn, *args, **kwargs)[source]
-
- -
-
-__del__()[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/executors/wrapper/index.html b/docs/autoapi/dasf/pipeline/executors/wrapper/index.html deleted file mode 100644 index 6b5a796..0000000 --- a/docs/autoapi/dasf/pipeline/executors/wrapper/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - dasf.pipeline.executors.wrapper — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.executors.wrapper

-
-

Module Contents

-
-

Classes

- - - - - - -

PrefectPipelineExecutor

-
-
-class dasf.pipeline.executors.wrapper.PrefectPipelineExecutor
-

Bases: prefect.executors.local.LocalExecutor

-
-
-property dtype
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/index.html b/docs/autoapi/dasf/pipeline/index.html deleted file mode 100644 index adf9cd2..0000000 --- a/docs/autoapi/dasf/pipeline/index.html +++ /dev/null @@ -1,274 +0,0 @@ - - - - - - - dasf.pipeline — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline

-
-

Subpackages

- -
-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - -

Pipeline

PipelinePlugin

-
-
-class dasf.pipeline.Pipeline(name, executor=None, verbose=False, callbacks=None)[source]
-
-
Parameters:
-

callbacks (List[PipelinePlugin]) –

-
-
-
-
-register_plugin(plugin)[source]
-
-
Parameters:
-

plugin (Union[PipelinePlugin, distributed.diagnostics.plugin.WorkerPlugin]) –

-
-
-
- -
-
-execute_callbacks(func_name, *args, **kwargs)[source]
-
-
Parameters:
-

func_name (str) –

-
-
-
- -
-
-__add_into_dag(obj, func_name, parameters=None, itself=None)
-
- -
-
-__inspect_element(obj)
-
- -
-
-add(obj, **kwargs)[source]
-
- -
-
-visualize(filename=None)[source]
-
- -
-
-__register_dataset(dataset)
-
- -
-
-__execute(func, params, name)
-
- -
-
-get_result_from(obj)[source]
-
- -
-
-run()[source]
-
- -
- -
-
-class dasf.pipeline.PipelinePlugin[source]
-
-
-on_pipeline_start(fn_keys)[source]
-
- -
-
-on_pipeline_end()[source]
-
- -
-
-on_task_start(func, params, name)[source]
-
- -
-
-on_task_end(func, params, name, ret)[source]
-
- -
-
-on_task_error(func, params, name, exception)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/pipeline/index.html b/docs/autoapi/dasf/pipeline/pipeline/index.html deleted file mode 100644 index 6a732f5..0000000 --- a/docs/autoapi/dasf/pipeline/pipeline/index.html +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - - dasf.pipeline.pipeline — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.pipeline

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

PipelinePlugin

Pipeline

-
-
-class dasf.pipeline.pipeline.PipelinePlugin[source]
-
-
-on_pipeline_start(fn_keys)[source]
-
- -
-
-on_pipeline_end()[source]
-
- -
-
-on_task_start(func, params, name)[source]
-
- -
-
-on_task_end(func, params, name, ret)[source]
-
- -
-
-on_task_error(func, params, name, exception)[source]
-
- -
- -
-
-class dasf.pipeline.pipeline.Pipeline(name, executor=None, verbose=False, callbacks=None)[source]
-
-
Parameters:
-

callbacks (List[PipelinePlugin]) –

-
-
-
-
-register_plugin(plugin)[source]
-
-
Parameters:
-

plugin (Union[PipelinePlugin, distributed.diagnostics.plugin.WorkerPlugin]) –

-
-
-
- -
-
-execute_callbacks(func_name, *args, **kwargs)[source]
-
-
Parameters:
-

func_name (str) –

-
-
-
- -
-
-__add_into_dag(obj, func_name, parameters=None, itself=None)
-
- -
-
-__inspect_element(obj)
-
- -
-
-add(obj, **kwargs)[source]
-
- -
-
-visualize(filename=None)[source]
-
- -
-
-__register_dataset(dataset)
-
- -
-
-__execute(func, params, name)
-
- -
-
-get_result_from(obj)[source]
-
- -
-
-run()[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/pipeline/types/index.html b/docs/autoapi/dasf/pipeline/types/index.html deleted file mode 100644 index 82c8356..0000000 --- a/docs/autoapi/dasf/pipeline/types/index.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - dasf.pipeline.types — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.pipeline.types

-
-

Module Contents

-
-

Classes

- - - - - - -

TaskExecutorType

Enum where members are also (and must be) ints

-
-
-class dasf.pipeline.types.TaskExecutorType[source]
-

Bases: enum.IntEnum

-

Enum where members are also (and must be) ints

-

Initialize self. See help(type(self)) for accurate signature.

-
-
-single_cpu
-
- -
-
-multi_cpu
-
- -
-
-single_gpu
-
- -
-
-multi_gpu
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/database/index.html b/docs/autoapi/dasf/profile/database/index.html deleted file mode 100644 index 110d6e3..0000000 --- a/docs/autoapi/dasf/profile/database/index.html +++ /dev/null @@ -1,283 +0,0 @@ - - - - - - - dasf.profile.database — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.profile.database

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - -

TraceEvent

TraceDatabase

SingleFileTraceDatabase

-
-
-class dasf.profile.database.TraceEvent[source]
-
-
-name: str
-
- -
-
-phase: str
-
- -
-
-timestamp: float
-
- -
-
-process_id: str
-
- -
-
-thread_id: str
-
- -
-
-category: List[str]
-
- -
-
-data: dict
-
- -
-
-thread_timestamp: float
-
- -
-
-color_name: str
-
- -
-
-duration: float
-
- -
-
-thread_duration: float
-
- -
- -
-
-class dasf.profile.database.TraceDatabase[source]
-
-
-abstract add_trace_event(trace)[source]
-
-
Parameters:
-

trace (TraceEvent) –

-
-
-
- -
-
-abstract commit()[source]
-
- -
-
-abstract get_traces()[source]
-
-
Return type:
-

List[TraceEvent]

-
-
-
- -
- -
-
-class dasf.profile.database.SingleFileTraceDatabase(path, encoder=json.dumps, decoder=json.loads)[source]
-

Bases: TraceDatabase

-
-
Parameters:
-
    -
  • path (pathlib.Path) –

  • -
  • encoder (callable) –

  • -
  • decoder (callable) –

  • -
-
-
-
-
-add_trace_event(trace)[source]
-
-
Parameters:
-

trace (TraceEvent) –

-
-
Return type:
-

int

-
-
-
- -
-
-get_traces()[source]
-
-
Return type:
-

List[TraceEvent]

-
-
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/event/index.html b/docs/autoapi/dasf/profile/event/index.html deleted file mode 100644 index 82412a1..0000000 --- a/docs/autoapi/dasf/profile/event/index.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - dasf.profile.event — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.profile.event

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - -

Singleton

TraceDatabase

Profile

-
-
-

Functions

- - - - - - - - - - - - - - - - - - - - - -

get_time_ms()

add_trace_duration_begin(name, process_id, thread_id)

add_trace_duration_end(name, process_id, thread_id[, ...])

add_trace_complete(name, process_id, thread_id, ...[, ...])

get_traces()

to_chrome_event_format(trace_events[, trace_options, ...])

-
-
-class dasf.profile.event.Singleton[source]
-

Bases: type

-
-
-_instances
-
- -
-
-__call__(*args, **kwargs)[source]
-

Call self as a function.

-
- -
- -
-
-class dasf.profile.event.TraceDatabase(database=None)[source]
-
-
Parameters:
-

database (TraceDatabase) –

-
-
-
-
-property database: TraceDatabase
-
-
Return type:
-

TraceDatabase

-
-
-
- -
-
-db_name: str = 'traces.txt'
-
- -
- -
-
-dasf.profile.event.get_time_ms()[source]
-
- -
-
-dasf.profile.event.add_trace_duration_begin(name, process_id, thread_id, category=None, timestamp=None, thread_timestamp=None, data=None)[source]
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • process_id (str) –

  • -
  • thread_id (str) –

  • -
  • category (List[str]) –

  • -
  • timestamp (float) –

  • -
  • thread_timestamp (float) –

  • -
  • data (dict) –

  • -
-
-
-
- -
-
-dasf.profile.event.add_trace_duration_end(name, process_id, thread_id, category=None, timestamp=None, thread_timestamp=None, data=None)[source]
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • process_id (str) –

  • -
  • thread_id (str) –

  • -
  • category (List[str]) –

  • -
  • timestamp (float) –

  • -
  • thread_timestamp (float) –

  • -
  • data (dict) –

  • -
-
-
-
- -
-
-dasf.profile.event.add_trace_complete(name, process_id, thread_id, timestamp, duration, thread_timestamp=None, thread_duration=None, category=None, data=None)[source]
-
-
Parameters:
-
    -
  • name (str) –

  • -
  • process_id (str) –

  • -
  • thread_id (str) –

  • -
  • timestamp (float) –

  • -
  • duration (float) –

  • -
  • thread_timestamp (float) –

  • -
  • thread_duration (float) –

  • -
  • category (List[str]) –

  • -
  • data (dict) –

  • -
-
-
-
- -
-
-dasf.profile.event.get_traces()[source]
-
-
Return type:
-

List[dasf.profile.database.TraceEvent]

-
-
-
- -
-
-dasf.profile.event.to_chrome_event_format(trace_events, trace_options=None, format_kwargs=None)[source]
-
-
Parameters:
-
-
-
Return type:
-

str

-
-
-
- -
-
-class dasf.profile.event.Profile(trace_file='traces.txt', remove_old_trace_file=True, processed_filename='profile.json', process_trace_options=None, process_trace_kwargs=None)[source]
-
-
Parameters:
-
    -
  • trace_file (str) –

  • -
  • remove_old_trace_file (bool) –

  • -
  • processed_filename (Optional[str]) –

  • -
  • process_trace_options (dict) –

  • -
  • process_trace_kwargs (dict) –

  • -
-
-
-
-
-__enter__()[source]
-
- -
-
-__exit__(exc_type, exc_val, exc_tb)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/index.html b/docs/autoapi/dasf/profile/index.html deleted file mode 100644 index 6c40b64..0000000 --- a/docs/autoapi/dasf/profile/index.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - - - dasf.profile — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/plugins/dasf/index.html b/docs/autoapi/dasf/profile/plugins/dasf/index.html deleted file mode 100644 index 79ea7c2..0000000 --- a/docs/autoapi/dasf/profile/plugins/dasf/index.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - dasf.profile.plugins.dasf — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.profile.plugins.dasf

-
-

Module Contents

-
-

Classes

- - - - - - -

PipelineTaskTimer

-
-
-class dasf.profile.plugins.dasf.PipelineTaskTimer[source]
-

Bases: dasf.pipeline.PipelinePlugin

-
-
-on_task_start(func, params, name)[source]
-
- -
-
-on_task_end(func, params, name, ret)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/plugins/dask/index.html b/docs/autoapi/dasf/profile/plugins/dask/index.html deleted file mode 100644 index 9898bd7..0000000 --- a/docs/autoapi/dasf/profile/plugins/dask/index.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - - dasf.profile.plugins.dask — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.profile.plugins.dask

-
-

Module Contents

-
-

Classes

- - - - - - -

TaskTimePlugin

Interface to extend the Worker

-
-
-class dasf.profile.plugins.dask.TaskTimePlugin[source]
-

Bases: distributed.diagnostics.plugin.WorkerPlugin

-

Interface to extend the Worker

-

A worker plugin enables custom code to run at different stages of the Workers’ -lifecycle.

-

A plugin enables custom code to run at each of step of a Workers’s life. Whenever such -an event happens, the corresponding method on this class will be called. Note that the -user code always runs within the Worker’s main thread.

-

To implement a plugin implement some of the methods of this class and register -the plugin to your client in order to have it attached to every existing and -future workers with Client.register_worker_plugin.

-
-

Examples

-
>>> class ErrorLogger(WorkerPlugin):
-...     def __init__(self, logger):
-...         self.logger = logger
-...
-...     def setup(self, worker):
-...         self.worker = worker
-...
-...     def transition(self, key, start, finish, *args, **kwargs):
-...         if finish == 'error':
-...             ts = self.worker.tasks[key]
-...             exc_info = (type(ts.exception), ts.exception, ts.traceback)
-...             self.logger.error(
-...                 "Error during computation of '%s'.", key,
-...                 exc_info=exc_info
-...             )
-
-
-
>>> import logging
->>> plugin = ErrorLogger(logging)
->>> client.register_worker_plugin(plugin)  
-
-
-
-
-setup(worker)[source]
-

Run when the plugin is attached to a worker. This happens when the plugin is registered -and attached to existing workers, or when a worker is created after the plugin has been -registered.

-
- -
-
-transition(key, start, finish, *args, **kwargs)[source]
-

Throughout the lifecycle of a task (see Worker State), Workers are instructed by the scheduler to compute -certain tasks, resulting in transitions in the state of each task. The -Worker owning the task is then notified of this state transition.

-

Whenever a task changes its state, this method will be called.

-
-

Warning

-

This is an advanced feature and the transition mechanism and details -of task states are subject to change without deprecation cycle.

-
-
-
Parameters
-

key : string -start : string

-
-

Start state of the transition. -One of waiting, ready, executing, long-running, memory, error.

-
-
-
finishstring

Final state of the transition.

-
-
-

kwargs : More options passed when transitioning

-
-
- -
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/plugins/index.html b/docs/autoapi/dasf/profile/plugins/index.html deleted file mode 100644 index b534ea8..0000000 --- a/docs/autoapi/dasf/profile/plugins/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - dasf.profile.plugins — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/profile/plugins/resource_monitor/index.html b/docs/autoapi/dasf/profile/plugins/resource_monitor/index.html deleted file mode 100644 index 79c4d2b..0000000 --- a/docs/autoapi/dasf/profile/plugins/resource_monitor/index.html +++ /dev/null @@ -1,231 +0,0 @@ - - - - - - - dasf.profile.plugins.resource_monitor — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.profile.plugins.resource_monitor

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

Format

ResourceMonitor

-
-
-

Functions

- - - - - - -

run_continuously(scheduler[, interval])

Continuously run, while executing pending jobs at each

-
-
-class dasf.profile.plugins.resource_monitor.Format
-
-
-static temperature(value)
-
- -
-
-static byte_value(value)
-
- -
-
-static percent(value)
-
- -
- -
-
-dasf.profile.plugins.resource_monitor.run_continuously(scheduler, interval=1)
-

Continuously run, while executing pending jobs at each -elapsed time interval. -@return cease_continuous_run: threading. Event which can -be set to cease continuous run. Please note that it is -intended behavior that run_continuously() does not run -missed jobs. For example, if you’ve registered a job that -should run every minute and you set a continuous run -interval of one hour then your job won’t be run 60 times -at each interval but only once.

-
- -
-
-class dasf.profile.plugins.resource_monitor.ResourceMonitor(path=None, monitor_interval=0.1, verbose=False)
-

Bases: dasf.pipeline.PipelinePlugin

-
-
Parameters:
-
    -
  • path (str) –

  • -
  • verbose (bool) –

  • -
-
-
-
-
-static get_info(event_list, verbose=False)
-
-
Parameters:
-

verbose (bool) –

-
-
-
- -
-
-on_pipeline_start(fn_keys)
-
- -
-
-on_pipeline_end()
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/transforms/base/index.html b/docs/autoapi/dasf/transforms/base/index.html deleted file mode 100644 index b7edb17..0000000 --- a/docs/autoapi/dasf/transforms/base/index.html +++ /dev/null @@ -1,450 +0,0 @@ - - - - - - - dasf.transforms.base — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.transforms.base

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Fit

FitPredict

FitTransform

Predict

GetParams

SetParams

Transform

TargeteredTransform

MappedTransform

-
-
-class dasf.transforms.base.Fit[source]
-
-
-abstract _lazy_fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit(X, y, sample_weight=None, **kwargs)[source]
-
- -
-
-static fit_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.FitPredict[source]
-
-
-abstract _lazy_fit_predict_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_predict_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_predict_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_predict_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit_predict(X, y=None, **kwargs)[source]
-
- -
-
-static fit_predict_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.FitTransform[source]
-
-
-abstract _lazy_fit_transform_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_transform_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_transform_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_transform_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit_transform(X, y=None, **kwargs)[source]
-
- -
-
-static fit_transform_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.Predict[source]
-
-
-abstract _lazy_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _lazy_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-predict(X, sample_weight=None, **kwargs)[source]
-
- -
-
-static predict_from_model(model, X, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.GetParams[source]
-
-
-abstract _lazy_get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _lazy_get_params_gpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _get_params_gpu(deep=True, **kwargs)[source]
-
- -
-
-get_params(deep=True, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.SetParams[source]
-
-
-abstract _lazy_set_params_cpu(**params)[source]
-
- -
-
-abstract _lazy_set_params_gpu(**params)[source]
-
- -
-
-abstract _set_params_cpu(**params)[source]
-
- -
-
-abstract _set_params_gpu(**params)[source]
-
- -
-
-set_params(**params)[source]
-
- -
- -
-
-class dasf.transforms.base.Transform[source]
-
-
-abstract _lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-abstract _lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-abstract _transform_cpu(X, **kwargs)[source]
-
- -
-
-abstract _transform_gpu(X, **kwargs)[source]
-
- -
-
-transform(X, **kwargs)[source]
-
- -
-
-static transform_from_model(model, X, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.base.TargeteredTransform(run_local=None, run_gpu=None)[source]
-

Bases: Transform

-
- -
-
-class dasf.transforms.base.MappedTransform(function, depth=None, boundary=None, trim=True, output_chunk=None, drop_axis=None, new_axis=None)[source]
-

Bases: Transform

-
-
-__lazy_transform_generic(X, xp, **kwargs)
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-transform(X, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/transforms/index.html b/docs/autoapi/dasf/transforms/index.html deleted file mode 100644 index 93c9c90..0000000 --- a/docs/autoapi/dasf/transforms/index.html +++ /dev/null @@ -1,689 +0,0 @@ - - - - - - - dasf.transforms — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.transforms

-
-

Submodules

- -
-
-

Package Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ArraysToDataFrame

ArrayToZarr

ArrayToHDF5

ZarrToArray

Normalize

SliceArray

SliceArrayByPercent

Reshape

Reshape data with a new shape.

PersistDaskData

Allow persisting a dask array to memory and return a copy of the object.

ComputeDaskData

Allow persisting a dask array to memory. It will gather the data blocks

Fit

FitPredict

FitTransform

Predict

GetParams

TargeteredTransform

MappedTransform

-
-
-class dasf.transforms.ArraysToDataFrame[source]
-

Bases: dasf.transforms.base.Transform

-
-
-__transform_generic(X, y)
-
- -
-
-_lazy_transform_cpu(X=None, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X=None, **kwargs)[source]
-
- -
-
-_transform_gpu(X=None, **kwargs)[source]
-
- -
-
-_transform_cpu(X=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.ArrayToZarr(chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-_lazy_transform_generic_all(data)[source]
-
- -
-
-_transform_generic_all(data, chunks, **kwargs)[source]
-
- -
-
-_lazy_transform_generic(X, **kwargs)[source]
-
- -
-
-_transform_generic(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.ArrayToHDF5(dataset_path, chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-_lazy_transform_generic_all(data)[source]
-
- -
-
-_transform_generic_all(data)[source]
-
- -
-
-_lazy_transform_generic(X, **kwargs)[source]
-
- -
-
-_transform_generic(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.ZarrToArray(chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.Normalize[source]
-

Bases: dasf.transforms.base.Transform

-
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.SliceArray(output_size)[source]
-
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.SliceArrayByPercent(x=100.0, y=100.0, z=100.0)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.Reshape(shape)[source]
-

Reshape data with a new shape.

-
-

Parameters

-
-
shapetuple

The new shape of the data.

-
-
-
-
-run(X)[source]
-
- -
-
-
Parameters:
-

shape (tuple) –

-
-
-
- -
-
-class dasf.transforms.PersistDaskData[source]
-

Bases: dasf.transforms.base.Transform

-

Allow persisting a dask array to memory and return a copy of the object. -It will gather the data blocks from all workers and resembles locally.

-
-
-__lazy_transform_generic(X)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X)[source]
-
- -
-
-_transform_cpu(X)[source]
-
- -
-
-_transform_gpu(X)[source]
-
- -
- -
-
-class dasf.transforms.ComputeDaskData[source]
-

Bases: dasf.transforms.base.Transform

-

Allow persisting a dask array to memory. It will gather the data blocks -from all workers and resembles locally.

-
-
-__lazy_transform_generic(X)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X)[source]
-
- -
-
-_transform_cpu(X)[source]
-
- -
-
-_transform_gpu(X)[source]
-
- -
- -
-
-class dasf.transforms.Fit[source]
-
-
-abstract _lazy_fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit(X, y, sample_weight=None, **kwargs)[source]
-
- -
-
-static fit_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.FitPredict[source]
-
-
-abstract _lazy_fit_predict_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_predict_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_predict_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_predict_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit_predict(X, y=None, **kwargs)[source]
-
- -
-
-static fit_predict_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.FitTransform[source]
-
-
-abstract _lazy_fit_transform_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _lazy_fit_transform_gpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_transform_cpu(X, y=None, **kwargs)[source]
-
- -
-
-abstract _fit_transform_gpu(X, y=None, **kwargs)[source]
-
- -
-
-fit_transform(X, y=None, **kwargs)[source]
-
- -
-
-static fit_transform_from_model(model, X, y, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.Predict[source]
-
-
-abstract _lazy_predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _lazy_predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _predict_cpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-abstract _predict_gpu(X, sample_weight=None, **kwargs)[source]
-
- -
-
-predict(X, sample_weight=None, **kwargs)[source]
-
- -
-
-static predict_from_model(model, X, sample_weight=None, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.GetParams[source]
-
-
-abstract _lazy_get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _lazy_get_params_gpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _get_params_cpu(deep=True, **kwargs)[source]
-
- -
-
-abstract _get_params_gpu(deep=True, **kwargs)[source]
-
- -
-
-get_params(deep=True, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.TargeteredTransform(run_local=None, run_gpu=None)[source]
-

Bases: Transform

-
- -
-
-class dasf.transforms.MappedTransform(function, depth=None, boundary=None, trim=True, output_chunk=None, drop_axis=None, new_axis=None)[source]
-

Bases: Transform

-
-
-__lazy_transform_generic(X, xp, **kwargs)
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-transform(X, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/transforms/memory/index.html b/docs/autoapi/dasf/transforms/memory/index.html deleted file mode 100644 index eaf9351..0000000 --- a/docs/autoapi/dasf/transforms/memory/index.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - - dasf.transforms.memory — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.transforms.memory

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

PersistDaskData

Allow persisting a dask array to memory and return a copy of the object.

ComputeDaskData

Allow persisting a dask array to memory. It will gather the data blocks

-
-
-class dasf.transforms.memory.PersistDaskData[source]
-

Bases: dasf.transforms.base.Transform

-

Allow persisting a dask array to memory and return a copy of the object. -It will gather the data blocks from all workers and resembles locally.

-
-
-__lazy_transform_generic(X)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X)[source]
-
- -
-
-_transform_cpu(X)[source]
-
- -
-
-_transform_gpu(X)[source]
-
- -
- -
-
-class dasf.transforms.memory.ComputeDaskData[source]
-

Bases: dasf.transforms.base.Transform

-

Allow persisting a dask array to memory. It will gather the data blocks -from all workers and resembles locally.

-
-
-__lazy_transform_generic(X)
-
- -
-
-_lazy_transform_cpu(X)[source]
-
- -
-
-_lazy_transform_gpu(X)[source]
-
- -
-
-_transform_cpu(X)[source]
-
- -
-
-_transform_gpu(X)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/transforms/operations/index.html b/docs/autoapi/dasf/transforms/operations/index.html deleted file mode 100644 index e04979a..0000000 --- a/docs/autoapi/dasf/transforms/operations/index.html +++ /dev/null @@ -1,199 +0,0 @@ - - - - - - - dasf.transforms.operations — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.transforms.operations

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - -

Reshape

Reshape data with a new shape.

SliceArray

SliceArrayByPercent

-
-
-class dasf.transforms.operations.Reshape(shape)[source]
-

Reshape data with a new shape.

-
-

Parameters

-
-
shapetuple

The new shape of the data.

-
-
-
-
-run(X)[source]
-
- -
-
-
Parameters:
-

shape (tuple) –

-
-
-
- -
-
-class dasf.transforms.operations.SliceArray(output_size)[source]
-
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.operations.SliceArrayByPercent(x=100.0, y=100.0, z=100.0)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-transform(X)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/transforms/transforms/index.html b/docs/autoapi/dasf/transforms/transforms/index.html deleted file mode 100644 index 9f3ecca..0000000 --- a/docs/autoapi/dasf/transforms/transforms/index.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - dasf.transforms.transforms — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.transforms.transforms

-
-

Module Contents

-
-

Classes

- - - - - - - - - - - - - - - - - - -

Normalize

ArrayToZarr

ArrayToHDF5

ZarrToArray

ArraysToDataFrame

-
-
-class dasf.transforms.transforms.Normalize[source]
-

Bases: dasf.transforms.base.Transform

-
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.transforms.ArrayToZarr(chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-_lazy_transform_generic_all(data)[source]
-
- -
-
-_transform_generic_all(data, chunks, **kwargs)[source]
-
- -
-
-_lazy_transform_generic(X, **kwargs)[source]
-
- -
-
-_transform_generic(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.transforms.ArrayToHDF5(dataset_path, chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-_lazy_transform_generic_all(data)[source]
-
- -
-
-_transform_generic_all(data)[source]
-
- -
-
-_lazy_transform_generic(X, **kwargs)[source]
-
- -
-
-_transform_generic(X, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X, **kwargs)[source]
-
- -
-
-_lazy_transform_cpu(X, **kwargs)[source]
-
- -
-
-_transform_gpu(X, **kwargs)[source]
-
- -
-
-_transform_cpu(X, **kwargs)[source]
-
- -
- -
-
-class dasf.transforms.transforms.ZarrToArray(chunks=None, save=True, filename=None)[source]
-

Bases: dasf.transforms.base.Transform

-
-
-static _convert_filename(url)[source]
-
- -
-
-transform(X)[source]
-
- -
- -
-
-class dasf.transforms.transforms.ArraysToDataFrame[source]
-

Bases: dasf.transforms.base.Transform

-
-
-__transform_generic(X, y)
-
- -
-
-_lazy_transform_cpu(X=None, **kwargs)[source]
-
- -
-
-_lazy_transform_gpu(X=None, **kwargs)[source]
-
- -
-
-_transform_gpu(X=None, **kwargs)[source]
-
- -
-
-_transform_cpu(X=None, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/benchmark/index.html b/docs/autoapi/dasf/utils/benchmark/index.html deleted file mode 100644 index 697b03a..0000000 --- a/docs/autoapi/dasf/utils/benchmark/index.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - - - dasf.utils.benchmark — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.benchmark

-
-

Module Contents

-
-

Classes

- - - - - - - - - -

TimeBenchmark

MemoryBenchmark

-
-
-

Attributes

- - - - - - - - - -

USE_MEMRAY

USE_MEM_PROF

-
-
-dasf.utils.benchmark.USE_MEMRAY = True
-
- -
-
-dasf.utils.benchmark.USE_MEM_PROF = True
-
- -
-
-class dasf.utils.benchmark.TimeBenchmark(backend='cprofile')[source]
-
-
-__enter__()[source]
-
- -
-
-__exit__(*args, **kwargs)[source]
-
- -
-
-run(function, *args, **kwargs)[source]
-
- -
- -
-
-class dasf.utils.benchmark.MemoryBenchmark(backend='memray', debug=False, output_file=None, *args, **kwargs)[source]
-
-
-__enter__()[source]
-
- -
-
-__exit__(*args, **kwargs)[source]
-
- -
-
-run(function, *args, **kwargs)[source]
-
- -
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/decorators/index.html b/docs/autoapi/dasf/utils/decorators/index.html deleted file mode 100644 index 7062338..0000000 --- a/docs/autoapi/dasf/utils/decorators/index.html +++ /dev/null @@ -1,220 +0,0 @@ - - - - - - - dasf.utils.decorators — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.decorators

-

Implementations of important library decorators.

-
-

Module Contents

-
-

Functions

- - - - - - - - - - - - - - - - - - - - - - - - -

is_forced_local(cls)

Returns if object is forced to run in a CPU.

is_forced_gpu(cls)

Returns if object is forced to run in a GPU.

fetch_from_dask(*args, **kwargs)

Fetches to CPU all parameters in a Dask data type.

fetch_from_gpu(*args, **kwargs)

Fetches to CPU all parameters in a GPU data type.

fetch_args_from_dask(func)

Fetches to CPU all function parameters in a Dask data type.

fetch_args_from_gpu(func)

Fetches to CPU all function parameters in a GPU data type.

task_handler(func)

Returns all mapped functions corresponding to the executor in place.

-
-
-dasf.utils.decorators.is_forced_local(cls)[source]
-

Returns if object is forced to run in a CPU.

-
- -
-
-dasf.utils.decorators.is_forced_gpu(cls)[source]
-

Returns if object is forced to run in a GPU.

-
- -
-
-dasf.utils.decorators.fetch_from_dask(*args, **kwargs)[source]
-

Fetches to CPU all parameters in a Dask data type.

-
-
Return type:
-

tuple

-
-
-
- -
-
-dasf.utils.decorators.fetch_from_gpu(*args, **kwargs)[source]
-

Fetches to CPU all parameters in a GPU data type.

-
-
Return type:
-

tuple

-
-
-
- -
-
-dasf.utils.decorators.fetch_args_from_dask(func)[source]
-

Fetches to CPU all function parameters in a Dask data type.

-
- -
-
-dasf.utils.decorators.fetch_args_from_gpu(func)[source]
-

Fetches to CPU all function parameters in a GPU data type.

-
- -
-
-dasf.utils.decorators.task_handler(func)[source]
-

Returns all mapped functions corresponding to the executor in place.

-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/funcs/index.html b/docs/autoapi/dasf/utils/funcs/index.html deleted file mode 100644 index ebfb52a..0000000 --- a/docs/autoapi/dasf/utils/funcs/index.html +++ /dev/null @@ -1,517 +0,0 @@ - - - - - - - dasf.utils.funcs — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.funcs

-

Generic and regular functions.

-
-

Module Contents

-
-

Classes

- - - - - - -

NotebookProgressBar

A class that represents a thread of control.

-
-
-

Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

human_readable_size(size[, decimal])

converts data size into the proper measurement

get_full_qualname(obj)

Return fully qualified name of objects.

get_worker_info(client)

Returns a list of workers (sorted), and the DNS name for the master host

sync_future_loop(futures)

Synchronize all futures submitted to workers.

download_file(url[, filename, directory])

Download a generic file and save it.

download_file_from_gdrive(file_id[, filename, directory])

Download a file from Google Drive using gdrive file id.

get_machine_memory_avail()

Return free memory available from a single machine.

set_executor_default()

Return executor as a CPU (default) instance.

set_executor_gpu()

Return executor as a GPU instance.

is_executor_single(dtype)

Return if the executor is a single machine instance.

is_executor_cluster(dtype)

Return if the executor is a cluster instance.

is_executor_cpu(dtype)

Return if the executor is a CPU instance.

is_executor_gpu(dtype)

Return if the executor is a GPU instance.

is_gpu_supported()

Return if GPU is supported.

is_dask_local_supported()

Return if Dask is supported locally by the executor.

get_dask_running_client()

Get Dask runner stanza.

is_dask_supported()

Return if Dask is supported by the executor.

is_dask_gpu_supported()

Return if any node supports GPU.

get_gpu_count()

Get single node GPU count.

get_dask_gpu_count([fetch])

Get how many GPUs are available in each worker.

block_chunk_reduce(dask_data, output_chunk)

Reduce the chunk according the new output size.

return_local_and_gpu(executor, local, gpu)

Return executor type based on passed preferences.

get_dask_mem_usage(profiler)

Get Dask memory usage profile.

is_notebook()

Return if the code is being executed in a IPyNotebook.

-
-
-

Attributes

- - - - - - -

GPU_SUPPORTED

-
-
-dasf.utils.funcs.GPU_SUPPORTED
-
- -
-
-dasf.utils.funcs.human_readable_size(size, decimal=3)[source]
-

converts data size into the proper measurement

-
-
Return type:
-

str

-
-
-
- -
-
-dasf.utils.funcs.get_full_qualname(obj)[source]
-

Return fully qualified name of objects.

-
-
Return type:
-

str

-
-
-
- -
-
-dasf.utils.funcs.get_worker_info(client)[source]
-

Returns a list of workers (sorted), and the DNS name for the master host -The master is the 0th worker’s host

-
-
Return type:
-

list

-
-
-
- -
-
-dasf.utils.funcs.sync_future_loop(futures)[source]
-

Synchronize all futures submitted to workers.

-
- -
-
-class dasf.utils.funcs.NotebookProgressBar[source]
-

Bases: threading.Thread

-

A class that represents a thread of control.

-

This class can be safely subclassed in a limited fashion. There are two ways -to specify the activity: by passing a callable object to the constructor, or -by overriding the run() method in a subclass.

-

This constructor should always be called with keyword arguments. Arguments are:

-

group should be None; reserved for future extension when a ThreadGroup -class is implemented.

-

target is the callable object to be invoked by the run() -method. Defaults to None, meaning nothing is called.

-

name is the thread name. By default, a unique name is constructed of -the form “Thread-N” where N is a small decimal number.

-

args is the argument tuple for the target invocation. Defaults to ().

-

kwargs is a dictionary of keyword arguments for the target -invocation. Defaults to {}.

-

If a subclass overrides the constructor, it must make sure to invoke -the base class constructor (Thread.__init__()) before doing anything -else to the thread.

-
-
-MIN_CUR
-
- -
-
-MIN_TOTAL
-
- -
-
-show()[source]
-
- -
-
-set_current(current, total)[source]
-
- -
-
-set_error(error)[source]
-
- -
-
-run()[source]
-

Method representing the thread’s activity.

-

You may override this method in a subclass. The standard run() method -invokes the callable object passed to the object’s constructor as the -target argument, if any, with sequential and keyword arguments taken -from the args and kwargs arguments, respectively.

-
- -
- -
-
-dasf.utils.funcs.download_file(url, filename=None, directory=None)[source]
-

Download a generic file and save it.

-
- -
-
-dasf.utils.funcs.download_file_from_gdrive(file_id, filename=None, directory=None)[source]
-

Download a file from Google Drive using gdrive file id.

-
- -
-
-dasf.utils.funcs.get_machine_memory_avail()[source]
-

Return free memory available from a single machine.

-
- -
-
-dasf.utils.funcs.set_executor_default()[source]
-

Return executor as a CPU (default) instance.

-
- -
-
-dasf.utils.funcs.set_executor_gpu()[source]
-

Return executor as a GPU instance.

-
- -
-
-dasf.utils.funcs.is_executor_single(dtype)[source]
-

Return if the executor is a single machine instance.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_executor_cluster(dtype)[source]
-

Return if the executor is a cluster instance.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_executor_cpu(dtype)[source]
-

Return if the executor is a CPU instance.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_executor_gpu(dtype)[source]
-

Return if the executor is a GPU instance.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_gpu_supported()[source]
-

Return if GPU is supported.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_dask_local_supported()[source]
-

Return if Dask is supported locally by the executor.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.get_dask_running_client()[source]
-

Get Dask runner stanza.

-
- -
-
-dasf.utils.funcs.is_dask_supported()[source]
-

Return if Dask is supported by the executor.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.is_dask_gpu_supported()[source]
-

Return if any node supports GPU.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.funcs.get_gpu_count()[source]
-

Get single node GPU count.

-
-
Return type:
-

int

-
-
-
- -
-
-dasf.utils.funcs.get_dask_gpu_count(fetch=True)[source]
-

Get how many GPUs are available in each worker.

-
-
Return type:
-

int

-
-
-
- -
-
-dasf.utils.funcs.block_chunk_reduce(dask_data, output_chunk)[source]
-

Reduce the chunk according the new output size.

-
- -
-
-dasf.utils.funcs.return_local_and_gpu(executor, local, gpu)[source]
-

Return executor type based on passed preferences.

-
- -
-
-dasf.utils.funcs.get_dask_mem_usage(profiler)[source]
-

Get Dask memory usage profile.

-
- -
-
-dasf.utils.funcs.is_notebook()[source]
-

Return if the code is being executed in a IPyNotebook.

-
-
Return type:
-

bool

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/index.html b/docs/autoapi/dasf/utils/index.html deleted file mode 100644 index 4088534..0000000 --- a/docs/autoapi/dasf/utils/index.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - dasf.utils — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/labels/index.html b/docs/autoapi/dasf/utils/labels/index.html deleted file mode 100644 index 7f0e3d2..0000000 --- a/docs/autoapi/dasf/utils/labels/index.html +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - dasf.utils.labels — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.labels

-
-

Module Contents

-
-

Classes

- - - - - - -

DaskLabel

-
-
-

Functions

- - - - - - -

get_attributes()

-
-
-

Attributes

- - - - - - - - - - - - - - - -

inside_with

g_hash_attrs

g_func_attrs

g_data_attrs

-
-
-dasf.utils.labels.inside_with
-
- -
-
-dasf.utils.labels.g_hash_attrs
-
- -
-
-dasf.utils.labels.g_func_attrs
-
- -
-
-dasf.utils.labels.g_data_attrs
-
- -
-
-class dasf.utils.labels.DaskLabel(start, stop, label=None, color=None)[source]
-

Bases: object

-
-
-start(start)[source]
-
- -
-
-stop(stop)[source]
-
- -
-
-__name(x)
-
- -
-
-__add_item(key, tag, label=None, color=None, atype='data')
-
- -
-
-__add_func(key, tag, label, color)
-
- -
-
-__add_data(key, tag, label, color)
-
- -
-
-__generate_hashtable(data, delete_dup=False)
-
- -
-
-__enter(dsk)
-
- -
-
-__enter__()[source]
-
- -
-
-__exit(dsk, exc_type, exc_val, exc_tb)
-
- -
-
-__exit__(exc_type, exc_val, exc_tb)[source]
-
- -
- -
-
-dasf.utils.labels.get_attributes()[source]
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/logging/index.html b/docs/autoapi/dasf/utils/logging/index.html deleted file mode 100644 index d0c100d..0000000 --- a/docs/autoapi/dasf/utils/logging/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - dasf.utils.logging — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.logging

-

Logging helpers for functions.

-
-

Module Contents

-
-

Functions

- - - - - - -

init_logging()

Initialize logger objects to be used by modules.

-
-
-dasf.utils.logging.init_logging()[source]
-

Initialize logger objects to be used by modules.

-
-
Return type:
-

logging.Logger

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/autoapi/dasf/utils/types/index.html b/docs/autoapi/dasf/utils/types/index.html deleted file mode 100644 index 07c9e09..0000000 --- a/docs/autoapi/dasf/utils/types/index.html +++ /dev/null @@ -1,464 +0,0 @@ - - - - - - - dasf.utils.types — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

dasf.utils.types

-

Data types handlers.

-
-

Module Contents

-
-

Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

is_array(data)

Returns if data is a generic array.

is_dataframe(data)

Returns if data is a generic dataframe.

is_cpu_array(data)

Returns if data is a CPU arrau like Numpy.

is_cpu_dataframe(data)

Returns if data is a CPU dataframe like Pandas.

is_cpu_datatype(data)

Returns if data is a CPU data type.

is_gpu_array(data)

Returns if data is a GPU array like Cupy.

is_gpu_dataframe(data)

Returns if data is a GPU dataframe like Cudf.

is_gpu_datatype(data)

Returns if data is a GPU data type.

is_dask_cpu_array(data)

Returns if data is a Dask array with CPU internal array.

is_dask_cpu_dataframe(data)

Returns if data is a Dask dataframe with CPU internal dataframe.

is_dask_gpu_array(data)

Returns if data is a Dask array with GPU internal array.

is_dask_gpu_dataframe(data)

Returns if data is a Dask dataframe with GPU internal dataframe.

is_dask_array(data)

Returns if data is a Dask array.

is_dask_dataframe(data)

Returns if data is a Dask dataframe.

is_dask(data)

Returns if data is a Dask data type.

is_xarray_array(data)

Returns if data is a Xarray.

-
-
-

Attributes

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ArrayCPU

DataFrameCPU

DataCPU

DaskArray

DaskDataFrameCPU

XDataArray

Array

DaskDataFrame

DataFrame

DataDask

ArrayGPU

-
-
-dasf.utils.types.ArrayCPU
-
- -
-
-dasf.utils.types.DataFrameCPU
-
- -
-
-dasf.utils.types.DataCPU
-
- -
-
-dasf.utils.types.DaskArray
-
- -
-
-dasf.utils.types.DaskDataFrameCPU
-
- -
-
-dasf.utils.types.XDataArray
-
- -
-
-dasf.utils.types.Array
-
- -
-
-dasf.utils.types.DaskDataFrame
-
- -
-
-dasf.utils.types.DataFrame
-
- -
-
-dasf.utils.types.DataDask
-
- -
-
-dasf.utils.types.ArrayGPU
-
- -
-
-dasf.utils.types.is_array(data)[source]
-

Returns if data is a generic array.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dataframe(data)[source]
-

Returns if data is a generic dataframe.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_cpu_array(data)[source]
-

Returns if data is a CPU arrau like Numpy.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_cpu_dataframe(data)[source]
-

Returns if data is a CPU dataframe like Pandas.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_cpu_datatype(data)[source]
-

Returns if data is a CPU data type.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_gpu_array(data)[source]
-

Returns if data is a GPU array like Cupy.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_gpu_dataframe(data)[source]
-

Returns if data is a GPU dataframe like Cudf.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_gpu_datatype(data)[source]
-

Returns if data is a GPU data type.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_cpu_array(data)[source]
-

Returns if data is a Dask array with CPU internal array.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_cpu_dataframe(data)[source]
-

Returns if data is a Dask dataframe with CPU internal dataframe.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_gpu_array(data)[source]
-

Returns if data is a Dask array with GPU internal array.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_gpu_dataframe(data)[source]
-

Returns if data is a Dask dataframe with GPU internal dataframe.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_array(data)[source]
-

Returns if data is a Dask array.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask_dataframe(data)[source]
-

Returns if data is a Dask dataframe.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_dask(data)[source]
-

Returns if data is a Dask data type.

-
-
Return type:
-

bool

-
-
-
- -
-
-dasf.utils.types.is_xarray_array(data)[source]
-

Returns if data is a Xarray.

-
-
Return type:
-

bool

-
-
-
- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/build_doc.sh b/docs/build_doc.sh deleted file mode 100755 index 0a99acd..0000000 --- a/docs/build_doc.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -make clean -sphinx-build source/ . -echo " " > ../docs/.nojekyll \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html deleted file mode 100644 index 3304333..0000000 --- a/docs/genindex.html +++ /dev/null @@ -1,3478 +0,0 @@ - - - - - - Index — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - -

Index

- -
- _ - | A - | B - | C - | D - | E - | F - | G - | H - | I - | K - | L - | M - | N - | O - | P - | Q - | R - | S - | T - | U - | V - | W - | X - | Z - -
-

_

- - - -
- -

A

- - - -
- -

B

- - - -
- -

C

- - - -
- -

D

- - - -
    -
  • - dasf - -
  • -
  • - dasf.datasets - -
  • -
  • - dasf.datasets.base - -
  • -
  • - dasf.datasets.datasets - -
  • -
  • - dasf.datasets.download - -
  • -
  • - dasf.debug - -
  • -
  • - dasf.debug.debug - -
  • -
  • - dasf.feature_extraction - -
  • -
  • - dasf.feature_extraction.histogram - -
  • -
  • - dasf.feature_extraction.transform - -
  • -
  • - dasf.ml - -
  • -
  • - dasf.ml.cluster - -
  • -
  • - dasf.ml.cluster.agglomerative - -
  • -
  • - dasf.ml.cluster.classifier - -
  • -
  • - dasf.ml.cluster.dbscan - -
  • -
  • - dasf.ml.cluster.hdbscan - -
  • -
  • - dasf.ml.cluster.kmeans - -
  • -
  • - dasf.ml.cluster.som - -
  • -
  • - dasf.ml.cluster.spectral - -
  • -
  • - dasf.ml.core - -
  • -
  • - dasf.ml.decomposition - -
  • -
  • - dasf.ml.decomposition.pca - -
  • -
  • - dasf.ml.dl - -
  • -
  • - dasf.ml.dl.clusters - -
  • -
  • - dasf.ml.dl.clusters.dask - -
  • -
  • - dasf.ml.dl.models - -
  • -
  • - dasf.ml.dl.models.devconvnet - -
  • -
  • - dasf.ml.dl.pytorch_lightning - -
  • -
  • - dasf.ml.mixture.classifier - -
  • -
  • - dasf.ml.mixture.gmm - -
  • -
  • - dasf.ml.model_selection - -
  • -
  • - dasf.ml.model_selection.split - -
  • -
  • - dasf.ml.neighbors - -
  • -
  • - dasf.ml.neighbors.neighbors - -
  • -
  • - dasf.ml.preprocessing - -
  • -
  • - dasf.ml.preprocessing.standardscaler - -
  • -
  • - dasf.ml.svm - -
  • -
  • - dasf.ml.svm.svm - -
  • -
  • - dasf.ml.xgboost - -
  • -
  • - dasf.ml.xgboost.xgboost - -
  • -
  • - dasf.pipeline - -
  • -
  • - dasf.pipeline.executors - -
  • -
  • - dasf.pipeline.executors.base - -
  • -
  • - dasf.pipeline.executors.dask - -
  • -
  • - dasf.pipeline.executors.ray - -
  • -
  • - dasf.pipeline.executors.wrapper - -
  • -
  • - dasf.pipeline.pipeline - -
  • -
  • - dasf.pipeline.types - -
  • -
- -

E

- - - -
- -

F

- - - -
- -

G

- - - -
- -

H

- - - -
- -

I

- - - -
- -

K

- - -
- -

L

- - - -
- -

M

- - - -
- -

N

- - - -
- -

O

- - - -
- -

P

- - - -
- -

Q

- - -
- -

R

- - - -
- -

S

- - - -
- -

T

- - - -
- -

U

- - - -
- -

V

- - - -
- -

W

- - -
- -

X

- - - -
- -

Z

- - -
- - - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index a9c41b8..0000000 --- a/docs/index.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - Welcome to DASF Documentation! — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Welcome to DASF Documentation!

-
-

DASF is an Accelerated and Scalable Framework

-

DASF is a generic framework specialized in acceleration and scaling common -techniques for Machine Learning. DASF uses most methods and function from the -most common libraries to increase the speed up of most algorithms. Part of this -is to use Dask data to scale computation and RAPIDS AI algorithms to extend the -support to GPUs as well.

-
-
-

Contents

- -
-

Indices and tables

- -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/installation.html b/docs/installation.html deleted file mode 100644 index 9310fe0..0000000 --- a/docs/installation.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - Installation Guide — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Installation Guide

-

The installation can be done using conda or docker.

-
-

Using Docker

-

To install DASF using docker, you must in the go to the build/ directory and -execute the command below directory according to your build type: cpu or -gpu.

-
./build_docker.sh <cpu|gpu>
-
-
-

The dasf image will be created and be ready to use. Once it is ready, you -can start a jupyter instance by executing the command:

-
./start_jupyter_server.sh
-
-
-
-
-

Using Conda

-

If you just want to create a base Conda environment for DASF, you need to -create it, using the respective YAML file based on architecture: for CPUs -or GPUs. The environment name is always dasf.

-
conda env create -f build/conda/{cpu,gpu}/environment.yml
-
-
-
-
-

Development version

-

To install this development version, all you need to do is run pip from the -root project directory (the same where pyproject.toml lives).

-
python -m pip install -e .
-
-
-
-
-

Testing

-

If you have a working environment with DASF installed, you can execute the all -the test set. Make sure you have all development packages installed such as -pytest, parameterized and mock. To run, you need to execute -pytest from the tests/ directory.

-
pytest tests/
-
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 747ffb7..0000000 --- a/docs/make.bat +++ /dev/null @@ -1,35 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=source -set BUILDDIR=build - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.https://www.sphinx-doc.org/ - exit /b 1 -) - -if "%1" == "" goto help - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd diff --git a/docs/objects.inv b/docs/objects.inv deleted file mode 100644 index 02733de..0000000 Binary files a/docs/objects.inv and /dev/null differ diff --git a/docs/overview.html b/docs/overview.html deleted file mode 100644 index d656e62..0000000 --- a/docs/overview.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - - - - Overview — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Overview

-

DASF offers a wide range of Machine learning algorithms. Below, a table of -implemented algorithms and the respective infra-structure.

-
-

Implemented Machine Learning Algorithms

-

The table below is a list of supported machine learning algorithms by DASF framework.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ML Algorithm

CPU

GPU

Multi-CPU

Multi-GPU

K-Means

SOM

Agglomerative Clustering

DBSCAN

HDBSCAN

Gaussian Mixture Models

PCA

-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/principles.html b/docs/principles.html deleted file mode 100644 index b7d84cb..0000000 --- a/docs/principles.html +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - Principles — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Principles

-

The growth in the use of machine learning techniques has led to the emergence of a significant number of frameworks, libraries and tools in recent times. Depending on the technique used or the purpose of the project, there will possibly be a way to develop something using what already exists. With the further growth of deep learning techniques, more of these facilities become available.

-

One of the problems with these deep learning techniques is the use of data in batch format. So a large piece of data is subdivided into smaller pieces and iterated during epoch training. Today, there are no tools that process data distributedly on demand in full machine learning pipelines. There are also no tools that still use the maximum computational power using GPUs, for example.

-

Taking advantage of this niche space to be explored, the DASF was created whose recursive acronym is DASF is an Accelerated and Scalable Framework. The project seeks to fill this gap in creating machine learning pipelines using large volumes of data without dividing them into batches.

-

So that this was also possible, a series of libraries were gathered that could compose the framework, composing most of the functionalities proposed by it. Such tools will be specified in the next sections.

-
-

DASF as a Simple API

-

DASF tries to enable a simple API for the user to use. The idea is to make the user’s life easier when using the framework. We believe that the user should not have to worry about the details of the framework, but rather focus on the problem to be solved. The framework should be transparent to the user.

-

In order to simplify the learning-curve some concepts were created to facilitate the use of the framework. The main ones are:

-
    -
  • Standard API: We try to follow the same API as scikit-learn, so that the user does not have to learn a new API to use the framework. This is a very popular API and is widely used in the community. So, operations in DASF usually implement the same methods as scikit-learn, such as fit, predict, transform, etc.

  • -
  • Extensibility to new devices: DASF allows simple extensibility to be used in new devices (e.g., GPU) by implementing a simple interface. This allows the user to use the framework in different devices without having to worry about the details of the implementation.

  • -
  • Extensibility to scale: For multi-node scalability we use the DASK construct graphs under the hood. This allows the user to use the framework in a distributed way without having to worry about the details of the implementation.

  • -
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/py-modindex.html b/docs/py-modindex.html deleted file mode 100644 index 26af76f..0000000 --- a/docs/py-modindex.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - Python Module Index — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - -

Python Module Index

- -
- d -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
- d
- dasf -
    - dasf.datasets -
    - dasf.datasets.base -
    - dasf.datasets.datasets -
    - dasf.datasets.download -
    - dasf.debug -
    - dasf.debug.debug -
    - dasf.feature_extraction -
    - dasf.feature_extraction.histogram -
    - dasf.feature_extraction.transform -
    - dasf.ml -
    - dasf.ml.cluster -
    - dasf.ml.cluster.agglomerative -
    - dasf.ml.cluster.classifier -
    - dasf.ml.cluster.dbscan -
    - dasf.ml.cluster.hdbscan -
    - dasf.ml.cluster.kmeans -
    - dasf.ml.cluster.som -
    - dasf.ml.cluster.spectral -
    - dasf.ml.core -
    - dasf.ml.decomposition -
    - dasf.ml.decomposition.pca -
    - dasf.ml.dl -
    - dasf.ml.dl.clusters -
    - dasf.ml.dl.clusters.dask -
    - dasf.ml.dl.models -
    - dasf.ml.dl.models.devconvnet -
    - dasf.ml.dl.pytorch_lightning -
    - dasf.ml.mixture.classifier -
    - dasf.ml.mixture.gmm -
    - dasf.ml.model_selection -
    - dasf.ml.model_selection.split -
    - dasf.ml.neighbors -
    - dasf.ml.neighbors.neighbors -
    - dasf.ml.preprocessing -
    - dasf.ml.preprocessing.standardscaler -
    - dasf.ml.svm -
    - dasf.ml.svm.svm -
    - dasf.ml.xgboost -
    - dasf.ml.xgboost.xgboost -
    - dasf.pipeline -
    - dasf.pipeline.executors -
    - dasf.pipeline.executors.base -
    - dasf.pipeline.executors.dask -
    - dasf.pipeline.executors.ray -
    - dasf.pipeline.executors.wrapper -
    - dasf.pipeline.pipeline -
    - dasf.pipeline.types -
    - dasf.profile -
    - dasf.profile.database -
    - dasf.profile.event -
    - dasf.profile.plugins -
    - dasf.profile.plugins.dasf -
    - dasf.profile.plugins.dask -
    - dasf.profile.plugins.resource_monitor -
    - dasf.transforms -
    - dasf.transforms.base -
    - dasf.transforms.memory -
    - dasf.transforms.operations -
    - dasf.transforms.transforms -
    - dasf.utils -
    - dasf.utils.benchmark -
    - dasf.utils.decorators -
    - dasf.utils.funcs -
    - dasf.utils.labels -
    - dasf.utils.logging -
    - dasf.utils.types -
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/search.html b/docs/search.html deleted file mode 100644 index f840204..0000000 --- a/docs/search.html +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - Search — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - -
  • -
  • -
-
-
-
-
- - - - -
- -
- -
-
- -
-
-
-
- - - - - - - - - \ No newline at end of file diff --git a/docs/searchindex.js b/docs/searchindex.js deleted file mode 100644 index 63e5f0f..0000000 --- a/docs/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({"docnames": ["api", "autoapi/dasf/datasets/base/index", "autoapi/dasf/datasets/datasets/index", "autoapi/dasf/datasets/download/index", "autoapi/dasf/datasets/index", "autoapi/dasf/debug/debug/index", "autoapi/dasf/debug/index", "autoapi/dasf/feature_extraction/histogram/index", "autoapi/dasf/feature_extraction/index", "autoapi/dasf/feature_extraction/transform/index", "autoapi/dasf/index", "autoapi/dasf/ml/cluster/agglomerative/index", "autoapi/dasf/ml/cluster/classifier/index", "autoapi/dasf/ml/cluster/dbscan/index", "autoapi/dasf/ml/cluster/hdbscan/index", "autoapi/dasf/ml/cluster/index", "autoapi/dasf/ml/cluster/kmeans/index", "autoapi/dasf/ml/cluster/som/index", "autoapi/dasf/ml/cluster/spectral/index", "autoapi/dasf/ml/core/index", "autoapi/dasf/ml/decomposition/index", "autoapi/dasf/ml/decomposition/pca/index", "autoapi/dasf/ml/dl/clusters/dask/index", "autoapi/dasf/ml/dl/clusters/index", "autoapi/dasf/ml/dl/index", "autoapi/dasf/ml/dl/models/devconvnet/index", "autoapi/dasf/ml/dl/models/index", "autoapi/dasf/ml/dl/pytorch_lightning/index", "autoapi/dasf/ml/index", "autoapi/dasf/ml/mixture/classifier/index", "autoapi/dasf/ml/mixture/gmm/index", "autoapi/dasf/ml/model_selection/index", "autoapi/dasf/ml/model_selection/split/index", "autoapi/dasf/ml/neighbors/index", "autoapi/dasf/ml/neighbors/neighbors/index", "autoapi/dasf/ml/preprocessing/index", "autoapi/dasf/ml/preprocessing/standardscaler/index", "autoapi/dasf/ml/svm/index", "autoapi/dasf/ml/svm/svm/index", "autoapi/dasf/ml/xgboost/index", "autoapi/dasf/ml/xgboost/xgboost/index", "autoapi/dasf/pipeline/executors/base/index", "autoapi/dasf/pipeline/executors/dask/index", "autoapi/dasf/pipeline/executors/index", "autoapi/dasf/pipeline/executors/ray/index", "autoapi/dasf/pipeline/executors/wrapper/index", "autoapi/dasf/pipeline/index", "autoapi/dasf/pipeline/pipeline/index", "autoapi/dasf/pipeline/types/index", "autoapi/dasf/profile/database/index", "autoapi/dasf/profile/event/index", "autoapi/dasf/profile/index", "autoapi/dasf/profile/plugins/dasf/index", "autoapi/dasf/profile/plugins/dask/index", "autoapi/dasf/profile/plugins/index", "autoapi/dasf/profile/plugins/resource_monitor/index", "autoapi/dasf/transforms/base/index", "autoapi/dasf/transforms/index", "autoapi/dasf/transforms/memory/index", "autoapi/dasf/transforms/operations/index", "autoapi/dasf/transforms/transforms/index", "autoapi/dasf/utils/benchmark/index", "autoapi/dasf/utils/decorators/index", "autoapi/dasf/utils/funcs/index", "autoapi/dasf/utils/index", "autoapi/dasf/utils/labels/index", "autoapi/dasf/utils/logging/index", "autoapi/dasf/utils/types/index", "index", "installation", "overview", "principles", "tutorials", "tutorials/Tutorial_1", "tutorials/Tutorial_2", "tutorials/Tutorial_3", "tutorials/Tutorial_4"], "filenames": ["api.rst", "autoapi/dasf/datasets/base/index.rst", "autoapi/dasf/datasets/datasets/index.rst", "autoapi/dasf/datasets/download/index.rst", "autoapi/dasf/datasets/index.rst", "autoapi/dasf/debug/debug/index.rst", "autoapi/dasf/debug/index.rst", "autoapi/dasf/feature_extraction/histogram/index.rst", "autoapi/dasf/feature_extraction/index.rst", "autoapi/dasf/feature_extraction/transform/index.rst", "autoapi/dasf/index.rst", "autoapi/dasf/ml/cluster/agglomerative/index.rst", "autoapi/dasf/ml/cluster/classifier/index.rst", "autoapi/dasf/ml/cluster/dbscan/index.rst", "autoapi/dasf/ml/cluster/hdbscan/index.rst", "autoapi/dasf/ml/cluster/index.rst", "autoapi/dasf/ml/cluster/kmeans/index.rst", "autoapi/dasf/ml/cluster/som/index.rst", "autoapi/dasf/ml/cluster/spectral/index.rst", "autoapi/dasf/ml/core/index.rst", "autoapi/dasf/ml/decomposition/index.rst", "autoapi/dasf/ml/decomposition/pca/index.rst", "autoapi/dasf/ml/dl/clusters/dask/index.rst", "autoapi/dasf/ml/dl/clusters/index.rst", "autoapi/dasf/ml/dl/index.rst", "autoapi/dasf/ml/dl/models/devconvnet/index.rst", "autoapi/dasf/ml/dl/models/index.rst", "autoapi/dasf/ml/dl/pytorch_lightning/index.rst", "autoapi/dasf/ml/index.rst", "autoapi/dasf/ml/mixture/classifier/index.rst", "autoapi/dasf/ml/mixture/gmm/index.rst", "autoapi/dasf/ml/model_selection/index.rst", "autoapi/dasf/ml/model_selection/split/index.rst", "autoapi/dasf/ml/neighbors/index.rst", "autoapi/dasf/ml/neighbors/neighbors/index.rst", "autoapi/dasf/ml/preprocessing/index.rst", "autoapi/dasf/ml/preprocessing/standardscaler/index.rst", "autoapi/dasf/ml/svm/index.rst", "autoapi/dasf/ml/svm/svm/index.rst", "autoapi/dasf/ml/xgboost/index.rst", "autoapi/dasf/ml/xgboost/xgboost/index.rst", "autoapi/dasf/pipeline/executors/base/index.rst", "autoapi/dasf/pipeline/executors/dask/index.rst", "autoapi/dasf/pipeline/executors/index.rst", "autoapi/dasf/pipeline/executors/ray/index.rst", "autoapi/dasf/pipeline/executors/wrapper/index.rst", "autoapi/dasf/pipeline/index.rst", "autoapi/dasf/pipeline/pipeline/index.rst", "autoapi/dasf/pipeline/types/index.rst", "autoapi/dasf/profile/database/index.rst", "autoapi/dasf/profile/event/index.rst", "autoapi/dasf/profile/index.rst", "autoapi/dasf/profile/plugins/dasf/index.rst", "autoapi/dasf/profile/plugins/dask/index.rst", "autoapi/dasf/profile/plugins/index.rst", "autoapi/dasf/profile/plugins/resource_monitor/index.rst", "autoapi/dasf/transforms/base/index.rst", "autoapi/dasf/transforms/index.rst", "autoapi/dasf/transforms/memory/index.rst", "autoapi/dasf/transforms/operations/index.rst", "autoapi/dasf/transforms/transforms/index.rst", "autoapi/dasf/utils/benchmark/index.rst", "autoapi/dasf/utils/decorators/index.rst", "autoapi/dasf/utils/funcs/index.rst", "autoapi/dasf/utils/index.rst", "autoapi/dasf/utils/labels/index.rst", "autoapi/dasf/utils/logging/index.rst", "autoapi/dasf/utils/types/index.rst", "index.rst", "installation.rst", "overview.rst", "principles.rst", "tutorials.rst", "tutorials/Tutorial_1.ipynb", "tutorials/Tutorial_2.ipynb", "tutorials/Tutorial_3.ipynb", "tutorials/Tutorial_4.ipynb"], "titles": ["DASF API Reference", "dasf.datasets.base", "dasf.datasets.datasets", "dasf.datasets.download", "dasf.datasets", "dasf.debug.debug", "dasf.debug", "dasf.feature_extraction.histogram", "dasf.feature_extraction", "dasf.feature_extraction.transform", "dasf", "dasf.ml.cluster.agglomerative", "dasf.ml.cluster.classifier", "dasf.ml.cluster.dbscan", "dasf.ml.cluster.hdbscan", "dasf.ml.cluster", "dasf.ml.cluster.kmeans", "dasf.ml.cluster.som", "dasf.ml.cluster.spectral", "dasf.ml.core", "dasf.ml.decomposition", "dasf.ml.decomposition.pca", "dasf.ml.dl.clusters.dask", "dasf.ml.dl.clusters", "dasf.ml.dl", "dasf.ml.dl.models.devconvnet", "dasf.ml.dl.models", "dasf.ml.dl.pytorch_lightning", "dasf.ml", "dasf.ml.mixture.classifier", "dasf.ml.mixture.gmm", "dasf.ml.model_selection", "dasf.ml.model_selection.split", "dasf.ml.neighbors", "dasf.ml.neighbors.neighbors", "dasf.ml.preprocessing", "dasf.ml.preprocessing.standardscaler", "dasf.ml.svm", "dasf.ml.svm.svm", "dasf.ml.xgboost", "dasf.ml.xgboost.xgboost", "dasf.pipeline.executors.base", "dasf.pipeline.executors.dask", "dasf.pipeline.executors", "dasf.pipeline.executors.ray", "dasf.pipeline.executors.wrapper", "dasf.pipeline", "dasf.pipeline.pipeline", "dasf.pipeline.types", "dasf.profile.database", "dasf.profile.event", "dasf.profile", "dasf.profile.plugins.dasf", "dasf.profile.plugins.dask", "dasf.profile.plugins", "dasf.profile.plugins.resource_monitor", "dasf.transforms.base", "dasf.transforms", "dasf.transforms.memory", "dasf.transforms.operations", "dasf.transforms.transforms", "dasf.utils.benchmark", "dasf.utils.decorators", "dasf.utils.funcs", "dasf.utils", "dasf.utils.labels", "dasf.utils.logging", "dasf.utils.types", "Welcome to DASF Documentation!", "Installation Guide", "Overview", "Principles", "Tutorials", "Tutorial 1 - A Quick Demo", "Tutorial 2 - How to extend DASF Datasets", "Tutorial 3 - How Create Your Own Trasform", "Tutorial 4 - How Create an Agnostic Pipeline"], "terms": {"subpackag": 0, "name": [1, 3, 4, 5, 6, 19, 25, 46, 47, 49, 50, 52, 63, 69, 74, 75, 76], "download": [1, 4, 10, 27, 63, 76], "fals": [1, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 30, 32, 33, 34, 37, 38, 39, 40, 42, 43, 44, 46, 47, 55, 61, 65, 73, 76], "root": [1, 3, 4, 69, 74, 75, 76], "none": [1, 4, 5, 6, 7, 8, 11, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 47, 50, 55, 56, 57, 60, 61, 63, 65], "arg": [1, 4, 7, 8, 20, 21, 25, 26, 27, 39, 40, 41, 42, 43, 44, 46, 47, 50, 53, 61, 62, 63], "kwarg": [1, 2, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 26, 27, 32, 33, 34, 35, 36, 39, 40, 41, 42, 43, 44, 46, 47, 50, 53, 56, 57, 60, 61, 62, 63], "sourc": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67], "transform": [1, 4, 7, 8, 10, 11, 12, 15, 16, 18, 20, 21, 24, 27, 29, 32, 33, 34, 35, 36, 37, 38, 39, 40, 71, 75, 76], "targeteredtransform": [1, 4, 7, 8, 12, 20, 21, 32, 35, 36, 56, 57], "repres": [1, 4, 15, 18, 25, 26, 63, 76], "gener": [1, 4, 11, 13, 14, 15, 16, 18, 22, 23, 25, 63, 67, 68, 73, 74, 75, 76], "object": [1, 4, 5, 6, 11, 14, 15, 18, 25, 39, 40, 57, 58, 62, 63, 65, 66, 74, 75, 76], "str": [1, 3, 4, 5, 6, 11, 15, 18, 22, 23, 25, 46, 47, 49, 50, 55, 63], "symbol": [1, 4], "bool": [1, 3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 18, 22, 23, 25, 26, 41, 43, 50, 55, 63, 67], "If": [1, 3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 18, 25, 27, 63, 69, 73, 74, 75], "must": [1, 3, 4, 7, 8, 9, 11, 13, 14, 15, 16, 25, 26, 48, 63, 69], "default": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 25, 27, 42, 43, 44, 63], "i": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 22, 23, 25, 26, 27, 42, 43, 53, 55, 62, 63, 67, 69, 70, 71, 73, 74, 75, 76], "directori": [1, 3, 4, 11, 14, 15, 63, 69], "type": [1, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 22, 23, 41, 43, 46, 49, 50, 53, 62, 63, 64, 66, 69, 73, 74, 76], "addit": [1, 4, 5, 6, 13, 15, 25], "argument": [1, 4, 5, 6, 13, 15, 16, 18, 25, 26, 42, 43, 44, 63, 76], "without": [1, 4, 15, 17, 25, 53, 71, 75], "kei": [1, 4, 25, 42, 43, 53, 65], "keyworkd": [1, 4, 5, 6], "__set_dataset_cache_dir": [1, 4], "cach": [1, 4, 11, 14, 15], "home": [1, 4], "store": [1, 3, 4, 13, 15, 25], "": [1, 4, 14, 15, 16, 25, 26, 27, 53, 63, 71, 73, 74, 75, 76], "skeleton": [1, 4], "method": [1, 4, 11, 14, 15, 16, 18, 25, 26, 27, 53, 63, 68, 71, 74, 75, 76], "__len__": [1, 4], "intern": [1, 4, 13, 15, 25, 26, 67, 74], "data": [1, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 22, 23, 25, 27, 42, 43, 44, 49, 50, 57, 58, 59, 60, 62, 63, 65, 67, 68, 71, 73, 74, 75, 76], "length": [1, 4, 27], "int": [1, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 22, 23, 25, 41, 43, 48, 49, 63], "__getitem__": [1, 4], "idx": [1, 4, 25], "function": [1, 4, 7, 8, 13, 15, 16, 17, 18, 25, 26, 56, 57, 61, 68, 71, 73, 74, 75, 76], "ani": [1, 4, 8, 9, 15, 17, 18, 25, 63], "fetch": [1, 3, 4, 62, 63, 75], "It": [1, 4, 11, 15, 16, 18, 27, 57, 58, 76], "can": [1, 4, 11, 13, 14, 15, 16, 17, 18, 25, 26, 27, 55, 63, 69, 73, 74, 75, 76], "an": [1, 4, 5, 6, 7, 8, 9, 14, 15, 16, 18, 25, 26, 27, 53, 71, 72, 73], "integ": [1, 4, 25, 27], "tupl": [1, 4, 7, 8, 25, 57, 59, 62, 63], "datasetarrai": [1, 4, 74, 75, 76], "chunk": [1, 4, 57, 60, 63, 76], "auto": [1, 4, 11, 13, 15, 16, 20, 21, 33, 34], "wich": [1, 4], "defin": [1, 4, 11, 15, 16, 73, 75], "arrai": [1, 4, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 57, 58, 67, 74, 75], "shape": [1, 4, 5, 6, 7, 8, 9, 15, 16, 57, 59], "number": [1, 4, 7, 8, 11, 13, 14, 15, 16, 17, 18, 63, 71, 73], "block": [1, 4, 15, 16, 57, 58], "properti": [1, 4, 15, 18, 22, 23, 41, 42, 43, 44, 45, 50], "A": [1, 4, 5, 6, 13, 14, 15, 16, 17, 18, 25, 27, 42, 43, 44, 53, 63, 68, 72, 76], "__operator_check__": [1, 4], "other": [1, 4, 13, 14, 15, 18, 25, 26, 73, 74, 75], "__repr__": [1, 4], "represent": [1, 4], "__array__": [1, 4], "dtype": [1, 4, 15, 16, 45, 63], "__array_ufunc__": [1, 4], "ufunc": [1, 4], "input": [1, 4, 11, 13, 14, 15, 16, 17, 25, 76], "__check_op_input": [1, 4], "in_data": [1, 4], "proper": [1, 4, 63], "oper": [1, 4, 5, 6, 7, 8, 10, 25, 57, 71], "result": [1, 4, 7, 8, 11, 13, 14, 15, 16, 18, 27, 53, 73, 75, 76], "numpi": [1, 4, 11, 13, 14, 15, 16, 17, 18, 67, 73, 74, 76], "analyz": [1, 4, 15, 17, 73], "itself": [1, 4, 11, 13, 15, 46, 47, 75, 76], "__add__": [1, 4], "ad": [1, 4, 11, 15, 16], "two": [1, 4, 11, 13, 14, 15, 16, 18, 25, 27, 63, 73, 76], "datasetarri": [1, 4], "sum": [1, 4, 25], "__sub__": [1, 4], "subtract": [1, 4, 15, 16], "__mul__": [1, 4], "multipl": [1, 4, 13, 15, 25, 27, 75], "__div__": [1, 4], "divis": [1, 4], "__copy_attrs_from_data": [1, 4], "extend": [1, 4, 53, 68, 72], "metadata": [1, 4, 22, 23, 74], "new": [1, 4, 11, 13, 14, 15, 16, 18, 42, 43, 44, 57, 59, 63, 71, 76], "after": [1, 4, 15, 16, 18, 25, 27, 53, 76], "__npy_head": [1, 4], "read": [1, 4, 11, 13, 15, 16, 18], "header": [1, 4], "from": [1, 4, 5, 6, 8, 9, 11, 13, 14, 15, 16, 17, 18, 25, 57, 58, 63, 68, 69, 73, 74, 75, 76], "filelik": [1, 4], "_lazy_load": [1, 4], "xp": [1, 4, 7, 8, 9, 15, 17, 56, 57], "lazi": [1, 4, 74, 75], "load": [1, 4, 19, 25, 26, 49, 74, 75, 76], "us": [1, 4, 11, 13, 14, 15, 16, 17, 18, 25, 27, 63, 66, 68, 71, 72, 73, 74, 75, 76], "cpu": [1, 4, 15, 17, 25, 62, 63, 67, 69, 70, 73, 75, 76], "dask": [1, 4, 5, 6, 10, 15, 16, 18, 23, 24, 28, 43, 44, 46, 51, 54, 57, 58, 62, 63, 67, 68, 71, 73, 74, 76], "contain": [1, 4, 7, 8, 13, 14, 15, 17, 22, 23, 25, 26, 73, 76], "librari": [1, 4, 62, 68, 71, 73], "file": [1, 3, 4, 27, 63, 69, 74, 76], "follow": [1, 4, 11, 15, 16, 27, 71], "The": [1, 3, 4, 8, 9, 11, 13, 14, 15, 16, 18, 25, 27, 53, 57, 59, 63, 69, 70, 71, 73, 74, 75, 76], "futur": [1, 4, 15, 16, 53, 63], "_lazi": [1, 4], "_load": [1, 4], "implement": [1, 4, 13, 14, 15, 16, 25, 27, 53, 62, 63, 68, 71, 75], "_load_meta": [1, 4], "inspect": [1, 4], "dict": [1, 4, 13, 15, 18, 25, 49, 50], "dictionari": [1, 4, 15, 18, 22, 23, 25, 63], "inform": [1, 4, 5, 6, 11, 13, 14, 15, 16, 18, 27], "_lazy_load_gpu": [1, 4, 74], "gpu": [1, 4, 15, 17, 25, 27, 42, 43, 62, 63, 67, 68, 69, 70, 71, 73, 74, 75], "doe": [1, 4, 14, 15, 16, 55, 71, 73], "immediattli": [1, 4], "_lazy_load_cpu": [1, 4, 74], "_load_gpu": [1, 4, 74], "e": [1, 4, 11, 13, 15, 16, 17, 25, 69, 71], "g": [1, 4, 15, 17, 25, 71], "cupi": [1, 4, 11, 13, 14, 15, 16, 17, 42, 43, 67, 74, 76], "_load_cpu": [1, 4, 74, 75], "placehold": [1, 4], "inspect_metadata": [1, 4], "all": [1, 4, 11, 13, 15, 16, 18, 22, 23, 25, 26, 27, 57, 58, 62, 63, 69, 73, 74, 75, 76], "datasetzarr": [1, 4], "zarr": [1, 4], "datasethdf5": [1, 4], "dataset_path": [1, 4, 57, 60], "hdf5": [1, 4], "rel": [1, 4, 15, 16], "path": [1, 4, 5, 6, 11, 14, 15, 49, 55], "datasetxarrai": [1, 4], "data_var": [1, 4], "xarrai": [1, 4, 67], "index": [1, 4, 8, 9, 15, 16, 25, 68], "datasetlabel": [1, 4, 76], "label": [1, 4, 10, 14, 15, 16, 18, 64, 73, 76], "each": [1, 4, 7, 8, 11, 14, 15, 16, 17, 18, 25, 27, 53, 55, 63, 73, 74, 75, 76], "item": [1, 4, 25], "2": [1, 4, 7, 8, 11, 13, 14, 15, 16, 17, 18, 25, 33, 34, 68, 72, 73, 75, 76], "element": [1, 4, 7, 8, 13, 15, 16, 17, 18], "where": [1, 4, 15, 16, 17, 18, 48, 63, 69, 73, 76], "first": [1, 4, 8, 9, 15, 16, 25, 73, 74, 75, 76], "second": [1, 4, 25, 73, 76], "respect": [1, 4, 63, 69, 70, 74, 75, 76], "access": [1, 4], "x": [1, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 20, 21, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57, 58, 59, 60, 65, 73, 75, 76], "__chunk": [1, 4], "descript": [1, 4, 15, 18], "train": [1, 4, 15, 16, 25, 26, 27, 32, 71, 76], "togeth": [1, 4], "datasetdatafram": [1, 4], "true": [1, 3, 4, 7, 8, 11, 13, 14, 15, 16, 20, 21, 22, 23, 25, 26, 27, 30, 32, 33, 34, 35, 36, 37, 38, 42, 43, 44, 50, 56, 57, 60, 61, 63, 74, 76], "datafram": [1, 4, 8, 9, 67], "cudf": [1, 4, 11, 13, 14, 15, 16, 67], "panda": [1, 4, 67], "datasetparquet": [1, 4], "parquet": [1, 4], "make_blob": [2, 4, 73, 76], "singleton": 50, "isotrop": [], "gaussian": [15, 17, 18, 70], "cluster": [10, 24, 28, 42, 43, 44, 63, 70, 73, 74, 76], "automat": [14, 25], "select": [14, 15, 16], "base": [3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 52, 53, 55, 57, 58, 59, 60, 63, 65, 69, 73, 76], "hardwar": 27, "avail": [15, 16, 25, 63, 71, 73], "return": [5, 6, 22, 23, 25, 26, 27, 41, 43, 49, 50, 55, 57, 58, 62, 63, 66, 67, 74, 75, 76], "suitabl": [15, 18], "__call__": [2, 4, 50], "being": [11, 15, 63], "callabl": [11, 13, 14, 15, 16, 18, 49, 63], "_lazy_make_blobs_cpu": [2, 4], "_lazy_make_blobs_gpu": [2, 4], "_make_blobs_cpu": [2, 4], "_make_blobs_gpu": [2, 4], "make_classif": [2, 4], "_lazy_make_classification_cpu": [2, 4], "_lazy_make_classification_gpu": [2, 4], "_make_classification_cpu": [2, 4], "_make_classification_gpu": [2, 4], "make_regress": 2, "_lazy_make_regression_cpu": 2, "_lazy_make_regression_gpu": 2, "_make_regression_cpu": 2, "_make_regression_gpu": 2, "downloadwget": 3, "url": [3, 57, 60, 63], "filenam": [3, 5, 6, 46, 47, 57, 60, 63], "via": 3, "wget": 3, "resourc": 3, "downloadgdr": 3, "google_file_id": 3, "googl": [3, 63], "drive": [3, 63], "id": [3, 63], "blob": [73, 76], "modul": [4, 15, 26, 68], "print": [5, 6, 75], "about": [5, 6, 15, 16, 27, 71], "datatyp": [5, 6], "etc": [5, 6, 25, 26, 27, 42, 43, 71], "self": [5, 6, 15, 16, 17, 25, 26, 27, 48, 50, 53, 73, 75, 76], "refer": [5, 6, 68, 73, 76], "displai": [5, 6, 25], "visualizedaskdata": [5, 6], "visual": [5, 6, 11, 14, 15, 46, 47, 76], "save": [5, 6, 14, 27, 57, 60, 63, 74, 75, 76], "bin": [7, 8], "rang": [7, 8, 70], "norm": [7, 8, 15, 16], "weight": [7, 8, 13, 15, 16, 17, 25], "densiti": [7, 8, 13, 14, 15], "extract": [7, 8], "option": [7, 8, 11, 13, 14, 15, 18, 25, 50, 53], "lower": [7, 8, 14, 15, 16, 17], "upper": [7, 8], "provid": [7, 8, 14, 15, 18], "simpli": [7, 8, 25], "min": [7, 8, 15, 17], "max": [7, 8], "historgram": [7, 8], "normal": [7, 8, 15, 18, 25, 57, 60, 76], "same": [7, 8, 25, 26, 69, 71, 73, 74, 75, 76], "valu": [7, 8, 13, 14, 15, 16, 17, 18, 25, 27, 55, 75], "onli": [7, 8, 11, 13, 14, 15, 16, 18, 25, 27, 55, 73], "contribut": [7, 8], "its": [7, 8, 13, 14, 15, 16, 25, 53, 74], "associ": [7, 8, 25, 73], "toward": [7, 8], "count": [7, 8, 63], "sampl": [7, 8, 9, 11, 13, 14, 15, 16, 17, 27, 73, 76], "probabl": [7, 8, 14, 15, 16, 37, 38, 73, 76], "integr": [7, 8, 14], "over": [7, 8, 9, 14], "1": [7, 8, 11, 13, 14, 15, 16, 17, 18, 25, 26, 27, 30, 33, 34, 37, 38, 55, 68, 72, 74, 75, 76], "__lazy_transform_gener": [7, 8, 56, 57, 58], "__transform_gener": [7, 8, 9, 57, 60], "_lazy_transform_cpu": [7, 8, 20, 21, 32, 35, 36, 56, 57, 58, 60, 75], "_lazy_transform_gpu": [7, 8, 20, 21, 32, 35, 36, 56, 57, 58, 60, 75], "_transform_cpu": [7, 8, 9, 20, 21, 32, 35, 36, 56, 57, 58, 60, 75], "_transform_gpu": [7, 8, 9, 20, 21, 32, 35, 36, 56, 57, 58, 60, 75], "histogram": [8, 10], "concatenatetoarrai": [8, 9], "flatten": [8, 9], "concaten": [8, 9], "differ": [8, 9, 14, 15, 16, 18, 25, 53, 71, 73, 74, 75], "singl": [8, 9, 11, 14, 15, 16, 25, 27, 63, 73, 76], "prior": [8, 9], "share": [8, 9, 25, 26, 27], "last": [8, 9, 15, 16, 17], "dimans": [8, 9], "order": [8, 9, 15, 16, 53, 71], "sampledatafram": [8, 9], "percent": [8, 9, 55], "subset": [8, 9], "random": [8, 9, 15, 16, 17, 18, 74], "origin": [8, 9, 14, 15, 16], "dataset": [8, 9, 10, 14, 15, 17, 25, 27, 46, 47, 68, 72, 73, 75, 76], "float": [8, 9, 11, 13, 14, 15, 16, 17, 18, 49, 50], "percentag": [8, 9], "get": [8, 9, 63, 73, 75], "run": [8, 9, 13, 14, 15, 16, 18, 25, 46, 47, 53, 55, 57, 59, 61, 62, 63, 69, 73, 74, 75, 76], "getsubecubearrai": [8, 9], "subcub": [8, 9], "one": [8, 9, 13, 14, 15, 16, 18, 25, 55, 73, 76], "cube": [8, 9], "slicedatafram": [8, 9], "iline_index": [8, 9], "fit": [8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 24, 25, 27, 29, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57, 71, 76], "slice": [8, 9, 74], "inlin": [8, 9], "section": [8, 9, 15, 16, 27, 71], "axi": [8, 9], "y": [8, 9, 11, 13, 14, 15, 16, 17, 18, 20, 21, 24, 25, 27, 29, 30, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57, 59, 60, 73, 76], "getsubdatafram": [8, 9], "debug": [10, 61], "feature_extract": 10, "ml": [10, 70, 73, 76], "agglom": [10, 15, 28, 70], "classifi": [10, 11, 13, 14, 15, 16, 17, 18, 28, 30, 73], "dbscan": [10, 14, 15, 28, 70], "hdbscan": [10, 15, 28, 70], "kmean": [10, 15, 18, 28, 30, 73, 76], "som": [10, 15, 28, 70, 73, 76], "spectral": [10, 15, 28], "decomposit": [10, 15, 18, 28], "pca": [10, 20, 28, 70], "dl": [10, 28], "model": [10, 19, 24, 27, 28, 56, 57, 70], "pytorch_lightn": [10, 22, 23, 24, 25, 28], "model_select": [10, 28], "split": [10, 14, 27, 28, 31], "neighbor": [10, 11, 13, 15, 17, 18, 28], "preprocess": [10, 28], "standardscal": [10, 28, 35], "svm": [10, 28], "xgboost": [10, 28], "core": [10, 13, 14, 15, 28, 74], "pipelin": [10, 52, 55, 68, 71, 72], "executor": [10, 46, 47, 62, 63, 76], "wrapper": [10, 43, 46, 74], "memori": [10, 11, 13, 14, 15, 16, 17, 42, 43, 53, 57, 63], "util": [10, 15, 17, 25, 73], "decor": [10, 64, 75], "func": [10, 27, 46, 47, 52, 62, 64], "log": [10, 25, 53, 64], "agglomerativeclust": [11, 15], "n_cluster": [11, 15, 16, 18, 73, 76], "affin": [11, 15, 18], "euclidean": [11, 13, 14, 15, 17, 18], "connect": [11, 14, 15, 18, 76], "linkag": [11, 14, 15], "compute_full_tre": [11, 15], "distance_threshold": [11, 15], "compute_dist": [11, 15], "handl": [11, 15, 25, 33, 34, 37, 38, 74], "verbos": [11, 13, 14, 15, 16, 18, 30, 33, 34, 37, 38, 39, 40, 46, 47, 55], "n_neighbor": [11, 14, 15, 18, 33, 34], "10": [11, 14, 15, 16, 18, 30, 76], "output_typ": [11, 13, 14, 15, 16, 33, 34], "clusterclassifi": [11, 12, 13, 14, 15, 16, 17, 18], "recurs": [11, 15, 71], "merg": [11, 14, 15], "pair": [11, 15], "minim": [11, 15], "increas": [11, 15, 16, 17, 18, 68], "given": [11, 14, 15, 16], "distanc": [11, 13, 14, 15, 16, 17, 18], "more": [11, 13, 14, 15, 16, 18, 25, 27, 53, 71, 75], "user": [11, 13, 15, 16, 18, 53, 71, 73, 76], "guid": [11, 13, 15, 16, 18, 68], "find": [11, 13, 14, 15, 18], "metric": [11, 13, 14, 15, 25, 33, 34], "comput": [11, 13, 14, 15, 16, 17, 18, 25, 53, 68, 71, 76], "l1": [11, 15, 27], "l2": [11, 15, 37, 38], "manhattan": [11, 15, 17], "cosin": [11, 15, 17], "precomput": [11, 13, 14, 15, 16, 18], "ward": [11, 15], "accept": [11, 13, 14, 15], "matrix": [11, 13, 14, 15, 16, 18], "instead": [11, 14, 15, 27, 75, 76], "similar": [11, 13, 15, 18, 22, 23, 25, 73], "need": [11, 15, 17, 25, 27, 69, 73, 74, 75, 76], "joblib": [11, 13, 14, 15, 18], "interfac": [11, 15, 53, 71], "output": [11, 13, 14, 15, 16, 18, 25, 26, 32, 63], "tree": [11, 13, 14, 15, 25, 26], "By": [11, 14, 15, 63], "done": [11, 14, 15, 16, 18, 69], "string": [11, 13, 14, 15, 17, 18, 53], "like": [11, 15, 16, 25, 42, 43, 67, 73, 74, 75], "structur": [11, 15, 18, 25, 26, 70, 75, 76], "thi": [11, 13, 14, 15, 16, 18, 22, 23, 25, 26, 27, 53, 63, 68, 69, 71, 73, 74, 75, 76], "deriv": [11, 15], "kneighbors_graph": [11, 15], "hierarch": [11, 14, 15], "algorithm": [11, 13, 14, 15, 16, 18, 33, 34, 68, 73, 76], "unstructur": [11, 15], "stop": [11, 15, 16, 18, 25, 65], "earli": [11, 15], "construct": [11, 13, 15, 18, 63, 71], "decreas": [11, 15], "time": [11, 15, 16, 17, 18, 55, 71, 73, 76], "small": [11, 15, 16, 63], "compar": [11, 15, 73, 75], "when": [11, 13, 14, 15, 16, 18, 22, 23, 25, 26, 27, 53, 63, 71, 76], "specifi": [11, 15, 18, 25, 27, 63, 71, 76], "note": [11, 25, 27, 53, 55], "also": [11, 18, 25, 26, 48, 71, 73, 75], "vari": [11, 14, 15], "mai": [11, 13, 14, 15, 16, 17, 18, 63], "advantag": [11, 15, 27, 71], "full": [11, 15, 16, 30, 71], "which": [11, 13, 14, 15, 16, 18, 22, 23, 25, 42, 43, 55, 74], "equival": [11, 13, 15, 16], "inferior": [11, 15], "maximum": [11, 13, 15, 16, 71], "between": [11, 13, 14, 15, 18, 25], "100": [11, 15, 17, 24, 27, 30, 37, 38, 39, 40, 57, 59, 73, 76], "0": [11, 13, 14, 15, 16, 17, 18, 20, 21, 25, 26, 27, 30, 33, 34, 37, 38, 55, 57, 59, 73, 75, 76], "02": [11, 15], "n_sampl": [11, 15, 16, 18, 73, 76], "otherwis": [11, 15, 27], "complet": [11, 15, 18], "averag": [11, 15, 16], "criterion": [11, 15, 18], "determin": [11, 15, 16], "set": [11, 13, 14, 15, 16, 17, 18, 22, 23, 25, 27, 42, 43, 55, 69, 73, 75], "observ": [11, 15, 16], "varianc": [11, 15], "minimum": [11, 14, 15], "version": [11, 13, 15, 16, 18, 68], "20": [11, 15, 25, 26, 74], "threshold": [11, 14, 15], "abov": [11, 15, 25, 26, 27], "21": [11, 15], "even": [11, 15, 16, 75], "make": [11, 15, 16, 18, 27, 63, 69, 71], "dendrogram": [11, 15], "introduc": [11, 15, 16], "overhead": [11, 15, 16], "24": [11, 15, 18, 76], "15": [11, 15], "knn": [11, 14, 15], "numba": [11, 13, 14, 15, 16], "variabl": [11, 13, 14, 15, 16, 25, 26, 75, 76], "control": [11, 13, 14, 15, 16, 25, 63], "attribut": [11, 13, 14, 15, 16, 25, 26, 27], "estim": [11, 13, 14, 15, 16], "ll": [11, 13, 14, 15, 16], "inherit": [11, 13, 14, 15, 16], "level": [11, 13, 14, 15, 16], "cuml": [11, 13, 14, 15, 16], "global_set": [11, 13, 14, 15, 16], "see": [11, 14, 18, 25, 27, 48, 53, 73, 74, 75], "configur": [11, 13, 14, 15, 16, 25], "info": [11, 13, 14, 15, 16, 25, 76], "import": [11, 13, 14, 15, 16, 17, 18, 25, 26, 53, 62, 73, 74, 75, 76], "np": [11, 13, 14, 15, 16, 17, 18, 73, 74, 76], "4": [11, 14, 15, 16, 17, 18, 25, 26, 68, 72, 73, 74, 75], "For": [11, 13, 14, 15, 16, 18, 27, 55, 71, 73, 74, 75, 76], "further": [11, 13, 14, 15, 16, 18, 71, 73], "http": [11, 13, 14, 15, 16, 18], "scikit": [11, 13, 14, 15, 16, 18, 71, 73, 76], "learn": [11, 13, 14, 15, 16, 17, 18, 25, 68, 71, 73, 76], "org": [11, 13, 14, 15, 16, 18], "stabl": [11, 13, 14, 15, 16, 18], "sklearn": [11, 13, 14, 15, 16, 18], "html": [11, 13, 14, 15, 16, 18], "doc": [11, 13, 14, 15, 16, 18], "rapid": [11, 13, 14, 15, 16, 68], "ai": [11, 13, 14, 15, 16, 68], "api": [11, 13, 14, 15, 16, 25, 68, 73, 75], "_fit_cpu": [11, 13, 14, 15, 16, 17, 18, 20, 21, 24, 27, 30, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57], "convert_dtyp": [11, 14, 15], "_fit_gpu": [11, 13, 14, 15, 16, 17, 20, 21, 24, 27, 33, 34, 35, 36, 37, 38, 39, 40, 56, 57], "_fit_predict_cpu": [11, 13, 14, 15, 16, 17, 18, 30, 56, 57], "_fit_predict_gpu": [11, 13, 14, 15, 16, 17, 56, 57], "fitpredict": [12, 29, 39, 40, 56, 57], "fittransform": [12, 20, 21, 29, 35, 36, 56, 57], "predict": [12, 14, 15, 16, 27, 37, 38, 39, 40, 56, 57, 71, 73], "getparam": [12, 29, 33, 34, 37, 38, 56, 57], "setparam": [12, 29, 33, 34, 37, 38, 56], "ep": [13, 15], "5": [13, 14, 15, 17, 18, 25, 26, 33, 34, 37, 38, 73, 74, 75, 76], "leaf_siz": [13, 14, 15, 33, 34], "40": [13, 14, 15], "min_sampl": [13, 14, 15], "p": [13, 14, 15, 16, 33, 34], "calc_core_sample_indic": [13, 15], "perform": [13, 14, 15, 17, 25, 73], "vector": [13, 14, 15, 16, 17], "spatial": [13, 14, 15], "applic": [13, 14, 15], "nois": [13, 14, 15], "high": [13, 15, 17, 18], "expand": [13, 15], "them": [13, 15, 25, 26, 27, 71, 76], "good": [13, 15, 27], "consid": [13, 14, 15], "neighborhood": [13, 15, 17], "bound": [13, 15], "point": [13, 14, 15, 16, 18, 73], "within": [13, 15, 27, 53], "most": [13, 14, 15, 16, 68, 71, 73, 75], "choos": [13, 14, 15, 16, 25], "appropri": [13, 15], "your": [13, 14, 15, 17, 25, 26, 27, 53, 55, 68, 69, 72, 73], "total": [13, 15, 16, 27, 63, 73, 76], "includ": [13, 15, 25, 75], "calcul": [13, 14, 15, 17, 25], "instanc": [13, 14, 15, 16, 18, 25, 63, 69], "featur": [13, 14, 15, 53], "allow": [13, 14, 15, 25, 26, 27, 57, 58, 71], "pairwise_dist": [13, 14, 15], "assum": [13, 14, 15], "squar": [13, 14, 15], "glossari": [13, 15, 16, 18], "case": [13, 14, 15, 16, 25, 75], "nonzero": [13, 15], "17": [13, 15], "spars": [13, 15, 16, 18], "metric_param": [13, 15, 33, 34], "keyword": [13, 15, 18, 25, 26, 42, 43, 44, 63], "19": [13, 15], "ball_tre": [13, 15], "kd_tree": [13, 15], "brute": [13, 15], "nearestneighbor": [13, 15, 33, 34], "pointwis": [13, 15], "nearest": [13, 15, 18], "document": [13, 15], "detail": [13, 15, 16, 18, 53, 71], "30": [13, 14, 15, 33, 34], "leaf": [13, 14, 15], "size": [13, 14, 15, 17, 22, 23, 25, 63, 73, 76], "pass": [13, 15, 16, 18, 25, 26, 53, 63, 76], "balltre": [13, 14, 15], "ckdtree": [13, 15], "affect": [13, 15], "speed": [13, 14, 15, 16, 18, 68, 73], "queri": [13, 15], "well": [13, 15, 16, 17, 18, 68], "requir": [13, 14, 15, 18, 25, 75], "optim": [13, 15, 25, 73], "depend": [13, 15, 71], "natur": [13, 14, 15], "problem": [13, 15, 16, 18, 71], "power": [13, 15, 71], "minkowski": [13, 14, 15, 33, 34], "n_job": [13, 15, 16, 18, 33, 34, 39, 40], "parallel": [13, 14, 15, 16, 18], "job": [13, 14, 15, 16, 18, 55], "mean": [13, 15, 16, 18, 63, 70], "unless": [13, 15, 18, 27], "parallel_backend": [13, 15, 18], "context": [13, 15, 18], "processor": [13, 15, 16, 18], "boolean": [13, 14, 15, 25, 26], "indic": [13, 15, 18], "whether": [13, 14, 15, 18, 25, 26], "should": [13, 14, 15, 16, 17, 18, 25, 26, 55, 63, 71, 74, 76], "core_sample_indices_": [13, 15], "avoid": [13, 15], "unnecessari": [13, 15], "kernel": [13, 15, 18, 37, 38], "launch": [13, 15, 22, 23], "3": [13, 14, 15, 16, 17, 18, 37, 38, 63, 68, 72, 73, 74, 76], "8": [13, 14, 15, 16, 17, 18, 73, 76], "7": [13, 14, 15, 17, 18, 73, 74, 75, 76], "25": [13, 14, 15, 76], "80": [13, 14, 15], "optic": [13, 15], "our": [13, 15, 73, 74, 75, 76], "usag": [13, 15, 17, 63], "ester": [13, 15], "m": [13, 14, 15, 69, 73, 74], "h": [13, 15], "kriegel": [13, 15], "j": [13, 14, 15], "sander": [13, 14, 15], "xu": [13, 15], "discov": [13, 15, 74], "larg": [13, 14, 15, 16, 18, 71], "databas": [10, 13, 15, 50, 51], "In": [13, 14, 15, 16, 18, 25, 27, 71, 73, 74, 75, 76], "proceed": [13, 15], "2nd": [13, 15], "confer": [13, 14, 15], "knowledg": [13, 14, 15], "discoveri": [13, 14, 15], "mine": [13, 14, 15], "portland": [13, 15], "OR": [13, 15], "aaai": [13, 15], "press": [13, 15], "pp": [13, 14, 15], "226": [13, 15], "231": [13, 15], "1996": [13, 15], "schubert": [13, 15], "2017": [13, 15], "revisit": [13, 15], "why": [13, 15, 16, 75], "how": [13, 15, 16, 18, 25, 63, 68, 72, 73], "you": [13, 14, 15, 22, 23, 25, 26, 27, 55, 63, 69, 73, 74, 75, 76], "still": [13, 15, 71, 76], "acm": [13, 14, 15], "transact": [13, 14, 15], "system": [13, 14, 15, 27], "tod": [13, 15], "42": [13, 15, 73, 76], "_lazy_fit_gpu": [13, 15, 16, 17, 20, 21, 24, 27, 35, 36, 39, 40, 56, 57], "out_dtyp": [13, 15], "int32": [13, 15, 16], "sample_weight": [13, 15, 16, 17, 18, 20, 21, 29, 37, 38, 39, 40, 56, 57], "_lazy_fit_predict_gpu": [13, 15, 16, 17, 56, 57], "alpha": [14, 73, 76], "gen_min_span_tre": 14, "min_cluster_s": 14, "best": [14, 15, 16, 18], "approx_min_span_tre": 14, "core_dist_n_job": 14, "cluster_selection_method": 14, "eom": 14, "allow_single_clust": 14, "prediction_data": 14, "match_reference_implement": 14, "epsilon": [14, 37, 38], "give": [14, 15, 16], "stabil": 14, "unlik": 14, "robust": 14, "fewer": 14, "than": [14, 15, 16], "fall": [14, 15, 16], "out": [14, 25], "rather": [14, 71], "neighbourhood": 14, "pairwis": [14, 15, 16], "scale": [14, 15, 16, 37, 38, 68, 71], "cluster_selection_epsilon": 14, "below": [14, 25, 69, 70], "exactli": [14, 75], "ha": [14, 15, 17, 25, 53, 71, 73, 74], "variant": [14, 15, 16], "specialis": 14, "characterist": 14, "forc": [14, 62], "believ": [14, 71], "know": [14, 25, 73, 75], "better": [14, 15, 16, 73, 76], "ar": [14, 15, 16, 18, 25, 26, 27, 48, 53, 63, 71, 73, 74, 75, 76], "prims_kdtre": 14, "prims_balltre": 14, "boruvka_kdtre": 14, "boruvka_balltre": 14, "space": [14, 15, 18, 71], "kdtree": 14, "ina": 14, "node": [14, 22, 23, 27, 63, 71, 76], "alter": 14, "have": [14, 25, 26, 53, 69, 71, 73, 74, 75], "effect": 14, "runtim": 14, "approxim": 14, "span": 14, "some": [14, 25, 53, 71, 73, 75, 76], "signific": [14, 15, 17, 71], "speedup": 14, "margin": 14, "qualiti": 14, "willing": 14, "sacrific": 14, "correct": [14, 27], "want": [14, 69, 73, 74, 75, 76], "explor": [14, 71], "left": 14, "regard": [14, 15, 16], "mutual": 14, "reachabl": 14, "later": 14, "analysi": 14, "support": [14, 15, 18, 25, 63, 68, 70], "specif": [14, 25, 73, 74], "n_cpu": 14, "condens": 14, "standard": [14, 27, 63, 71], "approach": [14, 15, 18], "excess": 14, "mass": 14, "persist": [14, 15, 18, 57, 58, 76], "altern": [14, 15, 16, 18], "leav": 14, "fine": 14, "grain": 14, "homogen": 14, "produc": [14, 15, 18, 25], "overrid": [14, 25, 63], "feel": 14, "valid": [14, 25, 27], "extra": [14, 15, 16, 42, 43], "membership": 14, "few": [14, 25], "unseen": 14, "wish": 14, "re": 14, "There": [14, 15, 18, 27, 63, 71, 76], "exist": [14, 53, 71], "interpret": [14, 15, 18], "author": 14, "java": 14, "veri": [14, 15, 16, 18, 71], "minor": 14, "flag": 14, "cost": [14, 15, 16], "ensur": [14, 27], "match": [14, 22, 23], "entir": 14, "fulli": [14, 15, 16, 63], "graph": [14, 15, 18, 71, 76], "fastest": [14, 15, 16], "fast": [14, 15, 16, 73], "smaller": [14, 71], "o": [14, 15, 16], "n": [14, 15, 16, 17, 63], "sparsifi": 14, "enabl": [14, 25, 53, 71], "much": [14, 15, 16], "larger": [14, 15, 18], "amount": [14, 15, 16], "event": [10, 14, 51, 53, 55], "wa": [14, 71], "enough": 14, "campello": 14, "r": 14, "moulavi": 14, "d": [14, 15, 16, 17, 18, 25, 73], "2013": 14, "april": 14, "pacif": 14, "asia": 14, "160": [14, 15, 18], "172": 14, "springer": 14, "berlin": 14, "heidelberg": 14, "zimek": 14, "2015": 14, "outlier": 14, "detect": [14, 22, 23], "tkdd": 14, "chaudhuri": 14, "k": [14, 15, 16, 18, 70, 73, 76], "dasgupta": 14, "2010": 14, "rate": [14, 15, 17, 25], "converg": [14, 15, 16], "advanc": [14, 53, 76], "neural": [14, 25, 26], "process": [14, 15, 17, 22, 23, 25, 27, 42, 43, 71], "343": 14, "351": 14, "jaskowiak": 14, "2014": 14, "sdm": 14, "839": 14, "847": 14, "malzer": 14, "c": [14, 15, 16, 37, 38, 73, 76], "baum": 14, "2019": 14, "hybrid": 14, "To": [14, 25, 53, 69, 73, 74, 75, 76], "arxiv": 14, "preprint": 14, "1911": 14, "02282": 14, "init": [15, 16], "n_init": [15, 16, 18, 30], "max_it": [15, 16, 24, 27, 30, 37, 38, 73, 76], "300": [15, 16], "tol": [15, 16, 20, 21, 30, 37, 38], "0001": [15, 16, 37, 38], "random_st": [15, 16, 18, 20, 21, 30, 32, 37, 38, 39, 40, 73, 76], "copy_x": [15, 16], "oversampling_factor": [15, 16], "init_max_it": [15, 16], "max_samples_per_batch": [15, 16], "32768": [15, 16], "precompute_dist": [15, 16], "form": [15, 16, 63], "centroid": [15, 16, 18], "n_featur": [15, 16], "initi": [15, 16, 17, 18, 25, 26, 48, 66], "center": [15, 16, 18, 73, 76], "smart": [15, 16], "wai": [15, 16, 18, 25, 26, 27, 63, 71, 73], "up": [15, 16, 18, 27, 68], "k_init": [15, 16], "row": [15, 16], "take": [15, 16, 18, 71], "state": [15, 16, 25, 26, 27, 53], "seed": [15, 16, 17, 18], "final": [15, 16, 17, 18, 25, 53], "consecut": [15, 16, 18], "term": [15, 16, 18], "inertia": [15, 16, 18], "iter": [15, 16, 17, 27, 71], "1e": [15, 16, 30, 37, 38], "toler": [15, 16], "frobeniu": [15, 16], "declar": [15, 16], "faster": [15, 16, 18], "do": [15, 16, 25, 27, 63, 69, 73, 74, 76], "12": [15, 16], "million": [15, 16], "correspond": [15, 16, 22, 23, 25, 53, 62], "100mb": [15, 16], "per": [15, 16, 25, 26, 27], "doubl": [15, 16], "precis": [15, 16, 25], "alwai": [15, 16, 53, 63, 69], "never": [15, 16], "mode": [15, 16, 18, 25, 26], "randomst": [15, 16, 18], "determinist": [15, 16, 18], "pre": [15, 16], "numer": [15, 16], "accur": [15, 16, 48, 73], "modifi": [15, 16], "put": [15, 16, 25], "back": [15, 16, 25], "befor": [15, 16, 25, 26, 27, 63, 75], "contigu": [15, 16], "copi": [15, 16, 20, 21, 35, 36, 57, 58, 76], "made": [15, 16, 25, 26], "csr": [15, 16], "format": [15, 16, 55, 71], "openmp": [15, 16], "thread": [15, 16, 53, 55, 63], "wise": [15, 16], "main": [15, 16, 27, 53, 71], "cython": [15, 16], "loop": [15, 16], "assign": [15, 16, 18, 25, 26, 27, 76], "closest": [15, 16], "step": [15, 16, 25, 53, 74], "elkan": [15, 16], "classic": [15, 16], "em": [15, 16], "style": [15, 16], "variat": [15, 16], "effici": [15, 16], "triangl": [15, 16, 17], "inequ": [15, 16], "howev": [15, 16, 27], "intens": [15, 16], "due": [15, 16, 17], "alloc": [15, 16, 42, 43], "now": [15, 16, 73, 75, 76], "kept": [15, 16], "backward": [15, 16, 25], "compatibilii": [15, 16], "might": [15, 16, 25, 76], "chang": [15, 16, 53], "heurist": [15, 16], "18": [15, 16], "scalabl": [15, 16, 71], "potenti": [15, 16], "lead": [15, 16, 18, 76], "batch": [15, 16, 25, 71], "throughout": [15, 16, 53], "both": [15, 16, 25, 26, 73, 74], "suit": [15, 16, 18], "becom": [15, 16, 71], "necessari": [15, 16, 27, 73], "prohibit": [15, 16], "minibatchkmean": [15, 16], "onlin": [15, 16], "increment": [15, 16], "updat": [15, 16, 25], "posit": [15, 16, 17, 27, 73, 76], "mini": [15, 16], "sai": [15, 16], "10k": [15, 16], "solv": [15, 16, 71], "either": [15, 16, 18, 25, 27], "lloyd": [15, 16], "complex": [15, 16], "t": [15, 16, 22, 23, 25, 27, 53, 55], "worst": [15, 16], "arthur": [15, 16], "vassilvitskii": [15, 16], "slow": [15, 16], "socg2006": [15, 16], "practic": [15, 16, 18], "local": [15, 16, 22, 23, 27, 42, 43, 44, 45, 57, 58, 63, 75, 76], "minima": [15, 16], "That": [15, 16], "restart": [15, 16], "sever": [15, 16], "becaus": [15, 16], "labels_": [15, 16], "cluster_centers_": [15, 16], "consist": [15, 16, 27], "reassign": [15, 16], "dask_ml": [15, 16, 18], "_lazy_fit_cpu": [15, 16, 17, 20, 21, 24, 27, 35, 36, 39, 40, 56, 57], "convert": [15, 16, 25, 26, 63, 76], "caus": [15, 16], "apo": [15, 16], "ignor": [15, 16, 18], "Not": [15, 16], "present": [15, 16, 25, 73], "here": [15, 16, 25, 27, 73, 74, 75, 76], "convent": [15, 16], "equal": [15, 16, 75], "_lazy_fit_predict_cpu": [15, 16, 17, 18, 56, 57], "conveni": [15, 16], "call": [15, 16, 18, 25, 26, 27, 50, 53, 63, 74, 75], "ndarrai": [15, 16, 74], "belong": [15, 16], "_lazy_predict_cpu": [15, 16, 17, 39, 40, 56, 57], "quantiz": [15, 16], "literatur": [15, 16], "code": [15, 16, 53, 63, 73, 74, 75, 76], "book": [15, 16], "_lazy_predict_gpu": [15, 16, 17, 39, 40, 56, 57], "_predict_cpu": [15, 16, 17, 30, 37, 38, 39, 40, 56, 57], "_predict_gpu": [15, 16, 17, 37, 38, 39, 40, 56, 57], "_lazy_predict2_cpu": [15, 16], "_lazy_predict2_gpu": [15, 16], "abstract": [15, 16, 29, 32, 49, 56, 57], "_predict2_cpu": [15, 16], "_predict2_gpu": [15, 16], "predict2": [15, 16], "input_len": [15, 17, 73, 76], "num_epoch": [15, 17, 73, 76], "sigma": [15, 17], "sigman": [15, 17], "learning_r": [15, 17, 39, 40], "learning_raten": [15, 17], "01": [15, 17], "decay_funct": [15, 17], "exponenti": [15, 17], "neighborhood_funct": [15, 17], "std_coeff": [15, 17], "topologi": [15, 17], "rectangular": [15, 17], "activation_dist": [15, 17], "random_se": [15, 17], "n_parallel": [15, 17], "compact_support": [15, 17], "organ": [15, 17, 73, 75], "map": [15, 17, 62, 73], "rule": [15, 17], "thumb": [15, 17], "grid": [15, 17, 25], "dimension": [15, 17], "reduct": [15, 17], "task": [15, 17, 53, 76], "sqrt": [15, 17], "neuron": [15, 17], "150": [15, 17], "61": [15, 17], "23": [15, 17, 76], "henc": [15, 17], "dimens": [15, 17, 18], "spread": [15, 17, 18], "adequ": [15, 17], "reduc": [15, 17, 63, 75, 76], "possibl": [15, 17, 25, 26, 71], "linear": [15, 17, 27], "aymptot": [15, 17], "mexican_hat": [15, 17], "bubbl": [15, 17], "hexagon": [15, 17], "activ": [15, 17, 63, 73, 76], "uint": [15, 17], "max_cuda_thread": [15, 17], "500": [15, 17], "cpucor": [15, 17], "too": [15, 17, 25, 26], "low": [15, 17], "drastic": [15, 17], "under": [15, 17, 71], "grant": [15, 17], "benefit": [15, 17], "els": [15, 17, 27, 63, 73], "gausssian": [15, 17], "expon": [15, 17], "denomin": [15, 17], "cut": [15, 17, 18], "beyond": [15, 17], "radiu": [15, 17, 33, 34], "6": [15, 17, 18, 25, 73, 74, 75, 76], "_lazy_quantization_error_cpu": [15, 17], "_lazy_quantization_error_gpu": [15, 17], "_quantization_error_cpu": [15, 17], "_quantization_error_gpu": [15, 17], "quantization_error": [15, 17], "spectralclust": [15, 18], "eigen_solv": [15, 18], "gamma": [15, 18, 37, 38, 39, 40], "rbf": [15, 18, 37, 38], "eigen_tol": [15, 18], "assign_label": [15, 18], "degre": [15, 18, 37, 38], "coef0": [15, 18, 37, 38], "kernel_param": [15, 18], "n_compon": [15, 18, 20, 21, 30], "persist_embed": [15, 18], "kmeans_param": [15, 18], "appli": [15, 18], "project": [15, 18, 69, 71], "laplacian": [15, 18], "individu": [15, 18], "highli": [15, 18], "non": [15, 18], "convex": [15, 18], "measur": [15, 18, 63], "nest": [15, 18, 25, 26], "circl": [15, 18], "2d": [15, 18], "plane": [15, 18], "adjac": [15, 18], "aka": [15, 18], "exp": [15, 18], "subspac": [15, 18], "arpack": [15, 18], "lobpcg": [15, 18], "amg": [15, 18], "eigenvalu": [15, 18], "strategi": [15, 18, 27], "pyamg": [15, 18], "instal": [15, 18, 68], "instabl": [15, 18], "eigenvector": [15, 18], "embed": [15, 18], "pseudo": [15, 18], "coeffici": [15, 18], "poli": [15, 18], "sigmoid": [15, 18], "chi2": [15, 18], "nearest_neighbor": [15, 18], "radial": [15, 18], "basi": [15, 18], "greater": [15, 18], "precomputed_nearest_neighbor": [15, 18], "binari": [15, 18], "pairwise_kernel": [15, 18], "score": [15, 18], "neg": [15, 18, 73, 76], "check": [15, 18, 25, 73, 75], "eigendecomposit": [15, 18], "discret": [15, 18], "popular": [15, 18, 71], "choic": [15, 18], "sensit": [15, 18], "anoth": [15, 18], "less": [15, 18], "polynomi": [15, 18], "zero": [15, 18, 27], "search": [15, 18, 68], "intermedi": [15, 18], "ident": [15, 18], "dissimilar": [15, 18], "heat": [15, 18], "dist_matrix": [15, 18], "delta": [15, 18], "free": [15, 18, 63], "width": [15, 18], "symmetr": [15, 18], "greatli": [15, 18], "imag": [15, 18, 25, 69, 76], "segment": [15, 18], "2000": [15, 18], "jianbo": [15, 18], "shi": [15, 18], "jitendra": [15, 18], "malik": [15, 18], "cites": [15, 18], "ist": [15, 18], "psu": [15, 18], "edu": [15, 18], "viewdoc": [15, 18], "summari": [15, 18], "doi": [15, 18], "2324": [15, 18], "tutori": [15, 18, 68], "2007": [15, 18], "ulrik": [15, 18], "von": [15, 18], "luxburg": [15, 18], "citeseerx": [15, 18], "165": [15, 18], "9323": [15, 18], "multiclass": [15, 18], "2003": [15, 18], "stella": [15, 18], "yu": [15, 18], "www1": [15, 18], "icsi": [15, 18], "berkelei": [15, 18], "stellayu": [15, 18], "public": [15, 18], "2003kwayiccv": [15, 18], "pdf": [15, 18], "packag": [18, 69, 76], "mlgener": 19, "checkpoint": 19, "dump": [19, 49], "whiten": [20, 21], "svd_solver": [20, 21], "iterated_pow": [20, 21], "_lazy_fit_transform_cpu": [20, 21, 35, 36, 56, 57], "_lazy_fit_transform_gpu": [20, 21, 35, 36, 56, 57], "_fit_transform_cpu": [20, 21, 35, 36, 56, 57], "_fit_transform_gpu": [20, 21, 35, 36, 56, 57], "daskclusterenviron": [22, 23], "plugin": [10, 22, 23, 27, 46, 47, 51], "environ": [22, 23, 27, 69, 73, 74], "clusterenviron": [22, 23], "creat": [22, 23, 53, 68, 69, 71, 72, 73, 74], "worker": [22, 23, 53, 57, 58, 63], "relat": [22, 23], "creates_processes_extern": [22, 23], "manag": [22, 23, 73], "don": [22, 23, 25, 27], "yourself": [22, 23, 25, 27], "main_address": [22, 23], "master": [22, 23, 63], "address": [22, 23, 42, 43, 44], "main_port": [22, 23], "port": [22, 23, 42, 43, 44], "thei": [22, 23, 73], "creates_children": [22, 23], "fork": [22, 23], "children": [22, 23], "world_siz": [22, 23], "world": [22, 23, 25], "global_rank": [22, 23, 27], "global": [22, 23], "rank": [22, 23, 27], "local_rank": [22, 23, 27], "node_rank": [22, 23, 27], "set_world_s": [22, 23], "paramet": [22, 23, 25, 26, 42, 43, 46, 47, 49, 50, 55, 62, 73, 76], "set_global_rank": [22, 23], "devconvnet": [24, 26, 28], "neuralnetclassifi": [24, 27], "batch_siz": [24, 27], "32": [24, 27], "_lazy_fit_gener": [24, 27], "accel": [24, 27], "ngpu": [24, 27, 41, 42, 43, 44], "__fit_gener": [24, 27], "myaccuraci": 25, "dist_sync_on_step": 25, "torchmetr": 25, "add_stat": 25, "forward": [25, 26], "reset": 25, "thing": 25, "distribut": [25, 27, 46, 47, 53, 71, 73, 76], "synchron": [25, 63], "own": [25, 53, 68, 72, 74, 76], "regist": [25, 26, 53, 55], "keep": 25, "track": 25, "across": [25, 27], "torch": [25, 26], "tensor": 25, "empti": 25, "list": [25, 46, 47, 49, 50, 63, 70], "we": [25, 71, 73, 74, 75, 76], "won": [25, 55], "current": [25, 63], "compute_on_cpu": 25, "dure": [25, 53, 71], "work": [25, 69, 73], "process_group": 25, "group": [25, 63], "dist_sync_fn": 25, "allgath": 25, "custom": [25, 53], "all_gath": 25, "distributed_available_fn": 25, "backend": [25, 61], "is_avail": 25, "is_initi": 25, "sync_on_comput": 25, "nn": [25, 26, 27], "scriptmodul": [25, 26], "set_idx": 25, "pred": 25, "target": [25, 63, 75], "__str__": 25, "nnmodul": [25, 26], "n_class": [25, 26], "learned_billinear": [25, 26], "clip": [25, 26], "class_weight": [25, 26, 37, 38], "lightningmodul": 25, "network": [25, 26], "subclass": [25, 26, 63], "submodul": 25, "regular": [25, 26, 63], "f": [25, 26, 69], "def": [25, 26, 27, 53, 73, 75, 76], "__init__": [25, 26, 27, 53, 63, 76], "super": [25, 26, 27, 76], "conv1": [25, 26], "conv2d": [25, 26], "conv2": [25, 26], "relu": [25, 26], "As": [25, 26, 73, 76], "exampl": [25, 26, 27, 55, 71, 73, 76], "parent": [25, 26], "child": [25, 26], "evalu": [25, 26], "cross_entropy_loss": 25, "ignore_index": 25, "255": 25, "fill": [25, 71], "pad": 25, "augment": 25, "rotat": 25, "configure_optim": 25, "what": [25, 71, 74, 75], "schedul": [25, 42, 43, 44, 53, 55, 76], "But": 25, "gan": 25, "lr": 25, "lr_scheduler_config": 25, "lr_schedul": 25, "whose": [25, 71], "describ": [], "frequenc": 25, "shown": 25, "unit": 25, "could": [25, 71, 76], "epoch": [25, 71], "end": [25, 76], "wherea": 25, "interv": [25, 55], "mani": [25, 63], "everi": [25, 27, 53, 55], "monitor": 25, "reducelronplateau": 25, "val_loss": 25, "enforc": 25, "thu": 25, "found": 25, "warn": [25, 76], "strict": 25, "learningratemonitor": 25, "callback": [25, 39, 40, 46, 47], "progress": 25, "condit": 25, "lightn": [25, 27], "metric_to_track": 25, "metric_v": 25, "along": [], "sequenti": 63, "former": [], "latter": [], "mention": [], "optimizer_on": [], "sgd": [], "optimizer_two": [], "next": [25, 71], "cycl": [53, 73, 76], "continu": [55, 75], "adam": [], "gen_opt": [], "model_gen": [], "dis_opt": [], "model_di": [], "dis_sch": [], "cosineann": [], "t_max": [], "gen_sch": [], "exponentiallr": [], "99": [], "procedur": [], "improv": [], "wasserstein": [], "ab": [], "1704": [], "00028": [], "n_critic": [], "16": 25, "bit": 25, "training_step": 25, "optimizer_idx": [], "lbfg": 25, "closur": 25, "gradient": 25, "often": 25, "those": [], "optimizer_step": 25, "hook": [25, 27], "batch_idx": 25, "loss": [25, 37, 38], "bar": 25, "logger": [25, 53, 66], "dataload": [25, 27], "hidden": [], "paramref": 27, "truncated_bptt_step": [], "skip": 25, "multi": [25, 70, 71, 73, 74], "tpu": [25, 27], "ipu": 25, "deepspe": 25, "fancier": 25, "someth": [25, 27, 71], "z": [25, 57, 59], "encod": [25, 49], "decod": [25, 49], "add": [27, 46, 47, 76], "truncat": [], "propag": [], "through": [], "previou": 74, "backprop": [], "lstm": [], "smooth": [], "so": [25, 27, 71, 73, 75], "actual": 75, "test_step": [25, 27], "test_batch": 25, "test": [25, 27, 68], "anyth": [25, 63], "interest": 25, "accuraci": 25, "pseudocod": [], "test_out": [], "test_data": [], "append": [], "test_epoch_end": [], "dataloader_id": 25, "dataloader_idx": 25, "text": 25, "whatev": [25, 26], "sample_img": 25, "torchvis": 25, "make_grid": 25, "experi": 25, "add_imag": 25, "example_imag": 25, "acc": 25, "labels_hat": 25, "argmax": 25, "dim": 25, "test_acc": 25, "len": 25, "log_dict": 25, "test_loss": 25, "recommend": [25, 27], "quickli": 25, "switch": 25, "tell": 25, "been": [25, 53], "eval": 25, "pytorch": 25, "disabl": 25, "At": [25, 76], "goe": 25, "torchpatchdeconvnet": [25, 26], "decid": [25, 26, 73], "init_vgg16_param": [25, 26], "vgg16": [25, 26], "copy_fc8": [25, 26], "just": [25, 26, 69, 73, 75, 76], "op": [25, 26], "torchpatchdeconvnetskip": [25, 26], "torchsectiondeconvnet": [25, 26], "torchsectiondeconvnetskip": [25, 26], "torchdataload": 27, "val": [27, 76], "64": 27, "lightningdatamodul": 27, "datamodul": 27, "prepar": 27, "mydatamodul": 27, "prepare_data": 27, "setup": [27, 53], "stage": [27, 53], "ddp": 27, "train_dataload": 27, "train_split": 27, "val_dataload": 27, "val_split": 27, "test_dataload": 27, "test_split": 27, "teardown": 27, "clean": 27, "prepare_data_per_nod": 27, "allow_zero_length_dataloader_with_multiple_devic": 27, "corrupt": 27, "safe": [27, 63], "logic": 27, "NOT": 27, "sinc": 27, "devic": [27, 71], "download_data": 27, "token": 27, "bad": 27, "data_split": 27, "some_st": 27, "some_other_st": 27, "onc": [27, 55, 69, 73, 74], "litdatamodul": 27, "great": 27, "request": 27, "initialize_distribut": 27, "predict_dataload": 27, "begin": [27, 76], "build": [27, 69], "dynam": [27, 74, 75], "adjust": 27, "litmodel": 27, "load_data": 27, "28": 27, "num_class": 27, "collect": 27, "pleas": 55, "reload": 27, "trainer": 27, "reload_dataloaders_every_n_epoch": 27, "pattern": 27, "sampler": 27, "arbitrari": 27, "compos": 71, "totensor": [], "mnist": [], "loader": [], "shuffl": [32, 73, 76], "cifar": [], "mnist_load": [], "cifar_load": [], "batch_mnist": [], "batch_cifar": [], "happen": [27, 53, 75], "sequenc": [], "loader_a": [], "loader_b": [], "loader_n": [], "validation_step": 27, "run_dask_clust": 27, "client": [27, 42, 43, 53, 63, 76], "mixtureclassifi": [29, 30], "fit_predict": [29, 56, 57, 73, 76], "fit_transform": [29, 56, 57], "get_param": [29, 56, 57], "set_param": [29, 56], "gaussianmixtur": 30, "covariance_typ": 30, "001": [30, 37, 38], "reg_covar": 30, "06": 30, "init_param": 30, "weights_init": 30, "means_init": 30, "precisions_init": 30, "warm_start": 30, "verbose_interv": 30, "_set_params_cpu": [30, 33, 34, 37, 38, 56], "param": [30, 33, 34, 37, 38, 46, 47, 52, 56], "_get_params_cpu": [30, 33, 34, 37, 38, 56, 57], "deep": [30, 33, 34, 37, 38, 56, 57, 71], "train_test_split": 32, "test_siz": 32, "train_siz": 32, "blockwis": 32, "convert_mixed_typ": 32, "stantardscal": [35, 36], "with_mean": [35, 36], "with_std": [35, 36], "_lazy_partial_fit_cpu": [35, 36], "_lazy_partial_fit_gpu": [35, 36], "_fit_partial_cpu": [35, 36], "_fit_partial_gpu": [35, 36], "_lazy_inverse_transform_cpu": [35, 36], "_lazy_inverse_transform_gpu": [35, 36], "_inverse_transform_cpu": [35, 36], "_inverse_transform_gpu": [35, 36], "svc": [37, 38], "shrink": [37, 38], "cache_s": [37, 38], "200": [37, 38], "decision_function_shap": [37, 38], "ovr": [37, 38], "break_ti": [37, 38], "nochange_step": [37, 38], "1000": [37, 38], "svr": [37, 38], "linearsvc": [37, 38], "epsilon_insensit": [37, 38], "fit_intercept": [37, 38], "intercept_sc": [37, 38], "dual": [37, 38], "penalti": [37, 38], "penalized_intercept": [37, 38], "linesearch_max_it": [37, 38], "lbfgs_memori": [37, 38], "grad_tol": [37, 38], "change_tol": [37, 38], "05": [37, 38], "multi_class": [37, 38], "linearsvr": [37, 38], "max_depth": [39, 40], "max_leav": [39, 40], "max_bin": [39, 40], "grow_polici": [39, 40], "n_estim": [39, 40], "booster": [39, 40], "tree_method": [39, 40], "min_child_weight": [39, 40], "max_delta_step": [39, 40], "subsampl": [39, 40], "sampling_method": [39, 40], "colsample_bytre": [39, 40], "colsample_bylevel": [39, 40], "colsample_bynod": [39, 40], "reg_alpha": [39, 40], "reg_lambda": [39, 40], "scale_pos_weight": [39, 40], "base_scor": [39, 40], "num_parallel_tre": [39, 40], "monotone_constraint": [39, 40], "interaction_constraint": [39, 40], "importance_typ": [39, 40], "gpu_id": [39, 40], "validate_paramet": [39, 40], "predictor": [39, 40], "enable_categor": [39, 40], "max_cat_to_onehot": [39, 40], "eval_metr": [39, 40], "early_stopping_round": [39, 40], "is_connect": [41, 42, 43, 44], "pre_run": [41, 42, 43], "post_run": [41, 42, 43], "execut": [41, 42, 43, 44, 53, 55, 63, 69, 74, 76], "fn": [41, 42, 43, 44], "daskpipelineexecutor": [42, 43, 76], "8786": [42, 43, 44], "use_gpu": [42, 43, 44, 76], "profil": [10, 42, 43, 63], "cluster_kwarg": [42, 43], "client_kwarg": [42, 43], "engin": [42, 43, 44], "flow": [42, 43, 44], "kick": [42, 43, 44], "off": [42, 43, 44], "conjunct": [42, 43, 44], "cuda": [42, 43, 44], "dasktaskspipelineexecutor": [42, 43], "centric": [42, 43], "daskpbspipelineexecutor": [42, 43], "prefectpipelineexecutor": 45, "prefect": 45, "localexecutor": 45, "__add_into_dag": [46, 47], "obj": [46, 47, 63], "func_nam": [46, 47], "__inspect_el": [46, 47], "__execut": [46, 47], "get_result_from": [46, 47, 76], "taskexecutortyp": 48, "enum": 48, "intenum": 48, "member": 48, "help": [48, 73, 76], "signatur": 48, "single_cpu": 48, "multi_cpu": 48, "single_gpu": 48, "multi_gpu": 48, "static": [55, 56, 57, 60], "fit_from_model": [56, 57], "fit_predict_from_model": [56, 57], "fit_transform_from_model": [56, 57], "predict_from_model": [56, 57], "_lazy_get_params_cpu": [56, 57], "_lazy_get_params_gpu": [56, 57], "_get_params_gpu": [56, 57], "_lazy_set_params_cpu": 56, "_lazy_set_params_gpu": 56, "_set_params_gpu": 56, "transform_from_model": 56, "run_loc": [56, 57], "run_gpu": [56, 57], "mappedtransform": [56, 57], "depth": [56, 57], "boundari": [56, 57], "trim": [56, 57], "output_chunk": [56, 57, 63], "arraystodatafram": [57, 60], "arraytozarr": [57, 60], "_convert_filenam": [57, 60], "_lazy_transform_generic_al": [57, 60], "_transform_generic_al": [57, 60], "_lazy_transform_gener": [57, 60], "_transform_gener": [57, 60], "arraytohdf5": [57, 60], "slicearrai": [57, 59], "output_s": [57, 59], "slicearraybyperc": [57, 59], "reshap": [57, 59], "persistdaskdata": [57, 58, 76], "gather": [57, 58, 71], "resembl": [57, 58], "loaddaskdata": [], "is_forced_loc": 62, "cl": 62, "is_forced_gpu": 62, "fetch_from_dask": 62, "fetch_from_gpu": 62, "fetch_args_from_dask": 62, "fetch_args_from_gpu": 62, "task_handl": 62, "place": 62, "gpu_support": [42, 63], "human_readable_s": 63, "decim": 63, "get_full_qualnam": 63, "qualifi": 63, "get_worker_info": 63, "sort": 63, "dn": 63, "host": [63, 73], "0th": 63, "sync_future_loop": 63, "submit": 63, "notebookprogressbar": 63, "limit": 63, "fashion": 63, "constructor": 63, "reserv": 63, "extens": [63, 71], "threadgroup": 63, "invok": 63, "noth": 63, "uniqu": [63, 73, 76], "invoc": 63, "sure": [63, 69], "min_cur": 63, "min_tot": 63, "show": [63, 73, 74, 75, 76], "set_curr": 63, "set_error": 63, "error": [53, 63], "taken": 63, "download_fil": 63, "download_file_from_gdr": 63, "file_id": 63, "gdrive": 63, "get_machine_memory_avail": 63, "machin": [63, 68, 71, 73, 76], "set_executor_default": 63, "set_executor_gpu": 63, "is_executor_singl": 63, "is_executor_clust": 63, "is_executor_cpu": 63, "is_executor_gpu": 63, "is_gpu_support": 63, "is_dask_local_support": 63, "get_dask_running_cli": 63, "runner": 63, "stanza": 63, "is_dask_support": 63, "is_dask_gpu_support": 63, "get_gpu_count": 63, "get_dask_gpu_count": 63, "block_chunk_reduc": 63, "dask_data": 63, "accord": [63, 69], "return_local_and_gpu": 63, "prefer": 63, "get_dask_mem_usag": 63, "is_notebook": 63, "ipynotebook": 63, "inside_with": 65, "g_hash_attr": 65, "g_func_attr": 65, "g_data_attr": 65, "dasklabel": 65, "start": [53, 65, 69, 74, 76], "color": [65, 73, 76], "__name": 65, "__add_item": 65, "tag": 65, "atyp": 65, "__add_func": 65, "__add_data": 65, "__generate_hasht": 65, "delete_dup": 65, "__enter": 65, "dsk": 65, "__enter__": [50, 61, 65], "__exit": 65, "exc_typ": [50, 65], "exc_val": [50, 65], "exc_tb": [50, 65], "__exit__": [50, 61, 65], "get_attribut": 65, "helper": 66, "init_log": 66, "handler": 67, "arraycpu": 67, "dataframecpu": 67, "datacpu": 67, "daskarrai": 67, "daskdataframecpu": 67, "xdataarrai": 67, "daskdatafram": 67, "datadask": 67, "arraygpu": 67, "is_arrai": 67, "is_datafram": 67, "is_cpu_arrai": 67, "arrau": 67, "is_cpu_datafram": 67, "is_cpu_datatyp": 67, "is_gpu_arrai": [67, 73], "is_gpu_datafram": 67, "is_gpu_datatyp": 67, "is_dask_cpu_arrai": 67, "is_dask_cpu_datafram": 67, "is_dask_gpu_arrai": 67, "is_dask_gpu_datafram": 67, "is_dask_arrai": 67, "is_dask_datafram": 67, "is_dask": 67, "is_xarray_arrai": 67, "special": 68, "common": 68, "techniqu": [68, 71], "part": 68, "docker": 68, "conda": 68, "develop": [68, 71], "overview": 68, "quick": [68, 72], "demo": [68, 72], "trasform": [68, 72], "page": 68, "dasf": [69, 70, 72, 73, 75, 76], "go": 69, "command": 69, "build_dock": 69, "sh": 69, "readi": [53, 69], "jupyt": 69, "start_jupyter_serv": 69, "yaml": 69, "architectur": [69, 73, 75], "env": 69, "yml": 69, "pip": 69, "pyproject": 69, "toml": 69, "live": 69, "python": 69, "pytest": 69, "parameter": 69, "mock": 69, "offer": 70, "wide": [70, 71], "tabl": 70, "infra": 70, "framework": [70, 71, 73], "mixtur": 70, "basic": 73, "environemnt": 73, "familiar": 73, "methodologi": 73, "notat": 73, "directli": [73, 74, 75], "forth": 73, "let": [73, 74, 75, 76], "try": [71, 73], "simpl": [68, 73, 74, 76], "500000": 73, "n_bin": [73, 76], "class": [73, 74, 75, 76], "half": [73, 76], "therefor": [73, 76], "9": [73, 76], "notic": [73, 76], "view": 73, "plot": [73, 76], "matplotlib": [73, 76], "cm": [73, 76], "pyplot": [73, 76], "plt": [73, 76], "rainbow": [73, 76], "linspac": [73, 76], "figur": 73, "scatter": [73, 76], "50": [73, 76], "newaxi": [73, 76], "edgecolor": [73, 76], "titl": 73, "big": 73, "pictur": 73, "understand": [73, 76], "kohonen": 73, "On": 73, "hand": 73, "classif": 73, "result_kmean": [73, 76], "sy": [73, 76], "55": [], "13": [], "wall": [73, 76], "86": [], "result_som": [73, 76], "46": [], "itertool": [73, 76], "plot_result": [73, 76], "y_uniqu": [73, 76], "this_i": [73, 76], "zip": [73, 76], "this_x": [73, 76], "look": [73, 74, 75], "cam": [], "seem": 73, "idea": [71, 73], "behind": 73, "exaplain": 73, "famou": 73, "curiou": 73, "behaviour": 73, "teach": 74, "architetcur": 74, "scenario": 74, "npy": [74, 75, 76], "serial": 74, "my": [74, 75, 76], "moment": 74, "yet": 74, "ipykernel": 74, "expect": 74, "lad": 74, "_core": 74, "protect": [74, 75], "platform": [74, 75], "bind": 74, "mathod": 74, "word": 74, "fact": 74, "Then": [74, 75, 76], "_lazy_": 74, "had": 75, "inpect": 75, "94719064": [], "05141148": [], "76444483": [], "78397106": [], "multipli": 75, "u": 75, "clarigi": 75, "generate_transform": [], "typeerror": [], "traceback": 53, "recent": 71, "tmp": [], "ipykernel_9642": [], "313447673": [], "py": 76, "lt": [], "gt": [], "58896941": [], "34": [], "22": 76, "unsupport": [], "operand": [], "39": 76, "rai": [10, 43, 46], "resource_monitor": [10, 51, 54], "benchmark": [10, 64], "_get_covariance_cpu": [20, 21], "get_covari": [20, 21], "_get_precision_cpu": [20, 21], "get_precis": [20, 21], "manual": 25, "automatic_optim": 25, "opt1": 25, "opt2": 25, "accumulate_grad_batch": 25, "tri": [27, 71], "xgbregressor": [39, 40], "gpu_alloc": [42, 43], "register_dataset": [42, 43], "has_dataset": [42, 43], "get_dataset": [42, 43], "shutdown": [42, 43], "gracefulli": [42, 43], "use_rai": 44, "raypipelineexecutor": 44, "6379": 44, "ray_kwarg": 44, "head": 44, "__del__": 44, "pipelineplugin": [46, 47, 52, 55], "register_plugin": [46, 47], "union": [46, 47], "diagnost": [46, 47, 53], "workerplugin": [46, 47, 53], "execute_callback": [46, 47], "__register_dataset": [46, 47], "on_pipeline_start": [46, 47, 55], "fn_kei": [46, 47, 55], "on_pipeline_end": [46, 47, 55], "on_task_start": [46, 47, 52], "on_task_end": [46, 47, 52], "ret": [46, 47, 52], "on_task_error": [46, 47], "except": [46, 47, 53], "traceev": [49, 50], "phase": 49, "timestamp": [49, 50], "process_id": [49, 50], "thread_id": [49, 50], "categori": [49, 50], "thread_timestamp": [49, 50], "color_nam": 49, "durat": [49, 50], "thread_dur": [49, 50], "tracedatabas": [49, 50], "add_trace_ev": 49, "trace": [49, 50], "commit": 49, "get_trac": [49, 50], "singlefiletracedatabas": 49, "json": [49, 50], "pathlib": 49, "_instanc": 50, "db_name": 50, "txt": 50, "get_time_m": 50, "add_trace_duration_begin": 50, "add_trace_duration_end": 50, "add_trace_complet": 50, "to_chrome_event_format": 50, "trace_ev": 50, "trace_opt": 50, "format_kwarg": 50, "trace_fil": 50, "remove_old_trace_fil": 50, "processed_filenam": 50, "process_trace_opt": 50, "process_trace_kwarg": 50, "pipelinetasktim": 52, "tasktimeplugin": 53, "lifecycl": 53, "life": [53, 71], "whenev": 53, "attach": 53, "register_worker_plugin": 53, "errorlogg": 53, "transit": 53, "finish": [53, 76], "exc_info": 53, "instruct": 53, "certain": 53, "notifi": 53, "mechan": 53, "subject": 53, "deprec": 53, "One": [53, 71], "wait": 53, "long": 53, "temperatur": 55, "byte_valu": 55, "run_continu": 55, "while": 55, "pend": 55, "elaps": 55, "cease_continuous_run": 55, "ceas": 55, "intend": 55, "behavior": 55, "miss": 55, "ve": 55, "minut": 55, "hour": 55, "60": 55, "resourcemonitor": 55, "monitor_interv": 55, "get_info": 55, "event_list": 55, "drop_axi": [56, 57], "new_axi": [56, 57], "zarrtoarrai": [57, 60], "computedaskdata": [57, 58], "use_memrai": 61, "use_mem_prof": 61, "timebenchmark": 61, "cprofil": 61, "memorybenchmark": 61, "memrai": 61, "output_fil": 61, "principl": 68, "growth": 71, "led": 71, "emerg": 71, "tool": 71, "purpos": 71, "possibli": 71, "alreadi": 71, "With": 71, "facil": 71, "piec": [71, 76], "subdivid": 71, "todai": 71, "distributedli": 71, "demand": 71, "nich": 71, "acronym": 71, "acceler": 71, "seek": 71, "gap": 71, "volum": 71, "divid": 71, "seri": 71, "were": 71, "propos": 71, "Such": 71, "agnost": [68, 72], "x_cpu": 73, "315": 73, "29": 73, "322": 73, "326": 73, "4min": 73, "210": 73, "_meta": 74, "22139306": 75, "18095083": 75, "78598473": 75, "28964964": 75, "trigger": 75, "content": 75, "04901489": 75, "0327432": 75, "61777199": 75, "08389691": 75, "confirm": 75, "would": 75, "obvious": 75, "pai": [75, 76], "attent": [75, 76], "multiply2": 75, "reason": 75, "diferenti": 75, "manipul": 75, "dag": 76, "script": 76, "100000": 76, "mymakeblob": 76, "_train": 76, "5000": 76, "_val": 76, "past": 76, "previous": 76, "reus": 76, "persist_kmean": 76, "persist_som": 76, "fresh": 76, "line": 76, "everyth": 76, "easi": 76, "2022": 76, "11": 76, "04": 76, "36": 76, "49": 76, "0000": 76, "usr": 76, "lib": 76, "python3": 76, "dist": 76, "1367": 76, "userwarn": 76, "unexpect": 76, "37": 76, "00": 76, "successfulli": 76, "71": 76, "33": 76, "captur": 76, "easili": 76, "easier": 71, "worri": 71, "focu": 71, "transpar": 71, "simplifi": 71, "curv": 71, "concept": 71, "facilit": 71, "ones": 71, "commun": 71, "usual": 71, "hood": 71}, "objects": {"": [[10, 0, 0, "-", "dasf"]], "dasf": [[4, 0, 0, "-", "datasets"], [6, 0, 0, "-", "debug"], [8, 0, 0, "-", "feature_extraction"], [28, 0, 0, "-", "ml"], [46, 0, 0, "-", "pipeline"], [51, 0, 0, "-", "profile"], [57, 0, 0, "-", "transforms"], [64, 0, 0, "-", "utils"]], "dasf.datasets": [[4, 1, 1, "", "Dataset"], [4, 1, 1, "", "DatasetArray"], [4, 1, 1, "", "DatasetDataFrame"], [4, 1, 1, "", "DatasetHDF5"], [4, 1, 1, "", "DatasetLabeled"], [4, 1, 1, "", "DatasetParquet"], [4, 1, 1, "", "DatasetXarray"], [4, 1, 1, "", "DatasetZarr"], [1, 0, 0, "-", "base"], [2, 0, 0, "-", "datasets"], [3, 0, 0, "-", "download"], [4, 1, 1, "", "make_blobs"], [4, 1, 1, "", "make_classification"]], "dasf.datasets.Dataset": [[4, 2, 1, "", "__getitem__"], [4, 2, 1, "", "__len__"], [4, 2, 1, "", "__set_dataset_cache_dir"], [4, 2, 1, "", "download"]], "dasf.datasets.DatasetArray": [[4, 2, 1, "", "__add__"], [4, 2, 1, "", "__array__"], [4, 2, 1, "", "__array_ufunc__"], [4, 2, 1, "", "__check_op_input"], [4, 2, 1, "", "__copy_attrs_from_data"], [4, 2, 1, "", "__div__"], [4, 2, 1, "", "__mul__"], [4, 2, 1, "", "__npy_header"], [4, 2, 1, "", "__operator_check__"], [4, 2, 1, "", "__repr__"], [4, 2, 1, "", "__sub__"], [4, 2, 1, "", "_lazy_load"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"], [4, 3, 1, "", "shape"]], "dasf.datasets.DatasetDataFrame": [[4, 2, 1, "", "__getitem__"], [4, 2, 1, "", "__len__"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"], [4, 3, 1, "", "shape"]], "dasf.datasets.DatasetHDF5": [[4, 2, 1, "", "_lazy_load"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"]], "dasf.datasets.DatasetLabeled": [[4, 2, 1, "", "__getitem__"], [4, 2, 1, "", "_lazy_load"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "download"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"]], "dasf.datasets.DatasetParquet": [[4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"]], "dasf.datasets.DatasetXarray": [[4, 2, 1, "", "__getitem__"], [4, 2, 1, "", "__len__"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"]], "dasf.datasets.DatasetZarr": [[4, 2, 1, "", "__add__"], [4, 2, 1, "", "__check_op_input"], [4, 2, 1, "", "__copy_attrs_from_data"], [4, 2, 1, "", "__div__"], [4, 2, 1, "", "__mul__"], [4, 2, 1, "", "__repr__"], [4, 2, 1, "", "__sub__"], [4, 2, 1, "", "_lazy_load"], [4, 2, 1, "", "_lazy_load_cpu"], [4, 2, 1, "", "_lazy_load_gpu"], [4, 2, 1, "", "_load"], [4, 2, 1, "", "_load_cpu"], [4, 2, 1, "", "_load_gpu"], [4, 2, 1, "", "_load_meta"], [4, 2, 1, "", "inspect_metadata"], [4, 2, 1, "", "load"], [4, 3, 1, "", "shape"]], "dasf.datasets.base": [[1, 1, 1, "", "Dataset"], [1, 1, 1, "", "DatasetArray"], [1, 1, 1, "", "DatasetDataFrame"], [1, 1, 1, "", "DatasetHDF5"], [1, 1, 1, "", "DatasetLabeled"], [1, 1, 1, "", "DatasetParquet"], [1, 1, 1, "", "DatasetXarray"], [1, 1, 1, "", "DatasetZarr"]], "dasf.datasets.base.Dataset": [[1, 2, 1, "", "__getitem__"], [1, 2, 1, "", "__len__"], [1, 2, 1, "", "__set_dataset_cache_dir"], [1, 2, 1, "", "download"]], "dasf.datasets.base.DatasetArray": [[1, 2, 1, "", "__add__"], [1, 2, 1, "", "__array__"], [1, 2, 1, "", "__array_ufunc__"], [1, 2, 1, "", "__check_op_input"], [1, 2, 1, "", "__copy_attrs_from_data"], [1, 2, 1, "", "__div__"], [1, 2, 1, "", "__mul__"], [1, 2, 1, "", "__npy_header"], [1, 2, 1, "", "__operator_check__"], [1, 2, 1, "", "__repr__"], [1, 2, 1, "", "__sub__"], [1, 2, 1, "", "_lazy_load"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"], [1, 3, 1, "", "shape"]], "dasf.datasets.base.DatasetDataFrame": [[1, 2, 1, "", "__getitem__"], [1, 2, 1, "", "__len__"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"], [1, 3, 1, "", "shape"]], "dasf.datasets.base.DatasetHDF5": [[1, 2, 1, "", "_lazy_load"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"]], "dasf.datasets.base.DatasetLabeled": [[1, 2, 1, "", "__getitem__"], [1, 2, 1, "", "_lazy_load"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "download"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"]], "dasf.datasets.base.DatasetParquet": [[1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"]], "dasf.datasets.base.DatasetXarray": [[1, 2, 1, "", "__getitem__"], [1, 2, 1, "", "__len__"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"]], "dasf.datasets.base.DatasetZarr": [[1, 2, 1, "", "__add__"], [1, 2, 1, "", "__check_op_input"], [1, 2, 1, "", "__copy_attrs_from_data"], [1, 2, 1, "", "__div__"], [1, 2, 1, "", "__mul__"], [1, 2, 1, "", "__repr__"], [1, 2, 1, "", "__sub__"], [1, 2, 1, "", "_lazy_load"], [1, 2, 1, "", "_lazy_load_cpu"], [1, 2, 1, "", "_lazy_load_gpu"], [1, 2, 1, "", "_load"], [1, 2, 1, "", "_load_cpu"], [1, 2, 1, "", "_load_gpu"], [1, 2, 1, "", "_load_meta"], [1, 2, 1, "", "inspect_metadata"], [1, 2, 1, "", "load"], [1, 3, 1, "", "shape"]], "dasf.datasets.datasets": [[2, 1, 1, "", "make_blobs"], [2, 1, 1, "", "make_classification"], [2, 1, 1, "", "make_regression"]], "dasf.datasets.datasets.make_blobs": [[2, 2, 1, "", "__call__"], [2, 2, 1, "", "_lazy_make_blobs_cpu"], [2, 2, 1, "", "_lazy_make_blobs_gpu"], [2, 2, 1, "", "_make_blobs_cpu"], [2, 2, 1, "", "_make_blobs_gpu"]], "dasf.datasets.datasets.make_classification": [[2, 2, 1, "", "__call__"], [2, 2, 1, "", "_lazy_make_classification_cpu"], [2, 2, 1, "", "_lazy_make_classification_gpu"], [2, 2, 1, "", "_make_classification_cpu"], [2, 2, 1, "", "_make_classification_gpu"]], "dasf.datasets.datasets.make_regression": [[2, 2, 1, "", "__call__"], [2, 2, 1, "", "_lazy_make_regression_cpu"], [2, 2, 1, "", "_lazy_make_regression_gpu"], [2, 2, 1, "", "_make_regression_cpu"], [2, 2, 1, "", "_make_regression_gpu"]], "dasf.datasets.download": [[3, 1, 1, "", "DownloadGDrive"], [3, 1, 1, "", "DownloadWget"]], "dasf.datasets.download.DownloadGDrive": [[3, 2, 1, "", "download"]], "dasf.datasets.download.DownloadWget": [[3, 2, 1, "", "download"]], "dasf.datasets.make_blobs": [[4, 2, 1, "", "__call__"], [4, 2, 1, "", "_lazy_make_blobs_cpu"], [4, 2, 1, "", "_lazy_make_blobs_gpu"], [4, 2, 1, "", "_make_blobs_cpu"], [4, 2, 1, "", "_make_blobs_gpu"]], "dasf.datasets.make_classification": [[4, 2, 1, "", "__call__"], [4, 2, 1, "", "_lazy_make_classification_cpu"], [4, 2, 1, "", "_lazy_make_classification_gpu"], [4, 2, 1, "", "_make_classification_cpu"], [4, 2, 1, "", "_make_classification_gpu"]], "dasf.debug": [[6, 1, 1, "", "Debug"], [6, 1, 1, "", "VisualizeDaskData"], [5, 0, 0, "-", "debug"]], "dasf.debug.Debug": [[6, 2, 1, "", "display"]], "dasf.debug.VisualizeDaskData": [[6, 2, 1, "", "display"]], "dasf.debug.debug": [[5, 1, 1, "", "Debug"], [5, 1, 1, "", "VisualizeDaskData"]], "dasf.debug.debug.Debug": [[5, 2, 1, "", "display"]], "dasf.debug.debug.VisualizeDaskData": [[5, 2, 1, "", "display"]], "dasf.feature_extraction": [[8, 1, 1, "", "ConcatenateToArray"], [8, 1, 1, "", "GetSubDataframe"], [8, 1, 1, "", "GetSubeCubeArray"], [8, 1, 1, "", "Histogram"], [8, 1, 1, "", "SampleDataframe"], [8, 1, 1, "", "SliceDataframe"], [7, 0, 0, "-", "histogram"], [9, 0, 0, "-", "transform"]], "dasf.feature_extraction.ConcatenateToArray": [[8, 2, 1, "", "__transform_generic"], [8, 2, 1, "", "_transform_cpu"], [8, 2, 1, "", "_transform_gpu"]], "dasf.feature_extraction.GetSubDataframe": [[8, 2, 1, "", "transform"]], "dasf.feature_extraction.GetSubeCubeArray": [[8, 2, 1, "", "transform"]], "dasf.feature_extraction.Histogram": [[8, 2, 1, "", "__lazy_transform_generic"], [8, 2, 1, "", "__transform_generic"], [8, 2, 1, "", "_lazy_transform_cpu"], [8, 2, 1, "", "_lazy_transform_gpu"], [8, 2, 1, "", "_transform_cpu"], [8, 2, 1, "", "_transform_gpu"]], "dasf.feature_extraction.SampleDataframe": [[8, 2, 1, "", "run"]], "dasf.feature_extraction.SliceDataframe": [[8, 2, 1, "", "fit"]], "dasf.feature_extraction.histogram": [[7, 1, 1, "", "Histogram"]], "dasf.feature_extraction.histogram.Histogram": [[7, 2, 1, "", "__lazy_transform_generic"], [7, 2, 1, "", "__transform_generic"], [7, 2, 1, "", "_lazy_transform_cpu"], [7, 2, 1, "", "_lazy_transform_gpu"], [7, 2, 1, "", "_transform_cpu"], [7, 2, 1, "", "_transform_gpu"]], "dasf.feature_extraction.transform": [[9, 1, 1, "", "ConcatenateToArray"], [9, 1, 1, "", "GetSubDataframe"], [9, 1, 1, "", "GetSubeCubeArray"], [9, 1, 1, "", "SampleDataframe"], [9, 1, 1, "", "SliceDataframe"]], "dasf.feature_extraction.transform.ConcatenateToArray": [[9, 2, 1, "", "__transform_generic"], [9, 2, 1, "", "_transform_cpu"], [9, 2, 1, "", "_transform_gpu"]], "dasf.feature_extraction.transform.GetSubDataframe": [[9, 2, 1, "", "transform"]], "dasf.feature_extraction.transform.GetSubeCubeArray": [[9, 2, 1, "", "transform"]], "dasf.feature_extraction.transform.SampleDataframe": [[9, 2, 1, "", "run"]], "dasf.feature_extraction.transform.SliceDataframe": [[9, 2, 1, "", "fit"]], "dasf.ml": [[15, 0, 0, "-", "cluster"], [19, 0, 0, "-", "core"], [20, 0, 0, "-", "decomposition"], [24, 0, 0, "-", "dl"], [31, 0, 0, "-", "model_selection"], [33, 0, 0, "-", "neighbors"], [35, 0, 0, "-", "preprocessing"], [37, 0, 0, "-", "svm"], [39, 0, 0, "-", "xgboost"]], "dasf.ml.cluster": [[15, 1, 1, "", "AgglomerativeClustering"], [15, 1, 1, "", "DBSCAN"], [15, 1, 1, "", "KMeans"], [15, 1, 1, "", "SOM"], [15, 1, 1, "", "SpectralClustering"], [11, 0, 0, "-", "agglomerative"], [12, 0, 0, "-", "classifier"], [13, 0, 0, "-", "dbscan"], [14, 0, 0, "-", "hdbscan"], [16, 0, 0, "-", "kmeans"], [17, 0, 0, "-", "som"], [18, 0, 0, "-", "spectral"]], "dasf.ml.cluster.AgglomerativeClustering": [[15, 2, 1, "", "_fit_cpu"], [15, 2, 1, "", "_fit_gpu"], [15, 2, 1, "", "_fit_predict_cpu"], [15, 2, 1, "", "_fit_predict_gpu"]], "dasf.ml.cluster.DBSCAN": [[15, 2, 1, "", "_fit_cpu"], [15, 2, 1, "", "_fit_gpu"], [15, 2, 1, "", "_fit_predict_cpu"], [15, 2, 1, "", "_fit_predict_gpu"], [15, 2, 1, "", "_lazy_fit_gpu"], [15, 2, 1, "", "_lazy_fit_predict_gpu"]], "dasf.ml.cluster.KMeans": [[15, 2, 1, "", "_fit_cpu"], [15, 2, 1, "", "_fit_gpu"], [15, 2, 1, "", "_fit_predict_cpu"], [15, 2, 1, "", "_fit_predict_gpu"], [15, 2, 1, "", "_lazy_fit_cpu"], [15, 2, 1, "", "_lazy_fit_gpu"], [15, 2, 1, "", "_lazy_fit_predict_cpu"], [15, 2, 1, "", "_lazy_fit_predict_gpu"], [15, 2, 1, "", "_lazy_predict2_cpu"], [15, 2, 1, "", "_lazy_predict2_gpu"], [15, 2, 1, "", "_lazy_predict_cpu"], [15, 2, 1, "", "_lazy_predict_gpu"], [15, 2, 1, "", "_predict2_cpu"], [15, 2, 1, "", "_predict2_gpu"], [15, 2, 1, "", "_predict_cpu"], [15, 2, 1, "", "_predict_gpu"], [15, 2, 1, "", "predict2"]], "dasf.ml.cluster.SOM": [[15, 2, 1, "", "_fit_cpu"], [15, 2, 1, "", "_fit_gpu"], [15, 2, 1, "", "_fit_predict_cpu"], [15, 2, 1, "", "_fit_predict_gpu"], [15, 2, 1, "", "_lazy_fit_cpu"], [15, 2, 1, "", "_lazy_fit_gpu"], [15, 2, 1, "", "_lazy_fit_predict_cpu"], [15, 2, 1, "", "_lazy_fit_predict_gpu"], [15, 2, 1, "", "_lazy_predict_cpu"], [15, 2, 1, "", "_lazy_predict_gpu"], [15, 2, 1, "", "_lazy_quantization_error_cpu"], [15, 2, 1, "", "_lazy_quantization_error_gpu"], [15, 2, 1, "", "_predict_cpu"], [15, 2, 1, "", "_predict_gpu"], [15, 2, 1, "", "_quantization_error_cpu"], [15, 2, 1, "", "_quantization_error_gpu"], [15, 2, 1, "", "quantization_error"]], "dasf.ml.cluster.SpectralClustering": [[15, 2, 1, "", "_fit_cpu"], [15, 2, 1, "", "_fit_predict_cpu"], [15, 2, 1, "", "_lazy_fit_predict_cpu"]], "dasf.ml.cluster.agglomerative": [[11, 1, 1, "", "AgglomerativeClustering"]], "dasf.ml.cluster.agglomerative.AgglomerativeClustering": [[11, 2, 1, "", "_fit_cpu"], [11, 2, 1, "", "_fit_gpu"], [11, 2, 1, "", "_fit_predict_cpu"], [11, 2, 1, "", "_fit_predict_gpu"]], "dasf.ml.cluster.classifier": [[12, 1, 1, "", "ClusterClassifier"]], "dasf.ml.cluster.dbscan": [[13, 1, 1, "", "DBSCAN"]], "dasf.ml.cluster.dbscan.DBSCAN": [[13, 2, 1, "", "_fit_cpu"], [13, 2, 1, "", "_fit_gpu"], [13, 2, 1, "", "_fit_predict_cpu"], [13, 2, 1, "", "_fit_predict_gpu"], [13, 2, 1, "", "_lazy_fit_gpu"], [13, 2, 1, "", "_lazy_fit_predict_gpu"]], "dasf.ml.cluster.hdbscan": [[14, 1, 1, "", "HDBSCAN"]], "dasf.ml.cluster.hdbscan.HDBSCAN": [[14, 2, 1, "", "_fit_cpu"], [14, 2, 1, "", "_fit_gpu"], [14, 2, 1, "", "_fit_predict_cpu"], [14, 2, 1, "", "_fit_predict_gpu"]], "dasf.ml.cluster.kmeans": [[16, 1, 1, "", "KMeans"]], "dasf.ml.cluster.kmeans.KMeans": [[16, 2, 1, "", "_fit_cpu"], [16, 2, 1, "", "_fit_gpu"], [16, 2, 1, "", "_fit_predict_cpu"], [16, 2, 1, "", "_fit_predict_gpu"], [16, 2, 1, "", "_lazy_fit_cpu"], [16, 2, 1, "", "_lazy_fit_gpu"], [16, 2, 1, "", "_lazy_fit_predict_cpu"], [16, 2, 1, "", "_lazy_fit_predict_gpu"], [16, 2, 1, "", "_lazy_predict2_cpu"], [16, 2, 1, "", "_lazy_predict2_gpu"], [16, 2, 1, "", "_lazy_predict_cpu"], [16, 2, 1, "", "_lazy_predict_gpu"], [16, 2, 1, "", "_predict2_cpu"], [16, 2, 1, "", "_predict2_gpu"], [16, 2, 1, "", "_predict_cpu"], [16, 2, 1, "", "_predict_gpu"], [16, 2, 1, "", "predict2"]], "dasf.ml.cluster.som": [[17, 1, 1, "", "SOM"]], "dasf.ml.cluster.som.SOM": [[17, 2, 1, "", "_fit_cpu"], [17, 2, 1, "", "_fit_gpu"], [17, 2, 1, "", "_fit_predict_cpu"], [17, 2, 1, "", "_fit_predict_gpu"], [17, 2, 1, "", "_lazy_fit_cpu"], [17, 2, 1, "", "_lazy_fit_gpu"], [17, 2, 1, "", "_lazy_fit_predict_cpu"], [17, 2, 1, "", "_lazy_fit_predict_gpu"], [17, 2, 1, "", "_lazy_predict_cpu"], [17, 2, 1, "", "_lazy_predict_gpu"], [17, 2, 1, "", "_lazy_quantization_error_cpu"], [17, 2, 1, "", "_lazy_quantization_error_gpu"], [17, 2, 1, "", "_predict_cpu"], [17, 2, 1, "", "_predict_gpu"], [17, 2, 1, "", "_quantization_error_cpu"], [17, 2, 1, "", "_quantization_error_gpu"], [17, 2, 1, "", "quantization_error"]], "dasf.ml.cluster.spectral": [[18, 1, 1, "", "SpectralClustering"]], "dasf.ml.cluster.spectral.SpectralClustering": [[18, 2, 1, "", "_fit_cpu"], [18, 2, 1, "", "_fit_predict_cpu"], [18, 2, 1, "", "_lazy_fit_predict_cpu"]], "dasf.ml.core": [[19, 1, 1, "", "MLGeneric"]], "dasf.ml.core.MLGeneric": [[19, 2, 1, "", "dump"], [19, 2, 1, "", "load"]], "dasf.ml.decomposition": [[20, 1, 1, "", "PCA"], [21, 0, 0, "-", "pca"]], "dasf.ml.decomposition.PCA": [[20, 2, 1, "", "_fit_cpu"], [20, 2, 1, "", "_fit_gpu"], [20, 2, 1, "", "_fit_transform_cpu"], [20, 2, 1, "", "_fit_transform_gpu"], [20, 2, 1, "", "_get_covariance_cpu"], [20, 2, 1, "", "_get_precision_cpu"], [20, 2, 1, "", "_lazy_fit_cpu"], [20, 2, 1, "", "_lazy_fit_gpu"], [20, 2, 1, "", "_lazy_fit_transform_cpu"], [20, 2, 1, "", "_lazy_fit_transform_gpu"], [20, 2, 1, "", "_lazy_transform_cpu"], [20, 2, 1, "", "_lazy_transform_gpu"], [20, 2, 1, "", "_transform_cpu"], [20, 2, 1, "", "_transform_gpu"], [20, 2, 1, "", "get_covariance"], [20, 2, 1, "", "get_precision"]], "dasf.ml.decomposition.pca": [[21, 1, 1, "", "PCA"]], "dasf.ml.decomposition.pca.PCA": [[21, 2, 1, "", "_fit_cpu"], [21, 2, 1, "", "_fit_gpu"], [21, 2, 1, "", "_fit_transform_cpu"], [21, 2, 1, "", "_fit_transform_gpu"], [21, 2, 1, "", "_get_covariance_cpu"], [21, 2, 1, "", "_get_precision_cpu"], [21, 2, 1, "", "_lazy_fit_cpu"], [21, 2, 1, "", "_lazy_fit_gpu"], [21, 2, 1, "", "_lazy_fit_transform_cpu"], [21, 2, 1, "", "_lazy_fit_transform_gpu"], [21, 2, 1, "", "_lazy_transform_cpu"], [21, 2, 1, "", "_lazy_transform_gpu"], [21, 2, 1, "", "_transform_cpu"], [21, 2, 1, "", "_transform_gpu"], [21, 2, 1, "", "get_covariance"], [21, 2, 1, "", "get_precision"]], "dasf.ml.dl": [[24, 1, 1, "", "NeuralNetClassifier"], [23, 0, 0, "-", "clusters"], [26, 0, 0, "-", "models"], [27, 0, 0, "-", "pytorch_lightning"]], "dasf.ml.dl.NeuralNetClassifier": [[24, 2, 1, "", "__fit_generic"], [24, 2, 1, "", "_fit_cpu"], [24, 2, 1, "", "_fit_gpu"], [24, 2, 1, "", "_lazy_fit_cpu"], [24, 2, 1, "", "_lazy_fit_generic"], [24, 2, 1, "", "_lazy_fit_gpu"]], "dasf.ml.dl.clusters": [[23, 1, 1, "", "DaskClusterEnvironment"], [22, 0, 0, "-", "dask"]], "dasf.ml.dl.clusters.DaskClusterEnvironment": [[23, 2, 1, "", "creates_children"], [23, 3, 1, "", "creates_processes_externally"], [23, 2, 1, "", "detect"], [23, 2, 1, "", "global_rank"], [23, 2, 1, "", "local_rank"], [23, 3, 1, "", "main_address"], [23, 3, 1, "", "main_port"], [23, 2, 1, "", "node_rank"], [23, 2, 1, "", "set_global_rank"], [23, 2, 1, "", "set_world_size"], [23, 2, 1, "", "world_size"]], "dasf.ml.dl.clusters.dask": [[22, 1, 1, "", "DaskClusterEnvironment"]], "dasf.ml.dl.clusters.dask.DaskClusterEnvironment": [[22, 2, 1, "", "creates_children"], [22, 3, 1, "", "creates_processes_externally"], [22, 2, 1, "", "detect"], [22, 2, 1, "", "global_rank"], [22, 2, 1, "", "local_rank"], [22, 3, 1, "", "main_address"], [22, 3, 1, "", "main_port"], [22, 2, 1, "", "node_rank"], [22, 2, 1, "", "set_global_rank"], [22, 2, 1, "", "set_world_size"], [22, 2, 1, "", "world_size"]], "dasf.ml.dl.models": [[26, 1, 1, "", "TorchPatchDeConvNet"], [26, 1, 1, "", "TorchPatchDeConvNetSkip"], [26, 1, 1, "", "TorchSectionDeConvNet"], [26, 1, 1, "", "TorchSectionDeConvNetSkip"], [25, 0, 0, "-", "devconvnet"]], "dasf.ml.dl.models.TorchPatchDeConvNet": [[26, 2, 1, "", "forward"], [26, 2, 1, "", "init_vgg16_params"], [26, 2, 1, "", "load"]], "dasf.ml.dl.models.TorchPatchDeConvNetSkip": [[26, 2, 1, "", "forward"], [26, 2, 1, "", "init_vgg16_params"], [26, 2, 1, "", "load"]], "dasf.ml.dl.models.TorchSectionDeConvNet": [[26, 2, 1, "", "forward"], [26, 2, 1, "", "init_vgg16_params"], [26, 2, 1, "", "load"]], "dasf.ml.dl.models.TorchSectionDeConvNetSkip": [[26, 2, 1, "", "forward"], [26, 2, 1, "", "init_vgg16_params"], [26, 2, 1, "", "load"]], "dasf.ml.dl.models.devconvnet": [[25, 1, 1, "", "MyAccuracy"], [25, 1, 1, "", "NNModule"], [25, 1, 1, "", "TorchPatchDeConvNet"], [25, 1, 1, "", "TorchPatchDeConvNetSkip"], [25, 1, 1, "", "TorchSectionDeConvNet"], [25, 1, 1, "", "TorchSectionDeConvNetSkip"]], "dasf.ml.dl.models.devconvnet.MyAccuracy": [[25, 2, 1, "", "__str__"], [25, 2, 1, "", "compute"], [25, 2, 1, "", "set_idx"], [25, 2, 1, "", "update"]], "dasf.ml.dl.models.devconvnet.NNModule": [[25, 2, 1, "", "configure_optimizers"], [25, 2, 1, "", "cross_entropy_loss"], [25, 2, 1, "", "test_step"], [25, 2, 1, "", "training_step"]], "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet": [[25, 2, 1, "", "forward"], [25, 2, 1, "", "init_vgg16_params"], [25, 2, 1, "", "load"]], "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip": [[25, 2, 1, "", "forward"], [25, 2, 1, "", "init_vgg16_params"], [25, 2, 1, "", "load"]], "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet": [[25, 2, 1, "", "forward"], [25, 2, 1, "", "init_vgg16_params"], [25, 2, 1, "", "load"]], "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip": [[25, 2, 1, "", "forward"], [25, 2, 1, "", "init_vgg16_params"], [25, 2, 1, "", "load"]], "dasf.ml.dl.pytorch_lightning": [[27, 1, 1, "", "NeuralNetClassifier"], [27, 1, 1, "", "TorchDataLoader"], [27, 4, 1, "", "fit"], [27, 4, 1, "", "run_dask_clustered"]], "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier": [[27, 2, 1, "", "__fit_generic"], [27, 2, 1, "", "_fit_cpu"], [27, 2, 1, "", "_fit_gpu"], [27, 2, 1, "", "_lazy_fit_cpu"], [27, 2, 1, "", "_lazy_fit_generic"], [27, 2, 1, "", "_lazy_fit_gpu"]], "dasf.ml.dl.pytorch_lightning.TorchDataLoader": [[27, 2, 1, "", "prepare_data"], [27, 2, 1, "", "setup"], [27, 2, 1, "", "test_dataloader"], [27, 2, 1, "", "train_dataloader"], [27, 2, 1, "", "val_dataloader"]], "dasf.ml.mixture": [[29, 0, 0, "-", "classifier"], [30, 0, 0, "-", "gmm"]], "dasf.ml.mixture.classifier": [[29, 1, 1, "", "MixtureClassifier"]], "dasf.ml.mixture.classifier.MixtureClassifier": [[29, 2, 1, "", "fit"], [29, 2, 1, "", "fit_predict"], [29, 2, 1, "", "fit_transform"], [29, 2, 1, "", "get_params"], [29, 2, 1, "", "set_params"]], "dasf.ml.mixture.gmm": [[30, 1, 1, "", "GaussianMixture"]], "dasf.ml.mixture.gmm.GaussianMixture": [[30, 2, 1, "", "_fit_cpu"], [30, 2, 1, "", "_fit_predict_cpu"], [30, 2, 1, "", "_get_params_cpu"], [30, 2, 1, "", "_predict_cpu"], [30, 2, 1, "", "_set_params_cpu"]], "dasf.ml.model_selection": [[32, 0, 0, "-", "split"]], "dasf.ml.model_selection.split": [[32, 1, 1, "", "train_test_split"]], "dasf.ml.model_selection.split.train_test_split": [[32, 2, 1, "", "_lazy_transform_cpu"], [32, 2, 1, "", "_lazy_transform_gpu"], [32, 2, 1, "", "_transform_cpu"], [32, 2, 1, "", "_transform_gpu"]], "dasf.ml.neighbors": [[33, 1, 1, "", "NearestNeighbors"], [34, 0, 0, "-", "neighbors"]], "dasf.ml.neighbors.NearestNeighbors": [[33, 2, 1, "", "_fit_cpu"], [33, 2, 1, "", "_fit_gpu"], [33, 2, 1, "", "_get_params_cpu"], [33, 2, 1, "", "_set_params_cpu"]], "dasf.ml.neighbors.neighbors": [[34, 1, 1, "", "NearestNeighbors"]], "dasf.ml.neighbors.neighbors.NearestNeighbors": [[34, 2, 1, "", "_fit_cpu"], [34, 2, 1, "", "_fit_gpu"], [34, 2, 1, "", "_get_params_cpu"], [34, 2, 1, "", "_set_params_cpu"]], "dasf.ml.preprocessing": [[35, 1, 1, "", "StantardScaler"], [36, 0, 0, "-", "standardscaler"]], "dasf.ml.preprocessing.StantardScaler": [[35, 2, 1, "", "_fit_cpu"], [35, 2, 1, "", "_fit_gpu"], [35, 2, 1, "", "_fit_partial_cpu"], [35, 2, 1, "", "_fit_partial_gpu"], [35, 2, 1, "", "_fit_transform_cpu"], [35, 2, 1, "", "_fit_transform_gpu"], [35, 2, 1, "", "_inverse_transform_cpu"], [35, 2, 1, "", "_inverse_transform_gpu"], [35, 2, 1, "", "_lazy_fit_cpu"], [35, 2, 1, "", "_lazy_fit_gpu"], [35, 2, 1, "", "_lazy_fit_transform_cpu"], [35, 2, 1, "", "_lazy_fit_transform_gpu"], [35, 2, 1, "", "_lazy_inverse_transform_cpu"], [35, 2, 1, "", "_lazy_inverse_transform_gpu"], [35, 2, 1, "", "_lazy_partial_fit_cpu"], [35, 2, 1, "", "_lazy_partial_fit_gpu"], [35, 2, 1, "", "_lazy_transform_cpu"], [35, 2, 1, "", "_lazy_transform_gpu"], [35, 2, 1, "", "_transform_cpu"], [35, 2, 1, "", "_transform_gpu"]], "dasf.ml.preprocessing.standardscaler": [[36, 1, 1, "", "StantardScaler"]], "dasf.ml.preprocessing.standardscaler.StantardScaler": [[36, 2, 1, "", "_fit_cpu"], [36, 2, 1, "", "_fit_gpu"], [36, 2, 1, "", "_fit_partial_cpu"], [36, 2, 1, "", "_fit_partial_gpu"], [36, 2, 1, "", "_fit_transform_cpu"], [36, 2, 1, "", "_fit_transform_gpu"], [36, 2, 1, "", "_inverse_transform_cpu"], [36, 2, 1, "", "_inverse_transform_gpu"], [36, 2, 1, "", "_lazy_fit_cpu"], [36, 2, 1, "", "_lazy_fit_gpu"], [36, 2, 1, "", "_lazy_fit_transform_cpu"], [36, 2, 1, "", "_lazy_fit_transform_gpu"], [36, 2, 1, "", "_lazy_inverse_transform_cpu"], [36, 2, 1, "", "_lazy_inverse_transform_gpu"], [36, 2, 1, "", "_lazy_partial_fit_cpu"], [36, 2, 1, "", "_lazy_partial_fit_gpu"], [36, 2, 1, "", "_lazy_transform_cpu"], [36, 2, 1, "", "_lazy_transform_gpu"], [36, 2, 1, "", "_transform_cpu"], [36, 2, 1, "", "_transform_gpu"]], "dasf.ml.svm": [[37, 1, 1, "", "LinearSVC"], [37, 1, 1, "", "LinearSVR"], [37, 1, 1, "", "SVC"], [37, 1, 1, "", "SVR"], [38, 0, 0, "-", "svm"]], "dasf.ml.svm.LinearSVC": [[37, 2, 1, "", "_fit_cpu"], [37, 2, 1, "", "_fit_gpu"], [37, 2, 1, "", "_predict_cpu"], [37, 2, 1, "", "_predict_gpu"]], "dasf.ml.svm.LinearSVR": [[37, 2, 1, "", "_fit_cpu"], [37, 2, 1, "", "_fit_gpu"], [37, 2, 1, "", "_predict_cpu"], [37, 2, 1, "", "_predict_gpu"]], "dasf.ml.svm.SVC": [[37, 2, 1, "", "_fit_cpu"], [37, 2, 1, "", "_fit_gpu"], [37, 2, 1, "", "_get_params_cpu"], [37, 2, 1, "", "_predict_cpu"], [37, 2, 1, "", "_predict_gpu"], [37, 2, 1, "", "_set_params_cpu"]], "dasf.ml.svm.SVR": [[37, 2, 1, "", "_fit_cpu"], [37, 2, 1, "", "_fit_gpu"], [37, 2, 1, "", "_predict_cpu"], [37, 2, 1, "", "_predict_gpu"]], "dasf.ml.svm.svm": [[38, 1, 1, "", "LinearSVC"], [38, 1, 1, "", "LinearSVR"], [38, 1, 1, "", "SVC"], [38, 1, 1, "", "SVR"]], "dasf.ml.svm.svm.LinearSVC": [[38, 2, 1, "", "_fit_cpu"], [38, 2, 1, "", "_fit_gpu"], [38, 2, 1, "", "_predict_cpu"], [38, 2, 1, "", "_predict_gpu"]], "dasf.ml.svm.svm.LinearSVR": [[38, 2, 1, "", "_fit_cpu"], [38, 2, 1, "", "_fit_gpu"], [38, 2, 1, "", "_predict_cpu"], [38, 2, 1, "", "_predict_gpu"]], "dasf.ml.svm.svm.SVC": [[38, 2, 1, "", "_fit_cpu"], [38, 2, 1, "", "_fit_gpu"], [38, 2, 1, "", "_get_params_cpu"], [38, 2, 1, "", "_predict_cpu"], [38, 2, 1, "", "_predict_gpu"], [38, 2, 1, "", "_set_params_cpu"]], "dasf.ml.svm.svm.SVR": [[38, 2, 1, "", "_fit_cpu"], [38, 2, 1, "", "_fit_gpu"], [38, 2, 1, "", "_predict_cpu"], [38, 2, 1, "", "_predict_gpu"]], "dasf.ml.xgboost": [[39, 1, 1, "", "XGBRegressor"], [40, 0, 0, "-", "xgboost"]], "dasf.ml.xgboost.XGBRegressor": [[39, 2, 1, "", "_fit_cpu"], [39, 2, 1, "", "_fit_gpu"], [39, 2, 1, "", "_lazy_fit_cpu"], [39, 2, 1, "", "_lazy_fit_gpu"], [39, 2, 1, "", "_lazy_predict_cpu"], [39, 2, 1, "", "_lazy_predict_gpu"], [39, 2, 1, "", "_predict_cpu"], [39, 2, 1, "", "_predict_gpu"]], "dasf.ml.xgboost.xgboost": [[40, 1, 1, "", "XGBRegressor"]], "dasf.ml.xgboost.xgboost.XGBRegressor": [[40, 2, 1, "", "_fit_cpu"], [40, 2, 1, "", "_fit_gpu"], [40, 2, 1, "", "_lazy_fit_cpu"], [40, 2, 1, "", "_lazy_fit_gpu"], [40, 2, 1, "", "_lazy_predict_cpu"], [40, 2, 1, "", "_lazy_predict_gpu"], [40, 2, 1, "", "_predict_cpu"], [40, 2, 1, "", "_predict_gpu"]], "dasf.pipeline": [[46, 1, 1, "", "Pipeline"], [46, 1, 1, "", "PipelinePlugin"], [43, 0, 0, "-", "executors"], [47, 0, 0, "-", "pipeline"], [48, 0, 0, "-", "types"]], "dasf.pipeline.Pipeline": [[46, 2, 1, "", "__add_into_dag"], [46, 2, 1, "", "__execute"], [46, 2, 1, "", "__inspect_element"], [46, 2, 1, "", "__register_dataset"], [46, 2, 1, "", "add"], [46, 2, 1, "", "execute_callbacks"], [46, 2, 1, "", "get_result_from"], [46, 2, 1, "", "register_plugin"], [46, 2, 1, "", "run"], [46, 2, 1, "", "visualize"]], "dasf.pipeline.PipelinePlugin": [[46, 2, 1, "", "on_pipeline_end"], [46, 2, 1, "", "on_pipeline_start"], [46, 2, 1, "", "on_task_end"], [46, 2, 1, "", "on_task_error"], [46, 2, 1, "", "on_task_start"]], "dasf.pipeline.executors": [[43, 1, 1, "", "DaskPBSPipelineExecutor"], [43, 1, 1, "", "DaskPipelineExecutor"], [43, 1, 1, "", "DaskTasksPipelineExecutor"], [43, 1, 1, "", "Executor"], [41, 0, 0, "-", "base"], [42, 0, 0, "-", "dask"], [44, 0, 0, "-", "ray"], [45, 0, 0, "-", "wrapper"]], "dasf.pipeline.executors.DaskPipelineExecutor": [[43, 2, 1, "", "execute"], [43, 2, 1, "", "get_dataset"], [43, 2, 1, "", "has_dataset"], [43, 3, 1, "", "is_connected"], [43, 3, 1, "", "ngpus"], [43, 2, 1, "", "register_dataset"], [43, 2, 1, "", "shutdown"]], "dasf.pipeline.executors.DaskTasksPipelineExecutor": [[43, 2, 1, "", "execute"], [43, 2, 1, "", "get_dataset"], [43, 2, 1, "", "has_dataset"], [43, 2, 1, "", "post_run"], [43, 2, 1, "", "pre_run"], [43, 2, 1, "", "register_dataset"], [43, 2, 1, "", "shutdown"]], "dasf.pipeline.executors.Executor": [[43, 2, 1, "", "execute"], [43, 3, 1, "", "is_connected"], [43, 3, 1, "", "ngpus"], [43, 2, 1, "", "post_run"], [43, 2, 1, "", "pre_run"]], "dasf.pipeline.executors.base": [[41, 1, 1, "", "Executor"]], "dasf.pipeline.executors.base.Executor": [[41, 2, 1, "", "execute"], [41, 3, 1, "", "is_connected"], [41, 3, 1, "", "ngpus"], [41, 2, 1, "", "post_run"], [41, 2, 1, "", "pre_run"]], "dasf.pipeline.executors.dask": [[42, 1, 1, "", "DaskPBSPipelineExecutor"], [42, 1, 1, "", "DaskPipelineExecutor"], [42, 1, 1, "", "DaskTasksPipelineExecutor"], [42, 5, 1, "", "GPU_SUPPORTED"]], "dasf.pipeline.executors.dask.DaskPipelineExecutor": [[42, 2, 1, "", "execute"], [42, 2, 1, "", "get_dataset"], [42, 2, 1, "", "has_dataset"], [42, 3, 1, "", "is_connected"], [42, 3, 1, "", "ngpus"], [42, 2, 1, "", "register_dataset"], [42, 2, 1, "", "shutdown"]], "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor": [[42, 2, 1, "", "execute"], [42, 2, 1, "", "get_dataset"], [42, 2, 1, "", "has_dataset"], [42, 2, 1, "", "post_run"], [42, 2, 1, "", "pre_run"], [42, 2, 1, "", "register_dataset"], [42, 2, 1, "", "shutdown"]], "dasf.pipeline.executors.ray": [[44, 1, 1, "", "RayPipelineExecutor"], [44, 5, 1, "", "USE_RAY"]], "dasf.pipeline.executors.ray.RayPipelineExecutor": [[44, 2, 1, "", "__del__"], [44, 2, 1, "", "execute"], [44, 3, 1, "", "is_connected"], [44, 3, 1, "", "ngpus"]], "dasf.pipeline.executors.wrapper": [[45, 1, 1, "", "PrefectPipelineExecutor"]], "dasf.pipeline.executors.wrapper.PrefectPipelineExecutor": [[45, 3, 1, "", "dtype"]], "dasf.pipeline.pipeline": [[47, 1, 1, "", "Pipeline"], [47, 1, 1, "", "PipelinePlugin"]], "dasf.pipeline.pipeline.Pipeline": [[47, 2, 1, "", "__add_into_dag"], [47, 2, 1, "", "__execute"], [47, 2, 1, "", "__inspect_element"], [47, 2, 1, "", "__register_dataset"], [47, 2, 1, "", "add"], [47, 2, 1, "", "execute_callbacks"], [47, 2, 1, "", "get_result_from"], [47, 2, 1, "", "register_plugin"], [47, 2, 1, "", "run"], [47, 2, 1, "", "visualize"]], "dasf.pipeline.pipeline.PipelinePlugin": [[47, 2, 1, "", "on_pipeline_end"], [47, 2, 1, "", "on_pipeline_start"], [47, 2, 1, "", "on_task_end"], [47, 2, 1, "", "on_task_error"], [47, 2, 1, "", "on_task_start"]], "dasf.pipeline.types": [[48, 1, 1, "", "TaskExecutorType"]], "dasf.pipeline.types.TaskExecutorType": [[48, 6, 1, "", "multi_cpu"], [48, 6, 1, "", "multi_gpu"], [48, 6, 1, "", "single_cpu"], [48, 6, 1, "", "single_gpu"]], "dasf.profile": [[49, 0, 0, "-", "database"], [50, 0, 0, "-", "event"], [54, 0, 0, "-", "plugins"]], "dasf.profile.database": [[49, 1, 1, "", "SingleFileTraceDatabase"], [49, 1, 1, "", "TraceDatabase"], [49, 1, 1, "", "TraceEvent"]], "dasf.profile.database.SingleFileTraceDatabase": [[49, 2, 1, "", "add_trace_event"], [49, 2, 1, "", "get_traces"]], "dasf.profile.database.TraceDatabase": [[49, 2, 1, "", "add_trace_event"], [49, 2, 1, "", "commit"], [49, 2, 1, "", "get_traces"]], "dasf.profile.database.TraceEvent": [[49, 6, 1, "", "category"], [49, 6, 1, "", "color_name"], [49, 6, 1, "", "data"], [49, 6, 1, "", "duration"], [49, 6, 1, "", "name"], [49, 6, 1, "", "phase"], [49, 6, 1, "", "process_id"], [49, 6, 1, "", "thread_duration"], [49, 6, 1, "", "thread_id"], [49, 6, 1, "", "thread_timestamp"], [49, 6, 1, "", "timestamp"]], "dasf.profile.event": [[50, 1, 1, "", "Profile"], [50, 1, 1, "", "Singleton"], [50, 1, 1, "", "TraceDatabase"], [50, 4, 1, "", "add_trace_complete"], [50, 4, 1, "", "add_trace_duration_begin"], [50, 4, 1, "", "add_trace_duration_end"], [50, 4, 1, "", "get_time_ms"], [50, 4, 1, "", "get_traces"], [50, 4, 1, "", "to_chrome_event_format"]], "dasf.profile.event.Profile": [[50, 2, 1, "", "__enter__"], [50, 2, 1, "", "__exit__"]], "dasf.profile.event.Singleton": [[50, 2, 1, "", "__call__"], [50, 6, 1, "", "_instances"]], "dasf.profile.event.TraceDatabase": [[50, 3, 1, "", "database"], [50, 6, 1, "", "db_name"]], "dasf.profile.plugins": [[52, 0, 0, "-", "dasf"], [53, 0, 0, "-", "dask"], [55, 0, 0, "-", "resource_monitor"]], "dasf.profile.plugins.dasf": [[52, 1, 1, "", "PipelineTaskTimer"]], "dasf.profile.plugins.dasf.PipelineTaskTimer": [[52, 2, 1, "", "on_task_end"], [52, 2, 1, "", "on_task_start"]], "dasf.profile.plugins.dask": [[53, 1, 1, "", "TaskTimePlugin"]], "dasf.profile.plugins.dask.TaskTimePlugin": [[53, 2, 1, "", "setup"], [53, 2, 1, "", "transition"]], "dasf.profile.plugins.resource_monitor": [[55, 1, 1, "", "Format"], [55, 1, 1, "", "ResourceMonitor"], [55, 4, 1, "", "run_continuously"]], "dasf.profile.plugins.resource_monitor.Format": [[55, 2, 1, "", "byte_value"], [55, 2, 1, "", "percent"], [55, 2, 1, "", "temperature"]], "dasf.profile.plugins.resource_monitor.ResourceMonitor": [[55, 2, 1, "", "get_info"], [55, 2, 1, "", "on_pipeline_end"], [55, 2, 1, "", "on_pipeline_start"]], "dasf.transforms": [[57, 1, 1, "", "ArrayToHDF5"], [57, 1, 1, "", "ArrayToZarr"], [57, 1, 1, "", "ArraysToDataFrame"], [57, 1, 1, "", "ComputeDaskData"], [57, 1, 1, "", "Fit"], [57, 1, 1, "", "FitPredict"], [57, 1, 1, "", "FitTransform"], [57, 1, 1, "", "GetParams"], [57, 1, 1, "", "MappedTransform"], [57, 1, 1, "", "Normalize"], [57, 1, 1, "", "PersistDaskData"], [57, 1, 1, "", "Predict"], [57, 1, 1, "", "Reshape"], [57, 1, 1, "", "SliceArray"], [57, 1, 1, "", "SliceArrayByPercent"], [57, 1, 1, "", "TargeteredTransform"], [57, 1, 1, "", "ZarrToArray"], [56, 0, 0, "-", "base"], [58, 0, 0, "-", "memory"], [59, 0, 0, "-", "operations"], [60, 0, 0, "-", "transforms"]], "dasf.transforms.ArrayToHDF5": [[57, 2, 1, "", "_convert_filename"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_generic"], [57, 2, 1, "", "_lazy_transform_generic_all"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_generic"], [57, 2, 1, "", "_transform_generic_all"], [57, 2, 1, "", "_transform_gpu"]], "dasf.transforms.ArrayToZarr": [[57, 2, 1, "", "_convert_filename"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_generic"], [57, 2, 1, "", "_lazy_transform_generic_all"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_generic"], [57, 2, 1, "", "_transform_generic_all"], [57, 2, 1, "", "_transform_gpu"]], "dasf.transforms.ArraysToDataFrame": [[57, 2, 1, "", "__transform_generic"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_gpu"]], "dasf.transforms.ComputeDaskData": [[57, 2, 1, "", "__lazy_transform_generic"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_gpu"]], "dasf.transforms.Fit": [[57, 2, 1, "", "_fit_cpu"], [57, 2, 1, "", "_fit_gpu"], [57, 2, 1, "", "_lazy_fit_cpu"], [57, 2, 1, "", "_lazy_fit_gpu"], [57, 2, 1, "", "fit"], [57, 2, 1, "", "fit_from_model"]], "dasf.transforms.FitPredict": [[57, 2, 1, "", "_fit_predict_cpu"], [57, 2, 1, "", "_fit_predict_gpu"], [57, 2, 1, "", "_lazy_fit_predict_cpu"], [57, 2, 1, "", "_lazy_fit_predict_gpu"], [57, 2, 1, "", "fit_predict"], [57, 2, 1, "", "fit_predict_from_model"]], "dasf.transforms.FitTransform": [[57, 2, 1, "", "_fit_transform_cpu"], [57, 2, 1, "", "_fit_transform_gpu"], [57, 2, 1, "", "_lazy_fit_transform_cpu"], [57, 2, 1, "", "_lazy_fit_transform_gpu"], [57, 2, 1, "", "fit_transform"], [57, 2, 1, "", "fit_transform_from_model"]], "dasf.transforms.GetParams": [[57, 2, 1, "", "_get_params_cpu"], [57, 2, 1, "", "_get_params_gpu"], [57, 2, 1, "", "_lazy_get_params_cpu"], [57, 2, 1, "", "_lazy_get_params_gpu"], [57, 2, 1, "", "get_params"]], "dasf.transforms.MappedTransform": [[57, 2, 1, "", "__lazy_transform_generic"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_gpu"], [57, 2, 1, "", "transform"]], "dasf.transforms.Normalize": [[57, 2, 1, "", "transform"]], "dasf.transforms.PersistDaskData": [[57, 2, 1, "", "__lazy_transform_generic"], [57, 2, 1, "", "_lazy_transform_cpu"], [57, 2, 1, "", "_lazy_transform_gpu"], [57, 2, 1, "", "_transform_cpu"], [57, 2, 1, "", "_transform_gpu"]], "dasf.transforms.Predict": [[57, 2, 1, "", "_lazy_predict_cpu"], [57, 2, 1, "", "_lazy_predict_gpu"], [57, 2, 1, "", "_predict_cpu"], [57, 2, 1, "", "_predict_gpu"], [57, 2, 1, "", "predict"], [57, 2, 1, "", "predict_from_model"]], "dasf.transforms.Reshape": [[57, 2, 1, "", "run"]], "dasf.transforms.SliceArray": [[57, 2, 1, "", "transform"]], "dasf.transforms.SliceArrayByPercent": [[57, 2, 1, "", "transform"]], "dasf.transforms.ZarrToArray": [[57, 2, 1, "", "_convert_filename"], [57, 2, 1, "", "transform"]], "dasf.transforms.base": [[56, 1, 1, "", "Fit"], [56, 1, 1, "", "FitPredict"], [56, 1, 1, "", "FitTransform"], [56, 1, 1, "", "GetParams"], [56, 1, 1, "", "MappedTransform"], [56, 1, 1, "", "Predict"], [56, 1, 1, "", "SetParams"], [56, 1, 1, "", "TargeteredTransform"], [56, 1, 1, "", "Transform"]], "dasf.transforms.base.Fit": [[56, 2, 1, "", "_fit_cpu"], [56, 2, 1, "", "_fit_gpu"], [56, 2, 1, "", "_lazy_fit_cpu"], [56, 2, 1, "", "_lazy_fit_gpu"], [56, 2, 1, "", "fit"], [56, 2, 1, "", "fit_from_model"]], "dasf.transforms.base.FitPredict": [[56, 2, 1, "", "_fit_predict_cpu"], [56, 2, 1, "", "_fit_predict_gpu"], [56, 2, 1, "", "_lazy_fit_predict_cpu"], [56, 2, 1, "", "_lazy_fit_predict_gpu"], [56, 2, 1, "", "fit_predict"], [56, 2, 1, "", "fit_predict_from_model"]], "dasf.transforms.base.FitTransform": [[56, 2, 1, "", "_fit_transform_cpu"], [56, 2, 1, "", "_fit_transform_gpu"], [56, 2, 1, "", "_lazy_fit_transform_cpu"], [56, 2, 1, "", "_lazy_fit_transform_gpu"], [56, 2, 1, "", "fit_transform"], [56, 2, 1, "", "fit_transform_from_model"]], "dasf.transforms.base.GetParams": [[56, 2, 1, "", "_get_params_cpu"], [56, 2, 1, "", "_get_params_gpu"], [56, 2, 1, "", "_lazy_get_params_cpu"], [56, 2, 1, "", "_lazy_get_params_gpu"], [56, 2, 1, "", "get_params"]], "dasf.transforms.base.MappedTransform": [[56, 2, 1, "", "__lazy_transform_generic"], [56, 2, 1, "", "_lazy_transform_cpu"], [56, 2, 1, "", "_lazy_transform_gpu"], [56, 2, 1, "", "_transform_cpu"], [56, 2, 1, "", "_transform_gpu"], [56, 2, 1, "", "transform"]], "dasf.transforms.base.Predict": [[56, 2, 1, "", "_lazy_predict_cpu"], [56, 2, 1, "", "_lazy_predict_gpu"], [56, 2, 1, "", "_predict_cpu"], [56, 2, 1, "", "_predict_gpu"], [56, 2, 1, "", "predict"], [56, 2, 1, "", "predict_from_model"]], "dasf.transforms.base.SetParams": [[56, 2, 1, "", "_lazy_set_params_cpu"], [56, 2, 1, "", "_lazy_set_params_gpu"], [56, 2, 1, "", "_set_params_cpu"], [56, 2, 1, "", "_set_params_gpu"], [56, 2, 1, "", "set_params"]], "dasf.transforms.base.Transform": [[56, 2, 1, "", "_lazy_transform_cpu"], [56, 2, 1, "", "_lazy_transform_gpu"], [56, 2, 1, "", "_transform_cpu"], [56, 2, 1, "", "_transform_gpu"], [56, 2, 1, "", "transform"], [56, 2, 1, "", "transform_from_model"]], "dasf.transforms.memory": [[58, 1, 1, "", "ComputeDaskData"], [58, 1, 1, "", "PersistDaskData"]], "dasf.transforms.memory.ComputeDaskData": [[58, 2, 1, "", "__lazy_transform_generic"], [58, 2, 1, "", "_lazy_transform_cpu"], [58, 2, 1, "", "_lazy_transform_gpu"], [58, 2, 1, "", "_transform_cpu"], [58, 2, 1, "", "_transform_gpu"]], "dasf.transforms.memory.PersistDaskData": [[58, 2, 1, "", "__lazy_transform_generic"], [58, 2, 1, "", "_lazy_transform_cpu"], [58, 2, 1, "", "_lazy_transform_gpu"], [58, 2, 1, "", "_transform_cpu"], [58, 2, 1, "", "_transform_gpu"]], "dasf.transforms.operations": [[59, 1, 1, "", "Reshape"], [59, 1, 1, "", "SliceArray"], [59, 1, 1, "", "SliceArrayByPercent"]], "dasf.transforms.operations.Reshape": [[59, 2, 1, "", "run"]], "dasf.transforms.operations.SliceArray": [[59, 2, 1, "", "transform"]], "dasf.transforms.operations.SliceArrayByPercent": [[59, 2, 1, "", "transform"]], "dasf.transforms.transforms": [[60, 1, 1, "", "ArrayToHDF5"], [60, 1, 1, "", "ArrayToZarr"], [60, 1, 1, "", "ArraysToDataFrame"], [60, 1, 1, "", "Normalize"], [60, 1, 1, "", "ZarrToArray"]], "dasf.transforms.transforms.ArrayToHDF5": [[60, 2, 1, "", "_convert_filename"], [60, 2, 1, "", "_lazy_transform_cpu"], [60, 2, 1, "", "_lazy_transform_generic"], [60, 2, 1, "", "_lazy_transform_generic_all"], [60, 2, 1, "", "_lazy_transform_gpu"], [60, 2, 1, "", "_transform_cpu"], [60, 2, 1, "", "_transform_generic"], [60, 2, 1, "", "_transform_generic_all"], [60, 2, 1, "", "_transform_gpu"]], "dasf.transforms.transforms.ArrayToZarr": [[60, 2, 1, "", "_convert_filename"], [60, 2, 1, "", "_lazy_transform_cpu"], [60, 2, 1, "", "_lazy_transform_generic"], [60, 2, 1, "", "_lazy_transform_generic_all"], [60, 2, 1, "", "_lazy_transform_gpu"], [60, 2, 1, "", "_transform_cpu"], [60, 2, 1, "", "_transform_generic"], [60, 2, 1, "", "_transform_generic_all"], [60, 2, 1, "", "_transform_gpu"]], "dasf.transforms.transforms.ArraysToDataFrame": [[60, 2, 1, "", "__transform_generic"], [60, 2, 1, "", "_lazy_transform_cpu"], [60, 2, 1, "", "_lazy_transform_gpu"], [60, 2, 1, "", "_transform_cpu"], [60, 2, 1, "", "_transform_gpu"]], "dasf.transforms.transforms.Normalize": [[60, 2, 1, "", "transform"]], "dasf.transforms.transforms.ZarrToArray": [[60, 2, 1, "", "_convert_filename"], [60, 2, 1, "", "transform"]], "dasf.utils": [[61, 0, 0, "-", "benchmark"], [62, 0, 0, "-", "decorators"], [63, 0, 0, "-", "funcs"], [65, 0, 0, "-", "labels"], [66, 0, 0, "-", "logging"], [67, 0, 0, "-", "types"]], "dasf.utils.benchmark": [[61, 1, 1, "", "MemoryBenchmark"], [61, 1, 1, "", "TimeBenchmark"], [61, 5, 1, "", "USE_MEMRAY"], [61, 5, 1, "", "USE_MEM_PROF"]], "dasf.utils.benchmark.MemoryBenchmark": [[61, 2, 1, "", "__enter__"], [61, 2, 1, "", "__exit__"], [61, 2, 1, "", "run"]], "dasf.utils.benchmark.TimeBenchmark": [[61, 2, 1, "", "__enter__"], [61, 2, 1, "", "__exit__"], [61, 2, 1, "", "run"]], "dasf.utils.decorators": [[62, 4, 1, "", "fetch_args_from_dask"], [62, 4, 1, "", "fetch_args_from_gpu"], [62, 4, 1, "", "fetch_from_dask"], [62, 4, 1, "", "fetch_from_gpu"], [62, 4, 1, "", "is_forced_gpu"], [62, 4, 1, "", "is_forced_local"], [62, 4, 1, "", "task_handler"]], "dasf.utils.funcs": [[63, 5, 1, "", "GPU_SUPPORTED"], [63, 1, 1, "", "NotebookProgressBar"], [63, 4, 1, "", "block_chunk_reduce"], [63, 4, 1, "", "download_file"], [63, 4, 1, "", "download_file_from_gdrive"], [63, 4, 1, "", "get_dask_gpu_count"], [63, 4, 1, "", "get_dask_mem_usage"], [63, 4, 1, "", "get_dask_running_client"], [63, 4, 1, "", "get_full_qualname"], [63, 4, 1, "", "get_gpu_count"], [63, 4, 1, "", "get_machine_memory_avail"], [63, 4, 1, "", "get_worker_info"], [63, 4, 1, "", "human_readable_size"], [63, 4, 1, "", "is_dask_gpu_supported"], [63, 4, 1, "", "is_dask_local_supported"], [63, 4, 1, "", "is_dask_supported"], [63, 4, 1, "", "is_executor_cluster"], [63, 4, 1, "", "is_executor_cpu"], [63, 4, 1, "", "is_executor_gpu"], [63, 4, 1, "", "is_executor_single"], [63, 4, 1, "", "is_gpu_supported"], [63, 4, 1, "", "is_notebook"], [63, 4, 1, "", "return_local_and_gpu"], [63, 4, 1, "", "set_executor_default"], [63, 4, 1, "", "set_executor_gpu"], [63, 4, 1, "", "sync_future_loop"]], "dasf.utils.funcs.NotebookProgressBar": [[63, 6, 1, "", "MIN_CUR"], [63, 6, 1, "", "MIN_TOTAL"], [63, 2, 1, "", "run"], [63, 2, 1, "", "set_current"], [63, 2, 1, "", "set_error"], [63, 2, 1, "", "show"]], "dasf.utils.labels": [[65, 1, 1, "", "DaskLabel"], [65, 5, 1, "", "g_data_attrs"], [65, 5, 1, "", "g_func_attrs"], [65, 5, 1, "", "g_hash_attrs"], [65, 4, 1, "", "get_attributes"], [65, 5, 1, "", "inside_with"]], "dasf.utils.labels.DaskLabel": [[65, 2, 1, "", "__add_data"], [65, 2, 1, "", "__add_func"], [65, 2, 1, "", "__add_item"], [65, 2, 1, "", "__enter"], [65, 2, 1, "", "__enter__"], [65, 2, 1, "", "__exit"], [65, 2, 1, "", "__exit__"], [65, 2, 1, "", "__generate_hashtable"], [65, 2, 1, "", "__name"], [65, 2, 1, "", "start"], [65, 2, 1, "", "stop"]], "dasf.utils.logging": [[66, 4, 1, "", "init_logging"]], "dasf.utils.types": [[67, 5, 1, "", "Array"], [67, 5, 1, "", "ArrayCPU"], [67, 5, 1, "", "ArrayGPU"], [67, 5, 1, "", "DaskArray"], [67, 5, 1, "", "DaskDataFrame"], [67, 5, 1, "", "DaskDataFrameCPU"], [67, 5, 1, "", "DataCPU"], [67, 5, 1, "", "DataDask"], [67, 5, 1, "", "DataFrame"], [67, 5, 1, "", "DataFrameCPU"], [67, 5, 1, "", "XDataArray"], [67, 4, 1, "", "is_array"], [67, 4, 1, "", "is_cpu_array"], [67, 4, 1, "", "is_cpu_dataframe"], [67, 4, 1, "", "is_cpu_datatype"], [67, 4, 1, "", "is_dask"], [67, 4, 1, "", "is_dask_array"], [67, 4, 1, "", "is_dask_cpu_array"], [67, 4, 1, "", "is_dask_cpu_dataframe"], [67, 4, 1, "", "is_dask_dataframe"], [67, 4, 1, "", "is_dask_gpu_array"], [67, 4, 1, "", "is_dask_gpu_dataframe"], [67, 4, 1, "", "is_dataframe"], [67, 4, 1, "", "is_gpu_array"], [67, 4, 1, "", "is_gpu_dataframe"], [67, 4, 1, "", "is_gpu_datatype"], [67, 4, 1, "", "is_xarray_array"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:function", "5": "py:data", "6": "py:attribute"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "function", "Python function"], "5": ["py", "data", "Python data"], "6": ["py", "attribute", "Python attribute"]}, "titleterms": {"dasf": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 71, 74], "api": [0, 71], "refer": [0, 13, 14, 15, 18], "dataset": [1, 2, 3, 4, 74], "base": [1, 41, 56], "modul": [1, 2, 3, 5, 7, 9, 11, 12, 13, 14, 16, 17, 18, 19, 21, 22, 25, 27, 29, 30, 32, 34, 36, 38, 40, 41, 42, 44, 45, 47, 48, 49, 50, 52, 53, 55, 56, 58, 59, 60, 61, 62, 63, 65, 66, 67], "content": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 65, 66, 67, 68], "class": [1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 57, 58, 59, 60, 61, 63, 65], "paramet": [1, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18, 53, 57, 59], "return": [1, 4, 8, 9, 15, 16], "attribut": [1, 4, 7, 8, 42, 44, 61, 63, 65, 67], "blob": [], "download": 3, "submodul": [4, 6, 8, 15, 20, 23, 24, 26, 28, 31, 33, 35, 37, 39, 43, 46, 51, 54, 57, 64], "packag": [4, 6, 8, 15, 20, 23, 24, 26, 33, 35, 37, 39, 43, 46, 57], "debug": [5, 6], "feature_extract": [7, 8, 9], "histogram": 7, "transform": [9, 56, 57, 58, 59, 60], "subpackag": [10, 24, 28, 46, 51], "ml": [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "cluster": [11, 12, 13, 14, 15, 16, 17, 18, 22, 23], "agglom": 11, "exampl": [11, 13, 14, 15, 16, 17, 18, 53], "classifi": [12, 29], "dbscan": 13, "see": [13, 15, 16], "also": [13, 15, 16], "hdbscan": 14, "note": [15, 16, 18], "kmean": 16, "som": 17, "spectral": 18, "core": 19, "decomposit": [20, 21], "pca": 21, "dl": [22, 23, 24, 25, 26, 27], "dask": [22, 42, 53], "model": [25, 26], "devconvnet": 25, "pytorch_lightn": 27, "function": [27, 50, 55, 62, 63, 65, 66, 67], "mixtur": [29, 30], "gmm": 30, "model_select": [31, 32], "split": 32, "neighbor": [33, 34], "preprocess": [35, 36], "standardscal": 36, "svm": [37, 38], "xgboost": [39, 40], "pipelin": [41, 42, 43, 44, 45, 46, 47, 48, 76], "executor": [41, 42, 43, 44, 45], "wrapper": 45, "type": [48, 67], "memori": 58, "oper": 59, "util": [61, 62, 63, 64, 65, 66, 67], "decor": 62, "func": 63, "label": 65, "log": 66, "welcom": 68, "document": 68, "i": 68, "an": [68, 76], "acceler": 68, "scalabl": 68, "framework": 68, "indic": 68, "tabl": 68, "instal": 69, "guid": 69, "us": 69, "docker": 69, "conda": 69, "develop": 69, "version": 69, "test": 69, "overview": 70, "implement": 70, "machin": 70, "learn": 70, "algorithm": 70, "tutori": [72, 73, 74, 75, 76], "1": 73, "A": 73, "quick": 73, "demo": 73, "2": 74, "how": [74, 75, 76], "extend": 74, "3": 75, "creat": [75, 76], "your": 75, "own": 75, "trasform": 75, "rai": 44, "profil": [49, 50, 51, 52, 53, 54, 55], "databas": 49, "event": 50, "plugin": [52, 53, 54, 55], "resource_monitor": 55, "benchmark": 61, "principl": 71, "4": 76, "agnost": 76, "simpl": 71}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"DASF API Reference": [[0, "dasf-api-reference"]], "Installation Guide": [[69, "installation-guide"]], "Using Docker": [[69, "using-docker"]], "Using Conda": [[69, "using-conda"]], "Development version": [[69, "development-version"]], "Testing": [[69, "testing"]], "Overview": [[70, "overview"]], "Implemented Machine Learning Algorithms": [[70, "implemented-machine-learning-algorithms"]], "Welcome to DASF Documentation!": [[68, "welcome-to-dasf-documentation"]], "DASF is an Accelerated and Scalable Framework": [[68, "dasf-is-an-accelerated-and-scalable-framework"]], "Contents": [[68, "contents"]], "Indices and tables": [[68, "indices-and-tables"]], "Tutorials": [[72, "tutorials"]], "Tutorial 1 - A Quick Demo": [[73, "Tutorial-1---A-Quick-Demo"]], "Tutorial 2 - How to extend DASF Datasets": [[74, "Tutorial-2---How-to-extend-DASF-Datasets"]], "Tutorial 3 - How Create Your Own Trasform": [[75, "Tutorial-3---How-Create-Your-Own-Trasform"]], "Tutorial 4 - How Create an Agnostic Pipeline": [[76, "Tutorial-4---How-Create-an-Agnostic-Pipeline"]], "dasf.datasets.base": [[1, "module-dasf.datasets.base"]], "Module Contents": [[1, "module-contents"], [2, "module-contents"], [3, "module-contents"], [5, "module-contents"], [7, "module-contents"], [9, "module-contents"], [11, "module-contents"], [12, "module-contents"], [13, "module-contents"], [14, "module-contents"], [16, "module-contents"], [17, "module-contents"], [18, "module-contents"], [19, "module-contents"], [21, "module-contents"], [22, "module-contents"], [25, "module-contents"], [27, "module-contents"], [29, "module-contents"], [30, "module-contents"], [32, "module-contents"], [34, "module-contents"], [36, "module-contents"], [38, "module-contents"], [40, "module-contents"], [41, "module-contents"], [42, "module-contents"], [44, "module-contents"], [45, "module-contents"], [47, "module-contents"], [48, "module-contents"], [49, "module-contents"], [50, "module-contents"], [52, "module-contents"], [53, "module-contents"], [55, "module-contents"], [56, "module-contents"], [58, "module-contents"], [59, "module-contents"], [60, "module-contents"], [61, "module-contents"], [62, "module-contents"], [63, "module-contents"], [65, "module-contents"], [66, "module-contents"], [67, "module-contents"]], "Classes": [[1, "classes"], [2, "classes"], [3, "classes"], [4, "classes"], [5, "classes"], [6, "classes"], [7, "classes"], [8, "classes"], [9, "classes"], [11, "classes"], [12, "classes"], [13, "classes"], [14, "classes"], [15, "classes"], [16, "classes"], [17, "classes"], [18, "classes"], [19, "classes"], [20, "classes"], [21, "classes"], [22, "classes"], [23, "classes"], [24, "classes"], [25, "classes"], [26, "classes"], [27, "classes"], [29, "classes"], [30, "classes"], [32, "classes"], [33, "classes"], [34, "classes"], [35, "classes"], [36, "classes"], [37, "classes"], [38, "classes"], [39, "classes"], [40, "classes"], [41, "classes"], [42, "classes"], [43, "classes"], [44, "classes"], [45, "classes"], [46, "classes"], [47, "classes"], [48, "classes"], [49, "classes"], [50, "classes"], [52, "classes"], [53, "classes"], [55, "classes"], [56, "classes"], [57, "classes"], [58, "classes"], [59, "classes"], [60, "classes"], [61, "classes"], [63, "classes"], [65, "classes"]], "Parameters": [[1, "parameters"], [1, "id5"], [1, "id6"], [1, "id7"], [1, "id9"], [1, "id11"], [1, "id13"], [1, "id15"], [1, "id17"], [1, "id21"], [1, "id26"], [1, "id28"], [1, "id32"], [1, "id37"], [1, "id39"], [1, "id41"], [1, "id43"], [1, "id45"], [1, "id47"], [1, "id48"], [1, "id52"], [1, "id57"], [1, "id60"], [1, "id61"], [1, "id63"], [1, "id67"], [1, "id72"], [1, "id73"], [1, "id77"], [1, "id78"], [3, "parameters"], [3, "id1"], [4, "parameters"], [4, "id5"], [4, "id6"], [4, "id7"], [4, "id9"], [4, "id11"], [4, "id13"], [4, "id15"], [4, "id17"], [4, "id21"], [4, "id26"], [4, "id28"], [4, "id32"], [4, "id37"], [4, "id39"], [4, "id41"], [4, "id43"], [4, "id45"], [4, "id47"], [4, "id48"], [4, "id52"], [4, "id57"], [4, "id60"], [4, "id61"], [4, "id63"], [4, "id67"], [4, "id72"], [4, "id73"], [4, "id77"], [4, "id78"], [5, "parameters"], [5, "id3"], [6, "parameters"], [6, "id3"], [7, "parameters"], [8, "parameters"], [8, "id1"], [8, "id2"], [8, "id3"], [8, "id4"], [8, "id5"], [8, "id6"], [9, "parameters"], [9, "id1"], [9, "id2"], [9, "id3"], [9, "id4"], [9, "id5"], [11, "parameters"], [13, "parameters"], [14, "parameters"], [15, "parameters"], [15, "id1"], [15, "id3"], [15, "id4"], [15, "id6"], [15, "id8"], [15, "id10"], [15, "id12"], [15, "id14"], [15, "id16"], [15, "id18"], [15, "id20"], [15, "id22"], [15, "id24"], [15, "id26"], [15, "id28"], [15, "id30"], [15, "id33"], [15, "id35"], [16, "parameters"], [16, "id1"], [16, "id2"], [16, "id4"], [16, "id6"], [16, "id8"], [16, "id10"], [16, "id12"], [16, "id14"], [16, "id16"], [16, "id18"], [16, "id20"], [16, "id22"], [16, "id24"], [16, "id26"], [17, "parameters"], [18, "parameters"], [53, "parameters"], [57, "parameters"], [59, "parameters"]], "Returns": [[1, "returns"], [1, "id8"], [1, "id10"], [1, "id12"], [1, "id14"], [1, "id16"], [1, "id20"], [1, "id24"], [1, "id25"], [1, "id27"], [1, "id31"], [1, "id35"], [1, "id36"], [1, "id38"], [1, "id40"], [1, "id42"], [1, "id44"], [1, "id46"], [1, "id51"], [1, "id55"], [1, "id56"], [1, "id58"], [1, "id59"], [1, "id62"], [1, "id66"], [1, "id70"], [1, "id71"], [1, "id74"], [1, "id75"], [1, "id76"], [4, "returns"], [4, "id8"], [4, "id10"], [4, "id12"], [4, "id14"], [4, "id16"], [4, "id20"], [4, "id24"], [4, "id25"], [4, "id27"], [4, "id31"], [4, "id35"], [4, "id36"], [4, "id38"], [4, "id40"], [4, "id42"], [4, "id44"], [4, "id46"], [4, "id51"], [4, "id55"], [4, "id56"], [4, "id58"], [4, "id59"], [4, "id62"], [4, "id66"], [4, "id70"], [4, "id71"], [4, "id74"], [4, "id75"], [4, "id76"], [8, "returns"], [9, "returns"], [15, "returns"], [15, "id5"], [15, "id7"], [15, "id9"], [15, "id11"], [15, "id13"], [15, "id15"], [15, "id17"], [15, "id19"], [15, "id21"], [15, "id23"], [15, "id25"], [15, "id27"], [15, "id29"], [16, "returns"], [16, "id3"], [16, "id5"], [16, "id7"], [16, "id9"], [16, "id11"], [16, "id13"], [16, "id15"], [16, "id17"], [16, "id19"], [16, "id21"], [16, "id23"], [16, "id25"], [16, "id27"]], "Attributes": [[1, "attributes"], [4, "attributes"], [7, "attributes"], [8, "attributes"], [42, "attributes"], [44, "attributes"], [61, "attributes"], [63, "attributes"], [65, "attributes"], [67, "attributes"]], "dasf.datasets.datasets": [[2, "module-dasf.datasets.datasets"]], "dasf.datasets.download": [[3, "module-dasf.datasets.download"]], "dasf.datasets": [[4, "module-dasf.datasets"]], "Submodules": [[4, "submodules"], [6, "submodules"], [8, "submodules"], [15, "submodules"], [20, "submodules"], [23, "submodules"], [24, "submodules"], [26, "submodules"], [28, "submodules"], [31, "submodules"], [33, "submodules"], [35, "submodules"], [37, "submodules"], [39, "submodules"], [43, "submodules"], [46, "submodules"], [51, "submodules"], [54, "submodules"], [57, "submodules"], [64, "submodules"]], "Package Contents": [[4, "package-contents"], [6, "package-contents"], [8, "package-contents"], [15, "package-contents"], [20, "package-contents"], [23, "package-contents"], [24, "package-contents"], [26, "package-contents"], [33, "package-contents"], [35, "package-contents"], [37, "package-contents"], [39, "package-contents"], [43, "package-contents"], [46, "package-contents"], [57, "package-contents"]], "dasf.debug.debug": [[5, "module-dasf.debug.debug"]], "dasf.debug": [[6, "module-dasf.debug"]], "dasf.feature_extraction.histogram": [[7, "module-dasf.feature_extraction.histogram"]], "dasf.feature_extraction": [[8, "module-dasf.feature_extraction"]], "dasf.feature_extraction.transform": [[9, "module-dasf.feature_extraction.transform"]], "dasf": [[10, "module-dasf"]], "Subpackages": [[10, "subpackages"], [24, "subpackages"], [28, "subpackages"], [46, "subpackages"], [51, "subpackages"]], "dasf.ml.cluster.agglomerative": [[11, "module-dasf.ml.cluster.agglomerative"]], "Examples": [[11, "examples"], [13, "examples"], [14, "examples"], [15, "examples"], [15, "id2"], [15, "id31"], [15, "id34"], [15, "id36"], [16, "examples"], [17, "examples"], [18, "examples"], [53, "examples"]], "dasf.ml.cluster.classifier": [[12, "module-dasf.ml.cluster.classifier"]], "dasf.ml.cluster.dbscan": [[13, "module-dasf.ml.cluster.dbscan"]], "See Also": [[13, "see-also"], [15, "see-also"], [15, "id32"], [16, "see-also"]], "References": [[13, "references"], [14, "references"], [15, "references"], [15, "id38"], [18, "references"]], "dasf.ml.cluster.hdbscan": [[14, "module-dasf.ml.cluster.hdbscan"]], "dasf.ml.cluster": [[15, "module-dasf.ml.cluster"]], "Notes": [[15, "notes"], [15, "id37"], [16, "notes"], [18, "notes"]], "dasf.ml.cluster.kmeans": [[16, "module-dasf.ml.cluster.kmeans"]], "dasf.ml.cluster.som": [[17, "module-dasf.ml.cluster.som"]], "dasf.ml.cluster.spectral": [[18, "module-dasf.ml.cluster.spectral"]], "dasf.ml.core": [[19, "module-dasf.ml.core"]], "dasf.ml.decomposition": [[20, "module-dasf.ml.decomposition"]], "dasf.ml.decomposition.pca": [[21, "module-dasf.ml.decomposition.pca"]], "dasf.ml.dl.clusters.dask": [[22, "module-dasf.ml.dl.clusters.dask"]], "dasf.ml.dl.clusters": [[23, "module-dasf.ml.dl.clusters"]], "dasf.ml.dl": [[24, "module-dasf.ml.dl"]], "dasf.ml.dl.models.devconvnet": [[25, "module-dasf.ml.dl.models.devconvnet"]], "dasf.ml.dl.models": [[26, "module-dasf.ml.dl.models"]], "dasf.ml.dl.pytorch_lightning": [[27, "module-dasf.ml.dl.pytorch_lightning"]], "Functions": [[27, "functions"], [50, "functions"], [55, "functions"], [62, "functions"], [63, "functions"], [65, "functions"], [66, "functions"], [67, "functions"]], "dasf.ml": [[28, "module-dasf.ml"]], "dasf.ml.mixture.classifier": [[29, "module-dasf.ml.mixture.classifier"]], "dasf.ml.mixture.gmm": [[30, "module-dasf.ml.mixture.gmm"]], "dasf.ml.model_selection": [[31, "module-dasf.ml.model_selection"]], "dasf.ml.model_selection.split": [[32, "module-dasf.ml.model_selection.split"]], "dasf.ml.neighbors": [[33, "module-dasf.ml.neighbors"]], "dasf.ml.neighbors.neighbors": [[34, "module-dasf.ml.neighbors.neighbors"]], "dasf.ml.preprocessing": [[35, "module-dasf.ml.preprocessing"]], "dasf.ml.preprocessing.standardscaler": [[36, "module-dasf.ml.preprocessing.standardscaler"]], "dasf.ml.svm": [[37, "module-dasf.ml.svm"]], "dasf.ml.svm.svm": [[38, "module-dasf.ml.svm.svm"]], "dasf.ml.xgboost": [[39, "module-dasf.ml.xgboost"]], "dasf.ml.xgboost.xgboost": [[40, "module-dasf.ml.xgboost.xgboost"]], "dasf.pipeline.executors.base": [[41, "module-dasf.pipeline.executors.base"]], "dasf.pipeline.executors.dask": [[42, "module-dasf.pipeline.executors.dask"]], "dasf.pipeline.executors": [[43, "module-dasf.pipeline.executors"]], "dasf.pipeline.executors.ray": [[44, "module-dasf.pipeline.executors.ray"]], "dasf.pipeline.executors.wrapper": [[45, "module-dasf.pipeline.executors.wrapper"]], "dasf.pipeline": [[46, "module-dasf.pipeline"]], "dasf.pipeline.pipeline": [[47, "module-dasf.pipeline.pipeline"]], "dasf.pipeline.types": [[48, "module-dasf.pipeline.types"]], "dasf.profile.database": [[49, "module-dasf.profile.database"]], "dasf.profile.event": [[50, "module-dasf.profile.event"]], "dasf.profile": [[51, "module-dasf.profile"]], "dasf.profile.plugins.dasf": [[52, "module-dasf.profile.plugins.dasf"]], "dasf.profile.plugins.dask": [[53, "module-dasf.profile.plugins.dask"]], "dasf.profile.plugins": [[54, "module-dasf.profile.plugins"]], "dasf.profile.plugins.resource_monitor": [[55, "module-dasf.profile.plugins.resource_monitor"]], "dasf.transforms.base": [[56, "module-dasf.transforms.base"]], "dasf.transforms": [[57, "module-dasf.transforms"]], "dasf.transforms.memory": [[58, "module-dasf.transforms.memory"]], "dasf.transforms.operations": [[59, "module-dasf.transforms.operations"]], "dasf.transforms.transforms": [[60, "module-dasf.transforms.transforms"]], "dasf.utils.benchmark": [[61, "module-dasf.utils.benchmark"]], "dasf.utils.decorators": [[62, "module-dasf.utils.decorators"]], "dasf.utils.funcs": [[63, "module-dasf.utils.funcs"]], "dasf.utils": [[64, "module-dasf.utils"]], "dasf.utils.labels": [[65, "module-dasf.utils.labels"]], "dasf.utils.logging": [[66, "module-dasf.utils.logging"]], "dasf.utils.types": [[67, "module-dasf.utils.types"]], "Principles": [[71, "principles"]], "DASF as a Simple API": [[71, "dasf-as-a-simple-api"]]}, "indexentries": {"dataset (class in dasf.datasets.base)": [[1, "dasf.datasets.base.Dataset"]], "datasetarray (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetArray"]], "datasetdataframe (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetDataFrame"]], "datasethdf5 (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetHDF5"]], "datasetlabeled (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetLabeled"]], "datasetparquet (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetParquet"]], "datasetxarray (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetXarray"]], "datasetzarr (class in dasf.datasets.base)": [[1, "dasf.datasets.base.DatasetZarr"]], "__add__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__add__"]], "__add__() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__add__"]], "__array__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__array__"]], "__array_ufunc__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__array_ufunc__"]], "__check_op_input() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__check_op_input"]], "__check_op_input() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__check_op_input"]], "__copy_attrs_from_data() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__copy_attrs_from_data"]], "__copy_attrs_from_data() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__copy_attrs_from_data"]], "__div__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__div__"]], "__div__() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__div__"]], "__getitem__() (dasf.datasets.base.dataset method)": [[1, "dasf.datasets.base.Dataset.__getitem__"]], "__getitem__() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame.__getitem__"]], "__getitem__() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled.__getitem__"]], "__getitem__() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray.__getitem__"]], "__len__() (dasf.datasets.base.dataset method)": [[1, "dasf.datasets.base.Dataset.__len__"]], "__len__() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame.__len__"]], "__len__() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray.__len__"]], "__mul__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__mul__"]], "__mul__() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__mul__"]], "__npy_header() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__npy_header"]], "__operator_check__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__operator_check__"]], "__repr__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__repr__"]], "__repr__() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__repr__"]], "__set_dataset_cache_dir() (dasf.datasets.base.dataset method)": [[1, "dasf.datasets.base.Dataset.__set_dataset_cache_dir"]], "__sub__() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.__sub__"]], "__sub__() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.__sub__"]], "_lazy_load() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._lazy_load"]], "_lazy_load() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._lazy_load"]], "_lazy_load() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._lazy_load"]], "_lazy_load() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._lazy_load"]], "_lazy_load_cpu() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasetparquet method)": [[1, "dasf.datasets.base.DatasetParquet._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._lazy_load_cpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetparquet method)": [[1, "dasf.datasets.base.DatasetParquet._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._lazy_load_gpu"]], "_load() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._load"]], "_load() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._load"]], "_load() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._load"]], "_load() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._load"]], "_load_cpu() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasetparquet method)": [[1, "dasf.datasets.base.DatasetParquet._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray._load_cpu"]], "_load_cpu() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._load_cpu"]], "_load_gpu() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasetparquet method)": [[1, "dasf.datasets.base.DatasetParquet._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray._load_gpu"]], "_load_gpu() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._load_gpu"]], "_load_meta() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray._load_meta"]], "_load_meta() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame._load_meta"]], "_load_meta() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5._load_meta"]], "_load_meta() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled._load_meta"]], "_load_meta() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray._load_meta"]], "_load_meta() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr._load_meta"]], "dasf.datasets.base": [[1, "module-dasf.datasets.base"]], "download() (dasf.datasets.base.dataset method)": [[1, "dasf.datasets.base.Dataset.download"]], "download() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled.download"]], "inspect_metadata() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.inspect_metadata"]], "inspect_metadata() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame.inspect_metadata"]], "inspect_metadata() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5.inspect_metadata"]], "inspect_metadata() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled.inspect_metadata"]], "inspect_metadata() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray.inspect_metadata"]], "inspect_metadata() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.inspect_metadata"]], "load() (dasf.datasets.base.datasetarray method)": [[1, "dasf.datasets.base.DatasetArray.load"]], "load() (dasf.datasets.base.datasetdataframe method)": [[1, "dasf.datasets.base.DatasetDataFrame.load"]], "load() (dasf.datasets.base.datasethdf5 method)": [[1, "dasf.datasets.base.DatasetHDF5.load"]], "load() (dasf.datasets.base.datasetlabeled method)": [[1, "dasf.datasets.base.DatasetLabeled.load"]], "load() (dasf.datasets.base.datasetxarray method)": [[1, "dasf.datasets.base.DatasetXarray.load"]], "load() (dasf.datasets.base.datasetzarr method)": [[1, "dasf.datasets.base.DatasetZarr.load"]], "module": [[1, "module-dasf.datasets.base"], [2, "module-dasf.datasets.datasets"], [3, "module-dasf.datasets.download"], [4, "module-dasf.datasets"], [5, "module-dasf.debug.debug"], [6, "module-dasf.debug"], [7, "module-dasf.feature_extraction.histogram"], [8, "module-dasf.feature_extraction"], [9, "module-dasf.feature_extraction.transform"], [10, "module-dasf"], [11, "module-dasf.ml.cluster.agglomerative"], [12, "module-dasf.ml.cluster.classifier"], [13, "module-dasf.ml.cluster.dbscan"], [14, "module-dasf.ml.cluster.hdbscan"], [15, "module-dasf.ml.cluster"], [16, "module-dasf.ml.cluster.kmeans"], [17, "module-dasf.ml.cluster.som"], [18, "module-dasf.ml.cluster.spectral"], [19, "module-dasf.ml.core"], [20, "module-dasf.ml.decomposition"], [21, "module-dasf.ml.decomposition.pca"], [22, "module-dasf.ml.dl.clusters.dask"], [23, "module-dasf.ml.dl.clusters"], [24, "module-dasf.ml.dl"], [25, "module-dasf.ml.dl.models.devconvnet"], [26, "module-dasf.ml.dl.models"], [27, "module-dasf.ml.dl.pytorch_lightning"], [28, "module-dasf.ml"], [29, "module-dasf.ml.mixture.classifier"], [30, "module-dasf.ml.mixture.gmm"], [31, "module-dasf.ml.model_selection"], [32, "module-dasf.ml.model_selection.split"], [33, "module-dasf.ml.neighbors"], [34, "module-dasf.ml.neighbors.neighbors"], [35, "module-dasf.ml.preprocessing"], [36, "module-dasf.ml.preprocessing.standardscaler"], [37, "module-dasf.ml.svm"], [38, "module-dasf.ml.svm.svm"], [39, "module-dasf.ml.xgboost"], [40, "module-dasf.ml.xgboost.xgboost"], [41, "module-dasf.pipeline.executors.base"], [42, "module-dasf.pipeline.executors.dask"], [43, "module-dasf.pipeline.executors"], [44, "module-dasf.pipeline.executors.ray"], [45, "module-dasf.pipeline.executors.wrapper"], [46, "module-dasf.pipeline"], [47, "module-dasf.pipeline.pipeline"], [48, "module-dasf.pipeline.types"], [49, "module-dasf.profile.database"], [50, "module-dasf.profile.event"], [51, "module-dasf.profile"], [52, "module-dasf.profile.plugins.dasf"], [53, "module-dasf.profile.plugins.dask"], [54, "module-dasf.profile.plugins"], [55, "module-dasf.profile.plugins.resource_monitor"], [56, "module-dasf.transforms.base"], [57, "module-dasf.transforms"], [58, "module-dasf.transforms.memory"], [59, "module-dasf.transforms.operations"], [60, "module-dasf.transforms.transforms"], [61, "module-dasf.utils.benchmark"], [62, "module-dasf.utils.decorators"], [63, "module-dasf.utils.funcs"], [64, "module-dasf.utils"], [65, "module-dasf.utils.labels"], [66, "module-dasf.utils.logging"], [67, "module-dasf.utils.types"]], "shape (dasf.datasets.base.datasetarray property)": [[1, "dasf.datasets.base.DatasetArray.shape"]], "shape (dasf.datasets.base.datasetdataframe property)": [[1, "dasf.datasets.base.DatasetDataFrame.shape"]], "shape (dasf.datasets.base.datasetzarr property)": [[1, "dasf.datasets.base.DatasetZarr.shape"]], "__call__() (dasf.datasets.datasets.make_blobs method)": [[2, "dasf.datasets.datasets.make_blobs.__call__"]], "__call__() (dasf.datasets.datasets.make_classification method)": [[2, "dasf.datasets.datasets.make_classification.__call__"]], "__call__() (dasf.datasets.datasets.make_regression method)": [[2, "dasf.datasets.datasets.make_regression.__call__"]], "_lazy_make_blobs_cpu() (dasf.datasets.datasets.make_blobs method)": [[2, "dasf.datasets.datasets.make_blobs._lazy_make_blobs_cpu"]], "_lazy_make_blobs_gpu() (dasf.datasets.datasets.make_blobs method)": [[2, "dasf.datasets.datasets.make_blobs._lazy_make_blobs_gpu"]], "_lazy_make_classification_cpu() (dasf.datasets.datasets.make_classification method)": [[2, "dasf.datasets.datasets.make_classification._lazy_make_classification_cpu"]], "_lazy_make_classification_gpu() (dasf.datasets.datasets.make_classification method)": [[2, "dasf.datasets.datasets.make_classification._lazy_make_classification_gpu"]], "_lazy_make_regression_cpu() (dasf.datasets.datasets.make_regression method)": [[2, "dasf.datasets.datasets.make_regression._lazy_make_regression_cpu"]], "_lazy_make_regression_gpu() (dasf.datasets.datasets.make_regression method)": [[2, "dasf.datasets.datasets.make_regression._lazy_make_regression_gpu"]], "_make_blobs_cpu() (dasf.datasets.datasets.make_blobs method)": [[2, "dasf.datasets.datasets.make_blobs._make_blobs_cpu"]], "_make_blobs_gpu() (dasf.datasets.datasets.make_blobs method)": [[2, "dasf.datasets.datasets.make_blobs._make_blobs_gpu"]], "_make_classification_cpu() (dasf.datasets.datasets.make_classification method)": [[2, "dasf.datasets.datasets.make_classification._make_classification_cpu"]], "_make_classification_gpu() (dasf.datasets.datasets.make_classification method)": [[2, "dasf.datasets.datasets.make_classification._make_classification_gpu"]], "_make_regression_cpu() (dasf.datasets.datasets.make_regression method)": [[2, "dasf.datasets.datasets.make_regression._make_regression_cpu"]], "_make_regression_gpu() (dasf.datasets.datasets.make_regression method)": [[2, "dasf.datasets.datasets.make_regression._make_regression_gpu"]], "dasf.datasets.datasets": [[2, "module-dasf.datasets.datasets"]], "make_blobs (class in dasf.datasets.datasets)": [[2, "dasf.datasets.datasets.make_blobs"]], "make_classification (class in dasf.datasets.datasets)": [[2, "dasf.datasets.datasets.make_classification"]], "make_regression (class in dasf.datasets.datasets)": [[2, "dasf.datasets.datasets.make_regression"]], "downloadgdrive (class in dasf.datasets.download)": [[3, "dasf.datasets.download.DownloadGDrive"]], "downloadwget (class in dasf.datasets.download)": [[3, "dasf.datasets.download.DownloadWget"]], "dasf.datasets.download": [[3, "module-dasf.datasets.download"]], "download() (dasf.datasets.download.downloadgdrive method)": [[3, "dasf.datasets.download.DownloadGDrive.download"]], "download() (dasf.datasets.download.downloadwget method)": [[3, "dasf.datasets.download.DownloadWget.download"]], "dataset (class in dasf.datasets)": [[4, "dasf.datasets.Dataset"]], "datasetarray (class in dasf.datasets)": [[4, "dasf.datasets.DatasetArray"]], "datasetdataframe (class in dasf.datasets)": [[4, "dasf.datasets.DatasetDataFrame"]], "datasethdf5 (class in dasf.datasets)": [[4, "dasf.datasets.DatasetHDF5"]], "datasetlabeled (class in dasf.datasets)": [[4, "dasf.datasets.DatasetLabeled"]], "datasetparquet (class in dasf.datasets)": [[4, "dasf.datasets.DatasetParquet"]], "datasetxarray (class in dasf.datasets)": [[4, "dasf.datasets.DatasetXarray"]], "datasetzarr (class in dasf.datasets)": [[4, "dasf.datasets.DatasetZarr"]], "__add__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__add__"]], "__add__() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__add__"]], "__array__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__array__"]], "__array_ufunc__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__array_ufunc__"]], "__call__() (dasf.datasets.make_blobs method)": [[4, "dasf.datasets.make_blobs.__call__"]], "__call__() (dasf.datasets.make_classification method)": [[4, "dasf.datasets.make_classification.__call__"]], "__check_op_input() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__check_op_input"]], "__check_op_input() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__check_op_input"]], "__copy_attrs_from_data() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__copy_attrs_from_data"]], "__copy_attrs_from_data() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__copy_attrs_from_data"]], "__div__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__div__"]], "__div__() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__div__"]], "__getitem__() (dasf.datasets.dataset method)": [[4, "dasf.datasets.Dataset.__getitem__"]], "__getitem__() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame.__getitem__"]], "__getitem__() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled.__getitem__"]], "__getitem__() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray.__getitem__"]], "__len__() (dasf.datasets.dataset method)": [[4, "dasf.datasets.Dataset.__len__"]], "__len__() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame.__len__"]], "__len__() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray.__len__"]], "__mul__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__mul__"]], "__mul__() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__mul__"]], "__npy_header() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__npy_header"]], "__operator_check__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__operator_check__"]], "__repr__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__repr__"]], "__repr__() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__repr__"]], "__set_dataset_cache_dir() (dasf.datasets.dataset method)": [[4, "dasf.datasets.Dataset.__set_dataset_cache_dir"]], "__sub__() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.__sub__"]], "__sub__() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.__sub__"]], "_lazy_load() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._lazy_load"]], "_lazy_load() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._lazy_load"]], "_lazy_load() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._lazy_load"]], "_lazy_load() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._lazy_load"]], "_lazy_load_cpu() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasetparquet method)": [[4, "dasf.datasets.DatasetParquet._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray._lazy_load_cpu"]], "_lazy_load_cpu() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._lazy_load_cpu"]], "_lazy_load_gpu() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasetparquet method)": [[4, "dasf.datasets.DatasetParquet._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray._lazy_load_gpu"]], "_lazy_load_gpu() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._lazy_load_gpu"]], "_lazy_make_blobs_cpu() (dasf.datasets.make_blobs method)": [[4, "dasf.datasets.make_blobs._lazy_make_blobs_cpu"]], "_lazy_make_blobs_gpu() (dasf.datasets.make_blobs method)": [[4, "dasf.datasets.make_blobs._lazy_make_blobs_gpu"]], "_lazy_make_classification_cpu() (dasf.datasets.make_classification method)": [[4, "dasf.datasets.make_classification._lazy_make_classification_cpu"]], "_lazy_make_classification_gpu() (dasf.datasets.make_classification method)": [[4, "dasf.datasets.make_classification._lazy_make_classification_gpu"]], "_load() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._load"]], "_load() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._load"]], "_load() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._load"]], "_load() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._load"]], "_load_cpu() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._load_cpu"]], "_load_cpu() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame._load_cpu"]], "_load_cpu() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._load_cpu"]], "_load_cpu() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._load_cpu"]], "_load_cpu() (dasf.datasets.datasetparquet method)": [[4, "dasf.datasets.DatasetParquet._load_cpu"]], "_load_cpu() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray._load_cpu"]], "_load_cpu() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._load_cpu"]], "_load_gpu() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._load_gpu"]], "_load_gpu() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame._load_gpu"]], "_load_gpu() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._load_gpu"]], "_load_gpu() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._load_gpu"]], "_load_gpu() (dasf.datasets.datasetparquet method)": [[4, "dasf.datasets.DatasetParquet._load_gpu"]], "_load_gpu() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray._load_gpu"]], "_load_gpu() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._load_gpu"]], "_load_meta() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray._load_meta"]], "_load_meta() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame._load_meta"]], "_load_meta() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5._load_meta"]], "_load_meta() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled._load_meta"]], "_load_meta() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray._load_meta"]], "_load_meta() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr._load_meta"]], "_make_blobs_cpu() (dasf.datasets.make_blobs method)": [[4, "dasf.datasets.make_blobs._make_blobs_cpu"]], "_make_blobs_gpu() (dasf.datasets.make_blobs method)": [[4, "dasf.datasets.make_blobs._make_blobs_gpu"]], "_make_classification_cpu() (dasf.datasets.make_classification method)": [[4, "dasf.datasets.make_classification._make_classification_cpu"]], "_make_classification_gpu() (dasf.datasets.make_classification method)": [[4, "dasf.datasets.make_classification._make_classification_gpu"]], "dasf.datasets": [[4, "module-dasf.datasets"]], "download() (dasf.datasets.dataset method)": [[4, "dasf.datasets.Dataset.download"]], "download() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled.download"]], "inspect_metadata() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.inspect_metadata"]], "inspect_metadata() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame.inspect_metadata"]], "inspect_metadata() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5.inspect_metadata"]], "inspect_metadata() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled.inspect_metadata"]], "inspect_metadata() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray.inspect_metadata"]], "inspect_metadata() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.inspect_metadata"]], "load() (dasf.datasets.datasetarray method)": [[4, "dasf.datasets.DatasetArray.load"]], "load() (dasf.datasets.datasetdataframe method)": [[4, "dasf.datasets.DatasetDataFrame.load"]], "load() (dasf.datasets.datasethdf5 method)": [[4, "dasf.datasets.DatasetHDF5.load"]], "load() (dasf.datasets.datasetlabeled method)": [[4, "dasf.datasets.DatasetLabeled.load"]], "load() (dasf.datasets.datasetxarray method)": [[4, "dasf.datasets.DatasetXarray.load"]], "load() (dasf.datasets.datasetzarr method)": [[4, "dasf.datasets.DatasetZarr.load"]], "make_blobs (class in dasf.datasets)": [[4, "dasf.datasets.make_blobs"]], "make_classification (class in dasf.datasets)": [[4, "dasf.datasets.make_classification"]], "shape (dasf.datasets.datasetarray property)": [[4, "dasf.datasets.DatasetArray.shape"]], "shape (dasf.datasets.datasetdataframe property)": [[4, "dasf.datasets.DatasetDataFrame.shape"]], "shape (dasf.datasets.datasetzarr property)": [[4, "dasf.datasets.DatasetZarr.shape"]], "debug (class in dasf.debug.debug)": [[5, "dasf.debug.debug.Debug"]], "visualizedaskdata (class in dasf.debug.debug)": [[5, "dasf.debug.debug.VisualizeDaskData"]], "dasf.debug.debug": [[5, "module-dasf.debug.debug"]], "display() (dasf.debug.debug.debug method)": [[5, "dasf.debug.debug.Debug.display"]], "display() (dasf.debug.debug.visualizedaskdata method)": [[5, "dasf.debug.debug.VisualizeDaskData.display"]], "debug (class in dasf.debug)": [[6, "dasf.debug.Debug"]], "visualizedaskdata (class in dasf.debug)": [[6, "dasf.debug.VisualizeDaskData"]], "dasf.debug": [[6, "module-dasf.debug"]], "display() (dasf.debug.debug method)": [[6, "dasf.debug.Debug.display"]], "display() (dasf.debug.visualizedaskdata method)": [[6, "dasf.debug.VisualizeDaskData.display"]], "histogram (class in dasf.feature_extraction.histogram)": [[7, "dasf.feature_extraction.histogram.Histogram"]], "__lazy_transform_generic() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram.__lazy_transform_generic"]], "__transform_generic() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram.__transform_generic"]], "_lazy_transform_cpu() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram._lazy_transform_gpu"]], "_transform_cpu() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram._transform_cpu"]], "_transform_gpu() (dasf.feature_extraction.histogram.histogram method)": [[7, "dasf.feature_extraction.histogram.Histogram._transform_gpu"]], "dasf.feature_extraction.histogram": [[7, "module-dasf.feature_extraction.histogram"]], "concatenatetoarray (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.ConcatenateToArray"]], "getsubdataframe (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.GetSubDataframe"]], "getsubecubearray (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.GetSubeCubeArray"]], "histogram (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.Histogram"]], "sampledataframe (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.SampleDataframe"]], "slicedataframe (class in dasf.feature_extraction)": [[8, "dasf.feature_extraction.SliceDataframe"]], "__lazy_transform_generic() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram.__lazy_transform_generic"]], "__transform_generic() (dasf.feature_extraction.concatenatetoarray method)": [[8, "dasf.feature_extraction.ConcatenateToArray.__transform_generic"]], "__transform_generic() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram.__transform_generic"]], "_lazy_transform_cpu() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram._lazy_transform_gpu"]], "_transform_cpu() (dasf.feature_extraction.concatenatetoarray method)": [[8, "dasf.feature_extraction.ConcatenateToArray._transform_cpu"]], "_transform_cpu() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram._transform_cpu"]], "_transform_gpu() (dasf.feature_extraction.concatenatetoarray method)": [[8, "dasf.feature_extraction.ConcatenateToArray._transform_gpu"]], "_transform_gpu() (dasf.feature_extraction.histogram method)": [[8, "dasf.feature_extraction.Histogram._transform_gpu"]], "dasf.feature_extraction": [[8, "module-dasf.feature_extraction"]], "fit() (dasf.feature_extraction.slicedataframe method)": [[8, "dasf.feature_extraction.SliceDataframe.fit"]], "run() (dasf.feature_extraction.sampledataframe method)": [[8, "dasf.feature_extraction.SampleDataframe.run"]], "transform() (dasf.feature_extraction.getsubdataframe method)": [[8, "dasf.feature_extraction.GetSubDataframe.transform"]], "transform() (dasf.feature_extraction.getsubecubearray method)": [[8, "dasf.feature_extraction.GetSubeCubeArray.transform"]], "concatenatetoarray (class in dasf.feature_extraction.transform)": [[9, "dasf.feature_extraction.transform.ConcatenateToArray"]], "getsubdataframe (class in dasf.feature_extraction.transform)": [[9, "dasf.feature_extraction.transform.GetSubDataframe"]], "getsubecubearray (class in dasf.feature_extraction.transform)": [[9, "dasf.feature_extraction.transform.GetSubeCubeArray"]], "sampledataframe (class in dasf.feature_extraction.transform)": [[9, "dasf.feature_extraction.transform.SampleDataframe"]], "slicedataframe (class in dasf.feature_extraction.transform)": [[9, "dasf.feature_extraction.transform.SliceDataframe"]], "__transform_generic() (dasf.feature_extraction.transform.concatenatetoarray method)": [[9, "dasf.feature_extraction.transform.ConcatenateToArray.__transform_generic"]], "_transform_cpu() (dasf.feature_extraction.transform.concatenatetoarray method)": [[9, "dasf.feature_extraction.transform.ConcatenateToArray._transform_cpu"]], "_transform_gpu() (dasf.feature_extraction.transform.concatenatetoarray method)": [[9, "dasf.feature_extraction.transform.ConcatenateToArray._transform_gpu"]], "dasf.feature_extraction.transform": [[9, "module-dasf.feature_extraction.transform"]], "fit() (dasf.feature_extraction.transform.slicedataframe method)": [[9, "dasf.feature_extraction.transform.SliceDataframe.fit"]], "run() (dasf.feature_extraction.transform.sampledataframe method)": [[9, "dasf.feature_extraction.transform.SampleDataframe.run"]], "transform() (dasf.feature_extraction.transform.getsubdataframe method)": [[9, "dasf.feature_extraction.transform.GetSubDataframe.transform"]], "transform() (dasf.feature_extraction.transform.getsubecubearray method)": [[9, "dasf.feature_extraction.transform.GetSubeCubeArray.transform"]], "dasf": [[10, "module-dasf"]], "agglomerativeclustering (class in dasf.ml.cluster.agglomerative)": [[11, "dasf.ml.cluster.agglomerative.AgglomerativeClustering"]], "_fit_cpu() (dasf.ml.cluster.agglomerative.agglomerativeclustering method)": [[11, "dasf.ml.cluster.agglomerative.AgglomerativeClustering._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.agglomerative.agglomerativeclustering method)": [[11, "dasf.ml.cluster.agglomerative.AgglomerativeClustering._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.agglomerative.agglomerativeclustering method)": [[11, "dasf.ml.cluster.agglomerative.AgglomerativeClustering._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.agglomerative.agglomerativeclustering method)": [[11, "dasf.ml.cluster.agglomerative.AgglomerativeClustering._fit_predict_gpu"]], "dasf.ml.cluster.agglomerative": [[11, "module-dasf.ml.cluster.agglomerative"]], "clusterclassifier (class in dasf.ml.cluster.classifier)": [[12, "dasf.ml.cluster.classifier.ClusterClassifier"]], "dasf.ml.cluster.classifier": [[12, "module-dasf.ml.cluster.classifier"]], "dbscan (class in dasf.ml.cluster.dbscan)": [[13, "dasf.ml.cluster.dbscan.DBSCAN"]], "_fit_cpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._fit_predict_gpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._lazy_fit_gpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.dbscan.dbscan method)": [[13, "dasf.ml.cluster.dbscan.DBSCAN._lazy_fit_predict_gpu"]], "dasf.ml.cluster.dbscan": [[13, "module-dasf.ml.cluster.dbscan"]], "hdbscan (class in dasf.ml.cluster.hdbscan)": [[14, "dasf.ml.cluster.hdbscan.HDBSCAN"]], "_fit_cpu() (dasf.ml.cluster.hdbscan.hdbscan method)": [[14, "dasf.ml.cluster.hdbscan.HDBSCAN._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.hdbscan.hdbscan method)": [[14, "dasf.ml.cluster.hdbscan.HDBSCAN._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.hdbscan.hdbscan method)": [[14, "dasf.ml.cluster.hdbscan.HDBSCAN._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.hdbscan.hdbscan method)": [[14, "dasf.ml.cluster.hdbscan.HDBSCAN._fit_predict_gpu"]], "dasf.ml.cluster.hdbscan": [[14, "module-dasf.ml.cluster.hdbscan"]], "agglomerativeclustering (class in dasf.ml.cluster)": [[15, "dasf.ml.cluster.AgglomerativeClustering"]], "dbscan (class in dasf.ml.cluster)": [[15, "dasf.ml.cluster.DBSCAN"]], "kmeans (class in dasf.ml.cluster)": [[15, "dasf.ml.cluster.KMeans"]], "som (class in dasf.ml.cluster)": [[15, "dasf.ml.cluster.SOM"]], "spectralclustering (class in dasf.ml.cluster)": [[15, "dasf.ml.cluster.SpectralClustering"]], "_fit_cpu() (dasf.ml.cluster.agglomerativeclustering method)": [[15, "dasf.ml.cluster.AgglomerativeClustering._fit_cpu"]], "_fit_cpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._fit_cpu"]], "_fit_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._fit_cpu"]], "_fit_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._fit_cpu"]], "_fit_cpu() (dasf.ml.cluster.spectralclustering method)": [[15, "dasf.ml.cluster.SpectralClustering._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.agglomerativeclustering method)": [[15, "dasf.ml.cluster.AgglomerativeClustering._fit_gpu"]], "_fit_gpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._fit_gpu"]], "_fit_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._fit_gpu"]], "_fit_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.agglomerativeclustering method)": [[15, "dasf.ml.cluster.AgglomerativeClustering._fit_predict_cpu"]], "_fit_predict_cpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._fit_predict_cpu"]], "_fit_predict_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._fit_predict_cpu"]], "_fit_predict_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._fit_predict_cpu"]], "_fit_predict_cpu() (dasf.ml.cluster.spectralclustering method)": [[15, "dasf.ml.cluster.SpectralClustering._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.agglomerativeclustering method)": [[15, "dasf.ml.cluster.AgglomerativeClustering._fit_predict_gpu"]], "_fit_predict_gpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._fit_predict_gpu"]], "_fit_predict_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._fit_predict_gpu"]], "_fit_predict_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._fit_predict_gpu"]], "_lazy_fit_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_fit_cpu"]], "_lazy_fit_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._lazy_fit_gpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_fit_gpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_fit_gpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_fit_predict_cpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_fit_predict_cpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.spectralclustering method)": [[15, "dasf.ml.cluster.SpectralClustering._lazy_fit_predict_cpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.dbscan method)": [[15, "dasf.ml.cluster.DBSCAN._lazy_fit_predict_gpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_fit_predict_gpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_fit_predict_gpu"]], "_lazy_predict2_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_predict2_cpu"]], "_lazy_predict2_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_predict2_gpu"]], "_lazy_predict_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_predict_cpu"]], "_lazy_predict_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._lazy_predict_gpu"]], "_lazy_predict_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_predict_gpu"]], "_lazy_quantization_error_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_quantization_error_cpu"]], "_lazy_quantization_error_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._lazy_quantization_error_gpu"]], "_predict2_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._predict2_cpu"]], "_predict2_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._predict2_gpu"]], "_predict_cpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._predict_cpu"]], "_predict_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._predict_cpu"]], "_predict_gpu() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans._predict_gpu"]], "_predict_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._predict_gpu"]], "_quantization_error_cpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._quantization_error_cpu"]], "_quantization_error_gpu() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM._quantization_error_gpu"]], "dasf.ml.cluster": [[15, "module-dasf.ml.cluster"]], "predict2() (dasf.ml.cluster.kmeans method)": [[15, "dasf.ml.cluster.KMeans.predict2"]], "quantization_error() (dasf.ml.cluster.som method)": [[15, "dasf.ml.cluster.SOM.quantization_error"]], "kmeans (class in dasf.ml.cluster.kmeans)": [[16, "dasf.ml.cluster.kmeans.KMeans"]], "_fit_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._fit_predict_gpu"]], "_lazy_fit_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_fit_gpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_fit_predict_cpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_fit_predict_gpu"]], "_lazy_predict2_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_predict2_cpu"]], "_lazy_predict2_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_predict2_gpu"]], "_lazy_predict_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._lazy_predict_gpu"]], "_predict2_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._predict2_cpu"]], "_predict2_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._predict2_gpu"]], "_predict_cpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._predict_cpu"]], "_predict_gpu() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans._predict_gpu"]], "dasf.ml.cluster.kmeans": [[16, "module-dasf.ml.cluster.kmeans"]], "predict2() (dasf.ml.cluster.kmeans.kmeans method)": [[16, "dasf.ml.cluster.kmeans.KMeans.predict2"]], "som (class in dasf.ml.cluster.som)": [[17, "dasf.ml.cluster.som.SOM"]], "_fit_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._fit_cpu"]], "_fit_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._fit_gpu"]], "_fit_predict_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._fit_predict_gpu"]], "_lazy_fit_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_fit_gpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_fit_predict_cpu"]], "_lazy_fit_predict_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_fit_predict_gpu"]], "_lazy_predict_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_predict_gpu"]], "_lazy_quantization_error_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_quantization_error_cpu"]], "_lazy_quantization_error_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._lazy_quantization_error_gpu"]], "_predict_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._predict_cpu"]], "_predict_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._predict_gpu"]], "_quantization_error_cpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._quantization_error_cpu"]], "_quantization_error_gpu() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM._quantization_error_gpu"]], "dasf.ml.cluster.som": [[17, "module-dasf.ml.cluster.som"]], "quantization_error() (dasf.ml.cluster.som.som method)": [[17, "dasf.ml.cluster.som.SOM.quantization_error"]], "spectralclustering (class in dasf.ml.cluster.spectral)": [[18, "dasf.ml.cluster.spectral.SpectralClustering"]], "_fit_cpu() (dasf.ml.cluster.spectral.spectralclustering method)": [[18, "dasf.ml.cluster.spectral.SpectralClustering._fit_cpu"]], "_fit_predict_cpu() (dasf.ml.cluster.spectral.spectralclustering method)": [[18, "dasf.ml.cluster.spectral.SpectralClustering._fit_predict_cpu"]], "_lazy_fit_predict_cpu() (dasf.ml.cluster.spectral.spectralclustering method)": [[18, "dasf.ml.cluster.spectral.SpectralClustering._lazy_fit_predict_cpu"]], "dasf.ml.cluster.spectral": [[18, "module-dasf.ml.cluster.spectral"]], "mlgeneric (class in dasf.ml.core)": [[19, "dasf.ml.core.MLGeneric"]], "dasf.ml.core": [[19, "module-dasf.ml.core"]], "dump() (dasf.ml.core.mlgeneric method)": [[19, "dasf.ml.core.MLGeneric.dump"]], "load() (dasf.ml.core.mlgeneric method)": [[19, "dasf.ml.core.MLGeneric.load"]], "pca (class in dasf.ml.decomposition)": [[20, "dasf.ml.decomposition.PCA"]], "_fit_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._fit_cpu"]], "_fit_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._fit_gpu"]], "_fit_transform_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._fit_transform_gpu"]], "_get_covariance_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._get_covariance_cpu"]], "_get_precision_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._get_precision_cpu"]], "_lazy_fit_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_fit_gpu"]], "_lazy_fit_transform_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_fit_transform_gpu"]], "_lazy_transform_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._lazy_transform_gpu"]], "_transform_cpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._transform_cpu"]], "_transform_gpu() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA._transform_gpu"]], "dasf.ml.decomposition": [[20, "module-dasf.ml.decomposition"]], "get_covariance() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA.get_covariance"]], "get_precision() (dasf.ml.decomposition.pca method)": [[20, "dasf.ml.decomposition.PCA.get_precision"]], "pca (class in dasf.ml.decomposition.pca)": [[21, "dasf.ml.decomposition.pca.PCA"]], "_fit_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._fit_cpu"]], "_fit_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._fit_gpu"]], "_fit_transform_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._fit_transform_gpu"]], "_get_covariance_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._get_covariance_cpu"]], "_get_precision_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._get_precision_cpu"]], "_lazy_fit_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_fit_gpu"]], "_lazy_fit_transform_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_fit_transform_gpu"]], "_lazy_transform_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._lazy_transform_gpu"]], "_transform_cpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._transform_cpu"]], "_transform_gpu() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA._transform_gpu"]], "dasf.ml.decomposition.pca": [[21, "module-dasf.ml.decomposition.pca"]], "get_covariance() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA.get_covariance"]], "get_precision() (dasf.ml.decomposition.pca.pca method)": [[21, "dasf.ml.decomposition.pca.PCA.get_precision"]], "daskclusterenvironment (class in dasf.ml.dl.clusters.dask)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment"]], "creates_children() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.creates_children"]], "creates_processes_externally (dasf.ml.dl.clusters.dask.daskclusterenvironment property)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.creates_processes_externally"]], "dasf.ml.dl.clusters.dask": [[22, "module-dasf.ml.dl.clusters.dask"]], "detect() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.detect"]], "global_rank() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.global_rank"]], "local_rank() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.local_rank"]], "main_address (dasf.ml.dl.clusters.dask.daskclusterenvironment property)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.main_address"]], "main_port (dasf.ml.dl.clusters.dask.daskclusterenvironment property)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.main_port"]], "node_rank() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.node_rank"]], "set_global_rank() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.set_global_rank"]], "set_world_size() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.set_world_size"]], "world_size() (dasf.ml.dl.clusters.dask.daskclusterenvironment method)": [[22, "dasf.ml.dl.clusters.dask.DaskClusterEnvironment.world_size"]], "daskclusterenvironment (class in dasf.ml.dl.clusters)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment"]], "creates_children() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.creates_children"]], "creates_processes_externally (dasf.ml.dl.clusters.daskclusterenvironment property)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.creates_processes_externally"]], "dasf.ml.dl.clusters": [[23, "module-dasf.ml.dl.clusters"]], "detect() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.detect"]], "global_rank() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.global_rank"]], "local_rank() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.local_rank"]], "main_address (dasf.ml.dl.clusters.daskclusterenvironment property)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.main_address"]], "main_port (dasf.ml.dl.clusters.daskclusterenvironment property)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.main_port"]], "node_rank() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.node_rank"]], "set_global_rank() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.set_global_rank"]], "set_world_size() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.set_world_size"]], "world_size() (dasf.ml.dl.clusters.daskclusterenvironment method)": [[23, "dasf.ml.dl.clusters.DaskClusterEnvironment.world_size"]], "neuralnetclassifier (class in dasf.ml.dl)": [[24, "dasf.ml.dl.NeuralNetClassifier"]], "__fit_generic() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier.__fit_generic"]], "_fit_cpu() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier._fit_cpu"]], "_fit_gpu() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier._fit_gpu"]], "_lazy_fit_cpu() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier._lazy_fit_cpu"]], "_lazy_fit_generic() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier._lazy_fit_generic"]], "_lazy_fit_gpu() (dasf.ml.dl.neuralnetclassifier method)": [[24, "dasf.ml.dl.NeuralNetClassifier._lazy_fit_gpu"]], "dasf.ml.dl": [[24, "module-dasf.ml.dl"]], "myaccuracy (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.MyAccuracy"]], "nnmodule (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.NNModule"]], "torchpatchdeconvnet (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet"]], "torchpatchdeconvnetskip (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip"]], "torchsectiondeconvnet (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet"]], "torchsectiondeconvnetskip (class in dasf.ml.dl.models.devconvnet)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip"]], "__str__() (dasf.ml.dl.models.devconvnet.myaccuracy method)": [[25, "dasf.ml.dl.models.devconvnet.MyAccuracy.__str__"]], "compute() (dasf.ml.dl.models.devconvnet.myaccuracy method)": [[25, "dasf.ml.dl.models.devconvnet.MyAccuracy.compute"]], "configure_optimizers() (dasf.ml.dl.models.devconvnet.nnmodule method)": [[25, "dasf.ml.dl.models.devconvnet.NNModule.configure_optimizers"]], "cross_entropy_loss() (dasf.ml.dl.models.devconvnet.nnmodule method)": [[25, "dasf.ml.dl.models.devconvnet.NNModule.cross_entropy_loss"]], "dasf.ml.dl.models.devconvnet": [[25, "module-dasf.ml.dl.models.devconvnet"]], "forward() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet.forward"]], "forward() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip.forward"]], "forward() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet.forward"]], "forward() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip.forward"]], "init_vgg16_params() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip.init_vgg16_params"]], "load() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNet.load"]], "load() (dasf.ml.dl.models.devconvnet.torchpatchdeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchPatchDeConvNetSkip.load"]], "load() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnet method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNet.load"]], "load() (dasf.ml.dl.models.devconvnet.torchsectiondeconvnetskip method)": [[25, "dasf.ml.dl.models.devconvnet.TorchSectionDeConvNetSkip.load"]], "set_idx() (dasf.ml.dl.models.devconvnet.myaccuracy method)": [[25, "dasf.ml.dl.models.devconvnet.MyAccuracy.set_idx"]], "test_step() (dasf.ml.dl.models.devconvnet.nnmodule method)": [[25, "dasf.ml.dl.models.devconvnet.NNModule.test_step"]], "training_step() (dasf.ml.dl.models.devconvnet.nnmodule method)": [[25, "dasf.ml.dl.models.devconvnet.NNModule.training_step"]], "update() (dasf.ml.dl.models.devconvnet.myaccuracy method)": [[25, "dasf.ml.dl.models.devconvnet.MyAccuracy.update"]], "torchpatchdeconvnet (class in dasf.ml.dl.models)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNet"]], "torchpatchdeconvnetskip (class in dasf.ml.dl.models)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNetSkip"]], "torchsectiondeconvnet (class in dasf.ml.dl.models)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNet"]], "torchsectiondeconvnetskip (class in dasf.ml.dl.models)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNetSkip"]], "dasf.ml.dl.models": [[26, "module-dasf.ml.dl.models"]], "forward() (dasf.ml.dl.models.torchpatchdeconvnet method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNet.forward"]], "forward() (dasf.ml.dl.models.torchpatchdeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNetSkip.forward"]], "forward() (dasf.ml.dl.models.torchsectiondeconvnet method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNet.forward"]], "forward() (dasf.ml.dl.models.torchsectiondeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNetSkip.forward"]], "init_vgg16_params() (dasf.ml.dl.models.torchpatchdeconvnet method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNet.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.torchpatchdeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNetSkip.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.torchsectiondeconvnet method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNet.init_vgg16_params"]], "init_vgg16_params() (dasf.ml.dl.models.torchsectiondeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNetSkip.init_vgg16_params"]], "load() (dasf.ml.dl.models.torchpatchdeconvnet method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNet.load"]], "load() (dasf.ml.dl.models.torchpatchdeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchPatchDeConvNetSkip.load"]], "load() (dasf.ml.dl.models.torchsectiondeconvnet method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNet.load"]], "load() (dasf.ml.dl.models.torchsectiondeconvnetskip method)": [[26, "dasf.ml.dl.models.TorchSectionDeConvNetSkip.load"]], "neuralnetclassifier (class in dasf.ml.dl.pytorch_lightning)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier"]], "torchdataloader (class in dasf.ml.dl.pytorch_lightning)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader"]], "__fit_generic() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier.__fit_generic"]], "_fit_cpu() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier._fit_cpu"]], "_fit_gpu() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier._fit_gpu"]], "_lazy_fit_cpu() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier._lazy_fit_cpu"]], "_lazy_fit_generic() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier._lazy_fit_generic"]], "_lazy_fit_gpu() (dasf.ml.dl.pytorch_lightning.neuralnetclassifier method)": [[27, "dasf.ml.dl.pytorch_lightning.NeuralNetClassifier._lazy_fit_gpu"]], "dasf.ml.dl.pytorch_lightning": [[27, "module-dasf.ml.dl.pytorch_lightning"]], "fit() (in module dasf.ml.dl.pytorch_lightning)": [[27, "dasf.ml.dl.pytorch_lightning.fit"]], "prepare_data() (dasf.ml.dl.pytorch_lightning.torchdataloader method)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader.prepare_data"]], "run_dask_clustered() (in module dasf.ml.dl.pytorch_lightning)": [[27, "dasf.ml.dl.pytorch_lightning.run_dask_clustered"]], "setup() (dasf.ml.dl.pytorch_lightning.torchdataloader method)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader.setup"]], "test_dataloader() (dasf.ml.dl.pytorch_lightning.torchdataloader method)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader.test_dataloader"]], "train_dataloader() (dasf.ml.dl.pytorch_lightning.torchdataloader method)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader.train_dataloader"]], "val_dataloader() (dasf.ml.dl.pytorch_lightning.torchdataloader method)": [[27, "dasf.ml.dl.pytorch_lightning.TorchDataLoader.val_dataloader"]], "dasf.ml": [[28, "module-dasf.ml"]], "mixtureclassifier (class in dasf.ml.mixture.classifier)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier"]], "dasf.ml.mixture.classifier": [[29, "module-dasf.ml.mixture.classifier"]], "fit() (dasf.ml.mixture.classifier.mixtureclassifier method)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier.fit"]], "fit_predict() (dasf.ml.mixture.classifier.mixtureclassifier method)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier.fit_predict"]], "fit_transform() (dasf.ml.mixture.classifier.mixtureclassifier method)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier.fit_transform"]], "get_params() (dasf.ml.mixture.classifier.mixtureclassifier method)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier.get_params"]], "set_params() (dasf.ml.mixture.classifier.mixtureclassifier method)": [[29, "dasf.ml.mixture.classifier.MixtureClassifier.set_params"]], "gaussianmixture (class in dasf.ml.mixture.gmm)": [[30, "dasf.ml.mixture.gmm.GaussianMixture"]], "_fit_cpu() (dasf.ml.mixture.gmm.gaussianmixture method)": [[30, "dasf.ml.mixture.gmm.GaussianMixture._fit_cpu"]], "_fit_predict_cpu() (dasf.ml.mixture.gmm.gaussianmixture method)": [[30, "dasf.ml.mixture.gmm.GaussianMixture._fit_predict_cpu"]], "_get_params_cpu() (dasf.ml.mixture.gmm.gaussianmixture method)": [[30, "dasf.ml.mixture.gmm.GaussianMixture._get_params_cpu"]], "_predict_cpu() (dasf.ml.mixture.gmm.gaussianmixture method)": [[30, "dasf.ml.mixture.gmm.GaussianMixture._predict_cpu"]], "_set_params_cpu() (dasf.ml.mixture.gmm.gaussianmixture method)": [[30, "dasf.ml.mixture.gmm.GaussianMixture._set_params_cpu"]], "dasf.ml.mixture.gmm": [[30, "module-dasf.ml.mixture.gmm"]], "dasf.ml.model_selection": [[31, "module-dasf.ml.model_selection"]], "_lazy_transform_cpu() (dasf.ml.model_selection.split.train_test_split method)": [[32, "dasf.ml.model_selection.split.train_test_split._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.ml.model_selection.split.train_test_split method)": [[32, "dasf.ml.model_selection.split.train_test_split._lazy_transform_gpu"]], "_transform_cpu() (dasf.ml.model_selection.split.train_test_split method)": [[32, "dasf.ml.model_selection.split.train_test_split._transform_cpu"]], "_transform_gpu() (dasf.ml.model_selection.split.train_test_split method)": [[32, "dasf.ml.model_selection.split.train_test_split._transform_gpu"]], "dasf.ml.model_selection.split": [[32, "module-dasf.ml.model_selection.split"]], "train_test_split (class in dasf.ml.model_selection.split)": [[32, "dasf.ml.model_selection.split.train_test_split"]], "nearestneighbors (class in dasf.ml.neighbors)": [[33, "dasf.ml.neighbors.NearestNeighbors"]], "_fit_cpu() (dasf.ml.neighbors.nearestneighbors method)": [[33, "dasf.ml.neighbors.NearestNeighbors._fit_cpu"]], "_fit_gpu() (dasf.ml.neighbors.nearestneighbors method)": [[33, "dasf.ml.neighbors.NearestNeighbors._fit_gpu"]], "_get_params_cpu() (dasf.ml.neighbors.nearestneighbors method)": [[33, "dasf.ml.neighbors.NearestNeighbors._get_params_cpu"]], "_set_params_cpu() (dasf.ml.neighbors.nearestneighbors method)": [[33, "dasf.ml.neighbors.NearestNeighbors._set_params_cpu"]], "dasf.ml.neighbors": [[33, "module-dasf.ml.neighbors"]], "nearestneighbors (class in dasf.ml.neighbors.neighbors)": [[34, "dasf.ml.neighbors.neighbors.NearestNeighbors"]], "_fit_cpu() (dasf.ml.neighbors.neighbors.nearestneighbors method)": [[34, "dasf.ml.neighbors.neighbors.NearestNeighbors._fit_cpu"]], "_fit_gpu() (dasf.ml.neighbors.neighbors.nearestneighbors method)": [[34, "dasf.ml.neighbors.neighbors.NearestNeighbors._fit_gpu"]], "_get_params_cpu() (dasf.ml.neighbors.neighbors.nearestneighbors method)": [[34, "dasf.ml.neighbors.neighbors.NearestNeighbors._get_params_cpu"]], "_set_params_cpu() (dasf.ml.neighbors.neighbors.nearestneighbors method)": [[34, "dasf.ml.neighbors.neighbors.NearestNeighbors._set_params_cpu"]], "dasf.ml.neighbors.neighbors": [[34, "module-dasf.ml.neighbors.neighbors"]], "stantardscaler (class in dasf.ml.preprocessing)": [[35, "dasf.ml.preprocessing.StantardScaler"]], "_fit_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_cpu"]], "_fit_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_gpu"]], "_fit_partial_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_partial_cpu"]], "_fit_partial_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_partial_gpu"]], "_fit_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._fit_transform_gpu"]], "_inverse_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._inverse_transform_cpu"]], "_inverse_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._inverse_transform_gpu"]], "_lazy_fit_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_fit_gpu"]], "_lazy_fit_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_fit_transform_gpu"]], "_lazy_inverse_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_inverse_transform_cpu"]], "_lazy_inverse_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_inverse_transform_gpu"]], "_lazy_partial_fit_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_partial_fit_cpu"]], "_lazy_partial_fit_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_partial_fit_gpu"]], "_lazy_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._lazy_transform_gpu"]], "_transform_cpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._transform_cpu"]], "_transform_gpu() (dasf.ml.preprocessing.stantardscaler method)": [[35, "dasf.ml.preprocessing.StantardScaler._transform_gpu"]], "dasf.ml.preprocessing": [[35, "module-dasf.ml.preprocessing"]], "stantardscaler (class in dasf.ml.preprocessing.standardscaler)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler"]], "_fit_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_cpu"]], "_fit_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_gpu"]], "_fit_partial_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_partial_cpu"]], "_fit_partial_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_partial_gpu"]], "_fit_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._fit_transform_gpu"]], "_inverse_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._inverse_transform_cpu"]], "_inverse_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._inverse_transform_gpu"]], "_lazy_fit_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_fit_gpu"]], "_lazy_fit_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_fit_transform_gpu"]], "_lazy_inverse_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_inverse_transform_cpu"]], "_lazy_inverse_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_inverse_transform_gpu"]], "_lazy_partial_fit_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_partial_fit_cpu"]], "_lazy_partial_fit_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_partial_fit_gpu"]], "_lazy_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._lazy_transform_gpu"]], "_transform_cpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._transform_cpu"]], "_transform_gpu() (dasf.ml.preprocessing.standardscaler.stantardscaler method)": [[36, "dasf.ml.preprocessing.standardscaler.StantardScaler._transform_gpu"]], "dasf.ml.preprocessing.standardscaler": [[36, "module-dasf.ml.preprocessing.standardscaler"]], "linearsvc (class in dasf.ml.svm)": [[37, "dasf.ml.svm.LinearSVC"]], "linearsvr (class in dasf.ml.svm)": [[37, "dasf.ml.svm.LinearSVR"]], "svc (class in dasf.ml.svm)": [[37, "dasf.ml.svm.SVC"]], "svr (class in dasf.ml.svm)": [[37, "dasf.ml.svm.SVR"]], "_fit_cpu() (dasf.ml.svm.linearsvc method)": [[37, "dasf.ml.svm.LinearSVC._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.linearsvr method)": [[37, "dasf.ml.svm.LinearSVR._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.svr method)": [[37, "dasf.ml.svm.SVR._fit_cpu"]], "_fit_gpu() (dasf.ml.svm.linearsvc method)": [[37, "dasf.ml.svm.LinearSVC._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.linearsvr method)": [[37, "dasf.ml.svm.LinearSVR._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.svr method)": [[37, "dasf.ml.svm.SVR._fit_gpu"]], "_get_params_cpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._get_params_cpu"]], "_predict_cpu() (dasf.ml.svm.linearsvc method)": [[37, "dasf.ml.svm.LinearSVC._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.linearsvr method)": [[37, "dasf.ml.svm.LinearSVR._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.svr method)": [[37, "dasf.ml.svm.SVR._predict_cpu"]], "_predict_gpu() (dasf.ml.svm.linearsvc method)": [[37, "dasf.ml.svm.LinearSVC._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.linearsvr method)": [[37, "dasf.ml.svm.LinearSVR._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.svr method)": [[37, "dasf.ml.svm.SVR._predict_gpu"]], "_set_params_cpu() (dasf.ml.svm.svc method)": [[37, "dasf.ml.svm.SVC._set_params_cpu"]], "dasf.ml.svm": [[37, "module-dasf.ml.svm"]], "linearsvc (class in dasf.ml.svm.svm)": [[38, "dasf.ml.svm.svm.LinearSVC"]], "linearsvr (class in dasf.ml.svm.svm)": [[38, "dasf.ml.svm.svm.LinearSVR"]], "svc (class in dasf.ml.svm.svm)": [[38, "dasf.ml.svm.svm.SVC"]], "svr (class in dasf.ml.svm.svm)": [[38, "dasf.ml.svm.svm.SVR"]], "_fit_cpu() (dasf.ml.svm.svm.linearsvc method)": [[38, "dasf.ml.svm.svm.LinearSVC._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.svm.linearsvr method)": [[38, "dasf.ml.svm.svm.LinearSVR._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._fit_cpu"]], "_fit_cpu() (dasf.ml.svm.svm.svr method)": [[38, "dasf.ml.svm.svm.SVR._fit_cpu"]], "_fit_gpu() (dasf.ml.svm.svm.linearsvc method)": [[38, "dasf.ml.svm.svm.LinearSVC._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.svm.linearsvr method)": [[38, "dasf.ml.svm.svm.LinearSVR._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._fit_gpu"]], "_fit_gpu() (dasf.ml.svm.svm.svr method)": [[38, "dasf.ml.svm.svm.SVR._fit_gpu"]], "_get_params_cpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._get_params_cpu"]], "_predict_cpu() (dasf.ml.svm.svm.linearsvc method)": [[38, "dasf.ml.svm.svm.LinearSVC._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.svm.linearsvr method)": [[38, "dasf.ml.svm.svm.LinearSVR._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._predict_cpu"]], "_predict_cpu() (dasf.ml.svm.svm.svr method)": [[38, "dasf.ml.svm.svm.SVR._predict_cpu"]], "_predict_gpu() (dasf.ml.svm.svm.linearsvc method)": [[38, "dasf.ml.svm.svm.LinearSVC._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.svm.linearsvr method)": [[38, "dasf.ml.svm.svm.LinearSVR._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._predict_gpu"]], "_predict_gpu() (dasf.ml.svm.svm.svr method)": [[38, "dasf.ml.svm.svm.SVR._predict_gpu"]], "_set_params_cpu() (dasf.ml.svm.svm.svc method)": [[38, "dasf.ml.svm.svm.SVC._set_params_cpu"]], "dasf.ml.svm.svm": [[38, "module-dasf.ml.svm.svm"]], "xgbregressor (class in dasf.ml.xgboost)": [[39, "dasf.ml.xgboost.XGBRegressor"]], "_fit_cpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._fit_cpu"]], "_fit_gpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._fit_gpu"]], "_lazy_fit_cpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._lazy_fit_gpu"]], "_lazy_predict_cpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._lazy_predict_gpu"]], "_predict_cpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._predict_cpu"]], "_predict_gpu() (dasf.ml.xgboost.xgbregressor method)": [[39, "dasf.ml.xgboost.XGBRegressor._predict_gpu"]], "dasf.ml.xgboost": [[39, "module-dasf.ml.xgboost"]], "xgbregressor (class in dasf.ml.xgboost.xgboost)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor"]], "_fit_cpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._fit_cpu"]], "_fit_gpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._fit_gpu"]], "_lazy_fit_cpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._lazy_fit_gpu"]], "_lazy_predict_cpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._lazy_predict_gpu"]], "_predict_cpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._predict_cpu"]], "_predict_gpu() (dasf.ml.xgboost.xgboost.xgbregressor method)": [[40, "dasf.ml.xgboost.xgboost.XGBRegressor._predict_gpu"]], "dasf.ml.xgboost.xgboost": [[40, "module-dasf.ml.xgboost.xgboost"]], "executor (class in dasf.pipeline.executors.base)": [[41, "dasf.pipeline.executors.base.Executor"]], "dasf.pipeline.executors.base": [[41, "module-dasf.pipeline.executors.base"]], "execute() (dasf.pipeline.executors.base.executor method)": [[41, "dasf.pipeline.executors.base.Executor.execute"]], "is_connected (dasf.pipeline.executors.base.executor property)": [[41, "dasf.pipeline.executors.base.Executor.is_connected"]], "ngpus (dasf.pipeline.executors.base.executor property)": [[41, "dasf.pipeline.executors.base.Executor.ngpus"]], "post_run() (dasf.pipeline.executors.base.executor method)": [[41, "dasf.pipeline.executors.base.Executor.post_run"]], "pre_run() (dasf.pipeline.executors.base.executor method)": [[41, "dasf.pipeline.executors.base.Executor.pre_run"]], "daskpbspipelineexecutor (class in dasf.pipeline.executors.dask)": [[42, "dasf.pipeline.executors.dask.DaskPBSPipelineExecutor"]], "daskpipelineexecutor (class in dasf.pipeline.executors.dask)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor"]], "dasktaskspipelineexecutor (class in dasf.pipeline.executors.dask)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor"]], "gpu_supported (in module dasf.pipeline.executors.dask)": [[42, "dasf.pipeline.executors.dask.GPU_SUPPORTED"]], "dasf.pipeline.executors.dask": [[42, "module-dasf.pipeline.executors.dask"]], "execute() (dasf.pipeline.executors.dask.daskpipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.execute"]], "execute() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.execute"]], "get_dataset() (dasf.pipeline.executors.dask.daskpipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.get_dataset"]], "get_dataset() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.get_dataset"]], "has_dataset() (dasf.pipeline.executors.dask.daskpipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.has_dataset"]], "has_dataset() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.has_dataset"]], "is_connected (dasf.pipeline.executors.dask.daskpipelineexecutor property)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.is_connected"]], "ngpus (dasf.pipeline.executors.dask.daskpipelineexecutor property)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.ngpus"]], "post_run() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.post_run"]], "pre_run() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.pre_run"]], "register_dataset() (dasf.pipeline.executors.dask.daskpipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.register_dataset"]], "register_dataset() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.register_dataset"]], "shutdown() (dasf.pipeline.executors.dask.daskpipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskPipelineExecutor.shutdown"]], "shutdown() (dasf.pipeline.executors.dask.dasktaskspipelineexecutor method)": [[42, "dasf.pipeline.executors.dask.DaskTasksPipelineExecutor.shutdown"]], "daskpbspipelineexecutor (class in dasf.pipeline.executors)": [[43, "dasf.pipeline.executors.DaskPBSPipelineExecutor"]], "daskpipelineexecutor (class in dasf.pipeline.executors)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor"]], "dasktaskspipelineexecutor (class in dasf.pipeline.executors)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor"]], "executor (class in dasf.pipeline.executors)": [[43, "dasf.pipeline.executors.Executor"]], "dasf.pipeline.executors": [[43, "module-dasf.pipeline.executors"]], "execute() (dasf.pipeline.executors.daskpipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.execute"]], "execute() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.execute"]], "execute() (dasf.pipeline.executors.executor method)": [[43, "dasf.pipeline.executors.Executor.execute"]], "get_dataset() (dasf.pipeline.executors.daskpipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.get_dataset"]], "get_dataset() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.get_dataset"]], "has_dataset() (dasf.pipeline.executors.daskpipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.has_dataset"]], "has_dataset() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.has_dataset"]], "is_connected (dasf.pipeline.executors.daskpipelineexecutor property)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.is_connected"]], "is_connected (dasf.pipeline.executors.executor property)": [[43, "dasf.pipeline.executors.Executor.is_connected"]], "ngpus (dasf.pipeline.executors.daskpipelineexecutor property)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.ngpus"]], "ngpus (dasf.pipeline.executors.executor property)": [[43, "dasf.pipeline.executors.Executor.ngpus"]], "post_run() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.post_run"]], "post_run() (dasf.pipeline.executors.executor method)": [[43, "dasf.pipeline.executors.Executor.post_run"]], "pre_run() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.pre_run"]], "pre_run() (dasf.pipeline.executors.executor method)": [[43, "dasf.pipeline.executors.Executor.pre_run"]], "register_dataset() (dasf.pipeline.executors.daskpipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.register_dataset"]], "register_dataset() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.register_dataset"]], "shutdown() (dasf.pipeline.executors.daskpipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskPipelineExecutor.shutdown"]], "shutdown() (dasf.pipeline.executors.dasktaskspipelineexecutor method)": [[43, "dasf.pipeline.executors.DaskTasksPipelineExecutor.shutdown"]], "raypipelineexecutor (class in dasf.pipeline.executors.ray)": [[44, "dasf.pipeline.executors.ray.RayPipelineExecutor"]], "use_ray (in module dasf.pipeline.executors.ray)": [[44, "dasf.pipeline.executors.ray.USE_RAY"]], "__del__() (dasf.pipeline.executors.ray.raypipelineexecutor method)": [[44, "dasf.pipeline.executors.ray.RayPipelineExecutor.__del__"]], "dasf.pipeline.executors.ray": [[44, "module-dasf.pipeline.executors.ray"]], "execute() (dasf.pipeline.executors.ray.raypipelineexecutor method)": [[44, "dasf.pipeline.executors.ray.RayPipelineExecutor.execute"]], "is_connected (dasf.pipeline.executors.ray.raypipelineexecutor property)": [[44, "dasf.pipeline.executors.ray.RayPipelineExecutor.is_connected"]], "ngpus (dasf.pipeline.executors.ray.raypipelineexecutor property)": [[44, "dasf.pipeline.executors.ray.RayPipelineExecutor.ngpus"]], "prefectpipelineexecutor (class in dasf.pipeline.executors.wrapper)": [[45, "dasf.pipeline.executors.wrapper.PrefectPipelineExecutor"]], "dasf.pipeline.executors.wrapper": [[45, "module-dasf.pipeline.executors.wrapper"]], "dtype (dasf.pipeline.executors.wrapper.prefectpipelineexecutor property)": [[45, "dasf.pipeline.executors.wrapper.PrefectPipelineExecutor.dtype"]], "pipeline (class in dasf.pipeline)": [[46, "dasf.pipeline.Pipeline"]], "pipelineplugin (class in dasf.pipeline)": [[46, "dasf.pipeline.PipelinePlugin"]], "__add_into_dag() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.__add_into_dag"]], "__execute() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.__execute"]], "__inspect_element() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.__inspect_element"]], "__register_dataset() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.__register_dataset"]], "add() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.add"]], "dasf.pipeline": [[46, "module-dasf.pipeline"]], "execute_callbacks() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.execute_callbacks"]], "get_result_from() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.get_result_from"]], "on_pipeline_end() (dasf.pipeline.pipelineplugin method)": [[46, "dasf.pipeline.PipelinePlugin.on_pipeline_end"]], "on_pipeline_start() (dasf.pipeline.pipelineplugin method)": [[46, "dasf.pipeline.PipelinePlugin.on_pipeline_start"]], "on_task_end() (dasf.pipeline.pipelineplugin method)": [[46, "dasf.pipeline.PipelinePlugin.on_task_end"]], "on_task_error() (dasf.pipeline.pipelineplugin method)": [[46, "dasf.pipeline.PipelinePlugin.on_task_error"]], "on_task_start() (dasf.pipeline.pipelineplugin method)": [[46, "dasf.pipeline.PipelinePlugin.on_task_start"]], "register_plugin() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.register_plugin"]], "run() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.run"]], "visualize() (dasf.pipeline.pipeline method)": [[46, "dasf.pipeline.Pipeline.visualize"]], "pipeline (class in dasf.pipeline.pipeline)": [[47, "dasf.pipeline.pipeline.Pipeline"]], "pipelineplugin (class in dasf.pipeline.pipeline)": [[47, "dasf.pipeline.pipeline.PipelinePlugin"]], "__add_into_dag() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.__add_into_dag"]], "__execute() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.__execute"]], "__inspect_element() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.__inspect_element"]], "__register_dataset() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.__register_dataset"]], "add() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.add"]], "dasf.pipeline.pipeline": [[47, "module-dasf.pipeline.pipeline"]], "execute_callbacks() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.execute_callbacks"]], "get_result_from() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.get_result_from"]], "on_pipeline_end() (dasf.pipeline.pipeline.pipelineplugin method)": [[47, "dasf.pipeline.pipeline.PipelinePlugin.on_pipeline_end"]], "on_pipeline_start() (dasf.pipeline.pipeline.pipelineplugin method)": [[47, "dasf.pipeline.pipeline.PipelinePlugin.on_pipeline_start"]], "on_task_end() (dasf.pipeline.pipeline.pipelineplugin method)": [[47, "dasf.pipeline.pipeline.PipelinePlugin.on_task_end"]], "on_task_error() (dasf.pipeline.pipeline.pipelineplugin method)": [[47, "dasf.pipeline.pipeline.PipelinePlugin.on_task_error"]], "on_task_start() (dasf.pipeline.pipeline.pipelineplugin method)": [[47, "dasf.pipeline.pipeline.PipelinePlugin.on_task_start"]], "register_plugin() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.register_plugin"]], "run() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.run"]], "visualize() (dasf.pipeline.pipeline.pipeline method)": [[47, "dasf.pipeline.pipeline.Pipeline.visualize"]], "taskexecutortype (class in dasf.pipeline.types)": [[48, "dasf.pipeline.types.TaskExecutorType"]], "dasf.pipeline.types": [[48, "module-dasf.pipeline.types"]], "multi_cpu (dasf.pipeline.types.taskexecutortype attribute)": [[48, "dasf.pipeline.types.TaskExecutorType.multi_cpu"]], "multi_gpu (dasf.pipeline.types.taskexecutortype attribute)": [[48, "dasf.pipeline.types.TaskExecutorType.multi_gpu"]], "single_cpu (dasf.pipeline.types.taskexecutortype attribute)": [[48, "dasf.pipeline.types.TaskExecutorType.single_cpu"]], "single_gpu (dasf.pipeline.types.taskexecutortype attribute)": [[48, "dasf.pipeline.types.TaskExecutorType.single_gpu"]], "singlefiletracedatabase (class in dasf.profile.database)": [[49, "dasf.profile.database.SingleFileTraceDatabase"]], "tracedatabase (class in dasf.profile.database)": [[49, "dasf.profile.database.TraceDatabase"]], "traceevent (class in dasf.profile.database)": [[49, "dasf.profile.database.TraceEvent"]], "add_trace_event() (dasf.profile.database.singlefiletracedatabase method)": [[49, "dasf.profile.database.SingleFileTraceDatabase.add_trace_event"]], "add_trace_event() (dasf.profile.database.tracedatabase method)": [[49, "dasf.profile.database.TraceDatabase.add_trace_event"]], "category (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.category"]], "color_name (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.color_name"]], "commit() (dasf.profile.database.tracedatabase method)": [[49, "dasf.profile.database.TraceDatabase.commit"]], "dasf.profile.database": [[49, "module-dasf.profile.database"]], "data (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.data"]], "duration (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.duration"]], "get_traces() (dasf.profile.database.singlefiletracedatabase method)": [[49, "dasf.profile.database.SingleFileTraceDatabase.get_traces"]], "get_traces() (dasf.profile.database.tracedatabase method)": [[49, "dasf.profile.database.TraceDatabase.get_traces"]], "name (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.name"]], "phase (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.phase"]], "process_id (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.process_id"]], "thread_duration (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.thread_duration"]], "thread_id (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.thread_id"]], "thread_timestamp (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.thread_timestamp"]], "timestamp (dasf.profile.database.traceevent attribute)": [[49, "dasf.profile.database.TraceEvent.timestamp"]], "profile (class in dasf.profile.event)": [[50, "dasf.profile.event.Profile"]], "singleton (class in dasf.profile.event)": [[50, "dasf.profile.event.Singleton"]], "tracedatabase (class in dasf.profile.event)": [[50, "dasf.profile.event.TraceDatabase"]], "__call__() (dasf.profile.event.singleton method)": [[50, "dasf.profile.event.Singleton.__call__"]], "__enter__() (dasf.profile.event.profile method)": [[50, "dasf.profile.event.Profile.__enter__"]], "__exit__() (dasf.profile.event.profile method)": [[50, "dasf.profile.event.Profile.__exit__"]], "_instances (dasf.profile.event.singleton attribute)": [[50, "dasf.profile.event.Singleton._instances"]], "add_trace_complete() (in module dasf.profile.event)": [[50, "dasf.profile.event.add_trace_complete"]], "add_trace_duration_begin() (in module dasf.profile.event)": [[50, "dasf.profile.event.add_trace_duration_begin"]], "add_trace_duration_end() (in module dasf.profile.event)": [[50, "dasf.profile.event.add_trace_duration_end"]], "dasf.profile.event": [[50, "module-dasf.profile.event"]], "database (dasf.profile.event.tracedatabase property)": [[50, "dasf.profile.event.TraceDatabase.database"]], "db_name (dasf.profile.event.tracedatabase attribute)": [[50, "dasf.profile.event.TraceDatabase.db_name"]], "get_time_ms() (in module dasf.profile.event)": [[50, "dasf.profile.event.get_time_ms"]], "get_traces() (in module dasf.profile.event)": [[50, "dasf.profile.event.get_traces"]], "to_chrome_event_format() (in module dasf.profile.event)": [[50, "dasf.profile.event.to_chrome_event_format"]], "dasf.profile": [[51, "module-dasf.profile"]], "pipelinetasktimer (class in dasf.profile.plugins.dasf)": [[52, "dasf.profile.plugins.dasf.PipelineTaskTimer"]], "dasf.profile.plugins.dasf": [[52, "module-dasf.profile.plugins.dasf"]], "on_task_end() (dasf.profile.plugins.dasf.pipelinetasktimer method)": [[52, "dasf.profile.plugins.dasf.PipelineTaskTimer.on_task_end"]], "on_task_start() (dasf.profile.plugins.dasf.pipelinetasktimer method)": [[52, "dasf.profile.plugins.dasf.PipelineTaskTimer.on_task_start"]], "tasktimeplugin (class in dasf.profile.plugins.dask)": [[53, "dasf.profile.plugins.dask.TaskTimePlugin"]], "dasf.profile.plugins.dask": [[53, "module-dasf.profile.plugins.dask"]], "setup() (dasf.profile.plugins.dask.tasktimeplugin method)": [[53, "dasf.profile.plugins.dask.TaskTimePlugin.setup"]], "transition() (dasf.profile.plugins.dask.tasktimeplugin method)": [[53, "dasf.profile.plugins.dask.TaskTimePlugin.transition"]], "dasf.profile.plugins": [[54, "module-dasf.profile.plugins"]], "format (class in dasf.profile.plugins.resource_monitor)": [[55, "dasf.profile.plugins.resource_monitor.Format"]], "resourcemonitor (class in dasf.profile.plugins.resource_monitor)": [[55, "dasf.profile.plugins.resource_monitor.ResourceMonitor"]], "byte_value() (dasf.profile.plugins.resource_monitor.format static method)": [[55, "dasf.profile.plugins.resource_monitor.Format.byte_value"]], "dasf.profile.plugins.resource_monitor": [[55, "module-dasf.profile.plugins.resource_monitor"]], "get_info() (dasf.profile.plugins.resource_monitor.resourcemonitor static method)": [[55, "dasf.profile.plugins.resource_monitor.ResourceMonitor.get_info"]], "on_pipeline_end() (dasf.profile.plugins.resource_monitor.resourcemonitor method)": [[55, "dasf.profile.plugins.resource_monitor.ResourceMonitor.on_pipeline_end"]], "on_pipeline_start() (dasf.profile.plugins.resource_monitor.resourcemonitor method)": [[55, "dasf.profile.plugins.resource_monitor.ResourceMonitor.on_pipeline_start"]], "percent() (dasf.profile.plugins.resource_monitor.format static method)": [[55, "dasf.profile.plugins.resource_monitor.Format.percent"]], "run_continuously() (in module dasf.profile.plugins.resource_monitor)": [[55, "dasf.profile.plugins.resource_monitor.run_continuously"]], "temperature() (dasf.profile.plugins.resource_monitor.format static method)": [[55, "dasf.profile.plugins.resource_monitor.Format.temperature"]], "fit (class in dasf.transforms.base)": [[56, "dasf.transforms.base.Fit"]], "fitpredict (class in dasf.transforms.base)": [[56, "dasf.transforms.base.FitPredict"]], "fittransform (class in dasf.transforms.base)": [[56, "dasf.transforms.base.FitTransform"]], "getparams (class in dasf.transforms.base)": [[56, "dasf.transforms.base.GetParams"]], "mappedtransform (class in dasf.transforms.base)": [[56, "dasf.transforms.base.MappedTransform"]], "predict (class in dasf.transforms.base)": [[56, "dasf.transforms.base.Predict"]], "setparams (class in dasf.transforms.base)": [[56, "dasf.transforms.base.SetParams"]], "targeteredtransform (class in dasf.transforms.base)": [[56, "dasf.transforms.base.TargeteredTransform"]], "transform (class in dasf.transforms.base)": [[56, "dasf.transforms.base.Transform"]], "__lazy_transform_generic() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform.__lazy_transform_generic"]], "_fit_cpu() (dasf.transforms.base.fit method)": [[56, "dasf.transforms.base.Fit._fit_cpu"]], "_fit_gpu() (dasf.transforms.base.fit method)": [[56, "dasf.transforms.base.Fit._fit_gpu"]], "_fit_predict_cpu() (dasf.transforms.base.fitpredict method)": [[56, "dasf.transforms.base.FitPredict._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.transforms.base.fitpredict method)": [[56, "dasf.transforms.base.FitPredict._fit_predict_gpu"]], "_fit_transform_cpu() (dasf.transforms.base.fittransform method)": [[56, "dasf.transforms.base.FitTransform._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.transforms.base.fittransform method)": [[56, "dasf.transforms.base.FitTransform._fit_transform_gpu"]], "_get_params_cpu() (dasf.transforms.base.getparams method)": [[56, "dasf.transforms.base.GetParams._get_params_cpu"]], "_get_params_gpu() (dasf.transforms.base.getparams method)": [[56, "dasf.transforms.base.GetParams._get_params_gpu"]], "_lazy_fit_cpu() (dasf.transforms.base.fit method)": [[56, "dasf.transforms.base.Fit._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.transforms.base.fit method)": [[56, "dasf.transforms.base.Fit._lazy_fit_gpu"]], "_lazy_fit_predict_cpu() (dasf.transforms.base.fitpredict method)": [[56, "dasf.transforms.base.FitPredict._lazy_fit_predict_cpu"]], "_lazy_fit_predict_gpu() (dasf.transforms.base.fitpredict method)": [[56, "dasf.transforms.base.FitPredict._lazy_fit_predict_gpu"]], "_lazy_fit_transform_cpu() (dasf.transforms.base.fittransform method)": [[56, "dasf.transforms.base.FitTransform._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.transforms.base.fittransform method)": [[56, "dasf.transforms.base.FitTransform._lazy_fit_transform_gpu"]], "_lazy_get_params_cpu() (dasf.transforms.base.getparams method)": [[56, "dasf.transforms.base.GetParams._lazy_get_params_cpu"]], "_lazy_get_params_gpu() (dasf.transforms.base.getparams method)": [[56, "dasf.transforms.base.GetParams._lazy_get_params_gpu"]], "_lazy_predict_cpu() (dasf.transforms.base.predict method)": [[56, "dasf.transforms.base.Predict._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.transforms.base.predict method)": [[56, "dasf.transforms.base.Predict._lazy_predict_gpu"]], "_lazy_set_params_cpu() (dasf.transforms.base.setparams method)": [[56, "dasf.transforms.base.SetParams._lazy_set_params_cpu"]], "_lazy_set_params_gpu() (dasf.transforms.base.setparams method)": [[56, "dasf.transforms.base.SetParams._lazy_set_params_gpu"]], "_lazy_transform_cpu() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.base.transform method)": [[56, "dasf.transforms.base.Transform._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.base.transform method)": [[56, "dasf.transforms.base.Transform._lazy_transform_gpu"]], "_predict_cpu() (dasf.transforms.base.predict method)": [[56, "dasf.transforms.base.Predict._predict_cpu"]], "_predict_gpu() (dasf.transforms.base.predict method)": [[56, "dasf.transforms.base.Predict._predict_gpu"]], "_set_params_cpu() (dasf.transforms.base.setparams method)": [[56, "dasf.transforms.base.SetParams._set_params_cpu"]], "_set_params_gpu() (dasf.transforms.base.setparams method)": [[56, "dasf.transforms.base.SetParams._set_params_gpu"]], "_transform_cpu() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform._transform_cpu"]], "_transform_cpu() (dasf.transforms.base.transform method)": [[56, "dasf.transforms.base.Transform._transform_cpu"]], "_transform_gpu() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform._transform_gpu"]], "_transform_gpu() (dasf.transforms.base.transform method)": [[56, "dasf.transforms.base.Transform._transform_gpu"]], "dasf.transforms.base": [[56, "module-dasf.transforms.base"]], "fit() (dasf.transforms.base.fit method)": [[56, "dasf.transforms.base.Fit.fit"]], "fit_from_model() (dasf.transforms.base.fit static method)": [[56, "dasf.transforms.base.Fit.fit_from_model"]], "fit_predict() (dasf.transforms.base.fitpredict method)": [[56, "dasf.transforms.base.FitPredict.fit_predict"]], "fit_predict_from_model() (dasf.transforms.base.fitpredict static method)": [[56, "dasf.transforms.base.FitPredict.fit_predict_from_model"]], "fit_transform() (dasf.transforms.base.fittransform method)": [[56, "dasf.transforms.base.FitTransform.fit_transform"]], "fit_transform_from_model() (dasf.transforms.base.fittransform static method)": [[56, "dasf.transforms.base.FitTransform.fit_transform_from_model"]], "get_params() (dasf.transforms.base.getparams method)": [[56, "dasf.transforms.base.GetParams.get_params"]], "predict() (dasf.transforms.base.predict method)": [[56, "dasf.transforms.base.Predict.predict"]], "predict_from_model() (dasf.transforms.base.predict static method)": [[56, "dasf.transforms.base.Predict.predict_from_model"]], "set_params() (dasf.transforms.base.setparams method)": [[56, "dasf.transforms.base.SetParams.set_params"]], "transform() (dasf.transforms.base.mappedtransform method)": [[56, "dasf.transforms.base.MappedTransform.transform"]], "transform() (dasf.transforms.base.transform method)": [[56, "dasf.transforms.base.Transform.transform"]], "transform_from_model() (dasf.transforms.base.transform static method)": [[56, "dasf.transforms.base.Transform.transform_from_model"]], "arraytohdf5 (class in dasf.transforms)": [[57, "dasf.transforms.ArrayToHDF5"]], "arraytozarr (class in dasf.transforms)": [[57, "dasf.transforms.ArrayToZarr"]], "arraystodataframe (class in dasf.transforms)": [[57, "dasf.transforms.ArraysToDataFrame"]], "computedaskdata (class in dasf.transforms)": [[57, "dasf.transforms.ComputeDaskData"]], "fit (class in dasf.transforms)": [[57, "dasf.transforms.Fit"]], "fitpredict (class in dasf.transforms)": [[57, "dasf.transforms.FitPredict"]], "fittransform (class in dasf.transforms)": [[57, "dasf.transforms.FitTransform"]], "getparams (class in dasf.transforms)": [[57, "dasf.transforms.GetParams"]], "mappedtransform (class in dasf.transforms)": [[57, "dasf.transforms.MappedTransform"]], "normalize (class in dasf.transforms)": [[57, "dasf.transforms.Normalize"]], "persistdaskdata (class in dasf.transforms)": [[57, "dasf.transforms.PersistDaskData"]], "predict (class in dasf.transforms)": [[57, "dasf.transforms.Predict"]], "reshape (class in dasf.transforms)": [[57, "dasf.transforms.Reshape"]], "slicearray (class in dasf.transforms)": [[57, "dasf.transforms.SliceArray"]], "slicearraybypercent (class in dasf.transforms)": [[57, "dasf.transforms.SliceArrayByPercent"]], "targeteredtransform (class in dasf.transforms)": [[57, "dasf.transforms.TargeteredTransform"]], "zarrtoarray (class in dasf.transforms)": [[57, "dasf.transforms.ZarrToArray"]], "__lazy_transform_generic() (dasf.transforms.computedaskdata method)": [[57, "dasf.transforms.ComputeDaskData.__lazy_transform_generic"]], "__lazy_transform_generic() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform.__lazy_transform_generic"]], "__lazy_transform_generic() (dasf.transforms.persistdaskdata method)": [[57, "dasf.transforms.PersistDaskData.__lazy_transform_generic"]], "__transform_generic() (dasf.transforms.arraystodataframe method)": [[57, "dasf.transforms.ArraysToDataFrame.__transform_generic"]], "_convert_filename() (dasf.transforms.arraytohdf5 static method)": [[57, "dasf.transforms.ArrayToHDF5._convert_filename"]], "_convert_filename() (dasf.transforms.arraytozarr static method)": [[57, "dasf.transforms.ArrayToZarr._convert_filename"]], "_convert_filename() (dasf.transforms.zarrtoarray static method)": [[57, "dasf.transforms.ZarrToArray._convert_filename"]], "_fit_cpu() (dasf.transforms.fit method)": [[57, "dasf.transforms.Fit._fit_cpu"]], "_fit_gpu() (dasf.transforms.fit method)": [[57, "dasf.transforms.Fit._fit_gpu"]], "_fit_predict_cpu() (dasf.transforms.fitpredict method)": [[57, "dasf.transforms.FitPredict._fit_predict_cpu"]], "_fit_predict_gpu() (dasf.transforms.fitpredict method)": [[57, "dasf.transforms.FitPredict._fit_predict_gpu"]], "_fit_transform_cpu() (dasf.transforms.fittransform method)": [[57, "dasf.transforms.FitTransform._fit_transform_cpu"]], "_fit_transform_gpu() (dasf.transforms.fittransform method)": [[57, "dasf.transforms.FitTransform._fit_transform_gpu"]], "_get_params_cpu() (dasf.transforms.getparams method)": [[57, "dasf.transforms.GetParams._get_params_cpu"]], "_get_params_gpu() (dasf.transforms.getparams method)": [[57, "dasf.transforms.GetParams._get_params_gpu"]], "_lazy_fit_cpu() (dasf.transforms.fit method)": [[57, "dasf.transforms.Fit._lazy_fit_cpu"]], "_lazy_fit_gpu() (dasf.transforms.fit method)": [[57, "dasf.transforms.Fit._lazy_fit_gpu"]], "_lazy_fit_predict_cpu() (dasf.transforms.fitpredict method)": [[57, "dasf.transforms.FitPredict._lazy_fit_predict_cpu"]], "_lazy_fit_predict_gpu() (dasf.transforms.fitpredict method)": [[57, "dasf.transforms.FitPredict._lazy_fit_predict_gpu"]], "_lazy_fit_transform_cpu() (dasf.transforms.fittransform method)": [[57, "dasf.transforms.FitTransform._lazy_fit_transform_cpu"]], "_lazy_fit_transform_gpu() (dasf.transforms.fittransform method)": [[57, "dasf.transforms.FitTransform._lazy_fit_transform_gpu"]], "_lazy_get_params_cpu() (dasf.transforms.getparams method)": [[57, "dasf.transforms.GetParams._lazy_get_params_cpu"]], "_lazy_get_params_gpu() (dasf.transforms.getparams method)": [[57, "dasf.transforms.GetParams._lazy_get_params_gpu"]], "_lazy_predict_cpu() (dasf.transforms.predict method)": [[57, "dasf.transforms.Predict._lazy_predict_cpu"]], "_lazy_predict_gpu() (dasf.transforms.predict method)": [[57, "dasf.transforms.Predict._lazy_predict_gpu"]], "_lazy_transform_cpu() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.arraystodataframe method)": [[57, "dasf.transforms.ArraysToDataFrame._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.computedaskdata method)": [[57, "dasf.transforms.ComputeDaskData._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.persistdaskdata method)": [[57, "dasf.transforms.PersistDaskData._lazy_transform_cpu"]], "_lazy_transform_generic() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._lazy_transform_generic"]], "_lazy_transform_generic() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._lazy_transform_generic"]], "_lazy_transform_generic_all() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._lazy_transform_generic_all"]], "_lazy_transform_generic_all() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._lazy_transform_generic_all"]], "_lazy_transform_gpu() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.arraystodataframe method)": [[57, "dasf.transforms.ArraysToDataFrame._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.computedaskdata method)": [[57, "dasf.transforms.ComputeDaskData._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.persistdaskdata method)": [[57, "dasf.transforms.PersistDaskData._lazy_transform_gpu"]], "_predict_cpu() (dasf.transforms.predict method)": [[57, "dasf.transforms.Predict._predict_cpu"]], "_predict_gpu() (dasf.transforms.predict method)": [[57, "dasf.transforms.Predict._predict_gpu"]], "_transform_cpu() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._transform_cpu"]], "_transform_cpu() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._transform_cpu"]], "_transform_cpu() (dasf.transforms.arraystodataframe method)": [[57, "dasf.transforms.ArraysToDataFrame._transform_cpu"]], "_transform_cpu() (dasf.transforms.computedaskdata method)": [[57, "dasf.transforms.ComputeDaskData._transform_cpu"]], "_transform_cpu() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform._transform_cpu"]], "_transform_cpu() (dasf.transforms.persistdaskdata method)": [[57, "dasf.transforms.PersistDaskData._transform_cpu"]], "_transform_generic() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._transform_generic"]], "_transform_generic() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._transform_generic"]], "_transform_generic_all() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._transform_generic_all"]], "_transform_generic_all() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._transform_generic_all"]], "_transform_gpu() (dasf.transforms.arraytohdf5 method)": [[57, "dasf.transforms.ArrayToHDF5._transform_gpu"]], "_transform_gpu() (dasf.transforms.arraytozarr method)": [[57, "dasf.transforms.ArrayToZarr._transform_gpu"]], "_transform_gpu() (dasf.transforms.arraystodataframe method)": [[57, "dasf.transforms.ArraysToDataFrame._transform_gpu"]], "_transform_gpu() (dasf.transforms.computedaskdata method)": [[57, "dasf.transforms.ComputeDaskData._transform_gpu"]], "_transform_gpu() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform._transform_gpu"]], "_transform_gpu() (dasf.transforms.persistdaskdata method)": [[57, "dasf.transforms.PersistDaskData._transform_gpu"]], "dasf.transforms": [[57, "module-dasf.transforms"]], "fit() (dasf.transforms.fit method)": [[57, "dasf.transforms.Fit.fit"]], "fit_from_model() (dasf.transforms.fit static method)": [[57, "dasf.transforms.Fit.fit_from_model"]], "fit_predict() (dasf.transforms.fitpredict method)": [[57, "dasf.transforms.FitPredict.fit_predict"]], "fit_predict_from_model() (dasf.transforms.fitpredict static method)": [[57, "dasf.transforms.FitPredict.fit_predict_from_model"]], "fit_transform() (dasf.transforms.fittransform method)": [[57, "dasf.transforms.FitTransform.fit_transform"]], "fit_transform_from_model() (dasf.transforms.fittransform static method)": [[57, "dasf.transforms.FitTransform.fit_transform_from_model"]], "get_params() (dasf.transforms.getparams method)": [[57, "dasf.transforms.GetParams.get_params"]], "predict() (dasf.transforms.predict method)": [[57, "dasf.transforms.Predict.predict"]], "predict_from_model() (dasf.transforms.predict static method)": [[57, "dasf.transforms.Predict.predict_from_model"]], "run() (dasf.transforms.reshape method)": [[57, "dasf.transforms.Reshape.run"]], "transform() (dasf.transforms.mappedtransform method)": [[57, "dasf.transforms.MappedTransform.transform"]], "transform() (dasf.transforms.normalize method)": [[57, "dasf.transforms.Normalize.transform"]], "transform() (dasf.transforms.slicearray method)": [[57, "dasf.transforms.SliceArray.transform"]], "transform() (dasf.transforms.slicearraybypercent method)": [[57, "dasf.transforms.SliceArrayByPercent.transform"]], "transform() (dasf.transforms.zarrtoarray method)": [[57, "dasf.transforms.ZarrToArray.transform"]], "computedaskdata (class in dasf.transforms.memory)": [[58, "dasf.transforms.memory.ComputeDaskData"]], "persistdaskdata (class in dasf.transforms.memory)": [[58, "dasf.transforms.memory.PersistDaskData"]], "__lazy_transform_generic() (dasf.transforms.memory.computedaskdata method)": [[58, "dasf.transforms.memory.ComputeDaskData.__lazy_transform_generic"]], "__lazy_transform_generic() (dasf.transforms.memory.persistdaskdata method)": [[58, "dasf.transforms.memory.PersistDaskData.__lazy_transform_generic"]], "_lazy_transform_cpu() (dasf.transforms.memory.computedaskdata method)": [[58, "dasf.transforms.memory.ComputeDaskData._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.memory.persistdaskdata method)": [[58, "dasf.transforms.memory.PersistDaskData._lazy_transform_cpu"]], "_lazy_transform_gpu() (dasf.transforms.memory.computedaskdata method)": [[58, "dasf.transforms.memory.ComputeDaskData._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.memory.persistdaskdata method)": [[58, "dasf.transforms.memory.PersistDaskData._lazy_transform_gpu"]], "_transform_cpu() (dasf.transforms.memory.computedaskdata method)": [[58, "dasf.transforms.memory.ComputeDaskData._transform_cpu"]], "_transform_cpu() (dasf.transforms.memory.persistdaskdata method)": [[58, "dasf.transforms.memory.PersistDaskData._transform_cpu"]], "_transform_gpu() (dasf.transforms.memory.computedaskdata method)": [[58, "dasf.transforms.memory.ComputeDaskData._transform_gpu"]], "_transform_gpu() (dasf.transforms.memory.persistdaskdata method)": [[58, "dasf.transforms.memory.PersistDaskData._transform_gpu"]], "dasf.transforms.memory": [[58, "module-dasf.transforms.memory"]], "reshape (class in dasf.transforms.operations)": [[59, "dasf.transforms.operations.Reshape"]], "slicearray (class in dasf.transforms.operations)": [[59, "dasf.transforms.operations.SliceArray"]], "slicearraybypercent (class in dasf.transforms.operations)": [[59, "dasf.transforms.operations.SliceArrayByPercent"]], "dasf.transforms.operations": [[59, "module-dasf.transforms.operations"]], "run() (dasf.transforms.operations.reshape method)": [[59, "dasf.transforms.operations.Reshape.run"]], "transform() (dasf.transforms.operations.slicearray method)": [[59, "dasf.transforms.operations.SliceArray.transform"]], "transform() (dasf.transforms.operations.slicearraybypercent method)": [[59, "dasf.transforms.operations.SliceArrayByPercent.transform"]], "arraytohdf5 (class in dasf.transforms.transforms)": [[60, "dasf.transforms.transforms.ArrayToHDF5"]], "arraytozarr (class in dasf.transforms.transforms)": [[60, "dasf.transforms.transforms.ArrayToZarr"]], "arraystodataframe (class in dasf.transforms.transforms)": [[60, "dasf.transforms.transforms.ArraysToDataFrame"]], "normalize (class in dasf.transforms.transforms)": [[60, "dasf.transforms.transforms.Normalize"]], "zarrtoarray (class in dasf.transforms.transforms)": [[60, "dasf.transforms.transforms.ZarrToArray"]], "__transform_generic() (dasf.transforms.transforms.arraystodataframe method)": [[60, "dasf.transforms.transforms.ArraysToDataFrame.__transform_generic"]], "_convert_filename() (dasf.transforms.transforms.arraytohdf5 static method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._convert_filename"]], "_convert_filename() (dasf.transforms.transforms.arraytozarr static method)": [[60, "dasf.transforms.transforms.ArrayToZarr._convert_filename"]], "_convert_filename() (dasf.transforms.transforms.zarrtoarray static method)": [[60, "dasf.transforms.transforms.ZarrToArray._convert_filename"]], "_lazy_transform_cpu() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._lazy_transform_cpu"]], "_lazy_transform_cpu() (dasf.transforms.transforms.arraystodataframe method)": [[60, "dasf.transforms.transforms.ArraysToDataFrame._lazy_transform_cpu"]], "_lazy_transform_generic() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._lazy_transform_generic"]], "_lazy_transform_generic() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._lazy_transform_generic"]], "_lazy_transform_generic_all() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._lazy_transform_generic_all"]], "_lazy_transform_generic_all() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._lazy_transform_generic_all"]], "_lazy_transform_gpu() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._lazy_transform_gpu"]], "_lazy_transform_gpu() (dasf.transforms.transforms.arraystodataframe method)": [[60, "dasf.transforms.transforms.ArraysToDataFrame._lazy_transform_gpu"]], "_transform_cpu() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._transform_cpu"]], "_transform_cpu() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._transform_cpu"]], "_transform_cpu() (dasf.transforms.transforms.arraystodataframe method)": [[60, "dasf.transforms.transforms.ArraysToDataFrame._transform_cpu"]], "_transform_generic() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._transform_generic"]], "_transform_generic() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._transform_generic"]], "_transform_generic_all() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._transform_generic_all"]], "_transform_generic_all() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._transform_generic_all"]], "_transform_gpu() (dasf.transforms.transforms.arraytohdf5 method)": [[60, "dasf.transforms.transforms.ArrayToHDF5._transform_gpu"]], "_transform_gpu() (dasf.transforms.transforms.arraytozarr method)": [[60, "dasf.transforms.transforms.ArrayToZarr._transform_gpu"]], "_transform_gpu() (dasf.transforms.transforms.arraystodataframe method)": [[60, "dasf.transforms.transforms.ArraysToDataFrame._transform_gpu"]], "dasf.transforms.transforms": [[60, "module-dasf.transforms.transforms"]], "transform() (dasf.transforms.transforms.normalize method)": [[60, "dasf.transforms.transforms.Normalize.transform"]], "transform() (dasf.transforms.transforms.zarrtoarray method)": [[60, "dasf.transforms.transforms.ZarrToArray.transform"]], "memorybenchmark (class in dasf.utils.benchmark)": [[61, "dasf.utils.benchmark.MemoryBenchmark"]], "timebenchmark (class in dasf.utils.benchmark)": [[61, "dasf.utils.benchmark.TimeBenchmark"]], "use_memray (in module dasf.utils.benchmark)": [[61, "dasf.utils.benchmark.USE_MEMRAY"]], "use_mem_prof (in module dasf.utils.benchmark)": [[61, "dasf.utils.benchmark.USE_MEM_PROF"]], "__enter__() (dasf.utils.benchmark.memorybenchmark method)": [[61, "dasf.utils.benchmark.MemoryBenchmark.__enter__"]], "__enter__() (dasf.utils.benchmark.timebenchmark method)": [[61, "dasf.utils.benchmark.TimeBenchmark.__enter__"]], "__exit__() (dasf.utils.benchmark.memorybenchmark method)": [[61, "dasf.utils.benchmark.MemoryBenchmark.__exit__"]], "__exit__() (dasf.utils.benchmark.timebenchmark method)": [[61, "dasf.utils.benchmark.TimeBenchmark.__exit__"]], "dasf.utils.benchmark": [[61, "module-dasf.utils.benchmark"]], "run() (dasf.utils.benchmark.memorybenchmark method)": [[61, "dasf.utils.benchmark.MemoryBenchmark.run"]], "run() (dasf.utils.benchmark.timebenchmark method)": [[61, "dasf.utils.benchmark.TimeBenchmark.run"]], "dasf.utils.decorators": [[62, "module-dasf.utils.decorators"]], "fetch_args_from_dask() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.fetch_args_from_dask"]], "fetch_args_from_gpu() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.fetch_args_from_gpu"]], "fetch_from_dask() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.fetch_from_dask"]], "fetch_from_gpu() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.fetch_from_gpu"]], "is_forced_gpu() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.is_forced_gpu"]], "is_forced_local() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.is_forced_local"]], "task_handler() (in module dasf.utils.decorators)": [[62, "dasf.utils.decorators.task_handler"]], "gpu_supported (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.GPU_SUPPORTED"]], "min_cur (dasf.utils.funcs.notebookprogressbar attribute)": [[63, "dasf.utils.funcs.NotebookProgressBar.MIN_CUR"]], "min_total (dasf.utils.funcs.notebookprogressbar attribute)": [[63, "dasf.utils.funcs.NotebookProgressBar.MIN_TOTAL"]], "notebookprogressbar (class in dasf.utils.funcs)": [[63, "dasf.utils.funcs.NotebookProgressBar"]], "block_chunk_reduce() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.block_chunk_reduce"]], "dasf.utils.funcs": [[63, "module-dasf.utils.funcs"]], "download_file() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.download_file"]], "download_file_from_gdrive() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.download_file_from_gdrive"]], "get_dask_gpu_count() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_dask_gpu_count"]], "get_dask_mem_usage() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_dask_mem_usage"]], "get_dask_running_client() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_dask_running_client"]], "get_full_qualname() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_full_qualname"]], "get_gpu_count() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_gpu_count"]], "get_machine_memory_avail() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_machine_memory_avail"]], "get_worker_info() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.get_worker_info"]], "human_readable_size() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.human_readable_size"]], "is_dask_gpu_supported() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_dask_gpu_supported"]], "is_dask_local_supported() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_dask_local_supported"]], "is_dask_supported() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_dask_supported"]], "is_executor_cluster() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_executor_cluster"]], "is_executor_cpu() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_executor_cpu"]], "is_executor_gpu() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_executor_gpu"]], "is_executor_single() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_executor_single"]], "is_gpu_supported() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_gpu_supported"]], "is_notebook() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.is_notebook"]], "return_local_and_gpu() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.return_local_and_gpu"]], "run() (dasf.utils.funcs.notebookprogressbar method)": [[63, "dasf.utils.funcs.NotebookProgressBar.run"]], "set_current() (dasf.utils.funcs.notebookprogressbar method)": [[63, "dasf.utils.funcs.NotebookProgressBar.set_current"]], "set_error() (dasf.utils.funcs.notebookprogressbar method)": [[63, "dasf.utils.funcs.NotebookProgressBar.set_error"]], "set_executor_default() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.set_executor_default"]], "set_executor_gpu() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.set_executor_gpu"]], "show() (dasf.utils.funcs.notebookprogressbar method)": [[63, "dasf.utils.funcs.NotebookProgressBar.show"]], "sync_future_loop() (in module dasf.utils.funcs)": [[63, "dasf.utils.funcs.sync_future_loop"]], "dasf.utils": [[64, "module-dasf.utils"]], "dasklabel (class in dasf.utils.labels)": [[65, "dasf.utils.labels.DaskLabel"]], "__add_data() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__add_data"]], "__add_func() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__add_func"]], "__add_item() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__add_item"]], "__enter() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__enter"]], "__enter__() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__enter__"]], "__exit() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__exit"]], "__exit__() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__exit__"]], "__generate_hashtable() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__generate_hashtable"]], "__name() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.__name"]], "dasf.utils.labels": [[65, "module-dasf.utils.labels"]], "g_data_attrs (in module dasf.utils.labels)": [[65, "dasf.utils.labels.g_data_attrs"]], "g_func_attrs (in module dasf.utils.labels)": [[65, "dasf.utils.labels.g_func_attrs"]], "g_hash_attrs (in module dasf.utils.labels)": [[65, "dasf.utils.labels.g_hash_attrs"]], "get_attributes() (in module dasf.utils.labels)": [[65, "dasf.utils.labels.get_attributes"]], "inside_with (in module dasf.utils.labels)": [[65, "dasf.utils.labels.inside_with"]], "start() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.start"]], "stop() (dasf.utils.labels.dasklabel method)": [[65, "dasf.utils.labels.DaskLabel.stop"]], "dasf.utils.logging": [[66, "module-dasf.utils.logging"]], "init_logging() (in module dasf.utils.logging)": [[66, "dasf.utils.logging.init_logging"]], "array (in module dasf.utils.types)": [[67, "dasf.utils.types.Array"]], "arraycpu (in module dasf.utils.types)": [[67, "dasf.utils.types.ArrayCPU"]], "arraygpu (in module dasf.utils.types)": [[67, "dasf.utils.types.ArrayGPU"]], "daskarray (in module dasf.utils.types)": [[67, "dasf.utils.types.DaskArray"]], "daskdataframe (in module dasf.utils.types)": [[67, "dasf.utils.types.DaskDataFrame"]], "daskdataframecpu (in module dasf.utils.types)": [[67, "dasf.utils.types.DaskDataFrameCPU"]], "datacpu (in module dasf.utils.types)": [[67, "dasf.utils.types.DataCPU"]], "datadask (in module dasf.utils.types)": [[67, "dasf.utils.types.DataDask"]], "dataframe (in module dasf.utils.types)": [[67, "dasf.utils.types.DataFrame"]], "dataframecpu (in module dasf.utils.types)": [[67, "dasf.utils.types.DataFrameCPU"]], "xdataarray (in module dasf.utils.types)": [[67, "dasf.utils.types.XDataArray"]], "dasf.utils.types": [[67, "module-dasf.utils.types"]], "is_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_array"]], "is_cpu_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_cpu_array"]], "is_cpu_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_cpu_dataframe"]], "is_cpu_datatype() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_cpu_datatype"]], "is_dask() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask"]], "is_dask_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_array"]], "is_dask_cpu_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_cpu_array"]], "is_dask_cpu_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_cpu_dataframe"]], "is_dask_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_dataframe"]], "is_dask_gpu_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_gpu_array"]], "is_dask_gpu_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dask_gpu_dataframe"]], "is_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_dataframe"]], "is_gpu_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_gpu_array"]], "is_gpu_dataframe() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_gpu_dataframe"]], "is_gpu_datatype() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_gpu_datatype"]], "is_xarray_array() (in module dasf.utils.types)": [[67, "dasf.utils.types.is_xarray_array"]]}}) \ No newline at end of file diff --git a/docs/source/api.rst b/docs/source/api.rst deleted file mode 100644 index 2c7a2c0..0000000 --- a/docs/source/api.rst +++ /dev/null @@ -1,7 +0,0 @@ -DASF API Reference ------------------------ - -.. toctree:: - :maxdepth: 2 - - autoapi/dasf/index diff --git a/docs/source/conf.py b/docs/source/conf.py deleted file mode 100644 index f35fc19..0000000 --- a/docs/source/conf.py +++ /dev/null @@ -1,120 +0,0 @@ -# Configuration file for the Sphinx documentation builder. -# -# This file only contains a selection of the most common options. For a full -# list see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html - -# -- Path setup -------------------------------------------------------------- - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -import os -import sys -sys.path.insert(0, os.path.abspath('../../')) - -import sphinx_rtd_theme - - -# -- General configuration --------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'sphinx.ext.autodoc', - 'autoapi.extension', - 'sphinx_rtd_theme', - 'sphinx.ext.viewcode', - 'sphinx.ext.autodoc.typehints', - 'sphinx.ext.mathjax', - "nbsphinx", - "IPython.sphinxext.ipython_console_highlighting" - # "sphinx_codeautolink", - # "sphinx_gallery.load_style", - # "sphinx_gallery.gen_gallery" -] - -suppress_warnings = [ - 'nbsphinx.localfile', - 'nbsphinx.gallery', - 'nbsphinx.thumbnail', - 'nbsphinx.notebooktitle', - 'nbsphinx.ipywidgets', -] - -# sphinx_gallery_conf = { -# 'examples_dirs': '../../examples', # path to your example scripts -# 'gallery_dirs': 'auto_examples', # path to where to save gallery generated output -# 'filename_pattern': '**ipynb', -# 'source_suffix': ['.rst', '.ipynb'] -# } - -####### Auto API -autoapi_type = 'python' -autoapi_dirs = ['../../dasf/'] -autoapi_member_order = 'bysource' -autoapi_python_use_implicit_namespaces = True -autoapi_python_class_content = 'both' -autoapi_file_patterns = ['*.py'] -autoapi_generate_api_docs = True -autoapi_add_toctree_entry = False -# source_suffix = '.rst' -autodoc_typehints = 'description' - - -######## NBSPHINX -nbsphinx_execute = 'never' -nbsphinx_allow_errors = True -nbsphinx_codecell_lexer = 'python3' -nbsphinx_execute_arguments = [ - "--InlineBackend.figure_formats={'svg', 'pdf'}", - "--InlineBackend.rc={'figure.dpi': 96}", -] - - - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# -- Project information ----------------------------------------------------- - -project = 'DASF' -copyright = '2022--2023, UNICAMP' -author = 'Julio Faracco ' - -# The full version, including alpha/beta/rc tags -version = "1.0b5" -release = "1.0b5" - -source_suffix = ['.rst'] -master_doc = 'index' - - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This pattern also affects html_static_path and html_extra_path. -exclude_patterns = [ - '**.ipynb_checkpoints', - "**ipynb_checkpoints" -] - - -# -- Options for HTML output ------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -# -html_theme = 'sphinx_rtd_theme' - -htmlhelp_basename = 'librepdoc' - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -# html_static_path = ['_static'] - -source_encoding = 'utf-8' - -htmlhelp_basename = 'librepdoc' diff --git a/docs/source/index.rst b/docs/source/index.rst deleted file mode 100644 index db20367..0000000 --- a/docs/source/index.rst +++ /dev/null @@ -1,32 +0,0 @@ -===================================================== -Welcome to DASF Documentation! -===================================================== - - -DASF is an Accelerated and Scalable Framework ------------------------------------------------ - -DASF is a generic framework specialized in acceleration and scaling common -techniques for Machine Learning. DASF uses most methods and function from the -most common libraries to increase the speed up of most algorithms. Part of this -is to use Dask data to scale computation and RAPIDS AI algorithms to extend the -support to GPUs as well. - -Contents ---------------- - -.. toctree:: - :maxdepth: 2 - - principles - installation - overview - tutorials - api - -Indices and tables -+++++++++++++++++++ - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/source/installation.rst b/docs/source/installation.rst deleted file mode 100644 index 40219c9..0000000 --- a/docs/source/installation.rst +++ /dev/null @@ -1,62 +0,0 @@ -.. _installation: - -========================== -Installation Guide -========================== - -The installation can be done using `conda` or `docker`. - -Using Docker --------------- - -To install DASF using docker, you must in the go to the `build/` directory and -execute the command below directory according to your build type: `cpu` or -`gpu`. - -.. code-block:: bash - - ./build_docker.sh - - -The `dasf` image will be created and be ready to use. Once it is ready, you -can start a jupyter instance by executing the command: - -.. code-block:: bash - - ./start_jupyter_server.sh - - -Using Conda -------------- - -If you just want to create a base Conda environment for DASF, you need to -create it, using the respective YAML file based on architecture: for CPUs -or GPUs. The environment name is always `dasf`. - - -.. code-block:: bash - - conda env create -f build/conda/{cpu,gpu}/environment.yml - - -Development version --------------------- - -To install this development version, all you need to do is run `pip` from the -root project directory (the same where `pyproject.toml` lives). - -.. code-block:: bash - - python -m pip install -e . - -Testing --------- - -If you have a working environment with DASF installed, you can execute the all -the test set. Make sure you have all development packages installed such as -**pytest**, **parameterized** and **mock**. To run, you need to execute -`pytest` from the `tests/` directory. - -.. code-block:: bash - - pytest tests/ diff --git a/docs/source/overview.rst b/docs/source/overview.rst deleted file mode 100644 index a902390..0000000 --- a/docs/source/overview.rst +++ /dev/null @@ -1,31 +0,0 @@ -.. _overview: - -========================== -Overview -========================== - -DASF offers a wide range of Machine learning algorithms. Below, a table of -implemented algorithms and the respective infra-structure. - -Implemented Machine Learning Algorithms ------------------------------------------ - -The table below is a list of supported machine learning algorithms by DASF framework. - -+--------------------------+---------+---------+---------------+---------------+ -| **ML Algorithm** | **CPU** | **GPU** | **Multi-CPU** | **Multi-GPU** | -+==========================+=========+=========+===============+===============+ -| K-Means | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| SOM | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| Agglomerative Clustering | ✓ | ✓ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| DBSCAN | ✓ | ✓ | ✗ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ -| HDBSCAN | ✓ | ✓ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| Gaussian Mixture Models | ✓ | ✗ | ✗ | ✗ | -+--------------------------+---------+---------+---------------+---------------+ -| PCA | ✓ | ✓ | ✓ | ✓ | -+--------------------------+---------+---------+---------------+---------------+ diff --git a/docs/source/principles.rst b/docs/source/principles.rst deleted file mode 100644 index 1eaa755..0000000 --- a/docs/source/principles.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. _principles: - -========================== -Principles -========================== - -The growth in the use of machine learning techniques has led to the emergence of a significant number of frameworks, libraries and tools in recent times. Depending on the technique used or the purpose of the project, there will possibly be a way to develop something using what already exists. With the further growth of deep learning techniques, more of these facilities become available. - -One of the problems with these deep learning techniques is the use of data in batch format. So a large piece of data is subdivided into smaller pieces and iterated during epoch training. Today, there are no tools that process data distributedly on demand in full machine learning pipelines. There are also no tools that still use the maximum computational power using GPUs, for example. - -Taking advantage of this niche space to be explored, the DASF was created whose recursive acronym is DASF is an Accelerated and Scalable Framework. The project seeks to fill this gap in creating machine learning pipelines using large volumes of data without dividing them into batches. - -So that this was also possible, a series of libraries were gathered that could compose the framework, composing most of the functionalities proposed by it. Such tools will be specified in the next sections. - -DASF as a Simple API ----------------------- - -DASF tries to enable a simple API for the user to use. The idea is to make the user's life easier when using the framework. We believe that the user should not have to worry about the details of the framework, but rather focus on the problem to be solved. The framework should be transparent to the user. - -In order to simplify the learning-curve some concepts were created to facilitate the use of the framework. The main ones are: - -* **Standard API**: We try to follow the same API as scikit-learn, so that the user does not have to learn a new API to use the framework. This is a very popular API and is widely used in the community. So, operations in DASF usually implement the same methods as scikit-learn, such as fit, predict, transform, etc. -* **Extensibility to new devices**: DASF allows simple extensibility to be used in new devices (e.g., GPU) by implementing a simple interface. This allows the user to use the framework in different devices without having to worry about the details of the implementation. -* **Extensibility to scale**: For multi-node scalability we use the DASK construct graphs under the hood. This allows the user to use the framework in a distributed way without having to worry about the details of the implementation. \ No newline at end of file diff --git a/docs/source/tutorials b/docs/source/tutorials deleted file mode 120000 index 2c914a3..0000000 --- a/docs/source/tutorials +++ /dev/null @@ -1 +0,0 @@ -../../examples/tutorials/ \ No newline at end of file diff --git a/docs/source/tutorials.rst b/docs/source/tutorials.rst deleted file mode 100644 index f354361..0000000 --- a/docs/source/tutorials.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. _tutorials: - -========================== -Tutorials -========================== - -Tutorials using DASF. - -.. toctree:: - :maxdepth: 2 - - tutorials/Tutorial_1.ipynb - tutorials/Tutorial_2.ipynb - tutorials/Tutorial_3.ipynb - tutorials/Tutorial_4.ipynb diff --git a/docs/tutorials.html b/docs/tutorials.html deleted file mode 100644 index 713cc4c..0000000 --- a/docs/tutorials.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - - - - Tutorials — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
- - -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/tutorials/Tutorial_1.html b/docs/tutorials/Tutorial_1.html deleted file mode 100644 index 9d8bf06..0000000 --- a/docs/tutorials/Tutorial_1.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - - - Tutorial 1 - A Quick Demo — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Tutorial 1 - A Quick Demo

-

In this first tutorial, we want to present some basics of DASF framework and how you can use it to manage your machine learning algorithms in a multi architecture environemnt like single machines, clusteres and GPUs.

-

If you are familiar with all the scikit-learn API, DASF has the same methodology of function notations. The only difference of DASF is that this framework is directly associated with the host environment. If you are using a clustered environment with Dask for example, you will use the optimized functions for that environment type. If you are running your code in a single GPU host environment, your code will have the -specific optimizations for that type and so on so forth.

-

Let’s try our first example with some basic clustering algorithm. First, create a simple dataset using make_blobs function.

-
-
[1]:
-
-
-
from dasf.datasets import make_blobs
-
-n_samples = 500000
-n_bins = 3
-
-# Generate 3 blobs with 2 classes where the second blob contains
-# half positive samples and half negative samples. Probability in this
-# blob is therefore 0.5.
-centers = [(-6, -6), (0, 0), (9, 1)]
-X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)
-
-
-
-

Notice that we are using the same code available in scikit-learn tutorials and demos.

-

To have a better view of the data distribution, we can plot the generated dataset.

-
-
[2]:
-
-
-
# Only to generate colors
-import numpy as np
-
-from dasf.utils.types import is_gpu_array
-
-from matplotlib import cm
-import matplotlib.pyplot as plt
-
-# Check the data just to plot
-if is_gpu_array(X):
-    X_cpu = X.get()
-else:
-    X_cpu = X
-
-colors = cm.rainbow(np.linspace(0.0, 1.0, 1))
-
-plt.figure()
-plt.scatter(
-    X_cpu[:, 0],
-    X_cpu[:, 1],
-    s=50,
-    c=colors[np.newaxis, :],
-    alpha=0.5,
-    edgecolor="k",
-)
-plt.title("Dataset")
-
-plt.show()
-
-
-
-
-
-
-
-../_images/tutorials_Tutorial_1_3_0.png -
-
-

Once, we have the big picture of how our dataset is distributed, let’s run two clustering algorithms to understand how it can be classified.

-

For this tutorial, we decided to use KMeans and SOM (Kohonen’s Self-Organized Map) as an example.

-
-
[3]:
-
-
-
from dasf.ml.cluster import KMeans
-from dasf.ml.cluster import SOM
-
-kmeans = KMeans(n_clusters=3, max_iter=100)
-som = SOM(x=1, y=3, input_len=2, num_epochs=100)
-
-
-
-

As we know our dataset defines 3 centers with 2 classes, we set KMeans n_clusters parameter with the same number of classes of our dataset. On the other hand, SOM is based on an activation map and it does not necessary needs a 1-D map with 3 activation points, but we want to use here to help the classification algorithm also. See that as we also know that our dataset contains two classes, the parameter input_len of SOM needs to be set as 2 (same number of classes).

-

Now, it is time to fit_predict both classifiers. Let’s analyze KMeans first.

-
-
[4]:
-
-
-
%time result_kmeans = kmeans.fit_predict(X)
-
-
-
-
-
-
-
-
-CPU times: user 315 ms, sys: 7.29 ms, total: 322 ms
-Wall time: 326 ms
-
-
-

KMeans is a fast algorithm compared to SOM. For further reference, let’s see the speed of the SOM algorithm.

-
-
[5]:
-
-
-
%time result_som = som.fit_predict(X)
-
-
-
-
-
-
-
-
-CPU times: user 4min, sys: 210 ms, total: 4min
-Wall time: 4min 1s
-
-
-

Now, let’s see the performance of each prediction. The first one is KMeans results.

-
-
[8]:
-
-
-
from itertools import cycle
-
-def plot_results(X, result):
-    y_unique = np.unique(result)
-
-    colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))
-
-    for this_y, color in zip(y_unique, colors):
-        if is_gpu_array(X):
-            this_X = X[result == this_y].get()
-        else:
-            this_X = X[result == this_y]
-
-        plt.scatter(
-            this_X[:, 0],
-            this_X[:, 1],
-            s=50,
-            c=color[np.newaxis, :],
-            alpha=0.5,
-            edgecolor="k",
-            label="Class %s" % this_y,
-        )
-
-plot_results(X, result_kmeans)
-
-
-
-
-
-
-
-../_images/tutorials_Tutorial_1_11_0.png -
-
-

Now, let’s see how SOM results look like.

-
-
[9]:
-
-
-
plot_results(X, result_som)
-
-
-
-
-
-
-
-../_images/tutorials_Tutorial_1_13_0.png -
-
-

As we can see, the results do not seem similar but they are accurated.

-

The idea behind this tutorial is not to exaplain how both algorithms work, but how can you use DASF framework the same way you use the most famous Machine Learning libraries.

-

If you are curious, try to run the same code using a machine with GPU. Compare the results and see if the behaviour is the same!

-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/tutorials/Tutorial_2.html b/docs/tutorials/Tutorial_2.html deleted file mode 100644 index 5d7b9d0..0000000 --- a/docs/tutorials/Tutorial_2.html +++ /dev/null @@ -1,244 +0,0 @@ - - - - - - - Tutorial 2 - How to extend DASF Datasets — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Tutorial 2 - How to extend DASF Datasets

-

In this tutorial, we will teach you how you can extend DASF datasets to be loaded dynamically to all architetcure.

-

For this specific scenario we will use DASF Array Dataset class to show you how you can create a dataset like this using a simple NPY file.

-

To start, the first step is create and save a simple NPY file to be loaded by the dataset.

-
-
[1]:
-
-
-
### Serialize a simple array
-import numpy as np
-
-data = np.random.random((20, 20, 20))
-
-np.save("data.npy", data)
-
-
-
-

Once we have the file saved, we can create our own array dataset.

-
-
[2]:
-
-
-
from dasf.datasets import DatasetArray
-
-dataset = DatasetArray(name="My Saved NPY", root="data.npy")
-
-
-
-

From this moment, our dataset is not loaded yet. To load the data from NPY file, we need to run the function load. This object has the same dynamic generator from the previous tutorial. Here we are using a ipykernel with a GPU, then we are expecting the dataset to lad a CuPy Array. Let’s see if this is true.

-
-
[3]:
-
-
-
dataset.load()
-
-
-
-

Once it is loaded, we can slice the dataset and see what is the type of each slice.

-
-
[4]:
-
-
-
type(dataset[:2, :2, :2])
-
-
-
-
-
[4]:
-
-
-
-
-cupy._core.core.ndarray
-
-
-

What should I do if I’m using a GPU but I want to load a Numpy array?

-

All the datasets have a protected load wrapper for each platform. The code discovers which platform you are in and bind the method to its respective protected mathod.

-

In other words, if you are using load in a GPU environment as we are doing here, in fact you are executing the protected method called _load_gpu.

-

Then to load Numpy arrays, all you need to do is call directly _load_cpu.

-
-
[5]:
-
-
-
dataset._load_cpu()
-
-type(dataset[:2, :2, :2])
-
-
-
-
-
[5]:
-
-
-
-
-numpy.ndarray
-
-
-

If you need to handle a Dask array in a multi clustered environment, you can use the protected lazy methods called _lazy_*.

-

For datasets, the respective methods for load are _lazy_load_cpu and _lazy_load_gpu. Both returns a Dask Array but with different metadata.

-

Let’s see how it looks like.

-
-
[6]:
-
-
-
dataset._lazy_load_cpu()
-
-type(dataset[:2, :2, :2])
-
-
-
-
-
[6]:
-
-
-
-
-dask.array.core.Array
-
-
-

See how the internal array of this Dask dataset looks.

-
-
[7]:
-
-
-
type(dataset[:2, :2, :2]._meta)
-
-
-
-
-
[7]:
-
-
-
-
-numpy.ndarray
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/tutorials/Tutorial_3.html b/docs/tutorials/Tutorial_3.html deleted file mode 100644 index f32e302..0000000 --- a/docs/tutorials/Tutorial_3.html +++ /dev/null @@ -1,272 +0,0 @@ - - - - - - - Tutorial 3 - How Create Your Own Trasform — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Tutorial 3 - How Create Your Own Trasform

-

In this tutorial, we will show you how DASF organize the structure APIs to generate code for targeted to each architecture.

-

We will also show you how you can create your own object to and generate code dynamically to each platform.

-

For this, let’s use the same code we had used in Tutorial 2. Check how you can create data.npy before continue.

-

Then, we need to define our dataset.

-
-
[1]:
-
-
-
from dasf.datasets import DatasetArray
-
-dataset = DatasetArray(name="My Saved NPY", root="data.npy")
-
-
-
-

Here, we want to create a transform to multiple the data by the same data.

-

First, let’s inpect how the data looks like. We are using a GPU, so it will require to fetch data from GPU to CPU. If you are using a CPU, you just need to print the data.

-
-
[2]:
-
-
-
dataset.load()
-
-dataset[:2, :2, 0].get()
-
-
-
-
-
[2]:
-
-
-
-
-array([[0.22139306, 0.18095083],
-       [0.78598473, 0.28964964]])
-
-
-

Now, let’s create our own transform called Multiply. To generate the code targeted to the running platform, we need to import and set the respective decorator. So, the code will generate the function transform for us dynamically. To clarigy even more, we can include some a print call in each function.

-
-
[3]:
-
-
-
from dasf.transforms import Transform
-
-
-class Multiply(Transform):
-    def _lazy_transform_cpu(self, X):
-        print("Lazy CPU")
-        return X * X
-
-    def _lazy_transform_gpu(self, X):
-        print("Lazy GPU")
-        return X * X
-
-    def _transform_cpu(self, X):
-        print("CPU")
-        return X * X
-
-    def _transform_gpu(self, X):
-        print("GPU")
-        return X * X
-
-multiply = Multiply()
-
-
-
-

Now, we can transform our dataset and see what happens.

-
-
[4]:
-
-
-
result = multiply.transform(dataset)
-
-
-
-
-
-
-
-
-GPU
-
-
-

See it triggered the GPU local function. Now, let’s see and compare what is the content of result variable.

-
-
[5]:
-
-
-
result[:2, :2, 0].get()
-
-
-
-
-
[5]:
-
-
-
-
-array([[0.04901489, 0.0327432 ],
-       [0.61777199, 0.08389691]])
-
-
-

See that the result is exactly the dataset multiplied by itself. The values confirm that. Now, what happens if I would like to run CPU code instead of GPU? If I want that, I need to call directly each protected method directly.

-
-
[6]:
-
-
-
dataset._load_cpu()
-
-result = multiply._transform_cpu(dataset)
-
-result[:2, :2, 0]
-
-
-
-
-
-
-
-
-CPU
-
-
-
-
[6]:
-
-
-
-
-array([[0.04901489, 0.0327432 ],
-       [0.61777199, 0.08389691]])
-
-
-

See now that the code triggered the CPU function obviously.

-

Actually, if you pay attention, the implementation of each function are equal. Then, this class can be reduced to:

-
-
[7]:
-
-
-
class Multiply2(Transform):
-    def transform(self, X):
-        return X * X
-
-
-
-

Without decorator and all the other functions. The reason why we have all the diferentiations is that we know we will have different data manipulation for most cases.

-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/docs/tutorials/Tutorial_4.html b/docs/tutorials/Tutorial_4.html deleted file mode 100644 index d652292..0000000 --- a/docs/tutorials/Tutorial_4.html +++ /dev/null @@ -1,378 +0,0 @@ - - - - - - - Tutorial 4 - How Create an Agnostic Pipeline — DASF 1.0b5 documentation - - - - - - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
- -
-
-
-
- -
-

Tutorial 4 - How Create an Agnostic Pipeline

-

In this tutorial, we will show you how convert a simple code structure into a advanced and agnostic pipeline based on DAGs.

-

For this, we still can use the Tutorial 1 with a simple Machine Learning script. There we use make_blobs to generate a dataset and them we cluster it using two algorithms: KMeans and SOM.

-

First, let’s generate and save our data (you can use DASF or Scikit-learn). The objective here is just to generate some labeled data and use the DatasetLabeled as an example.

-
-
[1]:
-
-
-
import numpy as np
-
-from dasf.datasets import make_blobs
-
-n_samples = 100000
-n_bins = 3
-
-# Generate 3 blobs with 2 classes where the second blob contains
-# half positive samples and half negative samples. Probability in this
-# blob is therefore 0.5.
-centers = [(-6, -6), (0, 0), (9, 1)]
-X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)
-
-np.save("X.npy", X)
-np.save("y.npy", y)
-
-
-
-

Now, let’s import our DatasetLabeled and assign each file to the respective type.

-
-
[2]:
-
-
-
from dasf.datasets import DatasetArray
-from dasf.datasets import DatasetLabeled
-
-
-class MyMakeBlobs(DatasetLabeled):
-    def __init__(self):
-        super().__init__(name="My Own make_blobs()", download=False)
-
-        # Let's assign the train and val data.
-        self._train = DatasetArray(name="X", download=False, root="X.npy", chunks=(5000, 2))
-        self._val = DatasetArray(name="y", download=False, root="y.npy", chunks=(5000))
-
-make_blobs = MyMakeBlobs()
-
-
-
-

To reduce the variability and as an example, we can normalize the data to help the algorithms to fit better.

-
-
[3]:
-
-
-
from dasf.transforms import Normalize
-
-normalize = Normalize()
-
-
-
-

After, creating our dataset and the normalization transformation, we can start the executor. For this example, we can use Dask.

-
-
[4]:
-
-
-
from dasf.pipeline.executors import DaskPipelineExecutor
-
-dask = DaskPipelineExecutor(local=True, use_gpu=False)
-
-
-
-

Now, it is time to create our pipeline objects. We can copy and paste the same code used previously.

-
-
[5]:
-
-
-
from dasf.ml.cluster import KMeans
-from dasf.ml.cluster import SOM
-
-kmeans = KMeans(n_clusters=3, max_iter=100)
-som = SOM(x=1, y=3, input_len=2, num_epochs=100)
-
-
-
-
-
-
-
-
-WARNING: CuPy could not be imported
-WARNING: CuPy could not be imported
-WARNING: CuPy could not be imported
-
-
-

As we want to reuse the data after the pipeline execution, we need to persist the data.

-
-
[6]:
-
-
-
from dasf.transforms import PersistDaskData
-
-persist_kmeans = PersistDaskData()
-persist_som = PersistDaskData()
-
-
-
-

Then, we generate the pipeline and connect all the pieces in one single DAG.

-

Pay attention that we are passing the our fresh executor dask to the pipeline by specifying the parameter executor=.

-

To connect all the objects, we use the function add() that returns the pipeline itself. The function inputs can be refered as an argument.

-

At the end, we can visualize the DAG using visualize() method. It will plot a image that represents the graph. Let’s use one single line to do everything. It should be simple and easy to understand.

-
-
[7]:
-
-
-
from dasf.pipeline import Pipeline
-
-pipeline = Pipeline("A KMeans and SOM Pipeline", executor=dask)
-
-pipeline.add(normalize, X=make_blobs._train) \
-        .add(kmeans.fit_predict, X=normalize) \
-        .add(som.fit_predict, X=normalize) \
-        .add(persist_kmeans, X=kmeans.fit_predict) \
-        .add(persist_som, X=som.fit_predict) \
-        .visualize()
-
-
-
-
-
[7]:
-
-
-
-../_images/tutorials_Tutorial_4_13_0.svg
-
-

It is time to run our new pipeline.

-
-
[8]:
-
-
-
%time pipeline.run()
-
-
-
-
-
-
-
-
-[2022-11-25 04:36:49+0000] INFO - Beginning pipeline run for 'A KMeans and SOM Pipeline'
-[2022-11-25 04:36:49+0000] INFO - Task 'DatasetArray.load': Starting task run...
-[2022-11-25 04:36:50+0000] INFO - Task 'DatasetArray.load': Finished task run
-[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Starting task run...
-[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Finished task run
-[2022-11-25 04:36:50+0000] INFO - Task 'KMeans.fit_predict': Starting task run...
-
-
-
-
-
-
-
-/usr/local/lib/python3.8/dist-packages/dask/base.py:1367: UserWarning: Running on a single-machine scheduler when a distributed client is active might lead to unexpected results.
-  warnings.warn(
-
-
-
-
-
-
-
-[2022-11-25 04:37:00+0000] INFO - Task 'KMeans.fit_predict': Finished task run
-[2022-11-25 04:37:00+0000] INFO - Task 'SOM.fit_predict': Starting task run...
-[2022-11-25 04:37:22+0000] INFO - Task 'SOM.fit_predict': Finished task run
-[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...
-[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Finished task run
-[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...
-[2022-11-25 04:37:23+0000] INFO - Task 'PersistDaskData.transform': Finished task run
-[2022-11-25 04:37:23+0000] INFO - Pipeline run successfully
-CPU times: user 23.2 s, sys: 1.71 s, total: 24.9 s
-Wall time: 33.2 s
-
-
-

Notice that our pipeline returns two methods instead of one. To capture the result of some node, you can easily pass the same function or object to the pipeline function get_result_from().

-
-
[9]:
-
-
-
result_kmeans = pipeline.get_result_from(persist_kmeans).compute()
-result_som = pipeline.get_result_from(persist_som).compute()
-
-
-
-
-
[10]:
-
-
-
import numpy as np
-
-from itertools import cycle
-
-from matplotlib import cm
-import matplotlib.pyplot as plt
-
-def plot_results(X, result):
-    y_unique = np.unique(result)
-
-    colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))
-
-    for this_y, color in zip(y_unique, colors):
-        this_X = X[result == this_y]
-        plt.scatter(
-            this_X[:, 0],
-            this_X[:, 1],
-            s=50,
-            c=color[np.newaxis, :],
-            alpha=0.5,
-            edgecolor="k",
-            label="Class %s" % this_y,
-        )
-
-plot_results(make_blobs._train, result_kmeans)
-
-
-
-
-
-
-
-../_images/tutorials_Tutorial_4_18_0.png -
-
-
-
[11]:
-
-
-
plot_results(make_blobs._train, result_som)
-
-
-
-
-
-
-
-../_images/tutorials_Tutorial_4_19_0.png -
-
-
-
[ ]:
-
-
-

-
-
-
-
- - -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/examples/tutorials/Tutorial_1.ipynb b/examples/tutorials/Tutorial_1.ipynb deleted file mode 100644 index de77cbd..0000000 --- a/examples/tutorials/Tutorial_1.ipynb +++ /dev/null @@ -1,289 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "981cafbc-1031-4827-b9a5-77ae10b4fa92", - "metadata": {}, - "source": [ - "### Tutorial 1 - A Quick Demo\n", - "\n", - "In this first tutorial, we want to present some basics of DASF framework and how you can use it to manage your machine learning algorithms in a multi architecture environemnt like single machines, clusteres and GPUs.\n", - "\n", - "If you are familiar with all the [scikit-learn](https://scikit-learn.org/stable/index.html) API, DASF has the same methodology of function notations. The only difference of DASF is that this framework is directly associated with the host environment. If you are using a clustered environment with [Dask](https://www.dask.org/) for example, you will use the optimized functions for that environment type. If you are running your code in a single GPU host environment, your code will have the specific optimizations for that type and so on so forth.\n", - "\n", - "Let's try our first example with some basic clustering algorithm. First, create a simple dataset using `make_blobs` function." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "9a10b3d6-4d4a-498a-a03e-036679fea3fe", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import make_blobs\n", - "\n", - "n_samples = 500000\n", - "n_bins = 3\n", - "\n", - "# Generate 3 blobs with 2 classes where the second blob contains\n", - "# half positive samples and half negative samples. Probability in this\n", - "# blob is therefore 0.5.\n", - "centers = [(-6, -6), (0, 0), (9, 1)]\n", - "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)" - ] - }, - { - "cell_type": "markdown", - "id": "d5d5931b-08a2-402c-acc1-6378b63e1308", - "metadata": {}, - "source": [ - "Notice that we are using the same code available in scikit-learn tutorials and demos.\n", - "\n", - "To have a better view of the data distribution, we can plot the generated dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "6d8b9470-6079-4b4c-8ad0-639719057ca0", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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vn07Cxcu1LGy1BUKhTh27BgzZszQu5SUU1hYiMvlYvv27RQVFQEX+nXt3LmT9evX61xd/5aSYeVyeL1empub8Xq9RKNRjhw5AsCIESPIysqivLyccePGsWzZMjZs2EBzczOrV6/m3nvvxWaz6Vt8P7R371727dvH7NmzsdvtHDx4kJUrV7JgwQLy8/P1Lq9fWrVqFcuWLaOkpITS0lJeffVVvF4v9913n96lpYTVq1czf/588vPzaWpq4sknn8Tv97N8+XK9S+uXAoEAJ06ciD8/efIkR44cIScnh/z8fB566CGeeuopRo4cyciRI3nqqafIyMhg6dKlOladAnQejZT0li9froAujx07dsSXqa2tVfPmzVPp6ekqJydHrVixQnV0dOhXdD9WVVWlpk2bpux2u7JarWr06NGqoqJCBYNBvUvr115++WU1bNgwZTab1ZQpU9TOnTv1Lill3HnnnWrw4MHKZDIpt9utFi9erKqrq/Uuq9/asWNHt3/zly9frpS6MHy5oqJCuVwuZbFY1I033qiOHj2qb9EpwKCUUnoFJSGEEEKIH5OSo4GEEEII0XdIWBFCCCFEUpOwIoQQQoikJmFFCCGEEElNwooQQgghkpqEFSGEEEIkNQkrQgghhEhqElaEEEIIkdQkrAghhBAiqUlYEUIIIURSk7AihBBCiKT2v8F99NlEdpGMAAAAAElFTkSuQmCC\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Only to generate colors\n", - "import numpy as np\n", - "\n", - "from dasf.utils.types import is_gpu_array\n", - "\n", - "from matplotlib import cm\n", - "import matplotlib.pyplot as plt\n", - "\n", - "# Check the data just to plot\n", - "if is_gpu_array(X):\n", - " X_cpu = X.get()\n", - "else:\n", - " X_cpu = X\n", - "\n", - "colors = cm.rainbow(np.linspace(0.0, 1.0, 1))\n", - "\n", - "plt.figure()\n", - "plt.scatter(\n", - " X_cpu[:, 0],\n", - " X_cpu[:, 1],\n", - " s=50,\n", - " c=colors[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - ")\n", - "plt.title(\"Dataset\")\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "id": "6fc4ccc3-e5e3-426d-a145-87ebdf80782b", - "metadata": {}, - "source": [ - "Once, we have the big picture of how our dataset is distributed, let's run two clustering algorithms to understand how it can be classified.\n", - "\n", - "For this tutorial, we decided to use KMeans and SOM (Kohonen's Self-Organized Map) as an example." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "f41ed448-e3a8-47b1-8f2a-c92c6013892e", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.ml.cluster import KMeans\n", - "from dasf.ml.cluster import SOM\n", - "\n", - "kmeans = KMeans(n_clusters=3, max_iter=100)\n", - "som = SOM(x=1, y=3, input_len=2, num_epochs=100)" - ] - }, - { - "cell_type": "markdown", - "id": "9afda5c9-f59a-4974-b603-1e51ac69323c", - "metadata": {}, - "source": [ - "As we know our dataset defines 3 centers with 2 classes, we set KMeans `n_clusters` parameter with the same number of classes of our dataset. On the other hand, SOM is based on an activation map and it does not necessary needs a 1-D map with 3 activation points, but we want to use here to help the classification algorithm also. See that as we also know that our dataset contains two classes, the parameter `input_len` of SOM needs to be set as **2** (same number of classes).\n", - "\n", - "Now, it is time to `fit_predict` both classifiers. Let's analyze KMeans first." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "579b0eab-8096-4f00-a993-626f2c5bafc9", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 315 ms, sys: 7.29 ms, total: 322 ms\n", - "Wall time: 326 ms\n" - ] - } - ], - "source": [ - "%time result_kmeans = kmeans.fit_predict(X)" - ] - }, - { - "cell_type": "markdown", - "id": "c2f9beae-6356-4565-bc81-23fe7586851f", - "metadata": {}, - "source": [ - "KMeans is a fast algorithm compared to SOM. For further reference, let's see the speed of the SOM algorithm." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3afbb17c-4ac0-435e-a8a4-b9bc4934e697", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU times: user 4min, sys: 210 ms, total: 4min\n", - "Wall time: 4min 1s\n" - ] - } - ], - "source": [ - "%time result_som = som.fit_predict(X)" - ] - }, - { - "cell_type": "markdown", - "id": "1ed936d8-6acd-4d04-8f3d-f13ac73f83d7", - "metadata": {}, - "source": [ - "Now, let's see the performance of each prediction. The first one is KMeans results." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "0cc9cff9-b6f6-49d5-9edb-cc38d21113dd", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from itertools import cycle\n", - "\n", - "def plot_results(X, result):\n", - " y_unique = np.unique(result)\n", - " \n", - " colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))\n", - " \n", - " for this_y, color in zip(y_unique, colors):\n", - " if is_gpu_array(X):\n", - " this_X = X[result == this_y].get()\n", - " else:\n", - " this_X = X[result == this_y]\n", - "\n", - " plt.scatter(\n", - " this_X[:, 0],\n", - " this_X[:, 1],\n", - " s=50,\n", - " c=color[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - " label=\"Class %s\" % this_y,\n", - " )\n", - "\n", - "plot_results(X, result_kmeans)" - ] - }, - { - "cell_type": "markdown", - "id": "6ba5eac4-86b8-493c-830c-aeb0c8cb99f4", - "metadata": {}, - "source": [ - "Now, let's see how SOM results look like." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "214a124b-4c23-40ae-8e0b-0ae7e2d4b8b9", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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k1azWnTZa8qZ9SqiFpul1KjxnII1HXbKWbLshlVzpp0356qUGsumNOrR5YCTftdmD2jS54h/64JvrvvCjHjdtAt63GLVnISEaZcsGpWQstX7tdkaid4b6nVq1Ctho7QaKWnH/JZVc0grKjooAMplIanxivBLvU0gKk/HPz3ZrIPZrN/6jd+wa2zMR2699XvmSf1x9vqZTMbuQ4cc/fzn3bNx4x/5fE9jo972di9dv+7dXM4tpZK+hgZHSyWvpdMuFYs2l0puF4D8NQGgfkwA1XeEX/RHBZC7ITjALgrg+JoAVvcI4Fav2u+nWwDCLwlAXFGYNsa96IjzFuP5dsd/rwhgfk/cr1fwNwXl4ooQjnhEKM+dF8jQUVWzvZX474oZ3axABnYICkMFiCulwmcEktSu6ux6T1znuECOPiioNdfj+zXx2jcKykyfoO70x73ZEfdiWrW79kJce19cT138/IRABOaF6qU1gajcJShSGwQi96CgsDwlEI+kkDOTjO89JBCaj+CfC6G2StjtYwI5ScRzH1XNX7kmKD518Vq3x/WufMe+PhLP0xevfTbO1xKva7hclkwm1dfWWpmddXpqytVk0moi4Xwq9QMPBd0kKzfHD904dOheR1/4jDcuPOnu7d+dZJtMJl1eOmKxdsjeTT8rncrYsmGnN8+95T217zWdv6oQcyT63YuEo37VBndos0VZ0aIxa+Zd9m3N+m3xkG771Gg06YxV0075om771GqS0SgprawkKWWDg474VaVovz/oIVnNVswqKyrIO+pXJKUMesg+PxHN2lY06tVptyY9LnjKaV+St6zXbVoNutvf8rZfd8XzlkxISMQeQe8oWlOnw6whq9H5Na1W3rKLnnLdUQWrsbJp0rxRaTWyWsy4okaTZhuVlcy6LC2rUa822yy4bs28Gg2GHTblnEZ9Ou2y4LpGfXrcokZDTKTdatRb66GytJKcRVs8LGfBtIsuedqot4x626pZvc7b4E5tttnvJ404ot0O44455xtuOC8lrUGvrGZbfcCYt7TajFDeXRfLwdNq1o3oNrjLRU+bMySnU1EAqYoSUMn3+JJq9cicAEy7GxpMXL/unbffVujt9YVUyr0DAwb+kFvtf8he/95Dh3zmhRc8eeGCx7Zv/67vbE0yqVgu29bZ6VipJLe0tA4suzdssHNpSc3161YLBS8KoPym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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_results(X, result_som)" - ] - }, - { - "cell_type": "markdown", - "id": "13e71923-abe0-43ee-90c7-5cbef839fd97", - "metadata": {}, - "source": [ - "As we can see, the results do not seem similar but they are accurated.\n", - "\n", - "The idea behind this tutorial is not to exaplain how both algorithms work, but how can you use DASF framework the same way you use the most famous Machine Learning libraries.\n", - "\n", - "If you are curious, try to run the same code using a machine with GPU. Compare the results and see if the behaviour is the same!" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/tutorials/Tutorial_2.ipynb b/examples/tutorials/Tutorial_2.ipynb deleted file mode 100644 index 2e0a1db..0000000 --- a/examples/tutorials/Tutorial_2.ipynb +++ /dev/null @@ -1,225 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "66892f2a-1c92-47d6-a9c1-8cb26940f251", - "metadata": {}, - "source": [ - "### Tutorial 2 - How to extend DASF Datasets\n", - "\n", - "In this tutorial, we will teach you how you can extend DASF datasets to be loaded dynamically to all architetcure.\n", - "\n", - "For this specific scenario we will use DASF Array Dataset class to show you how you can create a dataset like this using a simple NPY file.\n", - "\n", - "To start, the first step is create and save a simple NPY file to be loaded by the dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "c38bd978-012f-4599-a249-b20577e3700f", - "metadata": {}, - "outputs": [], - "source": [ - "### Serialize a simple array\n", - "import numpy as np\n", - "\n", - "data = np.random.random((20, 20, 20))\n", - "\n", - "np.save(\"data.npy\", data)" - ] - }, - { - "cell_type": "markdown", - "id": "ca8b5760-bbca-4613-9958-bbaacd96ced6", - "metadata": {}, - "source": [ - "Once we have the file saved, we can create our own array dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "7774cf93-a8ff-46d6-b378-0a5eff657b69", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "\n", - "dataset = DatasetArray(name=\"My Saved NPY\", root=\"data.npy\")" - ] - }, - { - "cell_type": "markdown", - "id": "a8f92ca2-ecb6-4241-b2be-726146056259", - "metadata": {}, - "source": [ - "From this moment, our dataset is not loaded yet. To load the data from NPY file, we need to run the function `load`. This object has the same dynamic generator from the previous tutorial. Here we are using a ipykernel with a GPU, then we are expecting the dataset to lad a CuPy Array. Let's see if this is true." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "4b055d3f-0d96-4f1e-bcde-20bd825976bf", - "metadata": {}, - "outputs": [], - "source": [ - "dataset.load()" - ] - }, - { - "cell_type": "markdown", - "id": "1bd783da-95e1-42cf-8ab9-da5035641a05", - "metadata": {}, - "source": [ - "Once it is loaded, we can slice the dataset and see what is the type of each slice." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "d25dbe78-7abf-4ef2-a564-ed72a0bc79e8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "cupy._core.core.ndarray" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "d733a245-13f1-45b3-8b69-0d09a496c61d", - "metadata": {}, - "source": [ - "What should I do if I'm using a GPU but I want to load a Numpy array?\n", - "\n", - "All the datasets have a protected load wrapper for each platform. The code discovers which platform you are in and bind the method to its respective protected mathod.\n", - "\n", - "In other words, if you are using `load` in a GPU environment as we are doing here, in fact you are executing the protected method called `_load_gpu`.\n", - "\n", - "Then to load Numpy arrays, all you need to do is call directly `_load_cpu`." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "3ab10622-978a-4e2e-af2c-6cd9c4f6c626", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "numpy.ndarray" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._load_cpu()\n", - "\n", - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "b2a38825-1bd7-42f0-8d65-b09553e273b4", - "metadata": {}, - "source": [ - "If you need to handle a Dask array in a multi clustered environment, you can use the protected lazy methods called `_lazy_*`.\n", - "\n", - "For datasets, the respective methods for `load` are `_lazy_load_cpu` and `_lazy_load_gpu`. Both returns a Dask Array but with different metadata.\n", - "\n", - "Let's see how it looks like." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "e5ec3104-8087-406c-aa86-71961740fcce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "dask.array.core.Array" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._lazy_load_cpu()\n", - "\n", - "type(dataset[:2, :2, :2])" - ] - }, - { - "cell_type": "markdown", - "id": "b6bc2c21-ce64-42a3-a72a-b9f895decdb9", - "metadata": {}, - "source": [ - "See how the internal array of this Dask dataset looks." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "92a556a1-643d-449e-8f5b-b5223972dbb0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "numpy.ndarray" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "type(dataset[:2, :2, :2]._meta)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - }, - "test_requirements": { - "single_gpu": true - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/tutorials/Tutorial_3.ipynb b/examples/tutorials/Tutorial_3.ipynb deleted file mode 100644 index 07860e6..0000000 --- a/examples/tutorials/Tutorial_3.ipynb +++ /dev/null @@ -1,255 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "a9de8fc4-806e-404b-becc-e79954a1ac9c", - "metadata": {}, - "source": [ - "### Tutorial 3 - How Create Your Own Trasform\n", - "\n", - "In this tutorial, we will show you how DASF organize the structure APIs to generate code for targeted to each architecture.\n", - "\n", - "We will also show you how you can create your own object to and generate code dynamically to each platform.\n", - "\n", - "For this, let's use the same code we had used in **Tutorial 2**. Check how you can create `data.npy` before continue.\n", - "\n", - "Then, we need to define our dataset." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "eec84166-3f6c-420b-81e6-71f9c126a440", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "\n", - "dataset = DatasetArray(name=\"My Saved NPY\", root=\"data.npy\")" - ] - }, - { - "cell_type": "markdown", - "id": "92f243e0-64e9-4457-a18c-ea5c21740a6a", - "metadata": {}, - "source": [ - "Here, we want to create a transform to multiple the data by the same data.\n", - "\n", - "First, let's inpect how the data looks like. We are using a GPU, so it will require to fetch data from GPU to CPU. If you are using a CPU, you just need to print the data." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "ef2d45e3-121c-40f1-b8d7-f84735945ee1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.22139306, 0.18095083],\n", - " [0.78598473, 0.28964964]])" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset.load()\n", - "\n", - "dataset[:2, :2, 0].get()" - ] - }, - { - "cell_type": "markdown", - "id": "aa7e4593-a22d-49db-976f-00b8b8d19de5", - "metadata": {}, - "source": [ - "Now, let's create our own transform called **Multiply**. To generate the code targeted to the running platform, we need to import and set the respective decorator. So, the code will generate the function `transform` for us dynamically. To clarigy even more, we can include some a `print` call in each function." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "c53d25f4-3806-46d1-8f94-ac580ee46821", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import Transform\n", - "\n", - "\n", - "class Multiply(Transform):\n", - " def _lazy_transform_cpu(self, X):\n", - " print(\"Lazy CPU\")\n", - " return X * X\n", - " \n", - " def _lazy_transform_gpu(self, X):\n", - " print(\"Lazy GPU\")\n", - " return X * X\n", - " \n", - " def _transform_cpu(self, X):\n", - " print(\"CPU\")\n", - " return X * X\n", - " \n", - " def _transform_gpu(self, X):\n", - " print(\"GPU\")\n", - " return X * X\n", - "\n", - "multiply = Multiply()" - ] - }, - { - "cell_type": "markdown", - "id": "43efcdec-2639-4775-9abc-a92cf6fa7a8f", - "metadata": {}, - "source": [ - "Now, we can transform our dataset and see what happens." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "875e2a54-5506-4226-bf4e-58353408e4e2", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GPU\n" - ] - } - ], - "source": [ - "result = multiply.transform(dataset)" - ] - }, - { - "cell_type": "markdown", - "id": "fbf295d3-9c2b-4b4f-ae7c-60c332b2842d", - "metadata": {}, - "source": [ - "See it triggered the GPU local function. Now, let's see and compare what is the content of `result` variable." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "e1f6c244-51a2-42fd-964a-0a96fc4dc169", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.04901489, 0.0327432 ],\n", - " [0.61777199, 0.08389691]])" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "result[:2, :2, 0].get()" - ] - }, - { - "cell_type": "markdown", - "id": "0f400794-0660-4ee5-b8bb-eed6e6aad03f", - "metadata": {}, - "source": [ - "See that the result is exactly the dataset multiplied by itself. The values confirm that. Now, what happens if I would like to run CPU code instead of GPU? If I want that, I need to call directly each protected method directly." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "962d9a55-3de1-43e2-86a9-d0c489dd2e90", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "CPU\n" - ] - }, - { - "data": { - "text/plain": [ - "array([[0.04901489, 0.0327432 ],\n", - " [0.61777199, 0.08389691]])" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dataset._load_cpu()\n", - "\n", - "result = multiply._transform_cpu(dataset)\n", - "\n", - "result[:2, :2, 0]" - ] - }, - { - "cell_type": "markdown", - "id": "9ab0786f-5268-40b0-8845-01900c350098", - "metadata": {}, - "source": [ - "See now that the code triggered the CPU function obviously.\n", - "\n", - "Actually, if you pay attention, the implementation of each function are equal. Then, this class can be reduced to:" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "7d311947-30bf-4ab2-bf43-8f1fa6dafc0a", - "metadata": {}, - "outputs": [], - "source": [ - "class Multiply2(Transform):\n", - " def transform(self, X):\n", - " return X * X" - ] - }, - { - "cell_type": "markdown", - "id": "bcae55ea-951d-4807-9f0f-569e031fcb23", - "metadata": {}, - "source": [ - "Without decorator and all the other functions. The reason why we have all the diferentiations is that we know we will have different data manipulation for most cases." - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.13" - }, - "test_requirements": { - "single_gpu": true - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/tutorials/Tutorial_4.ipynb b/examples/tutorials/Tutorial_4.ipynb deleted file mode 100644 index 9ef5401..0000000 --- a/examples/tutorials/Tutorial_4.ipynb +++ /dev/null @@ -1,464 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "664bfe29-de10-4c07-b23e-75bdb9a330d3", - "metadata": {}, - "source": [ - "### Tutorial 4 - How Create an Agnostic Pipeline\n", - "\n", - "In this tutorial, we will show you how convert a simple code structure into a advanced and agnostic pipeline based on DAGs.\n", - "\n", - "For this, we still can use the **Tutorial 1** with a simple Machine Learning script. There we use `make_blobs` to generate a dataset and them we cluster it using two algorithms: KMeans and SOM.\n", - "\n", - "First, let's generate and save our data (you can use DASF or Scikit-learn). The objective here is just to generate some labeled data and use the `DatasetLabeled` as an example." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2d3ae542-b03f-49e0-86fc-1cdbf19b5a30", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "from dasf.datasets import make_blobs\n", - "\n", - "n_samples = 100000\n", - "n_bins = 3\n", - "\n", - "# Generate 3 blobs with 2 classes where the second blob contains\n", - "# half positive samples and half negative samples. Probability in this\n", - "# blob is therefore 0.5.\n", - "centers = [(-6, -6), (0, 0), (9, 1)]\n", - "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)\n", - "\n", - "np.save(\"X.npy\", X)\n", - "np.save(\"y.npy\", y)" - ] - }, - { - "cell_type": "markdown", - "id": "d90e6b0b-236d-4cab-951b-e973e780c94f", - "metadata": {}, - "source": [ - "Now, let's import our `DatasetLabeled` and assign each file to the respective type." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "1d5d935f-065e-4bda-af74-38b148924463", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "from dasf.datasets import DatasetLabeled\n", - "\n", - "\n", - "class MyMakeBlobs(DatasetLabeled):\n", - " def __init__(self):\n", - " super().__init__(name=\"My Own make_blobs()\", download=False)\n", - " \n", - " # Let's assign the train and val data.\n", - " self._train = DatasetArray(name=\"X\", download=False, root=\"X.npy\", chunks=(5000, 2))\n", - " self._val = DatasetArray(name=\"y\", download=False, root=\"y.npy\", chunks=(5000))\n", - "\n", - "make_blobs = MyMakeBlobs()" - ] - }, - { - "cell_type": "markdown", - "id": "37bcedef-d5cb-40ee-a691-dcb2d1636083", - "metadata": {}, - "source": [ - "To reduce the variability and as an example, we can normalize the data to help the algorithms to fit better." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "6db9235f-7580-48dd-a9e9-b946a9570a86", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import Normalize\n", - "\n", - "normalize = Normalize()" - ] - }, - { - "cell_type": "markdown", - "id": "eaaed4e1-b799-4448-99ac-922094b18988", - "metadata": {}, - "source": [ - "After, creating our dataset and the normalization transformation, we can start the executor. For this example, we can use Dask." - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "aa39f7b9-ffb1-4c93-9293-ecda4139d8cf", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.pipeline.executors import DaskPipelineExecutor\n", - "\n", - "dask = DaskPipelineExecutor(local=True, use_gpu=False)" - ] - }, - { - "cell_type": "markdown", - "id": "0bd517c3-8de0-46a4-89c4-78314ffe6491", - "metadata": {}, - "source": [ - "Now, it is time to create our pipeline objects. We can copy and paste the same code used previously." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "1d3fc983-f6c8-4a66-9a22-fc1a6b5ccd7e", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "WARNING: CuPy could not be imported\n", - "WARNING: CuPy could not be imported\n", - "WARNING: CuPy could not be imported\n" - ] - } - ], - "source": [ - "from dasf.ml.cluster import KMeans\n", - "from dasf.ml.cluster import SOM\n", - "\n", - "kmeans = KMeans(n_clusters=3, max_iter=100)\n", - "som = SOM(x=1, y=3, input_len=2, num_epochs=100)" - ] - }, - { - "cell_type": "markdown", - "id": "07966b83-22d5-4bb6-8592-1ec54f365417", - "metadata": {}, - "source": [ - "As we want to reuse the data after the pipeline execution, we need to persist the data." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "297c99be-394d-4c5f-8dd6-04baab437b5f", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import PersistDaskData\n", - "\n", - "persist_kmeans = PersistDaskData()\n", - "persist_som = PersistDaskData()" - ] - }, - { - "cell_type": "markdown", - "id": "7b26ce69-d483-4ec3-a570-cfa761299983", - "metadata": {}, - "source": [ - "Then, we generate the pipeline and connect all the pieces in one single DAG.\n", - "\n", - "Pay attention that we are passing the our fresh executor `dask` to the pipeline by specifying the parameter `executor=`.\n", - "\n", - "To connect all the objects, we use the function `add()` that returns the pipeline itself. The function inputs can be refered as an argument.\n", - "\n", - "At the end, we can visualize the DAG using `visualize()` method. It will plot a image that represents the graph. Let's use one single line to do everything. It should be simple and easy to understand." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "bbee98cf-2425-431f-87af-342fcf0c00c2", - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "A KMeans and SOM Pipeline\n", - "\n", - "\n", - "\n", - "180662574\n", - "\n", - "Normalize.transform\n", - "\n", - "\n", - "\n", - "128329762\n", - "\n", - "KMeans.fit_predict\n", - "\n", - "\n", - "\n", - "180662574->128329762\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "128329900\n", - "\n", - "SOM.fit_predict\n", - "\n", - "\n", - "\n", - "180662574->128329900\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "182107497\n", - "\n", - "DatasetArray.load\n", - "\n", - "\n", - "\n", - "182107497->180662574\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "16599060\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "128329762->16599060\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "16599058\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "128329900->16599058\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from dasf.pipeline import Pipeline\n", - "\n", - "pipeline = Pipeline(\"A KMeans and SOM Pipeline\", executor=dask)\n", - "\n", - "pipeline.add(normalize, X=make_blobs._train) \\\n", - " .add(kmeans.fit_predict, X=normalize) \\\n", - " .add(som.fit_predict, X=normalize) \\\n", - " .add(persist_kmeans, X=kmeans.fit_predict) \\\n", - " .add(persist_som, X=som.fit_predict) \\\n", - " .visualize()" - ] - }, - { - "cell_type": "markdown", - "id": "14815700-715b-4e17-92e0-1203b107c7c8", - "metadata": {}, - "source": [ - "It is time to run our new pipeline." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "id": "c2dd0613-ccbf-4543-bd01-ba3dda54fbf7", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2022-11-25 04:36:49+0000] INFO - Beginning pipeline run for 'A KMeans and SOM Pipeline'\n", - "[2022-11-25 04:36:49+0000] INFO - Task 'DatasetArray.load': Starting task run...\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'DatasetArray.load': Finished task run\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Starting task run...\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'Normalize.transform': Finished task run\n", - "[2022-11-25 04:36:50+0000] INFO - Task 'KMeans.fit_predict': Starting task run...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/local/lib/python3.8/dist-packages/dask/base.py:1367: UserWarning: Running on a single-machine scheduler when a distributed client is active might lead to unexpected results.\n", - " warnings.warn(\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2022-11-25 04:37:00+0000] INFO - Task 'KMeans.fit_predict': Finished task run\n", - "[2022-11-25 04:37:00+0000] INFO - Task 'SOM.fit_predict': Starting task run...\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'SOM.fit_predict': Finished task run\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2022-11-25 04:37:22+0000] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2022-11-25 04:37:23+0000] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2022-11-25 04:37:23+0000] INFO - Pipeline run successfully\n", - "CPU times: user 23.2 s, sys: 1.71 s, total: 24.9 s\n", - "Wall time: 33.2 s\n" - ] - } - ], - "source": [ - "%time pipeline.run()" - ] - }, - { - "cell_type": "markdown", - "id": "eeb8f9cb-de3e-4e9e-bf9f-3d89f59e99ba", - "metadata": {}, - "source": [ - "Notice that our pipeline returns two methods instead of one. To capture the result of some node, you can easily pass the same function or object to the pipeline function `get_result_from()`." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "id": "f3412afd-4f97-4219-954a-5d95cf92d629", - "metadata": {}, - "outputs": [], - "source": [ - "result_kmeans = pipeline.get_result_from(persist_kmeans).compute()\n", - "result_som = pipeline.get_result_from(persist_som).compute()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "id": "801faa7c-a1c4-48c9-9c6c-de2c480a74dc", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "\n", - "from itertools import cycle\n", - "\n", - "from matplotlib import cm\n", - "import matplotlib.pyplot as plt\n", - "\n", - "def plot_results(X, result):\n", - " y_unique = np.unique(result)\n", - " \n", - " colors = cm.rainbow(np.linspace(0.0, 1.0, y_unique.size))\n", - " \n", - " for this_y, color in zip(y_unique, colors):\n", - " this_X = X[result == this_y]\n", - " plt.scatter(\n", - " this_X[:, 0],\n", - " this_X[:, 1],\n", - " s=50,\n", - " c=color[np.newaxis, :],\n", - " alpha=0.5,\n", - " edgecolor=\"k\",\n", - " label=\"Class %s\" % this_y,\n", - " )\n", - "\n", - "plot_results(make_blobs._train, result_kmeans)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "id": "e3fe23cb-d5ae-4255-9437-42cddb89d004", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_results(make_blobs._train, result_som)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "c68ca230-d319-4c35-8e4a-0fb3d017c0cd", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.10" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/tutorials/Tutorial_5.ipynb b/examples/tutorials/Tutorial_5.ipynb deleted file mode 100644 index 2474101..0000000 --- a/examples/tutorials/Tutorial_5.ipynb +++ /dev/null @@ -1,1190 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Tutorial 5: Using profiler\n", - "\n", - "This tutorial shows how to use the profiler to measure the performance of your code. We used the same pipeline of the previous tutorial.\n", - "\n", - "The profile is a tool that measures the time spent in each function of your code. It is very useful to identify bottlenecks and to optimize your code. By default it is not enabled and the simplest way to enable the default profiler is to use the `register_default_profiler` function. It will be shown later, in the notebook.\n", - "\n", - "The profile consists in two steps:\n", - "1. Register the profiler and execute the desired pipeline. It will generate different files, which contains traces of the execution, in the current directory. Each file will have different information, depending on the plugins attached. Using the `register_default_profiler` function, two plugins will be attached, one to measure the dask task time (and other useful information, such as, per task data shape, type, MB, etc.) and a resource usage plugin (which measure GPU, CPU, memory and IO usage).\n", - "2. Perform analysis of the generated files. Some analysis are already implemented in the `profiler` module, but you can also implement your own analysis. For now we have the followig analysis: per function time, per task time and per worker task balance. It will be shown later, in the notebook." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Enabling profiling" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "\n", - "from dasf.datasets import make_blobs\n", - "\n", - "n_samples = 100000\n", - "n_bins = 3\n", - "\n", - "# Generate 3 blobs with 2 classes where the second blob contains\n", - "# half positive samples and half negative samples. Probability in this\n", - "# blob is therefore 0.5.\n", - "centers = [(-6, -6), (0, 0), (9, 1)]\n", - "X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, random_state=42)\n", - "\n", - "np.save(\"X.npy\", X)\n", - "np.save(\"y.npy\", y)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.datasets import DatasetArray\n", - "from dasf.datasets import DatasetLabeled\n", - "\n", - "\n", - "class MyMakeBlobs(DatasetLabeled):\n", - " def __init__(self):\n", - " super().__init__(name=\"My Own make_blobs()\", download=False)\n", - " \n", - " # Let's assign the train and val data.\n", - " self._train = DatasetArray(name=\"X\", download=False, root=\"X.npy\", chunks=(5000, 2))\n", - " self._val = DatasetArray(name=\"y\", download=False, root=\"y.npy\", chunks=(5000))\n", - "\n", - "make_blobs = MyMakeBlobs()" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import Normalize\n", - "\n", - "normalize = Normalize()" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-15 11:55:48,568 - distributed.preloading - INFO - Creating preload: dask_cuda.initialize\n", - "2023-08-15 11:55:48,568 - distributed.preloading - INFO - Import preload module: dask_cuda.initialize\n", - "2023-08-15 11:55:48,568 - distributed.preloading - INFO - Creating preload: dask_cuda.initialize\n", - "2023-08-15 11:55:48,568 - distributed.preloading - INFO - Import preload module: dask_cuda.initialize\n", - "2023-08-15 11:55:48,673 - distributed.preloading - INFO - Creating preload: dask_cuda.initialize\n", - "2023-08-15 11:55:48,673 - distributed.preloading - INFO - Import preload module: dask_cuda.initialize\n", - "2023-08-15 11:55:48,752 - distributed.preloading - INFO - Creating preload: dask_cuda.initialize\n", - "2023-08-15 11:55:48,752 - distributed.preloading - INFO - Import preload module: dask_cuda.initialize\n" - ] - } - ], - "source": [ - "from dasf.pipeline.executors import DaskPipelineExecutor\n", - "\n", - "dask = DaskPipelineExecutor(local=True, use_gpu=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.ml.cluster import KMeans\n", - "from dasf.ml.cluster import SOM\n", - "\n", - "kmeans = KMeans(n_clusters=3, max_iter=100)\n", - "som = SOM(x=1, y=3, input_len=2, num_epochs=100)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.transforms import PersistDaskData\n", - "\n", - "persist_kmeans = PersistDaskData()\n", - "persist_som = PersistDaskData()" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "image/svg+xml": [ - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "A KMeans and SOM Pipeline\n", - "\n", - "\n", - "\n", - "68414549\n", - "\n", - "Normalize.transform\n", - "\n", - "\n", - "\n", - "499072774\n", - "\n", - "KMeans.fit_predict\n", - "\n", - "\n", - "\n", - "68414549->499072774\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "499072781\n", - "\n", - "SOM.fit_predict\n", - "\n", - "\n", - "\n", - "68414549->499072781\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "261617047\n", - "\n", - "DatasetArray.load\n", - "\n", - "\n", - "\n", - "261617047->68414549\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "499067957\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "499072774->499067957\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n", - "499068127\n", - "\n", - "PersistDaskData.transform\n", - "\n", - "\n", - "\n", - "499072781->499068127\n", - "\n", - "\n", - "X\n", - "\n", - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from dasf.pipeline import Pipeline\n", - "\n", - "pipeline = Pipeline(\"A KMeans and SOM Pipeline\", executor=dask)\n", - "\n", - "pipeline.add(normalize, X=make_blobs._train) \\\n", - " .add(kmeans.fit_predict, X=normalize) \\\n", - " .add(som.fit_predict, X=normalize) \\\n", - " .add(persist_kmeans, X=kmeans.fit_predict) \\\n", - " .add(persist_som, X=som.fit_predict) \\\n", - " .visualize()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Once you created your pipeline we can attach the profiler to it. The profiler will collect the data and store it in a file (one for each plugin). The file will be stored in the same directory as the notebook. The file name will be controled by the `name` parameter followed by `.msgpack` extension. If you do not provide the `name` parameter it will be `default`.\n", - "\n", - "The `enable_nvtx` parameter will enable the NVTX markers. This will allow you to see the pipeline in the NVIDIA Nsight Systems. This is only available on NVIDIA GPUs.\n", - "\n", - "Finally, the `add_time_suffix` parameter will add the current time to the file name (useful for unique file names).In this way you can run the same pipeline multiple times and get different files. The file name will be `name_time.msgpack`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Registered worker plugin: Tutorial_5_Profile-TracePlugin\n", - "Registered resource plugin: Tutorial_5_Profile-ResourceMonitor\n" - ] - } - ], - "source": [ - "from dasf.profile import register_default_profiler\n", - "\n", - "register_default_profiler(\n", - " pipeline,\n", - " name=\"Tutorial_5_Profile\",\n", - " enable_nvtx=False,\n", - " add_time_suffix=False \n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[2023-08-15 11:55:50-0300] INFO - Beginning pipeline run for 'A KMeans and SOM Pipeline'\n", - "[2023-08-15 11:55:50-0300] INFO - Task 'DatasetArray.load': Starting task run...\n", - "[2023-08-15 11:55:50-0300] INFO - Task 'DatasetArray.load': Finished task run\n", - "[2023-08-15 11:55:50-0300] INFO - Task 'Normalize.transform': Starting task run...\n", - "[2023-08-15 11:55:50-0300] INFO - Task 'Normalize.transform': Finished task run\n", - "[2023-08-15 11:55:50-0300] INFO - Task 'KMeans.fit_predict': Starting task run...\n", - "[2023-08-15 11:55:55-0300] INFO - Task 'KMeans.fit_predict': Finished task run\n", - "[2023-08-15 11:55:55-0300] INFO - Task 'SOM.fit_predict': Starting task run...\n", - "[2023-08-15 11:56:21-0300] INFO - Task 'SOM.fit_predict': Finished task run\n", - "[2023-08-15 11:56:21-0300] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2023-08-15 11:56:21-0300] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2023-08-15 11:56:21-0300] INFO - Task 'PersistDaskData.transform': Starting task run...\n", - "[2023-08-15 11:56:21-0300] INFO - Task 'PersistDaskData.transform': Finished task run\n", - "[2023-08-15 11:56:21-0300] INFO - Pipeline run successfully\n", - "CPU times: user 11.8 s, sys: 739 ms, total: 12.5 s\n", - "Wall time: 31.2 s\n" - ] - } - ], - "source": [ - "%time pipeline.run()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The resource monitor plugin runs indefinitely, until the program exits. As the database are buffered, in order to reduce the IO pressure, the data are flushed to the database only after 5000 entries (or when program exits). We can shutdown the executor, in order to flush the data to the database." - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "2023-08-15 11:56:54,586 - distributed.active_memory_manager - WARNING - Tried retiring worker tcp://127.0.0.1:35871, but 14 tasks could not be moved as there are no suitable workers to receive them. The worker will not be retired.\n", - "2023-08-15 11:56:54,587 - distributed.active_memory_manager - WARNING - Tried retiring worker tcp://127.0.0.1:35148, but 14 tasks could not be moved as there are no suitable workers to receive them. The worker will not be retired.\n", - "2023-08-15 11:56:54,587 - distributed.active_memory_manager - WARNING - Tried retiring worker tcp://127.0.0.1:38191, but 16 tasks could not be moved as there are no suitable workers to receive them. The worker will not be retired.\n", - "2023-08-15 11:56:54,588 - distributed.active_memory_manager - WARNING - Tried retiring worker tcp://127.0.0.1:39400, but 14 tasks could not be moved as there are no suitable workers to receive them. The worker will not be retired.\n" - ] - } - ], - "source": [ - "dask.shutdown()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Analysing the profile data\n", - "\n", - "Once the code ran, and traceevents were collected, we can perform analysis to understand the performance of the code. The first step is the load the databases. The `register_default_profiler` attachs two plugins `TracePlugin` (which trace dask tasks) and `ResourceMonitorPlugin` (which traces the resource usage of the workers). So there will be two files: `Tutorial_5_Profile-ResourceMonitor-c096.msgpack` and `Tutorial_5_Profile-TracePlugin-c096.msgpack`. We can load the events using the `EventProfiler` class (the same used to register events)." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(EventProfiler(database=FileDatabase at Tutorial_5_Profile-ResourceMonitor-c096.msgpack),\n", - " EventProfiler(database=FileDatabase at Tutorial_5_Profile-TracePlugin-c096.msgpack))" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from dasf.profile.profiler import EventProfiler\n", - "from dasf.profile import MultiEventDatabase\n", - "\n", - "db1 = EventProfiler(\"Tutorial_5_Profile-ResourceMonitor-c096.msgpack\")\n", - "db2 = EventProfiler(\"Tutorial_5_Profile-TracePlugin-c096.msgpack\")\n", - "\n", - "db1, db2" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Database are collection of events. Each event is a dataclass and follows the [Chrome Trace Event Format](https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview). The `EventProfiler` class is a wrapper around a list of events. It provides methods to add events and to write the database to a file.\n", - "\n", - "We can iterate over the events in a database using the `get_traces` function. It will return an iterator over the events in the database. The events are returned in the order they were recorded. " - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "InstantEvent(name='Resource Usage', timestamp=3869.01274743, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 40.2, 'memory': 2744729600, 'time': 1692111381.5415905, 'host_net_io.read_bps': 10685583.118998485, 'host_net_io.write_bps': 10673829.571746167, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 134589.30723739465, 'num_fds': 189, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272})\n", - "CompleteEvent(name='Compute', timestamp=3837.884328029, duration=0.050518035888671875, phase='X', process_id='c096', thread_id='worker-c096-2', args={'key': 'getGPUs-42237764-1836-4be8-ae62-948ce02e1d6a', 'name': 'tGPUs-42237764-1836-4be8-ae62', 'state': 'memory', 'size': 280, 'shape': [], 'dtype': 'unknown', 'type': \"\", 'dependencies': [], 'dependents': []})\n" - ] - } - ], - "source": [ - "for event in db1.get_traces():\n", - " print(event)\n", - " break\n", - "\n", - "for event in db2.get_traces():\n", - " print(event)\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The `MultiEventDatabase` allow use traverse multiple databases at the same time (usually, needed for analyses)." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "MultiEventDatabase with 2 databases" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "database = MultiEventDatabase([db1, db2])\n", - "database" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "InstantEvent(name='Resource Usage', timestamp=3869.01274743, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 40.2, 'memory': 2744729600, 'time': 1692111381.5415905, 'host_net_io.read_bps': 10685583.118998485, 'host_net_io.write_bps': 10673829.571746167, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 134589.30723739465, 'num_fds': 189, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272})\n" - ] - } - ], - "source": [ - "for event in database:\n", - " print(event)\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Or generate a list with all events" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[InstantEvent(name='Resource Usage', timestamp=3869.01274743, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 40.2, 'memory': 2744729600, 'time': 1692111381.5415905, 'host_net_io.read_bps': 10685583.118998485, 'host_net_io.write_bps': 10673829.571746167, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 134589.30723739465, 'num_fds': 189, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.018545822, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 0.0, 'memory': 2744729600, 'time': 1692111381.5495014, 'host_net_io.read_bps': 24242915.31342638, 'host_net_io.write_bps': 24415081.283950076, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 189, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.118886256, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 69.9, 'memory': 2744729600, 'time': 1692111381.649612, 'host_net_io.read_bps': 30272623.59462569, 'host_net_io.write_bps': 28577096.880356316, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 10024124.945820678, 'num_fds': 189, 'gpu_utilization': 1, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.219099359, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 10.0, 'memory': 2744995840, 'time': 1692111381.7498834, 'host_net_io.read_bps': 3102557.5490633715, 'host_net_io.write_bps': 3103435.1666125604, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 1, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.319312409, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 0.0, 'memory': 2744995840, 'time': 1692111381.850187, 'host_net_io.read_bps': 5343.775123098109, 'host_net_io.write_bps': 5622.927554901742, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.418357631, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 0.0, 'memory': 2744995840, 'time': 1692111381.9493108, 'host_net_io.read_bps': 2703.691829652832, 'host_net_io.write_bps': 3147.58153302867, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.518484708, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 10.0, 'memory': 2744995840, 'time': 1692111382.0494256, 'host_net_io.read_bps': 19927.11012718611, 'host_net_io.write_bps': 19927.11012718611, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3158966272}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.620366242, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 60.1, 'memory': 2745241600, 'time': 1692111382.1493354, 'host_net_io.read_bps': 2815376.423511278, 'host_net_io.write_bps': 2813654.866414532, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3194617856}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.721167103, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 70.0, 'memory': 2745511936, 'time': 1692111382.2492902, 'host_net_io.read_bps': 3200509.781330604, 'host_net_io.write_bps': 3200509.781330604, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3194617856}),\n", - " InstantEvent(name='Resource Usage', timestamp=3869.821650885, phase='I', scope='g', process_id='c096', thread_id=None, args={'cpu': 79.1, 'memory': 2745782272, 'time': 1692111382.350485, 'host_net_io.read_bps': 3472817.2998334193, 'host_net_io.write_bps': 4041423.6761417557, 'host_disk_io.read_bps': 0.0, 'host_disk_io.write_bps': 0.0, 'num_fds': 193, 'gpu_utilization': 0, 'gpu_memory_used': 3194617856})]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "all_events = list(database)\n", - "all_events[:10]" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[InstantEvent(name='Managed Memory', timestamp=3907.782270047, phase='I', scope='g', process_id='c096', thread_id='worker-c096-1', args={'key': \"('reshape-b1532816c7b1745efbdc8cb9a24f29f9', 0, 0)\", 'state': 'memory', 'size': 300048, 'tasks': 17}),\n", - " CompleteEvent(name='Compute', timestamp=3907.792064168, duration=8.106231689453125e-06, phase='X', process_id='c096', thread_id='worker-c096-1', args={'key': 'original-array-64bef1cc631f078a2e8f3d2c24d62e99', 'name': 'iginal-array', 'state': 'memory', 'size': 8, 'shape': [2], 'dtype': 'float32', 'type': \"\", 'dependencies': [], 'dependents': []}),\n", - " InstantEvent(name='Managed Memory', timestamp=3907.792064168, phase='I', scope='g', process_id='c096', thread_id='worker-c096-1', args={'key': 'original-array-64bef1cc631f078a2e8f3d2c24d62e99', 'state': 'memory', 'size': 300032, 'tasks': 15}),\n", - " CompleteEvent(name='Compute', timestamp=3907.792960693, duration=5.4836273193359375e-06, phase='X', process_id='c096', thread_id='worker-c096-1', args={'key': 'original-array-808dd9f17eb2378b6fb7a3aeddc6cb36', 'name': 'iginal-array', 'state': 'memory', 'size': 8, 'shape': [2], 'dtype': 'float32', 'type': \"\", 'dependencies': [], 'dependents': []}),\n", - " InstantEvent(name='Managed Memory', timestamp=3907.792960693, phase='I', scope='g', process_id='c096', thread_id='worker-c096-1', args={'key': 'original-array-808dd9f17eb2378b6fb7a3aeddc6cb36', 'state': 'memory', 'size': 300040, 'tasks': 16}),\n", - " CompleteEvent(name='Compute', timestamp=3907.803720107, duration=5.698204040527344e-05, phase='X', process_id='c096', thread_id='worker-c096-1', args={'key': \"('array-reshape-22612059257db170fa304ae3f488407c', 0, 0)\", 'name': 'array-reshape', 'state': 'memory', 'size': 8, 'shape': [1, 2], 'dtype': 'float32', 'type': \"\", 'dependencies': ['original-array-64bef1cc631f078a2e8f3d2c24d62e99'], 'dependents': []}),\n", - " InstantEvent(name='Managed Memory', timestamp=3907.803720107, phase='I', scope='g', process_id='c096', thread_id='worker-c096-1', args={'key': \"('array-reshape-22612059257db170fa304ae3f488407c', 0, 0)\", 'state': 'memory', 'size': 300032, 'tasks': 15}),\n", - " CompleteEvent(name='Compute', timestamp=3907.804997844, duration=4.4345855712890625e-05, phase='X', process_id='c096', thread_id='worker-c096-1', args={'key': \"('array-reshape-f70b70b2e4718d09ca3086bb97bec087', 0, 0)\", 'name': 'array-reshape', 'state': 'memory', 'size': 8, 'shape': [1, 2], 'dtype': 'float32', 'type': \"\", 'dependencies': ['original-array-808dd9f17eb2378b6fb7a3aeddc6cb36'], 'dependents': []}),\n", - " InstantEvent(name='Managed Memory', timestamp=3907.804997844, phase='I', scope='g', process_id='c096', thread_id='worker-c096-1', args={'key': \"('array-reshape-f70b70b2e4718d09ca3086bb97bec087', 0, 0)\", 'state': 'memory', 'size': 300040, 'tasks': 16}),\n", - " CompleteEvent(name='Compute', timestamp=3907.811160065, duration=5.245208740234375e-06, phase='X', process_id='c096', thread_id='worker-c096-1', args={'key': \"('reshape-22612059257db170fa304ae3f488407c', 0, 0)\", 'name': 'reshape', 'state': 'memory', 'size': 8, 'shape': [1, 2], 'dtype': 'float32', 'type': \"\", 'dependencies': [\"('array-reshape-22612059257db170fa304ae3f488407c', 0, 0)\"], 'dependents': []})]" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "all_events[-10:]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Given a `MultiEventDatabase` we can use the `TraceAnalyser` that perform analyses over the database. It is useful to find bottlenecks in the code and to understand how the code is executed. " - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.profile import TraceAnalyser\n", - "analyser = TraceAnalyser(database)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Function Bottleneck Report\n", - "\n", - "The function bootleneck report will show us the function that is taking the most time to run. This is useful for optimizing code. Here, a function is composed by a set of tasks that applies this function in different chunks of data. It is the function used by `map_blocks` (where a function is applyed to several chunks). This report is a dataframe with the following columns:\n", - "- `Host`: the host where the function is running\n", - "- `GPU`: the GPU where the function is running\n", - "- `Function`: the function name\n", - "- `Duration`: the time spent in the function\n", - "- `Percentage of total time (%)`: the percentage of total compute time spent in the function\n", - "- `Mean GPU Utilization (%)`: the mean GPU utilization during the function execution\n", - "- `Mean GPU Memory Used (GB)`: the mean GPU memory used during the function execution\n", - "- `Mean Data Size (MB)`: the mean data size used during the function execution (as input)\n", - "- `Mean Data Throughput (MB/s)`: the mean data throughput during the function execution (as input)\n", - "- `Num tasks (chunks)`: the number of tasks (chunks) that the function was applied\n", - "- `Mean Task Time (s)`: the mean time spent in each task (chunk)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Creating annotated task graph: 100%|███████████████████████████████████| 122391/122391 [00:00<00:00, 480393.43it/s]\n", - "[function_bottleneck] Analysing traces: 100%|███████████████████████████| 122391/122391 [00:07<00:00, 17441.83it/s]\n", - "[function_bottleneck] Creating dataframe: 100%|██████████████████████████████████████| 4/4 [00:00<00:00, 41.34it/s]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
HostGPUFunctionDuration (s)Percentage of total time (%)Mean GPU Utilization (%)Mean GPU Memory Used (GB)Mean Data Size (MB)Mean Throughput (MB/s)Num Tasks (chunks)Mean Task time (s)
624c0960unc_fit-62a75b12-6b7a-49b0-b2792.47143934.9675630.00.0000000.1600000.06474012.471439
1753c0961unc_fit-2d612856-11c9-4d72-80622.47132835.4973860.00.0000000.2000000.08092812.471328
10c0962unc_fit-abdc6ba0-f141-4e3c-909e2.46367733.6907730.00.0000000.2400000.09741512.463677
1228c0963unc_fit-d813c7ea-7042-4c69-8a722.46343734.9308210.00.0000000.2000000.08118712.463437
8c0962var-partial1.17295916.0402080.00.0000000.0009080.6198546850.001712
1750c0961var-partial1.10595215.8855500.00.0000000.0009070.6243566700.001651
1225c0963var-partial1.04922114.8776420.00.0000000.0009070.6172856390.001642
622c0960var-partial1.01873714.4137640.00.0000000.0009060.6231625700.001787
1223c0963var0.82502211.6985780.00.0000000.04000070.5620867110.001160
621c0960mean_combine-partial0.5341407.5573621.03.1589660.0007521.1985546740.000792
\n", - "
" - ], - "text/plain": [ - " Host GPU Function Duration (s) \\\n", - "624 c096 0 unc_fit-62a75b12-6b7a-49b0-b279 2.471439 \n", - "1753 c096 1 unc_fit-2d612856-11c9-4d72-8062 2.471328 \n", - "10 c096 2 unc_fit-abdc6ba0-f141-4e3c-909e 2.463677 \n", - "1228 c096 3 unc_fit-d813c7ea-7042-4c69-8a72 2.463437 \n", - "8 c096 2 var-partial 1.172959 \n", - "1750 c096 1 var-partial 1.105952 \n", - "1225 c096 3 var-partial 1.049221 \n", - "622 c096 0 var-partial 1.018737 \n", - "1223 c096 3 var 0.825022 \n", - "621 c096 0 mean_combine-partial 0.534140 \n", - "\n", - " Percentage of total time (%) Mean GPU Utilization (%) \\\n", - "624 34.967563 0.0 \n", - "1753 35.497386 0.0 \n", - "10 33.690773 0.0 \n", - "1228 34.930821 0.0 \n", - "8 16.040208 0.0 \n", - "1750 15.885550 0.0 \n", - "1225 14.877642 0.0 \n", - "622 14.413764 0.0 \n", - "1223 11.698578 0.0 \n", - "621 7.557362 1.0 \n", - "\n", - " Mean GPU Memory Used (GB) Mean Data Size (MB) Mean Throughput (MB/s) \\\n", - "624 0.000000 0.160000 0.064740 \n", - "1753 0.000000 0.200000 0.080928 \n", - "10 0.000000 0.240000 0.097415 \n", - "1228 0.000000 0.200000 0.081187 \n", - "8 0.000000 0.000908 0.619854 \n", - "1750 0.000000 0.000907 0.624356 \n", - "1225 0.000000 0.000907 0.617285 \n", - "622 0.000000 0.000906 0.623162 \n", - "1223 0.000000 0.040000 70.562086 \n", - "621 3.158966 0.000752 1.198554 \n", - "\n", - " Num Tasks (chunks) Mean Task time (s) \n", - "624 1 2.471439 \n", - "1753 1 2.471328 \n", - "10 1 2.463677 \n", - "1228 1 2.463437 \n", - "8 685 0.001712 \n", - "1750 670 0.001651 \n", - "1225 639 0.001642 \n", - "622 570 0.001787 \n", - "1223 711 0.001160 \n", - "621 674 0.000792 " - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "func_bottleneck_dataframe = analyser.per_function_bottleneck()\n", - "func_bottleneck_dataframe.head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Task Bootleneck Report\n", - "\n", - "The task bottleneck report shows the tasks that are the most time consuming in the application. This is similar to the above report, but is per task instead of per function (i.e., each block). This is similar to DASK task breakdown report." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "Creating annotated task graph: 100%|███████████████████████████████████| 122391/122391 [00:00<00:00, 426913.80it/s]\n", - "[task_bottleneck] Analysing traces: 100%|███████████████████████████████| 122391/122391 [00:11<00:00, 10857.61it/s]\n", - "[task_bottleneck] Creating dataframe: 100%|██████████████████████████████████████████| 4/4 [00:00<00:00, 5.47it/s]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
HostGPUTask KeyDuration (s)Percentage of total time (%)Memory usage (Mb)
10453c0960_func_fit-62a75b12-6b7a-49b0-b279-160a8ff3ee3b2.47143934.9675630.000048
31484c0961_func_fit-2d612856-11c9-4d72-8062-7dfff911cf372.47132835.4973860.000048
59c0962_func_fit-abdc6ba0-f141-4e3c-909e-059f1f2eed4f2.46367733.6907730.000048
21017c0963_func_fit-d813c7ea-7042-4c69-8a72-7bdafcec69fb2.46343734.9308210.000048
31507c0961_update-96127d18-5249-4874-accc-a95d91831a7f0.4524846.4993390.000092
10497c0960_update-988648be-51da-405b-a484-a25c9db01ee30.4307816.0949800.000092
83c0962_update-8c69b565-dc4d-4abc-80bb-e8085e2960bb0.4264655.8319030.000092
21070c0963_update-af7e6144-6bc1-4f85-9b66-4dd7e5f241d00.4259926.0404460.000092
21006c0963('var-e4678ef53eb782384180081aa58da0be', 13, 0)0.3638255.1589300.000450
9c0962('mean_chunk-0ff2c4ec843f304adcd7d25ca35c47a7'...0.2592433.5451430.000376
\n", - "
" - ], - "text/plain": [ - " Host GPU Task Key \\\n", - "10453 c096 0 _func_fit-62a75b12-6b7a-49b0-b279-160a8ff3ee3b \n", - "31484 c096 1 _func_fit-2d612856-11c9-4d72-8062-7dfff911cf37 \n", - "59 c096 2 _func_fit-abdc6ba0-f141-4e3c-909e-059f1f2eed4f \n", - "21017 c096 3 _func_fit-d813c7ea-7042-4c69-8a72-7bdafcec69fb \n", - "31507 c096 1 _update-96127d18-5249-4874-accc-a95d91831a7f \n", - "10497 c096 0 _update-988648be-51da-405b-a484-a25c9db01ee3 \n", - "83 c096 2 _update-8c69b565-dc4d-4abc-80bb-e8085e2960bb \n", - "21070 c096 3 _update-af7e6144-6bc1-4f85-9b66-4dd7e5f241d0 \n", - "21006 c096 3 ('var-e4678ef53eb782384180081aa58da0be', 13, 0) \n", - "9 c096 2 ('mean_chunk-0ff2c4ec843f304adcd7d25ca35c47a7'... \n", - "\n", - " Duration (s) Percentage of total time (%) Memory usage (Mb) \n", - "10453 2.471439 34.967563 0.000048 \n", - "31484 2.471328 35.497386 0.000048 \n", - "59 2.463677 33.690773 0.000048 \n", - "21017 2.463437 34.930821 0.000048 \n", - "31507 0.452484 6.499339 0.000092 \n", - "10497 0.430781 6.094980 0.000092 \n", - "83 0.426465 5.831903 0.000092 \n", - "21070 0.425992 6.040446 0.000092 \n", - "21006 0.363825 5.158930 0.000450 \n", - "9 0.259243 3.545143 0.000376 " - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "task_bottleneck_dataframe = analyser.per_task_bottleneck()\n", - "task_bottleneck_dataframe.head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Task balance\n", - "\n", - "This report show the number of tasks in memory (per worker), in each instant of time. This is useful to check imbalance in the load of the workers." - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "[task_balance] Analysing traces: 100%|████████████████████████████████| 122391/122391 [00:00<00:00, 1256360.33it/s]\n", - "[task_balance] Creating dataframe: 100%|███████████████████████████████████████| 71/71 [00:00<00:00, 359222.66it/s]\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
Time Interval (seconds from begin)worker-c096-0worker-c096-1worker-c096-2worker-c096-3
000.00.01.01.0
1110.012.016.011.0
2633.013.015.035.0
378.014.032.017.0
4832.015.031.020.0
5932.030.019.019.0
61014.014.014.015.0
71113.015.014.021.0
81216.019.09.016.0
91318.015.017.020.0
\n", - "
" - ], - "text/plain": [ - " Time Interval (seconds from begin) worker-c096-0 worker-c096-1 \\\n", - "0 0 0.0 0.0 \n", - "1 1 10.0 12.0 \n", - "2 6 33.0 13.0 \n", - "3 7 8.0 14.0 \n", - "4 8 32.0 15.0 \n", - "5 9 32.0 30.0 \n", - "6 10 14.0 14.0 \n", - "7 11 13.0 15.0 \n", - "8 12 16.0 19.0 \n", - "9 13 18.0 15.0 \n", - "\n", - " worker-c096-2 worker-c096-3 \n", - "0 1.0 1.0 \n", - "1 16.0 11.0 \n", - "2 15.0 35.0 \n", - "3 32.0 17.0 \n", - "4 31.0 20.0 \n", - "5 19.0 19.0 \n", - "6 14.0 15.0 \n", - "7 14.0 21.0 \n", - "8 9.0 16.0 \n", - "9 17.0 20.0 " - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "task_balance_dataframe = analyser.per_worker_task_balance()\n", - "task_balance_dataframe.head(10)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.13" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/examples/tutorials/Tutorial_6.ipynb b/examples/tutorials/Tutorial_6.ipynb deleted file mode 100644 index 31f75fc..0000000 --- a/examples/tutorials/Tutorial_6.ipynb +++ /dev/null @@ -1,300 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "664bfe29-de10-4c07-b23e-75bdb9a330d3", - "metadata": {}, - "source": [ - "### Tutorial 6 - How Use the ApplyPatches Operator\n", - "\n", - "In this tutorial, we will show you how use the ApplyPatches operator, that subdivides a chunk in Patches with a given shape and apply a function at each patch. \n", - "It is possible to define overlapping patch sets to create a similar effect of a sliding window. The recombination of the results can be done either using a Weighted Average or Voting methods.\n", - "\n", - "This operator is userful when applying functions with a fixed input size (e.g. Deep Learning models), this way the interface between two neighboring patches can be smoothed due to the overlapping patches and the employement of different weight functions.\n" - ] - }, - { - "cell_type": "markdown", - "id": "e8b7f913", - "metadata": {}, - "source": [ - "![title](imgs/tutorial_6_schematic.jpg)" - ] - }, - { - "cell_type": "markdown", - "id": "c8c9f142", - "metadata": {}, - "source": [ - "#### Basic Usage" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "id": "2d3ae542-b03f-49e0-86fc-1cdbf19b5a30", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(50, 50, 50)\n", - "Output shape is only (50, 50, 50), because its the only whole patch that can be extarcted without overlap/padding. Only 1 patch extarcted\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "Now the output shape is (99, 99, 99), because we added a overlap/padding that makes it possible to extarct patches that cover the whole data. 8 patches extracted\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "(50, 50, 50)\n", - "The output shape is (99, 99, 99) is the samebut we compute 8 patches from the base set and 8 from an overlapping set (patch extraction starts at (0, -1, -1), instead of (0, 0, 0))\n" - ] - } - ], - "source": [ - "import numpy as np\n", - "\n", - "from dasf.transforms.operations import ApplyPatchesWeightedAvg\n", - "\n", - "def func(X):\n", - " print(X.shape) # show input of \n", - " return X + 1\n", - "\n", - "data = np.zeros((99, 99, 99))\n", - "\n", - "# Here we apply only on the small cube (50, 50, 50) as its the only whole patch that can be extracted.\n", - "# Fails when using Dask arrays\n", - "patches_op = ApplyPatchesWeightedAvg(\n", - " function=func,\n", - " weight_function=None, # Defaults to Arithmetic Mean\n", - " input_size=(50, 50, 50),\n", - " overlap=None, \n", - " offsets=[],\n", - ")\n", - "out_1 = patches_op.transform(data)\n", - "print(f\"Output shape is only {out_1.shape}, because its the only whole patch that can be extarcted without overlap/padding. Only 1 patch extarcted\")\n", - "\n", - "# Adding overlap (from Dask) it will pad the chunk/numpy array with the specified value \n", - "# or get the values from neighboring chunks\n", - "patches_op = ApplyPatchesWeightedAvg(\n", - " function=func,\n", - " weight_function=None, # Defaults to Arithmetic Mean\n", - " input_size=(50, 50, 50),\n", - " overlap={\"padding\": (1, 1, 1), \"boundary\": 0},\n", - " offsets=[],\n", - ")\n", - "out_2 = patches_op.transform(data)\n", - "print(f\"Now the output shape is {out_2.shape}, because we added an overlap/padding that makes it possible to extract patches that cover the whole data. 8 patches extracted\")\n", - "\n", - "# Adding overlap (from Dask) it will pad the chunk/numpy array with the specified value \n", - "# or get the values from neighboring chunks\n", - "patches_op = ApplyPatchesWeightedAvg(\n", - " function=func,\n", - " weight_function=None, # Defaults to Arithmetic Mean\n", - " input_size=(50, 50, 50),\n", - " overlap={\"padding\": (1, 1, 1), \"boundary\": 0},\n", - " offsets=[(0, -1, -1)],\n", - ")\n", - "out_3 = patches_op.transform(data)\n", - "print(f\"The output shape is {out_3.shape} is the same, but we compute 8 patches from the base set and 8 from an overlapping set (patch extraction starts at (0, -1, -1), instead of (0, 0, 0))\")\n" - ] - }, - { - "cell_type": "markdown", - "id": "d82d8cd2", - "metadata": {}, - "source": [ - "#### Using different weight functions\n", - "Weight functions can be passed to the ApplyPatches operator in order to attribute weights based on the position of a given point in the NDArray.\n", - "\n", - "Below we show the Gaussian and Radial weight functions" - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "789c4521", - "metadata": {}, - "outputs": [], - "source": [ - "from dasf.utils.funcs import weight_gaussian, weight_radial\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "id": "1e0a444e", - "metadata": {}, - "outputs": [], - "source": [ - "weights = {\n", - " \"Gaussian\": weight_gaussian((100, 100, 100)),\n", - " \"Radial\": weight_radial((100, 100, 100))\n", - "}" - ] - }, - { - "cell_type": "code", - "execution_count": 48, - "id": "c68ca230-d319-4c35-8e4a-0fb3d017c0cd", - "metadata": {}, - "outputs": [], - "source": [ - "def plot_panel(base_name, data_dict, outer):\n", - " f, axarr = plt.subplots(1,len(data_dict), sharex = True,sharey=True)\n", - " f.set_size_inches(15,5)\n", - " for i, data in enumerate(data_dict.items()):\n", - " ax = axarr[i] if len(data_dict) != 1 else axarr\n", - " panel = data[1][outer,:,:]\n", - " subfig = ax.imshow(panel, cmap=\"bone\", interpolation='nearest')\n", - " ax.title.set_text(f\"{base_name} - {data[0]}\")\n", - " f.colorbar(subfig, ax=ax)\n", - " f.show()\n", - " \n", - "def plot_lines(base_name, data_dict, outer, outer_2):\n", - " f, axarr = plt.subplots(1,len(data_dict), sharex = True,sharey=False)\n", - " f.set_size_inches(10,5)\n", - " for i, data in enumerate(data_dict.items()):\n", - " ax = axarr[i] if len(data_dict) != 1 else axarr\n", - " line = data[1][outer,outer_2,:]\n", - " ax.plot(np.arange(len(line)), line, label=data[0])\n", - " ax.title.set_text(f\"{base_name} - {data[0]}\")\n", - " f.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "ccf54994", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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fe975dlnn/U+x/79+0tzc7MsX75c/vWvf3nrh3384x+XG2+8UU499VQ57rjj5NJLL5V7771X/vnPf8rll19eqLfjFtOWlharjdbW1qregrpp06aiy39ecMEFssceexR+PvnJTxbKWlpaJJvt/ljI5/Pyz3/+szBN6pFHHondh4EDB4qIyL333ltyCtSOv8z9/Oc/jxWY2L9//8J/b9myRTZs2CDvec97RESK9rXY++Kf//ynbNq0qexjAgCAbowN3ZI4Ntxh3rx5sscee8iwYcPkve99rzz55JNy1VVXyb/9279F6oXHWq+88ops2LBB3v/+98uzzz5bmF7/61//WrZt2yZf+MIXIndNn3322WX1JXyMzZs3y4YNG2TKlClijKnJXUtAX8LFHZQlk8nIlClTCvOnH3jgARk6dKi87W1vE5HoF/iO/9/xBf7000+LMUb23XffyEWFPfbYQ5588kl56aWXSh73b3/7mwwfPlx22WWXyOM7jqu1trYW5k3v8Ja3vKWsL+SWlhb5xje+Ib/85S+lvb1d3ve+98k3v/nNostVluOwww6TSZMmya9//evCYzu+wLZu3WrV37JlS+QLTsvn89LZ2Rn5cd3uuttuu8lrr71mPX7mmWfKsmXLZNmyZdLe3h4pC4JAvvWtb8m+++4rLS0tMmTIENljjz3k//7v/yIZOeUaM2aMzJkzR7773e/KkCFDZNq0abJo0aJIWyeddJIceuih8rnPfU7a29vl5JNPlh/96EfeCz0vv/yynHXWWdLe3i79+/eXPfbYo7AaRbG+jho1KrK949bjuIM1AADA2LAn6j023OH000+XZcuWyV133VXItymWCfTAAw/I1KlTZdddd5VBgwbJHnvsUchE3DHW+tvf/iYiEplqJiKyxx57WNO8ilmzZo2cdtppMnjw4EIm0vvf//7IMQCUh8wdlO2www6Tu+66Sx577LHCnOodpkyZIl/+8pflhRdekPvvv1/23HNPeetb3yoi3RcMMpmM/PKXv5RcLme1W+zukp4q1n4cZ599thx77LHys5/9TO6991656KKLZMGCBfKb3/xGDjnkkNjtjRw5UlavXl3YHj58uIiIvPjiizJy5MhI3RdffFEmTpxYsq21a9daS2ned999JZfsHDt2rDz66KPywgsvyIgRIwqPv/3tb5e3v/3tIiLWigVXXHGFXHTRRfKZz3xGLr30Uhk8eLBks1k5++yzIxdbdJ7NDsUGBldddZWcdtpp8vOf/1x+9atfyRe/+EVZsGCBPPTQQ7LXXntJ//795Xe/+53cd999cvfdd8vSpUvltttukw984APyq1/9quRr+vGPf1wefPBB+fKXvyzjxo2TAQMGSBAE8v/+3/8remGoVDvGmKKPAwAAN8aGjTU23GHfffeVqVOniojIMcccI7lcTs477zw54ogjCtk/f/3rX+WDH/ygjB07Vq6++moZOXKkNDc3yz333CPf+ta3qrI8fT6flw996EPy8ssvy1e/+lUZO3as7LrrrvLCCy/IaaedVpVjAGnCxR2UbcdfW+6//3554IEHIrdbjh8/XlpaWmT58uXy8MMPy4c//OFC2T777CPGGBkzZkzhokK59t57b7nvvvvk9ddfj/yF5plnnunx8yh1YWKHffbZR770pS/Jl770JXn66adl3LhxctVVV8kPfvCD2Md69tlnI38tGjdunIiI/OEPf4h8Wf/jH/+Qv//973L66aeXbGvYsGGybNmyyGMHH3xwyfrHHHOM3HrrrfLDH/5QvvKVr5TV3x//+MdyxBFHyA033BB5fOPGjTJkyJDC9o6/xGzcuDFSb8dfb7QDDzxQDjzwQLnwwgvlwQcflEMPPVQWL14sl112mYh03079wQ9+UD74wQ/K1VdfLVdccYVccMEFct999xUGH2H/+te/pKOjQy655BKZO3du4fGnn366rOcJAAAqx9iwscaGpVxwwQVy/fXXy4UXXihLly4Vke6FObZu3Sp33nln5O5nPWVu7733FpHuMdiOi3ciIuvXr/feHfXYY4/JU089JTfffLOceuqphcf1cwJQHqZloWwTJkyQ1tZW+eEPfygvvPBC5K8zLS0t8q53vUsWLVokmzdvLnzZi4h87GMfk1wuJ5dccol1l4Qxxlq6OmzatGmyfft2uf766wuPBUEgixYt6vHz2DEQ0BcmXn/9ddmyZUvksX322Ud22223orfKhq1fv9567J577pFVq1bJ//t//6/w2Dvf+U4ZO3asXHfddZG7XK699lrJZDLWXOew1tZWmTp1auTHdbvrxz/+cdl///3l0ksvlYceeqhoHf165HI567Hbb79dXnjhhchj++yzj4iI/O53vys8ls/n5brrrovU27Rpk3R1dUUeO/DAAyWbzRbO6csvv2z1a8dAp9R53/FXON3XhQsXFq0PAACqj7FhaUkcG5YyaNAg+fd//3e599575dFHHxWR4mOtV155RW688cbIvlOnTpV+/frJNddcE6lbzpis2DGMMfKf//mfsZ8DAO7cQQzNzc3y7ne/W/73f/9XWlpaZPz48ZHyKVOmyFVXXSUiEvkC32effeSyyy6T888/X55//nk57rjjZLfddpPnnntO7rjjDjn99NPl3HPPLXrM4447TiZOnChf+tKX5JlnnpGxY8fKnXfeWbgg4PtLSzH9+/eX/fffX2677TZ5+9vfLoMHD5YDDjhAurq65IMf/GDhokhTU5Pccccdsm7dOjn55JOdbU6ZMkUOOeQQmTBhggwcOFAeeeQRWbJkiYwcObIwN3mHK6+8Uj7ykY/IkUceKSeffLI8/vjj8u1vf1s+97nPyX777Rf7+ZTSr18/ueOOO2TatGly2GGHycc+9jF573vfW7jd9c4775Q1a9bI0UcfXdjnmGOOkfnz58uMGTNkypQp8thjj8kPf/jDyF9iRLoHIu95z3vk/PPPl5dfflkGDx4st956q3Uh5ze/+Y3Mnj1bTjzxRHn7298uXV1d8v3vf19yuZyccMIJIiIyf/58+d3vfidHH3207L333vLSSy/Jd77zHdlrr70i76Owtra2wrz37du3y4gRI+RXv/qVPPfcc1U7fwAAwI2xYWlJHBu6nHXWWbJw4UL5+te/LrfeeqsceeSR0tzcLMcee6z8+7//u7z22mty/fXXy9ChQ+XFF18s7LfHHnvIueeeKwsWLJBjjjlGPvzhD8sf//hH+eUvfxm567uYsWPHyj777CPnnnuuvPDCC9LW1iY/+clPyEMEeqrm63OhoZ1//vlGRMyUKVOssp/+9KdGRMxuu+1murq6rPKf/OQn5rDDDjO77rqr2XXXXc3YsWPNrFmzzOrVqwt19HKXxnQvT/nJT37S7LbbbmbgwIHmtNNOMw888IAREXPrrbdG9t11112t4xZbOvHBBx8048ePN83NzYWlLzds2GBmzZplxo4da3bddVczcOBAM2nSJPOjH/3Ie14uuOACM27cODNw4EDTr18/M2rUKHPGGWeYzs7OovXvuOMOM27cONPS0mL22msvc+GFF5pt27Z5j9MTGzduNPPnzzeHHHKIGTBggGlubjYjR440//Zv/2buuuuuSN0tW7aYL33pS2b48OGmf//+5tBDDzUrVqww73//+8373//+SN2//vWvZurUqaalpcW0t7ebr33ta2bZsmWRJS6fffZZ85nPfMbss88+prW11QwePNgcccQR5te//nWhnY6ODvPRj37U7Lnnnqa5udnsueee5hOf+IR56qmnCnWKLYX+97//3Rx//PFm0KBBZuDAgebEE080//jHP6ylTHe8/nqp9VLLuQMAgPIxNiwuiWPDHeOpUku7n3baaSaXy5lnnnnGGGPMnXfeaQ466CDT2tpqRo8ebb7xjW+YJUuWWOOnfD5vLrnkksL48fDDDzePP/642Xvvvb1Lof/5z382U6dONQMGDDBDhgwxM2fONH/605+scR9LoQN+GWNIE0Xj+dnPfibHH3+83H///XLooYfWuzsAAACoI8aGANKOiztIvDfeeCOyDGQ+n5cjjzxS/vCHP0hnZ6dziUgAAAD0LYwNAcBG5g4S7wtf+IK88cYbMnnyZNm6dav89Kc/lQcffFCuuOIKvrwBAABShrEhANi4cweJd8stt8hVV10lzzzzjGzZskXe9ra3yRlnnCGzZ8+ud9cAAABQY4wNAcDGxR0AAAAAAIAq+N3vfidXXnmlrFq1Sl588UW544475LjjjnPus3z5cpkzZ4488cQTMnLkSLnwwgvltNNOi3XcbM+7DAAAAAAAgB02b94sBx98sCxatKis+s8995wcffTRcsQRR8ijjz4qZ599tnzuc5+Te++9N9Zxe+3OnUWLFsmVV14pnZ2dcvDBB8s111wjEydO7I1DAQAAAAAAJEomk/HeufPVr35V7r77bnn88ccLj5188smyceNGWbp0adnH6pVA5dtuu03mzJkjixcvlkmTJsnChQtl2rRpsnr1ahk6dKhz3yAI5B//+IfstttukslkeqN7AICEMsbIq6++Knvuuadks71/c+mWLVtk27ZtVWmrublZWltbq9IW0FcxzgOA9GrkcZ4xxvreamlpkZaWlorbXrFihUydOjXy2LRp0+Tss8+O1U6vXNy5+uqrZebMmTJjxgwREVm8eLHcfffdsmTJEjnvvPOc+/7jH/+QkSNH9ka3AAANYu3atbLXXnv16jG2bNkiY8aMkc7Ozqq0N2zYMHnuuee4wAM4MM4DADTiOG/AgAHy2muvRR6bN2+eXHzxxRW33dnZKe3t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VTZt2hT5AQCgVoxU4S86vXjBFmhkjPMAAPVUr3He1VdfLTNnzpQZM2bI/vvvL4sXL5ZddtlFlixZUnKffD4vp5xyilxyySXy1re+NfYxY13cefbZZ+Xaa6+VfffdV+69914544wz5Itf/KLcfPPNIiLS2dkpIiLt7e2R/drb2wtl2oIFC2TgwIGFn5EjR8Z+EgAA9BTTsoDewzgPAFBP9Rjnbdu2TVatWhW56SWbzcrUqVNL3vQiIjJ//nwZOnSofPazn+3Rc411cScIAnnXu94lV1xxhRxyyCFy+umny8yZM2Xx4sU9OriIyPnnny+vvPJK4Wft2rU9bgsAAADJwTgPANBX6DtRt27dWrTehg0bJJ/Px7rp5f7775cbbrghMjMqrliZO8OHD5f9998/8th+++0nP/nJT0REZNiwYSIism7dOhk+fHihzrp162TcuHFF22xpaZGWlhbr8fAVsji5EL55p74cHGNyzvriOJY338fXF5XTkctlS9Y1MXM2fM87yIeOpTNzPLkoOpNHZ6GEM3VEuq9aluqbbtua0xzo+dNRmUz09dPthVn99mTwGOPO2MnGytzpPXEzdaz6ol/v0vXtjBz1vlK/A776ecd7zX4enrY988btvpb+3daZV3FzbmL9/nrze6r4uROzLd/zdrVX7jmqyx0wxnjn/pfVBgBLqXFeb+krOTiVCmenVDsPJk4OTvy29Tiw9FhYs7IPrfruDJ7w+Mcaf/q+W3WFivrp4akffh6+tuNm7Pi+y11tV1NvjhV6s9+NpE/dkVzFcZ6++3TevHly8cUXV9a2iLz66qvy6U9/Wq6//noZMmRIj9uJdXHn0EMPldWrV0cee+qpp2TvvfcWke5w5WHDhklHR0fhYs6mTZvk4YcfljPOOKPHnQQAoLeYoPun0jYAAACQLNUc561du1ba2toKj5f648WQIUMkl8vJunXrIo+vW7eucENM2F//+ld5/vnn5dhjjy08tuOPqk1NTbJ69WrZZ599vP2MdXHnnHPOkSlTpsgVV1whH//4x2XlypVy3XXXyXXXXSci3Veizz77bLnssstk3333lTFjxshFF10ke+65Z+xlvAAAAAAAAJKgra0tcnGnlObmZhk/frx0dHQUroMEQSAdHR0ye/Zsq/7YsWPlscceizx24YUXyquvvir/+Z//WXZeXayLO+9+97vl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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_panel(\"Weights 50\", weights, 50)" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "ac097671", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABIkAAAHDCAYAAACgSUr1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADbmElEQVR4nOy9f7wVVb3//5rZBw6IgD8QEEMxtYumSUIiaGlFYmaFef2VpaEXrcRUuqZ0FfFHkZWGKcnVq2alaZZamdmHSK+pqAlZ2VdJr7/IOij5g0IFzp75/rFhs+b93rPee53ZZ5/NOa+nj1PMXj9m7dmzZ95nzno/V5SmaQpCCCGEEEIIIYQQ0qeJe3oAhBBCCCGEEEIIIaTn4UMiQgghhBBCCCGEEMKHRIQQQgghhBBCCCGED4kIIYQQQgghhBBCCPiQiBBCCCGEEEIIIYSAD4kIIYQQQgghhBBCCPiQiBBCCCGEEEIIIYSAD4kIIYQQQgghhBBCCPiQiBBCCCGEEEIIIYSAD4lIi/GZz3wGY8aM6XLbLbfcsrEDIi1DFEWYO3duTw+DEEIIIU2EseHmy0EHHYSDDjqouv3cc88hiiJ897vfDe7ru9/9LqIownPPPdew8RFCasOHRMTkRz/6EaIowu23367K9t57b0RRhHvuuUeV7bjjjpg8eXIzhhjEG2+8gblz5+Lee+9tWJ+LFy/GiSeeiHe84x3YYost8Pa3vx3/8R//gb///e+q7kEHHYQoitTPIYcc0rDxuKxduxZXXHEFDjjgAGy99dbo378/Ro0ahY997GP44Q9/iHK53C37JYQQQkjvhLGhTavGhnIfQ4YMwYEHHohf/OIXDd8XIWTzpK2nB0BanwMOOAAAcP/99+Pwww+vvr569Wo8/vjjaGtrwwMPPID3v//91bIVK1ZgxYoVOOaYY4L2dc011yBJksYMPIc33ngDF1xwAQBk/rpRhLPPPhuvvPIKjjzySOy222545plncOWVV+LOO+/EY489hpEjR2bqv+1tb8O8efMyr40aNaohY3F5+eWX8eEPfxhLly7F1KlTce6552KbbbZBR0cHfv3rX+OTn/wknn76aZx33nkN33ejefPNN9HWxksWIYQQ0tMwNrRp1dgQAD70oQ/h+OOPR5qmeP7553HVVVfhox/9KH75y19i6tSp3bJPANhpp53w5ptvol+/ft22D0JIcfgbFzEZNWoUdt55Z9x///2Z15csWYI0TXHkkUeqso3bG4OIetlcbxqXXXYZDjjgAMTxpsl5hxxyCA488EBceeWVuPjiizP1hw4dik996lPdPq5Pf/rT+P3vf4+f/OQn+MQnPpEpmz17Nh599FEsX76828fRCAYMGNDTQyCEEEIIGBvWQ6vGhgDwjne8I7OvI444AnvssQcuv/zybn1IFEUR4zlCNgOYbkbq4oADDsDvf/97vPnmm9XXHnjgAbzzne/Ehz/8YTz00EOZv/I88MADiKII+++/f/W1H/zgBxg/fjwGDhyIbbbZBscccwxWrFiR2U+tvPN//OMf+PSnP40hQ4Zgq622wgknnIA//OEPuTnNL774IqZNm4Ytt9wS2223Hf7zP/+zmlL13HPPYbvttgMAXHDBBdWpthtdNx0dHZg+fTre9ra3ob29Hdtvvz0+/vGPm/nP73vf+zJBwMbXttlmGzzxxBM123R2duJf//qXt98iLFmyBL/61a9w8sknqwdEG5kwYQKOO+646va6deswZ84cjB8/HkOHDsWgQYPw3ve+V00Zv/feexFFkZqWXSvXvJ5j+uijj2Lq1KkYNmwYBg4ciJ133hknnnhipm/pJHr++efx+c9/Hv/2b/+GgQMHYtttt8WRRx6pPquNOewPPPAAZs2ahe222w6DBg3C4Ycfjpdfftk+kIQQQghRMDZ8znt8WjE2zGP33XfHsGHD8H//93+Z13/605/iIx/5CEaNGoX29nbssssuuOiii2qqCq6++mrssssuGDhwIPbdd1/89re/VXVqxYl//OMf8ZnPfAZvf/vbMWDAAIwcORInnngi/vGPfzT8fRJC6oMPiUhdHHDAAVi/fj0efvjh6msPPPAAJk+ejMmTJ+P111/H448/nikbO3Ystt12WwDAV77yFRx//PHYbbfdcNlll+GMM87A4sWL8b73vQ+vvfZa7n6TJMFHP/pR/PCHP8QJJ5yAr3zlK/j73/+OE044oWb9crmMqVOnYtttt8U3v/lNHHjggbj00ktx9dVXAwC22247XHXVVQCAww8/HN///vfx/e9/v/oQ5YgjjsDtt9+O6dOn4zvf+Q6+8IUv4J///CdeeOGF4GP2r3/9C//6178wbNgwVfaXv/wFgwYNwuDBgzFy5Eicd955WL9+ffA+fPz85z8HgKC/Sq1evRr/8z//g4MOOgiXXHIJ5s6di5dffhlTp07FY4891qVxWMf0pZdewsEHH4znnnsO55xzDq644gocd9xxeOihh7z9/u53v8ODDz6IY445Bt/+9rfx2c9+FosXL8ZBBx2EN954Q9U/7bTT8Ic//AHnn38+Pve5z+HnP/85Zs6c2aX3RAghhPR1GBtufrFhHq+//jpeffVVbL311pnXv/vd72LLLbfErFmzcPnll2P8+PGYM2cOzjnnnEy9a6+9FqeccgpGjhyJr3/969h///3xsY99TD3wq8WiRYvwzDPPYPr06bjiiitwzDHH4Oabb8ahhx6KNE0b+j4JIXWSElIHf/7zn1MA6UUXXZSmaZquX78+HTRoUHrDDTekaZqmI0aMSBcsWJCmaZquXr06LZVK6YwZM9I0TdPnnnsuLZVK6Ve+8pVMn3/605/Stra2zOsnnHBCutNOO1W3f/KTn6QA0vnz51dfK5fL6Qc+8IEUQHr99ddn2gJIL7zwwsx+3v3ud6fjx4+vbr/88sspgPT888/P1Hv11VdTAOk3vvGNwKNTm4suuigFkC5evDjz+oknnpjOnTs3/clPfpJ+73vfSz/2sY+lANKjjjqqIfvdyOGHH54CSF977bXM62+++Wb68ssvV39effXVallnZ2e6du3aTP1XX301HTFiRHriiSdWX7vnnntSAOk999yTqfvss89mPpd6juntt9+eAkh/97vfed+P/MzeeOMNVWfJkiUpgPR73/te9bXrr78+BZBOmTIlTZKk+vqZZ56ZlkoldXwIIYQQYsPYMJyejg3TtBJPnXTSSenLL7+cvvTSS+mjjz6aHnLIITXfZ61Y65RTTkm32GKL9K233krTNE3XrVuXDh8+PB03blwmhrz66qtTAOmBBx5YfU3GiXn7+OEPf5gCSO+7777qaxvjuWeffbaL75wQUi+cSUTqYvfdd8e2225bzSf/wx/+gDVr1lRXqJg8eTIeeOABAJU0p3K5XM05v+2225AkCY466iisWrWq+jNy5EjstttuNVe/2Mjdd9+Nfv36YcaMGdXX4jjGqaeemtvms5/9bGb7ve99L5555hnzPQ4cOBD9+/fHvffei1dffdWs7+O+++7DBRdcgKOOOgof+MAHMmXXXnstzj//fHziE5/Apz/9afz0pz/FjBkz8KMf/cicPRPC6tWrAUAt/bpw4UJst9121R/XDVAqldC/f38Alb/UvfLKK+js7MSECROwbNmy4DHUc0y32morAMCdd94Z9BezgQMHVv+9fv16/OMf/8Cuu+6KrbbaquZYTz75ZERRVN1+73vfi3K5jOeff77ufRJCCCGkAmPDMFohNnT3t91222H48OGYMGECFi9ejC996UuYNWtWpp4ba/3zn//EqlWr8N73vhdvvPEGnnzySQAVZcBLL72Ez372s9UYEqikCQ4dOtQci7uPt956C6tWrcJ+++0HAF2KPQkhxeFDIlIXURRh8uTJ1fzyBx54AMOHD8euu+4KIBsIbPz/jYHAU089hTRNsdtuu2UeTmy33XZ44okn8NJLL+Xu9/nnn8f222+PLbbYIvP6xv1KBgwYUM0r38jWW29d1429vb0dl1xyCX75y19ixIgReN/73oevf/3r6OjoMNu6PPnkkzj88MOx55574n/+53/qavPFL34RAPDrX//aW6+joyPz43oAJIMHDwYAldt+xBFHYNGiRVi0aBHe9a53qXY33HAD3vWud2HAgAHYdtttsd122+EXv/gFXn/99brei0s9x/TAAw/EEUccgQsuuADDhg3Dxz/+cVx//fVYu3att+8333wTc+bMwejRo9He3o5hw4Zhu+22w2uvvVZzrDvuuGNme+OU6qJBHyGEENIXYWxYP60SG27k4x//OBYtWoRf/OIXmDt3LqIowhtvvKEcSn/+859x+OGHY+jQoRgyZAi22267qsZgY6y18Y9tu+22W6Ztv3798Pa3v90cyyuvvILTTz8dI0aMwMCBA7Hddtth5513zuyDENJcuLoZqZsDDjgAP//5z/GnP/2pmnO+kcmTJ+Oss87Ciy++iPvvvx+jRo2q3hiSJEEURfjlL3+JUqmk+pUzXYpQq/8QzjjjDHz0ox/FHXfcgV/96lc477zzMG/ePPzmN7/Bu9/9brP9ihUrcPDBB2Po0KG46667qg9qLEaPHg2gcqP0sf3222e2r7/+enzmM5+pWXfs2LEAgMcffzwjiRw9enR1f1tvvTVWrVpVLfvBD36Az3zmM5g2bRrOOussDB8+HKVSCfPmzcvIDN0ZOS61RIbWMY2iCD/+8Y/x0EMP4ec//zl+9atf4cQTT8Sll16Khx56KPf8OO2003D99dfjjDPOwKRJkzB06FBEUYRjjjmm5lK5eedGynx3QgghpEswNty8YsONvO1tb8OUKVMAAIceeiiGDRuGmTNn4v3vf3/VxfTaa6/hwAMPxJAhQ3DhhRdil112wYABA7Bs2TKcffbZNWOtrnDUUUfhwQcfxFlnnYVx48Zhyy23RJIkOOSQQxq2D0JIGHxIROpm419/7r//fjzwwAM444wzqmXjx49He3s77r33Xjz88MM49NBDq2W77LIL0jTFzjvvjHe84x1B+9xpp51wzz334I033sj8xejpp5/u8vvIe8CxkV122QVf/OIX8cUvfhFPPfUUxo0bh0svvRQ/+MEPvO3+8Y9/4OCDD8batWuxePFiddP2sXHKs/xLl2TRokWZ7Xe+8525dQ877DB87Wtfw4033ph5SOTjxz/+Md7+9rfjtttuyxyn888/P1Nv4ywcKZbMS92q55jut99+2G+//fCVr3wFN910E4477jjcfPPN+I//+I/csZ5wwgm49NJLq6+99dZbXtklIYQQQhoHY8PNKzbM45RTTsG3vvUtnHvuuTj88MOrK9j+4x//wG233Yb3ve991brPPvtspu1OO+0EoDI7zE2jW79+PZ599lnsvffeuft99dVXsXjxYlxwwQWYM2dO9fWnnnoq+D0QQhoH081I3UyYMAEDBgzAjTfeiBdffDHz16L29nbss88+WLBgAdasWZPx3HziE59AqVTCBRdcoGZtpGnqXeJy6tSpWL9+Pa655prqa0mSYMGCBV1+HxsDCvkw4Y033sBbb72VeW2XXXbB4MGDzdSnNWvW4NBDD8WLL76Iu+66S0253cjq1atVX2ma4uKLLwZQeb8+pkyZkvnxBRv7778/PvShD+Hqq6/GT3/605p15Oex8a9t7usPP/wwlixZkqm30047oVQq4b777su8/p3vfCezXc8xffXVV9U4xo0bBwDe414qlVS7K664ouZsJkIIIYQ0HsaG+bRibJhHW1sbvvjFL+KJJ56oxoy1YsJ169apWG/ChAnYbrvtsHDhQqxbt676+ne/+13zD3e19gEA8+fPD34PhJDGwZlEpG769++P97znPfjtb3+L9vZ2jB8/PlM+efLk6qwONxDYZZddcPHFF2P27Nl47rnnMG3aNAwePBjPPvssbr/9dpx88sn4z//8z5r7nDZtGvbdd1988YtfxNNPP42xY8fiZz/7WXXqrfWXn1oMHDgQe+yxB2655Ra84x3vwDbbbIM999wTnZ2d+OAHP4ijjjoKe+yxB9ra2nD77bdj5cqVOOaYY7x9HnfccXjkkUdw4okn4oknnsATTzxRLdtyyy0xbdo0ABUB37HHHotjjz0Wu+66K958803cfvvteOCBB3DyySdjn332CX4/Pn7wgx/gkEMOwbRp0/DhD38YU6ZMwdZbb42Ojg78+te/xn333YcPf/jD1fqHHXYYbrvtNhx++OH4yEc+gmeffRYLFy7EHnvskXEbDR06FEceeSSuuOIKRFGEXXbZBXfeeadyCPzlL38xj+kNN9yA73znOzj88MOxyy674J///CeuueYaDBkyJPNXR8lhhx2G73//+xg6dCj22GMPLFmyBL/+9a+rS+sSQgghpHthbJhPq8aGeXzmM5/BnDlzcMkll2DatGmYPHkytt56a5xwwgn4whe+gCiK8P3vf1890OnXrx8uvvhinHLKKfjABz6Ao48+Gs8++yyuv/5600k0ZMiQqudp/fr12GGHHfD//t//U7OVCCFNptnLqZHNm9mzZ6cA0smTJ6uy2267LQWQDh48OO3s7FTlP/nJT9IDDjggHTRoUDpo0KB07Nix6amnnpouX768Wkcuc5qmlWVJP/nJT6aDBw9Ohw4dmn7mM59JH3jggRRAevPNN2faDho0SO33/PPPT+Wp/uCDD6bjx49P+/fvX13ydNWqVempp56ajh07Nh00aFA6dOjQdOLEiemPfvQj87jstNNOKYCaP+77eeaZZ9IjjzwyHTNmTDpgwIB0iy22SMePH58uXLgwszx7I3nzzTfT+fPnp5MmTUqHDBmStrW1pSNHjkwPO+yw9MYbb8x8VkmSpF/96lfTnXbaKW1vb0/f/e53p3feeWfu53LEEUekW2yxRbr11lunp5xySvr4449nljat55guW7YsPfbYY9Mdd9wxbW9vT4cPH54edthh6aOPPprZH8TStK+++mo6ffr0dNiwYemWW26ZTp06NX3yySfTnXbaKT3hhBOq9TYumfq73/0u098999yTAkjvueeeQseXEEII6cswNqxNq8aGANJTTz21ZtncuXMzsdEDDzyQ7rfffunAgQPTUaNGpV/60pfSX/3qVzXjp+985zvpzjvvnLa3t6cTJkxI77vvvvTAAw9MDzzwwGqdZ599NhMnpmma/vWvf00PP/zwdKuttkqHDh2a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PVfHO6zAh0SEEEL6NEnamJ9QQoWG1113HV555RXccccd2H///TFmzBgceOCBKg+dEEIIIYRU6Ik4r3///hg/fjwWL168aRxJgsWLF2PSpEk120yaNClTHwAWLVqUW9/tN8+NBACPPfYY4jiuuaJaHnxIRAghpE/TE6tedEVo+LOf/QyTJk3CqaeeihEjRmDPPffEV7/6VZV6SQghhBBCKvTU6mazZs3CNddcgxtuuAFPPPEEPve5z2HNmjWYPn06AOD444/H7Nmzq/VPP/103H333bj00kvx5JNPYu7cuXj00Ucxc+ZMAMCaNWvw5S9/GQ899BCef/55LF26FCeeeCJefPFFHHnkkQAq8uv58+fjD3/4A5555hnceOONOPPMM/GpT30KW2+9dd1jb1knUanUVs1nlPnO2uWzaVs6aBrpIAKANscbZPuOuu4gqmw7nqB+okx6gaTnJ9Ar5NYPqQtoD1ARZ5HKVZdjkc4hVe7PV3c9NSq/3Mg/146isPo+QjUsIdcpX/44AKSJUS62S2mcWya9QT6fEQCkZb+zKHHKQ51Dcl8y/1zuq5xxEfjztsuqHKLccBrFsj93W1qEil2mSx7vUGjPpZL/xJPlrp+gZO1t47kShd+EW4nVq1dnttvb22tORe6K0PCZZ57Bb37zGxx33HG466678PTTT+Pzn/881q9fj/PPP79xb4KQZhBF1Yun5ZrJunwsL43Rl8eh050OItleOxeNvoQ3KKR9I8dd6SDKr2v6jOr/rGW56RgKjeM8Y9F14aWZPr00jY1y999WjCedQ/KY+J1GrsNIxXiGg0h7uGQct6m+dgyJP46IcenPT8aA0k1WdurKtnJcsm39vqNK+03l0ttkTd9opKNItk3U+zDOBWdn0tNkfdZ9haOPPhovv/wy5syZg46ODowbNw533313NfZ74YUXMte1yZMn46abbsK5556LL3/5y9htt91wxx13YM899wRQedbw5JNP4oYbbsCqVauw7bbb4j3veQ9++9vf4p3vfCeAStx58803Y+7cuVi7di123nlnnHnmmRlPUT207EMiQgghpBl09S9Esg+g/lUvukKSJBg+fDiuvvpqlEoljB8/Hi+++CK+8Y1v8CERIYQQQkgNGhnnhTJz5szqTCDJvffeq1478sgjq7OCJAMGDMBtt93m3d8+++yDhx56KHicEj4kIoQQ0qdJG7A06sbgod5VL7oiNNx+++3Rr1+/zKzV3XffHR0dHVi3bh369+9f6D0QQgghhPQ2Ghnn9RX65twvQgghpBuod9WLrggN999/fzz99NOZKf1/+ctfsP322/MBESGEEEIIaQgtO5MojuNqjp50/+j8Z9en43cMKU+QkUut+nO2pYPIdgz5y9uky8f1BBleIL0t3T6GV8ipr96X0ZfyIYlt6Q1S7qaSm9Ma5hzSDiPpDcrPN5fjtvLPVb654SSqt6zRWE+6VbnpJMpvn5SlJ0j6jkQed1k4h0RCdCTqu+eDz1dUaZzNf47LPu8PEJVl7nV+XcSWo0ied2FOIx8yt707KcF/LiAtecuVv8rjMFJtN9RN0bzvijuWnpiGPGvWLJxwwgmYMGEC9t13X8yfP18JDXfYYQfMmzcPAPC5z30OV155JU4//XScdtppeOqpp/DVr34VX/jCFwqNnZCeII5LVU+F6Y5BvivGdvlIb43PQ+OPCyznje0wivPrNtBBJPctHUQ6Vpbvu/59aedTsXHrc6GUW+bzF9Wu74/jQvoqEtfJto2+/7jbZt+J9AaFeSpd94x01qSpiMvEZy0dRspjk/neh/UlnUWWZ8itHeL5AbrXEyTbqs/De630O4VS+T2Xg7Pet3uM05DvS9+J8zZnWvYhESGEENIMUjQgSO9Cm1Ch4ejRo/GrX/0KZ555Jt71rndhhx12wOmnn46zzz670NgJIYQQQnorPRXnbc7wIREhhBDSQ4QKDSdNmtQQISEhhBBCCCG1aNmHRFEUV6fJmUtzuulmKr3MSnWSKWH+dDW3vS4T21Z5yLL0gellpX6B+yq5+6q/LqBTvMzUNk9KmdW3nrYsp3LLqcWyvlMeuIS97Esi9+2bidzo9DPf03GVMZT4n4WrJUw9U43leSWnKcu+ZDqa2pdKT9tUv1yWU43leSeWtO+Uy86L5U/F51mO86c1W+li8uMsqynscln7rlNSn7W4jIemG3rKzCXvVXqamCedtjll9S3D2xPTeZMGCA2LtiekrxFFUfXaaqVaIZMSFpgGpFKn8mPKImlXNccSsK/QNC0ZL0VR/tjscRuqBc9YG5lOVnNfsS/dLEwDYH9e7nkGL2Yc18g4r9B9XWwb6WQy7d9SFLgqAJ2K5k8JC0khi0RfMl4047ZyNg7TIf2mcz6Rn52xL0kj088icbyt30XcoRpVvW0BIBIxnu9aK9PeYohruDMWuZ9mwDgvnJZ9SEQIIYQ0g3TDf0X7IIQQQgghrQXjvHC4uhkhhBBCCCGEEEII4UwiQgghfZskVTPou9QHIYQQQghpLRjnhdOyD4niuK2ab+1zEAHZvGyZG205hkL6lu1NB1GbXPLe8AaFOIn6GY6iwH25PherL+koUt4nw2nkq285h6R3xuc3Avz56KpM+o8Cl76VTiJvX92I5XSx8tFLaewtdz1BVi57LPsqy+VO/cvaR04it/x8yp2irsoZz2zWWKY+v76sC5nrLj5rVV85iMSltqHL2st99fMWpx7PkHQQScdQ6JL3GX+VyE9vJScRl0YlpPm4TiLpxJEX8DC/Tv2OG1ke6iDSS7DX395yENnL1BuxldM+lkthG+9L7tv3vvQxKfp55Md1oY6hInGd9kz647iQOE/WDb1/mHGeU27FfFJalKYyLqvfYSTL4nL2fWpvZf3OInnMErGEPRL/EvcStS/k70sGUtKpI35V1D4k0T4Tfho5PeqYBuQAyXEWdRSF7VseX/d7HDaORsA4LxymmxFCCCGEEEIIIYSQ1p1JRAghhDQD/oWJEEIIIaR3wjgvHD4kIoQQ0qfh0qiEEEIIIb0TxnnhtOxDojiOq3nKIfnntoNI5F0rB5HfM+SORfmKSmEuH5+DSG5bDqI26f0x+pZunzbHWaScQvJ9KceQyAFXTiO5b5kz7uS2BzqHrFx4Xz66zP+38s/tbWS3PY6ihifkei5cOh9dNvXnm6t86JKb6y6dNf5c9kR6gKTDKJb565v6U74i4fVJytl9KweRrJ/k149i4SASfXUqD5Afue9GYrsJxPcR+f4A5SaQ/qIcj9CmbXH9dM8VlVcv25Zqj4kQ0ktxnESw7q/5Xhq7rbHttNfuncY5iICsh6iog0g7M8W2M7bY6Nvyc4a4lWTMGOIcqjU29/OyYkTlsjI8ldpxlO8kUhh9dSfWvTtTpDxAYTGf9DfKffnitFR+ljLmC3AWuc4gQMdVylmU+OMuFRNmxJQixlOOrmzbstiVdvdk27uOInl4pQhGxnAhniDrPAm9ViL1/E4lvWeR3LdTF837rpCu07IPiQghhJBmwGnIhBBCCCG9E8Z54QSJq+fNm4f3vOc9GDx4MIYPH45p06Zh+fLlmTpvvfUWTj31VGy77bbYcsstccQRR2DlypUNHTQhhBDSKDYGD0V/CCGEEEJIa8E4L5ygh0T/+7//i1NPPRUPPfQQFi1ahPXr1+Pggw/GmjVrqnXOPPNM/PznP8ett96K//3f/8Xf/vY3fOITn2j4wAkhhBBCCCGEEEJI4whKN7v77rsz29/97ncxfPhwLF26FO973/vw+uuv49prr8VNN92ED3zgAwCA66+/Hrvvvjseeugh7LfffnXvK47iaj61zGeWniA3j9ty1Kicb+kgMssdf45nHEA9bh4xNuURinPLQh1E9rabux7mM/L1Vas/1d7ZLuwcUuX57U2nUGAuuy9/vUdz1WV5YD56KnPM0/y6iUiWlrnscSJyxoVHyOcsku6BsvQayLbiEbh0FKGziCdI5JcHOoe8F17TMZQtLyWlnJobyj0OqpIslG3hPzesctdRJa+P2m+U1uyjGVBoSEjziaJ4k8ciwI2h7qfKhSE9M/munkpzN66Tffm3QxxElX05sVaAbxOow0Hk2VZtPeOq1LccRm7cbRwDw0FkeSsjT9zmi/Eq9ZHdDojrQj2VkkaGfdbtxRfHyZgvDo35StKJI2Itp778PKS3UrsjhVdIuSc9zptEfpadYtv4fJTLzBPHGX4jieUocj1DSkkkFVCx/8OXjiLXBRSLtta+tA9JnBvyM3BiQOv7kbrbTfydaCOM88Ip5CR6/fXXAQDbbLMNAGDp0qVYv349pkyZUq0zduxY7LjjjliyZEnNh0Rr167F2rVrq9urV68uMiRCCCEkiHTDf0X7IIRoGOcRQgjpSRjnhROUbuaSJAnOOOMM7L///thzzz0BAB0dHejfvz+22mqrTN0RI0ago6OjZj/z5s3D0KFDqz+jR4/u6pAIIYQQQkgLwTiPEEII2bzo8kOiU089FY8//jhuvvnmQgOYPXs2Xn/99erPihUrCvVHCCGEhJCmjfkhhGgY5xFCCOlJGOeF06V0s5kzZ+LOO+/Efffdh7e97W3V10eOHIl169bhtddey8wmWrlyJUaOHFmzr/b2drS3t6vXoziu5iGrHGOPp8b0BKlykZet8s3z87C1g8ifZy1dPZbLp9TP3ZcYR1EHUb/8XHflFDLcSpaDSDmNRJ6323+oc0j2rV0E+bnwVm676SCSue6+HFuPr8hsWwOvtyXxX8V07rpR3iZymp2ccVk3LgvnkPi8ZP2y8AL5nEXKVyTyx+W+pINI1pfHvByXnTJky9SHXcRnpClljou8LGfz7N1c9g0vePtWHqG0LbdMO6b81zTVdym/P9W3/K5v8Be5HqNmkTYgV72vrXpBSL3kxnmOk8j0CGW8NJYDxx8XyAt87PMEhTqIzHg13xPUSAeRbC8dRNK3qfydIlb2OYt8MV2tvrVHqP72KqZT2/59mTGiW17YSdQ474rpmvTdyw0PZSLLPTEfoOO01DnGsi/lL5JxWCxjxnwvpVAO1eEcksKdLEkkyt2h+VWPwUhHUcnTv9YEBcZE7udrNC2n4njDfx2WuB+v9C7pYeX7i5oB47xwgs68NE0xc+ZM3H777fjNb36DnXfeOVM+fvx49OvXD4sXL66+tnz5crzwwguYNGlSY0ZMCCGEEEIIIYQQQhpO0EyiU089FTfddBN++tOfYvDgwVXP0NChQzFw4EAMHToUJ510EmbNmoVtttkGQ4YMwWmnnYZJkyYFrWxGCCGENIs0TQv/haiv/YWJEEIIIWRzgHFeOEEPia666ioAwEEHHZR5/frrr8dnPvMZAMC3vvUtxHGMI444AmvXrsXUqVPxne98pyGDJYQQQhoNl0YlhBBCCOmdMM4LJ+ghUT1P0AYMGIAFCxZgwYIFXR4UUMl33pjzLD1CvpxxlftsOYZUDrhwFnkcR9ITZLp6lNvHcPk45a6fqNJ34xxEcqxqXzIv3nIryRzwgONk5ZOrvHkxFp9rQPZn5aaH5qOH5KvLPOyipB4PkeWdsbZlPrvrktGemfx88g0NsuXiGKn8dac/mQevPEFl6RwSxfKYexxFqm/hBepehIMoEd8X5Rfw54yrcqd9mrbJytlN4RiS5bH4vNMk//uqy2r7jfrYPZiQPksURdXrruURcl0Z4ffi+p1FMmaUMYmOG2S55Q3qulspxEFUKW+rv65yFvljYzdeshxEMk6z4jxfDBnqN1LngukocuNRv4dSYrmvCmHFaZ7qMj6UcVYs+xYOolQcM+UdcurLmE96KpUrUvqOxDEvd3q+950yhuuXbVv2x23Sj5QhaXCMrjxQm/4dx2G+Ken+keXu9yuWIXgkj3f2uytD9ijyx+yZ7dT/3cvuq/lOIhJOl8TVhBBCSG+B05AJIYQQQnonjPPCaf4yMoQQQgghhBBCCCGk5eBMIkIIIX0a/oWJEEIIIaR3wjgvnJZ9SBTHcTU3WOU3y1zqjCeoLbesvnIrL9vJ9VQeIMtBJN0+fo+QW67KZA53oIOorZ9nXwUdRNb79uWnq/cpc8KN9215hny57abXwMhPj0SObexzEjUyVx1A6slplqK1FDK3XfSlnDciH9rZVrnt4hglwkOjLrAiJ1zmr7v+o7LKP/d/XmVfvnlBvLnsdeC70cgyrQXyl0tKymVQqqsMAEoQbgK5b3Uu5ZfbbZMN/9/8Ca4UGhLSfFwnken0i+LcMuUckl4hte1xZXg9GvU4iCwPZn4MouJTw6XkcxDJ+lZd7RyScV1+HK68QMa2jrPFMVfl7jHzx4Tm8S9Z55njWjL8RVYc18g4z3YQ5d+LE+H9KaX+uCwp+x1GyjvkfCYy5lOeyrgsyrP1y8It6X4eUdk4/rKt+BVXXgdQbmwcnkF+XiX567bjS5Ixj3IOSSeUqO6J/8vKZ1TbBbkRfS0V55VyFDkxnrzOQtbN90s1A8Z54TDdjBBCCCGEEEIIIYS07kwiQgghpBmkG/4r2gchhBBCCGktGOeF07IPiaKoVJ3Gq5crzV8GVC916p92HLp8qTddyZrmaqRthUznbZPL1Hva1ir3pYSpVLXQ9LLA1Dj3OMljELzcacDUYzXt2EgXs6YaW/V9dYvimwKpphIbS6nK1DVfulpSNqYWi3mxcmlVeYx87VVdtVanSEeTS6mqzyc/fS00VU2mbSlUefb72+lMPS4l/unApdRfrj5v9R1wPj/5fRH71umEiSj3f9/ccr3Uau2+N6adNZM0rfERdaEPQkj9RFFcjcl8S97LcisFTKaM+Zdizu5Lx5vyPm+luMul5WWcWKq7rqlDMOLVTAxppJf5lp2vtW83plRaBkMbIGNGnY6WPxadqmbEhCpOz1/yHhDnmYgRrfNK0pPpZsikmxkxgrwXixz2NJH3fZmetqlcpoupJe3V5yNjwsxmVjmgYjYEocO6Ar8Cq3Qyo365M7OZOt9VpXSQy9YbKWLyOuCmhKm4S5wLVvpZqq5v+QlI+hzM/770RLoZ47xwmG5GCCGEEEIIIYQQQlp3JhEhhBDSDCg0JIQQQgjpnTDOC4cPiQghhPRpUhRf2rRvhQ6EEEIIIZsHjPPCadmHRHEcV3MfzSUt43zvhbVdCszTzrh7rKXhA5eO9+V8W33rnHDRt3QYyfr93PcV5iBqEw4jmQMe0l9IbjoQvtxpybOMbsmTmw7Ucg4hu204jXx9F8V34fM5hSptjfpiu+zkp8vlMMsiBznUWaTy18v5OcxRNsXbRB7ywOaBiPzz1J+wnik3lqVHYpRb7Z1yu29xi1C+I+GcSvMdRrpMLsNb2ZaeI0JI7ySKoup13bfkPZC9Xtj+Iss9me+t0Y4hyz3p9yNFyhPUVnddFc9IB5HlLHLiWyu29XkqAb/XUo7Tjk/9Pk7dn7svv3NIO4r8MaHPJSr9RdpLCW+5IiTuC17yPr88lQ4h6YqUzqGyv35Uzo/b5PEvdwqPUEnsqzO7rdyRall7p0x9PvmeyUrflmuywK/Eomvp9pSxVpyJw7P7laOMVcwuPEOqfuzUFcvQy2uOODd0XJbvugKkK0589rKu8z56QElEukDLPiQihBBCmgGnIRNCCCGE9E4Y54XDh0SEEEL6NGmaFp+G3MeCB0IIIYSQzQHGeeFwXj8hhBBCCCGEEEIIad2ZRBUnUSXvMpJ52CJv280/144af561Lx8ZqOHAcbZ1DreRh23lgHtyvs2+VY63/33LHPCSZ1/KZxSYb27Vd4+p5SBS78PjHAJq5La7/irDOaQdRP5tq76vblF8UyDlk2/LOWTVd4+hLItlbnsk8s0NZ5HMGXePocpVV14JIx9d5MbLi1+2f7+xyPprgiwvGX98KDl54TLfvGQ4hlR5Iso9DqNYuQrE90eWy++T+D5q79CmY676Ftfmjd6DKJIZ9t0P/8JESPPJOImUVyjfM6T9RYZHKKp/W7eV8aa1L8MrlPEfWY7FsHhVOotcD1EjHUSyvi+e7Mq+ZVwXZ1yg8viK88R0Eslyj5/KdBKFbRfBitN829JJpBxE8j5fluXCYaTKN7VXDiJxCOyYL1u/7H4Gsm5nd4pt/D5G7RwS5xVkbJRfX5yiqi/lM1L7Fs4o5zqg60qnkH9bti/LfTnXbX1dFbGcE//L630zYJwXTss+JCKEEEKaQpqaotC6+iCEEEIIIa0F47xgmG5GCCGEEEIIIYQQQjiTiBBCSN8mTVI1Jb8rfRBCCCGEkNaCcV44LfuQKIriai6xL6e7su3kK8dtuWWAztlW5SIHWedKe3LXPf4ioJaDSPbty/m22hrunoCccdOVVNBBpP1J+cdU1RUJyyWPc6jWtttelsn8cV/bSn1ktz05tpaDKDR33ZcXay3RmELmKPvbl2U+ulMuy+T7VB6hRJRD5DfHsr2Tg274ARqJzAEPLS+JcuvG4h5T6S+SbVW58kLV7xlS1w3hM5LuAXm9lG6DOM5uu9fjJJbnkWxb+3rfFBowCxl9K3YgpDBR5FzHDT+Pe72X91rtqZS+QP+9Ps64Ci0HkYxJAr1CTn3XGVRrWzs1RX0Z78q4z/XrGDFiiIMIAEr98j1Btn/TiF+Vd8iNTy1PpeEcspxFGSdRpkg5oUIdRDK+8RESM9Tcdu7N4larHEMhziFAO4vK5U1xmjwGiTjeylmkYj55TPP7lj6jorjHMJZxVskf8xWhXM46MFWcJYMT6Szy1JfXM+1SkjG86Dvyx4BJeVN/lq+t7L6PqAcCJsZ5wTDdjBBCCCGEEEIIIYS07kwiQgghpBlw1QtCCCGEkN4J47xw+JCIEEJIn4bBAyGEEEJI74RxXjgt+5AoikqINuRS+nK6K+VuDrGR1275jVSutMixdPJrZQ63mZet9p3ft9y31dbyAoXkjLf1k8cgzEFU6ifz6uW+8nPKVV/is26TYzG8QT5HkXYQiVxo6T0w8s+1ByHKLetO5EVMOoasXHZZXx6XspOfLo+v5Siy6neWRb56P6duZ9gx1Pn/nTXr1UJeGGXLknWjUMe45C13vyNpSRxD4RTSHiD5fRL1PfuWviLVt7weSjeB/P6JXHm3XI5TuZLijdd7IVAghPRKog3/AbXupx7/i3kvljKZAIeR5SBSMaXhuVTxquOaVI4bv8/IimeV08iJpxrpIKq0d+I26RQSMWAjvZbaVyQ+L4/PqNKXOFc8vxPImFyfZ/CWS49iIRIrjkNuuXQIKQeRdBSVxX1elguvkHucynG2LJExneEVkocw6yiqP4brCn7XZPacVi5I+OMuVd+N+Yz40Occquw7P94si7qWY03Xl98BcaJ5XHG6beL8u3m/E5Gu07IPiQghhJBmwL8wEUIIIYT0ThjnhcOHRIQQQvo0XBqVEEIIIaR3wjgvHK5uRgghhBBCCCGEEEJadyZRHMfVnE3t48nPAdf54Ea+uMx9NnO+S7llqq3M0zZzwH152EZbK+fb4yCqtM9/X6EOInNfYmxujnib+Hy0g0g4bjx+qkp9ub2pvWyrHUVWPrp0ECFbjvycW+nqKYr0CLmkkM4hUW44iqQ3qOTkJJfTbJl1jGRuu5XTH7n57G3+uiq3XaWvW6ahTchjIFQP5pTTNBHnreEocstVmXIR+PtWrh+PR0h+F6W7II5F7ru8zoj3qX1JifNveS0WXoQN55L8DjcDTkMmpAeI4soP7HuHez/1OoWgPUD2vdvnCfK7Cq2+tePIcd5Y8amKMWWsJf2PIoYJiSEDHESV+s59xHAQ6RjRH4f7/EnmuEVfVjwrj5kbt2t/i3FuGA6ikLDP1B4ajiI31lIxnnIUiZhPOIfkfb0s3ZJOnOZ3CgFQDiIRx3ldkvXHcF3B65oUx0h+9yQ6rs73DqWx/OzCrjG+a5KKp6QrSTiGrGtpGskYb1N/0mXlG3dPOIkY54XTsg+JCCGEkGbA4IEQQgghpHfCOC8cppsRQgghhBBCCCGEkNadSRRFUXU6mm/Je1kevOS9sTymd1l6tcR9/lTfesai09OcKdBmypZ/arDqW7V3pg4HprLpJe6N6cByLE57mV7WZqaPZbfbZN+eaeeyrXofRvqYTBnzTa1sdHqZj6JL3sv0NL10ubOMpZgWWxJTV+XU4c6yOEZyWi3qX/68HFAXqLFErDjXsnV9S6ECJZlmJdPTjJQ+scp9ply2lSl61jL08vsmp5a733WVHia+P6pcLVufv+Q9AMSpO3XfaJvENes1hTS15/fX0wchpG6ycV79aVsNXfJe9W0pCLq+5L3ctxmfmuloxvLvzvXcjtsMzYBnmXsrvaxNjsujO7C2TbWCkU6mjpH6HcD9fcJIHSzlx5e1CEmxMVPaZRxXVkHFpjIZM6h0M5lCJDUBIo1ILHMfO3GdTEWTdaNOQxPgPUQyvSws/cyKhd2YUMWLxpL2qlwcU5lSlrqxUeq/XsnBpLF/LLETw6vzKPIrIuS+y6K9XtY+dTeyZZ40uJ5IN2OcF07LPiQihBBCmgFjB0IIIYSQ3gnjvHCYbkYIIYQQQgghhBBCOJOIEEJI3yZNU7VaTFf6IIQQQgghrQXjvHBa9iFRHJequZE6Rzw/T9vKr1T5yQFL3styy8Vj+Y1UHrfKGc9fxtB0Jxl+JLVvN+dbeZiMnG9r+VLRn17W3nESKcdQft1a9S1nUXb5WWTrBi6bK/uWZJ1E3qoqd9dCeoNcrCXuJXKJeytv29UK+XxFQC3nUODywR5Cc5pDLu5y2fkanYlNkUMu2oe4flKxNLz8Psl9yyXvVd/y++qMzfIZSXdBLPLq9fVUtE86c8s2Lnm/kWiDm6AnnERc9YKQ5uNzT+p7Rf7S5KHb2vXj6Vu6CC23pLWMvbNvc8n7QP+jz69juSZDHESyfaiDqE321a/+Ze3VOGS8ahwT+b6VFyrjJPLH1WrJ+4B4RpaFOohUDCK9Q+59XsQE8r5uLXFvOYvKZff7k/UCqe+TPIai3LIOZQlzFPmWoZeoOFgc37RNxjOivXRDQsbZjv/I9BeJcxqyXMaA+e4feU5DupSEVzTk2qpiN4/PKIqaHy8xzguH6WaEEEIIIYQQQgghpHVnEhFCCCHNgH9hIoQQQgjpnTDOC4cPiQghhPRpGDwQQgghhPROGOeF07IPieIoRrwhf1HlfHtyxCNPrjkARMq3Y7h9POWN9BvV2neUySc3PEFGXraZh+26epRbSfZtuJTEMbM8Qa5XSDqI+sm+DS+QdhiJ+h6vgexLl4f5dVzkuCWN9Oskgbnt8n2VZe61zCt28p19viIg/H1Zx8mHyiEXedslmY/uaS9zwOUhVS6fNn8OeUnlt+eXS8dQrFwDjfMIma4ko1xdTxOZg+76N6QXofb1U15XCSG9k6yTqH6/i/IXmdtW3/keGukYst1Jfk+bz2up49cwp6aOEz3xasEY0nUDFXUQtbVly2WM6ba3x+mPXy33UuRxEkmfjv78ILYbdy/TrshsufQGpR4nUSpihLLYjuJytm9ZX31/ys6/5UHwO4os3Nb2L6x+B5EVh7nHTJ432kMptuN85xBQy+uU74aM4W/r87UB2WuW9heJEyeSbkijb+UsSp1/i2PgvYYzztscaNmHRIQQQkgz4F+YCCGEEEJ6J4zzwqG4mhBCSN8mQWVFukI/Pf0mCCGEEEKIogfjvAULFmDMmDEYMGAAJk6ciEceecRb/9Zbb8XYsWMxYMAA7LXXXrjrrrsy5XPnzsXYsWMxaNAgbL311pgyZQoefvjhTJ1XXnkFxx13HIYMGYKtttoKJ510Ev71r38FjZsPiQghhBBCCCGEEEIaxC233IJZs2bh/PPPx7Jly7D33ntj6tSpeOmll2rWf/DBB3HsscfipJNOwu9//3tMmzYN06ZNw+OPP16t8453vANXXnkl/vSnP+H+++/HmDFjcPDBB+Pll1+u1jnuuOPw5z//GYsWLcKdd96J++67DyeffHLQ2Fs33SyKqgm+luvHzW20coR1uT/HWHaQ8R8V9RspL5Bw4Dg54yH+olp9Kz+SyiF38rBlDrfRt8xVbxN59NIT1ObxCFkOIu0cyvcb1Sp3P2/tSvI7hyxnkc+nY+XfNtJJZE2HlM4i5RwSj8ql28cda1nmSqfyGPofu8v33VnO5sLL86EQ4mqnjlMpzS1THiflLJLeH+ERMtw9rmdIOoakP0B+/9JS1z1CchzSNSD3lZjl5dzyJBHnhrympbUddM2A05AJaT5RFFedF7YLI99n0cht2zHkdxbpGFPGT05cZ/QtY0Idc9bvwTTdPabbR7p88vsOdRCp8n75jiLVVnqYlHMoP9attM///Mzjb8SE0mFUhDTxxyQ+71Ci4g0RE3Tm37cBoFyW5cJj6dbv9DuIOoWjKATZsiRuufIYqXIVx+WXW33HpfwYDgBiFROKuMyJlaV7TMeTsq04ZyHHUv/1rKHXTvManuTWbQY9FedddtllmDFjBqZPnw4AWLhwIX7xi1/guuuuwznnnKPqX3755TjkkENw1llnAQAuuugiLFq0CFdeeSUWLlwIAPjkJz+p9nHttdfij3/8Iz74wQ/iiSeewN13343f/e53mDBhAgDgiiuuwKGHHopvfvObGDVqVF1j50wiQgghfZo0bcwPIYQQQghpLRoZ561evTrzs3bt2pr7XLduHZYuXYopU6ZUX4vjGFOmTMGSJUtqtlmyZEmmPgBMnTo1t/66detw9dVXY+jQodh7772rfWy11VbVB0QAMGXKFMRxrNLSfPAhESGEEEIIIYQQQoiH0aNHY+jQodWfefPm1ay3atUqlMtljBgxIvP6iBEj0NHRUbNNR0dHXfXvvPNObLnllhgwYAC+9a1vYdGiRRg2bFi1j+HDh2fqt7W1YZtttsndby1aN92MEEIIaQJMNyOEEEII6Z00Ms5bsWIFhgwZUn29vb29UL9d4f3vfz8ee+wxrFq1Ctdccw2OOuooPPzww+rhUBFa9iFRHJeqeZq+nG4AiKNSblloDrfMtfXliFveH7Pc8gqV8vdljtPyI3naSweRHJfM4S6JzyfEQQRkvTOWg0g5iUR97RnK/0ystpZzyMrVdQ+xzAu2kH2pC5snn1c6hBLZ1HISGft2PUOyrsx1t7Dykl1HUVE/kfIMeRxFJVlX+gDiMA9QLPLVVXvn3JOOIXVd8PiMZF8AkHi+A75x1CrX1zBxbqixut9t6X7I9p0klc9aXu+bAR8SEdKzhLgzdF3DDQOj3N024k3bWVQyyh2vpbom+uNX5deRcZwvhpRl0s0j+zbiPre9igkLOoh85XJcqq10FMmY0fM+AOFaksfMiAktn57PWymR7khVLmIMWd/dToTXUDuGhIMoFuVlj4MIABzPkPQwFXEQSYq6IkuJ4f5xYikzhhPlyiWp+s6Wu5+fclgm/muKckohv76qG8lt61op64tyz+8Duu/8a3gzaGScN2TIkMxDojyGDRuGUqmElStXZl5fuXIlRo4cWbPNyJEj66o/aNAg7Lrrrth1112x3377YbfddsO1116L2bNnY+TIkUqM3dnZiVdeeSV3v7VguhkhhBDSQ4Qsjfrd734XURRlfgYMGNDE0RJCCCGEEIv+/ftj/PjxWLx4cfW1JEmwePFiTJo0qWabSZMmZeoDwKJFi3Lru/1udCNNmjQJr732GpYuXVot/81vfoMkSTBx4sS6x9+yM4kIIYSQZpAmqZot1pU+Qtm4NOrChQsxceJEzJ8/H1OnTsXy5ctzpwwPGTIEy5cvr273xCohhBBCCCGbCz0V582aNQsnnHACJkyYgH333Rfz58/HmjVrqqudHX/88dhhhx2qXqPTTz8dBx54IC699FJ85CMfwc0334xHH30UV199NQBgzZo1+MpXvoKPfexj2H777bFq1SosWLAAL774Io488kgAwO67745DDjkEM2bMwMKFC7F+/XrMnDkTxxxzTN0rmwF8SEQIIaSv04BpyF1Z3ix0aVSg8lAoZLowIYQQQkifpofivKOPPhovv/wy5syZg46ODowbNw533313VU79wgsvZFI+J0+ejJtuugnnnnsuvvzlL2O33XbDHXfcgT333BNAJbXxySefxA033IBVq1Zh2223xXve8x789re/xTvf+c5qPzfeeCNmzpyJD37wg4jjGEcccQS+/e1vB429ZR8SRdGmv5CaueqZHG9/jrD8o6t2FPlzvN0ccZ3/3XW/Uc2xxvn7Uu6PUD+SZ+xmHrzhDSqJ92V6gpz+Qh1Eet9yXzKHPM6ta+WXi65sN4HnL/yN/uu/78Inc9VVXrfhMNI5zU5escyLl8fIyFGGyI2HxzvUKerKz896X6noWx4X9zzX+eSGB0iWq++fKPd4hizHkOURsj0Vm7bVvkTdpOzvKzHcBomTzy6vSVFSO1+9J3LVG8nq1asz2+3t7TWlhhuX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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_panel(\"Weights 25\", weights, 25)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "id": "b529d5d7", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0MAAAHDCAYAAADm78EeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAACSvElEQVR4nOzdeXwTdfoH8E+OJul9n1AodylXoUjlEtBKQRdkXRXxQKviLsJ64LGyKigeeLL4c1GUBYX1AA9kUbCIFZC7CgLlpkBpKU1PeqVt0ibz+yOd0NgWmtJ2ksnn/XrlBUxmJk8CdPLM9/k+X4UgCAKIiIiIiIjcjFLqAIiIiIiIiKTAZIiIiIiIiNwSkyEiIiIiInJLTIaIiIiIiMgtMRkiIiIiIiK3xGSIiIiIiIjcEpMhIiIiIiJyS0yGiIiIiIjILTEZIiIiIiIit8RkiK7a/fffj5iYmFYf6+Pj07YBEQF48cUXoVAopA6DiFwEr2XUGlu3boVCocDWrVtt267m31JMTAzuv//+NomNWobJkEx9+eWXUCgU+Pbbbxs9N2jQICgUCmzZsqXRc126dMGIESM6IkSHVFVV4cUXX7T7YXO1PvnkEygUiiYfer2+0f7r16/HkCFDoNPp0KVLF8yfPx91dXWtfv2xY8c2+doTJkxotK/RaMQ//vEPREVFwdPTE4mJidi8eXOrX/tKDh06hJSUFHTr1g06nQ4+Pj6Ij4/HM888gzNnzrTb6xIRNcRr2ZXxWtaYeDNMfHh4eCAmJgaPPvooSktL2/z1yLWppQ6A2seoUaMAADt27MCf//xn2/by8nIcPnwYarUaO3fuxLhx42zP5eTkICcnB3feeadDr7Vs2TJYLJa2CbwZVVVVeOmllwBYf/C2pQULFqBbt2522wICAuz+/MMPP2DKlCkYO3Ys3nvvPWRkZOCVV15BQUEBPvjgg1a/dufOnbFw4UK7bVFRUY32u//++/H111/j8ccfR69evfDJJ5/gpptuwpYtW2x/121l2bJlmDlzJkJCQnD33XcjNjYWdXV1OHz4MFatWoXFixejuroaKpWqTV+3rT3//PN49tlnpQ6DiK4Cr2Utx2tZYx988AF8fHxgMBiQlpaG9957D/v378eOHTva/LUa6oh/S9R2mAzJVFRUFLp169boP/zu3bshCAJuv/32Rs+Jf3b0B5KHh8fVBSuxiRMnYujQoZfd56mnnsLAgQPx448/Qq22/rfx8/PDa6+9hsceewyxsbGtem1/f3/cc889l90nPT0dq1evxltvvYWnnnoKADB9+nT0798fzzzzDHbt2tWq127Krl27MHPmTIwcORLff/89fH197Z5/55138Oqrr7bZ67UntVpt+7siItfEa1nL8VrW2G233YaQkBAAwF//+lfceeedWLNmDdLT0zFs2LA2fz2Rq/9bcjcsk5OxUaNG4ffff0d1dbVt286dO9GvXz9MnDgRe/bssbtzsXPnTigUCowcOdK27dNPP0VCQgI8PT0RFBSEO++8Ezk5OXav01RtbHFxMe699174+fkhICAA9913Hw4ePAiFQoFPPvmkUay5ubmYMmUKfHx8EBoaiqeeegpmsxkAkJWVhdDQUADASy+9ZBv2fvHFFwEAer0eKSkp6Ny5M7RaLSIjI3HLLbcgKyurxZ9VRUWF7fX+6OjRozh69Cgefvhhuy/XjzzyCARBwNdff93i12lKXV0dKisrm33+66+/hkqlwsMPP2zbptPp8OCDD2L37t2N/j6uhvj5fvbZZ40SIfF1X375ZbtRoe3bt+P2229Hly5doNVqER0djSeeeMLu3x1gvQva1J3Qpv79rF69GgkJCfD19YWfnx8GDBiAd9991/Z8bW0tXnrpJfTq1Qs6nQ7BwcEYNWqUXblFU3OGPv74Y1x//fUICwuDVqtFXFxck3dDY2Ji8Kc//Qk7duzAsGHDoNPp0L17d6xateqynx8RtT1ey7Ja/FnxWnZ5o0ePBgCcPn3atq2kpARPPfUUBgwYAB8fH/j5+WHixIk4ePBgo+PPnz+PKVOmwNvbG2FhYXjiiSdgNBob7dfUv6W3334bI0aMQHBwMDw9PZGQkHDVnzm1DSZDMjZq1CjU1tZi7969tm07d+7EiBEjMGLECJSVleHw4cN2z8XGxiI4OBgA8Oqrr2L69Ono1asXFi1ahMcffxxpaWm47rrrLltza7FYMGnSJHzxxRe477778OqrryIvLw/33Xdfk/ubzWYkJycjODgYb7/9NsaMGYN33nkHH330EQAgNDTU9oX1z3/+M/773//iv//9L2699VYAwF/+8hd8++23SElJwfvvv49HH30UFRUVyM7ObtHnNG7cOPj5+cHLywuTJ0/GqVOn7J7//fffAaDRHbeoqCh07tzZ9nxrnDx5Et7e3vD19UVERAReeOEF1NbWNnr93r17w8/Pz267eFfrwIEDrX79hqqqqvDzzz9j7Nix6Ny5c4uP++qrr1BVVYWZM2fivffeQ3JyMt577z1Mnz69VXFs3rwZ06ZNQ2BgIN544w28/vrrGDt2LHbu3Gnb58UXX8RLL72EcePG4d///jeee+45dOnSBfv377/suT/44AN07doV//znP/HOO+8gOjoajzzyCJYsWdJo38zMTNx222248cYb8c477yAwMBD3338/jhw50qr3RUStw2sZr2VtRUwsAwMDbdvOnDmDdevW4U9/+hMWLVqEp59+GhkZGRgzZgwuXLhg26+6uho33HADNm3ahNmzZ+O5557D9u3b8cwzz7Totd99910MHjwYCxYswGuvvQa1Wo3bb78dGzZsaNP3SK0gkGwdOXJEACC8/PLLgiAIQm1treDt7S2sXLlSEARBCA8PF5YsWSIIgiCUl5cLKpVKmDFjhiAIgpCVlSWoVCrh1VdftTtnRkaGoFar7bbfd999QteuXW1//uabbwQAwuLFi23bzGazcP311wsAhI8//tjuWADCggUL7F5n8ODBQkJCgu3PhYWFAgBh/vz5dvtdvHhRACC89dZbDn46grBmzRrh/vvvF1auXCl8++23wvPPPy94eXkJISEhQnZ2tm2/t956SwBgt010zTXXCNdee63Dry0IgvDAAw8IL774ovDNN98Iq1atEiZPniwAEO644w67/fr16ydcf/31jY4X/36XLl3aqtf/o4MHDwoAhMcff7zRc8XFxUJhYaHtYTQabc9VVVU12n/hwoWCQqEQzp07Z9s2ZswYYcyYMY32/eO/n8cee0zw8/MT6urqmo110KBBws0333zZ9zN//nzhjz/imoo1OTlZ6N69u922rl27CgCEX375xbatoKBA0Gq1wpNPPnnZ1yWitsVr2eXxWtaY+PP/xIkTQmFhoZCVlSWsWLFC8PT0FEJDQwWDwWDbt6amRjCbzXbHnz17VtBqtXZ/n4sXLxYACF9++aVtm8FgEHr27CkAELZs2WLb/sd/S4LQ+PpjMpmE/v37N/pMunbtKtx3332tfOfUGhwZkrG+ffsiODjYVj998OBBGAwGW4edESNG2O627969G2az2VZjvXbtWlgsFtxxxx0oKiqyPSIiItCrV68mu/eIUlNT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3njjDds2lUrV6N/GV199hdzcXLttN910Ey5cuGDXDruqqsru/TRHpVJBoVDYfe5ZWVlYt25dq94HtS2ODMmcRqPBNddcg+3bt0Or1TYqcxoxYgTeeecdAPYL1PXo0QOvvPIK5s6di6ysLEyZMgW+vr44e/Ysvv32Wzz88MO2RdP+aMqUKRg2bBiefPJJZGZmIjY2FuvXr7cNl1/pzlhTPD09ERcXhzVr1qB3794ICgpC//79UVdXhxtuuAF33HEH4uLioFar8e233yI/P/+Kq4+PGDECgwcPxtChQ+Hv74/9+/djxYoViI6Ots0jEb311luYPHkyxo8fjzvvvBOHDx/Gv//9bzz00EPo27evbb+srCx069YN9913X5NrUIj279+PadOmYdq0aejZsyeqq6vx7bffYufOnXj44YcxZMgQ276JiYm4/fbbMXfuXBQUFKBnz55YuXIlsrKyGt3JulqjR4/Gv//9b/z9739Hr169cPfddyM2NhYmkwknT57EZ599Bo1Gg4iICABAbGwsevTogaeeegq5ubnw8/PDN99802SN/AMPPIBFixYhOTkZDz74IAoKCrB06VL069fP1rwBAB566CGUlJTg+uuvR+fOnXHu3Dm89957iI+Pt33WcXFxGDt2LBISEhAUFITffvsNX3/9NWbPnt3sexs/frxtxOmvf/0rKisrsWzZMoSFhTVZukFEzoPXsubxWtZyHh4eeOyxx/D0008jNTUVEyZMwJ/+9CcsWLAAKSkpGDFiBDIyMvDZZ5/ZSi1FM2bMwL///W9Mnz4d+/btQ2RkJP773/82mlPWlJtvvhmLFi3ChAkTcNddd6GgoABLlixBz549WzTfldpZB3evIwnMnTtXACCMGDGi0XNr164VAAi+vr5NtjL+5ptvhFGjRgne3t6Ct7e3EBsbK8yaNUs4ceKEbZ+mWkgWFhYKd911l+Dr6yv4+/sL999/v7Bz504BgLB69Wq7Y729vRu9blNtkXft2iUkJCQIGo3G1pq0qKhImDVrlhAbGyt4e3sL/v7+QmJiol3ry+Y899xzQnx8vODv7y94eHgIXbp0EWbOnCno9fom9//222+F+Ph4QavVCp07dxaef/55wWQy2e2TkZEhABCeffbZy772mTNnhNtvv12IiYkRdDqd4OXlJSQkJAhLly4VLBZLo/2rq6uFp556SoiIiBC0Wq1wzTXXCKmpqVd8j631+++/C9OnTxe6dOkiaDQawdvbWxg4cKDw5JNPCpmZmXb7Hj16VEhKShJ8fHyEkJAQYcaMGbY23Q1bzwqCIHz66adC9+7dBY1GI8THxwubNm1q9O/n66+/FsaPHy+EhYUJGo1G6NKli/DXv/5VyMvLs+3zyiuvCMOGDRMCAgIET09PITY2Vnj11Vft/j6a+je0fv16YeDAgYJOpxNiYmKEN954Q1ixYoUAQDh79qxtv65duzbZuru59uBE1P54LWsar2WNiZ97YWFho+fKysoEf39/28/ympoa4cknnxQiIyMFT09PYeTIkcLu3bub/Hl/7tw5YfLkybbW5Y899piQmpraotbay5cvF3r16iVotVohNjZW+Pjjj5v898HW2h1PIQicuUUdY926dfjzn/+MHTt2tHqI29m9//77eOaZZ3D69GmEh4dLHQ4REbUxXsuI5IVzhqhd/HG9ALPZjPfeew9+fn52w+Zys2XLFjz66KO8eBARyQCvZbyWkfxxzhC1i7///e+orq7G8OHDYTQasXbtWuzatQuvvfZam65l4Gy++uorqUMgIqI2wmsZkfyxTI7axeeff4533nkHmZmZqKmpQc+ePTFz5szLTnAnIiJyJryWEckfkyEiIiIiInJLnDNERERERERuickQERERERG5JVk0ULBYLLhw4QJ8fX1btQgaERG1niAIqKioQFRUFJRK3mMT8dpERCQNR65LskiGLly4gOjoaKnDICJyazk5OejcubPUYTgNXpuIiKTVkuuSLJIhX19fANY37OfnJ3E0RETupby8HNHR0bafxWTFaxMRkTQcuS7JIhkSyw/8/Px4wSEikghLwezx2kREJK2WXJdY3E1ERERERG6JyRAREREREbklJkNEREREROSWmAwREREREZFbYjJERERERERuickQERERERG5JSZDRERERETklpgMERERERGRW2pVMrRkyRLExMRAp9MhMTER6enpl91/8eLF6NOnDzw9PREdHY0nnngCNTU1V3VOIiIiIiKiq+FwMrRmzRrMmTMH8+fPx/79+zFo0CAkJyejoKCgyf0///xzPPvss5g/fz6OHTuG5cuXY82aNfjnP//Z6nMSERERERFdLYeToUWLFmHGjBlISUlBXFwcli5dCi8vL6xYsaLJ/Xft2oWRI0firrvu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g/FncNP4uRARScORn78OlckB1rtrhYWFmDdvHvR6PeLj4xvdXVMqHZuK9Mwzz8BgMODhhx9GaWkpRo0ahdTU1BYlQkRERERERK3h8MiQM+LdNyIi6fBncNP4uRARScORn7/t2k2OiIiIiIjIWTlcJueMxMEtLr5KRNTxxJ+9Mig0aFO8NhERScOR65IskqGKigoA4OKrREQSqqiogL+/v9RhOA1em4iIpNWS65Is5gxZLBZcuHABvr6+UCgUDh9fXl6O6Oho5OTkuG1dNz8DfgYAPwN3f/9A6z4DQRBQUVGBqKgohxvoyBmvTVePnwE/A3d//wA/A8Dxz8CR65IsRoaUSiU6d+581efhiuH8DAB+BgA/A3d//4DjnwFHhBrjtant8DPgZ+Du7x/gZwA49hm09LrEW3hEREREROSWmAwREREREZFbYjIEQKvVYv78+dBqtVKHIhl+BvwMAH4G7v7+AX4GzoR/F/wMAH4G7v7+AX4GQPt+BrJooEBEREREROQojgwREREREZFbYjJERERERERuickQERERERG5JSZDRERERETklpgMAViyZAliYmKg0+mQmJiI9PR0qUNqFwsXLsQ111wDX19fhIWFYcqUKThx4oTdPjU1NZg1axaCg4Ph4+ODv/zlL8jPz5co4vb3+uuvQ6FQ4PHHH7dtc4fPIDc3F/fccw+Cg4Ph6emJAQMG4LfffrM9LwgC5s2bh8jISHh6eiIpKQmnTp2SMOK2Yzab8cILL6Bbt27w9PREjx498PLLL6NhLxm5vf9ffvkFkyZNQlRUFBQKBdatW2f3fEveb0lJCe6++274+fkhICAADz74ICorKzvwXbgfXpsucYefyw2547XJna9LAK9Nkl6bBDe3evVqQaPRCCtWrBCOHDkizJgxQwgICBDy8/OlDq3NJScnCx9//LFw+PBh4cCBA8JNN90kdOnSRaisrLTt87e//U2Ijo4W0tLShN9++0249tprhREjRkgYdftJT08XYmJihIEDBwqPPfaYbbvcP4OSkhKha9euwv333y/s3btXOHPmjLBp0yYhMzPTts/rr78u+Pv7C+vWrRMOHjwoTJ48WejWrZtQXV0tYeRt49VXXxWCg4OF77//Xjh79qzw1VdfCT4+PsK7775r20du73/jxo3Cc889J6xdu1YAIHz77bd2z7fk/U6YMEEYNGiQ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_lines(\"Weights 50, 50\", weights, 50, 50)" - ] - }, - { - "cell_type": "code", - "execution_count": 52, - "id": "e0aac4ed", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plot_lines(\"Weights 25, 25\", weights, 25, 25)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5f22943b", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/examples/tutorials/imgs/tutorial_6_schematic.jpg b/examples/tutorials/imgs/tutorial_6_schematic.jpg deleted file mode 100644 index d664599..0000000 Binary files a/examples/tutorials/imgs/tutorial_6_schematic.jpg and /dev/null differ diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index 1db413a..0000000 --- a/pyproject.toml +++ /dev/null @@ -1,89 +0,0 @@ -[tool.poetry] -name = "dasf" -version = "1.0.beta.5" -description = "DASF is an Accelerated Framework for Machine Learning" -authors = ["Julio Faracco "] -maintainers = ["Julio Faracco "] -license = "MIT" -homepage = "https://github.com/lmcad-unicamp/dasf-core" -repository = "https://github.com/lmcad-unicamp/dasf-core" -classifiers = [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "Intended Audience :: Science/Research", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Operating System :: OS Independent", - "Development Status :: 1 - Planning", - "Environment :: GPU :: NVIDIA CUDA", -] -readme="README.md" -exclude = ["tests/*", "docs/*"] - -[tool.poetry.dependencies] -dacite = "*" -dask = "*" -dask_cuda = "*" -dask_jobqueue = "*" -dask_memusage = "*" -dask_ml = "*" -dask-pytorch-ddp = "*" -GPUtil = "*" -gdown = "^4.6" -graphviz = "*" -h5py = "*" -hdbscan = "*" -ipympl = "*" -matplotlib = "*" -memray = "*" -networkx = "*" -ormsgpack = "*" -packaging = "*" -portalocker = "*" -protobuf = "~=3.20.1" -psutil = "*" -pyarrow = "*" -python = "^3.8" -pytorch-lightning = "*" -scikit-learn = "*" -torchvision = "*" -xarray = "*" -xgboost = "*" -zarr = "*" - -#xpysom = { git = "https://github.com/jcfaracco/xpysom/", branch = "dask2" } - -[tool.poetry.group.dev.dependencies] -black = "*" -coverage = "*" -flake8 = "*" -hpccm = "*" -interrogate = "*" -isort = "*" -mock = "*" -parameterized = "*" -pytest = "*" -pytest-cov = "*" -wheel = "*" - -[tool.poetry.group.docs.dependencies] -sphinx = "*" -sphinx-autoapi = "*" -sphinx_rtd_theme = "*" -nbsphinx = "*" -pandoc = "*" - -[tool.isort] -profile = "black" - -[tool.coverage.paths] -source = ["dasf", "*/site-packages"] - -[tool.coverage.run] -branch = true -source = ["dasf"] - -[build-system] -requires = ["poetry-core>=1.1.10"] -build-backend = "poetry.core.masonry.api" diff --git a/pytest.ini b/pytest.ini deleted file mode 100644 index a635c5c..0000000 --- a/pytest.ini +++ /dev/null @@ -1,2 +0,0 @@ -[pytest] -pythonpath = . diff --git a/tests/datasets/test_datasets.py b/tests/datasets/test_datasets.py deleted file mode 100644 index 1984e05..0000000 --- a/tests/datasets/test_datasets.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env python3 - -import unittest - -from mock import patch, Mock - -try: - from dask.distributed import Client - from dask_cuda import LocalCUDACluster -except ImportError: - pass - -from dasf.utils.funcs import is_gpu_supported -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_array -from dasf.utils.types import is_dask_gpu_array - -from dasf.datasets import make_blobs - - -class TestDatasets(unittest.TestCase): - @patch('dasf.datasets.datasets.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_gpu_supported', Mock(return_value=False)) - def test_make_blobs_cpu(self): - n_samples = 500000 - - centers = [(-6, -6), (0, 0), (9, 1)] - X, y = make_blobs(n_samples=n_samples, centers=centers, - shuffle=False, random_state=42) - - self.assertTrue(is_cpu_array(X)) - self.assertTrue(is_cpu_array(y)) - - @patch('dasf.datasets.datasets.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_supported', Mock(return_value=True)) - @patch('dasf.datasets.datasets.is_dask_gpu_supported', Mock(return_value=False)) - def test_make_blobs_mcpu(self): - n_samples = 500000 - - centers = [(-6, -6), (0, 0), (9, 1)] - X, y = make_blobs(n_samples=n_samples, centers=centers, shuffle=False, - random_state=42, chunks=(5000)) - - self.assertTrue(is_dask_array(X)) - self.assertTrue(is_dask_array(y)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - @patch('dasf.datasets.datasets.is_gpu_supported', Mock(return_value=True)) - @patch('dasf.datasets.datasets.is_dask_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_gpu_supported', Mock(return_value=False)) - def test_make_blobs_gpu(self): - n_samples = 500000 - - centers = [(-6, -6), (0, 0), (9, 1)] - X, y = make_blobs(n_samples=n_samples, centers=centers, - shuffle=False, random_state=42) - - self.assertTrue(is_gpu_array(X)) - self.assertTrue(is_gpu_array(y)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - @patch('dasf.datasets.datasets.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_supported', Mock(return_value=False)) - @patch('dasf.datasets.datasets.is_dask_gpu_supported', Mock(return_value=True)) - def test_make_blobs_mgpu(self): - with LocalCUDACluster() as cluster: - client = Client(cluster) - - n_samples = 500000 - - centers = [(-6, -6), (0, 0), (9, 1)] - X, y = make_blobs(n_samples=n_samples, centers=centers, - shuffle=False, random_state=42) - - self.assertTrue(is_dask_gpu_array(X)) - self.assertTrue(is_dask_gpu_array(y)) - - # Compute everything to gracefully shutdown - client.close() diff --git a/tests/datasets/test_generic.py b/tests/datasets/test_generic.py deleted file mode 100644 index 7f72bfe..0000000 --- a/tests/datasets/test_generic.py +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/env python3 - -import os -import unittest - -import numpy as np - -from pytest import fixture -from parameterized import parameterized_class - -from dasf.utils.funcs import is_gpu_supported -from dasf.datasets import DatasetArray -from dasf.datasets import DatasetZarr -from dasf.datasets import DatasetHDF5 -from dasf.datasets import DatasetXarray -from dasf.datasets import DatasetLabeled -from dasf.datasets import DatasetDataFrame -from dasf.datasets import DatasetParquet - - -def parameterize_dataset_type(): - datasets = [ - {"name": "Array", "cls": "DatasetArray", "file": "Array.npy", "extra_args": {}}, - {"name": "Zarr", "cls": "DatasetZarr", "file": "Zarr.zarr", "extra_args": {}}, - {"name": "HDF5", "cls": "DatasetHDF5", "file": "HDF5.h5", "extra_args": {"dataset_path": "dataset"}}, - {"name": "Xarray", "cls": "DatasetXarray", "file": "Xarray.nc", "extra_args": {"chunks": {"x": 10, "y": 10, "z": 10}}}, - {"name": "DataFrame", "cls": "DatasetDataFrame", "file": "DataFrame.csv", "extra_args": {}}, - {"name": "Parquet", "cls": "DatasetParquet", "file": "Parquet.parquet", "extra_args": {}}, - ] - - return datasets - - -@parameterized_class(parameterize_dataset_type()) -class TestTypes(unittest.TestCase): - @fixture(autouse=True) - def data_dir(self, request): - filename = request.module.__file__ - self.test_dir, _ = os.path.splitext(filename) - - def test_dataset_load(self): - raw_path = os.path.join(self.test_dir, "simple", - self.file) - - dataset = eval(self.cls)(name=self.name, root=raw_path, download=False, **self.extra_args) - dataset.load() - - self.assertTrue(hasattr(dataset, '_metadata')) - self.assertTrue("size" in dataset._metadata) - - -class TestDatasetArray(unittest.TestCase): - def test_shape(self): - filename = os.getenv('PYTEST_CURRENT_TEST') - test_dir, _ = os.path.splitext(filename) - raw_path = os.path.join(test_dir, "simple", "Array.npy") - - dataset = DatasetArray(name="Array", root=raw_path, download=False) - - self.assertEqual(dataset.shape, (40, 40, 40)) - - def test_add(self): - filename = os.getenv('PYTEST_CURRENT_TEST') - test_dir, _ = os.path.splitext(filename) - raw_path = os.path.join(test_dir, "simple", "Array.npy") - - dataset1 = DatasetArray(name="Array", root=raw_path, download=False) - dataset2 = DatasetArray(name="Array", root=raw_path, download=False) - - dataset1._load_cpu() - dataset2._load_cpu() - - np1 = np.load(raw_path) - np2 = np.load(raw_path) - - dataset3 = dataset1 + dataset2 - - np3 = np1 + np2 - - self.assertTrue(np.array_equal(dataset3, np3)) - - def test_sub(self): - filename = os.getenv('PYTEST_CURRENT_TEST') - test_dir, _ = os.path.splitext(filename) - raw_path = os.path.join(test_dir, "simple", "Array.npy") - - dataset1 = DatasetArray(name="Array", root=raw_path, download=False) - dataset2 = DatasetArray(name="Array", root=raw_path, download=False) - - dataset1._load_cpu() - dataset2._load_cpu() - - np1 = np.load(raw_path) - np2 = np.load(raw_path) - - dataset3 = dataset1 - dataset2 - - np3 = np1 - np2 - - self.assertTrue(np.array_equal(dataset3, np3)) - - def test_mul(self): - filename = os.getenv('PYTEST_CURRENT_TEST') - test_dir, _ = os.path.splitext(filename) - raw_path = os.path.join(test_dir, "simple", "Array.npy") - - dataset1 = DatasetArray(name="Array", root=raw_path, download=False) - dataset2 = DatasetArray(name="Array", root=raw_path, download=False) - - dataset1._load_cpu() - dataset2._load_cpu() - - np1 = np.load(raw_path) - np2 = np.load(raw_path) - - dataset3 = dataset1 * dataset2 - - np3 = np1 * np2 - - self.assertTrue(np.array_equal(dataset3, np3)) - -# def test_div(self): -# filename = os.getenv('PYTEST_CURRENT_TEST') -# test_dir, _ = os.path.splitext(filename) -# raw_path = os.path.join(test_dir, "simple", "Array.npy") -# -# dataset1 = DatasetArray(name="Array", root=raw_path, download=False) -# dataset2 = DatasetArray(name="Array", root=raw_path, download=False) -# -# dataset1.load() -# dataset2.load() -# -# np1 = np.load(raw_path) -# np2 = np.load(raw_path) -# -# dataset3 = dataset1 / dataset2 -# -# np3 = np1 / np2 -# -# self.assertTrue(np.array_equal(dataset3, np3)) -# -# def test_avg(self): -# filename = os.getenv('PYTEST_CURRENT_TEST') -# test_dir, _ = os.path.splitext(filename) -# raw_path = os.path.join(test_dir, "simple", "Array.npy") -# -# dataset = DatasetArray(name="Array", root=raw_path, download=False) -# -# dataset.load() -# -# self.assertEqual(dataset.avg(), 0.0) diff --git a/tests/datasets/test_generic/simple/Array.npy b/tests/datasets/test_generic/simple/Array.npy deleted file mode 100644 index 907c165..0000000 Binary files a/tests/datasets/test_generic/simple/Array.npy and /dev/null differ diff --git a/tests/datasets/test_generic/simple/DataFrame.csv b/tests/datasets/test_generic/simple/DataFrame.csv deleted file mode 100644 index 82971f7..0000000 --- a/tests/datasets/test_generic/simple/DataFrame.csv +++ /dev/null @@ -1,64001 +0,0 @@ -,Dataset -0,0.7063932609783351 -1,0.12458428299176882 -2,0.962183701697323 -3,0.1937916682439188 -4,0.34000743734540895 -5,0.21240357379409458 -6,0.028672133828077095 -7,0.5220634178520068 -8,0.7990692536225442 -9,0.7413241792006954 -10,0.8981589861597749 -11,0.08269121265851309 -12,0.3414438711041572 -13,0.3499833799218369 -14,0.34810155320529745 -15,0.20007240485196476 -16,0.41262395642952443 -17,0.886906762800548 -18,0.7985582040404947 -19,0.8746134574888684 -20,0.906620356446211 -21,0.24340315952408131 -22,0.7334261691702018 -23,0.6558205872107988 -24,0.5143266490021162 -25,0.6971077806001293 -26,0.8008680819483179 -27,0.27741230156607866 -28,0.48081077679400264 -29,0.935685595773633 -30,0.9972611658734756 -31,0.8163424113381034 -32,0.47832720143233975 -33,0.9017676861071231 -34,0.6414039552817995 -35,0.13606994501951664 -36,0.77896892245646 -37,0.9570075053175128 -38,0.1027991587208893 -39,0.12467431275981344 -40,0.7292490778942812 -41,0.9910325731159223 -42,0.4424614416619025 -43,0.2275121260367714 -44,0.0011513830649673151 -45,0.8978243740316011 -46,0.18513747397282998 -47,0.7019405555742418 -48,0.4798294487366508 -49,0.5932722716707536 -50,0.6333789573059049 -51,0.28702569865586636 -52,0.14546946359363533 -53,0.3759897348100507 -54,0.6107362984481817 -55,0.9841111090280206 -56,0.5718879938462326 -57,0.3782001498151154 -58,0.9546163734159245 -59,0.14946880264705464 -60,0.9738557175361436 -61,0.10288329206749969 -62,0.5940233008591965 -63,0.7589307863419045 -64,0.8079010344960813 -65,0.2187305140863267 -66,0.04849018870980537 -67,0.9542629440082304 -68,0.7525880457429308 -69,0.6815351684433862 -70,0.25276262571841723 -71,0.859676441866465 -72,0.8974682163182639 -73,0.08368969902114598 -74,0.23886089993640225 -75,0.3160722303520237 -76,0.9212963220108857 -77,0.8356586339926207 -78,0.5062343185019693 -79,0.30258887245205024 -80,0.9487127733637257 -81,0.9312115728754665 -82,0.14645680761063962 -83,0.414509699895511 -84,0.07293068485946386 -85,0.9256262579468277 -86,0.9736668652324565 -87,0.3434565896263787 -88,0.19715909914359675 -89,0.16568853321527455 -90,0.3004933844154284 -91,0.04145891162286075 -92,0.2916832839674698 -93,0.6094515295872728 -94,0.6732953188623171 -95,0.3180701974219843 -96,0.47679927146008616 -97,0.22844109707973348 -98,0.4032413229553832 -99,0.5500029633946197 -100,0.01314041821335199 -101,0.22289085765613315 -102,0.6856487796616225 -103,0.6135296041099708 -104,0.9399309485409805 -105,0.33521068291135003 -106,0.07735395930159816 -107,0.7744838198903667 -108,0.6367527015772947 -109,0.35024900310225593 -110,0.6154299594514331 -111,0.9078413000630601 -112,0.015933510795783867 -113,0.021652757290512525 -114,0.907144493567386 -115,0.10514402389399435 -116,0.3060284518584626 -117,0.6955377180824206 -118,0.994956198984238 -119,0.5591465969186402 -120,0.04593515776320223 -121,0.7890732720184533 -122,0.5632561081738602 -123,0.9750182249328789 -124,0.9011347328539915 -125,0.01699736458459722 -126,0.20403023708589763 -127,0.4499617069156936 -128,0.21192372811293891 -129,0.03558188423601527 -130,0.8686674793109561 -131,0.08511119325715333 -132,0.9680692636122349 -133,0.6472281392309585 -134,0.4792752957659676 -135,0.2605867391443263 -136,0.39120812590814635 -137,0.30019070475765064 -138,0.5300467864256669 -139,0.9807643597250306 -140,0.08640545006038924 -141,0.5524909415846786 -142,0.4020506798595681 -143,0.6136546224614068 -144,0.2147652254582898 -145,0.3786294830065805 -146,0.9366835216376923 -147,0.35616674086557376 -148,0.5681365646477499 -149,0.6657245459330126 -150,0.1445113545612252 -151,0.7312723485869508 -152,0.6183287125229706 -153,0.8770972389660376 -154,0.14788209344696435 -155,0.5464557860166013 -156,0.5545431295717268 -157,0.7418803814035332 -158,0.8846553417187569 -159,0.15639568021187356 -160,0.43642149946385533 -161,0.7261997120489528 -162,0.932279820223072 -163,0.5151052516862252 -164,0.7252264547440788 -165,0.6080912514136694 -166,0.11602153297869788 -167,0.26678506994393447 -168,0.8147091589105916 -169,0.9504659863142928 -170,0.6612229150591715 -171,0.09037688220607243 -172,0.1316197060948573 -173,0.1444427918291813 -174,0.3526698659148737 -175,0.34034270322050897 -176,0.873355443007745 -177,0.7844589065209571 -178,0.5921575836786666 -179,0.17280266793150534 -180,0.5649729435720519 -181,0.44944709167916186 -182,0.733390085229204 -183,0.3484287259529252 -184,0.8965790075385912 -185,0.08476915162003751 -186,0.8092094583986399 -187,0.6702765134390783 -188,0.8150230776259783 -189,0.42837290577059584 -190,0.9797155128657884 -191,0.08896485331262538 -192,0.574894894106998 -193,0.8839407917827609 -194,0.9093000030581861 -195,0.9923754074459342 -196,0.7074031728776559 -197,0.3821677387113478 -198,0.8420673635245943 -199,0.08193358992412436 -200,0.1681878402043271 -201,0.9779802839016669 -202,0.4186688394413637 -203,0.3361337049366113 -204,0.567661078852346 -205,0.807433825563407 -206,0.47041012029778895 -207,0.6776825153911874 -208,0.645919190357388 -209,0.6214414061757773 -210,0.326585894916818 -211,0.8750108645605625 -212,0.5255376909671294 -213,0.8797086309829139 -214,0.4850764687252891 -215,0.052099843585709404 -216,0.14168861217015805 -217,0.7564534208423564 -218,0.1110009881211711 -219,0.7803147228582703 -220,0.41920007495118017 -221,0.6568513054574713 -222,0.22434829985813987 -223,0.500833781011421 -224,0.3904643688851658 -225,0.18079203241222397 -226,0.5971533449101187 -227,0.5740218390981969 -228,0.38038729757423106 -229,0.8081501007679466 -230,0.9581060754155296 -231,0.33455628376611746 -232,0.3231338508354925 -233,0.29509936461508257 -234,0.5267798668349488 -235,0.6956315374284979 -236,0.44609947663478056 -237,0.41444149446542466 -238,0.27615224330178145 -239,0.2431102392149449 -240,0.22400086581580303 -241,0.1749549897541951 -242,0.4055572628925246 -243,0.4043477203585043 -244,0.4775934901852674 -245,0.9055186553613664 -246,0.11251925970750132 -247,0.7523602913170419 -248,0.7064570571544474 -249,0.42809214684183894 -250,0.7537193875590132 -251,0.20364860969477216 -252,0.6789069158763393 -253,0.7061083533559148 -254,0.21783952169769227 -255,0.6507879532141428 -256,0.8458364244724557 -257,0.7964749682158498 -258,0.41123144452495497 -259,0.4935474928719915 -260,0.0735431819402469 -261,0.9893644036808341 -262,0.27447841094034886 -263,0.5055824849372741 -264,0.9033735793621727 -265,0.9840095582572986 -266,0.3733942158254171 -267,0.12011176207857155 -268,0.314602953145134 -269,0.9914486779031249 -270,0.15417070870548033 -271,0.897855158233045 -272,0.3736975727086843 -273,0.7434954774731075 -274,0.9947464263860253 -275,0.8373074359265639 -276,0.42326302250596093 -277,0.404339224884939 -278,0.8281329125656942 -279,0.6817947760702815 -280,0.31687102440918924 -281,0.4889464037335116 -282,0.8087388141596963 -283,0.9681004794032768 -284,0.09401899889555376 -285,0.3852630001227956 -286,0.34733842952876426 -287,0.15416806862867116 -288,0.2684550252607182 -289,0.04271785476132084 -290,0.6668079914143723 -291,0.9093313622902516 -292,0.0004519271698716354 -293,0.9989815803375613 -294,0.5216213311262968 -295,0.737591042901082 -296,0.016403694456813 -297,0.26704479865553776 -298,0.6320713475701214 -299,0.3961347294912826 -300,0.8829477041922694 -301,0.9500135625300747 -302,0.681237990287242 -303,0.42615665204395614 -304,0.08244614404526174 -305,0.3025487829243786 -306,0.24314210782064172 -307,0.11001478280049393 -308,0.4038980669053066 -309,0.05467066075903515 -310,0.34812036591141493 -311,0.21165546921813705 -312,0.2961804367450648 -313,0.20132131353906735 -314,0.10807469978191198 -315,0.41043326404904557 -316,0.6439956722459447 -317,0.25708244692065785 -318,0.025136050955705258 -319,0.738494559657605 -320,0.5739358430726005 -321,0.8450760690711799 -322,0.4549931187160773 -323,0.359539075160626 -324,0.19717226810575972 -325,0.38017029158072024 -326,0.37227958089353275 -327,0.30001238869151736 -328,0.4331165585594342 -329,0.4881213994938641 -330,0.7962865505314822 -331,0.1912821809762627 -332,0.015851856267498854 -333,0.6676389328610839 -334,0.22108868154422812 -335,0.117983070179976 -336,0.9860364953108385 -337,0.8979910522084712 -338,0.6385509936785615 -339,0.9469133005527328 -340,0.10713684172612836 -341,0.6070968025856447 -342,0.4822265259675995 -343,0.7651852190558246 -344,0.6906692073888034 -345,0.856164129247774 -346,0.6790829570574127 -347,0.0259624776172801 -348,0.8029252969960085 -349,0.41894559411780985 -350,0.853322686521748 -351,0.9428708248777441 -352,0.7808177785805881 -353,0.17114012658406785 -354,0.17215350890149472 -355,0.6613939234435435 -356,0.3438665540907523 -357,0.5370840179540578 -358,0.7352587895269571 -359,0.517880405033661 -360,0.10762286378894548 -361,0.02936229631478182 -362,0.07838123352463622 -363,0.008143980306477228 -364,0.3922950297426435 -365,0.6717627826833351 -366,0.9039853910171485 -367,0.7790536718622522 -368,0.7584505045793216 -369,0.6695626449800718 -370,0.7881800844350414 -371,0.7598235790634787 -372,0.9652418804606443 -373,0.5972231819250611 -374,0.8956907004103347 -375,0.903546994271996 -376,0.6850776588700362 -377,0.07560422599068295 -378,0.19392197620782148 -379,0.29842757090943406 -380,0.6625184382226772 -381,0.4689989829789597 -382,0.36331762000118784 -383,0.4387424066691349 -384,0.8876742805756769 -385,0.9368314319475417 -386,0.09839899260036644 -387,0.3798856557812136 -388,0.17776143870391603 -389,0.7724113705297256 -390,0.04076608063231024 -391,0.33239870942516725 -392,0.1952868279482548 -393,0.6604729303338046 -394,0.753849176135976 -395,0.2137148841267359 -396,0.4456424218658068 -397,0.9570322637565317 -398,0.15412118737946412 -399,0.8906707774533895 -400,0.3488196802943413 -401,0.6872832781772951 -402,0.9929559528493844 -403,0.06085992905620963 -404,0.3317063958134584 -405,0.9040718205321178 -406,0.03634438641929627 -407,0.7875643865445395 -408,0.16403927784824146 -409,0.9549961855241368 -410,0.47183451586682523 -411,0.42995859621217736 -412,0.15796665171802626 -413,0.4021349568476287 -414,0.35142441733528984 -415,0.06084214997961401 -416,0.7897069467779775 -417,0.12871376024185022 -418,0.6938869584497394 -419,0.9040527623572997 -420,0.7542171740678069 -421,0.19426395785743267 -422,0.7949644571325126 -423,0.1302926226985961 -424,0.9022474178451326 -425,0.2012552623982058 -426,0.8110300484552261 -427,0.9876537460021164 -428,0.05198943008763035 -429,0.9254028787880242 -430,0.20493399639189147 -431,0.5314245526820368 -432,0.18903540545343955 -433,0.875873416750441 -434,0.4232872694383054 -435,0.7866699999629634 -436,0.0597845315068537 -437,0.8608687598430724 -438,0.11719292492314826 -439,0.5805654309193976 -440,0.959484826855864 -441,0.9146957077441609 -442,0.9152915011952577 -443,0.5485667450574202 -444,0.6240164600608249 -445,0.7215576123347093 -446,0.8677272140965154 -447,0.014901891556796443 -448,0.8966153911169421 -449,0.23323784629822286 -450,0.16004945207505916 -451,0.9113710210522339 -452,0.2076761091361825 -453,0.6384244505054648 -454,0.8394286216904278 -455,0.7583678813438349 -456,0.09681105347601493 -457,0.2248777708555828 -458,0.22239069691245772 -459,0.4743372886313699 -460,0.9984899858822218 -461,0.7133791884282823 -462,0.6669891880263042 -463,0.9360521313299931 -464,0.7169868635742056 -465,0.8923506600354504 -466,0.6989214758662506 -467,0.6219376892156296 -468,0.6295331920566433 -469,0.7775805142157813 -470,0.388938328988788 -471,0.35957617046103507 -472,0.16305472954825184 -473,0.3968331166383977 -474,0.9138030085278221 -475,0.1869679481716524 -476,0.6914500277432257 -477,0.528987596076375 -478,0.5632680195382317 -479,0.9966911848951526 -480,0.34169791211871015 -481,0.9018617693973757 -482,0.260202472758318 -483,0.7655957078661887 -484,0.29303376504254386 -485,0.8613367132352981 -486,0.4605967224921592 -487,0.1344671888606911 -488,0.3347762347213986 -489,0.5370536620466889 -490,0.16718559721819493 -491,0.24181958220996114 -492,0.929836780489268 -493,0.8134174142473072 -494,0.13481990147893463 -495,0.15589286160632376 -496,0.4887536072783919 -497,0.7841044300767757 -498,0.49612629125055707 -499,0.632786907776311 -500,0.4358865193865399 -501,0.9401042445398022 -502,0.9922076025346052 -503,0.7534389291900073 -504,0.5898314451489233 -505,0.3539643255657665 -506,0.7921674432979712 -507,0.13366013344916938 -508,0.22279438171997168 -509,0.23425841612369458 -510,0.5837252532942379 -511,0.7818760179994642 -512,0.399765966275901 -513,0.5653540706249022 -514,0.6300756290250277 -515,0.510062173030242 -516,0.639749159960778 -517,0.3302968858464731 -518,0.7706303428521042 -519,0.3227292110660027 -520,0.0194017398749724 -521,0.7373031147687062 -522,0.5617433845188611 -523,0.9404283922212828 -524,0.3428134762382108 -525,0.6417505033588093 -526,0.42734315959409563 -527,0.18750061091104286 -528,0.3186949437123252 -529,0.3073964865645066 -530,0.8725992496454695 -531,0.8039846571128857 -532,0.8028848700475217 -533,0.5258449231545982 -534,0.2702982416778069 -535,0.7924354974329844 -536,0.0357532134632661 -537,0.4837279442058572 -538,0.12829894580056622 -539,0.0758619263026068 -540,0.15635604256637747 -541,0.0867592993698002 -542,0.4782439110478519 -543,0.7906016028046146 -544,0.1866458934790617 -545,0.24653680944937661 -546,0.8009722152868745 -547,0.5901751170491448 -548,0.4382626467597043 -549,0.7750113978819351 -550,0.2833066660873853 -551,0.30440786130490594 -552,0.6592979957929412 -553,0.6748125000360388 -554,0.5522365619195873 -555,0.9711374786782043 -556,0.7130082854315236 -557,0.22972835691902505 -558,0.7277719452768893 -559,0.10992526827998961 -560,0.7276401740782039 -561,0.5342634911269983 -562,0.055232943953432145 -563,0.8656901150830463 -564,0.7621790522543915 -565,0.8675788136126582 -566,0.5657897140200089 -567,0.010671452068149345 -568,0.4014515251155223 -569,0.7574758606882994 -570,0.8443844947240975 -571,0.24279281665609864 -572,0.4051735316079371 -573,0.7951223516978574 -574,0.7389422870847938 -575,0.725048221104055 -576,0.2641769054768144 -577,0.556284616733347 -578,0.5972873030849103 -579,0.47489889342840075 -580,0.9640853835553359 -581,0.47206550458302743 -582,0.7553952442537323 -583,0.4683619337344418 -584,0.837554058932295 -585,0.8632461012343773 -586,0.3554492051003745 -587,0.056806103579932765 -588,0.012383694934117728 -589,0.3044881051467677 -590,0.8366200451426843 -591,0.12662096789549615 -592,0.112223872814189 -593,0.9106667283513469 -594,0.9819743688353522 -595,0.4793556621862217 -596,0.3749729752678015 -597,0.5895833616618267 -598,0.5387927459904661 -599,0.9706608443306 -600,0.9685784853629201 -601,0.8702842292062123 -602,0.19115622106013574 -603,0.8794665249723189 -604,0.022675027087456168 -605,0.5990517093385632 -606,0.5065570332055725 -607,0.16237910425202318 -608,0.06300507119915533 -609,0.9382723136768398 -610,0.2441377566337184 -611,0.6781052112673286 -612,0.14022462931332946 -613,0.4087833983088782 -614,0.8592050070013428 -615,0.28386024782737296 -616,0.5956856347169167 -617,0.7866926039717514 -618,0.08071555437477707 -619,0.11539787132533474 -620,0.6620712081169361 -621,0.7018953008338454 -622,0.03582007724432856 -623,0.6896808071672422 -624,0.7183753309431335 -625,0.10880283604334595 -626,0.3260074784849698 -627,0.37979280835333384 -628,0.4932402465135366 -629,0.00554093499519237 -630,0.9100550051987272 -631,0.23770713562269563 -632,0.40147769220444374 -633,0.7382398576427911 -634,0.10971384707693699 -635,0.11767244348482397 -636,0.8037610786025344 -637,0.25238397513373056 -638,0.13023254737831202 -639,0.849811749991386 -640,0.33753630724350336 -641,0.7404915614898513 -642,0.732202292344854 -643,0.3306394075626016 -644,0.8582142432991146 -645,0.29156546240638614 -646,0.9876742206803502 -647,0.02485588706463382 -648,0.9109120834686665 -649,0.6706503175320726 -650,0.6572757973339272 -651,0.5356201364606716 -652,0.54296900585948 -653,0.17201597812451086 -654,0.06094597685411707 -655,0.07081719854339985 -656,0.7603856928210296 -657,0.5259920975282495 -658,0.6176667635639946 -659,0.5969582846931674 -660,0.1876152045650321 -661,0.16437974496354368 -662,0.6342548997241391 -663,0.4552506630815959 -664,0.9028698458705218 -665,0.7269399621337327 -666,0.9401799999709342 -667,0.17617414524248476 -668,0.15439191782370087 -669,0.006652473923425384 -670,0.25310769812139555 -671,0.07705211933351441 -672,0.8656922933769383 -673,0.10980124311146133 -674,0.940774168808039 -675,0.9677631902901038 -676,0.533930898372556 -677,0.011932504025104707 -678,0.6083623380510876 -679,0.5641923120392868 -680,0.6754604386070743 -681,0.09302683109228371 -682,0.5445071059551969 -683,0.530869917019977 -684,0.9015892733644522 -685,0.6164527911021315 -686,0.4141883361129761 -687,0.9833867399943198 -688,0.4742281222475464 -689,0.5206780889179075 -690,0.5104091230268245 -691,0.22167516132306375 -692,0.4301026207206726 -693,0.8709157376249296 -694,0.6451674938856778 -695,0.5677653232693778 -696,0.32925415216485787 -697,0.7516056691602029 -698,0.5696986115478871 -699,0.9297294824449367 -700,0.47387301115431624 -701,0.9027338224918934 -702,0.16681632647153521 -703,0.2492374840593542 -704,0.8802771085919485 -705,0.6795006412081316 -706,0.6151908793223346 -707,0.25904283697797303 -708,0.24763713780478225 -709,0.0181914534081965 -710,0.4671029239238811 -711,0.21201044556973392 -712,0.40445871737808115 -713,0.2061483182507866 -714,0.2894540980648561 -715,0.5062933944873272 -716,0.34844087714528504 -717,0.08706182417378328 -718,0.6059875760774063 -719,0.30006595611772435 -720,0.271486637670151 -721,0.2624922020295922 -722,0.8198938918285157 -723,0.7215347824105165 -724,0.9869848710611123 -725,0.08013173107473526 -726,0.2739204373336084 -727,0.19997804169859312 -728,0.6678455899425888 -729,0.30619016899743334 -730,0.057023260056684344 -731,0.705179693991909 -732,0.34747457626575706 -733,0.07743037320895352 -734,0.9124280140361257 -735,0.8225323585767884 -736,0.9503278306922402 -737,0.1759264422127118 -738,0.3017581346445378 -739,0.26098833703729507 -740,0.15905951805830332 -741,0.9780490143577122 -742,0.1782661958016819 -743,0.6717312365104471 -744,0.6997426468264614 -745,0.8854522062165706 -746,0.2697304668685354 -747,0.8608096821842578 -748,0.6796194243590857 -749,0.8750418740717754 -750,0.3766813908243898 -751,0.39208156382527415 -752,0.13922583689892287 -753,0.6536602225849228 -754,0.24359043832215932 -755,0.12140630255726403 -756,0.4550610285919572 -757,0.8759960754813232 -758,0.16014430627655907 -759,0.04638579722550029 -760,0.24627141586451518 -761,0.3958056208214451 -762,0.4918893890353039 -763,0.3343499886232658 -764,0.1062593949111168 -765,0.02979058631609932 -766,0.4692110174303681 -767,0.6176743800447189 -768,0.544713013993376 -769,0.22460418141567629 -770,0.8778517577465842 -771,0.1521623028085778 -772,0.0922340495780819 -773,0.6412083387672121 -774,0.7219588622829262 -775,0.4687209372411042 -776,0.5722386352888338 -777,0.3660682356638916 -778,0.8629140615022933 -779,0.7980104393400111 -780,0.2913592271246641 -781,0.5217295221633167 -782,0.28101703234649344 -783,0.2664618228432727 -784,0.7390787917944903 -785,0.3544656367603721 -786,0.35472415287851555 -787,0.3428117097173635 -788,0.13763731525302658 -789,0.49518611826758774 -790,0.9700781287806072 -791,0.46864652132200835 -792,0.7438403247900675 -793,0.620501095070359 -794,0.564385126154814 -795,0.6626678611419218 -796,0.38160092571379467 -797,0.7968786789185578 -798,0.9094157296059893 -799,0.9526109652254208 -800,0.792526163694048 -801,0.4767395744550734 -802,0.8420600457699308 -803,0.7387528081699611 -804,0.9895899171261971 -805,0.8098415655834801 -806,0.6194752145920117 -807,0.4509839084329723 -808,0.2337433739973921 -809,0.07092251181350429 -810,0.6252932064936669 -811,0.5878964720676078 -812,0.5007950800092125 -813,0.6779652738663341 -814,0.3894121127552449 -815,0.28414275840928005 -816,0.7344243146818428 -817,0.4511214616360978 -818,0.2893024232477085 -819,0.3948627924099859 -820,0.5734115803430206 -821,0.5688414195583434 -822,0.4906646270789735 -823,0.8696403511324479 -824,0.27283287348874996 -825,0.713399916455724 -826,0.8830261837845264 -827,0.06962801229535087 -828,0.835389601918354 -829,0.16211892835807873 -830,0.48602272406775227 -831,0.9957861753912053 -832,0.26128260293737837 -833,0.9395546671096953 -834,0.12012990673580959 -835,0.4744397636585487 -836,0.899607875384839 -837,0.7143456110157163 -838,0.2894193365577561 -839,0.6502159742478956 -840,0.9848869484402613 -841,0.6786712673496176 -842,0.4947878788927004 -843,0.5790549853808954 -844,0.27588307946139135 -845,0.6278055645484749 -846,0.9746281705008023 -847,0.41024414226147843 -848,0.77285277020377 -849,0.5311697041441873 -850,0.27800768128031594 -851,0.8516572890342698 -852,0.06602367284050692 -853,0.6437722467493058 -854,0.3585435376133467 -855,0.10464609315859508 -856,0.780421978890447 -857,0.7880102933599857 -858,0.5948116555054213 -859,0.7925106044974211 -860,0.8491574382996335 -861,0.9319679977305266 -862,0.6006313376744608 -863,0.891762043148011 -864,0.04052504200351059 -865,0.6737021055961748 -866,0.6540336800850334 -867,0.4510265799694293 -868,0.9854328730897276 -869,0.5722771366388366 -870,0.5894641674143063 -871,0.1856577248501733 -872,0.7114824767643149 -873,0.05856984007625543 -874,0.5861680654845902 -875,0.64876389942088 -876,0.9949471889592796 -877,0.03896510010792553 -878,0.04252381748966794 -879,0.7257529848452148 -880,0.5888321861791709 -881,0.4184747633267071 -882,0.4282354773975713 -883,0.9696938502796298 -884,0.059100454960129056 -885,0.7210540116297395 -886,0.785971395770123 -887,0.3701330301030906 -888,0.3398178662610528 -889,0.602636737178167 -890,0.5210090905031158 -891,0.04474889530791981 -892,0.16755899276315034 -893,0.18878413632388014 -894,0.5381962509531556 -895,0.5168189215992671 -896,0.7022055430639246 -897,0.628757425518552 -898,0.8657363581578144 -899,0.38946304119479447 -900,0.29414512594355635 -901,0.9136463076053433 -902,0.5427867352816654 -903,0.3649493260202492 -904,0.42392940573853144 -905,0.48876127453027085 -906,0.8663022250008484 -907,0.2867113392862598 -908,0.6682442294332746 -909,0.3478266304378387 -910,0.7340306581257525 -911,0.9634532897232087 -912,0.5746036181362145 -913,0.571803205585137 -914,0.24870183319630268 -915,0.6812940859462294 -916,0.700442176323029 -917,0.1859122193010535 -918,0.8235318571749595 -919,0.9851118111753133 -920,0.4311170882430444 -921,0.03183099675558454 -922,0.6585238462753573 -923,0.4534597436750304 -924,0.9785637523174359 -925,0.3424264249615844 -926,0.6989433866754773 -927,0.48749761137448067 -928,0.6051162779418254 -929,0.4268077540076165 -930,0.7518922854758379 -931,0.5772851213287572 -932,0.8766090306441715 -933,0.8774779439391198 -934,0.18448614795495666 -935,0.2063629002902858 -936,0.46071282926999124 -937,0.439380579203849 -938,0.6569813301198446 -939,0.5814831473231945 -940,0.27806335930577275 -941,0.15820190675527113 -942,0.9886176908842482 -943,0.5792818023787343 -944,0.6524417941468065 -945,0.23124135116119982 -946,0.05398126019316596 -947,0.3493511712506888 -948,0.6899436496425851 -949,0.5781767629713007 -950,0.9783807612330677 -951,0.42505315970653623 -952,0.5410965091037471 -953,0.5468987848739449 -954,0.08274459221653574 -955,0.8085570683057056 -956,0.8868725656342623 -957,0.7665366550032445 -958,0.8893161029256885 -959,0.9938815677777569 -960,0.06836820412255296 -961,0.7339283601945898 -962,0.9635944332346209 -963,0.7140463321494971 -964,0.22755241397846815 -965,0.026871369290352054 -966,0.6306615049461097 -967,0.9685112185416654 -968,0.4859578527380468 -969,0.9706557577388094 -970,0.030914021214468845 -971,0.47980682073130854 -972,0.3308156686686473 -973,0.5205976993474064 -974,0.9604249731618639 -975,0.9960016584993147 -976,0.7417612928878707 -977,0.0648344053799903 -978,0.8390517556165022 -979,0.44288188532417283 -980,0.4845578141943423 -981,0.9204170728310902 -982,0.24161981443058056 -983,0.5693056996324632 -984,0.6804591232992444 -985,0.3475470524900133 -986,0.8588638106247906 -987,0.25167728719533644 -988,0.8844533525183681 -989,0.9774766556636307 -990,0.18322732456659485 -991,0.33361684566882754 -992,0.6516868958395138 -993,0.4358781720232755 -994,0.7209479052371849 -995,0.9559532836501128 -996,0.9086911780627728 -997,0.1683299301453598 -998,0.33448665651030174 -999,0.2046343861419928 -1000,0.07519911784845112 -1001,0.526182446507232 -1002,0.8091900258335185 -1003,0.16156736866718768 -1004,0.5849245746039416 -1005,0.24955867343049354 -1006,0.26864022577284274 -1007,0.5092326855360019 -1008,0.08903107714475833 -1009,0.4743129412061875 -1010,0.3214156419917428 -1011,0.8491764947500897 -1012,0.346159315425176 -1013,0.9708511687859452 -1014,0.15288217175585594 -1015,0.6038058612156957 -1016,0.702729210699053 -1017,0.839589849729278 -1018,0.5288639003499981 -1019,0.6596554193818639 -1020,0.28071341006056716 -1021,0.691022036591825 -1022,0.372541700129454 -1023,0.4317676227625634 -1024,0.6940133066289398 -1025,0.46338368833341226 -1026,0.1710946093043917 -1027,0.24512729623108842 -1028,0.686473631002772 -1029,0.8168454254456572 -1030,0.16921184261268496 -1031,0.5922094466357966 -1032,0.3259893266187067 -1033,0.23398622828074944 -1034,0.40248145723834095 -1035,0.5111669168988886 -1036,0.5252954862863954 -1037,0.34316473508924716 -1038,0.9743901945871116 -1039,0.019488213437116042 -1040,0.448834854765191 -1041,0.22693064144962982 -1042,0.7751904887093909 -1043,0.562095250818874 -1044,0.32723853220840005 -1045,0.7098729010228333 -1046,0.7623810307716598 -1047,0.5018217057967528 -1048,0.5660483188621802 -1049,0.19048116182299313 -1050,0.7667198157363875 -1051,0.11149122398167743 -1052,0.23452913789264873 -1053,0.3454563849529547 -1054,0.11977681512537575 -1055,0.5960385581498119 -1056,0.7062196804442528 -1057,0.20961445490906627 -1058,0.20004532230579186 -1059,0.6746874234228536 -1060,0.86758055165073 -1061,0.9167281279695264 -1062,0.46392511884186227 -1063,0.5557303380247047 -1064,0.9153714579779452 -1065,0.4279141833826978 -1066,0.9937807928661536 -1067,0.4082833148976238 -1068,0.09825371316511844 -1069,0.23541224484110201 -1070,0.200048834178836 -1071,0.9171045506985042 -1072,0.4473248441840213 -1073,0.3000616197902889 -1074,0.930951192173174 -1075,0.8337321883379033 -1076,0.5929909906537436 -1077,0.9266715878682291 -1078,0.0017395512448118433 -1079,0.8455227206383683 -1080,0.8717148480373519 -1081,0.7071383394060081 -1082,0.36564740383859773 -1083,0.6569556568374367 -1084,0.3721071916934219 -1085,0.11848874557438205 -1086,0.18952642859966295 -1087,0.827674588952748 -1088,0.9384076152908416 -1089,0.5299950502684635 -1090,0.9192433666042745 -1091,0.027596370991368135 -1092,0.5399979467258414 -1093,0.7702752618044524 -1094,0.9985862862489574 -1095,0.4546175225006329 -1096,0.43115617647539395 -1097,0.37532533525547385 -1098,0.7278049133100521 -1099,0.31961422412379215 -1100,0.62793281809742 -1101,0.6220028645717608 -1102,0.5786846697092615 -1103,0.17067763427681304 -1104,0.8431153959900344 -1105,0.5193611099312814 -1106,0.9476463590480847 -1107,0.891578460895271 -1108,0.32512813236118265 -1109,0.37944621110913423 -1110,0.39333698325765043 -1111,0.46983797059916077 -1112,0.22944002987186063 -1113,0.8200727696233431 -1114,0.9872628167891497 -1115,0.05012877237810398 -1116,0.4307954769425223 -1117,0.660880183109236 -1118,0.05190673619018371 -1119,0.5064960006843229 -1120,0.12063205961058066 -1121,0.3361512766735516 -1122,0.7722763488299251 -1123,0.026825202550412763 -1124,0.496450633854324 -1125,0.4199109201100627 -1126,0.20194337397588413 -1127,0.5658900499803504 -1128,0.6556112739894222 -1129,0.34278822380989693 -1130,0.7744344135137524 -1131,0.7870333233813229 -1132,0.8825840319247725 -1133,0.5896404224404852 -1134,0.09029296564209321 -1135,0.6001171327951274 -1136,0.39575409591494903 -1137,0.6112071779672658 -1138,0.2740658329449801 -1139,0.027071699830109153 -1140,0.5143950145423812 -1141,0.4441015737940014 -1142,0.5942666423831897 -1143,0.1507948169661527 -1144,0.6681615083961293 -1145,0.44027494437871206 -1146,0.13663926750177713 -1147,0.9129395297134948 -1148,0.00509183713346506 -1149,0.4402192532700643 -1150,0.9690486514250299 -1151,0.5671465958295588 -1152,0.8326503250476858 -1153,0.018156304774174625 -1154,0.29603314715745166 -1155,0.44169465076508374 -1156,0.19031370104906176 -1157,0.8579874129066815 -1158,0.31096394135057503 -1159,0.8429395753629181 -1160,0.8667646028381355 -1161,0.5378130426715819 -1162,0.4855581539130438 -1163,0.8805018339925829 -1164,0.9875180821682265 -1165,0.014245466567902265 -1166,0.9199816347681721 -1167,0.4520903354206174 -1168,0.6779296034724862 -1169,0.5747929073322962 -1170,0.9448989782581648 -1171,0.3496615649388175 -1172,0.4705044902748913 -1173,0.43190547764049314 -1174,0.28279793314578505 -1175,0.478701859449037 -1176,0.037351940936933836 -1177,0.09903031215763836 -1178,0.2966134861952945 -1179,0.7544544537118474 -1180,0.08993100710580437 -1181,0.2058788857501307 -1182,0.6058466043543514 -1183,0.010719351651855336 -1184,0.1394469722112296 -1185,0.6539503243465355 -1186,0.3783311322766809 -1187,0.6338918488170664 -1188,0.5746206077912887 -1189,0.23580327756547903 -1190,0.11502850479289106 -1191,0.6200588317593337 -1192,0.5074966797775291 -1193,0.036247672958807264 -1194,0.9459722063883712 -1195,0.08596617941334694 -1196,0.7392005195501423 -1197,0.40038927716417794 -1198,0.2543510191752515 -1199,0.9235744709629974 -1200,0.32331776349924524 -1201,0.5165104238173274 -1202,0.4133246818729319 -1203,0.8218919477883128 -1204,0.025976264948397665 -1205,0.29135649864394886 -1206,0.08766956706611817 -1207,0.9693398601333156 -1208,0.27774413046567425 -1209,0.3035772626807155 -1210,0.44458418101542585 -1211,0.7942461326419087 -1212,0.401114551941787 -1213,0.17814963195382705 -1214,0.9371379459530627 -1215,0.16109482450282064 -1216,0.6245334592011731 -1217,0.3553285962970685 -1218,0.6423919025824305 -1219,0.3773402183888589 -1220,0.8130111125366272 -1221,0.6515965942895576 -1222,0.05313347306356664 -1223,0.38851885751629434 -1224,0.9660183603499218 -1225,0.6050674185752678 -1226,0.9976037666618098 -1227,0.2741267224205547 -1228,0.8250450813453617 -1229,0.8648017128612407 -1230,0.9545440665834398 -1231,0.035181371561677444 -1232,0.8573731273084901 -1233,0.6700418282959097 -1234,0.46215710721802383 -1235,0.6577289830897959 -1236,0.3660245930212669 -1237,0.9827628437774818 -1238,0.8387165739352944 -1239,0.5923637615310042 -1240,0.43233401117385284 -1241,0.21784584924857386 -1242,0.77639685840894 -1243,0.7109269791077729 -1244,0.9519213788556358 -1245,0.3704609764530309 -1246,0.6331946453924414 -1247,0.040837358199199425 -1248,0.4860893923513524 -1249,0.9531787657360293 -1250,0.5476977422591192 -1251,0.20452632798087544 -1252,0.31941020732010184 -1253,0.1184934044942072 -1254,0.0951763732170442 -1255,0.5392135365106384 -1256,0.5904130681405809 -1257,0.588101200521266 -1258,0.8782722166017265 -1259,0.9868543858717094 -1260,0.9883651091915095 -1261,0.05427772433978184 -1262,0.9175800573268246 -1263,0.444330145261952 -1264,0.5098522277270874 -1265,0.022337468527641513 -1266,0.038591015093108694 -1267,0.5742738133870925 -1268,0.6533669878902808 -1269,0.06238621161313329 -1270,0.3702338356035558 -1271,0.4613128140474799 -1272,0.47008860798910057 -1273,0.39196066850790867 -1274,0.7146784532437944 -1275,0.976814273853076 -1276,0.253747484569801 -1277,0.4434739502738131 -1278,0.6439720730880165 -1279,0.45830819508215903 -1280,0.14207095009534154 -1281,0.9215716591471531 -1282,0.6223591512158487 -1283,0.7468093470825865 -1284,0.14099343269491393 -1285,0.13771158973601694 -1286,0.22141234011576127 -1287,0.4806882742141705 -1288,0.8404669839656678 -1289,0.8472448765279883 -1290,0.23271651986592246 -1291,0.9870041770726857 -1292,0.296961795694084 -1293,0.03973344615017027 -1294,0.6105006461670387 -1295,0.9772075449710084 -1296,0.4238480782590368 -1297,0.44445450343603254 -1298,0.09754519679498719 -1299,0.18259233416316611 -1300,0.8676628432050998 -1301,0.6523533727793376 -1302,0.9609573691620102 -1303,0.884548036349791 -1304,0.5623701580018832 -1305,0.9037250840786296 -1306,0.9134209927035932 -1307,0.6904882708729655 -1308,0.7125111922844657 -1309,0.39643873628461557 -1310,0.043706532658848274 -1311,0.06149228313662913 -1312,0.33313391093601696 -1313,0.03170544644288931 -1314,0.7576106323099439 -1315,0.38792949344579963 -1316,0.135947317928503 -1317,0.23704665928885038 -1318,0.7353658665561918 -1319,0.3867979682172773 -1320,0.17013824697107993 -1321,0.15084982890770804 -1322,0.8448955385528804 -1323,0.6901568195398864 -1324,0.7009174994974702 -1325,0.5750065111871 -1326,0.415934571471103 -1327,0.07560543001523001 -1328,0.499753348287566 -1329,0.8433861976284962 -1330,0.4580915126298081 -1331,0.7904687770042846 -1332,0.9893462002213004 -1333,0.5918690793750183 -1334,0.19873097800922457 -1335,0.8470048226288572 -1336,0.21324072772524805 -1337,0.4371262164104327 -1338,0.9455945369828658 -1339,0.964109499763811 -1340,0.1246165333883793 -1341,0.40700491799383454 -1342,0.1270861132355494 -1343,0.34433425052865263 -1344,0.09814648854643959 -1345,0.8830623562982892 -1346,0.3969370420238335 -1347,0.1204131279175924 -1348,0.5492784307132935 -1349,0.10847709060240518 -1350,0.1334521100807322 -1351,0.16802022911323977 -1352,0.6465589896428174 -1353,0.3993052807013153 -1354,0.5748600205050534 -1355,0.542639322958084 -1356,0.4822383494686229 -1357,0.5977765338571852 -1358,0.3045460787802329 -1359,0.9740240691363293 -1360,0.6451203029267213 -1361,0.17886689741416661 -1362,0.65512491470538 -1363,0.6194009237802525 -1364,0.5203756479613698 -1365,0.6360920838724353 -1366,0.06173354728025526 -1367,0.6322617461561013 -1368,0.41064189230188497 -1369,0.762693326343903 -1370,0.6598680926748265 -1371,0.3859249495888969 -1372,0.06987190330398085 -1373,0.2614250795170834 -1374,0.9922099295961041 -1375,0.4073406911825722 -1376,0.36669830656102465 -1377,0.3920183642645195 -1378,0.2093530387857948 -1379,0.928454650750161 -1380,0.506172266804019 -1381,0.3498622371945386 -1382,0.5987644920743964 -1383,0.12793770167388352 -1384,0.3273407771332115 -1385,0.18178197248662187 -1386,0.697957016322324 -1387,0.9687115777438619 -1388,0.5657699399919558 -1389,0.8007615081580396 -1390,0.28157520382105794 -1391,0.2546469046508604 -1392,0.8687374170744179 -1393,0.22644669600723433 -1394,0.1034413847982143 -1395,0.3545016875770739 -1396,0.3841910573723457 -1397,0.13566003432097073 -1398,0.36315388609371535 -1399,0.8292085507826726 -1400,0.44785612780159556 -1401,0.7482433994008428 -1402,0.320571875831985 -1403,0.6129020643243226 -1404,0.839018956598888 -1405,0.40082407128796527 -1406,0.9547847425316714 -1407,0.5959245196140276 -1408,0.9169929835892119 -1409,0.9946191805286111 -1410,0.6331190424183626 -1411,0.42227253178118196 -1412,0.052820113615337005 -1413,0.18740126655945066 -1414,0.24329416364810097 -1415,0.6708760354339051 -1416,0.06140910853332804 -1417,0.41152151282161775 -1418,0.42543772847717953 -1419,0.7064084950016956 -1420,0.0720918013348566 -1421,0.9313125602403838 -1422,0.6273203192280228 -1423,0.905358999090244 -1424,0.34003945894797716 -1425,0.19081017294194802 -1426,0.31195773056941145 -1427,0.005822024952983673 -1428,0.3647659336346214 -1429,0.12163960659179374 -1430,0.9879071959484363 -1431,0.7713605582961748 -1432,0.2854713344648143 -1433,0.9483557386241684 -1434,0.9447690435346573 -1435,0.5406850988958324 -1436,0.8517877356204625 -1437,0.44788314389196227 -1438,0.6289459261165296 -1439,0.8249944219822474 -1440,0.7592375666479485 -1441,0.3284088668338595 -1442,0.035353534768804096 -1443,0.05444025958709231 -1444,0.785501225277342 -1445,0.2622555083163366 -1446,0.2093336327934625 -1447,0.5640204657657916 -1448,0.34833431761538025 -1449,0.3235960591948116 -1450,0.850110968403867 -1451,0.668845375628365 -1452,0.78932339103338 -1453,0.445994979156078 -1454,0.43889656503718255 -1455,0.8908840571891223 -1456,0.14995451493927514 -1457,0.4506827794310425 -1458,0.5900217143681662 -1459,0.8968646886324402 -1460,0.9629379661079166 -1461,0.7759111927092912 -1462,0.2479992419921827 -1463,0.07253974232627458 -1464,0.40921989896434097 -1465,0.681460241674532 -1466,0.2593867155366437 -1467,0.712212156001423 -1468,0.8812436911852309 -1469,0.10066393457400868 -1470,0.7174282102622109 -1471,0.12966240499295412 -1472,0.1289977726394459 -1473,0.6783009743732238 -1474,0.9359345312876471 -1475,0.6264662724636505 -1476,0.08100880069271688 -1477,0.6047641107878388 -1478,0.5156210444317043 -1479,0.6924914547994862 -1480,0.8278075983365593 -1481,0.8937071306739373 -1482,0.4836218836967141 -1483,0.8123894199226473 -1484,0.1551658203742795 -1485,0.9111375993404272 -1486,0.8229612367451786 -1487,0.7213327018362155 -1488,0.19389083505797589 -1489,0.7607911586547241 -1490,0.4406591489363356 -1491,0.9922865849656317 -1492,0.14885465167202716 -1493,0.08091074328076542 -1494,0.03475897067071543 -1495,0.6760123782054807 -1496,0.13435142282062185 -1497,0.5987443252208824 -1498,0.7663534604864531 -1499,0.24527151314637785 -1500,0.9322105010220434 -1501,0.8677264312739613 -1502,0.9199637149858817 -1503,0.5754819447318733 -1504,0.6593389214733464 -1505,0.019772366012128506 -1506,0.3007432485227679 -1507,0.4598092236350959 -1508,0.05561503033706294 -1509,0.9473516885913645 -1510,0.08189444797873313 -1511,0.915097838871194 -1512,0.46359418787195483 -1513,0.9388764685108038 -1514,0.44822369116511873 -1515,0.969291864449928 -1516,0.371976942608257 -1517,0.28156415425203185 -1518,0.5318154384856391 -1519,0.4944427288601304 -1520,0.2864755655252549 -1521,0.5939216112418566 -1522,0.7042449001833567 -1523,0.2669951865869582 -1524,0.3019065634327823 -1525,0.6959202195042297 -1526,0.1543784539885078 -1527,0.1026185910788534 -1528,0.7267516478211921 -1529,0.9983545187509032 -1530,0.07269537634535184 -1531,0.4278045648168858 -1532,0.40509776268777353 -1533,0.35698032603540775 -1534,0.5474302428249866 -1535,0.8423869269921884 -1536,0.0770787487637703 -1537,0.738309288915081 -1538,0.4535509351978054 -1539,0.13866611896876446 -1540,0.9670646224255257 -1541,0.6672167161684884 -1542,0.4283185157983861 -1543,0.049843283363980584 -1544,0.401619304762455 -1545,0.5754123832400951 -1546,0.2587251476454274 -1547,0.4882659123468819 -1548,0.2673456138941658 -1549,0.9187339946499757 -1550,0.7495529084041269 -1551,0.8615988243175182 -1552,0.5879805010015288 -1553,0.37442248617498664 -1554,0.6346036363443159 -1555,0.8743395083028551 -1556,0.418102795366206 -1557,0.4061801110282519 -1558,0.23047344229322886 -1559,0.8830338829221135 -1560,0.6778662521928907 -1561,0.18039579115683146 -1562,0.3277317090834837 -1563,0.7054987868463576 -1564,0.3469883694638689 -1565,0.5505485506876406 -1566,0.8868259485920834 -1567,0.029889339022482364 -1568,0.7188986901671196 -1569,0.3360262440686802 -1570,0.009601947948803757 -1571,0.7769166283028107 -1572,0.21468927568613694 -1573,0.5773586784878695 -1574,0.40505543289292145 -1575,0.2797952149638735 -1576,0.4223871433205575 -1577,0.641173574806837 -1578,0.9897818401603382 -1579,0.6362074886765501 -1580,0.22715984479301454 -1581,0.46630088783151924 -1582,0.7803326659455032 -1583,0.35876594728957634 -1584,0.747510342139888 -1585,0.26893142248106416 -1586,0.9061131585968514 -1587,0.60469752799788 -1588,0.3914475523725818 -1589,0.7489018161712476 -1590,0.775639454787208 -1591,0.17165845493307053 -1592,0.2850412343870231 -1593,0.30733794435858464 -1594,0.9213462926999716 -1595,0.8642459469721784 -1596,0.6882423940244509 -1597,0.8150764223191904 -1598,0.6511761188486587 -1599,0.890069068327951 -1600,0.3217844701160879 -1601,0.22324838336794695 -1602,0.3611238900557949 -1603,0.9499836580550334 -1604,0.5998642191756619 -1605,0.7809554832668563 -1606,0.2852668937052195 -1607,0.46957066416778914 -1608,0.5999537801199426 -1609,0.11723363156065092 -1610,0.6954584906899767 -1611,0.5471009408335347 -1612,0.883844141145651 -1613,0.588801738415547 -1614,0.7990054415207465 -1615,0.5365095781942402 -1616,0.3230509004377151 -1617,0.7771368025678174 -1618,0.19644636429426976 -1619,0.15050150296595022 -1620,0.9351101254081599 -1621,0.8424291573364336 -1622,0.9179506953022698 -1623,0.2542200601377751 -1624,0.04367322003764473 -1625,0.8184409814491564 -1626,0.5237864328372903 -1627,0.6111128593777281 -1628,0.7172953327646896 -1629,0.4204642614893589 -1630,0.29786363648330216 -1631,0.7425554838493912 -1632,0.9634725219147324 -1633,0.389700037450314 -1634,0.14971596977058055 -1635,0.028691301545572645 -1636,0.9752843651666354 -1637,0.09508746516770916 -1638,0.5226271172482839 -1639,0.08694876091002135 -1640,0.7453723301692468 -1641,0.11479119533527427 -1642,0.3142810888995693 -1643,0.43386451782072877 -1644,0.5691319048952296 -1645,0.4336331417756295 -1646,0.7087202304884763 -1647,0.8307992521014391 -1648,0.8681127789017333 -1649,0.7558619410826807 -1650,0.9810774131686785 -1651,0.01113342145935925 -1652,0.6996757824291238 -1653,0.9951595182540885 -1654,0.8276086511723012 -1655,0.1474280504729082 -1656,0.4979883671353592 -1657,0.8510729129906379 -1658,0.8569412566153479 -1659,0.3237662541718761 -1660,0.5293662959889114 -1661,0.6333431563939278 -1662,0.02872773272792062 -1663,0.572948213126416 -1664,0.6745425066105134 -1665,0.07439965493837086 -1666,0.5168694300180624 -1667,0.793630189005129 -1668,0.20140500407188233 -1669,0.2542635934398422 -1670,0.03327690236476011 -1671,0.196312037350435 -1672,0.9321904213749339 -1673,0.6822883236229772 -1674,0.9696276634746126 -1675,0.7395645419681064 -1676,0.6361228114529891 -1677,0.0475780891568961 -1678,0.8020788388614786 -1679,0.128892088280131 -1680,0.17640599936089718 -1681,0.8355512917409444 -1682,0.13008630257185938 -1683,0.2515082832852603 -1684,0.6171828961994604 -1685,0.765614681899602 -1686,0.05713771237917109 -1687,0.04743647765562642 -1688,0.5163862150656577 -1689,0.24661080007063174 -1690,0.16044164460366184 -1691,0.3415565374106775 -1692,0.42440625677309607 -1693,0.5735670305218473 -1694,0.4474590085624045 -1695,0.3001042139227752 -1696,0.26021095535513805 -1697,0.6225673399914948 -1698,0.8847217796508358 -1699,0.2619009190972227 -1700,0.9581063737765263 -1701,0.03170949652558819 -1702,0.32394224845739406 -1703,0.6857214669354872 -1704,0.5668344362578039 -1705,0.8628539873591289 -1706,0.4082256912310537 -1707,0.8626050593702 -1708,0.10378818080855212 -1709,0.20903893555040698 -1710,0.9994854825401759 -1711,0.15706845269221792 -1712,0.6056349049708586 -1713,0.03679297287607741 -1714,0.9254414424227712 -1715,0.4057897531481335 -1716,0.7081725844989862 -1717,0.881265712609185 -1718,0.7053037227456372 -1719,0.21745015776352694 -1720,0.914455238487123 -1721,0.018598817595782302 -1722,0.055879396365273504 -1723,0.10650358036903085 -1724,0.16846466087204137 -1725,0.39944414389256844 -1726,0.02539304319872826 -1727,0.531853528285531 -1728,0.36280570674700763 -1729,0.5230148630850423 -1730,0.5127421704727418 -1731,0.9544843468921337 -1732,0.339615453855281 -1733,0.1439094172667995 -1734,0.4255568007159316 -1735,0.4888494925889384 -1736,0.37815237959336623 -1737,0.7968743377096449 -1738,0.5381789290294247 -1739,0.4927515751072483 -1740,0.9915690179876655 -1741,0.6640892915418606 -1742,0.9209813254451491 -1743,0.3213440081643404 -1744,0.5875351275764024 -1745,0.39254133241354827 -1746,0.030510307623830335 -1747,0.9161803845616362 -1748,0.12184697805738665 -1749,0.18716389983227755 -1750,0.9737120362688618 -1751,0.8719879805624469 -1752,0.46208973284154486 -1753,0.1731156638739496 -1754,0.11331115266523262 -1755,0.18554306588786962 -1756,0.8940556772056937 -1757,0.3560052330644692 -1758,0.4623682736133614 -1759,0.7609190303603921 -1760,0.04511704238006298 -1761,0.3879396174388081 -1762,0.91840629429349 -1763,0.693306156371802 -1764,0.1386913739344221 -1765,0.6022486215544873 -1766,0.5458931825913709 -1767,0.4735878289948745 -1768,0.5766848997606228 -1769,0.670701131196431 -1770,0.5949891061481951 -1771,0.7999238011051958 -1772,0.15924634212347477 -1773,0.23874169914842158 -1774,0.6171412879946074 -1775,0.29413970385794364 -1776,0.1243992919198299 -1777,0.20242243903695467 -1778,0.14350800205158198 -1779,0.15730369264105926 -1780,0.8181088569598356 -1781,0.585772182863899 -1782,0.46050635983223176 -1783,0.2251754616359719 -1784,0.7980168242115563 -1785,0.2981866657844998 -1786,0.33915504928005535 -1787,0.6645324997167228 -1788,0.4651582061121867 -1789,0.663634433419536 -1790,0.9892239025779682 -1791,0.7842317393722736 -1792,0.025080788795574738 -1793,0.08687685268257572 -1794,0.2613421856941034 -1795,0.8036628712172387 -1796,0.1563153377088503 -1797,0.030544995195961877 -1798,0.47859876660390555 -1799,0.07072865417499086 -1800,0.17656558493308538 -1801,0.8876939629524399 -1802,0.036560091651894 -1803,0.7747994136975296 -1804,0.8477819327247712 -1805,0.31977116139319073 -1806,0.2526993687332818 -1807,0.24452744179447794 -1808,0.21351950708128908 -1809,0.6714689045787853 -1810,0.2418655119602663 -1811,0.4375606915126301 -1812,0.28514940654751664 -1813,0.7931576621746984 -1814,0.0003513697602560706 -1815,0.03724926868388778 -1816,0.33419070945577867 -1817,0.5918121446104003 -1818,0.6785102456799122 -1819,0.27633655180582006 -1820,0.6304042988101622 -1821,0.5191738940566332 -1822,0.4782338075286001 -1823,0.4722469165726133 -1824,0.556508870266947 -1825,0.2484000710300147 -1826,0.16800447254848228 -1827,0.17122185091390685 -1828,0.7616566556075315 -1829,0.9358263523183212 -1830,0.27786242191440325 -1831,0.7594561324487881 -1832,0.36255754248771876 -1833,0.383493339309287 -1834,0.8074575310018807 -1835,0.849725426549623 -1836,0.5181462396060016 -1837,0.8092616125778409 -1838,0.7646971917155724 -1839,0.8254059569418877 -1840,0.4322797387067935 -1841,0.17606083456007593 -1842,0.38572697020991675 -1843,0.218639316016227 -1844,0.264683237862944 -1845,0.046688643909531535 -1846,0.3938515346482796 -1847,0.608654875342508 -1848,0.2579441211710761 -1849,0.7123677237322174 -1850,0.6130128541367083 -1851,0.5750468539045246 -1852,0.23024030561391617 -1853,0.3272790053852047 -1854,0.3761252897445787 -1855,0.9115609286108337 -1856,0.03706255687345705 -1857,0.03509364265720161 -1858,0.15275225153204608 -1859,0.41543822650771345 -1860,0.5573616256808428 -1861,0.09272122977588981 -1862,0.2392893390640367 -1863,0.9819143831256434 -1864,0.04992754236522823 -1865,0.3508853987660646 -1866,0.2561651751240881 -1867,0.5662099869362468 -1868,0.6415122801456111 -1869,0.8503802575489923 -1870,0.6270803329009158 -1871,0.3484474111910266 -1872,0.21199299480003853 -1873,0.5171294131208984 -1874,0.8270295568519398 -1875,0.22146059404822993 -1876,0.6850182767452516 -1877,0.9957909059724226 -1878,0.47716913525894733 -1879,0.09078997741569728 -1880,0.7936163681084083 -1881,0.11697435934539602 -1882,0.5854746800964309 -1883,0.5238920396935071 -1884,0.4763872699967997 -1885,0.8204647665485421 -1886,0.7292150635171171 -1887,0.4734858068724822 -1888,0.4887091675653201 -1889,0.3754572686186006 -1890,0.9643981529624016 -1891,0.14117628809557992 -1892,0.8291491125392262 -1893,0.42644622377492847 -1894,0.7082007412836401 -1895,0.6981246597089561 -1896,0.7322222036121944 -1897,0.456647661399206 -1898,0.32497288802176727 -1899,0.5819504623570203 -1900,0.46444911854869386 -1901,0.6569712063965144 -1902,0.19872746221358506 -1903,0.4330161837585683 -1904,0.6672851682471379 -1905,0.329282532256966 -1906,0.6233267669406963 -1907,0.47048924835738637 -1908,0.8032370721852876 -1909,0.6574195126279015 -1910,0.8663133712894564 -1911,0.7686671560362411 -1912,0.3275406594902809 -1913,0.3080379311733421 -1914,0.9237059399851529 -1915,0.1608307827219848 -1916,0.41369726949988883 -1917,0.28899407254634746 -1918,0.3578977140852637 -1919,0.5064545239327574 -1920,0.4658334290457825 -1921,0.3209044234525551 -1922,0.7241330908991218 -1923,0.40077407298158796 -1924,0.7915036824914533 -1925,0.5373756147501182 -1926,0.4036033987824118 -1927,0.537418319264072 -1928,0.5208528667329866 -1929,0.4680343604792133 -1930,0.01330162885699282 -1931,0.33948042267308987 -1932,0.5064884666545041 -1933,0.13363900902256765 -1934,0.4143739357864402 -1935,0.561854141218752 -1936,0.3099469104465725 -1937,0.17178739347483407 -1938,0.46925733496796385 -1939,0.2545679853055195 -1940,0.21786600020044 -1941,0.9242518705516474 -1942,0.26059856990050956 -1943,0.3654357650640978 -1944,0.4714402934211437 -1945,0.8465584821889587 -1946,0.3354463622860021 -1947,0.6143217269316932 -1948,0.7549550240642309 -1949,0.09762180469701387 -1950,0.3786800823328763 -1951,0.40049245531079547 -1952,0.15798395812291444 -1953,0.2207856861528975 -1954,0.08720359585879855 -1955,0.40099551516043397 -1956,0.19544716466799827 -1957,0.44853905635882607 -1958,0.5662237390448631 -1959,0.6486108642898238 -1960,0.48810344872621736 -1961,0.976271645921641 -1962,0.4973490591454375 -1963,0.801179008362831 -1964,0.150746146814561 -1965,0.1876923239164774 -1966,0.4627794603928861 -1967,0.9241931460348041 -1968,0.5196043082836606 -1969,0.25561021419668395 -1970,0.11699480544404361 -1971,0.6678551473282591 -1972,0.1898212277421042 -1973,0.3516417870147034 -1974,0.8320324790722191 -1975,0.006198845803212505 -1976,0.7947577413966724 -1977,0.13846228422375806 -1978,0.9885993085882142 -1979,0.8425875047466904 -1980,0.2332683279374862 -1981,0.4790126714995985 -1982,0.828984722992557 -1983,0.23203292557273614 -1984,0.4377092906915274 -1985,0.3189362970153048 -1986,0.2493573786945371 -1987,0.7048473800426842 -1988,0.9266787757156283 -1989,0.5890401786989564 -1990,0.9552950173563504 -1991,0.8265004909543893 -1992,0.7630203726607796 -1993,0.8774215518490864 -1994,0.8974506155822921 -1995,0.6804863494845573 -1996,0.8054541784482263 -1997,0.022946728205736733 -1998,0.09345832933296128 -1999,0.4467544326850129 -2000,0.3373092163900637 -2001,0.09536148857723536 -2002,0.18590408697991734 -2003,0.6756476523544321 -2004,0.224193692508468 -2005,0.9588801709765418 -2006,0.9291843294547948 -2007,0.6629286695018238 -2008,0.4867104624194871 -2009,0.6139224525658599 -2010,0.21452391967513917 -2011,0.3205900765938613 -2012,0.9089872896412567 -2013,0.8462826507631598 -2014,0.8041182195022326 -2015,0.6807637400903981 -2016,0.9076863186117193 -2017,0.024549939913453334 -2018,0.046042966854319634 -2019,0.8900961296515406 -2020,0.6760653786410487 -2021,0.6203929595966599 -2022,0.5502489759432793 -2023,0.6707242212197883 -2024,0.39716552218627144 -2025,0.30191982944099904 -2026,0.9897574369606195 -2027,0.5507797386881228 -2028,0.5395414702030504 -2029,0.27096841065051425 -2030,0.7709419189830364 -2031,0.9910119634111285 -2032,0.9246246377714636 -2033,0.7948346565294021 -2034,0.3895122200313267 -2035,0.7677258882520778 -2036,0.5584379194209966 -2037,0.5014861419993392 -2038,0.31518712664854764 -2039,0.7879117232635916 -2040,0.5699751170394467 -2041,0.6234189140305831 -2042,0.8415493254642342 -2043,0.8790780804142775 -2044,0.2277134762436379 -2045,0.9490563133765836 -2046,0.6314693816897807 -2047,0.9679416861415411 -2048,0.4098512647403386 -2049,0.6704508599348514 -2050,0.09205721734249783 -2051,0.9611336504222737 -2052,0.7875815906493164 -2053,0.34846646927709213 -2054,0.5946837160477556 -2055,0.10025236861066511 -2056,0.7157643862655562 -2057,0.9981165646099491 -2058,0.8025347264386448 -2059,0.8524984890951028 -2060,0.7262420031023599 -2061,0.8112105523660212 -2062,0.04114230108432437 -2063,0.8563252936037309 -2064,0.4873205874627533 -2065,0.5747763786821884 -2066,0.18437651487728246 -2067,0.6567529304335855 -2068,0.7521307912069033 -2069,0.23074675397215283 -2070,0.7688319814995712 -2071,0.18651633476744667 -2072,0.8961637000955573 -2073,0.11046250752761277 -2074,0.330512801715124 -2075,0.1939884220979139 -2076,0.6796014171009168 -2077,0.8923128377175615 -2078,0.03546244159551237 -2079,0.21475256268593113 -2080,0.10987692959497863 -2081,0.7067019473359499 -2082,0.5585956776687688 -2083,0.38944926499441634 -2084,0.28463350192607906 -2085,0.7798197509532474 -2086,0.426567992715721 -2087,0.058567285314275574 -2088,0.532987955340918 -2089,0.6473193377282572 -2090,0.004382179207127135 -2091,0.9788577995821565 -2092,0.9174390106787709 -2093,0.6218486362228223 -2094,0.44435387098070833 -2095,0.15770536692030857 -2096,0.6827204193003579 -2097,0.4248076089960193 -2098,0.3716446581882831 -2099,0.37138918820707034 -2100,0.5185958768617899 -2101,0.9491817969262507 -2102,0.08293873890085202 -2103,0.5250937164165872 -2104,0.6096344059763621 -2105,0.7158820143536103 -2106,0.9933641848842913 -2107,0.9856316308401227 -2108,0.06542251208653249 -2109,0.8398570130297581 -2110,0.555088314722775 -2111,0.8105628410955901 -2112,0.19045345782363055 -2113,0.720150365582418 -2114,0.3585476472694398 -2115,0.8493382473653105 -2116,0.2231798609659501 -2117,0.29625045702221364 -2118,0.15024149412573806 -2119,0.2709244576712041 -2120,0.16700152143573244 -2121,0.885820302987156 -2122,0.9479650279481832 -2123,0.36726181687795845 -2124,0.10103296555203911 -2125,0.9886626454965174 -2126,0.3172784225304025 -2127,0.11191801914853239 -2128,0.5257632793480222 -2129,0.24820253202971398 -2130,0.1526931483784414 -2131,0.40848386745890974 -2132,0.8488542061371122 -2133,0.2613291467069703 -2134,0.049008065277751256 -2135,0.23419971785739513 -2136,0.2947672440541106 -2137,0.16091462921181643 -2138,0.094936990132925 -2139,0.7858501137173272 -2140,0.985706932732494 -2141,0.5631089039868274 -2142,0.20236688354254406 -2143,0.705028366996119 -2144,0.8775745334725749 -2145,0.13949923704640532 -2146,0.21965912557924383 -2147,0.9315112302422831 -2148,0.35365193037080456 -2149,0.82877913201094 -2150,0.004645760945288235 -2151,0.6149211667662189 -2152,0.9282520603546965 -2153,0.9913135609277037 -2154,0.4952885919830139 -2155,0.24786663663820785 -2156,0.14140789344436888 -2157,0.021594478463531575 -2158,0.7898623449293581 -2159,0.03857125634083747 -2160,0.5472700991734001 -2161,0.9306661850505473 -2162,0.6454254869106666 -2163,0.4651071179705448 -2164,0.9494633285657441 -2165,0.7647913302145805 -2166,0.13842370668615367 -2167,0.12074142659806997 -2168,0.20858325893246787 -2169,0.5548610222705218 -2170,0.4301387713419039 -2171,0.42962897315340687 -2172,0.36972793328135134 -2173,0.7671589330325984 -2174,0.0075749769520752075 -2175,0.5055656927907629 -2176,0.3969867312300762 -2177,0.1899780996267213 -2178,0.7086060877350476 -2179,0.3879450847076772 -2180,0.05448462495748141 -2181,0.27397829694435316 -2182,0.47285476789493464 -2183,0.49530725196450853 -2184,0.6944445049252609 -2185,0.17686403469947987 -2186,0.2694674621489599 -2187,0.8481098154573775 -2188,0.1371912188537764 -2189,0.4348082496444384 -2190,0.20223366884219773 -2191,0.7904719746147183 -2192,0.7731828296462665 -2193,0.3437381800024566 -2194,0.24102476165804754 -2195,0.8919357205104913 -2196,0.9167818009180756 -2197,0.48016297656173 -2198,0.956252661141227 -2199,0.3141543802983502 -2200,0.6863322823686507 -2201,0.7038743052255358 -2202,0.6460737941434189 -2203,0.3159032830909092 -2204,0.24544249170766919 -2205,0.2672058666708381 -2206,0.2920674027295248 -2207,0.5760378078328638 -2208,0.11427654347239069 -2209,0.8320969774064539 -2210,0.9699500629981018 -2211,0.05963258939860161 -2212,0.32740896136723385 -2213,0.047339536054680664 -2214,0.3065144035419086 -2215,0.11943265292873861 -2216,0.5714555479279476 -2217,0.231003494548067 -2218,0.8540240027285079 -2219,0.2879302995879215 -2220,0.7669716913691613 -2221,0.35089482679215167 -2222,0.5184614265267353 -2223,0.7419770485698478 -2224,0.9950067537743895 -2225,0.6987596331480418 -2226,0.9590951693089671 -2227,0.5695938133208099 -2228,0.05818076706142539 -2229,0.7395821798077614 -2230,0.4830084654350498 -2231,0.7757305921505746 -2232,0.03525182187594278 -2233,0.45161983474412026 -2234,0.4734564204113212 -2235,0.4549239643570103 -2236,0.5009453061995093 -2237,0.6135527291375872 -2238,0.9948080864358252 -2239,0.4395231044316684 -2240,0.28712632115253267 -2241,0.6903608874386745 -2242,0.3055019455860766 -2243,0.08286693050743965 -2244,0.02893695567098109 -2245,0.2648363710751236 -2246,0.468235389264931 -2247,0.05169545480512583 -2248,0.5444006003074923 -2249,0.4901396114152111 -2250,0.8505620392648746 -2251,0.2252057794216238 -2252,0.13305636992466074 -2253,0.08100884947088793 -2254,0.22913461558439607 -2255,0.21518387776157466 -2256,0.4148701000985616 -2257,0.9793479935958427 -2258,0.9581941262309202 -2259,0.6391240391416858 -2260,0.7309224921157682 -2261,0.3712304963201213 -2262,0.9182926186224639 -2263,0.6433821697799802 -2264,0.721015982314906 -2265,0.7786535739066347 -2266,0.44374518079872827 -2267,0.48090702894206205 -2268,0.14444625051040272 -2269,0.4667216748684053 -2270,0.1489712303979599 -2271,0.9961507000814249 -2272,0.3830776721471666 -2273,0.2513958596145728 -2274,0.8361116482133438 -2275,0.6169909742289282 -2276,0.39719988227009784 -2277,0.7694725131816735 -2278,0.5907537061780057 -2279,0.2552418046221936 -2280,0.8810821039176671 -2281,0.3005636877949115 -2282,0.7257476853816255 -2283,0.02425501321578838 -2284,0.22396179568207575 -2285,0.7725302835984584 -2286,0.183438154627098 -2287,0.20132642158316905 -2288,0.1357107812745768 -2289,0.23160551422494002 -2290,0.9148924121550384 -2291,0.3888674605196901 -2292,0.4425766983871794 -2293,0.2051604621247396 -2294,0.10870300985552794 -2295,0.03767911822758174 -2296,0.04156396965790399 -2297,0.8917895812656368 -2298,0.9948144090350188 -2299,0.6724362766298657 -2300,0.6999618624793758 -2301,0.6055153172836255 -2302,0.595914538822301 -2303,0.4981886227023459 -2304,0.3794840042540806 -2305,0.4544732039671069 -2306,0.19775276721551838 -2307,0.9068817682416144 -2308,0.24948952317442386 -2309,0.17259488062414274 -2310,0.727564021457683 -2311,0.6480008468587295 -2312,0.7813361416539789 -2313,0.06668318069603685 -2314,0.8099587301179508 -2315,0.17726738414496646 -2316,0.9161674836609972 -2317,0.4431115258481223 -2318,0.11079686179594228 -2319,0.6904913111106836 -2320,0.8287486753040435 -2321,0.43419918121094814 -2322,0.49780819012989574 -2323,0.8233078112204075 -2324,0.26204607581404926 -2325,0.8565449597596622 -2326,0.5735615009733137 -2327,0.8578294476716443 -2328,0.7669058707722745 -2329,0.2178450421485385 -2330,0.767264034561772 -2331,0.9852823283693682 -2332,0.25581541856982637 -2333,0.8800664039979446 -2334,0.3093006571607606 -2335,0.7974174295220124 -2336,0.8755240987942334 -2337,0.5058121180904037 -2338,0.6377635523771528 -2339,0.8196005332746835 -2340,0.20205452635409926 -2341,0.5458384632455451 -2342,0.9483496659453323 -2343,0.8379634079446286 -2344,0.196448800103042 -2345,0.5105033277509639 -2346,0.07850604379013548 -2347,0.2774841259366311 -2348,0.30433283076947204 -2349,0.45226126538365874 -2350,0.8133668536367041 -2351,0.18139980331284233 -2352,0.6437327495548647 -2353,0.9311641067492509 -2354,0.24886577057223724 -2355,0.3256079037015438 -2356,0.4468708715802163 -2357,0.575195751756992 -2358,0.22866641133958354 -2359,0.29910837447574123 -2360,0.8808689370207801 -2361,0.7006636412265109 -2362,0.45878081554143 -2363,0.7360519306388352 -2364,0.18419701064431282 -2365,0.14762153624528607 -2366,0.5581110703140523 -2367,0.11902771483363583 -2368,0.9535419336536877 -2369,0.8514116326828028 -2370,0.013427235516092262 -2371,0.8243059851723238 -2372,0.1585635172087536 -2373,0.38081880162540827 -2374,0.3700042729468742 -2375,0.5747944860864677 -2376,0.7866254249949768 -2377,0.8754028349022167 -2378,0.5551531165632201 -2379,0.13966295693781838 -2380,0.2919960620550145 -2381,0.27204680107695045 -2382,0.530009718481152 -2383,0.309158142614287 -2384,0.338745096688867 -2385,0.2802114401123318 -2386,0.8308604087033303 -2387,0.6793668950150152 -2388,0.7457556533765176 -2389,0.6923545808364893 -2390,0.5172875541432361 -2391,0.19029325981586942 -2392,0.6831328823296274 -2393,0.76321179182983 -2394,0.8318595267682918 -2395,0.8880705148446718 -2396,0.6516017041014944 -2397,0.7292830457120811 -2398,0.23191192599047095 -2399,0.5328168266766219 -2400,0.7355449048982223 -2401,0.9077133852287512 -2402,0.11352078481563987 -2403,0.13639854048212363 -2404,0.8680690016936923 -2405,0.7369694242988517 -2406,0.2992865166872386 -2407,0.9955855256415043 -2408,0.8810680572424348 -2409,0.7596377932896201 -2410,0.7721321914585433 -2411,0.8772543662480855 -2412,0.9585530485583333 -2413,0.2889893897992092 -2414,0.8999959594909861 -2415,0.3920521643025171 -2416,0.7736942479334105 -2417,0.19648403956540572 -2418,0.5315052643445527 -2419,0.686230023879795 -2420,0.7398826792349741 -2421,0.46860151199540545 -2422,0.9238872563349187 -2423,0.7339664338856531 -2424,0.07394116524536998 -2425,0.4429322753984233 -2426,0.48617090453416356 -2427,0.18631065530307767 -2428,0.07353677244388723 -2429,0.05889660183687695 -2430,0.9272338992048854 -2431,0.21815525266144575 -2432,0.08925282682278901 -2433,0.25259160715949003 -2434,0.7729924934177076 -2435,0.8142612464265863 -2436,0.979459019678108 -2437,0.29021888419676145 -2438,0.7842248406673744 -2439,0.320132842563029 -2440,0.12283190259568733 -2441,0.3753205889358101 -2442,0.9359231190974772 -2443,0.13894456034872504 -2444,0.8077470867737967 -2445,0.57445779768017 -2446,0.009751410237613833 -2447,0.8367165326900715 -2448,0.7301483579359627 -2449,0.8385501139264789 -2450,0.6541510120332765 -2451,0.3424116153083202 -2452,0.4365747088046553 -2453,0.9411502883460678 -2454,0.964344561244541 -2455,0.024338664068433435 -2456,0.32851941172235566 -2457,0.7392598260269607 -2458,0.2429089377479332 -2459,0.8487961155624015 -2460,0.7315331807278497 -2461,0.24537226547661029 -2462,0.19181498115835327 -2463,0.7919428661075543 -2464,0.7182174277271934 -2465,0.08357625837232752 -2466,0.9947067634407752 -2467,0.5815161408862263 -2468,0.9937220434029945 -2469,0.3482384331466192 -2470,0.6833094997016258 -2471,0.16548276603493228 -2472,0.847683535393719 -2473,0.5877337991291227 -2474,0.1776307248027965 -2475,0.5252316235798565 -2476,0.39162313661508064 -2477,0.678875096390074 -2478,0.7332181878083185 -2479,0.3017208681701452 -2480,0.3786623360089023 -2481,0.6320589664320998 -2482,0.11264577205479587 -2483,0.6243532082025934 -2484,0.27120253199414623 -2485,0.686068037974668 -2486,0.6790016888642351 -2487,0.4985237560720648 -2488,0.6385343865282584 -2489,0.4282039571587478 -2490,0.9298078994716592 -2491,0.9908641684544978 -2492,0.2763443760101567 -2493,0.716357464456797 -2494,0.43341954161125573 -2495,0.11073973512478419 -2496,0.8904739523492173 -2497,0.08453679960839744 -2498,0.5481965118204198 -2499,0.2808259452756531 -2500,0.9562662874347961 -2501,0.03811524563737645 -2502,0.9668483151307835 -2503,0.6824548797235918 -2504,0.9476875864861951 -2505,0.5038043074035459 -2506,0.4087201921857304 -2507,0.9607693757019006 -2508,0.08943296969175418 -2509,0.7022078068198209 -2510,0.4033294385064611 -2511,0.894365656352604 -2512,0.05374663012470782 -2513,0.5291993352166264 -2514,0.3816939583228023 -2515,0.5892040749153074 -2516,0.14814002339260313 -2517,0.5256897185362278 -2518,0.29124913798333374 -2519,0.40988685544173753 -2520,0.8328469826587976 -2521,0.4841865636889533 -2522,0.2728184652022596 -2523,0.2608977070813072 -2524,0.9652184756900496 -2525,0.5346186659469557 -2526,0.43390248465180814 -2527,0.14803869754802124 -2528,0.8663822399476528 -2529,0.16128464436589984 -2530,0.012366571226838596 -2531,0.01729162559338726 -2532,0.5515757063639108 -2533,0.4393276525233617 -2534,0.763602964166408 -2535,0.46389619909651836 -2536,0.6066010883395472 -2537,0.7894638700895301 -2538,0.3861317373857168 -2539,0.16452449321797402 -2540,0.8153982838449917 -2541,0.16053485862822237 -2542,0.4413410036729777 -2543,0.46215435004720884 -2544,0.19109940678117698 -2545,0.6282685199378949 -2546,0.41124950980917974 -2547,0.19545133135084158 -2548,0.5886232853294077 -2549,0.45732730294988977 -2550,0.9517226261000794 -2551,0.15524740211046006 -2552,0.9866456439797197 -2553,0.7624638253580607 -2554,0.20948848577814516 -2555,0.5391874318211511 -2556,0.6094866508166613 -2557,0.020798085449984405 -2558,0.07394227667449704 -2559,0.9599346656060511 -2560,0.3502113836054068 -2561,0.8405596012597982 -2562,0.6119586955946428 -2563,0.4952501959311313 -2564,0.4048875832367578 -2565,0.6377996169738835 -2566,0.1655560487156108 -2567,0.1529355096169488 -2568,0.47209486197284134 -2569,0.8897163582030042 -2570,0.677652300963586 -2571,0.5945575225345386 -2572,0.7927077158419178 -2573,0.5418331036857116 -2574,0.34426624137563255 -2575,0.5812625810946626 -2576,0.6356563063481188 -2577,0.5567319393860042 -2578,0.69274772989339 -2579,0.3817319142246056 -2580,0.8005652404683599 -2581,0.8853950861245758 -2582,0.4354287830187511 -2583,0.20729330781418764 -2584,0.24613680076497124 -2585,0.7460606758556592 -2586,0.1553132388704318 -2587,0.6842594488862109 -2588,0.7361045217172927 -2589,0.7260613070463806 -2590,0.9424515146515721 -2591,0.4643095438868102 -2592,0.3093489731778213 -2593,0.07655652690314074 -2594,0.9069787032418919 -2595,0.965909298816672 -2596,0.472548664674027 -2597,0.19001004526154308 -2598,0.6677880640768434 -2599,0.026073672445785734 -2600,0.34099632854314954 -2601,0.6007846454347788 -2602,0.4376599566482101 -2603,0.8370975228660104 -2604,0.5244234574094833 -2605,0.7037133231341457 -2606,0.7931899427649799 -2607,0.037573662180788725 -2608,0.3700354250651242 -2609,0.07504953012692794 -2610,0.12150657126530995 -2611,0.4113964113226698 -2612,0.3492733852062726 -2613,0.5182695613552667 -2614,0.6547785895735151 -2615,0.3068270981058199 -2616,0.902836364937533 -2617,0.162282096204017 -2618,0.3689312595358003 -2619,0.3159084519928299 -2620,0.7788831220396613 -2621,0.8009276826609177 -2622,0.6210216950898874 -2623,0.4075514571137333 -2624,0.22839362106437477 -2625,0.07895348953403536 -2626,0.48267377406216605 -2627,0.941097683734829 -2628,0.174997187342947 -2629,0.7879683844185293 -2630,0.766396527980416 -2631,0.33582968010388703 -2632,0.19622701768667883 -2633,0.10266216773805137 -2634,0.32096283203356746 -2635,0.5380878872105378 -2636,0.011688769557292256 -2637,0.6339354872877302 -2638,0.3341248538924704 -2639,0.4568295424856965 -2640,0.6805020239419637 -2641,0.48818747010693453 -2642,0.7448984781605955 -2643,0.6000350560055789 -2644,0.39813340754642534 -2645,0.6140886376514558 -2646,0.6266860370340689 -2647,0.9629723153507849 -2648,0.3407993995373185 -2649,0.39663217623833447 -2650,0.4603718389043556 -2651,0.6398568247568147 -2652,0.012360776033010334 -2653,0.1354059148185066 -2654,0.007108777347240358 -2655,0.48133224762603943 -2656,0.6747532474063801 -2657,0.7231583774025759 -2658,0.7393164367149967 -2659,0.7315571369252711 -2660,0.3671762868461186 -2661,0.30742148355183585 -2662,0.9555562080978901 -2663,0.9547794611707021 -2664,0.10157535583479804 -2665,0.8128898904230468 -2666,0.9817252523569431 -2667,0.8048831513288425 -2668,0.23725137803891883 -2669,0.15317477125554813 -2670,0.4512194947146787 -2671,0.135840079779733 -2672,0.5295640357977245 -2673,0.9383418992455762 -2674,0.3154337325293346 -2675,0.6902313052258384 -2676,0.46500451775641505 -2677,0.04901227080809789 -2678,0.9015295001256288 -2679,0.14768335751512396 -2680,0.7752344870596048 -2681,0.9156796622711001 -2682,0.8167407538758447 -2683,0.14165094639843168 -2684,0.9328574877532729 -2685,0.9351076679450406 -2686,0.14825535743694296 -2687,0.26619676178600027 -2688,0.42753399736152553 -2689,0.9291485385210672 -2690,0.8018866551604737 -2691,0.9448237520579571 -2692,0.2910435812272608 -2693,0.23049739734523045 -2694,0.30012428209312525 -2695,0.8380728427365208 -2696,0.82752361668556 -2697,0.9297807085875038 -2698,0.7102689845322929 -2699,0.8558937872593032 -2700,0.15992982654001608 -2701,0.012884976455764363 -2702,0.8434499802029627 -2703,0.32970878202665044 -2704,0.654306325063959 -2705,0.518218526377439 -2706,0.7514244669617127 -2707,0.2529102427441601 -2708,0.9731266872523312 -2709,0.45652763444586697 -2710,0.008394950857693595 -2711,0.5147411074880587 -2712,0.332167120587609 -2713,0.7196628905238547 -2714,0.0906418583173394 -2715,0.9154153695357755 -2716,0.47638788622189954 -2717,0.6489737058575186 -2718,0.7880107106249216 -2719,0.608670792902908 -2720,0.42054753591035643 -2721,0.038987587448575334 -2722,0.902554095911582 -2723,0.5833735217811225 -2724,0.42042926730100183 -2725,0.7032016468752661 -2726,0.564506517513751 -2727,0.7505836606400083 -2728,0.7274782348671068 -2729,0.0931873996148499 -2730,0.222250910900346 -2731,0.053716869277630086 -2732,0.16407535635371595 -2733,0.8653387688839816 -2734,0.8037255987075594 -2735,0.1217187353090129 -2736,0.34829628099913235 -2737,0.6049593403042215 -2738,0.6657246313709556 -2739,0.9193531176144965 -2740,0.38175101771500575 -2741,0.1329300959599733 -2742,0.7772994245416596 -2743,0.8508157039138871 -2744,0.594697618084377 -2745,0.5055395639846842 -2746,0.476633823870948 -2747,0.9540055687136679 -2748,0.7045698396932514 -2749,0.24334176120818096 -2750,0.34944564009017254 -2751,0.8992627505558358 -2752,0.7718823092745059 -2753,0.4431322669979326 -2754,0.19915821209042595 -2755,0.3422006524854059 -2756,0.7905786622117179 -2757,0.7250125059304046 -2758,0.3901260138366506 -2759,0.8302106101871243 -2760,0.39899404642057434 -2761,0.009761278484354041 -2762,0.8283518490162962 -2763,0.734351808105903 -2764,0.40482024113653015 -2765,0.30352854827294196 -2766,0.4017395225030641 -2767,0.9372830929262526 -2768,0.2166217202163223 -2769,0.00751641286976279 -2770,0.47813134118337197 -2771,0.47100624097194577 -2772,0.009104280889009608 -2773,0.012508101369723246 -2774,0.2632526584662148 -2775,0.21436785280621073 -2776,0.3286187204647145 -2777,0.5828863726418525 -2778,0.6456443113513065 -2779,0.560197528448702 -2780,0.0756524816926325 -2781,0.13641862535395677 -2782,0.7601595040392967 -2783,0.3173071391300345 -2784,0.0763972004162009 -2785,0.4313448053187716 -2786,0.3927950902454511 -2787,0.22881896447677275 -2788,0.7648882603802026 -2789,0.1053745221677348 -2790,0.6045247355708234 -2791,0.9733224084869999 -2792,0.9096299362119843 -2793,0.16584548069094607 -2794,0.5721727094402582 -2795,0.33614728895408164 -2796,0.791348721855552 -2797,0.9764826674179143 -2798,0.9267127824253821 -2799,0.008051946622556927 -2800,0.18976086170865625 -2801,0.3830230143392036 -2802,0.9403741276767489 -2803,0.3551072352003023 -2804,0.04855078089662901 -2805,0.4857760504594756 -2806,0.34094062308953577 -2807,0.8382573929764784 -2808,0.630221258923866 -2809,0.7750633079216489 -2810,0.6779618420952184 -2811,0.5196687252132892 -2812,0.36688745450778815 -2813,0.40741932153552285 -2814,0.2901955571870075 -2815,0.5650643823673774 -2816,0.2165462995755988 -2817,0.5931038433222321 -2818,0.021668825071577635 -2819,0.039080615311323674 -2820,0.045315099829911554 -2821,0.9048385525353833 -2822,0.5860753446847337 -2823,0.4549598193822869 -2824,0.7471247303508117 -2825,0.15075719460744874 -2826,0.31945914850502455 -2827,0.26316217261544805 -2828,0.3376899012406078 -2829,0.27198067613702137 -2830,0.7744451638309355 -2831,0.2804102892793757 -2832,0.8882489673858193 -2833,0.18956351915757974 -2834,0.9233339072935247 -2835,0.17068004575876727 -2836,0.12111225147093652 -2837,0.42117265127015524 -2838,0.16888531716769561 -2839,0.8610832578421831 -2840,0.3817214501380082 -2841,0.030158360160710163 -2842,0.3207060081447931 -2843,0.5594268310771627 -2844,0.7462493728360706 -2845,0.029375856193618488 -2846,0.12103861716180364 -2847,0.07351542535187394 -2848,0.4434756744345023 -2849,0.6822709526065404 -2850,0.02450133738177185 -2851,0.2191463444331121 -2852,0.5985247296865444 -2853,0.07502450842698194 -2854,0.047678601897300776 -2855,0.856032564768739 -2856,0.2004607111959792 -2857,0.9375667218440313 -2858,0.744967581006097 -2859,0.7192836555839122 -2860,0.7020583476938494 -2861,0.05824126206933056 -2862,0.039416098069590566 -2863,0.8783214055157449 -2864,0.49485294119923495 -2865,0.012881034953837633 -2866,0.9249501217441083 -2867,0.48583611567740037 -2868,0.6604407119101522 -2869,0.7566892324451995 -2870,0.2695800601302041 -2871,0.8119555011963794 -2872,0.42492630457057035 -2873,0.7899002864403554 -2874,0.2883215778272298 -2875,0.17476017860552062 -2876,0.35542722610015753 -2877,0.10582017981936198 -2878,0.31666365310932876 -2879,0.4122257432667974 -2880,0.3697755937109235 -2881,0.46922278636236814 -2882,0.34933067767823667 -2883,0.18936124708723323 -2884,0.6094329415006313 -2885,0.9144147496257294 -2886,0.3446280357485131 -2887,0.8443386441432436 -2888,0.076402134535278 -2889,0.550198299363764 -2890,0.36774650380638285 -2891,0.4813272091481563 -2892,0.1303938784105153 -2893,0.4069112423017526 -2894,0.7996245543917345 -2895,0.6105024720854735 -2896,0.03972866991897184 -2897,0.48484085253863807 -2898,0.34888019915671564 -2899,0.4314060156930186 -2900,0.1095713259553297 -2901,0.19931381362900913 -2902,0.7004486272190233 -2903,0.5942962576113112 -2904,0.11493911183807215 -2905,0.7413383725368945 -2906,0.3384463060987788 -2907,0.8996308910929011 -2908,0.04790843576299242 -2909,0.31199528982506575 -2910,0.8444715583420523 -2911,0.23817374713190298 -2912,0.24197043587961065 -2913,0.9522956935661275 -2914,0.7542868487793104 -2915,0.492317168579686 -2916,0.18874752262712158 -2917,0.2965121606509955 -2918,0.43471214185030904 -2919,0.2360260409288033 -2920,0.8814141589898753 -2921,0.10173628048559169 -2922,0.456945618231795 -2923,0.8114645342953289 -2924,0.43796871573521945 -2925,0.6225756088413654 -2926,0.9062821679679063 -2927,0.683325632970195 -2928,0.834862758457662 -2929,0.9002640654858172 -2930,0.0013430489405240609 -2931,0.23685909113499892 -2932,0.90331944917369 -2933,0.41299472074164756 -2934,0.6247759626546836 -2935,0.18050571774353374 -2936,0.9672062956964272 -2937,0.5781450913220737 -2938,0.748623876303722 -2939,0.8914250673612522 -2940,0.5062933064083163 -2941,0.651201794979921 -2942,0.5121073921441012 -2943,0.5670174344055904 -2944,0.6050840142872507 -2945,0.40036007756928116 -2946,0.820817422175061 -2947,0.8371692259098643 -2948,0.9484790905884847 -2949,0.8291352153070032 -2950,0.6806763890696699 -2951,0.24416646690970323 -2952,0.8614451339763732 -2953,0.8857443249152261 -2954,0.1957379178319424 -2955,0.07733140985231335 -2956,0.9024210053215579 -2957,0.9176602397695597 -2958,0.3521805608270424 -2959,0.5055987231866222 -2960,0.0494311212560089 -2961,0.41151481238570775 -2962,0.728726585871155 -2963,0.3976901970515674 -2964,0.27259742038622636 -2965,0.5497725137961947 -2966,0.32533174819400246 -2967,0.9148843835849311 -2968,0.789445654220417 -2969,0.2876680624299581 -2970,0.5003248379396438 -2971,0.9396879523741648 -2972,0.22657323788429595 -2973,0.34367074389819374 -2974,0.5826665871819792 -2975,0.9538323316417151 -2976,0.9586439592792666 -2977,0.26745141867462596 -2978,0.7045330702622777 -2979,0.4120283323514945 -2980,0.7670094665050251 -2981,0.9256036816683424 -2982,0.6423690485460888 -2983,0.3370455368875208 -2984,0.7844180437722105 -2985,0.6490290836382281 -2986,0.3206175775040071 -2987,0.6797521473578108 -2988,0.928148492412928 -2989,0.9335221511462432 -2990,0.8990141191237039 -2991,0.3678100349753448 -2992,0.5899222784209 -2993,0.044033177853595284 -2994,0.14063008696418577 -2995,0.14232557816176472 -2996,0.7596049494138246 -2997,0.9367612623087005 -2998,0.29533202098323685 -2999,0.9569141586003493 -3000,0.3859554724207366 -3001,0.9455009816020765 -3002,0.74176815351096 -3003,0.4867329642721915 -3004,0.4529084584810874 -3005,0.6215567295747877 -3006,0.8846468253023472 -3007,0.5012308048248669 -3008,0.6672711079674164 -3009,0.2606998800475968 -3010,0.9507034125399821 -3011,0.9301915592579902 -3012,0.25052772652068866 -3013,0.8641125871273982 -3014,0.33191648004901064 -3015,0.7482113800714797 -3016,0.8351719391744642 -3017,0.8867007073994233 -3018,0.7469646514811391 -3019,0.8226869149784636 -3020,0.7079725647896643 -3021,0.7090955885738686 -3022,0.4778711788578791 -3023,0.31782643461919713 -3024,0.12738599982249144 -3025,0.7366557854699841 -3026,0.5939537225346643 -3027,0.6523306754497353 -3028,0.760240991720067 -3029,0.6970688259948385 -3030,0.6529967726999748 -3031,0.368910712393831 -3032,0.5646603777938762 -3033,0.05856690050798352 -3034,0.18095938455818772 -3035,0.4108962741490747 -3036,0.894157487972349 -3037,0.9684743503011882 -3038,0.9185064072564739 -3039,0.13167040236741834 -3040,0.7687474367686505 -3041,0.34066743631872487 -3042,0.09352192688644889 -3043,0.9111947611370191 -3044,0.9964788850738246 -3045,0.6862683878533451 -3046,0.6418357681423722 -3047,0.8459789836044599 -3048,0.05441037459942155 -3049,0.9036521728781752 -3050,0.455573812806201 -3051,0.7006695384673514 -3052,0.9795549750208152 -3053,0.750449036984637 -3054,0.41990078230302896 -3055,0.8009828492963069 -3056,0.4080375975790561 -3057,0.056991641775040236 -3058,0.9596413045180983 -3059,0.9579998629974124 -3060,0.504042230807762 -3061,0.07823990805262648 -3062,0.5236626488015277 -3063,0.921420264298913 -3064,0.9850478648819787 -3065,0.9584930386931114 -3066,0.7870609974047093 -3067,0.03531834354958474 -3068,0.8000480811124029 -3069,0.5341832170030865 -3070,0.527378303666633 -3071,0.44784197887231036 -3072,0.8593422410428387 -3073,0.053335745808920976 -3074,0.2834076299458369 -3075,0.7944623508303361 -3076,0.4265737657055154 -3077,0.32158513845766534 -3078,0.28513623895283224 -3079,0.9994852036542531 -3080,0.7230718562465768 -3081,0.6540685929684911 -3082,0.03285201241883873 -3083,0.15846649191326112 -3084,0.27518151143998526 -3085,0.5638014041628489 -3086,0.29804186887274775 -3087,0.20948688207789334 -3088,0.9987723271407427 -3089,0.7596321332592537 -3090,0.9648424684652692 -3091,0.5580401246465424 -3092,0.6184854191907624 -3093,0.9630908543623043 -3094,0.2074021344227298 -3095,0.7135929311454214 -3096,0.6847613818110284 -3097,0.6021136598663029 -3098,0.5909117324962949 -3099,0.6895299295511523 -3100,0.7581453571685306 -3101,0.4951163819067754 -3102,0.11700777766415404 -3103,0.7660788879370262 -3104,0.09769354235517802 -3105,0.2379004028886691 -3106,0.06201555138069903 -3107,0.46618198043373305 -3108,0.5959439646033902 -3109,0.3694224917215537 -3110,0.42528488066543835 -3111,0.5336142646396024 -3112,0.34930061899726605 -3113,0.04903409630565936 -3114,0.23970226259943284 -3115,0.9262404090212825 -3116,0.9240693436927704 -3117,0.02904222065495954 -3118,0.6548678492739062 -3119,0.412734047925168 -3120,0.45257305828321326 -3121,0.4601273757328439 -3122,0.5800349686825079 -3123,0.32882741126660153 -3124,0.94049562874854 -3125,0.653135297872608 -3126,0.886687926896232 -3127,0.6248375036815332 -3128,0.795377025808521 -3129,0.37136510143724577 -3130,0.20810330117604858 -3131,0.14009450617238817 -3132,0.04378939636363599 -3133,0.12307360268260359 -3134,0.32698173208025727 -3135,0.33588729691410557 -3136,0.6928901371182198 -3137,0.12993729148409316 -3138,0.8552629093128573 -3139,0.2203139015366944 -3140,0.669831339295889 -3141,0.4126334752289479 -3142,0.2652048999141685 -3143,0.4165270525658269 -3144,0.8538575232873148 -3145,0.7949326007895079 -3146,0.17587120799766798 -3147,0.7678706318756258 -3148,0.017846171736044414 -3149,0.5331968312693541 -3150,0.18176218320412307 -3151,0.8432138437680694 -3152,0.13891223391158636 -3153,0.9627045218490871 -3154,0.8497949952314927 -3155,0.09354227914120383 -3156,0.21648370837619046 -3157,0.9554099545355271 -3158,0.5260059220917502 -3159,0.5562802382389467 -3160,0.9672957285784329 -3161,0.6167477883806749 -3162,0.14918227927547756 -3163,0.8153027522127783 -3164,0.0818520447300467 -3165,0.4039079963086173 -3166,0.5742310786833653 -3167,0.3952052515160247 -3168,0.47351092454761423 -3169,0.4719263559037822 -3170,0.12867205541204274 -3171,0.31929317920648415 -3172,0.9779172597995287 -3173,0.04800397023749858 -3174,0.35546285130012345 -3175,0.16426220290294968 -3176,0.2672331978330409 -3177,0.127489267208586 -3178,0.18428796360265287 -3179,0.3717016867814512 -3180,0.2505651312641872 -3181,0.04305724307528547 -3182,0.026697857434038963 -3183,0.37703956712470066 -3184,0.5582030555609411 -3185,0.7112489205338509 -3186,0.45204779746277357 -3187,0.2155412314344518 -3188,0.15683585317670645 -3189,0.6377101915988689 -3190,0.24334987685646658 -3191,0.815267346557499 -3192,0.8881703961136319 -3193,0.8491965029905719 -3194,0.01374572256518325 -3195,0.5846593380557132 -3196,0.8286106640894697 -3197,0.21768272147065837 -3198,0.5660676326531643 -3199,0.23670436809011874 -3200,0.9088029072688701 -3201,0.8668716083295206 -3202,0.5936783224510374 -3203,0.518685177624518 -3204,0.45027824363620106 -3205,0.9560829856969552 -3206,0.003199516815221015 -3207,0.9715131159923248 -3208,0.27139711654892207 -3209,0.14312858041292287 -3210,0.9848718286490685 -3211,0.06641318959173248 -3212,0.5953715697262584 -3213,0.7475266468105536 -3214,0.7221008988539971 -3215,0.33642743035999645 -3216,0.10831745518781721 -3217,0.960238149211127 -3218,0.05507236666117521 -3219,0.32305083011747304 -3220,0.43679087099434 -3221,0.31157306510987604 -3222,0.6271801804277306 -3223,0.8847015865856084 -3224,0.2994492170869125 -3225,0.04218216756500237 -3226,0.5925341933248507 -3227,0.2671253353882681 -3228,0.7731996951520382 -3229,0.43076280004328127 -3230,0.009866246007534274 -3231,0.7451558314286401 -3232,0.315574406871726 -3233,0.7739028033596612 -3234,0.08172764507080132 -3235,0.6915622496794611 -3236,0.4045476441226966 -3237,0.7227808831994534 -3238,0.20552344589780236 -3239,0.7030673608208647 -3240,0.10270874095815297 -3241,0.3968769798958539 -3242,0.16517501856979389 -3243,0.7555298719510884 -3244,0.36541066644558007 -3245,0.8297427270848085 -3246,0.4581555941582397 -3247,0.050724438000901095 -3248,0.1275016515336157 -3249,0.4302959961491136 -3250,0.6683368348652976 -3251,0.7963805684522257 -3252,0.6261502133451164 -3253,0.9200509495083518 -3254,0.39986403563763995 -3255,0.12655632985190923 -3256,0.9982201211492492 -3257,0.9701643006156354 -3258,0.28308405437732476 -3259,0.19588698108522018 -3260,0.8745917811478746 -3261,0.9664290346299207 -3262,0.5378265184786337 -3263,0.7522941770349549 -3264,0.9947970891069795 -3265,0.32772689038422265 -3266,0.6394841105402163 -3267,0.8328208711093397 -3268,0.5839756877909706 -3269,0.11110806537017348 -3270,0.459131859948013 -3271,0.8126770682938306 -3272,0.7667381225176259 -3273,0.02182779046232808 -3274,0.3066752431929163 -3275,0.08033508326031424 -3276,0.8450217589887549 -3277,0.1869822072931433 -3278,0.2224733158960185 -3279,0.08558331688137344 -3280,0.8917809301064924 -3281,0.3337891299114576 -3282,0.6396967611272856 -3283,0.7158857350637045 -3284,0.753439558352724 -3285,0.7392589097188194 -3286,0.2726722055390328 -3287,0.7264828308779868 -3288,0.7764146342455746 -3289,0.2969054664599332 -3290,0.9313587195057843 -3291,0.6379161451815146 -3292,0.7766002666972537 -3293,0.728638156953069 -3294,0.9414196611260671 -3295,0.03283672326329645 -3296,0.37865933041338173 -3297,0.285147379279877 -3298,0.10568843227009728 -3299,0.8803709922364285 -3300,0.49903793893095094 -3301,0.5641892966498291 -3302,0.6357745873783559 -3303,0.875017317919321 -3304,0.21801519553506532 -3305,0.9345658631521897 -3306,0.23946628907057865 -3307,0.29409611591125573 -3308,0.2642936503909281 -3309,0.7042023842522843 -3310,0.8794623786517578 -3311,0.32133470616999893 -3312,0.9114482269833839 -3313,0.8827104338513095 -3314,0.860449515458127 -3315,0.9171243186296947 -3316,0.25851197652406055 -3317,0.7375234413694597 -3318,0.17278871464954293 -3319,0.5326992610248475 -3320,0.715740837231535 -3321,0.03493945838442647 -3322,0.7121466194365856 -3323,0.2956765491382547 -3324,0.4777091571150197 -3325,0.6910839857827038 -3326,0.34451712290269265 -3327,0.5163099016091355 -3328,0.9443466415399353 -3329,0.9547056362083471 -3330,0.5697759819233708 -3331,0.15098633921486138 -3332,0.03206115409566257 -3333,0.2675604726186982 -3334,0.3148227395971799 -3335,0.9582928686089813 -3336,0.7438797601762126 -3337,0.44587987935114193 -3338,0.666554029367564 -3339,0.5500956609710769 -3340,0.22646959790803756 -3341,0.3694914595506441 -3342,0.9881772294114085 -3343,0.905877133094366 -3344,0.705793892040062 -3345,0.40175092882072805 -3346,0.608976585126805 -3347,0.720065452471108 -3348,0.9332018483535066 -3349,0.2605440707450283 -3350,0.495854107303056 -3351,0.5028307576615582 -3352,0.4298501043207592 -3353,0.2977763325891051 -3354,0.6590436646556824 -3355,0.39391054780212176 -3356,0.41061632639102075 -3357,0.5954597421708508 -3358,0.45993090018273963 -3359,0.454710729767857 -3360,0.845795164812485 -3361,0.42022285113142377 -3362,0.504007365872628 -3363,0.044000023721576964 -3364,0.9013611398913155 -3365,0.9070491576825108 -3366,0.9942795378603206 -3367,0.6886725103398975 -3368,0.35755984145381015 -3369,0.30145029863570094 -3370,0.8548715238429575 -3371,0.36142665706154553 -3372,0.9419835684568169 -3373,0.7237633084148862 -3374,0.5532021144715735 -3375,0.922885250274528 -3376,0.3895406708967214 -3377,0.9532256865930594 -3378,0.828026509243172 -3379,0.488148678341519 -3380,0.14116645715976206 -3381,0.9099844563870021 -3382,0.3727429391805105 -3383,0.8608635960452551 -3384,0.8431258813821831 -3385,0.8118993796558938 -3386,0.3926979530567334 -3387,0.460740317123279 -3388,0.7175859152512077 -3389,0.4154174966997547 -3390,0.810411035906552 -3391,0.7043154725433034 -3392,0.30709343125317956 -3393,0.05719504712871615 -3394,0.9089223536965776 -3395,0.21051302545344108 -3396,0.03757569599311816 -3397,0.6733570273127254 -3398,0.9217244426190793 -3399,0.5699165338326015 -3400,0.2011485605950578 -3401,0.005217101394278445 -3402,0.7900957717529233 -3403,0.32137472856038984 -3404,0.8183223229033348 -3405,0.6898419123701937 -3406,0.4524430424720143 -3407,0.591924367858877 -3408,0.11648864858397179 -3409,0.8756955167472205 -3410,0.3295329384510477 -3411,0.9913644383143909 -3412,0.6109773180149152 -3413,0.22874281815457775 -3414,0.6006619299367956 -3415,0.018174754142441185 -3416,0.18556545490524312 -3417,0.4918683207247855 -3418,0.9584006986249611 -3419,0.8923885990596563 -3420,0.2729559099693346 -3421,0.6369962705226282 -3422,0.5078674676579302 -3423,0.65153658369922 -3424,0.4439848710281541 -3425,0.15475661817839848 -3426,0.07279519820091229 -3427,0.06622424755470968 -3428,0.9153122336034851 -3429,0.40572490104483516 -3430,0.08496348512550411 -3431,0.4142264720394966 -3432,0.28651066011980064 -3433,0.4950996894747729 -3434,0.28799354707934166 -3435,0.8978003713768005 -3436,0.7513628993430665 -3437,0.2970487343725512 -3438,0.04518016834488847 -3439,0.1886875593972248 -3440,0.4871617264520136 -3441,0.8090681844607668 -3442,0.39231284046733783 -3443,0.883033572470721 -3444,0.1519014290821007 -3445,0.10290083399843486 -3446,0.7297864382805458 -3447,0.0537597293284654 -3448,0.2170263620888897 -3449,0.22143742040922687 -3450,0.07206003474056588 -3451,0.729495641847162 -3452,0.029259513946048865 -3453,0.18277995144358627 -3454,0.59890535503188 -3455,0.5442681503583571 -3456,0.2835145267093274 -3457,0.5361446424073834 -3458,0.351376509615271 -3459,0.555038578059314 -3460,0.17521144319780868 -3461,0.14484136174448015 -3462,0.9128538035851136 -3463,0.6169787444254594 -3464,0.737928558422781 -3465,0.2800463590501243 -3466,0.4067486175971562 -3467,0.14328506200476054 -3468,0.5939187155741675 -3469,0.14733734249958608 -3470,0.6166004212732324 -3471,0.5854930553468464 -3472,0.7610170572211034 -3473,0.1830293946198267 -3474,0.575154049676988 -3475,0.4867295810383566 -3476,0.05833995606600717 -3477,0.5612983184640828 -3478,0.19357012568088705 -3479,0.5982343205407384 -3480,0.9014543212250709 -3481,0.9701659031777888 -3482,0.061657182569597624 -3483,0.47682913879431865 -3484,0.6713045569992865 -3485,0.8957110456123563 -3486,0.4885188989133241 -3487,0.8165099072479296 -3488,0.19109821645334968 -3489,0.3006242341645997 -3490,0.3825191359806418 -3491,0.7617752336073259 -3492,0.4914889251408894 -3493,0.8110605925581162 -3494,0.9283473147185856 -3495,0.7109812755730811 -3496,0.301196461521146 -3497,0.06836927591326991 -3498,0.6592750671843198 -3499,0.8073988869863059 -3500,0.46422293264891235 -3501,0.4797048109797337 -3502,0.05949625497472055 -3503,0.6377471674814431 -3504,0.5292412345032466 -3505,0.8234378684540963 -3506,0.3105489561251914 -3507,0.8669620359830233 -3508,0.008460830325882629 -3509,0.6915744368816052 -3510,0.9286036180069698 -3511,0.673140871741257 -3512,0.6342427720534222 -3513,0.5368967251772675 -3514,0.98048862007561 -3515,0.24044328882184418 -3516,0.2923496002525777 -3517,0.8501820309345782 -3518,0.8327459296740027 -3519,0.777866059732006 -3520,0.6300879848363856 -3521,0.7139157976540206 -3522,0.6765168734406976 -3523,0.640729449905726 -3524,0.007777689852057512 -3525,0.6530372240987257 -3526,0.14191020772831453 -3527,0.06672062225233977 -3528,0.5916200346611864 -3529,0.2840454815905249 -3530,0.171525888811633 -3531,0.012804760076708166 -3532,0.9193545164984471 -3533,0.4656904407894743 -3534,0.6257159449533382 -3535,0.7818090650536367 -3536,0.8571305430816031 -3537,0.5360425475602989 -3538,0.6036797608433033 -3539,0.9056221334251612 -3540,0.4555353525824163 -3541,0.19004548728871384 -3542,0.2270129162398674 -3543,0.19918171843347254 -3544,0.16462631077262158 -3545,0.18021615016613568 -3546,0.19789162049531694 -3547,0.756464313876915 -3548,0.5399589067809685 -3549,0.6714576339899118 -3550,0.9728437831983351 -3551,0.6691468483751021 -3552,0.6404080262081651 -3553,0.869089514604754 -3554,0.8550266500396319 -3555,0.9791795251570091 -3556,0.14446094397886278 -3557,0.021399851931030556 -3558,0.032870014294277494 -3559,0.36670802080341625 -3560,0.7340580034856803 -3561,0.7395124479701788 -3562,0.4251147134989436 -3563,0.7170738192885151 -3564,0.0033402736301513247 -3565,0.6268046899771306 -3566,0.9208805722502588 -3567,0.6926191592001324 -3568,0.04397006611085119 -3569,0.04424407885988335 -3570,0.3509464006725974 -3571,0.8522077798015133 -3572,0.7418749880779969 -3573,0.7419820742294704 -3574,0.09222328013084835 -3575,0.7757293181995888 -3576,0.17267686496684342 -3577,0.5238191889894741 -3578,0.00952287424117082 -3579,0.9409223944904104 -3580,0.2978841036283286 -3581,0.32666136166182225 -3582,0.20506168840527972 -3583,0.07767645646153909 -3584,0.4966238944881035 -3585,0.7419897252420086 -3586,0.232943807150233 -3587,0.572081920738464 -3588,0.8743628628495611 -3589,0.8337028671000519 -3590,0.7632083588356096 -3591,0.6287200562530592 -3592,0.1644375992409517 -3593,0.1307514825875853 -3594,0.1225660487607616 -3595,0.5496069814076403 -3596,0.6808708969614405 -3597,0.0684549180296885 -3598,0.6039053978384742 -3599,0.16317525469644534 -3600,0.8506800427471654 -3601,0.4383744122922565 -3602,0.21499628856284847 -3603,0.7998885776875975 -3604,0.34321579311208683 -3605,0.895612493243309 -3606,0.06642052240935281 -3607,0.9101324878616354 -3608,0.7217641007788195 -3609,0.19078776466070457 -3610,0.11180006224475547 -3611,0.9614763003610506 -3612,0.14775146264850558 -3613,0.31536397042306064 -3614,0.5647474053981247 -3615,0.7528632128397184 -3616,0.15053007174814326 -3617,0.3496916824813724 -3618,0.28572061947218275 -3619,0.8882105317437877 -3620,0.3558731002200075 -3621,0.7340220165638818 -3622,0.8732231502180988 -3623,0.9417043385551699 -3624,0.11648645751202069 -3625,0.08032505237152132 -3626,0.4743509393202463 -3627,0.9730758466321447 -3628,0.6258204563779362 -3629,0.7196874997177553 -3630,0.2648194788800915 -3631,0.31445996112689667 -3632,0.4786722633728212 -3633,0.47150844838993367 -3634,0.02524184064909174 -3635,0.8951977112105806 -3636,0.6382906076408068 -3637,0.8121090362979796 -3638,0.532222528074196 -3639,0.5546975587264874 -3640,0.29576177722415165 -3641,0.22308004788169278 -3642,0.8981798244574364 -3643,0.09006176887538819 -3644,0.8238861336132289 -3645,0.6018793782361322 -3646,0.8269311673397348 -3647,0.6473894314269053 -3648,0.35643388659271147 -3649,0.11322371022589683 -3650,0.14244413553768054 -3651,0.5608905113068148 -3652,0.7981384814435343 -3653,0.9189898938669555 -3654,0.6579490440872755 -3655,0.8951205500297328 -3656,0.7557891744491546 -3657,0.3546138029257292 -3658,0.4183995822280616 -3659,0.7223745316228415 -3660,0.22526420994313678 -3661,0.48399187306862645 -3662,0.30217040223574465 -3663,0.5692692383604122 -3664,0.885252542195675 -3665,0.055991785603631494 -3666,0.1573575196608027 -3667,0.5871933675910156 -3668,0.24564595713926207 -3669,0.26643483299687976 -3670,0.9862732695012324 -3671,0.8079277375711568 -3672,0.5958089396085532 -3673,0.22416666336479796 -3674,0.2579873013823789 -3675,0.7851942408857601 -3676,0.30159772613747293 -3677,0.1476081379616958 -3678,0.23794191612042215 -3679,0.2303251955576956 -3680,0.947136331695107 -3681,0.2049161268296119 -3682,0.8019205405294747 -3683,0.30364378327894537 -3684,0.7940250633976639 -3685,0.5201150552028437 -3686,0.5313392459823097 -3687,0.6826721828024191 -3688,0.38193755072174174 -3689,0.880907721488168 -3690,0.4794209480322348 -3691,0.7358706942096445 -3692,0.45094301865291786 -3693,0.7010091779929623 -3694,0.6735016035593758 -3695,0.5886723800413745 -3696,0.717148039885633 -3697,0.16992137548563457 -3698,0.537061805069439 -3699,0.3800395048898414 -3700,0.20184460344476685 -3701,0.5849598737004481 -3702,0.5844070208662699 -3703,0.6873727478765838 -3704,0.8121481242544902 -3705,0.11997567151276933 -3706,0.4222540146247953 -3707,0.7411068278438991 -3708,0.8088435169421426 -3709,0.5532910593486233 -3710,0.2103695280054998 -3711,0.09820222435887138 -3712,0.9226279565664135 -3713,0.4289959253784771 -3714,0.7353466582602685 -3715,0.42020568973541805 -3716,0.3205712447296505 -3717,0.8545603893494771 -3718,0.44410863080148966 -3719,0.5553012728913955 -3720,0.34068814074866294 -3721,0.9170156652799369 -3722,0.9894649977264313 -3723,0.47102051500381614 -3724,0.9194749308531552 -3725,0.09120496354982355 -3726,0.18152982158266318 -3727,0.8402545024074266 -3728,0.2603296107423818 -3729,0.15865929558585123 -3730,0.4781521251599341 -3731,0.2970967424805083 -3732,0.6553471839166845 -3733,0.017637573037328158 -3734,0.5050393623200332 -3735,0.1706746484466073 -3736,0.7937183265580117 -3737,0.9161787597457088 -3738,0.45546792717722373 -3739,0.3593662680022264 -3740,0.8528329313843206 -3741,0.8326888590743913 -3742,0.36261543781062355 -3743,0.5522906951681704 -3744,0.5104670786840256 -3745,0.08807207497070291 -3746,0.42030845257754723 -3747,0.2693493282710244 -3748,0.8427218843679988 -3749,0.8958489629552372 -3750,0.6557661661308721 -3751,0.27863802260902015 -3752,0.5536247236451363 -3753,0.7967991391256424 -3754,0.6737431690943481 -3755,0.32939888493963065 -3756,0.1786546978934057 -3757,0.0809217839205707 -3758,0.5835401771053921 -3759,0.6181647141527515 -3760,0.34596295026641055 -3761,0.6132517031203625 -3762,0.5535908059910412 -3763,0.38837148858194503 -3764,0.29104560318970163 -3765,0.6001409316269275 -3766,0.8103863080696814 -3767,0.34632746429685846 -3768,0.051558212067908116 -3769,0.006197522789311405 -3770,0.08481012933543608 -3771,0.46321192577306913 -3772,0.1735804960205598 -3773,0.8101359833240355 -3774,0.31998325582209586 -3775,0.4746550588170011 -3776,0.3247819131013917 -3777,0.7487429245634136 -3778,0.7801495725087567 -3779,0.26483356787479284 -3780,0.3972231075713416 -3781,0.3520770163655581 -3782,0.5422134586104187 -3783,0.29483134965324387 -3784,0.6394961349282079 -3785,0.6285804928294074 -3786,0.3349134538943801 -3787,0.49632352007842606 -3788,0.5155157255402539 -3789,0.9910024090837622 -3790,0.11029128708190539 -3791,0.9493158715322337 -3792,0.14131070923324485 -3793,0.8526099284281281 -3794,0.3696181991559512 -3795,0.575265673407394 -3796,0.7012569220288359 -3797,0.8651712164854679 -3798,0.6116351756151861 -3799,0.25224533992308695 -3800,0.7838914654611998 -3801,0.21731437077048665 -3802,0.09173407654241306 -3803,0.15805116264512242 -3804,0.429752742937502 -3805,0.2988694703636846 -3806,0.8206502774012857 -3807,0.8722274477959857 -3808,0.6583897256667037 -3809,0.9334314906849551 -3810,0.5581557176272046 -3811,0.9920237283857853 -3812,0.8603806428986008 -3813,0.5851562875819241 -3814,0.4603088487428846 -3815,0.5932182432138938 -3816,0.18651738962862718 -3817,0.7765527720233951 -3818,0.48265749882648934 -3819,0.9846436287445218 -3820,0.6008994975571771 -3821,0.1274112989891446 -3822,0.4607484639666535 -3823,0.5330621794205812 -3824,0.5699450036269212 -3825,0.16387780565863785 -3826,0.7452750948374124 -3827,0.9353555512550293 -3828,0.8630489188584468 -3829,0.9212030655167207 -3830,0.810312398804496 -3831,0.9013568902519812 -3832,0.015616655403927537 -3833,0.7311202425791266 -3834,0.21157167819744405 -3835,0.2236975519083355 -3836,0.8867592072653064 -3837,0.16915669106229014 -3838,0.0949931861873129 -3839,0.48801681399228614 -3840,0.4310437400641004 -3841,0.7674375252754887 -3842,0.0328943324955967 -3843,0.3507666323674933 -3844,0.735959838731234 -3845,0.6659641495007084 -3846,0.5657917069714847 -3847,0.13721510771369905 -3848,0.23792858872334355 -3849,0.181869128872563 -3850,0.6617901591056777 -3851,0.110120075462118 -3852,0.21264627812503567 -3853,0.8328365012980999 -3854,0.22363955245825273 -3855,0.6705829657166377 -3856,0.4610340449409781 -3857,0.3125975058796282 -3858,0.46236722641283834 -3859,0.1136568944663815 -3860,0.2566660649794127 -3861,0.2800017860610362 -3862,0.049839279428684824 -3863,0.5486347944951148 -3864,0.9498869096081375 -3865,0.7295428231044327 -3866,0.5602836300962619 -3867,0.5423097768905738 -3868,0.2740365132859226 -3869,0.35463021804808814 -3870,0.08992545450225897 -3871,0.40880536330971484 -3872,0.5017875975182535 -3873,0.6156736174361722 -3874,0.3643701749982342 -3875,0.3295000963388991 -3876,0.7407926522258704 -3877,0.8743953626199655 -3878,0.4135983729152153 -3879,0.16211510316054822 -3880,0.43340992093315434 -3881,0.3092269075443398 -3882,0.2901845526726543 -3883,0.7252185500768151 -3884,0.4570475616549853 -3885,0.5439185387835058 -3886,0.2379020875683453 -3887,0.21796022005038385 -3888,0.9001540152822538 -3889,0.8105845244259101 -3890,0.12578789879108643 -3891,0.5948890681432872 -3892,0.02739888398174284 -3893,0.2536526867300467 -3894,0.7551839355801311 -3895,0.4131822414366769 -3896,0.6926362319419862 -3897,0.18259458967727393 -3898,0.5354866740089127 -3899,0.17737357296100487 -3900,0.7734571135103144 -3901,0.3692345821633227 -3902,0.7131975356280115 -3903,0.7817500028229672 -3904,0.5807960118527878 -3905,0.5388553177954001 -3906,0.6035917090932933 -3907,0.9835782636698887 -3908,0.6524091723899417 -3909,0.2305971555358638 -3910,0.15473485695746603 -3911,0.6236098740364642 -3912,0.5290471823055141 -3913,0.20226055075783467 -3914,0.6698353376221663 -3915,0.5610122802763421 -3916,0.6908132094973843 -3917,0.846405429013613 -3918,0.18166540506775442 -3919,0.5540900707867473 -3920,0.08386112745423469 -3921,0.3943175424065497 -3922,0.06707675418794778 -3923,0.5915054649041516 -3924,0.31747968348079725 -3925,0.7020716010164316 -3926,0.3342413648956556 -3927,0.6918194933403743 -3928,0.5457270502135394 -3929,0.1854509576487755 -3930,0.07629677023991566 -3931,0.9332933562700398 -3932,0.9017211046319107 -3933,0.6932817051211598 -3934,0.11996372585357284 -3935,0.0736708432704335 -3936,0.8243971376730662 -3937,0.8095959254308681 -3938,0.5418069643215899 -3939,0.9443505933473129 -3940,0.2932010687014962 -3941,0.19764923837769444 -3942,0.1446100123257461 -3943,0.028493228847896068 -3944,0.4801557014666903 -3945,0.44067186235059996 -3946,0.4648174815613688 -3947,0.3141457182134074 -3948,0.10329617886594167 -3949,0.9259188162506721 -3950,0.08062202688540132 -3951,0.8898361156670206 -3952,0.30692344546829686 -3953,0.1638542763059978 -3954,0.282543227673148 -3955,0.1869529417180822 -3956,0.04327184586481614 -3957,0.6628237911074952 -3958,0.6423073148736975 -3959,0.7348666416499738 -3960,0.8816458042852994 -3961,0.519509560109683 -3962,0.8685109898291818 -3963,0.019418439437741686 -3964,0.7261287454151951 -3965,0.9272223155012407 -3966,0.8406257138090091 -3967,0.5639490955566073 -3968,0.9331131099056273 -3969,0.01093504626399755 -3970,0.8117856632637961 -3971,0.33181883051190764 -3972,0.3664885147802823 -3973,0.861463652082525 -3974,0.7247015285602427 -3975,0.8710935719166055 -3976,0.6342548934299382 -3977,0.9913449125643627 -3978,0.3354725350638217 -3979,0.026277673048520578 -3980,0.6877001348512863 -3981,0.5378260507605577 -3982,0.005463408535034686 -3983,0.8335750948289892 -3984,0.6490366358373252 -3985,0.872495444562258 -3986,0.5663598462073867 -3987,0.4073512765677302 -3988,0.47318522081944014 -3989,0.16174408688030273 -3990,0.4850219995582489 -3991,0.8231179287318289 -3992,0.5150753063691745 -3993,0.8957194960954492 -3994,0.8701945352081132 -3995,0.1351902643258064 -3996,0.40013666366705813 -3997,0.29250946658811494 -3998,0.2331631043757989 -3999,0.4049325140314711 -4000,0.635913422826335 -4001,0.0031166617671709584 -4002,0.5831309827870595 -4003,0.43234225440087126 -4004,0.5923913839230757 -4005,0.4224253991751439 -4006,0.024452900220013896 -4007,0.3664533186837462 -4008,0.05825536961662092 -4009,0.6548955309673679 -4010,0.6278749327878385 -4011,0.09327463544768833 -4012,0.9728397808536058 -4013,0.24136217492250922 -4014,0.13476628267856372 -4015,0.7373220773164173 -4016,0.18154417348017593 -4017,0.5165858731020033 -4018,0.7127588396960798 -4019,0.6112173286871324 -4020,0.8029844049655132 -4021,0.9496724006919686 -4022,0.40490593441221834 -4023,0.5808618663497176 -4024,0.24118154334331043 -4025,0.45871424259378857 -4026,0.43035524772649303 -4027,0.9723007871036324 -4028,0.6272812891269965 -4029,0.33259053936588845 -4030,0.8234732539862061 -4031,0.047033114534045684 -4032,0.17807942657285936 -4033,0.9118596192089204 -4034,0.24163258509074037 -4035,0.44901839186048387 -4036,0.5784245550163811 -4037,0.07459331513906897 -4038,0.36845243266673977 -4039,0.278492868160388 -4040,0.4239410099604922 -4041,0.3577687747297803 -4042,0.6304222760752847 -4043,0.32283578364089227 -4044,0.23113819011151515 -4045,0.36329052461108113 -4046,0.7984924447601124 -4047,0.5062358366401677 -4048,0.17562249978463618 -4049,0.16527087834453835 -4050,0.00020889543970736835 -4051,0.5776224865678291 -4052,0.11431682033878854 -4053,0.6302490397378117 -4054,0.6036881196449965 -4055,0.2676823348905625 -4056,0.20340944182304665 -4057,0.2789021279723495 -4058,0.10089425825640197 -4059,0.22869001287301483 -4060,0.7917084268309686 -4061,0.060827373892371916 -4062,0.03939935552375862 -4063,0.9101870314356449 -4064,0.8555253458850455 -4065,0.9688855471836272 -4066,0.8684901769391103 -4067,0.09215528275827789 -4068,0.19711762784653242 -4069,0.4015663164588339 -4070,0.3673478836587525 -4071,0.1553753777170267 -4072,0.990417439404678 -4073,0.3343314573375894 -4074,0.016384639841203086 -4075,0.6677131062799163 -4076,0.2632259846102266 -4077,0.9757385153027834 -4078,0.886266999362769 -4079,0.5883800278244838 -4080,0.07944126088118286 -4081,0.5151084322071156 -4082,0.32649611591530936 -4083,0.11338363268723262 -4084,0.9742857823724764 -4085,0.8796293900441028 -4086,0.5930051655304079 -4087,0.00022039846426091803 -4088,0.23519460330965536 -4089,0.3432653764525109 -4090,0.22867394313521594 -4091,0.601459598744261 -4092,0.6466591615736382 -4093,0.4088651179612651 -4094,0.7653692123685225 -4095,0.011372110752634002 -4096,0.6868775839193977 -4097,0.6481506986610726 -4098,0.9777841625064091 -4099,0.015122494235661477 -4100,0.8950965140489637 -4101,0.6964431798049624 -4102,0.6157919393910503 -4103,0.051033183200813514 -4104,0.8264714411974892 -4105,0.38895633987680744 -4106,0.4523540782289056 -4107,0.1433426127612032 -4108,0.9673853189559297 -4109,0.9925390085689137 -4110,0.78761806676681 -4111,0.7038620252769796 -4112,0.8559165380767219 -4113,0.4658558710575187 -4114,0.6491109638049357 -4115,0.18341998513035762 -4116,0.7833028299185459 -4117,0.3312747984571177 -4118,0.7578698825946855 -4119,0.726504596019887 -4120,0.4974986232905815 -4121,0.29881784444667014 -4122,0.6350598741349806 -4123,0.8155229749277905 -4124,0.1091115114389074 -4125,0.17762399431172216 -4126,0.238679241810955 -4127,0.7250605810543932 -4128,0.11107379731797828 -4129,0.8797396064643856 -4130,0.23019676306961234 -4131,0.5932787116579566 -4132,0.4741608710257442 -4133,0.40342193739898813 -4134,0.38793720359609674 -4135,0.7481955909207674 -4136,0.17553600973745354 -4137,0.9963461549839452 -4138,0.3218911627672517 -4139,0.6398571574026156 -4140,0.6387422788026865 -4141,0.7681729563401687 -4142,0.3155246735571934 -4143,0.29470999924816355 -4144,0.7977638968377455 -4145,0.7923414145169864 -4146,0.6283868618731416 -4147,0.5126150620383282 -4148,0.11131598275368448 -4149,0.1488447193091249 -4150,0.37349319267591263 -4151,0.09290465950510451 -4152,0.04948847982516269 -4153,0.9054221658325476 -4154,0.3086917999810558 -4155,0.5371234141419184 -4156,0.49124863714994826 -4157,0.2848376711634013 -4158,0.566393981546338 -4159,0.870727819132921 -4160,0.5902133524841746 -4161,0.07325024045141848 -4162,0.6403550850410367 -4163,0.17774527103281235 -4164,0.3661601520758929 -4165,0.5741329220252672 -4166,0.29785414155458234 -4167,0.21594741028976827 -4168,0.007046080717193259 -4169,0.8342604578972586 -4170,0.8888102570002695 -4171,0.2147421435200536 -4172,0.38751053180706474 -4173,0.6752312827520811 -4174,0.6841259928814615 -4175,0.41018261728429317 -4176,0.7059355963716573 -4177,0.481288013157281 -4178,0.08200100199321392 -4179,0.1777621910032149 -4180,0.6925877967146954 -4181,0.7002248525377286 -4182,0.6557646148864931 -4183,0.07275110728474243 -4184,0.4079722505021176 -4185,0.3768077408821354 -4186,0.49359612743839876 -4187,0.7084951627579199 -4188,0.632511712286361 -4189,0.43701801661488193 -4190,0.0651174877648576 -4191,0.4924106386872943 -4192,0.3489323482276582 -4193,0.8013204590276416 -4194,0.7009718402037917 -4195,0.5458601828037536 -4196,0.9150568814079331 -4197,0.5335694946037619 -4198,0.7931162571794087 -4199,0.4951409073862014 -4200,0.7442576343627739 -4201,0.5692072339214073 -4202,0.748613551105293 -4203,0.5412534819840766 -4204,0.7896745257573288 -4205,0.8017739161750119 -4206,0.3352168917535826 -4207,0.6094389239244741 -4208,0.7033563760208724 -4209,0.8527369319072786 -4210,0.7682654340237941 -4211,0.8725017974426788 -4212,0.07636805714485662 -4213,0.6467366934172057 -4214,0.1804292883826688 -4215,0.1117223596565664 -4216,0.24117658839399958 -4217,0.14738812547373792 -4218,0.9013499268788182 -4219,0.928696725208096 -4220,0.7770052704000625 -4221,0.26464263116034914 -4222,0.13255282742462293 -4223,0.14654635473198163 -4224,0.3169010996016647 -4225,0.5606880978265751 -4226,0.28838223770464677 -4227,0.043762027133808945 -4228,0.5446480635666076 -4229,0.5424519748169496 -4230,0.6437925503178504 -4231,0.5549063372252042 -4232,0.4004716497003894 -4233,0.44293932420833304 -4234,0.48128706292877077 -4235,0.7879329949690836 -4236,0.37093182020164417 -4237,0.13718139202558421 -4238,0.4668374159416784 -4239,0.37380479151666957 -4240,0.7858469778086508 -4241,0.6628843328324866 -4242,0.9226122455578201 -4243,0.7957242178250108 -4244,0.1565840066414601 -4245,0.7853310494725099 -4246,0.11386719074585028 -4247,0.4842759721405927 -4248,0.524358797804402 -4249,0.5688374223670055 -4250,0.7052591738359609 -4251,0.8288858582874743 -4252,0.4195989530226828 -4253,0.054433638419800645 -4254,0.31780652423601075 -4255,0.007411010263825624 -4256,0.513044906233898 -4257,0.13436273357973616 -4258,0.517156222375005 -4259,0.18888584636886696 -4260,0.03489071627018503 -4261,0.4611602882583955 -4262,0.9298027163877917 -4263,0.6788932321265901 -4264,0.6702275825610516 -4265,0.7350617426577548 -4266,0.10093866351717007 -4267,0.054895934635532995 -4268,0.8441649772384171 -4269,0.6757727893278768 -4270,0.475140620036375 -4271,0.274186090421625 -4272,0.273716346401903 -4273,0.7720658469462717 -4274,0.19970520353229637 -4275,0.09045008717893499 -4276,0.1515662637754842 -4277,0.4621916884886891 -4278,0.46901789388717474 -4279,0.7203630967703541 -4280,0.3019040564647971 -4281,0.7100806765017454 -4282,0.14191681191678707 -4283,0.24744440519391453 -4284,0.7232280324292605 -4285,0.430521242524039 -4286,0.2906320118485308 -4287,0.03853803050287974 -4288,0.37865310170216127 -4289,0.05245539194547211 -4290,0.10941639159205807 -4291,0.6677679843512543 -4292,0.8230697312254627 -4293,0.990906549155217 -4294,0.8507425538395644 -4295,0.14185161783818445 -4296,0.024844951034508678 -4297,0.17102226281440314 -4298,0.8709958586775534 -4299,0.5488628925386254 -4300,0.5099175901411114 -4301,0.6203822119021071 -4302,0.5020160295095766 -4303,0.8909799754320638 -4304,0.9551383926025856 -4305,0.5989206606441116 -4306,0.23812178777423565 -4307,0.49567809947306196 -4308,0.7541601407471775 -4309,0.8323689469582388 -4310,0.16633307365717753 -4311,0.7677714415749562 -4312,0.5085978368751444 -4313,0.1322864091925886 -4314,0.43231548832301603 -4315,0.14005972559036772 -4316,0.34728591236567685 -4317,0.021549425267681777 -4318,0.5395295046041262 -4319,0.4814917089976537 -4320,0.20267657401046846 -4321,0.2225683416984925 -4322,0.6253621244404902 -4323,0.2180908888255414 -4324,0.6954080017995534 -4325,0.8805953883315213 -4326,0.8175098359381522 -4327,0.19060919121553155 -4328,0.9124821104929738 -4329,0.21161075881227442 -4330,0.41613093587178585 -4331,0.25231663993367237 -4332,0.40131614416451333 -4333,0.9361072678044081 -4334,0.4187007707675192 -4335,0.9274230781022056 -4336,0.16802266019849965 -4337,0.1500130621602681 -4338,0.23758065942420836 -4339,0.8974908937105829 -4340,0.328762816760818 -4341,0.9068136721420247 -4342,0.12233519304498164 -4343,0.43329878359316465 -4344,0.21855711271155065 -4345,0.7970153051428731 -4346,0.6976826529926308 -4347,0.29894096661821445 -4348,0.8156003272425199 -4349,0.11763049247685087 -4350,0.3765149758625932 -4351,0.47417210216755923 -4352,0.9352762074025838 -4353,0.3212776795551283 -4354,0.5559407617810301 -4355,0.5437738497565875 -4356,0.019368887053149764 -4357,0.7853931210183304 -4358,0.8264633992459136 -4359,0.9741545462463799 -4360,0.40427202713175614 -4361,0.7059985985172998 -4362,0.8486550992618613 -4363,0.5251974804045577 -4364,0.7817015823637711 -4365,0.657498351629644 -4366,0.5360045316295485 -4367,0.8113656555399497 -4368,0.8490603409495264 -4369,0.7010653483174597 -4370,0.050053423247815254 -4371,0.5388903267243675 -4372,0.0633635403664744 -4373,0.8518585037978671 -4374,0.41413702842984434 -4375,0.8699582112577636 -4376,0.6782308669541621 -4377,0.6351475729109635 -4378,0.3903666290502048 -4379,0.3931546270182037 -4380,0.22696824015184702 -4381,0.622561662370023 -4382,0.3240675341820175 -4383,0.7021195845755736 -4384,0.3801460532857428 -4385,0.4050538178204123 -4386,0.7194954935809869 -4387,0.753888117757142 -4388,0.3200403311501755 -4389,0.7612574410124751 -4390,0.9069280524215289 -4391,0.2830327596152129 -4392,0.7931472409897126 -4393,0.8435293736579847 -4394,0.8373854371097258 -4395,0.4127460885581091 -4396,0.9245317738318558 -4397,0.9178209238615591 -4398,0.8026511352235359 -4399,0.16618856481746513 -4400,0.7641260207472723 -4401,0.6370940249415398 -4402,0.33382999306109584 -4403,0.3208245339209904 -4404,0.9435840842751007 -4405,0.8372667164600244 -4406,0.3367592684776026 -4407,0.8120724888978018 -4408,0.019968748322942154 -4409,0.18633845588489484 -4410,0.09599428226205386 -4411,0.8597314004005974 -4412,0.08860691011740263 -4413,0.4745907627044371 -4414,0.6943388499231952 -4415,0.2974522267074592 -4416,0.8527479165331716 -4417,0.9498811782111017 -4418,0.5803317600489172 -4419,0.7094682400697043 -4420,0.20359106239804836 -4421,0.6113884095424003 -4422,0.3689585657800506 -4423,0.92689719915128 -4424,0.13865315108673038 -4425,0.452532488961532 -4426,0.8557305186218865 -4427,0.7090591479570149 -4428,0.5446189213260583 -4429,0.3009073613309593 -4430,0.5383272350771592 -4431,0.25793351679617704 -4432,0.9630440023341138 -4433,0.776159299681796 -4434,0.6570874291243948 -4435,0.5768178124020112 -4436,0.17209623612356684 -4437,0.8181409491184851 -4438,0.43811686139655603 -4439,0.046462663571341656 -4440,0.46623158771362694 -4441,0.5268283329045584 -4442,0.07172653086233682 -4443,0.11463713938458919 -4444,0.46404928200500783 -4445,0.9523648638736897 -4446,0.006875216267579587 -4447,0.5675808031555769 -4448,0.19653285708789658 -4449,0.5052199785347385 -4450,0.6962807714065805 -4451,0.9919697335171656 -4452,0.12564219179667457 -4453,0.40598032677741147 -4454,0.7132418597824086 -4455,0.153303938892298 -4456,0.5973641033932177 -4457,0.11006701264481566 -4458,0.5540824372912992 -4459,0.579042062548589 -4460,0.45877463087840764 -4461,0.9750224914337748 -4462,0.25423254597586786 -4463,0.892936573859103 -4464,0.5533045923688955 -4465,0.4744417179260386 -4466,0.35091556785360767 -4467,0.8730262879247894 -4468,0.33231817272486863 -4469,0.23372658073971797 -4470,0.38669624853810347 -4471,0.9196191077865787 -4472,0.5136719545946546 -4473,0.5014878039309937 -4474,0.9813888512705382 -4475,0.36127456413000936 -4476,0.10455766957412538 -4477,0.01401070680624994 -4478,0.28497944786199103 -4479,0.07715606831620081 -4480,0.9840841980727096 -4481,0.8469711098822266 -4482,0.4773409370310917 -4483,0.19381611807828591 -4484,0.6324561171693909 -4485,0.9537698056092074 -4486,0.8363437995209692 -4487,0.44238483653804506 -4488,0.45992690193311425 -4489,0.7790897356136598 -4490,0.8398327389544111 -4491,0.3680287351242021 -4492,0.2650868357283632 -4493,0.923186739212962 -4494,0.40091687029731493 -4495,0.10531247741248084 -4496,0.44983975710463087 -4497,0.09865267248494247 -4498,0.5736570329646639 -4499,0.9058502213932366 -4500,0.7840973730580793 -4501,0.7919909779022883 -4502,0.28761920322159673 -4503,0.7029922305434693 -4504,0.4327618362062623 -4505,0.6640402167186764 -4506,0.8210275929244365 -4507,0.7366896868821379 -4508,0.3098405129495174 -4509,0.43451604776363284 -4510,0.29504102061496207 -4511,0.6570836230592614 -4512,0.9125072362460748 -4513,0.7580490651010613 -4514,0.6611120873778317 -4515,0.8691171680219355 -4516,0.7791454865448002 -4517,0.41124007888054515 -4518,0.545120543265366 -4519,0.011871128702930167 -4520,0.1475144662518798 -4521,0.6888577757817702 -4522,0.8710562519037114 -4523,0.7503373767851986 -4524,0.6948122442617115 -4525,0.5513928259304787 -4526,0.5962630679212445 -4527,0.8837965169468593 -4528,0.02948285786181659 -4529,0.18248388013484496 -4530,0.8041364482854733 -4531,0.8634358334934054 -4532,0.1278747122544751 -4533,0.5430273939055741 -4534,0.11582863602709281 -4535,0.34276827156090395 -4536,0.6248728942288907 -4537,0.4758006307325794 -4538,0.025073806468869697 -4539,0.19260807414094638 -4540,0.6856758591886166 -4541,0.26624059145370704 -4542,0.5863136627082992 -4543,0.9477530627404495 -4544,0.8181663048852813 -4545,0.6910879890864071 -4546,0.8215909022564494 -4547,0.47898672205024306 -4548,0.8270938157345422 -4549,0.8711746886045147 -4550,0.824313158049164 -4551,0.07431848490264559 -4552,0.002437468680800303 -4553,0.5955897262287392 -4554,0.7941536731017099 -4555,0.29164311172234547 -4556,0.3251400790868829 -4557,0.10959583332559475 -4558,0.539718470255702 -4559,0.2762311957342227 -4560,0.24673306584353294 -4561,0.48900355215947344 -4562,0.12398165252452109 -4563,0.28684251075495093 -4564,0.42245103201124745 -4565,0.20844678532887673 -4566,0.8734800632204828 -4567,0.7419376593944502 -4568,0.17759959133356296 -4569,0.2891247647246228 -4570,0.9408137215742447 -4571,0.638124037337706 -4572,0.6228396341353731 -4573,0.42824976590709773 -4574,0.7868706828958906 -4575,0.6687981681197094 -4576,0.025228147198067652 -4577,0.2509830230376674 -4578,0.5545002620215924 -4579,0.34688326682421877 -4580,0.2521803123546108 -4581,0.30198319201061397 -4582,0.8192107062274013 -4583,0.48382118965686716 -4584,0.6621878165794007 -4585,0.236070133352832 -4586,0.7001323061423504 -4587,0.3016277889984238 -4588,0.770196737993563 -4589,0.3449303809041392 -4590,0.35223542984185263 -4591,0.847270795319391 -4592,0.9173033111267146 -4593,0.5344320223221608 -4594,0.1910566955046874 -4595,0.6639945346796005 -4596,0.4631398598716442 -4597,0.038197209579062696 -4598,0.5288705826782747 -4599,0.7506258826482276 -4600,0.8590934952664206 -4601,0.4228830962041691 -4602,0.540340823927668 -4603,0.636349681613431 -4604,0.6506409671683134 -4605,0.6014628719448274 -4606,0.7632777341027661 -4607,0.5322828001563427 -4608,0.1135086833867811 -4609,0.5495579781326826 -4610,0.7687502079302774 -4611,0.13833070836366268 -4612,0.9313997596543929 -4613,0.00032791172647017586 -4614,0.6680667916729573 -4615,0.7052451120045342 -4616,0.39928524875444815 -4617,0.47276011991621625 -4618,0.8072969433042452 -4619,0.44591983941429136 -4620,0.05421067244487643 -4621,0.4381774768521094 -4622,0.5737364478276207 -4623,0.8902748820257917 -4624,0.14170415014338145 -4625,0.33416579528189083 -4626,0.6343422441698245 -4627,0.1267740112606861 -4628,0.44697156027194673 -4629,0.8264263458965845 -4630,0.7609443993889403 -4631,0.06410036943300301 -4632,0.06274025240799475 -4633,0.4720054742975943 -4634,0.9496245528530014 -4635,0.18152872836370948 -4636,0.8239928629419587 -4637,0.26556470070415783 -4638,0.28121413561490205 -4639,0.7378194920883289 -4640,0.19534892318910024 -4641,0.3517999502846597 -4642,0.1889070329603445 -4643,0.7216904316283426 -4644,0.8477709119894644 -4645,0.914393646633806 -4646,0.9791980005701632 -4647,0.18639410954084923 -4648,0.7710824252750286 -4649,0.9772049005436113 -4650,0.8715337108508722 -4651,0.9532523380541583 -4652,0.7176540546885546 -4653,0.9508925296089251 -4654,0.306427862118113 -4655,0.8603453936863227 -4656,0.2168270773970048 -4657,0.8838756936091922 -4658,0.6942119614026647 -4659,0.07137081182968286 -4660,0.27569857424223687 -4661,0.4705078006097202 -4662,0.8888681853212054 -4663,0.583652725826067 -4664,0.17643559084338056 -4665,0.46943153740844357 -4666,0.6016587096524338 -4667,0.06991959680879156 -4668,0.836830213135269 -4669,0.7373327038258304 -4670,0.5236450516814715 -4671,0.4441050560769897 -4672,0.07812245733832524 -4673,0.4765301338011456 -4674,0.9465097657045127 -4675,0.12336798199285715 -4676,0.8666697046149056 -4677,0.6923134351812125 -4678,0.15446008708935688 -4679,0.1850875779936686 -4680,0.7880079300043599 -4681,0.400740016914355 -4682,0.5883802472833479 -4683,0.734398999987996 -4684,0.21130939545165783 -4685,0.8198859034594093 -4686,0.4439120470667929 -4687,0.3623411802440152 -4688,0.1995710403008666 -4689,0.5824331952506335 -4690,0.10516397651111575 -4691,0.6589589761898161 -4692,0.03524168515317283 -4693,0.8336340464527757 -4694,0.8996597455005109 -4695,0.42171720712306904 -4696,0.1771271590268214 -4697,0.7127088586320247 -4698,0.3907593364720985 -4699,0.7982888702581157 -4700,0.7932110775548825 -4701,0.35402536673146245 -4702,0.4692327617877651 -4703,0.8197542413120242 -4704,0.8746155650147844 -4705,0.5070689992490647 -4706,0.07679957549847038 -4707,0.15758488523601955 -4708,0.770821794890949 -4709,0.633913652623152 -4710,0.7980513017289759 -4711,0.14501103355546863 -4712,0.7090697550129732 -4713,0.48385428583041257 -4714,0.6950345783532353 -4715,0.7604782506771447 -4716,0.053987059342399446 -4717,0.12264562927577649 -4718,0.41782753125092087 -4719,0.2987472350817151 -4720,0.44719706983553176 -4721,0.6316958594737188 -4722,0.7420876786094867 -4723,0.11588927878760302 -4724,0.21151905036861962 -4725,0.7532626441960856 -4726,0.4532488108234143 -4727,0.5570287221563612 -4728,0.6893122162738302 -4729,0.48430878364912744 -4730,0.24264897629801152 -4731,0.3288202608543357 -4732,0.34389089340609325 -4733,0.9310917111583976 -4734,0.42735021984634225 -4735,0.2658101815509675 -4736,0.6667105795123467 -4737,0.3388683546666361 -4738,0.15569557431217462 -4739,0.5915510094903195 -4740,0.2149336283769645 -4741,0.03642569646427418 -4742,0.7387795247154495 -4743,0.949264544271211 -4744,0.9883828913886593 -4745,0.9149405295561029 -4746,0.47847293082167996 -4747,0.07718097167181903 -4748,0.8094065148509596 -4749,0.3411745360859241 -4750,0.18753946258451992 -4751,0.7719450726439874 -4752,0.5471713409796325 -4753,0.4194223938192504 -4754,0.8375037219253221 -4755,0.9146955633693759 -4756,0.2542744097610504 -4757,0.38265182157816213 -4758,0.7328280720658462 -4759,0.18193461551737544 -4760,0.6963298463659501 -4761,0.7897802481297909 -4762,0.2245234311100447 -4763,0.2920404247946454 -4764,0.255724810358554 -4765,0.1958271825621769 -4766,0.30748040533022514 -4767,0.10209815274259026 -4768,0.2662374145991595 -4769,0.8064696173696863 -4770,0.18663307830599762 -4771,0.656902933598065 -4772,0.952987793548225 -4773,0.07795974995694055 -4774,0.5880485439790504 -4775,0.2751628850874388 -4776,0.6009471237147824 -4777,0.9071906978109833 -4778,0.4291480486833149 -4779,0.9124380371581262 -4780,0.6357820978523585 -4781,0.566340337871674 -4782,0.17111249291472974 -4783,0.12364545635158608 -4784,0.5897593030008066 -4785,0.45916108950689205 -4786,0.16841787050658474 -4787,0.7611229809185075 -4788,0.3187537445357884 -4789,0.48028957256812266 -4790,0.5683842136147508 -4791,0.27678577329557263 -4792,0.0039036344036416093 -4793,0.11102005568970186 -4794,0.7784874286532164 -4795,0.09360665070764096 -4796,0.20318096335052027 -4797,0.43113684672365193 -4798,0.21297998360788628 -4799,0.15745937586888303 -4800,0.7303823353114728 -4801,0.06101515470873575 -4802,0.3851629535568266 -4803,0.7179258066329149 -4804,0.6254485578155858 -4805,0.783324569144746 -4806,0.8894891735928001 -4807,0.1592717606029509 -4808,0.4246652073060617 -4809,0.2086064730536763 -4810,0.01208941504960559 -4811,0.3780219660039136 -4812,0.5205450161064367 -4813,0.5920703790197941 -4814,0.9858572212609688 -4815,0.029858888395037586 -4816,0.11867955836622768 -4817,0.6505890660977126 -4818,0.27075711994164897 -4819,0.3466999359976505 -4820,0.1706962563118477 -4821,0.5507671139917257 -4822,0.1477052312625423 -4823,0.1824787232855627 -4824,0.9742293058724778 -4825,0.3178708823958225 -4826,0.11455251964203395 -4827,0.6433273744529896 -4828,0.3502940975428841 -4829,0.8960752652552478 -4830,0.5456668145388214 -4831,0.27558963561671734 -4832,0.27360135971896626 -4833,0.7617911149398219 -4834,0.024712052615529223 -4835,0.14095098417120888 -4836,0.7784261131488686 -4837,0.4347274001939331 -4838,0.4522518681294938 -4839,0.43185616143937355 -4840,0.3200521827785593 -4841,0.3263204962668952 -4842,0.9397034769782996 -4843,0.2980758527092715 -4844,0.9356427577542057 -4845,0.8766155960446591 -4846,0.8880105417731402 -4847,0.5136513950262832 -4848,0.06804964978114303 -4849,0.6904815951672532 -4850,0.9653958503799958 -4851,0.9719363011416073 -4852,0.6558162739908191 -4853,0.8806563833176397 -4854,0.19171662113464338 -4855,0.9466984976871595 -4856,0.5856499967550878 -4857,0.6758977645064853 -4858,0.4824008353768249 -4859,0.17035253659348548 -4860,0.27680355009947555 -4861,0.048265449713774555 -4862,0.767256275365746 -4863,0.6245491151879747 -4864,0.5521743076115878 -4865,0.7196283205209967 -4866,0.435782399370339 -4867,0.4666531042101971 -4868,0.2477274686244778 -4869,0.973832226613818 -4870,0.6781743241679752 -4871,0.544666552716579 -4872,0.8879163054093182 -4873,0.9271820266309734 -4874,0.822450102569333 -4875,0.9393883625539249 -4876,0.4869683415589763 -4877,0.5137593041703031 -4878,0.5142883778386388 -4879,0.43223807393064495 -4880,0.38806059392449155 -4881,0.3327028152659882 -4882,0.39972068376786796 -4883,0.8370201178480301 -4884,0.4569457975289485 -4885,0.6983840672423333 -4886,0.978214354570167 -4887,0.8533516626994772 -4888,0.36770122978567044 -4889,0.7347070123547805 -4890,0.1767473487950174 -4891,0.40271221587450445 -4892,0.029803242638852256 -4893,0.21639255053202255 -4894,0.7057820765037975 -4895,0.47032390004702807 -4896,0.6561859959982235 -4897,0.48160226878448076 -4898,0.7068138324164456 -4899,0.34606240646068 -4900,0.44459768664987576 -4901,0.803796035567123 -4902,0.36184919145020344 -4903,0.021012311465957834 -4904,0.4458344072797277 -4905,0.3112649682737819 -4906,0.7381428412497383 -4907,0.9311622310977021 -4908,0.7919002885431708 -4909,0.3165025611541601 -4910,0.38758482475922684 -4911,0.9969965757477794 -4912,0.06240532320755088 -4913,0.9129789809431307 -4914,0.21796935792969374 -4915,0.8984147502895162 -4916,0.5207453137643793 -4917,0.0912336233968909 -4918,0.1691806154161105 -4919,0.6841262007701775 -4920,0.35652094303877446 -4921,0.88178236543057 -4922,0.15454035719731296 -4923,0.7214454800097096 -4924,0.20162446859556393 -4925,0.7670929377301704 -4926,0.8221886098214606 -4927,0.03410615326340616 -4928,0.0484285320696316 -4929,0.3674014519156522 -4930,0.42961115436053365 -4931,0.2683539097214007 -4932,0.3538240154977407 -4933,0.3349546250065517 -4934,0.6379348209401169 -4935,0.21332126227371795 -4936,0.2802681457435757 -4937,0.49309784497780507 -4938,0.9606159970315895 -4939,0.278538632119291 -4940,0.8356124496898512 -4941,0.9009549638801382 -4942,0.9899427188315936 -4943,0.9074534182483507 -4944,0.8786058684927605 -4945,0.017498064096227228 -4946,0.5441047022847593 -4947,0.16050351716958555 -4948,0.04478961786055036 -4949,0.5679130158731264 -4950,0.8719504207447247 -4951,0.5451353024738775 -4952,0.35584474421119106 -4953,0.9597411067456733 -4954,0.32934427383600284 -4955,0.541751452323769 -4956,0.5051606438856598 -4957,0.339226301478876 -4958,0.9524355440927776 -4959,0.6867865003451058 -4960,0.9436396801365953 -4961,0.9503667749365995 -4962,0.2979932315675978 -4963,0.2836925868064184 -4964,0.6821605405166715 -4965,0.4560125333137991 -4966,0.6759492584086576 -4967,0.7462541527765121 -4968,0.6616148246660669 -4969,0.029354985173906667 -4970,0.30564874780208484 -4971,0.5151198639915937 -4972,0.19535671605037674 -4973,0.602170933107517 -4974,0.5986757401489995 -4975,0.20152597759785085 -4976,0.025386416305867687 -4977,0.019258097133782126 -4978,0.5499917250932032 -4979,0.7622556247037131 -4980,0.7977334727006752 -4981,0.9360264894925897 -4982,0.9512243240580387 -4983,0.6440662095158609 -4984,0.849439552520874 -4985,0.6369570089372402 -4986,0.3715748827423292 -4987,0.7119883461596883 -4988,0.13922559249991773 -4989,0.5427289575159072 -4990,0.28968892114538924 -4991,0.9570243737122593 -4992,0.3063566352432602 -4993,0.6959724046370648 -4994,0.2752099450140634 -4995,0.5661506599767399 -4996,0.6997887731880397 -4997,0.6614866794752291 -4998,0.4092264531836909 -4999,0.9324932299807588 -5000,0.8964962226030639 -5001,0.8106360267856505 -5002,0.5845813229370527 -5003,0.35989753188368423 -5004,0.5550251152793433 -5005,0.624980996562058 -5006,0.527218273518806 -5007,0.8200848901733031 -5008,0.5965936182389768 -5009,0.7405139217277562 -5010,0.1557506791615051 -5011,0.7370437787543884 -5012,0.33697457983738177 -5013,0.5746894025403039 -5014,0.9672405595955945 -5015,0.7862141036099349 -5016,0.43692768731130804 -5017,0.25997500841426546 -5018,0.8445812323156181 -5019,0.9571832226805969 -5020,0.9494309030839658 -5021,0.44403449288855923 -5022,0.6901320284965792 -5023,0.993621613200238 -5024,0.9893374341769121 -5025,0.8326625809979252 -5026,0.28630291220347015 -5027,0.3722317695224321 -5028,0.4808722339757625 -5029,0.16604594578655862 -5030,0.034654649497404155 -5031,0.02928776352462814 -5032,0.7038318296322176 -5033,0.9946869706589408 -5034,0.6366104674031894 -5035,0.6024945242336743 -5036,0.5730120526780407 -5037,0.870097744891979 -5038,0.09282113235638367 -5039,0.7565047014531997 -5040,0.7304177513469247 -5041,0.375734665592806 -5042,0.8721511102871198 -5043,0.9998018887058883 -5044,0.35281540275442724 -5045,0.4762461157874698 -5046,0.33757857039359607 -5047,0.30177051397506427 -5048,0.7024357284437003 -5049,0.12527881004654473 -5050,0.9667917187048678 -5051,0.8120233363235836 -5052,0.42011867710564965 -5053,0.7011875125877839 -5054,0.947162499850755 -5055,0.7386269885405919 -5056,0.02011557562162547 -5057,0.9555383592472001 -5058,0.6890548843303215 -5059,0.12832991439145358 -5060,0.5989617314007897 -5061,0.041753357910700006 -5062,0.27715275787131577 -5063,0.48487440069782506 -5064,0.26944530267320654 -5065,0.36414189492856175 -5066,0.5106458559857425 -5067,0.9677383259299736 -5068,0.5808681768329197 -5069,0.45597347664286947 -5070,0.15790347068101684 -5071,0.660948809896278 -5072,0.47063621202313 -5073,0.047748944617152844 -5074,0.09940529085851624 -5075,0.14061629428614686 -5076,0.8309086761245352 -5077,0.26295653632446825 -5078,0.6827468130419928 -5079,0.10587442999513164 -5080,0.9108115116918784 -5081,0.8092266279868535 -5082,0.7775995191885374 -5083,0.7253209487150409 -5084,0.4610677586936157 -5085,0.44692697198878906 -5086,0.5764741935100257 -5087,0.04751337856251958 -5088,0.3276114516617239 -5089,0.9000639670953003 -5090,0.6541368332044659 -5091,0.8494324136800612 -5092,0.12921579821635454 -5093,0.9158859161747138 -5094,0.9614277073951117 -5095,0.1961990208606742 -5096,0.05928098913809454 -5097,0.5430538920011785 -5098,0.906452875702125 -5099,0.23528459222009945 -5100,0.9789255867482899 -5101,0.15586753783080887 -5102,0.17055280326196975 -5103,0.4654735472123639 -5104,0.4990052056520473 -5105,0.9288968604055459 -5106,0.5905336275826774 -5107,0.432972597605765 -5108,0.2762845390325377 -5109,0.4151907297344364 -5110,0.3826717545753169 -5111,0.3040167218497454 -5112,0.1171866518997422 -5113,0.48647542688989587 -5114,0.2106434565259211 -5115,0.23554232074865855 -5116,0.15081936690929598 -5117,0.8196056994389299 -5118,0.8502802126792891 -5119,0.5798753777487173 -5120,0.9654001053200152 -5121,0.8927403541584223 -5122,0.4009829154719692 -5123,0.8688946183818004 -5124,0.8544929340062759 -5125,0.2650776777979059 -5126,0.7737190842622859 -5127,0.652885952042702 -5128,0.5530196647666819 -5129,0.3909961194100303 -5130,0.3997800321018642 -5131,0.049256590311696935 -5132,0.5520311619486874 -5133,0.08073648852661286 -5134,0.06751147337571928 -5135,0.6593955366727514 -5136,0.664319251861787 -5137,0.6276210719204114 -5138,0.11766456720188123 -5139,0.3365188274785612 -5140,0.8634602678060121 -5141,0.6373166050345989 -5142,0.7600729402497615 -5143,0.5445694695227311 -5144,0.2225710843756522 -5145,0.883590202767166 -5146,0.2419020869559223 -5147,0.012213728595551254 -5148,0.8757855909995237 -5149,0.0005165979612004046 -5150,0.20698619514630623 -5151,0.755345337688893 -5152,0.5610680251040698 -5153,0.5533655243746425 -5154,0.5166095764518304 -5155,0.45424312630609776 -5156,0.614273727442016 -5157,0.23330056149320588 -5158,0.6217659861236918 -5159,0.6615752167501944 -5160,0.6683379854182138 -5161,0.021196010311801183 -5162,0.0738831851423839 -5163,0.5239990291303576 -5164,0.1349595455240411 -5165,0.9528478144213314 -5166,0.5503586105098682 -5167,0.7799065581213903 -5168,0.8250875726741685 -5169,0.4825322856860902 -5170,0.12653759399021536 -5171,0.5748306152065459 -5172,0.053227518949433894 -5173,0.4165696252636386 -5174,0.3801257380805061 -5175,0.8051050559773967 -5176,0.8669677556898487 -5177,0.1214025913438711 -5178,0.18070752505856846 -5179,0.30500714211414826 -5180,0.9574946934225927 -5181,0.01826283584065258 -5182,0.7942426712588639 -5183,0.7663085221662168 -5184,0.2366563111993354 -5185,0.3221040902741168 -5186,0.9619345902315326 -5187,0.06349595647117712 -5188,0.22128659759623415 -5189,0.8018477766264493 -5190,0.1086485850848603 -5191,0.03494102146914346 -5192,0.7252746412610745 -5193,0.12902318529080326 -5194,0.10106889154293863 -5195,0.4295110207448837 -5196,0.9942137167070143 -5197,0.7400716589802158 -5198,0.0738886697867085 -5199,0.8970431786652008 -5200,0.3502068152464207 -5201,0.6961541713042726 -5202,0.21333184202278588 -5203,0.5571502782361248 -5204,0.3065641745539519 -5205,0.28176140475490197 -5206,0.8422675859807577 -5207,0.21331638592008118 -5208,0.10715120461035532 -5209,0.5542610813254581 -5210,0.948755045809635 -5211,0.10041231345229218 -5212,0.1471666980292241 -5213,0.987754393341637 -5214,0.9881243080602914 -5215,0.6767912895753155 -5216,0.5933708802302841 -5217,0.9179341625948897 -5218,0.9459558705876357 -5219,0.9101259210134672 -5220,0.12390240941682884 -5221,0.9088059044562304 -5222,0.6751021088381483 -5223,0.291341637027809 -5224,0.35215136352268395 -5225,0.43284062398411416 -5226,0.34377279170796227 -5227,0.4904656323946215 -5228,0.7306382685732834 -5229,0.9552117946358187 -5230,0.35659074627756027 -5231,0.5671352280090012 -5232,0.3961921101142528 -5233,0.5572547121495562 -5234,0.413354000602139 -5235,0.10016061185540204 -5236,0.6850553040320558 -5237,0.16338478113461097 -5238,0.6392075922738814 -5239,0.9083022556877407 -5240,0.06694158514110882 -5241,0.5150769705510325 -5242,0.5134273507451349 -5243,0.04375609452375362 -5244,0.4824510919984738 -5245,0.3384823713631945 -5246,0.627799012296193 -5247,0.22475329521916465 -5248,0.4468320995180388 -5249,0.9443277885887995 -5250,0.08035786904944475 -5251,0.4606345661083766 -5252,0.7498228102017404 -5253,0.14347799798638627 -5254,0.8541459915551579 -5255,0.986238982920769 -5256,0.8022400274455875 -5257,0.6700498023767016 -5258,0.6155319059642669 -5259,0.03606671451387222 -5260,0.34619858655643465 -5261,0.35216492686254164 -5262,0.6453765732154667 -5263,0.38974084546378684 -5264,0.8390169880168222 -5265,0.9357493479242676 -5266,0.7253074552225165 -5267,0.6057741565521063 -5268,0.7387262740243384 -5269,0.9650180699129115 -5270,0.18989192630852403 -5271,0.8849081573302918 -5272,0.09153797132254393 -5273,0.02056385734021282 -5274,0.3810328087013838 -5275,0.35641858231788404 -5276,0.47586361277636935 -5277,0.21316709164165804 -5278,0.17438539869732472 -5279,0.07047079008141743 -5280,0.3092654835508668 -5281,0.7192271725343045 -5282,0.021133994825505042 -5283,0.5909687823677645 -5284,0.4305500996884739 -5285,0.4878566784367273 -5286,0.10419666956875262 -5287,0.04884897630675833 -5288,0.00043001329692982093 -5289,0.5740166805464316 -5290,0.7703760988648625 -5291,0.9608732492818763 -5292,0.9534287119253344 -5293,0.9403425996570642 -5294,0.6752905058417523 -5295,0.719820847777327 -5296,0.21508481401924406 -5297,0.7778836929296684 -5298,0.6850011831941665 -5299,0.21109060062761031 -5300,0.4854521894860325 -5301,0.0907951686642986 -5302,0.551031521373642 -5303,0.18222336518386728 -5304,0.02992861465521457 -5305,0.031116516493049473 -5306,0.7743723168187785 -5307,0.3155635607323972 -5308,0.3076794763753772 -5309,0.20511963809375522 -5310,0.27764675876572664 -5311,0.8112330376943312 -5312,0.7784987732036801 -5313,0.7856563659262835 -5314,0.33072948529508495 -5315,0.06071077083293619 -5316,0.45569489640477634 -5317,0.9400538889718086 -5318,0.7021106101759221 -5319,0.22501530692196203 -5320,0.18525008937520848 -5321,0.46509437698404044 -5322,0.2742343698032357 -5323,0.47032761242784016 -5324,0.6035820233143943 -5325,0.31461024166324125 -5326,0.694389284590968 -5327,0.5249357818677207 -5328,0.5166139916609676 -5329,0.6552264218576694 -5330,0.5785663753614139 -5331,0.5980228068622783 -5332,0.5217240450659795 -5333,0.5895569319320628 -5334,0.36822642640024406 -5335,0.48120781837847304 -5336,0.31414194350997016 -5337,0.3151841381323598 -5338,0.4678793664516323 -5339,0.02352126915947994 -5340,0.6235530223042336 -5341,0.2301081805736105 -5342,0.6616943656867321 -5343,0.06694653021859287 -5344,0.7647566274585386 -5345,0.16210743181818665 -5346,0.46475882283840586 -5347,0.4370355438477548 -5348,0.2500975785892019 -5349,0.12133159323311804 -5350,0.8459013515867679 -5351,0.07921387045023631 -5352,0.4440549212928441 -5353,0.6757080906994092 -5354,0.6437324033117712 -5355,0.2406464503562873 -5356,0.49997423567989974 -5357,0.15138000907828342 -5358,0.37817146801939316 -5359,0.37584962085822027 -5360,0.6514949776430911 -5361,0.4308091088683288 -5362,0.8667684010332888 -5363,0.9495758235338362 -5364,0.7904985264867193 -5365,0.19672755530693964 -5366,0.6400628888584631 -5367,0.21241747997389293 -5368,0.04592373924103521 -5369,0.8464948366078717 -5370,0.8634219148175776 -5371,0.19689143407154597 -5372,0.5876534587153053 -5373,0.6239672883398397 -5374,0.6408668522562131 -5375,0.4274723930463141 -5376,0.8895566396606895 -5377,0.03813780264707878 -5378,0.4765470925683736 -5379,0.17161310964501186 -5380,0.16585053487600465 -5381,0.590747475428343 -5382,0.9346579751611077 -5383,0.11998011205634096 -5384,0.9731093915039233 -5385,0.27252008059831634 -5386,0.7494190280476252 -5387,0.9212628375205619 -5388,0.7193986205839602 -5389,0.12392466510774547 -5390,0.002619966125450568 -5391,0.9606146919202972 -5392,0.789446213227523 -5393,0.5525407964450554 -5394,0.22428050502604302 -5395,0.7774042159406409 -5396,0.6899204034329721 -5397,0.8465460698467371 -5398,0.24791695398170366 -5399,0.6546371033679984 -5400,0.6160981588357092 -5401,0.3619467312760811 -5402,0.03180393330858233 -5403,0.32409671953597674 -5404,0.3300827766582589 -5405,0.24705604500858702 -5406,0.536953748655131 -5407,0.48730684020420256 -5408,0.39195101625329287 -5409,0.36585737263428875 -5410,0.36961150205209015 -5411,0.795166908938387 -5412,0.7622199880045947 -5413,0.1200616118115142 -5414,0.07980042312730995 -5415,0.5746836708598649 -5416,0.2828084381868754 -5417,0.9115676039099988 -5418,0.9458312066010081 -5419,0.11059959046996215 -5420,0.13457522866784088 -5421,0.4864699439247814 -5422,0.9516069678687566 -5423,0.10047118427247559 -5424,0.7716407306318215 -5425,0.1818123443929912 -5426,0.6496610617666371 -5427,0.7075592571935013 -5428,0.19171881468172158 -5429,0.7225173200829886 -5430,0.4330183510067258 -5431,0.231682781961145 -5432,0.22930315088924358 -5433,0.45649148781006466 -5434,0.3429280312715235 -5435,0.9697300247228307 -5436,0.6317898068136963 -5437,0.698701686144904 -5438,0.06368496551247194 -5439,0.20615842620957936 -5440,0.46375077817861743 -5441,0.8932408426124003 -5442,0.10899808956961932 -5443,0.5417222044060722 -5444,0.3145532053277539 -5445,0.5982924670995063 -5446,0.5592836921575012 -5447,0.8840891585113089 -5448,0.8845653905748939 -5449,0.6934384926352036 -5450,0.6042129410861676 -5451,0.6710982258437065 -5452,0.33411004398612665 -5453,0.4569288087848754 -5454,0.3241920310094254 -5455,0.15739862518484238 -5456,0.5114622240751868 -5457,0.6999937947858312 -5458,0.6445285537065641 -5459,0.9943888442050168 -5460,0.7047180060213545 -5461,0.2572086206102674 -5462,0.06593667714664375 -5463,0.9954413960496062 -5464,0.12093956747386725 -5465,0.049430776278120425 -5466,0.35273177299112457 -5467,0.7926063163431771 -5468,0.9110139589378686 -5469,0.8803004004176923 -5470,0.9750269667210426 -5471,0.391030753085723 -5472,0.4347840517446325 -5473,0.9119015236865923 -5474,0.028519614801821414 -5475,0.6279007643819768 -5476,0.6790284705957833 -5477,0.9440029079691101 -5478,0.3299231610936786 -5479,0.20135506266097103 -5480,0.22504532272485922 -5481,0.2600064654444403 -5482,0.6513008052882309 -5483,0.4876594754729243 -5484,0.45404862866931317 -5485,0.878987077037573 -5486,0.002558819755310582 -5487,0.27528258160224983 -5488,0.6408634948561416 -5489,0.6121273646819599 -5490,0.10757282616990593 -5491,0.8852093897558956 -5492,0.7692431355820449 -5493,0.0579410768560088 -5494,0.22494382389226064 -5495,0.15168117116852842 -5496,0.09311603057948281 -5497,0.9465893437112174 -5498,0.30810633375015817 -5499,0.6728862520177896 -5500,0.3691226656769915 -5501,0.9508612918374106 -5502,0.43232593162644795 -5503,0.5504323602169603 -5504,0.3964020151957216 -5505,0.486234564302784 -5506,0.586064105891037 -5507,0.23614166960627003 -5508,0.3947778810516853 -5509,0.39878163357472773 -5510,0.4523409691770729 -5511,0.02509940954547807 -5512,0.9163549929305588 -5513,0.09568995505531741 -5514,0.8247831328677047 -5515,0.9863868337059798 -5516,0.8248092472029483 -5517,0.5515335665782085 -5518,0.006854316867134891 -5519,0.9405069464205291 -5520,0.23366443840766993 -5521,0.6036717716116062 -5522,0.1899061408406867 -5523,0.8566658590716122 -5524,0.9343580494714578 -5525,0.011784424360786638 -5526,0.18756646868796056 -5527,0.1766717779939544 -5528,0.7063624947220447 -5529,0.6418727627735353 -5530,0.40850997631470654 -5531,0.2444648991606937 -5532,0.8139107691414033 -5533,0.7730440994709192 -5534,0.6389338294034868 -5535,0.13946751433145477 -5536,0.31626185077679825 -5537,0.1585942971802904 -5538,0.4094644286660615 -5539,0.5949801200897228 -5540,0.11723610666167572 -5541,0.26551334047862973 -5542,0.8838101167160511 -5543,0.7502357764067994 -5544,0.831029129296232 -5545,0.9305603840610719 -5546,0.5238967684643402 -5547,0.8665939108544072 -5548,0.3840776182021932 -5549,0.903705100488886 -5550,0.2011516257776258 -5551,0.15887477445671006 -5552,0.09472387076669642 -5553,0.8983736738508795 -5554,0.26095432656220063 -5555,0.08157192076582576 -5556,0.5076271130169339 -5557,0.03787892573468754 -5558,0.9245543757315181 -5559,0.7464612601906709 -5560,0.6982239328794295 -5561,0.36896857388305415 -5562,0.2184172119850485 -5563,0.5393526472229759 -5564,0.19072507390622595 -5565,0.30371589239392927 -5566,0.49226081707004676 -5567,0.9988928101443324 -5568,0.9899182302000915 -5569,0.5813728329314611 -5570,0.8396146880718862 -5571,0.28790168914939307 -5572,0.9974799415910767 -5573,0.32302047010872437 -5574,0.5750629563933989 -5575,0.7884241334619264 -5576,0.41160031994731006 -5577,0.24675700658243005 -5578,0.4023600393825074 -5579,0.5433988300298541 -5580,0.9057670735127384 -5581,0.5489401884765202 -5582,0.7287321291652812 -5583,0.027191578730868304 -5584,0.282941387263677 -5585,0.9004543512551085 -5586,0.9971171644493623 -5587,0.21372193643073478 -5588,0.8664816057958602 -5589,0.5402841525379429 -5590,0.4930325917416981 -5591,0.15693469573683916 -5592,0.27759616461548353 -5593,0.30520539403526803 -5594,0.6266236361569332 -5595,0.11405586528160871 -5596,0.24882352423035137 -5597,0.1012988025443956 -5598,0.8276216903221717 -5599,0.9977692253738105 -5600,0.5133901902274591 -5601,0.29724435347685807 -5602,0.2553100938715832 -5603,0.9574616754373552 -5604,0.704721215377041 -5605,0.6022356885039599 -5606,0.8617218415909512 -5607,0.5664323268289906 -5608,0.053108191323495424 -5609,0.30183259245403105 -5610,0.8372578951630468 -5611,0.6701146829793501 -5612,0.1534452378675446 -5613,0.24196739665099742 -5614,0.5193303933020931 -5615,0.6892177251773964 -5616,0.3092321299153459 -5617,0.4375529039815421 -5618,0.9576877386120295 -5619,0.47955443122501806 -5620,0.4809822326378903 -5621,0.03498720106883757 -5622,0.7253309148129704 -5623,0.8054610139001649 -5624,0.6698968216043807 -5625,0.18398172830095372 -5626,0.16117471757884627 -5627,0.25442455801544417 -5628,0.6345674955668729 -5629,0.7133346296433096 -5630,0.0722210681664115 -5631,0.010429941918334462 -5632,0.03777057820358831 -5633,0.6832436878524571 -5634,0.16888208826276319 -5635,0.37593629357696257 -5636,0.1493601791566821 -5637,0.9437139880342233 -5638,0.7855925056684568 -5639,0.7694142848380028 -5640,0.6914151809969619 -5641,0.7353122742859477 -5642,0.9631125633805752 -5643,0.2780723656784905 -5644,0.050984789362262695 -5645,0.9432815159241246 -5646,0.39833393178361 -5647,0.6357870566152438 -5648,0.88172475702695 -5649,0.6950764061853129 -5650,0.3455929650298224 -5651,0.0056317982193883065 -5652,0.645624015470542 -5653,0.09032494125360169 -5654,0.41050550840429867 -5655,0.6190240096278444 -5656,0.6027653108715271 -5657,0.808236905968268 -5658,0.7299918512943784 -5659,0.22049657339133177 -5660,0.3711359828180011 -5661,0.6610527721671791 -5662,0.18516583221582694 -5663,0.4473643383845428 -5664,0.8075729152983534 -5665,0.8198520694813962 -5666,0.8005142006633459 -5667,0.4017143656591272 -5668,0.7577971839882128 -5669,0.15621031815647823 -5670,0.3540361838247098 -5671,0.40130839490388726 -5672,0.16886281023439442 -5673,0.7500572595890889 -5674,0.16022714770179824 -5675,0.09145673394348008 -5676,0.24615586512693388 -5677,0.012811338362711311 -5678,0.9202650780024225 -5679,0.1906161049883872 -5680,0.268193236930123 -5681,0.19095755921502877 -5682,0.7145755705717276 -5683,0.2682784891986585 -5684,0.7490696340313612 -5685,0.8314072384972384 -5686,0.575128735227131 -5687,0.2909436492371885 -5688,0.7036026115598969 -5689,0.38688306979493015 -5690,0.8313682659500901 -5691,0.5172253604767543 -5692,0.621524285366976 -5693,0.043395430343158625 -5694,0.8538407032605481 -5695,0.010038461411581712 -5696,0.8047344233547586 -5697,0.5020396669832877 -5698,0.11265740543903235 -5699,0.3634162867496943 -5700,0.5880965393525831 -5701,0.6296487813456019 -5702,0.9761874420875136 -5703,0.9088932684530427 -5704,0.9049778750368312 -5705,0.6302617465258281 -5706,0.8988510169794326 -5707,0.636625209631308 -5708,0.06676336571315444 -5709,0.8261614134507936 -5710,0.14259656024867473 -5711,0.3009308558635536 -5712,0.6081384866632726 -5713,0.24179465321331117 -5714,0.7954792135625606 -5715,0.36734141491914873 -5716,0.5966936145593899 -5717,0.3917342158509851 -5718,0.9192675061139441 -5719,0.8489846985650911 -5720,0.6688372661852429 -5721,0.11970360597722884 -5722,0.8131029709064506 -5723,0.09790455651845664 -5724,0.9964876029147818 -5725,0.42224234292135976 -5726,0.2125279346098894 -5727,0.12684144047908652 -5728,0.16901398897466136 -5729,0.17920164936142724 -5730,0.7357516756652007 -5731,0.630634589614319 -5732,0.22679449693052112 -5733,0.3235744322543749 -5734,0.3814826008965835 -5735,0.3811735070764046 -5736,0.3635548010857189 -5737,0.6714075869911594 -5738,0.6468105363801053 -5739,0.5295819295194896 -5740,0.7341608701650524 -5741,0.9658551369863659 -5742,0.4254731134423335 -5743,0.08690319150298653 -5744,0.015491892021107012 -5745,0.6743310525008305 -5746,0.6906072216538602 -5747,0.6910248745280738 -5748,0.07075510426263132 -5749,0.49276642301090523 -5750,0.9095194822765504 -5751,0.39228082417902144 -5752,0.7994717242720994 -5753,0.6745578603308803 -5754,0.461994295933598 -5755,0.7787833099859583 -5756,0.11053287817658108 -5757,0.2863815994845679 -5758,0.3869707312735746 -5759,0.11223945634213384 -5760,0.9490294447608505 -5761,0.39969750587283037 -5762,0.01646006781296805 -5763,0.28281992391334 -5764,0.8415533840093916 -5765,0.7326980938005332 -5766,0.41391794331183374 -5767,0.7705892672188943 -5768,0.9853082569739454 -5769,0.8487090377421469 -5770,0.0924848212102658 -5771,0.9409794062094321 -5772,0.5618515502115413 -5773,0.02317385163226171 -5774,0.4769967675059351 -5775,0.5262798817664335 -5776,0.325085825664747 -5777,0.5029243096952195 -5778,0.01334122115671521 -5779,0.3263441469616639 -5780,0.3854270302797306 -5781,0.2637997684178911 -5782,0.8708337758224772 -5783,0.8233874923765919 -5784,0.44398046287711446 -5785,0.23845957187214073 -5786,0.6416838763238081 -5787,0.13382525408134693 -5788,0.6443281177161405 -5789,0.44942362631300814 -5790,0.9310217679580887 -5791,0.10653127167467924 -5792,0.06501021807716578 -5793,0.9701962967269323 -5794,0.5260617444618488 -5795,0.7246525953270289 -5796,0.9802984046836466 -5797,0.1906120837395069 -5798,0.953164582067821 -5799,0.15192206719821855 -5800,0.4929199056479402 -5801,0.5749311758745 -5802,0.15303399294429199 -5803,0.5862658150271859 -5804,0.9457580738457549 -5805,0.11948820733045817 -5806,0.025473790312242506 -5807,0.12470051159453921 -5808,0.47289922108851845 -5809,0.9469433322439332 -5810,0.4973002802979156 -5811,0.38584175283221833 -5812,0.9497685824302763 -5813,0.014609666393328391 -5814,0.5581811200882345 -5815,0.09981419477554188 -5816,0.4181383809696564 -5817,0.017777936585712917 -5818,0.6610639069679259 -5819,0.8715252182589526 -5820,0.9808212530802235 -5821,0.6940594397436688 -5822,0.7688997448877458 -5823,0.34185624824138605 -5824,0.07442405059362922 -5825,0.39112556986406866 -5826,0.6007313254084202 -5827,0.6003819375860256 -5828,0.19986086660349778 -5829,0.8777546623747811 -5830,0.3424566110594658 -5831,0.3931759221796389 -5832,0.6569635256905237 -5833,0.6080051693429858 -5834,0.10644507546793858 -5835,0.25663383157029096 -5836,0.30547928555656434 -5837,0.5206978072747328 -5838,0.5050457666358612 -5839,0.30349698381444945 -5840,0.972192331094964 -5841,0.28216895937661834 -5842,0.5231906482587135 -5843,0.9283135256292852 -5844,0.13313374848004578 -5845,0.6607555536764633 -5846,0.06729192118846006 -5847,0.6182847374358277 -5848,0.9411800663449889 -5849,0.6807836075829254 -5850,0.20102431602728432 -5851,0.5892647540067603 -5852,0.6908741273806445 -5853,0.19719358909479856 -5854,0.44497464387639984 -5855,0.2701802153500499 -5856,0.9332470184885178 -5857,0.09328729567707217 -5858,0.18859560911467432 -5859,0.7864726876325102 -5860,0.7875465553371039 -5861,0.7355712094926425 -5862,0.11988946873841211 -5863,0.8037991398189638 -5864,0.6414858673790195 -5865,0.9969463640098046 -5866,0.09362893171989983 -5867,0.6099804044115383 -5868,0.675762636919587 -5869,0.4170179885826065 -5870,0.5696252148497484 -5871,0.6628740670341039 -5872,0.5645060766843271 -5873,0.048014481364334616 -5874,0.041176743640849334 -5875,0.14021466574111707 -5876,0.4930925471430815 -5877,0.30902668307340064 -5878,0.3713847278236152 -5879,0.1003533746247619 -5880,0.14374995284618797 -5881,0.811890326365994 -5882,0.8931385281499529 -5883,0.11585108132598554 -5884,0.5222677900184545 -5885,0.022979905275348544 -5886,0.19171823734132465 -5887,0.5556836670969699 -5888,0.3220782787222862 -5889,0.7613081070825833 -5890,0.9741189522288937 -5891,0.9612701256794113 -5892,0.46987084554046066 -5893,0.00595379332260404 -5894,0.95265180036609 -5895,0.4573141772930813 -5896,0.9407075124945873 -5897,0.06266851401298279 -5898,0.2242273999333536 -5899,0.7198056143834531 -5900,0.36592761001190277 -5901,0.9304651638232952 -5902,0.4897067704421588 -5903,0.7827788931729983 -5904,0.21331870955750132 -5905,0.4571584983454252 -5906,0.22048244972694597 -5907,0.6883896516291239 -5908,0.4326415390063608 -5909,0.3451460661973298 -5910,0.3571962975357814 -5911,0.6492617338514762 -5912,0.5567734355298457 -5913,0.8303290468601461 -5914,0.6636441792355235 -5915,0.3804337549863661 -5916,0.8811588976449718 -5917,0.69740138247275 -5918,0.242264743588106 -5919,0.8984006793878553 -5920,0.5699927486362591 -5921,0.16613285665564737 -5922,0.36848716514444657 -5923,0.6008567758092153 -5924,0.492570423966906 -5925,0.5035692408040133 -5926,0.8208873520427684 -5927,0.15768094551202572 -5928,0.06062795756229189 -5929,0.9313075042676989 -5930,0.17059238281341904 -5931,0.6204364253812026 -5932,0.844699840358005 -5933,0.4931909749460809 -5934,0.8111186309889303 -5935,0.617712544550846 -5936,0.3846029916808813 -5937,0.2711313194992575 -5938,0.07958176979849474 -5939,0.13156189016425968 -5940,0.7574386011133221 -5941,0.34949597865234305 -5942,0.9281473895311176 -5943,0.00010883575032138992 -5944,0.6923416721998794 -5945,0.2038073939077477 -5946,0.7885832994774542 -5947,0.8030846633082782 -5948,0.3468579436438316 -5949,0.2910902038808886 -5950,0.24794192803103987 -5951,0.02170202251292297 -5952,0.04065662237133083 -5953,0.7666691799750096 -5954,0.7392580339792708 -5955,0.6787229972933562 -5956,0.44188890486944365 -5957,0.6466285760725684 -5958,0.3419447594697196 -5959,0.8852444105503601 -5960,0.8842594720001838 -5961,0.5272689845451193 -5962,0.7182265803496837 -5963,0.41942791754328623 -5964,0.8844275342199983 -5965,0.7352452791775745 -5966,0.2610454480837118 -5967,0.5694523629040156 -5968,0.1792301565898078 -5969,0.2763802656086092 -5970,0.8761947092972836 -5971,0.11643649734457284 -5972,0.7203523279361814 -5973,0.24754241352014805 -5974,0.663083168152914 -5975,0.852982050968148 -5976,0.0708155480641195 -5977,0.13115820613103812 -5978,0.8855315050071637 -5979,0.7973286967085007 -5980,0.8769791947098173 -5981,0.862511501646448 -5982,0.8364434441034837 -5983,0.9256211750392883 -5984,0.22084394668979335 -5985,0.6227167150412112 -5986,0.13615237016056447 -5987,0.6696095473580526 -5988,0.7937141954951409 -5989,0.8179169671970908 -5990,0.3838402498689646 -5991,0.6817275010879427 -5992,0.8650432857379282 -5993,0.15700306087086646 -5994,0.032794682969745415 -5995,0.24704054171547984 -5996,0.9122918067565153 -5997,0.221293426786343 -5998,0.43120623020904336 -5999,0.22826452392287444 -6000,0.35879801268001943 -6001,0.7969887804974521 -6002,0.16107943412768289 -6003,0.3549400777622188 -6004,0.3659034473788535 -6005,0.1846990875580563 -6006,0.7308718625095411 -6007,0.8083387263182327 -6008,0.5839867476175629 -6009,0.19051995316401538 -6010,0.4496384053641501 -6011,0.20346456595666573 -6012,0.3251153913177993 -6013,0.2804068485634533 -6014,0.8467569161593502 -6015,0.7538097955944156 -6016,0.8118303730659869 -6017,0.422551576487051 -6018,0.2758753622068115 -6019,0.6124229520684722 -6020,0.011283447999266172 -6021,0.7576200944706549 -6022,0.7573869730283039 -6023,0.6575466875466063 -6024,0.07444921296952511 -6025,0.4765319738062389 -6026,0.5920011642077652 -6027,0.3152993700881095 -6028,0.8329764406674094 -6029,0.4330796703621216 -6030,0.7725390827555514 -6031,0.9286200026985995 -6032,0.738607303645927 -6033,0.6869608717998845 -6034,0.1076402813341476 -6035,0.7688390408418572 -6036,0.7391915736274963 -6037,0.4967343653279396 -6038,0.32375441901746904 -6039,0.6570635031240367 -6040,0.5162860204034627 -6041,0.08225947629658314 -6042,0.33590252005232135 -6043,0.7129649864904741 -6044,0.5556743731487791 -6045,0.5991943661987179 -6046,0.8666509256943635 -6047,0.755565728826073 -6048,0.5003116122738904 -6049,0.9897159658937087 -6050,0.37226207525825905 -6051,0.8758978451285201 -6052,0.3357422098972097 -6053,0.1266730362759907 -6054,0.972279561848744 -6055,0.32078856162543357 -6056,0.6102199931952349 -6057,0.022066809705547197 -6058,0.21330840343506396 -6059,0.6525797668039445 -6060,0.187352073943714 -6061,0.7229220735424161 -6062,0.0811651867500357 -6063,0.33528399648876606 -6064,0.9190474956373046 -6065,0.7110282031853066 -6066,0.7874196222149296 -6067,0.11583358131998511 -6068,0.4053543451989926 -6069,0.33126393587454805 -6070,0.43389419319333133 -6071,0.728767977113974 -6072,0.382464201078736 -6073,0.30816474210530054 -6074,0.4906886160397852 -6075,0.8707005336226319 -6076,0.7855430420887983 -6077,0.5329505960056944 -6078,0.11075445882990409 -6079,0.8979369441880793 -6080,0.5433735674655287 -6081,0.8081638506033304 -6082,0.7049582262289722 -6083,0.7440697523223977 -6084,0.33220884961295005 -6085,0.43158351231766723 -6086,0.10503765564394685 -6087,0.6969574367162619 -6088,0.661269345459875 -6089,0.9256569266533244 -6090,0.25683087466994836 -6091,0.39701102112262243 -6092,0.5392405847091023 -6093,0.35766995292164583 -6094,0.047767458348377034 -6095,0.10312167131751315 -6096,0.32055148381092535 -6097,0.9703090605782939 -6098,0.24289600572703707 -6099,0.6847497372813376 -6100,0.9242483210508236 -6101,0.3062994435508991 -6102,0.23891897018174668 -6103,0.6807152060777031 -6104,0.6310810258343312 -6105,0.052393300197118076 -6106,0.6613079794145119 -6107,0.6404849731849818 -6108,0.9520774644589648 -6109,0.7346268575396324 -6110,0.7473091729769195 -6111,0.9736051768065124 -6112,0.5423529597423095 -6113,0.1593109894863648 -6114,0.5294083637643466 -6115,0.18234580446137771 -6116,0.4808912062151458 -6117,0.9977827435759123 -6118,0.18158789126134334 -6119,0.2810158088295073 -6120,0.6631037704846469 -6121,0.44688501762152666 -6122,0.4935505349898581 -6123,0.5755892472968293 -6124,0.20144962157264157 -6125,0.2356929219034153 -6126,0.6051391133964884 -6127,0.6858473368498488 -6128,0.8925258902796016 -6129,0.13239115483875452 -6130,0.9600838982497512 -6131,0.49601170477304024 -6132,0.2558355498248919 -6133,0.6308186948850587 -6134,0.695231351656401 -6135,0.5472825581482185 -6136,0.8549729916108968 -6137,0.00013143324378772636 -6138,0.35578289762021487 -6139,0.06628791648998522 -6140,0.0958825770500833 -6141,0.5663769699880488 -6142,0.5007730768207851 -6143,0.0626072580807514 -6144,0.5788261127414399 -6145,0.31273623031476694 -6146,0.16172227674524275 -6147,0.2620641539953501 -6148,0.37781873071279937 -6149,0.8594067142135692 -6150,0.32796567034887225 -6151,0.9017511261120674 -6152,0.4781183305479981 -6153,0.9809682627193205 -6154,0.9510836139341292 -6155,0.38614353260917145 -6156,0.83494049195721 -6157,0.061507082188793416 -6158,0.8570389713116365 -6159,0.5709883263325684 -6160,0.3527927817772397 -6161,0.5786526913681489 -6162,0.3580387615898417 -6163,0.8256476137953693 -6164,0.02159829816050607 -6165,0.01437978129428863 -6166,0.03610717440360034 -6167,0.8883545963925994 -6168,0.6807271924169609 -6169,0.6548780989895714 -6170,0.8394404267395335 -6171,0.0825588791879921 -6172,0.7796826252085435 -6173,0.21738904084972877 -6174,0.21232719900506358 -6175,0.3683027351036853 -6176,0.2643064821823595 -6177,0.3980823488137738 -6178,0.27053693293784586 -6179,0.15076594612762495 -6180,0.09760686569408061 -6181,0.2149325744181172 -6182,0.9960153525059725 -6183,0.04276066463567452 -6184,0.2545391402036403 -6185,0.9230044477936679 -6186,0.5710933851379566 -6187,0.3041678043207664 -6188,0.28771039863272185 -6189,0.870991303406205 -6190,0.9782423068184088 -6191,0.7790611391196314 -6192,0.6445907257328573 -6193,0.4082815655094314 -6194,0.9129424776289914 -6195,0.8065840915970341 -6196,0.05168208382237549 -6197,0.25604105230817353 -6198,0.452062161195648 -6199,0.9460136750335025 -6200,0.5702671460389325 -6201,0.1488134923290747 -6202,0.7092227408652876 -6203,0.07694185818139909 -6204,0.8870945637294614 -6205,0.7046620011381763 -6206,0.13686376323509186 -6207,0.3484215179875172 -6208,0.15241978479591478 -6209,0.025762120178981274 -6210,0.22960909470195057 -6211,0.8677892216246109 -6212,0.14058121580072358 -6213,0.02992911825123834 -6214,0.11753120206943624 -6215,0.01237111970245619 -6216,0.09762378385905301 -6217,0.5087534885863182 -6218,0.9250339459483842 -6219,0.07467254554966185 -6220,0.855874136018713 -6221,0.3388400621467418 -6222,0.38995273675321496 -6223,0.4747983760110589 -6224,0.8153767297195371 -6225,0.9027424993223024 -6226,0.48331142646624425 -6227,0.882303395488882 -6228,0.9908138011748148 -6229,0.15589393357595205 -6230,0.73080476409733 -6231,0.6054974132352202 -6232,0.5081469913086102 -6233,0.7435804347080787 -6234,0.39134360213295216 -6235,0.1892108228628715 -6236,0.9564589553696691 -6237,0.8427140043522524 -6238,0.19261506186741817 -6239,0.7994740922829664 -6240,0.15135807617067698 -6241,0.8132186931732324 -6242,0.29572053911228147 -6243,0.12919722927865185 -6244,0.6011592875056186 -6245,0.9231252169283503 -6246,0.1661507140068179 -6247,0.21579658991522 -6248,0.14220969803790673 -6249,0.5976821700540378 -6250,0.6890314100765388 -6251,0.22761996521744055 -6252,0.043185569814458424 -6253,0.7047260818684088 -6254,0.9623781565188472 -6255,0.3039297463942092 -6256,0.04800827196051072 -6257,0.2718512018249887 -6258,0.7866839753730163 -6259,0.17543650080248407 -6260,0.041031625442050745 -6261,0.7107776886970288 -6262,0.15359280698569855 -6263,0.13718730271861324 -6264,0.7075509844629212 -6265,0.8289004796361131 -6266,0.5442791190485743 -6267,0.498961966532243 -6268,0.6690362103652376 -6269,0.9001318693762281 -6270,0.9666058991713613 -6271,0.25801765028432166 -6272,0.07928152419696521 -6273,0.1960113693186354 -6274,0.6581501980445562 -6275,0.8660669770153031 -6276,0.3666421247872249 -6277,0.05549580077398042 -6278,0.8376895544486225 -6279,0.4951366875188471 -6280,0.8253776253646214 -6281,0.2282884990143429 -6282,0.25068509361083213 -6283,0.0821287333525299 -6284,0.5368410733120407 -6285,0.7740674227542503 -6286,0.7792353411685281 -6287,0.36327440115418574 -6288,0.2932912823691136 -6289,0.8233492724103999 -6290,0.7148686024369838 -6291,0.26739797454358827 -6292,0.5277811732148163 -6293,0.8969850785463422 -6294,0.08936787428315618 -6295,0.41508023275238315 -6296,0.15202726731027072 -6297,0.12971550214562955 -6298,0.31231461273818506 -6299,0.4638437600309099 -6300,0.2827725858533108 -6301,0.7713720075776123 -6302,0.9638695714318517 -6303,0.22988120444073 -6304,0.8385361044925271 -6305,0.14874546474972128 -6306,0.3716920698748909 -6307,0.9366647475977056 -6308,0.8997844321610751 -6309,0.1041020218580756 -6310,0.4218503719650114 -6311,0.3879463959045598 -6312,0.11235664991884597 -6313,0.40015180780285864 -6314,0.5088450046545162 -6315,0.26952099811721586 -6316,0.7749271449473304 -6317,0.4379842045710639 -6318,0.37952371126206896 -6319,0.4383334106730221 -6320,0.6505434773274726 -6321,0.5284779810669751 -6322,0.5702018025391594 -6323,0.8365572431944491 -6324,0.12844028271678454 -6325,0.7505472869145423 -6326,0.2017808877457048 -6327,0.9714113182340592 -6328,0.9105333918837227 -6329,0.2229627068960215 -6330,0.5389588840391918 -6331,0.20081532698266624 -6332,0.6469461248577134 -6333,0.7929326019075638 -6334,0.8381831657118859 -6335,0.20392652707361691 -6336,0.6716245468260021 -6337,0.03715503664877762 -6338,0.46550043215233217 -6339,0.7646800924479131 -6340,0.6223187650792047 -6341,0.4689091569969809 -6342,0.4539372528295037 -6343,0.8584278867857552 -6344,0.5400695800809753 -6345,0.18955550942881338 -6346,0.25435082980838253 -6347,0.020750513088075406 -6348,0.5478957807233437 -6349,0.04699835444092959 -6350,0.49845259685180887 -6351,0.4454397823882249 -6352,0.7185314813790172 -6353,0.6333306162195393 -6354,0.7276210845839647 -6355,0.9035624728124192 -6356,0.9242273810398075 -6357,0.3347633375025475 -6358,0.7476426854629026 -6359,0.49918115693246135 -6360,0.14081808798732276 -6361,0.7658570298181685 -6362,0.6993155806337061 -6363,0.21933127454904 -6364,0.9456740873348045 -6365,0.6507730500792992 -6366,0.66021869617926 -6367,0.5149492500479842 -6368,0.41061832300016843 -6369,0.2836706314159362 -6370,0.7417433462495995 -6371,0.8642191226598996 -6372,0.7916143995783477 -6373,0.3925999643560595 -6374,0.08604104699312154 -6375,0.4607842632394009 -6376,0.16738206389625332 -6377,0.24829250275702197 -6378,0.3870357236805483 -6379,0.6735211250072871 -6380,0.8764225932174359 -6381,0.5515760535629755 -6382,0.5673572224116208 -6383,0.587482992761892 -6384,0.858034924333529 -6385,0.22373888489601546 -6386,0.06411497936168331 -6387,0.45849833794630945 -6388,0.6462945121033443 -6389,0.2652333626825001 -6390,0.05422619711543042 -6391,0.9047359102293123 -6392,0.7458905954395759 -6393,0.25938143051353957 -6394,0.29596431717199767 -6395,0.9112600425413445 -6396,0.8428382134859101 -6397,0.6027808495371345 -6398,0.6702976250411511 -6399,0.2635767121471835 -6400,0.4065701533017947 -6401,0.9932053961081578 -6402,0.5514218470935176 -6403,0.943819462357731 -6404,0.9202124390953734 -6405,0.8489594896206039 -6406,0.4328536090126537 -6407,0.14587623848505926 -6408,0.24921361230527983 -6409,0.6384521446125562 -6410,0.44614880901011267 -6411,0.03435150462544012 -6412,0.821962099420191 -6413,0.5413434322262004 -6414,0.7499907189479336 -6415,0.7185125373747048 -6416,0.4682315030649181 -6417,0.49235314385895157 -6418,0.9745099809332025 -6419,0.3876072799249888 -6420,0.21096569255202968 -6421,0.9306929615840366 -6422,0.9685826909170894 -6423,0.8438387752153811 -6424,0.9585415087099186 -6425,0.48574230967321097 -6426,0.5990463204198228 -6427,0.3399913617303183 -6428,0.4451268741796127 -6429,0.03799380619011028 -6430,0.39490887653205287 -6431,0.8400514737684716 -6432,0.8116663042305597 -6433,0.21470709274574473 -6434,0.35419558932847917 -6435,0.11833166593499544 -6436,0.35218850104289257 -6437,0.6379770725578503 -6438,0.7172566302642336 -6439,0.4467984740576578 -6440,0.77660902634025 -6441,0.9342988487708441 -6442,0.8612122503359753 -6443,0.7973744113998885 -6444,0.12434364614939808 -6445,0.4631929468512419 -6446,0.7729069620244485 -6447,0.922833900142105 -6448,0.959178072080534 -6449,0.5972198195815941 -6450,0.5868104880012235 -6451,0.11403184210908113 -6452,0.8583649215070349 -6453,0.5791879864039146 -6454,0.9251049095853805 -6455,0.20528023219942415 -6456,0.09655332568367159 -6457,0.7200921495093283 -6458,0.9917424814089836 -6459,0.6340678355958935 -6460,0.479270387602193 -6461,0.14084884361702732 -6462,0.8127955586043812 -6463,0.5807496461661111 -6464,0.10705542270035584 -6465,0.39800374096741076 -6466,0.19437488299087569 -6467,0.9921848595189104 -6468,0.7817884090464251 -6469,0.3444944944657148 -6470,0.1860538953482186 -6471,0.2041651870015324 -6472,0.12275203865956585 -6473,0.12909392082203097 -6474,0.8191721078758181 -6475,0.036762521991113406 -6476,0.9914997473947742 -6477,0.46878619424378 -6478,0.15876596443998936 -6479,0.029447928116355326 -6480,0.309951180852602 -6481,0.3220087643416475 -6482,0.078922659658055 -6483,0.046114878910364476 -6484,0.23925068450233933 -6485,0.1405138382511466 -6486,0.006203884352822375 -6487,0.6387326403698561 -6488,0.12495118022578067 -6489,0.21480698528159758 -6490,0.19329936246425317 -6491,0.15417669545592816 -6492,0.2637256879581308 -6493,0.4369921854245086 -6494,0.4118369520837222 -6495,0.7723649192085784 -6496,0.23766023685074833 -6497,0.6738370497993442 -6498,0.23786538018263526 -6499,0.6816806966461555 -6500,0.4164326079158409 -6501,0.47147598573594085 -6502,0.8616392566787087 -6503,0.8250750498740621 -6504,0.2917708110117414 -6505,0.14513556777882952 -6506,0.33241794882772513 -6507,0.46114076533647763 -6508,0.10637031971833066 -6509,0.545552000105549 -6510,0.08546770260583914 -6511,0.4042684393045364 -6512,0.9162914200838025 -6513,0.36559277621539654 -6514,0.8875140346031308 -6515,0.561155186746544 -6516,0.26097043073197446 -6517,0.2561298293192198 -6518,0.4679237424062661 -6519,0.5791500904814347 -6520,0.435343054372509 -6521,0.8438661583190871 -6522,0.08802230437901348 -6523,0.9015690372305234 -6524,0.48170684448895484 -6525,0.7084306170124786 -6526,0.48197000945798574 -6527,0.3317008849185201 -6528,0.10480991362307113 -6529,0.24902667638377207 -6530,0.586216060106003 -6531,0.8324650146297995 -6532,0.7422377527747723 -6533,0.8703464253328179 -6534,0.6334694968432933 -6535,0.6134338294620988 -6536,0.4442784810559187 -6537,0.06540022810838464 -6538,0.8607380839077752 -6539,0.6633932272885547 -6540,0.231273616712374 -6541,0.8255530751642587 -6542,0.7390869384852016 -6543,0.8155819914162519 -6544,0.8533497360091425 -6545,0.1576530384433562 -6546,0.9938253194262794 -6547,0.3491892686657676 -6548,0.4469466311800957 -6549,0.21896651671935285 -6550,0.2989085265419871 -6551,0.9325415999897307 -6552,0.24271615503695798 -6553,0.852668484714479 -6554,0.20650736088564747 -6555,0.3676199511743513 -6556,0.2728759571447722 -6557,0.5870647801000684 -6558,0.8696231119583402 -6559,0.17184319854047092 -6560,0.5011839347845141 -6561,0.7533867863558336 -6562,0.45091400460405695 -6563,0.3402249773046476 -6564,0.5962291774926999 -6565,0.8969293689723057 -6566,0.001052674011620458 -6567,0.33963662254113225 -6568,0.9038611019669271 -6569,0.44469499359314957 -6570,0.8206766081106247 -6571,0.6526977447601607 -6572,0.12145233655385068 -6573,0.6785220998123784 -6574,0.5258943419998712 -6575,0.6487493969660112 -6576,0.37210243973186663 -6577,0.707919448978854 -6578,0.3919740025901165 -6579,0.7666933861753681 -6580,0.27272554317082187 -6581,0.2611077562784445 -6582,0.03427035030905712 -6583,0.23506026279197378 -6584,0.9147670998366614 -6585,0.02072576185003283 -6586,0.11946833483891217 -6587,0.5620723863490841 -6588,0.684802265662585 -6589,0.10041820463915496 -6590,0.8788504419895621 -6591,0.6251601077856471 -6592,0.574091702933274 -6593,0.3776279814437782 -6594,0.5115628762859833 -6595,0.48737005742274253 -6596,0.04840943810141196 -6597,0.1610397896620872 -6598,0.33791433567632667 -6599,0.4397084011644037 -6600,0.9621766482594853 -6601,0.7446773603226655 -6602,0.23883245979201562 -6603,0.22226325509167688 -6604,0.4626069428420311 -6605,0.31075356162107537 -6606,0.4277023521888381 -6607,0.07485683260552456 -6608,0.42412021379287645 -6609,0.38923766142688543 -6610,0.448502347807897 -6611,0.48261497540859577 -6612,0.11041579527041645 -6613,0.8758565562525663 -6614,0.021916430941129383 -6615,0.08783945042958796 -6616,0.9407498829375901 -6617,0.6784624182854163 -6618,0.269647726887173 -6619,0.0926685400316195 -6620,0.03960778147987998 -6621,0.442569320266903 -6622,0.27647960642769964 -6623,0.43443342449418865 -6624,0.4352756494091574 -6625,0.17438774911908594 -6626,0.8623232888248239 -6627,0.001148500569402633 -6628,0.6466925457547823 -6629,0.22213013807406223 -6630,0.46366890734874555 -6631,0.5388415208649886 -6632,0.0981593615880324 -6633,0.23371902211612927 -6634,0.8248373179210494 -6635,0.2452248054730689 -6636,0.4746749037751098 -6637,0.507616435576017 -6638,0.20778262484944288 -6639,0.23324892542161424 -6640,0.057851778887741956 -6641,0.6004601900737325 -6642,0.5764326240239899 -6643,0.6660298879357729 -6644,0.5721188018379907 -6645,0.2254962690263641 -6646,0.6427107010875149 -6647,0.843500445096655 -6648,0.8515247108930014 -6649,0.5847754059214749 -6650,0.27514926584801813 -6651,0.6219144885775728 -6652,0.04218081422791842 -6653,0.5428825860270914 -6654,0.806793674096814 -6655,0.8268503635386955 -6656,0.5988260418693235 -6657,0.12063163031012014 -6658,0.08508743497761262 -6659,0.31905491381781825 -6660,0.4916172924001132 -6661,0.28469315287931984 -6662,0.2822096715513407 -6663,0.08197586237786869 -6664,0.6608814143330355 -6665,0.21865694270502356 -6666,0.0023205838152997593 -6667,0.6969061945818631 -6668,0.5077979659325486 -6669,0.6609094004397458 -6670,0.4452659781036873 -6671,0.5001385188779872 -6672,0.6447280772866995 -6673,0.9855079953302514 -6674,0.3210693643853678 -6675,0.9251734087947862 -6676,0.2677608674250671 -6677,0.1930469276518122 -6678,0.040953062199354906 -6679,0.9886948626698142 -6680,0.6993278911345079 -6681,0.47923329579300566 -6682,0.9885217437907429 -6683,0.20785725787048437 -6684,0.7984485635829504 -6685,0.7024884124211997 -6686,0.9025969256978812 -6687,0.7940935608079794 -6688,0.5938974368722042 -6689,0.5203634454556871 -6690,0.38879339516119205 -6691,0.21654360068855916 -6692,0.8725473729347503 -6693,0.9662437715803348 -6694,0.14159095783003828 -6695,0.522198936534964 -6696,0.9817981259863002 -6697,0.5551284551350979 -6698,0.7077487093155864 -6699,0.14445008272581505 -6700,0.8806022098271662 -6701,0.738922323513794 -6702,0.8784552200762132 -6703,0.4916265581406526 -6704,0.055812449288052735 -6705,0.1305340697651689 -6706,0.21560172749639173 -6707,0.6387630448753645 -6708,0.7189641018879096 -6709,0.6119045840678107 -6710,0.3611839620075057 -6711,0.22479175458859302 -6712,0.34752059929404777 -6713,0.22089748365883866 -6714,0.32518213311757005 -6715,0.49063771035943027 -6716,0.6483292854668841 -6717,0.34074931183245827 -6718,0.8427504173135415 -6719,0.14458300605494234 -6720,0.9316946812449038 -6721,0.6625573482587614 -6722,0.16443141578013742 -6723,0.4457724888321084 -6724,0.5247254925788631 -6725,0.779311244871333 -6726,0.43638616780534123 -6727,0.06979234372085019 -6728,0.04473566683453456 -6729,0.9087895513262624 -6730,0.6716415523510291 -6731,0.2359180961135251 -6732,0.4898398814084812 -6733,0.3069140069105978 -6734,0.5449322394549059 -6735,0.46735282369514386 -6736,0.0040328583944486684 -6737,0.5959520118305958 -6738,0.17963392566365732 -6739,0.40745232729902925 -6740,0.04115022432638227 -6741,0.48329321668290215 -6742,0.7281404209947631 -6743,0.8555773349597876 -6744,0.6107531479717424 -6745,0.7187951103920676 -6746,0.837476436303943 -6747,0.6183296050140966 -6748,0.3456794726407252 -6749,0.025008706026410144 -6750,0.5004088093288179 -6751,0.33348469608724607 -6752,0.6849363708742188 -6753,0.029440635875479515 -6754,0.6419682145776964 -6755,0.25643585011506287 -6756,0.8700694352597286 -6757,0.2809984062863523 -6758,0.4675893187500727 -6759,0.9056197571001217 -6760,0.8708211507970025 -6761,0.9745473308729201 -6762,0.20552192333854902 -6763,0.873268083677807 -6764,0.7777468626841283 -6765,0.19048452818114536 -6766,0.8475515984342226 -6767,0.46845021985566626 -6768,0.9504567215654756 -6769,0.21170609814497665 -6770,0.5723537351440198 -6771,0.6051762626763338 -6772,0.789932327185081 -6773,0.23156829261144263 -6774,0.19976678027011108 -6775,0.18784640228757665 -6776,0.24736516515260387 -6777,0.513853976502158 -6778,0.7946663806309224 -6779,0.7950088894436954 -6780,0.8585944985451452 -6781,0.5430094512935497 -6782,0.426236597066061 -6783,0.07177143397785335 -6784,0.6388588521068487 -6785,0.035151329161850375 -6786,0.7854723320725998 -6787,0.6838696686752186 -6788,0.17052079818080979 -6789,0.08068239815080702 -6790,0.7623308235908782 -6791,0.3399668682453212 -6792,0.6880180242495412 -6793,0.4148980241637432 -6794,0.5886900096350502 -6795,0.4978692660427735 -6796,0.07092489658075174 -6797,0.8456627538657833 -6798,0.2866641395598777 -6799,0.06312446995653553 -6800,0.5587563564184364 -6801,0.549105746670303 -6802,0.7221155859187487 -6803,0.25926489733339775 -6804,0.6672444349627146 -6805,0.873015534373521 -6806,0.4714658383564919 -6807,0.7935749889328707 -6808,0.8025794062771618 -6809,0.16083839715417947 -6810,0.8869926751359749 -6811,0.8116902893209402 -6812,0.3766798145842385 -6813,0.7670559080602135 -6814,0.7973750919703522 -6815,0.14112795292720914 -6816,0.04755952872828728 -6817,0.45265662241548577 -6818,0.25835932239858017 -6819,0.05003165719023095 -6820,0.6905428045741934 -6821,0.589924512209122 -6822,0.1186022565338326 -6823,0.140473745270148 -6824,0.16751605458320573 -6825,0.24269686206902275 -6826,0.6845823757610754 -6827,0.8926438390657213 -6828,0.57436009648254 -6829,0.770032594452121 -6830,0.9903298398443733 -6831,0.934595735998903 -6832,0.5356898091735682 -6833,0.4064575006850677 -6834,0.035115733329205256 -6835,0.15416710765473152 -6836,0.626139790048234 -6837,0.982571965337311 -6838,0.168462417057207 -6839,0.8575322952087538 -6840,0.08036332841906757 -6841,0.8384768515325247 -6842,0.7582618365677919 -6843,0.5905779340758934 -6844,0.7335569075976777 -6845,0.5577841598350822 -6846,0.06642148069224862 -6847,0.8968459147314949 -6848,0.7079277465405744 -6849,0.8895931756650574 -6850,0.4328455237467693 -6851,0.5467857360756195 -6852,0.05558555626343209 -6853,0.7126042862413057 -6854,0.8430153731724582 -6855,0.76029714782701 -6856,0.7223663266218641 -6857,0.7696171616728059 -6858,0.9703680903350649 -6859,0.05940149602639655 -6860,0.07227458895053784 -6861,0.34256345166152113 -6862,0.4313788113270528 -6863,0.04573574695957028 -6864,0.4253704920717104 -6865,0.9117294971336709 -6866,0.03280985832582772 -6867,0.8333071829331501 -6868,0.7591660538424111 -6869,0.9533596349004648 -6870,0.7245018701896179 -6871,0.7691778389102566 -6872,0.47060993200254686 -6873,0.6782525769088069 -6874,0.1772849191211815 -6875,0.5560968022666966 -6876,0.32375735021616325 -6877,0.03150819366883029 -6878,0.9306455457519679 -6879,0.8580048572874657 -6880,0.8510371216632322 -6881,0.11442919629895454 -6882,0.82845206374761 -6883,0.7369678366971317 -6884,0.14124728790877095 -6885,0.7387773127454605 -6886,0.5509010075484718 -6887,0.5287094687489777 -6888,0.37822360198235117 -6889,0.9045396817112124 -6890,0.2622794523662473 -6891,0.40000159618010567 -6892,0.5919662112394083 -6893,0.8234431199532904 -6894,0.8237792069789389 -6895,0.8614602643041945 -6896,0.5534383443964414 -6897,0.6406281275454329 -6898,0.7815996515985983 -6899,0.02806975493737973 -6900,0.39734658845246995 -6901,0.1618064594623384 -6902,0.26117447077544265 -6903,0.8237376537505212 -6904,0.9218778251472604 -6905,0.9528770227820759 -6906,0.7224318617663128 -6907,0.8185222570700552 -6908,0.42455316404264465 -6909,0.08824254916905705 -6910,0.5353727523239776 -6911,0.48307179678973367 -6912,0.7448245575856184 -6913,0.796172965491297 -6914,0.8608533804167674 -6915,0.35220676355319136 -6916,0.051041262789582875 -6917,0.15721683339462067 -6918,0.16899915040113755 -6919,0.42493725058385656 -6920,0.3194761895871078 -6921,0.7615787641345002 -6922,0.1415740552205741 -6923,0.38773740352281827 -6924,0.865987115231184 -6925,0.18471453751013922 -6926,0.9193772335053679 -6927,0.052173813362200394 -6928,0.7793782965649927 -6929,0.5659859109153289 -6930,0.06769121089345398 -6931,0.23854704823771833 -6932,0.9807894174729979 -6933,0.07339440000549602 -6934,0.5311493349556646 -6935,0.041738886559445465 -6936,0.3829299920071463 -6937,0.7277833822385431 -6938,0.36527181721259894 -6939,0.9140065312918038 -6940,0.9304614329458665 -6941,0.3544903785494643 -6942,0.9519531781570387 -6943,0.24457987393056135 -6944,0.20159191579718838 -6945,0.18264694652396973 -6946,0.007428916993012846 -6947,0.4978206028288391 -6948,0.7036932358442042 -6949,0.8206588579549918 -6950,0.8553212993299065 -6951,0.357881912083135 -6952,0.018860383422268034 -6953,0.7051566570841958 -6954,0.839910945512728 -6955,0.2998709768918041 -6956,0.5019193648348241 -6957,0.6701756922039184 -6958,0.26432207356766946 -6959,0.3389679988771612 -6960,0.17572863244251125 -6961,0.2516220963602004 -6962,0.4049626996285892 -6963,0.43162307022351165 -6964,0.9738023590751727 -6965,0.9220934875770574 -6966,0.618381572582882 -6967,0.2813230882792098 -6968,0.558686329201639 -6969,0.13075021592083658 -6970,0.3132678831156146 -6971,0.8070330283606622 -6972,0.8235688796285257 -6973,0.9958105886265409 -6974,0.6323748840871177 -6975,0.12720505887433675 -6976,0.854518439546492 -6977,0.3146419825510407 -6978,0.3960523540311732 -6979,0.17741526003734875 -6980,0.274958177191546 -6981,0.7599253418977144 -6982,0.25613185022377827 -6983,0.600691386085688 -6984,0.6677356324785777 -6985,0.9832965135270617 -6986,0.9221872197104664 -6987,0.27998601856647165 -6988,0.8817277460187368 -6989,0.8666028454207274 -6990,0.8294693251250034 -6991,0.10286395464959985 -6992,0.16881920114136895 -6993,0.2901864408227153 -6994,0.49556835448419734 -6995,0.8783758563208182 -6996,0.039341816994428624 -6997,0.6909629708264488 -6998,0.03352079942337194 -6999,0.7876233975717234 -7000,0.09246983466628678 -7001,0.8435274142524949 -7002,0.75947950089666 -7003,0.2654076530027569 -7004,0.5044244276674602 -7005,0.644899264409011 -7006,0.19458918513211998 -7007,0.49629800062324825 -7008,0.007415186591633649 -7009,0.15294104861971536 -7010,0.9430680010194439 -7011,0.051773173980013354 -7012,0.1353933692701338 -7013,0.6185118616339886 -7014,0.4397661795720471 -7015,0.04621764560823227 -7016,0.4203984710966211 -7017,0.9217158787856227 -7018,0.6956046568769727 -7019,0.8365897580429915 -7020,0.9399834383043052 -7021,0.574459235161591 -7022,0.33605838490185913 -7023,0.3077514248858956 -7024,0.7877259307908703 -7025,0.005212799710258342 -7026,0.19758819704832853 -7027,0.9916446743807079 -7028,0.2763763163227496 -7029,0.765420409343153 -7030,0.6456736271930578 -7031,0.03519813325398469 -7032,0.5947888653009555 -7033,0.9653120398705453 -7034,0.1115229200378578 -7035,0.38094287521445624 -7036,0.2186990291396077 -7037,0.3335015603659419 -7038,0.020165529205994126 -7039,0.16465907313579642 -7040,0.7758968377585579 -7041,0.24157582993821058 -7042,0.3997182524173857 -7043,0.3800837195197747 -7044,0.7680024587602942 -7045,0.8369088963921996 -7046,0.5008932119871974 -7047,0.36439338583969527 -7048,0.12279962239106401 -7049,0.04030212603440775 -7050,0.7123988029262486 -7051,0.8794564855883323 -7052,0.5057357035454961 -7053,0.5869251469387815 -7054,0.30209874640127987 -7055,0.9483764973298086 -7056,0.25621343727317714 -7057,0.019905904445741807 -7058,0.059259596905524736 -7059,0.10255935055028309 -7060,0.9075185132205483 -7061,0.5014524143823034 -7062,0.8381137368075339 -7063,0.1900362661784164 -7064,0.496458222903868 -7065,0.8535639532190242 -7066,0.8938069921423976 -7067,0.6457654401518368 -7068,0.41670190275320296 -7069,0.5913038885218779 -7070,0.9222863876342825 -7071,0.6840075525332407 -7072,0.08620899934818294 -7073,0.43553913269078215 -7074,0.9751453815120533 -7075,0.6646074667822126 -7076,0.7123999401777882 -7077,0.6382084695260039 -7078,0.04213016848930062 -7079,0.816437548969871 -7080,0.6071359819988359 -7081,0.052293074916077154 -7082,0.5287404724925472 -7083,0.6858357544274796 -7084,0.4712828674238152 -7085,0.9756549914182756 -7086,0.19308088432994197 -7087,0.7789318438318001 -7088,0.005535421582154143 -7089,0.004926879677713769 -7090,0.41025135916878597 -7091,0.8344447373847638 -7092,0.877745448999265 -7093,0.9585422023680658 -7094,0.6860026574593829 -7095,0.7059722043432869 -7096,0.8172437572380502 -7097,0.6815409407777219 -7098,0.9744190572677623 -7099,0.533278463354456 -7100,0.9745023319921563 -7101,0.5409051946548941 -7102,0.0334594102412753 -7103,0.3553844875476365 -7104,0.6835723915396865 -7105,0.9547274602180453 -7106,0.028264813382394727 -7107,0.9175215426992404 -7108,0.48913193436174474 -7109,0.4162543593340673 -7110,0.30116881420515573 -7111,0.5254953934636597 -7112,0.8233665346926614 -7113,0.48333947513731723 -7114,0.1300077337572616 -7115,0.7099042544313711 -7116,0.19021178353587254 -7117,0.049001703964537846 -7118,0.20625962870208892 -7119,0.9870128069619749 -7120,0.5657358132320695 -7121,0.1995454519283808 -7122,0.5797095137264114 -7123,0.6839282661525288 -7124,0.4036734742735111 -7125,0.10188699889974773 -7126,0.23564976427971507 -7127,0.9326276757167672 -7128,0.28446588168813025 -7129,0.6001045029220252 -7130,0.3430950024345517 -7131,0.48445980115785714 -7132,0.6702140935133711 -7133,0.16683844367745515 -7134,0.53428987589997 -7135,0.8441883731149494 -7136,0.2966212029957134 -7137,0.7883871577735936 -7138,0.4854536296775457 -7139,0.5190263404114358 -7140,0.07482080761589749 -7141,0.46633420701690054 -7142,0.8653387609125462 -7143,0.4383847568327345 -7144,0.6329815952668754 -7145,0.527742357041848 -7146,0.8169460069237409 -7147,0.6650747642397303 -7148,0.3325276586997008 -7149,0.7158825147872252 -7150,0.9163233939615356 -7151,0.5807367133352912 -7152,0.8942388763788418 -7153,0.2662298906999804 -7154,0.3912622123058075 -7155,0.3673689958933408 -7156,0.1465815640368061 -7157,0.9009754746022025 -7158,0.778541097611259 -7159,0.5687490457900749 -7160,0.6150783168438911 -7161,0.5959046895435165 -7162,0.9329684249552247 -7163,0.779543742992473 -7164,0.05358107656306854 -7165,0.22794723719571186 -7166,0.4794167024598006 -7167,0.5493078909247149 -7168,0.4839490442147695 -7169,0.599532538964994 -7170,0.5103136530056827 -7171,0.9433628459864613 -7172,0.3213838700578122 -7173,0.4772996584431125 -7174,0.050444570278796674 -7175,0.6532756144317444 -7176,0.459831856138335 -7177,0.22726496980281596 -7178,0.22117589350629452 -7179,0.03139960306898093 -7180,0.3469951691140585 -7181,0.33595595732690675 -7182,0.9832536748198852 -7183,0.09306806570671522 -7184,0.6494869793105903 -7185,0.1400583530369689 -7186,0.9386145627107778 -7187,0.6549907987282452 -7188,0.7587152026793853 -7189,0.5919184908518185 -7190,0.5680652816355884 -7191,0.8666804992885233 -7192,0.5084980000211428 -7193,0.222774983417925 -7194,0.07920962985103941 -7195,0.22385467265045056 -7196,0.9773268142400596 -7197,0.5411793491148321 -7198,0.6705997625559946 -7199,0.25193145969016895 -7200,0.4877708038134363 -7201,0.5667470122474427 -7202,0.9825051162906382 -7203,0.7094069779075093 -7204,0.30299092559471386 -7205,0.7474769090788593 -7206,0.56689544882068 -7207,0.0032461149203723005 -7208,0.548734737310397 -7209,0.3212788488262508 -7210,0.9136169637468088 -7211,0.7866248997145233 -7212,0.7983023266596402 -7213,0.9234676629742941 -7214,0.9175694670447868 -7215,0.19023381877433243 -7216,0.9176366377935216 -7217,0.3530747505873554 -7218,0.8953052274945767 -7219,0.11064214565193353 -7220,0.7396693478805569 -7221,0.06454441868730387 -7222,0.5874982069489418 -7223,0.9307935054178726 -7224,0.3763781617984172 -7225,0.2900508642231526 -7226,0.08596557994168874 -7227,0.08619872659212646 -7228,0.1477457166568874 -7229,0.6316002160559946 -7230,0.9428380709369202 -7231,0.7203701710820554 -7232,0.5065735343324747 -7233,0.21195787764629248 -7234,0.4189151049689823 -7235,0.2366175831790437 -7236,0.4365728535750233 -7237,0.007337134733467088 -7238,0.38270170518738134 -7239,0.46220467060341763 -7240,0.032323014830116126 -7241,0.8722242290206088 -7242,0.24602855067461094 -7243,0.08547275125682996 -7244,0.5697108368860695 -7245,0.3653526383796335 -7246,0.9875243225572446 -7247,0.8623092175430029 -7248,0.8793443408972115 -7249,0.9678275077451207 -7250,0.5827939893921552 -7251,0.8471078403111533 -7252,0.32001636674143263 -7253,0.6905178665479925 -7254,0.09748696464464102 -7255,0.8469696697820379 -7256,0.9227300413275733 -7257,0.5695098898267262 -7258,0.4939648553322895 -7259,0.5089687445858848 -7260,0.141393554933415 -7261,0.12551214815009815 -7262,0.5873696931705491 -7263,0.7166486757593404 -7264,0.581673732831356 -7265,0.5336294791512532 -7266,0.27347934634178217 -7267,0.42904364963901 -7268,0.48884423173358316 -7269,0.3685115033049374 -7270,0.06463735922510117 -7271,0.7402724772696481 -7272,0.06786714697926133 -7273,0.3121249959324911 -7274,0.2167332765309824 -7275,0.7724487265953266 -7276,0.7436079214512732 -7277,0.3153907179717268 -7278,0.23923740870491195 -7279,0.4016492371769004 -7280,0.8379904178620753 -7281,0.6265205584498955 -7282,0.5729325441636636 -7283,0.6495312907819093 -7284,0.6976288805833154 -7285,0.7743634489717917 -7286,0.3448343353134936 -7287,0.3368400770137877 -7288,0.5525667443947712 -7289,0.7139405996818593 -7290,0.392512133813952 -7291,0.6271074537149031 -7292,0.9546957993545279 -7293,0.11456072475138657 -7294,0.6114675927268418 -7295,0.26096357006404836 -7296,0.6514462313295549 -7297,0.6010058363471442 -7298,0.007204468939733366 -7299,0.9593065119200607 -7300,0.3813444649169203 -7301,0.9136432004188956 -7302,0.17463405307209479 -7303,0.4043218630093198 -7304,0.21220869480215332 -7305,0.15156798403143734 -7306,0.7045375235962995 -7307,0.6715676815988377 -7308,0.08465365138597147 -7309,0.9222408227768486 -7310,0.7593094733679412 -7311,0.6793669772309644 -7312,0.6498905632579396 -7313,0.9501362939458281 -7314,0.7975710975962597 -7315,0.3596315092593092 -7316,0.9815388671295427 -7317,0.5477885412673584 -7318,0.37874045029803727 -7319,0.17568722676333437 -7320,0.8771806208082824 -7321,0.73308243823168 -7322,0.7211340228068357 -7323,0.5632051237821674 -7324,0.2315418972379546 -7325,0.45534065950449476 -7326,0.6948648257565041 -7327,0.6140216064197841 -7328,0.10275788571848754 -7329,0.5947924802959462 -7330,0.28107568712296416 -7331,0.2660552479657844 -7332,0.3263825176948306 -7333,0.6922989934272937 -7334,0.75803095108129 -7335,0.06948861228651404 -7336,0.8025381096770862 -7337,0.25205083850703847 -7338,0.7886066268044106 -7339,0.2709952979983681 -7340,0.7765590194704978 -7341,0.5089386688541937 -7342,0.053584961515869334 -7343,0.12609136708211977 -7344,0.5771877909458047 -7345,0.8536119795705721 -7346,0.47827392842605043 -7347,0.08228214432788261 -7348,0.16753192952069218 -7349,0.30046443578508664 -7350,0.9391099613416533 -7351,0.443349738888115 -7352,0.48689327242607616 -7353,0.2427845386535632 -7354,0.5568949239565884 -7355,0.47919609043598344 -7356,0.5154459897653789 -7357,0.0004638967256532789 -7358,0.7749812586157443 -7359,0.18865609683536666 -7360,0.5118335635644709 -7361,0.9710103745606105 -7362,0.24039418872031848 -7363,0.3908939378865509 -7364,0.24325317657629908 -7365,0.9724930014253347 -7366,0.5968886462984319 -7367,0.7530832941991208 -7368,0.24565685729628117 -7369,0.5938528554295327 -7370,0.9751922116997574 -7371,0.8161204131921755 -7372,0.13697922580958366 -7373,0.6644306270288608 -7374,0.4643309090004276 -7375,0.2029025466319282 -7376,0.6005180528202398 -7377,0.19759370577430124 -7378,0.5142263622408347 -7379,0.9935973602591147 -7380,0.9237318219874391 -7381,0.8101623340019821 -7382,0.7096160088606336 -7383,0.14420075227130424 -7384,0.28273955906679427 -7385,0.06923779509677563 -7386,0.6419579578193884 -7387,0.27643563323852127 -7388,0.3647291004601305 -7389,0.526414540747569 -7390,0.8359637418882319 -7391,0.9327597678790576 -7392,0.6074324390047391 -7393,0.30419101132822146 -7394,0.9753994647861304 -7395,0.036354558572222584 -7396,0.2218137188588304 -7397,0.9516342111091499 -7398,0.03485475490224055 -7399,0.11638107562469369 -7400,0.2236081867005042 -7401,0.47628364117879074 -7402,0.5062062668131184 -7403,0.7112633429780464 -7404,0.4253463101292333 -7405,0.17089854272734184 -7406,0.9089207376651001 -7407,0.8589402031978024 -7408,0.08227164983417767 -7409,0.07471236451918728 -7410,0.07231527416484629 -7411,0.8076874915798842 -7412,0.9510735252532616 -7413,0.9836438163505603 -7414,0.2835090340133185 -7415,0.3327167414819694 -7416,0.31219825500277343 -7417,0.30548521859654965 -7418,0.1932284946594789 -7419,0.06189143319852075 -7420,0.716277899765452 -7421,0.1195129455734596 -7422,0.9931845407474263 -7423,0.5855936904616966 -7424,0.03575586622640903 -7425,0.9784520649927104 -7426,0.5949612743272787 -7427,0.05779198288276832 -7428,0.24366016242859245 -7429,0.009443797204067184 -7430,0.5647362762922203 -7431,0.3195028235197095 -7432,0.4224952006408088 -7433,0.9379641633841201 -7434,0.44703802259744196 -7435,0.5391492057337312 -7436,0.8915142312273014 -7437,0.7673563729458874 -7438,0.3790230854374099 -7439,0.4582118233534258 -7440,0.7200908666946498 -7441,0.7212675047250661 -7442,0.08925755446546757 -7443,0.5255426438501584 -7444,0.9204891245750656 -7445,0.6142893905067981 -7446,0.6007596463364231 -7447,0.7842886747507155 -7448,0.35272845526567853 -7449,0.7250996885334394 -7450,0.1998830399990036 -7451,0.6493218792275585 -7452,0.42989681355787057 -7453,0.1828351054500419 -7454,0.5170901129754041 -7455,0.7077816716303943 -7456,0.519160426399207 -7457,0.8426288543696044 -7458,0.5822596435827653 -7459,0.3453997630807655 -7460,0.6173759951269168 -7461,0.3222317787194816 -7462,0.9832011426744556 -7463,0.06068980836535032 -7464,0.17528946730524197 -7465,0.2828240567829938 -7466,0.8177174002727678 -7467,0.37284612508315407 -7468,0.46926559054154304 -7469,0.1576511961079683 -7470,0.49142440771650353 -7471,0.1756564187326315 -7472,0.9130085925770344 -7473,0.996381724308599 -7474,0.9676485444008199 -7475,0.016586053356148267 -7476,0.1866146499056902 -7477,0.502397271886823 -7478,0.31191283217457844 -7479,0.9327368597654692 -7480,0.5598430679745295 -7481,0.7427537314272739 -7482,0.03154063913276506 -7483,0.8558306213837005 -7484,0.3695873804904444 -7485,0.04606013838417111 -7486,0.07236812968621764 -7487,0.6053147620158408 -7488,0.3678301604966052 -7489,0.6526417819674871 -7490,0.14479614688970577 -7491,0.7676072375262655 -7492,0.0862135041851505 -7493,0.7886718468349317 -7494,0.9115690132445547 -7495,0.237671414036428 -7496,0.8900571190390932 -7497,0.6533169728747141 -7498,0.658708856887917 -7499,0.5893173071842495 -7500,0.4762090512533478 -7501,0.5331584789858956 -7502,0.8884336852039842 -7503,0.3795298836765856 -7504,0.47777489265630146 -7505,0.8155146335324374 -7506,0.8071008545311819 -7507,0.12538202671047471 -7508,0.5305674803017602 -7509,0.728940481390357 -7510,0.3273610794040027 -7511,0.12554532650221673 -7512,0.3745101345872772 -7513,0.0008304632856646066 -7514,0.24593500022068004 -7515,0.7002117661231448 -7516,0.09706780162569839 -7517,0.010217681859228889 -7518,0.918310710546538 -7519,0.5225659018674399 -7520,0.8673191210153671 -7521,0.2766641974834324 -7522,0.45464928577688357 -7523,0.20399759254010008 -7524,0.4874835995180036 -7525,0.9312600028015092 -7526,0.09535163396222346 -7527,0.8809695968617601 -7528,0.7978166961618429 -7529,0.4249320250411638 -7530,0.9822675692068068 -7531,0.2773662356118701 -7532,0.1765279421846796 -7533,0.4103007114277536 -7534,0.11761644916881941 -7535,0.5150201731328065 -7536,0.5050589584135572 -7537,0.8369849121221142 -7538,0.8716302862716054 -7539,0.21185349847573576 -7540,0.5919254108068441 -7541,0.9019884707468268 -7542,0.7668698483221007 -7543,0.6492994803129848 -7544,0.5830639908346361 -7545,0.16006000075161553 -7546,0.14549067343315014 -7547,0.09988927114700741 -7548,0.09646060754128405 -7549,0.8910517253458089 -7550,0.36647154812945004 -7551,0.7256642925172624 -7552,0.5638976912620182 -7553,0.39511141765243163 -7554,0.8198211318191998 -7555,0.3364765378697423 -7556,0.3920331846369969 -7557,0.6845850658269714 -7558,0.5033425174248407 -7559,0.7247968215047761 -7560,0.30155832731511345 -7561,0.70662014171419 -7562,0.9829243202775214 -7563,0.7805456578515152 -7564,0.021489203766633658 -7565,0.7104811533337574 -7566,0.9970051591223311 -7567,0.46023980339488435 -7568,0.8216772470428344 -7569,0.44650279101876267 -7570,0.6879075739912803 -7571,0.5232393719351894 -7572,0.10031289597886772 -7573,0.994900335855378 -7574,0.40280802881320976 -7575,0.17846088447814923 -7576,0.7612540275430377 -7577,0.5360074915516649 -7578,0.8110485220833887 -7579,0.626713854752513 -7580,0.9949442995964072 -7581,0.3735108239937692 -7582,0.94331101812018 -7583,0.9897297576362202 -7584,0.510633306874497 -7585,0.5440916574644277 -7586,0.26017751413795265 -7587,0.6550723618951494 -7588,0.6878050041119013 -7589,0.6322374855328107 -7590,0.7193477548531116 -7591,0.7946726295936746 -7592,0.023683453210171512 -7593,0.7399620902145422 -7594,0.13533056220917983 -7595,0.8147684571242829 -7596,0.8429945583401015 -7597,0.04779926209904495 -7598,0.9136452138221203 -7599,0.5643849118288509 -7600,0.09650831256857006 -7601,0.2318042482878031 -7602,0.10819535237090905 -7603,0.14115215813125692 -7604,0.3633630398419776 -7605,0.9998163431505764 -7606,0.6285682437551161 -7607,0.03829858180013046 -7608,0.8011170777138054 -7609,0.7203205718771044 -7610,0.14173143407456823 -7611,0.771175766614642 -7612,0.2141792259655303 -7613,0.6882326489681669 -7614,0.4217399997696759 -7615,0.912714139870881 -7616,0.7114284394508696 -7617,0.4347603629149168 -7618,0.7808650410510991 -7619,0.15691002765533602 -7620,0.9737461640291704 -7621,0.5177454869425419 -7622,0.3993830059589766 -7623,0.8121947062416037 -7624,0.6099487317750223 -7625,0.6414921955618244 -7626,0.5342746829263466 -7627,0.5639991685703706 -7628,0.3494979713091728 -7629,0.6664438171029389 -7630,0.530454513731818 -7631,0.875384847509983 -7632,0.6945401975225861 -7633,0.8165395383851894 -7634,0.3437595370430042 -7635,0.4050294866459311 -7636,0.23764634737154844 -7637,0.5508744691980314 -7638,0.7567317811500048 -7639,0.08309420311431093 -7640,0.7252790208600948 -7641,0.19575599428119728 -7642,0.36278281408305746 -7643,0.027871477559221924 -7644,0.6238337376352647 -7645,0.21564129629545326 -7646,0.5908447715470666 -7647,0.9204317189858513 -7648,0.39209086140217886 -7649,0.7051977552574501 -7650,0.08739181045233291 -7651,0.741341046190763 -7652,0.43254168097718004 -7653,0.25247860343178363 -7654,0.06216933690032589 -7655,0.7534018424095092 -7656,0.3438052149629548 -7657,0.8625485840461854 -7658,0.06275395284066565 -7659,0.9934531509915171 -7660,0.8924468779952791 -7661,0.7806184911838231 -7662,0.9802991310319498 -7663,0.4408249021263674 -7664,0.30300072059672833 -7665,0.9322504060407469 -7666,0.07599448238596163 -7667,0.31351399371978994 -7668,0.20241119027473609 -7669,0.6119707646692082 -7670,0.5836305000291396 -7671,0.9565139440922032 -7672,0.5926104271484661 -7673,0.7725920880516287 -7674,0.981859873451699 -7675,0.2892079516491567 -7676,0.4804951070376664 -7677,0.025956496122804373 -7678,0.4374576458019023 -7679,0.5478595632196711 -7680,0.9397181686148729 -7681,0.6313576984560603 -7682,0.16038197908956708 -7683,0.8092332409981776 -7684,0.836899921153732 -7685,0.42523925670946705 -7686,0.19141489604393958 -7687,0.5246181548129604 -7688,0.4604280708077496 -7689,0.5582764493132897 -7690,0.5374540391363994 -7691,0.4753402638959552 -7692,0.49414079622788953 -7693,0.8155193125110062 -7694,0.6803879722197514 -7695,0.9007394420492351 -7696,0.8938329493514072 -7697,0.518158620865762 -7698,0.6879670855080505 -7699,0.019904954997491564 -7700,0.15738485174356398 -7701,0.4510292866764948 -7702,0.5214814073296503 -7703,0.040263892649918254 -7704,0.6069336087108786 -7705,0.5255899513941114 -7706,0.2139026845954568 -7707,0.16468804276535853 -7708,0.10234554112051686 -7709,0.8982430282515085 -7710,0.009285986439245497 -7711,0.4562974349267366 -7712,0.5988431123062982 -7713,0.6641023973613562 -7714,0.582075945116991 -7715,0.6566209392813876 -7716,0.8720451741335198 -7717,0.23922564883522912 -7718,0.023253975612729683 -7719,0.37594597188842993 -7720,0.16103465008068563 -7721,0.11963382455763882 -7722,0.9010708667392174 -7723,0.22149666869610096 -7724,0.3473749093913181 -7725,0.9336477417167064 -7726,0.6562866548665632 -7727,0.6510392415888219 -7728,0.9995663204683252 -7729,0.19138869769352906 -7730,0.9200367590422607 -7731,0.4724167194878076 -7732,0.6760205149615863 -7733,0.935802237676297 -7734,0.37530879603134526 -7735,0.15519575010863818 -7736,0.09226091477937448 -7737,0.3289556992654912 -7738,0.231668643226713 -7739,0.8192931556398669 -7740,0.5257429321551754 -7741,0.13120388479897127 -7742,0.03874216793802254 -7743,0.631864409934038 -7744,0.682519826216253 -7745,0.520200270333537 -7746,0.3798171368461679 -7747,0.6018667665325904 -7748,0.043498452211162 -7749,0.25917471730593267 -7750,0.8833678833259413 -7751,0.14061099751107176 -7752,0.7891506195448112 -7753,0.6341263372036358 -7754,0.8242001824490238 -7755,0.7936345736819846 -7756,0.1024352293896531 -7757,0.5913302290598537 -7758,0.9541225792762444 -7759,0.20120972435971307 -7760,0.21671818021203038 -7761,0.5760498212499446 -7762,0.15743044526846173 -7763,0.8738759035960945 -7764,0.20148707641235208 -7765,0.28144385465449706 -7766,0.9808122500353275 -7767,0.48168573772342027 -7768,0.13057381782870958 -7769,0.7866568253981353 -7770,0.35287959741220487 -7771,0.8765919654749545 -7772,0.921960130406112 -7773,0.8671737968683642 -7774,0.21488238195110598 -7775,0.18214443234059063 -7776,0.5681513883223857 -7777,0.6616404874810125 -7778,0.0702969301696117 -7779,0.685437131508212 -7780,0.18226005520735145 -7781,0.918507013399114 -7782,0.21106271335234994 -7783,0.5577396113454348 -7784,0.019916540063539157 -7785,0.33469710968429 -7786,0.48071125356704636 -7787,0.9049615500684348 -7788,0.9250404764520219 -7789,0.34513234279668303 -7790,0.9641198977903932 -7791,0.7985333347127711 -7792,0.6062582139960755 -7793,0.7178079861565946 -7794,0.10142302664213332 -7795,0.5431469291939125 -7796,0.7817563033573116 -7797,0.8682112393089514 -7798,0.054113484092990216 -7799,0.4247006220794173 -7800,0.04743465122137802 -7801,0.42799043175993967 -7802,0.6138509703020726 -7803,0.4650275529599144 -7804,0.6519131132210475 -7805,0.9401488163640941 -7806,0.16162420561393598 -7807,0.8647887866804301 -7808,0.5031913747490995 -7809,0.3161002484476614 -7810,0.2417456525172812 -7811,0.6917088982842154 -7812,0.6617851239307044 -7813,0.6346721760611616 -7814,0.7841969525906961 -7815,0.26636767230327163 -7816,0.7705758168194617 -7817,0.5697920292463727 -7818,0.9867799447612164 -7819,0.22215403142857082 -7820,0.7514120284617345 -7821,0.6307748103614841 -7822,0.9476892846733141 -7823,0.7847568620865955 -7824,0.6475555874189755 -7825,0.8984516582800872 -7826,0.2055859451579789 -7827,0.5298847889704574 -7828,0.16766708339441638 -7829,0.546293152612766 -7830,0.2607953254479587 -7831,0.3821864956685175 -7832,0.34046179712444313 -7833,0.9899123249762798 -7834,0.08136964102832889 -7835,0.9734532113098214 -7836,0.14719873553090634 -7837,0.3098140449836977 -7838,0.11001151089323724 -7839,0.9911424725275695 -7840,0.172469303100231 -7841,0.8962807452700179 -7842,0.858961240128491 -7843,0.9234390527394754 -7844,0.32456765757118355 -7845,0.28359464927246203 -7846,0.2308662696495548 -7847,0.4521983632545702 -7848,0.8848549353259852 -7849,0.3701332989613537 -7850,0.48447118887262386 -7851,0.8208233049924623 -7852,0.6047923001031347 -7853,0.8399862887613166 -7854,0.3304001903620136 -7855,0.601874758825117 -7856,0.20293461680018576 -7857,0.4879905897267165 -7858,0.9919525863982177 -7859,0.8754565387067409 -7860,0.0837361361473341 -7861,0.7283158438107659 -7862,0.18043288533533708 -7863,0.6585236461232782 -7864,0.9215436127590145 -7865,0.15237319731010968 -7866,0.7531608986419427 -7867,0.42061204963383425 -7868,0.8181513318044317 -7869,0.2737201936724326 -7870,0.8650703152192569 -7871,0.8407123387800206 -7872,0.44050153163808725 -7873,0.028455643364410088 -7874,0.3431673806510278 -7875,0.7685967158418359 -7876,0.3707544260012885 -7877,0.8906107270562182 -7878,0.3949798268619269 -7879,0.174339740936031 -7880,0.25841077408116797 -7881,0.9634810721169764 -7882,0.5150312500747036 -7883,0.36713598315928897 -7884,0.11758243705852145 -7885,0.5537248825041056 -7886,0.1395732087731364 -7887,0.8958937808259587 -7888,0.42886822231451716 -7889,0.5254224342627742 -7890,0.04720777822987743 -7891,0.7218915928866324 -7892,0.1894056322536285 -7893,0.8285711893479237 -7894,0.7945976982823486 -7895,0.6666526668739344 -7896,0.43130714332009656 -7897,0.6628285524600309 -7898,0.9651541985472856 -7899,0.38347065506096945 -7900,0.22006856711942258 -7901,0.5553325536736686 -7902,0.2962916511222895 -7903,0.6633257404508808 -7904,0.12172189789825316 -7905,0.7977215210799824 -7906,0.21209896115599303 -7907,0.3375944108420532 -7908,0.9503493981567828 -7909,0.15743669670187377 -7910,0.662807440476323 -7911,0.19565782662173492 -7912,0.9250255058936316 -7913,0.5822793937724002 -7914,0.46088595013518585 -7915,0.5308283069062698 -7916,0.65601787067222 -7917,0.5497185785559038 -7918,0.4292506688898521 -7919,0.5373946662696689 -7920,0.4208845065970641 -7921,0.6551953947488278 -7922,0.08018798656694359 -7923,0.01869801798456394 -7924,0.40601146893349327 -7925,0.13342428404459017 -7926,0.3189982163986651 -7927,0.47063900878416753 -7928,0.1984863138282943 -7929,0.3602272403073661 -7930,0.1411983350993985 -7931,0.4912429358477477 -7932,0.5445501080767529 -7933,0.787386423017325 -7934,0.5570056474350611 -7935,0.517546727208896 -7936,0.16942916048952683 -7937,0.09645461131168365 -7938,0.2652339227746161 -7939,0.6052406436069993 -7940,0.4061895326778856 -7941,0.5539236209215174 -7942,0.6921881591027296 -7943,0.5617520253676861 -7944,0.5416423419121361 -7945,0.19885871590841153 -7946,0.992889971822719 -7947,0.012455704408038448 -7948,0.7986559000137091 -7949,0.7823707357165731 -7950,0.9086727042680457 -7951,0.9398482328393322 -7952,0.6394816814552138 -7953,0.5470009904859707 -7954,0.13149554574235978 -7955,0.47665029910376644 -7956,0.6566811536381476 -7957,0.9025958680710436 -7958,0.3287204557236134 -7959,0.3139617768579319 -7960,0.630106415284395 -7961,0.5488639831563163 -7962,0.20930571530116293 -7963,0.8261668281980996 -7964,0.7746641399334866 -7965,0.17112847177576462 -7966,0.3810652298858036 -7967,0.39919296809738936 -7968,0.48494406721665617 -7969,0.7505477618680343 -7970,0.2736048881887243 -7971,0.7669268406123966 -7972,0.0929482113264476 -7973,0.5368689556566798 -7974,0.4670690289862022 -7975,0.40655436868884054 -7976,0.6388112303395156 -7977,0.85232989121178 -7978,0.8090264778517763 -7979,0.934590846862493 -7980,0.34025812702091307 -7981,0.2107159894112215 -7982,0.5060934600809679 -7983,0.7216528213419506 -7984,0.1573727351842591 -7985,0.30860960556568184 -7986,0.42483155062120237 -7987,0.20021771842174696 -7988,0.5128035936970058 -7989,0.48393908788166873 -7990,0.3645849572401637 -7991,0.2204970524743607 -7992,0.23790900951609106 -7993,0.44168821280903303 -7994,0.6564750142298633 -7995,0.22323257118293904 -7996,0.8380030178217083 -7997,0.09620070705935124 -7998,0.9042028375845201 -7999,0.3857388683432289 -8000,0.4980588828974869 -8001,0.4038506000884101 -8002,0.36766178088087853 -8003,0.6407151714100355 -8004,0.3754671519125795 -8005,0.5772061274477385 -8006,0.7570813742133788 -8007,0.8230177032838238 -8008,0.2645915403378134 -8009,0.9342275917315122 -8010,0.5223589496464557 -8011,0.9431153783971468 -8012,0.0825758307894654 -8013,0.25962933596371374 -8014,0.2748057619473032 -8015,0.302390204380924 -8016,0.7294064325519399 -8017,0.42215130113233734 -8018,0.17483473237632763 -8019,0.4180777618859083 -8020,0.9748280613509772 -8021,0.4841391635176431 -8022,0.1283087195599324 -8023,0.7826412123963125 -8024,0.5618803737261658 -8025,0.9271150854774394 -8026,0.6787614268114153 -8027,0.699840666508496 -8028,0.16761483159198742 -8029,0.18287222345308096 -8030,0.31199490834088806 -8031,0.3400237237963366 -8032,0.9071673951574272 -8033,0.13556203276195544 -8034,0.8988214444976006 -8035,0.9281390910532173 -8036,0.813427053236129 -8037,0.15031079970113692 -8038,0.07594425833721208 -8039,0.23457368867359363 -8040,0.8942901385832964 -8041,0.5468279924339812 -8042,0.9912987968791136 -8043,0.7732099713179145 -8044,0.9367096051729487 -8045,0.30872651650978256 -8046,0.6726454173034554 -8047,0.12887472811237022 -8048,0.9567427967582909 -8049,0.7495240557359644 -8050,0.5991377495485603 -8051,0.10910639969897351 -8052,0.368415387278223 -8053,0.5512325982912419 -8054,0.11462518440823821 -8055,0.867586538429181 -8056,0.7436686676151668 -8057,0.33917102950452804 -8058,0.19564947161772417 -8059,0.5790095288561461 -8060,0.6821819241583792 -8061,0.616686917832121 -8062,0.6842828929471354 -8063,0.43886501126721433 -8064,0.08691527895064377 -8065,0.10415372136292289 -8066,0.5230742869887683 -8067,0.5304798164136892 -8068,0.778177291762767 -8069,0.12280029514082846 -8070,0.9569105309535414 -8071,0.33200464010298525 -8072,0.9515399050457153 -8073,0.15610000400934498 -8074,0.3808319616154988 -8075,0.9653202108551521 -8076,0.05899229674323381 -8077,0.5468771101187895 -8078,0.2055170147028117 -8079,0.9328695078577932 -8080,0.486160852562329 -8081,0.3420750658818946 -8082,0.7563968270226534 -8083,0.3226713885661162 -8084,0.7325052219278475 -8085,0.8915946814685694 -8086,0.5686176968774775 -8087,0.5416408802590266 -8088,0.628942637295173 -8089,0.08421677865093469 -8090,0.7435247085924872 -8091,0.3791483950126847 -8092,0.8251135670024015 -8093,0.32321745064853746 -8094,0.47361172826773 -8095,0.28558436608924165 -8096,0.9730189013466397 -8097,0.29740406218860094 -8098,0.6577156715387894 -8099,0.8106192479493434 -8100,0.5345712728649675 -8101,0.14439375643523678 -8102,0.45051336232373684 -8103,0.2285566435051315 -8104,0.9630020606284116 -8105,0.266028758323979 -8106,0.9331857545264413 -8107,0.8307582586280522 -8108,0.1510760845477901 -8109,0.28325079398227615 -8110,0.0669326243437891 -8111,0.04147584455794662 -8112,0.43648743316427363 -8113,0.3833657283110097 -8114,0.6071007748945566 -8115,0.8929923090027841 -8116,0.41932561554227366 -8117,0.2871431400747332 -8118,0.42996980014175035 -8119,0.024105689528752472 -8120,0.9590303670098105 -8121,0.6170781962026698 -8122,0.6856100888945591 -8123,0.34797816699897677 -8124,0.9287832338035047 -8125,0.08471620215887465 -8126,0.6375676267775262 -8127,0.6798943361458165 -8128,0.9878616000134136 -8129,0.9024269196695517 -8130,0.3263708345970934 -8131,0.9642870606005446 -8132,0.7102141541448302 -8133,0.7426048550157656 -8134,0.4943109732750862 -8135,0.7808525248350481 -8136,0.6536216468205607 -8137,0.5955819961864999 -8138,0.10728304222358076 -8139,0.6177088678935572 -8140,0.12035822024572329 -8141,0.6809336737743406 -8142,0.5788062490927948 -8143,0.40556783050276524 -8144,0.583164757995837 -8145,0.9624602358064608 -8146,0.04172672000437316 -8147,0.44039113568030386 -8148,0.9503739726681327 -8149,0.8505508762429478 -8150,0.009264577852732603 -8151,0.10943917261237335 -8152,0.2920091355915142 -8153,0.675858277123285 -8154,0.75102969607214 -8155,0.8339035293732956 -8156,0.5188176611527472 -8157,0.5439216699205157 -8158,0.8667637452379572 -8159,0.13619188515831038 -8160,0.5599872086374895 -8161,0.011251442260585831 -8162,0.2898904743548195 -8163,0.989586183438712 -8164,0.5188861096133854 -8165,0.5384525937190645 -8166,0.08482330034943775 -8167,0.27521718522774186 -8168,0.611789792557751 -8169,0.002565673152589154 -8170,0.8881448183213441 -8171,0.31775298038714594 -8172,0.7580909383401082 -8173,0.27963102076793755 -8174,0.8896748801130373 -8175,0.3504130805800032 -8176,0.14904033754363932 -8177,0.5360059048166673 -8178,0.8692655760639587 -8179,0.06497446555676512 -8180,0.8591801463883559 -8181,0.4812610754942225 -8182,0.09328202186143375 -8183,0.7179363109315717 -8184,0.29279179985365944 -8185,0.6201950140441782 -8186,0.7629404604650227 -8187,0.43918270715949903 -8188,0.0618587913533456 -8189,0.9236031624383757 -8190,0.6752201696912093 -8191,0.8506840773299017 -8192,0.6648210536768031 -8193,0.13313781587996043 -8194,0.8087719551663888 -8195,0.7490295216730112 -8196,0.15523086850976564 -8197,0.5837827545256506 -8198,0.45078810207167985 -8199,0.3410350712459146 -8200,0.32632438454074564 -8201,0.9874650802709484 -8202,0.9633113941190138 -8203,0.08676395355182998 -8204,0.8681419740750459 -8205,0.8774362207407854 -8206,0.7641790998169654 -8207,0.09014619698191983 -8208,0.07060652352777141 -8209,0.5196056546020169 -8210,0.5310371750751917 -8211,0.8877802400287879 -8212,0.04530392142418305 -8213,0.9390478307454999 -8214,0.8199716429290509 -8215,0.4920713279086548 -8216,0.4537991556893828 -8217,0.44823022714567395 -8218,0.6668952405146475 -8219,0.5455385208333422 -8220,0.600723156180729 -8221,0.6825409639565827 -8222,0.002230470838874954 -8223,0.23186568110076633 -8224,0.7607615447794861 -8225,0.7756949472810821 -8226,0.5441943653034474 -8227,0.8654204063410883 -8228,0.48548707319482 -8229,0.28917250915078774 -8230,0.047724594840213186 -8231,0.007641358001128751 -8232,0.4051035804824116 -8233,0.33799929329116807 -8234,0.9165339607416048 -8235,0.8828262601699147 -8236,0.6500947560601837 -8237,0.7604370648149436 -8238,0.9207937651005808 -8239,0.798942961852383 -8240,0.26959672153238856 -8241,0.44957751357004794 -8242,0.9296854938752467 -8243,0.5839269942662311 -8244,0.8586930884924177 -8245,0.07146920698416093 -8246,0.7993620856220269 -8247,0.9038070540932113 -8248,0.7461364120245918 -8249,0.7766251768027138 -8250,0.27506814519835177 -8251,0.3330754486042823 -8252,0.5042072121484055 -8253,0.020944127736326035 -8254,0.24581813485362458 -8255,0.7154842494263661 -8256,0.6810983295431698 -8257,0.0864534703163804 -8258,0.6651495750372528 -8259,0.552784214139328 -8260,0.5745715662050149 -8261,0.15738470207511257 -8262,0.31225704342744165 -8263,0.7816120381604981 -8264,0.28166731917597143 -8265,0.17501490732498426 -8266,0.8402147223103329 -8267,0.9092372971683834 -8268,0.18230229007326226 -8269,0.6497945433960418 -8270,0.3930762209712805 -8271,0.8957045414553975 -8272,0.986682201298834 -8273,0.2928246029004161 -8274,0.7493359710457465 -8275,0.7054266831281041 -8276,0.3706200976702787 -8277,0.8915829986996852 -8278,0.816783883484564 -8279,0.8514170811392076 -8280,0.24733410987222348 -8281,0.8514942387649406 -8282,0.8482132581494015 -8283,0.6514710571377109 -8284,0.24420297691319115 -8285,0.7957171233411844 -8286,0.20706836618615942 -8287,0.5735996780011032 -8288,0.3826128641276556 -8289,0.31668863910178036 -8290,0.06217410145797864 -8291,0.303749900085339 -8292,0.24319086884456864 -8293,0.5015993796240573 -8294,0.7718851580906808 -8295,0.64921477903878 -8296,0.16216268699558944 -8297,0.027505919054997663 -8298,0.9996351686786235 -8299,0.5619185040040316 -8300,0.3387558009299111 -8301,0.8030898788595042 -8302,0.2773157327150949 -8303,0.9126495950692549 -8304,0.10829459408530484 -8305,0.8533102079333612 -8306,0.030282070994982258 -8307,0.505610136098101 -8308,0.9143379502181449 -8309,0.7858508476598921 -8310,0.8610484463565728 -8311,0.4246046378902536 -8312,0.6941424344495171 -8313,0.47240785626972837 -8314,0.1699101346916848 -8315,0.6262884162082734 -8316,0.8351998352069779 -8317,0.6240437318237962 -8318,0.7233752830003837 -8319,0.476810583721612 -8320,0.5267122598751729 -8321,0.4035861565483301 -8322,0.399583482386658 -8323,0.4733794574035829 -8324,0.7501786190042102 -8325,0.6493296471780796 -8326,0.27866600792756246 -8327,0.8056283269065639 -8328,0.5780038974075647 -8329,0.26236054263147635 -8330,0.24643481373398912 -8331,0.29338390647450663 -8332,0.5985270266986279 -8333,0.5803287806873973 -8334,0.4031076242676218 -8335,0.5268927816093872 -8336,0.3108888335537343 -8337,0.7972357112049389 -8338,0.46236750937687543 -8339,0.6008311710510194 -8340,0.08390347835791545 -8341,0.07740783067133095 -8342,0.40005475196185725 -8343,0.7811962021270322 -8344,0.691815095064995 -8345,0.5241973163415987 -8346,0.3343212493269945 -8347,0.949865665048487 -8348,0.20162309041369664 -8349,0.9625577499360058 -8350,0.6642724710678447 -8351,0.7235577910147993 -8352,0.19431103190158572 -8353,0.23130632847758015 -8354,0.10377448769887332 -8355,0.34033905455683433 -8356,0.13474244122183376 -8357,0.3551376587011609 -8358,0.6984707316825576 -8359,0.6652277268558703 -8360,0.29519192553640516 -8361,0.05169331124194909 -8362,0.877145826318571 -8363,0.4951520990609355 -8364,0.5800208151025429 -8365,0.7632883572918807 -8366,0.024122815386268703 -8367,0.8505631699980981 -8368,0.32831561058199143 -8369,0.9933751426633494 -8370,0.07064391622213084 -8371,0.02456306641835948 -8372,0.2445674311918652 -8373,0.7760299778314408 -8374,0.8926438187179726 -8375,0.1359626972529877 -8376,0.8909034499118952 -8377,0.1695945132227199 -8378,0.11839729193051807 -8379,0.13162647862664822 -8380,0.30981351981563887 -8381,0.32701518187834355 -8382,0.7928886312016755 -8383,0.4489389759075554 -8384,0.42520286520553097 -8385,0.7148583278733631 -8386,0.8220333772465048 -8387,0.3232208757988291 -8388,0.9778063762305376 -8389,0.09443938628880244 -8390,0.9332493404654606 -8391,0.042463299377911046 -8392,0.6339386800845634 -8393,0.039203318162883916 -8394,0.8966807922657137 -8395,0.4889201150959023 -8396,0.9734731423473463 -8397,0.8660858743899157 -8398,0.19980776719367999 -8399,0.02135157251993014 -8400,0.21003539962215334 -8401,0.005531162328962114 -8402,0.15311829315868108 -8403,0.7078972407708901 -8404,0.8364165539905342 -8405,0.27600259716503694 -8406,0.5807159246212729 -8407,0.3204767880157867 -8408,0.135452969620379 -8409,0.6488313798119834 -8410,0.7802357587965646 -8411,0.8929560846886934 -8412,0.559276501248352 -8413,0.3074080604396159 -8414,0.4173492048289532 -8415,0.3470400710332675 -8416,0.15567760941797137 -8417,0.4838174819690435 -8418,0.9682126010640725 -8419,0.7420262394170527 -8420,0.5397131767987732 -8421,0.8697271390997633 -8422,0.4862946852042589 -8423,0.6826964457666956 -8424,0.3810844633013051 -8425,0.5201374628633036 -8426,0.3339248062074587 -8427,0.9836032519034167 -8428,0.844656005206108 -8429,0.6873515271974683 -8430,0.05244876659173814 -8431,0.7434211582904767 -8432,0.40173181281109815 -8433,0.8148137310653201 -8434,0.06905300632592537 -8435,0.7351957600985732 -8436,0.11783930866724923 -8437,0.29255230954433664 -8438,0.20080983488753246 -8439,0.7919755319871297 -8440,0.13930032216363464 -8441,0.38463031781830237 -8442,0.5730634562425618 -8443,0.47300464749553117 -8444,0.5025141984925946 -8445,0.749264276781732 -8446,0.3746858511044171 -8447,0.2531485049238301 -8448,0.989856036939723 -8449,0.6885195116778999 -8450,0.2324126971214241 -8451,0.4201533872696529 -8452,0.6503724659318215 -8453,0.17910269225262887 -8454,0.8675314505271169 -8455,0.6676749144844737 -8456,0.5613884503704165 -8457,0.3389135496201273 -8458,0.9208855313834371 -8459,0.7981423347578971 -8460,0.6833885298177702 -8461,0.898244365896013 -8462,0.3820836694009444 -8463,0.005654469134067641 -8464,0.786140281930873 -8465,0.8853355685650393 -8466,0.8937367174239952 -8467,0.6731498732573624 -8468,0.33240416239312554 -8469,0.5115439750486361 -8470,0.49262658150120164 -8471,0.044587734773913756 -8472,0.6243309343229472 -8473,0.39800767742328913 -8474,0.027265007753057624 -8475,0.5838465270500274 -8476,0.7331227362868881 -8477,0.6455802392207702 -8478,0.6919381316046234 -8479,0.6972663542387663 -8480,0.22742348195046358 -8481,0.30416249056934563 -8482,0.7979779311110786 -8483,0.07535819853151726 -8484,0.7109355664312651 -8485,0.273101622603079 -8486,0.5207340861577625 -8487,0.4852444604310312 -8488,0.7839970045832495 -8489,0.16384519053000524 -8490,0.1263927893673188 -8491,0.9550991365089467 -8492,0.3909873106008711 -8493,0.27633527547618475 -8494,0.6482843705212598 -8495,0.443510944893872 -8496,0.8464251374260736 -8497,0.5870773127075204 -8498,0.38775961038851536 -8499,0.20964047732690805 -8500,0.42400877712464746 -8501,0.28231056810185784 -8502,0.5195377978592285 -8503,0.5518993894127878 -8504,0.22986717613434815 -8505,0.1908319089914241 -8506,0.2997459625495018 -8507,0.31400673099502086 -8508,0.516257267674678 -8509,0.037933282300804616 -8510,0.8310363626197659 -8511,0.8533928911791244 -8512,0.5172127139763167 -8513,0.49753192696780324 -8514,0.021029949244428692 -8515,0.36416356373880776 -8516,0.4599169484452351 -8517,0.22075787128772617 -8518,0.5899700866784107 -8519,0.14503956980393473 -8520,0.5997506929844473 -8521,0.6549457782373268 -8522,0.28696891140421565 -8523,0.5604149966644144 -8524,0.3493832001682168 -8525,0.8822813058998298 -8526,0.6134738441087393 -8527,0.5178273974469191 -8528,0.9484447022107793 -8529,0.4968868918398478 -8530,0.13758436602804458 -8531,0.29855172481751935 -8532,0.1501513219806242 -8533,0.930702294112293 -8534,0.6797491189498314 -8535,0.1892653059946119 -8536,0.6883215262490796 -8537,0.1805522574150079 -8538,0.47265073007810654 -8539,0.6610889466650678 -8540,0.801846202063026 -8541,0.2842203439134334 -8542,0.983631876852793 -8543,0.9412875593896247 -8544,0.39766854782415173 -8545,0.9677366118301092 -8546,0.24741481971999957 -8547,0.6141445389519533 -8548,0.6529655970994247 -8549,0.0699674323523618 -8550,0.9871279293985198 -8551,0.5803912125608338 -8552,0.4618903848358291 -8553,0.5260492300438544 -8554,0.06925007346727419 -8555,0.44716310487653543 -8556,0.904826650982599 -8557,0.14900486070471286 -8558,0.2919857598454536 -8559,0.8847155263609064 -8560,0.6400357175434981 -8561,0.6695170335265636 -8562,0.2588087314091623 -8563,0.159736032643102 -8564,0.21733717194158553 -8565,0.7348571028097732 -8566,0.8547961924558128 -8567,0.09493178873302532 -8568,0.17811202936024295 -8569,0.26002071873889154 -8570,0.1588489182053967 -8571,0.6463802577785331 -8572,0.9442270120336621 -8573,0.5531923316758912 -8574,0.6316532453969105 -8575,0.12103422711149703 -8576,0.2795271402071715 -8577,0.9080567415810047 -8578,0.06784464091000653 -8579,0.5010974236513408 -8580,0.04543790106813983 -8581,0.6319814127454357 -8582,0.5448337387362829 -8583,0.6151461942727081 -8584,0.3725718528352474 -8585,0.08670600630534175 -8586,0.5948786178960686 -8587,0.1800105069721044 -8588,0.3865282333570107 -8589,0.4346669216897501 -8590,0.7707406075103644 -8591,0.6859534147079892 -8592,0.8679226481306281 -8593,0.7702054738479869 -8594,0.6353700846120324 -8595,0.8350844484442601 -8596,0.16268022065620835 -8597,0.2159894719166462 -8598,0.6841441193122281 -8599,0.19802051683478739 -8600,0.5354636763798918 -8601,0.0579486980667373 -8602,0.10908756754548377 -8603,0.08491904282761897 -8604,0.30883794922755126 -8605,0.4922536000814296 -8606,0.7815877024340654 -8607,0.721949632590337 -8608,0.25968659171132 -8609,0.3717441827455662 -8610,0.7607055841334641 -8611,0.6300772963030009 -8612,0.8162638316546376 -8613,0.4083327248358598 -8614,0.6406473756020014 -8615,0.003778224071164793 -8616,0.1924086613469601 -8617,0.6264841485619568 -8618,0.10650623851785124 -8619,0.5293138850925613 -8620,0.8432181950439787 -8621,0.5212928790959201 -8622,0.8093838689131416 -8623,0.41421660349534783 -8624,0.7837394537381152 -8625,0.8351128992262572 -8626,0.7288413544423932 -8627,0.47178821330950116 -8628,0.3514792055630128 -8629,0.1840952339025378 -8630,0.3870951572795013 -8631,0.7819814185974345 -8632,0.7088668113408766 -8633,0.377162670537732 -8634,0.6241216594200452 -8635,0.9310349877548814 -8636,0.10698995693106916 -8637,0.781412759022178 -8638,0.5373007878692193 -8639,0.16483349106582634 -8640,0.6240639048107802 -8641,0.5296812039154262 -8642,0.39050461782119084 -8643,0.370917223086364 -8644,0.4656835727550894 -8645,0.10878559475945049 -8646,0.7831028914107718 -8647,0.040657978779224835 -8648,0.24880386875005311 -8649,0.4351055037909458 -8650,0.2425907962617967 -8651,0.42000836984112544 -8652,0.1871133572750443 -8653,0.5907685246450621 -8654,0.4098078067189248 -8655,0.1827889429103362 -8656,0.37931639089298064 -8657,0.177014534359349 -8658,0.033421329615842876 -8659,0.040727038060790366 -8660,0.5369692208331899 -8661,0.8513616354976156 -8662,0.5706749681752071 -8663,0.3751784041158245 -8664,0.48308613010225043 -8665,0.30927527756443285 -8666,0.010834051723235705 -8667,0.8250635973855762 -8668,0.8028485676840217 -8669,0.8569005942050489 -8670,0.18843321887542086 -8671,0.27381007614492736 -8672,0.33712570853654944 -8673,0.6020929307868284 -8674,0.5694644910480148 -8675,0.20542318973307272 -8676,0.8166487874531849 -8677,0.5535369975430284 -8678,0.44473459699418716 -8679,0.5224881287564382 -8680,0.8361271307511904 -8681,0.1986805386186874 -8682,0.6704220236165693 -8683,0.5953020002581455 -8684,0.2245346919536001 -8685,0.876746937637156 -8686,0.4312155994681046 -8687,0.3562343195767623 -8688,0.12018392790788313 -8689,0.4122996749270176 -8690,0.5698145374482515 -8691,0.8682024530996877 -8692,0.08413046472272545 -8693,0.019951465139438795 -8694,0.6858712347133655 -8695,0.12010049994633099 -8696,0.8999303448904395 -8697,0.19574802277771786 -8698,0.18584849780633572 -8699,0.818857509272107 -8700,0.7584874718362713 -8701,0.42905805165517497 -8702,0.8046087028508784 -8703,0.2788590681502171 -8704,0.69045998413035 -8705,0.5131989490049982 -8706,0.3085231424560435 -8707,0.04848040999299397 -8708,0.124247314046665 -8709,0.4515737625769285 -8710,0.11414101272517663 -8711,0.36270789799044445 -8712,0.83025830032986 -8713,0.00730635691090642 -8714,0.889079697351418 -8715,0.18597031057576752 -8716,0.06129541324077881 -8717,0.1616043714968063 -8718,0.07384989671449249 -8719,0.5530758260141592 -8720,0.6716109310681426 -8721,0.6074052111876024 -8722,0.2658665624700074 -8723,0.32310274366597924 -8724,0.9370425321537074 -8725,0.21024751858970225 -8726,0.8018795470288108 -8727,0.7294226745915451 -8728,0.837280149460502 -8729,0.7122749985015565 -8730,0.1293453900248409 -8731,0.3325141453233006 -8732,0.06818392353014258 -8733,0.9915327089302556 -8734,0.7618083039005797 -8735,0.4687903125981875 -8736,0.002848636949195571 -8737,0.33428329072858753 -8738,0.4097217206444004 -8739,0.7123594787291148 -8740,0.6396705044390852 -8741,0.418988356384557 -8742,0.6915551397266531 -8743,0.9438887406986735 -8744,0.2674093179781778 -8745,0.026686926961284052 -8746,0.22583518569981464 -8747,0.4276972216450785 -8748,0.7158659187333928 -8749,0.10961072431482255 -8750,0.337674213456006 -8751,0.37589255550422396 -8752,0.04227190582779228 -8753,0.5469249949592052 -8754,0.4333573465759163 -8755,0.5014452592024292 -8756,0.4336047906318986 -8757,0.19584883562475153 -8758,0.11676061783500458 -8759,0.5782029040383986 -8760,0.25430199346223514 -8761,0.9466004311312001 -8762,0.37132935757999463 -8763,0.5219023877763258 -8764,0.8436953805339856 -8765,0.8020624413208322 -8766,0.8871915876472024 -8767,0.6462412009594306 -8768,0.603846409130012 -8769,0.3047986468663094 -8770,0.3281916137123311 -8771,0.6113817741287764 -8772,0.1278770646509061 -8773,0.626524240732893 -8774,0.36646986904786893 -8775,0.6073127458637694 -8776,0.19132181744996457 -8777,0.08117076635283937 -8778,0.3435180203702064 -8779,0.8590437429845187 -8780,0.39474984525094436 -8781,0.5957977734704377 -8782,0.2712262278673716 -8783,0.282592905314868 -8784,0.7951660211756514 -8785,0.5976519862261959 -8786,0.6098070223885855 -8787,0.3875141361692702 -8788,0.5972045212189221 -8789,0.6010209250349665 -8790,0.4967282548261226 -8791,0.529877122313228 -8792,0.7314342755851349 -8793,0.580977697936416 -8794,0.7204172155933148 -8795,0.8867773069904619 -8796,0.6985507382201974 -8797,0.05158810428098748 -8798,0.4643321149950592 -8799,0.8229595989383515 -8800,0.4449786616745547 -8801,0.6287738190867069 -8802,0.362294191798046 -8803,0.8161582582417747 -8804,0.24033322377979605 -8805,0.34583067668211975 -8806,0.9313182138078397 -8807,0.7674089498853706 -8808,0.5182611339678129 -8809,0.1717842259824648 -8810,0.7746724398915759 -8811,0.30823120822063665 -8812,0.5851816148131196 -8813,0.5575695969327138 -8814,0.9494174708662448 -8815,0.03544474744125059 -8816,0.08257322832688807 -8817,0.5250849620051958 -8818,0.9771717929647109 -8819,0.7658995852414417 -8820,0.36842606199924854 -8821,0.35645772067395287 -8822,0.8704842380186909 -8823,0.011167036042213807 -8824,0.5976648812180552 -8825,0.015217271413732525 -8826,0.8308416173046634 -8827,0.8572283670705695 -8828,0.24573170023028323 -8829,0.6923340491316775 -8830,0.12314871513820524 -8831,0.5389233405911068 -8832,0.9995769117808279 -8833,0.10868880575895123 -8834,0.10989307075060772 -8835,0.3648773269578818 -8836,0.7031574210957738 -8837,0.06567564500762879 -8838,0.0977715070337768 -8839,0.6333115369332163 -8840,0.4960012563051196 -8841,0.8096771706081655 -8842,0.6560843111269414 -8843,0.4978077534786687 -8844,0.180719633535675 -8845,0.15623801742826482 -8846,0.42339428595472695 -8847,0.6459913280082489 -8848,0.9111761288685987 -8849,0.940602997074368 -8850,0.0327340610991933 -8851,0.044703031412812066 -8852,0.4629110989150741 -8853,0.013257747567304912 -8854,0.016493126102901212 -8855,0.3943310540076851 -8856,0.8449086191360645 -8857,0.544368073641717 -8858,0.6451340198627037 -8859,0.1544086994879852 -8860,0.645601101493298 -8861,0.8446644634319272 -8862,0.24365007071951017 -8863,0.7492073353984754 -8864,0.6195693603350454 -8865,0.33664802603107913 -8866,0.6270328452995232 -8867,0.4307116893523256 -8868,0.5500345918991656 -8869,0.9927423623906239 -8870,0.5207933590962948 -8871,0.4110825342563803 -8872,0.1396742101033891 -8873,0.3698758312277549 -8874,0.3086662435052854 -8875,0.7414972245096876 -8876,0.13181282218899049 -8877,0.6007385209166728 -8878,0.5471750677239721 -8879,0.5617912069595283 -8880,0.19948754555903725 -8881,0.3637421165076814 -8882,0.42630062460818396 -8883,0.9922987898843091 -8884,0.7431751424535782 -8885,0.24618605288749373 -8886,0.7837572852512066 -8887,0.5903559744821998 -8888,0.47189863652740904 -8889,0.522339085388751 -8890,0.6438242486167451 -8891,0.08460407366495115 -8892,0.16841579075329105 -8893,0.36134597673947455 -8894,0.5627049171338971 -8895,0.4309748011596588 -8896,0.466996826599713 -8897,0.7017870312300251 -8898,0.5226743419215002 -8899,0.1407184741994133 -8900,0.4252358566668063 -8901,0.08256496997375129 -8902,0.2768268426407722 -8903,0.1671337974307272 -8904,0.3509345798028264 -8905,0.11135634730854205 -8906,0.1907022908438234 -8907,0.920515655334353 -8908,0.37213431721512424 -8909,0.6430750834507662 -8910,0.9225915634084924 -8911,0.2607176043511582 -8912,0.3786843494646699 -8913,0.8458630315820784 -8914,0.19603517127633652 -8915,0.17281547484810256 -8916,0.6041058511963101 -8917,0.8855174675013467 -8918,0.937304159347185 -8919,0.3096709448756738 -8920,0.24681065107608868 -8921,0.1311332359695755 -8922,0.5433080495144587 -8923,0.4862175001727076 -8924,0.5311580519105802 -8925,0.6315409530595788 -8926,0.06918047294764174 -8927,0.6106864936928564 -8928,0.20375467784756884 -8929,0.2909054677179095 -8930,0.500664834801375 -8931,0.4155437574901768 -8932,0.6659879886696569 -8933,0.46730778844913656 -8934,0.25803075052472246 -8935,0.2370868718574407 -8936,0.5330597820458071 -8937,0.6235867074900722 -8938,0.1467963852538895 -8939,0.13534178560227472 -8940,0.738036314545531 -8941,0.9699814115501381 -8942,0.8546930206733241 -8943,0.6791159468367889 -8944,0.1404134873575109 -8945,0.7423269541059583 -8946,0.8618835009131077 -8947,0.3996830478902823 -8948,0.9603843534932615 -8949,0.31749207073811636 -8950,0.9417476109910101 -8951,0.010738137056739983 -8952,0.4913981679330943 -8953,0.47544099357606384 -8954,0.9611770441419298 -8955,0.21947134571751004 -8956,0.003778159848440321 -8957,0.6320221668324855 -8958,0.056288421849922554 -8959,0.7748373954595003 -8960,0.07814889104476708 -8961,0.6172551632325506 -8962,0.35266377810366023 -8963,0.024307650456993235 -8964,0.7039890165235487 -8965,0.5274283167943767 -8966,0.18618493584192963 -8967,0.32414829531912814 -8968,0.48994338882455635 -8969,0.14602966294192843 -8970,0.7951505725605125 -8971,0.2785541020668668 -8972,0.38140330997257454 -8973,0.759675228941824 -8974,0.18128733537110675 -8975,0.33683822620537274 -8976,0.9611573008087418 -8977,0.17255778415829648 -8978,0.0392943954606233 -8979,0.5672252754492619 -8980,0.00033035054765362393 -8981,0.34487042022256487 -8982,0.6295617545448283 -8983,0.3736613282820854 -8984,0.41841900194295367 -8985,0.842443417986518 -8986,0.21628944224668378 -8987,0.6221469612998721 -8988,0.9408007573533234 -8989,0.8294142112383059 -8990,0.20833569762490478 -8991,0.43080182118031995 -8992,0.9894456123555284 -8993,0.1551584398188831 -8994,0.6123990343508875 -8995,0.2373461365283539 -8996,0.2925986212241697 -8997,0.715602219405992 -8998,0.13928577850026336 -8999,0.5379401818095529 -9000,0.4903777699967803 -9001,0.9910553360782057 -9002,0.527139326564926 -9003,0.8831692293056104 -9004,0.4803931843878131 -9005,0.874642155216621 -9006,0.4706359746943647 -9007,0.5800622727483981 -9008,0.8141950199264132 -9009,0.49786756357314976 -9010,0.5719465090460583 -9011,0.20779069555078677 -9012,0.5951575183051471 -9013,0.3958958691013824 -9014,0.02031873671646689 -9015,0.022544431233517792 -9016,0.2530588552005566 -9017,0.363722943768659 -9018,0.843993759259769 -9019,0.4042108085701318 -9020,0.20003833291888518 -9021,0.7840954374077488 -9022,0.4783243515483844 -9023,0.7164881165269069 -9024,0.009295687195527647 -9025,0.8470914089111986 -9026,0.444647391429268 -9027,0.042790236090428646 -9028,0.3230191810041235 -9029,0.5190520449965629 -9030,0.15489017751063394 -9031,0.19247247631323072 -9032,0.23082336157450611 -9033,0.8481597656491933 -9034,0.8800208337169668 -9035,0.7793457730056795 -9036,0.14907464916792768 -9037,0.5360368208897067 -9038,0.6621767170789145 -9039,0.9096904374060959 -9040,0.6389223360694132 -9041,0.6278943750993107 -9042,0.3009826275576927 -9043,0.7641840455946534 -9044,0.648955897087394 -9045,0.4741053002127551 -9046,0.17958925147367077 -9047,0.4889451996408768 -9048,0.4288890465305918 -9049,0.5094459795595727 -9050,0.9066005849899417 -9051,0.5386200243668751 -9052,0.7319627446081045 -9053,0.8333677914757114 -9054,0.4887706050793307 -9055,0.5055287585316118 -9056,0.7543507192233937 -9057,0.3565479033319947 -9058,0.3924352202722885 -9059,0.574156270370963 -9060,0.7754105586246548 -9061,0.05301141226463735 -9062,0.9495478789298437 -9063,0.009059378693956233 -9064,0.6605858865884329 -9065,0.21222484364524308 -9066,0.2685234324651059 -9067,0.5393588890515405 -9068,0.9721515792408576 -9069,0.8978873419654367 -9070,0.7263890009233218 -9071,0.6244029781600466 -9072,0.2556079092658825 -9073,0.14369733991242728 -9074,0.15579634699897416 -9075,0.5900604445904372 -9076,0.7165598241360435 -9077,0.1139326456189913 -9078,0.6453741816567403 -9079,0.2912842260803351 -9080,0.07980415390014794 -9081,0.06263970148735565 -9082,0.4530524981684526 -9083,0.3262015059729306 -9084,0.12686707618325876 -9085,0.09487062082741493 -9086,0.008487185393295738 -9087,0.9582075712969814 -9088,0.5958976352554927 -9089,0.47189582056686585 -9090,0.04923034736368603 -9091,0.3617960741041525 -9092,0.5899241407560188 -9093,0.7203948048831047 -9094,0.9259259025125607 -9095,0.23299694745277022 -9096,0.03901476575895735 -9097,0.3693002246162588 -9098,0.6767525410694245 -9099,0.07805638872151133 -9100,0.8120641261768786 -9101,0.3645394375874468 -9102,0.8368954473058684 -9103,0.09137328381702914 -9104,0.08739712167575453 -9105,0.7211832500007193 -9106,0.40652524031524406 -9107,0.02560384139221339 -9108,0.6387976656634021 -9109,0.891568143165028 -9110,0.9521894624667889 -9111,0.040737179057897865 -9112,0.6081971773555751 -9113,0.3729689410240743 -9114,0.3453784347702422 -9115,0.433001936555775 -9116,0.51012403424088 -9117,0.14317965071484695 -9118,0.2684701705660737 -9119,0.8884002890610764 -9120,0.33004464639685405 -9121,0.016998438926881576 -9122,0.585221510380861 -9123,0.6870733257614704 -9124,0.6958715495088967 -9125,0.5325496826860694 -9126,0.8350797869932282 -9127,0.33423875631422517 -9128,0.008066758159023912 -9129,0.2271513378086184 -9130,0.04205926264974991 -9131,0.8070928319112195 -9132,0.4588455514200336 -9133,0.7694559977009221 -9134,0.5145089355052324 -9135,0.5356636526628537 -9136,0.37456060023227067 -9137,0.7088921175066001 -9138,0.9767402499280629 -9139,0.9049389950740144 -9140,0.8218502143783614 -9141,0.05369754508223601 -9142,0.6884471131697494 -9143,0.48310621591372294 -9144,0.6234422734108866 -9145,0.5708633497876123 -9146,0.7936651894730488 -9147,0.29754637793348226 -9148,0.9015428603209954 -9149,0.8632411727156447 -9150,0.6189980097760519 -9151,0.0703621158946891 -9152,0.6385844501229807 -9153,0.8180737058800573 -9154,0.31228467176560604 -9155,0.7485418785483108 -9156,0.10660466974146232 -9157,0.5803575650701585 -9158,0.796716368411497 -9159,0.02368460263185157 -9160,0.6967451050558613 -9161,0.22581783417240464 -9162,0.08147723198979073 -9163,0.3808796245781856 -9164,0.49660839631695897 -9165,0.06445623121978905 -9166,0.8231422274942684 -9167,0.4272383849887452 -9168,0.24463909622093838 -9169,0.5412650996319852 -9170,0.9585139218731623 -9171,0.5570098916443366 -9172,0.19218959234514088 -9173,0.01814681055219336 -9174,0.4728440801427375 -9175,0.49398080354174356 -9176,0.3800833314418546 -9177,0.5324631879434255 -9178,0.3975092041080256 -9179,0.26521899813852745 -9180,0.8570818343926799 -9181,0.4339593786180369 -9182,0.5961585946051507 -9183,0.06898901506310473 -9184,0.08738021632899617 -9185,0.8840464684897468 -9186,0.4634171260793183 -9187,0.6351611457321675 -9188,0.7008295288091301 -9189,0.8057937015199582 -9190,0.8443057701738508 -9191,0.04422433794633074 -9192,0.47997725961157 -9193,0.40395882720248744 -9194,0.8079081482862175 -9195,0.6899630951631518 -9196,0.9390539945758747 -9197,0.7206063646798148 -9198,0.42263855358753033 -9199,0.4281538693619835 -9200,0.9502458765705328 -9201,0.39283386103031626 -9202,0.5937274731769767 -9203,0.5752833293206576 -9204,0.8960098822690438 -9205,0.35410883807816873 -9206,0.10227611235837841 -9207,0.946562905046594 -9208,0.2813287343797599 -9209,0.816529300607575 -9210,0.5015482090199074 -9211,0.33721392617402723 -9212,0.42064174379727004 -9213,0.9889110532969452 -9214,0.6102854171379513 -9215,0.8977672687959463 -9216,0.17498445311641975 -9217,0.10484062711303899 -9218,0.9638281184003855 -9219,0.051570792774779606 -9220,0.01828276586497868 -9221,0.08895121630788583 -9222,0.7191600276485958 -9223,0.41038705101205775 -9224,0.9987723665923466 -9225,0.698421677926196 -9226,0.24362698225567025 -9227,0.24045823728917726 -9228,0.7998737406614841 -9229,0.4361152113668295 -9230,0.8307460762679707 -9231,0.722955206098386 -9232,0.49434450682453135 -9233,0.25249771104857777 -9234,0.304111421896456 -9235,0.9014014359926124 -9236,0.7104047001904126 -9237,0.9826638016370665 -9238,0.8958680627929452 -9239,0.08573775356082558 -9240,0.8636871754731943 -9241,0.6774446558157865 -9242,0.13694620607389119 -9243,0.566556161737514 -9244,0.19845425620180435 -9245,0.7388017692132414 -9246,0.14664533167990812 -9247,0.33236617584485073 -9248,0.8144926704455512 -9249,0.6394137782486663 -9250,0.8997817342360523 -9251,0.8370762957458838 -9252,0.9853602275255555 -9253,0.02838908948264829 -9254,0.1358183582350655 -9255,0.22509337553157183 -9256,0.37727794311474083 -9257,0.7803857757882208 -9258,0.45093366196483475 -9259,0.9207025318784589 -9260,0.9292069555018315 -9261,0.5486367451336225 -9262,0.23790732950856142 -9263,0.15257150933091035 -9264,0.7342639312534978 -9265,0.23670978315308344 -9266,0.845388920176677 -9267,0.5980221312311588 -9268,0.6253086273948958 -9269,0.3183080275886244 -9270,0.7855940582446956 -9271,0.4268833419255119 -9272,0.5973182429370159 -9273,0.5938297853016266 -9274,0.12482726682685996 -9275,0.8465803032750261 -9276,0.13540058796899224 -9277,0.5648726585958593 -9278,0.481272478616931 -9279,0.8690911349298642 -9280,0.5041307483370822 -9281,0.6535791899094854 -9282,0.471179499475221 -9283,0.8293473165509151 -9284,0.9854836032789673 -9285,0.6796904500703884 -9286,0.8094955557519514 -9287,0.792551307700295 -9288,0.15997061766541243 -9289,0.4083271039565587 -9290,0.24177744935303946 -9291,0.5114045191919411 -9292,0.28716601557897004 -9293,0.5980126026825432 -9294,0.09192804025538259 -9295,0.14084118383226807 -9296,0.8191919867559421 -9297,0.8045229910645242 -9298,0.440418267205853 -9299,0.5559509455704444 -9300,0.5913399623575534 -9301,0.3977639370766194 -9302,0.9334463292471036 -9303,0.7896689539386679 -9304,0.07722655447391447 -9305,0.6619846344422781 -9306,0.453826003254731 -9307,0.8782908334231806 -9308,0.45779228993083976 -9309,0.8208510950487018 -9310,0.2086551018391658 -9311,0.647747008881845 -9312,0.1071917194128218 -9313,0.11761822494675411 -9314,0.3446658591374697 -9315,0.25321908988498665 -9316,0.7714564216208879 -9317,0.8333197188738397 -9318,0.12513042754219716 -9319,0.8256790907077058 -9320,0.9871625779266013 -9321,0.9034045472451119 -9322,0.12471946045739013 -9323,0.4395041810502738 -9324,0.7648526436485653 -9325,0.7444547786923176 -9326,0.01688572006188027 -9327,0.7966782084654187 -9328,0.24455179239602742 -9329,0.07127229588668504 -9330,0.1635611844776158 -9331,0.007191136943592635 -9332,0.5318678548873402 -9333,0.8854434379261783 -9334,0.32424852619596656 -9335,0.0837170143987529 -9336,0.20934446871173762 -9337,0.4957221051446119 -9338,0.3568940087281258 -9339,0.1965278625011787 -9340,0.47866185708283093 -9341,0.11938146313960307 -9342,0.9910363293084611 -9343,0.3335145707751641 -9344,0.33502381673400516 -9345,0.28005336841516004 -9346,0.8085444732293557 -9347,0.8481053297117588 -9348,0.8384264398518633 -9349,0.040719913105097816 -9350,0.09502636326480096 -9351,0.15448572682060802 -9352,0.4782476458037175 -9353,0.9525324277330446 -9354,0.5076811650315938 -9355,0.5266798136592723 -9356,0.812434725822735 -9357,0.9913815050131313 -9358,0.27192191191150217 -9359,0.9670931909382617 -9360,0.31868747643031825 -9361,0.7851136490825654 -9362,0.8543865381757583 -9363,0.22152591483273731 -9364,0.8523196532361746 -9365,0.8714002382629173 -9366,0.681311064558235 -9367,0.3123061186313033 -9368,0.8927853699408961 -9369,0.7797897783984463 -9370,0.7400072469349569 -9371,0.2791128397319341 -9372,0.782585722972517 -9373,0.5932591015694187 -9374,0.6181308543386724 -9375,0.25460298834972106 -9376,0.47595036428635284 -9377,0.5430606318834179 -9378,0.38837334757743225 -9379,0.4935201427047454 -9380,0.189773058326988 -9381,0.9788248463673632 -9382,0.018506773846768132 -9383,0.4681129516792495 -9384,0.08762969302714751 -9385,0.4104719278699672 -9386,0.8328331552263301 -9387,0.11335417926100211 -9388,0.5372494449600852 -9389,0.8790614110474008 -9390,0.7172691629322918 -9391,0.6709202253008854 -9392,0.9140482049428799 -9393,0.5449399561456723 -9394,0.4768911854918547 -9395,0.24446142756393618 -9396,0.5765871997167998 -9397,0.345592236444065 -9398,0.9429553267437569 -9399,0.1954967701400372 -9400,0.33597906541596956 -9401,0.8811231544745355 -9402,0.2792969695674674 -9403,0.024408511634309904 -9404,0.6374867982361795 -9405,0.2740472136849412 -9406,0.9989556887323185 -9407,0.04840855319427273 -9408,0.8652029435214689 -9409,0.08957967435643077 -9410,0.23601630582481337 -9411,0.09531822628750997 -9412,0.82116524606868 -9413,0.05783717975323266 -9414,0.2655870288959987 -9415,0.1259479596574441 -9416,0.39010551669779225 -9417,0.05542007164709195 -9418,0.29315914130644505 -9419,0.09215705253267514 -9420,0.3126598093937698 -9421,0.5568437412833308 -9422,0.06983298397600535 -9423,0.5170490494268344 -9424,0.829070652315793 -9425,0.8705977351138826 -9426,0.14275114126501087 -9427,0.8496554288886808 -9428,0.10699968287967021 -9429,0.12801859808548077 -9430,0.29178669213159303 -9431,0.6170121851324738 -9432,0.1771614519276652 -9433,0.6016276445495704 -9434,0.8482276247346208 -9435,0.892338561043662 -9436,0.04049841506304952 -9437,0.5766556041848342 -9438,0.9892673942380023 -9439,0.8649439723720188 -9440,0.3788078621129012 -9441,0.14380861667058364 -9442,0.9976575962963065 -9443,0.3052448083747329 -9444,0.5280158876844473 -9445,0.5119968913745128 -9446,0.538935128105319 -9447,0.6081946931535366 -9448,0.6727053438193085 -9449,0.14608211522242298 -9450,0.15684433935950226 -9451,0.2854761184868091 -9452,0.8137738346201804 -9453,0.21151643500809147 -9454,0.10359982574426618 -9455,0.16631670543137145 -9456,0.22141099764662975 -9457,0.6708067253890789 -9458,0.6043608214714196 -9459,0.733233965907294 -9460,0.35347606682935206 -9461,0.7750228555315087 -9462,0.20239543517013847 -9463,0.09612448728457768 -9464,0.5661900147523145 -9465,0.20804799531711993 -9466,0.22307891661492463 -9467,0.9107428839664803 -9468,0.18821569133481608 -9469,0.7292247842245175 -9470,0.6759936812238669 -9471,0.8890760535115452 -9472,0.6465646059827818 -9473,0.831679720389565 -9474,0.8693650295061663 -9475,0.0833046815870021 -9476,0.4641995205889541 -9477,0.5765905517323352 -9478,0.47777529359473525 -9479,0.6792967530521399 -9480,0.3808965974550559 -9481,0.9728882443126622 -9482,0.7600839782175726 -9483,0.01768301029126551 -9484,0.09650105292790645 -9485,0.4920899251891383 -9486,0.95402524914398 -9487,0.945656079611743 -9488,0.7770162402838483 -9489,0.8090372867306581 -9490,0.8458029146157101 -9491,0.3765375475788697 -9492,0.8359249462829681 -9493,0.9990619190828778 -9494,0.18459177127789217 -9495,0.9227120965217376 -9496,0.9781543851232717 -9497,0.5724684467243618 -9498,0.6623560770576916 -9499,0.972981158505889 -9500,0.16616777942494376 -9501,0.14618429712028436 -9502,0.4233165071374584 -9503,0.5891471627681746 -9504,0.5682596701656234 -9505,0.07311486580163351 -9506,0.42350262213322054 -9507,0.906879726687886 -9508,0.36374781937659795 -9509,0.04587029996817338 -9510,0.10364974746412159 -9511,0.9213056774528062 -9512,0.6927819243081943 -9513,0.470330070868651 -9514,0.6792230320015409 -9515,0.9244640938342866 -9516,0.23450739935505638 -9517,0.3964293685271567 -9518,0.018056315496351893 -9519,0.17115983518453148 -9520,0.8555770932996758 -9521,0.4425578709888841 -9522,0.2208746332023538 -9523,0.6339692972865589 -9524,0.5888678142791953 -9525,0.47921917611160925 -9526,0.6787384424582472 -9527,0.2700937574191512 -9528,0.9703869352591579 -9529,0.6941632510803671 -9530,0.7460672343540522 -9531,0.8239619721317099 -9532,0.9525640550131833 -9533,0.297077343136681 -9534,0.17394361090034205 -9535,0.9057773952473184 -9536,0.3660491848399834 -9537,0.8167195110520045 -9538,0.4998843679813866 -9539,0.06451848101839186 -9540,0.13164382426356402 -9541,0.12923995961354795 -9542,0.9520259104638913 -9543,0.12901124547049492 -9544,0.3267244800278405 -9545,0.7667190740098182 -9546,0.7372711308336243 -9547,0.2565138197611251 -9548,0.09975186361423205 -9549,0.26996946555823453 -9550,0.3232790669918111 -9551,0.5199159717434098 -9552,0.34617751222909654 -9553,0.7955298066857479 -9554,0.7538963546440083 -9555,0.3265674674616751 -9556,0.6239946087609822 -9557,0.09050618817139766 -9558,0.2691213061095953 -9559,0.7423826696418105 -9560,0.3725395912092986 -9561,0.2097195395482202 -9562,0.05775080567379087 -9563,0.21068908639965045 -9564,0.738071116546917 -9565,0.324866729907211 -9566,0.31294255213297495 -9567,0.06809799327227983 -9568,0.9339634397381827 -9569,0.9459610694584399 -9570,0.8598850211870053 -9571,0.7891746004984076 -9572,0.554751645825294 -9573,0.8565797639430899 -9574,0.21241572259843822 -9575,0.3052694383182256 -9576,0.41098297391866223 -9577,0.2290573759524408 -9578,0.553844512764886 -9579,0.10371563894921276 -9580,0.2599999197337878 -9581,0.07696110553727642 -9582,0.32022775164271333 -9583,0.5263914016182626 -9584,0.9675698185351131 -9585,0.40934742269716895 -9586,0.7330774738755331 -9587,0.6013423054092291 -9588,0.05070386548165495 -9589,0.6478459431759387 -9590,0.14992422385116333 -9591,0.4094169812054633 -9592,0.631104498260811 -9593,0.009692357374547211 -9594,0.9385753681326536 -9595,0.4980899607285718 -9596,0.248961922157923 -9597,0.751937525054468 -9598,0.432311241925179 -9599,0.1670752721655101 -9600,0.5369818438200065 -9601,0.9701084094730573 -9602,0.7731384552421632 -9603,0.5659508441424911 -9604,0.46760040028490146 -9605,0.09541759866383437 -9606,0.9105857640369213 -9607,0.08649571349415042 -9608,0.03348037388782332 -9609,0.8838774849711797 -9610,0.49081857343744173 -9611,0.44667682758899907 -9612,0.591370009187439 -9613,0.5674638322356491 -9614,0.38888197405375724 -9615,0.009476807061234327 -9616,0.683664581654296 -9617,0.3177687696640773 -9618,0.16139947691192724 -9619,0.3774422493171695 -9620,0.8839243963108255 -9621,0.5383174462493441 -9622,0.47654090589373854 -9623,0.18010064640287893 -9624,0.47922283285684186 -9625,0.25982849795859964 -9626,0.8387895149912353 -9627,0.3701515091767771 -9628,0.9741619858000092 -9629,0.4126419077127875 -9630,0.7881377262388424 -9631,0.8866051873788192 -9632,0.6593061246742214 -9633,0.9925194723676678 -9634,0.5334780574194121 -9635,0.08106411080525233 -9636,0.23985907754754654 -9637,0.9914523991988742 -9638,0.15326085011447288 -9639,0.33493506813281404 -9640,0.5019287714612397 -9641,0.63806567657017 -9642,0.8127037373297652 -9643,0.28954123195583004 -9644,0.11016617440085552 -9645,0.5215739054235032 -9646,0.15548274427931508 -9647,0.6977959222393482 -9648,0.4297031046359783 -9649,0.23590959690348945 -9650,0.2519288997488439 -9651,0.4651884398972259 -9652,0.774075323196574 -9653,0.4496682224309342 -9654,0.9228011240954287 -9655,0.41975051719005774 -9656,0.7465761247860714 -9657,0.0257271780813505 -9658,0.9812329894778103 -9659,0.43181399462893477 -9660,0.17406235716619978 -9661,0.10378318420248256 -9662,0.06609655001309844 -9663,0.008175179022083867 -9664,0.1481704710024082 -9665,0.5774564855616666 -9666,0.8377615425580814 -9667,0.41551480511110683 -9668,0.958513799007921 -9669,0.6736772808406016 -9670,0.3806144719154507 -9671,0.8707883100043143 -9672,0.08679667974162053 -9673,0.8442550581875288 -9674,0.855379767268447 -9675,0.009203462721066202 -9676,0.5404377201927908 -9677,0.026565108487410005 -9678,0.18636554605221078 -9679,0.06972131455476771 -9680,0.3734716780438908 -9681,0.9493730416571232 -9682,0.28999374944694223 -9683,0.8772935128878099 -9684,0.6605322171856146 -9685,0.6091132421619966 -9686,0.5280731967403222 -9687,0.33769105718236947 -9688,0.4717805690214084 -9689,0.34067159145402826 -9690,0.22303183523654146 -9691,0.4537215792008912 -9692,0.20354104856293898 -9693,0.4677209719873534 -9694,0.6258358066447507 -9695,0.32682499341349025 -9696,0.43385697377269006 -9697,0.7165102534781802 -9698,0.4918031921436494 -9699,0.17645458161316796 -9700,0.5212328063486104 -9701,0.4787873286791593 -9702,0.3274662187831179 -9703,0.9283704312217523 -9704,0.708896509355817 -9705,0.34337130556707507 -9706,0.3978260805602065 -9707,0.8644580326811756 -9708,0.9952193944464945 -9709,0.7722209845634963 -9710,0.2925730308761265 -9711,0.33124088989851885 -9712,0.7547867585842906 -9713,0.5647685368963169 -9714,0.5159626557544161 -9715,0.7012417624063231 -9716,0.78246950691141 -9717,0.6210718241968177 -9718,0.8496750355630793 -9719,0.8255056796880672 -9720,0.4752731082239531 -9721,0.3775719139791509 -9722,0.860349914970517 -9723,0.7752130179364367 -9724,0.4271984889320748 -9725,0.585607048979579 -9726,0.6149906426668862 -9727,0.4657483759033322 -9728,0.2834412818769543 -9729,0.5760587003359542 -9730,0.644779188731063 -9731,0.7715019919589815 -9732,0.25992347293296736 -9733,0.45410245607526134 -9734,0.3779121699487463 -9735,0.10915314992762293 -9736,0.005502114036396111 -9737,0.7655577942860797 -9738,0.14940368388289027 -9739,0.501829839326446 -9740,0.5739016721269441 -9741,0.7709352356593874 -9742,0.05346760877797363 -9743,0.6557233615196013 -9744,0.1050588432606877 -9745,0.20193189831570046 -9746,0.594831228278423 -9747,0.6252275732829509 -9748,0.4280203045093206 -9749,0.3378386116097969 -9750,0.8621480966384596 -9751,0.45814918231045243 -9752,0.6520236899727555 -9753,0.9379056513222576 -9754,0.8970610429461865 -9755,0.487645123395379 -9756,0.39587195287918053 -9757,0.948442594241035 -9758,0.11063777184552348 -9759,0.3576174106392329 -9760,0.5457705089204463 -9761,0.45561915493319094 -9762,0.27342913380425493 -9763,0.2943774870376987 -9764,0.2698425974861177 -9765,0.6719639614909478 -9766,0.2848913209634095 -9767,0.12543885906424124 -9768,0.32846965007758 -9769,0.5963343248787476 -9770,0.8349710167678581 -9771,0.08003783613669724 -9772,0.13236285174518625 -9773,0.8259069027979109 -9774,0.299738606464073 -9775,0.7589779464681559 -9776,0.6966142332637311 -9777,0.4745227068943866 -9778,0.20898980472824924 -9779,0.47054812141157953 -9780,0.9481706711621484 -9781,0.6503790645903442 -9782,0.31110247248296574 -9783,0.08578181818085906 -9784,0.40782899332374534 -9785,0.9375370002771174 -9786,0.30755840155800773 -9787,0.7142414049132162 -9788,0.10849367086161577 -9789,0.6616917902527032 -9790,0.13894910389119297 -9791,0.2634608874059706 -9792,0.7331707190826311 -9793,0.8538575948429286 -9794,0.05350150509985585 -9795,0.897440869111081 -9796,0.49597796808622274 -9797,0.7184329504545922 -9798,0.004585309243943181 -9799,0.4960826702186507 -9800,0.39974012169390283 -9801,0.871285430379908 -9802,0.7902226290772939 -9803,0.9832255170445159 -9804,0.1829665721794983 -9805,0.5814306405836371 -9806,0.3276255130293284 -9807,0.7869545476407442 -9808,0.4143572631402028 -9809,0.2711074283128806 -9810,0.5272285716342827 -9811,0.5614670530361794 -9812,0.4050626542208533 -9813,0.8436688737717778 -9814,0.8254168959697331 -9815,0.04593418566706675 -9816,0.5151984803763082 -9817,0.04225869568037566 -9818,0.08858627904474892 -9819,0.8655122338274798 -9820,0.3799418152505569 -9821,0.09588033179342959 -9822,0.14407444225308208 -9823,0.4698817355066973 -9824,0.13738181890990364 -9825,0.9056618934285673 -9826,0.928343729895043 -9827,0.9465713919915275 -9828,0.530464168823726 -9829,0.12300687964171275 -9830,0.27188432566849685 -9831,0.46273664699714123 -9832,0.035386988583575696 -9833,0.8388740329358615 -9834,0.8040212759133126 -9835,0.26837736133457346 -9836,0.17579119188050973 -9837,0.4747801148068669 -9838,0.05647529919552163 -9839,0.1350758426729084 -9840,0.05056804973494511 -9841,0.7252599004509352 -9842,0.988206263742121 -9843,0.3367129113079833 -9844,0.09920326646385014 -9845,0.6086219251258939 -9846,0.47916983460387497 -9847,0.8463081643202317 -9848,0.9585309567843905 -9849,0.8391302455263294 -9850,0.8237273594273092 -9851,0.90308425965079 -9852,0.501242005227281 -9853,0.7886179857926064 -9854,0.38243591635898155 -9855,0.3440019979405442 -9856,0.18702385575019254 -9857,0.48343353445807236 -9858,0.5709277072661351 -9859,0.0187107388540525 -9860,0.856044727602236 -9861,0.8881253043989259 -9862,0.6337897765441308 -9863,0.9514451032915662 -9864,0.9935303461839066 -9865,0.17473547679809187 -9866,0.9312673509985464 -9867,0.6820985538369624 -9868,0.7086266825210866 -9869,0.42777759184414443 -9870,0.9483608563337907 -9871,0.9875842039762548 -9872,0.9627678980713524 -9873,0.8938422199712717 -9874,0.3684695505406882 -9875,0.7889995274666979 -9876,0.4977526649149723 -9877,0.7938290495503633 -9878,0.48337367741434145 -9879,0.08389613987081734 -9880,0.4442973948275456 -9881,0.6119956753728124 -9882,0.7296824257626917 -9883,0.8979147718755521 -9884,0.16900303888288637 -9885,0.5464531832266702 -9886,0.7574083200263013 -9887,0.9237830807522149 -9888,0.4055493189812226 -9889,0.40097664891390083 -9890,0.16270340931458072 -9891,0.9098477032758784 -9892,0.9428179356020315 -9893,0.47367614774105804 -9894,0.6750268168036037 -9895,0.05761259769521465 -9896,0.3461829428841179 -9897,0.7919182639655614 -9898,0.28291474769970815 -9899,0.37705585482282766 -9900,0.6556059657997381 -9901,0.14722722891933004 -9902,0.16902724144719927 -9903,0.12086058424062351 -9904,0.38907259825253226 -9905,0.8644656337552948 -9906,0.06432383932229169 -9907,0.15324984158459598 -9908,0.6837555464499226 -9909,0.02161090647571251 -9910,0.42496138229319347 -9911,0.804706702690907 -9912,0.6875361935991438 -9913,0.8947925153631916 -9914,0.7383202031426035 -9915,0.3086506958195331 -9916,0.37973212459297456 -9917,0.5320748505272307 -9918,0.7340306824771908 -9919,0.9336624254148282 -9920,0.28331832064207874 -9921,0.5700041406634748 -9922,0.8601227818952143 -9923,0.24258079846083824 -9924,0.10326343720233289 -9925,0.5890081749624856 -9926,0.4417687513623785 -9927,0.5941901470392016 -9928,0.0058040787259492355 -9929,0.8450832192430453 -9930,0.17018092438986 -9931,0.43145301441599493 -9932,0.5428064594886178 -9933,0.9669040129506442 -9934,0.6057959091909925 -9935,0.028739318379869205 -9936,0.8593797248500952 -9937,0.9057234167882374 -9938,0.6243321217689909 -9939,0.37888049001543767 -9940,0.8261515602832852 -9941,0.3630933169117919 -9942,0.18104722323097644 -9943,0.24101946293231713 -9944,0.16212509060474412 -9945,0.9785711052660335 -9946,0.5345387266651602 -9947,0.7654352764982518 -9948,0.3869961816719256 -9949,0.6328510954973677 -9950,0.5972188623770863 -9951,0.987453124311481 -9952,0.6354466521195253 -9953,0.6001751945133756 -9954,0.48599636457727335 -9955,0.9088468659731391 -9956,0.6860250857527769 -9957,0.9413190360903295 -9958,0.7788534010458146 -9959,0.17846674638696147 -9960,0.697133226311353 -9961,0.15884908427358646 -9962,0.23632824206049108 -9963,0.22478763220356202 -9964,0.06571759636367258 -9965,0.11518330748639982 -9966,0.310703579321994 -9967,0.25836644438938183 -9968,0.17748015862546207 -9969,0.2755236459602707 -9970,0.09359397169677441 -9971,0.0780207884117825 -9972,0.2994225544456427 -9973,0.8997268189016926 -9974,0.8571072963207788 -9975,0.5932212483928879 -9976,0.348595747325692 -9977,0.30657245556013535 -9978,0.005596581120424715 -9979,0.291494165016295 -9980,0.4980265566111072 -9981,0.1854679686990821 -9982,0.6026135514780413 -9983,0.37591877921151473 -9984,0.05853442146536114 -9985,0.12944441095642456 -9986,0.7981392581095454 -9987,0.5650253171771977 -9988,0.6010631870632586 -9989,0.20235052701690048 -9990,0.5636047813737294 -9991,0.6069100434594336 -9992,0.3392407050544206 -9993,0.7168619633932061 -9994,0.5519564575320804 -9995,0.7708758574623974 -9996,0.5696062262999438 -9997,0.08026344293700016 -9998,0.12720343570698767 -9999,0.4152819717150964 -10000,0.6294392977204383 -10001,0.20166004531188586 -10002,0.05492417430885044 -10003,0.7692330477493539 -10004,0.6482311307646127 -10005,0.405498206106337 -10006,0.22520852598847407 -10007,0.9686575696142058 -10008,0.5598719823143279 -10009,0.8561013451563504 -10010,0.4318348777617831 -10011,0.47481798316269275 -10012,0.13370184663237483 -10013,0.8827114759102562 -10014,0.20722845329323936 -10015,0.8557323474744152 -10016,0.5287806950737328 -10017,0.8994429431644713 -10018,0.7745255295708247 -10019,0.3896896867428734 -10020,0.5594227610562404 -10021,0.8900851073528535 -10022,0.9876278595146972 -10023,0.17801445699119078 -10024,0.9117572237687053 -10025,0.016191311585448287 -10026,0.7357524449233308 -10027,0.402070365058781 -10028,0.9647443727642829 -10029,0.2710764998295747 -10030,0.09558738140897194 -10031,0.48436503755549654 -10032,0.2782887803295434 -10033,0.38289243649056925 -10034,0.4640178342274873 -10035,0.28646414425515987 -10036,0.5604267245799973 -10037,0.8662545121009179 -10038,0.0007498778833925357 -10039,0.0650259506948705 -10040,0.9060359257478894 -10041,0.5487224257919225 -10042,0.4893297113727668 -10043,0.13437115740692862 -10044,0.7231407483247071 -10045,0.7031645129774177 -10046,0.356262903128145 -10047,0.13827111204136777 -10048,0.19725917038676244 -10049,0.12220169721218688 -10050,0.17449942113192207 -10051,0.6606079701162725 -10052,0.8538489018798188 -10053,0.8137820125154542 -10054,0.6100958474483666 -10055,0.5686637259488341 -10056,0.8454748804938282 -10057,0.19611704291632026 -10058,0.8476031235905906 -10059,0.23253642594365642 -10060,0.0049396257990356185 -10061,0.9088428202410995 -10062,0.8468013000630378 -10063,0.17119376865520852 -10064,0.7967021817202734 -10065,0.1768181006602968 -10066,0.6537645604734098 -10067,0.2800227481177009 -10068,0.9462502160071862 -10069,0.8781273123669187 -10070,0.6536497732604263 -10071,0.4621427945469675 -10072,0.6805040497089494 -10073,0.7942749561744896 -10074,0.5592592561386709 -10075,0.3676706655812477 -10076,0.12812285691496128 -10077,0.671561930054172 -10078,0.9125135001442874 -10079,0.7285071168558096 -10080,0.8466141851202478 -10081,0.009411803450777745 -10082,0.14499437928091652 -10083,0.5169091568955743 -10084,0.9466706671361907 -10085,0.07894856060785471 -10086,0.18008582705027187 -10087,0.6952834611053637 -10088,0.6102570508835614 -10089,0.3048572307358768 -10090,0.17565668835482284 -10091,0.6966925279357796 -10092,0.4902950415442363 -10093,0.00016546942838258083 -10094,0.10608535302826316 -10095,0.1502836534853279 -10096,0.24281677660611367 -10097,0.5840033877213684 -10098,0.3108273268446038 -10099,0.23090729876824967 -10100,0.3812745185850691 -10101,0.19133556800070228 -10102,0.9347896495693229 -10103,0.19695122844265656 -10104,0.16523443251924264 -10105,0.9553090903377963 -10106,0.15554594974558733 -10107,0.4175945949386862 -10108,0.6910332492317239 -10109,0.009773220627736556 -10110,0.7622566401122594 -10111,0.3737560107071458 -10112,0.7872097656204976 -10113,0.2869913225176025 -10114,0.5592526108703801 -10115,0.7814822426835174 -10116,0.8333648225448328 -10117,0.17967418347969988 -10118,0.5442382709225797 -10119,0.2701210481976076 -10120,0.9491940588628069 -10121,0.8460508843091958 -10122,0.9699000475556886 -10123,0.21239597825836543 -10124,0.0944530469155731 -10125,0.7840535530966373 -10126,0.9130565841287585 -10127,0.28017303933565274 -10128,0.9662658801997008 -10129,0.959115958998957 -10130,0.20589335579758816 -10131,0.17091667829357038 -10132,0.9913654249967031 -10133,0.9985669846291845 -10134,0.022961027226977793 -10135,0.817066618413098 -10136,0.6748820675795543 -10137,0.1401467234248912 -10138,0.009926072465356262 -10139,0.9534445384236319 -10140,0.15651174277740731 -10141,0.8416290763340263 -10142,0.5623856516596285 -10143,0.486329848205456 -10144,0.1710801200922475 -10145,0.18005476826436762 -10146,0.046727727157038434 -10147,0.47674736823180663 -10148,0.045123430693016275 -10149,0.8732395278972085 -10150,0.3534502752313705 -10151,0.7745187369681547 -10152,0.0601108559212471 -10153,0.5885538728083931 -10154,0.5161987347008472 -10155,0.3607059502780696 -10156,0.15861705191457753 -10157,0.9612349699294752 -10158,0.5155983323164401 -10159,0.5044183199402682 -10160,0.1982855497897087 -10161,0.4687500989355001 -10162,0.40829775237032506 -10163,0.6899567207447888 -10164,0.4323843101624407 -10165,0.5916941416167079 -10166,0.22744271544355055 -10167,0.1822794993276322 -10168,0.7617490920165194 -10169,0.1337087207390879 -10170,0.6864547446916838 -10171,0.6788582149009598 -10172,0.3230240923608677 -10173,0.7488023441974537 -10174,0.2641483966067415 -10175,0.7069142989064585 -10176,0.3419158563454514 -10177,0.31775919639704653 -10178,0.8087584126070947 -10179,0.3060426538140548 -10180,0.48790635774038416 -10181,0.4815917334242058 -10182,0.3083607034953887 -10183,0.3297549378215575 -10184,0.9993988281927964 -10185,0.17662425524411518 -10186,0.11110728240227064 -10187,0.6209735846990495 -10188,0.10854471745401395 -10189,0.2634673121747986 -10190,0.05035106733358785 -10191,0.7105897857281215 -10192,0.1603090979330728 -10193,0.9826608123410976 -10194,0.8095661863105236 -10195,0.2148177668487149 -10196,0.9858397566225152 -10197,0.23120772580172144 -10198,0.2020183069063165 -10199,0.06653144486911755 -10200,0.04570305024868415 -10201,0.8309670492546261 -10202,0.20342524436371512 -10203,0.11021153983136311 -10204,0.06904476961194883 -10205,0.04137988941500215 -10206,0.7676523000553207 -10207,0.6468768777326735 -10208,0.2605891772589942 -10209,0.07394363762285439 -10210,0.5632743044048913 -10211,0.5555514001194739 -10212,0.9519457719266968 -10213,0.12033797264886537 -10214,0.19806548259672196 -10215,0.26397940677045684 -10216,0.01182862392318662 -10217,0.6144627830261794 -10218,0.6856363345608975 -10219,0.9925449215767023 -10220,0.5298609196702391 -10221,0.5011582691503484 -10222,0.38786991459964393 -10223,0.052355836092931485 -10224,0.626778080190292 -10225,0.9399073364985624 -10226,0.0844251572171324 -10227,0.8127833935972896 -10228,0.8574983894038799 -10229,0.4135481790882989 -10230,0.26290872741458293 -10231,0.9957267848376715 -10232,0.12412411416977365 -10233,0.679519361046004 -10234,0.7037886889397267 -10235,0.8960800211754154 -10236,0.2597548797384387 -10237,0.5753012504759092 -10238,0.23499655786506668 -10239,0.6072622470246405 -10240,0.7964589813107389 -10241,0.4623445838595549 -10242,0.0756173257029793 -10243,0.7788864743545605 -10244,0.7613355315616657 -10245,0.43317974636959533 -10246,0.2595478466543364 -10247,0.7678731140737293 -10248,0.3467940077361159 -10249,0.6457000165144701 -10250,0.5969610889657172 -10251,0.5649914072121838 -10252,0.7714060450681203 -10253,0.2565861878905662 -10254,0.6661586012488082 -10255,0.4345105581236822 -10256,0.16132183417254875 -10257,0.9929213373392964 -10258,0.11412339707998331 -10259,0.033107696042804724 -10260,0.4336405434209001 -10261,0.14387642629515107 -10262,0.9726387123554124 -10263,0.44307467776858567 -10264,0.19059309681320202 -10265,0.08591656694355565 -10266,0.5645581381372319 -10267,0.2451892798135562 -10268,0.6540437952442226 -10269,0.736734967820265 -10270,0.5642852072907879 -10271,0.6391388351434869 -10272,0.9491483611113996 -10273,0.026387559671893657 -10274,0.9879026726131133 -10275,0.988949435998197 -10276,0.7519937970836841 -10277,0.6780074461507151 -10278,0.7094642950143096 -10279,0.34078985724594635 -10280,0.6074956375904862 -10281,0.4430746229758473 -10282,0.33453784231943784 -10283,0.31388781336834637 -10284,0.8372227907397822 -10285,0.664519830829711 -10286,0.19617300761093326 -10287,0.1100866673116444 -10288,0.4824990480937974 -10289,0.43361630644640503 -10290,0.4426702120498224 -10291,0.8822472967195528 -10292,0.9105538010543286 -10293,0.28654910377083886 -10294,0.5128612270909133 -10295,0.9968210088347945 -10296,0.6500654837033542 -10297,0.9661830207740696 -10298,0.18968958177131723 -10299,0.6889734886784741 -10300,0.4296113788919331 -10301,0.5786575056450776 -10302,0.25929499275125056 -10303,0.09745860704021003 -10304,0.5729712747214031 -10305,0.9518539461957858 -10306,0.9045932855153833 -10307,0.7252820118391421 -10308,0.1255741190386036 -10309,0.674508713126935 -10310,0.8342451546956277 -10311,0.3046425608807014 -10312,0.1759905371609254 -10313,0.364970479817591 -10314,0.9158760453628839 -10315,0.3447972909358783 -10316,0.5419366643801389 -10317,0.6474586496255758 -10318,0.21321334419782478 -10319,0.8645137021211353 -10320,0.33829525952630546 -10321,0.725096305358377 -10322,0.07926137314422066 -10323,0.7605581737874059 -10324,0.7451529162737689 -10325,0.45282860800607394 -10326,0.2426846269801406 -10327,0.8312612690092848 -10328,0.0746734340806664 -10329,0.3001490898122946 -10330,0.9285011583168892 -10331,0.323856305313761 -10332,0.8837963048981953 -10333,0.3386507235625532 -10334,0.6937571469084489 -10335,0.9673712876535269 -10336,0.14916379155834114 -10337,0.9014756817896722 -10338,0.40910460016438843 -10339,0.11736422370947719 -10340,0.7734681220540984 -10341,0.3290028542653741 -10342,0.08149493987400613 -10343,0.2755739587367584 -10344,0.1955612137407865 -10345,0.7312135716831203 -10346,0.013415761439107388 -10347,0.7991733167998648 -10348,0.3386060636402085 -10349,0.21172637631527091 -10350,0.36801609329744756 -10351,0.7975546028046793 -10352,0.08315220819261693 -10353,0.8052310275786111 -10354,0.6908549226327971 -10355,0.8792901209115453 -10356,0.8870439740273686 -10357,0.5661350059059891 -10358,0.22468035702431566 -10359,0.3822115312327473 -10360,0.9529863378192674 -10361,0.7906299847576074 -10362,0.6784820265967888 -10363,0.7768227408747521 -10364,0.9995085258483709 -10365,0.3582319156442254 -10366,0.7444332229383095 -10367,0.9247867337508019 -10368,0.621474703273388 -10369,0.6669101767949766 -10370,0.4836919270327853 -10371,0.9621037250239237 -10372,0.53788764141294 -10373,0.6554919950029773 -10374,0.8833607493869945 -10375,0.7391437085367796 -10376,0.19992280818283847 -10377,0.26802609193997695 -10378,0.7905507699292443 -10379,0.9251043842952561 -10380,0.24961243554408163 -10381,0.6828754041640033 -10382,0.1886157779065557 -10383,0.9726025140539498 -10384,0.13724240787593633 -10385,0.8923454782909124 -10386,0.1398044836995609 -10387,0.1968500769688254 -10388,0.49440365294403144 -10389,0.639483865883613 -10390,0.7378752831737314 -10391,0.11180893701825845 -10392,0.46985454866067367 -10393,0.02703651197447554 -10394,0.9341801344389704 -10395,0.014532811260766443 -10396,0.1807672027477749 -10397,0.873997668425852 -10398,0.5431622955402321 -10399,0.8268334284875984 -10400,0.7832733986644185 -10401,0.9960212935489765 -10402,0.8813620171883805 -10403,0.45937911215889116 -10404,0.1939960088332484 -10405,0.8763088694774083 -10406,0.9188271150162733 -10407,0.11894890917238488 -10408,0.5675832182697027 -10409,0.0669506692963091 -10410,0.16559836678616835 -10411,0.06697026751433388 -10412,0.2492409491633274 -10413,0.8914550213030644 -10414,0.3273342380381401 -10415,0.32574530875389507 -10416,0.9831296065329921 -10417,0.7117370423847983 -10418,0.17158028708422957 -10419,0.8359972621361325 -10420,0.49985598133224995 -10421,0.08600182875717055 -10422,0.05761424042648977 -10423,0.04747950286372882 -10424,0.738769085627569 -10425,0.7262239394843923 -10426,0.9618263191433686 -10427,0.9397107332902512 -10428,0.6430193378063969 -10429,0.6714609461971198 -10430,0.45860155471910136 -10431,0.4150681821556357 -10432,0.6179265910307423 -10433,0.8696263156262943 -10434,0.33963121002237784 -10435,0.21535715476281847 -10436,0.27657349145666144 -10437,0.9235623552138089 -10438,0.9949150590248602 -10439,0.15329076329815705 -10440,0.12110513446643734 -10441,0.8702839713977782 -10442,0.8147934887406564 -10443,0.6308540766747751 -10444,0.18363555608606552 -10445,0.4202676790769557 -10446,0.5292230803229135 -10447,0.8851348414747275 -10448,0.4387445943270498 -10449,0.5111909784028885 -10450,0.5669162511639133 -10451,0.3595569516308029 -10452,0.0371267120770683 -10453,0.9875185960134221 -10454,0.5259648294185328 -10455,0.4225571143897655 -10456,0.04093263429578953 -10457,0.8404633548874408 -10458,0.3584334731406935 -10459,0.21952406229329458 -10460,0.0440674880257681 -10461,0.2662970757121066 -10462,0.49572623020655726 -10463,0.6278760857273373 -10464,0.5242806372411686 -10465,0.41484387259805744 -10466,0.04337420923968094 -10467,0.8042524548700695 -10468,0.663328406859914 -10469,0.6367932100816506 -10470,0.758891124650223 -10471,0.5824203130311417 -10472,0.21810954116939196 -10473,0.6773779728610506 -10474,0.689501816589228 -10475,0.9869275165984744 -10476,0.2474878414581031 -10477,0.5173896144163196 -10478,0.03856706433343848 -10479,0.8984968789829646 -10480,0.9018039433617184 -10481,0.8387812362666798 -10482,0.6543037488683221 -10483,0.8270324630471015 -10484,0.24874044725995215 -10485,0.09158647386170882 -10486,0.252370138310938 -10487,0.3278624088244 -10488,0.02152413562223543 -10489,0.7296547264494354 -10490,0.8644778833194317 -10491,0.39873160913903405 -10492,0.5594930085581519 -10493,0.7267800404258938 -10494,0.08944189649337486 -10495,0.44372500059275066 -10496,0.1560586049348287 -10497,0.3526004814784496 -10498,0.18315888963889138 -10499,0.9315085701376763 -10500,0.30851471714657386 -10501,0.1894548612311303 -10502,0.8721250125032624 -10503,0.12728158150938196 -10504,0.36566407286496605 -10505,0.7178137546847251 -10506,0.8150421262890337 -10507,0.26673561811287505 -10508,0.837939906006458 -10509,0.2456052501512811 -10510,0.0826334272417596 -10511,0.2701113717288911 -10512,0.612018405934397 -10513,0.7361664618045592 -10514,0.5225018087283612 -10515,0.34749529973781756 -10516,0.2774400515214982 -10517,0.06595088993474207 -10518,0.8293999155633639 -10519,0.17656684012771673 -10520,0.38792106313671426 -10521,0.39428319939277146 -10522,0.2299066850030198 -10523,0.5411274782967054 -10524,0.8446297338511718 -10525,0.2980761846092971 -10526,0.2710992440259802 -10527,0.8678929204732894 -10528,0.4720340999757443 -10529,0.20328647782652276 -10530,0.8250501770853905 -10531,0.5431251962987818 -10532,0.23338423106119421 -10533,0.6373274658300798 -10534,0.787320742235398 -10535,0.11097968084970988 -10536,0.8369683259968078 -10537,0.2643357470485206 -10538,0.11030184315046654 -10539,0.05985879135379979 -10540,0.45794997426735773 -10541,0.0008530633576662172 -10542,0.20618587572246783 -10543,0.9173039361206367 -10544,0.24770080632512503 -10545,0.5702375364879106 -10546,0.7193025920948587 -10547,0.5139980870182003 -10548,0.7173329793377543 -10549,0.7796550836561328 -10550,0.09073978936011595 -10551,0.5621497958133392 -10552,0.7973618755010771 -10553,0.9793396325804451 -10554,0.6729887812672217 -10555,0.29998087856950584 -10556,0.6767637943493459 -10557,0.5748753469582365 -10558,0.8493743683080495 -10559,0.6880174272047438 -10560,0.10107102862481332 -10561,0.8991746112717669 -10562,0.7180317271919329 -10563,0.46013879901183763 -10564,0.7671463491589524 -10565,0.5783913826700835 -10566,0.04194761333690311 -10567,0.7428174577095126 -10568,0.5594418692317371 -10569,0.0014142209123013672 -10570,0.9043744181865025 -10571,0.9630186709827194 -10572,0.5342083733838933 -10573,0.9958931337015225 -10574,0.08041808937947115 -10575,0.0627802185206251 -10576,0.07072419876550118 -10577,0.2280477088688414 -10578,0.7798587860344557 -10579,0.7533510187294851 -10580,0.6476150880531374 -10581,0.8861681258611804 -10582,0.5443428618107863 -10583,0.1286009062977832 -10584,0.7523416959871598 -10585,0.458201938011508 -10586,0.6504596868415792 -10587,0.4893034426264057 -10588,0.5514731201994549 -10589,0.014302927316616532 -10590,0.1347344336035461 -10591,0.520843537062849 -10592,0.9324652066948785 -10593,0.34147561702382545 -10594,0.015269758364228059 -10595,0.3322447549844164 -10596,0.45785178920203506 -10597,0.6737647729810877 -10598,0.6185186128244279 -10599,0.6609488002389127 -10600,0.6974935714845069 -10601,0.6875438201307505 -10602,0.11561059830494702 -10603,0.505778477102697 -10604,0.037086427543036704 -10605,0.6434094042463119 -10606,0.5195231536660843 -10607,0.05185492703004113 -10608,0.5702804650839096 -10609,0.7534386424559584 -10610,0.7898433635521249 -10611,0.19688892360687615 -10612,0.40056427071806167 -10613,0.2720398409128105 -10614,0.520235681359574 -10615,0.9817858944094761 -10616,0.9750740849580407 -10617,0.5857307267366151 -10618,0.754023702413147 -10619,0.8673466690169441 -10620,0.9222407697440198 -10621,0.07149164761419247 -10622,0.014802753179891437 -10623,0.8631264162126717 -10624,0.26264955147828406 -10625,0.34076254964285313 -10626,0.40150445210828967 -10627,0.4464375208608937 -10628,0.8817096951237913 -10629,0.2423867831513833 -10630,0.6915365981381644 -10631,0.6209167308753069 -10632,0.1878999845663274 -10633,0.904567575794107 -10634,0.6013141825829637 -10635,0.0034103675434165037 -10636,0.7350558836976294 -10637,0.43256879614606525 -10638,0.9460123135403862 -10639,0.41812901715238826 -10640,0.060034064269870124 -10641,0.5904669764935939 -10642,0.04318949250934079 -10643,0.6139398923142935 -10644,0.049284042544188944 -10645,0.7381188063598673 -10646,0.3232119717479365 -10647,0.6316045489322784 -10648,0.036533009405386285 -10649,0.15282479939241955 -10650,0.6218942823192241 -10651,0.8158568217682556 -10652,0.6001978275169169 -10653,0.9782700510150023 -10654,0.43800411872483014 -10655,0.9128042683331934 -10656,0.8194278538731921 -10657,0.797018970411651 -10658,0.5632693410229098 -10659,0.8320794448634709 -10660,0.3563783002345563 -10661,0.8993718350642502 -10662,0.17518319333909826 -10663,0.9658058578196813 -10664,0.49092460077550293 -10665,0.09029803674162007 -10666,0.19730163206969598 -10667,0.19190755801931403 -10668,0.6067281624853891 -10669,0.580501610976154 -10670,0.8465966923379398 -10671,0.4246607736182908 -10672,0.07330880750130797 -10673,0.7598886845552852 -10674,0.08810393215060308 -10675,0.15413153893250442 -10676,0.6857676692296546 -10677,0.12344422353309537 -10678,0.8802089766977984 -10679,0.7743154430760748 -10680,0.7835145014950078 -10681,0.9237000349174054 -10682,0.16288083581005441 -10683,0.8887444342862179 -10684,0.05228186430624493 -10685,0.3535794222558495 -10686,0.3391757362824852 -10687,0.4505291311785994 -10688,0.6774217098124066 -10689,0.5554821796296658 -10690,0.5533838232780406 -10691,0.4390977621923865 -10692,0.2222942348369813 -10693,0.18973033800604133 -10694,0.8725365481193159 -10695,0.3635739805187491 -10696,0.8174302083220075 -10697,0.01048621974089936 -10698,0.8211792311964233 -10699,0.9788440615896664 -10700,0.683894244328644 -10701,0.5295927064510022 -10702,0.271086916099635 -10703,0.24307241665579515 -10704,0.9511302568132423 -10705,0.050423035804329275 -10706,0.33408464740398036 -10707,0.7585380927300324 -10708,0.2538240285672341 -10709,0.3752829689591468 -10710,0.17328021413516892 -10711,0.5200146667062363 -10712,0.12734942621149214 -10713,0.044836323609552586 -10714,0.5780049403570675 -10715,0.28470589669545276 -10716,0.671593627999517 -10717,0.1221126384016673 -10718,0.6357934501390903 -10719,0.7462649840029072 -10720,0.6569417474319347 -10721,0.5191476701123825 -10722,0.40293187050485224 -10723,0.12242492891244938 -10724,0.3408894399900262 -10725,0.1132673597393391 -10726,0.7158140767274058 -10727,0.20064418160446917 -10728,0.27326247270330295 -10729,0.024574402009369334 -10730,0.24055949817759026 -10731,0.8449194418729051 -10732,0.24315275239901246 -10733,0.04730909762741142 -10734,0.4444362125440655 -10735,0.37993457576140566 -10736,0.17615332431310882 -10737,0.9077129062754019 -10738,0.926710247992669 -10739,0.546023194094684 -10740,0.4413225994501989 -10741,0.06363384113194437 -10742,0.24159042351742643 -10743,0.8134674997292477 -10744,0.0034186054408653632 -10745,0.6713075935873206 -10746,0.9638245794703176 -10747,0.9396696126669228 -10748,0.42562530994565984 -10749,0.8147820621624908 -10750,0.17885416365871998 -10751,0.38751333643073604 -10752,0.7778953665029598 -10753,0.5018844340982574 -10754,0.7460589723264542 -10755,0.3250499850774763 -10756,0.49218891783005725 -10757,0.9431277652310384 -10758,0.8083395851288493 -10759,0.4860357502283471 -10760,0.7829171914249667 -10761,0.1551865271622651 -10762,0.33515729267218974 -10763,0.1943313126055095 -10764,0.8011849520209217 -10765,0.8118013040463377 -10766,0.7241946078394772 -10767,0.8593505994857771 -10768,0.5870021382623701 -10769,0.8151235535974277 -10770,0.8963193542400709 -10771,0.8880232859303222 -10772,0.49584253231821807 -10773,0.8763971523080999 -10774,0.9121484549053943 -10775,0.08655200274317876 -10776,0.7301432283007732 -10777,0.18786684849734592 -10778,0.7702958079528899 -10779,0.7237623656322848 -10780,0.7905317635571932 -10781,0.78633033460686 -10782,0.03476195445878849 -10783,0.816937763631946 -10784,0.5407415586095625 -10785,0.9545035095644647 -10786,0.12783091886424536 -10787,0.18274659983264074 -10788,0.18564469371610037 -10789,0.9984639961909315 -10790,0.5605846118077423 -10791,0.8621025865005334 -10792,0.23575063798231055 -10793,0.07597394553866788 -10794,0.002041285911980828 -10795,0.09503567827806281 -10796,0.7248794078198455 -10797,0.7474000544375382 -10798,0.6603425436089119 -10799,0.8978016797738655 -10800,0.47649135969044387 -10801,0.4017409993501636 -10802,0.13521866262683468 -10803,0.4963599164245712 -10804,0.27896343495764375 -10805,0.6117918055495201 -10806,0.39624954871989315 -10807,0.713224581506949 -10808,0.0419749638111766 -10809,0.4359068595871739 -10810,0.8651517333406608 -10811,0.8643456774162767 -10812,0.6776523887337187 -10813,0.5679393415998065 -10814,0.6544839982979881 -10815,0.6005442377851022 -10816,0.34679333869496043 -10817,0.44659949040810987 -10818,0.3164436011501134 -10819,0.949954756225962 -10820,0.07949336936930373 -10821,0.8846671105515763 -10822,0.9348912702241494 -10823,0.32885885348492927 -10824,0.6388286813695311 -10825,0.882298675627628 -10826,0.005465763603937801 -10827,0.26373994222954456 -10828,0.46737766029613426 -10829,0.40109347218132985 -10830,0.6809733361167071 -10831,0.7573988036723053 -10832,0.005198905085959882 -10833,0.48049901224998515 -10834,0.5302028573631246 -10835,0.8775491388102882 -10836,0.4871290506996223 -10837,0.2177522389751788 -10838,0.8537705905606155 -10839,0.5167961971901507 -10840,0.4081103379833054 -10841,0.9772425127972549 -10842,0.6616304436125096 -10843,0.6644492388035428 -10844,0.3934311519316591 -10845,0.785300008692986 -10846,0.8137432670086717 -10847,0.7074743860903396 -10848,0.8022969302031667 -10849,0.77002476568621 -10850,0.9089953015235035 -10851,0.18671431584128717 -10852,0.388747659139994 -10853,0.5463431159519683 -10854,0.42292101145071004 -10855,0.9894302420066766 -10856,0.7459578738220085 -10857,0.14136711888626297 -10858,0.4356449710108239 -10859,0.14825693415557828 -10860,0.6370582633245767 -10861,0.4125976192359837 -10862,0.05193202831716415 -10863,0.8349405009033768 -10864,0.7847775021127943 -10865,0.35725898879625473 -10866,0.402203601351553 -10867,0.30370069333820904 -10868,0.7364155244991272 -10869,0.21719165592558243 -10870,0.4941455768052673 -10871,0.24256799723587252 -10872,0.04117662233120323 -10873,0.7533336861465617 -10874,0.3885445899255816 -10875,0.9203259107089663 -10876,0.9312836328506341 -10877,0.8934664343665853 -10878,0.2337733610643159 -10879,0.45327228055954516 -10880,0.9721128320113416 -10881,0.592955649235599 -10882,0.7596378924728858 -10883,0.9912415255305865 -10884,0.9482558286014667 -10885,0.13677894098061916 -10886,0.6148291571550806 -10887,0.8837104827847903 -10888,0.0425681198977661 -10889,0.5407730484347666 -10890,0.564490865369082 -10891,0.4787770296178784 -10892,0.08696732937602547 -10893,0.5010647274177457 -10894,0.28429020718856957 -10895,0.6253401458087547 -10896,0.07177175411492676 -10897,0.34723876450447266 -10898,0.30177546405159583 -10899,0.029964224249494853 -10900,0.4388251773265933 -10901,0.2482253949580424 -10902,0.3613915527107613 -10903,0.9904604592358206 -10904,0.47285925204790724 -10905,0.7843002416172391 -10906,0.16623490458294987 -10907,0.5875039042361663 -10908,0.7058124766850329 -10909,0.5266135846423438 -10910,0.02995484003641713 -10911,0.11656699322480235 -10912,0.46967920475963487 -10913,0.7814973430064203 -10914,0.5639677502393817 -10915,0.5355762543250466 -10916,0.7884295363240938 -10917,0.4786164007900743 -10918,0.7141285064319297 -10919,0.7539906412509503 -10920,0.4773066283983798 -10921,0.08877775139155297 -10922,0.7193333611033632 -10923,0.3417689012076409 -10924,0.37041886272434454 -10925,0.39052134595827226 -10926,0.5981299576883735 -10927,0.12899928032645702 -10928,0.9920741833534592 -10929,0.766053435168759 -10930,0.42389520488927146 -10931,0.20719970020090395 -10932,0.28559825523821836 -10933,0.4276596570123876 -10934,0.7569904041948908 -10935,0.8946084726308531 -10936,0.08964140584139113 -10937,0.5013164117700245 -10938,0.3478450775668951 -10939,0.34977555110790204 -10940,0.04932167373410701 -10941,0.81905561719415 -10942,0.14303971721487974 -10943,0.9279537382443858 -10944,0.3901735504993086 -10945,0.6911091854103794 -10946,0.8417719797972468 -10947,0.7997835398579203 -10948,0.3403017648669331 -10949,0.8817381611766375 -10950,0.3341116609374226 -10951,0.8205467546159946 -10952,0.07927217461427716 -10953,0.9580091572076324 -10954,0.9917086467517873 -10955,0.2671325369759956 -10956,0.8243948591044037 -10957,0.9947001207845408 -10958,0.9096381592123287 -10959,0.19274048491905904 -10960,0.6813395231781305 -10961,0.7614967040618731 -10962,0.22585682993535194 -10963,0.5078402072079273 -10964,0.5273662751869602 -10965,0.447901776568293 -10966,0.06823119377544495 -10967,0.8790435467587289 -10968,0.6080568079562388 -10969,0.46534802927403296 -10970,0.3711545034615651 -10971,0.4015346715794019 -10972,0.5972701876870032 -10973,0.20975911904186173 -10974,0.37996575832690715 -10975,0.6560057240295195 -10976,0.09593585670697247 -10977,0.30506549161120455 -10978,0.7377225212257923 -10979,0.560178885254206 -10980,0.9618406940553297 -10981,0.015532641221099652 -10982,0.9537765632650994 -10983,0.3660574860320055 -10984,0.801508575112418 -10985,0.06844337488666474 -10986,0.9244770802795655 -10987,0.7521133156704132 -10988,0.9379191143925738 -10989,0.9704087967787552 -10990,0.19496214636330889 -10991,0.5830892252439097 -10992,0.5444797434260293 -10993,0.6791399195355036 -10994,0.9628811406737184 -10995,0.9610259929861534 -10996,0.6950822100905176 -10997,0.3937602351913415 -10998,0.7874417984820729 -10999,0.14768380904526413 -11000,0.043596379871100766 -11001,0.48146473120673994 -11002,0.6613632389605224 -11003,0.725956848005393 -11004,0.5501493479227865 -11005,0.1137151781639767 -11006,0.6151031044817372 -11007,0.4252492015197319 -11008,0.6965260873582076 -11009,0.6653151873990295 -11010,0.3425304092370083 -11011,0.0350140385445471 -11012,0.7923679075499994 -11013,0.9479009452378416 -11014,0.29856237972240174 -11015,0.820415947831052 -11016,0.756888982157299 -11017,0.8049531426858486 -11018,0.5283478804342909 -11019,0.8388470146155608 -11020,0.1788826358475003 -11021,0.5442446068400193 -11022,0.7312759447999511 -11023,0.28035342742805147 -11024,0.6147630354069422 -11025,0.025396478954385016 -11026,0.11164615923893406 -11027,0.9692397166743965 -11028,0.6706579031294101 -11029,0.24542093636703222 -11030,0.1953907068543207 -11031,0.8122653126389285 -11032,0.18821685223967755 -11033,0.7613948131584366 -11034,0.0455042584641544 -11035,0.8177029156646952 -11036,0.06206650624390819 -11037,0.07678963143861017 -11038,0.11580978486286952 -11039,0.6748194940587067 -11040,0.5312264878145685 -11041,0.1801915147735259 -11042,0.6989619787748104 -11043,0.04828787347598973 -11044,0.2703298249610563 -11045,0.24894023800489307 -11046,0.5868959048474917 -11047,0.8344984078375567 -11048,0.2387355922547264 -11049,0.20637885580515103 -11050,0.5899851587631622 -11051,0.8507372469087118 -11052,0.8780246712583416 -11053,0.3550154443017446 -11054,0.27226697228031105 -11055,0.8389385501145927 -11056,0.5142530501574141 -11057,0.4881311856452212 -11058,0.4728339497158218 -11059,0.08052202867335323 -11060,0.34744644350386844 -11061,0.4314361996886167 -11062,0.03175715607921914 -11063,0.48279690654747065 -11064,0.45979271012864975 -11065,0.025974780270268782 -11066,0.9687563116419191 -11067,0.6036320741395339 -11068,0.9295568317806172 -11069,0.1391562518543915 -11070,0.32797544467795425 -11071,0.9315680292936201 -11072,0.9327037133509448 -11073,0.5652957919576825 -11074,0.7078092055184385 -11075,0.07601805968878006 -11076,0.37109591474143533 -11077,0.3025572297197381 -11078,0.923793819343651 -11079,0.41884744295324805 -11080,0.4740050536076661 -11081,0.03878096110600193 -11082,0.5345802040071085 -11083,0.23219623911156684 -11084,0.13859472405782913 -11085,0.02120256681911903 -11086,0.8271638199062421 -11087,0.33971316497685455 -11088,0.8274774147798847 -11089,0.31714255341698083 -11090,0.9811431238083177 -11091,0.6780672648840947 -11092,0.49975500335912815 -11093,0.5242200329714435 -11094,0.08127597286820254 -11095,0.7507004812613057 -11096,0.2249777765511155 -11097,0.04475137612842395 -11098,0.6428650681193254 -11099,0.10183905250148395 -11100,0.3967320966307105 -11101,0.3206562827168066 -11102,0.632660983015194 -11103,0.27805458373803305 -11104,0.36201178827476865 -11105,0.9540884010951195 -11106,0.7331697652973868 -11107,0.5163682340218811 -11108,0.12341793776268539 -11109,0.006595842727237344 -11110,0.9686451806210364 -11111,0.30007377125566737 -11112,0.35606912232238763 -11113,0.7843689578474149 -11114,0.37904300101959176 -11115,0.7185537753872451 -11116,0.17157973102524016 -11117,0.6037883103290858 -11118,0.38064618239777237 -11119,0.3111973313322668 -11120,0.5359125020094304 -11121,0.32537864236414393 -11122,0.03842116626965397 -11123,0.8392620921638382 -11124,0.5656554917257963 -11125,0.010731905224866667 -11126,0.742742941624425 -11127,0.8319929407340401 -11128,0.3849949277653122 -11129,0.6806856778265942 -11130,0.18981673437957747 -11131,0.6961961771167885 -11132,0.41589954706731 -11133,0.7878336543645595 -11134,0.768629148641804 -11135,0.8696656149185099 -11136,0.08416930133486156 -11137,0.6165550405504374 -11138,0.7017852785245167 -11139,0.5520872652855097 -11140,0.31272896579220544 -11141,0.5326508593006509 -11142,0.6923722361759687 -11143,0.4565127995041657 -11144,0.2700525522094266 -11145,0.29635746840933563 -11146,0.03793942686614815 -11147,0.6849984330809661 -11148,0.12596691749818278 -11149,0.9475714063681306 -11150,0.31106760655948773 -11151,0.10511044441787143 -11152,0.26862850856988074 -11153,0.05465176213581602 -11154,0.03085805456402979 -11155,0.05911851168273785 -11156,0.38922306565557896 -11157,0.5048739144229786 -11158,0.8312289925625514 -11159,0.2385639738389599 -11160,0.21403876155128976 -11161,0.6393760575915741 -11162,0.134999457935586 -11163,0.12848618787513044 -11164,0.5503183574568721 -11165,0.10448987034302193 -11166,0.0571049164619174 -11167,0.4354104398653985 -11168,0.045762730632139204 -11169,0.5304058088366693 -11170,0.22755478181277533 -11171,0.5998041505122698 -11172,0.6732913621064434 -11173,0.4672178543966775 -11174,0.15005442896186438 -11175,0.014514755005404556 -11176,0.6742940184856651 -11177,0.4524679584485355 -11178,0.11808399564786387 -11179,0.1157480809174759 -11180,0.7274743987323605 -11181,0.8954874935031326 -11182,0.43237277226976123 -11183,0.007537939654867265 -11184,0.8349798176835208 -11185,0.029277814233483523 -11186,0.43856551122453835 -11187,0.9097540267609076 -11188,0.3747489682414348 -11189,0.5050189125079689 -11190,0.1517633423917254 -11191,0.6264920778751091 -11192,0.4818815998981496 -11193,0.16353023982763515 -11194,0.0667241839926872 -11195,0.25379953512325937 -11196,0.869832959705436 -11197,0.507585490533927 -11198,0.44303378053227194 -11199,0.8269961498614252 -11200,0.5303099480770909 -11201,0.6553712593267774 -11202,0.31664203473113217 -11203,0.6388162950997401 -11204,0.4536093792293563 -11205,0.7494682968029436 -11206,0.017805754274333285 -11207,0.7325575885686825 -11208,0.7473635186471571 -11209,0.8393344679493636 -11210,0.08618564119244154 -11211,0.0944604707321467 -11212,0.9696111580941695 -11213,0.13253053390568947 -11214,0.5496703813331538 -11215,0.14747325694791102 -11216,0.5327612612531643 -11217,0.19457847498277203 -11218,0.35632056114098054 -11219,0.7952984631104314 -11220,0.22414061497803006 -11221,0.36595300014218357 -11222,0.09878625225869198 -11223,0.44063830946923244 -11224,0.07415089672522268 -11225,0.10193785014117518 -11226,0.41290480367925886 -11227,0.8401113525168858 -11228,0.14957535606193284 -11229,0.649349954550791 -11230,0.5913968162298469 -11231,0.05845829906699074 -11232,0.11711039554123936 -11233,0.9527695312331346 -11234,0.36390536509046123 -11235,0.589334342707841 -11236,0.31713387537164417 -11237,0.09684513659500726 -11238,0.4322086460628829 -11239,0.7087634535235208 -11240,0.9440226435133771 -11241,0.24567635355354822 -11242,0.6164719972371897 -11243,0.7103284730841574 -11244,0.7226020062989841 -11245,0.8981707927736405 -11246,0.2719444253021899 -11247,0.46413472838882364 -11248,0.15722633985239842 -11249,0.4806207032703399 -11250,0.3482516026125889 -11251,0.2259689006957203 -11252,0.4961501269324422 -11253,0.6568763109473406 -11254,0.7232375856355641 -11255,0.5877405454600722 -11256,0.4972465731579536 -11257,0.14810569451702627 -11258,0.8771542711610234 -11259,0.5692164833048775 -11260,0.7615922565196821 -11261,0.8990050833090995 -11262,0.2706134667594674 -11263,0.12274272525267405 -11264,0.7502348350297734 -11265,0.13846963114485333 -11266,0.39345207813932837 -11267,0.7645510497481474 -11268,0.9040365882646852 -11269,0.840030589816068 -11270,0.7703720774993746 -11271,0.9112458859106182 -11272,0.3181909573371653 -11273,0.7807588221763626 -11274,0.6859820947464551 -11275,0.8399090956312464 -11276,0.7411253575125168 -11277,0.922387147737017 -11278,0.366182929815723 -11279,0.1594790789197641 -11280,0.28422710015013575 -11281,0.6745138106254842 -11282,0.8744416493878833 -11283,0.5482135731697859 -11284,0.7748264370887642 -11285,0.4516921056731733 -11286,0.8494413079912755 -11287,0.36253926770195477 -11288,0.2224943715338753 -11289,0.6491517846488448 -11290,0.43517658633716794 -11291,0.045899903076279336 -11292,0.1116708332867028 -11293,0.20784658895335828 -11294,0.43636693579124153 -11295,0.8913532444941699 -11296,0.02389364247955894 -11297,0.7418170013043706 -11298,0.41430053101274267 -11299,0.44688175932732144 -11300,0.11284416548361553 -11301,0.8513981320004304 -11302,0.34678028389480664 -11303,0.500802243662708 -11304,0.21233375638498075 -11305,0.3274627806086291 -11306,0.16556901978532768 -11307,0.014693714307480454 -11308,0.6342112016562759 -11309,0.5880117599606408 -11310,0.9845654774799967 -11311,0.005116020336197735 -11312,0.9395480587565908 -11313,0.028858862812803143 -11314,0.28166678994654626 -11315,0.8728835109174492 -11316,0.3504909359652626 -11317,0.9152732502554058 -11318,0.4870630839670531 -11319,0.6583252028531313 -11320,0.8905604160447492 -11321,0.9179458914372229 -11322,0.5401434957243234 -11323,0.03430312646622946 -11324,0.5856689611326359 -11325,0.1084492753968953 -11326,0.6182785987581912 -11327,0.7240372421337238 -11328,0.2004801534874524 -11329,0.8758564747252515 -11330,0.499884880224869 -11331,0.818126858798815 -11332,0.3075934359646837 -11333,0.5892576024780098 -11334,0.01024519911605215 -11335,0.9046749610637381 -11336,0.6981412088929405 -11337,0.5111458178919255 -11338,0.4023615035633028 -11339,0.5069279257773143 -11340,0.5649041845749918 -11341,0.2379517453226756 -11342,0.09086618175671957 -11343,0.6392602681774753 -11344,0.5845212875144592 -11345,0.8538742524239317 -11346,0.9204309889524772 -11347,0.0026555681906897943 -11348,0.9682949550819429 -11349,0.13162683529621433 -11350,0.3308082418012761 -11351,0.7755417629044998 -11352,0.6129166248717685 -11353,0.8729471633679237 -11354,0.72119228143655 -11355,0.3261643571375026 -11356,0.9476010264990127 -11357,0.8681464887307556 -11358,0.24196409323006718 -11359,0.09173539234548345 -11360,0.8878941647870179 -11361,0.8711741171502835 -11362,0.48734022834752255 -11363,0.4343018081043184 -11364,0.8888180451668829 -11365,0.5558672501638035 -11366,0.34655335317241587 -11367,0.35248691938490617 -11368,0.17401891285640214 -11369,0.5898799852936013 -11370,0.028561863280719635 -11371,0.3886452463833463 -11372,0.04520033154597625 -11373,0.5247209863758753 -11374,0.18374212645925647 -11375,0.14546980915513918 -11376,0.5033799090193077 -11377,0.27264501480315273 -11378,0.2650431911488329 -11379,0.8674192501749838 -11380,0.0676512909111966 -11381,0.15813082328631878 -11382,0.6816131807285073 -11383,0.31351546648989626 -11384,0.8709939432493785 -11385,0.11405111266407009 -11386,0.5484358813404782 -11387,0.9995043762604762 -11388,0.5640663480687946 -11389,0.5204891109013747 -11390,0.0879357141861199 -11391,0.6903269347387108 -11392,0.5369838223820819 -11393,0.39040608205080873 -11394,0.6646366489648513 -11395,0.17152988115734424 -11396,0.4825127332080452 -11397,0.02952115371028896 -11398,0.8856087644294932 -11399,0.17145635673972637 -11400,0.9545963645733525 -11401,0.9448705811403801 -11402,0.5981225062767297 -11403,0.1440578090881045 -11404,0.8925232108918025 -11405,0.5340227656315333 -11406,0.7866324876378842 -11407,0.47877775062973493 -11408,0.3695187403846699 -11409,0.5728485300174762 -11410,0.018826098348096232 -11411,0.1512618975469603 -11412,0.03896465533922622 -11413,0.9335655727029417 -11414,0.9848938995566664 -11415,0.632479649243697 -11416,0.800242344068801 -11417,0.1976067687960804 -11418,0.17759660165504598 -11419,0.0725847471145884 -11420,0.6079950788599012 -11421,0.0679973185111935 -11422,0.853374445639532 -11423,0.24557761685319723 -11424,0.4847935398255432 -11425,0.7482059716764343 -11426,0.0796148034662344 -11427,0.648123725387086 -11428,0.5495781099052274 -11429,0.9738153913875286 -11430,0.09478677539145275 -11431,0.16277344730037735 -11432,0.23494969342410865 -11433,0.8715192052594877 -11434,0.9785707916839175 -11435,0.8778967448618819 -11436,0.3134686972749757 -11437,0.02758057193559893 -11438,0.17201256193732828 -11439,0.8689536704178704 -11440,0.37373797944707754 -11441,0.06246743679985467 -11442,0.32417736915141326 -11443,0.2819537743377626 -11444,0.7084844449772394 -11445,0.6196927194614494 -11446,0.19780394176958482 -11447,0.2445761931424092 -11448,0.29628551384966906 -11449,0.5702663386494047 -11450,0.2573721289452654 -11451,0.8917943808646431 -11452,0.7187418759628994 -11453,0.4742873407947301 -11454,0.39184616736502154 -11455,0.5748141394254791 -11456,0.2416958819582935 -11457,0.5021788852181488 -11458,0.6725954060068761 -11459,0.8163719462072571 -11460,0.49281545435312324 -11461,0.48585971501060343 -11462,0.43516177479546414 -11463,0.7329137380596775 -11464,0.0881270749045513 -11465,0.5585589532273936 -11466,0.544376600646497 -11467,0.307146526956511 -11468,0.17147638199252158 -11469,0.45861668286423174 -11470,0.15443762407239126 -11471,0.36898533718357696 -11472,0.15039644464102375 -11473,0.21000375091919954 -11474,0.5703624294715761 -11475,0.07069049359285218 -11476,0.41718975260222846 -11477,0.8705420980563081 -11478,0.6607503447565446 -11479,0.6755807763205934 -11480,0.08413094525126652 -11481,0.7144679164168423 -11482,0.11119857205874562 -11483,0.27506397914760883 -11484,0.34277209286825894 -11485,0.05110328320346336 -11486,0.5266156807835922 -11487,0.06735779236425055 -11488,0.742105704729603 -11489,0.7383379710797378 -11490,0.7892373595902091 -11491,0.39287763994926905 -11492,0.5050540074649077 -11493,0.8889077559172598 -11494,0.7692672368137782 -11495,0.09940984171261702 -11496,0.6208829903547868 -11497,0.36424804165737923 -11498,0.14123590294308364 -11499,0.8465987389894234 -11500,0.676045221496146 -11501,0.7202978994131396 -11502,0.2246481329279011 -11503,0.04499119280810615 -11504,0.29705950814254845 -11505,0.5856042604655788 -11506,0.8183552240501073 -11507,0.1101527398532074 -11508,0.271086332136245 -11509,0.27639902209228884 -11510,0.2851980969054253 -11511,0.8401257063045499 -11512,0.8238065995153063 -11513,0.22454185640042146 -11514,0.872390692621319 -11515,0.918370873815974 -11516,0.16688277655380535 -11517,0.5007520523718582 -11518,0.5876260960093255 -11519,0.9414620947043248 -11520,0.9456506070809685 -11521,0.3568908671128256 -11522,0.6388942734607755 -11523,0.8213913837600587 -11524,0.4954413903594349 -11525,0.6340629347401467 -11526,0.21121473424400872 -11527,0.5191114208061691 -11528,0.43210944089438197 -11529,0.5083496585241212 -11530,0.9693097355924238 -11531,0.9729376978557488 -11532,0.6588043661681607 -11533,0.43563733614523314 -11534,0.2874054849802087 -11535,0.6028062935110994 -11536,0.4789707284157677 -11537,0.3443306901483737 -11538,0.27637093751328534 -11539,0.8815280951680916 -11540,0.9711998956013332 -11541,0.8865506299660301 -11542,0.11598986630186436 -11543,0.4743113929759195 -11544,0.38623029821074484 -11545,0.013594322056110553 -11546,0.9062364830418463 -11547,0.96433909335724 -11548,0.9097906878261007 -11549,0.004366397077074757 -11550,0.8015170872226552 -11551,0.762490216220595 -11552,0.5043026092900156 -11553,0.5463003973609616 -11554,0.39206264254078094 -11555,0.058620773021303196 -11556,0.24735423469238726 -11557,0.16796350493265189 -11558,0.7454948561995272 -11559,0.6756399792509012 -11560,0.0014601995378878962 -11561,0.06832017270211832 -11562,0.5533481329621436 -11563,0.31571319359069183 -11564,0.7811244615132277 -11565,0.5711333450870858 -11566,0.890928120111621 -11567,0.7288329699420025 -11568,0.403047000597756 -11569,0.5847049923537992 -11570,0.07718337679814202 -11571,0.8542767014193491 -11572,0.6005993010584023 -11573,0.8836760309163875 -11574,0.989016896322101 -11575,0.8169323048961207 -11576,0.03637744451138614 -11577,0.8435641507161774 -11578,0.6480806170506286 -11579,0.860992242370205 -11580,0.9356089808488356 -11581,0.8756154702582479 -11582,0.990099699564457 -11583,0.3258302751598391 -11584,0.20463860500695663 -11585,0.558140920314158 -11586,0.2237297671572872 -11587,0.8868868838930989 -11588,0.6131048276713086 -11589,0.5534477726703653 -11590,0.3020750359913884 -11591,0.9509002775388171 -11592,0.9305776603639971 -11593,0.21407483666889093 -11594,0.19372771450566606 -11595,0.583783919986393 -11596,0.3431479010641504 -11597,0.16422654305591866 -11598,0.7351163926727251 -11599,0.9440770993821618 -11600,0.15409996065420983 -11601,0.5832030203874276 -11602,0.34474383576634693 -11603,0.42479980017975194 -11604,0.10963325327896623 -11605,0.28999947730691167 -11606,0.8856752157610581 -11607,0.8600006696533583 -11608,0.4896691383461672 -11609,0.11007571090132473 -11610,0.5894185586866232 -11611,0.6502978813992971 -11612,0.9850865147976938 -11613,0.27560357643023037 -11614,0.10622995273588176 -11615,0.17262341150974814 -11616,0.329618814737206 -11617,0.044970586630375675 -11618,0.9227016825360682 -11619,0.1823200922083701 -11620,0.7424474487381064 -11621,0.06520058936802187 -11622,0.9198598589753876 -11623,0.6635828492111712 -11624,0.5159191453810548 -11625,0.9058968105341877 -11626,0.03411955389302046 -11627,0.8278329813897539 -11628,0.7519889074780617 -11629,0.2632025504730574 -11630,0.9665999290712427 -11631,0.06357500513062875 -11632,0.8397937512185991 -11633,0.393402206287254 -11634,0.7870863085932025 -11635,0.03301554119004113 -11636,0.9418870983832762 -11637,0.7412120209569135 -11638,0.1724344768613303 -11639,0.5123163532998005 -11640,0.9565868666375162 -11641,0.19371895526264993 -11642,0.9528050334190721 -11643,0.13949249506954386 -11644,0.4675712092325839 -11645,0.718989678554696 -11646,0.15612688575543587 -11647,0.3536207539961681 -11648,0.4739283158339972 -11649,0.9678421671509972 -11650,0.3788783243895014 -11651,0.5019239413993973 -11652,0.1015192312969555 -11653,0.9592754585999981 -11654,0.40999929114466893 -11655,0.5952433982986352 -11656,0.09535079025321191 -11657,0.5439761885957057 -11658,0.8845638735495648 -11659,0.35894137818411387 -11660,0.47298591189580097 -11661,0.30873925906998234 -11662,0.8002914901191074 -11663,0.08331186760614562 -11664,0.675898931502512 -11665,0.4425024761266072 -11666,0.5719843761288766 -11667,0.7467263156585584 -11668,0.1463604881375422 -11669,0.5911531425815887 -11670,0.3249848697401091 -11671,0.1811444986090336 -11672,0.30809021875033704 -11673,0.6692409825740457 -11674,0.8267750952671441 -11675,0.6606661277604398 -11676,0.871660524535093 -11677,0.1839211309522808 -11678,0.6663337261237334 -11679,0.8899487366361682 -11680,0.21242426956691762 -11681,5.5577282463747935e-05 -11682,0.0219902292267653 -11683,0.914469169716854 -11684,0.7655896126878138 -11685,0.5291848635834093 -11686,0.13293946600072204 -11687,0.21355074061799917 -11688,0.5681174600930469 -11689,0.9489631181281526 -11690,0.8397831968795775 -11691,0.7476669249644206 -11692,0.42237740818091485 -11693,0.22939588189851978 -11694,0.5304954241662536 -11695,0.029415242898223504 -11696,0.25345442700006926 -11697,0.4383011924077266 -11698,0.2253715100717828 -11699,0.42212892140786507 -11700,0.22877537784051738 -11701,0.2619828707944777 -11702,0.5776598978188158 -11703,0.06397484065116954 -11704,0.7197071436263127 -11705,0.5891252457899684 -11706,0.8920174033169788 -11707,0.5926669163993932 -11708,0.8557815236525996 -11709,0.22645978333553363 -11710,0.6265976706634601 -11711,0.29166498747581227 -11712,0.20523544702562702 -11713,0.20666494686273096 -11714,0.25301311210876787 -11715,0.6912812133970632 -11716,0.3091399466143476 -11717,0.7518669235952352 -11718,0.26852221313273805 -11719,0.1833390079786802 -11720,0.3075509850371433 -11721,0.7723788773267813 -11722,0.4081867053458347 -11723,0.47822708649310997 -11724,0.08267058515421177 -11725,0.9563903611998207 -11726,0.6165862960410025 -11727,0.17520659713295694 -11728,0.7420155547807448 -11729,0.9148847830400387 -11730,0.7413063287644064 -11731,0.6937392198816478 -11732,0.01968105437052159 -11733,0.12750371716233455 -11734,0.06034645205530076 -11735,0.08991526574546727 -11736,0.8892119900881975 -11737,0.3771675103631813 -11738,0.018601241273083824 -11739,0.9702494870873628 -11740,0.7265136932464037 -11741,0.9702636637757244 -11742,0.6740822628713956 -11743,0.7779278440259715 -11744,0.9657192199662483 -11745,0.13143049723519318 -11746,0.23770111155404305 -11747,0.6198010631310417 -11748,0.6703199357789754 -11749,0.0974034387808046 -11750,0.280781705783258 -11751,0.6817448173151748 -11752,0.16592492007927884 -11753,0.22493159766714055 -11754,0.5401663351972338 -11755,0.769294796539492 -11756,0.4396033811777471 -11757,0.9976782035169274 -11758,0.249951741510255 -11759,0.770278676184309 -11760,0.7766678749358205 -11761,0.4063250109557479 -11762,0.8849741644126548 -11763,0.765642937624346 -11764,0.2181431029151547 -11765,0.48406216020439563 -11766,0.33425033118774716 -11767,0.24810385785465217 -11768,0.5779136286551967 -11769,0.06365606098326326 -11770,0.050750100239031815 -11771,0.2013084548997024 -11772,0.9812444406451338 -11773,0.1506756027589503 -11774,0.6168759002668737 -11775,0.8215786941393854 -11776,0.5286962536091943 -11777,0.7858991157814863 -11778,0.4918347980298744 -11779,0.18238618889228075 -11780,0.49442623543830644 -11781,0.8657960047589031 -11782,0.04918973425247497 -11783,0.023316347178001906 -11784,0.7285241322054284 -11785,0.7518976478695358 -11786,0.9146268826636527 -11787,0.13607187513741725 -11788,0.03777350943542401 -11789,0.9888671299639988 -11790,0.9369609093521971 -11791,0.5628814758353845 -11792,0.042031633389040035 -11793,0.7007914090983184 -11794,0.7425366082466125 -11795,0.43824199498985417 -11796,0.5076876047731116 -11797,0.7193800833747112 -11798,0.9145197694790861 -11799,0.9926264438756767 -11800,0.4359832738106968 -11801,0.35000878024243265 -11802,0.33078761256476286 -11803,0.46238683883306997 -11804,0.5308069667526092 -11805,0.4108200718992473 -11806,0.34684785089349257 -11807,0.3948096962494486 -11808,0.635310110303886 -11809,0.1502671119144956 -11810,0.6144071343188277 -11811,0.5744397711682554 -11812,0.5262372370481638 -11813,0.9720130294072472 -11814,0.8551436420799587 -11815,0.8033922212942506 -11816,0.7357303722483829 -11817,0.5031525267888374 -11818,0.0005312065732316906 -11819,0.5002334778255026 -11820,0.09841328608031086 -11821,0.23183828386061367 -11822,0.3153605223083966 -11823,0.3948670573238655 -11824,0.9494361026580543 -11825,0.4320788066744299 -11826,0.9118362006984356 -11827,0.8281377281768051 -11828,0.12277061136922263 -11829,0.7668646696102259 -11830,0.13914563931683666 -11831,0.6912195638101083 -11832,0.8190795435873154 -11833,0.9637164852807 -11834,0.5926844326656902 -11835,0.38467700486630485 -11836,0.9096482143205717 -11837,0.6023063522665114 -11838,0.49800752000607407 -11839,0.23340379238286668 -11840,0.5528213809138819 -11841,0.1328625111542744 -11842,0.6834796820073044 -11843,0.4186206823684848 -11844,0.5392474079754841 -11845,0.27358795371231204 -11846,0.7470214867234312 -11847,0.8700394043478672 -11848,0.27538702110296565 -11849,0.28670678512696335 -11850,0.5813430498672475 -11851,0.9270612428006683 -11852,0.9942575651835394 -11853,0.9454654043656933 -11854,0.18969249664801113 -11855,0.4765369098734009 -11856,0.518832904952869 -11857,0.9225685952187562 -11858,0.37568800517338485 -11859,0.4451432437300491 -11860,0.07204682284088348 -11861,0.3630297590821052 -11862,0.4637086172557783 -11863,0.49995656394834576 -11864,0.323259096756664 -11865,0.010080358617208685 -11866,0.39199857800237403 -11867,0.8454550232123693 -11868,0.6063653370608222 -11869,0.6250804797954034 -11870,0.24460511357873238 -11871,0.9434389724681563 -11872,0.9582106937484048 -11873,0.1904137670892686 -11874,0.7304209554150143 -11875,0.1966512207252733 -11876,0.9815234629005088 -11877,0.4940601498029712 -11878,0.4506707476461803 -11879,0.7998112815722656 -11880,0.9954041715865285 -11881,0.05248506737960368 -11882,0.9127707393673646 -11883,0.33929217574034354 -11884,0.8130397046238604 -11885,0.6750142941815086 -11886,0.8486697552982475 -11887,0.06747556123463727 -11888,0.03038614279670726 -11889,0.23159158096171661 -11890,0.5432109897181046 -11891,0.8951766846940897 -11892,0.5393700116042379 -11893,0.8461391913405762 -11894,0.35136561935203636 -11895,0.20343130328257575 -11896,0.2512247962817653 -11897,0.7318329791164173 -11898,0.3867211695231815 -11899,0.26059401406660443 -11900,0.8289916809394962 -11901,0.030329343024569355 -11902,0.1294468313772983 -11903,0.7271223308093582 -11904,0.049058296435173676 -11905,0.25493195541619273 -11906,0.9510316568429251 -11907,0.9310089726704082 -11908,0.12967194343114485 -11909,0.573816762108235 -11910,0.20179833233789446 -11911,0.6958377148425655 -11912,0.5181201625167013 -11913,0.3827730949794136 -11914,0.0869879740329611 -11915,0.5529326164150623 -11916,0.9746421210464851 -11917,0.9477569190487393 -11918,0.3701110944187256 -11919,0.18424258288574535 -11920,0.9613333804677381 -11921,0.433620626191086 -11922,0.926469674124373 -11923,0.9696057020884815 -11924,0.3442693224776564 -11925,0.01576346765291381 -11926,0.6838934330385225 -11927,0.47660406033468294 -11928,0.5721258351266896 -11929,0.23746873607161245 -11930,0.537040655884544 -11931,0.11253213683966845 -11932,0.44425873379712766 -11933,0.9464162717821263 -11934,0.7882359651595706 -11935,0.8585914712677271 -11936,0.5283841961770473 -11937,0.3645759658919966 -11938,0.35261292773313924 -11939,0.3743739081660077 -11940,0.016460353206118827 -11941,0.06727542333355963 -11942,0.6914913502076193 -11943,0.9430519477148707 -11944,0.10095615213808706 -11945,0.40633243419205745 -11946,0.014088990446471605 -11947,0.31367782300519953 -11948,0.6479396451492653 -11949,0.7119246544289862 -11950,0.36890674755216324 -11951,0.2762923904724015 -11952,0.6091747355777161 -11953,0.5778893675724859 -11954,0.9295662048675529 -11955,0.6096408275968598 -11956,0.6161429459418847 -11957,0.4790598050963666 -11958,0.8655518619476661 -11959,0.3348123021261393 -11960,0.5791073525933379 -11961,0.8012876193122767 -11962,0.632024697028712 -11963,0.4753904358272736 -11964,0.24624788401437625 -11965,0.7972625400125937 -11966,0.7573795622171835 -11967,0.9940573709139928 -11968,0.8256203400281261 -11969,0.46607704803906824 -11970,0.7760776528388181 -11971,0.591033985413226 -11972,0.9746860635610556 -11973,0.820995150431557 -11974,0.5460033627451036 -11975,0.3219363650217426 -11976,0.6594058088537138 -11977,0.45701696714770346 -11978,0.9165142114001679 -11979,0.7974948074983037 -11980,0.6935123998974478 -11981,0.17225632854464212 -11982,0.6109580901620115 -11983,0.07614674999857962 -11984,0.9342208640151147 -11985,0.8412237261669099 -11986,0.9649230711498524 -11987,0.32620202234566453 -11988,0.5931249508170635 -11989,0.28417051378192104 -11990,0.011267293180105997 -11991,0.3719339216240263 -11992,0.9932685758442074 -11993,0.2203994897544269 -11994,0.19191228929614512 -11995,0.8265401406710691 -11996,0.19583690985771474 -11997,0.22868105576466258 -11998,0.3496404361100687 -11999,0.12492037830519043 -12000,0.6463623732064494 -12001,0.487846892430989 -12002,0.7792083700930844 -12003,0.11085706306581544 -12004,0.6302704296221462 -12005,0.9876382451616325 -12006,0.5670816225007834 -12007,0.9494402652821099 -12008,0.536676272344734 -12009,0.4023582443484762 -12010,0.5196573445538779 -12011,0.06827988611817615 -12012,0.22120406141330806 -12013,0.9687237685925664 -12014,0.8868087671547371 -12015,0.04793763526143213 -12016,0.05419366302715345 -12017,0.7955258767940706 -12018,0.5763932438817232 -12019,0.1334558054103928 -12020,0.4014368461449813 -12021,0.6021291713677304 -12022,0.14564538070863298 -12023,0.9423905818460933 -12024,0.4993381969895663 -12025,0.7328841023228782 -12026,0.01155649458584429 -12027,0.004849849755009683 -12028,0.1619046042843887 -12029,0.9169603702307517 -12030,0.6825562225632368 -12031,0.7021759239487869 -12032,0.21675908568590152 -12033,0.24957604991931182 -12034,0.12104777662532062 -12035,0.06796553634258551 -12036,0.8301016197902984 -12037,0.561824870794521 -12038,0.8983142892429143 -12039,0.27867056367822307 -12040,0.7427714599090126 -12041,0.2844505096152886 -12042,0.10600388299036212 -12043,0.8789099929927425 -12044,0.43768203905396463 -12045,0.9415214779894128 -12046,0.7305850073243898 -12047,0.8386306202538484 -12048,0.4083193153457223 -12049,0.9161986937950269 -12050,0.00950265154809371 -12051,0.8576840861017951 -12052,0.7777209306192613 -12053,0.9220306182949148 -12054,0.6888906322150062 -12055,0.963618903065276 -12056,0.10275570833741232 -12057,0.6732156589848456 -12058,0.8945766781393601 -12059,0.9716442583790377 -12060,0.789275383519255 -12061,0.6928861109588477 -12062,0.15456785783479998 -12063,0.12948642825931644 -12064,0.4237882265980467 -12065,0.6204501880911683 -12066,0.3458343582334137 -12067,0.6982531554786847 -12068,0.23184719308745105 -12069,0.4367508883986727 -12070,0.48707681268559555 -12071,0.29313268929541614 -12072,0.20482910773082275 -12073,0.7937014671674236 -12074,0.013926895950133078 -12075,0.555025667977278 -12076,0.6219300758002436 -12077,0.43045079789705387 -12078,0.4223566194662073 -12079,0.6707466451698819 -12080,0.9386927756556778 -12081,0.332372941747183 -12082,0.34956282167980135 -12083,0.9134656412094149 -12084,0.8770859436060978 -12085,0.6942940300082817 -12086,0.01179030316739993 -12087,0.3264336308783049 -12088,0.7023971668757574 -12089,0.43378112915922973 -12090,0.14944372845558707 -12091,0.23601742195297715 -12092,0.6339671742019235 -12093,0.2070826013525372 -12094,0.25677743727783076 -12095,0.9858482668949955 -12096,0.4553299537470733 -12097,0.2912819684509389 -12098,0.19748575705116822 -12099,0.27617831370185 -12100,0.4868282659179133 -12101,0.06478153925259833 -12102,0.33067076613783275 -12103,0.12453624402990648 -12104,0.0032833081060605895 -12105,0.1051833454915313 -12106,0.35811080524361927 -12107,0.9779495365604431 -12108,0.8172584918377039 -12109,0.0024358522433705065 -12110,0.942245428276695 -12111,0.15120402061935534 -12112,0.4929454954545832 -12113,0.6273528418570591 -12114,0.31968673306643236 -12115,0.4144767142357275 -12116,0.5831433257275825 -12117,0.9389158770918 -12118,0.10967753004594882 -12119,0.6925540736662759 -12120,0.259810558324329 -12121,0.9195081592971898 -12122,0.13503860604769102 -12123,0.16871322018652735 -12124,0.42580448059245235 -12125,0.45198589082907237 -12126,0.4836378792927438 -12127,0.8202033844373138 -12128,0.3966139498855966 -12129,0.5690678534506135 -12130,0.39734202025095666 -12131,0.03468946515383087 -12132,0.9198702348205593 -12133,0.08185376311013304 -12134,0.6279755383467438 -12135,0.24808635139254032 -12136,0.9063884423993837 -12137,0.2826490012702949 -12138,0.5627970500584039 -12139,0.353714979115883 -12140,0.5367412523142943 -12141,0.5787633067183051 -12142,0.09008329340767185 -12143,0.45330175007681905 -12144,0.6794545296239723 -12145,0.6877709074313845 -12146,0.6109751548355474 -12147,0.3715449968171145 -12148,0.21914264528552319 -12149,0.0626320564684697 -12150,0.9373333301186464 -12151,0.17701697546668893 -12152,0.702746255562021 -12153,0.8259709696524915 -12154,0.6260844310651922 -12155,0.024119220515889328 -12156,0.40479587484272106 -12157,0.7091739462309722 -12158,0.7742761161149677 -12159,0.8089060866497559 -12160,0.13253010180212155 -12161,0.4147183708673524 -12162,0.3359779000452844 -12163,0.721219012929281 -12164,0.9642869072029335 -12165,0.9943483105560049 -12166,0.7457252494289043 -12167,0.5835102383230273 -12168,0.6916909429806439 -12169,0.8526535839164637 -12170,0.5553765940792902 -12171,0.6568215004221806 -12172,0.7813422247225157 -12173,0.9480391234826647 -12174,0.3054672441638414 -12175,0.055379457989373715 -12176,0.8906429444070186 -12177,0.146434390646637 -12178,0.11200933483344477 -12179,0.4041209283102277 -12180,0.9984801933111602 -12181,0.2916304034025501 -12182,0.06573435999848942 -12183,0.4004036904220487 -12184,0.6879311180197455 -12185,0.1859616864705953 -12186,0.05682698931925079 -12187,0.8193870287299531 -12188,0.11474930229067815 -12189,0.3865408344334519 -12190,0.11589105988772586 -12191,0.4118934158644346 -12192,0.6880477812049788 -12193,0.9197533210019897 -12194,0.6876812972660443 -12195,0.3653993643894954 -12196,0.2996742940196909 -12197,0.704434389069196 -12198,0.021108831082609747 -12199,0.6845934961509433 -12200,0.4281647150519716 -12201,0.3748838828769743 -12202,0.8979562390128696 -12203,0.9735161798133177 -12204,0.4409534883059548 -12205,0.7578807452112947 -12206,0.14204070847300132 -12207,0.35324471675220026 -12208,0.7651979922108653 -12209,0.08755543626765483 -12210,0.05708790637101957 -12211,0.2639654404112334 -12212,0.2030372236537702 -12213,0.4399747966062959 -12214,0.7334380602280772 -12215,0.28198919996868543 -12216,0.2146804023360317 -12217,0.9941950228029397 -12218,0.11230431636756233 -12219,0.7751921530490461 -12220,0.8063979126049772 -12221,0.07987350342017485 -12222,0.8055865348164657 -12223,0.8373097040576966 -12224,0.6405765658764476 -12225,0.0053562839827392406 -12226,0.7838686248896264 -12227,0.7995143760859407 -12228,0.8488258918185703 -12229,0.04138796620543084 -12230,0.1960738138505198 -12231,0.34904433064229634 -12232,0.6511146796293221 -12233,0.6950650823552534 -12234,0.866857850273053 -12235,0.38823715535421655 -12236,0.13824990337860177 -12237,0.7928008548754403 -12238,0.213406981849094 -12239,0.5208033958796457 -12240,0.4853961328384314 -12241,0.9772451001885668 -12242,0.23762539746698608 -12243,0.1996142558751487 -12244,0.9128261811402641 -12245,0.24075052759780236 -12246,0.1733872920562135 -12247,0.3514194169378032 -12248,0.6586776373133227 -12249,0.00014950168099259198 -12250,0.42366576621443763 -12251,0.22687443257362716 -12252,0.31132110252309386 -12253,0.31948486611379534 -12254,0.7063163195907788 -12255,0.2657428751885901 -12256,0.20060057572954104 -12257,0.7421661402769565 -12258,0.3897674842607606 -12259,0.8022050073350937 -12260,0.7790232568025758 -12261,0.690704190962911 -12262,0.23568311815712795 -12263,0.7910488026394121 -12264,0.5352005191251241 -12265,0.06040699096219415 -12266,0.22344740060618662 -12267,0.33792506450639126 -12268,0.015102959022569418 -12269,0.2534506800044135 -12270,0.23715182898866394 -12271,0.02961279780267334 -12272,0.16071076452041988 -12273,0.6599281276107112 -12274,0.3478400470463042 -12275,0.29053225598984556 -12276,0.07433509591174958 -12277,0.8711549964998961 -12278,0.06556139372432435 -12279,0.5693139388816814 -12280,0.08348958951198227 -12281,0.6664811528939634 -12282,0.2086745308612139 -12283,0.2445374941627928 -12284,0.4690743532713588 -12285,0.2799440128269908 -12286,0.09411197736542165 -12287,0.0006331048355195934 -12288,0.678246442485221 -12289,0.9912956310725614 -12290,0.229031905581619 -12291,0.9514845838489445 -12292,0.6281202436930359 -12293,0.2867433950128452 -12294,0.5576921676442487 -12295,0.6924246907194331 -12296,0.5619214601694794 -12297,0.11990654536378964 -12298,0.37998563974471256 -12299,0.9610863164286417 -12300,0.6616795571037666 -12301,0.6660024168894931 -12302,0.8144075570515046 -12303,0.01782448262549363 -12304,0.3705121380179076 -12305,0.12553840258873783 -12306,0.10028956764540942 -12307,0.5294505977705115 -12308,0.6448395499182022 -12309,0.9864057838971015 -12310,0.2334906869068567 -12311,0.3558807390535985 -12312,0.537026878894135 -12313,0.20415425287079292 -12314,0.3490936369192196 -12315,0.14950188139795295 -12316,0.5623747061382648 -12317,0.8256873770299907 -12318,0.9894292271443419 -12319,0.5502690152906419 -12320,0.012595621255549139 -12321,0.39275784418307613 -12322,0.48425768400663616 -12323,0.635970776527399 -12324,0.6078682221326773 -12325,0.4974377394232893 -12326,0.6518106352883386 -12327,0.505559892785636 -12328,0.33922181783795746 -12329,0.8683233814392386 -12330,0.7384639686953702 -12331,0.07213105900789252 -12332,0.009515646867252148 -12333,0.5462444154794562 -12334,0.10194332744800494 -12335,0.2184561233433343 -12336,0.5817600027967127 -12337,0.0043923217772178225 -12338,0.8814395592445289 -12339,0.49020022956687603 -12340,0.8605687505526295 -12341,0.5996233628737049 -12342,0.3920849252606503 -12343,0.04727795706363647 -12344,0.2399868259825394 -12345,0.8289569579622226 -12346,0.6225915113989081 -12347,0.6495353665411656 -12348,0.7032068748240655 -12349,0.16509751494154334 -12350,0.40125364351356285 -12351,0.6572009240288731 -12352,0.0821797087106545 -12353,0.9692160555336308 -12354,0.9615588348622705 -12355,0.7092079027478486 -12356,0.5141429980491905 -12357,0.9383834614391295 -12358,0.8467205080037153 -12359,0.304289748529485 -12360,0.9305482803576933 -12361,0.9053158536742691 -12362,0.7623960344852851 -12363,0.64942440719124 -12364,0.20356222097072796 -12365,0.5684058768516879 -12366,0.13812371772228227 -12367,0.7120061937142834 -12368,0.914686101028433 -12369,0.9313231704408623 -12370,0.2702193040222204 -12371,0.8506798952944011 -12372,0.4742073294223258 -12373,0.4753103744046122 -12374,0.785870676283869 -12375,0.045554707114170534 -12376,0.9321981473628406 -12377,0.7363167969835742 -12378,0.9562561116041969 -12379,0.7596781175359189 -12380,0.5196476138399762 -12381,0.9893942849292037 -12382,0.7140272445886143 -12383,0.15865328813225454 -12384,0.0022227433659585127 -12385,0.12477333982679606 -12386,0.22292831792264056 -12387,0.32367985387286824 -12388,0.7923908051396934 -12389,0.13206470035847784 -12390,0.7095172513572204 -12391,0.5116357977458122 -12392,0.032754697867314 -12393,0.19723153747088928 -12394,0.6284029493926019 -12395,0.2169798981884763 -12396,0.5131861728195375 -12397,0.45342596883266695 -12398,0.14350755929292536 -12399,0.3783354521433009 -12400,0.6560340405173343 -12401,0.12306966591841184 -12402,0.7667589767825934 -12403,0.013961034385353566 -12404,0.939807825916199 -12405,0.12426162455525958 -12406,0.4737242525133897 -12407,0.18712500446022495 -12408,0.6079241517252002 -12409,0.2520374844002137 -12410,0.8507124674719108 -12411,0.4519622237016274 -12412,0.42058415881917544 -12413,0.6455339188294118 -12414,0.5910087384779892 -12415,0.9031667546933633 -12416,0.387390357049195 -12417,0.16102921092324607 -12418,0.6846103509516431 -12419,0.4226222846294374 -12420,0.4303986107631914 -12421,0.5522465304517228 -12422,0.8419038588476988 -12423,0.20392711373507144 -12424,0.3502803534010779 -12425,0.6059155485822436 -12426,0.6998284332284415 -12427,0.9289777610162694 -12428,0.6020643253663975 -12429,0.12497463624150329 -12430,0.293074010023603 -12431,0.7763220487528304 -12432,0.8343562633524972 -12433,0.8521081033204425 -12434,0.20003423820339916 -12435,0.18740422142338642 -12436,0.7964175718736285 -12437,0.1295033672489856 -12438,0.3996879570205327 -12439,0.4690607868370843 -12440,0.19006868555874867 -12441,0.5657682578892755 -12442,0.8660476652674131 -12443,0.6811801884912347 -12444,0.8094547573818159 -12445,0.35045241073472433 -12446,0.3305911822686428 -12447,0.5736022948087262 -12448,0.3794742646039224 -12449,0.6940955520723308 -12450,0.3521030606301089 -12451,0.9555510943109468 -12452,0.6822161306872464 -12453,0.5168153419618492 -12454,0.28694041210783505 -12455,0.8453596450448091 -12456,0.9942148800172521 -12457,0.43217314315951216 -12458,0.3231422032651201 -12459,0.2693045746712529 -12460,0.313641851295538 -12461,0.5895141368880491 -12462,0.6060216547202755 -12463,0.45236818515279587 -12464,0.0062380190433088956 -12465,0.31063430450816765 -12466,0.10835745867631508 -12467,0.03773058065551027 -12468,0.5242740689385539 -12469,0.3191436562185226 -12470,0.683607259585362 -12471,0.3458323269359116 -12472,0.41701879331356384 -12473,0.9583367201665709 -12474,0.27136880890981296 -12475,0.592669154536859 -12476,0.25385012981896227 -12477,0.7605183078792808 -12478,0.5765010648260963 -12479,0.8877033907407779 -12480,0.6627750936301597 -12481,0.35297500708979523 -12482,0.048917417770853566 -12483,0.9185885786781282 -12484,0.25413258306149944 -12485,0.38319354629868285 -12486,0.8678670490080257 -12487,0.5231561418153491 -12488,0.0066517832640260455 -12489,0.926496372913022 -12490,0.38862863754581145 -12491,0.5842643108350216 -12492,0.10938811911997093 -12493,0.04315594932746025 -12494,0.31435536383144735 -12495,0.60638338768121 -12496,0.09431459459287816 -12497,0.16765679666617217 -12498,0.26173429319217467 -12499,0.8485139628268152 -12500,0.42535537544845425 -12501,0.11272575508694038 -12502,0.34480443044528064 -12503,0.6788307725614929 -12504,0.3530366445153481 -12505,0.02572480258581622 -12506,0.5883024923170747 -12507,0.298939047725299 -12508,0.292019853437961 -12509,0.29921244598839325 -12510,0.9108923125994471 -12511,0.3124809839222318 -12512,0.2678655366727649 -12513,0.014687853094050296 -12514,0.8673249022114233 -12515,0.45638245538475675 -12516,0.05929312671835141 -12517,0.6015800643548849 -12518,0.882059500624862 -12519,0.09039110614362944 -12520,0.7396996193052913 -12521,0.7996441067905573 -12522,0.24838365748855273 -12523,0.510303306787145 -12524,0.198731427800252 -12525,0.5121198141335078 -12526,0.5200000262086707 -12527,0.07742149500939843 -12528,0.6601469706222035 -12529,0.597539913556151 -12530,0.4212662002062135 -12531,0.29318580296734764 -12532,0.09748840001604542 -12533,0.9463828970240006 -12534,0.22708413987768628 -12535,0.16080317849786485 -12536,0.28840549919259073 -12537,0.7556278768176327 -12538,0.5417532056212796 -12539,0.7176608839133757 -12540,0.8889204377278158 -12541,0.9236930302165353 -12542,0.7390077676148995 -12543,0.23402555690271554 -12544,0.3004407285678258 -12545,0.4546816498740983 -12546,0.19039263160643893 -12547,0.7343752872377157 -12548,0.5231816694753654 -12549,0.09677698698861836 -12550,0.16755899886817827 -12551,0.8971745672962056 -12552,0.9504672816045777 -12553,0.8978899757682591 -12554,0.49016708963715117 -12555,0.12501549005775792 -12556,0.5299935230128747 -12557,0.945698285979953 -12558,0.7978818976228055 -12559,0.43633693335257195 -12560,0.7038476747971206 -12561,0.16147346831895448 -12562,0.9168192292589288 -12563,0.6426093940875481 -12564,0.16133834409104875 -12565,0.9961758355785728 -12566,0.6517426465017251 -12567,0.05491318734286821 -12568,0.7879054732914047 -12569,0.8822908253111523 -12570,0.1484931891385486 -12571,0.4571842497453795 -12572,0.23040098368647843 -12573,0.4553437314675134 -12574,0.4483958764743289 -12575,0.5590541581031707 -12576,0.9967553734154502 -12577,0.735704616337846 -12578,0.6199113017157176 -12579,0.9192576628745232 -12580,0.804305909868883 -12581,0.7670953866495226 -12582,0.975093283339854 -12583,0.7097236532238613 -12584,0.09781737452532158 -12585,0.7680963537842161 -12586,0.0005143325543659483 -12587,0.3569577329627559 -12588,0.47891883010616765 -12589,0.6571089243301137 -12590,0.06680251030762996 -12591,0.7285675182990733 -12592,0.3715948975466199 -12593,0.5041575838573994 -12594,0.829716626399077 -12595,0.05259201999830787 -12596,0.6641022038408433 -12597,0.280489423343835 -12598,0.07939715541238057 -12599,0.5240386616443772 -12600,0.9532779262405012 -12601,0.9236746028199904 -12602,0.9607385439623954 -12603,0.09894086290560755 -12604,0.44751365920390107 -12605,0.03093204144007944 -12606,0.4815247421271388 -12607,0.9269139933111709 -12608,0.39838509204898276 -12609,0.7556790604779804 -12610,0.9236265501544824 -12611,0.2152317479958682 -12612,0.3538924902864681 -12613,0.4543055597465694 -12614,0.9045694762996004 -12615,0.6279090795262142 -12616,0.7331446095683463 -12617,0.3546152853517336 -12618,0.9106534093063782 -12619,0.5908680791111136 -12620,0.8675502518367946 -12621,0.80429597066364 -12622,0.36062645369284807 -12623,0.48061471413848256 -12624,0.12999750864098492 -12625,0.28820026785743746 -12626,0.9117918326657686 -12627,0.9565752626371201 -12628,0.3704347106697844 -12629,0.9265647527196619 -12630,0.46912513860246596 -12631,0.40639319123674256 -12632,0.6270616145266229 -12633,0.3088301017532197 -12634,0.31629197996090175 -12635,0.6718119362819291 -12636,0.6129222857965202 -12637,0.02363234983526219 -12638,0.490797266098438 -12639,0.7508722112977472 -12640,0.4212716997716731 -12641,0.23902261833796434 -12642,0.8125327197610532 -12643,0.7351038089739457 -12644,0.1781153778227207 -12645,0.7539225352272813 -12646,0.42490852630118514 -12647,0.9316076461070711 -12648,0.795251588102054 -12649,0.6552737468428772 -12650,0.4298621560661998 -12651,0.8823385617573164 -12652,0.6918318193197421 -12653,0.2645240778444198 -12654,0.9298941818401832 -12655,0.18683439990192952 -12656,0.8574789890763594 -12657,0.6572527075477371 -12658,0.9311721712538132 -12659,0.8343684330692686 -12660,0.35765080103271274 -12661,0.3872089022248324 -12662,0.5250343983553726 -12663,0.5929187839272498 -12664,0.8705350181774046 -12665,0.4233735599198232 -12666,0.4077798412654551 -12667,0.5983788523196883 -12668,0.6609540380440913 -12669,0.956508501360198 -12670,0.8978054213355348 -12671,0.23261862847428305 -12672,0.8727678612162156 -12673,0.24735617470655347 -12674,0.5610940294225196 -12675,0.890643108185705 -12676,0.823852328018878 -12677,0.7061741455475916 -12678,0.8083576615956225 -12679,0.7548353517870647 -12680,0.8269981154066545 -12681,0.5696587969726575 -12682,0.8872390306931064 -12683,0.5711247431897404 -12684,0.24215749453607105 -12685,0.3911260426271862 -12686,0.9179535184709248 -12687,0.7772693879298079 -12688,0.3301122563314768 -12689,0.06441873396488296 -12690,0.35551166891484276 -12691,0.950400261144754 -12692,0.6166178923352984 -12693,0.18883205429788164 -12694,0.8865798089493945 -12695,0.22650915870826094 -12696,0.24224090054417702 -12697,0.6991022839796026 -12698,0.23877272772818403 -12699,0.04904238422807816 -12700,0.3169118981437633 -12701,0.6402874654874671 -12702,0.4517800635327569 -12703,0.7500414089785812 -12704,0.7995390852415435 -12705,0.468517961497276 -12706,0.3373569895381736 -12707,0.06713802956778281 -12708,0.4230045897086657 -12709,0.44420549596927417 -12710,0.5307367599572487 -12711,0.28476102338812637 -12712,0.11462313196710328 -12713,0.6884914739570631 -12714,0.5732150378000818 -12715,0.9009165795527786 -12716,0.9611641948924603 -12717,0.07110547616553686 -12718,0.577677637035419 -12719,0.3805185400044986 -12720,0.4313639804350434 -12721,0.06848551274384351 -12722,0.12037648860411365 -12723,0.7297594711132169 -12724,0.3052022262707772 -12725,0.3340439140895779 -12726,0.9789390649058649 -12727,0.27224731981058803 -12728,0.7836104982001959 -12729,0.4087653029630589 -12730,0.33897817128778873 -12731,0.5302027658455468 -12732,0.46171752776377617 -12733,0.19844685018599983 -12734,0.3510606816491886 -12735,0.44246672837998247 -12736,0.03342758896678766 -12737,0.014217197356116706 -12738,0.9211272521571904 -12739,0.4560310300341821 -12740,0.5051389518251317 -12741,0.015054439926779462 -12742,0.6034856596008272 -12743,0.5814783959677277 -12744,0.0016207378405449502 -12745,0.6287896114321243 -12746,0.5273404988735503 -12747,0.1414662562781187 -12748,0.6395864598194836 -12749,0.05979872909272865 -12750,0.427023329417365 -12751,0.21707202981605078 -12752,0.031283811368119196 -12753,0.3266923902522505 -12754,0.6187335473112316 -12755,0.5953459948490086 -12756,0.1777314443901613 -12757,0.6690135387567477 -12758,0.5969759892847781 -12759,0.6922121725436806 -12760,0.9581889238584915 -12761,0.733445498848779 -12762,0.694779372292311 -12763,0.7961453545511554 -12764,0.4433421997890197 -12765,0.8105036150696159 -12766,0.24738101097679877 -12767,0.7797949911182344 -12768,0.3497198785996316 -12769,0.906772284479071 -12770,0.18942920544669117 -12771,0.5074149938788386 -12772,0.8650835217416204 -12773,0.20858533464092688 -12774,0.9000049779225644 -12775,0.8822004512611604 -12776,0.7965383387778631 -12777,0.19944330917380637 -12778,0.02795400145541116 -12779,0.41588395958788726 -12780,0.5717830145117851 -12781,0.8583687281166664 -12782,0.07587483675535978 -12783,0.6613043105948293 -12784,0.6973827839125917 -12785,0.9648295545633234 -12786,0.6921816988673982 -12787,0.36670477798507817 -12788,0.5847360451668843 -12789,0.451998029428205 -12790,0.882846384892424 -12791,0.30204894800982207 -12792,0.2863750669110743 -12793,0.7887498950094975 -12794,0.10925006173450114 -12795,0.7106352264417858 -12796,0.778884696266184 -12797,0.03455548508270967 -12798,0.5058690859838293 -12799,0.8832740302907756 -12800,0.6132651288493809 -12801,0.9653334229267625 -12802,0.019905833480132418 -12803,0.17910625897283783 -12804,0.33808267622490307 -12805,0.5384556642517235 -12806,0.8909802207727113 -12807,0.1858258013134595 -12808,0.831432945097879 -12809,0.39701952890129777 -12810,0.5730770851120567 -12811,0.6288967999229185 -12812,0.6021071711086625 -12813,0.4280339041581981 -12814,0.17232417242958042 -12815,0.01260396729386526 -12816,0.01998187976857091 -12817,0.7919532779936994 -12818,0.8487900794004699 -12819,0.6932369533955203 -12820,0.3907158849432004 -12821,0.1490424123360805 -12822,0.6847258914459052 -12823,0.19151279080814754 -12824,0.06179346398412089 -12825,0.2584924692412611 -12826,0.42096357799690465 -12827,0.590146599579479 -12828,0.862605542479767 -12829,0.4547338896776981 -12830,0.23876037573550413 -12831,0.04396163623398419 -12832,0.6615995880006278 -12833,0.17533695321927645 -12834,0.2111870750027388 -12835,0.4323976987522137 -12836,0.9468063501867229 -12837,0.5576514731574985 -12838,0.755268416700267 -12839,0.02131923173789252 -12840,0.3683989734579348 -12841,0.9538599629523002 -12842,0.5711023142643353 -12843,0.4021703066001395 -12844,0.47910225721574273 -12845,0.3707863930870068 -12846,0.014816153778243635 -12847,0.14822185166393775 -12848,0.5027134330831663 -12849,0.642265454589792 -12850,0.5366380763042444 -12851,0.5010189947124747 -12852,0.9873667180375892 -12853,0.9616675218213375 -12854,0.007821524619499809 -12855,0.9037890369584545 -12856,0.9707894294533179 -12857,0.28741082968313947 -12858,0.5894307619897524 -12859,0.6637773866861758 -12860,0.6941220866451872 -12861,0.19495661401824627 -12862,0.5068709247267826 -12863,0.7017640740612737 -12864,0.3801650623904972 -12865,0.9601441298538906 -12866,0.509912131226641 -12867,0.667136761326978 -12868,0.8791748088792694 -12869,0.026230717384648106 -12870,0.8191600634290861 -12871,0.1104504964916393 -12872,0.665900141125528 -12873,0.2134327157276985 -12874,0.5077379481051955 -12875,0.7836911835466177 -12876,0.5525736028783251 -12877,0.5093729875453967 -12878,0.5535637315037869 -12879,0.26621873583948386 -12880,0.3107941893033297 -12881,0.7578914837976626 -12882,0.20805642834825366 -12883,0.5592723436302391 -12884,0.22698209043298634 -12885,0.38688059663219176 -12886,0.967277323764668 -12887,0.6080176978224857 -12888,0.037437437916712835 -12889,0.6866647544264226 -12890,0.538818557325681 -12891,0.8970964853579556 -12892,0.17731017046618736 -12893,0.8907093812155803 -12894,0.846876857043748 -12895,0.5386330761061356 -12896,0.5502573266689591 -12897,0.8063563044849938 -12898,0.6729747799095135 -12899,0.8560915024172766 -12900,0.8434106923859456 -12901,0.3576296571440766 -12902,0.4163626452126846 -12903,0.8282434335603371 -12904,0.4382829181340605 -12905,0.07450284858160172 -12906,0.871832854618468 -12907,0.7825847628264052 -12908,0.8624571019632786 -12909,0.0055543478320749795 -12910,0.7097737161415358 -12911,0.2187290795838257 -12912,0.5591331702185524 -12913,0.5683052387382932 -12914,0.89748735303352 -12915,0.17001153584611273 -12916,0.42586436505163683 -12917,0.19119980205595777 -12918,0.8197683799497311 -12919,0.8926372902170218 -12920,0.27869855650479325 -12921,0.33988403681804435 -12922,0.6084952609806685 -12923,0.6406363973171001 -12924,0.5031665438498762 -12925,0.9248391790809475 -12926,0.2661075000569548 -12927,0.7052826441707347 -12928,0.8648129828190719 -12929,0.6599241613104316 -12930,0.6015117336906978 -12931,0.8429960168567069 -12932,0.8756292065520532 -12933,0.06417555549896803 -12934,0.4528373192319691 -12935,0.16314515789585537 -12936,0.09509226260544723 -12937,0.43082741621152687 -12938,0.3093895485924739 -12939,0.43257301364715184 -12940,0.17186786828724476 -12941,0.9484400719458779 -12942,0.9300453481599522 -12943,0.45233450369698114 -12944,0.18349149356520034 -12945,0.6360347602367409 -12946,0.5983182391557513 -12947,0.4529420348654515 -12948,0.8635205072751216 -12949,0.3023945543897725 -12950,0.4566648171761595 -12951,0.3737698555930318 -12952,0.2521437925049863 -12953,0.3265658847282781 -12954,0.15175732041951906 -12955,0.5294079933460398 -12956,0.8782324390555634 -12957,0.3976552163490287 -12958,0.8863708917605644 -12959,0.7951426358035116 -12960,0.5316530127151737 -12961,0.7969735831741271 -12962,0.9156681489414478 -12963,0.7447891641185883 -12964,0.9650521066196815 -12965,0.7814981842858696 -12966,0.5033201522084177 -12967,0.8190213288865342 -12968,0.7818354216357708 -12969,0.586103365836182 -12970,0.8017485338292919 -12971,0.10653269267395771 -12972,0.5754262425490494 -12973,0.33065811658079225 -12974,0.6882212083718022 -12975,0.686128546593006 -12976,0.452191505318986 -12977,0.593916087338061 -12978,0.6672981958353402 -12979,0.38509775390135637 -12980,0.5976883055259741 -12981,0.3435330518645011 -12982,0.7675285060575232 -12983,0.010129701643083355 -12984,0.7519808010646511 -12985,0.6731101647533808 -12986,0.12046185058146253 -12987,0.18376545195130978 -12988,0.30882475343397564 -12989,0.5599345666372266 -12990,0.4195110987316695 -12991,0.4233006874069065 -12992,0.734953679338493 -12993,0.46972040420964356 -12994,0.5748898535727871 -12995,0.5482926443155055 -12996,0.24350628487016968 -12997,0.9255097418363003 -12998,0.9420546113470517 -12999,0.010216145591578685 -13000,0.7650819024633634 -13001,0.3512154077261562 -13002,0.9549434353334604 -13003,0.9166378828479618 -13004,0.3615435398332597 -13005,0.002372732957774959 -13006,0.850782379590515 -13007,0.5210444840296644 -13008,0.29231987847562435 -13009,0.1551959419359109 -13010,0.30192412807265134 -13011,0.4149862055671517 -13012,0.047784706956191636 -13013,0.3398871174219503 -13014,0.6291519453300138 -13015,0.3875328217110131 -13016,0.9629154507488622 -13017,0.442822794230882 -13018,0.29253370198284545 -13019,0.59480357890736 -13020,0.7416592284033222 -13021,0.9337137713549977 -13022,0.9986840473667903 -13023,0.18622142440213552 -13024,0.3656983052418076 -13025,0.49995155807626357 -13026,0.40362488868016944 -13027,0.01797261921761717 -13028,0.8908646279938209 -13029,0.7356770996991502 -13030,0.08581023014481215 -13031,0.4596623758043523 -13032,0.6619886230068707 -13033,0.8624855393318488 -13034,0.3923360485679809 -13035,0.6363226114963868 -13036,0.763950982169394 -13037,0.19858192434291355 -13038,0.8286556165788994 -13039,0.04728341871136865 -13040,0.7782254560832484 -13041,0.2422297857998631 -13042,0.3084054925650517 -13043,0.20230855793264002 -13044,0.38155464938261896 -13045,0.5759281258558113 -13046,0.06239232555911889 -13047,0.5951574871330549 -13048,0.817871826619008 -13049,0.5340707129249245 -13050,0.4661324362276189 -13051,0.8956280023310049 -13052,0.6340137316650711 -13053,0.026736076991128455 -13054,0.7324725819167308 -13055,0.10395094285823037 -13056,0.25997311223848085 -13057,0.9844988602668167 -13058,0.47558107125194227 -13059,0.5324939358023814 -13060,0.8491103797581396 -13061,0.7357917994836889 -13062,0.2873237010370533 -13063,0.8555623193866995 -13064,0.6657203662151298 -13065,0.02371072765750082 -13066,0.7338637688095933 -13067,0.36004237077234114 -13068,0.03810290707455899 -13069,0.9161017365662322 -13070,0.3663254104673923 -13071,0.8685958205686992 -13072,0.931467459621278 -13073,0.6969757543349334 -13074,0.39746336973272334 -13075,0.25947990181376035 -13076,0.19257640420919264 -13077,0.3081987126838638 -13078,0.44301456186077737 -13079,0.6402968738806971 -13080,0.04412621571763564 -13081,0.6256407887116829 -13082,0.03134161608432717 -13083,0.8914004382619966 -13084,0.3278594876427757 -13085,0.904498772792024 -13086,0.9464005633217664 -13087,0.8798303943311927 -13088,0.9492944456053307 -13089,0.763803168165782 -13090,0.41785214376658697 -13091,0.019841049945347855 -13092,0.32589605497495355 -13093,0.4287686717307938 -13094,0.7034706719062815 -13095,0.743410365687042 -13096,0.45908591572157587 -13097,0.057274908070784836 -13098,0.7822267839565219 -13099,0.8519472146500354 -13100,0.5059919835403572 -13101,0.7742025472365502 -13102,0.906086866544025 -13103,0.18036262892380384 -13104,0.9818148683149259 -13105,0.14525655418205308 -13106,0.16617216886983033 -13107,0.019746440882510208 -13108,0.658894918500484 -13109,0.905024941511126 -13110,0.7896195775261293 -13111,0.4890221436543203 -13112,0.6070110360800234 -13113,0.020722704980747686 -13114,0.3081771310802589 -13115,0.7037651068376587 -13116,0.8227212125901578 -13117,0.12448692036244347 -13118,0.07640226712314135 -13119,0.4206044606565733 -13120,0.7920139519753846 -13121,0.2814151668486402 -13122,0.1405623939236781 -13123,0.44465802915747366 -13124,0.413660005382826 -13125,0.4477538624269345 -13126,0.2987604373403736 -13127,0.21065665982013382 -13128,0.29901092201469803 -13129,0.7866130530200632 -13130,0.055942206797474525 -13131,0.527772463047896 -13132,0.6091066440389268 -13133,0.46815651458209373 -13134,0.37245928712193 -13135,0.7585797744205228 -13136,0.6877299256819902 -13137,0.68883719040371 -13138,0.6872754659229356 -13139,0.8467784844073196 -13140,0.7829539440013826 -13141,0.26349832661180206 -13142,0.42194810670201033 -13143,0.8278348616281962 -13144,0.3855347637587434 -13145,0.691930037364589 -13146,0.45968014623143627 -13147,0.9925915272173115 -13148,0.7042962340032999 -13149,0.9450821042555131 -13150,0.4509268768932644 -13151,0.7078896750294491 -13152,0.16605276424165316 -13153,0.8408540141990692 -13154,0.7815741905343612 -13155,0.17398040376570412 -13156,0.31640551797037875 -13157,0.23835524386227724 -13158,0.7335488299839101 -13159,0.9232501057690031 -13160,0.8583798369663231 -13161,0.9014605738041905 -13162,0.4724204541291799 -13163,0.14489997261623377 -13164,0.6054352019563187 -13165,0.16314750259442679 -13166,0.12455068818422843 -13167,0.5895427317323322 -13168,0.07416603851092862 -13169,0.24824089635250557 -13170,0.24726718084384158 -13171,0.753948068351353 -13172,0.9692975590251696 -13173,0.3750686998691397 -13174,0.16383374251257765 -13175,0.018077236298998933 -13176,0.8774879574885941 -13177,0.9563634614639693 -13178,0.1816365740654362 -13179,0.8693914134234118 -13180,0.22984097259260527 -13181,0.5633100227240389 -13182,0.31972909868156185 -13183,0.6107153422331406 -13184,0.05821047037081761 -13185,0.6733480549899372 -13186,0.41924796482020166 -13187,0.18985125120784174 -13188,0.3762173525137057 -13189,0.25637661438158665 -13190,0.9185854342744486 -13191,0.4620301460763102 -13192,0.7384517765775166 -13193,0.14618764495006797 -13194,0.9205345087972922 -13195,0.0598656707753803 -13196,0.8246173421647285 -13197,0.38129121001733535 -13198,0.6517799309706036 -13199,0.9388219892981916 -13200,0.17157482436031923 -13201,0.7929265160104644 -13202,0.32198256916235724 -13203,0.5050244008681831 -13204,0.4061710585747941 -13205,0.870162179478838 -13206,0.6156037784330148 -13207,0.37363499573552594 -13208,0.0324437198066444 -13209,0.2512613570107406 -13210,0.033270285346021944 -13211,0.412151114889856 -13212,0.7528596731220019 -13213,0.5535859832892742 -13214,0.06244034723722425 -13215,0.3406121195788885 -13216,0.018153260962581297 -13217,0.452622782379128 -13218,0.11618433674428708 -13219,0.3306493070446752 -13220,0.3084425473475644 -13221,0.387361414875837 -13222,0.7017194405803147 -13223,0.43029287153183504 -13224,0.8664905766685129 -13225,0.5716713931027553 -13226,0.06382907454142872 -13227,0.16736711393392634 -13228,0.1273963669838093 -13229,0.9705262973870427 -13230,0.052545971843200534 -13231,0.17668799342420027 -13232,0.6719058897669183 -13233,0.09193227723455177 -13234,0.8315346196433682 -13235,0.6249145846395092 -13236,0.44239234928835913 -13237,0.604895272862291 -13238,0.13267723683675403 -13239,0.16429198387207877 -13240,0.9959251652454646 -13241,0.9725786062506998 -13242,0.8832813347952113 -13243,0.42427754633641857 -13244,0.9836152183304802 -13245,0.8542155163122208 -13246,0.28345620884371403 -13247,0.1745512656372099 -13248,0.5027508545167084 -13249,0.14264629635693826 -13250,0.9695704181577249 -13251,0.7007520553629878 -13252,0.6217298901345227 -13253,0.2850539472609761 -13254,0.12091459006726557 -13255,0.36632276885497983 -13256,0.27953201662235194 -13257,0.5155897846775339 -13258,0.0008328988904287016 -13259,0.4842557874247767 -13260,0.2507681713593529 -13261,0.5703755666784539 -13262,0.5215128433552205 -13263,0.46015838965192457 -13264,0.27300144459585907 -13265,0.7815988421905837 -13266,0.07166119489205713 -13267,0.10200660566790476 -13268,0.2524342443098667 -13269,0.7029147140074199 -13270,0.1496887400241379 -13271,0.980953714084489 -13272,0.41640018853364535 -13273,0.5513768948577213 -13274,0.22917093476052297 -13275,0.5376089099090154 -13276,0.06605931256939745 -13277,0.5079713679745944 -13278,0.8477010210457422 -13279,0.2580026475935915 -13280,0.7739628882644009 -13281,0.1339949054734364 -13282,0.11463166625629806 -13283,0.8685026115518509 -13284,0.7790454782280855 -13285,0.6093273254325472 -13286,0.4358993330414247 -13287,0.929123862585387 -13288,0.9897661017493132 -13289,0.7337475625924285 -13290,0.8388588019466778 -13291,0.9419440300855415 -13292,0.6538831037026704 -13293,0.7832957163456602 -13294,0.7150611826719949 -13295,0.8393179225290717 -13296,0.7326677349536886 -13297,0.481123735527597 -13298,0.45641959263339693 -13299,0.7553906605051827 -13300,0.9918309420574097 -13301,0.5432807126804359 -13302,0.2619459927082749 -13303,0.870468811508207 -13304,0.8668323485062902 -13305,0.8260204337088165 -13306,0.890224236790608 -13307,0.8464566820843104 -13308,0.008246631806397287 -13309,0.619457155349279 -13310,0.9618766047962412 -13311,0.9174139859099103 -13312,0.8010271932014157 -13313,0.21969732335917957 -13314,0.4857273396062033 -13315,0.9295696068582898 -13316,0.01752426955255848 -13317,0.5957613696235647 -13318,0.16732710491810987 -13319,0.5997772302982999 -13320,0.32235724920778575 -13321,0.08760991865732037 -13322,0.6935980824933429 -13323,0.5568925615131342 -13324,0.0359600587536586 -13325,0.894747013763921 -13326,0.449359873046428 -13327,0.2449334883870773 -13328,0.7780319531678342 -13329,0.5431560753178968 -13330,0.6937015046783416 -13331,0.07448311675536001 -13332,0.537215056132652 -13333,0.1516352153132836 -13334,0.39378497819516545 -13335,0.06973300499454504 -13336,0.4068331680392945 -13337,0.8866044718609332 -13338,0.6735712982727236 -13339,0.1470653522751777 -13340,0.22486036960039057 -13341,0.055203983665769174 -13342,0.6636445024366606 -13343,0.35832243005350806 -13344,0.30547097748592655 -13345,0.860238639328181 -13346,0.49213419693529525 -13347,0.03468635949908061 -13348,0.10605903594171107 -13349,0.7028159560035552 -13350,0.4855695789196134 -13351,0.7089319660894252 -13352,0.564032334834739 -13353,0.8735187779509234 -13354,0.0040605589670076325 -13355,0.9750100448164442 -13356,0.46580664288861295 -13357,0.6662798409923106 -13358,0.4158230390002565 -13359,0.37819108356502906 -13360,0.5474017041184952 -13361,0.7847125017151485 -13362,0.4125896081481092 -13363,0.9926548954321044 -13364,0.18991762030852843 -13365,0.39261476376568916 -13366,0.31441811471352865 -13367,0.16902589947620505 -13368,0.8976677548055468 -13369,0.434680066674512 -13370,0.8338268409944756 -13371,0.2512063594706383 -13372,0.05076310573603826 -13373,0.5105428577677209 -13374,0.3454480439916586 -13375,0.13401717603749308 -13376,0.41964432679366637 -13377,0.49691347321670476 -13378,0.18555164811897673 -13379,0.8631885321482126 -13380,0.8178501923217532 -13381,0.6205666902877573 -13382,0.7758979280701137 -13383,0.9105376000301451 -13384,0.857371280373692 -13385,0.7907996732184611 -13386,0.2478367670836935 -13387,0.2668888547594972 -13388,0.7755634522690308 -13389,0.9137633122571598 -13390,0.7615186323437927 -13391,0.7661252405796872 -13392,0.05122879765357169 -13393,0.16840867972905182 -13394,0.7840224923527394 -13395,0.668059801091585 -13396,0.43356074561422964 -13397,0.4784364276283404 -13398,0.05585690382492314 -13399,0.786637728320231 -13400,0.26797857918806345 -13401,0.7672657133247118 -13402,0.5717132628909455 -13403,0.04667899755288296 -13404,0.8768109290032641 -13405,0.9260273740680682 -13406,0.09077969748038239 -13407,0.263179681187268 -13408,0.827294816681688 -13409,0.8223381244898103 -13410,0.5354927420791672 -13411,0.8542215181170505 -13412,0.5092976466207305 -13413,0.8545491590701032 -13414,0.648824956312727 -13415,0.17067972408597343 -13416,0.05511625510638174 -13417,0.2876318263811779 -13418,0.9831375706964676 -13419,0.8732800791250431 -13420,0.8710530663545132 -13421,0.6555226911675343 -13422,0.32207647368712566 -13423,0.03130446062998671 -13424,0.6914663539554645 -13425,0.8797492500301762 -13426,0.5002267624602199 -13427,0.7763181573785537 -13428,0.1174474516308982 -13429,0.10908045435728075 -13430,0.612343486557707 -13431,0.4254407027993652 -13432,0.8451384917408401 -13433,0.7628002472995683 -13434,0.9853503365726048 -13435,0.2862167727798921 -13436,0.7736694472701953 -13437,0.5738381811306504 -13438,0.5333219930774104 -13439,0.7780883214662155 -13440,0.2096238765965478 -13441,0.26439752879113476 -13442,0.47787401890297765 -13443,0.4356592340329921 -13444,0.7712039638327643 -13445,0.27437644031219977 -13446,0.3998343321374398 -13447,0.9974760544500634 -13448,0.17463527001713808 -13449,0.5785445483596486 -13450,0.21190752826463666 -13451,0.3214648417406054 -13452,0.881576856301164 -13453,0.803626053559656 -13454,0.3306246700242643 -13455,0.7696648023266455 -13456,0.4273678686375564 -13457,0.5697532966749324 -13458,0.5784337355809028 -13459,0.4226380402952309 -13460,0.3957080734481436 -13461,0.7690009381237621 -13462,0.8069599839314655 -13463,0.5136926064063841 -13464,0.9738072965530651 -13465,0.6759555502415331 -13466,0.10920936927998137 -13467,0.155087497753433 -13468,0.18585915891604943 -13469,0.8958139653288367 -13470,0.7296628753724619 -13471,0.6468280834332647 -13472,0.35341404639367624 -13473,0.042748036834822534 -13474,0.33683488129276595 -13475,0.25511840283982656 -13476,0.32117885226153864 -13477,0.04487346420650851 -13478,0.8349345134335433 -13479,0.7593926197340961 -13480,0.2525847398170614 -13481,0.25000293617103475 -13482,0.8607862892334782 -13483,0.42646118377608255 -13484,0.7831819606614749 -13485,0.204892869828055 -13486,0.9583049463728114 -13487,0.8626973817576593 -13488,0.3037656779411628 -13489,0.0812233337350654 -13490,0.173946177375625 -13491,0.8432269827766729 -13492,0.6122796543137278 -13493,0.9997409455629265 -13494,0.36557514870533947 -13495,0.7323288642645918 -13496,0.2967253830563986 -13497,0.340755768080376 -13498,0.2933897898224589 -13499,0.8761226781077098 -13500,0.6080094299867829 -13501,0.9922032262091405 -13502,0.5386658293776392 -13503,0.02594768203177089 -13504,0.3107928829642068 -13505,0.9577397419415653 -13506,0.08366704556882498 -13507,0.7532386156390406 -13508,0.33670435554027023 -13509,0.4045994878994441 -13510,0.7697353698963646 -13511,0.9380700253643807 -13512,0.2640740387856585 -13513,0.9872051725047762 -13514,0.30441169378199506 -13515,0.26729558278956733 -13516,0.3806638181624802 -13517,0.20930713439354987 -13518,0.956566800343386 -13519,0.8912790465579062 -13520,0.21874929406011123 -13521,0.04111932722848077 -13522,0.72529140612204 -13523,0.4434054301826881 -13524,0.24224574761177986 -13525,0.35342961019050145 -13526,0.9028955864192272 -13527,0.7845530459203989 -13528,0.32822631007651193 -13529,0.9400109031395184 -13530,0.7425308619516474 -13531,0.8600252986117137 -13532,0.2709538659970019 -13533,0.039187829018413556 -13534,0.19816075544134837 -13535,0.7290814692014894 -13536,0.466461580116056 -13537,0.48567236282970827 -13538,0.2881234850463683 -13539,0.5959055712669038 -13540,0.44084639721581786 -13541,0.13287252349506196 -13542,0.95207550873743 -13543,0.43676455402079983 -13544,0.9751966092461428 -13545,0.612706674826268 -13546,0.7516314438321082 -13547,0.3984755105191482 -13548,0.036294629751912555 -13549,0.7159173520799896 -13550,0.7019771910143454 -13551,0.9760181733440373 -13552,0.6267209382324408 -13553,0.5202553820427118 -13554,0.8928169586631151 -13555,0.35317848309771294 -13556,0.9712814320763049 -13557,0.3543248316216402 -13558,0.44885103309020236 -13559,0.6061454617796742 -13560,0.6819433879048509 -13561,0.3499310556224896 -13562,0.5865392853340068 -13563,0.6037773186763814 -13564,0.2809120508840721 -13565,0.9424466703987148 -13566,0.6904295828824467 -13567,0.2905337589623622 -13568,0.776514511028645 -13569,0.1669984448451297 -13570,0.9308429001237061 -13571,0.011919031850140649 -13572,0.3114332460192153 -13573,0.6399436006762247 -13574,0.31059456406171004 -13575,0.6720285077523002 -13576,0.7874265224826243 -13577,0.5756881664503667 -13578,0.23782643368953804 -13579,0.9632386641531764 -13580,0.45550362909243713 -13581,0.1877789844471578 -13582,0.9323814106249944 -13583,0.48835555149960264 -13584,0.3306906869641132 -13585,0.5818065832250847 -13586,0.4969265840908217 -13587,0.9813835245520562 -13588,0.9809830828503294 -13589,0.44496338243518785 -13590,0.8596945916807694 -13591,0.8681912700966311 -13592,0.0025674317052708506 -13593,0.05523876064278843 -13594,0.017069762809904465 -13595,0.4826874429632253 -13596,0.5872198863239612 -13597,0.6068330338342589 -13598,0.9574848486424457 -13599,0.38996794913830657 -13600,0.9563309311760558 -13601,0.9921290229449203 -13602,0.5639291803051241 -13603,0.0568093283479012 -13604,0.6496151076307765 -13605,0.9646039159543396 -13606,0.2880082894699054 -13607,0.2502784184926604 -13608,0.28825350949265394 -13609,0.717518215182557 -13610,0.42843256319217726 -13611,0.08744602861203932 -13612,0.8592754763473336 -13613,0.6326679618966661 -13614,0.8302030669081335 -13615,0.8925772397010913 -13616,0.05306988249309519 -13617,0.5687264914073691 -13618,0.0360537127062468 -13619,0.464207084281527 -13620,0.4195638004178782 -13621,0.42347068077670413 -13622,0.7495211755769019 -13623,0.5928178598877799 -13624,0.24150573265612607 -13625,0.9499181439120212 -13626,0.7201496741783812 -13627,0.3004485020659894 -13628,0.834133762541658 -13629,0.4298876508152163 -13630,0.3089212886066771 -13631,0.5953971365242722 -13632,0.5290985283567665 -13633,0.5473874174464021 -13634,0.9507136097725967 -13635,0.5360398649478952 -13636,0.7173071677019803 -13637,0.2776595623961101 -13638,0.921303772089139 -13639,0.6807744414344619 -13640,0.3740157192809722 -13641,0.5666718887293664 -13642,0.6480881191267361 -13643,0.49368745479882625 -13644,0.4902309474251777 -13645,0.8549249207022402 -13646,0.21590725284039314 -13647,0.7460104632577714 -13648,0.7657921115386973 -13649,0.3114955055441727 -13650,0.44662678541694967 -13651,0.7185151662469618 -13652,0.7022725557861312 -13653,0.9478631387349528 -13654,0.08603258581759043 -13655,0.37582899913580214 -13656,0.5405293648260197 -13657,0.1988819629428794 -13658,0.91147782515645 -13659,0.10778108569263023 -13660,0.39244844086850095 -13661,0.2890073070463558 -13662,0.8405990957388951 -13663,0.7086644822226106 -13664,0.25340771190850997 -13665,0.9370413772780806 -13666,0.9789139037292939 -13667,0.3802608751172355 -13668,0.460991152421508 -13669,0.07277817437733602 -13670,0.7504386091490934 -13671,0.7381179384744014 -13672,0.12174433369891602 -13673,0.867956750754308 -13674,0.21075232780034758 -13675,0.10453183163924562 -13676,0.12532900286798343 -13677,0.05266575032258625 -13678,0.5403682159320109 -13679,0.20070064466654158 -13680,0.024804370874683346 -13681,0.04950210603650018 -13682,0.8518710604889015 -13683,0.20881905236230658 -13684,0.7981139400797095 -13685,0.1832129793715993 -13686,0.08498837204088971 -13687,0.13071640336038926 -13688,0.6769647974637525 -13689,0.8732628378489115 -13690,0.4890949880686808 -13691,0.20356069600405924 -13692,0.2002666862928505 -13693,0.09754716249841378 -13694,0.6071645214693402 -13695,0.7281297096576826 -13696,0.7559020230766939 -13697,0.8868134453381913 -13698,0.7911686071707913 -13699,0.8377155047103332 -13700,0.3848704283397023 -13701,0.7895082262327655 -13702,0.8127457889776354 -13703,0.919495202932104 -13704,0.2727833194697227 -13705,0.8492438648605067 -13706,0.24865520659676588 -13707,0.9788268800464094 -13708,0.2490841409126554 -13709,0.5322940940870377 -13710,0.41977911225677134 -13711,0.5450501548375427 -13712,0.37111644687589673 -13713,0.479446714715991 -13714,0.33609859673219633 -13715,0.12452564580929593 -13716,0.3792863172596844 -13717,0.09094725790236258 -13718,0.5650634437584497 -13719,0.09114868083752758 -13720,0.38504472423786895 -13721,0.645106448961845 -13722,0.09855291968819424 -13723,0.9755661960334328 -13724,0.15834854004473609 -13725,0.49918086164284337 -13726,0.5071113019818816 -13727,0.5138148662945188 -13728,0.7302463290831993 -13729,0.6072854814267247 -13730,0.6609478197745156 -13731,0.060737861724938336 -13732,0.13603095845341873 -13733,0.35582848142783763 -13734,0.3622169336426573 -13735,0.603254944464937 -13736,0.8300352297987719 -13737,0.48755567014279344 -13738,0.5317407294192574 -13739,0.6738740117552754 -13740,0.8572335296061661 -13741,0.1269137524627898 -13742,0.6694590582309783 -13743,0.2973859980498381 -13744,0.36056540688567196 -13745,0.34430040156723807 -13746,0.8915949733729577 -13747,0.04224468999783171 -13748,0.07245216205578509 -13749,0.1240952245873812 -13750,0.26704719289135426 -13751,0.18710294255169269 -13752,0.2859018267272252 -13753,0.6620517431846213 -13754,0.10380696069193085 -13755,0.35486911493921913 -13756,0.9688506401442691 -13757,0.390375933011192 -13758,0.5804042603911246 -13759,0.8059349351772012 -13760,0.4916354485206631 -13761,0.8254171207373338 -13762,0.2984463087779544 -13763,0.2986171350735074 -13764,0.02219747889560686 -13765,0.8820479055586731 -13766,0.425900508088249 -13767,0.16192359191690697 -13768,0.6779726458564604 -13769,0.6819281565946176 -13770,0.44492035240716166 -13771,0.02543523423083527 -13772,0.971885333444593 -13773,0.06774132442207048 -13774,0.9806722144335784 -13775,0.3282129500256098 -13776,0.23958074988150146 -13777,0.29883133491550595 -13778,0.557295928497221 -13779,0.6342726878922089 -13780,0.3978838814509035 -13781,0.12830197904196194 -13782,0.892105982299008 -13783,0.6517792492213154 -13784,0.5431888354300997 -13785,0.470910358318401 -13786,7.577301484729126e-05 -13787,0.7666584497663612 -13788,0.6123186721848307 -13789,0.11355120563395993 -13790,0.39028555783495655 -13791,0.8858965736203485 -13792,0.6782951425243957 -13793,0.4290794377392686 -13794,0.968669740595565 -13795,0.25370318090831057 -13796,0.9315666652185053 -13797,0.1063631140489465 -13798,0.6674613655026663 -13799,0.17393237744105294 -13800,0.5560840587587569 -13801,0.46900297910260846 -13802,0.9652788097276819 -13803,0.9738074284873874 -13804,0.28167235167723703 -13805,0.524901583583115 -13806,0.9321588905717655 -13807,0.01644993212589274 -13808,0.5556080631110587 -13809,0.2315912955284979 -13810,0.46651096527219404 -13811,0.7842547900940858 -13812,0.47379705739578937 -13813,0.592631270425255 -13814,0.26982749438748665 -13815,0.6600475431233505 -13816,0.07758193473429675 -13817,0.3746616861157265 -13818,0.6311080514255889 -13819,0.2919732854693349 -13820,0.5704197174160777 -13821,0.7750180907823884 -13822,0.7968783097322072 -13823,0.9150323336905515 -13824,0.44207796036088365 -13825,0.5688282750310361 -13826,0.7512487639612229 -13827,0.8471439821117125 -13828,0.15895817078050956 -13829,0.5756473811108225 -13830,0.4350837022693481 -13831,0.7410683202487564 -13832,0.026639421847643563 -13833,0.3276586001394327 -13834,0.8563682044798486 -13835,0.49240840415542264 -13836,0.5200256619156682 -13837,0.7364073874617668 -13838,0.78511398742612 -13839,0.8559196438310741 -13840,0.4169304553102646 -13841,0.28844256296072 -13842,0.10075102081783516 -13843,0.5537051430645032 -13844,0.11995530114738462 -13845,0.36938435685125237 -13846,0.6275713447749454 -13847,0.33002590465292747 -13848,0.2955176649054664 -13849,0.9550715122813618 -13850,0.8910462976210874 -13851,0.3639719735221918 -13852,0.7861420375075329 -13853,0.8705866723410126 -13854,0.34456530948505515 -13855,0.6817439940024872 -13856,0.043666071573984944 -13857,0.5758417908733743 -13858,0.1933027193358583 -13859,0.48972107545183374 -13860,0.7907349421470675 -13861,0.45061973172235925 -13862,0.5581733403474751 -13863,0.3634595104056939 -13864,0.9695153127185225 -13865,0.164116849931209 -13866,0.03464550459167837 -13867,0.7412761189152786 -13868,0.7065285247948542 -13869,0.5669964982893619 -13870,0.7927811910080865 -13871,0.786563825989726 -13872,0.8102269076615989 -13873,0.6242522478487282 -13874,0.3933485372074187 -13875,0.09862790937842991 -13876,0.5005302597287775 -13877,0.034423565870540185 -13878,0.07514068173310129 -13879,0.1265919815520946 -13880,0.6205674820977305 -13881,0.7353432548254881 -13882,0.556120827719645 -13883,0.1323104962282372 -13884,0.12768160739591083 -13885,0.12249426235647576 -13886,0.4107801894153552 -13887,0.6551992553012075 -13888,0.4769456249027838 -13889,0.7663654962055951 -13890,0.6891492438099498 -13891,0.4361419654432612 -13892,0.8040680326211768 -13893,0.2543821028523986 -13894,0.9832654989309867 -13895,0.9563390853871679 -13896,0.18293790958157896 -13897,0.09707225568619304 -13898,0.7021929274803749 -13899,0.5373117865535437 -13900,0.9853324664517358 -13901,0.3657873050938515 -13902,0.09619978240993243 -13903,0.5043321084351812 -13904,0.9348055028640018 -13905,0.3484355942036338 -13906,0.9423965271767142 -13907,0.33878650295265555 -13908,0.5489918697716006 -13909,0.7519369274399972 -13910,0.7735532602288263 -13911,0.9093653240783813 -13912,0.5375461097735738 -13913,0.3923041959056859 -13914,0.6102689076690672 -13915,0.11758817091023566 -13916,0.287277819125622 -13917,0.2906727982163534 -13918,0.5382195112477355 -13919,0.06488648528463925 -13920,0.3403118495049534 -13921,0.7244880792241692 -13922,0.47279441067934747 -13923,0.37740766033313955 -13924,0.282665499859021 -13925,0.08238757919874817 -13926,0.08622933273675648 -13927,0.6678977968496305 -13928,0.28306760818410726 -13929,0.30158657451343507 -13930,0.136035205610181 -13931,0.34273874159667705 -13932,0.8959574973248129 -13933,0.9368257989774448 -13934,0.685731181083863 -13935,0.9928856193893608 -13936,0.5598585787160113 -13937,0.6035799080815163 -13938,0.9842710930589044 -13939,0.4785294210438076 -13940,0.8040403751469 -13941,0.6764717414563567 -13942,0.6990755335578377 -13943,0.8987786582923298 -13944,0.35770649503434104 -13945,0.83234161070387 -13946,0.7748808891030038 -13947,0.4403410982129796 -13948,0.20882526680483648 -13949,0.9583077763675232 -13950,0.8043230422105431 -13951,0.3914035396784289 -13952,0.5109920604215628 -13953,0.8646254764484075 -13954,0.7613958111414251 -13955,0.4508434964385827 -13956,0.6759285575068811 -13957,0.9840793755493935 -13958,0.4064501898693802 -13959,0.4949744323673828 -13960,0.6962748046457107 -13961,0.3736480774211899 -13962,0.7756342929672693 -13963,0.9843660667413096 -13964,0.9736243104779205 -13965,0.22880083564059428 -13966,0.7878231317678399 -13967,0.3553902217485019 -13968,0.14355105078330888 -13969,0.053534242337589966 -13970,0.7694439764345115 -13971,0.2975116132041776 -13972,0.48088701336022655 -13973,0.6324387174637522 -13974,0.24383123981358568 -13975,0.14086838876204466 -13976,0.7802691321053641 -13977,0.7180381351462322 -13978,0.2584517558132148 -13979,0.14049564841968465 -13980,0.6706420982472122 -13981,0.31681562393369966 -13982,0.6636621516474149 -13983,0.07644388134945368 -13984,0.17770062194292546 -13985,0.44143660608721036 -13986,0.780235076073703 -13987,0.9438154545044003 -13988,0.9892775674051156 -13989,0.5464931240083939 -13990,0.5102395534649306 -13991,0.7368350363404703 -13992,0.35455469419090413 -13993,0.9031270945126518 -13994,0.6408260062622232 -13995,0.9248566079187804 -13996,0.3994714271609997 -13997,0.43744308344869076 -13998,0.8048511366440482 -13999,0.933495645368722 -14000,0.21257128087985577 -14001,0.7593308523366898 -14002,0.6342906114949575 -14003,0.6150274780410642 -14004,0.4894703097018127 -14005,0.09533324835720369 -14006,0.6565751567879854 -14007,0.29319904378640316 -14008,0.20144788945704595 -14009,0.9431895148100214 -14010,0.7452069379028426 -14011,0.703398613610325 -14012,0.8781648149933986 -14013,0.10837978563531225 -14014,0.7613422228548233 -14015,0.020271415624217193 -14016,0.22711955925517746 -14017,0.5186171093171074 -14018,0.1632628805156816 -14019,0.8728161112207617 -14020,0.30524139060165856 -14021,0.39094784388284165 -14022,0.6847129666515498 -14023,0.9410577094257242 -14024,0.9348196899049073 -14025,0.3190379352058358 -14026,0.9809722776452181 -14027,0.32408286675640596 -14028,0.5066292479090673 -14029,0.6479416766813626 -14030,0.10602018580772321 -14031,0.1480348340299087 -14032,0.743402057064274 -14033,0.983428699439475 -14034,0.9714050119139942 -14035,0.00832286559610973 -14036,0.7069790121316643 -14037,0.35179660003843627 -14038,0.9803736268314593 -14039,0.30726273596640474 -14040,0.3982177792862108 -14041,0.8898194958248736 -14042,0.0005203712348920142 -14043,0.07400756176738099 -14044,0.9105666072052623 -14045,0.3153803689914775 -14046,0.8916486061894466 -14047,0.9190743195186127 -14048,0.40926213774872233 -14049,0.5135815690108823 -14050,0.9405740246068738 -14051,0.5143693622462904 -14052,0.8206041328374037 -14053,0.5339031960020459 -14054,0.6591884785075537 -14055,0.04472825958310922 -14056,0.11818242401278867 -14057,0.40431698845322117 -14058,0.6481175709179816 -14059,0.8786845867725894 -14060,0.9634488981905559 -14061,0.35085201535600763 -14062,0.7776221942167396 -14063,0.9239748409089884 -14064,0.8585296201810467 -14065,0.7743123967395292 -14066,0.4047682450855038 -14067,0.8994293173382962 -14068,0.5186900675849766 -14069,0.04490531917385676 -14070,0.255688068167252 -14071,0.8672816434436263 -14072,0.37594573003656906 -14073,0.9687572922623272 -14074,0.4943685922656713 -14075,0.17808587001531018 -14076,0.09437030177392336 -14077,0.5987159242495439 -14078,0.8826912546096382 -14079,0.05804513556072488 -14080,0.016760623929905183 -14081,0.21252350111662255 -14082,0.2297539482091585 -14083,0.7982229719802796 -14084,0.8518731472496484 -14085,0.2547869696826124 -14086,0.7617322004718214 -14087,0.284427103157198 -14088,0.9295384965192788 -14089,0.4185653263336191 -14090,0.06989083888319803 -14091,0.1763242146410211 -14092,0.570341348742916 -14093,0.6684940792238113 -14094,0.9725677169218737 -14095,0.6550307000086406 -14096,0.5002219188173964 -14097,0.4460255812014182 -14098,0.7397405958410596 -14099,0.07707692477587036 -14100,0.7876593114402913 -14101,0.35354168857563584 -14102,0.13631458736061808 -14103,0.8204958652461163 -14104,0.9656808044674816 -14105,0.2363547451068757 -14106,0.3068266789409194 -14107,0.3542634216900792 -14108,0.3454508567775978 -14109,0.7412172650167489 -14110,0.9486161661587627 -14111,0.04435106798984756 -14112,0.10984600821405155 -14113,0.12523318552083118 -14114,0.9333271645946736 -14115,0.0030830412717466338 -14116,0.1549406669969945 -14117,0.5449108123318355 -14118,0.8288224358174633 -14119,0.5442262921989043 -14120,0.5844021905183581 -14121,0.6816024543972632 -14122,0.9843600937497929 -14123,0.22050007784763703 -14124,0.74044143109413 -14125,0.6264670637553607 -14126,0.15634264272338183 -14127,0.33369149249774677 -14128,0.3660232858906258 -14129,0.6084927134350503 -14130,0.7414079065605825 -14131,0.614443023675421 -14132,0.1899180398455641 -14133,0.6103201413935117 -14134,0.9963817087563758 -14135,0.5937341337412425 -14136,0.011308622240293942 -14137,0.7511894507540847 -14138,0.8628272988707767 -14139,0.08539018775661522 -14140,0.02323983335534574 -14141,0.39627502691363437 -14142,0.3259993569659183 -14143,0.9526992905237007 -14144,0.2379135860946131 -14145,0.055017290069493074 -14146,0.4428731235223752 -14147,0.6240119181982681 -14148,0.733261735894556 -14149,0.6353823852009352 -14150,0.6823333932899684 -14151,0.73276901770918 -14152,0.4313988166278624 -14153,0.10300552901942506 -14154,0.025483053899119867 -14155,0.2493405406173158 -14156,0.5423030967641782 -14157,0.09568847561461125 -14158,0.7046978582752351 -14159,0.10741176693559218 -14160,0.8158767878446342 -14161,0.5154807180423551 -14162,0.5518856021947196 -14163,0.3462108587381385 -14164,0.26927499097353114 -14165,0.1148648321001755 -14166,0.3971871021613882 -14167,0.847702875022377 -14168,0.11771630442623082 -14169,0.7950663408550179 -14170,0.7302636095674714 -14171,0.07680694705006241 -14172,0.820863605801185 -14173,0.8405638778659953 -14174,0.32771232364835745 -14175,0.08227439027480998 -14176,0.967062604872346 -14177,0.4277196198187674 -14178,0.5232748943424937 -14179,0.5104424658796625 -14180,0.2086713968467928 -14181,0.202016127845422 -14182,0.44943142360973387 -14183,0.49508865007643 -14184,0.463859675855701 -14185,0.3288782982630226 -14186,0.9915701597494873 -14187,0.9253040632361808 -14188,0.516689524678408 -14189,0.1986793187201359 -14190,0.7937043873731592 -14191,0.14650297607052476 -14192,0.5488832539970362 -14193,0.6599986062997701 -14194,0.327214470067106 -14195,0.7905796963179339 -14196,0.7138000955093469 -14197,0.6326503027752787 -14198,0.8479514904996857 -14199,0.8480445736434835 -14200,0.5929543958162248 -14201,0.08710352977213653 -14202,0.05083138511115959 -14203,0.6209499815171144 -14204,0.6943516965687184 -14205,0.26355412120190347 -14206,0.4206872027322389 -14207,0.8163363940147776 -14208,0.0533302224203025 -14209,0.33314684264450967 -14210,0.15206476408942315 -14211,0.7472738654776249 -14212,0.6400468353334868 -14213,0.8186726538377166 -14214,0.02424193967493604 -14215,0.9063647645031012 -14216,0.9889712040913902 -14217,0.36296898118397747 -14218,0.41204883416075444 -14219,0.4816717240228896 -14220,0.4393910527192606 -14221,0.7695252427481751 -14222,0.6068093279827065 -14223,0.10942214777976067 -14224,0.5508569687286542 -14225,0.6989980717460831 -14226,0.7687926817437941 -14227,0.36142003889789287 -14228,0.09633495907373901 -14229,0.13826001611032557 -14230,0.879534344793536 -14231,0.9496262569287919 -14232,0.6501308448519831 -14233,0.7315901098334705 -14234,0.5962601475439469 -14235,0.3013472528833011 -14236,0.774062766008498 -14237,0.040112417516100396 -14238,0.20264032594674786 -14239,0.0999327128948091 -14240,0.8847959176651327 -14241,0.6303773971227672 -14242,0.9076519606790912 -14243,0.6338395992113635 -14244,0.9863775408257791 -14245,0.8739445036010024 -14246,0.49798784948229025 -14247,0.5356354394093878 -14248,0.008951116298037354 -14249,0.6599528109676036 -14250,0.3961263401224464 -14251,0.5560289466081787 -14252,0.04067939044421398 -14253,0.8610250685115011 -14254,0.9101677271878024 -14255,0.9238460060658306 -14256,0.31173063473631313 -14257,0.4405748934449274 -14258,0.38347159294711963 -14259,0.5398802796431162 -14260,0.496250020625178 -14261,0.7726722639708908 -14262,0.5066232440371813 -14263,0.10851618089187276 -14264,0.3315029044812968 -14265,0.76805217313507 -14266,0.18432795175336125 -14267,0.06806097978527259 -14268,0.6127776035467907 -14269,0.643537436240094 -14270,0.7802913321605824 -14271,0.11804798198587174 -14272,0.6158009284478752 -14273,0.12681051027366474 -14274,0.30992736554287537 -14275,0.16871467211188296 -14276,0.8094294069876883 -14277,0.9005494669814067 -14278,0.88810267890749 -14279,0.6613593202344615 -14280,0.3884265541768255 -14281,0.5752050517766814 -14282,0.6659932017792156 -14283,0.15900452109059893 -14284,0.08564028366860688 -14285,0.7153837416571068 -14286,0.7302728432273351 -14287,0.2550072852120834 -14288,0.16907669326316155 -14289,0.6558026482951337 -14290,0.4696580932324418 -14291,0.8354522911067124 -14292,0.12886087078685216 -14293,0.8034508661334023 -14294,0.10998248140991318 -14295,0.9014771134604592 -14296,0.7497836777779009 -14297,0.24197350044451904 -14298,0.33722280712991426 -14299,0.2367439758156712 -14300,0.6517616708605812 -14301,0.44166665716908926 -14302,0.0077519201919840075 -14303,0.23110641880579064 -14304,0.3652958850715097 -14305,0.4311635379205473 -14306,0.40574718365063 -14307,0.2047482850812441 -14308,0.006201070875621828 -14309,0.8999272551264874 -14310,0.33374103701530333 -14311,0.054906266487516286 -14312,0.807783119601247 -14313,0.5553051106929519 -14314,0.3721629449669446 -14315,0.12424072835749433 -14316,0.8948784593644292 -14317,0.28603787233712397 -14318,0.3990018159884675 -14319,0.4803729059767512 -14320,0.3209202266126827 -14321,0.8538469180777057 -14322,0.9660854342800208 -14323,0.4538654521864033 -14324,0.33172218233091755 -14325,0.07422414220984819 -14326,0.9345158636208668 -14327,0.22972839283076307 -14328,0.848873153108872 -14329,0.7951560048043254 -14330,0.32894895955727477 -14331,0.8228551690379741 -14332,0.6177767193377292 -14333,0.18811492640049987 -14334,0.10438632107534906 -14335,0.9990671549060041 -14336,0.6760702871505605 -14337,0.15327941239708276 -14338,0.1251029366871924 -14339,0.9461708298999322 -14340,0.19546978869187126 -14341,0.5062406077703533 -14342,0.9640624339135123 -14343,0.674520347732548 -14344,0.5939012644614632 -14345,0.8469661700054892 -14346,0.8773782763612618 -14347,0.2770226259924695 -14348,0.7572436319883101 -14349,0.010389753675803748 -14350,0.5331156112240821 -14351,0.022589587031775826 -14352,0.9725795564877332 -14353,0.3335188471914753 -14354,0.6935897691831133 -14355,0.7673589836155769 -14356,0.2626249252936298 -14357,0.7068424756270674 -14358,0.6157854757673061 -14359,0.0204271923156778 -14360,0.7502541156485745 -14361,0.5482346337689398 -14362,0.4979296937758533 -14363,0.015226491085196803 -14364,0.7999761775639177 -14365,0.21647115916629756 -14366,0.6152548580516717 -14367,0.42684710915943913 -14368,0.553877833071911 -14369,0.5259381800541003 -14370,0.5889949810136099 -14371,0.2590862973340855 -14372,0.22356254155205957 -14373,0.4809562104952809 -14374,0.8746011421873335 -14375,0.4479146882293582 -14376,0.7005333947936997 -14377,0.6806890235565836 -14378,0.5525613592724831 -14379,0.10311555369635039 -14380,0.049551876249084414 -14381,0.8848418777236244 -14382,0.9420857882664395 -14383,0.5552721842409336 -14384,0.17701215680091353 -14385,0.32980119549198705 -14386,0.8404074554549452 -14387,0.865743692281947 -14388,0.9260470542015197 -14389,0.6305604881779928 -14390,0.3985778780459285 -14391,0.8852259750435701 -14392,0.5822652680734932 -14393,0.17346294427991749 -14394,0.382272328989133 -14395,0.3883361745389601 -14396,0.4510013074063125 -14397,0.0819319564713733 -14398,0.8576752642547363 -14399,0.01745114511362844 -14400,0.3665557823498291 -14401,0.7159456322558627 -14402,0.9228649435032538 -14403,0.964921404052084 -14404,0.23112295182789167 -14405,0.298681824494198 -14406,0.3629859155592129 -14407,0.9955105518338233 -14408,0.8543640743725013 -14409,0.2159732032982984 -14410,0.27949645746032403 -14411,0.8924458643626813 -14412,0.49721796700953325 -14413,0.06327471779153993 -14414,0.7677531580915381 -14415,0.10226091524229097 -14416,0.4860987447138224 -14417,0.69076986305808 -14418,0.43387244956652216 -14419,0.703835955291429 -14420,0.8503658045896344 -14421,0.11047286540100609 -14422,0.12476921822456455 -14423,0.29901141347724913 -14424,0.4115194403440152 -14425,0.3678369501493024 -14426,0.32062923515703523 -14427,0.7899662042227493 -14428,0.8593440762586271 -14429,0.018107770343255503 -14430,0.054651894894062414 -14431,0.1954379596600634 -14432,0.7997025470178949 -14433,0.8245670615891918 -14434,0.8137330398240298 -14435,0.5713710240598303 -14436,0.6357996189408105 -14437,0.8739931289878293 -14438,0.9804263052431662 -14439,0.512001194617436 -14440,0.4233749057800563 -14441,0.6344607938125406 -14442,0.2772339886124996 -14443,0.9850333661554186 -14444,0.9393130040969931 -14445,0.09336983882485494 -14446,0.16548040706242018 -14447,0.4740472251776364 -14448,0.45893659501275674 -14449,0.9701786958550958 -14450,0.4511311972278892 -14451,0.8010389687279075 -14452,0.39627496224355785 -14453,0.5549162632676823 -14454,0.06655785835602368 -14455,0.7306697905920634 -14456,0.03745663356958495 -14457,0.03856249683291324 -14458,0.45855802679191815 -14459,0.773101583000575 -14460,0.5710333128563785 -14461,0.7373401846936797 -14462,0.34365382138328915 -14463,0.7872475333842395 -14464,0.7828822848236012 -14465,0.6033508990702299 -14466,0.873889447729139 -14467,0.6964485094739398 -14468,0.8790786835100736 -14469,0.7463160518164366 -14470,0.130917522552078 -14471,0.045995502581828385 -14472,0.6103692862607698 -14473,0.7553480070431192 -14474,0.9218016771728003 -14475,0.7559284694432984 -14476,0.7668127334306316 -14477,0.7225605690032596 -14478,0.9707840374021272 -14479,0.5072347889284835 -14480,0.5140021719216883 -14481,0.6052674115971449 -14482,0.07242269056666173 -14483,0.5041706737955084 -14484,0.8215640962082403 -14485,0.4619969281120824 -14486,0.9419312858364993 -14487,0.5195889861450862 -14488,0.19528637311379826 -14489,0.5286276241392561 -14490,0.02072814414978119 -14491,0.45852393334691177 -14492,0.8866533951252954 -14493,0.31710714990727373 -14494,0.13479096832871407 -14495,0.9721014816099918 -14496,0.2502574021339615 -14497,0.913286531028806 -14498,0.6771343803027218 -14499,0.4653157628638308 -14500,0.0911649954326269 -14501,0.9404531486949448 -14502,0.3532630589365332 -14503,0.8011549332974589 -14504,0.41085156228237873 -14505,0.6749934583839166 -14506,0.6146791460678633 -14507,0.8376574494918532 -14508,0.1324112167639394 -14509,0.0949300051130203 -14510,0.12681698604205793 -14511,0.6341308772332991 -14512,0.1682685958085154 -14513,0.36439191544512206 -14514,0.8915203369480783 -14515,0.9904239127207046 -14516,0.7534519786137059 -14517,0.8711223666349367 -14518,0.3633747968945006 -14519,0.9769156882986507 -14520,0.36728201825699913 -14521,0.9184392054826896 -14522,0.2815723082698862 -14523,0.12304696374700685 -14524,0.02608856961065298 -14525,0.610892049613008 -14526,0.6540121437723658 -14527,0.4562855187223055 -14528,0.9544860711350321 -14529,0.8809061637749721 -14530,0.29413890849651503 -14531,0.7286530605536639 -14532,0.6191517901313871 -14533,0.5007639874107989 -14534,0.9614194934410392 -14535,0.20436511627486842 -14536,0.9056991278130995 -14537,0.7713932940240713 -14538,0.035672399540796595 -14539,0.4491536203947514 -14540,0.9253825028903943 -14541,0.7626129365462193 -14542,0.12531949566857004 -14543,0.7074229932233218 -14544,0.7490576923452018 -14545,0.26848166340740676 -14546,0.4868519354983245 -14547,0.4979619444725102 -14548,0.07135037456770488 -14549,0.30182295232622636 -14550,0.9401647244331651 -14551,0.5757447988405425 -14552,0.658047447861579 -14553,0.4384502022389154 -14554,0.20158046358220294 -14555,0.02171994195608873 -14556,0.33504556120334095 -14557,0.8399663148393269 -14558,0.14097568127884164 -14559,0.9781789391510622 -14560,0.7076248591311625 -14561,0.26850977813417565 -14562,0.9915296211775383 -14563,0.4184226856793326 -14564,0.04243163857109411 -14565,0.8526638194072362 -14566,0.21785188372956654 -14567,0.10347654578760812 -14568,0.19068938561426785 -14569,0.36808190364764115 -14570,0.9769799472292056 -14571,0.17332776284867513 -14572,0.48457511956029387 -14573,0.208003484608016 -14574,0.5607579565679597 -14575,0.04997409050340074 -14576,0.5569962255617127 -14577,0.6024043213323969 -14578,0.565850354262062 -14579,0.5091595515880479 -14580,0.19321153459333873 -14581,0.24133627544591463 -14582,0.15993814031070153 -14583,0.21103896123047572 -14584,0.029778563718460438 -14585,0.9544213989512451 -14586,0.8021970139090168 -14587,0.45189803032811915 -14588,0.2227761424977729 -14589,0.8937498905705198 -14590,0.0006236037293073649 -14591,0.6034294040218328 -14592,0.6876569284910344 -14593,0.01752431415044009 -14594,0.9675491271006103 -14595,0.547744182285431 -14596,0.5445675924057897 -14597,0.3383705119796566 -14598,0.3748170141461069 -14599,0.5641171666169639 -14600,0.09633586687491891 -14601,0.9985686252286939 -14602,0.6245899154037199 -14603,0.6896737429004562 -14604,0.28473589964064105 -14605,0.6221632723442776 -14606,0.42488381968529554 -14607,0.31604117069227566 -14608,0.7717376087215709 -14609,0.4172819462168036 -14610,0.4065951790149981 -14611,0.007658628388966138 -14612,0.5283241987891069 -14613,0.403836848217339 -14614,0.6029161128335057 -14615,0.09761069985729132 -14616,0.2811247030723597 -14617,0.10747409400145913 -14618,0.24504881617418872 -14619,0.5906934130872156 -14620,0.3752035387053104 -14621,0.6937041644440038 -14622,0.9397376237972064 -14623,0.2893678546135433 -14624,0.4666383788724776 -14625,0.08326348418642704 -14626,0.9592364507081891 -14627,0.10763451279795866 -14628,0.672265688821201 -14629,0.5832160344087369 -14630,0.9546402407045382 -14631,0.39320881151577647 -14632,0.6904141734360114 -14633,0.14372289450247944 -14634,0.056309097457160395 -14635,0.70297759058117 -14636,0.5855264936378567 -14637,0.06999336808836631 -14638,0.2678959181955777 -14639,0.9344024401915024 -14640,0.19658797537344463 -14641,0.18227764543715208 -14642,0.5456093082320489 -14643,0.8729524767188398 -14644,0.26584130966282427 -14645,0.49226520386701167 -14646,0.8138171573106817 -14647,0.46674276691076255 -14648,0.7351036161936462 -14649,0.1259539360057046 -14650,0.20392725794968425 -14651,0.4774020486435062 -14652,0.3616828625333728 -14653,0.24768094457629142 -14654,0.3802892144981398 -14655,0.4742545131186452 -14656,0.6118420390067593 -14657,0.9146343360502969 -14658,0.15755357279044824 -14659,0.7193404678648163 -14660,0.6938149550316609 -14661,0.05398208196315257 -14662,0.1576594624853993 -14663,0.7228186326016539 -14664,0.5458996767812795 -14665,0.7535845945523991 -14666,0.9032901454046017 -14667,0.657185228248996 -14668,0.8878168933144938 -14669,0.32200017571203854 -14670,0.8465640180639209 -14671,0.469556922638395 -14672,0.36603232005769093 -14673,0.19957180531893892 -14674,0.4619598828873085 -14675,0.029678879727660923 -14676,0.562694953919174 -14677,0.10927895822289324 -14678,0.2052772603430445 -14679,0.19866981632380676 -14680,0.0580071233414563 -14681,0.4573577154178209 -14682,0.19985263620116234 -14683,0.6729165080188935 -14684,0.23075837328665694 -14685,0.5308219217738898 -14686,0.6206628955813507 -14687,0.9626428606958501 -14688,0.053393040944413994 -14689,0.08405347839401445 -14690,0.4251492061282839 -14691,0.6217021343875694 -14692,0.9580704580514113 -14693,0.3393955627080969 -14694,0.9242688120482278 -14695,0.5106420231797829 -14696,0.3739807716885629 -14697,0.062231372520486605 -14698,0.1997418440219274 -14699,0.4762682145097237 -14700,0.6942883068972076 -14701,0.8288908204617317 -14702,0.23720904677251253 -14703,0.18690848162658313 -14704,0.8876881203180734 -14705,0.4038423619749273 -14706,0.7591857341664013 -14707,0.6557035345130994 -14708,0.8607857549961616 -14709,0.8465171182979088 -14710,0.8520754528916182 -14711,0.7623802533732181 -14712,0.05002842681281772 -14713,0.6885713001672323 -14714,0.6079928701064807 -14715,0.0524663551346064 -14716,0.220579078927847 -14717,0.198679981903503 -14718,0.05914073554922561 -14719,0.7787565623856552 -14720,0.9457279126628216 -14721,0.7330844675871855 -14722,0.3474248119374127 -14723,0.7257595503516182 -14724,0.15367745485833229 -14725,0.6704804301080457 -14726,0.45346383001534696 -14727,0.8079765718926148 -14728,0.1561555893597738 -14729,0.6676717761787463 -14730,0.02985563376649647 -14731,0.33138709737730354 -14732,0.8174326638471261 -14733,0.5983261513900531 -14734,0.8014427883062234 -14735,0.4930514421799016 -14736,0.4335259092109375 -14737,0.4836946753363611 -14738,0.2024590398608801 -14739,0.3732670761073903 -14740,0.6115071360712011 -14741,0.11720499909732895 -14742,0.3501057770494389 -14743,0.2721690264806189 -14744,0.5229600574769261 -14745,0.6639148335903617 -14746,0.630223453586378 -14747,0.9691613854081366 -14748,0.6288577326901627 -14749,0.4689560583604172 -14750,0.6006294277695625 -14751,0.6209669455243607 -14752,0.7969504349037324 -14753,0.36534515163858805 -14754,0.8809633573768058 -14755,0.8000940911339383 -14756,0.5379088518853362 -14757,0.3118292771478549 -14758,0.6661262212314103 -14759,0.8958576857998619 -14760,0.9446511143067972 -14761,0.43513336905142175 -14762,0.3605361617351315 -14763,0.5667987966583905 -14764,0.2662642273709023 -14765,0.42551303254295914 -14766,0.846669071184517 -14767,0.030015883863360626 -14768,0.09917639403333778 -14769,0.9416090248063889 -14770,0.07855383770585567 -14771,0.029481455085635155 -14772,0.9280408973497192 -14773,0.3237851973967272 -14774,0.22855042234378253 -14775,0.45392398302912373 -14776,0.39868524100941405 -14777,0.20559044813637428 -14778,0.20995406869761346 -14779,0.47149952765978653 -14780,0.3512853399734023 -14781,0.8456687229864496 -14782,0.9998102059324414 -14783,0.6698443391027068 -14784,0.8824228642599854 -14785,0.09486754157846344 -14786,0.6380178055322607 -14787,0.6037931897133616 -14788,0.8183372868221521 -14789,0.23796604845336988 -14790,0.13282657810874698 -14791,0.5279356388637418 -14792,0.19904054607385469 -14793,0.10407283821257318 -14794,0.7667721460250203 -14795,0.0779539281923396 -14796,0.5791393081675194 -14797,0.1900676093632816 -14798,0.38692960959163836 -14799,0.19337977838514142 -14800,0.4406391485133301 -14801,0.8438584805821374 -14802,0.8004787052063271 -14803,0.8143702285169354 -14804,0.967123607249779 -14805,0.4364625297603998 -14806,0.8631063464422021 -14807,0.687698618929573 -14808,0.9976853281643251 -14809,0.6240329931321641 -14810,0.08446596160423159 -14811,0.17887764282026797 -14812,0.38931855979431096 -14813,0.15906824106157447 -14814,0.37979988458253233 -14815,0.3871303652958803 -14816,0.44383359469737116 -14817,0.507948141752084 -14818,0.6970029429546373 -14819,0.887995307848244 -14820,0.8719988021980237 -14821,0.07558385557097824 -14822,0.33107854573049034 -14823,0.8992413149058741 -14824,0.7959990185944176 -14825,0.26518393463538537 -14826,0.8484361316213812 -14827,0.4679209496375071 -14828,0.82263769350404 -14829,0.7270369559403413 -14830,0.6029153442146348 -14831,0.50927364366109 -14832,0.14438197997504854 -14833,0.10237611630223153 -14834,0.39197299526876184 -14835,0.10575079118552799 -14836,0.14321684026126325 -14837,0.36357406041055984 -14838,0.7722111233424274 -14839,0.807277928319528 -14840,0.24608082440454548 -14841,0.7107651270934632 -14842,0.4771028452228744 -14843,0.9620102823378164 -14844,0.24616771239782975 -14845,0.7556048633627775 -14846,0.6878301581378337 -14847,0.6146364992155913 -14848,0.7740010074337995 -14849,0.5668001118681144 -14850,0.7215901102231128 -14851,0.37721398158510766 -14852,0.6529117922656626 -14853,0.8297359844556327 -14854,0.31945221416091585 -14855,0.028309397299477013 -14856,0.6700705376160817 -14857,0.15059710636628587 -14858,0.7559228649302677 -14859,0.9092462232782393 -14860,0.6315361759295319 -14861,0.37046229121103647 -14862,0.541615917096399 -14863,0.2576955204308651 -14864,0.7166195214962069 -14865,0.3253010680326244 -14866,0.6433164341685482 -14867,0.7420147282152686 -14868,0.39498524669480994 -14869,0.3562882304324907 -14870,0.16484059433941234 -14871,0.6112463685046257 -14872,0.7121560763032325 -14873,0.8165964108231472 -14874,0.2073822880640518 -14875,0.22481215869885984 -14876,0.9121131738825281 -14877,0.82090882029797 -14878,0.8890826493731032 -14879,0.0216563171881744 -14880,0.5613488864624349 -14881,0.8370715762859606 -14882,0.8919327573360037 -14883,0.38636171909643535 -14884,0.8391775028046435 -14885,0.8872688236964413 -14886,0.20390233472559316 -14887,0.5382357568099487 -14888,0.333054333754199 -14889,0.8802475984310022 -14890,0.41069490705715295 -14891,0.46120625299035967 -14892,0.07760211047499477 -14893,0.6637858524434038 -14894,0.08517439311735597 -14895,0.5433689386974723 -14896,0.7890703643800662 -14897,0.012844886909614384 -14898,0.9126776281748309 -14899,0.8655785039206119 -14900,0.05656245443800734 -14901,0.7629866677467448 -14902,0.8291780744445058 -14903,0.11482022507572154 -14904,0.25265962591311963 -14905,0.5652208122257587 -14906,0.920696736235102 -14907,0.0810684641148186 -14908,0.6126149442874593 -14909,0.13268292572458018 -14910,0.43561793338584964 -14911,0.8537092527368629 -14912,0.7028826417824368 -14913,0.02397174677664149 -14914,0.4473057220974772 -14915,0.08848844606674144 -14916,0.02103020226960184 -14917,0.6732650172780472 -14918,0.9863058325853316 -14919,0.8546315528851117 -14920,0.7703769583143674 -14921,0.9526856603344804 -14922,0.8833541045258629 -14923,0.7339248283489365 -14924,0.2192102025944206 -14925,0.1840097563246763 -14926,0.33467484477925147 -14927,0.02330437100871474 -14928,0.5369431010539772 -14929,0.011969682017206384 -14930,0.37682953602511526 -14931,0.6154022790953699 -14932,0.38358742124112766 -14933,0.3879817129868881 -14934,0.09971331069371536 -14935,0.34938022579469485 -14936,0.2500099861779548 -14937,0.34779723029205867 -14938,0.8635644997451174 -14939,0.9024036212646785 -14940,0.8970193595486389 -14941,0.8262536492482121 -14942,0.809469413864073 -14943,0.17573035609787835 -14944,0.1705062642569386 -14945,0.2731723231488513 -14946,0.18800426856857388 -14947,0.08885822017980072 -14948,0.6955663223655532 -14949,0.9037778359486908 -14950,0.7938380765326246 -14951,0.8004133459585835 -14952,0.9982238891969718 -14953,0.2533768157908194 -14954,0.7549460297312621 -14955,0.725251807387336 -14956,0.4213401101977521 -14957,0.2735566153538852 -14958,0.4404406468725912 -14959,0.6740024457152295 -14960,0.05106374610378228 -14961,0.2385570112211035 -14962,0.9137176449859234 -14963,0.4011897032266182 -14964,0.012925122120519439 -14965,0.6358085947993324 -14966,0.3204749808477457 -14967,0.08966374210013428 -14968,0.1366972665193339 -14969,0.29294537762074235 -14970,0.10346438581282269 -14971,0.5950297031583216 -14972,0.03949429014091055 -14973,0.7965662808545021 -14974,0.931413898227002 -14975,0.10573599351794916 -14976,0.15625505763720515 -14977,0.9591306562779602 -14978,0.9193780436365513 -14979,0.5996808070024077 -14980,0.6008624594695817 -14981,0.9963838648037983 -14982,0.7520150970566962 -14983,0.2575148721421061 -14984,0.7327839379083301 -14985,0.3655298630084315 -14986,0.24874010341925934 -14987,0.6074407583293406 -14988,0.3212945211868715 -14989,0.8618762285369913 -14990,0.8464598243847212 -14991,0.9999847096606129 -14992,0.44432850676945623 -14993,0.7793707760006752 -14994,0.13340393166009334 -14995,0.4950721010392861 -14996,0.045522223266287076 -14997,0.1601774539924925 -14998,0.9718831406732733 -14999,0.7653811537994907 -15000,0.3162531813332333 -15001,0.36295624332865717 -15002,0.10473148403689736 -15003,0.2983846438901018 -15004,0.30585775789533753 -15005,0.8114706904118394 -15006,0.6731466863710733 -15007,0.03405633229694138 -15008,0.15501014811284686 -15009,0.17282667268290985 -15010,0.9143406675502173 -15011,0.6487716626937272 -15012,0.10193826746458301 -15013,0.3233688784386958 -15014,0.2975974376427488 -15015,0.396350779790561 -15016,0.14177858727949322 -15017,0.35225867052464366 -15018,0.9255103704799391 -15019,0.24071458958398095 -15020,0.2905998300621214 -15021,0.05215405252104155 -15022,0.7286508641635605 -15023,0.3573377925538117 -15024,0.727194706056161 -15025,0.558717010641981 -15026,0.34770992734466344 -15027,0.12457410841894367 -15028,0.6018030857342541 -15029,0.8251781254759525 -15030,0.017133306992655584 -15031,0.014498190950621881 -15032,0.11443824157055371 -15033,0.3680939651873736 -15034,0.26404544187964374 -15035,0.1650063508383416 -15036,0.20735755100941644 -15037,0.44969242234701035 -15038,0.7792319930218095 -15039,0.20931634664964105 -15040,0.6870617928861688 -15041,0.1554770862047653 -15042,0.9086475851630831 -15043,0.9278808870401773 -15044,0.23961499578313816 -15045,0.5303977546441084 -15046,0.9981367981423817 -15047,0.9913310217682639 -15048,0.4214859738917396 -15049,0.23765871377841197 -15050,0.8904903132033332 -15051,0.9303998863660582 -15052,0.6845524783932015 -15053,0.4624605272262402 -15054,0.3963498409606854 -15055,0.7246958262582146 -15056,0.8227872686178752 -15057,0.7745831712696557 -15058,0.6740074618626782 -15059,0.8164626390914049 -15060,0.6194608214585459 -15061,0.33029938826578964 -15062,0.42660272767072227 -15063,0.02766083235989658 -15064,0.40843853016440346 -15065,0.06892712749095242 -15066,0.4710491350071071 -15067,0.04988580577299573 -15068,0.8274368748717235 -15069,0.5631102956741467 -15070,0.5648130655500269 -15071,0.5491349797201006 -15072,0.34383823140551595 -15073,0.948362461763137 -15074,0.0574539452575743 -15075,0.5342851542593698 -15076,0.7532330436953122 -15077,0.8296509977435625 -15078,0.3145041725369363 -15079,0.4868075585459506 -15080,0.2598331851480631 -15081,0.5022114600070613 -15082,0.1882703200873046 -15083,0.21763274167496927 -15084,0.9918843505072501 -15085,0.34694922017910124 -15086,0.8276333031405719 -15087,0.6206000962144368 -15088,0.9842941224691523 -15089,0.44664245099770883 -15090,0.11416317847827318 -15091,0.27362464414224374 -15092,0.3391850459735609 -15093,0.31143798315600857 -15094,0.3183796746936901 -15095,0.9382659411859482 -15096,0.09281111913985662 -15097,0.23022278558972264 -15098,0.7589046720921057 -15099,0.26233298568553953 -15100,0.6143303205112272 -15101,0.6909968613200619 -15102,0.35424481709014866 -15103,0.6976138886882886 -15104,0.6767272862029263 -15105,0.31589912147229815 -15106,0.6117162959501308 -15107,0.5147369306099661 -15108,0.9933208998603925 -15109,0.08451122977735692 -15110,0.08111491331658949 -15111,0.6545379934140719 -15112,0.71440966312892 -15113,0.769421285244063 -15114,0.3045359275542445 -15115,0.7113922668089385 -15116,0.9308130388325897 -15117,0.09608811446991383 -15118,0.04671477213926489 -15119,0.16945327885489625 -15120,0.127032116835061 -15121,0.28713283529094913 -15122,0.5488857870827102 -15123,0.1327456192303038 -15124,0.1690971702551307 -15125,0.9520489494934621 -15126,0.6785789663685571 -15127,0.937967548167886 -15128,0.9374061511561246 -15129,0.6896891203102885 -15130,0.676023099785321 -15131,0.09877721359316283 -15132,0.808190157977288 -15133,0.8293626298605402 -15134,0.07120399326045701 -15135,0.8801876718776034 -15136,0.39971140798013893 -15137,0.6243424056933773 -15138,0.84605781951786 -15139,0.19868834126084034 -15140,0.014827376988675423 -15141,0.36999379059982906 -15142,0.10207224223137012 -15143,0.548717659752457 -15144,0.5213119775979147 -15145,0.7623416855369421 -15146,0.7719152377814229 -15147,0.10460626427384323 -15148,0.8164967127701451 -15149,0.06824978338410781 -15150,0.889175281062462 -15151,0.03827202643673655 -15152,0.29319097232054825 -15153,0.05268734464421643 -15154,0.4390697130735346 -15155,0.15186020338669814 -15156,0.3457251492652783 -15157,0.6210280563074179 -15158,0.7888232265332016 -15159,0.1879907568539 -15160,0.06330189958117749 -15161,0.19726441123725513 -15162,0.7822476307942962 -15163,0.48839355856818745 -15164,0.2955410218201675 -15165,0.7645254992560342 -15166,0.9467676412736221 -15167,0.7595406784089277 -15168,0.7158244578039435 -15169,0.8295125223875622 -15170,0.9379670009856125 -15171,0.5296058427600085 -15172,0.6164843280066731 -15173,0.14294717861650363 -15174,0.8711019469984852 -15175,0.887230725204888 -15176,0.6294477019816498 -15177,0.9931955535783962 -15178,0.7132296014943353 -15179,0.3290534136419785 -15180,0.9268331684861981 -15181,0.5052164997501211 -15182,0.13643715042144888 -15183,0.1587275265615069 -15184,0.9700239763554999 -15185,0.8449617439579601 -15186,0.057546724095882684 -15187,0.7520842774210703 -15188,0.6455725903973337 -15189,0.8776620947651272 -15190,0.5978037324333656 -15191,0.37871301981558114 -15192,0.009774422359548063 -15193,0.24670393146186775 -15194,0.20221645730461468 -15195,0.6152172226860417 -15196,0.3295267746849255 -15197,0.6863003367165552 -15198,0.3390456983970407 -15199,0.2560854700627708 -15200,0.4122106964887665 -15201,0.48619771031241443 -15202,0.48120255301777104 -15203,0.5890838669908274 -15204,0.8540350458490016 -15205,0.5155363932652506 -15206,0.8508461876490054 -15207,0.8011469983361552 -15208,0.7055074369856928 -15209,0.06370732478481833 -15210,0.8993665986343632 -15211,0.6851963164027054 -15212,0.6691748752318467 -15213,0.18222233850482383 -15214,0.8349288561093463 -15215,0.04989245194789682 -15216,0.5510013917208171 -15217,0.593808018768789 -15218,0.145167471260774 -15219,0.6346864205186606 -15220,0.2121223457970871 -15221,0.41008013685570643 -15222,0.37498415084735925 -15223,0.498257472737771 -15224,0.8877110681635565 -15225,0.9873359912337486 -15226,0.3064796324101283 -15227,0.2620154450283303 -15228,0.8215832148870206 -15229,0.04197168487432712 -15230,0.6773499048230698 -15231,0.10259393596827315 -15232,0.13415636695496702 -15233,0.1899038533386328 -15234,0.976064873069157 -15235,0.7259072959475282 -15236,0.666046183312121 -15237,0.38784638416133244 -15238,0.1110018423805198 -15239,0.49984757458982254 -15240,0.537013655179772 -15241,0.7032932953911636 -15242,0.6511447822822004 -15243,0.03930355810112407 -15244,0.8838200917439928 -15245,0.2778425764520669 -15246,0.6678666122528634 -15247,0.11514977882969624 -15248,0.42274971192955035 -15249,0.6425999743716753 -15250,0.7666609266092029 -15251,0.25605300072965 -15252,0.3396647356525 -15253,0.7484159202251799 -15254,0.5361094105027429 -15255,0.7836287110628412 -15256,0.4454910890107714 -15257,0.932074182715485 -15258,0.04423425661566238 -15259,0.45631580596962906 -15260,0.8800293268226876 -15261,0.7792395064893309 -15262,0.9853716613444885 -15263,0.9745351472748844 -15264,0.9177405879769321 -15265,0.8000405066813192 -15266,0.6245477491372835 -15267,0.39234737187128055 -15268,0.509611588637995 -15269,0.5349796376869472 -15270,0.5274506290676905 -15271,0.031880601872090075 -15272,0.7783066140784387 -15273,0.5919389306676764 -15274,0.8878066366324557 -15275,0.7248067909146878 -15276,0.06911750659554217 -15277,0.25161606835917116 -15278,0.6615113010733639 -15279,0.762843842938825 -15280,0.138656793301266 -15281,0.12478482514861167 -15282,0.6529628137181558 -15283,0.5377139675762654 -15284,0.44449020461636 -15285,0.02162156287545658 -15286,0.33002081348939794 -15287,0.234272941885301 -15288,0.4386672228884999 -15289,0.8241533507216742 -15290,0.9044036377962729 -15291,0.48661581782558017 -15292,0.8059910931270432 -15293,0.5320262075028338 -15294,0.11072468222383192 -15295,0.9490084846309388 -15296,0.2639939678090224 -15297,0.20313612904856426 -15298,0.3069603493006692 -15299,0.7441613783612339 -15300,0.878953920185996 -15301,0.29061165755337015 -15302,0.7119902133305483 -15303,0.9177150689988645 -15304,0.18654824143729942 -15305,0.03867224613189113 -15306,0.2871384675662133 -15307,0.24175791066068042 -15308,0.7093057254551473 -15309,0.07069496765790195 -15310,0.770516571300199 -15311,0.3037272602950998 -15312,0.5304060467397538 -15313,0.4669045472333807 -15314,0.40546707630268486 -15315,0.441747102797037 -15316,0.3826873851867941 -15317,0.5471133418795143 -15318,0.7700569598617855 -15319,0.33084176991986836 -15320,0.5288964723388849 -15321,0.1797645199939073 -15322,0.68140161355536 -15323,0.6847406456136828 -15324,0.9051796764779969 -15325,0.5652869160427564 -15326,0.21132710775090147 -15327,0.7909412734088591 -15328,0.1887628116282577 -15329,0.6758210740629856 -15330,0.3809547006163825 -15331,0.5895069439890418 -15332,0.34675374612050114 -15333,0.9399688896950249 -15334,0.6028144156796945 -15335,0.48490233965996465 -15336,0.0214746914805507 -15337,0.5320025911861335 -15338,0.9459657504159478 -15339,0.9166293013086597 -15340,0.7597830660208302 -15341,0.579609263109317 -15342,0.17096467286476102 -15343,0.8030858535829646 -15344,0.06870261466360617 -15345,0.23951041754318625 -15346,0.44359347988508346 -15347,0.5266421764055655 -15348,0.8670247665025614 -15349,0.18042985395662592 -15350,0.06870106825985711 -15351,0.6854202652023658 -15352,0.3907229900680441 -15353,0.8302722339158118 -15354,0.21619387806780754 -15355,0.41348174544616745 -15356,0.34240561856097596 -15357,0.5282336856951846 -15358,0.8676173503421312 -15359,0.732299096548589 -15360,0.3456533573917051 -15361,0.779407727392933 -15362,0.2529144968926733 -15363,0.6080804107544691 -15364,0.7376365638535641 -15365,0.0699575782188474 -15366,0.006772012419811513 -15367,0.012277368295012914 -15368,0.40307826289873305 -15369,0.08761551208032425 -15370,0.9898638591255899 -15371,0.22584863671577482 -15372,0.11486837086542945 -15373,0.6970255549017359 -15374,0.9762259492200236 -15375,0.2342413272366095 -15376,0.8314037425482349 -15377,0.44624670245161335 -15378,0.3337911966089483 -15379,0.2993597645050322 -15380,0.17278650328213885 -15381,0.5917163576297049 -15382,0.15991185715804723 -15383,0.7028726539618699 -15384,0.6788980541748469 -15385,0.5719455367803059 -15386,0.12236207517315234 -15387,0.2670363293017254 -15388,0.3819843803359092 -15389,0.8303318293094344 -15390,0.47081777108060086 -15391,0.6598748608651573 -15392,0.8901465076318082 -15393,0.1759903906586886 -15394,0.6546786304907825 -15395,0.4743377518235151 -15396,0.7325823177070042 -15397,0.7440836310646707 -15398,0.8720540224556008 -15399,0.39822451584894003 -15400,0.4262101284416421 -15401,0.5914524518874419 -15402,0.3522936212795733 -15403,0.004580524700831257 -15404,0.397358173205104 -15405,0.1373085682983035 -15406,0.24057675342762264 -15407,0.9803763281598765 -15408,0.4809946931946384 -15409,0.0023880348898740467 -15410,0.13797454725626423 -15411,0.6098560703203436 -15412,0.487693896314372 -15413,0.24567543201423248 -15414,0.553087782028252 -15415,0.11727698235481365 -15416,0.8198597878658268 -15417,0.4489976698922262 -15418,0.8570180885132381 -15419,0.1679280613481159 -15420,0.7018402477805936 -15421,0.08131562646604606 -15422,0.5004526416613316 -15423,0.6088419494097563 -15424,0.47166850142893624 -15425,0.927045512977712 -15426,0.37097916338654635 -15427,0.8484738639003084 -15428,0.28863138013568057 -15429,0.9328859358595404 -15430,0.4780466179678273 -15431,0.585561580611021 -15432,0.9416823384435005 -15433,0.5913833150137645 -15434,0.33641285348649275 -15435,0.03639708333184255 -15436,0.22278787010914292 -15437,0.7431566566616176 -15438,0.08163142146973457 -15439,0.7563826543519412 -15440,0.05859978186948345 -15441,0.6245080802488082 -15442,0.17813462045998596 -15443,0.49629397846941437 -15444,0.6574450357487047 -15445,0.5722682383806129 -15446,0.15996995846310802 -15447,0.670721528918893 -15448,0.7023235138989569 -15449,0.41592663925987516 -15450,0.3524042217003077 -15451,0.9497726314299494 -15452,0.737099745174627 -15453,0.17514827100072794 -15454,0.9238338557789192 -15455,0.9643644625437153 -15456,0.5240406975529093 -15457,0.05463226359087325 -15458,0.3289032715803566 -15459,0.8630919451833146 -15460,0.5149417346486873 -15461,0.432955692547085 -15462,0.28264640256426377 -15463,0.34033847499436964 -15464,0.8112243064927831 -15465,0.14810324424858146 -15466,0.7116960239902197 -15467,0.9917696357630941 -15468,0.8210193475916878 -15469,0.9669163599524492 -15470,0.9230250201804696 -15471,0.5000177258649757 -15472,0.5880880948138324 -15473,0.10013527301103886 -15474,0.4652514440406035 -15475,0.24079152979562013 -15476,0.25400009862316164 -15477,0.9183557555840864 -15478,0.05400697396496157 -15479,0.039899996396098425 -15480,0.9442526766899183 -15481,0.8447060209715279 -15482,0.7102192219378892 -15483,0.8630231789094476 -15484,0.07729988764126616 -15485,0.856907513380261 -15486,0.18131278528052053 -15487,0.070692853708066 -15488,0.5311710341253989 -15489,0.8795819888437169 -15490,0.47428857285706494 -15491,0.7217400818518244 -15492,0.9525011608408112 -15493,0.1884844970700016 -15494,0.9283367867860792 -15495,0.07864243044352293 -15496,0.6362477981159063 -15497,0.8004771416174353 -15498,0.4260609415031942 -15499,0.5443958000337747 -15500,0.023532444884439174 -15501,0.32071711919624124 -15502,0.9399172561374033 -15503,0.9387776878909948 -15504,0.9285470530854274 -15505,0.05343300695651343 -15506,0.6443036139117277 -15507,0.0420664497986275 -15508,0.2252075774292731 -15509,0.5444936966474394 -15510,0.7557104350344774 -15511,0.13742830536423067 -15512,0.9849682266609748 -15513,0.9983994704799298 -15514,0.5022979968182092 -15515,0.7353167133638839 -15516,0.7376142543693899 -15517,0.9373298238024144 -15518,0.5806616767371268 -15519,0.8469409061474249 -15520,0.41095486405390425 -15521,0.0657080143521116 -15522,0.044066042759630886 -15523,0.41515639521858816 -15524,0.6549276321240521 -15525,0.8947505852216456 -15526,0.07603149740807913 -15527,0.20511620401802821 -15528,0.11837797691733176 -15529,0.3595499426089458 -15530,0.8846511684694519 -15531,0.662701324379187 -15532,0.058453434475220334 -15533,0.5679052726152288 -15534,0.703900625034724 -15535,0.6790285407264549 -15536,0.24581295805241232 -15537,0.22631471985406215 -15538,0.15112767924564985 -15539,0.6023098170625526 -15540,0.3337710296611709 -15541,0.30625627404799094 -15542,0.16260576962251072 -15543,0.8167491637251147 -15544,0.9309545106997409 -15545,0.4703001909843054 -15546,0.3534295609845264 -15547,0.4741535238003812 -15548,0.5457911120621802 -15549,0.978024736117738 -15550,0.4830261560645095 -15551,0.05828794506558144 -15552,0.5087607836347986 -15553,0.13301847060230887 -15554,0.8752347106954105 -15555,0.6398130096106234 -15556,0.19749970891189894 -15557,0.2525030900975518 -15558,0.5254641821325546 -15559,0.10255691744983153 -15560,0.9115495112433437 -15561,0.4359936636430216 -15562,0.534620101774472 -15563,0.6289884343065433 -15564,0.7243976043729682 -15565,0.43010709776560885 -15566,0.3927566791500807 -15567,0.08328790566432742 -15568,0.20278949374080446 -15569,0.7211072732156135 -15570,0.12107467571051089 -15571,0.47544167710735186 -15572,0.4786676512959951 -15573,0.9444429914913659 -15574,0.569208963739193 -15575,0.15417104798881154 -15576,0.7405065326394463 -15577,0.9811110309285815 -15578,0.29166085325583324 -15579,0.7655435627945961 -15580,0.6737410175748803 -15581,0.8805185333491109 -15582,0.5814678414007133 -15583,0.9033653678247346 -15584,0.21338853055597506 -15585,0.10942913214659922 -15586,0.5907245603829312 -15587,0.143110393843909 -15588,0.8560195132647763 -15589,0.3116527790823591 -15590,0.6080615074057625 -15591,0.9578212403695475 -15592,0.5934458228784022 -15593,0.5858346906809881 -15594,0.614586402038866 -15595,0.5577212008410137 -15596,0.7144428259023965 -15597,0.2057229563270736 -15598,0.48564943615606226 -15599,0.13104388113916476 -15600,0.6190489819737396 -15601,0.24590388694735532 -15602,0.6358518229825038 -15603,0.972339430849035 -15604,0.23819985203143945 -15605,0.30092663628820726 -15606,0.05424162392700638 -15607,0.8211624429163406 -15608,0.7185078092772779 -15609,0.08157170144774806 -15610,0.22990585121785534 -15611,0.39389753436121033 -15612,0.44881996876555674 -15613,0.8911951863562384 -15614,0.8632494358575509 -15615,0.708877442250815 -15616,0.5228665739296551 -15617,0.501210209777539 -15618,0.265631374615112 -15619,0.7205833454935073 -15620,0.8917547838878302 -15621,0.8079726617168314 -15622,0.2970260246286719 -15623,0.2655878907863566 -15624,0.8592490614540227 -15625,0.564553057567986 -15626,0.5291489377337715 -15627,0.8612377058785208 -15628,0.3306578862588839 -15629,0.24405621842648895 -15630,0.8757047700511332 -15631,0.651970603774375 -15632,0.019511679187293463 -15633,0.3579657749931131 -15634,0.02728526567575229 -15635,0.8894076626938195 -15636,0.22613538846406922 -15637,0.13074144612048655 -15638,0.3210815576435595 -15639,0.1282029859179783 -15640,0.07547684745540506 -15641,0.6798281745879381 -15642,0.48230896931325073 -15643,0.44846072791960967 -15644,0.1104881247531041 -15645,0.08368863329413034 -15646,0.20661953571316305 -15647,0.5949300242198545 -15648,0.7147927025033073 -15649,0.45388649973931317 -15650,0.6906718823705046 -15651,0.8632713145982689 -15652,0.7268323395382646 -15653,0.7638199998081436 -15654,0.9130328235283764 -15655,0.3255662666863013 -15656,0.49549854401320115 -15657,0.3564967793264642 -15658,0.31114259435972447 -15659,0.9449693369643664 -15660,0.4505698903103389 -15661,0.7915414518142702 -15662,0.5642896516672062 -15663,0.9470183257942666 -15664,0.004362889150668736 -15665,0.8138831088213916 -15666,0.5790020581624371 -15667,0.28301432773215884 -15668,0.029521883109569158 -15669,0.10116336972221585 -15670,0.5807168931794311 -15671,0.8470840385368664 -15672,0.9170985697808761 -15673,0.014553456305689938 -15674,0.37836700461626127 -15675,0.5056665157501592 -15676,0.6759398641260533 -15677,0.0824421799962557 -15678,0.9912790584819418 -15679,0.0317060743441937 -15680,0.015279049663157518 -15681,0.8955433477626841 -15682,0.5885118647701595 -15683,0.3950822724396341 -15684,0.927099638014087 -15685,0.9678472374990519 -15686,0.5625378377886718 -15687,0.8601332653773136 -15688,0.9405675758757748 -15689,0.3789061056577008 -15690,0.20664935013454577 -15691,0.0873856821884772 -15692,0.4828217608593357 -15693,0.3642955052357483 -15694,0.6110808780340172 -15695,0.6809452794884798 -15696,0.21181975208800152 -15697,0.5611739750980438 -15698,0.6310541988773101 -15699,0.6344888750507549 -15700,0.5912794498876702 -15701,0.678407602349647 -15702,0.759783555950773 -15703,0.13926200841074865 -15704,0.4294710132572398 -15705,0.39087197437733845 -15706,0.2306486005524495 -15707,0.7726759773839403 -15708,0.8752383918087197 -15709,0.5426333535395156 -15710,0.0858043239179751 -15711,0.10663303944073943 -15712,0.5917435299897594 -15713,0.9558153619039923 -15714,0.09572489528053196 -15715,0.04689552754126014 -15716,0.27511458815637624 -15717,0.44072255172009245 -15718,0.738105417801975 -15719,0.04943762561659204 -15720,0.56773901710392 -15721,0.18409674535680542 -15722,0.09839468324366984 -15723,0.2177797727264108 -15724,0.994893138464488 -15725,0.6924338358509748 -15726,0.9991633251240336 -15727,0.08729661380184683 -15728,0.30528611267549155 -15729,0.06152423197055501 -15730,0.6503390124143738 -15731,0.3401857040738804 -15732,0.9288913941193758 -15733,0.3993238927863533 -15734,0.19250478329639886 -15735,0.6915496583047053 -15736,0.5392243176048229 -15737,0.717661775774476 -15738,0.11235378174719413 -15739,0.42704294130555165 -15740,0.24976569331696075 -15741,0.3406813746745546 -15742,0.7995561812590685 -15743,0.5848660850917299 -15744,0.6441568778969732 -15745,0.9463732332620965 -15746,0.9751266233836707 -15747,0.5789795379548333 -15748,0.12146269894060313 -15749,0.3980388728602905 -15750,0.8743923023992046 -15751,0.6217901030033287 -15752,0.5508467517531241 -15753,0.8935897739602922 -15754,0.3398991079779522 -15755,0.564224940193731 -15756,0.41950519685984267 -15757,0.24569361751386587 -15758,0.2405172973723021 -15759,0.34116074334099167 -15760,0.9565972031937182 -15761,0.47563930448799785 -15762,0.36394812996136505 -15763,0.24571553288141734 -15764,0.9067579002352741 -15765,0.9482259468967162 -15766,0.7685814776655597 -15767,0.3994052882710072 -15768,0.4230906188221746 -15769,0.7177190170696506 -15770,0.10702260743433178 -15771,0.42317642697908486 -15772,0.827427593669352 -15773,0.8037724045181035 -15774,0.1104909872538089 -15775,0.12812280624615324 -15776,0.2498492237210138 -15777,0.7081229823364946 -15778,0.15854991182605438 -15779,0.1536867240501243 -15780,0.18196267622601647 -15781,0.20566682966253658 -15782,0.6985568885487744 -15783,0.2226214193319953 -15784,0.15063776741158874 -15785,0.5385441305538056 -15786,0.5781914496609927 -15787,0.6711997961242986 -15788,0.5050061908892846 -15789,0.9061053737622935 -15790,0.3430153133801418 -15791,0.10011572648348444 -15792,0.22607065969804518 -15793,0.8618198475131565 -15794,0.7350752113091238 -15795,0.3480642785131902 -15796,0.04015371511091659 -15797,0.6008363541917485 -15798,0.256186499138478 -15799,0.2870211748515733 -15800,0.11886908012091335 -15801,0.614244915959697 -15802,0.6709904663337631 -15803,0.3285952898105644 -15804,0.8924934974371541 -15805,0.14308159358152617 -15806,0.354920728517363 -15807,0.997291634960618 -15808,0.6140435434169226 -15809,0.8745244315637658 -15810,0.7160580199253378 -15811,0.30475197157903344 -15812,0.9857672670084884 -15813,0.016363485640314757 -15814,0.36288024290093335 -15815,0.19334908423729358 -15816,0.14964786728880042 -15817,0.5477890177099826 -15818,0.13558276512228673 -15819,0.057053617012646995 -15820,0.3995738910380008 -15821,0.056095685757998615 -15822,0.18018827928388903 -15823,0.42969401766225024 -15824,0.19086470938872335 -15825,0.8497766059708096 -15826,0.9183912210086628 -15827,0.18961113412724917 -15828,0.13393404941865317 -15829,0.0666443603600605 -15830,0.15990783408998255 -15831,0.25426830525279054 -15832,0.1364834675078549 -15833,0.7775588479793073 -15834,0.4979099557000577 -15835,0.9095252611519139 -15836,0.20441397884842438 -15837,0.37303530017210196 -15838,0.6176865860248799 -15839,0.5463522668788577 -15840,0.904380732230682 -15841,0.07013270349345846 -15842,0.12197055212597785 -15843,0.44892972084082794 -15844,0.5465333505021489 -15845,0.23382337080258286 -15846,0.7058987348319598 -15847,0.22236166647465372 -15848,0.302252204954769 -15849,0.3522829193988867 -15850,0.6225840023184354 -15851,0.35985337462026823 -15852,0.8465531545478865 -15853,0.02507422391614489 -15854,0.47197782452573533 -15855,0.4816613453687697 -15856,0.46675940992433085 -15857,0.5426283750546929 -15858,0.9200870142229365 -15859,0.2711660217720333 -15860,0.5034658296298182 -15861,0.5637886020202751 -15862,0.5495825823112314 -15863,0.4795133339443197 -15864,0.7450621503144859 -15865,0.1377753553214568 -15866,0.7567552047294754 -15867,0.40285842044788134 -15868,0.7528551530872523 -15869,0.23461339819045401 -15870,0.8872287270511182 -15871,0.38203279420740643 -15872,0.6826393701794866 -15873,0.1854702446826323 -15874,0.2422920229692096 -15875,0.20106928281997627 -15876,0.33995021944332526 -15877,0.8733538596338457 -15878,0.9085650447539235 -15879,0.12935145529931424 -15880,0.5551902644199846 -15881,0.628428887280153 -15882,0.9474703691999743 -15883,0.870639720852298 -15884,0.6237470376057876 -15885,0.8843912472393701 -15886,0.7968984729819253 -15887,0.5202627725708772 -15888,0.80615876428874 -15889,0.07125020046119956 -15890,0.15990598243849863 -15891,0.9303854572581393 -15892,0.8735944945790779 -15893,0.637964851610106 -15894,0.7163663580488723 -15895,0.5773777794406764 -15896,0.35909717405662933 -15897,0.30588120892161585 -15898,0.7848830232919245 -15899,0.28066581402986857 -15900,0.877782266590716 -15901,0.4672853066171808 -15902,0.40261528320573403 -15903,0.6809309468852046 -15904,0.8614218537719223 -15905,0.9731027417722513 -15906,8.412264371815414e-05 -15907,0.1385271041701973 -15908,0.30221335941472294 -15909,0.008877638139130783 -15910,0.23054970737588565 -15911,0.5789754300332204 -15912,0.448322326714502 -15913,0.14100626399031724 -15914,0.8891336721494848 -15915,0.23813199645691552 -15916,0.846319958384148 -15917,0.9430211549969498 -15918,0.8854141352514556 -15919,0.2831149678874658 -15920,0.27700460589620535 -15921,0.9423432628517094 -15922,0.41127179766905 -15923,0.7133861401262103 -15924,0.7707929292960283 -15925,0.9326318647166074 -15926,0.8112574494816696 -15927,0.907634426024055 -15928,0.48292024258074917 -15929,0.6711558334914028 -15930,0.5290755352849362 -15931,0.4117403644320342 -15932,0.38747264694033245 -15933,0.03963361854692238 -15934,0.25888011204335815 -15935,0.029023094708749086 -15936,0.7525766025229523 -15937,0.08173648651765975 -15938,0.46836904186464734 -15939,0.824729050713586 -15940,0.3575142429373753 -15941,0.12367546239790372 -15942,0.02673004088915998 -15943,0.6491686805462484 -15944,0.2755736197519646 -15945,0.4991531851204909 -15946,0.18949373545763393 -15947,0.8582678135006937 -15948,0.8717522222640556 -15949,0.5475762802043082 -15950,0.94063673271645 -15951,0.07754649723584506 -15952,0.6430204056883189 -15953,0.7219565337583516 -15954,0.41039149050267254 -15955,0.6892651495709505 -15956,0.09613390672850741 -15957,0.3546129758748625 -15958,0.2578561358417162 -15959,0.3052204476388537 -15960,0.10993719860453577 -15961,0.2978901282443742 -15962,0.08384722867064753 -15963,0.3290007565710704 -15964,0.34360249705346524 -15965,0.3022023909430923 -15966,0.07834856781449406 -15967,0.7337426598164303 -15968,0.8218802166119576 -15969,0.6559058091439157 -15970,0.04173269899521104 -15971,0.9813793345310435 -15972,0.3516406741672796 -15973,0.4902730385148294 -15974,0.27152745356943686 -15975,0.7122766467543699 -15976,0.19799439851170197 -15977,0.5436236602412955 -15978,0.38542772242854173 -15979,0.6826731127627109 -15980,0.5517367335221525 -15981,0.36506532942193515 -15982,0.19647603978419337 -15983,0.6977109267720475 -15984,0.9800324670958316 -15985,0.7913499446502854 -15986,0.5382382523566409 -15987,0.8453351199065977 -15988,0.24430218726984987 -15989,0.219818626401736 -15990,0.5297606678072516 -15991,0.5180975754303349 -15992,0.6719060487412976 -15993,0.20349608995719826 -15994,0.34854714821496746 -15995,0.26051300730933313 -15996,0.7746147545059077 -15997,0.933434805783112 -15998,0.1424840532691014 -15999,0.3503346051355217 -16000,0.4604633417498488 -16001,0.7739123600658173 -16002,0.3415190025414815 -16003,0.163644814141932 -16004,0.4886635777693239 -16005,0.7009641864062949 -16006,0.396984635149915 -16007,0.2409328090743834 -16008,0.07784283922355673 -16009,0.5809344404241636 -16010,0.05012841251655298 -16011,0.1726277357141638 -16012,0.541334311839694 -16013,0.6059644497984209 -16014,0.35111868884489816 -16015,0.6144207213342328 -16016,0.23193095975780742 -16017,0.40575909154308964 -16018,0.09940631752434259 -16019,0.11057567993875839 -16020,0.3450408147144376 -16021,0.5475465759679642 -16022,0.1497902076942348 -16023,0.5722908168289866 -16024,0.3122879028970714 -16025,0.6671895386770682 -16026,0.7184161440344509 -16027,0.5991150449802793 -16028,0.06618433488927578 -16029,0.8986364852568132 -16030,0.10981244975548288 -16031,0.6664923415830598 -16032,0.08270813454203496 -16033,0.11331698129661594 -16034,0.9404105910061584 -16035,0.8570989027791088 -16036,0.8491010950250603 -16037,0.7578704285228298 -16038,0.7917323409081831 -16039,0.11110868717580269 -16040,0.948423759338029 -16041,0.5997643618331131 -16042,0.09697418835901395 -16043,0.9681361605909665 -16044,0.004399696707192535 -16045,0.5431262725029808 -16046,0.6775928751312298 -16047,0.45346445382134715 -16048,0.08965993900642244 -16049,0.6552419980068009 -16050,0.8516488420597031 -16051,0.522389539981645 -16052,0.22497168731001982 -16053,0.0024223495294753983 -16054,0.5329771111850657 -16055,0.14821293332268215 -16056,0.15860584502092046 -16057,0.17204115619431115 -16058,0.6701126883268654 -16059,0.7628255949050032 -16060,0.6226791462462404 -16061,0.49304134799699384 -16062,0.9887502986129529 -16063,0.9819877119934021 -16064,0.48909775624979535 -16065,0.40200219415979266 -16066,0.850126889746554 -16067,0.19121694151527557 -16068,0.21023784388591016 -16069,0.2131361270908203 -16070,0.9810064967567558 -16071,0.6397439502222754 -16072,0.41120984853557907 -16073,0.4142943818173559 -16074,0.38039361437977504 -16075,0.41097807243852946 -16076,0.8130169946474993 -16077,0.770082961417595 -16078,0.23586569950200564 -16079,0.32197102941246003 -16080,0.48179270394220697 -16081,0.8124333159389364 -16082,0.1867231355072867 -16083,0.5731564957094808 -16084,0.26328420126102003 -16085,0.9932737720077391 -16086,0.2990760191426771 -16087,0.04140227486769721 -16088,0.5604322582015208 -16089,0.7990389340997692 -16090,0.447828182205536 -16091,0.05544001505077545 -16092,0.9592856575546133 -16093,0.9030403074469284 -16094,0.6570146897876558 -16095,0.9426687607250663 -16096,0.11822196463316925 -16097,0.15827813626699216 -16098,0.09770710070898947 -16099,0.33683963783739623 -16100,0.9264736100585295 -16101,0.4790813246430726 -16102,0.09425564421804311 -16103,0.8610638688566415 -16104,0.9380592499236294 -16105,0.916245663221947 -16106,0.8968140217191819 -16107,0.8987737973269675 -16108,0.17033794269203595 -16109,0.5204818972524217 -16110,0.5606694120230596 -16111,0.15316389523498586 -16112,0.06293502237745441 -16113,0.03266982289804832 -16114,0.45105186033183453 -16115,0.8877029306095628 -16116,0.21106524849637287 -16117,0.8695482565492998 -16118,0.2660557139190447 -16119,0.45900387087806804 -16120,0.7685429060251512 -16121,0.732090129081804 -16122,0.24310868805102637 -16123,0.6675548643005687 -16124,0.6318206332613666 -16125,0.20365132102750105 -16126,0.14748904761762982 -16127,0.22201900880806624 -16128,0.4438926951562312 -16129,0.9640796271491723 -16130,0.8345575012155877 -16131,0.02407480789239458 -16132,0.3115212898006029 -16133,0.43151638204666987 -16134,0.9649284370424147 -16135,0.48205391598070046 -16136,0.710220255585763 -16137,0.7339523423460994 -16138,0.44877116769193526 -16139,0.05783640832010439 -16140,0.6029737404175787 -16141,0.14971477958837243 -16142,0.8470629003057916 -16143,0.9504086959650369 -16144,0.42470812366257105 -16145,0.8268414706431857 -16146,0.6857400869605115 -16147,0.6157438563414666 -16148,0.5034702153673614 -16149,0.4260061696554811 -16150,0.15924153335137303 -16151,0.9982487499641838 -16152,0.13456787211055832 -16153,0.8010673647992201 -16154,0.8009203428784544 -16155,0.9249826769930248 -16156,0.07138327076797113 -16157,0.977978465525134 -16158,0.4006061981257596 -16159,0.32585660915128056 -16160,0.620921059272921 -16161,0.4849573411277843 -16162,0.15453633651060272 -16163,0.9897347979851718 -16164,0.11900097500768858 -16165,0.7800870897387774 -16166,0.0801516153312436 -16167,0.13146694347584864 -16168,0.9929616789329263 -16169,0.2876820828441875 -16170,0.03965544598098292 -16171,0.5217121197798644 -16172,0.9512215622289398 -16173,0.739311068340799 -16174,0.3450882995103265 -16175,0.5893002846354224 -16176,0.9192771331249849 -16177,0.1943233170507529 -16178,0.557572586828404 -16179,0.39318250284917056 -16180,0.20757308432696409 -16181,0.5596805006234433 -16182,0.8148298705826558 -16183,0.026656503570506862 -16184,0.5904822316355554 -16185,0.2648502093868056 -16186,0.9380587204905737 -16187,0.8219019390349209 -16188,0.20479602176164768 -16189,0.00546924123205661 -16190,0.02288697299594833 -16191,0.4958896490061939 -16192,0.9559151625932472 -16193,0.9001447588130012 -16194,0.02035959945523691 -16195,0.34068213465567376 -16196,0.6093902023671811 -16197,0.05635555685008431 -16198,0.3866489799413032 -16199,0.34707545252446537 -16200,0.7022500946900513 -16201,0.24797458266368833 -16202,0.7766216431539503 -16203,0.4441990815545368 -16204,0.9679226898739101 -16205,0.4168394674821505 -16206,0.2919918958889737 -16207,0.4089330341943077 -16208,0.3681532006326539 -16209,0.10333600917388308 -16210,0.798233389456688 -16211,0.12176209403578309 -16212,0.977335456779697 -16213,0.5327853056982574 -16214,0.6408094516019289 -16215,0.5318294632672408 -16216,0.8901046994080932 -16217,0.9902690772288268 -16218,0.6496274997697574 -16219,0.5501351334220526 -16220,0.11467792987785386 -16221,0.9884214011521197 -16222,0.16875293785294054 -16223,0.9765140541049596 -16224,0.8735371611956616 -16225,0.21196398188769872 -16226,0.6751969537809839 -16227,0.8816281862166525 -16228,0.007633873004246783 -16229,0.8877182240255295 -16230,0.39486116751576206 -16231,0.8934082253524981 -16232,0.6836337733561538 -16233,0.13810446799119858 -16234,0.07973495262732655 -16235,0.4221036392771085 -16236,0.636848816119698 -16237,0.8756518559643346 -16238,0.3247055350894902 -16239,0.24997654623020116 -16240,0.5809623658121461 -16241,0.6952794279726404 -16242,0.6137608992212883 -16243,0.7187346877038593 -16244,0.18825659566105402 -16245,0.6998327730384996 -16246,0.8721691661203672 -16247,0.09599232455187023 -16248,0.1046959134351031 -16249,0.6851736565003218 -16250,0.18096945471364467 -16251,0.5255251603722655 -16252,0.5550762561275692 -16253,0.06331457670151697 -16254,0.8613607439722998 -16255,0.1583290719452929 -16256,0.4086282757358528 -16257,0.5486075519532114 -16258,0.6764220015843971 -16259,0.013036412425641797 -16260,0.03939593866849256 -16261,0.48739317741320365 -16262,0.34279414917003315 -16263,0.4438831783032764 -16264,0.6907816892132559 -16265,0.12601419774156453 -16266,0.540229631954638 -16267,0.33613425940286656 -16268,0.19228600456672496 -16269,0.20498696572118158 -16270,0.6414389434508412 -16271,0.3502911077881551 -16272,0.8364820115162791 -16273,0.3860494107246992 -16274,0.6002048984170307 -16275,0.34300034776542376 -16276,0.18714779949466387 -16277,0.3330905109322715 -16278,0.9584472533248324 -16279,0.9336455484842469 -16280,0.774314549711975 -16281,0.8588544473827838 -16282,0.11560345776512337 -16283,0.5959087554290093 -16284,0.25619884395745207 -16285,0.8329714180966061 -16286,0.25780254606711017 -16287,0.09826257732137367 -16288,0.6529150628594734 -16289,0.9015873254216965 -16290,0.22814254796690403 -16291,0.6900486767507189 -16292,0.43687425801941693 -16293,0.7732549225784683 -16294,0.8697954647952374 -16295,0.8508702837793845 -16296,0.9741258322230903 -16297,0.3945650013757429 -16298,0.4638848130986595 -16299,0.7260015436133181 -16300,0.4618545710469296 -16301,0.7576344609067892 -16302,0.147971244857093 -16303,0.7380633138515481 -16304,0.8716312883440853 -16305,0.05078515851710008 -16306,0.28187905316344797 -16307,0.800379495097561 -16308,0.898857609363047 -16309,0.6507092483204774 -16310,0.8925638755855789 -16311,0.6627452791081767 -16312,0.45759446275086346 -16313,0.44072810090868264 -16314,0.4463727533699139 -16315,0.4062473986214662 -16316,0.1384879329733275 -16317,0.7666480272397117 -16318,0.9082326593902331 -16319,0.9586315101506707 -16320,0.7515560212576026 -16321,0.5542825329332709 -16322,0.6194088579655052 -16323,0.15515543246608088 -16324,0.04524516635344089 -16325,0.22125635541179633 -16326,0.7268913004703377 -16327,0.08448552071403126 -16328,0.3380715715317373 -16329,0.5005856673035582 -16330,0.7383994716677388 -16331,0.8718120432102235 -16332,0.9597491099058653 -16333,0.32223507796418105 -16334,0.5997140869192035 -16335,0.22588222345862752 -16336,0.5759211695790522 -16337,0.7175869624922239 -16338,0.46074668143197417 -16339,0.3264499079597458 -16340,0.1211334436701802 -16341,0.036402111844258234 -16342,0.7027984827731474 -16343,0.48484486593381027 -16344,0.1902838385616853 -16345,0.7133681394212226 -16346,0.09538819042516067 -16347,0.8906623138812948 -16348,0.35737602779198363 -16349,0.9084308274999708 -16350,0.8880077736521488 -16351,0.8686897248817377 -16352,0.9886795712348609 -16353,0.31666426545832504 -16354,0.3863515673952096 -16355,0.8353795489451252 -16356,0.8742552124945228 -16357,0.4938864510758886 -16358,0.07615002637318657 -16359,0.846096684653275 -16360,0.8333137832940221 -16361,0.6224906869156939 -16362,0.15894020439444556 -16363,0.5073549569302848 -16364,0.18528769061171335 -16365,0.22508771816433581 -16366,0.20585883298990426 -16367,0.9146526439327821 -16368,0.31348098212062236 -16369,0.8955070935271414 -16370,0.21435681487360314 -16371,0.17473139460281184 -16372,0.7151835880737732 -16373,0.8246032226876916 -16374,0.130721783172283 -16375,0.9813871843728076 -16376,0.9201825908132208 -16377,0.9717078081277912 -16378,0.32788608461088997 -16379,0.48575914213935134 -16380,0.7297090486850177 -16381,0.024652142649269737 -16382,0.7316194343774449 -16383,0.9167425817955968 -16384,0.03674586295040638 -16385,0.9207176406620744 -16386,0.18264125436264766 -16387,0.19286747969912332 -16388,0.45189089780019565 -16389,0.500033495703293 -16390,0.09126893816010229 -16391,0.8726054102046126 -16392,0.4080917072472604 -16393,0.17859869036290044 -16394,0.4777202225217422 -16395,0.7816194328576054 -16396,0.009210032750986974 -16397,0.49855060631427783 -16398,0.7209249980633103 -16399,0.4771231626855581 -16400,0.6402146917886286 -16401,0.9347302121281207 -16402,0.9734403257722569 -16403,0.47811171420129306 -16404,0.26861278187884685 -16405,0.8497190632119422 -16406,0.1497335680656997 -16407,0.5936302061691097 -16408,0.5085779029216358 -16409,0.2029535643661775 -16410,0.5325125859284817 -16411,0.75988846425485 -16412,0.9558178729670028 -16413,0.7051122887914046 -16414,0.7938524443169971 -16415,0.8177997510838675 -16416,0.7086114620407676 -16417,0.3375938806606613 -16418,0.21903143989560592 -16419,0.3527723056326685 -16420,0.41498683846119655 -16421,0.14047395127607776 -16422,0.5814555378577889 -16423,0.6655310084118703 -16424,0.3885013951843176 -16425,0.7697346227137243 -16426,0.6801067266641202 -16427,0.2910390503742156 -16428,0.8173686982937677 -16429,0.8712945890492341 -16430,0.9965143229362979 -16431,0.7245021137356393 -16432,0.34560883611630255 -16433,0.263176857614156 -16434,0.14780811738579747 -16435,0.7522106528468054 -16436,0.43902939729727886 -16437,0.5279233978120456 -16438,0.7114815236620576 -16439,0.18432298954696757 -16440,0.6283569063683999 -16441,0.050946416082666146 -16442,0.42649630399441574 -16443,0.7489349355452914 -16444,0.6374900682192434 -16445,0.984909417882403 -16446,0.7320507945324921 -16447,0.246599400275489 -16448,0.42598246479333746 -16449,0.21576733704217466 -16450,0.28185176871922135 -16451,0.10044853189986136 -16452,0.6915824695676974 -16453,0.2929861214772048 -16454,0.8649527742047454 -16455,0.2619283502271481 -16456,0.09839080926613786 -16457,0.24559568929148856 -16458,0.8213043340136856 -16459,0.9106074444103893 -16460,0.004841158254761946 -16461,0.45998310552856614 -16462,0.32958286968734696 -16463,0.6468788237573366 -16464,0.2627796962149571 -16465,0.3053305835385891 -16466,0.24482258475521979 -16467,0.07594296292653036 -16468,0.46830545397328427 -16469,0.6286939641233378 -16470,0.6571247662900729 -16471,0.336384979322103 -16472,0.7657801698663343 -16473,0.9858785372417543 -16474,0.5069599062970189 -16475,0.1459613029246858 -16476,0.4723722187284073 -16477,0.9854259095659377 -16478,0.9884796429149555 -16479,0.6454403618198619 -16480,0.09575753621910532 -16481,0.615106544798034 -16482,0.0769700184596106 -16483,0.48772200776615016 -16484,0.32431288770232136 -16485,0.9417976298688616 -16486,0.7500757209077952 -16487,0.8889724428085611 -16488,0.8652064376780642 -16489,0.528904110979201 -16490,0.30191324958478316 -16491,0.18083796401637975 -16492,0.07661100272487753 -16493,0.028496363958382287 -16494,0.7902357744184405 -16495,0.25687757006840695 -16496,0.47393278149358087 -16497,0.006054332412752772 -16498,0.5197389372236864 -16499,0.8145677678206393 -16500,0.8516237761814421 -16501,0.5192663045851068 -16502,0.7983729590058907 -16503,0.19756777732824216 -16504,0.5204258840170581 -16505,0.01710355820722942 -16506,0.793573425000756 -16507,0.8196419935677017 -16508,0.5435088401647209 -16509,0.825328344676484 -16510,0.3354262661324984 -16511,0.976730803860113 -16512,0.25767003019938295 -16513,0.4655709583828851 -16514,0.3214310489603752 -16515,0.31508981469507524 -16516,0.3511601222709215 -16517,0.6132175843978919 -16518,0.11171945178106601 -16519,0.4143732718517187 -16520,0.3216285107267626 -16521,0.7896943902710052 -16522,0.21831440879129327 -16523,0.7691319725566851 -16524,0.3988096799101405 -16525,0.7208324905739977 -16526,0.11582583291163395 -16527,0.826518585872815 -16528,0.08220290841166289 -16529,0.14164804897656602 -16530,0.3226118079501986 -16531,0.43517149612589867 -16532,0.9917687300124951 -16533,0.8296166822626792 -16534,0.42843114418030215 -16535,0.6485413501651078 -16536,0.9824199076269404 -16537,0.37096981418845043 -16538,0.9339316041360367 -16539,0.7520183157393009 -16540,0.07570854909526148 -16541,0.6488304124607349 -16542,0.7163039557476211 -16543,0.5991270583064291 -16544,0.6216169781112807 -16545,0.15209613156371615 -16546,0.4980620204676358 -16547,0.4581107486600783 -16548,0.09452006967824844 -16549,0.14462349187956813 -16550,0.05507592131599326 -16551,0.42922993986593794 -16552,0.6882137930193382 -16553,0.13055262681467072 -16554,0.8618241010759331 -16555,0.8949461561330001 -16556,0.6616095829643046 -16557,0.6459237039577197 -16558,0.8857350114187911 -16559,0.8962513067552309 -16560,0.13507197442364782 -16561,0.3423307792445658 -16562,0.33558227471552604 -16563,0.7726609265012399 -16564,0.004234107356443695 -16565,0.00522789978350735 -16566,0.4033488607472394 -16567,0.21480038485520192 -16568,0.5829377392247671 -16569,0.06055107186233355 -16570,0.8108463421064738 -16571,0.43621791026143353 -16572,0.08642342398456704 -16573,0.5805748067477897 -16574,0.782713963219285 -16575,0.7491529089848729 -16576,0.187538162497228 -16577,0.045662483479895766 -16578,0.2846559969536051 -16579,0.23827739900036127 -16580,0.7349759345343397 -16581,0.03940006770750737 -16582,0.745774422036992 -16583,0.344760796920891 -16584,0.17970902397308686 -16585,0.9018092744537262 -16586,0.696870263977106 -16587,0.038195000966924186 -16588,0.743439229072348 -16589,0.7535061355607281 -16590,0.027105174752783512 -16591,0.17778713290238812 -16592,0.6268072667656479 -16593,0.19624407625908258 -16594,0.3791449310473841 -16595,0.4460082101326075 -16596,0.13543932225590238 -16597,0.9997685019752609 -16598,0.5759582459636937 -16599,0.8804540177952249 -16600,0.5834813866054678 -16601,0.8908128224062372 -16602,0.005824380664264495 -16603,0.41831610007053643 -16604,0.9017635036018502 -16605,0.8205413226972776 -16606,0.2374793821286444 -16607,0.43063517374601423 -16608,0.8213592105268908 -16609,0.25338335072546525 -16610,0.593987810719064 -16611,0.531618593605503 -16612,0.5004639173017295 -16613,0.06636132580177878 -16614,0.6109425545687835 -16615,0.6060888371082637 -16616,0.22364978845643346 -16617,0.06379963016974466 -16618,0.21627071959164723 -16619,0.2420346572073594 -16620,0.04121458771810482 -16621,0.6308750202501557 -16622,0.042457233053967314 -16623,0.20861688651971744 -16624,0.8477360437156025 -16625,0.29939427715544475 -16626,0.38936783230074756 -16627,0.5849535253445168 -16628,0.725889505714263 -16629,0.10026061317964619 -16630,0.7793287522525476 -16631,0.3751357921349633 -16632,0.8043854350471599 -16633,0.479067844334667 -16634,0.6514189425090626 -16635,0.7359062612141974 -16636,0.3644575495381176 -16637,0.46736128751532724 -16638,0.9896869972364153 -16639,0.41938625969591237 -16640,0.6124507767088108 -16641,0.36016359139264253 -16642,0.1479461985387548 -16643,0.027428449633594587 -16644,0.9444115322597514 -16645,0.8811894617949744 -16646,0.3741671336802356 -16647,0.47215674542176367 -16648,0.5089654510102454 -16649,0.9349710627477557 -16650,0.22711847194059864 -16651,0.9195018850259963 -16652,0.12889054355256857 -16653,0.5200474862630735 -16654,0.11604394353811176 -16655,0.4972224583111795 -16656,0.3633365035893702 -16657,0.34775694378937594 -16658,0.7961442553182083 -16659,0.9429032757624884 -16660,0.715256457522411 -16661,0.6035656384974876 -16662,0.037135395129339166 -16663,0.08685691856910271 -16664,0.8122769560473423 -16665,0.7395434963753708 -16666,0.8074927775263179 -16667,0.5371953414030133 -16668,0.19125460911796321 -16669,0.5752154103828233 -16670,0.12162428189374175 -16671,0.18090098604701754 -16672,0.6377014359231029 -16673,0.5100947499628466 -16674,0.1547307274785943 -16675,0.8249264872018717 -16676,0.7892626648707506 -16677,0.23001316772654168 -16678,0.8776987253044175 -16679,0.4956619382055708 -16680,0.013757476362467491 -16681,0.44389522086612143 -16682,0.2560253088823027 -16683,0.7977020518046142 -16684,0.9961782028848836 -16685,0.10217723218885466 -16686,0.8967845297574375 -16687,0.06264876071219683 -16688,0.8581309202704557 -16689,0.3498102403458394 -16690,0.8911662236268596 -16691,0.7747593775235216 -16692,0.7560287701234204 -16693,0.3078823790906855 -16694,0.8311883369192511 -16695,0.12980014632497527 -16696,0.07641527706457663 -16697,0.1442898764801931 -16698,0.6008877503636232 -16699,0.5993777845316081 -16700,0.02666703757625921 -16701,0.22805975071171447 -16702,0.010598094039181105 -16703,0.7105810884247672 -16704,0.4486778992444137 -16705,0.8228385962383934 -16706,0.2310024866005489 -16707,0.39579710781533173 -16708,0.3683884473946156 -16709,0.18362523051557733 -16710,0.04729940418287015 -16711,0.5724418608353683 -16712,0.4987753739989177 -16713,0.668583599076626 -16714,0.9307439656146101 -16715,0.3796831996083875 -16716,0.7998691816775674 -16717,0.33074804559545345 -16718,0.2612616731938372 -16719,0.7527886347637565 -16720,0.16326730380240584 -16721,0.7591957314703068 -16722,0.5214924374310457 -16723,0.9190415737362002 -16724,0.04410215329246736 -16725,0.8026663460956142 -16726,0.024601594664796167 -16727,0.3761344198725768 -16728,0.9269469174424616 -16729,0.44207200958561876 -16730,0.5655739198488065 -16731,0.5798181047272891 -16732,0.8903392412060598 -16733,0.27729840231543723 -16734,0.5623927015776079 -16735,0.09879648581709599 -16736,0.3359689090276756 -16737,0.9537595866114028 -16738,0.6313986118252988 -16739,0.8518766289561631 -16740,0.5473400673623692 -16741,0.5468583047773312 -16742,0.8457349836885361 -16743,0.6806773623193388 -16744,0.05296528475614215 -16745,0.8807114595365155 -16746,0.13030478094737774 -16747,0.03900951440813705 -16748,0.9090721387649362 -16749,0.2320788068841565 -16750,0.7625364651769816 -16751,0.347919839564206 -16752,0.456771733672938 -16753,0.04849105147317356 -16754,0.5160832527865696 -16755,0.7575590111775201 -16756,0.7306108815185229 -16757,0.4411052274411089 -16758,0.9630075143279503 -16759,0.905887501057229 -16760,0.6375101765836743 -16761,0.36022685819762257 -16762,0.39959188081568786 -16763,0.8045550330070237 -16764,0.0022751778247563914 -16765,0.7144010043926868 -16766,0.546400551737093 -16767,0.8599229597604556 -16768,0.14935944918196054 -16769,0.6013810095856773 -16770,0.6365658609023651 -16771,0.5663498607342516 -16772,0.8933543351075095 -16773,0.4411187131108443 -16774,0.5808574929134639 -16775,0.700153773093106 -16776,0.31231657734364116 -16777,0.4310746509868494 -16778,0.8312509679159016 -16779,0.6373195030221884 -16780,0.29502618337432196 -16781,0.8558694774656859 -16782,0.9865416285897441 -16783,0.29029757866293315 -16784,0.8074621648784194 -16785,0.22644485303473716 -16786,0.9802506095237675 -16787,0.3264652120080711 -16788,0.8912229346211755 -16789,0.7884818174590991 -16790,0.2654281239163414 -16791,0.47348411728992035 -16792,0.7994541408174223 -16793,0.5035335669050038 -16794,0.4184921627759781 -16795,0.07490695336977127 -16796,0.4460311517252853 -16797,0.18538199194870086 -16798,0.7979141947463816 -16799,0.16878012470700332 -16800,0.19375432426647288 -16801,0.48617237475804487 -16802,0.45570968849500915 -16803,0.8901063263388496 -16804,0.30981929521152807 -16805,0.07529223325768863 -16806,0.6638552866454311 -16807,0.2975306727950263 -16808,0.2535183345355799 -16809,0.6880105675807373 -16810,0.213157065905915 -16811,0.25302313220808625 -16812,0.8667394012699996 -16813,0.30847573950547624 -16814,0.6393504289213047 -16815,0.5008237696092872 -16816,0.46326514798985663 -16817,0.39648190582130194 -16818,0.20435893877228262 -16819,0.9116745454313051 -16820,0.4176674056375087 -16821,0.7311181186332618 -16822,0.21731078273503857 -16823,0.07497464483926286 -16824,0.28572685787366925 -16825,0.2522609270671333 -16826,0.21866635834533155 -16827,0.13781876835157403 -16828,0.42689218933957596 -16829,0.675353897755139 -16830,0.30375868566560704 -16831,0.7128253300477292 -16832,0.47731797731907677 -16833,0.9460503886776302 -16834,0.5541844689808645 -16835,0.19858582609289177 -16836,0.497661651550774 -16837,0.7855162460809916 -16838,0.23805908202486137 -16839,0.4271505276695864 -16840,0.6880445090170316 -16841,0.3621709597708309 -16842,0.10758546338675845 -16843,0.44377792914071623 -16844,0.460607767983941 -16845,0.8425125512581271 -16846,0.6487794272877745 -16847,0.593214293727573 -16848,0.4938692904706997 -16849,0.8121217036602653 -16850,0.5349062571722251 -16851,0.6749364324111021 -16852,0.8927249573084298 -16853,0.4283164683939935 -16854,0.7406474256281439 -16855,0.07899754879947929 -16856,0.22247343530942632 -16857,0.8665795283410364 -16858,0.6523164079491465 -16859,0.508865587434669 -16860,0.9291722104201844 -16861,0.9936258462817159 -16862,0.1543073328389657 -16863,0.6482936287517969 -16864,0.25077939787161374 -16865,0.9735442238400658 -16866,0.0009581274526764272 -16867,0.4787910648309742 -16868,0.9815419054200578 -16869,0.3505983084806793 -16870,0.10879841428822457 -16871,0.5182176603439297 -16872,0.8080980403889952 -16873,0.021521154468923998 -16874,0.061286398103864825 -16875,0.37945064645999926 -16876,0.7174125674747237 -16877,0.8997809854368722 -16878,0.4988114364503996 -16879,0.057565104454835536 -16880,0.47651833094500606 -16881,0.6583726258453515 -16882,0.9360852022060242 -16883,0.8550395089540358 -16884,0.42625708370106563 -16885,0.1875594269219396 -16886,0.37311835540136384 -16887,0.9877402467318963 -16888,0.05553417664342086 -16889,0.6477740301644679 -16890,0.6308330177516863 -16891,0.16214247418476901 -16892,0.9036249790549213 -16893,0.7838991476369044 -16894,0.8668415648421147 -16895,0.22071315791920665 -16896,0.7397473580090443 -16897,0.5285834578686277 -16898,0.1109765849446066 -16899,0.2876342617965968 -16900,0.6468473736837856 -16901,0.49072074314383207 -16902,0.01733943235350388 -16903,0.2486379261015491 -16904,0.2236499104561448 -16905,0.36915498185601126 -16906,0.31763723241481023 -16907,0.9158651342775558 -16908,0.17919477354077418 -16909,0.6276685996383886 -16910,0.6234976589774867 -16911,0.6406939356204859 -16912,0.7884100078560855 -16913,0.41095328892627614 -16914,0.29270879955836704 -16915,0.20372343378430124 -16916,0.6797616078067579 -16917,0.7939303845564258 -16918,0.07741426694562381 -16919,0.6128504624781288 -16920,0.7262308200844959 -16921,0.9350786058390882 -16922,0.11078674381917641 -16923,0.3211126012396498 -16924,0.7611970180794866 -16925,0.12869537432482614 -16926,0.6812351404705156 -16927,0.1961083097760633 -16928,0.5435900227486673 -16929,0.16122557272604032 -16930,0.00992527547410238 -16931,0.14668980324308178 -16932,0.8852294519668715 -16933,0.7096834457902683 -16934,0.4865878348023185 -16935,0.8035908881537228 -16936,0.6708656038089794 -16937,0.7098486488521745 -16938,0.3457045397090285 -16939,0.6354313141096242 -16940,0.35354951529893064 -16941,0.03454832468669944 -16942,0.5322023571938498 -16943,0.5261854685204818 -16944,0.7744987419201043 -16945,0.14603729231501728 -16946,0.09651110469085544 -16947,0.7151643989176766 -16948,0.62865765414221 -16949,0.5464893014777337 -16950,0.11084103517365662 -16951,0.36735348100113896 -16952,0.04468386911311073 -16953,0.2354123062219109 -16954,0.4055109544392589 -16955,0.5748314960536397 -16956,0.31245928841373116 -16957,0.2498114504158393 -16958,0.9254944052720667 -16959,0.8119198960399615 -16960,0.39318025118064015 -16961,0.08285256384699513 -16962,0.2267246699508808 -16963,0.7454188588884773 -16964,0.6997929776461791 -16965,0.6689713396190592 -16966,0.07322000119560135 -16967,0.2752465410565206 -16968,0.7585711636420507 -16969,0.8028532759693899 -16970,0.6514065995453788 -16971,0.6079474152024813 -16972,0.6209754265715768 -16973,0.6289521811301041 -16974,0.35343568032746275 -16975,0.46720179711598564 -16976,0.5633632923782435 -16977,0.09859187058505714 -16978,0.5903735496706409 -16979,0.8355843532468326 -16980,0.37441910241070453 -16981,0.15275378708346266 -16982,0.13525692348201557 -16983,0.24233124404870188 -16984,0.40597915194841006 -16985,0.41556347644722125 -16986,0.0956591416120175 -16987,0.2691306953139275 -16988,0.3324932072741188 -16989,0.3018454089034819 -16990,0.23446702882622728 -16991,0.22236415077032134 -16992,0.4422588629581454 -16993,0.07920865333177252 -16994,0.6806099631276035 -16995,0.6737527902380123 -16996,0.7386898959038489 -16997,0.9252637349454634 -16998,0.7981338926941373 -16999,0.9944896472156993 -17000,0.2267388118534942 -17001,0.829979364089319 -17002,0.4719397391654636 -17003,0.4302060231357987 -17004,0.190648063384795 -17005,0.5465241621310678 -17006,0.8068493385000451 -17007,0.31283580814111356 -17008,0.4652400006199232 -17009,0.7494093310393203 -17010,0.7186881946739219 -17011,0.977700876835416 -17012,0.5011464998766292 -17013,0.3709346419340922 -17014,0.00439451389116885 -17015,0.6723952142140213 -17016,0.8885172636075503 -17017,0.026064788672595207 -17018,0.5511496402313698 -17019,0.322141470329535 -17020,0.9728741480004545 -17021,0.10292330064500432 -17022,0.6831671623899791 -17023,0.19071632193728916 -17024,0.9476243805221162 -17025,0.4039793904636476 -17026,0.7389897318680361 -17027,0.7900681224640188 -17028,0.130592968687663 -17029,0.12159911185715111 -17030,0.8712861258380791 -17031,0.5822256272695507 -17032,0.6263393211847517 -17033,0.5148551170292144 -17034,0.8249873029058716 -17035,0.552806664916157 -17036,0.09223636000446356 -17037,0.3508231827002366 -17038,0.8354518737285345 -17039,0.9799475082977297 -17040,0.4410969504006437 -17041,0.19813682345223227 -17042,0.0992218437882354 -17043,0.3326792522762404 -17044,0.384480489434154 -17045,0.3290791761403363 -17046,0.6757104259455768 -17047,0.5273570826109857 -17048,0.25188048709202115 -17049,0.15725581504550268 -17050,0.9741371518096859 -17051,0.681184247090351 -17052,0.28131711488055566 -17053,0.5112306508060737 -17054,0.4641373717442261 -17055,0.5169810554790117 -17056,0.7587563916621436 -17057,0.9469435482607159 -17058,0.6607218116231942 -17059,0.7541534700043125 -17060,0.8386673921093951 -17061,0.11147825275446166 -17062,0.40451747508531977 -17063,0.6266913957658878 -17064,0.48220186916054164 -17065,0.06783099567611173 -17066,0.4035906498024654 -17067,0.5852547115364555 -17068,0.17535736326393103 -17069,0.35532186667690635 -17070,0.09097906452247406 -17071,0.6380748582170735 -17072,0.9927460892887366 -17073,0.7107691713906311 -17074,0.6046754709507682 -17075,0.3495841946008036 -17076,0.35804040406280546 -17077,0.03955892720899612 -17078,0.8407899061331333 -17079,0.6402178788697838 -17080,0.9882634599936455 -17081,0.03837449744996824 -17082,0.11805837453145551 -17083,0.9173884914057997 -17084,0.5671762003981181 -17085,0.6694872811001158 -17086,0.3540463049271484 -17087,0.7967583008201854 -17088,0.5187732135479421 -17089,0.8706653010351727 -17090,0.883148135056799 -17091,0.2914648578724923 -17092,0.4297348214187868 -17093,0.17408556927840213 -17094,0.6043541299945622 -17095,0.20836972780354313 -17096,0.27016708937859246 -17097,0.39609018247882144 -17098,0.7221734915108687 -17099,0.6409611699786668 -17100,0.8997598173086543 -17101,0.2518831614039526 -17102,0.9544092902235402 -17103,0.5103287106245752 -17104,0.8735834674340027 -17105,0.20119189359278955 -17106,0.6811702662942676 -17107,0.8185766944556869 -17108,0.9721167658506792 -17109,0.18508571549587627 -17110,0.49545059367112176 -17111,0.30495385476266734 -17112,0.79780590341913 -17113,0.577050967017821 -17114,0.880691756711328 -17115,0.5807329788767418 -17116,0.7218051720905401 -17117,0.1511509148292649 -17118,0.061668739605707956 -17119,0.7087036372730209 -17120,0.7558548740387292 -17121,0.724317639977697 -17122,0.15169617705591665 -17123,0.5146421202295057 -17124,0.5333409651525695 -17125,0.33291186286533436 -17126,0.10447838827207356 -17127,0.28486804940090027 -17128,0.3064689440951237 -17129,0.6527111634416104 -17130,0.510113455358352 -17131,0.905077063407902 -17132,0.8658089435269412 -17133,0.10076450494575206 -17134,0.4836048331852355 -17135,0.8345551898640734 -17136,0.14002052806029686 -17137,0.05591033653783417 -17138,0.9290833055906171 -17139,0.27499305581003475 -17140,0.21106883882207228 -17141,0.6831801688265557 -17142,0.8608672062744497 -17143,0.4352979126166009 -17144,0.11748747462868048 -17145,0.6127473655670723 -17146,0.9992089834898223 -17147,0.7273829601942847 -17148,0.5831492031871818 -17149,0.3739455811253073 -17150,0.11975591966448307 -17151,0.184138900755066 -17152,0.28404137150526576 -17153,0.17288563583472416 -17154,0.8884254218906567 -17155,0.9513366204343807 -17156,0.670987983769945 -17157,0.6665229463163828 -17158,0.14234251762166572 -17159,0.904977787098415 -17160,0.2578776008247575 -17161,0.3850448012397806 -17162,0.33304609929595974 -17163,0.8395493641659223 -17164,0.8296025023530559 -17165,0.5904365942039056 -17166,0.04819510517110326 -17167,0.9776575743969296 -17168,0.05345929724055587 -17169,0.2931209586582779 -17170,0.10397116838794107 -17171,0.4959869308062701 -17172,0.1452895192648136 -17173,0.2860561617484939 -17174,0.8088696075889059 -17175,0.16317272177049713 -17176,0.10101195145417186 -17177,0.915073508387398 -17178,0.844563991586723 -17179,0.6128850382056744 -17180,0.5500719325319003 -17181,0.33675986956937487 -17182,0.5296213448138627 -17183,0.24229824134700007 -17184,0.8650308656542491 -17185,0.9967618826646573 -17186,0.9754250006090319 -17187,0.44448817961530684 -17188,0.6587957070020829 -17189,0.9183562098935109 -17190,0.4426406863056582 -17191,0.6058802014506898 -17192,0.5002545228274289 -17193,0.7527707285597299 -17194,0.14065059594771012 -17195,0.5479129801370235 -17196,0.8181989953937625 -17197,0.5000758884541395 -17198,0.2902925050497268 -17199,0.11008310552926437 -17200,0.6338763196650274 -17201,0.2785615255212356 -17202,0.9262440603757114 -17203,0.8169291505890935 -17204,0.6315518352346479 -17205,0.45501851030609486 -17206,0.2932156525117441 -17207,0.7228291551448505 -17208,0.47745448339887075 -17209,0.027190449529744254 -17210,0.14929486388222657 -17211,0.9456607988122494 -17212,0.4892835795043464 -17213,0.7952421889847731 -17214,0.5159205689542022 -17215,0.01878472553081667 -17216,0.35487330990406685 -17217,0.29382534628215773 -17218,0.2627479349284578 -17219,0.4649123614695867 -17220,0.7786159449567535 -17221,0.35583790132374604 -17222,0.6599086410408379 -17223,0.6751596975622773 -17224,0.058319036005935465 -17225,0.24839089681037463 -17226,0.23650872224033082 -17227,0.24412069799010505 -17228,0.03189243324536517 -17229,0.19610238732822793 -17230,0.9836735663065765 -17231,0.4900233818898164 -17232,0.6041775345329345 -17233,0.12403699490541709 -17234,0.948211509446148 -17235,0.4946472048979309 -17236,0.7668202720406423 -17237,0.21125751575432594 -17238,0.18278141143890203 -17239,0.795020074676245 -17240,0.0461900006134538 -17241,0.48853431498101885 -17242,0.1461987948265454 -17243,0.9026309067288051 -17244,0.11916702633728082 -17245,0.6333259407895183 -17246,0.004897932135161653 -17247,0.7343803834318221 -17248,0.9639411985851555 -17249,0.10484122308070232 -17250,0.5066376141941474 -17251,0.22631959586722905 -17252,0.8490093856570138 -17253,0.4068844195490834 -17254,0.13838158346549168 -17255,0.8805836345686324 -17256,0.694853267246139 -17257,0.7850585824297062 -17258,0.14874014062699525 -17259,0.14493053654048083 -17260,0.2828458032247446 -17261,0.3809071821743215 -17262,0.5148208211322796 -17263,0.01656566997888076 -17264,0.9112480336533795 -17265,0.21272112581909075 -17266,0.28033469037154657 -17267,0.498128729817241 -17268,0.684541211677078 -17269,0.22142416158245526 -17270,0.41234486106499113 -17271,0.991985933263702 -17272,0.41347508860956683 -17273,0.7828192237413891 -17274,0.48206168888061063 -17275,0.40190220313228453 -17276,0.636214968774828 -17277,0.6124663051601698 -17278,0.9754673987399881 -17279,0.9142450965974103 -17280,0.4561289210112647 -17281,0.8042873679600155 -17282,0.8395666343614694 -17283,0.30946192766410696 -17284,0.09613076211944105 -17285,0.13904616058890018 -17286,0.943273556578283 -17287,0.26888044533577415 -17288,0.8311707108383303 -17289,0.3446171488600349 -17290,0.2754646277470496 -17291,0.5681866763192085 -17292,0.606058848592126 -17293,0.019878686669634993 -17294,0.33792985547002874 -17295,0.038527987277508835 -17296,0.42895872796571755 -17297,0.6370661836424611 -17298,0.4017200629993759 -17299,0.7542703404513103 -17300,0.8901777365586201 -17301,0.3301816110350625 -17302,0.616329916615457 -17303,0.04807212703314567 -17304,0.013752972381106288 -17305,0.752870589636944 -17306,0.997396252554979 -17307,0.6375722713799893 -17308,0.17702093128220853 -17309,0.28864113881051123 -17310,0.6003497418774122 -17311,0.6103920974379021 -17312,0.043174211536697205 -17313,0.6579893163390285 -17314,0.19784671959521494 -17315,0.13530956961962848 -17316,0.8764261813204544 -17317,0.20972035072457273 -17318,0.7512425154955673 -17319,0.6415293211165195 -17320,0.5687016130841971 -17321,0.6925214549294736 -17322,0.7321761132386125 -17323,0.016332549479901592 -17324,0.5485206979754483 -17325,0.8720763314637593 -17326,0.9382273851948882 -17327,0.9764371879470564 -17328,0.43362815808534183 -17329,0.08112309779954463 -17330,0.696052993403271 -17331,0.9839671820061543 -17332,0.48311307826347183 -17333,0.4579388451039962 -17334,0.4143970338042664 -17335,0.5179155575416342 -17336,0.6367517145134929 -17337,0.364815319746581 -17338,0.539080917766022 -17339,0.33662648480237223 -17340,0.39048947124576916 -17341,0.8613673251853241 -17342,0.5166758543361242 -17343,0.6639600144263906 -17344,0.5887765582647786 -17345,0.8324330116550528 -17346,0.6105577876100158 -17347,0.6616623157597855 -17348,0.9663021081911193 -17349,0.9259892832660647 -17350,0.16089211919965907 -17351,0.1398189241935156 -17352,0.6087516829642239 -17353,0.14502793042746176 -17354,0.9002926392274196 -17355,0.24466926232455544 -17356,0.7334747847261083 -17357,0.08446644524032887 -17358,0.8923848044519168 -17359,0.013130232058408464 -17360,0.4644479435121931 -17361,0.43395788362626153 -17362,0.7780237365892466 -17363,0.7507797127877873 -17364,0.15962691656629702 -17365,0.7751030170354413 -17366,0.9909230592554074 -17367,0.9374151300890259 -17368,0.7361486758819061 -17369,0.10481320289697726 -17370,0.053922314810486593 -17371,0.5159058576594624 -17372,0.6562183912687574 -17373,0.26460237408270704 -17374,0.16454250093242084 -17375,0.7043526520747655 -17376,0.7619089304369709 -17377,0.07651994343219981 -17378,0.05034497897474488 -17379,0.3989140681787028 -17380,0.4334975391879968 -17381,0.8269683160685809 -17382,0.816300293704271 -17383,0.750060792211547 -17384,0.4897989651828403 -17385,0.8389440946972804 -17386,0.9030153927213291 -17387,0.2505227500565329 -17388,0.1328462108580991 -17389,0.07429084910177275 -17390,0.06886927347412375 -17391,0.6311624061744971 -17392,0.00016399067203642925 -17393,0.04109899277988727 -17394,0.24174053555648467 -17395,0.9590307713011258 -17396,0.17801489284975291 -17397,0.016759130372050235 -17398,0.5893184938790564 -17399,0.9686308366385545 -17400,0.8472668723803066 -17401,0.8399116898972155 -17402,0.12340470523888847 -17403,0.46998296127363703 -17404,0.6012281221344179 -17405,0.6866443877953076 -17406,0.28125795672415876 -17407,0.30855206849943484 -17408,0.6533476383374027 -17409,0.8534992695795145 -17410,0.24924882773213208 -17411,0.5756708370904284 -17412,0.8962623202595209 -17413,0.9508125357745101 -17414,0.1356076750178108 -17415,0.07213096400802288 -17416,0.20140686160783294 -17417,0.07727735399027136 -17418,0.5729094024404499 -17419,0.13646816238041137 -17420,0.5158582155305688 -17421,0.2361101800288723 -17422,0.12053530529257639 -17423,0.49802669193125293 -17424,0.598713523377835 -17425,0.41764553017348316 -17426,0.08796144448992338 -17427,0.07087049211503604 -17428,0.7623997118458183 -17429,0.10655099751049757 -17430,0.34708077203552745 -17431,0.8824244379165667 -17432,0.2275280011162204 -17433,0.41219161576138563 -17434,0.42589390550166417 -17435,0.32913600578755287 -17436,0.41127345120505476 -17437,0.46488878058170724 -17438,0.8244650107407232 -17439,0.815604398389821 -17440,0.057745647450895055 -17441,0.26084144731949266 -17442,0.5410771217324188 -17443,0.5616316423019568 -17444,0.33293997030922673 -17445,0.6672344627058147 -17446,0.9532317895005129 -17447,0.978570582218577 -17448,0.52447931413574 -17449,0.6451788334373811 -17450,0.9200075026440675 -17451,0.15043772540361822 -17452,0.0741368412218032 -17453,0.3019457105026534 -17454,0.027676942472642296 -17455,0.01617663282951154 -17456,0.7255232912396772 -17457,0.11852911569490043 -17458,0.4008609922616263 -17459,0.1877425949905649 -17460,0.5982727475281 -17461,0.874915126895751 -17462,0.13672765181628843 -17463,0.4486359002127318 -17464,0.4688748193532509 -17465,0.7818272849670241 -17466,0.8733540951830777 -17467,0.48362134529707457 -17468,0.9841818096561636 -17469,0.7472417988845541 -17470,0.9360912113304608 -17471,0.2878836319801269 -17472,0.3690347618701125 -17473,0.19980423954141358 -17474,0.6674002800192222 -17475,0.5818237757905246 -17476,0.1531836007168248 -17477,0.6858527076659737 -17478,0.4858171729390435 -17479,0.6288443940820502 -17480,0.6759857313548082 -17481,0.8496133100222565 -17482,0.736700630551639 -17483,0.4244776016579602 -17484,0.9597478027184084 -17485,0.2623045857275558 -17486,0.7150708829219322 -17487,0.01936409031057096 -17488,0.2485982300899059 -17489,0.2258806313171644 -17490,0.2927803357101221 -17491,0.3744427095030295 -17492,0.18127061792826993 -17493,0.29731386538126947 -17494,0.2823977383150875 -17495,0.876499023020579 -17496,0.29899250489814555 -17497,0.5573482114950268 -17498,0.37588139689694944 -17499,0.2040335375050989 -17500,0.47697721463352405 -17501,0.7454350876670885 -17502,0.7729764452923732 -17503,0.9400503491872334 -17504,0.7425086093756742 -17505,0.33920806700001027 -17506,0.829544300089545 -17507,0.03229269907108856 -17508,0.121574683279847 -17509,0.82395502587281 -17510,0.5067819079956625 -17511,0.28607301615133685 -17512,0.7416463936870712 -17513,0.04192157800637175 -17514,0.4585316122804063 -17515,0.4986230627374082 -17516,0.3593657962563962 -17517,0.527860895944403 -17518,0.26669526671862775 -17519,0.13774509440057703 -17520,0.2292073345978346 -17521,0.4004543912068025 -17522,0.4582208933490145 -17523,0.5883657318061769 -17524,0.16091310611172727 -17525,0.8043521511455628 -17526,0.5526340747190716 -17527,0.41327038641716973 -17528,0.788938176193747 -17529,0.9641148382916104 -17530,0.9836807449817654 -17531,0.2757252677939258 -17532,0.6712994076885007 -17533,0.04530822030754467 -17534,0.9000137075508463 -17535,0.5865724460949844 -17536,0.6704043231022823 -17537,0.846624536121159 -17538,0.25152263555261434 -17539,0.6117925035363998 -17540,0.4513554782231938 -17541,0.4862559140027316 -17542,0.4556209599871306 -17543,0.38478170305656334 -17544,0.7205014382130953 -17545,0.09734164121503108 -17546,0.4201229154752183 -17547,0.18556957536626428 -17548,0.27376900052973663 -17549,0.1924107621149087 -17550,0.7817942998157805 -17551,0.9726594320591423 -17552,0.3620773160106494 -17553,0.04825263707883587 -17554,0.36141962839357733 -17555,0.3320785603121654 -17556,0.034710038853740466 -17557,0.6174593615148265 -17558,0.7818375265730203 -17559,0.6655010432370527 -17560,0.4445166130343112 -17561,0.2908273513664822 -17562,0.3961732763122786 -17563,0.10390492441769938 -17564,0.19767471274899828 -17565,0.7021205080285744 -17566,0.40848392775479603 -17567,0.1027712131492895 -17568,0.922670948573375 -17569,0.3661546435313303 -17570,0.22511158278800236 -17571,0.6503927797261807 -17572,0.27661635555210684 -17573,0.0198319428441176 -17574,0.3560051933789591 -17575,0.868320665536662 -17576,0.8951308326711382 -17577,0.2876372616949795 -17578,0.4184301715757155 -17579,0.9719755518626486 -17580,0.6870314490937626 -17581,0.5365841407050457 -17582,0.9446778459858998 -17583,0.4910200114832457 -17584,0.5263103581291224 -17585,0.750110307197765 -17586,0.434858451821757 -17587,0.23161152883613445 -17588,0.27683253748339687 -17589,0.4208725004102205 -17590,0.9791476593258837 -17591,0.9059923679622207 -17592,0.8020302077215583 -17593,0.9187435555539774 -17594,0.9813340151849987 -17595,0.16532230820901028 -17596,0.6415363478950761 -17597,0.3752969522788673 -17598,0.7115747085299388 -17599,0.21434703427478397 -17600,0.7131848630256471 -17601,0.432415087111197 -17602,0.05289421772410219 -17603,0.13546661197972332 -17604,0.7323970625702447 -17605,0.1891851942617626 -17606,0.5705081204081902 -17607,0.06072432678024975 -17608,0.8395913361396815 -17609,0.0968853431914789 -17610,0.16499933380777754 -17611,0.1064563013143559 -17612,0.4313979572579745 -17613,0.2428686904316506 -17614,0.5318842817345695 -17615,0.42879126147323854 -17616,0.34995246470132 -17617,0.25579373528657845 -17618,0.43949356849690824 -17619,0.5823230871939059 -17620,0.2604282627757425 -17621,0.07167479206449212 -17622,0.9239070968811369 -17623,0.7310242586105801 -17624,0.30697580038523065 -17625,0.8957231739319549 -17626,0.4572550339387641 -17627,0.5805926700883557 -17628,0.0960819165587774 -17629,0.7175131066882507 -17630,0.20237355556667858 -17631,0.9629854231295297 -17632,0.6379268573270862 -17633,0.7206154120911332 -17634,0.7011683379079601 -17635,0.36799902382387883 -17636,0.34335269149434355 -17637,0.9572988228184109 -17638,0.5651854799899307 -17639,0.18192266481019104 -17640,0.34141651931200834 -17641,0.37471247361031934 -17642,0.7291431957562552 -17643,0.420459406362502 -17644,0.20082383914983848 -17645,0.21526752990537712 -17646,0.574628459500728 -17647,0.37278050337884727 -17648,0.8698126269794288 -17649,0.732583182881425 -17650,0.14515778672786617 -17651,0.9522612840123211 -17652,0.7796965235419435 -17653,0.29664735616367854 -17654,0.6553002650006179 -17655,0.08393045770325125 -17656,0.6506454624637004 -17657,0.09756560204642484 -17658,0.7297740888199599 -17659,0.4591622196942581 -17660,0.05293321936845319 -17661,0.2412330756241181 -17662,0.8667008808578871 -17663,0.19149065769184248 -17664,0.37929838604363064 -17665,0.9102560298057826 -17666,0.5364187245177017 -17667,0.5874652330285582 -17668,0.9373489118022311 -17669,0.6780513599481972 -17670,0.10165868504649667 -17671,0.6448091865866533 -17672,0.9173739584152224 -17673,0.5902124352162639 -17674,0.9591650835861004 -17675,0.308363265278491 -17676,0.12084966678057119 -17677,0.2003869646530113 -17678,0.6309519987985058 -17679,0.2519006454525229 -17680,0.8737992802757596 -17681,0.2671171672593168 -17682,0.9424217387201892 -17683,0.1905350322915892 -17684,0.8525352190868039 -17685,0.0249110741410018 -17686,0.698603620200737 -17687,0.8636258588297598 -17688,0.495575013268598 -17689,0.24725671220658818 -17690,0.41806596195997614 -17691,0.02074300896592629 -17692,0.19366281148284037 -17693,0.9833322248194782 -17694,0.6112993880621951 -17695,0.7082552727289155 -17696,0.557892523973956 -17697,0.19424117126104312 -17698,0.300272787194083 -17699,0.7032629469471544 -17700,0.1290340485570527 -17701,0.48725300985485454 -17702,0.5394121775328291 -17703,0.267172192306661 -17704,0.8228104917274502 -17705,0.4119202738810024 -17706,0.9335024525335917 -17707,0.3250091908177154 -17708,0.45415576548434566 -17709,0.41396177162601655 -17710,0.5765783122373952 -17711,0.01509706719746251 -17712,0.7608832286063769 -17713,0.856083212860894 -17714,0.12167380468066014 -17715,0.9960497864788402 -17716,0.8132418611642245 -17717,0.5055269614479607 -17718,0.2532889076703223 -17719,0.7596482167975038 -17720,0.10804454964196197 -17721,0.4280422041795031 -17722,0.4855441011649483 -17723,0.22880404916790165 -17724,0.5601243475251505 -17725,0.31152091510149715 -17726,0.9063961927199702 -17727,0.6785106278697323 -17728,0.6748894279126463 -17729,0.05326726390927705 -17730,0.41682878068639095 -17731,0.13313406797333016 -17732,0.3036215220065477 -17733,0.6081912615559665 -17734,0.5353344109890734 -17735,0.24148261835872242 -17736,0.8298202104929909 -17737,0.18092408599763865 -17738,0.06458148570359568 -17739,0.3541325487887975 -17740,0.24571917531530396 -17741,0.10591429524807983 -17742,0.6261494365890088 -17743,0.9203603800628284 -17744,0.507272191946093 -17745,0.024270056565120046 -17746,0.6580137409530836 -17747,0.6177922570568474 -17748,0.43148098396312795 -17749,0.9489306950320571 -17750,0.5405337102626405 -17751,0.001502612866941866 -17752,0.5197419403015892 -17753,0.5157486798102155 -17754,0.9202301049149707 -17755,0.28900959878742905 -17756,0.7265858745295335 -17757,0.7993422352720396 -17758,0.10174875574354392 -17759,0.5972110311905153 -17760,0.9900691423343959 -17761,0.8992615106267521 -17762,0.7656731221718902 -17763,0.8797821115635784 -17764,0.2858386557606034 -17765,0.19199986803952185 -17766,0.3264604061915526 -17767,0.4105178901029357 -17768,0.025406124394879437 -17769,0.9762134970912834 -17770,0.22177437247094145 -17771,0.10202355520938045 -17772,0.7185398591133239 -17773,0.8008281016916222 -17774,0.40673073960751127 -17775,0.7256917047033021 -17776,0.1036426560569903 -17777,0.7934550011759961 -17778,0.08320920091053197 -17779,0.9263361858666231 -17780,0.9210576770558074 -17781,0.5605193774214624 -17782,0.2015098355286954 -17783,0.3191529228117628 -17784,0.5033723346012734 -17785,0.18621549632502843 -17786,0.8971768197917643 -17787,0.20187244131963678 -17788,0.5259398375369512 -17789,0.6698623493023858 -17790,0.039629801125745656 -17791,0.769528419482287 -17792,0.6182797811900008 -17793,0.9502888024368675 -17794,0.43503256965094894 -17795,0.643989718100016 -17796,0.024515971563776273 -17797,0.2108112387175598 -17798,0.6487122736215223 -17799,0.35864183956389717 -17800,0.1559812243041543 -17801,0.7384318358702884 -17802,0.11141557357982901 -17803,0.23186274817724972 -17804,0.3668317755109106 -17805,0.2264010108129828 -17806,0.5347439737270062 -17807,0.6647556409408866 -17808,0.8347650111728719 -17809,0.22941396563501992 -17810,0.8393230557095911 -17811,0.7967908630197829 -17812,0.8138037829192577 -17813,0.7883064785615979 -17814,0.8373595139734584 -17815,0.5804734472255126 -17816,0.4527500868753731 -17817,0.760830808429687 -17818,0.3616482030190825 -17819,0.5969931161989143 -17820,0.818560272974187 -17821,0.0014800272523627367 -17822,0.47499131319656296 -17823,0.4993271439495671 -17824,0.9717887615891649 -17825,0.9067612537198501 -17826,0.8115817414758475 -17827,0.5703513597716329 -17828,0.4348115444647225 -17829,0.060766415263533435 -17830,0.7712982328140405 -17831,0.7806856596365775 -17832,0.8637106254160163 -17833,0.3963338889903353 -17834,0.0950778123975825 -17835,0.9961218862830403 -17836,0.7777390549044964 -17837,0.31644425365174134 -17838,0.009124440766747899 -17839,0.604967033869965 -17840,0.2999020102010509 -17841,0.4579227149706765 -17842,0.6387634198597005 -17843,0.39992001066068583 -17844,0.7839280846253677 -17845,0.04354480695894669 -17846,0.19145257392220827 -17847,0.2293221611701799 -17848,0.3538579703890574 -17849,0.5787016747430345 -17850,0.5797323550132717 -17851,0.9094596432665432 -17852,0.9529902139091178 -17853,0.6321078014301853 -17854,0.9172285519982676 -17855,0.8336638474521499 -17856,0.03992721740527516 -17857,0.4175177587710648 -17858,0.8290280203328405 -17859,0.35678539056361624 -17860,0.6631725492067441 -17861,0.5261072122950767 -17862,0.17261731129800229 -17863,0.37189745593572676 -17864,0.7082057928701174 -17865,0.3391123175297224 -17866,0.37530232991235446 -17867,0.37439976396522145 -17868,0.4310001001907261 -17869,0.38034045740508693 -17870,0.6804596732927978 -17871,0.34967072151263145 -17872,0.5814750910528065 -17873,0.8402836630436512 -17874,0.7245441401159622 -17875,0.917196364690784 -17876,0.1795852411903659 -17877,0.354162430198373 -17878,0.06107276550966734 -17879,0.836651163238687 -17880,0.5112967208598607 -17881,0.8342811709383995 -17882,0.22106370590681979 -17883,0.6367001411277361 -17884,0.33196369458442077 -17885,0.8098410314589347 -17886,0.055138146803745514 -17887,0.2687779664291754 -17888,0.32579520425970854 -17889,0.5410861881881828 -17890,0.03127310453432075 -17891,0.5515496774411989 -17892,0.9816911964435016 -17893,0.5552365656440387 -17894,0.7137971676734101 -17895,0.21853313992613133 -17896,0.28251317627354733 -17897,0.29134051698737173 -17898,0.8632494885967238 -17899,0.7654069208933534 -17900,0.9016583755127277 -17901,0.9511468223186924 -17902,0.8463775480657562 -17903,0.17146899018548512 -17904,0.5782395614785493 -17905,0.17945534049513778 -17906,0.391479018097323 -17907,0.9736296170454405 -17908,0.6587566691920093 -17909,0.27773997649500504 -17910,0.24654338435818446 -17911,0.10301436580280043 -17912,0.8484918762005084 -17913,0.09935589436059666 -17914,0.45335072683507904 -17915,0.11796129232150343 -17916,0.5926038619903994 -17917,0.11055706181283487 -17918,0.09105482268850495 -17919,0.43455001863848486 -17920,0.1282156771431855 -17921,0.9918293048987231 -17922,0.2887749057503368 -17923,0.21328924535810811 -17924,0.9206446194858204 -17925,0.0545170118021866 -17926,0.08362076707602217 -17927,0.8151790902507032 -17928,0.34237348871737416 -17929,0.11335390747976859 -17930,0.6685359805279881 -17931,0.5241726697535148 -17932,0.5580976990409545 -17933,0.023075106522337463 -17934,0.8594177619294986 -17935,0.4585513443397319 -17936,0.5396751063061681 -17937,0.5899184787017716 -17938,0.4924741437040201 -17939,0.10205597832738034 -17940,0.28690279954328035 -17941,0.10939121096777071 -17942,0.6144617289744371 -17943,0.750313143792787 -17944,0.27182064871008316 -17945,0.592931220098993 -17946,0.49631825222848924 -17947,0.8332572935803069 -17948,0.03050567196429843 -17949,0.7721604799012404 -17950,0.9254376192435059 -17951,0.22449821293264527 -17952,0.12957949064182284 -17953,0.8331260428460484 -17954,0.01930840600846362 -17955,0.16886729458765193 -17956,0.0666501565080041 -17957,0.6391185911353007 -17958,0.8337956660939918 -17959,0.36102653352663483 -17960,0.6664473079255744 -17961,0.683187690823184 -17962,0.7473515112197021 -17963,0.992294973406389 -17964,0.8094949715296028 -17965,0.28036964563359124 -17966,0.34653294925907163 -17967,0.26652505538608406 -17968,0.9696285438714661 -17969,0.0738689207821357 -17970,0.9820563661472179 -17971,0.9154128750196845 -17972,0.23815751849564326 -17973,0.3837798513941707 -17974,0.3606581134455581 -17975,0.749004363995664 -17976,0.2978824700358107 -17977,0.44241950245879136 -17978,0.2369549113436935 -17979,0.07255760713793358 -17980,0.811804557138854 -17981,0.6257993175193481 -17982,0.6965187472170682 -17983,0.1780417501933511 -17984,0.549580217283409 -17985,0.7208173060953952 -17986,0.7557998398164414 -17987,0.7257906536792431 -17988,0.31581731193585527 -17989,0.9962152985689208 -17990,0.9848315596561374 -17991,0.3380808240871226 -17992,0.8847965085334727 -17993,0.33672396689376305 -17994,0.10484916096975538 -17995,0.4796713251041722 -17996,0.5751228886761279 -17997,0.6997379079148457 -17998,0.6325806692796915 -17999,0.7766254807959703 -18000,0.3569391784915902 -18001,0.5851998493073327 -18002,0.29627613597679214 -18003,0.2091469309759274 -18004,0.7730197816611992 -18005,0.8946545405786909 -18006,0.1679926337057982 -18007,0.7623696900328039 -18008,0.8591377495854402 -18009,0.21207343768340736 -18010,0.8978062759582923 -18011,0.5960666995374755 -18012,0.43373387098578264 -18013,0.0951404146237047 -18014,0.6110074764620685 -18015,0.761266314970087 -18016,0.25901702743805943 -18017,0.6741624790918318 -18018,0.8661767700954563 -18019,0.05449911788834072 -18020,0.7145307973873609 -18021,0.5158479854006811 -18022,0.6591193829653429 -18023,0.5151568292595938 -18024,0.26990793704509286 -18025,0.48403085859648887 -18026,0.3887186460599019 -18027,0.5255861607848403 -18028,0.4650782524367766 -18029,0.8171421739930324 -18030,0.3465615633183936 -18031,0.43552481394681775 -18032,0.5173211570166898 -18033,0.38736978636863206 -18034,0.08543560138197182 -18035,0.8562923997133054 -18036,0.4525545329145302 -18037,0.5832044370750669 -18038,0.37991885848505647 -18039,0.9998692904142907 -18040,0.45881310524627883 -18041,0.7354260930156337 -18042,0.5200429444795648 -18043,0.06594425300376716 -18044,0.9511364491632865 -18045,0.8175712106220824 -18046,0.18139296629477963 -18047,0.6189328120266303 -18048,0.33534756649039277 -18049,0.8581777582302708 -18050,0.12549994497281536 -18051,0.2768437372281426 -18052,0.2959528780429119 -18053,0.03733635776800426 -18054,0.913809883726494 -18055,0.16873246756214322 -18056,0.34414208270699564 -18057,0.4415503732723236 -18058,0.3217231451005954 -18059,0.17352075767217678 -18060,0.127156276404517 -18061,0.372357018551161 -18062,0.6157877500061365 -18063,0.28962731743842507 -18064,0.9606881797923592 -18065,0.38079368447068007 -18066,0.4663451529231657 -18067,0.8891480527080748 -18068,0.4095510393028682 -18069,0.5097560873404318 -18070,0.18423488314161063 -18071,0.9594396050001708 -18072,0.6238580421742568 -18073,0.29657600826942365 -18074,0.1016477743796459 -18075,0.3563008920780002 -18076,0.2454178136311176 -18077,0.5011468341791051 -18078,0.08219471687926616 -18079,0.5316434142544821 -18080,0.3231637231342993 -18081,0.9050040959104336 -18082,0.841583839494151 -18083,0.026511058005619703 -18084,0.7697871992150733 -18085,0.6889844268243064 -18086,0.45636640509380877 -18087,0.20069690946279506 -18088,0.8341598815857184 -18089,0.7071551184952873 -18090,0.9761640522202729 -18091,0.0842864297241861 -18092,0.14031005905402494 -18093,0.4907226209659714 -18094,0.7821069456123262 -18095,0.8403423193944121 -18096,0.33663045349053633 -18097,0.05910571169511458 -18098,0.4704442420444269 -18099,0.9733940984339547 -18100,0.5084538927566381 -18101,0.8196200411071742 -18102,0.15700909035334487 -18103,0.9810510710645944 -18104,0.7228625655371229 -18105,0.6038514485193028 -18106,0.5085623798767684 -18107,0.11431348161910271 -18108,0.3803407746501507 -18109,0.6666050945911323 -18110,0.5401803238690236 -18111,0.19600691339492593 -18112,0.6045720604274215 -18113,0.7012563224731877 -18114,0.3094394224979473 -18115,0.7742930824365907 -18116,0.7969696911201409 -18117,0.5681745436781256 -18118,0.28134430448761194 -18119,0.369465668217532 -18120,0.680858356376985 -18121,0.3390833269250013 -18122,0.8123970144080771 -18123,0.1311090108378733 -18124,0.5948991444736548 -18125,0.4881919997378138 -18126,0.7856276774020547 -18127,0.8874300200462422 -18128,0.5591446470857049 -18129,0.8167252832982052 -18130,0.3857181347144274 -18131,0.08275379919501691 -18132,0.41105990248958924 -18133,0.0677566250845204 -18134,0.01873673790309227 -18135,0.021663911442459494 -18136,0.7966005720669619 -18137,0.8668185571510988 -18138,0.8097558592731519 -18139,0.017134791557158024 -18140,0.6941105272991326 -18141,0.25976594409549025 -18142,0.34530830505590726 -18143,0.46548606033631434 -18144,0.16725114528632246 -18145,0.6818587688232487 -18146,0.8045554832630042 -18147,0.006481724837435254 -18148,0.14537354683357617 -18149,0.1301868112065564 -18150,0.6171295922510356 -18151,0.5761485432376615 -18152,0.2529232708982274 -18153,0.03472283794787767 -18154,0.01908634726125369 -18155,0.8764372322035121 -18156,0.4844563439923447 -18157,0.35056847911533773 -18158,0.651264804504457 -18159,0.08389626630838576 -18160,0.577326111122142 -18161,0.3406576191337849 -18162,0.22543505785806395 -18163,0.29080629920000234 -18164,0.1017694606787587 -18165,0.2350038074993437 -18166,0.09808003698834311 -18167,0.5139342379048105 -18168,0.8793930277421904 -18169,0.6565176633918933 -18170,0.9543015886952023 -18171,0.09734163075473234 -18172,0.936145736018357 -18173,0.5168979269002226 -18174,0.13002657707527476 -18175,0.4754702757273611 -18176,0.5433440817454896 -18177,0.897820425046278 -18178,0.25054857958342347 -18179,0.5703178021069276 -18180,0.46600556879571786 -18181,0.0534365371032004 -18182,0.06635479062138594 -18183,0.6646837182682998 -18184,0.9249752102013845 -18185,0.967321365600646 -18186,0.36935863571470284 -18187,0.6525983524825673 -18188,0.5875316127258049 -18189,0.36676829881150175 -18190,0.5390867380348743 -18191,0.7287148720780575 -18192,0.8144979771473618 -18193,0.06476237854594624 -18194,0.6441806058614192 -18195,0.5609096799052657 -18196,0.6485383589617087 -18197,0.6302273263263007 -18198,0.3902366948563186 -18199,0.25575631982429925 -18200,0.8343759277300815 -18201,0.9001486960999024 -18202,0.1332481427477561 -18203,0.4124529128519552 -18204,0.17554654214155574 -18205,0.10292519485758056 -18206,0.6102952087760315 -18207,0.2991154454002104 -18208,0.4717383259825183 -18209,0.9185087958287266 -18210,0.8974361960646519 -18211,0.9576379324103899 -18212,0.4207352241438599 -18213,0.8794103204945939 -18214,0.3868181269674469 -18215,0.16023269252286076 -18216,0.19340457855261306 -18217,0.6870738339684013 -18218,0.8092830274979634 -18219,0.20341952280477615 -18220,0.6747393285543731 -18221,0.4106759778181568 -18222,0.3089848969161637 -18223,0.8141299291061994 -18224,0.6337649947924443 -18225,0.8556335907761236 -18226,0.4324818553675115 -18227,0.3145116267142374 -18228,0.6498134708668213 -18229,0.8113726362313561 -18230,0.5177606762088487 -18231,0.6210372672243573 -18232,0.7550710580113155 -18233,0.8776429968359216 -18234,0.04522280909451615 -18235,0.36968296726187766 -18236,0.5559041278507917 -18237,0.4045475454799473 -18238,0.051344643083133246 -18239,0.29351791512251657 -18240,0.25009039016723167 -18241,0.33845025243322147 -18242,0.3056285575644808 -18243,0.8755008086230605 -18244,0.37345544808576514 -18245,0.5668184427650274 -18246,0.1729990918971488 -18247,0.41502294817106655 -18248,0.07023105643583383 -18249,0.8128812707352289 -18250,0.12956715903495253 -18251,0.4333476411334023 -18252,0.6688415420602148 -18253,0.6095440240040105 -18254,0.4530253398932257 -18255,0.7133324601633132 -18256,0.8061128321251996 -18257,0.7049378506090985 -18258,0.9479444896814598 -18259,0.9808327345740137 -18260,0.3032430946024999 -18261,0.2621525388803917 -18262,0.7231474223892667 -18263,0.9962156964434904 -18264,0.24118145698952498 -18265,0.3554773907528479 -18266,0.012986525862928366 -18267,0.6939068671564314 -18268,0.3635924224236403 -18269,0.13685793861458662 -18270,0.6988251503795876 -18271,0.5911591857148457 -18272,0.8411053818553684 -18273,0.9169110412590565 -18274,0.653773931541645 -18275,0.8899684114865469 -18276,0.7178161075114726 -18277,0.9883126722578157 -18278,0.7882769287637263 -18279,0.6757478258182033 -18280,0.3918834992645551 -18281,0.21735041859850046 -18282,0.10840161150487027 -18283,0.6039139349532581 -18284,0.09774987053453166 -18285,0.5401764051526999 -18286,0.5850729522100084 -18287,0.22479552879895226 -18288,0.05519473138406328 -18289,0.08983749880938707 -18290,0.8191790699954646 -18291,0.9898715230879974 -18292,0.03076961551626356 -18293,0.5207106009651041 -18294,0.17760242413586547 -18295,0.7936920698021595 -18296,0.14159335327901168 -18297,0.10816483964216383 -18298,0.1066568489893337 -18299,0.79972322414419 -18300,0.49052237952449707 -18301,0.998786651660189 -18302,0.038992092000920686 -18303,0.8375289730233478 -18304,0.023531535324598507 -18305,0.4841167953139778 -18306,0.8899688165221004 -18307,0.8511626984817742 -18308,0.3989603743450254 -18309,0.49643459634366693 -18310,0.4599960846355591 -18311,0.8369985679748759 -18312,0.6317686235695706 -18313,0.433856496786021 -18314,0.21094919563037384 -18315,0.7984230422641785 -18316,0.06432066630813948 -18317,0.25906847760864693 -18318,0.0011194350068837178 -18319,0.19732400494877766 -18320,0.9470324417324263 -18321,0.33030906542803773 -18322,0.804732965443453 -18323,0.8949289729780044 -18324,0.3108772894782744 -18325,0.549913310998093 -18326,0.4262257333362537 -18327,0.7037912324389267 -18328,0.6028096468762594 -18329,0.3314240150943627 -18330,0.6235515285116913 -18331,0.009454478802839672 -18332,0.01940865454183882 -18333,0.7477801219551323 -18334,0.5139558310393141 -18335,0.24971931655456492 -18336,0.7600657732593078 -18337,0.1593157232253013 -18338,0.06685016779350517 -18339,0.5149006095241346 -18340,0.3169956723324804 -18341,0.02461762995088035 -18342,0.6696511402099756 -18343,0.4361560628928798 -18344,0.23376148438714595 -18345,0.24540002103514047 -18346,0.5371329909788788 -18347,0.07702650760435736 -18348,0.9853209581859205 -18349,0.9238682606454208 -18350,0.8384709767420939 -18351,0.7976415346063214 -18352,0.9330693484144066 -18353,0.4274292588095775 -18354,0.16555397863274557 -18355,0.015036982992777115 -18356,0.19665983941944487 -18357,0.24720135052749292 -18358,0.5222561807834428 -18359,0.16189393597046542 -18360,0.32669644542572696 -18361,0.5315412944004722 -18362,0.8129916803623383 -18363,0.23620803545250202 -18364,0.7497188245492072 -18365,0.6689137754580081 -18366,0.6488408057986863 -18367,0.08198027740054381 -18368,0.4565688193749604 -18369,0.3923240812420682 -18370,0.6156516085005899 -18371,0.04076898451987632 -18372,0.575859923582699 -18373,0.1510879393947635 -18374,0.08406937712893425 -18375,0.9500910837642996 -18376,0.0029174265499407603 -18377,0.5741139996242712 -18378,0.4298116757668077 -18379,0.32682632317072313 -18380,0.5199408518182195 -18381,0.759032439461155 -18382,0.5857777482059621 -18383,0.002652033015284827 -18384,0.7161014591666184 -18385,0.9514633742929048 -18386,0.7367374505975494 -18387,0.8669626816297674 -18388,0.7540796577908773 -18389,0.3166111674162042 -18390,0.9220699339037036 -18391,0.03373739179366142 -18392,0.964492892122064 -18393,0.9026439885897649 -18394,0.8673125132877163 -18395,0.8355923608751114 -18396,0.05990095352278835 -18397,0.966120458877992 -18398,0.6200929813635223 -18399,0.022370455350048224 -18400,0.9431848729372695 -18401,0.7907725134912736 -18402,0.44771862646956095 -18403,0.2772589057025241 -18404,0.6516661077581739 -18405,0.8255442865456365 -18406,0.9138504005788645 -18407,0.09151799654944093 -18408,0.5268603106066531 -18409,0.8508661415167813 -18410,0.28362869725808115 -18411,0.18377914549761398 -18412,0.18068170526213867 -18413,0.8431009894897348 -18414,0.6188286530715261 -18415,0.6314315965502397 -18416,0.04774234427175583 -18417,0.9626087765956848 -18418,0.12137748294785344 -18419,0.179067923578064 -18420,0.6088759607099713 -18421,0.4331893099161297 -18422,0.4816941673088403 -18423,0.26023089133410804 -18424,0.296681394637032 -18425,0.7721868726816123 -18426,0.6519626283672192 -18427,0.48752027489930083 -18428,0.3572321763125652 -18429,0.3491859174003451 -18430,0.1401076473909172 -18431,0.07690138912788635 -18432,0.8595294148839834 -18433,0.9949260084518247 -18434,0.3267950685860588 -18435,0.7566971450645456 -18436,0.4927081486679955 -18437,0.08822799416171856 -18438,0.26372717100047327 -18439,0.1555992863754403 -18440,0.6540252990976234 -18441,0.38921945488931853 -18442,0.5214501886883031 -18443,0.7735879107598734 -18444,0.9787580409163357 -18445,0.6275519851589528 -18446,0.9096111301726069 -18447,0.3401916223578032 -18448,0.03167287491498194 -18449,0.46552297334562054 -18450,0.06902038326700122 -18451,0.09203148643479575 -18452,0.8536658522056142 -18453,0.9778125855892355 -18454,0.27264844068771643 -18455,0.3527806342870252 -18456,0.8633964725433876 -18457,0.12957170320331401 -18458,0.713225435193454 -18459,0.872844518513249 -18460,0.9635336589041058 -18461,0.19055284756390423 -18462,0.38859996336164715 -18463,0.4057202619318505 -18464,0.036490477906429675 -18465,0.4391877879292263 -18466,0.7216392600498432 -18467,0.621085112478376 -18468,0.7298652033178398 -18469,0.34253552376146823 -18470,0.18122492375054466 -18471,0.6815833735935733 -18472,0.024765557590143983 -18473,0.5958305536212918 -18474,0.25955932399940795 -18475,0.33745192595040285 -18476,0.6485752297914327 -18477,0.15636949733650374 -18478,0.6637659353418895 -18479,0.4562106623224822 -18480,0.8175819544847643 -18481,0.06589413406593281 -18482,0.39394158614427965 -18483,0.3614991025207107 -18484,0.33871207817309323 -18485,0.9717309345183561 -18486,0.8699248507848732 -18487,0.9155239248234786 -18488,0.7781946151200173 -18489,0.03364524576879635 -18490,0.3629826794130112 -18491,0.07365904145416102 -18492,0.473071578590592 -18493,0.056617481625761856 -18494,0.402420570682282 -18495,0.913851569892323 -18496,0.8355117350878604 -18497,0.2673564798273349 -18498,0.11861510886938231 -18499,0.17565279715035653 -18500,0.7367819896559828 -18501,0.2551897581260617 -18502,0.5596865057168596 -18503,0.23192913571839657 -18504,0.23047907572560844 -18505,0.48463965201001036 -18506,0.8540673524090665 -18507,0.22517548835538126 -18508,0.8784921304913383 -18509,0.8758605003519486 -18510,0.5806219269632709 -18511,0.519001908651518 -18512,0.03060689228457092 -18513,0.3592737472096197 -18514,0.6602870355398867 -18515,0.2740325790094156 -18516,0.2659678170861285 -18517,0.8896827345573675 -18518,0.9807597513904508 -18519,0.9009595296669677 -18520,0.7554372445407497 -18521,0.8315745772374408 -18522,0.6789416994987433 -18523,0.7086684871132957 -18524,0.36283696242746644 -18525,0.41562032077082 -18526,0.5314778387413692 -18527,0.8640254002109533 -18528,0.8540436835456678 -18529,0.9077410580169727 -18530,0.8715997297467848 -18531,0.6640713215453368 -18532,0.26314103504841435 -18533,0.9381476378140527 -18534,0.014552969350049683 -18535,0.5371025488850288 -18536,0.4939232331011679 -18537,0.5942818872417496 -18538,0.7729676446287557 -18539,0.30340261236622956 -18540,0.5317080025790841 -18541,0.9716634041958744 -18542,0.27059396067973107 -18543,0.3399305251719148 -18544,0.3710656287634341 -18545,0.4710671460039594 -18546,0.7853956686832322 -18547,0.3404279853469764 -18548,0.06371100350042835 -18549,0.9568205751735191 -18550,0.5517880105413159 -18551,0.47996307007742245 -18552,0.6537130525313518 -18553,0.09475251992063849 -18554,0.9188788798306297 -18555,0.5147387006957239 -18556,0.6128319472417051 -18557,0.5953662970531524 -18558,0.1177977447025712 -18559,0.049841025615996126 -18560,0.5397449098990423 -18561,0.5955031550128989 -18562,0.8811106799837334 -18563,0.1472399737396597 -18564,0.38607604209756496 -18565,0.3772026185376903 -18566,0.8453787613164085 -18567,0.6421865359391417 -18568,0.6741017551161294 -18569,0.8321413543274079 -18570,0.8458597303719569 -18571,0.5182532198432557 -18572,0.7439759799799568 -18573,0.4286682069227814 -18574,0.07335176042945268 -18575,0.8747137284290839 -18576,0.8033759367161606 -18577,0.40672522379277465 -18578,0.7123802837409111 -18579,0.10778776596327189 -18580,0.5898969811275149 -18581,0.08813879199537478 -18582,0.7151546338185791 -18583,0.8635579253935883 -18584,0.3965769290602732 -18585,0.1466554790941521 -18586,0.14096037123476457 -18587,0.40404087802629673 -18588,0.5109837197271719 -18589,0.8061137079223144 -18590,0.4395808127393587 -18591,0.9385283435995939 -18592,0.45134762970218933 -18593,0.4926315393709564 -18594,0.5439273037636153 -18595,0.24422930168605783 -18596,0.1395200055581406 -18597,0.00023641382320005455 -18598,0.02546234416794857 -18599,0.8166366619694719 -18600,0.18471797484927976 -18601,0.26366199657321066 -18602,0.7562441640608011 -18603,0.9403664189531259 -18604,0.8607213089967922 -18605,0.9241313821015749 -18606,0.9228674977595831 -18607,0.39695641189098374 -18608,0.12819707640456668 -18609,0.6186841550428505 -18610,0.7290717406168373 -18611,0.09122977483765549 -18612,0.5467053621276361 -18613,0.7802341474166232 -18614,0.6886601346373832 -18615,0.606194563227692 -18616,0.6127041116132051 -18617,0.8381517962304194 -18618,0.7735801236072569 -18619,0.8286939801425561 -18620,0.9014991456363826 -18621,0.33222877599190226 -18622,0.9731185392001287 -18623,0.6210753830282952 -18624,0.06587205271963692 -18625,0.6150905003545174 -18626,0.946938170823172 -18627,0.2665185488174845 -18628,0.13716319056739334 -18629,0.9674931009037994 -18630,0.23752240416154868 -18631,0.5022942236183954 -18632,0.5321786110154466 -18633,0.17589723404699398 -18634,0.08107494073526234 -18635,0.32214731229043936 -18636,0.4773901217493568 -18637,0.09994965473578132 -18638,0.6188780505681315 -18639,0.026348837178799878 -18640,0.4639653974746516 -18641,0.07223942841646591 -18642,0.3277780835411239 -18643,0.2650850893766309 -18644,0.2609653193899971 -18645,0.135200743233986 -18646,0.3420207116761087 -18647,0.43735257731237054 -18648,0.6481297194750435 -18649,0.21766709189593925 -18650,0.41330516854125765 -18651,0.8091161367247595 -18652,0.7499897933645656 -18653,0.2239208505481617 -18654,0.36597191430231213 -18655,0.05787459292371211 -18656,0.5394540630279612 -18657,0.20750960447981093 -18658,0.7124909543673794 -18659,0.9075264050569399 -18660,0.2720705357383093 -18661,0.4361005625397604 -18662,0.4513941612667337 -18663,0.13100809674203406 -18664,0.41936473112703143 -18665,0.3127119810546516 -18666,0.3449705493673221 -18667,0.1681971750898258 -18668,0.42465092630710666 -18669,0.4852692305645877 -18670,0.9055024795536324 -18671,0.575628584771044 -18672,0.4787780650882829 -18673,0.9611892495644166 -18674,0.20357698299746152 -18675,0.5655440021084567 -18676,0.7104923493568971 -18677,0.31677284009154605 -18678,0.6556103940211426 -18679,0.9811512281686939 -18680,0.3982829392620113 -18681,0.23419709193946747 -18682,0.8036501500598888 -18683,0.14752412481784494 -18684,0.06041611515020162 -18685,0.4594474537622525 -18686,0.4774913387025429 -18687,0.4008139793461901 -18688,0.9351590389212011 -18689,0.6407419939297632 -18690,0.5506732071869636 -18691,0.19869826741343488 -18692,0.5409848767008554 -18693,0.8153847947225491 -18694,0.8556905261147152 -18695,0.6528958756962545 -18696,0.8279496013223616 -18697,0.9874506642918729 -18698,0.9635367051664528 -18699,0.1388692538706714 -18700,0.38455868417124905 -18701,0.2950337807528919 -18702,0.9726201465567113 -18703,0.356828532427826 -18704,0.92428816589442 -18705,0.6608129217752629 -18706,0.5762071233856845 -18707,0.9740479797645836 -18708,0.88295514028369 -18709,0.9187873523968278 -18710,0.9405243216081454 -18711,0.3816790983062204 -18712,0.36847592393489215 -18713,0.5105481721282695 -18714,0.26581743700091875 -18715,0.12155871750259317 -18716,0.1842120264518926 -18717,0.3831207048888564 -18718,0.10951208612576102 -18719,0.202871552016736 -18720,0.5609386047124678 -18721,0.9878793071262841 -18722,0.6322463996572972 -18723,0.6940695587190773 -18724,0.8692238523029252 -18725,0.04693525030254819 -18726,0.8992763914016735 -18727,0.7867436169912606 -18728,0.5306382503142243 -18729,0.29900308272102993 -18730,0.9527125935240194 -18731,0.9858208833971445 -18732,0.7213710735476885 -18733,0.373193698813128 -18734,0.03250050557843076 -18735,0.42380034170454095 -18736,0.28656753070742147 -18737,0.09951590799488041 -18738,0.5405429806043168 -18739,0.048398509789185695 -18740,0.3070320155725279 -18741,0.3919215243233626 -18742,0.6653027968114017 -18743,0.33651816163896653 -18744,0.9501985662095993 -18745,0.30858061849607843 -18746,0.8647466656088323 -18747,0.3780656698936977 -18748,0.21318310548710206 -18749,0.23842374753504825 -18750,0.7704373481244112 -18751,0.8132973207207058 -18752,0.4525056028660571 -18753,0.7938328208144625 -18754,0.08903773662912695 -18755,0.43747933537534145 -18756,0.7673749659451639 -18757,0.7600911468744451 -18758,0.49775028906341834 -18759,0.8453639462474689 -18760,0.602383240853428 -18761,0.2872949265814676 -18762,0.9817120608790875 -18763,0.3707404249732522 -18764,0.6439557187089527 -18765,0.22834804065276482 -18766,0.05027169839284029 -18767,0.17259696906812272 -18768,0.013954705438683823 -18769,0.4231751920398712 -18770,0.4039426117502837 -18771,0.8061988451301498 -18772,0.8100707890323866 -18773,0.5159020096937776 -18774,0.4851354980175412 -18775,0.5240898179923921 -18776,0.047431740939707034 -18777,0.1769979472792963 -18778,0.36985555895915145 -18779,0.12151477994099291 -18780,0.7237421492743111 -18781,0.34227400105685 -18782,0.39307816612479984 -18783,0.05813002680403223 -18784,0.17398635292774878 -18785,0.9373719718194143 -18786,0.5082283471032009 -18787,0.5566601755644364 -18788,0.47922192538084185 -18789,0.42339237398752405 -18790,0.5938106611284076 -18791,0.22849404087003256 -18792,0.32823778117820146 -18793,0.8805523018187809 -18794,0.027091960658322756 -18795,0.832319616859869 -18796,0.6688594897726822 -18797,0.8774841009247716 -18798,0.3068292434779183 -18799,0.2870049523982049 -18800,0.6439343352778174 -18801,0.6874867700286327 -18802,0.1288725468376295 -18803,0.9769914394840581 -18804,0.8110321684932704 -18805,0.43186750707470867 -18806,0.3407022497656883 -18807,0.17586217748216304 -18808,0.5481101367917913 -18809,0.9432007626490485 -18810,0.762169172812143 -18811,0.49195495517437526 -18812,0.7265125667549093 -18813,0.4282429037509057 -18814,0.7404002178923528 -18815,0.03562601032120005 -18816,0.13290508401474055 -18817,0.018887170772115103 -18818,0.8681259843318824 -18819,0.4509303481345307 -18820,0.295909199744983 -18821,0.014950712320185189 -18822,0.055382064421216515 -18823,0.7920573763249519 -18824,0.9780862964242195 -18825,0.09925926321457224 -18826,0.5818512733179741 -18827,0.7313722900059125 -18828,0.026313955351047413 -18829,0.14054888674061095 -18830,0.45680286293234096 -18831,0.1957957336147227 -18832,0.6408820066078251 -18833,0.3785429309143443 -18834,0.5128096569633573 -18835,0.9866330633020445 -18836,0.5797132680344068 -18837,0.9416246582451375 -18838,0.14849974559241785 -18839,0.610879190417917 -18840,0.3036882287741075 -18841,0.268168601901695 -18842,0.43487038630335995 -18843,0.8323799067322873 -18844,0.06547836880571589 -18845,0.5212197760743136 -18846,0.018749575300721744 -18847,0.145315156094888 -18848,0.7385669688410486 -18849,0.8342292585499468 -18850,0.47703574306215457 -18851,0.3504598029228524 -18852,0.2231094540956472 -18853,0.30893043468821857 -18854,0.004358054879035844 -18855,0.7433832039183798 -18856,0.8736520451662418 -18857,0.9047057369033292 -18858,0.5992956119847751 -18859,0.6570965668392037 -18860,0.8465832378047069 -18861,0.924249271204815 -18862,0.4618621276582624 -18863,0.26821525292366444 -18864,0.13875933240867655 -18865,0.485886248063615 -18866,0.6874903936122378 -18867,0.4294634840973023 -18868,0.5189168957394406 -18869,0.13022161931885567 -18870,0.5202409523080492 -18871,0.08074525585950842 -18872,0.42937077245677824 -18873,0.6321876920094343 -18874,0.7155932454188896 -18875,0.9384234748250527 -18876,0.9880009777064455 -18877,0.12347421318568319 -18878,0.6693323737157005 -18879,0.29275749957142017 -18880,0.16118354004503066 -18881,0.3412634515570848 -18882,0.6507352147910141 -18883,0.791946378867178 -18884,0.33721948221952247 -18885,0.43893630984331733 -18886,0.5977672792883362 -18887,0.014437891210506204 -18888,0.8400923859185958 -18889,0.679071586440156 -18890,0.5939212399656953 -18891,0.4014546747932016 -18892,0.8589981068225467 -18893,0.003626666871697548 -18894,0.9632510735011168 -18895,0.7120818018478756 -18896,0.7457658392410901 -18897,0.3216876655021448 -18898,0.21594528400509239 -18899,0.002385779464867177 -18900,0.5919684478844898 -18901,0.06766440971732701 -18902,0.7941250463621975 -18903,0.07740598481737326 -18904,0.3891615606247565 -18905,0.630288628225276 -18906,0.5407173442100816 -18907,0.31107505481226905 -18908,0.09858411380621779 -18909,0.7914288532255989 -18910,0.45503911757553006 -18911,0.4492708302414855 -18912,0.6573962362145475 -18913,0.46452963924774326 -18914,0.5173152077621525 -18915,0.8953152639037327 -18916,0.5278619152171593 -18917,0.4728485649153117 -18918,0.11250662967304959 -18919,0.061676871590717 -18920,0.8348536957690373 -18921,0.8811059730688706 -18922,0.20270862582333138 -18923,0.3660944280651758 -18924,0.6403581227040144 -18925,0.970150020059116 -18926,0.7250114164780608 -18927,0.5116271983185914 -18928,0.8918036273467271 -18929,0.926980573364491 -18930,0.893689104099249 -18931,0.45051736984000523 -18932,0.5748917753626882 -18933,0.8691493225846648 -18934,0.435931229523403 -18935,0.3574380595047959 -18936,0.06421318803203901 -18937,0.20585559529019104 -18938,0.5722244229336061 -18939,0.8252191701040678 -18940,0.6750119714077613 -18941,0.8661913560830652 -18942,0.4152608314127463 -18943,0.3656918137325985 -18944,0.12326387359230073 -18945,0.5573071952848898 -18946,0.9565253492241305 -18947,0.17619322254143177 -18948,0.9613098200352396 -18949,0.8647373465032835 -18950,0.752821828540336 -18951,0.3042217088116268 -18952,0.9457058389638794 -18953,0.1262744389617122 -18954,0.7719418784598334 -18955,0.5368011201747531 -18956,0.5698966751383866 -18957,0.2696477444065497 -18958,0.4145585326997522 -18959,0.4816638454151757 -18960,0.4055159648915918 -18961,0.2982934415409262 -18962,0.2372568748965731 -18963,0.8747630978541348 -18964,0.4015809274914157 -18965,0.9019361839600031 -18966,0.5458506146618185 -18967,0.08540862034159036 -18968,0.33596203811803205 -18969,0.3228121821585044 -18970,0.783129882743778 -18971,0.6158153989219779 -18972,0.19273543246711855 -18973,0.7852454869178368 -18974,0.26578482514596846 -18975,0.98140705917829 -18976,0.17567070213600489 -18977,0.6765533978200585 -18978,0.9570083662610762 -18979,0.05707455301559017 -18980,0.6235940632653454 -18981,0.7144646386071194 -18982,0.47474810799389056 -18983,0.3806954065030901 -18984,0.17936970653574458 -18985,0.6438056680862154 -18986,0.25897449866987743 -18987,0.7833776677251185 -18988,0.334665180037257 -18989,0.6977113161962883 -18990,0.3397850506227681 -18991,0.22509410912275718 -18992,0.6139593174514614 -18993,0.8414139405531448 -18994,0.8983474003974437 -18995,0.2175931656637743 -18996,0.8053610721663178 -18997,0.047843629490427975 -18998,0.16150921157380993 -18999,0.9883893304709994 -19000,0.6311489331991866 -19001,0.16563508937122873 -19002,0.9892265950550313 -19003,0.84324927034095 -19004,0.9006791478144358 -19005,0.48982214169737137 -19006,0.7259293723058918 -19007,0.06129965587698216 -19008,0.47486542292642164 -19009,0.574467828681645 -19010,0.675849757522543 -19011,0.03241430862570316 -19012,0.024511506946457096 -19013,0.721968404558874 -19014,0.007109663655511134 -19015,0.608713529009796 -19016,0.06303059218102058 -19017,0.013611208867412627 -19018,0.24247134425835482 -19019,0.23135380020747676 -19020,0.14978726684125676 -19021,0.8203675242679606 -19022,0.20386588264400585 -19023,0.5926104348103794 -19024,0.2677562655034238 -19025,0.5249372067440954 -19026,0.5879191347605739 -19027,0.32973082711508106 -19028,0.37239701983761453 -19029,0.34464819945873193 -19030,0.9536652412984623 -19031,0.7667178240900987 -19032,0.07202931189892314 -19033,0.7562188859275744 -19034,0.7502165462429536 -19035,0.6862708196526108 -19036,0.4220448490426787 -19037,0.7747747638472116 -19038,0.8102656193464409 -19039,0.11949032865369957 -19040,0.1025379502220447 -19041,0.9442163452285274 -19042,0.0943307465490969 -19043,0.5575390575669323 -19044,0.5369322593920898 -19045,0.17936933859583437 -19046,0.6326944834873406 -19047,0.5533794808767946 -19048,0.2098290110424963 -19049,0.22730265697352037 -19050,0.6938599041822682 -19051,0.31591580993587 -19052,0.6458625230525681 -19053,0.08076267100582069 -19054,0.27741587896020514 -19055,0.5887052431762049 -19056,0.5192713465858902 -19057,0.22626738780992517 -19058,0.835876326007859 -19059,0.2178413368817037 -19060,0.20712555124781884 -19061,0.2400078350394651 -19062,0.12358195667063943 -19063,0.46079875960237104 -19064,0.7998220687751461 -19065,0.9472665078309789 -19066,0.04222664126824682 -19067,0.9206202710021747 -19068,0.8217587287168877 -19069,0.1867521756960654 -19070,0.2107582973969917 -19071,0.6625924249048233 -19072,0.24903382711843458 -19073,0.03794585113905735 -19074,0.8274029170189695 -19075,0.4876959378270096 -19076,0.7939288129316798 -19077,0.36942329102175486 -19078,0.28890251420951885 -19079,0.12799595515027062 -19080,0.0740223998170827 -19081,0.14860367351393433 -19082,0.5042822703317376 -19083,0.7894394282328424 -19084,0.4678526972836795 -19085,0.8740145051612933 -19086,0.8269448473877279 -19087,0.8440733153895639 -19088,0.3391840064869195 -19089,0.28840051926145505 -19090,0.2077302497948985 -19091,0.0012347197419992906 -19092,0.3512273325989915 -19093,0.6556492339403208 -19094,0.6306823319495517 -19095,0.5291708816060365 -19096,0.7092950134929193 -19097,0.2440865951496729 -19098,0.1781004254426558 -19099,0.42175120125628573 -19100,0.033150194100676544 -19101,0.3165517729263233 -19102,0.549679758529362 -19103,0.9152015875339562 -19104,0.47942469433107493 -19105,0.9681480538864762 -19106,0.796334924254704 -19107,0.8948826377905038 -19108,0.28351681735844836 -19109,0.5795418695858267 -19110,0.21081073032917907 -19111,0.02584667090591175 -19112,0.20106130634260067 -19113,0.31819373446113774 -19114,0.8436488734523719 -19115,0.3292645012875296 -19116,0.13012490087624617 -19117,0.5551365838182263 -19118,0.8240210402892234 -19119,0.3315301992001507 -19120,0.12705857109853125 -19121,0.38311026562461237 -19122,0.568723475050958 -19123,0.20528901289242552 -19124,0.45829094541054016 -19125,0.8567072533979488 -19126,0.44980472919893966 -19127,0.5815131874022997 -19128,0.1392082927430799 -19129,0.8812420170796662 -19130,0.20722509931789268 -19131,0.5503746862533717 -19132,0.6968050222061978 -19133,0.8072471689271349 -19134,0.3295455470913383 -19135,0.06798485896615192 -19136,0.8794266358607836 -19137,0.9587160141643152 -19138,0.15859322907442908 -19139,0.3032447548818147 -19140,0.5454153798036734 -19141,0.5785643336262869 -19142,0.3665591473901987 -19143,0.4896549573213832 -19144,0.4772356860871 -19145,0.639378024270295 -19146,0.0029603145851307966 -19147,0.0066589701601417195 -19148,0.7624265406306344 -19149,0.23234666686001004 -19150,0.7710169221997424 -19151,0.7168979932499939 -19152,0.7629499362156982 -19153,0.8737924993632047 -19154,0.9213406702359229 -19155,0.08024019486724887 -19156,0.07095168463308421 -19157,0.43107618113866286 -19158,0.37836285508925305 -19159,0.8857298408761312 -19160,0.4360821616631748 -19161,0.7219782391960667 -19162,0.5338223365676239 -19163,0.6904090724488342 -19164,0.26815426427681144 -19165,0.39236947953408086 -19166,0.6963843338827999 -19167,0.9737786692216495 -19168,0.3167822432165073 -19169,0.7447819916532119 -19170,0.590931494702933 -19171,0.025172371467459542 -19172,0.532069641086848 -19173,0.07653188201798045 -19174,0.05970069366221398 -19175,0.1600069400849099 -19176,0.5757948222441038 -19177,0.9173593282231447 -19178,0.17287876539325053 -19179,0.2936110336346536 -19180,0.9671797870326095 -19181,0.7941134212685402 -19182,0.5192925343009481 -19183,0.1009135056685525 -19184,0.9125805794659223 -19185,0.6242900032725922 -19186,0.2148693626896997 -19187,0.662786970762986 -19188,0.12880626304452347 -19189,0.32568974449814214 -19190,0.6941558517345239 -19191,0.5474451348931547 -19192,0.9270799779013074 -19193,0.3495095590088262 -19194,0.04106156277928519 -19195,0.5867718584937859 -19196,0.997782824480405 -19197,0.23953426859924243 -19198,0.7296333554444445 -19199,0.7689077963029348 -19200,0.013735334329162852 -19201,0.2186825535511111 -19202,0.017252538856689092 -19203,0.620528021173249 -19204,0.5060438219956693 -19205,0.14611796447364522 -19206,0.46435834695746536 -19207,0.33032044593464693 -19208,0.467682000169493 -19209,0.5225526140259367 -19210,0.6004055065965643 -19211,0.4288230969615585 -19212,0.09789403274348607 -19213,0.6694383477752207 -19214,0.3050200596993756 -19215,0.2829550099906637 -19216,0.9182812728278257 -19217,0.7153187701115725 -19218,0.28137947796780727 -19219,0.8140532187397934 -19220,0.803065013224064 -19221,0.9283282893396669 -19222,0.12526604854973988 -19223,0.4192190796936831 -19224,0.37335196311457897 -19225,0.6733211205728115 -19226,0.5792141412900201 -19227,0.7601198187690558 -19228,0.5020190816515243 -19229,0.9312613892009498 -19230,0.5346467897563809 -19231,0.3734924225700348 -19232,0.5488666626790232 -19233,0.7107735036607299 -19234,0.9334228460004728 -19235,0.24997199824570315 -19236,0.0033336035732982605 -19237,0.6845228290708509 -19238,0.13511912407057813 -19239,0.24703491138214861 -19240,0.5069653333777453 -19241,0.23057096358062157 -19242,0.6504583307478465 -19243,0.49658904060674924 -19244,0.0431427330781744 -19245,0.23112512028056365 -19246,0.5708471019521557 -19247,0.555766423867546 -19248,0.3593114163218153 -19249,0.6013837598151933 -19250,0.2917264649545035 -19251,0.5252050257539224 -19252,0.08339107669108958 -19253,0.11693522775587695 -19254,0.9179432701515219 -19255,0.8214597575438698 -19256,0.2907394530883751 -19257,0.3684553571404452 -19258,0.8872546328847402 -19259,0.4252510319253421 -19260,0.6346179552204084 -19261,0.2938142772945621 -19262,0.043966532265316216 -19263,0.3365157178905047 -19264,0.730575118181934 -19265,0.7872820695297805 -19266,0.7080822413101672 -19267,0.5933408695831578 -19268,0.9479265596354444 -19269,0.6236312721278628 -19270,0.9921906962855424 -19271,0.38520363137704494 -19272,0.414049317334788 -19273,0.7230037617820764 -19274,0.39059672870899353 -19275,0.684905325215542 -19276,0.04203692845142637 -19277,0.5268572398082298 -19278,0.9470565139997317 -19279,0.17489991251820913 -19280,0.6086412733184052 -19281,0.6162663733192308 -19282,0.0068735840927696135 -19283,0.1703843610842234 -19284,0.14559824328532756 -19285,0.04427939480107912 -19286,0.3072854717015533 -19287,0.1192352031374575 -19288,0.4851198656543627 -19289,0.5038689510181805 -19290,0.7385470534181188 -19291,0.3715738167175837 -19292,0.649900464263319 -19293,0.7730134207777364 -19294,0.23696102886390424 -19295,0.7401771724926923 -19296,0.6859375403086065 -19297,0.16774344367975091 -19298,0.17670621071839776 -19299,0.16205616153119518 -19300,0.22937559734619017 -19301,0.4615497215847352 -19302,0.10311921758747011 -19303,0.12722976320939272 -19304,0.04800897243276436 -19305,0.5288988806704131 -19306,0.1268581412483062 -19307,0.5993507042244847 -19308,0.3037252932932162 -19309,0.5656287362021666 -19310,0.7724434077827423 -19311,0.48783113273570156 -19312,0.38030122301893643 -19313,0.9970752246514085 -19314,0.042510941019121895 -19315,0.7600598931557612 -19316,0.22535341438634593 -19317,0.21650513408896555 -19318,0.8926020582477622 -19319,0.017925051314594653 -19320,0.8179137782458145 -19321,0.877131430741765 -19322,0.8276988769525226 -19323,0.6683505773781627 -19324,0.8704075946633816 -19325,0.7353895430365576 -19326,0.8321878901805564 -19327,0.3172621033105272 -19328,0.0605787689390026 -19329,0.1461011488446925 -19330,0.9551118959008257 -19331,0.8909207436975383 -19332,0.44103656520628887 -19333,0.049391182532965594 -19334,0.5894342350514583 -19335,0.2134723549691857 -19336,0.7262157160576431 -19337,0.5931613777302618 -19338,0.3369013661843645 -19339,0.6514216778251918 -19340,0.7052169660132506 -19341,0.07216670747449694 -19342,0.290065609763303 -19343,0.22107898322250297 -19344,0.3934851993997689 -19345,0.33560964062178844 -19346,0.8321453895012206 -19347,0.4959438610907628 -19348,0.593731765122917 -19349,0.3898512193832969 -19350,0.5472220101492737 -19351,0.8343522403450427 -19352,0.6544225084518293 -19353,0.7806927587530236 -19354,0.3864213115757339 -19355,0.6563933798375646 -19356,0.5077804931888373 -19357,0.5360512109161195 -19358,0.4542114524567963 -19359,0.01770707486903056 -19360,0.9157370610021635 -19361,0.17873764397017178 -19362,0.1447182225821082 -19363,0.7870773783747429 -19364,0.7742274321039838 -19365,0.7857314369030272 -19366,0.0993025202858463 -19367,0.0058972351416711755 -19368,0.8510940243328877 -19369,0.16634390855405246 -19370,0.9864174065885225 -19371,0.30399725476824313 -19372,0.1917523848578444 -19373,0.37657324822886873 -19374,0.10808548044284538 -19375,0.28244065625333425 -19376,0.1256203192073364 -19377,0.6891066544587866 -19378,0.3172092466793406 -19379,0.1247283111816907 -19380,0.017710745411282924 -19381,0.16406472711315223 -19382,0.7200563905003674 -19383,0.4101230282608648 -19384,0.846075087476191 -19385,0.45031932440496103 -19386,0.24925570915550732 -19387,0.07734849372057451 -19388,0.42102289379155944 -19389,0.7457991041128867 -19390,0.3901979936340769 -19391,0.6299146772024268 -19392,0.8662099025581889 -19393,0.20848699273636329 -19394,0.516110110538363 -19395,0.9416921912974136 -19396,0.740845263510031 -19397,0.12678164128177571 -19398,0.4205823385299605 -19399,0.32427778644446026 -19400,0.8991324890560047 -19401,0.9622661542265507 -19402,0.3441474916151642 -19403,0.05534195774844741 -19404,0.8661817944549116 -19405,0.8282829844060448 -19406,0.26267605582979203 -19407,0.7968605710800901 -19408,0.40094416636823493 -19409,0.2619734359070255 -19410,0.9095133268308996 -19411,0.33817818584414083 -19412,0.9273565419145877 -19413,0.22345734384329996 -19414,0.5511212267862851 -19415,0.48251661280008995 -19416,0.4481813638091836 -19417,0.5361781590230849 -19418,0.023858070606310955 -19419,0.16017530567905558 -19420,0.7482626819764127 -19421,0.20652185585882066 -19422,0.9589724495337141 -19423,0.1398374746422042 -19424,0.06958845729347662 -19425,0.06134141169866891 -19426,0.9162818424792074 -19427,0.6993518590836292 -19428,0.2967708935162049 -19429,0.023054612620126202 -19430,0.025655071437940213 -19431,0.17954706737333315 -19432,0.2930420949100955 -19433,0.29197495332915135 -19434,0.7761648442366149 -19435,0.5316779848799261 -19436,0.3497877967223162 -19437,0.8997969442473649 -19438,0.4677082022439033 -19439,0.5316570782892347 -19440,0.19123859391445175 -19441,0.22304485546863018 -19442,0.41831942769624564 -19443,0.3185828681067513 -19444,0.6056378999147486 -19445,0.5702079792652162 -19446,0.45867021888917947 -19447,0.08975981769978925 -19448,0.010243885880415915 -19449,0.20537910261842673 -19450,0.4738425697053438 -19451,0.6569973501521498 -19452,0.098676977425882 -19453,0.11396906550810826 -19454,0.10878746176559084 -19455,0.9289113386906517 -19456,0.2614038309731084 -19457,0.45072767738408037 -19458,0.7852616876485319 -19459,0.23842995154126134 -19460,0.7174958871086545 -19461,0.9792072774383346 -19462,0.6835431509278648 -19463,0.18784013120083176 -19464,0.09862043656714448 -19465,0.7658563396297686 -19466,0.34696317313149616 -19467,0.9586058992355317 -19468,0.7321006376602571 -19469,0.5128602632836077 -19470,0.13447158438679208 -19471,0.12571741574503448 -19472,0.9642899978112389 -19473,0.2675503831035311 -19474,0.7243121690226559 -19475,0.12168374328544229 -19476,0.114710497959428 -19477,0.8473901456652317 -19478,0.6940059049444601 -19479,0.79447680483446 -19480,0.7648734790839031 -19481,0.0117637015924692 -19482,0.04110412073350578 -19483,0.28054428593721226 -19484,0.41515258031673563 -19485,0.5962901707376707 -19486,0.1382853448001028 -19487,0.7109753059172764 -19488,0.10174495934034711 -19489,0.31658753301358866 -19490,0.7548642120728062 -19491,0.0726543153612671 -19492,0.6805513738866619 -19493,0.765178833590159 -19494,0.0393661787910452 -19495,0.01978523459464354 -19496,0.9695553061150287 -19497,0.15951626938392072 -19498,0.360794874061517 -19499,0.3410997507287783 -19500,0.07087280576883792 -19501,0.3010367391517579 -19502,0.9252547776689971 -19503,0.097946114775873 -19504,0.29730910359512 -19505,0.8190110706554347 -19506,0.23065360111130717 -19507,0.27759688218900247 -19508,0.50010136834102 -19509,0.9360207186472906 -19510,0.4463274400852809 -19511,0.23186433444771737 -19512,0.6787205650307769 -19513,0.12683907012491946 -19514,0.04571962272197705 -19515,0.17223875936120014 -19516,0.7233039004301446 -19517,0.9346592688503178 -19518,0.5475256038834367 -19519,0.21006297303275911 -19520,0.15207421767415918 -19521,0.17722233771287765 -19522,0.2191182362323566 -19523,0.5409978552040282 -19524,0.5211572130761438 -19525,0.6093529835311656 -19526,0.902859764854375 -19527,0.2811892244768843 -19528,0.006316440801639178 -19529,0.021848020913780464 -19530,0.4825828391892798 -19531,0.560150958012211 -19532,0.6363473041321968 -19533,0.7322370076430911 -19534,0.21004697832236452 -19535,0.09466551547912061 -19536,0.7006504524309506 -19537,0.2276693683481581 -19538,0.43642874838001766 -19539,0.7241656658048449 -19540,0.8835446632539359 -19541,0.8812109904352361 -19542,0.13119433052058238 -19543,0.5501604879702174 -19544,0.1739764864602129 -19545,0.661159020537969 -19546,0.8535703883386135 -19547,0.20691323557294605 -19548,0.851613215076368 -19549,0.8813256082945609 -19550,0.49006240037947457 -19551,0.3983561165637973 -19552,0.38005772526743276 -19553,0.25476225453599144 -19554,0.855814781666523 -19555,0.03580171016191547 -19556,0.09133704330132952 -19557,0.10757894314635419 -19558,0.9098043896381661 -19559,0.906631450346934 -19560,0.3131752313818097 -19561,0.7793646085598609 -19562,0.07441315463597709 -19563,0.6586172391077508 -19564,0.2610263846183569 -19565,0.061833842545309325 -19566,0.08221872125489016 -19567,0.7126358621550545 -19568,0.15461585689237434 -19569,0.32728714898895706 -19570,0.4612097820091715 -19571,0.7803009184831414 -19572,0.7135372559385604 -19573,0.2608291201301366 -19574,0.5787056955895062 -19575,0.9842871812811543 -19576,0.09367333601498506 -19577,0.5927968342162914 -19578,0.5390766551425565 -19579,0.9459201488865511 -19580,0.09059865557226454 -19581,0.6258444356205943 -19582,0.46546337388966263 -19583,0.9809122506630937 -19584,0.07146763873034667 -19585,0.5562849041280041 -19586,0.35395014273350756 -19587,0.931934078855982 -19588,0.5675759316387373 -19589,0.5841190334436833 -19590,0.9173466097692816 -19591,0.9752562653615663 -19592,0.3366724272696867 -19593,0.8115288377463298 -19594,0.24250227591247864 -19595,0.5244677430248185 -19596,0.974561181365763 -19597,0.8212436977344209 -19598,0.5277278811596565 -19599,0.5631707865815859 -19600,0.4637297312533226 -19601,0.4744077629468806 -19602,0.8575961317756152 -19603,0.4812674398213711 -19604,0.9776395379150932 -19605,0.5259750671683301 -19606,0.8442237809000828 -19607,0.9023248192059424 -19608,0.7270127414218813 -19609,0.88432429126397 -19610,0.19387067477657072 -19611,0.5260063764174708 -19612,0.1841338093696011 -19613,0.23932165256472449 -19614,0.7542809978782679 -19615,0.654180152867996 -19616,0.9929136148674927 -19617,0.3196541809843798 -19618,0.2571588590688231 -19619,0.7453834256927167 -19620,0.3435201103402977 -19621,0.3670128802513013 -19622,0.18303827993256971 -19623,0.957542074859874 -19624,0.906566448328276 -19625,0.5388424756499742 -19626,0.8104582721601193 -19627,0.08962761489035664 -19628,0.8602368528361937 -19629,0.9814888003589397 -19630,0.3527484931021082 -19631,0.13363706215547522 -19632,0.16352738322677574 -19633,0.40955706445762863 -19634,0.8655640905678806 -19635,0.518080238466285 -19636,0.7696564358867628 -19637,0.024902512314077585 -19638,0.3407474837887742 -19639,0.006328074459729827 -19640,0.619498464142774 -19641,0.2867403380992376 -19642,0.46605241278899334 -19643,0.400952270505739 -19644,0.19515828893510168 -19645,0.5618061527418442 -19646,0.3043358368197503 -19647,0.3280326617908136 -19648,0.5920812992280579 -19649,0.9063081333392554 -19650,0.1280768384425569 -19651,0.10559262305394201 -19652,0.39515249637052474 -19653,0.2717668182537474 -19654,0.47167089612106605 -19655,0.6987455071147444 -19656,0.41972378863624704 -19657,0.6381477892833092 -19658,0.4287989052984966 -19659,0.525141193339129 -19660,0.7465717375154333 -19661,0.020838107778439974 -19662,0.500693700565452 -19663,0.8116299663737799 -19664,0.16542373505703412 -19665,0.2321264953818316 -19666,0.017326190816555842 -19667,0.5939197822603731 -19668,0.367716145532785 -19669,0.4899276465047909 -19670,0.7411929241737251 -19671,0.7375651088952749 -19672,0.6111772761875718 -19673,0.5769156189057648 -19674,0.4308132768733418 -19675,0.1176354868772631 -19676,0.4613690394514989 -19677,0.7517124765124726 -19678,0.20226030405570172 -19679,0.8478924349086516 -19680,0.45235256281935654 -19681,0.5900226150559126 -19682,0.8108365344502662 -19683,0.35370351972176184 -19684,0.04895610395904437 -19685,0.8042623860622408 -19686,0.9799491914549003 -19687,0.44002881949655315 -19688,0.9109127462738968 -19689,0.8234740848134391 -19690,0.9669322817755223 -19691,0.6538960876900316 -19692,0.10019252499666109 -19693,0.681357960028565 -19694,0.6336146145064635 -19695,0.7720150539895041 -19696,0.24988248073339803 -19697,0.7559509067924969 -19698,0.6312415341359525 -19699,0.7941183629242591 -19700,0.4118538201948969 -19701,0.3653999542239835 -19702,0.04973114072403606 -19703,0.4469105868194312 -19704,0.8578029504675564 -19705,0.5404536645139056 -19706,0.5212924325145006 -19707,0.38325291756454916 -19708,0.4798375922728394 -19709,0.9560139800737774 -19710,0.4118518476308397 -19711,0.653276631948436 -19712,0.6011062498990092 -19713,0.7314986938662321 -19714,0.11123526154839347 -19715,0.1003294770366987 -19716,0.1332873644890995 -19717,0.7435727970115805 -19718,0.05476471859079857 -19719,0.13323913008326305 -19720,0.848664591505747 -19721,0.8511526003489095 -19722,0.3204002503740717 -19723,0.15254248029722872 -19724,0.6363376726385268 -19725,0.6974642508101493 -19726,0.5845583865587407 -19727,0.8817620472424321 -19728,0.5862920467410504 -19729,0.3410252167643735 -19730,0.026701898931265067 -19731,0.06689843005809348 -19732,0.5826575966682308 -19733,0.4749432770590434 -19734,0.28178342004706913 -19735,0.8426681489934046 -19736,0.6235090472351668 -19737,0.5825953664808577 -19738,0.35194017672547506 -19739,0.47926608480859856 -19740,0.4747978892324678 -19741,0.8528969015150408 -19742,0.19492448699638643 -19743,0.6068618658516941 -19744,0.18056943161484595 -19745,0.890465117041425 -19746,0.8266133157168843 -19747,0.9452951595299184 -19748,0.21057035081476427 -19749,0.2606233285031577 -19750,0.8523348442538241 -19751,0.4531205279505659 -19752,0.424979906761523 -19753,0.29513687286820245 -19754,0.9801173680504945 -19755,0.2759903527124782 -19756,0.18118875468068119 -19757,0.15365312604292403 -19758,0.6913195161102622 -19759,0.4083728625252966 -19760,0.636496556427109 -19761,0.314358147618489 -19762,0.402849287934093 -19763,0.4563177411812277 -19764,0.941869423113478 -19765,0.022586232606132017 -19766,0.3316048479594369 -19767,0.9194935978185845 -19768,0.9934960300418845 -19769,0.8821909411406554 -19770,0.9267544744970865 -19771,0.5286913626343875 -19772,0.39761509587934385 -19773,0.2748365537540648 -19774,0.9837546458293741 -19775,0.8821468484887857 -19776,0.5436701953976181 -19777,0.5602514160072657 -19778,0.6222594847735722 -19779,0.39666070927887465 -19780,0.28368024062306785 -19781,0.08926150318156223 -19782,0.47407720296685396 -19783,0.6572790437708103 -19784,0.15899133541263788 -19785,0.4692987158131433 -19786,0.0310233786283024 -19787,0.43541276492400105 -19788,0.7394218005257822 -19789,0.978630145123731 -19790,0.7336011590344446 -19791,0.12820938468230825 -19792,0.6606891183425622 -19793,0.3346939098170989 -19794,0.43491911182844145 -19795,0.9003319910448911 -19796,0.749283104151848 -19797,0.7689030470334849 -19798,0.7490810024993808 -19799,0.4508105245487759 -19800,0.5717703782746528 -19801,0.3265585722397534 -19802,0.8995122185849875 -19803,0.37950080296496524 -19804,0.7332780007629678 -19805,0.1696710534850795 -19806,0.054037475398341694 -19807,0.006383846686630168 -19808,0.016958868958903417 -19809,0.4328454671042651 -19810,0.4836109031765893 -19811,0.506730360752202 -19812,0.2040300983134815 -19813,0.32300043224111596 -19814,0.5472168093817794 -19815,0.35373114259436944 -19816,0.5079322708186644 -19817,0.9700202051808949 -19818,0.7180723793487818 -19819,0.06192889571535243 -19820,0.6067438788770253 -19821,0.8939101842722282 -19822,0.11118540146469247 -19823,0.8214378818462741 -19824,0.5860771523053451 -19825,0.7000131835497605 -19826,0.07543440921469857 -19827,0.06219421424051075 -19828,0.20887982606158417 -19829,0.60965951596537 -19830,0.8079967187348266 -19831,0.2929673778671745 -19832,0.5446820147517553 -19833,0.8519136331086293 -19834,0.9523597956268682 -19835,0.5307829955665132 -19836,0.9361499695243637 -19837,0.6518953637047232 -19838,0.8859313618610959 -19839,0.1684525587934994 -19840,0.8419235498483599 -19841,0.07113239805636817 -19842,0.25919135836642304 -19843,0.9204132831066334 -19844,0.3684413499592436 -19845,0.08801124653936854 -19846,0.8841037317121789 -19847,0.6976764929483541 -19848,0.3782484137122565 -19849,0.8564326793733258 -19850,0.5039621721114076 -19851,0.5619615903479707 -19852,0.9063090807684192 -19853,0.19147045578687338 -19854,0.6051557578451856 -19855,0.38939266039986564 -19856,0.7913056734747457 -19857,0.01580455919111501 -19858,0.16598901989696335 -19859,0.9950756963891606 -19860,0.7785753494852409 -19861,0.760068410491027 -19862,0.6037412460095837 -19863,0.8169197904758233 -19864,0.7787944809231294 -19865,0.9153369605076349 -19866,0.7317162421048256 -19867,0.8613201502092834 -19868,0.5855546325852955 -19869,0.7957844958946304 -19870,0.31604229988499344 -19871,0.567741158507798 -19872,0.7206973782287271 -19873,0.8081811737436879 -19874,0.209752419724194 -19875,0.34355322111031183 -19876,0.6277093757146135 -19877,0.867367589049361 -19878,0.7118860121101188 -19879,0.29371027514723813 -19880,0.8132729424820516 -19881,0.6197557478444974 -19882,0.9023230275164744 -19883,0.5756631271111408 -19884,0.6366788214777055 -19885,0.5847502496196342 -19886,0.426665601531083 -19887,0.7442694269066192 -19888,0.8027688890744261 -19889,0.4656556425669419 -19890,0.9229873095705962 -19891,0.9917996456424312 -19892,0.024749601044804392 -19893,0.26702314623684553 -19894,0.23659800804393105 -19895,0.8419048543707759 -19896,0.7309133917687837 -19897,0.31022085033177527 -19898,0.5110205548852792 -19899,0.032662772114743666 -19900,0.43988606291571597 -19901,0.7116542976036694 -19902,0.8789011818043018 -19903,0.544926771302707 -19904,0.7272395314338254 -19905,0.42964286669253704 -19906,0.6392589149893593 -19907,0.22283206715215276 -19908,0.3130135501978334 -19909,0.26291815128946683 -19910,0.9057335321441055 -19911,0.5269339128327208 -19912,0.8619705610508042 -19913,0.17731493524839115 -19914,0.4852659638507908 -19915,0.5297833540322173 -19916,0.6235118610956049 -19917,0.3988214745704095 -19918,0.9648197020592632 -19919,0.9241585523088593 -19920,0.3185289170683794 -19921,0.8064568476904324 -19922,0.6267341772579207 -19923,0.592192399470357 -19924,0.3310357719457113 -19925,0.7985538408043412 -19926,0.516305278886175 -19927,0.24718117126213002 -19928,0.44183552533959014 -19929,0.5204420965968674 -19930,0.7579656672430533 -19931,0.23479422704963604 -19932,0.7788573069420215 -19933,0.873138678770622 -19934,0.49899964696154486 -19935,0.8182572260939863 -19936,0.9768762563511244 -19937,0.10277556971427626 -19938,0.4882971553796761 -19939,0.7407095029733916 -19940,0.655357463981403 -19941,0.6598156720630942 -19942,0.8192402358919084 -19943,0.9371496037737793 -19944,0.09322906138992193 -19945,0.7188896652200264 -19946,0.7254723391355111 -19947,0.6622293607217286 -19948,0.2558802478309752 -19949,0.06316391778222019 -19950,0.739257449539846 -19951,0.8622440620777946 -19952,0.4776967955445225 -19953,0.6201298233320202 -19954,0.6595187457008572 -19955,0.14377463798003076 -19956,0.21782848672895838 -19957,0.9122086807844981 -19958,0.6577903891990138 -19959,0.12915324099529224 -19960,0.9233109563912943 -19961,0.2931195911206601 -19962,0.042472902286110115 -19963,0.5296936628017698 -19964,0.13348289903153965 -19965,0.07043724423233633 -19966,0.18625366713145053 -19967,0.014360238225788913 -19968,0.9005129202129593 -19969,0.5151516808012806 -19970,0.6743827778318306 -19971,0.5980875194905056 -19972,0.19067260523755214 -19973,0.7040613226229473 -19974,0.7714665584174617 -19975,0.5348512700993379 -19976,0.751451257816018 -19977,0.3791673068828313 -19978,0.02108357414809303 -19979,0.7842435151542931 -19980,0.04984578840511045 -19981,0.11319001408852858 -19982,0.3203138955248276 -19983,0.3719225638298004 -19984,0.45807565730414257 -19985,0.8591931995982506 -19986,0.18702629860222153 -19987,0.9341017225752978 -19988,0.03872671194175237 -19989,0.37476751579437173 -19990,0.9162111526431467 -19991,0.120246693034049 -19992,0.15163911804246477 -19993,0.2810852217252232 -19994,0.6232378890439736 -19995,0.18325476721434775 -19996,0.273580801159651 -19997,0.3999310145883317 -19998,0.8715986036525207 -19999,0.09359320515724334 -20000,0.07201987884750838 -20001,0.23466919822269316 -20002,0.3792687780723891 -20003,0.1713928407103006 -20004,0.23471112484833934 -20005,0.17951828481797927 -20006,0.13558018955475482 -20007,0.9614398380089368 -20008,0.23858667265509292 -20009,0.2546927399083697 -20010,0.8998442110722951 -20011,0.0996237018515096 -20012,0.9391884457101252 -20013,0.5550996426930558 -20014,0.27678926051280883 -20015,0.6877872783146944 -20016,0.9887124835557485 -20017,0.668184314793521 -20018,0.11948219489575795 -20019,0.033020036656017826 -20020,0.5834893070303984 -20021,0.3691762245519322 -20022,0.31921342167809064 -20023,0.032234702955221906 -20024,0.25255830804362933 -20025,0.6119158360707574 -20026,0.9827311184986424 -20027,0.6772590066526505 -20028,0.39441429301161823 -20029,0.3940847266071764 -20030,0.11376042062208214 -20031,0.8904052687224989 -20032,0.8231401349610508 -20033,0.3944134565343941 -20034,0.7077612384689619 -20035,0.5345958811539905 -20036,0.30254841865524795 -20037,0.7167222763707392 -20038,0.8389635850250348 -20039,0.5632158925236939 -20040,0.7291441435435184 -20041,0.4915835225409716 -20042,0.04923290399121716 -20043,0.33876998270827896 -20044,0.7025919307670594 -20045,0.41156724791027355 -20046,0.2961287892189255 -20047,0.25836676487170407 -20048,0.17544368961642143 -20049,0.15569247020277188 -20050,0.03782684680061221 -20051,0.8466519604465935 -20052,0.31127298406475834 -20053,0.2090976415381568 -20054,0.8873579550670494 -20055,0.9268250656668798 -20056,0.837491126133585 -20057,0.44203684637074425 -20058,0.18445546477165775 -20059,0.048291072510900146 -20060,0.5518725826071599 -20061,0.9646414969286533 -20062,0.19200361920792608 -20063,0.7821783342289508 -20064,0.9230135083438903 -20065,0.9509561047110703 -20066,0.008954101122022107 -20067,0.02163625251611001 -20068,0.8014115653359838 -20069,0.7002395314636441 -20070,0.5401176667847446 -20071,0.023561673906051905 -20072,0.18033278254472251 -20073,0.1884920381949704 -20074,0.18501647078661876 -20075,0.08636136908598946 -20076,0.7913737424950602 -20077,0.36129150929224263 -20078,0.1530922534312682 -20079,0.22756850344198165 -20080,0.2713331576435579 -20081,0.06218680661767528 -20082,0.2552491990916216 -20083,0.5620948771347659 -20084,0.6011919298374655 -20085,0.7242551304736256 -20086,0.30980232879751 -20087,0.2398653941973905 -20088,0.5721134526919965 -20089,0.5277664880994614 -20090,0.41820556458670144 -20091,0.2899748077431725 -20092,0.6868317461706052 -20093,0.31115777124981414 -20094,0.5573139934148786 -20095,0.1488570984307045 -20096,0.7850970440379041 -20097,0.23156111247689792 -20098,0.7556774749151414 -20099,0.5270526513264214 -20100,0.8396650560168997 -20101,0.8907736700324709 -20102,0.6133618567303952 -20103,0.5342559096573587 -20104,0.2596825446887081 -20105,0.7897005391742382 -20106,0.7138981755252455 -20107,0.2254376797721389 -20108,0.23070869454489962 -20109,0.45855568784005063 -20110,0.5142590575352883 -20111,0.4233883248018965 -20112,0.8909842277038907 -20113,0.8035534337408604 -20114,0.1710245795121601 -20115,0.35051448846611133 -20116,0.20644851553164711 -20117,0.47233541447975824 -20118,0.31727990950168994 -20119,0.721628212426299 -20120,0.15096937490299833 -20121,0.5315379256239868 -20122,0.4174023376336884 -20123,0.36359978785942704 -20124,0.2467011516678429 -20125,0.9716070902088659 -20126,0.21842865608920947 -20127,0.4966549920594713 -20128,0.10285826625595607 -20129,0.3016096844786992 -20130,0.23899628940102047 -20131,0.8448092189769304 -20132,0.7276024117194275 -20133,0.928868887599392 -20134,0.7937881029947271 -20135,0.38025077464962753 -20136,0.690191218888763 -20137,0.26360360617420775 -20138,0.1130354242548326 -20139,0.9320641302709699 -20140,0.7140811723741648 -20141,0.4571921905383268 -20142,0.6849914529414524 -20143,0.9312583410540017 -20144,0.9853418771409146 -20145,0.511343222004446 -20146,0.10282769233963396 -20147,0.8395478518043961 -20148,0.9846844309779506 -20149,0.7319306744540528 -20150,0.021309958073152058 -20151,0.5313532404372114 -20152,0.07060280659124751 -20153,0.6455072992458301 -20154,0.563388551481952 -20155,0.14899595986561587 -20156,0.47146837804113817 -20157,0.1916815442137919 -20158,0.44207856297058723 -20159,0.2553210119178657 -20160,0.11992810812102406 -20161,0.6892835732891307 -20162,0.38186682453038623 -20163,0.6139588600306836 -20164,0.005416388809337036 -20165,0.6881266325598042 -20166,0.8740068073405174 -20167,0.7999834985098915 -20168,0.26335434385909784 -20169,0.5116008324043189 -20170,0.34234829710452386 -20171,0.6041403468377076 -20172,0.3896698084027429 -20173,0.25618525109261003 -20174,0.6515189551621674 -20175,0.7812032965373003 -20176,0.45176713939137925 -20177,0.1465335595785221 -20178,0.3356891237225281 -20179,0.8142107467765798 -20180,0.9594207556743265 -20181,0.9294365627107642 -20182,0.4598472847629539 -20183,0.6909504458275829 -20184,0.5795219658319901 -20185,0.3241375776151839 -20186,0.1082910494278656 -20187,0.3804857417714578 -20188,0.9092456678864864 -20189,0.08018898252025097 -20190,0.22389941695519155 -20191,0.3420656878116689 -20192,0.9005513704808393 -20193,0.3882469060488123 -20194,0.288543692663333 -20195,0.19083323909769 -20196,0.701784054077662 -20197,0.8609899058054419 -20198,0.8845793131018103 -20199,0.4821819367236857 -20200,0.799449102029097 -20201,0.917975213893387 -20202,0.7279148115381413 -20203,0.8338214902380808 -20204,0.7536336646484381 -20205,0.037254502016599855 -20206,0.437565953576563 -20207,0.6562404710492815 -20208,0.1553716872574078 -20209,0.7241116181450995 -20210,0.006661460613724968 -20211,0.20038347881009622 -20212,0.24457271379020218 -20213,0.5079844002863708 -20214,0.438600581967704 -20215,0.9709105797232211 -20216,0.4809474583154555 -20217,0.10878411475851102 -20218,0.5717537967418073 -20219,0.925164665491105 -20220,0.43775845121726753 -20221,0.17742447347023693 -20222,0.21991668388122843 -20223,0.11480402601331319 -20224,0.8725796610190304 -20225,0.1754821751283674 -20226,0.8764930600306734 -20227,0.6031246942848577 -20228,0.23124363703752004 -20229,0.6006495015515838 -20230,0.39469623676972776 -20231,0.4160602818341036 -20232,0.9234248176417121 -20233,0.583583543436906 -20234,0.2987449697608573 -20235,0.10113295443661618 -20236,0.09412913987711824 -20237,0.9568268622050792 -20238,0.7720884021408254 -20239,0.4738333092160678 -20240,0.25405124038240556 -20241,0.5592652776186152 -20242,0.7056202779029798 -20243,0.918436237411179 -20244,0.3472551498606453 -20245,0.6677232051395678 -20246,0.7694378940179891 -20247,0.4469299601431326 -20248,0.7272315654680654 -20249,0.6227282194262754 -20250,0.9908225732194615 -20251,0.06646674047555345 -20252,0.687509693732624 -20253,0.11743932110925903 -20254,0.5910124465165252 -20255,0.3936718061565826 -20256,0.23313268321330072 -20257,0.8699407830866026 -20258,0.19960051885049357 -20259,0.21616309612185491 -20260,0.2645150661918041 -20261,0.6185273425313974 -20262,0.7465423131703428 -20263,0.4763914374381403 -20264,0.06784852214392001 -20265,0.027186175026473025 -20266,0.8867124050550956 -20267,0.30646721521588816 -20268,0.025567148436245524 -20269,0.5147531703903535 -20270,0.21529861806530737 -20271,0.31866951607899696 -20272,0.5908033590865857 -20273,0.6382304000735807 -20274,0.538532021505769 -20275,0.3514108559326621 -20276,0.4273811945078737 -20277,0.46683953124280353 -20278,0.7905933766796066 -20279,0.1264995293350779 -20280,0.4781956463532129 -20281,0.9848836520192289 -20282,0.21973255024285832 -20283,0.9637392344720486 -20284,0.7075541030075363 -20285,0.08021098559638229 -20286,0.49797642441828394 -20287,0.02589268700562941 -20288,0.44891166702484686 -20289,0.8445641209000058 -20290,0.04128497440397094 -20291,0.11536560690274245 -20292,0.09715834814037494 -20293,0.6542362039398575 -20294,0.707425400214932 -20295,0.7519151685571824 -20296,0.6029185455561927 -20297,0.12135649029557871 -20298,0.779819727360888 -20299,0.08903928036861009 -20300,0.7769339254509584 -20301,0.9941881419159766 -20302,0.34126732714353747 -20303,0.5857962638951888 -20304,0.9020465706954438 -20305,0.03572433465532321 -20306,0.43429174365128886 -20307,0.7187409773012898 -20308,0.45194899191036586 -20309,0.8268776734873728 -20310,0.14553812419309964 -20311,0.4513919136808662 -20312,0.21090187809977134 -20313,0.21407769518584374 -20314,0.17423923331460878 -20315,0.4047389804474879 -20316,0.2690477408296795 -20317,0.09095721962041381 -20318,0.8755427288245126 -20319,0.9869992809131185 -20320,0.781131806327501 -20321,0.2986031537344571 -20322,0.2423470937699045 -20323,0.7814882547868938 -20324,0.8702974646884508 -20325,0.3919862557877818 -20326,0.7513160839165145 -20327,0.7523298814746164 -20328,0.40045600672073556 -20329,0.6458527647495073 -20330,0.024131156555024513 -20331,0.4628932525250731 -20332,0.9814349800473592 -20333,0.669160290426142 -20334,0.6196896446710934 -20335,0.43981025930851536 -20336,0.3831584899045184 -20337,0.5689365162991805 -20338,0.6942420766825497 -20339,0.6899727691103636 -20340,0.07985510295845766 -20341,0.5736030162342698 -20342,0.8402111709527051 -20343,0.7339653055628488 -20344,0.651722652671892 -20345,0.4850371491143487 -20346,0.1783032271097259 -20347,0.03520406398148779 -20348,0.986519432340394 -20349,0.8725506300355466 -20350,0.8210504147044615 -20351,0.10614149205956247 -20352,0.8695143927196236 -20353,0.34608889721609903 -20354,0.45604831914478194 -20355,0.6829270755772787 -20356,0.4229507088638661 -20357,0.4433094925631209 -20358,0.5056683620146638 -20359,0.19422601854959887 -20360,0.5867865807371313 -20361,0.9911974730848763 -20362,0.3360488383711815 -20363,0.3253244038846572 -20364,0.6714276035232922 -20365,0.9847562923202619 -20366,0.024053668260090477 -20367,0.9510573971439943 -20368,0.5377316496372416 -20369,0.5604392583193777 -20370,0.5545703024122537 -20371,0.034307298816175336 -20372,0.18801154418470623 -20373,0.05741916326862073 -20374,0.6055630052674846 -20375,0.7857799292983186 -20376,0.9817129983025856 -20377,0.6722696675889464 -20378,0.7147609625826677 -20379,0.23188936765058765 -20380,0.2179394014139513 -20381,0.9551186587701963 -20382,0.7039016145108792 -20383,0.02569910898326433 -20384,0.21185670861058126 -20385,0.9623521066288766 -20386,0.4744643242293146 -20387,0.7868607466581022 -20388,0.9897841069324781 -20389,0.9753874054504611 -20390,0.1223981868473043 -20391,0.966666899953229 -20392,0.8328109495899008 -20393,0.10800916037206054 -20394,0.4365273743087451 -20395,0.07758704788016224 -20396,0.043121468559562115 -20397,0.8687035190551629 -20398,0.4000447180919432 -20399,0.7618402008988109 -20400,0.07662469125095106 -20401,0.32188130746959687 -20402,0.16627019293842338 -20403,0.8537620855130473 -20404,0.45366790612508345 -20405,0.8463264577926918 -20406,0.8405733766897295 -20407,0.1174930549321005 -20408,0.2449036741080174 -20409,0.9195385952835011 -20410,0.8482390629936671 -20411,0.011959842759186823 -20412,0.17076975526105664 -20413,0.6889614682414711 -20414,0.8822193752556984 -20415,0.9518164660017657 -20416,0.4188150050056787 -20417,0.025227280908479588 -20418,0.6514879085445705 -20419,0.3063608506062391 -20420,0.868621682146953 -20421,0.9201306595212575 -20422,0.4435756004472986 -20423,0.9406737956030967 -20424,0.18224526544524988 -20425,0.8843310491119503 -20426,0.9834560057357765 -20427,0.9626220463718596 -20428,0.42468209199458073 -20429,0.927118372376824 -20430,0.5692036746452517 -20431,0.1615876509240879 -20432,0.5011266863702394 -20433,0.4762556406506393 -20434,0.651724034287388 -20435,0.5348403890144452 -20436,0.6982454715864482 -20437,0.6376404564369051 -20438,0.27016566915267104 -20439,0.5315336434912763 -20440,0.11984837597698172 -20441,0.26945570641392236 -20442,0.4618158834857453 -20443,0.7677771524554805 -20444,0.8280448736264848 -20445,0.19329792794843392 -20446,0.6180707612207599 -20447,0.2477369048103194 -20448,0.29386371889589946 -20449,0.9013464622375413 -20450,0.2021446178239098 -20451,0.3321845476236518 -20452,0.49130316535739593 -20453,0.5655667974840145 -20454,0.8493018346981004 -20455,0.4866155807383986 -20456,0.4441302969022588 -20457,0.7364672310468555 -20458,0.02670273208777707 -20459,0.3312305602061886 -20460,0.11140754368906747 -20461,0.4914367253994605 -20462,0.6087419445797079 -20463,0.3190167350677483 -20464,0.17388627017747116 -20465,0.7363066246781331 -20466,0.8562208345554216 -20467,0.6300227947669651 -20468,0.08283299275291955 -20469,0.44333749146608037 -20470,0.26118370124625945 -20471,0.10684980649520393 -20472,0.032250534545605114 -20473,0.06473863300443194 -20474,0.8064084651172646 -20475,0.995893728473858 -20476,0.39956569577865686 -20477,0.3997101780804204 -20478,0.7251937513396945 -20479,0.1396882548585573 -20480,0.03694116222370081 -20481,0.7394869142390419 -20482,0.4660817673853662 -20483,0.6447764114651736 -20484,0.4749014013583025 -20485,0.09177371181773863 -20486,0.9574999167688174 -20487,0.9367059794750822 -20488,0.4379510775070523 -20489,0.19801180255714979 -20490,0.31445758093563436 -20491,0.8758632857236673 -20492,0.376748492904563 -20493,0.5503744035301547 -20494,0.24292213563109333 -20495,0.791176733341988 -20496,0.85774117822841 -20497,0.49390216506314466 -20498,0.5803898196332042 -20499,0.2308686440641693 -20500,0.34090457145398556 -20501,0.17009869411097134 -20502,0.9895914508323181 -20503,0.17879075591832538 -20504,0.8903502225122727 -20505,0.36960400426418005 -20506,0.3689570689776309 -20507,0.7498771022383617 -20508,0.5795877325191734 -20509,0.9624197249995735 -20510,0.1523506236338239 -20511,0.7027170329477623 -20512,0.3595677945694412 -20513,0.9746655781483481 -20514,0.15830025833881012 -20515,0.01576618275617303 -20516,0.924265680560668 -20517,0.1884202245128549 -20518,0.026672584489144557 -20519,0.6326700148991542 -20520,0.5416400798468204 -20521,0.09684323026643471 -20522,0.014035726318083142 -20523,0.006170958288641226 -20524,0.010621292916119018 -20525,0.1125114978928744 -20526,0.45214921099432326 -20527,0.03471438956102235 -20528,0.3577531869891162 -20529,0.9572407981998527 -20530,0.9670351624368533 -20531,0.12187716531882697 -20532,0.22966927459801822 -20533,0.9833347388638937 -20534,0.5337435384114465 -20535,0.8708129956243641 -20536,0.8595830199824833 -20537,0.1877807939737255 -20538,0.4430084707994435 -20539,0.8421679854001556 -20540,0.8097408624023056 -20541,0.8565269027046983 -20542,0.5544879122759748 -20543,0.13044025311850327 -20544,0.5630171487291319 -20545,0.894531207499763 -20546,0.2704614219734879 -20547,0.34008970374634306 -20548,0.9906495665508483 -20549,0.16659590189603102 -20550,0.31509007295127545 -20551,0.9784065839028933 -20552,0.4259890220680277 -20553,0.003378372055338641 -20554,0.08659455395289184 -20555,0.447808194347723 -20556,0.7502801155197891 -20557,0.8762946902287868 -20558,0.7023856847059531 -20559,0.015052846232689543 -20560,0.4422859338247008 -20561,0.8499330494748379 -20562,0.1639887737381175 -20563,0.9862584863274424 -20564,0.4651004426540506 -20565,0.01062132025907414 -20566,0.8531204591196976 -20567,0.13748556974724124 -20568,0.9669633378942276 -20569,0.4814276310280958 -20570,0.6176379653761254 -20571,0.468776402209129 -20572,0.2466370949075425 -20573,0.9754731998329512 -20574,0.44482346100512293 -20575,0.7769516567511272 -20576,0.07832225071937815 -20577,0.1362760338036496 -20578,0.12805629993700118 -20579,0.10178997255849864 -20580,0.25861941150618606 -20581,0.42624582564706515 -20582,0.38856714712628515 -20583,0.11319647420164936 -20584,0.8388169529280779 -20585,0.7035192237500743 -20586,0.2823496152563796 -20587,0.823415044637729 -20588,0.7648825172300884 -20589,0.6856570047298565 -20590,0.8485353536843917 -20591,0.5244431592175567 -20592,0.8390401106939879 -20593,0.06285444141562468 -20594,0.19458412315932117 -20595,0.2356624371751307 -20596,0.2782522674953489 -20597,0.8451605490946555 -20598,0.02520846655466602 -20599,0.0674984038414066 -20600,0.8407309244124053 -20601,0.6813668380842071 -20602,0.4550280786109694 -20603,0.26174582201540986 -20604,0.834115711431675 -20605,0.2507727079132621 -20606,0.8893493661279119 -20607,0.2852961143919094 -20608,0.07591763661008588 -20609,0.47542938888219977 -20610,0.7560364630252425 -20611,0.6400895818111766 -20612,0.31931290851158267 -20613,0.554748183420417 -20614,0.0957119191174931 -20615,0.008918154086686059 -20616,0.7426680173485625 -20617,0.21508462864566347 -20618,0.4828414315390611 -20619,0.4894860208246393 -20620,0.9473300168210111 -20621,0.2571374640096431 -20622,0.29214207475770837 -20623,0.5390945093255647 -20624,0.37150054549814004 -20625,0.3387242976279097 -20626,0.18361813209375955 -20627,0.4936249672098023 -20628,0.8221294500283757 -20629,0.3457895442404628 -20630,0.5523077884962746 -20631,0.4131594228329004 -20632,0.45535049651323867 -20633,0.19221019901808467 -20634,0.11059776617103745 -20635,0.3343646249076462 -20636,0.3792346712853536 -20637,0.9297835223941594 -20638,0.7572533663773396 -20639,0.7053793666953335 -20640,0.7678077556037813 -20641,0.23098763615016482 -20642,0.14318259292204027 -20643,0.35342067737908966 -20644,0.33971790309798444 -20645,0.3480061642581499 -20646,0.22022755010745865 -20647,0.49263586060364506 -20648,0.987430798738763 -20649,0.1680630540481357 -20650,0.6056328797217857 -20651,0.6237804283180054 -20652,0.6651557529412425 -20653,0.5033043932096137 -20654,0.6802305600092474 -20655,0.4945972157685774 -20656,0.6341054886054077 -20657,0.287534611077227 -20658,0.3489653959824879 -20659,0.4009715013442634 -20660,0.11360889705257315 -20661,0.26354996749207027 -20662,0.20683765912601915 -20663,0.4511041196218414 -20664,0.623412083841152 -20665,0.24976557364929253 -20666,0.17963596088865974 -20667,0.9673614550776115 -20668,0.7785221524291807 -20669,0.2811131764595136 -20670,0.2125617873123491 -20671,0.9250723546815904 -20672,0.005613581424619318 -20673,0.9025675914080897 -20674,0.4272985858680476 -20675,0.727431686965595 -20676,0.1673515444274687 -20677,0.41108059392980834 -20678,0.17779634360809826 -20679,0.9201370145556512 -20680,0.0643362620399458 -20681,0.36011723360058767 -20682,0.4222356106892089 -20683,0.10069466238194213 -20684,0.5172040780407502 -20685,0.8099994396575433 -20686,0.7229504455063136 -20687,0.35476388656030855 -20688,0.3342158013501525 -20689,0.38721185002936465 -20690,0.017787737465528308 -20691,0.015575580466071215 -20692,0.7654984819214306 -20693,0.7032938022678901 -20694,0.3219120677848206 -20695,0.2803963384401611 -20696,0.5512269651756043 -20697,0.8199894064747943 -20698,0.6058595356661368 -20699,0.6231376669999512 -20700,0.31153582094456544 -20701,0.9962053924459189 -20702,0.7773289418353754 -20703,0.5046210144271238 -20704,0.940372889255815 -20705,0.33186182477537873 -20706,0.8090384773043272 -20707,0.9415806767635065 -20708,0.013394134249240075 -20709,0.5295792811546952 -20710,0.11753569542364051 -20711,0.05167743371727407 -20712,0.27916511845852465 -20713,0.26419672186948484 -20714,0.7481282598207809 -20715,0.4411556692532249 -20716,0.09684240298006552 -20717,0.5640742907287845 -20718,0.04381823772052984 -20719,0.352216653188674 -20720,0.7516659827827993 -20721,0.10280850866035318 -20722,0.6288133659799674 -20723,0.4090847267362726 -20724,0.4899393368922029 -20725,0.4845788375843775 -20726,0.13531227146347014 -20727,0.5806890154158652 -20728,0.3230652287209189 -20729,0.8412677687372647 -20730,0.39858572563270156 -20731,0.406901409297615 -20732,0.07753623432368073 -20733,0.803514254997867 -20734,0.6578809326776153 -20735,0.611780474675763 -20736,0.8136788742186313 -20737,0.6109321735645057 -20738,0.8460978355173598 -20739,0.2687608821578986 -20740,0.37945924459531255 -20741,0.24131559633140365 -20742,0.7016372968541033 -20743,0.7728594975207903 -20744,0.4516401042831538 -20745,0.569470402119474 -20746,0.8162127253959686 -20747,0.7440953077841963 -20748,0.05847548117170276 -20749,0.08842818014906029 -20750,0.4483391236365101 -20751,0.010149595123466248 -20752,0.3128749221224748 -20753,0.5286299946494344 -20754,0.27041627419310843 -20755,0.26493306126796223 -20756,0.00269384606933587 -20757,0.5157574819121896 -20758,0.7615804137410762 -20759,0.831690163620448 -20760,0.3055088559666065 -20761,0.7902199006781786 -20762,0.5812603855798752 -20763,0.6933851443243301 -20764,0.2865031444129339 -20765,0.6272788064024443 -20766,0.950262476583536 -20767,0.0015040814001336944 -20768,0.21802394234663092 -20769,0.008325923744304409 -20770,0.48571715144160554 -20771,0.1976983719453017 -20772,0.5527057221742089 -20773,0.3004764750044826 -20774,0.495611375650159 -20775,0.022165185842770718 -20776,0.5801790523887387 -20777,0.779797062627051 -20778,0.9323612292263131 -20779,0.6591778746538672 -20780,0.4735559742583405 -20781,0.9108006364972622 -20782,0.7317658704348969 -20783,0.1478809032338818 -20784,0.7385703479442419 -20785,0.7001578175562942 -20786,0.31541109029529935 -20787,0.566390630677069 -20788,0.01831183731855257 -20789,0.7841514155331586 -20790,0.9376374516360652 -20791,0.33494223965485903 -20792,0.04942415810485634 -20793,0.45016700946785915 -20794,0.7646308388331539 -20795,0.7975419851727904 -20796,0.7846666738121154 -20797,0.5134499672124603 -20798,0.7331259095163145 -20799,0.9454721139516097 -20800,0.368674047805435 -20801,0.6855678591432716 -20802,0.3524196284026555 -20803,0.20442603707384654 -20804,0.025742969934769766 -20805,0.5071724634781903 -20806,0.9734691238173041 -20807,0.026128054921535138 -20808,0.622903902872948 -20809,0.5659058254262804 -20810,0.5494110231041344 -20811,0.49148988105381086 -20812,0.9653053822245106 -20813,0.6234392345042794 -20814,0.6275244057094341 -20815,0.703417946981453 -20816,0.6599573738220262 -20817,0.3445336924082527 -20818,0.6813074316414235 -20819,0.17053448604364208 -20820,0.41166735916965613 -20821,0.8820729207221527 -20822,0.4079401649539297 -20823,0.9815642054342009 -20824,0.4545761823595065 -20825,0.36862389024632114 -20826,0.08511002466122675 -20827,0.4244461397762178 -20828,0.2522438734970832 -20829,0.3695629718858302 -20830,0.5730278712040991 -20831,0.898908472474527 -20832,0.04080527606390183 -20833,0.7163522133902178 -20834,0.8026469553511539 -20835,0.1390046496710069 -20836,0.31955620933343 -20837,0.8831374452087684 -20838,0.08406336389759228 -20839,0.4566712168710795 -20840,0.4494680431358966 -20841,0.9646971794962297 -20842,0.967249078736692 -20843,0.5591243069925375 -20844,0.3997559269986155 -20845,0.851631571259851 -20846,0.5804205723512901 -20847,0.8775011531884177 -20848,0.887274496351729 -20849,0.7487952926565844 -20850,0.22179779917821496 -20851,0.18527016975264265 -20852,0.42253445747884333 -20853,0.46484987177057147 -20854,0.47041798399894463 -20855,0.2387353211219363 -20856,0.8959499561900807 -20857,0.9737121934697146 -20858,0.6589241733304829 -20859,0.32518252189199337 -20860,0.2333922567593969 -20861,0.9950674598976419 -20862,0.7520842411169748 -20863,0.9670796892180954 -20864,0.5673310999213877 -20865,0.620890363208779 -20866,0.10816806708052129 -20867,0.0767828657869184 -20868,0.19349924606902758 -20869,0.5776827732787979 -20870,0.8857182371086806 -20871,0.8078627555436166 -20872,0.4653382653249535 -20873,0.08745100406893624 -20874,0.5093861622902371 -20875,0.9615544261146889 -20876,0.5465797044005716 -20877,0.7035934659589118 -20878,0.5916847874439185 -20879,0.6344727129530305 -20880,0.26148040690821006 -20881,0.22636333521818353 -20882,0.6986131077249642 -20883,0.07061871402195019 -20884,0.020045100813583128 -20885,0.19033449968065985 -20886,0.4220001524751178 -20887,0.3208127460608243 -20888,0.18425348204926384 -20889,0.05313696517775701 -20890,0.29117473173101693 -20891,0.1088586546334036 -20892,0.8306760889886945 -20893,0.8820883972662555 -20894,0.6209505668144831 -20895,0.1712974754851363 -20896,0.9813256859879086 -20897,0.1844854820865245 -20898,0.8995797076700124 -20899,0.017388876723224644 -20900,0.6201301389350483 -20901,0.9869691844416187 -20902,0.11043692180846454 -20903,0.1755038574122405 -20904,0.5197966117272672 -20905,0.3164157466084917 -20906,0.36522716306339487 -20907,0.9509196517827492 -20908,0.526545135239088 -20909,0.4768018454892823 -20910,0.21088132841080465 -20911,0.9026654838992688 -20912,0.0924026731490849 -20913,0.6010727224607575 -20914,0.4305641372430572 -20915,0.37443795440055927 -20916,0.7771720819668799 -20917,0.15574324279931318 -20918,0.7743954735828362 -20919,0.10165636629974428 -20920,0.5928155988626634 -20921,0.9404438820069825 -20922,0.19596635719620448 -20923,0.5971210005103939 -20924,0.031810392787752884 -20925,0.22891129222618511 -20926,0.3938586209976881 -20927,0.2229716771174437 -20928,0.9558238306860606 -20929,0.16795745646693172 -20930,0.21882615743478728 -20931,0.7516920060970592 -20932,0.5765690514824743 -20933,0.2650828431834614 -20934,0.4529551573284346 -20935,0.4156905705556069 -20936,0.5264959967449776 -20937,0.8274577038059967 -20938,0.617224139095277 -20939,0.5178557288098987 -20940,0.19154839927751 -20941,0.22492282592165314 -20942,0.8758016527828187 -20943,0.7690093672844981 -20944,0.48275895065141516 -20945,0.49220486965733 -20946,0.5766149657260284 -20947,0.08126378572081328 -20948,0.8904582086333405 -20949,0.13178274135844747 -20950,0.8229914672503572 -20951,0.6324088272152801 -20952,0.05842882856213649 -20953,0.6343110720525432 -20954,0.25415670174017246 -20955,0.4591275865256843 -20956,0.7951936378717279 -20957,0.9252682541870658 -20958,0.10684495446609843 -20959,0.3508465735214148 -20960,0.8689566896154067 -20961,0.0321384882281911 -20962,0.2543144274358885 -20963,0.9172719968930573 -20964,0.9728719842838038 -20965,0.5521439678237735 -20966,0.35358856687130147 -20967,0.32412206588125947 -20968,0.8616018633032496 -20969,0.3708861785385553 -20970,0.025672772293519053 -20971,0.020124238439188646 -20972,0.3184804706199911 -20973,0.43418353593957226 -20974,0.7215272253192693 -20975,0.14712823727355462 -20976,0.9507116960676953 -20977,0.3207001132454932 -20978,0.23425290228254692 -20979,0.902525353266786 -20980,0.4334420771543762 -20981,0.8720880545590716 -20982,0.33075767357791575 -20983,0.630334322767984 -20984,0.9738445518185506 -20985,0.6577480773245618 -20986,0.59598826885672 -20987,0.22225810729613038 -20988,0.34607854636640767 -20989,0.061279853900899295 -20990,0.6021599975350751 -20991,0.4577620517677643 -20992,0.23347128896338853 -20993,0.9890584750617252 -20994,0.41112613751552607 -20995,0.06993995054933877 -20996,0.5724427487784968 -20997,0.8665705065883098 -20998,0.4112574515614872 -20999,0.9545282556775874 -21000,0.45509285888557105 -21001,0.2894797319601433 -21002,0.8206477535076065 -21003,0.178783972068002 -21004,0.810293416872104 -21005,0.8149760987459689 -21006,0.14698814361877144 -21007,0.572113100195434 -21008,0.7255685008069656 -21009,0.058195923772445424 -21010,0.23891014369674735 -21011,0.529559092817813 -21012,0.7701981049200244 -21013,0.5877723012136536 -21014,0.19299016830016025 -21015,0.822028274621728 -21016,0.13334285934437629 -21017,0.7089162820184228 -21018,0.9805643242680064 -21019,0.4850659207034217 -21020,0.23841042805067558 -21021,0.3606244076508136 -21022,0.5131698942540351 -21023,0.5593840052011829 -21024,0.6395080101847663 -21025,0.4473454895715824 -21026,0.33856730207882413 -21027,0.6349780337944158 -21028,0.6046143138485792 -21029,0.5929435709679926 -21030,0.9496344825800278 -21031,0.8699208453302203 -21032,0.717829611596907 -21033,0.7116210494336312 -21034,0.45111283871234165 -21035,0.04648562163290337 -21036,0.07590035602750034 -21037,0.625036917450649 -21038,0.1404918247168393 -21039,0.6185456710138248 -21040,0.8166492172116508 -21041,0.17692535813109433 -21042,0.5943122522148582 -21043,0.8553061419607544 -21044,0.11628197323808864 -21045,0.7342053813622127 -21046,0.2913407904335821 -21047,0.6411150109590453 -21048,0.99123661208063 -21049,0.8098802775539596 -21050,0.7893725571788698 -21051,0.4079817041123175 -21052,0.35648898382245264 -21053,0.9309256489453885 -21054,0.3059413599503146 -21055,0.7925876715036537 -21056,0.3298578992522675 -21057,0.30695002319804876 -21058,0.5610973183272855 -21059,0.8452235457996131 -21060,0.17396049906647748 -21061,0.8950531518404257 -21062,0.6032423169860499 -21063,0.648048713868902 -21064,0.914590400740586 -21065,0.18781396189813981 -21066,0.5627409752081859 -21067,0.4899015381877524 -21068,0.16500448619225183 -21069,0.21526919401346145 -21070,0.028398048161148326 -21071,0.6415700380200237 -21072,0.48804210241454715 -21073,0.187644551050135 -21074,0.9716516597553806 -21075,0.38126834815164234 -21076,0.587126921120417 -21077,0.8028634041832226 -21078,0.6929377348886852 -21079,0.4595527971003357 -21080,0.6074756555903902 -21081,0.7004435734100708 -21082,0.7632684202121401 -21083,0.7257449951616127 -21084,0.7722095550900252 -21085,0.6093862462600804 -21086,0.3537398448042517 -21087,0.5124559492409453 -21088,0.4302971709550506 -21089,0.9963618237085916 -21090,0.3743397098809408 -21091,0.34727626319109395 -21092,0.41897173416742095 -21093,0.27512513998892796 -21094,0.6333087641579852 -21095,0.6810142787439417 -21096,0.8189030535396028 -21097,0.7187734583282235 -21098,0.5938588892971711 -21099,0.6573710277352467 -21100,0.8777585955793595 -21101,0.2738778857247882 -21102,0.39584308423408954 -21103,0.5610735305975347 -21104,0.2575273940469399 -21105,0.7579680329856295 -21106,0.30196201602114514 -21107,0.4975072329522826 -21108,0.5039108240010198 -21109,0.7730817933412552 -21110,0.5463796771821533 -21111,0.41326710784109366 -21112,0.3547879584787996 -21113,0.6288541647419544 -21114,0.7556932777237937 -21115,0.9998969209611449 -21116,0.39911107927781664 -21117,0.8080867520203874 -21118,0.46153707282132517 -21119,0.008014613289945904 -21120,0.09941091013837355 -21121,0.1747775466403586 -21122,0.7680452476765602 -21123,0.7021997607486626 -21124,0.6273183738442558 -21125,0.21021436379647085 -21126,0.926608726709684 -21127,0.017578253061632076 -21128,0.6198367247601423 -21129,0.15820580469958923 -21130,0.5856373221024448 -21131,0.9899451644272391 -21132,0.5042260950733629 -21133,0.4917309004244984 -21134,0.49575585772446984 -21135,0.11129198102673676 -21136,0.5715240158041669 -21137,0.2012307693728429 -21138,0.8968593139887965 -21139,0.42887159294542954 -21140,0.004697609961795246 -21141,0.41791519807909994 -21142,0.03532973679040419 -21143,0.11924642773942262 -21144,0.92105491427782 -21145,0.08672900594653798 -21146,0.433722924759705 -21147,0.680944421602399 -21148,0.07343996672618736 -21149,0.3407496371290306 -21150,0.18592844913081286 -21151,0.9397806030570264 -21152,0.5043285958733246 -21153,0.9866622777622764 -21154,0.2214736686079639 -21155,0.08261563143232131 -21156,0.4578686677288949 -21157,0.3842349681601124 -21158,0.3587145539517964 -21159,0.7587110546553438 -21160,0.37152772388380273 -21161,0.20607936538554716 -21162,0.31492226247230126 -21163,0.9562178156334006 -21164,0.534722023839341 -21165,0.8032239090879814 -21166,0.681405512877148 -21167,0.10329033875264637 -21168,0.5838717682319217 -21169,0.06116166170792148 -21170,0.9378364150167692 -21171,0.14148038272819985 -21172,0.3454733688663272 -21173,0.47576985859697063 -21174,0.320202272102848 -21175,0.37747628316756865 -21176,0.4917870106139478 -21177,0.1590177565346096 -21178,0.027100647198527894 -21179,0.1233555071049347 -21180,0.31825892357468777 -21181,0.5764065486400264 -21182,0.5031233598256056 -21183,0.5518136455944217 -21184,0.7875238679103191 -21185,0.12119104364211508 -21186,0.7466763527386177 -21187,0.13266228355464227 -21188,0.05060505803049942 -21189,0.2872675293744732 -21190,0.5953956078326902 -21191,0.9169635372956149 -21192,0.8861604036947945 -21193,0.9180847948388301 -21194,0.03980412127531052 -21195,0.6143994593918269 -21196,0.18326620812067662 -21197,0.7575105229951101 -21198,0.9076458187687484 -21199,0.39178621251455603 -21200,0.13451113357361355 -21201,0.9511308236848948 -21202,0.7560994650440274 -21203,0.10535233334057581 -21204,0.24457911366527008 -21205,0.9102290704926362 -21206,0.9629921837999127 -21207,0.0417552505203036 -21208,0.6963616236102202 -21209,0.579649759290411 -21210,0.11732052014098404 -21211,0.32607306555842164 -21212,0.6736639113153445 -21213,0.5840624466360793 -21214,0.9712739621491497 -21215,0.5976128811979512 -21216,0.5056150927519303 -21217,0.2081000578949127 -21218,0.8439408813520278 -21219,0.004790645294577844 -21220,0.9314263487314925 -21221,0.9015718548984709 -21222,0.40149892116369656 -21223,0.3495472147892126 -21224,0.6871303577755855 -21225,0.4945468496897777 -21226,0.15016001176135163 -21227,0.12814058728331224 -21228,0.3320488476630131 -21229,0.5488041577833827 -21230,0.9113613833124972 -21231,0.5135458028319355 -21232,0.03909761628273034 -21233,0.25636159811515036 -21234,0.7997001904276942 -21235,0.850502807227212 -21236,0.5228215448972537 -21237,0.6560815509820813 -21238,0.622279036283703 -21239,0.5323670603095038 -21240,0.9887199611517419 -21241,0.09378845375460099 -21242,0.19893250563008102 -21243,0.5136481782437984 -21244,0.34592108846712144 -21245,0.14352985695591192 -21246,0.7364605158686255 -21247,0.9656751776758643 -21248,0.982698776237653 -21249,0.4386688868209816 -21250,0.31274617073493605 -21251,0.4929106702535099 -21252,0.11416703198540101 -21253,0.9024535496475642 -21254,0.22183074929146074 -21255,0.5488156382182489 -21256,0.5349057573462597 -21257,0.9016519788451105 -21258,0.2431207273444057 -21259,0.8726901815664067 -21260,0.3632914738943457 -21261,0.46176085184430693 -21262,0.6776040756519911 -21263,0.7908375459250665 -21264,0.5318980168196985 -21265,0.8103232734196145 -21266,0.06806727980418015 -21267,0.890798149179065 -21268,0.9990790630362498 -21269,0.10474100065889325 -21270,0.3678271582838868 -21271,0.3384310064767633 -21272,0.7581059129582878 -21273,0.550663356630569 -21274,0.6436812705019763 -21275,0.3708610203037681 -21276,0.3379566185133742 -21277,0.11097003808748163 -21278,0.03570183433335583 -21279,0.7144058599187768 -21280,0.867494322141406 -21281,0.7445892211392819 -21282,0.5603492304274519 -21283,0.5799125023423141 -21284,0.5549339058009939 -21285,0.926609503416534 -21286,0.3838083318485602 -21287,0.5222957427568693 -21288,0.6893011935491536 -21289,0.9837176149510816 -21290,0.809612680847319 -21291,0.8049169609502123 -21292,0.9021093002288046 -21293,0.22120121659686487 -21294,0.03982661993539072 -21295,0.5763768964861397 -21296,0.6750826762655714 -21297,0.7887866215396724 -21298,0.028837604348888157 -21299,0.2504270745484565 -21300,0.8522256317255533 -21301,0.16419788926158485 -21302,0.051629246330797574 -21303,0.42918037909446416 -21304,0.936260630339628 -21305,0.9524525561922302 -21306,0.05689312118590151 -21307,0.041163762471459364 -21308,0.9142356782248154 -21309,0.42489530091868744 -21310,0.28817984804814545 -21311,0.8670895511883359 -21312,0.1461616771076658 -21313,0.1390166961954955 -21314,0.5387494498641896 -21315,0.21520739359368846 -21316,0.2355762974612442 -21317,0.8764978928295311 -21318,0.44026655846544627 -21319,0.1132839235267018 -21320,0.19386927416753963 -21321,0.11761887421854522 -21322,0.7548883238727881 -21323,0.33207136645371493 -21324,0.6820571636345729 -21325,0.44809043927094994 -21326,0.00535559523238327 -21327,0.24303637882513074 -21328,0.7920006459996752 -21329,0.8599521020372102 -21330,0.21747401892177465 -21331,0.8117688554054178 -21332,0.7468464053546325 -21333,0.6542644756329234 -21334,0.29378668258411533 -21335,0.15998277650226966 -21336,0.48620611989281726 -21337,0.6562015378864771 -21338,0.6072133604073964 -21339,0.7013610581641272 -21340,0.461329743662214 -21341,0.4011507344040116 -21342,0.344974430893352 -21343,0.8359994485353202 -21344,0.6726361869939889 -21345,0.9112528898975968 -21346,0.9258215650885083 -21347,0.18831377786021553 -21348,0.10220711271947946 -21349,0.3094653710426538 -21350,0.1359584149877393 -21351,0.22672400710583895 -21352,0.3629845073852771 -21353,0.43775073838716905 -21354,0.2232461857257091 -21355,0.6750460457352145 -21356,0.2596537456440777 -21357,0.041223396129644096 -21358,0.48447530356277346 -21359,0.5285897062123162 -21360,0.5907268939622271 -21361,0.8116583073798758 -21362,0.6063337759390622 -21363,0.04900787621642766 -21364,0.23931791076112885 -21365,0.6486274272898981 -21366,0.8721067395352123 -21367,0.793294565644258 -21368,0.6233731402941605 -21369,0.924418085377272 -21370,0.4974692282332204 -21371,0.16316129005235314 -21372,0.07352182474082714 -21373,0.7200029972643023 -21374,0.28747128865287785 -21375,0.41787744997564047 -21376,0.8599075714163864 -21377,0.17946285178554477 -21378,0.9082684887236354 -21379,0.2989375023857148 -21380,0.919308462140437 -21381,0.7549778048933811 -21382,0.39111639467414594 -21383,0.28865226366544916 -21384,0.7390126477240933 -21385,0.6397798099183633 -21386,0.08409115081470897 -21387,0.4125578442881821 -21388,0.9398636398990635 -21389,0.27073569454608726 -21390,0.8247348737602992 -21391,0.06851922460666193 -21392,0.7152547526984827 -21393,0.63764139562946 -21394,0.03773065863273284 -21395,0.7636233632329804 -21396,0.4878780716354376 -21397,0.7469178325320509 -21398,0.953866902151533 -21399,0.5959994991118149 -21400,0.5873111691125552 -21401,0.018556592807049577 -21402,0.44228204827409223 -21403,0.40291459724533696 -21404,0.14921140830386204 -21405,0.1859027849670125 -21406,0.7964725768020886 -21407,0.9759209715492424 -21408,0.17601005885828946 -21409,0.9198421072427784 -21410,0.7441415793211706 -21411,0.9294614985454877 -21412,0.2767439442851706 -21413,0.11222122474349816 -21414,0.7639684892925167 -21415,0.15715686761224756 -21416,0.7105098574448067 -21417,0.06382118488312749 -21418,0.1014215209575271 -21419,0.6246200814773001 -21420,0.7189040376470818 -21421,0.977682692312117 -21422,0.0821171263715399 -21423,0.5706781594580627 -21424,0.36291960137645307 -21425,0.17084170856312897 -21426,0.5620909677957404 -21427,0.7746525007644226 -21428,0.6831057190389289 -21429,0.8787222782970959 -21430,0.7894315824232397 -21431,0.8349982887942988 -21432,0.6735782192188813 -21433,0.12087724095497021 -21434,0.11254865088603294 -21435,0.7232607584405709 -21436,0.2459094688671466 -21437,0.8666957722421357 -21438,0.22791042307524756 -21439,0.9903834491996492 -21440,0.006506584806216242 -21441,0.48134287364853157 -21442,0.6784015601189902 -21443,0.6564849099324763 -21444,0.49095865901540325 -21445,0.2322706567148911 -21446,0.23918980999780937 -21447,0.3954213981878032 -21448,0.43503376448430453 -21449,0.07832489987150093 -21450,0.7577740272389136 -21451,0.0813435233111981 -21452,0.7923297857840043 -21453,0.29981741887445224 -21454,0.9303590796259485 -21455,0.8485118065221355 -21456,0.10948458634312042 -21457,0.3053628922161671 -21458,0.039451127453943635 -21459,0.5033514500226159 -21460,0.6846518104442239 -21461,0.9058791637211725 -21462,0.33153060168063975 -21463,0.0520442264633737 -21464,0.8124913533140491 -21465,0.9445654309458978 -21466,0.034689130669919854 -21467,0.6657001301264404 -21468,0.39729653529001474 -21469,0.9929974759913233 -21470,0.6425972937738079 -21471,0.5559332494615128 -21472,0.23123346509405263 -21473,0.5951311854705058 -21474,0.8957261584847872 -21475,0.21267752048316246 -21476,0.6012762928535217 -21477,0.6500365740502368 -21478,0.42474390873016965 -21479,0.8421719463655419 -21480,0.550417975919929 -21481,0.9465154944071325 -21482,0.7808218652304586 -21483,0.2880823459715889 -21484,0.8699650486769751 -21485,0.6756964186840863 -21486,0.08166504105130856 -21487,0.9199739115052761 -21488,0.7296509536722843 -21489,0.33123636686466207 -21490,0.10430110004839988 -21491,0.7366626026064155 -21492,0.33658539929298503 -21493,0.9643548192195752 -21494,0.7116481115050131 -21495,0.050637364153468534 -21496,0.9183463709663765 -21497,0.7231906237092731 -21498,0.547600262889101 -21499,0.09980295034097664 -21500,0.8983564227127104 -21501,0.4221315075410432 -21502,0.016987137721649503 -21503,0.6086642322847547 -21504,0.5467012072522972 -21505,0.7775108075827929 -21506,0.1618683357013071 -21507,0.07682581898287622 -21508,0.2311651636249027 -21509,0.47272684642481355 -21510,0.434778345935699 -21511,0.601230138824129 -21512,0.28305380690433657 -21513,0.9054972884670287 -21514,0.6021608152852947 -21515,0.5169833524798416 -21516,0.9413165471099276 -21517,0.7768356757593632 -21518,0.6250470688255829 -21519,0.15096375801242656 -21520,0.6064433476882148 -21521,0.9859772739183021 -21522,0.6920029820642045 -21523,0.06304079866231238 -21524,0.2250451407818025 -21525,0.08839132235353653 -21526,0.6765654240606506 -21527,0.8028370068128721 -21528,0.5227065643457861 -21529,0.7521251020822893 -21530,0.4402593674701355 -21531,0.4362606909817126 -21532,0.07490108477960367 -21533,0.5803855910603748 -21534,0.6873475569667432 -21535,0.9413260088887334 -21536,0.5509335656192418 -21537,0.6904313056701848 -21538,0.576797900457407 -21539,0.730855767707197 -21540,0.8503426026451647 -21541,0.03523564126234269 -21542,0.31288947126941247 -21543,0.0972638721275928 -21544,0.333289240402845 -21545,0.13496373372826065 -21546,0.08202548210451777 -21547,0.7278579276090835 -21548,0.3722828651421223 -21549,0.2877090265085255 -21550,0.8187285480213136 -21551,0.42337983278381297 -21552,0.3854232444102802 -21553,0.025944099813567822 -21554,0.6357643031775179 -21555,0.5862163470162016 -21556,0.8713080872051588 -21557,0.6286687375410316 -21558,0.6021293143671805 -21559,0.694870679345425 -21560,0.96857678808043 -21561,0.13927264535133865 -21562,0.27252451249923015 -21563,0.7368811832518731 -21564,0.98674317729933 -21565,0.28815151816681783 -21566,0.9863248064606086 -21567,0.39850161705240983 -21568,0.9339967726424664 -21569,0.1305158669813311 -21570,0.18535789332940766 -21571,0.3537190783027774 -21572,0.2712075069906956 -21573,0.8362739855232608 -21574,0.9968261911119115 -21575,0.18608468943265832 -21576,0.1420796826850913 -21577,0.6723374567575614 -21578,0.4399804893823742 -21579,0.3117505068239088 -21580,0.8064919636730947 -21581,0.33394997134167803 -21582,0.1961132770969587 -21583,0.8232191651072819 -21584,0.5681416756461746 -21585,0.3522714688799671 -21586,0.9396466504739679 -21587,0.13583934079298965 -21588,0.12159556544568206 -21589,0.2367548246631509 -21590,0.2242233666911082 -21591,0.9569846928987806 -21592,0.4439477610421396 -21593,0.32224714814914723 -21594,0.6494970162069188 -21595,0.44647971016915766 -21596,0.41390105303616465 -21597,0.15314826871134413 -21598,0.14469903367667258 -21599,0.8287938531437147 -21600,0.6785018376263111 -21601,0.5983047266210664 -21602,0.8371853342426131 -21603,0.18094694335509653 -21604,0.7160437220319888 -21605,0.49276380430749733 -21606,0.5619691665875483 -21607,0.17483997953733932 -21608,0.12413544633034401 -21609,0.09548242991152633 -21610,0.6848643820866701 -21611,0.8768959914201111 -21612,0.01856588835135986 -21613,0.479877343875449 -21614,0.7636259976978106 -21615,0.6320695583237161 -21616,0.5199075468622876 -21617,0.12723696975929621 -21618,0.5001661234421604 -21619,0.4859412367160285 -21620,0.027617788291464218 -21621,0.8051038907415465 -21622,0.76386918905779 -21623,0.1261595090289227 -21624,0.48137096156094794 -21625,0.28341813573776575 -21626,0.5198263597669519 -21627,0.9069527912724614 -21628,0.37848058091836323 -21629,0.7716951445685517 -21630,0.3178971480630036 -21631,0.9970274604893699 -21632,0.8801208186732316 -21633,0.8921125757991824 -21634,0.524088945765053 -21635,0.747287111156328 -21636,0.07003629767447217 -21637,0.5739051533652743 -21638,0.7416515595764562 -21639,0.31495394552456424 -21640,0.7592712724263264 -21641,0.8932021793818274 -21642,0.8925364049317005 -21643,0.897899447789042 -21644,0.5466210764280663 -21645,0.14075216480052377 -21646,0.8386718755332598 -21647,0.5020620224899986 -21648,0.3622187100539429 -21649,0.49897995849408916 -21650,0.8070149782871854 -21651,0.9689364604950659 -21652,0.1935592347634646 -21653,0.9173964876380464 -21654,0.7255816251331527 -21655,0.0520377428848352 -21656,0.8931171261731775 -21657,0.8367794302951685 -21658,0.7129702098533576 -21659,0.25039200393752015 -21660,0.8987446076848178 -21661,0.14718957390079102 -21662,0.8387314785305084 -21663,0.247989700154867 -21664,0.6744910695003308 -21665,0.8893285194817575 -21666,0.4968019432336229 -21667,0.3873710767545808 -21668,0.07369054673154996 -21669,0.5460959795270611 -21670,0.1470348537749585 -21671,0.2992407747225927 -21672,0.3981794228141371 -21673,0.762816966031919 -21674,0.7425073731705667 -21675,0.6200846438034033 -21676,0.20796672251976334 -21677,0.1230977479892903 -21678,0.4792234703029228 -21679,0.14468180689803511 -21680,0.3642847915141879 -21681,0.8261235589507241 -21682,0.67169167686994 -21683,0.9344960618945778 -21684,0.09693543167955043 -21685,0.9784739398499332 -21686,0.1324638920136868 -21687,0.6219520177494972 -21688,0.20211297866754663 -21689,0.30194232512125796 -21690,0.951533654902022 -21691,0.9888626504151335 -21692,0.6926945968008786 -21693,0.11440622487829843 -21694,0.8084404990236664 -21695,0.8375441242820036 -21696,0.48852390985976246 -21697,0.9408350790867086 -21698,0.6413804404337484 -21699,0.44190528827724074 -21700,0.7653710562246719 -21701,0.6419030328738258 -21702,0.008484426056188599 -21703,0.7016337205122993 -21704,0.27664150104173213 -21705,0.2754429347642432 -21706,0.5374762015572646 -21707,0.9776968010839406 -21708,0.3440094747214344 -21709,0.24259431017160804 -21710,0.4863131377194563 -21711,0.9976864051962693 -21712,0.7480551551600357 -21713,0.916897035535448 -21714,0.911723312551109 -21715,0.9973455033548292 -21716,0.5970569883778595 -21717,0.034898365401710985 -21718,0.2833654587917894 -21719,0.2885360776355044 -21720,0.671373238904803 -21721,0.11113168859434386 -21722,0.5500399553792769 -21723,0.7843976502785301 -21724,0.09836677660267068 -21725,0.0720039633015338 -21726,0.3570683643546665 -21727,0.9800709512906113 -21728,0.26759128440547186 -21729,0.32763418287153223 -21730,0.7353973664286894 -21731,0.5950745001114374 -21732,0.4203983870030039 -21733,0.6949597147721958 -21734,0.029739110408248393 -21735,0.7576534867346935 -21736,0.12757961825662567 -21737,0.02186505774061842 -21738,0.9473528880987104 -21739,0.4957082047768744 -21740,0.6063429772378046 -21741,0.5661343734178794 -21742,0.5183684130973265 -21743,0.09261408884542777 -21744,0.7647055671545928 -21745,0.6723624531034118 -21746,0.3286072667747125 -21747,0.053791669651581775 -21748,0.07195688938391198 -21749,0.31875043990247454 -21750,0.06839617889019334 -21751,0.3200672781907642 -21752,0.7437133468788435 -21753,0.008520106153174778 -21754,0.6983596588229132 -21755,0.4234939534618405 -21756,0.7912387312798356 -21757,0.041865956899361456 -21758,0.1425581021631872 -21759,0.5556108713630911 -21760,0.4395433931998235 -21761,0.12924301363771695 -21762,0.14854314448276862 -21763,0.6976524285185185 -21764,0.7571161720737387 -21765,0.7751394613127086 -21766,0.4365198800698816 -21767,0.7751936134672303 -21768,0.8206660324562565 -21769,0.01277976358030608 -21770,0.8843839912492767 -21771,0.9366711399013944 -21772,0.5762415113470984 -21773,0.6965176882444886 -21774,0.7925324240174525 -21775,0.9335969196131578 -21776,0.627090471776675 -21777,0.07878150582352617 -21778,0.8889347422897917 -21779,0.8782213559203359 -21780,0.5727026572209928 -21781,0.9196903031907138 -21782,0.09253720447937008 -21783,0.018363033238578907 -21784,0.6648716895449898 -21785,0.22722880040283944 -21786,0.2796951637686492 -21787,0.5819028107413595 -21788,0.8760399338006251 -21789,0.8884527520772213 -21790,0.7365446840824832 -21791,0.6219408724938995 -21792,0.8496502310610597 -21793,0.6099019115846656 -21794,0.5795109970262396 -21795,0.3384588431119985 -21796,0.02178560180523581 -21797,0.09814288382001324 -21798,0.8669957751280309 -21799,0.06629495619025072 -21800,0.019758964799022394 -21801,0.9134027812553716 -21802,0.2287095176101126 -21803,0.6972150507890147 -21804,0.2501981394193522 -21805,0.5903972038246853 -21806,0.9220072471994212 -21807,0.5578736790329322 -21808,0.044963045793029455 -21809,0.6481823107568249 -21810,0.36454864002114895 -21811,0.5233454920405732 -21812,0.7166981968205176 -21813,0.5088246596324599 -21814,0.2883125033116579 -21815,0.9711392539637386 -21816,0.2984937847988498 -21817,0.10260127131002195 -21818,0.5672934682462928 -21819,0.5280847661413505 -21820,0.10997085231040715 -21821,0.18710755903822252 -21822,0.29027478086435776 -21823,0.022768485460213927 -21824,0.7018978664921043 -21825,0.930460008732643 -21826,0.9494188987380926 -21827,0.4180541647515358 -21828,0.03980632859788236 -21829,0.45313307863813757 -21830,0.6218295143004257 -21831,0.8525676064411766 -21832,0.601158358309585 -21833,0.6499270180982122 -21834,0.6705526348949692 -21835,0.09607358628442042 -21836,0.882388598709264 -21837,0.7949985134311366 -21838,0.23693399773645607 -21839,0.47746465026754126 -21840,0.9504680062809507 -21841,0.6226968784488209 -21842,0.5409337825009717 -21843,0.8370782663397657 -21844,0.5059036871641237 -21845,0.28516761146758496 -21846,0.2556318353169884 -21847,0.22655888881015251 -21848,0.85617337448675 -21849,0.14826096333101135 -21850,0.3554956521657223 -21851,0.21018844152923533 -21852,0.0887239463628835 -21853,0.18340057361255102 -21854,0.6749103421654925 -21855,0.2570013107466723 -21856,0.08895950023137167 -21857,0.422168675020278 -21858,0.7488984328666722 -21859,0.34990312689137637 -21860,0.15624828821782866 -21861,0.6343548557857146 -21862,0.0007708448534380352 -21863,0.7123206432210857 -21864,0.0649706837403865 -21865,0.8598856020603334 -21866,0.46098843822494273 -21867,0.1986425636236564 -21868,0.02146175605113687 -21869,0.18997759472635978 -21870,0.8203411722230026 -21871,0.9473129359003265 -21872,0.46772281432951657 -21873,0.8769027028476631 -21874,0.9301946442546515 -21875,0.767726626882501 -21876,0.01782549219721219 -21877,0.21807638478767 -21878,0.40674238080004343 -21879,0.8312379253525066 -21880,0.7285666889552441 -21881,0.2291457596793438 -21882,0.6402245796921961 -21883,0.4414532261509527 -21884,0.27741468461890495 -21885,0.6203490154777166 -21886,0.0668944309287014 -21887,0.8472859601673535 -21888,0.9104846375767697 -21889,0.6037254326835315 -21890,0.5017492245944463 -21891,0.6969920043528743 -21892,0.699803791013384 -21893,0.7233656598131942 -21894,0.8975777722191988 -21895,0.021816226181496257 -21896,0.4903679264013464 -21897,0.09961356192726423 -21898,0.23763512817984145 -21899,0.9140204486854635 -21900,0.33946865561905515 -21901,0.7416003780737341 -21902,0.3604999232080126 -21903,0.7422320812832783 -21904,0.751151895852338 -21905,0.7035420143346056 -21906,0.6702254233400065 -21907,0.8535715096921848 -21908,0.0944889039122242 -21909,0.7639985253713839 -21910,0.28360807055205484 -21911,0.9371331056352675 -21912,0.3178603653591482 -21913,0.7302687313751929 -21914,0.32718399814749144 -21915,0.33028476461714673 -21916,0.43286413094757437 -21917,0.09868662106884096 -21918,0.86197823757154 -21919,0.2874229641176981 -21920,0.4976057505201201 -21921,0.6529516867371787 -21922,0.7531612306713699 -21923,0.36880719360311187 -21924,0.17331115743627512 -21925,0.8201276994184552 -21926,0.9492100506623311 -21927,0.07497826957836529 -21928,0.6475774818958417 -21929,0.6044205947208756 -21930,0.8231453114239681 -21931,0.7568740937068792 -21932,0.12868575779256874 -21933,0.12764185474616352 -21934,0.7504424796623985 -21935,0.13507685767455824 -21936,0.8014285233537469 -21937,0.10251346346821122 -21938,0.4580678031067765 -21939,0.34999881779741926 -21940,0.5183568542194935 -21941,0.3267221623386891 -21942,0.9989407951124922 -21943,0.9492028120847106 -21944,0.8531596111127605 -21945,0.43512343976080015 -21946,0.4290336444510684 -21947,0.6937568214184832 -21948,0.22820219832350797 -21949,0.2089298284554294 -21950,0.29290513304082666 -21951,0.09077441009257958 -21952,0.37085575987083486 -21953,0.966478730137166 -21954,0.5189313537515562 -21955,0.38110461183060673 -21956,0.14894436387168053 -21957,0.3832832181504311 -21958,0.8526975798207594 -21959,0.8552060457813092 -21960,0.7626725017746812 -21961,0.9835434132651523 -21962,0.5486654725461387 -21963,0.36774403095488406 -21964,0.16988045581245026 -21965,0.09902380194251137 -21966,0.3501573637122464 -21967,0.6439129133354868 -21968,0.25683094752884317 -21969,0.3573838518921676 -21970,0.9444752471789322 -21971,0.7479917373939616 -21972,0.5456951000041103 -21973,0.33112071518864516 -21974,0.8872465632457065 -21975,0.3404845048395918 -21976,0.011466232966297008 -21977,0.7466532046354262 -21978,0.8398086156805634 -21979,0.6804123344278357 -21980,0.16685485336342365 -21981,0.23048015091174934 -21982,0.5484208285181282 -21983,0.9287704591543151 -21984,0.4931264023022598 -21985,0.819617462492077 -21986,0.856330130464497 -21987,0.46374606607501856 -21988,0.08318810603942894 -21989,0.08220604447038615 -21990,0.5455139940608021 -21991,0.5852447749141728 -21992,0.19275780785280483 -21993,0.6947199272034081 -21994,0.8728200141636407 -21995,0.9903139694880078 -21996,0.10504921141322487 -21997,0.5578926983202388 -21998,0.7750035470359289 -21999,0.9168772434496106 -22000,0.22525065367387098 -22001,0.1741143892113688 -22002,0.1987167145439377 -22003,0.24708304522872715 -22004,0.5688934124202699 -22005,0.18157596161326095 -22006,0.6031914408964169 -22007,0.4178336842928049 -22008,0.7394103553908149 -22009,0.8242007811693911 -22010,0.7859286877758188 -22011,0.37933874512140897 -22012,0.9258411755290655 -22013,0.3561819224134989 -22014,0.011087553051048471 -22015,0.8406564389658866 -22016,0.5576076937359611 -22017,0.16563996154086302 -22018,0.13822976574162116 -22019,0.5980992945804975 -22020,0.43850531910778845 -22021,0.6248764748287923 -22022,0.6510364837251836 -22023,0.5925685651806546 -22024,0.07089932530968057 -22025,0.7000300708293976 -22026,0.8979538248608737 -22027,0.1395041679293092 -22028,0.9016382390250881 -22029,0.6592820793330136 -22030,0.4148051187610976 -22031,0.8497760001723302 -22032,0.23698614686843922 -22033,0.2966512106386826 -22034,0.477126347504373 -22035,0.14487573269736675 -22036,0.4070518648951199 -22037,0.9489087722007647 -22038,0.7343656627352657 -22039,0.5728257391742385 -22040,0.504084251518811 -22041,0.9504820217234354 -22042,0.49843045168808076 -22043,0.8626358259559992 -22044,0.2361349505016882 -22045,0.22626337275086128 -22046,0.7901745238972182 -22047,0.5416791925783249 -22048,0.3756949375537695 -22049,0.8299834348254842 -22050,0.8343346546745374 -22051,0.7605146625420744 -22052,0.03761207997813043 -22053,0.3292906273472229 -22054,0.2566650394007458 -22055,0.38319958463674686 -22056,0.4059103070428286 -22057,0.5801866441270763 -22058,0.6116582486172518 -22059,0.6406738886196053 -22060,0.5674243028585284 -22061,0.7409906782318363 -22062,0.09673593649756929 -22063,0.06846801410006265 -22064,0.578693891771121 -22065,0.10817107644068591 -22066,0.6303387524422703 -22067,0.9876408492564801 -22068,0.6456005612810884 -22069,0.42495232967347174 -22070,0.6351052957150288 -22071,0.513599006204184 -22072,0.35307175686800973 -22073,0.9002675913485191 -22074,0.3981343506156465 -22075,0.6370105828648205 -22076,0.5916353450334997 -22077,0.7850256173298956 -22078,0.39962740799714147 -22079,0.17826226312408655 -22080,0.9533528353440774 -22081,0.6411043314524851 -22082,0.5399379487006384 -22083,0.6536589943139844 -22084,0.25616165798334845 -22085,0.6983156616636738 -22086,0.22947911715110902 -22087,0.2714178093733812 -22088,0.39040629152272444 -22089,0.29546480692125543 -22090,0.5659744086111014 -22091,0.28676414828000407 -22092,0.2144628737698897 -22093,0.36084423243436115 -22094,0.32508262309787284 -22095,0.09404778665027069 -22096,0.08936180736029387 -22097,0.10960158245995644 -22098,0.3787650687620997 -22099,0.1962575065444836 -22100,0.5737624373555562 -22101,0.9669516811365185 -22102,0.3848339104981835 -22103,0.3741911389980591 -22104,0.5483260541942081 -22105,0.11679706124604927 -22106,0.3863382135457051 -22107,0.35857702389115076 -22108,0.6992668831726537 -22109,0.9391175971775458 -22110,0.47573562331554486 -22111,0.39246215482940505 -22112,0.8240069866809204 -22113,0.5712785246971959 -22114,0.4020416324887053 -22115,0.9730659988116968 -22116,0.23380571057134902 -22117,0.24261023055806596 -22118,0.7840636897171045 -22119,0.9878984920590775 -22120,0.8606511239913982 -22121,0.6309642606988162 -22122,0.6257773679383909 -22123,0.3829571063068017 -22124,0.5419136557429504 -22125,0.5457956000567485 -22126,0.5546253283351344 -22127,0.7133849673581296 -22128,0.30020248278812245 -22129,0.6523760624890154 -22130,0.14013632853194646 -22131,0.4403337995182828 -22132,0.7720094327005491 -22133,0.8347482468357863 -22134,0.6546004371101695 -22135,0.9658404377881387 -22136,0.9669472667699637 -22137,0.48484882359213477 -22138,0.3914799466059178 -22139,0.22310320975209186 -22140,0.01628786181912134 -22141,0.5096467299136401 -22142,0.38997958968304947 -22143,0.5289717184525583 -22144,0.8460687182540865 -22145,0.17218697912420844 -22146,0.8626169690878759 -22147,0.7691244662569544 -22148,0.7274611270869861 -22149,0.48743548242055 -22150,0.7576861637193478 -22151,0.4198852110372677 -22152,0.6269335991209593 -22153,0.001594114321178397 -22154,0.9294713622248216 -22155,0.47938817894179253 -22156,0.7807624947763437 -22157,0.7318372293216366 -22158,0.7093034443938646 -22159,0.9219836336052937 -22160,0.12933669606229903 -22161,0.9388424189516104 -22162,0.4270742493717925 -22163,0.2949872441676974 -22164,0.006360722551716713 -22165,0.07623741646378024 -22166,0.18093976135060386 -22167,0.44868800199282666 -22168,0.0576611187371735 -22169,0.565528033250503 -22170,0.927491078795524 -22171,0.09026208829113513 -22172,0.05240922281124771 -22173,0.9684386254992685 -22174,0.20851677890789888 -22175,0.559030265270713 -22176,0.6075325144282513 -22177,0.6391179086611557 -22178,0.9086992174962318 -22179,0.1630127937313317 -22180,0.0803960362995042 -22181,0.6593390678497986 -22182,0.8945600092197735 -22183,0.4313743879300237 -22184,0.8660844054295825 -22185,0.33044203243833614 -22186,0.26178969040652145 -22187,0.06897554314295418 -22188,0.31542963223498066 -22189,0.9845379020191215 -22190,0.4735402583842303 -22191,0.2975245184675689 -22192,0.33530100954314257 -22193,0.23325884560982324 -22194,0.6212615923293567 -22195,0.3067293661940391 -22196,0.12515701273612145 -22197,0.17106764647112405 -22198,0.6957988887799372 -22199,0.8821470206980426 -22200,0.8526711269235051 -22201,0.5105538689965113 -22202,0.8271821629591699 -22203,0.8553673486703448 -22204,0.04856372225993488 -22205,0.7623136156537853 -22206,0.09775768372392768 -22207,0.5374667197025155 -22208,0.660320451105283 -22209,0.8999136224885623 -22210,0.5476408171795654 -22211,0.5176251107137292 -22212,0.648183004336167 -22213,0.4316887214860058 -22214,0.6014180130438849 -22215,0.39923711275645724 -22216,0.4616089496485354 -22217,0.4575414378180189 -22218,0.2292580598103785 -22219,0.37711344219417786 -22220,0.33316285903528065 -22221,0.6269120252565091 -22222,0.8447360382961355 -22223,0.18868665121393746 -22224,0.6876840194993508 -22225,0.9935801062927301 -22226,0.6263128575559366 -22227,0.1853474797753456 -22228,0.0727534801595493 -22229,0.6602625352240742 -22230,0.23756043095322454 -22231,0.9725058393354137 -22232,0.3996378882433326 -22233,0.10717976291539022 -22234,0.21324497015805588 -22235,0.3855850131406374 -22236,0.13499685976412534 -22237,0.5684618584608139 -22238,0.19886412008412335 -22239,0.12164927047591112 -22240,0.6911197683284861 -22241,0.34447583085888744 -22242,0.20428164252604897 -22243,0.029944626547960818 -22244,0.7437019408124339 -22245,0.9836964159955605 -22246,0.7345466129914585 -22247,0.4686390446311165 -22248,0.3238260647271326 -22249,0.8975238159705913 -22250,0.5229661083102067 -22251,0.7867324731372484 -22252,0.718521597094806 -22253,0.8622766425957298 -22254,0.5322103126083291 -22255,0.44537062697538177 -22256,0.7405467282236837 -22257,0.5472941444675299 -22258,0.6760696466978159 -22259,0.6660813937183275 -22260,0.21554374428377776 -22261,0.6799344336507412 -22262,0.83283799757761 -22263,0.5579241593197142 -22264,0.26493382792050024 -22265,0.46988416660293963 -22266,0.2771524839912948 -22267,0.08371379039447402 -22268,0.6417100737278404 -22269,0.29529908346528555 -22270,0.8751409750135368 -22271,0.5442006693864145 -22272,0.6184095524264356 -22273,0.932823502223682 -22274,0.06749733851532125 -22275,0.553366658976833 -22276,0.6782092800171874 -22277,0.9969757344939139 -22278,0.1313197978065207 -22279,0.3652060573658661 -22280,0.9531404575605007 -22281,0.3075120973054746 -22282,0.7146924896341269 -22283,0.48116982986876544 -22284,0.3437494998465469 -22285,0.17407336793022699 -22286,0.30782811531978127 -22287,0.6415362043475932 -22288,0.9379131863464164 -22289,0.3878543844781289 -22290,0.6894242253319272 -22291,0.8632254381086073 -22292,0.3503669496192209 -22293,0.17034983134633297 -22294,0.2578769370874452 -22295,0.3339029413571467 -22296,0.6376516365284007 -22297,0.7052917383176871 -22298,0.8793378349810377 -22299,0.452864101271072 -22300,0.04659392861055134 -22301,0.7546732363822877 -22302,0.9275141357738187 -22303,0.7286812595474368 -22304,0.5216605795392404 -22305,0.29613158236258397 -22306,0.19740041140649256 -22307,0.9584978258396827 -22308,0.6906420985698593 -22309,0.04122480099065429 -22310,0.6916946651059881 -22311,0.07683483681386527 -22312,0.25300878712260766 -22313,0.3343638207986278 -22314,0.6834607315300705 -22315,0.16060927357089638 -22316,0.3472427398176746 -22317,0.15112114123106746 -22318,0.6226747685965233 -22319,0.15281527523694183 -22320,0.3684918680449938 -22321,0.7255333744008294 -22322,0.18231099995924538 -22323,0.3113935017177104 -22324,0.8839306373131576 -22325,0.3593818015670177 -22326,0.7705771014887084 -22327,0.3281527241923291 -22328,0.7834606488756334 -22329,0.6727651024658984 -22330,0.10683267855921197 -22331,0.9679692255210406 -22332,0.4095920052236184 -22333,0.29498069997830667 -22334,0.8281646855249748 -22335,0.17843167146714822 -22336,0.5096271467589458 -22337,0.9270113189327498 -22338,0.7493024487964098 -22339,0.7547065224541702 -22340,0.028613741184914 -22341,0.5723294924901093 -22342,0.8720051521243228 -22343,0.5033663120675117 -22344,0.3665914771899935 -22345,0.1984378532717369 -22346,0.49238713229837405 -22347,0.7205019508673982 -22348,0.7919843460512959 -22349,0.6564878073404598 -22350,0.8512989892292993 -22351,0.218998620704133 -22352,0.054672933803099455 -22353,0.2513900299547316 -22354,0.6471989288360953 -22355,0.10455472144183242 -22356,0.7175398855768033 -22357,0.912123651189538 -22358,0.1841284383273215 -22359,0.7108567089731547 -22360,0.43383449764115 -22361,0.2011967885179411 -22362,0.645476289074212 -22363,0.9562277706540704 -22364,0.46202474600799115 -22365,0.64341377225159 -22366,0.9324282253963407 -22367,0.05842241650537916 -22368,0.5783124658766859 -22369,0.7732236328615879 -22370,0.7114317044543566 -22371,0.9673476851122073 -22372,0.4227639863535253 -22373,0.7415765567728145 -22374,0.7574150265622037 -22375,0.8683451426450312 -22376,0.4622809005186076 -22377,0.3921807150925196 -22378,0.6936066245478235 -22379,0.08572627488660123 -22380,0.7120661696898949 -22381,0.06010210202804944 -22382,0.1664625318736268 -22383,0.9791563641085619 -22384,0.9524340334830544 -22385,0.80743955546541 -22386,0.8302879584791613 -22387,0.40989602062132136 -22388,0.37013871325630854 -22389,0.08718260352887242 -22390,0.8590609901076401 -22391,0.43090992703583275 -22392,0.08009951392178871 -22393,0.7973984390664356 -22394,0.9875628740328855 -22395,0.5130837382918809 -22396,0.41709840622133365 -22397,0.8410504330675237 -22398,0.13090363611617328 -22399,0.4585555126699148 -22400,0.6560029257687218 -22401,0.5361666682134842 -22402,0.49074836083298 -22403,0.3188024998768847 -22404,0.2759343785056263 -22405,0.14136542026195997 -22406,0.23475603464511186 -22407,0.17313104480926367 -22408,0.33903882828111376 -22409,0.14083514064224822 -22410,0.49923953816061595 -22411,0.7358465385628548 -22412,0.36508861049071006 -22413,0.13902612016649518 -22414,0.023548199377258716 -22415,0.34173363642098775 -22416,0.7723444596423465 -22417,0.47349961468429214 -22418,0.3678136456934984 -22419,0.5203378723121176 -22420,0.9421213068628985 -22421,0.03433378363847228 -22422,0.4467277091221311 -22423,0.7682768996384809 -22424,0.47358231200127787 -22425,0.8640836666559011 -22426,0.2366711027467101 -22427,0.13031697965163969 -22428,0.7055351458991589 -22429,0.6240318449571755 -22430,0.8710819523247583 -22431,0.3285371883428637 -22432,0.9165223457901063 -22433,0.8788545570611074 -22434,0.6983686945176234 -22435,0.98567841631933 -22436,0.4226616836878092 -22437,0.13940301025784096 -22438,0.9108313931389629 -22439,0.9739811004212202 -22440,0.8061542469992659 -22441,0.7070785659815771 -22442,0.09179472135621569 -22443,0.6762416911298702 -22444,0.8870064042543876 -22445,0.26904634240016545 -22446,0.5385665797867082 -22447,0.455353583634328 -22448,0.486221631083133 -22449,0.3144829635156299 -22450,0.47366150469826185 -22451,0.4750562674294442 -22452,0.39689737610613074 -22453,0.40359786935307973 -22454,0.2555060376844128 -22455,0.5179775927735988 -22456,0.4920719345708575 -22457,0.06279390516238059 -22458,0.2622536061164361 -22459,0.9006473957509072 -22460,0.19635312984449405 -22461,0.006954316054517684 -22462,0.957630211888644 -22463,0.09538704018414101 -22464,0.6548641832957487 -22465,0.4349812782927309 -22466,0.1361481323452941 -22467,0.38004534316031424 -22468,0.03290522363378867 -22469,0.600931732443444 -22470,0.42481307051389894 -22471,0.5307215902669643 -22472,0.5140699486434512 -22473,0.8605122067517663 -22474,0.3055846966021164 -22475,0.8814664173555582 -22476,0.013637531673232894 -22477,0.7552445573468959 -22478,0.264046366409067 -22479,0.375876186702524 -22480,0.49920826614760183 -22481,0.9350930633489608 -22482,0.16191124715205107 -22483,0.8377114394172 -22484,0.894904588778971 -22485,0.08610031933628726 -22486,0.29572449607468787 -22487,0.39993927035045707 -22488,0.09297595589838303 -22489,0.720525161004939 -22490,0.37319095930563906 -22491,0.13076870503021132 -22492,0.6840269231374254 -22493,0.8768920735216849 -22494,0.9612943272886066 -22495,0.6822534280635827 -22496,0.9622784929830577 -22497,0.39979353375713234 -22498,0.6450783342315967 -22499,0.8651439176815561 -22500,0.2622537438816718 -22501,0.27721559496169523 -22502,0.19323433779005927 -22503,0.8432100752866796 -22504,0.1715376859740917 -22505,0.5544646888064427 -22506,0.8963251716068907 -22507,0.44840625856999894 -22508,0.7410490864919042 -22509,0.2727140321382979 -22510,0.3840905095848328 -22511,0.2899301053936645 -22512,0.8805590387869165 -22513,0.7319960667403742 -22514,0.4000628095722438 -22515,0.1461523006727785 -22516,0.9597223196482951 -22517,0.43914154758094714 -22518,0.4619717888121583 -22519,0.003178230394198178 -22520,0.6329569246575096 -22521,0.8097334077703606 -22522,0.5585447176790412 -22523,0.7663713509586936 -22524,0.8506287380073876 -22525,0.5790659411683708 -22526,0.5921306821962865 -22527,0.08297096625491684 -22528,0.24703026323803523 -22529,0.2433105167608064 -22530,0.22177155520780334 -22531,0.17221068671789608 -22532,0.5198842312109268 -22533,0.7716536641019678 -22534,0.29938966800488587 -22535,0.45610816248051333 -22536,0.8854635341106375 -22537,0.650350833035485 -22538,0.0011942959136512776 -22539,0.785302731091216 -22540,0.3466865405558047 -22541,0.902422209173307 -22542,0.44591610230664136 -22543,0.2775251633138701 -22544,0.08638486374841292 -22545,0.25520515935717225 -22546,0.6138857646278425 -22547,0.5091601641610662 -22548,0.01729358487381505 -22549,0.8927279686646161 -22550,0.8475982859332987 -22551,0.6120407892713139 -22552,0.6606759820254628 -22553,0.8384734292970087 -22554,0.7864037475053381 -22555,0.025675901784908084 -22556,0.7591863781193864 -22557,0.5215252881850477 -22558,0.8454074605325818 -22559,0.4826712306434934 -22560,0.6879639246040328 -22561,0.14093179918594512 -22562,0.6428445663700918 -22563,0.21608160974606005 -22564,0.756585542843515 -22565,0.2059109350428977 -22566,0.5481722504493373 -22567,0.9184753826772705 -22568,0.4966631135922519 -22569,0.4555174196522692 -22570,0.7573978501941439 -22571,0.9569708354116453 -22572,0.9675474026173271 -22573,0.5140586828224792 -22574,0.6644850200903758 -22575,0.6805898392010318 -22576,0.26567336626234284 -22577,0.09165489563629958 -22578,0.4460732357668242 -22579,0.005157773406461952 -22580,0.9615099487046908 -22581,0.26288562750078415 -22582,0.7447678422233849 -22583,0.839234524624217 -22584,0.8380744937736222 -22585,0.2597478161489677 -22586,0.5627543803702953 -22587,0.5329800084905896 -22588,0.03542878204925548 -22589,0.7926913368164942 -22590,0.7839066068007907 -22591,0.7686234954833043 -22592,0.8579554378148178 -22593,0.3712953031673871 -22594,0.24319606882483302 -22595,0.4590726589486658 -22596,0.2456069595625635 -22597,0.6099862283481325 -22598,0.19455891698185435 -22599,0.05120879992750582 -22600,0.3735645308919733 -22601,0.9183060393372949 -22602,0.3139771013995395 -22603,0.3070636953667468 -22604,0.22323996507322275 -22605,0.3627944976724631 -22606,0.10730779174737248 -22607,0.26401038743503114 -22608,0.8309630101499665 -22609,0.5598932649344516 -22610,0.9450094277305715 -22611,0.575160986599696 -22612,0.9625136101336246 -22613,0.6416804148283779 -22614,0.6592961701985451 -22615,0.7769201187046068 -22616,0.8927710864502729 -22617,0.2776076410054653 -22618,0.003690702094139575 -22619,0.6553025838471611 -22620,0.17203356872909725 -22621,0.44003619922286974 -22622,0.005120402982483729 -22623,0.7362404225193351 -22624,0.7218270347757376 -22625,0.5677110178354986 -22626,0.8647717954828431 -22627,0.7657078675461846 -22628,0.7937935506045741 -22629,0.23252142800804587 -22630,0.12913515305293077 -22631,0.6806676356780252 -22632,0.2673785135024407 -22633,0.2982457896003172 -22634,0.4626741220401561 -22635,0.5101919604251377 -22636,0.504498566956756 -22637,0.9869214818181611 -22638,0.9953598329383915 -22639,0.3651500031486864 -22640,0.13787040552957885 -22641,0.4883624891696028 -22642,0.7373755306931221 -22643,0.9804250026212635 -22644,0.9394654545529906 -22645,0.8665487168696422 -22646,0.41369797744861625 -22647,0.03299167530069835 -22648,0.9639419387055137 -22649,0.9654008851990264 -22650,0.896396011804246 -22651,0.261585284072938 -22652,0.23603245882567603 -22653,0.7862997527384803 -22654,0.1862540250300646 -22655,0.47455647561261394 -22656,0.4372159197393376 -22657,0.8579453655804397 -22658,0.8124139230410005 -22659,0.44603242952425726 -22660,0.304497347461257 -22661,0.6282816628654829 -22662,0.8548060671054691 -22663,0.14021978404851565 -22664,0.3211039251445844 -22665,0.9096551837895019 -22666,0.5777000412247661 -22667,0.08509697292750029 -22668,0.17875197058351544 -22669,0.7616775220675376 -22670,0.6407574597321318 -22671,0.6318509104944902 -22672,0.9600219152970235 -22673,0.2201112916501019 -22674,0.8212349728287655 -22675,0.8442056778269895 -22676,0.897678638970008 -22677,0.221748868172718 -22678,0.7060048639585904 -22679,0.2663221423304145 -22680,0.16719755427082617 -22681,0.13635461711582897 -22682,0.4916356086510184 -22683,0.1451128174540468 -22684,0.9827744607734504 -22685,0.6713414402489998 -22686,0.10216061073649574 -22687,0.7200106039866712 -22688,0.7343443714145549 -22689,0.9516398788000411 -22690,0.6905546082650913 -22691,0.4293193526942527 -22692,0.6389450467203851 -22693,0.36180159368001774 -22694,0.6746385375051939 -22695,0.7280913314068356 -22696,0.7442062955388036 -22697,0.35825128249239657 -22698,0.37506477733272336 -22699,0.42637229822312694 -22700,0.20538596466573456 -22701,0.13468105163906896 -22702,0.6278062294390184 -22703,0.5166091069209066 -22704,0.7760223103678493 -22705,0.4259497203097057 -22706,0.5039405903637214 -22707,0.8905234536857407 -22708,0.16545576333635792 -22709,0.08086419983411841 -22710,0.49181552897111014 -22711,0.6572117176712207 -22712,0.5040462561949016 -22713,0.32823881458490234 -22714,0.97111997382486 -22715,0.25806534193048347 -22716,0.29039612413890126 -22717,0.3532183242410505 -22718,0.6705475135747453 -22719,0.2894592875261628 -22720,0.5528354639627876 -22721,0.8296028469935708 -22722,0.8065989034502618 -22723,0.360367491393785 -22724,0.7643080479553133 -22725,0.40460967990257846 -22726,0.8882559344902029 -22727,0.5526945980299641 -22728,0.2946594688172778 -22729,0.6411621745293754 -22730,0.5027119046950914 -22731,0.4275915491452593 -22732,0.5820072919205441 -22733,0.9054892513595109 -22734,0.7911376299544031 -22735,0.6697490145743398 -22736,0.7275839543230659 -22737,0.43694790370093284 -22738,0.9722803177259564 -22739,0.2504018487133668 -22740,0.7565230171860786 -22741,0.74831374159533 -22742,0.509112944004847 -22743,0.9565273107839299 -22744,0.00031927541210163835 -22745,0.4482376236405893 -22746,0.6849816525966964 -22747,0.55695127074526 -22748,0.6453780111802663 -22749,0.3519981344495101 -22750,0.900035712190281 -22751,0.98699998700589 -22752,0.5031376322895353 -22753,0.41089078909903587 -22754,0.6467174467523005 -22755,0.517251339262862 -22756,0.9333451293622855 -22757,0.1520530396043348 -22758,0.512475635167799 -22759,0.3320758675213782 -22760,0.7198769480572483 -22761,0.5185846712148028 -22762,0.07854562164214429 -22763,0.998351941682546 -22764,0.6903990174056658 -22765,0.011546046846156899 -22766,0.13115478170104222 -22767,0.1927835116104646 -22768,0.6263946537883162 -22769,0.0005196295969973619 -22770,0.19497162285690717 -22771,0.5246204229799332 -22772,0.4749313669134504 -22773,0.23539899572695333 -22774,0.5083687140679861 -22775,0.451051821598522 -22776,0.62848324884229 -22777,0.004795043311743963 -22778,0.9478673797707093 -22779,0.15874821583566168 -22780,0.10551411149334056 -22781,0.7375126722026388 -22782,0.7308388569801643 -22783,0.9429745962786751 -22784,0.8454418121145121 -22785,0.7574220169588226 -22786,0.8508826239702648 -22787,0.13017606614199662 -22788,0.6302095987201113 -22789,0.4458738883386112 -22790,0.6210008380339461 -22791,0.849516274458445 -22792,0.42110592286555204 -22793,0.07451840942878407 -22794,0.6560467113615843 -22795,0.1389234551595554 -22796,0.011309242969825495 -22797,0.14207831243379 -22798,0.6308127152046645 -22799,0.8265259164413108 -22800,0.37904335486958307 -22801,0.9771122514724212 -22802,0.6289021940707928 -22803,0.6890900239059276 -22804,0.21913475609798572 -22805,0.579107045605409 -22806,0.18242946931171067 -22807,0.8493992752630305 -22808,0.17137948939491232 -22809,0.663660401762384 -22810,0.3672662082780326 -22811,0.08554869459553549 -22812,0.5473076072796995 -22813,0.968003817849758 -22814,0.2953934736780167 -22815,0.36570459065101857 -22816,0.16443806275744566 -22817,0.374699152285493 -22818,0.7808029284516911 -22819,0.33754010537737844 -22820,0.427725248014714 -22821,0.591893089139133 -22822,0.8663846034077329 -22823,0.7426806012011682 -22824,0.11919152214191842 -22825,0.6964861289879136 -22826,0.4959877403395939 -22827,0.28955548349688065 -22828,0.7613864132551477 -22829,0.7710809536056608 -22830,0.5801058179203941 -22831,0.539482843852486 -22832,0.5467810702358499 -22833,0.4545910682626032 -22834,0.7207117848949207 -22835,0.06847109932073692 -22836,0.4583931600614852 -22837,0.8728994043396977 -22838,0.6266223416837821 -22839,0.5140958551304045 -22840,0.43319818809022226 -22841,0.5825212342316856 -22842,0.13815650014955472 -22843,0.3484247872098273 -22844,0.47933261715338615 -22845,0.40420433020401125 -22846,0.49584476067027305 -22847,0.18435633212344682 -22848,0.14057022501896232 -22849,0.8840427669799655 -22850,0.48460453197316655 -22851,0.49565114830777224 -22852,0.3720363789452171 -22853,0.10639546209468076 -22854,0.42729953529994125 -22855,0.6109944572389736 -22856,0.874632760973944 -22857,0.06673524090596827 -22858,0.44933181014398516 -22859,0.7701889515658153 -22860,0.9716114511711175 -22861,0.12705598888546954 -22862,0.01501510002131945 -22863,0.4107661154223472 -22864,0.31471476792502584 -22865,0.5792581376712134 -22866,0.11801103821060144 -22867,0.7256473858189165 -22868,0.1801018073779871 -22869,0.716953014302327 -22870,0.931203400934975 -22871,0.7017863644501819 -22872,0.8576009759928918 -22873,0.7068160541754154 -22874,0.895543512195259 -22875,0.7394125654078865 -22876,0.4123757163967203 -22877,0.23351502441246363 -22878,0.40651626757590587 -22879,0.0811211244401181 -22880,0.850778645039398 -22881,0.7196389467726814 -22882,0.8818304161698827 -22883,0.19835681687166207 -22884,0.4856635551198417 -22885,0.1663024567660465 -22886,0.08763094031827934 -22887,0.7546280817532697 -22888,0.15706521383961702 -22889,0.014849226991156428 -22890,0.9832198730522715 -22891,0.06453411061770331 -22892,0.5983942355907549 -22893,0.8742092708728505 -22894,0.6432950097580223 -22895,0.45537105603624006 -22896,0.2604420550302119 -22897,0.9067285166007387 -22898,0.4963472323723743 -22899,0.2522716097948441 -22900,0.3506400350242348 -22901,0.9794690145528576 -22902,0.2589488598018559 -22903,0.5295579895718021 -22904,0.5488927696918929 -22905,0.728430949478248 -22906,0.4894420054007901 -22907,0.7921926081309422 -22908,0.3186258045820024 -22909,0.9478649189580282 -22910,0.8574565662084048 -22911,0.8681844849785133 -22912,0.8684011766122439 -22913,0.32132297924258546 -22914,0.6154797607690456 -22915,0.0890691073269898 -22916,0.8765431035557363 -22917,0.9764283243262387 -22918,0.3328157610509517 -22919,0.8350368368157229 -22920,0.013540776889864548 -22921,0.2727159101242539 -22922,0.7062392767450543 -22923,0.7418548162518306 -22924,0.8297919550083477 -22925,0.0952960120738845 -22926,0.40433905170239626 -22927,0.8517219419780648 -22928,0.13512730954168062 -22929,0.6825413732728781 -22930,0.5844337860304326 -22931,0.10714683976776174 -22932,0.07168023054465078 -22933,0.21811474334929115 -22934,0.42535694344585306 -22935,0.17899797550064855 -22936,0.28585749539222016 -22937,0.9305829326427464 -22938,0.08142128084807476 -22939,0.8681033324678918 -22940,0.25282717658363174 -22941,0.6895811322018058 -22942,0.5866322670869467 -22943,0.4226705615886417 -22944,0.8040560890469547 -22945,0.032616153720912644 -22946,0.7874483138760066 -22947,0.5058671311093756 -22948,0.34138073784814515 -22949,0.696471682917247 -22950,0.765088162577719 -22951,0.3525195724517628 -22952,0.18581296805425696 -22953,0.4541906143938451 -22954,0.4626839986011976 -22955,0.9267567590013033 -22956,0.9488842406402584 -22957,0.591671091587546 -22958,0.8817043344128089 -22959,0.4316670487266121 -22960,0.7646198103969122 -22961,0.30357097741724914 -22962,0.7652428182897073 -22963,0.8520837717042323 -22964,0.9448581130127816 -22965,0.4637076474713916 -22966,0.00428370543475276 -22967,0.6755540748647664 -22968,0.6036125040106085 -22969,0.5604999906580597 -22970,0.33952926450434295 -22971,0.4490498346995728 -22972,0.19002986193755467 -22973,0.7569473284619469 -22974,0.8009007549517898 -22975,0.6851754555801016 -22976,0.6615167671765066 -22977,0.11987303657443238 -22978,0.8560836180936723 -22979,0.9351556546668015 -22980,0.8347652371099522 -22981,0.356590015143624 -22982,0.521360828018967 -22983,0.42426493506734286 -22984,0.5217346109317352 -22985,0.3995403637243752 -22986,0.3657368954109548 -22987,0.2779349757610343 -22988,0.1366256560777832 -22989,0.9099939844363029 -22990,0.8233201538588619 -22991,0.9413330718684272 -22992,0.9598027343439837 -22993,0.10487486368094245 -22994,0.6894713722475128 -22995,0.10881915608813886 -22996,0.9356854570596898 -22997,0.16696266636606816 -22998,0.20430874814396394 -22999,0.8571732906439148 -23000,0.6091426547152994 -23001,0.34925988979089495 -23002,0.11151371470474791 -23003,0.06925614172225025 -23004,0.14481058131921942 -23005,0.49387776158622143 -23006,0.38723379154412996 -23007,0.025090343696064665 -23008,0.8668614665621895 -23009,0.6020115361976153 -23010,0.220368364772344 -23011,0.6041728716804959 -23012,0.16340461865406808 -23013,0.15012521887687091 -23014,0.3743575926251921 -23015,0.159271774982366 -23016,0.6584583098189013 -23017,0.7640845377280739 -23018,0.0531207504505099 -23019,0.05504923764259617 -23020,0.39583407601440523 -23021,0.264731392382768 -23022,0.00544385273770176 -23023,0.8037638027151612 -23024,0.44375575776451837 -23025,0.6479727815799686 -23026,0.2911226981208528 -23027,0.10825110202069754 -23028,0.8296197020210377 -23029,0.39213072010958283 -23030,0.21187287264027022 -23031,0.9339845866389848 -23032,0.2552836153049344 -23033,0.6999944329049131 -23034,0.9308071751060167 -23035,0.11120268263274857 -23036,0.3183594526485388 -23037,0.5936095110712344 -23038,0.40807566534791084 -23039,0.4856863780531667 -23040,0.3727567875187443 -23041,0.21264249388892686 -23042,0.4527114699314675 -23043,0.6889509055031554 -23044,0.916186127077176 -23045,0.848286032092834 -23046,0.23961917925956822 -23047,0.82546135392714 -23048,0.2736632111532068 -23049,0.9419506236868862 -23050,0.9877476516348656 -23051,0.8661658341008532 -23052,0.07959616948216852 -23053,0.5418497250096217 -23054,0.6336173375822222 -23055,0.41915557239972945 -23056,0.4801914531625885 -23057,0.588257141429705 -23058,0.9272587625480795 -23059,0.28187327893443903 -23060,0.315359421640801 -23061,0.553703966082387 -23062,0.3725728884869378 -23063,0.4170883857784866 -23064,0.26855389479372616 -23065,0.5177456495177429 -23066,0.2860096124439101 -23067,0.7028052268480222 -23068,0.8912207236785675 -23069,0.029127548772606926 -23070,0.17306619394923684 -23071,0.3092933860810836 -23072,0.39432149504914626 -23073,0.6993892514133593 -23074,0.2542858151104369 -23075,0.589528217205983 -23076,0.6081714648387025 -23077,0.40697849535303443 -23078,0.38130918174787676 -23079,0.7427556244772312 -23080,0.1949382020500715 -23081,0.24522188832815928 -23082,0.5089778798067486 -23083,0.7539660586010095 -23084,0.27905888221417363 -23085,0.7020395603808063 -23086,0.015195876541400644 -23087,0.2432322554940055 -23088,0.6884178239823832 -23089,0.5055849284640218 -23090,0.2706076213978148 -23091,0.49231249616222583 -23092,0.2125856981263814 -23093,0.06441287804321505 -23094,0.3212606788254253 -23095,0.09516133275896432 -23096,0.22048834608240886 -23097,0.5926652426961178 -23098,0.06332819793337119 -23099,0.45879944478456436 -23100,0.9550133650707484 -23101,0.6628717910808518 -23102,0.7525850196514444 -23103,0.0036870429892944534 -23104,0.8351342083695483 -23105,0.045036244186814844 -23106,0.29617793908313683 -23107,0.5569443383558471 -23108,0.5875619343434346 -23109,0.48165002956554337 -23110,0.9723531931723304 -23111,0.8813989658514382 -23112,0.4555369553132873 -23113,0.2239905400232688 -23114,0.5410580548375771 -23115,0.9627170531335923 -23116,0.8836698341518807 -23117,0.3289518497906819 -23118,0.5996189707389836 -23119,0.8501117775640428 -23120,0.3922187571540441 -23121,0.6196384047723711 -23122,0.3837037752818262 -23123,0.9726396037019374 -23124,0.2816544406303336 -23125,0.32213122176727427 -23126,0.016852137929231903 -23127,0.9802399890685759 -23128,0.9406265964620814 -23129,0.5028248648231088 -23130,0.6571153634605983 -23131,0.7856392765924557 -23132,0.43910039102015697 -23133,0.27659849015926274 -23134,0.8473182437916076 -23135,0.4419654948861036 -23136,0.6369676738727061 -23137,0.02588028074645654 -23138,0.47105007894318185 -23139,0.7183955114691029 -23140,0.7423359042226719 -23141,0.146462706534789 -23142,0.9552431983246992 -23143,0.9215223629468481 -23144,0.5826034934233252 -23145,0.5822773275831765 -23146,0.7431076460676902 -23147,0.6163930976385819 -23148,0.9865214993131068 -23149,0.568373466060864 -23150,0.488813923401311 -23151,0.7698131599330101 -23152,0.345042420412068 -23153,0.3944450829203977 -23154,0.9192444363467105 -23155,0.2916661126093788 -23156,0.7564442240881009 -23157,0.5947920989726351 -23158,0.2903224961608091 -23159,0.20951115059299263 -23160,0.6978969996037157 -23161,0.9088974837692507 -23162,0.6591384150192734 -23163,0.31669995622273284 -23164,0.5789470918128896 -23165,0.7808609843941731 -23166,0.396702003148629 -23167,0.9008059309922096 -23168,0.6668687545927036 -23169,0.18544555728287626 -23170,0.9187525052860716 -23171,0.18635555363399048 -23172,0.35949930057326585 -23173,0.09989947202973537 -23174,0.8960409941830464 -23175,0.5052799361888161 -23176,0.07291203672603419 -23177,0.6733966323092214 -23178,0.14764522879081632 -23179,0.6313646192102451 -23180,0.5002257182102509 -23181,0.7690040210250345 -23182,0.3880207070267949 -23183,0.5881660224689576 -23184,0.774116825466309 -23185,0.6950099760615686 -23186,0.9286249995390544 -23187,0.9894512011045921 -23188,0.41017449240568293 -23189,0.730467059954679 -23190,0.7908741416968208 -23191,0.1584101658315289 -23192,0.9690480192933951 -23193,0.07449081637694932 -23194,0.2513716762516939 -23195,0.3089063737702157 -23196,0.9502673963822262 -23197,0.6928240557635783 -23198,0.9424935017344211 -23199,0.3523725630698029 -23200,0.6447590931536676 -23201,0.9794570807014374 -23202,0.3352979641872955 -23203,0.7384110555163704 -23204,0.7237436565451183 -23205,0.31839217080525095 -23206,0.06440993329458977 -23207,0.8584661360581548 -23208,0.1735088847941757 -23209,0.9347323388887214 -23210,0.46156902081028783 -23211,0.4453037356609051 -23212,0.08695880265038836 -23213,0.6449174720265637 -23214,0.07001978360202055 -23215,0.2543309551497289 -23216,0.37522323891562503 -23217,0.6288150784873542 -23218,0.8016557244907175 -23219,0.06408027397714222 -23220,0.6432335250394398 -23221,0.361887756963555 -23222,0.352920686663027 -23223,0.19663340425339348 -23224,0.7974465667539525 -23225,0.0054728332607604235 -23226,0.06438018430220216 -23227,0.7546630181198414 -23228,0.2442247833582789 -23229,0.5862464551763173 -23230,0.6883996093284382 -23231,0.7325759503332827 -23232,0.931869050715644 -23233,0.8037128459466191 -23234,0.27656837597351136 -23235,0.259774486539154 -23236,0.8900710397692613 -23237,0.015784216213539426 -23238,0.01401419104219459 -23239,0.45895108907398496 -23240,0.010888274250083319 -23241,0.6742624640018289 -23242,0.5123371022054226 -23243,0.7838047128660325 -23244,0.0408773769832903 -23245,0.18099501977404786 -23246,0.7998934428004855 -23247,0.7755534422228901 -23248,0.3994294156675028 -23249,0.46003203144676175 -23250,0.03486690439855655 -23251,0.0788754631956613 -23252,0.4742977511713795 -23253,0.8842800519354175 -23254,0.22124230364609532 -23255,0.8951541461260346 -23256,0.3996021538240492 -23257,0.9363977738870013 -23258,0.5728946843149237 -23259,0.5213590281938952 -23260,0.3064962471280904 -23261,0.2831801093820675 -23262,0.19099887090952206 -23263,0.870329477082252 -23264,0.0414764480159181 -23265,0.3435178830423302 -23266,0.8289492494537642 -23267,0.44162931753535584 -23268,0.7773531636119712 -23269,0.06119091317499026 -23270,0.11086161603551359 -23271,0.6372538782481166 -23272,0.6350017277329814 -23273,0.6552668732276574 -23274,0.027294257707145886 -23275,0.4894275747280208 -23276,0.8232850763385928 -23277,0.7325899414907466 -23278,0.639593437304877 -23279,0.0504210465335343 -23280,0.09005397033439821 -23281,0.2925341744346872 -23282,0.9930637650256887 -23283,0.06435732651340542 -23284,0.8155900916864612 -23285,0.9022741778423397 -23286,0.46644639744336014 -23287,0.9845420058829634 -23288,0.06819821038241447 -23289,0.707401314632872 -23290,0.32455786038088996 -23291,0.28836552385280156 -23292,0.013725719658382096 -23293,0.12159864637490203 -23294,0.899206729005821 -23295,0.18662669020116063 -23296,0.0688610092665426 -23297,0.37792004665239565 -23298,0.37695303731557006 -23299,0.6929309227365793 -23300,0.3875835764502782 -23301,0.500078220278462 -23302,0.9039482484157223 -23303,0.9165142243566237 -23304,0.8838769989921637 -23305,0.07534184973475988 -23306,0.32129086823001174 -23307,0.7305989255292616 -23308,0.6106858727172639 -23309,0.3544226112764458 -23310,0.0032413694778363755 -23311,0.795855536447634 -23312,0.009927408708176766 -23313,0.8285347870610011 -23314,0.2687466483282156 -23315,0.7749376441513882 -23316,0.12092525740545179 -23317,0.9074395757483363 -23318,0.8209462490944589 -23319,0.5372268779528708 -23320,0.07156775625591127 -23321,0.507858724069077 -23322,0.3856245436797753 -23323,0.893819652762872 -23324,0.1790823946157729 -23325,0.677723872975496 -23326,0.5178420452663858 -23327,0.5823071065609631 -23328,0.2349359608747349 -23329,0.8684803465168415 -23330,0.9162688349631162 -23331,0.5920762802385072 -23332,0.09482971878805502 -23333,0.09430296927466542 -23334,0.8137926705214155 -23335,0.641139469602171 -23336,0.31970159132679665 -23337,0.842001315650698 -23338,0.9679064768675132 -23339,0.17238014729178786 -23340,0.1229746531491932 -23341,0.4744211629385221 -23342,0.11201033028455054 -23343,0.28575060392539664 -23344,0.4467365827366435 -23345,0.3462651684042807 -23346,0.2374805786112224 -23347,0.8030430670996438 -23348,0.7939394795105579 -23349,0.21849100853169523 -23350,0.4498910271741293 -23351,0.048606095862937626 -23352,0.9443904189936528 -23353,0.7629622569986465 -23354,0.4672102059334039 -23355,0.37508810473459264 -23356,0.8349940500064257 -23357,0.35541498506240654 -23358,0.6754549049809897 -23359,0.49581239989911474 -23360,0.14433360530417072 -23361,0.07232921070835441 -23362,0.13005015321016478 -23363,0.6100656906714101 -23364,0.33976867996841476 -23365,0.8630923712946511 -23366,0.37274176817155724 -23367,0.5188644705535673 -23368,0.7740381709306619 -23369,0.5901476305420351 -23370,0.746741501451138 -23371,0.8158765194277541 -23372,0.9599308484784076 -23373,0.019986040357349633 -23374,0.6481803816380756 -23375,0.6390846911363018 -23376,0.16668477821244965 -23377,0.585106494826923 -23378,0.9042408210575451 -23379,0.494236142281572 -23380,0.666493986514879 -23381,0.6708441169623656 -23382,0.19767779873166613 -23383,0.2792936551830001 -23384,0.5567234031233632 -23385,0.3941330356818862 -23386,0.4436249484612901 -23387,0.6718913509395728 -23388,0.529135393152611 -23389,0.047521763632331404 -23390,0.14321136001197732 -23391,0.658003894343886 -23392,0.617646659226184 -23393,0.8134424812879508 -23394,0.7621168594502031 -23395,0.22077567291656386 -23396,0.015923728467628795 -23397,0.5158656530863586 -23398,0.33627272230582306 -23399,0.7200398257997593 -23400,0.792333834609244 -23401,0.3899736673661556 -23402,0.8569052903009862 -23403,0.28046614426583694 -23404,0.8085098796535685 -23405,0.43320164679164264 -23406,0.37790799053151714 -23407,0.6585878141210566 -23408,0.019376075396616343 -23409,0.9264214641378695 -23410,0.9678276567490565 -23411,0.036188382578865474 -23412,0.5287147640510402 -23413,0.8022459930546629 -23414,0.3315339094848384 -23415,0.7761074972173088 -23416,0.5624475754930442 -23417,0.007788680231959222 -23418,0.2165456684327529 -23419,0.31354518987394653 -23420,0.3242854569888548 -23421,0.8460764939593828 -23422,0.2382376107872355 -23423,0.4985654193699943 -23424,0.5771897928623497 -23425,0.8310429942782098 -23426,0.019364502451405974 -23427,0.3610690527456243 -23428,0.62600259316162 -23429,0.44825347711521846 -23430,0.833951510374537 -23431,0.9048458697848115 -23432,0.3329020464677662 -23433,0.03276001808237239 -23434,0.8068396436063558 -23435,0.7543625929646 -23436,0.11315763461212425 -23437,0.91986275460741 -23438,0.21925820895958004 -23439,0.06011721709050566 -23440,0.2523988074399274 -23441,0.48433910228942834 -23442,0.06678195256493025 -23443,0.538755222379344 -23444,0.800878418907763 -23445,0.2904874395903273 -23446,0.9186006482538482 -23447,0.5319897067383536 -23448,0.6214201335201915 -23449,0.17642733096345709 -23450,0.12328499985604024 -23451,0.7146971497464238 -23452,0.10691199969639809 -23453,0.2833948232908936 -23454,0.5312299664643092 -23455,0.27342493167745896 -23456,0.11901648263830944 -23457,0.6880693020123636 -23458,0.062933973841655 -23459,0.6110945330704395 -23460,0.6812046659249985 -23461,0.028764876492403446 -23462,0.4919530199490726 -23463,0.39518855214430393 -23464,0.5961740421571173 -23465,0.2627524625261749 -23466,0.14010259755802468 -23467,0.731174603245128 -23468,0.3835865849568323 -23469,0.7679707830241027 -23470,0.408548497834202 -23471,0.24661558796606575 -23472,0.3693637238551414 -23473,0.6876809718185246 -23474,0.3220630459467049 -23475,0.20092727305396418 -23476,0.3174147162283042 -23477,0.5743265973057898 -23478,0.2847318338076329 -23479,0.7970636835646701 -23480,0.16104503038551388 -23481,0.7686991081881954 -23482,0.5231096592132742 -23483,0.2074760509392094 -23484,0.9933042745343095 -23485,0.36703926308820967 -23486,0.5723980254122191 -23487,0.8100006547745995 -23488,0.155913553431825 -23489,0.45415069893839466 -23490,0.35491271183719986 -23491,0.5363319226371266 -23492,0.6906414417827162 -23493,0.6614541811442707 -23494,0.5577000198262684 -23495,0.4577071122260482 -23496,0.5212196412560364 -23497,0.16834539761522427 -23498,0.2920529912324804 -23499,0.6898261515615239 -23500,0.7864032531009933 -23501,0.41839757430794366 -23502,0.7782759046676724 -23503,0.9049249080480725 -23504,0.03757669766572469 -23505,0.6594240082048358 -23506,0.9580418762124493 -23507,0.7024296734503214 -23508,0.060455214577856076 -23509,0.18688961405593785 -23510,0.3818150671894074 -23511,0.962831487334363 -23512,0.24808253390437407 -23513,0.16211847089744347 -23514,0.854086303239707 -23515,0.9962273347199332 -23516,0.35755386136014666 -23517,0.8918369751488227 -23518,0.5168861531007871 -23519,0.27548013806605764 -23520,0.23805291250515093 -23521,0.2555491982785161 -23522,0.591236880288238 -23523,0.7124436137855217 -23524,0.5585805077423437 -23525,0.030131050524674685 -23526,0.5364340477435037 -23527,0.9292456004088403 -23528,0.13610948075357365 -23529,0.7509377205395958 -23530,0.25666433046325565 -23531,0.903832201444177 -23532,0.3042811729357269 -23533,0.13589596685617988 -23534,0.5648625726518368 -23535,0.6834650619411695 -23536,0.12604052540888444 -23537,0.797565939348266 -23538,0.551172347814608 -23539,0.6040493429476378 -23540,0.024421291814427648 -23541,0.9949898257069715 -23542,0.018125361894991587 -23543,0.9158115130534231 -23544,0.6242118982951829 -23545,0.1046627179368338 -23546,0.9197648999182486 -23547,0.0498896599565517 -23548,0.5409296741731899 -23549,0.6457458303943494 -23550,0.9653288495418499 -23551,0.07018975816612016 -23552,0.42934304332553697 -23553,0.6173341268375485 -23554,0.6482340352530183 -23555,0.6491940438798885 -23556,0.16722904628594426 -23557,0.20202927005520765 -23558,0.12094288011232457 -23559,0.5720687902735111 -23560,0.1224868642545649 -23561,0.8516878540114766 -23562,0.8503554303972113 -23563,0.5876738821662054 -23564,0.8430932784174123 -23565,0.48132965033104735 -23566,0.5671269651203666 -23567,0.7458919551074179 -23568,0.4984071373552472 -23569,0.36349725517175235 -23570,0.5387566073599434 -23571,0.13453536932671573 -23572,0.15395611183951396 -23573,0.64203720802704 -23574,0.9305238542954287 -23575,0.08039304079601595 -23576,0.9002381228979537 -23577,0.21715988636066375 -23578,0.5610915459226333 -23579,0.7558410295655916 -23580,0.4747955065790197 -23581,0.7603055487514779 -23582,0.9612508246962456 -23583,0.4881785298911918 -23584,0.387243227314656 -23585,0.26059502276098145 -23586,0.6666861696394395 -23587,0.531652870177542 -23588,0.6192166243195053 -23589,0.10482914997518156 -23590,0.18683574276181592 -23591,0.6386699828314462 -23592,0.28442880350905775 -23593,0.9107574380790947 -23594,0.5064721091970051 -23595,0.6893027046373098 -23596,0.6738727657203765 -23597,0.37938922575088696 -23598,0.32618770995030444 -23599,0.21105156188980145 -23600,0.1342502220415498 -23601,0.8873663764626019 -23602,0.5929197970052877 -23603,0.7082821173276852 -23604,0.519622870672161 -23605,0.22279499041986295 -23606,0.9275705884701639 -23607,0.9125647849615629 -23608,0.18314545866178367 -23609,0.02963473020876739 -23610,0.4328528642557682 -23611,0.3805079143085264 -23612,0.7654471788938719 -23613,0.07850974774364228 -23614,0.18731179396992248 -23615,0.06195648758264849 -23616,0.7232861525203742 -23617,0.029226773756104385 -23618,0.6785406571914345 -23619,0.8835800476363566 -23620,0.0734848044404659 -23621,0.753649060826505 -23622,0.08521257956241868 -23623,0.9031771050621529 -23624,0.5496188143041895 -23625,0.054235715300979814 -23626,0.9201946317291502 -23627,0.6860770679667335 -23628,0.7706497519311073 -23629,0.6738854332185789 -23630,0.41042624426118346 -23631,0.978949013565378 -23632,0.10205854709920403 -23633,0.10780044633747643 -23634,0.11913391538225115 -23635,0.15899254707507393 -23636,0.20657586284337337 -23637,0.2159172375050432 -23638,0.6963015733548357 -23639,0.4950271661922345 -23640,0.9065127024747176 -23641,0.9426964518013969 -23642,0.7749837013748899 -23643,0.8177658830052995 -23644,0.8837714750818808 -23645,0.5293243333064311 -23646,0.5093169510408948 -23647,0.9112286673258927 -23648,0.7767716305584109 -23649,0.9095744995929372 -23650,0.11691999711437151 -23651,0.8621003593087344 -23652,0.9916041718803197 -23653,0.8941906323332406 -23654,0.36109484374849476 -23655,0.3547381280870503 -23656,0.15475993492080897 -23657,0.45664095830247964 -23658,0.018226617560426095 -23659,0.02077252141313568 -23660,0.2015777293490385 -23661,0.2985845279378351 -23662,0.8751450864529665 -23663,0.1446094203947771 -23664,0.035280462523427536 -23665,0.22788840544495736 -23666,0.46551195348442254 -23667,0.43683958602097284 -23668,0.5429012409533884 -23669,0.26032919527400156 -23670,0.6843073264752717 -23671,0.7654188350007896 -23672,0.9260211746419524 -23673,0.1122255248530305 -23674,0.9478033161337263 -23675,0.2642371767461922 -23676,0.5148937487434508 -23677,0.4827453361090178 -23678,0.5070421771606203 -23679,0.027286040173795656 -23680,0.07608501936823642 -23681,0.7628604370880406 -23682,0.19465345837156067 -23683,0.2864050080432752 -23684,0.8140182149324319 -23685,0.8683546951233977 -23686,0.5854364009310664 -23687,0.10255326948684074 -23688,0.8968388787272952 -23689,0.6580989105240447 -23690,0.4089013932997142 -23691,0.40575766449804285 -23692,0.05645135830524006 -23693,0.5299679072259238 -23694,0.7370439050543285 -23695,0.36119277181110077 -23696,0.4502426253236924 -23697,0.8332427908610933 -23698,0.5222596037384328 -23699,0.2797752733465698 -23700,0.23405580362295397 -23701,0.9430739355202318 -23702,0.7802247955715108 -23703,0.23345980761840424 -23704,0.26744893876093134 -23705,0.41606792360777256 -23706,0.10067922047183309 -23707,0.1059258364077601 -23708,0.6582110515957826 -23709,0.4464842057716939 -23710,0.20363894058350607 -23711,0.38587191982977376 -23712,0.03466173144623752 -23713,0.6141603672740187 -23714,0.6119988785522051 -23715,0.10650611668979804 -23716,0.9080446381684343 -23717,0.6373698019670867 -23718,0.25675537867544096 -23719,0.44965591546678285 -23720,0.7666503654884075 -23721,0.7314705287933055 -23722,0.9067858914574097 -23723,0.8110972576139824 -23724,0.0734947222072595 -23725,0.12458403228193682 -23726,0.766987951232801 -23727,0.1264687274847952 -23728,0.9916401433190982 -23729,0.5474550437082282 -23730,0.6830532069514188 -23731,0.07133333501595707 -23732,0.25194456163395107 -23733,0.5436512495688578 -23734,0.5904716631785081 -23735,0.9628457283269721 -23736,0.5386622386526122 -23737,0.21434543255204497 -23738,0.6840237228691335 -23739,0.5404120331943421 -23740,0.8162534139582495 -23741,0.0587791119070189 -23742,0.7451501741206024 -23743,0.5359820977149451 -23744,0.19483390672852463 -23745,0.7599860757172223 -23746,0.10268256541089504 -23747,0.8237550201857975 -23748,0.23564461681038273 -23749,0.2950013972127278 -23750,0.2553448808500097 -23751,0.34433698628789045 -23752,0.770921400192526 -23753,0.6908507164015536 -23754,0.05783606594021873 -23755,0.3504827594132328 -23756,0.7630681766084462 -23757,0.9608399684168286 -23758,0.24171074362992162 -23759,0.6717181382768957 -23760,0.8757086160425948 -23761,0.47975986585581043 -23762,0.770858633902604 -23763,0.24757494535747093 -23764,0.5698960200346728 -23765,0.6887557613518579 -23766,0.34659180664586653 -23767,0.8296419978675261 -23768,0.8273235202890297 -23769,0.005649858405996966 -23770,0.9591052881228984 -23771,0.20949627927134218 -23772,0.24484385408612674 -23773,0.7581380439453734 -23774,0.9269703971608059 -23775,0.035016576839664526 -23776,0.17347946496785127 -23777,0.39721407212567583 -23778,0.14828492454851405 -23779,0.46217562275189983 -23780,0.7832153933210981 -23781,0.1685583682559385 -23782,0.36320916605205833 -23783,0.08895641248284769 -23784,0.7809819504255376 -23785,0.25079534279148685 -23786,0.512611468286331 -23787,0.5235299947051423 -23788,0.5637630965142038 -23789,0.056202617863579274 -23790,0.11068632027204717 -23791,0.8630420752486051 -23792,0.09582776468423915 -23793,0.08577367604060337 -23794,0.8934995798177655 -23795,0.9081486232047579 -23796,0.8599665710740658 -23797,0.6565523920284682 -23798,0.8977552899578453 -23799,0.711658616607807 -23800,0.06231082732788451 -23801,0.9062899878107938 -23802,0.4826796022664829 -23803,0.5062778397286997 -23804,0.8521302094968151 -23805,0.24548352285056518 -23806,0.953988929218009 -23807,0.5838279207456416 -23808,0.196615187421469 -23809,0.6875432863231252 -23810,0.6342137393312134 -23811,0.8459010432411044 -23812,0.928555304968841 -23813,0.29008782694918367 -23814,0.6187212760542689 -23815,0.08215527447733773 -23816,0.304561109046783 -23817,0.8394605307269946 -23818,0.7349577479763565 -23819,0.17048249087104395 -23820,0.342855483794115 -23821,0.8574278194871982 -23822,0.602235932882213 -23823,0.0505976215431283 -23824,0.5186371325920748 -23825,0.9680017246787604 -23826,0.4962475363123796 -23827,0.13285779887277593 -23828,0.22299760753963682 -23829,0.3404675122663158 -23830,0.818278898435265 -23831,0.16185203042121232 -23832,0.10008582454028658 -23833,0.6119822290478487 -23834,0.9738629959597656 -23835,0.9702624134307268 -23836,0.12608986459721716 -23837,0.5469308771996741 -23838,0.4479638197094954 -23839,0.3748211866576887 -23840,0.27604918636312115 -23841,0.12430163004584982 -23842,0.9813037075154571 -23843,0.11321729774820743 -23844,0.4573645461399972 -23845,0.5831964092301106 -23846,0.048184431528303096 -23847,0.27311528835710475 -23848,0.2046043660994763 -23849,0.8569984683458814 -23850,0.004842225798582733 -23851,0.40083044371683496 -23852,0.26252670851162574 -23853,0.22514315697606546 -23854,0.06465711614224812 -23855,0.2581423128492726 -23856,0.8221550570805366 -23857,0.07619420619069017 -23858,0.9149819705850971 -23859,0.6175316198180365 -23860,0.49796050892435706 -23861,0.43648330342414854 -23862,0.9868425006570727 -23863,0.47400354063752037 -23864,0.6794417749357066 -23865,0.5700225260103373 -23866,0.6810793127369572 -23867,0.9591683566915288 -23868,0.7032386923222164 -23869,0.65536455665731 -23870,0.37639289519626573 -23871,0.21491496006921162 -23872,0.834911034984299 -23873,0.12613980824629067 -23874,0.42398779859941005 -23875,0.4877517657507602 -23876,0.10373941841493439 -23877,0.10330902510046147 -23878,0.3973287649778583 -23879,0.4087549720200495 -23880,0.7404612218967335 -23881,0.4847140507541867 -23882,0.7658592059199422 -23883,0.6821749666491354 -23884,0.6643573546636439 -23885,0.7552317320299363 -23886,0.6218082231845222 -23887,0.2669352878179899 -23888,0.9233094078637443 -23889,0.7056128984387129 -23890,0.34313905247593945 -23891,0.07313941403992752 -23892,0.7731642398352218 -23893,0.5985212482537383 -23894,0.6591883291807243 -23895,0.41864231816202857 -23896,0.7155900088938301 -23897,0.11986268248687748 -23898,0.005413132091639294 -23899,0.7452166822249825 -23900,0.17538858693631731 -23901,0.4408621677920196 -23902,0.6481274573970521 -23903,0.9041691744993952 -23904,0.7410340139365135 -23905,0.4342306437744644 -23906,0.9573158720828898 -23907,0.6192299435391053 -23908,0.9388210828087147 -23909,0.37236962582391697 -23910,0.8172080882583787 -23911,0.8524852405873131 -23912,0.41146571459328274 -23913,0.27132057836290246 -23914,0.1060597999972771 -23915,0.23443555279937733 -23916,0.5177600037316502 -23917,0.787539609169689 -23918,0.5945729050886294 -23919,0.2952682831016328 -23920,0.4252979320611764 -23921,0.3010937126720097 -23922,0.9399129892638011 -23923,0.3527288620886334 -23924,0.8184165779653236 -23925,0.7608650406715766 -23926,0.8734863207590502 -23927,0.5961349172110877 -23928,0.521177849906445 -23929,0.8377577703881574 -23930,0.4344472065504835 -23931,0.6478707726274525 -23932,0.17161169292473033 -23933,0.17690838675032428 -23934,0.07325674616981515 -23935,0.8820826330163805 -23936,0.8070494040306032 -23937,0.04078047171168098 -23938,0.13785655992494905 -23939,0.5758987242508784 -23940,0.28073123564912206 -23941,0.7752800829564452 -23942,0.1794293415224032 -23943,0.785500759045263 -23944,0.9473369494849214 -23945,0.5240864053598404 -23946,0.8135390016424073 -23947,0.12424120389537352 -23948,0.8434051283443794 -23949,0.05049383714018241 -23950,0.7257729846783695 -23951,0.4281673555655121 -23952,0.6862054265300788 -23953,0.41919894874753416 -23954,0.5544927993647116 -23955,0.7963159243247548 -23956,0.394397483558948 -23957,0.3330779012906755 -23958,0.7054542515798781 -23959,0.0780925179258648 -23960,0.07944138164092296 -23961,0.12316501964978743 -23962,0.24650891754275095 -23963,0.7746855135529214 -23964,0.6781895158154579 -23965,0.47738076627842196 -23966,0.5840809414042072 -23967,0.04491835670546329 -23968,0.8974337230625212 -23969,0.6093114758624784 -23970,0.9349142974738256 -23971,0.23724080208779974 -23972,0.40169165042977184 -23973,0.5949873196598535 -23974,0.60968939796942 -23975,0.5362959167626085 -23976,0.4336910871911108 -23977,0.6244758790580086 -23978,0.19491201092283617 -23979,0.10648186645827284 -23980,0.09260053209071228 -23981,0.7071777675866907 -23982,0.8071515577547259 -23983,0.0059473844293601585 -23984,0.143440157410627 -23985,0.6644904751933457 -23986,0.6180668259659097 -23987,0.12043078912993066 -23988,0.900911101628831 -23989,0.5323294678190214 -23990,0.3581294394925352 -23991,0.8952356235695831 -23992,0.7675540658965855 -23993,0.24279314618650172 -23994,0.33935675970086665 -23995,0.5972846186239713 -23996,0.8453724998393355 -23997,0.05912057661968617 -23998,0.8722495856904208 -23999,0.6886687442389958 -24000,0.5233113060411336 -24001,0.10866235149434955 -24002,0.5376850878729882 -24003,0.852310880087927 -24004,0.778769975313932 -24005,0.14019933563883968 -24006,0.3634987087955186 -24007,0.9367570381213846 -24008,0.6086605384627013 -24009,0.4323433041875847 -24010,0.7980596546919254 -24011,0.6540290355000862 -24012,0.880347960670909 -24013,0.967790319129464 -24014,0.1551524684901041 -24015,0.8996621360013024 -24016,0.6794322297726572 -24017,0.9260298817203171 -24018,0.26492861685582103 -24019,0.39060314414554886 -24020,0.8517969161198223 -24021,0.9967669792944451 -24022,0.00286705411745225 -24023,0.5188159601141327 -24024,0.719853525467493 -24025,0.4951957947620439 -24026,0.7745276326473127 -24027,0.4882278056880113 -24028,0.9333692124260211 -24029,0.030217385426510313 -24030,0.36603196090442214 -24031,0.28731370097907094 -24032,0.20928064912564504 -24033,0.7444295440534234 -24034,0.6852608796918507 -24035,0.5734905481167935 -24036,0.07147381520794449 -24037,0.7407234483337445 -24038,0.630677483653292 -24039,0.899150291664754 -24040,0.04365015763013469 -24041,0.741695045413809 -24042,0.5974365741701715 -24043,0.14080792997351765 -24044,0.03605320723241512 -24045,0.8754948951737662 -24046,0.7071300139981532 -24047,0.18910709219780253 -24048,0.43880915072585625 -24049,0.16430455194747784 -24050,0.08599031751364195 -24051,0.8468675013334768 -24052,0.8754089950061558 -24053,0.2873479065461707 -24054,0.042702615900277796 -24055,0.77947589729927 -24056,0.07835100764492775 -24057,0.5262830009214237 -24058,0.4388020250548915 -24059,0.12944103105212645 -24060,0.00070951623296589 -24061,0.9233369266608489 -24062,0.22415685282003284 -24063,0.6959648862548966 -24064,0.1791069553359823 -24065,0.4542793974249302 -24066,0.3500585470463906 -24067,0.3720432109119609 -24068,0.8873229229128161 -24069,0.6370233315520045 -24070,0.2612931114747812 -24071,0.9535101856129511 -24072,0.12872951640396868 -24073,0.3494976992705211 -24074,0.07940921462699924 -24075,0.013901531608153994 -24076,0.1586994392416856 -24077,0.8188375810045347 -24078,0.5707087280051315 -24079,0.32742714856003174 -24080,0.8739785243642447 -24081,0.25496293752595367 -24082,0.5119868023401065 -24083,0.190035948557443 -24084,0.2890197086062527 -24085,0.20837159328778176 -24086,0.6904117518119514 -24087,0.8203812167317357 -24088,0.991140201417332 -24089,0.7958078404028848 -24090,0.2295037509938197 -24091,0.8892230687092646 -24092,0.8184739452629065 -24093,0.4481915641416161 -24094,0.0676569615566025 -24095,0.45266301789673713 -24096,0.6420637823080922 -24097,0.07642582133500986 -24098,0.9323027090796498 -24099,0.4844257404686798 -24100,0.9760329648956029 -24101,0.15988380685811598 -24102,0.3989951301406697 -24103,0.013862280326855991 -24104,0.9600149722992397 -24105,0.8914302955202494 -24106,0.9836786741936812 -24107,0.3234274898176269 -24108,0.5317201929074165 -24109,0.6549518293988208 -24110,0.7161004129396084 -24111,0.6002529371832054 -24112,0.8784716227897799 -24113,0.39151410761593297 -24114,0.7258093686609968 -24115,0.765941160846867 -24116,0.19677592914314257 -24117,0.9520036012293787 -24118,0.9572050184928009 -24119,0.5001243948437083 -24120,0.40455168061228375 -24121,0.8730500727688291 -24122,0.8055394814781908 -24123,0.6700795323419876 -24124,0.33009410306110065 -24125,0.648601150554141 -24126,0.7809313629738188 -24127,0.21610242300369698 -24128,0.4581966395128674 -24129,0.7107454534135305 -24130,0.22633548339620035 -24131,0.15451723121660976 -24132,0.47441593769099955 -24133,0.7163772585463998 -24134,0.2819974604272927 -24135,0.46685621520342213 -24136,0.5306474937368425 -24137,0.2477742469475368 -24138,0.11435602135033562 -24139,0.2986890758716291 -24140,0.15247106675319178 -24141,0.2597469120755055 -24142,0.912318333700911 -24143,0.1936611886458779 -24144,0.8936661277177236 -24145,0.6358128310562731 -24146,0.030645149874726108 -24147,0.7059769010209941 -24148,0.6533689897450531 -24149,0.05979420486853515 -24150,0.5767456920927195 -24151,0.2097333305059883 -24152,0.6873713240322011 -24153,0.1450504725866989 -24154,0.1074383701231072 -24155,0.7815778858701539 -24156,0.0898727946909651 -24157,0.007858635634909406 -24158,0.20767706725742519 -24159,0.006083425569151979 -24160,0.9398633818328308 -24161,0.3161441110298988 -24162,0.6838049620395004 -24163,0.578324607778489 -24164,0.8822026011593502 -24165,0.1010513010503028 -24166,0.851149505611624 -24167,0.010736168280370606 -24168,0.9830596007335711 -24169,0.14122286384359561 -24170,0.04227105985445334 -24171,0.820048146483542 -24172,0.0533564431077751 -24173,0.6862361702412346 -24174,0.47475244006869677 -24175,0.3038882905428315 -24176,0.6202604001559863 -24177,0.44500919210086964 -24178,0.7625045275325499 -24179,0.6402590822932519 -24180,0.9549324948528054 -24181,0.38099065386427067 -24182,0.30748348224667954 -24183,0.7364963171472954 -24184,0.6209816530233181 -24185,0.1779241148937244 -24186,0.9646197142420325 -24187,0.40735230457146565 -24188,0.09100297349330533 -24189,0.24054570708855116 -24190,0.23371213948286695 -24191,0.5324232315993298 -24192,0.7478643175877776 -24193,0.028489832321545783 -24194,0.6167274412731018 -24195,0.11897213554276553 -24196,0.4196671235582433 -24197,0.5310931188392799 -24198,0.26914836399912145 -24199,0.779513393277152 -24200,0.04261026632836906 -24201,0.989070175974821 -24202,0.5986766316692811 -24203,0.7981582393732747 -24204,0.7888857840034389 -24205,0.0822898616285006 -24206,0.8986180459822283 -24207,0.537590517461701 -24208,0.8374988615621174 -24209,0.29440676255880394 -24210,0.9213544595317036 -24211,0.45792867875684773 -24212,0.5403557885899564 -24213,0.45453372146848725 -24214,0.016582125818773497 -24215,0.6044017824554473 -24216,0.7164061429161194 -24217,0.19997811698634527 -24218,0.8894564981853239 -24219,0.19629262831109362 -24220,0.23524903587544033 -24221,0.7751454837451429 -24222,0.16746924948160247 -24223,0.39607054805006014 -24224,0.710502140864205 -24225,0.9633422756278414 -24226,0.8211201968070541 -24227,0.10367349259928027 -24228,0.8003027322651535 -24229,0.7869371262035181 -24230,0.4545071868871686 -24231,0.9435703069076816 -24232,0.8415446719821604 -24233,0.0010848493128839953 -24234,0.3921356973021264 -24235,0.43761196626080523 -24236,0.19021727595997673 -24237,0.318934213075748 -24238,0.94896926750578 -24239,0.7051082624656164 -24240,0.7803955094737152 -24241,0.9600038251633172 -24242,0.4836838432922589 -24243,0.8260949859640488 -24244,0.4358655240798708 -24245,0.43466228883673996 -24246,0.5205589607641667 -24247,0.20018409588269848 -24248,0.30714787403852095 -24249,0.8349874079123553 -24250,0.5128156161506179 -24251,0.4937311893727321 -24252,0.3322386499940466 -24253,0.9069345922870851 -24254,0.2868103003914948 -24255,0.18958704124589043 -24256,0.01650186575489143 -24257,0.4066835743241072 -24258,0.37401590047131017 -24259,0.9233063788423584 -24260,0.6493720165745811 -24261,0.5850622933051094 -24262,0.2715033315038161 -24263,0.7709309632031756 -24264,0.848921614787872 -24265,0.5872314253511063 -24266,0.4310195084179086 -24267,0.5215097913102628 -24268,0.4265282573741225 -24269,0.10642640379196089 -24270,0.9274652287464779 -24271,0.7341930417684832 -24272,0.1583426410607942 -24273,0.1290943916798566 -24274,0.17861402736465737 -24275,0.8961836047836611 -24276,0.2681606353226933 -24277,0.16970163880724998 -24278,0.719803635992709 -24279,0.08568056911896327 -24280,0.39174175183934734 -24281,0.19616724584416456 -24282,0.5531370772984726 -24283,0.9712350517200834 -24284,0.74467760964649 -24285,0.2805171945717736 -24286,0.03668740032159257 -24287,0.23127573381240296 -24288,0.7503417747230078 -24289,0.8583801300306471 -24290,0.25780114361673245 -24291,0.9013731561997438 -24292,0.0964562066237028 -24293,0.011693711888893343 -24294,0.9497120591859969 -24295,0.8242106535272731 -24296,0.7910732333078591 -24297,0.943748036690968 -24298,0.2752815143227435 -24299,0.29506528390661624 -24300,0.20539319180655158 -24301,0.8658471119523429 -24302,0.6338828015810241 -24303,0.7743444402351412 -24304,0.06770887439929218 -24305,0.8719308189714556 -24306,0.2984181886503521 -24307,0.038454334473303264 -24308,0.5152798086434015 -24309,0.24730222778935596 -24310,0.3491114270849345 -24311,0.9332062760616329 -24312,0.5709524817717474 -24313,0.13874591814006687 -24314,0.7504300958299145 -24315,0.6901727691472447 -24316,0.41352231219171875 -24317,0.5913441268545282 -24318,0.9959380846520678 -24319,0.2954851012699361 -24320,0.021845466163930016 -24321,0.9689046490876405 -24322,0.5903833794168963 -24323,0.9119921631091067 -24324,0.6984188069014327 -24325,0.6332259899267733 -24326,0.8567845432378765 -24327,0.18357859451023262 -24328,0.49459340572173005 -24329,0.05074441534447127 -24330,0.9513379437710383 -24331,0.9238687112221249 -24332,0.4144290171991101 -24333,0.9670822770445939 -24334,0.8992910335961445 -24335,0.041778569835214996 -24336,0.9489373241963319 -24337,0.04404965442891773 -24338,0.5591401926324976 -24339,0.6893268153739966 -24340,0.6506057606108507 -24341,0.6797877284816033 -24342,0.009031679297349715 -24343,0.825119563871064 -24344,0.9696827336771953 -24345,0.7204503569087112 -24346,0.2189950294962305 -24347,0.17444617408200835 -24348,0.971307034438916 -24349,0.798752756711002 -24350,0.7312661687540513 -24351,0.17497776926425557 -24352,0.16294161842836064 -24353,0.9574457900480255 -24354,0.1700822432095408 -24355,0.20416021394727168 -24356,0.19479574379772624 -24357,0.04919875161206755 -24358,0.6232684448626057 -24359,0.6229640580621679 -24360,0.269514709667934 -24361,0.2571090696456896 -24362,0.1514621923086289 -24363,0.7301393312333279 -24364,0.6557160757477715 -24365,0.6357741434316599 -24366,0.8485843418009225 -24367,0.5838896853219817 -24368,0.11441171655529714 -24369,0.9646065723952779 -24370,0.5106062755009929 -24371,0.2605346128053755 -24372,0.46603077956635297 -24373,0.6381410469094367 -24374,0.23166455971231137 -24375,0.4949913338085158 -24376,0.5689413637078765 -24377,0.556451735208705 -24378,0.4890106274167191 -24379,0.7710917963358166 -24380,0.6278549739161398 -24381,0.014319866329309705 -24382,0.8565298445171036 -24383,0.6513178267978612 -24384,0.912133191200872 -24385,0.03216904711827473 -24386,0.5194437772987796 -24387,0.9403232848109248 -24388,0.967135915739597 -24389,0.21713223307218477 -24390,0.965340600250232 -24391,0.9594464948069064 -24392,0.8965266889657936 -24393,0.7375642066704947 -24394,0.6020220751217094 -24395,0.5946286803648441 -24396,0.9706929563175335 -24397,0.06914405799342471 -24398,0.08370897416708734 -24399,0.8734722461342825 -24400,0.52693254275189 -24401,0.12443887670601339 -24402,0.4856877974096333 -24403,0.06785951114039968 -24404,0.9909326222974635 -24405,0.9283284208356508 -24406,0.24404984797308538 -24407,0.16266370317827605 -24408,0.4374100014995467 -24409,0.23273268630435462 -24410,0.26101915104223106 -24411,0.9304475188468007 -24412,0.8358509585077575 -24413,0.12870117916541068 -24414,0.6076252951462645 -24415,0.6834613738162069 -24416,0.5128532843494219 -24417,0.43332056668303476 -24418,0.8709482299175189 -24419,0.5039668342853533 -24420,0.9142854046985802 -24421,0.07966491034725398 -24422,0.18136035165768716 -24423,0.14673890509636023 -24424,0.7323000799244438 -24425,0.09364061417800251 -24426,0.7391456285538267 -24427,0.15564520136010618 -24428,0.5446735870180481 -24429,0.9690381435885642 -24430,0.5325375314872982 -24431,0.6991330395189594 -24432,0.5771937674920882 -24433,0.4603017098916563 -24434,0.5331867135288674 -24435,0.9520301342551811 -24436,0.8893744683828374 -24437,0.07493033049437725 -24438,0.4229869438746515 -24439,0.1072286066724063 -24440,0.9756968591145352 -24441,0.40818658711183153 -24442,0.7684121178312038 -24443,0.16593208851596375 -24444,0.1457908177530386 -24445,0.09355560061176527 -24446,0.37620188016312817 -24447,0.9794569391926072 -24448,0.1926372476713628 -24449,0.44623573618283574 -24450,0.8256553441129438 -24451,0.05190733116175883 -24452,0.7202664482258714 -24453,0.36824768159198573 -24454,0.2735753739984669 -24455,0.8363532883159276 -24456,0.4799001505632553 -24457,0.35333714860853604 -24458,0.5149745758305301 -24459,0.39696266753750875 -24460,0.9091390984911398 -24461,0.05376328888552073 -24462,0.24443079579857396 -24463,0.2427610227402518 -24464,0.7309083804575954 -24465,0.718587262074629 -24466,0.22117487230117283 -24467,0.27080588355140645 -24468,0.8016336530968736 -24469,0.14169705628637952 -24470,0.35275944935847814 -24471,0.2128307358879329 -24472,0.029053462252004114 -24473,0.9290352223719108 -24474,0.34565609311393297 -24475,0.8143954628117592 -24476,0.9432452320826215 -24477,0.8036601439120887 -24478,0.518397753440842 -24479,0.37193208597414507 -24480,0.9704554088286638 -24481,0.48804420502460966 -24482,0.28656306211678106 -24483,0.4714503580023802 -24484,0.6701244127185357 -24485,0.19913746343826955 -24486,0.9972772995278983 -24487,0.48220336484229975 -24488,0.3405064701685727 -24489,0.5857176528030518 -24490,0.0419507584095129 -24491,0.057336465947593895 -24492,0.9729032110204668 -24493,0.06979527583282918 -24494,0.15640932839221766 -24495,0.8661754268806532 -24496,0.6547028806647691 -24497,0.8679473305021215 -24498,0.2398782365751818 -24499,0.44316575809009073 -24500,0.7376854546379329 -24501,0.2665502445505312 -24502,0.311263538699702 -24503,0.5300556080373472 -24504,0.7806950200343408 -24505,0.5893336599994231 -24506,0.019843157879754214 -24507,0.07457557722737662 -24508,0.6206946779053276 -24509,0.1934581358798697 -24510,0.8173704660798633 -24511,0.16873335738444883 -24512,0.5790834664545841 -24513,0.0837770166237739 -24514,0.9881644890471015 -24515,0.5490554792039959 -24516,0.916446618488775 -24517,0.29330327176047644 -24518,0.34836386088478044 -24519,0.3717634676258733 -24520,0.9117611351906565 -24521,0.7510527771496485 -24522,0.014162686045951944 -24523,0.427036144634684 -24524,0.6920580174556369 -24525,0.338438417885089 -24526,0.15903627035834667 -24527,0.5012169020900231 -24528,0.9931421689522835 -24529,0.28538851998924697 -24530,0.7103851101524616 -24531,0.07333705173450766 -24532,0.9284969571795951 -24533,0.7213270763079759 -24534,0.004557931057719622 -24535,0.17300742964005822 -24536,0.16126585593512333 -24537,0.9919600408615789 -24538,0.014729169778667561 -24539,0.3423416489192641 -24540,0.9735256291563885 -24541,0.33286253623034534 -24542,0.3113618750381798 -24543,0.3163653162694623 -24544,0.797681156712316 -24545,0.6017855460068445 -24546,0.6400875081329593 -24547,0.3043648554652335 -24548,0.5732075507584196 -24549,0.07434989828789196 -24550,0.27805216460529514 -24551,0.19163592402347518 -24552,0.5392571783697737 -24553,0.5944610987109095 -24554,0.8933308338467432 -24555,0.6811848369161894 -24556,0.9587521733183705 -24557,0.5473374388796578 -24558,0.38734511490854295 -24559,0.6000912152053626 -24560,0.2088458748691936 -24561,0.4420148720292506 -24562,0.2563945653051318 -24563,0.2981032383126083 -24564,0.5485470083594932 -24565,0.49298058697209535 -24566,0.9273431430493657 -24567,0.35468451368223974 -24568,0.08349383272479072 -24569,0.7580265581239718 -24570,0.4230227092221003 -24571,0.7174288131364319 -24572,0.05045358547889245 -24573,0.5611874511926854 -24574,0.04666151663792706 -24575,0.4138562637828307 -24576,0.8106074535930285 -24577,0.7623573536136208 -24578,0.42239795382340906 -24579,0.4728446404491303 -24580,0.4388491614871638 -24581,0.41498545495534167 -24582,0.8985063199019364 -24583,0.8732840971705681 -24584,0.9462890659325487 -24585,0.4930908414789592 -24586,0.5752278491797399 -24587,0.0031146150100413994 -24588,0.7273236202683299 -24589,0.36714499872487205 -24590,0.47035823865086857 -24591,0.1780620102050734 -24592,0.13936415974218608 -24593,0.931219484700098 -24594,0.16147719232183322 -24595,0.8567076958275278 -24596,0.5322562484120569 -24597,0.3053637356974306 -24598,0.612429596142165 -24599,0.24231068203078932 -24600,0.7319576346134481 -24601,0.3002800898861283 -24602,0.925094482101484 -24603,0.021659718601792388 -24604,0.8644396297393185 -24605,0.34672178288449207 -24606,0.3030442291746487 -24607,0.0989097175683672 -24608,0.9854630542187283 -24609,0.483018401041689 -24610,0.23944973563769179 -24611,0.8864522301285124 -24612,0.8359404973515181 -24613,0.26101534091812295 -24614,0.9074877593573303 -24615,0.15016640740557852 -24616,0.6265783382852886 -24617,0.147097875786094 -24618,0.9398445622664037 -24619,0.31949982205459426 -24620,0.622000438633972 -24621,0.5434029491574272 -24622,0.08780760678609578 -24623,0.43961756284201015 -24624,0.15376129033934627 -24625,0.6300042398735668 -24626,0.7548940238200924 -24627,0.2545689776853308 -24628,0.0605946515527892 -24629,0.8537664217124513 -24630,0.22978082117445786 -24631,0.48493169615119225 -24632,0.8075063212330763 -24633,0.9193654196820102 -24634,0.3124364485420015 -24635,0.38071546173163384 -24636,0.34373610655755826 -24637,0.7317701821345078 -24638,0.7389185917594819 -24639,0.15297223556810158 -24640,0.14017534109035545 -24641,0.4200357985165307 -24642,0.9951845293992214 -24643,0.8311509399835891 -24644,0.25160983318618246 -24645,0.4631110188596508 -24646,0.9769426067539595 -24647,0.824270052938413 -24648,0.6535878748927311 -24649,0.004359212237627363 -24650,0.0034408115637774017 -24651,0.5814328118846712 -24652,0.9933117923675459 -24653,0.4749452719427065 -24654,0.4943771749274718 -24655,0.7890077726064011 -24656,0.6394396154796084 -24657,0.7078496009233975 -24658,0.7171810050033255 -24659,0.7905113094340619 -24660,0.45905412656252575 -24661,0.43705900386130736 -24662,0.9315873652769867 -24663,0.6530516348720924 -24664,0.8928331452010262 -24665,0.1467953405070388 -24666,0.614925765481331 -24667,0.28187566888239957 -24668,0.02909007775175987 -24669,0.18530721329428168 -24670,0.11103928063886126 -24671,0.0036352902431109335 -24672,0.7991296534409514 -24673,0.2775500078148331 -24674,0.3630542116649501 -24675,0.46997524639812305 -24676,0.11151451745623309 -24677,0.023409434933885698 -24678,0.18558411880801629 -24679,0.22664239517587859 -24680,0.7985427271599792 -24681,0.04595988033545484 -24682,0.7448867520185674 -24683,0.10083322743346124 -24684,0.7301341561159254 -24685,0.4858348817121567 -24686,0.8734360356275271 -24687,0.15266886020767945 -24688,0.2661716777986176 -24689,0.9738906206706045 -24690,0.09439870004928963 -24691,0.8802260058459851 -24692,0.7685850778270775 -24693,0.9299936434178463 -24694,0.19210592407080418 -24695,0.28134842512464975 -24696,0.676258823340619 -24697,0.3633839909884531 -24698,0.9037741783050394 -24699,0.3593247341318301 -24700,0.7415785961148108 -24701,0.23417311121037943 -24702,0.5391141886759457 -24703,0.19671529532594656 -24704,0.454781254447589 -24705,0.9423494578832656 -24706,0.3879423304082571 -24707,0.7107751522035549 -24708,0.4366572694388797 -24709,0.4465943189495851 -24710,0.5234894370098316 -24711,0.22059196098605705 -24712,0.9791840562793811 -24713,0.0690665270553279 -24714,0.16805523935407862 -24715,0.1491525951512731 -24716,0.7966568692181245 -24717,0.7710917557063623 -24718,0.26293768683763663 -24719,0.27379236809338237 -24720,0.5877505253606523 -24721,0.9866259320762654 -24722,0.8837571254745277 -24723,0.002685145947551093 -24724,0.2600161864947601 -24725,0.2612767128406982 -24726,0.9485344677408128 -24727,0.6927033921023175 -24728,0.5365140371742236 -24729,0.22979217267492869 -24730,0.046071485093768794 -24731,0.8806930357451828 -24732,0.1383414221277024 -24733,0.31080233751375363 -24734,0.7941056605254296 -24735,0.7899648909088616 -24736,0.28271703351039046 -24737,0.6469767032429581 -24738,0.9719817885202415 -24739,0.19257875156366155 -24740,0.48958265641840515 -24741,0.6453285242136594 -24742,0.7728953114661493 -24743,0.8701867142460423 -24744,0.5920079012456355 -24745,0.5306553737338806 -24746,0.2780751741412443 -24747,0.9914463618379745 -24748,0.5247400033083726 -24749,0.589023940919179 -24750,0.39054834273831307 -24751,0.4530335429650898 -24752,0.59364433999352 -24753,0.409222462309873 -24754,0.8270420540203739 -24755,0.09442089381188146 -24756,0.8913417945787463 -24757,0.3172468037147379 -24758,0.33042233784776553 -24759,0.3456298291250338 -24760,0.1486250669999437 -24761,0.28082262366782973 -24762,0.897864835217442 -24763,0.7794204027128849 -24764,0.8577529926529046 -24765,0.9781838472261013 -24766,0.10219745618852027 -24767,0.5620564239493454 -24768,0.3218277973229583 -24769,0.9091734236080257 -24770,0.27686144737918317 -24771,0.47523869558118315 -24772,0.6536744898222663 -24773,0.25135225007951867 -24774,0.5717836728845505 -24775,0.6083082646151119 -24776,0.017861088578661866 -24777,0.4430754915748817 -24778,0.7946995302626175 -24779,0.0495117525266201 -24780,0.7964249066305258 -24781,0.7831923879993999 -24782,0.48644897115234664 -24783,0.09656584425047798 -24784,0.9448339735170969 -24785,0.8832744672249216 -24786,0.49650867784131614 -24787,0.9536326874588722 -24788,0.5579231849874464 -24789,0.690606509486336 -24790,0.21692834372731684 -24791,0.5822486865885941 -24792,0.8871583077682204 -24793,0.3097219984287547 -24794,0.18468445646811005 -24795,0.3354289935697754 -24796,0.48406963015424487 -24797,0.721581540627374 -24798,0.32592244616405885 -24799,0.00925960781095847 -24800,0.14658909605187986 -24801,0.4989410574181268 -24802,0.027101855625744853 -24803,0.2451058683482158 -24804,0.11874138571746995 -24805,0.9917099426539195 -24806,0.4567621902671761 -24807,0.41856912420364145 -24808,0.6945849903561658 -24809,0.7021065643694536 -24810,0.4163418271444337 -24811,0.003068310188557133 -24812,0.9853801358340243 -24813,0.3172415286014292 -24814,0.25994346898265797 -24815,0.049477764233860744 -24816,0.6609200561331102 -24817,0.03674806942809217 -24818,0.4901511421530126 -24819,0.6052238012009316 -24820,0.253264649654799 -24821,0.12703207456726195 -24822,0.4421056659854642 -24823,0.9274600258474358 -24824,0.7061555128184753 -24825,0.5922704193971989 -24826,0.3472756811634513 -24827,0.7636010112553943 -24828,0.9851780734067959 -24829,0.2885884384893386 -24830,0.22976392159857006 -24831,0.9519457789444725 -24832,0.666129704220809 -24833,0.7363552578925823 -24834,0.3830729632330341 -24835,0.0647976757883807 -24836,0.3897607070224991 -24837,0.8603526236263921 -24838,0.6935062124588527 -24839,0.36351098567660634 -24840,0.9557757660042693 -24841,0.9686211963889555 -24842,0.9099997024570662 -24843,0.0007411241422391468 -24844,0.9940829364648396 -24845,0.31313498661229777 -24846,0.9298320505469397 -24847,0.2772985916258317 -24848,0.34686144268008334 -24849,0.705479198017834 -24850,0.739527557150334 -24851,0.3111848373550956 -24852,0.45226990448184035 -24853,0.14919269574409888 -24854,0.2102976415853297 -24855,0.5116315706894805 -24856,0.25021002219217514 -24857,0.6932084475549452 -24858,0.7558749348810264 -24859,0.6951213927035274 -24860,0.9940715160004013 -24861,0.6729586264747536 -24862,0.9940809668635645 -24863,0.9055583687202629 -24864,0.4844328518104647 -24865,0.25294227662836133 -24866,0.3728759156167405 -24867,0.26216092512719913 -24868,0.9390458730746803 -24869,0.7625179711390684 -24870,0.42064525112683004 -24871,0.6318688306786596 -24872,0.25695154377659846 -24873,0.7904175084655173 -24874,0.7038774975187211 -24875,0.4151307908021403 -24876,0.33698038704880595 -24877,0.7526019983533685 -24878,0.20518521791177968 -24879,0.9760848914870884 -24880,0.7664553420341491 -24881,0.9156281814367541 -24882,0.8314405803063789 -24883,0.112653870878889 -24884,0.5514839778972069 -24885,0.7409393519150365 -24886,0.8691026677777486 -24887,0.7888724771446379 -24888,0.3436987118478032 -24889,0.9127785065187971 -24890,0.40817218659724286 -24891,0.16434766433906622 -24892,0.8357918791412045 -24893,0.24602411263463075 -24894,0.27212231173446255 -24895,0.31455934191161217 -24896,0.9060620770749359 -24897,0.520700261253523 -24898,0.1488135520737306 -24899,0.3185068923857385 -24900,0.20403962804680476 -24901,0.9608904162763434 -24902,0.37764142799217715 -24903,0.22929223256573394 -24904,0.22211711554726976 -24905,0.33054230094401515 -24906,0.5186264242242604 -24907,0.645623843419302 -24908,0.34165478680250894 -24909,0.2963257825803165 -24910,0.24725449663355015 -24911,0.0362921833463139 -24912,0.6954067621200385 -24913,0.8686082086696366 -24914,0.021706094582014113 -24915,0.48956400872479056 -24916,0.0729724554095097 -24917,0.1781167942211206 -24918,0.76011110158173 -24919,0.5703290332642643 -24920,0.21216794703933972 -24921,0.9285284219218055 -24922,0.6114816207989615 -24923,0.4398935755730008 -24924,0.18834939686429897 -24925,0.15298970552913738 -24926,0.9133422691921419 -24927,0.6999061356003792 -24928,0.0025542070441282316 -24929,0.3777665611576543 -24930,0.4917699134312803 -24931,0.2826431212565529 -24932,0.5984317344325322 -24933,0.263594828251985 -24934,0.20773862996528913 -24935,0.7796837733941203 -24936,0.7002086243511874 -24937,0.8000895235532981 -24938,0.025348047032285437 -24939,0.12243349383453672 -24940,0.770632938378313 -24941,0.984850803626528 -24942,0.9682961462908788 -24943,0.8635993066345129 -24944,0.4484932979481211 -24945,0.45812603301175614 -24946,0.04589528513972352 -24947,0.18537585451760097 -24948,0.5697100168131393 -24949,0.03019773090237543 -24950,0.1902268397001059 -24951,0.7641662484781382 -24952,0.897186689287057 -24953,0.22152661517763417 -24954,0.038978937442925576 -24955,0.9662503641331224 -24956,0.22430918833397717 -24957,0.9959379908954996 -24958,0.23781522613500028 -24959,0.49328939984423903 -24960,0.07863270815150203 -24961,0.15182208787577522 -24962,0.41510360933827983 -24963,0.36314715952540966 -24964,0.2266552138605119 -24965,0.5529967756284019 -24966,0.4931116844805028 -24967,0.325527687069872 -24968,0.07682018152813863 -24969,0.006574587452639058 -24970,0.920806276466065 -24971,0.45689426785112774 -24972,0.038711369153131114 -24973,0.49193087715029926 -24974,0.9915263977948703 -24975,0.901576790824731 -24976,0.7939606914400877 -24977,0.5490819878705795 -24978,0.8375413752137646 -24979,0.3942222500714623 -24980,0.8034581712129122 -24981,0.5248860440530221 -24982,0.43457521981413294 -24983,0.9187434209075065 -24984,0.04651237797323171 -24985,0.398072214748897 -24986,0.4288884005860424 -24987,0.5382415182024604 -24988,0.0028828810099201796 -24989,0.34031251998511325 -24990,0.4856923685004846 -24991,0.2565777190555424 -24992,0.5350845673927547 -24993,0.2787752763982727 -24994,0.4180111861713537 -24995,0.24562044400383198 -24996,0.47226297281789575 -24997,0.3004295802932979 -24998,0.9406229577236759 -24999,0.2828118542456143 -25000,0.05084824310862268 -25001,0.8702127557858808 -25002,0.9385812519150996 -25003,0.3254252163902607 -25004,0.6495363516778356 -25005,0.8369151780411125 -25006,0.4846266260479052 -25007,0.6973594383664701 -25008,0.1343070690812328 -25009,0.33964748743560846 -25010,0.6483114771111517 -25011,0.26117461536014275 -25012,0.9406302065763364 -25013,0.08865156090292492 -25014,0.7734008109786843 -25015,0.7577737216682192 -25016,0.9602139804058003 -25017,0.2317820023779974 -25018,0.22655682741396155 -25019,0.38722118837904074 -25020,0.4318116813884859 -25021,0.10306620525191845 -25022,0.30631708228286103 -25023,0.8061768284180623 -25024,0.9955025788025825 -25025,0.1365012894101818 -25026,0.9554121830323594 -25027,0.3865157579691264 -25028,0.9603208277556469 -25029,0.5573999924825298 -25030,0.7497517139131006 -25031,0.23904848466999395 -25032,0.5073261388298854 -25033,0.7554465925590366 -25034,0.9344843838562732 -25035,0.1936185565938633 -25036,0.9843658681114472 -25037,0.779346482794198 -25038,0.48879319520497055 -25039,0.7641005692171066 -25040,0.6008568367384287 -25041,0.37380458570802155 -25042,0.2655521189332519 -25043,0.4087501312693659 -25044,0.1822083860873812 -25045,0.4338287449575724 -25046,0.4934222737763373 -25047,0.9807473188453376 -25048,0.7459777397496541 -25049,0.4977169710561199 -25050,0.054480053732422706 -25051,0.9692098623408596 -25052,0.7721695264498936 -25053,0.019410206209369063 -25054,0.01321339954972911 -25055,0.6934666143418058 -25056,0.33078326662921864 -25057,0.8184481849172588 -25058,0.10290925506158266 -25059,0.20122626044567227 -25060,0.24962240345098619 -25061,0.6093188527957762 -25062,0.4820912482256692 -25063,0.21322286340602092 -25064,0.8340862150520832 -25065,0.42602691403805104 -25066,0.3965818520227583 -25067,0.04891880191927678 -25068,0.6138248188743417 -25069,0.7021452193292343 -25070,0.7387356646450445 -25071,0.2517547341841344 -25072,0.012186883578111374 -25073,0.36533471935521933 -25074,0.7517373095729016 -25075,0.7788357584367476 -25076,0.11740464128066375 -25077,0.8931616415992515 -25078,0.7773115241351468 -25079,0.6641150063946016 -25080,0.41911271746597245 -25081,0.8788631651834938 -25082,0.528538539866915 -25083,0.34735678459980834 -25084,0.7708899891390002 -25085,0.5043342156245626 -25086,0.6586049443529216 -25087,0.8427439614497598 -25088,0.8956049195081138 -25089,0.020280799119514192 -25090,0.30484707602398486 -25091,0.10407867196459908 -25092,0.4176042764792418 -25093,0.6550236650468005 -25094,0.4463141520675774 -25095,0.8460474220692721 -25096,0.3703818360148454 -25097,0.938364423312998 -25098,0.3252731256672239 -25099,0.3057173119561035 -25100,0.17657512352685145 -25101,0.9064472814664469 -25102,0.11728649997254303 -25103,0.31915121227678167 -25104,0.8542035374887931 -25105,0.5733786446287673 -25106,0.1251716609688176 -25107,0.16299609967539763 -25108,0.619131233397834 -25109,0.22113881428339976 -25110,0.8294700135531262 -25111,0.696110350845788 -25112,0.5214809362471541 -25113,0.41839826424015214 -25114,0.40800907751595916 -25115,0.39184167384749335 -25116,0.9234363051140817 -25117,0.09073460646651443 -25118,0.0670249537661679 -25119,0.7489791033263548 -25120,0.251472512302349 -25121,0.07908629085891727 -25122,0.9933400306076903 -25123,0.9507121900815751 -25124,0.27704765938943954 -25125,0.5586964356890062 -25126,0.7575591964932087 -25127,0.1183603478787496 -25128,0.9877939801737613 -25129,0.2729875594878697 -25130,0.8608325409635433 -25131,0.02995847436612209 -25132,0.12331269730311789 -25133,0.8818953260688581 -25134,0.9060951472740154 -25135,0.0656870371988576 -25136,0.1412368777659586 -25137,0.7515049121699945 -25138,0.8939351255900766 -25139,0.9819486830963013 -25140,0.838924397309814 -25141,0.9605139482688112 -25142,0.9926655317717447 -25143,0.86445990158184 -25144,0.5753826255488249 -25145,0.6174221308957812 -25146,0.3344149839726427 -25147,0.5964681446804082 -25148,0.10784339271085275 -25149,0.21697755953878872 -25150,0.3400937799911432 -25151,0.8016189890643226 -25152,0.8664722609968024 -25153,0.8938709587812 -25154,0.2722001959085002 -25155,0.5513410299744996 -25156,0.9444894542616977 -25157,0.36479757446314864 -25158,0.5788952811293137 -25159,0.31959536331948046 -25160,0.9434830805745318 -25161,0.7682604274454332 -25162,0.6612548524353106 -25163,0.8662410780199509 -25164,0.6534606871854113 -25165,0.6938101872918203 -25166,0.1412096382037734 -25167,0.7308542205424343 -25168,0.4725520757577444 -25169,0.26415647870965586 -25170,0.9812197722086738 -25171,0.45644115106331196 -25172,0.3046579201517763 -25173,0.6737581264812403 -25174,0.7988660880220387 -25175,0.7107273052897568 -25176,0.5808906663607817 -25177,0.3124605267447329 -25178,0.19897923629666303 -25179,0.7876052260751629 -25180,0.5515876445077622 -25181,0.8051832573261258 -25182,0.9558233004341444 -25183,0.749978108611866 -25184,0.6182925899273761 -25185,0.3206936924232917 -25186,0.8240970201203185 -25187,0.8642057214909105 -25188,0.6814512170412012 -25189,0.9266816827648864 -25190,0.7608063120630044 -25191,0.5450037441124321 -25192,0.7333359294879765 -25193,0.19664951729521685 -25194,0.16252569458378807 -25195,0.9963631640321905 -25196,0.8349620653249786 -25197,0.7531495366488226 -25198,0.05299521571366339 -25199,0.15364493568857662 -25200,0.588193932783855 -25201,0.6803621705976884 -25202,0.20539626662873034 -25203,0.7889155348120732 -25204,0.6923474207024202 -25205,0.32009685352291006 -25206,0.7890118951858367 -25207,0.8069752506820147 -25208,0.8824334167575624 -25209,0.9273552273299288 -25210,0.4960821213654325 -25211,0.6809309417971797 -25212,0.18158111420341028 -25213,0.989705023444 -25214,0.0714152226384025 -25215,0.3441079130626582 -25216,0.864098455410269 -25217,0.9298836058112034 -25218,0.06791872260491227 -25219,0.9619164329525445 -25220,0.7640184690112162 -25221,0.2758218073928421 -25222,0.9954544921598436 -25223,0.5478477333445798 -25224,0.5917681084922548 -25225,0.9262903495322619 -25226,0.9361987135991097 -25227,0.6598044257753208 -25228,0.7306729264210862 -25229,0.3689069218347568 -25230,0.27689931784985444 -25231,0.4077982645626317 -25232,0.4582629730955623 -25233,0.3899438621947833 -25234,0.226264737274403 -25235,0.439028346906686 -25236,0.17690061494263853 -25237,0.9419628018588102 -25238,0.2613798152960709 -25239,0.07998717340185157 -25240,0.30414261188833913 -25241,0.08372534653607655 -25242,0.978525070167065 -25243,0.8352368273331011 -25244,0.5001333139542002 -25245,0.6848294810254474 -25246,0.2886446155726453 -25247,0.7720740886391011 -25248,0.520551025021748 -25249,0.7762877886271182 -25250,0.04749253152405275 -25251,0.5326818818760132 -25252,0.08971631192353402 -25253,0.026594975342577043 -25254,0.5560626319059979 -25255,0.23021419355487882 -25256,0.27532597433672323 -25257,0.4002569710958277 -25258,0.8487667484467436 -25259,0.39604320980350294 -25260,0.05094299009195502 -25261,0.41281927257941575 -25262,0.020656411512250616 -25263,0.5784121426616861 -25264,0.32007597161037615 -25265,0.6411649266982177 -25266,0.5342712415086057 -25267,0.22455679709372411 -25268,0.411161934424947 -25269,0.0924797854355226 -25270,0.2800525619606081 -25271,0.427171001678738 -25272,0.427834318641229 -25273,0.9508945090045907 -25274,0.4033556978692411 -25275,0.244800005426841 -25276,0.7372704688250451 -25277,0.3444266745222734 -25278,0.7972522318853741 -25279,0.5174126144250542 -25280,0.9285396248210817 -25281,0.7979473190866562 -25282,0.2734773535573488 -25283,0.7743438660470229 -25284,0.6459862073844959 -25285,0.012629258673628851 -25286,0.7586860308554211 -25287,0.11310075834139177 -25288,0.2669944089314392 -25289,0.9584477653562969 -25290,0.45010403901921403 -25291,0.18337343265385275 -25292,0.9807011771111621 -25293,0.7639019840395646 -25294,0.6847930335168132 -25295,0.7069426442795014 -25296,0.6716257556323937 -25297,0.7992821462979365 -25298,0.4355234296424636 -25299,0.43431739219946064 -25300,0.6001738446649063 -25301,0.05838324899861391 -25302,0.7320456894605035 -25303,0.9096925099121524 -25304,0.5049126022105723 -25305,0.4390900041564555 -25306,0.5019208513150695 -25307,0.31939512460134145 -25308,0.0285637810354612 -25309,0.01567967188742525 -25310,0.5640169611450828 -25311,0.33924598432779973 -25312,0.3134930907501289 -25313,0.795840202586908 -25314,0.3666898361246691 -25315,0.5555950104306868 -25316,0.1457003792762489 -25317,0.002138109972819713 -25318,0.8663223860683461 -25319,0.40817755784434284 -25320,0.5913096564492352 -25321,0.7302089183800528 -25322,0.9783804417238638 -25323,0.7436632537528282 -25324,0.9381416294276944 -25325,0.30119035552076445 -25326,0.01618288649857813 -25327,0.3220735084689528 -25328,0.9764598525053686 -25329,0.6029130609185381 -25330,0.07248547253059712 -25331,0.7268436374939269 -25332,0.7631596290627989 -25333,0.7846345646420522 -25334,0.585843906404969 -25335,0.3367992173132671 -25336,0.5360902538594805 -25337,0.07388148490141822 -25338,0.6354252464972072 -25339,0.04601346617853341 -25340,0.9333550371065418 -25341,0.16109456510227715 -25342,0.3434851505355828 -25343,0.715280617660038 -25344,0.8756368574934282 -25345,0.8215949504436834 -25346,0.04330506641154963 -25347,0.5497127267093626 -25348,0.2877954578241154 -25349,0.9616676447537433 -25350,0.5407031517408266 -25351,0.15344937843517004 -25352,0.19247303181245168 -25353,0.6117050142494784 -25354,0.22144723060789195 -25355,0.052637131955171945 -25356,0.8064808571616575 -25357,0.38093664504100444 -25358,0.7643804297436297 -25359,0.9655542870751154 -25360,0.4451346968381352 -25361,0.1747971909389635 -25362,0.454119362923438 -25363,0.639998946677957 -25364,0.49828461817251213 -25365,0.3488596080793105 -25366,0.7636572213625651 -25367,0.04146851609419144 -25368,0.9207029824666463 -25369,0.8425274957576028 -25370,0.32489124189841956 -25371,0.8549632980249336 -25372,0.2344454713514601 -25373,0.05016333011816154 -25374,0.083764107386052 -25375,0.6988861928287249 -25376,0.5155564620784904 -25377,0.4293880870309763 -25378,0.09412195562235448 -25379,0.14011725834345623 -25380,0.17254816082102253 -25381,0.4375504497811308 -25382,0.458470860075186 -25383,0.30090211088924257 -25384,0.23007828162993949 -25385,0.13294393105027336 -25386,0.6975388254122934 -25387,0.6160984129444932 -25388,0.8659381990896656 -25389,0.8692684173007545 -25390,0.6680386880807513 -25391,0.9090633505424106 -25392,0.14069403147972137 -25393,0.569005999674324 -25394,0.44171104287103946 -25395,0.4913352846355966 -25396,0.6453209334775146 -25397,0.25751217660094383 -25398,0.97581480479986 -25399,0.1950338840721043 -25400,0.9667543929155611 -25401,0.6263341929133546 -25402,0.924378514060178 -25403,0.0825096768663357 -25404,0.9450004233621864 -25405,0.07151735260423253 -25406,0.6626757314556491 -25407,0.13030696330299174 -25408,0.2957853067992189 -25409,0.14652127493620815 -25410,0.6903000326866116 -25411,0.2805524111934118 -25412,0.24497736948222304 -25413,0.6082369766848423 -25414,0.06708345701131302 -25415,0.751818737949692 -25416,0.9247311417581752 -25417,0.5892708590800081 -25418,0.7136755589694821 -25419,0.4063597212131994 -25420,0.9414796715357097 -25421,0.474974710009492 -25422,0.0875841035524404 -25423,0.6227147316155603 -25424,0.5982722991363707 -25425,0.46689351328566886 -25426,0.6142032739787165 -25427,0.6999517216302311 -25428,0.45482595922919733 -25429,0.36362904978566635 -25430,0.2156281875576037 -25431,0.09549453296278687 -25432,0.34087019310183886 -25433,0.8816754375167871 -25434,0.055969448191977356 -25435,0.7802697695231194 -25436,0.3427159178560858 -25437,0.22704315611435844 -25438,0.9523698432147495 -25439,0.5852842896850824 -25440,0.5355159968447657 -25441,0.851777177126275 -25442,0.25166388641970794 -25443,0.6470205894595549 -25444,0.5014918481404361 -25445,0.9021052605937977 -25446,0.49387012581824097 -25447,0.43762559580568927 -25448,0.10273467667061631 -25449,0.9822966721285687 -25450,0.6887115588132415 -25451,0.9959927580614244 -25452,0.6459753547184975 -25453,0.4601689686624787 -25454,0.4714690989375605 -25455,0.7922729637224716 -25456,0.5592644954782288 -25457,0.5883315384260093 -25458,0.8477197642537204 -25459,0.504559758159953 -25460,0.9559885137917975 -25461,0.4502768174200409 -25462,0.2864139541104346 -25463,0.7469182231903395 -25464,0.9451563142302655 -25465,0.31635102225110545 -25466,0.7292421570693985 -25467,0.11821859241554078 -25468,0.7544642259306303 -25469,0.047831616128236165 -25470,0.971421030487761 -25471,0.9357987852166869 -25472,0.28490855231550594 -25473,0.8160401730988305 -25474,0.5175866008504915 -25475,0.6303023951630495 -25476,0.2958240645304463 -25477,0.7784168811037072 -25478,0.5622991631644275 -25479,0.5647733890751218 -25480,0.5987909672492449 -25481,0.47997989351320836 -25482,0.4202197924444887 -25483,0.11705494653053305 -25484,0.08170186462811024 -25485,0.14808141469770875 -25486,0.060068759321023735 -25487,0.25495395524168374 -25488,0.6178453141768213 -25489,0.2972808648856936 -25490,0.9805519025813905 -25491,0.5850379220846602 -25492,0.7976909357508559 -25493,0.07815074873969874 -25494,0.2963948166162217 -25495,0.9477405622254745 -25496,0.11517248495623944 -25497,0.4552390692202619 -25498,0.4972281237488 -25499,0.5052222852366792 -25500,0.27886270611887887 -25501,0.7649097519120498 -25502,0.737258271613614 -25503,0.8369759698432743 -25504,0.5458278646119475 -25505,0.32576375837969984 -25506,0.024886208191651993 -25507,0.6495287609078869 -25508,0.8709682276521414 -25509,0.09460743295992269 -25510,0.09445488561239801 -25511,0.4991242231619253 -25512,0.4045223273729692 -25513,0.6663988201945266 -25514,0.40830234769163776 -25515,0.1971192920714374 -25516,0.6280951745101505 -25517,0.5024124930518993 -25518,0.646226606617091 -25519,0.627530209765442 -25520,0.27457060993925797 -25521,0.027966923940843103 -25522,0.1759091900613846 -25523,0.462516254173154 -25524,0.7901262303878851 -25525,0.24415022840899836 -25526,0.6204062648989817 -25527,0.9194163630237144 -25528,0.39462186130218824 -25529,0.868812355060171 -25530,0.6042517128656463 -25531,0.46341939771352303 -25532,0.8429728311439533 -25533,0.8710237536824764 -25534,0.0965456971267582 -25535,0.3430324265124457 -25536,0.5152575723668092 -25537,0.6373411851879306 -25538,0.27640286994011587 -25539,0.1452006436504133 -25540,0.6272006449884612 -25541,0.635854874290105 -25542,0.5733592410566575 -25543,0.22856443115000058 -25544,0.004861023473156534 -25545,0.0441193879147761 -25546,0.08426205393644093 -25547,0.38014637464485934 -25548,0.5021085444665916 -25549,0.763146751945151 -25550,0.49992875752321086 -25551,0.48174241902539794 -25552,0.7847430918260654 -25553,0.5958524450070296 -25554,0.15568740526560376 -25555,0.784045611166148 -25556,0.5718029163329054 -25557,0.7970941726508503 -25558,0.16637065387986372 -25559,0.05740549418343133 -25560,0.16296436453494312 -25561,0.507798879796573 -25562,0.9909122479324292 -25563,0.19445811152542802 -25564,0.1729641459584197 -25565,0.9709379845864843 -25566,0.6293081107156098 -25567,0.2998719532056249 -25568,0.5323828858671562 -25569,0.9576446899345677 -25570,0.0704365117893736 -25571,0.54338528589486 -25572,0.25679713278937655 -25573,0.9137362174501115 -25574,0.49657476075573814 -25575,0.7785237035159038 -25576,0.514110197695361 -25577,0.3472993721957105 -25578,0.48690025557433025 -25579,0.8313375182781004 -25580,0.11136940436052545 -25581,0.06523172620576745 -25582,0.08530393991866392 -25583,0.49067581643383085 -25584,0.6099330863018365 -25585,0.31626131420740655 -25586,0.682927123421903 -25587,0.2220131504322702 -25588,0.07435397848568903 -25589,0.6812887837994406 -25590,0.7276119249488768 -25591,0.8095817215112524 -25592,0.9681371434225744 -25593,0.05513057188196924 -25594,0.5202762749673603 -25595,0.8331466009240595 -25596,0.4686323538588958 -25597,0.4933035946832326 -25598,0.6057009181958357 -25599,0.9437665079765066 -25600,0.6775594019294451 -25601,0.23752650480841964 -25602,0.04163653544998902 -25603,0.3735573585554157 -25604,0.14039767870585096 -25605,0.28525036132162296 -25606,0.33173879742997003 -25607,0.7320278481577559 -25608,0.09398710768174456 -25609,0.8498655722234363 -25610,0.34112458081750485 -25611,0.6642935170159205 -25612,0.3354632623834597 -25613,0.4581728976719497 -25614,0.2287883397132584 -25615,0.5465261932293539 -25616,0.7805274188903344 -25617,0.33369235246963325 -25618,0.2369369613672504 -25619,0.11927034813885429 -25620,0.5254572305978239 -25621,0.32578283457752666 -25622,0.8580416412900888 -25623,0.5697228384625588 -25624,0.9763286608955997 -25625,0.23618962246277797 -25626,0.6843614027216585 -25627,0.2182970023639499 -25628,0.30194630845811765 -25629,0.8882961129878886 -25630,0.1500603283119869 -25631,0.003873121313730188 -25632,0.1885023207936154 -25633,0.8835436833706034 -25634,0.209938812173442 -25635,0.45387335691990904 -25636,0.8698789022428105 -25637,0.24923380030067088 -25638,0.13909229961210834 -25639,0.037802233385141215 -25640,0.49224556037491873 -25641,0.50916489536507 -25642,0.24163731490813656 -25643,0.5155601175074902 -25644,0.13864016958005554 -25645,0.8624500801205119 -25646,0.05177823441152629 -25647,0.05911834660320903 -25648,0.06733815599768622 -25649,0.7911185913818033 -25650,0.3814348826745664 -25651,0.13981640211166202 -25652,0.4581930481632913 -25653,0.36039236554258647 -25654,0.7066586935498838 -25655,0.6591505132184527 -25656,0.2579599704953859 -25657,0.6728265067222002 -25658,0.17340331612486382 -25659,0.927401594558477 -25660,0.023914973723244692 -25661,0.7683271544098379 -25662,0.9672365798697227 -25663,0.5363726881353039 -25664,0.9295090626321757 -25665,0.5206153782002513 -25666,0.3761741982998811 -25667,0.8924376900271417 -25668,0.818402061460832 -25669,0.26110275985981257 -25670,0.6754056990518742 -25671,0.8201118782535887 -25672,0.13929207811638467 -25673,0.6889377367445143 -25674,0.7757242610660278 -25675,0.19948854051810727 -25676,0.8964850831244352 -25677,0.39364191117978564 -25678,0.5353528210639904 -25679,0.1699614649650183 -25680,0.4705063734334659 -25681,0.5437131752282758 -25682,0.5652291478030369 -25683,0.0859464360074591 -25684,0.27954619839984274 -25685,0.4512257717535576 -25686,0.9667874379036075 -25687,0.13697378876524413 -25688,0.3458676507739382 -25689,0.002889693671103144 -25690,0.24164668664130773 -25691,0.6672093462063545 -25692,0.6721750705265555 -25693,0.3356219093633491 -25694,0.1757849471091265 -25695,0.15048228419013465 -25696,0.25060348496050144 -25697,0.28006145142797834 -25698,0.8661749496969001 -25699,0.7656045337581405 -25700,0.708892976845737 -25701,0.03320063455087008 -25702,0.8312184323937379 -25703,0.4476370982648421 -25704,0.5657404924974776 -25705,0.4410652567396929 -25706,0.6528302135119772 -25707,0.670971247837245 -25708,0.970033456338488 -25709,0.7188030722270825 -25710,0.053490849435042453 -25711,0.25144571732001364 -25712,0.5994691781795378 -25713,0.329559149551367 -25714,0.9304271515838152 -25715,0.851848610593454 -25716,0.007735363833711206 -25717,0.5035413283925201 -25718,0.8781187856020525 -25719,0.7411222073526422 -25720,0.5765979124686188 -25721,0.9599188757864884 -25722,0.14397935602921652 -25723,0.30036153768866025 -25724,0.9908303019834731 -25725,0.926959460406434 -25726,0.769909270584638 -25727,0.7599899911816872 -25728,0.07560929472476785 -25729,0.5917914594067403 -25730,0.9757584486599855 -25731,0.2483707270363288 -25732,0.5972255181227274 -25733,0.3078489329249713 -25734,0.6521955373639747 -25735,0.7076056019091008 -25736,0.7995116269580114 -25737,0.5545936250139002 -25738,0.3345941616940218 -25739,0.872675259146692 -25740,0.9353294427056384 -25741,0.7345937871594211 -25742,0.9610037293630849 -25743,0.5182254618204563 -25744,0.2438593602118061 -25745,0.895300983457631 -25746,0.9351985859217911 -25747,0.46907764083095826 -25748,0.6078872753983898 -25749,0.10554778912694951 -25750,0.14817937711111817 -25751,0.7061138799861991 -25752,0.15038302564462336 -25753,0.8012507680175727 -25754,0.015722682673113275 -25755,0.8335245741635957 -25756,0.04129257107010964 -25757,0.562081140883382 -25758,0.10936903979085322 -25759,0.2838057919507968 -25760,0.3210286892163924 -25761,0.32602871134195954 -25762,0.8204063824923715 -25763,0.12087531720025213 -25764,0.5557519097933046 -25765,0.719801285483515 -25766,0.9601768533656928 -25767,0.04948162280600832 -25768,0.8843181687298481 -25769,0.5039161027082381 -25770,0.014921560907273257 -25771,0.8047266363861099 -25772,0.08208935993013455 -25773,0.7881750408269567 -25774,0.25858951085767223 -25775,0.7734902670407149 -25776,0.6421006322632173 -25777,0.42073752580152735 -25778,0.2507179215055332 -25779,0.4373607174563 -25780,0.2902482327853416 -25781,0.5219247410450759 -25782,0.13981739455681752 -25783,0.7068019061983168 -25784,0.5272251002338791 -25785,0.8004465908705558 -25786,0.4862678256827053 -25787,0.8753965314866393 -25788,0.9837787272354315 -25789,0.9226592817531205 -25790,0.9962423566069554 -25791,0.8036011966674393 -25792,0.9884648321891167 -25793,0.0835492381568419 -25794,0.2235438159123987 -25795,0.9264278973921537 -25796,0.9033036514490305 -25797,0.9120724458279431 -25798,0.3048928767147533 -25799,0.2644419021623491 -25800,0.8953324708753352 -25801,0.11596435461626231 -25802,0.03984045840318784 -25803,0.840656792404822 -25804,0.11476195440834847 -25805,0.41970597592733694 -25806,0.35546564116825574 -25807,0.1641187746639623 -25808,0.1660987529142013 -25809,0.4394359721808774 -25810,0.16156826143770153 -25811,0.06049429746500801 -25812,0.16888843339778492 -25813,0.7824975720584008 -25814,0.10534745381633925 -25815,0.8846865841864758 -25816,0.9812712660906369 -25817,0.9410672669979305 -25818,0.27062507923360224 -25819,0.09627022198142765 -25820,0.8995664308260434 -25821,0.8530473576904816 -25822,0.043003037290110235 -25823,0.006774677827783626 -25824,0.11163291288061317 -25825,0.10091735988365513 -25826,0.2748617459114816 -25827,0.5336942114589485 -25828,0.8619240786914578 -25829,0.10656078764776344 -25830,0.5896707489939338 -25831,0.38833327048666066 -25832,0.4023573477081245 -25833,0.2692987529398262 -25834,0.6726294600505834 -25835,0.26139208702501604 -25836,0.08590692138331435 -25837,0.2433925659986932 -25838,0.44669846383631007 -25839,0.8951975609364401 -25840,0.8615654730066297 -25841,0.7210796717072646 -25842,0.4797822180187177 -25843,0.16414168381993344 -25844,0.18057773954846235 -25845,0.19447981661252 -25846,0.3625025968718134 -25847,0.021216053834448467 -25848,0.7161668685590536 -25849,0.3602350238815396 -25850,0.9862017764383529 -25851,0.24184581136159933 -25852,0.13940155294595813 -25853,0.5365354000676383 -25854,0.09880493841310733 -25855,0.8386128484338717 -25856,0.6592068596823014 -25857,0.05486824748481278 -25858,0.9992704886210003 -25859,0.35452868881378585 -25860,0.5402355465779413 -25861,0.4917059097411237 -25862,0.7956466480224774 -25863,0.4920735952657237 -25864,0.2802551090551997 -25865,0.6706592313993174 -25866,0.26750030906002153 -25867,0.9884052078335815 -25868,0.6853808680576513 -25869,0.34285403534857184 -25870,0.8973129039393435 -25871,0.011052611827096492 -25872,0.7068703550704936 -25873,0.5223882865410951 -25874,0.6246433564009732 -25875,0.01932024165839641 -25876,0.22317771823098276 -25877,0.6515176702451985 -25878,0.5339164688868591 -25879,0.9129089412464425 -25880,0.8069321392688282 -25881,0.6819409960277696 -25882,0.04758831816807918 -25883,0.970193865358932 -25884,0.8009673699020474 -25885,0.43220292339726707 -25886,0.6473279397257727 -25887,0.043493072554128265 -25888,0.13299485717150772 -25889,0.78384139936797 -25890,0.7484947247709004 -25891,0.38555973239794317 -25892,0.5723374969677796 -25893,0.6910546084132914 -25894,0.980325268993031 -25895,0.5937139812955815 -25896,0.365135869134929 -25897,0.6377334124209469 -25898,0.10394522750004198 -25899,0.11431692803645732 -25900,0.7103841686971063 -25901,0.9816460687764335 -25902,0.6331180448939004 -25903,0.7103001796455573 -25904,0.7254758566967491 -25905,0.6129040651476024 -25906,0.12468805892506596 -25907,0.0582214204298146 -25908,0.6732931463639613 -25909,0.14393198176834887 -25910,0.633791461295825 -25911,0.3081237646627487 -25912,0.041654700569893066 -25913,0.2023674983403888 -25914,0.48921673849109126 -25915,0.006989003404866079 -25916,0.3735566479676432 -25917,0.7272264772833014 -25918,0.3510604699460459 -25919,0.11630918507616117 -25920,0.39310655645861725 -25921,0.038485985839343706 -25922,0.034337312292682554 -25923,0.9716010268011747 -25924,0.3482174507090602 -25925,0.10657931400500253 -25926,0.21547993447133174 -25927,0.058694213367431636 -25928,0.021901936789600507 -25929,0.15243802628902758 -25930,0.8506256285802596 -25931,0.9708324743529031 -25932,0.6271278907045584 -25933,0.29400735247011334 -25934,0.7778149020694665 -25935,0.2956733029831631 -25936,0.7619960923597218 -25937,0.8515148270377277 -25938,0.07665543275387887 -25939,0.8349440061028917 -25940,0.47322335406592964 -25941,0.9498017324618364 -25942,0.2733403917618821 -25943,0.9670610414099678 -25944,0.861482761528726 -25945,0.4873560559162611 -25946,0.15180535658598115 -25947,0.8857647154164964 -25948,0.4036848157490448 -25949,0.1522708223595427 -25950,0.8416917535675681 -25951,0.3980777845805086 -25952,0.9366423379722773 -25953,0.2780976795291533 -25954,0.9558585686661322 -25955,0.2763322033836213 -25956,0.19913732018517494 -25957,0.8741910339505724 -25958,0.3809084257996225 -25959,0.9800842125622969 -25960,0.21714478469874632 -25961,0.5021863548665789 -25962,0.05991991030390653 -25963,0.24492462887991384 -25964,0.1311139502941323 -25965,0.09749654820541331 -25966,0.29831280942736815 -25967,0.8102713107105817 -25968,0.9069495874287372 -25969,0.015765956415145665 -25970,0.14314938825171764 -25971,0.7305964942886342 -25972,0.03395332398072537 -25973,0.27191103648628656 -25974,0.9442880307727087 -25975,0.30191192090081853 -25976,0.2561733208992061 -25977,0.2817977910107087 -25978,0.940660172768931 -25979,0.5702866224632406 -25980,0.8541839364984785 -25981,0.6919521488337558 -25982,0.552371647107308 -25983,0.10611179255586056 -25984,0.41397242296554937 -25985,0.15722760678754355 -25986,0.9340343995641007 -25987,0.8851427582049652 -25988,0.9303945014830699 -25989,0.10302490089804328 -25990,0.28754610626621613 -25991,0.8650489526119692 -25992,0.4477417637947757 -25993,0.39420851811929236 -25994,0.48065543107656306 -25995,0.036833503376801024 -25996,0.03161476289376364 -25997,0.48265525145454147 -25998,0.017813307847014515 -25999,0.300222779881534 -26000,0.6789784091571099 -26001,0.34442754582256396 -26002,0.3290656447133651 -26003,0.34686667674361216 -26004,0.037654266017125515 -26005,0.055371613169217904 -26006,0.5158058940283939 -26007,0.12478961419955081 -26008,0.7539778791491036 -26009,0.7232174229806203 -26010,0.7324843250569026 -26011,0.6701008313118091 -26012,0.19135635454800926 -26013,0.7670493669376988 -26014,0.6964561377170376 -26015,0.552418065552067 -26016,0.6643249277701222 -26017,0.9454585001030796 -26018,0.13276945487287073 -26019,0.6018660262114373 -26020,0.09043498118193594 -26021,0.45291573884709047 -26022,0.9542089009501693 -26023,0.6368701836737755 -26024,0.9540373527480501 -26025,0.4276423365607891 -26026,0.1532773668766294 -26027,0.8292690515384669 -26028,0.283289203952515 -26029,0.46124252112307884 -26030,0.9788573745387776 -26031,0.1386175802536741 -26032,0.573221679765347 -26033,0.7596752404092787 -26034,0.22178464351561633 -26035,0.6067491018909487 -26036,0.09448156065225277 -26037,0.33466427801908394 -26038,0.2569698641687417 -26039,0.9633707138122711 -26040,0.08471562118661335 -26041,0.4278048795152878 -26042,0.9373029905881868 -26043,0.9337643466126068 -26044,0.8628407657114041 -26045,0.05544399758506069 -26046,0.17883185296267912 -26047,0.5289447396480239 -26048,0.7313593325657192 -26049,0.42636692559946143 -26050,0.9275400531207546 -26051,0.800446887040519 -26052,0.23520843978844885 -26053,0.10050973641804772 -26054,0.4936992737881911 -26055,0.9336449735798682 -26056,0.00458568895365874 -26057,0.253666606395059 -26058,0.839985469550922 -26059,0.6674237789942458 -26060,0.8069090342309002 -26061,0.5997553682076728 -26062,0.7453915922135225 -26063,0.6103731398233517 -26064,0.4703198069497443 -26065,0.8929425865639381 -26066,0.410343685764874 -26067,0.818694482429802 -26068,0.3354164663732391 -26069,0.659736229406089 -26070,0.13338444767068725 -26071,0.35727605751834246 -26072,0.8401907354595463 -26073,0.9300810652550343 -26074,0.001808017753961777 -26075,0.1926030643770632 -26076,0.00916593280369371 -26077,0.11592589070525638 -26078,0.06469762937067625 -26079,0.90146257810155 -26080,0.8476191988524067 -26081,0.5774036817023068 -26082,0.6126360237011372 -26083,0.4777959246176935 -26084,0.9034264086332567 -26085,0.6886317700169277 -26086,0.9168740933349109 -26087,0.8674969222028696 -26088,0.6365256865318031 -26089,0.2783224633963126 -26090,0.21589499432827108 -26091,0.30127966554488605 -26092,0.8744502411816187 -26093,0.46060858727303244 -26094,0.5078465562242129 -26095,0.04530422957750557 -26096,0.13201269826255002 -26097,0.942201711734304 -26098,0.07928141124582899 -26099,0.7354376169665234 -26100,0.7528980922885057 -26101,0.5105263985431782 -26102,0.5902654858380356 -26103,0.7753194595759789 -26104,0.7538826277813843 -26105,0.10963655289796947 -26106,0.1265311983472357 -26107,0.6460160253635697 -26108,0.889546637588992 -26109,0.6507795810033046 -26110,0.0378981379690998 -26111,0.34209208306511485 -26112,0.6686827566215438 -26113,0.01274750486178755 -26114,0.6308085863630218 -26115,0.9502761576447513 -26116,0.18040907039823428 -26117,0.06242157675046378 -26118,0.5229792035090423 -26119,0.3440506648633199 -26120,0.39060119795449844 -26121,0.29696253892158353 -26122,0.715186656029725 -26123,0.8050706577519435 -26124,0.7553975200914441 -26125,0.4661838141993566 -26126,0.3159158056101439 -26127,0.5557080888661478 -26128,0.5285946625252284 -26129,0.5573424541978518 -26130,0.63392265888387 -26131,0.9887680063947458 -26132,0.799070251516121 -26133,0.15425253181800047 -26134,0.03599511159830093 -26135,0.4230835693499433 -26136,0.9755722213612776 -26137,0.5637566912369193 -26138,0.7028734593540893 -26139,0.7898705745752687 -26140,0.7849183885262662 -26141,0.008209810355080616 -26142,0.8092546800435972 -26143,0.12582290800703633 -26144,0.38509153163280985 -26145,0.9008553755861857 -26146,0.39466376350820154 -26147,0.6388389128456687 -26148,0.2936333842325498 -26149,0.27045740471528024 -26150,0.09872072069915183 -26151,0.3936754858432847 -26152,0.57987929320241 -26153,0.2889859942079155 -26154,0.6431468358850714 -26155,0.9797056993023555 -26156,0.8159948739861148 -26157,0.7867972093438351 -26158,0.5436953259221596 -26159,0.3504483464907656 -26160,0.2846144998437381 -26161,0.7438883728530338 -26162,0.45745910417147695 -26163,0.08264330371606476 -26164,0.5313757103738258 -26165,0.8313090987930377 -26166,0.9193035775531118 -26167,0.936155934704575 -26168,0.75836447428562 -26169,0.3111829464263347 -26170,0.02948289726888187 -26171,0.541227364676825 -26172,0.13610662152425257 -26173,0.29771670200129907 -26174,0.6724228654981685 -26175,0.22175371258353505 -26176,0.3290638861460199 -26177,0.8429313880760945 -26178,0.7115830353999119 -26179,0.43214524362379214 -26180,0.19120309309163175 -26181,0.02059660759885984 -26182,0.3187592362797218 -26183,0.5631302257515297 -26184,0.7074579882383769 -26185,0.7177551081870825 -26186,0.7864464302915675 -26187,0.8359600920528566 -26188,0.0827744996648716 -26189,0.6316913142396396 -26190,0.21440386569764325 -26191,0.616238790311399 -26192,0.9234803462825977 -26193,0.9479723787988014 -26194,0.11196994989838849 -26195,0.11547779279465464 -26196,0.7073850133810582 -26197,0.07860956575100797 -26198,0.8948673313084207 -26199,0.24316034170577427 -26200,0.08833096314499589 -26201,0.6486597588193678 -26202,0.32261524720152157 -26203,0.64340276581573 -26204,0.342752576831599 -26205,0.4291871919594301 -26206,0.8475897226571014 -26207,0.21171647499775292 -26208,0.04234781564747847 -26209,0.09758567643461202 -26210,0.1785360414005701 -26211,0.8469329131764395 -26212,0.5344482322426333 -26213,0.4341043442998189 -26214,0.24533774953805043 -26215,0.6363932436644575 -26216,0.10681994162380681 -26217,0.5182283805423853 -26218,0.03930915216562336 -26219,0.7821324355775888 -26220,0.48585556661634044 -26221,0.7541933150111277 -26222,0.8757244891675467 -26223,0.8406169862242777 -26224,0.6557662228609332 -26225,0.6205274458843905 -26226,0.17914071208058224 -26227,0.5387691444456499 -26228,0.015005431898430843 -26229,0.9274007598960118 -26230,0.36173703015349756 -26231,0.38115457579654755 -26232,0.7453121878358044 -26233,0.8950914904766476 -26234,0.8973052307170345 -26235,0.18818964945120287 -26236,0.8071120128706142 -26237,0.06744413286405804 -26238,0.9995457148136564 -26239,0.11244985928209428 -26240,0.3358850357187574 -26241,0.8945293332794894 -26242,0.5528780993044032 -26243,0.07738651419692821 -26244,0.2558717116959075 -26245,0.11628751324961728 -26246,0.9169303715813525 -26247,0.31284880690651595 -26248,0.4100033382948526 -26249,0.9383550955264799 -26250,0.8406697568598052 -26251,0.5198641346206863 -26252,0.33724870868047585 -26253,0.968316342590585 -26254,0.6427081608646036 -26255,0.1402706917040264 -26256,0.6368370054545619 -26257,0.7171174767933179 -26258,0.9049536733941351 -26259,0.2098893055215938 -26260,0.4508683173204171 -26261,0.972133463538909 -26262,0.9238197844502872 -26263,0.8126292991151631 -26264,0.5929164328144905 -26265,0.9997230451875438 -26266,0.617313801853588 -26267,0.4384271871221652 -26268,0.5916341885121661 -26269,0.7607882654878692 -26270,0.6056249681494008 -26271,0.575591360221178 -26272,0.7337275974671718 -26273,0.8547929016185535 -26274,0.09686087713261027 -26275,0.6361892408012807 -26276,0.855117433896241 -26277,0.2695049429716715 -26278,0.13298747631845576 -26279,0.41550735474380185 -26280,0.9917396612237582 -26281,0.3587574723640068 -26282,0.742523221556339 -26283,0.08935642609145156 -26284,0.7481802393440764 -26285,0.7296736500210812 -26286,0.9360151726863151 -26287,0.7490323807881202 -26288,0.6601613259459956 -26289,0.7811525599793132 -26290,0.28795142767956483 -26291,0.3396431140700632 -26292,0.4747528493526294 -26293,0.6305260193187019 -26294,0.3290097465432027 -26295,0.8814318322069089 -26296,0.0004936985402358429 -26297,0.13576216765647964 -26298,0.5721915864233913 -26299,0.6736790808723208 -26300,0.2709636683256337 -26301,0.5633795755864376 -26302,0.3009619828064152 -26303,0.6553894176708652 -26304,0.5402045797334564 -26305,0.7083744870595136 -26306,0.03558801495852104 -26307,0.6857990420466303 -26308,0.23532457456107692 -26309,0.294113986018108 -26310,0.7453250723400794 -26311,0.8154689897812771 -26312,0.32582530112955954 -26313,0.8206323496385747 -26314,0.42988551105135564 -26315,0.061455958866576066 -26316,0.6654175764524191 -26317,0.5765885137287602 -26318,0.0432614661214662 -26319,0.19645298104953068 -26320,0.24933832409825896 -26321,0.6500408951402302 -26322,0.29532171891201064 -26323,0.3584305646746889 -26324,0.0740720626211605 -26325,0.6601528497530741 -26326,0.8810717010366997 -26327,0.019933066441920055 -26328,0.6534003629336836 -26329,0.15852591505557612 -26330,0.9435956404547918 -26331,0.3655018558091082 -26332,0.7014503493462904 -26333,0.8218398085359463 -26334,0.2298012595025325 -26335,0.40275278348191845 -26336,0.19914560590628616 -26337,0.09974285462034393 -26338,0.3571777125151022 -26339,0.9902530948091747 -26340,0.9871535081105073 -26341,0.09194207533719068 -26342,0.931767700674216 -26343,0.4689625855719509 -26344,0.33098718691169704 -26345,0.017047249216652904 -26346,0.09471419537857284 -26347,0.10730298598997756 -26348,0.6299024509915884 -26349,0.7508063950728343 -26350,0.9241481118153865 -26351,0.5881345312694457 -26352,0.8957717950043466 -26353,0.20041063304272788 -26354,0.27112683598114196 -26355,0.6701167566505021 -26356,0.49031898646926086 -26357,0.23975750894688286 -26358,0.8324172525953063 -26359,0.8924101264445448 -26360,0.4150798344638341 -26361,0.48267430056837113 -26362,0.831362812891415 -26363,0.007737770237351227 -26364,0.7410752491029067 -26365,0.11349089523100897 -26366,0.4862917405219145 -26367,0.34128434739811875 -26368,0.8079337800445889 -26369,0.03314814992427595 -26370,0.7062237065835915 -26371,0.3163401808391163 -26372,0.5736340606048038 -26373,0.16507623593977028 -26374,0.3831319877477518 -26375,0.44552887809028485 -26376,0.018902264586558082 -26377,0.14579104013526667 -26378,0.7294073940389489 -26379,0.9520706706672155 -26380,0.6584646364654516 -26381,0.2337423975109596 -26382,0.2819524354413687 -26383,0.38202070725292525 -26384,0.7049961226330482 -26385,0.5110832045057695 -26386,0.11013036678776822 -26387,0.8040606700399906 -26388,0.29178551506571515 -26389,0.7676678658727892 -26390,0.7726333121137119 -26391,0.799744657264379 -26392,0.6938295129642919 -26393,0.17565782278176256 -26394,0.866887380519922 -26395,0.5635341047828581 -26396,0.8653018428003107 -26397,0.5487360345673261 -26398,0.05248670727369964 -26399,0.8244204705809006 -26400,0.6772771829947704 -26401,0.4436467261581788 -26402,0.2517006975867513 -26403,0.9002573225702047 -26404,0.3979922386992051 -26405,0.5312046220338891 -26406,0.22207123884318858 -26407,0.8871363034655303 -26408,0.06601006798327658 -26409,0.06856129874909822 -26410,0.9656294840870655 -26411,0.9256224473113751 -26412,0.8579041877100364 -26413,0.4361347295480573 -26414,0.8912663158011588 -26415,0.24168772711944686 -26416,0.8747144993119166 -26417,0.3431683461381646 -26418,0.498004799429414 -26419,0.6418345123147436 -26420,0.3392078734195798 -26421,0.6871145712431577 -26422,0.24233206982226818 -26423,0.30986240533861464 -26424,0.8017897452506814 -26425,0.01587071901311865 -26426,0.9726513210801224 -26427,0.8043513271780328 -26428,0.4506467804263289 -26429,0.23056980120645043 -26430,0.4526487887192584 -26431,0.34147502673259955 -26432,0.20600991812796232 -26433,0.6675807317711114 -26434,0.8284011227038985 -26435,0.9656544281322463 -26436,0.9763679693164246 -26437,0.4216398097346227 -26438,0.9180215005530822 -26439,0.16995366458611727 -26440,0.17950526591128957 -26441,0.7822785841619596 -26442,0.6673954883371331 -26443,0.9040771437689564 -26444,0.8350921804765652 -26445,0.41735749766069896 -26446,0.08413041079686545 -26447,0.987874709059571 -26448,0.08768117335539993 -26449,0.5467940537749342 -26450,0.4302572988529595 -26451,0.43195175441469624 -26452,0.1392235041304979 -26453,0.5132465822024159 -26454,0.05600915933410289 -26455,0.1782207033197276 -26456,0.20105327631270387 -26457,0.3638741698478214 -26458,0.44610513430499676 -26459,0.1719288363767657 -26460,0.7970588306709715 -26461,0.51125165805372 -26462,0.022409129549216256 -26463,0.5709997770063447 -26464,0.33885547145538386 -26465,0.03942125569336441 -26466,0.01774261794126797 -26467,0.9750428943466704 -26468,0.17919110851536957 -26469,0.9912888309376024 -26470,0.18000550540279026 -26471,0.5701453324001389 -26472,0.5405525513741154 -26473,0.1311366761370656 -26474,0.5331116153747482 -26475,0.8133808973448837 -26476,0.25959222815402616 -26477,0.7685540635963821 -26478,0.20603781165912527 -26479,0.8219051610269325 -26480,0.9730603027117494 -26481,0.4327719033700541 -26482,0.9768521281845806 -26483,0.04578262401492528 -26484,0.39517160654885286 -26485,0.5590070633193769 -26486,0.7224583976761365 -26487,0.4057692983267498 -26488,0.605532906301936 -26489,0.4527010245499935 -26490,0.6391246757553217 -26491,0.8507551387699909 -26492,0.2897945972027932 -26493,0.10738703178491471 -26494,0.25820685169395674 -26495,0.22063367621137797 -26496,0.05908036919674653 -26497,0.6418964773789979 -26498,0.9963175425865252 -26499,0.6389661226973913 -26500,0.831941397354852 -26501,0.21991573283943944 -26502,0.16483261434846086 -26503,0.5784906380998821 -26504,0.39424781376241647 -26505,0.9547075620068209 -26506,0.6893336852202643 -26507,0.1626146023446694 -26508,0.006761706393744515 -26509,0.26446831875193777 -26510,0.542456399781849 -26511,0.24348652055080888 -26512,0.32747184767472504 -26513,0.21771252137273567 -26514,0.04191449773565692 -26515,0.7792686455419917 -26516,0.6170377854244389 -26517,0.8855840350524256 -26518,0.637993379008613 -26519,0.06392304323619846 -26520,0.11486083696556038 -26521,0.4579463311961667 -26522,0.427720995001717 -26523,0.14843722976355345 -26524,0.3603942974225146 -26525,0.5584066525411571 -26526,0.4277474817108532 -26527,0.8990937118874395 -26528,0.5944276282240775 -26529,0.6055196022675011 -26530,0.2289551053648755 -26531,0.778364459385521 -26532,0.25397261849721064 -26533,0.36742457616437985 -26534,0.33207200179497376 -26535,0.5816405019351498 -26536,0.4706932562066013 -26537,0.37351916442895716 -26538,0.5498012598914723 -26539,0.3685188611553212 -26540,0.9715813519561984 -26541,0.4136571577390258 -26542,0.4983957765861152 -26543,0.5066337518859825 -26544,0.6792832288641306 -26545,0.8884137273548661 -26546,0.44235998986935854 -26547,0.45078377795697355 -26548,0.18812963381524073 -26549,0.506782452349506 -26550,0.37267209292743964 -26551,0.9651298616356739 -26552,0.5037121104903504 -26553,0.7759144288053562 -26554,0.5645131843164805 -26555,0.8591222666100091 -26556,0.9453211798138021 -26557,0.6335274743385599 -26558,0.6539993012338222 -26559,0.6011360267209959 -26560,0.6896772164251926 -26561,0.596042979655663 -26562,0.008265447684487115 -26563,0.9281661552035125 -26564,0.8800165335308952 -26565,0.6128613048056649 -26566,0.2840008306351618 -26567,0.1930459031413857 -26568,0.39049567180405964 -26569,0.250611654941445 -26570,0.537082776198419 -26571,0.25342408473060507 -26572,0.3330479757231559 -26573,0.10532333996186372 -26574,0.6139049462120827 -26575,0.1342437874302248 -26576,0.9057592957416599 -26577,0.8191755167180657 -26578,0.4134433164440071 -26579,0.6987826644898254 -26580,0.09037311234833256 -26581,0.7447540433285604 -26582,0.13349992420423362 -26583,0.35972451801306315 -26584,0.37256487902103086 -26585,0.22714244030303443 -26586,0.43681393117921086 -26587,0.9390942178498576 -26588,0.017119891916541397 -26589,0.8615552732213189 -26590,0.8764400004274987 -26591,0.4755916493452126 -26592,0.3693117836155301 -26593,0.7089181219677079 -26594,0.7328302766561025 -26595,0.9823704960386401 -26596,0.8120105605933898 -26597,0.9417679476424418 -26598,0.6381386068224005 -26599,0.939412010098606 -26600,0.69820224489711 -26601,0.4148541955225653 -26602,0.6914753106721763 -26603,0.6241548093419589 -26604,0.06934168968240706 -26605,0.14084741783064392 -26606,0.026723623774008276 -26607,0.5223375897370479 -26608,0.35169378366056137 -26609,0.9301643818745224 -26610,0.5286141479443194 -26611,0.3085102528344248 -26612,0.7207102158503855 -26613,0.847088478879607 -26614,0.3804087753983688 -26615,0.590616197700582 -26616,0.059584602882839066 -26617,0.7965011691282078 -26618,0.6816017106630917 -26619,0.9021861915586936 -26620,0.48009402484693064 -26621,0.9780513252607101 -26622,0.28317142161997677 -26623,0.030849095967429685 -26624,0.33222643708897825 -26625,0.31960157516073284 -26626,0.7889091823680248 -26627,0.21807121527929663 -26628,0.4899281155760179 -26629,0.29831426275410966 -26630,0.4007790128678388 -26631,0.7230954004284658 -26632,0.9435344246349301 -26633,0.5896313219363396 -26634,0.37194985125740043 -26635,0.14148170977570895 -26636,0.5905472346890867 -26637,0.7484490589395331 -26638,0.6098025675857208 -26639,0.2818021329822541 -26640,0.6248484230773224 -26641,0.8107380847970314 -26642,0.12660663450622 -26643,0.49036804665868716 -26644,0.8375222672804671 -26645,0.15981983134646727 -26646,0.9707562845315401 -26647,0.9774977966298843 -26648,0.7420891229298333 -26649,0.11567507842833946 -26650,0.6815522913565515 -26651,0.4833997810369747 -26652,0.6097952698132638 -26653,0.6230915162155296 -26654,0.46208222319381254 -26655,0.8923612590457225 -26656,0.18932095108947866 -26657,0.7360472827601869 -26658,0.4547251184903025 -26659,0.8940136820411606 -26660,0.5110533845752995 -26661,0.6409135460078536 -26662,0.44602774152624136 -26663,0.09006636531984147 -26664,0.698635860077401 -26665,0.4832244184506025 -26666,0.1964532276981935 -26667,0.295300089129787 -26668,0.859875371468879 -26669,0.805728915570796 -26670,0.2247969589726233 -26671,0.7497183652258241 -26672,0.5028013054560061 -26673,0.04904291206893374 -26674,0.10014720072446637 -26675,0.30018426696667955 -26676,0.02346517263203185 -26677,0.28988380055478913 -26678,0.6395472258221473 -26679,0.6489408461199152 -26680,0.09904535138731807 -26681,0.13238318791822823 -26682,0.9863877928107158 -26683,0.4539694595075905 -26684,0.9142166152088381 -26685,0.5315584601121536 -26686,0.09367766028529634 -26687,0.6165953010900317 -26688,0.248064908668849 -26689,0.570864240331119 -26690,0.10196432686363466 -26691,0.1828575668418444 -26692,0.07495688061228767 -26693,0.3472035354793298 -26694,0.43050023590292996 -26695,0.6368897254708117 -26696,0.8947393135545458 -26697,0.5310014082272337 -26698,0.6255381834161304 -26699,0.45785847726370477 -26700,0.36932218379630366 -26701,0.5186094249432283 -26702,0.2992797919780803 -26703,0.2432792846307723 -26704,0.225157012293007 -26705,0.8973072259859146 -26706,0.8063095446615257 -26707,0.031203765988240706 -26708,0.5315146129948097 -26709,0.4509890249223346 -26710,0.2830114565201667 -26711,0.5888341500999291 -26712,0.8083655316220538 -26713,0.11053239920661084 -26714,0.5590627293161462 -26715,0.8216560489495098 -26716,0.39642565745926506 -26717,0.3526620832014963 -26718,0.9267974308516491 -26719,0.7977706099740309 -26720,0.1157976055916311 -26721,0.0004646834905007724 -26722,0.3632982273884916 -26723,0.7283272985273618 -26724,0.8207078253710137 -26725,0.6588763524571818 -26726,0.25669021021535565 -26727,0.46927178088328125 -26728,0.8043065491249647 -26729,0.2718906705780515 -26730,0.47925727035481513 -26731,0.09930793351130962 -26732,0.4416893863521919 -26733,0.5077794968628744 -26734,0.23060283497393264 -26735,0.6553565475013627 -26736,0.9771960179270053 -26737,0.022914222021355513 -26738,0.35019984210165334 -26739,0.9725538897433934 -26740,0.13378830329207891 -26741,0.8887099460687968 -26742,0.883619094972849 -26743,0.023422280347916824 -26744,0.7595609566680577 -26745,0.24503274557232335 -26746,0.24191450369014744 -26747,0.8772241132137022 -26748,0.4009904703209144 -26749,0.1684225700085098 -26750,0.7102122522600068 -26751,0.9510541641316975 -26752,0.40043492405580716 -26753,0.14473976875852768 -26754,0.11821477350334708 -26755,0.62321967998298 -26756,0.9788225570117535 -26757,0.3384118523916039 -26758,0.006185404383554527 -26759,0.43940918909921456 -26760,0.2990385745489865 -26761,0.37574852714636164 -26762,0.6732957139710275 -26763,0.1229059177637547 -26764,0.9222988436206155 -26765,0.8296717906520327 -26766,0.4987090924110067 -26767,0.8605425084258362 -26768,0.3306350445758751 -26769,0.9657445496020025 -26770,0.7279559360568556 -26771,0.04452646532300386 -26772,0.04328260105968196 -26773,0.8830732681194932 -26774,0.8521938166329968 -26775,0.5049751274498758 -26776,0.7591325409933382 -26777,0.2357443761955339 -26778,0.28153400671531426 -26779,0.16371734432667673 -26780,0.6295623041522884 -26781,0.3385644569333701 -26782,0.3249544820135123 -26783,0.840400800836767 -26784,0.24475704988136793 -26785,0.9238611289462529 -26786,0.6262935379675597 -26787,0.09799651103488438 -26788,0.820441377584099 -26789,0.5719543752882271 -26790,0.9307423477488553 -26791,0.4385663877769318 -26792,0.828545150820569 -26793,0.4492650312838651 -26794,0.9770496077017983 -26795,0.08811470189414727 -26796,0.693563822863175 -26797,0.7547788097731034 -26798,0.0031976042593093723 -26799,0.5211395673054054 -26800,0.675540952147322 -26801,0.8262635944820338 -26802,0.06598674317462194 -26803,0.4015661281047638 -26804,0.10179418667787454 -26805,0.7785425630125513 -26806,0.6543683620517238 -26807,0.5495067671052762 -26808,0.28654760586089256 -26809,0.661026930091755 -26810,0.4775110839398192 -26811,0.8715927146464579 -26812,0.32193976176911676 -26813,0.3977445267638604 -26814,0.8976334541139015 -26815,0.8220609315844103 -26816,0.15665463476614883 -26817,0.8876459545077925 -26818,0.29840297469169086 -26819,0.6896185438628254 -26820,0.0566934667746265 -26821,0.1396024477590182 -26822,0.09668332706093352 -26823,0.46357156260709864 -26824,0.10052311459603658 -26825,0.12634763738632626 -26826,0.9145280226884248 -26827,0.8629963716068687 -26828,0.14689538155496407 -26829,0.671839727988989 -26830,0.9754528105563159 -26831,0.5196623020686402 -26832,0.8698796120798845 -26833,0.8872530990458551 -26834,0.13415143708842636 -26835,0.7228242825495892 -26836,0.9077950099760318 -26837,0.08704652735476759 -26838,0.06059961437218997 -26839,0.15232699882616374 -26840,0.5093748973623804 -26841,0.42368234870730836 -26842,0.5194995667147289 -26843,0.43160091951575064 -26844,0.2994363294332111 -26845,0.1022429115621325 -26846,0.4568703574987356 -26847,0.19164939012858973 -26848,0.4899306119695107 -26849,0.07656085536463075 -26850,0.3405623699498346 -26851,0.07289124894552279 -26852,0.6466157687918551 -26853,0.5924494842987936 -26854,0.06950917232627385 -26855,0.7545579844208793 -26856,0.7324501194639238 -26857,0.31355703757758235 -26858,0.9191370667798585 -26859,0.06809895649702835 -26860,0.9112895342311881 -26861,0.5003044960451853 -26862,0.22079168030434349 -26863,0.4809008436875478 -26864,0.7451967148003409 -26865,0.9556276775410468 -26866,0.7819162464769189 -26867,0.011411418752089064 -26868,0.8235329283864473 -26869,0.27517248400919647 -26870,0.8811380784020327 -26871,0.832896551803128 -26872,0.4685008293309525 -26873,0.40686491092814925 -26874,0.9542608044699261 -26875,0.31945841233492744 -26876,0.9194507877430813 -26877,0.4564359639443264 -26878,0.8331505463770811 -26879,0.6922225153420751 -26880,0.6900814640673746 -26881,0.8230778657149146 -26882,0.6924681828211159 -26883,0.9882620210603346 -26884,0.7370777210137737 -26885,0.6928543315453032 -26886,0.6462719887196504 -26887,0.6772650446177131 -26888,0.02300195099774094 -26889,0.4768535350191745 -26890,0.13171277025415573 -26891,0.2975571292422473 -26892,0.9557681244481677 -26893,0.561361573791267 -26894,0.07834156774905987 -26895,0.7952108207390691 -26896,0.06340039989674218 -26897,0.9602816080830566 -26898,0.5035991112189542 -26899,0.4352738971968467 -26900,0.27339706836316946 -26901,0.7446255401119853 -26902,0.6961475003899712 -26903,0.4475972878792054 -26904,0.15239233227492222 -26905,0.9286925238179102 -26906,0.6107441038097143 -26907,0.14094436882616757 -26908,0.4176596453179847 -26909,0.20704994346549688 -26910,0.18444336357180457 -26911,0.06088552519288282 -26912,0.9989600297763369 -26913,0.2392627474587109 -26914,0.27847569986319043 -26915,0.10234730096811384 -26916,0.3668912695087174 -26917,0.18541665129610918 -26918,0.4100944878108693 -26919,0.24758544350200118 -26920,0.5645097714927209 -26921,0.8080620006512066 -26922,0.4046823051050309 -26923,0.1396938772195343 -26924,0.6339118147799622 -26925,0.9478435750960106 -26926,0.3155409121376376 -26927,0.10455112849345427 -26928,0.1927474118516983 -26929,0.5679435568910001 -26930,0.3838721803106634 -26931,0.313677573319438 -26932,0.33586619267557183 -26933,0.20038715090055026 -26934,0.44134677933153477 -26935,0.715940042196519 -26936,0.40615306767550163 -26937,0.47673842467424776 -26938,0.15633496879632947 -26939,0.673461850461255 -26940,0.48737425534281986 -26941,0.17183865594381909 -26942,0.0438774314450725 -26943,0.16691267878956628 -26944,0.5613086234880951 -26945,0.7447254384313896 -26946,0.3699506650778144 -26947,0.5090802456488838 -26948,0.20068432903998812 -26949,0.993604109656018 -26950,0.5959577006288874 -26951,0.8799656367592745 -26952,0.573914915645753 -26953,0.20955885042927802 -26954,0.27275095321163867 -26955,0.22745071296925468 -26956,0.9529238135616126 -26957,0.8242055428002154 -26958,0.9159497850671858 -26959,0.13830640298937835 -26960,0.4505822858952445 -26961,0.2503536955756236 -26962,0.97222738004991 -26963,0.13248759182846037 -26964,0.22132652205792147 -26965,0.8239146662825821 -26966,0.12061065252384973 -26967,0.609465038277016 -26968,0.8252020580807967 -26969,0.4346228050183467 -26970,0.5568042879248115 -26971,0.1994424975869329 -26972,0.29729179166282504 -26973,0.068872581610812 -26974,0.35939794151475124 -26975,0.09113325113926041 -26976,0.4012518734829471 -26977,0.7350007776474778 -26978,0.9614546778659798 -26979,0.7946189550626321 -26980,0.12258644330487345 -26981,0.48739380236685825 -26982,0.3886801761026526 -26983,0.81072871512659 -26984,0.5798750279603502 -26985,0.5547661659563005 -26986,0.6857178980611386 -26987,0.4711003797302966 -26988,0.8383606796278826 -26989,0.7485529574958172 -26990,0.40670545262377644 -26991,0.5836216588697142 -26992,0.9946151283266875 -26993,0.27409594048584085 -26994,0.7522683093209709 -26995,0.14461987773461027 -26996,0.6300738481510134 -26997,0.2616858743983693 -26998,0.37101827879096394 -26999,0.6309023116109275 -27000,0.5138279433413335 -27001,0.9842912069927966 -27002,0.025804154495910003 -27003,0.6849594348501207 -27004,0.259579997238773 -27005,0.4659170913604924 -27006,0.9340456075082044 -27007,0.3837273484774981 -27008,0.789350389028647 -27009,0.8693150243462668 -27010,0.8440380301971803 -27011,0.253379265056919 -27012,0.5818763070110898 -27013,0.5033312026909798 -27014,0.242942820300859 -27015,0.5227410831186241 -27016,0.162625851988912 -27017,0.014584451245674535 -27018,0.7195959524356049 -27019,0.23116135837513074 -27020,0.9291428319209146 -27021,0.7653064301729496 -27022,0.5694162260373048 -27023,0.6225929150656491 -27024,0.7856185128440473 -27025,0.6865265145071479 -27026,0.04884431903438213 -27027,0.9565109246067819 -27028,0.8887983389677038 -27029,0.8706678279303853 -27030,0.642885295074048 -27031,0.05289833994951243 -27032,0.7923130345066135 -27033,0.8918904957822326 -27034,0.9174235269813393 -27035,0.5385082662928128 -27036,0.7600390807840735 -27037,0.8619515816756652 -27038,0.437356010017553 -27039,0.6428034329027839 -27040,0.8009350620490974 -27041,0.7182162985025793 -27042,0.2643344375303831 -27043,0.5107901344428195 -27044,0.6477044792513649 -27045,0.6654207839311196 -27046,0.6113096648643267 -27047,0.4918438622658141 -27048,0.8111733227910554 -27049,0.014332378088065534 -27050,0.6181028124288992 -27051,0.21239908889616965 -27052,0.13629087791027572 -27053,0.24665843279309152 -27054,0.5725392756865312 -27055,0.027013790869073517 -27056,0.7266204415866484 -27057,0.5899823525242218 -27058,0.18382598540593986 -27059,0.7487781027005556 -27060,0.23113305503551296 -27061,0.871938560588705 -27062,0.8942658916218574 -27063,0.881028844912187 -27064,0.7662818663137362 -27065,0.3204561029423425 -27066,0.3972133902460391 -27067,0.5875826773544297 -27068,0.15361908811445124 -27069,0.4150832456899496 -27070,0.8018540114339288 -27071,0.2385116954676233 -27072,0.595447915241672 -27073,0.335036908684612 -27074,0.9017263348190077 -27075,0.6035029508971549 -27076,0.5202955045508058 -27077,0.8110238321044011 -27078,0.37457504709364275 -27079,0.060159843592783924 -27080,0.7763699307282574 -27081,0.9667372951290938 -27082,0.7321634434120343 -27083,0.8642590836370021 -27084,0.20613230599988608 -27085,0.9200916634005942 -27086,0.43680087964269454 -27087,0.15573497584770868 -27088,0.06676734046925725 -27089,0.684579213015493 -27090,0.3623787243794585 -27091,0.6000359438079675 -27092,0.6797580233334477 -27093,0.8625640894734381 -27094,0.9248000595315087 -27095,0.2863017239308939 -27096,0.7347986498102943 -27097,0.6041694970056951 -27098,0.1528313108183348 -27099,0.27938125455566387 -27100,0.7137800323667737 -27101,0.5281763536570881 -27102,0.2342151352635673 -27103,0.36941569081810566 -27104,0.8012667392258065 -27105,0.3933986162232026 -27106,0.7267333038468683 -27107,0.475771196248054 -27108,0.0810251639270676 -27109,0.21523882399688632 -27110,0.5421742253474247 -27111,0.07335042639473055 -27112,0.917373016332718 -27113,0.441995021862561 -27114,0.557193647321921 -27115,0.3444990166062829 -27116,0.5005958508202933 -27117,0.19377606740416364 -27118,0.10185878879500387 -27119,0.3991462866968344 -27120,0.22719735076780512 -27121,0.5406561305728625 -27122,0.2092748383753218 -27123,0.014515728794179839 -27124,0.5424364287242562 -27125,0.6203351340256223 -27126,0.21630772469123516 -27127,0.5244732740660445 -27128,0.593940476258294 -27129,0.4163972432152334 -27130,0.9507460067780988 -27131,0.737134676314813 -27132,0.7236306212405651 -27133,0.03595423982071588 -27134,0.24696672171308154 -27135,0.935281366573411 -27136,0.44217281805180175 -27137,0.05786698398980927 -27138,0.6732982007761186 -27139,0.5910585607378634 -27140,0.24195824990406922 -27141,0.20735565501607212 -27142,0.7240689781947546 -27143,0.346427584719168 -27144,0.9747028999710381 -27145,0.6951349610331409 -27146,0.2780222028830902 -27147,0.3665923087920563 -27148,0.9562011352969344 -27149,0.7919205071166461 -27150,0.7019359724488156 -27151,0.41202079266186975 -27152,0.7973200571628191 -27153,0.7275517124946101 -27154,0.35120655210521645 -27155,0.08339538305022309 -27156,0.36997140904897796 -27157,0.6926039055194897 -27158,0.2603029161597631 -27159,0.6481041492556772 -27160,0.48923011163516195 -27161,0.106459424533209 -27162,0.3537668092777897 -27163,0.6174686614558605 -27164,0.6640003323699307 -27165,0.5580143468141149 -27166,0.09025073311481246 -27167,0.007430517621792476 -27168,0.5111106603666489 -27169,0.08579571418205645 -27170,0.9539877714317659 -27171,0.852683088217366 -27172,0.12772717905965214 -27173,0.23672184555394038 -27174,0.6853859630608782 -27175,0.22742092329682417 -27176,0.1077336647250392 -27177,0.2705450254183419 -27178,0.2475407459434239 -27179,0.8133450019308929 -27180,0.8144259740737981 -27181,0.7682369071764895 -27182,0.9070865158863267 -27183,0.8888157447379822 -27184,0.49620884721049785 -27185,0.645207660568818 -27186,0.12835871422725376 -27187,0.2647661236487784 -27188,0.18989480780440682 -27189,0.7162387918993779 -27190,0.5876890189173345 -27191,0.09952374743739212 -27192,0.4841367316781471 -27193,0.9361444448759407 -27194,0.09983447804443091 -27195,0.5476764608590415 -27196,0.7673427264450449 -27197,0.18527430849889148 -27198,0.010579786963094584 -27199,0.7827532652744139 -27200,0.6455737190051086 -27201,0.8912421770754629 -27202,0.09234738082881822 -27203,0.5204802140540468 -27204,0.9301616216466613 -27205,0.7654482657543137 -27206,0.7636619657494269 -27207,0.07613521366683018 -27208,0.7634273245793853 -27209,0.11478232345308526 -27210,0.30407045768177987 -27211,0.6345379994261773 -27212,0.3821053782784891 -27213,0.033574982640864004 -27214,0.5149863039329547 -27215,0.6701209638945247 -27216,0.4881169217329093 -27217,0.06213689809250922 -27218,0.7742594570163521 -27219,0.1968287361942015 -27220,0.961383623577218 -27221,0.5073309134217298 -27222,0.33776930377976544 -27223,0.1700504472907718 -27224,0.5298966038486072 -27225,0.1828290654867002 -27226,0.41248487550760693 -27227,0.21680590605340766 -27228,0.93173551672082 -27229,0.730136327221238 -27230,0.32963635323483464 -27231,0.7727439841965474 -27232,0.7663789461973605 -27233,0.9842428998469597 -27234,0.9083770085790174 -27235,0.7610858342755492 -27236,0.38802571819967835 -27237,0.30191988587187435 -27238,0.968748870250755 -27239,0.955828436028465 -27240,0.16314708888205898 -27241,0.40695650324301624 -27242,0.9745473910723238 -27243,0.6570003722873324 -27244,0.7139835021355005 -27245,0.5467842376417414 -27246,0.08767701714444132 -27247,0.7037228001696716 -27248,0.017672198340156098 -27249,0.830146426813214 -27250,0.4906196084093336 -27251,0.9047493170234985 -27252,0.30675902635736974 -27253,0.622996339413555 -27254,0.31944933624877514 -27255,0.47283049419786416 -27256,0.4899360359843682 -27257,0.7486906971455757 -27258,0.9720705067193983 -27259,0.1318740425753806 -27260,0.4030041677693802 -27261,0.5414403798044624 -27262,0.44290599242067874 -27263,0.819659692259524 -27264,0.05772026315612877 -27265,0.13802448920685928 -27266,0.1545879677737183 -27267,0.39337572171428514 -27268,0.6965325086007516 -27269,0.8157899658200488 -27270,0.688821901545982 -27271,0.32652607813091394 -27272,0.22145928665107173 -27273,0.2497124942996266 -27274,0.6074042802485302 -27275,0.48636652010065984 -27276,0.21059352752020444 -27277,0.9736627932007108 -27278,0.5970270774428991 -27279,0.004641642899488985 -27280,0.6103213378406798 -27281,0.8941581922238659 -27282,0.8458637714533616 -27283,0.987008394376671 -27284,0.04211514678054129 -27285,0.03413148183495851 -27286,0.0071291856702352385 -27287,0.3991118081329792 -27288,0.539274832854357 -27289,0.7233502240831997 -27290,0.7865967700686408 -27291,0.24548045971935673 -27292,0.4339250573803325 -27293,0.18970568730516224 -27294,0.6448014839265173 -27295,0.003325696861811611 -27296,0.18311161666529185 -27297,0.33282004496866646 -27298,0.33287281361269316 -27299,0.8188129485896359 -27300,0.16192318281791207 -27301,0.15964504358733456 -27302,0.0489376733254413 -27303,0.009246558292162477 -27304,0.7527372175735149 -27305,0.37605314617375807 -27306,0.5240878973918991 -27307,0.09165602747179946 -27308,0.13998658181224377 -27309,0.2600352730953408 -27310,0.6487505390914948 -27311,0.7695077197139742 -27312,0.9426756702333497 -27313,0.5026716547093697 -27314,0.5598893287825648 -27315,0.27827694764565203 -27316,0.9234404095699372 -27317,0.2983219583394068 -27318,0.7644643975232116 -27319,0.12553154370303632 -27320,0.22299363207266398 -27321,0.9312704096469562 -27322,0.9396473067291597 -27323,0.7136230087379589 -27324,0.5243212106175952 -27325,0.11933697241545915 -27326,0.23850455372096946 -27327,0.629069582981145 -27328,0.273983110362816 -27329,0.3398865975120322 -27330,0.6605952656485017 -27331,0.7584076034836378 -27332,0.37605757988611854 -27333,0.11588428060929068 -27334,0.6312328234522157 -27335,0.33290570005142206 -27336,0.729025221557355 -27337,0.008296014248481587 -27338,0.9368844275627122 -27339,0.25778675950299446 -27340,0.7722045783608692 -27341,0.31695139003195105 -27342,0.04427240402433219 -27343,0.8445920116228697 -27344,0.1618247816687982 -27345,0.6854367741193186 -27346,0.8982618866890383 -27347,0.9201363340232273 -27348,0.8902116617102613 -27349,0.513080440415429 -27350,0.6106831757537698 -27351,0.8872163790982477 -27352,0.9318379521680843 -27353,0.81709269954797 -27354,0.018258516514972345 -27355,0.8252916300713132 -27356,0.8917101308463052 -27357,0.027314438529668417 -27358,0.8284619635564938 -27359,0.5319437588645114 -27360,0.5172967692880951 -27361,0.463577504447771 -27362,0.6523790011532955 -27363,0.17707976805802972 -27364,0.6154464019887188 -27365,0.06829628613226613 -27366,0.044687992701144874 -27367,0.14330681786210164 -27368,0.14667149314268757 -27369,0.7237185866630798 -27370,0.5309248607457181 -27371,0.19255856505426805 -27372,0.11360181957797522 -27373,0.7476889913270152 -27374,0.8222047544793667 -27375,0.24916226204102343 -27376,0.151346008285017 -27377,0.42489105949250827 -27378,0.5773397518608591 -27379,0.9890015426737511 -27380,0.9436281874443959 -27381,0.7175384178004914 -27382,0.19457836549798546 -27383,0.5651004368160271 -27384,0.5592455437911329 -27385,0.20848766938553165 -27386,0.7963258877852145 -27387,0.157863944722469 -27388,0.3521804531773801 -27389,0.7969945803599515 -27390,0.49204826508606747 -27391,0.11999273192084003 -27392,0.7712479406539337 -27393,0.8631219101992632 -27394,0.26529525347956384 -27395,0.5285927954288974 -27396,0.6801043991497455 -27397,0.33668476575899786 -27398,0.9987550310232676 -27399,0.05919833263408769 -27400,0.6361322514292631 -27401,0.24218213926576715 -27402,0.7189290374069048 -27403,0.9312627835496172 -27404,0.17281556993637237 -27405,0.14014525197762473 -27406,0.4597876503621178 -27407,0.18112744434957762 -27408,0.6523387003555104 -27409,0.8595304741617873 -27410,0.31271771714303664 -27411,0.599253625731523 -27412,0.8185600599585493 -27413,0.5034468175115621 -27414,0.8259423568257422 -27415,0.5667133612798834 -27416,0.972033832557363 -27417,0.6580847540371253 -27418,0.32960524083821574 -27419,0.23604527322755353 -27420,0.9520300147263016 -27421,0.25323313995998964 -27422,0.7439282503807568 -27423,0.8735123918936972 -27424,0.940362393403192 -27425,0.8018040228044598 -27426,0.7844483452412885 -27427,0.6043825136936505 -27428,0.21922200249691803 -27429,0.8009540143948259 -27430,0.14302989296688307 -27431,0.9887399481283773 -27432,0.17508459019505807 -27433,0.1276585129544764 -27434,0.9893203196838238 -27435,0.29665703242228414 -27436,0.8631935254774811 -27437,0.7350606415073753 -27438,0.27875634670273786 -27439,0.33023479643269615 -27440,0.9096954524417323 -27441,0.9011457310620808 -27442,0.7120050583405036 -27443,0.8681576976943661 -27444,0.05027454979996038 -27445,0.782410305398072 -27446,0.17455105104249158 -27447,0.42884755712753697 -27448,0.74481118078293 -27449,0.17518529901487634 -27450,0.27956971109831663 -27451,0.14355118816105517 -27452,0.2263269056153827 -27453,0.2867100871528804 -27454,0.9940763221736908 -27455,0.32315609710382254 -27456,0.6340331950493098 -27457,0.15645135364766571 -27458,0.0063969685616092065 -27459,0.982825961117125 -27460,0.10184890089238474 -27461,0.9204555305054407 -27462,0.9434425486484344 -27463,0.5392617678190207 -27464,0.17325621732255436 -27465,0.2877680133042676 -27466,0.7672064475200381 -27467,0.5514729246509522 -27468,0.39007053463501884 -27469,0.6503279404059374 -27470,0.7689985093470777 -27471,0.17685666788897936 -27472,0.7061542864668026 -27473,0.023377631669325605 -27474,0.2012597379659673 -27475,0.8857184119866819 -27476,0.7424629543473754 -27477,0.7479832500575841 -27478,0.6134727502110208 -27479,0.08259841025595649 -27480,0.23925409451119362 -27481,0.819616840623128 -27482,0.5318292561790725 -27483,0.11796846927201021 -27484,0.7282302020207034 -27485,0.0663796885879524 -27486,0.5184177730402704 -27487,0.9288311602131392 -27488,0.0852653891541314 -27489,0.940467928947835 -27490,0.909318322021243 -27491,0.45396528870942576 -27492,0.3196700450946425 -27493,0.958179051526371 -27494,0.3905394467125525 -27495,0.40135139538459186 -27496,0.8049325553790637 -27497,0.15910396687671335 -27498,0.6783958629215906 -27499,0.7640908431858009 -27500,0.7061983992616503 -27501,0.3680411789586243 -27502,0.14172423579185545 -27503,0.3121284396644165 -27504,0.5130111770901532 -27505,0.19577117258234222 -27506,0.6838977711528619 -27507,0.43362328996675936 -27508,0.1269318931820106 -27509,0.4053916035818915 -27510,0.9493609888478043 -27511,0.5790998582953747 -27512,0.9564234084339276 -27513,0.8410284438950324 -27514,0.8118042929710164 -27515,0.6727364528841766 -27516,0.06428680969907385 -27517,0.1771098366395335 -27518,0.13192231973365598 -27519,0.8228158807055451 -27520,0.604807515100638 -27521,0.6163232862047207 -27522,0.1643469005900946 -27523,0.9646314029619454 -27524,0.8636009201446102 -27525,0.9438590643718264 -27526,0.6397864950794725 -27527,0.7177608978921944 -27528,0.9442933346313499 -27529,0.4850018785730994 -27530,0.4222718542268169 -27531,0.10434701249699774 -27532,0.7486064133877649 -27533,0.968885871887588 -27534,0.9888685044177967 -27535,0.13293513375998034 -27536,0.9735614814281877 -27537,0.5658425164073859 -27538,0.6069941177620048 -27539,0.14430861704570797 -27540,0.2186990201316641 -27541,0.5131459676969156 -27542,0.08893983649254145 -27543,0.15825428566321953 -27544,0.43996213305080256 -27545,0.07975068949092601 -27546,0.5479700203964128 -27547,0.007305341668524368 -27548,0.37601309426815566 -27549,0.9853166119221806 -27550,0.13533744681568083 -27551,0.03086083228379477 -27552,0.9992501407191511 -27553,0.39656013901346976 -27554,0.2414744918476479 -27555,0.2555781440233824 -27556,0.4027617161092252 -27557,0.057200324418933746 -27558,0.6123450629119871 -27559,0.9282616877081719 -27560,0.36372639651163674 -27561,0.986734308212543 -27562,0.35740245480387167 -27563,0.09248205297698253 -27564,0.8080886658382047 -27565,0.36211263216422185 -27566,0.7294817227224052 -27567,0.48805942977746464 -27568,0.8334169706491149 -27569,0.9115844900066763 -27570,0.5457947893920955 -27571,0.7667079557270986 -27572,0.25329764043323055 -27573,0.3201820112594329 -27574,0.5302925338896535 -27575,0.5039926238867082 -27576,0.017168173363076078 -27577,0.8728517707066766 -27578,0.9931692117303133 -27579,0.15443284825817183 -27580,0.09278973608563723 -27581,0.27682390380372024 -27582,0.6196903247609586 -27583,0.10845812530556065 -27584,0.3116550193446578 -27585,0.810333177855357 -27586,0.13158660479584505 -27587,0.6508552474457168 -27588,0.6959249194483761 -27589,0.9100466518898754 -27590,0.012792604146706354 -27591,0.611819685333679 -27592,0.16013511276561598 -27593,0.3041625672725524 -27594,0.8387427468615994 -27595,0.6575919340324207 -27596,0.4008230114142449 -27597,0.599572209021318 -27598,0.4110891837298676 -27599,0.8735682259997265 -27600,0.552578823209551 -27601,0.19294125792983408 -27602,0.6842449024778458 -27603,0.9147732939550923 -27604,0.8931230642590673 -27605,0.46319337135512684 -27606,0.9997306782352625 -27607,0.662344039737521 -27608,0.805844440565232 -27609,0.865861027312856 -27610,0.3354279288870856 -27611,0.7481390279490912 -27612,0.5190589282924493 -27613,0.9510558425520195 -27614,0.2619674340146072 -27615,0.09700302633854718 -27616,0.2171850965426232 -27617,0.07390761923945044 -27618,0.8697216630403288 -27619,0.621890134150432 -27620,0.057526179828792046 -27621,0.7953890285799727 -27622,0.3076107987578217 -27623,0.9140407723507916 -27624,0.5442906784018887 -27625,0.15869677279718186 -27626,0.8500184915722852 -27627,0.7409093540420612 -27628,0.2887941921529873 -27629,0.607796594928689 -27630,0.38248442605298094 -27631,0.6387087366174132 -27632,0.6460567812955127 -27633,0.45842038377537353 -27634,0.8039929938243268 -27635,0.5287786271809307 -27636,0.3443389601081791 -27637,0.45925033966124773 -27638,0.30178131447143564 -27639,0.9597634924032027 -27640,0.807004742800471 -27641,0.842920471930803 -27642,0.800272116454214 -27643,0.5653143021392941 -27644,0.012699625962100614 -27645,0.8509824190174266 -27646,0.03342737047912836 -27647,0.32113373147123314 -27648,0.551574839098401 -27649,0.6205874339586754 -27650,0.1094949840013465 -27651,0.5903857408765754 -27652,0.24679049452819968 -27653,0.035808342168408 -27654,0.5168303197491332 -27655,0.829290024040256 -27656,0.5585164495739202 -27657,0.6290854393647278 -27658,0.0884743803124407 -27659,0.6873208746900578 -27660,0.24747894601975928 -27661,0.30892572614917224 -27662,0.17843268261012812 -27663,0.5734038587433324 -27664,0.5432615402750185 -27665,0.8210894914007353 -27666,0.3804447101277091 -27667,0.23191084825295039 -27668,0.3190586744358327 -27669,0.8926825434496424 -27670,0.6070452056348706 -27671,0.784621839119096 -27672,0.8757641213638662 -27673,0.6206234434043985 -27674,0.46543893665634695 -27675,0.6005445753474634 -27676,0.27384491360298013 -27677,0.40166600457095103 -27678,0.017014430334862496 -27679,0.9603129418231318 -27680,0.8541746387322556 -27681,0.9643368896352655 -27682,0.9856430797360339 -27683,0.6322229439751781 -27684,0.3501847333036159 -27685,0.022343708244750626 -27686,0.0302246008986633 -27687,0.6426421716881109 -27688,0.48789338704583085 -27689,0.5558562243066879 -27690,0.020818551291674203 -27691,0.7073717544418334 -27692,0.9221941777962314 -27693,0.09196233114387853 -27694,0.5777791468577924 -27695,0.44916365445528483 -27696,0.6365717496918489 -27697,0.269715193843562 -27698,0.4878267306848366 -27699,0.15383046078907192 -27700,0.3864800094069246 -27701,0.9940862959750649 -27702,0.8436675501536481 -27703,0.8164751548694069 -27704,0.5842412274313844 -27705,0.4509273667284711 -27706,0.06448638600711787 -27707,0.6542614875972038 -27708,0.6195410915465039 -27709,0.6170615168623361 -27710,0.001329859783873233 -27711,0.6588819414631567 -27712,0.5845161530957492 -27713,0.42981468440683157 -27714,0.2502554598179838 -27715,0.009376703296658517 -27716,0.840416954337047 -27717,0.2510723737911408 -27718,0.048980946452221286 -27719,0.8780009605268815 -27720,0.3918445774554774 -27721,0.2609104544081742 -27722,0.8245452789741474 -27723,0.8285986215983137 -27724,0.05791373901853847 -27725,0.023548575847739506 -27726,0.031945120513032776 -27727,0.44253124029220137 -27728,0.031338405641377576 -27729,0.12871940910391522 -27730,0.8233619782083209 -27731,0.7165749381766249 -27732,0.04469249145703824 -27733,0.9290475314344978 -27734,0.9689788954229465 -27735,0.036540544692385324 -27736,0.40822317402601827 -27737,0.5093997653989321 -27738,0.4961137703748265 -27739,0.09435815006198645 -27740,0.3516086489283924 -27741,0.1839273652222626 -27742,0.8861724302973507 -27743,0.6958096860750332 -27744,0.34903794934036736 -27745,0.6473545320762256 -27746,0.319538081449235 -27747,0.020630716867556242 -27748,0.5480589285652655 -27749,0.9436676108985921 -27750,0.48751547938262374 -27751,0.6342807761275062 -27752,0.19512988789106378 -27753,0.06731784367158544 -27754,0.5754372262983607 -27755,0.779301195933682 -27756,0.47525814558304813 -27757,0.3603555802395103 -27758,0.5982315610904363 -27759,0.09332449019970646 -27760,0.292969302049607 -27761,0.40380948135644035 -27762,0.5878993035625072 -27763,0.5858830851002697 -27764,0.09949416192797877 -27765,0.6770553821076493 -27766,0.13555446141183236 -27767,0.21212588081908867 -27768,0.27172305783042316 -27769,0.4633865402487273 -27770,0.1267276334033366 -27771,0.9899068735311944 -27772,0.2134638039710265 -27773,0.6925938486630007 -27774,0.30206694976004733 -27775,0.8418747329780114 -27776,0.1537384535913735 -27777,0.40207741286901644 -27778,0.5990578732149773 -27779,0.491370552262811 -27780,0.9215596157583902 -27781,0.6711881722320769 -27782,0.20940471276851114 -27783,0.3559096651965058 -27784,0.693761922566861 -27785,0.5430139932936883 -27786,0.35170340878126816 -27787,0.2153174113422227 -27788,0.1982676173488226 -27789,0.6839634195064955 -27790,0.4566509786702668 -27791,0.2539981914024054 -27792,0.21117951115683897 -27793,0.6789241080339148 -27794,0.6881881583090154 -27795,0.7455403893111529 -27796,0.30193343105675163 -27797,0.7838768523745823 -27798,0.02484267965045528 -27799,0.4442601403601145 -27800,0.5311785132837509 -27801,0.2247442988056354 -27802,0.4955611947417784 -27803,0.12388067155812132 -27804,0.9856403642857531 -27805,0.8011812426043403 -27806,0.12980138562357624 -27807,0.6681912458988544 -27808,0.39757849887991026 -27809,0.6716780697920309 -27810,0.5790737118512853 -27811,0.9789506748070088 -27812,0.23647377022004912 -27813,0.4803316721531665 -27814,0.9985503092716779 -27815,0.9248656198688578 -27816,0.6532215047244506 -27817,0.6616193393463871 -27818,0.4887770947918787 -27819,0.7657753216012483 -27820,0.7619926146947118 -27821,0.9722040655017629 -27822,0.3137086670999759 -27823,0.805480528264147 -27824,0.5241780797869593 -27825,0.27856047478428736 -27826,0.3772202296447541 -27827,0.6597564990447109 -27828,0.6456603935050709 -27829,0.8945106378444081 -27830,0.812201786452291 -27831,0.08020210782405335 -27832,0.9539067311079162 -27833,0.4592411256769785 -27834,0.3210189043330931 -27835,0.8852878652585404 -27836,0.8696981105073092 -27837,0.35077789129751724 -27838,0.6613925821110346 -27839,0.871662217095652 -27840,0.19424594175653287 -27841,0.975656240242935 -27842,0.4336122510438555 -27843,0.012217744335815461 -27844,0.9386085135400174 -27845,0.8148204667158621 -27846,0.6551276890820251 -27847,0.23366210436758805 -27848,0.21881884252751638 -27849,0.8063138504786371 -27850,0.7723486453608029 -27851,0.6492751395784867 -27852,0.22984084638766555 -27853,0.20804129145984307 -27854,0.2508006829965127 -27855,0.9967429561577115 -27856,0.5573627229553811 -27857,0.7684525801558657 -27858,0.482710141585447 -27859,0.7533189687849339 -27860,0.6419111986849418 -27861,0.9126100364390395 -27862,0.8647155862037623 -27863,0.9221913376804449 -27864,0.37399967923723165 -27865,0.34341300989530454 -27866,0.5482565175143441 -27867,0.9722587686533102 -27868,0.70026303453839 -27869,0.12516164663079288 -27870,0.7240407081877109 -27871,0.8642307920291016 -27872,0.3103653197808861 -27873,0.8922059432370036 -27874,0.653413654528712 -27875,0.9033956489767392 -27876,0.2479455994548787 -27877,0.36142464351747383 -27878,0.13893091653079026 -27879,0.3326294069502598 -27880,0.6733136170863 -27881,0.36592828871615624 -27882,0.18569455052392603 -27883,0.33969238065329044 -27884,0.05174163135084342 -27885,0.11727664457129072 -27886,0.3903081816015823 -27887,0.9009373899227169 -27888,0.5110070595889015 -27889,0.7885619705706366 -27890,0.11154503199897847 -27891,0.0925770471237225 -27892,0.3246220399728278 -27893,0.08102247989425138 -27894,0.09667359761610184 -27895,0.6123826953137098 -27896,0.5847601380183569 -27897,0.6105060745703087 -27898,0.5154356890906044 -27899,0.16632377749353333 -27900,0.041453293200329866 -27901,0.6019287395185354 -27902,0.9848370822510588 -27903,0.7451190586333274 -27904,0.46153489496691213 -27905,0.2188945912237632 -27906,0.45805106874437806 -27907,0.9953488792021399 -27908,0.7786399412091926 -27909,0.87449294697605 -27910,0.5684906113435257 -27911,0.8662253921888031 -27912,0.09716541751470398 -27913,0.8632923496786175 -27914,0.18979628240812518 -27915,0.16002141495386346 -27916,0.6820322730049589 -27917,0.9085167387139551 -27918,0.7590471664390372 -27919,0.5867755709502974 -27920,0.02849509157576413 -27921,0.5044140449945577 -27922,0.7781927066044402 -27923,0.5874286839427423 -27924,0.24482363795173112 -27925,0.5292855643684049 -27926,0.9638965072204746 -27927,0.5769369645423152 -27928,0.38900494116263606 -27929,0.25915215374074196 -27930,0.994064252952627 -27931,0.9768260033166034 -27932,0.31642334153628293 -27933,0.9312572966136349 -27934,0.17677115986582737 -27935,0.8463700810453156 -27936,0.0030602966202093462 -27937,0.10617864876172323 -27938,0.9046589022857403 -27939,0.9225994335388962 -27940,0.43892217932019484 -27941,0.1257606395701495 -27942,0.6386646104160181 -27943,0.24975105407646958 -27944,0.5352173814481708 -27945,0.4265804364122544 -27946,0.8816265970842779 -27947,0.5698918767453381 -27948,0.7372524836965852 -27949,0.11716067580402256 -27950,0.5714211992266108 -27951,0.060506533829619236 -27952,0.07333657727507359 -27953,0.10441195865632735 -27954,0.9129686385500202 -27955,0.08892513646717182 -27956,0.30827552741048225 -27957,0.7404453959647983 -27958,0.5106159634371407 -27959,0.7326334154613491 -27960,0.5895423208113187 -27961,0.5604808488142347 -27962,0.7799812604996212 -27963,0.45292064715268987 -27964,0.7535426294586626 -27965,0.2650010316405911 -27966,0.1070796544841911 -27967,0.34202614484388627 -27968,0.6652658195391434 -27969,0.7023235977155107 -27970,0.0562817978161505 -27971,0.4185825244582714 -27972,0.03727948668321357 -27973,0.47693050634558587 -27974,0.3236717776613234 -27975,0.23758460212406196 -27976,0.3458085784407905 -27977,0.7218150979016088 -27978,0.9576070361375066 -27979,0.8739541449668204 -27980,0.8013169277377776 -27981,0.7540934216808738 -27982,0.18730799120737018 -27983,0.32743381166017893 -27984,0.818012198491682 -27985,0.8621137682190151 -27986,0.8777109254499237 -27987,0.0739843393396018 -27988,0.7450691174137727 -27989,0.7784412162500779 -27990,0.6145175609635776 -27991,0.016859470608474703 -27992,0.6836688862981679 -27993,0.009275224505173152 -27994,0.04319138144421186 -27995,0.4172398271508275 -27996,0.9771821662062362 -27997,0.7442137695329635 -27998,0.9753472600422509 -27999,0.15780929679223776 -28000,0.346848908483547 -28001,0.9391763640274324 -28002,0.058256333453575615 -28003,0.5221885910673415 -28004,0.23292907094646165 -28005,0.40791886296602864 -28006,0.9467550924563798 -28007,0.30962127911494364 -28008,0.6642984219605004 -28009,0.007317329590662891 -28010,0.027634966389518567 -28011,0.6588846913156615 -28012,0.009576894080212006 -28013,0.1460505469521587 -28014,0.2128547538003963 -28015,0.8445572233365707 -28016,0.8117956326627489 -28017,0.3227970689469045 -28018,0.2559427995565605 -28019,0.722705167568678 -28020,0.6168404741421649 -28021,0.30868028077101306 -28022,0.3581613919810489 -28023,0.224867168242329 -28024,0.01238176067409602 -28025,0.9936041854608584 -28026,0.9516817441049309 -28027,0.41483313633740004 -28028,0.7563639014070332 -28029,0.3599303498621478 -28030,0.8851747441551017 -28031,0.4233727139164518 -28032,0.4547126938756443 -28033,0.7221999532396224 -28034,0.5936649440903154 -28035,0.5492024751559741 -28036,0.22637331108090042 -28037,0.636078920115008 -28038,0.012854263809171651 -28039,0.6186016461991478 -28040,0.24958910672904555 -28041,0.5887280448444816 -28042,0.3024905308989079 -28043,0.9348769511757223 -28044,0.6106431901392276 -28045,0.8036351100117164 -28046,0.6614941922178196 -28047,0.5422914754689697 -28048,0.38470344670363665 -28049,0.26387156221869634 -28050,0.2459754114771383 -28051,0.40709108233544256 -28052,0.5350960583587882 -28053,0.08402137671056942 -28054,0.2613933994935035 -28055,0.9031170751401918 -28056,0.5249060733551095 -28057,0.743903032537472 -28058,0.5673859031299693 -28059,0.44670537865550364 -28060,0.9586265791075199 -28061,0.08156159115015416 -28062,0.5059657524059828 -28063,0.6549704812693354 -28064,0.5141783134999636 -28065,0.9098125256299221 -28066,0.7020021167298971 -28067,0.506809610442584 -28068,0.9370542257946478 -28069,0.7856005899759552 -28070,0.0023851545651123462 -28071,0.009169872291648895 -28072,0.9009356311413008 -28073,0.4879337245445766 -28074,0.8128747526525736 -28075,0.19990442937185782 -28076,0.06734571495202979 -28077,0.6992503573827532 -28078,0.06216111916058242 -28079,0.374648093646757 -28080,0.12129096986744192 -28081,0.7301410434377458 -28082,0.435797179664313 -28083,0.47168414364367084 -28084,0.974948880337922 -28085,0.40362026391589123 -28086,0.14092857295044547 -28087,0.052079827939949586 -28088,0.06639346764494203 -28089,0.12153647094470255 -28090,0.6078259043092711 -28091,0.7738102210645467 -28092,0.7605882551278205 -28093,0.07386250969315522 -28094,0.7190461346944416 -28095,0.8333218796133387 -28096,0.4130680840398454 -28097,0.2786809327474855 -28098,0.6878049976146937 -28099,0.8358899626088382 -28100,0.1080941354042696 -28101,0.3209017499324306 -28102,0.009788863526320246 -28103,0.29639677097379324 -28104,0.618323101054293 -28105,0.1903921490477244 -28106,0.5320596285566402 -28107,0.46755526511297496 -28108,0.4694509329790836 -28109,0.1483481397937596 -28110,0.4945511482472452 -28111,0.21006855626191556 -28112,0.553181373664628 -28113,0.34774737170183356 -28114,0.19090470910622437 -28115,0.5731959324085196 -28116,0.7704530959529453 -28117,0.2506930505177185 -28118,0.9950664269513008 -28119,0.3343157058218593 -28120,0.45613833587582375 -28121,0.3091746357718883 -28122,0.015055693537629922 -28123,0.5211335199818296 -28124,0.6438153510598388 -28125,0.051524767142431704 -28126,0.2863977924099512 -28127,0.5350787424234913 -28128,0.9106769239741628 -28129,0.3062379182517525 -28130,0.828310193193375 -28131,0.9741932396935336 -28132,0.8054386916799426 -28133,0.3909693131963565 -28134,0.9637190694695491 -28135,0.045834198524343894 -28136,0.586054507068052 -28137,0.38485316291408345 -28138,0.08794940779690608 -28139,0.06306247996716619 -28140,0.0700042614092431 -28141,0.7701251043217044 -28142,0.025575651057228033 -28143,0.9425021228675234 -28144,0.3339949594119692 -28145,0.5234686065553764 -28146,0.7619079605340662 -28147,0.34697389117193866 -28148,0.03711875372437523 -28149,0.9931358864872636 -28150,0.33638044461912653 -28151,0.7318644107387601 -28152,0.15092685187167454 -28153,0.6454417794911858 -28154,0.8157232537861332 -28155,0.3723212673902676 -28156,0.28980896007065626 -28157,0.04024918234115715 -28158,0.9602819067224613 -28159,0.8599356008576461 -28160,0.2950256862559557 -28161,0.7941448153657275 -28162,0.32537926625995894 -28163,0.19751988149640998 -28164,0.8974348582916228 -28165,0.6467447249934044 -28166,0.587095898348921 -28167,0.6470768195475284 -28168,0.5179720232202579 -28169,0.851134911438378 -28170,0.3959819050911456 -28171,0.6653633176043247 -28172,0.33737708173048164 -28173,0.0522442249961006 -28174,0.2808429064244431 -28175,0.8860622410550353 -28176,0.3953706436664638 -28177,0.5658062398980448 -28178,0.12337348802647219 -28179,0.42041982670142597 -28180,0.36911880726046264 -28181,0.7593671417989977 -28182,0.45338027631628997 -28183,0.18719409066536064 -28184,0.3888147954705842 -28185,0.8457114274998432 -28186,0.9088995498134727 -28187,0.4610886727585415 -28188,0.47003577285056153 -28189,0.7990270815431247 -28190,0.02451882573548636 -28191,0.800752552494141 -28192,0.5225843621472771 -28193,0.7148003004163243 -28194,0.34949304140558257 -28195,0.45879668211526614 -28196,0.8346006434867022 -28197,0.8344536528303808 -28198,0.1666798844530104 -28199,0.9607931486356056 -28200,0.8244012118230402 -28201,0.2774881074793897 -28202,0.7737246173100449 -28203,0.07202441777070423 -28204,0.10411140509890315 -28205,0.8965492244601976 -28206,0.696939125843366 -28207,0.16319032466685535 -28208,0.7633167178177036 -28209,0.5596000135538594 -28210,0.7514725648725539 -28211,0.530189338675274 -28212,0.2768314570238485 -28213,0.893885145436739 -28214,0.24718433774812076 -28215,0.9346687053994727 -28216,0.3548913334922532 -28217,0.6591667832326218 -28218,0.6731678374533162 -28219,0.7240215511585602 -28220,0.5227297919585578 -28221,0.9228319560197827 -28222,0.6538545617184033 -28223,0.820777344855583 -28224,0.8923061896698682 -28225,0.6735364559215018 -28226,0.49703337680839765 -28227,0.5289243660296764 -28228,0.2600417968128823 -28229,0.9086265658121164 -28230,0.5396412041503164 -28231,0.6723804977587504 -28232,0.9199552207023244 -28233,0.2109222582542578 -28234,0.28268233057885483 -28235,0.6262269179947032 -28236,0.9439308274219346 -28237,0.6374725966472576 -28238,0.38459017963778597 -28239,0.8049509063055197 -28240,0.2322295515381676 -28241,0.05378686033442859 -28242,0.46020232588282695 -28243,0.9231615934903072 -28244,0.4252546306854985 -28245,0.35233716816125027 -28246,0.5118906611248649 -28247,0.4627083109065304 -28248,0.5855755871579409 -28249,0.3212939360727989 -28250,0.17291939157191394 -28251,0.7327588836315702 -28252,0.8785992765989775 -28253,0.8117240144079866 -28254,0.6054906180156844 -28255,0.4982455058681867 -28256,0.23763557680179848 -28257,0.37109674733709375 -28258,0.5588234320142991 -28259,0.884343305258131 -28260,0.38827004749334326 -28261,0.8227476168194656 -28262,0.15017249905935226 -28263,0.007903619537904527 -28264,0.29560946427212453 -28265,0.1843508723245415 -28266,0.7008117094596612 -28267,0.9825654997861765 -28268,0.2984033188464459 -28269,0.818050532338955 -28270,0.6392397542252272 -28271,0.554039498933925 -28272,0.28884134831160546 -28273,0.848923818843239 -28274,0.2119904642107655 -28275,0.829733969227703 -28276,0.4396814859123369 -28277,0.8114427211507453 -28278,0.847922417527561 -28279,0.8041447071197615 -28280,0.15833460019456547 -28281,0.8021704648271873 -28282,0.5283807920529277 -28283,0.3279072016763753 -28284,0.7524686716196247 -28285,0.963185851237545 -28286,0.7122696876743505 -28287,0.5303154742874027 -28288,0.6378193129773739 -28289,0.3077730068403812 -28290,0.6430211348124332 -28291,0.8218283558843366 -28292,0.9862077897262977 -28293,0.3667044533882029 -28294,0.6370492973434229 -28295,0.6630141487020509 -28296,0.9133607274006893 -28297,0.8881947850553762 -28298,0.15886175278573722 -28299,0.6614545011252669 -28300,0.2578209705080118 -28301,0.22227049625577255 -28302,0.3643591721019924 -28303,0.1032115085396178 -28304,0.6536329637469643 -28305,0.5097881218465825 -28306,0.49604301827081887 -28307,0.22901175882362346 -28308,0.2020300746050976 -28309,0.5994292791151534 -28310,0.030862711641008067 -28311,0.46184385421937313 -28312,0.8653932673123068 -28313,0.8285803965758375 -28314,0.22817279243303212 -28315,0.3975525226029306 -28316,0.1029729021878002 -28317,0.337556328456844 -28318,0.5670698832988715 -28319,0.4798864431297478 -28320,0.0507302673303307 -28321,0.2941722162977539 -28322,0.3705860601133453 -28323,0.42049959845885165 -28324,0.3989291608596265 -28325,0.24230139374915483 -28326,0.314211612366904 -28327,0.9873664025882434 -28328,0.13964050658330873 -28329,0.19972992966106584 -28330,0.14310571787136284 -28331,0.8721653874323609 -28332,0.7829404223705773 -28333,0.46247441352100316 -28334,0.7289430589984794 -28335,0.20696791589639496 -28336,0.37615844924491126 -28337,0.6325565477105168 -28338,0.6757708577182358 -28339,0.6501258204739461 -28340,0.16763154259197866 -28341,0.1710394974108993 -28342,0.7473451292651041 -28343,0.7711151230772807 -28344,0.819050861373861 -28345,0.11858108806729206 -28346,0.4136005420274632 -28347,0.10245063000816612 -28348,0.7945706776399711 -28349,0.18023393099046137 -28350,0.3777205768369898 -28351,0.21930009049260513 -28352,0.8759038844652923 -28353,0.8908209446806279 -28354,0.6410098854609556 -28355,0.4826366256253384 -28356,0.8350814064443728 -28357,0.1660621073721471 -28358,0.4633213043670753 -28359,0.6247431930627938 -28360,0.6527581062793284 -28361,0.17377397751261237 -28362,0.547218708294207 -28363,0.462999023867224 -28364,0.9282798572734847 -28365,0.595451058964746 -28366,0.20686926308814202 -28367,0.6722682849719808 -28368,0.14977788984003781 -28369,0.6225179625632719 -28370,0.4419656682916179 -28371,0.6801258652633739 -28372,0.5952160516990652 -28373,0.46761607247505965 -28374,0.2848552810884595 -28375,0.12713394550186785 -28376,0.3390001423816683 -28377,0.19137126945978833 -28378,0.7265037312816542 -28379,0.4185390000879867 -28380,0.3570750096474461 -28381,0.3599233529523438 -28382,0.9434023169860171 -28383,0.01731718570259877 -28384,0.9216533107173656 -28385,0.9327802453417098 -28386,0.5943098887201116 -28387,0.5911216231498215 -28388,0.42116659631774833 -28389,0.667107147355018 -28390,0.7210921453512219 -28391,0.11884816677598187 -28392,0.8970853305672108 -28393,0.9898947669475633 -28394,0.25960962797753495 -28395,0.33030469190004186 -28396,0.49929389574390715 -28397,0.8281135246518387 -28398,0.4463333570482436 -28399,0.4691821919917101 -28400,0.8613954598045352 -28401,0.8287600812158226 -28402,0.7168195122261252 -28403,0.6171066320766024 -28404,0.6940548086277681 -28405,0.6236182248510954 -28406,0.07254050600011852 -28407,0.7792655545034951 -28408,0.9271907259686635 -28409,0.5620315389793877 -28410,0.2903579822654647 -28411,0.14879459581126864 -28412,0.5335541884037662 -28413,0.5083343083798825 -28414,0.9565621555651677 -28415,0.10079095035680907 -28416,0.4807362670288675 -28417,0.994815236171861 -28418,0.18525403922634542 -28419,0.6470139814252688 -28420,0.24386341492131813 -28421,0.8714389071671479 -28422,0.9769867679987947 -28423,0.48172513123902505 -28424,0.26334441946499343 -28425,0.38924566220642 -28426,0.6080998286842927 -28427,0.44848876737362153 -28428,0.4316291191089425 -28429,0.7657184664583682 -28430,0.6741395555997933 -28431,0.9799057722636654 -28432,0.9844774683168473 -28433,0.3386182514047783 -28434,0.2919917090852482 -28435,0.14148149943456023 -28436,0.3874220293162979 -28437,0.1518261210072943 -28438,0.2284421644486988 -28439,0.12145262539428803 -28440,0.011751966291968063 -28441,0.34850280029655756 -28442,0.737804968990673 -28443,0.5951033483478938 -28444,0.09368626511615652 -28445,0.08158670012570712 -28446,0.6619771608666981 -28447,0.7222203526405396 -28448,0.09347817256125335 -28449,0.3279698432688196 -28450,0.14362968584336233 -28451,0.027182471097071947 -28452,0.9159368734577954 -28453,0.0036140897220146018 -28454,0.760968609639731 -28455,0.11522758374764319 -28456,0.9997056891722601 -28457,0.6158361766754715 -28458,0.7919872629449325 -28459,0.8293890304660847 -28460,0.5672572477658593 -28461,0.21419946499526465 -28462,0.9782200081085519 -28463,0.08473220104788015 -28464,0.372360022945206 -28465,0.6062641719715793 -28466,0.3322186305602478 -28467,0.4026882685908333 -28468,0.5305601957348363 -28469,0.023324355478834824 -28470,0.6966605300815834 -28471,0.36974779650201905 -28472,0.9174584608980545 -28473,0.0034194776910961844 -28474,0.8755431745616661 -28475,0.35557578697191705 -28476,0.617358198583283 -28477,0.33396360477402653 -28478,0.9443046639861715 -28479,0.6014318028080493 -28480,0.08536289463815994 -28481,0.9560663798874086 -28482,0.6862454922239701 -28483,0.36237144793185005 -28484,0.7736548848316502 -28485,0.38846168653130075 -28486,0.8323242021279321 -28487,0.7919120956010344 -28488,0.44654621897439817 -28489,0.5809285644521657 -28490,0.5180503470910414 -28491,0.6382619716160527 -28492,0.1907296854245195 -28493,0.6723714048034994 -28494,0.406831461701469 -28495,0.30292003458006955 -28496,0.9853917132375104 -28497,0.8692000403994494 -28498,0.6574128043382659 -28499,0.9006377483443533 -28500,0.5034713979519264 -28501,0.08722119354273894 -28502,0.767597002038066 -28503,0.35068357092129243 -28504,0.3936289193147362 -28505,0.42885800481182657 -28506,0.7268362579913763 -28507,0.6462480685719284 -28508,0.39715977448104944 -28509,0.2655844331325712 -28510,0.40151734926498783 -28511,0.8140047791991597 -28512,0.04944099472086516 -28513,0.8590057078208947 -28514,0.7352389976930589 -28515,0.8896977089253533 -28516,0.8702696545173398 -28517,0.6169073476197582 -28518,0.20666851966888056 -28519,0.7274844547108406 -28520,0.7194387822845026 -28521,0.735482773845023 -28522,0.10468144551387992 -28523,0.9091478806669745 -28524,0.5413582276904808 -28525,0.11854832437775265 -28526,0.449534737165146 -28527,0.569593446445935 -28528,0.1825313864507887 -28529,0.6718238397376526 -28530,0.9385140923521025 -28531,0.19528068555615763 -28532,0.17270613520747646 -28533,0.47016612123087587 -28534,0.4723606320698498 -28535,0.584837842480652 -28536,0.6885537514233897 -28537,0.7862649713541986 -28538,0.49402935286425054 -28539,0.5059397370521582 -28540,0.9400923503334296 -28541,0.09496587115214772 -28542,0.8321543547174479 -28543,0.414419942905741 -28544,0.9730936834725958 -28545,0.5215765308805246 -28546,0.27648760593134925 -28547,0.04444525961697421 -28548,0.5944658624648638 -28549,0.1846401522048624 -28550,0.20938551643163672 -28551,0.301864837251963 -28552,0.3918890672258667 -28553,0.7687146285742273 -28554,0.8705531234956683 -28555,0.020807543555992458 -28556,0.3952785569557784 -28557,0.6201908583467128 -28558,0.6660313706501063 -28559,0.08134107103464994 -28560,0.672221625123042 -28561,0.5077889660885948 -28562,0.7229881203969805 -28563,0.9260223726500296 -28564,0.7915280677897146 -28565,0.2147295757080928 -28566,0.8211101997762685 -28567,0.5701005052487886 -28568,0.7769104952989194 -28569,0.7123266059443404 -28570,0.8414849629855713 -28571,0.423535445300943 -28572,0.18858516727289443 -28573,0.70973853673236 -28574,0.619606102474222 -28575,0.2592397740201483 -28576,0.12836738455151564 -28577,0.9664112574059093 -28578,0.32505279314263014 -28579,0.5962177193323218 -28580,0.3727230616512407 -28581,0.08056113202359949 -28582,0.5379764811863161 -28583,0.6348063629107967 -28584,0.6951257190557125 -28585,0.10596858026813583 -28586,0.25899424810097427 -28587,0.9772366216935037 -28588,0.1601027195563044 -28589,0.25254465372428914 -28590,0.7360951058438684 -28591,0.44980846070279845 -28592,0.4619804401984564 -28593,0.39643457524925674 -28594,0.8077668890055889 -28595,0.5455697160889109 -28596,0.5642525559731237 -28597,0.8485733730632076 -28598,0.7901680766406414 -28599,0.37788396306481964 -28600,0.5895956604404443 -28601,0.5835695713419434 -28602,0.9284688633128207 -28603,0.2342788995952323 -28604,0.12357267845652498 -28605,0.23492853671619152 -28606,0.7330526497621248 -28607,0.05434076333918325 -28608,0.3977576701731964 -28609,0.4102343627586563 -28610,0.6771723664472817 -28611,0.8620188470992546 -28612,0.2491978193318677 -28613,0.40408394711546436 -28614,0.68874494804148 -28615,0.24270832742355675 -28616,0.2607203067652365 -28617,0.17869817894145512 -28618,0.85250024256405 -28619,0.008593632297796194 -28620,0.5220465025293576 -28621,0.19643177442398252 -28622,0.12643240900220765 -28623,0.26780968317737064 -28624,0.8680705394380147 -28625,0.5424570695916116 -28626,0.2909212188072462 -28627,0.9975313114133021 -28628,0.8324295134524655 -28629,0.578374655473227 -28630,0.3060659495087701 -28631,0.21275701668114322 -28632,0.3288671571248166 -28633,0.8358949717300217 -28634,0.853847663185392 -28635,0.7210762668146092 -28636,0.04714388794493807 -28637,0.24579423459049277 -28638,0.3072367892566207 -28639,0.6435571555518839 -28640,0.2278393146286558 -28641,0.8370250339793222 -28642,0.13199488661355918 -28643,0.5743063553652273 -28644,0.637481857014501 -28645,0.7176352388057778 -28646,0.0959393479952172 -28647,0.273846575583341 -28648,0.2414178859899192 -28649,0.2301284317584864 -28650,0.08196627280154001 -28651,0.56030566342751 -28652,0.4396454692824565 -28653,0.9309082672920895 -28654,0.0010142511351816097 -28655,0.1241835631159467 -28656,0.023300804152934118 -28657,0.5955157304488033 -28658,0.2765558444728119 -28659,0.6435792576097611 -28660,0.25865463868876026 -28661,0.47555487631366755 -28662,0.21076246036515323 -28663,0.7819196183968516 -28664,0.8521926265800988 -28665,0.018592033668199726 -28666,0.25238934149300984 -28667,0.6566408297318983 -28668,0.8317311833842882 -28669,0.4773610451294652 -28670,0.9262138095832068 -28671,0.06356695071959884 -28672,0.635783980530838 -28673,0.8043100011272322 -28674,0.04230967441861888 -28675,0.9149094733589281 -28676,0.007306430718727053 -28677,0.17846856106263664 -28678,0.5448477890917066 -28679,0.2830843344803443 -28680,0.6055737481432525 -28681,0.29965809297792934 -28682,0.706024097096795 -28683,0.2514896892113585 -28684,0.2936022849046619 -28685,0.7798349710165057 -28686,0.13093098997832597 -28687,0.48248233789586126 -28688,0.5000059092491278 -28689,0.24205034319018992 -28690,0.11344984592945617 -28691,0.12836110919479726 -28692,0.511942729810999 -28693,0.23951746136408403 -28694,0.11349050127327209 -28695,0.8734205772348645 -28696,0.030346349008130824 -28697,0.767351823409387 -28698,0.9124990060665802 -28699,0.7516246985542545 -28700,0.39304108708072494 -28701,0.14807643696370698 -28702,0.7538773504892847 -28703,0.5942778400905477 -28704,0.14902248994405032 -28705,0.4164104451519577 -28706,0.1730728328137795 -28707,0.6244068824338316 -28708,0.3352940866011199 -28709,0.9386161030708983 -28710,0.28243830662858793 -28711,0.6441029245366136 -28712,0.3986888397836671 -28713,0.6982180115220195 -28714,0.5782410542417106 -28715,0.735409229043578 -28716,0.13208600561402195 -28717,0.1993255898676083 -28718,0.7889072537941308 -28719,0.6606277306363465 -28720,0.14143096781659104 -28721,0.9738810569642754 -28722,0.09975221044116944 -28723,0.312790167561511 -28724,0.06620218778921272 -28725,0.8463216977627496 -28726,0.48830996367692225 -28727,0.19592510673461594 -28728,0.5146934628800525 -28729,0.931066997729071 -28730,0.7239897141225332 -28731,0.551312791854991 -28732,0.4900762196715739 -28733,0.08524946278976275 -28734,0.38448565432073123 -28735,0.8301189539162471 -28736,0.783921586398947 -28737,0.9685238665845405 -28738,0.9040052937098918 -28739,0.5557765602158992 -28740,0.4770847482669157 -28741,0.510698455827114 -28742,0.038923913828877055 -28743,0.12611464821816232 -28744,0.3100637183779287 -28745,0.3587884046891311 -28746,0.8967152434436121 -28747,0.8061052864346169 -28748,0.9760803764566275 -28749,0.5233629147758774 -28750,0.26437977211114716 -28751,0.7699539385598166 -28752,0.7923578284955637 -28753,0.6164071588226486 -28754,0.826775087962745 -28755,0.5654336845723362 -28756,0.013448922398285879 -28757,0.7044781579897845 -28758,0.5121532159652945 -28759,0.3346307382185524 -28760,0.8542443909691425 -28761,0.7301393583710071 -28762,0.17676437265386546 -28763,0.9188330333624707 -28764,0.657777691419763 -28765,0.8233917679829988 -28766,0.6405941292260366 -28767,0.5544974755234086 -28768,0.26510849418790594 -28769,0.04731283266260966 -28770,0.8913507068156473 -28771,0.9339146946343696 -28772,0.6641323334796267 -28773,0.77744371486296 -28774,0.5859780565855054 -28775,0.7240319272793051 -28776,0.003013134176953036 -28777,0.6647403632542429 -28778,0.031407557714175915 -28779,0.935692106109263 -28780,0.9914943994724701 -28781,0.6182633661934903 -28782,0.9707171999919203 -28783,0.9898870609994322 -28784,0.10011104005313487 -28785,0.0062019360514598 -28786,0.6708579640298235 -28787,0.7852424826270076 -28788,0.05308247544800859 -28789,0.17115777520445075 -28790,0.32391412933314645 -28791,0.8303516275475235 -28792,0.9491206510257304 -28793,0.7119223119121292 -28794,0.00790711523099541 -28795,0.3588291704590171 -28796,0.0770721437380455 -28797,0.15585672547620955 -28798,0.060995274184492576 -28799,0.34062343474690904 -28800,0.850739979444565 -28801,0.6916164617163568 -28802,0.9325004203571162 -28803,0.17727400744813904 -28804,0.6426017519664462 -28805,0.504947163945628 -28806,0.8965428257549168 -28807,0.4871531380095022 -28808,0.2138496429217901 -28809,0.05227282580131165 -28810,0.9672814850654717 -28811,0.849102867602309 -28812,0.9333481414100867 -28813,0.4799047275993906 -28814,0.08198990644604998 -28815,0.2854834013991966 -28816,0.38031788586962934 -28817,0.11798262490803024 -28818,0.6852945525834424 -28819,0.19691271567246516 -28820,0.3013499345406556 -28821,0.44533660989395873 -28822,0.034995663717453884 -28823,0.15746102384722072 -28824,0.08841310386207835 -28825,0.8681925684037561 -28826,0.4500018701601013 -28827,0.9144853200801263 -28828,0.5406472313156833 -28829,0.6917153555391349 -28830,0.6980772545290952 -28831,0.2087679491981843 -28832,0.10758415339791505 -28833,0.4200944187679605 -28834,0.32077065051137776 -28835,0.39941296806692106 -28836,0.7893378673312405 -28837,0.47141405999441255 -28838,0.499454497822995 -28839,0.42433748990146536 -28840,0.13575903791764965 -28841,0.8059102722580069 -28842,0.36654100161246717 -28843,0.8300590733442688 -28844,0.7448078589380231 -28845,0.34160266124320027 -28846,0.6888669675113894 -28847,0.7346003894662515 -28848,0.8649189381113309 -28849,0.06753828953091301 -28850,0.022664088069598187 -28851,0.10246997320300466 -28852,0.5893410926919805 -28853,0.11850704917480603 -28854,0.4667297088863416 -28855,0.5236746825020586 -28856,0.5329674781275371 -28857,0.4143174484429304 -28858,0.2947372976355609 -28859,0.09291786692420034 -28860,0.7248793857682435 -28861,0.26050270463643466 -28862,0.10345594073832909 -28863,0.6807742204720306 -28864,0.4012561985330617 -28865,0.09343270617131039 -28866,0.9312124139314951 -28867,0.23605938350133882 -28868,0.8365007389298783 -28869,0.9678503688876183 -28870,0.7985109627551855 -28871,0.70544915732673 -28872,0.1241919437050868 -28873,0.8243116305493977 -28874,0.4660315246172039 -28875,0.8345697148504122 -28876,0.3865923032580755 -28877,0.28478553395832784 -28878,0.470238850647962 -28879,0.08038188286591963 -28880,0.24597419562381095 -28881,0.8169834004593881 -28882,0.18009821008252413 -28883,0.5355532771594577 -28884,0.9716623361303212 -28885,0.5916068316228372 -28886,0.4414565986310077 -28887,0.539158858100291 -28888,0.4050371282137204 -28889,0.9487444377059788 -28890,0.945806611002363 -28891,0.9743282798369729 -28892,0.41093583760931407 -28893,0.49638092249646704 -28894,0.585126905040107 -28895,0.9570537941474312 -28896,0.6515108513789156 -28897,0.15743563815047668 -28898,0.7377446728869578 -28899,0.5788845396942719 -28900,0.6396325865757927 -28901,0.513357633367825 -28902,0.6145801454033605 -28903,0.5496957642401158 -28904,0.2919506944768012 -28905,0.5288172315816037 -28906,0.11217909753149491 -28907,0.9785593308929486 -28908,0.9594707054849395 -28909,0.28986522984505336 -28910,0.12710206368643517 -28911,0.8637685743453328 -28912,0.4395217714195334 -28913,0.5422254907516316 -28914,0.588143757635141 -28915,0.04161880565374787 -28916,0.38240494121730395 -28917,0.5708593032125043 -28918,0.1320613474847736 -28919,0.9908281044393882 -28920,0.21758569655783921 -28921,0.6421474479078002 -28922,0.41917981455153874 -28923,0.9576693673937292 -28924,0.5990414549519564 -28925,0.500513741413228 -28926,0.007377860091339672 -28927,0.2932668886212486 -28928,0.3417974653685921 -28929,0.2510230627255857 -28930,0.9876385025210014 -28931,0.17056792240844065 -28932,0.7803795062626101 -28933,0.23886079048828823 -28934,0.23977736643320247 -28935,0.89187062033476 -28936,0.13695780238879607 -28937,0.8408620815275744 -28938,0.13462241183262014 -28939,0.92973719738898 -28940,0.028110959048810558 -28941,0.9085895570904928 -28942,0.8007650714666477 -28943,0.05623714925692913 -28944,0.9039122394553716 -28945,0.05263585274901117 -28946,0.17243530654510486 -28947,0.5525423972543468 -28948,0.7228296964096372 -28949,0.27775984186218716 -28950,0.2169995435273866 -28951,0.43695794990135217 -28952,0.8267006034672206 -28953,0.5980018276536871 -28954,0.8804523413836587 -28955,0.27219234054287567 -28956,0.7791149339518212 -28957,0.13416440556927423 -28958,0.7962863150892052 -28959,0.9801660055769882 -28960,0.8651142109296055 -28961,0.9826092092723135 -28962,0.34061256334256385 -28963,0.5669965136525461 -28964,0.5073661610218207 -28965,0.29687981798359286 -28966,0.023316280284809587 -28967,0.0632815107281296 -28968,0.11741699737788824 -28969,0.015477731901625713 -28970,0.8369584660266364 -28971,0.6921387248265344 -28972,0.8910070461819568 -28973,0.17500409627255742 -28974,0.8014097883226001 -28975,0.44292884519095377 -28976,0.826772973480986 -28977,0.7029163274297752 -28978,0.5816833083882054 -28979,0.8258264597082212 -28980,0.048678302506597326 -28981,0.49190047239201196 -28982,0.013290237724852272 -28983,0.7013069818748388 -28984,0.09703970045771826 -28985,0.6360855594573712 -28986,0.6984892729206488 -28987,0.16295048444361715 -28988,0.7310091174897154 -28989,0.068530345625198 -28990,0.6167729975800545 -28991,0.8611278753251612 -28992,0.6344922810310947 -28993,0.504628387839749 -28994,0.751875227682352 -28995,0.9491086642850658 -28996,0.1749460377349974 -28997,0.0264494286540351 -28998,0.49417510340557125 -28999,0.5124765614619833 -29000,0.3110821269174636 -29001,0.013074218028049533 -29002,0.8737369321422371 -29003,0.8980142311866406 -29004,0.14448427517397255 -29005,0.18062147636322246 -29006,0.5114807005039654 -29007,0.22078998573597597 -29008,0.5361196924126084 -29009,0.004797031688583253 -29010,0.06619533855007076 -29011,0.8224028822825084 -29012,0.7239552687712358 -29013,0.9997230732270007 -29014,0.5232629026858641 -29015,0.43213715221733207 -29016,0.3895570637775225 -29017,0.5959901482845652 -29018,0.003253070746290776 -29019,0.7239058542099853 -29020,0.25557270417994316 -29021,0.6188189791012955 -29022,0.08287754641180123 -29023,0.11350006133924173 -29024,0.882014102810801 -29025,0.3270718302006379 -29026,0.3672752112791402 -29027,0.7284426776290958 -29028,0.40097805312225676 -29029,0.34297525564580555 -29030,0.6990663604956864 -29031,0.046087907563852726 -29032,0.6864188826287039 -29033,0.7003617533696138 -29034,0.6198296885321818 -29035,0.5047026912509345 -29036,0.8762610784007394 -29037,0.47847216319053776 -29038,0.7726116089302407 -29039,0.29584797427465925 -29040,0.4494798821278856 -29041,0.41695260635085196 -29042,0.1438191052670016 -29043,0.8709503516558127 -29044,0.559834768357933 -29045,0.05997298572972454 -29046,0.8870680132373739 -29047,0.8430295803651633 -29048,0.43603756137175176 -29049,0.037096263169085764 -29050,0.8351116364676451 -29051,0.8420770335988211 -29052,0.995690421796316 -29053,0.033142616181741524 -29054,0.9609368406829717 -29055,0.869520365669242 -29056,0.7698546219524276 -29057,0.4248225385368415 -29058,0.5714213175205498 -29059,0.8542987234773128 -29060,0.8892019451853087 -29061,0.13436191492742322 -29062,0.6001381149650786 -29063,0.5384502396389783 -29064,0.627296129272091 -29065,0.3894400042518853 -29066,0.10709137645549449 -29067,0.8869601927943312 -29068,0.5604136536768147 -29069,0.4953594668427823 -29070,0.9551938078670816 -29071,0.0632603745679663 -29072,0.8392693029410713 -29073,0.5059681174121115 -29074,0.771733120820395 -29075,0.5288683816134424 -29076,0.23914420173182738 -29077,0.9059679654846503 -29078,0.17566683333899502 -29079,0.6495241479103908 -29080,0.1876449487375227 -29081,0.9792064675477985 -29082,0.9184440033490653 -29083,0.4343803592850978 -29084,0.6498714759621315 -29085,0.7729489033892868 -29086,0.08317450552432926 -29087,0.8769687636690237 -29088,0.8894789792649177 -29089,0.4875806025010042 -29090,0.3833426878416114 -29091,0.25142721893799147 -29092,0.6911564807839514 -29093,0.5201136610493777 -29094,0.5038597944959136 -29095,0.4893604036163526 -29096,0.10338480933766958 -29097,0.0482358294137597 -29098,0.6971901516829496 -29099,0.5968237039030566 -29100,0.08114690190956864 -29101,0.1114905084313298 -29102,0.8616112667153204 -29103,0.06342913830632069 -29104,0.9503655630986507 -29105,0.009868064314390024 -29106,0.06958966420298751 -29107,0.026573017764725426 -29108,0.548913695101901 -29109,0.231788295061353 -29110,0.29132884529239134 -29111,0.786845653882041 -29112,0.4957901879085369 -29113,0.45998275870526084 -29114,0.18859768319369563 -29115,0.4325585260315121 -29116,0.8610813584595212 -29117,0.219937510439007 -29118,0.9012849656564986 -29119,0.38810214439117596 -29120,0.6504534941291007 -29121,0.3589905339903995 -29122,0.7247160512103794 -29123,0.8349843600617466 -29124,0.6972598619708857 -29125,0.12749408467779078 -29126,0.2703991561889615 -29127,0.05265247831876585 -29128,0.5804951706051736 -29129,0.6469230401954962 -29130,0.6467581842198483 -29131,0.2590952070748722 -29132,0.20725515582373522 -29133,0.7673341820961997 -29134,0.92550276397015 -29135,0.427272653693476 -29136,0.09413774531208019 -29137,0.3900438770460578 -29138,0.027596266998934027 -29139,0.43852777846484214 -29140,0.2818795122457892 -29141,0.0351058930954008 -29142,0.5920364055321556 -29143,0.9102844913233551 -29144,0.2556655822876476 -29145,0.8892892573368 -29146,0.8966333224434345 -29147,0.036173121296721344 -29148,0.22353234286080814 -29149,0.5956199096945803 -29150,0.6313587018319727 -29151,0.8860335163977181 -29152,0.5847940211475537 -29153,0.8240420155533321 -29154,0.3255368537542507 -29155,0.08049824440321629 -29156,0.8023109789504689 -29157,0.9403930123582026 -29158,0.5857286659801403 -29159,0.4680761987839912 -29160,0.25919342582745697 -29161,0.18760667333255276 -29162,0.2912143419063953 -29163,0.24268341500041835 -29164,0.881027440148715 -29165,0.6975695320306328 -29166,0.3429666747957598 -29167,0.884868685243679 -29168,0.07342060952317997 -29169,0.07618614581980032 -29170,0.3721731748384557 -29171,0.5457415374754091 -29172,0.25624380462369856 -29173,0.7240906620658557 -29174,0.7304378845936372 -29175,0.9522971982178349 -29176,0.42092560199559725 -29177,0.5840077127813424 -29178,0.8243356293484718 -29179,0.31719190735271596 -29180,0.8400698682088379 -29181,0.8435262555711596 -29182,0.9291143586425084 -29183,0.7283999859514833 -29184,0.07321625286115407 -29185,0.20439382909677128 -29186,0.9363993176982134 -29187,0.7972281680924568 -29188,0.3548027094346926 -29189,0.6001484528244879 -29190,0.2342917074143931 -29191,0.541452136857416 -29192,0.3617373873287236 -29193,0.1493184687271173 -29194,0.37989930902173896 -29195,0.37994567548826474 -29196,0.7343507182709353 -29197,0.23385070953869191 -29198,0.3178264025412074 -29199,0.07142053760701272 -29200,0.8134854174930443 -29201,0.817234777682807 -29202,0.9040004829158769 -29203,0.8145528431164702 -29204,0.8501874865537588 -29205,0.5763168661839455 -29206,0.27372382197655953 -29207,0.432751983942009 -29208,0.37276940432446815 -29209,0.7884065740512448 -29210,0.4752606088258593 -29211,0.4341367812351574 -29212,0.6740071681410136 -29213,0.6043221975358538 -29214,0.5444614983024781 -29215,0.43687189197504417 -29216,0.8595182231655534 -29217,0.8483227337146013 -29218,0.694006038090295 -29219,0.21541232467752758 -29220,0.8873799147236634 -29221,0.15633787080188521 -29222,0.059925011813161566 -29223,0.23162393941824788 -29224,0.38867367181783163 -29225,0.5555860369495511 -29226,0.5349776646162542 -29227,0.3462308384692233 -29228,0.20417133585859204 -29229,0.3776786251436237 -29230,0.3601942797376484 -29231,0.28890847451805846 -29232,0.5286336311349752 -29233,0.9905498995800028 -29234,0.06519233310232231 -29235,0.8541517038224565 -29236,0.9640808288438659 -29237,0.1800659480392114 -29238,0.6051130824296448 -29239,0.7057850856986032 -29240,0.7893641515638704 -29241,0.28957953128781155 -29242,0.9442693507820231 -29243,0.36865905821803935 -29244,0.8129053837974647 -29245,0.4585814122191081 -29246,0.10385989594120293 -29247,0.8346964811868999 -29248,0.019367941069539762 -29249,0.5637915442265861 -29250,0.6949804072021873 -29251,0.7725978746187108 -29252,0.5324108149294161 -29253,0.0896796461846977 -29254,0.5185047087339976 -29255,0.39667200512003353 -29256,0.6781671255626284 -29257,0.025830004670132856 -29258,0.32129578611237897 -29259,0.23417640529715322 -29260,0.917011150110544 -29261,0.2224046349736729 -29262,0.8193953680044597 -29263,0.03351162198281987 -29264,0.11132323466517302 -29265,0.724275190370707 -29266,0.31272305896236774 -29267,0.5950192465085488 -29268,0.6759014846508623 -29269,0.09771791847271205 -29270,0.3079838181682282 -29271,0.6356914718030137 -29272,0.6227514879465029 -29273,0.11929557179563133 -29274,0.5542272305765112 -29275,0.11405184755696995 -29276,0.9580015257921519 -29277,0.5289482162761794 -29278,0.08236603231964068 -29279,0.26116817161478323 -29280,0.6877365925480876 -29281,0.3171895177178392 -29282,0.31279198518029216 -29283,0.19667997165095297 -29284,0.6374347312366837 -29285,0.06833127757391178 -29286,0.8664802307217941 -29287,0.7507005093132484 -29288,0.7740390981857783 -29289,0.9452448339871159 -29290,0.7291212941314372 -29291,0.8525420828945921 -29292,0.6106288649622745 -29293,0.8500777231497614 -29294,0.8750786773602808 -29295,0.8222383183410451 -29296,0.9269295038601503 -29297,0.6150436223678926 -29298,0.6762208696761529 -29299,0.10172709461666529 -29300,0.1857758727014328 -29301,0.9366123307093055 -29302,0.180531735341389 -29303,0.14524785907766635 -29304,0.7327588316139328 -29305,0.5222446574122332 -29306,0.4033690272492244 -29307,0.7174335514411453 -29308,0.6197319616590313 -29309,0.5473841005255018 -29310,0.5238611670995245 -29311,0.4219640378413706 -29312,0.21493981913342197 -29313,0.4154883373016952 -29314,0.532933874687629 -29315,0.02682100494314843 -29316,0.7011475957923587 -29317,0.21393256669316763 -29318,0.2684455668636435 -29319,0.5849776562287331 -29320,0.7667108597999936 -29321,0.709145463023136 -29322,0.11400147539752814 -29323,0.9583934096927689 -29324,0.7877664911050616 -29325,0.9073682002562581 -29326,0.4273218127166113 -29327,0.09307197498987185 -29328,0.45668113367607943 -29329,0.14393407719688556 -29330,0.24957622647667266 -29331,0.659013168464985 -29332,0.3891283718596833 -29333,0.8949726683693355 -29334,0.9176509810740971 -29335,0.9720583222738688 -29336,0.6730053907293803 -29337,0.6470340992148269 -29338,0.0064231021744507455 -29339,0.22255804222692632 -29340,0.2936052598542096 -29341,0.5128619200580751 -29342,0.44952066737727214 -29343,0.5409842948789392 -29344,0.2332613413984388 -29345,0.4428246629574102 -29346,0.6677136834346524 -29347,0.41044800072261023 -29348,0.31588717513888687 -29349,0.018157543351461913 -29350,0.44959871131277995 -29351,0.014641155343426915 -29352,0.1996416799664329 -29353,0.8490074014167712 -29354,0.03213945730592116 -29355,0.2846535809391678 -29356,0.5917140629257543 -29357,0.998994684755361 -29358,0.04466615044259592 -29359,0.04569887796003169 -29360,0.872827151893054 -29361,0.31095057873587983 -29362,0.4322697943131323 -29363,0.8007943216963667 -29364,0.9698304027005094 -29365,0.5237167497149932 -29366,0.9904272409554571 -29367,0.7128322302654643 -29368,0.544859148343586 -29369,0.7558011801692339 -29370,0.4141233928518495 -29371,0.9487565206097046 -29372,0.48323173227084404 -29373,0.8568743321833094 -29374,0.27381222335987854 -29375,0.05251451221441361 -29376,0.13352738080376492 -29377,0.49151573772191826 -29378,0.21029173314322525 -29379,0.027704835170271447 -29380,0.810478327563651 -29381,0.8212511175111747 -29382,0.017976525407684907 -29383,0.3746543670647178 -29384,0.7849208144323124 -29385,0.36551936814596664 -29386,0.08704249388130103 -29387,0.8686141019344028 -29388,0.3598137010782114 -29389,0.10248428131698539 -29390,0.12873047459368847 -29391,0.7264679285843681 -29392,0.9331061185997087 -29393,0.6015691611888474 -29394,0.28972602802645997 -29395,0.7761649652812495 -29396,0.6209409149577012 -29397,0.5872910201027258 -29398,0.829081931243482 -29399,0.1376797911629083 -29400,0.6719705392984147 -29401,0.5752327010983089 -29402,0.8986831186735572 -29403,0.9125368410698446 -29404,0.6761540932511453 -29405,0.09173543042201193 -29406,0.7366688069672856 -29407,0.511252046490652 -29408,0.5460214871119237 -29409,0.4311983434427381 -29410,0.45763247510602023 -29411,0.5116480705104591 -29412,0.7924104032549619 -29413,0.022189444766685384 -29414,0.6009680421528288 -29415,0.2576931813432457 -29416,0.9338678258149453 -29417,0.6111316811042594 -29418,0.45625516268504174 -29419,0.9044989718562326 -29420,0.20080075199526282 -29421,0.380578012810212 -29422,0.6110905417416826 -29423,0.6882054285840947 -29424,0.9578933469870361 -29425,0.4251597830827102 -29426,0.8110972598041857 -29427,0.21137307740317812 -29428,0.12533520702131895 -29429,0.6114866479188726 -29430,0.15020189848595988 -29431,0.6731357075391795 -29432,0.49018580027949776 -29433,0.6033837836830513 -29434,0.7358677178963476 -29435,0.47737096698430215 -29436,0.2891107760555782 -29437,0.535752095166054 -29438,0.8033434272817265 -29439,0.4989192393133227 -29440,0.007566972413082573 -29441,0.7627353622055801 -29442,0.026731634971832507 -29443,0.1779688627985786 -29444,0.13538353982131557 -29445,0.4374393214442589 -29446,0.40885937283703666 -29447,0.5491765154123622 -29448,0.7514584759910784 -29449,0.43186918626347104 -29450,0.637877477785336 -29451,0.2574110135359333 -29452,0.22121125092127503 -29453,0.9470530921464464 -29454,0.4071498949972072 -29455,0.33887451733804885 -29456,0.9297049458745835 -29457,0.36650051450072474 -29458,0.3855481730572996 -29459,0.6399778141098778 -29460,0.732136163842697 -29461,0.4561827173571188 -29462,0.2632676497817209 -29463,0.26200744823112265 -29464,0.38729640398692655 -29465,0.6832171879234946 -29466,0.29336686826375724 -29467,0.8654440485242731 -29468,0.7911644025097213 -29469,0.7500809707057421 -29470,0.2545250518972153 -29471,0.4903554884974175 -29472,0.8451144006375118 -29473,0.4270369387147275 -29474,0.5432314549058704 -29475,0.3052301122470201 -29476,0.4826133678856005 -29477,0.5224551430964909 -29478,0.9764652151890949 -29479,0.5983223741926534 -29480,0.760345037509637 -29481,0.9201022009718491 -29482,0.9368230433846767 -29483,0.628896945880929 -29484,0.19856057928755977 -29485,0.8562133594036825 -29486,0.14159388713752585 -29487,0.5635578232252068 -29488,0.5795502520547146 -29489,0.5317965805619451 -29490,0.060180041205194046 -29491,0.3612447900059156 -29492,0.28505999147552363 -29493,0.8370435677224001 -29494,0.9824815381592964 -29495,0.6448359147327557 -29496,0.8581466103287115 -29497,0.8167209620185598 -29498,0.5363379249197432 -29499,0.1766835591620013 -29500,0.8590574841895464 -29501,0.13790299443934884 -29502,0.8297999421820891 -29503,0.8858618490422026 -29504,0.291399930871156 -29505,0.9892073803683508 -29506,0.4613146174326299 -29507,0.7476299021532514 -29508,0.16811961019196653 -29509,0.23174499840563512 -29510,0.9579645313242177 -29511,0.584886371661788 -29512,0.19778598966969374 -29513,0.06292880635701537 -29514,0.5124707842797835 -29515,0.4372143258718275 -29516,0.15142596982978573 -29517,0.34479463938352384 -29518,0.42861187722649496 -29519,0.7939704615571259 -29520,0.0873899001193782 -29521,0.5514718409922413 -29522,0.2611946850158392 -29523,0.3139695653783886 -29524,0.8539381137272551 -29525,0.44696629530213483 -29526,0.9060679168425106 -29527,0.7527117848200048 -29528,0.9875292335921746 -29529,0.297770747668595 -29530,0.10939495039216351 -29531,0.12161315097529657 -29532,0.04418604930614978 -29533,0.1381542015387236 -29534,0.8524482352637119 -29535,0.04240637416948412 -29536,0.3674036875100708 -29537,0.8127552065911701 -29538,0.8545570947260878 -29539,0.53529958196407 -29540,0.9445150736289766 -29541,0.41976972845860183 -29542,0.012349873605567385 -29543,0.6477013199459564 -29544,0.038600055190526894 -29545,0.3961076499068207 -29546,0.9200889641676643 -29547,0.4802309954735273 -29548,0.8061011907892017 -29549,0.701907434305583 -29550,0.47816935598049615 -29551,0.9457100070465206 -29552,0.7048392491554998 -29553,0.699445740724059 -29554,0.051677778237743555 -29555,0.8365264906521136 -29556,0.6427468975625215 -29557,0.22877405228978032 -29558,0.9800552132530114 -29559,0.22985546129436685 -29560,0.8594375290527652 -29561,0.2569484782281115 -29562,0.9733521339029836 -29563,0.561101226898427 -29564,0.8506090472384708 -29565,0.7273289296073415 -29566,0.7174082884389632 -29567,0.4953693933325074 -29568,0.8907335679444912 -29569,0.1494291575918525 -29570,0.9701983095913612 -29571,0.6744952735936104 -29572,0.8227048348463055 -29573,0.8350689076154567 -29574,0.08684235396206108 -29575,0.5232873915979795 -29576,0.4276672255579568 -29577,0.0884323010573751 -29578,0.42109303529343634 -29579,0.4238610753154707 -29580,0.825621767325232 -29581,0.19259748101810714 -29582,0.2078896771516202 -29583,0.4035834922046575 -29584,0.192660335590203 -29585,0.28427032190465584 -29586,0.038007589127040164 -29587,0.30512630399205476 -29588,0.8971565576617536 -29589,0.8540079115875948 -29590,0.577024041490244 -29591,0.47513774964408795 -29592,0.26847375338190316 -29593,0.140895557111268 -29594,0.20753512910559524 -29595,0.7776133290933562 -29596,0.5024592889430167 -29597,0.9863626017375753 -29598,0.8549969160707052 -29599,0.1431431563106621 -29600,0.5662772161953954 -29601,0.13458729863042374 -29602,0.8103590760965923 -29603,0.14671744592570335 -29604,0.8068470623535011 -29605,0.044957256171685334 -29606,0.813513562254937 -29607,0.6353796778153078 -29608,0.043858631014206395 -29609,0.9159808900720791 -29610,0.9222969931391314 -29611,0.463774518186147 -29612,0.2021550350045772 -29613,0.31315646193191415 -29614,0.3514518229310878 -29615,0.04409486820434516 -29616,0.7923942113456202 -29617,0.977197759118139 -29618,0.4233867586606923 -29619,0.00889476047355886 -29620,0.3896341832871485 -29621,0.5244955329166904 -29622,0.00518364437649621 -29623,0.9814023340484145 -29624,0.9501203731205117 -29625,0.3827254877881203 -29626,0.6189657522439905 -29627,0.6514684049689717 -29628,0.3717277618717192 -29629,0.6870163243506164 -29630,0.4122086664691076 -29631,0.19161272569030607 -29632,0.027110225579421776 -29633,0.1968175513045024 -29634,0.4100293326367642 -29635,0.28603646194548915 -29636,0.3450268069139075 -29637,0.6171093172994637 -29638,0.2505727315068632 -29639,0.6154093960895972 -29640,0.18581822465626097 -29641,0.1770920432393419 -29642,0.2589423067532862 -29643,0.09082938749546976 -29644,0.3504098665641123 -29645,0.15190034857031043 -29646,0.49314882716174935 -29647,0.08975382388445952 -29648,0.09051426614886615 -29649,0.7574252371496281 -29650,0.6385071749103068 -29651,0.3130507231606301 -29652,0.022473680174881605 -29653,0.8760458261702079 -29654,0.9686350800922024 -29655,0.9716545103267985 -29656,0.6027950811943316 -29657,0.6174103631225137 -29658,0.6806260888127728 -29659,0.9161119880394941 -29660,0.8128064786732678 -29661,0.42203569300012067 -29662,0.5732718078296234 -29663,0.4086857473175872 -29664,0.4164388936032444 -29665,0.8108329720937021 -29666,0.5187713360581135 -29667,0.26192345622881996 -29668,0.18726200865765696 -29669,0.0151788355724225 -29670,0.35460114498391204 -29671,0.08183650651981966 -29672,0.8868168862225936 -29673,0.47920587544870985 -29674,0.9266945458122392 -29675,0.0065271422327042306 -29676,0.05816995161975813 -29677,0.538788543668246 -29678,0.7711128216169144 -29679,0.9141842918172144 -29680,0.18602213855797745 -29681,0.562281943354226 -29682,0.2501593830153922 -29683,0.7070658468638797 -29684,0.7856941128282998 -29685,0.7136736149306249 -29686,0.4067733883216542 -29687,0.5326593385198496 -29688,0.5291418519867382 -29689,0.4577409644047752 -29690,0.6818877189856238 -29691,0.6086563742440991 -29692,0.5934857933347605 -29693,0.19078727111074423 -29694,0.15272044376790528 -29695,0.22631072099295768 -29696,0.955777861022464 -29697,0.2765589983294692 -29698,0.7985640178470595 -29699,0.40740802090319894 -29700,0.750417121964135 -29701,0.6424572458984137 -29702,0.7658446027474201 -29703,0.30844157799067995 -29704,0.5114137031453051 -29705,0.8603712643610902 -29706,0.4857326997827318 -29707,0.8377208341233924 -29708,0.158341081010538 -29709,0.4404403296205244 -29710,0.8423828958296696 -29711,0.6586239854224603 -29712,0.8767326913710519 -29713,0.7908955774456693 -29714,0.9473374607779438 -29715,0.9479718491459821 -29716,0.21139053997155433 -29717,0.7842399098424707 -29718,0.3783703904863398 -29719,0.026949710216019662 -29720,0.7648346126696413 -29721,0.423635401872671 -29722,0.1312879711038254 -29723,0.8884721050200355 -29724,0.2238251812923504 -29725,0.6744012179346934 -29726,0.7304075221427495 -29727,0.7230525725307269 -29728,0.3616162338042589 -29729,0.5540607432402482 -29730,0.7834561664762317 -29731,0.8819529673103572 -29732,0.6677121769722897 -29733,0.26152604029887605 -29734,0.9826360532057239 -29735,0.0030584973056093645 -29736,0.7905771348710579 -29737,0.6189462904840243 -29738,0.4028568793172502 -29739,0.3301578113376735 -29740,0.9105304149181233 -29741,0.6761847199735993 -29742,0.8892596280340029 -29743,0.30628717433185015 -29744,0.8013903617479533 -29745,0.8802047597381777 -29746,0.44032580403310206 -29747,0.3882417748501934 -29748,0.66046272892343 -29749,0.7285988310142071 -29750,0.8656466708097588 -29751,0.5700301310072828 -29752,0.703448541440998 -29753,0.13158157569577555 -29754,0.8437422978318968 -29755,0.49062576898793264 -29756,0.15809582573902559 -29757,0.9750940581934847 -29758,0.43307367344304515 -29759,0.10521719894776893 -29760,0.611725076234385 -29761,0.5250658254029743 -29762,0.543530445944113 -29763,0.594365574108631 -29764,0.5891504963648184 -29765,0.5392367101754776 -29766,0.44002311985966625 -29767,0.9754712701943025 -29768,0.44625957689681317 -29769,0.5253311448197401 -29770,0.729396182640538 -29771,0.0060106761047699075 -29772,0.3754996266463255 -29773,0.426115270739161 -29774,0.9122738336927175 -29775,0.8109356331266928 -29776,0.4707233269237705 -29777,0.5324701890700769 -29778,0.5170846113472097 -29779,0.82410477240261 -29780,0.4946320487801169 -29781,0.71955331025667 -29782,0.6730451190297904 -29783,0.7390729350318599 -29784,0.8822924320553116 -29785,0.675486479591508 -29786,0.5942425681005093 -29787,0.8220138633207322 -29788,0.4351694529869482 -29789,0.49628467558950773 -29790,0.4425406585213073 -29791,0.2880984583926639 -29792,0.8626377791964185 -29793,0.7253720677574085 -29794,0.05656803486528794 -29795,0.35335509100803575 -29796,0.42547520943843964 -29797,0.9185613320921385 -29798,0.09195909390364443 -29799,0.32817122543726207 -29800,0.9905273890615672 -29801,0.717125035971801 -29802,0.3894812134554826 -29803,0.782521363729126 -29804,0.8679672791159103 -29805,0.7448996640838104 -29806,0.7597903388225768 -29807,0.3515746807788992 -29808,0.8043319848867003 -29809,0.6638354503013479 -29810,0.8436177878258692 -29811,0.2000303190441285 -29812,0.7485624589161 -29813,0.5764398246867357 -29814,0.9474602156958916 -29815,0.7506935841035676 -29816,0.40432057827995327 -29817,0.06365086599898595 -29818,0.9963767628775876 -29819,0.3069565459547444 -29820,0.04328282037666864 -29821,0.1906405835103745 -29822,0.19335391202678265 -29823,0.7294902198655742 -29824,0.5445153351119608 -29825,0.9241177139348048 -29826,0.026091433085006277 -29827,0.6719534465996516 -29828,0.5085611423639226 -29829,0.464500425979712 -29830,0.7152144133964694 -29831,0.03922378716728392 -29832,0.05437899539319946 -29833,0.8246499811310222 -29834,0.51560595148064 -29835,0.5898327555074508 -29836,0.1520641707901188 -29837,0.5225686799188168 -29838,0.37055675905893815 -29839,0.13476824091714545 -29840,0.3355973544796408 -29841,0.5649036054660584 -29842,0.812597559837667 -29843,0.17745091729291762 -29844,0.10475150795304633 -29845,0.31720078064349944 -29846,0.9426902395649776 -29847,0.8656680289481121 -29848,0.15541596449026274 -29849,0.49670406144328794 -29850,0.710553914790111 -29851,0.3800241747148886 -29852,0.12045105710780957 -29853,0.10624855990066007 -29854,0.15335690770418653 -29855,0.9151362617970121 -29856,0.8969986931466053 -29857,0.11542259229939023 -29858,0.9069986017293186 -29859,0.3738275769186785 -29860,0.22186840721805656 -29861,0.4034697389851559 -29862,0.17792809210094218 -29863,0.024090890827473843 -29864,0.3025840517188746 -29865,0.4519825303503354 -29866,0.7112647648833627 -29867,0.969220047054482 -29868,0.07299991418805318 -29869,0.5345544535556868 -29870,0.25946680556366886 -29871,0.6762361056838836 -29872,0.30645941032148216 -29873,0.05638131893774301 -29874,0.16759857774866738 -29875,0.4221631175922377 -29876,0.5598221849425778 -29877,0.5052962564837609 -29878,0.686625100895061 -29879,0.45109338323195325 -29880,0.3451132904110813 -29881,0.08476656786248693 -29882,0.20453394067981245 -29883,0.54269503289343 -29884,0.9173841703582958 -29885,0.7788690948204264 -29886,0.9761518640310699 -29887,0.12883760931457866 -29888,0.8769820754764704 -29889,0.8418732301459878 -29890,0.4785110320931035 -29891,0.5415936514944302 -29892,0.6038932716976224 -29893,0.37340246046350045 -29894,0.06574426772337927 -29895,0.5928992356830819 -29896,0.6698331330285334 -29897,0.9703166395933025 -29898,0.9389481146373764 -29899,0.9553489916207248 -29900,0.6679926018190221 -29901,0.5132559742581493 -29902,0.8916747092165254 -29903,0.7358047123406637 -29904,0.45845652434628215 -29905,0.14710423084642632 -29906,0.3136964867315244 -29907,0.7703878708115662 -29908,0.0864572370248794 -29909,0.6718121036177553 -29910,0.6117154893370591 -29911,0.05930471325893438 -29912,0.17375735994007935 -29913,0.02252424794835617 -29914,0.7976837395426192 -29915,0.0018688279668489516 -29916,0.8496023282654185 -29917,0.4436163851463516 -29918,0.9198217075699314 -29919,0.1389667430573872 -29920,0.20744520272072087 -29921,0.0923461998816566 -29922,0.553736950685019 -29923,0.9328120590605078 -29924,0.10942058202645244 -29925,0.24654476081193266 -29926,0.5482097516615972 -29927,0.35337750681933755 -29928,0.6374844728643235 -29929,0.7777119892123118 -29930,0.26021160097871676 -29931,0.4169325081127023 -29932,0.4942307093209962 -29933,0.05596570128635292 -29934,0.568064021218366 -29935,0.2478420396790766 -29936,0.6817862129615833 -29937,0.07872070122098807 -29938,0.6402035814162714 -29939,0.11646535409826231 -29940,0.20343408262339857 -29941,0.35377708649106465 -29942,0.12237914207192646 -29943,0.7257515107691452 -29944,0.15043969497773735 -29945,0.23495749536280308 -29946,0.06972830554343834 -29947,0.8385153868722945 -29948,0.5232996307714441 -29949,0.05408725039665452 -29950,0.8512320743847241 -29951,0.21252870980409566 -29952,0.18906893955477655 -29953,0.33046823684403015 -29954,0.8742482028449908 -29955,0.723322619430141 -29956,0.06373476351754037 -29957,0.33148018719625305 -29958,0.5432056678004311 -29959,0.7910112146881954 -29960,0.2631962501301548 -29961,0.13612373810497902 -29962,0.14581852868633005 -29963,0.5356807869191845 -29964,0.7488424110960232 -29965,0.807184790267449 -29966,0.12746147848797362 -29967,0.2482756477601803 -29968,0.13182814037588975 -29969,0.8177076050568433 -29970,0.14552089732129692 -29971,0.3447859215330623 -29972,0.7546990248493244 -29973,0.2677773366392153 -29974,0.9201664442137713 -29975,0.25858850455687143 -29976,0.14147128247921759 -29977,0.29272826126274487 -29978,0.3065581927838059 -29979,0.9839941323536715 -29980,0.4274304438954867 -29981,0.4125995391044084 -29982,0.8419172267546813 -29983,0.500498563337792 -29984,0.4188828952653981 -29985,0.27049551602858135 -29986,0.6512184662295304 -29987,0.4997232277910758 -29988,0.5713256839590442 -29989,0.2587899278693112 -29990,0.22639764022486097 -29991,0.3722277395308099 -29992,0.07752262925239695 -29993,0.067168063397132 -29994,0.5818576808296883 -29995,0.9921721436097078 -29996,0.6908002604930054 -29997,0.7184999878148174 -29998,0.7348361604590706 -29999,0.4287268793291067 -30000,0.692866283086788 -30001,0.3863804373140597 -30002,0.7269149751642978 -30003,0.3334873297226052 -30004,0.09081123441977312 -30005,0.7634377069183673 -30006,0.7901591062196407 -30007,0.09480383545763715 -30008,0.7154201087759124 -30009,0.2921334925193536 -30010,0.76089301361041 -30011,0.809617653831811 -30012,0.6787671828424253 -30013,0.6135833484544233 -30014,0.2644161219942701 -30015,0.7236133249624415 -30016,0.3042811112031235 -30017,0.3312304900500461 -30018,0.7841852579529301 -30019,0.8141476916985201 -30020,0.642731527117197 -30021,0.1800232337674501 -30022,0.06724634139176844 -30023,0.3799207936824788 -30024,0.7547534753907977 -30025,0.22476152258415227 -30026,0.3691424169203248 -30027,0.3168150669963107 -30028,0.7311198593159525 -30029,0.03308124742166818 -30030,0.1392244157763205 -30031,0.19592486292209288 -30032,0.04709757593942887 -30033,0.9722481557221014 -30034,0.4525995221664051 -30035,0.0347723763795017 -30036,0.7243927328626468 -30037,0.8847017663819269 -30038,0.8615661088092472 -30039,0.17079731389858854 -30040,0.3063107212807662 -30041,0.4496144231408059 -30042,0.3841177466312353 -30043,0.11578320709291878 -30044,0.9111436549608964 -30045,0.00902133612312872 -30046,0.303893971386919 -30047,0.6001202967301521 -30048,0.8870031834022709 -30049,0.03425543786373597 -30050,0.8811331686907968 -30051,0.5521123876920463 -30052,0.3039673945625865 -30053,0.04315284870792446 -30054,0.8509000095556518 -30055,0.2357141775694399 -30056,0.30272865994495735 -30057,0.8044877054719808 -30058,0.9101183606045382 -30059,0.18924521858277332 -30060,0.13404433101627566 -30061,0.1206453362231511 -30062,0.39810389735398455 -30063,0.096638479502821 -30064,0.9906827540932889 -30065,0.8380257282200587 -30066,0.32071566666299434 -30067,0.051971372346027556 -30068,0.5822350335840737 -30069,0.6434776406559555 -30070,0.9253116504216099 -30071,0.7676563422543596 -30072,0.6019287318187581 -30073,0.15951147445160851 -30074,0.3823464756625745 -30075,0.19072344597679758 -30076,0.500023947458676 -30077,0.608401988155448 -30078,0.7211445639085882 -30079,0.32027706597104233 -30080,0.44926271155023434 -30081,0.16018220229180258 -30082,0.9782901837242681 -30083,0.5095470497387284 -30084,0.3297248623132527 -30085,0.6958533433227095 -30086,0.0728955977660859 -30087,0.035907343837002226 -30088,0.8401597844187196 -30089,0.382136858394031 -30090,0.363096539512319 -30091,0.28704531009019807 -30092,0.4849959813293305 -30093,0.33092451170359016 -30094,0.9355501477211411 -30095,0.5091656093403492 -30096,0.01883525994496682 -30097,0.7468731233557573 -30098,0.9399439796359053 -30099,0.6856320525933897 -30100,0.18310790216316641 -30101,0.762881071268189 -30102,0.26289035882762446 -30103,0.8681562577762262 -30104,0.09907579706668623 -30105,0.8189434519738712 -30106,0.8661076143127225 -30107,0.18180382155658392 -30108,0.48450828000250723 -30109,0.10916146626369505 -30110,0.9121287748288364 -30111,0.5364971743076132 -30112,0.7104577715941571 -30113,0.028756539014592297 -30114,0.9800152298097188 -30115,0.4649108741014959 -30116,0.8810053027386915 -30117,0.12525232134119857 -30118,0.5554481529093459 -30119,0.9842130354312034 -30120,0.5156638272383892 -30121,0.33082710152856964 -30122,0.9393673910048785 -30123,0.354255952072725 -30124,0.8922472727447672 -30125,0.7512448564211707 -30126,0.7934453385551576 -30127,0.3706073855240587 -30128,0.22622514483510325 -30129,0.5165509340274064 -30130,0.3363601045800374 -30131,0.6989245672674987 -30132,0.4797085153840196 -30133,0.9046379056836801 -30134,0.7093528889953475 -30135,0.22519769386249688 -30136,0.7183144227962639 -30137,0.8446409841216515 -30138,0.02247008836535691 -30139,0.6647381263021088 -30140,0.3694750586994787 -30141,0.24473692241556277 -30142,0.8915052478585992 -30143,0.9842767859851466 -30144,0.9037271214899474 -30145,0.5010888173556942 -30146,0.7930206788255576 -30147,0.5333774135638849 -30148,0.9423629264761747 -30149,0.0998548231766333 -30150,0.027718213102451816 -30151,0.05658484382165052 -30152,0.6920978234626564 -30153,0.9231704051001863 -30154,0.6481184701236805 -30155,0.6347437657464181 -30156,0.5068696270529698 -30157,0.8754391953496016 -30158,0.3381200312471966 -30159,0.9834993165955427 -30160,0.8292928052801075 -30161,0.3961225137514548 -30162,0.07813324012633893 -30163,0.307919213366177 -30164,0.38465669585265594 -30165,0.9410159966117686 -30166,0.39111045520702914 -30167,0.6932159914236871 -30168,0.6516735550795622 -30169,0.1153154103354378 -30170,0.005442817420782564 -30171,0.312600674487877 -30172,0.2204994624253308 -30173,0.09401983450308105 -30174,0.5671839508113113 -30175,0.1567357615176923 -30176,0.6394270256562603 -30177,0.038097810512876085 -30178,0.20136615963514937 -30179,0.1313328325760591 -30180,0.070971757957075 -30181,0.8927169367943568 -30182,0.025976317934711557 -30183,0.48590402388345433 -30184,0.22045120165209642 -30185,0.9084690787961704 -30186,0.12442893989906079 -30187,0.8563853907817358 -30188,0.292877589104825 -30189,0.2604006810905687 -30190,0.9188051400847048 -30191,0.03066682388095121 -30192,0.21741747299484737 -30193,0.7998127418466734 -30194,0.7836150479190443 -30195,0.71612022075258 -30196,0.22612955401579893 -30197,0.28541217245068284 -30198,0.18168488883994938 -30199,0.27003758968021063 -30200,0.5796355861702559 -30201,0.863508569281711 -30202,0.16679540399388715 -30203,0.4199498929095936 -30204,0.678899144556843 -30205,0.20748639953106596 -30206,0.8806094445568556 -30207,0.33012169724856344 -30208,0.14445699442826154 -30209,0.18591563823514234 -30210,0.5206643085569319 -30211,0.10115765991759684 -30212,0.24369723481379224 -30213,0.731085705902457 -30214,0.1953615602364297 -30215,0.435842785115932 -30216,0.4022519834555932 -30217,0.8837553444689734 -30218,0.288203268546834 -30219,0.7772469694085891 -30220,0.16822666675621323 -30221,0.579437432081539 -30222,0.3377839505563631 -30223,0.8058684802912586 -30224,0.21944299513935284 -30225,0.739608811489861 -30226,0.1076933516192029 -30227,0.5449227617159628 -30228,0.7525773844335311 -30229,0.06399778012852009 -30230,0.2705758593569182 -30231,0.7251447041710625 -30232,0.7478118933288556 -30233,0.7966916396505637 -30234,0.6659561486091414 -30235,0.11490220072862056 -30236,0.8831890678140987 -30237,0.5551735168356985 -30238,0.4079224218307672 -30239,0.27336967783936506 -30240,0.7737425824688563 -30241,0.08261937086702253 -30242,0.6379061672834843 -30243,0.24148651083915373 -30244,0.29912362197215225 -30245,0.7596995162569591 -30246,0.286306083017291 -30247,0.4980608862740259 -30248,0.09116866114871869 -30249,0.3342469970027726 -30250,0.845324125786939 -30251,0.40642965871432635 -30252,0.27742226641361445 -30253,0.9914866827774815 -30254,0.17278233467424065 -30255,0.7010470915426967 -30256,0.8609636267369472 -30257,0.5019247874843928 -30258,0.4300193838838795 -30259,0.6927350608526005 -30260,0.9816015244808745 -30261,0.4987665868557928 -30262,0.5552823043052174 -30263,0.8367678399247223 -30264,0.6977980948574916 -30265,0.1352108368499324 -30266,0.8340349735461422 -30267,0.3290397013574775 -30268,0.35142261872149805 -30269,0.027558670965304954 -30270,0.055728237849276496 -30271,0.6709418154998361 -30272,0.07586414572238431 -30273,0.5579540602134462 -30274,0.3120462358324064 -30275,0.15030863371862724 -30276,0.05404049465052507 -30277,0.22655121250189114 -30278,0.775682493614987 -30279,0.04770115948018028 -30280,0.1828366963167568 -30281,0.7039869768694548 -30282,0.32501231525133445 -30283,0.24105792988580466 -30284,0.20795669083852975 -30285,0.7448874508857158 -30286,0.5142414261517375 -30287,0.9847970248354248 -30288,0.8171578391204836 -30289,0.9959691429483193 -30290,0.1063707708538475 -30291,0.020967273756724025 -30292,0.7687588997773014 -30293,0.41407752011411525 -30294,0.5686584117367726 -30295,0.6187402729563826 -30296,0.14035183708227583 -30297,0.13437115136797562 -30298,0.4188907294900375 -30299,0.8704843759061808 -30300,0.6864556161844042 -30301,0.02751968632976931 -30302,0.26037528398994547 -30303,0.359469318221294 -30304,0.9279454312758576 -30305,0.0388222356948581 -30306,0.15963993725203918 -30307,0.024584410842334314 -30308,0.2066764373733676 -30309,0.2988982954485655 -30310,0.990366105577285 -30311,0.7346197274693476 -30312,0.2722853915115627 -30313,0.9297210396656331 -30314,0.11702037391989906 -30315,0.7886393837236906 -30316,0.11261657686316906 -30317,0.6360193392925999 -30318,0.27481177561030545 -30319,0.7889466068620105 -30320,0.41949482658453474 -30321,0.6022419751643423 -30322,0.5005046420227232 -30323,0.0388021253232389 -30324,0.0853260320891348 -30325,0.9328832429571924 -30326,0.4667433217574215 -30327,0.6085861996924221 -30328,0.8800273694518542 -30329,0.09307472505390235 -30330,0.7736291326978673 -30331,0.6912372670754343 -30332,0.672522127945175 -30333,0.4004987243637884 -30334,0.9319752641380646 -30335,0.7264660909503197 -30336,0.5330342600811521 -30337,0.031667557533393786 -30338,0.550829184636624 -30339,0.8935223288614187 -30340,0.1124517618919183 -30341,0.8085117452807088 -30342,0.3994704324777085 -30343,0.21920995890630968 -30344,0.3010637193733342 -30345,0.26344506854022554 -30346,0.41996372302002183 -30347,0.1360606819694713 -30348,0.10086798369298888 -30349,0.8131997719774382 -30350,0.5341801883685203 -30351,0.3627205795779177 -30352,0.8359105211688272 -30353,0.19207579271902886 -30354,0.8535001973848937 -30355,0.047225849372805606 -30356,0.9382966334443832 -30357,0.12793936270939132 -30358,0.6421731083262955 -30359,0.8478829813129584 -30360,0.9554105369066328 -30361,0.6639111650364028 -30362,0.26853202259619935 -30363,0.6646617932015111 -30364,0.8162910741309776 -30365,0.401263785995164 -30366,0.13329333600085125 -30367,0.8994214721813044 -30368,0.6383312008243627 -30369,0.6228407902148272 -30370,0.4083453238832263 -30371,0.6574818331513833 -30372,0.18466932342666453 -30373,0.8158717220199141 -30374,0.13509013353364552 -30375,0.4197702788676513 -30376,0.1777772826788473 -30377,0.47119184272855297 -30378,0.8187993122019772 -30379,0.7752723540809877 -30380,0.5764967993164377 -30381,0.4977542642976027 -30382,0.6556610517599317 -30383,0.7259241337569595 -30384,0.09207712998114559 -30385,0.32882613462561283 -30386,0.745823334201126 -30387,0.32433108600238914 -30388,0.5113101569174737 -30389,0.08130422774140444 -30390,0.6120526488019714 -30391,0.23367876712141922 -30392,0.5241186623173226 -30393,0.5699163125079088 -30394,0.6823187166340522 -30395,0.441426800512027 -30396,0.5240174560132992 -30397,0.8082006433121967 -30398,0.8278388852039823 -30399,0.620710169304936 -30400,0.32526079706855504 -30401,0.2533214759511804 -30402,0.09802832114639193 -30403,0.7651553750001705 -30404,0.4779848852649413 -30405,0.8788332729269327 -30406,0.1606133617574247 -30407,0.7113097132673307 -30408,0.4820789471685043 -30409,0.4000119398108879 -30410,0.40563638965944737 -30411,0.5627225764786518 -30412,0.9200827546369513 -30413,0.06915736827101904 -30414,0.7326841323872307 -30415,0.9720118486086134 -30416,0.7851695192670834 -30417,0.2313065583701054 -30418,0.12267463210512008 -30419,0.7306287790619435 -30420,0.447445603576587 -30421,0.7850583176889654 -30422,0.8102416534870187 -30423,0.9059220982542412 -30424,0.9028209484615668 -30425,0.3253962545046374 -30426,0.7318270278309974 -30427,0.930526605867134 -30428,0.7667712608316242 -30429,0.6284336374282746 -30430,0.8913703306823912 -30431,0.337700504922543 -30432,0.5859932641917598 -30433,0.8099837142841245 -30434,0.3313602566958215 -30435,0.4624607581515654 -30436,0.04344586048552512 -30437,0.7635761765285651 -30438,0.08638300690166323 -30439,0.8479481605233286 -30440,0.7990530964966928 -30441,0.09931590192103934 -30442,0.8868129533872138 -30443,0.0852290533172324 -30444,0.09465164453026953 -30445,0.5010513369294596 -30446,0.4414819607910012 -30447,0.34558102453875994 -30448,0.3991395028713637 -30449,0.82205745380182 -30450,0.6804991908904752 -30451,0.29997539464753875 -30452,0.15357837855403866 -30453,0.10858332139114846 -30454,0.5765629228206453 -30455,0.10229825316432939 -30456,0.8470617912720133 -30457,0.11611652017418939 -30458,0.26504383672677423 -30459,0.28716293839229645 -30460,0.49441174714484837 -30461,0.5250418471917517 -30462,0.7075744148364062 -30463,0.7286234379783155 -30464,0.791460990077108 -30465,0.0637594068006524 -30466,0.5924473609956994 -30467,0.05762359974455822 -30468,0.9038690389983622 -30469,0.5862935237724786 -30470,0.056503406426933744 -30471,0.1856884667728661 -30472,0.12142091917716868 -30473,0.795407377958764 -30474,0.17277000584034086 -30475,0.2015556612909618 -30476,0.21865305096431853 -30477,0.8621588533786937 -30478,0.2454878472327262 -30479,0.9873945908979823 -30480,0.01131781840128021 -30481,0.01708460513116783 -30482,0.6642433622402801 -30483,0.32878727237681604 -30484,0.6662686649840226 -30485,0.435561857703028 -30486,0.6099688551059276 -30487,0.330456723857701 -30488,0.8126500734854564 -30489,0.566984778776937 -30490,0.8823554760590346 -30491,0.9862585091396371 -30492,0.42926564461469485 -30493,0.1746584758130616 -30494,0.08713233371864904 -30495,0.002639856893399406 -30496,0.4492916401921955 -30497,0.8630589178617525 -30498,0.6895749513124709 -30499,0.4565992451975206 -30500,0.24541451718010876 -30501,0.5540247056983002 -30502,0.03086605426043143 -30503,0.5674737352184006 -30504,0.8064107800679423 -30505,0.8189613626644586 -30506,0.2779158433446536 -30507,0.7826489085924067 -30508,0.08520723897874083 -30509,0.8878008337927658 -30510,0.2547769868698321 -30511,0.9144773897832414 -30512,0.5875199192301723 -30513,0.26363858588204836 -30514,0.7082484029475283 -30515,0.36936638037983804 -30516,0.6239716177808107 -30517,0.820488386008362 -30518,0.9258787472891146 -30519,0.2610215244677523 -30520,0.43901587245907925 -30521,0.14030857995139112 -30522,0.31142834827028254 -30523,0.418665413787103 -30524,0.05069528072641338 -30525,0.3323602989824723 -30526,0.03569116394524696 -30527,0.1976734121602025 -30528,0.580033465764344 -30529,0.9040236774196637 -30530,0.9056590250989249 -30531,0.5861833640710148 -30532,0.08736395775803785 -30533,0.47993302001952787 -30534,0.5845366591912355 -30535,0.17290819920920464 -30536,0.8801419051577977 -30537,0.6011836563321509 -30538,0.5584503497623193 -30539,0.04412163716722606 -30540,0.7973561784872324 -30541,0.4401894326527954 -30542,0.06955247811583609 -30543,0.956502410953091 -30544,0.45639099296327257 -30545,0.7375422122801967 -30546,0.3392524074125991 -30547,0.9922340349000078 -30548,0.15668522656532546 -30549,0.4528534767448932 -30550,0.23407455268588806 -30551,0.8724535956022529 -30552,0.356739732246689 -30553,0.49034001102315516 -30554,0.5904930911011564 -30555,0.21658946395992518 -30556,0.2436769331626052 -30557,0.050599164682867404 -30558,0.051660811464962486 -30559,0.5908783987289442 -30560,0.5531573822658092 -30561,0.2949842405310069 -30562,0.39264934482634595 -30563,0.4594658694366577 -30564,0.9462926185188301 -30565,0.6733433091339093 -30566,0.7464647806886126 -30567,0.46449999628522776 -30568,0.4056906040129791 -30569,0.10821609981413716 -30570,0.09048147762859271 -30571,0.2485109163147894 -30572,0.18507054730703998 -30573,0.02131266702846335 -30574,0.14557280446665222 -30575,0.03521020899526495 -30576,0.49506831825183384 -30577,0.6366269256578547 -30578,0.3560521530443128 -30579,0.536786748794001 -30580,0.34180487846749885 -30581,0.7889296439858162 -30582,0.20235628124040095 -30583,0.1847189181295652 -30584,0.32994326562657783 -30585,0.7465857576249197 -30586,0.5047693829229448 -30587,0.3476368378685133 -30588,0.619976008043589 -30589,0.19356650441437417 -30590,0.970958071689777 -30591,0.2573397831630707 -30592,0.5906723316923125 -30593,0.632360206479127 -30594,0.33501331664821443 -30595,0.033549579585592015 -30596,0.2962846559045358 -30597,0.36326665065273434 -30598,0.07778386760495382 -30599,0.5442636949459291 -30600,0.7487625201451773 -30601,0.47369983353236267 -30602,0.7486875624033873 -30603,0.8451727565409298 -30604,0.9448691642618865 -30605,0.21126632592858663 -30606,0.003275020201667922 -30607,0.8766172819605361 -30608,0.49758274950241965 -30609,0.8006972930561561 -30610,0.993893205542002 -30611,0.2888044329555888 -30612,0.6756941526194056 -30613,0.41696531619066823 -30614,0.8749371582613281 -30615,0.7598345308112671 -30616,0.781475220057399 -30617,0.14351966457312593 -30618,0.7467701863503179 -30619,0.37211255560897993 -30620,0.7392839091239457 -30621,0.6418209225643151 -30622,0.4619067248839722 -30623,0.7547560442765987 -30624,0.672197040265327 -30625,0.296128085795038 -30626,0.6094298788308732 -30627,0.9350044523100282 -30628,0.32261017867809627 -30629,0.2405512894995353 -30630,0.9453300476994948 -30631,0.9709455184308858 -30632,0.5557728959083337 -30633,0.40446509638390316 -30634,0.19084628161527628 -30635,0.9149069560056546 -30636,0.6373656437294951 -30637,0.010626962715218347 -30638,0.3879852682965008 -30639,0.5765772340902374 -30640,0.21578542893452413 -30641,0.5031543341655828 -30642,0.41093503027872536 -30643,0.3897087380487696 -30644,0.4849161925309008 -30645,0.3884817924416588 -30646,0.26617504518796586 -30647,0.2956656258549284 -30648,0.08101333362052521 -30649,0.4189659837537578 -30650,0.4660166317795652 -30651,0.4673323153301092 -30652,0.41581959053672646 -30653,0.8132404208980334 -30654,0.7148357256961935 -30655,0.7770305834677017 -30656,0.1986883657866465 -30657,0.10054853982950251 -30658,0.12165804089881505 -30659,0.9466480267670606 -30660,0.17693030434702617 -30661,0.24621482588479116 -30662,0.09322137530913632 -30663,0.599040964387733 -30664,0.11762088121573666 -30665,0.7803409696201078 -30666,0.08696261950228745 -30667,0.5331131087629207 -30668,0.688316037477876 -30669,0.13057170110919025 -30670,0.14392892240570654 -30671,0.005157051132052892 -30672,0.3898426017464426 -30673,0.020860003278911132 -30674,0.21338583645347886 -30675,0.9755556806804645 -30676,0.8314442346869548 -30677,0.7774176939225901 -30678,0.9556265406904123 -30679,0.6444535951449599 -30680,0.17294619379083243 -30681,0.009402367925484878 -30682,0.7527664562019853 -30683,0.9352293101443588 -30684,0.5122497410932157 -30685,0.010421239263299187 -30686,0.08589356275551885 -30687,0.07993114774079013 -30688,0.38386895220274364 -30689,0.4314758301893019 -30690,0.014027927726146028 -30691,0.4242410531233066 -30692,0.8544053050840069 -30693,0.7077890790567567 -30694,0.7306610627982587 -30695,0.7033218038642765 -30696,0.9260397356463639 -30697,0.8697389611618418 -30698,0.01426422935428251 -30699,0.15861166008971317 -30700,0.8750628705714868 -30701,0.5173819310191525 -30702,0.29173663492938884 -30703,0.312429236590517 -30704,0.09119361824836347 -30705,0.7508579182178827 -30706,0.485846708720173 -30707,0.18819532486635104 -30708,0.8671695502457452 -30709,0.8482248013296262 -30710,0.6063888297049816 -30711,0.30904397138746664 -30712,0.06300868711916385 -30713,0.7527696887837145 -30714,0.9520243557917627 -30715,0.3188067824025872 -30716,0.8469995462005595 -30717,0.9952783645439301 -30718,0.2540804900453175 -30719,0.7844047405678256 -30720,0.13120505719497222 -30721,0.9347870638384246 -30722,0.7797322195714098 -30723,0.5436286033556178 -30724,0.7680729597407471 -30725,0.5608952896359723 -30726,0.32767342185299564 -30727,0.8361223432363668 -30728,0.009504410584807998 -30729,0.37992262244591324 -30730,0.12723888217826063 -30731,0.5823718212942542 -30732,0.6885558294490884 -30733,0.7394771149600342 -30734,0.5132576182100304 -30735,0.4414529267406311 -30736,0.20230031233794898 -30737,0.2541161982913366 -30738,0.16474326219435587 -30739,0.7944953412924175 -30740,0.3277049921890809 -30741,0.11988475499997109 -30742,0.12247556081064415 -30743,0.2047204712623687 -30744,0.7255023014426264 -30745,0.5235208236942137 -30746,0.2132825343042769 -30747,0.35811029320766496 -30748,0.5303887515637308 -30749,0.6678006994409716 -30750,0.38957510118626604 -30751,0.8334674698978851 -30752,0.006808345127504056 -30753,0.4657666117656547 -30754,0.9940099488689045 -30755,0.17020669184935344 -30756,0.34364528918758663 -30757,0.6281560776926656 -30758,0.47547174194892317 -30759,0.37814709887347164 -30760,0.20382167647617755 -30761,0.08556246788759558 -30762,0.12997630768235102 -30763,0.7490862355710256 -30764,0.7494869490556828 -30765,0.30475657482987895 -30766,0.6630554571290512 -30767,0.6488068991300247 -30768,0.9263493751043818 -30769,0.7493257053510778 -30770,0.7257195215638255 -30771,0.767262057024647 -30772,0.8053325348116988 -30773,0.6331929399198015 -30774,0.543031689727561 -30775,0.426953366995625 -30776,0.09160382537384226 -30777,0.8994550371722942 -30778,0.3200886003466782 -30779,0.5326717130421463 -30780,0.20271838410591403 -30781,0.7229817820434533 -30782,0.9511970250796824 -30783,0.4152167322395798 -30784,0.47916552273130675 -30785,0.5375655492610982 -30786,0.22347435672443905 -30787,0.8644033514236273 -30788,0.8636004499330836 -30789,0.286649664397586 -30790,0.387439667591317 -30791,0.728144670563248 -30792,0.8028257442196352 -30793,0.5327109395183153 -30794,0.008432286242898157 -30795,0.527398842195537 -30796,0.14357226281398638 -30797,0.8465322657744201 -30798,0.37421838495774107 -30799,0.5330685870395218 -30800,0.4772732032002137 -30801,0.3623955134138397 -30802,0.11597983577987858 -30803,0.8694139148393579 -30804,0.6789763395130053 -30805,0.4113217117498619 -30806,0.0261103389246109 -30807,0.27197064034841134 -30808,0.47560804318490346 -30809,0.32282850074372216 -30810,0.4811702920414397 -30811,0.7601831970001485 -30812,0.9002804990307266 -30813,0.6416622281755939 -30814,0.663390823239576 -30815,0.699955246189681 -30816,0.18600287807514415 -30817,0.645215155008175 -30818,0.07077713895337656 -30819,0.7100900786699739 -30820,0.15001305499756978 -30821,0.44324606948150747 -30822,0.6437617768589432 -30823,0.6983685132498512 -30824,0.8209399729400716 -30825,0.8193133724552165 -30826,0.845277825146807 -30827,0.9808005941480157 -30828,0.20130942200745883 -30829,0.0511119783402606 -30830,0.3268619739775076 -30831,0.7138243206560643 -30832,0.5220321410676397 -30833,0.22999146762528067 -30834,0.15444302158200207 -30835,0.87750704341639 -30836,0.3831194091001563 -30837,0.307997941894565 -30838,0.3159765749145267 -30839,0.15129920869815716 -30840,0.1753316452789364 -30841,0.22978209427553975 -30842,0.4793412148456846 -30843,0.6574817406547073 -30844,0.9686594342208191 -30845,0.8880773081760702 -30846,0.7543399494900426 -30847,0.4945873552368659 -30848,0.13615592653394348 -30849,0.6626104349116857 -30850,0.8004488289782259 -30851,0.44550796241536783 -30852,0.3342945577517692 -30853,0.2818326514813704 -30854,0.6021417583953427 -30855,0.27540964344835406 -30856,0.9358910716659582 -30857,0.5023938817642543 -30858,0.40933799422107664 -30859,0.45753439782999283 -30860,0.5463371355539216 -30861,0.248454418610231 -30862,0.372014082311943 -30863,0.3986002888857292 -30864,0.6735485536678703 -30865,0.007940633228696425 -30866,0.8514416303640733 -30867,0.36886973427955905 -30868,0.20705775162625162 -30869,0.39459303285983915 -30870,0.7079768791257534 -30871,0.893377929522783 -30872,0.20745216056501992 -30873,0.3145104854384484 -30874,0.729730794221484 -30875,0.9103236396985501 -30876,0.2686013683682793 -30877,0.5939930275872275 -30878,0.32321449877775943 -30879,0.16308438597639363 -30880,0.42493657144452956 -30881,0.8901421976106725 -30882,0.9026938272116984 -30883,0.022162085526109765 -30884,0.13653324780161535 -30885,0.2566314171583831 -30886,0.5829511469830266 -30887,0.5108758348291255 -30888,0.6369484383750733 -30889,0.8357756553516571 -30890,0.9163682199581841 -30891,0.19830871716097587 -30892,0.09653588045259798 -30893,0.7820067313259442 -30894,0.4972039176464672 -30895,0.6846127487941406 -30896,0.0999549430147163 -30897,0.5991655319879517 -30898,0.06316397556013609 -30899,0.33564550121664616 -30900,0.38386584874297014 -30901,0.2666119763130421 -30902,0.3700510165440305 -30903,0.07045259984750618 -30904,0.3688759380441836 -30905,0.7830576328943649 -30906,0.19453726645065295 -30907,0.509379433892542 -30908,0.9152297472526081 -30909,0.7851649374586309 -30910,0.7869497670304276 -30911,0.9091687277613372 -30912,0.7492558005476684 -30913,0.9617113186402382 -30914,0.04271722126029942 -30915,0.868053772769562 -30916,0.7960808494815913 -30917,0.9185994586194303 -30918,0.022630705965737352 -30919,0.32403809968982766 -30920,0.006069910383664445 -30921,0.060343875420605375 -30922,0.48133966045140186 -30923,0.7417726435303932 -30924,0.07854384414260529 -30925,0.8751733564172407 -30926,0.19391408281144673 -30927,0.46878508670496777 -30928,0.17201276321757664 -30929,0.649626470978931 -30930,0.7229383670180727 -30931,0.9266388103048411 -30932,0.8266505117121653 -30933,0.9256348110589108 -30934,0.9577928336740231 -30935,0.22209155389774704 -30936,0.9645778498796758 -30937,0.9100016810258961 -30938,0.3199083761722469 -30939,0.828738730816611 -30940,0.9058843328197448 -30941,0.48749524043519243 -30942,0.6464254170445698 -30943,0.40876825744995293 -30944,0.8850853365665626 -30945,0.8925793453097268 -30946,0.5189630906240094 -30947,0.5809171953801303 -30948,0.18013859208935212 -30949,0.6950202401925157 -30950,0.8464305181970193 -30951,0.6065009227976672 -30952,0.9556639442122596 -30953,0.7726385288587444 -30954,0.8624987278759003 -30955,0.5926476265525841 -30956,0.5539342124705648 -30957,0.7573579658053774 -30958,0.5241467164624628 -30959,0.25605759599458855 -30960,0.17689780190140236 -30961,0.4358395107737496 -30962,0.1861298255842454 -30963,0.388788186551423 -30964,0.5221488638479145 -30965,0.46047861441959814 -30966,0.17077591386049762 -30967,0.9111311791585772 -30968,0.5050800586984789 -30969,0.32205032817877044 -30970,0.31630271851418434 -30971,0.5236298390665501 -30972,0.9015588267496977 -30973,0.09321036849161912 -30974,0.3823095029282966 -30975,0.3213036515423777 -30976,0.5087707516102669 -30977,0.2141240303911225 -30978,0.6899090416655845 -30979,0.16591854539278705 -30980,0.6965009434711558 -30981,0.47528150289557713 -30982,0.30983380246289915 -30983,0.4353617928835356 -30984,0.9810677541947203 -30985,0.4876054231186634 -30986,0.8663562229342999 -30987,0.9851856224470006 -30988,0.324702169597327 -30989,0.6133341924898718 -30990,0.15653065173232839 -30991,0.3664162918499667 -30992,0.22678133523955912 -30993,0.131223930172235 -30994,0.3542703799028717 -30995,0.1145260709726571 -30996,0.6447507340091545 -30997,0.5640578248095106 -30998,0.6898965363315896 -30999,0.2840509142739802 -31000,0.3625501634915551 -31001,0.18603680026342984 -31002,0.843135832069268 -31003,0.9693930074180265 -31004,0.6803794778809384 -31005,0.7037151538089296 -31006,0.1267184233067563 -31007,0.7565523655226875 -31008,0.15003011021962176 -31009,0.4234480882830416 -31010,0.7266365392140879 -31011,0.2199485454346416 -31012,0.3124709601547495 -31013,0.5844797385147534 -31014,0.45607314646388863 -31015,0.708680335343655 -31016,0.39629167794971176 -31017,0.7276622517094324 -31018,0.5594134264315584 -31019,0.6842686452131512 -31020,0.3223157587362905 -31021,0.6441989341822971 -31022,0.0993671307234889 -31023,0.7628993383254739 -31024,0.9075641945142822 -31025,0.4968194584732971 -31026,0.25170324891665363 -31027,0.7483017141904471 -31028,0.02748466627520152 -31029,0.18414287317865574 -31030,0.6051939269973787 -31031,0.5577021064995225 -31032,0.4679258596940228 -31033,0.23596300691664196 -31034,0.8290946519040167 -31035,0.006356003295198254 -31036,0.7539228613382288 -31037,0.42555545950494 -31038,0.6199520758663498 -31039,0.9500293946389939 -31040,0.9351136690525602 -31041,0.7259644993078481 -31042,0.7420093648171412 -31043,0.10010238892851597 -31044,0.815513379736124 -31045,0.9441485833111118 -31046,0.16811618950199914 -31047,0.7470772473112606 -31048,0.04639567281733159 -31049,0.8038497203580958 -31050,0.0037968712947159533 -31051,0.4216901099974898 -31052,0.6750647067497316 -31053,0.5466511761885561 -31054,0.04875932560176399 -31055,0.8645796243723347 -31056,0.3297836038752082 -31057,0.10447282261351765 -31058,0.9449924259102718 -31059,0.7268170011039632 -31060,0.4888277128527083 -31061,0.3484932349563782 -31062,0.4935858106089065 -31063,0.4991061838284363 -31064,0.05696529618234658 -31065,0.5199125114041678 -31066,0.3459389187050992 -31067,0.3624082434339293 -31068,0.04032154599957871 -31069,0.5711304284379719 -31070,0.5590608667176202 -31071,0.5808007234189805 -31072,0.6225868060259717 -31073,0.03298340156574964 -31074,0.7602678193989119 -31075,0.07884903057828463 -31076,0.3615705663592831 -31077,0.6816572938631182 -31078,0.5132940022258492 -31079,0.8143711479719509 -31080,0.35176220442609163 -31081,0.5852438174862565 -31082,0.906001856968102 -31083,0.9002910990960528 -31084,0.0795634331297117 -31085,0.09189946607112753 -31086,0.7926995257553898 -31087,0.8769809675746503 -31088,0.45903953667422237 -31089,0.16054125758489912 -31090,0.22597116468337497 -31091,0.4439836233798746 -31092,0.17710749191833453 -31093,0.6810243832791786 -31094,0.12237839486293278 -31095,0.14799491837331147 -31096,0.7830255058589142 -31097,0.6044204541536687 -31098,0.8751094589675262 -31099,0.14377114282728576 -31100,0.16499484495483696 -31101,0.14355865745288732 -31102,0.9570659470474843 -31103,0.581609039962909 -31104,0.5343144181477225 -31105,0.2696545468006609 -31106,0.13348716953674478 -31107,0.7761028620426957 -31108,0.4175575489121527 -31109,0.20780832780423253 -31110,0.3694922019480589 -31111,0.8778616941334525 -31112,0.06817483553726589 -31113,0.4149544354159881 -31114,0.008730596096473309 -31115,0.0696593745097146 -31116,0.45320965774916144 -31117,0.47638140836051335 -31118,0.5477317919220722 -31119,0.9150441213401893 -31120,0.03741323805107388 -31121,0.308946699661204 -31122,0.9405588995484789 -31123,0.3305618075750324 -31124,0.6192936938147722 -31125,0.8578305918263585 -31126,0.2745496686436142 -31127,0.4557870268415918 -31128,0.47107938556473816 -31129,0.9463464472361448 -31130,0.11081495601918057 -31131,0.1921494529730311 -31132,0.5071378990321406 -31133,0.941152074979057 -31134,0.7300361100915839 -31135,0.01506621618636339 -31136,0.5896252150398212 -31137,0.048963179770440735 -31138,0.38011224047465675 -31139,0.6907045602041231 -31140,0.7121741197561424 -31141,0.10009093223981358 -31142,0.5079355489409723 -31143,0.8704488211052682 -31144,0.7755555059133066 -31145,0.3542608852801574 -31146,0.9537576321212643 -31147,0.18483916241144338 -31148,0.2904290974368131 -31149,0.9911142087313132 -31150,0.15390802741684728 -31151,0.8648987552028274 -31152,0.6307528804741473 -31153,0.1061676619090185 -31154,0.920462020732798 -31155,0.14935453391981734 -31156,0.5982755195615025 -31157,0.9925101034027296 -31158,0.9436734651389169 -31159,0.6005195243073618 -31160,0.4104849308925824 -31161,0.6268665380683885 -31162,0.4300471908455702 -31163,0.5453259112018277 -31164,0.6617898116673654 -31165,0.3923240552273024 -31166,0.6188193983552855 -31167,0.2905723350653119 -31168,0.2506610646677685 -31169,0.24774672370848494 -31170,0.22653607268364162 -31171,0.4881384308766272 -31172,0.4767182040453639 -31173,0.07961619340249193 -31174,0.8347534143243472 -31175,0.6397804138745825 -31176,0.6041554604845601 -31177,0.5581528155883747 -31178,0.2656947739749249 -31179,0.33917157394183783 -31180,0.02407469908660409 -31181,0.5701000824615544 -31182,0.12214291193779758 -31183,0.30770458872580875 -31184,0.0427646181804795 -31185,0.15162113394109855 -31186,0.8337466219244474 -31187,0.09052220325410276 -31188,0.7413562918536549 -31189,0.0889037177956441 -31190,0.30387133497644436 -31191,0.9509674299920551 -31192,0.4787670972731095 -31193,0.7996787154928191 -31194,0.470390415619949 -31195,0.6147697914757276 -31196,0.1568537343190448 -31197,0.7560311258575123 -31198,0.2682543039665084 -31199,0.2777569053108002 -31200,0.03607661494116099 -31201,0.866736903089691 -31202,0.1553169163270336 -31203,0.6879259374152517 -31204,0.9598415970901236 -31205,0.8258368549884888 -31206,0.311546553182225 -31207,0.04923014078975785 -31208,0.23480302144182208 -31209,0.8127029795119807 -31210,0.6968055570459023 -31211,0.5750488888317867 -31212,0.11924787852874819 -31213,0.3200472183263059 -31214,0.4939264972186981 -31215,0.4756773084788173 -31216,0.6801070192543636 -31217,0.38492432010401323 -31218,0.5649252132441658 -31219,0.01164329127329089 -31220,0.08676733525938618 -31221,0.03345147438063856 -31222,0.691506901041367 -31223,0.12172916262407585 -31224,0.2359079253108487 -31225,0.9552672200478308 -31226,0.8419669277531183 -31227,0.5779266613568522 -31228,0.7573625643795119 -31229,0.8910689596433913 -31230,0.5864961987579708 -31231,0.23035915505513727 -31232,0.7624424960865113 -31233,0.9085024614320314 -31234,0.21006559422316584 -31235,0.179818996224415 -31236,0.4049075521478631 -31237,0.030647332343512912 -31238,0.14637214615173655 -31239,0.6276491291750153 -31240,0.4297660748972738 -31241,0.33430383282473486 -31242,0.3307887336633003 -31243,0.8936050326515008 -31244,0.5468643830856298 -31245,0.2102835705948064 -31246,0.03071189959297904 -31247,0.13519449950369655 -31248,0.8291348581678231 -31249,0.038467086024517094 -31250,0.9082576198608524 -31251,0.1467168586396902 -31252,0.20824245548571896 -31253,0.046117653954265814 -31254,0.16261244400816666 -31255,0.44594887495999547 -31256,0.8568652361292459 -31257,0.6519689435780991 -31258,0.3479867258510351 -31259,0.9850823213403026 -31260,0.4384318151678802 -31261,0.991490733477926 -31262,0.7745487026822445 -31263,0.9171325349739337 -31264,0.5738510960578915 -31265,0.6298590632182729 -31266,0.9639030663645425 -31267,0.029814874275540748 -31268,0.10751126972413749 -31269,0.2629049376974888 -31270,0.10803462940643305 -31271,0.8242640383920622 -31272,0.9025753276420997 -31273,0.44107072421264215 -31274,0.3733985878924434 -31275,0.6372596824571595 -31276,0.04455742586418954 -31277,0.751029873700105 -31278,0.48914932547616097 -31279,0.9316681794139225 -31280,0.7240327800679693 -31281,0.8021887751909343 -31282,0.34352655051332814 -31283,0.7518392745117587 -31284,0.2152955614524844 -31285,0.8636410922104958 -31286,0.8694197236152117 -31287,0.3279197400704542 -31288,0.8489064196682908 -31289,0.8441443334161893 -31290,0.915269681997154 -31291,0.19752216778776 -31292,0.8888508776875663 -31293,0.8671339139618949 -31294,0.3188359571771011 -31295,0.5696961624299963 -31296,0.7522135713926024 -31297,0.5677272267178636 -31298,0.4883220788667505 -31299,0.5479074053485359 -31300,0.11556474197019906 -31301,0.6370355721491816 -31302,0.036671273066277266 -31303,0.9109504577327251 -31304,0.4636867546463811 -31305,0.9159845695777334 -31306,0.8562451382909771 -31307,0.18214283215409643 -31308,0.17784661829185078 -31309,0.896150612494659 -31310,0.718867866912988 -31311,0.7130952453980989 -31312,0.6883248399905065 -31313,0.3211349121992788 -31314,0.6287439939637981 -31315,0.7589207381139985 -31316,0.03104089999197779 -31317,0.8344419207487229 -31318,0.3954752169799204 -31319,0.36430547289463233 -31320,0.7051391660995195 -31321,0.4275825924065114 -31322,0.3278978834298141 -31323,0.15273105266084241 -31324,0.5187350342341723 -31325,0.759894387324676 -31326,0.7750751161397034 -31327,0.32431151696934013 -31328,0.5078268996915943 -31329,0.8879944446138464 -31330,0.19473657250832221 -31331,0.5371349669866111 -31332,0.8558649891048731 -31333,0.3061093389375269 -31334,0.5805790304562928 -31335,0.3101850783288371 -31336,0.3565842171213316 -31337,0.7837800815198283 -31338,0.8998987470870158 -31339,0.9632869632971337 -31340,0.26691905424609275 -31341,0.012507898916038984 -31342,0.5883132674589004 -31343,0.11043417090100582 -31344,0.16131785405772225 -31345,0.6175010560118425 -31346,0.8264437960602852 -31347,0.37854222009315375 -31348,0.9721486817604776 -31349,0.2840136224587725 -31350,0.4260210165576933 -31351,0.34219508843931534 -31352,0.6497142546396271 -31353,0.07702337190553854 -31354,0.6280757722564303 -31355,0.3915052507969442 -31356,0.08446729389467023 -31357,0.6833549010357136 -31358,0.030962512683149535 -31359,0.41186666273268957 -31360,0.9349891896554166 -31361,0.6505404751587082 -31362,0.950035517532137 -31363,0.26202156429579804 -31364,0.5628440517376019 -31365,0.08693278711243912 -31366,0.3360184284972605 -31367,0.17800198579938697 -31368,0.5098486189287494 -31369,0.522750440697585 -31370,0.8208226194782724 -31371,0.35882344170819946 -31372,0.6027423700394136 -31373,0.6700235821031193 -31374,0.6378117409939803 -31375,0.40811649906337877 -31376,0.5465382449185643 -31377,0.3019465107598748 -31378,0.48617337080587053 -31379,0.2610117057543744 -31380,0.25601492654871216 -31381,0.17807229194181118 -31382,0.26829321739435286 -31383,0.20814967181818733 -31384,0.08608436000046027 -31385,0.5990870440828318 -31386,0.056687218322679755 -31387,0.7567315351300398 -31388,0.4102221187785211 -31389,0.7272861697479729 -31390,0.32794220692927356 -31391,0.49891864649880513 -31392,0.913144820025234 -31393,0.5344860626815433 -31394,0.5868721067979488 -31395,0.050187344677290024 -31396,0.10394878042088407 -31397,0.9415996975465166 -31398,0.0938281571284536 -31399,0.26251556458584935 -31400,0.9052080561959225 -31401,0.3615152645984545 -31402,0.703337600998677 -31403,0.7798337542021688 -31404,0.015787757275016023 -31405,0.5936139983525677 -31406,0.20481144829712383 -31407,0.7325745206760352 -31408,0.018947759600433045 -31409,0.7569086699898603 -31410,0.05429489130702525 -31411,0.5846917388261036 -31412,0.15074179086852668 -31413,0.16402460881726832 -31414,0.928412822588198 -31415,0.787803532254314 -31416,0.06836019239850444 -31417,0.6823512864012112 -31418,0.519527387542623 -31419,0.342149872716632 -31420,0.7554549676140603 -31421,0.6768462768950133 -31422,0.9864858373867227 -31423,0.9664668175592965 -31424,0.5477852427849853 -31425,0.5303322285507623 -31426,0.7296578456164687 -31427,0.021766833687687392 -31428,0.12202921629321051 -31429,0.515285106608864 -31430,0.3212186966461291 -31431,0.10475294331164686 -31432,0.5230669658137309 -31433,0.19387801020976148 -31434,0.5206478924657817 -31435,0.38999553294861045 -31436,0.03831243209023072 -31437,0.6394149977751683 -31438,0.557116850579916 -31439,0.06092653140886828 -31440,0.1350733773746452 -31441,0.9955767478956743 -31442,0.8305793229540082 -31443,0.47515188938340736 -31444,0.9437824881838885 -31445,0.246843351313209 -31446,0.5678810159545067 -31447,0.7320023164783206 -31448,0.18900540456317727 -31449,0.009298921903906798 -31450,0.3183685542509622 -31451,0.5584271491400449 -31452,0.7627195832580278 -31453,0.6529189547870832 -31454,0.7416124060827556 -31455,0.9110371757230665 -31456,0.4024362480785826 -31457,0.731146902885059 -31458,0.09628014308144539 -31459,0.8963622096735664 -31460,0.45512174945487205 -31461,0.8486223856355901 -31462,0.8815396171153219 -31463,0.8652697111674146 -31464,0.966995329928469 -31465,0.7894678721398678 -31466,0.3570028289916499 -31467,0.2579565822923491 -31468,0.6170542790287382 -31469,0.5970494530933538 -31470,0.26551666045022637 -31471,0.868893765169227 -31472,0.7493076688076209 -31473,0.3073216993343407 -31474,0.536514932465371 -31475,0.48561111745768004 -31476,0.41791815887456585 -31477,0.427815051809069 -31478,0.5375232563474636 -31479,0.025379995012717482 -31480,0.23001046852207252 -31481,0.7845896892701241 -31482,0.35305056148065606 -31483,0.10235302335370966 -31484,0.38324655840627886 -31485,0.23867001555515077 -31486,0.6549485190882767 -31487,0.4167697766086571 -31488,0.4138705379702534 -31489,0.6829696084651243 -31490,0.9027013534586226 -31491,0.7989055880747988 -31492,0.24308958947125237 -31493,0.9519954868268101 -31494,0.6401176962008763 -31495,0.2144796188909811 -31496,0.09004381225674674 -31497,0.0054104591665120605 -31498,0.9760983709018836 -31499,0.17021719323846607 -31500,0.039012446514833155 -31501,0.24545366757560083 -31502,0.050364362124650786 -31503,0.6064033581437371 -31504,0.8305532771623039 -31505,0.24820105212706378 -31506,0.18513465505188376 -31507,0.960294677780625 -31508,0.2996928267727851 -31509,0.060093011927529916 -31510,0.7507844874357952 -31511,0.5448590953688682 -31512,0.8341301643839073 -31513,0.15518948144973388 -31514,0.9562439298891181 -31515,0.40653069962649546 -31516,0.8567757662587443 -31517,0.8365466124621878 -31518,0.5190561006770253 -31519,0.39274051286729705 -31520,0.005041916878185337 -31521,0.09590591368516377 -31522,0.0475854830554594 -31523,0.6529327661200166 -31524,0.36739371743117755 -31525,0.6962049050436995 -31526,0.6274137929238381 -31527,0.7297536307689414 -31528,0.7922069225258251 -31529,0.6418142171532372 -31530,0.7918046744740832 -31531,0.7236226560156908 -31532,0.6875234065413725 -31533,0.21548732704580897 -31534,0.0979646658923572 -31535,0.5299944798503972 -31536,0.8717130890779414 -31537,0.48020086812411666 -31538,0.338881457145896 -31539,0.991801860692378 -31540,0.11366982698012873 -31541,0.9514401683627455 -31542,0.8159629750534269 -31543,0.8871055335998758 -31544,0.959935858007835 -31545,0.7478559927339075 -31546,0.5524905894469792 -31547,0.32635864900319544 -31548,0.05570757456774933 -31549,0.9570572920517317 -31550,0.9589882465019364 -31551,0.5415393724151735 -31552,0.5386395146960462 -31553,0.2734093690716921 -31554,0.06869611857334323 -31555,0.8224589378605648 -31556,0.5964778787943738 -31557,0.7500536689256722 -31558,0.5584392497938113 -31559,0.14333238539027005 -31560,0.7186462811102079 -31561,0.20752361988951273 -31562,0.8637868425619994 -31563,0.2139828781901416 -31564,0.07373641495526384 -31565,0.1328315695325476 -31566,0.4527098363765495 -31567,0.4164805408408925 -31568,0.25590723344134947 -31569,0.7087747824971496 -31570,0.47673973550379745 -31571,0.927050862771581 -31572,0.19956977495933226 -31573,0.6337317399162629 -31574,0.39703059188069 -31575,0.7320474645158436 -31576,0.3088715161719845 -31577,0.7980796921229079 -31578,0.38307528391179635 -31579,0.5222399971249985 -31580,0.3811915387936271 -31581,0.32973833222256776 -31582,0.07642890315536177 -31583,0.31644687682519723 -31584,0.9903495914035174 -31585,0.004264667929944066 -31586,0.2985671572783617 -31587,0.25013725309391965 -31588,0.3009720792589944 -31589,0.5771900684097513 -31590,0.7739456072409674 -31591,0.009156614461971802 -31592,0.1628963914871706 -31593,0.44701149722486944 -31594,0.9080671243402767 -31595,0.7542496137300662 -31596,0.17592504952530275 -31597,0.9777329142512773 -31598,0.44644034958501577 -31599,0.6980198866278196 -31600,0.10723341894869065 -31601,0.6350496303328271 -31602,0.39233749774207916 -31603,0.9965057701956365 -31604,0.8441421693715093 -31605,0.5855286222586162 -31606,0.1781362395514996 -31607,0.42991111431158024 -31608,0.6933432920181186 -31609,0.392199427537097 -31610,0.6055660271389255 -31611,0.47585591130044214 -31612,0.6716769480796659 -31613,0.9570922666595786 -31614,0.43020404597869133 -31615,0.10388566795063314 -31616,0.5649813198531791 -31617,0.9136299470976602 -31618,0.1019366181914747 -31619,0.9188861223873803 -31620,0.2637542323033557 -31621,0.4715449622407497 -31622,0.2661881247393387 -31623,0.49010027380503507 -31624,0.6680778128970332 -31625,0.2801201303836236 -31626,0.37145498309955827 -31627,0.6049138030540008 -31628,0.4939940873428006 -31629,0.13856824816178592 -31630,0.15453482941318153 -31631,0.5032975725987018 -31632,0.9363765093237766 -31633,0.8860447747566222 -31634,0.09037065074565076 -31635,0.39986888068978677 -31636,0.0763007498774868 -31637,0.48228108636971834 -31638,0.45397838248940403 -31639,0.7963545911591152 -31640,0.18414753023706254 -31641,0.13657642850209806 -31642,0.965007299695058 -31643,0.9512738449491136 -31644,0.844044074341981 -31645,0.9152178484739332 -31646,0.06222812959200896 -31647,0.3614618819871577 -31648,0.06034873028555454 -31649,0.1961599039784101 -31650,0.8435655984129206 -31651,0.8085355085843363 -31652,0.09370118457661836 -31653,0.07450153699609152 -31654,0.12790597847365193 -31655,0.3614108442417564 -31656,0.7939679437595775 -31657,0.6435005450447926 -31658,0.12283274924634235 -31659,0.2798922036502599 -31660,0.15512684405678 -31661,0.7052898980201292 -31662,0.2086208982532104 -31663,0.28795055080924004 -31664,0.82481901548772 -31665,0.3590869859050677 -31666,0.5714723923470643 -31667,0.41672056525482193 -31668,0.7871122945638395 -31669,0.24387805455013778 -31670,0.61569150783429 -31671,0.34022807924481635 -31672,0.37898251155925056 -31673,0.824405895662419 -31674,0.971580050417323 -31675,0.1938343913008458 -31676,0.7705693817491195 -31677,0.20677356879311437 -31678,0.17669633874333446 -31679,0.07053108873736358 -31680,0.14508300924488293 -31681,0.6340952896123702 -31682,0.2306248188996799 -31683,0.27391625729525915 -31684,0.35663434797203 -31685,0.15194313799244574 -31686,0.2554858399736256 -31687,0.9502524936469924 -31688,0.5932797793274709 -31689,0.7304230229822483 -31690,0.9728069856517638 -31691,0.29908380803606327 -31692,0.01339123484304039 -31693,0.7719473549551051 -31694,0.3371568851593507 -31695,0.31850619490820653 -31696,0.7599353618620257 -31697,0.8289777969857891 -31698,0.7297299995573242 -31699,0.336622919943637 -31700,0.05516732288085224 -31701,0.2977943268865778 -31702,0.49830080866391213 -31703,0.9380083266444225 -31704,0.06383809361806536 -31705,0.19918472658440867 -31706,0.96361489397382 -31707,0.28821921135517126 -31708,0.3916321693998728 -31709,0.05293762458521489 -31710,0.3000481593310578 -31711,0.7317564532652534 -31712,0.14486599980722037 -31713,0.2797241626447846 -31714,0.28014519931320037 -31715,0.37172795181469764 -31716,0.7858348312095231 -31717,0.3537076007312384 -31718,0.4158712199335034 -31719,0.27554344497822614 -31720,0.11152780095357628 -31721,0.7544674965111887 -31722,0.31520827607472546 -31723,0.824694733611069 -31724,0.16167918761589362 -31725,0.4144512643289997 -31726,0.09847669815877724 -31727,0.49100619654396993 -31728,0.8027213688105284 -31729,0.27653729914865444 -31730,0.7735930326603314 -31731,0.8054829189410864 -31732,0.8806009151365585 -31733,0.5343021659537831 -31734,0.24538963577815687 -31735,0.7091466426013362 -31736,0.6299589759958582 -31737,0.25525024138561203 -31738,0.07959048864702467 -31739,0.326448344997332 -31740,0.25109337558399825 -31741,0.3203583076122617 -31742,0.2325615998278584 -31743,0.13931165658988753 -31744,0.11261387839348247 -31745,0.15266280751009798 -31746,0.4216774946014762 -31747,0.18903961326686636 -31748,0.2039322340859704 -31749,0.461416442421961 -31750,0.7054301214747896 -31751,0.8175584123839043 -31752,0.5913477008883281 -31753,0.4918299733531637 -31754,0.4613634397586581 -31755,0.770480220658274 -31756,0.48685086806467337 -31757,0.25974628318702087 -31758,0.2570137741019006 -31759,0.995547957541536 -31760,0.27494872161386585 -31761,0.6366969565143866 -31762,0.5862306895387024 -31763,0.2963359388464373 -31764,0.4317678685463684 -31765,0.5210928926601611 -31766,0.8570865968692781 -31767,0.5413623681225133 -31768,0.3736700210970143 -31769,0.5037831612293829 -31770,0.7759960260415266 -31771,0.3216758979434112 -31772,0.7650278797713351 -31773,0.7461508177291483 -31774,0.5874260519189253 -31775,0.2799080445749601 -31776,0.07044201282245799 -31777,0.28578504342164124 -31778,0.30356453828735475 -31779,0.34917182010666803 -31780,0.7681245580803746 -31781,0.0732761122339659 -31782,0.3331511590460424 -31783,0.32996808347147943 -31784,0.2843315649858995 -31785,0.9077331094597053 -31786,0.5602205528716192 -31787,0.2648479703454687 -31788,0.8983608692120337 -31789,0.9685329439374472 -31790,0.7366647313115678 -31791,0.3065107277242003 -31792,0.8847130830395282 -31793,0.5648225975640232 -31794,0.8230927553492217 -31795,0.44761893381327755 -31796,0.01403900892998411 -31797,0.04931725137911214 -31798,0.35898488432987397 -31799,0.9331061810697087 -31800,0.8722263585440855 -31801,0.2613057738472335 -31802,0.05521287764230165 -31803,0.09469018313028599 -31804,0.035156341429044446 -31805,0.6065022579920077 -31806,0.09831666076694234 -31807,0.29494454404559756 -31808,0.984557444398089 -31809,0.17353585882159028 -31810,0.9970518082233818 -31811,0.6548187616020782 -31812,0.04807897998275579 -31813,0.7843279817295623 -31814,0.7988429889335911 -31815,0.024959834363828648 -31816,0.7279937079259595 -31817,0.6094420008267423 -31818,0.3349022935927627 -31819,0.8692289956397731 -31820,0.6643287065479044 -31821,0.6392670692424658 -31822,0.21679679698964716 -31823,0.9008677138439064 -31824,0.4962665167681265 -31825,0.6027259092376807 -31826,0.7821403516450766 -31827,0.7365195014460403 -31828,0.406015472908581 -31829,0.5027571737207062 -31830,0.461584925388296 -31831,0.3329854943745829 -31832,0.08353110688784393 -31833,0.630745988129834 -31834,0.20693408047361228 -31835,0.955347943806337 -31836,0.8376076292830579 -31837,0.397155045927187 -31838,0.013020900925177159 -31839,0.5183114380348713 -31840,0.95691122889044 -31841,0.42301080946812086 -31842,0.5541823507948099 -31843,0.6649447083549208 -31844,0.18263724289286543 -31845,0.8339437201771278 -31846,0.9963606376404521 -31847,0.8168643450604637 -31848,0.2573191121896553 -31849,0.3031992960601856 -31850,0.5791976377328132 -31851,0.13944553360345968 -31852,0.03448782754282953 -31853,0.9851707241208105 -31854,0.11050627552913428 -31855,0.9886134644486924 -31856,0.24603414869038465 -31857,0.5637977656687685 -31858,0.1543507756875413 -31859,0.5843248411635051 -31860,0.5131831655518878 -31861,0.7486659016969202 -31862,0.8739823522393892 -31863,0.3121245381523152 -31864,0.2324049976655007 -31865,0.8116711872582767 -31866,0.9128403247078327 -31867,0.3501625682753673 -31868,0.6737269768291512 -31869,0.5021098424745495 -31870,0.8333914084504749 -31871,0.7632189955757118 -31872,0.5617529300180423 -31873,0.43815374976019594 -31874,0.3115211614771186 -31875,0.6784500498871154 -31876,0.8870985582349546 -31877,0.8631143466367563 -31878,0.6158770733711799 -31879,0.5135233858242545 -31880,0.3489511071122178 -31881,0.5076931731536823 -31882,0.7312170518267819 -31883,0.4992790657949674 -31884,0.3155412161267259 -31885,0.7371202747548113 -31886,0.6424366890502072 -31887,0.0008174234762033938 -31888,0.2213059519686673 -31889,0.8343896149610692 -31890,0.28080089802344455 -31891,0.38103944263972644 -31892,0.07303216730307327 -31893,0.7997035832195967 -31894,0.6433332660113837 -31895,0.8617348899971684 -31896,0.9236977273535445 -31897,0.304059823580657 -31898,0.6402910930753937 -31899,0.7549760432050262 -31900,0.9203838485099495 -31901,0.15407787629021774 -31902,0.07383095857757083 -31903,0.7547162909059747 -31904,0.7367439003103223 -31905,0.07870389354650398 -31906,0.6072583860612253 -31907,0.9713353857456681 -31908,0.22335122164068844 -31909,0.2762014652176765 -31910,0.539268114415078 -31911,0.4137580724279225 -31912,0.3946929534801493 -31913,0.44167402241172793 -31914,0.5459611315306805 -31915,0.6739896710028003 -31916,0.1948454702307474 -31917,0.09580790915906379 -31918,0.37285861660336106 -31919,0.22537645739501033 -31920,0.6468423871060268 -31921,0.002759190260457123 -31922,0.44791680435861303 -31923,0.4929444655690306 -31924,0.8276941389984609 -31925,0.04851451406312812 -31926,0.6123672039240702 -31927,0.6690255554714247 -31928,0.5936311356657491 -31929,0.20428543566224044 -31930,0.6424018915660946 -31931,0.29622569873558613 -31932,0.3385125201370107 -31933,0.10127134058232201 -31934,0.10492628126122339 -31935,0.11581951743323704 -31936,0.12168031109357191 -31937,0.9764758725896225 -31938,0.30847925402740417 -31939,0.24724954184348313 -31940,0.8802949040433212 -31941,0.6964875295227659 -31942,0.21822162428994107 -31943,0.3729591423813371 -31944,0.11111535259765448 -31945,0.18751314547524578 -31946,0.29699329323759316 -31947,0.34925291336666353 -31948,0.8263860247057662 -31949,0.4865486864078157 -31950,0.9347457682717054 -31951,0.6745491221183695 -31952,0.428944167595828 -31953,0.42643158363380207 -31954,0.5654504267563517 -31955,0.7617622934466388 -31956,0.1552803466461905 -31957,0.06696590340288056 -31958,0.820436889000432 -31959,0.32180755126886273 -31960,0.3881393392525003 -31961,0.030040706332449152 -31962,0.22462696817571703 -31963,0.9231884998778072 -31964,0.9697456805340535 -31965,0.011233413650669655 -31966,0.5696210085622773 -31967,0.47617612524459485 -31968,0.5370527481247637 -31969,0.2562683965125988 -31970,0.690716759833283 -31971,0.9666527678077578 -31972,0.25682306201950433 -31973,0.13703499245036554 -31974,0.47148713140201337 -31975,0.021610717543335434 -31976,0.3801278012428527 -31977,0.388416553092226 -31978,0.067719349798534 -31979,0.8751814989167096 -31980,0.7774150606776751 -31981,0.6187835524921537 -31982,0.800082395685219 -31983,0.44581771542085824 -31984,0.46459695461803185 -31985,0.6743810593334585 -31986,0.03945502831619885 -31987,0.32967213553634145 -31988,0.2112600496883421 -31989,0.48641716996866946 -31990,0.918177107205143 -31991,0.6788047139740996 -31992,0.812265782918876 -31993,0.3837378483147109 -31994,0.10243555942167704 -31995,0.41521553074499884 -31996,0.24148124173636565 -31997,0.9609120584137789 -31998,0.29083775246607846 -31999,0.9952196412244793 -32000,0.4505164433157869 -32001,0.4976596514147318 -32002,0.9517022617516437 -32003,0.21002067053485918 -32004,0.1673729086171365 -32005,0.026429325230753586 -32006,0.8419903670163486 -32007,0.5783538364452866 -32008,0.38770337002147504 -32009,0.34810180011800895 -32010,0.9486121247626351 -32011,0.8632750328126714 -32012,0.37097638853184467 -32013,0.36341792780326776 -32014,0.5677527640703097 -32015,0.1698518550542485 -32016,0.18714737940438753 -32017,0.9755065328974409 -32018,0.14715905000229546 -32019,0.2902053534233421 -32020,0.9780047461135587 -32021,0.3526475571788059 -32022,0.46854605541375516 -32023,0.9183540786591353 -32024,0.4008638663625932 -32025,0.37509323966232155 -32026,0.26303093956994306 -32027,0.9467355262531532 -32028,0.9999199077763138 -32029,0.5768305181342731 -32030,0.4687745138371371 -32031,0.5063418022459238 -32032,0.4918772375970225 -32033,0.9892688541596791 -32034,0.21268448427760078 -32035,0.22163444022108003 -32036,0.039050184634581875 -32037,0.8741662677821304 -32038,0.39671001941463746 -32039,0.8697565311173611 -32040,0.284007496192082 -32041,0.7654421876608136 -32042,0.09711151590063627 -32043,0.5910196976310906 -32044,0.37254984149425896 -32045,0.5485882916012452 -32046,0.018172484686613255 -32047,0.12431184191407896 -32048,0.8423762762429637 -32049,0.7014150266986408 -32050,0.9751889053878069 -32051,0.9357284777588364 -32052,0.9032633776013389 -32053,0.3853177397169725 -32054,0.39733329157517205 -32055,0.059696439353764896 -32056,0.99155906921913 -32057,0.8330352002876237 -32058,0.9925241700405287 -32059,0.1364279317917333 -32060,0.8825065594067895 -32061,0.7723556228953898 -32062,0.6666387673934301 -32063,0.6852105780237286 -32064,0.7359665624347774 -32065,0.19122203828240358 -32066,0.6137005707260534 -32067,0.3666709780620855 -32068,0.24197255983564359 -32069,0.30737656242742073 -32070,0.6400637323444839 -32071,0.24411616605677078 -32072,0.5819399823622855 -32073,0.9216782002280417 -32074,0.48641174177683166 -32075,0.18311828026442378 -32076,0.07409320621064175 -32077,0.32453439598354517 -32078,0.3808678724961795 -32079,0.562821393620356 -32080,0.027100951404658735 -32081,0.034374615012217835 -32082,0.5573606787003497 -32083,0.943634873330443 -32084,0.5633857789351266 -32085,0.5347804379022012 -32086,0.2946036239043829 -32087,0.7081402063544864 -32088,0.6395858839568268 -32089,0.6295117806504223 -32090,0.6537685066829625 -32091,0.01668784776883625 -32092,0.541175533225857 -32093,0.7447217679376292 -32094,0.5426720218821408 -32095,0.029194074786889734 -32096,0.387405884535412 -32097,0.5678234991088048 -32098,0.18607989655945678 -32099,0.5152509538683442 -32100,0.34068329886973314 -32101,0.2396716675382381 -32102,0.6385562714754123 -32103,0.48575063154339804 -32104,0.9503732004575548 -32105,0.21894244594746715 -32106,0.928239870493748 -32107,0.5786077207752067 -32108,0.09853115272585466 -32109,0.9879250927609096 -32110,0.5371698097256589 -32111,0.11874900347731832 -32112,0.5963128352271492 -32113,0.7323676075006067 -32114,0.9181934018313532 -32115,0.1467109940217295 -32116,0.8592374986077017 -32117,0.7669683525523127 -32118,0.5184616638768313 -32119,0.9191301856266237 -32120,0.4148258031266394 -32121,0.6520394480374879 -32122,0.39452807016106994 -32123,0.5031548127182708 -32124,0.5412083113638868 -32125,0.2460153503085314 -32126,0.44581592845708684 -32127,0.5226723357654459 -32128,0.4114137771220985 -32129,0.5948338911154644 -32130,0.9650073568221096 -32131,0.07046059356121859 -32132,0.21407627892049552 -32133,0.5609297042773068 -32134,0.9816518479538036 -32135,0.252401545256968 -32136,0.06904144042931781 -32137,0.7111684351674079 -32138,0.10736866330319483 -32139,0.6455969624115173 -32140,0.7227565647352164 -32141,0.3387686038102846 -32142,0.2681518151552412 -32143,0.6741348874756535 -32144,0.9351068695078362 -32145,0.12139255638914337 -32146,0.8842093889766105 -32147,0.5943722934719563 -32148,0.012727538354713297 -32149,0.5033277486928126 -32150,0.8628065667041928 -32151,0.011309723296952345 -32152,0.8054845801273841 -32153,0.12265912818825842 -32154,0.6274500397682263 -32155,0.3896847886438257 -32156,0.8077457018252481 -32157,0.49573306360285296 -32158,0.3079161240409609 -32159,0.24647377808082094 -32160,0.9599804527782377 -32161,0.5608321394971412 -32162,0.2707005034577413 -32163,0.23112094531737315 -32164,0.7461419958711613 -32165,0.09862210113017522 -32166,0.2651627130370835 -32167,0.8124361384896039 -32168,0.3023757672865649 -32169,0.9470634079795764 -32170,0.05660421707847407 -32171,0.6185052133599659 -32172,0.7683120370143592 -32173,0.8466091285879611 -32174,0.8372120151925468 -32175,0.778453936899871 -32176,0.5268253498485971 -32177,0.897765716621409 -32178,0.7703132544337805 -32179,0.19860319772488455 -32180,0.9088406835292561 -32181,0.14995615660558737 -32182,0.71468803083629 -32183,0.18671233788596908 -32184,0.7556734545603339 -32185,0.06369502371808733 -32186,0.0237433063960365 -32187,0.3092472329812188 -32188,0.8591502105610154 -32189,0.9673683853578073 -32190,0.682656006063134 -32191,0.4433244278950538 -32192,0.7849098690402609 -32193,0.19193529172545432 -32194,0.9169482579186234 -32195,0.48051731865004854 -32196,0.4750414479126085 -32197,0.7720470584460205 -32198,0.3630395796373671 -32199,0.9685753086933371 -32200,0.33678205410566564 -32201,0.14971916558185328 -32202,0.639740301990166 -32203,0.8414429018503777 -32204,0.18745648942250148 -32205,0.37263366616559324 -32206,0.6392449049417053 -32207,0.7753189304867517 -32208,0.9466066778300021 -32209,0.9154360421965424 -32210,0.5192765754023599 -32211,0.23816534165677095 -32212,0.46218835409510306 -32213,0.5674107939848901 -32214,0.33701284337603343 -32215,0.6539327719825675 -32216,0.4793558142916493 -32217,0.24788437072884795 -32218,0.09588160293438819 -32219,0.278622807497128 -32220,0.4286007674819622 -32221,0.1957703320791352 -32222,0.47111920084393755 -32223,0.16342181668745603 -32224,0.9924464718803012 -32225,0.37208260300398366 -32226,0.28307504550327645 -32227,0.6797733092841042 -32228,0.32706516404143826 -32229,0.5212764673460635 -32230,0.1429226450034431 -32231,0.13605992193912142 -32232,0.3334444838195628 -32233,0.13289766893441124 -32234,0.5795219657471556 -32235,0.5832937934767883 -32236,0.2791682658341599 -32237,0.2529507493094374 -32238,0.12448321257151662 -32239,0.8460281719466366 -32240,0.1161584067916257 -32241,0.6206179964786228 -32242,0.03615023205740475 -32243,0.26998089106733236 -32244,0.04704242758536292 -32245,0.6994152980236923 -32246,0.4565686333888833 -32247,0.7548458058521184 -32248,0.9511300562765391 -32249,0.31372886269474864 -32250,0.29718816328019604 -32251,0.9119178842292289 -32252,0.6089357250713198 -32253,0.9497674512822558 -32254,0.4501721542076351 -32255,0.4918011945581927 -32256,0.020449913624404403 -32257,0.6720627420711869 -32258,0.5913118278548084 -32259,0.11876871244173326 -32260,0.4255739215187314 -32261,0.5143451950910514 -32262,0.27305799836357736 -32263,0.4282488050863278 -32264,0.944843286515925 -32265,0.4132830560453309 -32266,0.8898690933798357 -32267,0.9940158801214739 -32268,0.04341650201676195 -32269,0.678644562788882 -32270,0.789813946420544 -32271,0.4634003322904924 -32272,0.7931348093289192 -32273,0.22202087410170612 -32274,0.5246090694231749 -32275,0.43647254895231136 -32276,0.19550671687873222 -32277,0.009885344847534006 -32278,0.14200270905242618 -32279,0.3392289506708901 -32280,0.44379404527190247 -32281,0.8664390661343483 -32282,0.20750196536736754 -32283,0.44568873805195086 -32284,0.2665918047189978 -32285,0.9495369850237486 -32286,0.31308684260974706 -32287,0.9394786953315278 -32288,0.12424354720252706 -32289,0.4670512161027601 -32290,0.7731931515431528 -32291,0.038287601816353156 -32292,0.552038621343655 -32293,0.0113204114562796 -32294,0.45318123174616864 -32295,0.12015621044988689 -32296,0.30841445223531294 -32297,0.834617077722715 -32298,0.542165202957605 -32299,0.8106808677164675 -32300,0.10126765264078108 -32301,0.4010514671621329 -32302,0.5508116218781395 -32303,0.008835482146586138 -32304,0.48223487303241386 -32305,0.3474008602119314 -32306,0.754238921549986 -32307,0.10655372307878941 -32308,0.2741383464944054 -32309,0.8426323752986657 -32310,0.19884971709350896 -32311,0.352610736256452 -32312,0.9054374839489655 -32313,0.6608954844673396 -32314,0.9262135319169985 -32315,0.9383813665685939 -32316,0.2962884420400467 -32317,0.8092761873967924 -32318,0.12087385186322874 -32319,0.24675168650078527 -32320,0.6879024955771591 -32321,0.35054477775510073 -32322,0.710934048095861 -32323,0.5210758876754152 -32324,0.3240255211726545 -32325,0.30697637236515884 -32326,0.7561666593783022 -32327,0.6104202944664724 -32328,0.7748113278042649 -32329,0.7396807545429473 -32330,0.8789365310876394 -32331,0.8615408431152424 -32332,0.7256239088258475 -32333,0.20736266845856122 -32334,0.7617637352551283 -32335,0.9529734660905097 -32336,0.556388041626199 -32337,0.7099122921066452 -32338,0.004381861904184103 -32339,0.11541422125044365 -32340,0.5526774099176804 -32341,0.5490882135729732 -32342,0.23431099967640812 -32343,0.10149873032719758 -32344,0.14105317353997948 -32345,0.4515458922581145 -32346,0.42399972960107424 -32347,0.17049275946824072 -32348,0.7111903800691476 -32349,0.7766231876342128 -32350,0.7368764441846917 -32351,0.7524066020395025 -32352,0.46438220242888306 -32353,0.6821109518180323 -32354,0.002092837041618445 -32355,0.37360603139150805 -32356,0.8289951561016426 -32357,0.9707987213336491 -32358,0.29060141479693546 -32359,0.14337672773627164 -32360,0.05598263637169654 -32361,0.556660618239839 -32362,0.45493656158097984 -32363,0.1284342130462468 -32364,0.10043113190980857 -32365,0.7989028094249763 -32366,0.5140253792246468 -32367,0.8982900397758505 -32368,0.22508862696682463 -32369,0.910727778014763 -32370,0.11003237573596192 -32371,0.4587321146579315 -32372,0.05281960795841867 -32373,0.54372900795111 -32374,0.6651380774604598 -32375,0.8597990631230977 -32376,0.9992973704851201 -32377,0.05502644266760348 -32378,0.039911554798728544 -32379,0.8337963491500532 -32380,0.839813325414249 -32381,0.7517050391565523 -32382,0.31325484826280303 -32383,0.3320085265584761 -32384,0.332164457173567 -32385,0.8454846081652648 -32386,0.4394962864408186 -32387,0.2936229960062604 -32388,0.5330082800582487 -32389,0.9944572477046487 -32390,0.8988030796622662 -32391,0.6513568622750487 -32392,0.6417140393784948 -32393,0.615160664270706 -32394,0.39857477981557277 -32395,0.8496387259211688 -32396,0.271590598876295 -32397,0.19935949937929653 -32398,0.8757107483765392 -32399,0.13126210782859837 -32400,0.3750006757173734 -32401,0.48259976384745185 -32402,0.7858969513221453 -32403,0.7448719005018491 -32404,0.8703222026169628 -32405,0.6026607736644756 -32406,0.5417326795498592 -32407,0.3408029758934553 -32408,0.3111200440414016 -32409,0.2457858143629713 -32410,0.9273570281658162 -32411,0.6504307431007631 -32412,0.14430931759017662 -32413,0.10929137373632059 -32414,0.9022885565138223 -32415,0.439782681313188 -32416,0.5492427370342454 -32417,0.553222687727759 -32418,0.30496546734921437 -32419,0.4898778598758674 -32420,0.8215185234405351 -32421,0.26829455123409307 -32422,0.22096894769503794 -32423,0.6048347747507021 -32424,0.6411822991104548 -32425,0.8449939167696562 -32426,0.11867634386153292 -32427,0.7833709196045946 -32428,0.9781743295737798 -32429,0.011359373623742064 -32430,0.4054216942845671 -32431,0.14934181230166577 -32432,0.4314440868117122 -32433,0.1676265667739455 -32434,0.37851224809365047 -32435,0.586883489342935 -32436,0.7012518476829925 -32437,0.9468609441245333 -32438,0.21003798002887208 -32439,0.04735633326659339 -32440,0.0303951958135541 -32441,0.7549526646896341 -32442,0.6203998383339813 -32443,0.6433408999656881 -32444,0.4264953029205296 -32445,0.8691199280145907 -32446,0.45531233336242294 -32447,0.6356529041439802 -32448,0.7408523013737103 -32449,0.7962072611280325 -32450,0.7462280351028444 -32451,0.9928093905440601 -32452,0.24618376771998673 -32453,0.7944671313595995 -32454,0.1045533967331499 -32455,0.6071572498425758 -32456,0.2943955756184201 -32457,0.9334920820637386 -32458,0.12905015358953253 -32459,0.2089317213590267 -32460,0.9093482343702685 -32461,0.7009478977055706 -32462,0.13066605466783654 -32463,0.8320986531015957 -32464,0.26952665644326335 -32465,0.7155185468917088 -32466,0.6541159130471933 -32467,0.8264871170066802 -32468,0.674003872943001 -32469,0.17174018178073147 -32470,0.9352427405219628 -32471,0.450104860489247 -32472,0.5285485058946908 -32473,0.7937402575081571 -32474,0.48140444409671057 -32475,0.32253624496150723 -32476,0.7392343190511343 -32477,0.668894721169192 -32478,0.4255211524096356 -32479,0.7012922201862702 -32480,0.8169850684970981 -32481,0.6334528755806303 -32482,0.13170163575916427 -32483,0.24720842365469398 -32484,0.7377878301684674 -32485,0.22020475318502986 -32486,0.10360972885811248 -32487,0.7413938989765233 -32488,0.5331285067753762 -32489,0.9194434355150239 -32490,0.753239137798926 -32491,0.7935811816236388 -32492,0.9269649086828837 -32493,0.06645335164083088 -32494,0.4518425390410422 -32495,0.5729580162162292 -32496,0.12014318430304438 -32497,0.7493444230159368 -32498,0.8831809860311088 -32499,0.6790130503064288 -32500,0.1397209607854324 -32501,0.5738030940863525 -32502,0.8569233261050941 -32503,0.3825275023589525 -32504,0.14017135077729015 -32505,0.10719463722843614 -32506,0.2981692732850617 -32507,0.03375566278350162 -32508,0.26631387470479573 -32509,0.5129252913682081 -32510,0.254661707662698 -32511,0.5351295527309572 -32512,0.8634221790075679 -32513,0.646079077662264 -32514,0.13522151890729261 -32515,0.9923909324840532 -32516,0.36871926051893256 -32517,0.39636748929354126 -32518,0.537638389367501 -32519,0.8256676941162613 -32520,0.8969938266087361 -32521,0.4322763192616038 -32522,0.8594837367056589 -32523,0.6094131568150556 -32524,0.15371914400873676 -32525,0.5877139652997849 -32526,0.39872201866540036 -32527,0.9469188989490989 -32528,0.7594886077474647 -32529,0.27959827712753915 -32530,0.9302893743889618 -32531,0.09972569929308517 -32532,0.5017804938213316 -32533,0.5775002907009279 -32534,0.9177468021384317 -32535,0.9234187042426696 -32536,0.4892439355210778 -32537,0.8645247672165882 -32538,0.49794542026093835 -32539,0.7551655047215143 -32540,0.21297034681049087 -32541,0.3752212789718914 -32542,0.6716776906096389 -32543,0.870265012913757 -32544,0.7925545907355231 -32545,0.8618549536905616 -32546,0.031626214376836326 -32547,0.7099131543587573 -32548,0.3508776774928912 -32549,0.927792564710305 -32550,0.8323155572837184 -32551,0.9491608442041528 -32552,0.9273107743248906 -32553,0.8440803746840051 -32554,0.5653002236489472 -32555,0.5917230417784656 -32556,0.029861152139239233 -32557,0.4753536637084941 -32558,0.6661282303992696 -32559,0.1851734811439475 -32560,0.8642288056968735 -32561,0.491013547341419 -32562,0.3188947632646414 -32563,0.7575634049297474 -32564,0.14515117762090612 -32565,0.118548935966867 -32566,0.8871410236183778 -32567,0.4144770863554824 -32568,0.722720263913926 -32569,0.750230594307508 -32570,0.08499003928147963 -32571,0.3546878401199868 -32572,0.951208964863493 -32573,0.994034320921013 -32574,0.22996731066710718 -32575,0.28852280053211754 -32576,0.8193700128629734 -32577,0.2773210735550924 -32578,0.12820027344503238 -32579,0.5263362401481648 -32580,0.8198881829655664 -32581,0.061324009887656405 -32582,0.3013167183240425 -32583,0.337576340876096 -32584,0.3432063688545607 -32585,0.8743383266776534 -32586,0.9615158881974237 -32587,0.05971435429708172 -32588,0.5577164907368193 -32589,0.2818770970218587 -32590,0.08142834701013146 -32591,0.9528688801467794 -32592,0.3964261106523621 -32593,0.3947632712397121 -32594,0.004605073268792559 -32595,0.2363273798659773 -32596,0.7205468555422277 -32597,0.39751568270676196 -32598,0.45082714323738027 -32599,0.8674645218037959 -32600,0.4234993023711001 -32601,0.0033199819687771415 -32602,0.9966808999049196 -32603,0.902458749346311 -32604,0.361279923053784 -32605,0.6373228686687201 -32606,0.7288799756864758 -32607,0.796653049295854 -32608,0.22337067600932314 -32609,0.1833246531000189 -32610,0.7033765520134282 -32611,0.9632988138482657 -32612,0.17109653280767068 -32613,0.06022593066981852 -32614,0.6145451351780215 -32615,0.45023227519749276 -32616,0.1799020368875618 -32617,0.15643882576251744 -32618,0.872839076513248 -32619,0.8483303844711223 -32620,0.8537045554587083 -32621,0.4429471987293718 -32622,0.39715860733047104 -32623,0.2214146891278238 -32624,0.7801845057520432 -32625,0.2965249207936359 -32626,0.43111432612926714 -32627,0.014007311836923608 -32628,0.6306241549251659 -32629,0.7430708751678643 -32630,0.7049684286176551 -32631,0.594708307748913 -32632,0.4982840303944037 -32633,0.42964348647795003 -32634,0.722675388554164 -32635,0.45890468993733613 -32636,0.528172619008636 -32637,0.91848767649531 -32638,0.995631644593929 -32639,0.5039470031579858 -32640,0.4924274696680553 -32641,0.005544234718264041 -32642,0.9574438388317174 -32643,0.7176286495971272 -32644,0.2572233838473095 -32645,0.39402872151677015 -32646,0.14463299780328276 -32647,0.725277675902207 -32648,0.36002669479550353 -32649,0.5889608315169615 -32650,0.14297267612649822 -32651,0.9245210928360401 -32652,0.24979690544308253 -32653,0.3519849440691454 -32654,0.5382127510772993 -32655,0.20724086412747156 -32656,0.8959304176883189 -32657,0.8746688294016283 -32658,0.32178684284388726 -32659,0.23720994421925667 -32660,0.34739778043038205 -32661,0.5445585148262155 -32662,0.7768349503078302 -32663,0.7880330027496493 -32664,0.2589310934809006 -32665,0.27269147421756923 -32666,0.8239159367805242 -32667,0.3268233690703719 -32668,0.5108998618403087 -32669,0.7149071832007294 -32670,0.7189498976991606 -32671,0.42792478722578553 -32672,0.20407689055842326 -32673,0.6128024908121006 -32674,0.5515977938667479 -32675,0.3040396693678661 -32676,0.73497743128137 -32677,0.4348464915661945 -32678,0.33721048414649046 -32679,0.4609536921980033 -32680,0.6007394107550236 -32681,0.3975464257807495 -32682,0.7434937983355784 -32683,0.5677573608206937 -32684,0.8369348552817721 -32685,0.9398027970387277 -32686,0.7368057463956234 -32687,0.5941519996207673 -32688,0.2564820244912479 -32689,0.8797631537224875 -32690,0.20216037333542025 -32691,0.0909549698905513 -32692,0.9030478201619406 -32693,0.21506628261627836 -32694,0.9108917307772783 -32695,0.8100936868786668 -32696,0.2625613312140951 -32697,0.1344904265272452 -32698,0.8794252057002803 -32699,0.595531513859191 -32700,0.4048542946771112 -32701,0.3052311702644449 -32702,0.9311797233016312 -32703,0.5859891303030319 -32704,0.745984430019622 -32705,0.7261358060095846 -32706,0.8857410855391532 -32707,0.3582997000068181 -32708,0.43354504074741496 -32709,0.1246361839616198 -32710,0.08170195269901559 -32711,0.34358945167730004 -32712,0.556218590603762 -32713,0.4595478618984796 -32714,0.4480430863533085 -32715,0.8922709053400976 -32716,0.4411442594742965 -32717,0.868872764612023 -32718,0.6587936506098098 -32719,0.976533132700895 -32720,0.10833578606965133 -32721,0.2853870314580397 -32722,0.557566731534735 -32723,0.7553423706580776 -32724,0.7659701978213542 -32725,0.5763586288599906 -32726,0.9738400397477982 -32727,0.9545688629092568 -32728,0.4780927633824861 -32729,0.5494881698980177 -32730,0.18650643926872634 -32731,0.5107876812057301 -32732,0.5557836670029273 -32733,0.5869451063837875 -32734,0.3444500464908572 -32735,0.9473188583336428 -32736,0.5514003902269285 -32737,0.4241142031747227 -32738,0.21029295484359378 -32739,0.7655871261927739 -32740,0.5515500546655537 -32741,0.6478453251580423 -32742,0.4760498295696095 -32743,0.795742209763042 -32744,0.51927419814622 -32745,0.3636816676954462 -32746,0.17390420398132622 -32747,0.35133934797382926 -32748,0.7666926957480769 -32749,0.4043216999162612 -32750,0.1636287337713599 -32751,0.9384807316228149 -32752,0.6808012683240294 -32753,0.4984795796405327 -32754,0.862234883003734 -32755,0.8867186196836762 -32756,0.8899382471776395 -32757,0.5551305196941299 -32758,0.9331128959309914 -32759,0.5578392323814637 -32760,0.15195044356100196 -32761,0.06909021365758117 -32762,0.9376078586859126 -32763,0.15743608854431224 -32764,0.7991953348834413 -32765,0.5492869647510558 -32766,0.021974647945618764 -32767,0.880695869315753 -32768,0.9754335056934886 -32769,0.5100131960793026 -32770,0.7814187439804912 -32771,0.7792261834910901 -32772,0.34979987870500007 -32773,0.6403103533281838 -32774,0.3467470649789376 -32775,0.742010561538214 -32776,0.4722483272201454 -32777,0.6658252700362477 -32778,0.113071682512498 -32779,0.6051554104474558 -32780,0.4393703157520745 -32781,0.8566282764327976 -32782,0.16924516200051332 -32783,0.6376351319174686 -32784,0.2594662265817491 -32785,0.7326479419439313 -32786,0.7745151345729259 -32787,0.998086121552382 -32788,0.4910561543598959 -32789,0.8564344379023375 -32790,0.195331379067888 -32791,0.8434526958526956 -32792,0.2527741385623248 -32793,0.07356540162841141 -32794,0.09552231838095993 -32795,0.27322504920148927 -32796,0.8800890137363493 -32797,0.5622706756282005 -32798,0.46337739964573843 -32799,0.7254972409540533 -32800,0.3033765124036567 -32801,0.7493293480914227 -32802,0.5435963311371318 -32803,0.9367375762754291 -32804,0.2808056498761661 -32805,0.8122845337741592 -32806,0.6010535065400803 -32807,0.07423738915570344 -32808,0.552040973015568 -32809,0.22868780691382973 -32810,0.8110006323336613 -32811,0.2685514448227809 -32812,0.9437173344575195 -32813,0.9875077748087543 -32814,0.4202703638847073 -32815,0.3168228230975271 -32816,0.9488918211489452 -32817,0.09944804731626666 -32818,0.09032955618726735 -32819,0.8975771051168959 -32820,0.6431222136200395 -32821,0.08698382081014788 -32822,0.4727646863350643 -32823,0.9721235868044548 -32824,0.15429120817378872 -32825,0.48145638964518633 -32826,0.11959716685821342 -32827,0.6068888050230519 -32828,0.7944793842517263 -32829,0.8903396730535079 -32830,0.0404034614345411 -32831,0.0038480293356094597 -32832,0.7508139299943385 -32833,0.5151851635226613 -32834,0.2471513983880541 -32835,0.14181096229645906 -32836,0.402327729442449 -32837,0.24675805016909624 -32838,0.38139221507042365 -32839,0.3288407758046168 -32840,0.8286795974970426 -32841,0.3713995211717287 -32842,0.7057827377926751 -32843,0.2568463697981681 -32844,0.22829968052997718 -32845,0.3531353687434986 -32846,0.2215818889722725 -32847,0.27414258444043105 -32848,0.7254251961737219 -32849,0.2647138811176002 -32850,0.38332381274598715 -32851,0.21085214871183622 -32852,0.16087404429730823 -32853,0.8147894100766951 -32854,0.10634418340277996 -32855,0.7321535438781324 -32856,0.5277489955954118 -32857,0.9553968256848161 -32858,0.9556679614024448 -32859,0.19653589252330317 -32860,0.55653331299605 -32861,0.24414282287087918 -32862,0.9792130351986003 -32863,0.8706879020397364 -32864,0.8889266813142173 -32865,0.18921029142992973 -32866,0.5005134452520511 -32867,0.9563482170793255 -32868,0.5906182967316803 -32869,0.11507981404395096 -32870,0.3938258319651633 -32871,0.3686203933734369 -32872,0.8634499770199391 -32873,0.6658283394701173 -32874,0.9881714083122457 -32875,0.1847529218374495 -32876,0.6705668500442097 -32877,0.5940341972594887 -32878,0.4000115306439359 -32879,0.2720027411506276 -32880,0.4717901507991885 -32881,0.24031810021943512 -32882,0.547782397366129 -32883,0.09141947921999105 -32884,0.8886392767182432 -32885,0.7574865084612498 -32886,0.24236122523763426 -32887,0.8805043593313294 -32888,0.3229819893735003 -32889,0.19783886168770126 -32890,0.36866501286724807 -32891,0.20722645683051555 -32892,0.4051650986728691 -32893,0.3676127283981607 -32894,0.19704369319704285 -32895,0.07283841574205063 -32896,0.27969887663199866 -32897,0.2547153594162478 -32898,0.46534919293263266 -32899,0.10926927375677664 -32900,0.09830156702569848 -32901,0.14295080690209805 -32902,0.3794693727231382 -32903,0.353424271718896 -32904,0.1654236553684576 -32905,0.08604230798756729 -32906,0.05628110119390839 -32907,0.10449584796080935 -32908,0.591068679269426 -32909,0.21604524747319898 -32910,0.5064613271235823 -32911,0.4740703569476796 -32912,0.5981264705451222 -32913,0.028455496121807422 -32914,0.2991702941171773 -32915,0.3030400120914478 -32916,0.21431227005908915 -32917,0.64292600756814 -32918,0.32090643988143897 -32919,0.8185265503749484 -32920,0.18869077864178907 -32921,0.6974851707067196 -32922,0.49762019414657876 -32923,0.7777289385039247 -32924,0.22191109404988552 -32925,0.12497427939881867 -32926,0.41840612007993827 -32927,0.864807897312044 -32928,0.4141603385907071 -32929,0.8871341285445465 -32930,0.027837170381482146 -32931,0.844618194133742 -32932,0.24188398563174207 -32933,0.2609316276097434 -32934,0.024085009445467098 -32935,0.34619774571196105 -32936,0.5498016252496962 -32937,0.6374751250658716 -32938,0.8312439374620846 -32939,0.9370681954718397 -32940,0.10727826838907317 -32941,0.5454397988322911 -32942,0.17436584833881452 -32943,0.4064148100141618 -32944,0.19326881705504262 -32945,0.8976449160254184 -32946,0.8041460119394909 -32947,0.5107858487283701 -32948,0.3648608251802843 -32949,0.2633372295543892 -32950,0.3526812474586215 -32951,0.9455699876171468 -32952,0.17047066415201073 -32953,0.8099921788279323 -32954,0.4836247625926139 -32955,0.22311535180912268 -32956,0.6333601633817337 -32957,0.6644044475419317 -32958,0.055855240141799545 -32959,0.13711528513270077 -32960,0.20987472894831782 -32961,0.06070166976231528 -32962,0.18210124763724977 -32963,0.8353404778603803 -32964,0.19435327744385467 -32965,0.6554987237166767 -32966,0.45598281728195944 -32967,0.5662566335084807 -32968,0.14763235220865434 -32969,0.46281748832934044 -32970,0.48263379430096487 -32971,0.33476545477476616 -32972,0.67278961850825 -32973,0.9700306712889405 -32974,0.4536150775631723 -32975,0.4982746137788008 -32976,0.017823431572737802 -32977,0.35254388696798733 -32978,0.07825654192496823 -32979,0.3673226519657681 -32980,0.5896063534804207 -32981,0.19739136686620973 -32982,0.9489665306837676 -32983,0.8167690003176274 -32984,0.44108533534547056 -32985,0.9542246039110283 -32986,0.3359716224076118 -32987,0.8069790318107076 -32988,0.6203638761068108 -32989,0.5137871399185754 -32990,0.13190792233480897 -32991,0.09724650447971084 -32992,0.980165257904053 -32993,0.9823852196334871 -32994,0.5971496822796443 -32995,0.801578365267881 -32996,0.060184324814915646 -32997,0.159430461823458 -32998,0.4972548082712024 -32999,0.16188484390157598 -33000,0.8385263564559193 -33001,0.16318163174032674 -33002,0.4633966936755586 -33003,0.4530536579122165 -33004,0.24832312215122265 -33005,0.06902050382616065 -33006,0.15616857692618757 -33007,0.6984995992918543 -33008,0.4365839567217741 -33009,0.08765946426733318 -33010,0.7823707320501769 -33011,0.38206296027823483 -33012,0.02263783969610378 -33013,0.516471806691198 -33014,0.20713269193636208 -33015,0.5301241577728193 -33016,0.4643741343058302 -33017,0.7170622548931875 -33018,0.2526486772428289 -33019,0.2688396753720276 -33020,0.8596422713842095 -33021,0.9152067089437771 -33022,0.5771749642450035 -33023,0.8027699211811091 -33024,0.734417091832734 -33025,0.8953191571247189 -33026,0.28102078410905207 -33027,0.015072467669706158 -33028,0.7096234442084008 -33029,0.10415636538468354 -33030,0.017994002217198712 -33031,0.5374289321414326 -33032,0.2974313793667903 -33033,0.31276357051304027 -33034,0.33884119622773856 -33035,0.469268380841492 -33036,0.8014108932747567 -33037,0.043015327403600034 -33038,0.9414264550086943 -33039,0.6893295660973943 -33040,0.9089287171811548 -33041,0.02319018171537035 -33042,0.7923143850321219 -33043,0.6294040059633437 -33044,0.5044693957860995 -33045,0.3395135577284162 -33046,0.46734056511748256 -33047,0.04103323770891254 -33048,0.541946487039373 -33049,0.7019209484904526 -33050,0.9780181428066461 -33051,0.40894030699610173 -33052,0.38898435885237936 -33053,0.40609017550418003 -33054,0.5567023080150297 -33055,0.9363371428055116 -33056,0.47021999308914153 -33057,0.03535046664286856 -33058,0.0003061290103072434 -33059,0.9640013469588863 -33060,0.46180127605660615 -33061,0.07667685662814416 -33062,0.3179553931107115 -33063,0.5071049629049023 -33064,0.43824373059111676 -33065,0.5569336854705499 -33066,0.7286985373511985 -33067,0.5760076851842832 -33068,0.5950060102407877 -33069,0.34485802638269614 -33070,0.195788118369714 -33071,0.983100050305135 -33072,0.6671134519054297 -33073,0.5327956828920525 -33074,0.5765067401543197 -33075,0.85410812885513 -33076,0.38869980351915034 -33077,0.6000785660170302 -33078,0.6356113704484234 -33079,0.2873033592578095 -33080,0.05272900162977989 -33081,0.04984405014155968 -33082,0.5655594904988706 -33083,0.11656552538013865 -33084,0.8581574933835071 -33085,0.6026102566409938 -33086,0.5165787480868633 -33087,0.8394474905734796 -33088,0.37430146457248037 -33089,0.14952556723089616 -33090,0.547531918393297 -33091,0.5432785532740521 -33092,0.32102680285145957 -33093,0.9834849604358532 -33094,0.27648655861401616 -33095,0.05433839313157096 -33096,0.07626953044230467 -33097,0.2933207958539592 -33098,0.6407691423695523 -33099,0.8488938458739584 -33100,0.3349328624843655 -33101,0.35696209066664775 -33102,0.6417374645720175 -33103,0.7232243111428291 -33104,0.06167056382440661 -33105,0.3318884837989472 -33106,0.9452264071866964 -33107,0.93164013831445 -33108,0.3074894072258222 -33109,0.1215531506462052 -33110,0.35958074942514806 -33111,0.9589554379817852 -33112,0.6288540280768243 -33113,0.3363485964456826 -33114,0.966544826826072 -33115,0.5057323668984721 -33116,0.1752170394330872 -33117,0.29767080765082543 -33118,0.9266808507220388 -33119,0.18122228410622188 -33120,0.887563710894992 -33121,0.6193898623384615 -33122,0.543183764148261 -33123,0.3847957804662706 -33124,0.37929476562336806 -33125,0.5221890465736435 -33126,0.9677312201258633 -33127,0.31260021677729277 -33128,0.5281875573308357 -33129,0.38685614326682916 -33130,0.44781929121157094 -33131,0.6255234257218839 -33132,0.9498048133721615 -33133,0.8038277233386759 -33134,0.7654887187943779 -33135,0.3052978368104913 -33136,0.8457797266331996 -33137,0.8295490605068178 -33138,0.19225616550842262 -33139,0.8272288376233223 -33140,0.4686358384364995 -33141,0.3936434120384651 -33142,0.39313380899938266 -33143,0.7539342188128326 -33144,0.713884805289863 -33145,0.29231082385214013 -33146,0.4238266526314517 -33147,0.2567683793344262 -33148,0.7336921615706228 -33149,0.8898591336299744 -33150,0.8254354711638426 -33151,0.899314144174831 -33152,0.9019636463393679 -33153,0.056677792388139414 -33154,0.1493882885232657 -33155,0.3412519942628779 -33156,0.9839420503527576 -33157,0.9398798831326424 -33158,0.5568346649769881 -33159,0.12476151495359256 -33160,0.5960975142716384 -33161,0.7005206689495942 -33162,0.3556803318439786 -33163,0.9377559091057145 -33164,0.170697495648231 -33165,0.7916409444847435 -33166,0.7141161810256333 -33167,0.06497836598989903 -33168,0.3565506730661854 -33169,0.7330588447625694 -33170,0.9266336581089458 -33171,0.06964887877396819 -33172,0.6951212290976644 -33173,0.2763674597686402 -33174,0.5195292240883218 -33175,0.4450355183674881 -33176,0.3330633849333333 -33177,0.12017280275344333 -33178,0.3300317754996036 -33179,0.7698668185884033 -33180,0.7620630735275837 -33181,0.845107367751475 -33182,0.47280001422841456 -33183,0.7834584592544359 -33184,0.28431113013848786 -33185,0.7088417234282757 -33186,0.41281926363323374 -33187,0.920883883897331 -33188,0.9180493603433555 -33189,0.371129574434386 -33190,0.7230229836286407 -33191,0.6551094415930746 -33192,0.7667750711988717 -33193,0.42348370669307844 -33194,0.9215739366718956 -33195,0.4775919405426361 -33196,0.9639474710483291 -33197,0.5497743318618349 -33198,0.9026983084806581 -33199,0.10146888380622365 -33200,0.9029090680972646 -33201,0.19081441439059488 -33202,0.9613374054010997 -33203,0.5301741187063196 -33204,0.9723709041381625 -33205,0.33222592625105285 -33206,0.8138415098122525 -33207,0.6902685707296508 -33208,0.755034468613274 -33209,0.8925746070990687 -33210,0.5446256004602658 -33211,0.0260964043538644 -33212,0.3118042209147964 -33213,0.8136254345426058 -33214,0.05246793953647455 -33215,0.5938756563047748 -33216,0.4741548664218044 -33217,0.943041902475573 -33218,0.07139297779202847 -33219,0.3320824869617762 -33220,0.507593804428523 -33221,0.3591265415013105 -33222,0.5955456005727315 -33223,0.9053776178719953 -33224,0.6116363552576818 -33225,0.055428450355726744 -33226,0.05134911584773538 -33227,0.5201010863294169 -33228,0.4089565334268698 -33229,0.12178431366710141 -33230,0.464276858283336 -33231,0.24284574128744307 -33232,0.41707763745251136 -33233,0.6338392225439323 -33234,0.8130056041458832 -33235,0.3145413363810965 -33236,0.5212898936389748 -33237,0.5222222973885201 -33238,0.5149164872190513 -33239,0.26107443595700597 -33240,0.9494393776489026 -33241,0.9129655738466816 -33242,0.18179824866957273 -33243,0.4804646174781705 -33244,0.24988029200019946 -33245,0.39432586022526916 -33246,0.20314925015808427 -33247,0.607201723866692 -33248,0.6435538422392159 -33249,0.33330134530624844 -33250,0.8526337463569414 -33251,0.5903495390956592 -33252,0.5885978178055299 -33253,0.09751254514502883 -33254,0.4383999882394365 -33255,0.9995964023243658 -33256,0.5326742143909938 -33257,0.354832478169382 -33258,0.4447812772632955 -33259,0.19575060633638663 -33260,0.7206381121312639 -33261,0.40851573407006714 -33262,0.8290772908802903 -33263,0.7700767358146273 -33264,0.8076391678089596 -33265,0.12984303833408906 -33266,0.5598199298422387 -33267,0.26051681113091896 -33268,0.14624490110275656 -33269,0.8029003512221904 -33270,0.56966250189488 -33271,0.957672822300342 -33272,0.23767949233555807 -33273,0.025277862764928605 -33274,0.5810670503099159 -33275,0.7713151681537863 -33276,0.5617627471951102 -33277,0.7401879400045895 -33278,0.9492160840348666 -33279,0.03952165822576714 -33280,0.3386741476299988 -33281,0.01950644560694903 -33282,0.5528787316567624 -33283,0.812212412569764 -33284,0.5779971846006263 -33285,0.7718137888262045 -33286,0.3749898690934048 -33287,0.3283739997809808 -33288,0.7115585120569586 -33289,0.4104817146750914 -33290,0.48691873242987194 -33291,0.9553618546171726 -33292,0.12128498075188698 -33293,0.550543150996423 -33294,0.868568173494426 -33295,0.1346802204465517 -33296,0.3737251459748454 -33297,0.012612328587224941 -33298,0.9742393507446357 -33299,0.62285228133997 -33300,0.5079460667191773 -33301,0.4781915049804204 -33302,0.5263826864548629 -33303,0.45966119275020334 -33304,0.8478711677545384 -33305,0.2903881288038278 -33306,0.8176646199978554 -33307,0.4823487560337728 -33308,0.877164330753546 -33309,0.9069269761902784 -33310,0.5999871713261652 -33311,0.7048163043574448 -33312,0.8553153755429609 -33313,0.5861760235150152 -33314,0.24102198846582157 -33315,0.24333180682370514 -33316,0.5898379951056976 -33317,0.14747847759020483 -33318,0.2313600273786801 -33319,0.5476296806282265 -33320,0.2956920299832553 -33321,0.7151777390621087 -33322,0.9907319138951228 -33323,0.33147601010927963 -33324,0.521218196895596 -33325,0.9214456997731445 -33326,0.874505837391979 -33327,0.4411435053594669 -33328,0.7770333207631587 -33329,0.16858276942722894 -33330,0.8071449008967286 -33331,0.81790405940222 -33332,0.8274587423005756 -33333,0.3275717971221156 -33334,0.7799899520610033 -33335,0.908657926945529 -33336,0.05768559948816587 -33337,0.288335038500359 -33338,0.7754093432831036 -33339,0.1130461103379039 -33340,0.28918706647721737 -33341,0.08826325973880045 -33342,0.9590246430478035 -33343,0.4294884251242451 -33344,0.2386851233921906 -33345,0.8969999357022337 -33346,0.31818027149773354 -33347,0.8693661892177286 -33348,0.42368905524084 -33349,0.4773268553857465 -33350,0.9235749321441263 -33351,0.10041675958645846 -33352,0.25163762811874746 -33353,0.8142030524591436 -33354,0.5010120002598829 -33355,0.7146059252103385 -33356,0.3728565188283822 -33357,0.9054149614124531 -33358,0.4199939581912281 -33359,0.8558350225564777 -33360,0.008528288441467469 -33361,0.7041777764841127 -33362,0.5396074450752962 -33363,0.09168551880735176 -33364,0.6042941313053806 -33365,0.027465158724011562 -33366,0.26476847589802277 -33367,0.8121019025375964 -33368,0.6352598755712268 -33369,0.898210711403887 -33370,0.9635398349010657 -33371,0.2609469146083685 -33372,0.8111371965853593 -33373,0.7757522540251189 -33374,0.05357015617609051 -33375,0.9067654232399669 -33376,0.06541767059169523 -33377,0.7076551929639331 -33378,0.24939554783959372 -33379,0.8487841263686785 -33380,0.39484666632344856 -33381,0.7893321482974567 -33382,0.17041638875147147 -33383,0.11020803905928633 -33384,0.729229526304902 -33385,0.4605224897823691 -33386,0.38712126909012134 -33387,0.27309027698093946 -33388,0.2827862225211687 -33389,0.5587078969378612 -33390,0.2055776812397324 -33391,0.05918944052440067 -33392,0.03436787266501973 -33393,0.29309786819831907 -33394,0.04520707276121072 -33395,0.40560904925507857 -33396,0.6726211753634189 -33397,0.23768432135804785 -33398,0.7430333477077807 -33399,0.03167733157487129 -33400,0.8826418548408802 -33401,0.9521450644871119 -33402,0.4128499023598565 -33403,0.2665832092647037 -33404,0.518969554877771 -33405,0.518122709444556 -33406,0.7793953934574019 -33407,0.3768450423343186 -33408,0.9254275602898805 -33409,0.1846048052954563 -33410,0.04298593421432695 -33411,0.20665603809251765 -33412,0.5552845518060209 -33413,0.3724489246089856 -33414,0.7922586881467935 -33415,0.23884699252786357 -33416,0.5028114113672938 -33417,0.028430653265527073 -33418,0.14394193559767698 -33419,0.06116940677042204 -33420,0.08333765423740891 -33421,0.38249601825058066 -33422,0.10825287339402812 -33423,0.29243683752848226 -33424,0.7491270317465779 -33425,0.8605071010948327 -33426,0.20394985254334563 -33427,0.3031204146787212 -33428,0.2724041652280744 -33429,0.6754888368430403 -33430,0.11632926777378472 -33431,0.5271372739593879 -33432,0.7911485611966259 -33433,0.818718940436925 -33434,0.915658203510732 -33435,0.40934030968926904 -33436,0.35000581332361813 -33437,0.07242977841040865 -33438,0.22009810936446916 -33439,0.971407787198861 -33440,0.947418600344899 -33441,0.639584812441705 -33442,0.18955455092551754 -33443,0.6480633735024905 -33444,0.6889818189286074 -33445,0.2812284102750049 -33446,0.3718227769897505 -33447,0.8828392943808684 -33448,0.9679088717999392 -33449,0.47345252562527507 -33450,0.06303726646580665 -33451,0.7894432489432588 -33452,0.5366590760831899 -33453,0.8691552088108341 -33454,0.6688704563323473 -33455,0.06858683195376014 -33456,0.6168931913983019 -33457,0.9640499200050242 -33458,0.1707927521268665 -33459,0.5827539507817324 -33460,0.06431243475664061 -33461,0.918172786561345 -33462,0.17267827396797764 -33463,0.4131528406684598 -33464,0.061114201321293415 -33465,0.14362272050216485 -33466,0.9302650760643051 -33467,0.5214701575953836 -33468,0.6044021912228893 -33469,0.46312700411338614 -33470,0.9730014071653746 -33471,0.84026020120739 -33472,0.8473121223617383 -33473,0.6887975715371146 -33474,0.2744011898081695 -33475,0.8474485487115407 -33476,0.3171882224599589 -33477,0.01251306694517762 -33478,0.48739753170434297 -33479,0.9330250059517908 -33480,0.47771647847060883 -33481,0.12293313056628297 -33482,0.6412206644143174 -33483,0.6885136662179491 -33484,0.8157676651021842 -33485,0.06937792227618578 -33486,0.6655966354746743 -33487,0.23950063542412425 -33488,0.8402414197071147 -33489,0.2703584946688069 -33490,0.8919622793015551 -33491,0.7127571968883459 -33492,0.39483024122110866 -33493,0.63947161246011 -33494,0.18572024873760307 -33495,0.18606958178642186 -33496,0.0876005352699023 -33497,0.12813472543074178 -33498,0.5311195651663504 -33499,0.36532767204127925 -33500,0.6597177546795127 -33501,0.9997148144331829 -33502,0.42335706076304747 -33503,0.5263736144616533 -33504,0.26687253364009467 -33505,0.25389703223296245 -33506,0.645644757462998 -33507,0.5723169879833458 -33508,0.29305647594962403 -33509,0.5880952648578829 -33510,0.09289085726316682 -33511,0.8896352571539031 -33512,0.5574982325729689 -33513,0.6294175740708768 -33514,0.42420847088583624 -33515,0.16719660676401993 -33516,0.7962089150320038 -33517,0.7511569115055295 -33518,0.27275549568193724 -33519,0.49816633832249935 -33520,0.1761264771660681 -33521,0.23446353359155458 -33522,0.03818365500427445 -33523,0.43872746813380314 -33524,0.6446669593066354 -33525,0.9133679193798259 -33526,0.7489001663129584 -33527,0.567848513202152 -33528,0.7118127986310663 -33529,0.04615731396960199 -33530,0.21793541579635411 -33531,0.27371134161236255 -33532,0.38130681717765647 -33533,0.8192464174806916 -33534,0.2137037225763999 -33535,0.5264915930592424 -33536,0.9117461489461743 -33537,0.393709357846059 -33538,0.34405395275281436 -33539,0.6081236835646474 -33540,0.12272210709818965 -33541,0.2599250439052222 -33542,0.4046594474137346 -33543,0.6843458834441317 -33544,0.8797243444588821 -33545,0.6021128647477311 -33546,0.275917423373332 -33547,0.3649704759768422 -33548,0.5781042831321365 -33549,0.6083165721552524 -33550,0.4136625128927707 -33551,0.24044281068458506 -33552,0.06936848426471698 -33553,0.23574435681515093 -33554,0.5881137195018418 -33555,0.015546692621502434 -33556,0.20536343088776177 -33557,0.7806023047437205 -33558,0.6999468448867163 -33559,0.9160877690577558 -33560,0.01421023477521055 -33561,0.04682299835213599 -33562,0.6463081071174802 -33563,0.5712490740825928 -33564,0.34089622613451454 -33565,0.5405908899500088 -33566,0.40064217637765087 -33567,0.3815459521886704 -33568,0.4394708831270472 -33569,0.7977333553206257 -33570,0.9803791255426932 -33571,0.08404626481870636 -33572,0.05126118604908225 -33573,0.9627604498320352 -33574,0.6039913347490544 -33575,0.6434842377804461 -33576,0.2995634247698802 -33577,0.40142640669615026 -33578,0.20679704852316427 -33579,0.9152468528576915 -33580,0.7252552866824771 -33581,0.5733254590082388 -33582,0.46688770554402437 -33583,0.7118132475108733 -33584,0.1486197724334989 -33585,0.327823476354849 -33586,0.6572212773134578 -33587,0.6468889716472062 -33588,0.5557177174518316 -33589,0.18440673614093972 -33590,0.9351671301212207 -33591,0.09424581867589121 -33592,0.8581279568929431 -33593,0.6071396433755759 -33594,0.5140860728851151 -33595,0.722756904751858 -33596,0.22899190804377245 -33597,0.49727108147794696 -33598,0.6573590486358243 -33599,0.6813010935523675 -33600,0.1342744760493625 -33601,0.5000077816173275 -33602,0.6149289875636518 -33603,0.9874276585252861 -33604,0.9894315337300472 -33605,0.5774894859910694 -33606,0.8891273359973826 -33607,0.03345545781124404 -33608,0.171005253054465 -33609,0.2629696645926922 -33610,0.5132744866372096 -33611,0.5887566816533955 -33612,0.5069443076040894 -33613,0.1300474552109976 -33614,0.2803072323557074 -33615,0.1393034509390384 -33616,0.6794867382097959 -33617,0.5866314183694383 -33618,0.646266306303538 -33619,0.43468876814263013 -33620,0.6643117128087603 -33621,0.06221373456910584 -33622,0.5685633480908457 -33623,0.7419933059095751 -33624,0.2669673907614515 -33625,0.18933190233439257 -33626,0.7975839958176683 -33627,0.9081167120287965 -33628,0.12161548442767223 -33629,0.6670512013875124 -33630,0.8902284214506929 -33631,0.10829855868848826 -33632,0.8764730047994229 -33633,0.7903047211193308 -33634,0.4847805298452017 -33635,0.8217462659041178 -33636,0.4671219411618259 -33637,0.4994557053178236 -33638,0.9749991582858385 -33639,0.4750648458268819 -33640,0.09734079323346922 -33641,0.43004843884620636 -33642,0.3860727817198647 -33643,0.6871345587503082 -33644,0.7513461302330516 -33645,0.5648414739785992 -33646,0.883081582971711 -33647,0.12287748944942045 -33648,0.8037452830508728 -33649,0.7778805755616763 -33650,0.5346317829837894 -33651,0.6417338018952347 -33652,0.665226591974702 -33653,0.11205695583285136 -33654,0.654389777608196 -33655,0.8464043200790456 -33656,0.1139179124213997 -33657,0.37215599863840554 -33658,0.12476967037706743 -33659,0.18942021764890793 -33660,0.06019193092324504 -33661,0.877441817896094 -33662,0.2938445914299588 -33663,0.5376962865687502 -33664,0.024100717064757138 -33665,0.7510865035958701 -33666,0.29863643331583034 -33667,0.9846364456863973 -33668,0.09016324369849515 -33669,0.9662694429238491 -33670,0.5551449424164313 -33671,0.8598297881143234 -33672,0.26958629686618896 -33673,0.24444308511222823 -33674,0.07760880252977709 -33675,0.470836738729829 -33676,0.36921318866507935 -33677,0.410933776477293 -33678,0.916626309561913 -33679,0.3572594918492221 -33680,0.2971076483694707 -33681,0.684986992250322 -33682,0.45393117007304384 -33683,0.07379085125485274 -33684,0.31045598828630316 -33685,0.9024622666464346 -33686,0.3075037379689134 -33687,0.488273168652153 -33688,0.8354393747360315 -33689,0.4843945930860494 -33690,0.12541008057315162 -33691,0.7408721025925491 -33692,0.16159977497525635 -33693,0.6874173843436335 -33694,0.6315250323645546 -33695,0.5837849326867217 -33696,0.23920390783064716 -33697,0.46838100217172784 -33698,0.6443889490251679 -33699,0.2501601362252356 -33700,0.34169158401991495 -33701,0.8720332149377784 -33702,0.8984721289982119 -33703,0.8682042040030287 -33704,0.7795956283390989 -33705,0.843151114277807 -33706,0.21000000874916536 -33707,0.9535535943805615 -33708,0.7981228015226185 -33709,0.5749271127954159 -33710,0.10969275853930949 -33711,0.0494728256975675 -33712,0.22971046702744125 -33713,0.4491344420708788 -33714,0.6767586966515708 -33715,0.005829322343994581 -33716,0.3843384231611793 -33717,0.2979376247634219 -33718,0.6907008012692338 -33719,0.27870205991533104 -33720,0.6322439068152191 -33721,0.5776518902831056 -33722,0.36343926069979593 -33723,0.6987540790785536 -33724,0.39991452172589714 -33725,0.9906813526616715 -33726,0.42233435172004796 -33727,0.8811749018536469 -33728,0.5115189600512344 -33729,0.7179349106409343 -33730,0.3633444100180856 -33731,0.42632136924879904 -33732,0.3276125315722569 -33733,0.49895233545512774 -33734,0.3464148521120738 -33735,0.16835196670290664 -33736,0.3631701483065758 -33737,0.21041335588670995 -33738,0.19962269986351888 -33739,0.567842823533892 -33740,0.33513119322677687 -33741,0.47084427190237566 -33742,0.0640768699581531 -33743,0.49175466858735617 -33744,0.08108351478434661 -33745,0.6212530114957622 -33746,0.427516756884051 -33747,0.07598184724204216 -33748,0.2800996796806383 -33749,0.6343663826297898 -33750,0.13278241855044526 -33751,0.0919809988918524 -33752,0.5760717131173717 -33753,0.08915851073814929 -33754,0.2695989984172025 -33755,0.06756110865066989 -33756,0.6880591036802547 -33757,0.19594209532410922 -33758,0.644846522161945 -33759,0.03470337653292044 -33760,0.36690277652573333 -33761,0.5099987365377485 -33762,0.680106230993161 -33763,0.4363284103081696 -33764,0.9083085355957337 -33765,0.33670399765051573 -33766,0.5833134724818213 -33767,0.439573504737963 -33768,0.041843692783924635 -33769,0.8868488096607072 -33770,0.9533028099159895 -33771,0.8814850366402252 -33772,0.5836329842208242 -33773,0.1625967704071014 -33774,0.012828035988171727 -33775,0.38646765043275466 -33776,0.8249113570810244 -33777,0.02642224800010251 -33778,0.606652096798452 -33779,0.18431210430827694 -33780,0.10322228695469193 -33781,0.8874122411017861 -33782,0.3166706181682145 -33783,0.8663247445402299 -33784,0.6057896794813031 -33785,0.604455568926432 -33786,0.5424166673446553 -33787,0.16916595096222375 -33788,0.730352337025359 -33789,0.7682681277091229 -33790,0.99035594227642 -33791,0.286561645900279 -33792,0.022101391540469417 -33793,0.44051455509115867 -33794,0.43962939837962633 -33795,0.4642967821641859 -33796,0.6853528124245972 -33797,0.4960470868389434 -33798,0.8078273823885089 -33799,0.5583946672391472 -33800,0.188880679169402 -33801,0.6476862381019078 -33802,0.8049130759335545 -33803,0.421666298169571 -33804,0.7414771097832678 -33805,0.9518552031297197 -33806,0.34479168731668364 -33807,0.42791079324659 -33808,0.5986756072006515 -33809,0.078522681928331 -33810,0.5845670523111467 -33811,0.18426487171649453 -33812,0.33848541498026397 -33813,0.7138517016477274 -33814,0.3165386212729965 -33815,0.9568986771932825 -33816,0.7043722131634608 -33817,0.7986575014214072 -33818,0.6750643597217723 -33819,0.4309189766489746 -33820,0.28623126114671127 -33821,0.08852086103470569 -33822,0.006626208164248859 -33823,0.11817078928825908 -33824,0.2284655612426718 -33825,0.7327752343257142 -33826,0.5134882122511486 -33827,0.7114980090900648 -33828,0.581557360858522 -33829,0.8924728775442026 -33830,0.4306013739915483 -33831,0.7961170416197649 -33832,0.7163983100730054 -33833,0.22803238263313852 -33834,0.792739791515194 -33835,0.42935195130864134 -33836,0.08979463702852808 -33837,0.6916428351327137 -33838,0.32021280913630945 -33839,0.3806937058103995 -33840,0.2819448088983191 -33841,0.7794454673241242 -33842,0.004599664028548722 -33843,0.5806148866433333 -33844,0.7632719076203196 -33845,0.2872650801171215 -33846,0.5075352283865181 -33847,0.27070846368787993 -33848,0.3425871992677184 -33849,0.4610244182941756 -33850,0.42415559687102533 -33851,0.5934351286994257 -33852,0.41265132216529155 -33853,0.839456241007651 -33854,0.4409130486168843 -33855,0.524119941207472 -33856,0.8913207232902847 -33857,0.8537718838368875 -33858,0.8247553345549467 -33859,0.7085080210487152 -33860,0.6757195640966578 -33861,0.9363113189662927 -33862,0.9982737375372204 -33863,0.02059262413367602 -33864,0.14535321140849367 -33865,0.24275139731703188 -33866,0.843591194256478 -33867,0.924732110488367 -33868,0.5504475309187805 -33869,0.6379355145145648 -33870,0.14352116246005286 -33871,0.23957666070565165 -33872,0.8227031022652703 -33873,0.5125305705928553 -33874,0.26770619176059596 -33875,0.91065297637497 -33876,0.14127946024179727 -33877,0.15987238281997285 -33878,0.5112164063455688 -33879,0.6389550984083315 -33880,0.21621038984101848 -33881,0.8473362626590011 -33882,0.046267786561562274 -33883,0.9719618691292373 -33884,0.49891741525013367 -33885,0.9148522119315673 -33886,0.7419290521009926 -33887,0.9574785474720712 -33888,0.24072486247182245 -33889,0.25838824484780376 -33890,0.04445819002234164 -33891,0.9156429505378888 -33892,0.8166475505688492 -33893,0.7564932983015341 -33894,0.09019478000043202 -33895,0.9702105807179036 -33896,0.29350949194825826 -33897,0.6010709658436914 -33898,0.9276653422275861 -33899,0.39175772953266386 -33900,0.9481709983555114 -33901,0.010923067373076578 -33902,0.10256682439477782 -33903,0.18941224498565679 -33904,0.5048951797167827 -33905,0.5558705178779677 -33906,0.4862035662231534 -33907,0.2852496012149225 -33908,0.8572757382586372 -33909,0.1035428531978212 -33910,0.17359785548492046 -33911,0.7610978872701694 -33912,0.24853711632607833 -33913,0.5873071485931194 -33914,0.03675610381424199 -33915,0.47676533866219184 -33916,0.3915575218645644 -33917,0.015070893758216353 -33918,0.48708238378049307 -33919,0.24005991788055703 -33920,0.196373416106295 -33921,0.7768552091183476 -33922,0.5616757288260305 -33923,0.33808677260110753 -33924,0.7595270310821102 -33925,0.23405925904277558 -33926,0.9480908411874734 -33927,0.8880944259630932 -33928,0.6471619521480031 -33929,0.25491559907828976 -33930,0.452255419783022 -33931,0.9330939235065464 -33932,0.4538032049822739 -33933,0.31238915654237365 -33934,0.2695620215572476 -33935,0.03939171518247775 -33936,0.7346584654701881 -33937,0.48542294435388567 -33938,0.1009700389695084 -33939,0.7771540309198423 -33940,0.7160111760317286 -33941,0.6509516087487449 -33942,0.9976598202949344 -33943,0.8548534948302714 -33944,0.9827254089563344 -33945,0.7106013660298438 -33946,0.0188817256761854 -33947,0.7814611133997548 -33948,0.5657542153057225 -33949,0.4681232310499266 -33950,0.7472974946166268 -33951,0.7545407700726394 -33952,0.13898716049994386 -33953,0.843505600353009 -33954,0.03475682388463741 -33955,0.622156236153783 -33956,0.2878814201612814 -33957,0.6135219386340112 -33958,0.18900763272402665 -33959,0.2116771342049032 -33960,0.011312135034565629 -33961,0.372801438898156 -33962,0.4714808911805398 -33963,0.5167401200914455 -33964,0.11677745853870514 -33965,0.275617313635414 -33966,0.3354905588801773 -33967,0.4196657822457731 -33968,0.41308030630673964 -33969,0.269063660233989 -33970,0.0342719833347932 -33971,0.6598158466473923 -33972,0.7140767661558344 -33973,0.6842667202608217 -33974,0.31114042479352366 -33975,0.554209917420941 -33976,0.8317021698564967 -33977,0.12267691584494822 -33978,0.6182622803522482 -33979,0.27863909298818423 -33980,0.9386366831738073 -33981,0.13952017569087105 -33982,0.48665822529857605 -33983,0.6073877577921405 -33984,0.22758425616794498 -33985,0.03686059769653949 -33986,0.699619802753881 -33987,0.8117512568371799 -33988,0.4049660067602099 -33989,0.5946709290622527 -33990,0.23534903235867644 -33991,0.9730475482728617 -33992,0.4400171967919856 -33993,0.5709715491795804 -33994,0.09856776031260495 -33995,0.6530497941578298 -33996,0.5146775814235958 -33997,0.8814895078409304 -33998,0.12723924990903135 -33999,0.7253824652502507 -34000,0.5213000445112776 -34001,0.5247541475485383 -34002,0.3530258686455827 -34003,0.0642428588615569 -34004,0.9281587684882872 -34005,0.2725140844006112 -34006,0.5672848232937682 -34007,0.9644022103932609 -34008,0.5861909230065133 -34009,0.6599562822088424 -34010,0.28723146369042163 -34011,0.4124453020272949 -34012,0.8123792581596897 -34013,0.862872980112237 -34014,0.691731589721404 -34015,0.31466152105118894 -34016,0.8952216792416204 -34017,0.5977685382014863 -34018,0.7049260917913486 -34019,0.727545144758633 -34020,0.3196204769399116 -34021,0.3383371810068565 -34022,0.6552668763403838 -34023,0.09317117080310922 -34024,0.9698552048182753 -34025,0.7042528970474005 -34026,0.13741895330470832 -34027,0.8542407888333079 -34028,0.38968429980600994 -34029,0.5203671223151507 -34030,0.5179833276381136 -34031,0.11964386596943721 -34032,0.2491835524043674 -34033,0.7862114177881716 -34034,0.5041193576455513 -34035,0.05472433389353992 -34036,0.37073867974158403 -34037,0.2686391789277275 -34038,0.9455509020967379 -34039,0.6146863224659466 -34040,0.46813225021453986 -34041,0.6318072017325798 -34042,0.9215084839887909 -34043,0.5997980333217054 -34044,0.21618596761794118 -34045,0.16148347551516506 -34046,0.803064326452218 -34047,0.9640792130399161 -34048,0.9926600815477745 -34049,0.9255861825055476 -34050,0.4919191926778864 -34051,0.9154634329887544 -34052,0.17790512125670543 -34053,0.5343797926967278 -34054,0.5532017118152057 -34055,0.5664181275076626 -34056,0.4800389743563156 -34057,0.958452926198721 -34058,0.9300605937605038 -34059,0.21488537068804947 -34060,0.40922009763875766 -34061,0.07567776154396055 -34062,0.5117300068076397 -34063,0.87203115864907 -34064,0.8802413519548611 -34065,0.5026232758940261 -34066,0.9182565909989917 -34067,0.23035555765825533 -34068,0.010793686897262345 -34069,0.45572027287142935 -34070,0.7021111073692323 -34071,0.08539610043470236 -34072,0.5173039723423565 -34073,0.3671865114969015 -34074,0.04681121816698497 -34075,0.7852054878387351 -34076,0.9328910436675991 -34077,0.6975441937920154 -34078,0.32671062038680987 -34079,0.5926874688273539 -34080,0.7233069040732196 -34081,0.42718781099571224 -34082,0.8593092853046475 -34083,0.5971013756256731 -34084,0.3603775293239456 -34085,0.3221125631928218 -34086,0.9613154400154245 -34087,0.24146362643110453 -34088,0.24875509615042757 -34089,0.7982699122012437 -34090,0.1872756112468773 -34091,0.48991583899137625 -34092,0.30074920417340356 -34093,0.7120283295466312 -34094,0.9315549791163201 -34095,0.026314892562820935 -34096,0.7199545056963281 -34097,0.05977349306357671 -34098,0.2666423524605065 -34099,0.8067618632536018 -34100,0.659380352016455 -34101,0.19461386341370635 -34102,0.37095382281399103 -34103,0.8998180630240084 -34104,0.5405955625290224 -34105,0.0940468432969932 -34106,0.4882340033994089 -34107,0.5988296624099517 -34108,0.2941020149741016 -34109,0.8846078762983696 -34110,0.27928027255893617 -34111,0.6965139736157121 -34112,0.9978065580303309 -34113,0.15910349677493307 -34114,0.3733707704231527 -34115,0.5980130982862146 -34116,0.5174500730277349 -34117,0.11893466923594198 -34118,0.9599651593243267 -34119,0.8809490457072774 -34120,0.593578969037455 -34121,0.32564661672831274 -34122,0.5230513183375877 -34123,0.9119393373461969 -34124,0.452960318567876 -34125,0.4869273994592884 -34126,0.6142054669031056 -34127,0.07796176163241209 -34128,0.884386701809512 -34129,0.15158330575287482 -34130,0.07897743715222927 -34131,0.4252401076368665 -34132,0.46268750841622786 -34133,0.9364325897496494 -34134,0.8990465159504557 -34135,0.7013955156170462 -34136,0.4594869583877089 -34137,0.793193384542149 -34138,0.005084951531410753 -34139,0.5363542783727111 -34140,0.473198820415226 -34141,0.06473189004654789 -34142,0.9714638756370637 -34143,0.7913988324205168 -34144,0.9853421318772649 -34145,0.952729639801397 -34146,0.8915397874358753 -34147,0.32202805769772 -34148,0.7080837416489428 -34149,0.23561016757896192 -34150,0.6359101622392838 -34151,0.10431627328224158 -34152,0.5587315065403713 -34153,0.5477924806108981 -34154,0.22171248029774393 -34155,0.8638838553135335 -34156,0.11311552712170059 -34157,0.8376917377540787 -34158,0.5056104831582985 -34159,0.7350667837239718 -34160,0.03517041768915352 -34161,0.9595689646627057 -34162,0.7574393918184054 -34163,0.061932744793184225 -34164,0.512658925545443 -34165,0.5480529173311831 -34166,0.7540171830705396 -34167,0.6626694251152534 -34168,0.8130461044347808 -34169,0.8432439847020267 -34170,0.33900319191297157 -34171,0.40532206170230733 -34172,0.7909208505369165 -34173,0.2746249600779289 -34174,0.9944064241125445 -34175,0.17934610647888227 -34176,0.20573071565073153 -34177,0.5818526140667944 -34178,0.8475977787310388 -34179,0.8049988912234485 -34180,0.7730457327099831 -34181,0.9089744860699078 -34182,0.6958864659025504 -34183,0.4426248708627296 -34184,0.4776161839006473 -34185,0.2941631056198172 -34186,0.19753485649939118 -34187,0.2942797290096535 -34188,0.649303514369415 -34189,0.8348865277675102 -34190,0.4297310153481596 -34191,0.8419386823819849 -34192,0.9202721944952301 -34193,0.6503449373656855 -34194,0.942827022276222 -34195,0.7731750792671623 -34196,0.5859324503562583 -34197,0.12426411215007394 -34198,0.26034947419111276 -34199,0.5971551616700193 -34200,0.37846393646941856 -34201,0.7909350928235562 -34202,0.40008136622054835 -34203,0.241836880393002 -34204,0.4933098700280999 -34205,0.2744999775199404 -34206,0.8842785102847921 -34207,0.9588981323055535 -34208,0.1592119997849425 -34209,0.6916609489807526 -34210,0.9951780438637053 -34211,0.9883031305098895 -34212,1.348705198089828e-05 -34213,0.1940876249733018 -34214,0.047429691322066425 -34215,0.660155246490274 -34216,0.030026385641049314 -34217,0.9221337783212903 -34218,0.6706088199937598 -34219,0.6616524360495151 -34220,0.14891621446950276 -34221,0.8861728673215962 -34222,0.4602178880680362 -34223,0.48063203467446003 -34224,0.7653693902480855 -34225,0.8139094026908493 -34226,0.2702803485811983 -34227,0.8200682581089825 -34228,0.034891880564143274 -34229,0.8653701038561677 -34230,0.10275016461446518 -34231,0.9662716430222904 -34232,0.5570855866716213 -34233,0.906790118338557 -34234,0.8046630750671143 -34235,0.4443303560438867 -34236,0.8619809577082101 -34237,0.7936462514248729 -34238,0.48549459491739044 -34239,0.4018175027318516 -34240,0.3549937857838448 -34241,0.7368084579284674 -34242,0.3934710061895166 -34243,0.4332588903468324 -34244,0.29595010625477114 -34245,0.6269046604643242 -34246,0.9004846016092324 -34247,0.1739624185209342 -34248,0.05700308101790752 -34249,0.7834298263702034 -34250,0.5956863548979615 -34251,0.9682407511403355 -34252,0.881615469135802 -34253,0.13321201409011862 -34254,0.616765749098581 -34255,0.20542085541657984 -34256,0.10457951813934452 -34257,0.3820049927936999 -34258,0.5615688148746603 -34259,0.06857507331682555 -34260,0.8155776501732264 -34261,0.9495207705102114 -34262,0.8166370617809182 -34263,0.7615969827073731 -34264,0.7970141956597383 -34265,0.21614962920876535 -34266,0.5023279143178911 -34267,0.2005504130444764 -34268,0.0277576808834038 -34269,0.03746258269621794 -34270,0.845808850634049 -34271,0.28224501631144117 -34272,0.004039154708243786 -34273,0.9630493890291206 -34274,0.9996876467250007 -34275,0.5588099783099602 -34276,0.7377108191678184 -34277,0.809936902866175 -34278,0.5152499464700431 -34279,0.38214895869909005 -34280,0.8875296876142059 -34281,0.8591820259840696 -34282,0.38130336282997923 -34283,0.5357441274528035 -34284,0.08316073815017455 -34285,0.2851078246881332 -34286,0.33645446922483335 -34287,0.4899390047017804 -34288,0.8644428885481131 -34289,0.17610215057540957 -34290,0.9062600246067529 -34291,0.1842872245709729 -34292,0.8823119961966407 -34293,0.6711498177120359 -34294,0.08021059995142799 -34295,0.5584852486385669 -34296,0.4933046650416797 -34297,0.1012371726855964 -34298,0.9276467288212291 -34299,0.49928683090125936 -34300,0.38374402525165496 -34301,0.7043901794362386 -34302,0.1027304438442842 -34303,0.149965096310672 -34304,0.9872287460814652 -34305,0.09630479249213164 -34306,0.011686226456726234 -34307,0.9685234897198299 -34308,0.47476330100541697 -34309,0.7516939091386835 -34310,0.9230306649825848 -34311,0.0671872758145603 -34312,0.9377345205327889 -34313,0.09001642283775713 -34314,0.200488499067625 -34315,0.06707878113263177 -34316,0.5367368108417986 -34317,0.006708189399475373 -34318,0.6913955160588842 -34319,0.41177654344456716 -34320,0.6898132544590108 -34321,0.6709384661607163 -34322,0.006612693523591173 -34323,0.2790573559700936 -34324,0.1802282339993425 -34325,0.17747356948637227 -34326,0.9087603661266183 -34327,0.888920180345272 -34328,0.5503449679042587 -34329,0.4682044141744869 -34330,0.48093188650123986 -34331,0.7286922340898534 -34332,0.3113630049480899 -34333,0.07428772580777054 -34334,0.5034049423011618 -34335,0.6713505145660159 -34336,0.06704806054439649 -34337,0.7385995723803124 -34338,0.9823260668273935 -34339,0.30777272863846783 -34340,0.8127368079418165 -34341,0.5617122810533124 -34342,0.5389659509237106 -34343,0.08266194358411527 -34344,0.4527811177618768 -34345,0.5016191957657132 -34346,0.19658916999156595 -34347,0.9153271044462232 -34348,0.9939954398680984 -34349,0.8737131204556684 -34350,0.558833965400658 -34351,0.8283794452447115 -34352,0.5467468162351198 -34353,0.7357040072740713 -34354,0.7731740882987824 -34355,0.3770612243945448 -34356,0.7194759761969012 -34357,0.9205258002069213 -34358,0.09818710782715179 -34359,0.997802368604886 -34360,0.3482297899301613 -34361,0.41656270242747473 -34362,0.2530145300351524 -34363,0.9086460994599136 -34364,0.4964498471221508 -34365,0.8882273833945354 -34366,0.3181083512150633 -34367,0.7586868945486638 -34368,0.7166656791686319 -34369,0.39640550611178815 -34370,0.10872828382092725 -34371,0.003020410197899448 -34372,0.19859333199369278 -34373,0.40383640366687656 -34374,0.31424172531586914 -34375,0.9385212192335117 -34376,0.8625540995781746 -34377,0.08057986120818372 -34378,0.9473830308793338 -34379,0.28457663289966684 -34380,0.48012181366569795 -34381,0.8515541481140567 -34382,0.6335667475774551 -34383,0.7888232791730673 -34384,0.277802480872436 -34385,0.25044391406404287 -34386,0.6694309888506508 -34387,0.3257303058411196 -34388,0.38975495912150737 -34389,0.7450524006570481 -34390,0.4553984229439594 -34391,0.6568761026647051 -34392,0.6586354158909052 -34393,0.5353151776673168 -34394,0.7977314152321433 -34395,0.559427684010544 -34396,0.833219805958119 -34397,0.29149647897201514 -34398,0.4564171674035574 -34399,0.9509130406194056 -34400,0.5571024944493574 -34401,0.5235793544373427 -34402,0.8646781512609776 -34403,0.8200203503243935 -34404,0.17424722283977534 -34405,0.7536340095784935 -34406,0.5020280055080433 -34407,0.19584529861706812 -34408,0.9920232973410033 -34409,0.06993901974928762 -34410,0.9704127208738249 -34411,0.5559761544773286 -34412,0.753382320198132 -34413,0.49259297020044945 -34414,0.6266726158377972 -34415,0.7528198816400657 -34416,0.9856253915556336 -34417,0.278933886524496 -34418,0.3905677760863141 -34419,0.5362608126372722 -34420,0.1289414396848495 -34421,0.9520055821607697 -34422,0.672186083847037 -34423,0.33409994351836925 -34424,0.052687449114829144 -34425,0.6869709337397258 -34426,0.11054633842128292 -34427,0.5252872855095463 -34428,0.6429334883922352 -34429,0.834579475682034 -34430,0.6806338701606215 -34431,0.9703114861106646 -34432,0.6776848322975361 -34433,0.35479712556032295 -34434,0.06604110633972093 -34435,0.553338312591954 -34436,0.529476807923676 -34437,0.17742402872532115 -34438,0.4101463710216029 -34439,0.20746417184445554 -34440,0.01271823307396247 -34441,0.47843956556521483 -34442,0.7781802757394224 -34443,0.4792599391258031 -34444,0.25978626488646805 -34445,0.7851994758920771 -34446,0.09026698525997501 -34447,0.35634560916793645 -34448,0.6790235398694647 -34449,0.06729783064098849 -34450,0.7754207595843285 -34451,0.5463120166945808 -34452,0.5773509054919405 -34453,0.5614707944377019 -34454,0.43406393064635473 -34455,0.689184811186209 -34456,0.12670536860576054 -34457,0.6488238238219474 -34458,0.10620730185926641 -34459,0.15186303130736467 -34460,0.6078203136678224 -34461,0.6960332367373211 -34462,0.18193391489982802 -34463,0.2828297403008173 -34464,0.30866861217282937 -34465,0.5204834002609321 -34466,0.6569211544280228 -34467,0.279723923672589 -34468,0.7687054063418055 -34469,0.048015348042262485 -34470,0.9855104830114344 -34471,0.45742945552476466 -34472,0.19455747087422082 -34473,0.48242267149105544 -34474,0.1542566097573086 -34475,0.31058696943059405 -34476,0.49911166249317007 -34477,0.13023679637371754 -34478,0.3338642807655795 -34479,0.7774564242742479 -34480,0.53977030955392 -34481,0.8802760084546553 -34482,0.415463821577818 -34483,0.00689864997829992 -34484,0.6298398308174901 -34485,0.8410569114465206 -34486,0.8311186038036522 -34487,0.2275923521920239 -34488,0.024114484208283216 -34489,0.8114712649154434 -34490,0.7550631717039475 -34491,0.8280769040647259 -34492,0.5719149065083708 -34493,0.2626962079985129 -34494,0.4905545706996134 -34495,0.6079395867651866 -34496,0.013311527977649451 -34497,0.8550529190153955 -34498,0.873445954909951 -34499,0.17199111735036543 -34500,0.18029208048502154 -34501,0.9510248783731025 -34502,0.5694888687308315 -34503,0.5712229545125543 -34504,0.149141680434433 -34505,0.6213856425753342 -34506,0.6181332514913619 -34507,0.9861900390217442 -34508,0.4563523454916696 -34509,0.7715177248880247 -34510,0.22212966692931935 -34511,0.16912623337371313 -34512,0.4546350411171144 -34513,0.5714589675681544 -34514,0.1682283594072984 -34515,0.22071049369368678 -34516,0.5925151609648255 -34517,0.7222506578949384 -34518,0.44050714374508526 -34519,0.25123676862051436 -34520,0.6630376820864703 -34521,0.15887756512813445 -34522,0.28920512674696774 -34523,0.5075083667575855 -34524,0.19280293633830403 -34525,0.10043889813118245 -34526,0.1355489247151611 -34527,0.18624866063948642 -34528,0.05481286690231146 -34529,0.18144120354374216 -34530,0.45462867078137004 -34531,0.7844585626739522 -34532,0.35365424636128995 -34533,0.19006190507918408 -34534,0.46365492758611715 -34535,0.3419888655455756 -34536,0.31554516001381694 -34537,0.9850479530520474 -34538,0.9474502224214139 -34539,0.3063803917231803 -34540,0.9295047258056545 -34541,0.7894867134484889 -34542,0.8802501841944974 -34543,0.10623970246690118 -34544,0.6458390126528657 -34545,0.42397334727259706 -34546,0.2832461769427219 -34547,0.32699164497726485 -34548,0.39942423220528434 -34549,0.9557289755479473 -34550,0.8878085733826158 -34551,0.5185984578669934 -34552,0.06225539326047913 -34553,0.09003752719339875 -34554,0.01816798064454972 -34555,0.5191866321359258 -34556,0.5367606522300659 -34557,0.12558162093173575 -34558,0.6996912468380714 -34559,0.2451566947794912 -34560,0.11633546509441661 -34561,0.4868818032886125 -34562,0.5246176422249914 -34563,0.026247762703549227 -34564,0.3323330221133859 -34565,0.8569732478334718 -34566,0.9760998381446109 -34567,0.9937051103898601 -34568,0.42614191900090603 -34569,0.7085298462798902 -34570,0.3347116704742773 -34571,0.983741829780168 -34572,0.8467898519368386 -34573,0.9458374619967692 -34574,0.8765987661806357 -34575,0.5071382704853101 -34576,0.13307932670471445 -34577,0.07406067108435477 -34578,0.06730135380501445 -34579,0.6732428914746177 -34580,0.14524141692448111 -34581,0.6957057957484738 -34582,0.27471561191843785 -34583,0.5543714837629417 -34584,0.9849156447336338 -34585,0.5742495685139656 -34586,0.06277101634090665 -34587,0.23062545804805756 -34588,0.4253640081029849 -34589,0.9148270277708946 -34590,0.6158504131812086 -34591,0.24709233329008118 -34592,0.9357961288344554 -34593,0.7909232420217999 -34594,0.16387287521622518 -34595,0.45855311054070325 -34596,0.37053051152008665 -34597,0.5699363297450186 -34598,0.310907138823445 -34599,0.4033141294113176 -34600,0.4201730656780962 -34601,0.731675461271031 -34602,0.38785435686983516 -34603,0.17347980620280457 -34604,0.30323437636096984 -34605,0.7668551178350966 -34606,0.6324287819974922 -34607,0.7574930511243343 -34608,0.1373478007759692 -34609,0.3040975954114238 -34610,0.31518309169031533 -34611,0.6137252446461309 -34612,0.46660296933401557 -34613,0.5209221206869272 -34614,0.19823334439764673 -34615,0.7232663593069438 -34616,0.8491145499685749 -34617,0.21761450352810519 -34618,0.8232690267081325 -34619,0.8961094666565064 -34620,0.8863179209238424 -34621,0.8637977627261226 -34622,0.40024802576326646 -34623,0.7047821409628456 -34624,0.38189808530650615 -34625,0.767433699672738 -34626,0.7798975764993168 -34627,0.023720202380148048 -34628,0.39944717157384957 -34629,0.6814765203232577 -34630,0.17306415272067543 -34631,0.6266243632783918 -34632,0.9579289657649342 -34633,0.26035096423622006 -34634,0.7224023024834708 -34635,0.9640270541931025 -34636,0.19202440238516905 -34637,0.5714446841043451 -34638,0.3554605724346971 -34639,0.6548827826799559 -34640,0.5015093993304802 -34641,0.7786954025636016 -34642,0.4325097411530575 -34643,0.9784702191486112 -34644,0.7273260074749038 -34645,0.4260602993799776 -34646,0.023849774127277512 -34647,0.34110306538997637 -34648,0.02311286089610909 -34649,0.28782626018100455 -34650,0.062426604528822205 -34651,0.1400601252406456 -34652,0.8155015704870251 -34653,0.17970506250763885 -34654,0.8073426105936067 -34655,0.19394682237176475 -34656,0.38735868820130703 -34657,0.03936007196312241 -34658,0.7446840096695009 -34659,0.48524156752891245 -34660,0.18962996119358944 -34661,0.3264183633177721 -34662,0.8909508225035155 -34663,0.9563093543823689 -34664,0.5830158924794283 -34665,0.49529977131409775 -34666,0.3388597897339136 -34667,0.766064556887375 -34668,0.023241934233680817 -34669,0.5009267435995843 -34670,0.761647972226088 -34671,0.1277411200402263 -34672,0.9626400731141899 -34673,0.574715573392107 -34674,0.9393992254573036 -34675,0.05782338675323684 -34676,0.7315451778601193 -34677,0.7444156033200456 -34678,0.8303219196150513 -34679,0.4189532808386023 -34680,0.3172934075341268 -34681,0.47756994764701455 -34682,0.43426495774257756 -34683,0.1904295657639431 -34684,0.43522375152303816 -34685,0.5660966226254527 -34686,0.7294820019067619 -34687,0.350279097004805 -34688,0.9890569019582345 -34689,0.7314987126135117 -34690,0.9619920186062013 -34691,0.5178544210354438 -34692,0.821952582868932 -34693,0.9129760063820855 -34694,0.2959905583858188 -34695,0.3636486727263357 -34696,0.8318048258311798 -34697,0.02126906039070353 -34698,0.38314085646480833 -34699,0.9398249643191064 -34700,0.5409415854177572 -34701,0.4844905483538562 -34702,0.7582636138581311 -34703,0.23374842466029722 -34704,0.6261676630462668 -34705,0.9201161369784552 -34706,0.47498664576147265 -34707,0.33883211372734334 -34708,0.40080294634208147 -34709,0.8303277647210101 -34710,0.3753888997132956 -34711,0.8751403390211684 -34712,0.5718517113773561 -34713,0.6981501239823712 -34714,0.5069089009894701 -34715,0.04569215422202377 -34716,0.4040709413960688 -34717,0.2757064296904088 -34718,0.7476416066552862 -34719,0.10221876008320085 -34720,0.2411403400444635 -34721,0.6068556059335788 -34722,0.30868905238661803 -34723,0.13607260863674386 -34724,0.5221555902514704 -34725,0.2342026421131146 -34726,0.7750008853114424 -34727,0.607131220957193 -34728,0.16230980697371133 -34729,0.6071461527456198 -34730,0.10805797509489379 -34731,0.6256033511043823 -34732,0.14343550752202028 -34733,0.3854930633938872 -34734,0.1877501699975226 -34735,0.7589528677229631 -34736,0.14840063354811983 -34737,0.8951264270051233 -34738,0.2786908479516208 -34739,0.38447228140903345 -34740,0.14567006789871106 -34741,0.21328134352017902 -34742,0.7424503207385484 -34743,0.19978847526808352 -34744,0.971245760668433 -34745,0.10289728689424327 -34746,0.9448525080102765 -34747,0.17443775743629752 -34748,0.7133842165870432 -34749,0.5730529728123298 -34750,0.8994842053825547 -34751,0.983351398293474 -34752,0.823008268200812 -34753,0.40408696358759566 -34754,0.8686127516101184 -34755,0.9167740044741481 -34756,0.22119381699471652 -34757,0.22364313287954363 -34758,0.9524903283882378 -34759,0.6877153520566297 -34760,0.21359298339840815 -34761,0.6832608640632657 -34762,0.4410700008238033 -34763,0.5725991778476152 -34764,0.5947613141755549 -34765,0.4790994132071509 -34766,0.0518836080149242 -34767,0.9012773896584267 -34768,0.5601934092861547 -34769,0.40497609929001044 -34770,0.5890152508344367 -34771,0.6538209154235058 -34772,0.6247951801614297 -34773,0.9153387692219342 -34774,0.7646271014891114 -34775,0.46193939916449844 -34776,0.038047864919596774 -34777,0.4317519565642658 -34778,0.9910945887068372 -34779,0.8954408707320329 -34780,0.18729794759434237 -34781,0.11075659010585082 -34782,0.6221681867193862 -34783,0.7768181836902274 -34784,0.49770517208741727 -34785,0.05573972549478623 -34786,0.2507960262602853 -34787,0.8909405745747527 -34788,0.23605407530780853 -34789,0.6389046108132073 -34790,0.21596628055420874 -34791,0.5672078341502139 -34792,0.13665077496925404 -34793,0.9776653312736799 -34794,0.14650747290341493 -34795,0.9605122922534678 -34796,0.12759231266057736 -34797,0.8298814648979506 -34798,0.9506058313896552 -34799,0.07143687194721338 -34800,0.182615087348716 -34801,0.4716667335548639 -34802,0.09011724853605685 -34803,0.7102630935518239 -34804,0.500652301673146 -34805,0.3508500445526569 -34806,0.10030953145958055 -34807,0.986499286594242 -34808,0.4694690778781877 -34809,0.5510459463062244 -34810,0.6021384190568958 -34811,0.580211699803121 -34812,0.40355902281297007 -34813,0.23609440896489753 -34814,0.7832251822666678 -34815,0.03801813660514597 -34816,0.7719475807096365 -34817,0.0946422026424325 -34818,0.3862076897288679 -34819,0.3572019268598803 -34820,0.7530229003247461 -34821,0.06957724771903306 -34822,0.7210397212971797 -34823,0.5844143592144727 -34824,0.8611513974463315 -34825,0.15073717069001913 -34826,0.5118854249897706 -34827,0.9357893757289746 -34828,0.9987284149552274 -34829,0.9726608133483962 -34830,0.25393508391783004 -34831,0.10392131445680419 -34832,0.6930800407189253 -34833,0.13161645812886347 -34834,0.8934288237135773 -34835,0.8266675480181067 -34836,0.730557584583382 -34837,0.11161839500528126 -34838,0.9495353460214553 -34839,0.1457578793853881 -34840,0.85881934336284 -34841,0.33399549528320094 -34842,0.22553436192322152 -34843,0.2684777093357513 -34844,0.021572214201466045 -34845,0.9849835574413301 -34846,0.6583061397734614 -34847,0.477501333743916 -34848,0.8915292164550706 -34849,0.24144661316995797 -34850,0.21201357999505754 -34851,0.5299797465428668 -34852,0.46228139906869437 -34853,0.9271999349486861 -34854,0.21922494157604877 -34855,0.7298906443609512 -34856,0.037712323213329735 -34857,0.9438103232114615 -34858,0.14391269136344298 -34859,0.004201432659665327 -34860,0.20657860191666222 -34861,0.34716636594887074 -34862,0.29807186897726434 -34863,0.7109801551669116 -34864,0.19751866258452389 -34865,0.9541011454966076 -34866,0.016087098457538085 -34867,0.20774923134678092 -34868,0.3898481148800269 -34869,0.07700630133831554 -34870,0.585757526743847 -34871,0.20174190161167715 -34872,0.5655686791804883 -34873,0.21435128350395172 -34874,0.23680081674777476 -34875,0.42992864570211753 -34876,0.6554461426547863 -34877,0.6048435380850116 -34878,0.9275139227373757 -34879,0.5284550246345894 -34880,0.7067804079502266 -34881,0.8227257446974398 -34882,0.8263146244866283 -34883,0.8567413158939644 -34884,0.09528553088906422 -34885,0.45439902692645506 -34886,0.05904400273942245 -34887,0.4054003951142534 -34888,0.4685000855828413 -34889,0.8943098268746613 -34890,0.5112480830517271 -34891,0.4847012019508218 -34892,0.9462526291817536 -34893,0.48981457487592206 -34894,0.4056270475336168 -34895,0.16221670269984578 -34896,0.5344454424483799 -34897,0.9581436330031105 -34898,0.7368596902569747 -34899,0.25632479259452556 -34900,0.9228487861051455 -34901,0.011693256455939216 -34902,0.3790129003416751 -34903,0.024626976621981544 -34904,0.006507816515131437 -34905,0.6598229819508684 -34906,0.2084843598985534 -34907,0.9421471495251966 -34908,0.6187643177078823 -34909,0.3861886615046003 -34910,0.4561665293785294 -34911,0.5568258553529674 -34912,0.44284147499426707 -34913,0.4298787245411507 -34914,0.5292982575729058 -34915,0.5867661898548587 -34916,0.7976184090714987 -34917,0.6910084608455334 -34918,0.19868900606034068 -34919,0.5391148806225184 -34920,0.6224768229767919 -34921,0.7995869731869404 -34922,0.9553476122869938 -34923,0.4915705470361439 -34924,0.23519240287273668 -34925,0.11284074359169927 -34926,0.1264904233678391 -34927,0.055305987265295564 -34928,0.9558433320810802 -34929,0.8576578946219057 -34930,0.026129402214614128 -34931,0.7098096723847123 -34932,0.2796304675326534 -34933,0.1400154189417907 -34934,0.12695156569018362 -34935,0.41351421345800576 -34936,0.24904862483937862 -34937,0.46999697093368553 -34938,0.8166027213721263 -34939,0.6504852768157243 -34940,0.404672963680362 -34941,0.4549939552464106 -34942,0.13318188589281077 -34943,0.2031370946698836 -34944,0.20871877999554445 -34945,0.2695252296208087 -34946,0.8556429116572484 -34947,0.936206275021688 -34948,0.4874035285492393 -34949,0.39953735960405823 -34950,0.8852999463572273 -34951,0.29578826565380323 -34952,0.679414402702096 -34953,0.3437158012973033 -34954,0.9066163923512072 -34955,0.1645992972670589 -34956,0.7834175117897093 -34957,0.8144077460319691 -34958,0.9811807608345299 -34959,0.5156186108526605 -34960,0.7207784924840634 -34961,0.564982217273916 -34962,0.6619214594773244 -34963,0.2841892356795409 -34964,0.4862310009774621 -34965,0.6916734485028252 -34966,0.36619674834884586 -34967,0.6064530853997102 -34968,0.6142835663726786 -34969,0.5720872011435081 -34970,0.8032919771316562 -34971,0.9363264021457562 -34972,0.7028271176747932 -34973,0.9792937185472433 -34974,0.9524251410896165 -34975,0.2638212161388068 -34976,0.9655393113048145 -34977,0.8621747321059975 -34978,0.43074129694148633 -34979,0.810025094673889 -34980,0.79136569012955 -34981,0.5517327731985978 -34982,0.29798754314393294 -34983,0.646284194955178 -34984,0.7077628766458545 -34985,0.6207633901660047 -34986,0.24268566071640196 -34987,0.051453552737144914 -34988,0.7105259401924859 -34989,0.2942624762416416 -34990,0.20740751112634548 -34991,0.5556532477974446 -34992,0.019156774601605253 -34993,0.579864382563657 -34994,0.4205475193983167 -34995,0.4827689771927137 -34996,0.19862343133943416 -34997,0.11703256830712794 -34998,0.657416306143238 -34999,0.4043186693274774 -35000,0.6165778830441776 -35001,0.16431433052243616 -35002,0.5109377680467383 -35003,0.8410969841692872 -35004,0.144510057444053 -35005,0.2311729223103972 -35006,0.10564703467811154 -35007,0.6431117253718415 -35008,0.9611730871901027 -35009,0.5083170994658643 -35010,0.5784001544549096 -35011,0.9678359125699787 -35012,0.8305964465408805 -35013,0.8434552075908621 -35014,0.16986603632418762 -35015,0.8415356159752754 -35016,0.49991846490772385 -35017,0.8017271156973858 -35018,0.2814373881516209 -35019,0.4069401046305663 -35020,0.17498553042845788 -35021,0.1733547721263321 -35022,0.9697527874890073 -35023,0.9939401099916733 -35024,0.4355504830996859 -35025,0.9162377694091588 -35026,0.883872121957195 -35027,0.9078047925531227 -35028,0.015338057535543181 -35029,0.4274571223171212 -35030,0.1733370249004781 -35031,0.8526481624210159 -35032,0.3069914454473228 -35033,0.5950150391304464 -35034,0.8029360108333635 -35035,0.5199536880139046 -35036,0.06869931952463249 -35037,0.7880411519481959 -35038,0.625185370465687 -35039,0.07704641582134131 -35040,0.8601916906638276 -35041,0.4793023864059186 -35042,0.32295340740139455 -35043,0.19892839179985533 -35044,0.35713651832042403 -35045,0.43588738069532573 -35046,0.4614967534723269 -35047,0.4968506479382122 -35048,0.26756299894913804 -35049,0.5409341123796605 -35050,0.34774484457943866 -35051,0.842692012390356 -35052,0.5897763570472987 -35053,0.23894160684585264 -35054,0.048614819986005364 -35055,0.9120995781284217 -35056,0.7852513220380638 -35057,0.3713868529478632 -35058,0.7889680457995387 -35059,0.25251285759195874 -35060,0.8252073968987416 -35061,0.26829484090063493 -35062,0.9689137187212553 -35063,0.4858448973721895 -35064,0.9027239116692595 -35065,0.39198269096349736 -35066,0.46401355508696673 -35067,0.28695953967055055 -35068,0.27757448887836744 -35069,0.10690138537601379 -35070,0.46815768351953735 -35071,0.6961053151805423 -35072,0.11937494519876612 -35073,0.8600457020705985 -35074,0.8481130221964106 -35075,0.513176759386742 -35076,0.4259193072636611 -35077,0.09481729767401026 -35078,0.8993956117753367 -35079,0.07193189419714374 -35080,0.18512845957602186 -35081,0.7784243025512085 -35082,0.002219724545906465 -35083,0.885741782670499 -35084,0.41350074958177974 -35085,0.5324903950281902 -35086,0.40929318067469844 -35087,0.6586724137715391 -35088,0.16730425002112226 -35089,0.951319727850938 -35090,0.5574632126057266 -35091,0.07061313098963151 -35092,0.02369596759996251 -35093,0.7210347930243437 -35094,0.9646018021262417 -35095,0.1660955885426818 -35096,0.1295494534378382 -35097,0.16976239329682663 -35098,0.45366897431172815 -35099,0.8540839856591163 -35100,0.6105998255990932 -35101,0.9700480225634964 -35102,0.7368298901911436 -35103,0.9846580619435781 -35104,0.061165493705926055 -35105,0.9809870362795954 -35106,0.6305054916739024 -35107,0.2176049381152413 -35108,0.6794242950346066 -35109,0.43210535123759664 -35110,0.30665688327261886 -35111,0.13463491741005784 -35112,0.705355012880983 -35113,0.6237796217530412 -35114,0.14803903945306818 -35115,0.8351470734132699 -35116,0.7538401619825078 -35117,0.45095408943593485 -35118,0.7963278361516254 -35119,0.1572646175567597 -35120,0.45260649011473153 -35121,0.0662899083411671 -35122,0.10050862415206319 -35123,0.8681946889362978 -35124,0.6962687984168884 -35125,0.008569997937372897 -35126,0.8426327263812807 -35127,0.7602390939413843 -35128,0.8187859219135843 -35129,0.763362272117363 -35130,0.14940004546846686 -35131,0.7693708571972526 -35132,0.3972667229909105 -35133,0.29678232324016407 -35134,0.2479482146479941 -35135,0.8075849233178503 -35136,0.41611635000070213 -35137,0.9490582389482474 -35138,0.8374235851372323 -35139,0.5810162821754467 -35140,0.17672417059965928 -35141,0.6208010164175735 -35142,0.6675731018302054 -35143,0.12543466615597187 -35144,0.8531033989232468 -35145,0.1302798852744429 -35146,0.38842792805029225 -35147,0.37686878149656233 -35148,0.7160070990783108 -35149,0.8532785177151935 -35150,0.8339357382876782 -35151,0.592974636590578 -35152,0.5787029865076063 -35153,0.38257753759184343 -35154,0.2921603586798339 -35155,0.3648111310241168 -35156,0.6805469878736433 -35157,0.7613266829579052 -35158,0.04947666525051864 -35159,0.9548915659823317 -35160,0.7874396385787109 -35161,0.059076897486827096 -35162,0.49933185791004375 -35163,0.7868769120077084 -35164,0.2341361155651882 -35165,0.6724493447661578 -35166,0.8942842411730194 -35167,0.9129101447002288 -35168,0.1200692829213541 -35169,0.08141804666080255 -35170,0.6436467266196065 -35171,0.021823571608389214 -35172,0.22295201955228539 -35173,0.23777452943336674 -35174,0.5470827425766972 -35175,0.7956414438335139 -35176,0.6455438440252326 -35177,0.40762342508086613 -35178,0.48957536817416214 -35179,0.9680569473713457 -35180,0.5153338724331697 -35181,0.9568618897477266 -35182,0.4034588568972566 -35183,0.533771581004634 -35184,0.0054461322620389385 -35185,0.1961497500223791 -35186,0.21864926586852895 -35187,0.7399755310364492 -35188,0.15048860890645832 -35189,0.7204551940609395 -35190,0.7150471559399225 -35191,0.6694634552641466 -35192,0.7478991624854471 -35193,0.10525484491164938 -35194,0.4081401783130776 -35195,0.32257100259365123 -35196,0.7140703992990011 -35197,0.8749983466320863 -35198,0.7574330532557507 -35199,0.025184973270748645 -35200,0.1406841546676454 -35201,0.8097845662408995 -35202,0.4666006644310643 -35203,0.28125850900846505 -35204,0.8052690302140726 -35205,0.9122583420587577 -35206,0.26927496895062053 -35207,0.09118314948542627 -35208,0.8199213364707959 -35209,0.5871996710584325 -35210,0.7120697891914287 -35211,0.05826446463055013 -35212,0.4000272359614603 -35213,0.7827738380117714 -35214,0.13336967117996812 -35215,0.6144497819029012 -35216,0.4154345827792353 -35217,0.9870933426598303 -35218,0.4612698051021704 -35219,0.6717959866689661 -35220,0.2301766926619312 -35221,0.2776438166290517 -35222,0.32406770567710985 -35223,0.7002160993420963 -35224,0.7626591780197691 -35225,0.1929253908517904 -35226,0.05878693708687077 -35227,0.32054587574518956 -35228,0.7026482153996501 -35229,0.9688491673646246 -35230,0.9268829306081167 -35231,0.9743979791497958 -35232,0.5901608430187549 -35233,0.4061179437321748 -35234,0.4050113667533043 -35235,0.9176281194298902 -35236,0.6823775983076839 -35237,0.5215736895983242 -35238,0.1952746622479581 -35239,0.3848709515794202 -35240,0.3629329121110998 -35241,0.6214274943487826 -35242,0.701644351761067 -35243,0.8023859154878044 -35244,0.614236639740577 -35245,0.8154654596909172 -35246,0.547308740892553 -35247,0.6280385447602368 -35248,0.8740488215276035 -35249,0.7272670129590363 -35250,0.9716549082201528 -35251,0.20226885292811536 -35252,0.978863513080394 -35253,0.7857758984626567 -35254,0.32765648649965207 -35255,0.6621433829176242 -35256,0.6064519589542742 -35257,0.18972053547372025 -35258,0.8834936174641934 -35259,0.3781930040225343 -35260,0.43253435266056106 -35261,0.25193157548851486 -35262,0.38379342665151217 -35263,0.562928149100515 -35264,0.2860311436443721 -35265,0.3192959908260852 -35266,0.18160312670582845 -35267,0.8786789716821479 -35268,0.5688159743481025 -35269,0.5176466165517739 -35270,0.02741031799595095 -35271,0.5480043296633843 -35272,0.03558269078276233 -35273,0.22703899768670954 -35274,0.01021857046739627 -35275,0.8948451155276099 -35276,0.043622378723640054 -35277,0.4223801345369603 -35278,0.9644126581573803 -35279,0.5910061063253221 -35280,0.7336284860015948 -35281,0.8679165730099426 -35282,0.8628880540550014 -35283,0.5728267350441564 -35284,0.2282856962437183 -35285,0.35026394215222945 -35286,0.9302466634963444 -35287,0.46963532857337387 -35288,0.8545913203301446 -35289,0.29071673047994695 -35290,0.8899696934759141 -35291,0.25524637112687687 -35292,0.4230353345823976 -35293,0.6166337364181075 -35294,0.26060133625484116 -35295,0.8910031882507758 -35296,0.0505463475607838 -35297,0.024913276291445907 -35298,0.567224310469552 -35299,0.039466559684208424 -35300,0.0870034685091089 -35301,0.11131941571550041 -35302,0.5646470615239298 -35303,0.020493965842906636 -35304,0.3622880577180564 -35305,0.11316770331732062 -35306,0.007633362772570651 -35307,0.3440701165982869 -35308,0.620908834818621 -35309,0.2517083904507711 -35310,0.668164808190612 -35311,0.6230925336799678 -35312,0.14496815294607368 -35313,0.7634052664764142 -35314,0.6325660885257909 -35315,0.14805156436945488 -35316,0.9520428830558543 -35317,0.5854937810429957 -35318,0.15682863243035694 -35319,0.5730302880697237 -35320,0.8095145371929903 -35321,0.8848163874408802 -35322,0.3679912951130091 -35323,0.26335781859278606 -35324,0.3488755489332038 -35325,0.0016727312803068717 -35326,0.8286180535062334 -35327,0.7832943572140708 -35328,0.48054616078615653 -35329,0.47012150557207066 -35330,0.8340069855083064 -35331,0.48137324872646037 -35332,0.468071022010462 -35333,0.3421847478473786 -35334,0.5674254467604746 -35335,0.37128579982444054 -35336,0.47273421476372535 -35337,0.7194215177810656 -35338,0.3063037032891476 -35339,0.7900344602873822 -35340,0.453293714832832 -35341,0.6582390597137989 -35342,0.7479272715742086 -35343,0.039800335753011784 -35344,0.14249516125963013 -35345,0.16040110947424246 -35346,0.10389333117284338 -35347,0.07745229536483833 -35348,0.8990287025834687 -35349,0.09088062702842847 -35350,0.9199480000432562 -35351,0.13145457354877654 -35352,0.4336067828552893 -35353,0.7296200489968083 -35354,0.03394372615816976 -35355,0.8765522750763174 -35356,0.6726009937678654 -35357,0.5989820655264867 -35358,0.750374253751158 -35359,0.7346244110518976 -35360,0.5911573854752241 -35361,0.4419531680958505 -35362,0.7103389171539094 -35363,0.943448569998671 -35364,0.0641996995541464 -35365,0.9657126225279412 -35366,0.9367773872348014 -35367,0.9382838634757308 -35368,0.37886790822537153 -35369,0.5748771964063056 -35370,0.22203559616366264 -35371,0.19346286943559687 -35372,0.6574482000847233 -35373,0.5325739849273798 -35374,0.15202437921081624 -35375,0.5278336217631326 -35376,0.6647633632552746 -35377,0.5503813949467715 -35378,0.16265053576473343 -35379,0.5784223596436894 -35380,0.526009739957808 -35381,0.7249477162517625 -35382,0.7318097764106185 -35383,0.3221428838850333 -35384,0.3884989563829967 -35385,0.8316238007886896 -35386,0.01803264633765289 -35387,0.7875281024857537 -35388,0.9096835304839377 -35389,0.4958675641942999 -35390,0.5658002369468478 -35391,0.9809051861480487 -35392,0.11082329104215927 -35393,0.08158572747624127 -35394,0.7112427319489651 -35395,0.5893827466152342 -35396,0.9005398570619064 -35397,0.4968885444260981 -35398,0.04761251811624567 -35399,0.19678631288409842 -35400,0.5338552684772949 -35401,0.15857259811139635 -35402,0.8833025778814079 -35403,0.3996893929452072 -35404,0.2919029637482984 -35405,0.08453849267145541 -35406,0.4322133277118513 -35407,0.2984028275957855 -35408,0.9844640825753067 -35409,0.247827102775536 -35410,0.5505434445346169 -35411,0.34032416666222065 -35412,0.805438669703982 -35413,0.3012478072701271 -35414,0.07903852380689347 -35415,0.5844343377511473 -35416,0.7580161235568244 -35417,0.5878014365525512 -35418,0.0016716530343677816 -35419,0.45701356761052114 -35420,0.597577310293608 -35421,0.7123279373248623 -35422,0.13229573838056985 -35423,0.4191023242988229 -35424,0.7713657372133956 -35425,0.86256505595385 -35426,0.7337626495344713 -35427,0.03692715093195842 -35428,0.7098817033418358 -35429,0.7611884370316188 -35430,0.08567565866574856 -35431,0.06647336672232784 -35432,0.45452855841822415 -35433,0.7714904189240065 -35434,0.8217100435352086 -35435,0.893333337681293 -35436,0.6290721611536974 -35437,0.31354315561539914 -35438,0.79564642599217 -35439,0.13050448573157458 -35440,0.35257598513404187 -35441,0.26804578290537184 -35442,0.8807251203097116 -35443,0.49795150076456285 -35444,0.6558506214750053 -35445,0.6063680622565796 -35446,0.9380740188271333 -35447,0.3992480712960277 -35448,0.563513841984722 -35449,0.9348124550196099 -35450,0.18829408330410768 -35451,0.8518341959622701 -35452,0.3613323928042713 -35453,0.9461699364944708 -35454,0.756977321021664 -35455,0.6408870724261518 -35456,0.5458339097234649 -35457,0.3858255406559947 -35458,0.4444249442472157 -35459,0.12103730012097658 -35460,0.39535612106313134 -35461,0.47230427946378717 -35462,0.04878312558622577 -35463,0.23972833496866874 -35464,0.03554259007956018 -35465,0.2076106563363196 -35466,0.07484523856594882 -35467,0.30671410406301836 -35468,0.5983225937941675 -35469,0.5108728232209391 -35470,0.4719730034516375 -35471,0.34269639881865266 -35472,0.6908270086836784 -35473,0.28022298794841427 -35474,0.07834179649568063 -35475,0.02880921440454154 -35476,0.04781155102135071 -35477,0.4404039509410639 -35478,0.9748014532556148 -35479,0.6480098427216173 -35480,0.16502884859641387 -35481,0.8097059785584576 -35482,0.9588460201517355 -35483,0.9005850688289532 -35484,0.9741370670933565 -35485,0.4133353395866701 -35486,0.2234492039195114 -35487,0.39981052632046155 -35488,0.6839197080132463 -35489,0.3450058714084214 -35490,0.4551799762522384 -35491,0.5193388869711996 -35492,0.07940422300368688 -35493,0.5502203082106272 -35494,0.26824181543838665 -35495,0.5455046584303825 -35496,0.6400542807996968 -35497,0.1454719655105423 -35498,0.8476518387337842 -35499,0.22070503811208364 -35500,0.7254427138062298 -35501,0.2195527218619686 -35502,0.5008156834651194 -35503,0.27410399191254986 -35504,0.49577109335930303 -35505,0.837920434224627 -35506,0.598479263557303 -35507,0.26213125903580947 -35508,0.545782033786771 -35509,0.32788780438683307 -35510,0.7158093140883053 -35511,0.6153132164581496 -35512,0.2671150461476397 -35513,0.6148065676165406 -35514,0.2600952698632819 -35515,0.8175553087221195 -35516,0.4998235932278535 -35517,0.6648372774671913 -35518,0.4091048200004299 -35519,0.46883560664046264 -35520,0.8787859077127217 -35521,0.36259692033202284 -35522,0.8042060040351688 -35523,0.12834032081304103 -35524,0.6853374614864834 -35525,0.8232594874880306 -35526,0.6929992352133224 -35527,0.2849978901352146 -35528,0.5291605196141416 -35529,0.4686242249593314 -35530,0.1645190221993752 -35531,0.5944988694486638 -35532,0.9834896648653253 -35533,0.19013627470969474 -35534,0.8084886721256446 -35535,0.4722026017738319 -35536,0.9245142002012752 -35537,0.6792337422493508 -35538,0.813273344988129 -35539,0.31925766866581184 -35540,0.6551274966341794 -35541,0.23105516913537982 -35542,0.34550802639231837 -35543,0.6758301312173054 -35544,0.6274607653712923 -35545,0.40660198733684094 -35546,0.9872199683198921 -35547,0.49526327197949815 -35548,0.9374897955451843 -35549,0.9975613522494311 -35550,0.8239231114212482 -35551,0.6344381336377902 -35552,0.8434773469818282 -35553,0.2153655985656744 -35554,0.4725241631031071 -35555,0.595821438895088 -35556,0.16907388821851077 -35557,0.3958812631975064 -35558,0.04508214386630893 -35559,0.627653012332581 -35560,0.14600057645026898 -35561,0.5680756285981158 -35562,0.5966256307867953 -35563,0.6402897598980263 -35564,0.7361152639958654 -35565,0.36551111459706775 -35566,0.06875805009121772 -35567,0.7064362178342717 -35568,0.3305135197633542 -35569,0.47601073771329594 -35570,0.6932706637489449 -35571,0.7165211271280734 -35572,0.19765497299467383 -35573,0.742732944752073 -35574,0.5318215983637984 -35575,0.7310477363626705 -35576,0.08109087876652932 -35577,0.34499897696072834 -35578,0.6179107370448584 -35579,0.39639422813503133 -35580,0.21167540066446933 -35581,0.9470488750485117 -35582,0.6707233830958029 -35583,0.3858652833417837 -35584,0.06232367193612087 -35585,0.8799847218264841 -35586,0.0980616839998214 -35587,0.8306295898017138 -35588,0.7758342396867979 -35589,0.884224195022006 -35590,0.7612404380262962 -35591,0.39210954800895403 -35592,0.6103999513955949 -35593,0.5971078064190718 -35594,0.0015746762345427712 -35595,0.2191504912785167 -35596,0.6400696514990234 -35597,0.8397168041967071 -35598,0.8103536239014894 -35599,0.8529929099364031 -35600,0.3780202190498281 -35601,0.9296942084300338 -35602,0.46048867876995647 -35603,0.846688234639534 -35604,0.24578377145783958 -35605,0.9036198134475973 -35606,0.039805564054651854 -35607,0.8608878280237571 -35608,0.043415339199504355 -35609,0.4805554955842739 -35610,0.195254234327368 -35611,0.9257139421718495 -35612,0.8766430662946827 -35613,0.9030471572839794 -35614,0.6520726803076039 -35615,0.44173661396445485 -35616,0.9522502523966414 -35617,0.7675866030110544 -35618,0.8565823719634806 -35619,0.8008983576769158 -35620,0.6249173792033436 -35621,0.7430691622543492 -35622,0.7438562267559927 -35623,0.05704435700334931 -35624,0.7475717264862846 -35625,0.15532186693074812 -35626,0.03903375462580716 -35627,0.3950838077933412 -35628,0.43524495515669415 -35629,0.6733169012947059 -35630,0.007475518431671713 -35631,0.8348049508283015 -35632,0.6024003852013088 -35633,0.720931333393922 -35634,0.43652280637079344 -35635,0.874252063658516 -35636,0.6024907999275694 -35637,0.5552511345157664 -35638,0.7944515593706268 -35639,0.4732694568955428 -35640,0.5575845262042767 -35641,0.732001969720313 -35642,0.833994421167096 -35643,0.6694547155960041 -35644,0.5608068073440201 -35645,0.25386300971389386 -35646,0.8350505185923377 -35647,0.15081685801036548 -35648,0.21750286272135355 -35649,0.3810368414643579 -35650,0.011878236978130174 -35651,0.4646772470904662 -35652,0.04297014899291762 -35653,0.9064126664655149 -35654,0.12231531475075985 -35655,0.27036398084250646 -35656,0.9062389113389743 -35657,0.31320260124854893 -35658,0.9914960863831928 -35659,0.08625719452543579 -35660,0.677009038614005 -35661,0.6229189555359996 -35662,0.7718876312077352 -35663,0.5373938076335654 -35664,0.25874952386075645 -35665,0.031289850878249426 -35666,0.5012919626325201 -35667,0.3806409948833638 -35668,0.49021725321072307 -35669,0.3601519458392102 -35670,0.7199194416257575 -35671,0.839962350316195 -35672,0.30555696040988944 -35673,0.2879414953705258 -35674,0.41512562865984803 -35675,0.9517953686749967 -35676,0.6009074870365457 -35677,0.9028122123850214 -35678,0.9287879776634577 -35679,0.26757565709049935 -35680,0.06279505435059485 -35681,0.5316994121716914 -35682,0.3454244364227558 -35683,0.13643763374355677 -35684,0.9750556081275618 -35685,0.327104868422904 -35686,0.8186939888876106 -35687,0.28157650534598433 -35688,0.9376775875062147 -35689,0.349832721443748 -35690,0.8764680344740945 -35691,0.18593336098990942 -35692,0.007839379780891886 -35693,0.49581269630692726 -35694,0.8006038019852023 -35695,0.36436103658297414 -35696,0.09806970214175792 -35697,0.9280610199986778 -35698,0.03962480279206049 -35699,0.6313861596623209 -35700,0.15172974279793228 -35701,0.13751251533607045 -35702,0.41726707896531157 -35703,0.5087698796913092 -35704,0.6572740309400001 -35705,0.22281156583158424 -35706,0.27968125679250566 -35707,0.01736258655101186 -35708,0.23607376567079785 -35709,0.5747746146438005 -35710,0.1434665826315037 -35711,0.6491101489465718 -35712,0.9323208437323668 -35713,0.6774975492718174 -35714,0.5071056863776503 -35715,0.26577776426938293 -35716,0.7053919285067377 -35717,0.5131735481542248 -35718,0.8123951801637819 -35719,0.4260957029172061 -35720,0.16559032493145265 -35721,0.0267381135482736 -35722,0.36254154478597356 -35723,0.20791121794822265 -35724,0.7304476437341253 -35725,0.2404319202137264 -35726,0.3403893936234974 -35727,0.9188753239144044 -35728,0.20828847637294412 -35729,0.9048769449056829 -35730,0.7429029546416286 -35731,0.8046272185452871 -35732,0.6656405390165331 -35733,0.6896544126827133 -35734,0.6386831612677267 -35735,0.5790444625377631 -35736,0.6893049149274175 -35737,0.8060820044486426 -35738,0.41076354237364177 -35739,0.7918317016723239 -35740,0.8242310128270548 -35741,0.02537239285348525 -35742,0.3432342778483287 -35743,0.3604886880858691 -35744,0.33449903778570245 -35745,0.23134182286251825 -35746,0.3662956192276736 -35747,0.6614971764696251 -35748,0.6848626702542906 -35749,0.6564865395313322 -35750,0.1317550871036688 -35751,0.98874257556582 -35752,0.44004293198331246 -35753,0.9199666834506599 -35754,0.6514537583826419 -35755,0.24244145694698827 -35756,0.3251752188115523 -35757,0.30714846733951606 -35758,0.22310346087926924 -35759,0.44239765004495324 -35760,0.9564352582160168 -35761,0.444471968340003 -35762,0.7787955742548229 -35763,0.22656124509211684 -35764,0.6728775001267414 -35765,0.08309594033738077 -35766,0.39308314385296905 -35767,0.1355888280687212 -35768,0.3769984756338435 -35769,0.46415303111009554 -35770,0.8012333193044313 -35771,0.6055605186924545 -35772,0.017282230754240402 -35773,0.595533160301552 -35774,0.4855579498668333 -35775,0.016689920307687123 -35776,0.6853341126293251 -35777,0.7273970992754079 -35778,0.2770797466348124 -35779,0.5062621006280899 -35780,0.45282961529179355 -35781,0.15529210675028549 -35782,0.3140527315436423 -35783,0.9676231929290463 -35784,0.06783414035336244 -35785,0.3244075008025369 -35786,0.3321244840095675 -35787,0.1503191441410433 -35788,0.27538166280974985 -35789,0.25476454429903506 -35790,0.030700597832864274 -35791,0.35825106928261863 -35792,0.7371823553579495 -35793,0.43288250358152114 -35794,0.2437548398833519 -35795,0.9014464985929844 -35796,0.10713491639098582 -35797,0.47183079478584355 -35798,0.3833966864318574 -35799,0.30708870518001985 -35800,0.18857711996412696 -35801,0.6057439276644009 -35802,0.9053651778189614 -35803,0.6639342571145362 -35804,0.21571627811742555 -35805,0.8213719988624629 -35806,0.09388770378050293 -35807,0.8663876673640524 -35808,0.21735907736145343 -35809,0.09739594456132916 -35810,0.7690111901984734 -35811,0.19655455871727956 -35812,0.33667334969103946 -35813,0.7462760633413064 -35814,0.7747969178991693 -35815,0.148528524203006 -35816,0.7848991084363438 -35817,0.6201911552292977 -35818,0.8766781754264094 -35819,0.8720422115558814 -35820,0.7808909925810298 -35821,0.056062761151093765 -35822,0.6111026751347692 -35823,0.457115308179871 -35824,0.5242841126704769 -35825,0.751338990058542 -35826,0.30561744974012695 -35827,0.5781798100167712 -35828,0.5187728726000758 -35829,0.28847613349333334 -35830,0.7103982029001936 -35831,0.09722762562111809 -35832,0.7597046876772343 -35833,0.39398152868579706 -35834,0.653616001518621 -35835,0.8043436439090709 -35836,0.34067261701134366 -35837,0.029347679918612313 -35838,0.41775896705318893 -35839,0.7079775409041384 -35840,0.6409264833692275 -35841,0.11980307519126698 -35842,0.28085335430875846 -35843,0.5992089587276818 -35844,0.5045430766405417 -35845,0.7315591274526788 -35846,0.09052773439699835 -35847,0.8040541329825966 -35848,0.09486929348705198 -35849,0.2553187146750411 -35850,0.5960055748660218 -35851,0.6234426173433296 -35852,0.7296574143717404 -35853,0.004681276312082594 -35854,0.2678372728238678 -35855,0.09384221597220588 -35856,0.3416529147675441 -35857,0.16669264780921367 -35858,0.2535481953949008 -35859,0.2280785832751283 -35860,0.8402040733513303 -35861,0.13570856489088845 -35862,0.518722880552268 -35863,0.4758640168691364 -35864,0.9651385151510161 -35865,0.6244675333707181 -35866,0.4597228029041126 -35867,0.2628288620852661 -35868,0.08884534821772005 -35869,0.4463442613942058 -35870,0.13202756479763222 -35871,0.5842272612099412 -35872,0.0162996946694417 -35873,0.3493487502158291 -35874,0.04516776413872792 -35875,0.7072990464249077 -35876,0.12387588750774614 -35877,0.9803977072490812 -35878,0.14413260620876667 -35879,0.2925073522997229 -35880,0.013682503647286848 -35881,0.9553240495152371 -35882,0.6290155584362611 -35883,0.3999333346512619 -35884,0.8690763418738837 -35885,0.679916324750311 -35886,0.1322506848020366 -35887,0.8671871968310053 -35888,0.02218240229138546 -35889,0.8720019364479521 -35890,0.8464079258021378 -35891,0.8772990033583667 -35892,0.263558222665201 -35893,0.5834217923596128 -35894,0.04458430808945768 -35895,0.7981902944693404 -35896,0.765496225039301 -35897,0.36382520628079873 -35898,0.3196533537081636 -35899,0.5680500835893497 -35900,0.4544913185766185 -35901,0.7169987910488761 -35902,0.047190433438780155 -35903,0.8673300594191927 -35904,0.14575417253827216 -35905,0.6332209487148445 -35906,0.3357377471646644 -35907,0.3366538952162107 -35908,0.1524910268551083 -35909,0.622999850947788 -35910,0.32006872339628745 -35911,0.2908303698877136 -35912,0.04305611221425065 -35913,0.027837110991100644 -35914,0.48424167011672525 -35915,0.7645561396320636 -35916,0.07909084794573595 -35917,0.785000275624997 -35918,0.24172490587600892 -35919,0.4227667265475442 -35920,0.8323306095641286 -35921,0.5380657914433948 -35922,0.47364175166425104 -35923,0.3748651120504406 -35924,0.21637078244058627 -35925,0.910237013142876 -35926,0.06553986061280803 -35927,0.3112715943756629 -35928,0.08036801537615146 -35929,0.9900926197478795 -35930,0.08535661556655905 -35931,0.978255734216333 -35932,0.5568384558653416 -35933,0.9930489208963619 -35934,0.10210688014659375 -35935,0.699848441277501 -35936,0.7632453976183978 -35937,0.9920868980519937 -35938,0.025811259536415387 -35939,0.2405115138175664 -35940,0.19930606532371486 -35941,0.989067457283263 -35942,0.03153724992753615 -35943,0.8643270661206774 -35944,0.6310468094133782 -35945,0.8484704587437943 -35946,0.9610741732545133 -35947,0.6440390119123689 -35948,0.09767868488864007 -35949,0.7606151892011492 -35950,0.45439949638091615 -35951,0.007620502150547104 -35952,0.36271755890432245 -35953,0.8272653907626839 -35954,0.7813320448369715 -35955,0.8257251425154878 -35956,0.9639981142965285 -35957,0.05030016549652416 -35958,0.16197742809512605 -35959,0.32969366056926097 -35960,0.24575045091876713 -35961,0.750114585682712 -35962,0.306275851760179 -35963,0.8345922133375551 -35964,0.9051534398661514 -35965,0.9959333348017897 -35966,0.9400285786883573 -35967,0.31731471037168213 -35968,0.8085859250105278 -35969,0.948626608993822 -35970,0.48692486642139643 -35971,0.3382157581944345 -35972,0.4729050293018827 -35973,0.1939311045700478 -35974,0.7162424004489019 -35975,0.4308226368397834 -35976,0.3670140108734339 -35977,0.30717641051133515 -35978,0.4578128716756208 -35979,0.129868125327953 -35980,0.23899449929968564 -35981,0.34331430024228937 -35982,0.9692401067068748 -35983,0.9342438042466401 -35984,0.4944562376851367 -35985,0.8740401011183444 -35986,0.4641813826797674 -35987,0.9893598854410464 -35988,0.03569464325915117 -35989,0.9885804376214808 -35990,0.1594120257656041 -35991,0.7750039919683672 -35992,0.4405978147062857 -35993,0.4995617121770176 -35994,0.31134048785354296 -35995,0.927893093049269 -35996,0.9757609090105721 -35997,0.7417012167412115 -35998,0.3163707176050843 -35999,0.751221595758503 -36000,0.8700173353083482 -36001,0.8021084195194289 -36002,0.5074683379314757 -36003,0.3646474591605601 -36004,0.5996502270942192 -36005,0.07214433947887455 -36006,0.6685384555597245 -36007,0.7905569552554775 -36008,0.00018513569501388272 -36009,0.7331587822774707 -36010,0.34822181947363606 -36011,0.23627131357401 -36012,0.742846580121172 -36013,0.219048731216416 -36014,0.4861675527793734 -36015,0.070229269248415 -36016,0.4658174403211749 -36017,0.989243107392563 -36018,0.21728828725418858 -36019,0.24763396933795212 -36020,0.06619894196643006 -36021,0.0750146683848566 -36022,0.4941665543832414 -36023,0.8005237962705521 -36024,0.07733901312652591 -36025,0.05232310365327841 -36026,0.9554512903349548 -36027,0.1994293805003553 -36028,0.7971360979708135 -36029,0.9976191262968767 -36030,0.6668442200305713 -36031,0.6233663759364365 -36032,0.4504797367744139 -36033,0.31427942917587226 -36034,0.3215549316089743 -36035,0.9660521545683552 -36036,0.706407548913921 -36037,0.22286546247486305 -36038,0.37082515969149477 -36039,0.1798322615021113 -36040,0.21083518823973313 -36041,0.02425942743233689 -36042,0.3328529281249082 -36043,0.15221734875456294 -36044,0.22164146623960812 -36045,0.7128828620633542 -36046,0.14740765428687497 -36047,0.7099913127774319 -36048,0.44687210867584837 -36049,0.43840406292658496 -36050,0.06082979937646116 -36051,0.9344375737778804 -36052,0.04543174776901904 -36053,0.3616155773549279 -36054,0.07914633172223362 -36055,0.7925131754769048 -36056,0.42903266565662634 -36057,0.4981905788565867 -36058,0.11226985898756237 -36059,0.26083167317085576 -36060,0.28875554700498185 -36061,0.06812466116472649 -36062,0.3578746137243697 -36063,0.20638797668486353 -36064,0.40483039792180886 -36065,0.22804283235545975 -36066,0.6811179842692646 -36067,0.2464723033089018 -36068,0.2669197631715551 -36069,0.6837894239427268 -36070,0.8125880149033469 -36071,0.47099043001804664 -36072,0.85825894459052 -36073,0.9297658817765514 -36074,0.8709840999278404 -36075,0.8008913028873847 -36076,0.7783343223507689 -36077,0.5631116342499125 -36078,0.28371824149199987 -36079,0.26261244140165574 -36080,0.8001171336263924 -36081,0.6289850581545283 -36082,0.1797716105744146 -36083,0.17523307334550908 -36084,0.18289899555644573 -36085,0.8031983440154268 -36086,0.016291492742219638 -36087,0.8186433983447838 -36088,0.740552718286482 -36089,0.12480491003878424 -36090,0.7656776050161037 -36091,0.16606628908658116 -36092,0.9920943637747194 -36093,0.7326781098405969 -36094,0.2072104438415735 -36095,0.9019003291747568 -36096,0.766320736246174 -36097,0.24698709125422758 -36098,0.25362566023692246 -36099,0.6003423787248306 -36100,0.6633806963563105 -36101,0.8851968435976559 -36102,0.8069870161082344 -36103,0.9519863684850858 -36104,0.8429596414931689 -36105,0.7287110478889988 -36106,0.5605251603784914 -36107,0.5367663673419063 -36108,0.16779605112524132 -36109,0.8574693476084628 -36110,0.7267016828091881 -36111,0.7217179798451964 -36112,0.09160021165769361 -36113,0.10868232000117894 -36114,0.48286438558989353 -36115,0.15895152265075063 -36116,0.10239669703974041 -36117,0.23050730597706648 -36118,0.30670575666353306 -36119,0.6020050115222996 -36120,0.6629721646404927 -36121,0.18116491551296798 -36122,0.6778592898746199 -36123,0.4788946413939479 -36124,0.5781356722532339 -36125,0.8826808941580984 -36126,0.18812783540834044 -36127,0.7165309417887814 -36128,0.9930320811223959 -36129,0.8936141330169086 -36130,0.7999885419541898 -36131,0.07108646662636986 -36132,0.19864590428016426 -36133,0.679071147916688 -36134,0.5137567703504183 -36135,0.7850492288011948 -36136,0.7396895981448981 -36137,0.2629772324187616 -36138,0.3208443324808462 -36139,0.21739903253987836 -36140,0.766491507917066 -36141,0.7064918248589461 -36142,0.9672901323515446 -36143,0.006482058775432176 -36144,0.6494145199632292 -36145,0.4958414622852252 -36146,0.7340392021510708 -36147,0.3785844010696966 -36148,0.032502177571134494 -36149,0.7269778817744817 -36150,0.32425746873992234 -36151,0.25119937611625665 -36152,0.2506424899541527 -36153,0.817755838338336 -36154,0.46364211262356025 -36155,0.3442312337454294 -36156,0.7723279555262607 -36157,0.833901286496021 -36158,0.4640549812372121 -36159,0.5050510503693855 -36160,0.5766315492240848 -36161,0.4441463009229477 -36162,0.8400647377922027 -36163,0.10073720326691615 -36164,0.10765560847815292 -36165,0.575624859554966 -36166,0.01015673425722774 -36167,0.9037183988849341 -36168,0.41897086085750734 -36169,0.5972632633399402 -36170,0.7331724763918956 -36171,0.06216333140431285 -36172,0.08689804984552674 -36173,0.7260063735299794 -36174,0.10689482701955744 -36175,0.7902758787079254 -36176,0.613271845837534 -36177,0.19727766298792293 -36178,0.06395874859704276 -36179,0.6154619409033775 -36180,0.5208189915323369 -36181,0.6828155857782044 -36182,0.23205176355379176 -36183,0.7842844700735624 -36184,0.6142706220372358 -36185,0.6757076350552728 -36186,0.6690477948872382 -36187,0.5965260627118968 -36188,0.09991790853742843 -36189,0.9431899249092616 -36190,0.859574331002648 -36191,0.157927951489647 -36192,0.40226224930240084 -36193,0.8357725522425273 -36194,0.4787735878909334 -36195,0.6981060967743316 -36196,0.23026947879550208 -36197,0.026802607947932877 -36198,0.7249833302685249 -36199,0.10577084850719565 -36200,0.5236502724186501 -36201,0.0790262313935286 -36202,0.20809466913354446 -36203,0.8222174193128483 -36204,0.09649977129993459 -36205,0.37816314010399565 -36206,0.4886057436392951 -36207,0.9951633427063993 -36208,0.19019324081073485 -36209,0.46871274922030093 -36210,0.3938131476839424 -36211,0.6747827684515154 -36212,0.07982359421991014 -36213,0.908929450464538 -36214,0.5588482833412715 -36215,0.5402018654336357 -36216,0.5481427980156722 -36217,0.5373043322003876 -36218,0.7446501227255231 -36219,0.9219300426707552 -36220,0.6498986564562118 -36221,0.03398170423661517 -36222,0.3270262503953666 -36223,0.14713888885279724 -36224,0.4504281751775888 -36225,0.31555288148852845 -36226,0.1808945674959047 -36227,0.08179744336778494 -36228,0.7571683555045776 -36229,0.8345113968788629 -36230,0.8475376171252491 -36231,0.3896269348685055 -36232,0.7700247585153748 -36233,0.3631206493842548 -36234,0.012770282122675058 -36235,0.24368837131201526 -36236,0.18722756933649398 -36237,0.5636901468943928 -36238,0.27133522918026487 -36239,0.6359302144020013 -36240,0.6357697228914072 -36241,0.684496362509656 -36242,0.6922466199480628 -36243,0.10512743924748003 -36244,0.8972500914108152 -36245,0.10325952433970065 -36246,0.27929173774114147 -36247,0.6436948366241176 -36248,0.4099227964996983 -36249,0.893909815170528 -36250,0.6068484760467906 -36251,0.6908839942639246 -36252,0.9488479841248724 -36253,0.47609273917692196 -36254,0.9863092198054325 -36255,0.6325373025484414 -36256,0.02839919361398413 -36257,0.4967767790919758 -36258,0.47700450872305056 -36259,0.42975399132929537 -36260,0.37819215644816184 -36261,0.5401501662550597 -36262,0.03963977014309261 -36263,0.6985560035186141 -36264,0.8509229898084284 -36265,0.4107147493918337 -36266,0.5171664481645805 -36267,0.307370415290503 -36268,0.8934160815145092 -36269,0.9333230170234121 -36270,0.3544124670476331 -36271,0.3048934042670626 -36272,0.3784357672392553 -36273,0.44383685732570877 -36274,0.2236835907603335 -36275,0.09184262548763433 -36276,0.6948607901198399 -36277,0.5031456782972428 -36278,0.4582258044083918 -36279,0.09139468509130577 -36280,0.68016633260392 -36281,0.6831157766060725 -36282,0.3486502222491552 -36283,0.3347787216494471 -36284,0.8604984900278358 -36285,0.6770797785515296 -36286,0.8921332491594286 -36287,0.9951564563705042 -36288,0.17142809186819363 -36289,0.5255957632293552 -36290,0.048731253488418225 -36291,0.6283901530956265 -36292,0.6346741577751672 -36293,0.8773817839501639 -36294,0.6043564372471433 -36295,0.08728238852008374 -36296,0.907263407883493 -36297,0.6240292326805741 -36298,0.2882649105229028 -36299,0.9172936110827674 -36300,0.6784901933193651 -36301,0.6322785770899074 -36302,0.9795157582718315 -36303,0.22939441423754525 -36304,0.9507340978168247 -36305,0.15317783003126817 -36306,0.42370523327854803 -36307,0.5901637226717116 -36308,0.6193992075536433 -36309,0.12121144522879268 -36310,0.5156692255205034 -36311,0.9254100969002901 -36312,0.31193767535478023 -36313,0.9480151866619074 -36314,0.8302318707193159 -36315,0.21109396874047848 -36316,0.6385147942759847 -36317,0.6925614238222763 -36318,0.9282311912270005 -36319,0.31048219681835254 -36320,0.3889992166189423 -36321,0.7129776252778406 -36322,0.8044361683128997 -36323,0.42581303595514997 -36324,0.9613903551625 -36325,0.5391333736368331 -36326,0.7396914255169375 -36327,0.44263685606647507 -36328,0.5792092700606835 -36329,0.39847746645197557 -36330,0.019857988221160583 -36331,0.5371504260440483 -36332,0.055674086357640706 -36333,0.09725395048781371 -36334,0.07235533140772965 -36335,0.09303705094240311 -36336,0.27593894956464293 -36337,0.2872902446579394 -36338,0.9365558007405693 -36339,0.39701726044152263 -36340,0.28555032690129156 -36341,0.37857907331868634 -36342,0.5925307033960926 -36343,0.47514319137396943 -36344,0.9092326398397957 -36345,0.15260214839781394 -36346,0.9956192969940285 -36347,0.6168887479190241 -36348,0.3310762632265194 -36349,0.45502029737963945 -36350,0.28632120618066326 -36351,0.5450510036248187 -36352,0.8379320051381588 -36353,0.9707629595122977 -36354,0.6145415734435892 -36355,0.23313420403708096 -36356,0.7185268807475977 -36357,0.47249770445543837 -36358,0.8952868441498479 -36359,0.6304633417106388 -36360,0.6811372086220938 -36361,0.003335883667234363 -36362,0.8193919235405648 -36363,0.4624686159198751 -36364,0.9982325266835111 -36365,0.8455302290674465 -36366,0.48316292497577285 -36367,0.03437532654749942 -36368,0.9256346998657546 -36369,0.31982468952140286 -36370,0.6472829069557998 -36371,0.46224500501650867 -36372,0.6077148298099051 -36373,0.8247241811084509 -36374,0.18067863384810023 -36375,0.495753280767377 -36376,0.6675074161883422 -36377,0.6689498507041438 -36378,0.9074478207174034 -36379,0.7230418505740679 -36380,0.9408856191949059 -36381,0.2865252195082246 -36382,0.45932725798899765 -36383,0.691077394426416 -36384,0.9968941653557953 -36385,0.3011644278617307 -36386,0.0332507363949025 -36387,0.8911492227989493 -36388,0.05677705154646173 -36389,0.9741843992674697 -36390,0.4596382065423288 -36391,0.16926178478304332 -36392,0.6176033556523352 -36393,0.6784192999413491 -36394,0.08151201277377707 -36395,0.494233027354667 -36396,0.6173866618474105 -36397,0.27085794163603727 -36398,0.3449137257452093 -36399,0.6930408173204877 -36400,0.4529774510276957 -36401,0.2997134360300906 -36402,0.4165674144073952 -36403,0.2334663120198518 -36404,0.3285909995660654 -36405,0.8073663064883051 -36406,0.6266510731603515 -36407,0.6477396616670971 -36408,0.7684748250876948 -36409,0.5160984671553436 -36410,0.6308711009817204 -36411,0.3501424530248374 -36412,0.6150077579982463 -36413,0.7954868606020626 -36414,0.2993022820811235 -36415,0.5092505810600141 -36416,0.3466387634775897 -36417,0.8135744620134138 -36418,0.2789365511118739 -36419,0.09783753452782695 -36420,0.5344324100771773 -36421,0.8706414511830275 -36422,0.2993612109132576 -36423,0.002724949612434857 -36424,0.4017693720063802 -36425,0.9210675650514012 -36426,0.1183874448232034 -36427,0.7610358040516053 -36428,0.7069081577859517 -36429,0.07325184574939214 -36430,0.7998525434489892 -36431,0.0891502992117913 -36432,0.8636026945227072 -36433,0.731342394537894 -36434,0.5782260678147142 -36435,0.15213469618355846 -36436,0.47309685433372584 -36437,0.4671844016067689 -36438,0.5248214659216406 -36439,0.4872018667333754 -36440,0.1573120239847442 -36441,0.7314960759330729 -36442,0.4182097937378628 -36443,0.4566746774584356 -36444,0.9063543100079938 -36445,0.8692091959248464 -36446,0.9363852122019118 -36447,0.6457641466004668 -36448,0.5448532338014968 -36449,0.701991889709279 -36450,0.384983894462394 -36451,0.8005482480108949 -36452,0.15820241491105091 -36453,0.7381212823720522 -36454,0.303250725227282 -36455,0.689362484244358 -36456,0.5973924875908838 -36457,0.7955349782625353 -36458,0.8280980741197527 -36459,0.4198336128930412 -36460,0.42172512444561405 -36461,0.18017906268479178 -36462,0.6284434496623892 -36463,0.8537778496407631 -36464,0.12002596339637472 -36465,0.3716577035481643 -36466,0.5998763279813677 -36467,0.950889452765371 -36468,0.7930319354995253 -36469,0.05195732476180914 -36470,0.1296415477956001 -36471,0.8443751580148583 -36472,0.2492528620730292 -36473,0.02431145576180782 -36474,0.7826006584118388 -36475,0.15177341004875666 -36476,0.2472153480950524 -36477,0.6059169049454546 -36478,0.7610435628698747 -36479,0.8418435406102257 -36480,0.13301034980611903 -36481,0.30260582856324403 -36482,0.4530767208324207 -36483,0.3020711572165796 -36484,0.27208930220908245 -36485,0.04568065473642435 -36486,0.8937934348974075 -36487,0.5330813023753942 -36488,0.7655003769431722 -36489,0.15102904661802208 -36490,0.39723393801990003 -36491,0.2470631828337989 -36492,0.37400022844559366 -36493,0.287251763047806 -36494,0.21662750930096375 -36495,0.7707552742344037 -36496,0.7963938896041617 -36497,0.17717093746234647 -36498,0.19701422916196232 -36499,0.5226688275892043 -36500,0.1484957239779835 -36501,0.05899796402138191 -36502,0.6717787815761677 -36503,0.11158950986008254 -36504,0.8648975820573641 -36505,0.021389774475965906 -36506,0.4027579460353604 -36507,0.3459880814431697 -36508,0.26080968621323775 -36509,0.18096461345998982 -36510,0.2048872116239553 -36511,0.2527262452269239 -36512,0.3666922663963712 -36513,0.31792423112195867 -36514,0.2860465449490561 -36515,0.9849853096127911 -36516,0.21309012654139292 -36517,0.697383033681299 -36518,0.3702677009037374 -36519,0.33978450783773906 -36520,0.7844071178326872 -36521,0.4556860744674949 -36522,0.361824218452263 -36523,0.9434359894022017 -36524,0.3843346877980939 -36525,0.09258750687580364 -36526,0.9024023960971357 -36527,0.9567910167805733 -36528,0.6416119519283864 -36529,0.9061393115007437 -36530,0.7972123670527629 -36531,0.10803774126108612 -36532,0.674479258569325 -36533,0.23524755513182338 -36534,0.4161066703083268 -36535,0.4033234469997631 -36536,0.8427282822787333 -36537,0.7388496375716379 -36538,0.09786170501516556 -36539,0.8839231478657266 -36540,0.9795933332387283 -36541,0.6841986702979124 -36542,0.8403202545819716 -36543,0.6807337211543119 -36544,0.7106642472747491 -36545,0.5875955686730231 -36546,0.7019029715999334 -36547,0.5408835334183563 -36548,0.4826137609538924 -36549,0.2078928585262998 -36550,0.6464221117098845 -36551,0.15366999960214067 -36552,0.25929154843699564 -36553,0.11606880883497306 -36554,0.47498487676933765 -36555,0.8680407711649929 -36556,0.4688456925192157 -36557,0.6857629785902168 -36558,0.6621076283538333 -36559,0.08717919632692062 -36560,0.8268284888731728 -36561,0.599897791530011 -36562,0.6523471951623442 -36563,0.49904722405620294 -36564,0.8322611001024356 -36565,0.9544965521873818 -36566,0.38541043526771324 -36567,0.77672427153952 -36568,0.5782723720818272 -36569,0.0796399425612937 -36570,0.5390313031805327 -36571,0.4180468270162535 -36572,0.8436107732752002 -36573,0.8784411329563911 -36574,0.8289025101736762 -36575,0.10397646767417934 -36576,0.3817189419694692 -36577,0.7306199893816641 -36578,0.8762436069744023 -36579,0.33676001651820464 -36580,0.14242248216927234 -36581,0.4712328312422538 -36582,0.13015084222727635 -36583,0.6615032468168609 -36584,0.13826613965973222 -36585,0.8860173174635906 -36586,0.13723405901954822 -36587,0.06777442301532177 -36588,0.9450485354548023 -36589,0.6196569017666248 -36590,0.3771694749954373 -36591,0.3447893270194323 -36592,0.18930617526475002 -36593,0.47569337589660166 -36594,0.371281179362539 -36595,0.3038766269278089 -36596,0.3023164764102938 -36597,0.4768145073101784 -36598,0.6494610922151541 -36599,0.3995242692751616 -36600,0.5011831268252167 -36601,0.18051404991484055 -36602,0.03361391252353896 -36603,0.6436525446166218 -36604,0.7432484815518746 -36605,0.5225412920152348 -36606,0.9598870537619756 -36607,0.02254728980516507 -36608,0.23726557072542864 -36609,0.3080070069061822 -36610,0.7586531069298769 -36611,0.0550391680725425 -36612,0.159670695958555 -36613,0.7367698347295104 -36614,0.5212081518908389 -36615,0.8455591141224997 -36616,0.45562163954837587 -36617,0.9827680699352814 -36618,0.23558325929321033 -36619,0.007220238622613118 -36620,0.03707927808786571 -36621,0.08916557994463592 -36622,0.32708389156657924 -36623,0.058288311252467584 -36624,0.7782053170065254 -36625,0.3610354292782646 -36626,0.36663441958220955 -36627,0.6457955296324718 -36628,0.9955889439305479 -36629,0.9085020889015433 -36630,0.54256779372654 -36631,0.41466144791854087 -36632,0.7918753459968991 -36633,0.018197078702535174 -36634,0.38922796968721074 -36635,0.6820770549109608 -36636,0.10427160390907442 -36637,0.6208476756699447 -36638,0.9423362742305388 -36639,0.34020047971425693 -36640,0.7888300652081682 -36641,0.49535791079505886 -36642,0.25303520656575984 -36643,0.5016351537187679 -36644,0.9310296932107615 -36645,0.08099157213974184 -36646,0.6938324673199204 -36647,0.8364875040446397 -36648,0.7680056791117492 -36649,0.23420906697054755 -36650,0.827698163397613 -36651,0.7592541158764086 -36652,0.17319579497149507 -36653,0.9072081711380293 -36654,0.23314173905696478 -36655,0.02345166783803676 -36656,0.6248238886061008 -36657,0.09061479740588929 -36658,0.4745560582795654 -36659,0.13078659056025443 -36660,0.6433516948579512 -36661,0.14708681041083393 -36662,0.2784235809381588 -36663,0.17978122265774188 -36664,0.49673120839808715 -36665,0.2556792472317764 -36666,0.047453345441115236 -36667,0.38282412329845716 -36668,0.35980073147869807 -36669,0.8113828509820167 -36670,0.26201372869507744 -36671,0.16203969851515965 -36672,0.900920220868194 -36673,0.001055056517278885 -36674,0.5796258668337725 -36675,0.43502329514804605 -36676,0.3777950624523433 -36677,0.39618266320411066 -36678,0.3606004194185166 -36679,0.1054910896793354 -36680,0.40413607869756774 -36681,0.9961715215415087 -36682,0.06386310456662025 -36683,0.8857205211606437 -36684,0.44227069719669343 -36685,0.201155833449412 -36686,0.4952321235377547 -36687,0.5188327273090221 -36688,0.6333390519233847 -36689,0.7073981282066162 -36690,0.3081112346273892 -36691,0.9276706851965328 -36692,0.5630093213748644 -36693,0.929955592575586 -36694,0.8298459812182893 -36695,0.18976544136977103 -36696,0.8786274396897792 -36697,0.49827301145171643 -36698,0.6272989236660702 -36699,0.7567414386742034 -36700,0.10711421104988972 -36701,0.3805898176369519 -36702,0.43128928147629886 -36703,0.5227730244259856 -36704,0.696717249897609 -36705,0.18092481602072885 -36706,0.3906235657900162 -36707,0.9499910546567477 -36708,0.4871297382136516 -36709,0.5606537004279348 -36710,0.3302947442201193 -36711,0.8078379281918253 -36712,0.1340291592083359 -36713,0.6965060067376293 -36714,0.2502811268934726 -36715,0.9468869419692731 -36716,0.5687993437063869 -36717,0.09046129470398923 -36718,0.37926311267732415 -36719,0.4730467672218094 -36720,0.6944585386743498 -36721,0.43380798903570517 -36722,0.1774272637559754 -36723,0.9390014953090255 -36724,0.6153743332702871 -36725,0.6885233841934137 -36726,0.7044650791924394 -36727,0.9560572108499525 -36728,0.2728547452365665 -36729,0.9677934851671487 -36730,0.6747041440664969 -36731,0.3603133083780701 -36732,0.45637259548608755 -36733,0.43581766936782473 -36734,0.48293763817961877 -36735,0.8864448452032057 -36736,0.35105174903353764 -36737,0.21068911681255842 -36738,0.09904718216166097 -36739,0.8996468336171953 -36740,0.691737047336152 -36741,0.0010120704106304501 -36742,0.7964585237453016 -36743,0.30969465970001553 -36744,0.16797139594830723 -36745,0.3379412714178649 -36746,0.20428280684664712 -36747,0.7256564165377316 -36748,0.783411219558045 -36749,0.22693421592723972 -36750,0.6517441269264642 -36751,0.4821437023651217 -36752,0.987679527436466 -36753,0.5607961027531934 -36754,0.3958719245193355 -36755,0.9407835894783804 -36756,0.7808738241231471 -36757,0.002561266974662302 -36758,0.13705636030820623 -36759,0.01233790421927039 -36760,0.21339310228635222 -36761,0.5837815184585549 -36762,0.194223971623525 -36763,0.3629278276910265 -36764,0.44641007206598315 -36765,0.023489359238194396 -36766,0.165391081896068 -36767,0.8794498461358402 -36768,0.3956312332934654 -36769,0.6519144620303224 -36770,0.628436706972113 -36771,0.6151290013249041 -36772,0.25227056194445796 -36773,0.025069719434451798 -36774,0.1486172448159906 -36775,0.61735451734694 -36776,0.6888203671963502 -36777,0.4572235011801903 -36778,0.6414624708210218 -36779,0.6373332716033061 -36780,0.36012061525863026 -36781,0.7995106413687705 -36782,0.8548070230248704 -36783,0.8457852503854756 -36784,0.9434145514006053 -36785,0.48817470604184976 -36786,0.6283253758010379 -36787,0.5298006792226397 -36788,0.8404109516145546 -36789,0.8055360660391432 -36790,0.9749450434231842 -36791,0.9531128549748958 -36792,0.012008832105903755 -36793,0.013143515020576868 -36794,0.17775191013121883 -36795,0.04439468095417798 -36796,0.5721328553692582 -36797,0.3141191006454248 -36798,0.0292839755237444 -36799,0.10414671026169686 -36800,0.7238154610364145 -36801,0.590310586276918 -36802,0.6900468181862981 -36803,0.6788883812169204 -36804,0.360721744997511 -36805,0.7873865091295903 -36806,0.6696465834118449 -36807,0.011142398339278214 -36808,0.18649955456919443 -36809,0.5665335093023384 -36810,0.2460880015027006 -36811,0.3419224894896339 -36812,0.8346289682303643 -36813,0.9944986891495793 -36814,0.5355209852317526 -36815,0.04756093841730247 -36816,0.5489245854982806 -36817,0.5759487604204351 -36818,0.9759052426385995 -36819,0.3085014330610243 -36820,0.37833609056801953 -36821,0.19495703340532833 -36822,0.566350770998886 -36823,0.23490025230602618 -36824,0.4465114421296512 -36825,0.7817950151796206 -36826,0.2038510746763128 -36827,0.33694675609545577 -36828,0.029608648098052193 -36829,0.14208919490592786 -36830,0.3954660716620906 -36831,0.9793390373951807 -36832,0.23114138830152664 -36833,0.41288586994625753 -36834,0.8628526704660653 -36835,0.09450015382935129 -36836,0.29953219731443526 -36837,0.417545653520384 -36838,0.8242773761597634 -36839,0.3112209562546103 -36840,0.657566193237605 -36841,0.14680201890658418 -36842,0.33922620762640965 -36843,0.0018910828526332857 -36844,0.7057827372531253 -36845,0.9692826318166003 -36846,0.4369254851838882 -36847,0.9055251770842092 -36848,0.05284922331527531 -36849,0.6135702478545647 -36850,0.3564616261693878 -36851,0.07504942277154891 -36852,0.11889465460720039 -36853,0.8277919902221125 -36854,0.7405726040176035 -36855,0.2617433772679091 -36856,0.45128624626792446 -36857,0.6506429501291288 -36858,0.18756496115209964 -36859,0.8102236257572941 -36860,0.7991455383835794 -36861,0.45815114952896574 -36862,0.35521272557031514 -36863,0.5695919848430955 -36864,0.7323043385266027 -36865,0.7908430122363667 -36866,0.8009981732298574 -36867,0.39396139866088764 -36868,0.3397414901574146 -36869,0.9444830785520664 -36870,0.05922123455602801 -36871,0.940720491903506 -36872,0.22099873752382415 -36873,0.7822890162103667 -36874,0.9413143202116869 -36875,0.272611405793753 -36876,0.19428113202838282 -36877,0.8162682557730448 -36878,0.16532467650214533 -36879,0.2124264311177545 -36880,0.4583944985697047 -36881,0.6334444601435764 -36882,0.9898125941876886 -36883,0.9476539228232995 -36884,0.20891206410353746 -36885,0.9177825325592653 -36886,0.47102486043552794 -36887,0.7718372488981974 -36888,0.1645753262804861 -36889,0.06885619706298152 -36890,0.6347423756717884 -36891,0.47452077653785874 -36892,0.6549156311351733 -36893,0.8900107522379155 -36894,0.728858472596161 -36895,0.9603883810306004 -36896,0.176894945017378 -36897,0.971094982846379 -36898,0.4260446828248198 -36899,0.9535321773307548 -36900,0.9828346197975893 -36901,0.6182139194075397 -36902,0.665003668038935 -36903,0.48092158467748225 -36904,0.5347702950432163 -36905,0.9024080386835197 -36906,0.8802040018465298 -36907,0.1587043268805406 -36908,0.07678105016830805 -36909,0.2700801021768693 -36910,0.2445720874623214 -36911,0.5068531310265136 -36912,0.03011190574345357 -36913,0.27191136677787675 -36914,0.7594328309964277 -36915,0.5972194201707166 -36916,0.5123608469771732 -36917,0.925377985456891 -36918,0.8060728768309167 -36919,0.5944806693443844 -36920,0.6113109587021707 -36921,0.2586635814237449 -36922,0.7804638307122329 -36923,0.8343448559814098 -36924,0.42213610313775174 -36925,0.6935623999195226 -36926,0.49050181762568446 -36927,0.07083963960902406 -36928,0.8570680679908094 -36929,0.5002245422939402 -36930,0.2900838035040455 -36931,0.7043750437145069 -36932,0.8428965109946264 -36933,0.7518069305913276 -36934,0.747058745281643 -36935,0.33225004977978123 -36936,0.18044989451846538 -36937,0.8135299781254062 -36938,0.45919989495859215 -36939,0.5596427292082744 -36940,0.3117172761945709 -36941,0.6201127275896793 -36942,0.8351344319174231 -36943,0.541310522755224 -36944,0.14450500784754783 -36945,0.879762742602141 -36946,0.11253883501765316 -36947,0.6207641446506545 -36948,0.2310893433808615 -36949,0.8140931367995355 -36950,0.4686419070190325 -36951,0.6951245998966046 -36952,0.5867032160447597 -36953,0.25340243287908304 -36954,0.6058549851922165 -36955,0.13327241054297012 -36956,0.9164147626594552 -36957,0.5822160284141947 -36958,0.2977926926222142 -36959,0.4093426594152475 -36960,0.36067980327207894 -36961,0.19876500596449098 -36962,0.44513329197935536 -36963,0.11812449313202422 -36964,0.547923094865339 -36965,0.4153279958437682 -36966,0.8807622228432236 -36967,0.6611246401807914 -36968,0.9496626814079309 -36969,0.6384138501401232 -36970,0.3644815942626616 -36971,0.06682847096492062 -36972,0.0711786817381056 -36973,0.22205568499552453 -36974,0.49083609561014463 -36975,0.4922099138599033 -36976,0.7771494064609511 -36977,0.030238413123286678 -36978,0.810391223792035 -36979,0.11785848102847507 -36980,0.6273141146017533 -36981,0.5497287129149075 -36982,0.32588232691938146 -36983,0.2553403792895399 -36984,0.8514483400732278 -36985,0.917670638553747 -36986,0.9627264395194021 -36987,0.9121134569473688 -36988,0.6965987959888991 -36989,0.4483345589835096 -36990,0.3231120704128575 -36991,0.9279262339138693 -36992,0.6722886682374121 -36993,0.31909281873907935 -36994,0.5078089942734086 -36995,0.7957261566558084 -36996,0.013278734646960944 -36997,0.5616044690543995 -36998,0.55766541472115 -36999,0.5626386574750306 -37000,0.0522976172900429 -37001,0.12419034081731484 -37002,0.5309250510295569 -37003,0.46339511606854145 -37004,0.8237509376201461 -37005,0.5502357200062081 -37006,0.49903323221859563 -37007,0.9593261392033835 -37008,0.74668412731188 -37009,0.35736154724249924 -37010,0.7416378010389689 -37011,0.9886658194785012 -37012,0.08040749668193625 -37013,0.1343178980645775 -37014,0.3498122267120011 -37015,0.030815355481069617 -37016,0.0013370018413513263 -37017,0.8146213895723985 -37018,0.8956936609783954 -37019,0.5707493227243682 -37020,0.6342164716344146 -37021,0.7186401978657958 -37022,0.9928794669074198 -37023,0.6819422905356859 -37024,0.8308049707755532 -37025,0.29581333373308094 -37026,0.20031123881093327 -37027,0.6942869911821311 -37028,0.19173836817165202 -37029,0.569258080953647 -37030,0.33462975996928646 -37031,0.7515959413290048 -37032,0.20865299824227124 -37033,0.6839723226299683 -37034,0.9617455984109633 -37035,0.6840751647868805 -37036,0.6623688034629029 -37037,0.48023298399137515 -37038,0.15338448103907054 -37039,0.4939010025452918 -37040,0.014734124189054065 -37041,0.8569050888372366 -37042,0.7107155776560957 -37043,0.6391547034202854 -37044,0.5239131363288396 -37045,0.26221463266147316 -37046,0.48757572336247035 -37047,0.5940362965601277 -37048,0.41651460608943713 -37049,0.689299252273501 -37050,0.13013303424975986 -37051,0.2998461396570796 -37052,0.053401281985425264 -37053,0.5299209277159125 -37054,0.2794046056054529 -37055,0.8105711612713183 -37056,0.20763685963913803 -37057,0.6352358146774433 -37058,0.6118582181773426 -37059,0.9624382266887533 -37060,0.09399299179850584 -37061,0.3300662902074901 -37062,0.5366937885486532 -37063,0.7632885178194142 -37064,0.25853756834115427 -37065,0.0853697310190683 -37066,0.9484547005917215 -37067,0.5305968406532314 -37068,0.8783554597110859 -37069,0.1018927444787413 -37070,0.19114046375715443 -37071,0.7667595111914622 -37072,0.6381950568943074 -37073,0.17392038578082347 -37074,0.36242149083644737 -37075,0.09412615991091122 -37076,0.04956050003246548 -37077,0.9352013851348937 -37078,0.7479571135757952 -37079,0.7217663394317024 -37080,0.2411847955204841 -37081,0.8544570429432562 -37082,0.3318484900913852 -37083,0.2640341640015531 -37084,0.7436460281444905 -37085,0.8698663594360494 -37086,0.2842007348594179 -37087,0.9750609584652722 -37088,0.07687938980713638 -37089,0.7373978278711324 -37090,0.8084229759371189 -37091,0.8553318793285026 -37092,0.1323903813282793 -37093,0.3616644315740062 -37094,0.48684115856476384 -37095,0.9640109176302114 -37096,0.8640738652728948 -37097,0.9716797909968242 -37098,0.378120531636597 -37099,0.9904633641296976 -37100,0.5863010223590399 -37101,0.5973517212846806 -37102,0.5458291918507167 -37103,0.544405791251849 -37104,0.7639315424588172 -37105,0.943674591516134 -37106,0.7544724356043603 -37107,0.7237063675417661 -37108,0.9577487834920555 -37109,0.7565565412301817 -37110,0.3949094768276572 -37111,0.4471121212859265 -37112,0.593137883845443 -37113,0.26854448276300336 -37114,0.37007401388248606 -37115,0.5017126456127974 -37116,0.8710431461547145 -37117,0.8931928440593714 -37118,0.16935726838200216 -37119,0.7570003934274308 -37120,0.3505592610538397 -37121,0.38945292160935874 -37122,0.45640257500815595 -37123,0.6255865901215948 -37124,0.2784162913073449 -37125,0.9036833930119803 -37126,0.7660317914708584 -37127,0.720629440019276 -37128,0.5130941963678977 -37129,0.27958000872930244 -37130,0.5254501315776156 -37131,0.9509922676314166 -37132,0.7934919061593626 -37133,0.6108018329020138 -37134,0.45147530096295085 -37135,0.8346851215438982 -37136,0.8026200473850001 -37137,0.010402849960166272 -37138,0.5454531248112722 -37139,0.1630660613754753 -37140,0.4054046191792111 -37141,0.29385693029740634 -37142,0.3158360367311739 -37143,0.7675806765293571 -37144,0.13282190599708665 -37145,0.9758869991570248 -37146,0.13255073667390083 -37147,0.7088466879704011 -37148,0.30625141406926537 -37149,0.08488286874925288 -37150,0.9778301700227462 -37151,0.09317297482552878 -37152,0.2873233887535278 -37153,0.4053003815625469 -37154,0.2662401220389101 -37155,0.49496161481992373 -37156,0.6996230132121969 -37157,0.21157261966777463 -37158,0.9198592668882765 -37159,0.21846297348674892 -37160,0.594176238353607 -37161,0.19387594046888246 -37162,0.7462442326972135 -37163,0.5087351091621587 -37164,0.7282469015873216 -37165,0.603998599072584 -37166,0.08987001606776701 -37167,0.04824679427455458 -37168,0.2396232676338519 -37169,0.9647130986348862 -37170,0.571297215771214 -37171,0.8602379963502655 -37172,0.7041306491506311 -37173,0.9373753206524167 -37174,0.98518548426612 -37175,0.22821182221934377 -37176,0.4606583052889476 -37177,0.9455518957448276 -37178,0.7104279216971827 -37179,0.024907228398768133 -37180,0.4978516234833734 -37181,0.5968773138071433 -37182,0.42141929531634437 -37183,0.47205868946449436 -37184,0.9054868331180493 -37185,0.9772202105696641 -37186,0.4241197307742973 -37187,0.5142088440527084 -37188,0.1994662495614219 -37189,0.6816396514158319 -37190,0.14525483983366017 -37191,0.9254542298414811 -37192,0.4960424768070396 -37193,0.6262223855642867 -37194,0.7805207561830071 -37195,0.1857645511625836 -37196,0.12530656220885528 -37197,0.0799272170168428 -37198,0.41558400664946504 -37199,0.1638924214345192 -37200,0.13031803494819427 -37201,0.22784160332593284 -37202,0.00878219786288481 -37203,0.9109798015250942 -37204,0.9349966760831965 -37205,0.8107528667050383 -37206,0.8021293560220927 -37207,0.6456705919348804 -37208,0.004653911838251146 -37209,0.9647311056492496 -37210,0.36826009637747337 -37211,0.9907635721336647 -37212,0.34205876827811166 -37213,0.9885595715463638 -37214,0.39002597038502085 -37215,0.9024560337665889 -37216,0.27781407477012854 -37217,0.580818431786776 -37218,0.4952639217393675 -37219,0.7275042759499645 -37220,0.7012765134842955 -37221,0.09328277152651909 -37222,0.830447596777046 -37223,0.1373385452041661 -37224,0.32929836716959515 -37225,0.0715859708421992 -37226,0.2824237132465107 -37227,0.6146833328866542 -37228,0.0935884320827326 -37229,0.6337464440488828 -37230,0.36353266361932135 -37231,0.3901135303312616 -37232,0.1623941584671469 -37233,0.06173925616677578 -37234,0.7862688911015094 -37235,0.6935674216502741 -37236,0.4352142638145807 -37237,0.5737394836650348 -37238,0.9280399529737933 -37239,0.08301434461133572 -37240,0.5386799972276416 -37241,0.7430035839725271 -37242,0.12751544491231048 -37243,0.6356069860771203 -37244,0.9050202982286305 -37245,0.04618407352132514 -37246,0.9913218827614355 -37247,0.60613301086827 -37248,0.5155243417307334 -37249,0.10807115500557629 -37250,0.36439158162577134 -37251,0.063941834875199 -37252,0.3049052436235258 -37253,0.24701931927321885 -37254,0.7922860218718671 -37255,0.8944313493946898 -37256,0.49272437352700205 -37257,0.9617680961453904 -37258,0.04216039376613212 -37259,0.6727995617575155 -37260,0.9812533235189262 -37261,0.7017494284152269 -37262,0.9099555992098273 -37263,0.9198107844966433 -37264,0.987911314449549 -37265,0.8921039460344731 -37266,0.35056061923321113 -37267,0.8707390600843293 -37268,0.13584880967898894 -37269,0.49347771852627254 -37270,0.7015216455099567 -37271,0.13133764011584792 -37272,0.8531695226743643 -37273,0.9299644677512796 -37274,0.8075655481617371 -37275,0.10533217490776148 -37276,0.4634081741056967 -37277,0.22343430533381115 -37278,0.9870335164858948 -37279,0.5150616595378329 -37280,0.5773366074213322 -37281,0.07705293154355553 -37282,0.7273379524452883 -37283,0.5444409314384282 -37284,0.48040588109689986 -37285,0.7533395317153077 -37286,0.8672073314313836 -37287,0.6349557864789034 -37288,0.17240348823457052 -37289,0.6227400763942856 -37290,0.427790239718738 -37291,0.1198833460511547 -37292,0.9526293167929224 -37293,0.36855476278143906 -37294,0.2178309342328708 -37295,0.3050365598176459 -37296,0.12647959002721576 -37297,0.9663462589832544 -37298,0.6050904480261772 -37299,0.510689495920336 -37300,0.44931175790014 -37301,0.9946722187897452 -37302,0.7444807637848307 -37303,0.6116112741121252 -37304,0.14181473598680727 -37305,0.22985681994552587 -37306,0.18964627143282087 -37307,0.9702544438115425 -37308,0.8275757446052632 -37309,0.3950673200335332 -37310,0.14350464680925357 -37311,0.9442577846746552 -37312,0.19494614506663965 -37313,0.05086093019670812 -37314,0.1360793742874964 -37315,0.49734241216031416 -37316,0.7919651728945843 -37317,0.000985654105903233 -37318,0.6502162909944975 -37319,0.8082520492749151 -37320,0.014494843932566392 -37321,0.5560204627945298 -37322,0.4644199190992475 -37323,0.430487863421524 -37324,0.9369216350613631 -37325,0.8294678978226273 -37326,0.938404281232717 -37327,0.11809428166814828 -37328,0.30257373788567987 -37329,0.3363519090896431 -37330,0.9012227646340004 -37331,0.5966030940229924 -37332,0.3701259927891055 -37333,0.6844005004499715 -37334,0.7673383489712402 -37335,0.03682784875540912 -37336,0.5600877086564263 -37337,0.8797184370589402 -37338,0.7622224427576489 -37339,0.1198494375101763 -37340,0.05875093266738207 -37341,0.8347714880439677 -37342,0.9330449238171873 -37343,0.9738726922059663 -37344,0.8604405820086792 -37345,0.668127404297714 -37346,0.009127985269137384 -37347,0.3791253523119751 -37348,0.999950862418342 -37349,0.4809180309030744 -37350,0.19284875241620592 -37351,0.2536428836488722 -37352,0.6476563832977809 -37353,0.7400550759452997 -37354,0.1548501877419668 -37355,0.4705224602288012 -37356,0.9463316423104335 -37357,0.9933663132890597 -37358,0.3434605241099654 -37359,0.9688328587257854 -37360,0.391846358367129 -37361,0.09588470262777538 -37362,0.4514777851491356 -37363,0.8120746675948031 -37364,0.07635214905870313 -37365,0.4141788126856849 -37366,0.1643142139794942 -37367,0.8759257456976988 -37368,0.9320423942107063 -37369,0.15157043731601216 -37370,0.7772068060842409 -37371,0.3694216140065695 -37372,0.11526622931738162 -37373,0.015517030224312278 -37374,0.813592493506856 -37375,0.9862660769214415 -37376,0.2839231621152837 -37377,0.3772739862701575 -37378,0.6430780064792204 -37379,0.16710714058515053 -37380,0.6692886658577357 -37381,0.4011661171668264 -37382,0.35428196039169335 -37383,0.6334129663660777 -37384,0.8164216416115034 -37385,0.7786489875016326 -37386,0.45422793597714717 -37387,0.2925521942758288 -37388,0.966455738389256 -37389,0.9144065506529021 -37390,0.16588039541983035 -37391,0.2972991201277444 -37392,0.7714196290109884 -37393,0.8439842234600391 -37394,0.18651469494654394 -37395,0.09090892810119355 -37396,0.8386476348897182 -37397,0.9327659361476918 -37398,0.30066778163653574 -37399,0.847276295460853 -37400,0.36480419387523255 -37401,0.05226698647067529 -37402,0.6489937134696104 -37403,0.9443776369118124 -37404,0.024004013419828718 -37405,0.3560419345712119 -37406,0.2264109308630644 -37407,0.0008475863303524234 -37408,0.7831250660339818 -37409,0.8713599762065817 -37410,0.43208437291102475 -37411,0.07814519939327946 -37412,0.5820234190736537 -37413,0.7823046412278765 -37414,0.07705709889118861 -37415,0.8128029575300314 -37416,0.0802545018807288 -37417,0.06106095280892576 -37418,0.2812032971427989 -37419,0.22062597843655363 -37420,0.741399427831612 -37421,0.05128934176269262 -37422,0.8367612758342853 -37423,0.45084310605498923 -37424,0.39592709372949575 -37425,0.4377263474132743 -37426,0.6904188447287255 -37427,0.24322669978384082 -37428,0.779933012319604 -37429,0.588463450763581 -37430,0.25500161749394634 -37431,0.4977616769454599 -37432,0.8983153073919946 -37433,0.21856382086355264 -37434,0.800738998456475 -37435,0.561619782113354 -37436,0.550770154350009 -37437,0.8696290593291885 -37438,0.8796440371686688 -37439,0.8127644901665738 -37440,0.08742270422755571 -37441,0.6165754096842841 -37442,0.5778144072887981 -37443,0.2056105053577274 -37444,0.2924390741725956 -37445,0.7949481343064605 -37446,0.9841153795250079 -37447,0.3246269363256469 -37448,0.3238758680175291 -37449,0.8578891070865811 -37450,0.4448629159232549 -37451,0.8243655546084688 -37452,0.10240733763530174 -37453,0.10524241377024146 -37454,0.1032141741678867 -37455,0.34517906723338254 -37456,0.9320031050585408 -37457,0.0822111289195866 -37458,0.8033308450457993 -37459,0.39557841320123177 -37460,0.15548207137583925 -37461,0.36088826165642807 -37462,0.5044245568023317 -37463,0.8054888206815461 -37464,0.09571084977064603 -37465,0.007508731986120565 -37466,0.37485290797817394 -37467,0.9571906627420054 -37468,0.16857510910790008 -37469,0.1971779906676201 -37470,0.6781416389745408 -37471,0.3632239860312001 -37472,0.5993918192845826 -37473,0.2813987485549694 -37474,0.5552944820889156 -37475,0.28967865591953945 -37476,0.9392876602875171 -37477,0.029514610548210807 -37478,0.5538327665471086 -37479,0.7351444737145677 -37480,0.2374000859560359 -37481,0.11968468171424496 -37482,0.3778517597468465 -37483,0.8149211650462425 -37484,0.773085174114382 -37485,0.5204766821465553 -37486,0.8780737443272094 -37487,0.7165546629754226 -37488,0.5374028096958707 -37489,0.10915210812768139 -37490,0.7222420932421069 -37491,0.9341437184914375 -37492,0.14876124391258594 -37493,0.6750941280957561 -37494,0.31180037145694484 -37495,0.9850126770345029 -37496,0.5244629798607724 -37497,0.11222389672264155 -37498,0.07795706376225087 -37499,0.7834671713537072 -37500,0.5991182692225306 -37501,0.05523080068928388 -37502,0.3368947418031064 -37503,0.15820575329080044 -37504,0.6700152140016589 -37505,0.7244705900421934 -37506,0.7830246806559316 -37507,0.21531637694372907 -37508,0.9639050730830484 -37509,0.9545109719520642 -37510,0.47033466665564005 -37511,0.33493505229360676 -37512,0.17000308143070186 -37513,0.4114637275721358 -37514,0.44432635410141985 -37515,0.6745634324718945 -37516,0.17426981606038094 -37517,0.4057871742139473 -37518,0.6123772779852249 -37519,0.63881526599701 -37520,0.633718019943846 -37521,0.13863114862535764 -37522,0.13267946042237455 -37523,0.20160201525155985 -37524,0.8538576302313822 -37525,0.30643039108481984 -37526,0.17672125157271623 -37527,0.31464290593555266 -37528,0.8026745412971683 -37529,0.6027299188741115 -37530,0.39580595637353466 -37531,0.08802954730402113 -37532,0.45661187056040775 -37533,0.0117182797303087 -37534,0.9766896567665336 -37535,0.10793922154294222 -37536,0.5060604098654605 -37537,0.7402880640781462 -37538,0.9766692794012457 -37539,0.8144656447025506 -37540,0.041413051034333126 -37541,0.504659409529701 -37542,0.8825036729329558 -37543,0.10914138455051636 -37544,0.9902041608166834 -37545,0.4457348683111053 -37546,0.9535621373954616 -37547,0.27750617705269376 -37548,0.21321754214031063 -37549,0.575973424704202 -37550,0.4188849741324464 -37551,0.15671270360677203 -37552,0.5446762042657924 -37553,0.9948463434862977 -37554,0.09976601734833623 -37555,0.9364251748412676 -37556,0.8473642341640776 -37557,0.41982595998504657 -37558,0.7043286626216376 -37559,0.3359554390463936 -37560,0.40534979755809497 -37561,0.2559267161242972 -37562,0.4865628861240616 -37563,0.7995081780780193 -37564,0.7180178523732891 -37565,0.9674653813804547 -37566,0.7331102009470999 -37567,0.20564755259184753 -37568,0.3415515190562963 -37569,0.8801119843273488 -37570,0.6321587906354087 -37571,0.21839933212806328 -37572,0.15773186242960435 -37573,0.978290275909982 -37574,0.4990446799857511 -37575,0.16094083253211655 -37576,0.9572358705567448 -37577,0.3933352198964517 -37578,0.23835221852145538 -37579,0.9921962547869112 -37580,0.9270462773486661 -37581,0.5118735431881294 -37582,0.055187320295358444 -37583,0.11566934403578488 -37584,0.29771727178461904 -37585,0.007196210778840917 -37586,0.7442885737096074 -37587,0.31860636939846787 -37588,0.12657672699941158 -37589,0.4410882054144807 -37590,0.06268069382974717 -37591,0.01157094940991843 -37592,0.8223151310760166 -37593,0.9188263607354 -37594,0.182627436708794 -37595,0.8079143680330932 -37596,0.764897936905632 -37597,0.6777001326747759 -37598,0.4008127886429509 -37599,0.004159673692094468 -37600,0.760593236378161 -37601,0.6993776954546077 -37602,0.3445124138923281 -37603,0.8626780921816474 -37604,0.9554964118543088 -37605,0.9354760212154878 -37606,0.5882769239916501 -37607,0.49496235494327934 -37608,0.23332740903424842 -37609,0.5042313454043958 -37610,0.6792505196530725 -37611,0.6236925365482192 -37612,0.5890021507768244 -37613,0.19649145562307802 -37614,0.46350481990094516 -37615,0.5794904373248156 -37616,0.23680840542776893 -37617,0.5699414291563432 -37618,0.1635542617719109 -37619,0.8964581267399699 -37620,0.19282422099712193 -37621,0.6009459866675703 -37622,0.8379884117097688 -37623,0.2973652980238749 -37624,0.15023802467524683 -37625,0.39865779947492996 -37626,0.4394939620595164 -37627,0.8371908507467306 -37628,0.9699004175080616 -37629,0.21819618681703234 -37630,0.7841900844460447 -37631,0.5716088505970919 -37632,0.7176698348876893 -37633,0.06587166816319812 -37634,0.29764365398018444 -37635,0.650543631185673 -37636,0.7345402978135661 -37637,0.15157867541785153 -37638,0.639393936923234 -37639,0.37319483448648993 -37640,0.9760798426313774 -37641,0.05315159174027573 -37642,0.8992261059785505 -37643,0.3033808052570175 -37644,0.9653621519538168 -37645,0.8132222769362148 -37646,0.014580765944421148 -37647,0.36047930425914365 -37648,0.37791176234753043 -37649,0.49103909261150225 -37650,0.3358552930160822 -37651,0.6446794238270287 -37652,0.044383640651313394 -37653,0.5312327085416152 -37654,0.258254396104055 -37655,0.9617989811781859 -37656,0.6513440833728059 -37657,0.4146180821080855 -37658,0.5923480251189134 -37659,0.22005241782220009 -37660,0.5293925874737407 -37661,0.3874751359695334 -37662,0.8558742087825435 -37663,0.05502071780784479 -37664,0.9524850365227906 -37665,0.18865849585063355 -37666,0.5040963478212231 -37667,0.9216560036549923 -37668,0.6372129231714556 -37669,0.01207619392978676 -37670,0.9580293858059757 -37671,0.8962414122530948 -37672,0.26290748108123163 -37673,0.15333345000295373 -37674,0.33815222448982996 -37675,0.8015531044239044 -37676,0.6076834815228009 -37677,0.6142420579021458 -37678,0.6619064652715981 -37679,0.032831412235933666 -37680,0.7194503503725374 -37681,0.4027264018417095 -37682,0.20505751381730342 -37683,0.5830726553558987 -37684,0.5569265433202324 -37685,0.42111247588798395 -37686,0.5172800290281654 -37687,0.27393074022516106 -37688,0.7807255797348891 -37689,0.715744185831753 -37690,0.7056138208840057 -37691,0.26956842820127624 -37692,0.6692467854659672 -37693,0.5318184645614087 -37694,0.1300334641024069 -37695,0.21842194647267088 -37696,0.9832229173981781 -37697,0.39410228973629924 -37698,0.12799558237709852 -37699,0.871998950638294 -37700,0.14131044802576853 -37701,0.32375955134789436 -37702,0.7062797038723838 -37703,0.6624012653474913 -37704,0.5001803786244083 -37705,0.6676477245977602 -37706,0.4750133115788201 -37707,0.16828152409708141 -37708,0.4087919829047094 -37709,0.12420878859435724 -37710,0.8365598206447896 -37711,0.1097837797411807 -37712,0.4187699110213503 -37713,0.3409685044946126 -37714,0.8348003074563245 -37715,0.2258163264965377 -37716,0.18950488135309618 -37717,0.4745082066626678 -37718,0.5093653847455517 -37719,0.7916983494448053 -37720,0.4278803920574066 -37721,0.6385709986830647 -37722,0.3796037930920543 -37723,0.631513195763831 -37724,0.1889948967556595 -37725,0.8176359139275228 -37726,0.79043215604981 -37727,0.34297836933077175 -37728,0.3125673288283095 -37729,0.41331769598520696 -37730,0.4994509726469115 -37731,0.4714685872150778 -37732,0.00021279537434815143 -37733,0.7954938324076781 -37734,0.5595622728815991 -37735,0.5158279542778883 -37736,0.8132912420342054 -37737,0.010553215556413198 -37738,0.1936878954725263 -37739,0.6307869256035997 -37740,0.2422167988069852 -37741,0.524006858041028 -37742,0.10880564271915727 -37743,0.20080897158816013 -37744,0.6508179789284787 -37745,0.8434142282438246 -37746,0.24723125499727916 -37747,0.6134999011666149 -37748,0.5859956808806438 -37749,0.005854082446604791 -37750,0.5846646969839481 -37751,0.1354576560584304 -37752,0.12056378195564743 -37753,0.4562261802640012 -37754,0.47270503335462666 -37755,0.3665348692524537 -37756,0.5780440484762103 -37757,7.984875532474067e-05 -37758,0.14065831369100112 -37759,0.9143566170848734 -37760,0.525794109409042 -37761,0.758628043243456 -37762,0.7516814460694179 -37763,0.3555476841301114 -37764,0.30777354771236365 -37765,0.5790834613217863 -37766,0.32289480458045117 -37767,0.5246670286891224 -37768,0.6496274825396189 -37769,0.7527297177564374 -37770,0.37410898238537016 -37771,0.6037983732776716 -37772,0.26997912773089916 -37773,0.19387460196651485 -37774,0.937306638712487 -37775,0.40470040141630026 -37776,0.981755302064848 -37777,0.5609303611817537 -37778,0.04452718707506631 -37779,0.07732542700566947 -37780,0.22018793846243134 -37781,0.538361955556217 -37782,0.3496853636426712 -37783,0.595260592972458 -37784,0.1647272741882384 -37785,0.24679021923045885 -37786,0.2043095167370822 -37787,0.5621450581394095 -37788,0.35331729994176475 -37789,0.2404153667636102 -37790,0.17442048135355304 -37791,0.13590282395749564 -37792,0.6986518444628671 -37793,0.3901001213371642 -37794,0.20233789661509305 -37795,0.30868703200013214 -37796,0.5937417082840186 -37797,0.08011749652539124 -37798,0.5362118011857453 -37799,0.44056290318969715 -37800,0.6216218421757008 -37801,0.39658052366988505 -37802,0.10182186824780837 -37803,0.8464155545224973 -37804,0.6573767193635058 -37805,0.8962104250900259 -37806,0.34616123521264974 -37807,0.8570029760877709 -37808,0.4869699534378533 -37809,0.9089846243622085 -37810,0.19974921539050727 -37811,0.791654487924316 -37812,0.07821952950288114 -37813,0.10474541266882786 -37814,0.807512446805406 -37815,0.7092532761391643 -37816,0.9267967253093783 -37817,0.5364148854032231 -37818,0.9700164066955124 -37819,0.4495982864240543 -37820,0.31951330325404004 -37821,0.5471678739984996 -37822,0.6498383896828508 -37823,0.41100031673018766 -37824,0.41232861036830704 -37825,0.9170364185040113 -37826,0.9793473849798479 -37827,0.41930234407725997 -37828,0.954119280313416 -37829,0.017686861222816708 -37830,0.9393244056189703 -37831,0.11888396087412689 -37832,0.3923959999233495 -37833,0.36976209624236855 -37834,0.4447615181748512 -37835,0.7785439357082836 -37836,0.8490196873131791 -37837,0.18771154704103288 -37838,0.11563486899092712 -37839,0.3770532526096234 -37840,0.7488405822362185 -37841,0.27273493158531315 -37842,0.39177307305691755 -37843,0.22914177766147603 -37844,0.020588495887273406 -37845,0.21406496773574646 -37846,0.7903046250878419 -37847,0.2935409982104331 -37848,0.9440738249924233 -37849,0.3520503898670585 -37850,0.6866148284179896 -37851,0.45846800638583607 -37852,0.053813341714695984 -37853,0.7106861538742084 -37854,0.16986197521771174 -37855,0.9094930387628056 -37856,0.4703707316414406 -37857,0.1965979507305402 -37858,0.7468341599060923 -37859,0.9789295228724207 -37860,0.10911700800531654 -37861,0.026638776321039392 -37862,0.9740123572801646 -37863,0.4816405884154844 -37864,0.4602824145110336 -37865,0.4394128840079603 -37866,0.5632286881248983 -37867,0.7409720571057792 -37868,0.7111220530220081 -37869,0.6446452804715986 -37870,0.5736695643900006 -37871,0.9587202605036163 -37872,0.9562523075279445 -37873,0.47364770677661017 -37874,0.818777832232413 -37875,0.6450115584818221 -37876,0.13863069154976915 -37877,0.5357732085827343 -37878,0.8300317949580983 -37879,0.23851220309472643 -37880,0.16600360712903506 -37881,0.2949848660598192 -37882,0.8833979008850393 -37883,0.12349726125963256 -37884,0.1796194423611417 -37885,0.3677839803281452 -37886,0.32024740733729273 -37887,0.09484653020061673 -37888,0.7343146543001473 -37889,0.7072113684486424 -37890,0.969552353632727 -37891,0.2988211892542978 -37892,0.21617540648098266 -37893,0.735853032601354 -37894,0.9107157204522702 -37895,0.232678447186916 -37896,0.558575212595526 -37897,0.13106803392280586 -37898,0.13550513548623055 -37899,0.5770181363891791 -37900,0.40224002979870066 -37901,0.49991049655742315 -37902,0.17363689380964287 -37903,0.3446674065775772 -37904,0.5645073035529399 -37905,0.24628809508581728 -37906,0.6037073903551328 -37907,0.6829001774815382 -37908,0.9714248296204233 -37909,0.21671634944775742 -37910,0.25769600203348364 -37911,0.6603779579289266 -37912,0.8693779710186409 -37913,0.6439416989249137 -37914,0.21450661880541755 -37915,0.9963577866693988 -37916,0.18786316017141946 -37917,0.8777107535634351 -37918,0.8465187552109774 -37919,0.8144296835368345 -37920,0.3637694273748133 -37921,0.27939003970730447 -37922,0.744962683197088 -37923,0.46082738562463466 -37924,0.9583158907002894 -37925,0.03424083423210866 -37926,0.1811312011682954 -37927,0.24582710734949975 -37928,0.6394688920781519 -37929,0.1375830487451437 -37930,0.8091474654886958 -37931,0.5918899061643021 -37932,0.6049074063548878 -37933,0.6375766307768339 -37934,0.6332305374067956 -37935,0.3325232692078548 -37936,0.6278436933094902 -37937,0.849217206194156 -37938,0.7954383561077736 -37939,0.7919111764539136 -37940,0.9692181145675152 -37941,0.06601259274631444 -37942,0.9599160441180127 -37943,0.06900409843318855 -37944,0.2599388418860771 -37945,0.9588831331787134 -37946,0.9648582147661353 -37947,0.35967000347415246 -37948,0.15742568402176738 -37949,0.07837652935020545 -37950,0.7972655622074482 -37951,0.9348388159531984 -37952,0.9278488350820419 -37953,0.018310975801164586 -37954,0.006015838808582696 -37955,0.30891559542394986 -37956,0.6110941168534344 -37957,0.8549179916138301 -37958,0.4591692006280388 -37959,0.011239748620189949 -37960,0.709997465439341 -37961,0.6071801351747492 -37962,0.1964668810618243 -37963,0.9795928051619398 -37964,0.653298005296558 -37965,0.0757530007826186 -37966,0.707621196417868 -37967,0.6656322745429025 -37968,0.8846105508400999 -37969,0.6107407556888236 -37970,0.3386595282167634 -37971,0.19593578101710574 -37972,0.7329864122618964 -37973,0.15152964980753525 -37974,0.708388631508834 -37975,0.4292794531149081 -37976,0.07717759616977804 -37977,0.7684218791913898 -37978,0.10164267229721013 -37979,0.6569381418436057 -37980,0.45686280431189574 -37981,0.36295165941700047 -37982,0.7213173907030453 -37983,0.8833869570830437 -37984,0.028499632434007993 -37985,0.238864654684096 -37986,0.7794207151769692 -37987,0.9147762458593874 -37988,0.04048426542705885 -37989,0.8133192353057662 -37990,0.1411794023741605 -37991,0.1757003508442253 -37992,0.4978281143215093 -37993,0.01907308554312581 -37994,0.12266099079839254 -37995,0.12052164822948974 -37996,0.0662902965255755 -37997,0.5051886470517041 -37998,0.7314931878648865 -37999,0.48925834473406016 -38000,0.30727433470927523 -38001,0.00417114344335201 -38002,0.12892169013979915 -38003,0.4593895488773342 -38004,0.6218047440633582 -38005,0.9417115662868007 -38006,0.8221583072467965 -38007,0.28312569879927363 -38008,0.8743275703480042 -38009,0.3616136952014548 -38010,0.6279266812783384 -38011,0.26820341708627893 -38012,0.9944288104869654 -38013,0.9462408858130998 -38014,0.47240039515408017 -38015,0.47057627885199993 -38016,0.9229223923634077 -38017,0.09518226868207735 -38018,0.20952204229208582 -38019,0.33152495495397627 -38020,0.6916359946680204 -38021,0.4813157645424556 -38022,0.19026626130854285 -38023,0.8736042324596224 -38024,0.5946759254872903 -38025,0.24694970857227638 -38026,0.6521131467139131 -38027,0.6865427681091998 -38028,0.6868290219724557 -38029,0.8808027452447791 -38030,0.932805910197112 -38031,0.22768138727195497 -38032,0.4827109923823628 -38033,0.49719633750849657 -38034,0.4693396867567282 -38035,0.6282982292008097 -38036,0.41547422275952517 -38037,0.9429314130236055 -38038,0.36834082065865126 -38039,0.9338642233548374 -38040,0.9624115111160992 -38041,0.07440759118976392 -38042,0.22586216869622833 -38043,0.32836030112578485 -38044,0.12289153597079916 -38045,0.19110400100666314 -38046,0.19353494045909891 -38047,0.8215355076683404 -38048,0.4388411773908625 -38049,0.7420317380433562 -38050,0.9922399939219969 -38051,0.5746812443939938 -38052,0.03381169878007673 -38053,0.23804194326268358 -38054,0.18465317882390042 -38055,0.0813784047830719 -38056,0.6071047647254821 -38057,0.22286188392028605 -38058,0.34496655150532674 -38059,0.9413213724932059 -38060,0.9224029438442978 -38061,0.04589818610403906 -38062,0.8748696543111519 -38063,0.07816535693481108 -38064,0.7515384129842467 -38065,0.5739123698973652 -38066,0.6413959454581462 -38067,0.0254096779320222 -38068,0.30342632007239845 -38069,0.3521577865565394 -38070,0.5431995342581439 -38071,0.10876318242585992 -38072,0.4750519566707505 -38073,0.5621419941248671 -38074,0.8139245242783386 -38075,0.7356885219131106 -38076,0.5132617336682551 -38077,0.9112531498896442 -38078,0.2522055431138065 -38079,0.9901532752236071 -38080,0.09145844538031478 -38081,0.9236438199113723 -38082,0.23589046506814648 -38083,0.27214101486577413 -38084,0.5149007851825735 -38085,0.5355675144603179 -38086,0.8574007549081015 -38087,0.14255492204857478 -38088,0.72042717360191 -38089,0.3213493214147931 -38090,0.8739770644053592 -38091,0.0714821439865676 -38092,0.28036501352437815 -38093,0.2300583285386063 -38094,0.5574161418715774 -38095,0.055172533899648046 -38096,0.7326825117562719 -38097,0.6588281766067604 -38098,0.730792923251514 -38099,0.6254266033980281 -38100,0.013656181230819575 -38101,0.5352227620146387 -38102,0.6024766555596781 -38103,0.7164257522350954 -38104,0.4427980402652054 -38105,0.3990972534621092 -38106,0.31625799462541493 -38107,0.4320876545861676 -38108,0.8202734748518359 -38109,0.8293656980773189 -38110,0.48263269304693623 -38111,0.9105184321718527 -38112,0.20982380531015565 -38113,0.3321196538277542 -38114,0.8410565796527971 -38115,0.3176305638070974 -38116,0.368253203562826 -38117,0.5880515616096074 -38118,0.2817669931214011 -38119,0.07953819967773024 -38120,0.891481727884758 -38121,0.687051579170881 -38122,0.7599131425891343 -38123,0.1465955863202696 -38124,0.8592142501601715 -38125,0.0028280523926963452 -38126,0.5905562517691385 -38127,0.427505426984786 -38128,0.9514533986890154 -38129,0.194952777117689 -38130,0.04174352884431087 -38131,0.1714271787070334 -38132,0.1304475851492758 -38133,0.9691906011411127 -38134,0.9950885602573173 -38135,0.9299549133260515 -38136,0.5816790927657624 -38137,0.359368501874342 -38138,0.37799371148240746 -38139,0.9690617621754926 -38140,0.7416490952400071 -38141,0.5688809324639079 -38142,0.45207199643642737 -38143,0.6726705179170195 -38144,0.2647835148059854 -38145,0.03374280616131253 -38146,0.1885273938479335 -38147,0.5899972020764439 -38148,0.918902928385674 -38149,0.35308084909778825 -38150,0.6779209208368793 -38151,0.2807023186086318 -38152,0.6193664357764253 -38153,0.8664095618973706 -38154,0.9767677000264361 -38155,0.12341983529217737 -38156,0.5019141003206533 -38157,0.07238686283302143 -38158,0.8534949802660678 -38159,0.7590123550312363 -38160,0.8335125735059493 -38161,0.6858611791668862 -38162,0.14800666506624705 -38163,0.6477435047877743 -38164,0.8448961552439531 -38165,0.17220788776315077 -38166,0.5946123788723626 -38167,0.28475700406827675 -38168,0.9667089725846639 -38169,0.798770177662068 -38170,0.9891484107351705 -38171,0.5363260140478197 -38172,0.1709407312347193 -38173,0.7340072291206647 -38174,0.15031912619081989 -38175,0.6222769335758814 -38176,0.6039011213674909 -38177,0.8908052148554688 -38178,0.8958873987544044 -38179,0.00679144966422629 -38180,0.2730125601986678 -38181,0.773353686896632 -38182,0.4533006175140386 -38183,0.5459389434454941 -38184,0.4764956767016898 -38185,0.4907965652378463 -38186,0.8302157345963752 -38187,0.3391203469003171 -38188,0.6541686542232283 -38189,0.994206231934534 -38190,0.9696884771173172 -38191,0.8106106533244787 -38192,0.16716468466557666 -38193,0.68465750647152 -38194,0.2051899329226653 -38195,0.34902421506252324 -38196,0.9206172560316851 -38197,0.5924381036130362 -38198,0.6826438500322712 -38199,0.6020237614741136 -38200,0.8197475370002073 -38201,0.6988391644047014 -38202,0.17618460181871842 -38203,0.6207907641186956 -38204,0.3812366291774749 -38205,0.5499242678046833 -38206,0.23259408574113105 -38207,0.36380331894769347 -38208,0.5479618232447765 -38209,0.04470180907183352 -38210,0.7653687030666396 -38211,0.9670435257699317 -38212,0.1403067257790248 -38213,0.682406001162838 -38214,0.4055733518435046 -38215,0.3325685653293058 -38216,0.49457680769494106 -38217,0.4703543741947843 -38218,0.9988213583417647 -38219,0.37043693317482596 -38220,0.02482343491962935 -38221,0.6713582469490134 -38222,0.954744156706343 -38223,0.43793393978062256 -38224,0.8228226859020681 -38225,0.6907433748984815 -38226,0.46168639664715794 -38227,0.6600862441727533 -38228,0.48675171474555956 -38229,0.6455445464395733 -38230,0.6884968454709515 -38231,0.7894174224209887 -38232,0.5328189104232544 -38233,0.26079708587577854 -38234,0.024076483629826617 -38235,0.3150595767734662 -38236,0.7176065794286474 -38237,0.5422915780230939 -38238,0.4828488196521429 -38239,0.2064454344214005 -38240,0.10667161458164587 -38241,0.09085469098598453 -38242,0.774347171854978 -38243,0.5245227457695468 -38244,0.7191407030838112 -38245,0.8785190395766607 -38246,0.6884447921311726 -38247,0.23704176503005403 -38248,0.12259454691930838 -38249,0.7613686764959259 -38250,0.52196973909426 -38251,0.26450471717568347 -38252,0.656354074179833 -38253,0.8453752677640276 -38254,0.4230667981106334 -38255,0.8053258111065946 -38256,0.6312013650908065 -38257,0.7979862055695144 -38258,0.6868918446907827 -38259,0.6066419641157375 -38260,0.28099411808581964 -38261,0.5918359499743673 -38262,0.5450608944441953 -38263,0.42940318913244324 -38264,0.08595768546501314 -38265,0.0036580645352587426 -38266,0.9090181940122761 -38267,0.04901123970138255 -38268,0.48180594783050623 -38269,0.1228436301496253 -38270,0.19490315462817054 -38271,0.20701472880025207 -38272,0.1826335084211579 -38273,0.15652370509057134 -38274,0.40544057716440374 -38275,0.026792273168491088 -38276,0.0502708391556016 -38277,0.032316967141780006 -38278,0.8538758337291179 -38279,0.20481383805096165 -38280,0.39647795039080735 -38281,0.5827713457064517 -38282,0.616188196103699 -38283,0.4371762350404874 -38284,0.017579771747007533 -38285,0.8134561552244046 -38286,0.3658285688880891 -38287,0.6743130786352453 -38288,0.02146225415948344 -38289,0.5434487056160512 -38290,0.8086392031792738 -38291,0.15784430462354726 -38292,0.4399500335792461 -38293,0.2783241237649119 -38294,0.023824832550049413 -38295,0.5435524563265293 -38296,0.6794666271443218 -38297,0.3988478451834119 -38298,0.7875239935417974 -38299,0.3311815314170704 -38300,0.08983015858082333 -38301,0.22200960921114632 -38302,0.6069215854658383 -38303,0.6206815347089397 -38304,0.5732483550249085 -38305,0.2638087868775497 -38306,0.35000003277229397 -38307,0.974534581498046 -38308,0.2961010418220005 -38309,0.3014298223181102 -38310,0.904917232276779 -38311,0.02671585035472701 -38312,0.8437493070190671 -38313,0.11671774516513633 -38314,0.10025665109169835 -38315,0.7788634338129916 -38316,0.003473661205249834 -38317,0.16185241254462568 -38318,0.042190561129913595 -38319,0.5495097917554645 -38320,0.3160805758024391 -38321,0.029613301399345704 -38322,0.19190332659234577 -38323,0.31347431065082343 -38324,0.11817858781885726 -38325,0.8920631570009334 -38326,0.3242304656107212 -38327,0.5725309470021339 -38328,0.6539138831202231 -38329,0.8816624309302317 -38330,0.49078464361120255 -38331,0.12490977838664141 -38332,0.1142264870349875 -38333,0.6060338452248579 -38334,0.5429498864800855 -38335,0.7668123696796182 -38336,0.2539039513288629 -38337,0.11376957099250684 -38338,0.18556695540765356 -38339,0.07137096567298329 -38340,0.4510387658710965 -38341,0.2179295237322486 -38342,0.06161986917783879 -38343,0.9615526618633701 -38344,0.8967629129483347 -38345,0.4238220951015157 -38346,0.5743726704216691 -38347,0.44500584024154743 -38348,0.6467694800247712 -38349,0.950242575495051 -38350,0.043751416713160074 -38351,0.5767195026746312 -38352,0.15353867228037532 -38353,0.8476816483585254 -38354,0.379157123851541 -38355,0.0962469127670923 -38356,0.7381488934396951 -38357,0.25813595785872845 -38358,0.6661394674688049 -38359,0.04431834176290206 -38360,0.06370079008335627 -38361,0.5917306957105324 -38362,0.6482780899759233 -38363,0.7926006028201429 -38364,0.7807909668145506 -38365,0.7258709164761776 -38366,0.8952772688524875 -38367,0.8871794553177609 -38368,0.8990371750003181 -38369,0.5988906481755415 -38370,0.48382631726664527 -38371,0.5817469495864838 -38372,0.8618788115328933 -38373,0.9045067818361415 -38374,0.6361669065416657 -38375,0.2400714823924378 -38376,0.6315709430896241 -38377,0.8257167443778631 -38378,0.9263561885016779 -38379,0.8979447340469043 -38380,0.646244780029391 -38381,0.5627430925104995 -38382,0.5615970349708487 -38383,0.9826047201848057 -38384,0.6185996652036966 -38385,0.7720134703228981 -38386,0.34468907185363473 -38387,0.1977691222487712 -38388,0.3413208154131395 -38389,0.4359102226955913 -38390,0.8875500216165189 -38391,0.7380396607166128 -38392,0.8310937201638015 -38393,0.9444952406441683 -38394,0.3880801725125963 -38395,0.8137626523592036 -38396,0.60467677414224 -38397,0.5976913785216476 -38398,0.10917740684611099 -38399,0.006061664258141697 -38400,0.1813812350258378 -38401,0.6257510705569119 -38402,0.9360457650664454 -38403,0.1793239989091796 -38404,0.5797061119410658 -38405,0.5228204692141588 -38406,0.46929855025235456 -38407,0.27870328095879815 -38408,0.8073983741183208 -38409,0.6169173532963358 -38410,0.3235890193457963 -38411,0.7685694169009266 -38412,0.9386189616161639 -38413,0.9322380723030815 -38414,0.4543366711615867 -38415,0.3906873593366166 -38416,0.9040525552689834 -38417,0.037818854100041155 -38418,0.7078042538578947 -38419,0.5033861535238714 -38420,0.34124652236770103 -38421,0.7944095700998187 -38422,0.22855528818838022 -38423,0.35956249001539864 -38424,0.39529616902179177 -38425,0.9884773642775829 -38426,0.36903753272545425 -38427,0.6615341458281542 -38428,0.9145969192670991 -38429,0.955175323838163 -38430,0.5129701354750994 -38431,0.23136847404828942 -38432,0.03994570352852622 -38433,0.05462086393750287 -38434,0.7626712017274551 -38435,0.27227583453924264 -38436,0.8303044893285093 -38437,0.4616053658165029 -38438,0.5260672147379077 -38439,0.7241624370847746 -38440,0.008466086635459003 -38441,0.7902984545944354 -38442,0.9171054114316245 -38443,0.6481795154285367 -38444,0.5449262767611582 -38445,0.6066393503901987 -38446,0.5892384397444986 -38447,0.5884163573670935 -38448,0.7891694753792806 -38449,0.5759871371800392 -38450,0.18849555330451606 -38451,0.2227351342740055 -38452,0.8144014917139364 -38453,0.6934212167635192 -38454,0.36307623303381686 -38455,0.39493239072148545 -38456,0.36213974776807767 -38457,0.8899801792591587 -38458,0.025040563960130546 -38459,0.09623659127300799 -38460,0.4436182895204185 -38461,0.4527270707756491 -38462,0.5461255379487886 -38463,0.2017627015809843 -38464,0.5772044862342122 -38465,0.41901285792164145 -38466,0.9645488255909517 -38467,0.12462261653494633 -38468,0.9297448012639933 -38469,0.6394321797401666 -38470,0.26926871309518463 -38471,0.997610496129456 -38472,0.4739471604074462 -38473,0.995892460032826 -38474,0.05058348635274845 -38475,0.3571043650037713 -38476,0.2753681002766063 -38477,0.1372368723412366 -38478,0.7357869939337212 -38479,0.45723155208416777 -38480,0.6791589946260224 -38481,0.3015475366183288 -38482,0.8130073795140546 -38483,0.6918204071481358 -38484,0.5387175393372955 -38485,0.17639024707419237 -38486,0.5574815898374472 -38487,0.35802705637002263 -38488,0.8427598457971696 -38489,0.0435694422329187 -38490,0.4930850534968956 -38491,0.609526871955356 -38492,0.2163038603963674 -38493,0.7278284781941655 -38494,0.19046352669297384 -38495,0.650733843865953 -38496,0.23394121617043628 -38497,0.7298662304810408 -38498,0.41483561401642144 -38499,0.932882666187096 -38500,0.4876882586747213 -38501,0.18342988397642634 -38502,0.056930836578026556 -38503,0.5051419204886479 -38504,0.939789987190382 -38505,0.9814806972988457 -38506,0.44635821051501734 -38507,0.9325271932596249 -38508,0.7064760054531861 -38509,0.12096516588486417 -38510,0.7412496904970959 -38511,0.3692331934262525 -38512,0.896596788463232 -38513,0.2270405689397198 -38514,0.16395661139020634 -38515,0.7105863916453241 -38516,0.22119884196987805 -38517,0.8755997763316378 -38518,0.8723167658940927 -38519,0.4099340126391229 -38520,0.38362147998358176 -38521,0.2589321404295728 -38522,0.28281013386164133 -38523,0.4417259916817967 -38524,0.4934185838172255 -38525,0.9781061721960629 -38526,0.7362581097577245 -38527,0.6254473309879652 -38528,0.03137876355533664 -38529,0.6052372880689428 -38530,0.1195291944616993 -38531,0.1512963437088104 -38532,0.34719527641791914 -38533,0.48473497150856737 -38534,0.38081513979177783 -38535,0.2722879532662458 -38536,0.7585243152553633 -38537,0.9702996602896938 -38538,0.4978043680527128 -38539,0.6460495124112512 -38540,0.30507846834244856 -38541,0.5278139613030516 -38542,0.5645909014589102 -38543,0.8193541557667664 -38544,0.8737426100874827 -38545,0.009371153434754698 -38546,0.7410355284080657 -38547,0.14193160474547128 -38548,0.501835291564802 -38549,0.5318084654775455 -38550,0.9320037415622111 -38551,0.7894949446310839 -38552,0.630496306905448 -38553,0.22840958373219344 -38554,0.3038148130393129 -38555,0.947272121084857 -38556,0.3342249747518964 -38557,0.5979867082722335 -38558,0.4518296966588645 -38559,0.34220726807316826 -38560,0.3688040474115918 -38561,0.8749486646452397 -38562,0.5576166338948539 -38563,0.8060156869143361 -38564,0.14053486183726938 -38565,0.11513254568929221 -38566,0.05710321392121587 -38567,0.12418118417700941 -38568,0.266905226132242 -38569,0.19933264310650944 -38570,0.09946384769834282 -38571,0.9159622405053661 -38572,0.49195982642042835 -38573,0.4439779868743544 -38574,0.7292199401583698 -38575,0.18452644762339288 -38576,0.4965699862143039 -38577,0.7913312957211923 -38578,0.9054525310729183 -38579,0.804027622370382 -38580,0.45541279160037174 -38581,0.3336051939295751 -38582,0.6015992644467038 -38583,0.8105860051589969 -38584,0.9854667135157781 -38585,0.7759735974012377 -38586,0.7895887367165986 -38587,0.042682921028600496 -38588,0.2590658796357176 -38589,0.9425871063994075 -38590,0.17072689727318213 -38591,0.20000657591437976 -38592,0.15756178678841348 -38593,0.7558234962672871 -38594,0.6064035018292946 -38595,0.18323700304206747 -38596,0.5963639424252549 -38597,0.5930949434885244 -38598,0.2202213853762851 -38599,0.8417644998060145 -38600,0.21097553623575627 -38601,0.8905541063231854 -38602,0.09719097193635684 -38603,0.496795015939113 -38604,0.16059619862607644 -38605,0.0665324157927818 -38606,0.7206363109173738 -38607,0.6212461117782446 -38608,0.5474688954591 -38609,0.20686163991015305 -38610,0.5398726142795802 -38611,0.8079616931515752 -38612,0.7604918291326725 -38613,0.5586722144048935 -38614,0.5663099172041436 -38615,0.6773004977398394 -38616,0.8888636196093045 -38617,0.6350867294803593 -38618,0.5822563788579358 -38619,0.7809572653570221 -38620,0.9300751256029749 -38621,0.9009183198573785 -38622,0.9838776598880999 -38623,0.03668218554866831 -38624,0.3535871689681368 -38625,0.773885949131912 -38626,0.40745086228505223 -38627,0.03826750631460196 -38628,0.8562877017294181 -38629,0.9332818909882586 -38630,0.16720230156480087 -38631,0.400972115495806 -38632,0.6942620836212428 -38633,0.19014482400214083 -38634,0.7107516510440628 -38635,0.11580265097036868 -38636,0.09845530329430918 -38637,0.9969567977720856 -38638,0.023757851598685042 -38639,0.23995720323247338 -38640,0.48593334839022906 -38641,0.6646655788415181 -38642,0.320913823080061 -38643,0.03913194743611459 -38644,0.10623270893031789 -38645,0.3287863317008085 -38646,0.779721661833741 -38647,0.48685507526525573 -38648,0.1976670384031135 -38649,0.4306207045787612 -38650,0.34191569037478375 -38651,0.7682000418160148 -38652,0.961563524298967 -38653,0.2658955674484409 -38654,0.1418904120380896 -38655,0.17951603635560287 -38656,0.8783380076760652 -38657,0.63779697707006 -38658,0.39891325202604255 -38659,0.31382537884496997 -38660,0.18468605934015248 -38661,0.678937101151867 -38662,0.5511025673564623 -38663,0.8304138151687742 -38664,0.4769176325972255 -38665,0.3396377388636266 -38666,0.3920420027588264 -38667,0.2514724084293679 -38668,0.18661181721185915 -38669,0.3238624880615857 -38670,0.2448839398159206 -38671,0.6107741266706631 -38672,0.24195771827530943 -38673,0.4710845914527435 -38674,0.05061440970816511 -38675,0.7881770933084568 -38676,0.47409628941406734 -38677,0.31208621211497745 -38678,0.012549552055149626 -38679,0.5690975168203531 -38680,0.6404312281559081 -38681,0.30020780417928705 -38682,0.49753716457584163 -38683,0.9461699071328886 -38684,0.09372710293578757 -38685,0.027017380887323306 -38686,0.5337023743718268 -38687,0.9865063547623141 -38688,0.04425848873177474 -38689,0.7700820740293405 -38690,0.7764293111959027 -38691,0.32723624897959 -38692,0.23354578683789717 -38693,0.022058204729421216 -38694,0.042692387981283386 -38695,0.037486186444038005 -38696,0.9511434367023632 -38697,0.7206913757443001 -38698,0.0029427502341548006 -38699,0.5644984134500972 -38700,0.194222506698278 -38701,0.34180786606760694 -38702,0.8913220596150567 -38703,0.2204548836695156 -38704,0.43929444312159605 -38705,0.3535841552188136 -38706,0.6746188139109593 -38707,0.5748310723307983 -38708,0.47690343763451504 -38709,0.09291917107724579 -38710,0.8123762703594629 -38711,0.6437192376679984 -38712,0.126378101312137 -38713,0.36844418550526514 -38714,0.2707950088257103 -38715,0.3478424364751348 -38716,0.20726487086389966 -38717,0.5534686515655358 -38718,0.30388146455517195 -38719,0.3316484275375232 -38720,0.3667141386841699 -38721,0.8997962217304496 -38722,0.45175098750716614 -38723,0.897892183487778 -38724,0.8525285946263865 -38725,0.9964751796287897 -38726,0.4787479648181754 -38727,0.6704157625909963 -38728,0.9016744706735621 -38729,0.9468761437550997 -38730,0.4663102654174216 -38731,0.6656239842229157 -38732,0.251330862922472 -38733,0.050388209124271 -38734,0.7262860533666546 -38735,0.43594228636567844 -38736,0.7307518389604968 -38737,0.8801320375093294 -38738,0.29985234870357924 -38739,0.4600720016720914 -38740,0.5268637044572951 -38741,0.33849992954620567 -38742,0.6008357939679045 -38743,0.6899652318585682 -38744,0.2978634175415569 -38745,0.05552189944311292 -38746,0.09475669732136649 -38747,0.5715852407489038 -38748,0.22104896689719078 -38749,0.1352509606974358 -38750,0.07535327192504482 -38751,0.21318791558154926 -38752,0.24109731764473386 -38753,0.3262427406882441 -38754,0.3513614982859756 -38755,0.11227317952975835 -38756,0.8216844786216401 -38757,0.7980082144526206 -38758,0.5354701527113341 -38759,0.3438030792264585 -38760,0.9778329580729508 -38761,0.6446782545318885 -38762,0.17177879921565387 -38763,0.38696909644750566 -38764,0.9097757724525412 -38765,0.29605314785735504 -38766,0.4445908309070531 -38767,0.8815126696472374 -38768,0.18179671538161413 -38769,0.6531340618353254 -38770,0.17272974219442172 -38771,0.7367186214941038 -38772,0.989162260827958 -38773,0.07999250256147894 -38774,0.39972555027880596 -38775,0.6454068421717428 -38776,0.5387588379049303 -38777,0.6912580570745963 -38778,0.2883705977448794 -38779,0.9955166564784846 -38780,0.04778156932511757 -38781,0.20827756442388 -38782,0.9454236324537052 -38783,0.47502552807479526 -38784,0.633573481865319 -38785,0.6424492805975888 -38786,0.29769993921446714 -38787,0.43263598501891265 -38788,0.22756898371036993 -38789,0.22993725312017432 -38790,0.28347038298172234 -38791,0.758311969580306 -38792,0.20128003183915555 -38793,0.5047319371864136 -38794,0.5422114437911675 -38795,0.8036570856501236 -38796,0.3787700515991016 -38797,0.7203157632789258 -38798,0.7317154326417373 -38799,0.6505191675287292 -38800,0.06671024452415752 -38801,0.33753464095221475 -38802,0.12562544837383083 -38803,0.9301240660871132 -38804,0.36080379843998 -38805,0.12727348650617198 -38806,0.8384702430586362 -38807,0.34055379153344845 -38808,0.38328704640996425 -38809,0.3448846046674473 -38810,0.015038333819958893 -38811,0.11948568426779205 -38812,0.8859891868095251 -38813,0.573967225092873 -38814,0.6867393386670909 -38815,0.5244417942980255 -38816,0.08867478832940501 -38817,0.24863545386372154 -38818,0.20288976148641003 -38819,0.9687384504440489 -38820,0.04897716401757257 -38821,0.16994500228013465 -38822,0.7059618359542894 -38823,0.8012885938818157 -38824,0.7890567672950175 -38825,0.06760641168335035 -38826,0.28006853555451994 -38827,0.23890396467174402 -38828,0.7345839190723721 -38829,0.3582855598790404 -38830,0.41654902621703993 -38831,0.94248831549037 -38832,0.23673878311509278 -38833,0.7229273762855877 -38834,0.33904074496905445 -38835,0.9316128036250465 -38836,0.47197982070669897 -38837,0.36340081170145444 -38838,0.9044314237456224 -38839,0.6040455003560679 -38840,0.7096427275828305 -38841,0.07298650852024857 -38842,0.41127798028310847 -38843,0.018186406032772107 -38844,0.36860941464891106 -38845,0.7262154375382331 -38846,0.7641071680605728 -38847,0.45721027627547495 -38848,0.8427351819839229 -38849,0.2258163636674454 -38850,0.5860959030620779 -38851,0.1020325325253938 -38852,0.8390262867678381 -38853,0.7831080681872156 -38854,0.15414653840536652 -38855,0.7648851967917207 -38856,0.4347314817209672 -38857,0.46977994459809236 -38858,0.7555742150280602 -38859,0.6033204026304592 -38860,0.9034119636406077 -38861,0.051601816683133905 -38862,0.4265871508366331 -38863,0.9024475864747007 -38864,0.11276545044405706 -38865,0.2290504455379102 -38866,0.7753014606226286 -38867,0.2875292161887216 -38868,0.3606698578011135 -38869,0.2679957000773815 -38870,0.4019762568676968 -38871,0.4028672165338141 -38872,0.7200924769867548 -38873,0.39532657867564136 -38874,0.458270903692227 -38875,0.7110560461005857 -38876,0.3114435110926438 -38877,0.2305491672877611 -38878,0.18258069892689344 -38879,0.5701797163928621 -38880,0.9494928803085796 -38881,0.9788100856589942 -38882,0.8075037137608229 -38883,0.22905259856771976 -38884,0.4740139870413065 -38885,0.3594044445726109 -38886,0.6543412473720686 -38887,0.3727535581726982 -38888,0.7546919945000591 -38889,0.952145213041543 -38890,0.5480917911034948 -38891,0.7883268794771318 -38892,0.6768378826439122 -38893,0.5580555561964837 -38894,0.749086390695159 -38895,0.11312247968446798 -38896,0.2934573275432355 -38897,0.19710997953777387 -38898,0.17754216413608026 -38899,0.8277320237000252 -38900,0.45556755032056095 -38901,0.5021186813855205 -38902,0.587601844170129 -38903,0.29297554541190807 -38904,0.24912660382408003 -38905,0.657344613909846 -38906,0.7563691349929295 -38907,0.8817189133399074 -38908,0.40810872128439535 -38909,0.7099657129265904 -38910,0.8340542617720292 -38911,0.569747865480387 -38912,0.1825959184708228 -38913,0.11741911207335076 -38914,0.030022536207380268 -38915,0.7329144585531835 -38916,0.8903740153379548 -38917,0.2653450520333519 -38918,0.8113013637001063 -38919,0.5822052032874258 -38920,0.9529001382739388 -38921,0.7946677009278825 -38922,0.30990066242735304 -38923,0.7833701554243305 -38924,0.531811433493966 -38925,0.034550059693022384 -38926,0.6015596289609036 -38927,0.9441824561347953 -38928,0.00020609180219055556 -38929,0.8340050693524457 -38930,0.48873473898805564 -38931,0.9878331464600627 -38932,0.8638286640839057 -38933,0.5431315632744477 -38934,0.8901370006938581 -38935,0.4749144692312416 -38936,0.4148261156788531 -38937,0.05457019054864498 -38938,0.7968247947949597 -38939,0.7867789566905905 -38940,0.06070768364227097 -38941,0.1592578806371353 -38942,0.5548461442126995 -38943,0.45122896039818916 -38944,0.1239600136026816 -38945,0.036950778281471086 -38946,0.08746067121924006 -38947,0.029591271428105248 -38948,0.35874880723752245 -38949,0.8210018595854929 -38950,0.7108394808214102 -38951,0.32408298961256854 -38952,0.06394773471562543 -38953,0.23467573139174291 -38954,0.556367105635313 -38955,0.7634706320005642 -38956,0.4316268940071505 -38957,0.06693128838826978 -38958,0.6080455964903863 -38959,0.44265041848239517 -38960,0.03376689986494996 -38961,0.4138725735605605 -38962,0.18044930776225432 -38963,0.29753334660945097 -38964,0.119425954520329 -38965,0.42203596850021574 -38966,0.015133810380946078 -38967,0.575109355846538 -38968,0.32893526317191535 -38969,0.45579832336204074 -38970,0.3352781621895192 -38971,0.8618057817339759 -38972,0.8546230131803612 -38973,0.9864279803208389 -38974,0.009628164311830001 -38975,0.4312001385586106 -38976,0.020934736527800757 -38977,0.7546566400215289 -38978,0.35766256641092986 -38979,0.8397939376725916 -38980,0.5025727597198687 -38981,0.5381034938686694 -38982,0.8612024444092088 -38983,0.826118875419742 -38984,0.32652431908291946 -38985,0.14989951320878547 -38986,0.054218466420106415 -38987,0.03254738255990253 -38988,0.04254387411785199 -38989,0.9431939765910178 -38990,0.22940315955135504 -38991,0.11943810459130755 -38992,0.5435697044092074 -38993,0.1901036543969431 -38994,0.8041386452777608 -38995,0.7038621253332741 -38996,0.8815872048106688 -38997,0.12580424005049962 -38998,0.26412500430555197 -38999,0.5444497088679459 -39000,0.7311836446578139 -39001,0.6189482340977277 -39002,0.5791565560160291 -39003,0.5049603836146844 -39004,0.6188619232673365 -39005,0.8234021950696203 -39006,0.18428031137144074 -39007,0.8374402181129748 -39008,0.7365709341377451 -39009,0.7799754547447879 -39010,0.2818211682645424 -39011,0.09780188729143269 -39012,0.22595250585333682 -39013,0.12371577923298571 -39014,0.22105753157045438 -39015,0.8798008226820737 -39016,0.6990144244854228 -39017,0.4932498680533616 -39018,0.7908911043772106 -39019,0.7997802383597366 -39020,0.412233901205286 -39021,0.09204436869977728 -39022,0.9774234120235058 -39023,0.25151910319512416 -39024,0.8942758163287952 -39025,0.7433412461453626 -39026,0.9436441195690956 -39027,0.2905555764101756 -39028,0.5656649695266303 -39029,0.9929190674196842 -39030,0.8608174385411831 -39031,0.3670428913311181 -39032,0.7136880344250918 -39033,0.2996622115325518 -39034,0.4430045579602653 -39035,0.7618776309816668 -39036,0.4635131821008438 -39037,0.1484885396147806 -39038,0.051438295477805096 -39039,0.6579782802273537 -39040,0.3105008160792405 -39041,0.9504260321636102 -39042,0.8405108486258669 -39043,0.46385321041330263 -39044,0.5146090536581632 -39045,0.8761730029947002 -39046,0.16035109291085248 -39047,0.9477871656963706 -39048,0.9606404781348533 -39049,0.43086011940540025 -39050,0.21902235810626458 -39051,0.14500042903257582 -39052,0.1069823819693867 -39053,0.5500175299563338 -39054,0.8572748617547732 -39055,0.012152748688350812 -39056,0.988191011794856 -39057,0.8545395913111453 -39058,0.051749270057757535 -39059,0.7712163221665072 -39060,0.36825360931477213 -39061,0.9531310494652504 -39062,0.3816596722736718 -39063,0.9556615465234194 -39064,0.5067263595439605 -39065,0.4393178723085176 -39066,0.7646900275396493 -39067,0.5880116016768959 -39068,0.29480766645614653 -39069,0.8635047460503947 -39070,0.2884828189937889 -39071,0.7183961844732895 -39072,0.7345222404595854 -39073,0.6924721903659719 -39074,0.8153317671174902 -39075,0.38271905234826853 -39076,0.4760247274412841 -39077,0.7535874433987382 -39078,0.19481725423181906 -39079,0.5679721984443505 -39080,0.70402859161397 -39081,0.1188684263530112 -39082,0.8819528507913252 -39083,0.05463346356557974 -39084,0.3446547656533686 -39085,0.7387078808872899 -39086,0.3527474843499503 -39087,0.488117860718404 -39088,0.3483239817495021 -39089,0.5096246132130849 -39090,0.46355717537518293 -39091,0.8745191836999909 -39092,0.8548869748351008 -39093,0.9957167134441449 -39094,0.9331343484923533 -39095,0.2708912167940316 -39096,0.004046484586428756 -39097,0.7070890427867713 -39098,0.3728616808586691 -39099,0.3125559356473331 -39100,0.5290348717074412 -39101,0.6300718362218325 -39102,0.4486804972723354 -39103,0.9777628791243411 -39104,0.4780635606577529 -39105,0.5010829063931552 -39106,0.6466764899772638 -39107,0.26785328639453465 -39108,0.1027146591574909 -39109,0.3262577078544484 -39110,0.2097286040051416 -39111,0.9827357595129741 -39112,0.07896259449541165 -39113,0.04800394103234362 -39114,0.24723039268262548 -39115,0.6130611258082929 -39116,0.09149356795005448 -39117,0.2515388903117465 -39118,0.4448775680918532 -39119,0.21950838144212503 -39120,0.5338266413741481 -39121,0.8021624602228604 -39122,0.6517820236104186 -39123,0.4349647294105652 -39124,0.8224089657204858 -39125,0.3405527434468584 -39126,0.8999640863041615 -39127,0.014043736292041475 -39128,0.10961395446252309 -39129,0.6192425363488641 -39130,0.0020902702463655443 -39131,0.3785549052856485 -39132,0.3162025119789247 -39133,0.9658021683110621 -39134,0.29403290615167454 -39135,0.28232353337861915 -39136,0.6487778299414576 -39137,0.4564308210170439 -39138,0.6697971098583639 -39139,0.6488829156627763 -39140,0.5689929071213211 -39141,0.9373613722051625 -39142,0.4374195091848244 -39143,0.20504213453388387 -39144,0.7986959852930221 -39145,0.46960591102154414 -39146,0.27224951599697855 -39147,0.41536387241569905 -39148,0.8504724490301714 -39149,0.7109087721584568 -39150,0.9590480754976327 -39151,0.06621770307202646 -39152,0.7463738355684048 -39153,0.0070027757999091556 -39154,0.2387252548425164 -39155,0.10496813668632599 -39156,0.1381231660218235 -39157,0.839139095201459 -39158,0.6550714507767555 -39159,0.579487627996385 -39160,0.505960336304019 -39161,0.9781305766151405 -39162,0.5281013127794008 -39163,0.5950968081469745 -39164,0.670810749260688 -39165,0.8859666132735725 -39166,0.38671097479370087 -39167,0.6060267353860639 -39168,0.705023856602833 -39169,0.6132486937194936 -39170,0.2305342592643066 -39171,0.3714339391247461 -39172,0.04129351034191109 -39173,0.9460609297558356 -39174,0.6884561637802427 -39175,0.08671143938566883 -39176,0.9636458072838371 -39177,0.923353666291889 -39178,0.27307922132451845 -39179,0.6134289648999108 -39180,0.6599227745138394 -39181,0.5605440323490665 -39182,0.9016522501448299 -39183,0.7131195306530558 -39184,0.02645526644390206 -39185,0.9155474114912572 -39186,0.11786706642672606 -39187,0.7953242809879986 -39188,0.4464232394420735 -39189,0.3145204756267672 -39190,0.2413921730925026 -39191,0.0487261162670396 -39192,0.4998169290955826 -39193,0.8202043813913483 -39194,0.7673217041785511 -39195,0.519065253385938 -39196,0.12257021769604881 -39197,0.9763215748791545 -39198,0.08767665138303626 -39199,0.11177678819353742 -39200,0.5174134968436686 -39201,0.7632057786519924 -39202,0.05128146658968913 -39203,0.3985943417170723 -39204,0.9466381563438082 -39205,0.8506958516769175 -39206,0.40421561490678204 -39207,0.3090952482292625 -39208,0.6138149006815272 -39209,0.5428279296502814 -39210,0.552375912345289 -39211,0.12275758647434087 -39212,0.3989495355287591 -39213,0.71342185708414 -39214,0.4869803022881287 -39215,0.11841007288003969 -39216,0.3721451280357181 -39217,0.14503831645388787 -39218,0.5886988103510582 -39219,0.7107805467611938 -39220,0.44389213452617793 -39221,0.08624192697736677 -39222,0.795070511829938 -39223,0.7053638943158805 -39224,0.7400682124297185 -39225,0.2925648595082132 -39226,0.8015212796142195 -39227,0.407086691467056 -39228,0.2889761043139729 -39229,0.8142699013491314 -39230,0.5607930552423458 -39231,0.5192992523341619 -39232,0.9840774761339082 -39233,0.4618934746709583 -39234,0.5835961752071499 -39235,0.8987137854907049 -39236,0.09501786662740452 -39237,0.8929396991049734 -39238,0.1790962114058473 -39239,0.3797336803439245 -39240,0.2756213862914161 -39241,0.29826920439972515 -39242,0.5863462288643108 -39243,0.2578918295079884 -39244,0.5792732681247925 -39245,0.13769114601103316 -39246,0.9203447945018299 -39247,0.6991074924281847 -39248,0.5053340614477124 -39249,0.4617719333569409 -39250,0.43238436078169673 -39251,0.5845982234399654 -39252,0.07147680307524606 -39253,0.18594299058842656 -39254,0.2594224155944137 -39255,0.15507677038437317 -39256,0.806601263325656 -39257,0.6962885439178264 -39258,0.3965771128079534 -39259,0.1710540000237295 -39260,0.1473903013050346 -39261,0.34103073908883164 -39262,0.6345302523225901 -39263,0.24176455160131882 -39264,0.9258119112425133 -39265,0.5134658425544717 -39266,0.47360769474493847 -39267,0.6635257889856295 -39268,0.5989663216643109 -39269,0.9216500209317556 -39270,0.5846410169809355 -39271,0.8484070760807263 -39272,0.9254081021852102 -39273,0.7108850022639756 -39274,0.07036114615727507 -39275,0.11579127002894019 -39276,0.5872994931518969 -39277,0.3939929740971493 -39278,0.47978346926744697 -39279,0.21601601454642605 -39280,0.5759050375213001 -39281,0.3963035236938246 -39282,0.047490792687153616 -39283,0.9151109552217574 -39284,0.2160078966180562 -39285,0.5700092284202799 -39286,0.14370587594126782 -39287,0.07913723422826635 -39288,0.8805913874454394 -39289,0.14908331681769182 -39290,0.12862507938166146 -39291,0.6639121454176705 -39292,0.053792185393716 -39293,0.23061249209848778 -39294,0.9172828663862919 -39295,0.8269782678661814 -39296,0.9867490885102016 -39297,0.5379631794658254 -39298,0.8849829543068816 -39299,0.6845534245594561 -39300,0.7094793489796442 -39301,0.6972437501961138 -39302,0.1893881546494004 -39303,0.660708943539553 -39304,0.8370299161937346 -39305,0.7873810577344685 -39306,0.4428114841893309 -39307,0.4172227968994249 -39308,0.5451041906534295 -39309,0.764810477787953 -39310,0.26269294350384287 -39311,0.8257694135495647 -39312,0.586452054660446 -39313,0.6823162221732512 -39314,0.49012208348354713 -39315,0.29931080044009306 -39316,0.7597078452621009 -39317,0.8937561060145325 -39318,0.887559881914964 -39319,0.7829478719257315 -39320,0.07046064417190134 -39321,0.9274181067624225 -39322,0.13356417128757192 -39323,0.8614720332894968 -39324,0.759360529792772 -39325,0.3352273111175187 -39326,0.9288596643237584 -39327,0.5300388489893674 -39328,0.15992094799015621 -39329,0.591876890295469 -39330,0.7360791324398629 -39331,0.07779385522698568 -39332,0.23416098024652565 -39333,0.4818016814074778 -39334,0.7352765197798694 -39335,0.4369067045198015 -39336,0.6834614581037085 -39337,0.5853276650254641 -39338,0.18337203711880123 -39339,0.0463623193660041 -39340,0.3654441795953213 -39341,0.9219875028136841 -39342,0.3534595259283696 -39343,0.22021043531682094 -39344,0.6631808744993596 -39345,0.10080909698134288 -39346,0.5046624417576607 -39347,0.18459671490714658 -39348,0.6777753206375821 -39349,0.5058887050574431 -39350,0.4707580876160756 -39351,0.509116765757583 -39352,0.4627793468402497 -39353,0.31919359105957024 -39354,0.7809661194868259 -39355,0.7761929817099977 -39356,0.17342078646947323 -39357,0.3730508814338639 -39358,0.2756540175761849 -39359,0.43953729056993696 -39360,0.8281420496599433 -39361,0.29709621413107445 -39362,0.3365862596173269 -39363,0.3028837253464278 -39364,0.8998176878306658 -39365,0.6668672535127985 -39366,0.8243922330334961 -39367,0.6329458018395978 -39368,0.7928743821232516 -39369,0.5497358187441738 -39370,0.5992018831599736 -39371,0.872267517871893 -39372,0.036627607078437596 -39373,0.6075482618770535 -39374,0.6877575754294167 -39375,0.4878024998032966 -39376,0.5160405917109724 -39377,0.41783079682639335 -39378,0.06388118418049826 -39379,0.5172534143632183 -39380,0.186990895493788 -39381,0.7981879399025116 -39382,0.8916519505846812 -39383,0.07783657955944456 -39384,0.22701710613495374 -39385,0.2900288286494094 -39386,0.11668999472664188 -39387,0.8337640152880376 -39388,0.8764201312255329 -39389,0.3075859076360494 -39390,0.2542927265200431 -39391,0.394007178161625 -39392,0.45980700459276236 -39393,0.8931627565383169 -39394,0.44637088716373896 -39395,0.7721145255481588 -39396,0.4286487399665915 -39397,0.08812762042491318 -39398,0.6386098905345292 -39399,0.7535106985396692 -39400,0.7804731164787754 -39401,0.08541435549341114 -39402,0.2827108433318053 -39403,0.10907780938918887 -39404,0.17571934782301035 -39405,0.6802662286582026 -39406,0.5900683283391039 -39407,0.6852195726954439 -39408,0.17836487995825356 -39409,0.7585814256691601 -39410,0.4869098673013037 -39411,0.6247150737890672 -39412,0.3681634414606889 -39413,0.7172205481319314 -39414,0.8941059826545685 -39415,0.05974303989205709 -39416,0.871038231415856 -39417,0.6545411329557385 -39418,0.557509757543504 -39419,0.0676422955767636 -39420,0.695896436883927 -39421,0.37076403628306 -39422,0.6584313711231197 -39423,0.9662146223485143 -39424,0.3089785739570061 -39425,0.8774827976234809 -39426,0.15888980761599591 -39427,0.8255401474207884 -39428,0.12130993488563069 -39429,0.10361360843737444 -39430,0.03754367506945788 -39431,0.9907093896233033 -39432,0.8517454545891014 -39433,0.3348938569247564 -39434,0.4728871508569257 -39435,0.9310185214543628 -39436,0.6909212186085197 -39437,0.025615311038639232 -39438,0.665680121619236 -39439,0.7163227802467611 -39440,0.8038016500215707 -39441,0.23616597668843298 -39442,0.3803534954522334 -39443,0.5735688838702504 -39444,0.8506571130146554 -39445,0.19585236412144325 -39446,0.9185748456159561 -39447,0.6943808477426344 -39448,0.3762557271435082 -39449,0.1277808805093179 -39450,0.9149326750718861 -39451,0.47473320570535116 -39452,0.1975667440747595 -39453,0.6779713872466352 -39454,0.40639455462448826 -39455,0.0503563653190805 -39456,0.12597993767021998 -39457,0.09853902875893528 -39458,0.6558239222945856 -39459,0.8946800201651628 -39460,0.26154075388818654 -39461,0.4840660697640443 -39462,0.6714992691745644 -39463,0.9937498261638698 -39464,0.13719339596836 -39465,0.3002938192720651 -39466,0.2542780112236688 -39467,0.4817471027911653 -39468,0.039708410708529485 -39469,0.5968880185531766 -39470,0.3637891363977088 -39471,0.6915716884918363 -39472,0.4668884029384326 -39473,0.06854341864472391 -39474,0.9258197678578824 -39475,0.12070030609046767 -39476,0.4402965556475703 -39477,0.4613151179636795 -39478,0.12199601460261489 -39479,0.6685415588225692 -39480,0.2528027186543371 -39481,0.13883760759341135 -39482,0.581518368034077 -39483,0.5036793014158547 -39484,0.10894283399345661 -39485,0.0848502579097754 -39486,0.7671987766637468 -39487,0.8430843721025361 -39488,0.15673922434585175 -39489,0.007715489537013398 -39490,0.4347752149630486 -39491,0.0804914295269934 -39492,0.19919713041177722 -39493,0.6833399584592862 -39494,0.7822613184434996 -39495,0.7228721518121638 -39496,0.43722865780140774 -39497,0.6942905272682808 -39498,0.9608731029170688 -39499,0.957971583396274 -39500,0.2754208955762776 -39501,0.7326125088404057 -39502,0.9032532332392894 -39503,0.39315926305892757 -39504,0.01774959072884863 -39505,0.7879961979992179 -39506,0.15643836175819126 -39507,0.34867266281739284 -39508,0.6888424446000339 -39509,0.6553123247455633 -39510,0.058161570191722856 -39511,0.2111448845303434 -39512,0.14192351876996545 -39513,0.9196875691194487 -39514,0.45704117297832547 -39515,0.654635930252409 -39516,0.26661892365771 -39517,0.3298622413485688 -39518,0.0797646690718099 -39519,0.020379617808777617 -39520,0.5326794172309929 -39521,0.5616545278244359 -39522,0.6236772739142304 -39523,0.5441515656222532 -39524,0.8171022667031197 -39525,0.11210413289214549 -39526,0.7095676681600566 -39527,0.6152844156606866 -39528,0.09241600620194346 -39529,0.039675773397555125 -39530,0.9325662098611237 -39531,0.3269848422018429 -39532,0.4530706618039436 -39533,0.88363020873921 -39534,0.0596487552774605 -39535,0.08108508061209185 -39536,0.6244095370664443 -39537,0.03728862741649552 -39538,0.642942049150907 -39539,0.018478191820105905 -39540,0.18229410418477154 -39541,0.5229846044066327 -39542,0.21961157029410217 -39543,0.9038457013925809 -39544,0.2898612145934353 -39545,0.5362228600894547 -39546,0.3546457380323921 -39547,0.1712160051239663 -39548,0.049022117619948014 -39549,0.19861588380280493 -39550,0.21649389854316214 -39551,0.43919248351307527 -39552,0.29063640954540204 -39553,0.809372950498487 -39554,0.7435687769684519 -39555,0.505028213646023 -39556,0.7061318172565612 -39557,0.39027178195430734 -39558,0.974202851046855 -39559,0.7422083852466613 -39560,0.43996610223476484 -39561,0.31804354627512377 -39562,0.4896813096511875 -39563,0.7155607842594899 -39564,0.8765950166172273 -39565,0.1731139806681804 -39566,0.012608339732843366 -39567,0.9703061166403755 -39568,0.6236331052343358 -39569,0.5516514555620324 -39570,0.15386174089012306 -39571,0.11098763770155062 -39572,0.014428350868933792 -39573,0.7071974145878045 -39574,0.9623732805665082 -39575,0.23012410441789943 -39576,0.9890078663411279 -39577,0.6207497962887155 -39578,0.09530077284536831 -39579,0.2764279571137046 -39580,0.8474092890264977 -39581,0.8413599391353309 -39582,0.7754324478154215 -39583,0.26015730870296583 -39584,0.40863636504963097 -39585,0.0922917231052236 -39586,0.275598512689043 -39587,0.11260765296349096 -39588,0.5166344118389913 -39589,0.1279436411894015 -39590,0.6066129056750864 -39591,0.6555736347175747 -39592,0.12452987455532794 -39593,0.14903792850729425 -39594,0.18146289020383677 -39595,0.7100356319671486 -39596,0.3022678762399148 -39597,0.33680135915474574 -39598,0.32147299345742353 -39599,0.08097468115676765 -39600,0.38324202423648446 -39601,0.4210797289728261 -39602,0.6317081295280641 -39603,0.4756726577074891 -39604,0.27841099167656047 -39605,0.8851744761134605 -39606,0.05694100371902866 -39607,0.07962686783342532 -39608,0.41814934585783126 -39609,0.025053480305680886 -39610,0.8684907135552917 -39611,0.5825454881160729 -39612,0.964842517148742 -39613,0.7883034870592077 -39614,0.9607050099719373 -39615,0.19083359596408178 -39616,0.5121446183554562 -39617,0.8740530025535865 -39618,0.9454994285342089 -39619,0.6299270518493953 -39620,0.7005911122180518 -39621,0.29917120874607084 -39622,0.9890482793588304 -39623,0.02808110920935225 -39624,0.4706047092942045 -39625,0.5967577484774542 -39626,0.6372462184434019 -39627,0.6209207847024709 -39628,0.6888518127449776 -39629,0.7187988302266788 -39630,0.7064848632554602 -39631,0.5460959046291856 -39632,0.3589440833301074 -39633,0.9654257709342116 -39634,0.21427198037480433 -39635,0.12154107820439741 -39636,0.8895581838772613 -39637,0.7627614421715658 -39638,0.18259904398656346 -39639,0.16080896385295795 -39640,0.2061021411788596 -39641,0.05014246954088131 -39642,0.34722166441233804 -39643,0.8817461445446466 -39644,0.9524047854306195 -39645,0.09442573303688506 -39646,0.9858455507675655 -39647,0.4352524601034924 -39648,0.6403791086282021 -39649,0.35144256070672697 -39650,0.9461618901522415 -39651,0.8503510610245184 -39652,0.43627540872345993 -39653,0.5430118400575037 -39654,0.89886340481239 -39655,0.7225456957875698 -39656,0.09535710293863697 -39657,0.4880067085669436 -39658,0.24065970358382915 -39659,0.7144056428095452 -39660,0.6476159129659925 -39661,0.6227432186824757 -39662,0.28663294468158673 -39663,0.5574314797300594 -39664,0.03149026744129102 -39665,0.9254936949945717 -39666,0.14941198556839363 -39667,0.9849735029939797 -39668,0.23015852941098747 -39669,0.5368783783803581 -39670,0.7865288806961186 -39671,0.16775453113181993 -39672,0.21928502649978476 -39673,0.9700893170873307 -39674,0.640522220983887 -39675,0.059133438710631814 -39676,0.5314744939325291 -39677,0.15599759777623767 -39678,0.847830082248896 -39679,0.22347258662560743 -39680,0.37985827289538576 -39681,0.9352499076930615 -39682,0.6725961395476102 -39683,0.07248713480034363 -39684,0.9767833938179309 -39685,0.6035547394455203 -39686,0.2369623797605136 -39687,0.4698486037601485 -39688,0.24937891100519438 -39689,0.13363852858264524 -39690,0.9795539167091947 -39691,0.2543704136080138 -39692,0.8623543582264984 -39693,0.2572518462486131 -39694,0.7321517798616967 -39695,0.37892853834878093 -39696,0.6663247396206922 -39697,0.2491908714065585 -39698,0.03104954278012395 -39699,0.7533180588658698 -39700,0.4684338944824582 -39701,0.10815593230943044 -39702,0.6517316076623189 -39703,0.03609575330859771 -39704,0.9317972986981276 -39705,0.6208419618203 -39706,0.7974626921634015 -39707,0.8787280721470595 -39708,0.7867474460093407 -39709,0.7659619712289504 -39710,0.509893645625326 -39711,0.18411408424651277 -39712,0.2591100648477146 -39713,0.04703893321791219 -39714,0.33385948215551986 -39715,0.035646861054540846 -39716,0.9935688369089877 -39717,0.4106407868858093 -39718,0.7277595274744981 -39719,0.7334323573523227 -39720,0.7322842273136224 -39721,0.16819526459634793 -39722,0.7782823047924343 -39723,0.4379516535830793 -39724,0.9999663171296429 -39725,0.5534957428975367 -39726,0.9380690197190021 -39727,0.7295355924822714 -39728,0.9697427743890896 -39729,0.8093474438786266 -39730,0.5704682439303472 -39731,0.15897773392801084 -39732,0.834090035230311 -39733,0.5933588735204024 -39734,0.6766593258329798 -39735,0.8682366899972424 -39736,0.3370110132115023 -39737,0.172239476621734 -39738,0.8666465495749782 -39739,0.5004647409861239 -39740,0.09800192433591692 -39741,0.14738724628209743 -39742,0.7745750209684691 -39743,0.6853087093945459 -39744,0.2340488780189035 -39745,0.13755752980411817 -39746,0.465560644992149 -39747,0.05077370013232574 -39748,0.1856535237874214 -39749,0.9445692272690097 -39750,0.9883970459472623 -39751,0.24888315142198092 -39752,0.10824018433772675 -39753,0.862263008025196 -39754,0.9851415943131878 -39755,0.3124235557589865 -39756,0.8559335049083044 -39757,0.20811356950898718 -39758,0.49565174152602387 -39759,0.27834581947322434 -39760,0.8976650901368153 -39761,0.8679226220561042 -39762,0.8105514224835693 -39763,0.7114327584296182 -39764,0.6068149682571254 -39765,0.20756658805301054 -39766,0.7624458203357657 -39767,0.9257840532968682 -39768,0.7674270512773357 -39769,0.9004148776028472 -39770,0.17155893599316974 -39771,0.4743907899068498 -39772,0.2943740359917464 -39773,0.6874647691887169 -39774,0.2836645266256629 -39775,0.03198917684564695 -39776,0.43276318102362343 -39777,0.3781758447093133 -39778,0.8281297007805025 -39779,0.3689187259574227 -39780,0.4536785034865042 -39781,0.22127705293979727 -39782,0.04296866099286978 -39783,0.9614713981319449 -39784,0.9336329560832671 -39785,0.9146789746541789 -39786,0.08442517546993267 -39787,0.5737214815860355 -39788,0.47239914446699627 -39789,0.693735525840458 -39790,0.47656216558951414 -39791,0.8101288773409465 -39792,0.21826972766714703 -39793,0.8074818524428687 -39794,0.11878220395815475 -39795,0.1147811073636924 -39796,0.5756614905004598 -39797,0.37271937619662454 -39798,0.2571413375669528 -39799,0.5383984906173057 -39800,0.14494553318378633 -39801,0.95799122970332 -39802,0.27516197081420124 -39803,0.7961979158931417 -39804,0.22856868861735669 -39805,0.4812067493078346 -39806,0.8644921523753383 -39807,0.41703817902687923 -39808,0.2329436148439622 -39809,0.47503571379519005 -39810,0.6232149849494847 -39811,0.5411933291506897 -39812,0.8298239101534725 -39813,0.3663746780612117 -39814,0.6979318879479913 -39815,0.9356793437299211 -39816,0.48072539009394366 -39817,0.331849882884823 -39818,0.21816821934148134 -39819,0.21814377345205505 -39820,0.39246937921503644 -39821,0.2849349027264586 -39822,0.12906426920393277 -39823,0.8188033210554981 -39824,0.7641017067563032 -39825,0.2939098601105985 -39826,0.7707440661949836 -39827,0.605952753803459 -39828,0.8712058832215449 -39829,0.03803386533105846 -39830,0.14548146643779436 -39831,0.5680909592815503 -39832,0.9096792075796963 -39833,0.8460874937481029 -39834,0.9324046884498677 -39835,0.9664658236670346 -39836,0.11822152795183805 -39837,0.8372772543496669 -39838,0.04344346573731139 -39839,0.30723847401407534 -39840,0.27148757672664936 -39841,0.01944012264605144 -39842,0.6838856656863357 -39843,0.25414517294143746 -39844,0.522252560653313 -39845,0.045212872729712195 -39846,0.373096428471668 -39847,0.7415147118665826 -39848,0.3902105265284087 -39849,0.3936792030383808 -39850,0.24510512125631057 -39851,0.024037354433286362 -39852,0.2000660194028665 -39853,0.9149056915240111 -39854,0.5127259902014208 -39855,0.31559071579084363 -39856,0.11123869405325149 -39857,0.08681854857361637 -39858,0.0979937787557108 -39859,0.5111644002803436 -39860,0.4757332170007692 -39861,0.4404419459228528 -39862,0.5150405775372537 -39863,0.14052804690076104 -39864,0.9890598203244481 -39865,0.441980559938178 -39866,0.7384172781650952 -39867,0.6043606595563737 -39868,0.3692324079929834 -39869,0.7392390438198229 -39870,0.7554497516306444 -39871,0.25183198446290767 -39872,0.7474492475196688 -39873,0.8552656235659227 -39874,0.3463466079587373 -39875,0.23321999510418523 -39876,0.4446189817434367 -39877,0.6931272449809405 -39878,0.4840381417740962 -39879,0.09157450088474162 -39880,0.03842572680761003 -39881,0.14018033019332032 -39882,0.22956035729858548 -39883,0.2570498173832021 -39884,0.5740830256676088 -39885,0.08977465649519911 -39886,0.5794607600054814 -39887,0.44517929456222327 -39888,0.5469365968573373 -39889,0.5308333173069318 -39890,0.2693031353342177 -39891,0.6237284661103195 -39892,0.8078787705740281 -39893,0.04121580650302714 -39894,0.727072101675492 -39895,0.891135443265878 -39896,0.8196213997890157 -39897,0.8592401165869055 -39898,0.7215818993825999 -39899,0.6871936490694942 -39900,0.3171815950652317 -39901,0.030966385236777527 -39902,0.6726086400926821 -39903,0.7851575036573981 -39904,0.765584299084024 -39905,0.7528376983679181 -39906,0.21480734547769031 -39907,0.7114880939342544 -39908,0.545128258874658 -39909,0.03936415920122238 -39910,0.04429710592787783 -39911,0.6954026103972213 -39912,0.25496889193892514 -39913,0.694504678424965 -39914,0.6135525164581962 -39915,0.35770897548581926 -39916,0.26185881986868154 -39917,0.731847077148438 -39918,0.06482422900800533 -39919,0.11213071559713872 -39920,0.02185281287154084 -39921,0.8747719464880459 -39922,0.5749577205105064 -39923,0.7777795230850773 -39924,0.4410633209197288 -39925,0.21593380996318912 -39926,0.11167645472365151 -39927,0.248957202908204 -39928,0.9576765729255853 -39929,0.6993737688886534 -39930,0.44464875416159977 -39931,0.2999778444698338 -39932,0.5125737513431388 -39933,0.6118607742623348 -39934,0.3648465312198943 -39935,0.8270139873971233 -39936,0.1943687930205671 -39937,0.9666758453771538 -39938,0.8387800593775924 -39939,0.13943670905140593 -39940,0.46438485095980797 -39941,0.9993616392785869 -39942,0.4563013981892349 -39943,0.19873811787071616 -39944,0.44961571678663437 -39945,0.9380600416772106 -39946,0.5705591152439987 -39947,0.03641190341163747 -39948,0.3559696623537787 -39949,0.29538814990902773 -39950,0.21077191048271027 -39951,0.14550539011317976 -39952,0.39620224442808194 -39953,0.9982787229130433 -39954,0.8168201072044795 -39955,0.27060744451883867 -39956,0.9795605318857541 -39957,0.4902737559283077 -39958,0.811636819992699 -39959,0.29103232563738735 -39960,0.6905788593522146 -39961,0.26846247167692305 -39962,0.14884934274241612 -39963,0.5525607904574592 -39964,0.7867864899842765 -39965,0.12088222460844777 -39966,0.5646214456706306 -39967,0.3855055655827013 -39968,0.9641286685686746 -39969,0.3888855110908429 -39970,0.7127549271766606 -39971,0.05250640993114941 -39972,0.11582289097879628 -39973,0.6724690370098064 -39974,0.6736628649389943 -39975,0.8814505399462775 -39976,0.7667005204184434 -39977,0.10117539644796891 -39978,0.12440444119338989 -39979,0.9170623624853198 -39980,0.21787133396262182 -39981,0.6934651551323509 -39982,0.17738859008009145 -39983,0.7692292251195338 -39984,0.5087981629950484 -39985,0.27816746903337997 -39986,0.8985958845023224 -39987,0.2978905277850996 -39988,0.7786074452594783 -39989,0.22774412149864087 -39990,0.025728581396466943 -39991,0.7382282656901457 -39992,0.23474507258480737 -39993,0.7234060731617872 -39994,0.7989213545715155 -39995,0.018015375342108286 -39996,0.615983044052151 -39997,0.7459230966216859 -39998,0.9694195469585232 -39999,0.6554405554487459 -40000,0.9180757885140353 -40001,0.33804861787777163 -40002,0.751158178942113 -40003,0.2483357389016525 -40004,0.15476097581772752 -40005,0.6409924154687341 -40006,0.728008895432712 -40007,0.5643128984247192 -40008,0.11829856174972819 -40009,0.6791192568153415 -40010,0.26724225305892724 -40011,0.35389910135637914 -40012,0.09313536124063226 -40013,0.9007581134330697 -40014,0.825849194467378 -40015,0.601539104324085 -40016,0.46603169103574693 -40017,0.6577876765843715 -40018,0.3753545177591108 -40019,0.7495461882318545 -40020,0.2174437368419322 -40021,0.7465255053204842 -40022,0.2873353037140408 -40023,0.234870570493381 -40024,0.30667383541561566 -40025,0.8742486392282178 -40026,0.035071724461159026 -40027,0.392811382796019 -40028,0.35085899443110313 -40029,0.8018689757728923 -40030,0.40973474315286507 -40031,0.31516961367162066 -40032,0.7470081321048266 -40033,0.11612193729554532 -40034,0.6714650686281417 -40035,0.8526869789834379 -40036,0.4451160389974853 -40037,0.39808908857254743 -40038,0.4829536001468684 -40039,0.1765586977937973 -40040,0.6529167604893804 -40041,0.28456057821682634 -40042,0.19430931256192074 -40043,0.17256264796280063 -40044,0.36475896127768226 -40045,0.4287018703150667 -40046,0.2764005346554069 -40047,0.42930740358485087 -40048,0.9195248883034329 -40049,0.8007921530304598 -40050,0.4742363150996426 -40051,0.8087795193162838 -40052,0.8262842827316934 -40053,0.2051239074148956 -40054,0.5484232796907571 -40055,0.2316441478836221 -40056,0.4028695145578648 -40057,0.8640766319136239 -40058,0.4308602517232325 -40059,0.7953780048643069 -40060,0.846996561051761 -40061,0.43274580364928705 -40062,0.9977058082984621 -40063,0.40644712043297737 -40064,0.9944921499222918 -40065,0.35798960413940295 -40066,0.4274891837685232 -40067,0.3586776787965068 -40068,0.8326402998584826 -40069,0.8802343805437652 -40070,0.8056666032072567 -40071,0.16745979484982076 -40072,0.018528455829507906 -40073,0.6279807521097481 -40074,0.3048796234661497 -40075,0.13567956239257872 -40076,0.6047042360220035 -40077,0.704446268922323 -40078,0.44497322924837424 -40079,0.12609491962825703 -40080,0.802046470017102 -40081,0.34121536961970944 -40082,0.9204153164295981 -40083,0.971947092390775 -40084,0.15288594489317564 -40085,0.14001864070301806 -40086,0.9851298900512621 -40087,0.29344073076494515 -40088,0.8307140155345681 -40089,0.49435524426813404 -40090,0.9998992184184625 -40091,0.4970427857490811 -40092,0.568931078002415 -40093,0.8230666464310683 -40094,0.9790476801513595 -40095,0.11612552835493162 -40096,0.33117528525984785 -40097,0.39158511660173934 -40098,0.08934522234389963 -40099,0.4326687413919469 -40100,0.15405581354763154 -40101,0.4554697494969606 -40102,0.20015582531734777 -40103,0.6089874133226758 -40104,0.6495312526101308 -40105,0.2689963596311151 -40106,0.5930558278006264 -40107,0.9944501806582914 -40108,0.8906329845676519 -40109,0.4351524959904798 -40110,0.4817179146159116 -40111,0.3562988836450697 -40112,0.34922415117060845 -40113,0.2799169490731731 -40114,0.5901944205974892 -40115,0.9668648157884577 -40116,0.03295651069750749 -40117,0.8304043999896805 -40118,0.2957577862102925 -40119,0.21136272249572052 -40120,0.7071681106517915 -40121,0.2521628898726984 -40122,0.7286468657060015 -40123,0.48298525151712424 -40124,0.9074547223386342 -40125,0.351075330036287 -40126,0.18806099974970214 -40127,0.3904817954547868 -40128,0.09805205387356264 -40129,0.13621494904159837 -40130,0.30764898157852316 -40131,0.08078852677673087 -40132,0.849854425644277 -40133,0.41671699018318165 -40134,0.6561993634976614 -40135,0.977868215107687 -40136,0.9307800890573037 -40137,0.7823504056386522 -40138,0.5785127340525597 -40139,0.6120967218107588 -40140,0.6915156663148727 -40141,0.05546830267643055 -40142,0.8015298927001908 -40143,0.10092245325495097 -40144,0.7769538449066039 -40145,0.8540305090571676 -40146,0.5805796410133848 -40147,0.9357663332133902 -40148,0.7549692511732631 -40149,0.26810125377320126 -40150,0.5236904064302159 -40151,0.09420747913179095 -40152,0.5900321284306023 -40153,0.686036141756397 -40154,0.9973807569954368 -40155,0.22961999859093818 -40156,0.8497963004058043 -40157,0.47420909576242 -40158,0.9235128096696572 -40159,0.020418453063290043 -40160,0.935279907734998 -40161,0.3587485794682359 -40162,0.4111935677383324 -40163,0.4936715930459319 -40164,0.7383199632234243 -40165,0.29773950407962313 -40166,0.485821342078924 -40167,0.6820383403227832 -40168,0.8272570187670143 -40169,0.5916757805497902 -40170,0.22135012643962382 -40171,0.44722577660033613 -40172,0.2873238587260398 -40173,0.529859938037895 -40174,0.7223258471711798 -40175,0.417717230546639 -40176,0.06544527585779814 -40177,0.35921880718319044 -40178,0.302305499260595 -40179,0.6066648714238719 -40180,0.7692338177560094 -40181,0.00651923091723261 -40182,0.8265416855367061 -40183,0.6136372447935367 -40184,0.8049121683284476 -40185,0.5680404461487722 -40186,0.9085895944703793 -40187,0.922477681327925 -40188,0.6510060071455072 -40189,0.8929041659135922 -40190,0.8706508378476163 -40191,0.32410019027597226 -40192,0.4113980839492992 -40193,0.18090792954629553 -40194,0.31532689453663354 -40195,0.022867212329743425 -40196,0.8245675978395731 -40197,0.6558968899082707 -40198,0.08181187177108262 -40199,0.9172648117726818 -40200,0.3820879533080087 -40201,0.2105705540370041 -40202,0.988580253602511 -40203,0.41303065297000274 -40204,0.1773556239504256 -40205,0.6916198227910942 -40206,0.772779863852527 -40207,0.3432076040840051 -40208,0.2745569897127358 -40209,0.010672252062394305 -40210,0.41532894778374974 -40211,0.5609337959321027 -40212,0.28049100691486484 -40213,0.836640315747364 -40214,0.7997185387528214 -40215,0.07318482282091265 -40216,0.804028764184326 -40217,0.89168207168935 -40218,0.72092760309102 -40219,0.4716239676922107 -40220,0.6963136113343025 -40221,0.24269024026671182 -40222,0.169960309112701 -40223,0.828973474440568 -40224,0.13374355592652354 -40225,0.7894325533509258 -40226,0.25824652834377904 -40227,0.8319187341191112 -40228,0.5459484101618787 -40229,0.3519591080393839 -40230,0.6615680856613332 -40231,0.761454492711898 -40232,0.031098434923520712 -40233,0.6416786607029898 -40234,0.6191901021539847 -40235,0.5177193584381101 -40236,0.8714410761513146 -40237,0.03177058822610346 -40238,0.9272853365144347 -40239,0.14142637561717852 -40240,0.257253022986379 -40241,0.23991654236540827 -40242,0.9262748230585555 -40243,0.7029500121802814 -40244,0.14385604215403802 -40245,0.004592740372490578 -40246,0.33922156997386455 -40247,0.9968134671179248 -40248,0.8869152008847219 -40249,0.40718712963199455 -40250,0.7143280619819417 -40251,0.5225207195040807 -40252,0.7680869228259806 -40253,0.37370293638323415 -40254,0.6692556131825167 -40255,0.44114046293198117 -40256,0.1261394592094015 -40257,0.3464966019591931 -40258,0.37753572590312745 -40259,0.7734180113854761 -40260,0.028007063620615447 -40261,0.5989461899913745 -40262,0.6969388143654015 -40263,0.8131205578952247 -40264,0.9720805745456974 -40265,0.201540230434459 -40266,0.7729041876107509 -40267,0.6871832627934326 -40268,0.3479875793073839 -40269,0.5666198617863532 -40270,0.6431745686079934 -40271,0.9891898860976688 -40272,0.3441618213251272 -40273,0.3827552898974158 -40274,0.037147327555480225 -40275,0.7529311223901923 -40276,0.39483581095253784 -40277,0.8761946019042536 -40278,0.2510282374593865 -40279,0.6684357224000012 -40280,0.8531646263330914 -40281,0.0933294572040918 -40282,0.7036810815860405 -40283,0.27672410691411997 -40284,0.5161960619472623 -40285,0.2882864663239977 -40286,0.03154207411913468 -40287,0.7544805912354905 -40288,0.9980393767156736 -40289,0.20273091890633266 -40290,0.821489333765975 -40291,0.9961499614271879 -40292,0.19277747563637948 -40293,0.1568234817062102 -40294,0.6637041528413957 -40295,0.26746787835345076 -40296,0.7553899487518922 -40297,0.03847660707598699 -40298,0.9159516080115665 -40299,0.4520147559810651 -40300,0.7587252028010678 -40301,0.4052104308843125 -40302,0.8020179544038312 -40303,0.24843250095902514 -40304,0.8219371305699282 -40305,0.8831847690538522 -40306,0.838025182712762 -40307,0.6374836866896653 -40308,0.34381624888525175 -40309,0.6043964128730828 -40310,0.47183670879035056 -40311,0.44557310299311115 -40312,0.49646443908162874 -40313,0.9210345551647424 -40314,0.5860372000024545 -40315,0.5006134288612282 -40316,0.703077426671623 -40317,0.02684100635227804 -40318,0.3821240898112169 -40319,0.2528688411424832 -40320,0.594063990378416 -40321,0.38275998391448485 -40322,0.4369303828497809 -40323,0.39774171428696403 -40324,0.08767907185138224 -40325,0.8346375268133632 -40326,0.853056482747466 -40327,0.6383491810286379 -40328,0.31025954927040555 -40329,0.4917271840665526 -40330,0.08561286701307347 -40331,0.6421425317624944 -40332,0.1769478428880622 -40333,0.5518800968682345 -40334,0.19517749486503422 -40335,0.9174499542203159 -40336,0.5876767502880126 -40337,0.7825622656642216 -40338,0.7027869663082772 -40339,0.7824789300891648 -40340,0.2731934297995766 -40341,0.3302706925873621 -40342,0.22469357605785933 -40343,0.615491746036382 -40344,0.7599726855856844 -40345,0.04490869620138205 -40346,0.4526958874285547 -40347,0.834829295223122 -40348,0.17380995991826198 -40349,0.05661633384383025 -40350,0.04635423433822983 -40351,0.5283912569970657 -40352,0.9733608587987458 -40353,0.8185560541767029 -40354,0.6584712427721973 -40355,0.6880372508258068 -40356,0.8808365553862558 -40357,0.7342910841786917 -40358,0.1135467203819931 -40359,0.8286762177456564 -40360,0.9173197322645588 -40361,0.8134312693592407 -40362,0.9629445513181474 -40363,0.8285895444296605 -40364,0.8679206036866779 -40365,0.5227448876963826 -40366,0.479688882362338 -40367,0.9255180999972455 -40368,0.1384818388316974 -40369,0.23011398814676676 -40370,0.6806037452120139 -40371,0.25274972092670167 -40372,0.00977070223820986 -40373,0.13562178549836312 -40374,0.8766117014716107 -40375,0.3776693346414034 -40376,0.5245125066648161 -40377,0.3907545425106316 -40378,0.5481834066344032 -40379,0.5030481131007722 -40380,0.9218656270058321 -40381,0.5212860121892066 -40382,0.07788882357021543 -40383,0.13483027299664774 -40384,0.7427619915105277 -40385,0.28718084012706624 -40386,0.6417314086840005 -40387,0.4621603253779305 -40388,0.697625624046556 -40389,0.754847875431041 -40390,0.7288050857890671 -40391,0.7251784925095442 -40392,0.7727269180140249 -40393,0.04999976053626776 -40394,0.5126335807473644 -40395,0.555649970114464 -40396,0.22001695752017758 -40397,0.7837877881987975 -40398,0.7242357114337594 -40399,0.04969318060383021 -40400,0.9046553027857144 -40401,0.8122495644480534 -40402,0.627821001966631 -40403,0.6536093965304235 -40404,0.36692658481054563 -40405,0.47957383308228585 -40406,0.48038400122206115 -40407,0.20399863822020714 -40408,0.25725491133427925 -40409,0.5629700290055284 -40410,0.3567036753995282 -40411,0.550647686636911 -40412,0.7113714324612754 -40413,0.22268090837995114 -40414,0.5435875411217289 -40415,0.23391824951700657 -40416,0.8280846938895783 -40417,0.31833853726787154 -40418,0.26497079346617536 -40419,0.4310696029242155 -40420,0.5480837460392989 -40421,0.6356350819265739 -40422,0.8701567008207621 -40423,0.2489148935948512 -40424,0.9980654306208012 -40425,0.4577912170083104 -40426,0.22783359143134663 -40427,0.909628632262912 -40428,0.008109620593294564 -40429,0.6673706979674671 -40430,0.37582277111627393 -40431,0.5636484436373772 -40432,0.39773086853581363 -40433,0.4176524066118936 -40434,0.07421611527710137 -40435,0.8627007536607038 -40436,0.02821804948526274 -40437,0.5643489927255437 -40438,0.9637172744125847 -40439,0.8959858943373055 -40440,0.25994867906830377 -40441,0.88855587993579 -40442,0.9138532597470542 -40443,0.2787096581078915 -40444,0.17955715187614918 -40445,0.48083285522815267 -40446,0.39670340937743775 -40447,0.4484859314597266 -40448,0.025730759614656318 -40449,0.6179081335274555 -40450,0.4467468551274879 -40451,0.4023095114546368 -40452,0.41726813094500625 -40453,0.020693968884439973 -40454,0.6841618360641408 -40455,0.08013318757232757 -40456,0.29956753616999665 -40457,0.19226741817559267 -40458,0.03432550028662984 -40459,0.27284500038231074 -40460,0.7229686223954477 -40461,0.4491617470689082 -40462,0.01664932629123983 -40463,0.6794892449466536 -40464,0.34008839687929326 -40465,0.4950176328093735 -40466,0.10266788211722433 -40467,0.7374897531198735 -40468,0.7447181378706863 -40469,0.15308591551696937 -40470,0.5950302127979411 -40471,0.34457131409465813 -40472,0.48062476788682307 -40473,0.6930505834927725 -40474,0.8571001737392412 -40475,0.13992315362113472 -40476,0.5144921049739091 -40477,0.8547042910173014 -40478,0.25586686642155065 -40479,0.9944391260470646 -40480,0.037733048591636065 -40481,0.40139601564550886 -40482,0.9409843995422473 -40483,0.745643470768433 -40484,0.4539068953911415 -40485,0.28508830217693715 -40486,0.98274021465544 -40487,0.7050255764980083 -40488,0.6222641310725154 -40489,0.8857306769785775 -40490,0.3601456431390473 -40491,0.35776810597463726 -40492,0.6712072646966217 -40493,0.6055266627752985 -40494,0.4113660690200911 -40495,0.7660397358750737 -40496,0.3810384025996659 -40497,0.2730173921882767 -40498,0.8261277347556715 -40499,0.38502594409477087 -40500,0.04276992927940815 -40501,0.42331786420971473 -40502,0.15045364595531818 -40503,0.7039195496634708 -40504,0.5681758222647897 -40505,0.7358827093432527 -40506,0.38880095643459156 -40507,0.603651825471421 -40508,0.8858723186763975 -40509,0.007372048917311247 -40510,0.1673453327944059 -40511,0.8858130599812649 -40512,0.2871910780411998 -40513,0.8913353758527089 -40514,0.20953287667948273 -40515,0.2750387988561742 -40516,0.9460190201039373 -40517,0.20292252116779008 -40518,0.5685296386075257 -40519,0.6414656626150065 -40520,0.8861572904473677 -40521,0.5463133676367566 -40522,0.3804923568154298 -40523,0.36404025939174356 -40524,0.5590090561621732 -40525,0.5921533348713444 -40526,0.4403371782470631 -40527,0.5568017117672593 -40528,0.9051871612232266 -40529,0.7251011668853341 -40530,0.5223529088236833 -40531,0.5831391071919166 -40532,0.18019865311835492 -40533,0.839566446046287 -40534,0.18637372553623066 -40535,0.44038304084255964 -40536,0.4931760959663971 -40537,0.07164611608758842 -40538,0.9036613841293658 -40539,0.7289728604333884 -40540,0.023525970302355925 -40541,0.27024721474945035 -40542,0.8770951775844014 -40543,0.14350252292855492 -40544,0.06771960541492639 -40545,0.21236408770054904 -40546,0.08286176151443891 -40547,0.7336222399434664 -40548,0.1530202786253858 -40549,0.0024686998275766925 -40550,0.5940309633365208 -40551,0.9516810637940997 -40552,0.7412384638983083 -40553,0.6770792037402145 -40554,0.03319754277947362 -40555,0.6783767865490979 -40556,0.31103755927726284 -40557,0.8571840253462099 -40558,0.5413837776148798 -40559,0.21489978897356976 -40560,0.6579941088145159 -40561,0.7897152865062754 -40562,0.24865329956418336 -40563,0.3361275610749448 -40564,0.45392135199666883 -40565,0.669010430068931 -40566,0.25667246641962194 -40567,0.8131663892736034 -40568,0.6212044466470363 -40569,0.055214412674740254 -40570,0.06659589853039138 -40571,0.18450245985371594 -40572,0.8534991337505639 -40573,0.40687067849356706 -40574,0.059456154671154615 -40575,0.7078370876946122 -40576,0.2329246355043657 -40577,0.92808034760242 -40578,0.7638636714108863 -40579,0.6186050610928537 -40580,0.1989994204502077 -40581,0.7559940727669779 -40582,0.24795293282737096 -40583,0.03553917852535904 -40584,0.2908826798031754 -40585,0.7412285003562303 -40586,0.7436011994811718 -40587,0.8418860123983704 -40588,0.11916570656364578 -40589,0.8718686752096464 -40590,0.20071140053977343 -40591,0.3019243115902235 -40592,0.6052826218957423 -40593,0.6848921017327602 -40594,0.6035963221818378 -40595,0.4476842312536018 -40596,0.30842803430606136 -40597,0.6710593904635483 -40598,0.014271405420482663 -40599,0.4153064853708618 -40600,0.6405909106166826 -40601,0.703242287130746 -40602,0.6898517833023871 -40603,0.3061639470453189 -40604,0.24582756943628103 -40605,0.1777508868442499 -40606,0.5806330112207917 -40607,0.17799673341439326 -40608,0.26113577684998346 -40609,0.7347367924910616 -40610,0.8785352871379196 -40611,0.6491822698539215 -40612,0.8872773564926929 -40613,0.3248324201517532 -40614,0.8434620430948551 -40615,0.8666774258138187 -40616,0.3171092658953345 -40617,0.42760268483941566 -40618,0.4666069056519643 -40619,0.9111777708992704 -40620,0.774090419298037 -40621,0.11408449576692525 -40622,0.2087940729127783 -40623,0.4082607079159004 -40624,0.6142853705040643 -40625,0.5164982242419554 -40626,0.7418806688905034 -40627,0.516822652619471 -40628,0.8156222555749636 -40629,0.655953360968425 -40630,0.4671583432842553 -40631,0.8367638750793283 -40632,0.1708134436577503 -40633,0.6723048585814326 -40634,0.14296393680118502 -40635,0.3207859577757384 -40636,0.7835902741139442 -40637,0.8981585030080347 -40638,0.3740011310332201 -40639,0.43336750087842746 -40640,0.5491069277281575 -40641,0.9290812122576699 -40642,0.4426233076126821 -40643,0.8705688848212312 -40644,0.34661442723453517 -40645,0.06770106971659162 -40646,0.5697313355756166 -40647,0.636145152652967 -40648,0.4805601597477017 -40649,0.394953888699069 -40650,0.8249940159168013 -40651,0.7006569068309605 -40652,0.9573311145587649 -40653,0.7360106947621445 -40654,0.8193398469638248 -40655,0.1935892487131219 -40656,0.8596238995621727 -40657,0.39085222909681794 -40658,0.16440664975404795 -40659,0.9939893278396824 -40660,0.5340575758755244 -40661,0.3261740981054123 -40662,0.6410460464356719 -40663,0.875660897946542 -40664,0.08970218492996207 -40665,0.6106451735961126 -40666,0.8413241726867806 -40667,0.3975490783172573 -40668,0.486752612271215 -40669,0.07721995352304967 -40670,0.49499546463816313 -40671,0.4972004947345322 -40672,0.1456862515421753 -40673,0.7828462011479909 -40674,0.6886457123566715 -40675,0.5519865473835932 -40676,0.907965383570394 -40677,0.1826294051324746 -40678,0.9421331989301437 -40679,0.5080747058079619 -40680,0.10783384997340306 -40681,0.17804632496611528 -40682,0.1461025471831623 -40683,0.9590934361760023 -40684,0.532670418358838 -40685,0.9380531723240169 -40686,0.9779874609040385 -40687,0.317730678524495 -40688,0.19516903102874705 -40689,0.5931392803362296 -40690,0.624314222592893 -40691,0.9046564494313983 -40692,0.7867623692286595 -40693,0.31291193711382503 -40694,0.7277964845578511 -40695,0.10853514182901802 -40696,0.8680498007236783 -40697,0.945421154173766 -40698,0.5799498379618858 -40699,0.10566126758570038 -40700,0.9732652623085424 -40701,0.9614495023957833 -40702,0.3080775675538966 -40703,0.7137777784322579 -40704,0.30833300358731386 -40705,0.41609135757583404 -40706,0.5620800021943508 -40707,0.5201739664105424 -40708,0.680798447279222 -40709,0.6671573117639357 -40710,0.8551003120516079 -40711,0.4563843761019506 -40712,0.7157201812366305 -40713,0.5382691357202407 -40714,0.5610065284411561 -40715,0.45100953495102525 -40716,0.7453068520710657 -40717,0.18277201524727316 -40718,0.07972993817640994 -40719,0.4664638047266556 -40720,0.9769307989003856 -40721,0.6674870228466272 -40722,0.4494174613547298 -40723,0.011229326076894752 -40724,0.2950532158344443 -40725,0.08599841024277788 -40726,0.6923761098251782 -40727,0.48595156201302037 -40728,0.02844125526803154 -40729,0.46696571852117186 -40730,0.8171090110404149 -40731,0.4344939314763411 -40732,0.34896790306117054 -40733,0.30185858630204754 -40734,0.5754685979933856 -40735,0.8476484037910176 -40736,0.3612938100315586 -40737,0.817038793183528 -40738,0.7926826256027006 -40739,0.5906882969844999 -40740,0.0674388350719155 -40741,0.07249226969097944 -40742,0.27028299917998166 -40743,0.8521562768215964 -40744,0.5500245421082656 -40745,0.4431639254887664 -40746,0.18111139329820947 -40747,0.7395636568144666 -40748,0.1615371736638045 -40749,0.6139411542760659 -40750,0.28588576175359737 -40751,0.11906697725396087 -40752,0.23284332632731186 -40753,0.2132413856105807 -40754,0.4658171396419871 -40755,0.20102517601871928 -40756,0.75781279606309 -40757,0.1185296359484691 -40758,0.8987066473912657 -40759,0.7774029384124277 -40760,0.4197574637432401 -40761,0.17525694747904363 -40762,0.8442462806594428 -40763,0.6905621779911348 -40764,0.4676621585864855 -40765,0.5242321119164185 -40766,0.8586721239915085 -40767,0.8415136460332006 -40768,0.14456351271247736 -40769,0.5678971689521393 -40770,0.9211683683617307 -40771,0.6337708475159329 -40772,0.29465382068447477 -40773,0.7944940153331154 -40774,0.7689836102893746 -40775,0.6076757910016292 -40776,0.5633653103979059 -40777,0.30819438483559913 -40778,0.21758609023872877 -40779,0.8815967497771391 -40780,0.7064885192166453 -40781,0.033324165293927455 -40782,0.8037814459000814 -40783,0.8825558600786658 -40784,0.04665739993764084 -40785,0.6164264194741141 -40786,0.5454461441482107 -40787,0.14187671854695894 -40788,0.7192402004893441 -40789,0.15863060270531815 -40790,0.7502828003727855 -40791,0.44954182318854996 -40792,0.47629926364618413 -40793,0.783552602087533 -40794,0.4770598649753839 -40795,0.600323119716695 -40796,0.1443961335710432 -40797,0.8139352635590225 -40798,0.9608018797420366 -40799,0.14072423853235438 -40800,0.019805933008532395 -40801,0.6344913460134317 -40802,0.4145538661830933 -40803,0.07027601198267253 -40804,0.5560329229612138 -40805,0.08599716695637583 -40806,0.364526684157348 -40807,0.1366320627157087 -40808,0.4705605625809115 -40809,0.06108245157206049 -40810,0.8422148284700186 -40811,0.44178895644632743 -40812,0.10154344131646698 -40813,0.46788272283641363 -40814,0.13684345809245413 -40815,0.7804655616741006 -40816,0.6262233210051941 -40817,0.4779817632343887 -40818,0.9482110870234028 -40819,0.3469256882754762 -40820,0.7104360543325526 -40821,0.06768111444051073 -40822,0.2165149206310648 -40823,0.7228885997613332 -40824,0.014198426699893907 -40825,0.49919744891816964 -40826,0.13557118904115673 -40827,0.804051649333072 -40828,0.6341902523994338 -40829,0.3430392915379459 -40830,0.031186875623046784 -40831,0.010071825822294156 -40832,0.6181736806752388 -40833,0.21265036783269142 -40834,0.8130613091360387 -40835,0.2851873114423945 -40836,0.521724048120879 -40837,0.7411535674777872 -40838,0.6435357312653776 -40839,0.6839510746850875 -40840,0.11885042346210839 -40841,0.9908421993259835 -40842,0.021372632529040203 -40843,0.4140891499301085 -40844,0.7581412285124726 -40845,0.6353162281513668 -40846,0.6811909807787224 -40847,0.04841824136684303 -40848,0.4784540033272008 -40849,0.08835350825943189 -40850,0.3618374994224762 -40851,0.5653283342875611 -40852,0.7912386992518337 -40853,0.7436295349209032 -40854,0.06199596251234485 -40855,0.23473252985550708 -40856,0.47073206664664047 -40857,0.49184367068611035 -40858,0.5567815711876124 -40859,0.8627416089771279 -40860,0.8150176604327061 -40861,0.19879371641514665 -40862,0.29336070627002164 -40863,0.35733662875439987 -40864,0.5561559275685211 -40865,0.5310426086677374 -40866,0.10811750941990883 -40867,0.639411582242631 -40868,0.047258017936635976 -40869,0.9799487086573619 -40870,0.5406612023469352 -40871,0.6026632928240008 -40872,0.4470106332714546 -40873,0.5171989870911403 -40874,0.07707537700661304 -40875,0.6808478489263246 -40876,0.9002333170899026 -40877,0.7391628073866404 -40878,0.18491152606508487 -40879,0.40900722082389207 -40880,0.889090970890903 -40881,0.343764586233831 -40882,0.19451887574830296 -40883,0.2846597769166007 -40884,0.8918298701773698 -40885,0.5126463668227311 -40886,0.4424672047147621 -40887,0.44467568766113075 -40888,0.014105796564907402 -40889,0.07171147978275094 -40890,0.20878485674987168 -40891,0.13071557998062433 -40892,0.9213563042834011 -40893,0.3401742404188953 -40894,0.5942810583173502 -40895,0.3036635590232838 -40896,0.3328500637768276 -40897,0.6077149756011929 -40898,0.05044995228240001 -40899,0.850616167322974 -40900,0.4857475586690696 -40901,0.12086054990230999 -40902,0.0947102326322834 -40903,0.5181741565094358 -40904,0.04599152746799273 -40905,0.06343909336801845 -40906,0.566329288068825 -40907,0.2799816370754632 -40908,0.2259777394236474 -40909,0.9934740596882367 -40910,0.28155404842537624 -40911,0.9574303407739789 -40912,0.42434254211564126 -40913,0.17522489161774635 -40914,0.5709511031743554 -40915,0.28348525553210024 -40916,0.26140433508065564 -40917,0.12079304520750922 -40918,0.7597194542383084 -40919,0.9312176387372675 -40920,0.5253773469491307 -40921,0.5391148453979546 -40922,0.825370933254083 -40923,0.5239430438276185 -40924,0.3599629235472457 -40925,0.7414404655523813 -40926,0.8990808006309284 -40927,0.7311935038949331 -40928,0.6498658549930185 -40929,0.7666435122983659 -40930,0.42847904787179614 -40931,0.5911879556783575 -40932,0.5931771381558251 -40933,0.4494480396535757 -40934,0.5523997716503204 -40935,0.8785176114963694 -40936,0.7164716037311614 -40937,0.647742947239876 -40938,0.032756908322142286 -40939,0.10494850426377056 -40940,0.10463185893558247 -40941,0.8648102647292615 -40942,0.8570389132281504 -40943,0.2887216105553786 -40944,0.7056183067163377 -40945,0.6792901690775424 -40946,0.8436897221207275 -40947,0.3559197300982183 -40948,0.6667071031869105 -40949,0.09862004342482733 -40950,0.14076314034137094 -40951,0.26452260208406797 -40952,0.6453014875122537 -40953,0.6652556679796299 -40954,0.45619237421661607 -40955,0.7902190686617215 -40956,0.9197493288907699 -40957,0.1917754006404787 -40958,0.8832979374509315 -40959,0.6377204795821589 -40960,0.9535747930919409 -40961,0.6796240792397739 -40962,0.9587303542150124 -40963,0.08748323909673683 -40964,0.6132014303730597 -40965,0.3418229674951947 -40966,0.22915006794005877 -40967,0.7907887799444918 -40968,0.2498298956474303 -40969,0.5429477076286521 -40970,0.5938754111655947 -40971,0.8620847747654681 -40972,0.7675533104263834 -40973,0.8751311744488123 -40974,0.0995254973150016 -40975,0.49140724128775215 -40976,0.69136446264588 -40977,0.10589933705713761 -40978,0.3116972839137584 -40979,0.2186760816445691 -40980,0.7440484451792009 -40981,0.12372318838812901 -40982,0.8300594065915182 -40983,0.9829156294670177 -40984,0.21393184455371494 -40985,0.7968028593581328 -40986,0.4033287922968044 -40987,0.6796389460880154 -40988,0.06186081330224957 -40989,0.7705984493391598 -40990,0.6371314790457245 -40991,0.4373935860127537 -40992,0.7845718414935539 -40993,0.7058358726476478 -40994,0.971976389881256 -40995,0.8390523624870554 -40996,0.481079707020466 -40997,0.6757906495607088 -40998,0.9828129548884987 -40999,0.11494021059886694 -41000,0.9104258863816883 -41001,0.4036845788057932 -41002,0.9833925647293705 -41003,0.5404535166106132 -41004,0.2934884797975593 -41005,0.6724775037900337 -41006,0.5961648970945024 -41007,0.0924947275261423 -41008,0.2990663688320494 -41009,0.586951152657286 -41010,0.9116929560013008 -41011,0.04217557531026628 -41012,0.8857304109028421 -41013,0.9543213828871815 -41014,0.8921726565378445 -41015,0.014924528669938653 -41016,0.22891949052465255 -41017,0.2432839143914215 -41018,0.5873032720943713 -41019,0.7623536722226191 -41020,0.4782760107285309 -41021,0.38007686568968624 -41022,0.36288467873402774 -41023,0.97106251324837 -41024,0.2180408786372695 -41025,0.051102036085643676 -41026,0.306689701902514 -41027,0.2252844404616159 -41028,0.6826744544958453 -41029,0.5974289125037286 -41030,0.4924479760420607 -41031,0.5457136131598979 -41032,0.027482548258357498 -41033,0.19158523604436728 -41034,0.24242850240620661 -41035,0.18922638073107245 -41036,0.8209551282506914 -41037,0.1916608564344231 -41038,0.6009009250386642 -41039,0.5117643695010438 -41040,0.9700301208501507 -41041,0.880463136290852 -41042,0.5954198370641789 -41043,0.9160865990956425 -41044,0.9131060532521256 -41045,0.1379990362340464 -41046,0.26742128523297826 -41047,0.5749237186524533 -41048,0.41679372356636823 -41049,0.9436288635292026 -41050,0.13527726429096487 -41051,0.35382635773596516 -41052,0.33996282254865795 -41053,0.7933694817848902 -41054,0.13384827633401553 -41055,0.8267961549208431 -41056,0.44142070041538584 -41057,0.13858304200672766 -41058,0.3501722412138575 -41059,0.12677428054173845 -41060,0.3063288157169284 -41061,0.7049333550197685 -41062,0.6398494172951908 -41063,0.15665807183277936 -41064,0.1459632074045224 -41065,0.9754033299634806 -41066,0.7756196076203419 -41067,0.4158704126610736 -41068,0.6914743327196192 -41069,0.6857925475141263 -41070,0.8853247344904 -41071,0.2522236973817189 -41072,0.7224402091560764 -41073,0.8356144284889622 -41074,0.2550779879748507 -41075,0.2946163834317487 -41076,0.5179621947715451 -41077,0.8631259732101569 -41078,0.48752766679834936 -41079,0.5819210323728986 -41080,0.8333324582473253 -41081,0.6058447857195538 -41082,0.6465961925844254 -41083,0.02755312203012572 -41084,0.566579280935576 -41085,0.4007466593573362 -41086,0.881163093859513 -41087,0.5221348983697363 -41088,0.3681714825830583 -41089,0.47312392311243623 -41090,0.31527578370976483 -41091,0.1776147170220269 -41092,0.8055994528475554 -41093,0.9878511815788613 -41094,0.30376419052483405 -41095,0.7412674278329616 -41096,0.7320114534679069 -41097,0.7712460797513659 -41098,0.9669486795757797 -41099,0.5889909768096219 -41100,0.7484554069537173 -41101,0.5793992389808957 -41102,0.5685598243549768 -41103,0.8615084773182525 -41104,0.1956381689381015 -41105,0.8653329028098629 -41106,0.3822585234444441 -41107,0.4124316588040351 -41108,0.39431791438987607 -41109,0.5498533334583693 -41110,0.9577810932994021 -41111,0.6218961171215492 -41112,0.4610324263837309 -41113,0.9353186077528238 -41114,0.7729010753285279 -41115,0.3312516553771556 -41116,0.5667985866550673 -41117,0.8393900191441049 -41118,0.471326312990067 -41119,0.7959437743578393 -41120,0.5519146957025435 -41121,0.0037262510797626547 -41122,0.2290902003803671 -41123,0.9352410981078082 -41124,0.37326641679677797 -41125,0.9861777082571787 -41126,0.24211666641337226 -41127,0.8664800144538135 -41128,0.1582695177820327 -41129,0.745651755373424 -41130,0.7661853516594436 -41131,0.6171397616552566 -41132,0.9283179938805052 -41133,0.002462049790288412 -41134,0.5396570186724151 -41135,0.6752593814217704 -41136,0.9717856710422232 -41137,0.7900732699008995 -41138,0.5421459782806622 -41139,0.1732517529719616 -41140,0.8096775591898048 -41141,0.7041987648922646 -41142,0.45536341577434614 -41143,0.19562091282948335 -41144,0.6178354025383801 -41145,0.26533849673284715 -41146,0.22709811295113258 -41147,0.012951165092679351 -41148,0.8522407419265874 -41149,0.6643056554296832 -41150,0.31983560643239195 -41151,0.9758374165456004 -41152,0.5665669722612635 -41153,0.9511763015183873 -41154,0.3522749612796605 -41155,0.3388894496236162 -41156,0.0994707301737231 -41157,0.2867856224959878 -41158,0.11650089953760967 -41159,0.2036543182861611 -41160,0.43813119267620493 -41161,0.03081821080078362 -41162,0.3337483103146648 -41163,0.38005678015506705 -41164,0.16275388955365455 -41165,0.44306337776678784 -41166,0.41018850640847826 -41167,0.4143054245949692 -41168,0.6344942246984794 -41169,0.06827237205491965 -41170,0.43212527827289426 -41171,0.10366901981808474 -41172,0.9451413913015956 -41173,0.31815638773878885 -41174,0.8275101515557484 -41175,0.9994803332551074 -41176,0.6729938704228516 -41177,0.21957603975694429 -41178,0.30597081327324194 -41179,0.39794225524208016 -41180,0.27669949360484336 -41181,0.8937412281617689 -41182,0.3098146926718153 -41183,0.37789563415882643 -41184,0.8856274436177631 -41185,0.41939275623056815 -41186,0.4900111388195756 -41187,0.9610468387213262 -41188,0.4721783649619672 -41189,0.887905704038156 -41190,0.9232865484763426 -41191,0.912995132185945 -41192,0.9906906742232324 -41193,0.7587609695138868 -41194,0.5882162219967455 -41195,0.17178252522981896 -41196,0.9592923457232797 -41197,0.5237589363655494 -41198,0.9347492933777165 -41199,0.0817733529217225 -41200,0.42631578347589927 -41201,0.5969402272592769 -41202,0.18788765005314434 -41203,0.7302729159079677 -41204,0.4468079385422241 -41205,0.22828387161817176 -41206,0.7138420905763132 -41207,0.42225430599152125 -41208,0.20313805703128152 -41209,0.8700363407737278 -41210,0.4907887931150561 -41211,0.6210313632320852 -41212,0.4015165342152056 -41213,0.6597841034505728 -41214,0.09793546014326004 -41215,0.9970337665268382 -41216,0.584406481965215 -41217,0.8584482774291577 -41218,0.7747749251300906 -41219,0.7545836435608555 -41220,0.6300860918891275 -41221,0.7341688404358909 -41222,0.8042385703576013 -41223,0.5570070657873298 -41224,0.9744135288067942 -41225,0.8955061880405333 -41226,0.008683428203034804 -41227,0.6569418318581008 -41228,0.9890845793853279 -41229,0.308005217904853 -41230,0.5159446061412146 -41231,0.4501759895252565 -41232,0.7614183291129528 -41233,0.8241309089198209 -41234,0.0003601109981038464 -41235,0.3341279795708929 -41236,0.9511778458167837 -41237,0.683222574897735 -41238,0.7616236226633699 -41239,0.626739386371884 -41240,0.6498329792445027 -41241,0.5534290733412568 -41242,0.6020295159952808 -41243,0.7643502962679134 -41244,0.007262314564593364 -41245,0.9948910598473774 -41246,0.5129846641303014 -41247,0.9548311335856939 -41248,0.28845859682689823 -41249,0.43297952371995585 -41250,0.9169817877128215 -41251,0.21931414565463392 -41252,0.7443245177161582 -41253,0.8005409081773356 -41254,0.8416268052895337 -41255,0.5172352285565679 -41256,0.11539658567858291 -41257,0.3512655941628763 -41258,0.522028293837486 -41259,0.823909148415742 -41260,0.6262472387155518 -41261,0.7098366181456012 -41262,0.09286424789402381 -41263,0.319567783071653 -41264,0.8950709472211955 -41265,0.6689998610833255 -41266,0.2254704772705558 -41267,0.13527946747109865 -41268,0.1809166770418632 -41269,0.19333611361686065 -41270,0.7406269019861631 -41271,0.5777273111672193 -41272,0.2957016208966261 -41273,0.7253179070705024 -41274,0.9748064901402873 -41275,0.47336371301326163 -41276,0.765140134983486 -41277,0.5718493284405254 -41278,0.9603371390743314 -41279,0.5649937935722875 -41280,0.1589022874139253 -41281,0.6818005039444751 -41282,0.6399139137156357 -41283,0.499443662631306 -41284,0.2718614250858953 -41285,0.08562949125454533 -41286,0.8455692839557886 -41287,0.044528720123821364 -41288,0.8120169556689063 -41289,0.07284990388545642 -41290,0.6089696995333818 -41291,0.16977167085817724 -41292,0.9968332902307139 -41293,0.30834425049155534 -41294,0.45732263370231696 -41295,0.2848267117637413 -41296,0.8843111853867778 -41297,0.3753970957918159 -41298,0.9117761873448923 -41299,0.22234695337679466 -41300,0.2204025393915 -41301,0.8240947149173281 -41302,0.058261775694761986 -41303,0.1916615083770291 -41304,0.7856875654658123 -41305,0.9935125785357105 -41306,0.794765609258932 -41307,0.4406962527977657 -41308,0.5818780991026702 -41309,0.06915527420647238 -41310,0.46841991192648524 -41311,0.7436863191038452 -41312,0.3401714858997462 -41313,0.5877402083556936 -41314,0.8057647592091874 -41315,0.25285571640652205 -41316,0.6679141142147039 -41317,0.5015126396535216 -41318,0.9290185703062352 -41319,0.3514075695802291 -41320,0.2691335033677723 -41321,0.007302121658287919 -41322,0.13174673877829668 -41323,0.2835241374949622 -41324,0.3007272314754621 -41325,0.875601616651173 -41326,0.7813350623733418 -41327,0.09288955459080206 -41328,0.9374946297462838 -41329,0.7932735145599678 -41330,0.6201821112783406 -41331,0.5820636538533387 -41332,0.17657300573813473 -41333,0.75575539422541 -41334,0.994233811172056 -41335,0.5511763311043418 -41336,0.7939707145478974 -41337,0.8821933476969751 -41338,0.36881229513670744 -41339,0.015525342661328434 -41340,0.15220249463160362 -41341,0.9897846221955936 -41342,0.7782337862770282 -41343,0.3064204262198271 -41344,0.4397527609107127 -41345,0.31227563085671395 -41346,0.9992234655699325 -41347,0.9372546150151667 -41348,0.688829666193524 -41349,0.7351560410967254 -41350,0.4673895689389319 -41351,0.6870941679815152 -41352,0.6430541982654284 -41353,0.3204155121123582 -41354,0.4785841871660259 -41355,0.025657584779148257 -41356,0.326963190431371 -41357,0.9925845652007375 -41358,0.1717903818068348 -41359,0.9403541799711581 -41360,0.5578916998278424 -41361,0.79590912021343 -41362,0.1359621297364043 -41363,0.6099982401022485 -41364,0.1154546832139488 -41365,0.051904768819947655 -41366,0.8980547105677634 -41367,0.59025704091113 -41368,0.9199538782414514 -41369,0.49846573132917305 -41370,0.8208864137638993 -41371,0.060045898489892946 -41372,0.38061029210757624 -41373,0.5735251756759063 -41374,0.5533734923836284 -41375,0.7861216374587383 -41376,0.9217042224805845 -41377,0.4337710584925636 -41378,0.5224601629946706 -41379,0.6284190899814821 -41380,0.5146589405605376 -41381,0.5442918931167797 -41382,0.7530237662365533 -41383,0.280635543250609 -41384,0.2488656464512048 -41385,0.3926260920863456 -41386,0.4741263603184056 -41387,0.6350479840321757 -41388,0.46210376617387683 -41389,0.3870874612500884 -41390,0.24948443346083582 -41391,0.39355770987804806 -41392,0.7652552414881754 -41393,0.6500017044464242 -41394,0.09472026330193117 -41395,0.13623605955591245 -41396,0.541535930714317 -41397,0.9162787917394916 -41398,0.5522555502099541 -41399,0.21374935297038222 -41400,0.4387554266379067 -41401,0.9684834236235482 -41402,0.3542183227271122 -41403,0.5846749277159248 -41404,0.3046123800552658 -41405,0.7873698366251868 -41406,0.37393650652670507 -41407,0.5342955543271316 -41408,0.3766671270516525 -41409,0.9066534446835252 -41410,0.9129511742421187 -41411,0.5708761340333425 -41412,0.19215462773708636 -41413,0.946778378502016 -41414,0.25045509091181395 -41415,0.07777588504270716 -41416,0.851367875775085 -41417,0.6918316097590269 -41418,0.7652153886912239 -41419,0.9180437822411118 -41420,0.1193201561802214 -41421,0.7849471211871747 -41422,0.7951264903576298 -41423,0.7805210322812586 -41424,0.7101899336898965 -41425,0.3573194079955704 -41426,0.7588011175701239 -41427,0.2189836779558305 -41428,0.13043251170929626 -41429,0.1459656139274642 -41430,0.11144718411363885 -41431,0.0539358560239922 -41432,0.12758718602890762 -41433,0.8023077005274757 -41434,0.3676961080291712 -41435,0.7804313171877819 -41436,0.12888088672121678 -41437,0.3661435602890356 -41438,0.16696114270462048 -41439,0.6006153464330549 -41440,0.6210329491631795 -41441,0.43720976223508445 -41442,0.8445476929081857 -41443,0.1122363540846888 -41444,0.5917263252074919 -41445,0.2878906679242663 -41446,0.06977085629300217 -41447,0.8360425026790731 -41448,0.20507054088223076 -41449,0.8791448064973235 -41450,0.9128922518468563 -41451,0.8682614282439394 -41452,0.052773863766761964 -41453,0.9746223965208568 -41454,0.8654595461943766 -41455,0.7898831882593206 -41456,0.8691910671521589 -41457,0.45453504495273733 -41458,0.4559043712978186 -41459,0.7584901976334447 -41460,0.8346857174034641 -41461,0.3466207323003865 -41462,0.17449948238546165 -41463,0.5220506429570514 -41464,0.6523795695417611 -41465,0.7208353470646048 -41466,0.21641072865232802 -41467,0.6492933131791346 -41468,0.14183388748132542 -41469,0.3333297279948402 -41470,0.5380167590037798 -41471,0.3413092268055681 -41472,0.2840431587746787 -41473,0.41277000152598176 -41474,0.24298695355740896 -41475,0.14708002223253114 -41476,0.3038678728207692 -41477,0.8873094917152201 -41478,0.648071700575301 -41479,0.9053560543505891 -41480,0.6537003245675835 -41481,0.295436258530573 -41482,0.8262631414774124 -41483,0.5081960689779588 -41484,0.039533350816046475 -41485,0.6824621898187413 -41486,0.8685670679669034 -41487,0.5722649935183329 -41488,0.23247059213742527 -41489,0.4386031878673644 -41490,0.8836562540414319 -41491,0.6731039512109112 -41492,0.11664237879348571 -41493,0.6964259095291243 -41494,0.25070123570921277 -41495,0.8128157581169041 -41496,0.6114932563702781 -41497,0.9023611376879139 -41498,0.8989061854495988 -41499,0.09878473232450324 -41500,0.3059485070139296 -41501,0.34008185945061853 -41502,0.6062127630192349 -41503,0.582964347179318 -41504,0.027938615619425677 -41505,0.3804550036721879 -41506,0.04272872546929829 -41507,0.007846823591185714 -41508,0.7349947446905707 -41509,0.10340830901970222 -41510,0.6508086867660736 -41511,0.976094105012741 -41512,0.8070268148076783 -41513,0.4087658132988695 -41514,0.4817822827943775 -41515,0.5181520286774092 -41516,0.6049734011100357 -41517,0.4567896619185744 -41518,0.37049138919287783 -41519,0.5955252801221819 -41520,0.1550694918332466 -41521,0.21946413004008714 -41522,0.2615289299054052 -41523,0.429896221626354 -41524,0.9249965497481486 -41525,0.3653853988141633 -41526,0.6054776322443689 -41527,0.447167891275145 -41528,0.5701283334177879 -41529,0.20064654448659114 -41530,0.39051997350051804 -41531,0.35137211799436785 -41532,0.11966650228993803 -41533,0.23239909080452592 -41534,0.6330152299908292 -41535,0.24496726446940986 -41536,0.7210118648013731 -41537,0.17426259529961785 -41538,0.040120437368129425 -41539,0.5057085964365666 -41540,0.6322971924913076 -41541,0.738974863193203 -41542,0.3908042493608279 -41543,0.9276907044514306 -41544,0.41675673287254555 -41545,0.5545595598805297 -41546,0.40061200967915334 -41547,0.9389868093642612 -41548,0.17037709888373231 -41549,0.8364994125528618 -41550,0.8687802259703737 -41551,0.9942430575073431 -41552,0.25000364801063135 -41553,0.15010138108208948 -41554,0.38149343785382706 -41555,0.8581874272914284 -41556,0.7006679406265783 -41557,0.4942738313031638 -41558,0.26500037428063494 -41559,0.5328475277252084 -41560,0.3409402533165504 -41561,0.2247048337718187 -41562,0.9400101509752616 -41563,0.4073267182352889 -41564,0.6562041772880981 -41565,0.6711347849717109 -41566,0.20338449722476948 -41567,0.7263988563836802 -41568,0.42602696763930714 -41569,0.8850726437726367 -41570,0.11214343520522818 -41571,0.19934027516577235 -41572,0.5703190517820129 -41573,0.3916769333707212 -41574,0.008578433929426255 -41575,0.4385270626299761 -41576,0.3044321254583008 -41577,0.7693124596534475 -41578,0.9067775600338382 -41579,0.8843929840619862 -41580,0.6621767913430383 -41581,0.489078975057185 -41582,0.3593335805161829 -41583,0.6559585683638063 -41584,0.6749111038638306 -41585,0.6918719742255636 -41586,0.43896085503821647 -41587,0.4802801403256083 -41588,0.25239829068400976 -41589,0.523197157538083 -41590,0.7878238379592843 -41591,0.4934927158676252 -41592,0.4772455737247606 -41593,0.09809671394568342 -41594,0.8044202617414631 -41595,0.8619742034649793 -41596,0.2733321333440353 -41597,0.3867956705291452 -41598,0.13561282056780843 -41599,0.1293322485699483 -41600,0.9943217283842838 -41601,0.5781079667170136 -41602,0.8914346706218298 -41603,0.9272989284888139 -41604,0.8260981078477839 -41605,0.09720970423885666 -41606,0.00031555483183398625 -41607,0.7344918180774255 -41608,0.05153081486237443 -41609,0.6381546832179624 -41610,0.652353724614639 -41611,0.6250270073984423 -41612,0.7917509454314638 -41613,0.12745336575664512 -41614,0.5536628335980709 -41615,0.02008082106421527 -41616,0.18690616592405873 -41617,0.5150310489294918 -41618,0.484858716555311 -41619,0.9593594190088272 -41620,0.9177233638149846 -41621,0.759659510082765 -41622,0.12569286769446386 -41623,0.623426650650034 -41624,0.1316793720377475 -41625,0.9291256866254235 -41626,0.5258246129119768 -41627,0.6631083530751825 -41628,0.17784875952706536 -41629,0.7694306247188297 -41630,0.675142332900355 -41631,0.7470178414209642 -41632,0.7420633478249812 -41633,0.5159890494976569 -41634,0.7004778080771626 -41635,0.7398053033368469 -41636,0.06326317120746072 -41637,0.6094571511765926 -41638,0.642722818823641 -41639,0.27982498520927257 -41640,0.8168137149765348 -41641,0.47921316125519187 -41642,0.853931706890357 -41643,0.11588299591037166 -41644,0.701366879307935 -41645,0.7077291053373805 -41646,0.9565519471292624 -41647,0.45175032839010865 -41648,0.7544565409940077 -41649,0.3691493265783874 -41650,0.47993923551576634 -41651,0.7350834045473041 -41652,0.5205786786591229 -41653,0.26412065457264144 -41654,0.39839871251543746 -41655,0.17089205956167042 -41656,0.4334321355665116 -41657,0.957127308735273 -41658,0.7830511175421094 -41659,0.13143331996045493 -41660,0.5564409661402346 -41661,0.35694021734168346 -41662,0.9449801084747039 -41663,0.16044435303738813 -41664,0.07466927256131795 -41665,0.9374619947554884 -41666,0.2637693943732917 -41667,0.928335081930462 -41668,0.9453607587320392 -41669,0.6935689264676282 -41670,0.12653867763171334 -41671,0.5995267795809827 -41672,0.48754201461469004 -41673,0.21096641672945204 -41674,0.17120827594640498 -41675,0.29211038377148035 -41676,0.28349779041270096 -41677,0.4963204898102409 -41678,0.12116084483581802 -41679,0.2657201454743331 -41680,0.2056536116469707 -41681,0.5056213920173681 -41682,0.3624038483418054 -41683,0.004197676541466189 -41684,0.38540436475921636 -41685,0.831055637289173 -41686,0.7557384057270681 -41687,0.3373715205490694 -41688,0.917230113712202 -41689,0.3215734784915294 -41690,0.8952945421522774 -41691,0.16903956903478556 -41692,0.25744400007523816 -41693,0.7649333210979079 -41694,0.002873284003530041 -41695,0.4323005929486222 -41696,0.6186985960105079 -41697,0.30013152265596754 -41698,0.22604246340070855 -41699,0.9125467548502653 -41700,0.5514117449262392 -41701,0.5672521425389834 -41702,0.4454076614337448 -41703,0.04500243774464563 -41704,0.41288575418839835 -41705,0.29648527881566 -41706,0.9914868893722134 -41707,0.0643692352900862 -41708,0.9109123042813314 -41709,0.5615552820241856 -41710,0.8333413230417273 -41711,0.17946295035463877 -41712,0.13520833149262113 -41713,0.9144033570971011 -41714,0.25801918169878246 -41715,0.4061394503942829 -41716,0.24533836948845378 -41717,0.0907626904640857 -41718,0.1104368677498605 -41719,0.3211838382799591 -41720,0.22545629507423492 -41721,0.050919855519606205 -41722,0.9919308095293808 -41723,0.0709803213961473 -41724,0.57427222268229 -41725,0.7471868332437823 -41726,0.7203240749832389 -41727,0.29269781572437126 -41728,0.3340921479397999 -41729,0.9389029126819217 -41730,0.8359738056293047 -41731,0.7746853070424538 -41732,0.18113952158332713 -41733,0.1321344628783767 -41734,0.8559362947449894 -41735,0.06406242239372772 -41736,0.7112699856356222 -41737,0.03629239224530867 -41738,0.9741278787285702 -41739,0.8510621562650582 -41740,0.8574984304009428 -41741,0.18022906030621688 -41742,0.39718394162945525 -41743,0.005454320316457983 -41744,0.6706473780188558 -41745,0.8982812004572213 -41746,0.3969078600838991 -41747,0.587387531492785 -41748,0.3605967086830171 -41749,0.5045547361274302 -41750,0.5252066035191193 -41751,0.5570544414265016 -41752,0.2662581236722207 -41753,0.10221568671374948 -41754,0.8555228719616714 -41755,0.34183673117680224 -41756,0.5973682833963921 -41757,0.5267314391885998 -41758,0.5533153337343321 -41759,0.7978120892248566 -41760,0.8185649421307265 -41761,0.18046109444349323 -41762,0.0435670274426434 -41763,0.3140236510466302 -41764,0.9436499671391047 -41765,0.00685865744469083 -41766,0.9754997805190125 -41767,0.000737368394265081 -41768,0.6764012840720978 -41769,0.3831312115212496 -41770,0.37810507480262767 -41771,0.8785130174141494 -41772,0.05616081586397392 -41773,0.17993520707271682 -41774,0.371334416519024 -41775,0.12335892685924943 -41776,0.2980878985399257 -41777,0.7693342670321645 -41778,0.6483414714920006 -41779,0.6043265530560203 -41780,0.592434339979413 -41781,0.8729007858424898 -41782,0.5862783704634511 -41783,0.03743855793950002 -41784,0.21429106489795569 -41785,0.03564812326144107 -41786,0.45869881203765017 -41787,0.09929441475127454 -41788,0.004435529766427471 -41789,0.3928328606929189 -41790,0.5536476966449508 -41791,0.026944391446484972 -41792,0.7669672777183612 -41793,0.25267704915008726 -41794,0.6422818455496863 -41795,0.4398836610162894 -41796,0.1792049030968913 -41797,0.7809063990989838 -41798,0.03924620599553574 -41799,0.012990607887664152 -41800,0.02038909389992083 -41801,0.7253200472558208 -41802,0.9912890099817221 -41803,0.8555112038108623 -41804,0.17801399419433062 -41805,0.46121071366847743 -41806,0.18080697675296376 -41807,0.7249404826669319 -41808,0.5328589728741455 -41809,0.2886206953762034 -41810,0.030125158619934478 -41811,0.5210728846556069 -41812,0.7549880120459558 -41813,0.8849315899841349 -41814,0.12588811042320525 -41815,0.36320532922697446 -41816,0.41378163374834454 -41817,0.7074436553133084 -41818,0.24617982722645237 -41819,0.7860019262814557 -41820,0.44210845446440294 -41821,0.37001763914189534 -41822,0.8576181027048061 -41823,0.5340367446171546 -41824,0.3190401815387607 -41825,0.08514460185991712 -41826,0.014678404349850904 -41827,0.4458729041185818 -41828,0.5521241259251022 -41829,0.9173368045506419 -41830,0.9679383218640393 -41831,0.8170362261384507 -41832,0.04995508287788708 -41833,0.5118144456869158 -41834,0.22532157991782387 -41835,0.7344073759093178 -41836,0.7474920753577153 -41837,0.5955995166303383 -41838,0.738333347767431 -41839,0.9807483796796634 -41840,0.4015482242183427 -41841,0.5035502356593924 -41842,0.98916526348245 -41843,0.08589275503779459 -41844,0.1800107143583436 -41845,0.5914913148424382 -41846,0.507310624664812 -41847,0.1417356042574056 -41848,0.05941557068531045 -41849,0.9467864726355185 -41850,0.7307033867388695 -41851,0.750987729929049 -41852,0.8986548420042244 -41853,0.6172874799502783 -41854,0.8364913561258536 -41855,0.2945473786912599 -41856,0.34734814407004344 -41857,0.476360085667192 -41858,0.5046354119328611 -41859,0.23944348604897325 -41860,0.6634672115421191 -41861,0.9927007876652761 -41862,0.6935235568328674 -41863,0.5418272021099342 -41864,0.5165445129194124 -41865,0.4678715859696453 -41866,0.4334810455662459 -41867,0.19527275344107387 -41868,0.4385970854176069 -41869,0.9803308015430585 -41870,0.07325691033731718 -41871,0.6435710446190219 -41872,0.5857853051015995 -41873,0.57692879969303 -41874,0.374219171476983 -41875,0.29988764990655603 -41876,0.47763067885294475 -41877,0.9813501743818012 -41878,0.8929644566461491 -41879,0.11171194960409714 -41880,0.3133932143453364 -41881,0.5028904095474473 -41882,0.2768891517988411 -41883,0.15980699528893805 -41884,0.16708906858857775 -41885,0.37280300571313363 -41886,0.16787869467928251 -41887,0.8196092184545352 -41888,0.5438022751770165 -41889,0.10855112662271071 -41890,0.9786440227699204 -41891,0.1437058202551772 -41892,0.8073478253736377 -41893,0.22221105368693406 -41894,0.3182846374395879 -41895,0.007992716930085297 -41896,0.2661095753226619 -41897,0.0402746576232349 -41898,0.8372091814581342 -41899,0.21428729557728 -41900,0.016841994029473284 -41901,0.8097285674565562 -41902,0.9666991272173936 -41903,0.13071372696636807 -41904,0.883968012921201 -41905,0.7740492820435536 -41906,0.7989597824017101 -41907,0.1886639856994322 -41908,0.2746958580860903 -41909,0.5372439744682121 -41910,0.8732295922488702 -41911,0.5390419593847652 -41912,0.993103187063287 -41913,0.05188705142634309 -41914,0.2598255523488108 -41915,0.49837695187493114 -41916,0.6821541621926123 -41917,0.2627024009324521 -41918,0.8181776661305213 -41919,0.8546016120503478 -41920,0.719031442193736 -41921,0.3005799573795659 -41922,0.6205308911829011 -41923,0.07717342400910565 -41924,0.08256635563606951 -41925,0.5167598345973317 -41926,0.2532689346875633 -41927,0.7176971046268859 -41928,0.524933174060581 -41929,0.17467137177524383 -41930,0.9075148882957436 -41931,0.7555342426633397 -41932,0.2929942489653734 -41933,0.015903183765742623 -41934,0.08117786563602614 -41935,0.7588923918728275 -41936,0.8662429112887972 -41937,0.338364665158968 -41938,0.3631867874622068 -41939,0.5433079842292369 -41940,0.8937263603857093 -41941,0.5937913748745614 -41942,0.8226092062288662 -41943,0.254380371948956 -41944,0.5313552627970142 -41945,0.29975917550244124 -41946,0.16521849211896644 -41947,0.6156455487751821 -41948,0.13247035840571408 -41949,0.06909814168215922 -41950,0.7736218237613463 -41951,0.13474381227366006 -41952,0.9021662291270025 -41953,0.31022764493782795 -41954,0.6006055819704812 -41955,0.5917023413956167 -41956,0.8742561238762673 -41957,0.07941450190011967 -41958,0.7394102776979675 -41959,0.6964286223524354 -41960,0.4025815708270839 -41961,0.5222122342003703 -41962,0.38675672204139067 -41963,0.3030830109850736 -41964,0.7511809389806754 -41965,0.948591855344558 -41966,0.2929518560757042 -41967,0.18044290838773958 -41968,0.3860227581717053 -41969,0.030232101036776537 -41970,0.021474255453544533 -41971,0.46829148939343057 -41972,0.9945957146776095 -41973,0.5984353676876184 -41974,0.30447359791830275 -41975,0.8664495512607803 -41976,0.16187869080085437 -41977,0.506507071813683 -41978,0.17753468302707087 -41979,0.12294542450986079 -41980,0.8602928430914033 -41981,0.5127847954043506 -41982,0.5479925138924654 -41983,0.5658464369619293 -41984,0.8918938596475504 -41985,0.8198627017619851 -41986,0.04139929347185778 -41987,0.5540869447911793 -41988,0.13440078226603447 -41989,0.5345109056311041 -41990,0.41101576567343545 -41991,0.8789259470638295 -41992,0.10563223986905834 -41993,0.9039074525682621 -41994,0.01686638502401505 -41995,0.09551431623925044 -41996,0.7646398043046974 -41997,0.7303158218390402 -41998,0.5119424215208063 -41999,0.14176444808919464 -42000,0.45736392581001484 -42001,0.6138016216812365 -42002,0.2379934404184152 -42003,0.6793767967359513 -42004,0.00812996555136658 -42005,0.838743277537658 -42006,0.5910607231453353 -42007,0.18658079058099908 -42008,0.8347500778684611 -42009,0.8955703785354998 -42010,0.0012958407795500282 -42011,0.34248750370851866 -42012,0.3493905371773691 -42013,0.36147051343302095 -42014,0.8719209949723185 -42015,0.9429426191581469 -42016,0.8756213292440619 -42017,0.24216146128338722 -42018,0.865736432062424 -42019,0.6941325457151251 -42020,0.41851361382929 -42021,0.8475482303197575 -42022,0.2377352740686275 -42023,0.1615107341914367 -42024,0.051993443666407346 -42025,0.2058464605079986 -42026,0.7287471493744084 -42027,0.9947674070101981 -42028,0.12460707627140932 -42029,0.8870622686577627 -42030,0.5917951123054567 -42031,0.6192474336273665 -42032,0.1334339205568853 -42033,0.21346085282109173 -42034,0.14521747476761293 -42035,0.3520373468451774 -42036,0.8781305401207748 -42037,0.9602640788120287 -42038,0.1348061997883574 -42039,0.4987834544401706 -42040,0.23695592647120045 -42041,0.38767144959535993 -42042,0.8274466570066152 -42043,0.6966220107252717 -42044,0.7146162467007912 -42045,0.34538182986750565 -42046,0.13923355655148528 -42047,0.5873218989763207 -42048,0.36559258467245337 -42049,0.5232692794531288 -42050,0.9874724864435882 -42051,0.5601386720117594 -42052,0.9548858474695974 -42053,0.494561164044066 -42054,0.9316137495608522 -42055,0.9698814400884168 -42056,0.3470185778629793 -42057,0.7018409140162607 -42058,0.0773418137441243 -42059,0.3679214151087128 -42060,0.7536273895422738 -42061,0.7155226228193424 -42062,0.652735766070835 -42063,0.3469558516758362 -42064,0.7689870243788411 -42065,0.7746605305620041 -42066,0.07034359644193622 -42067,0.4581456643428733 -42068,0.4896144397007228 -42069,0.7554367138577905 -42070,0.9328588299219029 -42071,0.8569563118853301 -42072,0.9952434467102044 -42073,0.05348945480288414 -42074,0.7298884876234575 -42075,0.7081267744520618 -42076,0.6967566279544076 -42077,0.9938445109407276 -42078,0.3525041417580129 -42079,0.09645257348463843 -42080,0.414384993229583 -42081,0.45305627001165627 -42082,0.5800301882547518 -42083,0.708791597950994 -42084,0.9320603952268346 -42085,0.011112956676036734 -42086,0.6336760510022459 -42087,0.04407929167203728 -42088,0.1904363771283093 -42089,0.37256012598808586 -42090,0.5947986451528064 -42091,0.21448021290014008 -42092,0.42087778128912945 -42093,0.6649456927742042 -42094,0.740743347081459 -42095,0.49315966150470414 -42096,0.1409887920996512 -42097,0.6822396509853994 -42098,0.2404511118335667 -42099,0.487448189788413 -42100,0.2624066477075211 -42101,0.03899777083193845 -42102,0.9595539756849591 -42103,0.7815912432002146 -42104,0.09568071403286871 -42105,0.6752997292961795 -42106,0.38725873229842 -42107,0.1803806325819446 -42108,0.6963091553611542 -42109,0.9221691911016735 -42110,0.04316301166926595 -42111,0.07095032264750312 -42112,0.3304346065535235 -42113,0.4923570994805542 -42114,0.18061698400304338 -42115,0.5104438740065436 -42116,0.876672731880868 -42117,0.44675694728205706 -42118,0.4808852663339135 -42119,0.9845802723057874 -42120,0.3932586695765523 -42121,0.7124939819266625 -42122,0.5427248636185533 -42123,0.5464751427054293 -42124,0.7481879138330445 -42125,0.7087435796694638 -42126,0.411214712618329 -42127,0.19792779497234514 -42128,0.46923431143650596 -42129,0.20306353973090574 -42130,0.41560219230858264 -42131,0.796082131904048 -42132,0.29091741858823716 -42133,0.6997674555426482 -42134,0.9150845864388886 -42135,0.4194714455428121 -42136,0.40900055281155545 -42137,0.46298665945625084 -42138,0.5579851617276126 -42139,0.04323334803018508 -42140,0.4488746265897047 -42141,0.27737095492941044 -42142,0.5875911079651441 -42143,0.09755920189977085 -42144,0.051507333769604036 -42145,0.17353447977771386 -42146,0.8165682208104531 -42147,0.6591992930563672 -42148,0.4629310981654131 -42149,0.9606119280246086 -42150,0.8635163541390173 -42151,0.35194271841902136 -42152,0.49663192741509243 -42153,0.5759055619421092 -42154,0.6763888300664724 -42155,0.642232118846053 -42156,0.3269377813369436 -42157,0.26446297286712983 -42158,0.7990591119975244 -42159,0.6853035852574311 -42160,0.028338128611876012 -42161,0.36166382867225655 -42162,0.7869007058102417 -42163,0.48475230634148747 -42164,0.603899163636773 -42165,0.20687720032728807 -42166,0.7714038317029482 -42167,0.034349012038305426 -42168,0.38670978086264984 -42169,0.05299759928088088 -42170,0.09805385384445353 -42171,0.02939972943957292 -42172,0.3950266584758084 -42173,0.3143436751092894 -42174,0.7990618469081059 -42175,0.12239469982158091 -42176,0.9706998764957628 -42177,0.34430330474332105 -42178,0.17839055313252916 -42179,0.6618900828202656 -42180,0.9998745353305063 -42181,0.28871447990234733 -42182,0.3388184840241276 -42183,0.7040039877773955 -42184,0.5890417147861365 -42185,0.5417567485934534 -42186,0.2934793347502612 -42187,0.20291347515232117 -42188,0.8053960635879485 -42189,0.02086999799835243 -42190,0.29508346012959596 -42191,0.8018187321935845 -42192,0.8670145957631639 -42193,0.3660425376602021 -42194,0.4492140991006991 -42195,0.5328311750703906 -42196,0.8799494961092454 -42197,0.7930747244349738 -42198,0.9638255739817548 -42199,0.49149941110590856 -42200,0.9758796563458328 -42201,0.6701384263792907 -42202,0.16842606341729538 -42203,0.8613626039904195 -42204,0.5558459623797914 -42205,0.27551572300731464 -42206,0.4166445295664639 -42207,0.35453705629202714 -42208,0.7432856538386049 -42209,0.7479288383352375 -42210,0.8079831419781733 -42211,0.31835615913292237 -42212,0.27497095468043276 -42213,0.8281852930680664 -42214,0.8210984624128023 -42215,0.8589558858606616 -42216,0.25609848335497043 -42217,0.34194677861356126 -42218,0.8995291236875147 -42219,0.7297105990670302 -42220,0.3716435917698242 -42221,0.6019100442149009 -42222,0.6725941792570289 -42223,0.7705624615999807 -42224,0.8874255453956345 -42225,0.28386740699706625 -42226,0.11400200581386255 -42227,0.40263501354220055 -42228,0.17196362590871983 -42229,0.2098901828229328 -42230,0.10488395136682027 -42231,0.4588814113588916 -42232,0.04537321722949239 -42233,0.5244139591975139 -42234,0.7583785624772938 -42235,0.8047293693163741 -42236,0.1321602068733364 -42237,0.47266460424028556 -42238,0.3854498291910392 -42239,0.8958908812786236 -42240,0.2437324932616245 -42241,0.42446503311049344 -42242,0.7320149546573274 -42243,0.8077893227483146 -42244,0.923187142247826 -42245,0.9416001522520323 -42246,0.45389092142940934 -42247,0.06087997205477924 -42248,0.5493869806751926 -42249,0.2380826044300528 -42250,0.0007374899648538991 -42251,0.9138657790734785 -42252,0.05326206425399993 -42253,0.40750202128137525 -42254,0.38937174991002954 -42255,0.9807148314827108 -42256,0.02681779978962673 -42257,0.029391877123050913 -42258,0.9066779078376457 -42259,0.15059542925016633 -42260,0.517332090226854 -42261,0.18369110772402697 -42262,0.7139933583921709 -42263,0.024607720914936793 -42264,0.42023190736849947 -42265,0.7215784898287859 -42266,0.9246330472721404 -42267,0.6270581471983703 -42268,0.2038122669607274 -42269,0.023107266849345276 -42270,0.8327214497979736 -42271,0.6110077387123596 -42272,0.9160842081329417 -42273,0.29511410433001506 -42274,0.009414692358130083 -42275,0.13778361824199115 -42276,0.9819661202547137 -42277,0.5031536479439532 -42278,0.7351762830169382 -42279,0.37666351875386406 -42280,0.3102687751520724 -42281,0.03989524179036097 -42282,0.6179742173253162 -42283,0.1392257443462962 -42284,0.812992448970857 -42285,0.9914170096944542 -42286,0.9834905588620306 -42287,0.5316829409824442 -42288,0.27078200004965014 -42289,0.79365872607881 -42290,0.3652580298950422 -42291,0.8365798649136389 -42292,0.08656637997785366 -42293,0.8137871611102233 -42294,0.9483081253985338 -42295,0.3488600733248092 -42296,0.43875286152894755 -42297,0.17759523409175704 -42298,0.38696939676135467 -42299,0.7203458456517953 -42300,0.27325156160100994 -42301,0.7381169249699103 -42302,0.30835599143857273 -42303,0.7666359614568269 -42304,0.6183894700291467 -42305,0.7809834359408631 -42306,0.04475570659872952 -42307,0.499569723172439 -42308,0.4486112709879876 -42309,0.459800499737418 -42310,0.5392599964826774 -42311,0.28775805704950663 -42312,0.09485238688247766 -42313,0.5811548012467811 -42314,0.16935030418462016 -42315,0.9153628521843699 -42316,0.33431077406729426 -42317,0.20309222401372817 -42318,0.6060045225589888 -42319,0.7444961861520623 -42320,0.867015312872449 -42321,0.6973605052544926 -42322,0.15329168098691237 -42323,0.06422523697632487 -42324,0.8083476623434035 -42325,0.3747582543785227 -42326,0.9947981427505705 -42327,0.5407120987737132 -42328,0.7173760771793602 -42329,0.2368310301644725 -42330,0.11908820227448902 -42331,0.41806692503584686 -42332,0.834284710534429 -42333,0.7163983809252397 -42334,0.7195600361531486 -42335,0.5605937850792224 -42336,0.20749150774314706 -42337,0.6076160602463024 -42338,0.801998862899056 -42339,0.40999229107082025 -42340,0.7034437513658282 -42341,0.05660686024767847 -42342,0.5551705351789665 -42343,0.8787878330952423 -42344,0.9367642247222403 -42345,0.485936597450897 -42346,0.3560903959917433 -42347,0.6634498494295447 -42348,0.4216004081579756 -42349,0.3551633599113406 -42350,0.05442773498638864 -42351,0.9440952971280108 -42352,0.8725138612963634 -42353,0.2949689608294772 -42354,0.6722586670797217 -42355,0.9073039659477745 -42356,0.5854525126764418 -42357,0.5271182293021063 -42358,0.8364074354222227 -42359,0.07110075886471823 -42360,0.05448337522791724 -42361,0.8803926031433769 -42362,0.24322394818402115 -42363,0.029012196882407304 -42364,0.15281005720955032 -42365,0.05859502782270687 -42366,0.5142198350863272 -42367,0.698027032433363 -42368,0.9704551979009748 -42369,0.4147620220970516 -42370,0.2667871770504293 -42371,0.41326990130683927 -42372,0.9602377350100042 -42373,0.8791419469226055 -42374,0.07061998539348291 -42375,0.5477302565395017 -42376,0.72304566874182 -42377,0.42481453365360267 -42378,0.6325565623752368 -42379,0.9475999687149754 -42380,0.08518278338319052 -42381,0.3856725244505159 -42382,0.21920211852212745 -42383,0.6320927078692861 -42384,0.8345506799225728 -42385,0.9524136968323407 -42386,0.707751681777211 -42387,0.8458563113099782 -42388,0.557981874397675 -42389,0.2133771594151188 -42390,0.41187503368944534 -42391,0.4365644455065285 -42392,0.027970238992481855 -42393,0.46694190179713013 -42394,0.5068417730181997 -42395,0.6037199217039307 -42396,0.6041396500652908 -42397,0.5026745824086093 -42398,0.7458886995534181 -42399,0.8686334402436614 -42400,0.7502585405866606 -42401,0.9272109628240298 -42402,0.049225446950487695 -42403,0.17664504859722285 -42404,0.799990327711912 -42405,0.8516255608459821 -42406,0.2479089038858875 -42407,0.5839031466864062 -42408,0.18835018280132243 -42409,0.8601221966753668 -42410,0.8835501749468163 -42411,0.3715393133364542 -42412,0.9917487983904584 -42413,0.700960965649061 -42414,0.7466425141013248 -42415,0.03185202690416178 -42416,0.4378987989805996 -42417,0.12475914863112636 -42418,0.7815191716989062 -42419,0.8053876279350568 -42420,0.5989312419261968 -42421,0.21895174303152753 -42422,0.16848344438043295 -42423,0.17511268679467806 -42424,0.06511227737134928 -42425,0.5994162328722976 -42426,0.41337252570938177 -42427,0.5218837987848572 -42428,0.370039434223843 -42429,0.570622389358312 -42430,0.39716776110679197 -42431,0.369335610556355 -42432,0.8084985493917934 -42433,0.7437061286607772 -42434,0.26499156784260547 -42435,0.27140734322347304 -42436,0.7921015567874917 -42437,0.6482690327175462 -42438,0.9293019482516929 -42439,0.8222420728713582 -42440,0.14345659764385166 -42441,0.43584885164217946 -42442,0.5657784540381432 -42443,0.6743328984265062 -42444,0.9266419708640344 -42445,0.3881954454077827 -42446,0.6513356160351517 -42447,0.44512827732299276 -42448,0.6519743162275532 -42449,0.6472451700092531 -42450,0.2446677773315733 -42451,0.22453274781248944 -42452,0.4281759566724953 -42453,0.5625111542604688 -42454,0.6532116076001969 -42455,0.8649106719828152 -42456,0.7428346200813695 -42457,0.2592143180794455 -42458,0.7705945429517044 -42459,0.21937131310549263 -42460,0.5769498838270344 -42461,0.2748054977901182 -42462,0.31887559303605006 -42463,0.8607376870371167 -42464,0.6089875026593147 -42465,0.5657392612266663 -42466,0.005770292658577869 -42467,0.1377462414611177 -42468,0.8086351271802881 -42469,0.27879622965478146 -42470,0.027479002208153913 -42471,0.8845003242528401 -42472,0.9660921908065552 -42473,0.7440955615976466 -42474,0.6762553784357491 -42475,0.9660594149177806 -42476,0.4906547807225363 -42477,0.08978278995737488 -42478,0.2890495488901875 -42479,0.11868887290122321 -42480,0.48739195843292904 -42481,0.27639324169626744 -42482,0.11445726142465495 -42483,0.4396885432722534 -42484,0.28631344840582484 -42485,0.5353958126293664 -42486,0.7673052354078205 -42487,0.9994759016922756 -42488,0.48233331868255946 -42489,0.9297585830280902 -42490,0.8540197128806583 -42491,0.6798899345676422 -42492,0.8609574891373499 -42493,0.010304596230696128 -42494,0.2712416242184006 -42495,0.8253537735324102 -42496,0.8808684478912225 -42497,0.290976856218471 -42498,0.8939332605515226 -42499,0.1271221171907404 -42500,0.2831636134734963 -42501,0.7512541555829257 -42502,0.10923513206947977 -42503,0.10662332279561226 -42504,0.6530335535502787 -42505,0.02465747250951955 -42506,0.09123650826191176 -42507,0.3544121707537573 -42508,0.8456638991035068 -42509,0.1593614962172839 -42510,0.558590317882021 -42511,0.9095946858768987 -42512,0.4068476150466005 -42513,0.49199271502639597 -42514,0.48064497458221733 -42515,0.7001689502656213 -42516,0.01867199629360705 -42517,0.3601050635094365 -42518,0.0501566979296133 -42519,0.640371511346293 -42520,0.7340869117505568 -42521,0.3713748505217047 -42522,0.36700551587272623 -42523,0.12012854514566118 -42524,0.019098560813842536 -42525,0.7361361552465125 -42526,0.999864115141285 -42527,0.8025176017093201 -42528,0.15763928795329718 -42529,0.7540848805126088 -42530,0.1425048080965573 -42531,0.7447602527046223 -42532,0.37295254569694747 -42533,0.31897707027994493 -42534,0.974298040948792 -42535,0.5002181781917855 -42536,0.5813416545605393 -42537,0.6094402729763756 -42538,0.18109469479332185 -42539,0.44535090470302374 -42540,0.9523597096772384 -42541,0.380448386479333 -42542,0.9148279609540257 -42543,0.8742692996143991 -42544,0.4667319932001872 -42545,0.09179567306915326 -42546,0.05838452170284136 -42547,0.16530767594316786 -42548,0.8689676314118908 -42549,0.2939798764671284 -42550,0.2880515959885668 -42551,0.0648946433146067 -42552,0.48980557189866136 -42553,0.9430760073433295 -42554,0.7974686525904546 -42555,0.7687051910350544 -42556,0.9986845999766523 -42557,0.019662786128064158 -42558,0.5485265777663767 -42559,0.20994297059359246 -42560,0.6402616550967212 -42561,0.019715710867816538 -42562,0.19964429946310025 -42563,0.26816051606508795 -42564,0.047057814540351295 -42565,0.3264483392838816 -42566,0.5035775982352493 -42567,0.11003430580892415 -42568,0.6275278018210858 -42569,0.9181672457234751 -42570,0.8110441900609188 -42571,0.28443188855747126 -42572,0.7925830792607556 -42573,0.03343895589314372 -42574,0.6991674840355945 -42575,0.21501310893782977 -42576,0.7202343429546815 -42577,0.04062612096645268 -42578,0.9356463097524577 -42579,0.1886125415019464 -42580,0.27179219031808766 -42581,0.05334742554042049 -42582,0.9440735229686806 -42583,0.09689272654545378 -42584,0.8623660801958564 -42585,0.9286888707674436 -42586,0.23879791401047523 -42587,0.7375776867741661 -42588,0.48119945422574895 -42589,0.8482360608677239 -42590,0.5042612278059372 -42591,0.23611531104741212 -42592,0.0002992456197286053 -42593,0.774583884920155 -42594,0.8317424717646075 -42595,0.41347926533175205 -42596,0.517337659898512 -42597,0.9014043787531675 -42598,0.5503139206818146 -42599,0.27457018553097945 -42600,0.7254134398764988 -42601,0.6940533153359069 -42602,0.7487999303681689 -42603,0.4560724922613266 -42604,0.21124413662178665 -42605,0.45179434650975747 -42606,0.5824270644015898 -42607,0.8348374448434456 -42608,0.3599563656068848 -42609,0.1762189011776718 -42610,0.8595836390029051 -42611,0.0799661212963092 -42612,0.9529131748839 -42613,0.46185708000797 -42614,0.5216156268863853 -42615,0.7642226061932751 -42616,0.0354719266185588 -42617,0.9969990991732747 -42618,0.09268234197870484 -42619,0.23569229704554728 -42620,0.2562740325509776 -42621,0.95324877976048 -42622,0.8040363014870465 -42623,0.9390383401389216 -42624,0.7981531048127095 -42625,0.21608603857638053 -42626,0.3884507453593046 -42627,0.8778691022254652 -42628,0.950711898114208 -42629,0.6552824136976187 -42630,0.5725899653442177 -42631,0.37465771453860375 -42632,0.7258436966001279 -42633,0.2834668821882478 -42634,0.7551640799315308 -42635,0.5678512111868432 -42636,0.1014649166931828 -42637,0.3444285659866009 -42638,0.7634344512273634 -42639,0.8189671496565878 -42640,0.8466021289944681 -42641,0.5532277092201869 -42642,0.8591977612220493 -42643,0.10137728777563004 -42644,0.7706715042587642 -42645,0.8435920175028001 -42646,0.0031003097111362843 -42647,0.7028672618412818 -42648,0.9973428671935866 -42649,0.15257955955934066 -42650,0.028738891295044477 -42651,0.04424252341008861 -42652,0.4588937103480294 -42653,0.16491609248421468 -42654,0.2781129864457046 -42655,0.42928370921208525 -42656,0.4769017107018876 -42657,0.35321750602276714 -42658,0.43118341316488895 -42659,0.5474831232691977 -42660,0.24499946950488272 -42661,0.29392760826440945 -42662,0.320986536650981 -42663,0.9615969896634639 -42664,0.31601879628136653 -42665,0.18317403511460284 -42666,0.8051338228585969 -42667,0.6093055016185599 -42668,0.3989280810017275 -42669,0.35674370659195676 -42670,0.9598337228130002 -42671,0.016277885857497676 -42672,0.8685424246625182 -42673,0.4571330311061603 -42674,0.5775195265438595 -42675,0.8938420046419371 -42676,0.6867783094646912 -42677,0.7241193047399656 -42678,0.43185730659080834 -42679,0.007998756901492987 -42680,0.5095986234779031 -42681,0.8989120366396522 -42682,0.6291513065876706 -42683,0.7006652265092058 -42684,0.8135371995849446 -42685,0.6826488708150558 -42686,0.018474224916195214 -42687,0.7198513763080169 -42688,0.7074908829681048 -42689,0.12053795677820267 -42690,0.458280636760491 -42691,0.3184422340099171 -42692,0.10907337120157967 -42693,0.5626394262259858 -42694,0.9993653178200974 -42695,0.6940295705320945 -42696,0.8855747601944254 -42697,0.01269062389894371 -42698,0.8521986319945513 -42699,0.033558765201374685 -42700,0.35840697504176733 -42701,0.13248597028671105 -42702,0.22733097378692857 -42703,0.6433557433438852 -42704,0.9182572968030621 -42705,0.23275556559608668 -42706,0.4400211312416994 -42707,0.6829097442223357 -42708,0.4334941670901227 -42709,0.17604430536308158 -42710,0.1480807526687985 -42711,0.22499546062152742 -42712,0.7180631785995871 -42713,0.915956988124273 -42714,0.5218605247744738 -42715,0.897353069760383 -42716,0.3615933975672221 -42717,0.14554137567014191 -42718,0.7686979091663166 -42719,0.5273907560725293 -42720,0.7646015747657949 -42721,0.16491714047311457 -42722,0.15571349595779038 -42723,0.08902287377122076 -42724,0.3650716657814491 -42725,0.1386743399136222 -42726,0.1298915438163477 -42727,0.04430901184147262 -42728,0.28843362839417064 -42729,0.47658968838628013 -42730,0.9841311555567313 -42731,0.374188202108232 -42732,0.9274293202176705 -42733,0.9737670264816555 -42734,0.9409307022275454 -42735,0.9920193229015871 -42736,0.5210774853389766 -42737,0.5677517425242036 -42738,0.522605778701371 -42739,0.3049702464079237 -42740,0.05666438870245105 -42741,0.407117101596715 -42742,0.12335079717343744 -42743,0.9171164104202696 -42744,0.558558560096029 -42745,0.7201106858309504 -42746,0.7390941977628155 -42747,0.6121833285718441 -42748,0.5334131931585757 -42749,0.05570340422366704 -42750,0.7676829656292501 -42751,0.61283745997527 -42752,0.14730300362699256 -42753,0.17532786320713323 -42754,0.44780970276902865 -42755,0.20038822381152377 -42756,0.33978515629048855 -42757,0.6610438974025519 -42758,0.7938318960842872 -42759,0.24810972564173506 -42760,0.6846203399839744 -42761,0.22770992913251142 -42762,0.2617682632651366 -42763,0.33072649011175914 -42764,0.23296099997745867 -42765,0.59335758763076 -42766,0.9754500707336471 -42767,0.2879115108073377 -42768,0.09166704159673233 -42769,0.6421793790387945 -42770,0.5027241907782158 -42771,0.6544861740717014 -42772,0.7099714923569028 -42773,0.33989743255941796 -42774,0.7860952843634831 -42775,0.0868875719009472 -42776,0.8920453417376198 -42777,0.5219710016556187 -42778,0.927586918201993 -42779,0.03910706819048804 -42780,0.9604841896305529 -42781,0.33244753390082216 -42782,0.2751752456850992 -42783,0.4012321618655049 -42784,0.19016734918946743 -42785,0.25368973245790094 -42786,0.08995271636998481 -42787,0.19926147996686394 -42788,0.13859167252187599 -42789,0.0032323577054199637 -42790,0.7178313408913155 -42791,0.25358391245598466 -42792,0.9677260865057498 -42793,0.32487247162648225 -42794,0.24084161744871802 -42795,0.19366928117224635 -42796,0.27576959982156335 -42797,0.9067807143752815 -42798,0.9726314908449617 -42799,0.6476640816958342 -42800,0.08623356681051653 -42801,0.1933861888384104 -42802,0.9574322018148215 -42803,0.631492573199226 -42804,0.4569391429583779 -42805,0.6970315067748133 -42806,0.5382881011006625 -42807,0.7486544211558286 -42808,0.11645301079531223 -42809,0.4586520648951431 -42810,0.4081218463507391 -42811,0.165591521661701 -42812,0.8617689174104566 -42813,0.31769487152591 -42814,0.09693766959157646 -42815,0.6139785140240176 -42816,0.30681888446995975 -42817,0.15339431760949163 -42818,0.8728652028002064 -42819,0.6111867398774402 -42820,0.3282688635395229 -42821,0.8815968770667084 -42822,0.33330041250380005 -42823,0.38784899125277417 -42824,0.3808109298473039 -42825,0.9853233641477002 -42826,0.3059798682206196 -42827,0.7196816241488659 -42828,0.35247588381056183 -42829,0.548439410908498 -42830,0.0841411217262723 -42831,0.7549674247171753 -42832,0.7969313968109853 -42833,0.9126514379163786 -42834,0.13168234858139505 -42835,0.2024548261320398 -42836,0.9783782121729209 -42837,0.28869550320797677 -42838,0.4746405073760678 -42839,0.352777107959823 -42840,0.40921996900783686 -42841,0.762969077361998 -42842,0.9854854245555377 -42843,0.0631392469515385 -42844,0.19010595036141498 -42845,0.8150661593609625 -42846,0.05413344640703144 -42847,0.9207506440540382 -42848,0.568461669024927 -42849,0.11902907415357555 -42850,0.4952875688553 -42851,0.06378668551910704 -42852,0.0854905751259385 -42853,0.6942220022241742 -42854,0.9542977509798503 -42855,0.47689102643117776 -42856,0.5743557226899049 -42857,0.48785623201907924 -42858,0.22815555150079792 -42859,0.5818320885628241 -42860,0.9855779382378035 -42861,0.6251491469601718 -42862,0.3814854710993364 -42863,0.29270343763721784 -42864,0.1934170195598629 -42865,0.1343270225979607 -42866,0.4818950051324462 -42867,0.4495276079653254 -42868,0.3079309539338655 -42869,0.315815649916696 -42870,0.5000123446556171 -42871,0.5383319189030203 -42872,0.16347036141523852 -42873,0.8262875545453955 -42874,0.6892756144200595 -42875,0.3903013067736273 -42876,0.9713526633893911 -42877,0.790026640354824 -42878,0.16167413919768314 -42879,0.7620469422634285 -42880,0.2677566545552166 -42881,0.5551351108085574 -42882,0.6791975401994201 -42883,0.17665977522636733 -42884,0.4704842132117577 -42885,0.20382802237344777 -42886,0.3447471532468579 -42887,0.938883175937851 -42888,0.9249256582037536 -42889,0.7286864809299497 -42890,0.3993443286631019 -42891,0.20259184133274177 -42892,0.6413996757845735 -42893,0.9502728707307578 -42894,0.4104403021657057 -42895,0.28678361195126423 -42896,0.3292262605509344 -42897,0.3091322605766502 -42898,0.8586274142633459 -42899,0.36441743791129977 -42900,0.6978373375558728 -42901,0.5462417004609524 -42902,0.6427652361048963 -42903,0.22592400840585247 -42904,0.7091693457907351 -42905,0.7108518742851715 -42906,0.21186696524318915 -42907,0.08047691359261766 -42908,0.20336534987139043 -42909,0.053518534845074295 -42910,0.18079615977806118 -42911,0.41983342599989193 -42912,0.5886354601463103 -42913,0.04459809444855578 -42914,0.6435238022187515 -42915,0.23343124275756955 -42916,0.8253200577935921 -42917,0.9900909482504938 -42918,0.7889857914059321 -42919,0.8322415801999081 -42920,0.5873078357947089 -42921,0.1507531561868981 -42922,0.4928271706917079 -42923,0.20195476288762038 -42924,0.075323804942388 -42925,0.36924062316076545 -42926,0.5680034278419726 -42927,0.3570742689324422 -42928,0.6486702999198022 -42929,0.9993348248637464 -42930,0.7500736877071007 -42931,0.23357556104069976 -42932,0.8977800858292355 -42933,0.12146500669783489 -42934,0.42968577549522136 -42935,0.5739228798068859 -42936,0.1964014529589745 -42937,0.5662699163815671 -42938,0.6183497723211211 -42939,0.14139584839763886 -42940,0.39526732918442553 -42941,0.34913703661492934 -42942,0.7923727958558809 -42943,0.9782979676984978 -42944,0.41027688911773375 -42945,0.1681878975966511 -42946,0.4841992832940547 -42947,0.311235581131991 -42948,0.021992804904701013 -42949,0.5210523430738493 -42950,0.5923620858352447 -42951,0.9713598182882561 -42952,0.32211868801492705 -42953,0.9838151181706365 -42954,0.7978994610379042 -42955,0.9912007388852481 -42956,0.32425216970316906 -42957,0.34260511964778506 -42958,0.5159753968409819 -42959,0.4158884758169473 -42960,0.6878877458402424 -42961,0.8140214156801785 -42962,0.8004872333306398 -42963,0.657897543984351 -42964,0.08868662878065314 -42965,0.5438277080172226 -42966,0.8900715648944307 -42967,0.25796060604348703 -42968,0.6440122219733462 -42969,0.3912408941475688 -42970,0.5021028457556852 -42971,0.9379873956873203 -42972,0.20556978413735216 -42973,0.0009996070267567214 -42974,0.3683698092208887 -42975,0.16943653045246598 -42976,0.6385484834015531 -42977,0.03912698493454325 -42978,0.3853458300504936 -42979,0.6546909909768582 -42980,0.42986855414257774 -42981,0.8413650164668983 -42982,0.6451479873220619 -42983,0.25522418452096207 -42984,0.791705017140358 -42985,0.46673307532894814 -42986,0.9652959183751494 -42987,0.9736200305944247 -42988,0.06687146083531426 -42989,0.8765251255714809 -42990,0.3270004766877791 -42991,0.2414843447610474 -42992,0.5432040460498261 -42993,0.29035091022693904 -42994,0.1646436789544291 -42995,0.02499697293390568 -42996,0.7753578138020341 -42997,0.4047033644118906 -42998,0.6479985023137333 -42999,0.989777626193889 -43000,0.5219653437794386 -43001,0.35119509647017555 -43002,0.581113243534505 -43003,0.6197929129641663 -43004,0.6606025276739896 -43005,0.8520568862877702 -43006,0.4173331275857034 -43007,0.5603795919218267 -43008,0.12478762833644219 -43009,0.21148267183091518 -43010,0.3953735664194852 -43011,0.7292835572934367 -43012,0.5171972635184213 -43013,0.964617313392118 -43014,0.40469201378134456 -43015,0.5503770242164013 -43016,0.8126910300999186 -43017,0.7874308119786781 -43018,0.36697725183108676 -43019,0.2813244754123204 -43020,0.49116632125792214 -43021,0.7224136871995906 -43022,0.45112924541597044 -43023,0.8992783488331737 -43024,0.7062974153954977 -43025,0.48179003837117407 -43026,0.7024459768881447 -43027,0.6025593383748449 -43028,0.9104347007067667 -43029,0.6988051016025802 -43030,0.23338281293361818 -43031,0.4065372895361029 -43032,0.5047684151626255 -43033,0.8818498227271822 -43034,0.5106972737599048 -43035,0.20171434618022654 -43036,0.7625588169065807 -43037,0.349189950816608 -43038,0.5891201085114564 -43039,0.2920995584347177 -43040,0.7468197096151125 -43041,0.23037776156691858 -43042,0.14002144782416792 -43043,0.6307892800829987 -43044,0.39143412044727954 -43045,0.11378895003110778 -43046,0.8396024091214704 -43047,0.2870443275074227 -43048,0.06483357170176907 -43049,0.00653156935667365 -43050,0.6711453092172682 -43051,0.7941181009729582 -43052,0.24149096903926426 -43053,0.448487503958803 -43054,0.9900116821052269 -43055,0.8258072723869034 -43056,0.6540322240735105 -43057,0.6427228516215867 -43058,0.40104306331871975 -43059,0.09378554730363842 -43060,0.13296906589995705 -43061,0.7343284076103763 -43062,0.15627292436448603 -43063,0.14826531825401834 -43064,0.3268784630744267 -43065,0.8890087029840854 -43066,0.26230647076873637 -43067,0.5055701980452675 -43068,0.9896485978726505 -43069,0.791433479617554 -43070,0.34130546055754885 -43071,0.31682878945974446 -43072,0.5785726427383187 -43073,0.12830056303334114 -43074,0.12021326270379407 -43075,0.2940549330979434 -43076,0.8578208655062013 -43077,0.38627676278107903 -43078,0.8782696655738912 -43079,0.08289978954998667 -43080,0.39491430667374605 -43081,0.3449752431461499 -43082,0.5134659810251325 -43083,0.33209451461985706 -43084,0.8545705269990027 -43085,0.34378837888678404 -43086,0.7358497242095565 -43087,0.5746762678575208 -43088,0.2248866638714767 -43089,0.021641681402940538 -43090,0.1340189871446138 -43091,0.9565774400755889 -43092,0.9289686197904463 -43093,0.10086448974783069 -43094,0.9285887968402851 -43095,0.24918722559616258 -43096,0.18809272748613204 -43097,0.42143959135271447 -43098,0.6467920879310258 -43099,0.8358756179211525 -43100,0.6189662684286753 -43101,0.8115235320280405 -43102,0.5984566698811858 -43103,0.25052024271381124 -43104,0.753621239839849 -43105,0.05294389603105709 -43106,0.3247791817195591 -43107,0.650591093449537 -43108,0.20182896283131613 -43109,0.1344609105723228 -43110,0.7950364972460053 -43111,0.6322060777847259 -43112,0.3129382318414068 -43113,0.976175825524714 -43114,0.5280339198626428 -43115,0.5814531264383487 -43116,0.9864293484716017 -43117,0.02633862748394733 -43118,0.5607331208695786 -43119,0.3854609626145655 -43120,0.3729781535654739 -43121,0.77041801618888 -43122,0.998425992310473 -43123,0.030303089450333554 -43124,0.8953472095913839 -43125,0.19026954282736863 -43126,0.1498237265488428 -43127,0.32958262543062145 -43128,0.2972945093391499 -43129,0.14274814830640092 -43130,0.11326990605125653 -43131,0.31405128001215055 -43132,0.21681034593617754 -43133,0.8900016416400341 -43134,0.26385325522924696 -43135,0.8342510784118465 -43136,0.13567225533433636 -43137,0.49502639508808355 -43138,0.9331360166109935 -43139,0.31785348329293583 -43140,0.11427178930925797 -43141,0.5421901577990245 -43142,0.17328255222689282 -43143,0.9811233451137702 -43144,0.9326027767742809 -43145,0.0961545661437091 -43146,0.4556009436136039 -43147,0.279202656838782 -43148,0.8622929830695933 -43149,0.6524251290239725 -43150,0.1254444735935628 -43151,0.19717600013865733 -43152,0.9462169720478009 -43153,0.6420514073936564 -43154,0.4300239816208372 -43155,0.3852769808604417 -43156,0.06899296438417724 -43157,0.5799940061711527 -43158,0.745268098008133 -43159,0.678398919709777 -43160,0.7367614126445332 -43161,0.13312770917943428 -43162,0.04835568991308192 -43163,0.02532490651190389 -43164,0.6736872989346142 -43165,0.7909413801263673 -43166,0.8473808329119644 -43167,0.29375867530998667 -43168,0.515037791857114 -43169,0.8276503255417854 -43170,0.4362396458954708 -43171,0.6458807237239219 -43172,0.8753910541981315 -43173,0.5340673783885199 -43174,0.2212109380967212 -43175,0.16808916099887694 -43176,0.4277587621974962 -43177,0.8834490546439498 -43178,0.3691838051194818 -43179,0.3518628665511393 -43180,0.5329762026776588 -43181,0.9997011238431901 -43182,0.832771210067731 -43183,0.4195591017152094 -43184,0.8354384355035694 -43185,0.17082580571217443 -43186,0.9497872843536889 -43187,0.9912572222137404 -43188,0.4988827421635923 -43189,0.329430205414487 -43190,0.06443906708388869 -43191,0.6911496449087825 -43192,0.34523646675877784 -43193,0.06489514851659262 -43194,0.1712689901307225 -43195,0.8091640375758922 -43196,0.4775242188152776 -43197,0.1631861414194954 -43198,0.5821908530167168 -43199,0.97139774169085 -43200,0.42652227609998306 -43201,0.38672722801855774 -43202,0.46004931660300485 -43203,0.6894399202237541 -43204,0.9026949734087201 -43205,0.07996669689216107 -43206,0.9622446987194886 -43207,0.6768832337724404 -43208,0.15318255593777919 -43209,0.916043565246896 -43210,0.9420397051014878 -43211,0.36616466340708453 -43212,0.6577352421522703 -43213,0.5730846548828696 -43214,0.5852151438239556 -43215,0.9297370783155333 -43216,0.5418950498510368 -43217,0.23409438846395036 -43218,0.9805217312798585 -43219,0.7842367517591535 -43220,0.7901153869040508 -43221,0.5092647146691327 -43222,0.2841375408166831 -43223,0.46457405650294714 -43224,0.3572827390457294 -43225,0.8721532520091368 -43226,0.22985793783079012 -43227,0.6208691520671583 -43228,0.6147035814127133 -43229,0.0001269202480898013 -43230,0.13666012145401152 -43231,0.7878824692379012 -43232,0.7338003080197851 -43233,0.36452400899195525 -43234,0.03592827171753599 -43235,0.8082183910484518 -43236,0.7882888285597893 -43237,0.44271871849716604 -43238,0.45369326600201354 -43239,0.6938691648270527 -43240,0.6515448491511334 -43241,0.08339897920494332 -43242,0.9353027678473028 -43243,0.6091425377444053 -43244,0.2030821024946865 -43245,0.6728212982934629 -43246,0.1396721757530197 -43247,0.4561756308872952 -43248,0.6542170294669509 -43249,0.23481765744139105 -43250,0.9350143216059841 -43251,0.6690002393644165 -43252,0.16865101502856406 -43253,0.918128793151281 -43254,0.07175069302014425 -43255,0.676385654386465 -43256,0.7226484869310197 -43257,0.9235969016237164 -43258,0.2815538673763447 -43259,0.48146561933112175 -43260,0.5744237243999213 -43261,0.6506402347504394 -43262,0.8059664089550237 -43263,0.5028975456502662 -43264,0.3279895407491048 -43265,0.2141451041655702 -43266,0.3048324488447257 -43267,0.8633537014345674 -43268,0.8242775618557807 -43269,0.08977407919151192 -43270,0.02065741870995319 -43271,0.5786858338647151 -43272,0.95189615307518 -43273,0.5906019829786938 -43274,0.8031084264671555 -43275,0.6019488734356704 -43276,0.02977991025947857 -43277,0.13789794080118034 -43278,0.9314605337746144 -43279,0.014404871242928441 -43280,0.6060408645013696 -43281,0.38752031061063075 -43282,0.9015143746233143 -43283,0.4248667280576156 -43284,0.2701214970114091 -43285,0.141762798330079 -43286,0.34849725511970986 -43287,0.09894525658409259 -43288,0.30729336454129064 -43289,0.6269400471258494 -43290,0.08531515245497179 -43291,0.2704093082055713 -43292,0.6342391181931234 -43293,0.046575793857160486 -43294,0.40194052088416976 -43295,0.8164584219068665 -43296,0.9336170899529238 -43297,0.8510959403502212 -43298,0.6606160451712827 -43299,0.8365087456703064 -43300,0.9474924382969216 -43301,0.8499093639079833 -43302,0.7055365800217005 -43303,0.9847181060022175 -43304,0.28909473346317593 -43305,0.7498300042535042 -43306,0.17946349989338173 -43307,0.09495476247222434 -43308,0.20797802479070715 -43309,0.05814132049956777 -43310,0.038225600335793586 -43311,0.059380962380343405 -43312,0.4051840708572291 -43313,0.6323633882042242 -43314,0.0490545029145778 -43315,0.21104255495548463 -43316,0.20661696474714075 -43317,0.11532241125964782 -43318,0.09932769387248475 -43319,0.12968132681112088 -43320,0.28748585461555853 -43321,0.3060182144646112 -43322,0.2392805312218499 -43323,0.5889519710720561 -43324,0.6579926470786069 -43325,0.16061575209945778 -43326,0.9150243283641147 -43327,0.5638075327834986 -43328,0.9377391462079776 -43329,0.4137359541108462 -43330,0.586698702110021 -43331,0.7998363451565519 -43332,0.39367611155236193 -43333,0.20495713440921004 -43334,0.1672254360577684 -43335,0.7596715576795158 -43336,0.5198691081350886 -43337,0.07996451578561536 -43338,0.9172806121512258 -43339,0.17443807195371686 -43340,0.7250355438181844 -43341,0.30404723450065396 -43342,0.3953011195777313 -43343,0.6448453364184081 -43344,0.3999630666750298 -43345,0.23769275151985092 -43346,0.23043922357624091 -43347,0.0496815945586736 -43348,0.6421364799225054 -43349,0.5607510860195084 -43350,0.4375352395027249 -43351,0.2857916547670952 -43352,0.07149482331168544 -43353,0.6358823413354032 -43354,0.42549047477632673 -43355,0.9558454166723079 -43356,0.7324775396222939 -43357,0.3068258119895386 -43358,0.8071505834457221 -43359,0.08646334826468893 -43360,0.1942150049618847 -43361,0.8283632842358523 -43362,0.690313220583969 -43363,0.7906263125911926 -43364,0.4297520824673059 -43365,0.4776895509604532 -43366,0.23132732582523186 -43367,0.9356062548257833 -43368,0.9029713667540888 -43369,0.4938415406120982 -43370,0.5282541347016911 -43371,0.20218368780047613 -43372,0.021143146154355974 -43373,0.9858055344187376 -43374,0.2756946650856591 -43375,0.34689182786073625 -43376,0.4186039343696476 -43377,0.17079934217786374 -43378,0.8489607585692819 -43379,0.8044360972873836 -43380,0.0865762050807346 -43381,0.19743222490650947 -43382,0.7428993031666997 -43383,0.7697866936098069 -43384,0.801577299382552 -43385,0.05624796667923304 -43386,0.4785799098893513 -43387,0.13221135343679702 -43388,0.9855511058839537 -43389,0.804591367175686 -43390,0.5426819058955196 -43391,0.7617455469904774 -43392,0.06628408891332649 -43393,0.746659894805858 -43394,0.5498573032743082 -43395,0.5236508229606848 -43396,0.3878550509480416 -43397,0.3163991409271453 -43398,0.9041774075856251 -43399,0.9502176567831107 -43400,0.8519328347999265 -43401,0.472524116096552 -43402,0.6743582302622972 -43403,0.833201043906198 -43404,0.12138093399890448 -43405,0.2463095582676399 -43406,0.897366484881011 -43407,0.9656105123722242 -43408,0.9543513986148303 -43409,0.8417149745200455 -43410,0.9630768924718662 -43411,0.4316379776236059 -43412,0.13282568292440688 -43413,0.10353996975411772 -43414,0.12075199002986958 -43415,0.12077936467339667 -43416,0.9766558632588106 -43417,0.41247128329423965 -43418,0.507266877576006 -43419,0.32798921561528116 -43420,0.9733947364792952 -43421,0.5087541482490376 -43422,0.9425940708892978 -43423,0.18209249257750104 -43424,0.027502382001886927 -43425,0.15638789542816456 -43426,0.8288271185411773 -43427,0.2739200771599224 -43428,0.6001401203419942 -43429,0.3253191047531967 -43430,0.9426017122803526 -43431,0.8382327098199692 -43432,0.8848124187626191 -43433,0.2138781378129474 -43434,0.07005054366025043 -43435,0.5314818827586064 -43436,0.25570135507316527 -43437,0.27706309529029893 -43438,0.5225093043015403 -43439,0.08542647627453248 -43440,0.6510824690015244 -43441,0.31154793754466814 -43442,0.8522499846283685 -43443,0.1570946140767273 -43444,0.13251125225873728 -43445,0.01948977163846677 -43446,0.44199813944092214 -43447,0.25787150031280937 -43448,0.14946131351126513 -43449,0.8622958217138533 -43450,0.8687196775006102 -43451,0.9679217435556164 -43452,0.8073286539094034 -43453,0.012912688515650528 -43454,0.9216569881760306 -43455,0.7946982837172827 -43456,0.24712298118892484 -43457,0.7637634089753728 -43458,0.17252890053812875 -43459,0.25176376662698186 -43460,0.41449391215764253 -43461,0.9011457162765788 -43462,0.2902475534229707 -43463,0.7765219484097184 -43464,0.14042655094113832 -43465,0.5209075637069787 -43466,0.3276580450266583 -43467,0.8498462413835726 -43468,0.86819841565604 -43469,0.6301027355111309 -43470,0.5223285117242474 -43471,0.21374600168605973 -43472,0.9250905284987976 -43473,0.7911523507614786 -43474,0.3156469142464392 -43475,0.00925070152835561 -43476,0.19773393786997084 -43477,0.4199754404348398 -43478,0.46490537946147226 -43479,0.40986678335328375 -43480,0.6634479718906565 -43481,0.6928735232279726 -43482,0.7699773500452496 -43483,0.30237862218716227 -43484,0.8310312017733197 -43485,0.24773003177979158 -43486,0.376868422407845 -43487,0.0837541670182258 -43488,0.7341435008903023 -43489,0.8591011961900256 -43490,0.5613320995363242 -43491,0.17341161205897748 -43492,0.4665664584484118 -43493,0.3299879361292799 -43494,0.6586980208426552 -43495,0.7733614749179385 -43496,0.7605812016302695 -43497,0.12217037731324643 -43498,0.22128858840625376 -43499,0.6341709055911319 -43500,0.08837591140005852 -43501,0.7843022634157599 -43502,0.19340228546049465 -43503,0.9072705374460056 -43504,0.5265223204502323 -43505,0.276232341087967 -43506,0.1471429823415733 -43507,0.689507741285069 -43508,0.15665093375819716 -43509,0.587541942302045 -43510,0.6571399525989602 -43511,0.1186989418158454 -43512,0.6966964405301104 -43513,0.37689754318003477 -43514,0.573665633711688 -43515,0.3268922902342851 -43516,0.4266108575878129 -43517,0.7501292720521496 -43518,0.9907663514160852 -43519,0.3334770578835331 -43520,0.1587598068018209 -43521,0.21964367832956966 -43522,0.6023846790252496 -43523,0.261884847158252 -43524,0.8556203594982584 -43525,0.3339007902588049 -43526,0.0018275034244576993 -43527,0.19420941747210207 -43528,0.4180763415514902 -43529,0.4189050594017779 -43530,0.09135190368590518 -43531,0.11511945526394163 -43532,0.9944240128302605 -43533,0.5954529043182437 -43534,0.7489219576877413 -43535,0.30959637098035253 -43536,0.10902999772373412 -43537,0.1844749602283432 -43538,0.9189635207942161 -43539,0.00662508441588705 -43540,0.07649394886598615 -43541,0.7552618556343152 -43542,0.6895090979198525 -43543,0.8364730493358774 -43544,0.31177101572307475 -43545,0.9275248432289493 -43546,0.12491730554703151 -43547,0.5413290127672574 -43548,0.3879178064685892 -43549,0.5028559298970268 -43550,0.7468925611179917 -43551,0.6247052299165315 -43552,0.31772362238302876 -43553,0.18769138028007082 -43554,0.23865034680323804 -43555,0.7185298162942518 -43556,0.2591983743329801 -43557,0.5975041515873228 -43558,0.15920048906112128 -43559,0.4426711883436454 -43560,0.2636261557771612 -43561,0.2551775402202343 -43562,0.12095732067611942 -43563,0.7304607923728083 -43564,0.3808251401480931 -43565,0.9706439510417798 -43566,0.016648513883020244 -43567,0.08577657328526478 -43568,0.25969741142140723 -43569,0.06397172419921104 -43570,0.21706237128655437 -43571,0.26080537803883697 -43572,0.6615553237915618 -43573,0.8553119663658951 -43574,0.2877691864182148 -43575,0.10884718792208137 -43576,0.7086179915840534 -43577,0.6401633569530961 -43578,0.3858662269792039 -43579,0.13296843074278542 -43580,0.9138582949245858 -43581,0.4873822930008608 -43582,0.9316281102331758 -43583,0.6067949450239721 -43584,0.6719350469627703 -43585,0.9151968851618789 -43586,0.2956201156186439 -43587,0.8388271454949916 -43588,0.06035231435514421 -43589,0.2749940804695632 -43590,0.43317255926549647 -43591,0.5999781954362335 -43592,0.2569932920613358 -43593,0.10101905517379894 -43594,0.5589004898034095 -43595,0.4046071836163353 -43596,0.9569077886675244 -43597,0.4712155218394861 -43598,0.5362200050935213 -43599,0.655101535703337 -43600,0.5625434590964059 -43601,0.024618305925638184 -43602,0.45903203808187176 -43603,0.7666356519141826 -43604,0.552143493680472 -43605,0.6675795855241398 -43606,0.23791350010277978 -43607,0.9900573111900016 -43608,0.33229590820921684 -43609,0.09196317857091874 -43610,0.47785960934901484 -43611,0.025419085082233894 -43612,0.7676434896434075 -43613,0.534775061067086 -43614,0.13099487722757752 -43615,0.5688445873780629 -43616,0.5065331292014741 -43617,0.3775414900535038 -43618,0.3199867079054778 -43619,0.13181714596388505 -43620,0.25011886595311017 -43621,0.8957322229947082 -43622,0.309304156914341 -43623,0.5187782068373902 -43624,0.715309919774546 -43625,0.3943783752484932 -43626,0.43542293814593136 -43627,0.48503711808171557 -43628,0.7410643788415595 -43629,0.021522777253891734 -43630,0.8098742642992368 -43631,0.7003783440191645 -43632,0.3961649774546886 -43633,0.9120793526241102 -43634,0.4783477255506129 -43635,0.8033373338674793 -43636,0.7401426599833129 -43637,0.3928936508845432 -43638,0.6895341475181684 -43639,0.44311013243271236 -43640,0.8222652689063993 -43641,0.8062347650026483 -43642,0.912792187759844 -43643,0.42316714552599677 -43644,0.740746497853935 -43645,0.44881488057868957 -43646,0.7343124105519598 -43647,0.3235232486979226 -43648,0.4140225087459243 -43649,0.42830656561976765 -43650,0.03254805963170859 -43651,0.6148504571640693 -43652,0.01956809041777008 -43653,0.9123484480814448 -43654,0.2012876021666763 -43655,0.012558449986592946 -43656,0.9584396402756017 -43657,0.18048085272129288 -43658,0.9023569110472744 -43659,0.6471036317924986 -43660,0.33615150753547607 -43661,0.8413821919124175 -43662,0.10562196628702492 -43663,0.9978369852663315 -43664,0.7901592508057318 -43665,0.004798919187214978 -43666,0.7027661674803359 -43667,0.8521514329451516 -43668,0.7295529409602715 -43669,0.8550776630005743 -43670,0.7183165938861645 -43671,0.9542365900781686 -43672,0.9083429367830136 -43673,0.2084619085070446 -43674,0.8872525075446824 -43675,0.2777303205652736 -43676,0.19469245492476694 -43677,0.025883871026528782 -43678,0.9384901589494933 -43679,0.3774419128469181 -43680,0.16959212023903103 -43681,0.9574399296275724 -43682,0.0384543017407577 -43683,0.19789085795757633 -43684,0.43275029317276625 -43685,0.5070612505795538 -43686,0.028983150614496966 -43687,0.06134845127393129 -43688,0.5604206623347898 -43689,0.6379579094373874 -43690,0.6697649411187357 -43691,0.9265319407927628 -43692,0.3367822753097296 -43693,0.4590468890087813 -43694,0.41716781057240027 -43695,0.8397340888913137 -43696,0.3265931837381041 -43697,0.14238576327854202 -43698,0.29112732915679873 -43699,0.7352744717334903 -43700,0.9440222704718338 -43701,0.9379138257890087 -43702,0.23744142559239456 -43703,0.688714240588441 -43704,0.9077717233923536 -43705,0.5102888740803402 -43706,0.40567432824091654 -43707,0.056405001040191416 -43708,0.8135454371130746 -43709,0.1027932809902542 -43710,0.4441568815117357 -43711,0.5923787452986701 -43712,0.3338085990638662 -43713,0.71914448832452 -43714,0.36942532161433206 -43715,0.565328914099822 -43716,0.09370307254285981 -43717,0.7906044192987638 -43718,0.5463285963878852 -43719,0.9553068399744543 -43720,0.6911540665951289 -43721,0.5641932114132663 -43722,0.2176672954093155 -43723,0.05911569459019028 -43724,0.03975024395433557 -43725,0.19414965300496612 -43726,0.4272914037784744 -43727,0.3953747186366213 -43728,0.7925260692147422 -43729,0.8853434372992293 -43730,0.09849976937638172 -43731,0.07506293806555997 -43732,0.7865505092607832 -43733,0.9309724107460862 -43734,0.10812754100475652 -43735,0.8303150999582098 -43736,0.09312752334933283 -43737,0.5201687665504244 -43738,0.11281205562246 -43739,0.600422374948078 -43740,0.9688184073982712 -43741,0.455409973175793 -43742,0.0038155759447939808 -43743,0.7749463784398193 -43744,0.9639623926206594 -43745,0.08203155908176618 -43746,0.8168887223941169 -43747,0.48281856388539 -43748,0.9036259549277815 -43749,0.12774237734532434 -43750,0.0618363759509013 -43751,0.4820293927539028 -43752,0.06467239074259956 -43753,0.9151630856378595 -43754,0.9864146446457213 -43755,0.4945175402370091 -43756,0.8619373940745739 -43757,0.6081667380793736 -43758,0.742157140173168 -43759,0.019820573878151282 -43760,0.627182529118853 -43761,0.16068173185596768 -43762,0.5775892921835761 -43763,0.06879187030885103 -43764,0.1136609780006772 -43765,0.40849783499132564 -43766,0.11119898958429308 -43767,0.7366286287419845 -43768,0.6511381407211313 -43769,0.09864890597570242 -43770,0.5802609380695656 -43771,0.11129206352831389 -43772,0.8212218787462492 -43773,0.23349538262239644 -43774,0.24386039106209978 -43775,0.39009522601890345 -43776,0.8450507693973321 -43777,0.8121263083081444 -43778,0.8823258535397785 -43779,0.21219466689762223 -43780,0.2623863410460816 -43781,0.4926764629579803 -43782,0.02903384662875441 -43783,0.3686045072918428 -43784,0.4190868767679832 -43785,0.807712328938555 -43786,0.9728035033293219 -43787,0.07591518390387075 -43788,0.4303631821432429 -43789,0.5570725292963834 -43790,0.8801126093890873 -43791,0.7743913084331621 -43792,0.42262785687945736 -43793,0.3527642260231353 -43794,0.4916142265585127 -43795,0.25114257135157303 -43796,0.449712617400135 -43797,0.1934879083351443 -43798,0.4432459748331079 -43799,0.4617918734084113 -43800,0.5957302146894822 -43801,0.09638667394629608 -43802,0.7391988339373957 -43803,0.0559848068037877 -43804,0.993693454721291 -43805,0.9930803548151856 -43806,0.12025370045853134 -43807,0.15101542193311768 -43808,0.529432989045503 -43809,0.5169714962501564 -43810,0.2272391409335216 -43811,0.31711430020883613 -43812,0.21366982123732825 -43813,0.6021039637847059 -43814,0.06810034267698217 -43815,0.8450674437098867 -43816,0.13575615806064623 -43817,0.7535296784874495 -43818,0.8179428941109863 -43819,0.09543404872116934 -43820,0.7902481397025766 -43821,0.3891897071939229 -43822,0.9944582670034121 -43823,0.17965923628046288 -43824,0.7759826067003492 -43825,0.2725703026548426 -43826,0.8946214816179049 -43827,0.0022718923345584896 -43828,0.25702324130023835 -43829,0.995353702450827 -43830,0.17887937725777692 -43831,0.5085940477207137 -43832,0.7928242738324996 -43833,0.7114447431095998 -43834,0.8823357047105441 -43835,0.051739060438488416 -43836,0.4222832514362366 -43837,0.593404134545049 -43838,0.6488873827358418 -43839,0.8398586578633745 -43840,0.8828184303549917 -43841,0.8913969932180913 -43842,0.1257832332629718 -43843,0.13195933897517775 -43844,0.2790240123804226 -43845,0.11548086542418878 -43846,0.4072053751990492 -43847,0.028494393230150905 -43848,0.44598043985295477 -43849,0.721604866866432 -43850,0.5285364740962031 -43851,0.8610438199677608 -43852,0.07024633642762124 -43853,0.4209936802691179 -43854,0.4461105091828419 -43855,0.8584437349081951 -43856,0.7184218262387536 -43857,0.8805625343609246 -43858,0.7839692424735173 -43859,0.4518748722439079 -43860,0.7397818000885449 -43861,0.9191829737994686 -43862,0.7400636586298329 -43863,0.784282885974193 -43864,0.27858815902923084 -43865,0.041675106406256934 -43866,0.8204682680475368 -43867,0.42321791187422 -43868,0.7850171369762409 -43869,0.6081786011895084 -43870,0.1488279394009926 -43871,0.53502592299921 -43872,0.013654125625097269 -43873,0.5282093075242801 -43874,0.2966508469246276 -43875,0.037152926663065355 -43876,0.914944895221439 -43877,0.6147414993188639 -43878,0.3384175785877993 -43879,0.03578554991530036 -43880,0.9556554114937906 -43881,0.44549376387513306 -43882,0.29085597991399403 -43883,0.6650547482327128 -43884,0.6897205782846506 -43885,0.25653088131654556 -43886,0.6824019329201425 -43887,0.6064053023140208 -43888,0.7093104951963213 -43889,0.5906470995999397 -43890,0.9581378549923623 -43891,0.04642353754474826 -43892,0.031861128182602116 -43893,0.5079959449626722 -43894,0.17980619770789363 -43895,0.06762389884161535 -43896,0.8676865729621858 -43897,0.03931586564116718 -43898,0.11418897867201216 -43899,0.4145657595650952 -43900,0.10546241851034766 -43901,0.10957444518184967 -43902,0.39437895042410476 -43903,0.4957406300481677 -43904,0.8992043163730922 -43905,0.6957476594766571 -43906,0.9790715110115955 -43907,0.9254332281315231 -43908,0.9983899232479497 -43909,0.14313067912331545 -43910,0.13393612650463615 -43911,0.6838179750584868 -43912,0.3097179093474818 -43913,0.37041087449125853 -43914,0.42618496487284385 -43915,0.42247087912822856 -43916,0.7912441449341217 -43917,0.44172215797582604 -43918,0.5334762818549164 -43919,0.5288626585035872 -43920,0.12283779469567446 -43921,0.9733950010972822 -43922,0.49083904948426593 -43923,0.3268392610715377 -43924,0.4869549375336897 -43925,0.15049452239557182 -43926,0.6879560618367252 -43927,0.6102713948674399 -43928,0.05793117014768867 -43929,0.6028880169553407 -43930,0.7412091967916181 -43931,0.09300261433310997 -43932,0.6810494266620178 -43933,0.2819674165335412 -43934,0.07182635305628937 -43935,0.417533492395195 -43936,0.9180598880317253 -43937,0.35753624940598094 -43938,0.14345893608959692 -43939,0.4364328356561952 -43940,0.02106142902469932 -43941,0.8734534212561151 -43942,0.8020413902062833 -43943,0.2776883955148898 -43944,0.5323412059610935 -43945,0.7973821464562043 -43946,0.10780911002666183 -43947,0.9692638944393499 -43948,0.44853016089309317 -43949,0.04524670174590406 -43950,0.008695438057514715 -43951,0.3441309120460442 -43952,0.5349894959927949 -43953,0.2902770614481811 -43954,0.19473346144688053 -43955,0.6048666100741122 -43956,0.9574220878392798 -43957,0.17289812112500902 -43958,0.803856145707802 -43959,0.8519632557033353 -43960,0.9726300444862195 -43961,0.16696349440313896 -43962,0.7674208826720365 -43963,0.847125531670515 -43964,0.13690039898636497 -43965,0.16051885014223666 -43966,0.008191525560409807 -43967,0.4528567898949021 -43968,0.9851802671918788 -43969,0.9537151941281887 -43970,0.2439992652007551 -43971,0.7756764078756856 -43972,0.7308790828452771 -43973,0.7195063866162532 -43974,0.22210083959875448 -43975,0.40551949839913626 -43976,0.7864266025884016 -43977,0.16703012213634527 -43978,0.566602864572281 -43979,0.32839018079933857 -43980,0.4894414150393185 -43981,0.24525536301196815 -43982,0.3989359989857236 -43983,0.1629105329910211 -43984,0.5767004102208637 -43985,0.487001531942462 -43986,0.5716402103475736 -43987,0.018427332479710956 -43988,0.6948573066365673 -43989,0.89420925018627 -43990,0.07582362445979873 -43991,0.6227771759456742 -43992,0.5136368772655042 -43993,0.16930243483804563 -43994,0.8172169786677412 -43995,0.505665836515364 -43996,0.8248794557952629 -43997,0.17519598574695117 -43998,0.7851166242816092 -43999,0.09711485299142275 -44000,0.18684227915566853 -44001,0.763661682165905 -44002,0.40986111315869445 -44003,0.538364729680285 -44004,0.12381450102170044 -44005,0.7773308807167021 -44006,0.10997114636027694 -44007,0.21264429325991496 -44008,0.7127136064956461 -44009,0.922537399582543 -44010,0.8659607268352244 -44011,0.19348910414594556 -44012,0.4510180763612128 -44013,0.3245783230640128 -44014,0.38678109136917926 -44015,0.6438539552749392 -44016,0.13753352028243304 -44017,0.026374461661963444 -44018,0.5983804591451684 -44019,0.4631710032294055 -44020,0.41274169972176367 -44021,0.7069599878064909 -44022,0.5671504134472387 -44023,0.48075881065758497 -44024,0.11740084640652282 -44025,0.4115355448696666 -44026,0.6956093186260209 -44027,0.055802887105139476 -44028,0.737207499346697 -44029,0.4752689274531806 -44030,0.21169299156950616 -44031,0.6239302285946644 -44032,0.060349445031611215 -44033,0.3922763233949731 -44034,0.11204911890444658 -44035,0.6133779279936205 -44036,0.46093238684778737 -44037,0.5348439278671753 -44038,0.15052005981462002 -44039,0.7725829287004427 -44040,0.38233800688507125 -44041,0.2849426482705154 -44042,0.6329203846025823 -44043,0.6493013326435259 -44044,0.3553625297511107 -44045,0.6802881886611708 -44046,0.7225848507347263 -44047,0.01448828591891127 -44048,0.17972486741706017 -44049,0.13673274771996013 -44050,0.9251817019152697 -44051,0.5221783799071437 -44052,0.27887570794326866 -44053,0.346329055565605 -44054,0.6893125648001162 -44055,0.17103350174902854 -44056,0.8729996030627424 -44057,0.06909438185760741 -44058,0.7456893687181609 -44059,0.9287065979368303 -44060,0.49196208041709877 -44061,0.5278366122330195 -44062,0.661457188146409 -44063,0.0257273982299574 -44064,0.626571339029872 -44065,0.6489063136538126 -44066,0.6222442278151608 -44067,0.44518824166229554 -44068,0.31640089116878256 -44069,0.8423659388444141 -44070,0.542249242759481 -44071,0.3373913147845433 -44072,0.7420122370327086 -44073,0.45236707570788937 -44074,0.29607397863562235 -44075,0.8510167624457755 -44076,0.9299821310873655 -44077,0.2485541363669399 -44078,0.6286736887345972 -44079,0.2844499307559931 -44080,0.45689573955429374 -44081,0.3291160789468499 -44082,0.8788568424579245 -44083,0.1242219662413312 -44084,0.5538039172989369 -44085,0.299742689316261 -44086,0.8869042906162145 -44087,0.7534519595500687 -44088,0.101294041305373 -44089,0.9997986870354192 -44090,0.6527241788774859 -44091,0.14674491770849918 -44092,0.929670238493761 -44093,0.31458782518885675 -44094,0.9046726484446667 -44095,0.192156106887151 -44096,0.3494733975745523 -44097,0.6818031440916754 -44098,0.1465011286839203 -44099,0.8005495798270768 -44100,0.8489199137071637 -44101,0.33618288841135924 -44102,0.20179101481278539 -44103,0.5352591483710742 -44104,0.8086769034674312 -44105,0.9604627721520071 -44106,0.012646817438230151 -44107,0.9813822763462128 -44108,0.28223612696110667 -44109,0.5657652253930285 -44110,0.8904935625207454 -44111,0.2371384860177277 -44112,0.2587937655378264 -44113,0.23269729277516593 -44114,0.26202292013258666 -44115,0.06465557205788364 -44116,0.6666130405486523 -44117,0.8997619030438584 -44118,0.8997694779577542 -44119,0.467671982995433 -44120,0.6978834629419106 -44121,0.4192017154292299 -44122,0.24389359512499542 -44123,0.7601937997216545 -44124,0.7484812583268374 -44125,0.28582149257518674 -44126,0.9353582454488053 -44127,0.5923684435374952 -44128,0.7717589216881775 -44129,0.8085050656319301 -44130,0.038534628082752875 -44131,0.7614265695436874 -44132,0.14920019919250127 -44133,0.253616974504126 -44134,0.5144338994268107 -44135,0.9255182099666717 -44136,0.01347289017154385 -44137,0.25070346394408705 -44138,0.4560470714330629 -44139,0.4193487031283971 -44140,0.7638974329568391 -44141,0.9255328507543019 -44142,0.10744694860550108 -44143,0.6958078749822634 -44144,0.9699884880187647 -44145,0.4678344497397521 -44146,0.3897261288521572 -44147,0.6737798170153253 -44148,0.021598793882605105 -44149,0.22525104343127755 -44150,0.4116633518762639 -44151,0.6201119666563686 -44152,0.7659556708545776 -44153,0.11085507713013676 -44154,0.6106410588577338 -44155,0.45987957277503166 -44156,0.9895426267611745 -44157,0.923926578940236 -44158,0.921692199702006 -44159,0.23224128422323387 -44160,0.9075205588598271 -44161,0.7246440568675216 -44162,0.11689688156591993 -44163,0.966707989200339 -44164,0.24231439682251965 -44165,0.7250669601937411 -44166,0.7829800067380797 -44167,0.8379498726620478 -44168,0.9118405305162077 -44169,0.06804064609369442 -44170,0.45191431991757747 -44171,0.70131259301044 -44172,0.8407360839876129 -44173,0.41283316167545125 -44174,0.2791844159197221 -44175,0.8347418822842702 -44176,0.9811294532334748 -44177,0.12185742120465837 -44178,0.12075542045133414 -44179,0.12203386610963807 -44180,0.4524044891233572 -44181,0.16545278572814737 -44182,0.21888154203375842 -44183,0.4186897005106086 -44184,0.5056934477389632 -44185,0.2631752355154333 -44186,0.5286332890408285 -44187,0.866279175805921 -44188,0.06287843403396165 -44189,0.8938445108647518 -44190,0.8434548211011982 -44191,0.5123924553354157 -44192,0.33257303085316847 -44193,0.12392992798145575 -44194,0.549622555533357 -44195,0.11930163271054661 -44196,0.13821347197825773 -44197,0.7327576657834554 -44198,0.999602656025636 -44199,0.4579766887071064 -44200,0.011063848101615759 -44201,0.7660584846033569 -44202,0.38770181235650725 -44203,0.5266182832528448 -44204,0.7381301899098708 -44205,0.7611679673863376 -44206,0.88671367199854 -44207,0.14909264898028385 -44208,0.3625958656058069 -44209,0.937536373608772 -44210,0.16158688620811612 -44211,0.39704699935923304 -44212,0.7868619084026667 -44213,0.9217771867781074 -44214,0.32319103975290764 -44215,0.7289381937254683 -44216,0.19338677882467137 -44217,0.04626315975922268 -44218,0.30461063548428957 -44219,0.03601413608852566 -44220,0.4717304001822672 -44221,0.6502687296068824 -44222,0.16687436585690307 -44223,0.05173550109848901 -44224,0.5840656315916245 -44225,0.08919332821876547 -44226,0.4125877670829078 -44227,0.8780915579178713 -44228,0.41985555604229396 -44229,0.22934135326716865 -44230,0.595299688099644 -44231,0.648475599813404 -44232,0.8693282646847047 -44233,0.5264509522728316 -44234,0.6062206182749749 -44235,0.9367555854746294 -44236,0.10694690096026171 -44237,0.4970339379859804 -44238,0.3685247079849757 -44239,0.5032324812981477 -44240,0.5177206885514456 -44241,0.4949644355074817 -44242,0.7410468922404259 -44243,0.5124723244087795 -44244,0.7542059509212887 -44245,0.08424592859186197 -44246,0.664735072244726 -44247,0.6024611209116231 -44248,0.9059214620911579 -44249,0.624823559408358 -44250,0.059216386018506206 -44251,0.3611630918917651 -44252,0.7804141664516387 -44253,0.7010386314196283 -44254,0.5005891003795215 -44255,0.9219887475290091 -44256,0.7880073665013061 -44257,0.28939279449794697 -44258,0.49591279939697996 -44259,0.8910191964573746 -44260,0.5707079202473727 -44261,0.9543096860104731 -44262,0.13931290330838508 -44263,0.9243269805973118 -44264,0.6399163871752197 -44265,0.6016292975742683 -44266,0.22464698825707086 -44267,0.3876884533955326 -44268,0.8120205343588053 -44269,0.7167877262992091 -44270,0.8338678312389863 -44271,0.42159275592155765 -44272,0.03269140363216749 -44273,0.08610831936531294 -44274,0.8754427770586234 -44275,0.3579514288591814 -44276,0.8061748792188468 -44277,0.16902049550811638 -44278,0.30118209358668135 -44279,0.46523498214814196 -44280,0.9707003940444098 -44281,0.17456891516605033 -44282,0.023447430455352802 -44283,0.2849928337307973 -44284,0.9475478613935461 -44285,0.1502084053508691 -44286,0.08969527688655787 -44287,0.8563384283106855 -44288,0.765348950960351 -44289,0.468527659875687 -44290,0.2503075605577496 -44291,0.11828430230874187 -44292,0.910303735054475 -44293,0.20722845990549343 -44294,0.9217998229856821 -44295,0.7739581877351304 -44296,0.30471912017057656 -44297,0.8506457631492347 -44298,0.4796344843604854 -44299,0.880349491721409 -44300,0.31563597378871644 -44301,0.8085754851646011 -44302,0.6845956558320345 -44303,0.2591201587020706 -44304,0.550555597556237 -44305,0.4709280659399564 -44306,0.44329625378773996 -44307,0.6830179467915933 -44308,0.8503519805429732 -44309,0.5959412875262301 -44310,0.5261859111531646 -44311,0.3964014243642151 -44312,0.4771483624865076 -44313,0.2906073994184073 -44314,0.7275719711680313 -44315,0.6292130858657945 -44316,0.5445262155711229 -44317,0.8460057645792636 -44318,0.6012313250301953 -44319,0.44936383919262146 -44320,0.9535860271983284 -44321,0.8261404514837872 -44322,0.566038331633987 -44323,0.9636784044135369 -44324,0.7619245013707939 -44325,0.4520326303317802 -44326,0.9766235209550612 -44327,0.8531638479801779 -44328,0.15459119917077146 -44329,0.7910909345087803 -44330,0.2698815378690913 -44331,0.48013213284304646 -44332,0.918758548471025 -44333,0.29425203990897586 -44334,0.2854574730019267 -44335,0.5637589796020402 -44336,0.7148861320872237 -44337,0.04159107101490378 -44338,0.26830817813866337 -44339,0.9754945953966788 -44340,0.39941419705752523 -44341,0.5043310831012308 -44342,0.6783768618328898 -44343,0.4310571923959078 -44344,0.6705960835397549 -44345,0.06751583266392114 -44346,0.12585211379284245 -44347,0.22104037299096368 -44348,0.5337504163932009 -44349,0.9528584821224285 -44350,0.40436154309417127 -44351,0.9875578692615848 -44352,0.7191739027535025 -44353,0.42913622557389464 -44354,0.09006197016446305 -44355,0.498060210885792 -44356,0.15736041586160798 -44357,0.1367666156220123 -44358,0.5005904105716369 -44359,0.8259776982202418 -44360,0.6150301093586533 -44361,0.07415059798690449 -44362,0.5047737977122141 -44363,0.3572311000631375 -44364,0.3920204779899592 -44365,0.7212866092588903 -44366,0.7870734260465949 -44367,0.03909132791139436 -44368,0.5887670718369584 -44369,0.6931594447684519 -44370,0.9083565252875264 -44371,0.18313286108810045 -44372,0.827445468851187 -44373,0.28166065565670717 -44374,0.09640714130832784 -44375,0.11073241655215738 -44376,0.8341214929064296 -44377,0.5029921003433738 -44378,0.48982179924846614 -44379,0.7502600126395695 -44380,0.23898032678083703 -44381,0.5611455329553758 -44382,0.9651406160724827 -44383,0.589694382310296 -44384,0.7629149869087926 -44385,0.9635732751021472 -44386,0.08616447742351785 -44387,0.14666882614046983 -44388,0.16447286505281322 -44389,0.7522335602821826 -44390,0.15700391545243697 -44391,0.6136335073117914 -44392,0.08715523233524791 -44393,0.3040684862044428 -44394,0.08760270786348534 -44395,0.4408833090009926 -44396,0.44382511586260187 -44397,0.027531729824965434 -44398,0.13229866798176027 -44399,0.8778058354385331 -44400,0.7079503517287634 -44401,0.29816654462329995 -44402,0.9629201484976984 -44403,0.21228460120643255 -44404,0.9243501231135526 -44405,0.19128415984839064 -44406,0.25304725383993554 -44407,0.6161034018366136 -44408,0.4054237533528011 -44409,0.8592340455007256 -44410,0.02076165964050347 -44411,0.38295824797067124 -44412,0.4588153186805204 -44413,0.36363493469258323 -44414,0.22461149795041846 -44415,0.19336837885905955 -44416,0.016868479640406386 -44417,0.23592880034110786 -44418,0.47735971922618237 -44419,0.656236704589276 -44420,0.23593528711366651 -44421,0.76946524095776 -44422,0.0905376910077128 -44423,0.6093515294197444 -44424,0.648498235646952 -44425,0.9379955361693919 -44426,0.31377006982032896 -44427,0.39130720227087723 -44428,0.7977046580803392 -44429,0.5798219079449658 -44430,0.6619498855542846 -44431,0.9875597975384307 -44432,0.34932752006119183 -44433,0.8916115300165824 -44434,0.40435982797207215 -44435,0.6755061757554752 -44436,0.374009935387818 -44437,0.3771330188754667 -44438,0.048131842386738066 -44439,0.9954745278124956 -44440,0.5278485055071445 -44441,0.32467838481061184 -44442,0.17655192271622588 -44443,0.16680858296547307 -44444,0.009052482796349848 -44445,0.6006734238352505 -44446,0.1808308924943286 -44447,0.03230545605795476 -44448,0.7160725839814203 -44449,0.3062200962778642 -44450,0.039976756322062545 -44451,0.7588137156749031 -44452,0.5942006123475061 -44453,0.8009055114283888 -44454,0.33409108582846203 -44455,0.8809470667506153 -44456,0.9418434421190632 -44457,0.001012289849972925 -44458,0.4139548454664893 -44459,0.8400341170885721 -44460,0.4086121113801574 -44461,0.07998525108367716 -44462,0.21176834784024945 -44463,0.24510353866444 -44464,0.09531305857670513 -44465,0.16916127661205949 -44466,0.6650276432706311 -44467,0.2661384446789168 -44468,0.7919809801139664 -44469,0.3605001530045877 -44470,0.9980619158971821 -44471,0.6189242622748263 -44472,0.4829048168788611 -44473,0.16358544343283876 -44474,0.41741637277619126 -44475,0.2967408755866525 -44476,0.8425694368131394 -44477,0.38591855323477675 -44478,0.8247451524276134 -44479,0.20342667599390762 -44480,0.5806836556544899 -44481,0.2080409657992116 -44482,0.284653133428555 -44483,0.4389365460843091 -44484,0.16749731135200807 -44485,0.22090924196447304 -44486,0.6841564761647655 -44487,0.2218473201552883 -44488,0.31097423919667655 -44489,0.7070724419121197 -44490,0.28847303527806745 -44491,0.2566961970352605 -44492,0.434683526227015 -44493,0.01671289110975227 -44494,0.1842129092690532 -44495,0.8452359256756549 -44496,0.24291561096085623 -44497,0.6477332019950699 -44498,0.6236613994035585 -44499,0.298946733911748 -44500,0.21343269035592127 -44501,0.3783951856273192 -44502,0.7695254290741224 -44503,0.5491694279089021 -44504,0.357682113383906 -44505,0.4177268579326553 -44506,0.1576726648505884 -44507,0.5101494417773913 -44508,0.9464136365729431 -44509,0.10644596463297418 -44510,0.5710278119180817 -44511,0.5909223273816854 -44512,0.9413734310751835 -44513,0.2500448304185363 -44514,0.06369853630158318 -44515,0.06845663776083943 -44516,0.8448577659209038 -44517,0.5390051009131863 -44518,0.5687941443702872 -44519,0.5285960733670242 -44520,0.13040681530296672 -44521,0.8124217314566572 -44522,0.9602189678938063 -44523,0.0381646722925737 -44524,0.29168819968909565 -44525,0.7701513263459603 -44526,0.8428184289560595 -44527,0.740870304307271 -44528,0.5681601929073771 -44529,0.5389817092089408 -44530,0.7293663609889518 -44531,0.7166464506059885 -44532,0.8136155084004335 -44533,0.9754041395743778 -44534,0.5590954414571072 -44535,0.4419818798334161 -44536,0.8840423387896439 -44537,0.8724410344901258 -44538,0.7342639410008238 -44539,0.47076503785189316 -44540,0.7667493502467763 -44541,0.34170874999529954 -44542,0.18978577474227454 -44543,0.8708123931170119 -44544,0.8701337363033006 -44545,0.7569907000956764 -44546,0.48861306080293865 -44547,0.8165846402096036 -44548,0.07635804907002042 -44549,0.27190651774091623 -44550,0.6100318128401471 -44551,0.29344409749000633 -44552,0.10112147448950437 -44553,0.6806199342850394 -44554,0.42781137878315534 -44555,0.819968802972927 -44556,0.24083835646834306 -44557,0.3551431779437998 -44558,0.40866743861373767 -44559,0.1001900984878864 -44560,0.5883899239890056 -44561,0.18080189540507707 -44562,0.11655411680315686 -44563,0.5646906018154864 -44564,0.0687079999955601 -44565,0.47975838171915797 -44566,0.2629250882604375 -44567,0.4648928746203316 -44568,0.6898353867005541 -44569,0.008670751966512014 -44570,0.975627988766457 -44571,0.1324155432945182 -44572,0.168322044749467 -44573,0.5853393976393666 -44574,0.8283553240635566 -44575,0.9181978902853505 -44576,0.09460897111889577 -44577,0.6253594425193088 -44578,0.8921148526045745 -44579,0.7876075977109233 -44580,0.4146479644706931 -44581,0.10097084874676532 -44582,0.10178758549050493 -44583,0.553591874545415 -44584,0.876789182918001 -44585,0.7254383364900236 -44586,0.11776284020616323 -44587,0.7902333942570239 -44588,0.8908393244297752 -44589,0.05433046513388662 -44590,0.090197649354684 -44591,0.8891677250546136 -44592,0.5094032805842598 -44593,0.8826118668883425 -44594,0.07469286120345131 -44595,0.36327583843122635 -44596,0.8429302211719365 -44597,0.41794374630818765 -44598,0.6829783469582712 -44599,0.36390478147631833 -44600,0.7848320252223243 -44601,0.47773401533824533 -44602,0.4669410598559497 -44603,0.19617089090018291 -44604,0.06868360197200984 -44605,0.8620673868341494 -44606,0.22362978327935656 -44607,0.7486232299496823 -44608,0.3209352253505666 -44609,0.13125662507806002 -44610,0.6694720775615156 -44611,0.11102462727507956 -44612,0.8090914050789789 -44613,0.7653773402084136 -44614,0.8494870134535061 -44615,0.9562978487038633 -44616,0.29324811697341246 -44617,0.36010959905382134 -44618,0.7323455981538601 -44619,0.11176104215299665 -44620,0.31967316223045106 -44621,0.4404864319159776 -44622,0.3334280020155539 -44623,0.7239775489162289 -44624,0.639830368799915 -44625,0.16089108724290646 -44626,0.7858001354074404 -44627,0.5642758490628106 -44628,0.8935856460871068 -44629,0.3995628594214934 -44630,0.059061747565945066 -44631,0.07344984883549255 -44632,0.3312590358184472 -44633,0.7258899679784272 -44634,0.2916208903499564 -44635,0.0814092039395291 -44636,0.7780671487537926 -44637,0.9111268338197732 -44638,0.008780363841398797 -44639,0.17999248630295173 -44640,0.6358695455680515 -44641,0.6292780181149541 -44642,0.6212000774161895 -44643,0.010425441928402557 -44644,0.12716450241660393 -44645,0.12450509538979326 -44646,0.5913497307886577 -44647,0.7394072661530314 -44648,0.4058922239912147 -44649,0.09120756591935852 -44650,0.8887096574601524 -44651,0.3201851985932044 -44652,0.2906841736937237 -44653,0.7225792339036812 -44654,0.49063514803515795 -44655,0.24637543099137038 -44656,0.6361985136416518 -44657,0.17027654238757872 -44658,0.33597643591381854 -44659,0.2671909600732808 -44660,0.17032225630214437 -44661,0.8540546245424653 -44662,0.2116720065385107 -44663,0.1312895240084172 -44664,0.16341061291619985 -44665,0.9622136940164624 -44666,0.5837610087702771 -44667,0.8733523788607993 -44668,0.35104153077765166 -44669,0.8871937212848799 -44670,0.4586007451641577 -44671,0.029049457732823747 -44672,0.10923286148160483 -44673,0.7273775608878486 -44674,0.26304982225007156 -44675,0.9451567809922325 -44676,0.8993542125847451 -44677,0.24520180712592665 -44678,0.7151829228947486 -44679,0.7435795954778328 -44680,0.5809664590023997 -44681,0.13808380270343168 -44682,0.6375542996439465 -44683,0.7548938028136003 -44684,0.6863052634635022 -44685,0.08724423508879464 -44686,0.6393728068932594 -44687,0.41867777367281844 -44688,0.8621011774290928 -44689,0.47074808548388103 -44690,0.2217471282865323 -44691,0.5972741866340888 -44692,0.2801585257667526 -44693,0.5128168899002862 -44694,0.165789267415402 -44695,0.8884922420302928 -44696,0.4600448171919391 -44697,0.22386078718189872 -44698,0.34002117879641036 -44699,0.6665734191641106 -44700,0.05649376928969552 -44701,0.9122627470100652 -44702,0.19097217839655245 -44703,0.5866468823496366 -44704,0.8656280503115141 -44705,0.5833821961291613 -44706,0.3977068525281172 -44707,0.2365855210026886 -44708,0.07528381635048331 -44709,0.7077698550040361 -44710,0.5977710575839977 -44711,0.3284320654398335 -44712,0.6490110331537714 -44713,0.9945154858495721 -44714,0.7401518355081009 -44715,0.3138529185927805 -44716,0.14991244793784342 -44717,0.5552377838690882 -44718,0.38988621282623925 -44719,0.3522093318372377 -44720,0.9986352651561657 -44721,0.21401271019132895 -44722,0.10323560708135171 -44723,0.7452844960446169 -44724,0.8444497999907353 -44725,0.793299497305134 -44726,0.37780596834885827 -44727,0.2831508037578381 -44728,0.42126041655892366 -44729,0.8806909308296148 -44730,0.6730074843874182 -44731,0.5599710264234702 -44732,0.3151667517717881 -44733,0.6699719524740679 -44734,0.09034918526076252 -44735,0.3178841976093636 -44736,0.474893531761732 -44737,0.7018967350709708 -44738,0.649099833501453 -44739,0.7066363114856852 -44740,0.9717705843814005 -44741,0.41377658111185023 -44742,0.2514466637828493 -44743,0.30847390426346777 -44744,0.365740131253775 -44745,0.2744733201092172 -44746,0.18025548885771492 -44747,0.24078545308316357 -44748,0.00412838676572469 -44749,0.23819328891429892 -44750,0.05909650032801539 -44751,0.3215475975819698 -44752,0.9571526679549732 -44753,0.4680038964072708 -44754,0.9092713448812803 -44755,0.17016806528465578 -44756,0.8263993884766447 -44757,0.13820295466723276 -44758,0.11605380127282161 -44759,0.3554003827405927 -44760,0.07324803480110886 -44761,0.747993709747523 -44762,0.5405323725604182 -44763,0.12771627753561243 -44764,0.41653558051894346 -44765,0.849061089677051 -44766,0.4285944710809736 -44767,0.8289364731470192 -44768,0.00976643456635451 -44769,0.9070010811627672 -44770,0.976549957627195 -44771,0.7581223379634626 -44772,0.04166112577633552 -44773,0.8264982659432174 -44774,0.5708936781395587 -44775,0.0965589932520261 -44776,0.3276112015917727 -44777,0.905238080970671 -44778,0.33868796959504643 -44779,0.33758752214605803 -44780,0.5737048337754992 -44781,0.5561167357666157 -44782,0.6381245641278482 -44783,0.536006885120876 -44784,0.22009583336027871 -44785,0.08949788150454341 -44786,0.12570246943112917 -44787,0.950590252949674 -44788,0.15699633858244433 -44789,0.6772326133545156 -44790,0.845957590380815 -44791,0.7563618662820709 -44792,0.8761461873270535 -44793,0.7055553104309165 -44794,0.060184237604062996 -44795,0.9530801409949021 -44796,0.7593936779735919 -44797,0.755808595946826 -44798,0.3060342385823659 -44799,0.4399103484148702 -44800,0.4259592592957119 -44801,0.9793585203810753 -44802,0.43075579067294767 -44803,0.8947799311432757 -44804,0.15390996995819772 -44805,0.5931511917477866 -44806,0.23661591400354887 -44807,0.7458291033651654 -44808,0.0476519887902046 -44809,0.1883297663334944 -44810,0.8956902691673795 -44811,0.9913885466902383 -44812,0.3928351740335517 -44813,0.7621635470241251 -44814,0.5592454882293322 -44815,0.4095358382938934 -44816,0.14447239498487385 -44817,0.9530314403273851 -44818,0.9280145658111304 -44819,0.7892220811483018 -44820,0.7879005140707589 -44821,0.516693359012198 -44822,0.9840917017417024 -44823,0.2004078720439333 -44824,0.6043125043632458 -44825,0.02873275063475178 -44826,0.9466473688660152 -44827,0.6849060891673454 -44828,0.7188889657228149 -44829,0.9981976147284417 -44830,0.06940064306234406 -44831,0.7768458487600838 -44832,0.3796735457048698 -44833,0.28529949445205427 -44834,0.763213265797589 -44835,0.7603431747111367 -44836,0.44107325874805614 -44837,0.8250219071604952 -44838,0.7445263367813291 -44839,0.6441531746287869 -44840,0.20174558482107674 -44841,0.05796784815656153 -44842,0.09741234129279008 -44843,0.2577022592720284 -44844,0.18366167285261947 -44845,0.8938376467854096 -44846,0.9822354839692523 -44847,0.6453916934866653 -44848,0.19491876859911272 -44849,0.9744593667672868 -44850,0.9408520562147621 -44851,0.49907237566066054 -44852,0.781315732489004 -44853,0.5130130996939292 -44854,0.3183726042832048 -44855,0.8539364956352 -44856,0.04915783199326107 -44857,0.47196017489992603 -44858,0.6278490500336374 -44859,0.5713344969789677 -44860,0.4371327501532377 -44861,0.17239810373576736 -44862,0.8754452304300728 -44863,0.10929114380945315 -44864,0.6010816753348848 -44865,0.031591837742283024 -44866,0.4227331773294223 -44867,0.12569213453922579 -44868,0.36100759509351255 -44869,0.4822972901803936 -44870,0.8524968178407574 -44871,0.15070515516212257 -44872,0.4049472780363568 -44873,0.1098119359404992 -44874,0.8717276884446719 -44875,0.8986467199688647 -44876,0.45802279387989664 -44877,0.4871009897697658 -44878,0.7268425221475513 -44879,0.7207764318364471 -44880,0.12511263911055948 -44881,0.2533838325165588 -44882,0.11443506160673522 -44883,0.38422262613371305 -44884,0.7606374985231092 -44885,0.791033830733633 -44886,0.8560102505405015 -44887,0.8067533609424169 -44888,0.9888615947091906 -44889,0.48858580277471775 -44890,0.920269005499203 -44891,0.409098274347267 -44892,0.4787753429230681 -44893,0.17240745147909453 -44894,0.5490105604196974 -44895,0.2406368044137246 -44896,0.36293161427727016 -44897,0.5120607286565368 -44898,0.47116067278829477 -44899,0.09708625436302376 -44900,0.7900978815488617 -44901,0.6618554072584294 -44902,0.6048163805777419 -44903,0.14991004693539756 -44904,0.15006581171767996 -44905,0.8221366350169668 -44906,0.7849881837339233 -44907,0.13881397907638016 -44908,0.19443388475362522 -44909,0.8062556840479066 -44910,0.8530061147324541 -44911,0.03563889996576941 -44912,0.5655382258348315 -44913,0.9208550328518376 -44914,0.6380336026419948 -44915,0.07416772343900457 -44916,0.1126943088814839 -44917,0.4053097946536064 -44918,0.09359807777584761 -44919,0.05237872828375767 -44920,0.22834735531154582 -44921,0.062149042835927815 -44922,0.8596857093655166 -44923,0.7289466253218337 -44924,0.7496371665579682 -44925,0.9234723847575403 -44926,0.9790991558614748 -44927,0.7215770760901777 -44928,0.9561951756370698 -44929,0.8497472272395852 -44930,0.7655894650814878 -44931,0.6309269170256833 -44932,0.6898480387925063 -44933,0.5082194662277026 -44934,0.30678149682753764 -44935,0.4379625451778514 -44936,0.45258358148511024 -44937,0.5734448086372947 -44938,0.7210715280162213 -44939,0.7346399532466025 -44940,0.0002343013234751279 -44941,0.9775066206780668 -44942,0.8108390497655225 -44943,0.49910595154321524 -44944,0.3793426605623883 -44945,0.022200171161618876 -44946,0.6849734484643729 -44947,0.6325893222952156 -44948,0.8923831766438234 -44949,0.24589986544927622 -44950,0.8438433692516578 -44951,0.3661495197430169 -44952,0.9789924791033836 -44953,0.6211454818571912 -44954,0.629285658406725 -44955,0.5120375672423993 -44956,0.931242193987417 -44957,0.9318634231429602 -44958,0.41590676599507537 -44959,0.6227584903305535 -44960,0.9772452602467314 -44961,0.8434223740615152 -44962,0.7429118883196605 -44963,0.5701618502219912 -44964,0.635435995454056 -44965,0.615462063278042 -44966,0.9394399522449391 -44967,0.6049373229932985 -44968,0.03290827698069687 -44969,0.6474655321876336 -44970,0.426393877165112 -44971,0.851736142803932 -44972,0.09323124273267636 -44973,0.3395106916484856 -44974,0.0055944013685900185 -44975,0.8933843980233998 -44976,0.20309609070513435 -44977,0.2812300183483407 -44978,0.5728172724510201 -44979,0.8571518249088428 -44980,0.8664159391548585 -44981,0.07307906962029298 -44982,0.523591649808064 -44983,0.2846286650529042 -44984,0.9114540538931565 -44985,0.23426228903682356 -44986,0.5035665859412843 -44987,0.945268172142455 -44988,0.4162442194454419 -44989,0.9191539071160435 -44990,0.9040913670080521 -44991,0.7451994692940255 -44992,0.3361985141228575 -44993,0.879272252003274 -44994,0.1610825289559924 -44995,0.7942943908748562 -44996,0.9589998467382985 -44997,0.22741074805067074 -44998,0.0387161311944797 -44999,0.18334131024765188 -45000,0.006146357355183207 -45001,0.8944003396115169 -45002,0.8151496765001968 -45003,0.5393299560435205 -45004,0.057289600212233505 -45005,0.97001857924846 -45006,0.5559786975392069 -45007,0.49278638715289647 -45008,0.989823970766246 -45009,0.7931037089809166 -45010,0.8435702533183939 -45011,0.39109605385642243 -45012,0.6353970657686215 -45013,0.005262114690215425 -45014,0.0071695246762717435 -45015,0.3228199102033241 -45016,0.9910596387686889 -45017,0.20708505118677356 -45018,0.14678116469470048 -45019,0.512075511837011 -45020,0.20644300290502182 -45021,0.7839527019286262 -45022,0.5521277613914851 -45023,0.24366683348725526 -45024,0.8147890889530612 -45025,0.8930098405503155 -45026,0.6126490860535383 -45027,0.04150247699300158 -45028,0.14137547518578386 -45029,0.7128794211448511 -45030,0.9219190327167486 -45031,0.4645996415437894 -45032,0.03427960627885207 -45033,0.8815398011604318 -45034,0.4575332422592897 -45035,0.6395032984381087 -45036,0.9501697318567593 -45037,0.7209052007490503 -45038,0.35579262771773523 -45039,0.6089077765380243 -45040,0.8567047694555672 -45041,0.558879799567665 -45042,0.6657662246188477 -45043,0.6141212104031583 -45044,0.16421283181863489 -45045,0.5659335087791864 -45046,0.3575686730109029 -45047,0.9825773140231585 -45048,0.24234714057363183 -45049,0.8673626892701083 -45050,0.1464433088597279 -45051,0.2075746628522821 -45052,0.04207373133177317 -45053,0.2647688630375056 -45054,0.9582615092365216 -45055,0.48459400497136895 -45056,0.14359509872541043 -45057,0.6070307970043223 -45058,0.7465115209148407 -45059,0.9482151901254634 -45060,0.8060779697807215 -45061,0.6460905419251167 -45062,0.8200967973264673 -45063,0.912025835260909 -45064,0.11142454862786311 -45065,0.31771154274180646 -45066,0.4688864159238173 -45067,0.503967095970234 -45068,0.8469572072707938 -45069,0.36925745229358853 -45070,0.7132898711062777 -45071,0.01913928991259284 -45072,0.5412341941649839 -45073,0.4187516023585711 -45074,0.02484791307526446 -45075,0.7544820919148572 -45076,0.8395384326591342 -45077,0.5592961148627723 -45078,0.6628564046625423 -45079,0.6905500298644753 -45080,0.12831688344953218 -45081,0.2601579214361498 -45082,0.31658462392564923 -45083,0.408842957789341 -45084,0.44439059683835214 -45085,0.779932996819318 -45086,0.7743902542049065 -45087,0.7370164286128075 -45088,0.34341849546847214 -45089,0.8945644228696018 -45090,0.45727501893461564 -45091,0.9136374945608609 -45092,0.38196200003235703 -45093,0.441262985082163 -45094,0.8530016835595531 -45095,0.5506918677604725 -45096,0.09826619444413476 -45097,0.18362674050895755 -45098,0.1027758094935155 -45099,0.025000515561789394 -45100,0.7151676858751037 -45101,0.6273279741854842 -45102,0.13410917380576493 -45103,0.3340045663690763 -45104,0.5329518962587279 -45105,0.8838779511980817 -45106,0.25161223510382713 -45107,0.5352607352947402 -45108,0.3291387609733243 -45109,0.34140388895861884 -45110,0.3800972887391336 -45111,0.24194075494269596 -45112,0.6747169985855497 -45113,0.07059516414878142 -45114,0.10714586743893584 -45115,0.51030841823929 -45116,0.7607538996120611 -45117,0.9317711505533968 -45118,0.16642705549175618 -45119,0.25674657170097304 -45120,0.7352281071565 -45121,0.5996244305843053 -45122,0.5299586899901432 -45123,0.6590244288058803 -45124,0.9267013897683987 -45125,0.5354942833569429 -45126,0.9023714556133311 -45127,0.09383375560771545 -45128,0.8495031535305289 -45129,0.9961500810251789 -45130,0.04870335737209197 -45131,0.12353893328472743 -45132,0.8454177046490825 -45133,0.8888669649760996 -45134,0.12297286838564703 -45135,0.34358284980970566 -45136,0.07937662375056054 -45137,0.4059989726177048 -45138,0.7657665106412853 -45139,0.9374453415823262 -45140,0.8475910776972716 -45141,0.8318731706006794 -45142,0.6027316713677076 -45143,0.95200268081685 -45144,0.1948586524494169 -45145,0.37652178070411235 -45146,0.14794904359907168 -45147,0.6722148621428561 -45148,0.18168323852341095 -45149,0.08372543289680157 -45150,0.4553670882175025 -45151,0.2680115732523185 -45152,0.6749169305277517 -45153,0.07581697774291518 -45154,0.8452999355228114 -45155,0.7367695099645369 -45156,0.6609615552563645 -45157,0.8959513092141855 -45158,0.48978302429372844 -45159,0.7075976590406758 -45160,0.6090991177740447 -45161,0.056599556798272777 -45162,0.55445075516092 -45163,0.019430790252207175 -45164,0.6737151213791703 -45165,0.6173150799515621 -45166,0.7347243086201745 -45167,0.4389954105871158 -45168,0.7830674420279277 -45169,0.6090700259121051 -45170,0.07354413577834229 -45171,0.44659468781289446 -45172,0.6509279602601787 -45173,0.08760990232824972 -45174,0.0363293347552508 -45175,0.33965417029280853 -45176,0.7005636845898144 -45177,0.7535526008707216 -45178,0.5932935352059452 -45179,0.8332545779999381 -45180,0.8167323295061399 -45181,0.4582093746418022 -45182,0.46976876168271176 -45183,0.37305365494473286 -45184,0.18800291386747792 -45185,0.8977044551035697 -45186,0.5062789643381059 -45187,0.9346024379227628 -45188,0.6137964537606808 -45189,0.029270781262020207 -45190,0.957190228173224 -45191,0.5373181358336253 -45192,0.11289328904372464 -45193,0.7284364502835788 -45194,0.23159375108604052 -45195,0.023546763348622046 -45196,0.1544044182455947 -45197,0.031802421722346375 -45198,0.038835074230876065 -45199,0.7203817018030457 -45200,0.5518560575183126 -45201,0.9289358147508943 -45202,0.6085042849515941 -45203,0.8814200421165921 -45204,0.27972024957360675 -45205,0.7981505987584264 -45206,0.7688142296040824 -45207,0.7012926692241671 -45208,0.8248426509773732 -45209,0.35778556912840376 -45210,0.8198647361528957 -45211,0.09737239036833012 -45212,0.27783836263136263 -45213,0.170803214441008 -45214,0.4058552293910471 -45215,0.027120640960658027 -45216,0.6225563590230393 -45217,0.03862666078009447 -45218,0.3488753121383461 -45219,0.8629404794643515 -45220,0.5056031220991977 -45221,0.3953325930938897 -45222,0.46298837737167176 -45223,0.5612965640622507 -45224,0.4694624333100378 -45225,0.33861671569489715 -45226,0.9053880373207063 -45227,0.5683470554084142 -45228,0.38798282088426284 -45229,0.11187970074014342 -45230,0.49722799867040723 -45231,0.39488587858939495 -45232,0.1713955902373041 -45233,0.5705603924458637 -45234,0.132705111422169 -45235,0.9063106114133516 -45236,0.9102626323974006 -45237,0.19068129735425732 -45238,0.22595955257619427 -45239,0.04480404191497933 -45240,0.4501741925032733 -45241,0.8015539667296334 -45242,0.9029112322635943 -45243,0.9386574665754269 -45244,0.47858305232036713 -45245,0.639956361282215 -45246,0.916760821245344 -45247,0.3445587755837233 -45248,0.8431071663635783 -45249,0.4663521045490532 -45250,0.7113621335153948 -45251,0.4301248923186254 -45252,0.09600834492810484 -45253,0.786410173611985 -45254,0.7007009791251073 -45255,0.21995112569989994 -45256,0.47842071498724925 -45257,0.7480904145959936 -45258,0.3977061528992737 -45259,0.41135038952604785 -45260,0.937959751812762 -45261,0.9775050113272774 -45262,0.08031657321247909 -45263,0.5264979343759617 -45264,0.26133904494121174 -45265,0.08859367106762628 -45266,0.8530601018970857 -45267,0.1980221753271164 -45268,0.9255536976843849 -45269,0.7079473398086965 -45270,0.6865307537565927 -45271,0.8725372885773801 -45272,0.5708774911473103 -45273,0.7614547051353505 -45274,0.6272404215185811 -45275,0.8668037539122538 -45276,0.02949864019987758 -45277,0.11902400578219208 -45278,0.2758609770405487 -45279,0.0950807765843813 -45280,0.28859945840676526 -45281,0.6535647894847572 -45282,0.2508122441678199 -45283,0.7311401563543529 -45284,0.987366074341402 -45285,0.7688091918432003 -45286,0.6219387502522059 -45287,0.9357319977175358 -45288,0.946144314743455 -45289,0.6400759224541476 -45290,0.8227735491289491 -45291,0.23510621679650334 -45292,0.295708397029646 -45293,0.5656581022824385 -45294,0.1678343058686539 -45295,0.07723234721484473 -45296,0.7484071000547516 -45297,0.26005987790866436 -45298,0.7198843696146838 -45299,0.7031263104734822 -45300,0.44897825014251547 -45301,0.30752083431595023 -45302,0.5373177536495519 -45303,0.21197642900257962 -45304,0.36453561234455767 -45305,0.1443364414891578 -45306,0.6334729895736843 -45307,0.4262402853416686 -45308,0.19081272243062009 -45309,0.32803855503191726 -45310,0.5554975027787331 -45311,0.8021816775495464 -45312,0.09626242431824283 -45313,0.5192065414366283 -45314,0.09373276984228429 -45315,0.9494625659410124 -45316,0.21354878624873397 -45317,0.02955823385429146 -45318,0.5923535616822434 -45319,0.7300587344757393 -45320,0.6677602181163848 -45321,0.4606338917655486 -45322,0.43089615373967294 -45323,0.9515388702924005 -45324,0.30601374335966436 -45325,0.3322143452858598 -45326,0.04433266690653759 -45327,0.2532609230927111 -45328,0.12167434876561656 -45329,0.052706746969006346 -45330,0.42885843155436276 -45331,0.1946577657021069 -45332,0.5213929400354409 -45333,0.6599420545068482 -45334,0.5882203979452902 -45335,0.20881839844882688 -45336,0.2791144635494437 -45337,0.28973239700117204 -45338,0.6787425436307737 -45339,0.2742083146646047 -45340,0.6966960470954513 -45341,0.20183717807558732 -45342,0.6368261550767044 -45343,0.7788069610324814 -45344,0.5950760289885942 -45345,0.2589689019686996 -45346,0.9502852888792696 -45347,0.6785025932451618 -45348,0.1286878585321377 -45349,0.2756938706027132 -45350,0.3547746013081736 -45351,0.85897288870659 -45352,0.21368366054012233 -45353,0.4094155549722921 -45354,0.520787880755681 -45355,0.9999385397378354 -45356,0.5928521123575481 -45357,0.54814476278128 -45358,0.9147173873453023 -45359,0.2904855137414294 -45360,0.33876110574267926 -45361,0.4451596603868797 -45362,0.715514925366007 -45363,0.6696815704782016 -45364,0.5390657254526592 -45365,0.614615541427858 -45366,0.31957814424168896 -45367,0.368561590789077 -45368,0.5194516258099428 -45369,0.594609285402121 -45370,0.8703904806960154 -45371,0.3036573596192327 -45372,0.8822145152174935 -45373,0.3492703566976867 -45374,0.003513572203754145 -45375,0.8446627992813914 -45376,0.8274594327085809 -45377,0.6945003348558464 -45378,0.9406142165432654 -45379,0.766501407163802 -45380,0.716186928626166 -45381,0.4180354959560766 -45382,0.7439997611743654 -45383,0.9892551118570804 -45384,0.050107584217800705 -45385,0.7537354897451082 -45386,0.3417799885295465 -45387,0.5719068754868835 -45388,0.15246673225772756 -45389,0.5638114760141446 -45390,0.09537864188793543 -45391,0.574867484368457 -45392,0.21297404664033925 -45393,0.6263731869515259 -45394,0.06356501475578502 -45395,0.6645131241453338 -45396,0.5361911119907067 -45397,0.5381653825551662 -45398,0.04933648597012885 -45399,0.11614673581434387 -45400,0.7768343642724568 -45401,0.6124475562289042 -45402,0.6085193622057476 -45403,0.6340433474321695 -45404,0.8419490930365928 -45405,0.24290003748992361 -45406,0.5627455835692108 -45407,0.6175049331796191 -45408,0.9963734343738514 -45409,0.24548521797384537 -45410,0.32836717480285804 -45411,0.10060530115906663 -45412,0.6989856786420284 -45413,0.61721479097449 -45414,0.35701753556380955 -45415,0.9319205716201225 -45416,0.20868483397445636 -45417,0.1062434000458764 -45418,0.44921910695693057 -45419,0.4825391501234647 -45420,0.5623160899819676 -45421,0.19673088256675098 -45422,0.43470952219592884 -45423,0.044657092548921695 -45424,0.6121983666838073 -45425,0.5658367394503055 -45426,0.6596661381293364 -45427,0.21653954770185924 -45428,0.7228412220551539 -45429,0.7235048524532243 -45430,0.008586724773637089 -45431,0.7424007847918384 -45432,0.9500588400155012 -45433,0.3567711159128313 -45434,0.5542389013531437 -45435,0.7039610648371057 -45436,0.7535394163297264 -45437,0.36850175095518634 -45438,0.9250686101297317 -45439,0.5388117951021603 -45440,0.4187010965691157 -45441,0.9663014342980292 -45442,0.5353022209045334 -45443,0.142098960332931 -45444,0.6685066547807833 -45445,0.48675864832160964 -45446,0.9944352925246427 -45447,0.8425208799533458 -45448,0.1715172296345029 -45449,0.615880601848166 -45450,0.09536519746532723 -45451,0.09704073509683675 -45452,0.9032099162535168 -45453,0.15580971434970903 -45454,0.4433419766063169 -45455,0.7150609119142473 -45456,0.35162262762202834 -45457,0.01068695306698153 -45458,0.1453604002423432 -45459,0.3789905671720655 -45460,0.3110525335131551 -45461,0.4585835531585104 -45462,0.857780271169715 -45463,0.27690697651133855 -45464,0.18522363217169813 -45465,0.4760196968159456 -45466,0.7106555580668432 -45467,0.3835383998314178 -45468,0.5073173505509221 -45469,0.6399743723615087 -45470,0.6724253376940211 -45471,0.9319587044898003 -45472,0.4861800585638808 -45473,0.024837812579071916 -45474,0.8368784838017699 -45475,0.44668949309938666 -45476,0.025958476459656765 -45477,0.3745350211150782 -45478,0.24146423432108188 -45479,0.4557212766761778 -45480,0.9191578829437821 -45481,0.9461060958893192 -45482,0.450626701788706 -45483,0.15616799779921675 -45484,0.140773089065646 -45485,0.48778577167376647 -45486,0.9007657803460009 -45487,0.12360898853971569 -45488,0.4300647372446733 -45489,0.5214284265311712 -45490,0.6647347592424093 -45491,0.028960834364546773 -45492,0.1547541281530358 -45493,0.8225248489363823 -45494,0.21447228387475448 -45495,0.9302325820765631 -45496,0.14877037639290225 -45497,0.42933499914170414 -45498,0.9371480051923421 -45499,0.34126423743807954 -45500,0.22475714284960513 -45501,0.22494061676298616 -45502,0.43337343871611733 -45503,0.21268783532671565 -45504,0.1814869688088745 -45505,0.06169381293120568 -45506,0.37358052852217527 -45507,0.2680468406013261 -45508,0.6002318139878038 -45509,0.07349379255734823 -45510,0.43234189622569175 -45511,0.2332645641596235 -45512,0.12050905605465734 -45513,0.46757481571815074 -45514,0.9498183715023725 -45515,0.889850801478574 -45516,0.23811731945043746 -45517,0.713434863892531 -45518,0.3429632483773132 -45519,0.3054851434525139 -45520,0.20629595796838918 -45521,0.5720391176712842 -45522,0.810489226467769 -45523,0.29247774315290864 -45524,0.7900272902221888 -45525,0.6143990921487775 -45526,0.6636911185259834 -45527,0.213054705155301 -45528,0.19401338458820394 -45529,0.4196313854959599 -45530,0.00968680637784658 -45531,0.9869136749771009 -45532,0.8166879950484351 -45533,0.6274976308933117 -45534,0.021015064776450987 -45535,0.9810547918912702 -45536,0.29321413726934475 -45537,0.39039049027525097 -45538,0.282009153291216 -45539,0.3373489569938988 -45540,0.5169546858834554 -45541,0.2556201829785292 -45542,0.32285993082312114 -45543,0.15511089213871987 -45544,0.9495304505429422 -45545,0.9794371047165095 -45546,0.21908676544405215 -45547,0.5780799127526016 -45548,0.3740300067534551 -45549,0.8017519738949512 -45550,0.7032252336664904 -45551,0.5542343463351088 -45552,0.9812661557835312 -45553,0.12752226728244176 -45554,0.4070123758672013 -45555,0.03593659132287297 -45556,0.08304988413708769 -45557,0.5106699289314098 -45558,0.9552213749996997 -45559,0.2869773189277408 -45560,0.6727670697866718 -45561,0.616463859788018 -45562,0.3863312354701167 -45563,0.8077009020127055 -45564,0.20076382859351283 -45565,0.590772090364337 -45566,0.8446677128676062 -45567,0.8533860456724846 -45568,0.6954652445014248 -45569,0.568341960437282 -45570,0.29881439571348256 -45571,0.556663057080287 -45572,0.12680519015673675 -45573,0.393250499940178 -45574,0.08171161874486987 -45575,0.12188588869713746 -45576,0.7331374054502119 -45577,0.06295712267530473 -45578,0.3371730069614749 -45579,0.23870158798133934 -45580,0.8410060130248039 -45581,0.6900160518626073 -45582,0.6662935818482476 -45583,0.5282029092034785 -45584,0.6014079362643909 -45585,0.9120506479046928 -45586,0.2361888024746185 -45587,0.645737575338418 -45588,0.3806573329155696 -45589,0.05438313167368203 -45590,0.998818869730462 -45591,0.12871875707391256 -45592,0.8363032263370129 -45593,0.0022321462979543183 -45594,0.31368030459484453 -45595,0.060141302909905825 -45596,0.908062054152286 -45597,0.34598090978448814 -45598,0.423359055459016 -45599,0.7183245584739798 -45600,0.08966753965548835 -45601,0.5933371614168386 -45602,0.12102726766003946 -45603,0.15622360745370645 -45604,0.7554643566456546 -45605,0.6614889338834123 -45606,0.3703018441774689 -45607,0.8569307407091854 -45608,0.4625457924822851 -45609,0.5251457767885365 -45610,0.9791465689292074 -45611,0.9165802522586062 -45612,0.4295439394221342 -45613,0.4663666677655035 -45614,0.5962976517863461 -45615,0.27747502473788244 -45616,0.3591490995893374 -45617,0.7685773546277288 -45618,0.23188433236259764 -45619,0.3221928950764896 -45620,0.3970862981421719 -45621,0.09645597886212609 -45622,0.6970638446093428 -45623,0.11035987565570071 -45624,0.8651730900646478 -45625,0.5307021864161535 -45626,0.7903114495278392 -45627,0.12322272107977894 -45628,0.6115815468513667 -45629,0.19815306491106766 -45630,0.5131911733104026 -45631,0.11387782133648183 -45632,0.8062764146846032 -45633,0.8993775950768493 -45634,0.21380621858617477 -45635,0.6975297051870679 -45636,0.7368021657330529 -45637,0.46649140641424836 -45638,0.8736176548517153 -45639,0.052670504844745 -45640,0.25219034003092866 -45641,0.10429548005965605 -45642,0.08451729839874433 -45643,0.8698560879124505 -45644,0.8645579080235379 -45645,0.6170491189592688 -45646,0.3519027648017029 -45647,0.25312133868522646 -45648,0.6274732484644331 -45649,0.9123117935221635 -45650,0.012559658226046433 -45651,0.7960137097267753 -45652,0.20762369532544744 -45653,0.6032347995955228 -45654,0.9787041772568565 -45655,0.6996826867079128 -45656,0.23746570230423591 -45657,0.3750885380874204 -45658,0.9945823528431532 -45659,0.0322098878369228 -45660,0.2314578451205388 -45661,0.0868894230353765 -45662,0.32712513497153706 -45663,0.6340020196405708 -45664,0.22146322696976295 -45665,0.43982475424650125 -45666,0.614475536909348 -45667,0.63970451084023 -45668,0.7751708209475966 -45669,0.5192946271786104 -45670,0.7683744898603214 -45671,0.3513904562758621 -45672,0.36716036839177657 -45673,0.015120319468816423 -45674,0.9614070779595493 -45675,0.8870680746341996 -45676,0.7853684510056532 -45677,0.2070333240878801 -45678,0.4506489116897757 -45679,0.6823865432160394 -45680,0.3369927855528171 -45681,0.4597142522678873 -45682,0.7311509299879457 -45683,0.11931843063914704 -45684,0.8537723426858687 -45685,0.4447467877879486 -45686,0.9811479182334455 -45687,0.4377933121225549 -45688,0.5595341920968098 -45689,0.013633602158448221 -45690,0.3760268654120439 -45691,0.10069332620237681 -45692,0.41187768422251714 -45693,0.9062785479628764 -45694,0.7957142361180412 -45695,0.6623167000981046 -45696,0.32150166999684926 -45697,0.6995742408959159 -45698,0.2559894689472588 -45699,0.12444953614111964 -45700,0.7475880704563531 -45701,0.4203401397798334 -45702,0.39959818619004706 -45703,0.8137474971297499 -45704,0.7742237022094405 -45705,0.16540502856189987 -45706,0.13454532577070033 -45707,0.20801866107075428 -45708,0.7665577571242366 -45709,0.54564271507367 -45710,0.8160677549536288 -45711,0.06130833086795551 -45712,0.3659330759460159 -45713,0.7583068132781499 -45714,0.35341401576059306 -45715,0.6360553234141496 -45716,0.9250636310156722 -45717,0.45986456597744085 -45718,0.9362794754622561 -45719,0.22712334770545983 -45720,0.6653784461852179 -45721,0.7348364464639505 -45722,0.5567303012690721 -45723,0.9901997693996629 -45724,0.8174163284864875 -45725,0.845666756972756 -45726,0.5422159264775868 -45727,0.0886472428090157 -45728,0.4958010236953423 -45729,0.8054400199443301 -45730,0.9078138461673031 -45731,0.3469313152834914 -45732,0.721683615816423 -45733,0.08265658699017508 -45734,0.3218350303419224 -45735,0.11165861465965687 -45736,0.5725617978254883 -45737,0.1719860893102222 -45738,0.6239393621624725 -45739,0.540465338246287 -45740,0.0859733868556033 -45741,0.9980807271954589 -45742,0.6978423649324277 -45743,0.34980302765564886 -45744,0.2783693851087833 -45745,0.7036682775530696 -45746,0.4457735615283548 -45747,0.4225444039996925 -45748,0.13360711070748288 -45749,0.9107148937288795 -45750,0.6131535123655854 -45751,0.05603583923223909 -45752,0.5211973605243915 -45753,0.803785323361866 -45754,0.5520588074310729 -45755,0.8714885910584032 -45756,0.31948143292171305 -45757,0.44655388780049265 -45758,0.08768277076810604 -45759,0.23553471420364158 -45760,0.7157098239751386 -45761,0.6238719448817992 -45762,0.16834751022610084 -45763,0.9841997070270246 -45764,0.5637340610429697 -45765,0.8061227035202282 -45766,0.4058614869870114 -45767,0.17559467796517825 -45768,0.6838425355584586 -45769,0.8153561004064447 -45770,0.7794971766943694 -45771,0.07733460027661254 -45772,0.24683444447009306 -45773,0.706803865571895 -45774,0.6186640172580326 -45775,0.6790969717827003 -45776,0.10337895308140399 -45777,0.22411810477374017 -45778,0.89178697569815 -45779,0.709337600882495 -45780,0.9302209907124459 -45781,0.8241046715983492 -45782,0.3498479039889516 -45783,0.2793121274555792 -45784,0.7513933090400864 -45785,0.14017563228071317 -45786,0.6845226831434539 -45787,0.8386770864318799 -45788,0.7190175821920757 -45789,0.33391053133489357 -45790,0.201366796587929 -45791,0.4101034377955233 -45792,0.1685317645265928 -45793,0.09609911029687601 -45794,0.9873932245561965 -45795,0.2659448583428905 -45796,0.3183259386359484 -45797,0.5970345264154281 -45798,0.1370834579422361 -45799,0.3130877795416229 -45800,0.4164237939530644 -45801,0.9275497770551343 -45802,0.4419317241877131 -45803,0.12182018895813518 -45804,0.5924460657420014 -45805,0.2829823818592442 -45806,0.3906335416742621 -45807,0.626244051995016 -45808,0.8226394802488146 -45809,0.5162454864655495 -45810,0.7336864046708158 -45811,0.13684906995014212 -45812,0.7450633203240705 -45813,0.10217408889413893 -45814,0.25980133118720816 -45815,0.41411433963999766 -45816,0.29765309745826507 -45817,0.2668889903995716 -45818,0.0338466470298765 -45819,0.7154111776732317 -45820,0.9694017192254979 -45821,0.9454441335591356 -45822,0.21162951161259014 -45823,0.2986709697150185 -45824,0.9079393865065787 -45825,0.9108089271656008 -45826,0.1952984200686737 -45827,0.1621751238330077 -45828,0.012708934638926084 -45829,0.9935345070361584 -45830,0.8198564290250768 -45831,0.86618373493853 -45832,0.6601393256728256 -45833,0.24426501414954627 -45834,0.594514496433819 -45835,0.6052642301623035 -45836,0.6487097060997492 -45837,0.45667862308001017 -45838,0.602291768420109 -45839,0.2312381192578159 -45840,0.8296874799887346 -45841,0.07603371405876591 -45842,0.10686717593052475 -45843,0.001056108437469394 -45844,0.8569735150779221 -45845,0.5547554845090228 -45846,0.22037068490452538 -45847,0.11431953532624373 -45848,0.423323639836363 -45849,0.15992362924529435 -45850,0.34721110325170046 -45851,0.1922836017120808 -45852,0.8904666267817127 -45853,0.403281015654682 -45854,0.29818362290166656 -45855,0.6259750877972509 -45856,0.6951378406992238 -45857,0.497149222427269 -45858,0.23383527768164947 -45859,0.5507317023596586 -45860,0.10397648748168653 -45861,0.6367757198212918 -45862,0.5155687753289958 -45863,0.9753336524681486 -45864,0.38835526167352274 -45865,0.07772985078178962 -45866,0.11253304177003365 -45867,0.40683086086152387 -45868,0.8777768730759519 -45869,0.26786426425124066 -45870,0.3559992772851597 -45871,0.3160399627939735 -45872,0.9027718466770064 -45873,0.03008891407050096 -45874,0.703567856978205 -45875,0.7583124390172606 -45876,0.01880093628474877 -45877,0.4116140460434039 -45878,0.4842698548960611 -45879,0.1424314085145808 -45880,0.28314318060712507 -45881,0.46158528852609115 -45882,0.6052812021250742 -45883,0.6984663221071687 -45884,0.09270050694279774 -45885,0.0689880927094324 -45886,0.25635622139102876 -45887,0.9692987529293403 -45888,0.6808553963537898 -45889,0.508127197710699 -45890,0.6788112524722367 -45891,0.4254163442642467 -45892,0.3970810898439928 -45893,0.6092345008683657 -45894,0.3720089590293608 -45895,0.013025434327770813 -45896,0.18777010792372206 -45897,0.31315459562558634 -45898,0.18856127087762964 -45899,0.6175963591951308 -45900,0.4702668625448714 -45901,0.41316655681236436 -45902,0.4689828077720478 -45903,0.11010207963374263 -45904,0.5863456752038873 -45905,0.808320114173481 -45906,0.946719375336385 -45907,0.860920359468982 -45908,0.22307146845898873 -45909,0.30862826523230125 -45910,0.8179599264208466 -45911,0.9938488967428367 -45912,0.3109693931535421 -45913,0.9366622482582633 -45914,0.014854780498790077 -45915,0.8049520986822133 -45916,0.1827699310581422 -45917,0.0971871960037145 -45918,0.17060558351165245 -45919,0.24806832550229552 -45920,0.05686864193943231 -45921,0.7093913725904316 -45922,0.4526501544367859 -45923,0.6583113811504399 -45924,0.665159483708992 -45925,0.721448295160118 -45926,0.47129290887026387 -45927,0.5199469763180307 -45928,0.5429808244502214 -45929,0.4277971980821901 -45930,0.5773434350235248 -45931,0.4353904698324691 -45932,0.18384537799301381 -45933,0.48836522782745284 -45934,0.849402560671138 -45935,0.4511551003165064 -45936,0.576446905280067 -45937,0.6919428171226948 -45938,0.36093222607160935 -45939,0.22164536902478604 -45940,0.2506346239483209 -45941,0.666461877308354 -45942,0.80164144918528 -45943,0.6242396861127997 -45944,0.3554411711356187 -45945,0.8856472158614777 -45946,0.17819708936730894 -45947,0.7844670139509844 -45948,0.04587553594358906 -45949,0.9689317094354237 -45950,0.7992215852410067 -45951,0.8615836073575224 -45952,0.608170350146258 -45953,0.6193894952505737 -45954,0.4164672156026178 -45955,0.13472894325877272 -45956,0.5653365117337975 -45957,0.6258744046246499 -45958,0.2679129627516349 -45959,0.36147935617648796 -45960,0.3340203520577114 -45961,0.3308951365827738 -45962,0.5147468413774192 -45963,0.28169622303444297 -45964,0.8131501980214297 -45965,0.2767044101506291 -45966,0.6702274661867101 -45967,0.7511798370039343 -45968,0.415706575406095 -45969,0.38669677102316946 -45970,0.7225464366046711 -45971,0.1498952791122301 -45972,0.9877427053502665 -45973,0.38651408688558075 -45974,0.4723274073724574 -45975,0.3616363779741131 -45976,0.7274861740986092 -45977,0.44311200407354223 -45978,0.9322828451034747 -45979,0.7414954892445548 -45980,0.121271187876283 -45981,0.1278372255773812 -45982,0.568483965716926 -45983,0.5554843293278607 -45984,0.4895169094158369 -45985,0.5521735422188122 -45986,0.29676867518916816 -45987,0.011148793344901486 -45988,0.49798805534651247 -45989,0.44112217412884414 -45990,0.17127867291135224 -45991,0.9534848395953812 -45992,0.5463753513471037 -45993,0.5742965123926981 -45994,0.8213914938498035 -45995,0.9234997658764162 -45996,0.7675106147194173 -45997,0.4048501036547407 -45998,0.40863579879176604 -45999,0.7464134172112145 -46000,0.5551448123083939 -46001,0.013812341612210122 -46002,0.8272723825539001 -46003,0.5519660155165409 -46004,0.2867101293007991 -46005,0.8521578758332756 -46006,0.5058871731032257 -46007,0.9361344319370203 -46008,0.3889862309639457 -46009,0.11623014354311967 -46010,0.46393579991850553 -46011,0.6319860312317951 -46012,0.05655267999610292 -46013,0.1945257785599145 -46014,0.44754477944307236 -46015,0.1017518187530776 -46016,0.3446550634816905 -46017,0.4472794310660996 -46018,0.48799113454649623 -46019,0.708358674594854 -46020,0.3293333224904047 -46021,0.7029997354014691 -46022,0.5292836207816821 -46023,0.4383678942272514 -46024,0.1469786762318709 -46025,0.3235072149050895 -46026,0.07842209356781027 -46027,0.872495754774981 -46028,0.43993727832702956 -46029,0.08613793878037368 -46030,0.9332445426472661 -46031,0.7147637570269112 -46032,0.4682168103941682 -46033,0.1472156418808931 -46034,0.5347415011524949 -46035,0.6436687498388834 -46036,0.34291680453210016 -46037,0.4882512176701761 -46038,0.6193350459653915 -46039,0.27536441811859313 -46040,0.7374954496174896 -46041,0.06816982215557965 -46042,0.3675084376402179 -46043,0.06798587736099415 -46044,0.32097562567821225 -46045,0.12598715967886154 -46046,0.1550054322537875 -46047,0.22565153384348158 -46048,0.09088022513078076 -46049,0.10071113071567495 -46050,0.5957273529777013 -46051,0.9479201469376104 -46052,0.004506155962066716 -46053,0.642468826319203 -46054,0.6909532909360727 -46055,0.5558894730828772 -46056,0.4399855078980399 -46057,0.4526597105651189 -46058,0.8786819350917117 -46059,0.5773476326137396 -46060,0.29304827044487525 -46061,0.7930736237350339 -46062,0.44546670925310694 -46063,0.4473051697011512 -46064,0.6999953605229371 -46065,0.5027538490197617 -46066,0.7166285155921331 -46067,0.12164811067724224 -46068,0.47549376023304823 -46069,0.30046282713811523 -46070,0.8337032229464802 -46071,0.28213285809806377 -46072,0.04319810258944745 -46073,0.08004421081262525 -46074,0.24769190284217235 -46075,0.7369263895463725 -46076,0.6802557532631255 -46077,0.25753328356003646 -46078,0.06178248833646638 -46079,0.9782322969931486 -46080,0.449645843306423 -46081,0.1443916268816008 -46082,0.021578466312716094 -46083,0.047458322559022825 -46084,0.6475445281454124 -46085,0.12392637541803653 -46086,0.10095170509722307 -46087,0.722262304930103 -46088,0.451432347601478 -46089,0.5580539822025467 -46090,0.5788472500705737 -46091,0.7697617620204892 -46092,0.6724459352623323 -46093,0.6581894292986604 -46094,0.7831498933478224 -46095,0.9853161087539819 -46096,0.90975653607818 -46097,0.31570634525064567 -46098,0.19379620581393142 -46099,0.513501736875755 -46100,0.4628160970005243 -46101,0.028066205477846995 -46102,0.8687291429742466 -46103,0.540434600826857 -46104,0.3546109566756094 -46105,0.47608315599285156 -46106,0.354912558453395 -46107,0.17793253496417005 -46108,0.7389939144275577 -46109,0.6162647907147456 -46110,0.2705913773206099 -46111,0.8322709965050649 -46112,0.7510310357811953 -46113,0.45925946081686997 -46114,0.9918943175705499 -46115,0.4076427919466531 -46116,0.17831215322629912 -46117,0.30173268756509175 -46118,0.2009031075290888 -46119,0.2902221325426517 -46120,0.3437594005093 -46121,0.8648517316395878 -46122,0.1138557578032029 -46123,0.8066389838183786 -46124,0.17928392338468835 -46125,0.5178684719150553 -46126,0.5382900496486749 -46127,0.6843443725563898 -46128,0.8072420423709816 -46129,0.6128934083637094 -46130,0.8447366083730251 -46131,0.7354684100149059 -46132,0.44621587239186056 -46133,0.8691337879175955 -46134,0.055987046922265304 -46135,0.548670781555851 -46136,0.4414968409551506 -46137,0.2811697990324037 -46138,0.14904126916438798 -46139,0.8211496243990203 -46140,0.03799962080099306 -46141,0.9074813146332459 -46142,0.8620691643437688 -46143,0.09704076668063799 -46144,0.40282859323425146 -46145,0.2768491639751497 -46146,0.46092282636373305 -46147,0.5322970976787421 -46148,0.5454464780893002 -46149,0.8957885052969763 -46150,0.8150815694298823 -46151,0.38487211665640475 -46152,0.8382786335143003 -46153,0.09215994901339641 -46154,0.9690087073004372 -46155,0.8073657736316859 -46156,0.9448639853865144 -46157,0.9566895980169092 -46158,0.404292891836316 -46159,0.14620507127918603 -46160,0.6295140497109701 -46161,0.36553422315741235 -46162,0.003293934100638718 -46163,0.0726921181857827 -46164,0.10492438602978749 -46165,0.8245850178392069 -46166,0.30033921667341956 -46167,0.7811733096687518 -46168,0.20301182137260365 -46169,0.09544317461136098 -46170,0.2034353591539365 -46171,0.4453379292447408 -46172,0.3396264789896264 -46173,0.13666453370942833 -46174,0.9100619181573318 -46175,0.23400008582445386 -46176,0.7819965091290727 -46177,0.19725947975366565 -46178,0.8945538675105736 -46179,0.563025225604987 -46180,0.383856127960869 -46181,0.5120194386421826 -46182,0.3953755124829269 -46183,0.03594667181594702 -46184,0.548868837494485 -46185,0.9443573111703314 -46186,0.921388044621744 -46187,0.8993293480765912 -46188,0.0927047723836879 -46189,0.8739276334750806 -46190,0.5478384059508526 -46191,0.4689773261773956 -46192,0.7491202192350956 -46193,0.2658683663669724 -46194,0.5395477298610111 -46195,0.46340542068059953 -46196,0.5910630524652666 -46197,0.7455941271255894 -46198,0.05295501543521952 -46199,0.3210552771178129 -46200,0.8711020920624106 -46201,0.18262286453869647 -46202,0.8176794700497937 -46203,0.5136771523677913 -46204,0.48547331609742594 -46205,0.3306375782882581 -46206,0.3858690915560695 -46207,0.5175700013682167 -46208,0.1504170671570343 -46209,0.9037788566053567 -46210,0.5888168979504879 -46211,0.642451628475892 -46212,0.12848302473756346 -46213,0.4248580066228238 -46214,0.9802776402099157 -46215,0.6111482177283178 -46216,0.3238560624252793 -46217,0.9631092730571058 -46218,0.7475717522462099 -46219,0.978216226919337 -46220,0.32765013335155635 -46221,0.8284780560700984 -46222,0.9841484007265738 -46223,0.2442351729665605 -46224,0.9160012125719673 -46225,0.06134029691280707 -46226,0.7557027742273364 -46227,0.9975231391452619 -46228,0.4389148841875138 -46229,0.7712136663769028 -46230,0.5756773778182379 -46231,0.1586043048879585 -46232,0.851736729619777 -46233,0.40783546751294164 -46234,0.6196154320974058 -46235,0.5705164452544211 -46236,0.5059825663739456 -46237,0.5098798105284674 -46238,0.3490916005077669 -46239,0.1694320544390775 -46240,0.3001006148511749 -46241,0.42762613777136793 -46242,0.5411655620379481 -46243,0.9069784458435644 -46244,0.5433282139887545 -46245,0.4367766515646314 -46246,0.7077876917158998 -46247,0.2939272424550794 -46248,0.6453491477115078 -46249,0.8752639417173462 -46250,0.31174942325782196 -46251,0.4517794743835307 -46252,0.07036273713295449 -46253,0.6296654895496961 -46254,0.3689543954932375 -46255,0.937912491497636 -46256,0.6425169579287727 -46257,0.36616006362056164 -46258,0.46147138420109846 -46259,0.04038043534539293 -46260,0.19948618831647702 -46261,0.7853089809011153 -46262,0.3204483771807429 -46263,0.35427492766926405 -46264,0.21953628818780324 -46265,0.8452201207211861 -46266,0.15167160280042558 -46267,0.6981074345993592 -46268,0.8212741035429184 -46269,0.040780252928766636 -46270,0.48970989683000754 -46271,0.9296926149711026 -46272,0.5810098539233703 -46273,0.7846575052756354 -46274,0.42694830508958337 -46275,0.763110015908579 -46276,0.3662647240485064 -46277,0.0855085195956462 -46278,0.8372522949926515 -46279,0.38719814337760383 -46280,0.5264000397385088 -46281,0.4027421188091518 -46282,0.49768978157440424 -46283,0.6797710966848548 -46284,0.7480185519369582 -46285,0.005633936976550902 -46286,0.5261648079271496 -46287,0.13484340179369025 -46288,0.4222257711769266 -46289,0.3587420662792802 -46290,0.7162249809863388 -46291,0.018005087794685015 -46292,0.558196047567151 -46293,0.9097119444147325 -46294,0.627853861794873 -46295,0.2888784567651729 -46296,0.35020166695755284 -46297,0.22630460860273527 -46298,0.5266994651862307 -46299,0.6632729254047458 -46300,0.6451564666416139 -46301,0.932887501989099 -46302,0.9644624360445564 -46303,0.22560277627680814 -46304,0.8598732833800415 -46305,0.8215468020811028 -46306,0.9298103511455484 -46307,0.0017789846489145722 -46308,0.746915436210832 -46309,0.4452755595224781 -46310,0.4953907853149615 -46311,0.9257135811934393 -46312,0.12136372425995123 -46313,0.05724943726818488 -46314,0.10514617753748723 -46315,0.1476231419985763 -46316,0.4475810369068748 -46317,0.9551846095562141 -46318,0.04173072328627658 -46319,0.8579677544922564 -46320,0.08000765453747793 -46321,0.31272515466178796 -46322,0.3795075680844836 -46323,0.7922696925103592 -46324,0.5001841009228504 -46325,0.32326789618308416 -46326,0.5571852238545868 -46327,0.19814247310465294 -46328,0.8654308084541323 -46329,0.34606277432910504 -46330,0.2065412976665686 -46331,0.5518780790697697 -46332,0.8725644627514443 -46333,0.5452120214702629 -46334,0.7336344283550398 -46335,0.6232152135070568 -46336,0.8142320907665659 -46337,0.6081745414543377 -46338,0.4899136764425971 -46339,0.8677621549566523 -46340,0.9561290530433196 -46341,0.3748011923984087 -46342,0.4570298018055381 -46343,0.10096862671873741 -46344,0.6594085256537109 -46345,0.8936371756781644 -46346,0.5688704209730342 -46347,0.020356210554984155 -46348,0.5866814862649694 -46349,0.24037180852522644 -46350,0.3403732431551372 -46351,0.05501460803113323 -46352,0.8492703939761668 -46353,0.44933404873625826 -46354,0.36842036830415625 -46355,0.35334787710383253 -46356,0.9255249919167083 -46357,0.5165912953333771 -46358,0.7433936961783311 -46359,0.7512752650076606 -46360,0.3857269165604206 -46361,0.8379870367162372 -46362,0.7498832828077222 -46363,0.8405613243642792 -46364,0.9620631004197299 -46365,0.5988393309238034 -46366,0.6562716671669874 -46367,0.9028688872766717 -46368,0.41127011204007047 -46369,0.867778960882151 -46370,0.20352964598262857 -46371,0.1707043515355714 -46372,0.2172916215239925 -46373,0.9816225059027912 -46374,0.20105616421882733 -46375,0.9931698280434148 -46376,0.4253755246324509 -46377,0.004085328010542066 -46378,0.9774238193682543 -46379,0.13120226559889092 -46380,0.48482908444479633 -46381,0.36268303779788735 -46382,0.1864540503427239 -46383,0.21314716787564303 -46384,0.5103013243821446 -46385,0.48422695499131807 -46386,0.1757931462362955 -46387,0.8918415812533059 -46388,0.8060226831867827 -46389,0.32862353820264323 -46390,0.35919257132123683 -46391,0.5387174373550238 -46392,0.24524613955510677 -46393,0.6542084679448844 -46394,0.38989290147407996 -46395,0.1284787799897361 -46396,0.29527615645831107 -46397,0.20394714451731955 -46398,0.5160179930227007 -46399,0.8639214773291854 -46400,0.9376331978927599 -46401,0.131763282714512 -46402,0.9310922116140058 -46403,0.7527934647213971 -46404,0.37580060986343855 -46405,0.30842967942651545 -46406,0.9817638353369993 -46407,0.23226375419582546 -46408,0.34652645356783573 -46409,0.6723455162919414 -46410,0.7048302375808616 -46411,0.001211219765224425 -46412,0.6654343426518501 -46413,0.6854083811763552 -46414,0.07924504767703866 -46415,0.8995350700628015 -46416,0.8456808693356561 -46417,0.47660027181421505 -46418,0.6899128286325928 -46419,0.6016196792347597 -46420,0.4281307624126526 -46421,0.5672065466405367 -46422,0.0969366618397618 -46423,0.8959698749359181 -46424,0.38562167522111035 -46425,0.797207103134378 -46426,0.24863984509466064 -46427,0.022300763234410326 -46428,0.8342748243834407 -46429,0.4724792345364919 -46430,0.6613574616049298 -46431,0.469341515321703 -46432,0.06890108869720168 -46433,0.9956294677521232 -46434,0.5655448309244472 -46435,0.7596481176129336 -46436,0.2311583774749646 -46437,0.16507073682892504 -46438,0.30663787139667287 -46439,0.8160304890368123 -46440,0.8415584927845654 -46441,0.12996339567820947 -46442,0.18521627760549242 -46443,0.9023075332066075 -46444,0.548991718226488 -46445,0.5424440944709282 -46446,0.09253951702995433 -46447,0.4928250158657048 -46448,0.48039526363448337 -46449,0.308663958461198 -46450,0.08550179497297694 -46451,0.4502646691917438 -46452,0.9621929431209469 -46453,0.412259907479545 -46454,0.5326956179293054 -46455,0.5797226007914091 -46456,0.6823360222811526 -46457,0.8043100634968581 -46458,0.2569411837624319 -46459,0.6833499879011238 -46460,0.6810684150495689 -46461,0.06950034606622268 -46462,0.33332417285288374 -46463,0.841461470951678 -46464,0.31859885724731807 -46465,0.3354932757504996 -46466,0.6706701933867941 -46467,0.5766827384816449 -46468,0.27054408288624254 -46469,0.26626532972452144 -46470,0.5828507721783928 -46471,0.7427326039904197 -46472,0.9996885761739568 -46473,0.033207083248650515 -46474,0.3881270626388974 -46475,0.798728866531521 -46476,0.30804781829292105 -46477,0.6157470653783695 -46478,0.11581001685876224 -46479,0.5715421986455237 -46480,0.44933291155243826 -46481,0.8953857636633403 -46482,0.02125287497039452 -46483,0.731195451344101 -46484,0.9589674813757604 -46485,0.07087258707646449 -46486,0.29122647676484115 -46487,0.46060688205145317 -46488,0.02382616677807292 -46489,0.09563130664105424 -46490,0.6803656619879402 -46491,0.5252395379985901 -46492,0.6753219752275385 -46493,0.7664436585328079 -46494,0.9742176559281757 -46495,0.06749683681208496 -46496,0.06787439678038087 -46497,0.6192671486197769 -46498,0.4825491738646238 -46499,0.31811872489416737 -46500,0.7034784991828885 -46501,0.48629747906000975 -46502,0.7790508322763566 -46503,0.7670843152239942 -46504,0.6667458866304827 -46505,0.010631280591309689 -46506,0.832625696487917 -46507,0.19700736721441992 -46508,0.3019491038610834 -46509,0.9073422770429446 -46510,0.2140980981589823 -46511,0.833775338553238 -46512,0.6540856035975439 -46513,0.755951134828089 -46514,0.179299873975321 -46515,0.37581090570888365 -46516,0.9251955377075184 -46517,0.4752046140545334 -46518,0.2480663965884924 -46519,0.16112009702815955 -46520,0.573071929085425 -46521,0.9789884505495523 -46522,0.5269077962189891 -46523,0.8484058401666692 -46524,0.42672428531781614 -46525,0.14326667827606243 -46526,0.08427906868644919 -46527,0.8355533846439541 -46528,0.9246442409252698 -46529,0.3453247095425931 -46530,0.6326131507939164 -46531,0.8085347290227595 -46532,0.42353853415383635 -46533,0.09865611723235879 -46534,0.8986703569333802 -46535,0.5215402664711415 -46536,0.528494084888654 -46537,0.23772926670129135 -46538,0.790852518872484 -46539,0.027727275137089613 -46540,0.775803124845301 -46541,0.9324090876629599 -46542,0.3778137408959764 -46543,0.5272329718976083 -46544,0.9572992284237741 -46545,0.35053834429627706 -46546,0.395044593487035 -46547,0.29031399856133655 -46548,0.7709250929975354 -46549,0.19725855391464953 -46550,0.7052529895877095 -46551,0.4468430755801944 -46552,0.563831608836524 -46553,0.9676068691923313 -46554,0.9261511285494901 -46555,0.06462766710586942 -46556,0.04220012375304949 -46557,0.9631856685303827 -46558,0.8330819850740712 -46559,0.7290189330685616 -46560,0.38452882940934596 -46561,0.9283141851931767 -46562,0.4075938089799588 -46563,0.6418747082400251 -46564,0.8594747051862397 -46565,0.8964388789191503 -46566,0.40263039307426385 -46567,0.005427419911661735 -46568,0.016930226725154984 -46569,0.6796435182369555 -46570,0.5933510099846531 -46571,0.28734752246102935 -46572,0.6395226511367309 -46573,0.7671751489731924 -46574,0.017485779656673417 -46575,0.8712783829852201 -46576,0.12119464653857648 -46577,0.13519032385242713 -46578,0.9707708172313898 -46579,0.8411542548577432 -46580,0.7737611082425594 -46581,0.25152446971773734 -46582,0.16244090423209323 -46583,0.01597774924752593 -46584,0.9638430858047893 -46585,0.725713149191132 -46586,0.7955139814053374 -46587,0.9366939941835236 -46588,0.8838244174193315 -46589,0.901170634234449 -46590,0.8188717052749778 -46591,0.40923754578360916 -46592,0.7836102885361756 -46593,0.6668185779786421 -46594,0.8618639334942039 -46595,0.49538123541568324 -46596,0.022630003046452796 -46597,0.10540899505130896 -46598,0.7627825722208977 -46599,0.04209235208916817 -46600,0.5099747681115745 -46601,0.037993279146927406 -46602,0.3376413694745086 -46603,0.9298016863665993 -46604,0.5150625672781852 -46605,0.6845664770159907 -46606,0.9190103648911955 -46607,0.877748434664852 -46608,0.7144428452630223 -46609,0.07981382691394223 -46610,0.07265312465414264 -46611,0.8745157309731405 -46612,0.5266751154653063 -46613,0.5674716231264832 -46614,0.9588204020366712 -46615,0.06098484400564608 -46616,0.3330669681744194 -46617,0.5715218967020524 -46618,0.14069110422813924 -46619,0.7931734424638786 -46620,0.812559748590942 -46621,0.8825030417333414 -46622,0.20782175507247191 -46623,0.8441763845768404 -46624,0.6307150144192728 -46625,0.7946638371826855 -46626,0.2585817932486363 -46627,0.21972589768976136 -46628,0.28877490966726194 -46629,0.3149958028447464 -46630,0.398019428376303 -46631,0.05062187717910571 -46632,0.6285370831113762 -46633,0.8275121858959399 -46634,0.12623345575965728 -46635,0.12087475616302101 -46636,0.2990295651578252 -46637,0.758183578043864 -46638,0.4419313415078078 -46639,0.5005441268752991 -46640,0.9889308997996213 -46641,0.5170735074291 -46642,0.5160613989227244 -46643,0.04381772308801812 -46644,0.0830092921531912 -46645,0.6307669000450463 -46646,0.7735635762653978 -46647,0.05200159820119199 -46648,0.19724345026198176 -46649,0.808527374130681 -46650,0.8038127606653079 -46651,0.5680015304345797 -46652,0.7593311701445931 -46653,0.8282274539363679 -46654,0.9715771969075543 -46655,0.7795344749740211 -46656,0.09355218017058664 -46657,0.49811081107082045 -46658,0.48336806808260635 -46659,0.19243715495830815 -46660,0.18484473223025455 -46661,0.0487840179267498 -46662,0.9796868983014693 -46663,0.5747626777632023 -46664,0.6725472704109399 -46665,0.030389642666759475 -46666,0.8198660587909096 -46667,0.10701434879627214 -46668,0.4529061532787222 -46669,0.9265586671674951 -46670,0.4857039108186264 -46671,0.7635996980505853 -46672,0.5418551735115192 -46673,0.6913478817593047 -46674,0.11809783301496435 -46675,0.45169654942225046 -46676,0.9497852019758445 -46677,0.07703214936164682 -46678,0.21549878861998994 -46679,0.42751791398645134 -46680,0.40864755875793024 -46681,0.8595715228889833 -46682,0.25801240437944584 -46683,0.5644310499484975 -46684,0.03824022837417018 -46685,0.8747114387824517 -46686,0.6843246717359189 -46687,0.03134899566957161 -46688,0.37052547317399953 -46689,0.1712961510148222 -46690,0.8583352989709111 -46691,0.19412726920998324 -46692,0.033553439496205706 -46693,0.4921661053028221 -46694,0.545777240575939 -46695,0.5502818821866575 -46696,0.39797226612550896 -46697,0.8400579789221059 -46698,0.9945126391675039 -46699,0.20949142932563314 -46700,0.5377126217913664 -46701,0.4277897005333693 -46702,0.24966893373861543 -46703,0.01258256379498579 -46704,0.03658865798897015 -46705,0.293681244593612 -46706,0.8275339848158352 -46707,0.7969063494937457 -46708,0.00729439744242788 -46709,0.8792845780844659 -46710,0.8749040116779009 -46711,0.21294475280012104 -46712,0.09469613998460125 -46713,0.3153093642857513 -46714,0.4768644083309733 -46715,0.9316156748949902 -46716,0.7649788015288655 -46717,0.8087328702845232 -46718,0.44200598762892473 -46719,0.13397180482993032 -46720,0.09359910311438269 -46721,0.3562325491049534 -46722,0.0036214235118301463 -46723,0.1537357430365498 -46724,0.19371618909835275 -46725,0.3476917058502207 -46726,0.7723954884753924 -46727,0.44481623605770726 -46728,0.8398049283571405 -46729,0.6313559684273301 -46730,0.7130089581071131 -46731,0.19584021589970924 -46732,0.3938112963271022 -46733,0.6442553738817323 -46734,0.36262743325059643 -46735,0.5978748923372582 -46736,0.6538124176154431 -46737,0.3982321873766528 -46738,0.3171040263475262 -46739,0.8564431468636922 -46740,0.2555762618973434 -46741,0.08649227482493027 -46742,0.9225450551092002 -46743,0.07678236189136467 -46744,0.9912378717530271 -46745,0.5620505980340883 -46746,0.4853102565173415 -46747,0.08458089316975359 -46748,0.29969426731848525 -46749,0.7265425055328396 -46750,0.09447564097607208 -46751,0.5749320180500662 -46752,0.8331778971696032 -46753,0.9485290312993991 -46754,0.5877783067600827 -46755,0.481454009635111 -46756,0.8454003032591146 -46757,0.6335555074555677 -46758,0.40387238970359296 -46759,0.22345250594791655 -46760,0.7503861305664546 -46761,0.23255981047278262 -46762,0.2202135750239298 -46763,0.9169687976235718 -46764,0.35066092169278507 -46765,0.2420777643101768 -46766,0.2132892030290363 -46767,0.06597997216410001 -46768,0.7184204816608061 -46769,0.5699088333527923 -46770,0.3269792158490116 -46771,0.4771446129254613 -46772,0.9317170680371019 -46773,0.609689641691411 -46774,0.7171264039888829 -46775,0.02713631782618764 -46776,0.9918981252694773 -46777,0.8448770753949184 -46778,0.37750089085953087 -46779,0.16676041116203089 -46780,0.4246190980599943 -46781,0.6167277545252471 -46782,0.6918749776787965 -46783,0.485818330347902 -46784,0.7461996644678268 -46785,0.41501274208228967 -46786,0.2271754992384617 -46787,0.4879416007641879 -46788,0.12120580360832478 -46789,0.419773901388359 -46790,0.28726401151320546 -46791,0.38782514709088123 -46792,0.196748171276383 -46793,0.6943540926085912 -46794,0.20308091003394135 -46795,0.5662429685729552 -46796,0.9293038850888689 -46797,0.8232180092305165 -46798,0.3199625524650648 -46799,0.15557949295692852 -46800,0.7142132942072621 -46801,0.22048132968634093 -46802,0.7238062833072036 -46803,0.554515089958228 -46804,0.9372265556850149 -46805,0.7992615455291321 -46806,0.7828498606691826 -46807,0.6254285144124562 -46808,0.6980146895763375 -46809,0.851308374853029 -46810,0.2893870828070232 -46811,0.3759433409503098 -46812,0.8477968174938914 -46813,0.8166520665203021 -46814,0.5254100718977206 -46815,0.31479599069396524 -46816,0.509641946911837 -46817,0.12763299618295376 -46818,0.9797368586580896 -46819,0.4978368385727806 -46820,0.6482821922183415 -46821,0.239772095908382 -46822,0.8224337117021082 -46823,0.26030649943791884 -46824,0.6089733002670659 -46825,0.7831916538005824 -46826,0.12166650584100602 -46827,0.3507458820687184 -46828,0.29970668395165057 -46829,0.4372055549126751 -46830,0.17307313309691708 -46831,0.0816444252641827 -46832,0.306352592669937 -46833,0.568178380950742 -46834,0.7563894857132009 -46835,0.3426981794155346 -46836,0.05472470343009472 -46837,0.39943982307928394 -46838,0.12528160472674144 -46839,0.7974735962197445 -46840,0.22769857114208747 -46841,0.7179249943122349 -46842,0.8900419576676192 -46843,0.3159985385783216 -46844,0.7328987845925633 -46845,0.837808790997431 -46846,0.32083985781195523 -46847,0.5544158309092212 -46848,0.40956482875682376 -46849,0.1956090139003156 -46850,0.3115614234004226 -46851,0.12860188174780807 -46852,0.237444079211364 -46853,0.053883450027848556 -46854,0.8254628341402367 -46855,0.3643603793655146 -46856,0.20484373975150416 -46857,0.6859995919556242 -46858,0.5142043104444188 -46859,0.40160603169048537 -46860,0.6772963841151975 -46861,0.9460938435978096 -46862,0.3507781256781207 -46863,0.22376893622003102 -46864,0.427655384389351 -46865,0.6171018762725884 -46866,0.8763215938389181 -46867,0.3382952701694383 -46868,0.5715274687219922 -46869,0.38839474020597275 -46870,0.6655255220604094 -46871,0.2576055372333408 -46872,0.7511808632037782 -46873,0.07879278839370252 -46874,0.5206367792913471 -46875,0.0498812019728927 -46876,0.6720216514120814 -46877,0.5174184582598101 -46878,0.3057358596070314 -46879,0.27441195788057005 -46880,0.9375659548319465 -46881,0.8630215211309035 -46882,0.09344768768188738 -46883,0.5374000708705661 -46884,0.07515210108679415 -46885,0.6839034322176321 -46886,0.9988940076083968 -46887,0.6657201711096453 -46888,0.6204411910941889 -46889,0.9414595876321066 -46890,0.9142330483163417 -46891,0.7790963226145083 -46892,0.5083519577236896 -46893,0.6725700088603422 -46894,0.24746078046839615 -46895,0.3383773666520994 -46896,0.4993096836886206 -46897,0.6007864168635694 -46898,0.09024022615358906 -46899,0.1058053993180833 -46900,0.12771859953130793 -46901,0.3051212030751591 -46902,0.8269402158358999 -46903,0.22215607546818394 -46904,0.4105361084095057 -46905,0.02046359257923247 -46906,0.6779629959531002 -46907,0.6385157238921461 -46908,0.44286073779788737 -46909,0.5549866500142882 -46910,0.5738390285050621 -46911,0.8513652861371667 -46912,0.5204000871789859 -46913,0.18735472253128016 -46914,0.18219477408013485 -46915,0.31048936048167863 -46916,0.10855090755714414 -46917,0.639404582578291 -46918,0.8425601937344427 -46919,0.6916044731450586 -46920,0.23341450045475975 -46921,0.8297992621389841 -46922,0.18516046490450166 -46923,0.23753697734640067 -46924,0.9554399021532815 -46925,0.8052692796708293 -46926,0.6655632953909826 -46927,0.7262834646036065 -46928,0.43480424366489523 -46929,0.4512232319166055 -46930,0.031050545826793563 -46931,0.18511942439997442 -46932,0.9919738203957673 -46933,0.8947674131736962 -46934,0.2521075499025518 -46935,0.5978448265969144 -46936,0.020943021613002766 -46937,0.40090774464445833 -46938,0.8437327357141775 -46939,0.05391160994751898 -46940,0.4384879124865224 -46941,0.1470291017356944 -46942,0.43865765550332025 -46943,0.8948085792679433 -46944,0.505130130671372 -46945,0.7851982052186712 -46946,0.006933216396845632 -46947,0.9805404972217079 -46948,0.6261907347704473 -46949,0.04907452437076809 -46950,0.7574481072085326 -46951,0.9588431125286027 -46952,0.08573730237830379 -46953,0.6881412427849277 -46954,0.8852000028438911 -46955,0.956522602139254 -46956,0.7331815444635659 -46957,0.15461336703838402 -46958,0.84990146787934 -46959,0.4292059592227738 -46960,0.25454451898300146 -46961,0.9653084351617851 -46962,0.8206973999191614 -46963,0.1241162848059385 -46964,0.3009625278176833 -46965,0.31022654356658197 -46966,0.36700701096585475 -46967,0.5332562761617645 -46968,0.48265168832799676 -46969,0.26605736365510213 -46970,0.44937571435489543 -46971,0.8264491233823945 -46972,0.7773754192375368 -46973,0.060931441423892396 -46974,0.2101826581359405 -46975,0.7939190752135598 -46976,0.6154611159009962 -46977,0.3391264145542484 -46978,0.6179921091564708 -46979,0.5843539802797809 -46980,0.7345901503303297 -46981,0.8719013019046858 -46982,0.5198062997295468 -46983,0.966340451490532 -46984,0.2412392618265935 -46985,0.049873188782387445 -46986,0.8461878056833634 -46987,0.9715636672911547 -46988,0.2138550681965553 -46989,0.8152587609475804 -46990,0.539655728759407 -46991,0.7648685109624899 -46992,0.8403517791238581 -46993,0.1830018142447566 -46994,0.9849148800526348 -46995,0.717551998048854 -46996,0.035847218037725836 -46997,0.9177441749356324 -46998,0.27796853645036634 -46999,0.534588196363995 -47000,0.8002775355936693 -47001,0.06641330454023331 -47002,0.1829703760040372 -47003,0.7494183414375131 -47004,0.964618136058023 -47005,0.4016640651801311 -47006,0.8835618721620694 -47007,0.047711930104101685 -47008,0.1835274829325767 -47009,0.09553736606065011 -47010,0.7316752912363217 -47011,0.6128822244526028 -47012,0.8705829526565423 -47013,0.7070138935677255 -47014,0.5833831720035316 -47015,0.503580992103376 -47016,0.9018133318427483 -47017,0.9654171141181385 -47018,0.5991828725107091 -47019,0.6527462193487998 -47020,0.9441116986200621 -47021,0.019034001919902788 -47022,0.9229195407481298 -47023,0.6590031863917577 -47024,0.5995358947029107 -47025,0.715670705769917 -47026,0.8018568684097415 -47027,0.575717051883824 -47028,0.11072434031713518 -47029,0.8029805925800879 -47030,0.9970784795798778 -47031,0.08485982188385732 -47032,0.774830687489623 -47033,0.6534145853582761 -47034,0.2503269100743395 -47035,0.965552753330142 -47036,0.8149597110090263 -47037,0.46971940605153906 -47038,0.9696580343446018 -47039,0.013114665536180348 -47040,0.017681069732196852 -47041,0.6642839184798276 -47042,0.13111240831282145 -47043,0.18902577796377096 -47044,0.9444179585002619 -47045,0.7224522533693792 -47046,0.1342374904517516 -47047,0.7380691777581678 -47048,0.2951013352884312 -47049,0.3687837368151531 -47050,0.1164859420552411 -47051,0.24718651211964915 -47052,0.21463887261962844 -47053,0.7681479713654288 -47054,0.43809612072329385 -47055,0.42476623445599515 -47056,0.5752138026199219 -47057,0.8867039947237385 -47058,0.4415273560871501 -47059,0.07090444324796574 -47060,0.8350773069468125 -47061,0.07522484795933437 -47062,0.22128104576309848 -47063,0.6268814683123263 -47064,0.23061696740070825 -47065,0.5448008214425991 -47066,0.5310034548510607 -47067,0.3817575496784714 -47068,0.05546838416175082 -47069,0.3024029817664292 -47070,0.9825417018195786 -47071,0.02484094611502352 -47072,0.8086440222701742 -47073,0.3698928114189567 -47074,0.8991357495400624 -47075,0.3324643222950192 -47076,0.8312720063246265 -47077,0.7582380286517164 -47078,0.5265625802438513 -47079,0.26371455043024716 -47080,0.4343118693792808 -47081,0.6562841929616482 -47082,0.3200671311266746 -47083,0.4590224741787612 -47084,0.6359216800858324 -47085,0.8519872205037374 -47086,0.9533577248912518 -47087,0.6283208456422049 -47088,0.8329361214169916 -47089,0.12516475255320736 -47090,0.8022514401271836 -47091,0.8223183179150161 -47092,0.3981384456547514 -47093,0.336419040930083 -47094,0.3558721371724366 -47095,0.701574916660065 -47096,0.31365637137311286 -47097,0.3426874058857473 -47098,0.8585141862112501 -47099,0.8498830309553941 -47100,0.6456955595538305 -47101,0.08268687604742808 -47102,0.17352167986469014 -47103,0.4099834765453444 -47104,0.9409459163799498 -47105,0.6311628132224232 -47106,0.045314440491612595 -47107,0.06069206696562235 -47108,0.6989760803279157 -47109,0.08508308505838724 -47110,0.8236506168183202 -47111,0.022345707299019857 -47112,0.33989565805933764 -47113,0.58142567887972 -47114,0.6748461370450576 -47115,0.5041784976946714 -47116,0.8145679336998906 -47117,0.40238969590358753 -47118,0.6056601261823319 -47119,0.376956678806445 -47120,0.0789097803084885 -47121,0.8731751983618395 -47122,0.7547771086802594 -47123,0.05198073825336169 -47124,0.816491318531003 -47125,0.8991915694986423 -47126,0.045847402615892374 -47127,0.37954003440675 -47128,0.16546719988026015 -47129,0.2172780227521155 -47130,0.25136384608494333 -47131,0.8656268127423807 -47132,0.054111448677540364 -47133,0.3942148126680842 -47134,0.4776416057120737 -47135,0.5201093108142213 -47136,0.6219793358375667 -47137,0.8403265640213319 -47138,0.9582597058483462 -47139,0.1869466990501245 -47140,0.8673371915605297 -47141,0.8351195590394194 -47142,0.5592247711346279 -47143,0.7812874444060665 -47144,0.8794809275231116 -47145,0.45739284030610206 -47146,0.37152947398093317 -47147,0.9779291315026069 -47148,0.7631703943771733 -47149,0.46509504463186624 -47150,0.3018419864113474 -47151,0.3359834197296505 -47152,0.8677364360446334 -47153,0.47597914655970863 -47154,0.8121243253370534 -47155,0.6486080261592531 -47156,0.7565584807090834 -47157,0.9148602597679936 -47158,0.3496597763397359 -47159,0.029020220260733587 -47160,0.49529257986902164 -47161,0.7140413098121642 -47162,0.014510062170780658 -47163,0.6760091441353522 -47164,0.25274877341013235 -47165,0.8108761093558601 -47166,0.5557322836552407 -47167,0.9667427047989243 -47168,0.9653920387195679 -47169,0.9074147566475077 -47170,0.4743589583614738 -47171,0.7389478408110333 -47172,0.8514990350786631 -47173,0.08380376111788124 -47174,0.5452267674238273 -47175,0.9857718684738903 -47176,0.05630806971060032 -47177,0.3333416561782897 -47178,0.5034163391856287 -47179,0.8560062775916699 -47180,0.7419291904473363 -47181,0.12454907116767322 -47182,0.9468822132663661 -47183,0.8186422767912764 -47184,0.18484650033019556 -47185,0.9898938188132985 -47186,0.9897294316438238 -47187,0.14319506231717138 -47188,0.8897996652383731 -47189,0.710011745128348 -47190,0.311129424180389 -47191,0.5268278417026695 -47192,0.810531083618433 -47193,0.03155525414835014 -47194,0.3133923191954838 -47195,0.3974978091356278 -47196,0.46857296457487996 -47197,0.5645950120270476 -47198,0.0022519255768441715 -47199,0.7702020488700418 -47200,0.5237832935496313 -47201,0.14053057422464788 -47202,0.17183853962724827 -47203,0.9714098598336577 -47204,0.5066509593667571 -47205,0.820608005231405 -47206,0.6399336164981984 -47207,0.9526958414403764 -47208,0.29842456465628875 -47209,0.09475382590335224 -47210,0.8988930655500109 -47211,0.08027756078076431 -47212,0.127955500966629 -47213,0.7416635014341669 -47214,0.864426992109041 -47215,0.2853051827822086 -47216,0.24346299093243107 -47217,0.95050012255429 -47218,0.844393962004328 -47219,0.8703659341167705 -47220,0.30848984552655834 -47221,0.9829764303251561 -47222,0.8101813682857087 -47223,0.46717451328186355 -47224,0.12439804739618288 -47225,0.45082592787358156 -47226,0.20058646825856552 -47227,0.15396529966498418 -47228,0.7172120464914397 -47229,0.8711476458691801 -47230,0.3522929722259085 -47231,0.03202021595159221 -47232,0.29792423243143806 -47233,0.5328182279657516 -47234,0.4425209994938212 -47235,0.5507316854895075 -47236,0.4004486355063188 -47237,0.9343848042579058 -47238,0.36150780095450497 -47239,0.030491655082132252 -47240,0.04560686372784439 -47241,0.11075854548431907 -47242,0.8679918849748935 -47243,0.3639747559298522 -47244,0.27880516708711023 -47245,0.0738467744276795 -47246,0.004680011633710013 -47247,0.5279804445955246 -47248,0.12229904807803449 -47249,0.39738507169670145 -47250,0.9883273874449322 -47251,0.6523502960422949 -47252,0.5853781233343867 -47253,0.4448958607910197 -47254,0.1909479150965644 -47255,0.36298176444281804 -47256,0.40651543537007706 -47257,0.7938179382622855 -47258,0.36673964299992845 -47259,0.178821453435708 -47260,0.4973992972139144 -47261,0.5001769203307583 -47262,0.06307813109950622 -47263,0.627782013473502 -47264,0.9368635282162139 -47265,0.09659213130003019 -47266,0.6840992027809734 -47267,0.8292669397748265 -47268,0.06602260107041635 -47269,0.8623537995010051 -47270,0.1260916915729584 -47271,0.5493971041264865 -47272,0.7405894180133764 -47273,0.4219868830947082 -47274,0.5162391189860874 -47275,0.7552429306536056 -47276,0.40064153133908376 -47277,0.18265931753273745 -47278,0.09320668627188544 -47279,0.7310394355457128 -47280,0.8924835852829452 -47281,0.08246686000591075 -47282,0.10556467210598286 -47283,0.4017018468812682 -47284,0.01743896888011387 -47285,0.11328550414661853 -47286,0.9226952600866675 -47287,0.8991911986076888 -47288,0.641646389243412 -47289,0.4864533773268642 -47290,0.7035645575636523 -47291,0.49931520211817626 -47292,0.8807863251483814 -47293,0.16365729114503258 -47294,0.7601539898159617 -47295,0.3656715445071109 -47296,0.1571826251360645 -47297,0.5056896532568396 -47298,0.06593273110368003 -47299,0.9369551840884649 -47300,0.04433871507638043 -47301,0.7427739888775825 -47302,0.7685922399501497 -47303,0.09832150180084731 -47304,0.7272038003712739 -47305,0.009878895726330494 -47306,0.2711086917143809 -47307,0.6346537630306587 -47308,0.5361776967729276 -47309,0.9766489942193919 -47310,0.617665852155326 -47311,0.4965110094796241 -47312,0.3304861230135282 -47313,0.8756355646968431 -47314,0.4439400819627696 -47315,0.37985789656676816 -47316,0.1878882901311979 -47317,0.4878829225138277 -47318,0.5084745478501516 -47319,0.7127718989357986 -47320,0.47714669050842407 -47321,0.10359869817770828 -47322,0.4236377780689675 -47323,0.48234862354425134 -47324,0.8641134575575388 -47325,0.5487871576414078 -47326,0.635395769408509 -47327,0.6324102550233155 -47328,0.7597833057889004 -47329,0.29113715819070674 -47330,0.6634387484731882 -47331,0.2860440614981593 -47332,0.4968629273506878 -47333,0.6571044915271582 -47334,0.017237966174832198 -47335,0.055880982562506176 -47336,0.9039978584404492 -47337,0.15443896067173934 -47338,0.09850205929751954 -47339,0.7135956654651745 -47340,0.8677569704597082 -47341,0.782630628306294 -47342,0.6411242716121891 -47343,0.4679398925756467 -47344,0.023144828156583253 -47345,0.7888010953582244 -47346,0.09676594682481932 -47347,0.4154274239656275 -47348,0.24337522716011017 -47349,0.24921172200768527 -47350,0.7937573153621909 -47351,0.31955986609640596 -47352,0.4988845898685489 -47353,0.06871157744355105 -47354,0.5725406351644544 -47355,0.634548703820069 -47356,0.49545923735677033 -47357,0.6660362359703889 -47358,0.3725512768801096 -47359,0.41575864558451403 -47360,0.34254757491970356 -47361,0.34309401425194064 -47362,0.9390072494683398 -47363,0.11022175899599862 -47364,0.5363304126387463 -47365,0.464104571979691 -47366,0.6794553689414299 -47367,0.26925349755008354 -47368,0.6141025640648488 -47369,0.5525551346290769 -47370,0.69464396203335 -47371,0.4148436860324495 -47372,0.13284013961302965 -47373,0.7988020689038101 -47374,0.4389777750794408 -47375,0.17341668186759496 -47376,0.46498923000738723 -47377,0.677403635062373 -47378,0.10560968027059581 -47379,0.31878454196743233 -47380,0.28829014600745295 -47381,0.2744874199415658 -47382,0.099687357296804 -47383,0.4635119880735906 -47384,0.5096096076590324 -47385,0.12185193938465644 -47386,0.1061446629957229 -47387,0.24371749068864068 -47388,0.16458348934327816 -47389,0.5427782637612248 -47390,0.2921236287771686 -47391,0.3312711929884965 -47392,0.6048273397260705 -47393,0.6511932526771659 -47394,0.02204523418966453 -47395,0.21173265035748257 -47396,0.3948174524748904 -47397,0.36323160526058806 -47398,0.6517553835705859 -47399,0.9977884428048234 -47400,0.917696946410751 -47401,0.19480367319955771 -47402,0.32499501431395983 -47403,0.47393502628535344 -47404,0.7189049965213976 -47405,0.7809306121913925 -47406,0.37187929093354766 -47407,0.05460019026756213 -47408,0.7967081966576081 -47409,0.5410273298443399 -47410,0.458645180350159 -47411,0.6955055231416162 -47412,0.3070717574258661 -47413,0.49350162678179466 -47414,0.7994530143746972 -47415,0.47719611286849406 -47416,0.2970150731963772 -47417,0.5456894603988849 -47418,0.08336338950692468 -47419,0.7832121737604251 -47420,0.9856171254084856 -47421,0.31678200108246357 -47422,0.1561070165158629 -47423,0.6039764245376114 -47424,0.7796101691489833 -47425,0.28090827999653323 -47426,0.3410053700496505 -47427,0.008839900206665807 -47428,0.5460349783363228 -47429,0.8142015147287867 -47430,0.11261673232509306 -47431,0.25949509798926607 -47432,0.5939000131610616 -47433,0.6385190900650691 -47434,0.8087915882502394 -47435,0.8793211253100429 -47436,0.5410446453991604 -47437,0.5701567825104372 -47438,0.28365804687993634 -47439,0.6529270584965989 -47440,0.45923438817146567 -47441,0.40188045905259007 -47442,0.24538195920335548 -47443,0.5931519900824715 -47444,0.6865128708044903 -47445,0.19529387523822428 -47446,0.9673083620250121 -47447,0.25011111763527893 -47448,0.9786385973358982 -47449,0.3358243157167061 -47450,0.6784560460800289 -47451,0.011889026027160243 -47452,0.3512564028072894 -47453,0.2337391627731169 -47454,0.27025432686187967 -47455,0.9475543308238968 -47456,0.7438359137870147 -47457,0.3388289255518373 -47458,0.9701200467246701 -47459,0.07109137921202136 -47460,0.5816598548746046 -47461,0.5328808194271144 -47462,0.5965090573927891 -47463,0.7989497374887311 -47464,0.01693778316207306 -47465,0.6514704989144325 -47466,0.3429730044763152 -47467,0.9208850338457364 -47468,0.2282997898609923 -47469,0.9587224649510873 -47470,0.5780491681449345 -47471,0.10588465098343769 -47472,0.112005031206584 -47473,0.7635920223735166 -47474,0.08249006097086586 -47475,0.8288462216099959 -47476,0.5842627435810668 -47477,0.5017948807507623 -47478,0.7081008751929933 -47479,0.9591094821320911 -47480,0.044090320024861906 -47481,0.04180940496175778 -47482,0.6474813516809371 -47483,0.2238448075010634 -47484,0.9317394519567701 -47485,0.6527401224230575 -47486,0.23530318759123325 -47487,0.11435950581024923 -47488,0.47264028705950967 -47489,0.7522155632083887 -47490,0.8836996899418497 -47491,0.7639148848967241 -47492,0.19466363101462358 -47493,0.9033331907622336 -47494,0.09902836463122289 -47495,0.31302062932808683 -47496,0.7703018803343732 -47497,0.6475867807959106 -47498,0.6047148460772835 -47499,0.7887761568724772 -47500,0.21710879565428376 -47501,0.14172992447548471 -47502,0.33670185398319863 -47503,0.32543779953950724 -47504,0.39190103092611206 -47505,0.6612444036545779 -47506,0.7491329508767262 -47507,0.7452283746841991 -47508,0.49150922574259004 -47509,0.4084543510244406 -47510,0.6594643388699539 -47511,0.11348300034356329 -47512,0.8007679399087819 -47513,0.44270215350138364 -47514,0.8953494824969624 -47515,0.869055115842094 -47516,0.42700276417233907 -47517,0.5571241504814559 -47518,0.05948498036565075 -47519,0.3016877910244503 -47520,0.8476844864028688 -47521,0.31781299187093703 -47522,0.9595652363829803 -47523,0.9767934596648641 -47524,0.9485239886109853 -47525,0.7824982636935405 -47526,0.10509304641951145 -47527,0.5682504525104684 -47528,0.2881324578387263 -47529,0.5981865067139226 -47530,0.860299934034585 -47531,0.2992196140248302 -47532,0.7783615175828914 -47533,0.3961524667292077 -47534,0.6075086188636908 -47535,0.9884695887734859 -47536,0.6412304809557461 -47537,0.4069243256482845 -47538,0.18158143053503106 -47539,0.283429224756531 -47540,0.47873369124475607 -47541,0.8054645959159957 -47542,0.8704310081289716 -47543,0.5006453862107283 -47544,0.5832632390297685 -47545,0.9046648780490067 -47546,0.7473751584080971 -47547,0.3419788391141694 -47548,0.7614948878443913 -47549,0.6567482602973109 -47550,0.6665757973351925 -47551,0.25420668567250804 -47552,0.06293338233537449 -47553,0.09153127303011876 -47554,0.5130203952766335 -47555,0.44612016865947246 -47556,0.7191704421320222 -47557,0.8577927081907444 -47558,0.4483831857538937 -47559,0.1987695470587756 -47560,0.5586130636303224 -47561,0.6485441688078163 -47562,0.20194459461111736 -47563,0.3608851127369028 -47564,0.8244861860437 -47565,0.7363312542917198 -47566,0.6866247552749993 -47567,0.6467978172710918 -47568,0.5918324799579903 -47569,0.3465313718021549 -47570,0.16180589074161456 -47571,0.5697896870594744 -47572,0.7040262513112582 -47573,0.8644909293444955 -47574,0.7252411008433898 -47575,0.2954468644997924 -47576,0.41187700023916396 -47577,0.6672006795269113 -47578,0.5344149510470021 -47579,0.4352800079515292 -47580,0.6476379872656736 -47581,0.9835258222237128 -47582,0.39375880885498493 -47583,0.2530571059352428 -47584,0.9245734959217765 -47585,0.6387165272507778 -47586,0.31765580150666595 -47587,0.18070250958725442 -47588,0.031788893726541034 -47589,0.4187986402095447 -47590,0.41237843759595905 -47591,0.5516073206225544 -47592,0.19643174783356032 -47593,0.8425453983271849 -47594,0.7284271916784375 -47595,0.4828137114839306 -47596,0.848930544243668 -47597,0.2346414873567848 -47598,0.8315552032073519 -47599,0.19444207328148155 -47600,0.3518461165252159 -47601,0.6599242647478373 -47602,0.5292494648058716 -47603,0.706988163081786 -47604,0.3329659189915032 -47605,0.49853871842087616 -47606,0.40235268797946844 -47607,0.31950422512915755 -47608,0.3642020154748421 -47609,0.21042941547118188 -47610,0.5968260937486333 -47611,0.03651308089155125 -47612,0.4291431828438512 -47613,0.07705193915867614 -47614,0.2281729112705766 -47615,0.17452176317950474 -47616,0.05961099883032883 -47617,0.26231179582522857 -47618,0.6413964326466731 -47619,0.670279000646955 -47620,0.18736864209597448 -47621,0.24107632998379425 -47622,0.9844452473526665 -47623,0.7208803646178893 -47624,0.3642254469420263 -47625,0.40654174846847535 -47626,0.5884433861858145 -47627,0.22644431464814563 -47628,0.09853556145340536 -47629,0.020649082760675563 -47630,0.7826817479972025 -47631,0.8749130455352084 -47632,0.875108696320777 -47633,0.08093244430964885 -47634,0.9872789769956516 -47635,0.31954705546534035 -47636,0.04573190202416133 -47637,0.6835802637709559 -47638,0.7041559467691756 -47639,0.8974067010925773 -47640,0.26589517396667917 -47641,0.88571852137774 -47642,0.7125764928909202 -47643,0.14325697294988804 -47644,0.7764898056795861 -47645,0.05414717756508736 -47646,0.3650570298987077 -47647,0.1470800376565332 -47648,0.47302076027937223 -47649,0.18941440094860906 -47650,0.8346168412653797 -47651,0.6420711311246754 -47652,0.39071815313099756 -47653,0.8595494441525132 -47654,0.008977180818746988 -47655,0.07998336506429382 -47656,0.9185042387872383 -47657,0.722145588014184 -47658,0.5499293712019933 -47659,0.908916962901536 -47660,0.038038561818263816 -47661,0.39026178399456435 -47662,0.5077664307762062 -47663,0.6888204448071541 -47664,0.8049496067161774 -47665,0.9530106912880038 -47666,0.44613888343012176 -47667,0.05642163441224202 -47668,0.49272582730657977 -47669,0.6236289841014315 -47670,0.9113966583669253 -47671,0.2629363537588558 -47672,0.5252657775620869 -47673,0.11459970708691813 -47674,0.8039323323349786 -47675,0.6770628140145183 -47676,0.7268048406831029 -47677,0.5020003509350509 -47678,0.036718629090217725 -47679,0.9864634571755801 -47680,0.18659258169749604 -47681,0.9436899430474921 -47682,0.3585114995968105 -47683,0.32752757005399424 -47684,0.7295097725543718 -47685,0.06111545727007095 -47686,0.8021811257538196 -47687,0.9366318578261027 -47688,0.7262608922978391 -47689,0.8135970307569451 -47690,0.7484291960769245 -47691,0.07593654909967884 -47692,0.5345346846224311 -47693,0.8826842537547331 -47694,0.08514199347568008 -47695,0.14122924542603899 -47696,0.7948356901575603 -47697,0.05647458830689944 -47698,0.6261664920722808 -47699,0.10794900719534384 -47700,0.9704550087242729 -47701,0.6036165881393275 -47702,0.5679836697454724 -47703,0.04813473793438272 -47704,0.19831141340549985 -47705,0.40332219388903445 -47706,0.4879765657176818 -47707,0.8380788938795048 -47708,0.017126695748524656 -47709,0.6767621142832184 -47710,0.5880002275092 -47711,0.40415304996866774 -47712,0.0156777867238328 -47713,0.059007401036695994 -47714,0.5848389757720778 -47715,0.13181672483060658 -47716,0.451108999574635 -47717,0.47179460730708844 -47718,0.7131456288652506 -47719,0.6872060965886664 -47720,0.3291382598201351 -47721,0.4615419180901744 -47722,0.06098034457785739 -47723,0.15651289945439284 -47724,0.610127769448028 -47725,0.7946962714441064 -47726,0.4295119664594377 -47727,0.8335341815755495 -47728,0.7581044840182787 -47729,0.7698681251016782 -47730,0.31902880644143883 -47731,0.21555297310317323 -47732,0.1799009647203147 -47733,0.40788880377817605 -47734,0.8158538416305178 -47735,0.1334120532798848 -47736,0.7641616308637865 -47737,0.9403343762545185 -47738,0.15922350696762821 -47739,0.5974174278787159 -47740,0.7783595092069435 -47741,0.9254665813806991 -47742,0.690294462076856 -47743,0.7445470429610048 -47744,0.4730545413440943 -47745,0.44344702136317027 -47746,0.027490519966859583 -47747,0.288628374169128 -47748,0.13339188358982534 -47749,0.6210168566335847 -47750,0.6164631989966777 -47751,0.7996247974640674 -47752,0.12208951757308073 -47753,0.8633513436892217 -47754,0.044095024446177744 -47755,0.06340527777282412 -47756,0.030410740656567015 -47757,0.9672530449907104 -47758,0.8375425862280844 -47759,0.7631856903571773 -47760,0.7284382017944124 -47761,0.8268855127010506 -47762,0.7908284144037032 -47763,0.6909271949361263 -47764,0.4825966837614538 -47765,0.2735111775697959 -47766,0.894027686443596 -47767,0.5961457525549729 -47768,0.560788782961484 -47769,0.23908018259845798 -47770,0.7974269113980532 -47771,0.46093497002927497 -47772,0.5034351107274759 -47773,0.6176149549452493 -47774,0.7464228420942085 -47775,0.8983987880994277 -47776,0.9531421180695475 -47777,0.6738353840428302 -47778,0.1137183404723131 -47779,0.44473815594769195 -47780,0.5974005940172182 -47781,0.7620014310027263 -47782,0.7705059728597302 -47783,0.187125228219429 -47784,0.9723372999346264 -47785,0.7235597824644537 -47786,0.8406383155840591 -47787,0.2472253150293956 -47788,0.07523690420389118 -47789,0.9472436399721564 -47790,0.6379244306284053 -47791,0.8151511837489458 -47792,0.9989088533837422 -47793,0.47978180966146855 -47794,0.8002355937463339 -47795,0.0026301552410356033 -47796,0.7309558738857475 -47797,0.44333868366051854 -47798,0.9000602479904497 -47799,0.8068085443539119 -47800,0.794021484031369 -47801,0.6311776764024332 -47802,0.809624767884718 -47803,0.4366002389965564 -47804,0.7665665733166674 -47805,0.4434198963295528 -47806,0.7419129266516387 -47807,0.37579288922965326 -47808,0.42659391013451886 -47809,0.4179970063323175 -47810,0.9268060956145738 -47811,0.3747109807124265 -47812,0.8667790119695015 -47813,0.6995629104055041 -47814,0.19811307325832073 -47815,0.5382133562136333 -47816,0.7705857839797352 -47817,0.343325611679687 -47818,0.06817787084625526 -47819,0.2961285211265887 -47820,0.653683718997596 -47821,0.46456424495471027 -47822,0.4531675942197728 -47823,0.2647059908062168 -47824,0.8182475003082537 -47825,0.47219866025561097 -47826,0.9166909678478092 -47827,0.32006826755709983 -47828,0.046243883138111785 -47829,0.004888658638201426 -47830,0.6658801917901637 -47831,0.0002999137904274862 -47832,0.29309902933360366 -47833,0.9956912578203748 -47834,0.5477894434800552 -47835,0.8437247026564371 -47836,0.17515645589627882 -47837,0.07068929541216729 -47838,0.3469813609355755 -47839,0.5629551084601647 -47840,0.26966953424662965 -47841,0.41514654273688645 -47842,0.15978527658224173 -47843,0.843575851717407 -47844,0.8860836138671565 -47845,0.10906502661422979 -47846,0.4564266252055754 -47847,0.087044790871869 -47848,0.6157812753060695 -47849,0.41642841370782446 -47850,0.04243786935863614 -47851,0.9411941765814886 -47852,0.3213117632482112 -47853,0.3385304761176513 -47854,0.22361553986727067 -47855,0.035463319602093035 -47856,0.7337506730606439 -47857,0.7246183561710975 -47858,0.8490711981978898 -47859,0.08095243208241099 -47860,0.6362517622125777 -47861,0.39758818683724406 -47862,0.7303262590897959 -47863,0.5059747690434395 -47864,0.851058896113106 -47865,0.39958690065947433 -47866,0.7979881882653318 -47867,0.7277220274715167 -47868,0.5543709636107143 -47869,0.9911239630368895 -47870,0.8071016586507302 -47871,0.5124308618867496 -47872,0.7766287048456675 -47873,0.1996029973660608 -47874,0.6564885510293231 -47875,0.970112547869763 -47876,0.013807264311714973 -47877,0.5634365080490055 -47878,0.054846125604871565 -47879,0.3226755754482302 -47880,0.10308783640320118 -47881,0.9134485437802085 -47882,0.712409261456352 -47883,0.27882468665208915 -47884,0.5354337758065564 -47885,0.5537271691450214 -47886,0.8379035647847711 -47887,0.4651174781860833 -47888,0.14032670517677437 -47889,0.44630985014336966 -47890,0.6262654223281389 -47891,0.7855194356317444 -47892,0.18556180982998738 -47893,0.38150949343844465 -47894,0.5660798524566 -47895,0.6323951608237097 -47896,0.3518305843818538 -47897,0.9260376816758505 -47898,0.6920091579551576 -47899,0.9479461882352701 -47900,0.06212265176866649 -47901,0.5306746708726511 -47902,0.8487090246898505 -47903,0.08060767382673562 -47904,0.02641680123763057 -47905,0.40679749536884113 -47906,0.27071383346609945 -47907,0.18182206965191483 -47908,0.9496227336723415 -47909,0.3815201944052533 -47910,0.27598228856504614 -47911,0.9999122662305899 -47912,0.018101846187516535 -47913,0.9367001477393089 -47914,0.10290135387894983 -47915,0.43908719344529556 -47916,0.2496644938832966 -47917,0.16143243989882328 -47918,0.8032893748669222 -47919,0.9103625067815634 -47920,0.41260326066034037 -47921,0.3681181076022326 -47922,0.005211705829410218 -47923,0.0049485745940763826 -47924,0.7562697185906786 -47925,0.3500917516805404 -47926,0.3900985545859669 -47927,0.4158866090217196 -47928,0.01506636225515956 -47929,0.8263203776646196 -47930,0.6350763122806933 -47931,0.7253511712830185 -47932,0.3047547265362366 -47933,0.8101343445477044 -47934,0.8237155334690899 -47935,0.9509184656053965 -47936,0.7048217254963979 -47937,0.6630960771788521 -47938,0.6462313585655801 -47939,0.6801796345194671 -47940,0.5091411155814276 -47941,0.7133764806482517 -47942,0.3578131997503978 -47943,0.6892031961869023 -47944,0.2309917932194222 -47945,0.565667082437917 -47946,0.6504658917563322 -47947,0.2549221707786081 -47948,0.7579797722166935 -47949,0.8693088367609241 -47950,0.968898157516946 -47951,0.8867722808089868 -47952,0.6101661176952676 -47953,0.6764237053351138 -47954,0.1911098855854343 -47955,0.06456400803725737 -47956,0.2702540925748076 -47957,0.34054930305151065 -47958,0.9575808284671224 -47959,0.16247173928340763 -47960,0.4381171487084635 -47961,0.7931269680087089 -47962,0.9563211531131864 -47963,0.08663373244743588 -47964,0.5129943509990655 -47965,0.36864330253664135 -47966,0.9908635651416143 -47967,0.4030694764309445 -47968,0.5907039389319689 -47969,0.29646194938990966 -47970,0.3806381603107831 -47971,0.3589629543046874 -47972,0.09068550811679887 -47973,0.6737269035984851 -47974,0.9751524499837919 -47975,0.3077358566674847 -47976,0.36813477060004407 -47977,0.7509766411642556 -47978,0.8978777450191271 -47979,0.5851886074847956 -47980,0.6988269590936345 -47981,0.07887992515771403 -47982,0.09547937666588402 -47983,0.420187224608742 -47984,0.878414014953254 -47985,0.47468868175954215 -47986,0.3404060794818137 -47987,0.41734266610512427 -47988,0.7828662005496276 -47989,0.18797560555504667 -47990,0.47506903599600303 -47991,0.6665190220576972 -47992,0.6974207767921058 -47993,0.3336313683709743 -47994,0.5927713307831266 -47995,0.5294327926648862 -47996,0.2631886940152458 -47997,0.7303019979043832 -47998,0.6747235635466625 -47999,0.260537924732991 -48000,0.14918876045288443 -48001,0.08161493945391052 -48002,0.5116390513873506 -48003,0.1043071983467535 -48004,0.693310343699071 -48005,0.7938852161306543 -48006,0.25895201876842255 -48007,0.6806647040482883 -48008,0.6865645874042161 -48009,0.9078745580012929 -48010,0.34662864005656313 -48011,0.300257848187365 -48012,0.14908885876857947 -48013,0.04549516089879757 -48014,0.11037811508727913 -48015,0.10392841813790499 -48016,0.09510199519350648 -48017,0.5561314481363726 -48018,0.8841927982630937 -48019,0.4712206415682417 -48020,0.7628731532860576 -48021,0.3121687720357226 -48022,0.0783748488848891 -48023,0.05435357098376403 -48024,0.6339131071183459 -48025,0.06739169478097584 -48026,0.8140702212859326 -48027,0.6262038140557568 -48028,0.2160668364508881 -48029,0.9672069128702313 -48030,0.672853815862911 -48031,0.9756575468165309 -48032,0.37330423061508056 -48033,0.7594625986689587 -48034,0.815660548145089 -48035,0.7556099530365639 -48036,0.21251044565158894 -48037,0.07397680941747187 -48038,0.13342629752042212 -48039,0.9963364378873948 -48040,0.6753405084194094 -48041,0.9573122964396927 -48042,0.15567561634965754 -48043,0.4341501570819104 -48044,0.2961774163993346 -48045,0.24499720198460673 -48046,0.007229756547144972 -48047,0.5872025233573798 -48048,0.6204446223328777 -48049,0.739047331513667 -48050,0.9212438095681783 -48051,0.1282151348267634 -48052,0.849336504460862 -48053,0.5906081688317618 -48054,0.5831695884010241 -48055,0.5783254043594078 -48056,0.07507435610082913 -48057,0.26976477007631106 -48058,0.7691231908099151 -48059,0.5868721842064345 -48060,0.8677082152600125 -48061,0.8665974120019561 -48062,0.024932800653787335 -48063,0.22823793781694102 -48064,0.165985813875275 -48065,0.44178795787973624 -48066,0.5867221004556881 -48067,0.5731835909455307 -48068,0.579281233855049 -48069,0.8635670288138702 -48070,0.595292872840738 -48071,0.6689177501648254 -48072,0.3521129645797332 -48073,0.6015176069722873 -48074,0.9133898658955314 -48075,0.9447818020798991 -48076,0.6598967456657515 -48077,0.2284187607941709 -48078,0.7692253879967164 -48079,0.43426829911225384 -48080,0.9134537449288429 -48081,0.14627294894630882 -48082,0.9290381235996438 -48083,0.716467823560908 -48084,0.4321408298468359 -48085,0.537907351729122 -48086,0.2004846568735864 -48087,0.7052593786612376 -48088,0.5479477862309258 -48089,0.4183634177637289 -48090,0.6700706868547452 -48091,0.3226303804931189 -48092,0.32855149391769656 -48093,0.488972174434095 -48094,0.040620369814138635 -48095,0.3662974863828973 -48096,0.4842387109592924 -48097,0.6436373753532262 -48098,0.6150459542400802 -48099,0.7302011244223564 -48100,0.9736440459156468 -48101,0.19635199676898063 -48102,0.08971387847835444 -48103,0.36706407666699925 -48104,0.2800444079927912 -48105,0.1799913232222239 -48106,0.9630205513634745 -48107,0.7129021889937839 -48108,0.9160608423404327 -48109,0.7729155632030824 -48110,0.9265913961237878 -48111,0.09593893095385575 -48112,0.7611542379248741 -48113,0.6567664320210447 -48114,0.37020246613571317 -48115,0.16034207772104692 -48116,0.4579877955208508 -48117,0.7655160107831146 -48118,0.796867593651291 -48119,0.05322300232688881 -48120,0.5628836087081289 -48121,0.3144919283292412 -48122,0.4228416398468815 -48123,0.9675551438899224 -48124,0.4956931152952676 -48125,0.3828267783786534 -48126,0.03597763948176258 -48127,0.09944807390744892 -48128,0.2676466734017183 -48129,0.7779066147131164 -48130,0.9370433177465679 -48131,0.013999705087811343 -48132,0.6736499387377834 -48133,0.5256617430312139 -48134,0.33495216255416915 -48135,0.11133635806064279 -48136,0.02096168158412659 -48137,0.8972987500657351 -48138,0.05855429032267834 -48139,0.6375605807042095 -48140,0.6613530136509047 -48141,0.6524936768400883 -48142,0.870040845536024 -48143,0.1032127730344462 -48144,0.1165453270639778 -48145,0.24248110192300387 -48146,0.17956007707309518 -48147,0.4983225779896302 -48148,0.5918991222645883 -48149,0.6281763577258347 -48150,0.5729684481413395 -48151,0.9191384469488717 -48152,0.31802629439608754 -48153,0.2944988001760437 -48154,0.04050824194432634 -48155,0.7592727727839683 -48156,0.20792805456447883 -48157,0.8638441552648285 -48158,0.3187705820676793 -48159,0.862131848304554 -48160,0.2675989819747382 -48161,0.38382672700467224 -48162,0.8345277317631099 -48163,0.8816565070856267 -48164,0.8022746650730075 -48165,0.19395043248456556 -48166,0.34059523519857693 -48167,0.011001767646189986 -48168,0.24697789102589407 -48169,0.19898717104983943 -48170,0.5849672485964557 -48171,0.40558271024697967 -48172,0.8727987619547778 -48173,0.851751045012842 -48174,0.030844503301281412 -48175,0.9477566705863205 -48176,0.23584876553156042 -48177,0.14889671900095092 -48178,0.49970365467315825 -48179,0.8463230218853992 -48180,0.27565295247344457 -48181,0.8818276644394267 -48182,0.12683017608882963 -48183,0.2696843216650252 -48184,0.7925672118420299 -48185,0.8211210534234474 -48186,0.7195195941370798 -48187,0.9488854356487515 -48188,0.9286544293756724 -48189,0.42666475042277774 -48190,0.8703225099852216 -48191,0.2452919331841258 -48192,0.21964121492320698 -48193,0.10691981025209785 -48194,0.7440649089555267 -48195,0.8025744248324802 -48196,0.4331621449405796 -48197,0.19590403858924854 -48198,0.6621364403104261 -48199,0.14960216253161474 -48200,0.12544699928340086 -48201,0.42879797752609305 -48202,0.722988396990637 -48203,0.19362585460315196 -48204,0.7319620031898781 -48205,0.22503103495238275 -48206,0.8573974821910032 -48207,0.4209306297133968 -48208,0.7307194199375477 -48209,0.31413921733731776 -48210,0.8127507383234804 -48211,0.9093818159870928 -48212,0.7585041708326127 -48213,0.06344151336688597 -48214,0.8123326664782697 -48215,0.5114055150466242 -48216,0.9313822472260509 -48217,0.9412938237920381 -48218,0.4015790975778877 -48219,0.16742136855747536 -48220,0.7461237258881147 -48221,0.057168795517805515 -48222,0.32897507726288966 -48223,0.3188804068290191 -48224,0.7615540148623082 -48225,0.2589668128712148 -48226,0.455716293900405 -48227,0.8097004327675537 -48228,0.51835757333552 -48229,0.9155180598941682 -48230,0.8641793670613067 -48231,0.4292324364491362 -48232,0.004284907699288132 -48233,0.34248027250526736 -48234,0.8308255370123753 -48235,0.7802754481680385 -48236,0.337386334065123 -48237,0.39875465694894874 -48238,0.42191613294341024 -48239,0.07519708255401891 -48240,0.3686780927578215 -48241,0.41091332902495503 -48242,0.2818468830763694 -48243,0.31922644491669194 -48244,0.23010814393812828 -48245,0.061964700700680386 -48246,0.31710828902847765 -48247,0.5215051531424021 -48248,0.10677145924627995 -48249,0.5004143201339476 -48250,0.9629821222890894 -48251,0.4674567558955791 -48252,0.5546450654283138 -48253,0.5610179285513364 -48254,0.8912491946738494 -48255,0.46844713830151585 -48256,0.5622358906405049 -48257,0.3489687140939778 -48258,0.4703389634089862 -48259,0.001148231200211569 -48260,0.6631469030834285 -48261,0.8284576154873049 -48262,0.3541080019867884 -48263,0.9237866625401598 -48264,0.13822493853412376 -48265,0.9021989115737884 -48266,0.9696073017765805 -48267,0.08676830687202164 -48268,0.10505635641262501 -48269,0.4918674387868477 -48270,0.10870653649279527 -48271,0.912239775354352 -48272,0.9747628957733845 -48273,0.7728146151592445 -48274,0.2894385361504639 -48275,0.004198005175570785 -48276,0.2845813744536637 -48277,0.8339947174602897 -48278,0.1680033912160236 -48279,0.20427664785199806 -48280,0.6427447111044182 -48281,0.7211437095183149 -48282,0.07986705875714384 -48283,0.7616632050749684 -48284,0.7141220652269029 -48285,0.24793689351794024 -48286,0.8292689684256817 -48287,0.36544532743426483 -48288,0.8634444353628616 -48289,0.41914595320050585 -48290,0.5938546262084752 -48291,0.8163066219436407 -48292,0.9812009268737325 -48293,0.05556539290780338 -48294,0.9476589498005495 -48295,0.3833163245740623 -48296,0.6262040057548064 -48297,0.15968764011476844 -48298,0.7713747136619135 -48299,0.5830961313682509 -48300,0.6790821698358609 -48301,0.9030710375698185 -48302,0.7498364613446885 -48303,0.8031317613175509 -48304,0.5012848467053963 -48305,0.43404929535790604 -48306,0.6922708357916736 -48307,0.7605677437174607 -48308,0.35793169726580476 -48309,0.8160822726195338 -48310,0.11883555982593919 -48311,0.8527896906439207 -48312,0.7095251494181282 -48313,0.19930869237018234 -48314,0.234201778782835 -48315,0.28715500449605813 -48316,0.6528140360997194 -48317,0.060203866360893143 -48318,0.1340220820255662 -48319,0.35325851966824584 -48320,0.28681651000846387 -48321,0.4349677948934374 -48322,0.5586392780708206 -48323,0.7156882284947252 -48324,0.5710421722645713 -48325,0.6149929866260552 -48326,0.37967567870184604 -48327,0.6445357257135395 -48328,0.6517749636641488 -48329,0.3810232243795696 -48330,0.9497154049276708 -48331,0.5071068181310295 -48332,0.725598127217121 -48333,0.0477625039321784 -48334,0.49092546501068013 -48335,0.5146018126322458 -48336,0.9820988524947016 -48337,0.4110327032698484 -48338,0.3322618787706455 -48339,0.4734236862210558 -48340,0.5216860788451385 -48341,0.3418564377788931 -48342,0.13431237711048072 -48343,0.12462815142752637 -48344,0.44990665244947114 -48345,0.764682861886192 -48346,0.21780890958015175 -48347,0.457479473931631 -48348,0.6834941758755629 -48349,0.8260938477994042 -48350,0.06474062422056859 -48351,0.17589068643451067 -48352,0.46971859452867026 -48353,0.8219928190052984 -48354,0.6021096881053434 -48355,0.7177199348585784 -48356,0.015480157489657143 -48357,0.20337677321243197 -48358,0.9572542139965732 -48359,0.910061854910587 -48360,0.06355851998319173 -48361,0.9721296695856572 -48362,0.20741060870389372 -48363,0.15638523209364597 -48364,0.10769972998666189 -48365,0.3816171917336538 -48366,0.766740660315939 -48367,0.9150190380022588 -48368,0.12226616095831844 -48369,0.6726962423199419 -48370,0.5336974121001651 -48371,0.19899431884898788 -48372,0.7844769560269923 -48373,0.06800853245700633 -48374,0.054062068539396435 -48375,0.618021844203493 -48376,0.33044297916952237 -48377,0.2809847695921517 -48378,0.21334491569544856 -48379,0.36225980453881923 -48380,0.7375883983155802 -48381,0.9867375517813776 -48382,0.8851264883313039 -48383,0.2594245891784407 -48384,0.9516220099717275 -48385,0.5204122224972323 -48386,0.4427362611135389 -48387,0.9206499038638257 -48388,0.2676849722717951 -48389,0.45799321129149806 -48390,0.05666738049823017 -48391,0.24868048864533987 -48392,0.8304601773159961 -48393,0.5751933300621914 -48394,0.15441775727358242 -48395,0.2515973393018508 -48396,0.30420024011434266 -48397,0.2733107398500172 -48398,0.10037678073260048 -48399,0.4716616089132786 -48400,0.5346604403771704 -48401,0.710959482040685 -48402,0.4141128734973415 -48403,0.16574991751132961 -48404,0.518379480810928 -48405,0.11045037638042243 -48406,0.42918437041101454 -48407,0.5541615722618413 -48408,0.01614097866781994 -48409,0.7591745298161967 -48410,0.5908197454937133 -48411,0.27868851957108465 -48412,0.1722249466903787 -48413,0.6961242335267153 -48414,0.5918406397726566 -48415,0.8935166525191315 -48416,0.14246073633771583 -48417,0.5755384303893879 -48418,0.4025979423713406 -48419,0.8566431433815915 -48420,0.8325084051794531 -48421,0.2257384058032117 -48422,0.009786771523034865 -48423,0.3143512855665339 -48424,0.9013443524594651 -48425,0.1336867990896623 -48426,0.7931347421438946 -48427,0.36740444331697497 -48428,0.00266790070293077 -48429,0.7099434997530244 -48430,0.10335949333564498 -48431,0.03735595450081153 -48432,0.9996167893873474 -48433,0.5987993422757503 -48434,0.5318028433596323 -48435,0.4281540898567201 -48436,0.8457781469479237 -48437,0.8071146912881222 -48438,0.18841333741136757 -48439,0.9604611174711245 -48440,0.25828544444893686 -48441,0.1576068480215025 -48442,0.37862783000773903 -48443,0.30253259370168195 -48444,0.5664265921639915 -48445,0.15874977951126545 -48446,0.5960648666738281 -48447,0.35796721945497534 -48448,0.37659224034245187 -48449,0.30410360546474424 -48450,0.46695112676100825 -48451,0.24523899343753108 -48452,0.541302544020979 -48453,0.7733946174943496 -48454,0.5023383046913148 -48455,0.7016561548280337 -48456,0.9191260951812216 -48457,0.8715437973219883 -48458,0.6128581280452863 -48459,0.4851965880231124 -48460,0.710100015798014 -48461,0.2771133532695469 -48462,0.3756818332274505 -48463,0.07109033436511947 -48464,0.4502696648993938 -48465,0.7938336486473219 -48466,0.6702202081380321 -48467,0.9420209469097109 -48468,0.5744214289732339 -48469,0.8542961430831705 -48470,0.6055952908862234 -48471,0.34675415317645764 -48472,0.10165693596488024 -48473,0.3154877305097564 -48474,0.7487374968807465 -48475,0.01126108408370008 -48476,0.006200814668818833 -48477,0.16865770309421535 -48478,0.43959320334801977 -48479,0.17640728566391273 -48480,0.6996872093793868 -48481,0.017165377679731142 -48482,0.31990283138435915 -48483,0.758940863650494 -48484,0.37208983114671423 -48485,0.12146501516649133 -48486,0.9734663781018521 -48487,0.15274262374197667 -48488,0.4797512873882527 -48489,0.39641121960858927 -48490,0.9336036792036474 -48491,0.8627516165708361 -48492,0.16063127787199305 -48493,0.05157960359405578 -48494,0.4800426175003788 -48495,0.2099184603477834 -48496,0.8010858687260184 -48497,0.267019159684321 -48498,0.14510710901290402 -48499,0.6016153677692548 -48500,0.8742250074560519 -48501,0.018683249506552646 -48502,0.029639071975062437 -48503,0.1605563688500482 -48504,0.5976729515982906 -48505,0.1785509896870383 -48506,0.6987615565590675 -48507,0.8535078458108203 -48508,0.05005560204871062 -48509,0.16274305645582177 -48510,0.8166424231535222 -48511,0.8549376095883625 -48512,0.4331487004309683 -48513,0.09688087484729213 -48514,0.30133344120770744 -48515,0.883964736461311 -48516,0.7617672048680467 -48517,0.7823963495473777 -48518,0.6890351709178392 -48519,0.44531135305560576 -48520,0.2832748413806532 -48521,0.002189980159058358 -48522,0.8128288758721703 -48523,0.9101550463270094 -48524,0.17791012287621666 -48525,0.9692723248125713 -48526,0.10585881039439238 -48527,0.031508741211757396 -48528,0.6492014661494532 -48529,0.11563939604157436 -48530,0.8521950880048591 -48531,0.7096671075257757 -48532,0.19273832663881452 -48533,0.72272898767569 -48534,0.9963851088635325 -48535,0.5528836055254783 -48536,0.4485819840493399 -48537,0.5852791929614716 -48538,0.4893124865488776 -48539,0.6892509071396774 -48540,0.6877842937633868 -48541,0.23535011977212617 -48542,0.01139467690076068 -48543,0.8237462740123329 -48544,0.6556023414924923 -48545,0.12563320576355197 -48546,0.8437729749993944 -48547,0.7522782482567089 -48548,0.9644748354263515 -48549,0.8666638918278752 -48550,0.057068239976462376 -48551,0.8903671964634345 -48552,0.29289959204329874 -48553,0.19798653847347902 -48554,0.28008007276311675 -48555,0.7097811890188307 -48556,0.355232375856004 -48557,0.6451538390573878 -48558,0.47495557394041665 -48559,0.5894478016760246 -48560,0.8328313920190378 -48561,0.4895187065474762 -48562,0.5127523734933412 -48563,0.01552078837870774 -48564,0.18878674860491396 -48565,0.3834254180034278 -48566,0.7562871538038674 -48567,0.4456298553152598 -48568,0.325352545213481 -48569,0.3521561028098734 -48570,0.8416473559117342 -48571,0.9993838360171111 -48572,0.14991193937936143 -48573,0.6032536080321728 -48574,0.31755641234585563 -48575,0.11083440106362519 -48576,0.35721988388252945 -48577,0.343336994376658 -48578,0.48846674337255 -48579,0.9654431183875755 -48580,0.18450042041737702 -48581,0.42575651951109783 -48582,0.04089585742599655 -48583,0.755915121573236 -48584,0.43993939503111723 -48585,0.07013893675768268 -48586,0.8418270498728413 -48587,0.6984649878154325 -48588,0.6539874539067193 -48589,0.5589967371327923 -48590,0.7299663105442856 -48591,0.10095838123654344 -48592,0.4460607884823332 -48593,0.06917724478421017 -48594,0.46535839679221314 -48595,0.8516765967949569 -48596,0.7496724111582603 -48597,0.48769616539202476 -48598,0.9036349586437306 -48599,0.20090586857845472 -48600,0.22150594493921882 -48601,0.6787490120184425 -48602,0.604791424295319 -48603,0.36993607767009906 -48604,0.15957419770680126 -48605,0.12074825900972119 -48606,0.854608791414199 -48607,0.4656719857833813 -48608,0.7688334257989471 -48609,0.8516426287620865 -48610,0.3540344841861326 -48611,0.5529314174091243 -48612,0.23369234124986704 -48613,0.765629224612005 -48614,0.4395255807718922 -48615,0.10710675403785253 -48616,0.44266342232439637 -48617,0.7801338200655428 -48618,0.11284504279096852 -48619,0.3663082267836172 -48620,0.2923162052119487 -48621,0.20292780455150128 -48622,0.16434191685600852 -48623,0.35293581264530505 -48624,0.7137248897472375 -48625,0.8375680108726137 -48626,0.4547487505635839 -48627,0.6646681706301951 -48628,0.1786088394186951 -48629,0.7847003086091261 -48630,0.484821847801022 -48631,0.891356267290666 -48632,0.42798569257199726 -48633,0.4787631732083353 -48634,0.7875124718213772 -48635,0.8614438057913999 -48636,0.928847250609956 -48637,0.9685601151916998 -48638,0.8492213094648441 -48639,0.5249585656901176 -48640,0.11085789358440379 -48641,0.43523642418331854 -48642,0.3588452883762262 -48643,0.8668951398440248 -48644,0.7167118369838686 -48645,0.3211898124633942 -48646,0.21368591084002897 -48647,0.28446934915184496 -48648,0.9609247753422141 -48649,0.7174449814497244 -48650,0.699239202559125 -48651,0.10486578313765638 -48652,0.6672592577860152 -48653,0.7565457246645103 -48654,0.39019522618311697 -48655,0.704739794063809 -48656,0.6084686101907648 -48657,0.09606672004288985 -48658,0.9316250339358267 -48659,0.8713406895584463 -48660,0.7806806409136046 -48661,0.8122621234824584 -48662,0.13907234621248654 -48663,0.3901376771203281 -48664,0.08180864620824668 -48665,0.45819163132358043 -48666,0.016485999965735854 -48667,0.9722759031207363 -48668,0.8796738297550069 -48669,0.6284875100092517 -48670,0.08715391650694349 -48671,0.25211271692049464 -48672,0.9004965068969578 -48673,0.8721512249290133 -48674,0.2889722911718754 -48675,0.7583028586159418 -48676,0.8738681689226143 -48677,0.10524269294106103 -48678,0.17100518958310906 -48679,0.5340128226770587 -48680,0.38418740511174276 -48681,0.7320118181577733 -48682,0.4011996889550644 -48683,0.13228927274191604 -48684,0.602893288621278 -48685,0.5460045130846657 -48686,0.7871745778621044 -48687,0.022814390479598656 -48688,0.49784805202641036 -48689,0.8049443035072487 -48690,0.47922405024371406 -48691,0.25746379527564855 -48692,0.08607832582631714 -48693,0.6939981374709316 -48694,0.4670789220064422 -48695,0.3665296595332612 -48696,0.45915273856188255 -48697,0.7544935782507268 -48698,0.9949007112430446 -48699,0.653490403788296 -48700,0.8788382316160953 -48701,0.30191565958567845 -48702,0.954573416233065 -48703,0.7865449617141019 -48704,0.8094498754993897 -48705,0.2906301396191947 -48706,0.7444381115433207 -48707,0.421308980819437 -48708,0.9483275666135184 -48709,0.33328752935240025 -48710,0.5469149164857587 -48711,0.896891134264822 -48712,0.9298645457801737 -48713,0.15921919926864714 -48714,0.10275452946223518 -48715,0.11083603561708211 -48716,0.20028240221732152 -48717,0.8571759221185711 -48718,0.6978681934027879 -48719,0.5416162515119947 -48720,0.7625679571718452 -48721,0.8697830322144897 -48722,0.9261413920568604 -48723,0.6866540689977032 -48724,0.21005805263852195 -48725,0.32229467929044997 -48726,0.40161450858594894 -48727,0.16360380620097947 -48728,0.16750769021282974 -48729,0.015801417865464296 -48730,0.5080983979007517 -48731,0.34713869790666807 -48732,0.19681911918088613 -48733,0.847832503657238 -48734,0.29722008884121065 -48735,0.7469570134268836 -48736,0.8433702997999174 -48737,0.729278613079233 -48738,0.050423424957346086 -48739,0.9300428208932039 -48740,0.8752555841943915 -48741,0.7330234340306245 -48742,0.8999303323535333 -48743,0.5285210898164568 -48744,0.6721018786737464 -48745,0.4933957274439681 -48746,0.166439172486207 -48747,0.26186373750160385 -48748,0.513085810155198 -48749,0.17734559478110035 -48750,0.4915971504996163 -48751,0.84737371753908 -48752,0.5396158965559191 -48753,0.12270104294360018 -48754,0.7144297198062087 -48755,0.6476914199168283 -48756,0.9444203361591351 -48757,0.8585928891144434 -48758,0.2653104513507418 -48759,0.40879784087250615 -48760,0.8050743054032186 -48761,0.8873653053443499 -48762,0.29725082513705536 -48763,0.44340653485843484 -48764,0.728979260975448 -48765,0.35501449135416774 -48766,0.27293428884297166 -48767,0.7006277878542209 -48768,0.6656608740924126 -48769,0.16316170711757694 -48770,0.9927422073675253 -48771,0.29449955999742816 -48772,0.7146074020286903 -48773,0.04060289767713732 -48774,0.5585537741877199 -48775,0.32189062748467046 -48776,0.8423763014446172 -48777,0.8488780897298778 -48778,0.6920270079334605 -48779,0.3880197629792912 -48780,0.5290214930494733 -48781,0.11378312640851307 -48782,0.9338344695099057 -48783,0.3365793977547682 -48784,0.10743984275881535 -48785,0.4760094858307685 -48786,0.2733456218311402 -48787,0.5022284419140843 -48788,0.5431941202016773 -48789,0.9536692623798187 -48790,0.896351521841058 -48791,0.24996161819902063 -48792,0.6279176436550276 -48793,0.6926630141275322 -48794,0.5058922754584423 -48795,0.309539743894945 -48796,0.4603608555713482 -48797,0.2320829606161552 -48798,0.643924873871333 -48799,0.1508260272539832 -48800,0.08853131286141902 -48801,0.523398931218339 -48802,0.458603689808574 -48803,0.460487519539727 -48804,0.8222590963176158 -48805,0.9959972164712253 -48806,0.2814976152343036 -48807,0.9090789592232522 -48808,0.5321068677697147 -48809,0.48021233207654745 -48810,0.8090848760248022 -48811,0.3190008418393656 -48812,0.24440534173785444 -48813,0.2987983421004897 -48814,0.12124215801686311 -48815,0.541662761934332 -48816,0.8484677272375222 -48817,0.5217910124003252 -48818,0.2686396978438804 -48819,0.08119170630660455 -48820,0.8918350384406594 -48821,0.09626922532504334 -48822,0.8810113734909698 -48823,0.6250005989256651 -48824,0.49765478177705813 -48825,0.966887993151631 -48826,0.6273947787379747 -48827,0.933193979590394 -48828,0.2431487740920607 -48829,0.740586690929217 -48830,0.829376368051244 -48831,0.1696413008250467 -48832,0.5175126880683277 -48833,0.3683017813644077 -48834,0.2555781795040961 -48835,0.3657679671305514 -48836,0.06972672836378635 -48837,0.2620664675352221 -48838,0.7954160484834625 -48839,0.0008510674217622194 -48840,0.9370261182075015 -48841,0.09316334231791445 -48842,0.27557032350848965 -48843,0.4964001867301666 -48844,0.5910947516744562 -48845,0.6748769283016449 -48846,0.4511630152003834 -48847,0.8252647535682291 -48848,0.7970175502745195 -48849,0.9602360295722181 -48850,0.8622488405229665 -48851,0.7654257500236484 -48852,0.04449280697129665 -48853,0.610682545907261 -48854,0.19604237929771695 -48855,0.0895914950844543 -48856,0.7375483335788681 -48857,0.7071307123603251 -48858,0.21101065665895669 -48859,0.9178615121514582 -48860,0.9855641442860994 -48861,0.4283447251288195 -48862,0.2680537888668456 -48863,0.2621946655175851 -48864,0.1554719379200623 -48865,0.8110818285683933 -48866,0.02252798060237049 -48867,0.4038161604413104 -48868,0.6951583207532347 -48869,0.5684611610035041 -48870,0.5440146054707529 -48871,0.5620873713309901 -48872,0.22813709781173597 -48873,0.40106541792862727 -48874,0.5612692801761954 -48875,0.2615249188059413 -48876,0.5949783605303297 -48877,0.18266087010496734 -48878,0.9303028484847001 -48879,0.3156028906859917 -48880,0.03841474138160317 -48881,0.9214199055113379 -48882,0.1539216561866904 -48883,0.9404671573195644 -48884,0.5810794374584489 -48885,0.5798156935184297 -48886,0.6235423622959229 -48887,0.38483735834683996 -48888,0.6293148784367015 -48889,0.6819802526555938 -48890,0.9359165190707474 -48891,0.9723048687528882 -48892,0.013516559417284912 -48893,0.1425195830396666 -48894,0.74397171751619 -48895,0.797214825046598 -48896,0.7357139602363066 -48897,0.5899080528764103 -48898,0.3094321949905686 -48899,0.22944347841807633 -48900,0.46946089491347043 -48901,0.8522869566014188 -48902,0.11532385766596454 -48903,0.44515789264565053 -48904,0.18623140224316503 -48905,0.38561933207226384 -48906,0.4310600041127475 -48907,0.4920866153359772 -48908,0.5220270899324186 -48909,0.034339625403363216 -48910,0.42336436033212543 -48911,0.7075999612613477 -48912,0.30801030982070765 -48913,0.5424943182159793 -48914,0.28103945572529077 -48915,0.7443155608502676 -48916,0.9325202368127219 -48917,0.1215785236424104 -48918,0.5290660111657374 -48919,0.8535520206931628 -48920,0.528718583453946 -48921,0.04789767903305531 -48922,0.7144884354829034 -48923,0.08333279310559971 -48924,0.3259727782015772 -48925,0.08679820050311737 -48926,0.9700041897077613 -48927,0.18977299057872832 -48928,0.9557704776631167 -48929,0.005077360604740844 -48930,0.7642928115803518 -48931,0.06556996569348139 -48932,0.483578681588263 -48933,0.8156723829913536 -48934,0.5757726841178459 -48935,0.2127912778872736 -48936,0.3385768132191539 -48937,0.40291614328065295 -48938,0.4554692346733047 -48939,0.4468739623077187 -48940,0.26648677696177814 -48941,0.49016731860397067 -48942,0.4596672063302586 -48943,0.04526289623837243 -48944,0.8813689524412358 -48945,0.8524784585132844 -48946,0.0036083534887000335 -48947,0.5136000586516343 -48948,0.3453476823491769 -48949,0.5061460359453778 -48950,0.902462367103135 -48951,0.5189758379270117 -48952,0.09478856975432126 -48953,0.11117997375044486 -48954,0.20795215654732058 -48955,0.7453842929347452 -48956,0.052189305360144655 -48957,0.4390844902098642 -48958,0.31710322915735056 -48959,0.05976532141922597 -48960,0.24898882440692383 -48961,0.4719815531187279 -48962,0.34323104191303944 -48963,0.46345772359125237 -48964,0.7371126719026342 -48965,0.9760075838316552 -48966,0.5492702882322192 -48967,0.995917775371232 -48968,0.030613411605452834 -48969,0.3773835862728093 -48970,0.33034257600573247 -48971,0.06998422325073717 -48972,0.5567619477802915 -48973,0.7599961411763322 -48974,0.13467958061493313 -48975,0.27303186285149716 -48976,0.1587231884333481 -48977,0.7200708279667367 -48978,0.2434166294550032 -48979,0.4372221969368687 -48980,0.9143428577824789 -48981,0.7221981219281953 -48982,0.6715802168255065 -48983,0.4231675466589201 -48984,0.7913389913006184 -48985,0.49619380134093405 -48986,0.269051754475612 -48987,0.9381727193507872 -48988,0.3628749312310159 -48989,0.014750791938738073 -48990,0.4583428311048301 -48991,0.12696764798465987 -48992,0.9067253224439039 -48993,0.47721248536514804 -48994,0.0007314727422145229 -48995,0.29854428924145915 -48996,0.9751412617124003 -48997,0.9880150377647267 -48998,0.2314638356230604 -48999,0.618825965557029 -49000,0.32860239126857826 -49001,0.8943487946005922 -49002,0.4316023686219964 -49003,0.7451523210555527 -49004,0.8735999623933296 -49005,0.13904883411830926 -49006,0.7620371617219476 -49007,0.41864697062147405 -49008,0.852629386104827 -49009,0.7731872523875831 -49010,0.1264566901555022 -49011,0.9704439938683388 -49012,0.9737536165639894 -49013,0.7819159464969908 -49014,0.40819579730202404 -49015,0.14429051167505935 -49016,0.2623044553672136 -49017,0.703329510687002 -49018,0.5074601380372428 -49019,0.0702793919898691 -49020,0.3332726053472478 -49021,0.48523763663243114 -49022,0.517916270521082 -49023,0.4987075136350677 -49024,0.009796693273759982 -49025,0.8490733086571455 -49026,0.36450500143544684 -49027,0.21252124382223236 -49028,0.735365243508204 -49029,0.5730704730913976 -49030,0.8268441124821191 -49031,0.021255948272874248 -49032,0.97460481483816 -49033,0.9876054500558007 -49034,0.5055792334496119 -49035,0.3062053335542695 -49036,0.17118780229965957 -49037,0.6577585852785219 -49038,0.9845240018982266 -49039,0.007135317246164452 -49040,0.6142230841142905 -49041,0.3756758773041756 -49042,0.13522947282960385 -49043,0.2966811783234363 -49044,0.14568333617188023 -49045,0.8283604734412391 -49046,0.6412284143092947 -49047,0.04349520118188488 -49048,0.12039995634274381 -49049,0.48480151259312154 -49050,0.17758452017995108 -49051,0.030252883250598273 -49052,0.5301026988252233 -49053,0.028278276279210868 -49054,0.28148619725101265 -49055,0.026162191748448027 -49056,0.10280359320113908 -49057,0.7644311726195621 -49058,0.24586858731265426 -49059,0.5199827563797927 -49060,0.6018025933133342 -49061,0.1841008699825779 -49062,0.9978046764246928 -49063,0.836354504343581 -49064,0.8238686735683249 -49065,0.8248455482777943 -49066,0.9548619527380969 -49067,0.6181819110664831 -49068,0.40965270674414134 -49069,0.7134798776944284 -49070,0.5424164043399622 -49071,0.9527428163908251 -49072,0.36350897637515345 -49073,0.019092242018123207 -49074,0.03922386026547664 -49075,0.3875394602097043 -49076,0.3633863669340506 -49077,0.1881522455121556 -49078,0.5317323244199853 -49079,0.6860235441481921 -49080,0.3617220313729631 -49081,0.5379025832800217 -49082,0.21570714415088454 -49083,0.6786788742174986 -49084,0.3699738066261843 -49085,0.7941743177889776 -49086,0.5913862745928351 -49087,0.24706232005366668 -49088,0.15772698184706313 -49089,0.9551840643179567 -49090,0.7125746664543731 -49091,0.31900892588637997 -49092,0.5427070415473666 -49093,0.7464452286138512 -49094,0.28366960437028466 -49095,0.003831135846938727 -49096,0.9565624379804334 -49097,0.37344999913287424 -49098,0.6142919294026027 -49099,0.781891585407568 -49100,0.05443108233362948 -49101,0.2410223274368728 -49102,0.4106295599943487 -49103,0.7480615165321657 -49104,0.5717246692550243 -49105,0.43701911254785397 -49106,0.5122878431412393 -49107,0.3975914584414074 -49108,0.4815768081883849 -49109,0.10946106297244751 -49110,0.37633206867875846 -49111,0.38279105910608513 -49112,0.7717341533756912 -49113,0.2530885558368041 -49114,0.5201263741121437 -49115,0.5419278870136092 -49116,0.9950180226119583 -49117,0.2818308732452367 -49118,0.7201486116766564 -49119,0.3769216463163386 -49120,0.8201991441955182 -49121,0.11053073003301572 -49122,0.04082690470130801 -49123,0.5380287357152179 -49124,0.9507703397271888 -49125,0.3179314583459336 -49126,0.8732357514779813 -49127,0.24715487089926935 -49128,0.568517566229767 -49129,0.01483958909956451 -49130,0.19077720452249058 -49131,0.1444825829181171 -49132,0.8471183279274141 -49133,0.4973944986469714 -49134,0.9555895039737218 -49135,0.872229937469435 -49136,0.26211125783791 -49137,0.08436731961447086 -49138,0.6976417188286133 -49139,0.6249267522346638 -49140,0.36492561117822964 -49141,0.2933137685535594 -49142,0.7499507117591625 -49143,0.7860646125303098 -49144,0.15103012589008535 -49145,0.22527113041547808 -49146,0.3209298728595019 -49147,0.3298272404539936 -49148,0.8647155246874809 -49149,0.29092726952116343 -49150,0.9288949309157166 -49151,0.4144439269079577 -49152,0.03622201150168114 -49153,0.2170229480411947 -49154,0.07441037904407255 -49155,0.7311367269837583 -49156,0.25320067574827887 -49157,0.4870263813087713 -49158,0.495507356649166 -49159,0.6529194474958503 -49160,0.23378344123994588 -49161,0.16895368072036254 -49162,0.05688873964196273 -49163,0.16553930137165962 -49164,0.04987661061067705 -49165,0.11233638384516043 -49166,0.6514462602573813 -49167,0.9843009673339369 -49168,0.8672771689578775 -49169,0.8877153783848664 -49170,0.8523252139544317 -49171,0.13279273024322924 -49172,0.9059361999483567 -49173,0.0771629297991554 -49174,0.5240021939650293 -49175,0.6089793868658328 -49176,0.6348625634481115 -49177,0.7283943449626309 -49178,0.5584720190337713 -49179,0.9510779960762019 -49180,0.1298291781158527 -49181,0.1737086793251883 -49182,0.9410714811991865 -49183,0.9531539507241903 -49184,0.2683182407157577 -49185,0.30947261282012095 -49186,0.3551911279625507 -49187,0.27974312323488737 -49188,0.6005996586898279 -49189,0.7640283051321122 -49190,0.9166553068494513 -49191,0.9373420819354543 -49192,0.8451591559044034 -49193,0.6426834269848359 -49194,0.6996047918052929 -49195,0.9057973988660125 -49196,0.04941742366581048 -49197,0.8688772946821764 -49198,0.3315890894029875 -49199,0.6262359739599708 -49200,0.434476316138237 -49201,0.3400550322158903 -49202,0.47423748984016056 -49203,0.6732815572414151 -49204,0.5957491232222274 -49205,0.8026307906430923 -49206,0.562870398499065 -49207,0.16415091601971177 -49208,0.5544215473114793 -49209,0.4017705905208182 -49210,0.9917549837335702 -49211,0.689760003021031 -49212,0.9107202968759072 -49213,0.4018416651820066 -49214,0.3781190462511158 -49215,0.8198999918992306 -49216,0.6117047250066888 -49217,0.2662435768808977 -49218,0.12604792330331327 -49219,0.4190247394537351 -49220,0.7205171733800451 -49221,0.9677160860608888 -49222,0.23387211091371318 -49223,0.6185135926271482 -49224,0.6993343828831672 -49225,0.1045276035638747 -49226,0.926012336312919 -49227,0.8984950582864973 -49228,0.9781699381540865 -49229,0.6520231357336925 -49230,0.050627561554933864 -49231,0.3791670415664987 -49232,0.6128581213394523 -49233,0.8659137278344529 -49234,0.02084503175099095 -49235,0.3178951852435755 -49236,0.050593365487307196 -49237,0.6052817006110364 -49238,0.4321359984101467 -49239,0.5530302923044815 -49240,0.7674610080614063 -49241,0.625716851012657 -49242,0.3681736346405454 -49243,0.9739844216259471 -49244,0.21581667801710502 -49245,0.7383493271705328 -49246,0.896857555934808 -49247,0.6875471008897241 -49248,0.7800184261508927 -49249,0.37045751603826005 -49250,0.39020150972542356 -49251,0.6192129389760411 -49252,0.24245019818392333 -49253,0.6169173746925667 -49254,0.4757595632826118 -49255,0.016758993498668162 -49256,0.4866219617335793 -49257,0.8804450252661015 -49258,0.6846356340066261 -49259,0.9516123816288049 -49260,0.17727620209273542 -49261,0.5026399508531911 -49262,0.1428236028607518 -49263,0.7809300701468536 -49264,0.38673025960277496 -49265,0.19426709179419088 -49266,0.12064177791432373 -49267,0.9127789798916015 -49268,0.3208316383936033 -49269,0.33905270702887425 -49270,0.9586456161523906 -49271,0.6259489172517229 -49272,0.7664945429975544 -49273,0.6705093900944825 -49274,0.40132941755991713 -49275,0.522320437803696 -49276,0.34610423403919965 -49277,0.410649735150484 -49278,0.7505210537317581 -49279,0.2048729852660779 -49280,0.8847456816442287 -49281,0.5635627536306357 -49282,0.7243226011020822 -49283,0.607831740057668 -49284,0.3639066401814568 -49285,0.25370339427016597 -49286,0.15906503606763434 -49287,0.12408180126332569 -49288,0.19878386038452445 -49289,0.4741097667137165 -49290,0.11649601657076603 -49291,0.16653254059743672 -49292,0.5022236077721067 -49293,0.4422622998059652 -49294,0.6527670848728792 -49295,0.5769348024770031 -49296,0.1475775997214216 -49297,0.6702556366719596 -49298,0.5099977307386906 -49299,0.3726823048061161 -49300,0.021120742723947372 -49301,0.4198985403765402 -49302,0.19605755242997558 -49303,0.7017951529367913 -49304,0.10412872859897315 -49305,0.6561780626503034 -49306,0.29161819753712537 -49307,0.17172038982591886 -49308,0.5471916993704767 -49309,0.8230423159114765 -49310,0.7484047020141672 -49311,0.38503167111553793 -49312,0.7999262657353353 -49313,0.6221850578918763 -49314,0.8084765754975713 -49315,0.22613145399434031 -49316,0.7093562528680929 -49317,0.8649721516784832 -49318,0.19784508698330372 -49319,0.25217013451457915 -49320,0.7870418078220063 -49321,0.33915524593948787 -49322,0.8951177882276914 -49323,0.9427283970726948 -49324,0.16541912969180184 -49325,0.44160822531437416 -49326,0.113448589572961 -49327,0.6647456629955826 -49328,0.5767919244952514 -49329,0.8711654867838601 -49330,0.47737314116564367 -49331,0.5444164412679765 -49332,0.8430187840590315 -49333,0.8500847833905514 -49334,0.5429964779101063 -49335,0.6762276257919966 -49336,0.468339744832477 -49337,0.182212829996794 -49338,0.6597573751671446 -49339,0.40865853513179573 -49340,0.5168033715831153 -49341,0.5232628115134684 -49342,0.15257564124150735 -49343,0.7507044205317185 -49344,0.4377863152402577 -49345,0.5224279837605726 -49346,0.8635900515486316 -49347,0.522690835809339 -49348,0.6826648734302605 -49349,0.605584850985864 -49350,0.3067296008625413 -49351,0.7959459024214857 -49352,0.6756887846742192 -49353,0.5371410503898421 -49354,0.8574702731833249 -49355,0.8767198031970082 -49356,0.30757837400519383 -49357,0.36107850810778086 -49358,0.5609783505530264 -49359,0.5594204268691807 -49360,0.7600785454354834 -49361,0.1328362945763032 -49362,0.9390709451481322 -49363,0.8291839950312914 -49364,0.22649858683193347 -49365,0.9296090764473061 -49366,0.9381369874123006 -49367,0.9509095464019527 -49368,0.17649574784824007 -49369,0.5311718677943019 -49370,0.3586895009729103 -49371,0.5055226687134641 -49372,0.42067977274305335 -49373,0.6089946373354552 -49374,0.6004734316554738 -49375,0.6625471015914126 -49376,0.022475415694784173 -49377,0.9086711010761515 -49378,0.8478061505373985 -49379,0.9799578290841808 -49380,0.24505472020939545 -49381,0.5039655261964067 -49382,0.23512064454921677 -49383,0.20385789140369015 -49384,0.7214423881127047 -49385,0.7569431628652549 -49386,0.4992341588858592 -49387,0.6335990468764773 -49388,0.5183285776415265 -49389,0.5766781153112439 -49390,0.59841729778556 -49391,0.4256644662004381 -49392,0.5670395768147324 -49393,0.768522993950789 -49394,0.6179959141721614 -49395,0.911943356103482 -49396,0.8432725518215889 -49397,0.3103795562254138 -49398,0.22370412223882286 -49399,0.1430813050837576 -49400,0.856709519485823 -49401,0.9481619163848235 -49402,0.055945310073903465 -49403,0.9775044223418529 -49404,0.7210000855528925 -49405,0.8327663028526537 -49406,0.06421592176649726 -49407,0.5637291530543284 -49408,0.8788595277674435 -49409,0.28502397695055937 -49410,0.4106158185850146 -49411,0.18090262973075744 -49412,0.8483481002379915 -49413,0.9241445911997517 -49414,0.8292929741536428 -49415,0.7424842361614855 -49416,0.061824381692906494 -49417,0.6124800342800898 -49418,0.6141556849916995 -49419,0.44627733173067086 -49420,0.8609660209319908 -49421,0.5954974538313509 -49422,0.13599843189131333 -49423,0.3663667439973527 -49424,0.633150162900842 -49425,0.49914737795131014 -49426,0.44550735539312103 -49427,0.8237437231136994 -49428,0.3754041806239029 -49429,0.0473702970827683 -49430,0.1297875430494302 -49431,0.12740261822584198 -49432,0.6487234360733048 -49433,0.3498444166098983 -49434,0.183285523507713 -49435,0.6486626228594324 -49436,0.2912135697234287 -49437,0.03928695771930191 -49438,0.2517318590354757 -49439,0.09725711513021451 -49440,0.3226288110146799 -49441,0.07228249485240257 -49442,0.8694729067864048 -49443,0.6622605278158913 -49444,0.9354590788178454 -49445,0.7800928313189168 -49446,0.5974244144047621 -49447,0.5440264112649602 -49448,0.7314417614290379 -49449,0.3205901215585416 -49450,0.6133469237869263 -49451,0.19169761183354184 -49452,0.394589374555124 -49453,0.9718075372050702 -49454,0.06380494020097638 -49455,0.2960909232297092 -49456,0.6785199236817993 -49457,0.26870913739895985 -49458,0.11636190695678073 -49459,0.9637638032453435 -49460,0.41797056531158605 -49461,0.09683641446720603 -49462,0.44444613567108426 -49463,0.48048023760839453 -49464,0.04475306798585987 -49465,0.7064687543950084 -49466,0.47271496846188976 -49467,0.48986997040752267 -49468,0.1647286232882592 -49469,0.5414292855266918 -49470,0.07196097560802506 -49471,0.09120966852123602 -49472,0.35685890448139024 -49473,0.10215033629425929 -49474,0.5532149911183305 -49475,0.11849263591626646 -49476,0.5006418867797323 -49477,0.5134917115147019 -49478,0.8895057504419026 -49479,0.3138404353883537 -49480,0.029309669650082082 -49481,0.5389017874390679 -49482,0.9539163668064791 -49483,0.7243237645313304 -49484,0.03778148799038439 -49485,0.13471600531627392 -49486,0.8959890622066833 -49487,0.5016522701923162 -49488,0.8154539304557407 -49489,0.2674606975454299 -49490,0.7344300255214937 -49491,0.5427149822588648 -49492,0.7142325205050158 -49493,0.8527254810467977 -49494,0.43030068286349954 -49495,0.05325887067030022 -49496,0.42780129835924774 -49497,0.9054307299986988 -49498,0.012512977863949448 -49499,0.9717866685680601 -49500,0.02442668945067139 -49501,0.9882427432441742 -49502,0.5451210912279444 -49503,0.5646148264831103 -49504,0.08173764398730421 -49505,0.4147033980260366 -49506,0.137864102255159 -49507,0.04553821756304732 -49508,0.8248215474018072 -49509,0.11772605926367075 -49510,0.8778557086075518 -49511,0.5024527460503186 -49512,0.01817684032862288 -49513,0.8918770415300188 -49514,0.3936447849936511 -49515,0.7511401085494639 -49516,0.17793725320720322 -49517,0.1713908005123963 -49518,0.5224000488569259 -49519,0.26966776441116636 -49520,0.7480999853136439 -49521,0.4456088368975517 -49522,0.4812724679381609 -49523,0.2364782923007065 -49524,0.9348993353948392 -49525,0.24345355111037448 -49526,0.44598330267767317 -49527,0.32713754334602696 -49528,0.06970627798230211 -49529,0.13981938990801557 -49530,0.30372952488427396 -49531,0.4801650143626305 -49532,0.9103639215216889 -49533,0.2821697718413868 -49534,0.4884990911381829 -49535,0.14024085248562623 -49536,0.20345578171044454 -49537,0.189198975360937 -49538,0.03417017558726432 -49539,0.9753917203435645 -49540,0.6163136152752012 -49541,0.37941550077806674 -49542,0.14644048251496455 -49543,0.14343987855818474 -49544,0.7669412615579094 -49545,0.38755103811448477 -49546,0.6411608005085687 -49547,0.46791482786136207 -49548,0.29999780588919944 -49549,0.8411471523306159 -49550,0.9926492748926833 -49551,0.1842866173187253 -49552,0.9606086856055908 -49553,0.6143793014425867 -49554,0.5126777561081145 -49555,0.17016110038868992 -49556,0.1197655254449348 -49557,0.34551388012522366 -49558,0.14156095823060877 -49559,0.12890041314355372 -49560,0.5943583740875723 -49561,0.34939678438824073 -49562,0.527150602618543 -49563,0.43910401261985577 -49564,0.09033859041658521 -49565,0.2338489199705347 -49566,0.7454861845522467 -49567,0.8438740030094389 -49568,0.6729970633420078 -49569,0.6460166055913544 -49570,0.09233898331498003 -49571,0.7030182551774184 -49572,0.6611506296302189 -49573,0.7976054972924234 -49574,0.10141894645684513 -49575,0.7480540083274876 -49576,0.8463447814912441 -49577,0.4391716524089673 -49578,0.7400611575619829 -49579,0.7563626062798581 -49580,0.3892950235899124 -49581,0.182700798893072 -49582,0.2314478597493056 -49583,0.29122174283029545 -49584,0.7831719334424015 -49585,0.47243272837992123 -49586,0.3962757925825495 -49587,0.38823662793902025 -49588,0.21472107146233332 -49589,0.02119441063015448 -49590,0.8163981333622078 -49591,0.13933576818982762 -49592,0.6207090576576509 -49593,0.9391422947910835 -49594,0.5595678093662904 -49595,0.1528129026704791 -49596,0.12312775052974512 -49597,0.041080774344648296 -49598,0.833610475524281 -49599,0.518319445659856 -49600,0.41296458211482723 -49601,0.9956634234805989 -49602,0.0927495142800141 -49603,0.7132230941301846 -49604,0.3241644019645624 -49605,0.17505271675663236 -49606,0.4805764470203573 -49607,0.5236631082046002 -49608,0.1483836924551335 -49609,0.27266515044672934 -49610,0.46240672791458826 -49611,0.5905023954703459 -49612,0.16683768326675574 -49613,0.016760523343253952 -49614,0.0758378914429364 -49615,0.16777513838006053 -49616,0.5135972896412262 -49617,0.5497362562841865 -49618,0.6372827972391807 -49619,0.08638395211831329 -49620,0.2662571868932143 -49621,0.8493194538683466 -49622,0.42946959798250617 -49623,0.12556503594816049 -49624,0.3163339361877353 -49625,0.1669271226988449 -49626,0.003204288385648568 -49627,0.1664106516361764 -49628,0.3065062064560339 -49629,0.496457941943379 -49630,0.49916160403001353 -49631,0.0822751690647292 -49632,0.019366459550168358 -49633,0.865651505280877 -49634,0.4188575470468062 -49635,0.05612562204872529 -49636,0.9906774921666572 -49637,0.5091908611556227 -49638,0.11224948754262665 -49639,0.8397616393360038 -49640,0.6172980010252366 -49641,0.1520777159161354 -49642,0.9861497338548921 -49643,0.766323143619538 -49644,0.842827281914255 -49645,0.30805929166171997 -49646,0.7770360321186774 -49647,0.30625863515969165 -49648,0.3198746477766705 -49649,0.4942755245907492 -49650,0.5960495623146153 -49651,0.8631109593102576 -49652,0.520878263390135 -49653,0.12714878614433445 -49654,0.31002699047956495 -49655,0.5641209799494036 -49656,0.8140851385345174 -49657,0.013129967139207332 -49658,0.7984620783975921 -49659,0.6377349936635954 -49660,0.7139889442548975 -49661,0.2869865155587421 -49662,0.6189139468934878 -49663,0.10514505668799623 -49664,0.40492209226519804 -49665,0.05163918243358001 -49666,0.7777438364498765 -49667,0.857262951640996 -49668,0.7544396890234709 -49669,0.4589778120715139 -49670,0.410368147934293 -49671,0.8548779738140079 -49672,0.7233965378748232 -49673,0.565725208336808 -49674,0.49905465132749527 -49675,0.30506276081766703 -49676,0.3920774911733713 -49677,0.13702593041560418 -49678,0.22125169659634947 -49679,0.857837270956976 -49680,0.43921207264672835 -49681,0.7622819370405403 -49682,0.654062071536513 -49683,0.2977243690321474 -49684,0.07157548212323472 -49685,0.8898288021138465 -49686,0.7611142558359809 -49687,0.26073082239115297 -49688,0.25964496170997353 -49689,0.19770501904609694 -49690,0.5978528241761377 -49691,0.13374893408089517 -49692,0.7268388172182053 -49693,0.2127937360318629 -49694,0.14270735670735102 -49695,0.5572966908937491 -49696,0.8311774014025786 -49697,0.526062262072268 -49698,0.3960182837230901 -49699,0.08409829937846613 -49700,0.6833996150834665 -49701,0.7395403510407949 -49702,0.5829984712179649 -49703,0.8369771908122506 -49704,0.8767900710914759 -49705,0.43147987174200475 -49706,0.577222334057727 -49707,0.31400952839517293 -49708,0.5030125700329336 -49709,0.43268017208412357 -49710,0.5664842642231507 -49711,0.847568964769039 -49712,0.6063000635518475 -49713,0.9295017438858637 -49714,0.3025641679435974 -49715,0.28040400996475257 -49716,0.22148281668643643 -49717,0.8373820903452428 -49718,0.9230347946498005 -49719,0.5650777998891493 -49720,0.5736370889171323 -49721,0.8284877403186257 -49722,0.4946488714829044 -49723,0.11097190053036043 -49724,0.3615359855041943 -49725,0.32281148316424946 -49726,0.8398460339052958 -49727,0.33066491460442315 -49728,0.1007741542606484 -49729,0.24327444220418515 -49730,0.17198229802356846 -49731,0.004217672954099139 -49732,0.17093541224497277 -49733,0.9583505775672727 -49734,0.601340884232055 -49735,0.08856192559439591 -49736,0.09594111992814991 -49737,0.10945960662337983 -49738,0.34453841243828975 -49739,0.6434842344187077 -49740,0.6384753462114331 -49741,0.3600812624768567 -49742,0.8925027070321485 -49743,0.28614376104920924 -49744,0.7586724812521015 -49745,0.8255950622813645 -49746,0.8094422837018043 -49747,0.014853595620743731 -49748,0.9506096889296144 -49749,0.8045324261203404 -49750,0.3709404655872006 -49751,0.5064277846743358 -49752,0.6964742367140825 -49753,0.8201059436459364 -49754,0.15434192363830523 -49755,0.38621029459151557 -49756,0.8991711631936204 -49757,0.9916109100161342 -49758,0.3880669106214778 -49759,0.7138439708647808 -49760,0.5996051733285093 -49761,0.025957203776728832 -49762,0.534663223226706 -49763,0.08816592623549158 -49764,0.014185018828344553 -49765,0.2546931117985972 -49766,0.7691863542834111 -49767,0.7259793712615218 -49768,0.0019153218745575629 -49769,0.624236895674759 -49770,0.3348390645115742 -49771,0.5322986790360862 -49772,0.4362616819824794 -49773,0.35747858685120926 -49774,0.8886008436697169 -49775,0.148294298217024 -49776,0.6716857546826022 -49777,0.08748023138064176 -49778,0.9212145301010682 -49779,0.8170678430899885 -49780,0.11745025221922323 -49781,0.9640730781485646 -49782,0.3664743630149865 -49783,0.9261257543164833 -49784,0.8623593974411023 -49785,0.9826048011742721 -49786,0.9517227063574997 -49787,0.05860231494664547 -49788,0.18587558285434536 -49789,0.4024151579889862 -49790,0.02329818781810622 -49791,0.32777956882907355 -49792,0.8172636728781072 -49793,0.8395084799689427 -49794,0.3937061286008321 -49795,0.7565859562080806 -49796,0.9354268323351724 -49797,0.6771388030251406 -49798,0.08970904085116682 -49799,0.27557766700684483 -49800,0.29616743319517824 -49801,0.6247778672219394 -49802,0.8597801748930183 -49803,0.282014924253856 -49804,0.898295993123706 -49805,0.004673361786351804 -49806,0.6423958147069682 -49807,0.5654915831728691 -49808,0.10697630468514907 -49809,0.214703577170555 -49810,0.34385815629920446 -49811,0.39017418889582667 -49812,0.681483238631911 -49813,0.15810615224575264 -49814,0.8997039075491253 -49815,0.1735251063558526 -49816,0.08002904067380268 -49817,0.6265486720229135 -49818,0.4116877017573287 -49819,0.6478725391008965 -49820,0.5994618966066455 -49821,0.18544341569017608 -49822,0.8567433068353383 -49823,0.14210350884731926 -49824,0.624100815996094 -49825,0.2678358353087217 -49826,0.9354974210445747 -49827,0.3893486255912756 -49828,0.17486513782382818 -49829,0.31279737183290335 -49830,0.3099452029892281 -49831,0.21286119314579832 -49832,0.6799149489587505 -49833,0.10537315521737856 -49834,0.44167536988242606 -49835,0.26925837385497875 -49836,0.731939305534919 -49837,0.8769529903396954 -49838,0.12808190039741396 -49839,0.48086077512294245 -49840,0.5375470369521234 -49841,0.9529469754580553 -49842,0.2368484420599246 -49843,0.30016372263833124 -49844,0.5242935749367774 -49845,0.0519457519451324 -49846,0.78865541816601 -49847,0.3212595854258026 -49848,0.7890842589725479 -49849,0.9446348720022315 -49850,0.21533060468055087 -49851,0.06461132859471197 -49852,0.8570435925167214 -49853,0.000305631954405694 -49854,0.6026474166795298 -49855,0.6804828627970285 -49856,0.8539709651036546 -49857,0.2781186484972945 -49858,0.9695342287893783 -49859,0.5198917935134804 -49860,0.49547331586165566 -49861,0.9447875976315091 -49862,0.5132835603396847 -49863,0.11411883596474459 -49864,0.5384934051147553 -49865,0.2750321263914528 -49866,0.8035471189310649 -49867,0.5865532775287479 -49868,0.28021353672801064 -49869,0.2966108630291793 -49870,0.7827771045516835 -49871,0.8433534888754952 -49872,0.3597510406135408 -49873,0.2563049762556098 -49874,0.6316559180829242 -49875,0.1647693728339258 -49876,0.06971491856060508 -49877,0.30228139406540266 -49878,0.19501838346246148 -49879,0.51765167386401 -49880,0.7290574065964385 -49881,0.9253430297649585 -49882,0.48509148219065745 -49883,0.3492689932440247 -49884,0.49094381646450225 -49885,0.5128030308714164 -49886,0.5905243113677824 -49887,0.2752104334784825 -49888,0.503765819495711 -49889,0.821908999576542 -49890,0.7529497280257356 -49891,0.3833450991338767 -49892,0.9368630526884888 -49893,0.8704721550283078 -49894,0.08137098899300932 -49895,0.3775388072148903 -49896,0.47881667000929906 -49897,0.2031917101487648 -49898,0.35914798744331233 -49899,0.4124904243402704 -49900,0.8593233640582171 -49901,0.5488928352353609 -49902,0.7812927598505824 -49903,0.0054109435354375846 -49904,0.6410169221909436 -49905,0.6770634144845248 -49906,0.6776246068306508 -49907,0.8856234112912209 -49908,0.9390577423507611 -49909,0.018274746561291244 -49910,0.9192036490106241 -49911,0.4296007224407572 -49912,0.8163723055392687 -49913,0.6783694248813152 -49914,0.14219107234492145 -49915,0.9028214807127114 -49916,0.8366699154010935 -49917,0.9998287122419874 -49918,0.1943201425527904 -49919,0.25571462676489665 -49920,0.33266147837717375 -49921,0.6359258562980691 -49922,0.941673031305651 -49923,0.5152754786512618 -49924,0.9461022404065007 -49925,0.681204538923368 -49926,0.22122967329794596 -49927,0.6939669768944975 -49928,0.09576995316447534 -49929,0.5668476218677228 -49930,0.9923761621211655 -49931,0.1857199388386458 -49932,0.7376017085693888 -49933,0.509649119194238 -49934,0.5552882668296185 -49935,0.17607698098456226 -49936,0.7209190922714065 -49937,0.37284050366967914 -49938,0.6075667753124773 -49939,0.3580527918127351 -49940,0.7440399083785728 -49941,0.8315354177573067 -49942,0.2905214513079921 -49943,0.8327112507173375 -49944,0.638568910840033 -49945,0.7570154611845984 -49946,0.5838180780299796 -49947,0.045265001437116203 -49948,0.27258226072166103 -49949,0.42482648648883303 -49950,0.700770228541044 -49951,0.5286755384983522 -49952,0.04080418030942945 -49953,0.028740240360129454 -49954,0.7283580288408367 -49955,0.6846114424069984 -49956,0.7324579956011845 -49957,0.8647846061511485 -49958,0.16488965970325542 -49959,0.4019875501630823 -49960,0.5275851556867215 -49961,0.22334868486155202 -49962,0.34831301361945244 -49963,0.3861017222729768 -49964,0.30199013280244025 -49965,0.036757522894156236 -49966,0.05533746939992601 -49967,0.3321049645117279 -49968,0.47805017392613813 -49969,0.16331089558123302 -49970,0.6645669221515952 -49971,0.29865500872972983 -49972,0.06438778355079944 -49973,0.46310949176353544 -49974,0.97751686553871 -49975,0.3180980682705197 -49976,0.0840626678210391 -49977,0.7854130778834758 -49978,0.25572393720018005 -49979,0.7609784958177057 -49980,0.6902631805532398 -49981,0.4015042671560042 -49982,0.9165930136868831 -49983,0.1301967804657702 -49984,0.8852085589124543 -49985,0.8829771427019426 -49986,0.07461733429903661 -49987,0.6429217814800376 -49988,0.02378097827682113 -49989,0.909360003657915 -49990,0.201247939108532 -49991,0.7199192705297963 -49992,0.8987432514543631 -49993,0.2952356625519027 -49994,0.5670114523168165 -49995,0.2283427487709785 -49996,0.12174020346192516 -49997,0.43874219812681103 -49998,0.9906391373917585 -49999,0.0022422595582252125 -50000,0.41306031758733586 -50001,0.9103262289187124 -50002,0.11700279363615462 -50003,0.778608450441894 -50004,0.8445713640558457 -50005,0.25487754109803107 -50006,0.6962281343770146 -50007,0.30917699373414353 -50008,0.42329406809860526 -50009,0.015407257864393897 -50010,0.3556489710637296 -50011,0.4228699640607567 -50012,0.5736693199901164 -50013,0.5147126298897133 -50014,0.9516865417775946 -50015,0.31093189671520016 -50016,0.35494390740926973 -50017,0.8540279007963232 -50018,0.43606968792856415 -50019,0.1593656205122468 -50020,0.020667596344036365 -50021,0.7828657488461912 -50022,0.7497245104745064 -50023,0.8405063994111495 -50024,0.3097790595376768 -50025,0.5405280763949115 -50026,0.8117158149378509 -50027,0.6991092756709684 -50028,0.8490546929588971 -50029,0.673717503356754 -50030,0.5571019457884819 -50031,0.466521711942803 -50032,0.4814951798801469 -50033,0.7746139331114085 -50034,0.14401045353365893 -50035,0.36337068925521065 -50036,0.06887755406304485 -50037,0.4142401076116192 -50038,0.2131794908715462 -50039,0.436415767149705 -50040,0.48179236418539895 -50041,0.8908912227649826 -50042,0.9324587144071592 -50043,0.8028826307507496 -50044,0.05111311987558287 -50045,0.34051341187607087 -50046,0.5973345175749694 -50047,0.7935120826217265 -50048,0.7557464402974147 -50049,0.4307064044894934 -50050,0.9410392718210682 -50051,0.1713550066096149 -50052,0.5661738317283662 -50053,0.7829511120418886 -50054,0.7016433948428515 -50055,0.3588647794358032 -50056,0.4844689247719871 -50057,0.7639244052691357 -50058,0.10928696159408213 -50059,0.6394086133416722 -50060,0.77735428702021 -50061,0.8388640834444354 -50062,0.5915226715593714 -50063,0.5798831375514628 -50064,0.16116017503437352 -50065,0.2705806120305557 -50066,0.0731172166131745 -50067,0.18166846163364003 -50068,0.31027529858430847 -50069,0.33196453301213513 -50070,0.4040272100407668 -50071,0.19794969305208232 -50072,0.4393892487494254 -50073,0.7767574164922533 -50074,0.7643965844465734 -50075,0.6554009416491293 -50076,0.9794311553017727 -50077,0.13941966560576124 -50078,0.2834662588447606 -50079,0.9882238983992929 -50080,0.19628709382186982 -50081,0.42601425077661215 -50082,0.0067818761143180195 -50083,0.6627245098536535 -50084,0.8251672397222871 -50085,0.9535059238095354 -50086,0.933480644207199 -50087,0.08595552524464722 -50088,0.897980279729272 -50089,0.6118769679346601 -50090,0.6090640593941131 -50091,0.26167245775310954 -50092,0.12549985194418378 -50093,0.268630510159535 -50094,0.7917820229802639 -50095,0.0003218445949773052 -50096,0.33573663577949153 -50097,0.7241344425837346 -50098,0.23275003892849677 -50099,0.16189908532368924 -50100,0.031893950759065315 -50101,0.423716105330019 -50102,0.09209778321924611 -50103,0.8732799966405022 -50104,0.03572544749594453 -50105,0.843963096943374 -50106,0.7615333678547185 -50107,0.5348143219665847 -50108,0.07929613801523627 -50109,0.9552453067908472 -50110,0.540608034947365 -50111,0.09301768261528365 -50112,0.8331003034765717 -50113,0.6779132660644998 -50114,0.8308226683824863 -50115,0.33031508193679127 -50116,0.6509084708621787 -50117,0.9824306321715816 -50118,0.8839001033793956 -50119,0.8851399817127378 -50120,0.7950188503607304 -50121,0.2978627630727211 -50122,0.916600200896426 -50123,0.725996704987801 -50124,0.49033152486257225 -50125,0.7268964999185621 -50126,0.3577131485352232 -50127,0.7368121168853686 -50128,0.5220751643687809 -50129,0.1393581626372289 -50130,0.3390514186918314 -50131,0.7802556423404484 -50132,0.42083595610961677 -50133,0.5652857989292628 -50134,0.98784035181284 -50135,0.3632416757378525 -50136,0.7471063303294366 -50137,0.9665916839261822 -50138,0.7258341837930744 -50139,0.5989041610989524 -50140,0.8359690446724155 -50141,0.15194947565123373 -50142,0.40928037906730286 -50143,0.7438072989953746 -50144,0.954448858737218 -50145,0.6890522196400668 -50146,0.6693356565396913 -50147,0.8407030379425253 -50148,0.7345350187018016 -50149,0.5614439619976475 -50150,0.9919514795933713 -50151,0.3667140702829621 -50152,0.2846384410434306 -50153,0.8767878034207703 -50154,0.3938857579394778 -50155,0.6752305179684376 -50156,0.6845967547104248 -50157,0.859658722748116 -50158,0.5487636457935934 -50159,0.0834613900883574 -50160,0.40289180887871257 -50161,0.26849176378673933 -50162,0.3600598123377847 -50163,0.18277594636808336 -50164,0.020816051407146485 -50165,0.5428873697778451 -50166,0.07234973167185532 -50167,0.10524777120841722 -50168,0.13685248589562626 -50169,0.015602307717256791 -50170,0.05031832824421556 -50171,0.5561968911801798 -50172,0.08951000693980915 -50173,0.859214973765194 -50174,0.2636104721625415 -50175,0.244845062086548 -50176,0.9853731821670272 -50177,0.6548669173396702 -50178,0.9891844934166845 -50179,0.4440387866859661 -50180,0.6531991185565391 -50181,0.1593438674720815 -50182,0.8364490507103234 -50183,0.8972849642346636 -50184,0.7038692416465521 -50185,0.29390941984758545 -50186,0.6477395203148979 -50187,0.5040249789066378 -50188,0.41138213634212895 -50189,0.01430953484237385 -50190,0.29346552772579915 -50191,0.3803985303815749 -50192,0.3500348600711547 -50193,0.6099517297226529 -50194,0.10455082728128107 -50195,0.8064174483067601 -50196,0.859526928766692 -50197,0.10163685444702997 -50198,0.2029299449194104 -50199,0.468886298355109 -50200,0.0460194822962553 -50201,0.7805442062458964 -50202,0.8374326818410577 -50203,0.07267936954534737 -50204,0.19220554635004305 -50205,0.7221283560222412 -50206,0.1516106626679432 -50207,0.5668819379807368 -50208,0.39679941121015283 -50209,0.7700971673666518 -50210,0.6299044415929439 -50211,0.4959154508981656 -50212,0.6087900904759436 -50213,0.38131783244275463 -50214,0.8946717556910975 -50215,0.5721976361889682 -50216,0.10147964685673427 -50217,0.6077599800689187 -50218,0.4316122395066795 -50219,0.27189126210247216 -50220,0.2539636534591363 -50221,0.552637564147342 -50222,0.39036729239606427 -50223,0.6895635462518207 -50224,0.004487831666924014 -50225,0.0010752134724147933 -50226,0.04382043435457794 -50227,0.8185224745479766 -50228,0.2617619210035079 -50229,0.7762993112225934 -50230,0.8673915455911214 -50231,0.08235067407269103 -50232,0.10064210253162331 -50233,0.5148087323450903 -50234,0.07514469356456 -50235,0.4309078019680245 -50236,0.7146122897801713 -50237,0.09065260624299032 -50238,0.6969417944655618 -50239,0.5301687171610592 -50240,0.30953533168529945 -50241,0.9279613219285107 -50242,0.4182885413733064 -50243,0.2500241116122567 -50244,0.45156268923728105 -50245,0.8154382827936226 -50246,0.9033780226039789 -50247,0.7205895094811485 -50248,0.5924920965428158 -50249,0.3727947111004092 -50250,0.2766562386317062 -50251,0.884121692865544 -50252,0.006856166642816963 -50253,0.08019554565957854 -50254,0.19628608775338252 -50255,0.28085066007576553 -50256,0.23478688936351533 -50257,0.6153140512341604 -50258,0.10196274966839225 -50259,0.2410554347551802 -50260,0.5457344653461929 -50261,0.8652668241240935 -50262,0.5169347080692861 -50263,0.8263931713914552 -50264,0.2686133613710886 -50265,0.4696721651950514 -50266,0.0510575744502626 -50267,0.8350667824386638 -50268,0.5696036999455594 -50269,0.2318883403247649 -50270,0.2910451088331478 -50271,0.3917074823666167 -50272,0.021770927989612776 -50273,0.8634050388508988 -50274,0.8295427358586226 -50275,0.4538913927140561 -50276,0.9149523883158956 -50277,0.11654990236841967 -50278,0.9930282994445505 -50279,0.13567829745686455 -50280,0.6813772012733184 -50281,0.6656185150672566 -50282,0.3769375807565689 -50283,0.712981167097027 -50284,0.7619655194113317 -50285,0.34944134578394204 -50286,0.5552620015624951 -50287,0.5930294516169548 -50288,0.1462925071533182 -50289,0.5148519691318104 -50290,0.08679042010261018 -50291,0.2049483684441239 -50292,0.06382361410615367 -50293,0.8035471979168418 -50294,0.5700939770152615 -50295,0.16696712072296482 -50296,0.9352085486581359 -50297,0.37027053919197583 -50298,0.1604079436767717 -50299,0.9936467612564817 -50300,0.9735959442732064 -50301,0.7094476479341254 -50302,0.10594834320067636 -50303,0.9402628276770387 -50304,0.2766487883831843 -50305,0.8299237893827865 -50306,0.5527199971960304 -50307,0.31912122445863944 -50308,0.8141676256560404 -50309,0.6536679298024072 -50310,0.037242491717463855 -50311,0.649261184811982 -50312,0.7899904436560528 -50313,0.9807771183802804 -50314,0.013144501368243966 -50315,0.8459401176821629 -50316,0.08662333530179733 -50317,0.463060471861227 -50318,0.5667293739159803 -50319,0.6664754088828004 -50320,0.3272114858863414 -50321,0.9423291028355352 -50322,0.9166449914529288 -50323,0.5631622021739148 -50324,0.8450802203749884 -50325,0.9048911011233776 -50326,0.36405445821738613 -50327,0.9829000431799509 -50328,0.5397570465077491 -50329,0.7050535672979843 -50330,0.5411448439663724 -50331,0.14970554699297145 -50332,0.44503581995763775 -50333,0.04010610362201872 -50334,0.6341598749787432 -50335,0.45089110823772194 -50336,0.30096636561482115 -50337,0.5930632003048344 -50338,0.5013327424650791 -50339,0.8453413919855223 -50340,0.7451211853770445 -50341,0.7110881020886411 -50342,0.41495374571177124 -50343,0.9538238080931225 -50344,0.29515156115216146 -50345,0.9746941059347801 -50346,0.9162362108197688 -50347,0.9757837261628473 -50348,0.5730693547070083 -50349,0.5991607982847241 -50350,0.10690762063489367 -50351,0.5047985734192564 -50352,0.6541440881540891 -50353,0.22825640205499864 -50354,0.9065038186638371 -50355,0.5077993809401387 -50356,0.07125352456994216 -50357,0.17218917989080196 -50358,0.673583804182636 -50359,0.35730894859739315 -50360,0.5986922963425423 -50361,0.4642120957260236 -50362,0.8061731763048141 -50363,0.22116731173840765 -50364,0.22860557946297455 -50365,0.5931396786159117 -50366,0.05944470161370663 -50367,0.45168572366796944 -50368,0.6166627754376589 -50369,0.08396077597481533 -50370,0.4525381756580056 -50371,0.9561239603859664 -50372,0.00901760529221507 -50373,0.08009042644963449 -50374,0.6104062295801436 -50375,0.7588685714612996 -50376,0.4682985391134211 -50377,0.18022250494895653 -50378,0.12911647492666634 -50379,0.8442865347443744 -50380,0.6648967718695526 -50381,0.5064137622896818 -50382,0.816787175605148 -50383,0.44268796973504676 -50384,0.17419327076114854 -50385,0.5187983737060531 -50386,0.41221161664861883 -50387,0.3913086053358735 -50388,0.7010650000737694 -50389,0.5998514736569507 -50390,0.6362441139008379 -50391,0.4844871796546846 -50392,0.08843114554436726 -50393,0.0583968039692182 -50394,0.7764130300488425 -50395,0.1306253202228287 -50396,0.8240328886390839 -50397,0.4629315615641143 -50398,0.3409373918113895 -50399,0.5745577061322392 -50400,0.2602598448757548 -50401,0.6819111203086425 -50402,0.2185279024692306 -50403,0.6433244167201931 -50404,0.24975535854634245 -50405,0.3986367930179704 -50406,0.958428827982812 -50407,0.06421731716301105 -50408,0.3044722766063295 -50409,0.1364852253629364 -50410,0.4087583188691678 -50411,0.42415345715973984 -50412,0.00584912374874047 -50413,0.4123012625402436 -50414,0.41389406400083584 -50415,0.7100093379820801 -50416,0.9011024902519843 -50417,0.21905872204957022 -50418,0.814015011127095 -50419,0.18263944923001496 -50420,0.5046117154979793 -50421,0.2504468520348281 -50422,0.7859668714345451 -50423,0.01891985275160457 -50424,0.06922183776121216 -50425,0.4997258275114588 -50426,0.2762637500994618 -50427,0.2923099531486981 -50428,0.3910296423260614 -50429,0.3202794298295315 -50430,0.8196282762772177 -50431,0.4448212901293288 -50432,0.13953674802056992 -50433,0.9019785289146333 -50434,0.08354709424368556 -50435,0.7195426939241566 -50436,0.897761207264588 -50437,0.6965946589579698 -50438,0.9471086773852989 -50439,0.15199867417392454 -50440,0.6049108071228699 -50441,0.011185145772729777 -50442,0.24145636236757861 -50443,0.7883830706399506 -50444,0.2654919783534406 -50445,0.8385640097017317 -50446,0.0679339540550199 -50447,0.5098290050977861 -50448,0.2834624873367986 -50449,0.12582011681217797 -50450,0.15931772003418743 -50451,0.4235146534394668 -50452,0.9881114231585227 -50453,0.8611803560289205 -50454,0.6941142602284764 -50455,0.7350425974808965 -50456,0.026657787865202898 -50457,0.7444685604506245 -50458,0.8127863759125249 -50459,0.4552025733498585 -50460,0.11540745152763632 -50461,0.5422854285859959 -50462,0.2512176283383065 -50463,0.23213661662959229 -50464,0.7884134291118596 -50465,0.32350432587549305 -50466,0.7029233663458232 -50467,0.6013539760534102 -50468,0.2581540254773268 -50469,0.7488530055901228 -50470,0.1810506949823858 -50471,0.28115527070784896 -50472,0.6613565741737486 -50473,0.36984744717202234 -50474,0.6994256949526045 -50475,0.8292925463279847 -50476,0.7566761890270896 -50477,0.6098948585656241 -50478,0.6945496308928939 -50479,0.17867858598346076 -50480,0.5246081924421179 -50481,0.982878705829455 -50482,0.036039641551750656 -50483,0.09173509850268602 -50484,0.3418118079332526 -50485,0.8765218000626674 -50486,0.15533679896844976 -50487,0.25840449583522485 -50488,0.7631238531842655 -50489,0.9466020194388172 -50490,0.7521370987426929 -50491,0.706114438060086 -50492,0.133976958864927 -50493,0.7662954091403834 -50494,0.21951061488864387 -50495,0.07565776430917404 -50496,0.6471428071130969 -50497,0.5723196332117049 -50498,0.95141752374428 -50499,0.4607617487005792 -50500,0.8416145251166111 -50501,0.7971765279750403 -50502,0.38514465535591824 -50503,0.056760266972128215 -50504,0.2876197923852133 -50505,0.4656915344867024 -50506,0.024275160310754496 -50507,0.1886496769314534 -50508,0.983057273703766 -50509,0.5843611191307949 -50510,0.6353028511401613 -50511,0.19220659436014897 -50512,0.9582163128097144 -50513,0.7228010276776408 -50514,0.9329335868134769 -50515,0.12486572748535374 -50516,0.15047668232089884 -50517,0.3981985880953296 -50518,0.5275780648295988 -50519,0.5719182252845371 -50520,0.2542024609804783 -50521,0.2675209767401896 -50522,0.7324641791803836 -50523,0.8900625689677166 -50524,0.2709515866151775 -50525,0.37288837159235344 -50526,0.41596183546754373 -50527,0.4712538736456783 -50528,0.7036409291683755 -50529,0.8570769633180704 -50530,0.7744869629875516 -50531,0.7445450402116323 -50532,0.4362173391601313 -50533,0.12116359959865208 -50534,0.2269235257117378 -50535,0.8990895238954729 -50536,0.49059732201493955 -50537,0.41306361749860276 -50538,0.9460394798523442 -50539,0.5816799876092387 -50540,0.34020828315510365 -50541,0.4887591175050894 -50542,0.07939263288661924 -50543,0.8500444235203561 -50544,0.7480941255894165 -50545,0.050668072919163865 -50546,0.7677365076092271 -50547,0.4219944093974475 -50548,0.9289929680320416 -50549,0.23319864264185697 -50550,0.12675757768400653 -50551,0.6475789917860232 -50552,0.11711107884886973 -50553,0.5431611299963428 -50554,0.369376986944868 -50555,0.377184314689303 -50556,0.8459083940404157 -50557,0.6308080070257316 -50558,0.36169152389708126 -50559,0.6089729660973422 -50560,0.69622871309631 -50561,0.17793866612165765 -50562,0.1978162294033562 -50563,0.3317859354618946 -50564,0.9078459426063302 -50565,0.16768761051900494 -50566,0.4767396840705991 -50567,0.6000410345737259 -50568,0.9232669625656712 -50569,0.9668744619610435 -50570,0.1460684036410732 -50571,0.2024599168570299 -50572,0.46147030796596267 -50573,0.6344203546688886 -50574,0.1734246473261375 -50575,0.381794839699824 -50576,0.6879484695347149 -50577,0.4981377358017891 -50578,0.08270975816851789 -50579,0.3105291247105625 -50580,0.2571822081970414 -50581,0.15553008601130147 -50582,0.16879519074089688 -50583,0.022802318533677535 -50584,0.570623600375863 -50585,0.031957586548883365 -50586,0.8448619435899456 -50587,0.9422513968478133 -50588,0.5038491752016064 -50589,0.09059152914557356 -50590,0.49249295735327814 -50591,0.5646452179690922 -50592,0.06517496405049927 -50593,0.48391515839051924 -50594,0.534125051505055 -50595,0.7534394707116552 -50596,0.15303258482439308 -50597,0.06515362510182798 -50598,0.362266827339666 -50599,0.7701882791318709 -50600,0.8612344915167721 -50601,0.8727320370799323 -50602,0.05849147477930228 -50603,0.1779313294141871 -50604,0.7575226574604158 -50605,0.10705826088087256 -50606,0.08899676616583763 -50607,0.9728043636851887 -50608,0.23193856714945393 -50609,0.8133987893269482 -50610,0.07779784332285744 -50611,0.30984972877039296 -50612,0.7237093032205103 -50613,0.46151154786939097 -50614,0.8851861717981321 -50615,0.29779125592396083 -50616,0.3727469914806827 -50617,0.33158768820302886 -50618,0.8513274210751056 -50619,0.8311624891160122 -50620,0.045034288767467845 -50621,0.25970200141040944 -50622,0.5451277512493725 -50623,0.5216865835362454 -50624,0.33135414976061495 -50625,0.24551484645941912 -50626,0.37455601879453204 -50627,0.9734952057584106 -50628,0.20901794663003959 -50629,0.2829779703480758 -50630,0.01996659566580561 -50631,0.8533750281634301 -50632,0.5507546910377904 -50633,0.48940409724033307 -50634,0.37608453927722285 -50635,0.8136326844880678 -50636,0.10168034076324273 -50637,0.6679634304445272 -50638,0.695499059499953 -50639,0.7413827154750392 -50640,0.7708247451932964 -50641,0.9142075073461625 -50642,0.3412034984284319 -50643,0.5932882349250225 -50644,0.5856501387374193 -50645,0.5634250900226757 -50646,0.2823213032763682 -50647,0.7826506032720962 -50648,0.48697673335365976 -50649,0.08649605160748364 -50650,0.12712942944494177 -50651,0.021482788375389528 -50652,0.982208790558904 -50653,0.17729436067931859 -50654,0.19122126496141045 -50655,0.9470056781477592 -50656,0.89202417941316 -50657,0.6391718244137988 -50658,0.045011562822972584 -50659,0.3813299374168213 -50660,0.8840896072820864 -50661,0.26555590696971043 -50662,0.12021579939129101 -50663,0.3567656566424977 -50664,0.6523593041769276 -50665,0.26419754215876956 -50666,0.43491157570821737 -50667,0.22255317641689687 -50668,0.5673147864289927 -50669,0.19641492544009742 -50670,0.856729021828445 -50671,0.4702752913785 -50672,0.2975947639564158 -50673,0.06481446038636907 -50674,0.9220739012369004 -50675,0.1823863275604548 -50676,0.386604109293739 -50677,0.48813207019133464 -50678,0.8579698306380511 -50679,0.6802563233479727 -50680,0.5461678519981384 -50681,0.6724040140328494 -50682,0.18008792003445906 -50683,0.8206981343570168 -50684,0.053595928707553364 -50685,0.8860334635244393 -50686,0.262275073876179 -50687,0.8766263822937641 -50688,0.849106032537533 -50689,0.1433060121802754 -50690,0.5152092229378565 -50691,0.950240308137023 -50692,0.1852232609598191 -50693,0.7648828860927557 -50694,0.06163904009616028 -50695,0.7697625625600512 -50696,0.5798101084950497 -50697,0.5846808138566746 -50698,0.505461225938859 -50699,0.03301709519582263 -50700,0.7076369421119963 -50701,0.13256340929981436 -50702,0.888658351233952 -50703,0.3695349463787423 -50704,0.7234498638764567 -50705,0.17625320157732438 -50706,0.9682393735458998 -50707,0.8258970735306511 -50708,0.09112495476525817 -50709,0.6302718676895754 -50710,0.43576792510837103 -50711,0.8241667729373454 -50712,0.8044631193160657 -50713,0.06599090104503325 -50714,0.12559011257344765 -50715,0.6251436198359385 -50716,0.4772339510179461 -50717,0.08651240465939547 -50718,0.5395374931937262 -50719,0.8434000894142676 -50720,0.04651992660320836 -50721,0.5188878643924356 -50722,0.5802411170732257 -50723,0.23274692223106708 -50724,0.17101010590360377 -50725,0.587244201698967 -50726,0.8546269232136515 -50727,0.2866359241620511 -50728,0.6465987938278976 -50729,0.961384171188144 -50730,0.9298104358961932 -50731,0.2452742785560259 -50732,0.7002005429290273 -50733,0.9907343196355568 -50734,0.7893407967758908 -50735,0.30518000384079214 -50736,0.4783892047999958 -50737,0.19351853886035053 -50738,0.877809668584618 -50739,0.9933978455807139 -50740,0.11418792790588639 -50741,0.12272439285918113 -50742,0.019956228450013325 -50743,0.743038868415979 -50744,0.09639684175051966 -50745,0.11643795960584558 -50746,0.7073028521553218 -50747,0.6013732247148754 -50748,0.5540521081427804 -50749,0.1459077799917472 -50750,0.1469784926108988 -50751,0.662282057277358 -50752,0.3438291403782058 -50753,0.7027443660005135 -50754,0.47086276383750214 -50755,0.40370292293964183 -50756,0.0022223087424411148 -50757,0.9751739813863093 -50758,0.613694866540179 -50759,0.8150078943552798 -50760,0.043425412874920744 -50761,0.8662608227232963 -50762,0.2283619927450562 -50763,0.23127925895785595 -50764,0.6904096129705389 -50765,0.4161252369832851 -50766,0.4460947195292929 -50767,0.41206464728581293 -50768,0.6932162619329277 -50769,0.9803783428369315 -50770,0.05249743321760947 -50771,0.1772261910144275 -50772,0.8450203977883964 -50773,0.3963239474849508 -50774,0.9662909395972428 -50775,0.6963941136542489 -50776,0.5912912619298897 -50777,0.7653564013658318 -50778,0.20829311739988687 -50779,0.4398398381603009 -50780,0.11873371777767805 -50781,0.6637757038781146 -50782,0.32786973572473044 -50783,0.35582325849210905 -50784,0.13912188151678784 -50785,0.5065626873631139 -50786,0.5762010066539837 -50787,0.010134073296430901 -50788,0.11987083740788851 -50789,0.5574686271093036 -50790,0.3858994245328913 -50791,0.877590089240012 -50792,0.400744209615449 -50793,0.45934610432227474 -50794,0.04516789608752969 -50795,0.23222025886888265 -50796,0.5900111886874321 -50797,0.6083322081305258 -50798,0.06946057618299029 -50799,0.8482450028493599 -50800,0.0037000924030785587 -50801,0.8451873352360927 -50802,0.5570834497304876 -50803,0.6649613599937669 -50804,0.38433207694777083 -50805,0.66355796696106 -50806,0.5769536604700227 -50807,0.8307186710204961 -50808,0.07316085949025253 -50809,0.32888730555042156 -50810,0.07659861336609686 -50811,0.791300254717226 -50812,0.02042661194417994 -50813,0.10896797928299462 -50814,0.43450141460794955 -50815,0.30541381616615193 -50816,0.4685390123576282 -50817,0.9814113836872983 -50818,0.1982829476103627 -50819,0.06418477439199577 -50820,0.3352185402525336 -50821,0.707355305144134 -50822,0.7595570730009333 -50823,0.7981033169509034 -50824,0.7468944494108903 -50825,0.8578698509593707 -50826,0.438105269580063 -50827,0.4215765767387081 -50828,0.606346575108169 -50829,0.5161022918340926 -50830,0.3610401968274304 -50831,0.9776440787601117 -50832,0.9087340828217627 -50833,0.27086205317205325 -50834,0.2825933953638282 -50835,0.16313894751432134 -50836,0.028405063742207526 -50837,0.08196260623569718 -50838,0.03299612313306122 -50839,0.5722258073151597 -50840,0.5624385470654156 -50841,0.41388987113611597 -50842,0.8283278536081837 -50843,0.8284684015076691 -50844,0.35492865396870854 -50845,0.3313007795441236 -50846,0.2451931432139619 -50847,0.3983739199226096 -50848,0.7335197980202814 -50849,0.8541239371650527 -50850,0.5661491304093282 -50851,0.7801892389993434 -50852,0.8755119318161628 -50853,0.6212250866898399 -50854,0.43254691793598765 -50855,0.6044870132996921 -50856,0.9851147507504977 -50857,0.9506808395958314 -50858,0.05684774965379302 -50859,0.24520936520539605 -50860,0.9859005995684235 -50861,0.8028351005994596 -50862,0.6845624902095503 -50863,0.5537448509714815 -50864,0.7645916991960529 -50865,0.3885110183874405 -50866,0.4195671111476098 -50867,0.2465454730251636 -50868,0.5367073672179326 -50869,0.7052581327962886 -50870,0.12081418639355135 -50871,0.41439355485050067 -50872,0.34444471561153334 -50873,0.14159018201773554 -50874,0.7058522938614441 -50875,0.19323518889497127 -50876,0.9769567923881939 -50877,0.41016200524889546 -50878,0.7673833702949823 -50879,0.838314008899965 -50880,0.2758210753564393 -50881,0.1725798811020257 -50882,0.5189946818597309 -50883,0.09010462627885074 -50884,0.332052314895279 -50885,0.31340851895847144 -50886,0.6884354242347303 -50887,0.16806289567757837 -50888,0.3325375142671262 -50889,0.2985598110773151 -50890,0.41934771192969744 -50891,0.3256968545260055 -50892,0.13862916181212215 -50893,0.8622983344708787 -50894,0.026699343043813717 -50895,0.3536420375202066 -50896,0.7794306696466301 -50897,0.4696055563773124 -50898,0.08323919387294654 -50899,0.8704529820156411 -50900,0.43511111492997334 -50901,0.952732696996628 -50902,0.5327606957930417 -50903,0.42820141315644533 -50904,0.3962687227863433 -50905,0.3272843127718231 -50906,0.5796421785154358 -50907,0.07928913070120225 -50908,0.5313149196097019 -50909,0.42956290025454225 -50910,0.7088035139601272 -50911,0.8412630257530376 -50912,0.6206596325793261 -50913,0.18649060504622617 -50914,0.6167350674639828 -50915,0.21018622541908727 -50916,0.884956955298809 -50917,0.4601344881397661 -50918,0.8014663308803038 -50919,0.17967485089259538 -50920,0.3666915413648212 -50921,0.9300645045742131 -50922,0.11328474027730184 -50923,0.7872471887672903 -50924,0.9835009750650103 -50925,0.07683344113660984 -50926,0.5843646668195086 -50927,0.34713162756428384 -50928,0.15894407208990247 -50929,0.1735106590462664 -50930,0.18914337847454876 -50931,0.6310592891975856 -50932,0.8605369705824556 -50933,0.617373156309038 -50934,0.11870520151706287 -50935,0.746600943999987 -50936,0.42965403936656044 -50937,0.2974230238266097 -50938,0.49676158327876085 -50939,0.7730931409602857 -50940,0.7370014564580711 -50941,0.6776444350317674 -50942,0.4074492747660797 -50943,0.8654390593025681 -50944,0.9971967343317005 -50945,0.5107072705765037 -50946,0.1854285052754301 -50947,0.7796682640548163 -50948,0.20966402547033414 -50949,0.14606744770013635 -50950,0.27323557929593245 -50951,0.09427964923722887 -50952,0.5952101267255996 -50953,0.8879409476089941 -50954,0.5909701219688042 -50955,0.16709485854782546 -50956,0.2773207356855133 -50957,0.055170265634414295 -50958,0.8160761574194931 -50959,0.7022407177947063 -50960,0.37323559077412904 -50961,0.011833481993028583 -50962,0.24512201117566468 -50963,0.8717008684082463 -50964,0.22335883894086261 -50965,0.6106066742541443 -50966,0.34986989631660315 -50967,0.5961167410412416 -50968,0.11219282588145008 -50969,0.8355394725671839 -50970,0.2852329225023087 -50971,0.8038705920087466 -50972,0.5130983223759498 -50973,0.9583863728012911 -50974,0.7978103739429904 -50975,0.19473402826925057 -50976,0.9919561858668384 -50977,0.8432192122041564 -50978,0.16509127279119018 -50979,0.007187128434652301 -50980,0.8063387470878337 -50981,0.32471188987866517 -50982,0.5469019805609642 -50983,0.6556090778981499 -50984,0.6481190440952714 -50985,0.0965722754016366 -50986,0.9350601772633086 -50987,0.2194648184090039 -50988,0.4612335798249335 -50989,0.8530157490101484 -50990,0.6158647480834758 -50991,0.6031039838298086 -50992,0.9578793305818458 -50993,0.9812366845966154 -50994,0.28484279628116094 -50995,0.7518577127582041 -50996,0.20561623615383184 -50997,0.9114529637750892 -50998,0.12087154745414164 -50999,0.1099576102501808 -51000,0.789837740863757 -51001,0.4025665302649978 -51002,0.8621849403425398 -51003,0.292870528348952 -51004,0.35090755716194366 -51005,0.49438214190843865 -51006,0.1684109528433324 -51007,0.024092772974542043 -51008,0.04008481869006919 -51009,0.9736421950589286 -51010,0.046567550906593036 -51011,0.9301631666172671 -51012,0.003030741419735139 -51013,0.16264536425699427 -51014,0.04930432842426469 -51015,0.049549734046288485 -51016,0.07178709060546584 -51017,0.2371078050287485 -51018,0.02623309334145718 -51019,0.34260262693004484 -51020,0.2800003317951679 -51021,0.6411185075009915 -51022,0.6511114142697083 -51023,0.4005524868026058 -51024,0.06860692856216777 -51025,0.22092694381251865 -51026,0.31256164501292083 -51027,0.888377891272048 -51028,0.7285671687875345 -51029,0.656793919053977 -51030,0.5515418971776715 -51031,0.23080280303698963 -51032,0.6331954561486797 -51033,0.6843968434852012 -51034,0.5896906840188616 -51035,0.6545947605507101 -51036,0.24838775561767168 -51037,0.8990203216204752 -51038,0.7950476810889545 -51039,0.9435227590332084 -51040,0.23912210413571633 -51041,0.9404760733949745 -51042,0.9183218363181326 -51043,0.2959731724933984 -51044,0.1286047016931554 -51045,0.49997569099643846 -51046,0.6707708928744734 -51047,0.2035989011743794 -51048,0.9400390180581013 -51049,0.8057677285686224 -51050,0.053587226633477036 -51051,0.783325316839039 -51052,0.6864034476791208 -51053,0.44746719853479755 -51054,0.7047873181607061 -51055,0.40130031730723115 -51056,0.5394836205060201 -51057,0.36295980775650116 -51058,0.16354687019831404 -51059,0.9095517009536486 -51060,0.3689036467472836 -51061,0.5662047036780306 -51062,0.4138403294536328 -51063,0.3631038098843452 -51064,0.6293751336966393 -51065,0.04645382949326049 -51066,0.8161838713812751 -51067,0.6635513108450584 -51068,0.2834837156308284 -51069,0.9305009136338597 -51070,0.9902921269316455 -51071,0.6033445121288676 -51072,0.521159625780771 -51073,0.5600142987894634 -51074,0.2927935906901916 -51075,0.09182962220692259 -51076,0.35226051627756694 -51077,0.39970149602845295 -51078,0.4630986077320929 -51079,0.7154823909641804 -51080,0.8858843218126407 -51081,0.004486198695619947 -51082,0.14450881222374035 -51083,0.6348249641174352 -51084,0.7287195394746185 -51085,0.7203462779150408 -51086,0.315595209953185 -51087,0.3053027831923394 -51088,0.9244389944187292 -51089,0.6665507926474173 -51090,0.07170228451844107 -51091,0.3934998135175487 -51092,0.2468890959330151 -51093,0.8824064540658753 -51094,0.545178343658275 -51095,0.6421944082137602 -51096,0.15593155232367106 -51097,0.04967240585492172 -51098,0.9659748565813399 -51099,0.20312372139179924 -51100,0.6715191835004493 -51101,0.7966956285453272 -51102,0.22635120442825696 -51103,0.6580039665723627 -51104,0.34810818469068916 -51105,0.885536202379416 -51106,0.44616686866419664 -51107,0.7644495812459091 -51108,0.5461915976578054 -51109,0.5309073890108653 -51110,0.8797740317839835 -51111,0.017176337143517628 -51112,0.4474137140451938 -51113,0.9860158406321179 -51114,0.38097801038416124 -51115,0.8449174249912863 -51116,0.3942917066001965 -51117,0.49194168073033684 -51118,0.6348342313677116 -51119,0.9044381811895608 -51120,0.7066825499206222 -51121,0.5555631076524269 -51122,0.0139052059828072 -51123,0.6580935149730024 -51124,0.8927202517301228 -51125,0.7829573047542163 -51126,0.3185857762076446 -51127,0.6118821662417577 -51128,0.9337158079097709 -51129,0.6317199709215547 -51130,0.05129382552623463 -51131,0.9276702418017528 -51132,0.4119161798396116 -51133,0.18976594612429676 -51134,0.00968650782196101 -51135,0.4759574953692469 -51136,0.5421025022522276 -51137,0.7196430008771397 -51138,0.6168262608554446 -51139,0.5490863349217966 -51140,0.8736720806881627 -51141,0.9176534732953243 -51142,0.2148714364589408 -51143,0.17818297735200628 -51144,0.43092802134669184 -51145,0.9090843432493484 -51146,0.3559900174470033 -51147,0.0290515255238869 -51148,0.4615961978157501 -51149,0.6329156854536953 -51150,0.2594857365577147 -51151,0.06226728986879049 -51152,0.4426125684592941 -51153,0.4156172236753781 -51154,0.3763538346438915 -51155,0.9032192131509778 -51156,0.35862069605554314 -51157,0.5658366340881971 -51158,0.37624805564648733 -51159,0.7446077330623032 -51160,0.10834822862403815 -51161,0.8244419494166202 -51162,0.4355643062434834 -51163,0.5791106944569754 -51164,0.08515444474542966 -51165,0.7954732435029477 -51166,0.13545166363481664 -51167,0.570815862092595 -51168,0.6077177707901659 -51169,0.32741248682575985 -51170,0.05200401555967937 -51171,0.7012224692371309 -51172,0.3810077936295503 -51173,0.4899351279081736 -51174,0.6239571388935522 -51175,0.3115218426909945 -51176,0.9725491770936334 -51177,0.9383339737247421 -51178,0.9692168477416745 -51179,0.4851196287263445 -51180,0.6820335224082165 -51181,0.476959357970975 -51182,0.6071124877831515 -51183,0.2578602617714395 -51184,0.9145746146933066 -51185,0.3643209446126533 -51186,0.14661171692339003 -51187,0.07338200417834484 -51188,0.9704303378648711 -51189,0.667413351306288 -51190,0.9201373317788666 -51191,0.3257464668436578 -51192,0.9327540896349525 -51193,0.672509807792181 -51194,0.8792120248759782 -51195,0.34830520552886335 -51196,0.5523358562694379 -51197,0.47340230641354386 -51198,0.48681027113796416 -51199,0.20140623912171307 -51200,0.2870758496724437 -51201,0.6640477188975202 -51202,0.7571526416878959 -51203,0.8410061099944105 -51204,0.07972623188213512 -51205,0.2666809662683227 -51206,0.8697683983671556 -51207,0.06339703588693801 -51208,0.7430526100150091 -51209,0.6592671453816691 -51210,0.4635173807924118 -51211,0.3685801257393784 -51212,0.2549509301867142 -51213,0.6170167487156971 -51214,0.5583317942712736 -51215,0.4860760450761815 -51216,0.44331194915696936 -51217,0.7792719859498264 -51218,0.37256434611149525 -51219,0.07481299680324127 -51220,0.27263330615358283 -51221,0.12645393151716244 -51222,0.5687545511231299 -51223,0.1359318078721794 -51224,0.5330608328847144 -51225,0.14413284368235202 -51226,0.9876537902691805 -51227,0.8434581591321919 -51228,0.8626084180373061 -51229,0.3680052630433248 -51230,0.30345014767651124 -51231,0.23929309888466577 -51232,0.9482279101536915 -51233,0.2510083694100328 -51234,0.2575590056777898 -51235,0.2653794309148647 -51236,0.49544191511107116 -51237,0.49882349493106226 -51238,0.9358550925659198 -51239,0.8165658291028612 -51240,0.767860186801526 -51241,0.32815266765369755 -51242,0.48989529939595244 -51243,0.9339463990830559 -51244,0.3267579614371794 -51245,0.6523225383583079 -51246,0.5769231840208964 -51247,0.4286865103658425 -51248,0.9393248730812255 -51249,0.4589951714680859 -51250,0.255831980261101 -51251,0.03502181961936146 -51252,0.8417175223429512 -51253,0.7927565496491459 -51254,0.5876428783782662 -51255,0.4088213229923875 -51256,0.7657558751312069 -51257,0.3754269974918856 -51258,0.4124374152060295 -51259,0.2824485657387087 -51260,0.7078753338615267 -51261,0.7932762953197171 -51262,0.7613264870443935 -51263,0.7076541336594188 -51264,0.4661588452706693 -51265,0.37729782873488316 -51266,0.9091503739534084 -51267,0.9040166120825418 -51268,0.4915598758955785 -51269,0.23272052953862177 -51270,0.6512013994666546 -51271,0.7866314417544491 -51272,0.48169022778123194 -51273,0.6293079009278569 -51274,0.04404267772034276 -51275,0.6389376999018876 -51276,0.9827424562326558 -51277,0.069711086672674 -51278,0.4101486380886933 -51279,0.009157647089097942 -51280,0.5401983869499658 -51281,0.8219004345984292 -51282,0.9184051495282272 -51283,0.2519383558554166 -51284,0.1618040908807452 -51285,0.5549545726022831 -51286,0.46449567458791485 -51287,0.653290510984117 -51288,0.34362725974734853 -51289,0.9377764765336045 -51290,0.7503307381786181 -51291,0.7504200270365783 -51292,0.007532543101590128 -51293,0.4082056509725115 -51294,0.9383585773828326 -51295,0.9487686890085167 -51296,0.675059082679353 -51297,0.028045286018597793 -51298,0.6100756376773233 -51299,0.025791904726575887 -51300,0.3343721223138594 -51301,0.5044190605434928 -51302,0.45395509661404176 -51303,0.02098113863534634 -51304,0.2623740802443526 -51305,0.983136613765486 -51306,0.08265204894168954 -51307,0.38598154624980996 -51308,0.23457024626641876 -51309,0.5213802715361499 -51310,0.991253470604911 -51311,0.7156339744268762 -51312,0.762792645478524 -51313,0.8180696582204168 -51314,0.1645336676406013 -51315,0.6949445639839927 -51316,0.7552150175445205 -51317,0.3289105772657207 -51318,0.3266316291172481 -51319,0.46487837436759183 -51320,0.30941240996994335 -51321,0.21144584860176252 -51322,0.6867712110376487 -51323,0.29740238411341235 -51324,0.00723487868824102 -51325,0.3837358020758491 -51326,0.22089891716437826 -51327,0.7100362384420505 -51328,0.6149614312051529 -51329,0.6109494434504942 -51330,0.9601142559529776 -51331,0.4404509943924778 -51332,0.16845567196569045 -51333,0.0880538541995759 -51334,0.2877920188618389 -51335,0.06146351287330476 -51336,0.7130191674483094 -51337,0.22114344593678237 -51338,0.9343237790932377 -51339,0.4408022836091394 -51340,0.522268601445904 -51341,0.4896279395112796 -51342,0.3832885534122188 -51343,0.6888009503507362 -51344,0.24909721244127037 -51345,0.7540064040483583 -51346,0.3992109349841506 -51347,0.022320856777439668 -51348,0.376704886491703 -51349,0.9153027528314718 -51350,0.31891266492381976 -51351,0.809598581859355 -51352,0.45278613429342884 -51353,0.8763539108480903 -51354,0.039401640083603806 -51355,0.23426175988867515 -51356,0.7875264331682652 -51357,0.6065619394108112 -51358,0.41836904018663024 -51359,0.7063760928586224 -51360,0.21735473116290738 -51361,0.7168986943614587 -51362,0.03134601301364637 -51363,0.239429510888439 -51364,0.262830172364827 -51365,0.3438797856928989 -51366,0.2055455355555994 -51367,0.3585172699519372 -51368,0.09887380936367374 -51369,0.059744865477354914 -51370,0.016677899312790623 -51371,0.6028092282087909 -51372,0.771351356805185 -51373,0.2951805820331189 -51374,0.7142876639978943 -51375,0.2230099120182557 -51376,0.7729075073896797 -51377,0.16037241563642646 -51378,0.930840577678195 -51379,0.842930735082709 -51380,0.16354980593047974 -51381,0.8759701649339173 -51382,0.589704233752547 -51383,0.8973240902869697 -51384,0.9012284337154052 -51385,0.026985121612944307 -51386,0.7320534982700941 -51387,0.85596370783258 -51388,0.5306346870179961 -51389,0.5384756946155896 -51390,0.11587353400501876 -51391,0.16955693564613838 -51392,0.9084920532746459 -51393,0.5521901650047376 -51394,0.5745899151519982 -51395,0.5225397598231042 -51396,0.29485129086853745 -51397,0.54270363684079 -51398,0.5642264030123018 -51399,0.5320694410573473 -51400,0.8585101476911114 -51401,0.8071719242811294 -51402,0.1137959756904584 -51403,0.7319030656293162 -51404,0.9704965406082907 -51405,0.6963511768566139 -51406,0.11548257361913461 -51407,0.8521258563390555 -51408,0.9090332868148305 -51409,0.6089178538749069 -51410,0.6230212346770332 -51411,0.25965668048723356 -51412,0.035292923316250224 -51413,0.4417128637848887 -51414,0.4346935918591487 -51415,0.942052655519832 -51416,0.033382461867910274 -51417,0.17057331792008334 -51418,0.7457360986750374 -51419,0.962662820391089 -51420,0.4501625000299724 -51421,0.053901428307571164 -51422,0.11437095258340746 -51423,0.5116232842830455 -51424,0.14795611341370518 -51425,0.4773883030036996 -51426,0.3653358045701691 -51427,0.498149390474401 -51428,0.3898929587675438 -51429,0.6317188631707349 -51430,0.0007209336241258413 -51431,0.010393051628581507 -51432,0.8646225903626646 -51433,0.856095697177215 -51434,0.9743245749894327 -51435,0.24645548059413513 -51436,0.8187484120530566 -51437,0.5770064984142945 -51438,0.024111246912905115 -51439,0.6267289155728398 -51440,0.16959866090019038 -51441,0.3805552310436787 -51442,0.4667614013158877 -51443,0.5091575209238882 -51444,0.5403636086338985 -51445,0.888543751644357 -51446,0.779950439334262 -51447,0.8207845676006446 -51448,0.06344786729042218 -51449,0.17032118926620776 -51450,0.634557380871237 -51451,0.37621153490844594 -51452,0.3146467838296447 -51453,0.4000363935364356 -51454,0.36780581491856346 -51455,0.7271744540654538 -51456,0.6189328370865438 -51457,0.5621305940706678 -51458,0.7536490464351109 -51459,0.7921523137059725 -51460,0.2560649047153316 -51461,0.2597989329400783 -51462,0.26418952483912905 -51463,0.989117288139247 -51464,0.4466639377499769 -51465,0.8548693781368442 -51466,0.9639406637234087 -51467,0.23646890405583287 -51468,0.024430026989686437 -51469,0.7746207814252917 -51470,0.11002412178375665 -51471,0.4061550048694338 -51472,0.2329949768159737 -51473,0.8313313851853471 -51474,0.34840715789333154 -51475,0.8078946872235915 -51476,0.8184607237914676 -51477,0.4826838348292225 -51478,0.16454027360654222 -51479,0.17558953733950688 -51480,0.9692402021496109 -51481,0.48231601886341624 -51482,0.3451157477184976 -51483,0.6113468553495475 -51484,0.6428632021918167 -51485,0.5410618670227066 -51486,0.5610487094992311 -51487,0.5076875648778353 -51488,0.3777893615216338 -51489,0.4127820545105483 -51490,0.27724264392029996 -51491,0.27376680083859617 -51492,0.760411366774906 -51493,0.8665694818742962 -51494,0.9903846473497888 -51495,0.8050282916087071 -51496,0.955836498121821 -51497,0.11115523987729548 -51498,0.19727541538308857 -51499,0.31637501314304683 -51500,0.5929565744510107 -51501,0.8022618608543569 -51502,0.011004712778967862 -51503,0.9740381258636748 -51504,0.5928454892881867 -51505,0.17118344540698072 -51506,0.7074935704586386 -51507,0.6483337133009239 -51508,0.7918126655890153 -51509,0.11200946416229896 -51510,0.1224606457026598 -51511,0.6851633821883453 -51512,0.8739643000187564 -51513,0.14238309907574087 -51514,0.10125001953214796 -51515,0.9289596286529802 -51516,0.6089802078534023 -51517,0.7482392533426382 -51518,0.4762102017942009 -51519,0.37476507538160153 -51520,0.30115092580645264 -51521,0.16997409991982626 -51522,0.3945883030587377 -51523,0.07319414886962083 -51524,0.5667393638197497 -51525,0.1123475388804186 -51526,0.7165222912680049 -51527,0.8559055933306416 -51528,0.2835282546919967 -51529,0.09266625710658893 -51530,0.6694590457637477 -51531,0.5458691701849394 -51532,0.014195965398669297 -51533,0.37741069017345874 -51534,0.680546225354901 -51535,0.11349711850844013 -51536,0.748483229380624 -51537,0.1330676777903762 -51538,0.881479347706254 -51539,0.9588745633846553 -51540,0.3861114691389391 -51541,0.8559530645738683 -51542,0.7175634434909173 -51543,0.9641232390948421 -51544,0.9340778698891201 -51545,0.9470645923621703 -51546,0.18151590364889125 -51547,0.5562625922503122 -51548,0.8794171815726477 -51549,0.47056029559265655 -51550,0.46040956143086664 -51551,0.2584434854626987 -51552,0.4246610178967062 -51553,0.49121007579107634 -51554,0.1774652707102632 -51555,0.8811045141234995 -51556,0.4443261233460588 -51557,0.703278781645306 -51558,0.20000368626381715 -51559,0.3459441749269033 -51560,0.13143688384076513 -51561,0.12654138104153878 -51562,0.48384251898452146 -51563,0.8290012539568565 -51564,0.13751012122996642 -51565,0.6629624230514009 -51566,0.277762022769499 -51567,0.5187485433541441 -51568,0.9089516871744584 -51569,0.9789048604944521 -51570,0.475153232648297 -51571,0.5458642673828192 -51572,0.05671118244265494 -51573,0.052967504566220014 -51574,0.03243924040602486 -51575,0.7032801856289509 -51576,0.7496536219787131 -51577,0.7574044040686285 -51578,0.5522154660721129 -51579,0.8873287708352301 -51580,0.8463038733817944 -51581,0.9824183058883424 -51582,0.3615123373149933 -51583,0.8429911076340921 -51584,0.8111658416766209 -51585,0.09309991721361544 -51586,0.7029828525774192 -51587,0.5927684010907155 -51588,0.9842392791944085 -51589,0.2453586551731961 -51590,0.11635011463355704 -51591,0.7628101400357256 -51592,0.46032554144698723 -51593,0.6335449455293727 -51594,0.44568299527026467 -51595,0.06909653015512496 -51596,0.07588605423760308 -51597,0.5752858370837812 -51598,0.85353365789189 -51599,0.7968635220446104 -51600,0.20369216529295808 -51601,0.39562421558903615 -51602,0.1486650436608138 -51603,0.8265611880414988 -51604,0.03339626611167523 -51605,0.7473054376773975 -51606,0.7781363201106183 -51607,0.5082795518490074 -51608,0.8438072048931464 -51609,0.3140941419588914 -51610,0.28545535952766954 -51611,0.16829404252430824 -51612,0.2808102751281778 -51613,0.5169081409828074 -51614,0.5052637302970059 -51615,0.7585160337250144 -51616,0.981605605609584 -51617,0.472319388206084 -51618,0.06813383168661802 -51619,0.9835770347941899 -51620,0.5992374926791316 -51621,0.4529221514708599 -51622,0.00021445089172622556 -51623,0.4915867352756006 -51624,0.22153067423685202 -51625,0.16073311218844943 -51626,0.27414641473174606 -51627,0.8047683821684054 -51628,0.29343118684164937 -51629,0.9770498800427694 -51630,0.30938935311860727 -51631,0.17624159492225544 -51632,0.6440415125732233 -51633,0.8490838097754392 -51634,0.14068790101640316 -51635,0.8317345988757785 -51636,0.10687519808508295 -51637,0.9333496820569928 -51638,0.5543464086884365 -51639,0.625788946889846 -51640,0.9389761499634627 -51641,0.24905026927186147 -51642,0.7691795326479706 -51643,0.8314966045571949 -51644,0.7097033901842403 -51645,0.913880558856563 -51646,0.30846068230465074 -51647,0.20832242450445948 -51648,0.2830894774875834 -51649,0.3265406775076731 -51650,0.926609683468308 -51651,0.24433493791504235 -51652,0.5823839499180269 -51653,0.981939671031606 -51654,0.18903022455734086 -51655,0.03511545907194802 -51656,0.7263367463891194 -51657,0.9207792926423067 -51658,0.6601642653388695 -51659,0.5490720562793677 -51660,0.6200158700187405 -51661,0.3945044281076088 -51662,0.5759985718109569 -51663,0.640208314858152 -51664,0.965544173467741 -51665,0.8054172362138579 -51666,0.9550659550531448 -51667,0.7012974808154028 -51668,0.15075020832032193 -51669,0.8031528213745304 -51670,0.8050136666696436 -51671,0.49430744162613194 -51672,0.752372102878117 -51673,0.29761906271026806 -51674,0.9172306824398223 -51675,0.36320577629764284 -51676,0.3034313830240173 -51677,0.5321417984285621 -51678,0.15420670379199075 -51679,0.7773921651540641 -51680,0.22411544532648986 -51681,0.5206329230171454 -51682,0.8193679051258352 -51683,0.6440693738488457 -51684,0.1750313762215392 -51685,0.7868651856030215 -51686,0.8876594919654027 -51687,0.7185092528353415 -51688,0.5714354120255115 -51689,0.13931556826078972 -51690,0.9398807716348259 -51691,0.7097426944499314 -51692,0.047601658601003516 -51693,0.6867212467785955 -51694,0.26208223536834907 -51695,0.5366073806583015 -51696,0.8941920879960463 -51697,0.7772491800771859 -51698,0.9928885471959388 -51699,0.114859899562614 -51700,0.5802354469915488 -51701,0.9294084409436031 -51702,0.7208838907202304 -51703,0.9539440242875811 -51704,0.11271649461611088 -51705,0.9946679091922724 -51706,0.9299045516039645 -51707,0.12146032633430559 -51708,0.11107248011386373 -51709,0.0787425621539195 -51710,0.8703403590358855 -51711,0.4138277035247683 -51712,0.9184384200741027 -51713,0.12919312221903745 -51714,0.18307087107710296 -51715,0.32104225721250534 -51716,0.7087314481140591 -51717,0.7786335276780563 -51718,0.7200751427216546 -51719,0.22823187797752809 -51720,0.6654622423169909 -51721,0.5270284386919353 -51722,0.8246190667489163 -51723,0.0016652940550089257 -51724,0.43102465116188127 -51725,0.7030881368593108 -51726,0.16287765809704857 -51727,0.8016911321175506 -51728,0.6289888018337905 -51729,0.23520817056943766 -51730,0.24700597618244824 -51731,0.48575695010975084 -51732,0.7405465831645255 -51733,0.7822020765412083 -51734,0.10999575837237574 -51735,0.8023262972214958 -51736,0.8873895369044187 -51737,0.4747648236952612 -51738,0.12783931638313972 -51739,0.6562249347966458 -51740,0.3543412477881853 -51741,0.40547583857874614 -51742,0.06423460232968026 -51743,0.13918390726953356 -51744,0.4712747700150933 -51745,0.8038185861542911 -51746,0.9960945514879805 -51747,0.317282040070462 -51748,0.34542646511089914 -51749,0.8194270315144447 -51750,0.8826659450648552 -51751,0.9960478725197043 -51752,0.09955665373185196 -51753,0.7115923126600752 -51754,0.7950913778838307 -51755,0.039138907429527636 -51756,0.13535071790806752 -51757,0.6651354965445125 -51758,0.08932838421833234 -51759,0.7740284191711773 -51760,0.9877692230204553 -51761,0.2085593489585169 -51762,0.9521009599598795 -51763,0.8751128469833271 -51764,0.48329519023101597 -51765,0.9661767574779647 -51766,0.471095365536764 -51767,0.42177563760510517 -51768,0.7399420659305476 -51769,0.5247789112901659 -51770,0.5637957707710758 -51771,0.38268674990253926 -51772,0.4619413527711025 -51773,0.0405076457248863 -51774,0.014624363512989014 -51775,0.3662580622058551 -51776,0.20345320971125314 -51777,0.6669575638218037 -51778,0.4873856344577564 -51779,0.5544435368681627 -51780,0.10982160266266239 -51781,0.6004796137770299 -51782,0.8627158553991755 -51783,0.24517314626596964 -51784,0.9206720281204469 -51785,0.6290832398234173 -51786,0.24241911240309855 -51787,0.31233977690614323 -51788,0.9572736067334877 -51789,0.8852043312867149 -51790,0.24036235153847563 -51791,0.35657950209043976 -51792,0.05794538595710852 -51793,0.907739551126962 -51794,0.09668430376327242 -51795,0.9166137279390545 -51796,0.2142252923922967 -51797,0.6400182476142242 -51798,0.7158648889247002 -51799,0.9024596067971828 -51800,0.6416629163963592 -51801,0.5200558413173494 -51802,0.9816589983466523 -51803,0.5375429806771995 -51804,0.9568638884379903 -51805,0.039363575367965864 -51806,0.9344017592903884 -51807,0.24000719722802288 -51808,0.5162176445816866 -51809,0.16943063726598762 -51810,0.8936240068370234 -51811,0.9076854030099075 -51812,0.9020113264760485 -51813,0.22010843504082866 -51814,0.7054242675991567 -51815,0.7795741298559542 -51816,0.818895190391171 -51817,0.8450234906134103 -51818,0.7254179456645377 -51819,0.13701789561093325 -51820,0.10138746834299595 -51821,0.4306561133262772 -51822,0.15549864963741533 -51823,0.4865859783397699 -51824,0.5263668185965077 -51825,0.5803643134516364 -51826,0.35674324822292025 -51827,0.88547785292306 -51828,0.5743524019207396 -51829,0.15537457064608717 -51830,0.6375309000437009 -51831,0.9645791052463031 -51832,0.33985110323066514 -51833,0.529829057914607 -51834,0.9018261503795195 -51835,0.3022551899640429 -51836,0.491631100312809 -51837,0.06654733831333093 -51838,0.5042782120639921 -51839,0.1296696681997479 -51840,0.26364115181174363 -51841,0.6898829165272854 -51842,0.14960277416373535 -51843,0.6410992357317614 -51844,0.6624278016752607 -51845,0.2054838210511455 -51846,0.29819241301670973 -51847,0.2834194830289004 -51848,0.11763083270256658 -51849,0.6967163610982073 -51850,0.12099979953752105 -51851,0.713114015193752 -51852,0.15967128408191167 -51853,0.03150577357537865 -51854,0.3902838889297343 -51855,0.9621809283042024 -51856,0.12609544669355433 -51857,0.5928697506362512 -51858,0.7200805612079016 -51859,0.5236008973312999 -51860,0.3984125852311623 -51861,0.7286141731445827 -51862,0.9542097135036455 -51863,0.590470537506232 -51864,0.0006616413848017366 -51865,0.33404846109731845 -51866,0.8533508935531673 -51867,0.9396802598717939 -51868,0.8940697517265048 -51869,0.8242785474169156 -51870,0.6786031010389438 -51871,0.7813109160070797 -51872,0.7035550995744607 -51873,0.7056608684218881 -51874,0.25093581554286126 -51875,0.03509024874660427 -51876,0.19024588406680043 -51877,0.06895968759995208 -51878,0.775068806157795 -51879,0.3447803567222346 -51880,0.08997223915942265 -51881,0.2504128046785882 -51882,0.32926842699678494 -51883,0.5500365692899313 -51884,0.1664547365334842 -51885,0.6085334887545618 -51886,0.13156752305709374 -51887,0.6773736717886611 -51888,0.5575394270626005 -51889,0.00219133036612551 -51890,0.7246555622606952 -51891,0.7121714805323124 -51892,0.11079870241090317 -51893,0.7318136653330953 -51894,0.7505571524628887 -51895,0.281705594545655 -51896,0.20501339930491524 -51897,0.9344086543594593 -51898,0.9309439538681473 -51899,0.8533278319637967 -51900,0.8586974145447935 -51901,0.4925558502914411 -51902,0.2608682331308685 -51903,0.5028689483914749 -51904,0.8403607469196063 -51905,0.49443695281891453 -51906,0.6373886497008306 -51907,0.6696391469649963 -51908,0.14123030096983502 -51909,0.5764473144811161 -51910,0.9097852566641371 -51911,0.6487366048409353 -51912,0.3784491195518759 -51913,0.9662753040537823 -51914,0.8837746751160058 -51915,0.20376989045172256 -51916,0.4622364807934747 -51917,0.10972540936827935 -51918,0.8459718668868467 -51919,0.7220197502946908 -51920,0.3545101289296929 -51921,0.42592863125458014 -51922,0.15486115010819268 -51923,0.26329720242092913 -51924,0.559294878679928 -51925,0.7627556548837535 -51926,0.1636538381706638 -51927,0.16932000485297705 -51928,0.9362915659893348 -51929,0.5886987470182349 -51930,0.7096029957090523 -51931,0.0567176029755917 -51932,0.7039836140691256 -51933,0.5699326291362646 -51934,0.3807852065386429 -51935,0.35619618602330727 -51936,0.27560694115381024 -51937,0.8514264675316219 -51938,0.8600707427780362 -51939,0.3293089549177609 -51940,0.8950067645211722 -51941,0.4562550356203843 -51942,0.493863398355457 -51943,0.8719146297669541 -51944,0.8952116687182039 -51945,0.23988558573266672 -51946,0.034275585456681745 -51947,0.7672644191066856 -51948,0.36929761406631156 -51949,0.4323989530840342 -51950,0.018448454835051087 -51951,0.22302075570764657 -51952,0.6079337333801914 -51953,0.6347638638592893 -51954,0.2737433651369453 -51955,0.8802643548948561 -51956,0.4086147188430086 -51957,0.9775370353750809 -51958,0.985121716601221 -51959,0.8196371582680111 -51960,0.6850795681224008 -51961,0.07131321719415651 -51962,0.24491713068335386 -51963,0.060410126080609805 -51964,0.017725419738238712 -51965,0.37571363657366796 -51966,0.9818345660536504 -51967,0.7238210303570703 -51968,0.25798236187837953 -51969,0.9044224190857577 -51970,0.6968280407071369 -51971,0.17373337298123337 -51972,0.53205656299962 -51973,0.9511620955628581 -51974,0.5973964462747985 -51975,0.9241275340050611 -51976,0.8526092225224889 -51977,0.4327640138421751 -51978,0.7857834475474397 -51979,0.9478973642410885 -51980,0.42704370702301 -51981,0.640202077814818 -51982,0.6589720889381594 -51983,0.2413164467843919 -51984,0.7731537721451326 -51985,0.3447795541129075 -51986,0.5082657721863422 -51987,0.9591523055640137 -51988,0.3847898254193549 -51989,0.8080226941071825 -51990,0.08264497275733029 -51991,0.4207931024182433 -51992,0.5756539461425056 -51993,0.42711166568614967 -51994,0.5924224629293589 -51995,0.4613439179754961 -51996,0.49677550244902324 -51997,0.7056062770883027 -51998,0.029880959079213176 -51999,0.577390746769787 -52000,0.9101833907002498 -52001,0.28354008814629916 -52002,0.7649746556106518 -52003,0.4809497114301854 -52004,0.21379439193707617 -52005,0.37276419613848544 -52006,0.9526340509430709 -52007,0.8924751513055361 -52008,0.03709270251303709 -52009,0.47820277974849024 -52010,0.9795054843420893 -52011,0.944397904280732 -52012,0.01430981353414662 -52013,0.47229192991680824 -52014,0.29459313138857013 -52015,0.13320093427247837 -52016,0.38503264978894514 -52017,0.09394026658035848 -52018,0.4230733983347642 -52019,0.9736044094310319 -52020,0.20890855624226579 -52021,0.3407877491806166 -52022,0.8438391079536721 -52023,0.8293853707805823 -52024,0.41514176649240464 -52025,0.15758103065182294 -52026,0.5125638474224454 -52027,0.5401540120770902 -52028,0.7133282287382424 -52029,0.13174306677190084 -52030,0.6452104295151734 -52031,0.10540298148410199 -52032,0.15249192547800905 -52033,0.224003943875016 -52034,0.9926074487390006 -52035,0.5069754436449181 -52036,0.9608364136291784 -52037,0.3072033372315649 -52038,0.7236421286504628 -52039,0.9128498734086631 -52040,0.190769094054013 -52041,0.7130411413780323 -52042,0.9523044883955295 -52043,0.27877904898315287 -52044,0.8049501169011092 -52045,0.8441420885130416 -52046,0.8549926660996618 -52047,0.9975995337229577 -52048,0.7979640171043958 -52049,0.27451670404601314 -52050,0.009682745290916617 -52051,0.8036989166841877 -52052,0.7148793027881765 -52053,0.4566390574375008 -52054,0.0035481045959127044 -52055,0.34201607435804027 -52056,0.11368940929466709 -52057,0.216923409906287 -52058,0.016856799402286904 -52059,0.8598256850027083 -52060,0.8791063247913935 -52061,0.15419317206827288 -52062,0.06450659717024165 -52063,0.3406785297088428 -52064,0.19267919834187464 -52065,0.9251062353718357 -52066,0.8948658223516993 -52067,0.420447755037213 -52068,0.3927647793576968 -52069,0.8490151019850606 -52070,0.9092938950361998 -52071,0.27652175586647554 -52072,0.45656722307223563 -52073,0.7360531516007227 -52074,0.7195634440733343 -52075,0.24501731120585202 -52076,0.15301232611022453 -52077,0.011358440651932922 -52078,0.8889377591147376 -52079,0.8692525157819011 -52080,0.1441061564543904 -52081,0.47213991845888015 -52082,0.5548933043547503 -52083,0.0011191778002627162 -52084,0.5326504775767041 -52085,0.19846313103480662 -52086,0.01895750537829255 -52087,0.1481152879590012 -52088,0.2936273033997201 -52089,0.18890566385782848 -52090,0.3924848381513917 -52091,0.05254778734751264 -52092,0.11940932065486098 -52093,0.7643908119372665 -52094,0.8934139718766295 -52095,0.9621947822394465 -52096,0.03806321119573919 -52097,0.5079304231523158 -52098,0.6236339040018439 -52099,0.9824842642991387 -52100,0.9902947733215052 -52101,0.8465635193863997 -52102,0.17004304314858132 -52103,0.44007060690199284 -52104,0.575168204787038 -52105,0.36792249567648216 -52106,0.2460976812096044 -52107,0.37582483736023387 -52108,0.025281215851061023 -52109,0.2549070335278182 -52110,0.023246623120548815 -52111,0.8366700408819904 -52112,0.17372400278704925 -52113,0.06054228400210526 -52114,0.8549976816136705 -52115,0.7494379059343905 -52116,0.5315618107494015 -52117,0.22407198382654658 -52118,0.9713379994684076 -52119,0.27684758737077697 -52120,0.009315459897772715 -52121,0.11922137162208657 -52122,0.044256775343257226 -52123,0.15115508469003558 -52124,0.4674582750886248 -52125,0.404299662194214 -52126,0.12132169435765194 -52127,0.2793671641680452 -52128,0.1831097583299881 -52129,0.7580673904265501 -52130,0.46008176575988335 -52131,0.3950196758394604 -52132,0.4819235743180925 -52133,0.6663413266289671 -52134,0.14654757774634264 -52135,0.622380908627756 -52136,0.8774454856957059 -52137,0.8363152510888275 -52138,0.4072224987906946 -52139,0.5914562383153525 -52140,0.5118932655242786 -52141,0.22894345563107776 -52142,0.7239396384950785 -52143,0.17834333324713603 -52144,0.9379502078763493 -52145,0.16513106764032237 -52146,0.050104109181505874 -52147,0.01656005629203272 -52148,0.7466844157567238 -52149,0.1879116025132347 -52150,0.394741719078322 -52151,0.2792563316408261 -52152,0.1301179595638502 -52153,0.4739846053304616 -52154,0.11795887897764779 -52155,0.5055397653556354 -52156,0.8971186743188134 -52157,0.3105793923129634 -52158,0.27228599440204426 -52159,0.7158911664729948 -52160,0.05045505026095909 -52161,0.33700988415017263 -52162,0.561770189042844 -52163,0.31291784912650966 -52164,0.5190527120884112 -52165,0.6586235920760766 -52166,0.1384576107125257 -52167,0.7914441900291262 -52168,0.042226663528510566 -52169,0.9562848876728719 -52170,0.5584079914630314 -52171,0.6094071131460286 -52172,0.2536324641972789 -52173,0.4096375549745338 -52174,0.38331647530567836 -52175,0.31355519912072793 -52176,0.896335525503037 -52177,0.5138952736761926 -52178,0.6257453753231141 -52179,0.7309536436548734 -52180,0.6471234248714665 -52181,0.44141925637937074 -52182,0.45003955761043934 -52183,0.6769828212464247 -52184,0.874634581688878 -52185,0.5648067039331963 -52186,0.5134580242628439 -52187,0.07341064914378936 -52188,0.399226860270285 -52189,0.6087952678464934 -52190,0.45232255702577384 -52191,0.25761990243647437 -52192,0.9568681031288083 -52193,0.6435185099578863 -52194,0.530177112818126 -52195,0.7501905394760302 -52196,0.694937053051211 -52197,0.7125684427080867 -52198,0.5493794031857779 -52199,0.203613000262297 -52200,0.9560475883285 -52201,0.8139499775377699 -52202,0.16313959318634197 -52203,0.6828505567877594 -52204,0.13889552723043097 -52205,0.8216021629091589 -52206,0.4799095634928925 -52207,0.6712670300248096 -52208,0.04585158687574442 -52209,0.30138271104914927 -52210,0.5190078356730567 -52211,0.6207494414644247 -52212,0.8409183473216966 -52213,0.0957807908527285 -52214,0.9217184797244817 -52215,0.5396860088118108 -52216,0.03569336362694864 -52217,0.4782247213191081 -52218,0.17411424205925186 -52219,0.2523177775498546 -52220,0.709219801007908 -52221,0.30750040609909013 -52222,0.11543206379553184 -52223,0.5743654645983108 -52224,0.804423149349286 -52225,0.023256809746414753 -52226,0.932073436362246 -52227,0.16860374545441448 -52228,0.643466068956183 -52229,0.28145087680010206 -52230,0.635487316073561 -52231,0.9098653383671981 -52232,0.45214759207224153 -52233,0.1991884305110233 -52234,0.5960550537656947 -52235,0.9546508842894217 -52236,0.47131259994407526 -52237,0.672544947191867 -52238,0.9729403643937472 -52239,0.885583389221051 -52240,0.8141458319747052 -52241,0.9767113681871893 -52242,0.8989779847515738 -52243,0.05861351852570895 -52244,0.20712804714102084 -52245,0.5637614957094554 -52246,0.18989408119108064 -52247,0.7066560882585472 -52248,0.9125253010670743 -52249,0.2886687688635611 -52250,0.842258843579877 -52251,0.4249111317575328 -52252,0.7678820901067931 -52253,0.3342292463648808 -52254,0.25852449828542867 -52255,0.863195366192187 -52256,0.21724833394864662 -52257,0.5780466696539445 -52258,0.2579047228677962 -52259,0.8843472598051346 -52260,0.21077139018859226 -52261,0.8132202860730552 -52262,0.5014580084955821 -52263,0.695955219173747 -52264,0.7048334222810806 -52265,0.017873480976309697 -52266,0.2793812248991333 -52267,0.3218405778471082 -52268,0.20738034178811748 -52269,0.44679775960482704 -52270,0.5056080312754547 -52271,0.05403401632153915 -52272,0.7614232720585575 -52273,0.48024196880886116 -52274,0.28807339855800185 -52275,0.820102855481658 -52276,0.7707571269936808 -52277,0.7105785669023742 -52278,0.08902374690010884 -52279,0.6006248008912094 -52280,0.23119802818069013 -52281,0.0057789843020937814 -52282,0.10838217519979909 -52283,0.333563818199899 -52284,0.39296482663338805 -52285,0.45259511421841825 -52286,0.1452643828230452 -52287,0.8792830025782005 -52288,0.7892987548459718 -52289,0.5573715591696926 -52290,0.5929046525802791 -52291,0.20909144014901004 -52292,0.36355402568540474 -52293,0.30138451971986635 -52294,0.27315915213773123 -52295,0.9266033119022576 -52296,0.5245052775118553 -52297,0.7632914920917293 -52298,0.36607628419844196 -52299,0.5654878474780126 -52300,0.14584030067562992 -52301,0.3023930106958225 -52302,0.9522567180109313 -52303,0.24176651105900582 -52304,0.7106646442112438 -52305,0.1899164030991376 -52306,0.8766203332418935 -52307,0.7636137627352152 -52308,0.15254299473205135 -52309,0.3863514385669209 -52310,0.7197630725074012 -52311,0.21555362098326147 -52312,0.9062892144241099 -52313,0.6005569442048332 -52314,0.3549997708324054 -52315,0.9060427051253169 -52316,0.8597681644465653 -52317,0.6828060658064902 -52318,0.48486023392531574 -52319,0.13563061724128578 -52320,0.3320329625138405 -52321,0.8312673422212759 -52322,0.9011980550189945 -52323,0.6501311889553953 -52324,0.978523820838765 -52325,0.009326286154919816 -52326,0.28696850407962693 -52327,0.21873036083508968 -52328,0.1409416172795327 -52329,0.43587053218136795 -52330,0.5511555978049929 -52331,0.004670257076969109 -52332,0.47407781296022733 -52333,0.6370937982885988 -52334,0.8990785958920936 -52335,0.02120812817099338 -52336,0.5715495123097114 -52337,0.5015287878935477 -52338,0.5461118548918287 -52339,0.7050300465840332 -52340,0.6916191291866046 -52341,0.30707750827398905 -52342,0.05371656728003771 -52343,0.9131861478261243 -52344,0.11913015742722133 -52345,0.11575265594763073 -52346,0.5958867909330073 -52347,0.36197339530805206 -52348,0.16097897525524751 -52349,0.9336893951023568 -52350,0.7247361285883749 -52351,0.8023020231599572 -52352,0.9603748634082598 -52353,0.6581898211878514 -52354,0.7753601333856207 -52355,0.10625105879865515 -52356,0.8442604157875454 -52357,0.12350845847856673 -52358,0.2996878762809946 -52359,0.8608858460661343 -52360,0.5972481520954752 -52361,0.8894545370452899 -52362,0.8698045254130959 -52363,0.19192799636129365 -52364,0.964515978215409 -52365,0.8190179263284587 -52366,0.46606709136858226 -52367,0.9966988158468986 -52368,0.3779647234590666 -52369,0.6646277436257535 -52370,0.794049604280849 -52371,0.7576432273606608 -52372,0.4665980369451884 -52373,0.7320327229062202 -52374,0.20188417941886017 -52375,0.9121335760170057 -52376,0.28557728451981623 -52377,0.673723486182103 -52378,0.0809403625624533 -52379,0.2951418286505312 -52380,0.06425272352314515 -52381,0.47737628580120295 -52382,0.6446988684966051 -52383,0.2004490275894798 -52384,0.18008345289531236 -52385,0.38647399901327706 -52386,0.6459409596149026 -52387,0.9374942997462259 -52388,0.6350357835882359 -52389,0.019465219964567404 -52390,0.4580451057077014 -52391,0.020376699015638655 -52392,0.882365900439502 -52393,0.4614185077710049 -52394,0.7592730416041865 -52395,0.4391155254755751 -52396,0.48853316124014845 -52397,0.04332729591839024 -52398,0.4398412146713736 -52399,0.45486397864335526 -52400,0.5107160897438328 -52401,0.05579176383319595 -52402,0.43583617307204403 -52403,0.476135869902079 -52404,0.053094415147849405 -52405,0.7999139877904726 -52406,0.21231851014707637 -52407,0.18843621649906406 -52408,0.26443042378062276 -52409,0.7372880219500697 -52410,0.14201398364719253 -52411,0.9053182270179315 -52412,0.5094884985387957 -52413,0.3878293850922504 -52414,0.7483459031664288 -52415,0.17742189568179456 -52416,0.29397297991189575 -52417,0.61376579299893 -52418,0.29439127409597654 -52419,0.767224318320832 -52420,0.019134559039919452 -52421,0.4459440208593467 -52422,0.6592153873055867 -52423,0.9170831009808968 -52424,0.2835237685409593 -52425,0.24012069483150167 -52426,0.32612842234132766 -52427,0.2793718139259974 -52428,0.596774747885293 -52429,0.4720532465698347 -52430,0.6586547181420678 -52431,0.0569424104781423 -52432,0.6800681400404359 -52433,0.7878165101305407 -52434,0.2305226810368587 -52435,0.8803345634323769 -52436,0.14717734959135687 -52437,0.5449152563033198 -52438,0.4001479393760685 -52439,0.7196604697562755 -52440,0.2748454236051404 -52441,0.7438829381447144 -52442,0.31467142885540655 -52443,0.18660867353659372 -52444,0.30461398384165017 -52445,0.08190382658419926 -52446,0.34133260140263877 -52447,0.0714370067575959 -52448,0.08693127551253887 -52449,0.04591903145168397 -52450,0.5916959011992592 -52451,0.4579617547804109 -52452,0.6934693493306623 -52453,0.9312985367815134 -52454,0.0074156988722499095 -52455,0.7650909321448826 -52456,0.6105411347125645 -52457,0.7241786887085024 -52458,0.2334209244373432 -52459,0.7766094769150966 -52460,0.09572665138583847 -52461,0.020117377913968282 -52462,0.35458299377123825 -52463,0.21526120379490876 -52464,0.479878603090116 -52465,0.9995706471146909 -52466,0.9721530640719025 -52467,0.8900753757621811 -52468,0.9944029486066881 -52469,0.22148916529628293 -52470,0.1866203060889422 -52471,0.5603549846756346 -52472,0.6722067088559461 -52473,0.6365962118881695 -52474,0.7202312099079815 -52475,0.4889205025368447 -52476,0.41114874088818965 -52477,0.0006262319961887197 -52478,0.21801614134892666 -52479,0.5985955849512455 -52480,0.5329304782366624 -52481,0.3407388499746813 -52482,0.6472152037333322 -52483,0.725466164391952 -52484,0.056005706362419305 -52485,0.02586864502062247 -52486,0.6156055211710766 -52487,0.863977961770522 -52488,0.7908776379717728 -52489,0.16651457972198902 -52490,0.6360462647922591 -52491,0.5224498497645362 -52492,0.7606402417798046 -52493,0.6990024428397547 -52494,0.9357938743245441 -52495,0.4096471348338041 -52496,0.5493198056664025 -52497,0.19630389880261712 -52498,0.839029750581027 -52499,0.3256257996695854 -52500,0.03603968143579639 -52501,0.5589406496176995 -52502,0.28720598328538527 -52503,0.3732603547354555 -52504,0.006489048278988774 -52505,0.7140706880610964 -52506,0.21376631917443123 -52507,0.45722050248838686 -52508,0.3910572115034079 -52509,0.3329606057794522 -52510,0.399702139174151 -52511,0.1608766132786944 -52512,0.799031934291452 -52513,0.8379921853554894 -52514,0.7642940615197897 -52515,0.16416996446385201 -52516,0.603496117290509 -52517,0.25987786916437317 -52518,0.3040413943572664 -52519,0.3725591250370769 -52520,0.6713439208849982 -52521,0.9342139933376287 -52522,0.5260841057452593 -52523,0.5860531839027373 -52524,0.8934021438552542 -52525,0.43060274241836216 -52526,0.9211809559855872 -52527,0.143907935745185 -52528,0.995469846824168 -52529,0.7175466164012603 -52530,0.1470789191809374 -52531,0.8270740906422808 -52532,0.7462152851790474 -52533,0.4190247705683996 -52534,0.14277636427007168 -52535,0.6912265294577731 -52536,0.8039319723427174 -52537,0.3510684316972692 -52538,0.39288416026512174 -52539,0.08860608012652904 -52540,0.8340676309553988 -52541,0.49072974188471064 -52542,0.8627006176467042 -52543,0.5810941015709937 -52544,0.6554008722743484 -52545,0.9841020360129609 -52546,0.07706439724576875 -52547,0.9290094713344222 -52548,0.6708082222904345 -52549,0.32333925329099933 -52550,0.3540173441905642 -52551,0.13825621968694668 -52552,0.2416090909854327 -52553,0.23444996906913318 -52554,0.8420945545913777 -52555,0.9149139844428534 -52556,0.7725758161836898 -52557,0.09545019421393741 -52558,0.9608278213894181 -52559,0.9415110445595332 -52560,0.5324608062040445 -52561,0.1348814669497953 -52562,0.7880160852483615 -52563,0.12038374839841282 -52564,0.6429736708064847 -52565,0.9701816224707914 -52566,0.4123311735618813 -52567,0.5687915710800971 -52568,0.7343800559862259 -52569,0.7576701439311619 -52570,0.4632674876181091 -52571,0.8481096664809367 -52572,0.9386657636300999 -52573,0.14985131893034298 -52574,0.541009086049351 -52575,0.23192631682191867 -52576,0.06887874619474288 -52577,0.4191435890845028 -52578,0.7913779710226918 -52579,0.23815070611691946 -52580,0.43705365879547964 -52581,0.9846261408404766 -52582,0.8902256546752373 -52583,0.24898614653090623 -52584,0.983884598292488 -52585,0.8588911480393793 -52586,0.08147725201343115 -52587,0.4844481470322829 -52588,0.4058816894633218 -52589,0.5015940275521172 -52590,0.6838154893238573 -52591,0.46343097978430114 -52592,0.7496741201360625 -52593,0.8039827916508291 -52594,0.3592260489178827 -52595,0.29832686780761464 -52596,0.7855806844388328 -52597,0.16519239129780816 -52598,0.6486141934089079 -52599,0.8536176026343892 -52600,0.8520094706087319 -52601,0.9611627119615443 -52602,0.8694969551499275 -52603,0.06571868403755399 -52604,0.09434947490292667 -52605,0.2617498277950333 -52606,0.24153213425587128 -52607,0.6852409795726863 -52608,0.16986160690735796 -52609,0.21165078217130462 -52610,0.8676388744844086 -52611,0.7692970292788553 -52612,0.0351263256801827 -52613,0.7644139870763611 -52614,0.5126912526041268 -52615,0.4293951402046483 -52616,0.3213614114564427 -52617,0.20958073033390612 -52618,0.39180438011068686 -52619,0.9201440530229461 -52620,0.9758738889316759 -52621,0.6025873789775833 -52622,0.5187404341376597 -52623,0.23739970026608725 -52624,0.6210289603052798 -52625,0.09581648902375517 -52626,0.8684840083028733 -52627,0.16049463247628992 -52628,0.025829808108997487 -52629,0.3793346977519385 -52630,0.7666163403567738 -52631,0.33166405289831624 -52632,0.8466563360597303 -52633,0.8616983457708516 -52634,0.20023493367171552 -52635,0.22324461440616072 -52636,0.9743336586838539 -52637,0.0004083356479515077 -52638,0.037202060286164684 -52639,0.9869580964766677 -52640,0.6275823608052731 -52641,0.3337571660891998 -52642,0.4824157988194483 -52643,0.8674656417191319 -52644,0.60528102596941 -52645,0.12519460518605185 -52646,0.25835183901122394 -52647,0.13224356572661333 -52648,0.7270510661100092 -52649,0.365367272776582 -52650,0.20338735932555818 -52651,0.6352426925689385 -52652,0.4362750592351521 -52653,0.7143696337142429 -52654,0.4406069762888558 -52655,0.6028000606022236 -52656,0.33101264023962096 -52657,0.24729339256328187 -52658,0.27172104904013994 -52659,0.1506773162643843 -52660,0.666205111392056 -52661,0.034953256639964514 -52662,0.7555564472298919 -52663,0.6738978992922199 -52664,0.4331639761791687 -52665,0.190583715072699 -52666,0.6260563182886915 -52667,0.5715510452024111 -52668,0.39835773636202765 -52669,0.1820139469962344 -52670,0.8862431295974775 -52671,0.33216079602450255 -52672,0.27148063593684124 -52673,0.5950130459482422 -52674,0.11067195858161649 -52675,0.36448865777998085 -52676,0.35473786060810175 -52677,0.6807149354648692 -52678,0.6684847114620401 -52679,0.44745633864781753 -52680,0.5974701979541216 -52681,0.8113131707727268 -52682,0.8595826079384502 -52683,0.5762429276700765 -52684,0.2785518376481485 -52685,0.8196706227344221 -52686,0.7120744331880791 -52687,0.5860620709701054 -52688,0.4392325195710097 -52689,0.5409796906302028 -52690,0.9709878342744025 -52691,0.8560478093561718 -52692,0.37676828266734363 -52693,0.7291391547936016 -52694,0.15321766257157377 -52695,0.1991407145546269 -52696,0.6782536443848957 -52697,0.2977041630482281 -52698,0.16802361377848796 -52699,0.47968152932814323 -52700,0.6143055407542914 -52701,0.42216479824729836 -52702,0.6603550837898482 -52703,0.5473628777481613 -52704,0.0450065096538782 -52705,0.50204639621189 -52706,0.7415629251211329 -52707,0.41570938772339827 -52708,0.845655062089584 -52709,0.08320034267738574 -52710,0.4224686725517688 -52711,0.9870768706308116 -52712,0.5561443279677751 -52713,0.40271482805665526 -52714,0.45003874683344147 -52715,0.3059525562471188 -52716,0.6020515897427791 -52717,0.2794136374618753 -52718,0.9484190275474037 -52719,0.30880461639820234 -52720,0.6818305425269944 -52721,0.4650578788590175 -52722,0.2369599391469306 -52723,0.3242628934394004 -52724,0.7740827427574708 -52725,0.027744047302764474 -52726,0.48715459574786457 -52727,0.8259094206981074 -52728,0.9497827867705928 -52729,0.6161573526736359 -52730,0.12572843769088493 -52731,0.27748697606305794 -52732,0.01572941069692191 -52733,0.4767628365741413 -52734,0.655374318986414 -52735,0.7524633924231248 -52736,0.6396474596234779 -52737,0.3027980482620062 -52738,0.38986070428825415 -52739,0.15602712041049238 -52740,0.21940049494813962 -52741,0.5905946721538841 -52742,0.8919163282999892 -52743,0.16888534976305336 -52744,0.380059805487878 -52745,0.2784079201763545 -52746,0.3789596808582887 -52747,0.8522222550397204 -52748,0.3383792835643773 -52749,0.6737993964033391 -52750,0.6644651667490646 -52751,0.07475993770016676 -52752,0.7274204727088427 -52753,0.8793360922867315 -52754,0.4070654113780494 -52755,0.3559796979441958 -52756,0.6391788763892722 -52757,0.29855196730772016 -52758,0.18969836359461045 -52759,0.2864165398154507 -52760,0.9491522259537944 -52761,0.29614020174896294 -52762,0.4952162577882213 -52763,0.4716912454184534 -52764,0.8096341372439537 -52765,0.8886936470228609 -52766,0.9956234697819029 -52767,0.1882732125508041 -52768,0.1900277432529266 -52769,0.9434527609481672 -52770,0.39073124012883576 -52771,0.8880689041563231 -52772,0.2627808031225133 -52773,0.9808456695501653 -52774,0.07087319130026282 -52775,0.8584182146041405 -52776,0.3615087422684603 -52777,0.33474858695771625 -52778,0.9665410612014743 -52779,0.7015919706389787 -52780,0.25088388298449615 -52781,0.5130676173349679 -52782,0.31872304909389715 -52783,0.06758665520610341 -52784,0.3806976968331163 -52785,0.5751855266609519 -52786,0.09716745321932874 -52787,0.3560958976418209 -52788,0.08494930276394541 -52789,0.3496320157952125 -52790,0.1765505972633442 -52791,0.08432156741542207 -52792,0.17927050798676158 -52793,0.173404553069062 -52794,0.33243774274343074 -52795,0.9707810089290962 -52796,0.9739377233741868 -52797,0.05467063652595183 -52798,0.19456868586197396 -52799,0.1302660956088284 -52800,0.9165948519814616 -52801,0.23104559432872263 -52802,0.5228503012356287 -52803,0.15135778398182065 -52804,0.026993674973477155 -52805,0.5165458382674353 -52806,0.08491199748588396 -52807,0.8241969935327593 -52808,0.8171226749822822 -52809,0.8170312869572572 -52810,0.5579144513871526 -52811,0.5115432687387215 -52812,0.663224440121829 -52813,0.9678169676916437 -52814,0.7272719952668596 -52815,0.23703475133588015 -52816,0.3318781261557253 -52817,0.57650297275153 -52818,0.039523924250927545 -52819,0.3805512108990451 -52820,0.5498912133148331 -52821,0.8179986759206865 -52822,0.1965961229043679 -52823,0.060693197801638954 -52824,0.38550231896324494 -52825,0.853216493326069 -52826,0.6191392189090503 -52827,0.8688527911197316 -52828,0.09648967950330534 -52829,0.21526261834157157 -52830,0.08124088038893107 -52831,0.2185964497369175 -52832,0.8210219645960202 -52833,0.5419734671600468 -52834,0.13475560686213817 -52835,0.6510334093113571 -52836,0.4594831788865472 -52837,0.601172184125938 -52838,0.6587042565687181 -52839,0.36843161865613505 -52840,0.2260495096019024 -52841,0.6243451234757986 -52842,0.11047562591262228 -52843,0.09776945458368314 -52844,0.876970907149647 -52845,0.7494774783946987 -52846,0.6001387827940563 -52847,0.8582865923807249 -52848,0.6153583624775811 -52849,0.6065673605625559 -52850,0.4788369721428277 -52851,0.7266174158278564 -52852,0.20599345082905773 -52853,0.9131954546036439 -52854,0.16478368055488102 -52855,0.6954128498354082 -52856,0.8307603067865901 -52857,0.45615526237062853 -52858,0.9326339357540901 -52859,0.8230033250985936 -52860,0.9211409320834941 -52861,0.09371002093851555 -52862,0.9106334274569534 -52863,0.16671266180042288 -52864,0.7514725828068305 -52865,0.08359543715649798 -52866,0.01793207837095112 -52867,0.6483942965617796 -52868,0.06874296854014872 -52869,0.9432923773960701 -52870,0.22023566722994325 -52871,0.21320905927198675 -52872,0.32875833305820024 -52873,0.19197997611308215 -52874,0.10180808610673131 -52875,0.5214193899290586 -52876,0.7069552009843474 -52877,0.46134590221916005 -52878,0.9194914500802867 -52879,0.6387745309048835 -52880,0.036455618436817216 -52881,0.35151015679187714 -52882,0.12274612520323636 -52883,0.36360480589031696 -52884,0.4403473168237134 -52885,0.9149604291863378 -52886,0.20026180659168125 -52887,0.14903856180214747 -52888,0.35187402791938416 -52889,0.8828814312026132 -52890,0.05473913359280158 -52891,0.5525826724605554 -52892,0.882694120164237 -52893,0.16141818206417968 -52894,0.8541289357470728 -52895,0.011508356451035762 -52896,0.4641527449494641 -52897,0.8676389249054206 -52898,0.7815861721614937 -52899,0.22562508868626163 -52900,0.27718989213002776 -52901,0.707260484319116 -52902,0.29934462154107266 -52903,0.2741948587321008 -52904,0.019402562065321316 -52905,0.047585758189942595 -52906,0.7720546329677461 -52907,0.8722469843712987 -52908,0.5140595592855478 -52909,0.868919418069752 -52910,0.8056989940604927 -52911,0.3962162970571167 -52912,0.3735870907360965 -52913,0.16354036261476868 -52914,0.24662410231459642 -52915,0.8561902945993525 -52916,0.5869418964520947 -52917,0.6643184647460967 -52918,0.2705457084869676 -52919,0.47772765597207856 -52920,0.5839091439353908 -52921,0.39294520655738074 -52922,0.2752207496277074 -52923,0.43639788124869716 -52924,0.7308788267123273 -52925,0.686434372922387 -52926,0.08074099170431026 -52927,0.5273893203971852 -52928,0.6089222965205127 -52929,0.5434356437324143 -52930,0.6669340692019996 -52931,0.19885043108231604 -52932,0.020401170354088394 -52933,0.5922056041277982 -52934,0.5482632558584787 -52935,0.040157783068574426 -52936,0.7804822932932148 -52937,0.07806738473926111 -52938,0.3662816218535332 -52939,0.5171780775704082 -52940,0.8535061320494706 -52941,0.34550231960249644 -52942,0.8363140030507425 -52943,0.8366932372109446 -52944,0.8395565708390421 -52945,0.8157945691339247 -52946,0.6629382559624604 -52947,0.37746363076192546 -52948,0.6506073128836676 -52949,0.3613717845111304 -52950,0.7285597603892257 -52951,0.7033903400973205 -52952,0.44552547625536565 -52953,0.7904163547196439 -52954,0.9237077792536896 -52955,0.14580173042657651 -52956,0.7936634121803056 -52957,0.8850410389078988 -52958,0.3781375075559147 -52959,0.8942708634387571 -52960,0.3683917660953402 -52961,0.6967908133150928 -52962,0.7011652066583095 -52963,0.7627349204972741 -52964,0.6011766669859162 -52965,0.7110766346576246 -52966,0.39277681309301005 -52967,0.9475904516675299 -52968,0.18120863413360622 -52969,0.4017302192481843 -52970,0.7298006677792932 -52971,0.8368265285818834 -52972,0.8376857733593526 -52973,0.21279237503078507 -52974,0.39300059701524237 -52975,0.5916250898770242 -52976,0.769874856591569 -52977,0.42565706186976215 -52978,0.9096345711186907 -52979,0.4915733345690835 -52980,0.21515038754501326 -52981,0.2746338047274588 -52982,0.1617730965720412 -52983,0.9669934893592426 -52984,0.8460857270503801 -52985,0.253195627620038 -52986,0.9165978995076433 -52987,0.6630524490011169 -52988,0.13914138379263985 -52989,0.9590001380753188 -52990,0.996561044428023 -52991,0.034513270549699215 -52992,0.8142196037349682 -52993,0.3701349874220511 -52994,0.04610584159455777 -52995,0.05716349435948742 -52996,0.582383994900818 -52997,0.3581203980132196 -52998,0.27355861598026665 -52999,0.8729709256053111 -53000,0.31679229047621527 -53001,0.23923956445957373 -53002,0.4393919120997237 -53003,0.4973021862499927 -53004,0.4206827560327856 -53005,0.10745914560261582 -53006,0.9999273142628009 -53007,0.8017531137018216 -53008,0.3863892019056535 -53009,0.5762246546385469 -53010,0.38815970469881644 -53011,0.316114096655042 -53012,0.3269318476950993 -53013,0.35850005290601683 -53014,0.5527751937667339 -53015,0.20413676397052638 -53016,0.17910852604228378 -53017,0.04971053287126903 -53018,0.45675256212669946 -53019,0.8282883216823571 -53020,0.9593858377705409 -53021,0.9339718989934245 -53022,0.5178022817086537 -53023,0.11018080863049173 -53024,0.6037611081391755 -53025,0.4660666741902907 -53026,0.025986769889070116 -53027,0.743294063247427 -53028,0.3448034735417669 -53029,0.09181219137122942 -53030,0.8509037429073533 -53031,0.010390486673818033 -53032,0.2195628784073912 -53033,0.283650068251848 -53034,0.33169223832741734 -53035,0.07237485121063725 -53036,0.17678809624103564 -53037,0.5780458966732105 -53038,0.8050665909392729 -53039,0.05624061241157918 -53040,0.5123709389719626 -53041,0.17487893712214098 -53042,0.9967009531765859 -53043,0.5441138807184096 -53044,0.4653748213558123 -53045,0.046515778707903244 -53046,0.17006186589306838 -53047,0.2959643404755661 -53048,0.26100237306259133 -53049,0.5314086376130005 -53050,0.5347650208150484 -53051,0.9170870154821736 -53052,0.41792781110777766 -53053,0.3024009746472375 -53054,0.42344523289617797 -53055,0.026667270272340504 -53056,0.4289434857044604 -53057,0.3290799942286594 -53058,0.64622703533194 -53059,0.24611838182464074 -53060,0.6771463700285975 -53061,0.20287885904752467 -53062,0.5813637014884045 -53063,0.3844814486714947 -53064,0.5655313561132105 -53065,0.6089860430540088 -53066,0.751862234695992 -53067,0.5752569445551505 -53068,0.3799911406730504 -53069,0.3954051740137804 -53070,0.20162593290527786 -53071,0.8498599800248269 -53072,0.8297433659709887 -53073,0.533838755437112 -53074,0.7049985493523685 -53075,0.1677988683537941 -53076,0.6566024826967853 -53077,0.6235320306187312 -53078,0.20598321836537803 -53079,0.18263881112855274 -53080,0.015802533721011036 -53081,0.3940899925877017 -53082,0.11853159814760572 -53083,0.24687098240938166 -53084,0.23706845769635165 -53085,0.4103829667096931 -53086,0.26030585890865543 -53087,0.437630162017964 -53088,0.5786953327672482 -53089,0.4347748434760873 -53090,0.024166199267929067 -53091,0.8817640576361839 -53092,0.64534116092089 -53093,0.12483413013027478 -53094,0.9062118046663574 -53095,0.1625111042958478 -53096,0.37617522485572863 -53097,0.3428503651112267 -53098,0.6417355018597402 -53099,0.5348229177261805 -53100,0.6707029999994345 -53101,0.8742420471167016 -53102,0.8747074693920954 -53103,0.7193190651695797 -53104,0.9017848143222563 -53105,0.7580515174541634 -53106,0.5897478589594722 -53107,0.14410670126835656 -53108,0.4213344513550793 -53109,0.7133658930694621 -53110,0.7739818513543143 -53111,0.489428703184135 -53112,0.6124183409369195 -53113,0.7522095335301886 -53114,0.7583667282750653 -53115,0.3258538117230748 -53116,0.8758985783823887 -53117,0.8642315139696652 -53118,0.7606695732033404 -53119,0.15837653188507717 -53120,0.9727093908767243 -53121,0.1898799409667804 -53122,0.05762011350213947 -53123,0.8701232125480802 -53124,0.08858123358403502 -53125,0.9025808301180708 -53126,0.6899011986027356 -53127,0.41136162491198724 -53128,0.6153761612336562 -53129,0.5336225863907889 -53130,0.51973734575671 -53131,0.85491454642938 -53132,0.004652335850610312 -53133,0.95834940010219 -53134,0.6762356399621601 -53135,0.6231367138773384 -53136,0.704699534505089 -53137,0.370618089522474 -53138,0.9146551760641034 -53139,0.7217440360561973 -53140,0.9354773133433028 -53141,0.5715449055094131 -53142,0.8102954532029149 -53143,0.9273813808119723 -53144,0.24240991802876133 -53145,0.23382563883415652 -53146,0.49662648397462184 -53147,0.6358038532963708 -53148,0.8917625833721069 -53149,0.9034729716754294 -53150,0.646968770887758 -53151,0.6661955564670339 -53152,0.6306678186700894 -53153,0.12306223326807453 -53154,0.6052618910262255 -53155,0.2006840333745432 -53156,0.6296844860729325 -53157,0.16895941245334112 -53158,0.32566968384370254 -53159,0.7497289593454005 -53160,0.7607177415507975 -53161,0.21670209411116648 -53162,0.4914006078779213 -53163,0.6073181925288442 -53164,0.5192531799605247 -53165,0.4850631921437639 -53166,0.19582787143317604 -53167,0.04791684656364226 -53168,0.28761794340593905 -53169,0.19899555919857992 -53170,0.9931104284449341 -53171,0.3890273943212813 -53172,0.3294031241855687 -53173,0.866209499347022 -53174,0.9907361272626001 -53175,0.39446376204415723 -53176,0.43240277448166253 -53177,0.3081266808667058 -53178,0.8425069476653566 -53179,0.2894032354197228 -53180,0.6738125661690098 -53181,0.42249773510319133 -53182,0.6983228449427924 -53183,0.9741680730966136 -53184,0.27060015128666737 -53185,0.25448010138200283 -53186,0.10928749310089214 -53187,0.4939004914349461 -53188,0.9991995416092575 -53189,0.9871466280677412 -53190,0.8789337788712849 -53191,0.6825177755579633 -53192,0.18348039426011709 -53193,0.18528590536195766 -53194,0.8856613773875919 -53195,0.9807934992827154 -53196,0.6933950140398117 -53197,0.6901557757760383 -53198,0.65657727286443 -53199,0.13064549902374023 -53200,0.16626335258093516 -53201,0.591608419653835 -53202,0.19350464993007876 -53203,0.21445948493551314 -53204,0.5672216849799566 -53205,0.29200038007953355 -53206,0.6743710698347261 -53207,0.5394981143616917 -53208,0.4836917738851164 -53209,0.5281249634607531 -53210,0.15320474052357724 -53211,0.5146045735174852 -53212,0.6104178257033245 -53213,0.8247873659071091 -53214,0.12455617980822364 -53215,0.1854464637801445 -53216,0.43629457650176406 -53217,0.31307890373193714 -53218,0.1244201918300224 -53219,0.9007731874768036 -53220,0.31707306019707693 -53221,0.8341002534742509 -53222,0.024691821327602503 -53223,0.2504605474830447 -53224,0.9353226601797813 -53225,0.006426878935154923 -53226,0.7783457480257987 -53227,0.6882577245900239 -53228,0.5603663715859861 -53229,0.09649259526146914 -53230,0.42462162819634675 -53231,0.06720866093275202 -53232,0.1795696826340908 -53233,0.9207736415424694 -53234,0.3509025247669818 -53235,0.0103262576011246 -53236,0.5156488269740607 -53237,0.6267645267700769 -53238,0.7348840709711039 -53239,0.08481558556847879 -53240,0.9044573262391574 -53241,0.1470304673941052 -53242,0.8808035881019656 -53243,0.21120689099854817 -53244,0.15341375470119156 -53245,0.8445181307297075 -53246,0.7829543305444835 -53247,0.06677329055375059 -53248,0.6313705501328688 -53249,0.7826739331532508 -53250,0.12867075940191253 -53251,0.35536732535881776 -53252,0.5481392521642097 -53253,0.4014265453304986 -53254,0.7418436957103521 -53255,0.38719706235475126 -53256,0.5714514445680405 -53257,0.1975915017631641 -53258,0.41184729362890793 -53259,0.7683907948624988 -53260,0.16002174983237882 -53261,0.1731547548046295 -53262,0.9723141360278461 -53263,0.3474883247939815 -53264,0.2364483217545702 -53265,0.7654719535925277 -53266,0.6532474232436117 -53267,0.43098791024788863 -53268,0.2780415996941352 -53269,0.8112571793543709 -53270,0.9793992477314689 -53271,0.5291241409697944 -53272,0.6884677394673538 -53273,0.6756059107655725 -53274,0.7431049627261578 -53275,0.7119459673888396 -53276,0.586179515713195 -53277,0.5250841397784528 -53278,0.4849133491726473 -53279,0.2924426535563973 -53280,0.580810184402237 -53281,0.7492168750296977 -53282,0.05005662247544196 -53283,0.3315990574730252 -53284,0.5967869845797734 -53285,0.022054141798193316 -53286,0.5762986726369376 -53287,0.6042261898590887 -53288,0.8992951512165237 -53289,0.7966845792214463 -53290,0.9587291080450889 -53291,0.7961016679889706 -53292,0.9300117640009212 -53293,0.22067778386553405 -53294,0.6169489076062152 -53295,0.7953699338362461 -53296,0.8452427061698669 -53297,0.9412461853600144 -53298,0.35915152892318625 -53299,0.08711149626386272 -53300,0.04280554367122413 -53301,0.6165758654134215 -53302,0.3250327960565075 -53303,0.8035793332909913 -53304,0.6499728429151346 -53305,0.8437134517133728 -53306,0.5963240414645672 -53307,0.2686424194950633 -53308,0.9600076754019402 -53309,0.7514422480930625 -53310,0.49308762874038503 -53311,0.052427525012134546 -53312,0.5906110590789851 -53313,0.34066949056504403 -53314,0.9203349589657469 -53315,0.017463183809799165 -53316,0.23463132549844146 -53317,0.07651540758062347 -53318,0.9735256534605274 -53319,0.5773211485482008 -53320,0.5561073189505259 -53321,0.5434544588665966 -53322,0.6686887135720838 -53323,0.6756320744948106 -53324,0.7920082438357263 -53325,0.15677087131488354 -53326,0.634610476093126 -53327,0.36467640834219983 -53328,0.7777024755010613 -53329,0.5651605248413496 -53330,0.09200093786840158 -53331,0.32662318842731775 -53332,0.5555590261219487 -53333,0.7874200428388614 -53334,0.8910605912091004 -53335,0.27398770489880775 -53336,0.42273872931660617 -53337,0.9147011457062221 -53338,0.8013288260272655 -53339,0.4318177975110482 -53340,0.7338931308760699 -53341,0.5367773461788559 -53342,0.7050809095662476 -53343,0.7347629265211605 -53344,0.2796814094389144 -53345,0.69650549389084 -53346,0.07353178156785034 -53347,0.25573071524820146 -53348,0.6772516126651666 -53349,0.693502355725127 -53350,0.5878687441579367 -53351,0.3798710975535796 -53352,0.8095292231174893 -53353,0.009354592287008745 -53354,0.33872034476822677 -53355,0.2714206983463242 -53356,0.9355530927865461 -53357,0.45443448569251355 -53358,0.926586001532539 -53359,0.881406860153981 -53360,0.7383256717441203 -53361,0.7463371223726312 -53362,0.13775782547583904 -53363,0.3550944822473313 -53364,0.5197863782618573 -53365,0.4394810504393182 -53366,0.018673340594029586 -53367,0.2533296331733673 -53368,0.10270831600502517 -53369,0.6535412049000209 -53370,0.24526464211094368 -53371,0.5145054997183072 -53372,0.4321655703038746 -53373,0.3470404148852593 -53374,0.5502515208451888 -53375,0.396948462847899 -53376,0.2272894911537393 -53377,0.7195529983430784 -53378,0.7078870513063393 -53379,0.54519567370901 -53380,0.2993804094221679 -53381,0.2533722140583573 -53382,0.10431173858914866 -53383,0.8625859180291134 -53384,0.2800908462117363 -53385,0.823283846549389 -53386,0.7071047493132528 -53387,0.17724613541565515 -53388,0.7206565004726136 -53389,0.9740679812743743 -53390,0.10862641454978261 -53391,0.5744917766696487 -53392,0.46952114687967395 -53393,0.9346777702156248 -53394,0.07827169625363539 -53395,0.7161196015826603 -53396,0.08222411175613697 -53397,0.545354137205186 -53398,0.012575132881280315 -53399,0.3234963640898597 -53400,0.14599748737850493 -53401,0.5627041349972877 -53402,0.7210694098534033 -53403,0.029972186171142168 -53404,0.07498093706257691 -53405,0.5835409891087536 -53406,0.6093624796796139 -53407,0.1813663047460805 -53408,0.7446959383373143 -53409,0.5609265437082693 -53410,0.0028228698560246457 -53411,0.5626637653284305 -53412,0.895090358190256 -53413,0.643016440234256 -53414,0.4124603864784253 -53415,0.7987284254873764 -53416,0.28126967714812345 -53417,0.6869345258317877 -53418,0.7857541912475864 -53419,0.7166026921930163 -53420,0.00817628672255366 -53421,0.49946377759267646 -53422,0.972172632302892 -53423,0.6187543809705632 -53424,0.11827553400212998 -53425,0.8214320295102667 -53426,0.09806397545165113 -53427,0.5143750160715501 -53428,0.19519917312836532 -53429,0.9358064625513125 -53430,0.6629375032220444 -53431,0.21472013615902485 -53432,0.21021940958129415 -53433,0.278762131858322 -53434,0.62699610031598 -53435,0.21031173158709804 -53436,0.06647303058277187 -53437,0.7105944277160464 -53438,0.7583301644416045 -53439,0.846842374880683 -53440,0.8085131302605909 -53441,0.7263070945801353 -53442,0.592104487202312 -53443,0.1973872531199693 -53444,0.45068675006805736 -53445,0.5348874534923 -53446,0.29313766739599845 -53447,0.054926503504849955 -53448,0.6964463447728421 -53449,0.3624653369081091 -53450,0.7103769132059721 -53451,0.6914438575627291 -53452,0.2753013766896565 -53453,0.9291898719422229 -53454,0.6575179542377818 -53455,0.2505968541719825 -53456,0.9090229130363006 -53457,0.24332966734751615 -53458,0.6849778483078728 -53459,0.048877576113178334 -53460,0.07141410594322817 -53461,0.46031757234336235 -53462,0.48143794407217766 -53463,0.3732102957313581 -53464,0.6996382913410497 -53465,0.04757590398878986 -53466,0.9722680504700575 -53467,0.43889938979863163 -53468,0.3717648157394601 -53469,0.6439687114246879 -53470,0.036244888337885306 -53471,0.4925325198624022 -53472,0.6970135474761258 -53473,0.22632706421830184 -53474,0.2119395076819549 -53475,0.5332852820193141 -53476,0.7461596930977374 -53477,0.5330579900553778 -53478,0.29707935092086035 -53479,0.14019799275554523 -53480,0.7994078167115245 -53481,0.5429102240133603 -53482,0.3556481055746017 -53483,0.6607899546737122 -53484,0.12124808381480545 -53485,0.8238786060856288 -53486,0.26193722575812595 -53487,0.1500022559826214 -53488,0.33803459820487614 -53489,0.8579755779328567 -53490,0.5700964967516662 -53491,0.6587500580798387 -53492,0.7259687709182977 -53493,0.8113843513691541 -53494,0.02914210170032394 -53495,0.5447915913787351 -53496,0.6896625700416188 -53497,0.4081516203232598 -53498,0.2911443226628859 -53499,0.5336871595522648 -53500,0.7772624720690055 -53501,0.26216437187923836 -53502,0.3044297393051466 -53503,0.6548616655846617 -53504,0.6353075411056419 -53505,0.31372875448041226 -53506,0.19099213645559376 -53507,0.41950209907905744 -53508,0.286024449835101 -53509,0.9903670326866804 -53510,0.7310119764781845 -53511,0.8377614732700237 -53512,0.7660381500086215 -53513,0.573413969013324 -53514,0.19222619493335436 -53515,0.09561217031210667 -53516,0.36348128287642856 -53517,0.4760080671869753 -53518,0.8855934777955784 -53519,0.5372688226685994 -53520,0.2770375274045843 -53521,0.7168591444870188 -53522,0.7522413550518058 -53523,0.9103539405318533 -53524,0.31697035230993953 -53525,0.6610350508243255 -53526,0.3433266481239513 -53527,0.5260928354030125 -53528,0.4226974618898762 -53529,0.343202183776141 -53530,0.12797160204776337 -53531,0.9016047287392919 -53532,0.5591031911254968 -53533,0.5198552819493242 -53534,0.9790398997904772 -53535,0.3567794266258886 -53536,0.22600287209157943 -53537,0.2310911473330094 -53538,0.4378384210378592 -53539,0.4990361484141944 -53540,0.1524716812419542 -53541,0.0035514608637308154 -53542,0.6034241742276276 -53543,0.770064070902969 -53544,0.5045123189971482 -53545,0.467902262763092 -53546,0.6809068537615982 -53547,0.75815171342629 -53548,0.8042766828198641 -53549,0.9928154195487994 -53550,0.0733103145960784 -53551,0.6862621178098912 -53552,0.49478650304984206 -53553,0.731912076358268 -53554,0.3866097045776792 -53555,0.6100624624633478 -53556,0.8743623391133408 -53557,0.6673092132116994 -53558,0.8603860900058322 -53559,0.18156525203457796 -53560,0.18536681001676958 -53561,0.5739898135023758 -53562,0.435314114540715 -53563,0.04638295661883873 -53564,0.28477185569844665 -53565,0.5038849268153849 -53566,0.8908964136072378 -53567,0.6608314191074014 -53568,0.8289234009228219 -53569,0.5760144091675936 -53570,0.34483041674079173 -53571,0.96750038086608 -53572,0.796338486868835 -53573,0.03932974318209248 -53574,0.4896905143385938 -53575,0.3901787434061731 -53576,0.08900996059473754 -53577,0.10285902598525842 -53578,0.8602911961708665 -53579,0.36803110940063 -53580,0.33637031160318187 -53581,0.30696285286855796 -53582,0.30603316829129223 -53583,0.25952778566506196 -53584,0.31802228746542605 -53585,0.21329346985452313 -53586,0.343466970050197 -53587,0.2675689131284609 -53588,0.540808336923533 -53589,0.06388136406931766 -53590,0.1228139095085462 -53591,0.8089413118527087 -53592,0.536812446868495 -53593,0.5737028207400947 -53594,0.14628199299874767 -53595,0.3458240364608035 -53596,0.4206311829223297 -53597,0.577688377384513 -53598,0.15556528734289243 -53599,0.8157219786244115 -53600,0.8884457549801383 -53601,0.7429072922656124 -53602,0.4837430632775809 -53603,0.8733299092295772 -53604,0.8335913667661067 -53605,0.8853286359513866 -53606,0.09574460386260553 -53607,0.6035271208942954 -53608,0.32503657987506374 -53609,0.05980272310070056 -53610,0.3337812399210346 -53611,0.8061040723951622 -53612,0.7911173374756025 -53613,0.7248454182638033 -53614,0.054279211089263035 -53615,0.41141007214686887 -53616,0.4891813922716074 -53617,0.6463543246518851 -53618,0.38459048644286864 -53619,0.16637093967583216 -53620,0.7523526396936163 -53621,0.8180553217490149 -53622,0.42000946109948323 -53623,0.2958089801350846 -53624,0.02288159380808985 -53625,0.045374475940139325 -53626,0.13841169178594004 -53627,0.4956130845170569 -53628,0.5074152314591354 -53629,0.5892603901201819 -53630,0.763340632161019 -53631,0.9206973621207519 -53632,0.026924968463580168 -53633,0.5676414190961979 -53634,0.5927087368511352 -53635,0.11781968370099216 -53636,0.1914744465216125 -53637,0.12876905698234364 -53638,0.426911233078215 -53639,0.8923781771851688 -53640,0.9372031080549786 -53641,0.34126530397739596 -53642,0.5941429168142839 -53643,0.15152119173614143 -53644,0.12524618647950592 -53645,0.08492277131173331 -53646,0.38762683394721253 -53647,0.8259913961647579 -53648,0.6041927563772999 -53649,0.8027782255103536 -53650,0.8735289886135853 -53651,0.2508219872805152 -53652,0.8405170165919577 -53653,0.8441383444192028 -53654,0.5201528994944439 -53655,0.2700402968430662 -53656,0.04191920335105159 -53657,0.7444440947930292 -53658,0.1501756375805584 -53659,0.46353939396335686 -53660,0.7883026121974835 -53661,0.9900739513947083 -53662,0.8807442885504485 -53663,0.9560760074561543 -53664,0.006329225970003516 -53665,0.8928543548396534 -53666,0.627417592117211 -53667,0.11334955852426776 -53668,0.7734082121122862 -53669,0.9291266749099416 -53670,0.17473168346267842 -53671,0.3952473973037951 -53672,0.7481191308758259 -53673,0.5798642436291122 -53674,0.6983876488908932 -53675,0.4588276487138143 -53676,0.8206131008874094 -53677,0.7371277829670071 -53678,0.04490576147177128 -53679,0.03310767083542521 -53680,0.6310138386850004 -53681,0.6899165705377356 -53682,0.17452131171907148 -53683,0.30474148230050846 -53684,0.1775343734688204 -53685,0.001987866694904583 -53686,0.953171031820144 -53687,0.009789916911098095 -53688,0.20201342559554503 -53689,0.08352714640686332 -53690,0.8923701802104601 -53691,0.8408264977419128 -53692,0.49065638602894923 -53693,0.7416378552396446 -53694,0.4594684134465721 -53695,0.941281003931683 -53696,0.13323785208853245 -53697,0.7200546813410985 -53698,0.06336203917635408 -53699,0.8473812327433283 -53700,0.7614671366788847 -53701,0.5440387300396936 -53702,0.56746589042113 -53703,0.8363361873901403 -53704,0.33330208228687375 -53705,0.7203463390056332 -53706,0.8676798011551706 -53707,0.9900714194147776 -53708,0.28018036585753836 -53709,0.44509137428895906 -53710,0.09703149105268094 -53711,0.2743990131328776 -53712,0.8241980592545608 -53713,0.3020046005303191 -53714,0.07692018201167594 -53715,0.2974965807476059 -53716,0.8290304866248993 -53717,0.7722022482726271 -53718,0.3209479795648351 -53719,0.36241787335349995 -53720,0.9527540519109666 -53721,0.03896261599325679 -53722,0.8020552996339207 -53723,0.2956213074309557 -53724,0.7406792617567184 -53725,0.40967211175276996 -53726,0.09320094001181634 -53727,0.9320664891902681 -53728,0.6855649995430636 -53729,0.9428043024985405 -53730,0.8009609750644885 -53731,0.32936201397170106 -53732,0.5468584326187065 -53733,0.8563207124428919 -53734,0.9915857891086975 -53735,0.18154051950299344 -53736,0.03279097253178587 -53737,0.09930399599889306 -53738,0.6035699394129105 -53739,0.5768310777371598 -53740,0.12304664476958027 -53741,0.5962845612411214 -53742,0.4083151069772135 -53743,0.897192481583757 -53744,0.26999743494787554 -53745,0.8202453633571659 -53746,0.07837755996519369 -53747,0.20613411047566743 -53748,0.6025606409516389 -53749,0.41631774187275195 -53750,0.7790508181496792 -53751,0.9965102075986675 -53752,0.7826248677990764 -53753,0.688629506097417 -53754,0.6973947839689035 -53755,0.5831789858753138 -53756,0.7617438616425826 -53757,0.40183413307602245 -53758,0.7116467909598264 -53759,0.01723210534151287 -53760,0.2680616690747114 -53761,0.9074842984259276 -53762,0.7034164717518027 -53763,0.4717989268013826 -53764,0.5517773292173626 -53765,0.5159027516341882 -53766,0.16533927963602002 -53767,0.8880178458335722 -53768,0.2777140373597532 -53769,0.6936101364575109 -53770,0.43116424343696536 -53771,0.269350378964453 -53772,0.19322785027317047 -53773,0.36081194017028206 -53774,0.33854173055656067 -53775,0.16490399948508572 -53776,0.16280858639155926 -53777,0.2141024506879694 -53778,0.16161208805707183 -53779,0.5143613218279912 -53780,0.9254818838796252 -53781,0.014104198890738218 -53782,0.996064424029571 -53783,0.6580070686625719 -53784,0.8442483702523674 -53785,0.7048193602567789 -53786,0.955137801987547 -53787,0.4939159975157261 -53788,0.7530503304249276 -53789,0.7452045774340897 -53790,0.8730379575176438 -53791,0.30574453006229274 -53792,0.5812281924570883 -53793,0.8776642372559201 -53794,0.014791075871232962 -53795,0.10900190061810722 -53796,0.4347571696388287 -53797,0.5355392161148163 -53798,0.8383177254050291 -53799,0.23455600736307936 -53800,0.48280475203706585 -53801,0.14165843301432657 -53802,0.2890023786168453 -53803,0.6316541809418404 -53804,0.8648169708801184 -53805,0.1897188066348381 -53806,0.4516162732050707 -53807,0.5697631234970616 -53808,0.28807751582927543 -53809,0.5256092443594735 -53810,0.22787824163283532 -53811,0.5722416630685159 -53812,0.36766055304186296 -53813,0.6546542108792385 -53814,0.3691249333575508 -53815,0.0386615199132736 -53816,0.26039049188122654 -53817,0.16067963859098178 -53818,0.6070984915131605 -53819,0.2831596409418575 -53820,0.7201079196930577 -53821,0.3547841350094524 -53822,0.5389621057562807 -53823,0.9817632204929676 -53824,0.8293081768997123 -53825,0.7273162861979098 -53826,0.11170917807422043 -53827,0.9675895548218204 -53828,0.9688265071811872 -53829,0.20358518284103078 -53830,0.3480235859382734 -53831,0.801287252311563 -53832,0.4590928601200204 -53833,0.6475117749924112 -53834,0.8574299677416253 -53835,0.04068796369915473 -53836,0.08439565342015798 -53837,0.5024026221295679 -53838,0.9003185669595977 -53839,0.7289453915011034 -53840,0.38865869468611813 -53841,0.46126821991081346 -53842,0.2427209354129355 -53843,0.2981684000739895 -53844,0.4771105793126753 -53845,0.41654237744643396 -53846,0.20564417980316319 -53847,0.9498016067715886 -53848,0.7908797169721008 -53849,0.44851094473432185 -53850,0.4903306796062832 -53851,0.57546427935984 -53852,0.6256290804697987 -53853,0.6593796206894147 -53854,0.5888054990823055 -53855,0.4323475146494833 -53856,0.23810726230253232 -53857,0.06406035426285694 -53858,0.11907973898039259 -53859,0.3686323534597118 -53860,0.1088364044485276 -53861,0.10719169174073317 -53862,0.5749721310916519 -53863,0.32545093346841214 -53864,0.8786277975048115 -53865,0.01965115016483754 -53866,0.39178803668387374 -53867,0.9340184177633243 -53868,0.1759511771334149 -53869,0.9590061207673796 -53870,0.3863077686938581 -53871,0.3379555053671378 -53872,0.5455105656587129 -53873,0.9394814635550939 -53874,0.4292834394754149 -53875,0.10842886414894581 -53876,0.23916285368162649 -53877,0.35467883973097225 -53878,0.49256897747621153 -53879,0.011421729692654647 -53880,0.02270688934904541 -53881,0.5751087394031372 -53882,0.5497435526418492 -53883,0.6715172175077526 -53884,0.15930019800960205 -53885,0.5684121051145229 -53886,0.9004303521202306 -53887,0.7696689030625411 -53888,0.1882158873355112 -53889,0.2770500801453849 -53890,0.8217303292616128 -53891,0.11877749901741941 -53892,0.7737578792095692 -53893,0.10097746148860709 -53894,0.2538277455018052 -53895,0.9081207122034236 -53896,0.4050518109279898 -53897,0.008727128096093217 -53898,0.4092022688301503 -53899,0.9101601757875929 -53900,0.29020979846021944 -53901,0.1336473878390413 -53902,0.28112973750298087 -53903,0.5047777517868072 -53904,0.6965795161262914 -53905,0.8544486005885789 -53906,0.9547527785658375 -53907,0.6461959633490495 -53908,0.8812197754480044 -53909,0.48163874012347163 -53910,0.2064892551937978 -53911,0.098306919602974 -53912,0.6043868610786387 -53913,0.147383643731673 -53914,0.6000549434157408 -53915,0.4065801736813536 -53916,0.02580383673327813 -53917,0.25969551803126645 -53918,0.8310882604109789 -53919,0.9872664537754188 -53920,0.15212494011557498 -53921,0.24136309945640222 -53922,0.45407564277154844 -53923,0.06541699192931694 -53924,0.13201982088300113 -53925,0.8910119807305792 -53926,0.44624382588633915 -53927,0.7806081200174578 -53928,0.2513979994211606 -53929,0.5946251005440083 -53930,0.985997102131542 -53931,0.12718248041654645 -53932,0.8764253065735481 -53933,0.9616615141658903 -53934,0.3130462706367916 -53935,0.9460833417301144 -53936,0.47574690189552404 -53937,0.8483037841002553 -53938,0.37457734525557174 -53939,0.2283280488310282 -53940,0.26909257751659477 -53941,0.6185647353092865 -53942,0.6282135383335511 -53943,0.34374099409387815 -53944,0.45319509975554007 -53945,0.008234371966916787 -53946,0.08798523659659252 -53947,0.3790948378190975 -53948,0.4322341549296769 -53949,0.5310866376829516 -53950,0.29024603234141066 -53951,0.2604053100653472 -53952,0.7373685055191158 -53953,0.014115629252489326 -53954,0.7140705304540984 -53955,0.30862976928492003 -53956,0.18508762299991854 -53957,0.7148541991009915 -53958,0.43658191939079927 -53959,0.9977043657790071 -53960,0.07995632337818992 -53961,0.8864475878595431 -53962,0.3236670612106328 -53963,0.4381889726009145 -53964,0.6103637403225105 -53965,0.37486883801855975 -53966,0.7059325484606493 -53967,0.5432185663050604 -53968,0.35386656946930406 -53969,0.5154047604460723 -53970,0.020178141436354435 -53971,0.8552545475986955 -53972,0.2490145556011777 -53973,0.8703199232313732 -53974,0.8786928779854191 -53975,0.9933004067335138 -53976,0.7052490470116113 -53977,0.848560695205741 -53978,0.7765613032690134 -53979,0.49512678456923254 -53980,0.9815405568305176 -53981,0.12884118738390482 -53982,0.9689369941122947 -53983,0.8894168402010982 -53984,0.31663472050905916 -53985,0.031465337222395195 -53986,0.9576741667020227 -53987,0.5243438050712385 -53988,0.2620188422674513 -53989,0.4992230878392452 -53990,0.8315338275278862 -53991,0.2979223748352885 -53992,0.6257164528132964 -53993,0.8371647142112558 -53994,0.4367439798599827 -53995,0.6238705596223374 -53996,0.5916484922450426 -53997,0.9408138708187204 -53998,0.9793255455419962 -53999,0.05500454310206726 -54000,0.3697054597683669 -54001,0.6803062503349744 -54002,0.7431439789376969 -54003,0.515021491387725 -54004,0.7594546385206834 -54005,0.13982662204573937 -54006,0.997980391436994 -54007,0.22723869878201708 -54008,0.005359386570406799 -54009,0.26545355178776453 -54010,0.17543100518577504 -54011,0.9557732040281425 -54012,0.24038866179866347 -54013,0.022186251002140334 -54014,0.908494165929955 -54015,0.6907887524806178 -54016,0.48530370754318375 -54017,0.1873690308188004 -54018,0.07969282001693567 -54019,0.9251849323701298 -54020,0.7263877074429058 -54021,0.06501920176946507 -54022,0.21365205860240222 -54023,0.9199182820541653 -54024,0.8723764439211995 -54025,0.4945161594937899 -54026,0.41324618382543055 -54027,0.4428930992725598 -54028,0.5942059760701575 -54029,0.26617557557375826 -54030,0.013845886312132905 -54031,0.21390657271238211 -54032,0.833457550077815 -54033,0.7000711296947195 -54034,0.21883259506794506 -54035,0.6705495640580701 -54036,0.35566402722765655 -54037,0.01742927949402373 -54038,0.93131208656714 -54039,0.6791677837759181 -54040,0.3219333572066406 -54041,0.8160570487853535 -54042,0.30172950186964265 -54043,0.08607667206535208 -54044,0.3490964880876053 -54045,0.529354144308464 -54046,0.047273395139476926 -54047,0.189618598470922 -54048,0.6106341307482234 -54049,0.6328697461162608 -54050,0.7903145606463371 -54051,0.24871563990780454 -54052,0.5027800045458746 -54053,0.9021350130643763 -54054,0.17324058950509946 -54055,0.9152866788403994 -54056,0.029594710934566226 -54057,0.6080751720855945 -54058,0.7894986072416889 -54059,0.9420431185745419 -54060,0.9441858379713494 -54061,0.021885627964604137 -54062,0.8585526922660462 -54063,0.5073115174060852 -54064,0.8441498706577727 -54065,0.7562725713079306 -54066,0.9283530746487639 -54067,0.6595510086919812 -54068,0.07710567411408653 -54069,0.9883594078096183 -54070,0.8695692117569925 -54071,0.2705184739330001 -54072,0.41516054827559157 -54073,0.6057077601651346 -54074,0.42890257619217 -54075,0.7483379252428585 -54076,0.8204136943763676 -54077,0.9542500778152195 -54078,0.9956494755965984 -54079,0.006613275408363761 -54080,0.8882979018900476 -54081,0.6663403125525411 -54082,0.295467440332719 -54083,0.1082126352936742 -54084,0.44815119567547035 -54085,0.023287609928174136 -54086,0.9114559317641636 -54087,0.061053700429824165 -54088,0.5378903988038551 -54089,0.06653276250341811 -54090,0.5359996325120304 -54091,0.28804041072427033 -54092,0.4894528842849871 -54093,0.9556522045883018 -54094,0.3745438070004605 -54095,0.6751831154228302 -54096,0.9554262315634859 -54097,0.8652397561730876 -54098,0.2332079589834518 -54099,0.7367748704692764 -54100,0.9640732186246758 -54101,0.7925215315002911 -54102,0.6514325706821255 -54103,0.8652321795760115 -54104,0.8048175217326148 -54105,0.7479369165076895 -54106,0.37272474434945935 -54107,0.7900683369794134 -54108,0.7871237416089605 -54109,0.7574143116674296 -54110,0.1377227436825721 -54111,0.7675263615501291 -54112,0.8503488164715776 -54113,0.549734519520675 -54114,0.17146077994566544 -54115,0.8225222048337006 -54116,0.2358076819225874 -54117,0.6267243726510453 -54118,0.8746269532842477 -54119,0.6780403971530529 -54120,0.48119379157872033 -54121,0.24235939513982174 -54122,0.9778208127193477 -54123,0.01894562971254332 -54124,0.4011677124892933 -54125,0.47315884755630233 -54126,0.08079420570298979 -54127,0.20042598469330508 -54128,0.6384389540494478 -54129,0.8471353014242292 -54130,0.45526788275650953 -54131,0.044063646584142746 -54132,0.21559434600265526 -54133,0.01902305336163046 -54134,0.47388971002359936 -54135,0.2476522108325525 -54136,0.31567622340088286 -54137,0.5463201269358873 -54138,0.19525410643585017 -54139,0.7529801943740458 -54140,0.9385021726354994 -54141,0.16576923134403687 -54142,0.9386752481407993 -54143,0.22094597233937396 -54144,0.18433308529559844 -54145,0.7544753844047806 -54146,0.25291767297205914 -54147,0.9747493007580941 -54148,0.7234181357988367 -54149,0.6922446262473553 -54150,0.16378715813548905 -54151,0.8107051661532061 -54152,0.8880924266478046 -54153,0.7192017963345113 -54154,0.2575136432940771 -54155,0.5803749682003915 -54156,0.8123480257289902 -54157,0.720517355785628 -54158,0.15246848060680374 -54159,0.24346959488159436 -54160,0.9965872145063466 -54161,0.8042894161380234 -54162,0.8434974518124576 -54163,0.19548470044670463 -54164,0.17481468452328375 -54165,0.8856192477831996 -54166,0.24350121806884018 -54167,0.8346115303936997 -54168,0.174371944184039 -54169,0.7560843415615407 -54170,0.28052874510433035 -54171,0.035520265062295775 -54172,0.32620451548471374 -54173,0.4419803803005178 -54174,0.33347543623927445 -54175,0.4059581892811419 -54176,0.20280129602408226 -54177,0.2798761074970324 -54178,0.034533865610614 -54179,0.20449208476558112 -54180,0.40349859406459265 -54181,0.3012533951192239 -54182,0.007920675847423175 -54183,0.3636853145406196 -54184,0.004042928716770033 -54185,0.5035220887568417 -54186,0.17733554574004518 -54187,0.09381704088696818 -54188,0.21160015887218098 -54189,0.941407448501679 -54190,0.5818724601952047 -54191,0.051776662702261445 -54192,0.71745225436312 -54193,0.12739755327074453 -54194,0.8396773511254092 -54195,0.36267542784699724 -54196,0.904203985847824 -54197,0.609887269030521 -54198,0.7985621629986427 -54199,0.9552576058577762 -54200,0.18229020002290997 -54201,0.692289259948559 -54202,0.13365631402499767 -54203,0.706241065118566 -54204,0.48275730200370714 -54205,0.08564864116199822 -54206,0.1923741489700389 -54207,0.4951930792787341 -54208,0.6804241669810561 -54209,0.1921531004138921 -54210,0.15164055659636155 -54211,0.5674186990403322 -54212,0.4003739139325647 -54213,0.0031648852195613753 -54214,0.3314916722495759 -54215,0.404098762871019 -54216,0.6772520613203993 -54217,0.7336660509365377 -54218,0.3004659435270862 -54219,0.15409222423127034 -54220,0.7956295111798593 -54221,0.10867582718644109 -54222,0.46536311111621853 -54223,0.3040879692359292 -54224,0.1098365912288376 -54225,0.2335870560331944 -54226,0.6703033792229264 -54227,0.554409018169866 -54228,0.40530503665466233 -54229,0.8942425825060865 -54230,0.8703548031151971 -54231,0.9984305220035669 -54232,0.9939499103260704 -54233,0.6555148779267035 -54234,0.6928461985011801 -54235,0.3542409720592842 -54236,0.7211906353119651 -54237,0.9883826759687724 -54238,0.5998397077518989 -54239,0.028986226360893874 -54240,0.5539249714913862 -54241,0.6473837849132581 -54242,0.5659762485935373 -54243,0.41201116577028907 -54244,0.7283290322908249 -54245,0.9638056164158009 -54246,0.5679647627106565 -54247,0.9260438080727293 -54248,0.4115781600375745 -54249,0.6141646254718724 -54250,0.17747025567364083 -54251,0.8950447237155076 -54252,0.8714333721078189 -54253,0.45591375058110917 -54254,0.6582069073349448 -54255,0.46300388265526493 -54256,0.6972926847712057 -54257,0.3144923843897931 -54258,0.035415730106606924 -54259,0.4700706645536117 -54260,0.3735071220589036 -54261,0.27855609860181285 -54262,0.20130898541297648 -54263,0.7789350612203384 -54264,0.6468895640065006 -54265,0.0013836794220674076 -54266,0.6110074148946327 -54267,0.09914225719145875 -54268,0.791372216440875 -54269,0.5165161480838433 -54270,0.6446680543806722 -54271,0.5954717214128077 -54272,0.09745193545532349 -54273,0.46298415588792974 -54274,0.9930701934176956 -54275,0.69643895877349 -54276,0.02795241396440795 -54277,0.03251742845191585 -54278,0.49807814893866476 -54279,0.983057835094986 -54280,0.13732264598876853 -54281,0.6637565997417947 -54282,0.7640317867182495 -54283,0.031223844027210013 -54284,0.5724999864550461 -54285,0.28425595166434625 -54286,0.6541581830325537 -54287,0.1439051638712877 -54288,0.5168374841129418 -54289,0.24940450972314054 -54290,0.03719472914341049 -54291,0.18435441691367382 -54292,0.4706455677832876 -54293,0.4373429949927087 -54294,0.10131097981666193 -54295,0.2439962298416518 -54296,0.4421518759451917 -54297,0.2161945822227015 -54298,0.8589805547241733 -54299,0.6709815167293903 -54300,0.9474775417744205 -54301,0.14150450819334637 -54302,0.07982263846066584 -54303,0.7542532985401037 -54304,0.8554753490124307 -54305,0.40966067064296774 -54306,0.11235218606475228 -54307,0.4342688808111146 -54308,0.9266138339823567 -54309,0.8872665352427652 -54310,0.6702095334248829 -54311,0.46290673400203985 -54312,0.5837832054885579 -54313,0.7443371012843775 -54314,0.5887835618010294 -54315,0.993726004843289 -54316,0.4942498526863497 -54317,0.8168094492514687 -54318,0.32700342607027677 -54319,0.7948130636785384 -54320,0.2162868551337258 -54321,0.05668826257829973 -54322,0.06755631274507046 -54323,0.8230625354327217 -54324,0.6685605433699794 -54325,0.16690203530147263 -54326,0.6436812244448573 -54327,0.44972822077217944 -54328,0.5102631219718988 -54329,0.5303884124391748 -54330,0.984433291679328 -54331,0.5499412914543157 -54332,0.1729938819333119 -54333,0.5267265575274693 -54334,0.34490692211208895 -54335,0.07694451337598796 -54336,0.32334284624440557 -54337,0.6679479143954339 -54338,0.17286850436750045 -54339,0.027851113603874933 -54340,0.6324331262859983 -54341,0.6197409968808479 -54342,0.27286457652168106 -54343,0.28810263385028545 -54344,0.7198105067200447 -54345,0.11692626812251539 -54346,0.37197651380921626 -54347,0.9420463319277355 -54348,0.749019311637637 -54349,0.9760698321128497 -54350,0.21590300032969878 -54351,0.22983049855479087 -54352,0.581626230119083 -54353,0.2820974227756927 -54354,0.8592635579237565 -54355,0.7742241462343034 -54356,0.5383827915648245 -54357,0.11196169527945987 -54358,0.2273451758745315 -54359,0.528800453629077 -54360,0.7817407323053629 -54361,0.3655353112659321 -54362,0.39107745582811393 -54363,0.5683440753227146 -54364,0.4353333481199638 -54365,0.5773362069775799 -54366,0.9893468249547279 -54367,0.962143487862515 -54368,0.46318358431403384 -54369,0.009372712176206721 -54370,0.6387185620363047 -54371,0.922333907006383 -54372,0.7786324566403034 -54373,0.9662430439484997 -54374,0.8180756049414287 -54375,0.9768711976847891 -54376,0.7864287992249253 -54377,0.5623630995584625 -54378,0.18653063897523003 -54379,0.8752701723559064 -54380,0.9136182641053517 -54381,0.8022669932889996 -54382,0.2566383105382498 -54383,0.22692931666702132 -54384,0.3875811301782548 -54385,0.5151271257325322 -54386,0.10660800316664354 -54387,0.6877877769385619 -54388,0.9036062785583912 -54389,0.9850977751210809 -54390,0.25860782021590945 -54391,0.9746863371099145 -54392,0.5865884910687647 -54393,0.596277115201135 -54394,0.0035464823674817847 -54395,0.23277512928111865 -54396,0.5575017396638918 -54397,0.33973036069067897 -54398,0.534686234887853 -54399,0.18280962861128436 -54400,0.6577309752894889 -54401,0.7789581445662561 -54402,0.8418516733373325 -54403,0.06058543358545143 -54404,0.42947263891371146 -54405,0.9623077646731049 -54406,0.23760689023986004 -54407,0.93049603466367 -54408,0.5450190466928965 -54409,0.768982231849107 -54410,0.7733426816518205 -54411,0.47645985813600666 -54412,0.5066373026801265 -54413,0.03583917583167473 -54414,0.3530995829916549 -54415,0.9236799674447617 -54416,0.6962887120139444 -54417,0.18887571028201877 -54418,0.19174984101559744 -54419,0.8332806062314932 -54420,0.5671935096856652 -54421,0.35666683590779835 -54422,0.8547075201018289 -54423,0.5177062312572573 -54424,0.13343854327478288 -54425,0.31975049371039554 -54426,0.3488183894431105 -54427,0.7734039122781496 -54428,0.1274441365784953 -54429,0.851503920835199 -54430,0.09135355351054719 -54431,0.30395855051636 -54432,0.4787752538389066 -54433,0.725072408172504 -54434,0.479601296549206 -54435,0.18812478963229484 -54436,0.7641809079289357 -54437,0.12539098674429816 -54438,0.3395366463707511 -54439,0.7354300880654993 -54440,0.6418474656992488 -54441,0.29220771266607537 -54442,0.11819966669782167 -54443,0.8484581208545092 -54444,0.4787974156565368 -54445,0.3255169958454259 -54446,0.46242349094609536 -54447,0.15927473579095286 -54448,0.6227626092998455 -54449,0.9634408043972957 -54450,0.9854683646773669 -54451,0.8535957303745796 -54452,0.4071465039548193 -54453,0.5748076079993064 -54454,0.6468871378345237 -54455,0.2504057359336397 -54456,0.8269126399203932 -54457,0.027172348523083367 -54458,0.4778968401373276 -54459,0.677568957845912 -54460,0.49688175697394343 -54461,0.19002091141936805 -54462,0.45564361616053073 -54463,0.5814243615402886 -54464,0.3903726071907041 -54465,0.9701258432919135 -54466,0.012211982405077815 -54467,0.0019998389732199806 -54468,0.4695620162438189 -54469,0.04317708112912422 -54470,0.31587256748850145 -54471,0.6571329703486953 -54472,0.3810563228871092 -54473,0.929323565180448 -54474,0.7179733896677192 -54475,0.6258217971626179 -54476,0.20647885116777187 -54477,0.5992659628914744 -54478,0.6918672818696854 -54479,0.6005880180684984 -54480,0.3856050386013554 -54481,0.06374430018951904 -54482,0.045858115060144033 -54483,0.7075600021498029 -54484,0.7436412786178032 -54485,0.5015518315055741 -54486,0.3399000741190473 -54487,0.061158803847481846 -54488,0.01865155056249923 -54489,0.1269057722860294 -54490,0.14305921178562475 -54491,0.9065018713215233 -54492,0.816506837717626 -54493,0.5083262722732431 -54494,0.4671651401488657 -54495,0.33741000065664395 -54496,0.7820142483082502 -54497,0.7960444409626474 -54498,0.8719592918610442 -54499,0.026142095419888878 -54500,0.6610759666811848 -54501,0.14152902981580395 -54502,0.9808116110445705 -54503,0.45069022205798426 -54504,0.4837887926363802 -54505,0.5629661484546965 -54506,0.4774161825322828 -54507,0.7640078681644973 -54508,0.6926952140251618 -54509,0.17082013315975586 -54510,0.5519591423751151 -54511,0.4703838997718115 -54512,0.405225112551005 -54513,0.5696498912264595 -54514,0.5629700622636794 -54515,0.5452846484463196 -54516,0.9955616313536494 -54517,0.49270179636624334 -54518,0.4835532334535243 -54519,0.9525276098544228 -54520,0.8601264274561466 -54521,0.7145379701305279 -54522,0.6337202244664893 -54523,0.5937724208554772 -54524,0.8130084336494917 -54525,0.9480702018373297 -54526,0.11003551201304074 -54527,0.6719664045464441 -54528,0.14247740582187463 -54529,0.8837136201116189 -54530,0.7425175263063947 -54531,0.05302355334248754 -54532,0.1725184962543117 -54533,0.7017967140794354 -54534,0.8890300952903291 -54535,0.22294533520091975 -54536,0.08872498347063584 -54537,0.190058700391048 -54538,0.07890248603190131 -54539,0.46513642188192217 -54540,0.29272152240206184 -54541,0.1061705923707128 -54542,0.045356747175878454 -54543,0.7821263860857213 -54544,0.04147335128854268 -54545,0.5932777100381255 -54546,0.44647869702261345 -54547,0.45176480834609845 -54548,0.7716591736667108 -54549,0.5500322988144949 -54550,0.36922287196571457 -54551,0.9131542779210412 -54552,0.5481022400811382 -54553,0.35062624780910556 -54554,0.08632249809524106 -54555,0.11444344158790531 -54556,0.2099414497113703 -54557,0.319302541045572 -54558,0.7797864607608654 -54559,0.5869713022899865 -54560,0.9524923323851582 -54561,0.1316726999238783 -54562,0.6127162390018083 -54563,0.208146676722738 -54564,0.5221822429652663 -54565,0.1711489999930007 -54566,0.134998457726892 -54567,0.3841233146074421 -54568,0.4698153549497964 -54569,0.22365155847314222 -54570,0.6786566863934 -54571,0.3596921260337409 -54572,0.06687113266042066 -54573,0.38836249275241597 -54574,0.8419500449092553 -54575,0.043077057297469135 -54576,0.7914121577588854 -54577,0.5962688166373308 -54578,0.08118685208727183 -54579,0.7961097454065313 -54580,0.2581580835156315 -54581,0.5217674147460544 -54582,0.9789691267424768 -54583,0.7332111929879035 -54584,0.39960574315171205 -54585,0.588600605065013 -54586,0.6664534748042564 -54587,0.2619848891963612 -54588,0.4715150237454774 -54589,0.5924367819194866 -54590,0.9082944593790343 -54591,0.5783240593503616 -54592,0.6357913686927763 -54593,0.2644985515646696 -54594,0.3660447797910139 -54595,0.8729858543429903 -54596,0.4939818276567842 -54597,0.5052156563595972 -54598,0.09867948669504345 -54599,0.9226906358207629 -54600,0.6110175137808542 -54601,0.15600100198101696 -54602,0.6171991274189667 -54603,0.42979563629178563 -54604,0.20050869328559606 -54605,0.00651435177266424 -54606,0.6982500224121182 -54607,0.38719835421489857 -54608,0.9746413676780353 -54609,0.8046333424784892 -54610,0.5792490486914689 -54611,0.3984023682918125 -54612,0.02167505246914425 -54613,0.9278618635120113 -54614,0.31719005012285506 -54615,0.6087620690406531 -54616,0.6801967464417412 -54617,0.883319602394939 -54618,0.9603345464572837 -54619,0.9635604982195298 -54620,0.487761783894473 -54621,0.6301587289496013 -54622,0.2775274893317551 -54623,0.06454940157663636 -54624,0.4009053096567814 -54625,0.5264873184071425 -54626,0.16769196400330288 -54627,0.49814263555390803 -54628,0.9971034179177534 -54629,0.09376276440586584 -54630,0.3766222893914466 -54631,0.3921003796108964 -54632,0.9704152689560714 -54633,0.025281565276452977 -54634,0.7867973742217573 -54635,0.8419244186028343 -54636,0.327035123100604 -54637,0.9926073182412932 -54638,0.378764914157645 -54639,0.7835045152037244 -54640,0.6735940226719009 -54641,0.5581609784408442 -54642,0.1341340372268064 -54643,0.5112894994689517 -54644,0.8203022816513809 -54645,0.9174662455782849 -54646,0.37293534726170574 -54647,0.4147589025700702 -54648,0.252604435085379 -54649,0.5925292479968599 -54650,0.8565520484998412 -54651,0.21109696463271577 -54652,0.14641463364489982 -54653,0.5858537886137835 -54654,0.9555878332410385 -54655,0.3947369382323983 -54656,0.9898272507895007 -54657,0.7497265880814912 -54658,0.04841849836431944 -54659,0.30611682287236863 -54660,0.8336999295616939 -54661,0.7105105332605284 -54662,0.5513679023844872 -54663,0.09700339340149022 -54664,0.2246328173621267 -54665,0.9697140947167738 -54666,0.8397020526000926 -54667,0.9628486757573472 -54668,0.7577371706972891 -54669,0.963664265104021 -54670,0.8177524934645283 -54671,0.501609247037508 -54672,0.4695312531063529 -54673,0.13286781898953204 -54674,0.1261140103800521 -54675,0.23299404837314575 -54676,0.4549550444890179 -54677,0.7677035254079515 -54678,0.27656327672696346 -54679,0.7439507728480655 -54680,0.8335249240932595 -54681,0.8827288976291447 -54682,0.39601113264005616 -54683,0.6194392727298725 -54684,0.6493902413201836 -54685,0.8770160327813662 -54686,0.14328953574304804 -54687,0.5147402268125664 -54688,0.4247932214354627 -54689,0.23266461517726256 -54690,0.275129198815521 -54691,0.5608491604043815 -54692,0.5136067915228578 -54693,0.2661838391090757 -54694,0.1811353224763126 -54695,0.9111671009844636 -54696,0.7881768013084313 -54697,0.22641261846507055 -54698,0.24072596935957358 -54699,0.834151785654178 -54700,0.6295708698338192 -54701,0.36102383496067836 -54702,0.7148364759828894 -54703,0.5675081188274285 -54704,0.02445729878837266 -54705,0.5038848003150471 -54706,0.6492399916426957 -54707,0.433956786096676 -54708,0.06126058772320264 -54709,0.17111299273799208 -54710,0.9145415417160507 -54711,0.617955041896656 -54712,0.2986156817808834 -54713,0.9159029560083359 -54714,0.9407605939425715 -54715,0.6222316506201893 -54716,0.38744793045556025 -54717,0.44607987581763275 -54718,0.9342720567517379 -54719,0.7487743815053548 -54720,0.9380558906971915 -54721,0.5360900693055786 -54722,0.420579208103233 -54723,0.8270407777293423 -54724,0.6917299202613716 -54725,0.9956880500853618 -54726,0.5558189003625208 -54727,0.09565847227174629 -54728,0.024574287498099312 -54729,0.9386448071295626 -54730,0.3966296355663729 -54731,0.9016087503828608 -54732,0.442218965085043 -54733,0.9869374908370375 -54734,0.5174850615164857 -54735,0.5775330136075152 -54736,0.028519107281309908 -54737,0.8065160638950426 -54738,0.08193564201208081 -54739,0.13920574967988364 -54740,0.9265224754263757 -54741,0.8628270890096896 -54742,0.9756168015124335 -54743,0.4913480397944354 -54744,0.6818888903567618 -54745,0.05710848161860815 -54746,0.006276721040813671 -54747,0.3319272033212184 -54748,0.7388849000648439 -54749,0.55629873094411 -54750,0.3075273895144569 -54751,0.7065412720300507 -54752,0.0869083546842172 -54753,0.7205605375557502 -54754,0.45554632122370486 -54755,0.8709539145663783 -54756,0.5169788543384712 -54757,0.3813125097098392 -54758,0.9963092652107173 -54759,0.594957014722538 -54760,0.8689390578238099 -54761,0.8286399337605975 -54762,0.10338898069212155 -54763,0.5831244110629854 -54764,0.5416554009745476 -54765,0.04087314692075139 -54766,0.11306137100731273 -54767,0.5080068089309062 -54768,0.21084826531244727 -54769,0.03899664654782031 -54770,0.744307914476296 -54771,0.786627346003621 -54772,0.05582106761659922 -54773,0.09445293709690716 -54774,0.9335658044815989 -54775,0.36722754018589265 -54776,0.9634373770618153 -54777,0.214225691281839 -54778,0.2893046733818485 -54779,0.8858059696572961 -54780,0.5999972278210836 -54781,0.6948823819770132 -54782,0.5255791189039057 -54783,0.0005476199841609741 -54784,0.2925109792807986 -54785,0.004504813369859084 -54786,0.9892595113893833 -54787,0.9000312474167267 -54788,0.6368617738168236 -54789,0.15795626879844993 -54790,0.36063437022188183 -54791,0.8512358145427651 -54792,0.12908590667407516 -54793,0.42999961472240633 -54794,0.4714104854498973 -54795,0.21711884478975307 -54796,0.07967549104979676 -54797,0.9024747320383072 -54798,0.8323529618692905 -54799,0.052078251852847424 -54800,0.07248722700469035 -54801,0.4208899862214762 -54802,0.6945121273195223 -54803,0.15321984795844001 -54804,0.026832710456502484 -54805,0.04142235597257293 -54806,0.0052437709906302254 -54807,0.862997671738911 -54808,0.8569442499452066 -54809,0.8048033711101612 -54810,0.9429808635757585 -54811,0.046063749432383005 -54812,0.305335670268689 -54813,0.03796269482283676 -54814,0.9057541309444432 -54815,0.7587339850465578 -54816,0.8403049262371293 -54817,0.4971777910061287 -54818,0.5412839396627612 -54819,0.017359168657102853 -54820,0.8579511792592343 -54821,0.4998015429370405 -54822,0.7600231278918812 -54823,0.07752080886839852 -54824,0.9804106572971025 -54825,0.3209505001756904 -54826,0.14733896507633715 -54827,0.0554727090267777 -54828,0.909646388725971 -54829,0.09456599315828296 -54830,0.2907935290165289 -54831,0.926127569975662 -54832,0.11789464700727426 -54833,0.03777052826027805 -54834,0.5671692477329374 -54835,0.6249945450590031 -54836,0.53757811834096 -54837,0.93914846316132 -54838,0.8282787879062768 -54839,0.963158240830038 -54840,0.01282913964776422 -54841,0.5590992472570053 -54842,0.7189427815132452 -54843,0.4797159646511743 -54844,0.8281469407472508 -54845,0.49350068938296654 -54846,0.6499138955707081 -54847,0.3233090096033331 -54848,0.002977751086706948 -54849,0.6220735978759001 -54850,0.7173552663333729 -54851,0.003745493417059542 -54852,0.3576237406048348 -54853,0.3754600012600695 -54854,0.5142019091944241 -54855,0.7404977298647782 -54856,0.45273437063884714 -54857,0.1154000854427113 -54858,0.9343480560485754 -54859,0.9814354575622406 -54860,0.729324615518051 -54861,0.6449482609305189 -54862,0.7180086215122877 -54863,0.6822195396207497 -54864,0.6533045395928476 -54865,0.9428352566107026 -54866,0.07254946200749535 -54867,0.38265822960624785 -54868,0.1343715553064495 -54869,0.9068830353792655 -54870,0.11480612198512519 -54871,0.011957279874903914 -54872,0.46997179848530524 -54873,0.5849603590702606 -54874,0.6290738000593415 -54875,0.33257244900116545 -54876,0.8014910770770995 -54877,0.9179301901618221 -54878,0.6551711234976506 -54879,0.5940854463116286 -54880,0.9292434332837881 -54881,0.7521660003411654 -54882,0.16562435314294166 -54883,0.8904584667722847 -54884,0.27818546562208446 -54885,0.34097445692410366 -54886,0.036555680318661854 -54887,0.4520913146722966 -54888,0.4396258552146711 -54889,0.46713835698399153 -54890,0.15139198753297656 -54891,0.02821446989830778 -54892,0.639753872008073 -54893,0.9324920809761487 -54894,0.17791923409422683 -54895,0.20298049728751733 -54896,0.701808286080847 -54897,0.9339181560606152 -54898,0.43795324294707627 -54899,0.713382237774316 -54900,0.5747502354817312 -54901,0.8758962003044266 -54902,0.5458104108566345 -54903,0.9048382832334789 -54904,0.8964671304358062 -54905,0.13824312063035915 -54906,0.053614252474519675 -54907,0.318563307489913 -54908,0.5258519746090782 -54909,0.7453481771020097 -54910,0.5731565065755847 -54911,0.7463299144502059 -54912,0.6769738482722019 -54913,0.7381026471729113 -54914,0.7699685855267884 -54915,0.5943762442426094 -54916,0.5684661147221005 -54917,0.337035467672841 -54918,0.16015731029289526 -54919,0.5820852429894079 -54920,0.7572527920015911 -54921,0.3359406465789315 -54922,0.7932659305063087 -54923,0.7981811270200398 -54924,0.6866626950931702 -54925,0.8594379332886964 -54926,0.7278711778618657 -54927,0.0708231640339837 -54928,0.8351025871205928 -54929,0.5663843975625376 -54930,0.980659444125112 -54931,0.5169763920095171 -54932,0.11846711580789071 -54933,0.736678682740029 -54934,0.2708517539566323 -54935,0.17727524484205837 -54936,0.00794043776632658 -54937,0.4734564222464138 -54938,0.9021986922502189 -54939,0.3039175411813515 -54940,0.42127450679276124 -54941,0.20544916910750766 -54942,0.749682917952294 -54943,0.09679658307515604 -54944,0.08816313421875555 -54945,0.045056982124261236 -54946,0.2001548745800612 -54947,0.705338150227174 -54948,0.21266633599276374 -54949,0.47209200827583164 -54950,0.004544183804439328 -54951,0.795147649856762 -54952,0.6489157099041744 -54953,0.5315516190121568 -54954,0.26684425287555336 -54955,0.9097127040544232 -54956,0.9472951335629517 -54957,0.8205391206076175 -54958,0.9818070950921689 -54959,0.8363474911602856 -54960,0.9198269279826561 -54961,0.5380700481856298 -54962,0.6641756408683055 -54963,0.720298553044223 -54964,0.46631115720266714 -54965,0.9259686711470442 -54966,0.05169992720573213 -54967,0.5190079875868605 -54968,0.8279361623912026 -54969,0.4941789040136543 -54970,0.13395064558907632 -54971,0.07560865875564748 -54972,0.2695019448631204 -54973,0.9473447821208475 -54974,0.42079922684989224 -54975,0.9012948010610141 -54976,0.5027909245208544 -54977,0.8825622275455507 -54978,0.5927584995468583 -54979,0.7082721468606076 -54980,0.21205133838005286 -54981,0.2544084178748607 -54982,0.388303915147747 -54983,0.9903974477456494 -54984,0.677275274264214 -54985,0.5738434622345546 -54986,0.42299438193323047 -54987,0.557850076427284 -54988,0.3790290305274322 -54989,0.4045755816767771 -54990,0.4653300644201738 -54991,0.9221937930426998 -54992,0.5424118240052963 -54993,0.22462204508941597 -54994,0.8520925117197137 -54995,0.11981806287371477 -54996,0.45005141781992586 -54997,0.9643240152807446 -54998,0.17806342748239257 -54999,0.5638759275429827 -55000,0.41380334284683495 -55001,0.8265068597830798 -55002,0.8882106494041088 -55003,0.7984917467544516 -55004,0.058233527239427096 -55005,0.3406763728839748 -55006,0.11198974344855184 -55007,0.12319449557341822 -55008,0.287452419699449 -55009,0.6456777192159566 -55010,0.9924007512046965 -55011,0.5773451396795847 -55012,0.7965977058626423 -55013,0.4519765868884732 -55014,0.6541652810483848 -55015,0.8007265845317879 -55016,0.5493560545421354 -55017,0.016660481672560956 -55018,0.5162129649787338 -55019,0.6553761463503011 -55020,0.20950720638929754 -55021,0.7600770580934624 -55022,0.12146951803018158 -55023,0.8687094803743047 -55024,0.7197098784762693 -55025,0.787748398519773 -55026,0.12989026841870666 -55027,0.22471472411302507 -55028,0.12172870199036101 -55029,0.3565683155813346 -55030,0.1068396365285681 -55031,0.2412915866679004 -55032,0.3956934099690872 -55033,0.891860304901808 -55034,0.14076636200935733 -55035,0.6637931770459187 -55036,0.8725617626560976 -55037,0.0629947296252168 -55038,0.3139998157279982 -55039,0.9916058192142414 -55040,0.09830403996407677 -55041,0.433041964277476 -55042,0.0785937811284333 -55043,0.2668977657328573 -55044,0.667206569625073 -55045,0.6250579642330155 -55046,0.5832760240595328 -55047,0.8083871568529764 -55048,0.9945874012507402 -55049,0.9491038140102497 -55050,0.7238717316750031 -55051,0.021885417284340236 -55052,0.9542720348105311 -55053,0.24336140975688547 -55054,0.6983496075947017 -55055,0.20941919753400096 -55056,0.3706661886786956 -55057,0.4259479532621262 -55058,0.5620514037215107 -55059,0.4123439025320673 -55060,0.07922699968525948 -55061,0.7170708350494568 -55062,0.8648517488219569 -55063,0.09539592041874911 -55064,0.2081902046544486 -55065,0.08992298254347098 -55066,0.3850915403830232 -55067,0.5057098460216044 -55068,0.19316242510354997 -55069,0.9872126247367975 -55070,0.23433115375910152 -55071,0.04086703541378667 -55072,0.7058905530930005 -55073,0.6631453709444871 -55074,0.23034550233937 -55075,0.10892639382572633 -55076,0.16374410505482817 -55077,0.9132975903897901 -55078,0.03241731416304927 -55079,0.8447947352373563 -55080,0.4064446480409879 -55081,0.6787372657887019 -55082,0.8735364504627086 -55083,0.6907723502698746 -55084,0.9856443929105294 -55085,0.15071112247701535 -55086,0.832249472563877 -55087,0.8342296697464763 -55088,0.9891261258764764 -55089,0.2900238037575392 -55090,0.7811004450991872 -55091,0.4414675952860032 -55092,0.6258748391609467 -55093,0.887515047067979 -55094,0.6029728925170031 -55095,0.8725845823175079 -55096,0.24405361885229082 -55097,0.6377540916065163 -55098,0.9063819555599484 -55099,0.6887912492557626 -55100,0.5348840070801582 -55101,0.8658093238525404 -55102,0.3596708178396575 -55103,0.35486066169685815 -55104,0.7987567447983415 -55105,0.8452690480547984 -55106,0.48695582240915025 -55107,0.8151427394294638 -55108,0.9232347993840972 -55109,0.7513584414991636 -55110,0.5883713796323539 -55111,0.8821144871024653 -55112,0.399234491194015 -55113,0.13808999862855864 -55114,0.525063095037703 -55115,0.19926687327416337 -55116,0.7969014266725442 -55117,0.5822870181100416 -55118,0.6975264748198988 -55119,0.06195950411131246 -55120,0.25345746450802453 -55121,0.7709240253103998 -55122,0.47961561506610817 -55123,0.14587444998885757 -55124,0.7334034799638606 -55125,0.12655505317282967 -55126,0.5168869445752998 -55127,0.8930052322119177 -55128,0.2714070437400744 -55129,0.06216012393326553 -55130,0.8514285416507004 -55131,0.2820348182276816 -55132,0.9011836676207403 -55133,0.4590552492211384 -55134,0.09380358494297081 -55135,0.41972161120077045 -55136,0.2728988170151663 -55137,0.6438720484104499 -55138,0.6740160888116868 -55139,0.5956594940121601 -55140,0.8289097001709643 -55141,0.4955069657547295 -55142,0.44750313130374497 -55143,0.513411909795523 -55144,0.5746032348690517 -55145,0.2573596950304563 -55146,0.050593336606390205 -55147,0.941242600470085 -55148,0.21770640552634735 -55149,0.24977112117400302 -55150,0.8940300983530827 -55151,0.3854716574424747 -55152,0.18901801567019905 -55153,0.4631510473071887 -55154,0.6223931784377021 -55155,0.05631198136116333 -55156,0.8581563855444458 -55157,0.6252271533101856 -55158,0.7638269081731718 -55159,0.602031754378576 -55160,0.7837760873560058 -55161,0.3482803953314111 -55162,0.05543017680279816 -55163,0.2047348437730553 -55164,0.44434886581868693 -55165,0.7262478870550932 -55166,0.41272434702907246 -55167,0.6983293599568119 -55168,0.08384819144695888 -55169,0.12296043243286481 -55170,0.8189077618452119 -55171,0.9301790918955327 -55172,0.6562316680430884 -55173,0.4432653786260158 -55174,0.6437466001845393 -55175,0.7186164852960656 -55176,0.2638776439722298 -55177,0.06845206449280417 -55178,0.06488701815845521 -55179,0.3015861982923487 -55180,0.15402003789829466 -55181,0.7559140940133054 -55182,0.16073844456177666 -55183,0.18457623084647756 -55184,0.3900781706564813 -55185,0.32977510327329773 -55186,0.9798857175171235 -55187,0.02006652507781237 -55188,0.6774733170309135 -55189,0.14363190133764236 -55190,0.43003743746570344 -55191,0.09156540457845563 -55192,0.7769935539319162 -55193,0.1350324645962594 -55194,0.20340657689271702 -55195,0.7728923912411189 -55196,0.6519129597099788 -55197,0.7402178813332533 -55198,0.21873596956067765 -55199,0.06109824420645327 -55200,0.46260170387404975 -55201,0.48964348066111385 -55202,0.4839603045330756 -55203,0.8227328738353521 -55204,0.7288320888418308 -55205,0.15191338930143183 -55206,0.34562434421638677 -55207,0.5353794210333427 -55208,0.9517118530243801 -55209,0.8968186617576378 -55210,0.5751107852271348 -55211,0.42995870105163037 -55212,0.15768743838413823 -55213,0.9130097867096644 -55214,0.09778034444162909 -55215,0.91036160930995 -55216,0.9888718056862283 -55217,0.09592500818590732 -55218,0.9276528843519567 -55219,0.8329755028207435 -55220,0.5305461214489489 -55221,0.8560128394997335 -55222,0.178145840397973 -55223,0.18125833239618105 -55224,0.8996280646976367 -55225,0.8204587922523717 -55226,0.6614983283356262 -55227,0.5581035441978439 -55228,0.7463233972245579 -55229,0.7683821630697499 -55230,0.7487934940440016 -55231,0.8209813993845473 -55232,0.4830027112208133 -55233,0.6898812700868115 -55234,0.9542982781449043 -55235,0.5151481717336106 -55236,0.7822755456039387 -55237,0.5451031625800435 -55238,0.4944553910148557 -55239,0.7484820189325123 -55240,0.27073646996292766 -55241,0.5622928859525835 -55242,0.12064589074354792 -55243,0.9787964919091057 -55244,0.09373979306929203 -55245,0.9777988379345129 -55246,0.008842685050984178 -55247,0.8487636025882616 -55248,0.14973332429677033 -55249,0.3358019892779103 -55250,0.019752915864658993 -55251,0.7738213795359421 -55252,0.8967792696629443 -55253,0.8943193639928132 -55254,0.6049447317080779 -55255,0.6184986654162116 -55256,0.2781434756703447 -55257,0.8790668791652986 -55258,0.2218863459970135 -55259,0.05153698468733259 -55260,0.25061332302555883 -55261,0.8822530188241997 -55262,0.2251702016461803 -55263,0.22978864607963345 -55264,0.6609148434748238 -55265,0.5898288632760605 -55266,0.009974840406658081 -55267,0.9810727071604357 -55268,0.8217150388643366 -55269,0.9490088737942707 -55270,0.2493760564436759 -55271,0.18512492797700408 -55272,0.03591968739045226 -55273,0.24777719855374103 -55274,0.8081117425193027 -55275,0.29614247543856154 -55276,0.8334593160098189 -55277,0.7942574046100558 -55278,0.2565590304363531 -55279,0.7089416699591027 -55280,0.900109807074877 -55281,0.5856673016883621 -55282,0.3948711751882221 -55283,0.8308913814993663 -55284,0.772973442481282 -55285,0.7217865186523968 -55286,0.899858840926826 -55287,0.1897828612941791 -55288,0.5084837808234952 -55289,0.8425453224987446 -55290,0.5880619794718526 -55291,0.9931576953817796 -55292,0.826037687085924 -55293,0.014905360101816867 -55294,0.6090038313429008 -55295,0.65498615544764 -55296,0.7113358751807551 -55297,0.15068046598642115 -55298,0.2142794210717094 -55299,0.6721737122625973 -55300,0.8517601966495938 -55301,0.13381732156870518 -55302,0.37090501872866843 -55303,0.5739968283636574 -55304,0.08373654258962471 -55305,0.8606886845846696 -55306,0.380668028748851 -55307,0.23364418679413967 -55308,0.7037876156879275 -55309,0.7184401692343985 -55310,0.34779765714065203 -55311,0.25953066242888556 -55312,0.6611137767601092 -55313,0.34957170178363817 -55314,0.4451348620331286 -55315,0.8124111149514341 -55316,0.8891950163540792 -55317,0.9300920274693456 -55318,0.19608441394953546 -55319,0.6434851029543694 -55320,0.4887588839056226 -55321,0.7146680441531233 -55322,0.5864036620036491 -55323,0.6389924127327024 -55324,0.9929485014046471 -55325,0.33115712553623755 -55326,0.8875160499948768 -55327,0.6008148914967841 -55328,0.6724902986698221 -55329,0.8457943305340111 -55330,0.40026124177383327 -55331,0.6584886072022589 -55332,0.14509797399589808 -55333,0.23138301105406334 -55334,0.22643757808658183 -55335,0.13381530806399133 -55336,0.5466563457020331 -55337,0.5304707618611949 -55338,0.20337801280214085 -55339,0.35575262121622997 -55340,0.3199699733286959 -55341,0.0076963446709306105 -55342,0.9026397217773766 -55343,0.5675694067367555 -55344,0.09570685862329997 -55345,0.6949616600762131 -55346,0.2973432695293242 -55347,0.41711965624628755 -55348,0.5438209815468837 -55349,0.044969465192164715 -55350,0.9811917395236115 -55351,0.8938550732880679 -55352,0.734592493041773 -55353,0.9001085609303592 -55354,0.4787969583495414 -55355,0.16974085521671478 -55356,0.5659586247908772 -55357,0.6457305424849816 -55358,0.744962130291815 -55359,0.5237447348641777 -55360,0.14698521065824366 -55361,0.9961942018138734 -55362,0.9008596136762415 -55363,0.7505322692288283 -55364,0.23409561090669417 -55365,0.5380416833070544 -55366,0.618737728033914 -55367,0.24830389099522876 -55368,0.4464717602538596 -55369,0.22497652745133168 -55370,0.636359968141739 -55371,0.8519633579758449 -55372,0.001205098297967444 -55373,0.12235237785522335 -55374,0.5029548636285709 -55375,0.009592719185736787 -55376,0.7176185573547524 -55377,0.7426686854424507 -55378,0.10723842957971352 -55379,0.38340070999622855 -55380,0.28253490593698716 -55381,0.6084055714091662 -55382,0.4796400760656454 -55383,0.7072688169794347 -55384,0.6262108371723607 -55385,0.10104606647828374 -55386,0.08715449111303364 -55387,0.392036445805373 -55388,0.6866896367902234 -55389,0.973979498865018 -55390,0.18681663212473154 -55391,0.7276936626196622 -55392,0.9805230530188273 -55393,0.175571437495739 -55394,0.7575439872801314 -55395,0.8600349274016408 -55396,0.5865362721816489 -55397,0.6379813347346344 -55398,0.04949087539830821 -55399,0.29440016839224203 -55400,0.9484660048954144 -55401,0.6348453605258377 -55402,0.1289717985034109 -55403,0.38868323181250364 -55404,0.6593951256771994 -55405,0.6366169134167767 -55406,0.27106440085360506 -55407,0.46387303237131106 -55408,0.2524601805791947 -55409,0.15056882037029184 -55410,0.19201859020211276 -55411,0.37610071124234135 -55412,0.7607373750503239 -55413,0.789359777538713 -55414,0.1901306024079351 -55415,0.7900239144876539 -55416,0.6262387330831541 -55417,0.35023358731707177 -55418,0.2992839064867453 -55419,0.3990861074762443 -55420,0.6868814035846442 -55421,0.7227679996666796 -55422,0.012155567633472253 -55423,0.678523140173265 -55424,0.0081987476281703 -55425,0.07862824279173786 -55426,0.7351201994251091 -55427,0.9828547620494067 -55428,0.715984874741083 -55429,0.27974283567302805 -55430,0.9258060064032613 -55431,0.045806801436672484 -55432,0.997838579022608 -55433,0.7063822105909178 -55434,0.5185371153294935 -55435,0.3989955109554163 -55436,0.6312753458998371 -55437,0.4537960641539187 -55438,0.0888787815008183 -55439,0.42317874755379337 -55440,0.3397741502520938 -55441,0.08814241329515005 -55442,0.29018714455309114 -55443,0.8452313983131886 -55444,0.1712824987533611 -55445,0.03855047976794601 -55446,0.42285310386333763 -55447,0.7687431972566442 -55448,0.806774145516955 -55449,0.5008360879966947 -55450,0.6797378445783397 -55451,0.057633796423593564 -55452,0.67662053312044 -55453,0.8738057916879757 -55454,0.8004109333385205 -55455,0.5247080241189245 -55456,0.6579157347068434 -55457,0.06182901212955971 -55458,0.5278508162751441 -55459,0.8827608452204927 -55460,0.5743540271750742 -55461,0.05494481669335971 -55462,0.5295697835378737 -55463,0.6779369140085865 -55464,0.26214248833034637 -55465,0.1046837904917256 -55466,0.9810970326433547 -55467,0.39317689964516067 -55468,0.35361508254117013 -55469,0.9582087560941104 -55470,0.8119618316485702 -55471,0.6677122264007703 -55472,0.2593747949052736 -55473,0.21417819263661186 -55474,0.171122688762672 -55475,0.14292382410315452 -55476,0.6630422724100246 -55477,0.19538322553297804 -55478,0.9182568510279809 -55479,0.6638545435273692 -55480,0.19900299776438712 -55481,0.08385913789036425 -55482,0.2600799971144401 -55483,0.8950442259189993 -55484,0.5033009427954488 -55485,0.7148502873288101 -55486,0.04887997234583108 -55487,0.6729385788030474 -55488,0.2100379120366942 -55489,0.8338857362204409 -55490,0.6816709023659436 -55491,0.21313991113914932 -55492,0.5045552552696061 -55493,0.9053683734586787 -55494,0.7446660703015362 -55495,0.7366928661208394 -55496,0.38265938026269264 -55497,0.9273690434982559 -55498,0.053306957496122576 -55499,0.570400434247872 -55500,0.21951366338625256 -55501,0.48812283997474637 -55502,0.15468324047271775 -55503,0.6933778975043268 -55504,0.4590477926199593 -55505,0.0902497515942069 -55506,0.3911568595267798 -55507,0.06745018261825075 -55508,0.08555530589279658 -55509,0.3176612328996904 -55510,0.5453924100845863 -55511,0.041238816341473195 -55512,0.49500167057500455 -55513,0.9988790788641838 -55514,0.8100852019815377 -55515,0.7197469342433627 -55516,0.6103320119250809 -55517,0.16069898978724406 -55518,0.4525620383230887 -55519,0.8515032462986125 -55520,0.5463777188474667 -55521,0.6659891641652808 -55522,0.8565172977144675 -55523,0.8634859470998912 -55524,0.44385967864350806 -55525,0.3556572885531506 -55526,0.07469139105009148 -55527,0.0036464061610184118 -55528,0.41081834461947697 -55529,0.32636748102230795 -55530,0.8851811088586595 -55531,0.7436365755282119 -55532,0.09392086873791794 -55533,0.17775555011029176 -55534,0.7152706845424402 -55535,0.3474098215327931 -55536,0.8087075899228781 -55537,0.020960036098850887 -55538,0.718143041367844 -55539,0.11893202514884438 -55540,0.12494614009655947 -55541,0.5108320416119135 -55542,0.5870790792706383 -55543,0.7032398166714277 -55544,0.170757049606855 -55545,0.6573552184616321 -55546,0.9219100020250308 -55547,0.5883624998361665 -55548,0.5537129108370236 -55549,0.46205226691817725 -55550,0.04857594184021863 -55551,0.6008804185717964 -55552,0.4420564263522613 -55553,0.5070081115579316 -55554,0.7433851056900455 -55555,0.33828097678570146 -55556,0.4217066254104377 -55557,0.6123103043586586 -55558,0.24525376602854032 -55559,0.7164047542215608 -55560,0.5663497949456574 -55561,0.491898035688932 -55562,0.32192732856643014 -55563,0.10119566951173609 -55564,0.8667896475053775 -55565,0.4775239054615463 -55566,0.6029442895722609 -55567,0.7880790041849168 -55568,0.09383422932386087 -55569,0.7741617020129167 -55570,0.518480507537112 -55571,0.7149675270502891 -55572,0.5915795564729533 -55573,0.45661239722394464 -55574,0.5726594703505716 -55575,0.7834409065025509 -55576,0.25274106818782405 -55577,0.102119325771445 -55578,0.5176019102775025 -55579,0.8475750095589042 -55580,0.4376345554048582 -55581,0.5571542319806642 -55582,0.8869360292001772 -55583,0.4641819164996053 -55584,0.4546662867956929 -55585,0.13650017998994612 -55586,0.7681298016584197 -55587,0.6521212192669871 -55588,0.06645833602141904 -55589,0.5068051843716331 -55590,0.44206982010279583 -55591,0.05767443495502589 -55592,0.9347684688966678 -55593,0.06894747424967607 -55594,0.43096967218820337 -55595,0.4469942907912544 -55596,0.9055394076717777 -55597,0.7421895773619019 -55598,0.05633741119315527 -55599,0.9941357209778033 -55600,0.3929865532929341 -55601,0.502550179811792 -55602,0.8617683430047353 -55603,0.18853433892653504 -55604,0.4516772898261051 -55605,0.11731758801606584 -55606,0.9587796102484967 -55607,0.4293685958659016 -55608,0.30131570873752056 -55609,0.3476249901851546 -55610,0.2377128385184316 -55611,0.6482980737079208 -55612,0.6755071332635174 -55613,0.6832967589352669 -55614,0.7808691560786845 -55615,0.8166584446227046 -55616,0.7307057128158566 -55617,0.5220893644151621 -55618,0.9293735408772039 -55619,0.02214168326609589 -55620,0.3603901164419231 -55621,0.5702027170180312 -55622,0.46423052850969027 -55623,0.2965179728349078 -55624,0.40421600625083876 -55625,0.14850374853018145 -55626,0.972511940316396 -55627,0.042314271382494106 -55628,0.7163515302377814 -55629,0.4696940928944251 -55630,0.18535334145022786 -55631,0.9055214868865803 -55632,0.39523250571475643 -55633,0.8347644925503015 -55634,0.3227592808146481 -55635,0.2952196216212236 -55636,0.4698607914176183 -55637,0.8153094794126962 -55638,0.20674868973488858 -55639,0.35305650604803906 -55640,0.7226427867296941 -55641,0.6911120148162456 -55642,0.5087231244641397 -55643,0.6673804508271627 -55644,0.8773045335167114 -55645,0.48092597944274296 -55646,0.14896230567552982 -55647,0.5386772270367611 -55648,0.7446692563015459 -55649,0.41347002100107255 -55650,0.3236340966009088 -55651,0.7698291572527934 -55652,0.35184000436184826 -55653,0.789458468263984 -55654,0.7117319645420991 -55655,0.5795569605824241 -55656,0.01038835753782208 -55657,0.9241612709259093 -55658,0.10798562781217613 -55659,0.6988238573856775 -55660,0.7901862934428897 -55661,0.936081059294088 -55662,0.8274357263286362 -55663,0.7772386293667107 -55664,0.3176728246631234 -55665,0.7736486980702716 -55666,0.9507489555031353 -55667,0.004622922361712578 -55668,0.9445619019356456 -55669,0.7223571822551442 -55670,0.9388740678556204 -55671,0.11003429811717691 -55672,0.35858481439095913 -55673,0.23023491258052964 -55674,0.6500631957657272 -55675,0.6698802607264521 -55676,0.6352787161101967 -55677,0.4257273790489725 -55678,0.45812678377651384 -55679,0.8645506359383931 -55680,0.327597857667455 -55681,0.6361892834465199 -55682,0.25603295329702 -55683,0.6803957927596256 -55684,0.8595751523927804 -55685,0.19301579357636567 -55686,0.6492343741431732 -55687,0.21562677692987275 -55688,0.8508477475156719 -55689,0.13773481866151527 -55690,0.5332338908152485 -55691,0.9016035653475957 -55692,0.014394953681856726 -55693,0.5961217983033604 -55694,0.17040498543731797 -55695,0.08119249935114814 -55696,0.22133998467415206 -55697,0.5261580423149489 -55698,0.30630842315332163 -55699,0.7907008314243519 -55700,0.570509230293391 -55701,0.2915271018177149 -55702,0.6370666370377602 -55703,0.26996969817778727 -55704,0.1134384805568609 -55705,0.548155314200963 -55706,0.9487017269278537 -55707,0.521200609446688 -55708,0.0984590482459694 -55709,0.07500128822131269 -55710,0.4749588750850402 -55711,0.001974997381904875 -55712,0.33161971124305134 -55713,0.9244243919799291 -55714,0.12951021042752864 -55715,0.19117515421793851 -55716,0.8952529611350153 -55717,0.5857034750020271 -55718,0.6409082477439103 -55719,0.9748308807630852 -55720,0.003405760508457756 -55721,0.6983203382952079 -55722,0.9249698066254072 -55723,0.30100893874825574 -55724,0.460769655732156 -55725,0.7334285428144217 -55726,0.18103609919436603 -55727,0.6890404426117538 -55728,0.7240800505474094 -55729,0.5757979545236509 -55730,0.038402574298643466 -55731,0.6745009444730437 -55732,0.1183907973336018 -55733,0.6388183953351988 -55734,0.8890386650483395 -55735,0.26216442741653156 -55736,0.3209085696398499 -55737,0.8854164688975268 -55738,0.6279920186603604 -55739,0.359771990719007 -55740,0.9270886173769175 -55741,0.901572617200852 -55742,0.7926709123874186 -55743,0.09197067682945936 -55744,0.831037904988015 -55745,0.5802265441618243 -55746,0.3701461828261806 -55747,0.47576259775827434 -55748,0.684683256668237 -55749,0.5892232140769074 -55750,0.8180403494124546 -55751,0.009349004074385658 -55752,0.9352849864627465 -55753,0.7886200033689015 -55754,0.2475036739245573 -55755,0.35383612836852363 -55756,0.4216148562720793 -55757,0.39496189427996475 -55758,0.8427357833440474 -55759,0.5917377652434946 -55760,0.605765616982835 -55761,0.631570986019853 -55762,0.19710296854247822 -55763,0.2639435770971944 -55764,0.8460875319578847 -55765,0.5678806242871127 -55766,0.510862294242051 -55767,0.2740614432281683 -55768,0.017312899912722446 -55769,0.49946218627272865 -55770,0.3432371143229549 -55771,0.548568219995099 -55772,0.5035651657569105 -55773,0.14567855594792745 -55774,0.11229073226834674 -55775,0.19748482035363402 -55776,0.19234875127535278 -55777,0.30730796847643527 -55778,0.7961482841411316 -55779,0.4645127512560763 -55780,0.7133364819924719 -55781,0.03020189256133976 -55782,0.2634307282204442 -55783,0.5822067254457574 -55784,0.7891721164871736 -55785,0.46815217097613215 -55786,0.2709901949541713 -55787,0.5738859710447423 -55788,0.051601702363199276 -55789,0.8792413832925735 -55790,0.65007273558149 -55791,0.5381572157200207 -55792,0.820968394385379 -55793,0.9188380265048829 -55794,0.44614639519274424 -55795,0.13732017867875013 -55796,0.9598929373021801 -55797,0.46746806713625844 -55798,0.007163506657260288 -55799,0.9800605984057082 -55800,0.9601317975360054 -55801,0.5983704018550311 -55802,0.31965053320594194 -55803,0.5284797225338711 -55804,0.04556006663824552 -55805,0.2871966767966857 -55806,0.9244144775135824 -55807,0.2787296625266402 -55808,0.9733461101648807 -55809,0.8920492502972924 -55810,0.9863330019700373 -55811,0.5542337713117167 -55812,0.41300452530786547 -55813,0.973160530816361 -55814,0.4671745243196934 -55815,0.4455215258094627 -55816,0.25207709341838125 -55817,0.41818464739944705 -55818,0.35961211518406133 -55819,0.49652821483110665 -55820,0.7330593626976446 -55821,0.9648161784475665 -55822,0.4866547538939575 -55823,0.11707481489657501 -55824,0.9768929216404014 -55825,0.22485519149908217 -55826,0.6713427116976823 -55827,0.6910408347382645 -55828,0.22716764441319992 -55829,0.04636443186559924 -55830,0.36608100987850933 -55831,0.21985698952032662 -55832,0.2061864568545717 -55833,0.4036124559717369 -55834,0.11995687245562814 -55835,0.324887927389544 -55836,0.062148941430392846 -55837,0.3465611483578479 -55838,0.9334430664584322 -55839,0.44504220441089914 -55840,0.6448847997706684 -55841,0.494802059345956 -55842,0.01589267273422501 -55843,0.5026926183260602 -55844,0.20725976044600847 -55845,0.9812560514544302 -55846,0.16460035348893887 -55847,0.5625782471621951 -55848,0.10079608734747059 -55849,0.6494763323746902 -55850,0.27873217379087234 -55851,0.7249083245703015 -55852,0.22635946047575073 -55853,0.07126369172530633 -55854,0.025919032151453525 -55855,0.8904807153328758 -55856,0.17842612945669678 -55857,0.5033050718029616 -55858,0.14058742993455786 -55859,0.6125605164326055 -55860,0.49140451451904177 -55861,0.4958189643202563 -55862,0.8274658132666204 -55863,0.9985849883697256 -55864,0.8782655992606648 -55865,0.735805433612496 -55866,0.6466649438493915 -55867,0.838925536911077 -55868,0.538283638559087 -55869,0.5627787868684826 -55870,0.3786613650665641 -55871,0.8282888192987312 -55872,0.8020288709501898 -55873,0.6900357114045164 -55874,0.8482897400922607 -55875,0.36130940220683117 -55876,0.6821529389799369 -55877,0.2005247339509061 -55878,0.9894123246600686 -55879,0.7280253551255699 -55880,0.8083423057480331 -55881,0.743976475983584 -55882,0.4765785542350255 -55883,0.06750228118985291 -55884,0.7472152814606317 -55885,0.7308638985425843 -55886,0.0888667057777558 -55887,0.15248060497964788 -55888,0.3222375032089777 -55889,0.3541607187522433 -55890,0.45218354413309436 -55891,0.6196675248777858 -55892,0.38112865676601404 -55893,0.5977607763921574 -55894,0.45192172264370345 -55895,0.19290765073365146 -55896,0.7667294597085951 -55897,0.07260090096589744 -55898,0.686124851706934 -55899,0.7152854437149838 -55900,0.5604716579000386 -55901,0.3408832289749898 -55902,0.6453109988857874 -55903,0.532357064945385 -55904,0.4245969028431602 -55905,0.9487058432027979 -55906,0.9560990547546755 -55907,0.7491453384123482 -55908,0.41830656982983727 -55909,0.5547688008684706 -55910,0.6475309793642277 -55911,0.751887098193309 -55912,0.7799427293898697 -55913,0.7758391269963559 -55914,0.3228070171506249 -55915,0.525100569187242 -55916,0.3574204543516222 -55917,0.4719171511131772 -55918,0.5957287273786264 -55919,0.7186940278653909 -55920,0.6094605052241249 -55921,0.39203079739232727 -55922,0.11929960507776627 -55923,0.3793691280338076 -55924,0.10340508166825191 -55925,0.21175445509796642 -55926,0.9371923025473647 -55927,0.753510434585694 -55928,0.9829541024876276 -55929,0.34044881884871037 -55930,0.41582311707182806 -55931,0.6590142295092992 -55932,0.9504664871440267 -55933,0.006625625796213508 -55934,0.38184595364194374 -55935,0.7823301314100503 -55936,0.7208447940168282 -55937,0.6007286327422925 -55938,0.8466457113009852 -55939,0.7644186501625987 -55940,0.4353647645116623 -55941,0.7448515608084649 -55942,0.9658658690002193 -55943,0.5086105187597562 -55944,0.983343442985485 -55945,0.862467515383772 -55946,0.5737585981654126 -55947,0.3755427069658749 -55948,0.5389817091321821 -55949,0.7525832366979505 -55950,0.3444471974974671 -55951,0.351419148393773 -55952,0.21825393622120115 -55953,0.02085999966193408 -55954,0.6267981326633015 -55955,0.7708106660248183 -55956,0.4215374208792033 -55957,0.9622745208930025 -55958,0.4192249496384226 -55959,0.09531673118272277 -55960,0.3809327013763274 -55961,0.6078452087651376 -55962,0.09681074029224168 -55963,0.6445368338035461 -55964,0.034555248916817605 -55965,0.14438180806520773 -55966,0.7400532008955394 -55967,0.4454364687584734 -55968,0.7902783231577899 -55969,0.3982842889638326 -55970,0.18923522491074085 -55971,0.3275326992751073 -55972,0.9551649345727223 -55973,0.3080845364683509 -55974,0.9887199439098386 -55975,0.3863007531334587 -55976,0.5512266632268328 -55977,0.5518190946804438 -55978,0.10081393958039297 -55979,0.3449257723269623 -55980,0.8734550214180944 -55981,0.15609913089274985 -55982,0.21095021758949617 -55983,0.5157195360755157 -55984,0.3625913570513257 -55985,0.0650306854829591 -55986,0.7940713766811256 -55987,0.23690659839914208 -55988,0.6972769906790778 -55989,0.48935245520750204 -55990,0.8369998243519757 -55991,0.7314609587716168 -55992,0.16750562817755088 -55993,0.07752541468618324 -55994,0.4590474596873041 -55995,0.3480556232596477 -55996,0.917333820618989 -55997,0.128395618441544 -55998,0.195224621635404 -55999,0.32031211571625195 -56000,0.9472332047593668 -56001,0.09347001165520508 -56002,0.7684102941292451 -56003,0.3832139956039672 -56004,0.12787549402743348 -56005,0.35326423472929114 -56006,0.9723519041263173 -56007,0.0354579684768469 -56008,0.7194404268833152 -56009,0.39452406674511153 -56010,0.3998716289634756 -56011,0.9343467407914561 -56012,0.8413431207383553 -56013,0.47879124456134525 -56014,0.5194157647019567 -56015,0.8782251072943743 -56016,0.47583051261857623 -56017,0.1049428404806747 -56018,0.5872949862716629 -56019,0.8419034097692457 -56020,0.09392521987541891 -56021,0.7470972281187073 -56022,0.40858843594274075 -56023,0.5990016586157227 -56024,0.6278841284686377 -56025,0.7910005320412229 -56026,0.8859090116057134 -56027,0.40513010245733383 -56028,0.03687638805678761 -56029,0.9741696111101396 -56030,0.4982577335381595 -56031,0.5992417532324174 -56032,0.8946490602793892 -56033,0.44347402448662065 -56034,0.6308699682214605 -56035,0.19709742139681796 -56036,0.572171544429353 -56037,0.22750756690949459 -56038,0.5532654813497145 -56039,0.9609184891386199 -56040,0.5310547779965096 -56041,0.4929170550651176 -56042,0.47710491032092617 -56043,0.04542672941568826 -56044,0.8237571821734755 -56045,0.3200711504930954 -56046,0.46460372342312706 -56047,0.3054066703972188 -56048,0.46924556774342985 -56049,0.6850810163237058 -56050,0.7060083123087627 -56051,0.6016595444750574 -56052,0.14769783111219614 -56053,0.5204846896802677 -56054,0.8355202781953114 -56055,0.2789105929094895 -56056,0.9980610801950572 -56057,0.7500753486775548 -56058,0.06089351703544654 -56059,0.9741290760597371 -56060,0.2856026482595302 -56061,0.22359956036105932 -56062,0.6561951392810429 -56063,0.5291792684594792 -56064,0.8902581719915099 -56065,0.6604751196839345 -56066,0.7140223895972788 -56067,0.42570993459069906 -56068,0.39543654372584314 -56069,0.0029428059979635934 -56070,0.6804190044310814 -56071,0.14759203625046735 -56072,0.6374393581613923 -56073,0.41677284765442935 -56074,0.3766221383431767 -56075,0.8203492694825972 -56076,0.6349704692389345 -56077,0.5949235070270548 -56078,0.5492600737773102 -56079,0.8811314105819147 -56080,0.48260239449440145 -56081,0.2962449654379049 -56082,0.38043615445397516 -56083,0.5333176565639951 -56084,0.9728269677754138 -56085,0.2925863051410641 -56086,0.2162655163021744 -56087,0.48692442355365184 -56088,0.5602634028738032 -56089,0.7825673262322359 -56090,0.9974341327682125 -56091,0.3415685180120984 -56092,0.8367991371374356 -56093,0.7904873510883894 -56094,0.4501945147237264 -56095,0.03957409299572878 -56096,0.10008154431804539 -56097,0.16857652267399215 -56098,0.8430337888722576 -56099,0.6182839120101438 -56100,0.5539217050436411 -56101,0.7700679960077316 -56102,0.8895778794229829 -56103,0.86766759874674 -56104,0.542219055896615 -56105,0.654675336646602 -56106,0.09920610445223943 -56107,0.9869239978272801 -56108,0.19998242381447517 -56109,0.5193015143325393 -56110,0.1798575106978214 -56111,0.21066174730311915 -56112,0.7091533549902378 -56113,0.5113631265394953 -56114,0.020849549187242356 -56115,0.5628661582367398 -56116,0.5630055933583648 -56117,0.21127700849948394 -56118,0.15863179398410598 -56119,0.6485627439397933 -56120,0.15668803612934745 -56121,0.6247397437547112 -56122,0.13783004907343333 -56123,0.9631572155539431 -56124,0.34154182595093996 -56125,0.5890377247502346 -56126,0.14026696975374076 -56127,0.059252231418892465 -56128,0.12605124518195165 -56129,0.7129613742552567 -56130,0.10547091890218296 -56131,0.2874692089754648 -56132,0.9057485341654422 -56133,0.2638582019539981 -56134,0.26215595275747094 -56135,0.11346317612036183 -56136,0.7928230609721625 -56137,0.07770174907002991 -56138,0.3947270130774305 -56139,0.7705150578245916 -56140,0.506989576601105 -56141,0.839245715495341 -56142,0.9658232308924337 -56143,0.5029846594670909 -56144,0.0446934133697483 -56145,0.1560307222092958 -56146,0.7087669519094786 -56147,0.6397471097628331 -56148,0.9366232786619105 -56149,0.3653811424261538 -56150,0.9982224074994327 -56151,0.24235937193605217 -56152,0.7009521272799046 -56153,0.1299743240780059 -56154,0.3604434562004424 -56155,0.8056940077277548 -56156,0.8425565973404702 -56157,0.8546059238197175 -56158,0.06096553816628991 -56159,0.39782967614369946 -56160,0.896868734519175 -56161,0.3861911720302662 -56162,0.48989780244224024 -56163,0.15069817705228583 -56164,0.022270976657130626 -56165,0.4416133724904576 -56166,0.5845390492777861 -56167,0.9107136804700554 -56168,0.9710511554084683 -56169,0.6976568965259562 -56170,0.8133722235732102 -56171,0.39068240336690185 -56172,0.36168361998598775 -56173,0.02442140034144935 -56174,0.6875060954044914 -56175,0.4933419170394131 -56176,0.0679840427696995 -56177,0.024558155398020087 -56178,0.26000052058467094 -56179,0.35923420929388605 -56180,0.6701032079053172 -56181,0.6886174646815706 -56182,0.17769062321045137 -56183,0.8620498395546128 -56184,0.14913004629075066 -56185,0.4585562613169659 -56186,0.04124189438925607 -56187,0.3724663300056924 -56188,0.8372674461509779 -56189,0.0038243761921418207 -56190,0.05152284207078561 -56191,0.4595325583794331 -56192,0.33813804482201515 -56193,0.21050390613173586 -56194,0.08588970991328249 -56195,0.8024606005574197 -56196,0.33811286865282697 -56197,0.5296695967606554 -56198,0.08242502422215325 -56199,0.41289029706241276 -56200,0.5093398842189125 -56201,0.4880725801852467 -56202,0.5609301011543231 -56203,0.3308595925630693 -56204,0.894843237590405 -56205,0.7607541193595942 -56206,0.07632371958540873 -56207,0.5902658361798239 -56208,0.6529860510354075 -56209,0.2671753204889884 -56210,0.7363988919643287 -56211,0.8528579476800524 -56212,0.7820518924822756 -56213,0.12613191276204783 -56214,0.7074499070119056 -56215,0.49370063595546954 -56216,0.4372101774764997 -56217,0.042632412989381474 -56218,0.3750374328795044 -56219,0.8346379383931185 -56220,0.32345837601552185 -56221,0.6863765154256917 -56222,0.3638045118610753 -56223,0.8968786663542434 -56224,0.8857109593502822 -56225,0.8269072189997276 -56226,0.4373332970318219 -56227,0.6553225314124124 -56228,0.9565872457730321 -56229,0.25213363520600807 -56230,0.3219688442693519 -56231,0.2891840924790564 -56232,0.7698182276121749 -56233,0.4211817545859319 -56234,0.8426679330951277 -56235,0.6885397204531556 -56236,0.9410898878868379 -56237,0.9475982553013307 -56238,0.7770796527908763 -56239,0.09828732519902128 -56240,0.8074893318397649 -56241,0.12384441673313318 -56242,0.10990125951069496 -56243,0.29578671793065303 -56244,0.5419312959466119 -56245,0.6324743254678775 -56246,0.7673015434549099 -56247,0.17327185997885852 -56248,0.7534641182278714 -56249,0.9416705353342933 -56250,0.9604864930811449 -56251,0.28790083279372336 -56252,0.3391273903231462 -56253,0.8063269533270078 -56254,0.6250527393000075 -56255,0.13264947876329958 -56256,0.832850226380501 -56257,0.7833424441308219 -56258,0.9210475035536012 -56259,0.6467600631101013 -56260,0.9714415229236097 -56261,0.29057087985561103 -56262,0.0019345491085743793 -56263,0.01135233588138973 -56264,0.023740741674638577 -56265,0.057263304286167216 -56266,0.7933623939116893 -56267,0.9204018156786093 -56268,0.9182440093925397 -56269,0.761297385732337 -56270,0.12972622085719654 -56271,0.3251165738229014 -56272,0.5379951839578548 -56273,0.0406490259535256 -56274,0.488370504635841 -56275,0.9919060993352417 -56276,0.7881410321791363 -56277,0.5826797143093754 -56278,0.4446997968346097 -56279,0.3306190374645761 -56280,0.09860817946917155 -56281,0.26816177174887057 -56282,0.17628419212096325 -56283,0.8468795046298607 -56284,0.07160282483720071 -56285,0.5065186670314625 -56286,0.6689887785438013 -56287,0.17172266715141227 -56288,0.04437162574980469 -56289,0.30413893804308756 -56290,0.439346637798977 -56291,0.5973626236577748 -56292,0.37425725705015866 -56293,0.18069154595449544 -56294,0.9587205616571165 -56295,0.20974765840272935 -56296,0.4952568805084677 -56297,0.062430009484027105 -56298,0.7064425912335306 -56299,0.35949580128138536 -56300,0.10558678899835838 -56301,0.33490699011912983 -56302,0.4624688492585698 -56303,0.9956049224571873 -56304,0.9467875236210244 -56305,0.6785698775208043 -56306,0.7584354163044856 -56307,0.626441003748287 -56308,0.07170852211722456 -56309,0.8905852536340777 -56310,0.31142273248335073 -56311,0.1836866400609829 -56312,0.2691478101612267 -56313,0.22805701642329546 -56314,0.47403894319484485 -56315,0.48449513202434147 -56316,0.7201860253283225 -56317,0.6818685846332275 -56318,0.5169474528556179 -56319,0.5796592132279492 -56320,0.5675843747393813 -56321,0.5253263135872763 -56322,0.931273076268576 -56323,0.6595181800755989 -56324,0.35255398950356676 -56325,0.19641648691607771 -56326,0.316224663756246 -56327,0.4870369115953005 -56328,0.4502295136739959 -56329,0.05509356446054925 -56330,0.715434865200415 -56331,0.05337660220239615 -56332,0.26896266486258014 -56333,0.02840652111780595 -56334,0.628704173267154 -56335,0.592170420743822 -56336,0.8504481674820525 -56337,0.35347166559195997 -56338,0.24437480233991427 -56339,0.3610752198338577 -56340,0.746494805477281 -56341,0.7918239789958003 -56342,0.18601063229434578 -56343,0.8539655943503983 -56344,0.6447281078498572 -56345,0.5789611475195247 -56346,0.17606602670663785 -56347,0.6316493393294089 -56348,0.382559009569687 -56349,0.765440820035604 -56350,0.6008798613289202 -56351,0.3507289683418101 -56352,0.624403186142941 -56353,0.21017314956188005 -56354,0.005969211555204579 -56355,0.3760884204198477 -56356,0.8018230670691411 -56357,0.5045408241409117 -56358,0.7243717868897792 -56359,0.14782141412879324 -56360,0.9733535555950986 -56361,0.07920335474756213 -56362,0.6350447849824195 -56363,0.5302598817697721 -56364,0.027810566576179196 -56365,0.4228102417910149 -56366,0.1810464588959354 -56367,0.7214569263118606 -56368,0.22272671062219018 -56369,0.1697948476886556 -56370,0.0642934134805051 -56371,0.9717970731528698 -56372,0.061755747749307144 -56373,0.08436538189020548 -56374,0.07285578841466289 -56375,0.44012203892572077 -56376,0.9485775960398692 -56377,0.8079956845508462 -56378,0.027107741019617437 -56379,0.9188556748053143 -56380,0.8959169399678503 -56381,0.8240134384513589 -56382,0.6493412421815365 -56383,0.8239863547465319 -56384,0.48280555191572894 -56385,0.831024813252142 -56386,0.13123855015682195 -56387,0.1933101172064987 -56388,0.4748007800286478 -56389,0.9485089344861865 -56390,0.23304919939002988 -56391,0.19912596927212012 -56392,0.707490395324351 -56393,0.9222916631755678 -56394,0.23361703180543358 -56395,0.3020186507336886 -56396,0.790831497587208 -56397,0.9485347122757896 -56398,0.22774633863946858 -56399,0.2921964148195886 -56400,0.4290668844497819 -56401,0.5891056617272259 -56402,0.5835879636629145 -56403,0.5519993287217756 -56404,0.9546130061688807 -56405,0.19498314108790948 -56406,0.9113870050882429 -56407,0.2577557257599704 -56408,0.13278399611729486 -56409,0.2642252218690172 -56410,0.10467801924629438 -56411,0.4323960593566305 -56412,0.16266402017939652 -56413,0.8800770279322232 -56414,0.6791102827098083 -56415,0.6296545111937358 -56416,0.8804040272557673 -56417,0.19335443978089872 -56418,0.9156205717336302 -56419,0.3414281853211991 -56420,0.4688376601453428 -56421,0.46370701837867156 -56422,0.7744336942359534 -56423,0.06284405534538284 -56424,0.8565643102058488 -56425,0.8152853750582438 -56426,0.9009145515823944 -56427,0.7628084477847602 -56428,0.009394111313621112 -56429,0.6287958125879318 -56430,0.39642133244185096 -56431,0.4739153311211648 -56432,0.7877240735102843 -56433,0.7082688420154415 -56434,0.9991210628106764 -56435,0.26940550930894736 -56436,0.732955199654421 -56437,0.11666005963090953 -56438,0.5764200748739153 -56439,0.8059617535913678 -56440,0.05329737582650396 -56441,0.5106829210675556 -56442,0.6934631987745422 -56443,0.7760295417764863 -56444,0.002143360900267788 -56445,0.256181911996731 -56446,0.7195769472866781 -56447,0.5697886339336928 -56448,0.19704283501211672 -56449,0.36417959746406814 -56450,0.3675560253229926 -56451,0.6378571793349967 -56452,0.8032698675585143 -56453,0.4950726196899644 -56454,0.6907549361565045 -56455,0.7172823156749089 -56456,0.7448601681286832 -56457,0.4798409056102868 -56458,0.08427215883178685 -56459,0.3275426786753124 -56460,0.2308396764639723 -56461,0.6765869784379921 -56462,0.01649487805711336 -56463,0.3019599308823919 -56464,0.45385595671680157 -56465,0.09231112925875695 -56466,0.8993746159661304 -56467,0.5184769167713653 -56468,0.5912789785221312 -56469,0.5250182120352368 -56470,0.5304736928035236 -56471,0.028362671500561043 -56472,0.8290003379793511 -56473,0.06937958322434767 -56474,0.9707608763154176 -56475,0.8624071696275502 -56476,0.48390185956439424 -56477,0.6131493916295324 -56478,0.4879021968966991 -56479,0.26780869183148637 -56480,0.2797729893903267 -56481,0.952068466911523 -56482,0.3624791226413304 -56483,0.18239058136528818 -56484,0.27300203105816423 -56485,0.55879868787511 -56486,0.07424889676931357 -56487,0.5310778173070735 -56488,0.13978556622540994 -56489,0.30023947361933223 -56490,0.9183272736568211 -56491,0.24381163221407054 -56492,0.6134596717364493 -56493,0.7374404370868325 -56494,0.25311954097977074 -56495,0.19048764183767253 -56496,0.8516333766741823 -56497,0.4913989397549988 -56498,0.5751924716343391 -56499,0.9142629154583702 -56500,0.23660005898253633 -56501,0.4797596701264141 -56502,0.710978894692946 -56503,0.23342600246631073 -56504,0.4240320109822473 -56505,0.9110064475846839 -56506,0.5709720895612201 -56507,0.952052224176471 -56508,0.3762720768789958 -56509,0.04200895354991874 -56510,0.526918703280423 -56511,0.7504755567809036 -56512,0.8608303215341251 -56513,0.042453685400912544 -56514,0.4477724150629805 -56515,0.5736689469309503 -56516,0.15352924019615433 -56517,0.7115704905537815 -56518,0.17722260644943233 -56519,0.546404370685895 -56520,0.9117561070136364 -56521,0.9426508715921164 -56522,0.9236265328951108 -56523,0.08082198342968416 -56524,0.465350595653668 -56525,0.1882100437825216 -56526,0.17242867646626647 -56527,0.4768812322112911 -56528,0.7874385837862298 -56529,0.037828686026394776 -56530,0.2072859161852103 -56531,0.9962142078198472 -56532,0.5505791717447155 -56533,0.1113527812908639 -56534,0.456313053642848 -56535,0.9496463131103361 -56536,0.4298100060950929 -56537,0.2884088336094762 -56538,0.28530786835018207 -56539,0.6082930704513497 -56540,0.5599393081275148 -56541,0.4919802679793567 -56542,0.10476461084291477 -56543,0.4272243351659962 -56544,0.7381039732708178 -56545,0.021454169056957073 -56546,0.8212061483822719 -56547,0.45704492945219277 -56548,0.0034606113258908167 -56549,0.6402371629522257 -56550,0.5836403722464142 -56551,0.7190697204991052 -56552,0.00016351614863741037 -56553,0.7859150665382443 -56554,0.755108257634765 -56555,0.6086338713922679 -56556,0.37939556795457485 -56557,0.4061888160408068 -56558,0.018985515185032553 -56559,0.32236294041153 -56560,0.5127685125026505 -56561,0.5323938283070514 -56562,0.6246583623880064 -56563,0.11429652029952253 -56564,0.568718115888348 -56565,0.8868945904767409 -56566,0.757744250650893 -56567,0.4418216184702767 -56568,0.7755629810515279 -56569,0.5364110619831266 -56570,0.9714180446328327 -56571,0.3805381075227111 -56572,0.28679646618505883 -56573,0.6470669920995404 -56574,0.421586596544 -56575,0.8745357735482356 -56576,0.9565198741613377 -56577,0.6564698076955686 -56578,0.28633398243425645 -56579,0.7685023379768172 -56580,0.7309628289595793 -56581,0.13022145353342718 -56582,0.7067049758352175 -56583,0.5626449448976998 -56584,0.2992568560404726 -56585,0.520730171310742 -56586,0.22747860121812435 -56587,0.3629059159943664 -56588,0.2675551788738043 -56589,0.8405430420259378 -56590,0.06039283730932099 -56591,0.5051427896259828 -56592,0.4244102626228292 -56593,0.7213824997746239 -56594,0.553087945629223 -56595,0.0826256468044696 -56596,0.012379238437112527 -56597,0.6978808447541381 -56598,0.20856816434692815 -56599,0.4253602061038235 -56600,0.3299630212196454 -56601,0.05114826844490139 -56602,0.06242492827431856 -56603,0.4702252121698678 -56604,0.1749029660804342 -56605,0.9086730040635481 -56606,0.2539954330685389 -56607,0.5648557069629114 -56608,0.31220248526874994 -56609,0.4810542994314362 -56610,0.6554477419924887 -56611,0.42780736646555173 -56612,0.06801831216222898 -56613,0.865353541191462 -56614,0.6737197791743276 -56615,0.08936126476421247 -56616,0.5947544609359231 -56617,0.8893074494526666 -56618,0.7188003063137794 -56619,0.3729128476909396 -56620,0.8968503009088362 -56621,0.06494606233019384 -56622,0.2065454895918738 -56623,0.6066033121974376 -56624,0.3191222398124346 -56625,0.7823732435245541 -56626,0.8719981157753404 -56627,0.02343387812950204 -56628,0.7091840992707151 -56629,0.3328465207094097 -56630,0.7695032674624942 -56631,0.5392803310112101 -56632,0.13650566406613263 -56633,0.2507738537444639 -56634,0.5831094260508392 -56635,0.8066946989208945 -56636,0.6555285591556589 -56637,0.9421823201724215 -56638,0.5920893521309427 -56639,0.7399975707030667 -56640,0.5344925847792616 -56641,0.7372025306472338 -56642,0.23735222204770412 -56643,0.004564030036649402 -56644,0.35981894904368394 -56645,0.7780420752343387 -56646,0.4773043196600619 -56647,0.12563264808801866 -56648,0.8333846541947385 -56649,0.5761172004296456 -56650,0.6136590881525286 -56651,0.907388773843274 -56652,0.23171508862457635 -56653,0.4904153174457432 -56654,0.23580536391406437 -56655,0.32596320578408944 -56656,0.9084886767066758 -56657,0.8089351204098596 -56658,0.3511884162302802 -56659,0.15516746603162634 -56660,0.47392756144262227 -56661,0.9268317954930354 -56662,0.6750727429155796 -56663,0.29161870642735566 -56664,0.40834109817941144 -56665,0.5673938959708951 -56666,0.9319626751651969 -56667,0.2602389987239728 -56668,0.6326141445307926 -56669,0.2424260355027852 -56670,0.43800198144978764 -56671,0.8933235525285065 -56672,0.38191085972005034 -56673,0.39778362711805715 -56674,0.0013011979686964326 -56675,0.38969138367383505 -56676,0.6824825161861188 -56677,0.34197634410222644 -56678,0.5128707383326937 -56679,0.41581759719907874 -56680,0.23321861750638528 -56681,0.5568197283390167 -56682,0.7179595868473923 -56683,0.10792305370802957 -56684,0.9052205615591788 -56685,0.8514926399927375 -56686,0.21477512157991796 -56687,0.1269177096990759 -56688,0.911849427992789 -56689,0.4300660110652187 -56690,0.49560483355567775 -56691,0.2281936135367505 -56692,0.7500824012900524 -56693,0.09146439232010262 -56694,0.25744487320140075 -56695,0.6659640649838223 -56696,0.5494489480956678 -56697,0.5175555015975899 -56698,0.2026942662963328 -56699,0.5507637565926767 -56700,0.3049542447232181 -56701,0.8322883779307031 -56702,0.3691165484956057 -56703,0.37620648981485716 -56704,0.1703768669115111 -56705,0.21013915745405476 -56706,0.47937745144047395 -56707,0.7235650300886998 -56708,0.10030403870325544 -56709,0.9506958289474378 -56710,0.417560242069296 -56711,0.9240838954201337 -56712,0.025247092503395963 -56713,0.9519840443703561 -56714,0.9509884950735054 -56715,0.4192261873471793 -56716,0.09186434688633316 -56717,0.2557401166987906 -56718,0.44083185802863256 -56719,0.8696872497199301 -56720,0.2387121807356679 -56721,0.8150456622915047 -56722,0.35188553676960066 -56723,0.12637309367130822 -56724,0.0542837993071178 -56725,0.818940570794519 -56726,0.5582685954430169 -56727,0.7516406880380512 -56728,0.18281394420532415 -56729,0.9086053455688201 -56730,0.5676219054467738 -56731,0.05610681031357734 -56732,0.31884976881277605 -56733,0.12163590880680808 -56734,0.9822049600946646 -56735,0.6008594707993583 -56736,0.33723700162341563 -56737,0.29921082182550296 -56738,0.9849833811916547 -56739,0.4699869979915777 -56740,0.7418709415285305 -56741,0.17434610318997312 -56742,0.9277097326516178 -56743,0.19467687359476216 -56744,0.758531447193515 -56745,0.652598687440692 -56746,0.6896471160480631 -56747,0.1438963918983891 -56748,0.6472185683227423 -56749,0.2965215476406948 -56750,0.018462914734568736 -56751,0.45439548728912604 -56752,0.7980546155082775 -56753,0.09431612125766708 -56754,0.3761755066202028 -56755,0.873658385679083 -56756,0.8531927406565044 -56757,0.8313204480354773 -56758,0.23447315990779627 -56759,0.6938532330296914 -56760,0.2787178136551216 -56761,0.697363125861655 -56762,0.5957351274453838 -56763,0.31431252802143206 -56764,0.24154077897193238 -56765,0.41284410686091155 -56766,0.4271092131750346 -56767,0.4978911293396815 -56768,0.28321081151774896 -56769,0.8993387472580151 -56770,0.12723661988824708 -56771,0.8493552816310157 -56772,0.09971184676233846 -56773,0.7631907358962314 -56774,0.6030586018023477 -56775,0.06674468508386922 -56776,0.9017201882621232 -56777,0.11174194869624121 -56778,0.4392086227933383 -56779,0.5845600076740831 -56780,0.9429922824149521 -56781,0.7883608008725607 -56782,0.7110137467830594 -56783,0.2663740995299756 -56784,0.1043649123429986 -56785,0.9754627078532353 -56786,0.3032406481514094 -56787,0.9760500839294232 -56788,0.674802651680771 -56789,0.7786306329865201 -56790,0.19746285784240347 -56791,0.3714486076216623 -56792,0.12019044808044799 -56793,0.28058968914787097 -56794,0.15302358852664388 -56795,0.28740996270662933 -56796,0.3218818062461196 -56797,0.1880299965515494 -56798,0.13914577386002336 -56799,0.7132233596420285 -56800,0.6228058114836791 -56801,0.9384186773557975 -56802,0.7111953960357241 -56803,0.6771134495636416 -56804,0.4145283033024548 -56805,0.38006140324910354 -56806,0.20206709776355858 -56807,0.3867659261056561 -56808,0.855257142365996 -56809,0.6243993215593259 -56810,0.8815271028801325 -56811,0.9695852448944057 -56812,0.5655699839035621 -56813,0.11403575779112762 -56814,0.2249338580948862 -56815,0.4333252240036948 -56816,0.9795781123770603 -56817,0.6900748923503073 -56818,0.4057448855428606 -56819,0.09262922074349578 -56820,0.8644614269936353 -56821,0.7898492898607398 -56822,0.3977301532527787 -56823,0.4644738334763828 -56824,0.5920875019722871 -56825,0.9247665966967106 -56826,0.6724757211049428 -56827,0.2312071386946588 -56828,0.8470705256430422 -56829,0.37708889587798133 -56830,0.6560841143401986 -56831,0.2794443825630738 -56832,0.7057593641549591 -56833,0.5557757047609372 -56834,0.5789956427877708 -56835,0.3279219660246939 -56836,0.8718337635372734 -56837,0.49484054778209297 -56838,0.7588528446336762 -56839,0.32593446627381517 -56840,0.9142706747719445 -56841,0.1713912340091781 -56842,0.8921996701669505 -56843,0.578114907824351 -56844,0.6720426982869774 -56845,0.7015308527705676 -56846,0.49568283476687547 -56847,0.6590894344126523 -56848,0.42121954457843946 -56849,0.9751182819557784 -56850,0.8108984460845542 -56851,0.6388012991679638 -56852,0.596406999797514 -56853,0.9453765838907793 -56854,0.1760061902897191 -56855,0.19440506078418585 -56856,0.5256073673067826 -56857,0.34675664134848583 -56858,0.6741562122437971 -56859,0.7644031859972968 -56860,0.2322401262261342 -56861,0.9818171238191796 -56862,0.4170857128203488 -56863,0.38515059724409206 -56864,0.7074894513460069 -56865,0.8101718994159972 -56866,0.8654988430751147 -56867,0.5564172549648821 -56868,0.48745872574326876 -56869,0.4748486533074664 -56870,0.9393862532460029 -56871,0.29003701220037337 -56872,0.11723144521694451 -56873,0.7524256325173937 -56874,0.5807138153105876 -56875,0.03574453308203729 -56876,0.8725838397040412 -56877,0.3997748760076887 -56878,0.03854133923215031 -56879,0.282067143652339 -56880,0.3163415485860107 -56881,0.9151834574783062 -56882,0.4522401311177794 -56883,0.0007760130232495888 -56884,0.17571342132137124 -56885,0.4864701774730066 -56886,0.6852695439633066 -56887,0.688156231063695 -56888,0.0038965190167636887 -56889,0.8698944632910507 -56890,0.8281516756487334 -56891,0.5234590268471138 -56892,0.49003358560902344 -56893,0.5959311905139745 -56894,0.00532767856803229 -56895,0.621640279226608 -56896,0.47025051439482346 -56897,0.626269702775312 -56898,0.3330430675682521 -56899,0.7453836600988022 -56900,0.8924491290332405 -56901,0.8981171032258772 -56902,0.7589359551598692 -56903,0.8491196034129463 -56904,0.6305982883625391 -56905,0.8122461535299961 -56906,0.02074135677609501 -56907,0.16204586962177303 -56908,0.9302425799908384 -56909,0.6542072005942917 -56910,0.34452084145905215 -56911,0.03371435943726986 -56912,0.8227841084998292 -56913,0.06405344305246707 -56914,0.09227389344139314 -56915,0.1955995825338216 -56916,0.43925830228302243 -56917,0.9628324292055205 -56918,0.08614319010262483 -56919,0.8478390828892716 -56920,0.18155861333840462 -56921,0.13258694298427132 -56922,0.8292068168089484 -56923,0.699956247576747 -56924,0.37209246644007754 -56925,0.7373234996278042 -56926,0.5907690336356998 -56927,0.28976865316775025 -56928,0.476498334884352 -56929,0.12565793635333988 -56930,0.7631443360121349 -56931,0.35972313729541316 -56932,0.4441564683125452 -56933,0.4710265134105044 -56934,0.4351295788222227 -56935,0.7742056823845639 -56936,0.4214630661020813 -56937,0.4489367850132848 -56938,0.7242576601178441 -56939,0.6688453030689387 -56940,0.20036987878975343 -56941,0.3381459742247477 -56942,0.379926146920156 -56943,0.2597957109821184 -56944,0.797987176409334 -56945,0.4280150076751008 -56946,0.13929697838656419 -56947,0.6200174088158037 -56948,0.25389841429025806 -56949,0.6223306602597974 -56950,0.31248077070883773 -56951,0.6741776591654834 -56952,0.18586504053342923 -56953,0.2551218667134413 -56954,0.9381271086097858 -56955,0.8018603126098492 -56956,0.03842619301797223 -56957,0.5834353178721696 -56958,0.43641087800811895 -56959,0.5754082881820604 -56960,0.3176385865407505 -56961,0.942276319086133 -56962,0.8520261119523731 -56963,0.7909064169343536 -56964,0.5525482749163334 -56965,0.7929553349407653 -56966,0.24894739203816063 -56967,0.9710562078787492 -56968,0.9200397437635407 -56969,0.8502390482611814 -56970,0.6886292980036636 -56971,0.07558378194963333 -56972,0.9612250758995428 -56973,0.22012073698565437 -56974,0.8383381269596253 -56975,0.2527397330383614 -56976,0.24490236635720808 -56977,0.736883093558568 -56978,0.32042051481830924 -56979,0.5843778353204174 -56980,0.5877319804795397 -56981,0.11622410924214954 -56982,0.4348881527007802 -56983,0.633394618331959 -56984,0.769334733070468 -56985,0.8272485719180946 -56986,0.7145240267419272 -56987,0.792652582006601 -56988,0.6754684163266633 -56989,0.9847733460765747 -56990,0.6233963026208358 -56991,0.15425346491149516 -56992,0.11542626751215623 -56993,0.5729155765220356 -56994,0.6332632165538211 -56995,0.46862181703168493 -56996,0.7916748180282238 -56997,0.012458404378643761 -56998,0.42948958423722383 -56999,0.966361843290726 -57000,0.8999062038125076 -57001,0.8206550287507828 -57002,0.379588101545402 -57003,0.18044647327293284 -57004,0.24495514237545213 -57005,0.5959439620045288 -57006,0.7821848846958469 -57007,0.10856349079702698 -57008,0.21829848240022576 -57009,0.8737735482799296 -57010,0.6829546792574499 -57011,0.54102924284621 -57012,0.6555201978515182 -57013,0.29923102295165627 -57014,0.15375116986704318 -57015,0.7634397468946189 -57016,0.5670481365752572 -57017,0.6536298633445455 -57018,0.2149445596792633 -57019,0.7973915865465634 -57020,0.0793258609274975 -57021,0.8827568672248797 -57022,0.7928975303399731 -57023,0.007317718065912637 -57024,0.2860849002667383 -57025,0.9379486563593211 -57026,0.7315901236189404 -57027,0.6103792580490414 -57028,0.12041875810739522 -57029,0.25740343625129714 -57030,0.5880292958571889 -57031,0.9805144449837144 -57032,0.45424120661199907 -57033,0.6123552689149835 -57034,0.4894289982577089 -57035,0.44229680268071614 -57036,0.6452980490593514 -57037,0.8653459354477836 -57038,0.2039004564587552 -57039,0.587710904686211 -57040,0.24577814611819848 -57041,0.9892949538469025 -57042,0.7708655279776337 -57043,0.02491974279849618 -57044,0.22966345837291857 -57045,0.7186057884879251 -57046,0.8731127894653062 -57047,0.2577375143209467 -57048,0.07823992203561247 -57049,0.19201956091089256 -57050,0.6132641599049623 -57051,0.4116830911678424 -57052,0.8560479135279334 -57053,0.22879892048625738 -57054,0.6516441778806218 -57055,0.8423882934746305 -57056,0.8448377161792747 -57057,0.9798615219150701 -57058,0.9246667025005137 -57059,0.9366549356811816 -57060,0.8207567997539166 -57061,0.3158867132967572 -57062,0.4021540609953068 -57063,0.03987873210808279 -57064,0.27720325719407746 -57065,0.2838282863898609 -57066,0.46080903005319807 -57067,0.5140361924041342 -57068,0.6512744346936905 -57069,0.20679244911673622 -57070,0.6716222460300393 -57071,0.64850981909252 -57072,0.7722877595966309 -57073,0.2689326067667349 -57074,0.7185926716470254 -57075,0.26092567470633365 -57076,0.7830475185797998 -57077,0.2107535698375601 -57078,0.811764809718275 -57079,0.2750066853911588 -57080,0.2636211717177569 -57081,0.7561783682320032 -57082,0.6548124763581458 -57083,0.9087397315639858 -57084,0.5767944970324349 -57085,0.6066940037716425 -57086,0.9959333611080201 -57087,0.9234743232687568 -57088,0.9941087927889756 -57089,0.16248917733928525 -57090,0.25615467368816136 -57091,0.8240097687820191 -57092,0.07515982138039279 -57093,0.3593285994103499 -57094,0.6013969175901871 -57095,0.6006769365336683 -57096,0.2917291472883694 -57097,0.48873229878798985 -57098,0.319358484926509 -57099,0.48231645956932945 -57100,0.7955383682028923 -57101,0.6676397724726828 -57102,0.23599399469874882 -57103,0.8502033203600815 -57104,0.5856077812931892 -57105,0.8750868424312878 -57106,0.28620954161327383 -57107,0.5352886304851788 -57108,0.6650716484709461 -57109,0.7116560668922017 -57110,0.9860543868894416 -57111,0.4074002561561558 -57112,0.7983838678923426 -57113,0.2090822046312164 -57114,0.9558792565329055 -57115,0.40883902723917753 -57116,0.05713929807817675 -57117,0.5325689904028332 -57118,0.8507438703453445 -57119,0.47606509846352785 -57120,0.8286397870025628 -57121,0.4820216356221845 -57122,0.5384723338304777 -57123,0.6072628680922397 -57124,0.25557583664841876 -57125,0.8106537246841028 -57126,0.8091061999288242 -57127,0.32047209576050883 -57128,0.6904175604557974 -57129,0.808363257732319 -57130,0.9491012923845437 -57131,0.4345794058453316 -57132,0.7856867075096223 -57133,0.05395981474872602 -57134,0.6614592349126601 -57135,0.2585618666390428 -57136,0.24470407882675038 -57137,0.705412677954665 -57138,0.4126951179461781 -57139,0.3172298588910928 -57140,0.028595650329981126 -57141,0.2667635213055255 -57142,0.2529196493798378 -57143,0.9005493631237443 -57144,0.10441079995675062 -57145,0.7285222078256701 -57146,0.3206624256568701 -57147,0.3940075846241018 -57148,0.5603280194719465 -57149,0.7295941093967414 -57150,0.7236311641679133 -57151,0.6453695968378049 -57152,0.5839418758423081 -57153,0.04139321346081393 -57154,0.8170141257062304 -57155,0.5260849916602668 -57156,0.9400918229982711 -57157,0.7870679451581601 -57158,0.7729258141079183 -57159,0.7240795850843469 -57160,0.7565280819535806 -57161,0.4370239324473917 -57162,0.8746545443739882 -57163,0.7005457603343552 -57164,0.4687386050522617 -57165,0.4341223786886458 -57166,0.09214761826129692 -57167,0.30665043453978946 -57168,0.7746590576723431 -57169,0.15586796090713495 -57170,0.6370734905583018 -57171,0.9587939073545619 -57172,0.6867055091548708 -57173,0.7845165937856454 -57174,0.5271571472512433 -57175,0.8522374291114403 -57176,0.15956203494996224 -57177,0.5153725054371668 -57178,0.6136012709078017 -57179,0.7757793679787705 -57180,0.6582869120158201 -57181,0.49312162214357724 -57182,0.5349117379301869 -57183,0.14021596946143744 -57184,0.5794167163251845 -57185,0.8626497141483046 -57186,0.038348378884969114 -57187,0.8793231790252137 -57188,0.04442603541781498 -57189,0.7981268300478831 -57190,0.026357740160102616 -57191,0.9454612856018314 -57192,0.7352877591943604 -57193,0.39630051146313816 -57194,0.7752624785771137 -57195,0.33152524012671303 -57196,0.26339268850827713 -57197,0.5687488014745871 -57198,0.3241158537704508 -57199,0.32248632489633566 -57200,0.43508252719860685 -57201,0.3468818105801661 -57202,0.9986698036147561 -57203,0.698536775972578 -57204,0.8065999149339141 -57205,0.9021386600916981 -57206,0.5765081674975289 -57207,0.4393190921789648 -57208,0.6109629508261666 -57209,0.30094633914470537 -57210,0.8306043894966102 -57211,0.4980727724081072 -57212,0.29536167669491487 -57213,0.5585922029884228 -57214,0.7737962299445749 -57215,0.7671659937420773 -57216,0.21274969300923186 -57217,0.7376742828728718 -57218,0.4060335798895538 -57219,0.6317781659691197 -57220,0.35840127395641397 -57221,0.2130624570446049 -57222,0.6018325326322496 -57223,0.16314433710998444 -57224,0.7098083521056414 -57225,0.8971287443451215 -57226,0.5906565199052503 -57227,0.6774337775232538 -57228,0.48041892780035667 -57229,0.4778755414854968 -57230,0.8455052753694037 -57231,0.9343894468315356 -57232,0.5869256631718467 -57233,0.39287928390798355 -57234,0.1392691395331508 -57235,0.9621225604189533 -57236,0.44575156653084 -57237,0.06335577751747268 -57238,0.50621718523128 -57239,0.47574574364899824 -57240,0.7838535553560091 -57241,0.9343925871266971 -57242,0.3044384453646729 -57243,0.8334350014317629 -57244,0.16165041983862616 -57245,0.9084348716708949 -57246,0.2621343677126914 -57247,0.8316796482218867 -57248,0.7407710389235976 -57249,0.9149019591318135 -57250,0.1641527258960176 -57251,0.05428464302721725 -57252,0.33426457069073934 -57253,0.2116864649806094 -57254,0.6283008377109206 -57255,0.7084299931806368 -57256,0.8409459881514928 -57257,0.28155594964885533 -57258,0.48152016791729724 -57259,0.6808618990934627 -57260,0.4458358236280223 -57261,0.1262378834160124 -57262,0.7051677935071016 -57263,0.19021691382014594 -57264,0.8288281281524008 -57265,0.5265369917290275 -57266,0.4423762403497442 -57267,0.3939788270640583 -57268,0.470843019250903 -57269,0.7736263270957645 -57270,0.9441117755663934 -57271,0.22969192437002295 -57272,0.6562165214374148 -57273,0.8314932746098723 -57274,0.32152109091046066 -57275,0.4490536341257598 -57276,0.9762557650802267 -57277,0.6316430201933001 -57278,0.44128848541986665 -57279,0.7094879637584498 -57280,0.9699733949240649 -57281,0.5591412339693094 -57282,0.18024733053309971 -57283,0.7735715370111084 -57284,0.5943001896852015 -57285,0.5495567577052629 -57286,0.546481050883873 -57287,0.16978715704555414 -57288,0.583427398670473 -57289,0.27610889133785943 -57290,0.09801462365585278 -57291,0.8296225819485319 -57292,0.800257058861975 -57293,0.24245735751143493 -57294,0.03496002624524264 -57295,0.8743407573996175 -57296,0.7312195545935962 -57297,0.39583280207366567 -57298,0.9116523160821959 -57299,0.9668310045382802 -57300,0.01788302944104503 -57301,0.39972353467619093 -57302,0.5306770742574037 -57303,0.21330935096452375 -57304,0.6124788975371755 -57305,0.4070956555613857 -57306,0.07520503632588771 -57307,0.1625328354499187 -57308,0.20352692348882062 -57309,0.05631345118196962 -57310,0.6515012905015106 -57311,0.4899218343442857 -57312,0.812975364295957 -57313,0.6139380470914665 -57314,0.6804563242650203 -57315,0.29324455256922777 -57316,0.8563362970926037 -57317,0.025717011211333074 -57318,0.155008227151902 -57319,0.5266380057474465 -57320,0.3315700821220584 -57321,0.5018087689596247 -57322,0.9225777013218126 -57323,0.16087423028712933 -57324,0.32428728854445144 -57325,0.4425539621993597 -57326,0.05239659400795704 -57327,0.7498333596530278 -57328,0.8951649148274146 -57329,0.965563237644088 -57330,0.03409452000840163 -57331,0.3700135309607824 -57332,0.8840332383661865 -57333,0.1396840680274708 -57334,0.31032878495144955 -57335,0.5464097848354144 -57336,0.6966783113396026 -57337,0.47498800976838107 -57338,0.3174850891448977 -57339,0.9868916767663277 -57340,0.4770307336013292 -57341,0.22063776021817982 -57342,0.6952046853602366 -57343,0.5797740929258272 -57344,0.3025113464607233 -57345,0.5959132640772313 -57346,0.5263656424490741 -57347,0.6320237677522887 -57348,0.4230173871957532 -57349,0.7816993286154347 -57350,0.4076397054176073 -57351,0.0804301292762436 -57352,0.5990943949049474 -57353,0.98879900263396 -57354,0.09503851460102808 -57355,0.5056527968186532 -57356,0.11166306935342485 -57357,0.9085943113083352 -57358,0.03237891625852107 -57359,0.4328077113795691 -57360,0.1921311972698051 -57361,0.49326193126585827 -57362,0.15197418240231986 -57363,0.4118749084715213 -57364,0.7105793178305659 -57365,0.8572325294624814 -57366,0.7725872214933782 -57367,0.0281310573134268 -57368,0.5498599057638698 -57369,0.8785324671289093 -57370,0.2137532223097246 -57371,0.9653249827009069 -57372,0.5329029485770548 -57373,0.49275666050964884 -57374,0.4074929027895432 -57375,0.03695422219707967 -57376,0.6458997112501335 -57377,0.08577406604531768 -57378,0.29454954753850493 -57379,0.8934519830316383 -57380,0.9033946296781303 -57381,0.7787519498412075 -57382,0.6560606710423723 -57383,0.3699520541248872 -57384,0.48114602300653964 -57385,0.7543061535923887 -57386,0.5104826203546147 -57387,0.908239611767435 -57388,0.042957382713047276 -57389,0.22552378192406286 -57390,0.8921891590986548 -57391,0.8396227116542596 -57392,0.20078556829557614 -57393,0.49156332210495113 -57394,0.1430381435160918 -57395,0.18668074607905083 -57396,0.19306848640052365 -57397,0.2538236514657686 -57398,0.5600782246817666 -57399,0.30744203724236097 -57400,0.3790989244979024 -57401,0.10821684924508124 -57402,0.29995676283653805 -57403,0.362424905149344 -57404,0.4994750906399946 -57405,0.07513621721825148 -57406,0.9032386956819961 -57407,0.17288155713636377 -57408,0.6645616523948961 -57409,0.6386602848948865 -57410,0.586750659990972 -57411,0.454191262995138 -57412,0.3749716700299357 -57413,0.22228036887741065 -57414,0.19516284971269848 -57415,0.6585275277735531 -57416,0.4512380387913676 -57417,0.86796119028286 -57418,0.5880495086218098 -57419,0.30739274317403953 -57420,0.504972912316508 -57421,0.474112424001353 -57422,0.1549103014869042 -57423,0.41934406223925347 -57424,0.7368065307081744 -57425,0.7788483898715588 -57426,0.19528165795644958 -57427,0.015318726218394363 -57428,0.6354521991851235 -57429,0.8203238379184448 -57430,0.550587578903208 -57431,0.9096043816148431 -57432,0.8393130621258492 -57433,0.221149936141794 -57434,0.5904294103921006 -57435,0.722397205107888 -57436,0.9366676280376345 -57437,0.31570525147519723 -57438,0.5772210012683812 -57439,0.712166164114066 -57440,0.8516244425891143 -57441,0.08510687147609108 -57442,0.2430364117737861 -57443,0.3628998979901852 -57444,0.5841331994390432 -57445,0.907101004957176 -57446,0.20909869746320853 -57447,0.8372699644604343 -57448,0.20152597122786797 -57449,0.3811884375902611 -57450,0.9246503671248864 -57451,0.23637453041092804 -57452,0.6447799929198113 -57453,0.08316265242907861 -57454,0.9243647805436046 -57455,0.2876414951268209 -57456,0.5108318440501226 -57457,0.36026316916454504 -57458,0.1174506090488362 -57459,0.1934078478675908 -57460,0.940051944986665 -57461,0.33616860689598715 -57462,0.15917761817172682 -57463,0.8891613353514424 -57464,0.5880545092845186 -57465,0.6977796902497977 -57466,0.4018078710310935 -57467,0.3775392570348518 -57468,0.3708006627493875 -57469,0.2041205094569749 -57470,0.03998617640987001 -57471,0.41549205308925474 -57472,0.7740627807752022 -57473,0.25482399898150987 -57474,0.04506066955543553 -57475,0.3930446952147224 -57476,0.06010268468040614 -57477,0.9721061929573792 -57478,0.4424512393114465 -57479,0.22476205993907972 -57480,0.9078061891813897 -57481,0.5263823361174697 -57482,0.5154956308614139 -57483,0.4628530111423569 -57484,0.2846729869171132 -57485,0.7560429359540739 -57486,0.6324867947713518 -57487,0.7635913676136653 -57488,0.9151996647500749 -57489,0.45361816909953223 -57490,0.24854701882764785 -57491,0.9918371661935177 -57492,0.7345430541810044 -57493,0.17807360821840734 -57494,0.8117106903498076 -57495,0.5281594213860309 -57496,0.4924862636059052 -57497,0.5596540677745969 -57498,0.8156981317498139 -57499,0.5351812702884259 -57500,0.4983083770035832 -57501,0.24644631547173113 -57502,0.11488000074893134 -57503,0.850182302593861 -57504,0.031630773685900726 -57505,0.7778462076555678 -57506,0.9270203907053831 -57507,0.4263444597294288 -57508,0.020645857269622314 -57509,0.7095709649388382 -57510,0.9117054916024037 -57511,0.2045058748543067 -57512,0.7330978504714408 -57513,0.47176960558406733 -57514,0.026014999027844543 -57515,0.9173741214248389 -57516,0.7283794983859003 -57517,0.06692856459773877 -57518,0.8056185591571234 -57519,0.2678948530107651 -57520,0.23644546037706204 -57521,0.3066284423678908 -57522,0.8953173802705623 -57523,0.3295690478486073 -57524,0.5279644112507251 -57525,0.5916746225903557 -57526,0.2121335283814899 -57527,0.07044223005376393 -57528,0.0053069155269309665 -57529,0.25487703753975466 -57530,0.5394889049524239 -57531,0.5320310217771028 -57532,0.33332668870392346 -57533,0.7554968993354148 -57534,0.7530759208141081 -57535,0.6459429179636119 -57536,0.4667202169414856 -57537,0.9885491498492177 -57538,0.9429476899516839 -57539,0.4105467032890995 -57540,0.9340063232224717 -57541,0.4794050752750033 -57542,0.9876107362076401 -57543,0.5935893790799254 -57544,0.1745704755481543 -57545,0.7210579504023311 -57546,0.5443866915278284 -57547,0.18534999991628331 -57548,0.502561107448217 -57549,0.6079664906900143 -57550,0.15029536967578427 -57551,0.9088965149273589 -57552,0.09426371244538079 -57553,0.06391539628363085 -57554,0.13829565450040615 -57555,0.8752862041491501 -57556,0.7635151022679302 -57557,0.4816031773535481 -57558,0.17226279141690892 -57559,0.49360968397923255 -57560,0.18324588778663475 -57561,0.9661974953605009 -57562,0.44046004286171536 -57563,0.9227504308828995 -57564,0.8046051010914517 -57565,0.7689857192101154 -57566,0.4107315304885206 -57567,0.8185072197344727 -57568,0.5076489301956187 -57569,0.7667097090328538 -57570,0.12387377127842225 -57571,0.8287549754559779 -57572,0.20540227172451886 -57573,0.4662162003807476 -57574,0.654684563963309 -57575,0.5059476029648837 -57576,0.21338212591424288 -57577,0.9946929844814802 -57578,0.9131257243366533 -57579,0.15911084182426116 -57580,0.3482437475449123 -57581,0.26591666915678513 -57582,0.25482483538531975 -57583,0.9895658725000542 -57584,0.11095218917267968 -57585,0.19170214428783727 -57586,0.7161889502185714 -57587,0.12712457044560177 -57588,0.17552159876101514 -57589,0.8507032279189781 -57590,0.6360969848530212 -57591,0.021791413381064384 -57592,0.9691443910129517 -57593,0.3681753012900848 -57594,0.5410409147351375 -57595,0.8365356648817568 -57596,0.9805602020448837 -57597,0.4346278677512171 -57598,0.3073630263798135 -57599,0.9769511805592309 -57600,0.7759653238655868 -57601,0.29181531541349803 -57602,0.4575561600293607 -57603,0.3600914449664324 -57604,0.4758057796180787 -57605,0.28165049400651554 -57606,0.10192807971296769 -57607,0.8109255824946062 -57608,0.4432529458317179 -57609,0.7976656304702892 -57610,0.5157321907616746 -57611,0.12192873083365396 -57612,0.9914808530162568 -57613,0.7440414594589393 -57614,0.29134928675141536 -57615,0.03492731296738816 -57616,0.921844130201587 -57617,0.06296705915645417 -57618,0.9458082839711124 -57619,0.674653216398747 -57620,0.4876904891116317 -57621,0.8419348156967659 -57622,0.8380924202417371 -57623,0.3197314658590764 -57624,0.15745640181081078 -57625,0.7294837971343344 -57626,0.8920376328585772 -57627,0.44216763636993694 -57628,0.06697663096743145 -57629,0.8344473467232275 -57630,0.30976986304972476 -57631,0.1297507407302244 -57632,0.35803310847411385 -57633,0.9144392184126273 -57634,0.8595422591907831 -57635,0.11609285366933775 -57636,0.6879796994324554 -57637,0.503450013422376 -57638,0.43150479402332576 -57639,0.2062133252441387 -57640,0.09236617344989284 -57641,0.3941154831992104 -57642,0.6600718128068254 -57643,0.6886957912790677 -57644,0.44135472355996974 -57645,0.8655040390059671 -57646,0.42360159466282354 -57647,0.6204912981418584 -57648,0.3378777778777028 -57649,0.5420762726076834 -57650,0.05009489741728157 -57651,0.5670963422745666 -57652,0.10544576851065368 -57653,0.16555006690203777 -57654,0.8023899872809566 -57655,0.43218619002140435 -57656,0.9373775716780811 -57657,0.0824993676780954 -57658,0.8786894529388273 -57659,0.11939808467503543 -57660,0.19647739337025827 -57661,0.5978903587180201 -57662,0.6129229759468486 -57663,0.8327132413051197 -57664,0.850836575956932 -57665,0.7972811708145989 -57666,0.11726748491301309 -57667,0.8351876084587228 -57668,0.3852522910789635 -57669,0.8862955194100245 -57670,0.31436629418110085 -57671,0.9359309332313089 -57672,0.6355526540645795 -57673,0.15598090932863073 -57674,0.023174264366829456 -57675,0.8324377708909141 -57676,0.716500670266117 -57677,0.1962059150009866 -57678,0.16864771681124813 -57679,0.9235548219919493 -57680,0.1345938322977741 -57681,0.6752559965562777 -57682,0.3834264801300925 -57683,0.7200888389385555 -57684,0.9969711280028082 -57685,0.5367375162933669 -57686,0.6398025778013109 -57687,0.39229173899845415 -57688,0.12850208691555787 -57689,0.8596013433806676 -57690,0.7850061660083396 -57691,0.9873249844319761 -57692,0.2871949358963538 -57693,0.7991715884404147 -57694,0.08441216765099491 -57695,0.06542578611457128 -57696,0.39325441039140296 -57697,0.5454179104333997 -57698,0.06304749983548952 -57699,0.2725779863697946 -57700,0.9630540893102363 -57701,0.5647816609334798 -57702,0.35994997312238264 -57703,0.11436518938991691 -57704,0.8413862829602243 -57705,0.7704073655083653 -57706,0.6291193278527261 -57707,0.23889068611453668 -57708,0.59502740320561 -57709,0.5685100041170602 -57710,0.6417658750968205 -57711,0.4291139723276499 -57712,0.6740110235171911 -57713,0.9028457171703395 -57714,0.9884710504296454 -57715,0.2752047837081667 -57716,0.7643595510368145 -57717,0.5223944716388697 -57718,0.8939547329067786 -57719,0.1856084050836463 -57720,0.8516873167091933 -57721,0.010516556021440193 -57722,0.8188814522585821 -57723,0.019689378377571676 -57724,0.3598598037318136 -57725,0.9711851655501055 -57726,0.9078881378909763 -57727,0.32390032167293115 -57728,0.6435017950900763 -57729,0.5774875025082467 -57730,0.3453536416909322 -57731,0.6700685399922366 -57732,0.0629770701923057 -57733,0.2275741523803121 -57734,0.4936400569968842 -57735,0.9668711462750516 -57736,0.6773445988231659 -57737,0.6854206983761176 -57738,0.13776143734026625 -57739,0.38128732383361796 -57740,0.741922064135865 -57741,0.16843732878365514 -57742,0.7747318710619274 -57743,0.5289378787031022 -57744,0.05831967733356025 -57745,0.7269571067923557 -57746,0.3101688480752829 -57747,0.9569056981082819 -57748,0.9749805181306512 -57749,0.3052386401315611 -57750,0.6855551136806484 -57751,0.18322133653574058 -57752,0.6203281082298243 -57753,0.7969895583489848 -57754,0.9952443130648889 -57755,0.9937636177898147 -57756,0.6109449003982862 -57757,0.29556376018154573 -57758,0.8418651534400431 -57759,0.4130480416758612 -57760,0.03637186798838654 -57761,0.11874988158339139 -57762,0.6086000269315648 -57763,0.8137861735088159 -57764,0.5855625538816907 -57765,0.811367253038965 -57766,0.702407371030679 -57767,0.568918771053937 -57768,0.5376165178457665 -57769,0.5202389947966116 -57770,0.20966956446701734 -57771,0.8036878726286919 -57772,0.5605687359410861 -57773,0.572210067159754 -57774,0.5426074823781032 -57775,0.4526500948812585 -57776,0.8561224903180876 -57777,0.3437568376435929 -57778,0.32750674463604623 -57779,0.9759888675554409 -57780,0.10303939721262334 -57781,0.7183095283689539 -57782,0.3864016393767785 -57783,0.0958271463801389 -57784,0.011390601212109996 -57785,0.7275022423391405 -57786,0.3458759149567474 -57787,0.11668260947000808 -57788,0.304186017293293 -57789,0.4329876690536888 -57790,0.4566804697753881 -57791,0.5664953686754919 -57792,0.6117108661445464 -57793,0.6610996194856209 -57794,0.7194791300164528 -57795,0.4135491811935037 -57796,0.5359315047372644 -57797,0.11454125136543547 -57798,0.132525959659631 -57799,0.2981968088033181 -57800,0.7704675668715598 -57801,0.42550091047392147 -57802,0.6205028192092881 -57803,0.6838199483219691 -57804,0.47206592447147433 -57805,0.4966589144875664 -57806,0.3382602013971808 -57807,0.6332630622065799 -57808,0.7305276520975024 -57809,0.46266159118694794 -57810,0.31531661732607497 -57811,0.8464058043936854 -57812,0.3667289167109311 -57813,0.8018825741880153 -57814,0.022763302666084617 -57815,0.1539922974285185 -57816,0.22880103126210305 -57817,0.4446735123715897 -57818,0.2610167309205613 -57819,0.10972691411405555 -57820,0.30325050419785526 -57821,0.6652179118439349 -57822,0.3012367802341561 -57823,0.40492139296119956 -57824,0.3148819764078814 -57825,0.8441855566003938 -57826,0.727602307809116 -57827,0.8130552643954424 -57828,0.3324929936745842 -57829,0.707203411031399 -57830,0.24934739374678794 -57831,0.4243534337089596 -57832,0.1518754264871417 -57833,0.1219581427250429 -57834,0.3019372041068912 -57835,0.8923574644515161 -57836,0.47447707807531336 -57837,0.9945749193000915 -57838,0.2666140158170208 -57839,0.4176177323886606 -57840,0.575616310381112 -57841,0.18136938364582567 -57842,0.10755529836287325 -57843,0.3120051536039439 -57844,0.2199760004537442 -57845,0.5850844031386894 -57846,0.05198453821887705 -57847,0.031353575752822826 -57848,0.9055331108614476 -57849,0.28417757639166774 -57850,0.6867689118554872 -57851,0.5429155985042637 -57852,0.713793516667485 -57853,0.05686459752896844 -57854,0.19980845224541977 -57855,0.8641424966868996 -57856,0.20037634959615092 -57857,0.7484915836423617 -57858,0.40198471473434716 -57859,0.9738889365495456 -57860,0.31606075929203137 -57861,0.3560372117449032 -57862,0.8053539342714509 -57863,0.7398568094077617 -57864,0.12354531942926505 -57865,0.7347274987803623 -57866,0.6185097447309399 -57867,0.8957564341345635 -57868,0.6671281087699729 -57869,0.37489100520884333 -57870,0.03556595307386223 -57871,0.2590184776636201 -57872,0.8102099576499897 -57873,0.02683048009238642 -57874,0.8127090128082035 -57875,0.5323614103539721 -57876,0.7509850203660439 -57877,0.09026755643969697 -57878,0.11631274310227235 -57879,0.1465553489044582 -57880,0.5863883645541137 -57881,0.8700112917897328 -57882,0.3301793545250653 -57883,0.6371955309633404 -57884,0.15900037256215604 -57885,0.36112667432286794 -57886,0.4814991952327712 -57887,0.6445536432149556 -57888,0.8322771816467851 -57889,0.30701893726895724 -57890,0.6832443851355705 -57891,0.39047329395712316 -57892,0.7220475071966506 -57893,0.4838060648462097 -57894,0.8910655547458237 -57895,0.6396695233247369 -57896,0.04772717769249424 -57897,0.9118377872456405 -57898,0.5958728858081542 -57899,0.8215205397629111 -57900,0.5376656012800255 -57901,0.5238233438984177 -57902,0.5408199253225 -57903,0.7813241459506486 -57904,0.588662818060147 -57905,0.7860634031180561 -57906,0.8880156464416112 -57907,0.0868634360005004 -57908,0.22974521804306403 -57909,0.5142827073930847 -57910,0.5906248596304424 -57911,0.6855270261888846 -57912,0.5297691882233697 -57913,0.6938870221869151 -57914,0.7609076630298045 -57915,0.06405125697932557 -57916,0.05263186359213268 -57917,0.08644636300733999 -57918,0.5028757765283624 -57919,0.663843439874954 -57920,0.8353427150685752 -57921,0.9831961851245736 -57922,0.9281059084699086 -57923,0.13588946022970838 -57924,0.8738716777476938 -57925,0.29324549233645736 -57926,0.3377214531435746 -57927,0.6840248027112031 -57928,0.9149633353505584 -57929,0.6118687687220404 -57930,0.41683820717917963 -57931,0.15218978403801775 -57932,0.1666934281059993 -57933,0.773331991315294 -57934,0.08271087355239437 -57935,0.3568840775039078 -57936,0.5327052427704577 -57937,0.8619276815612812 -57938,0.8569074716948414 -57939,0.32892189951268924 -57940,0.559359570032564 -57941,0.4787807565134141 -57942,0.07164657693727672 -57943,0.9911445179416228 -57944,0.8914528695090895 -57945,0.5059999953105319 -57946,0.513907836359727 -57947,0.4777109996009997 -57948,0.8645289649261999 -57949,0.03201507997357078 -57950,0.9093656901933019 -57951,0.4191042350566573 -57952,0.4313580723474907 -57953,0.9128381244226174 -57954,0.865510933166985 -57955,0.5768513902195715 -57956,0.6770851727387822 -57957,0.25909619479068 -57958,0.6293519817808135 -57959,0.024927906775486397 -57960,0.4053146042885124 -57961,0.04373213426220979 -57962,0.9372198473308757 -57963,0.43454581356034194 -57964,0.7043778960472435 -57965,0.18557666995537003 -57966,0.20108200812223243 -57967,0.41767735801038597 -57968,0.9575764088339037 -57969,0.23452796858271718 -57970,0.11443018183690956 -57971,0.4048795392032163 -57972,0.4538333205830336 -57973,0.32975644265753823 -57974,0.6813939315171617 -57975,0.3055749165829327 -57976,0.17027659164382725 -57977,0.6262909578276644 -57978,0.626254628053843 -57979,0.6060670616418231 -57980,0.7460927023307756 -57981,0.1015948625334383 -57982,0.6289308203147951 -57983,0.21792200229721714 -57984,0.6510144862581823 -57985,0.037745661767345284 -57986,0.9127546675874253 -57987,0.5453066547155934 -57988,0.7073960517685938 -57989,0.7934897613271118 -57990,0.4496806715545293 -57991,0.8315868320788171 -57992,0.3410999382000848 -57993,0.48678884580404025 -57994,0.7447828675731696 -57995,0.8938320317980457 -57996,0.18088956104058784 -57997,0.6278306598433383 -57998,0.151111478235466 -57999,0.8951234394734349 -58000,0.9709063477842175 -58001,0.350671660953479 -58002,0.0017239577794010419 -58003,0.08213107963429944 -58004,0.3996791979175024 -58005,0.21059559274149664 -58006,0.7739279730624647 -58007,0.2269183128675799 -58008,0.0801893234559844 -58009,0.2720698261022494 -58010,0.7139819470470353 -58011,0.9895596366149895 -58012,0.14891109489819554 -58013,0.0723248271099517 -58014,0.2614676908109528 -58015,0.11233314630187563 -58016,0.2714248825781339 -58017,0.11644791270991572 -58018,0.7916155454635125 -58019,0.934225441335857 -58020,0.15672329934365692 -58021,0.023383178404358995 -58022,0.334208232013556 -58023,0.21673747818232925 -58024,0.29666975498721015 -58025,0.10823899717417085 -58026,0.9314569934024494 -58027,0.6333228303613919 -58028,0.43409224326717444 -58029,0.8753684945829281 -58030,0.2588173855554091 -58031,0.9452173746993111 -58032,0.15758153875946534 -58033,0.10163729700484603 -58034,0.13095175177589802 -58035,0.23894881273903323 -58036,0.3901387712245554 -58037,0.5540219231341748 -58038,0.8239480190953582 -58039,0.40389845690230375 -58040,0.5557795578705305 -58041,0.8295735269832356 -58042,0.8680264311993183 -58043,0.4935697071352739 -58044,0.032972265234461284 -58045,0.12564839782249215 -58046,0.26210449523594315 -58047,0.14601603503636884 -58048,0.4036464895685804 -58049,0.27521885242560074 -58050,0.0006943074695486828 -58051,0.9053046826290336 -58052,0.808932976576678 -58053,0.14193095688819357 -58054,0.4150563934473086 -58055,0.2060059157417694 -58056,0.30324167269754987 -58057,0.5064360525956291 -58058,0.8838771142448064 -58059,0.42541201982914845 -58060,0.2530544940538971 -58061,0.2737911512989598 -58062,0.21735138084293992 -58063,0.5934939649453898 -58064,0.40295339477760306 -58065,0.3797518085942999 -58066,0.8042537286051178 -58067,0.20455230678316272 -58068,0.4294968270279358 -58069,0.4257685626829172 -58070,0.8893425575208554 -58071,0.5978952619836919 -58072,0.514994673365421 -58073,0.548653476750122 -58074,0.8317551955266185 -58075,0.8388827804969875 -58076,0.8257202534390987 -58077,0.09351658422331932 -58078,0.5933517314084402 -58079,0.4273450675313255 -58080,0.3979289340071328 -58081,0.4425462452405915 -58082,0.41664281292023553 -58083,0.07071444645491609 -58084,0.3630832101852618 -58085,0.14745062260279396 -58086,0.3736138236503531 -58087,0.33322507140144053 -58088,0.03413228380768829 -58089,0.06754136851727677 -58090,0.28750182068169516 -58091,0.953897902915697 -58092,0.20394073475316066 -58093,0.1869036762441061 -58094,0.5453058328108429 -58095,0.9292353422172953 -58096,0.3999113423355535 -58097,0.23236914336514158 -58098,0.4408338204286759 -58099,0.7055638103986727 -58100,0.04246838764514893 -58101,0.8737473478407608 -58102,0.43501558373410876 -58103,0.831034436795096 -58104,0.02632022987739635 -58105,0.8900166883423222 -58106,0.8217047544476804 -58107,0.6138895247771213 -58108,0.400889189733157 -58109,0.4515932800216643 -58110,0.06570687373873552 -58111,0.6342761484153467 -58112,0.4362315926504602 -58113,0.7401624149912108 -58114,0.03387480439806656 -58115,0.11892556957036193 -58116,0.4506655117464754 -58117,0.6278246847478907 -58118,0.08278299412493062 -58119,0.836718333177848 -58120,0.7804527790334707 -58121,0.030751559151555696 -58122,0.30121202568737904 -58123,0.9485191216912412 -58124,0.5913758034655747 -58125,0.6311542788593631 -58126,0.2449752434194189 -58127,0.8628974652448171 -58128,0.6396321594981325 -58129,0.02130516788190273 -58130,0.7809903842650668 -58131,0.5621012583302808 -58132,0.46026662488982506 -58133,0.47394511546921236 -58134,0.3060137936225722 -58135,0.6317887574100902 -58136,0.4864246007799641 -58137,0.10367447167495347 -58138,0.606581789290865 -58139,0.28944123827542945 -58140,0.5295083447120319 -58141,0.11180050157383414 -58142,0.45804314351882514 -58143,0.37182095822812566 -58144,0.06698395167504778 -58145,0.959671522184584 -58146,0.9015619432435831 -58147,0.7964662659039096 -58148,0.5826464379214248 -58149,0.18509509796467127 -58150,0.3419853171521796 -58151,0.6840543484016499 -58152,0.7800168243602364 -58153,0.7837628711955617 -58154,0.6073861394253423 -58155,0.5336260675303752 -58156,0.8382026504014359 -58157,0.612696171899449 -58158,0.7609246356268279 -58159,0.049308881191287735 -58160,0.5683779307566599 -58161,0.8202507654525398 -58162,0.356104040513882 -58163,0.046043339501048 -58164,0.11166661485886542 -58165,0.8619695154265024 -58166,0.6561023137868981 -58167,0.3782108036809291 -58168,0.7058642845704555 -58169,0.5478891615987912 -58170,0.07603530298010364 -58171,0.4766362549347697 -58172,0.6274765678835769 -58173,0.820157248830091 -58174,0.48238374437874 -58175,0.012737291916959603 -58176,0.42916904307757264 -58177,0.6034114510751435 -58178,0.9877383119186841 -58179,0.807371480303137 -58180,0.24315095851410184 -58181,0.8575525545957889 -58182,0.14198130229847084 -58183,0.521883387643817 -58184,0.654009683449798 -58185,0.6276291126086516 -58186,0.9786382817177603 -58187,0.17273519139417715 -58188,0.0315897611672733 -58189,0.2768853722264504 -58190,0.12428671720798778 -58191,0.6730851164970284 -58192,0.6350494237282134 -58193,0.45589528362253817 -58194,0.22902248684536808 -58195,0.7311553189667334 -58196,0.24353261025176876 -58197,0.5074946160604045 -58198,0.21965539267215362 -58199,0.2939513989463899 -58200,0.4118564095859628 -58201,0.7494044087752543 -58202,0.8982434462790894 -58203,0.2333728815141637 -58204,0.7853669083038721 -58205,0.9859534944059568 -58206,0.14614616425104232 -58207,0.8026831923832713 -58208,0.5698264355956878 -58209,0.2881646720974037 -58210,0.056754932814358394 -58211,0.5312589506061269 -58212,0.29444677968316413 -58213,0.6460928477501663 -58214,0.900096776899569 -58215,0.7952615599677296 -58216,0.9549994926516753 -58217,0.3477848107975945 -58218,0.5045634957487136 -58219,0.8149567035853862 -58220,0.8702728939102756 -58221,0.15282714034371414 -58222,0.6369382689752657 -58223,0.8531765210368659 -58224,0.9829752691064595 -58225,0.47169320539519854 -58226,0.43204953640100785 -58227,0.9843186706363165 -58228,0.5135378066780333 -58229,0.6779665551146581 -58230,0.855919794763388 -58231,0.2957111899744518 -58232,0.32053721579047345 -58233,0.4125181722794239 -58234,0.4993166179808234 -58235,0.3299785504605026 -58236,0.5935109975718914 -58237,0.5763571970936693 -58238,0.9778775643232281 -58239,0.8819369084864761 -58240,0.015225694136439372 -58241,0.936595199973571 -58242,0.09903833129419715 -58243,0.221158176156395 -58244,0.6192496072521444 -58245,0.6806879739225726 -58246,0.9087182869904639 -58247,0.9579412482649527 -58248,0.12852790088934518 -58249,0.4899538460359565 -58250,0.6465469293073556 -58251,0.8525230077276075 -58252,0.4902014097081353 -58253,0.9177700088070679 -58254,0.3417486696813743 -58255,0.9277847899028734 -58256,0.515722088905542 -58257,0.9187558537582183 -58258,0.8865016584624626 -58259,0.486943533288796 -58260,0.3727895133742567 -58261,0.6148624634484184 -58262,0.5497675780185922 -58263,0.14557545694574114 -58264,0.2432812769302245 -58265,0.28235987048024114 -58266,0.9035724896496313 -58267,0.6240193631903658 -58268,0.30824240106819323 -58269,0.7055430483827919 -58270,0.49001223838432617 -58271,0.32975875031863944 -58272,0.6677849797465613 -58273,0.7237162177363876 -58274,0.40052172619955206 -58275,0.32453415174201106 -58276,0.11656087462774622 -58277,0.9600433187328011 -58278,0.5571925798796987 -58279,0.254371594215965 -58280,0.8816262192281158 -58281,0.9309985184786725 -58282,0.274405042792903 -58283,0.47295218428429153 -58284,0.7445718804237589 -58285,0.5321267501653381 -58286,0.49915534995856214 -58287,0.5283258864105094 -58288,0.5902430836207956 -58289,0.6678344275623391 -58290,0.45122346137380254 -58291,0.2236674026766976 -58292,0.13346787214649725 -58293,0.5286498000891825 -58294,0.29392036460510707 -58295,0.4451215511194251 -58296,0.5454375342715513 -58297,0.7643018050122362 -58298,0.18789163081743276 -58299,0.8985385106989836 -58300,0.6841049030121896 -58301,0.24034266356806533 -58302,0.399360038478499 -58303,0.9327022649482011 -58304,0.24893319088724863 -58305,0.43702412686213965 -58306,0.49835683724204083 -58307,0.34987917165123017 -58308,0.6200974132627912 -58309,0.6963978396380961 -58310,0.845991318397905 -58311,0.42888128700357653 -58312,0.22629518623664313 -58313,0.07113888672422697 -58314,0.41414929194536354 -58315,0.6713664592587368 -58316,0.6708131035631671 -58317,0.14118511395171796 -58318,0.629761373075935 -58319,0.8413245515629998 -58320,0.6456675673806604 -58321,0.21919127039437347 -58322,0.5301358891647497 -58323,0.3899524613455112 -58324,0.5017065177035235 -58325,0.5253518310928094 -58326,0.6301592653528875 -58327,0.14406020926233565 -58328,0.5553579424124031 -58329,0.006757208939091708 -58330,0.5536624064546565 -58331,0.1807762773925562 -58332,0.8231670026068204 -58333,0.14508706074630673 -58334,0.8336720633034855 -58335,0.7044247955587059 -58336,0.2662187380748575 -58337,0.64325730584137 -58338,0.335382871849467 -58339,0.712890286028445 -58340,0.7619545702657856 -58341,0.9892076613405765 -58342,0.27532425463177745 -58343,0.19865516932762428 -58344,0.3038390879674774 -58345,0.47909976579547786 -58346,0.18169441319433965 -58347,0.79098070599868 -58348,0.5624293027528405 -58349,0.17984351619972527 -58350,0.3201878528421874 -58351,0.1327267520612252 -58352,0.14596128944216558 -58353,0.34203320981372054 -58354,0.6963876972154052 -58355,0.3890535012248998 -58356,0.5108058451175792 -58357,0.2983718348063754 -58358,0.3064931948203451 -58359,0.4217354536082324 -58360,0.3515753728430888 -58361,0.21608688277022992 -58362,0.05170553117850851 -58363,0.2597953335338141 -58364,0.7499301828207451 -58365,0.934186612149847 -58366,0.9556524813008753 -58367,0.7617993340091594 -58368,0.5901549338809778 -58369,0.8130172695878228 -58370,0.016648863745858056 -58371,0.8132999305149102 -58372,0.033977079776155716 -58373,0.2935532234353071 -58374,0.7017531864022054 -58375,0.3126645248306379 -58376,0.27144299282463147 -58377,0.36918379569055193 -58378,0.19853220979337582 -58379,0.5035223832896316 -58380,0.9472141586846605 -58381,0.5055381838681259 -58382,0.41622523547358603 -58383,0.8532647260339227 -58384,0.07980755290380204 -58385,0.9198144205677536 -58386,0.05161003547234522 -58387,0.8278461914693402 -58388,0.35645898626044414 -58389,0.9203137879131118 -58390,0.6262570511345085 -58391,0.1881474779322152 -58392,0.9608051157556103 -58393,0.8852901481885713 -58394,0.1193075148549515 -58395,0.0896552003429334 -58396,0.46581773991561193 -58397,0.5877494375686209 -58398,0.6349986546260681 -58399,0.17427086802523928 -58400,0.4209554862948991 -58401,0.0904891507127431 -58402,0.7384409843023747 -58403,0.9930959672701574 -58404,0.29850891941602886 -58405,0.4486474901409838 -58406,0.06521239453730765 -58407,0.8510143829825692 -58408,0.5801603268076342 -58409,0.17159526610512554 -58410,0.09167374621049351 -58411,0.4653366836152697 -58412,0.6080146088537106 -58413,0.9739114285901754 -58414,0.6565224847561081 -58415,0.11469351523970606 -58416,0.667685560228674 -58417,0.947202007663176 -58418,0.7895328921619259 -58419,0.25183620022784925 -58420,0.32808239003831785 -58421,0.651489576109646 -58422,0.8667987234295564 -58423,0.18995888130868344 -58424,0.06280834620336584 -58425,0.25165654792722125 -58426,0.2512132182201905 -58427,0.31307471277500976 -58428,0.7267379035475748 -58429,0.12316748405129962 -58430,0.025695389320003037 -58431,0.630979865278454 -58432,0.9255614828524275 -58433,0.2724681048162779 -58434,0.6446683536433051 -58435,0.5039300432984133 -58436,0.9628882601314325 -58437,0.11090552836005807 -58438,0.6925430456746159 -58439,0.5626345937192346 -58440,0.9924179735278417 -58441,0.29280823384046806 -58442,0.5019799306121204 -58443,0.09765804293071623 -58444,0.9587281971061177 -58445,0.257860060858609 -58446,0.03276540409717277 -58447,0.8197965562577635 -58448,0.6738919565016525 -58449,0.14001927415315252 -58450,0.303945640130317 -58451,0.542108161075445 -58452,0.7692002828701202 -58453,0.9647367917156305 -58454,0.4308721593588133 -58455,0.2783521016318353 -58456,0.49866085043332287 -58457,0.23814029193274022 -58458,0.11817685327005323 -58459,0.1095995031510355 -58460,0.38616654922057314 -58461,0.0802508535410218 -58462,0.5103747953335439 -58463,0.819262164637071 -58464,0.847888539420069 -58465,0.04483283636061275 -58466,0.4877639350100865 -58467,0.18073754652356455 -58468,0.6601772559113797 -58469,0.8346457960448987 -58470,0.054626202841278615 -58471,0.9296793297106223 -58472,0.2862709184607991 -58473,0.2686422126953457 -58474,0.20987913006687786 -58475,0.722854982763343 -58476,0.8935221308823375 -58477,0.3406732019268288 -58478,0.6924774918371944 -58479,0.8172726970412574 -58480,0.7247196903426588 -58481,0.1702315603152762 -58482,0.2371181493556227 -58483,0.1648512410802746 -58484,0.23376804825725517 -58485,0.04155822868921499 -58486,0.21729304189670395 -58487,0.6603916887445579 -58488,0.4050234513960774 -58489,0.7902936618219703 -58490,0.965240764195503 -58491,0.5685948164819047 -58492,0.3633548043987114 -58493,0.18117144458806644 -58494,0.6097018152766512 -58495,0.5538100368328436 -58496,0.5223340760313667 -58497,0.6880335942591035 -58498,0.3282681349908242 -58499,0.3718488335326081 -58500,0.928879080549859 -58501,0.36523314601850376 -58502,0.5114391324022207 -58503,0.6737998369822777 -58504,0.5128614855780964 -58505,0.18927344297065607 -58506,0.19938513530495572 -58507,0.0059078369316822865 -58508,0.6624069518781152 -58509,0.7145345655738792 -58510,0.8847123265717923 -58511,0.9887162181508569 -58512,0.6901258641671155 -58513,0.36571473844987423 -58514,0.6065990746958239 -58515,0.05708850180673419 -58516,0.2679094500693342 -58517,0.9908199685670448 -58518,0.14996377024554763 -58519,0.7850943664042541 -58520,0.21686488548103855 -58521,0.27347660983812694 -58522,0.2812025240498077 -58523,0.26736354678233754 -58524,0.05265391852475998 -58525,0.7251096680137312 -58526,0.40142491066293196 -58527,0.3920233129431302 -58528,0.5652422978591457 -58529,0.6989119906753389 -58530,0.4254585596647247 -58531,0.6376545468969796 -58532,0.9249409187711163 -58533,0.0355307261266079 -58534,0.13550971405074697 -58535,0.38046256215142427 -58536,0.6440281838476296 -58537,0.9526446197208888 -58538,0.9293095708594113 -58539,0.3801406070247171 -58540,0.5058302318496956 -58541,0.14527404002958744 -58542,0.4864108636289979 -58543,0.13196356253415054 -58544,0.5302535445947161 -58545,0.4508805940738798 -58546,0.4471289185285161 -58547,0.22982960466749136 -58548,0.7978059366187099 -58549,0.44571612273050787 -58550,0.20318842308745 -58551,0.3403149269674428 -58552,0.37965055218312393 -58553,0.86181640438336 -58554,0.16166446578616223 -58555,0.380417863305165 -58556,0.6124909390759807 -58557,0.9474292789073869 -58558,0.4815311932231724 -58559,0.5378048938383808 -58560,0.8960273276968452 -58561,0.9911768681643002 -58562,0.2959000587642363 -58563,0.9033670441900931 -58564,0.47725669209062815 -58565,0.7979634735184217 -58566,0.3843448101836834 -58567,0.028763599240755777 -58568,0.112229459424809 -58569,0.19807331506676518 -58570,0.6185131403181617 -58571,0.49612191623701396 -58572,0.5963547871077448 -58573,0.3756536404508859 -58574,0.5814421454930591 -58575,0.8502127240714633 -58576,0.1858377829071819 -58577,0.8668235657256906 -58578,0.4675571475334924 -58579,0.6858574242068665 -58580,0.5772603397953928 -58581,0.9698025087322932 -58582,0.6831628312030674 -58583,0.5295411043537993 -58584,0.29069643517262056 -58585,0.7212838605548219 -58586,0.11629962888335843 -58587,0.9252498729478783 -58588,0.8637275627836681 -58589,0.9733885964044087 -58590,0.45116512657727714 -58591,0.2232815969387565 -58592,0.5568898827716561 -58593,0.3419856903084507 -58594,0.7585989935031145 -58595,0.7405798834321481 -58596,0.9020654665287838 -58597,0.6435141806495479 -58598,0.7655817925143041 -58599,0.21626926734411656 -58600,0.31956094905991017 -58601,0.25518233103599053 -58602,0.5202168417288932 -58603,0.5098932085684257 -58604,0.00917917635095511 -58605,0.04248017744149335 -58606,0.6812286089952014 -58607,0.1881555097944725 -58608,0.8229952575042138 -58609,0.10527282688606365 -58610,0.980632816872103 -58611,0.9980788184997414 -58612,0.8962313964608977 -58613,0.7605084722620412 -58614,0.8456277095573387 -58615,0.5538026962363445 -58616,0.9441139911464203 -58617,0.5389395869033554 -58618,0.28478213897381843 -58619,0.4373171624354407 -58620,0.8934828769541275 -58621,0.3456380847250766 -58622,0.5231119230446785 -58623,0.3733530203030633 -58624,0.678913681745864 -58625,0.4659920137697574 -58626,0.8960582910043341 -58627,0.7470489719023313 -58628,0.8521667593436436 -58629,0.4854408632939421 -58630,0.027690585712774163 -58631,0.813895906395682 -58632,0.513537914376124 -58633,0.8990328039381473 -58634,0.3097267892448442 -58635,0.23161037165188048 -58636,0.2006467370858347 -58637,0.12983381351676815 -58638,0.529400479458744 -58639,0.8037197721427297 -58640,0.24546162341635203 -58641,0.29569817794911213 -58642,0.3791515120829171 -58643,0.8336888555843827 -58644,0.044944417650882196 -58645,0.6570884399795427 -58646,0.06696813561626636 -58647,0.7092894534447736 -58648,0.49510292170928716 -58649,0.5589249498047686 -58650,0.32212065103850707 -58651,0.7827143895211357 -58652,0.24367955231935456 -58653,0.6935776956910001 -58654,0.11244653111851532 -58655,0.6127386335768747 -58656,0.4662294990674125 -58657,0.40088233400909046 -58658,0.6611674899484177 -58659,0.10261533404497791 -58660,0.8636219771166053 -58661,0.28094222918387324 -58662,0.3532458676560464 -58663,0.4471299281170259 -58664,0.5968255233520635 -58665,0.1440557460742703 -58666,0.43464434791652595 -58667,0.7961408954735646 -58668,0.3667863002906956 -58669,0.7765925460989067 -58670,0.26863250344795775 -58671,0.022422922294215497 -58672,0.03950373318076983 -58673,0.04395906868707666 -58674,0.05419293493971955 -58675,0.9394245295248882 -58676,0.5035721872380686 -58677,0.7514778680796549 -58678,0.28446596241911004 -58679,0.7598780497048656 -58680,0.09936058555411065 -58681,0.2849326216812198 -58682,0.8191051249384425 -58683,0.5440763498364186 -58684,0.011346429007142111 -58685,0.45526248543176595 -58686,0.4747038756907286 -58687,0.05072986756194153 -58688,0.44039918213733786 -58689,0.5192202382011275 -58690,0.5505376265302898 -58691,0.42228239329863426 -58692,0.3325117860239932 -58693,0.4633023763711065 -58694,0.2292362801985941 -58695,0.9898645902413499 -58696,0.9935067423121806 -58697,0.82631951678303 -58698,0.9788887208583124 -58699,0.4618340399008477 -58700,0.16882003579230975 -58701,0.005212583027578099 -58702,0.8012131054065063 -58703,0.12950972055779064 -58704,0.4149420985218243 -58705,0.7006448476007647 -58706,0.7648940635125556 -58707,0.7060111142201211 -58708,0.5864180719836662 -58709,0.9837629475196067 -58710,0.5427937700081956 -58711,0.6737471918687139 -58712,0.22581982938218859 -58713,0.1491151771820931 -58714,0.7224884186118299 -58715,0.10546944306772432 -58716,0.6376578843795243 -58717,0.8022898405171509 -58718,0.5271212723362197 -58719,0.94648495841049 -58720,0.7401587517351736 -58721,0.8772678679453886 -58722,0.7182662770823518 -58723,0.13161586030248162 -58724,0.3877391961718587 -58725,0.724835841965745 -58726,0.11363703038998807 -58727,0.41128211638959433 -58728,0.6734599563143115 -58729,0.4363038304873801 -58730,0.39373008268100895 -58731,0.9580019524403759 -58732,0.15094544723242098 -58733,0.7140886250341771 -58734,0.9028074959197048 -58735,0.9126848475841649 -58736,0.7936856290141019 -58737,0.28006981002814646 -58738,0.8819640497655915 -58739,0.07450619792499003 -58740,0.5302292072637547 -58741,0.08837448194884923 -58742,0.731368818273069 -58743,0.15681957893630494 -58744,0.6511937552895964 -58745,0.42612576351540776 -58746,0.7262175978277772 -58747,0.005396341882153544 -58748,0.731108178752195 -58749,0.6427607744072983 -58750,0.8742210638679937 -58751,0.8442411696818135 -58752,0.590577186460909 -58753,0.39907650904367753 -58754,0.9682217647766896 -58755,0.42994833634737617 -58756,0.3691980980066373 -58757,0.5042728539984657 -58758,0.4256752274084942 -58759,0.4842950681357552 -58760,0.4758849847335559 -58761,0.33877419459740377 -58762,0.552626881452521 -58763,0.39534479349418394 -58764,0.29765102040376923 -58765,0.7500516346567674 -58766,0.6617120741682052 -58767,0.16943396471073746 -58768,0.48875741292034713 -58769,0.7524756498205283 -58770,0.18160272623733542 -58771,0.22268381353935862 -58772,0.42830935952147986 -58773,0.17503503817867583 -58774,0.5313972844351641 -58775,0.9055116057781243 -58776,0.15778363468157475 -58777,0.13060079926333068 -58778,0.18715068427971393 -58779,0.46709877195911087 -58780,0.7710434959226365 -58781,0.916637431569789 -58782,0.30164678016455915 -58783,0.2743503984497887 -58784,0.036525036505615005 -58785,0.5573601082061784 -58786,0.9559265593524641 -58787,0.662053551621703 -58788,0.2653526138134188 -58789,0.7663345210179585 -58790,0.0022724892023996413 -58791,0.9749019483493226 -58792,0.997090694816985 -58793,0.1624217665409159 -58794,0.9585916093084734 -58795,0.649660739529005 -58796,0.4056866278273359 -58797,0.797079029258193 -58798,0.9147047529939487 -58799,0.16920918999505064 -58800,0.1420953904767378 -58801,0.8066358964833293 -58802,0.20940080537936867 -58803,0.7339004099852952 -58804,0.3454304540530915 -58805,0.5297867119111119 -58806,0.050116725638369886 -58807,0.552399021461622 -58808,0.5782962102838977 -58809,0.3286352772282708 -58810,0.026068565602660354 -58811,0.7108448642206602 -58812,0.14099186348108117 -58813,0.03518446941243414 -58814,0.14599339449107152 -58815,0.8152141166451243 -58816,0.3094285227422181 -58817,0.024983613641275437 -58818,0.9848432694652384 -58819,0.7221696896022013 -58820,0.01484729810823926 -58821,0.7140097706435055 -58822,0.5801031920070003 -58823,0.8043226919214136 -58824,0.6053151753802958 -58825,0.4595223197317049 -58826,0.44681839831193193 -58827,0.8424511932313741 -58828,0.6800733540730712 -58829,0.6389851385904166 -58830,0.6905805536185582 -58831,0.7099028873665916 -58832,0.07348488531101871 -58833,0.3477328513915183 -58834,0.5260612971240421 -58835,0.10202816493910583 -58836,0.995354992423405 -58837,0.9035375514119437 -58838,0.852586347992209 -58839,0.997178454648925 -58840,0.4908617451770402 -58841,0.6850477287357372 -58842,0.12461706978640374 -58843,0.886668287447961 -58844,0.19921009301221582 -58845,0.3980809189618473 -58846,0.11792252890013899 -58847,0.2367891524427428 -58848,0.5305437574488765 -58849,0.8782938693839553 -58850,0.12373145920418349 -58851,0.13856407389275593 -58852,0.17542705777345358 -58853,0.15548707180049948 -58854,0.8335950424138618 -58855,0.7024414449458483 -58856,0.6440482783326039 -58857,0.4286763878260502 -58858,0.41504414246156285 -58859,0.0009196818593014688 -58860,0.8160835653298136 -58861,0.6107901952977424 -58862,0.580083725692862 -58863,0.5232315446769686 -58864,0.3268192149823803 -58865,0.8127129169690819 -58866,0.1078912477452848 -58867,0.3292476602743918 -58868,0.29206631363058055 -58869,0.9076438492281695 -58870,0.9766816151030624 -58871,0.3795606525050498 -58872,0.7208367287329902 -58873,0.5357877721276956 -58874,0.944753603782463 -58875,0.26106585238377555 -58876,0.45884647887499885 -58877,0.041684116041508124 -58878,0.16857558271443618 -58879,0.7812033684919354 -58880,0.7453146995845499 -58881,0.12620105279575544 -58882,0.1948221643137542 -58883,0.8112410159312227 -58884,0.911562165738775 -58885,0.5911207518881214 -58886,0.11221984642313243 -58887,0.00031459729105443035 -58888,0.2701033555608734 -58889,0.30318022012105805 -58890,0.4283132527525271 -58891,0.16428013819461462 -58892,0.5573336831975301 -58893,0.7680701100416042 -58894,0.8740804329144315 -58895,0.11371294184405345 -58896,0.16897192994454924 -58897,0.634106402588547 -58898,0.07106708864592082 -58899,0.5217231731741978 -58900,0.6068162779544622 -58901,0.6147026462251732 -58902,0.9529057703601321 -58903,0.2117677642461573 -58904,0.16064525580780786 -58905,0.04665497213195968 -58906,0.2828669246595792 -58907,0.07380904926018361 -58908,0.48466253854244934 -58909,0.33014709190377445 -58910,0.4853612120145584 -58911,0.3941230981691778 -58912,0.08783377317808427 -58913,0.03404147992311257 -58914,0.6686187736294567 -58915,0.6835368791704629 -58916,0.3554248160026441 -58917,0.37280846431445724 -58918,0.6951152815223534 -58919,0.20436970552326517 -58920,0.6040345405370423 -58921,0.6421306373127162 -58922,0.6223317449905139 -58923,0.45938653191037226 -58924,0.5696813790441777 -58925,0.018853440852279135 -58926,0.4110973917700159 -58927,0.6627600011066146 -58928,0.6873530196770934 -58929,0.8453866948362568 -58930,0.9183748768182303 -58931,0.4281929483719191 -58932,0.5728414419089362 -58933,0.2237476281797275 -58934,0.6304126041398084 -58935,0.0835013907906007 -58936,0.8180233920667414 -58937,0.7122875186906641 -58938,0.495695752015177 -58939,0.21583620835166062 -58940,0.7577425274192491 -58941,0.37029889226429746 -58942,0.9919116395580512 -58943,0.798725970764696 -58944,0.10523032355461404 -58945,0.8836948568500453 -58946,0.12012891647454815 -58947,0.07144996237600376 -58948,0.7602028814748674 -58949,0.7084938111962019 -58950,0.7914189636237742 -58951,0.6771185644612114 -58952,0.43840970391530143 -58953,0.19505534594909513 -58954,0.9924502579109001 -58955,0.2945049060292029 -58956,0.10173599003267464 -58957,0.15394672945681986 -58958,0.7954068291108957 -58959,0.530312771086398 -58960,0.22377200489343518 -58961,0.9956948531901326 -58962,0.6328206084510891 -58963,0.3029460774796797 -58964,0.19987500501294697 -58965,0.5325435739210566 -58966,0.6067032141780369 -58967,0.970939787421213 -58968,0.8327113784474801 -58969,0.8220296554638769 -58970,0.4258289657783 -58971,0.8777005077814417 -58972,0.3483141022677685 -58973,0.9205666270715859 -58974,0.9898199143594181 -58975,0.23824568347933117 -58976,0.5527297145072833 -58977,0.8760106964559219 -58978,0.5722921930942627 -58979,0.3978597512306439 -58980,0.251162145775501 -58981,0.018479899243026288 -58982,0.1327312926270947 -58983,0.1783892892396316 -58984,0.8774422432520946 -58985,0.02253646724246905 -58986,0.4735859975065275 -58987,0.7762176598384924 -58988,0.03201412797995207 -58989,0.12875183067266016 -58990,0.7679900254749694 -58991,0.22926791605776797 -58992,0.10592553657223092 -58993,0.5323329099145431 -58994,0.457928152084464 -58995,0.2899590462889865 -58996,0.6330100219267216 -58997,0.6597083268729499 -58998,0.9714329172985525 -58999,0.769369092557617 -59000,0.8461968862480785 -59001,0.8100156367348905 -59002,0.288457507683584 -59003,0.6830576338288791 -59004,0.823948582752643 -59005,0.18402858533818112 -59006,0.15558996151678106 -59007,0.04328053661734799 -59008,0.17944411230609836 -59009,0.4541876120870142 -59010,0.6588420583649719 -59011,0.7702359431267034 -59012,0.0810652055916461 -59013,0.5584458866890738 -59014,0.03478077748879016 -59015,0.015052532784229133 -59016,0.8737125755149823 -59017,0.7378337657506567 -59018,0.3995320056951154 -59019,0.7710106227135426 -59020,0.8562656019078438 -59021,0.7597023437165668 -59022,0.45089746496028593 -59023,0.7986996887111527 -59024,0.45745443686364373 -59025,0.198862098943415 -59026,0.5151266635330757 -59027,0.6169724358549776 -59028,0.911358314262771 -59029,0.5744983965341373 -59030,0.28481854931019834 -59031,0.04954379574640433 -59032,0.12132415240261929 -59033,0.1825768779807918 -59034,0.19549059455810425 -59035,0.5192236694896833 -59036,0.015878907135108866 -59037,0.2776085807140548 -59038,0.9800954378500147 -59039,0.44791126585624563 -59040,0.06894213082985856 -59041,0.43991305034281636 -59042,0.08495199087982463 -59043,0.2624007978586318 -59044,0.24242528730845558 -59045,0.597417030565106 -59046,0.6821179065156834 -59047,0.8310915299866449 -59048,0.8738552085516434 -59049,0.11404236404137058 -59050,0.15785762748860976 -59051,0.9578167947732629 -59052,0.5177160427970438 -59053,0.5108526551949744 -59054,0.578488671278041 -59055,0.8472964477385946 -59056,0.8671915264967582 -59057,0.9758204093582514 -59058,0.1913639695885303 -59059,0.8251745269875882 -59060,0.612402593680493 -59061,0.6729598742555459 -59062,0.8108796725000482 -59063,0.33563130958445986 -59064,0.06192568078870797 -59065,0.40219588193597733 -59066,0.7607050907908882 -59067,0.5960082898762344 -59068,0.44111554066402914 -59069,0.8343544805083939 -59070,0.17059824700611514 -59071,0.5447628904082241 -59072,0.3487998431926713 -59073,0.3479918854267161 -59074,0.4852693329629346 -59075,0.45897312729311057 -59076,0.7174411430407287 -59077,0.6830984644734394 -59078,0.9486086354739642 -59079,0.5516737276090251 -59080,0.611912347708035 -59081,0.12904943074922848 -59082,0.9021090576076563 -59083,0.3491609121077014 -59084,0.1890944937807979 -59085,0.2192877568030086 -59086,0.2251908312463644 -59087,0.44833615799853854 -59088,0.27346937762051726 -59089,0.5910688424395674 -59090,0.8903764026459197 -59091,0.5998161224122223 -59092,0.5502263743983722 -59093,0.24987304482564432 -59094,0.5744817312333691 -59095,0.10903213736680428 -59096,0.6447711718634551 -59097,0.04522068222635345 -59098,0.6686097644089388 -59099,0.6863081689730489 -59100,0.6181972963028977 -59101,0.9193121630035513 -59102,0.053318087036626216 -59103,0.3465909552155183 -59104,0.9695582248140371 -59105,0.4473859056658597 -59106,0.623013553623374 -59107,0.8000749057304106 -59108,0.12010732826347614 -59109,0.8710256057425346 -59110,0.7299599555598647 -59111,0.4398062372591611 -59112,0.6163955306392511 -59113,0.8368773212962108 -59114,0.16994959489431793 -59115,0.5336213796319806 -59116,0.9245232408643042 -59117,0.910257275027272 -59118,0.05082498541965719 -59119,0.5168504920441636 -59120,0.7605990693217775 -59121,0.19317709260623395 -59122,0.3115088493345327 -59123,0.8104990737413508 -59124,0.6666556730136063 -59125,0.9797012246549592 -59126,0.24279830928606538 -59127,0.827285096266206 -59128,0.1922314864211755 -59129,0.7110982235054063 -59130,0.5715529910492726 -59131,0.5910303901707878 -59132,0.8909854507183063 -59133,0.8942184198368376 -59134,0.6955906815418267 -59135,0.7165938744952252 -59136,0.41823604949421 -59137,0.8506247075640908 -59138,0.912490153628161 -59139,0.2792962898457936 -59140,0.6035515044947929 -59141,0.6310128350760735 -59142,0.3140186081752784 -59143,0.4351437363697426 -59144,0.10135831152412611 -59145,0.34584812067697923 -59146,0.4685934082042147 -59147,0.9638051675446239 -59148,0.08637433903250968 -59149,0.3401602930773293 -59150,0.7564057608714456 -59151,0.5499166053807838 -59152,0.5236022054389025 -59153,0.7058143599092925 -59154,0.9591368896925742 -59155,0.0668301045386468 -59156,0.0034151054169127004 -59157,0.5804740598839234 -59158,0.7679675652992547 -59159,0.4122858075330037 -59160,0.5870941332449329 -59161,0.10013205977539319 -59162,0.6498037199640695 -59163,0.9324285977077319 -59164,0.5207307491858819 -59165,0.7278604525025293 -59166,0.21516608308355767 -59167,0.6288339994172496 -59168,0.8494092394356398 -59169,0.02851204650131578 -59170,0.8473218910195395 -59171,0.8213879721575587 -59172,0.42754277923690964 -59173,0.8494592425600328 -59174,0.2799290719024249 -59175,0.15138844249397965 -59176,0.6598007795717847 -59177,0.37674248528206455 -59178,0.4416623534237457 -59179,0.8364053294610024 -59180,0.2611211964785408 -59181,0.13798034401305692 -59182,0.4966025786896243 -59183,0.10247527805183665 -59184,0.16519070570896888 -59185,0.7191784719806404 -59186,0.6833197582836052 -59187,0.02552530121369112 -59188,0.3222222095029109 -59189,0.6345227942606603 -59190,0.43278198668192847 -59191,0.6843473105556506 -59192,0.8663809823917829 -59193,0.572953537311498 -59194,0.11361112683811803 -59195,0.9755463648858448 -59196,0.523170001228555 -59197,0.8894395982944162 -59198,0.2496167419625842 -59199,0.19210593477887328 -59200,0.3318850159008796 -59201,0.18046288937410215 -59202,0.9883860728431045 -59203,0.9478796575929166 -59204,0.9898913718070623 -59205,0.7833220749875989 -59206,0.6301624970971228 -59207,0.37400327692159274 -59208,0.06749122825019205 -59209,0.719935738250394 -59210,0.3150582766160053 -59211,0.5152412284760834 -59212,0.5267253036015154 -59213,0.8746029349154815 -59214,0.49737496250862867 -59215,0.7410618557540246 -59216,0.379851952347371 -59217,0.147249620215958 -59218,0.8285538328788581 -59219,0.015614330165829249 -59220,0.11694838589754897 -59221,0.6385753182433941 -59222,0.7944400870641648 -59223,0.43540499152767576 -59224,0.9501283505301465 -59225,0.2756591891078144 -59226,0.7398990375324654 -59227,0.017936951697664405 -59228,0.6442240304252012 -59229,0.24915231928315573 -59230,0.6807095992677535 -59231,0.8715164355125614 -59232,0.2134309695497406 -59233,0.9679966298828896 -59234,0.8939403885932455 -59235,0.1656506894155606 -59236,0.7405811511607217 -59237,0.1521720656162845 -59238,0.2332880230751837 -59239,0.01698226747866416 -59240,0.021542499438058527 -59241,0.048415391578352285 -59242,0.37001728183980664 -59243,0.2091921149030216 -59244,0.6104860167482508 -59245,0.5966367844193806 -59246,0.5094713318870777 -59247,0.032399018901003496 -59248,0.8857783614179886 -59249,0.26555642846677996 -59250,0.8177055809200399 -59251,0.15021312807201548 -59252,0.37629123797174924 -59253,0.7427617680065739 -59254,0.5535071070528594 -59255,0.9748273421880712 -59256,0.3080551458030846 -59257,0.020462861494282336 -59258,0.1398750487473438 -59259,0.739087075178906 -59260,0.19609262436583463 -59261,0.8325941760730966 -59262,0.045892567929190164 -59263,0.08366918789679223 -59264,0.8821680338472503 -59265,0.7878535221280912 -59266,0.29589286372430845 -59267,0.18994809372231614 -59268,0.3723649243531273 -59269,0.6778971972402327 -59270,0.5991618208792868 -59271,0.4891063620863685 -59272,0.21950324732684556 -59273,0.10477043572047284 -59274,0.5240646230492388 -59275,0.7934891628459805 -59276,0.9509630093850903 -59277,0.2553195558513315 -59278,0.24037589774536616 -59279,0.205979847096036 -59280,0.18713563973920044 -59281,0.680089591945494 -59282,0.20156359877463248 -59283,0.7689640158509398 -59284,0.5276182069132801 -59285,0.4870518303966648 -59286,0.7381474587375302 -59287,0.36923122975743283 -59288,0.47391293810022306 -59289,0.7891037444962788 -59290,0.142159069100964 -59291,0.6620578094541216 -59292,0.3053890718474318 -59293,0.6134076661104518 -59294,0.9547893632793837 -59295,0.9973204711267903 -59296,0.4412517371090715 -59297,0.7340856224774921 -59298,0.8987354876918342 -59299,0.8062948478712215 -59300,0.02497659768510463 -59301,0.6609272223487069 -59302,0.38407252406908343 -59303,0.8256913137922395 -59304,0.526959132880619 -59305,0.34575387965199467 -59306,0.8689465319336076 -59307,0.3396464553297075 -59308,0.8231588427420888 -59309,0.6535308108200267 -59310,0.6134495513354986 -59311,0.35518613057748827 -59312,0.11774967848547069 -59313,0.15311438208834072 -59314,0.48993804242692085 -59315,0.9808115481942347 -59316,0.915887966056062 -59317,0.15605714539065263 -59318,0.7937695986196223 -59319,0.4352877930454222 -59320,0.6770472838137935 -59321,0.6819173159471377 -59322,0.6347896070408527 -59323,0.32891025903378757 -59324,0.9709676044047778 -59325,0.35847825838745495 -59326,0.3933215233441443 -59327,0.8298127928990576 -59328,0.3987374837740687 -59329,0.009598922832261492 -59330,0.10222097172746825 -59331,0.91548534858371 -59332,0.9826420635236721 -59333,0.10728094969631907 -59334,0.07170742678053033 -59335,0.5468855151237193 -59336,0.5769845821207308 -59337,0.41808099528047826 -59338,0.7241937770067665 -59339,0.19349422962013396 -59340,0.7050279697360804 -59341,0.5081518725174006 -59342,0.2993237012432639 -59343,0.3204154868820128 -59344,0.4773043442640912 -59345,0.8966101114065087 -59346,0.5345493021520189 -59347,0.82979113079942 -59348,0.18358941390164785 -59349,0.6939114823281138 -59350,0.8547358822106904 -59351,0.27856261710743013 -59352,0.11603392681878955 -59353,0.3637172447184467 -59354,0.5465371933270573 -59355,0.3070918388151953 -59356,0.9785296387524035 -59357,0.8074015307840235 -59358,0.24484272919042405 -59359,0.879867269106632 -59360,0.9270517908629166 -59361,0.024072203671638093 -59362,0.8911099850217722 -59363,0.23720208190020164 -59364,0.39147594918795525 -59365,0.20392491284092906 -59366,0.5408213893074263 -59367,0.1997469065511852 -59368,0.11935943724594233 -59369,0.6041258993310251 -59370,0.6817450028651213 -59371,0.1990684203956019 -59372,0.27306292060581816 -59373,0.03671321370223468 -59374,0.14345707908951066 -59375,0.34687402004080736 -59376,0.7053096552469136 -59377,0.5131503785931231 -59378,0.952219008910829 -59379,0.2827009470817108 -59380,0.2728084103284 -59381,0.3303501135891539 -59382,0.3785504382920697 -59383,0.5157904588169282 -59384,0.527706791424563 -59385,0.4785394822542608 -59386,0.30554695503649376 -59387,0.03746876483214179 -59388,0.6582982483251401 -59389,0.18064928630553523 -59390,0.005715910985900519 -59391,0.22970462385154145 -59392,0.07199440292488135 -59393,0.9975402981399627 -59394,0.7705725422573453 -59395,0.7457894234737803 -59396,0.4264991687243267 -59397,0.7665923419485358 -59398,0.4741891372785404 -59399,0.3742375358694421 -59400,0.14721813561346542 -59401,0.09735467570576384 -59402,0.4613005215092796 -59403,0.4327674786431994 -59404,0.0772296407833235 -59405,0.33592140377361945 -59406,0.567318481736715 -59407,0.37124101579772917 -59408,0.2509225905261875 -59409,0.33412508855873524 -59410,0.9554882325971322 -59411,0.20938813123913091 -59412,0.6442505611151524 -59413,0.1573686740272452 -59414,0.15064048101331107 -59415,0.8730060324395014 -59416,0.9438559142733035 -59417,0.45965585193920977 -59418,0.7198623753195864 -59419,0.013783152197483828 -59420,0.6446878035241702 -59421,0.8910125404856216 -59422,0.10215895124159635 -59423,0.6278174182374865 -59424,0.0032389702281205857 -59425,0.7648101701892471 -59426,0.2756680337841678 -59427,0.8579997692238754 -59428,0.023992008866555725 -59429,0.005664798022191109 -59430,0.816553376596042 -59431,0.9079365399769552 -59432,0.2258181081901477 -59433,0.9157643885841174 -59434,0.2045230737337319 -59435,0.5277998675043729 -59436,0.6297003213727522 -59437,0.5233039267802375 -59438,0.12007971818154162 -59439,0.30520965657968246 -59440,0.256254091798678 -59441,0.27969743273372305 -59442,0.1488239536401661 -59443,0.305307672722951 -59444,0.6760308700699382 -59445,0.08886130024281602 -59446,0.3683514570600407 -59447,0.6620532826538631 -59448,0.43946857917203186 -59449,0.16840596089914894 -59450,0.14519277406943398 -59451,0.7681124472486006 -59452,0.9739971033467589 -59453,0.34296952227958366 -59454,0.06747554480938478 -59455,0.889883271178304 -59456,0.724751890252901 -59457,0.9243893808733371 -59458,0.2899768581352157 -59459,0.02221764519900038 -59460,0.5711055129395106 -59461,0.471426406857811 -59462,0.3926138443692452 -59463,0.9767976710074383 -59464,0.5265205020103608 -59465,0.00896272441990642 -59466,0.8088550947116745 -59467,0.28337595201643495 -59468,0.31361439549903125 -59469,0.27021278983145613 -59470,0.44220881391230904 -59471,0.49773087794462456 -59472,0.03876319666418415 -59473,0.34100152012723317 -59474,0.40197652953948926 -59475,0.1999978653948259 -59476,0.4439101243173351 -59477,0.8881410622911408 -59478,0.7702405328448773 -59479,0.45623568517951907 -59480,0.342799196244604 -59481,0.1342028631814205 -59482,0.26445717523806334 -59483,0.6782226243306589 -59484,0.7412509422358212 -59485,0.9939719247558164 -59486,0.18436058639395347 -59487,0.04759582590270872 -59488,0.9372991616982645 -59489,0.5605252067858462 -59490,0.9015893991794547 -59491,0.05584383692691752 -59492,0.06685896122170687 -59493,0.468162786086483 -59494,0.17500745416285446 -59495,0.7673688023022905 -59496,0.36720299885805674 -59497,0.44454746209132545 -59498,0.6470637801922897 -59499,0.9378550023860274 -59500,0.743090763038361 -59501,0.26353198696743163 -59502,0.4361771086666968 -59503,0.5839979645872675 -59504,0.5674517638759408 -59505,0.8868997898277193 -59506,0.9491611298244993 -59507,0.2932282356394651 -59508,0.3558247443469388 -59509,0.622258780543307 -59510,0.15739981552114857 -59511,0.7389778190604551 -59512,0.9224372975281638 -59513,0.1827235856728634 -59514,0.42224067977653545 -59515,0.9429267054525825 -59516,0.7301096254961226 -59517,0.13721767959129516 -59518,0.05935929133188389 -59519,0.4885306686252907 -59520,0.8984744620979778 -59521,0.3445768917293126 -59522,0.44434214138632677 -59523,0.17794523405680251 -59524,0.781949595198529 -59525,0.48419291009796417 -59526,0.979249279857521 -59527,0.8212354832787123 -59528,0.6325474603602539 -59529,0.009218609662528188 -59530,0.8513393269314191 -59531,0.8521341693844359 -59532,0.15881976962241362 -59533,0.05484507963939489 -59534,0.139699634288745 -59535,0.7557871593256532 -59536,0.05106792002385785 -59537,0.6635386801070067 -59538,0.671266355650933 -59539,0.4671147108789562 -59540,0.9722961505463537 -59541,0.6025043437302878 -59542,0.7063981332157859 -59543,0.842524698255718 -59544,0.9852032320095199 -59545,0.021610338033133503 -59546,0.48325535587937185 -59547,0.25700325156856785 -59548,0.8350296296068144 -59549,0.8383542615644928 -59550,0.25985011132427294 -59551,0.19072301687519433 -59552,0.5617336683135018 -59553,0.7798762118140421 -59554,0.41961644306021706 -59555,0.5301159302296204 -59556,0.1716378778350217 -59557,0.18917260891940402 -59558,0.4838192780669651 -59559,0.8458139566691364 -59560,0.012569896425468463 -59561,0.32981903034656435 -59562,0.7367629815271424 -59563,0.1404559692808327 -59564,0.47917108442202916 -59565,0.09566559171480216 -59566,0.3505521370598125 -59567,0.2620975697236104 -59568,0.709614842733885 -59569,0.08636903541772334 -59570,0.9653428976652731 -59571,0.023535270355804605 -59572,0.38127793075898564 -59573,0.45166443085636854 -59574,0.08391777167109582 -59575,0.9831188387897638 -59576,0.47283694982743874 -59577,0.49797880448362064 -59578,0.2430132887259978 -59579,0.24992181357540522 -59580,0.4057361335293399 -59581,0.09078246406999502 -59582,0.6171321363414679 -59583,0.9679638414583376 -59584,0.7246686109987871 -59585,0.08365201502751418 -59586,0.891063978769501 -59587,0.1724427245962391 -59588,0.4133599279003759 -59589,0.13748978194419037 -59590,0.6893367624299813 -59591,0.23504832852431212 -59592,0.6399176665454468 -59593,0.21377490943310562 -59594,0.2214344591665549 -59595,0.48265477809364066 -59596,0.6565316425906781 -59597,0.4154559875656969 -59598,0.5904333965629015 -59599,0.7081589711664386 -59600,0.43343389408289734 -59601,0.3163372137413948 -59602,0.21960664786693773 -59603,0.9157734393614004 -59604,0.6841821701937698 -59605,0.5896701980935599 -59606,0.8343928598382918 -59607,0.050060370121606135 -59608,0.635236596898078 -59609,0.48065341059769384 -59610,0.29143900013117474 -59611,0.018348288268439372 -59612,0.33839734273611244 -59613,0.5206572859815634 -59614,0.5367048671164258 -59615,0.0926075480907731 -59616,0.941426428740243 -59617,0.7789514211468771 -59618,0.044492165883266876 -59619,0.8984182908267243 -59620,0.4107867804085312 -59621,0.762493556298987 -59622,0.31018045816782014 -59623,0.21665581127092703 -59624,0.8076776642311693 -59625,0.7812700748247603 -59626,0.1999151370455018 -59627,0.41422401838439604 -59628,0.8893858748120618 -59629,0.6589667785174785 -59630,0.569685628084691 -59631,0.14199895306432697 -59632,0.7386650637975042 -59633,0.8464990266241188 -59634,0.8266311121687971 -59635,0.5263021641521319 -59636,0.01828709703190623 -59637,0.7605274648469822 -59638,0.10852632960133146 -59639,0.35096485050228454 -59640,0.8951882156901192 -59641,0.5728493248774947 -59642,0.38038800213692037 -59643,0.39370290807125685 -59644,0.9270826240606619 -59645,0.49410805370555244 -59646,0.45421517919437926 -59647,0.3841287516919475 -59648,0.32373757202769804 -59649,0.7228336872312865 -59650,0.8783054120490259 -59651,0.9643672841966737 -59652,0.05705603466102849 -59653,0.3900643730583101 -59654,0.25375753131102885 -59655,0.4953742521830916 -59656,0.652512341847502 -59657,0.3478535745698347 -59658,0.9475662037854223 -59659,0.5963322217079945 -59660,0.46030412014784905 -59661,0.11473366414752983 -59662,0.8655727162545811 -59663,0.2712630086551603 -59664,0.31797460331653715 -59665,0.5060910213871925 -59666,0.43172843137673544 -59667,0.1625697627168612 -59668,0.3033530578484579 -59669,0.0483144211420401 -59670,0.07419438487800223 -59671,0.014748358571569087 -59672,0.7246949204896904 -59673,0.6470293782746755 -59674,0.9126833590160132 -59675,0.29913737752995406 -59676,0.43386708048498135 -59677,0.08609642318995514 -59678,0.5864414311584091 -59679,0.5580119608866729 -59680,0.17355900182596562 -59681,0.8101720915920197 -59682,0.6005149783859411 -59683,0.2688169052552316 -59684,0.7095813280719869 -59685,0.9251283045856652 -59686,0.998550532011881 -59687,0.6468305111405523 -59688,0.08806488312672223 -59689,0.7788976374023335 -59690,0.9888692175277337 -59691,0.02096330361729526 -59692,0.1191013957810404 -59693,0.12822051146406377 -59694,0.5678112271609552 -59695,0.10932883354982459 -59696,0.4204039026549692 -59697,0.3423652158932189 -59698,0.20091637843828536 -59699,0.7809959982766124 -59700,0.9451327133597361 -59701,0.4347255925392671 -59702,0.8377400383126902 -59703,0.5822437870974513 -59704,0.3114780734544469 -59705,0.9713559766052609 -59706,0.38150721610779126 -59707,0.6547742519646997 -59708,0.08798717127616529 -59709,0.7009255355029581 -59710,0.3019726057651033 -59711,0.8468608510486377 -59712,0.20804218521480178 -59713,0.030645849231156208 -59714,0.11040677685691569 -59715,0.24300162220464472 -59716,0.7011438526025725 -59717,0.784131805201308 -59718,0.20496225079476138 -59719,0.30452889763489843 -59720,0.583767716689422 -59721,0.8161535494653089 -59722,0.04586444732366868 -59723,0.9397916328148466 -59724,0.6187689645596479 -59725,0.46353562273724314 -59726,0.1269016451038667 -59727,0.959270828510974 -59728,0.18958859853059762 -59729,0.6487862933919286 -59730,0.5031437339240324 -59731,0.828294409294898 -59732,0.5826335112600286 -59733,0.34802618566754207 -59734,0.6321251981384309 -59735,0.34889375099440345 -59736,0.2802019753028203 -59737,0.12482665348870325 -59738,0.23893054058474705 -59739,0.9709839182991811 -59740,0.41386568576459426 -59741,0.6989697071925574 -59742,0.8130491157536239 -59743,0.7888047322042254 -59744,0.7597201484931144 -59745,0.5142028717638134 -59746,0.15667619378387587 -59747,0.12583085554207663 -59748,0.15676517135693147 -59749,0.6030431395891508 -59750,0.454894417274463 -59751,0.5536613938644833 -59752,0.6222269230177578 -59753,0.6318437744528741 -59754,0.2537226447417005 -59755,0.3048430756348085 -59756,0.046648835531574284 -59757,0.18877733652989515 -59758,0.9414917860697094 -59759,0.39359069690163273 -59760,0.7089700961313743 -59761,0.9987200678083927 -59762,0.07079038762031853 -59763,0.7052182136893826 -59764,0.778579079530754 -59765,0.5084486852950609 -59766,0.4514142240924919 -59767,0.9447594197612624 -59768,0.8976455442745209 -59769,0.925612160982035 -59770,0.14160124812818808 -59771,0.36798265137353525 -59772,0.4483555952268009 -59773,0.47500120757816955 -59774,0.1576293421689141 -59775,0.907588346324992 -59776,0.6093464554682549 -59777,0.26258044034046224 -59778,0.6745588221310486 -59779,0.7379413889768307 -59780,0.3849372517139469 -59781,0.793150969714722 -59782,0.9905438794959714 -59783,0.1033188347683427 -59784,0.8263386663945894 -59785,0.8979264485605336 -59786,0.8757048097641704 -59787,0.5615926171214204 -59788,0.6347462849326847 -59789,0.9641754269145003 -59790,0.21782539695881697 -59791,0.33724702056107336 -59792,0.3155897924961575 -59793,0.3203202034068846 -59794,0.8449654582675147 -59795,0.6616720010758605 -59796,0.35747966719924273 -59797,0.7421753711859972 -59798,0.22478779655140235 -59799,0.24054832720948893 -59800,0.5213728859511418 -59801,0.2158664963478356 -59802,0.9636882390139447 -59803,0.7365279769971694 -59804,0.9938139481074298 -59805,0.06583213010756483 -59806,0.646997823684647 -59807,0.5985348202515473 -59808,0.07715334522426065 -59809,0.012957734160742973 -59810,0.7490215279048229 -59811,0.6976612164952801 -59812,0.7383427609053463 -59813,0.5965939469590178 -59814,0.062266946721781014 -59815,0.9799354808792867 -59816,0.5799661188531544 -59817,0.04607175371204586 -59818,0.5659503475992493 -59819,0.8329831126308054 -59820,0.8125963427050272 -59821,0.37566470415945574 -59822,0.4414248947296888 -59823,0.49834240043260725 -59824,0.2738336319710526 -59825,0.0008755300114289266 -59826,0.578116201025632 -59827,0.33626472796113105 -59828,0.8918876524072435 -59829,0.769821878893253 -59830,0.7279945285192467 -59831,0.9568376475075369 -59832,0.682382393279409 -59833,0.03388253104993111 -59834,0.1328792575566946 -59835,0.8933692788637518 -59836,0.9912120784664774 -59837,0.025246868482932117 -59838,0.3771018198921193 -59839,0.598352728379666 -59840,0.3487682988890005 -59841,0.024346143867306713 -59842,0.2166433172460347 -59843,0.971505930616156 -59844,0.23781729497057325 -59845,0.43179463579191435 -59846,0.9979061674569518 -59847,0.7250573032311779 -59848,0.5844103868340966 -59849,0.5044064277463676 -59850,0.14381253532184035 -59851,0.1393342619231418 -59852,0.36021638232217756 -59853,0.1183863037656212 -59854,0.3831355592436618 -59855,0.32496630391687653 -59856,0.4224033105121916 -59857,0.43635610345950515 -59858,0.11840978989962159 -59859,0.013040708313475924 -59860,0.7271580582200873 -59861,0.5787881392673768 -59862,0.9868753649388018 -59863,0.12943728563837442 -59864,0.6516804232556777 -59865,0.3982187337407147 -59866,0.18073616896440825 -59867,0.17558403308392645 -59868,0.6381918325390957 -59869,0.262755990558165 -59870,0.5220119164660322 -59871,0.4259171521590509 -59872,0.18504303028531877 -59873,0.7317585373178801 -59874,0.02460488507684322 -59875,0.23314303739287467 -59876,0.15803023339150357 -59877,0.7911740889482106 -59878,0.8178416089390934 -59879,0.5869548697031141 -59880,0.03278892964009661 -59881,0.4328682155835534 -59882,0.2959774492794206 -59883,0.999695167015302 -59884,0.09275616612701687 -59885,0.39054788921734573 -59886,0.24924525048870194 -59887,0.2690482994759019 -59888,0.500602226852072 -59889,0.9984148536403508 -59890,0.15480357534650768 -59891,0.11256912160326249 -59892,0.515553293231553 -59893,0.5004425695563154 -59894,0.06492050753883138 -59895,0.3083578069598516 -59896,0.470033534889561 -59897,0.627751058041654 -59898,0.44936130373988115 -59899,0.13039337058117195 -59900,0.1254994629239602 -59901,0.01136283435004204 -59902,0.7408853272705084 -59903,0.43706100848822815 -59904,0.9782080121695778 -59905,0.7103155695738194 -59906,0.4354864746245143 -59907,0.8298951983389182 -59908,0.7130049639620039 -59909,0.20104034789186576 -59910,0.914255553411915 -59911,0.73847278718973 -59912,0.8748223158570876 -59913,0.08499651163452471 -59914,0.36257543158715133 -59915,0.5373873214030336 -59916,0.23953929651599537 -59917,0.9508485739156447 -59918,0.391137499528582 -59919,0.04604429032982926 -59920,0.8089050576118464 -59921,0.4246725455982504 -59922,0.3180647296407211 -59923,0.782150590705159 -59924,0.40461360029100113 -59925,0.37929857603476214 -59926,0.24352333158907136 -59927,0.6690796536597662 -59928,0.44133332425783145 -59929,0.9180901024636241 -59930,0.8805045767635333 -59931,0.5723543321313818 -59932,0.8263386567472817 -59933,0.30547999528198855 -59934,0.6307608118955847 -59935,0.26767636868354816 -59936,0.996141710279051 -59937,0.8921861323124701 -59938,0.5250176775955875 -59939,0.23942926166169975 -59940,0.8040440793682775 -59941,0.47668464318589465 -59942,0.49864583070086144 -59943,0.48043391190874796 -59944,0.7858828733726833 -59945,0.8060757684919979 -59946,0.8131858083035841 -59947,0.07235534531845289 -59948,0.13445462319288792 -59949,0.10651632093916896 -59950,0.4461623785536767 -59951,0.5158093325614177 -59952,0.7312567605228427 -59953,0.11784974129991121 -59954,0.9049690116334843 -59955,0.29887242649732115 -59956,0.6822114361395589 -59957,0.8332485227028571 -59958,0.6586751553582677 -59959,0.2414669026884838 -59960,0.7556841798012445 -59961,0.7381724525222484 -59962,0.5692956670988067 -59963,0.7149484551311676 -59964,0.41348220938277824 -59965,0.8328168068160277 -59966,0.553670069524713 -59967,0.4457923999605057 -59968,0.42448549179860806 -59969,0.09896969121660437 -59970,0.9384429932605028 -59971,0.7076436639433555 -59972,0.824093081674872 -59973,0.5919447090777208 -59974,0.47760859641157694 -59975,0.8250266273113828 -59976,0.11389947031278014 -59977,0.7301059880223502 -59978,0.11996512148292626 -59979,0.7765306301022408 -59980,0.30498644629155935 -59981,0.4498158427359289 -59982,0.4162640142573464 -59983,0.6912580038193797 -59984,0.9398213878538478 -59985,0.5141254056728325 -59986,0.76790985948355 -59987,0.02491830385286098 -59988,0.6244053995484409 -59989,0.7345117763148054 -59990,0.4520905627058859 -59991,0.15611738705198053 -59992,0.14460684584131234 -59993,0.18314533034789426 -59994,0.3015427673664236 -59995,0.5048920945803872 -59996,0.8528006883731902 -59997,0.9813795376976073 -59998,0.3785687425718621 -59999,0.016010152838927705 -60000,0.23472306630716722 -60001,0.7143134244418592 -60002,0.7628203543333761 -60003,0.7976089152448951 -60004,0.04513299281591587 -60005,0.48527349666676944 -60006,0.5078053925084218 -60007,0.7444823896887359 -60008,0.9028828781691695 -60009,0.002551979096764745 -60010,0.8659786537060167 -60011,0.9372544650785656 -60012,0.7095689742764646 -60013,0.4444831487360874 -60014,0.6210362217575146 -60015,0.5184126441599433 -60016,0.24928262961635694 -60017,0.7368098611214977 -60018,0.9916220018170984 -60019,0.15735165217174252 -60020,0.10680842235938959 -60021,0.9125127896657574 -60022,0.4854918848628683 -60023,0.18744069301796795 -60024,0.9886550601028182 -60025,0.8150855558487722 -60026,0.8891233855908461 -60027,0.4215018604064925 -60028,0.6068741913921136 -60029,0.427459879126626 -60030,0.1903396394110234 -60031,0.6056761803389087 -60032,0.19608755728291005 -60033,0.19379400421108295 -60034,0.29312487543060795 -60035,0.9323044954779854 -60036,0.01827852440417521 -60037,0.6216591457351318 -60038,0.756803857697365 -60039,0.2144412873197068 -60040,0.4757746992393689 -60041,0.054790906994226285 -60042,0.45433667240513775 -60043,0.3820542310260743 -60044,0.7221447215362157 -60045,0.7865883720071805 -60046,0.2439558300678496 -60047,0.14916211139129254 -60048,0.7298945493603246 -60049,0.06446808670288384 -60050,0.8064555110553923 -60051,0.039210346222462555 -60052,0.6607372249798625 -60053,0.07554490941548231 -60054,0.37904790903812635 -60055,0.3990259837851925 -60056,0.6398453195662478 -60057,0.0007830462523755743 -60058,0.4980967447790563 -60059,0.8923459031232569 -60060,0.6613677717639487 -60061,0.6801626175378633 -60062,0.5572140175066256 -60063,0.06212650711661316 -60064,0.7600478430338217 -60065,0.43660277384355606 -60066,0.7936176938104663 -60067,0.985237927455842 -60068,0.7974946035539091 -60069,0.4621796175860936 -60070,0.9569474366624608 -60071,0.47947333896183086 -60072,0.9343394546272424 -60073,0.16465227477412225 -60074,0.5351502861590279 -60075,0.53157182482663 -60076,0.40255512444452946 -60077,0.44072609329899426 -60078,0.33776053367928727 -60079,0.7818309652076983 -60080,0.44200791800676875 -60081,0.6833286632507215 -60082,0.7900861485757507 -60083,0.5032277011806285 -60084,0.21222390944292724 -60085,0.8275510409928681 -60086,0.5545586047704578 -60087,0.12117368253609295 -60088,0.4280858305329521 -60089,0.11387834586838486 -60090,0.6038504211371177 -60091,0.8918511934408595 -60092,0.4442687988811316 -60093,0.3237730922389621 -60094,0.23949144627004126 -60095,0.31643191158558526 -60096,0.0919771413642756 -60097,0.2213555188845947 -60098,0.27011002743137935 -60099,0.008112634688102416 -60100,0.6297227792497555 -60101,0.7505215329984215 -60102,0.9274907327897386 -60103,0.5334916147340882 -60104,0.35190669065870817 -60105,0.5581758868580807 -60106,0.621148824626292 -60107,0.8306741388030683 -60108,0.6917135495932158 -60109,0.5574850240642815 -60110,0.7597318650878387 -60111,0.7322623947485168 -60112,0.7360175711277125 -60113,0.3374424344656365 -60114,0.344592739863402 -60115,0.15249527997237955 -60116,0.4298564269745817 -60117,0.9037682454188254 -60118,0.5536838904643403 -60119,0.467105611371765 -60120,0.48868634870211236 -60121,0.2519738011628083 -60122,0.3373926172375753 -60123,0.15974942698257877 -60124,0.5736727696506173 -60125,0.5938526330822468 -60126,0.20264137059219245 -60127,0.810325518120772 -60128,0.40889514496741275 -60129,0.012260910360458843 -60130,0.8505916139245409 -60131,0.33426631819086705 -60132,0.24226766008684708 -60133,0.007126100571973049 -60134,0.6068255026230331 -60135,0.20492152828797494 -60136,0.13525510514926975 -60137,0.511793038738137 -60138,0.2003381842800812 -60139,0.4093991640736502 -60140,0.6792381244831728 -60141,0.6362841951983326 -60142,0.6608532553505594 -60143,0.6104330642935862 -60144,0.5399032921083123 -60145,0.005795115062012912 -60146,0.1790076637979986 -60147,0.9856044564556814 -60148,0.9322834669221343 -60149,0.35109912852008485 -60150,0.34500350423286796 -60151,0.5495733541899979 -60152,0.06491408621625494 -60153,0.8165954120084606 -60154,0.1317924829085504 -60155,0.07784238936585886 -60156,0.41025569769041204 -60157,0.9583047676558121 -60158,0.4523235978968547 -60159,0.18679628043386787 -60160,0.5760633496726763 -60161,0.3298092073782797 -60162,0.9723493858074386 -60163,0.055615945214529394 -60164,0.3926821634541249 -60165,0.9409009422750484 -60166,0.4755987692086624 -60167,0.04407393737617249 -60168,0.5596383607248457 -60169,0.7313662590568543 -60170,0.05398346181403069 -60171,0.6040603201123983 -60172,0.7627291991258651 -60173,0.5113038249298129 -60174,0.6680953965903699 -60175,0.6412624051673562 -60176,0.9540120067119487 -60177,0.6447166188896782 -60178,0.18489625611206661 -60179,0.0009729162211441489 -60180,0.21598168979853016 -60181,0.42794800185839144 -60182,0.9781507641861671 -60183,0.03525801788017391 -60184,0.44893258797993574 -60185,0.22372865398298314 -60186,0.4632372473460299 -60187,0.7498469644617278 -60188,0.14473490420822088 -60189,0.840796413328046 -60190,0.6062575725045128 -60191,0.5426455833170463 -60192,0.03285276297129591 -60193,0.7767328761622747 -60194,0.9156005415375674 -60195,0.2798691694795037 -60196,0.858092794813188 -60197,0.07300368074745278 -60198,0.32057169266630725 -60199,0.27004761483472706 -60200,0.03479236659906659 -60201,0.9349474471593718 -60202,0.9179041552133571 -60203,0.9306246680702397 -60204,0.7295273899542883 -60205,0.9846683230605882 -60206,0.49327158067744215 -60207,0.1522090423227792 -60208,0.28252688030067596 -60209,0.8453917247617435 -60210,0.8877112317326169 -60211,0.4089912319751471 -60212,0.16342027772805834 -60213,0.10230778303388688 -60214,0.440679466702915 -60215,0.9898821241176475 -60216,0.7028705581628409 -60217,0.5069227975462912 -60218,0.6920034941840553 -60219,0.9022944016104038 -60220,0.4838042627866296 -60221,0.7140561791936187 -60222,0.4790854890917565 -60223,0.5376474054463004 -60224,0.9454726668393615 -60225,0.049940702292112005 -60226,0.44209651818344975 -60227,0.9957096467814572 -60228,0.748555256449345 -60229,0.4354315162021851 -60230,0.21204003540194716 -60231,0.6674742521903062 -60232,0.9574670499725543 -60233,0.3280808725892168 -60234,0.6629828307071017 -60235,0.9359629734601407 -60236,0.9320397589871736 -60237,0.13627510785680674 -60238,0.17733828610793212 -60239,0.6242300588254497 -60240,0.4449980410897494 -60241,0.3581800547877254 -60242,0.6420950532978615 -60243,0.9642307458783597 -60244,0.8891980173104383 -60245,0.8834050579769658 -60246,0.2839483073774658 -60247,0.4309146027519498 -60248,0.46550453290632365 -60249,0.38775690217045056 -60250,0.9535186224006765 -60251,0.2680658274478588 -60252,0.29007435297396356 -60253,0.7562135335521732 -60254,0.46300898196897144 -60255,0.3037435051491666 -60256,0.40504948321834977 -60257,0.5533630714562584 -60258,0.582002944753225 -60259,0.6308578274317119 -60260,0.5498722447996945 -60261,0.9834992167325248 -60262,0.2232487024536146 -60263,0.929345208707123 -60264,0.7097294311808104 -60265,0.4246986173103917 -60266,0.6307543170463324 -60267,0.8017337547774745 -60268,0.5617876047663393 -60269,0.689260089608907 -60270,0.31373378227164384 -60271,0.16383931718698808 -60272,0.7438110992926303 -60273,0.04417470447330474 -60274,0.45648724412814856 -60275,0.9010714236043187 -60276,0.3688645359186933 -60277,0.5859761320548644 -60278,0.8330213433930446 -60279,0.2947076351682918 -60280,0.10021287854224203 -60281,0.37317113420482073 -60282,0.16973609574261606 -60283,0.4505122698041464 -60284,0.42692947444913854 -60285,0.7960117658678078 -60286,0.9365886477914018 -60287,0.5474128998024166 -60288,0.3735141719023142 -60289,0.9875509167817953 -60290,0.8237324235737731 -60291,0.09391716445945864 -60292,0.009265708902802428 -60293,0.08624495617985084 -60294,0.513389575363935 -60295,0.7149836257521142 -60296,0.5890195242240379 -60297,0.2860723733168732 -60298,0.3337178650682453 -60299,0.8988209417984387 -60300,0.2988502292123355 -60301,0.4038312745369934 -60302,0.038952943983314836 -60303,0.8513051926006826 -60304,0.3227419694790121 -60305,0.2452696401990948 -60306,0.11440120162957657 -60307,0.9657605314204056 -60308,0.568980729685421 -60309,0.37303850369227864 -60310,0.9360182492103782 -60311,0.7617103528756696 -60312,0.8590523439881849 -60313,0.5778844942784015 -60314,0.2824253514368644 -60315,0.7440062918549691 -60316,0.9833069471366953 -60317,0.15992078401056564 -60318,0.20697869170887662 -60319,0.33456678100531356 -60320,0.877065881758553 -60321,0.6204739960625744 -60322,0.42962607194807856 -60323,0.4462092813668328 -60324,0.9870897942986389 -60325,0.6471903964894151 -60326,0.4942376997390462 -60327,0.20394109419718442 -60328,0.9570164956121193 -60329,0.9643289300542734 -60330,0.9821732780334612 -60331,0.9571569161982418 -60332,0.9749824866372664 -60333,0.34276816084304906 -60334,0.8568719482917846 -60335,0.8361380515043827 -60336,0.7835354618846425 -60337,0.7856777325095982 -60338,0.223357129500261 -60339,0.3326006190963652 -60340,0.9173882668320056 -60341,0.2999751548544436 -60342,0.7514834408109965 -60343,0.1818117310766162 -60344,0.3107243188762582 -60345,0.9740156444573848 -60346,0.3007456295549744 -60347,0.5326655225213992 -60348,0.7719033560532456 -60349,0.3759991688526415 -60350,0.3695711556395991 -60351,0.9084987546707306 -60352,0.7386833121037549 -60353,0.7333015172206877 -60354,0.8188651328341097 -60355,0.4733052367413393 -60356,0.03649918883528036 -60357,0.6760974858240892 -60358,0.8090832103809048 -60359,0.6903062268851528 -60360,0.8427705625856128 -60361,0.2727240706897158 -60362,0.20961667178310117 -60363,0.48549742239530913 -60364,0.9268594491486283 -60365,0.8947157137295186 -60366,0.7995084013709187 -60367,0.43835263781374145 -60368,0.6141127482552566 -60369,0.06404312403825041 -60370,0.38738563039208784 -60371,0.3953600858420676 -60372,0.32693616230362277 -60373,0.026796055673158903 -60374,0.3576978868086802 -60375,0.44626291668577833 -60376,0.16297669626952926 -60377,0.003109283101460636 -60378,0.2736615039081427 -60379,0.5081686528886061 -60380,0.4060196681858693 -60381,0.8670072652714452 -60382,0.5261506266996668 -60383,0.8534087064748679 -60384,0.9870749506036691 -60385,0.25203896981384255 -60386,0.009596540950722487 -60387,0.6660815429860365 -60388,0.36461427841063043 -60389,0.040313015747558634 -60390,0.06210616705226735 -60391,0.9835731438659281 -60392,0.13142599098203134 -60393,0.7450411037090809 -60394,0.9722409082676633 -60395,0.03998676664187506 -60396,0.49708249659179926 -60397,0.41423896181691133 -60398,0.7376645585600228 -60399,0.22112761458416474 -60400,0.9329301745336874 -60401,0.5206713364360974 -60402,0.32748964358159616 -60403,0.37106415010912985 -60404,0.896580777979023 -60405,0.12118623598845413 -60406,0.4957976335663208 -60407,0.686784397183249 -60408,0.7864957885965594 -60409,0.2085676859631499 -60410,0.049927981385250675 -60411,0.7902660600462701 -60412,0.46735893200065837 -60413,0.6142212560421242 -60414,0.42962634707545766 -60415,0.8264152676204511 -60416,0.07854734454538603 -60417,0.3291189906352846 -60418,0.9454044302927403 -60419,0.5440615322360368 -60420,0.33514170002251353 -60421,0.0574659303430296 -60422,0.06343077335174119 -60423,0.5751777553126495 -60424,0.10037301786276098 -60425,0.7365800618443175 -60426,0.7616178901483205 -60427,0.2785496204810486 -60428,0.0909621594900546 -60429,0.9107882895751287 -60430,0.3999502856965227 -60431,0.5785616101665324 -60432,0.2870912292364074 -60433,0.6958216457055314 -60434,0.6580424465018867 -60435,0.042513736422349235 -60436,0.7895750126231177 -60437,0.30353554732961485 -60438,0.9550488088470334 -60439,0.16684024333586156 -60440,0.5699115197437448 -60441,0.13312254654118505 -60442,0.22571948295265165 -60443,0.15089305569226463 -60444,0.9582944357663942 -60445,0.022382315082625448 -60446,0.41292542335043647 -60447,0.3498756802504407 -60448,0.262406407980908 -60449,0.5920753174853809 -60450,0.10162730745853055 -60451,0.27917851856343323 -60452,0.9492089050062211 -60453,0.7748319173995738 -60454,0.45822080018597655 -60455,0.9758360338684797 -60456,0.8690482591824376 -60457,0.41023801432281004 -60458,0.6704694320206855 -60459,0.036578421214164436 -60460,0.4387887824990122 -60461,0.6342523022080202 -60462,0.9300409870209851 -60463,0.4414353711392405 -60464,0.7725323768513623 -60465,0.6195239402577413 -60466,0.30501250215080145 -60467,0.9001500931357853 -60468,0.31203797777158004 -60469,0.9269964690740529 -60470,0.15194914693809147 -60471,0.879098111729628 -60472,0.16778220616133355 -60473,0.1371607173378362 -60474,0.8101744854039923 -60475,0.7977748075219534 -60476,0.09200275096578925 -60477,0.34407242429361984 -60478,0.5489761024129708 -60479,0.7125626522689906 -60480,0.5980337255025686 -60481,0.5801611472609316 -60482,0.8245113754806958 -60483,0.9848502806867974 -60484,0.8586294657421594 -60485,0.7943584108263845 -60486,0.801694249124471 -60487,0.9696663322601875 -60488,0.36803168385852136 -60489,0.4373383935452715 -60490,0.3650775194273349 -60491,0.2821697119992598 -60492,0.1571806679359018 -60493,0.11529948173268323 -60494,0.8237165395559183 -60495,0.5416138029274558 -60496,0.010464792617373764 -60497,0.769960346382129 -60498,0.5400947357327217 -60499,0.3955640510187157 -60500,0.15744105585933077 -60501,0.7472033691313691 -60502,0.7037871233014192 -60503,0.03873867275862708 -60504,0.9676748714604544 -60505,0.042817664953038626 -60506,0.21579233984958412 -60507,0.3841550843850373 -60508,0.8588669089264647 -60509,0.8773308038909677 -60510,0.10364276592455535 -60511,0.9352527167197994 -60512,0.14018040009076294 -60513,0.8578800686805754 -60514,0.39685726140817346 -60515,0.3819052262463618 -60516,0.68309782724071 -60517,0.6270111127803503 -60518,0.8730649027327722 -60519,0.4221527125310476 -60520,0.8510216730483785 -60521,0.07894323493437638 -60522,0.9352451677776092 -60523,0.6763085551214817 -60524,0.3911811934353985 -60525,0.8574758516226538 -60526,0.3073895644172806 -60527,0.0501297599837347 -60528,0.09680173263310399 -60529,0.9511053992425971 -60530,0.2659509692207609 -60531,0.4463644369123335 -60532,0.9807282575039907 -60533,0.695383686565658 -60534,0.07389173880285849 -60535,0.2834633144818305 -60536,0.3976807482918886 -60537,0.9005406851371954 -60538,0.8649315236796191 -60539,0.02393975035478002 -60540,0.137366645552498 -60541,0.5604033912414642 -60542,0.9086649844010781 -60543,0.9823198155100114 -60544,0.4771653021201353 -60545,0.6675351155770844 -60546,0.5655944591463006 -60547,0.7433029403140115 -60548,0.16863559461335986 -60549,0.635040214545041 -60550,0.5467537321452713 -60551,0.28244794730888545 -60552,0.019310497333522192 -60553,0.7937900499905192 -60554,0.2581724986783067 -60555,0.7004733969932305 -60556,0.6608199081449326 -60557,0.5486619228537697 -60558,0.39608549050114716 -60559,0.2819722165398242 -60560,0.1510414217051329 -60561,0.46838277378103654 -60562,0.6454456634713047 -60563,0.05907980967538051 -60564,0.42178127775182617 -60565,0.8603332592997788 -60566,0.060094843455117175 -60567,0.2327483838704285 -60568,0.703062697608503 -60569,0.13837802771240715 -60570,0.8004056330700424 -60571,0.19939436686613343 -60572,0.5158338236656774 -60573,0.15463399907565356 -60574,0.06186513573702601 -60575,0.49071700668859874 -60576,0.19741378297751355 -60577,0.09979622318161674 -60578,0.6251029002534635 -60579,0.038657359645200784 -60580,0.34595753925567063 -60581,0.9230919987885087 -60582,0.949399435662338 -60583,0.7037591458259558 -60584,0.694629775160616 -60585,0.6135063568541252 -60586,0.8999337456081548 -60587,0.6388466198903485 -60588,0.4481564069247784 -60589,0.8350843430171332 -60590,0.7526811520600937 -60591,0.7450904348928342 -60592,0.20808782446329843 -60593,0.17089147146826522 -60594,0.7304248324834992 -60595,0.7875940020432792 -60596,0.5738093382110293 -60597,0.3825731845385394 -60598,0.7001465318413753 -60599,0.8101482362117526 -60600,0.89176025549669 -60601,0.7435443537707115 -60602,0.03621261884530669 -60603,0.8700146317819262 -60604,0.4655966761808825 -60605,0.5750250111406353 -60606,0.8455939845371756 -60607,0.9261514967155381 -60608,0.624779195437719 -60609,0.34591304142917123 -60610,0.9463952584895425 -60611,0.11015853883774962 -60612,0.8639738816695408 -60613,0.7928280317266901 -60614,0.16976438331512844 -60615,0.6690837130343374 -60616,0.5114972824202485 -60617,0.5194888666878962 -60618,0.9795001901763725 -60619,0.25601804547446816 -60620,0.1473241116446239 -60621,0.5787693315378838 -60622,0.6175107289901439 -60623,0.3287350681934015 -60624,0.9629552845315823 -60625,0.18065483832060747 -60626,0.4459080299792243 -60627,0.3495994354306239 -60628,0.263053299348986 -60629,0.7965716050985585 -60630,0.010250678534586388 -60631,0.7920044160392505 -60632,0.7660365730137189 -60633,0.07706742849556925 -60634,0.17252053150602098 -60635,0.8835458553783481 -60636,0.5096395674037714 -60637,0.14690927360723094 -60638,0.7103974092501539 -60639,0.649236522603263 -60640,0.12866225226432837 -60641,0.35158233192388766 -60642,0.7742532813336109 -60643,0.779177001742688 -60644,0.8487633633432996 -60645,0.55717257435382 -60646,0.20818906441289753 -60647,0.6985762800104364 -60648,0.7963054942698145 -60649,0.19539056380146624 -60650,0.9419935514381338 -60651,0.033055975184248076 -60652,0.41327645364518817 -60653,0.9512542101171887 -60654,0.6388795491123564 -60655,0.8056756731410444 -60656,0.794895084152369 -60657,0.5777605094547379 -60658,0.292776100032463 -60659,0.18914328588478968 -60660,0.9163411154562633 -60661,0.27543972349706414 -60662,0.5619880615826098 -60663,0.3776124030665836 -60664,0.8094107728079565 -60665,0.3099314011537606 -60666,0.6927632597160555 -60667,0.010507574444385659 -60668,0.9981364959553956 -60669,0.3249506615318727 -60670,0.25758341837185317 -60671,0.11952030031840521 -60672,0.5440793127175395 -60673,0.2798097435212853 -60674,0.476383329434373 -60675,0.0114860798677896 -60676,0.29444356835751995 -60677,0.19058117247929507 -60678,0.2769219882726236 -60679,0.578794773833795 -60680,0.0788857601069598 -60681,0.937821297868715 -60682,0.424864618933223 -60683,0.8735422318202819 -60684,0.4644667099866334 -60685,0.4660791632713278 -60686,0.6387403666085079 -60687,0.5377701307708594 -60688,0.03501323900364317 -60689,0.9430276813684839 -60690,0.6799225526191162 -60691,0.404410257332781 -60692,0.11968941726148097 -60693,0.666253329398174 -60694,0.5583850046580549 -60695,0.33935733731375484 -60696,0.3272080116086842 -60697,0.03691915262588763 -60698,0.832272686195253 -60699,0.48348200462303426 -60700,0.4503008481010119 -60701,0.5131267944484788 -60702,0.21750722705780023 -60703,0.91572755524634 -60704,0.060563464356446106 -60705,0.5145360439167669 -60706,0.8749006155206926 -60707,0.26206209299017424 -60708,0.6325492466312689 -60709,0.520372206556745 -60710,0.03899779600021436 -60711,0.27638043604637097 -60712,0.12341121510533803 -60713,0.1968655950210766 -60714,0.6242339618189414 -60715,0.8864871200431887 -60716,0.16840884186782346 -60717,0.41034621611892674 -60718,0.12711642211604512 -60719,0.9338674418119539 -60720,0.5283899314311783 -60721,0.3866518996553464 -60722,0.005839933762179728 -60723,0.5498887721693524 -60724,0.7988892058418675 -60725,0.3185167650359516 -60726,0.2730343415003761 -60727,0.7827306077343226 -60728,0.150645982189049 -60729,0.11308181351518054 -60730,0.410202700658752 -60731,0.2474393150404407 -60732,0.9386279881290215 -60733,0.28279925298351793 -60734,0.23237616599976507 -60735,0.102637157708792 -60736,0.01122826913331254 -60737,0.6002908164881567 -60738,0.6858641469194676 -60739,0.24617898665284765 -60740,0.7335286787811673 -60741,0.007788377429931326 -60742,0.9366833348418976 -60743,0.04797728096277387 -60744,0.048819395834776014 -60745,0.7911517722804703 -60746,0.7989440735664981 -60747,0.2856442313006128 -60748,0.7513976748237662 -60749,0.8414914793770738 -60750,0.3362836686517253 -60751,0.43379941167591396 -60752,0.5229212400000759 -60753,0.693042022103854 -60754,0.7520248551900086 -60755,0.6348878124211537 -60756,0.5759531155023075 -60757,0.510136256716494 -60758,0.8469041141536341 -60759,0.6856123222417645 -60760,0.20473438063845406 -60761,0.6970894582159513 -60762,0.7104055600524681 -60763,0.5037876949596678 -60764,0.6269375761830286 -60765,0.7478618465196806 -60766,0.9665188623713392 -60767,0.5608263588798146 -60768,0.42960091587848004 -60769,0.9255272086559451 -60770,0.27418246312555683 -60771,0.15100284466624947 -60772,0.5750156529986516 -60773,0.8371470367002599 -60774,0.8463813980011037 -60775,0.24923266099351638 -60776,0.9540392424889779 -60777,0.40419248782502226 -60778,0.8299733664447316 -60779,0.20328041428145727 -60780,0.466682001499224 -60781,0.011751010758507263 -60782,0.717336237443921 -60783,0.19165402499756368 -60784,0.23332449850485004 -60785,0.4336575323818157 -60786,0.44569373045172966 -60787,0.3574645495562292 -60788,0.10414968012604697 -60789,0.11375025484130352 -60790,0.295179234558844 -60791,0.5030696514497707 -60792,0.20583063217997877 -60793,0.5533596131793073 -60794,0.8098360062769752 -60795,0.05812483693641546 -60796,0.921824362684588 -60797,0.7410421768330056 -60798,0.847691325759281 -60799,0.9529636759517783 -60800,0.9847598438823956 -60801,0.8430254672764524 -60802,0.6369284893925752 -60803,0.5692438136875161 -60804,0.6121876788989806 -60805,0.8242064121289656 -60806,0.19071964750996484 -60807,0.7605599701121742 -60808,0.7114489727596267 -60809,0.14727463692428644 -60810,0.9666313251596552 -60811,0.12510973042173412 -60812,0.23834092930898187 -60813,0.6319301354438047 -60814,0.25601862812023446 -60815,0.8725947218687106 -60816,0.9000427067061952 -60817,0.9426350664455642 -60818,0.0418809153195131 -60819,0.3054967985481769 -60820,0.5151631265540293 -60821,0.7578500922131561 -60822,0.7889395488887381 -60823,0.5138765286871483 -60824,0.3413605753638297 -60825,0.20524766957349527 -60826,0.1406805799550278 -60827,0.8417845704583834 -60828,0.24038325969527574 -60829,0.016749388047736402 -60830,0.21709782312557957 -60831,0.37586958827297556 -60832,0.6207872949847599 -60833,0.05768848863237963 -60834,0.6856180077787273 -60835,0.7102757498040181 -60836,0.010016418861801046 -60837,0.15326726803296542 -60838,0.7059331103547519 -60839,0.6697184241383891 -60840,0.049577674557914286 -60841,0.2218129721865606 -60842,0.26769764852117284 -60843,0.05311067762090005 -60844,0.3744936826804489 -60845,0.3332480338589445 -60846,0.8918380866741357 -60847,0.7530042498366484 -60848,0.5315791259908318 -60849,0.16655795686763386 -60850,0.7213318681741137 -60851,0.27341219780788495 -60852,0.056868902897726836 -60853,0.7532725017198805 -60854,0.9685335334520161 -60855,0.7726740955418088 -60856,0.45976886110488635 -60857,0.7317601219016365 -60858,0.1732466763057151 -60859,0.0836382717660421 -60860,0.8263545484272895 -60861,0.8219515109101514 -60862,0.9864903268597012 -60863,0.36420074423360915 -60864,0.6123178203929345 -60865,0.33520503738654195 -60866,0.975042875446953 -60867,0.8340371364539616 -60868,0.7908145685674532 -60869,0.4117910729198988 -60870,0.855380985375948 -60871,0.4726016066097739 -60872,0.10041353665579167 -60873,0.44704894377437854 -60874,0.18086560218423453 -60875,0.4764982245050535 -60876,0.6988817159764374 -60877,0.1748183226266753 -60878,0.07581815397125091 -60879,0.464064699392565 -60880,0.5930165098466488 -60881,0.2745920352043001 -60882,0.2793444198749059 -60883,0.687724344105725 -60884,0.12469640345859234 -60885,0.41114635983305103 -60886,0.3458108832621085 -60887,0.9677157668721948 -60888,0.1423681727452094 -60889,0.9031930441960175 -60890,0.14181811155669277 -60891,0.46695552575139887 -60892,0.11394084548284422 -60893,0.7925491865971644 -60894,0.5640775270142935 -60895,0.41482767405821674 -60896,0.7356346353124025 -60897,0.5234392525189022 -60898,0.6142829376777956 -60899,0.38118108818341323 -60900,0.187564747850814 -60901,0.21052400721457754 -60902,0.11931838705328435 -60903,0.34921794805744877 -60904,0.7740444994448588 -60905,0.8304254019887478 -60906,0.6346821735348661 -60907,0.28493200356030934 -60908,0.47628293123515786 -60909,0.17216803323693075 -60910,0.9515177558197586 -60911,0.22254117783996863 -60912,0.21799822065333785 -60913,0.45613118861721547 -60914,0.8386443201815127 -60915,0.26141202414525677 -60916,0.040018903095158986 -60917,0.797004557443316 -60918,0.25336762808957636 -60919,0.15643707230162618 -60920,0.611935326716826 -60921,0.0020258010392378845 -60922,0.2727106002362528 -60923,0.9275905819948653 -60924,0.44622960314734006 -60925,0.6300618246255487 -60926,0.7512480825646306 -60927,0.8946551743654194 -60928,0.24460223659112468 -60929,0.18755089578954587 -60930,0.13597735761952023 -60931,0.9712235275272278 -60932,0.7443612355989118 -60933,0.7678948182572914 -60934,0.05490574087086286 -60935,0.8547683666460446 -60936,0.8720863711842815 -60937,0.8670715247511129 -60938,0.3820956687092393 -60939,0.1699392435484488 -60940,0.9366419262226204 -60941,0.5472932477169109 -60942,0.5986608203299343 -60943,0.648402661156745 -60944,0.19575454204613485 -60945,0.18985063190208618 -60946,0.026282645277116656 -60947,0.4874472166992242 -60948,0.14428110649955317 -60949,0.12490348185116806 -60950,0.2962488621149829 -60951,0.502160145035868 -60952,0.9692826711325087 -60953,0.01849662418621678 -60954,0.85332126798029 -60955,0.5370489448543575 -60956,0.780428681185488 -60957,0.0683020054393948 -60958,0.733784301132701 -60959,0.3498707646479361 -60960,0.4609345327920913 -60961,0.5935229419005628 -60962,0.12372429148035136 -60963,0.8351337647629771 -60964,0.8688425001846074 -60965,0.46256241731497205 -60966,0.8302151186250627 -60967,0.1468773507150356 -60968,0.3882211142258791 -60969,0.7763499466837749 -60970,0.7600766682561634 -60971,0.314619375147542 -60972,0.43056519139291916 -60973,0.12740996520117864 -60974,0.739460433230201 -60975,0.7981456275094543 -60976,0.0803866415698381 -60977,0.6496666786661766 -60978,0.7663258837459531 -60979,0.8721795833388039 -60980,0.27030040008785927 -60981,0.21115522810825282 -60982,0.754798105331317 -60983,0.7513787445722822 -60984,0.8047502231730863 -60985,0.692904547457086 -60986,0.9649309249367227 -60987,0.9519260349807338 -60988,0.7129095626581134 -60989,0.4913172449794597 -60990,0.011237894811024107 -60991,0.5445085801577686 -60992,0.9045271952207292 -60993,0.44955137841340875 -60994,0.21880997227786403 -60995,0.17116566546224243 -60996,0.1288244101980951 -60997,0.027295798902811308 -60998,0.9820739604102646 -60999,0.18629267936598692 -61000,0.7070790841192293 -61001,0.5194369397649491 -61002,0.1064485668188967 -61003,0.34559919761627445 -61004,0.3754714188941427 -61005,0.26108158485530497 -61006,0.292866667143189 -61007,0.863605011459071 -61008,0.55369365317175 -61009,0.813659200095572 -61010,0.3774868180418326 -61011,0.5006150593332047 -61012,0.8560371200468758 -61013,0.3624266803886589 -61014,0.8941185767477647 -61015,0.8508486939732274 -61016,0.11780142554844797 -61017,0.23008253411703095 -61018,0.3064988897335097 -61019,0.3146387542287058 -61020,0.2785555047323195 -61021,0.23457619725257617 -61022,0.5031245254035821 -61023,0.5328686884944195 -61024,0.7676135648116067 -61025,0.11921240789459087 -61026,0.07348741288364236 -61027,0.6833287087092184 -61028,0.1841196881693249 -61029,0.20592839747788816 -61030,0.5249206063437765 -61031,0.6766341526066126 -61032,0.6136246558797059 -61033,0.46822098122630396 -61034,0.8797178665186712 -61035,0.08492769909108133 -61036,0.6982357840838281 -61037,0.16139591907908934 -61038,0.1789871218640149 -61039,0.2198266810480396 -61040,0.9104872492617725 -61041,0.6822788795125758 -61042,0.1797716103012773 -61043,0.2803941260475016 -61044,0.029182335025352057 -61045,0.8737860363347238 -61046,0.018310417003619572 -61047,0.3184853475539462 -61048,0.6763884793569541 -61049,0.9634771810305 -61050,0.4499026609239335 -61051,0.7546053277882193 -61052,0.7975498791032077 -61053,0.5353623327590149 -61054,0.746690034400055 -61055,0.7843599358098341 -61056,0.3525423778470562 -61057,0.7981852157725926 -61058,0.033317101365469504 -61059,0.2370331184135671 -61060,0.6428745789715953 -61061,0.9677845686343474 -61062,0.17567092164263165 -61063,0.848814555279693 -61064,0.9877684467317419 -61065,0.6284782453514923 -61066,0.8182833004588344 -61067,0.03174099628460236 -61068,0.8657759782539698 -61069,0.22525502860251567 -61070,0.31793058937929586 -61071,0.08128054376066207 -61072,0.6843798768048824 -61073,0.2705712644293119 -61074,0.1004682861059959 -61075,0.045088445280191514 -61076,0.7847617643592035 -61077,0.38917862528289615 -61078,0.48569992885914104 -61079,0.10166189721850827 -61080,0.9736122992188115 -61081,0.5394355388251926 -61082,0.05347869327080701 -61083,0.7594431111092502 -61084,0.5877743543428334 -61085,0.9801994869144448 -61086,0.5406992483767296 -61087,0.9242174996071407 -61088,0.44836511429325043 -61089,0.02721826540779182 -61090,0.8820873854595466 -61091,0.5707654309108546 -61092,0.7496815798932009 -61093,0.05425431674167969 -61094,0.6812524762769434 -61095,0.7781697268716818 -61096,0.6571156679850596 -61097,0.9116020483338837 -61098,0.5359953274823858 -61099,0.9353961564084896 -61100,0.4278187773498323 -61101,0.06480052983978757 -61102,0.4511178893132386 -61103,0.042331273117868884 -61104,0.1449915900578559 -61105,0.3671419772787905 -61106,0.8906032006166238 -61107,0.18962862875586328 -61108,0.22996754855732338 -61109,0.06505427937254593 -61110,0.5616263426169105 -61111,0.6551933124949344 -61112,0.6170807188190299 -61113,0.7492033086207347 -61114,0.3881616955133229 -61115,0.9034995906962131 -61116,0.5194379048836177 -61117,0.48904618049908144 -61118,0.4216987874131102 -61119,0.9379186123692663 -61120,0.9032147770838321 -61121,0.9920019659632713 -61122,0.14927292297207784 -61123,0.9651964220789543 -61124,0.5366436428035576 -61125,0.8020116021806841 -61126,0.7310911698379747 -61127,0.8372412218111268 -61128,0.9174705237689327 -61129,0.26618166154229284 -61130,0.9794589870553868 -61131,0.9359468884295044 -61132,0.7095824713492348 -61133,0.1587553933662854 -61134,0.7277347780270803 -61135,0.11034548354735396 -61136,0.18111692375227006 -61137,0.5447882472348126 -61138,0.7823932761656628 -61139,0.23740348370769504 -61140,0.4574733402104284 -61141,0.8260601993000265 -61142,0.24484937043901123 -61143,0.8375080252349499 -61144,0.07742238584808236 -61145,0.6945612291781483 -61146,0.06695853287784259 -61147,0.23320651723697694 -61148,0.4035634118028991 -61149,0.047036127839083175 -61150,0.846085890372871 -61151,0.9770896241199962 -61152,0.9036419449791124 -61153,0.6641121352559759 -61154,0.8949759667839009 -61155,0.5873015721699707 -61156,0.521730131564791 -61157,0.6248241378991761 -61158,0.0867411039896675 -61159,0.9663921498468384 -61160,0.7225074690575494 -61161,0.6726019093128704 -61162,0.8434811378633097 -61163,0.4710533907438519 -61164,0.5554629511538727 -61165,0.5215718108526465 -61166,0.9184503053506897 -61167,0.3476383137427057 -61168,0.20491624314367696 -61169,0.04074653249625515 -61170,0.5942021029517951 -61171,0.22551437988074807 -61172,0.7328658865492826 -61173,0.9689834409767842 -61174,0.5474436081099296 -61175,0.7493114358562712 -61176,0.3602000663192878 -61177,0.35093041714349016 -61178,0.9923907643880845 -61179,0.33793777449700246 -61180,0.7287372411292128 -61181,0.07369248397619743 -61182,0.5326469981683009 -61183,0.8545838078277946 -61184,0.4198924018668352 -61185,0.22669722517343227 -61186,0.7363200003297292 -61187,0.3056525688496238 -61188,0.6679828347621252 -61189,0.03620114785653483 -61190,0.13372247342254906 -61191,0.25995905913116446 -61192,0.7058403971542876 -61193,0.041404871921725594 -61194,0.18206685094749264 -61195,0.4080940215540717 -61196,0.9934556045334174 -61197,0.4401870704108821 -61198,0.8259453125024007 -61199,0.7128489916776022 -61200,0.35811057311084094 -61201,0.3764962199902602 -61202,0.10688677184838213 -61203,0.7547970267949785 -61204,0.03447733896803884 -61205,0.1802937863746552 -61206,0.13826351198839393 -61207,0.42085075438003194 -61208,0.22295993808178938 -61209,0.7715833236220881 -61210,0.19629654306492206 -61211,0.6189614670362159 -61212,0.46349508298871944 -61213,0.48462126084646606 -61214,0.3655064399243695 -61215,0.012596426731725785 -61216,0.19939100689757927 -61217,0.046606570403569414 -61218,0.8038718179662827 -61219,0.7809879125871948 -61220,0.9910466782628796 -61221,0.5330686084475398 -61222,0.8961340177064355 -61223,0.6027877846920813 -61224,0.9380622729169977 -61225,0.9870324044523979 -61226,0.3461178408791058 -61227,0.5756297911631735 -61228,0.676489895119898 -61229,0.4768004032643848 -61230,0.08774063120224695 -61231,0.83626889991235 -61232,0.03432087266052142 -61233,0.36839629702835663 -61234,0.6930042165922998 -61235,0.44405958427640135 -61236,0.92072702630772 -61237,0.858107181570051 -61238,0.033835789286437046 -61239,0.6578631097839202 -61240,0.2487087334141752 -61241,0.39395423017623377 -61242,0.2646683926104232 -61243,0.056120508352467846 -61244,0.9175696658094525 -61245,0.3907118106014682 -61246,0.9601880011618242 -61247,0.4821050326364208 -61248,0.5288438585195258 -61249,0.7659046068900452 -61250,0.7523658394946151 -61251,0.8271534570475348 -61252,0.7523656494101957 -61253,0.8796824646621271 -61254,0.30181489737895884 -61255,0.9481034180481795 -61256,0.7988433516187261 -61257,0.1536807531984884 -61258,0.26358102681074624 -61259,0.6239165820787524 -61260,0.24986866473478042 -61261,0.8587194174522176 -61262,0.6571686520515018 -61263,0.8971037892001333 -61264,0.36942569421436444 -61265,0.1876389629694718 -61266,0.45060735016859876 -61267,0.9740342738585073 -61268,0.9031399440249251 -61269,0.5283290294811153 -61270,0.5291365913931843 -61271,0.5150128287617722 -61272,0.5115795734408849 -61273,0.20067543762193352 -61274,0.9478899029393201 -61275,0.9334998184485666 -61276,0.4843759744961519 -61277,0.1718887268682473 -61278,0.47830742565356077 -61279,0.8192861628142692 -61280,0.7035080752844146 -61281,0.6379665555231743 -61282,0.5058621772280247 -61283,0.17475104504665273 -61284,0.8399433968358432 -61285,0.1366873861521276 -61286,0.5940900465229758 -61287,0.8265125012753634 -61288,0.36115953492630837 -61289,0.07509950678302268 -61290,0.2049443128654489 -61291,0.011980262857720136 -61292,0.7652514014060093 -61293,0.15163840425925157 -61294,0.71275646175265 -61295,0.04497774060748583 -61296,0.7645914091699219 -61297,0.29658097594079624 -61298,0.03593327005459446 -61299,0.8828227791308303 -61300,0.5553353120272418 -61301,0.28841923075062836 -61302,0.78107369557031 -61303,0.7314767829990755 -61304,0.5296452112736993 -61305,0.6899040550783737 -61306,0.07079354650923031 -61307,0.12271912034821697 -61308,0.8444652471219348 -61309,0.7824664381816477 -61310,0.5766618282811923 -61311,0.4667231120487013 -61312,0.6426624400923396 -61313,0.6446017006482814 -61314,0.25907120020706975 -61315,0.21949358044345857 -61316,0.1407656936931505 -61317,0.6154158109669349 -61318,0.4666607459309041 -61319,0.8978022909673096 -61320,0.47465347853517326 -61321,0.5475946056863032 -61322,0.3242502885391648 -61323,0.30177148271585663 -61324,0.8970841730712149 -61325,0.8571171394551442 -61326,0.27635499845788425 -61327,0.26407408967087964 -61328,0.6281893525231343 -61329,0.687130477159988 -61330,0.6247591461782658 -61331,0.16487518627300668 -61332,0.6490510013973406 -61333,0.6803542443847688 -61334,0.29029818396001605 -61335,0.6875145310294397 -61336,0.10862737969189462 -61337,0.2368722800008246 -61338,0.7309121703098669 -61339,0.9206337308363564 -61340,0.5685654619487236 -61341,0.9125448168322999 -61342,0.9175573421450233 -61343,0.12537996234080806 -61344,0.359463101031296 -61345,0.5545767369163543 -61346,0.014028755210534483 -61347,0.015403258833939004 -61348,0.6713490203351644 -61349,0.7049108982293749 -61350,0.672363673157193 -61351,0.021158418301294613 -61352,0.5409130988620048 -61353,0.1653197984560003 -61354,0.8864397766092543 -61355,0.46936207473501856 -61356,0.30751084033445397 -61357,0.511670007078339 -61358,0.9443923605901973 -61359,0.6484872278324308 -61360,0.5943786243206748 -61361,0.759826179330404 -61362,0.9831088512098183 -61363,0.9312549035524038 -61364,0.8937476837864065 -61365,0.36852038342109195 -61366,0.5868305250762696 -61367,0.0662762455830106 -61368,0.7849047779179665 -61369,0.9278024094182618 -61370,0.874897927720698 -61371,0.19955082002757119 -61372,0.10484016036697008 -61373,0.7972357658835145 -61374,0.11426390245576146 -61375,0.7333120080184381 -61376,0.9415162680927537 -61377,0.7201183041639185 -61378,0.7830596004396909 -61379,0.7024301387408683 -61380,0.16757478796518854 -61381,0.33002317730072717 -61382,0.6816290321832885 -61383,0.3999816179628761 -61384,0.31290862713223444 -61385,0.21488835913405346 -61386,0.11940112607316666 -61387,0.6469284430460778 -61388,0.7588245499278988 -61389,0.5896887261836633 -61390,0.5113120469654954 -61391,0.5856939260762152 -61392,0.7902098110765006 -61393,0.9606815727420007 -61394,0.4472057653253039 -61395,0.13905933805198878 -61396,0.023786115380344253 -61397,0.2749651742156983 -61398,0.9060104141659259 -61399,0.6284128627525496 -61400,0.8583002776147063 -61401,0.13519616020322378 -61402,0.41367228639940823 -61403,0.7482139973083655 -61404,0.22851339948105165 -61405,0.06600922916935748 -61406,0.4404227328354817 -61407,0.8209127340608166 -61408,0.4203050810348442 -61409,0.5386830720893283 -61410,0.6522544488437431 -61411,0.7410525705081927 -61412,0.588730962510445 -61413,0.26435744451438414 -61414,0.3276934818188598 -61415,0.16339118913193829 -61416,0.7761572719953268 -61417,0.7709250933151812 -61418,0.7109383409743445 -61419,0.30167318984858327 -61420,0.11872353970144289 -61421,0.8636636531010718 -61422,0.2994542909859721 -61423,0.4947910571903583 -61424,0.3383125481991699 -61425,0.20909014931439762 -61426,0.3111052659972525 -61427,0.912320955457694 -61428,0.07574898705892064 -61429,0.6037117425840152 -61430,0.7796048397238101 -61431,0.3851280167022386 -61432,0.5670088001159357 -61433,0.2547017079290136 -61434,0.06294486573243885 -61435,0.13996523487521662 -61436,0.43285515413145337 -61437,0.707208033255265 -61438,0.7367717500683231 -61439,0.6729568836452963 -61440,0.8721335175367078 -61441,0.39219928132456783 -61442,0.3407715296009656 -61443,0.7206970870091909 -61444,0.7714022435566328 -61445,0.36931327419643023 -61446,0.02502698632472422 -61447,0.735274497180956 -61448,0.5067549796321719 -61449,0.6564736412546647 -61450,0.1053998228653018 -61451,0.9477300953701318 -61452,0.9548575001415588 -61453,0.9816155582191015 -61454,0.6630182068093755 -61455,0.8221247999611255 -61456,0.2995249627531511 -61457,0.06148916246452529 -61458,0.4009504070590888 -61459,0.18715336121728743 -61460,0.7254849762113021 -61461,0.73345806285121 -61462,0.8806709952276338 -61463,0.23043008723268288 -61464,0.7226260997673712 -61465,0.6518270556314036 -61466,0.9121368359509249 -61467,0.05715591168626255 -61468,0.3866279088556318 -61469,0.03666667628477638 -61470,0.2479946052280243 -61471,0.6550315581346096 -61472,0.545439741647864 -61473,0.13560925559318326 -61474,0.3319358113042882 -61475,0.6412488340441252 -61476,0.10567421544682964 -61477,0.06858919270653108 -61478,0.3748898165147988 -61479,0.457618116498272 -61480,0.6052882696878812 -61481,0.6064298402352326 -61482,0.6307550968706077 -61483,0.8634497020644051 -61484,0.9661810649851679 -61485,0.34850604594972356 -61486,0.15817710286044295 -61487,0.12255268997547297 -61488,0.8852713192077691 -61489,0.21608832003178213 -61490,0.25306657131886345 -61491,0.04773424333337062 -61492,0.6036681258200769 -61493,0.18558631285141824 -61494,0.549992348508213 -61495,0.9786165401615754 -61496,0.3759630224785008 -61497,0.6599905072176419 -61498,0.4148663260618275 -61499,0.2851132412474279 -61500,0.30119046078958767 -61501,0.003470232053514599 -61502,0.4766390436468486 -61503,0.4675667393229269 -61504,0.24960094656071374 -61505,0.8814952032106167 -61506,0.432376579981571 -61507,0.8431552271485293 -61508,0.45459074654856524 -61509,0.7726510725246253 -61510,0.8555885185503174 -61511,0.761964421218752 -61512,0.13548295359774865 -61513,0.8830995433388332 -61514,0.749940210900935 -61515,0.5457577759758653 -61516,0.9069471427125296 -61517,0.669046111728175 -61518,0.6525476735106049 -61519,0.46530314084793434 -61520,0.5548420749442897 -61521,0.9942446229975191 -61522,0.6905154733018879 -61523,0.9439367927738085 -61524,0.45121121682445997 -61525,0.4221348989893364 -61526,0.9309754801817041 -61527,0.08531542682436655 -61528,0.6816031545484941 -61529,0.2719861030707881 -61530,0.5552649178874425 -61531,0.4266969736219248 -61532,0.8394558819577075 -61533,0.6771825600773366 -61534,0.26580063495737827 -61535,0.2085963452049211 -61536,0.8268884170835602 -61537,0.9934734965900632 -61538,0.2679298926614567 -61539,0.12055679761334348 -61540,0.8961726301604014 -61541,0.9682149721081053 -61542,0.39530039371073344 -61543,0.8849822239739588 -61544,0.5490506562730749 -61545,0.7438374439637221 -61546,0.9255780827340511 -61547,0.6687592908577638 -61548,0.5913637040915908 -61549,0.677029637490596 -61550,0.4353473104005028 -61551,0.7151454819449787 -61552,0.3151266965496724 -61553,0.16590363153905863 -61554,0.770746975205057 -61555,0.9119237043498959 -61556,0.011200635935794456 -61557,0.8175418915460347 -61558,0.9526479938445018 -61559,0.6814073809367923 -61560,0.8018676769828357 -61561,0.189230119173886 -61562,0.4220391591809981 -61563,0.8408981790454996 -61564,0.758564647202182 -61565,0.7617679803254719 -61566,0.8718506732094312 -61567,0.8486439516079771 -61568,0.36339102153636593 -61569,0.26016866679480033 -61570,0.8847736752032244 -61571,0.09603408626622101 -61572,0.6891327975951713 -61573,0.7631555899853767 -61574,0.45063821734173404 -61575,0.9137265283353077 -61576,0.2078921631834434 -61577,0.659248537764418 -61578,0.5744019303294479 -61579,0.048755074991742586 -61580,0.7100194996994647 -61581,0.34770719725462895 -61582,0.21432255414579293 -61583,0.20157577063268328 -61584,0.967133103197495 -61585,0.17993951591063118 -61586,0.6558572823778647 -61587,0.1051727290661133 -61588,0.04895466572666052 -61589,0.006237472872437588 -61590,0.22685909393514936 -61591,0.42696041578485466 -61592,0.15003880196155173 -61593,0.5256806944133139 -61594,0.954990302742944 -61595,0.9609486273786512 -61596,0.7094812853105837 -61597,0.34867806182135996 -61598,0.11000448514498962 -61599,0.09742130228598223 -61600,0.5110972630354323 -61601,0.1278041854470472 -61602,0.4508771769092532 -61603,0.46255936958631916 -61604,0.10805908123484909 -61605,0.5350273845504738 -61606,0.775806322113898 -61607,0.10595920523010216 -61608,0.7284750604287064 -61609,0.07068506839308131 -61610,0.5494287441901521 -61611,0.6771467887685837 -61612,0.33837524747984815 -61613,0.40243964575464775 -61614,0.5930198274603722 -61615,0.9264911253151284 -61616,0.6368784937469667 -61617,0.3629617023044478 -61618,0.41057330256468916 -61619,0.8810354519556582 -61620,0.3962082534152642 -61621,0.7696303395501787 -61622,0.2702374637887448 -61623,0.4125455324417131 -61624,0.7475405879261424 -61625,0.7014442574571507 -61626,0.8625472330292229 -61627,0.10420713433913786 -61628,0.02196405276960156 -61629,0.2214157952753808 -61630,0.5971898000944896 -61631,0.2953015208858458 -61632,0.9030415672527935 -61633,0.5830126227272648 -61634,0.10817316685432077 -61635,0.8044766192440123 -61636,0.3294216492114934 -61637,0.8617291219883174 -61638,0.684410894412294 -61639,0.9146855337443018 -61640,0.4294024257375856 -61641,0.2785161745543503 -61642,0.5903542097940164 -61643,0.10754146762867267 -61644,0.22062657990996393 -61645,0.6795066947910724 -61646,0.30206954381274365 -61647,0.6114480859560363 -61648,0.901065131113051 -61649,0.9932193908829144 -61650,0.4158749751655937 -61651,0.012430274658140728 -61652,0.4972239834713551 -61653,0.49477490913856936 -61654,0.29043641069012327 -61655,0.486587040142031 -61656,0.5354016546691004 -61657,0.7919689408951732 -61658,0.4588860763138851 -61659,0.6317069143176652 -61660,0.4807504694575542 -61661,0.21350466457863126 -61662,0.17907671776089373 -61663,0.8252310097019263 -61664,0.8879569341348273 -61665,0.6822580943690656 -61666,0.004206369028526891 -61667,0.09219015337557601 -61668,0.32672106511204624 -61669,0.3978224101732776 -61670,0.6766591452013051 -61671,0.16010773134862477 -61672,0.903956673618733 -61673,0.15613668472541242 -61674,0.9145437977771753 -61675,0.684745494921871 -61676,0.5857239455251835 -61677,0.06282735234406422 -61678,0.6621721319902042 -61679,0.7481585760862841 -61680,0.2523261214020799 -61681,0.628076364866236 -61682,0.5064853612878987 -61683,0.8926562367835145 -61684,0.056705094432116576 -61685,0.47951129534468007 -61686,0.9592638509426956 -61687,0.11971339374313494 -61688,0.7091799111213031 -61689,0.027672424655972527 -61690,0.7661988629580799 -61691,0.9715201779632466 -61692,0.22096697843520852 -61693,0.10605776279060242 -61694,0.7610667962688356 -61695,0.17914430972563877 -61696,0.9268499595571565 -61697,0.6877358967306909 -61698,0.10517872053168753 -61699,0.4738665740709517 -61700,0.4989556804524047 -61701,0.6775652544931693 -61702,0.777874080072714 -61703,0.5598972772463897 -61704,0.16872552704166377 -61705,0.4286263821441846 -61706,0.6240192408330869 -61707,0.13881492098403625 -61708,0.5977576259776767 -61709,0.6502099149495524 -61710,0.4915709004957267 -61711,0.7701259275124624 -61712,0.4876841255174913 -61713,0.22469764489231603 -61714,0.5919467148730211 -61715,0.9436337729999311 -61716,0.4230113425337484 -61717,0.1986779070605572 -61718,0.24789466803088434 -61719,0.050627413786993425 -61720,0.33160749047252436 -61721,0.8244916763007618 -61722,0.09714102332921759 -61723,0.31739617087414285 -61724,0.19342632753617317 -61725,0.04108636294221435 -61726,0.19246271255248204 -61727,0.22319862045659833 -61728,0.7643865045457076 -61729,0.9959695208714241 -61730,0.6320676227813331 -61731,0.19545101206113658 -61732,0.5369444963348542 -61733,0.025558979742722587 -61734,0.5102978252774318 -61735,0.2067802101155457 -61736,0.2615922291594741 -61737,0.007943778192958661 -61738,0.612623358917711 -61739,0.24593184570511006 -61740,0.1189215617751126 -61741,0.9214150140979682 -61742,0.007758994886113646 -61743,0.5054844573811055 -61744,0.10438284748322346 -61745,0.8778876526558478 -61746,0.8829366602828043 -61747,0.12987700833824278 -61748,0.6071160934341383 -61749,0.7631145008457279 -61750,0.37853569307883206 -61751,0.0628258932236958 -61752,0.5236777074256795 -61753,0.28194371320810285 -61754,0.6887021537094302 -61755,0.025352327254767992 -61756,0.7222370134290069 -61757,0.28759549790072936 -61758,0.7874045270449893 -61759,0.6167928779338273 -61760,0.0713606064567035 -61761,0.989014917855116 -61762,0.44316213148073214 -61763,0.8487942812592251 -61764,0.26421362192796727 -61765,0.5393583447756396 -61766,0.7666984562767142 -61767,0.5265721575150986 -61768,0.5399104248561363 -61769,0.8663984812558606 -61770,0.9282400752171881 -61771,0.15110091078932308 -61772,0.42396427262002223 -61773,0.958617870729639 -61774,0.9452388967664743 -61775,0.7795913473573787 -61776,0.8444748443727933 -61777,0.06290740754796875 -61778,0.039770844673245875 -61779,0.27505811636913524 -61780,0.6619197577454802 -61781,0.9380931557425027 -61782,0.9717141237147983 -61783,0.20423269212784478 -61784,0.25952780451088964 -61785,0.9463677673154318 -61786,0.4220986759322062 -61787,0.40526452866984897 -61788,0.7862507207094852 -61789,0.7400284956029911 -61790,0.6275210668362287 -61791,0.2056607033976946 -61792,0.7952214216019373 -61793,0.7501556042136472 -61794,0.7106237741785775 -61795,0.3499853918628303 -61796,0.7578521879759622 -61797,0.28838229701651774 -61798,0.22608601304192155 -61799,0.9191972030743302 -61800,0.8303619556106687 -61801,0.1706698179329429 -61802,0.370179807859096 -61803,0.16203749668155887 -61804,0.48695154029824583 -61805,0.07715676616874911 -61806,0.3548045148964668 -61807,0.16718656432568957 -61808,0.6876190601737429 -61809,0.6086990459143686 -61810,0.4307097028340693 -61811,0.37490653373477245 -61812,0.8563371231214282 -61813,0.530249439660816 -61814,0.3259986976774285 -61815,0.3572526874035641 -61816,0.2848691913876682 -61817,0.10112511576205108 -61818,0.0806414220388908 -61819,0.27038073756015635 -61820,0.7941899237854024 -61821,0.5459732923789223 -61822,0.29264604043183384 -61823,0.3715438050440777 -61824,0.21262209840098845 -61825,0.21274785954773845 -61826,0.6330218502079507 -61827,0.6719724528558316 -61828,0.39364505731340527 -61829,0.5317737307557188 -61830,0.8998080370364024 -61831,0.30411344128141105 -61832,0.030390787966185107 -61833,0.052566938515655526 -61834,0.06275812301960215 -61835,0.566668577500844 -61836,0.13301727583950818 -61837,0.5510051891952789 -61838,0.39621327348517565 -61839,0.45775727645161757 -61840,0.3156435723691511 -61841,0.9220589137812466 -61842,0.10757156612682983 -61843,0.8672484359995137 -61844,0.14339946200442444 -61845,0.41459729433556236 -61846,0.78162914439571 -61847,0.5987683075588622 -61848,0.09476104639756089 -61849,0.11277507589035007 -61850,0.3744787897001035 -61851,0.0573334496709722 -61852,0.9774078319445713 -61853,0.6759933539280835 -61854,0.13622142713547092 -61855,0.16177706417067617 -61856,0.021436958231718872 -61857,0.9857570581216939 -61858,0.30731379124262936 -61859,0.19611235442667874 -61860,0.21636337692735697 -61861,0.8229297131324048 -61862,0.5548517370646188 -61863,0.7976427444689843 -61864,0.38111740296032126 -61865,0.6354729880914376 -61866,0.3407226698342699 -61867,0.9468734514524215 -61868,0.9777004235625721 -61869,0.7199075544133928 -61870,0.3810439470696636 -61871,0.5679938237643727 -61872,0.8922115070709683 -61873,0.6895796607326066 -61874,0.11671304140213512 -61875,0.8165925053806115 -61876,0.46963319854188856 -61877,0.17708504220166899 -61878,0.8038061830948384 -61879,0.34355142695515606 -61880,0.7559372776459878 -61881,0.1323521287163797 -61882,0.45708242021753487 -61883,0.5329484143644303 -61884,0.38185952572898285 -61885,0.7770110831083459 -61886,0.911936887378572 -61887,0.6261937352573033 -61888,0.16865900033936254 -61889,0.5063071468541542 -61890,0.16135367858707472 -61891,0.8670456548460436 -61892,0.08298450083004161 -61893,0.3979408459316873 -61894,0.8910876095783151 -61895,0.9827753943403579 -61896,0.48182927950532595 -61897,0.24372186535643503 -61898,0.27223840698786694 -61899,0.5898346491971359 -61900,0.4231678522061839 -61901,0.9961374841568467 -61902,0.4599064944431035 -61903,0.11126683767537027 -61904,0.47399683946909843 -61905,0.575630482965589 -61906,0.7825779608589042 -61907,0.3827828050688734 -61908,0.8260801066886339 -61909,0.1702863806647259 -61910,0.22594822438988393 -61911,0.08434785172472603 -61912,0.21721950082943797 -61913,0.9616105867560727 -61914,0.35813186378569284 -61915,0.9788966889729895 -61916,0.886765386503178 -61917,0.8299994090151714 -61918,0.7224958948426644 -61919,0.009854906896811566 -61920,0.3634526096372487 -61921,0.4529539469568691 -61922,0.1735549241746177 -61923,0.446075137943305 -61924,0.306041172520915 -61925,0.5746613149109306 -61926,0.8189682877485979 -61927,0.8740204092474252 -61928,0.44726461099866466 -61929,0.31034561795372717 -61930,0.24206508757213052 -61931,0.6830876345534292 -61932,0.48909945907462704 -61933,0.8844139005529353 -61934,0.9481875208250352 -61935,0.21115359586763605 -61936,0.9655314311425155 -61937,0.7307798908629486 -61938,0.5876855312810076 -61939,0.9814665922003651 -61940,0.9466978361163105 -61941,0.611481695578102 -61942,0.8350866491816293 -61943,0.9532464517993658 -61944,0.5722261950601208 -61945,0.33617201110623707 -61946,0.15544162642681847 -61947,0.2467185133807277 -61948,0.08330582298126077 -61949,0.6209111357919154 -61950,0.7545510823034604 -61951,0.758271678278519 -61952,0.2949084049400239 -61953,0.12389977313945388 -61954,0.3089610088891238 -61955,0.13037091279669932 -61956,0.7409541895413347 -61957,0.4552876267750725 -61958,0.5720603574347292 -61959,0.665523290596679 -61960,0.4456584140323725 -61961,0.29983660804191214 -61962,0.5677464092957226 -61963,0.870334328628063 -61964,0.23930639918438912 -61965,0.19509998027038855 -61966,0.3397039374550942 -61967,0.5753249004512954 -61968,0.4565209527060663 -61969,0.19473646664349753 -61970,0.8185682593506246 -61971,0.20635032821964072 -61972,0.9660593333145072 -61973,0.2906048381415801 -61974,0.4032241090613333 -61975,0.1536690844083337 -61976,0.17462626969239914 -61977,0.24530542288670032 -61978,0.23473765685651027 -61979,0.2347413802783399 -61980,0.6851300049537291 -61981,0.036668709488926865 -61982,0.1965246361401345 -61983,0.421934313816535 -61984,0.17263325340000313 -61985,0.17548699235475018 -61986,0.20422348734438123 -61987,0.8357460424828984 -61988,0.6359003672358312 -61989,0.5189487465999932 -61990,0.6847051971924949 -61991,0.32833406656499675 -61992,0.38169545849108755 -61993,0.3359520587866536 -61994,0.6254780593195516 -61995,0.040405439288471734 -61996,0.3726273492021347 -61997,0.032238989766931625 -61998,0.9360410677083015 -61999,0.30107338033673614 -62000,0.39110171344103484 -62001,0.2601225905347996 -62002,0.775407083704519 -62003,0.7195032523004656 -62004,0.7438205670655932 -62005,0.828167524704353 -62006,0.30732724291897384 -62007,0.5541149665091817 -62008,0.2901819983517222 -62009,0.6656001829758962 -62010,0.6202113203966657 -62011,0.5295487371452341 -62012,0.7041171974560999 -62013,0.6652804892829514 -62014,0.9587879128586924 -62015,0.07449846473270116 -62016,0.5745714787163878 -62017,0.23836580495037096 -62018,0.1651484560655485 -62019,0.3248467208569846 -62020,0.9998232691996647 -62021,0.929826906350612 -62022,0.3522127897064523 -62023,0.9390779630551581 -62024,0.30811267871557824 -62025,0.7952535961486006 -62026,0.23098888708764975 -62027,0.7464786593601582 -62028,0.9484224253142562 -62029,0.9345438750263343 -62030,0.9601768096174694 -62031,0.8249320156392239 -62032,0.414048003149202 -62033,0.17871772842800926 -62034,0.010368394439586037 -62035,0.42665688478570774 -62036,0.0011556467743846222 -62037,0.60409083091545 -62038,0.3972363446496868 -62039,0.2559751523701894 -62040,0.10306579141420558 -62041,0.6559224564413432 -62042,0.745529659176876 -62043,0.9298390791077772 -62044,0.14393356858695416 -62045,0.1780614824773673 -62046,0.900557685276627 -62047,0.05023211570640773 -62048,0.8765951046247785 -62049,0.6321273533583022 -62050,0.6123226484111047 -62051,0.5142213825151013 -62052,0.2758571862815026 -62053,0.5575215277846163 -62054,0.2652274867805273 -62055,0.6692332611751122 -62056,0.22134770554017513 -62057,0.38564614812799736 -62058,0.5562877963478068 -62059,0.6729223184253609 -62060,0.6513299169478742 -62061,0.9572566421269622 -62062,0.9802642777091164 -62063,0.3971099000032219 -62064,0.3017546975604165 -62065,0.9736326839510617 -62066,0.17288862883157752 -62067,0.5603156835495925 -62068,0.7466627072826046 -62069,0.003720266987357723 -62070,0.5148829848229286 -62071,0.8737380048994575 -62072,0.0405040574682104 -62073,0.39766640061998393 -62074,0.07229681000054133 -62075,0.3994514313019727 -62076,0.7226591441570835 -62077,0.7954690346844253 -62078,0.9713667937543148 -62079,0.29632860642001013 -62080,0.7595382245768935 -62081,0.1461916243161181 -62082,0.6554075477374623 -62083,0.36219228512261414 -62084,0.8019710627931383 -62085,0.45462737461372726 -62086,0.12095117195772342 -62087,0.612367670042483 -62088,0.07402000184733704 -62089,0.008881190071446499 -62090,0.11116423180779644 -62091,0.6989022542088881 -62092,0.5689951659840218 -62093,0.8141218641171427 -62094,0.30382732762523323 -62095,0.06764783932207219 -62096,0.407225460914981 -62097,0.6116867372603962 -62098,0.6400853445427909 -62099,0.7333174089810702 -62100,0.9911018200960189 -62101,0.6608679966697213 -62102,0.36773685577012283 -62103,0.5747389391080725 -62104,0.6643477801381501 -62105,0.027020309141336907 -62106,0.17042889023295482 -62107,0.9976716516800089 -62108,0.08105725745947612 -62109,0.35902529368635705 -62110,0.49562093984098976 -62111,0.8953621617754658 -62112,0.0508918002288552 -62113,0.15107663554780204 -62114,0.19653096494252598 -62115,0.9289380455712121 -62116,0.08470616834399014 -62117,0.8880321249027243 -62118,0.9937070659212727 -62119,0.9920968610494386 -62120,0.6176186586358141 -62121,0.15484393601399682 -62122,0.9120509773312934 -62123,0.24832220648973802 -62124,0.793170213586839 -62125,0.9620897065481563 -62126,0.7297892969518447 -62127,0.6086299229477793 -62128,0.07332759098195551 -62129,0.8118800709645418 -62130,0.9935620834999338 -62131,0.7857232208912709 -62132,0.44670416567933025 -62133,0.9473487235660007 -62134,0.7353691231852408 -62135,0.5665723561187357 -62136,0.205421664758623 -62137,0.7412731050326865 -62138,0.13799147079248297 -62139,0.735209538387409 -62140,0.7397800054818567 -62141,0.7446004694157873 -62142,0.799941428405172 -62143,0.20032010943662004 -62144,0.47933990464313725 -62145,0.6597602690520298 -62146,0.95653266240816 -62147,0.031735855523995826 -62148,0.6315448366661923 -62149,0.050737345329889605 -62150,0.5731293011394831 -62151,0.17288642507055696 -62152,0.9446513200793616 -62153,0.4178340897384537 -62154,0.7641196165318379 -62155,0.494755248845984 -62156,0.20532812545555323 -62157,0.7511134854672148 -62158,0.7994101553942184 -62159,0.1373280173296323 -62160,0.2665684085142934 -62161,0.49179924672163056 -62162,0.7889128195475373 -62163,0.39732845617217216 -62164,0.44706676334007456 -62165,0.22506676070283027 -62166,0.4740115784221355 -62167,0.33536664514337555 -62168,0.8360635858952532 -62169,0.39238675567039916 -62170,0.5852941657755304 -62171,0.24331604948634478 -62172,0.8009082167027453 -62173,0.8614283829558463 -62174,0.22099418019664663 -62175,0.5082837046479509 -62176,0.663142817544158 -62177,0.3986512096051822 -62178,0.6673611892521065 -62179,0.4139569045697121 -62180,0.7050908825359792 -62181,0.15231992610785783 -62182,0.7425489983653019 -62183,0.3904762309638721 -62184,0.7311945965729715 -62185,0.30408934614852523 -62186,0.05791253325613954 -62187,0.4986477491932365 -62188,0.2148175196044152 -62189,0.22474377883269814 -62190,0.5090652955052287 -62191,0.015619877625807299 -62192,0.5140834255609159 -62193,0.42269345142700654 -62194,0.6431894822999706 -62195,0.7021695600987731 -62196,0.780050043193674 -62197,0.11137075606021984 -62198,0.5365363079830536 -62199,0.06292404299304033 -62200,0.3996234462917517 -62201,0.7315606267653401 -62202,0.4767456861228576 -62203,0.45777504309809447 -62204,0.10791927711218663 -62205,0.3948699139334225 -62206,0.0654030224256612 -62207,0.9376628589005124 -62208,0.8374599508969564 -62209,0.1656904083430658 -62210,0.6972071878125119 -62211,0.007383625075334188 -62212,0.2463012195597627 -62213,0.29014880852949454 -62214,0.9719426559839336 -62215,0.2451519854272961 -62216,0.3630139063897768 -62217,0.5015085821983551 -62218,0.3226220836770247 -62219,0.8194820607617203 -62220,0.7007810587000317 -62221,0.848198837611226 -62222,0.09649969320451224 -62223,0.741357822835939 -62224,0.15441007396736706 -62225,0.7341347965696953 -62226,0.24825501429471508 -62227,0.36134854597713106 -62228,0.17679371108094977 -62229,0.2380625175634985 -62230,0.4124668901271794 -62231,0.40287288025370915 -62232,0.09137301409026433 -62233,0.6051461084713097 -62234,0.4937633559982324 -62235,0.9476667922771116 -62236,0.9847154971133832 -62237,0.39154194480992965 -62238,0.7502364377903108 -62239,0.9398996496243752 -62240,0.21887847719714626 -62241,0.2715969931551767 -62242,0.2929604594988495 -62243,0.7991100065665693 -62244,0.50808686981363 -62245,0.3181376246684383 -62246,0.7000997364283982 -62247,0.20846797970916497 -62248,0.333162993248473 -62249,0.878723567035303 -62250,0.9086064377720412 -62251,0.07851310069838235 -62252,0.5532762049179138 -62253,0.7281714905267397 -62254,0.9518708920974346 -62255,0.536266089628444 -62256,0.27104163690465066 -62257,0.2675783836704825 -62258,0.7061221984137618 -62259,0.42615327232166567 -62260,0.9963278690423447 -62261,0.8008202845925384 -62262,0.6512476187265822 -62263,0.4757483711847723 -62264,0.6952708917167055 -62265,0.7758250209334797 -62266,0.6858115728206154 -62267,0.29828225055184876 -62268,0.042178719942845944 -62269,0.6703388091157259 -62270,0.1936187005799812 -62271,0.5624915194980692 -62272,0.9278554599501452 -62273,0.9196070939708769 -62274,0.5212332742566651 -62275,0.567296680005854 -62276,0.8547843282467823 -62277,0.5499180768390705 -62278,0.6607778756600489 -62279,0.342530731880879 -62280,0.2298905990760215 -62281,0.5146055462213034 -62282,0.44361640566837324 -62283,0.04957058855955976 -62284,0.6430973791001776 -62285,0.07249023359719509 -62286,0.5683163508194905 -62287,0.9286055690972322 -62288,0.3467667526060221 -62289,0.23811357679074685 -62290,0.1314326396233687 -62291,0.30448389928480957 -62292,0.19656212867725942 -62293,0.9655302913406152 -62294,0.5764951962585542 -62295,0.22361922757378527 -62296,0.03349530196668249 -62297,0.686693240103034 -62298,0.06743518963917206 -62299,0.5797246637583929 -62300,0.015170251707622207 -62301,0.7438159496051987 -62302,0.2492097862067344 -62303,0.4919331953410856 -62304,0.02647581650458919 -62305,0.8398080383912476 -62306,0.6757860124062657 -62307,0.920518015079597 -62308,0.8837006781631065 -62309,0.6816599723111612 -62310,0.34094397149002087 -62311,0.7754526971249154 -62312,0.23091294525651673 -62313,0.03452102086570252 -62314,0.11324202889357338 -62315,0.11667089708680778 -62316,0.351954750289698 -62317,0.6426122382207596 -62318,0.628834459834102 -62319,0.7925520326513076 -62320,0.0076815673060305345 -62321,0.6856726935269433 -62322,0.8981397158351115 -62323,0.2581566283730845 -62324,0.9302021934883884 -62325,0.9436205510732831 -62326,0.781996873610958 -62327,0.36837788932529236 -62328,0.1310787024497142 -62329,0.004169247351991756 -62330,0.7732636180369321 -62331,0.9445271068085582 -62332,0.7354107682278591 -62333,0.8529127218771402 -62334,0.002390474836531209 -62335,0.9500955968489657 -62336,0.513894970233963 -62337,0.2531776173686452 -62338,0.28002868836382544 -62339,0.7588432013945107 -62340,0.07112248436090052 -62341,0.9609335373248434 -62342,0.35471163037673736 -62343,0.8414631811775451 -62344,0.12938398256534656 -62345,0.7485967978524343 -62346,0.8179621887125118 -62347,0.21483472761774958 -62348,0.4823403683566623 -62349,0.7315273754912784 -62350,0.7949525920588457 -62351,0.526195647846357 -62352,0.8876518246942879 -62353,0.7703849037446268 -62354,0.24196680103676582 -62355,0.2608990812593105 -62356,0.20767913805741167 -62357,0.5010370448857139 -62358,0.8474667666819775 -62359,0.29159589828322374 -62360,0.6910596233906207 -62361,0.2733984739503117 -62362,0.7679851471624907 -62363,0.9913535133226647 -62364,0.9424198679217161 -62365,0.4894061972662176 -62366,0.5748405410026942 -62367,0.820634451338166 -62368,0.24074318776300208 -62369,0.6766878764825655 -62370,0.8566169554771297 -62371,0.4542567483204101 -62372,0.4224797575951499 -62373,0.5584708505929808 -62374,0.04716622534939385 -62375,0.5316291100732284 -62376,0.5510779238976684 -62377,0.8108777836017315 -62378,0.6817424661996901 -62379,0.41391679551769656 -62380,0.7636904118697542 -62381,0.4785458462971337 -62382,0.6076228376896067 -62383,0.48107642303642195 -62384,0.6172969229028126 -62385,0.5889197482380939 -62386,0.8808963969295532 -62387,0.7152841093145048 -62388,0.0038377173345045534 -62389,0.14912822370937917 -62390,0.30080095889129677 -62391,0.326523355232195 -62392,0.8829355880952784 -62393,0.8503137930337468 -62394,0.41109294424072373 -62395,0.22376664505826438 -62396,0.7451131833351228 -62397,0.7648524382361321 -62398,0.7305492909244079 -62399,0.11497687696671688 -62400,0.618243674554547 -62401,0.5491781794755352 -62402,0.34353661551645687 -62403,0.4606382418249364 -62404,0.5751499522264482 -62405,0.5587491470989451 -62406,0.20990991405031834 -62407,0.9719323408301701 -62408,0.6034433613957921 -62409,0.07074312747810074 -62410,0.49063255097037206 -62411,0.7890888281594041 -62412,0.08522338660374995 -62413,0.9618183304551691 -62414,0.9482547475522535 -62415,0.9292504471910217 -62416,0.1222812292074753 -62417,0.2095788479050178 -62418,0.26605225953282774 -62419,0.5908141135631986 -62420,0.9803931800644752 -62421,0.730062816670472 -62422,0.23160829335666966 -62423,0.8633300412166997 -62424,0.461025624153117 -62425,0.2017025760646758 -62426,0.9380055921874987 -62427,0.399286252381995 -62428,0.98795622747221 -62429,0.6507138029383888 -62430,0.6844923942459128 -62431,0.5524989165840823 -62432,0.045594886248953026 -62433,0.8223125511020414 -62434,0.09055585130167709 -62435,0.5325304726034681 -62436,0.5416924558844369 -62437,0.23600230714556236 -62438,0.7380704246240947 -62439,0.6567983786435342 -62440,0.0896973412482438 -62441,0.6023877971575099 -62442,0.216239905460759 -62443,0.9569056649907912 -62444,0.4930545189310085 -62445,0.6552103458897997 -62446,0.456117727329476 -62447,0.7582037862240337 -62448,0.3794292063386234 -62449,0.9656660719520895 -62450,0.8180273931283986 -62451,0.724742790841137 -62452,0.1848711765592448 -62453,0.9909960287326356 -62454,0.7021367635389956 -62455,0.7902223715253768 -62456,0.19702147105077095 -62457,0.6968646974537561 -62458,0.4424240812615281 -62459,0.5827649691436524 -62460,0.4484947236211648 -62461,0.15292886519353277 -62462,0.7225182677148071 -62463,0.28951577250279203 -62464,0.09035149486881433 -62465,0.4793225584472953 -62466,0.79641575315065 -62467,0.856729812409529 -62468,0.7123949436824281 -62469,0.7746499595340284 -62470,0.025134768857662082 -62471,0.640894148148651 -62472,0.08092565129847673 -62473,0.06341467929868205 -62474,0.2620649253192562 -62475,0.5008513884043047 -62476,0.15106629952346728 -62477,0.2863660143335782 -62478,0.7501413115444691 -62479,0.5256725435999313 -62480,0.6446582813069072 -62481,0.829304084190411 -62482,0.12813187430394257 -62483,0.97288075321131 -62484,0.3932972584626887 -62485,0.8350196885642946 -62486,0.3578793127247837 -62487,0.5767577677471586 -62488,0.8975424812059714 -62489,0.11972298099505085 -62490,0.5000766173810696 -62491,0.19445585679676713 -62492,0.6171092723009084 -62493,0.5628219579067117 -62494,0.06241547060370234 -62495,0.43503242465993797 -62496,0.1037519545669886 -62497,0.4661186657196762 -62498,0.9133628434312094 -62499,0.27397852428618663 -62500,0.0001788032830355446 -62501,0.3504973054646727 -62502,0.4648300026259764 -62503,0.4099320763100185 -62504,0.9295746565321577 -62505,0.60587596541591 -62506,0.9200282307707034 -62507,0.28615442782117273 -62508,0.9948148031229089 -62509,0.790883669613346 -62510,0.2078700190082149 -62511,0.7786112317353479 -62512,0.39670143521480894 -62513,0.05896122866245068 -62514,0.10640061673754775 -62515,0.48994397820114954 -62516,0.8216396019221776 -62517,0.3522160080864378 -62518,0.4874326104587132 -62519,0.3252594465238968 -62520,0.613476260677812 -62521,0.5524774867766316 -62522,0.046277746627992555 -62523,0.36095975165354965 -62524,0.14276478255786273 -62525,0.5942781960330684 -62526,0.11909913533706595 -62527,0.07566255983711478 -62528,0.22970558791090312 -62529,0.03230104969083869 -62530,0.11316096799710496 -62531,0.7499287956628237 -62532,0.3994368638400413 -62533,0.5321951715204625 -62534,0.09735114931160704 -62535,0.31099545460755185 -62536,0.8461894851651356 -62537,0.6949137813057934 -62538,0.6008205561250989 -62539,0.436180407175775 -62540,0.47537564888614925 -62541,0.19071114544794543 -62542,0.5729583617000452 -62543,0.3109693238151968 -62544,0.47913738909789005 -62545,0.16004770285211767 -62546,0.8965646021883003 -62547,0.38845568912165296 -62548,0.33100626690305 -62549,0.5758415412499349 -62550,0.7556361784119845 -62551,0.04832829108323722 -62552,0.7102580522251175 -62553,0.7194104674564397 -62554,0.8306933349585677 -62555,0.5483716600962113 -62556,0.012292585041216109 -62557,0.2967941988722467 -62558,0.6847085730266291 -62559,0.8229889580628882 -62560,0.0024230924216276373 -62561,0.07260922013600224 -62562,0.23719120881995448 -62563,0.05430746262795594 -62564,0.7417373971997195 -62565,0.16841410927724165 -62566,0.6134321793287625 -62567,0.1932156584721385 -62568,0.9743336644393505 -62569,0.0674955854012399 -62570,0.21874143660958978 -62571,0.7868616569041986 -62572,0.13271243656730103 -62573,0.3799944533313415 -62574,0.2910983052984564 -62575,0.19062323224282363 -62576,0.5519868474371223 -62577,0.23303061892382781 -62578,0.9749318908067082 -62579,0.16150416301188264 -62580,0.36958572879998774 -62581,0.8179938930626481 -62582,0.9722718208050691 -62583,0.3478483137980901 -62584,0.4054693366018558 -62585,0.5127180294920527 -62586,0.28235667438331835 -62587,0.2828092649083943 -62588,0.7278372129087406 -62589,0.7606014619486391 -62590,0.4893635948433339 -62591,0.7508092269882213 -62592,0.5870560023301883 -62593,0.6111304440769114 -62594,0.5409852541687854 -62595,0.9998451645261204 -62596,0.11748151758650194 -62597,0.1707572902919816 -62598,0.930303780576093 -62599,0.92422161066143 -62600,0.8816565640367652 -62601,0.24327837309850575 -62602,0.22610798152129674 -62603,0.861328710422676 -62604,0.5512562257432563 -62605,0.86269971914175 -62606,0.9041473978736029 -62607,0.5009745321608152 -62608,0.6534223498301123 -62609,0.40430375207709257 -62610,0.22614389778526267 -62611,0.9925603662114636 -62612,0.7580308346340732 -62613,0.34628923468108463 -62614,0.6287978391952034 -62615,0.6687564263330784 -62616,0.8815269619857661 -62617,0.17170031154156495 -62618,0.6064755205753194 -62619,0.20223358778236045 -62620,0.8624582506311779 -62621,0.04542483455017454 -62622,0.7984689212195766 -62623,0.9633551555690983 -62624,0.8750692295073123 -62625,0.011625315892456745 -62626,0.017166578619523976 -62627,0.7573616396861127 -62628,0.4090870039184724 -62629,0.6040230392398122 -62630,0.638878764015053 -62631,0.9923645189815603 -62632,0.1900081698854218 -62633,0.7592483216491679 -62634,0.14767247851193666 -62635,0.05863892156945105 -62636,0.053167019752688116 -62637,0.5131715249206876 -62638,0.5329383557677175 -62639,0.14869997736295582 -62640,0.21004775277240806 -62641,0.2979424854417986 -62642,0.05393930934381097 -62643,0.9551416241929697 -62644,0.7542572814575813 -62645,0.4588337436530864 -62646,0.6256156628890256 -62647,0.47690161073337967 -62648,0.17929346128473322 -62649,0.8446127464844531 -62650,0.95528630603884 -62651,0.5485621305836468 -62652,0.5518208584408818 -62653,0.9042956903829819 -62654,0.010702384497290218 -62655,0.31414964807314094 -62656,0.22054029893277394 -62657,0.3098814724271193 -62658,0.5319184391270056 -62659,0.7280656623697799 -62660,0.530810210673444 -62661,0.7107328777075926 -62662,0.5998771321519037 -62663,0.21774068031991356 -62664,0.5705171110273352 -62665,0.6812884955755296 -62666,0.5631412152201436 -62667,0.7831785845730237 -62668,0.18317229025082937 -62669,0.26958123646995336 -62670,0.05132124256599735 -62671,0.7073685402523748 -62672,0.6407176814496801 -62673,0.915344686641119 -62674,0.6836426355647933 -62675,0.6726814825217594 -62676,0.5228091037629458 -62677,0.407633925388452 -62678,0.6954474353161558 -62679,0.5556848333015898 -62680,0.14918074784127422 -62681,0.7597521052606558 -62682,0.6368131294896395 -62683,0.9529178073518348 -62684,0.5062909034994264 -62685,0.5852148850638106 -62686,0.28989121736627455 -62687,0.13064165704636665 -62688,0.5886654396369316 -62689,0.5313061531029482 -62690,0.3774804517234204 -62691,0.6105573634807097 -62692,0.5860977007108829 -62693,0.18973262621230058 -62694,0.20318227270646128 -62695,0.349730102511843 -62696,0.7346138348490453 -62697,0.8297401231713708 -62698,0.5231085532387427 -62699,0.03318970933589693 -62700,0.6587319444547298 -62701,0.017215123071919858 -62702,0.08188856455326765 -62703,0.23623004954405635 -62704,0.5325598519107054 -62705,0.522455902220185 -62706,0.22626059044387892 -62707,0.2755394948332587 -62708,0.7157637208814134 -62709,0.4104101447436048 -62710,0.4800157111215213 -62711,0.02115347390951683 -62712,0.8375442791298369 -62713,0.5984052318369061 -62714,0.045139370890802555 -62715,0.15764688695169315 -62716,0.5238387079573359 -62717,0.5303221192754939 -62718,0.9813842073030381 -62719,0.5906480384741072 -62720,0.4259962364127432 -62721,0.7502464467398923 -62722,0.9017919830859213 -62723,0.13433887340441242 -62724,0.3617705326735471 -62725,0.19504554045487554 -62726,0.877186165266596 -62727,0.16657011403632127 -62728,0.8297725138223943 -62729,0.020222409457741897 -62730,0.4323287965381243 -62731,0.4183792869534392 -62732,0.8180831134356225 -62733,0.7992968302273127 -62734,0.4019004840752225 -62735,0.35699257539525275 -62736,0.46026031361287456 -62737,0.0373765633199723 -62738,0.22926076840021803 -62739,0.48483162873837804 -62740,0.7363730194266085 -62741,0.3527129088920432 -62742,0.77601776732776 -62743,0.1999816963114026 -62744,0.5835437486792193 -62745,0.5525589710638478 -62746,0.09577832260139674 -62747,0.9781306367143895 -62748,0.13495085283484498 -62749,0.7265682255765792 -62750,0.3397409689899863 -62751,0.3277139575172495 -62752,0.2609901163644066 -62753,0.2944541690276191 -62754,0.8802221345040246 -62755,0.9935347394819113 -62756,0.9669930736794237 -62757,0.9016605078523874 -62758,0.7234907154960406 -62759,0.8551734271566317 -62760,0.09913718790782766 -62761,0.7470156704616935 -62762,0.07799998314486056 -62763,0.22560787052516396 -62764,0.4844240769236675 -62765,0.6745463333048218 -62766,0.8980428344912696 -62767,0.05438119901780525 -62768,0.20999082539159708 -62769,0.1847895559179864 -62770,0.687473001893808 -62771,0.825266306026185 -62772,0.6654822739417221 -62773,0.5849837529060726 -62774,0.7248563924831156 -62775,0.409503266872398 -62776,0.8361911644066787 -62777,0.8015104025387401 -62778,0.15325759660719107 -62779,0.523080865974073 -62780,0.47951313173179666 -62781,0.6894799924047128 -62782,0.1271266004363678 -62783,0.786504464086701 -62784,0.46575977945308966 -62785,0.042140765725976914 -62786,0.5977325175498849 -62787,0.07233680147533239 -62788,0.3645346290948682 -62789,0.1823685159657319 -62790,0.2102886100712601 -62791,0.5029155793758835 -62792,0.7237937298286615 -62793,0.5818033196057052 -62794,0.22264323458247004 -62795,0.6477808030261465 -62796,0.17411943869391822 -62797,0.9774455184943379 -62798,0.7109089539545892 -62799,0.7229461509507077 -62800,0.690272958166491 -62801,0.3724968839005901 -62802,0.06278452933159229 -62803,0.5453402137360314 -62804,0.8059661207292329 -62805,0.3158062891596315 -62806,0.0939561713447411 -62807,0.3293956971043266 -62808,0.18404840855032878 -62809,0.1734914414568205 -62810,0.9721133932007203 -62811,0.08147431562668273 -62812,0.7443054224324369 -62813,0.4199716217593681 -62814,0.8303365831148429 -62815,0.5999249904876238 -62816,0.3109823731947 -62817,0.651519982167013 -62818,0.5113353670208352 -62819,0.5768548859049819 -62820,0.9994412509551381 -62821,0.9784328539273695 -62822,0.42474501926805386 -62823,0.1872363715382015 -62824,0.6115489671362369 -62825,0.16004257851716108 -62826,0.9772705976232222 -62827,0.11930825680526658 -62828,0.5541206600281475 -62829,0.8449177934718595 -62830,0.7919143312747676 -62831,0.4749967508520878 -62832,0.9795968359103883 -62833,0.6901853043259241 -62834,0.49482430158095214 -62835,0.41114012589141236 -62836,0.7338272233139285 -62837,0.1310438167906115 -62838,0.28537420251991175 -62839,0.932877076314138 -62840,0.5957206549800781 -62841,0.4427536086614724 -62842,0.4206866061108617 -62843,0.9002894140008934 -62844,0.8514919157446819 -62845,0.33146734441247727 -62846,0.7447853278066449 -62847,0.700700678451607 -62848,0.58650695593281 -62849,0.8456276056746416 -62850,0.4272731662274546 -62851,0.5705620201215846 -62852,0.20220216055634876 -62853,0.58719560169762 -62854,0.6257328205890949 -62855,0.4358057264607591 -62856,0.8323696884431747 -62857,0.9229323094709287 -62858,0.27793105863678824 -62859,0.3195898343332806 -62860,0.2948449485786052 -62861,0.6107326759210842 -62862,0.8291668370621454 -62863,0.7854002955123882 -62864,0.4854432414444385 -62865,0.6207760414963741 -62866,0.7237288545476604 -62867,0.626979141760944 -62868,0.06931235892819698 -62869,0.618624465969295 -62870,0.49190653470782064 -62871,0.4297514761847139 -62872,0.8985109360219444 -62873,0.16234096807000953 -62874,0.40188905948338016 -62875,0.37629719145640905 -62876,0.21809605337495508 -62877,0.025785948745746023 -62878,0.28387562217773354 -62879,0.41564127167511844 -62880,0.172390935958034 -62881,0.7036980775028451 -62882,0.4220136983989312 -62883,0.9864450329362148 -62884,0.06543756320722771 -62885,0.8232895256003496 -62886,0.777883841019236 -62887,0.578052477125883 -62888,0.4264182536074216 -62889,0.9343201572165946 -62890,0.7231504967528588 -62891,0.43346146665653984 -62892,0.21246463446190245 -62893,0.9274736400727999 -62894,0.5468323446081513 -62895,0.3291750179448132 -62896,0.3362236950128489 -62897,0.5697658781071743 -62898,0.00432182628431399 -62899,0.8068962819082772 -62900,0.47794719485816006 -62901,0.36744893406924084 -62902,0.41090380893147926 -62903,0.38543674041341136 -62904,0.4621306013229589 -62905,0.5332556143701465 -62906,0.6085388039211256 -62907,0.2144489880489675 -62908,0.8071580501682655 -62909,0.4610342463970538 -62910,0.19155149171775354 -62911,0.5876913229748125 -62912,0.8891742294928662 -62913,0.5209777636929744 -62914,0.9646256688044911 -62915,0.5127558474982423 -62916,0.13545049694888522 -62917,0.8538892423469671 -62918,0.6669903188377709 -62919,0.12096913622676764 -62920,0.5472328211100704 -62921,0.794745683387089 -62922,0.1778532432206511 -62923,0.3681658677232824 -62924,0.17881909712753685 -62925,0.30779775455503555 -62926,0.9417114037678211 -62927,0.031778104812232755 -62928,0.3297085809898108 -62929,0.4100450517585771 -62930,0.9849303337195834 -62931,0.19313703745348332 -62932,0.4405455860522012 -62933,0.6696337576007044 -62934,0.7097034468162476 -62935,0.9494112749626891 -62936,0.9901743941400848 -62937,0.060139278056447365 -62938,0.020223291690192657 -62939,0.7985982760527445 -62940,0.4426871144693806 -62941,0.97741622801839 -62942,0.41113164541224867 -62943,0.42936945678741334 -62944,0.1579518241147848 -62945,0.9573766968831899 -62946,0.14089947997449037 -62947,0.45721425349763456 -62948,0.9285194191165453 -62949,0.9002188504818193 -62950,0.32813704941868826 -62951,0.2389283891284384 -62952,0.9255632679082958 -62953,0.09888864557561772 -62954,0.5825653469395685 -62955,0.7655614677709197 -62956,0.1515559159197537 -62957,0.6913111492606098 -62958,0.2852819480393197 -62959,0.7948990257500855 -62960,0.5010219916227627 -62961,0.9123595629060923 -62962,0.2315966799640914 -62963,0.06324076920930266 -62964,0.5750598265123019 -62965,0.5000877325414731 -62966,0.8738983088333638 -62967,0.8864430599958691 -62968,0.7750094212846731 -62969,0.9575829999450792 -62970,0.30558077733793343 -62971,0.3339044552436572 -62972,0.9298635374815238 -62973,0.5996336264738379 -62974,0.7502770656244027 -62975,0.9403048584288447 -62976,0.8121428588547284 -62977,0.20269366901510733 -62978,0.08755608995455222 -62979,0.8632360524515499 -62980,0.5068103460932183 -62981,0.2964164303225377 -62982,0.7425848769187983 -62983,0.8072332804764367 -62984,0.03243408093582567 -62985,0.052119608581274846 -62986,0.9231482805771726 -62987,0.18456807421576782 -62988,0.2781402750368198 -62989,0.9103738394622056 -62990,0.08639415577748943 -62991,0.5724260793876129 -62992,0.11311625398916225 -62993,0.5594975032368369 -62994,0.06302111543821198 -62995,0.31206692922439005 -62996,0.4942612396832218 -62997,0.09662049248743199 -62998,0.8504118677028301 -62999,0.43194894287091556 -63000,0.7686584418345492 -63001,0.13316675821596946 -63002,0.2635523609781505 -63003,0.7176226310658347 -63004,0.7947412266581938 -63005,0.49386933081116846 -63006,0.9490860178793182 -63007,0.8623990479299453 -63008,0.8429391028261275 -63009,0.34982057734837246 -63010,0.5695990704189849 -63011,0.2758165715684221 -63012,0.25414904364357993 -63013,0.8393055799488794 -63014,0.19401925895893957 -63015,0.7375382142660792 -63016,0.9646195957367121 -63017,0.8476490722493871 -63018,0.6328988150764047 -63019,0.13151617881605404 -63020,0.6124352592954656 -63021,0.0620833111090946 -63022,0.7742906523914094 -63023,0.514274214904843 -63024,0.5969808335511293 -63025,0.7615314538185377 -63026,0.7263128179383029 -63027,0.7025710196423205 -63028,0.7967966292846773 -63029,0.6614139604731746 -63030,0.3009183172083767 -63031,0.9621103858814152 -63032,0.45106424882715135 -63033,0.39709499764354694 -63034,0.6119706338934563 -63035,0.3327218941611695 -63036,0.8630560489505018 -63037,0.65645755255296 -63038,0.8419747855758595 -63039,0.06067661252650325 -63040,0.5598811672626852 -63041,0.5706901019434071 -63042,0.4309639683878578 -63043,0.6395514646860746 -63044,0.8924561160739376 -63045,0.9761873548384049 -63046,0.6151696996284501 -63047,0.2965107327794959 -63048,0.8905242575354633 -63049,0.3152050676692636 -63050,0.24939035370200646 -63051,0.8325327147045951 -63052,0.1711204587441305 -63053,0.4482643723419526 -63054,0.3294575903370236 -63055,0.7749379452124698 -63056,0.23295493245480214 -63057,0.6978008415070124 -63058,0.28409381239441345 -63059,0.3082182623274152 -63060,0.681290969744062 -63061,0.7135428358104557 -63062,0.8214946427692198 -63063,0.377456106576859 -63064,0.21780840951832303 -63065,0.4424374411288857 -63066,0.279091885494575 -63067,0.4065925234632922 -63068,0.5506898763962613 -63069,0.7811680904828568 -63070,0.7316737755927674 -63071,0.3852071902435301 -63072,0.7245337790548425 -63073,0.9042715860213176 -63074,0.6113311242107412 -63075,0.8608686310711207 -63076,0.9155460975848914 -63077,0.02024921435569038 -63078,0.5425608343141017 -63079,0.1631037223601215 -63080,0.42713925247910667 -63081,0.1324205316458099 -63082,0.8729148168020161 -63083,0.9014986171170525 -63084,0.41794067946104363 -63085,0.03865511943461808 -63086,0.4199643278784614 -63087,0.22698409602586722 -63088,0.4098048227029746 -63089,0.04814581578312793 -63090,0.9860051171361454 -63091,0.08220287285518757 -63092,0.40520632849060756 -63093,0.6371048543772753 -63094,0.1622653660336516 -63095,0.6967110618828231 -63096,0.8141228756120306 -63097,0.055206234313048386 -63098,0.0019346428466430199 -63099,0.9781079140128739 -63100,0.46416043670185414 -63101,0.023051759777280023 -63102,0.2000351338973878 -63103,0.8567124647855839 -63104,0.7858173224407191 -63105,0.28098042174477067 -63106,0.2826769424912112 -63107,0.23321637485677582 -63108,0.2435927824205606 -63109,0.7217002492315939 -63110,0.7213659819940562 -63111,0.6050401037758073 -63112,0.2400085600630244 -63113,0.715456985185156 -63114,0.18868190403335638 -63115,0.03245308300043115 -63116,0.5795794375805357 -63117,0.6201269637013211 -63118,0.19421166616407215 -63119,0.5020904451824159 -63120,0.807922679533504 -63121,0.15824251335086004 -63122,0.7908229950509502 -63123,0.2281216682726812 -63124,0.004659177053824792 -63125,0.29584434530987913 -63126,0.5120470761359798 -63127,0.9617452574231026 -63128,0.7517043663616975 -63129,0.7270567051378249 -63130,0.5782981996658817 -63131,0.4612448173271346 -63132,0.26072009843800037 -63133,0.8194393446288879 -63134,0.7633668027415438 -63135,0.9197378911194232 -63136,0.8814160142726565 -63137,0.13923365717450897 -63138,0.09700699095955634 -63139,0.16485802570962926 -63140,0.9180473346815726 -63141,0.7506621400407395 -63142,0.4196971310467018 -63143,0.36697041715673895 -63144,0.14571004566940882 -63145,0.32050234571840097 -63146,0.530022475873601 -63147,0.36346925595221147 -63148,0.6256692482420136 -63149,0.478097668159972 -63150,0.5155654937658787 -63151,0.7793246295556074 -63152,0.1588814266013353 -63153,0.8487273446567507 -63154,0.41434602164056544 -63155,0.8110639603873651 -63156,0.9489050144800308 -63157,0.20061570702973974 -63158,0.5548679284769221 -63159,0.2629108709281204 -63160,0.13339249864523617 -63161,0.8356741594613047 -63162,0.22121113627819755 -63163,0.5352954324910938 -63164,0.7613208218297349 -63165,0.8840216017452485 -63166,0.7258799283191266 -63167,0.2869012125753403 -63168,0.6584325355550491 -63169,0.8377576930602123 -63170,0.17324856832636915 -63171,0.6601983508241519 -63172,0.7156215451820337 -63173,0.31472675153089 -63174,0.7856423890990203 -63175,0.22484236666515778 -63176,0.39225189565597607 -63177,0.40089469236046926 -63178,0.36780525997012004 -63179,0.6457076990473819 -63180,0.4237854353440491 -63181,0.715772377688114 -63182,0.8372577253189338 -63183,0.07681598592264305 -63184,0.9118383851490718 -63185,0.33408159450483643 -63186,0.4959358882733479 -63187,0.7475781425290641 -63188,0.7950164060569569 -63189,0.11588335866941002 -63190,0.3051512445427108 -63191,0.9362979815596962 -63192,0.8229316568999446 -63193,0.8081414204973465 -63194,0.917245707905104 -63195,0.1045146157027963 -63196,0.3172733543112859 -63197,0.4565470030461748 -63198,0.4973629015716642 -63199,0.48877310857482104 -63200,0.703363941271003 -63201,0.017663923418677285 -63202,0.5434202468659798 -63203,0.8078546255782134 -63204,0.1644884253178477 -63205,0.7305804707048209 -63206,0.4770408169302617 -63207,0.1028219522985876 -63208,0.5078050438813542 -63209,0.34842382989085885 -63210,0.69323750507439 -63211,0.8119363106457224 -63212,0.6117359406132862 -63213,0.700105290200786 -63214,0.6873012116756286 -63215,0.2801086008652419 -63216,0.8757522022248376 -63217,0.7993487411614544 -63218,0.10652930791083726 -63219,0.34287841857100176 -63220,0.5343147124766346 -63221,0.8491530378686223 -63222,0.26812293227673745 -63223,0.13595942221981094 -63224,0.3586208619304979 -63225,0.05813166666621472 -63226,0.6043329396099472 -63227,0.3476438962776538 -63228,0.29805466667832947 -63229,0.15752711394266394 -63230,0.6522245764271464 -63231,0.7319464392971344 -63232,0.6466903984457247 -63233,0.6019399396079076 -63234,0.37383027438900684 -63235,0.7678155213925811 -63236,0.5847696119459626 -63237,0.9034281591200604 -63238,0.26475174322262185 -63239,0.5282389686717536 -63240,0.6663935774683247 -63241,0.06245608875392228 -63242,0.11452875007651686 -63243,0.7009660319192231 -63244,0.5709830456271925 -63245,0.4172800131329383 -63246,0.5464615913525382 -63247,0.23365811810629844 -63248,0.46816037121852616 -63249,0.9554016512363818 -63250,0.5364822943016059 -63251,0.32018577533913406 -63252,0.17002611829755854 -63253,0.29822478639561945 -63254,0.38283739595594524 -63255,0.7993245341648402 -63256,0.060379870240276134 -63257,0.6619556180360475 -63258,0.5075438314232888 -63259,0.9811518280292382 -63260,0.2450382842265888 -63261,0.10860978049468006 -63262,0.6282713725569959 -63263,0.3952658299023688 -63264,0.13409583847687223 -63265,0.38823220389368174 -63266,0.3474657622132069 -63267,0.21832571365220999 -63268,0.027843550390822314 -63269,0.051989347036566214 -63270,0.7382491564733344 -63271,0.053022835712194016 -63272,0.15574641322048677 -63273,0.10127064305375655 -63274,0.08040632009360582 -63275,0.47858516478037594 -63276,0.8283403084821558 -63277,0.7692293385725504 -63278,0.24462004694567052 -63279,0.20433157857365958 -63280,0.4118992984084324 -63281,0.8290153958405693 -63282,0.5642115347124883 -63283,0.486010165633299 -63284,0.9543637855897518 -63285,0.19734424074411416 -63286,0.40393200136924334 -63287,0.9609355668850185 -63288,0.7812137234695851 -63289,0.332082693301504 -63290,0.38339561219473495 -63291,0.6723779935202427 -63292,0.24067410349220475 -63293,0.34325573662424613 -63294,0.2573085845213735 -63295,0.740337472872958 -63296,0.5080336283892668 -63297,0.5524926407261825 -63298,0.3844003294655265 -63299,0.07384906348437625 -63300,0.3622133785338202 -63301,0.4605516155788941 -63302,0.2959671657528541 -63303,0.6844340284964041 -63304,0.6515763409724834 -63305,0.2499076131605964 -63306,0.1235076836335618 -63307,0.2807648296431259 -63308,0.820450516110181 -63309,0.02011805987954718 -63310,0.6449834120271766 -63311,0.8952433904162029 -63312,0.8798079984293408 -63313,0.969041727235249 -63314,0.7023392219877411 -63315,0.4230606721552145 -63316,0.9017813255349022 -63317,0.6539786563303299 -63318,0.8035642990343312 -63319,0.8791009805915059 -63320,0.9155714830449397 -63321,0.45507021639754375 -63322,0.33973078931581935 -63323,0.26984076691139525 -63324,0.4316817010101752 -63325,0.5076916320037675 -63326,0.7174369411652314 -63327,0.07503945586157446 -63328,0.8099586141925514 -63329,0.3209205520612779 -63330,0.2947469224301358 -63331,0.7826517913760503 -63332,0.9067820397589704 -63333,0.32320112168875126 -63334,0.10142147633405663 -63335,0.1810012099057906 -63336,0.35851256334315273 -63337,0.3152937255823426 -63338,0.3267093141454276 -63339,0.8429303563496578 -63340,0.4783839945952333 -63341,0.5154342490137477 -63342,0.2729184229637136 -63343,0.713047053878915 -63344,0.6477497373212471 -63345,0.036878669210133275 -63346,0.42602196400103065 -63347,0.4145482239662328 -63348,0.864247332229353 -63349,0.1430407549280558 -63350,0.019622174742937037 -63351,0.8128055827428173 -63352,0.11701946163273735 -63353,0.9246334320589389 -63354,0.4551031857550293 -63355,0.7249986104331152 -63356,0.11286004431302477 -63357,0.037632239206504825 -63358,0.04982468592756062 -63359,0.07145970393403167 -63360,0.23919326409645092 -63361,0.07411582756734791 -63362,0.2697854939081332 -63363,0.4157557056400215 -63364,0.8637496322599073 -63365,0.23965742454041905 -63366,0.198172805860807 -63367,0.5794827166186282 -63368,0.38281890279923814 -63369,0.04390262370506415 -63370,0.5057845170635101 -63371,0.16180907368461617 -63372,0.06520723279336404 -63373,0.21439559659870566 -63374,0.6272421058193255 -63375,0.2526013670347117 -63376,0.23835385526230524 -63377,0.09411839736517147 -63378,0.5290698362081465 -63379,0.06954972647096636 -63380,0.08760611732956969 -63381,0.9519510113142708 -63382,0.5715770288450637 -63383,0.8902355247032593 -63384,0.08645329417639458 -63385,0.24616399772154307 -63386,0.32502224073216324 -63387,0.8486932606301882 -63388,0.7358892242923595 -63389,0.12859021697847672 -63390,0.3452585493025361 -63391,0.991707700281289 -63392,0.09929799610458112 -63393,0.8584188503647421 -63394,0.2794785847443392 -63395,0.4916338309625736 -63396,0.717274098651152 -63397,0.3284762413032176 -63398,0.5011292404482866 -63399,0.5682426143830019 -63400,0.6738872879622926 -63401,0.9685465751781219 -63402,0.44774449004251393 -63403,0.14785817571688264 -63404,0.3452325779726173 -63405,0.008365562551905015 -63406,0.5505644477265087 -63407,0.7058496005409258 -63408,0.00812289273603295 -63409,0.02574226067080132 -63410,0.3927549896212581 -63411,0.6467457603301576 -63412,0.6047289329285144 -63413,0.9282664317825042 -63414,0.9694290875944921 -63415,0.6242790250880942 -63416,0.3128069242429732 -63417,0.7414148437272022 -63418,0.8443986339429341 -63419,0.2892435719016525 -63420,0.48612225382785956 -63421,0.7761232295809488 -63422,0.4793865715380963 -63423,0.6569994696221705 -63424,0.20178221575052246 -63425,0.18403798947928274 -63426,0.5474062818614474 -63427,0.8491071035287869 -63428,0.999817684110813 -63429,0.795340264244002 -63430,0.19605510161330042 -63431,0.6759941945092915 -63432,0.6742929375641875 -63433,0.5024374938568132 -63434,0.2555044700234582 -63435,0.8976162463042018 -63436,0.19802111887693796 -63437,0.7147399759852948 -63438,0.3704497210732699 -63439,0.1669921527511844 -63440,0.9202732454595665 -63441,0.28396473652435295 -63442,0.6413635010093018 -63443,0.35382827878441925 -63444,0.8346277291333759 -63445,0.9543064720797481 -63446,0.4747713045980839 -63447,0.019382222319013653 -63448,0.8070891467375724 -63449,0.5849051997400102 -63450,0.6525454125796727 -63451,0.598332632786008 -63452,0.9834810960800024 -63453,0.1289523208172848 -63454,0.6467639561246554 -63455,0.3170394424305618 -63456,0.23797246961397478 -63457,0.2342981593461657 -63458,0.369062465577229 -63459,0.25720152344465674 -63460,0.866415304578918 -63461,0.4955104670668622 -63462,0.030188068220976194 -63463,0.23738598037370684 -63464,0.028193528779491217 -63465,0.5281479960977311 -63466,0.06449648960370291 -63467,0.7297594207209266 -63468,0.7686188132115813 -63469,0.22713157226652847 -63470,0.3214944256962343 -63471,0.03560444025793974 -63472,0.8548874669050667 -63473,0.49053914540070553 -63474,0.04628767420657787 -63475,0.9189204465683567 -63476,0.04738759031001738 -63477,0.5578411850415038 -63478,0.23559618815792593 -63479,0.5333310965673947 -63480,0.9721762165858657 -63481,0.12662342256990533 -63482,0.5642876493390763 -63483,0.6228110207517499 -63484,0.8820768647612305 -63485,0.7770078990237628 -63486,0.2595266601650822 -63487,0.3841182607428545 -63488,0.5024335970804883 -63489,0.46360828939775933 -63490,0.2884951200848783 -63491,0.668543982796181 -63492,0.9124313401314988 -63493,0.38029464243289657 -63494,0.9791772972606791 -63495,0.5750048715151931 -63496,0.6131795900343737 -63497,0.8870990683267355 -63498,0.9345870582452549 -63499,0.8957232298415402 -63500,0.9902731944934057 -63501,0.6268574186064686 -63502,0.7968744746717862 -63503,0.23799515808776806 -63504,0.7712726258950653 -63505,0.09530230454703748 -63506,0.30815427917198523 -63507,0.9826838205496057 -63508,0.3329497917104205 -63509,0.3426897323553768 -63510,0.25042277918848177 -63511,0.0009949683090646477 -63512,0.31056768531567747 -63513,0.9646067591717412 -63514,0.3542620580549737 -63515,0.7967010433095633 -63516,0.24235066729939414 -63517,0.9654362853753222 -63518,0.18126921318045164 -63519,0.6242875980340273 -63520,0.864265103068902 -63521,0.7378825852472287 -63522,0.10811256918477796 -63523,0.605640951899379 -63524,0.5002135345797241 -63525,0.21416680272733535 -63526,0.20145358091316312 -63527,0.9908943050981768 -63528,0.6679509124611855 -63529,0.3289580397512991 -63530,0.4549022469407349 -63531,0.1043660436402496 -63532,0.5638012155774625 -63533,0.3299649076301532 -63534,0.2550699043216612 -63535,0.15026870678129134 -63536,0.04086806032010004 -63537,0.8572276389590745 -63538,0.28790601498171176 -63539,0.6271886841989657 -63540,0.060476689784442206 -63541,0.3703276039599718 -63542,0.07270485306360974 -63543,0.48540641138285945 -63544,0.0679829305258528 -63545,0.213713914184945 -63546,0.5245399656061894 -63547,0.6304688923026706 -63548,0.26012590989599327 -63549,0.7336824401172186 -63550,0.7848512297274214 -63551,0.09060292396210623 -63552,0.9536853140136291 -63553,0.2084088196198809 -63554,0.5345905702745937 -63555,0.24707697019321906 -63556,0.9859909442551332 -63557,0.025329664081895076 -63558,0.4456070304999912 -63559,0.8325554658197332 -63560,0.9702327820280813 -63561,0.39655400762767745 -63562,0.5854881455335393 -63563,0.5753997891197631 -63564,8.251987097351865e-05 -63565,0.3938082895391346 -63566,0.13024348854877055 -63567,0.18084551612351984 -63568,0.7725497706043634 -63569,0.4983074124277085 -63570,0.18843600895712187 -63571,0.45428965130602406 -63572,0.17794227151981434 -63573,0.9002766562149896 -63574,0.13119694341362098 -63575,0.06215341736421076 -63576,0.09886439890888798 -63577,0.011900663316555704 -63578,0.9708615015345371 -63579,0.06217163745219345 -63580,0.4214076444205016 -63581,0.585052596656848 -63582,0.041867060535538125 -63583,0.517340953008357 -63584,0.32932081161101334 -63585,0.06936877821733334 -63586,0.1186043939079291 -63587,0.49637378202964544 -63588,0.0056260480914746 -63589,0.10274197034801313 -63590,0.6475142595417324 -63591,0.3646905585333643 -63592,0.2796118904904983 -63593,0.7413198351987745 -63594,0.6259506649412087 -63595,0.479527371463787 -63596,0.3730410674230801 -63597,0.19868707811437014 -63598,0.6845218469412593 -63599,0.29745486313932834 -63600,0.812898709718505 -63601,0.37068968421436665 -63602,0.35398847830175517 -63603,0.609584411816142 -63604,0.9194242571581402 -63605,0.6417623907301759 -63606,0.9159129338110392 -63607,0.41740320063772796 -63608,0.1487974179110566 -63609,0.9640020839132027 -63610,0.7601335927765134 -63611,0.535043754536965 -63612,0.3045883656506718 -63613,0.44821689231977413 -63614,0.33871004332435783 -63615,0.9097652613228224 -63616,0.012368387172369544 -63617,0.9362783070136893 -63618,0.4987310981274403 -63619,0.1509307712680259 -63620,0.4893334743573168 -63621,0.45617832299539984 -63622,0.12230229182409003 -63623,0.6567794238401081 -63624,0.27512880793146655 -63625,0.49593981754244565 -63626,0.16679967898311965 -63627,0.05196892872380632 -63628,0.1013300257511679 -63629,0.30465237695553493 -63630,0.8062051196120581 -63631,0.2832043291106081 -63632,0.8820260456830995 -63633,0.7661902460712683 -63634,0.10207376807519442 -63635,0.9525350633180958 -63636,0.5620174374746955 -63637,0.3206574164504964 -63638,0.3976802626656455 -63639,0.9328969194164732 -63640,0.17743461960177564 -63641,0.913051522355713 -63642,0.9642639961062228 -63643,0.8855019464208411 -63644,0.38222180370331515 -63645,0.5198892610949112 -63646,0.2083489191832234 -63647,0.8174374146837102 -63648,0.6562687710975801 -63649,0.6637473284059652 -63650,0.6022289464831174 -63651,0.29964903673819376 -63652,0.15173421952594812 -63653,0.6489177971570264 -63654,0.38651359190130186 -63655,0.8310012445392105 -63656,0.35304360033800475 -63657,0.4652271832001035 -63658,0.8644813809868009 -63659,0.8239310242645996 -63660,0.23228834347655503 -63661,0.48437284757898047 -63662,0.32376053734906163 -63663,0.20206244837029086 -63664,0.7792477534422645 -63665,0.5062503008624794 -63666,0.6551505207514395 -63667,0.6336913088869222 -63668,0.9399203704022632 -63669,0.10617679596107032 -63670,0.9375993452654549 -63671,0.14879608193990046 -63672,0.9197919860003447 -63673,0.5477657880391399 -63674,0.23011924796236505 -63675,0.08821486254627886 -63676,0.5955164187296573 -63677,0.4029961316809546 -63678,0.8018115266278646 -63679,0.8248227315684998 -63680,0.7492390406511082 -63681,0.32996602426174293 -63682,0.22486774173962054 -63683,0.24501551772238916 -63684,0.3285296213349508 -63685,0.8946811975874964 -63686,0.7894879797107511 -63687,0.6116392629908198 -63688,0.19861500790345132 -63689,0.7189164245776214 -63690,0.9639272209053503 -63691,0.23261957712035908 -63692,0.8614811760045642 -63693,0.7800644145714303 -63694,0.5358500261195858 -63695,0.15358096979767277 -63696,0.03399076276655988 -63697,0.31892252603005833 -63698,0.11994118768959938 -63699,0.16072615626626108 -63700,0.7788393473607895 -63701,0.7608565634280442 -63702,0.4712820716088929 -63703,0.7564447246166873 -63704,0.5113700130131343 -63705,0.09948363224830359 -63706,0.20764764336191244 -63707,0.6451618664597708 -63708,0.8070877721732461 -63709,0.8451550066061199 -63710,0.38070739162329814 -63711,0.6779468145529735 -63712,0.46796954253041434 -63713,0.6515275493438376 -63714,0.5239066713323968 -63715,0.38726644497454155 -63716,0.03333797401163552 -63717,0.7373804568048609 -63718,0.8039598748782953 -63719,0.9768605242694449 -63720,0.2626352556000754 -63721,0.847658439696222 -63722,0.4555950954268816 -63723,0.25190719984055676 -63724,0.2729108335284657 -63725,0.5609425539244454 -63726,0.37851812282550235 -63727,0.2636069054249329 -63728,0.9927283772096381 -63729,0.8985154019046713 -63730,0.59598482179142 -63731,0.9390267770136329 -63732,0.7579198861813584 -63733,0.637318219317612 -63734,0.5688950668294948 -63735,0.9354532102560523 -63736,0.3452045553135511 -63737,0.680069239323569 -63738,0.2540743562059059 -63739,0.5024133926913528 -63740,0.02294081666037162 -63741,0.7336035240951546 -63742,0.825789078755978 -63743,0.3697189661586684 -63744,0.6646639389283305 -63745,0.6020857014072473 -63746,0.8653844802168756 -63747,0.7325199250742426 -63748,0.4170173884822761 -63749,0.7326216478743107 -63750,0.542300083568857 -63751,0.7554366860708286 -63752,0.626595759001473 -63753,0.7458425979733042 -63754,0.34753873871079466 -63755,0.7520018557544467 -63756,0.36888383134512936 -63757,0.025783412110150783 -63758,0.7221863702151804 -63759,0.7042011344676986 -63760,0.7273147183947285 -63761,0.03563811393514449 -63762,0.19455736088352416 -63763,0.15022784199494843 -63764,0.7628683053778419 -63765,0.6035209236202653 -63766,0.9212571492103644 -63767,0.8397638393178882 -63768,0.553282797118067 -63769,0.5543714436788378 -63770,0.5222989480301684 -63771,0.0750906638142349 -63772,0.37812814038175646 -63773,0.8403599776854859 -63774,0.8166097440445872 -63775,0.8637503443275957 -63776,0.2578762671738709 -63777,0.24755211674857802 -63778,0.7185255697320528 -63779,0.8831197342843737 -63780,0.3799958205083407 -63781,0.9526948132937103 -63782,0.057829731395449 -63783,0.18261369133074 -63784,0.907929846599994 -63785,0.9853095846861415 -63786,0.7780733715391632 -63787,0.057860598985004175 -63788,0.7182112072315656 -63789,0.3702646992545211 -63790,0.30303287001045687 -63791,0.09264372940471077 -63792,0.24821565597625084 -63793,0.5279330752394115 -63794,0.9325124502147578 -63795,0.3415999520253534 -63796,0.35338463053146263 -63797,0.5858821610360495 -63798,0.01307480816190032 -63799,0.7036529462987433 -63800,0.7319005681680958 -63801,0.7064540572240262 -63802,0.347015673880923 -63803,0.006570951705283323 -63804,0.14059554338813973 -63805,0.2871239262870867 -63806,0.9476515166248085 -63807,0.4832281757439154 -63808,0.7904553472372243 -63809,0.6206095664976677 -63810,0.9755513718437524 -63811,0.5098177832586503 -63812,0.9735823655912139 -63813,0.6575377740475272 -63814,0.6473104712240919 -63815,0.723224572862698 -63816,0.5105003286289532 -63817,0.7170719349094464 -63818,0.08064449634521986 -63819,0.8508097282203853 -63820,0.30657369998002604 -63821,0.22786959820778752 -63822,0.9201764623811004 -63823,0.8806194082529245 -63824,0.8430666318199939 -63825,0.27263361434918354 -63826,0.8230902434223282 -63827,0.8603059168318457 -63828,0.9759588901433227 -63829,0.3488447527060292 -63830,0.0878861100919266 -63831,0.05404587258601612 -63832,0.5724199990269538 -63833,0.2791506144270586 -63834,0.5375721861323427 -63835,0.3008155527175804 -63836,0.32554606260910945 -63837,0.19735470507937514 -63838,0.6319079092538085 -63839,0.18790900159047763 -63840,0.016916007060278626 -63841,0.30524444763065106 -63842,0.7237516063944897 -63843,0.8994385602088452 -63844,0.9233854506387557 -63845,0.10458608195891106 -63846,0.09123071656677051 -63847,0.8245047668884824 -63848,0.36962502997267466 -63849,0.9491042378143641 -63850,0.7823711714693621 -63851,0.3292927073449897 -63852,0.44525594721000394 -63853,0.6792834240210067 -63854,0.3169122901120016 -63855,0.372802193475277 -63856,0.9197412673996157 -63857,0.38763899649870015 -63858,0.37124554728446224 -63859,0.8637332918500524 -63860,0.7246378755176943 -63861,0.7320232093570154 -63862,0.9235063845025334 -63863,0.6116671414872655 -63864,0.7655124697982606 -63865,0.6860172205848967 -63866,0.6105290770797727 -63867,0.9646386532902717 -63868,0.4714194313425152 -63869,0.94473128435856 -63870,0.9663584587292259 -63871,0.6000776975754816 -63872,0.13683118237526248 -63873,0.22630176596088725 -63874,0.8388847313531026 -63875,0.6160749466814457 -63876,0.7781074665984526 -63877,0.9020707823528756 -63878,0.4184257572696627 -63879,0.4641967740570606 -63880,0.08888621975362765 -63881,0.357602327817762 -63882,0.9271621843059329 -63883,0.040335209865298816 -63884,0.44709403779169987 -63885,0.5995817513699786 -63886,0.010082835503381404 -63887,0.1506378586096503 -63888,0.26800676357301867 -63889,0.5575473200527024 -63890,0.9900044469752364 -63891,0.4981461763930267 -63892,0.4671809050790958 -63893,0.9217692834493513 -63894,0.2102679177911959 -63895,0.007450797018642263 -63896,0.47961090259728223 -63897,0.8839299800813954 -63898,0.3474194842505911 -63899,0.5811612643337898 -63900,0.029920023475309976 -63901,0.9399588454215962 -63902,0.41011724198224353 -63903,0.4727126138626757 -63904,0.4783258498896239 -63905,0.21089864155889482 -63906,0.15739669192938854 -63907,0.5530196876611028 -63908,0.951790949538523 -63909,0.4204205662102135 -63910,0.871327997168825 -63911,0.5100455455132694 -63912,0.8301557124836855 -63913,0.9525626673008478 -63914,0.7340027487698645 -63915,0.12396348168235605 -63916,0.5248341063484626 -63917,0.5802849507515193 -63918,0.7386391280749477 -63919,0.591126310653881 -63920,0.7509194956658811 -63921,0.8593661461468121 -63922,0.7526861924865071 -63923,0.8608125130441575 -63924,0.8013191207453706 -63925,0.8990970674067891 -63926,0.5226630518356405 -63927,0.5785406035045073 -63928,0.892457860009348 -63929,0.7704779355678346 -63930,0.0788364729416946 -63931,0.9896961886764355 -63932,0.8873972679566716 -63933,0.7552941526382451 -63934,0.873771584519558 -63935,0.15563870915957534 -63936,0.27184496595196217 -63937,0.8703933094770356 -63938,0.9818125558128548 -63939,0.9481950615170173 -63940,0.05919903777550051 -63941,0.3348509540962544 -63942,0.7502997331483983 -63943,0.3155652677390637 -63944,0.6687380342362459 -63945,0.7210461628993073 -63946,0.834660800167722 -63947,0.4389752650448132 -63948,0.6493981059307572 -63949,0.17292419654611768 -63950,0.43610424435096806 -63951,0.658296003837684 -63952,0.07670037708942878 -63953,0.6983575096037936 -63954,0.04010908225928789 -63955,0.18862349548826807 -63956,0.9881559996535711 -63957,0.9174741619546777 -63958,0.28281397473242387 -63959,0.6570826105660724 -63960,0.05118535311773498 -63961,0.5680856958010814 -63962,0.6605394386544857 -63963,0.9878265785069341 -63964,0.5041161991455596 -63965,0.8705153541254963 -63966,0.9926410030005011 -63967,0.7789755773921584 -63968,0.9622269622112533 -63969,0.38162144351438043 -63970,0.05989234095797802 -63971,0.06621994679537435 -63972,0.07632307895323787 -63973,0.4657224790683002 -63974,0.49662186004005615 -63975,0.4786967040842578 -63976,0.6280399750978477 -63977,0.9714246412845855 -63978,0.536650971515388 -63979,0.6052947477403071 -63980,0.5926989380634355 -63981,0.559912820157336 -63982,0.6761510199724703 -63983,0.34461730731220497 -63984,0.3692087061197955 -63985,0.4068599923275714 -63986,0.059128764571523496 -63987,0.0816884237716149 -63988,0.26246066673428314 -63989,0.0019382867143074023 -63990,0.877708928811251 -63991,0.7403159588094188 -63992,0.6827407289923713 -63993,0.9803866226967954 -63994,0.07675428815720142 -63995,0.2768266058252913 -63996,0.14218627289283903 -63997,0.8084505470151284 -63998,0.7896735043294324 -63999,0.44475530718602774 diff --git a/tests/datasets/test_generic/simple/HDF5.h5 b/tests/datasets/test_generic/simple/HDF5.h5 deleted file mode 100644 index 4a74559..0000000 Binary files a/tests/datasets/test_generic/simple/HDF5.h5 and /dev/null differ diff --git a/tests/datasets/test_generic/simple/Parquet.parquet b/tests/datasets/test_generic/simple/Parquet.parquet deleted file mode 100644 index b7f5d7f..0000000 Binary files a/tests/datasets/test_generic/simple/Parquet.parquet and /dev/null differ diff --git a/tests/datasets/test_generic/simple/Xarray.nc b/tests/datasets/test_generic/simple/Xarray.nc deleted file mode 100644 index 3d5c110..0000000 Binary files a/tests/datasets/test_generic/simple/Xarray.nc and /dev/null differ diff --git a/tests/datasets/test_generic/simple/Zarr.zarr/.zarray b/tests/datasets/test_generic/simple/Zarr.zarr/.zarray deleted file mode 100644 index 93b2b99..0000000 --- a/tests/datasets/test_generic/simple/Zarr.zarr/.zarray +++ /dev/null @@ -1,24 +0,0 @@ -{ - "chunks": [ - 20, - 40, - 40 - ], - "compressor": { - "blocksize": 0, - "clevel": 5, - "cname": "lz4", - "id": "blosc", - "shuffle": 1 - }, - "dtype": " q2) - - def test_som_mcpu(self): - som = SOM(x=3, y=2, input_len=2, num_epochs=300) - - da_X = da.from_array(self.X, meta=np.array((), dtype=np.float32)) - - q1 = som._lazy_quantization_error_cpu(da_X) - - som._lazy_fit_cpu(da_X) - - y = som._lazy_predict_cpu(da_X) - - q2 = som._lazy_quantization_error_cpu(da_X) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertTrue(q1 > q2) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_som_gpu(self): - som = SOM(x=3, y=2, input_len=2, num_epochs=300) - - cp_X = cp.asarray(self.X) - - q1 = som._quantization_error_gpu(cp_X) - - som._fit_gpu(cp_X) - - y = som._predict_gpu(cp_X) - - q2 = som._quantization_error_gpu(cp_X) - - self.assertTrue(is_gpu_array(y)) - self.assertTrue(q1 > q2) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_som_mgpu(self): - som = SOM(x=3, y=2, input_len=2, num_epochs=300) - - da_X = da.from_array(cp.asarray(self.X), meta=cp.array((), dtype=cp.float32)) - - q1 = som._lazy_quantization_error_gpu(da_X) - - som._lazy_fit_gpu(da_X) - - y = som._lazy_predict_gpu(da_X) - - q2 = som._lazy_quantization_error_gpu(da_X) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertTrue(q1 > q2) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_som_mcpu_local(self): - som = SOM(x=3, y=2, input_len=2, num_epochs=300, run_local=True) - - da_X = da.from_array(self.X, meta=np.array((), dtype=np.float32)) - - q1 = som.quantization_error(da_X) - - som.fit(da_X) - - y = som.predict(da_X) - - self.assertTrue(is_cpu_array(y)) - - q2 = som.quantization_error(da_X) - - self.assertTrue(q1 > q2) diff --git a/tests/ml/cluster/test_spectral.py b/tests/ml/cluster/test_spectral.py deleted file mode 100644 index 9bb13a4..0000000 --- a/tests/ml/cluster/test_spectral.py +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import dask.array as da - -from sklearn.datasets import make_blobs - -from dasf.ml.cluster import SpectralClustering -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_dask_cpu_array - - -class TestSpectralClustering(unittest.TestCase): - def setUp(self): - self.size = 1000 - self.centers = 3 - self.random_state = 42 - - self.X, self.y, self.centroids = make_blobs(n_samples=self.size, - centers=self.centers, - n_features=2, - return_centers=True, - random_state=self.random_state) - - def __match_randomly_labels_created(self, y1, y2): - y2 = (y2 * -1) - 1 - - for i in range(len(y1)): - if y2[i] < 0: - y2[y2 == y2[i]] = y1[i] - - if not np.any(y2[y2 < 0]): - break - - return y1, y2 - - def test_spectral_cpu(self): - sc = SpectralClustering(n_clusters=self.centers, - random_state=self.random_state) - - y = sc._fit_predict_cpu(self.X) - - self.assertTrue(is_cpu_array(y)) - - y1, y2 = self.__match_randomly_labels_created(y, self.y) - - self.assertTrue(np.array_equal(y1, y2, equal_nan=True)) - - def test_spectral_mcpu(self): - sc = SpectralClustering(n_clusters=self.centers, - random_state=self.random_state, - n_components=250) - - da_X = da.from_array(self.X) - - try: - y = sc._lazy_fit_predict_cpu(da_X) - except TypeError as te: - self.skipTest("BUG - SpectralClustering Dask Type Error: " + str(te)) - - self.assertTrue(is_dask_cpu_array(y)) - - y1, y2 = self.__match_randomly_labels_created(y.compute(), self.y) - - # Check if the accurary is higher than 99%. - self.assertTrue(len(np.setdiff1d(y1, y2)) <= int(self.size*0.01)) diff --git a/tests/ml/decomposition/test_pca.py b/tests/ml/decomposition/test_pca.py deleted file mode 100644 index fb4ab30..0000000 --- a/tests/ml/decomposition/test_pca.py +++ /dev/null @@ -1,84 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import dask.array as da - -try: - import cupy as cp -except ImportError: - pass - -from sklearn import datasets -from parameterized import parameterized - -from dasf.ml.decomposition import PCA -from dasf.utils.funcs import is_gpu_supported - - -PCA_SOLVERS_CPU = [("full"), ("arpack"), ("randomized"), ("auto")] -PCA_SOLVERS_MCPU = [("full"), ("tsqr"), ("auto")] # "ramdomized" has a Dask bug -PCA_SOLVERS_GPU = [("full"), ("jacobi"), ("auto")] - - -class TestPCA(unittest.TestCase): - def setUp(self): - self.data = datasets.load_iris().data - self.n_components = 3 - - @parameterized.expand(PCA_SOLVERS_CPU) - def test_pca_cpu(self, svd_solver): - try: - pca = PCA(n_components=self.n_components, svd_solver=svd_solver) - - # check the shape of fit.transform - X_r = pca._fit_cpu(self.data).transform(self.data) - self.assertEqual(X_r.shape[1], self.n_components) - - # check the equivalence of fit.transform and fit_transform - X_r2 = pca._fit_transform_cpu(self.data) - np.testing.assert_allclose(X_r, X_r2) - X_r = pca._transform_cpu(self.data) - np.testing.assert_allclose(X_r, X_r2) - - # Test get_covariance and get_precision - cov = pca._get_covariance_cpu() - precision = pca._get_precision_cpu() - np.testing.assert_allclose(np.dot(cov, precision), - np.eye(self.data.shape[1]), - atol=1e-12) - except NotImplementedError: - unittest.SkipTest(f"Skipped because {svd_solver} is not supported.") - - @parameterized.expand(PCA_SOLVERS_MCPU) - def test_pca_mcpu(self, svd_solver): - try: - data_X = da.from_array(self.data, - chunks=(int(self.data.shape[0]/4), self.data.shape[1]), - meta=np.array(())) - - pca = PCA(n_components=self.n_components, svd_solver=svd_solver) - - # check the shape of fit.transform - X_r = pca._lazy_fit_cpu(data_X).transform(data_X) - self.assertEqual(X_r.shape[1], self.n_components) - - # check the equivalence of fit.transform and fit_transform - X_r2 = pca._lazy_fit_transform_cpu(data_X) - np.testing.assert_allclose(X_r, X_r2) - X_r = pca._lazy_transform_cpu(data_X) - np.testing.assert_allclose(X_r, X_r2) - except AttributeError: - unittest.SkipTest(f"Skipped due to Dask-ML bug.") - - @parameterized.expand(PCA_SOLVERS_GPU) - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_pca_gpu(self, svd_solver): - raise unittest.SkipTest("Check why PCA is not working for floats") - - @parameterized.expand(PCA_SOLVERS_GPU) - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_pca_mgpu(self, svd_solver): - raise unittest.SkipTest("Check why PCA is not working for floats") diff --git a/tests/pipeline/executors/test_dask.py b/tests/pipeline/executors/test_dask.py deleted file mode 100644 index 95620c1..0000000 --- a/tests/pipeline/executors/test_dask.py +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/env python3 - -import os -import tempfile -import unittest -import urllib.parse - -from mock import patch - -from dask.distributed import Client, LocalCluster - -from dasf.utils.funcs import is_gpu_supported -from dasf.pipeline.executors import DaskPipelineExecutor -from dasf.pipeline.executors.dask import setup_dask_protocol - - -class TestDaskProtocol(unittest.TestCase): - def test_setup_dask_protocol_none(self): - self.assertEqual(setup_dask_protocol(), "tcp://") - - def test_setup_dask_protocol_tcp(self): - self.assertEqual(setup_dask_protocol("tcp"), "tcp://") - - def test_setup_dask_protocol_ucx(self): - self.assertEqual(setup_dask_protocol("ucx"), "ucx://") - - def test_setup_dask_protocol_foo(self): - with self.assertRaises(Exception) as context: - setup_dask_protocol("foo") - - self.assertTrue('Protocol foo is not supported.' in str(context.exception)) - - -class TestDaskExecutor(unittest.TestCase): - def setUp(self): - self.scheduler_file = os.path.abspath(f"{tempfile.gettempdir()}/scheduler.json") - - def test_dask_executor_remote(self): - - with LocalCluster() as cluster: - conn = urllib.parse.urlsplit(cluster.scheduler.address) - - dask = DaskPipelineExecutor(address=conn.hostname, port=conn.port) - - # Compute everything to gracefully shutdown - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - def test_dask_executor_local_no_args(self): - dask = DaskPipelineExecutor() - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - def test_dask_executor_local_no_args_no_gracefully(self): - dask = DaskPipelineExecutor() - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=False) - dask.close() - - self.assertFalse(dask.is_connected) - - def test_dask_executor_local(self): - dask = DaskPipelineExecutor(local=True) - - client = Client.current() - - self.assertTrue(dask.is_connected) - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_dask_executor_local_gpu(self): - with patch.dict(os.environ, {'CUDA_VISIBLE_DEVICES': '0'}): - - dask = DaskPipelineExecutor(local=True, use_gpu=True) - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - self.assertGreater(dask.ngpus, 0) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_dask_executor_local_gpu_and_rmm(self): - with patch.dict(os.environ, {'CUDA_VISIBLE_DEVICES': '0'}): - - dask = DaskPipelineExecutor(local=True, use_gpu=True, gpu_allocator="rmm") - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_dask_executor_local_gpu_and_unknown_allocator(self): - with self.assertRaises(ValueError) as context: - - dask = DaskPipelineExecutor(local=True, use_gpu=True, gpu_allocator="foo") - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - client.close() - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - def test_dask_executor_scheduler_file(self): - with LocalCluster() as cluster: - client = Client(cluster) - - client.write_scheduler_file(self.scheduler_file) - - client_kwargs = {} - client_kwargs["scheduler_file"] = self.scheduler_file - - client.close() - - dask = DaskPipelineExecutor(client_kwargs=client_kwargs) - - client = Client.current() - - self.assertEqual(hash(dask.client), hash(client)) - - # Compute everything to gracefully shutdown - dask.shutdown(gracefully=True) - dask.close() - - self.assertFalse(dask.is_connected) - - def tearDown(self): - if os.path.isfile(self.scheduler_file) or os.path.islink(self.scheduler_file): - os.remove(self.scheduler_file) diff --git a/tests/pipeline/test_pipeline.py b/tests/pipeline/test_pipeline.py deleted file mode 100644 index fc78d30..0000000 --- a/tests/pipeline/test_pipeline.py +++ /dev/null @@ -1,215 +0,0 @@ -#!/usr/bin/env python3 - -import unittest - -import numpy as np - -from mock import MagicMock - -from dasf.pipeline import Pipeline -from dasf.datasets import DatasetArray -from dasf.transforms.base import Transform -from dasf.transforms.base import TargeteredTransform - - -class Dataset_A(DatasetArray): - def load(self): - self._data = np.arange(10) - return self._data - - -class Transform_A(Transform): - def transform(self, X): - return X + 2 - - -class Transform_B(Transform): - def transform(self, X): - return X - 2 - - -class Transform_C(Transform): - def transform(self, X): - return X * 2 - - -class Transform_D(Transform): - def transform(self, X): - return X / 2 - - -class Transform_E(Transform): - def transform_new(self, X): - return X + 4 - - -class Transform_F(TargeteredTransform): - def transform(self, X): - return X - 4 - - -def transform_g(X): - return X - 4 - - -class TestPipeline(unittest.TestCase): - def test_pipeline_creation(self): - dataset_A = Dataset_A(name="Test Dataset A") - - t_A = Transform_A() - t_B = Transform_B() - - pipeline = Pipeline("Test Pipeline Creation") - - pipeline = pipeline.add(t_A, X=dataset_A) \ - .add(t_B, X=t_A) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - all_output = '\n'.join(plogs.output) - - self.assertIn('Dataset_A', all_output) - self.assertIn('Transform_A', all_output) - self.assertIn('Transform_B', all_output) - - def test_pipeline_creation_in_sequence(self): - dataset_A = Dataset_A(name="Test Dataset A") - - t_A = Transform_A() - t_B = Transform_B() - t_C = Transform_C() - t_D = Transform_D() - - pipeline = Pipeline("Test Pipeline Creation 1") - - pipeline = pipeline.add(t_A, X=dataset_A) \ - .add(t_B, X=t_A) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - all_output = '\n'.join(plogs.output) - - self.assertIn('Dataset_A', all_output) - self.assertIn('Transform_A', all_output) - self.assertIn('Transform_B', all_output) - self.assertNotIn('Transform_C', all_output) - self.assertNotIn('Transform_D', all_output) - - pipeline = Pipeline("Test Pipeline Creation 2") - - pipeline = pipeline.add(t_C, X=dataset_A) \ - .add(t_D, X=t_C) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - all_output = '\n'.join(plogs.output) - - self.assertIn('Dataset_A', all_output) - self.assertNotIn('Transform_A', all_output) - self.assertNotIn('Transform_B', all_output) - self.assertIn('Transform_C', all_output) - self.assertIn('Transform_D', all_output) - - def test_pipeline_non_transformers(self): - dataset_A = Dataset_A(name="Test Dataset A") - - t_E = Transform_E() - - pipeline = Pipeline("Test Pipeline Creation Non Transformers") - - pipeline = pipeline.add(t_E.transform_new, X=dataset_A) \ - .add(transform_g, X=t_E.transform_new) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - all_output = '\n'.join(plogs.output) - - self.assertIn('Dataset_A', all_output) - self.assertIn('transform_new', all_output) - self.assertIn('transform_g', all_output) - - def test_pipeline_targetered_transformers(self): - dataset_A = Dataset_A(name="Test Dataset A") - - t_F = Transform_F() - - pipeline = Pipeline("Test Pipeline Creation Non Transformers") - - pipeline = pipeline.add(t_F, X=dataset_A) \ - .add(transform_g, X=t_F) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - all_output = '\n'.join(plogs.output) - - self.assertIn('Dataset_A', all_output) - self.assertIn('Transform_F', all_output) - self.assertIn('transform_g', all_output) - - def test_pipeline_results(self): - orig_data = np.arange(10) - - dataset_A = Dataset_A(name="Test Dataset A") - - t_A = Transform_A() - t_B = Transform_B() - - pipeline = Pipeline("Test Pipeline Creation") - - pipeline = pipeline.add(t_A, X=dataset_A) \ - .add(t_B, X=t_A) - - with self.assertLogs('DASF', level='INFO') as plogs: - pipeline.run() - - self.assertIn('Pipeline run successfully', plogs.output[-1]) - - t_A_r = pipeline.get_result_from(t_A) - t_B_r = pipeline.get_result_from(t_B) - - self.assertTrue(np.array_equal(t_A_r, orig_data + 2)) - self.assertTrue(np.array_equal(t_B_r, orig_data)) - - def test_dataset_registration(self): - dataset_A = Dataset_A(name="Test Dataset A") - - executor = MagicMock() - executor.is_connected = True - executor.pre_run.return_value = None - executor.post_run.return_value = None - executor.has_dataset = MagicMock(side_effect=[False, True]) - executor.register_dataset.return_value = None - executor.get_dataset.return_value = dataset_A - - t_A = Transform_A() - t_B = Transform_B() - - pipeline = Pipeline("Test Pipeline Creation", executor=executor) - - pipeline = pipeline.add(t_A, X=dataset_A) \ - .add(t_B, X=t_A) - - pipeline.run() - - key = str(hash(dataset_A.load)) - kwargs = {key: dataset_A} - - # XXX: Disable register dataset for now - # executor.register_dataset.assert_called_once_with(**kwargs) - # executor.has_dataset.assert_called_with(key) - raise unittest.SkipTest("Datasets are disabled for now") diff --git a/tests/preprocessing/test_standardscaler.py b/tests/preprocessing/test_standardscaler.py deleted file mode 100644 index 1b6d31e..0000000 --- a/tests/preprocessing/test_standardscaler.py +++ /dev/null @@ -1,78 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import dask.array as da - -from mock import patch, Mock - -try: - import cupy as cp -except ImportError: - pass - -from dasf.ml.preprocessing import StandardScaler -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.funcs import is_gpu_supported - - -class TestStandardScaler(unittest.TestCase): - def setUp(self): - size = 20 - self.X = np.array([np.arange(size)]) - self.X.shape = (size, 1) - - mean = np.mean(self.X) - std = np.std(self.X) - - self.y = (self.X - mean) / std - - def test_standardscaler_cpu(self): - ss = StandardScaler() - - y = ss._fit_transform_cpu(self.X) - - self.assertTrue(is_cpu_array(y)) - self.assertTrue(np.array_equal(self.y, y, equal_nan=True)) - - def test_standardscaler_mcpu(self): - ss = StandardScaler() - - y = ss._lazy_fit_transform_cpu(da.from_array(self.X)) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.compute(), equal_nan=True)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_standardscaler_gpu(self): - ss = StandardScaler() - - y = ss._fit_transform_gpu(cp.asarray(self.X)) - - self.assertTrue(is_gpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.get(), equal_nan=True)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_standardscaler_mgpu(self): - ss = StandardScaler() - - y = ss._lazy_fit_transform_gpu(da.from_array(cp.asarray(self.X))) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.compute().get(), equal_nan=True)) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_standardscaler_mcpu_local(self): - ss = StandardScaler(run_local=True) - - y = ss._fit_transform_cpu(self.X) - - self.assertTrue(is_cpu_array(y)) - self.assertTrue(np.array_equal(self.y, y, equal_nan=True)) diff --git a/tests/transforms/test_base.py b/tests/transforms/test_base.py deleted file mode 100644 index e1358f9..0000000 --- a/tests/transforms/test_base.py +++ /dev/null @@ -1,317 +0,0 @@ -#!/usr/bin/env python3 - -import os -import shutil -import tempfile -import unittest -import functools -import numpy as np -import pandas as pd -import dask.array as da -import dask.dataframe as dd - -try: - import cupy as cp - import cudf - import dask_cudf as dcudf -except ImportError: - pass - -from dasf.transforms.base import MappedTransform -from dasf.transforms.base import ReductionTransform -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.types import is_cpu_dataframe -from dasf.utils.types import is_gpu_dataframe -from dasf.utils.types import is_dask_cpu_dataframe -from dasf.utils.types import is_dask_gpu_dataframe -from dasf.utils.funcs import is_gpu_supported - - -class TestMappedTransform(unittest.TestCase): - def __internal_max_function(self, block, nxp=np, block_info=None): - # Using `nxp` parameter to avoid conflicts - return nxp.asarray([[nxp.max(block)]]) - - def __internal_max_min_function(self, block, nxp=np, block_info=None): - # Using `nxp` parameter to avoid conflicts - return nxp.asarray([[nxp.min(block), nxp.max(block)]]) - - def test_rechunk_max_min_cpu(self): - X = np.random.random((40, 40, 40)) - - mapped = MappedTransform(function=self.__internal_max_min_function, - output_chunk=(1, 2)) - - X_t = mapped._transform_cpu(X, nxp=np) - - # Numpy does not use blocks. - self.assertEqual(X_t.shape, (1, 2)) - - self.assertTrue(is_cpu_array(X_t)) - - def test_rechunk_max_min_mcpu(self): - X = da.random.random((40, 40, 40), chunks=(10, 40, 40)) - - mapped = MappedTransform(function=self.__internal_max_min_function, - output_chunk=(1, 2)) - - X_t = mapped._lazy_transform_cpu(X, nxp=np) - - self.assertEqual(X_t.shape, (1, 2)) - # We split data in 4 chunks of axis 0. If the new chunk size is - # (1, 2), it means that the final size is (1 * 4, 2). - self.assertEqual(X_t.compute().shape, (1, 2)) - - self.assertTrue(is_dask_cpu_array(X_t)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_rechunk_max_min_gpu(self): - X = cp.random.random((40, 40, 40)) - - mapped = MappedTransform(function=self.__internal_max_min_function, - output_chunk=(1, 2)) - - X_t = mapped._transform_gpu(X, nxp=cp) - - # Numpy does not use blocks. - self.assertEqual(X_t.shape, (1, 2)) - - self.assertTrue(is_gpu_array(X_t)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_rechunk_max_min_mgpu(self): - # We need to convert to Dask to use Cupy random. - X_cp = cp.random.random((40, 40, 40)) - - X = da.from_array(X_cp, chunks=(10, 40, 40), meta=cp.array(())) - - mapped = MappedTransform(function=self.__internal_max_min_function, - output_chunk=(1, 2)) - - X_t = mapped._lazy_transform_gpu(X, nxp=cp) - - self.assertEqual(X_t.shape, (1, 2)) - # We split data in 4 chunks of axis 0. If the new chunk size is - # (1, 2), it means that the final size is (1 * 4, 2). - self.assertEqual(X_t.compute().get().shape, (1, 2)) - - -class TestReductionTransformArray(unittest.TestCase): - def __internal_chunk_array(self, block, axis=None, keepdims=False, xp=np): - # Using `xp` parameter to avoid conflicts - return xp.array([xp.min(block), xp.max(block)]) - - def __internal_aggregate_array(self, block, axis=None, keepdims=False, xp=np): - # Using `xp` parameter to avoid conflicts - block = xp.array(block) - - return xp.array([xp.min(block), xp.max(block)]) - - def test_reduction_min_max_cpu(self): - X = np.arange(40 * 40 * 40) - X.shape = (40, 40, 40) - - reduction = ReductionTransform(func_aggregate=self.__internal_aggregate_array, - func_chunk=self.__internal_chunk_array, - output_size=[0, 0]) - - X_t = reduction._transform_cpu(X) - - # Numpy does not use blocks. - self.assertEqual(len(X_t), 2) - self.assertTrue(is_cpu_array(X_t)) - - self.assertEqual(X_t[0], 0) - self.assertEqual(X_t[1], 40 * 40 * 40 - 1) - - def test_reduction_min_max_mcpu(self): - X = np.arange(40 * 40 * 40) - X.shape = (40, 40, 40) - - X = da.from_array(X, chunks=(10, 10, 10)) - - reduction = ReductionTransform(func_aggregate=self.__internal_aggregate_array, - func_chunk=self.__internal_chunk_array, - output_size=[0, 0]) - - X_t = reduction._lazy_transform_cpu(X, concatenate=False) - - self.assertTrue(is_dask_cpu_array(X_t)) - self.assertEqual(len(X_t.compute()), 2) - - self.assertEqual(X_t.compute()[0], 0) - self.assertEqual(X_t.compute()[1], 40 * 40 * 40 - 1) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reduction_min_max_gpu(self): - X = cp.arange(40 * 40 * 40) - X.shape = (40, 40, 40) - - reduction = ReductionTransform(func_aggregate=self.__internal_aggregate_array, - func_chunk=self.__internal_chunk_array, - output_size=[0, 0]) - - X_t = reduction._transform_gpu(X) - - # Numpy does not use blocks. - self.assertEqual(len(X_t), 2) - self.assertTrue(is_gpu_array(X_t)) - - self.assertEqual(X_t[0].get(), 0) - self.assertEqual(X_t[1].get(), 40 * 40 * 40 - 1) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reduction_min_max_mgpu(self): - X = cp.arange(40 * 40 * 40) - X.shape = (40, 40, 40) - - X = da.from_array(X, chunks=(10, 10, 10), meta=cp.array(())) - - reduction = ReductionTransform(func_aggregate=self.__internal_aggregate_array, - func_chunk=self.__internal_chunk_array, - output_size=[0, 0]) - - X_t = reduction._lazy_transform_gpu(X, concatenate=False) - - self.assertTrue(is_dask_gpu_array(X_t)) - self.assertEqual(len(X_t.compute()), 2) - - self.assertEqual(X_t.compute()[0].get(), 0) - self.assertEqual(X_t.compute()[1].get(), 40 * 40 * 40 - 1) - - -class TestReductionTransformDataFrame(unittest.TestCase): - def _internal_chunk_max(self, row): - if row['A'] > row['B'] and row['A'] > row['C']: - return row['A'] - elif row['B'] > row['A'] and row['B'] > row['C']: - return row['B'] - else: - return row['C'] - - def _internal_chunk_min(self, row): - if row['A'] < row['B'] and row['A'] < row['C']: - return row['A'] - elif row['B'] < row['A'] and row['B'] < row['C']: - return row['B'] - else: - return row['C'] - - def _internal_aggregate_min_max(self, pds, xd): - return xd.DataFrame({ - 'min': [pds['min'].min()], - 'max': [pds['max'].max()] - }) - - def _internal_chunk_partition_cpu(self, block, axis=None, keepdims=False, xp=None): - pds_max = block.apply(self._internal_chunk_min, axis=1) - pds_min = block.apply(self._internal_chunk_max, axis=1) - - pds = pd.DataFrame({'min': pds_min, 'max': pds_max}) - return self._internal_aggregate_min_max(pds, xd=pd) - - def _internal_chunk_partition_gpu(self, block, axis=None, keepdims=False, xp=None): - pds_max = block.apply(self._internal_chunk_min, axis=1) - pds_min = block.apply(self._internal_chunk_max, axis=1) - - pds = cudf.DataFrame({'min': pds_min, 'max': pds_max}) - return self._internal_aggregate_min_max(pds, xd=cudf) - - def _internal_aggregate_series_cpu(self, block, axis=None, keepdims=False, xp=None): - return self._internal_aggregate_min_max(block, xd=pd) - - def _internal_aggregate_series_gpu(self, block, axis=None, keepdims=False, xp=None): - return self._internal_aggregate_min_max(block, xd=cudf) - - def test_reduction_min_max_cpu(self): - df = pd.DataFrame({ - 'A': range(0, 1000), - 'B': range(0, 1000), - 'C': range(0, 1000) - }) - - reduction = ReductionTransform(func_aggregate=self._internal_aggregate_series_cpu, - func_chunk=self._internal_chunk_partition_cpu, - output_size={'min': 'int64', - 'max': 'int64'}) - - X_t = reduction._transform_cpu(X=df) - - self.assertEqual(len(X_t.iloc[0]), 2) - - self.assertEqual(X_t['min'].iloc[0], 0) - self.assertEqual(X_t['max'].iloc[0], 1000 - 1) - - def test_reduction_min_max_mcpu(self): - df = pd.DataFrame({ - 'A': range(0, 1000), - 'B': range(0, 1000), - 'C': range(0, 1000) - }) - - ddf = dd.from_pandas(df, npartitions=8) - - reduction = ReductionTransform(func_aggregate=self._internal_aggregate_series_cpu, - func_chunk=self._internal_chunk_partition_cpu, - output_size={'min': 'int64', - 'max': 'int64'}) - - X_t = reduction._lazy_transform_cpu(X=ddf, axis=[0]) - - self.assertTrue(is_dask_cpu_dataframe(X_t)) - self.assertEqual(len(X_t.compute().iloc[0]), 2) - - self.assertEqual(X_t.compute().iloc[0]['min'], 0) - self.assertEqual(X_t.compute().iloc[0]['max'], 1000 - 1) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reduction_min_max_gpu(self): - df = cudf.DataFrame({ - 'A': range(0, 1000), - 'B': range(0, 1000), - 'C': range(0, 1000) - }) - - reduction = ReductionTransform(func_aggregate=self._internal_aggregate_series_gpu, - func_chunk=self._internal_chunk_partition_gpu, - output_size={'min': 'int64', - 'max': 'int64'}) - - X_t = reduction._transform_gpu(X=df) - - self.assertEqual(len(X_t.iloc[0]), 2) - - self.assertEqual(X_t['min'].iloc[0], 0) - self.assertEqual(X_t['max'].iloc[0], 1000 - 1) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reduction_min_max_mgpu(self): - df = cudf.DataFrame({ - 'A': range(0, 1000), - 'B': range(0, 1000), - 'C': range(0, 1000) - }) - - ddf = dcudf.from_cudf(df, npartitions=8) - - reduction = ReductionTransform(func_aggregate=self._internal_aggregate_series_gpu, - func_chunk=self._internal_chunk_partition_gpu, - output_size={'min': 'int64', - 'max': 'int64'}) - - X_t = reduction._lazy_transform_gpu(X=ddf, axis=[0]) - - self.assertTrue(is_dask_gpu_dataframe(X_t)) - self.assertEqual(len(X_t.compute().iloc[0]), 2) - - self.assertEqual(X_t.compute().iloc[0]['min'], 0) - self.assertEqual(X_t.compute().iloc[0]['max'], 1000 - 1) diff --git a/tests/transforms/test_memory.py b/tests/transforms/test_memory.py deleted file mode 100644 index d534a17..0000000 --- a/tests/transforms/test_memory.py +++ /dev/null @@ -1,100 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import dask.array as da - -try: - import cupy as cp -except ImportError: - pass - -from dasf.transforms import PersistDaskData -from dasf.transforms import ComputeDaskData -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.funcs import is_gpu_supported - - -class TestMemory(unittest.TestCase): - def test_persist_dask_data_cpu(self): - X = np.random.random((40, 40, 40)) - - persist = PersistDaskData() - - result = persist._transform_cpu(X=X) - - self.assertTrue(is_cpu_array(result)) - - def test_persist_dask_data_mcpu(self): - X = da.ones((40, 40, 40), chunks=(10, 10, 10), meta=np.array(())) - - persist = PersistDaskData() - - result = persist._lazy_transform_cpu(X=X) - - self.assertTrue(is_dask_cpu_array(result)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_persist_dask_data_gpu(self): - X = cp.random.random((40, 40, 40)) - - persist = PersistDaskData() - - result = persist._transform_gpu(X=X) - - self.assertTrue(is_gpu_array(result)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_persist_dask_data_mgpu(self): - X = da.ones((40, 40, 40), chunks=(10, 10, 10), meta=cp.array(())) - - persist = PersistDaskData() - - result = persist._lazy_transform_gpu(X=X) - - self.assertTrue(is_dask_gpu_array(result)) - - def test_compute_dask_data_cpu(self): - X = np.random.random((40, 40, 40)) - - persist = ComputeDaskData() - - result = persist._transform_cpu(X=X) - - self.assertTrue(is_cpu_array(result)) - - def test_compute_dask_data_mcpu(self): - X = da.ones((40, 40, 40), chunks=(10, 10, 10), meta=np.array(())) - - persist = ComputeDaskData() - - result = persist._lazy_transform_cpu(X=X) - - self.assertTrue(is_cpu_array(result)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_compute_dask_data_gpu(self): - X = cp.random.random((40, 40, 40)) - - persist = ComputeDaskData() - - result = persist._transform_gpu(X=X) - - self.assertTrue(is_gpu_array(result)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_compute_dask_data_mgpu(self): - X = da.ones((40, 40, 40), chunks=(10, 10, 10), meta=cp.array(())) - - persist = ComputeDaskData() - - result = persist._lazy_transform_gpu(X=X) - - self.assertTrue(is_gpu_array(result)) diff --git a/tests/transforms/test_operations.py b/tests/transforms/test_operations.py deleted file mode 100644 index cc1ce65..0000000 --- a/tests/transforms/test_operations.py +++ /dev/null @@ -1,497 +0,0 @@ -#!/usr/bin/env python3 - -import unittest - -import numpy as np -import dask.array as da -import pandas as pd -import dask.dataframe as ddf - -try: - import cudf - import cupy as cp - import dask_cudf as cuddf -except ImportError: - pass - -from mock import MagicMock - -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.funcs import is_gpu_supported -from dasf.transforms.operations import Reshape -from dasf.transforms.operations import SliceArray -from dasf.transforms.operations import SliceArrayByPercent - - -class TestReshape(unittest.TestCase): - def test_reshape_array_cpu(self): - data = np.random.random((10, 10, 10)) - - reshape = Reshape(shape=(1000)) - - y = reshape.fit(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - def test_reshape_dask_array_cpu(self): - data = da.random.random((10, 10, 10), chunks=(5, 5, 5)) - - reshape = Reshape(shape=(1000)) - - y = reshape.fit(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_array_gpu(self): - data = cp.random.random((10, 10, 10)) - - reshape = Reshape(shape=(1000)) - - y = reshape.fit(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_dask_array_gpu(self): - data = cp.random.random((10, 10, 10)) - data = da.from_array(data, chunks=(5, 5, 5)) - - reshape = Reshape(shape=(1000)) - - y = reshape.fit(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - def test_reshape_array_cpu_from_array(self): - data = np.random.random((10, 10, 10)) - copy = np.random.random((1000,)) - - reshape = Reshape() - - y = reshape.fit(data, y=copy) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - def test_reshape_dask_array_cpu_from_array(self): - data = da.random.random((10, 10, 10), chunks=(5, 5, 5)) - copy = da.random.random((1000,), chunks=(5,)) - - reshape = Reshape() - - y = reshape.fit(data, y=copy) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_array_gpu_from_array(self): - data = cp.random.random((10, 10, 10)) - copy = cp.random.random((1000,)) - - reshape = Reshape() - - y = reshape.fit(data, y=copy) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_dask_array_gpu_from_array(self): - data = cp.random.random((10, 10, 10)) - data = da.from_array(data, chunks=(5, 5, 5)) - copy = cp.random.random((1000,)) - - reshape = Reshape() - - y = reshape.fit(data, y=copy) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (1000, )) - - def test_reshape_array_list(self): - data = np.random.random((2, 5)) - copy = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] - - reshape = Reshape() - - with self.assertRaises(Exception) as context: - y = reshape.fit(data, y=copy) - - self.assertTrue('Missing shape input' in str(context.exception)) - - def test_reshape_unknown_datatype(self): - data = MagicMock(shape=(2, 5)) - - reshape = Reshape(shape=(10)) - - with self.assertRaises(Exception) as context: - y = reshape.fit(data) - - self.assertTrue('X is not a known datatype' in str(context.exception)) - - def test_reshape_dataframe_cpu(self): - data = pd.DataFrame(np.random.random((3, 4)), columns=['A', 'B', 'C', 'D']) - - reshape = Reshape(shape=(12)) - - y = reshape.fit(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (12, )) - - def test_reshape_dask_dataframe_cpu(self): - raise unittest.SkipTest("DataFrame in Dask does not return the proper shape to reshape (BUG?)") - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_dataframe_gpu(self): - data = cudf.DataFrame(cp.random.random((3, 4)), columns=['A', 'B', 'C', 'D']) - - reshape = Reshape(shape=(12)) - - y = reshape.fit(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (12, )) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_reshape_dask_dataframe_gpu(self): - raise unittest.SkipTest("DataFrame in Dask does not return the proper shape to reshape (BUG?)") - - -class TestSliceArray(unittest.TestCase): - def test_slice_array_cpu_1d(self): - data = np.random.random((40,)) - - slice_t = SliceArray(output_size=(10,)) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10,)) - - def test_slice_dask_array_cpu_1d(self): - data = da.random.random((40,), chunks=(5)) - - slice_t = SliceArray(output_size=(10,)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10,)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_1d(self): - data = cp.random.random((40,)) - - slice_t = SliceArray(output_size=(10,)) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10,)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_1d(self): - data = cp.random.random((40,)) - data = da.from_array(data, chunks=(5)) - - slice_t = SliceArray(output_size=(10,)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10,)) - - def test_slice_array_cpu_2d(self): - data = np.random.random((40, 40)) - - slice_t = SliceArray(output_size=(10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - def test_slice_dask_array_cpu_2d(self): - data = da.random.random((40, 40), chunks=(5, 5)) - - slice_t = SliceArray(output_size=(10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_2d(self): - data = cp.random.random((40, 40)) - - slice_t = SliceArray(output_size=(10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_2d(self): - data = cp.random.random((40, 40)) - data = da.from_array(data, chunks=(5, 5)) - - slice_t = SliceArray(output_size=(10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - def test_slice_array_cpu_3d(self): - data = np.random.random((40, 40, 40)) - - slice_t = SliceArray(output_size=(10, 10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - def test_slice_dask_array_cpu_3d(self): - data = da.random.random((40, 40, 40), chunks=(5, 5, 5)) - - slice_t = SliceArray(output_size=(10, 10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_3d(self): - data = cp.random.random((40, 40, 40)) - - slice_t = SliceArray(output_size=(10, 10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_3d(self): - data = cp.random.random((40, 40, 40)) - data = da.from_array(data, chunks=(5, 5, 5)) - - slice_t = SliceArray(output_size=(10, 10, 10)) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - def test_slice_array_unknown_dim(self): - data = np.random.random((2, 2, 2, 2)) - - slice_t = SliceArray(output_size=(1, 1, 1, 1)) - - with self.assertRaises(Exception) as context: - y = slice_t.transform(data) - - self.assertTrue('The dimmension is not known' in str(context.exception)) - - -class TestSliceArrayByPercent(unittest.TestCase): - def test_slice_array_cpu_1d(self): - data = np.random.random((40,)) - - slice_t = SliceArrayByPercent(x=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10,)) - - def test_slice_dask_array_cpu_1d(self): - data = da.random.random((40,), chunks=(5)) - - slice_t = SliceArrayByPercent(x=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10,)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_1d(self): - data = cp.random.random((40,)) - - slice_t = SliceArrayByPercent(x=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10,)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_1d(self): - data = cp.random.random((40,)) - data = da.from_array(data, chunks=(5)) - - slice_t = SliceArrayByPercent(x=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10,)) - - def test_slice_array_cpu_2d(self): - data = np.random.random((40, 40)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - def test_slice_dask_array_cpu_2d(self): - data = da.random.random((40, 40), chunks=(5, 5)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_2d(self): - data = cp.random.random((40, 40)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_2d(self): - data = cp.random.random((40, 40)) - data = da.from_array(data, chunks=(5, 5)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10, 10)) - - def test_slice_array_cpu_3d(self): - data = np.random.random((40, 40, 40)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0, z=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_cpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - def test_slice_dask_array_cpu_3d(self): - data = da.random.random((40, 40, 40), chunks=(5, 5, 5)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0, z=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_array_gpu_3d(self): - data = cp.random.random((40, 40, 40)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0, z=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_gpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_slice_dask_array_gpu_3d(self): - data = cp.random.random((40, 40, 40)) - data = da.from_array(data, chunks=(5, 5, 5)) - - slice_t = SliceArrayByPercent(x=25.0, y=25.0, z=25.0) - - y = slice_t.transform(data) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertEqual(y.shape, (10, 10, 10)) - - def test_slice_array_unknown_dim(self): - data = np.random.random((2, 2, 2, 2)) - - slice_t = SliceArrayByPercent(x=50.0, y=50.0, z=50.0) - - with self.assertRaises(Exception) as context: - y = slice_t.transform(data) - - self.assertTrue('The dimmension is not known' in str(context.exception)) - - def test_slice_array_exceeding_percentage(self): - data = np.random.random((4, 4, 4)) - - slice_t = SliceArrayByPercent(x=150.0, y=150.0, z=50.0) - - with self.assertRaises(Exception) as context: - y = slice_t.transform(data) - - self.assertTrue('Percentages cannot be higher than 100% (1.0)' in str(context.exception)) - - def test_slice_array_zero_percentage(self): - data = np.random.random((4, 4, 4)) - - slice_t = SliceArrayByPercent(x=50.0, y=0.0, z=50.0) - - with self.assertRaises(Exception) as context: - y = slice_t.transform(data) - - self.assertTrue('Percentages cannot be negative or 0' in str(context.exception)) - - def test_slice_array_negative_percentage(self): - data = np.random.random((4, 4, 4)) - - slice_t = SliceArrayByPercent(x=-50.0, y=50.0, z=50.0) - - with self.assertRaises(Exception) as context: - y = slice_t.transform(data) - - self.assertTrue('Percentages cannot be negative or 0' in str(context.exception)) diff --git a/tests/transforms/test_transforms.py b/tests/transforms/test_transforms.py deleted file mode 100644 index f65cc32..0000000 --- a/tests/transforms/test_transforms.py +++ /dev/null @@ -1,309 +0,0 @@ -#!/usr/bin/env python3 - -import os -import zarr -import shutil -import tempfile -import unittest -import numpy as np -import dask.array as da - -try: - import cupy as cp -except ImportError: - pass - -from dasf.datasets import DatasetArray -from dasf.datasets import DatasetZarr -from dasf.datasets import DatasetHDF5 -from dasf.transforms import Normalize -from dasf.transforms import ArrayToZarr -from dasf.transforms import ArrayToHDF5 -from dasf.transforms import ZarrToArray -from dasf.transforms import ArraysToDataFrame -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.types import is_cpu_dataframe -from dasf.utils.types import is_gpu_dataframe -from dasf.utils.types import is_dask_cpu_dataframe -from dasf.utils.types import is_dask_gpu_dataframe -from dasf.utils.funcs import is_gpu_supported - - -class TestNormalize(unittest.TestCase): - def setUp(self): - size = 20 - self.X = np.array([np.arange(size)]) - self.X.shape = (size, 1) - - mean = np.mean(self.X) - std = np.std(self.X) - - self.y = (self.X - mean) / std - - def test_normalize_cpu(self): - norm = Normalize() - - y = norm.transform(self.X) - - self.assertTrue(is_cpu_array(y)) - self.assertTrue(np.array_equal(self.y, y, equal_nan=True)) - - def test_normalize_mcpu(self): - norm = Normalize() - - y = norm.transform(da.from_array(self.X)) - - self.assertTrue(is_dask_cpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.compute(), equal_nan=True)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_normalize_gpu(self): - norm = Normalize() - - y = norm.transform(cp.asarray(self.X)) - - self.assertTrue(is_gpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.get(), equal_nan=True)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_normalize_mgpu(self): - norm = Normalize() - - y = norm.transform(da.from_array(cp.asarray(self.X))) - - self.assertTrue(is_dask_gpu_array(y)) - self.assertTrue(np.array_equal(self.y, y.compute().get(), equal_nan=True)) - - -class TestArrayToZarr(unittest.TestCase): - def setUp(self): - self.array = os.path.abspath(f"{tempfile.gettempdir()}/array.npy") - self.zarr = os.path.abspath(f"{tempfile.gettempdir()}/array.zarr") - - random = np.random.random(10000) - np.save(self.array, random) - - @staticmethod - def remove(path): - if os.path.isfile(path) or os.path.islink(path): - os.remove(path) # remove the file - elif os.path.isdir(path): - shutil.rmtree(path) # remove dir and all contains - else: - raise ValueError("file {} is not a file or dir.".format(path)) - - def test_array_to_zarr_cpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._load_cpu() - - T = ArrayToZarr(chunks=(100,)) - - T_1 = T._transform_cpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetZarr)) - - def test_array_to_zarr_mcpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._lazy_load_cpu() - - T = ArrayToZarr(chunks=(100,)) - - T_1 = T._lazy_transform_cpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetZarr)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_array_to_zarr_gpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._load_gpu() - - T = ArrayToZarr(chunks=(100,)) - - T_1 = T._transform_gpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetZarr)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_array_to_zarr_mgpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._lazy_load_gpu() - - T = ArrayToZarr(chunks=(100,)) - - T_1 = T._lazy_transform_gpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetZarr)) - - def tearDown(self): - self.remove(self.array) - self.remove(self.zarr) - - -class TestArrayToHDF5(unittest.TestCase): - def setUp(self): - self.array = os.path.abspath(f"{tempfile.gettempdir()}/array.npy") - self.hdf5 = os.path.abspath(f"{tempfile.gettempdir()}/array.hdf5") - - random = np.random.random(10000) - np.save(self.array, random) - - @staticmethod - def remove(path): - if os.path.isfile(path) or os.path.islink(path): - os.remove(path) # remove the file - elif os.path.isdir(path): - shutil.rmtree(path) # remove dir and all contains - else: - raise ValueError("file {} is not a file or dir.".format(path)) - - def test_array_to_hdf5_cpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._load_cpu() - - T = ArrayToHDF5(dataset_path="/dataset") - - T_1 = T._transform_cpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetHDF5)) - - def test_array_to_hdf5_mcpu(self): - dataset = DatasetArray(root=self.array, download=False, name="Test Array") - - dataset = dataset._lazy_load_cpu() - - T = ArrayToHDF5(dataset_path="/dataset") - - T_1 = T._lazy_transform_cpu(dataset) - - self.assertTrue(isinstance(T_1, DatasetHDF5)) - - def tearDown(self): - self.remove(self.array) - self.remove(self.hdf5) - - -class TestZarrToArray(unittest.TestCase): - def setUp(self): - self.array = os.path.abspath(f"{tempfile.gettempdir()}/array.npy") - self.zarr = os.path.abspath(f"{tempfile.gettempdir()}/array.zarr") - - random = z = zarr.array(np.random.random(10000), chunks=100) - zarr.save(self.zarr, random) - - @staticmethod - def remove(path): - if os.path.isfile(path) or os.path.islink(path): - os.remove(path) # remove the file - elif os.path.isdir(path): - shutil.rmtree(path) # remove dir and all contains - else: - raise ValueError("file {} is not a file or dir.".format(path)) - - def test_zarr_to_array_cpu(self): - dataset = DatasetZarr(root=self.zarr, download=False, name="Test Zarr") - - dataset = dataset._load_cpu() - - T = ZarrToArray() - - T_1 = T.transform(dataset) - - print(type(T_1)) - - self.assertTrue(is_cpu_array(T_1)) - - def test_zarr_to_array_mcpu(self): - dataset = DatasetZarr(root=self.zarr, download=False, name="Test Zarr") - - dataset = dataset._lazy_load_cpu() - - T = ZarrToArray() - - print(dataset._data) - - T_1 = T.transform(dataset) - - self.assertTrue(is_dask_cpu_array(T_1)) - - def tearDown(self): - self.remove(self.array) - self.remove(self.zarr) - - -class TestArraysToDataFrame(unittest.TestCase): - def test_arrays_to_dataframe_cpu(self): - array_1 = np.random.random((40, 40, 40)) - array_2 = np.random.random((40, 40, 40)) - array_3 = np.random.random((40, 40, 40)) - - arr_to_df = ArraysToDataFrame() - - y = arr_to_df._transform_cpu(array_1=array_1, - array_2=array_2, - array_3=array_3) - - self.assertTrue(is_cpu_dataframe(y)) - - def test_arrays_to_dataframe_mcpu(self): - chunks = (10, 10, 10) - - darray_1 = da.random.random((40, 40, 40), chunks=chunks) - darray_2 = da.random.random((40, 40, 40), chunks=chunks) - darray_3 = da.random.random((40, 40, 40), chunks=chunks) - - arr_to_df = ArraysToDataFrame() - - y = arr_to_df._lazy_transform_cpu(array_1=darray_1, - array_2=darray_2, - array_3=darray_3) - - self.assertTrue(is_dask_cpu_dataframe(y)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_arrays_to_dataframe_gpu(self): - array_1 = cp.random.random((40, 40, 40)) - array_2 = cp.random.random((40, 40, 40)) - array_3 = cp.random.random((40, 40, 40)) - - arr_to_df = ArraysToDataFrame() - - y = arr_to_df._transform_gpu(array_1=array_1, - array_2=array_2, - array_3=array_3) - - self.assertTrue(is_gpu_dataframe(y)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_arrays_to_dataframe_mgpu(self): - # Need to generate a Cupy first because Dask random does not accept meta - array_1 = cp.random.random((40, 40, 40)) - array_2 = cp.random.random((40, 40, 40)) - array_3 = cp.random.random((40, 40, 40)) - - chunks = (10, 10, 10) - - darray_1 = da.from_array(array_1, chunks=chunks, meta=cp.array(())) - darray_2 = da.from_array(array_2, chunks=chunks, meta=cp.array(())) - darray_3 = da.from_array(array_3, chunks=chunks, meta=cp.array(())) - - arr_to_df = ArraysToDataFrame() - - y = arr_to_df._lazy_transform_gpu(array_1=darray_1, - array_2=darray_2, - array_3=darray_3) - - self.assertTrue(is_dask_gpu_dataframe(y)) diff --git a/tests/utils/test_decorators.py b/tests/utils/test_decorators.py deleted file mode 100644 index 659c23f..0000000 --- a/tests/utils/test_decorators.py +++ /dev/null @@ -1,217 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import dask.array as da - -try: - import cupy as cp -except ImportError: - pass - -from mock import patch, Mock - -from dasf.utils.decorators import fetch_args_from_dask -from dasf.utils.decorators import fetch_args_from_gpu -from dasf.utils.decorators import task_handler -from dasf.utils.funcs import is_gpu_supported -from dasf.transforms.base import Transform - - -class TestFetchData(unittest.TestCase): - def test_fetch_args_from_dask(self): - - @fetch_args_from_dask - def fake_sum(array): - return array + array - - array = da.from_array(np.random.random(1000), chunks=(10,)) - - ret1 = fake_sum(array) - ret2 = fake_sum(array=array) - - self.assertTrue(isinstance(ret1, np.ndarray)) - self.assertTrue(isinstance(ret2, np.ndarray)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_fetch_args_from_gpu(self): - - @fetch_args_from_gpu - def fake_sum(array): - return array + array - - array = cp.random.random(1000) - - ret1 = fake_sum(array) - ret2 = fake_sum(array=array) - - self.assertTrue(isinstance(ret1, np.ndarray)) - self.assertTrue(isinstance(ret2, np.ndarray)) - - def test_fetch_args_from_dask_but_numpy(self): - - @fetch_args_from_dask - def fake_sum(array): - return array + array - - array = np.random.random(1000) - - ret1 = fake_sum(array) - ret2 = fake_sum(array=array) - - self.assertTrue(isinstance(ret1, np.ndarray)) - self.assertTrue(isinstance(ret2, np.ndarray)) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_fetch_args_from_gpu_but_numpy(self): - - @fetch_args_from_gpu - def fake_sum(array): - return array + array - - array = np.random.random(1000) - - ret1 = fake_sum(array) - ret2 = fake_sum(array=array) - - self.assertTrue(isinstance(ret1, np.ndarray)) - self.assertTrue(isinstance(ret2, np.ndarray)) - - -class TestTaskHandler(unittest.TestCase): - def generate_simple_transform(self): - simple_transform = Transform() - - setattr(simple_transform, '_run_local', None) - setattr(simple_transform, '_run_gpu', None) - - simple_transform._lazy_transform_gpu = Mock(return_value=1) - simple_transform._lazy_transform_cpu = Mock(return_value=2) - simple_transform._transform_gpu = Mock(return_value=3) - simple_transform._transform_cpu = Mock(return_value=4) - - return simple_transform - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=True)) - def test_task_handler_lazy_gpu(self): - simple_transform = self.generate_simple_transform() - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 1) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_lazy_cpu(self): - simple_transform = self.generate_simple_transform() - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 2) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_gpu(self): - simple_transform = self.generate_simple_transform() - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 3) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_cpu(self): - simple_transform = self.generate_simple_transform() - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 4) - - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - def test_task_handler_lazy_gpu_force(self): - simple_transform = self.generate_simple_transform() - - simple_transform._run_gpu = True - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 1) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=True)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_lazy_cpu_force(self): - simple_transform = self.generate_simple_transform() - - simple_transform._run_gpu = False - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 2) - - def test_task_handler_is_local_and_gpu(self): - simple_transform = self.generate_simple_transform() - - simple_transform._run_local = True - simple_transform._run_gpu = True - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 3) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - def test_task_handler_is_local_and_cpu(self): - simple_transform = self.generate_simple_transform() - - simple_transform._run_local = True - simple_transform._run_gpu = False - - X = da.random.random((10, 10, 10)) - - self.assertEqual(simple_transform.transform(X), 4) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_only_transform(self): - simple_transform = Mock() - simple_transform.transform = Mock(return_value=5) - simple_transform.transform.__name__ = 'transform' - simple_transform._run_local = None - simple_transform._run_gpu = None - - # Remove the possibility to assign _transform_cpu to Mock - delattr(simple_transform, '_transform_cpu') - - X = da.random.random((10, 10, 10)) - - self.assertEqual(task_handler(simple_transform.transform)(simple_transform, X), 5) - - @patch('dasf.utils.decorators.is_gpu_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_supported', Mock(return_value=False)) - @patch('dasf.utils.decorators.is_dask_gpu_supported', Mock(return_value=False)) - def test_task_handler_not_implemented(self): - simple_transform = Mock() - simple_transform.transform.__name__ = 'transform' - - odd_transform = Mock() - odd_transform._run_local = None - odd_transform._run_gpu = None - - # Remove the possibility to assign _transform_cpu and transform to Mock - delattr(odd_transform, 'transform') - delattr(odd_transform, '_transform_cpu') - - X = da.random.random((10, 10, 10)) - - with self.assertRaises(NotImplementedError) as context: - task_handler(simple_transform.transform)(odd_transform, X) - - self.assertTrue('There is no implementation of' in str(context.exception)) diff --git a/tests/utils/test_types.py b/tests/utils/test_types.py deleted file mode 100644 index a1a8160..0000000 --- a/tests/utils/test_types.py +++ /dev/null @@ -1,276 +0,0 @@ -#!/usr/bin/env python3 - -import unittest -import numpy as np -import pandas as pd -import dask.array as da -import dask.dataframe as ddf -import xarray as xr - -from mock import patch, Mock - -try: - import cupy as cp - import cudf - import dask_cudf as dcudf -except ImportError: - pass - -from dasf.utils.types import is_array -from dasf.utils.types import is_dataframe -from dasf.utils.types import is_cpu_array -from dasf.utils.types import is_cpu_dataframe -from dasf.utils.types import is_cpu_datatype -from dasf.utils.types import is_gpu_array -from dasf.utils.types import is_gpu_dataframe -from dasf.utils.types import is_gpu_datatype -from dasf.utils.types import is_dask_cpu_array -from dasf.utils.types import is_dask_cpu_dataframe -from dasf.utils.types import is_dask_gpu_array -from dasf.utils.types import is_dask_gpu_dataframe -from dasf.utils.types import is_dask_array -from dasf.utils.types import is_dask_dataframe -from dasf.utils.types import is_dask -from dasf.utils.types import is_xarray_array -from dasf.utils.funcs import is_gpu_supported - - -class TestTypes(unittest.TestCase): - def setUp(self): - base = np.random.randint(10, size=100) - - self.data_types = { - "Numpy Array": [base, False], - "List": [base.tolist(), False], - "Dask Numpy Array": [da.from_array(base), False], - "Pandas DataFrame": [pd.DataFrame(base.tolist(), - columns=["test"]), - False], - "Dask DataFrame": [ddf.from_pandas(pd.DataFrame(base.tolist(), - columns=["test"]), - npartitions=20), - False], - "Xarray DataArray": [xr.DataArray(base), False], - } - - if is_gpu_supported(): - cupy_base = cp.asarray(base) - - self.data_types.update({ - "Cupy Array": [cupy_base, False], - "Dask Cupy Array": [da.from_array(cupy_base), False], - "CuDF": [cudf.DataFrame(base.tolist(), - columns=["test"]), - False], - "Dask CuDF": [dcudf.from_cudf(cudf.DataFrame(base.tolist(), - columns=["test"]), - npartitions=20), - False], - }) - - def __set_data(self, keys): - for key in self.data_types: - self.data_types[key][1] = False - if key in keys: - self.data_types[key][1] = True - - def __assert_all_data(self, func): - for key in self.data_types: - self.assertEqual(func(self.data_types[key][0]), - self.data_types[key][1], - "Type '%s' is %s while is expects %s" % - (str(type(self.data_types[key][0])), - func(self.data_types[key][0]), - self.data_types[key][1])) - - def test_is_array(self): - keys = [ - "Numpy Array", - "List", - "Dask Numpy Array", - "Cupy Array", - "Dask Cupy Array", - "Xarray DataArray" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_array) - - def test_is_dataframe(self): - keys = [ - "Pandas DataFrame", - "Dask DataFrame", - "CuDF", - "Dask CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dataframe) - - def test_is_cpu_array(self): - keys = [ - "Numpy Array", - "List" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_cpu_array) - - def test_is_cpu_dataframe(self): - keys = [ - "Pandas DataFrame" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_cpu_dataframe) - - def test_is_cpu_datatype(self): - keys = [ - "Numpy Array", - "List", - "Pandas DataFrame" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_cpu_datatype) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_is_gpu_array(self): - keys = [ - "Cupy Array" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_gpu_array) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_is_gpu_dataframe(self): - keys = [ - "CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_gpu_dataframe) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_is_gpu_datatype(self): - keys = [ - "Cupy Array", - "CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_gpu_datatype) - - def test_is_dask_cpu_array(self): - keys = [ - "Dask Numpy Array" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_cpu_array) - - def test_is_dask_cpu_dataframe(self): - keys = [ - "Dask DataFrame" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_cpu_dataframe) - - @patch('dasf.utils.types.is_gpu_supported', Mock(return_value=False)) - def test_is_dask_cpu_dataframe_no_gpu(self): - keys = [ - "Dask DataFrame" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_cpu_dataframe) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_is_dask_gpu_array(self): - keys = [ - "Dask Cupy Array" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_gpu_array) - - @unittest.skipIf(not is_gpu_supported(), - "not supported CUDA in this platform") - def test_is_dask_gpu_dataframe(self): - keys = [ - "Dask CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_gpu_dataframe) - - def test_is_dask_array(self): - keys = [ - "Dask Numpy Array", - "Dask Cupy Array" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_array) - - def test_is_dask_dataframe(self): - keys = [ - "Dask DataFrame", - "Dask CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_dataframe) - - @patch('dasf.utils.types.is_gpu_supported', Mock(return_value=False)) - def test_is_dask_dataframe_no_gpu(self): - keys = [ - "Dask DataFrame", - "Dask CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask_dataframe) - - def test_is_dask(self): - keys = [ - "Dask Numpy Array", - "Dask DataFrame", - "Dask Cupy Array", - "Dask CuDF" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_dask) - - def test_is_xarray_array(self): - keys = [ - "Xarray DataArray" - ] - - self.__set_data(keys) - - self.__assert_all_data(is_xarray_array) diff --git a/tests/utils/test_utils.py b/tests/utils/test_utils.py deleted file mode 100644 index a93f8db..0000000 --- a/tests/utils/test_utils.py +++ /dev/null @@ -1,350 +0,0 @@ -#!/usr/bin/env python3 - -import unittest - -import numpy as np -import dask.array as da - -from mock import patch, Mock - -from distributed.utils import TimeoutError as DistributedTimeoutError - -from dasf.utils.funcs import human_readable_size -from dasf.utils.funcs import is_gpu_supported -from dasf.utils.funcs import is_jax_supported -from dasf.utils.funcs import is_dask_local_supported -from dasf.utils.funcs import is_dask_supported -from dasf.utils.funcs import is_dask_gpu_supported -from dasf.utils.funcs import get_gpu_count -from dasf.utils.funcs import get_dask_gpu_count -from dasf.utils.funcs import block_chunk_reduce -from dasf.utils.funcs import trim_chunk_location -from dasf.utils.funcs import get_backend_supported -from dasf.utils.funcs import get_worker_info -from dasf.utils.funcs import sync_future_loop -from dasf.utils.funcs import is_notebook - - -class TestArchitetures(unittest.TestCase): - def test_human_readable_size_bytes(self): - b = 42 - self.assertTrue(human_readable_size(b).endswith(" B")) - - def test_human_readable_size_kbytes(self): - kb = 42 * 1000 - self.assertTrue(human_readable_size(kb).endswith(" KB")) - - def test_human_readable_size_mbytes(self): - mb = 42 * (1000 ** 2) - self.assertTrue(human_readable_size(mb).endswith(" MB")) - - def test_human_readable_size_gbytes(self): - b = 42 * (1000 ** 3) - self.assertTrue(human_readable_size(b).endswith(" GB")) - - def test_human_readable_size_tbytes(self): - b = 42 * (1000 ** 4) - self.assertTrue(human_readable_size(b).endswith(" TB")) - - def test_human_readable_size_pbytes(self): - b = 42 * (1000 ** 5) - self.assertTrue(human_readable_size(b).endswith(" TB")) - - def test_human_readable_size_decimal(self): - b = 42 * (1000 ** 3) - decimal = 5 - number_str = human_readable_size(b, decimal)[:-3] - self.assertTrue(len(number_str.split(".")[1]) == decimal) - - @patch('dasf.utils.funcs.GPU_SUPPORTED', True) - @patch('dasf.utils.funcs.get_gpu_count', Mock(return_value=1)) - def test_is_gpu_supported_true(self): - self.assertTrue(is_gpu_supported()) - - @patch('dasf.utils.funcs.GPU_SUPPORTED', False) - def test_is_gpu_supported_false(self): - self.assertFalse(is_gpu_supported()) - - @patch('dask.config.get', return_value=Mock()) - def test_is_dask_local_supported_true(self, dask_config_get): - self.assertTrue(is_dask_local_supported()) - - @patch('dask.config.get', side_effect=Exception('Test')) - def test_is_dask_local_supported_false(self, dask_config_get): - self.assertFalse(is_dask_local_supported()) - - @patch('dask.config.get', return_value=Mock()) - def test_is_dask_supported_local_true(self, dask_config_get): - self.assertTrue(is_dask_supported()) - - @patch('dask.distributed.Client.current', return_value=Mock()) - @patch('dasf.utils.funcs.is_executor_cluster', return_value=True) - def test_is_dask_supported_remote_true(self, client_current, is_executor_cluster): - self.assertTrue(is_dask_supported()) - is_executor_cluster.assert_called() - - @patch('dask.config.get', side_effect=Exception('Test')) - @patch('dask.distributed.Client.current', side_effect=Exception('Test')) - def test_is_dask_supported_false(self, dask_config_get, client_current): - self.assertFalse(is_dask_supported()) - - @patch('dasf.utils.funcs.is_dask_supported', return_value=False) - def test_is_dask_gpu_supported_false(self, dask_check): - self.assertFalse(is_dask_gpu_supported()) - dask_check.assert_called() - - @patch('GPUtil.getGPUs', Mock(return_value=[])) - def test_is_dask_gpu_supported_zero_gpus(self): - self.assertFalse(is_dask_gpu_supported()) - - @patch('dasf.utils.funcs.is_dask_supported', return_value=True) - @patch('GPUtil.getGPUs', Mock(return_value=[0, 1])) - def test_is_dask_gpu_supported_nonzero_gpus(self, dask_check): - self.assertTrue(is_dask_gpu_supported()) - dask_check.assert_called() - - @patch('dasf.utils.funcs.JAX_SUPPORTED', True) - def test_is_jax_supported_true(self): - self.assertTrue(is_jax_supported()) - - @patch('dasf.utils.funcs.JAX_SUPPORTED', False) - def test_is_jax_supported_false(self): - self.assertFalse(is_jax_supported()) - - @patch('GPUtil.getGPUs', Mock(return_value=[0, 1])) - def test_get_gpu_count_2(self): - self.assertTrue(get_gpu_count() == 2) - - @patch('GPUtil.getGPUs', Mock(return_value=[0, 1])) - def test_get_dask_gpu_count_2(self): - self.assertTrue(get_dask_gpu_count() == 2) - - @patch('GPUtil.getGPUs', Mock(return_value=[0, 1])) - def test_get_dask_gpu_count_2_no_fetch(self): - self.assertTrue(len(get_dask_gpu_count(fetch=False).compute()) == 2) - - @patch('GPUtil.getGPUs', Mock(return_value=[])) - def test_get_gpu_count_0(self): - self.assertTrue(get_gpu_count() == 0) - - @patch('GPUtil.getGPUs', Mock(return_value=[])) - def test_get_dask_gpu_count_0(self): - self.assertTrue(get_dask_gpu_count() == 0) - - @patch('GPUtil.getGPUs', Mock(return_value=[])) - def test_get_dask_gpu_count_0_no_fetch(self): - self.assertTrue(len(get_dask_gpu_count(fetch=False).compute()) == 0) - - -class TestBlockChunkReduce(unittest.TestCase): - def test_different_chunks(self): - output_size = (100, 20) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([0, 1, 2]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([0, 1]))) - - def test_different_chunks_but_same_x(self): - output_size = (5, 20) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([1, 2]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([1]))) - - def test_different_chunks_but_same_y(self): - output_size = (100, 15) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([0, 2]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([0]))) - - def test_different_chunks_but_same_z(self): - output_size = (100, 10) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([0, 1]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([0]))) - - def test_different_chunks_but_greater_than_original(self): - output_size = (1, 1, 1, 100, 20, 20) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([0, 1, 2]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([0, 1, 2, 3, 4, 5]))) - - def test_different_chunks_but_greater_equal_than_original(self): - output_size = (5, 15, 10, 1, 1, 1) - data = da.random.random((20, 30, 40), chunks=(5, 15, 10)) - - drop_axis, new_axis = block_chunk_reduce(data, output_size) - - self.assertTrue(np.array_equal(drop_axis, np.asarray([]))) - self.assertTrue(np.array_equal(new_axis, np.asarray([3, 4, 5]))) - - def test_trim_chunk_location_1d(self): - depth = (5,) - - block_info = [{'array-location': [(40, 60)], 'chunk-location': (2,)}] - - loc = np.asarray(trim_chunk_location(block_info, depth)) - - self.assertTrue(np.array_equal(loc, np.asarray([(20, 30)]))) - - def test_trim_chunk_location_2d(self): - depth = (5, 0) - - block_info = [{'array-location': [(40, 60), (0, 40)], 'chunk-location': (2, 0)}] - - loc = np.asarray(trim_chunk_location(block_info, depth)) - - self.assertTrue(np.array_equal(loc, np.asarray([(20, 30), (0, 40)]))) - - def test_trim_chunk_location_3d(self): - depth = (5, 0, 0) - - block_info = [{'array-location': [(40, 60), (0, 40), (0, 40)], 'chunk-location': (2, 0, 0)}] - - loc = np.asarray(trim_chunk_location(block_info, depth)) - - self.assertTrue(np.array_equal(loc, np.asarray([(20, 30), (0, 40), (0, 40)]))) - - def test_trim_chunk_location_3d_index6(self): - depth = (5, 0, 0) - - block_info = [{}, {}, {}, {}, {}, {'array-location': [(40, 60), (0, 40), (0, 40)], 'chunk-location': (2, 0, 0)}] - - loc = np.asarray(trim_chunk_location(block_info, depth, index=5)) - - self.assertTrue(np.array_equal(loc, np.asarray([(20, 30), (0, 40), (0, 40)]))) - - -class TestBackendSignature(unittest.TestCase): - def func1(self, a, b , c, d, e, f): - return a + b + c + d + e + f - - def func2(self, a, b, backend=None): - return a + b - - def func3(self, *args, **kwargs): - return False - - def test_backend_func1(self): - self.assertFalse(get_backend_supported(self.func1)) - - def test_backend_func2(self): - self.assertTrue(get_backend_supported(self.func2)) - - def test_backend_func3(self): - self.assertFalse(get_backend_supported(self.func3)) - - -class TestWorkerInfo(unittest.TestCase): - def test_get_worker_info_empty(self): - client = Mock() - client.scheduler_info.return_value = {'workers': {}} - - workers = get_worker_info(client) - - self.assertEqual(len(workers), 0) - - def test_get_worker_info_regular(self): - worker_data = {'workers': { - 'tcp://127.0.0.1:11111': { - 'host': '127.0.0.1', - 'nthreads': 4, - }, - 'tcp://127.0.0.1:22222': { - 'host': '127.0.0.1', - 'nthreads': 4, - } - } - } - client = Mock() - client.scheduler_info.return_value = worker_data - - workers = get_worker_info(client) - - self.assertEqual(len(workers), 2) - - for worker in workers: - self.assertEqual(worker['local_rank'], 0) - self.assertEqual(worker['world_size'], 1) - - -class TestSyncFutureLoop(unittest.TestCase): - @patch('dasf.utils.funcs.wait', return_value=None) - def test_sync_future_loop_no_futures(self, wait): - sync_future_loop(None) - - self.assertFalse(wait.called) - - @patch('dasf.utils.funcs.wait', return_value=Mock()) - def test_sync_future_loop_with_futures(self, wait): - futures = [None, None] - - result = Mock() - - ret_1 = Mock() - ret_2 = Mock() - - ret_1.result.return_value = None - ret_2.result.return_value = None - - result.done = [ret_1, ret_2] - result.not_done = [] - - wait.side_effect = [DistributedTimeoutError(), result] - - sync_future_loop(futures) - - self.assertTrue(wait.called) - - @patch('dasf.utils.funcs.wait', return_value=Mock()) - def test_sync_future_loop_with_futures_and_exception(self, wait): - futures = [None, None] - - result = Mock() - - ret_1 = Mock() - ret_2 = Mock() - - ret_1.result.return_value = None - ret_2.result.side_effect = Exception("Test mock") - - result.done = [ret_1, ret_2] - result.not_done = [] - - wait.side_effect = [DistributedTimeoutError(), result] - - with self.assertRaises(Exception) as context: - sync_future_loop(futures) - - self.assertTrue('Test mock' in str(context.exception)) - - -class TestIsNotebook(unittest.TestCase): - @patch('dasf.utils.funcs.get_ipython', return_value=Mock()) - def test_is_notebook_zmq(self, get_ipython): - get_ipython.return_value.__class__.__name__ = "ZMQInteractiveShell" - - self.assertTrue(is_notebook()) - - @patch('dasf.utils.funcs.get_ipython', return_value=Mock()) - def test_is_notebook_terminal(self, get_ipython): - get_ipython.return_value.__class__.__name__ = "TerminalInteractiveShell" - - self.assertFalse(is_notebook()) - - @patch('dasf.utils.funcs.get_ipython', side_effect=NameError()) - def test_is_notebook_exception(self, get_ipython): - self.assertFalse(is_notebook())