From efd9dbd98cc06c9f140d0dc10d9300dcc469381e Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 11:47:22 +0200 Subject: [PATCH 1/8] cleaned up sf_tools --- .coveragerc | 9 + .gitignore | 7 +- .travis.yml | 10 +- README.txt | 11 - setup.cfg | 18 +- setup.py | 22 +- sf_tools/__init__.py | 13 +- sf_tools/base/__init__.py | 16 -- sf_tools/base/np_adjust.py | 317 --------------------- sf_tools/base/transform.py | 216 -------------- sf_tools/base/types.py | 246 ---------------- sf_tools/image/__init__.py | 6 +- sf_tools/image/convolve.py | 236 ---------------- sf_tools/info.py | 25 ++ sf_tools/interface/__init__.py | 17 -- sf_tools/interface/errors.py | 105 ------- sf_tools/interface/log.py | 84 ------ sf_tools/math/__init__.py | 17 -- sf_tools/math/angle.py | 122 -------- sf_tools/math/integrate.py | 66 ----- sf_tools/math/matrix.py | 245 ---------------- sf_tools/math/misc.py | 121 -------- sf_tools/math/stats.py | 266 ----------------- sf_tools/plot/__init__.py | 17 -- sf_tools/plot/cost_plot.py | 47 --- sf_tools/signal/__init__.py | 38 --- sf_tools/signal/cost.py | 160 ----------- sf_tools/signal/filter.py | 99 ------- sf_tools/signal/gradient.py | 69 ----- sf_tools/signal/linear.py | 204 -------------- sf_tools/signal/noise.py | 176 ------------ sf_tools/signal/optimisation.py | 486 -------------------------------- sf_tools/signal/positivity.py | 50 ---- sf_tools/signal/proximity.py | 275 ------------------ sf_tools/signal/regression.py | 195 ------------- sf_tools/signal/reweight.py | 56 ---- sf_tools/signal/svd.py | 162 ----------- sf_tools/signal/validation.py | 58 ---- sf_tools/signal/wavelet.py | 165 ----------- 39 files changed, 76 insertions(+), 4376 deletions(-) create mode 100644 .coveragerc delete mode 100644 README.txt delete mode 100644 sf_tools/base/__init__.py delete mode 100644 sf_tools/base/np_adjust.py delete mode 100644 sf_tools/base/transform.py delete mode 100644 sf_tools/base/types.py delete mode 100644 sf_tools/image/convolve.py create mode 100644 sf_tools/info.py delete mode 100644 sf_tools/interface/__init__.py delete mode 100644 sf_tools/interface/errors.py delete mode 100644 sf_tools/interface/log.py delete mode 100644 sf_tools/math/__init__.py delete mode 100644 sf_tools/math/angle.py delete mode 100644 sf_tools/math/integrate.py delete mode 100644 sf_tools/math/matrix.py delete mode 100644 sf_tools/math/misc.py delete mode 100644 sf_tools/math/stats.py delete mode 100644 sf_tools/plot/__init__.py delete mode 100644 sf_tools/plot/cost_plot.py delete mode 100644 sf_tools/signal/__init__.py delete mode 100644 sf_tools/signal/cost.py delete mode 100644 sf_tools/signal/filter.py delete mode 100644 sf_tools/signal/gradient.py delete mode 100644 sf_tools/signal/linear.py delete mode 100644 sf_tools/signal/noise.py delete mode 100644 sf_tools/signal/optimisation.py delete mode 100644 sf_tools/signal/positivity.py delete mode 100644 sf_tools/signal/proximity.py delete mode 100644 sf_tools/signal/regression.py delete mode 100644 sf_tools/signal/reweight.py delete mode 100644 sf_tools/signal/svd.py delete mode 100644 sf_tools/signal/validation.py delete mode 100644 sf_tools/signal/wavelet.py diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 0000000..5110937 --- /dev/null +++ b/.coveragerc @@ -0,0 +1,9 @@ +[run] +omit= + *interface* + *plot* + +[report] +show_missing=True +exclude_lines = + pragma: no cover diff --git a/.gitignore b/.gitignore index 88c326d..f76522d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,13 @@ # Ignore coverage tests .coverage +.pytest_cache/ # Ignore installation .eggs/ -sf_tools.egg-info/ +modopt.egg-info/ dist/ +build/ + +# Ignore pypi config +.pypirc diff --git a/.travis.yml b/.travis.yml index 8a33b6f..9321cc6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,15 +10,19 @@ branches: # install package and dependencies install: - - pip install -r requirements.txt + - pip install coverage nose pytest pytest-cov + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy sphinx==1.6.5 sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi # run unit tests script: - - python setup.py nosetests + - python setup.py test + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then sphinx-apidoc -feo docs/source sf_tools/; fi + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then travis-sphinx -v -o docs/build build -n -s docs/source; fi # run coverage tests after_success: - - coveralls + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then coveralls; fi + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then travis-sphinx -o docs/build deploy; fi # notification settings notification: diff --git a/README.txt b/README.txt deleted file mode 100644 index fa234b6..0000000 --- a/README.txt +++ /dev/null @@ -1,11 +0,0 @@ -# sf_tools - -Author: Samuel Farrens -Year: 2017 -Email: samuel.farrens@gmail.com -Website: https://sfarrens.github.io - -sf_tools is a series of Python modules with applications to image analysis, signal -processing and statistics. - -Full documentation available here: https://sfarrens.github.io/sf_tools/ \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index dfbcf8d..227c0b6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,12 +1,12 @@ -[metadata] -description-file = README.rst - -[nosetests] -verbosity=2 -nologcapture=0 -cover-package=sf_tools -with-coverage=1 +[aliases] +test=pytest [build_sphinx] -build-dir=docs/build all_files=1 +build-dir=docs/build + +[metadata] +description-file = README.rst + +[tool:pytest] +addopts = --verbose --cov=modopt/ modopt/tests/ diff --git a/setup.py b/setup.py index 0c2ffb6..f8e3f5a 100644 --- a/setup.py +++ b/setup.py @@ -1,17 +1,27 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + from setuptools import setup, find_packages -from sf_tools import __version__ +import os + +release_info = {} +infopath = os.path.abspath(os.path.join(os.path.dirname(__file__), + "sf_tools", "info.py")) +with open(infopath) as open_file: + exec(open_file.read(), release_info) setup( name='sf_tools', author='sfarrens', - author_email='samuel.farrens@gmail.com', - version=__version__, + author_email='samuel.farrens@cea.fr', + version=release_info["__version__"], url='https://github.com/sfarrens/sf_tools', download_url='https://github.com/sfarrens/sf_tools', packages=find_packages(), + install_requires=['numpy>=1.14.1', 'future>=0.16.0', 'scipy>=1.0.0', 'astropy==2.0.4'], license='MIT', description='Tools for image analysis, signal processing and statistics.', - long_description=open('README.txt').read(), - setup_requires=['pytest-runner'], - tests_require=['pytest'], + long_description=release_info["__about__"], + setup_requires=['pytest-runner', ], + tests_require=['pytest', 'pytest-cov', ], ) diff --git a/sf_tools/__init__.py b/sf_tools/__init__.py index 90481af..3d97f6d 100644 --- a/sf_tools/__init__.py +++ b/sf_tools/__init__.py @@ -5,18 +5,11 @@ SF_TOOLS is a series of Python modules with applications to image analysis, signal processing and statistics. -:Author: Samuel Farrens - -:Version: 1.0.1 - -:Date: 25/10/2017 +:Author: Samuel Farrens """ -__all__ = ['base', 'image', 'interface', 'math', 'plot', 'signal'] +__all__ = ['image'] from . import * -from .base import * - -version_info = (1, 0, 1) -__version__ = '.'.join(str(c) for c in version_info) +from .image import * diff --git a/sf_tools/base/__init__.py b/sf_tools/base/__init__.py deleted file mode 100644 index c29090e..0000000 --- a/sf_tools/base/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- - -"""BASE ROUTINES - -This module contains submodules for basic operations such as type -transformations and adjustments to the default output of Numpy functions. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 25/10/2017 - -""" - -__all__ = ['np_adjust', 'transform', 'types'] diff --git a/sf_tools/base/np_adjust.py b/sf_tools/base/np_adjust.py deleted file mode 100644 index e032a5b..0000000 --- a/sf_tools/base/np_adjust.py +++ /dev/null @@ -1,317 +0,0 @@ -# -*- coding: utf-8 -*- - -"""NUMPY ADJUSTMENT ROUTINES - -This module contains methods for adjusting the default output for certain -Numpy functions. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 03/04/2017 - -""" - -from __future__ import division -import numpy as np - - -def rotate(data): - """Rotate - - This method rotates an input numpy array by 180 degrees. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 2D) - - Returns - ------- - np.ndarray rotated data - - Notes - ----- - Adjustment to numpy.rot90() - - Examples - -------- - >>> from sf_tools.base.np_adjust import rotate - >>> x = np.arange(9).reshape((3, 3)) - >>> x - array([[0, 1, 2], - [3, 4, 5], - [6, 7, 8]]) - >>> rotate(x) - array([[8, 7, 6], - [5, 4, 3], - [2, 1, 0]]) - - """ - - return np.rot90(data, 2) - - -def rotate_stack(data): - """Rotate stack - - This method rotates each array in a stack of arrays by 180 degrees. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 3D) - - Returns - ------- - np.ndarray rotated data - - Examples - -------- - >>> from sf_tools.base.np_adjust import rotate_stack - >>> x = np.arange(18).reshape((2, 3, 3)) - >>> x - array([[[ 0, 1, 2], - [ 3, 4, 5], - [ 6, 7, 8]], - [[ 9, 10, 11], - [12, 13, 14], - [15, 16, 17 - >>> rotate_stack(x) - array([[[ 8, 7, 6], - [ 5, 4, 3], - [ 2, 1, 0]], - [[17, 16, 15], - [14, 13, 12], - [11, 10, 9]]]) - - """ - - return np.array([rotate(x) for x in data]) - - -def pad2d(data, padding): - """Pad array - - This method pads an input numpy array with zeros in all directions. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 2D) - padding : int, tuple - Amount of padding in x and y directions, respectively - - Returns - ------- - np.ndarray padded data - - Notes - ----- - Adjustment to numpy.pad() - - Examples - -------- - >>> from sf_tools.base.np_adjust import pad2d - >>> x = np.arange(9).reshape((3, 3)) - >>> x - array([[0, 1, 2], - [3, 4, 5], - [6, 7, 8]]) - >>> pad2d(x, (1, 1)) - array([[0, 0, 0, 0, 0], - [0, 0, 1, 2, 0], - [0, 3, 4, 5, 0], - [0, 6, 7, 8, 0], - [0, 0, 0, 0, 0]]) - - """ - - data = np.array(data) - - if isinstance(padding, int): - padding = np.array([padding]) - elif isinstance(padding, (tuple, list)): - padding = np.array(padding) - elif isinstance(padding, np.ndarray): - pass - else: - raise ValueError('Padding must be an integer or a tuple (or list, ' - 'np.ndarray) of itegers') - - if padding.ndim == 1: - padding = np.repeat(padding, 2) - - return np.pad(data, ((padding[0], padding[0]), (padding[1], padding[1])), - 'constant') - - -def x_bins(vals): - """X-range bins - - This method sets the bin values for a histogram. - - Parameters - ---------- - vals : np.ndarray - X-range bins from np.histogram()[1] - - Returns - ------- - np.ndarray corrected x-range bin data - - Notes - ----- - Adjustment to numpy.histogram() - - Examples - -------- - >>> from sf_tools.base.np_adjust import x_bins - >>> data = np.array([1, 2, 1, 3, 1, 1]) - >>> hist, bins = np.histogram(data) - >>> hist - array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1]) - >>> bins - array([ 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - >>> x_bins(bins) - array([ 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9]) - - """ - - return (vals[:-1] + vals[1:]) / 2.0 - - -def x_bins_step(vals): - """X-range bins (step function) - - This method sets the bin values for a histogram plotted as a step funciton. - - Parameters - ---------- - vals : np.ndarray - X-range bins from np.histogram()[1] - - Returns - ------- - np.ndarray corrected x-range bin data - - Notes - ----- - Adjustment to numpy.histogram() - - Examples - -------- - >>> from sf_tools.base.np_adjust import x_bins - >>> data = np.array([1, 2, 1, 3, 1, 1]) - >>> hist, bins = np.histogram(data) - >>> hist - array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1]) - >>> bins - array([ 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - >>> x_bins_step(bins) - array([ 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - - """ - - return x_bins(vals) + (vals[1] - vals[0]) / 2.0 - - -def ftr(data): - """Fancy transpose right - - Apply fancy_transpose() to data with roll=1 - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray transposed data - - """ - - return fancy_transpose(data) - - -def ftl(data): - """Fancy transpose left - - Apply fancy_transpose() to data with roll=-1 - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray transposed data - - """ - - return fancy_transpose(data, -1) - - -def fancy_transpose(data, roll=1): - """Fancy transpose - - This method transposes a multidimensional matrix. - - Parameters - ---------- - data : np.ndarray - Input data array - roll : int - Roll direction and amount. Default (roll=1) - - Returns - ------- - np.ndarray transposed data - - Notes - ----- - Adjustment to numpy.transpose - - Examples - -------- - >>> from sf_tools.base.np_adjust import fancy_transpose - >>> x = np.arange(27).reshape(3, 3, 3) - >>> x - array([[[ 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]]]) - >>> fancy_transpose(x) - array([[[ 0, 3, 6], - [ 9, 12, 15], - [18, 21, 24]], - [[ 1, 4, 7], - [10, 13, 16], - [19, 22, 25]], - [[ 2, 5, 8], - [11, 14, 17], - [20, 23, 26]]]) - >>> fancy_transpose(x, roll=-1) - array([[[ 0, 9, 18], - [ 1, 10, 19], - [ 2, 11, 20]], - [[ 3, 12, 21], - [ 4, 13, 22], - [ 5, 14, 23]], - [[ 6, 15, 24], - [ 7, 16, 25], - [ 8, 17, 26]]]) - - """ - - axis_roll = np.roll(np.arange(data.ndim), roll) - - return np.transpose(data, axes=axis_roll) diff --git a/sf_tools/base/transform.py b/sf_tools/base/transform.py deleted file mode 100644 index a9aadfe..0000000 --- a/sf_tools/base/transform.py +++ /dev/null @@ -1,216 +0,0 @@ -# -*- coding: utf-8 -*- - -"""DATA TRANSFORM ROUTINES - -This module contains methods for transforming data. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import division -from builtins import range -import numpy as np -from scipy.ndimage import gaussian_filter -from itertools import islice, product - - -def cube2map(data_cube, layout): - """Cube to Map - - This method transforms the input data from a 3D cube to a 2D map with a - specified layout - - Parameters - ---------- - data_cube : np.ndarray - Input data cube, 3D array of 2D images - Layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 2D map - - Raises - ------ - ValueError - For invalid layout - - """ - - if data_cube.shape[0] != np.prod(layout): - raise ValueError('The desired layout must match the number of input ' - 'data layers.') - - return np.vstack([np.hstack(data_cube[slice(layout[1] * i, layout[1] * - (i + 1))]) for i in range(layout[0])]) - - -def map2cube(data_map, layout): - """Map to cube - - This method transforms the input data from a 2D map with given layout to - a 3D cube - - Parameters - ---------- - data_map : np.ndarray - Input data map, 2D array - layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 3D cube - - Raises - ------ - ValueError - For invalid layout - - """ - - if np.all(np.array(data_map.shape) % np.array(layout)) != 0: - raise ValueError('The desired layout must be a multiple of the number ' - 'pixels in the data map.') - - d_shape = np.array(data_map.shape) // np.array(layout) - - return np.array([data_map[(slice(i * d_shape[0], (i + 1) * d_shape[0]), - slice(j * d_shape[1], (j + 1) * d_shape[1]))] for i in - range(layout[0]) for j in range(layout[1])]) - - -def map2matrix(data_map, layout): - """Map to Matrix - - This method transforms a 2D map to a 2D matrix - - Parameters - ---------- - data_map : np.ndarray - Input data map, 2D array - layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 2D matrix - - Raises - ------ - ValueError - For invalid layout - - """ - - layout = np.array(layout) - - # Select n objects - n_obj = np.prod(layout) - - # Get the shape of the galaxy images - gal_shape = (np.array(data_map.shape) // layout)[0] - - # Stack objects from map - data_matrix = [] - - for i in range(n_obj): - lower = (gal_shape * (i // layout[1]), - gal_shape * (i % layout[1])) - upper = (gal_shape * (i // layout[1] + 1), - gal_shape * (i % layout[1] + 1)) - data_matrix.append((data_map[lower[0]:upper[0], - lower[1]:upper[1]]).reshape(gal_shape ** 2)) - - return np.array(data_matrix).T - - -def matrix2map(data_matrix, map_shape): - """Matrix to Map - - This method transforms a 2D matrix to a 2D map - - Parameters - ---------- - data_matrix : np.ndarray - Input data matrix, 2D array - map_shape : tuple - 2D shape of the output map - - Returns - ------- - np.ndarray 2D map - - Raises - ------ - ValueError - For invalid layout - - """ - - map_shape = np.array(map_shape) - - # Get the shape and layout of the galaxy images - gal_shape = np.sqrt(data_matrix.shape[0]) - layout = np.array(map_shape // np.repeat(gal_shape, 2), dtype='int') - - # Map objects from matrix - data_map = np.zeros(map_shape) - - temp = data_matrix.reshape(gal_shape, gal_shape, data_matrix.shape[1]) - - for i in range(data_matrix.shape[1]): - lower = (gal_shape * (i // layout[1]), - gal_shape * (i % layout[1])) - upper = (gal_shape * (i // layout[1] + 1), - gal_shape * (i % layout[1] + 1)) - data_map[lower[0]:upper[0], lower[1]:upper[1]] = temp[:, :, i] - - return data_map - - -def cube2matrix(data_cube): - """Cube to Matrix - - This method transforms a 3D cube to a 2D matrix - - Parameters - ---------- - data_cube : np.ndarray - Input data cube, 3D array - - Returns - ------- - np.ndarray 2D matrix - - """ - - return data_cube.reshape([data_cube.shape[0]] + - [np.prod(data_cube.shape[1:])]).T - - -def matrix2cube(data_matrix, im_shape): - """Matrix to Cube - - This method transforms a 2D matrix to a 3D cube - - Parameters - ---------- - data_matrix : np.ndarray - Input data cube, 2D array - im_shape : tuple - 2D shape of the individual images - - Returns - ------- - np.ndarray 3D cube - - """ - - return data_matrix.T.reshape([data_matrix.shape[1]] + list(im_shape)) diff --git a/sf_tools/base/types.py b/sf_tools/base/types.py deleted file mode 100644 index fce255e..0000000 --- a/sf_tools/base/types.py +++ /dev/null @@ -1,246 +0,0 @@ -# -*- coding: utf-8 -*- - -"""TYPE HANDLING ROUTINES - -This module contains methods for handing object types. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 04/04/2017 - -""" - - -import numpy as np - - -def check_float(val): - """Check if input value is a float or a np.ndarray of floats, if not - convert. - - Parameters - ---------- - val : any - Input value - - Returns - ------- - float or np.ndarray of floats - - """ - - if type(val) is float: - pass - elif type(val) is int: - val = float(val) - elif type(val) is list or type(val) is tuple: - val = np.array(val, dtype=float) - elif type(val) is np.ndarray and val.dtype is not 'float64': - val = val.astype(float) - else: - raise ValueError('Invalid input type.') - - return val - - -def check_int(val): - """Check if input value is an int or a np.ndarray of ints, if not convert. - - Parameters - ---------- - val : any - Input value - - Returns - ------- - int or np.ndarray of ints - - """ - - if type(val) is int: - pass - elif type(val) is float: - val = int(val) - elif type(val) is list or type(val) is tuple: - val = np.array(val, dtype=int) - elif type(val) is np.ndarray and val.dtype is not 'int64': - val = val.astype(int) - else: - raise ValueError('Invalid input type.') - - return val - - -def val2int(val): - """Convert to int - - This method checks if input value is an int and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - int interger value or np.ndarray array of ints - - Raises - ------ - ValueError - For invalid input type - - Examples - -------- - >>> from sf_tools.base.types import val2int - >>> x = np.arange(5).astype(float) - >>> x - array([ 0., 1., 2., 3., 4.]) - >>> val2int(x) - array([0, 1, 2, 3, 4]) - - """ - - if isinstance(val, int): - pass - elif isinstance(val, (float, str)): - val = int(float(val)) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=float).astype(int) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'int64'): - pass - else: - val = val.astype(float).astype(int) - else: - raise ValueError('Invalid input type.') - - return val - - -def val2float(val): - """Convert to float - - This method checks if input value is a float and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - float floating point value or np.ndarray array of floats - - Examples - -------- - >>> from sf_tools.base.types import val2float - >>> x = np.arange(5) - >>> x - array([0, 1, 2, 3, 4]) - >>> val2float(x) - array([ 0., 1., 2., 3., 4.]) - - """ - - if isinstance(val, float): - pass - elif isinstance(val, (int, str)): - val = float(val) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=float) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'float64'): - pass - else: - val = val.astype(float) - else: - raise ValueError('Invalid input type.') - - return val - - -def val2str(val): - """Convert to string - - This method checks if input value is a string and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - str string or np.ndarray array of strings - - - Examples - -------- - >>> from sf_tools.base.types import val2str - >>> x = np.arange(5) - >>> x - array([0, 1, 2, 3, 4]) - >>> val2str(x) - array(['0', '1', '2', '3', '4'], - dtype='|S21') - - """ - - if isinstance(val, str): - pass - elif isinstance(val, (int, float)): - val = str(val) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=str) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'S21'): - pass - else: - val = val.astype(str) - else: - raise ValueError('Invalid input type.') - - return val - - -def nan2val(array, val=0.0): - """Convert NAN to val - - This converts all NANs in an array to a specified value. - - Parameters - ---------- - array : np.ndarray, list or tuple - Input array - val : int or float, optional - Value to replace NANs. Default (val=0.0) - - Returns - ------- - np.ndarray array without NANs - - NOTES - ----- - Output data type defined by val type. - - Examples - -------- - >>> from sf_tools.base.types import nan2val - >>> x = [1., 2., np.nan, 4.] - >>> x - [1.0, 2.0, nan, 4.0] - >>> nan2val(x, 3.) - array([ 1., 2., 3., 4.]) - - """ - - new_array = np.copy(array) - new_array[np.isnan(new_array)] = val - - if isinstance(val, int): - new_array = val2int(new_array) - - return new_array diff --git a/sf_tools/image/__init__.py b/sf_tools/image/__init__.py index 3d26629..f9399a4 100644 --- a/sf_tools/image/__init__.py +++ b/sf_tools/image/__init__.py @@ -6,10 +6,6 @@ :Author: Samuel Farrens -:Version: 1.0 - -:Date: 06/04/2017 - References ---------- @@ -28,6 +24,6 @@ """ -__all__ = ['convolve', 'distort', 'quality', 'shape', 'stamp', 'stats'] +__all__ = ['distort', 'quality', 'shape', 'stamp', 'stats'] from . import * diff --git a/sf_tools/image/convolve.py b/sf_tools/image/convolve.py deleted file mode 100644 index 9b2f273..0000000 --- a/sf_tools/image/convolve.py +++ /dev/null @@ -1,236 +0,0 @@ -# -*- coding: utf-8 -*- - -"""CONVOLUTION ROUTINES - -This module contains methods for convolution. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 23/10/2017 - -""" - -from __future__ import division -from builtins import zip -import numpy as np -from scipy.signal import fftconvolve -from scipy.fftpack import fftn, ifftn, fftshift, ifftshift -from astropy.convolution import convolve_fft -from sf_tools.base.np_adjust import rotate, rotate_stack - - -def convolve_np(image, kernel): - """Convolve with Numpy FFT - - This method convolves the input image with the input kernel - - Parameters - ---------- - image : np.ndarray - 2D image array - kernel : np.ndarray - 2D kernel array - - Returns - ------- - np.ndarray 2D convolved image array - - """ - - x = np.fft.fftshift(np.fft.fftn(image)) - y = np.fft.fftshift(np.fft.fftn(kernel)) - - return np.real(np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(x * y)))) - - -def deconvolve_np(image, kernel): - """Deconvolve with Numpy FFT - - This method deconvolves the input image with the input kernel - - Parameters - ---------- - image : np.ndarray - 2D image array - kernel : np.ndarray - 2D kernel array - - Returns - ------- - np.ndarray 2D deconvolved image array - - """ - - x = np.fft.fftshift(np.fft.fftn(image)) - y = np.fft.fftshift(np.fft.fftn(kernel)) - - return np.real(np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(x / y)))) - - -def convolve(data, kernel, method='astropy'): - """Convolve data with kernel - - This method convolves the input data with a given kernel using FFT and - is the default convolution used for all routines - - Parameters - ---------- - data : np.ndarray - Input data array, normally a 2D image - kernel : np.ndarray - Input kernel array, normally a 2D kernel - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - 'astropy': - Uses the astropy.convolution.convolve_fft method provided in - Astropy (http://www.astropy.org/) - - 'scipy': - Uses the scipy.signal.fftconvolve method provided in SciPy - (https://www.scipy.org/) - - Returns - ------- - np.ndarray convolved data - - Raises - ------ - ValueError - If `data` and `kernel` do not have the same number of dimensions - ValueError - If `method` is not 'astropy' or 'scipy' - - """ - - if data.ndim != kernel.ndim: - raise ValueError('Data and kernel must have the same dimensions.') - - if method not in ('astropy', 'scipy'): - raise ValueError('Invalid method. Options are "astropy" or "scipy".') - - if method == 'astropy': - return convolve_fft(data, kernel, boundary='wrap', crop=False, - nan_treatment='fill', normalize_kernel=False) - - elif method == 'scipy': - return fftconvolve(data, kernel, mode='same') - - -def convolve_stack(data, kernel, rot_kernel=False, method='astropy'): - """Convolve stack of data with stack of kernels - - This method convolves the input data with a given kernel using FFT and - is the default convolution used for all routines - - Parameters - ---------- - data : np.ndarray - Input data array, normally a 2D image - kernel : np.ndarray - Input kernel array, normally a 2D kernel - rot_kernel : bool - Option to rotate kernels by 180 degrees - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - Returns - ------- - np.ndarray convolved data - - """ - - if rot_kernel: - kernel = rotate_stack(kernel) - - return np.array([convolve(data_i, kernel_i, method=method) for data_i, - kernel_i in zip(data, kernel)]) - - -def psf_convolve(data, psf, psf_rot=False, psf_type='fixed', method='astropy'): - """Convolve data with PSF - - This method convolves an image with a PSF - - Parameters - ---------- - data : np.ndarray - Input data array, normally an array of 2D images - psf : np.ndarray - Input PSF array, normally either a single 2D PSF or an array of 2D - PSFs - psf_rot: bool - Option to rotate PSF by 180 degrees - psf_type : str {'fixed', 'obj_var'}, optional - PSF type (default is 'fixed') - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - 'fixed': - The PSF is fixed, i.e. it is the same for each image - - 'obj_var': - The PSF is object variant, i.e. it is different for each image - - Returns - ------- - np.ndarray convolved data - - Raises - ------ - ValueError - If `psf_type` is not 'fixed' or 'obj_var' - - """ - - if psf_type not in ('fixed', 'obj_var'): - raise ValueError('Invalid PSF type. Options are "fixed" or "obj_var"') - - if psf_rot and psf_type == 'fixed': - psf = rotate(psf) - - elif psf_rot: - psf = rotate_stack(psf) - - if psf_type == 'fixed': - return np.array([convolve(data_i, psf, method=method) for data_i in - data]) - - elif psf_type == 'obj_var': - - return convolve_stack(data, psf) - - -def pseudo_inverse(image, kernel, weight=None): - """Pseudo inverse - - This method calculates the pseudo inverse of the input image for the given - kernel using FFT - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - kernel : np.ndarray - Input kernel, 2D array - weight : np.ndarray, optional - Optional weights, 2D array - - Returns - ------- - np.ndarray result of the pseudo inverse - - """ - - y_hat = fftshift(fftn(image)) - h_hat = fftshift(fftn(kernel)) - h_hat_star = np.conj(h_hat) - - res = ((h_hat_star * y_hat) / (h_hat_star * h_hat)) - - if not isinstance(weight, type(None)): - res *= weight - - return np.real(fftshift(ifftn(ifftshift(res)))) diff --git a/sf_tools/info.py b/sf_tools/info.py new file mode 100644 index 0000000..0d2a03e --- /dev/null +++ b/sf_tools/info.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +"""SF-TOOLS PACKAGE INFO + +This module provides some basic information about the sf_tools package. + +:Author: Samuel Farrens + +:Version: 2.0.0 + +""" + +# Package Version +version_info = (2, 0, 0) +__version__ = '.'.join(str(c) for c in version_info) + +__about__ = ('sf_tools \n\n ' + 'Author: Samuel Farrens \n ' + 'Year: 2018 \n ' + 'Email: samuel.farrens@cea.fr \n ' + 'Website: https://sfarrens.github.io \n\n ' + 'sf_tools is a series of Python modules with applications to ' + 'image analysis signal processing and statistics.. \n\n ' + 'Full documentation available here: ' + 'https://sfarrens.github.io/sf_tools/') diff --git a/sf_tools/interface/__init__.py b/sf_tools/interface/__init__.py deleted file mode 100644 index e1d4254..0000000 --- a/sf_tools/interface/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- - -"""INTERFACE ROUTINES - -This module contains submodules for error handling, logging and IO interaction. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 06/04/2017 - -""" - -__all__ = ['errors', 'log'] - -from . import * diff --git a/sf_tools/interface/errors.py b/sf_tools/interface/errors.py deleted file mode 100644 index c029cb0..0000000 --- a/sf_tools/interface/errors.py +++ /dev/null @@ -1,105 +0,0 @@ -# -*- coding: utf-8 -*- - -"""ERROR HANDLING ROUTINES - -This module contains methods for handing warnings and errors. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 23/10/2017 - -""" - - -import sys -import os.path -import warnings -try: - from termcolor import colored -except ImportError: - import_fail = True -else: - import_fail = False - - -def warn(warn_string, log=None): - """Warning - - This method creates custom warning messages. - - Parameters - ---------- - warn_string : str - Warning message string - log : instance, optional - Logging structure instance - - """ - - if import_fail: - warn_txt = 'WARNING' - else: - warn_txt = colored('WARNING', 'yellow') - - # Print warning to stdout. - sys.stderr.write(warn_txt + ': ' + warn_string + '\n') - - # Check if a logging structure is provided. - if not isinstance(log, type(None)): - warnings.warn(warn_string) - - -def catch_error(exception, log=None): - """Catch error - - This method catches errors and prints them to the terminal. It also saves - the errors to a log if provided. - - Parameters - ---------- - exception : str - Exception message string - log : instance, optional - Logging structure instance - - """ - - if import_fail: - err_txt = 'ERROR' - else: - err_txt = colored('ERROR', 'red') - - # Print exception to stdout. - stream_txt = err_txt + ': ' + str(exception) + '\n' - sys.stderr.write(stream_txt) - - # Check if a logging structure is provided. - if not isinstance(log, type(None)): - log_txt = 'ERROR: ' + str(exception) + '\n' - log.exception(log_txt) - - -def file_name_error(file_name): - """File name error - - This method checks if the input file name is valid. - - Parameters - ---------- - file_name : str - File name string - - Raises - ------ - IOError - If file name not specified or file not found - - """ - - if file_name == '' or file_name[0][0] == '-': - raise IOError('Input file name not specified.') - - elif not os.path.isfile(file_name): - raise IOError('Input file name [%s] not found!' % file_name) diff --git a/sf_tools/interface/log.py b/sf_tools/interface/log.py deleted file mode 100644 index 95f334d..0000000 --- a/sf_tools/interface/log.py +++ /dev/null @@ -1,84 +0,0 @@ -# -*- coding: utf-8 -*- - -"""LOGGING ROUTINES - -This module contains methods for handing logging. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import print_function -import sys -import logging - - -def set_up_log(filename, verbose=True): - """Set up log - - This method sets up a basic log. - - Parameters - ---------- - filename : str - Log file name - - Returns - ------- - logging.Logger instance - - """ - - # Add file extension. - filename += '.log' - - if verbose: - print('Preparing log file:', filename) - - # Capture warnings. - logging.captureWarnings(True) - - # Set output format. - formatter = logging.Formatter(fmt='%(asctime)s %(message)s', - datefmt='%d/%m/%Y %H:%M:%S') - - # Create file handler. - fh = logging.FileHandler(filename=filename, mode='w') - fh.setLevel(logging.DEBUG) - fh.setFormatter(formatter) - - # Create log. - log = logging.getLogger('log') - log.setLevel(logging.DEBUG) - log.addHandler(fh) - - # Send opening message. - log.info('The log file has been set-up.') - - return log - - -def close_log(log, verbose=True): - """Close log - - This method closes and active logging.Logger instance. - - Parameters - ---------- - log : logging.Logger - Logging instance - - """ - - if verbose: - print('Closing log') - - # Send closing message. - log.info('The log file has been closed.') - - # Remove all handlers from log. - [log.removeHandler(handler) for handler in log.handlers] diff --git a/sf_tools/math/__init__.py b/sf_tools/math/__init__.py deleted file mode 100644 index b06fe9b..0000000 --- a/sf_tools/math/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- - -"""MATHEMATICS ROUTINES - -This module contains submodules for mathematical applications. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 06/04/2017 - -""" - -__all__ = ['angle', 'integrate', 'matrix', 'misc', 'stats'] - -from . import * diff --git a/sf_tools/math/angle.py b/sf_tools/math/angle.py deleted file mode 100644 index 43a7a9b..0000000 --- a/sf_tools/math/angle.py +++ /dev/null @@ -1,122 +0,0 @@ -# -*- coding: utf-8 -*- - -"""ANGLE HANDLING ROUTINES - -This module contains methods for handing angles and trigonometry. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 20/10/2017 - -""" - -from __future__ import division -import numpy as np - - -def deg2rad(angle): - r"""Degrees to radians - - This method converts the angle from degrees to radians. - - Parameters - ---------- - angle : float or np.ndarray - Input angle in degrees - - Returns - ------- - float angle in radians or np.ndarray of angles - - Examples - -------- - >>> from sf_tools.math.angle import deg2rad - >>> deg2rad(45.) - 0.7853981633974483 - - Notes - ----- - Implements the following equation: - - .. math:: - \mathrm{radians} = \mathrm{degrees} \times \frac{\pi}{180} - - """ - - return angle * np.pi / 180.0 - - -def rad2deg(angle): - r"""Radians to degrees - - This method converts the angle from radians to degrees. - - Parameters - ---------- - angle : float or np.ndarray - Input angle in radians - - Returns - ------- - float angle in degrees or np.ndarray of angles - - Examples - -------- - >>> from sf_tools.math.angle import deg2rad - >>> rad2deg(1.) - 57.29577951308232 - - Notes - ----- - Implements the following equation: - - .. math:: - \mathrm{degrees} = \mathrm{radians} \times \frac{180}{\pi} - - """ - - return angle * 180.0 / np.pi - - -def ang_sep(point1, point2): - r"""Angular separation - - This method calculates the angular separation in degrees between two - points. - - Parameters - ---------- - point1 : tuple - Angular position of point 1 in degrees - point1 : tuple - Angular position of point 2 in degrees - - Returns - ------- - float angular separation in degrees - - Examples - -------- - >>> from sf_tools.math.angle import ang_sep - >>> ang_sep((30.0, 0.0), (47.0, 10.0)) - 19.647958606833164 - - Notes - ----- - Implements the following equation: - - .. math:: - \theta = \cos^{-1}[\sin(\delta_1)\sin(\delta_2)+ - \cos(\delta_1)\cos(\delta_2)\cos(\alpha_1-\alpha_2)] - - See https://en.wikipedia.org/wiki/Angular_distance - - """ - - dist = np.around(np.sin(deg2rad(point1[1])) * np.sin(deg2rad(point2[1])) + - np.cos(deg2rad(point1[1])) * np.cos(deg2rad(point2[1])) * - np.cos(deg2rad(point1[0]) - deg2rad(point2[0])), 10) - - return rad2deg(np.array(np.arccos(dist))) diff --git a/sf_tools/math/integrate.py b/sf_tools/math/integrate.py deleted file mode 100644 index 83060d1..0000000 --- a/sf_tools/math/integrate.py +++ /dev/null @@ -1,66 +0,0 @@ -# -*- coding: utf-8 -*- - -"""INTEGRATION ROUTINES - -This module contains methods for integration. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 03/04/2017 - -""" - - -import numpy as np -from scipy.integrate import quad - - -def integrate(func, lim_low, lim_up, *args): - """Integrate - - This method integrates a given function, which has N additional arguments, - between the specified limits. - - Parameters - ---------- - func : function - Function to be integrated - lim_low : float - Lower limit - lim_up : float - Upper limit - - Returns - ------- - Result of the definite integral - - """ - - return quad(func, lim_low, lim_up, args=args)[0] - - -def vintegrate(func, lim_low, lim_up, *args): - """Vectorised integration - - This method implements a vectorised version of integrate(). - - Parameters - ---------- - func : function - Function to be integrated - lim_low : float - Lower limit - lim_up : float - Upper limit - - Returns - ------- - Result of the definite integral - - """ - - v_integ = np.vectorize(integrate) - - return v_integ(func, lim_low, lim_up, *args) diff --git a/sf_tools/math/matrix.py b/sf_tools/math/matrix.py deleted file mode 100644 index 68201f4..0000000 --- a/sf_tools/math/matrix.py +++ /dev/null @@ -1,245 +0,0 @@ -"""MATRIX ROUTINES - -This module contains methods for matrix operations. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import division -from builtins import range, zip -import numpy as np -from itertools import product - - -def gram_schmidt(matrix, return_opt='orthonormal'): - r"""Gram-Schmit - - This method orthonormalizes the row vectors of the input matrix. - - Parameters - ---------- - matrix : np.ndarray - Input matrix array - return_opt : str {orthonormal, orthogonal, both} - Option to return u, e or both. - - Returns - ------- - Lists of orthogonal vectors, u, and/or orthonormal vectors, e - - TODO - ---- - Add citation and equation - - """ - - u = [] - e = [] - - for vector in matrix: - - if len(u) == 0: - u_now = vector - else: - u_now = vector - sum([project(u_i, vector) for u_i in u]) - - u.append(u_now) - e.append(u_now / np.linalg.norm(u_now, 2)) - - u = np.array(u) - e = np.array(e) - - if return_opt == 'orthonormal': - return e - elif return_opt == 'orthogonal': - return u - else: - return u, e - - -def nuclear_norm(data): - """Nuclear norm - - This method computes the nuclear (or trace) norm of the input data. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float nuclear norm value - - TODO - ---- - Add equation - - """ - - # Get SVD of the data. - u, s, v = np.linalg.svd(data) - - # Return nuclear norm. - return np.sum(s) - - -def project(u, v): - """Project vector - - This method projects vector v onto vector u. - - Parameters - ---------- - u : np.ndarray - Input vector - v : np.ndarray - Input vector - - Returns - ------- - np.ndarray projection - - TODO - ---- - Add equation - - """ - - return np.inner(v, u) / np.inner(u, u) * u - - -def rot_matrix(angle): - """Rotation matrix - - This method produces a 2x2 rotation matrix for the given input angle. - - Parameters - ---------- - angle : float - Rotation angle - - Returns - ------- - np.ndarray 2x2 rotation matrix - - """ - - return np.around(np.array([[np.cos(angle), -np.sin(angle)], - [np.sin(angle), np.cos(angle)]], dtype='float'), 10) - - -def rotate(matrix, angle): - """Rotate - - This method rotates an input matrix about the input angle. - - Parameters - ---------- - matrix : np.ndarray - Input matrix array - angle : float - Rotation angle - - Returns - ------- - np.ndarray rotated matrix - - Raises - ------ - ValueError - For invalid matrix shape - - """ - - shape = np.array(matrix.shape) - - if shape[0] != shape[1]: - raise ValueError('Input matrix must be square.') - - shift = (np.array(shape) - 1) // 2 - - index = np.array(list(product(*np.array([np.arange(val) for val in - shape])))) - shift - - new_index = np.array(np.dot(index, rot_matrix(angle)), dtype='int') + shift - new_index[new_index >= shape[0]] -= shape[0] - - return matrix[list(zip(new_index.T))].reshape(shape.T) - - -class PowerMethod(object): - """Power method class - - This method performs implements power method to calculate the spectral - radius of the input data - - Parameters - ---------- - operator : class - Operator class instance - data_shape : tuple - Shape of the data array - auto_run : bool - Option to automatically calcualte the spectral radius upon - initialisation - - """ - - def __init__(self, operator, data_shape, auto_run=True): - - self.op = operator - self.data_shape = data_shape - if auto_run: - self.get_spec_rad() - - def set_initial_x(self): - """Set initial value of x - - This method sets the initial value of x to an arrray of random values - - """ - - return np.random.random(self.data_shape) - - def get_spec_rad(self, tolerance=1e-6, max_iter=10): - """Get spectral radius - - This method calculates the spectral radius - - Parameters - ---------- - tolerance : float, optional - Tolerance threshold for convergence (default is "1e-6") - max_iter : int, optional - Maximum number of iterations - - """ - - # Set (or reset) values of x. - x_old = self.set_initial_x() - - # Iterate until the L2 norm of x converges. - for i in range(max_iter): - - x_new = self.op(x_old) / np.linalg.norm(x_old) - - if(np.abs(np.linalg.norm(x_new) - np.linalg.norm(x_old)) < - tolerance): - print(' - Power Method converged after %d iterations!' % - (i + 1)) - break - - elif i == max_iter - 1: - print(' - Power Method did not converge after %d ' - 'iterations!' % max_iter) - - np.copyto(x_old, x_new) - - self.spec_rad = np.linalg.norm(x_new) - self.inv_spec_rad = 1.0 / self.spec_rad diff --git a/sf_tools/math/misc.py b/sf_tools/math/misc.py deleted file mode 100644 index 44a7af0..0000000 --- a/sf_tools/math/misc.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding: utf-8 -*- - -"""MISCELLANOUS MATH ROUTINES - -This module contains methods for various mathematical operations. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 20/10/2017 - -""" - -from __future__ import division -import numpy as np - - -def factor(n): - """Factors of n - - This method finds factors of a number (n). - - Parameters - ---------- - n : int - Whole number - - Returns - ------- - np.ndarray factors of n - - """ - - factors = set() - - for x in range(1, int(np.sqrt(n)) + 1): - if n % x == 0: - factors.add(x) - factors.add(n // x) - - return np.array(sorted(factors)) - - -def mfactor(n): - """Middle factors of n - - This method finds the middle factor(s) of a number (n). - - Parameters - ---------- - n : int - Whole number - - Returns - ------- - np.ndarray middle factors of n - - """ - - f = factor(n) - - if f.size % 2: - return np.repeat(f[f.size // 2], 2) - - else: - return f[f.size // 2 - 1:f.size // 2 + 1] - - -def k_val(n, L): - """Spatial frequency - - This method returns k-values in the range L. - - Parameters - ---------- - n : float - Number - limit : float - Limit - - Returns - ------- - float k value - - TODO - ---- - Add equation and example - - """ - - return ((2.0 * np.pi / limit) * np.array(range(n / 2.0) + - range(-n / 2.0, 0.0))) - - -def fourier_derivative(func, k, order): - """Fourier derivative - - This method returns the derivative of the specified function to the given - order. - - Parameters - ---------- - func : function - Function - k : float - k-value - order : int - Oder of derivative - - Returns - ------- - Float derivative - - TODO - ---- - Add equation and example - - """ - - return np.real(np.fft.ifft((1.j * k) ** order * np.fft.fft(func))) diff --git a/sf_tools/math/stats.py b/sf_tools/math/stats.py deleted file mode 100644 index 370b26e..0000000 --- a/sf_tools/math/stats.py +++ /dev/null @@ -1,266 +0,0 @@ -# -*- coding: utf-8 -*- - -"""STATISTICS ROUTINES - -This module contains methods for basic statistics. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import division -from builtins import zip -import numpy as np -from scipy.stats import chi2 -from astropy.convolution import Gaussian2DKernel - - -def chi2_gof(data_obs, data_exp, sigma, ddof=1): - """Chi-squared goodness-of-fit - - This method tests the chi^2 goodness of fit. - - Parameters - ---------- - data_obs : np.ndarray - Observed data array - data_exp : np.ndarray - Expected data array - sigma : float - Expected data error - ddof : input - Delta degrees of freedom. Default (ddof = 1). - - Returns - ------- - tuple of floats chi-squared and P values - - """ - - chi2 = np.sum(((data_obs - data_exp) / sigma) ** 2) - p_val = chi2.cdf(chi2, len(data_obs) - ddof) - - return chi2, p_val - - -def gaussian(point, mean, sigma, amplitude=None): - """Gaussian distribution - - Method under development... - - """ - - if isinstance(amplitude, type(None)): - amplitude = 1 - - val = np.array([((x - mu) / sig) ** 2 for x, mu, sig in - zip(point, mean, sigma)]) - - return amplitude * np.exp(-0.5 * val) - - -def gaussian_kernel(data_shape, sigma, norm='max'): - """Gaussian kernel - - This method produces a Gaussian kerenal of a specified size and dispersion - - Parameters - ---------- - data_shape : tuple - Desiered shape of the kernel - sigma : float - Standard deviation of the kernel - norm : str {'max', 'sum'}, optional - Normalisation of the kerenl (options are 'max' or 'sum') - - Returns - ------- - np.ndarray kernel - - """ - - kernel = np.array(Gaussian2DKernel(sigma, x_size=data_shape[1], - y_size=data_shape[0])) - - if norm is 'max': - return kernel / np.max(kernel) - - elif norm is 'sum': - return kernel / np.sum(kernel) - - else: - return kernel - - -def mad(data): - r"""Median absolute deviation - - This method calculates the median absolute deviation of the input data. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float MAD value - - Notes - ----- - The MAD is calculated as follows: - - .. math:: - - \mathrm{MAD} = \mathrm{median}\left(|X_i - \mathrm{median}(X)|\right) - - """ - - return np.median(np.abs(data - np.median(data))) - - -def mse(data1, data2): - """Mean Squared Error - - This method returns the Mean Squared Error (MSE) between two data sets. - - Parameters - ---------- - data1 : np.ndarray - First data set - data2 : np.ndarray - Second data set - - """ - - return np.mean((data1 - data2) ** 2) - - -def psnr2(image, noisy_image, max_pix=255): - r"""Peak Signal-to-Noise Ratio - - This method calculates the PSNR between an image and a noisy version - of that image - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - noisy_image : np.ndarray - Noisy image, 2D array - max_pix : int - Maximum number of pixels. Default (max_pix=255) - - Returns - ------- - float PSNR value - - Notes - ----- - Implements PSNR equation on - https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio - - .. math:: - - \mathrm{PSNR} = 20\log_{10}(\mathrm{MAX}_I - 10\log_{10}(\mathrm{MSE})) - - """ - - return (20 * np.log10(max_pix) - 10 * - np.log10(mse(image, noisy_image))) - - -def psnr(image, recovered_image): - """Peak Signal-to-Noise Ratio - - This method calculates the PSNR between an image and the recovered version - of that image - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - recovered_image : np.ndarray - Recovered image, 2D array - - Returns - ------- - float PSNR value - - Notes - ----- - Implements eq.3.7 from _[S2010] - - """ - - return (20 * np.log10((image.shape[0] * np.abs(np.max(image) - - np.min(image))) / np.linalg.norm(image - recovered_image))) - - -def psnr_stack(images, recoverd_images, metric=np.mean): - """Peak Signa-to-Noise for stack of images - - This method calculates the PSNRs for a stack of images and the - corresponding recovered images. By default the metod returns the mean - value of the PSNRs, but any other metric can be used. - - Parameters - ---------- - images : np.ndarray - Stack of images, 3D array - recovered_images : np.ndarray - Stack of recovered images, 3D array - metric : function - The desired metric to be applied to the PSNR values (default is - 'np.mean') - - Returns - ------- - float metric result of PSNR values - - Raises - ------ - ValueError - For invalid input data dimensions - - """ - - if images.ndim != 3 or recoverd_images.ndim != 3: - raise ValueError('Input data must be a 3D np.ndarray') - - return metric([psnr(i, j) for i, j in zip(images, recoverd_images)]) - - -def sigma_mad(data): - r"""Standard deviation from MAD - - This method calculates the standard deviation of the input data from the - MAD. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float sigma value - - Notes - ----- - This function can be used for estimating the standeviation of the noise in - imgaes. - - Sigma is calculated as follows: - - .. math:: - - \sigma = 1.4826 \mathrm{MAD}(X) - - """ - - return 1.4826 * mad(data) diff --git a/sf_tools/plot/__init__.py b/sf_tools/plot/__init__.py deleted file mode 100644 index 8756a67..0000000 --- a/sf_tools/plot/__init__.py +++ /dev/null @@ -1,17 +0,0 @@ -# -*- coding: utf-8 -*- - -"""PLOTTING ROUTINES - -This module contains submodules for plotting applications. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 19/07/2017 - -""" - -__all__ = ['cost_plot'] - -from . import * diff --git a/sf_tools/plot/cost_plot.py b/sf_tools/plot/cost_plot.py deleted file mode 100644 index d9ed4f7..0000000 --- a/sf_tools/plot/cost_plot.py +++ /dev/null @@ -1,47 +0,0 @@ -# -*- coding: utf-8 -*- - -"""PLOTTING ROUTINES - -This module contains methods for making plots. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 05/01/2017 - -""" - -from __future__ import print_function -import numpy as np -import matplotlib.pyplot as plt - - -def plotCost(cost_list, output=None): - """Plot cost function - - Plot the final cost function - - Parameters - ---------- - cost_list : list - List of cost function values - output : str, optional - Output file name - - """ - - if isinstance(output, type(None)): - file_name = 'cost_function.png' - else: - file_name = output + '_cost_function.png' - - plt.figure() - plt.plot(np.log10(cost_list), 'r-') - plt.title('Cost Function') - plt.xlabel('Iteration') - plt.ylabel('$\log_{10}$ Cost') - plt.savefig(file_name) - plt.close() - - print(' - Saving cost function data to:', file_name) diff --git a/sf_tools/signal/__init__.py b/sf_tools/signal/__init__.py deleted file mode 100644 index 33fffc6..0000000 --- a/sf_tools/signal/__init__.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- - -"""SIGNAL PROCESSING ROUTINES - -This module contains submodules for signal processing. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 06/04/2017 - -References ----------- - -.. [Con2013] Condat, A Primal-Dual Splitting Method for Convex Optimization - Involving Lipschitzian, Proximable and Linear Composite Terms, 2013, - Journal of Optimization Theory and Applications, 158, 2, 460. - [https://link.springer.com/article/10.1007/s10957-012-0245-9] - -.. [B2011] Bauschke et al., Fixed-Point Algorithms for Inverse Problems in - Science and Engineering, 2011, Chapter 10. - [http://rentals.springer.com/product/9781441995698] - -.. [R2012] Raguet et al., Generalized Forward-Backward Splitting, 2012, SIAM, - v6. [https://arxiv.org/abs/1108.4404] - -.. [CWB2007] Candes, Wakin and Boyd, Enhancing Sparsity by Reweighting l1 - Minimization, 2007, Journal of Fourier Analysis and Applications, - 14(5):877-905. [https://arxiv.org/abs/0711.1612] - -""" - -__all__ = ['cost', 'filter', 'gradient', 'linear', 'noise', 'optimisation', - 'positivity', 'proximity', 'regression', 'reweight', 'svd', - 'validation', 'wavelet'] - -from . import * diff --git a/sf_tools/signal/cost.py b/sf_tools/signal/cost.py deleted file mode 100644 index f6e9508..0000000 --- a/sf_tools/signal/cost.py +++ /dev/null @@ -1,160 +0,0 @@ -# -*- coding: utf-8 -*- - -"""COST FUNCTIONS - -This module contains classes of different cost functions for optimization. - -:Author: Samuel Farrens - -:Version: 2.2 - -:Date: 23/10/2017 - -""" - -from __future__ import division, print_function -import numpy as np -try: - from sf_tools.plot.cost_plot import plotCost -except ImportError: - import_fail = True -else: - import_fail = False - - -class costObj(object): - - """Generic cost function object - - This class updates the cost according to the input cost functio class and - tests for convergence - - Parameters - ---------- - costFunc : class - Class for calculating the cost - initial_cost : float, optional - Initial value of the cost (default is "1e6") - tolerance : float, optional - Tolerance threshold for convergence (default is "1e-4") - cost_interval : int, optional - Iteration interval to calculate cost (default is "1") - test_range : int, optional - Number of cost values to be used in test (default is "4") - verbose : bool, optional - Option for verbose output (default is "True") - plot_output : str, optional - Output file name for cost function plot - - Notes - ----- - The costFunc class must contain a method called `calc_cost()`. - - """ - - def __init__(self, costFunc, initial_cost=1e6, tolerance=1e-4, - cost_interval=1, test_range=4, verbose=True, - plot_output=None): - - if not hasattr(costFunc, 'calc_cost'): - raise ValueError('costFunc must contain "calc_cost" method.') - - self.costFunc = costFunc - self.cost = initial_cost - self._cost_list = [] - self._cost_interval = cost_interval - self._iteration = 1 - self._test_list = [] - self._test_range = test_range - self._tolerance = tolerance - self._plot_output = plot_output - self._verbose = verbose - - def _check_cost(self): - """Check cost function - - This method tests the cost function for convergence in the specified - interval of iterations using the last n (test_range) cost values - - Returns - ------- - bool result of the convergence test - - """ - - # Add current cost value to the test list - self._test_list.append(self.cost) - - # Check if enough cost values have been collected - if len(self._test_list) == self._test_range: - - # The mean of the first half of the test list - t1 = np.mean(self._test_list[len(self._test_list) // 2:], axis=0) - # The mean of the second half of the test list - t2 = np.mean(self._test_list[:len(self._test_list) // 2], axis=0) - # Calculate the change across the test list - cost_diff = (np.linalg.norm(t1 - t2) / np.linalg.norm(t1)) - # Reset the test list - self._test_list = [] - - if self._verbose: - print(' - CONVERGENCE TEST - ') - print(' - CHANGE IN COST:', cost_diff) - print('') - - # Check for convergence - return cost_diff <= self._tolerance - - else: - - return False - - def get_cost(self, *args, **kwargs): - """Get cost function - - This method calculates the current cost and tests for convergence - - Returns - ------- - bool result of the convergence test - - """ - - # Check if the cost should be calculated - if self._iteration % self._cost_interval: - - test_result = False - - else: - - if self._verbose: - print(' - ITERATION:', self._iteration) - - # Calculate the current cost - self.cost = self.costFunc.calc_cost(*args, **kwargs) - self._cost_list.append(self.cost) - - if self._verbose: - print(' - Log10 COST:', np.log10(self.cost)) - print('') - - # Test for convergence - test_result = self._check_cost() - - # Update the current iteration number - self._iteration += 1 - - return test_result - - def plot_cost(self): - """Plot the cost function - - This method plots the cost function as function of iteration number - - """ - - if import_fail: - pass - - else: - plotCost(self._cost_list, self._plot_output) diff --git a/sf_tools/signal/filter.py b/sf_tools/signal/filter.py deleted file mode 100644 index e14f090..0000000 --- a/sf_tools/signal/filter.py +++ /dev/null @@ -1,99 +0,0 @@ -# -*- coding: utf-8 -*- - -"""FILTER ROUTINES - -This module contains methods for distance measurements in cosmology. - -:Author: Samuel Farrens - -:Version: 1.1 - -:Date: 20/10/2017 - -""" - -from __future__ import division -import numpy as np -from sf_tools.base.types import check_float - - -def Gaussian_filter(x, sigma, norm=True): - """Gaussian filter - - This method implements a Gaussian filter. - - Parameters - ---------- - x : float - Input data point - sigma : float - Standard deviation (filter scale) - norm : bool - Option to return normalised data. Default (norm=True) - - Returns - ------- - float Gaussian filtered data point - - """ - - x = check_float(x) - sigma = check_float(sigma) - - val = np.exp(-0.5 * (x / sigma) ** 2) - - if norm: - return val / (np.sqrt(2 * np.pi) * sigma) - - else: - return val - - -def mex_hat(x, sigma): - """Mexican hat - - This method implements a Mexican hat (or Ricker) wavelet. - - Parameters - ---------- - x : float - Input data point - sigma : float - Standard deviation (filter scale) - - Returns - ------- - float Mexican hat filtered data point - - """ - - x = check_float(x) - sigma = check_float(sigma) - - xs = (x / sigma) ** 2 - val = 2 * (3 * sigma) ** -0.5 * np.pi ** -0.25 - - return val * (1 - xs) * np.exp(-0.5 * xs) - - -def mex_hat_dir(x, y, sigma): - """Directional Mexican hat - - This method implements a directional Mexican hat (or Ricker) wavelet. - - Parameters - ---------- - x : float - Input data point for Gaussian - y : float - Input data point for Mexican hat - sigma : float - Standard deviation (filter scale) - - Returns - ------- - float directional Mexican hat filtered data point - - """ - - return -0.5 * (x / sigma) ** 2 * mex_hat(y, sigma) diff --git a/sf_tools/signal/gradient.py b/sf_tools/signal/gradient.py deleted file mode 100644 index 7f55d52..0000000 --- a/sf_tools/signal/gradient.py +++ /dev/null @@ -1,69 +0,0 @@ -# -*- coding: utf-8 -*- - -"""GRADIENT CLASSES - -This module contains classses for defining algorithm gradients. -Based on work by Yinghao Ge and Fred Ngole. - -:Author: Samuel Farrens - -:Version: 1.3 - -:Date: 19/07/2017 - -""" - - -class GradBasic(object): - """Basic gradient class - - This class defines the basic methods that will be inherited by specific - gradient classes - - """ - - def MtMX(self, x): - """M^T M X - - This method calculates the action of the transpose of the matrix M on - the action of the matrix M on the data X - - Parameters - ---------- - x : np.ndarray - Input data array - - Returns - ------- - np.ndarray result - - Notes - ----- - Calculates M^T (MX) - - """ - - return self.MtX(self.MX(x)) - - def get_grad(self, x): - """Get the gradient step - - This method calculates the gradient step from the input data - - Parameters - ---------- - x : np.ndarray - Input data array - - Returns - ------- - np.ndarray gradient value - - Notes - ----- - - Calculates M^T (MX - Y) - - """ - - self.grad = self.MtX(self.MX(x) - self.y) diff --git a/sf_tools/signal/linear.py b/sf_tools/signal/linear.py deleted file mode 100644 index 2189182..0000000 --- a/sf_tools/signal/linear.py +++ /dev/null @@ -1,204 +0,0 @@ -# -*- coding: utf-8 -*- - -"""LINEAR OPERATORS - -This module contains linear operator classes. - -:Author: Samuel Farrens - -:Version: 1.3 - -:Date: 19/07/2017 - -""" - -from builtins import range, zip -import numpy as np -from sf_tools.signal.wavelet import * -from sf_tools.math.matrix import rotate - - -class Identity(object): - """Identity operator class - - This is a dummy class that can be used in the optimisation classes - - """ - - def __init__(self): - - self.l1norm = 1.0 - - def op(self, data, **kwargs): - """Operator - - Returns the input data unchanged - - Parameters - ---------- - data : np.ndarray - Input data array - **kwargs - Arbitrary keyword arguments - - Returns - ------- - np.ndarray input data - - """ - - return data - - def adj_op(self, data): - """Adjoint operator - - Returns the input data unchanged - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray input data - - """ - - return data - - -class Wavelet(object): - """Wavelet class - - This class defines the wavelet transform operators - - Parameters - ---------- - data : np.ndarray - Input data array, normally an array of 2D images - wavelet_opt: str, optional - Additional options for `mr_transform` - - """ - - def __init__(self, data, wavelet_opt=None): - - self.y = data - self.data_shape = data.shape[-2:] - n = data.shape[0] - - self.filters = get_mr_filters(self.data_shape, opt=wavelet_opt) - self.l1norm = n * np.sqrt(sum((np.sum(np.abs(filter)) ** 2 for - filter in self.filters))) - - def op(self, data): - """Operator - - This method returns the input data convolved with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data array, a 2D image - - Returns - ------- - np.ndarray wavelet convolved data - - """ - - return filter_convolve_stack(data, self.filters) - - def adj_op(self, data): - """Adjoint operator - - This method returns the input data convolved with the wavelet filters - rotated by 180 degrees - - Parameters - ---------- - data : np.ndarray - Input data array, a 3D of wavelet coefficients - - Returns - ------- - np.ndarray wavelet convolved data - - """ - - return filter_convolve_stack(data, self.filters, filter_rot=True) - - -class LinearCombo(object): - """Linear combination class - - This class defines a combination of linear transform operators - - Parameters - ---------- - operators : list - List of linear operator class instances - weights : list, optional - List of weights for combining the linear adjoint operator results - - """ - - def __init__(self, operators, weights=None): - - self.operators = operators - self.weights = weights - self.l1norm = np.array([operator.l1norm for operator in - self.operators]) - - def op(self, data): - """Operator - - This method returns the input data operated on by all of the operators - - Parameters - ---------- - data : np.ndarray - Input data array, a 2D image - - Returns - ------- - np.ndarray linear operation results - - """ - - res = np.empty(len(self.operators), dtype=np.ndarray) - - for i in range(len(self.operators)): - res[i] = self.operators[i].op(data) - - return res - - def adj_op(self, data): - """Adjoint operator - - This method returns the combination of the result of all of the - adjoint operators. If weights are provided the comibination is the sum - of the weighted results, otherwise the combination is the mean. - - Parameters - ---------- - data : np.ndarray - Input data array, an array of coefficients - - Returns - ------- - np.ndarray adjoint operation results - - """ - - if isinstance(self.weights, type(None)): - - return np.mean([operator.adj_op(x) for x, operator in - zip(data, self.operators)], axis=0) - - else: - - return np.sum([weight * operator.adj_op(x) for x, operator, - weight in zip(data, self.operators, weights)], - axis=0) diff --git a/sf_tools/signal/noise.py b/sf_tools/signal/noise.py deleted file mode 100644 index 01f1000..0000000 --- a/sf_tools/signal/noise.py +++ /dev/null @@ -1,176 +0,0 @@ -# -*- coding: utf-8 -*- - -"""NOISE ROUTINES - -This module contains methods for adding and removing noise from data. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 04/01/2017 - -""" - -from builtins import zip -import numpy as np - - -def add_noise(data, sigma=1.0, noise_type='gauss'): - r"""Add noise to data - - This method adds Gaussian or Poisson noise to the input data - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - sigma : float or list, optional - Standard deviation of the noise to be added ('gauss' only) - noise_type : str {'gauss', 'poisson'} - Type of noise to be added (default is 'gauss') - - Returns - ------- - np.ndarray input data with added noise - - Raises - ------ - ValueError - If `noise_type` is not 'gauss' or 'poisson' - ValueError - If number of `sigma` values does not match the first dimension of the - input data - - Examples - -------- - >>> import numpy as np - >>> from sf_tools.signal.noise import add_noise - >>> x = np.arange(9).reshape(3, 3).astype(float) - >>> x - array([[ 0., 1., 2.], - [ 3., 4., 5.], - [ 6., 7., 8.]]) - >>> np.random.seed(1) - >>> add_noise(x, noise_type='poisson') - array([[ 0., 2., 2.], - [ 4., 5., 10.], - [ 11., 15., 18.]]) - - >>> import numpy as np - >>> from sf_tools.signal.noise import add_noise - >>> x = np.zeros(5) - >>> x - array([ 0., 0., 0., 0., 0.]) - >>> np.random.seed(1) - >>> add_noise(x, sigma=2.0) - array([ 3.24869073, -1.22351283, -1.0563435 , -2.14593724, 1.73081526]) - - """ - - data = np.array(data) - - if noise_type not in ('gauss', 'poisson'): - raise ValueError('Invalid noise type. Options are "gauss" or' - '"poisson"') - - if isinstance(sigma, (list, np.ndarray)): - if len(sigma) != data.shape[0]: - raise ValueError('Number of sigma values must match first ' - 'dimension of input data') - - if noise_type is 'gauss': - random = np.random.randn(*data.shape) - - elif noise_type is 'poisson': - random = np.random.poisson(np.abs(data)) - - if isinstance(sigma, float): - return data + sigma * random - - else: - return data + np.array([s * r for s, r in zip(sigma, random)]) - - -def thresh(data, threshold, threshold_type='hard'): - r"""Threshold data - - This method perfoms hard or soft thresholding on the input data - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - threshold : float - Threshold level - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - If `threshold_type` is not 'hard' or 'soft' - - - Notes - ----- - Implements one of the following two equations: - - * Hard Threshold - .. math:: - \mathrm{HT}_\lambda(x) = - \begin{cases} - x & \text{if } |x|\geq\lambda \\ - 0 & \text{otherwise} - \end{cases} - - * Soft Threshold - .. math:: - \mathrm{ST}_\lambda(x) = - \begin{cases} - x-\lambda\text{sign}(x) & \text{if } |x|\geq\lambda \\ - 0 & \text{otherwise} - \end{cases} - - Examples - -------- - >>> import numpy as np - >>> from sf_tools.signal.noise import thresh - >>> np.random.seed(1) - >>> x = np.random.randint(-9, 9, 10) - >>> x - array([-4, 2, 3, -1, 0, 2, -4, 6, -9, 7]) - >>> thresh(x, 4) - array([-4, 0, 0, 0, 0, 0, -4, 6, -9, 7]) - - >>> import numpy as np - >>> from sf_tools.signal.noise import thresh - >>> np.random.seed(1) - >>> x = np.random.ranf((3, 3)) - >>> x - array([[ 4.17022005e-01, 7.20324493e-01, 1.14374817e-04], - [ 3.02332573e-01, 1.46755891e-01, 9.23385948e-02], - [ 1.86260211e-01, 3.45560727e-01, 3.96767474e-01]]) - >>> thresh(x, 0.2, threshold_type='soft') - array([[ 0.217022 , 0.52032449, -0. ], - [ 0.10233257, -0. , -0. ], - [-0. , 0.14556073, 0.19676747]]) - - """ - - data = np.array(data) - - if threshold_type not in ('hard', 'soft'): - raise ValueError('Invalid threshold type. Options are "hard" or' - '"soft"') - - if threshold_type == 'soft': - return (np.sign(data) * (np.abs(data) - threshold) * - (np.abs(data) >= threshold)) - - else: - return data * (np.abs(data) >= threshold) diff --git a/sf_tools/signal/optimisation.py b/sf_tools/signal/optimisation.py deleted file mode 100644 index 1d8387d..0000000 --- a/sf_tools/signal/optimisation.py +++ /dev/null @@ -1,486 +0,0 @@ -# -*- coding: utf-8 -*- - -r"""OPTIMISATION CLASSES - -This module contains classes for optimisation algoritms. - -:Author: Samuel Farrens - -:Version: 1.3 - -:Date: 20/10/2017 - -NOTES ------ - -Input classes must have the following properties: - - * **Gradient Operators** - - Must have the following methods: - - * ``get_grad()`` - calculate the gradient - - Must have the following variables: - - * ``grad`` - the gradient - * ``inv_spec_rad`` - inverse spectral radius :math:`\frac{1}{\rho}` - - * **Linear Operators** - - Must have the following methods: - - * ``op()`` - operator - * ``adj_op()`` - adjoint operator - - Must have the following variables: - - * ``l1norm`` - the l1 norm of the operator - - * **Proximity Operators** - - Must have the following methods: - - * ``op()`` - operator - -The following notation is used to implement the algorithms: - - * x_old is used in place of :math:`x_{n}`. - * x_new is used in place of :math:`x_{n+1}`. - * x_prox is used in place of :math:`\tilde{x}_{n+1}`. - * x_temp is used for intermediate operations. - -""" - -from __future__ import division, print_function -from builtins import range, zip -import numpy as np - - -class FISTA(object): - r"""FISTA - - This class is inhereited by optimisation classes to speed up convergence - - Parameters - ---------- - lambda_init : float, optional - Initial value of the relaxation parameter - active : bool, optional - Option to activate FISTA convergence speed-up (default is ``True``) - - """ - - def __init__(self, lambda_init=None, active=True): - - self.lambda_now = lambda_init - self.t_now = 1.0 - self.t_prev = 1.0 - self.use_speed_up = active - - def speed_switch(self, turn_on=True): - r"""Speed swicth - - This method turns on or off the speed-up - - Parameters - ---------- - turn_on : bool - Option to turn on speed-up (default is ``True``) - - """ - - self.use_speed_up = turn_on - - def update_lambda(self): - r"""Update lambda - - This method updates the value of lambda - - Notes - ----- - Implements steps 3 and 4 from algoritm 10.7 in [B2011]_ - - """ - - self.t_prev = self.t_now - self.t_now = (1 + np.sqrt(4 * self.t_prev ** 2 + 1)) * 0.5 - self.lambda_now = 1 + (self.t_prev - 1) / self.t_now - - def speed_up(self): - r"""speed-up - - This method returns the update if the speed-up is active - - """ - - if self.use_speed_up: - self.update_lambda() - - -class ForwardBackward(FISTA): - r"""Forward-Backward optimisation - - This class implements standard forward-backward optimisation with an the - option to use the FISTA speed-up - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - grad : class - Gradient operator class - prox : class - Proximity operator class - cost : class, optional - Cost function class - lambda_init : float, optional - Initial value of the relaxation parameter - lambda_update : function, optional - Relaxation parameter update method - use_fista : bool, optional - Option to use FISTA (default is ``True``) - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, grad, prox, cost=None, lambda_init=None, - lambda_update=None, use_fista=True, auto_iterate=True): - - FISTA.__init__(self, lambda_init, use_fista) - self.x_old = x - self.z_old = np.copy(self.x_old) - self.grad = grad - self.prox = prox - self.cost_func = cost - self.lambda_update = lambda_update - self.converge = False - if auto_iterate: - self.iterate() - - def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements algorithm 10.7 (or 10.5) from [B2011]_ - - """ - - # Step 1 from alg.10.7. - self.grad.get_grad(self.z_old) - y_old = self.z_old - self.grad.inv_spec_rad * self.grad.grad - - # Step 2 from alg.10.7. - self.x_new = self.prox.op(y_old) - - # Steps 3 and 4 from alg.10.7. - self.speed_up() - - # Step 5 from alg.10.7. - self.z_new = self.x_old + self.lambda_now * (self.x_new - self.x_old) - - # Test primal variable for convergence. - if np.sum(np.abs(self.z_old - self.z_new)) <= 1e-6: - print(' - converged!') - self.converge = True - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - np.copyto(self.z_old, self.z_new) - - # Update parameter values for next iteration. - if not isinstance(self.lambda_update, type(None)): - self.lambda_now = self.lambda_update(self.lambda_now) - - # Test cost function for convergence. - if not isinstance(self.cost_func, type(None)): - self.converge = self.cost_func.get_cost(self.z_new) - - def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.z_new - - -class GenForwardBackward(object): - r"""Generalized Forward-Backward optimisation - - This class implements algorithm 1 from [R2012]_ - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - grad : class - Gradient operator class - prox_list : list - List of proximity operator classes - cost : class, optional - Cost function class - lambda_init : float, optional - Initial value of the relaxation parameter - lambda_update : function, optional - Relaxation parameter update method - weights : np.ndarray, optional - Proximity operator weights - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, grad, prox_list, cost=None, lambda_init=1.0, - lambda_update=None, weights=None, auto_iterate=True): - - self.x_old = x - self.grad = grad - self.prox_list = np.array(prox_list) - self.cost_func = cost - self.lambda_init = lambda_init - self.lambda_update = lambda_update - - if isinstance(weights, type(None)): - self.weights = np.repeat(1.0 / self.prox_list.size, - self.prox_list.size) - else: - self.weights = np.array(weights) - - # Check weights. - if np.sum(self.weights) != 1.0: - raise ValueError('Proximity operator weights must sum to 1.0.' - 'Current sum of weights = ' + - str(np.sum(self.weights))) - - self.z = np.array([self.x_old for i in range(self.prox_list.size)]) - - self.converge = False - if auto_iterate: - self.iterate() - - def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements algorithm 1 from [R2012]_ - - """ - - # Calculate gradient for current iteration. - self.grad.get_grad(self.x_old) - - # Update z values. - for i in range(self.prox_list.size): - z_temp = (2 * self.x_old - self.z[i] - self.grad.inv_spec_rad * - self.grad.grad) - z_prox = self.prox_list[i].op(z_temp, - extra_factor=self.grad.inv_spec_rad / - self.weights[i]) - self.z[i] += self.lambda_init * (z_prox - self.x_old) - - # Update current reconstruction. - self.x_new = np.sum((z_i * w_i for z_i, w_i in - zip(self.z, self.weights)), axis=0) - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - - # Update parameter values for next iteration. - if not isinstance(self.lambda_update, type(None)): - self.lambda_now = self.lambda_update(self.lambda_now) - - # Test cost function for convergence. - if not isinstance(self.cost_func, type(None)): - self.converge = self.cost_func.get_cost(self.x_new) - - def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.x_new - - -class Condat(object): - r"""Condat optimisation - - This class implements algorithm 10.7 from [Con2013]_ - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - y : np.ndarray - Initial guess for the dual variable - grad : class - Gradient operator class - prox : class - Proximity primal operator class - prox_dual : class - Proximity dual operator class - linear : class - Linear operator class - cost : class - Cost function class - rho : float - Relaxation parameter - sigma : float - Proximal dual parameter - tau : float - Proximal primal paramater - rho_update : function, optional - Relaxation parameter update method - sigma_update : function, optional - Proximal dual parameter update method - tau_update : function, optional - Proximal primal parameter update method - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, y, grad, prox, prox_dual, linear, cost, - rho, sigma, tau, rho_update=None, sigma_update=None, - tau_update=None, auto_iterate=True): - - self.x_old = x - self.y_old = y - self.grad = grad - self.prox = prox - self.prox_dual = prox_dual - self.linear = linear - self.cost_func = cost - self.rho = rho - self.sigma = sigma - self.tau = tau - self.rho_update = rho_update - self.sigma_update = sigma_update - self.tau_update = tau_update - self.converge = False - if auto_iterate: - self.iterate() - - def update_param(self): - r"""Update parameters - - This method updates the values of ``rho``, ``sigma`` and ``tau`` with - the methods provided - - """ - - # Update relaxation parameter. - if not isinstance(self.rho_update, type(None)): - self.rho = self.rho_update(self.rho) - - # Update proximal dual parameter. - if not isinstance(self.sigma_update, type(None)): - self.sigma = self.sigma_update(self.sigma) - - # Update proximal primal parameter. - if not isinstance(self.tau_update, type(None)): - self.tau = self.tau_update(self.tau) - - def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements equation 9 (algorithm 3.1) from [Con2013]_ - - - primal proximity operator set up for positivity constraint - - """ - - # Step 1 from eq.9. - self.grad.get_grad(self.x_old) - - x_prox = self.prox.op(self.x_old - self.tau * self.grad.grad - - self.tau * self.linear.adj_op(self.y_old)) - - # Step 2 from eq.9. - y_temp = (self.y_old + self.sigma * - self.linear.op(2 * x_prox - self.x_old)) - - y_prox = (y_temp - self.sigma * self.prox_dual.op(y_temp / self.sigma, - extra_factor=(1.0 / self.sigma))) - - # Step 3 from eq.9. - self.x_new = self.rho * x_prox + (1 - self.rho) * self.x_old - self.y_new = self.rho * y_prox + (1 - self.rho) * self.y_old - - del x_prox, y_prox, y_temp - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - np.copyto(self.y_old, self.y_new) - - # Update parameter values for next iteration. - self.update_param() - - # Test cost function for convergence. - self.converge = self.cost_func.get_cost(self.x_new, self.y_new) - - def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.x_new - self.y_final = self.y_new diff --git a/sf_tools/signal/positivity.py b/sf_tools/signal/positivity.py deleted file mode 100644 index 73b8449..0000000 --- a/sf_tools/signal/positivity.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -"""POSITIVITY - -This module contains a function that retains only positive coefficients in -an array - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 26/07/2017 - -""" - -import numpy as np - - -def positive(data): - """Positivity operator - - This method preserves only the positive coefficients of the input data, all - negative coefficients are set to zero - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - - Returns - ------- - np.ndarray array with only positive coefficients - - """ - - def pos_recursive(data): - - data = np.array(data) - - if not data.dtype == 'O': - - result = list(data * (data > 0)) - - else: - - result = [pos_recursive(x) for x in data] - - return result - - return np.array(pos_recursive(data)) diff --git a/sf_tools/signal/proximity.py b/sf_tools/signal/proximity.py deleted file mode 100644 index 8e61f07..0000000 --- a/sf_tools/signal/proximity.py +++ /dev/null @@ -1,275 +0,0 @@ -# -*- coding: utf-8 -*- - -"""PROXIMITY OPERATORS - -This module contains classes of proximity operators for optimisation - -:Author: Samuel Farrens - -:Version: 1.3 - -:Date: 19/07/2017 - -""" - -from builtins import range -import numpy as np -from sf_tools.signal.noise import thresh -from sf_tools.signal.svd import svd_thresh, svd_thresh_coef -from sf_tools.signal.optimisation import ForwardBackward -from sf_tools.signal.positivity import positive -from sf_tools.base.transform import * - - -class Positive(object): - """Positivity proximity operator - - This class defines the positivity proximity operator - - """ - - def __init__(self): - pass - - def op(self, data, **kwargs): - """Operator - - This method preserves only the positive coefficients of the input data - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray all positive elements from input data - - """ - - return positive(data) - - -class Threshold(object): - """Threshold proximity operator - - This class defines the threshold proximity operator - - Parameters - ---------- - weights : np.ndarray - Input array of weights - thresh_type : str {'hard', 'soft'}, optional - Threshold type (default is 'soft') - - """ - - def __init__(self, weights, thresh_type='soft'): - - self.weights = weights - self.thresh_type = thresh_type - - def op(self, data, extra_factor=1.0): - """Operator - - This method returns the input data thresholded by the weights - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray thresholded data - - """ - - threshold = self.weights * extra_factor - - return thresh(data, threshold, self.thresh_type) - - -class LowRankMatrix(object): - """Low-rank proximity operator - - This class defines the low-rank proximity operator - - Parameters - ---------- - thresh : float - Threshold value - treshold_type : str {'hard', 'soft'} - Threshold type (options are 'hard' or 'soft') - lowr_type : str {'standard', 'ngole'} - Low-rank implementation (options are 'standard' or 'ngole') - operator : class - Operator class ('ngole' only) - - """ - - def __init__(self, thresh, thresh_type='soft', - lowr_type='standard', operator=None): - - self.thresh = thresh - self.thresh_type = thresh_type - self.lowr_type = lowr_type - self.operator = operator - - def op(self, data, extra_factor=1.0): - """Operator - - This method returns the input data after the singular values have been - thresholded - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray SVD thresholded data - - """ - - # Update threshold with extra factor. - threshold = self.thresh * extra_factor - - if self.lowr_type == 'standard': - data_matrix = svd_thresh(cube2matrix(data), threshold, - thresh_type=self.thresh_type) - - elif self.lowr_type == 'ngole': - data_matrix = svd_thresh_coef(data, self.operator, - threshold, - thresh_type=self.thresh_type) - - new_data = matrix2cube(data_matrix, data.shape[1:]) - - # Return updated data. - return new_data - - -class ProximityCombo(object): - """Proximity Combo - - This class defines a combined proximity operator - - Parameters - ---------- - operators : list - List of proximity operator class instances - - """ - - def __init__(self, operators): - - self.operators = operators - - def op(self, data, extra_factor=1.0): - """Operator - - This method returns the result of applying all of the proximity - operators to the data - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray result - - """ - - res = np.empty(len(self.operators), dtype=np.ndarray) - - for i in range(len(self.operators)): - res[i] = self.operators[i].op(data[i], extra_factor=extra_factor) - - return res - - -class SubIter(object): - """Sub iteration operator - - This class defines the sub-iteration proximity operator - - Parameters - ---------- - data_shape : tuple - Shape of input data array - operator : class - Proximity operator class - weights : np.ndarray - Array of weights - u_init : np.ndarray - Initial estimate of u - - """ - - def __init__(self, data_shape, operator, weights=None, u_init=None): - - self.operator = operator - - if not isinstance(weights, type(None)): - self.weights = weights - - if isinstance(u_init, type(None)): - self.u = np.ones(data_shape) - - self.opt = ForwardBackward(self.u, self.operator, - Threshold(self.weights), auto_iterate=False, - indent_level=2) - - def update_weights(self, weights): - """Update weights - - This method updates the values of the weights - - Parameters - ---------- - weights : np.ndarray - Array of weights - - """ - - self.weights = weights - - def update_u(self): - """Update u - - This method updates the values of u - - """ - - self.opt.iterate(100) - self.u = self.opt.x_final - - def op(self, data): - """Operator - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray result - - """ - - self.update_u() - - new_data = data - self.operator.adj_op(self.u) - - return new_data diff --git a/sf_tools/signal/regression.py b/sf_tools/signal/regression.py deleted file mode 100644 index 6aa1b30..0000000 --- a/sf_tools/signal/regression.py +++ /dev/null @@ -1,195 +0,0 @@ -# -*- coding: utf-8 -*- - -"""REGRESSION ROUTINES - -This module contains methods for linear regression. - -:Author: Samuel Farrens - -:Version: 1.0 - -:Date: 04/04/2017 - -""" - -from builtins import zip -import numpy as np -from scipy.odr import * - - -def linear_fit(B, x): - r"""Linear fit - - This method defines the equation of a straight line. - - Parameters - ---------- - B : tuple - Slope (m) and intercept (b) of the line. - x : list or np.ndarray - The 1D data vector - - Returns - ------- - np.ndarray 1D array of corresponding y values - - NOTES - ----- - This equation of a stright line is given by - - .. math:: - - y = mx + b - - """ - - return B[0] * np.array(x) + B[1] - - -def polynomial(x, a): - r"""Polynomial - - This method defines the equation of a polynomial line. - - Parameters - ---------- - x : list or np.ndarray - The 1D data vector - a : list or np.ndarray - The 1D polynomial coefficient vector - - Returns - ------- - np.ndarray 1D array of corresponding y values - - NOTES - ----- - This equation of a stright line is given by - - .. math:: - - y = a_0 + a_1x + a_2x^2 + \dots + a_kx^k - - """ - - a = np.array(a) - x = np.array(x) - - return sum([(a_i * x ** n) for a_i, n in zip(a, range(a.size))]) - - -def polynomial_fit(x, y, k=1): - """Polynomial fit - - This method finds the coefficients for a polynomial line fit to the input - data using least squares. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - y : list or np.ndarray - The 1D dependent data vector - k : int, optional - Number of degrees of freedom. Default (k=1) - - Returns - ------- - np.ndarray 1D array of coefficients a - - """ - - y = np.array(y) - - return least_squares(x_matrix(x, k), y) - - -def least_squares(X, y): - """Least squares - - This method performs an analytical least squares regression. Returns the - values of the coefficients, a, given the input matrix X and the - corresponding y values. - - Parameters - ---------- - X : np.ndarray - The 2D independent data matrix. - y : np.ndarray - The 1D dependent data vector - - Returns - ------- - np.ndarray 1D array of coefficients a - - Raises - ------ - ValueError - If inputs are not numpy arrays - - ToDo - ---- - Add equation and example - - """ - - if not np.all([isinstance(i, np.ndarray) for i in (X, y)]): - raise ValueError('Inputs must be numpy arrays.') - - return np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), y) - - -def x_matrix(x, k): - """Define X matrix - - This method defines the matrix X for a given vector x corresponding to a - polynomial with k degrees of freedom. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - k : int - Number of degrees of freedom - - Returns - ------- - np.ndarray the 2D independent variable matrix X - - """ - - x = np.array(x) - - return np.vstack([x ** n for n in range(k + 1)]).T - - -def fit_odr(x, y, xerr, yerr, fit): - """Fit via ODR - - This method performs an orthogonal distance regression fit. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - y : list or np.ndarray - The 1D dependent data vector - x_err : list or np.ndarray - 1D data vector of x value errors - y_err : list or np.ndarray - 1D data vector of y value errors - fit : function - Fitting function - - Returns - ------- - tuple best fit parameters - - """ - - model = Model(fit) - r_data = RealData(x, y, sx=xerr, sy=yerr) - odr = ODR(r_data, model, beta0=[1.0, 2.0]) - odr_out = odr.run() - - return odr_out.beta diff --git a/sf_tools/signal/reweight.py b/sf_tools/signal/reweight.py deleted file mode 100644 index 204dff6..0000000 --- a/sf_tools/signal/reweight.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- - -"""REWEIGHTING CLASSES - -This module contains classes for reweighting optimisation implementations - -:Author: Samuel Farrens - -:Version: 1.3 - -:Date: 20/10/2017 - -""" - -from __future__ import division -import numpy as np - - -class cwbReweight(object): - r"""Candes, Wakin and Boyd reweighting class - - This class implements the reweighting scheme described in [CWB2007]_ - - Parameters - ---------- - weights : np.ndarray - Array of weights - thresh_factor : float - Threshold factor - - """ - - def __init__(self, weights, thresh_factor=1): - - self.weights = weights - self.original_weights = np.copy(self.weights) - self.thresh_factor = thresh_factor - - def reweight(self, data): - r"""Reweight - - This method implements the reweighting from section 4 in [CWB2007]_ - - Notes - ----- - - Reweighting implemented as: - - .. math:: - - w = w \left( \frac{1}{1 + \frac{|x^w|}{n \sigma}} \right) - - """ - - self.weights *= (1.0 / (1.0 + np.abs(data) / (self.thresh_factor * - self.original_weights))) diff --git a/sf_tools/signal/svd.py b/sf_tools/signal/svd.py deleted file mode 100644 index c108e24..0000000 --- a/sf_tools/signal/svd.py +++ /dev/null @@ -1,162 +0,0 @@ -# -*- coding: utf-8 -*- - -"""SVD ROUTINES - -This module contains methods for thresholding singular values. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import division -from builtins import zip -import numpy as np -from scipy.linalg import svd, diagsvd -from sf_tools.image.convolve import convolve -from sf_tools.signal.noise import thresh -from sf_tools.base.transform import cube2matrix, matrix2cube -from sf_tools.interface.errors import warn - - -def find_n_pc(u, factor=0.5): - """Find number of principal components - - This method finds the minimum number of principal components required - - Parameters - ---------- - u : np.ndarray - Left singular vector - factor : float, optional - Factor for testing the auto correlation (default is '0.5') - - Returns - ------- - int number of principal components - - """ - - # Get the shape of the galaxy images. - gal_shape = np.repeat(np.int(np.sqrt(u.shape[0])), 2) - - # Find the auto correlation of the left singular vector. - u_auto = [convolve(a.reshape(gal_shape), np.rot90(a.reshape(gal_shape), 2)) - for a in u.T] - - # Return the required number of principal components. - return np.sum(((a[list(zip(gal_shape // 2))] ** 2 <= factor * - np.sum(a ** 2)) for a in u_auto)) - - -def svd_thresh(data, threshold=None, n_pc=None, thresh_type='hard'): - """Threshold the singular values - - This method thresholds the input data using singular value decomposition - - Parameters - ---------- - data : np.ndarray - Input data array - threshold : float, optional - Threshold value - n_pc : int or str, optional - Number of principal components, specify an integer value or 'all' - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - For invalid string entry for n_pc - - """ - - if isinstance(n_pc, str) and n_pc != 'all': - raise ValueError('Invalid value for "n_pc", specify an integer value ' - 'or "all"') - - # Get SVD of input data. - u, s, v = svd(data, check_finite=False, lapack_driver='gesvd') - - # Find the threshold if not provided. - if isinstance(threshold, type(None)): - - # Find the required number of principal components if not specified. - if isinstance(n_pc, type(None)): - n_pc = find_n_pc(u, factor=0.1) - - # If the number of PCs is too large use all of the singular values. - if n_pc >= s.size or n_pc == 'all': - n_pc = s.size - 1 - warn('Using all singular values.') - - threshold = s[n_pc] - - # Remove noise from singular values. - s_new = thresh(s, threshold, thresh_type) - - if np.all(s_new == s): - warn('No change to singular values.') - - # Reshape the singular values to the shape of the input image. - s_new = diagsvd(s_new, *data.shape) - - # Return the thresholded image. - return np.dot(u, np.dot(s_new, v)) - - -def svd_thresh_coef(data, operator, threshold, thresh_type='hard'): - """Threshold the singular values coefficients - - This method thresholds the input data using singular value decomposition - - Parameters - ---------- - data : np.ndarray - Input data array - operator : class - Operator class instance - threshold : float, optional - Threshold value - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - For invalid string entry for n_pc - - """ - - # Convert data cube to matrix. - data_matrix = cube2matrix(data) - - # Get SVD of data matrix. - u, s, v = np.linalg.svd(data_matrix, full_matrices=False) - - # Compute coefficients. - a = np.dot(np.diag(s), v) - - # Compute threshold matrix. - u_cube = matrix2cube(u, data.shape[1:]) - ti = np.array([np.linalg.norm(x) for x in operator(u_cube)]) - ti = np.repeat(ti, a.shape[1]).reshape(a.shape) - threshold *= ti - - # Remove noise from coefficients. - a_new = thresh(a, threshold, thresh_type) - - # Return the thresholded image. - return np.dot(u, a_new) diff --git a/sf_tools/signal/validation.py b/sf_tools/signal/validation.py deleted file mode 100644 index 16a4191..0000000 --- a/sf_tools/signal/validation.py +++ /dev/null @@ -1,58 +0,0 @@ -"""VALIDATION ROUTINES - -This module contains methods for testing signal and operator properties. - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 06/12/2017 - -""" - -from __future__ import print_function -import numpy as np - - -def transpose_test(operator, operator_t, x_shape, x_args, y_shape=None, - y_args=None): - """Transpose test - - This method tests two operators to see if they are the transpose of each - other. - - Parameters - ---------- - operator : function - Operator function - operator_t : function - Transpose operator function - x_shape : tuple - Shape of operator input data - x_args : tuple - Arguments to be passed to operator - y_shape : tuple, optional - Shape of transpose operator input data - y_args : tuple, optional - Arguments to be passed to transpose operator - - """ - - if isinstance(y_shape, type(None)): - y_shape = x_shape - - if isinstance(y_args, type(None)): - y_args = x_args - - # Generate random arrays. - x = np.random.ranf(x_shape) - y = np.random.ranf(y_shape) - - # Calculate - mx_y = np.sum(np.multiply(operator(x, *x_args), y)) - - # Calculate - x_mty = np.sum(np.multiply(x, operator_t(y, *y_args))) - - # Test the difference between the two. - print(' - | - | =', np.abs(mx_y - x_mty)) diff --git a/sf_tools/signal/wavelet.py b/sf_tools/signal/wavelet.py deleted file mode 100644 index f807844..0000000 --- a/sf_tools/signal/wavelet.py +++ /dev/null @@ -1,165 +0,0 @@ -# -*- coding: utf-8 -*- - -"""WAVELET MODULE - -This module contains methods for performing wavelet transformations using iSAP - -:Author: Samuel Farrens - -:Version: 1.2 - -:Date: 20/10/2017 - -""" - -from __future__ import division -from builtins import zip -import numpy as np -from os import remove -from subprocess import check_call -from datetime import datetime -from astropy.io import fits -from sf_tools.image.convolve import convolve -from sf_tools.base.np_adjust import rotate_stack - - -def call_mr_transform(data, opt=None, path='./', remove_files=True): - """Call mr_transform - - This method calls the iSAP module mr_transform - - Parameters - ---------- - data : np.ndarray - Input data, 2D array - opt : list, optional - List of additonal mr_transform options - path : str, optional - Path for output files (default is './') - remove_files : bool, optional - Option to remove output files (default is 'True') - - Returns - ------- - np.ndarray results of transform - - """ - - # Create a unique string using the current date and time. - unique_string = datetime.now().strftime('%Y.%m.%d_%H.%M.%S') - - # Set the ouput file names. - file_name = path + 'mr_temp_' + unique_string - file_fits = file_name + '.fits' - file_mr = file_name + '.mr' - - # Write the input data to a fits file. - fits.writeto(file_fits, data) - - # Call mr_transform. - if isinstance(opt, type(None)): - check_call(['mr_transform', file_fits, file_mr]) - else: - check_call(['mr_transform'] + opt + [file_fits, file_mr]) - - # Retrieve wavelet transformed data. - result = fits.getdata(file_mr) - - # Return the mr_transform results (and the output file names). - if remove_files: - remove(file_fits) - remove(file_mr) - return result - else: - return result, file_mr - - -def get_mr_filters(data_shape, opt=None, coarse=False): - """Get mr_transform filters - - This method obtains wavelet filters by calling mr_transform - - Parameters - ---------- - data_shape : tuple - 2D data shape - opt : list, optional - List of additonal mr_transform options - coarse : bool, optional - Option to keep coarse scale (default is 'False') - - Returns - ------- - np.ndarray 3D array of wavelet filters - - """ - - # Adjust the shape of the input data. - data_shape = np.array(data_shape) - data_shape += data_shape % 2 - 1 - - # Create fake data. - fake_data = np.zeros(data_shape) - fake_data[list(zip(data_shape // 2))] = 1 - - # Call mr_transform. - mr_filters = call_mr_transform(fake_data, opt=opt) - - # Return filters - if coarse: - return mr_filters - else: - return mr_filters[:-1] - - -def filter_convolve(data, filters, filter_rot=False): - """Filter convolve - - This method convolves the input image with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data, 2D array - filters : np.ndarray - Wavelet filters, 3D array - filter_rot : bool, optional - Option to rotate wavelet filters (default is 'False') - - Returns - ------- - np.ndarray convolved data - - """ - - if filter_rot: - return np.sum((convolve(coef, f) for coef, f in - zip(data, rotate_stack(filters))), axis=0) - - else: - return np.array([convolve(data, f) for f in filters]) - - -def filter_convolve_stack(data, filters, filter_rot=False): - """Filter convolve - - This method convolves the a stack of input images with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data, 3D array - filters : np.ndarray - Wavelet filters, 3D array - filter_rot : bool, optional - Option to rotate wavelet filters (default is 'False') - - Returns - ------- - np.ndarray convolved data - - """ - - # Return the convolved data cube. - return np.array([filter_convolve(x, filters, filter_rot=filter_rot) - for x in data]) From 898469e009e3541d8a99b758bfc00971c2dec581 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 11:57:04 +0200 Subject: [PATCH 2/8] updated modopt dependency --- requirements.txt | 8 -------- setup.py | 2 +- sf_tools/image/distort.py | 2 +- sf_tools/image/stamp.py | 2 +- sf_tools/image/stats.py | 2 +- 5 files changed, 4 insertions(+), 12 deletions(-) delete mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 9b6b64e..0000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -numpy==1.13.3 -scipy==1.0.0 -future==0.16.0 -astropy==2.0.2 -matplotlib==2.1.0 -termcolor==1.1.0 -coverage==4.0.3 -coveralls==1.2.0 diff --git a/setup.py b/setup.py index f8e3f5a..343b1e7 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ url='https://github.com/sfarrens/sf_tools', download_url='https://github.com/sfarrens/sf_tools', packages=find_packages(), - install_requires=['numpy>=1.14.1', 'future>=0.16.0', 'scipy>=1.0.0', 'astropy==2.0.4'], + install_requires=['numpy>=1.14.1', 'future>=0.16.0', 'scipy>=1.0.0', 'astropy==2.0.4', 'modopt>=1.1.4'], license='MIT', description='Tools for image analysis, signal processing and statistics.', long_description=release_info["__about__"], diff --git a/sf_tools/image/distort.py b/sf_tools/image/distort.py index f087d48..2aa7bc6 100644 --- a/sf_tools/image/distort.py +++ b/sf_tools/image/distort.py @@ -15,7 +15,7 @@ from __future__ import division import numpy as np from itertools import product -from sf_tools.base.np_adjust import pad2d +from modopt.base.np_adjust import pad2d def downsample(image, factor): diff --git a/sf_tools/image/stamp.py b/sf_tools/image/stamp.py index ce53013..bc2401e 100644 --- a/sf_tools/image/stamp.py +++ b/sf_tools/image/stamp.py @@ -17,7 +17,7 @@ from builtins import zip import numpy as np from itertools import product -from sf_tools.base.np_adjust import pad2d +from modopt.base.np_adjust import pad2d def patch_centres(data_shape, layout): diff --git a/sf_tools/image/stats.py b/sf_tools/image/stats.py index 4d75621..3252e55 100644 --- a/sf_tools/image/stats.py +++ b/sf_tools/image/stats.py @@ -14,7 +14,7 @@ from __future__ import division import numpy as np -from sf_tools.base.np_adjust import pad2d +from modopt.base.np_adjust import pad2d class SAT(): From 631364a5c6af865e35de761db3821dda72f7e12d Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 13:08:10 +0200 Subject: [PATCH 3/8] updated docs --- docs/build/doctrees/environment.pickle | Bin 1797929 -> 0 bytes docs/build/doctrees/examples.doctree | Bin 2657 -> 0 bytes docs/build/doctrees/index.doctree | Bin 20066 -> 0 bytes docs/build/doctrees/modules.doctree | Bin 2847 -> 0 bytes docs/build/doctrees/setup.doctree | Bin 2837 -> 0 bytes docs/build/doctrees/sf_tools.base.doctree | Bin 6437 -> 0 bytes .../doctrees/sf_tools.base.np_adjust.doctree | Bin 51465 -> 0 bytes .../doctrees/sf_tools.base.transform.doctree | Bin 41224 -> 0 bytes .../doctrees/sf_tools.base.types.doctree | Bin 44727 -> 0 bytes docs/build/doctrees/sf_tools.doctree | Bin 6399 -> 0 bytes .../doctrees/sf_tools.image.convolve.doctree | Bin 58249 -> 0 bytes .../doctrees/sf_tools.image.distort.doctree | Bin 47476 -> 0 bytes docs/build/doctrees/sf_tools.image.doctree | Bin 10588 -> 0 bytes .../doctrees/sf_tools.image.quality.doctree | Bin 29556 -> 0 bytes .../doctrees/sf_tools.image.shape.doctree | Bin 67000 -> 0 bytes .../doctrees/sf_tools.image.stamp.doctree | Bin 59204 -> 0 bytes .../doctrees/sf_tools.image.stats.doctree | Bin 28935 -> 0 bytes .../build/doctrees/sf_tools.interface.doctree | Bin 6360 -> 0 bytes .../sf_tools.interface.errors.doctree | Bin 20412 -> 0 bytes .../doctrees/sf_tools.interface.log.doctree | Bin 13734 -> 0 bytes .../doctrees/sf_tools.math.angle.doctree | Bin 24589 -> 0 bytes docs/build/doctrees/sf_tools.math.doctree | Bin 6369 -> 0 bytes .../doctrees/sf_tools.math.integrate.doctree | Bin 18939 -> 0 bytes .../doctrees/sf_tools.math.matrix.doctree | Bin 49681 -> 0 bytes .../build/doctrees/sf_tools.math.misc.doctree | Bin 27325 -> 0 bytes .../doctrees/sf_tools.math.stats.doctree | Bin 58701 -> 0 bytes .../doctrees/sf_tools.plot.cost_plot.doctree | Bin 10817 -> 0 bytes docs/build/doctrees/sf_tools.plot.doctree | Bin 6201 -> 0 bytes .../doctrees/sf_tools.signal.cost.doctree | Bin 28645 -> 0 bytes docs/build/doctrees/sf_tools.signal.doctree | Bin 12053 -> 0 bytes .../doctrees/sf_tools.signal.filter.doctree | Bin 24191 -> 0 bytes .../doctrees/sf_tools.signal.gradient.doctree | Bin 18112 -> 0 bytes .../doctrees/sf_tools.signal.linear.doctree | Bin 46779 -> 0 bytes .../doctrees/sf_tools.signal.noise.doctree | Bin 32556 -> 0 bytes .../sf_tools.signal.optimisation.doctree | Bin 102177 -> 0 bytes .../sf_tools.signal.positivity.doctree | Bin 11267 -> 0 bytes .../sf_tools.signal.proximity.doctree | Bin 64796 -> 0 bytes .../sf_tools.signal.regression.doctree | Bin 50445 -> 0 bytes .../doctrees/sf_tools.signal.reweight.doctree | Bin 15438 -> 0 bytes .../doctrees/sf_tools.signal.svd.doctree | Bin 31440 -> 0 bytes .../sf_tools.signal.validation.doctree | Bin 15498 -> 0 bytes .../doctrees/sf_tools.signal.wavelet.doctree | Bin 36157 -> 0 bytes docs/build/html/.buildinfo | 4 - docs/build/html/_modules/index.html | 264 - .../_modules/sf_tools/base/np_adjust.html | 554 - .../_modules/sf_tools/base/transform.html | 453 - .../html/_modules/sf_tools/base/types.html | 483 - .../_modules/sf_tools/image/convolve.html | 473 - .../html/_modules/sf_tools/image/distort.html | 504 - .../html/_modules/sf_tools/image/quality.html | 389 - .../html/_modules/sf_tools/image/shape.html | 660 - .../html/_modules/sf_tools/image/stamp.html | 530 - .../html/_modules/sf_tools/image/stats.html | 377 - .../_modules/sf_tools/interface/errors.html | 342 - .../html/_modules/sf_tools/interface/log.html | 321 - .../html/_modules/sf_tools/math/angle.html | 359 - .../_modules/sf_tools/math/integrate.html | 303 - .../html/_modules/sf_tools/math/matrix.html | 482 - .../html/_modules/sf_tools/math/misc.html | 358 - .../html/_modules/sf_tools/math/stats.html | 503 - .../_modules/sf_tools/plot/cost_plot.html | 284 - .../html/_modules/sf_tools/signal/cost.html | 397 - .../html/_modules/sf_tools/signal/filter.html | 336 - .../_modules/sf_tools/signal/gradient.html | 306 - .../html/_modules/sf_tools/signal/linear.html | 441 - .../html/_modules/sf_tools/signal/noise.html | 413 - .../sf_tools/signal/optimisation.html | 723 -- .../_modules/sf_tools/signal/positivity.html | 287 - .../_modules/sf_tools/signal/proximity.html | 512 - .../_modules/sf_tools/signal/regression.html | 432 - .../_modules/sf_tools/signal/reweight.html | 293 - .../html/_modules/sf_tools/signal/svd.html | 399 - .../_modules/sf_tools/signal/validation.html | 295 - .../_modules/sf_tools/signal/wavelet.html | 402 - docs/build/html/_sources/examples.rst.txt | 4 - docs/build/html/_sources/index.rst.txt | 122 - docs/build/html/_sources/modules.rst.txt | 8 - docs/build/html/_sources/setup.rst.txt | 7 - .../_sources/sf_tools.base.np_adjust.rst.txt | 7 - .../build/html/_sources/sf_tools.base.rst.txt | 19 - .../_sources/sf_tools.base.transform.rst.txt | 7 - .../html/_sources/sf_tools.base.types.rst.txt | 7 - .../_sources/sf_tools.image.convolve.rst.txt | 7 - .../_sources/sf_tools.image.distort.rst.txt | 7 - .../_sources/sf_tools.image.quality.rst.txt | 7 - .../html/_sources/sf_tools.image.rst.txt | 22 - .../_sources/sf_tools.image.shape.rst.txt | 7 - .../_sources/sf_tools.image.stamp.rst.txt | 7 - .../_sources/sf_tools.image.stats.rst.txt | 7 - .../sf_tools.interface.errors.rst.txt | 7 - .../_sources/sf_tools.interface.log.rst.txt | 7 - .../html/_sources/sf_tools.interface.rst.txt | 18 - .../html/_sources/sf_tools.math.angle.rst.txt | 7 - .../_sources/sf_tools.math.integrate.rst.txt | 7 - .../_sources/sf_tools.math.matrix.rst.txt | 7 - .../html/_sources/sf_tools.math.misc.rst.txt | 7 - .../build/html/_sources/sf_tools.math.rst.txt | 21 - .../html/_sources/sf_tools.math.stats.rst.txt | 7 - .../_sources/sf_tools.plot.cost_plot.rst.txt | 7 - .../build/html/_sources/sf_tools.plot.rst.txt | 17 - docs/build/html/_sources/sf_tools.rst.txt | 22 - .../_sources/sf_tools.signal.cost.rst.txt | 7 - .../_sources/sf_tools.signal.filter.rst.txt | 7 - .../_sources/sf_tools.signal.gradient.rst.txt | 7 - .../_sources/sf_tools.signal.linear.rst.txt | 7 - .../_sources/sf_tools.signal.noise.rst.txt | 7 - .../sf_tools.signal.optimisation.rst.txt | 7 - .../sf_tools.signal.positivity.rst.txt | 7 - .../sf_tools.signal.proximity.rst.txt | 7 - .../sf_tools.signal.regression.rst.txt | 7 - .../_sources/sf_tools.signal.reweight.rst.txt | 7 - .../html/_sources/sf_tools.signal.rst.txt | 29 - .../html/_sources/sf_tools.signal.svd.rst.txt | 7 - .../sf_tools.signal.validation.rst.txt | 7 - .../_sources/sf_tools.signal.wavelet.rst.txt | 7 - docs/build/html/_static/ajax-loader.gif | Bin 673 -> 0 bytes docs/build/html/_static/basic.css | 643 - docs/build/html/_static/comment-bright.png | Bin 756 -> 0 bytes docs/build/html/_static/comment-close.png | Bin 829 -> 0 bytes docs/build/html/_static/comment.png | Bin 641 -> 0 bytes docs/build/html/_static/css/badge_only.css | 2 - docs/build/html/_static/css/theme.css | 5 - docs/build/html/_static/doctools.js | 311 - docs/build/html/_static/down-pressed.png | Bin 222 -> 0 bytes docs/build/html/_static/down.png | Bin 202 -> 0 bytes docs/build/html/_static/file.png | Bin 286 -> 0 bytes .../html/_static/fonts/Inconsolata-Bold.ttf | Bin 109948 -> 0 bytes .../_static/fonts/Inconsolata-Regular.ttf | Bin 96964 -> 0 bytes docs/build/html/_static/fonts/Lato-Bold.ttf | Bin 656544 -> 0 bytes .../build/html/_static/fonts/Lato-Regular.ttf | Bin 656568 -> 0 bytes .../html/_static/fonts/RobotoSlab-Bold.ttf | Bin 170616 -> 0 bytes .../html/_static/fonts/RobotoSlab-Regular.ttf | Bin 169064 -> 0 bytes .../_static/fonts/fontawesome-webfont.eot | Bin 76518 -> 0 bytes .../_static/fonts/fontawesome-webfont.svg | 685 -- .../_static/fonts/fontawesome-webfont.ttf | Bin 152796 -> 0 bytes .../_static/fonts/fontawesome-webfont.woff | Bin 90412 -> 0 bytes docs/build/html/_static/jquery-3.1.0.js | 10074 ---------------- docs/build/html/_static/jquery.js | 4 - docs/build/html/_static/js/modernizr.min.js | 4 - docs/build/html/_static/js/theme.js | 169 - docs/build/html/_static/minus.png | Bin 90 -> 0 bytes docs/build/html/_static/plus.png | Bin 90 -> 0 bytes docs/build/html/_static/pygments.css | 69 - docs/build/html/_static/searchtools.js | 761 -- docs/build/html/_static/underscore-1.3.1.js | 999 -- docs/build/html/_static/underscore.js | 31 - docs/build/html/_static/up-pressed.png | Bin 214 -> 0 bytes docs/build/html/_static/up.png | Bin 203 -> 0 bytes docs/build/html/_static/websupport.js | 808 -- docs/build/html/examples.html | 250 - docs/build/html/genindex.html | 831 -- docs/build/html/index.html | 338 - docs/build/html/modules.html | 280 - docs/build/html/objects.inv | Bin 2445 -> 0 bytes docs/build/html/py-modindex.html | 439 - docs/build/html/search.html | 251 - docs/build/html/searchindex.js | 1 - docs/build/html/setup.html | 238 - docs/build/html/sf_tools.base.html | 280 - docs/build/html/sf_tools.base.np_adjust.html | 549 - docs/build/html/sf_tools.base.transform.html | 426 - docs/build/html/sf_tools.base.types.html | 428 - docs/build/html/sf_tools.html | 346 - docs/build/html/sf_tools.image.convolve.html | 454 - docs/build/html/sf_tools.image.distort.html | 456 - docs/build/html/sf_tools.image.html | 312 - docs/build/html/sf_tools.image.quality.html | 375 - docs/build/html/sf_tools.image.shape.html | 578 - docs/build/html/sf_tools.image.stamp.html | 476 - docs/build/html/sf_tools.image.stats.html | 371 - .../build/html/sf_tools.interface.errors.html | 324 - docs/build/html/sf_tools.interface.html | 278 - docs/build/html/sf_tools.interface.log.html | 302 - docs/build/html/sf_tools.math.angle.html | 364 - docs/build/html/sf_tools.math.html | 281 - docs/build/html/sf_tools.math.integrate.html | 321 - docs/build/html/sf_tools.math.matrix.html | 445 - docs/build/html/sf_tools.math.misc.html | 366 - docs/build/html/sf_tools.math.stats.html | 488 - docs/build/html/sf_tools.plot.cost_plot.html | 287 - docs/build/html/sf_tools.plot.html | 277 - docs/build/html/sf_tools.signal.cost.html | 338 - docs/build/html/sf_tools.signal.filter.html | 345 - docs/build/html/sf_tools.signal.gradient.html | 321 - docs/build/html/sf_tools.signal.html | 322 - docs/build/html/sf_tools.signal.linear.html | 439 - docs/build/html/sf_tools.signal.noise.html | 406 - .../html/sf_tools.signal.optimisation.html | 546 - .../html/sf_tools.signal.positivity.html | 289 - .../build/html/sf_tools.signal.proximity.html | 492 - .../html/sf_tools.signal.regression.html | 441 - docs/build/html/sf_tools.signal.reweight.html | 299 - docs/build/html/sf_tools.signal.svd.html | 353 - .../html/sf_tools.signal.validation.html | 292 - docs/build/html/sf_tools.signal.wavelet.html | 370 - docs/source/sf_tools.base.np_adjust.rst | 7 - docs/source/sf_tools.base.rst | 19 - docs/source/sf_tools.base.transform.rst | 7 - docs/source/sf_tools.base.types.rst | 7 - docs/source/sf_tools.image.convolve.rst | 7 - docs/source/sf_tools.image.distort.rst | 7 - docs/source/sf_tools.image.quality.rst | 7 - docs/source/sf_tools.image.rst | 22 - docs/source/sf_tools.image.shape.rst | 7 - docs/source/sf_tools.image.stamp.rst | 7 - docs/source/sf_tools.image.stats.rst | 7 - docs/source/sf_tools.interface.errors.rst | 7 - docs/source/sf_tools.interface.log.rst | 7 - docs/source/sf_tools.interface.rst | 18 - docs/source/sf_tools.math.angle.rst | 7 - docs/source/sf_tools.math.integrate.rst | 7 - docs/source/sf_tools.math.matrix.rst | 7 - docs/source/sf_tools.math.misc.rst | 7 - docs/source/sf_tools.math.rst | 21 - docs/source/sf_tools.math.stats.rst | 7 - docs/source/sf_tools.plot.cost_plot.rst | 7 - docs/source/sf_tools.plot.rst | 17 - docs/source/sf_tools.rst | 22 - docs/source/sf_tools.signal.cost.rst | 7 - docs/source/sf_tools.signal.filter.rst | 7 - docs/source/sf_tools.signal.gradient.rst | 7 - docs/source/sf_tools.signal.linear.rst | 7 - docs/source/sf_tools.signal.noise.rst | 7 - docs/source/sf_tools.signal.optimisation.rst | 7 - docs/source/sf_tools.signal.positivity.rst | 7 - docs/source/sf_tools.signal.proximity.rst | 7 - docs/source/sf_tools.signal.regression.rst | 7 - docs/source/sf_tools.signal.reweight.rst | 7 - docs/source/sf_tools.signal.rst | 29 - docs/source/sf_tools.signal.svd.rst | 7 - docs/source/sf_tools.signal.validation.rst | 7 - docs/source/sf_tools.signal.wavelet.rst | 7 - 232 files changed, 44966 deletions(-) delete mode 100644 docs/build/doctrees/environment.pickle delete mode 100644 docs/build/doctrees/examples.doctree delete mode 100644 docs/build/doctrees/index.doctree delete mode 100644 docs/build/doctrees/modules.doctree delete mode 100644 docs/build/doctrees/setup.doctree delete mode 100644 docs/build/doctrees/sf_tools.base.doctree delete mode 100644 docs/build/doctrees/sf_tools.base.np_adjust.doctree delete mode 100644 docs/build/doctrees/sf_tools.base.transform.doctree delete mode 100644 docs/build/doctrees/sf_tools.base.types.doctree delete mode 100644 docs/build/doctrees/sf_tools.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.convolve.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.distort.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.quality.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.shape.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.stamp.doctree delete mode 100644 docs/build/doctrees/sf_tools.image.stats.doctree delete mode 100644 docs/build/doctrees/sf_tools.interface.doctree delete mode 100644 docs/build/doctrees/sf_tools.interface.errors.doctree delete mode 100644 docs/build/doctrees/sf_tools.interface.log.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.angle.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.integrate.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.matrix.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.misc.doctree delete mode 100644 docs/build/doctrees/sf_tools.math.stats.doctree delete mode 100644 docs/build/doctrees/sf_tools.plot.cost_plot.doctree delete mode 100644 docs/build/doctrees/sf_tools.plot.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.cost.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.filter.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.gradient.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.linear.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.noise.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.optimisation.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.positivity.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.proximity.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.regression.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.reweight.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.svd.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.validation.doctree delete mode 100644 docs/build/doctrees/sf_tools.signal.wavelet.doctree delete mode 100644 docs/build/html/.buildinfo delete mode 100644 docs/build/html/_modules/index.html delete mode 100644 docs/build/html/_modules/sf_tools/base/np_adjust.html delete mode 100644 docs/build/html/_modules/sf_tools/base/transform.html delete mode 100644 docs/build/html/_modules/sf_tools/base/types.html delete mode 100644 docs/build/html/_modules/sf_tools/image/convolve.html delete mode 100644 docs/build/html/_modules/sf_tools/image/distort.html delete mode 100644 docs/build/html/_modules/sf_tools/image/quality.html delete mode 100644 docs/build/html/_modules/sf_tools/image/shape.html delete mode 100644 docs/build/html/_modules/sf_tools/image/stamp.html delete mode 100644 docs/build/html/_modules/sf_tools/image/stats.html delete mode 100644 docs/build/html/_modules/sf_tools/interface/errors.html delete mode 100644 docs/build/html/_modules/sf_tools/interface/log.html delete mode 100644 docs/build/html/_modules/sf_tools/math/angle.html delete mode 100644 docs/build/html/_modules/sf_tools/math/integrate.html delete mode 100644 docs/build/html/_modules/sf_tools/math/matrix.html delete mode 100644 docs/build/html/_modules/sf_tools/math/misc.html delete mode 100644 docs/build/html/_modules/sf_tools/math/stats.html delete mode 100644 docs/build/html/_modules/sf_tools/plot/cost_plot.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/cost.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/filter.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/gradient.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/linear.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/noise.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/optimisation.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/positivity.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/proximity.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/regression.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/reweight.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/svd.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/validation.html delete mode 100644 docs/build/html/_modules/sf_tools/signal/wavelet.html delete mode 100644 docs/build/html/_sources/examples.rst.txt delete mode 100644 docs/build/html/_sources/index.rst.txt delete mode 100644 docs/build/html/_sources/modules.rst.txt delete mode 100644 docs/build/html/_sources/setup.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.base.np_adjust.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.base.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.base.transform.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.base.types.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.convolve.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.distort.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.quality.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.shape.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.stamp.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.image.stats.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.interface.errors.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.interface.log.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.interface.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.angle.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.integrate.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.matrix.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.misc.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.math.stats.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.plot.cost_plot.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.plot.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.cost.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.filter.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.gradient.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.linear.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.noise.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.optimisation.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.positivity.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.proximity.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.regression.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.reweight.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.svd.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.validation.rst.txt delete mode 100644 docs/build/html/_sources/sf_tools.signal.wavelet.rst.txt delete mode 100644 docs/build/html/_static/ajax-loader.gif delete mode 100644 docs/build/html/_static/basic.css delete mode 100644 docs/build/html/_static/comment-bright.png delete mode 100644 docs/build/html/_static/comment-close.png delete mode 100644 docs/build/html/_static/comment.png delete mode 100644 docs/build/html/_static/css/badge_only.css delete mode 100644 docs/build/html/_static/css/theme.css delete mode 100644 docs/build/html/_static/doctools.js delete mode 100644 docs/build/html/_static/down-pressed.png delete mode 100644 docs/build/html/_static/down.png delete mode 100644 docs/build/html/_static/file.png delete mode 100644 docs/build/html/_static/fonts/Inconsolata-Bold.ttf delete mode 100644 docs/build/html/_static/fonts/Inconsolata-Regular.ttf delete mode 100644 docs/build/html/_static/fonts/Lato-Bold.ttf delete mode 100644 docs/build/html/_static/fonts/Lato-Regular.ttf delete mode 100644 docs/build/html/_static/fonts/RobotoSlab-Bold.ttf delete mode 100644 docs/build/html/_static/fonts/RobotoSlab-Regular.ttf delete mode 100644 docs/build/html/_static/fonts/fontawesome-webfont.eot delete mode 100644 docs/build/html/_static/fonts/fontawesome-webfont.svg delete mode 100644 docs/build/html/_static/fonts/fontawesome-webfont.ttf delete mode 100644 docs/build/html/_static/fonts/fontawesome-webfont.woff delete mode 100644 docs/build/html/_static/jquery-3.1.0.js delete mode 100644 docs/build/html/_static/jquery.js delete mode 100644 docs/build/html/_static/js/modernizr.min.js delete mode 100644 docs/build/html/_static/js/theme.js delete mode 100644 docs/build/html/_static/minus.png delete mode 100644 docs/build/html/_static/plus.png delete mode 100644 docs/build/html/_static/pygments.css delete mode 100644 docs/build/html/_static/searchtools.js delete mode 100644 docs/build/html/_static/underscore-1.3.1.js delete mode 100644 docs/build/html/_static/underscore.js delete mode 100644 docs/build/html/_static/up-pressed.png delete mode 100644 docs/build/html/_static/up.png delete mode 100644 docs/build/html/_static/websupport.js delete mode 100644 docs/build/html/examples.html delete mode 100644 docs/build/html/genindex.html delete mode 100644 docs/build/html/index.html delete mode 100644 docs/build/html/modules.html delete mode 100644 docs/build/html/objects.inv delete mode 100644 docs/build/html/py-modindex.html delete mode 100644 docs/build/html/search.html delete mode 100644 docs/build/html/searchindex.js delete mode 100644 docs/build/html/setup.html delete mode 100644 docs/build/html/sf_tools.base.html delete mode 100644 docs/build/html/sf_tools.base.np_adjust.html delete mode 100644 docs/build/html/sf_tools.base.transform.html delete mode 100644 docs/build/html/sf_tools.base.types.html delete mode 100644 docs/build/html/sf_tools.html delete mode 100644 docs/build/html/sf_tools.image.convolve.html delete mode 100644 docs/build/html/sf_tools.image.distort.html delete mode 100644 docs/build/html/sf_tools.image.html delete mode 100644 docs/build/html/sf_tools.image.quality.html delete mode 100644 docs/build/html/sf_tools.image.shape.html delete mode 100644 docs/build/html/sf_tools.image.stamp.html delete mode 100644 docs/build/html/sf_tools.image.stats.html delete mode 100644 docs/build/html/sf_tools.interface.errors.html delete mode 100644 docs/build/html/sf_tools.interface.html delete mode 100644 docs/build/html/sf_tools.interface.log.html delete mode 100644 docs/build/html/sf_tools.math.angle.html delete mode 100644 docs/build/html/sf_tools.math.html delete mode 100644 docs/build/html/sf_tools.math.integrate.html delete mode 100644 docs/build/html/sf_tools.math.matrix.html delete mode 100644 docs/build/html/sf_tools.math.misc.html delete mode 100644 docs/build/html/sf_tools.math.stats.html delete mode 100644 docs/build/html/sf_tools.plot.cost_plot.html delete mode 100644 docs/build/html/sf_tools.plot.html delete mode 100644 docs/build/html/sf_tools.signal.cost.html delete mode 100644 docs/build/html/sf_tools.signal.filter.html delete mode 100644 docs/build/html/sf_tools.signal.gradient.html delete mode 100644 docs/build/html/sf_tools.signal.html delete mode 100644 docs/build/html/sf_tools.signal.linear.html delete mode 100644 docs/build/html/sf_tools.signal.noise.html delete mode 100644 docs/build/html/sf_tools.signal.optimisation.html delete mode 100644 docs/build/html/sf_tools.signal.positivity.html delete mode 100644 docs/build/html/sf_tools.signal.proximity.html delete mode 100644 docs/build/html/sf_tools.signal.regression.html delete mode 100644 docs/build/html/sf_tools.signal.reweight.html delete mode 100644 docs/build/html/sf_tools.signal.svd.html delete mode 100644 docs/build/html/sf_tools.signal.validation.html delete mode 100644 docs/build/html/sf_tools.signal.wavelet.html delete mode 100644 docs/source/sf_tools.base.np_adjust.rst delete mode 100644 docs/source/sf_tools.base.rst delete mode 100644 docs/source/sf_tools.base.transform.rst delete mode 100644 docs/source/sf_tools.base.types.rst delete mode 100644 docs/source/sf_tools.image.convolve.rst delete mode 100644 docs/source/sf_tools.image.distort.rst delete mode 100644 docs/source/sf_tools.image.quality.rst delete mode 100644 docs/source/sf_tools.image.rst delete mode 100644 docs/source/sf_tools.image.shape.rst delete mode 100644 docs/source/sf_tools.image.stamp.rst delete mode 100644 docs/source/sf_tools.image.stats.rst delete mode 100644 docs/source/sf_tools.interface.errors.rst delete mode 100644 docs/source/sf_tools.interface.log.rst delete mode 100644 docs/source/sf_tools.interface.rst delete mode 100644 docs/source/sf_tools.math.angle.rst delete mode 100644 docs/source/sf_tools.math.integrate.rst delete mode 100644 docs/source/sf_tools.math.matrix.rst delete mode 100644 docs/source/sf_tools.math.misc.rst delete mode 100644 docs/source/sf_tools.math.rst delete mode 100644 docs/source/sf_tools.math.stats.rst delete mode 100644 docs/source/sf_tools.plot.cost_plot.rst delete mode 100644 docs/source/sf_tools.plot.rst delete mode 100644 docs/source/sf_tools.rst delete mode 100644 docs/source/sf_tools.signal.cost.rst delete mode 100644 docs/source/sf_tools.signal.filter.rst delete mode 100644 docs/source/sf_tools.signal.gradient.rst delete mode 100644 docs/source/sf_tools.signal.linear.rst delete mode 100644 docs/source/sf_tools.signal.noise.rst delete mode 100644 docs/source/sf_tools.signal.optimisation.rst delete mode 100644 docs/source/sf_tools.signal.positivity.rst delete mode 100644 docs/source/sf_tools.signal.proximity.rst delete mode 100644 docs/source/sf_tools.signal.regression.rst delete mode 100644 docs/source/sf_tools.signal.reweight.rst delete mode 100644 docs/source/sf_tools.signal.rst delete mode 100644 docs/source/sf_tools.signal.svd.rst delete mode 100644 docs/source/sf_tools.signal.validation.rst delete mode 100644 docs/source/sf_tools.signal.wavelet.rst diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle deleted file mode 100644 index f6fcb5b471d5c84863cace80aae9bff9879ec9fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1797929 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

}Mbf&Fc5P+pyam`b|2V_er&21_oQEpVp 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� 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 RXjN2lBuYM_tG4Q&qNou^tSL+zbHVICk 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%0D5>3XYOrKRjIHHvr! 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

t;Se&ZSeIlL1t#vs%-dItm?&TeY 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

Hx1FRj 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 diff --git a/docs/build/doctrees/examples.doctree b/docs/build/doctrees/examples.doctree deleted file mode 100644 index a8eb085b1f44de688486774b7c4fe95e6a1e8e7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2657 zcmZ`*`G4HR6*o?N?8bKN+zAOdg@6OtOG`LPFCai^4dTj!a0oFg&F%U(M_aXo z7O-3BK@aZx`ZxKGR_oX<{IL63t>(>q-}k-m_sy%LVWh*-#)()O^KxCJd4gBto}oEYc8!fKcGOuA$)4ef ziYI9%7ln~QDvc3+tZn(+rkSuT3LF&}T^6C_10J;_8R|l~XrA)ukSMM0X>BuYWnio* zEKe_ALlX{A92uUe_@ElcvAx9_&EhtiSwoYdijxQ@@SM+w_9kj%=#FXgVdQzF;-kp3 z5Ni#VV>CkJ01bG2T#eFr^Z$vHI z%LY_+z%7F6WIIEkONFs~k|wO^yQKIOO*F{(T51bxi?~}_Pu>P+Ml~)<+MmRkptt zl5Squ%Mxmt$Tly4qw^KtvY?LbuKq*A>ffr4t0U@!I;l?4SRKW;DPUe)P}lkDdSA`^ z>a4GB@JofGRde9d-t#WWb+lgR2M)RY^(*}2ihlwa>Q;5aQ|G*Tr{n5;*%f7X?`|ld z=ocbaZN38;T&Va?m%$WDcu}Wu)}J?8XJ`4Y9pGErL43DM;GXYGVE-_IpQ_IPZ+9e-$H@g z2(OBF+2=8 zwITtLTUaSa9-?b%ge9bU*rd+;6W+02?KG6xuYNs+Sg=%_1HFHUNr11m9$z$9Cm#EZpqw_k|3q&c}BW6Yr4OR!gy zx(aT_L!I^FKCd;!MJKMtCbqiZb?h7_TC4;z6>$=X2!o{d+Ko**gG|zG1zv5Fz~qjr z-)+%8nXU5gy(X{R$TC76X~KVS^sVO_jS-`ti%cYjE9lH|g5g;^XOrl9+GarATE^ht-D&(+ z8ly`O1Ki(eVmSBTQYYyk^l#z)PF^6<^4pu#>dQ>xGJtaY9pLL0xk}nU(EPP1f`Kad zpPMx0nqgaY|DyS!>eklQmIl+fR$U}lJ6LKu{Ejo!%!>6u#eJ3FWBK10kvi-1f9UjX z!uIIoze>}L^SaKm2JTzw+`Xp;`$vI4aYo}gIV)=#b2mXm4!y7k?<{pGGkCBdHPOYK)8ve@XuW8&h O3vM6ZRQzq(UHT4KyVoZG diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree deleted file mode 100644 index 9b01a1a0fc178e83d7a5cfc1a186ec39982ba9c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20066 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 F{{dMMAw&QG diff --git a/docs/build/doctrees/setup.doctree b/docs/build/doctrees/setup.doctree deleted file mode 100644 index b08deb0f52ed91dd09167a0a6ad728a915f3f29e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2837 zcmbVO`Fk8k5tZfW*tI0f_Ypghv6HMrqzw=tm@_Ab!T^aYD1l+WE=bwOREsrmvhE2OZ}Q}_7l zUSBQw>WZ(f`K7|Es(q_}_^F$64DmgDXZ#Pme2YI=@rUrZdPtr3)csx^RW@4E!=;AkkGjJ z1BuLCT6D}7A~Qo>q_W^odNjY+I<-JPRq>~379SfCe5T^ZXwht?1DyoBCk;RD^AmL9 zw#KV(Kk4&Rbo$Wop#JG;pFc~TFt&B$8vdNmpLghJZnwj0nSB8by@zn$3s!x8#=**U zVS)RL9?iy4+w2~ief}U8!(a0G%QV0HSOefI6+cUh;5;tS+5voGB(34+e7;GusEP%} zhUtK!hlS3p%%bk|A}Qf`{JiF`R=n1ule<&|uCoAq-S7*5aSEYz5y8}Q+>=>|0`iL> zIT6{YgsTN141m8zlW?7{QwN!b(uH7u8~!JA2UWr|Lfrd?M+;6jIWDEnX$=PmWp#Mq z)o;?26Ur6~nk$Cx7g%UnBs`!?%G%uA==W=PS&5|`uIOUaS2j)h98xC|@D3}|oFfmn zYjT4`Zpefsy8V<%otKudRTCsS6bV2LaT4jlzq7`HM=)e165C!>t5Y=JqHYZ+_SCXR zmt;}sB0y?70@FeBRf#N0P|$DDqNBm!iUN=XwD3AjMRHJ%IPqvvrUU5;z6B6UO3UdE zUDl<|OZ&fKW@sDG7h2YUgqmk%8jPLtIY+IIM`fA^ds;KhAQ!C~XG7f{D{yRKQxus4 zj95~nY&<&S3N?(An&`mF6nL#FO$IJj;n9)&{3If@OQj6 zuiVHoLLO>Llq zV}2EebvaZ5Z35s8jYz^dMF4TGmpO0mppC>J*o-5qcxM%R#O+GsAJY`wd>Y_>LNmK- z#B1sT9Y_CL%n;XJAkp$qx2ZFdnZ#~^a{LV7Yl-ZW_H&58Zi=Ak3jW15%{ejbb=@y% zX}9Y(H#b+B314?zBscmvYWn;uXQ-JK<3PnDmEh0vuQ6qHHsasVrP~QR)F;1Hniibb z1^XoZjwa)Xe-E@8D+|VNTgyM}(A`ZZ%0$-w0g|i=b{B&`Lhmi@wVDn8$)~fmuHy^~ zOue4T%vC4iKX219tUu_r=KEiq>DKh@S?6E9azJMen}4&A{cUwZU8(r*J$3c)7;lWY z%m2Xi{b$AhIxu~e8r7mLnAmZC?L>H{x;;@)B;i$9g^M>E?`CXcJvc&rIUd8_@2P^*tabXrF diff --git a/docs/build/doctrees/sf_tools.base.doctree b/docs/build/doctrees/sf_tools.base.doctree deleted file mode 100644 index 9ca5237e5cb6c580e96577a35193926c366a8998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6437 zcmd5>cbptm9lu<1ZF4P`LLdoQO2}T|Zc`{BKu917Anwb~-1t%q`z0grJg6&}K2KN8;(oKtWmj%IMIXaLJk6KgxsWZwyC2vA?0c?Z z@scllBAH_SRa5!gsBquMWM3}K%U;%B43&ZkdAP2_gu`Y7owtP7l$we8_$p&I4M(Vx~i7vL(FO6u=N67P$n&*o}H%m46 zy(DDaMPWM@e347@a#<^YJ};6(DR~U=TOP?{fuAxb60eVAZLAaFArQGjw6o4+eC7Ba z;FD!OSANznnG~v@-H{~2&t6E$$(HRvgoSK%DiEFvu^8$sa)wD7minN^e^mK_T*bNq zvrHJs<5^eYo?OjRW)LX55C%Xv9mx|itlJ8!B#7i;ojZ9WumKqO{2 zwp!i8C&BJbM`7#fHy@N|MDomk=g?VVWljv|w51hdBrKR=K~UN^NAhe;W^FSbi`C@n zmL^x_Ibw+kf91KN+a#wuYEGY*5roRtNS;qlQ0?rVshw?5yEz6zXau%5sZ9{5E4x5! zYSnNdBHR(lolq{eHAS&iN70H|(W_Lw(6v%>7u>oik{8#)OZ-4lBqH(>3iQ&%BRR$f z0y8z{*c@^mqegU z*DrahBJ+pjV{+q*TU{HC7hU6!d@N_3NfhQZ>rLV+*$zA?aMoQhCoNtL zgtRVw1b>KDT_``DR-W*aN3v9dGO4JTpXDYZNs$>}0-uuQvbNsns+6`E;>6t>M5pF% ze=UvsW9~YUtiXoeD=u%@D_jtmHxk%uvYQaNuCWRN)0We!MuNpEl0M7`w~570%;Hu) z*{;PWQ!)UX!bl#dK>%0A_e1}Gx%}2}$|8v9+0!72R1k({RRZ$^wU(qsd}L&A5GUv$7=%}wIJlB1Hscc0hyr_q`fexhWJ%V z=fX;LDqRX)eWvh7P52+4bMGnH z+_4PD_OWX}3#qv+lF!Cmy}8mNLcB=L2+8LVF`hdYES)u2o;T|#qUWdN^P&ItNWP$^ z|F%SbhyE^KNUC3SRMjt@TeU&wq?CLK^xqN5mlCx)L9Oi}PI5}V3|YOsITU?fdpX&A z#a#B<=tT8OWVb=fs{rh)Bl#KvmNedR6gUf>HI2rPkKAIdyx0NfV?Tlih-?rh8lMLrwnFy(k^BI;uixWw@{cxWmwu>|-!{Pm)W`*q8R?~ml?Y0mt3j{E{t-q*;oFV0plJl0JL zz68%|)4mL^z7ol=l2@eSe(e=76%9B(5XrAWKqsjQ$FI+2BUQuk8!?U#M)I4r=ysR^ zm*0Y&2O2^A_FQT-h~I&$go>W`UHJOFNPeGuB^?jWAox%ue?T@CLU!XB*$wNn8`p0* zO9T1C*~-a0aQKl1^5IDSn5NQ&WM-=T2@E{ci04md>lq$Pk)EHy$(GqahpWGcnly!go(~<7cFLNR|!N zfHLUfkFfUpDuplbb203B%0joM%5j=@i?{=+h4_Xm8x2b_Z-yd^cW65 zz#X*=W9VZn_AAs#3ei*Y4aX~*xN@muVtJr|{*|iXY>?x| zOH`VIXM*!U9gp#8wkkeG9!dXdQq)PV;dY*;mp zQm4@CB0h=B6Os~yKwIZwEvfEco#@t;?6S&em6|6Y{sG&!15c@8J-W2$c;WGg+NO+B(>t zUGV!{dhSZPw(2~*iB)U>t5twL92Gjy57btSA7(ve?$Qkk2|XVJIo7YqHv{!HJ=&{F z(uiwPZP!zKiDUI8-~x=XbZrTkn3%wAoO-5u39$HqETsLcx{$=MIk3YIVlq=mm=Pu>fQkUWDVYUz*XK*4Ox*S8a z!)Pq)yF!k1hXwS#oA<_ePf}OVq&Bf8Qdi)iszODLU-pFt(1gUpu3nv?hIa^p0b_tf#ic`RY1|=GFE1sZa7~Z>xQH LiBujx!@}sJV~vrx diff --git a/docs/build/doctrees/sf_tools.base.np_adjust.doctree b/docs/build/doctrees/sf_tools.base.np_adjust.doctree deleted file mode 100644 index 6273ad2e4b828d002e7b59f8b9b5a13d50b3d8cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51465 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�k 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 ZcAK4XOi$#{=`WdGknzl194ozT{}0HC7|8$t diff --git a/docs/build/doctrees/sf_tools.base.transform.doctree b/docs/build/doctrees/sf_tools.base.transform.doctree deleted file mode 100644 index ff0c6187a81bae43b5c9ded53334a72c31a5fddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41224 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 diff --git a/docs/build/doctrees/sf_tools.base.types.doctree b/docs/build/doctrees/sf_tools.base.types.doctree deleted file mode 100644 index 9a840556e23806488095a078c94e461f1f614bc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44727 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 Xa7+#1)afXi9Zj0Q diff --git a/docs/build/doctrees/sf_tools.image.doctree b/docs/build/doctrees/sf_tools.image.doctree deleted file mode 100644 index e3c1d664ce6170c3bf50d3d0e2769361955c667a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10588 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 diff --git a/docs/build/doctrees/sf_tools.image.stats.doctree b/docs/build/doctrees/sf_tools.image.stats.doctree deleted file mode 100644 index 3b59d9fc2b113a461d98b127a31765c2f2d6ed24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28935 zcmd5_2Xq@%)(%M=+e!}|>>#=WiJedagt8>m5C|m^m|~1<$r&lKq`8t(fT5R!zOca3 zdxxd>-dTF@EWItgclf{WzM0Xe*a_wQ*<+u1^WMAt)q7|3=77GPu}o(npGf7J)0tR2 z7h<+Mp3aBt#YP=y_jT-kO_BO^v^$=kn~mq}{*GPK)Vh41K7Dds?fFawc!}=ljCgY{ zAI;~&-I-V+6}JaWZC$1ZkmhL z)z52PX`x{4(7e`gZ;)i4&d#w1E(F}HsMv$%6(YlPg^pZ4k%uia>GoK>D`yXO>>-gM z*{I~=?cMQQ4ra>PL)+|Oks+N05g55WmnleR+#WtP5{kt;GZH1XJz{EPM6{64bY(L6 zbS58fhjAruFFs|lNG+Qp5zE<2IQEiF)_}@Ph}3mjiBt?i*h{zB%ar$mT)dN#gzRO}36^v0<~N&kmC{}@5{l;YlISSpVd0e=d*!A`U96BLT+Uvl zEmGT=iso{-U$re#*AeZUDQutB+9LgE%GKNKCex>l*~WM>1=-u9tfk_S8bfl8HhWEL zK(r9)pGu_T_UI{n!OvCG9%J>jVAJNNa-*Vmq~amF1tuNq*yEb4hSrhV4fil6*u(JK zqjW5-Wi?vMStG3#tZ<}8N!V*!&~cq6Yn3)@)i!IjHf!}ZYmK&o1vxC2`?}@Kr^n}D zOpjmS&|UA)1MT%4dxM3PZh|#(sx^A5vTd}+7CNGZj?P@xN~GsBM`JNFrzFy`_?(cv zAr#-pu{Q?kNFSqBYxa+K7_XIDwBxsE$8XNgoxqNS&XArF&UA%6ppvHCgr-!X?7z{J zn>Nvcu%j{P8t5?S+LDOp+U$u<=-wcPS#45lV-K@NxXJXKQEJ{^dQqg$)V#e}lufmm z+f=X@yG~#V#>k4!kZ9Hl*_*>;TR8TXY>j2XeDZb^x7s2+ZTiINlc!CeyxFwyPTNPO zPoBEPG<&N>Y0#}<(0X5Ndoqo>O||~%DQ!=pjZP5|8bL^>5-P)?8mu;cF%%W|! zckCT#o6TXH=~lv9fWn=bbUvC$BOk{s6U&9WG7`>P@i2Qy0`qidG!>4fqp7($AfcaV zAIde`JG!F{8d<8wPSw=t=MA%IP~$J-JslcH9D8SKykm*R+naG!)=#<;@l>om1$9F9 zE-*%`WA6%FZ){m?l~57L-i^(&do_J(Jbm`4n6wl>WVeC-o{rt_(Qn0!MEW&aZ|_CY z(OyY+R43ie88u{gf_}`g<7~_UXv~QPw42ynXpTKyR<0^K`OhFfs~W#PoO=^!mH?F` z3_H`YQ#33o#(FVlMXr{Ta%ifN?4+-cFuLnEO3j1Q_1ZqJNtt&tnnkb){(39oL zX5a!vp)wA1>5Y@UA9UK^u@8Vq+Vl5D<8nIkrM3?&bb!cWkYN+R9^}{uQ+&-Eh2sXr z?O^Ny_92B1lv?cehdTCQ9&xwZTiV|buhs&!-cXv?WU*7vckCm`t`_Wf#=eOAyCcE& zP`53$Cm&UflJ?}IA$bt>7-(>;V;={S7Rk)lu57Wt{@t;UC#U}4G_HA^_QVq^36nMK z`VZ}iCpz{?#OY^n?2|$A@4;U7&q@NLr__?bDUi%VI~7u$=GdoGDv~%+r9v}U0Xv@I z*k=Mj8>z&OXI0}-@7eKeW5;tG`&>`E&7=9aeIEFn5j5iY)ySw3FMz1DisD@eSub+z zizzE!`rRG>(I z*4npoX1JpXeoV$}!0wzM84$~0a!A{Ewf2QL*}3-JWs^aqHq()$|7qXTS_2Rj*1i{e zZjjXS`>cBdqS^O1RqR0t+MY|mcgPn6GuZ=>@(54NjLn~e=Z7VquGsVQgBE|G z2a8A3aA4J|4cRZkVPCH6fRc!c~4P zQkRuDJj_{f`#)vivZtjBZcfhUo7&_PZ2) z$sUZ_9MEKt(ZrzJ?@^8So2=KY-X#7268A{k{tycM*RemURN$Rn6fn|%4Cy~{>`#Gf zJsXg+UZvEw{){4iz9135fQX#)*(bh)Kwmlb*OdZ&(u+WJ60j$ai`lk*1IfO1?C)q- z&d?lz0Rcy-fF(Hg_muR91xfm2^#=7xh3uce`e(=frGzy||5}}NqxCH(>EB=hPf+QD zJ;b30%3??y>5HqeMWgjIEZ`4gpQrQ#NOjv}(y6&2>5uwR2TG078xWv}0fIR_(w|^b ziwf94>Ie|&AD@$zNPjEeosxRilzOs(At51DSC}OmPsiZiw$H(SDI@~{0tp5oabz&A zMk8<=!c3$VP@Hfhb+Z!j*_>u%C@OTL2k)fE2}gzzihD9M*GKy0@-Z2XLL+ZvAh&CC zvZ+L8B0s zn=FSi^pWL}IMRTt+eeb*Y`Vz+Ba<}xC4+*kA|p+??no=zPe%ydUB+x>1%N`UFcL>r z#MSGOSkiQgH4~EyFDn6pU1?>7tOzH0OTDb3^>DalRopqUn&ul?hjT6{ba%&N;fV;> zhNnk6QgK-wwP*zju?QDZX(E5)#mguaxI#fcUM6c0czh2Et%*vs;b#i#EV`n(Jfak_aJ;Jv z1A{H>$1f1INSmld*bRU;%UE#p4WA6^KThSS)W5&G%a*l>I{yDj&b7e|_FM;vBkQVY z4M`O~Xir+u*b~7G8Lz1 z84^b}SA5;rC&}8_1Kyr&q4it(^HV<=E4r@7en$iOsNL(E>+y#nmH0o`sI2yI}67^}GA^kbe(miVJ2x zxG>U&vZTtdYoS@$)afglUiJh~V5ziRZ>WbQGN^w$Fnct7ygO?}5$z1gUI2sXqevX- zz!f?r$(60!srkxIL=9=<7*o?}12V@^3Nv*fabyOro|(wRSbCUeX-^Qbyt?E_y#raK zeMW&$0ymB%arFopdjo_HVEC;AP6*3PR0B4pu-(;Q7YA&WUMy*YnNiHF!EEgb*hYOY z8mrw6i!s+0RZW8&$nB-0vwXvWfSM#aLn0sptLKzw-sMSUrs4@-P737WO=|Akjct`8 z%Pdx+ab_!8dE<zbTE)$-a&dd%+bK%MPIG#?V!jt*jH{6t9)PSLNv$S=^)xpkl(g{9q#*^$=MoviJp>8_HE$b?1D`3lz%L1Sl2Lx<|u4=DD9-LxB5| zOah}!u2o710m^l_bL4u>o3R9W{r68aA~+gP6D5t%Jwk&?3JIsif#!=MI_OI#H&BqU z#mJ!CsN!Rc-NeGWsP&lDbL>xU1`xW+El3=>71xp=pxoxtct*qEL2JnEta=V1q>|X5 z+=1dI3qdBi6L*f>rTGT+gT3wn)6vw{$fPSc15R?cLiQRKlY59}oNAAl+>0`(a32y! z?pGr0F~O;wqL?KOF(!FHAs;l5t%K2e+|&9kTOl2TO!AO|_b%PP6$Y^+d01II;*L5n!zYk9@+7X_G($Ez%_RHjokiYHDcI8nOrICIU6$;h z(c)@q6xlxu7_jG)CKpqlLlGo+9*H9_C=D|z$t)-VW|d@rltGRc75Jq9uxWHmEXi7w zQk<7rYrkQM+`1;lmU%@*Ur7n$4V2D83Qsa~x_hSC z_##TwgmaqZJK*^yOa>MBUMW^8;0JSlAnN$v&GAQ|LC2qvIP$YHX-KLVK^>`;(UD=9 zUljOP1FTyK)8>9y<~OaX5Z3Qbec)&}X)$m&rSLn^Q$X&2WX4b9XlY&q@GCNxt=_=?a>JxXDq5E4fQD!!Q#$=%q5p_xHi zKiIE_B11G&&dikyiVQ`4x#QS@=WuutRUeedFaUt`a3qe5P-?D?7S~KAX-YvGEy4P7 z+9cYJh)j1#mP9=$FNMUBr3viKughqrk}`!LD29ZZw0@Ld4-wa3rnq3Wf$##OL2CjhxR71V zuCH455)ksV9S!86)@Wm*yL8HZAsU@at$tc|N@ z0x~gHv(##M3RW51Sx3><4WJpzflo2GGal7ov7W-NUk$dWc+Ca|bAn=SXfS&W?renm zl6|8Qr5N0a)ca#aHU=;n*c~yOD1*Nl24=q6R5O*<^hV4?)a!_uq_~?ITz!Mk-FAhW z@`Y?FuJP9$GCB2%^##R3HXE043Xj9ozwgN8^O^3jBxYE7&p&BqgKpk~2$Yr$x&`aK z(X=Hph#M=4c||F(Z`@jodm2#Gfb=FaE!{b8gCaED6eNypi>uc=$gcXB+RmU%Rg~=m zC}dL{Q#)w=j($D#-HDk6jVX33wW~}6`0pN0p03k@>L_IVV>rbgw+>b$%%*?yMm0>>hB*23@mSG+Qk>M@h{M zlG?imQl2IE(Rx~PUqyBda_d0!Gh>7>Um}1tNxaOO`zdg_j;=NLC;a$wLUI6#VbKGT zIC78@Fcu~MqD2qZ`a}GBSoBcMlyh?hgGCQRy;}5e#hqtxb%WWJ%0!L3!;wF~2SVh@ zk$(hI&zC(C_l_K;8163aXl52Pjq&ZkBG=zNjZp=Patu?mrWdKnu_%QNk3)i3FRtE9 zL}|@Te0WD*QqoUW7@ zUpxbMj-09a27Nuoi>Og2ceQ0;ksK~>_!7)264sK zsN$sxSS{e?zq~4!5zS1?E-kqnMUejrB#!(`X|S6FeP0SwBcsn50k~5#hTtx47fO@mw9ZLF6pEMM^ODTCTnf<><^w<#@(WBC| z;oV5Rh~7Q8cjR7NjnyFSeVWm=L+&SNWkioUlF|cA%OZLYq72RP5E4iJjjPujWM!J8 zvCN4=!!X+FM)V$5%tr#4W)g7+gCEg*R3XaOxZ+rNOzY{$Kduy?FcfvRVgM{%=sLBE$k!?$cQsMyO&y;3nh==Tay$Nwqr zuYv@0e+>zu>&mbpsUih+r?y6S1^{1I;5Q5~rc19|_yNE-wW>mJKLGfa*7L=zx0Td8 zJ}C^bcdH^dCdrlK>OHOJPV;@-Ir4$#tGt*++Qnr;1AreYY=vMZ0Qg_RR|Eh*LMaUN zF%ks672oV6$lch4JNHku{xiQGihQn_a%PQ5l?#e|fqLC%eyO-$8Qi}#GVpZ|B2Ze| z@*CEBk%4cKapXHisfY}Guf;t@2B-n){lK(z1^N+1u-{Ke5MjpEoASucOnK$ewqFd& zuZr?p0EKLdk%2yVE!~mDaP_C>zRWCWOI?f%^aFTsOMNQnFEG&N>DnL2USyyK_l^u8 zcSHtAmi|Gl<|{h@1*f&@n3@2Xi44@E0JaJtL9iKD&sL;wY}HGQZIGf34xkx(xh%{J zR6|e=7DE+wST)!`=FSf{bVn%N#SPs*7#Uas*d<#qqed|@Q119IsZ5tLOpW8ev}P(z z?@c1hXgw#9WfgfjgIwnLlW^G#vb+M86LwwI2Evy*{*5Sty+iDm&q?&@HM)g3-v*a3D zPfM<;$fFH%xxbD@g2c^^$f1=8xrZtJrRfa`aO^&cMkClkb0Zn3AlG;L&c!PK;MX& z1jjn8hdRX{xNbou{uHH064a_vO&|!gzN@P-ii1EM| zt=EeaTx2uICjn#n=SU7b-R}NMjRQ0=r6VVk;CovbB;n9oSeV=?bRt ziOE_Wh)?tyn%D-=2u&~vh9;&c5r!tV#hoMDX}&?PWZ094qGmc``eimfq;T@|o*=YKb%6=M<#M3rJk1;tjachYe+Qy`?BsTo~FBt_852mo~?rEaEW5r8zx(7G8Uco2ZAH@A|N znOl300N9Et0ZcPw-LB_H0CEaZzStEb0C}yaD_c;CvkXOj1CS8_bj3sz2SCVdRKPss ziw^EiPCO??<|s-9i=yK_mpJ1qN$!nu7-1hIj_j*c8j{K<*vl!G>E)EtQQ-XyaO;-6 zJKUb|`rH)1pW;tkV&PbPRzly9E_vx@e~_%M-vP?3Qa|7SK9H#6|4LyF0!3KnU?h$l zqWl|@Dq+wvw1rwG5Pv^ZQ4TXG>Xa8l-8>jT4%ez4*SL9FJ*jmJEbAY!wot2FNLRV} zz^}5(9f4v;j#T2oRgSR&UEz+>s=x{-N28?IW$qXP+?Qk$T;`5dN?hiS!yO)IXuhF! zDQLuHuBcTY22c60-t7mNMG}Meg_7ebiM!&RprZ2)dKQKju;QHvAat6OkT`NOuB9v9 zKV2Hn_zQlK=_#zMT=Pyvv03v@!<{3iYu=oi;3H$u(9oC^T+wyaJ3~QxU1;P?qK(%x z7<_7S77C%o*+}q~y;3P(_b5zp-8)wy&ohu^vG`KKbOk(L0ecth0>Ef2{z9dFQ5D)4 zNf-A>sWC~RIQL(|v@{ZODT<)rWk?*k99M7ZCo?nkSH$A4P~d+BfQ@FsmH0~5F5F6d z6+pd}_-ZA6jZYeiU8|H9*-FgL$d#B%(}vd}^;Y8Raqq|txcV#cjhZnl@l6D+T#2b8 zDc#JpY$d)0WoV9DkvMW2u3mGHm1&ONSK`|h^Ns+fnM~Z_;IG7YDn!LH;zvX8(t56O zcPqtv3`KK9307kLt*_jRQrLz}|2O8V`zVPUg1=uyu28YK6L^5YX2ehPReBJGXn}{2 z;Ax1GXh^D_!Nrb7F@v5adRT!UF~F_smu&+uo0wN?%?uyT24AO&hRvaV-rKg1f{1U? zWKf;QlzgQ+{=)w_QOEx|_D_HYw0{zbBTp&EhNQ|A)Smhp?HPH0T7jQ2z`Dqr{@_R6 zpVg`g$^E|e9O^aF^Sn}e!KZ}L|6*0##w3|?5WS@JjP$&WJ4as8e3igEX%|-o4ZOdq zuoZHd!24^2uL!*V2c@vj>qs1VL-EZ9g4~Ts7)-P0p~%~sDQDK0RJowYJE+$< z&%28Ip27V~1MlzmAOfYOEk9tr7kK{=8N7tAC>4SCkF>a_z&kY{y^ooeE;pZ`2=@CF zi6fuk>dkLtXXdx^!29P0wZJZkGZ;0h z2HwqMY4{)d@=u*|uQ%MQIUgad>e2ZasMV8NTY}CfqgFvB*`!N{BcokpC zS9L#zYE{tv7>1Hw-H+h}xG%{h=zfe)N_0OK$DJcfXx^NeSmJ&_uYdzW39+Cbu*e+{ z{2+Zv%Hp~pOR4y9L6&A={Q_K&WdMZUy(|((mczBw1zFyu@l5Mb=vihBX<%)o6Vixc zSa4kN)eQ+NaPPbQ6^UjZFa+qyN+^adDS23Qw=(=&XhWEZWf5Z-r6c)FfCCA%u6 z-F!+ITf0}qZA_9W2h<)~Pp6~}caH3-`6^BcX&2WBbxPV5wn8rBlh z3C_(?e6y_}cViMdB{8j!`}I(yOEcxn8j~s)6q$i~bxJJ7O&HwP?a`&&-9osDKTFb| z32loT2C;btONo!Wus<0}_8<)fr&(vR-t$jV$T-riC>8!mT8n$~PpAy(Wtf((LRl2S zlr|Da1Xpj`BRezgmHQ_-gOXR2LI8zqivGzgt)K1J!}@cWS&)AMm_9VI%*9>MJsF1l z0^Ji&)x81ixhMPJ9#1%Mg>p%frF-INzOpM&ZW?PprsfBWD$f4M!%_zzapXW;Jxh_i zu~aYK$w7*CZ~)C%3ml3+y*mWeU~#Cz9##!@V;JX8bvrrS@R+AO<{KWZf1d0Spj6_u z81;JhTFiqJT%-KuYh++vqUjtaVWcGkS9J4+S`p0QJR_eNNKS zlX2BUat3)HmEi%G@=p}wGcvv|{ugNE6h%7~*YaNl=jP_{lVA@rB&Pue6WHlUa8M4e zrmvybo~appS*0cwpA}ExV-`B-y)VI-<8AP55`0Rdzn&M`fAZ8Vx0kbkR$#9_8#g+^ zor4=k&Q)@pJVE7q%ILN-{z4^ zk;mtG1_v8ACzqkLO)keZGT3W3)1p_P48Jm9%`nKE5T3_ml*q}Iigpz%>#%Le<9ybf zT#antcide#Mh|Cx#zH$sQw4mtNv=VCMy|!xk?RN>8R7N6c7F1PX3EL+sDYe|gI`8s z_)ZZ|8pYZE_|}QsfI9T`R5U%KfTO+I^?27CQ5fkPPs>fbsYie6jO!P4Zbp6{K5rDy z7SEB&$t_A_2tUA*1pyoln$G9sRxKTz&vXVvxs3#C_@R}#ay#z_Nf+z!wWNZi*gnv3OsAAJ(a=X3sCqT0}m_Uiy$}{94Ao8y;>HsqAC3Jo_$;HBZZpCU{@#eB_X+= zaMs#WBMs;c8EJosl$U;J$+gPMN^_t& z(HG}2;0)kb6nF?btUtr#6VPw`jr@)?W!r*PV+ ze9qg3QX99I4%9CIlGFh-gmZX%(WqY%xi1cz`-(S1Fk*t8<7*Vo$5+^N!i%TkI^n^t zd8=IyL`28^1|S$}Zma1K%E`AVY>OtNCL}-z5E4=#1U8W54@X(Y*`3+_hs@6G_s>jn zr;HMnn6qKShFwvyV=t)KQL&?9N5$TI7vJxn*}c2HODxahW1eI)^UwEx<^A68FW=2G z%a&h`LdOk;Jm0c|48PWFFU-)4)rVjiNR(71F};r2`Yoy{lTXDgAMoR%Px_b z;QWF}bd{y!T5yOK7HLr{l!0AluQGH3kX#(oi9k}Bhf>#MR$~DMis)cFiEb^QlGARYFD;XX><~ zn8l#3EYj(6zA4%h`Bg>A$xbs8vt7rtY4xs|P?knOXULfnaGjZJ#S0{G?F^j-v<71u z%E=|e%QT~INTR!8Jd!4-@^YzMESJgU@+8r&70?<9_t)m+DMfi|QJz+mD~obfF_Q2? zrnb*+HNDRs0pr*GD+aH>;Ze1GFWsUGsKTs&C2<_xRFHb$9 zU7|1a%b~LE!9&Wd*KI{tn3HlgrxEm(<)AJdZ)C`{tYoQ5XJ)7XtGi>ms$uogln|Y% z1YONW_kht}R4duawrKCJHqqmFWjC^H=~xy@c;A>@Iy|5W*Sds}0RPRpUSswb#O$i; zm*|=?W)>AjBp+g zc0D1cTbNysnZ&M}l0}^%ITF(o8Is+AWS?|`Yy!SMADNC9WXDeq*@~~Sy6Usi^ek+V z)w8mw@G4US1KFLsvzkGsK0gf6(X>hsmDHh(O&7|nM%_ILq5Lo0crtK!N=#2>9F9)H z;mEYxLdCIN%W$0lTkF#R(XBB(9dq@*$3@Rc%8U!qGdN4noG!HHX7#KohXy@AL(hi( z+hTf7L;tO*{&xMHp3ADAcU;xapI)`WCz=es0Qzr_>4lu)4y1TXgoBr&7a=pZO%6q$ ztX|CaUNW7%Ha`2j6d9VJ9|AKgEwW^u~$!ZjKhFquaV53 z1D%ak;sZI!q`oJn53;#VnBR{p2VbK;1haRixztSl@N}9qlRpB_CrBFjEIRY7vr zq0hmy#~052V(kaBf4#7 zXw%nV=l+QxetkMM8pLnFRYpb6`zCz-R!rY!Us=Zk;|M+&(|6d$9LTOYH@{|m{_Hht z&(lDDcdBwW4Y@AFi?D~wO2AHcwa6Y>1vR6VPAb+euy!O51{KZdJ6iRq{8 zDrxHRC(fRj+vq0fTk4HjH$sy}wd1?5I`A8- zPL>q|4TucBoFkwEf$G8+csL*Sd}X1xQnzvL^~$)DsBU~i3S85xM(D2?WwaGk27_Xz z?WsBZ&d`uS`A}Pjf*SXY0@bTWdvN!f;7T7WZ08Hn zsOsnExvIk7(cy`dtLE|0G8u;TU}HX?HjwPFGUTgjUWPR{uLfA8+d^rfsZ*<~`FJlt zjZTc=+6Qe{Ex;Ih4fBHteYGEP|6wqz*G!@h$J(iKC8>SjgU=8h} zCygoTd8oxKC)X6jGJR|_fT3?8QAYBrPjPrW5n`gB0Shou!ZjBFswF(!ZrP=%s+O`Q z(Qo4#$|M?vXVSJqwG889V!0oM^(Z`+{^hKwgI&Xw`6Pbn;rH56+Sr;?mc8Gk7I#e+pMWmwCqAoHD4?_Jw|BP5DMsjDn5!X zd>dT3X1%3OU6DA^8~~{=mbvaE450GE-bsg zdBCuF`!#U2SLpX4TRD6@DwZSETC@1asb>Ue%Gqi)gvP`y+dHVv(8`j)>wz6vh_dFY zGxc!4JyQ3G1(Z59e}ye@{^v)H>%RJv1C%y#s1U3->Z%Cy+m{NBdeb zrq*Csv`1lOaD!UQ&zV#e)BNm2ljBWHvRcPt-FnJk0Jzrkd!J!BfmuQVQV`G4bGxzj z)Zv9QqRwTpHnF@caXBj^ISKfPl9w|BC2%0BtMec=hEg_5#v#WFrP_djU0tGgGLzN$ ztgT(_+X25f@^fd}V^tU6O)eLGSgk^|$+*ygeyA?Q_)*bawLKf{S0wZz3=~AKCf_*J zoAl^hU6Mvplj>qUbuM$Pxdd#+n8-GkfJ284;mXX-O}zwI_Q5=)gS^_pV%QeE&>S(O zQp6&WxRc+mtt^C zEKL>%+qLzA2V6sGr0r348AMQOY1VWJ1!^Y-i(-+kC)@>XrF-4B$N9C?<@kD3%t31y zg`W)V!VvE*8q4Oca0Tm*N@8K_HmBR%>Pnu}CRfI)fTx_Sw%+2CEhnRPMHyf ztE;u__^ph)5FLr6+JkR6DyzL(1`XAfMYWH|s@$YQvm(GP_b9hnlLl+!HjR_%0Qx%f z(VAT#H$-9pMK<2!*ZaE?&=afutnDQ1#;|hDxE0o(HpJ1|P4tWI#ugVSJ{=d;wfNO% Sc(kC^b$E%@_4tiSL;nQPw0BDY diff --git a/docs/build/doctrees/sf_tools.interface.errors.doctree b/docs/build/doctrees/sf_tools.interface.errors.doctree deleted file mode 100644 index d4efd9604d30b6391562f490ac67e1d214cd6e06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20412 zcmd5^2YejG)i<_fNoQL&Hcc{yqsw4P2Ge3X*nqJSU|0|VaX#Ixw0Az;-M+nZ0XAT& z4WYNtODLhG7ZOMU32CH33Q0%<(n%v<8tLEv|7Q1YuShoV`@UfPyt6a&`n+lHcINzv zsdOP#E@g6FZ@!SWy%@8jcD@vIx0tuyo#?xhx~=wna?~!ZE83nr*>_vI2jUYZOz?&i zr9uICnS9BX;bhA0wM7cz#YYS2a?WDesmS>CC=M5*RoY%KFXk@SN zC^mZENT%eJhx&@^N=_jUFw?Sq@C6{LAu5Fp&D|?r$=%*+EhR^20e7y|8i?xdV8xQ9 zl4OR;CD?aI-;H-$ZRv86aGtxbaozeb{TYb z9dz~>EISa!2}IbZUV>BXwdi#VH?MQ;d+~aAKi}Q|^~iaEGpFB~*RKL}IX&f}WO*p% z6`f3eZErH2HvK=7Pupu_?t!qw+kAHs=vxzvegkK}aZd_cuCLM+`b<~oEv{QcH-net zN8*KHbeb`S755;TSH*J=rg;zPrd45EW8^*HPVj!o*xsOfXg7KQC}J2oY+z??$1%vp zyNz?rQ@d}<(X0vmCHL?o8*+=FAz?#$S7Zo9H%yL5vgpLzBVfiOefKCf)3y*}$%+*x ztcV|bME~ODOZ$(BuQmSefM};=nz=w6eknTAn{ZoUrJ{3$lDm0(q4SHAaN&|Pt#X8 zz9aSG$j1X`a{Gg>2t^!~{)A@IPYV0siID!yGd&49uJGNHsbhbQj>}CStMiZHjGap- zav2ZZ{S>Hg`R=K}4f~nHR)|%B+|$?$1I-j^2^BfLVLVg(nEQ6nKf`y=4Cz}Kr%1m= z>)k<;K5JakiRPqr;*Pm1K|krcLu|e&Xuc!LXen`1XooWbR)H!yIi$(YZpLo{hvi|k zM}*1<4D0xAhK40Yj8`18nwoQ{kX{#avk+&M@8&4Zo)G8c#g8`gUi@HB^S!}5 zc=*U@GL!2~6-Ez@QLxcQ!KelV%d4Lje78u-T-IzhWyrnCSi*QDCa1<(p@mGO8|u$& zLfiFVh?4J?$-Ef=coZ59gUQs!bf3bswi1%)GDV>>XG53qIJxIQr*nPRhe+!AYtXnHekxMC?{P{5w&yXRAU z%^QVngAzCxJ-}UG9zv-@x4*!5FARwXZttkSU(~DxTEnh%akoRKzQlJgCA(IzKNX87 zuKqTF?FB(wswZ!3MoB&SGDsdpy&M|6(|4}`Nrz-EQCD{8uUGo+Rpc}ooc8YBM?LZC zM#5wbyI!N7c&+bVN1RCp$GsjTuZ()x4UGimEo&u#8zEVUb`zv}m+#(8sYv2ll?u(^ zMC^Er@7@XkZKN7I-qwsqduYeojUDgs-8)0=7AH%#dl&fJ5;fx8&B&+`?}4baisHQ+ zvfk^v_fb~TxT9*p`+fHT@|XtLeHQlZy`XQO1$!S5Q%k<5kvjRq5D%&)AM)LYi5siI zbsqtT`=bVZw2{udW$mQ%UPxJo{XWS0e&787WhJGD>g-Av9%L%Z1Uc5V#4|ZH*ubt*O?YeULC|53K0l3v*lf@tQ0;!n$F-Z29 z?|!^iGHWtx-A{0cc)T0ioq}15J+aZ6k}hDB$h)5$m)cN@tjr2SS#BWRPY<*K zWVoEy&5Zjbmgbp7HrG7 zo}3@g6-Ex}FXZicXoSa{IRobb>J4s&!iDLZSi<(|p7iq=bqYXimsB~uaiOBa5

    ZIo|~(J0(LU{e=!zl|n&-gm#lCg~baxL&l# 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 diff --git a/docs/build/doctrees/sf_tools.math.angle.doctree b/docs/build/doctrees/sf_tools.math.angle.doctree deleted file mode 100644 index a6f79222053b04061bc40326cbe11f1450255009..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24589 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 diff --git a/docs/build/doctrees/sf_tools.math.matrix.doctree b/docs/build/doctrees/sf_tools.math.matrix.doctree deleted file mode 100644 index 7322390387e5e1e661a1f8770df26137e2b2e77e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49681 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 YtStCI1^hZ#i@A~o{Nz`vSZr(he-=LM`2YX_ diff --git a/docs/build/doctrees/sf_tools.math.misc.doctree b/docs/build/doctrees/sf_tools.math.misc.doctree deleted file mode 100644 index d8510661a8c38c7c16005140e77361e535beefdb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27325 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 diff --git a/docs/build/doctrees/sf_tools.math.stats.doctree b/docs/build/doctrees/sf_tools.math.stats.doctree deleted file mode 100644 index e5919fd49ce5fa45b782b86b171d5cec166a4db0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58701 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 D2X+J1 diff --git a/docs/build/doctrees/sf_tools.plot.cost_plot.doctree b/docs/build/doctrees/sf_tools.plot.cost_plot.doctree deleted file mode 100644 index 0e7ca3eb567243e987886728ce4ffd38460d8cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10817 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 NdNed8@r<$~{{hhDeV_mU diff --git a/docs/build/doctrees/sf_tools.plot.doctree b/docs/build/doctrees/sf_tools.plot.doctree deleted file mode 100644 index 7bde81595d6a347735bdf12058a8287d722fc254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6201 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 diff --git a/docs/build/doctrees/sf_tools.signal.filter.doctree b/docs/build/doctrees/sf_tools.signal.filter.doctree deleted file mode 100644 index 8737aeb676e41129df3a69b3bce3a721b27396d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24191 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 - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/base/np_adjust.html b/docs/build/html/_modules/sf_tools/base/np_adjust.html deleted file mode 100644 index adafb69..0000000 --- a/docs/build/html/_modules/sf_tools/base/np_adjust.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - - - - - - - sf_tools.base.np_adjust — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.base.np_adjust
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.base.np_adjust

    -# -*- coding: utf-8 -*-
    -
    -"""NUMPY ADJUSTMENT ROUTINES
    -
    -This module contains methods for adjusting the default output for certain
    -Numpy functions.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 03/04/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -
    -
    -
    [docs]def rotate(data): - """Rotate - - This method rotates an input numpy array by 180 degrees. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 2D) - - Returns - ------- - np.ndarray rotated data - - Notes - ----- - Adjustment to numpy.rot90() - - Examples - -------- - >>> from sf_tools.base.np_adjust import rotate - >>> x = np.arange(9).reshape((3, 3)) - >>> x - array([[0, 1, 2], - [3, 4, 5], - [6, 7, 8]]) - >>> rotate(x) - array([[8, 7, 6], - [5, 4, 3], - [2, 1, 0]]) - - """ - - return np.rot90(data, 2)
    - - -
    [docs]def rotate_stack(data): - """Rotate stack - - This method rotates each array in a stack of arrays by 180 degrees. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 3D) - - Returns - ------- - np.ndarray rotated data - - Examples - -------- - >>> from sf_tools.base.np_adjust import rotate_stack - >>> x = np.arange(18).reshape((2, 3, 3)) - >>> x - array([[[ 0, 1, 2], - [ 3, 4, 5], - [ 6, 7, 8]], - [[ 9, 10, 11], - [12, 13, 14], - [15, 16, 17 - >>> rotate_stack(x) - array([[[ 8, 7, 6], - [ 5, 4, 3], - [ 2, 1, 0]], - [[17, 16, 15], - [14, 13, 12], - [11, 10, 9]]]) - - """ - - return np.array([rotate(x) for x in data])
    - - -
    [docs]def pad2d(data, padding): - """Pad array - - This method pads an input numpy array with zeros in all directions. - - Parameters - ---------- - data : np.ndarray - Input data array (at least 2D) - padding : int, tuple - Amount of padding in x and y directions, respectively - - Returns - ------- - np.ndarray padded data - - Notes - ----- - Adjustment to numpy.pad() - - Examples - -------- - >>> from sf_tools.base.np_adjust import pad2d - >>> x = np.arange(9).reshape((3, 3)) - >>> x - array([[0, 1, 2], - [3, 4, 5], - [6, 7, 8]]) - >>> pad2d(x, (1, 1)) - array([[0, 0, 0, 0, 0], - [0, 0, 1, 2, 0], - [0, 3, 4, 5, 0], - [0, 6, 7, 8, 0], - [0, 0, 0, 0, 0]]) - - """ - - data = np.array(data) - - if isinstance(padding, int): - padding = np.array([padding]) - elif isinstance(padding, (tuple, list)): - padding = np.array(padding) - elif isinstance(padding, np.ndarray): - pass - else: - raise ValueError('Padding must be an integer or a tuple (or list, ' - 'np.ndarray) of itegers') - - if padding.ndim == 1: - padding = np.repeat(padding, 2) - - return np.pad(data, ((padding[0], padding[0]), (padding[1], padding[1])), - 'constant')
    - - -
    [docs]def x_bins(vals): - """X-range bins - - This method sets the bin values for a histogram. - - Parameters - ---------- - vals : np.ndarray - X-range bins from np.histogram()[1] - - Returns - ------- - np.ndarray corrected x-range bin data - - Notes - ----- - Adjustment to numpy.histogram() - - Examples - -------- - >>> from sf_tools.base.np_adjust import x_bins - >>> data = np.array([1, 2, 1, 3, 1, 1]) - >>> hist, bins = np.histogram(data) - >>> hist - array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1]) - >>> bins - array([ 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - >>> x_bins(bins) - array([ 1.1, 1.3, 1.5, 1.7, 1.9, 2.1, 2.3, 2.5, 2.7, 2.9]) - - """ - - return (vals[:-1] + vals[1:]) / 2.0
    - - -
    [docs]def x_bins_step(vals): - """X-range bins (step function) - - This method sets the bin values for a histogram plotted as a step funciton. - - Parameters - ---------- - vals : np.ndarray - X-range bins from np.histogram()[1] - - Returns - ------- - np.ndarray corrected x-range bin data - - Notes - ----- - Adjustment to numpy.histogram() - - Examples - -------- - >>> from sf_tools.base.np_adjust import x_bins - >>> data = np.array([1, 2, 1, 3, 1, 1]) - >>> hist, bins = np.histogram(data) - >>> hist - array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1]) - >>> bins - array([ 1. , 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - >>> x_bins_step(bins) - array([ 1.2, 1.4, 1.6, 1.8, 2. , 2.2, 2.4, 2.6, 2.8, 3. ]) - - """ - - return x_bins(vals) + (vals[1] - vals[0]) / 2.0
    - - -
    [docs]def ftr(data): - """Fancy transpose right - - Apply fancy_transpose() to data with roll=1 - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray transposed data - - """ - - return fancy_transpose(data)
    - - -
    [docs]def ftl(data): - """Fancy transpose left - - Apply fancy_transpose() to data with roll=-1 - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray transposed data - - """ - - return fancy_transpose(data, -1)
    - - -
    [docs]def fancy_transpose(data, roll=1): - """Fancy transpose - - This method transposes a multidimensional matrix. - - Parameters - ---------- - data : np.ndarray - Input data array - roll : int - Roll direction and amount. Default (roll=1) - - Returns - ------- - np.ndarray transposed data - - Notes - ----- - Adjustment to numpy.transpose - - Examples - -------- - >>> from sf_tools.base.np_adjust import fancy_transpose - >>> x = np.arange(27).reshape(3, 3, 3) - >>> x - array([[[ 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]]]) - >>> fancy_transpose(x) - array([[[ 0, 3, 6], - [ 9, 12, 15], - [18, 21, 24]], - [[ 1, 4, 7], - [10, 13, 16], - [19, 22, 25]], - [[ 2, 5, 8], - [11, 14, 17], - [20, 23, 26]]]) - >>> fancy_transpose(x, roll=-1) - array([[[ 0, 9, 18], - [ 1, 10, 19], - [ 2, 11, 20]], - [[ 3, 12, 21], - [ 4, 13, 22], - [ 5, 14, 23]], - [[ 6, 15, 24], - [ 7, 16, 25], - [ 8, 17, 26]]]) - - """ - - axis_roll = np.roll(np.arange(data.ndim), roll) - - return np.transpose(data, axes=axis_roll)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/base/transform.html b/docs/build/html/_modules/sf_tools/base/transform.html deleted file mode 100644 index 5ed9a8f..0000000 --- a/docs/build/html/_modules/sf_tools/base/transform.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - - sf_tools.base.transform — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.base.transform
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.base.transform

    -# -*- coding: utf-8 -*-
    -
    -"""DATA TRANSFORM ROUTINES
    -
    -This module contains methods for transforming data.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import range
    -import numpy as np
    -from scipy.ndimage import gaussian_filter
    -from itertools import islice, product
    -
    -
    -
    [docs]def cube2map(data_cube, layout): - """Cube to Map - - This method transforms the input data from a 3D cube to a 2D map with a - specified layout - - Parameters - ---------- - data_cube : np.ndarray - Input data cube, 3D array of 2D images - Layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 2D map - - Raises - ------ - ValueError - For invalid layout - - """ - - if data_cube.shape[0] != np.prod(layout): - raise ValueError('The desired layout must match the number of input ' - 'data layers.') - - return np.vstack([np.hstack(data_cube[slice(layout[1] * i, layout[1] * - (i + 1))]) for i in range(layout[0])])
    - - -
    [docs]def map2cube(data_map, layout): - """Map to cube - - This method transforms the input data from a 2D map with given layout to - a 3D cube - - Parameters - ---------- - data_map : np.ndarray - Input data map, 2D array - layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 3D cube - - Raises - ------ - ValueError - For invalid layout - - """ - - if np.all(np.array(data_map.shape) % np.array(layout)) != 0: - raise ValueError('The desired layout must be a multiple of the number ' - 'pixels in the data map.') - - d_shape = np.array(data_map.shape) // np.array(layout) - - return np.array([data_map[(slice(i * d_shape[0], (i + 1) * d_shape[0]), - slice(j * d_shape[1], (j + 1) * d_shape[1]))] for i in - range(layout[0]) for j in range(layout[1])])
    - - -
    [docs]def map2matrix(data_map, layout): - """Map to Matrix - - This method transforms a 2D map to a 2D matrix - - Parameters - ---------- - data_map : np.ndarray - Input data map, 2D array - layout : tuple - 2D layout of 2D images - - Returns - ------- - np.ndarray 2D matrix - - Raises - ------ - ValueError - For invalid layout - - """ - - layout = np.array(layout) - - # Select n objects - n_obj = np.prod(layout) - - # Get the shape of the galaxy images - gal_shape = (np.array(data_map.shape) // layout)[0] - - # Stack objects from map - data_matrix = [] - - for i in range(n_obj): - lower = (gal_shape * (i // layout[1]), - gal_shape * (i % layout[1])) - upper = (gal_shape * (i // layout[1] + 1), - gal_shape * (i % layout[1] + 1)) - data_matrix.append((data_map[lower[0]:upper[0], - lower[1]:upper[1]]).reshape(gal_shape ** 2)) - - return np.array(data_matrix).T
    - - -
    [docs]def matrix2map(data_matrix, map_shape): - """Matrix to Map - - This method transforms a 2D matrix to a 2D map - - Parameters - ---------- - data_matrix : np.ndarray - Input data matrix, 2D array - map_shape : tuple - 2D shape of the output map - - Returns - ------- - np.ndarray 2D map - - Raises - ------ - ValueError - For invalid layout - - """ - - map_shape = np.array(map_shape) - - # Get the shape and layout of the galaxy images - gal_shape = np.sqrt(data_matrix.shape[0]) - layout = np.array(map_shape // np.repeat(gal_shape, 2), dtype='int') - - # Map objects from matrix - data_map = np.zeros(map_shape) - - temp = data_matrix.reshape(gal_shape, gal_shape, data_matrix.shape[1]) - - for i in range(data_matrix.shape[1]): - lower = (gal_shape * (i // layout[1]), - gal_shape * (i % layout[1])) - upper = (gal_shape * (i // layout[1] + 1), - gal_shape * (i % layout[1] + 1)) - data_map[lower[0]:upper[0], lower[1]:upper[1]] = temp[:, :, i] - - return data_map
    - - -
    [docs]def cube2matrix(data_cube): - """Cube to Matrix - - This method transforms a 3D cube to a 2D matrix - - Parameters - ---------- - data_cube : np.ndarray - Input data cube, 3D array - - Returns - ------- - np.ndarray 2D matrix - - """ - - return data_cube.reshape([data_cube.shape[0]] + - [np.prod(data_cube.shape[1:])]).T
    - - -
    [docs]def matrix2cube(data_matrix, im_shape): - """Matrix to Cube - - This method transforms a 2D matrix to a 3D cube - - Parameters - ---------- - data_matrix : np.ndarray - Input data cube, 2D array - im_shape : tuple - 2D shape of the individual images - - Returns - ------- - np.ndarray 3D cube - - """ - - return data_matrix.T.reshape([data_matrix.shape[1]] + list(im_shape))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/base/types.html b/docs/build/html/_modules/sf_tools/base/types.html deleted file mode 100644 index 1e3267c..0000000 --- a/docs/build/html/_modules/sf_tools/base/types.html +++ /dev/null @@ -1,483 +0,0 @@ - - - - - - - - - - - sf_tools.base.types — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -

    Source code for sf_tools.base.types

    -# -*- coding: utf-8 -*-
    -
    -"""TYPE HANDLING ROUTINES
    -
    -This module contains methods for handing object types.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.0
    -
    -:Date: 04/04/2017
    -
    -"""
    -
    -
    -import numpy as np
    -
    -
    -
    [docs]def check_float(val): - """Check if input value is a float or a np.ndarray of floats, if not - convert. - - Parameters - ---------- - val : any - Input value - - Returns - ------- - float or np.ndarray of floats - - """ - - if type(val) is float: - pass - elif type(val) is int: - val = float(val) - elif type(val) is list or type(val) is tuple: - val = np.array(val, dtype=float) - elif type(val) is np.ndarray and val.dtype is not 'float64': - val = val.astype(float) - else: - raise ValueError('Invalid input type.') - - return val
    - - -
    [docs]def check_int(val): - """Check if input value is an int or a np.ndarray of ints, if not convert. - - Parameters - ---------- - val : any - Input value - - Returns - ------- - int or np.ndarray of ints - - """ - - if type(val) is int: - pass - elif type(val) is float: - val = int(val) - elif type(val) is list or type(val) is tuple: - val = np.array(val, dtype=int) - elif type(val) is np.ndarray and val.dtype is not 'int64': - val = val.astype(int) - else: - raise ValueError('Invalid input type.') - - return val
    - - -
    [docs]def val2int(val): - """Convert to int - - This method checks if input value is an int and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - int interger value or np.ndarray array of ints - - Raises - ------ - ValueError - For invalid input type - - Examples - -------- - >>> from sf_tools.base.types import val2int - >>> x = np.arange(5).astype(float) - >>> x - array([ 0., 1., 2., 3., 4.]) - >>> val2int(x) - array([0, 1, 2, 3, 4]) - - """ - - if isinstance(val, int): - pass - elif isinstance(val, (float, str)): - val = int(float(val)) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=float).astype(int) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'int64'): - pass - else: - val = val.astype(float).astype(int) - else: - raise ValueError('Invalid input type.') - - return val
    - - -
    [docs]def val2float(val): - """Convert to float - - This method checks if input value is a float and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - float floating point value or np.ndarray array of floats - - Examples - -------- - >>> from sf_tools.base.types import val2float - >>> x = np.arange(5) - >>> x - array([0, 1, 2, 3, 4]) - >>> val2float(x) - array([ 0., 1., 2., 3., 4.]) - - """ - - if isinstance(val, float): - pass - elif isinstance(val, (int, str)): - val = float(val) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=float) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'float64'): - pass - else: - val = val.astype(float) - else: - raise ValueError('Invalid input type.') - - return val
    - - -
    [docs]def val2str(val): - """Convert to string - - This method checks if input value is a string and if not converts it. - - Parameters - ---------- - val : int, float, str, list, tuple or np.ndarray - Input value - - Returns - ------- - str string or np.ndarray array of strings - - - Examples - -------- - >>> from sf_tools.base.types import val2str - >>> x = np.arange(5) - >>> x - array([0, 1, 2, 3, 4]) - >>> val2str(x) - array(['0', '1', '2', '3', '4'], - dtype='|S21') - - """ - - if isinstance(val, str): - pass - elif isinstance(val, (int, float)): - val = str(val) - elif isinstance(val, (list, tuple)): - val = np.array(val, dtype=str) - elif isinstance(val, np.ndarray): - if np.issubdtype(val.dtype, 'S21'): - pass - else: - val = val.astype(str) - else: - raise ValueError('Invalid input type.') - - return val
    - - -
    [docs]def nan2val(array, val=0.0): - """Convert NAN to val - - This converts all NANs in an array to a specified value. - - Parameters - ---------- - array : np.ndarray, list or tuple - Input array - val : int or float, optional - Value to replace NANs. Default (val=0.0) - - Returns - ------- - np.ndarray array without NANs - - NOTES - ----- - Output data type defined by val type. - - Examples - -------- - >>> from sf_tools.base.types import nan2val - >>> x = [1., 2., np.nan, 4.] - >>> x - [1.0, 2.0, nan, 4.0] - >>> nan2val(x, 3.) - array([ 1., 2., 3., 4.]) - - """ - - new_array = np.copy(array) - new_array[np.isnan(new_array)] = val - - if isinstance(val, int): - new_array = val2int(new_array) - - return new_array
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/convolve.html b/docs/build/html/_modules/sf_tools/image/convolve.html deleted file mode 100644 index 1701357..0000000 --- a/docs/build/html/_modules/sf_tools/image/convolve.html +++ /dev/null @@ -1,473 +0,0 @@ - - - - - - - - - - - sf_tools.image.convolve — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.convolve
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.convolve

    -# -*- coding: utf-8 -*-
    -
    -"""CONVOLUTION ROUTINES
    -
    -This module contains methods for convolution.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 23/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import zip
    -import numpy as np
    -from scipy.signal import fftconvolve
    -from scipy.fftpack import fftn, ifftn, fftshift, ifftshift
    -from astropy.convolution import convolve_fft
    -from sf_tools.base.np_adjust import rotate, rotate_stack
    -
    -
    -
    [docs]def convolve_np(image, kernel): - """Convolve with Numpy FFT - - This method convolves the input image with the input kernel - - Parameters - ---------- - image : np.ndarray - 2D image array - kernel : np.ndarray - 2D kernel array - - Returns - ------- - np.ndarray 2D convolved image array - - """ - - x = np.fft.fftshift(np.fft.fftn(image)) - y = np.fft.fftshift(np.fft.fftn(kernel)) - - return np.real(np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(x * y))))
    - - -
    [docs]def deconvolve_np(image, kernel): - """Deconvolve with Numpy FFT - - This method deconvolves the input image with the input kernel - - Parameters - ---------- - image : np.ndarray - 2D image array - kernel : np.ndarray - 2D kernel array - - Returns - ------- - np.ndarray 2D deconvolved image array - - """ - - x = np.fft.fftshift(np.fft.fftn(image)) - y = np.fft.fftshift(np.fft.fftn(kernel)) - - return np.real(np.fft.fftshift(np.fft.ifftn(np.fft.ifftshift(x / y))))
    - - -
    [docs]def convolve(data, kernel, method='astropy'): - """Convolve data with kernel - - This method convolves the input data with a given kernel using FFT and - is the default convolution used for all routines - - Parameters - ---------- - data : np.ndarray - Input data array, normally a 2D image - kernel : np.ndarray - Input kernel array, normally a 2D kernel - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - 'astropy': - Uses the astropy.convolution.convolve_fft method provided in - Astropy (http://www.astropy.org/) - - 'scipy': - Uses the scipy.signal.fftconvolve method provided in SciPy - (https://www.scipy.org/) - - Returns - ------- - np.ndarray convolved data - - Raises - ------ - ValueError - If `data` and `kernel` do not have the same number of dimensions - ValueError - If `method` is not 'astropy' or 'scipy' - - """ - - if data.ndim != kernel.ndim: - raise ValueError('Data and kernel must have the same dimensions.') - - if method not in ('astropy', 'scipy'): - raise ValueError('Invalid method. Options are "astropy" or "scipy".') - - if method == 'astropy': - return convolve_fft(data, kernel, boundary='wrap', crop=False, - nan_treatment='fill', normalize_kernel=False) - - elif method == 'scipy': - return fftconvolve(data, kernel, mode='same')
    - - -
    [docs]def convolve_stack(data, kernel, rot_kernel=False, method='astropy'): - """Convolve stack of data with stack of kernels - - This method convolves the input data with a given kernel using FFT and - is the default convolution used for all routines - - Parameters - ---------- - data : np.ndarray - Input data array, normally a 2D image - kernel : np.ndarray - Input kernel array, normally a 2D kernel - rot_kernel : bool - Option to rotate kernels by 180 degrees - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - Returns - ------- - np.ndarray convolved data - - """ - - if rot_kernel: - kernel = rotate_stack(kernel) - - return np.array([convolve(data_i, kernel_i, method=method) for data_i, - kernel_i in zip(data, kernel)])
    - - -
    [docs]def psf_convolve(data, psf, psf_rot=False, psf_type='fixed', method='astropy'): - """Convolve data with PSF - - This method convolves an image with a PSF - - Parameters - ---------- - data : np.ndarray - Input data array, normally an array of 2D images - psf : np.ndarray - Input PSF array, normally either a single 2D PSF or an array of 2D - PSFs - psf_rot: bool - Option to rotate PSF by 180 degrees - psf_type : str {'fixed', 'obj_var'}, optional - PSF type (default is 'fixed') - method : str {'astropy', 'scipy'}, optional - Convolution method (default is 'astropy') - - 'fixed': - The PSF is fixed, i.e. it is the same for each image - - 'obj_var': - The PSF is object variant, i.e. it is different for each image - - Returns - ------- - np.ndarray convolved data - - Raises - ------ - ValueError - If `psf_type` is not 'fixed' or 'obj_var' - - """ - - if psf_type not in ('fixed', 'obj_var'): - raise ValueError('Invalid PSF type. Options are "fixed" or "obj_var"') - - if psf_rot and psf_type == 'fixed': - psf = rotate(psf) - - elif psf_rot: - psf = rotate_stack(psf) - - if psf_type == 'fixed': - return np.array([convolve(data_i, psf, method=method) for data_i in - data]) - - elif psf_type == 'obj_var': - - return convolve_stack(data, psf)
    - - -
    [docs]def pseudo_inverse(image, kernel, weight=None): - """Pseudo inverse - - This method calculates the pseudo inverse of the input image for the given - kernel using FFT - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - kernel : np.ndarray - Input kernel, 2D array - weight : np.ndarray, optional - Optional weights, 2D array - - Returns - ------- - np.ndarray result of the pseudo inverse - - """ - - y_hat = fftshift(fftn(image)) - h_hat = fftshift(fftn(kernel)) - h_hat_star = np.conj(h_hat) - - res = ((h_hat_star * y_hat) / (h_hat_star * h_hat)) - - if not isinstance(weight, type(None)): - res *= weight - - return np.real(fftshift(ifftn(ifftshift(res))))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/distort.html b/docs/build/html/_modules/sf_tools/image/distort.html deleted file mode 100644 index 3f25c35..0000000 --- a/docs/build/html/_modules/sf_tools/image/distort.html +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - sf_tools.image.distort — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.distort
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.distort

    -# -*- coding: utf-8 -*-
    -
    -"""IMAGE DISTORTION ROUTINES
    -
    -This module contains methods for playing around with image properties.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -from itertools import product
    -from sf_tools.base.np_adjust import pad2d
    -
    -
    -
    [docs]def downsample(image, factor): - """Downsample - - This method downsamples (decimates) an image. - - Parameters - ---------- - image : np.ndarray - Input image array - factor : int - Downsampling factor - - Returns - ------- - np.ndarray downsampled image array - - Raises - ------ - ValueError - For invalid downsampling factor - - """ - - factor = np.array(factor) - - if not np.all(factor > 0): - raise ValueError('The downsampling factor values must be > 0.') - - if factor.size == 1: - return image[0::factor, 0::factor] - - elif factor.size == 2: - return image[0::factor[0], 0::factor[1]] - - else: - raise ValueError('The downsampling factor can only contain one or ' + - 'two values.')
    - - -
    [docs]def resize_even_image(image): - """Resize even image - - This method returns an image with odd dimensions. - - Parameters - ---------- - image : np.ndarray - Input image array - - Returns - ------- - np.ndarray resized image array - - """ - - return image[[slice(x) for x in (np.array(image.shape) + - np.array(image.shape) % 2 - 1)]]
    - - -
    [docs]def roll_2d(data, roll_rad=(1, 1)): - """Roll in 2D - - This method rolls an array in 2 dimensions. - - Parameters - ---------- - data : np.ndarray - Input 2D data array - roll_rad : tuple - Roll radius in each dimension - - Returns - ------- - np.ndarray rolled array - - """ - - return np.roll(np.roll(data, roll_rad[1], axis=1), roll_rad[0], axis=0)
    - - -
    [docs]def rot_and_roll(data): - """Rotate and roll - - This method rotates (by 180 deg) and rolls a 2D array. - - Parameters - ---------- - data : np.ndarray - Input 2D data array - - Returns - ------- - np.ndarray rotated and rolled array - - """ - - return roll_2d(np.rot90(data, 2), -(np.array(data.shape) // 2))
    - - -
    [docs]def gen_mask(kernel_shape, image_shape): - """Generate mask - - This method generates an image mask. - - Parameters - ---------- - kernel_shape : tuple - Shape of kernel - image_shape : tuple - Shape of image - - Returns - ------- - np.ndarray boolean mask - - """ - - kernel_shape = np.array(kernel_shape) - image_shape = np.array(image_shape) - - shape_diff = image_shape - kernel_shape - - mask = np.ones(image_shape, dtype=bool) - - if shape_diff[0] > 0: - mask[-shape_diff[0]:] = False - if shape_diff[1] > 0: - mask[:, -shape_diff[1]:] = False - - return roll_2d(mask, -(kernel_shape // 2))
    - - -
    [docs]def roll_sequence(data_shape): - """Roll sequence - - This method generates the roll sequence for a 2D array. - - Parameters - ---------- - data_shape : tuple - Shape of data - - Returns - ------- - list of roll radii - - """ - - data_shape = np.array(data_shape) - - return list(product(*(range(data_shape[0]), range(data_shape[1]))))
    - - -
    [docs]def kernel_pattern(kernel_shape, mask): - """Kernel pattern - - This method generates the kernel pattern. Rather than padding the kernel - with zeroes to match the image size one simply extracts the series of - repitions of the base kernel patterns. - - Parameters - ---------- - kernel_shape : tuple - Shape of kernel - mask : np.ndarray - Boolean mask - - Returns - ------- - np.ndarray kernel pattern - - """ - - kernel_shape = np.array(kernel_shape) - - kernel_buffer = 1 - np.array(kernel_shape) % 2 - - n_rep_axis1 = sum(1 - mask[:, 0]) - n_rep_axis2 = sum(1 - mask[0]) - - if np.any(mask[:, 0] is False): - pos_1 = np.where(mask[:, 0] is False)[0][0] - 1 + kernel_buffer[0] - - if np.any(mask[0] is False): - pos_2 = np.where(mask[0] is False)[0][0] - 1 + kernel_buffer[1] - - pattern = np.arange(np.prod(kernel_shape)).reshape(kernel_shape) - - for i in range(n_rep_axis1): - pattern = np.insert(pattern, pos_1, pattern[pos_1], axis=0) - - for i in range(n_rep_axis2): - pattern = np.insert(pattern, pos_2, pattern[:, pos_2], axis=1) - - return pattern.reshape(pattern.size)
    - - -
    [docs]def rearrange_kernel(kernel, data_shape=None): - """Rearrange kernel - - This method rearanges the input kernel elements for vector multiplication. - The input kernel is padded with zeroes to match the image size. - - Parameters - ---------- - kernel : np.ndarray - Input kernel array - data_shape : tuple - Shape of the data - - Returns - ------- - np.ndarray rearanged matrix of kernel elements - - """ - - # Define kernel shape. - kernel_shape = np.array(kernel.shape) - - # Set data shape if not provided. - if isinstance(data_shape, type(None)): - data_shape = kernel_shape - else: - data_shape = np.array(data_shape) - - # Set the length of the output matrix rows. - vec_length = np.prod(data_shape) - - # Find the diffrence between the shape of the data and the kernel. - shape_diff = data_shape - kernel_shape - - if np.any(shape_diff < 0): - raise ValueError('Kernel shape must be less than or equal to the ' - 'data shape') - - # Set the kernel radius. - kernel_rad = kernel_shape // 2 - - # Rotate, pad and roll the input kernel. - kernel_rot = np.pad(np.rot90(kernel, 2), ((0, shape_diff[0]), - (0, shape_diff[1])), 'constant') - kernel_rot = np.roll(np.roll(kernel_rot, -kernel_rad[1], axis=1), - -kernel_rad[0], axis=0) - - return np.array([np.roll(np.roll(kernel_rot, i, axis=0), j, - axis=1).reshape(vec_length) for i in range(data_shape[0]) - for j in range(data_shape[1])])
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/quality.html b/docs/build/html/_modules/sf_tools/image/quality.html deleted file mode 100644 index fa6722f..0000000 --- a/docs/build/html/_modules/sf_tools/image/quality.html +++ /dev/null @@ -1,389 +0,0 @@ - - - - - - - - - - - sf_tools.image.quality — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.quality
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.quality

    -# -*- coding: utf-8 -*-
    -
    -"""QUALITY ASSESSMENT ROUTINES
    -
    -This module contains methods and classes for assessing the quality of image
    -reconstructions.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -Notes
    ------
    -Some of the methods in this module are based on work by Fred Ngole.
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -from sf_tools.image.shape import ellipticity_atoms
    -
    -
    -
    [docs]def nmse(image1, image2, metric=np.mean): - r"""Normalised Mean Square Error - - This method computes the NMSE of two input images, or the result of the - input metric on a stack of input images. - - Parameters - ---------- - image1 : np.ndarray - First image (or stack of images) to be analysed (original image) - image2 : np.ndarray - Second image (or stack of images) to be analysed (reconstructed image) - metric : function - Metric to be apllied to NMSE results (default is 'np.mean') - - Returns - ------- - float NMSE value or metric value(s) - - Raises - ------ - ValueError - For invalid input data dimensions - - See Also - -------- - e_error : ellipticity error - - Notes - ----- - This method implements the following equation: - - - Equations from [NS2016]_ sec 4.1: - - .. math:: - - \text{NMSE} = \frac{1}{D}\sum_{i=1}^D - \frac{\|\hat{\text{Im}}_i - \text{Im}_i\|_2^2} - {\|\text{Im}_i\|_2^2} - - Examples - -------- - >>> from image.quality import nmse - - """ - - if image1.ndim != image2.ndim: - raise ValueError('Input images must have the same dimensions') - - if image1.ndim not in (2, 3): - raise ValueError('Input data must be single image or stack of images') - - if image1.ndim == 2: - - return (np.linalg.norm(image2 - image1) ** 2 / - np.linalg.norm(image1) ** 2) - - else: - - res = (np.array([np.linalg.norm(x) ** 2 for x in (image2 - image1)]) / - np.array([np.linalg.norm(x) ** 2 for x in image1])) - - return metric(res)
    - - -
    [docs]def e_error(image1, image2, metric=np.mean): - r"""Normalised Mean Square Error - - This method computes the ellipticity error of two input images, or the - result of the input metric on the ellipticity values. - - Parameters - ---------- - image1 : np.ndarray - First image to be analysed (original image) - image2 : np.ndarray - Second image to be analysed (reconstructed image) - metric : function - Metric to be apllied to ellipticity error results (default is - 'np.mean') - - Returns - ------- - float ellipticity error value or metric value(s) - - Raises - ------ - ValueError - For invalid input data dimensions - - See Also - -------- - nmse : nmse error - - Notes - ----- - This method implements the following equation: - - - Equations from [NS2016]_ sec 4.1: - - .. math:: - - \text{E}_\gamma = \frac{1}{D}\sum_{i=1}^D - \|\gamma(\text{Im}_i) - \gamma(\hat{\text{Im}}_i)\|_2 - - Examples - -------- - >>> from image.quality import e_error - - """ - - if image1.ndim != image2.ndim: - raise ValueError('Input images must have the same dimensions') - - if image1.ndim not in (2, 3): - raise ValueError('Input data must be single image or stack of images') - - if image1.ndim == 2: - - return np.linalg.norm(ellipticity_atoms(image1) - - ellipticity_atoms(image2)) - - else: - - diff = (np.array([ellipticity_atoms(x) for x in image1]) - - np.array([ellipticity_atoms(x) for x in image2])) - - return metric([np.linalg.norm(x) for x in diff])
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/shape.html b/docs/build/html/_modules/sf_tools/image/shape.html deleted file mode 100644 index 9a082dc..0000000 --- a/docs/build/html/_modules/sf_tools/image/shape.html +++ /dev/null @@ -1,660 +0,0 @@ - - - - - - - - - - - sf_tools.image.shape — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.shape
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.shape

    -# -*- coding: utf-8 -*-
    -
    -"""SHAPE ESTIMATION ROUTINES
    -
    -This module contains methods and classes for estimating galaxy shapes.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.4
    -
    -:Date: 20/10/2017
    -
    -Notes
    ------
    -Some of the methods in this module are based on work by Fred Ngole.
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -
    -
    -
    [docs]def ellipticity_atoms(data, offset=0): - r"""Calculate ellipticity - - This method calculates the ellipticity of an image from its shape - projection components. - - Parameters - ---------- - data : np.ndarray - Input data array, the image to be analysed - offset : int, optional - Shape projection offset (default is '0') - - Returns - ------- - np.ndarray of the image ellipticity components - - See Also - -------- - shape_project : shape projection matrix - - Notes - ----- - This technique was developed by Fred Ngole and implements the following - equations: - - - Equations C.1 and C.2 from [NS2016]_ appendix: - - .. math:: - - e_1(\mathbf{X}_i) = \frac{<\mathbf{X}_i, \mathbf{U}_4> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 + - <\mathbf{X}_i, \mathbf{U}_1>^2} - {<\mathbf{X}_i, \mathbf{U}_3> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 - - <\mathbf{X}_i, \mathbf{U}_1>^2 - } - - e_2(\mathbf{X}_i) = \frac{2\left(<\mathbf{X}_i, \mathbf{U}_5> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0> - <\mathbf{X}_i, \mathbf{U}_1>\right)} - {<\mathbf{X}_i, \mathbf{U}_3> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 - - <\mathbf{X}_i, \mathbf{U}_1>^2 - } - - Examples - -------- - >>> from image.shape import ellipticity_atoms - >>> import numpy as np - >>> a = np.zeros((5, 5)) - >>> a[2, 1:4] += 1 - >>> ellipticity_atoms(a) - array([-1., 0.]) - - >>> b = np.zeros((5, 5)) - >>> b[1:4, 2] += 1 - >>> ellipticity_atoms(b) - array([ 1., 0.]) - - """ - - XU = [np.sum(data * U) for U in shape_project(data.shape, offset)] - - divisor = XU[3] * XU[2] - XU[0] ** 2 - XU[1] ** 2 - e1 = (XU[4] * XU[2] - XU[0] ** 2 + XU[1] ** 2) / divisor - e2 = 2 * (XU[5] * XU[2] - XU[0] * XU[1]) / divisor - - return np.array([e1, e2])
    - - -
    [docs]def shape_project(shape, offset=0, return_norm=False): - r"""Shape projection matrix - - This method generates a shape projection matrix for a given image. - - Parameters - ---------- - shape : list, tuple or np.ndarray - List of image dimensions - offset : int, optional - Shape projection offset (default is '0') - return_norm : bool, optional - Option to return l2 normalised shape projection components - (default is 'False') - - Returns - ------- - np.ndarray of shape projection components - - See Also - -------- - ellipticity_atoms : calculate ellipticity - - Notes - ----- - This technique was developed by Fred Ngole and implements the following - equations: - - - Equations from [NS2016]_ appendix: - - .. math:: - - U_1 &= (k)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ - U_2 &= (l)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ - U_3 &= (1)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ - U_4 &= (k^2 + l^2)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ - U_5 &= (k^2 - l^2)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ - U_6 &= (kl)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} - - Examples - -------- - >>> from image.shape import shape_project - >>> shape_project([3, 3]) - array([[[ 0., 0., 0.], - [ 1., 1., 1.], - [ 2., 2., 2.]], - <BLANKLINE> - [[ 0., 1., 2.], - [ 0., 1., 2.], - [ 0., 1., 2.]], - <BLANKLINE> - [[ 1., 1., 1.], - [ 1., 1., 1.], - [ 1., 1., 1.]], - <BLANKLINE> - [[ 0., 1., 4.], - [ 1., 2., 5.], - [ 4., 5., 8.]], - <BLANKLINE> - [[ 0., -1., -4.], - [ 1., 0., -3.], - [ 4., 3., 0.]], - <BLANKLINE> - [[ 0., 0., 0.], - [ 0., 1., 2.], - [ 0., 2., 4.]]]) - - """ - - U = [] - U.append(np.outer(np.arange(shape[0]) + offset, np.ones(shape[1]))) - U.append(np.outer(np.ones(shape[0]), np.arange(shape[1]) + offset)) - U.append(np.ones(shape)) - U.append(U[0] ** 2 + U[1] ** 2) - U.append(U[0] ** 2 - U[1] ** 2) - U.append(U[0] * U[1]) - - if return_norm: - np.array([np.linalg.norm(x, 2) for x in U]) - else: - return np.array(U)
    - - -
    [docs]class Ellipticity(): - """ Image ellipticity class - - This class calculates image ellipticities from quadrupole moments. - - Parameters - ---------- - data : np.ndarray - Input data array, the image to be analysed - sigma : int, optional - Estimation error (default is '1000') - centroid : np.ndarray, optional - Centroid positions [x, y] of the input image (defualt is 'None') - moments : np.ndarray, optional - Quadrupole moments [[q00, q01], [q10, q11]] of the input image - (defualt is 'None') - ellip_type : str {'chi', 'epsilon'}, optional - Ellipticity type (default is 'chi') - - Examples - -------- - >>> from image.shape import Ellipticity - >>> import numpy as np - >>> a = np.zeros((5, 5)) - >>> a[2, 1:4] += 1 - >>> Ellipticity(a).e - array([-1., 0.]) - - >>> b = np.zeros((5, 5)) - >>> b[1:4, 2] += 1 - >>> Ellipticity(b).e - array([ 1., 0.]) - - """ - - def __init__(self, data, sigma=1000, centroid=None, moments=None, - ellip_type='chi'): - - self._data = data - self._sigma = sigma - self._ranges = np.array([np.arange(i) for i in data.shape]) - self._ellip_type = ellip_type - self._check_ellip_type() - - if not isinstance(moments, type(None)): - self.moments = np.array(moments).astype('complex').reshape(2, 2) - self._get_ellipse() - elif isinstance(centroid, type(None)): - self._get_centroid() - else: - self.centroid = centroid - self._update_weights() - self._get_moments() - -
    [docs] def _check_ellip_type(self): - """Check Ellipticity Type - - This method raises an error if ellip_type is not 'chi' or 'epsilon'. - - Raises - ------ - ValueError for invalid ellip_type - - """ - - if self._ellip_type not in ('chi', 'epsilon'): - raise ValueError('Invalid ellip_type, options are "chi" or ' - '"epsilon"')
    - -
    [docs] def _update_xy(self): - """Update the x and y values - - This method updates the values of x and y using the current centroid. - - """ - - self._x = np.outer(self._ranges[0] - self.centroid[0], - np.ones(self._data.shape[1])) - self._y = np.outer(np.ones(self._data.shape[0]), - self._ranges[1] - self.centroid[1])
    - -
    [docs] def _update_weights(self): - """Update the weights - - This method updates the value of the weights using the current values - of x and y. - - Notes - ----- - This method implements the following equations: - - - The exponential part of equation 1 from [BM2007]_ to calculate - the weights: - - .. math:: - - w(x,y) = e^{-\\frac{\\left((x-x_c)^2+(y-y_c)^2\\right)} - {2\\sigma^2}} - - """ - - self._update_xy() - self._weights = np.exp(-(self._x ** 2 + self._y ** 2) / - (2 * self._sigma ** 2))
    - -
    [docs] def _update_centroid(self): - """Update the centroid - - This method updates the centroid value using the current weights. - - Notes - ----- - This method implements the following equations: - - - Equation 2a, 2b and 2c from [BM2007]_ to calculate the position - moments: - - .. math:: - - S_w = \sum_{x,y} I(x,y)w(x,y) - - S_x = \sum_{x,y} xI(x,y)w(x,y) - - S_y = \sum_{x,y} yI(x,y)w(x,y) - - - Equation 3 from [BM2007]_ to calculate the centroid: - - .. math:: - - X_c = S_x/S_w,\\ - Y_c = S_y/S_w - - """ - - # Calculate the position moments. - iw = np.array([np.sum(self._data * self._weights, axis=i) - for i in (1, 0)]) - sw = np.sum(iw, axis=1) - sxy = np.sum(iw * self._ranges, axis=1) - - # Update the centroid value. - self.centroid = sxy / sw
    - -
    [docs] def _get_centroid(self, n_iter=10): - """Calculate centroid - - This method iteratively calculates the centroid of the image. - - Parameters - ---------- - n_iter : int, optional - Number of iterations (deafult is '10') - - """ - - # Set initial value for the weights. - self._weights = np.ones(self._data.shape) - - # Iteratively calculate the centroid. - for i in range(n_iter): - - # Update the centroid value. - self._update_centroid() - - # Update the weights. - self._update_weights() - - # Calculate the quadrupole moments. - self._get_moments()
    - -
    [docs] def _get_moments(self): - """ Calculate the quadrupole moments - - This method calculates the quadrupole moments. - - Notes - ----- - This method implements the following equations: - - - Equation 10 from [C2013]_ to calculate the moments: - - .. math:: - - Q_{ij}=\\frac{\\int\\int\\Phi(x_i,x_j) w(x_i,x_j) - (x_i-\\bar{x_i})(x_j-\\bar{x_j}) dx_idx_j} - {\\int\\int\\Phi(x_i,x_j)w(x_i,x_j)dx_idx_j} - - """ - - # Calculate moments. - q = np.array([np.sum(self._data * self._weights * xi * xj) for xi in - (self._x, self._y) for xj in (self._x, self._y)]) - - self.moments = (q / np.sum(self._data * - self._weights)).reshape(2, 2).astype('complex') - - # Calculate the ellipticities. - self._get_ellipse()
    - -
    [docs] def _get_ellipse(self): - """Calculate the ellipticities - - This method cacluates ellipticities from quadrupole moments. - - Notes - ----- - This method implements the following equations: - - - Equation 11 from [C2013]_ to calculate the size: - - .. math:: R^2 = Q_{00} + Q_{11} - - - Equation 7 from [S2005]_ to calculate the ellipticities: - - .. math:: - - \\chi = \\frac{Q_{00}-Q_{11}+iQ_{01}+iQ_{10}}{R^2} - - \\epsilon = \\frac{Q_{00}-Q_{11}+iQ_{01}+iQ_{10}}{R^2 + - 2\\sqrt{(Q_{00}Q_{11} - Q_{01}Q_{10})}} - - """ - - # Calculate the size. - self.r2 = self.moments[0, 0] + self.moments[1, 1] - - # Calculate the numerator - numerator = (self.moments[0, 0] - self.moments[1, 1] + np.complex(0, - self.moments[0, 1] + self.moments[1, 0])) - - # Calculate the denominator - if self._ellip_type == 'epsilon': - denominator = (self.r2 + 2 * np.sqrt(self.moments[0, 0] * - self.moments[1, 1] - self.moments[0, 1] * - self.moments[1, 0])) - - else: - denominator = self.r2 - - # Calculate the ellipticity - ellip = numerator / denominator - - self.e = np.array([ellip.real, ellip.imag])
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/stamp.html b/docs/build/html/_modules/sf_tools/image/stamp.html deleted file mode 100644 index de4f95d..0000000 --- a/docs/build/html/_modules/sf_tools/image/stamp.html +++ /dev/null @@ -1,530 +0,0 @@ - - - - - - - - - - - sf_tools.image.stamp — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.stamp
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.stamp

    -# -*- coding: utf-8 -*-
    -
    -"""IMAGE STAMP SELECTION ROUTINES
    -
    -This module contains methods for selecting stamps or patches from
    -images.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.0
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import zip
    -import numpy as np
    -from itertools import product
    -from sf_tools.base.np_adjust import pad2d
    -
    -
    -
    [docs]def patch_centres(data_shape, layout): - """Image centres - - This method inds the centres of the patches in a 2D map. - - Parameters - ---------- - data_shape : tuple - Shape of the 2D map - layout : tuple - Layout of the patches - - Returns - ------- - np.ndarray array of patch centres - - """ - - data_size = np.array(data_size) - layout = np.array(layout) - - if data_size.size != 2: - raise ValueError('The the data shape must be of size 2.') - if layout.size != 2: - raise ValueError('The the layout must be of size 2.') - - ranges = np.array(list(product(*np.array([np.arange(x) for x in layout])))) - patch_shape = data_shape // layout - patch_centre = patch_shape // 2 - - return patch_centre + patch_size * ranges
    - - -
    [docs]def postage_stamp(data, pos, pixel_rad): - """Postage stamp - - This metho selects a postage stamp of a given size from a 2D-array. - - Parameters - ---------- - data : np.ndarray - Input data array - pos : tuple - Position of postage stamp centre - pixel_rad : tuple - Pixel radius in each dimension (i.e. size of the stamp from centre) - - Returns - ------- - np.ndarray rearanged matrix of kernel elements - - Notes - ----- - The image edges are padded with zeros. - - """ - - # Check that the input array has two dimensions. - data = np.array(data) - if data.ndim != 2: - raise ValueError('The input array must be 2D.') - - # If the pixel radius size is one repat the value for the 2nd dimension. - pixel_rad = np.array(pixel_rad) - if pixel_rad.size == 1: - pixel_rad = np.repeat(pixel_rad, 2) - if pixel_rad.size not in (1, 2): - raise ValueError('The pixel radius must have a size of 1 or 2.') - - # Check that the array position has a size of two. - pos = np.array(pos) % np.array(data.shape) - if pos.size != 2: - raise ValueError('The array position must have a size of 2.') - - # Check if the pixel radius is within the bounds of the input array. - if (np.any(pixel_rad < 1) or np.any(np.array(data.shape) // 2 - - pixel_rad < 0)): - raise ValueError('The pixel radius values must have a value of at ' - 'least 1 and at most half the size of the input ' - 'array. Array size: ' + str(data.shape)) - - # Return postage stamp. - return pad2d(data, pixel_rad)[[slice(a, a + 2 * b + 1) for a, b in - zip(pos, pixel_rad)]]
    - - -
    [docs]def pixel_pos(array_shape): - """Pixel positions - - This method returns all of the pixel positions from a 2D-array. - - Parameters - ---------- - array_shape : tuple - Shape of array - - Returns - ------- - list of pixel positions - - """ - - ranges = np.array([np.arange(x) for x in np.array(array_shape)]) - - return list(product(*ranges))
    - - -
    [docs]class FetchStamps(object): - """Fetch postage stamps - - This class returns a stack of postage stamps from a given 2D image array. - - Parameters - ---------- - data : np.ndarray - Input 2D data array - pixel_rad : tuple - Pixel radius in each dimension - all : boolean, optional - Option to select all pixels. Default (all=False) - - """ - - def __init__(self, data, pixel_rad, all=False): - self.data = np.array(data) - self.shape = np.array(self.data.shape) - self.pixel_rad = np.array(pixel_rad) - self._check_inputs() - self._pad_data() - if all: - self.n_pixels() - -
    [docs] def _check_inputs(self): - """Check inputs - - This method checks the class variable values. - - Raises - ------ - ValueError - For invalid array dimensions or pixel radius values - - """ - - if self.data.ndim != 2: - raise ValueError('The input array must be 2D.') - if self.pixel_rad.size == 1: - self.pixel_rad = np.repeat(self.pixel_rad, 2) - elif self.pixel_rad.size not in (1, 2): - raise ValueError('The pixel radius must have a size of 1 or 2.')
    - -
    [docs] def _pad_data(self): - """Pad data - - This method pads the input array with zeros. - - """ - - self.pad_data = pad2d(self.data, self.pixel_rad)
    - -
    [docs] def _adjust_pixels(self): - """Adjust pixels - - This method adjusts the pixel positions according to the pixel radius. - - """ - - self.pixels = self.pixels % self.shape + self.pixel_rad
    - -
    [docs] def get_pixels(self, pixels): - """Get pixels - - This method gets the desired pixel positions. - - Parameters - ---------- - pixels : list or np.ndarray - List of pixel positions - - Raises - ------ - ValueError - For invalid number of dimensions for pixel position array - - """ - - self.pixels = np.array(pixels) - if not 1 <= self.pixels.ndim <= 2: - raise ValueError('Invalid number of dimensions for pixels') - elif self.pixels.ndim == 2 and self.pixels.shape[1] != 2: - raise ValueError('The second dimension of pixels must have size 2') - self._adjust_pixels()
    - -
    [docs] def n_pixels(self, n_pixels=None, random=False): - """Number of pixels - - This method selects a specified number of pixel positions. - - Parameters - ---------- - n_pixels : int, optional - Number of pixels to keep. Default (n_pixels=None) - random : bool, optional - Option to select random pixel position - - """ - - self.pixels = pixel_pos(self.shape) - if random: - np.random.shuffle(self.pixels) - self.pixels = self.pixels[:n_pixels] - self._adjust_pixels()
    - -
    [docs] def _stamp(self, pos, func=None, *args): - """Stamp - - This method retrieves a postage stamp from the padded input data at a - given position. - - Parameters - ---------- - pos : tuple - Pixel position in 2D padded array. - func : function, optional - Optional function to be applied to postage stamp. - - Returns - ------- - np.ndarray postage stamp array or result of func - - Raises - ------ - ValueError - For for invalid size of pixel position. - - """ - - pos = np.array(pos) - if pos.size != 2: - raise ValueError('The pixel position must have a size of 2.') - stamp = self.pad_data[[slice(a - b, a + b + 1) for a, b in - zip(pos, self.pixel_rad)]] - if isinstance(func, type(None)): - return stamp - else: - return func(stamp, *args)
    - -
    [docs] def scan(self, func=None, *args, **kwargs): - """Scan stamps - - This method scans the 2D padded input array and retrieves the postage - stamps at all the desired pixel positions. - - Parameters - ---------- - func : function, optional - Optional function to be applied to postage stamps. - - Returns - ------- - np.ndarray postage stamp arrays or results of func - - """ - - if 'arg_type' in kwargs and kwargs['arg_type'] == 'list': - return np.array([self._stamp(pos, func, arg) for pos, arg in - zip(self.pixels, *args)]) - - else: - return np.array([self._stamp(pos, func, *args) for pos in - self.pixels])
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/image/stats.html b/docs/build/html/_modules/sf_tools/image/stats.html deleted file mode 100644 index 3fbf145..0000000 --- a/docs/build/html/_modules/sf_tools/image/stats.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - - - - - - - - sf_tools.image.stats — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.image.stats
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.image.stats

    -# -*- coding: utf-8 -*-
    -
    -"""IMAGE STATISTICS ROUTINES
    -
    -This module contains methods for the statistical analysis of images.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -from sf_tools.base.np_adjust import pad2d
    -
    -
    -
    [docs]class SAT(): - """Summed Area Table - - This class produces a Summed Area Table (SAT) for fast and efficient - statistics on image patches. - - Parameters - ---------- - data : np.ndarray - Input 2D data array - - Notes - ----- - Also know as Itegral Image (i in the class features). - - TODO - ---- - Add equations and citations - - """ - - def __init__(self, data): - - self.x = data - self.x2 = self.x ** 2 - self.i = self.x.cumsum(axis=0).cumsum(axis=1) - self.i2 = self.x2.cumsum(axis=0).cumsum(axis=1) - self.i_pad = pad2d(self.i, 1) - self.i2_pad = pad2d(self.i2, 1) - -
    [docs] def get_area(self, data, corners): - """Get area - - This method calculates the area of a patch. - - Parameters - ---------- - data : np.ndarray - Input 2D data array - corners : tuple - Positions of upper left and bottom right corners. - - Returns - ------- - float area - - """ - - corners = np.array(corners) - corners[1] += 1 - - a = data[zip(corners[0])] - b = data[corners[0, 0], corners[1, 1]] - c = data[corners[1, 0], corners[0, 1]] - d = data[zip(corners[1])] - - return float(a + d - b - c)
    - -
    [docs] def get_npx(self, corners): - """Get number of pixels - - This method calculates the number of pixels in a patch. - - Parameters - ---------- - corners : tuple - Positions of upper left and bottom right corners. - - Returns - ------- - int number of pixels - - """ - - return np.prod(np.diff(corners, axis=0) + 1)
    - -
    [docs] def get_var(self): - """Get variance - - This method calculates the variance and standard deviation of a patch. - - """ - - self.var = (self.area2 - (self.area ** 2 / self.npx)) / self.npx - self.std = np.sqrt(self.var)
    - -
    [docs] def set_patch(self, corners): - """Set patch - - This method sets the corner positions of a single patch. - - Parameters - ---------- - corners : tuple - Positions of upper left and bottom right corners. - - """ - - self.area = self.get_area(self.i_pad, corners) - self.area2 = self.get_area(self.i2_pad, corners) - self.npx = self.get_npx(corners) - self.get_var()
    - -
    [docs] def set_patches(self, corners): - """Set patches - - This method sets the corner positions for multiple patches. - - Parameters - ---------- - corners : list - List of the positions of upper left and bottom right corners. - - """ - - self.area = np.array([self.get_area(self.i_pad, corner) - for corner in corners]) - self.area2 = np.array([self.get_area(self.i2_pad, corner) - for corner in corners]) - self.npx = np.array([self.get_npx(corner) for corner in corners]) - self.get_var()
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/interface/errors.html b/docs/build/html/_modules/sf_tools/interface/errors.html deleted file mode 100644 index 7321b87..0000000 --- a/docs/build/html/_modules/sf_tools/interface/errors.html +++ /dev/null @@ -1,342 +0,0 @@ - - - - - - - - - - - sf_tools.interface.errors — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.interface.errors
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.interface.errors

    -# -*- coding: utf-8 -*-
    -
    -"""ERROR HANDLING ROUTINES
    -
    -This module contains methods for handing warnings and errors.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 23/10/2017
    -
    -"""
    -
    -
    -import sys
    -import os.path
    -import warnings
    -try:
    -    from termcolor import colored
    -except ImportError:
    -    import_fail = True
    -else:
    -    import_fail = False
    -
    -
    -
    [docs]def warn(warn_string, log=None): - """Warning - - This method creates custom warning messages. - - Parameters - ---------- - warn_string : str - Warning message string - log : instance, optional - Logging structure instance - - """ - - if import_fail: - warn_txt = 'WARNING' - else: - warn_txt = colored('WARNING', 'yellow') - - # Print warning to stdout. - sys.stderr.write(warn_txt + ': ' + warn_string + '\n') - - # Check if a logging structure is provided. - if not isinstance(log, type(None)): - warnings.warn(warn_string)
    - - -
    [docs]def catch_error(exception, log=None): - """Catch error - - This method catches errors and prints them to the terminal. It also saves - the errors to a log if provided. - - Parameters - ---------- - exception : str - Exception message string - log : instance, optional - Logging structure instance - - """ - - if import_fail: - err_txt = 'ERROR' - else: - err_txt = colored('ERROR', 'red') - - # Print exception to stdout. - stream_txt = err_txt + ': ' + str(exception) + '\n' - sys.stderr.write(stream_txt) - - # Check if a logging structure is provided. - if not isinstance(log, type(None)): - log_txt = 'ERROR: ' + str(exception) + '\n' - log.exception(log_txt)
    - - -
    [docs]def file_name_error(file_name): - """File name error - - This method checks if the input file name is valid. - - Parameters - ---------- - file_name : str - File name string - - Raises - ------ - IOError - If file name not specified or file not found - - """ - - if file_name == '' or file_name[0][0] == '-': - raise IOError('Input file name not specified.') - - elif not os.path.isfile(file_name): - raise IOError('Input file name [%s] not found!' % file_name)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/interface/log.html b/docs/build/html/_modules/sf_tools/interface/log.html deleted file mode 100644 index ae33271..0000000 --- a/docs/build/html/_modules/sf_tools/interface/log.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - sf_tools.interface.log — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.interface.log
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.interface.log

    -# -*- coding: utf-8 -*-
    -
    -"""LOGGING ROUTINES
    -
    -This module contains methods for handing logging.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import print_function
    -import sys
    -import logging
    -
    -
    -
    [docs]def set_up_log(filename, verbose=True): - """Set up log - - This method sets up a basic log. - - Parameters - ---------- - filename : str - Log file name - - Returns - ------- - logging.Logger instance - - """ - - # Add file extension. - filename += '.log' - - if verbose: - print('Preparing log file:', filename) - - # Capture warnings. - logging.captureWarnings(True) - - # Set output format. - formatter = logging.Formatter(fmt='%(asctime)s %(message)s', - datefmt='%d/%m/%Y %H:%M:%S') - - # Create file handler. - fh = logging.FileHandler(filename=filename, mode='w') - fh.setLevel(logging.DEBUG) - fh.setFormatter(formatter) - - # Create log. - log = logging.getLogger('log') - log.setLevel(logging.DEBUG) - log.addHandler(fh) - - # Send opening message. - log.info('The log file has been set-up.') - - return log
    - - -
    [docs]def close_log(log, verbose=True): - """Close log - - This method closes and active logging.Logger instance. - - Parameters - ---------- - log : logging.Logger - Logging instance - - """ - - if verbose: - print('Closing log') - - # Send closing message. - log.info('The log file has been closed.') - - # Remove all handlers from log. - [log.removeHandler(handler) for handler in log.handlers]
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/math/angle.html b/docs/build/html/_modules/sf_tools/math/angle.html deleted file mode 100644 index c54fbd3..0000000 --- a/docs/build/html/_modules/sf_tools/math/angle.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - sf_tools.math.angle — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -

    Source code for sf_tools.math.angle

    -# -*- coding: utf-8 -*-
    -
    -"""ANGLE HANDLING ROUTINES
    -
    -This module contains methods for handing angles and trigonometry.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -
    -
    -
    [docs]def deg2rad(angle): - r"""Degrees to radians - - This method converts the angle from degrees to radians. - - Parameters - ---------- - angle : float or np.ndarray - Input angle in degrees - - Returns - ------- - float angle in radians or np.ndarray of angles - - Examples - -------- - >>> from sf_tools.math.angle import deg2rad - >>> deg2rad(45.) - 0.7853981633974483 - - Notes - ----- - Implements the following equation: - - .. math:: - \mathrm{radians} = \mathrm{degrees} \times \frac{\pi}{180} - - """ - - return angle * np.pi / 180.0
    - - -
    [docs]def rad2deg(angle): - r"""Radians to degrees - - This method converts the angle from radians to degrees. - - Parameters - ---------- - angle : float or np.ndarray - Input angle in radians - - Returns - ------- - float angle in degrees or np.ndarray of angles - - Examples - -------- - >>> from sf_tools.math.angle import deg2rad - >>> rad2deg(1.) - 57.29577951308232 - - Notes - ----- - Implements the following equation: - - .. math:: - \mathrm{degrees} = \mathrm{radians} \times \frac{180}{\pi} - - """ - - return angle * 180.0 / np.pi
    - - -
    [docs]def ang_sep(point1, point2): - r"""Angular separation - - This method calculates the angular separation in degrees between two - points. - - Parameters - ---------- - point1 : tuple - Angular position of point 1 in degrees - point1 : tuple - Angular position of point 2 in degrees - - Returns - ------- - float angular separation in degrees - - Examples - -------- - >>> from sf_tools.math.angle import ang_sep - >>> ang_sep((30.0, 0.0), (47.0, 10.0)) - 19.647958606833164 - - Notes - ----- - Implements the following equation: - - .. math:: - \theta = \cos^{-1}[\sin(\delta_1)\sin(\delta_2)+ - \cos(\delta_1)\cos(\delta_2)\cos(\alpha_1-\alpha_2)] - - See https://en.wikipedia.org/wiki/Angular_distance - - """ - - dist = np.around(np.sin(deg2rad(point1[1])) * np.sin(deg2rad(point2[1])) + - np.cos(deg2rad(point1[1])) * np.cos(deg2rad(point2[1])) * - np.cos(deg2rad(point1[0]) - deg2rad(point2[0])), 10) - - return rad2deg(np.array(np.arccos(dist)))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/math/integrate.html b/docs/build/html/_modules/sf_tools/math/integrate.html deleted file mode 100644 index 601214a..0000000 --- a/docs/build/html/_modules/sf_tools/math/integrate.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - - - - - - - - sf_tools.math.integrate — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.math.integrate
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.math.integrate

    -# -*- coding: utf-8 -*-
    -
    -"""INTEGRATION ROUTINES
    -
    -This module contains methods for integration.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.0
    -
    -:Date: 03/04/2017
    -
    -"""
    -
    -
    -import numpy as np
    -from scipy.integrate import quad
    -
    -
    -
    [docs]def integrate(func, lim_low, lim_up, *args): - """Integrate - - This method integrates a given function, which has N additional arguments, - between the specified limits. - - Parameters - ---------- - func : function - Function to be integrated - lim_low : float - Lower limit - lim_up : float - Upper limit - - Returns - ------- - Result of the definite integral - - """ - - return quad(func, lim_low, lim_up, args=args)[0]
    - - -
    [docs]def vintegrate(func, lim_low, lim_up, *args): - """Vectorised integration - - This method implements a vectorised version of integrate(). - - Parameters - ---------- - func : function - Function to be integrated - lim_low : float - Lower limit - lim_up : float - Upper limit - - Returns - ------- - Result of the definite integral - - """ - - v_integ = np.vectorize(integrate) - - return v_integ(func, lim_low, lim_up, *args)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/math/matrix.html b/docs/build/html/_modules/sf_tools/math/matrix.html deleted file mode 100644 index 25234fa..0000000 --- a/docs/build/html/_modules/sf_tools/math/matrix.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - - - - - sf_tools.math.matrix — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.math.matrix
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.math.matrix

    -"""MATRIX ROUTINES
    -
    -This module contains methods for matrix operations.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import range, zip
    -import numpy as np
    -from itertools import product
    -
    -
    -
    [docs]def gram_schmidt(matrix, return_opt='orthonormal'): - r"""Gram-Schmit - - This method orthonormalizes the row vectors of the input matrix. - - Parameters - ---------- - matrix : np.ndarray - Input matrix array - return_opt : str {orthonormal, orthogonal, both} - Option to return u, e or both. - - Returns - ------- - Lists of orthogonal vectors, u, and/or orthonormal vectors, e - - TODO - ---- - Add citation and equation - - """ - - u = [] - e = [] - - for vector in matrix: - - if len(u) == 0: - u_now = vector - else: - u_now = vector - sum([project(u_i, vector) for u_i in u]) - - u.append(u_now) - e.append(u_now / np.linalg.norm(u_now, 2)) - - u = np.array(u) - e = np.array(e) - - if return_opt == 'orthonormal': - return e - elif return_opt == 'orthogonal': - return u - else: - return u, e
    - - -
    [docs]def nuclear_norm(data): - """Nuclear norm - - This method computes the nuclear (or trace) norm of the input data. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float nuclear norm value - - TODO - ---- - Add equation - - """ - - # Get SVD of the data. - u, s, v = np.linalg.svd(data) - - # Return nuclear norm. - return np.sum(s)
    - - -
    [docs]def project(u, v): - """Project vector - - This method projects vector v onto vector u. - - Parameters - ---------- - u : np.ndarray - Input vector - v : np.ndarray - Input vector - - Returns - ------- - np.ndarray projection - - TODO - ---- - Add equation - - """ - - return np.inner(v, u) / np.inner(u, u) * u
    - - -
    [docs]def rot_matrix(angle): - """Rotation matrix - - This method produces a 2x2 rotation matrix for the given input angle. - - Parameters - ---------- - angle : float - Rotation angle - - Returns - ------- - np.ndarray 2x2 rotation matrix - - """ - - return np.around(np.array([[np.cos(angle), -np.sin(angle)], - [np.sin(angle), np.cos(angle)]], dtype='float'), 10)
    - - -
    [docs]def rotate(matrix, angle): - """Rotate - - This method rotates an input matrix about the input angle. - - Parameters - ---------- - matrix : np.ndarray - Input matrix array - angle : float - Rotation angle - - Returns - ------- - np.ndarray rotated matrix - - Raises - ------ - ValueError - For invalid matrix shape - - """ - - shape = np.array(matrix.shape) - - if shape[0] != shape[1]: - raise ValueError('Input matrix must be square.') - - shift = (np.array(shape) - 1) // 2 - - index = np.array(list(product(*np.array([np.arange(val) for val in - shape])))) - shift - - new_index = np.array(np.dot(index, rot_matrix(angle)), dtype='int') + shift - new_index[new_index >= shape[0]] -= shape[0] - - return matrix[list(zip(new_index.T))].reshape(shape.T)
    - - -
    [docs]class PowerMethod(object): - """Power method class - - This method performs implements power method to calculate the spectral - radius of the input data - - Parameters - ---------- - operator : class - Operator class instance - data_shape : tuple - Shape of the data array - auto_run : bool - Option to automatically calcualte the spectral radius upon - initialisation - - """ - - def __init__(self, operator, data_shape, auto_run=True): - - self.op = operator - self.data_shape = data_shape - if auto_run: - self.get_spec_rad() - -
    [docs] def set_initial_x(self): - """Set initial value of x - - This method sets the initial value of x to an arrray of random values - - """ - - return np.random.random(self.data_shape)
    - -
    [docs] def get_spec_rad(self, tolerance=1e-6, max_iter=10): - """Get spectral radius - - This method calculates the spectral radius - - Parameters - ---------- - tolerance : float, optional - Tolerance threshold for convergence (default is "1e-6") - max_iter : int, optional - Maximum number of iterations - - """ - - # Set (or reset) values of x. - x_old = self.set_initial_x() - - # Iterate until the L2 norm of x converges. - for i in range(max_iter): - - x_new = self.op(x_old) / np.linalg.norm(x_old) - - if(np.abs(np.linalg.norm(x_new) - np.linalg.norm(x_old)) < - tolerance): - print(' - Power Method converged after %d iterations!' % - (i + 1)) - break - - elif i == max_iter - 1: - print(' - Power Method did not converge after %d ' - 'iterations!' % max_iter) - - np.copyto(x_old, x_new) - - self.spec_rad = np.linalg.norm(x_new) - self.inv_spec_rad = 1.0 / self.spec_rad
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/math/misc.html b/docs/build/html/_modules/sf_tools/math/misc.html deleted file mode 100644 index 4578ada..0000000 --- a/docs/build/html/_modules/sf_tools/math/misc.html +++ /dev/null @@ -1,358 +0,0 @@ - - - - - - - - - - - sf_tools.math.misc — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -

    Source code for sf_tools.math.misc

    -# -*- coding: utf-8 -*-
    -
    -"""MISCELLANOUS MATH ROUTINES
    -
    -This module contains methods for various mathematical operations.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -
    -
    -
    [docs]def factor(n): - """Factors of n - - This method finds factors of a number (n). - - Parameters - ---------- - n : int - Whole number - - Returns - ------- - np.ndarray factors of n - - """ - - factors = set() - - for x in range(1, int(np.sqrt(n)) + 1): - if n % x == 0: - factors.add(x) - factors.add(n // x) - - return np.array(sorted(factors))
    - - -
    [docs]def mfactor(n): - """Middle factors of n - - This method finds the middle factor(s) of a number (n). - - Parameters - ---------- - n : int - Whole number - - Returns - ------- - np.ndarray middle factors of n - - """ - - f = factor(n) - - if f.size % 2: - return np.repeat(f[f.size // 2], 2) - - else: - return f[f.size // 2 - 1:f.size // 2 + 1]
    - - -
    [docs]def k_val(n, L): - """Spatial frequency - - This method returns k-values in the range L. - - Parameters - ---------- - n : float - Number - limit : float - Limit - - Returns - ------- - float k value - - TODO - ---- - Add equation and example - - """ - - return ((2.0 * np.pi / limit) * np.array(range(n / 2.0) + - range(-n / 2.0, 0.0)))
    - - -
    [docs]def fourier_derivative(func, k, order): - """Fourier derivative - - This method returns the derivative of the specified function to the given - order. - - Parameters - ---------- - func : function - Function - k : float - k-value - order : int - Oder of derivative - - Returns - ------- - Float derivative - - TODO - ---- - Add equation and example - - """ - - return np.real(np.fft.ifft((1.j * k) ** order * np.fft.fft(func)))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/math/stats.html b/docs/build/html/_modules/sf_tools/math/stats.html deleted file mode 100644 index 1ab6fdb..0000000 --- a/docs/build/html/_modules/sf_tools/math/stats.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - - - - - - sf_tools.math.stats — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -

    Source code for sf_tools.math.stats

    -# -*- coding: utf-8 -*-
    -
    -"""STATISTICS ROUTINES
    -
    -This module contains methods for basic statistics.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import zip
    -import numpy as np
    -from scipy.stats import chi2
    -from astropy.convolution import Gaussian2DKernel
    -
    -
    -
    [docs]def chi2_gof(data_obs, data_exp, sigma, ddof=1): - """Chi-squared goodness-of-fit - - This method tests the chi^2 goodness of fit. - - Parameters - ---------- - data_obs : np.ndarray - Observed data array - data_exp : np.ndarray - Expected data array - sigma : float - Expected data error - ddof : input - Delta degrees of freedom. Default (ddof = 1). - - Returns - ------- - tuple of floats chi-squared and P values - - """ - - chi2 = np.sum(((data_obs - data_exp) / sigma) ** 2) - p_val = chi2.cdf(chi2, len(data_obs) - ddof) - - return chi2, p_val
    - - -
    [docs]def gaussian(point, mean, sigma, amplitude=None): - """Gaussian distribution - - Method under development... - - """ - - if isinstance(amplitude, type(None)): - amplitude = 1 - - val = np.array([((x - mu) / sig) ** 2 for x, mu, sig in - zip(point, mean, sigma)]) - - return amplitude * np.exp(-0.5 * val)
    - - -
    [docs]def gaussian_kernel(data_shape, sigma, norm='max'): - """Gaussian kernel - - This method produces a Gaussian kerenal of a specified size and dispersion - - Parameters - ---------- - data_shape : tuple - Desiered shape of the kernel - sigma : float - Standard deviation of the kernel - norm : str {'max', 'sum'}, optional - Normalisation of the kerenl (options are 'max' or 'sum') - - Returns - ------- - np.ndarray kernel - - """ - - kernel = np.array(Gaussian2DKernel(sigma, x_size=data_shape[1], - y_size=data_shape[0])) - - if norm is 'max': - return kernel / np.max(kernel) - - elif norm is 'sum': - return kernel / np.sum(kernel) - - else: - return kernel
    - - -
    [docs]def mad(data): - r"""Median absolute deviation - - This method calculates the median absolute deviation of the input data. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float MAD value - - Notes - ----- - The MAD is calculated as follows: - - .. math:: - - \mathrm{MAD} = \mathrm{median}\left(|X_i - \mathrm{median}(X)|\right) - - """ - - return np.median(np.abs(data - np.median(data)))
    - - -
    [docs]def mse(data1, data2): - """Mean Squared Error - - This method returns the Mean Squared Error (MSE) between two data sets. - - Parameters - ---------- - data1 : np.ndarray - First data set - data2 : np.ndarray - Second data set - - """ - - return np.mean((data1 - data2) ** 2)
    - - -
    [docs]def psnr2(image, noisy_image, max_pix=255): - r"""Peak Signal-to-Noise Ratio - - This method calculates the PSNR between an image and a noisy version - of that image - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - noisy_image : np.ndarray - Noisy image, 2D array - max_pix : int - Maximum number of pixels. Default (max_pix=255) - - Returns - ------- - float PSNR value - - Notes - ----- - Implements PSNR equation on - https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio - - .. math:: - - \mathrm{PSNR} = 20\log_{10}(\mathrm{MAX}_I - 10\log_{10}(\mathrm{MSE})) - - """ - - return (20 * np.log10(max_pix) - 10 * - np.log10(mse(image, noisy_image)))
    - - -
    [docs]def psnr(image, recovered_image): - """Peak Signal-to-Noise Ratio - - This method calculates the PSNR between an image and the recovered version - of that image - - Parameters - ---------- - image : np.ndarray - Input image, 2D array - recovered_image : np.ndarray - Recovered image, 2D array - - Returns - ------- - float PSNR value - - Notes - ----- - Implements eq.3.7 from _[S2010] - - """ - - return (20 * np.log10((image.shape[0] * np.abs(np.max(image) - - np.min(image))) / np.linalg.norm(image - recovered_image)))
    - - -
    [docs]def psnr_stack(images, recoverd_images, metric=np.mean): - """Peak Signa-to-Noise for stack of images - - This method calculates the PSNRs for a stack of images and the - corresponding recovered images. By default the metod returns the mean - value of the PSNRs, but any other metric can be used. - - Parameters - ---------- - images : np.ndarray - Stack of images, 3D array - recovered_images : np.ndarray - Stack of recovered images, 3D array - metric : function - The desired metric to be applied to the PSNR values (default is - 'np.mean') - - Returns - ------- - float metric result of PSNR values - - Raises - ------ - ValueError - For invalid input data dimensions - - """ - - if images.ndim != 3 or recoverd_images.ndim != 3: - raise ValueError('Input data must be a 3D np.ndarray') - - return metric([psnr(i, j) for i, j in zip(images, recoverd_images)])
    - - -
    [docs]def sigma_mad(data): - r"""Standard deviation from MAD - - This method calculates the standard deviation of the input data from the - MAD. - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - float sigma value - - Notes - ----- - This function can be used for estimating the standeviation of the noise in - imgaes. - - Sigma is calculated as follows: - - .. math:: - - \sigma = 1.4826 \mathrm{MAD}(X) - - """ - - return 1.4826 * mad(data)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/plot/cost_plot.html b/docs/build/html/_modules/sf_tools/plot/cost_plot.html deleted file mode 100644 index 248a910..0000000 --- a/docs/build/html/_modules/sf_tools/plot/cost_plot.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - - - - sf_tools.plot.cost_plot — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.plot.cost_plot
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.plot.cost_plot

    -# -*- coding: utf-8 -*-
    -
    -"""PLOTTING ROUTINES
    -
    -This module contains methods for making plots.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 05/01/2017
    -
    -"""
    -
    -from __future__ import print_function
    -import numpy as np
    -import matplotlib.pyplot as plt
    -
    -
    -
    [docs]def plotCost(cost_list, output=None): - """Plot cost function - - Plot the final cost function - - Parameters - ---------- - cost_list : list - List of cost function values - output : str, optional - Output file name - - """ - - if isinstance(output, type(None)): - file_name = 'cost_function.png' - else: - file_name = output + '_cost_function.png' - - plt.figure() - plt.plot(np.log10(cost_list), 'r-') - plt.title('Cost Function') - plt.xlabel('Iteration') - plt.ylabel('$\log_{10}$ Cost') - plt.savefig(file_name) - plt.close() - - print(' - Saving cost function data to:', file_name)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/cost.html b/docs/build/html/_modules/sf_tools/signal/cost.html deleted file mode 100644 index 37dcdf5..0000000 --- a/docs/build/html/_modules/sf_tools/signal/cost.html +++ /dev/null @@ -1,397 +0,0 @@ - - - - - - - - - - - sf_tools.signal.cost — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.cost
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.cost

    -# -*- coding: utf-8 -*-
    -
    -"""COST FUNCTIONS
    -
    -This module contains classes of different cost functions for optimization.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 2.2
    -
    -:Date: 23/10/2017
    -
    -"""
    -
    -from __future__ import division, print_function
    -import numpy as np
    -try:
    -    from sf_tools.plot.cost_plot import plotCost
    -except ImportError:
    -    import_fail = True
    -else:
    -    import_fail = False
    -
    -
    -
    [docs]class costObj(object): - - """Generic cost function object - - This class updates the cost according to the input cost functio class and - tests for convergence - - Parameters - ---------- - costFunc : class - Class for calculating the cost - initial_cost : float, optional - Initial value of the cost (default is "1e6") - tolerance : float, optional - Tolerance threshold for convergence (default is "1e-4") - cost_interval : int, optional - Iteration interval to calculate cost (default is "1") - test_range : int, optional - Number of cost values to be used in test (default is "4") - verbose : bool, optional - Option for verbose output (default is "True") - plot_output : str, optional - Output file name for cost function plot - - Notes - ----- - The costFunc class must contain a method called `calc_cost()`. - - """ - - def __init__(self, costFunc, initial_cost=1e6, tolerance=1e-4, - cost_interval=1, test_range=4, verbose=True, - plot_output=None): - - if not hasattr(costFunc, 'calc_cost'): - raise ValueError('costFunc must contain "calc_cost" method.') - - self.costFunc = costFunc - self.cost = initial_cost - self._cost_list = [] - self._cost_interval = cost_interval - self._iteration = 1 - self._test_list = [] - self._test_range = test_range - self._tolerance = tolerance - self._plot_output = plot_output - self._verbose = verbose - -
    [docs] def _check_cost(self): - """Check cost function - - This method tests the cost function for convergence in the specified - interval of iterations using the last n (test_range) cost values - - Returns - ------- - bool result of the convergence test - - """ - - # Add current cost value to the test list - self._test_list.append(self.cost) - - # Check if enough cost values have been collected - if len(self._test_list) == self._test_range: - - # The mean of the first half of the test list - t1 = np.mean(self._test_list[len(self._test_list) // 2:], axis=0) - # The mean of the second half of the test list - t2 = np.mean(self._test_list[:len(self._test_list) // 2], axis=0) - # Calculate the change across the test list - cost_diff = (np.linalg.norm(t1 - t2) / np.linalg.norm(t1)) - # Reset the test list - self._test_list = [] - - if self._verbose: - print(' - CONVERGENCE TEST - ') - print(' - CHANGE IN COST:', cost_diff) - print('') - - # Check for convergence - return cost_diff <= self._tolerance - - else: - - return False
    - -
    [docs] def get_cost(self, *args, **kwargs): - """Get cost function - - This method calculates the current cost and tests for convergence - - Returns - ------- - bool result of the convergence test - - """ - - # Check if the cost should be calculated - if self._iteration % self._cost_interval: - - test_result = False - - else: - - if self._verbose: - print(' - ITERATION:', self._iteration) - - # Calculate the current cost - self.cost = self.costFunc.calc_cost(*args, **kwargs) - self._cost_list.append(self.cost) - - if self._verbose: - print(' - Log10 COST:', np.log10(self.cost)) - print('') - - # Test for convergence - test_result = self._check_cost() - - # Update the current iteration number - self._iteration += 1 - - return test_result
    - -
    [docs] def plot_cost(self): - """Plot the cost function - - This method plots the cost function as function of iteration number - - """ - - if import_fail: - pass - - else: - plotCost(self._cost_list, self._plot_output)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/filter.html b/docs/build/html/_modules/sf_tools/signal/filter.html deleted file mode 100644 index d4cac42..0000000 --- a/docs/build/html/_modules/sf_tools/signal/filter.html +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - - - - - - sf_tools.signal.filter — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.filter
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.filter

    -# -*- coding: utf-8 -*-
    -
    -"""FILTER ROUTINES
    -
    -This module contains methods for distance measurements in cosmology.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.1
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -from sf_tools.base.types import check_float
    -
    -
    -
    [docs]def Gaussian_filter(x, sigma, norm=True): - """Gaussian filter - - This method implements a Gaussian filter. - - Parameters - ---------- - x : float - Input data point - sigma : float - Standard deviation (filter scale) - norm : bool - Option to return normalised data. Default (norm=True) - - Returns - ------- - float Gaussian filtered data point - - """ - - x = check_float(x) - sigma = check_float(sigma) - - val = np.exp(-0.5 * (x / sigma) ** 2) - - if norm: - return val / (np.sqrt(2 * np.pi) * sigma) - - else: - return val
    - - -
    [docs]def mex_hat(x, sigma): - """Mexican hat - - This method implements a Mexican hat (or Ricker) wavelet. - - Parameters - ---------- - x : float - Input data point - sigma : float - Standard deviation (filter scale) - - Returns - ------- - float Mexican hat filtered data point - - """ - - x = check_float(x) - sigma = check_float(sigma) - - xs = (x / sigma) ** 2 - val = 2 * (3 * sigma) ** -0.5 * np.pi ** -0.25 - - return val * (1 - xs) * np.exp(-0.5 * xs)
    - - -
    [docs]def mex_hat_dir(x, y, sigma): - """Directional Mexican hat - - This method implements a directional Mexican hat (or Ricker) wavelet. - - Parameters - ---------- - x : float - Input data point for Gaussian - y : float - Input data point for Mexican hat - sigma : float - Standard deviation (filter scale) - - Returns - ------- - float directional Mexican hat filtered data point - - """ - - return -0.5 * (x / sigma) ** 2 * mex_hat(y, sigma)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/gradient.html b/docs/build/html/_modules/sf_tools/signal/gradient.html deleted file mode 100644 index 72cf51d..0000000 --- a/docs/build/html/_modules/sf_tools/signal/gradient.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - - - - sf_tools.signal.gradient — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.gradient
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.gradient

    -# -*- coding: utf-8 -*-
    -
    -"""GRADIENT CLASSES
    -
    -This module contains classses for defining algorithm gradients.
    -Based on work by Yinghao Ge and Fred Ngole.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.3
    -
    -:Date: 19/07/2017
    -
    -"""
    -
    -
    -
    [docs]class GradBasic(object): - """Basic gradient class - - This class defines the basic methods that will be inherited by specific - gradient classes - - """ - -
    [docs] def MtMX(self, x): - """M^T M X - - This method calculates the action of the transpose of the matrix M on - the action of the matrix M on the data X - - Parameters - ---------- - x : np.ndarray - Input data array - - Returns - ------- - np.ndarray result - - Notes - ----- - Calculates M^T (MX) - - """ - - return self.MtX(self.MX(x))
    - -
    [docs] def get_grad(self, x): - """Get the gradient step - - This method calculates the gradient step from the input data - - Parameters - ---------- - x : np.ndarray - Input data array - - Returns - ------- - np.ndarray gradient value - - Notes - ----- - - Calculates M^T (MX - Y) - - """ - - self.grad = self.MtX(self.MX(x) - self.y)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/linear.html b/docs/build/html/_modules/sf_tools/signal/linear.html deleted file mode 100644 index 8d7e36c..0000000 --- a/docs/build/html/_modules/sf_tools/signal/linear.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - - sf_tools.signal.linear — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.linear
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.linear

    -# -*- coding: utf-8 -*-
    -
    -"""LINEAR OPERATORS
    -
    -This module contains linear operator classes.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.3
    -
    -:Date: 19/07/2017
    -
    -"""
    -
    -from builtins import range, zip
    -import numpy as np
    -from sf_tools.signal.wavelet import *
    -from sf_tools.math.matrix import rotate
    -
    -
    -
    [docs]class Identity(object): - """Identity operator class - - This is a dummy class that can be used in the optimisation classes - - """ - - def __init__(self): - - self.l1norm = 1.0 - -
    [docs] def op(self, data, **kwargs): - """Operator - - Returns the input data unchanged - - Parameters - ---------- - data : np.ndarray - Input data array - **kwargs - Arbitrary keyword arguments - - Returns - ------- - np.ndarray input data - - """ - - return data
    - -
    [docs] def adj_op(self, data): - """Adjoint operator - - Returns the input data unchanged - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray input data - - """ - - return data
    - - -
    [docs]class Wavelet(object): - """Wavelet class - - This class defines the wavelet transform operators - - Parameters - ---------- - data : np.ndarray - Input data array, normally an array of 2D images - wavelet_opt: str, optional - Additional options for `mr_transform` - - """ - - def __init__(self, data, wavelet_opt=None): - - self.y = data - self.data_shape = data.shape[-2:] - n = data.shape[0] - - self.filters = get_mr_filters(self.data_shape, opt=wavelet_opt) - self.l1norm = n * np.sqrt(sum((np.sum(np.abs(filter)) ** 2 for - filter in self.filters))) - -
    [docs] def op(self, data): - """Operator - - This method returns the input data convolved with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data array, a 2D image - - Returns - ------- - np.ndarray wavelet convolved data - - """ - - return filter_convolve_stack(data, self.filters)
    - -
    [docs] def adj_op(self, data): - """Adjoint operator - - This method returns the input data convolved with the wavelet filters - rotated by 180 degrees - - Parameters - ---------- - data : np.ndarray - Input data array, a 3D of wavelet coefficients - - Returns - ------- - np.ndarray wavelet convolved data - - """ - - return filter_convolve_stack(data, self.filters, filter_rot=True)
    - - -
    [docs]class LinearCombo(object): - """Linear combination class - - This class defines a combination of linear transform operators - - Parameters - ---------- - operators : list - List of linear operator class instances - weights : list, optional - List of weights for combining the linear adjoint operator results - - """ - - def __init__(self, operators, weights=None): - - self.operators = operators - self.weights = weights - self.l1norm = np.array([operator.l1norm for operator in - self.operators]) - -
    [docs] def op(self, data): - """Operator - - This method returns the input data operated on by all of the operators - - Parameters - ---------- - data : np.ndarray - Input data array, a 2D image - - Returns - ------- - np.ndarray linear operation results - - """ - - res = np.empty(len(self.operators), dtype=np.ndarray) - - for i in range(len(self.operators)): - res[i] = self.operators[i].op(data) - - return res
    - -
    [docs] def adj_op(self, data): - """Adjoint operator - - This method returns the combination of the result of all of the - adjoint operators. If weights are provided the comibination is the sum - of the weighted results, otherwise the combination is the mean. - - Parameters - ---------- - data : np.ndarray - Input data array, an array of coefficients - - Returns - ------- - np.ndarray adjoint operation results - - """ - - if isinstance(self.weights, type(None)): - - return np.mean([operator.adj_op(x) for x, operator in - zip(data, self.operators)], axis=0) - - else: - - return np.sum([weight * operator.adj_op(x) for x, operator, - weight in zip(data, self.operators, weights)], - axis=0)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/noise.html b/docs/build/html/_modules/sf_tools/signal/noise.html deleted file mode 100644 index 79db50c..0000000 --- a/docs/build/html/_modules/sf_tools/signal/noise.html +++ /dev/null @@ -1,413 +0,0 @@ - - - - - - - - - - - sf_tools.signal.noise — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.noise
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.noise

    -# -*- coding: utf-8 -*-
    -
    -"""NOISE ROUTINES
    -
    -This module contains methods for adding and removing noise from data.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 04/01/2017
    -
    -"""
    -
    -from builtins import zip
    -import numpy as np
    -
    -
    -
    [docs]def add_noise(data, sigma=1.0, noise_type='gauss'): - r"""Add noise to data - - This method adds Gaussian or Poisson noise to the input data - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - sigma : float or list, optional - Standard deviation of the noise to be added ('gauss' only) - noise_type : str {'gauss', 'poisson'} - Type of noise to be added (default is 'gauss') - - Returns - ------- - np.ndarray input data with added noise - - Raises - ------ - ValueError - If `noise_type` is not 'gauss' or 'poisson' - ValueError - If number of `sigma` values does not match the first dimension of the - input data - - Examples - -------- - >>> import numpy as np - >>> from sf_tools.signal.noise import add_noise - >>> x = np.arange(9).reshape(3, 3).astype(float) - >>> x - array([[ 0., 1., 2.], - [ 3., 4., 5.], - [ 6., 7., 8.]]) - >>> np.random.seed(1) - >>> add_noise(x, noise_type='poisson') - array([[ 0., 2., 2.], - [ 4., 5., 10.], - [ 11., 15., 18.]]) - - >>> import numpy as np - >>> from sf_tools.signal.noise import add_noise - >>> x = np.zeros(5) - >>> x - array([ 0., 0., 0., 0., 0.]) - >>> np.random.seed(1) - >>> add_noise(x, sigma=2.0) - array([ 3.24869073, -1.22351283, -1.0563435 , -2.14593724, 1.73081526]) - - """ - - data = np.array(data) - - if noise_type not in ('gauss', 'poisson'): - raise ValueError('Invalid noise type. Options are "gauss" or' - '"poisson"') - - if isinstance(sigma, (list, np.ndarray)): - if len(sigma) != data.shape[0]: - raise ValueError('Number of sigma values must match first ' - 'dimension of input data') - - if noise_type is 'gauss': - random = np.random.randn(*data.shape) - - elif noise_type is 'poisson': - random = np.random.poisson(np.abs(data)) - - if isinstance(sigma, float): - return data + sigma * random - - else: - return data + np.array([s * r for s, r in zip(sigma, random)])
    - - -
    [docs]def thresh(data, threshold, threshold_type='hard'): - r"""Threshold data - - This method perfoms hard or soft thresholding on the input data - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - threshold : float - Threshold level - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - If `threshold_type` is not 'hard' or 'soft' - - - Notes - ----- - Implements one of the following two equations: - - * Hard Threshold - .. math:: - \mathrm{HT}_\lambda(x) = - \begin{cases} - x & \text{if } |x|\geq\lambda \\ - 0 & \text{otherwise} - \end{cases} - - * Soft Threshold - .. math:: - \mathrm{ST}_\lambda(x) = - \begin{cases} - x-\lambda\text{sign}(x) & \text{if } |x|\geq\lambda \\ - 0 & \text{otherwise} - \end{cases} - - Examples - -------- - >>> import numpy as np - >>> from sf_tools.signal.noise import thresh - >>> np.random.seed(1) - >>> x = np.random.randint(-9, 9, 10) - >>> x - array([-4, 2, 3, -1, 0, 2, -4, 6, -9, 7]) - >>> thresh(x, 4) - array([-4, 0, 0, 0, 0, 0, -4, 6, -9, 7]) - - >>> import numpy as np - >>> from sf_tools.signal.noise import thresh - >>> np.random.seed(1) - >>> x = np.random.ranf((3, 3)) - >>> x - array([[ 4.17022005e-01, 7.20324493e-01, 1.14374817e-04], - [ 3.02332573e-01, 1.46755891e-01, 9.23385948e-02], - [ 1.86260211e-01, 3.45560727e-01, 3.96767474e-01]]) - >>> thresh(x, 0.2, threshold_type='soft') - array([[ 0.217022 , 0.52032449, -0. ], - [ 0.10233257, -0. , -0. ], - [-0. , 0.14556073, 0.19676747]]) - - """ - - data = np.array(data) - - if threshold_type not in ('hard', 'soft'): - raise ValueError('Invalid threshold type. Options are "hard" or' - '"soft"') - - if threshold_type == 'soft': - return (np.sign(data) * (np.abs(data) - threshold) * - (np.abs(data) >= threshold)) - - else: - return data * (np.abs(data) >= threshold)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/optimisation.html b/docs/build/html/_modules/sf_tools/signal/optimisation.html deleted file mode 100644 index d5466bb..0000000 --- a/docs/build/html/_modules/sf_tools/signal/optimisation.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - - - - - sf_tools.signal.optimisation — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.optimisation
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.optimisation

    -# -*- coding: utf-8 -*-
    -
    -r"""OPTIMISATION CLASSES
    -
    -This module contains classes for optimisation algoritms.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.3
    -
    -:Date: 20/10/2017
    -
    -NOTES
    ------
    -
    -Input classes must have the following properties:
    -
    -    * **Gradient Operators**
    -
    -    Must have the following methods:
    -
    -        * ``get_grad()`` - calculate the gradient
    -
    -    Must have the following variables:
    -
    -        * ``grad`` - the gradient
    -        * ``inv_spec_rad`` - inverse spectral radius :math:`\frac{1}{\rho}`
    -
    -    * **Linear Operators**
    -
    -    Must have the following methods:
    -
    -        * ``op()`` - operator
    -        * ``adj_op()`` - adjoint operator
    -
    -    Must have the following variables:
    -
    -        * ``l1norm`` - the l1 norm of the operator
    -
    -    * **Proximity Operators**
    -
    -    Must have the following methods:
    -
    -        * ``op()`` - operator
    -
    -The following notation is used to implement the algorithms:
    -
    -    * x_old is used in place of :math:`x_{n}`.
    -    * x_new is used in place of :math:`x_{n+1}`.
    -    * x_prox is used in place of :math:`\tilde{x}_{n+1}`.
    -    * x_temp is used for intermediate operations.
    -
    -"""
    -
    -from __future__ import division, print_function
    -from builtins import range, zip
    -import numpy as np
    -
    -
    -
    [docs]class FISTA(object): - r"""FISTA - - This class is inhereited by optimisation classes to speed up convergence - - Parameters - ---------- - lambda_init : float, optional - Initial value of the relaxation parameter - active : bool, optional - Option to activate FISTA convergence speed-up (default is ``True``) - - """ - - def __init__(self, lambda_init=None, active=True): - - self.lambda_now = lambda_init - self.t_now = 1.0 - self.t_prev = 1.0 - self.use_speed_up = active - -
    [docs] def speed_switch(self, turn_on=True): - r"""Speed swicth - - This method turns on or off the speed-up - - Parameters - ---------- - turn_on : bool - Option to turn on speed-up (default is ``True``) - - """ - - self.use_speed_up = turn_on
    - -
    [docs] def update_lambda(self): - r"""Update lambda - - This method updates the value of lambda - - Notes - ----- - Implements steps 3 and 4 from algoritm 10.7 in [B2011]_ - - """ - - self.t_prev = self.t_now - self.t_now = (1 + np.sqrt(4 * self.t_prev ** 2 + 1)) * 0.5 - self.lambda_now = 1 + (self.t_prev - 1) / self.t_now
    - -
    [docs] def speed_up(self): - r"""speed-up - - This method returns the update if the speed-up is active - - """ - - if self.use_speed_up: - self.update_lambda()
    - - -
    [docs]class ForwardBackward(FISTA): - r"""Forward-Backward optimisation - - This class implements standard forward-backward optimisation with an the - option to use the FISTA speed-up - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - grad : class - Gradient operator class - prox : class - Proximity operator class - cost : class, optional - Cost function class - lambda_init : float, optional - Initial value of the relaxation parameter - lambda_update : function, optional - Relaxation parameter update method - use_fista : bool, optional - Option to use FISTA (default is ``True``) - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, grad, prox, cost=None, lambda_init=None, - lambda_update=None, use_fista=True, auto_iterate=True): - - FISTA.__init__(self, lambda_init, use_fista) - self.x_old = x - self.z_old = np.copy(self.x_old) - self.grad = grad - self.prox = prox - self.cost_func = cost - self.lambda_update = lambda_update - self.converge = False - if auto_iterate: - self.iterate() - -
    [docs] def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements algorithm 10.7 (or 10.5) from [B2011]_ - - """ - - # Step 1 from alg.10.7. - self.grad.get_grad(self.z_old) - y_old = self.z_old - self.grad.inv_spec_rad * self.grad.grad - - # Step 2 from alg.10.7. - self.x_new = self.prox.op(y_old) - - # Steps 3 and 4 from alg.10.7. - self.speed_up() - - # Step 5 from alg.10.7. - self.z_new = self.x_old + self.lambda_now * (self.x_new - self.x_old) - - # Test primal variable for convergence. - if np.sum(np.abs(self.z_old - self.z_new)) <= 1e-6: - print(' - converged!') - self.converge = True - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - np.copyto(self.z_old, self.z_new) - - # Update parameter values for next iteration. - if not isinstance(self.lambda_update, type(None)): - self.lambda_now = self.lambda_update(self.lambda_now) - - # Test cost function for convergence. - if not isinstance(self.cost_func, type(None)): - self.converge = self.cost_func.get_cost(self.z_new)
    - -
    [docs] def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.z_new
    - - -
    [docs]class GenForwardBackward(object): - r"""Generalized Forward-Backward optimisation - - This class implements algorithm 1 from [R2012]_ - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - grad : class - Gradient operator class - prox_list : list - List of proximity operator classes - cost : class, optional - Cost function class - lambda_init : float, optional - Initial value of the relaxation parameter - lambda_update : function, optional - Relaxation parameter update method - weights : np.ndarray, optional - Proximity operator weights - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, grad, prox_list, cost=None, lambda_init=1.0, - lambda_update=None, weights=None, auto_iterate=True): - - self.x_old = x - self.grad = grad - self.prox_list = np.array(prox_list) - self.cost_func = cost - self.lambda_init = lambda_init - self.lambda_update = lambda_update - - if isinstance(weights, type(None)): - self.weights = np.repeat(1.0 / self.prox_list.size, - self.prox_list.size) - else: - self.weights = np.array(weights) - - # Check weights. - if np.sum(self.weights) != 1.0: - raise ValueError('Proximity operator weights must sum to 1.0.' - 'Current sum of weights = ' + - str(np.sum(self.weights))) - - self.z = np.array([self.x_old for i in range(self.prox_list.size)]) - - self.converge = False - if auto_iterate: - self.iterate() - -
    [docs] def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements algorithm 1 from [R2012]_ - - """ - - # Calculate gradient for current iteration. - self.grad.get_grad(self.x_old) - - # Update z values. - for i in range(self.prox_list.size): - z_temp = (2 * self.x_old - self.z[i] - self.grad.inv_spec_rad * - self.grad.grad) - z_prox = self.prox_list[i].op(z_temp, - extra_factor=self.grad.inv_spec_rad / - self.weights[i]) - self.z[i] += self.lambda_init * (z_prox - self.x_old) - - # Update current reconstruction. - self.x_new = np.sum((z_i * w_i for z_i, w_i in - zip(self.z, self.weights)), axis=0) - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - - # Update parameter values for next iteration. - if not isinstance(self.lambda_update, type(None)): - self.lambda_now = self.lambda_update(self.lambda_now) - - # Test cost function for convergence. - if not isinstance(self.cost_func, type(None)): - self.converge = self.cost_func.get_cost(self.x_new)
    - -
    [docs] def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.x_new
    - - -
    [docs]class Condat(object): - r"""Condat optimisation - - This class implements algorithm 10.7 from [Con2013]_ - - Parameters - ---------- - x : np.ndarray - Initial guess for the primal variable - y : np.ndarray - Initial guess for the dual variable - grad : class - Gradient operator class - prox : class - Proximity primal operator class - prox_dual : class - Proximity dual operator class - linear : class - Linear operator class - cost : class - Cost function class - rho : float - Relaxation parameter - sigma : float - Proximal dual parameter - tau : float - Proximal primal paramater - rho_update : function, optional - Relaxation parameter update method - sigma_update : function, optional - Proximal dual parameter update method - tau_update : function, optional - Proximal primal parameter update method - auto_iterate : bool, optional - Option to automatically begin iterations upon initialisation (default - is 'True') - - """ - - def __init__(self, x, y, grad, prox, prox_dual, linear, cost, - rho, sigma, tau, rho_update=None, sigma_update=None, - tau_update=None, auto_iterate=True): - - self.x_old = x - self.y_old = y - self.grad = grad - self.prox = prox - self.prox_dual = prox_dual - self.linear = linear - self.cost_func = cost - self.rho = rho - self.sigma = sigma - self.tau = tau - self.rho_update = rho_update - self.sigma_update = sigma_update - self.tau_update = tau_update - self.converge = False - if auto_iterate: - self.iterate() - -
    [docs] def update_param(self): - r"""Update parameters - - This method updates the values of ``rho``, ``sigma`` and ``tau`` with - the methods provided - - """ - - # Update relaxation parameter. - if not isinstance(self.rho_update, type(None)): - self.rho = self.rho_update(self.rho) - - # Update proximal dual parameter. - if not isinstance(self.sigma_update, type(None)): - self.sigma = self.sigma_update(self.sigma) - - # Update proximal primal parameter. - if not isinstance(self.tau_update, type(None)): - self.tau = self.tau_update(self.tau)
    - -
    [docs] def update(self): - r"""Update - - This method updates the current reconstruction - - Notes - ----- - Implements equation 9 (algorithm 3.1) from [Con2013]_ - - - primal proximity operator set up for positivity constraint - - """ - - # Step 1 from eq.9. - self.grad.get_grad(self.x_old) - - x_prox = self.prox.op(self.x_old - self.tau * self.grad.grad - - self.tau * self.linear.adj_op(self.y_old)) - - # Step 2 from eq.9. - y_temp = (self.y_old + self.sigma * - self.linear.op(2 * x_prox - self.x_old)) - - y_prox = (y_temp - self.sigma * self.prox_dual.op(y_temp / self.sigma, - extra_factor=(1.0 / self.sigma))) - - # Step 3 from eq.9. - self.x_new = self.rho * x_prox + (1 - self.rho) * self.x_old - self.y_new = self.rho * y_prox + (1 - self.rho) * self.y_old - - del x_prox, y_prox, y_temp - - # Update old values for next iteration. - np.copyto(self.x_old, self.x_new) - np.copyto(self.y_old, self.y_new) - - # Update parameter values for next iteration. - self.update_param() - - # Test cost function for convergence. - self.converge = self.cost_func.get_cost(self.x_new)
    - -
    [docs] def iterate(self, max_iter=150): - r"""Iterate - - This method calls update until either convergence criteria is met or - the maximum number of iterations is reached - - Parameters - ---------- - max_iter : int, optional - Maximum number of iterations (default is ``150``) - - """ - - for i in range(max_iter): - self.update() - - if self.converge: - print(' - Converged!') - break - - self.x_final = self.x_new - self.y_final = self.y_new
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/positivity.html b/docs/build/html/_modules/sf_tools/signal/positivity.html deleted file mode 100644 index 1074772..0000000 --- a/docs/build/html/_modules/sf_tools/signal/positivity.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - sf_tools.signal.positivity — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.positivity
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.positivity

    -# -*- coding: utf-8 -*-
    -
    -"""POSITIVITY
    -
    -This module contains a function that retains only positive coefficients in
    -an array
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.0
    -
    -:Date: 26/07/2017
    -
    -"""
    -
    -import numpy as np
    -
    -
    -
    [docs]def positive(data): - """Positivity operator - - This method preserves only the positive coefficients of the input data, all - negative coefficients are set to zero - - Parameters - ---------- - data : np.ndarray, list or tuple - Input data array - - Returns - ------- - np.ndarray array with only positive coefficients - - """ - - def pos_recursive(data): - - data = np.array(data) - - if not data.dtype == 'O': - - result = list(data * (data > 0)) - - else: - - result = [pos_recursive(x) for x in data] - - return result - - return np.array(pos_recursive(data))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/proximity.html b/docs/build/html/_modules/sf_tools/signal/proximity.html deleted file mode 100644 index e6d0f16..0000000 --- a/docs/build/html/_modules/sf_tools/signal/proximity.html +++ /dev/null @@ -1,512 +0,0 @@ - - - - - - - - - - - sf_tools.signal.proximity — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.proximity
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.proximity

    -# -*- coding: utf-8 -*-
    -
    -"""PROXIMITY OPERATORS
    -
    -This module contains classes of proximity operators for optimisation
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.3
    -
    -:Date: 19/07/2017
    -
    -"""
    -
    -from builtins import range
    -import numpy as np
    -from sf_tools.signal.noise import thresh
    -from sf_tools.signal.svd import svd_thresh, svd_thresh_coef
    -from sf_tools.signal.optimisation import ForwardBackward
    -from sf_tools.signal.positivity import positive
    -from sf_tools.base.transform import *
    -
    -
    -
    [docs]class Positive(object): - """Positivity proximity operator - - This class defines the positivity proximity operator - - """ - - def __init__(self): - pass - -
    [docs] def op(self, data, **kwargs): - """Operator - - This method preserves only the positive coefficients of the input data - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray all positive elements from input data - - """ - - return positive(data)
    - - -
    [docs]class Threshold(object): - """Threshold proximity operator - - This class defines the threshold proximity operator - - Parameters - ---------- - weights : np.ndarray - Input array of weights - thresh_type : str {'hard', 'soft'}, optional - Threshold type (default is 'soft') - - """ - - def __init__(self, weights, thresh_type='soft'): - - self.weights = weights - self.thresh_type = thresh_type - -
    [docs] def op(self, data, extra_factor=1.0): - """Operator - - This method returns the input data thresholded by the weights - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray thresholded data - - """ - - threshold = self.weights * extra_factor - - return thresh(data, threshold, self.thresh_type)
    - - -
    [docs]class LowRankMatrix(object): - """Low-rank proximity operator - - This class defines the low-rank proximity operator - - Parameters - ---------- - thresh : float - Threshold value - treshold_type : str {'hard', 'soft'} - Threshold type (options are 'hard' or 'soft') - lowr_type : str {'standard', 'ngole'} - Low-rank implementation (options are 'standard' or 'ngole') - operator : class - Operator class ('ngole' only) - - """ - - def __init__(self, thresh, thresh_type='soft', - lowr_type='standard', operator=None): - - self.thresh = thresh - self.thresh_type = thresh_type - self.lowr_type = lowr_type - self.operator = operator - -
    [docs] def op(self, data, extra_factor=1.0): - """Operator - - This method returns the input data after the singular values have been - thresholded - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray SVD thresholded data - - """ - - # Update threshold with extra factor. - threshold = self.thresh * extra_factor - - if self.lowr_type == 'standard': - data_matrix = svd_thresh(cube2matrix(data), threshold, - thresh_type=self.thresh_type) - - elif self.lowr_type == 'ngole': - data_matrix = svd_thresh_coef(data, self.operator, - threshold, - thresh_type=self.thresh_type) - - new_data = matrix2cube(data_matrix, data.shape[1:]) - - # Return updated data. - return new_data
    - - -
    [docs]class ProximityCombo(object): - """Proximity Combo - - This class defines a combined proximity operator - - Parameters - ---------- - operators : list - List of proximity operator class instances - - """ - - def __init__(self, operators): - - self.operators = operators - -
    [docs] def op(self, data, extra_factor=1.0): - """Operator - - This method returns the result of applying all of the proximity - operators to the data - - Parameters - ---------- - data : np.ndarray - Input data array - extra_factor : float - Additional multiplication factor - - Returns - ------- - np.ndarray result - - """ - - res = np.empty(len(self.operators), dtype=np.ndarray) - - for i in range(len(self.operators)): - res[i] = self.operators[i].op(data[i], extra_factor=extra_factor) - - return res
    - - -
    [docs]class SubIter(object): - """Sub iteration operator - - This class defines the sub-iteration proximity operator - - Parameters - ---------- - data_shape : tuple - Shape of input data array - operator : class - Proximity operator class - weights : np.ndarray - Array of weights - u_init : np.ndarray - Initial estimate of u - - """ - - def __init__(self, data_shape, operator, weights=None, u_init=None): - - self.operator = operator - - if not isinstance(weights, type(None)): - self.weights = weights - - if isinstance(u_init, type(None)): - self.u = np.ones(data_shape) - - self.opt = ForwardBackward(self.u, self.operator, - Threshold(self.weights), auto_iterate=False, - indent_level=2) - -
    [docs] def update_weights(self, weights): - """Update weights - - This method updates the values of the weights - - Parameters - ---------- - weights : np.ndarray - Array of weights - - """ - - self.weights = weights
    - -
    [docs] def update_u(self): - """Update u - - This method updates the values of u - - """ - - self.opt.iterate(100) - self.u = self.opt.x_final
    - -
    [docs] def op(self, data): - """Operator - - Parameters - ---------- - data : np.ndarray - Input data array - - Returns - ------- - np.ndarray result - - """ - - self.update_u() - - new_data = data - self.operator.adj_op(self.u) - - return new_data
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/regression.html b/docs/build/html/_modules/sf_tools/signal/regression.html deleted file mode 100644 index b7e6969..0000000 --- a/docs/build/html/_modules/sf_tools/signal/regression.html +++ /dev/null @@ -1,432 +0,0 @@ - - - - - - - - - - - sf_tools.signal.regression — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.regression
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.regression

    -# -*- coding: utf-8 -*-
    -
    -"""REGRESSION ROUTINES
    -
    -This module contains methods for linear regression.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.0
    -
    -:Date: 04/04/2017
    -
    -"""
    -
    -from builtins import zip
    -import numpy as np
    -from scipy.odr import *
    -
    -
    -
    [docs]def linear_fit(B, x): - r"""Linear fit - - This method defines the equation of a straight line. - - Parameters - ---------- - B : tuple - Slope (m) and intercept (b) of the line. - x : list or np.ndarray - The 1D data vector - - Returns - ------- - np.ndarray 1D array of corresponding y values - - NOTES - ----- - This equation of a stright line is given by - - .. math:: - - y = mx + b - - """ - - return B[0] * np.array(x) + B[1]
    - - -
    [docs]def polynomial(x, a): - r"""Polynomial - - This method defines the equation of a polynomial line. - - Parameters - ---------- - x : list or np.ndarray - The 1D data vector - a : list or np.ndarray - The 1D polynomial coefficient vector - - Returns - ------- - np.ndarray 1D array of corresponding y values - - NOTES - ----- - This equation of a stright line is given by - - .. math:: - - y = a_0 + a_1x + a_2x^2 + \dots + a_kx^k - - """ - - a = np.array(a) - x = np.array(x) - - return sum([(a_i * x ** n) for a_i, n in zip(a, range(a.size))])
    - - -
    [docs]def polynomial_fit(x, y, k=1): - """Polynomial fit - - This method finds the coefficients for a polynomial line fit to the input - data using least squares. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - y : list or np.ndarray - The 1D dependent data vector - k : int, optional - Number of degrees of freedom. Default (k=1) - - Returns - ------- - np.ndarray 1D array of coefficients a - - """ - - y = np.array(y) - - return least_squares(x_matrix(x, k), y)
    - - -
    [docs]def least_squares(X, y): - """Least squares - - This method performs an analytical least squares regression. Returns the - values of the coefficients, a, given the input matrix X and the - corresponding y values. - - Parameters - ---------- - X : np.ndarray - The 2D independent data matrix. - y : np.ndarray - The 1D dependent data vector - - Returns - ------- - np.ndarray 1D array of coefficients a - - Raises - ------ - ValueError - If inputs are not numpy arrays - - ToDo - ---- - Add equation and example - - """ - - if not np.all([isinstance(i, np.ndarray) for i in (X, y)]): - raise ValueError('Inputs must be numpy arrays.') - - return np.dot(np.dot(np.linalg.inv(np.dot(X.T, X)), X.T), y)
    - - -
    [docs]def x_matrix(x, k): - """Define X matrix - - This method defines the matrix X for a given vector x corresponding to a - polynomial with k degrees of freedom. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - k : int - Number of degrees of freedom - - Returns - ------- - np.ndarray the 2D independent variable matrix X - - """ - - x = np.array(x) - - return np.vstack([x ** n for n in range(k + 1)]).T
    - - -
    [docs]def fit_odr(x, y, xerr, yerr, fit): - """Fit via ODR - - This method performs an orthogonal distance regression fit. - - Parameters - ---------- - x : list or np.ndarray - The 1D independent data vector - y : list or np.ndarray - The 1D dependent data vector - x_err : list or np.ndarray - 1D data vector of x value errors - y_err : list or np.ndarray - 1D data vector of y value errors - fit : function - Fitting function - - Returns - ------- - tuple best fit parameters - - """ - - model = Model(fit) - r_data = RealData(x, y, sx=xerr, sy=yerr) - odr = ODR(r_data, model, beta0=[1.0, 2.0]) - odr_out = odr.run() - - return odr_out.beta
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/reweight.html b/docs/build/html/_modules/sf_tools/signal/reweight.html deleted file mode 100644 index eebefd8..0000000 --- a/docs/build/html/_modules/sf_tools/signal/reweight.html +++ /dev/null @@ -1,293 +0,0 @@ - - - - - - - - - - - sf_tools.signal.reweight — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.reweight
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.reweight

    -# -*- coding: utf-8 -*-
    -
    -"""REWEIGHTING CLASSES
    -
    -This module contains classes for reweighting optimisation implementations
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.3
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -import numpy as np
    -
    -
    -
    [docs]class cwbReweight(object): - r"""Candes, Wakin and Boyd reweighting class - - This class implements the reweighting scheme described in [CWB2007]_ - - Parameters - ---------- - weights : np.ndarray - Array of weights - thresh_factor : float - Threshold factor - - """ - - def __init__(self, weights, thresh_factor=1): - - self.weights = weights - self.original_weights = np.copy(self.weights) - self.thresh_factor = thresh_factor - -
    [docs] def reweight(self, data): - r"""Reweight - - This method implements the reweighting from section 4 in [CWB2007]_ - - Notes - ----- - - Reweighting implemented as: - - .. math:: - - w = w \left( \frac{1}{1 + \frac{|x^w|}{n \sigma}} \right) - - """ - - self.weights *= (1.0 / (1.0 + np.abs(data) / (self.thresh_factor * - self.original_weights)))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/svd.html b/docs/build/html/_modules/sf_tools/signal/svd.html deleted file mode 100644 index 9c67c33..0000000 --- a/docs/build/html/_modules/sf_tools/signal/svd.html +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - sf_tools.signal.svd — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.svd

    -# -*- coding: utf-8 -*-
    -
    -"""SVD ROUTINES
    -
    -This module contains methods for thresholding singular values.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import zip
    -import numpy as np
    -from scipy.linalg import svd, diagsvd
    -from sf_tools.image.convolve import convolve
    -from sf_tools.signal.noise import thresh
    -from sf_tools.base.transform import cube2matrix, matrix2cube
    -from sf_tools.interface.errors import warn
    -
    -
    -
    [docs]def find_n_pc(u, factor=0.5): - """Find number of principal components - - This method finds the minimum number of principal components required - - Parameters - ---------- - u : np.ndarray - Left singular vector - factor : float, optional - Factor for testing the auto correlation (default is '0.5') - - Returns - ------- - int number of principal components - - """ - - # Get the shape of the galaxy images. - gal_shape = np.repeat(np.int(np.sqrt(u.shape[0])), 2) - - # Find the auto correlation of the left singular vector. - u_auto = [convolve(a.reshape(gal_shape), np.rot90(a.reshape(gal_shape), 2)) - for a in u.T] - - # Return the required number of principal components. - return np.sum(((a[list(zip(gal_shape // 2))] ** 2 <= factor * - np.sum(a ** 2)) for a in u_auto))
    - - -
    [docs]def svd_thresh(data, threshold=None, n_pc=None, thresh_type='hard'): - """Threshold the singular values - - This method thresholds the input data using singular value decomposition - - Parameters - ---------- - data : np.ndarray - Input data array - threshold : float, optional - Threshold value - n_pc : int or str, optional - Number of principal components, specify an integer value or 'all' - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - For invalid string entry for n_pc - - """ - - if isinstance(n_pc, str) and n_pc != 'all': - raise ValueError('Invalid value for "n_pc", specify an integer value ' - 'or "all"') - - # Get SVD of input data. - u, s, v = svd(data, check_finite=False, lapack_driver='gesvd') - - # Find the threshold if not provided. - if isinstance(threshold, type(None)): - - # Find the required number of principal components if not specified. - if isinstance(n_pc, type(None)): - n_pc = find_n_pc(u, factor=0.1) - - # If the number of PCs is too large use all of the singular values. - if n_pc >= s.size or n_pc == 'all': - n_pc = s.size - 1 - warn('Using all singular values.') - - threshold = s[n_pc] - - # Remove noise from singular values. - s_new = thresh(s, threshold, thresh_type) - - if np.all(s_new == s): - warn('No change to singular values.') - - # Reshape the singular values to the shape of the input image. - s_new = diagsvd(s_new, *data.shape) - - # Return the thresholded image. - return np.dot(u, np.dot(s_new, v))
    - - -
    [docs]def svd_thresh_coef(data, operator, threshold, thresh_type='hard'): - """Threshold the singular values coefficients - - This method thresholds the input data using singular value decomposition - - Parameters - ---------- - data : np.ndarray - Input data array - operator : class - Operator class instance - threshold : float, optional - Threshold value - threshold_type : str {'hard', 'soft'} - Type of noise to be added (default is 'hard') - - Returns - ------- - np.ndarray thresholded data - - Raises - ------ - ValueError - For invalid string entry for n_pc - - """ - - # Convert data cube to matrix. - data_matrix = cube2matrix(data) - - # Get SVD of data matrix. - u, s, v = np.linalg.svd(data_matrix, full_matrices=False) - - # Compute coefficients. - a = np.dot(np.diag(s), v) - - # Compute threshold matrix. - u_cube = matrix2cube(u, data.shape[1:]) - ti = np.array([np.linalg.norm(x) for x in operator(u_cube)]) - ti = np.repeat(ti, a.shape[1]).reshape(a.shape) - threshold *= ti - - # Remove noise from coefficients. - a_new = thresh(a, threshold, thresh_type) - - # Return the thresholded image. - return np.dot(u, a_new)
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_modules/sf_tools/signal/validation.html b/docs/build/html/_modules/sf_tools/signal/validation.html deleted file mode 100644 index d93e260..0000000 --- a/docs/build/html/_modules/sf_tools/signal/validation.html +++ /dev/null @@ -1,295 +0,0 @@ - - - - - - - - - - - sf_tools.signal.validation — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Module code »
    • - -
    • sf_tools.signal.validation
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - -

    Source code for sf_tools.signal.validation

    -"""VALIDATION ROUTINES
    -
    -This module contains methods for testing signal and operator properties.
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 06/12/2017
    -
    -"""
    -
    -from __future__ import print_function
    -import numpy as np
    -
    -
    -
    [docs]def transpose_test(operator, operator_t, x_shape, x_args, y_shape=None, - y_args=None): - """Transpose test - - This method tests two operators to see if they are the transpose of each - other. - - Parameters - ---------- - operator : function - Operator function - operator_t : function - Transpose operator function - x_shape : tuple - Shape of operator input data - x_args : tuple - Arguments to be passed to operator - y_shape : tuple, optional - Shape of transpose operator input data - y_args : tuple, optional - Arguments to be passed to transpose operator - - """ - - if isinstance(y_shape, type(None)): - y_shape = x_shape - - if isinstance(y_args, type(None)): - y_args = x_args - - # Generate random arrays. - x = np.random.ranf(x_shape) - y = np.random.ranf(y_shape) - - # Calculate <MX, Y> - mx_y = np.sum(np.multiply(operator(x, *x_args), y)) - - # Calculate <X, M.TY> - x_mty = np.sum(np.multiply(x, operator_t(y, *y_args))) - - # Test the difference between the two. - print(' - |<MX, Y> - <X, M.TY>| =', np.abs(mx_y - x_mty))
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

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

    Source code for sf_tools.signal.wavelet

    -# -*- coding: utf-8 -*-
    -
    -"""WAVELET MODULE
    -
    -This module contains methods for performing wavelet transformations using iSAP
    -
    -:Author: Samuel Farrens <samuel.farrens@gmail.com>
    -
    -:Version: 1.2
    -
    -:Date: 20/10/2017
    -
    -"""
    -
    -from __future__ import division
    -from builtins import zip
    -import numpy as np
    -from os import remove
    -from subprocess import check_call
    -from datetime import datetime
    -from astropy.io import fits
    -from sf_tools.image.convolve import convolve
    -from sf_tools.base.np_adjust import rotate_stack
    -
    -
    -
    [docs]def call_mr_transform(data, opt=None, path='./', remove_files=True): - """Call mr_transform - - This method calls the iSAP module mr_transform - - Parameters - ---------- - data : np.ndarray - Input data, 2D array - opt : list, optional - List of additonal mr_transform options - path : str, optional - Path for output files (default is './') - remove_files : bool, optional - Option to remove output files (default is 'True') - - Returns - ------- - np.ndarray results of transform - - """ - - # Create a unique string using the current date and time. - unique_string = datetime.now().strftime('%Y.%m.%d_%H.%M.%S') - - # Set the ouput file names. - file_name = path + 'mr_temp_' + unique_string - file_fits = file_name + '.fits' - file_mr = file_name + '.mr' - - # Write the input data to a fits file. - fits.writeto(file_fits, data) - - # Call mr_transform. - if isinstance(opt, type(None)): - check_call(['mr_transform', file_fits, file_mr]) - else: - check_call(['mr_transform'] + opt + [file_fits, file_mr]) - - # Retrieve wavelet transformed data. - result = fits.getdata(file_mr) - - # Return the mr_transform results (and the output file names). - if remove_files: - remove(file_fits) - remove(file_mr) - return result - else: - return result, file_mr
    - - -
    [docs]def get_mr_filters(data_shape, opt=None, coarse=False): - """Get mr_transform filters - - This method obtains wavelet filters by calling mr_transform - - Parameters - ---------- - data_shape : tuple - 2D data shape - opt : list, optional - List of additonal mr_transform options - coarse : bool, optional - Option to keep coarse scale (default is 'False') - - Returns - ------- - np.ndarray 3D array of wavelet filters - - """ - - # Adjust the shape of the input data. - data_shape = np.array(data_shape) - data_shape += data_shape % 2 - 1 - - # Create fake data. - fake_data = np.zeros(data_shape) - fake_data[list(zip(data_shape // 2))] = 1 - - # Call mr_transform. - mr_filters = call_mr_transform(fake_data, opt=opt) - - # Return filters - if coarse: - return mr_filters - else: - return mr_filters[:-1]
    - - -
    [docs]def filter_convolve(data, filters, filter_rot=False): - """Filter convolve - - This method convolves the input image with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data, 2D array - filters : np.ndarray - Wavelet filters, 3D array - filter_rot : bool, optional - Option to rotate wavelet filters (default is 'False') - - Returns - ------- - np.ndarray convolved data - - """ - - if filter_rot: - return np.sum((convolve(coef, f) for coef, f in - zip(data, rotate_stack(filters))), axis=0) - - else: - return np.array([convolve(data, f) for f in filters])
    - - -
    [docs]def filter_convolve_stack(data, filters, filter_rot=False): - """Filter convolve - - This method convolves the a stack of input images with the wavelet filters - - Parameters - ---------- - data : np.ndarray - Input data, 3D array - filters : np.ndarray - Wavelet filters, 3D array - filter_rot : bool, optional - Option to rotate wavelet filters (default is 'False') - - Returns - ------- - np.ndarray convolved data - - """ - - # Return the convolved data cube. - return np.array([filter_convolve(x, filters, filter_rot=filter_rot) - for x in data])
    -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_sources/examples.rst.txt b/docs/build/html/_sources/examples.rst.txt deleted file mode 100644 index d623e26..0000000 --- a/docs/build/html/_sources/examples.rst.txt +++ /dev/null @@ -1,4 +0,0 @@ -sf_tools Examples -================= - -Coming soon! diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt deleted file mode 100644 index f210ad1..0000000 --- a/docs/build/html/_sources/index.rst.txt +++ /dev/null @@ -1,122 +0,0 @@ -.. sf_tools documentation master file, created by - sphinx-quickstart on Mon Oct 24 16:46:22 2016. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -SF_TOOLS Documentation -====================== - -:Author: Samuel Farrens - -:Version: 1.0.1 - -:Date: 25/10/2017 - -SF_TOOLS is a series of Python 2.7 modules with applications to image analysis, -signal processing and statistics. - -Contents -======== - -1. `Dependencies`_ - - 1. `Required Packages`_ - 2. `Optional Packages`_ - -2. `Installation`_ - -3. `Package Contents`_ - -Dependencies -============ - -Required Packages ------------------ - -In order to run the code in this repository the following packages must be -installed: - -* |link-to-python| [Tested with v 2.7.11 and 3.6.3] - -* |link-to-numpy| [Tested with v 1.13.3] - -* |link-to-scipy| [Tested with v 0.18.1] - -* |link-to-future| [Tested with v 0.16.0] - -* |link-to-astropy| [Tested with v 1.3] - -.. |link-to-python| raw:: html - - Python - -.. |link-to-numpy| raw:: html - - Numpy - -.. |link-to-scipy| raw:: html - - Scipy - -.. |link-to-future| raw:: html - - Future - -.. |link-to-astropy| raw:: html - - Astropy - -Optional Packages ------------------ - -The following packages can optionally be installed to add extra functionality: - -* |link-to-matplotlib| [Tested with v 2.0.2] - -* |link-to-termcolor| [Tested with v 1.1.0] - -.. |link-to-matplotlib| raw:: html - - Matplotlib - -.. |link-to-termcolor| raw:: html - - Termcolor - -Installation -============ - -To clone the sf_tools repository from GitHub run the following command: - -.. code-block:: bash - - $ git clone https://github.com/sfarrens/sf_tools - -To install using `easy_install` run the following command: - -.. code-block:: bash - - $ easy_install sf_tools - -To install using `pip` run the following command: - -.. code-block:: bash - - $ pip install sf_tools - -Package Contents -================ - -.. toctree:: - :numbered: - :maxdepth: 3 - - examples - sf_tools diff --git a/docs/build/html/_sources/modules.rst.txt b/docs/build/html/_sources/modules.rst.txt deleted file mode 100644 index f69bd2b..0000000 --- a/docs/build/html/_sources/modules.rst.txt +++ /dev/null @@ -1,8 +0,0 @@ -sf_tools -======== - -.. toctree:: - :maxdepth: 4 - - setup - sf_tools diff --git a/docs/build/html/_sources/setup.rst.txt b/docs/build/html/_sources/setup.rst.txt deleted file mode 100644 index 31789b1..0000000 --- a/docs/build/html/_sources/setup.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -setup module -============ - -.. automodule:: setup - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.base.np_adjust.rst.txt b/docs/build/html/_sources/sf_tools.base.np_adjust.rst.txt deleted file mode 100644 index 66d73bc..0000000 --- a/docs/build/html/_sources/sf_tools.base.np_adjust.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.np\_adjust module -================================== - -.. automodule:: sf_tools.base.np_adjust - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.base.rst.txt b/docs/build/html/_sources/sf_tools.base.rst.txt deleted file mode 100644 index aaf37f3..0000000 --- a/docs/build/html/_sources/sf_tools.base.rst.txt +++ /dev/null @@ -1,19 +0,0 @@ -sf\_tools\.base package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.base.np_adjust - sf_tools.base.transform - sf_tools.base.types - -Module contents ---------------- - -.. automodule:: sf_tools.base - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.base.transform.rst.txt b/docs/build/html/_sources/sf_tools.base.transform.rst.txt deleted file mode 100644 index ec5f1f3..0000000 --- a/docs/build/html/_sources/sf_tools.base.transform.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.transform module -================================= - -.. automodule:: sf_tools.base.transform - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.base.types.rst.txt b/docs/build/html/_sources/sf_tools.base.types.rst.txt deleted file mode 100644 index 770a9e3..0000000 --- a/docs/build/html/_sources/sf_tools.base.types.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.types module -============================= - -.. automodule:: sf_tools.base.types - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.convolve.rst.txt b/docs/build/html/_sources/sf_tools.image.convolve.rst.txt deleted file mode 100644 index 73d9c72..0000000 --- a/docs/build/html/_sources/sf_tools.image.convolve.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.convolve module -================================= - -.. automodule:: sf_tools.image.convolve - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.distort.rst.txt b/docs/build/html/_sources/sf_tools.image.distort.rst.txt deleted file mode 100644 index 3c2aa36..0000000 --- a/docs/build/html/_sources/sf_tools.image.distort.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.distort module -================================ - -.. automodule:: sf_tools.image.distort - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.quality.rst.txt b/docs/build/html/_sources/sf_tools.image.quality.rst.txt deleted file mode 100644 index 6219c53..0000000 --- a/docs/build/html/_sources/sf_tools.image.quality.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.quality module -================================ - -.. automodule:: sf_tools.image.quality - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.rst.txt b/docs/build/html/_sources/sf_tools.image.rst.txt deleted file mode 100644 index e283833..0000000 --- a/docs/build/html/_sources/sf_tools.image.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -sf\_tools\.image package -======================== - -Submodules ----------- - -.. toctree:: - - sf_tools.image.convolve - sf_tools.image.distort - sf_tools.image.quality - sf_tools.image.shape - sf_tools.image.stamp - sf_tools.image.stats - -Module contents ---------------- - -.. automodule:: sf_tools.image - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.shape.rst.txt b/docs/build/html/_sources/sf_tools.image.shape.rst.txt deleted file mode 100644 index e426acf..0000000 --- a/docs/build/html/_sources/sf_tools.image.shape.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.shape module -============================== - -.. automodule:: sf_tools.image.shape - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.stamp.rst.txt b/docs/build/html/_sources/sf_tools.image.stamp.rst.txt deleted file mode 100644 index 646ffba..0000000 --- a/docs/build/html/_sources/sf_tools.image.stamp.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.stamp module -============================== - -.. automodule:: sf_tools.image.stamp - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.image.stats.rst.txt b/docs/build/html/_sources/sf_tools.image.stats.rst.txt deleted file mode 100644 index 64ea1cf..0000000 --- a/docs/build/html/_sources/sf_tools.image.stats.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.stats module -============================== - -.. automodule:: sf_tools.image.stats - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.interface.errors.rst.txt b/docs/build/html/_sources/sf_tools.interface.errors.rst.txt deleted file mode 100644 index 55fff77..0000000 --- a/docs/build/html/_sources/sf_tools.interface.errors.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.interface\.errors module -=================================== - -.. automodule:: sf_tools.interface.errors - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.interface.log.rst.txt b/docs/build/html/_sources/sf_tools.interface.log.rst.txt deleted file mode 100644 index afcbb0d..0000000 --- a/docs/build/html/_sources/sf_tools.interface.log.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.interface\.log module -================================ - -.. automodule:: sf_tools.interface.log - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.interface.rst.txt b/docs/build/html/_sources/sf_tools.interface.rst.txt deleted file mode 100644 index 4f55993..0000000 --- a/docs/build/html/_sources/sf_tools.interface.rst.txt +++ /dev/null @@ -1,18 +0,0 @@ -sf\_tools\.interface package -============================ - -Submodules ----------- - -.. toctree:: - - sf_tools.interface.errors - sf_tools.interface.log - -Module contents ---------------- - -.. automodule:: sf_tools.interface - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.angle.rst.txt b/docs/build/html/_sources/sf_tools.math.angle.rst.txt deleted file mode 100644 index 405930b..0000000 --- a/docs/build/html/_sources/sf_tools.math.angle.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.angle module -============================= - -.. automodule:: sf_tools.math.angle - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.integrate.rst.txt b/docs/build/html/_sources/sf_tools.math.integrate.rst.txt deleted file mode 100644 index 527fadc..0000000 --- a/docs/build/html/_sources/sf_tools.math.integrate.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.integrate module -================================= - -.. automodule:: sf_tools.math.integrate - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.matrix.rst.txt b/docs/build/html/_sources/sf_tools.math.matrix.rst.txt deleted file mode 100644 index 3a34404..0000000 --- a/docs/build/html/_sources/sf_tools.math.matrix.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.matrix module -============================== - -.. automodule:: sf_tools.math.matrix - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.misc.rst.txt b/docs/build/html/_sources/sf_tools.math.misc.rst.txt deleted file mode 100644 index b1a541d..0000000 --- a/docs/build/html/_sources/sf_tools.math.misc.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.misc module -============================ - -.. automodule:: sf_tools.math.misc - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.rst.txt b/docs/build/html/_sources/sf_tools.math.rst.txt deleted file mode 100644 index 0ddf616..0000000 --- a/docs/build/html/_sources/sf_tools.math.rst.txt +++ /dev/null @@ -1,21 +0,0 @@ -sf\_tools\.math package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.math.angle - sf_tools.math.integrate - sf_tools.math.matrix - sf_tools.math.misc - sf_tools.math.stats - -Module contents ---------------- - -.. automodule:: sf_tools.math - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.math.stats.rst.txt b/docs/build/html/_sources/sf_tools.math.stats.rst.txt deleted file mode 100644 index 6263488..0000000 --- a/docs/build/html/_sources/sf_tools.math.stats.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.stats module -============================= - -.. automodule:: sf_tools.math.stats - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.plot.cost_plot.rst.txt b/docs/build/html/_sources/sf_tools.plot.cost_plot.rst.txt deleted file mode 100644 index f634444..0000000 --- a/docs/build/html/_sources/sf_tools.plot.cost_plot.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.plot\.cost\_plot module -================================== - -.. automodule:: sf_tools.plot.cost_plot - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.plot.rst.txt b/docs/build/html/_sources/sf_tools.plot.rst.txt deleted file mode 100644 index 63a26e9..0000000 --- a/docs/build/html/_sources/sf_tools.plot.rst.txt +++ /dev/null @@ -1,17 +0,0 @@ -sf\_tools\.plot package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.plot.cost_plot - -Module contents ---------------- - -.. automodule:: sf_tools.plot - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.rst.txt b/docs/build/html/_sources/sf_tools.rst.txt deleted file mode 100644 index 782f6f2..0000000 --- a/docs/build/html/_sources/sf_tools.rst.txt +++ /dev/null @@ -1,22 +0,0 @@ -sf\_tools package -================= - -Subpackages ------------ - -.. toctree:: - - sf_tools.base - sf_tools.image - sf_tools.interface - sf_tools.math - sf_tools.plot - sf_tools.signal - -Module contents ---------------- - -.. automodule:: sf_tools - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.cost.rst.txt b/docs/build/html/_sources/sf_tools.signal.cost.rst.txt deleted file mode 100644 index bcf75b8..0000000 --- a/docs/build/html/_sources/sf_tools.signal.cost.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.cost module -============================== - -.. automodule:: sf_tools.signal.cost - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.filter.rst.txt b/docs/build/html/_sources/sf_tools.signal.filter.rst.txt deleted file mode 100644 index c24084d..0000000 --- a/docs/build/html/_sources/sf_tools.signal.filter.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.filter module -================================ - -.. automodule:: sf_tools.signal.filter - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.gradient.rst.txt b/docs/build/html/_sources/sf_tools.signal.gradient.rst.txt deleted file mode 100644 index 521794d..0000000 --- a/docs/build/html/_sources/sf_tools.signal.gradient.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.gradient module -================================== - -.. automodule:: sf_tools.signal.gradient - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.linear.rst.txt b/docs/build/html/_sources/sf_tools.signal.linear.rst.txt deleted file mode 100644 index 48dc126..0000000 --- a/docs/build/html/_sources/sf_tools.signal.linear.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.linear module -================================ - -.. automodule:: sf_tools.signal.linear - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.noise.rst.txt b/docs/build/html/_sources/sf_tools.signal.noise.rst.txt deleted file mode 100644 index d0f6215..0000000 --- a/docs/build/html/_sources/sf_tools.signal.noise.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.noise module -=============================== - -.. automodule:: sf_tools.signal.noise - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.optimisation.rst.txt b/docs/build/html/_sources/sf_tools.signal.optimisation.rst.txt deleted file mode 100644 index 6d9c60b..0000000 --- a/docs/build/html/_sources/sf_tools.signal.optimisation.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.optimisation module -====================================== - -.. automodule:: sf_tools.signal.optimisation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.positivity.rst.txt b/docs/build/html/_sources/sf_tools.signal.positivity.rst.txt deleted file mode 100644 index 619f0c5..0000000 --- a/docs/build/html/_sources/sf_tools.signal.positivity.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.positivity module -==================================== - -.. automodule:: sf_tools.signal.positivity - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.proximity.rst.txt b/docs/build/html/_sources/sf_tools.signal.proximity.rst.txt deleted file mode 100644 index b96ec5e..0000000 --- a/docs/build/html/_sources/sf_tools.signal.proximity.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.proximity module -=================================== - -.. automodule:: sf_tools.signal.proximity - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.regression.rst.txt b/docs/build/html/_sources/sf_tools.signal.regression.rst.txt deleted file mode 100644 index 24c3364..0000000 --- a/docs/build/html/_sources/sf_tools.signal.regression.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.regression module -==================================== - -.. automodule:: sf_tools.signal.regression - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.reweight.rst.txt b/docs/build/html/_sources/sf_tools.signal.reweight.rst.txt deleted file mode 100644 index 401cc5b..0000000 --- a/docs/build/html/_sources/sf_tools.signal.reweight.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.reweight module -================================== - -.. automodule:: sf_tools.signal.reweight - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.rst.txt b/docs/build/html/_sources/sf_tools.signal.rst.txt deleted file mode 100644 index fead595..0000000 --- a/docs/build/html/_sources/sf_tools.signal.rst.txt +++ /dev/null @@ -1,29 +0,0 @@ -sf\_tools\.signal package -========================= - -Submodules ----------- - -.. toctree:: - - sf_tools.signal.cost - sf_tools.signal.filter - sf_tools.signal.gradient - sf_tools.signal.linear - sf_tools.signal.noise - sf_tools.signal.optimisation - sf_tools.signal.positivity - sf_tools.signal.proximity - sf_tools.signal.regression - sf_tools.signal.reweight - sf_tools.signal.svd - sf_tools.signal.validation - sf_tools.signal.wavelet - -Module contents ---------------- - -.. automodule:: sf_tools.signal - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.svd.rst.txt b/docs/build/html/_sources/sf_tools.signal.svd.rst.txt deleted file mode 100644 index 511982f..0000000 --- a/docs/build/html/_sources/sf_tools.signal.svd.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.svd module -============================= - -.. automodule:: sf_tools.signal.svd - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.validation.rst.txt b/docs/build/html/_sources/sf_tools.signal.validation.rst.txt deleted file mode 100644 index baa2371..0000000 --- a/docs/build/html/_sources/sf_tools.signal.validation.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.validation module -==================================== - -.. automodule:: sf_tools.signal.validation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_sources/sf_tools.signal.wavelet.rst.txt b/docs/build/html/_sources/sf_tools.signal.wavelet.rst.txt deleted file mode 100644 index e617d8b..0000000 --- a/docs/build/html/_sources/sf_tools.signal.wavelet.rst.txt +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.wavelet module -================================= - -.. automodule:: sf_tools.signal.wavelet - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/build/html/_static/ajax-loader.gif b/docs/build/html/_static/ajax-loader.gif deleted file mode 100644 index 61faf8cab23993bd3e1560bff0668bd628642330..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nno%(3)e{?)x>&1u}A`t?OF7Z|1gRivOgXi&7IyQd1Pl zGfOfQ60;I3a`F>X^fL3(@);C=vM_KlFfb_o=k{|A33hf2a5d61U}gjg=>Rd%XaNQW zW@Cw{|b%Y*pl8F?4B9 zlo4Fz*0kZGJabY|>}Okf0}CCg{u4`zEPY^pV?j2@h+|igy0+Kz6p;@SpM4s6)XEMg z#3Y4GX>Hjlml5ftdH$4x0JGdn8~MX(U~_^d!Hi)=HU{V%g+mi8#UGbE-*ao8f#h+S z2a0-5+vc7MU$e-NhmBjLIC1v|)9+Im8x1yacJ7{^tLX(ZhYi^rpmXm0`@ku9b53aN zEXH@Y3JaztblgpxbJt{AtE1ad1Ca>{v$rwwvK(>{m~Gf_=-Ro7Fk{#;i~+{{>QtvI yb2P8Zac~?~=sRA>$6{!(^3;ZP0TPFR(G_-UDU(8Jl0?(IXu$~#4A!880|o%~Al1tN diff --git a/docs/build/html/_static/basic.css b/docs/build/html/_static/basic.css deleted file mode 100644 index 3c7223b..0000000 --- a/docs/build/html/_static/basic.css +++ /dev/null @@ -1,643 +0,0 @@ -/* - * basic.css - * ~~~~~~~~~ - * - * Sphinx stylesheet -- basic theme. - * - * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/* -- main layout ----------------------------------------------------------- */ - -div.clearer { - clear: both; -} - -/* -- 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 input[type="text"] { - width: 170px; -} - -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 div.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 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, object.align-left { - clear: left; - float: left; - margin-right: 1em; -} - -img.align-right, .figure.align-right, object.align-right { - clear: right; - float: right; - margin-left: 1em; -} - -img.align-center, .figure.align-center, object.align-center { - display: block; - margin-left: auto; - margin-right: auto; -} - -.align-left { - text-align: left; -} - -.align-center { - text-align: center; -} - -.align-right { - text-align: right; -} - -/* -- sidebars -------------------------------------------------------------- */ - -div.sidebar { - margin: 0 0 0.5em 1em; - border: 1px solid #ddb; - padding: 7px 7px 0 7px; - background-color: #ffe; - width: 40%; - float: right; -} - -p.sidebar-title { - font-weight: bold; -} - -/* -- topics ---------------------------------------------------------------- */ - -div.topic { - border: 1px solid #ccc; - padding: 7px 7px 0 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; -} - -div.admonition dl { - margin-bottom: 0; -} - -p.admonition-title { - margin: 0px 10px 5px 0px; - font-weight: bold; -} - -div.body p.centered { - text-align: center; - margin-top: 25px; -} - -/* -- tables ---------------------------------------------------------------- */ - -table.docutils { - border: 0; - border-collapse: collapse; -} - -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; -} - -table.footnote td, table.footnote th { - border: 0 !important; -} - -th { - text-align: left; - padding-right: 5px; -} - -table.citation { - border-left: solid 1px gray; - margin-left: 1px; -} - -table.citation td { - border-bottom: none; -} - -/* -- figures --------------------------------------------------------------- */ - -div.figure { - margin: 0.5em; - padding: 0.5em; -} - -div.figure p.caption { - padding: 0.3em; -} - -div.figure p.caption span.caption-number { - font-style: italic; -} - -div.figure p.caption 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; -} - -/* -- 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; -} - -dl { - margin-bottom: 15px; -} - -dd p { - margin-top: 0px; -} - -dd ul, dd table { - margin-bottom: 10px; -} - -dd { - margin-top: 3px; - margin-bottom: 10px; - margin-left: 30px; -} - -dt:target, span.highlighted { - background-color: #fbe54e; -} - -rect.highlighted { - fill: #fbe54e; -} - -dl.glossary dt { - font-weight: bold; - font-size: 1.1em; -} - -.optional { - font-size: 1.3em; -} - -.sig-paren { - font-size: larger; -} - -.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; -} - -abbr, acronym { - border-bottom: dotted 1px; - cursor: help; -} - -/* -- code displays --------------------------------------------------------- */ - -pre { - overflow: auto; - overflow-y: hidden; /* fixes display issues on Chrome browsers */ -} - -span.pre { - -moz-hyphens: none; - -ms-hyphens: none; - -webkit-hyphens: none; - hyphens: none; -} - -td.linenos pre { - padding: 5px 0px; - border: 0; - background-color: transparent; - color: #aaa; -} - -table.highlighttable { - margin-left: 0.5em; -} - -table.highlighttable td { - padding: 0 0.5em 0 0.5em; -} - -div.code-block-caption { - padding: 2px 5px; - font-size: small; -} - -div.code-block-caption code { - background-color: transparent; -} - -div.code-block-caption + div > div.highlight > pre { - margin-top: 0; -} - -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 { - padding: 1em 1em 0; -} - -div.literal-block-wrapper div.highlight { - margin: 0; -} - -code.descname { - background-color: transparent; - font-weight: bold; - font-size: 1.2em; -} - -code.descclassname { - background-color: transparent; -} - -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: relative; - left: 0px; - 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/build/html/_static/comment-bright.png b/docs/build/html/_static/comment-bright.png deleted file mode 100644 index 15e27edb12ac25701ac0ac21b97b52bb4e45415e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 756 zcmVgfIX78 z$8Pzv({A~p%??+>KickCb#0FM1rYN=mBmQ&Nwp<#JXUhU;{|)}%&s>suq6lXw*~s{ zvHx}3C%<;wE5CH!BR{p5@ml9ws}y)=QN-kL2?#`S5d*6j zk`h<}j1>tD$b?4D^N9w}-k)bxXxFg>+#kme^xx#qg6FI-%iv2U{0h(Y)cs%5a|m%Pn_K3X_bDJ>EH#(Fb73Z zfUt2Q3B>N+ot3qb*DqbTZpFIn4a!#_R-}{?-~Hs=xSS6p&$sZ-k1zDdtqU`Y@`#qL z&zv-~)Q#JCU(dI)Hf;$CEnK=6CK50}q7~wdbI->?E07bJ0R;!GSQTs5Am`#;*WHjvHRvY?&$Lm-vq1a_BzocI^ULXV!lbMd%|^B#fY;XX)n<&R^L z=84u1e_3ziq;Hz-*k5~zwY3*oDKt0;bM@M@@89;@m*4RFgvvM_4;5LB!@OB@^WbVT zjl{t;a8_>od-~P4 m{5|DvB&z#xT;*OnJqG}gk~_7HcNkCr0000W zanA~u9RIXo;n7c96&U)YLgs-FGlx~*_c{Jgvesu1E5(8YEf&5wF=YFPcRe@1=MJmi zag(L*xc2r0(slpcN!vC5CUju;vHJkHc*&70_n2OZsK%O~A=!+YIw z7zLLl7~Z+~RgWOQ=MI6$#0pvpu$Q43 zP@36QAmu6!_9NPM?o<1_!+stoVRRZbW9#SPe!n;#A_6m8f}|xN1;H{`0RoXQ2LM47 zt(g;iZ6|pCb@h2xk&(}S3=EVBUO0e90m2Lp5CB<(SPIaB;n4))3JB87Or#XPOPcum z?<^(g+m9}VNn4Y&B`g8h{t_$+RB1%HKRY6fjtd-<7&EsU;vs0GM(Lmbhi%Gwcfs0FTF}T zL{_M6Go&E0Eg8FuB*(Yn+Z*RVTBE@10eIOb3El^MhO`GabDll(V0&FlJi2k^;q8af zkENdk2}x2)_KVp`5OAwXZM;dG0?M-S)xE1IKDi6BY@5%Or?#aZ9$gcX)dPZ&wA1a< z$rFXHPn|TBf`e?>Are8sKtKrKcjF$i^lp!zkL?C|y^vlHr1HXeVJd;1I~g&Ob-q)& z(fn7s-KI}G{wnKzg_U5G(V%bX6uk zIa+<@>rdmZYd!9Y=C0cuchrbIjuRB_Wq{-RXlic?flu1*_ux}x%(HDH&nT`k^xCeC ziHi1!ChH*sQ6|UqJpTTzX$aw8e(UfcS^f;6yBWd+(1-70zU(rtxtqR%j z-lsH|CKQJXqD{+F7V0OTv8@{~(wp(`oIP^ZykMWgR>&|RsklFMCnOo&Bd{le} zV5F6424Qzl;o2G%oVvmHgRDP9!=rK8fy^!yV8y*4p=??uIRrrr0?>O!(z*g5AvL2!4z0{sq%vhG*Po}`a<6%kTK5TNhtC8}rXNu&h^QH4A&Sk~Autm*s~45(H7+0bi^MraaRVzr05hQ3iK?j` zR#U@^i0WhkIHTg29u~|ypU?sXCQEQgXfObPW;+0YAF;|5XyaMAEM0sQ@4-xCZe=0e z7r$ofiAxn@O5#RodD8rh5D@nKQ;?lcf@tg4o+Wp44aMl~c47azN_(im0N)7OqdPBC zGw;353_o$DqGRDhuhU$Eaj!@m000000NkvXXu0mjfjZ7Z_ diff --git a/docs/build/html/_static/css/badge_only.css b/docs/build/html/_static/css/badge_only.css deleted file mode 100644 index 6362912..0000000 --- a/docs/build/html/_static/css/badge_only.css +++ /dev/null @@ -1,2 +0,0 @@ -.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;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:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.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 .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #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}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.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}} -/*# sourceMappingURL=badge_only.css.map */ diff --git a/docs/build/html/_static/css/theme.css b/docs/build/html/_static/css/theme.css deleted file mode 100644 index c1631d8..0000000 --- a/docs/build/html/_static/css/theme.css +++ /dev/null @@ -1,5 +0,0 @@ -*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{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:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,.rst-content code,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{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{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}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="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.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{html,body,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^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,.rst-content .toctree-wrapper p.caption,h3{orphans:3;widows:3}h2,.rst-content .toctree-wrapper p.caption,h3{page-break-after:avoid}}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title: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 dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! - * Font Awesome 4.6.3 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?v=4.6.3");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.6.3") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff2?v=4.6.3") format("woff2"),url("../fonts/fontawesome-webfont.woff?v=4.6.3") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.6.3") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.6.3#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.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 dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon{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:solid 0.08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.wy-menu-vertical li span.fa-pull-left.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-left.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-left.toctree-expand,.rst-content .fa-pull-left.admonition-title,.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 dl dt .fa-pull-left.headerlink,.rst-content p.caption .fa-pull-left.headerlink,.rst-content tt.download span.fa-pull-left:first-child,.rst-content code.download span.fa-pull-left:first-child,.fa-pull-left.icon{margin-right:.3em}.fa.fa-pull-right,.wy-menu-vertical li span.fa-pull-right.toctree-expand,.wy-menu-vertical li.on a span.fa-pull-right.toctree-expand,.wy-menu-vertical li.current>a span.fa-pull-right.toctree-expand,.rst-content .fa-pull-right.admonition-title,.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 dl dt .fa-pull-right.headerlink,.rst-content p.caption .fa-pull-right.headerlink,.rst-content tt.download span.fa-pull-right:first-child,.rst-content code.download span.fa-pull-right:first-child,.fa-pull-right.icon{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.wy-menu-vertical li span.pull-left.toctree-expand,.wy-menu-vertical li.on a span.pull-left.toctree-expand,.wy-menu-vertical li.current>a span.pull-left.toctree-expand,.rst-content .pull-left.admonition-title,.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 dl dt .pull-left.headerlink,.rst-content p.caption .pull-left.headerlink,.rst-content tt.download span.pull-left:first-child,.rst-content code.download span.pull-left:first-child,.pull-left.icon{margin-right:.3em}.fa.pull-right,.wy-menu-vertical li span.pull-right.toctree-expand,.wy-menu-vertical li.on a span.pull-right.toctree-expand,.wy-menu-vertical li.current>a span.pull-right.toctree-expand,.rst-content .pull-right.admonition-title,.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 dl dt .pull-right.headerlink,.rst-content p.caption .pull-right.headerlink,.rst-content tt.download span.pull-right:first-child,.rst-content code.download span.pull-right:first-child,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-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:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{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-remove:before,.fa-close: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-gear:before,.fa-cog: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 tt.download span:first-child:before,.rst-content code.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-rotate-right:before,.fa-repeat: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-photo:before,.fa-image: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,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title: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-warning:before,.fa-exclamation-triangle: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-gears:before,.fa-cogs: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-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars: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,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard: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-unlink:before,.fa-chain-broken: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.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.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-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw: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-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before,.wy-menu-vertical li span.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-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap: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-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-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-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-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-soccer-ball-o:before,.fa-futbol-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-shekel:before,.fa-sheqel:before,.fa-ils: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-hotel:before,.fa-bed:before{content:""}.fa-viacoin:before{content:""}.fa-train:before{content:""}.fa-subway:before{content:""}.fa-medium:before{content:""}.fa-yc:before,.fa-y-combinator:before{content:""}.fa-optin-monster:before{content:""}.fa-opencart:before{content:""}.fa-expeditedssl:before{content:""}.fa-battery-4:before,.fa-battery-full: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-stop-o:before,.fa-hand-paper-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-tv:before,.fa-television: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-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:""}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:""}.fa-glide:before{content:""}.fa-glide-g:before{content:""}.fa-signing:before,.fa-sign-language: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:""}.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,.wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,.rst-content .admonition-title,.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 dl dt .headerlink,.rst-content p.caption .headerlink,.rst-content tt.download span:first-child,.rst-content code.download span:first-child,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li.on a span.toctree-expand:before,.wy-menu-vertical li.current>a span.toctree-expand:before,.rst-content .admonition-title: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 dl dt .headerlink:before,.rst-content p.caption .headerlink:before,.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li a span.toctree-expand,.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .rst-content p.caption .headerlink,.rst-content p.caption a .headerlink,a .rst-content tt.download span:first-child,.rst-content tt.download a span:first-child,a .rst-content code.download span:first-child,.rst-content code.download a span:first-child,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .btn span.toctree-expand,.btn .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .btn span.toctree-expand,.btn .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .btn span.toctree-expand,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .rst-content p.caption .headerlink,.rst-content p.caption .btn .headerlink,.btn .rst-content tt.download span:first-child,.rst-content tt.download .btn span:first-child,.btn .rst-content code.download span:first-child,.rst-content code.download .btn span:first-child,.btn .icon,.nav .fa,.nav .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .nav span.toctree-expand,.nav .wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.on a .nav span.toctree-expand,.nav .wy-menu-vertical li.current>a span.toctree-expand,.wy-menu-vertical li.current>a .nav span.toctree-expand,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .rst-content p.caption .headerlink,.rst-content p.caption .nav .headerlink,.nav .rst-content tt.download span:first-child,.rst-content tt.download .nav span:first-child,.nav .rst-content code.download span:first-child,.rst-content code.download .nav span:first-child,.nav .icon{display:inline}.btn .fa.fa-large,.btn .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .btn span.fa-large.toctree-expand,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .btn .fa-large.headerlink,.btn .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .btn span.fa-large:first-child,.btn .rst-content code.download span.fa-large:first-child,.rst-content code.download .btn span.fa-large:first-child,.btn .fa-large.icon,.nav .fa.fa-large,.nav .wy-menu-vertical li span.fa-large.toctree-expand,.wy-menu-vertical li .nav span.fa-large.toctree-expand,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .rst-content p.caption .fa-large.headerlink,.rst-content p.caption .nav .fa-large.headerlink,.nav .rst-content tt.download span.fa-large:first-child,.rst-content tt.download .nav span.fa-large:first-child,.nav .rst-content code.download span.fa-large:first-child,.rst-content code.download .nav span.fa-large:first-child,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .btn span.fa-spin.toctree-expand,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .btn .fa-spin.headerlink,.btn .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .btn span.fa-spin:first-child,.btn .rst-content code.download span.fa-spin:first-child,.rst-content code.download .btn span.fa-spin:first-child,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .wy-menu-vertical li span.fa-spin.toctree-expand,.wy-menu-vertical li .nav span.fa-spin.toctree-expand,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .rst-content p.caption .fa-spin.headerlink,.rst-content p.caption .nav .fa-spin.headerlink,.nav .rst-content tt.download span.fa-spin:first-child,.rst-content tt.download .nav span.fa-spin:first-child,.nav .rst-content code.download span.fa-spin:first-child,.rst-content code.download .nav span.fa-spin:first-child,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.wy-menu-vertical li span.btn.toctree-expand:before,.rst-content .btn.admonition-title: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 dl dt .btn.headerlink:before,.rst-content p.caption .btn.headerlink:before,.rst-content tt.download span.btn:first-child:before,.rst-content code.download span.btn:first-child:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.wy-menu-vertical li span.btn.toctree-expand:hover:before,.rst-content .btn.admonition-title: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 dl dt .btn.headerlink:hover:before,.rst-content p.caption .btn.headerlink:hover:before,.rst-content tt.download span.btn:first-child:hover:before,.rst-content code.download span.btn:first-child:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .wy-menu-vertical li span.toctree-expand:before,.wy-menu-vertical li .btn-mini span.toctree-expand:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .rst-content p.caption .headerlink:before,.rst-content p.caption .btn-mini .headerlink:before,.btn-mini .rst-content tt.download span:first-child:before,.rst-content tt.download .btn-mini span:first-child:before,.btn-mini .rst-content code.download span:first-child:before,.rst-content code.download .btn-mini span:first-child:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.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.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.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,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.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 .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.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.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note 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.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note 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 .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;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,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.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 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;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 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.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:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{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:before,.wy-btn-group:after{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:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,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:solid 1px #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 input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{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{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 .3125em 0;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;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{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 select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.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="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.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="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.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="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;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{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){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{margin-right:0}.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{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;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="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-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 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:.34375em .625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:.3125em;*height:13px;*width:13px}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="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#fafafa}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]: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 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fafafa}input[type="radio"][disabled],input[type="checkbox"][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:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-switch{width:36px;height:12px;margin:12px 0;position:relative;border-radius:4px;background:#ccc;cursor:pointer;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:before{position:absolute;content:"";display:block;width:18px;height:18px;border-radius:4px;background:#999;left:-3px;top:-3px;-webkit-transition:all 0.2s ease-in-out;-moz-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.wy-switch:after{content:"false";position:absolute;left:48px;display:block;font-size:12px;color:#ccc}.wy-switch.active{background:#1e8449}.wy-switch.active:before{left:24px;background:#27AE60}.wy-switch.active:after{content:"true"}.wy-switch.disabled,.wy-switch.active.disabled{cursor:not-allowed}.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="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.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="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #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:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{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%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.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],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils 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 tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;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%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;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}h1,h2,.rst-content .toctree-wrapper p.caption,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;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2,.rst-content .toctree-wrapper p.caption{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}code,.rst-content tt,.rst-content code{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs li code,.wy-breadcrumbs li .rst-content tt,.rst-content .wy-breadcrumbs li tt{padding:5px;border:none;background:none}.wy-breadcrumbs li code.literal,.wy-breadcrumbs li .rst-content tt.literal,.rst-content .wy-breadcrumbs li tt.literal{color:#404040}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #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{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;margin-bottom:0;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#555;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li code,.wy-menu-vertical li .rst-content tt,.rst-content .wy-menu-vertical li tt{border:none;background:inherit;color:inherit;padding-left:0;padding-right:0}.wy-menu-vertical li span.toctree-expand{display:block;float:left;margin-left:-1.2em;font-size:0.8em;line-height:1.6em;color:#4d4d4d}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.on a:hover span.toctree-expand,.wy-menu-vertical li.current>a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.on a span.toctree-expand,.wy-menu-vertical li.current>a span.toctree-expand{display:block;font-size:0.8em;line-height:1.6em;color:#333}.wy-menu-vertical li.toctree-l1.current li.toctree-l2>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>ul{display:none}.wy-menu-vertical li.toctree-l1.current li.toctree-l2.current>ul,.wy-menu-vertical li.toctree-l2.current li.toctree-l3.current>ul{display:block}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:.4045em 2.427em}.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{display:block;background:#c9c9c9;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l2 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l2 span.toctree-expand{color:#a3a3a3}.wy-menu-vertical li.toctree-l3{font-size:0.9em}.wy-menu-vertical li.toctree-l3.current>a{background:#bdbdbd;padding:.4045em 4.045em}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{display:block;background:#bdbdbd;padding:.4045em 5.663em;border-top:none;border-bottom:none}.wy-menu-vertical li.toctree-l3 a:hover span.toctree-expand{color:gray}.wy-menu-vertical li.toctree-l3 span.toctree-expand{color:#969696}.wy-menu-vertical li.toctree-l4{font-size:0.9em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:hover span.toctree-expand{color:#b3b3b3}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-menu-vertical a:active span.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;padding:.809em;display:block;color:#fcfcfc;margin-bottom:.809em}.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 auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-side-nav-search>a img.logo,.wy-side-nav-search .wy-dropdown>a img.logo{display:block;margin:0 auto;height:auto;width:auto;border-radius:0;max-width:100%;background:transparent}.wy-side-nav-search>a.icon img.logo,.wy-side-nav-search .wy-dropdown>a.icon img.logo{margin-top:0.85em}.wy-side-nav-search>div.version{margin-top:-.4045em;margin-bottom:.809em;font-weight:normal;color:rgba(255,255,255,0.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 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.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:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.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%;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:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.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,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}footer span.commit code,footer span.commit .rst-content tt,.rst-content footer span.commit tt{padding:0px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:1em;background:none;border:none;color:#999}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}.rst-breadcrumbs-buttons{margin-top:12px;*zoom:1}.rst-breadcrumbs-buttons:before,.rst-breadcrumbs-buttons:after{display:table;content:""}.rst-breadcrumbs-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@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-side-scroll{width:auto}.wy-side-nav-search{width:auto}.wy-menu.wy-menu-vertical{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: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;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:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .wy-menu-vertical li span.toctree-expand,.wy-menu-vertical li .rst-versions .rst-current-version span.toctree-expand,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content p.caption .headerlink,.rst-content p.caption .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content tt.download span:first-child,.rst-content tt.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .rst-content code.download span:first-child,.rst-content code.download .rst-versions .rst-current-version span:first-child,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.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 .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #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}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.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.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 img{max-width:100%;height:auto !important}.rst-content .highlight>pre{line-height:normal}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure p.caption{font-style:italic}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img,.rst-content .section>a>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.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{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content .toctree-wrapper p.caption .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.rst-content p.caption .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content .toctree-wrapper p.caption .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after,.rst-content p.caption .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content .toctree-wrapper p.caption:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink,.rst-content p.caption:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.docutils.citation tt,.rst-content table.docutils.citation code,.rst-content table.docutils.footnote tt,.rst-content table.docutils.footnote code{color:#555}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.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;padding-left:0}.rst-content tt,.rst-content tt,.rst-content code{color:#000;padding:2px 5px}.rst-content tt big,.rst-content tt em,.rst-content tt big,.rst-content code big,.rst-content tt em,.rst-content code em{font-size:100% !important;line-height:normal}.rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal{color:#E74C3C}.rst-content tt.xref,a .rst-content tt,.rst-content tt.xref,.rst-content code.xref,a .rst-content tt,a .rst-content code{font-weight:bold;color:#404040}.rst-content a tt,.rst-content a tt,.rst-content a code{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:#555}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) tt,.rst-content dl:not(.docutils) code{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname,.rst-content dl:not(.docutils) tt.descclassname,.rst-content dl:not(.docutils) code.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) code.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{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:bold}.rst-content tt.download,.rst-content code.download{background:inherit;padding:inherit;font-weight:normal;font-family:inherit;font-size:inherit;color:inherit;border:inherit;white-space:inherit}.rst-content tt.download span:first-child,.rst-content code.download span:first-child{-webkit-font-smoothing:subpixel-antialiased}.rst-content tt.download span:first-child:before,.rst-content code.download span:first-child:before{margin-right:4px}.rst-content .guilabel{border:1px solid #7fbbe3;background:#e7f2fa;font-size:80%;font-weight:700;border-radius:4px;padding:2.4px 6px;margin:auto 2px}@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:"Inconsolata";font-style:normal;font-weight:400;src:local("Inconsolata"),local("Inconsolata-Regular"),url(../fonts/Inconsolata-Regular.ttf) format("truetype")}@font-face{font-family:"Inconsolata";font-style:normal;font-weight:700;src:local("Inconsolata Bold"),local("Inconsolata-Bold"),url(../fonts/Inconsolata-Bold.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:400;src:local("Lato Regular"),local("Lato-Regular"),url(../fonts/Lato-Regular.ttf) format("truetype")}@font-face{font-family:"Lato";font-style:normal;font-weight:700;src:local("Lato Bold"),local("Lato-Bold"),url(../fonts/Lato-Bold.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:400;src:local("Roboto Slab Regular"),local("RobotoSlab-Regular"),url(../fonts/RobotoSlab-Regular.ttf) format("truetype")}@font-face{font-family:"Roboto Slab";font-style:normal;font-weight:700;src:local("Roboto Slab Bold"),local("RobotoSlab-Bold"),url(../fonts/RobotoSlab-Bold.ttf) format("truetype")} -/*# sourceMappingURL=theme.css.map */ diff --git a/docs/build/html/_static/doctools.js b/docs/build/html/_static/doctools.js deleted file mode 100644 index 24992e6..0000000 --- a/docs/build/html/_static/doctools.js +++ /dev/null @@ -1,311 +0,0 @@ -/* - * doctools.js - * ~~~~~~~~~~~ - * - * Sphinx JavaScript utilities for all documentation. - * - * :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - */ -jQuery.urldecode = function(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)) { - 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 bbox = span.getBBox(); - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - 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); - var parentOfText = node.parentNode.parentNode; - 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; -} - -/** - * Small JavaScript module for the documentation. - */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - - }, - - /** - * i18n support - */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return 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 : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated === 'undefined') - return string; - return (typeof translated === 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated === 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); - } - }, - - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) === 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } - }, - - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - }, - - /** - * make the url absolute - */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, - - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this === '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); - }, - - initOnKeyListeners: function() { - $(document).keyup(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box or textarea - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT') { - switch (event.keyCode) { - case 37: // left - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - case 39: // right - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - } - } - }); - } -}; - -// quick alias for translations -_ = Documentation.gettext; - -$(document).ready(function() { - Documentation.init(); -}); \ No newline at end of file diff --git a/docs/build/html/_static/down-pressed.png b/docs/build/html/_static/down-pressed.png deleted file mode 100644 index 5756c8cad8854722893dc70b9eb4bb0400343a39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`OFdm2Ln;`PZ^+1>KjR?B@S0W7 z%OS_REiHONoJ6{+Ks@6k3590|7k9F+ddB6!zw3#&!aw#S`x}3V3&=A(a#84O-&F7T z^k3tZB;&iR9siw0|F|E|DAL<8r-F4!1H-;1{e*~yAKZN5f0|Ei6yUmR#Is)EM(Po_ zi`qJR6|P<~+)N+kSDgL7AjdIC_!O7Q?eGb+L+qOjm{~LLinM4NHn7U%HcK%uoMYO5 VJ~8zD2B3o(JYD@<);T3K0RV0%P>BEl diff --git a/docs/build/html/_static/down.png b/docs/build/html/_static/down.png deleted file mode 100644 index 1b3bdad2ceffae91cee61b32f3295f9bbe646e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6CVIL!hEy=F?b*7pIY7kW{q%Rg zx!yQ<9v8bmJwa`TQk7YSw}WVQ()mRdQ;TC;* diff --git a/docs/build/html/_static/file.png b/docs/build/html/_static/file.png deleted file mode 100644 index a858a410e4faa62ce324d814e4b816fff83a6fb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)s`hMrGg#P~ix$^RISR_I47Y|r1 z_CyJOe}D1){SET-^Amu_i71Lt6eYfZjRyw@I6OQAIXXHDfiX^GbOlHe=Ae4>0m)d(f|Me07*qoM6N<$f}vM^LjV8( diff --git a/docs/build/html/_static/fonts/Inconsolata-Bold.ttf b/docs/build/html/_static/fonts/Inconsolata-Bold.ttf deleted file mode 100644 index 809c1f5828f86235347019a50e78b4b486a6a045..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109948 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 lSJOz#fX%lhbk8e1i0vq836dY`S4{>Iiq8{2xe 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

    bO)#R zarzLak8t`Vr_XWv_sz#`+U$Id(>I;Yv322Nge>_%4srx8xe zIj!Nek<)fgh0a>G=2uO;bqtxZPrJ?Y@O?Hed@@WKJ*a29xL00JQM$&Mq;JFxps0bkailezmU9|0 zQ|R1AOk}7um98>WrW&EL)JT=B+{Ξ29ypp!R(LOYK$fsCU(S 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 YaFbT>1t<8 diff --git a/docs/build/html/_static/fonts/Lato-Bold.ttf b/docs/build/html/_static/fonts/Lato-Bold.ttf deleted file mode 100644 index 1d23c7066e095b5bff2c373d4064dc4f33659783..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656544 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

    f8495bJUR}lganziPo-_m8XTO;| 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%0AXJ$}2tfE_bG!=1%jk z1tfYj)y2Na%kV$m;EFHD(I;;w_Rv*aW<)#pvB6<)V(h9rx)17VTb zLJXluN-E7oF%ci0q73qXY_XZ;g;1f5QNtAjm38ggw237gJ^KFp^5uM3j_OOqxU3K7 z3tI^IV!RS{(D@!k?I{*?wD%CCQ@r>0@b_>YCEnYtZwjYFXEf-6&n@^q%u(@uPPN3S z=U(lY_M0GmsagOAd_S`sNBKhf?ko+7Ch6!{fn$fXTEodxNHS2oP%5ZStFv3In0^Sc zFsOl9;Kf`_mTmk=Ssz{a-36JZeDIdz|FY=qxxOM_uHL4o|N4z1Gu3Wm`|R0?i8*$* z)8h7@h1> zg1(RaIE+qsNznJ3bgU5qrwaP>aKtzIm+0`0^ZN2|%7}H4JIt2DrGSGRluDD*>}ej& z%7bi>3w>H>=qp(rw4$5y%2WIamVe!9&u}{8e*`aouk|55e*}H01u_XbbX1GV$HdLYWT$a198EXR ziv^v=N|ZOxiv^v=O3?Qk=f#3f*jCUx!|8n85cEUgbdGHW{cr?5#P=A{v2XGEHOgyS zD&_jJu+{P{3+IH$*E|nJ21(;f%1R1Un)Ce3BJ3DBN7c+EsN6_16lWSM=+t71e&YDb zmB(4)mh+!^^t!oK`oHLOW99ZWKHnPpd8to+<6-@a7cRKq1(x*i!z}5A3u@>8WXrLY zYmTgKYg>C{&6*=OwBghP{DBcKLmw*|>C$eb7$9A`CfZlBx9`B&xbYpp75qCmbfB}B z|Ml;HonyU4<#rA}HjvT#!eofn1VMk30sIDKi+m^r{jG?x+!3U|9Zu(VZ&Ciw5p=S9 z3;Mezo!Z0qV4{-`CCLQVn}~LWWQO}N0O_>rk6Tm=<)3vSzCg3DVYo-eW{KQtuuIFZ zOJlXr7@(4(7^kdci#`iyATH8 zn=jZ-d<&}=?G)c68&2*)-ee~i{c>}7zi>ObXwxn_4MH7!J%gQG4%x{A1F3Jh{wL~a z)A18}VKjY+e=DbFMU@{a=z&3;PI{iGr%BJ{@+eAIh zqMkr`6upHkOlBW&I|VN<#-7t}r#%GgTNcefoD~q5hixC26v39^C&zE+VoH$sx9a*-Ydpwk?XUX7ds_zoNT^e{dtS@KGcw(pIB0$N~$ z50W_C=gyKANuw@S=f(0p&d2K^uOJxO-Zg>P?LpNA5bXJ~)(U8R!R@|U)d9+wv)?&H{2?bLbIiOsKWYWCNGe|5iym-du z)%jzJAeu^ycg08{nYS)wAChdYdws~-rMoptclpeg8hnG`uYsn)nG`VAm^7LeK3#;z zc|vw#wwN%s(@YpoYA;iUC9psCIB8C4+rCDZh(6Y0xvY8&S^aewo%Rnw-)H(c0Gr2h z>@Vogvshk!8n)C}zE^X)_J~=Y(`mmE^vw};nhT)wx$t)6T%fkW&L74L`#vn{CY@tT zsuMaX(J{{snRP?w4to!nI)=Yj8Tee4__xB+#pmVE!|3#_g1$#O-XndVN!PE$i6or| zQF)8>{8jjY;pFuLs}7Nd`dWtI+&2&Ys_=`X>;94gTM;CYoU|B69e{p@gQQ0u-_lf8 zQs~Xf#En!EM#31CvNt~w9>O^mVT-Ahi@7C9oHh=swA2k63SZ(hm-1M=J0-Px4qWeb`{TzB}gQ8)g0RoSH2JV!?J*~3Sc3v~qUDH;6U81wJru4j}O=GI_OB&~{>zH)+#ch+vpzlQ= z(zxN<`M4eLrt4I~Um>i2*hkbq#=C{qeP%yv8_fQsaj}u!$m`TLO2<(e*441RoY%>9 zEb8+jsxyo`-AWSPsl*4Xt9mDwMY18l=SzBp^UuM!-N|KF(4YUm?7azKTh)~}{@#X-L@=SizRvA_f>J?EOu71I?h6NAR!4!*h1L}ggq@#wnBjxS|E#=GzpYaNDFkJ zowgKO+Uc~Nk8aEiw9`^16k_@NoqOMto@6;d|1u>R-$maWRcBlboBw zISo|(;-hxNu6-Nv7L_dCqDa`0uol9vX*KE*+AT;*%taKUQQB=Z;B3Sr*ftIGKUl;P z-2Y1YPAO~0!i|^bXfTqn>tLYO6_q=js@poD{Y-cL`ek~lfGY-EU_U%310d4IZ%V1(UBv*zr)gg)7M zX*sZvDPuVuy_fp#t^8dj-IjM5$PsPd!k1UKb`?6x&WMbPP%at&pDF&O;I*B_AYFcH)1T%p5766KEMUrIuG z$)`+~v~*7qygyQJ>WFJ z*1MXoxA1Q{;fFHdwBEe^5#d8kd+MLVj}u%FdH+~5w-87a=fn07@z1WQQ=Qv2VTX=c zd?D9KBT5G+JuHe~=o+e<(HRE(#YX1J!e5vANaa zuf5<6oY%iY^O0W$_hB5MuXo0;p5znfbIuwo;Q~AnV06dk09g;OZ3;)kLws&u%a}9K zGH?Hea5~+d$z0z4>0IrJ_Jt3#*D3ip8~=~^_~D1{9EZ0Fe&}nn;EB^8F*vvlV@|gp z7%wI`#f!-S!#k;drtyA~$5?xcJ7Hr(Jl7u9{_9!r?(shnoUh-Mb0Im$=lFGHy%CRw zc+4E@4RwkI7|?nf$ikm%y)DW2#{ZmSy_?3rFE#1*OkQu2YWjVQerp*09uj^;<5u8A zryTy2@RkNnYX&%5gSRr*0KCom#2jpj)ml|4@d8Q|F}>2`aB-`(QG`B47Dci*>h~3o z7fXNq=xa8M^!9k2zD}NA7yIb#H_vlN3-p1XWKYH14d8+--(*5XeH2gjV|G5gM@i1B?TEck_<1q-JD3$&U z$5QY7LQ4mRuchF>(!z0oQ0P+pA6mHP+rL)fIlm2RQ@@=Wmq8d)-yvQxJfeO>zdQr} zkOGejCxlJn4ACH*#B**npTQ!b(|uEX5a%CigTtoKG|{YIq5mE-k?g{taCgF!=$2$- zy(k#$W*kRjg>ZUN>LC$tqhKue+0Ni+ zTpTR+Eoqn*FIaz0+uSB!Y|i^j z0Td-0o{4S6s3jbMv06U_F;)Q@$arQ{pXC6{`k@hp=wispK}I||1F@}aC*7T|?Y3bV zW=obGzY}^E|N4}zcVxGw@l<8^O_@OK15oC&-oT!zhr*|a!k0Cm%$KkWs$(K~m+y#A z4@GODu`t{HI6*PB&0uU*DaK$_10|Vlo|2|}MMId>JiaA5n#BvMHnew+Cc-<sA-P5`c zPn$RM+OO|<o2Hj9uZZLWw#D##H6Yi))j1nitgD397XnY1uBB6}Kj3(=%Tq*%v35=0lYyAo z*L7S^I@hmTdk8PeCQT<(tbALFKw9*3m1Re0@BfNrCmu?ELE)h$&;j;jg(n8V zTkkWO+YUH%`!)E1_JcS_yw7AV!4a3l>#qa;J1rbC_ps9bek~k!eZV1a2O*0efh;Z% zdW8SM<*lnz6pRHhO$wEw3=fi|gD6f+f!l<>YqHuy_#u^&UNVd_5y}crsP8121sy`Fbb3XEram+2HPxqyFOkj&hfl2pyPQLSM#4BNLz7JNxC2!Pl2sczJ60ybfwuV#^R_jJ zU(Obx=QmnCeGhM4a?7UnzCDj@TDG_0lythes%q)ABP%ao5J_}j`uAD^T3)+h){2?? zUc6%0iw739)k%R5{{_oI>%rEW)*~+5nXt#;pJGelC2t&??w*95OyuYv{IDq-BN!Xe`NW@$zXyHB1V-n=E&5v+d;oZQm+d*-Xo%QY;nAG% zgBftzi+KCPQ^3bE;G~1|_Qx{dq$6|qi41tU|7SAbw5Rd*Ckc*qX5+`6X2N;=vSVIs zXq59!8(JLXE+JMB856h*-JqkAEHFxrg50zAv`^HMZEJ;QGfsZB<{G3E7o&Kml}dM( zn+=|7F{QMkwD9B|jxnL{?z%-+z`vwT{kuMAt<<{i7+wm!Xo{){V6 z>|Xcfi>4QbrHdPuCZc`qU>=u|HBREK6B&3zKaj-=!oZBr_A-sfp^He zclAyckC1myX!;==62q_fy6_bZoa}-e??=l*1^0fuQ!N2@VzIE=}FAZ$TVB*j1x{S23*JdstbYHY~8);)N^v@~`i*MD=4N8K= zx_4)=xA@|_CYn=Roj3_?Y}U;0-$(P2~@Hf13ZmH);3{DjYdG z8vcfUqVRX}xilR9j-$d?nco>vH%grc9p@?dJ3NS{Sta~j;i{oIO*MM6p;xK(U`_v> zuJ+I;81oJJMucS>%=rfMb}*=5LDdJFDBHz+qny9digFO*1`3z5j0zSDlp8AfunHOs zEBOEmS7rz1ynJ)sC+UaEJ}BLcBw}S{UaugOttuN`x_HJwqMyfPc}u;eCB>MRCwJio z7#&=>k_AFhtdsgWoOQ0zpZwgpOatiuS%AxXOUFXcNt(|{PS7}4Y=?pcL zo_;NRKlr3Pi@l%k@u@vkY*cB5?fqm2W3m?&RCDhA;)DXPgy4P2xD@SsaTcJOhkL~9 zm6!~E0RmLr@YM!gOPvkb#Gn>lx-rXxcZP!+-BNUN?rdF?5hbKeyw zudP}hG)Z;gb=NM6NT0dwwp071UNQgl31zaOH4k4j-JExo&m5kry0ztG;x5#D*yCfvbO4;S5)0Q{d`5&_!k^ z22nBTQ=ts~XrV%!PtR`csYQdgie~l;P>uyr8GP@qr_p4)z;fWppr?(}(_$N*~70sBoII{>fZ(HqHcn^o#D{u{^Mw zy;_t_H9pAhIe#6vm2Ki6ErWrn z*c(`N5&cM>QPS%-4>R#k)w=mt+A`mjQHfWn+O7UdA)J%n{@Xr^(-*=+g?^#GueYbW zi`4{bsDmY#2p#{?ftHba_8Riyn~d5y@8_g{`T69vA0&4&79h5t*(*zpAtoN~VJxvi z!x9G$oVs3Ni8-ki?_x6GvVff=Mbi{af*Ei=G2Sf`?IOO8_(Y`v{2|FdSK;F8`Xefz z7+zugz}kzy)gMgJ%w;N^(aaN5(9CyWT{aJo*|6j`pJ-s@qR__hn3F>}5vdeoBZ~2f zDrFJD(AzbdMMr^5&LYd6{XQGp;g?oldsy)HNE(nBA zKqHwlLJ^}1eaIKHIG7PeABUu7w%(1&yLCx+o}!=uc z{N)Td=@`8ISO%Qp>^b~k2At0S9DYK94?=%^U#9-aK!@AOl=C2mQ~w-(I0H`O~sjwCYMQqpvEjH2)P)9Tq)>es4_65 zkv9Y}+Xe$O`ZB=>7lx7&K!&{DOh-Gf+kMXLEe)rrw&(O+Yvz@9T1tJs z%Jz9(*nPvn-oXV8Ywtd{lMHPQ3#NA#Tdj@Kcyr~KAN$HZ{XNo&(?e^%xObyJevxSX0tTaS;Cxum6R3m5(xdT_UaK`C)F{lbOdT zvm5kU<3$Ze=HnyM%y^ccenzHDdS+4I(>$XHg~`uMX}_W7Ju`cco@Knk!DPv%|M)Ob zU|ZJ7M)<2y7I&1wDz*<>^O;54jNN|YFtS9E)5ekvxlNlU(2?UU=8EF)SjGH&8KrS^ zzE6|vNxg5eFm}ru#R*Yiw@=UqA!FvJ>w{a_4N#|d4&ywloe`aDaI{tMFlj{Ww6bxS zO^QlUs#g9SeI*j9ZcyxiQjk7DZ*;#wYB+3Z5`~a2ORP&4FB+aRtv?bk$3X~k#-`fz zRXLN>qR*ww$4H)TT#rpwens|3$CTrd%M`TRD+6s+?^+jLeR%696i0Wb<RX>a226C6H)C=T5REY_a_K#-F(aUR=S_Y$1> zmN@*Rn9t#`VSd1TOAHR%lLo9N08Z!A4&%e4g80TnGvi9B{r@ zyAd2#hVwJqnX;jVlm{uyJwg)C3fewwB&$pIxw#U-BREOJSi@ZD*^M*K%K0pp$QAK$ z2fE@ir&=fQWEzZ)$kZ7|&En3U1M8Mtv%L1yvK5J)O`SPYjhasB?(CS^x#jj{ z*KFx(8ZXX~cf|bTh=b7L6F#{w65b~M75FE-1%%CsJQX?Q*Cr=V5CxOK2Z&u+hnd0K zqs-T@-fQL0Xp(x0#^MMrMWEC#R_c|`dxQrAP79OqKm~eQQR>wb5-*@>Urp0qj%lBQ zHYXM(f3LexndaxD?QEKz`d#;a``h<|KF?0xqdUUteynG7wON8a0DJ1$nA{ftry2+| zhsWwM8!v{>4)H-2=Hn-Y0x1TN#%M);`wevIkqTzFX1bkuCOp)^=>W4cmM&HGl;s|l zO5)xR#Ny)Wu28VEs;H={GZ^ZsF4jvQCE-h{4t5Z%12Fp8#pwEM)O5qRK)-Cf;%_Im zF}nUHYO(dIa5_^=Y-4ANw2cuLKPPY1c`zpzq7bea9wTuJdPKEdS+|pFowLdyI7ZT; z5w?nr!!TX&$X=#SHK=U`BkDlF;F$9rtX(SVE#ZT4q#_;-v;5~mFH&(`A`14pt6eGI zB##?X+?9x>fu~Xv-}assFTj%|DnV{9e~^k`(|=Bbq!1zPLu693KsLQ}`WO#YBi?@r zQ@juPr7>aS1j&#mCN5++y%r08Hit7BI5=?;!zoT{(i+%g)%J&Z`-$%WK2v@;1wX35 zUjw{TzDI@2Cl&ZV0^T66QsKf01^y=B&6@t7(exAN?UDR|TP2k>o}z!OrXaq`&Yx^v z;_DL^=N$i-(*LWVl{tEe#$zE{;?apqGS8pD)l(STe!~aKnB&61i3i02v^_?BD0asI z7MaWPaHInCXAwe)QdAp*Hji|BvU!1yn2C!W^$QFve~{U&u*i;Pso>^QH{<`s+n6Ov zd?`t`P*H$P7cW46Istc{LWq(HQc#L>5i{w?heOPC!70uv;NvU77k8<1B45?SB@71~ z$H!FMOF9JyQOplHwklklVDpkDzLva)@x4ok3l|@ULmv}>G$Uog51wF_%pfAFBnga; zxYtz}S%6)zOCkbw?PvmLXSJlmh!;K>9ZZ8LJ;0iEK9em?!8k!Ew=KDWh=TFLt8WQih8 zyq>&As$?>uo-A@@rBGR6*G!;HX9y21%Bt6(umcduB@~;9N z?_@dFFh8Si501T4u9xId)~C#@D~d&%%B0#8K!6}!W;Hc}jA3s<>`?dW*pTh$N|D6^Nz2qjEJB!cU485dP zxQ}yhUI5u9)gsEv;{2rkfePw4G4XgF1EdzE1fWi|0aX)0Aq6VeV$<|$u;byj_gc|W32AC+LNEFkYks9Itdx7SgP47T%;nIT<-(KXp4 z(yF_Cn%U$Fn8v_~hL*DVmnf zcGHn$wfN&BHyx22b&XQ4iqXMl`0Dg}5l=;Nd-@?SQcxq*L{MlZ77LMm3lbO+ z-l*k>R08@J${6OrQ>)b9aMIX&cZ0pa-#vX^-MY)m3TH1{*SPe$mG!5VEsjlVEcsyZ z!nV~FdZ~79X;Zo9+~v)4>bxx*53Hs$#rh4!jYAFe+mj|T;g~#n=mWEPBZyVxRg-ZGr>SF@rdm0Ip2Yl zP@Ct0A@VFpA3*mxUV}kF{Srm}_4oF4;Xs2$!l@_1GDSi;mW4`kX0Kiji6Q^>$J&)T zm2)w(Oa<+glNWFD5+|!N#0OYNxO}47P>L9pCgcwOm?OC`g!C#KHl4QGs!AgXPTi0f zXvfmfBiuka`H`|dQ6SJn=~dzg)`pJLSa@laRju5Nk`@GFjx8!QTsf&R>bz3PCLB@8 z_lhIA`a+Jj;B2KS*_6_4u^##59#6zei@_quW&{uo67l|uavl1?5Tj0J)XnIGT;ZO{5AzUA#ts&KNwr2E01{UGm$Yzb*N_Uwlg`2AWquX(HN<%hxN zb;1uh8`>hG-cTZ%^r+T_h*D&oX#f(7YG8?~*t2oEHNgz3X2@)Y+D9i_l8tKh7KOK~ z(ya{!kb+*XgrwzoBhi>{jPnk1V-bCm<0TN4`W4U-iN89bjtGfjAo6fEVKisRgKFSO z5g5s3{o(A5{U^+}LsaD`8=SYIh3q{iGB~naHS2(o7L~O|J!I@jR?%7}?=iTbBdcq+ zSKti%0v@w03on&w`qQ@-?{vvmor;Hz346HgB zH$|vn)2^mAo~;7+kCfQ;?7rEv_dUC7_c!*X#b0sQo-(_ zn_k>|>5Kb^PCsz)vBwS{dGygk8oW`AB_HQIImWqw2hI9YgAJz#iz`3;a^#vGl&0}!zb<|`eHGv9R8-J z{UVnC%;7)Nz`IzCDu@4Eh0}PLOd~k-KZaK$B#(AnX}TF>&vlr`SMVNAu*ene5;_xY z9YtrXZ3^#&5?G4brge4Y>C)U<9)omSrLRvQd zlgqE+~CPq}JTUY_pwH0}1?f?1( zL~TTU+mGL{#Oj?^k*ZzFc!1?vGo0y{XW)e7G=n3COoJ=KLkgU7u*Z;tO)+M~Q<^Mn zq64;mr_?^=eHnfHGzGso15UA$?3?obDd0C~;mn@T+t18|Ltb%sZzep|e_sZiYI5-Q zom0RQnebFU0~zov{#Eh7?sVY&cW1PpO1@FNA8U_zKMn5F@)q%a9Nsu_RL^aaJDD6l zh+7v(zU@surLTfdl5#7qNm!6qA&4O=ZmC54`fnr$^=EyD4l7We3Zb~)v>Z4 zi6`?Kk$7V5e`wp1n~`I(`%5gx1p61I>s2kIG?V$|)4Cs`w32UMu^VY6t@X)O@}gSI z1UP4NXEwWC02qXW?OON`u+{`8x`n=iJhb;yxT+T(&4H^Zd=v0cAY6JK!x|;>g5MRa zZ6nSja zW6}EA&z{=1@64#Z>B!ctNA&H$u9DBn=&DCtIy_c_85fk`9zP_riUuKy11JkqqeD;z z910fnuS^gkP00~WSc_yLmYZzN{n3Bm6n_7d03T6uO-?9y-_w&=4;m2a=Zz?VaE)7kKDZpTX&}`1U;_? zta7Hc&6xrlLHOdw@lRb%cJ!;awU?5%rdsul2M1ruNZ_)o?3I=)l%a~dyX|xhAPN%4 zU=J39Wvmt~*HZk%TC5Z-WP_5OIZ41wZla10zbas;3D_dtiQ0k-nCgh9iZWQE@pd0C zEz5kK;18WDV_11v4W6XI4G*7J8dRhVWX>CkpxHRO@!>s@n1Y%^_ip}j^_9!Hs7bao zS4ppMd2`1*Gw<7c)S%#mWVe zgLVAqLcTYM6vQpa#6Z*sysc^*kTTgVl`~GNT_Oe#Ef)5itd{CAMQw;B$fsJC4o`^U zpcJPokI01Y8Cp%++64)Zf?-!ST(@#ob%E?Euy>bKCYs}pJMTPo%{8BmmCCw>tIjQZ z#%a$htW8vQ^Ppq#C4WT08F2G!w%>CcpHy&s0qlDkT*AHwTmttDF4H-I+Q)juAxVEXdF5w~Y$_Y}%cM3`vq_zz4fFd{^=Sp=YIDp01u+0EQLEzB1 zGh;C(g~{`8A!Lm=p0p}CUZ7z#q+U>i>$8`WUL?I#6OYdqR?txx|8_z9qGolo-Xk%U zPcjO(+)T01Qv~I+MPEN@(T`6$qE4cKWPj!fRWJD?SXZ1rrMG0#j~Gu$I?hw%vjv>- zAn}?w!Qre%RXu}Wgmq8r0#v)Io}CLg{IH@UWW&c)IBXsD>|Dd!zXSs|@hoePb7U`7 z#im-srSOMMS&JA_Ok0aM60e7}qC``kg^NFO*CB>)Pg96kdMD58a8|Yr*3Vg7J!|D^ za8&C#_ik+6w0eOOJ=iv zeM6UzHp9cNgbsSbwT0z%cvL-b_Kf~rOPgnQVv4{y#|fPW_}ovXaI#;E6Y;l%6Q%un z!%U@pOgMN6c}z}Te=)D)e=&0htNpV3*I2*u?b?1BuM-?KtI#jr$5Y@t`H=1@;Cr!% zXbak`Z9Ssd7=T1e*?2SnZsVZ<=q5N{WV4Bikr~WL4a7#Rm~ANg!k|_bO36a1>dVcN z9qBjo%yQm#n0pQ8JZ%r)uqocB0rq_S`>Y<2!lv8O@|aZ?o<7yKw_Y=eYxn{$S;lUS>H^mw{wR&%Yrv2MV+o!XErjau0Tf z&#=AuC8BlES0wob>6d`_2(R(@E(dg4xu?VrPl?g4m=UvJoXRMCJ}MymYZt5MuPGOB2w5VueD3KdtG+?uv&6eQEUM60fRhJTEgO*#uRxSLA+0b{D;R$BMU1lzv%revdU*-s+l-=ekQCZIMg7 zSBcK#AL=W8Wj?3bVlxd5m)964C#+uYxoxM^TU@-}FBZDJ$>+w#-)LyFWELyI7hm=~vPS zuuc|ZSdUjh7_j8nT1`W3UajT@>;-CjER{1FjlgOYXNpvN=4v#vVk7BWZ?Gc7gE5{9 zi(AdVn_7gwu<9b?|Djokwp)f5T^PQb`3-#6U3bc(#Xl;Goc@Q;s7p{=*U|cJNk}*A z2YfB`V{9$12JVdVw

    j;E%EMHG>OJDDV*KLZ8Rs;3>)vyGm^jIK@Zt_J`B`$b&2n ziuZp~1MgvRO}zaHP5+Bzil@4o^?y{;f4`>xXEgn2zdNS(gZj?%`Ml6i9P`3BAt#PX zmuJSpVXh(8mgEG!scD1TV0lh1wZXjaWHC@QF2q1dPw*Hh>Ng_>N+SA}i}7ujkPuEK z@^EO*uL9$fS%%1~Rj@$DScIKcx@b}|%F;Txz0`=iJjB_ti`gkB&}h`HGLw^nos7wk z(WAaBn2>Y{nZi3UP1y-t)#*MGiBJ7H+i;9V^D1mY+ssr!BO(e3%HZm1Zmg?8KwmJR zUg@rc{n&Gd{ZNh~U3sYyIgG$F*#KF3dV5wN(7)bw>gubL<(cGu{p~4!kY2w_e;13G z?5r*-s_tYFl&Am7Bgyj9!l$E>&P@qDsucCqc1X{P8GNL-EdxKrSofewpIx z7%$^giJuBQKP^MVi8S0;$9Que@DG`z2TSqx#&Xu4!G$LjIC#(aFC5Nf!a+^@x0y`f z?GJ0<-)1t0_kU6Y|2mU7y!{DH|373hXCLeTsHXjMn*N{Bz_s5UQ~OCiXZ!)57n2c3 z^~n#5P#>PnkIRU(JYj7~=HQzobEs{08{ALmWHN`w1(_pPaG68jn=EsT_cNKZO7tcy z!=j;}zY51cm5jR`&?AjiasaVq|PMzKKW7_@Bja>bW@7Uk6$Q7_C3dB zD3eWyyakUd@SD;yQJhfVJE24Wf!RE+Cm9Og{Fhn#Z1}+pIQc+%`@}(3R2;e7UK9FkkX5vwlz) zNefSpXH46_;Ssex{GJ;87(P(okg3A=xlE7t+L^pL zJ$A_SW5VGNW$IIU`a_uvBGf19zoh0za$k6ClHA{k+}l(eoIpInS5;i<{$L<~E5iZ& zt=c(}zm>ypVRONy&ZyCR2jVwtgnJTsr3m)5BJ7nm1ma=}&ev(f1Ca;_ep5qKU>KpC zkT7q>n35t1nVo)HW=jg7;<{+=#!y<+UYU(CLis!8QEp7;W(F#CoT|EpSa6rz!vPbP%i3OeK+`f!rN7roWY?6MbCV!~w z%Iu2_U+}+jJTA%PDfnMG9JR*uKAGZIC;-_Y9K8ZR(2p5$2R=rt3@-kb;Ls09R!jqOjw)E0==M);>r z+Y*~23uQsW5tI{UCR`Sl5S<+V*DHqDr5-MRb2r<=r0*Qfw(KN7N}l_@lBnV3fIxn9yd>rUFMy=mE`lNhb03&x)UC>tn!r+E^?+-CN_f$*Fs5 z{KIgQP$E}6Tp85ku9y%Vz!8;b#Q*5x8nSh}5SQK74OX)K!5^~xOtzX{umlT#A)cK) z{0Dz=-kTQpA#dc@$s;9Bag(FentT&C);PpJ*&WFz!XeQXO%?-JYz)l)c@xG2%cqie z&*3z84nGFR6Va3&G(~wj4Z$s|f-rTLrRX-0O*5LlWgy>il`aK@~F zw*+Dg)x=mOd`;UHR*w|(CJHc=2B87SK?%wz1r6u4EKZFwmwrw*tt~kt4&TlqyQy)S zyq~SP0e=2cMuRtFu(U7Un-hL815Px^+aJz=(>ieYF@j?qSpQfDuMkd@*>N#AQi60y zoZz{B$o@equiy#e?qF}V85W#s(Urw=&HB>u*DR6pr(Z~}`&l4l`bUf1Xm(n@Z;C>g zeE6GUzxV~+u@dL_JN~wkl6Jr30(WWVkQyuMN2zn$uPaEW|Fot($t^yIqp9|U zBic)O``3m0H0^0m=Iu{pv?spf@RJ#E;x7(=_7nA!g;U~%tTlUH>A!`dFW6e%0tCRX zvzX(7!wC-@K9&KeadP;{40yWzVHFNtW0c{IwHJTesq~MSR1I8yi{M!M7WgHOVC}<{ zF-h!|=Ydax!n&DUSN=$IUl7JW#WYOrgAsO&$?!fT;;*Ad!!qm z+g#jKFpgaebJX1`ekeaBSWvtAJbv#BUF)D8ClMJ0jNs~pR9fg(RvDM=M4Ku5V9J|e zG8>{Wvn%3_MsW!OE6l8vpXYajX>NOgf`EuR+?b)c>_t4Qx~-Jd>A8sh+9|lDxhmo{aMD76|m&-KNQ=(pEh`< zG8Xs|Q4WeyyPd_vQKotrl#RSNM2h2ODpR|GGN3bCPFa5)ZPOh>-K7HTd?U8 zkhQ>SPn1U8#^}t=(>gcIK>{Ywg0-x{TGp_&j0=fGZ!EL!G87=B5|Q&t)=OASN)7^Z z^ZN2zCAwpk*GR5(8uLC`jb!mkTG0?z)Kls%jyeu)E3=q_^ExUAn*yQk#ZB>6uk6Hv zhB~WaSWuTsT0CwD#6#85nY5}yRbD3y3T*6HQz?WsH3`+iCC5-0j@1&Tr753WLpays zoS~3#=K3UfA>nFs6=mHz3#=AiNH|>>*688Xtloa1t`$X9qZaA)CRea9UTZRU)fGic z{dTXpxwyNx+uyN%s5&}hU2hx0-t2|?U)f3v3#zKNwAJU^^ZA06&pK~b%i7shq5hR! z6|})iLghq(6cTYi4yy1CCI(Q#6%$vhC#wP%?cfw%OIBypJc6?TSCE@bxFxd61g)&d z=dkDJp$B8R8I#~wcx2z;k!ucf?c$l|uz{wq}EgWc@{Bv_J5juI>(LMUZT-3})`965n1ah{M& zcG{AVV4(eCb)@3L9ftz0!r7%Ai(1@4m!UFTR`1xG+#=p@l%1|wzS`lo z0Cax*rxQZbucf#=23cP$ED-*cm&_?F5k+GV`}$xdvSa%lk|gJ2U^3KfdSuG=2=aw4 zjgLbg$HWCa<|G(&hPB`=<7gfZ$VOI2lL?gVtgLxCnnOj*Y>pzxCeSFogmZJ|D~ZZ< zYgvF4meh}Ay@it?ZkzXG3H%HE3+B)5Xd|0hk*~mRl;Hrf@Z09oDGeyPDu&|}mqKOa zkw<__U%WgUg+cZFccPm%b}tqGm&$AVL|de^G=l%#QP$ia^cg*|(yqG4?e361+_kXQ z=dw1;Su&>~GGjxcf3!Og3p+gFXjMbFXHoq?tNz8ZVt-kgzbKe|(Vj2soX$L_%~U2u z25b)5RN$@XuPxLWEp`-$_II?D54MGTv8Lj1jV(VKC~9?hXE#(#t0^q{f9r@qJgOM< zzx_Ij!dbezq)zNx9-#t}7En1z3qhp(!|s%5|{`pBg@7a z&VG!zMFc-A#SeCrmxKkl%R8gaM4q-rK}#Fc-W-#LuXEK7x4XkGL%!4L%a^}d5Qus_ zIGamxe6Y1tFR!s!Wm}P3{N1F95lW$F-X*QW8V7`?M7)*T)gqFv-}l*F@)Bc-`@zec zL7UsO{{dH-ycmi{*&)O2$yKKOo9)(PA&1H5_|WQj%4YlxQzJ2^VclKADU3-clqE`V zMxzyGM>W2}Y_H(eMsP!f%=40{{FkX)fjcgx$XJ^PCwBL2nq5&bds9!(ra2WAb2jxf*3~sO)z!&|qq8>lCpOKB z#b#|v^lzLMO>USmXU_ELbLPwd9!bw}NOQ$zHlD^r9i`;4RVP9frR7AZwD^*^U{Xfg z-#R9-IW}`sfB$A0)8_vEO*3Q3^%-NDE&WNFgYzz(ea_3u52*&zm4hU!maCXo(gS1MwVwQjn>{2F5^2m8s%F3AmL6gDpeO0q|`R&09XF=J5 zPUWyfTJ@oA1zx@OtmJWT4A(?4T{s#h%;Pu^x3W z5b&($e?XU^$A#QhLFGe(BMW+gh174sq8aCRin*`$z)9B zx5a&xVV}j|F@-E;<<>)6ik-5&q`Jv@omXGxPrfWUoIW;II@f&ktcr%Ov5IrdWAWCbdwWl|m6VS}1SJ>f>s9U;$ugCaPTmK$#l+TR!a}kqUjWG;pT0 z(MKnrA(fNUX4Zs8aE2aeC?C@UA%DtKsODSRQz(XrVua}vYq}ZD3kT8KNW7-p!49HW z6grzj-%DwB={QiRg>`zqXF;F-QocJMJEseoM!l_(Kw+`6!>YePV;Kt(Te(BXEt!)?_S(;NMHPM>YM#cIK^FyHAaa7TL^BYpKHm8GD^ zGOY1KhAw31PD}LR0uWu13+43!wO z#2+#~5V2QMT`;GBdRi1Wh7%!%wwu|UH;A-5It3ip5wwKLAQ7tGQO2)qr#-S+YX0s6 zuO4s~>k}rc!Du%P=!zWlImuCA`(8K^3??GqwH2U42llXK_)e`5Pn5?BO{40!Gd?&6IYI+=1e153bPy241B2EqXxcX^jcg`G$ZrNiuddxFquTjZInU807ZnV;iscStz6?N8YQa+)S^mfWr3a+g((X--Y~;_oDEskCZx5G zIlabZ2GfAS=eYOCS08gaj4KRzowCdN;8%2ax$^IExpw8dMCXLra+lY)$(nbHf4^WN zD4hjsykCeVBB}4=%b=6xGyvQ(N|;=rjzZ2ciawDMu2DKmJBq_!!6*zX^d`B(;(zcf z|Ln}a*X7!6;e+_R#h1UyM}q(XWB(cg4zzv=dN9ffMdOzMp>V%Mduqk#+e9ow$v;>M zeb;RM;e9Tze#np~%lU@cSR7Ey#YL{4iobB?pLCR?+`jWUD-|%ncdMX3zmD(Pgn?tQ zNkEn3dxr;mpTfGJS<;h*&E(0XB||Gx)UB{+(sR0H_|E76+uq*>&379 zDmj{8@b_<`4%^yz*@ST2kR|LAb=OfZ6YoJJT!e2s1f0uZh9_%@%99&~xsK|f4tLFj zfb2NYDeU63>SD8e(c6(4OY)#2X!C`WhfMY1SESkRMT&L1tG9ISUUB+XUkts9hz}R^ zxa%Dncw3^GEP_GI!~?xVH^g)nGU#(1ih_et3kW%KQGaof7dhy0nG2;jJgu%$-0X`) zDSX}tG%FX>n=vN%V?9z)`-Wm~$6-5Ju`L>c!MN#rw(Mp>^{=vpTw->fquf4*(`v(~JGB``BG47~Pov47< z9_l}=eH(abAXMIDwKRdjsDR58e02YY*?=r|s#0b|L{puvmDCQ81Lgo9{_exyI20JF z=im3cyOV#u`#1N_|5|l@WZ^YyMcdieE{fFSTjPJd>Ia`+VN5f7RUN6SiqJ6uj!8p=jh&gH zZ7|od*--d9Cg;N>Tl&QE<|ch9Las4!ER4a`SULXg;H9H2vo3vj<;sUInborL(!udR zR5kpzVSU5MUFUUge_qso{_~>l`SZKC-Z=u`FK&$1iw*fpulefQ9gl8nYuondjC&&ztw@S=JCJUvh0CoVJmq@Pc0WbdnZipva7>F3EcS$yd$cJsEKFNi(=`A_Go7T@HUn zg(r9EkFdO3f`g94OF2FXp2BCG!x5sL!fVF!m`r$8-p=uUOeXwJdY-~VOeQ=}dY-~} zOeTDv={e#3OwS4blb&n7PwO!0Ijd1Yc!|kfAM>2nW%B##`ovTCQ`c$c#Cy6OY`r0` zh>q8CI_7ZVZw8lVP66+o0^XMaCqCuzF--L|3kz`Ro(YP9Gz2px_9sdcg2NC>0T~I-5$49C5m!VldYdZg z)Do)})svP|a!)^-V%jcfJk{0FXf17sEV!~XJb(GwZ4~X6d`kCEyfU}+#`MJcg3?0U z?BQ@ng_kNhL1yr=60T{i*i(eZ8SQ4ndxg7m!uy0nX*i=L-cP^q`81r-Fo$<$^iONU z;R%7q;_&aL;RA?vB-zH`n*OI{^iOL;{eXrp!4I`Pqg~#AxA1`mPBh8kJ;K)%_%3}D z%j4znIl@(GIFkVc$6iC@Cn}%fIm6Q#o-=%9KTpjIdkxJi`*{j~*lTirU&U8kW_Ucq z`wXAi&o$p?c+GyE!Xsn=((IJkYw$xn!12TIthQk50KCd7zT=202fj7WcTc=8^)O!f zIl+Z@CZNq=kG~J_`{h5PUk-nl;NT(F9`Q5|;c;$vL7jaZlPKYpDp!JiwlRYW-G?>l z(GK>AE|{J4h`&YNxJi%rTi#rc=&hVDF#E}|XrzEn6D|r)g?&M_?e9L-*1tN`HW(S$ zFg>i7#_I-V3>U}!w%SG8r_mg{F!!@D$0FfVRAzm!gV-DV7dZI zT~b0aP4`T#cCc17^E0*LeGwAQ)Qa~-_&8H57T0p72Iz)cnaI#sBotCkk|%0H(1Q{n zScl7T)KaJsxp6xz12>di;i49oz{ahf8T#%M>LsnFCrjMmcd zUIqTsEO?&+e+}@3j5l~c{T#0JPdvxrol5(EVg01x2~9sejE8yq0S#Q+|1<@jllH+A zGtvK@j2C%7GnDoZ06wT0=OBkG<0RhX?Yk6s6&q(7-mUa=l);HtdHWs({xXA;KE>du zC(n8G+YCo2Awy`S&)Zf9}=cG6|yXg*1Q`F*7o08=;yXh3Y(nzzLPSGn7e<(Fp=5^w? z9We8@=JOPQGIc|ij89WKLmRa-#w*MT2irmno}g$flUZO>i-ci12;c|onwo%ku#WyW zo{FyWs`=BJtZg^0xM)tE@v@eVQ_Ghv+7UT5t^G;p1wLD0)7<8zqlxNO@qce^(*NuD zBdd3=m@n-cubq*=vVyP9$GSGKz3?pnjB?4UU)~i zll8;l6w}G!$1>m~^Ev$83^?&EgUd6gfcH)T@6*B=pYVSAwQ$Ct9NswvJTV1)KnvIO zKTQi~e9QZvJ_US+7Ov@MPz%@e(=`RWI|EMq%)i@{0VjTDaMbJ5t_$%qhd)DbY_5sq zQ}Qd&TP>)`yW$wa<5+AJZ6Zo0BFg0^%*FzrCbPRp?Y>enhEY94SY>p39zRw&a8^b8z}tv|z(VhIep^FyR%o-WJdU1T-4JXdK>U#$k zh{+ekgf#!=Z(TV0(7r9<4Ypv3Phb1k&iPlYY=RXQa%?N+{e9TP>V>LAJQ%R%A^eS* z3yX$PK{z9PyI!a(_W5N4uBlcGcYNG1iXrL?+rJMC38NScOL3Z=d~d$nYFc^UYZsmR z+#5FzJZUfSI5% z62CWKHo=)}qxR7AsXghbQ#@yQI>U2@uk7ckc|p(5*+0op{(XkO?Dtdng`WR0?=yU6 zzpwc|!)x~Q6n^6}!|xfMGdxdvuHqYdzIJ?&ArHeY{v>!QAAuRDno1!JWPIO%P+9#5 z1OoTgF|Qc1hiz6-USHNUoTVS8zEiF8HZ*3T~9{Mf|_`LQ1+_Yz;wxB~3X z%|9`IIV8No_yrQcwAARtdi;gpaCETyzc3Sm)BRrzE*w|jzKK8UI~n|a*3WUJRyF#U zH?n^IgZCp|$@=GTx~GD{g(t-wX*k_WpunHbXiwke?T>5V+t~QYr-S)2)6MnrhP2aJj+k#KnoF&@sga&d!Y&YlO(KKl!M=2&#Lq22ec zUVZPLA)ENE?caLj>Xr59zL5O$qhC(``Q&-$ofK`--VI;a*4er33mg7^&7E7?+P2)e zM%vT7df%5{IPZ(eKfSzT$IGJqi(eG&F9Ri5qlrIH{7EihI2@-rip`=U4QIGwaN%j; zuW2}23l2Y?0S^L)9R31_3-dt(U!nHoeFF}U3-A(g+A!Q=%tNIqBj9ntq5lPcF5z!H zk3zqBhrNebTK3)%_I*&2d=0ysBuQ{kdL@49SUteUp%>@DJ6tEsNK6Z}trRrHSOF`9 z`+;a-D8*7)8I5Emld8oc#8oQs^X&>} z82L^FkA@VOKWdLnYkKC9@}8Q)f>?jOaow$}Y8=%=oy|*nLetK_eSUJ)<8uc}8q3|u zccrJ3?|I^_L0@ge^Kfinv^6wqpv`WHcQ0t1ziX%*6TsZ}VnU5%n-|GDhdi4YegIy8 zKNeH{G?5Ce8O25sl%9e^=i_kU7{M{`a@=Fz3*DkqxIU4G8!BX6wg8U}uN7IFPK)3v zj0k8(>^b6O4F;xZ!(OIjGHxSB;iqW7gEAkTNd9lAsj7@eLZu~MHv+3XsmMU`?{GH{ z1wO=aEi2H9Ff!zlzyQa8p;CtADeUVyc*)v3H?=zAiTWj526x>tzh=|s^%b-1rM{~6 zxt*)e-mqiOo^|Jpjo8L>Ub1oU$z)w7-+3FHlm_r+9xy=KG2MNuP%I8cTSFA+RHjUa38Z zFq6We*@M&R&Wg5{#`<_PSQ_wSF)ULoMl8UTM#5SO|r@Z3s?cVKX#aiYN)k5y?V< zkmRsUrz|(iWxq0-l0Wh`6gPO2-#40n^}XU|$Da#I^7H)#|L$xm*6TkyE%iiJ#KwP8 zT`kqdR+f*ysMmW#$%UoU!{HeLaV!jh#_pEG9TRj{T^x~AI1nH!W*ze?YsY30EM(4N z!KbtoAsP_=)qQXZm(8CN4-j(2my=z3DS4T=4|FmJdHQ9Ua1{kE48pPV@dI$kS$PqI z(;kBQ0OA0HS3z#x!r;}sJ^es?18`f%--^e;2?uj{#0kqA+nT;Q~Q#qNyxDmsE?9hHTJl^tcljtU=Q23{OJvVQ%MQK{#{x5_#y3JWXnq`kuD zt7yk;F#ijazY)KzdmH@Lj*@If5s_ljD?Cm>dPRv7*sOb4yunZi8?xc3EQk%&t~!LW zwEMi^6v<0Jo^A-2j113n>n)y`-C6D|DAGN=;NWBT_SRctmZGyZ@97Fuo9TNK*x~h; z8;r1ZB_^KJ{|uVK`NBR7#r%{YKCS;5`y!2NjqZSW1)@oeVnPV$f0paH^eXR%o>M#V zT(onh`gsba#ncYzezLEMT?PxZ3RePqE*27J({peOTY-dN9ax+rdtZ3LVENzyqM_th zb)Q4qm^kalv?tG!YUvH(V%%W(qI3j(6eftcMPaGZlOWDhIzr&d#qzulk4i_N+u)rm zbXUvY)i>fD)Y+sMOME=@MOdTBl4c=rDuicJtC5kfrN3|meL>$ihW>@*KkD2Qd(nRz zzXO(To#q|EC5Bia{E07W7^ehy~KQPrq~hLl4n-|I_;uMs;rCG(Pun zG2f_(%La1#;fMb##_``APs_x6#UJSGf-6N^%ZYvvqAiFED#|5Xap=n8`elLU8F2(D zmzFjUR>WsC2c*SuJ^r_mpC<2$0U~fyz4feaaqK1vrbvG>W>>J51o6 zer*Q^31yzMXOK09tR6^+2P}CD=MT*uNOZK-)x^p}WhBz`8ZC{Hu$96|+2w;QWDZx0 zv6x}iSq&{DT^*J*>GrnlD=iTK#*>opRR5+m5#}S&TBoZJy1|+9e-`XO)fv}9w!$QdtZi$3M@PN5 z)#pC_wyx0alV0{&t-fb1VfUE$;70L*F?T2*EP%d#i@wH{z7Pd~zL07S{UzGg9*ajQ z!cRAT`fayQ+)6zr@AA2&H#R2Mk3lDXmiqj9e#kurxlU*N`;3E->)c*@NJRaQ9PlSI z;H_$V@eL7rSE{{9g$rL3@8xjRNV(6@p~6uk;tLFZJHGqRWOERIkNJ?zVL?v#lNs<< zwLQLjwx+#Fh2y(xI2_;oXG4by$9LB;IO3aRBhzi(X5ZD^A(a8w+&Kj}YF3D>J?cL_ zrRfK@Dh@}4!5D`p_v5mLFRF0yw{&L;@PnF8^0531!2boyNBZgkSOZMhkjLU|gU`|C ziK*HcV0+~KU_76lqMyH4+hA-tzJ+lPvvFcPRP&bUc;fhj#>=JkrWWi?Q|{-89Sw~? zsDJUJ9#hK+OlJH+`Lwj&aP*VCV>rs+`SjlrI}AnQ+s2>ZJGDGxE~OuwODFfq`hlVz zh|pxjj=ekNCD>=^4kXykb~Nuh2XHDc_cauNaD?OW7QZ0&WK&scxm% z9btq{C2Srp{00Ej6MUGipob=fSY=e(q*!HA%V70RWCjVNl3cwoc+#nFRH*RNlCFuHhu zi?5=kG|(LP`Qpui(v}LJ{>Iw*=XCW94)%1NGrv}RJkS#NdgCnt{6w1;e7yxq%sVE^ zrHfLOI(&A(feuwVK(x?bHo(Rvq4*sosToAvT7ZcVl=+jaW`vmW1nH1Ze@%P*BMh=<|pk7C%qc&xjhpO|C@oz|uXl zN)K5AP4ReBz;dW`)^1~a-TWlJ5J^C8E{|^N& z{-!U<$7nT58^TU!7+=DQ{2xCz(Ix*GM7G`7#?mZ!{N{mb?F3eEZyV^Xh}lADwLuQpj=gcRg&<{yA3-1&+^`TL zxrXfeM)9c?s~zFiNNH2VJ=9|=XhuafoBYd}_bra}))vtP6Fu`PdmSd5(P8C0dm8j* z1AX~vhel;&Eq#&vSWxJ7OJvxBa7=y2uKB)Xb4MCWjrOJjd@7Ruy!>=&Q`A${L)7H3 zmC+D-Xb6g|`2TBucZ?^c>nC1=Mn7wKtP0wV3kjlRS)t4;)xdCsV913KcMk_?m;GDFKK-;RqeTczvAlFy0L>yx$jKfrCh>2LM%Z#k(u2}xeO zGYWu4h89vfMTxXM+Mw1c!;rK(6*OAdRy`r<`s6o`91&+E@4a7qUHOLmfpop`yV!fr z;zgW87FobVnUSuDGrIdX$t0VtZAIRCi{$jE10p9=rfpfYUbaxx0yLlXE z#SHD6DaZ!cTgrlMgq4Ke`Tj%^9wN;*$Fpqe6JdeF4fPJ`w(;@D$CCFy@POEse3kQZ zn*OHoZ~D-?AZ{U218EZx;^QD`GHGM)*gfe%TCJCPC20`DBV!MX?|m=%DyEOV|8L?S?&8~|r4t>7OS?r6{xHmViom1m-I7GpWi#xjJl;Ir^} z(pWrj3h8#y%23iX>4MTu3Zz8El{B1GMdc|p#gXHlSaX=pVKQmgREdbvyb;qtk;cv9 z?wW|N*lEkxJMu4bHTTVm&Db~)e0py~qr>BrL3hL-sX2k9|Ix{*=qvNP!!7>pY6_F^!cJKLp);TvJAgJ?Z-kW*< z_cwky=bp3A-fOSD_S$Q&-3BEl4w{gkHDEwiZc!1*!HU7&0`)_9qnEcFE7x1zE5El- zZS{4KBaHsBlEayIhqWir+p!2cTdT+{5vh7er^ueZ%oatCqD?U!-sipe4%2VFyRW!H zP1Nc57kvMFJ$;wb@*ulaG3aM(Hyvf?&>cqoOw05Nvj{z^Hw(r_nvup^Q}c;0E93h- zr&QP)gvuu0nw4odFoU7lrMObVQrS;hW}91$dHI?8{8?QRA|r}R5QxZ#=mEo3)8V9& z33-K6;^U_j=1nL`y00MbzWjobQA1{y#wGJ#TbQmLOl^UQ9K$7KHXovhI& zFZteQO&@EIF=J(ZWgusqC?UZz6+_?DGavdxEmmv+;!~K*WlXxJ4)VT5UJ!n+TxCr; z_h^R7P|mZYlKDB=RxDbLmR`Pt+n>@n(gvi{x!b+ z_oPc-=X_JB&4Vp!Xdjvl3V? z<8+i-Z!jpmwj4@l`zRfL1(f#tU&z-OZ=hwBb}Q}fkV?OBMo-2$nG8dJMUH^(^(n8E z&Vy`Gg7qj$h~9~8x%P|LXz39$YQuPql?IK$78!RzgIdOfg@=cEJG^tf9pPc&VQQgz z=hx2oggEClt5;v|r{A1)7DY>RYdmk8186V(m61mGAsB_r|7VEWR`s?wPS@b*LA+}G zqZ>y;g{h~H#0-&eqmRTEWP{S!&P(R2m~MD@^$pJW#5m`*-c^@gs`d}#KkrKr|Ecw; zX_Wmn`W4JsP-V!GUrVnmr*SP%=p)rO5As#}pf+F>82aDCW zO6FIkrB%%@Nh>T&vxO&@%_uIOUY6WmP*hl;^I7@Ga+Ug)Z4zmVjyp{XKQ4aDRYv?n zlFuzDD#F_*0`c$58}qoV&zZiqi~X3P6jtVAr0AxXMpmbFyw;x@y(Zo3iFyVw;gLATuf|b3j5uv4kmB zM-MeE&7Rfa`YP-5>y{}we({)7Z z#*A?arOG-oG4Kiors;SUi6-57)!7?eK&6y;W0>E>NXCi&hut8o|`O z{c=+9zN{+-Z}rtz*Bm*5?iy)}GL_h0H0rbLCM(l-nL8t`kXQ}6Q$+kOQr~Dpr7BAw zN@j;CX6kcHXoOLp^{KFFgQQTUIaNnWJ?^Q~wjBk9MFs82Wz&m`XOv0zi1_L)JJlt& zX}Y0_QrYlE<}|R)RkXT0C@v^IzA~>ODB9_VIq!@Ls?4oOU|~kk@P5OC zVx0aw42!SGd(7c)vW8?#NOy$!$G9er4@n604|SwZ$Oy5T{2dt+G92Olv8fX$gd_$= z24{{JsZwt8ZZbz{uhW)BE2T%))~Rut*kg< z6X(`frk?zgP4(yY38h%+aU{pa1mZdA`; z1CYk#m7cjQ<@BH85)$I#6B0UoS2ZhVM1D+6{)n8SF_Dp@i*iQvkB#lmuhEf_W4vD` zM#m;3#6~CfT;Gc?C{Ir>FNn`bPR{6iPd$0e`g_wgjsPW4ndMvAP2);0SmaPyj=L3u zk*#Ez`Mv-xtl|^ncmcM)lRCx-*~zbsPGg`F$T2_q++aK&nH6eUIR1}d)pX7I=f(v) zD!x5WF6H(T?~a7%J!(DwNPLf3#+k0MT>>o^8@nfpOSYF52r{$Vt=Wv_iYwKh@`~<# zuRB!xzLpifr~e$+LvJSf#w)Xqq}Tf+GhqFNWZ*W*z-|9wyqxUq=V;I_L;qFm4-Bxe z<=nW5_sPsM<~YJ@ajNOYBXb<3r04cL)%(pX0r7Ll7_mNfH6UFktlBIouJo+ZB+lPE zV~47K^mcRAi=J=1zw!Ro^L0mM%Ylzn#rtk_US-anxhq!8-IG(97cKKyCfiJo274_B zJ!avof7O_aYJatNuIgmV`Hlwbd#e7Pez886)i(S1d*gfK{VBd*W}C(uDI4+A7dq8@ z%kz%e*3Ep+`%}d4``&ne^7oYKGVeOaY^?z8fuGZ``(d9}Q zJ#t&S9W(6bDhUe9&t=YY9A+49SH17ZP`C_%_w*p+E3?^Rk|V!W40;PAboJ&ZcCeEhV>h0z1rs^{~lV6+~93Sf-D%5(!mrrSe;%=Wp-|I zZze24vz$g!H&G8qgD=4<6MIASX0tb>RiDrO&*akj#wl_s`sROAnM}6DQI9rIpEE1d zj0)X%NKk6A3_16ywyA8EYtJf4PjOkI?fp&ZmNRy0%0~xUDm$1LQl<_ySzoMbe)}V@ zX8Ub)zsg*r+U8dFi`M0JnK#fel)f+PupjbQ)p1NE`LP|}&=Whp49Pj7j1KQt=iAQj z>FDm44z5X=ZGGLO*ndYlMaoHM*%*tyt&|k!_{azaRf2ORY&OGov>`ah&$2lw81rL$ zLb3Kc?UX0@n2k{a7I4T0-O}iO_XHm|vpD>sVq!8Qy!rLR^Trm%kBy3QIMXZokDC%( zzG_BtVoY)j2XjQ*Y&V&lL1BIoAxsO3%FIkG9+TsJH84CfF?n=V?4Z14Q*egM&)+XZ z{N|Ex%RIKH7^~;|niJ3PG4lPLGkkoD^kffpLz5rR{K*IT^a;x0hjyD44+N^jcic}e zt7z1vQ>AYotYUBf4{^$xU~&e-sbHN`8O*tcQvu;oNy%d>V+Z96r;>e~`oAk5)2SCR z_Gj^^=PEZmXdJa-7)9*#&D3xfz4bY3#yE2Y!O~aQGV=uy5eq2M2*V1#8ayWGXv>nm zfml`aBjQ3XVorO4i>l9l`hgQ%w%fxJqs9cQj*{G%l=zsSa7X{>L8T=z1Llv+N-3XL zS~zWpD=^aTAD9poG`|tgWnq=lk$9w z?g`en@bJILFrKVZG+C&I|5FUNZVQZ$))~(B*Fi&chF8MyIlT;r-~YcHo>C4MTHjT} z9oJ%)MJv-E#7m`*B+Al>2%gEJRQwqjin2wx)JGXCHXfh$cn+t7AZF&WFsp|(eBU|W z!gBqc!Le!KoM9Cl9Fr0jo)#Nyztvl*K6OJ_N^DS2ERT$<)RTplGu3drjIc&4`WXg7 z;OR+F7%2NMq;E_1R;joETrapejARYC&n~!V&4|BNmqC=jP`3@7K@%Y-;7gAww2c zrKVQNwKCOvarwv*!-tO;S>B`5D$r>{%fI-%iPMo}8>5r7s4_LRa#0USBSw^$1KmFP z&*6`%R8v-Q_NSO5!d{lqR4t5A*=ZU7jCn4d*Ph+(86JT47$qhxGP7r`ZjWh4aUI{L z$`n@}6k>P8SM<*smK$|LVnRelsQoE#N^n3_Y;r=;$Sk$M`(jc`Xpk%_A$@GMI9oX} zv(NtV^ks*A>a;#%%&dqOYfy{SQgk;jQhObHPp{{1{a9@H4U%!s(i zqP(JhG4bIcLE+B)=;DC`WAdgAPfs4cVCay!Y4*`hKfeIK(Zk9|1_b$RjFgH+LyH%T z%*@D;vc|qpzoaf^%NeSYksrusN^d?HDO1eSQ^7;hw>^)q#Pe}tZdnMdSaEot6!O0( z&(>!gewfpvhE?c!)|>gBJZGlsdHz39wuUX^a$KeO&JWGPVG$xDrqO7AvmEhcoHdF4 zsG7u1*0+tI@n+&mc4&5XW<)kV;8UJ9>FYoGMjaVl9i(mvP7Mo9iVE}#iwR212)*G< z=5Gfij4q<<7?;F=e|lkry)4K-Fu6E0tso&FBFq%ynHn6BoS2?cv2aMqqLG>5p@$%X zsv$P7%O0ZB%~_eJp&RFlDn}K{tQ+apndEESlDw?i!y?e4wL#Ik#3mE}xR8f6?QZ5(BY_mzU=TsaC=R>~u$Sd=nX z6PG)aHUGg>ZLtxt(y)17R0|SQf+bbfAxgUc!}+YYzH82=9Z6S)Rt^rZ;oeN+U?3B< z&+vaTxxqcrI0-`Bq4Lu#t$MnWo+by9WroVJ?sCW)153j2)1OOLFICPSU6Pq!792aL zVEWt}hQy`bfJK)QgmLPQO8^=q_Y>fGGc$&ftw}0%=w5aH>bm~H4XP-db^+LEURH(~KKXa~> zS-C4oE-8sYP^TUUVvqv*{ul9b87#jMKVPK2GLELwILXT-OB(e>Pj1;>$#-k!__^;r zrmH(@a9VPtpC!VP=$DuhaKobLFpGVCdcTl05tf8Fw&i#`l-a_^&|^U%r}R48ieMwc(vSMVR@Ok*X3K9U0Mk zm{yXSBwO>Ta!LyB+Tq5TM8;uSjCB~3tW`B=?1T*eu*r$G_~|VzNx^}E_FzkV;t1>O zQ%8Il8e9>wDrR%TYc79>-_!`1ia*pcPrcgqYw}RXyl+f3$d{d}Tn2?^=w>*k8cMNY z=W?+si?~y!$tm*sIATvGBq&=6Rg0I$I+uYCUqH4E!5Rq73dexpBpcn=e7YP&t5+wE z$UH?3ESn>vr;Ye9B)B4UW$c#Ke{}`0;g-nT@iLg#OTVz6)e8puh1iq0@5@^c;X?0; zLH;Eq+pH1MC-dB>mu0j&gX~W+o^gtE!;lX`g(@N6JvU5046E2Q=%LFV+87#bE@c^2 zKzNxcCP?~kDD}WcvL|MYoA!u*s4pGb)j{;#LKXHbj0-lYBXT~{V5kV)PBZjG(9hU2xLT_|@jf2EWdk+%h=sCM-{0_F~nqszD z%B>N>+it#gXGpMZn$2&ZU-V_yTHg)z-{uT)xcx)FI_U7fFfx2m)Vs)71$-P2AB{7_ zdeRnG>q%#b{nHd!&J6Lt#4p6Y(m&*@_Z@yhLF79W6g2$X@^7Xpx0>Ubn<)OYe#*p3 z#>8Z9f<7&{XHgj~iA<;SZExk9tVlN)QvtJ_mwl$N&EKERfBJHbQq`Vu(h}#Bmpos! zLA|2g`xR@L6XJ_xep*p{0&AL0CT6N7^qsk8&pgN5yrG886*>C0h$(l*WVZZ-BF@6i z=zSn{gFKnL%<;^5H1fpC@jiLt;VJ3_kSINXVbe6a$jbTmM{!Av$QA%bU&Db?Ean85pQ6JgLQlr1K;n_*cgS2ziD>hsh z#Xx6|Xt8)b%Hw6q=J9ErOyRU%yFuN4j`wAsOeOdVN3A>lKrg=2$X1^`osRBa+4>h! zZHa>F4c@<;M5J1K{DEFoPAOY`X#U?>4yv-$ayI)6{6>jVhEBXs)@_L>(N~d)8qC6A zHkF8ytZ>6e#XOVaFY&?ck4TTumz1e&gRbxSDw{;enzBKqYH(Syq`sTe^a&xjS~4hj6)kdl?gSw_iT| z$dQ_>ucj!NKb68>&og9yUlS%Lqn`K68A#BnKWC4{LglRoIig(OC0|BC*_zR6VdvT= zysr4O@T{6yq|!k9Wt-2Wh#Dz!efF1ZVrzIffAlBpW6LM9CF76&MBgg+M~9Y;avA*e z3ysXq%*bY|er#pm#=@!0Ju|xd#s<;GPQ)^yRAp(jz9-g>HFwq*SKr#vbh%es;tq;- z1jWXL6pmV0HmP}1X6nSV=RO@0rB3$TYW{OjoO!EbRQ;vX)<1c{=$18Ym`o8N*=aHP zlWI$gW(-YfiO7pkN4`=MRTL-nVYK%$>-CmM{BM7UtTCPSxSiRk^GrHTL((qI~pYc61;3_Xd|$sr^n0PQl8# zAb5vlx7)@OQ>YxEI4ur~lU;jHOyuOR*uSlZEGdeh@?mMAtSimP$WHb1OOy=`WFulZ z7D3i7={*_!?409A3HzFt=u&J=77Xf(PsL4R^5!lr8@!-0HL+w$;gtFU(~Z8(aF-PY zMwaicpLJ>N;PTd=)D=!0IV3JHu;|*oIVFj?!9gyE$y1z@JNtt93(lRIRyowO#n=Tm zJ-=q`yfIsT-QN7`E2f9K@)CyRfBWF!QR4%{6R97W>{)sd`xxgbt1A6ClG~C;KeK1A zX9n%5hq}7MfK{m^`rx}9iRK%DsFxYPKOC%)*=hPfMK+V}Sl`*Z@YuIKw!UX`f$BRu z&9@TlEdR&|wi_8;T(z{yl|Eu|+0gL=(xa1u$L5^5yrE>t9qr?*&U=Y|h5r%=+=e)}K>8FBqL|KejMbl2o=moIrh$?ki7BJx_XnutTDp zf-c?j6i!=b2XmX*Qf;`AsA{Y9lX>(CB$Kv{h_dmgq9M&q$3LLN^_@FT3SU{!6I8KT z>=v8-l%FVedrt~dMe_QEr(|S=hNWbrOBFG;gk+Ve-pl6{b1FfaoL!5n|NBS?BCDt z93_V#pExSF;VJJ!R$onI*S%)4$HU!FmwVOba-F)MaZuh=yxK?k#TR#9rp{H(eF$7| z0`*((z2lC1A&l}i|3ar3zdkelnabd!*{FK@kq`#S$GNGK46&gxX_+|=zXX~WIrf;Q zg;RIzGMO1(+KiKtsYJ4PaZs^(>B39TESkFQ@rL5Y)pa?tllp)W3x;pGGI!w>%QkQB zzKVr>Nj00UpS9+}_2ul6&qnv~b?3FC&R#Mi*!%6h`}W;Sn=U*)pPAJT`tx}Atr)6i zi$Y&Y2F_S`W}+pwSZXbkaB3=1xFDU;ezJ_iL9G%Gq`q{c&(R?IlpVG6j2W{RY}inL zV{Kv4vKv-z_|z0QXUeGA-e=UK0~ek%cFOsSioJJ}s!0jtJbRn%9MX?c3M%ttIk7rH zsE~o4r6fI-z3)|Zns~w_`QRWXp*R$W%}L_2o<`Qu&=xcDn1ZH}W5d<=2Rp)@j&R3d z^|h;Fk{lV{BNV>YXNSh-%E2&{>Y;IC$;h?DvqmxUk#*D}q=N{#K(UKJsmlPD5 z5bn2IeR{VwBsspwbyeb^iT#VF$AnKVFPK@LX5@jo2`^PW50T>Kqq^!A?o?w$fox7w zCZ%Miq+6VFggf<<%?FS$c7UbS(8Xp|c60T@pyVs1l>@_2xY<;6nm3Di0s-*&S*wX% zuk&+7LiL=^QzwOI56R{LS7%&5RpzbeeYE3x)OVUnkJ&Z|xf!HBqy`VUc;WO*mX(z* zziPqaOY=(ubE2a%(lerDExhbRkyIF285(X)_CC=sUEj*~lDZ+oa_2<&g#?8-Ovyv0 z6_w5&n&js=Bb@!#4c>gB^XBCJ>Zj^^=~E2k;RK$bHhcD~H+}M?_oFACP@`<;c;eI| z?+d1bGUP?P3(Py&yx|j66nbhbfo}gfKnO2oV^JVHz!bd8s z<@J*@QAC%Ug$QZc_;{W&DLf_fxIm<4vBX91Ug%A8vAQ$4qIyKxa3*b3{ zU3&Qx52#?|a;R#S)p60`dL8ah4TcwFBsMeb>X3~1+x{337nGIIai=TE|7u54bk5_C zTj$2U9~tU>Jv7DaVOuWD2zX!@;rpTWtgJ4^z#s;LdkGpyl&da`lJjni{E2KuDruE2X%l@%QcRtwqBM;xMkG zTLy)iKB7akOcSTG=1eHqqeNxwVk>+XJ z2n5k$nRd!HLf3=F0WOi@zO{X@J}p#rR}_~Fn=xZr%lNdk2`y7+JZ_B|T#`5B&uU%P z$OXkimW<5&R4-E_{ojzjpOPwjXS#IhV(yzEUP!fWh4zY=jFm}K5$JE6*<T(Q0V4D>x)+yY#VCsv6YMcG0wl=vudD*Q(XO zd*XMdsn&Nq51J;jkreZ-(08xuOVN~Z>My*LMz_rB-+xxiXznMEpCW0+ns-{}kyeh>)zk=^ zxVR@+E#k)SD@Hj=_OO(gP@4$1InAuMwRUc#6MOuWkD>Y|3NrgZ7jnzIzukQvJ#7Bp zbl3a0#H3gkSe;gDfPIx!)`2EERtEZ89o7YwR5Tg-?T&zi(9nbc?>y7N=y30y5e0E^ z$lctKxR@~So#_K(^TO4+p|P+Sx*s+_VJcvsH-Ck_mSyaUjj@xPdAmbS3Uc*w^_-_AtKt_vXT=&CZcThlk>|Y z4BBG9%6v6V^IWfg%UOiRb8Dps2Q|;Po%DQ!Cr(c*UY^U@g1+!oo}cQ^-_*l%&am%! znFsX(ZI7Sye5mJhd2Y}n=ehaldDx)GM`wKR^GA*6-ltBYXNaVWSl;Tr!&ZzRHcaLQ z)B2k1RulH195N{Od+kJrYPah)2OFI6MHmWA|1V8?XBiB{>MbZnq3_RDT#$L|2cG%f zE)K8Trv|;?%}mQx=b6s-T*Q$ySD6~V$r1X;vQPXfou4oH_{j!oJlD_S)1SZWdoKJo zDHYxaEF16>Ig~2pwMze7=46zH;sWb&i4`fV5w_aIZ|p~lYEhZPV6}^P0H>I*+SMQT zDH>-Zix=j{eAvessh>bRxHmDU*=%U74}I$uq@pO!~!@uf3-+ zAtTax^A73J8&11R{ft2ZO5K^A(0<*ZF+uB2?9 zZ3@pGHEP15)`^vMb0<%mS31ExGWp(!)I8g+C|9N{YDZK`R!UUX#D;PG2B!p4=QOWn z3%t089&2`G29u~Ir6qa~o{dAyv9j-Tc$hC$+4jvQGlqIojXGtbJ2py^*65xjGgG3j zy|UjB68yL36|3hJ_P3r1pV<>h=A%dH8lG}LsihQwFiF9m_R(=2iq24wPvOzL|I=|Gb(2ljGH{7I3go4RCT2|Y+=&( zinPo&WmsQ=9`?Bnfga}B(BdrTAH6H;(uXr-WgJsugq}XnPe-Cbqnu~_qiM`YPl&S2 zQ8Ox_aSAkMCO~5r zK$Pc+&*wiFlNqD$2~4L8+ta7vWVOG(e@K>^7nP8iY4#6HFG>om8kSy?8J;|RafQtq z9ANFYGX4+dDSCXi_L(ExuAtv5A=hrb(sY}8 zn_&~FxA|agY-MQ+?zg?AzaOm~ zv43EFp7*8t`%5jC>hJHf9O(JpIgPfW=le^oM~(N)gM}C+M!VAXwe>?~w8|dHVqZs< z=TL`-MuwT4rsyb>>U7b3SQs|YU)aC%f)Ru;J}Xdc9NTMS)_@c1+=-){uUcd*p>CqX zY9h*oO#D@ttbrYel{s)a8gF%^sJTR zRyMdJ5^f)8O^7;Q4fB3lkYf+9svwEvCyBFCUN>;c=;# zdJh*yxcrN=U9}-st}zXdi(4A6#zaJUpSaKSa$$){{ku8Oo2}j#78_zGw~9>}s9kR@ zwZ4PTArXJ@aJFMVPx;aqQ5xbW!w_cE3I^T$ouPD`*(|9hMEoxlb4?hQzb(*it6}$? z;K1M|Nd{=PH4L!3%{R z+1{XkQj#1z-P&Bcbk>YfBQPTe%Q3J?xk(p}~P<-Y-4ex4FJ~&&5Dc5N-Hi>L!vX{gSx``P<%$T8d6l8mKhhHxmtZ- z-1+yp-S?kAj(t@t8?Kr@{i@ZK+epFmk<+i`>TDIrBMMD#!;-l2p zqH~hM!jf{LZ;Q*!j2o8cvPWhnWqW@bAD)vI6_u6~9!VLGhV@Eel&C8qGGZ2I%g>C<=qdDA1q=FeJOHSX4n=I4xAw9H*t zwRqP2VIoTkW48^`eChu^!@tHooeSj|-#znVlxKbSX2y{I;JfEg9_4M{y;T{geCWHk zaad1+@7}Hysu{j}hY};3Z|W&Il~Q%J@7~YSg4Q*j<2|u4x~7K-P-59{(6|qTnjYGM zlsMZs>}S=2=2f@amiq2h#bN)@ch8uS{WIUaS;@A4>ASZmVGft?-m0u%-&!Lc8_%!z z-P@Hj9e4Zg9ZI1yz<2Ld8l1y?_kNCp&bxf~{z_rk6~6lbWkA?dzWcyFv;`>x!@5Q` zHmz%RFJIB>%C5k*wx+b-)s%}~D8nxbCSG(R_ZYZ_M<}>xw$p%<+?4Q=94gL+UniVeL_lU+;ccW{HdsSn7Yt4$fHF_rWuy;=S&VOmMee#57i_PoZmwI_Ru6SctC1s!ZDHKi)zkTX!>YHD^jHoIH-xXk5lb+xQ$Y^$$zwba$EcAeGcZbgP*enU$Wu{N}( zy4J2hWZHyY(qGzGi@cIa*V49D*INC{T6arRef2scQDR>1Zm6!80(7^wocMKpb@OtV z)#6@X*V5lL3z@8`uWo5^*ATv`xv{CSneu38$#ao*tGlL+@X)@--Qr$aU)RI&wx*`K z<{B87=UVPwQ>T|geO+s7UGuWW=G84mLAk4&T`Q`aS2s4SGm53YZng(!O@z7W5^^J|IT&t^B!QZ+y?ppYue}o{&O?9hY6D<620fNZOi(!7vJeF}TrEx7wZG+$dF6q@%Uk zUEiY1KLi_DY%%hz3u?7%SzTSdlqgjMv0mM}A`gDMVU?c4*5*duwX`<3)wH%XBM;4u zk{2@DTD{a=?`}0%BXZu@*3wYdLYa(j5K%4`)if~AmuFq>C9lhy>#AERkX{+j*6Wod zwxX`SNyzx&I+mkLY~vc_pt!KGu%Byr{ko@E|-@3@i+PeCBxsGj?QWs4y zep;2QX+>j09b)GbO`XTOj&e~GT-9qRjcSp@Wqc)htwF$+*Zq)!C3xfN)2qHdI`ISz z-{*P#3A)nv;uIQM8L2d4>91q#!A*C6h0?0HSS4S>Xo^c2z&z9<{_=fygLt--ur5Na zV|1=jspmwU29A!W|ERPntN7Kz91NE-ihtco9dG1X!;@@1?pD$&QwsQ7tN-=aV`}OX zQ-4A?asqaNPQhBfZskjtGK1J!K(n$&kJqJ)AzXt_?-bHq%~Ka6YLmEc zdL7~9TcNW}r&r>UT&&Q)nyHK@q>D}7oA}+p-SN0jj3JMAa|qK+d~Q8`7yRiDzMI1q zaw1%9BAph($QSio8+p2%{7og5N#xR?)1Z0;Z|k9R08fSYgOs6sExew@T~FTfm7Z`t zPh7oEPNuGJOg$w!h!QPS2J8Qp5U=YrWh134yj-T|)W}6o>GY(0Dq7s+)y22M;byM2 zaBMZ#W+cR=$M=s*kRd7mh|K+vL>`x|Dku~Qaw)TrN};nBDrydBac&lFKE@cYW zRs62!iG->{CVTkd;$2VfTZqe$JduNCIzQIwGPaC2HGJpdsiZ8DA@xc)C33Qy?+kf$ z>+*P9QrieEvM%y#)XzfhdZ?^Z&W0wDVTnoP{fECVCX`XD=Ms-db~Rkc=b6-IBbF2C zlC*z_yV)nyMVC&q!40XUGpUC?`AF@h(kNZw-wI#77*B2tDH3fWd=+_g!8@U}4(_$V zIfHjXuSjfzkFza=G_-=~7lSKOf)dL3LS(stIO=&?LkQv3a$;{HZmHe!uRN8M%Xluo zIAI3r8ufIAzrrDrZkKWv&m@GQhYZP=(r@z7D!NMYx>lDM(K2oN*T+j~De>0&^s7;l zQZj9Ns%!hCSxY(+ujE#w=6FsGnwRswLCI{kIJR{L&UuP41m{hjE(ReUSdiLP+#wbN+3dU9iEgr2lT z?@Apr^skhg)Wsjx4?P;eC;>^!XwM`Sky&Zsd*oPjoIz6qcaolPQR+q`=@~jjq)SS# znLmlipwGCkJwZ04oJ5c16H-z-u7N~%v_ik=ILU*wC&xM5w-n{=@p3+%dud6Q5lbC0 z^wd!!7DHRFCjJ$A$%uSQI(_A&g||YJQMZj>ZRDy|&zFRh`rg=EE<%NbszyE~E-7u{ zLyy!*P7VDa^;h(?)CiHC@%-x1%EfTPD2;(SWqr%}xW4Zx*X6`mM+&W^Cux0Gk7rXR zLWz`LPh3(D>Y=`er~is}OzgfM9V3#lJc zW=2VfUg)tBPaXcpr|{!!Xr>v-f8Ju!J=K4V%rSPu7$PtI*t=o3Vi`4N(kvyeW?gf= zl1&$Nl~O{FseyirK5$QH8K-BHZi!C+C0kt_|HY=eeSXOaX^vHO%?-+c@BS z|0QCfM^a%L6dph(0W)8Fn{vH!m-47SMiju_6`63eL@B4QFomASVoI+8iIFc9@}Xbv zT&7>uW#f$Nn^)*pQ&hWgo!4Pp&)IKWFR3-I*ZH3Rw9xqdM5b|l;T=77yrcZKD5e8R zC;mQq;(K%WlPA14M?T6(Xo&EKVTEbd-`d87Z?zq;C-67NJ|}#u{W(XRV@Ft*NPOa8(m_}d!(aztv(9kHpg7xDK%e0ExY{#w(UGiGHxon^^dnf3UP z{biQyuoHJ1WcNuke+^FNsQquZK(%3d$^%^U4;N?I_zJ-<3T-{Gy6o!@uVKF1{)6xmM1r+*tCk=whnaOKLCPt|)@k6XQ|v7@o0^;pxIrpMd9J*%Yc z+jUQ`d%A56_vbg4H7{yC*7mLZwI1Us?|3s!-mWP*J8#|7>&LDCdPDzncAWG34F@+k zHuOK&yW#wEz31iu`S)&q@7?g`xp!|ks6X*?m3Q)Hy}WIAwLf{DWpmh8$JT?Fe6ihe zsdu|$`^}dpTz>uKe-vCX;^ud53A%mK-jD9M2x;{LwaDx;^G`OoQ;=ezgZ2m-=b#NcWcM&w<^K*U-14x-tXuALrSClVZuB@m`4fon9^W> zoN!Ml$@X6o?kU3kif~U8?is@UnsC1%+;0i@hEiaEQ%$hHr54x^DCgSWR*LQKsLA$s z)l&O=O1u4UY!%e0WZFN{p0$6XJ?n_le(UI`ec{Mc-gM+EpE>$#U5*0f9Y>+k?I_Zo za}3bFbxhNqaZCp@z$`Ea%mwqne9)vl=r{{BYo9w>Kr3hiYrtBtLA%#+E@%hmf%Cye zWr|}H*9*XAumx-d7lMnFI>*K8C5~tUaNiOyh-bFzM^$FUj={FUUj|>-T-fcx4;4LHt5uzcfJn}f)Bt);A8L!I0QZg zhqdSZ5|u~&l9XThvA?aKOMBZdh2N>lOMYqm&gMRcce&j6<6R!V^Lf{w-!ru@{a(|~ z@gJqV;r}xw!~b6GY5)7wR{#6e3;Z8Y?(qM)Qt1B+WupIsJl_u|n5Z#Pnul7} zu9RtiSL(oJ+6~Hf?Q-RE?dNKV_NqEw+osOc4yd!WZgq}!xmv9qRBJ%3cD`Dt-K-wg zK2*CjuW1~$t4{m9X{$1Xns%4zA?-8EChaQA)!J9owsWX$=TO`3@;jj2>3^Bl?Y~{? zR+tBN3JR7f=YEHZN+nUP0z%Dnwga1~q^q+P*ME&7#ow}12|g`V!9JdR0Z)#=lf&fy zsN|pgb(6PGO!sNek-x*_?RCpe?Mw3Yi8DzFauzWf8pKzJu(9aPX&!YB6R~TR5Wec< zt1d!z5;EDDtPFIzlyYZ^lIBcR!uT?S)hK?X7XqTRPbrhX5z}GP?@~*(SJW}u+v;@f z4QP2DT3&&cFHFm|BgFc#&g(0+ze3NSpyw59l6J)UHh70QCxo%D2j_sJ+7ZVP?Fjtu zg#VpTTgJ&swc1Cd;z4((DC@ODl;pS2`wlUGNz8wT=64*oD+!JR+CgUm^d@RY$wMA_ zh$9bi&>!T?BtJ#;h>|GL4r09)4p@o#0b=|;^v_cVYkyaVfHB%`^)uw@2KHky?LJdzI8mNG*fZGT@jWDaMjw1t|`5F4f+1Zqgp51uE0NARpht zp)Y-w0HDxdu0?M=l%21vS1H-k?lyXo3DnS((0Y-vRU^Ey5m=COs1LMI2z&v1O z5||98fT>^_m=0!unP3)Ro{};L%mwqne6Rp41dG5K+RMsfTE->NekP#KDoeEwlp0VA zkZENZ*X3XZ@7!P|SOx0AYR~{0$x9PB3pDe)1+>SeGfJB`O z+QE6?e6SI00vCYIU<=r)y{B9VF2ZuZ7z=Y7DY?$?10fHX~{Y1+tlTeX*wg3nAB5oQ~|uRuRt&HWA~%yb=L zuLn2qd^cfk1wR3Mz-{1muovtDcYr&=UBvrSaG&-mQuV$C{#shKgVqS}OXhVy1)kA9 zKz={7{s}w}UH~27Mer82|6S_l2ij}aPqg=JY1%^*sw|%9(Vqc|o+3Ue-&;Xjj zZQypW7wiLffIGomw3dMY`E>+?5D*H&Ksbm1F(4Mi0c6~Pj60BVM-oT|$hw35NF1pk z4Wxq%kO{ItHpl_FU?6DL4$;aUqLn>FD|?7m_7JV?A;&K5Eys1>dT;}{5!?iB2DgCS z;3r@YxDDJ6_JV!j4sa*93;Yz^4ekLy1NVaa!2RF>upc}G9tMwqN5SLTLB|u|N$`~R zisM({Y48kq7CfiD=J*}>J@^B79=yQw4)7v)3H%wn4E_RM0k4BMz?5;Q*ao329AI(@HzMb90kWfH~12K1-=H~fNy~Zc!8$9 z>{NgXOu!5*zzS^WL_2T*CkO;VAQ*(8r9(j&2nWcgGZI8=A2?${97q6(AW8eynatG% zQa~!m0GS{gmqZd&_w#xD0Fu=oROc;3{x6*a5E9 zUU%*S*MaN74d6y_6Sx`N0(OI2!B4;*a2vQC>;?P49pFxY-f^OLoOgqJz|X+F;689a zcmVty`~o}(_JfDO!{8C{D0mD!4xRu{(q8@&JOzFQo(9i=UxVL(XTfveci{Kn58#jB zPvCj*0_XrQf|tO{;4k16CD{2Y_$wPtybj&~Z-TeL0l?ZK=evr(^F7ds#q&Nm2tEKG zfser_;1Ku}90s2g?-$@GI0m}Gm)d(+x(EF}(z^UU2A_aK;8XC0_KM$8a13;VFTq!Y z{~CM)z6BobJ%4loEsnI*+qlvH3NyKZ7S2=@U@wrVaFWBe))jVM`;J% zqaAqLXI&gcuYG9LDaDFyVy3?Mvr9mk_84g#l~xqX`L9^cf5jdQ$Li_Cg8K|>xt!Rp zC8jq?w*$*(vg3dfisds4TO|x@Cj@J!f*9+ZOBI_)D;D&t*or3Y*TnuZvA>G7JP4b8 zAU69zZ1%rkC7-2E^?rnPTuiEmN%b)H`T*?pV(j&AN&RzD7h64$)K`+1Z*@y)lU8im zrmeDEs~y8SF2QCW2vsXdu~@0lQ%u)3VwrBFPktYk(mwj+_n(%E;o1zf0*u$z`>2_# zo`EH}7#yc+%L!C1(C*hMTfz1FshbaVbA>wki5uxBZlsU6kv`%^`iL9pBW|RRxRE~M zee@CUqxITH>$Q*8YagxGK3cDRv|jt@Bi>IR@qYS<_tQtbpMK%}^b7B&UwA+L!u#nL z-mmB0K`wP^Ijy9K_1=Z`-sQ92JNe=>O6PN==2fKT9jx~^u}wR$-d`n;V!e04`5x>2 z4J7G#toK*3-n+2gyRhE7u-?0{-n+2gyRhE7u-?0{-Vb8EALQhbzSjFcYq^J0zR&4B zpECR`)!5Uu+BeWX0owP9O|34$u3mxk-$yU#A*~a7--O<;u+9f#TgM{t<K>C9MPzcTdOTd|+ z8Y~4hfL;~0s|VZFgYD|UcJ*MpdazwR*sdOIR}Z$U2Yc0nz3RbM^D2R?TxS!eR{IJ&)Qcx+pJ^fXUoBX{eLdGE z&4VrK!3OnUgL<$*J=mUJY)=n1rx!cZgPrNY&h%m{dMsCJN8#EV!Zqwh4|VJ-r1&fB zMh`Zj7n{(7P3XZJ)qyvv18-CZ-lz_|Q5|@rI`Bqy;En3Q8`Xgqssk@n2VSTSyigr@ zp*rwFb>M~SzzfxZ7pemc9)tffuR+FH{E}qYk_>`|--` zcZ|`zj;rdzJHcJxr{HdI5BM3l7u*N# z2M>V#;34oZcmzBO9tTf=CjrY{vCll%XCCY`5B8Y{`^Kpd9cAe*kB%PFb_7E$5{l5 z!9Xwwlz>uD28M!RU^plT6`&GSfe~O77!AgN@n8a&2quBaU<#NDrh(~TCfESZ1slO8 zZ~@p1wg6-tyU2rG zqaH)&y@jrRl-A&NEP)qje?KOb4`~68(aIImro4hy{RFN04k;X?ReOaN;215yF5s(Jg{BeD)VtUbL97Td;Y}~o z=Hi3cj1S^6{0*D&BW%WZunlb=i(Z{bEZykJJJE~l@z>mlzveo)b3U5?cj}qi{j}Og zuqBRQ!C3I&?81k04L+P3p?@-|=96li73s+o-RzsjD^A)ydS=TI%Wm z>gq`9=2EPkDC*`?>gH1FW({?79d&aZb#onca~*YaBz3c%eq9;;y5aQQGU&Gz({C%G z-!_OoS|WY40rb)SN*`?ieY64e(TW|PYMbeQZKnUVnZDFE>gsIj>HzBKJo-(=^p{Go zutre-_S1SzqxBjBmrAg1X87 z&&Z=*JVrferB84%eS+(d(RSqVeeBS9JWVFXFU)vXEx?Y)%>jZyJV*eEzyOXA?LJH1oSvyNH&VIX_wrUZfhl zNHutoYDD_*BJIJ8vcy zjuyVoC&iB;#gC{Xv@PmLZHGFF>u9cHw9C{9+CFs>I4<2^A>Ci;(tS|t!~->xmcQ); zNgsvXJ`qd@OF)Y@6ED;(EC4sHzZ(zKE<8}Xumb9^0_N*A<09T~4IZdjj6to# zBB;ajv=`6QUOZ2?<9XVP=V>pVr#*O{_TYKigXd`vo~J!{o_67R+SOab;I-uf?Ewp8 z7nZHsuPhg8FIX<(dNEh2eZSQ9;*Hv)*TO$>|Gah!HSrcaQG4)2?ZFe(X?<6li6?3n zR!19FhZ`@{F1%1Pu{_$bJle55+Oa&^u{_$bJle55+Oa&^u{_$bJle55+Oa&^u{_$b zJle55+Oa&^u{_$bJle55+Oa&^u{_$bJle55+Oa&^u{_$bJle55+Oa&^@p^UQ_3Fgy z)rr@u6R%e%UawBPUY&ToI`MjS;`Qpp>(zj8v#Ou|G z*Q*n+S0`StPP|^7c)dFDdUfLU>cs2SiPx(WuU98tuTH#Pop`-E@p^UQ_3Fgy)rr@u z6R%e%UawBPUY&ToI(6-Joi^c=8tfLH?*=~sd%!=U(e5Suec*oZ0N4*60uO^nz@y+P zZDz0LdxraG!E@RyJX*8xXwAZ-H4Bf{EL|&h@UE|Be3{>W0k449!5iRo+VVZ#b%OW7 zLGS@U_VH-V#G^G6kJg?OH0lv;FCMMEc(nH7(b|hgYcC$HJ$SVC;L+NHM{5rrtvz_O z_TbUlgGXx*TKJY;Ev#zuv6$xT+StO?3T$X-(aa96P9PdOh-)zTF`9am=Ek~lW8Jv1 zZroTmZmb(O){PtM#*KC3#=3E1-MF!C+*mhmUAxcLX6hP#E?3d=^SLen3&9d_CODnu zU(UM~zztS{RiGZM1`XhBunw#T=msn)HO!NXL8hp7e+(=I$ryPVg7>%k4+MsO3j8QcPPgImE*z#ecLxE<^T`@kLG zPJn*F!?X(z(=I$ryYMjW!o#!+57RC@OuO(f?ZU&f3lGySJWRXrFzv#_w9EN0cmzBO z9s`eqC%}_h8lZT8lZT8lZT8lZT8lZT8pI3;*D>C@j`7xYjJK|1ymcMpt?QhJ!RK0?wAfgcby$^kSe12H zm33H^Zojv*eYE5s`+cN!`h5&O0f)e+;0tZ0wD5SEX5wj@iKl5M7HAt5Xd4!28y09A z7HFG4b(9^G3@hywY^-;%u|B1hdxzHP4O*cCv=HJ;I)Lr;Iu_ekXl?N&{T4-!)|*4nGIb23VJwmP0Y9j9~lDf>@g&qmO`J&pDD zJFK@(+P6;Hw>;XkUt+yIf%WzqtkL(O;(4gp3Kedlf_CI@Q1UhUZx>eEMl7~XSZfop z&>p}-djJdV0W7o!u+TPPq1}mfb^&^56_(is{8!0XTW3?hZ>An^p#H8VH@_!0Iapdb zSXvcWTEnok<~lQ!aB{eb92Vl=io~L7rhXiyKHN_oXvd=ZGv)Ifs~Jqp0P$mNE(An@ zGVMIL5DXXY@Y$`8z=`YO#0PNVeK>JFIe(R$OO7M(dmSU!FOusHa{U^)mhs#p*x-lA z{afT-#viw1e;*>}hplgOeMdWl{e1}g`w;f`A?)u%*x!fXL^+(e9ZuX1CvJxmx5I^- zbkChxyOJEw@#Q#!9Lp$a0Xfbf$5rHZIl0Xxw{~(WzUAA=<*$`^aPS*` zlVSk6=vidCo0*L!X3|7y-;(MaEV`>nc`AOCFG%$o_*e}e?}d*)gO9bRkf^)h>&;O2 z6x2QClc=rmb_-Nq3YD)x-Q`d>2I_|C5{1tLsd`%H?ep5zSR_{?T^G?WC`Q8S=od^x z%9?3O`;(Ij_7wCg7ABg$nr5;%&o z`IYlYZ8_TNY$Wk9xc5hD{&adwMy>uUQWyyLWK`7)_dbFv-Ec*u>nL34fD2x@Amixb z-z}uK@)eW~qKuAEC&HjEk+SLsbzxBFqO8UuAu;qeK4padG9+TV_BVBq_JUfX{Q+<4 zKKxT};h%aI|J3vNcwfOs^*mnGkCE?>DT9wG1DWmgE&ioH;$QkBDSzuXQ~T6^6mvTw z8Rwt-J+Xd9tcU*LSY_73N6`2_GD#^CLdP zM|uQ6we=Y#86L&Mmw5OP>&#Z7o%zZ(_>t<|ro=FF(!?r@Lgq#e$NyOlDnKQu0wcgk zFba%jGvhH}EEosIg9$vJ$aNCe$zTeY3Z?-xCaciGS-TR>iimJ!HkbqEf_Y#*SO6A+ zMPLauoC&JIQsp{kyXaVcNIed4KQp|XF9^>74jCYqP zmoX!ByRuassBBUPDSOlsMt;}WS@G5 z@}RmH)GD8-b;|m_oHR8lyG>_-bzp~5V!Dp&^Y`PWvgi(k+TyF!nbH5kt19yNs zm2gX|vfCN~1}eX>4g$YalC4iE;Zj1@KY{1De*xg(wY~_xP&V1pmEBT$j>ow^0iFb( zDB+Gz!C~+jI6?_`fzQDg;3zo8^KS4Z_zHXtz5(9?5Af1Tgebe6p&$%|188$bf@tMB zXDo;V2_O-O^dxh2ffSGmGC+?+<#8`kRlrpwtC)BOf<6e1;d*w0imB+YO9^+nljCi`ncnP}k5_IDw=*CMx>j9>N z8DJ)u1(+X&m!KOjK{sB4ZrYS?yae5N3A*tTbknQvrkDN&J@ohJp?A?kKZ?Hi3Vrc5 zZOq%~jF-_Fuc9+#gyb*ii*M*fAEoDflpb>zJ?5kIn7ipQchh6;rpMe(kGY#3b2mNa zZhFk!^q9NpF?Z7g?xqLa%{+{5dcWPYHQn@nyXpOQ)0^q0H`9%Os2l%KH{83Z+O>d@~-b^>WnQnSB-SlR<>CJT0o9U)E(@k5`jWzlO*60^lobO?AzK6xx zg~i#0#o2|$*@eZ~g~i#0#o2|$*@eZ~g~i#0#d(x=k z{(;u_WjOK-wcVfE9ztyopxpf^_a5!uMSJ3<%$uoga~%&+;|?Ij33#%SXycQaSLRYC zBl#sr{%EAW9z9y;%u|Yx`j3(LFj~48q<5L$YpmRL^pPk=K9xYeR{0`_&`Sv&j`dZ@ zioGS^Oi-;{i+0OFyKxdN*A}oI8jtJo&(J2m|4Ou+;DzYIF=#{gr(E6v{S|uPx+jXdepSrUvIwgLA0C zIn>}BYH$uUIENaXLk-TM2Io+NbEv^N)ZiRya1J#%$9btz1`lS^S`;!Oyab#Hs?qRE zl@N4#2s)j!LAlCiUn_WLEQkXM%GGc{g##nuz#2HP1rBV316QNdLMYu3ofCOn zrMwEb7AfQ5h!c)D;fNECIN^vBjyU0n6OK6Hh!c)D;fNECIN^vBjyRp07|pv(iG?e5 zj51d%XTgbhI1%sTM7(gKZ?4H%JQT-6aXb{qL-8aZ#pgot6;OOR6kiC%txzoOdc2R~ zcpt^_P<#O?j>c16t<3EkJF$%+@8=QICB$?AF|8-2wmzl5g)c`?LeO z^tETC9%LaASx7_{5|M>OWFZk*NJJLWkVQQRMZeiO51C zvfyVFd3lw*+yzzVla~v~OIe@1yhVv;QQ}#Ycorp|MTuuo;#rh<7A2lViDyybS(JDd zC7wlzXHnu=)PW)7f4W`=0?1texeFk7XHfEClzf=4}L4&p$9vePF~ zqv60>IItBCTmlDnAW>mRRG3eq!h8}XGioQokpMUn07nAgNB|rOfFl8LBmj;Cz>xqr z5&%a6;79-*34kL3NJSY^5f4|E|I>A#9f~i5VyOe7x0=4E4s0exqYlhFNs`A=`kRPp zyD#tO64TjzO8+9h9I4lVX(xSoAz#Y)d>vmlL&Mp8c|o5q%gJpXxeXwO`DpQ}+GBlU z_+g9OPMh@st+!bBpJ2xy!j9M5C#-ws0rlw<{Fb);1KRb!^@;y8Lj8sHRm+qCeV;;W zXb+9ZSef=)Qh0^$U&A&yMjRg!+DmGTwJUkFh95g`(sfoO@%=yc{scOz`tAe&Zzf=p zL8~o3wYJt)1(&M0*QJUpxLbEytt~2At9@Fl)}`9IwC-yw)gmq^n;=j@am5t|2)kiI zW=Lid%r+AsOg0D-=Kfw2(w6pl`Yh-F{Cm#toZs=hy^~?)-aFsV`?G()-#dd9iI|^q zojmM+`)fMo7lqZ3GvpV8NNLX zj&W@8l04*N(dSF@kdKQ_4Sp{Vsp}op^BgY-8bv3oMW%1dMdryx=804`7hN4Zx{Wl~ zvw}0&gc)qYjEMV+xGy=$sqDiH_F;yc0eQu$*MDoMf<^WU!oM zaAb<_y&CMwp3GoRW{7@cqTiU@3XyZ^7H}4!jHR!EAURR*F=sAQ>Dd zk2+2sb(}ovIC<1@@~GqFQOC)nhRUOc%A-z|N1ZBSfiF$5eVAm!BLFe(a1NIpbJojIm9#o$(WulSR%r-x+J2v5AdpVi5~9#!i)>jM~SC z&ibLVcB;u_ob_Saxb>``|MjfLnz1(&{cEsd7MT5%Sf2r z>#P%P^{mOd}@Ij^;w`{}eM=m-_3Z>x-*&V!vNhq}P^w^qpXbi-AB@-2L` z!*%QYqB`H46-<{KXXM5ixp78roRJ%6WrK^Bd5;DsWWowjGQ_nr_RW!Gji&ToH`??&d8}Va_WqnIwPmf$f+|r zgq>=*o#s?^>JWCS<#v|!gZ}V{ocmF*cC5_WFWXD`#j?6$SzWQLu2@!AEUPP))fLO?ie+`hvbthfU9qgLSXNgo zt6s2LyrpuPxwP$5Fc^KI*?gLt1oyw4!sXAti*wJ(w$$@@IW z`#i(@+|B#E!}|>4eFllU2B{Sc;(Z3mCI|68*NG8_(X?Bf|6p;$F?umSavT9yz?EW% zt6(Ht13!jqy?-5C4>!TD;1RLhVIWM~X8p6=&Qm&NxGyakV((3~|QQ;*4*L zGk&82@>?;+Lt>2k#26QdF@7S(_=y60)DGnGW{}{&q599xb@&Bcz74p2D_?|Dqmq7KH?;gf?4>Nj0 zjowhBH`M42?Hj$JMz2t1DXicdYV?L0y`e^LsL>m0^oAO}p+;}0(HqKl597Os@!iAt z?qPiQFur>j-#v`)9>#YM@9CJzuvy zU$;G9w>@9CJzuvyOIB%3KFQGj#=>ayzEfC__kU4U`byvL{jaJ@yZ>EPX}fKBnEShU z{vZG4uQ|5d*~$_&ywE|I$A)*aVoQ3h{?@FaljZMZzYD%NflJo}=lmz%Xz~p`zur9K zAHT76b>gRLZ13_ce|C*Z*C=#Smbl+~=l{(43p4SuuF>Hd5%cShalRw@p5eWB^_N-P z3EwDWJZpWU(1q*j{YGIOVxddZ=)7CAmA( zyIJnsjn3WZ-0PgXrT5&0S?GmaYn4yw0$5A%x0t1~aL%G4E8))y%5_W^nn|`a{5V*y zxA3d5UdDq4dUUzpwdjKmHCRG%AEE@ctVg29|~55M+ep6{y~lP4ykazARV3* z)bc}hqMp^^zQJet7lV4|X@Ew5H-(1=&0c5nvx01Re9#ge9IVN2@LSH%JG@ix@NRRf zhnrhH+}!H3%&k7lEUY1BVVzxcisLZH;o%6gu&y!->#E{$;ez7v;jP6J^5cpphC38b z3Xd+Hl7F%IRha6%=`b@t&djHunECV*GoNlZ^J!wg2OS?W%PAcU>Ax{Qu77t}+<#NJ zpycrI46F6eu*&|7k~6~j!KP$V@ z>zneGWjE*7l>O4{Tk_+gUk&F*cZ08+b+9{p1HS3+JskIhy#}_PtYlZ=FHCa8&dbuW$94+k(;2+k+v|U-`}* z;i~AJ!7fqroTI-9PL1B3e=&Lw-0OGzHasc%yKs2)KCkbG2jD??2p)z<;8A!id@}kt zJmK?C`uq3r2Y3ob!87>{(LcdxcoxRMbMQR8058H=cnMz4ua1s$91jyR+=+h zWqnFQHk0HbR-b?vhI(&oX=V*RgP;aGh12l%u(fCb4v)36>W|p^U(aBk3-tpEh z&Z?s0%oaW#P7j}CpEj~jg&hN)vF7Iw@|8c(@LC#PUpygPPrDZsPj#FQGp(e*KkTN- z-Mw>`(^f-l)C=Ae*3z_EnpR8GYH3<6P1{V~>y*2>3Z523d)lHW!b#vMLA0kW>PZmM;czOP24>?& z&BmuaTWHUgsM+|mXAAAw5;Yq?YBoOYX{J5Rw5OT&G}E4D+S5#XnrTln?P;bx&9tYP z_B7L;X4=zCdzxuaGwo@nJ#z2PQWvx(MhqBWan%_ds2iPmhQHJfP7CR($J z)@-6Rn`q4@TC<7PY@#)rXw4>Cvx(Mhiaul3!k=I?JPTvsId~pkfEQsbyaX@9I2aET zU?NO{S70(sfmdNFOoQq0jy*Ke);b-{XQueec(8~+ToNW}%X-?YC3@QcsW zj6BU)Pcw3SVvZ(s(1QPTg%_sx@M9Tke*U_$i%*L4NpU_Y&L?f=lQ#27aXu-|CvE1F zHuFhwJ}J&8#rdQ-pA_el;(St^Puk2UZRV5Wd{UfG+RP_y=9A(yU|H#H;UXH)f&CrW z-+}!drK7^t>|Ot0F`H1yCRDHqe`FJ~eKuhQoA9__nq?CTzqW}@Xz+^{vI+073GID0 zVVYmw_R2GP-#?dVi&IKvkTY#gI&0eUAT^2Xza5KjqE}ryU@rkG_nhg>_Q{E(8w+{ zvI~vuLL_V1Z$g&Grb|K3yWZ8u*yO3oU zvg|^ZUC6QvS#}}IE@at-EW40p7qaX^j$O#H3psWn$1dd9g&ez(V;6GlLXKT%U>6$L zg$8z^fn8`|7aG`w26mx=U1(qz8rX#fcA6$Lg$8z^fn8`| z7aG`w26mx=U1(<)+S!G6cA=eJXlEDN*@bp?p`Bf5XBXPpg?4tKon2^W7uwl{c6Oni zU1*Q~2JU5Jeha^Y``~_f03L*g;9+_V1Z$g&Grb|K3yWZ8u*yO3oUvg|^ZUC6Qv zS#}}IE@at-N_Js#uorvKO=Ie4N-KM?l%{+{QOY6Nb+gqaKZ^o3L~f@3l$1a-31^5v!DKwX(sN#3#qm*9XKWM~h4L zi2gb#5tn?;bJHqVq7`&4&W~5JR8{IW z9V}rDR=U%?JDpNIC0twlDopj>bePE!+#haW5jOZ0$Fl}2#ryex5-D``MG9TUy6dlz z!aVE!X{IP(C2e0x+gH-|m9%{&ZC^>-SJL*Cw0$LQUrF1mX?rzoucqzQw7r_PSJU=t z+FniDt7&^RZLg;7)wI2uwpY{kYT8~++pB4NHEpk^?bWosnzmQd_G;Q*P1~z!do^uu zq3tcSy@j^7(DoME-a^}3XnPB7Z}}HQ0ri-1GHtIHLl@!Yjuc7rxTA!r#Nm`$z^+{Tvr1eQ!pQQCkTA!r# zNm`$z^+{Tvr1eQ!pQQCkTA!r#Nm`$z^+{Tvr1eQ!pX`kWQsE}?b6%Zm0oE_X*hSd8 z#A@XVnq7(AE6voYf@+_t37@3_9oXN2{T;p9|C#8Z$-lMeP8R0z9HXlK9XLVGej=Fh zt>#e3-wU&x5}3XQ%hzN1dXYk52Kcgme+-lTMH-mhRdRS(QE~*F0e_1aDntww+e8c% zB8CbPLxqT;Lc~xZVyF-?RBRJ5REQWVwuu-j_{PN|hL8EjS9+s{dmXop93J=g6JYdd zOb3Q`VQ3eIc4252hIV0S7lw9WXcvZd@fUgiB9B3NmMza;clG$cWakaT`gw znUpI@xt@eSBjFtT_BQ*rn0;GJ(k*P;VzzAoiLYVT5~O|wsb5Cwmy!AiQXfI;li0aV zcCNG65>E&hlYBcHw~_SUCjGbBxW#PTVm5BE=%-us)6K>m#l|hhf>Bs73JXSIL5sMt zMcg}5H7S}5H7 zSP$T*%z^~nLRs}J$r;bI|>_{v9Y<&_YPpscE-lHvGHweY{AAB zY;3{C7Hn+6#ujXB!NwMBY{AABY;3{C7Hn+6#ujXB!NwMBY{AABY;0lA66{%mJxj1> z3HB_(o+a3`1bdcX&l2oef;~&HX9@N!!JZ}9vjlsVV9yflS%N)FuxAPOEWw^7*s}zC zmQWAq6vb=`Uc&f1JJuua@51;T#`j?SI^I3Urme;L9;{!7^=q-dVB6ZUem&Or@a{SG zZ5{TvVtxnaw_<)P=I1cK74r*G&N|F*6X!P+@_r0o$BVaO_+||6!tf3Z@4)a@3~$Bo zR`#tB%eNN1H#@Y59ooVUO=5>St(e-1sjZmW zim9!b+KQ>InA(b|t(e-1i8)NnVPXywbC{UJ#2hB(FfoUTIZVu9Vh$5?n3%)F946*4 zF^7pcOw3_o4ij^jn8U;zCgw0Phlx2%%wb{=CiY-r4<`0tVh<+vU}6s@_F!Vq|1yr= z{7>WPyV+qG9wz26F^7pcOw3_o4ij^jn8U;zCgw0Phlx2%%wb{<6LXlD!^9jW<}fjb zi8)Mc!^AdBY{SGhOl-r%HcV{8#5PQ9!^AdBY{SGhOl-r%HcV{8#5PQ9!^AdBY{SGh zOl-r%HcV{8#I|0K`UPxTi(y^83`>h->#(ws4K8@fBiPMvTbpxwI39xvo%zKoN2vmP z%xQ}A!>e$uMx?F6#R?bdQ8l8;LO;KTKP~KvSn#KDoXh!Efmc}?eS&Let-p$kIal?1 z?6@;DIKx_JsCI@WeO-p6Z*TDJR^QIEy91md;|$+t69za-#%#z><-divd!_4F$qEYo ze`}p=J>6)e8_jg1kPkQ03%lQnZjTJ#;0@m34c_1lX7UCzd4rj*TA1m)$W=e3E6sGI zk&ZOdk!Cv5Oh=mOM>Ebh<9jo{H{*LVzBl80Grl+Ddo#W_<9jo{H{*K~zBl1}6TUa$ zdlSAl;d>LlH{p8|zBl1}6TUa$dlSAl;d>LlH{p8|zBl1}6TUa$dlSAl;d>LlH{p8| zzBl3fdVF7x@9Xh>J-)BU_x1R`9^cpF`+63$5lA;?_po+K5{l zacd)PZN#mOxU~_tHsaPs+}em+8*ytRZf(S^jkvWDw>IL|M%>znTN`yF<8rVB%e0EM zs?ilnW6NrOxsZot&Br)`6uu3|>6{$j+dXMA`WuaYLFQd}wnBySa}|lt$$u^R_w>sC zd|GxPTm%=xCGb7?K3ocy!4Kea_#ylVM!*$tC0qp~!45z&>kgT9hs?S|X5AsP?!c|% zdwI1pTfD)q*n(SY@T#CC8+)~+#;;1#5IcF&mNuMf_G=0&Y(B&L5B!S1tgu<)SA5Ry zZs^sRNtjyetjnGCEoW`S*luIgwueVwC4E8Q}rFryn z2?nR+Y2);4I^}BP^lUndhMQ?24iU?Y(v#iERhMJ%a#wy6dzWMHa_n7BhaSV=#o$^D zuEpS546eoCS`4nm;93l>#o$^DuEpS546eoCS`4nm;93l>#o$^D?#AG54DQC@ZVc|m z;BE}=#^7!Y?v`uykbe*P_mF=N`S*~25Bc|ye-HWhkbe*P_mF=N`S*~25Bc|ye-HWh zkbe*P_mF=N`S*~25Bc|yf59Vc7MnaIHrXuKI#q0Pnb>5r*krSQ#d%_rYsDs;#U>Bo zN&`FenAl{q*krTV~nxd^K+M1%RDcYK%ttr}?qOB>~nxd^K+M1%R zDcYK%ttr}?qOB>~nxd^K+M1%RDcYK%ttm0dD7((bF*40AH;Nmw=3H%^o3#X|C*yII zYD7(MKQ!r`)mWaStDn-#@3?J$}uV8eFL`!?a+ND=@l&O|D~;>#({3s~fPo0izo* zx&fmbFuDPw8!);7qZ=@~0izo*x&fmbFuDPw>oK|>qw6uc9;53qx*ntJF}fb3>oK|> zqw6uc9;53qx*ntJF}fb3>oK|>qw6uc9;53qx*ntJF}fb3>oL0ie`u5I*yK7=?jq$b zQtl$i9yi9yi9y^snkF(>Clio7YTSjs}V~=9&QDF{VAqw~uiymUrA7RrUVV`PAvxR+{ zLy|2d*+P;nB-uieEhO1Ok}V|JLXs^c*+P;nB-uieEhO1Ok}V|JN|LQ4*-DbFB-u)m ztt8n>lC31!N|LQ4*-DbFB-u)mtt8n>lC31!N|LQ4*-DbFB-u)mtt8n>lC31!N|LSr zqiFJcvHgW`5nK$H!1v($a4B2{KLGQ}*rralsgrH$WSctKrcSo0lWpo`n>yL1PPVC& zZR%v3I@zX9Hs$}ai<85)9Jb}KEr)G6Y|CL=4%>3rmczCjw&k!bhiy4*%VAp%+j7{J z!?ql@<*+S>Z8>bqVOtK{a%@V>D%ll0T3l>a+1uCLjAfg#tPRUP!?JFkZWDIZW7TGi z+Kf$=*i^7Nf5e)?jEh3Vxg1*xIZK-v+@Ip0eJydfomXyTWyU&Fq0-aF%4AuYH8{Hl zSJyaehJ|^bh53Mm`GAFamxU?JFnOI-Da-`tp|6jR2g4z7C>#cd!x8XpI1-M6qrtjdTx`L` z7F=w>#THy_!NnF_Y{A7ATx`L`7F=w>#THy_!NnF_Z09H2`N?*EvYnr7=O^3w$##CS zou6zM>1A1!taCxy0SN)EaZ-zMyuOM<&9J!+TUWd@?@yciM%9ndq&Q=@PZbS;z`j*}ptO}QsGUru} zY46t>jXE~4o+oU8Mz*rqF=ISij9$U+(QmA5H&TV_eY??GXSCKCt#wB0CZn~^Xst6^ z>x|YqqqWXxtutEdjMh4%wa#d*Gg|A6*1CV89qayYV=Pa@GNMNs(P2jPNF#cV5xw1r zer!ZIp0+p9_Cj5^z~6S#$&gMVGR}}p1F5v*Zw>y| zupcSj=X2iYb6UQPmRFKghLkd-lp&=I31vtqLqZu6%8*cogfb+QA)yQjWk@JPLKzau z{L8fa8QS|N7!A+D7Q7z;1K%PS?15pajUV%XQSOn#O~~4nte>OkG1S$Vcl;z`&g)k7oKSlmrs1LH@>T;F@#R-A+C(-LWK-en)nwB`HZ87Fn2*p ztZ*kQ+{p@evcjFLa3?F=xlO*^N~W!3+DfLaWZFumtz_CtrmbY!N~W!3+DfLaWZFum ztz_CtrmbY!N~W!3+DfLaWZFumtz_CtrmbXZ{wbSQ=zhfH*@fCo6;E2&;kJ;KeqyAT z8tJ*@xrps5R0!(tRen`_#Ap=_-msHO6|2xV~!*6#A@N^ZKN3 zF7(ZJUH47#U`#w1bN#}+_vc*y6W4#o^*?a^_r-x9ivvG)wl#&SP;W)(3A$b(W+?co z1$ed!&la%EJu>4huJ&0?_!ctsYifc>zZ=K_`6yKKi)ijsl+)|udigQbGZYj*x(dFog0HLK>nixV3cjv_udCqeDx$~1P&gh= zfD^$z^K}(`T?JoP!PiyrbrpPF1<$_<=T_m|Dx6z|bE|M}70#`~xm7r~N(TFXHD_px z40ekQc8d&lOVrMyGT1FL*ex>HEi%|GGT1FL*ex>HEi%|GGT1FL*ex>HEi%|GGT1FL z*e$$79sbwhe;xkU;eQ?e*WrI1{@3Au9sbwhe;xkU;eQ?e*WrI1{@3Au9sbwhe;xkU z;eQ?e*WrI1{@3CEChK7f)tVY}0n!+>RR;>WNnuv;CVbqCkDKu^jgN(WP!{6j$N0Da zA2(q_2Obu>QCsz5oii1xlI_maMK3mCcO7;w?Tb$f5#*w6&hS~`48c=DhkMAIdo(}> z{RJ8BjwU?II<1XW(! zpS8F?Y%6YnMrZ<-yEx;Rg%(&7&MRK)xDHxjy=XA!y|yq}+zuVG@J@es>6C7OjXq;< zhGKg&6o2mZW);&O$1RZe?_t>1FR{YC%QFkfP(Psxv91dKHQ%8a;D zj4XW#-hf%~9@zi3)E>8`Rgi?Ns5J^-(aA8zWrG}tz{y_!(EB>0WuDbjb~ijB-k)dB zh&p?LdB#Lp7IM%A?dl;`Jlgy$qSfIXD?(c=L7?!|N_*7Na43en4JR0|u zsM$F9K9sYv`(e{hJP2_%HobvOS!}uqo5mIGoWGyck1iULpH*~Fus11>#PV~@@cxY% z-uGbn6-N0`qj*-ov-3YSa>p38sYYv8qq1+wn(*>ca~qAwWk%#8Be1&>_?ln-dD$S( z47xSkx$KF2wO={HuQ|fqzu-=P$A-@=9W!;S9d0ayRP*^7){hcnM{=07`IjkB$^&qfFB>~G%c0MYf1v}Y$( z&7H+=`-&lk(7S`J1-yVAxBIuVZgAEOSe$d_9QJhht!@2Iv6Hu*lrd(Z-<XYOFVJMc^c_rH_-pX#bpT=ir3A9dA-T=9i%?*AcYnq9V+{lNy= zk8100_}Cd<^Bd~?hAPjD>4e(-X<^GGZ~(y`qvTO z;?6&I=O4QBKf3F*yMDx7AMcFk1rvQ@QqUPr3%XRIyH&6^!4}Ai>H7N}rDQcg#Ie2K zwFB%ZpR_9+%a>#Max7ntJfC9uYFWMv%a>#MaxC8yEZ-9>UykL=v3xm}uY={wv3MOU zUXI1fv35DuF2~a4Sh^fbx0a>rVCi!1@-w!%(YP)W%`OqmE)jPw6L&5%zKhuELbl(# zQjtV+#qWmG@F!RNK{&s74$KYTU?E>Gp6B(F@U3D`pJ63m$FG&eDSy}dYy&hx6IlJl zQs!9797~yFC3CD~j+M-@k{v8#J!_a_1#_(66Rcp470j`KITo;!_3L2$a{c;2|F9l^ zTUoyj*6#_{FGu#DkbOBWFJcArtY8kO|G*07a3R48=I~)1E7-vbcHl)PE7)PKN+oVA z>i5TR1&f$r5j*;m7pu5{Rb0R-F2I?WaAq{lbd*|S!$Q8!LQZ5M8*r!rhZVFoyf6}Z7gIP3z=gfJMgT7h0L*#xjyaaU?J;qt}{9#oEDu4 zuj?kf8@?5N4`##r@KLyowX9$*bF5`8Ygvn<8P+n#TIN{G9BY|lEpseo4tLk$Z71G# zu#$NzUPJjxe-i%!U%w+w+ezejazLR zFYzQecf6T~R7Q6VKXS+K)8}P&k_p)z-pE;3I_nx|U4&~bbn9z$>rmgwcsg5$Yxj5U z0jkwIvS6MShw0;dvKAx%!&4^QOS^k%cQ3OstqIGvGT@|e1*un)`YO_XsaMkHnQdE; z?zZ!lM~3f^;2ihd<_!ubl+kSoUnz>n$oi|{7Jl*e;RCez0cS15E_oW9r@?t=&(q*~8r({Q^E5b5 zbMrJePjd_LN?yD&n%3rNZC;$Rh34jIZr)vur@eXFo2R|4G&k=q+h}f=sA^TwvGz4Q zE_|zKsN?aDr>iUXS$s15vz%eNoMAfc?WDO6(A)=TZI0GHP&{A#cmXVjD(~?Ov^Gy` z^RzZkYxA_Wp4R4RZJyTV#W$mAZl31mX>K958BKFniD^cQX|{-Iw$S1{EzZ;6JPpo^ zW46%ZLhO>Ky?NTZiuSIewFNEB)6hKa%+tb+_%#K;rqIMz8rVexyJ%n+t$Tphx-r?-K0Unkw!r29JQ&L-Wrw~_8l(tVwDUnkkSNcJvL zy^B;cq?#es%zu#P-%Ikr1&Z+c9CM&e3lg zR9f@Ap9$Y4t+z?*ZPI$1wB9DAIixg)l;)7q98${kO6fnBOjoaD(w<4Q2WebI|2o;S z-}dU>zV`F9W{f7!G?H;6S#IPCdju3#VHQ?07FP2-%$7WZ^PRN4w%41SWai@VLi9l6 zzZ(FT2h!8_5$CEJ2irmQL9TT2h?jjop&+e%|wX>2QvZKbiT#Pljmufp^-1z%8zAVt6htM_jr zkwRp#tGoUxd{Zp5ugGM7?+tOs7Z}&Aj*1OvU?skE@T~qL?#;lv3E^v1-cNcSaF?SbpcQJQY;qEGWJ=hA~VFxyOk-K}y z9jxRH9y4BlBEd!ytZ+w#y$}`~gI}}DYyI}Dvu_D@{9k`-FS`W|3Qp+#b{XcZcZR~A z3x)j_3TskVIsaL(g;lZzel7FOk9@O`A6FZP zEykeRovtUXcG4>B)=+^*70%k=tn0+Je}COd->&`-*DZ|5r>_01>!yv!D@J63YZm5z z6!yI+%rjc%I*w|ra;TBr5hL&um9SPT8MLP;>1?Twvb~tqp$NBb9$KxGOXMO(G>8~^%AF|VP+3C47 zXblZY(4Yj(X(;X#m-hGksqOUR4-en;E8nCon`ue|O{t(M6*Q%Src}_B3YxNprmUeU zo9S^6xo+jfLi)Rs{;o7K|CAqeb0vLT`Hws)IyvwJ#=sL815aKIz6QI2r`39%N0ldC z*^3GGHp^@u*f+e<6R(~P_7AVLTgN+g>sS#y;_0~MKD!jxmW4kG;?`3Y)^emhDW=h9 zvbsQ<{reU(bwW8sBs`wgzOTp=ANkQc_|ZFz?PQV9RO9=uG2P3U4l<^D8Ph?=??B^s zVA0L^_AC6m6O$j1*FI=A^5b4NIZty~?Rn{UL{9NcvSE&=c_Pgjc2O{^He!xiqCu8jP|cM4BI9u>|kem?y7;upgQt=_28ovP(i?p6~d!`u1R zJNVY)`PSoAg>F$5x`mHDzPLh89q+Z@lgV{5%lIbC_$Jv-F767a@}*N*$H}bYWRcKR zylm`uswb|V269kx-;3P8+~0G3`+LrI{|&Gytnxhd{XI|pXwOmK-*ePY@~rgzJuCfa z&q&|jGty5gx!z}f3jYp2gP+4M;6@;wZJw3B|6iY#{!*|@$$0-h0VcvEcm*cI6nMk; z{`L&@TT0&c_urnOeoM*wo_p>&XWKkK{T9zp-+!Cur{CiF>BnsI{Pg=uYW-dJ*XO6- z=lSV7d4BqkQcwCU#kW#V`YhcEz6f7}fv_|1rKMknUEnLQD|{93vlKr|@w0Sy_y*u< z=^n5r>;;2hFzgNcz`n2_d<#U;rGI-?d#h))mzN$KthTDAs`OB+nGSP29L^2zC_N9( z2iz&W5H5yG;Ct|WxHPOTy$pT;m%|U?M=%1efGgoD7ztOyHSlA&7I3fhI=CKw3jYp2 zgP+3wNJ zdGH@@^E~(~%}2gcE_=0IUEZ;)%R6OB`_!+3YN&w}q@flX!kJ}_&;-qpfh@GZ8dwYK zpcU3b4%(nSoZ0t0_yxVsga41uf?v@4Eck7o1OJYA<=t?hm~f$(aG{uRp_uS^QTbHQ zF{p~Jfwiy>T4B8&miQ^!2JO(HGI&aO$bjj=HwOGU{P%zI4EcW_@TPzB4EX`?gc}CD z%SQd0#T&!oy~EN~vUH6s-87b~hQ%7kT8&|?#;_#QSdeL~#vfUVF|5QGR^l~QVhqjQ zh2{>Xxx3KZgJ|w9G&wS#&IsTsO@0icb^EVq!`ywSO0>Z`45p94^f8z|2Ghr2`WQ?fgOQaO zS&5O27}_DUavDZX!^mkEISnI+V&pW8oQ9FpFmf73PQ%D)7 z-dOr@(RHPd1QRiGcjS(#(ECHYepg-eJ(vyehc%>MOZq#I{vS#I(g8Dyt{X5jcznR?!IuZT5gayPmiOO; zw*ou(koxF1|n zJ8JLZ{(CSR-tX0cs$LJDKFPx;xAE{P9zKQl_BW;j`-dZV_}M&s zWuJ#n^6;PX@R#xMf8ycmc=*{o{JT7SGY_9MV)J?UB|QAGM(%e!d~zEPKZS>%_TPB; znLKKFPx;dH5s`pXA|_JbaRePxA0d z9zMy#CwcfJ51-`W+qUuWZS34)cCMa>PxA0RJbaRePyP=*e2Rxp@$e}gKE=bQc=!|# zpW@+DJba3WPx0_69zMmxr+D}j51-=UQ#^c%hfneFDIPw>!>4%o6l-uZdwMf_I)*(R z!=8>|PsgyQW7yL%?CA*BU<7M0f;AYy8jR@k@FQ4*5v;)o)?fr{FoHE0@n3lO5iG+9 zmfKFPx;dH5s`pW@+DJba3WPx0_6HvYgq5C7AD;^BYF#{aa>!*Al@llHznhLsv& z&)Wr_-M28j*W8ITYgS=C#0-_`dt_Cg%loFurV4x5@5NeF6weKc?7ViCnQFV293I|V zazyy7RgCvq#n@~WW3yF^_gckxuT_lACFjCjV?b0>kvVp!o}UtE~=HAvOv51z!7 z^u(YIcI+!WtKuZ`I+>gXkk7Bk<#^A&Yb2L1l1Ukv97rZ-*m3S~`^Ft*hrQj&XLr4j zK`Kv2k<+o{bgo_Y_93fR$?9BkDj}ys$*CgvM(|}b&$jMSN$NNv?&?*R?9f734d| z$i-dZk-m=7dROw4nD7m9{mj+gaN|h zQE)UIV@=a{ymu@dXXfTmI37-b6X7H{8BT#=FdR;W)4+-ld%QN-)b!5bN`(9 zwkgAL#eR^!sA!bJrJr6~5;6 zZt!*3-G0m8aKsB;`?0!1G5x=o7&)ao6f4>X_Ei_%&+%KZze?f(K6jwkL*${u^FxYm z(h<7ZT&G`}L2-);~DEmO9&h3PO8 zKJmG^LBvdh=fvVo#Yq*rRgm&`eHbflfJSJ7X6Msq(6fvcx4;^oU+cIIT4BBO+0R-W z-z<)AR*7va?(}yTd$|EN`b>BDu6X`keax7;>GgV*;q6oD1js%mr`}(4~H(!`J%nt$Vf) z>thZ{|NX*O`+qB(+JAq&&;uL~3}^Nq65iMUpm0_H4^@jlf;qtj_Azd-k8y*2j2rA@ z+|d71NQF(Jlp+0BhhzIUhcESC8!l8;{=m$Jv2u?lvxCQ)xA&18q-i^x+ivf$XS+?| z*pmIjhf5BC17Qdp1P8+*a3~xGhrD#6tzSY^`fXmszfATBR=2S~51czvQK0iOOk{ysAlF)g-TKl2$mc%xxlepNuaN<77)#M*?-6&s0&zs^w%#TEeGzsi#WTdIsSR zb_nEmqurKTf--7*vX{84gO)WjJ=%dmh!ONuw6-_QZxai~3 zLsT6P4Q9)?n&ewer8js^isz}6-U+{k-@sjPH{4THT6(YJZ{c@vAKVWQz=K6YN*{_` zSo(0}tWvY9N*^uSq4cq$14|$GZ%@FJ!A_pPIJI;%JPTvsId~pkfEQsbyaX@9I2aFw zr%X?B)8WtX8q9#1@CM9+H{mV$gP#0&DD0;pwlXp8RT$^9FmIH=YOV!{KzWMzZWoU{A}=1~#?q zyTGoNd455e4sqFquE(~PT@07N_u%_*DO?6WfXm^B@FN%jSHP8?(s-5QNVpoVfgi)Q z@DsQWu7{t(zr)W!+*2m*G1Gl)*^R(|n(02)O!u*7x{o!>Ypf?Ik1f01^EZFxc!&Gr zS3N~JX8ua7>>ju`jFX~ z*UCo0GxlZw6O4vuVGKM6&%+DwB8-KX;AI#G<6#0!gh}uUOa^}1zVWNerouFs4u6K% zUe0c$Q}zO?jqc;K`}*vDKKm`7-QT|-;Ijw% z>=3UH3dcqdhC|>`I1I$_(IY?%A3YL|f}`OW5W`2s@X_O7C>#$bz=?1YoD8SHFc=P} z!f9~2n#dV&CY%Ll!#VI>I2X=?^L0TkfD7RwumatB+A8a5tD@hBOW`v30bCA01l`c+ z2)F{SgsWgATn*R2kKtPQ30w!)n^*PI;2>-L7g+BWvEFSbYyB5QZ-Sfc1@OyYptb%B ztbIGk+PC|xeJkuuyue!j8oOeJ*1&zm8n~mPcl%BEz`eRUzlGnyeIVYCiua=r!b9*d zJOYoxWAHdU0Z+p3;ScZ>jDlyv*R7a%Jvthmg)#6PJP$9xi!c^mf|p?&jE4y@5hlSa zFd3%6t1uO&!E|`Xjv?>b*YG`<4e!I8-uWx>Xv_@n1>pzgk;Tj-i$xd15?BhKs#R4u zt_VMjChW)1;yhwfwXG(#ttPdtrf8?J=zl54-Y@G=(QcjwdliJA;PJk2PBsdvPfni`BiJUYoCr!&q({j?ZoHQ*bP0LBsa?-S% zG%Y7h%SqF6(zKj3EhkOONz-!Dw45|8Cr!&q({j?ZoHQ*bP0J~*x0V0>8h!(J!QF5V zu&r{+xSTRBr;O`q{8>+9Uhs$~rj+|#OU-In=GogToFi_J_=ICpov@HM7IxKbluKsh znJqrM8Mde{gerp(YqScrmooX<-(~}*B*YFg!0;o1wq4 zQE#JOZ)2jq#zy&Bs>oa$eT|ppWGQ`(mr3jrxmikXmeSXFS?6h_{45o@I$WWzF*5QK zpZ7cEWpTUl?-Y3;?1+pCXUW0Ra!P0WDv>Yrh2aC(U zQu42KZ{AgyMfi!o=Qz#{f2SW(m`(Vce#mqBA+z*DX6c6%@~>3!ns9;~YJwbUrW|Uf z{Aq&x={@<=dvd4uY@QOEr^Mzdv3W{t zo)Vj<#O5h+aY|gA5*Me$#VK)dN?e>07pKI z;*_{JB`!{hi&Ns_l(;x0E>4MyQ{v*3xHu&)PKk?C;^LIJIHeDfvTtWf-yx;%kP-){ z#K9?jhr4tO?^0R1OSkYY-NL(c3-8h`yi2$6F5SYr%q&RjJEZj;()tc*eTTHZLt5V< zt?!W5cS!3yr1c%r`VMJ*hqS&!THhh9?~vAaNb5VK^&Qgs4rzUdw7x@H-{CfWhui*( znFS;D9Y*RqjMR4+sqZjSN||ocNnSfFj7UVK}D=VMXW*ZcBEdz zNWF$1i!sw;%(NIYEyhfXG1Fqqv=}oj#!QPb(_+lD7&9%#Op7toV$8G{GcCqUi!sw; z%(QqWE}n^tXX4_SxOgTmo{6(o2Z(3l;+eR3CN7?di)Z5EnYef+E}n^tXX4_SxOgTm zo{5WR;^LXOcqT5MiHm3A;+eR3CN7?di)Z5EnYef+E}n^tXX4_SxOgTmo{5WR;^LXO zcqT5MiR-8QSwH2^`YH4DQ|9TX%+pVqr=K#fEDg2L5Y94VVwM>bv&@*7WyZuTGbU!4 zF)_=GiCJb$%rawQmKhVX%GN^;+Mqq0#h<77^E7{+=Fijod73{@^XF;)Jk6h{`SUb? zp61Wf{CS!`PxI$#{yfc}r}^_Vf1c*g)BJgwKTq@LY5qLTpQrh>lpajE9!$9&Ot~IR zdGrITUOx4Fc=nE;O7T-Eek#RJrK04i2b0!=N$bI+^&?Hy1esPvCmna7YZ}cS&q+D zQ#P;`b6ATxtiHkN#^H@}OXq4rH5bxQy1{ub%wr)_QVq z^)~ZzJ~9j960;!AQCt4}e>-1>6fW%TguPaDlbH_pn(6S0$lzcz9nLItzy3ezsGIzC z_SyeHIw$C|w4cXRk& z|DD74%8r5Wz_D-~429$21UL~+^8KQs7EewJf?V+dU;Npga}WQ*G2i^o&|`lvbkCu` zJ7LNRADyuBgoYE^PYg~Rdg8e!UU%Y?Cq8@PM<;%EV&=s5lfHS<-Y1=V(v2rQdeW+s zgOk5?=2yB{l&qzHr+Pjwx-*+zx}$~AH6;QtFwM} z>9217{qQ^9yz{hsfAjm{_dfaLy${WN^4KTueKPa=;ZN`R^q#+;`qY=6I^n5{pBnkc zrl-H+ojafY!_(uRp7(UkOUFLl^31-^p7iX6V_tan(q~6KyK+qFm@kjHcFYT7=Du+8 znDleApKE!3-xn@^{%6m>_I&ziK`1lK7d3yXc<8L1SoAHlMTrmFG@o$V@ zIzBUg!-QbM7bZSFVYdlGCLBBAj0qzr+&JOx3C~U#KVkZWwCk~o; z%)|>PUODmFi8oGsd*a;_r%Zf&;&cB0_QX$Id)1`VCa#_M`J|mE4e{S;lP;Zf?W9{K zJvr&+NpJXX>7>l0&tEBh<;$-e{L00z-0;fN{u}?w!dDvn*ZxY+!Hu=)YH&4EI z@}rYyPM$kCJ*D52-KQKdW%!g4Q|_NKcFOcAvtM00ef*4LavjL>v;Mid>zd4)~6e&Pd8AXu3De2TA!|3 zpDw0P7t^PU>C?sZ>0UQs7_8)Cnu_t6V=Iy z>f}UqdUV~gzXLp5>=4%f5dFGt{km@bx^DftZvDELeqBtzE~a1CtzTEJU)QZ)SEFB7 zqhD8}Usofys*_tKo}RYGo+kXt3>RtdRPLT;6iTP5UHiQs-cx(DDvurInCYl9ps zA;+rHr<*UwS}7`6rbk!U^=_G5D=ybc$h8*g(N*cub<4Rb_36_3b20t7n8=|bX!5yc zuQTB%^030b`-|ja3H`WT$k=9 z+sgIZx+8albM)N0<#q|VT|&QYx%@5~c|aEbpwHM(KJt{~C^HbA3qO(X)yenj4U zy*l|`oqVrOzE>yTtCR25$@l8ydkOhoA~Mx|P4oTfuJM{YaE8}2!}*cd9p8{!&T_ps z!%sb@ZCT`P&)0m%{k-e5@441&$M>D%1Lv^%G&0vQ2J^f>Ke#Bez_A?EKO&35xe+yx zNQInrg<1A?(~49=70pfr6C%mr7m=E9K_umRj-9^SWgN|xk8Ff)*XRj;8QBv2vN*64ZIRuJB6^9%R=)Rx{;*wG zQ(WR$22r{1fbf&z?d85ZIDP?kG|OivJEwiocfS-aEFNeM#m+waWvexI@!hZZ_g&2e z{Hk?NyICLmb?fxmisC(e26u{ar}zTjz0ki~162Hd`}AF^XK24`Ird6D&X_!Vp}uCU zcsk64PyE~5piEAk(9=xmX{L(novQ&Fp$RgOg%&W|r+BU7I%tLU&XMz8n-vJ{(CKxT z``7>*{kuM&T>K+_%x*o*ZavIydHE7O%x*o*<^76+ujpaM`WdHw#;IS4*8?0+wKC;2 zI0Nh}+V32&pQyfNte^V2zGY0`vRmJ>qCcJL{|(1IJXd#5k@{ZYGP!-7+`dl5>4*L2 z27Afx>*V)!^7}gZeVzQiPJW-zryQzJ8SCF1miNyFhxBi8T&qT~PX6EO{S7{&AFBqC z*e(bwwkrx3ZWjq|+paiVv|T^%^$(YBXZ4IeX7_f3!?-#@gI;E=~i^ zJ4mP~i^J4mP#cd!wtbe{j`Dl zX#@4s2I{8`)K43zpEgi-(WRd@P(N*;e%e6&w1N6*1NGAe>YEMJHyfyLwu`=5wZ2)k zzFD=tS+%}dwZ2)kzFD=tS+%}dwZ2)kzFD=tS+%}dwF=@H`exPoX4U#;)%s@D`exOo zufkNA2Gils@EXj3nZeGbubXrEhS#&;O?b=mO5b*T2h3X5JFC_^i|L)k^v+^>XED9A znBG}T?<}TwR<3teu6I_hcUE4y*h+jgR{gVb{j-?dTQNzYTae$!v%1md!+mNYB7Dan7&#}UoEDu7SmUY>8r)` z)nfW;F@3d|zFJIQEvCZ!1%0)czFJIQEvBy)(^re>tHt!yV)|+^eYKdrT1;Oprmq&$ zSBvSZ#q`x;`f4$KwV1wIOkXXguNKo+i|MPy^wnbeYB7DaZhf_GeYI|VwQha2Zhf_G zeYI|VwQha2Zhf_GeYI|VwQha2)5|=wMPIE(U#&)8twvw1MqjN)U#&)8twvw1MqjO_ z?2q6%2Wn9XwWx$zR6;E(p%#@;i@HuNDxnsYP>V{aMJ3dt5^7NiwWx$zR6;E(p%#@; zi%O_PCDfu4YEcQbsDxTnLM>^qtx|8TQg5wNZ>_Sgw^pgQR;jmEskc_Cw^pgQ zR;jmEskc_Cw^pgQR;jmEskc^HwgTc%2`ixr%&AiEs!{K%QSYiz@2XMns!{K%QSYiz z@7kc=wL!gWgL>Bn^{x%-T^rQ9HmG-PQ19BH-nBu!YlC{%2KBBD>RlVuyEf?04b@MZ zub(zwKW)B#+I;=A`TA+|_0#6-r_I+-o3EcXUq5ZWe%gHfwE6mJ^Yzo_>!;1vPn)lw zHeWw&zJA(#{j~Y|Y4i2d=If`;*H4?TpEh4VZJB=BGX1n=`f1Db)0XL{Ez?h1rk}P< zKW&-%TU`AuuKpHRe~YWX#ns>9>ThxNx48OST>UMs{uWn%i>trI)!*XkZ*ldvxcXaM z{VlHk7FU0ZtG~t7-{R_TarL*j`deH-tx7-bl&DpF(VuxHiB)`_?@{GxGgbO(Rr+dG z`f634HdCdqR^@3kRh~9e<*5o)`f64BYE}AbRh~9et9uxPDq(KP|4G7S~UU>!-!_)8hJRas9Noep)>G$M6$9wMBYri}chM z>8UN!Q(L5`wn$HHk)GNjJ+(!8YK!#L7U`)i(oZIPbZB0aT5dTNXG)E4Qf zEz(n4q^Gt>Pi>K&+9LJGgr3^2dTP7ssqLz#wrlhgJ+e74PknI#lzY7p7Qtdz0!v{T zEQe3SCHiaK`fD}OM6iRpWkTIDp>CN_w@j#8CiK^0`fD-$wV3`|On)t=zgDTgR;j;M zslQgKzg9WmiE#daKd6{J72Gx8kHPQ(&xGA-n~4GMh0FETmg}p<2Jk%tmYC;tk(r-0 zK|ipQifnS3Y;u`wa+z7X8)THrWR%Nfl*?q4%Yr@4LEQ`Xm9gv(2kJl#frH=>t7r~| z!{Bf@0=^ALh9Af*Kag2|AhVnoe8+pof<5qLmK8F~3Ylev%(6meSs}BmkXcs9EGuM| z6*9{TnPr8{vO;EAA+xNISysp_D`b`xGRq2?WrfVLLS|VZv#gL=R>&+XWR?{&%L5yNt;$W3tPb>@p_1tdLzUmR&BET`rbgE|y&`mR&BET`rbgE|y&`mR&BE zU6#u(%Vn4IWtYo?hh>0|$QmD2V=g@Bs@ym)B#)*3ZMnZc4d0h>E|qc4mvJtWaef?B zsY@q}WztF}(SWRTp{#S6taE|AISWsTE?6a`CX};{UT=qFz_W6$NGba1| z*q%s3ve0F+&?U0aN?GU0@9X7Exwo2fbEe!0Q|^S7 zrBf!|t)|>3m~wAl^GV-#jjs)vAg}ZJ|1jZw!T0~YulMfXhCrrH)rruFg?@vs@9L*k#m;(s&D2ypwq}>-bFbU& zcDp@}kIeb`_pVIJ$C{Mix&~d>geGNsJQMSniTO?w^Q|W4%h$x-_15$l_j@jhpK-y* zR&R@`IcI9lnwqnw=3vdw{k=M=D@@K;tXcNB&J1OO-fDv0W`a(epaTnh_W>A)nt z-6WkgN#Ah@D`T1-Gfht&acbTx$ChTn{?6e6xZNg5Qu$|2@^#_h%&m5AKf~no_-?Tk#+MYIT=SfxM;J7?m~9a8h0BOmM1kl1}X%aDnC+{8U@_3#c;_o%6R#MC`v>du+E zZ#Q+{ZtBiiJv?FZ&Y8S(ChrlGch2O!)#QD&$vbWG&Y8S(hpshgKS<=L{l+^=S<-_Q+Uo4o;HQ2P2p)%_@XI%^w8@aD|>`9C_U20V|rUn<7w0QZKm;I z(|Ex&UNDVcXc|A(G+r=`7fj;?(|Ex&UNDUZrtuR^<7w0Q?I!V`n8e3S;@eH)>9zKE zrt!cuo;HmKrtz$4eAqO8t!exY)A+P$e8e<9VH(ew#wShVKR1o1tt_5h_au3;JVl-= z$H~*=Pvz-yygWmm*;}--c-G3|Su2ZYtt_6kvUt|Y;#n(;XV;w~r^<8XdE)%lRu<1% zSv+fH@vN1_v+GWmGvvkc68HB~d6|E|TwdYduavX=`_JTTd6k?aua?)yYyJOo<#qo3 zdiitzK2Of~?>G49{Xgq2@b5QSX?&qvt_7BZT-&g zyE?Lt!AJy*M8HS{j6}dl1dK$$NCb?;s~L%akq8)xfRP9oiGYy^7>R(92pEZgkq8)x zfRP9oiGYy^7>R(92pEZgkq8)xfRP9oiGY!4SC@(Q`s)P0$JP(CDA$%o~ywlNnY%*6N3xwxIVxShF3GZ$&*;&$dD&0M6J zi!^hQW-ijqMVh%tGZ$&*BF$W+nTs@Yk!CK^%te~Hcms2hW-ijqMVh%tGZ$&*BF$W+ znTs@Yk!CK^%te~HxQDqYtT%nJ7X|jBz+M#CivoL5U@r>nMS;C2uongPqQG7h*oy*t zQD83$>_vgSD6kg=_F|E}SY$62*^5Q?BF$bbvKNc&#UgvL$X+b67k|cHoWx$7&0K6? zE;cb2k7F)QU@jiUTx?=4&RaDX0drAeE>31HHZd0`GZ%sPFP_3)Ja+K8-b?p_UXH=Y zF&H@pBgbIm7>pc)kz+7&3`UN@$T1i>1|!E{8H_Z8k!CQ`3`Uy4NHZ8|1|!X21Pn%+!N@TfIR+!gVB{E#9E0&Q z1|!E{8tjKvsZF~(So zF&1Nt#Ta8T##oFo7Gpb$F~(xdvKZT0jO{GOD2tJ2G4d=%p2f(s7W&tl}QCf;E+ z@s7bgGRJuAm3eWVAy%WrYLr-w601>SHA<{TiPb2v8YNbv#A=jSjS{O-8eH(4S$V6G zr>sVv8f?pw?C(u69w%*hg!42wlCa@uIYyi_Zo{K}G%s#2FK&38&mS+&zqG;mmo_}X z*N&AZ%AffBNj^SVoRN$@*}|S|VNbTOCtKK)E$qn__GAltvV}d_!k%nlPqwfpTiBB= z?8z4PWD9$;g+1BAo@`-Hwy-B#*pn^n$rkox3wyGKJ=wyZY++A^*^^=RWSBh}W>1FM zlVSE`m^~S0Plnl(5%y$+JsDw7M%a@P_GE-T8DURG*pm_VWQ08#VNXWblM(i0ggqHy zPe$025%y$+JsDw7M%a@P_GE-T8DURG*pm_VWSl*DE_*W0o(!`medos?RjI$@> z?8!KLGR~fivnS*1iEEt5mGS}kpnOQKlE1e4>2Ktt@-Z=QvL|Eg$ryVw#-5C^Cu8i% z7<)3to{X_4W9-QodosqJjIk$U?8z8=atnJh%$^LhC&TQ?Fnco0o(!`m!|cg0dos+P z46`T0?8z{DGR&R~vnRvs$uN5|%$^LhC&TQ?Fnco0o(!`m!|ciMhX3j6Mz=6kx2BF} zP>yC$j%HAf-f#ySqW7{WxeZ&HoNY3~dX37MuZ>GqCL||!N#OhQGU@kP@VV`VP5C`G zC16tmHYH$F0yZUJQ_^fonoUWwDQPw(&8Cd8DPwHP7@IQ2ri`&ETiBF~*_7+qlqVea zdFR;qLN7S%mR_4x30Re_tjbnaCC#eb&Z-m+{WDf&kyTk_Rr0J#kyRtdy9Q60=fbR!YoDiCHNzD$RXH~{ol@hBm#i~rPDpRb=6st1D zs!XveQ>nj^kIKj7<1EG}l6Km3vl+*j!So4$U(I5X9%O)0M0 zlqEK$&8B>uO)0Lf6Zj~bQe;!6R&C1RY>M;Qth_fj!=!9uQuZ?`MJ8pKNhvZZQ%uSf zlhR)^Fu|lemPy&hr0i!>cC7J!2_|J5lQPSs6quA9Ov+X!rNpF^n3NKeQesj{OiGDK zDKRM}CZ)url$ew$CS{6A37C`-CZ))v^w$vF#iWcfDH$eZ8i?WAB30RbI7G;=4c^8Y)W>JbPN`^(*#-iNGqGVW`9S5DY7R;_9Vle1nfzkJ;}2ti|k2o z(3*uJdy-*KGVDo_J;|{rMfRk)x^AJ!o=mVON3kcFL;Y?K^}A(H7TJ?U_9Vle=BBE$4{+EqfBMCrc~q7_1FqPsZ4j4103t+Q;@r*^?4`Qd(Wh z@HqCQ#GaJclM;JUVoyr!Ns&Ey4ttVePqwiq+t`zUJ;|{rnN@pIWKS~eNpW>8!x($= zarR{VptTH>>`9S5>91v2Vox&c$s&8Q$et{+CyVUK;yUN`9S5DY7R;_N2(36xov^ds1XiitI^|J^2iKat3>H8hdgqdvYXu z@^$v)SoY*t_T&WiQ-WKxPuN|8w^GATtS zQ-WKxPuN|8w^GATtSrO2cdnUo@vQe;w!OiGbSDKaTVCZ))v6q%GF zlTu_-imPioicHFZ^RPV4*Zx$VF2~F7Zc+|sQVwTQ4rfvhXHpJlQVwTQ4rfvZn3Thr zl*5^n!~sCgoYyfE1aO0+VtAlkylQ zQ%uSflQPAmOfe}_Ov)6KGR34!F)33_$`q3_#iUFzDN{_!6q7Q=q)ag>Q%uSflQPAm z1WZc6qy$V#z@!9BO2DK9OiI9{l$ex&NeP&gfJq6Mlz>SIn3RA?37C|CNeP&gfJq6M zl)IRefJwQBNy#xOIVL4wQg$#YJD8LmOv(->We1b8gGt%Jq%1Nii%iNQld{O9%rYsn zOv)^iGRvgQGAXl6$}E#I%cRUQDYHzRCS@y=vXx2M%A{;%QnoTFTbY!tOv+X!Wh;}il}Xvkq-M2sV@%2zlQPDnj4>%= zOv)IOl4DYGOiGSP$uTK8CMCzDM5tqfE*ulQPPrj4~;s zOv)&eGRmZkGAW}>$|#dE%A|}kDWgovD3dbEq>Qeblp>RI6q9lklX4W3a@49xDKaVj zt0>GcDKkt;j!DTeDMcow$fOjRlp>Q-WKxPuN|8w^uC7ZdGAVa4DT7Q(aYIcasY^r5 z5==^lNy#uN873veqy$V#z@!9BO2DK9OiG4Hc_WkZIVR;;CS{39DKaVj^(jRrCCj8t zFe#bCaFI#bG4N3)Wr#@`Vp3kso?OX{%rYah%*ZS=l4VA+%t)3Q$uc8ZW+eM7W@L;R z$uc8ZXZ^Z|oya>k-cc+>mW9Z&5ZM(2;Tods!%p^LC;PCIHTXPZFvJv$GX%RCf}IS( zzc2&$re>LfJxsxz+wPV7q+*>$%~`k>oWE_U_ep2l`lM;Ue-6ffG~xe?$^OeG`!Ad3 zv!?j0DSf{wy?l#faoU94w z-a|B%Lo}5`tVA;DWKBBRLvp=Onrgmns`<9FN`2C#k~N9!F^TLkg?!o6vDd_rHDP2; z7+*F;WK9uSQ$*GjkvAO-ngGr>0c2MufO_v=H2&+@YM5CKGpk`{HO#Drnbk0}8fI3*%xaif4Ku4@ zX4n5rcFDcs^`T*AHO#Drnbk0}8fI3*%xaif4Ku4@X4m&nHYEeHMh=lfWvx8OF^YAv zUIt}DFRLl$HO0K9m>>M3)R9&S|Dl%nBrWj-$J-vEB|g;gw#RCTCuoQ-ch1S9HN@9x zhDT{~Sxqjh$z?UUtR|P$9-tI1_GxvVCa)#S2+Z;}h;BDq-JEN_vw z%G=~G9-tI1_GxvVCa)#S38Tvn6IYI0ePY^O%HQzP4{ zk?qvTc4}lhHL{%=*-njYr$)9@12_-0$5DG6wZ~C=9JR+$dmOdLQF|P<$5DG6wZ~C= z9JR+$dmOdLQF|P<$5DG6wZ~C=9JR+$dmOdLQF|P<$5DG6wRfWSPSoCs+B;EuCu;9R z?VYH-6Sa4u=>;1c!`t8(9(wITuRZ9s2fg;7*B_?L}lWYDp&7w z4#EC=ov!7mzS#>ole_KlUTBZ^5__%wIpO|?Jec=@ulC2So>S^!UhNO|YJZ%g%cpq7pX?R?Ft7NpdBwlT zE4QxipXk+epI6Sw{#vj2PyOxm&vN(w?cdI2sY6mP@b2Olq}Ha+@Xp9Tc0QQvz2pBT z=YjcF>R8theq!oG=Zyc9cN{+4v4nQ&8dvwcmJ@%D>(-qr=keg@^Q+J6-OqjB&u!oD zye6OW{?do9xkxVV%{jNpr`BBJ-yct%vgQ-LeSCHQ3;fO!&uy5U;q+YP@N%CZQ ziab@0lc&j_%G2cpd6t|gC&|h3Yz)pAs5J-xTOoF zn)>5)k!vTs($zQ4l2^&ADN06U|<2vsZg?cj_sFd*oNw z+*i$6HTjjb_J_UDIa?p@ua@^$%loU%`D@+cFK~U`7NILEuQ%;p7|}F`7NILEuQ%;p7|}Fx$6OGotw4J&06QXw9XG`nl(+c zrfJqR&6=iJ(==}s0bE{$%NHn+>Z z=U7dvrfKccu4>xVX6DJ<8r5cvYO_YQS))EXJyi4nOmzMJZ4d(;e zL`|EhX%jVVqNYXEw1{0?)h@1T7gx1QgV@DU)ij8j22s->Y8pgMgQ#f`H4UPsIn*?V zn&wc`9BTG&HO-->In*?Vn&wc`9BP_FO>?Me4mHi8rZv>GhMIlh@7WhV-o9|qzHrdK z@3HoMkG9{t+J5gzNMA$x8q(L0zJ~NQq^}`;4e4v>UPJd9y4UO@Yv^7>_Zqs_(7lH4 zHFU3`dkx)d=w3tj8oJley@uR1Db{RzWP&F=K86xEUtWZyU+U9rQ5giS;lAkd}ei= z@BH?FRc8ZMoDICfSI_eCY}dtdH8=a8lKoF<;LW|nF}-~&tD_HGO=@YwPPabPt@rru zw(nl@9gC?4`AYxxD_2l<`?lM+-M+nYJ>nk>oaA~`C(CKBGzlM*YS{{l>Pt|L^--{Mc_~bmjSc-gkb%cYeWle#5h!^(g&SyQ%bja8?;bc&PII;^XQ4reHLh*_OxJlk!Iie3rB9sbDk`V-E_UVSqg=W9;jY|# zv@16s<(vh-=N3O4xWGA#FO-W?&veD+KRon0`JD61{mgVY=-x(BpLVaGarS}}%zf6Q zcs47)g|)}0esAqFQoonl;Jdc^u7~-qV|>?E-*vO^I`9{Lb?PwR`4Hdvkb$4uOC|PF zi9J-yK5@xDamhZhhGg~B6MI$r#=LpCZeFgNm+PtHdQE$>x;|*I37V|*I37S?CG_53PT1n8flAviNLDNctX6iNaS~*u-{#|A`1p3Y#J}Gm@054B{iSl5T<-HL{Qr0R_h0(= zdo;)Q%KPN~a;5+0TE=QTdpB-1mM$u6FIlYy94?_3=}# zIC+BC>w#CB%{Bf#)C&=#u1R#)e9`w_FMsdrU-9v)@-^8kUzZ!@8}d#0mV8_O(S81tvzYl^ zIu}dx(9ibvA9|f@w|x$U4(~M`9c(%}*j$_G#f}U%9T{w{4J0p*oEsS-)=9ubcJjX8pQZzi!sAoAv8v{kmDdzW$%&pXEDplYCdcC*PMJ z$PeX5@?*J0Zk4p_cDi2q`rG9WpAXBOl9BB)Dq}J(S-DFB$;+e^WJ;!`D0j<@{8VOT zr~FKI$-Uz5jLvm*uA_4uo$KgaN9Q^^*U`D|s8Q1qqoyN9O-GEHju4;I&5u>IfMomYInvNJX9WiP;V$^iRsOgAN(-EU4H!#l)%yR?t+`v3HFwYIla|83- zK%ENAyPxCb8S+dyK~9pB<=J9?IB0)3Xn*LOMNQ`{YC308 z(-ElH5vbS^sMyh`*wLrh(Wltar`XY_*wLrh(WiLum2#GxEwA#koFlK6*T`$-TzQ?m zUfv*YlnbOk>0Kxn$;I+!d5gSN-X?z`Zi-N04Gi zkYY!WVn>i-N04GikK(~=6Me@~qXkEe z792HN82pmlAYYcR$XDfSvRS?^H_A8UoANFBw%9j0YP8^}(SoB!3yvBsIBK-usL_I> zMhlJ_EjVhl;Hc4pqecsk8Z9_#wBV@Gf}=(Yjv6gEYP8^}(ZZl>!w=e495reV+Mf*$ z%bnsH^MhN(Rl^6j%c!`{{GjX14`#)+<{dF=4%+WIV$^iRsOgAN(-EVlqeV?ei<%~u zu8E~PsKE|uuqKwSqd;9pfx3hDNmXhRNnIKe%R(<2Y{@=Zl(sCne(?@hUT(P-`#xEe zwk(P5g*k6B=S}9k$(%Q}&HBLI2)~H%iwIvq_zJp@qI(nFo9Ny|_YS&;=pLebi0&b} zhv*)ndllWQ=w3zl5Zyy`579kD_YmDfbPv%zME4NgLv#<(Jw*2q-9vN_(LF@>5Zyy` z579kD_YmDfbPv%zME4NgLv#<(Jw*2q-9vN_(LF@>5Zyy`FQa>i?j3aRpnC`1JLuj) z_YS&u(7l819dz%Ydk5V+=-xqhtCi$kZhxsh zi0%=(N9Z1*dxY*0x<}|9p?iex5xPg{o}hbz?)O_$*hTjyx+jPpB6@=8qli9==p97w zAbN=CRYdO~dI!-vh#nz&gy;#Pml3^+=n107h+akXCZcx`y@TipqKAkcB6^7EA)<$f z9wK^(=pmwqh#n$(gy<2Xhlt)m@eYcIC?2AC2gO4a4^ccs@esvB6c16nisA{1cTl{8 z;t`66Xu61|i)gxtri*C0h^C8Zx`?I~G_9a%1x+hxT0zqanpV)Xf}*1+I*OvBC_0Lw zqbNFxqN6A}ilU<^+CTSqG%IEn<&~u z(I$#EQM8GoO%!dSXcI-7DB48PCWo+@h@v5ihA0}MXo#XAiiRi}qG*Vs zA&Q158lq?iMLQ_kLD3G1c2Kl~q8$|NplAn0J1E*g(HKQz6pc|dM$s5WV-$^1G)B=F zMI#iAP&7i(2t^|ljZic~(FjE&6pc_cLeU6CBNUBLG(yn`MI#iAP&7i(2t^|ljZic~ z(FjE&6pc_cLeU6CBNUBLG(yn`MI#iAP&7i(2t^|ljZic~(F8>k6irYxLD2+76BJEQ zG(ph>MH3WFP&7f&1Vs}RO;9vJ(F8>k6irYxLD2+76BNB4Men!XqHDcH*LsVt^%h<0 zExLn0lU=eGZRe#d_eoW1qIn`~6Iq+c+CRTwu`o1wC$p87j3&}+eOli?&^~jnOtn+vU|+dKqo& zX6Y7tbHFA&*Kzdc$pKHblf~)J*D)H$Xq;Q~dh_u`VpYhROMJW(T`!X>{Qq~$zn-R`Jh?5j?4)%C&-*2bArqXGAGEKAajDu2{I?h+(qUtGB;Oe z?IpAJ4zu>s>a3lhbh0{YCn%kubb`_eN+&2CqjZeY@j*ep|ALL7NgM3-OB43lu@^!gUz9HX~Z^^giALXCqpXEDplYCdc zC*PMJ$PeX5@?*J0Zk4nKu|>=k+C!{8#M(owJ;d5WtUbiqL##c-+C!{8#M(owJ;d5W ztUbiqL##c-+C!{8#M(owJ;d5WtUbiqL##c-+C!{8#M(owJ;d5WtUbiqL##c-+C!{8 z#M(omJtW#gqCF(qL!vz-+C!o}B-%rwJtW#gqCF(qL!vz-+C!o}B-%rwJtV(n25)K) zP3@tnJv6n4ruNX(9-99@n!#i3A=VyZ?IG44V(lT;9%Ahw)*fQ*A=VyZ?IG44V(lT; z9%Ahw)*fQ*A=VyZ?IG44V(lT;9%Ahw)*fQ*A=Vz^|AZO5t37nJhpzU})gHRqLsxs~ zY7brQp{qS~wTG_u(A6Hg+Cx`+=xPsL?V+nZbhU@B_R!THy4pimd+2HpUG1T(J#@8) zuJ+K?9=h5?S9|Dc4_)n{t37nJhpzU})gHRqLsxs~Y7epY5Ni*y_7H0ivGx#a53%+T zYY(yZ5Ni*y_7H0ivGx#a53%+TYY(yZ5Ni*y_7H0ivGx#a56jxa@WCu&gQ6HHEsSP}dadnnGPusA~%S89de$Vof2|6k<&w))Zn* zA=VUPO(E74Vof0)*s1|EG=PQ%(9i%P4WOX`G&F#Q2GGy|8X7?3R~kS=188Uffd&w0 z0D%S&XaIo*5NH5_1`ucffd&w00D%S&XaIo*5NH5_1`ucffd&w00D%S&XaIo*5NH5_ z1`ucffd&w00D%S&XaIo*5NH5_1`ucfd(GRi1`wIIBlC7--maOqYv%2mdAnxbu9>$Z z^LAw3j?CMUc{?(1N9OIwyxq_MoXu1&_xTlqtQtUM-maRrtLE*hdAn-fj?CME2JpL{ zcQ?`iA`PJb9=@Ggz^IvfL<`tC@C?VGp6STUnXVssmg8V&dykv*nGL*J8*s*aEuf(V zM2H_DeuVgqRpLix@yIM5nZ*yBkM<*0(|z3Px~nyUYy5ji2h_NQZWfqD(pi%>5@y$JOh zsMkQf2I@6XukjnG*Fe1n>NQZWfqD(pYoJ~O^%|(xK)nX)HBhg=?xlfx4b*F(UIX^IQIWjXx zX6DGu9GRJGX6Bli*|BSRq#P~B$fM-Z@)&u%Y!XN4%*-`2bIr_LGc(uB%#oQnGBZbJ z=E%$(nVBOqb7W?Y%*>IQIWjXxX6DGu9GRITGjn8Sj?B!FnK?2uM`q^8%p94SBQtYk zW{%9vk(oI%Ge>6T2I@6XuYr0E)N7z#1N9oH*Fe1n>NQZWfqD(pYoJ~O^%|(xK)nX) zHBhgCdJWWTpk4#@8mQMmy$0$vP_Kb{k(oI%Ge>6T$jls>nIkiEWM+=c%#oQnGBZbm z*Y>Jr=Bk;wYG$sQnX6{zs+qZJX0DoljTBGijeFG9Tt^&-@Z zP%lEg2=yY=i%>5@y$JOp)QeCrLcIv}BGijeFG9Tt^&-?e@ID3SRyH&5G&AosGw(Dr z?=&;-G&Ao+#8Fmy)a*Qhh$DzNf`}uCID&{Hh&Y0XBZxSHh$D!&6A^bJ;!Z@|iHJK9 zaVH{1h}b~H1|l{Pv4MyUM2rwILc|CWBSef=h`0?ABSef4F+#)!B32Nwf`}DFtRP|q z5i5uonu$X*acCy4AYug(^N5&7#5^MA5iyU5c|^=3VjdCmh?qyjJR;^1F^`COM9d>% z9uf11m`B7sBIXe>kBE6h%p+nR5%Y+cN5niL<`FTEhZ99%F5-?vJ|5Ebu3#X2g6 zsF+5@1}ZjC@jg_{qhcNv^Qf3d#XKtJQ8AB-c~s1!VjdL>=HSArp>CjJ0~M!GaS9dl zsA#>pujPDnu0vGJqhcNv^Qc%s#n22~Tb+R$s8~S73MxjZ7@=Z>iV-SCs2HJQgo+U= zMyME}VuXqjDn_Unp<;xJ5h_Ng7@=Z>iV-SCs2HJQgo+U=MyME}VuXqjDn_Unp<;xJ z4ODEPVgnT`s8~V83My7mv4V=BSuivUhGxOgEEt*vE2vmO#R@7`P_crF6;!OCVg(f| zs8~V83My7mv4V;fRIH$41r;l(SV6@KDppXjf{GPXte|2A74xW=N5woU=20<^ig{Gb zqhcNv^Qf3d#XKtJQ8AB-c~s1!VjdOqsF?pPRQ&f$asw3`sMtWo1}ZjCv4M&WRBWJP z0~H&n*g(YwDmGBDfr<@OY@lKT6&tA7K*a_sHc+vFiVak3pkf0R8>rYo#Re)iP_coE z4ODEPVgnT$sMtWo1}ZlGA0Cgbpkf6TE2vmO#R@7`P_crF6;!OCVg(f|s8~V83My7m zv4V;fRIH$41r;l(SV6@KDppXjf{GPXte|2A6)XRTvtS(+>!?^q#X2h1QL&DSbyTdQ zVjUF=gMTN^WIuSl{Js2xd`WJQFN^a{ngt7H!Gc+^U=}Qx1q)`uf?2R&7A%+r3ueKB zS+HOhESLogX2F74uwWJ}m<0=F!Gc+^U=}Qx1q)`uf?2RI_+z<6Zk5|4EnDPv?dB(P zhYZV|q79>B4HavsSVP4cD%Mc3hKe;*tf68J6>F$iL&X{@)=;sAiZxWMq2jPvaF|Ih zqGAyhi>O#c#Ud&eQL%`M6;!OCVj30GsF+5@G%BW1F^!68R7|5{8Wq#1cpoa>hl=;1 z;(e%iA1dC5iv2mUf{GPXte|2A6)UJ%L&X{@)=;sAiv5*=;mVwN@T#l+ocNneaT67r zsMtKn6#w_08TY`P*f+%o&xsK#MyME}VuXs(ZtN13p54;y`0LJW$qFK36A=%d6K4=HM#TTl6-o!siNDT{HW9Ijh)qOnB4QH} z|Fi9A0TKVhX9xT(MEv*c=x>@6BSef4F+#)$5hFy55HUi;2oWPhj1VzG#0U{1M2rwI zLc|CWqyOSL@xRiJ{-4Z=zsm}x8AO~x#2G}KLBttEoI%7HM4Umy8AO~x#2G}KLBttE zoI%7HM4Umy8AO~x#2G}KLBttEoI%7HM4Umy8AO~x#2G}KLBttEoI%7HM4Umy8AO~x z#2G}KLBttEoI%7HMEuX16AOq~K*TvjoI}JpM4Us!IYgX8#5qJ9LB#$wJ#&bdL&O{+ z<`6N5h&e>eAz}^@bBLHj#2G}KLBttEoI%7HM4Umy{+#&h%;~S26Pu|&aMrV~- zdX&Vv>>pW|U9c`Yu$KBm)>40H?N&#qE_IgF%jARdA-PIEEPo>(m5<5Cln{=;0Y z_OQ?N_6~f<1iownUp9d+o4~ueM%e^jHi4H-;AInd*#utxl{H{x6L{GK{@;79xC1M^ z%eqF_1l~1)cTM13U8CFo8|xZfU8AdObWPw*PP%IX@0!4yoOF|uZgSFP6L{GKUN(U@ zIqB}|8n7lO-86wWP2f!vc+&*l)iwI(mHXYUv;E5nJgaNmqi1Z_AzXiOWvcF)s=KD@ zvJTN-_tjkUexHBP$6s96dSw-NRd;BvuJ_umJ9JIcUA^IVJ#X2{b*}Y>GQZq4Nq6;y z)$=*|_pdvb)9zkbU+Ay(>QB&3Ub$<6p4J!2`ogjadf5cMY=T}kK`)!2mrc;iCg^1o z^s)(h*#y08f?hU3FPos3P0-6G=w%c1vI%cq3A$^7?wX*>Cg`#Wx@>|jo1n|TVJ%kK1YI^kmrc-R6Li@G zT{c0NP0(c%blC)5HbIw7&}9>J*#uoSL6=R?WfOGS1YI^kmrc-R6Li@GT{c0NP0(c% zbV*VuD;OK7rOdFS6}Gr3tfGot1oo*g|5EP)fc+@Le~V{H9>bx&|MRB z*96@)L3d5iT@!TI1l=`3cTLb;6Li-E-8DfsdF3Xr+~k#;ymFIQZt}`aUb)FDH+khI zuiWI7o4j(9S1y~N%O>cu3A${8E}NjsCg`#Wx@>|jo1n`k=&}jAY=SPEpvxxcvI)9u zf-ak&%O>cu3A${8E}NjsCg`#Wx@>|jo1n`k=&}jA$tyQ`!ae%JJ^I2udct-+VY{BNT~FAqCv4Xfw(AMo^@Qzu!gf8uSyru7ZuQD0 zSLq%| zoYnA*-p^MFej`@?!wRu)bPjXxU+|8>r`S45sQgS+empAouPn9!m5=o9!Bdg>*^M9paHX#B+3rSLzUdu0#BT4)GPMimFxaN(!li13OLhH+qd5@lV|QQSSX=?)^yb0bA4iuIGB2=eiH$?jE?nc{wkXi(Gs241MNe zTsiPQ<1ct_vz|xZdCgwtd|(gpTX~hodZ^#TgZ(B>^_#fZd8-~|`?-6=&oFSkd;VF! zi}~rAI!MDk%)5uCy^NKduFubo*pXIlEr00E#d+WHjj(1j`;0iJ) zc|YFC&JXY)pMBA1*Zb^x_tk$7)KA@ZDfLQ^dW1*qc+^)rN^qS=eTA;k@~Zs2TV3E) z`CYHdn>>q)y!UUwYh=B@*zfs^t@n)nao~-;8~knV@VB|c-{u&v+>d+Ze#|TPQ~pjn z{D%K;&-gUY_}LzHfBzXD`UU4^v?7B2zK;FA4wtXSU%R2s12px58hG_u}-zhCMw zZK=1iMP2RVb#kEpwlthx|F`3}5@|0zZJ@^<^w@(Qd(dMKdXCWckhF)SJwI8`Pu4@y z9+LJR*t$5l-oU4=>b$|K&KpvH*t^R4m6u()YT4?}j#l2Wx^uVHoh_?7gOztlKFOJT zp6qH$Pm!m}arO~U9GadctMXX=&^IDEBya=dyK#I@Ap`l z`d)dTykES7jR&hbI#lJqI^0*o>+};|-Pd|`Upw&J-e(7%C#UtkV;k+i8}V-2=&bHq z&|Rx*`tL@3y}c?YW^2k@ExE^0qN+Yy)n^O-LX-OJoIYFCXXm)E1{YRZbG5Hu(~PLh-5+43AYMNXCH%Jby;@&b9Gyhu)y z)8!1gK&ri~tZ2My{b{=B>2ijgDKC+i%FE>C@(Que+^WZpRgWF39y?Y&cGkaE&Xr4h zyRCZMZPjDTs>ha9kFE92ue|;}@?LR1vGvxz{7&yM{A_QJRgZhDdfa2x;~uLX_gM9~ z$NpeaPoLD&C+!y|?H4BP7bfi&CiV15J$+J7pR|vd)YB*R^hrH^Qcs`M(rx$FQleWxBTjr!KbJCVMX+KoZ(+hff!TzXVe^k)Z3-(C`J-wi(7xeUko?g(? z3&>s2(+hffK~FE}=>ep5Mx~gA?`gN#Zhx&DB-xwla zs9%Trb*Nv5`gN#Zhx&D>Ux)g2s9%Trb*Nv5`gK*muIkrS{kp1OSM}?veqGhCtNL|S zzpm=nRsFiEUsv_(s(wAEU(e~+bNcn1eeaxpJ*QvK>DP1m^_+e^r(e(M*K_*yoPBda zzb@$41^v2UKV8tT3-;9o{kouE7xe3beqGRZ3i@?Hzb@$41^e-WeqGS73;K0Izb@$4 z1^v39Ul;W2f_`1luM7G?LBF2UujlmZIs5-P{d!Knp3|@A^y@i1nA5N4^y@kOdKWhA z!iHV?^)CH-mwvrVzuu)^@6xY#VMcZECvt}j%bk*ut+GwFi}&H+O4U)Is-r+vM}ex2 z0#ygSAIDLks-r+vM}ex20#zLasyYf(<+D0`R)?o*;8BC8YVcGIo~pr9HT2Rsy|jQ) z1--POmlpKWf?is6DqvB~Nl5`RDk5r^u=D zTzQ^6UtS(HA+MCP@6d6ihzYUM+0wxS`nq9L}TA-19+wxS`n zq9L}TA-19+wxXfq_)SM!`I#O!gLU)$R|v+<^D*&St6i~fPJ7wM$@F_&tk=a>HN+n*TTON{!QcGJRj4+zj6E<$G>s>8^^zK{2Rx=ar_&{zj6E<$G>s>8^^zK{2Rx= zar_&{zj6E<$G>s>8^^zK{2Rx=ar_&{zj6E<$G>s>8(;T!@1DOz-XZT4{95;Qxlz6$ z-;{63x8)zD+Pf1k?_B@;nC5lA{tx8A@(_8bIP=8%!{y;}q#Px-iS@RL^|p!iN6Rr{ z+gSf-v3;z!eXM_+u)*s$$^Ru!5Pi(KrCaNdm(%2QIYZ7Ae{+0p;d2Y0Tln0<-utol ze(b#;d+*2I`?2?a?2WNE_HKd%R})-Ka5cfz1XmMW9mUmATph*LQCuCx)lpm>#nn+< z9mUmATph*LQCtmibre@eadi||M{#u&S4VMm6jw)abre@eadi||M{#u&S4VMm6jw)a zbre@eadjS7=W%tOcZzwZ*vgIA%8l5{jo8YK*vgIA%8l5{jo8YK*vgIA%8l5{jo8YK z*vgIA%8l5{jabj`uS=ZAw|RV<$G3TWo5#0#e4E3!IeeSLw>f;f*Oasl-{$ab4&UbR zZ4Te&^#8T^HivI>_%?@cb0(?Z$G3TWo5#0#e4EF&d3>A4w|RV<$G3TWo5#0#e4EF& zd3>A4w`qKv#T94f19AihNbRCY$B!a-)1hzA4|5 zZ;S2P@tuz2I~~V&I*#vj9N+0UzSD7hr{nle$MKzx<2xP4cRG&mbR6I54E|Vdkz3_9 zNy`?wT_53Rv95%5C9Er9T?y+-Sl2&iaS7{6SXaWj64sTlu7q_ZtSez%3F}H&SHijy z)|IfXWW__s*Mxjc%-6(xP0ZKCd`-;P#DlwJcW*Zy?&fVm-X`R2Lf$6iZ9?8A=|t1hi7V6g$-ee%d5-g` zoFb>nbLDyRe0hPqP+lab$?0;2oGCAsm&i-yW%6=)g}hSEl0TEPYFpGx2&O8h-4+G4@z(MBWF6QAb z=HU<%-X^5H`QI3bD|(wubtj_ZO~`l?GCuJBx2(zToE1ZHwf}#O^Un_T&Nr8zxaNPP zejg#T2)Tfe3kbP@kP8U8fRGCaxqy%h2)Tfe3lF^a?H8uQ@3T+HU)YYH^cGNZ0U`V6 znOQ){74w0R3kbPjO59{hJP{>tM#-BHvj4ufP4?JV+hd<=kA3dHF(hC1wXew6q;E^U z?qlDWe8b0Y%D3b<*^}@3f8Ueu%Mav-@+0}N+#E}e#&xtD*Chz}E$^$lL+Q0io=58NnKsuQRl3fp#dM)NZ$}0>f>5@Q12vD)JdkOlYU{1Hv0D;$ZxYpFYMi9kAIUr{!RAy zH?7#Dm-zTnd6~RiULmiPv*c{)+op4Rn@lvDOf;KT%+t9(_U+T_eSCwwQ7(|ajk?gs zi{xVIo2j?>_*QwF{Dr(-E|GW0JLP@yez{V-=F#OQbh!y#s_1ePy4-{=H=)Z-=<*eG zxd~lvGSQrGqB&r@KI7lE2NTWtCYtk2H0PUW&PSmCH^2YtEeLco0^N*2HzUx^2y`<7 z-HbptBhbwVbn}YE8}~6Q6Oxm=B#^vJNRiL*Fj8dYk%&(e$=yLtB<)fA3}# zx*3ITMxmQg=w{Q~iK&OI%w+xf>Va9tY+^6^Q!~WRR{H+~-Ti=N+}H1RzvxB%4y5z& z?i-wC<-zhtD`#BUiBq?ljArcr12(tDbXOd=Uu52&?q2V#gEby zPxmuCoMC9B&P^Sc`iP&QntFqeZ$E|iPp&GHs`tFQk>>Z;V+a%;kK0ns2`o^?rzY-?y&gs{`ky zzB_QfT$CCcxH$D!X!moz{pZf0{*g78$@}Gta((I}hrT;?)!M`5_|%UatND@hZoYSI zD|Oj}9+&#a`m}73+fyGIe6T!39x8t*hszQ2u+)18kCdb25%NemT8@!N$)n{l@_5-K zPmm|cljW)MG zXMyiZeT9=qG_^!iOEj;R=GD@?TAEi&^J-~cEzPT?d9^gJmgd#cyjq%9OY>@JUMn`mYJ_s#*Wrlr-iw3?Py)6!~MT1`u< zX=ybrt)`{bw7hGfWQ}IYjNj5;TAE8sb7`6FTbfHtb7^TPiH4GBD2axWm?;x8Wn!jG z%#?|Sl4vN2hLUI~iTzHZp(GkgqM;-jN@Au=%#?|lGBHyoX3E4&nP@19hLUI~iH4GB zD2axWXefz>l4u4k&7h?jv^0a3X3)|MTAD#iGiYfBEzO{%8MHKmmS)h>3|g8&OEYL` z1})8?Wxj~a7m@j*ZN6xmFWTmdw)vuMzG#~-oUhk)S@y{9K41LWvtK#S8cY)*b2VCa=y_1t9LB*N2yP zLhkU_FT1aA`0HsWiP$FFRK_qa`eO>)7SxHXPFx+i8dwIOK-|xfwo~=0BlRDlb%%nz4Sifma`92fYJ`>iygVvO{ZR2g*c-uDKwvD%K z<89k`+cw^|jkj&%ZQFR;Hr}?4w{7EX+j!eH-nNamZR2g*c-uDKwvD%K<89k`+cw^| zjkj&%ZQFR;Hr}?4w{7EX+j!eH-Zoh!Ca7Po33u*V+kM-1-?H5=+vXSiCCdZP_t$!% zoN4=g;2gLYtsJ+C9hd5_)!yeA)IQTm|Ge4@w&AvIxNRG5+lJe=;kIqKZ5wXehTFE` zwr#lW*i>TsZQFj^w%@kxw{81v+kV@&-?qu4zrK2(X(QJ7f89FfeH#BhjenoUzfa@e zr}6)1uVZf8uG_Zjw(YuYyKdXA+qUbr?YeEdZriTgw(GX-x^25|+pgQT>$dH>ZM$yU zuG?CDqSYr_eWKMTj*TRajU-xqqJjU{t?|9vKBgr1cqPxsPi0ni%Fkq%>~#jec`3_% zQk9yRet3%o-eQ5bSlD2nq#6F3^`~0kzP`gx9cddn({}e_+tC>&<^Jn*qy5FtyvlZZ zb=_uP(LYb}f-SLWU$Ni5VrF$KuG-!f>>uv6f4JASc5~{%ZdrEAz3%xr1J82K-{+<- z9(bOdo_d&j8}Vqb@M!0GwAZ<(Irr4E<+j{Y(>=Hbv2Fc&+j@XzKeWI4uE+1cJHbj- zt0$VhdEY(nyX&^|s#`3q>?`_v$1&d#SOdGJ_ci;xdCw&8nM`=pZ@Z7sciiVY_WBu0 z9yxD+S6}@(`g^1P{;uO^xy#RTmwjEwzOMg_zNQtf>3!HUdSEZya4)}oFWf(ear?LK z{rW2{zH1M7;LOteo@d$LcjsIU__)+YZE>TvxKUd?Rx{kF84hTM8&g-vmHt}4>^n`3 zZlgxGQKQ?a(QVY|HfnSmHM)%&+(r#702*gmg29jiONNq2gfhPF{d+o+*!)X+9+Xd5-OjT+iU4Q-=_woyad zsG)7t&^Bsl8#T0zgMXcR&fuqAuX;!7;?!Y&qGulb>^e}e9$dE?0KGj(5?R0;HOd#^;l0d>%1{lbPw)s!nJT0zkYidImxf}#}^ zt)OTHMJp&;LD33|R#3Epq7@XaplAg}D=1n)(F%%IP_%-g6%?(YXaz+pC|W_$3W`=x zw1T1)6s@3W1u-kUV%<@;x}$7$N7?F*veg}Bt2@e8ca*K}C|li8wmP!zUOl?jZ`A!O zVK?kAw)xq%_-QiyUww_+udM9oujuGsRoN;IM6Dod1yL)AT0ztbqE-;Kf~XZltsrWJ z>#I8&R!7wes#Z|7f~pl%t)OaUt@pd~cm4APS5T~iVigptpjZXPDkxS#u?mV+P^^Mt z6%?zWSOvu@C{{tS3W`-wtird{8UOm=7v*|!E@sBR&iL0E|2pGeXZ-7of1UBKGyZkP zzs~sA8UH%tUuXR5jDMZ+uQUF2#=p+^*BSph<6md|>x_S$@vk%fb;iHW_}3Z#I^$m- z{IT33x5{mjmMwBO<6e?~-^@SIod5OJ1Ao(11AoI2?UmPLzeA4tD+Vi{ZS`5&XLqKK z(2VaxiQ+Gs@tIap9{8)Tdd4)QkFzbBJU+tHzxP=rIq_}2f-P~RF z<~e;f=id6~tiP@Q8Zyg!PZG-?vHTIsAF=!q%OA1)2fwc|V)!G5eMt|j>wyuI5~VH^ z@4Z{;fY*A5#98RP$_W;`e-4*O-?P5aiodH@*3b9fdza{Pb$zYBLaeE;_0LZdF|-jw z8!@yILmM%)zwUi!k@YDNLmM%)k@YE&^(hfU8!@yILmM%)5kng>v=I{$F|-jw8!@yI zLmM%)5kng>v=KuaF|-jw8!@yIv%18rE?J+l#H=nct4o82%3AsN&S?EAGuJutYI%*k zR?d~z$?L`YFj>%u1&vsjhy{&U(1-<%SkQ;y?%6tNYDMS?-gn)Wn&^^sGeBO7yHm$BNjuh<%ILw}^e~pZB4;@|x%$sh{+k znDm$HPu=}jSZ3uFIq9=IeKy|zEOm)ybcts4mS4Pf4_JtPOBiz>qwZtWef0Oj2W&c z;R`&I^E{I)Jd<~=+)saBcwoEfU*n>GeTp5w`1-9ryYm;1)@Q@i%A?)r(Z1o)`m<*L zdLI2-mHy5D`Q`KI|0G-7=61Kaef2i|dz)Ul@15?Uza8JTGTmv?pdF8vOesSCWV{h}=TRrwx_xj6c)qjk@ z_ignU+gEOt_gVk(b1Oef+pShs!1%uYZ)s(sUU`oFE1Ha~{Hy;L$gljXKLH>39rRb% ze$k_S(e3)SY2~UQE6@5>p65F~&yRYZA6|LH{?FKd#O#W(`m9@i)-6BltNqtNd*vtl zTeoZfcXQzNyV?Ky>c9Gb2VTGZ-(vr7)Bh*(06f)^B&~H~Y$gpLoB@Kld~suaD3BfB)+_|8qP&-`+EmnR~ge?{B}B&^O-JPTM(O z*efqP-y23zHu+w??=ALZ|Im%g{3RT@{JOt{y>&84+m`Wq*RWFPKgH7G??cI0>i6#q|Nbq%f4BJi=l%X! zzkk;6!<~4-9$4&K^?v`7Z@p4%yRfz1_Lq3^H-Gn=dcO(RBMap?90MQso8^8Jo;lPP zC({qxbkN)W687h|dk&v8?1_+LZxxvs?gZ3dJnxgv`=s+e={p}ve%R-4`SqfYo_MKm zE%mLXz7@*#ww~VBF2(tSAN7AY27g<>h4&Noame2AewzJdu`?DWpr|dw)?He>pYS_N ziuZG`EB(fme&g4n#tUaIhR^w~U%%nk;h4E?ynfv$%|6K#pZufN^4*ZHF@ITEJmVr~ ze8m~V8TyTWTfC}og>vzVZ@vD}?~8hO`1j^((lTMoh5fjVBcX;{>ulR{!zXLcZGHEO zGaNw&{6iOf_?PbFI%6H3pEuCwj;%YAFPZ!Pz&@b{taDcZN- z&t!TYnVwU;pB8`H=8YW_yiu4OEGb+bEGyIp@7PbS$q0d1;qE{s*j|M*f);ZeRvIC& zs_?boJ!8(-7QP>>Gy7$|>eYtA2|;K6gCJ3u5Ns@r_XJm%cM$G3bamxnh0Ea{CirZhyiJ_9xt6f5OY{Pk6cg2`{fa1t!9&@I5%q-%p1#y#78+ z^4i?X%CicWSAD@4-vhyz_vmi+Dc%G2^m;GY8}{*jjN`trA5?q4KO6v`fw4aOEZA`< z`g!l2FZx9or!MrY7I{{S%ng?6{YFypt~n>x!OnGu9`JA;@;ma1*Y0bG>bFS8$t2Mi|X1CUyt2O6p&2FvPtu^Or&AD20uGXBZHRo#0 zxmt6s*6h}r-CA?5)|{&~yR~Mw)|^}Q9ht$Yh5D+S3a?e&Y<=8Y9PLaFsYv8AFEnElJ!wqng-Jx#=@oQB4 z8Wq1r#jnxZ;pcD%+zHlZj{X9yg%hsCd74>RE*co_Zwv)~b!4S$43;W3y4kHcJe0_MS=;Lq@+2&+DLlka0UU2L9- z%^lc0pN!AM=mv~l7_6YzS6ZoSmEE9M^H}UBPu5?;=w^&gVRQ>d&%o#z%<+m38R(@OIZy5d> zhR>+5%2VYO72Qw6Xs{C)InPv$b3D-TAUN3TL*S-hbk!|zH{1gag&A160xM@=&cw=@SUD3bXJX|{telCJGqG|eR?fuA znOHd!D`#TmOst%Vl{2w&CRWbG%9&U>6Dwz8fe7FEEgp1$@a4}p0 zm%){5t$=JD@;g-UDte=nd^Ra$D z*3ZZK`B*<6>*r(re5{|3_4BcQKGx62`uSKtAM591{d}ySkM;Ahem2(6#`@Vt|#AY^F_;mGhto{I_lUTeObHn^VX!%#NmHoyCyi0q>c!! zt-VSN`M%nZ)eXqOCUUR||2N@(7v5*^d=q|e!tYJ^y$Po`;pHZr+=P>xaB>q)Zo^7ie#z*UjDE@JmyCYN=$DLs$>^7ie#z*UjDE@JmyCYN=$DLs$>^7ie#z*U zjDE@JmyDdM{fV?{Mt?l51+(no683PLe`sX53i%RV#B=&4jEUdXH!Eb?m+L)qarEGN zJ-A5^w(7xmOFpcs{)^mE*<-#pL9d3kyS?bmwCQ_U5xtjm?GN-`p2m8Q#(GaLCiP-c zFDCV3QZFX;Vp1l}Xyc7jpxX&6nS zc6Qtac2x!14R-f>57-m-5`XONxDOwFU$6J`x*GO(&I24j17lUVKI`~7_`KI&@I5;T z*e`oU$w8{)VLbNX4hzFkc-f1EY}q0*_cOrfi+&vA1hR@M($f7=3E3meLY9CMKOd7-eryrj@oZkBkt-8stb z&QV_B{dQ34v#7ZjBYgIs<{f?mPJnNDKcTR${6xoZ7q*n2uy;&vBG?zN^2ujT7#t08YGo;OO@3Ns}6-()`fTmo`shn93^GN%BmJv z35nv)_3uQqcjW7EmiIq_YrVb+?y*)ugADOHqZv92t0M`}4v`+{Ev$~-XMWOCYMD>N zi$)??MLlYbjHop-qSnZWzFJrxeGL}F8-nE6j2) zDZH<>HxhAp~E3x;vtpltD_>WUXsUSQ?qdsJ^5aD7)*+4~&V7Vedw z$`mfa^9AnY8F!L!C)eZnY#gt_@fsYjDH)Z20>^7{d{-Q=!SR}sUGuX_c7xr$-UIf8 zz4CoHUW4N&mF%0}jN>&pUW4Pu;dl*>*Lcd4aJ&Y`YjAw$k}vqp7rh>r&z2k*9N_6M z!1ELNRlhc$`(EP>PA~a-;c{aRPA@su@i-%{Pq0_~w+c6utt^~bwhGz`HMm}b>nGxR z4X)SXdJV4E;CcAmGtQRs~_rd1EaX5b*&e!04P1)A` zES#^w`5K%*4(DsigF;lxA5vbL@5B2VysyFglk~(%<&{2*=4au3jb8Z{zSopb$X|x< zHG1Yt_+F!T{#5=Q-}^3{QrNY8qT{WFpYsiGE5E()>+(B{xK0&zt=N?B(`#exM}KD3 z3D#nnl`r7=_wjsU)k|K#mhY=-gcev?xCqa8k3{o*_M_k5e)NaodQIdk?|)J_2iI$G zy(V%`el-UC5Z6z__0w>DGOnMA>sR3VX;^VMKG)!LEk4)c^F#Rj1AIObpO3`n8hoz7 z=d4cOE=VnN}XxIHSkp7z{?RsFPQ51y|t*3 z!>$}w<*_P-NL%6>4i6G zyF6`|r|t4skjH|2BnsLJ19G%o9s}|iki&qS-XGHQ&+GZ;_5AaC{&_wBJk7R=X4^!w zZKByW(QG}Kki&pH2IMdxhXFYZ$YDSZ13EDvr`NaW^}Jrs2Zse2t3#M&8EjS$9#9n? zgo63)BdngWqkWo3%7l&zK2h>%IiAs00NB-D+PlG6dBJh^Xg;X$aM|CxqRPjsPK^F+#OM*DKmGR+lea&?zo|Q%`su%K!Bx$AMePTqCV?w9#@!fwHCH~9BP_<9@mAGiC{`;Xh>6#u5}@wYvX4*%`D%bt_> zywAV+{w>=3oiQ`^-DTfHs=rbFo$83K2>PM>k_8+(ZP5bvB@U8O>I^f5jDL-WG zVV51grRJ~@HJgsO;K-kjKkeufj{d{Zi;jNl*b|OD?bu7d_1?GoCsa+?ZNe8O95UfQ zCXAnO%!CsroHXIo3Fl0>Xu{N!AG@M%;&T5sojP#Fr_MR;+?w+aI`6#meso^{`4^wR z?EGa@-n-za3!c7U-36O27`iNf`4=v~;qt%L9a1;7Zbsc(SJX{DW%7BGCr_R>`S+8b zoBZD7_Q`!yN~cs$Id97RDNCljcjfQ@`QKH0UA5Phhy3%W|LT4C&Hw(NRZ{jXd#P+y z5R|PcTZ>t3<(0v{<}DbOUh@I&j@~4esB4`!DZ$5m){>;UjEzi2ZOqbQAWE=uGphu z?_f&Bn2P;^t1AwuI53!6ahUPUw^aPS;^p9H6|Yt-4t`$ISn+N!tzu2Z`rw`lD}V*} zRwODm1@~2KuGkX%zM`<*cEKat?XcYr!4uo!BdqdRGt>R z9gHJq5puR0Ig66BUCG(5sTf_znwuRF=tPUP#MVfor^SiW{A zU%Qg8-O1PP4)1vj$=^VotmwxEqIxQ;DoV+-0m_1x6%3Y==_`M{9n-dzo7GPrt`0(^RJ`x+vxf>y1tFBZ=>t4qwCw~`d8@rdGvf6 zJ&%E2k8u1?`TcLe31DRbI=_w1Z=>_)(fRY}{CT{Cw|NI|^A4UXzoYOR4cE;E%;Oa= z<_Rz62`}aeFXjnvJBBci`)0ke=oJ zPvBawZ-NGMNIDDC*oSHC!!-6`8v8JfEoh?|yV-&^wxEqIXk!c7*n&2;;5xRTjW>|w z2{h^HcSpQnjNFTb#cabXY{R_ZQ#d=a$kBiBGg{>3hn%GEi=4x=f96z?PaksVFuuj} z{ED~u6&Ld>Ch;pK;Zo=)+=>qyoplEPxu5?W=L=lG7r2@)Z~WKdyu}x2;tMqK1>Vy4x9aO#_3^Fxc%wev$fkF(>0SDEqdQ(! zaaiG$io*-vVUs6mzr6OFqy6S+zd71(j`o|wzCO>sKF_{B&%Qp-zP_d1HfpO|t!*@5 z^x+_E6}9K&C+!*P372`o>qtt=eQ#@r0iAj-$gs1&0Nl19&7d-KE*q-n-Q?NVb ziKcj>DV}JVCtBu-+C5P_S>N7MEyMmWMof|S?LFaNF*@NX|LQ6K>M39FlrMP722a`G zDPO?ej3;ft-~{F-ur`IYDXdLlY64Rem`aa<-J7s7g_S9+Olg%Vn3%xC1STdhF@cE* zOiW;30{aqLEuqz()M`&^wI{XOlUnUbt=6E`8njx2R%_5|%e2}H*pD`Ave zMpm|<#xsIm*%rmzuBDz5oqtN}oGz}~U39T84fq4m#ZN^SzZYGEm7AM9**AIXQ^Zdr zc(=+Dr0hgM!tIFa{#Q_=h0=6PS>?hkkOW697KTCc|4e~#wc&lCI*OOGNWbKK#D zWZ~DeUQGXPaF?gJ%g>ojlPUZ>7*JapgspPV1u<8o7<>I$-`?SlpQH`zXu~?%u+H7@ zP8-(IhIMiZqvaGv(~5PpVjZnmhX)gB#X3BgNF&zKh;{gI1C3ZmBi4EHU(twlG-4fo zOr#C#w8T+b;2JIPv=*2z3pG^*ZK}M&wX#sx(w4svZ#_(7{zAON-)24N_X&r4^N1N8sq;)iD z9Zgz?cN6jL27J4L=B%SR>*N_m)1Gy-XC3a{Kzr8V-|4tFk@l>kJ?n6AVtKSMng*@I z#Ra&y02dd~pmj889SvHCmlN@FB3@3UK_90t`l&2B2G`l>4{kJ8?2a!(-Y~g&(W-P zxIGa&Ceo~RG;1A({E8N>qd^~_LF;JHIvTW&2Cc)G8)(ov+VdfdS%%vSu;z5EnP}av zjIphm%IZ@z5_mI-Cfq~j)KfYg-r4ea*;b4X*N<0 zYb>rD#P>K}e(cmjGe2V!A7hh9>!tFegHMvEI8C{nrd(cmfh*lp*s4w9vJo%4%0g#; zJE)=ko}>9Xo&9oJ?;Kk199PKGb_*~&jQ17|>-JW<{ZYF8FLe8(bo*ai`ANCc;`k(Y z@Mk*y2|E4>TJanj@f>$@AFX%}t=LH`cG85MwBG`nZvk8WI$Qoa4Y&X!a~K)MX*moT zaMyRb>pN+(bHrR{yX#QLzd~ERLR-B;TfIVCy+T_(M_WBdTRlfxJx5!0>e(s9s?(%8Nvb4Pe0#BiaTUT5;7zS z`aVUXJ4kc~iS8iL9VEI#zb_=w9qd48(errp1|B8wD8b6S%F4WoPYHZV;8OyhHse$1 zam>S~Fsqlqr_l3A;Zp*i68Q8NmL`Eu34B_DPn+>6flqH2Gt>(Uo68o_7Ka4dmi&*NAE#}YV}z_EEamcX$DjwNtxGmg!}v8Qls9*(7OEQMnU z9!n38r3cp%tjMeQmcX|JzNPRjfp5KR{hK(q8Rrr>m%zEFaPBFb+svZ8igyWIOW;}p z*Alq48P_)B+GbpP1J^dQ5^bzR8!ORPb&Z_MEPK#C1JA-sV09r}+l*_QacwiMZN|0D zxR$`R(CgWZYnyQ`foq}n(}inK;o1URTYzf|aBTsuE%+$&{3@=!#&28UvP7nXVqGV z6!Vy24l~SOhPg{Q%gT@EB|pqbt}N{3NyURj&*(5uIBGcGcn!RznHNNc$Ars#r6W=2f-y;*>BNN{v6W=Sc z=~db3*ZA9ui#~UlrM{Frj3*DZ4)E3#+O4p|;Jt8pXRBJ)Aok&AS>soI4ruk%v_gjF3AS@i9+pUpjkVI(uK9)@Xj> zt|Ew!JS};X5yRfrDBjknkG!oDi+4HTP6uJDd9?+j4kPj!JMzN*;s2G$^pw!mOY!|h zdU`3IKZD;d)5S}}yT;X4JZ;6#G=7G5zReSqu=Q>3z61|nq+gff-ivtmBHlfNch7jD z5B*%Zwai&w{{*&WZ5RDZpDWDbzFT;v*jj7kC)Qe5 z_{BmS-M3U$Rhb9#3eEIiBT=)B~_kZ$Nt{GP0zArO3)@sD# z*vx|pe{{W&@=IkNozz`*23cIqu<{N)=x1x?W{* zM`zl{o$gKvt-ta0c zcn=FYu%Lr=ZDw7YF`>gMA^4g_o=Fa1|b|!oyW~xC#$f;o&NFdKLby zVxO}jv%z8iZI$@taF@ojzW8I9m_77%Ac#C5JXn`yYWl$BDg;=U;9c^IIHai<@_Ajg&s#7&06a zLKch?ACAMxBY2$0$vqs84JV6iwvAMOr>s})Xw?7KH+zDe!f#{8_A=Dl)3V#sp4&${ z?fQ~{Zs>ttv#oY4_QFWl38Un3)&nb}ikm@4~#{DO!7$)}E!cXKC$OT6>n(Zr5+4#EfIH;viMi!!f&tXT5Di zz=tEOL#@!H&xUA)oR;sU6~dX(uRHVWo~7Nh=TS`89 z-B;dy<=t1Fj_)NWz2u~qob-~DUUJe)PI}2nFFENYC%xpPmz?yHlU{Pt>p60sBj-7C zo+IZu!a8AC8|<|P`?mSn8(i`A;SmkRk^1hj$33R4r?4X}G*Watmd-nfjXPYve%ly` z-+0QmJ>}N&3B_ItpKz%sTH9o=A310v2VvH}Pb;LgLRu@NwL)4eq_sj?E2OnTS}UZrLRu@NwL)4eq_sj?D`d1n zMk{2rLPjfOv_c7o<6*vqI775e;rQ`$I+g)-_s`D_t?TcMayO-4}I{QE8pcw z!i7Uu@kD#e`)HWmO`LWu{D0M!;?!2W#^mAvh9gpa$z&HL19GsXPa5}!WnlRJW2!@P?qI2_N_<@-aosx4J~cNs&cT zWRcV>O(Kg8B8#;mi=@aRDI#tX5jTk}k|K+w$Rb&kB74Ho4qZiQ+Ry81*k8-q7p~+p zU=MMTMN(vu6j{7qls5asd74HM@g`ZRAz7&*QE^gMYDh$!6cHyy3rW#JQnZj1EhNi2 zjJq<2QM8a0EhK4`F400#w2%}nB#Y8(Z4=SLhO$0KYm(w}TC|W9EhI(4O`?UQXd#K$ zY0*NmDB)#}ft$u^~}#QWV_7 z^Y0M__lSaf{#$LKtwh1ekF>_MUf%@ktV!BwXNv@MLl0P+K?J1`)spvE^D3KvD#d6agef07(%*lH8?5#7Pmr`$a7@Ip|hl=>h9FV8$Jo zaeuJcY!W$yAPXO6=eKyhmF*gG%(0$qF#@XOWB@X z_ymkJ-epvAOxGH6{$JLVD0@y`!kpzYbC%1@S;mU{%gk9WGiO=mG=(8&meo7H46nc< z`uSC#EiOEQF=v*&>9e;W%)l>md>iBd`1AR)xMMT4`0fe_v+`@b?+tb@H`cP;ILmTl zEcx(xK75`JpQm$X(jx5@+Jmp2*UL}n?Ks+PLSYuWxnejLuz!rthxbJh-M&!SWz5JuDy9u|`F-K+ zDR;5fU2Jq0Nq3QP2T!?!b-``^(uGk&nA9zs(TzndbX6mk3}H!&U!?rv9eSsU-f5zD zn*2J<#0}9q&Gb$az0*YRET(rB(>qP{P7}S;MDNU!(P*M~Hqkq?WHg%SohEu`HNDeB z?=;ano9LY;dZ&rriPJl?WHg%G-OCu%f-PZow*@1@3~v)%(?r)a(KStU%@AGFMAtOY zHBEHQCc37Hu4$rcn&_HYJeo~(O^&YFMAxjQYgW@WO>|8YU9*_3X`*YI=$h4ZO%q)+ zOID(Zu4$rca@sx|7Xnfl*QB`3>>0!n&_M%I%kN^X{K|U=$s}x zr-{yKqH~()oYizr6P**s*cN(cmg?CkF~B&Z>9^PSIh+mczyJ?t1Dp5(n;6bf{BSn( zGBzhoOcO#g>^E7T#wx+0YOP}W1)F5XKx z3gZL!&=bblo^RXgU;kp9I&ZEA7gEl&j_j==du^V%xZ;j!$-i@O0tm>K+o2 zBoU$2O}R=MyL(+}v!@M5Gp9Ul%F~8XYYG!X%NEAUt1vCB6ZClURi1pkCtvT$*L(8y zp8VsZcYE}jsKHgYlC@4U)=7RkT_unEow(eIyPde%iJP6c*@>5(c-Dz$op{!XXPtP~ ziD#Yo)rnu7IM8XNPAMt=ABlBb5FgFy5A9w z+ruYd2cL^If{{M|q~oW6XBCWc{4|*96zuG{3+xKJ!R~&u2kZ%I4Z+^9kJn=yKisXM zx-dzLTooK(?&)X1h$b!bkR2Slwaz7hSSI+Q*%IU6KsX4K4>pth5I7VLgTtW)%()N# z1C9hUgoAMBsap7o`7q<*t8f&24UUGd!!d9y90&gi-+<$R4{hz3erw0{2NU2#_%@sb zC&PC@P14#i{nn1@4^D;e!D(W;%jz2c9^CvJBu7RKW%$ldxs#zUe4>!P#a1-1N zx4^CNGq??IcMsMg4el@-tT`i`H|EWBw(jmlR$vz0~JFgv*M%O7xXZu{z3Ce(QNlr+R%2TnC=3)N@%wCsS$+ zRq4;|%65nEO!IzvAy#UBb?LoUp!==wJ_u(1l>WiJ&Vol^HvADDg~wnHJPvc=3Fn;$ z&x%cdWR=NLu$L-#y|rauhF60z6|V)mR4gv;HqmeGoqlWY^jmwUzv5k3Q&?gh+IYn} zSZ}AXcHire)9G?d7T(!Tt!+CyF>F^22NYIsH)yAa&#QBO0lo-wla&X;L2xh}0&1U? zR(7!)MR%ng>nrUBSNUbAg|EPP_$nL)UxTCJ>tHuYyHRvk+D)=j-L+EPwenoBhHT~e zpzSL!R{OdHw0-3d?No6YTn=?`C0ylmtN&GA4L=4ouF9$KQ@_0yuJihOxB+g2o8V@+ z1#X2q0k0~50e8VK;cmDGro*pb2ACaEX-$L5``~_f0DcRz;g9a)QFsjIz~e9%o`8A& z{uh`JPr=jhS9l%XfHz?YEQPl~4X<(;EQdIl8CTf?D?nYZaup;%R8}b>tHk@tG;{;b zSN1{%`e3u??|00?01Uzw$U{MmFn|(Jo2)8>a-eIg)FrE`AOcYs0iWR6(6d!L!btce zd{Zvl+TDVS~>Uy{VZiHLmXK)+b4nK$ge&>?qR+(LHmD%N1 znO$y`+2vI;!49QXnO$D>2Y3W#!yn;Mcns#i<1iPVfO+sI_%l2Se}Vb%6g(Z2TV-~+ zRc4o4Wp=q$W|v!Kc6rqTtHdsZzr)LRgn0!P!K?5(ykU&!o3I3yg4xkkZ~Ocmco&)= z2FoE1&9Dkq!+Wp>*24R+4(P0^R`>umKs$5*J5Xg;nyM~HT2p%yq=7A{>H)UE+G73I z7VEdRSiiN!`mHV2Z*8%DYm4<)ZGo*Y1UblClUrWU4k~?iQ0a@<(Z&uceRfdkvx7=s zWLMZN*u@SieGxm_MD~KcVIQ!gO@t2-kp+w#0At|`@I^Q<7-3z(F_A;PJ`4_r8aM*J z1Yd?)u==tcRQjwdxQiWB`s|?6X9tx&JE-(oPruK4`hC{Z@3WqMpB+^Ctf${+J^eoG z>Gws{Xd)-U$?#n`rLZVsC5ydzm7x{%1gYSZ0!rj0&T2DV_ zJ^h&V^kb2G;eIpX9)RD%gYY}}JdHIO3PagWL^&D{LOY##te3 zu@&I=HyhbrZdU#n2pX*u^R{C~)wrVYYx$DLkimz2yDEV5iD@pS|p}SA1uY z&tCQZHSZVuPJ{QWgU?jHS5jKJret*G+ThB{_q|_NvR$Paxs|Qne-P|m*;Tl|>I*?b z)fa=7sskMl3f5MAhn1LWZ^)a2gRAZczEyQ+$&{*TC6`qFB6zIou3&uCFN4FPdj@l& zdj-!%_coVkjMw`He~<3x^;oYz>+{cf{ROYT=<{*G&U#_Zh$n*)Bj%T!G2*F`OGi8% z+%w{@!RQgs1P70JJ~*t{8&Cc(dgHNw_eQZdj{T?JI8tvM{Qr1w>_9e_k%cC*@FH1g z#MRcyKjZB?!SOirLe=PC6rQ|@BQvY+V5RPYUy7*4`Q^*O8zgCo7?>|fvKBhiTxXh5 zVqBxMJth-5s6RVNSDbXkNmsn`n}q@E+zgPeIO&R8=VqYtB(NqF>57xCIO&R$t~lw6 zldgE>Y5smXoZpfo9d%UO^FDk~1it(aiyr>v2D#nY7@uFh9sFk z*JstRf8mX?)BR?)^DcrVGHpv?xz{TT14h3O$Y#c6Gvnp@vqGj;j2D-&j9cv`zFm1? zwYVuRZi}9-i3S0?)gh$~qm;;Z)TzCTh9Nba)W>8zXB=~ye(xAHXt>6=w z_)z7$UdLcXaB$_SpjvDY7aPRI263@LTx<{*8^py1aj`+%YBO=nJx0bfE>4Jx6XN28 zxHus$PKb*W;^Kt3I3X@hh>H{A;)J+3AzoDt`@;e785j$nh0lRZv(;-hTfHW3^_tCA zui0$%nz+?#;xc)0aYP*dwnldg4zx;1Jo(q}SjTmAqJB%h#yF2ayd%`}jukY;#2Vl=9>97q~LNaYs9if zvN2G4n$N7Ik8zEq=X-yl_ZNGAiDTaH3s_iUba|)7}jHa1}6Ti6)G#--T!8a6J%#>TR}Fm7+3?dxy*VQ#e}jZ=1jnTD)PLsq6COM7K$udIB0R@Naa>yVXo$jUloWgW7z4p~`;tgJ&;)*&nFkd<}F z$~t6a9kP|jfPD>Q9kQ|xSy_iHO_-$#vov9rCd|@=S(-3Q6J}|`EKQiD39~d|mL|;7 zgjt#}OA}^k!Yoagr3te%VU{M$(u7&Hf~;CWRz@Q$qtP#;(N8<}lg38U*hm^1Nn;~v zY$T11q_L4SHj>6h(%48E8%bj$X>25ojl>HPlFCL>*+?oINo6CcY$TP9q_UAzHj>K5VX15+m5rpbkyJL4%0^PzNGcmiWh1F< zB$bV%vXN9alFCL>*+?oINo6CcY$TP9q_UAzHj>K5VX18Vm{c~B%0^PzNGcme>skAF zX6@sdwU1}kY^SWfJhS%l%vNdtD(zpT{YB-2qVhpe`JkwLP*grBDjyV;4~ohMMdgE{ z@w~=YLEicx%@!N+0*m`1-7`eH z4bW}_v|E;Ti_vZ|+AT)A_0w)K+AT)A#b~$KN7`*HjrDm5eTz4JzQl2vT=!t&j2CC#;x=2}T}_0e1_X|6_^tDfe1i{@HNbG=1#y-Rbgq`8`CuD6EmXfw?< zKy$rAbFHMgGBnppn(K9%tC{9nM03Sxt{BZVNOKL)Tmv-M0L>MnxmM9!t7xtm%@w1$ zVl>w>nkz&|CvF*8t5mKywYyTmv-M0L?W(a}Cg3 z12oqF%{4%C4bWTzG}i#lH9&I>&|CvF*8t5mKywYyTmv-M0L?W(a}Cg312oqF%{4%C zedxmt&|Cu_^Wg?)t^t~BfaV&Yxdv#i0h(*zV?Nvf%{A~bA8vr=8lbrbXs!X8D@$`_ zX|62I6{ERgG*^t~iqTv#nkz-Sha~(u;eX(+-nck~{qiL=f%@w1$Vl-Eb=8Dl=F`6qzbH!+`*s$h` z(OfZ_D@Jq0Xs#H|6{ERgG*^t~iqTv#nkzWXW(r&f*TW5PBisZx2fZ}RAPqA}!wk|e zgEY(_4Kql?e0)vFK^kU|h8d(`zDO$!&&1{OIs**SOm??skp4UE>bdxWhH> zaE&`$;|}fVS3+Z#Y@72oSaPOX%UN)ddW#xINf?cUYbbA9vHM~5$2Zit@@iapHLkoG zS6+=Puf~;EOxyer@`;Q`eEumd3B$>x=&u+C$H|4SNF-Q`{dPq^6EZ$ zb)UStPhPb;u0kKyd-Cc%dHXBm)p+u1Jb5*qe1)-(>Na^f(7YUIUJf)b2bz}y&C7x2 z_mw(I4zvboM^73za`M13N74q_L zdHJ_|#52gh<>lY<5zi3u3=z)|@eC2q5b+H1Z+ZE*y!=~U{w**6mY09aNB#oy;VF0; z{tC~)v+x`|4}XIfz*rplx4isYUjEI#S4K{>LdNW$KG+QXkc9z#7_JKZzTODOE3UF0 z@rUb8Z)0b+dmqQ&~;T%?P4XoZ8TCf%`FwODa!g`g|c9qn264gqgT1Zq2iE1HHEhMUi zM75Bp782D$qFP8)3yB&cQA75(*kpI54dvQRMYX+R6xgSmbhT8Nby@M6l`rhUP0CtG zSqmv^A!RKUYm87{Z{^@*p;g7SUB$GW}4T)S;$@%ub0K^W$}7hyj~Wsm&NO4@p@UjURJJ`mFs2YdRe(%R<4(o>t*G7 zS-Df<$77UURJJ`mFs2YdRehv)u@zeR7y1}r5cq|jY_FT zrK%pF<9`be!tdbsFcThvhv5(K2+W2*!lUpQ%z?*YE<6GA;7{;pcoO~s^WiCY8lHpa z;cxH)ya)@78(#>2hnHoFUV%mMD!dMF!#nUUG(ilOLmZl66|9E$U=6H=_rV%_szzO^ zMqR2#U8+W1szzO^MqR2#U8+W1szzNjW($qkLSwejm@PDB3ys-AW46$kEi`5ejoCtD zw$PX@G-eBp*+OHs(3mYWW($qk60sIxq!Owi0-t~#!00IzrFIpib`_;|6{YqFuBj-s zt0;A-D0M`312d{slsZ(DhE$X~RFpbYlsZ(DI#iT8RFpbYlsZ(DIwEFIM-GI8gVM;M z&T|+T^RA-QuAT}7!~MX6mysa-{>T}7!~MX6my zsa-{>Ju(gM*JcmEZ{b1s9sC|;JFb5uoxj;X#Rzs}S5NkEW zS`D#QL#)*hYc<4L4Y5{3tkn=}HN;vCu~tK@)evhn#99rpRzs}S5NkE0TGXmq)T&z4 zs#?^lTGXmq)T&z4s#?^lTGXmq)T&z4s#?^lTGXmq)T&z48d(N!!#nUUG{JI+Lo>91 zF<`1iovKBhszsfuMV+ceovKBhEM+%K*{xc%UbSewYSDVtqV=jp>s5=^s}`+SEn2Ty zv|hDnJ&W4PqPDWAtt@IQi`vSfwyG4h^E!KZoxQxyUS4M}uQS{arb|_*OI4^#Rj5l< zs7qC-RaK}}Rj5@}s8v;{^`pHH!g(uimj6mjwQWC%w^`>Sf?Df*ggb6LQruM|{A7|( ze(aNJKDn*m!^}Dy2nSo4?GQK=4uiv?296L} z{|6iiUy|+nvd?N^+pb2dS<+^fw3#JsHZH2sn5ZqmPhcus1DV3@M(s{BYImA3kXuSd z8M8f_@42gWBzA+n-1WZjd7pj3ah&l@M-=ws%k0M=-H-qIS^no|OOBRRJO+*{JW_Ik zv5QtcEjiolyH1(FtH8C5MH(pGwrf&j>2$v5uYLBcShvyoo-552S_NyoPK%AV7M>^% z0;sOV&Umx;pt-G z>0;sOV&Umx;pt-G>0;nti-D($fv1asr;CB7i-D($fv1asr;CB7i-D($fv1asr;CB7 zi-D($fv1asr;CB7i-D($fv1aCe=T19wRm;9cy*$9b)tCnG-G70sqBJe;To2$pJnT3 z+4@(Mz?*Z!dc(&Sar>Vl|ps zjb>J(nbl}!HJVwCW>%w_)o6~K1!u!Ka4wu@)bRO^7r=#Z5&QryhD+d5_#s>dmqQ)= z1g63@@Kcx;92)tBctA`S`6b*9_W=G!eg!k&*KluPOZ1JxR%3CuM%Ngh+h?TpX6T13 zn2BmG=73SP%_H>9|F5*gXxd^Y+F~c#;sDy>fPZU?e`||>YYW=p|08X|@A>cc89h2U z$SCWx;T$*@E{03thj11A6n+_uE;-DM{lo1!ToW8!QXA}2@)dj6jd%R2+b` zF8P(nq*Y|nDk{kZW33hPS@V>vJ}$4{DoROauaf2@~(te1bRmw&96f2@~( zte1bRmw&96f2@~(te1bRmw&96f2@~(te1bRmw&96f2@~(te1bRmw&96f2@~(te1bR zmw&96f2@~(te1bRmw&96f2@~(te1bRmw&7m`FtS%*d_niCI8qZ|CpA4Ov^upxyQ8J zV_NR9E4aiA9kIXMW0%}xQtmM+_n4G#Ov*QQ$u}lNOC6%64$)GFXsJW~u}l83UjDH` z{;@&+u|fW^LH@Bp{;@&+u|fW^LH@Bp{;@&+F(v;P?t1)+{9|1H@mcxD7vvw8$vdV> z&yX*?800$T8^c^*X8k*X8k*W~J@{9HI zi}mu0_414L@{9HIiYa-;q`YF6ykdi>s#R3gDynJ~Rkez$T18c@qN-L=Rja6~RYcV) zqG}aUwTh@(MO3XKs#XzItB9&qMAa&yY86qnil|yeRIMVaRuNUJh^kdY)heQD6-l*< zo^m3moLYICN>-bkVMfj{BWIYAGt9^tX5r2b^ zrRDn4a(!vJzO-ClTCOiG*O!*-OGgfdL!IX^I2_a;r2Y@CFS~(a(zj;zNB1VQm!v4|CW@0 zOUl0`<=>L>Z%O&Lr2Jb_{w*p0mXv=>%D*K=S{)*-4v|)eNUKAX)gj925M_0UvN}Xr z9g+JB4Uq@nx9}kR4t@_a;URb!{s6P!5tt2sgh$~qm;;Z)Tp&|&bPaNJ4RUl1a&!%H zbPaNJ4RUl1a&!%HbPaNJ4RUl1a&!%HbPaNJ4RUl1a&!%HbPaNJ4H0Yo%F(6d=u&cY zDLJ~799>F|E+t2olA}w>(WT_*QgU=DIl7b_T}qBFB}bQ%qf5!rrR3;Ra&##w}r;&OCxIl8zUU0jYXE=L!aql?SYJu64|tQ_47a&#}q(Y+u?_ktYV z3vzTX$kDwZNB4pp-3xMbFUZj?lcQTEN4HFlZkZh2GC8_sa&$?#x0KvlO71Ns_m+}- zO9e;pG^=@<)jZ8=p60K4n$cLG)x5)M-eEQGusX7**nh7e9@#sX!&AIIGA6iL zj^K!oJjR2A)x5@PUSl<{v6|Od&1Pd_n%7v(YpmuqR!8m% zYN9KG6NB-=dBM}hGd~?%;E67B{DI8hx2+TV56?R-W3_ihGT5`~f#5!Oe{9w7f(cc> z53Z}48Jt!1P;hP4!`4ZAG}yiB6<8GfwCe5P;;MIzxorxrs)_|CR+-~j6%Qsvb`GA7 z>|1hdWPg7@z?y4ggPkK^@cN6vG&4Y+ zjvQRFedL7T(#SW%tVnQH@apdJ-ROFT5 z#K@xHpvbGP-)?1+j^LE&ijq(A^8dwChEJi*cmL?>;gt`zBZV_svE)l;P+H5S^!DJ> zBf{Cg`-Gop!SPyf{BR47FSg+Dx3t`Nt+t<5snQxHT41~u7_SA!%lkBHffCodQy>3M zAJ5gt&* zkK0Gwt&X{CAlDNtSGkSzq*}aQ39GC)Wxc-OedC+f898BX{-D$68^iGc!Oo(u3ibbF z$yeccv(8VpV$yemN)cD3h-+67S46}WDf^>Y@N=AN4^V_iD*z`Qi6VPL@O7 zwqtMea7*@ltR+{<$rtwu){;G1vPVnyXvrQe*`p<)KRF77fOT&)GCYQd?cf!2zt$`7f^52?xzsmc$j$`7f^52?xz8PRescAWdM zQMXUlEo^y_;oZ~4cc*+@`a)zgz z;VEZ$${C(=hNqn2DQ9@f8J=>6r<~>~r+LaNc*{8e~8CDwe)PqZKIW^7Dp>j zF64OMIdzJZIz=}xJjV;q@xpVw@C+|JQ+kKbe+~B3tN^m!Z>%54D^K&vbG-5#uRNpPky7m+Qtcm7?H^L@A5!ffs#I01R8>^% zAF5PURP7&9?H^L@A5!ffQtcm7?H^L@A5!ffQtcm7?H^L@A5!ffQtcm7?H^L@A5!ff zs=|NO{vp-=A=UmN)&3#X{vp-=A=UmN)&3#X{vp-=A=UmN)&3#X{vp-=AtS!dHR9`B zBficx;_F-^zRoq`>s%wg&i#LJgzXceh9^V~i$o2JL=B5X4U0q#i$o2JL<>_z3sXf4 zQ$-6?MGI3!3sXf4Q$-6?MGI4T>^UBLj>n!;GfAnLq|{7OY9=Z5l9YN$w|YspdP%o> zNw-=_w^~U`tt6#Zl2R*4sgXYiDYcT6tY=D%B&9}@QX@&Jk)+f}QfeeAHIkGX zNlJ|*rACrcBT1=|q|``K>LV%jk(9_GQMC!|ULkTwh#V3khlI!>A#zBF91g|6^Xha2`ShF z|6&xnT3SjiEhVp&lGjSfYo$aeX%R|VgpwAaq(vxUuB)3bv2D%9aDAc%o@a23Op`}p`eNo$?yb@vgjlN7F4-N$;g`emzM zZuQGe!Cq?lTT3d~z7fU!6T@0OWb3pdtBja89v#2<@VN8*X~r)9#X?>jWlSt`&{{xM&ZBhs@akqt>;90 zxZ-kG?6aEq=UlagXF9@F!u5`ZoGtAvX%*T7tZq2oS$dtN!}?+|<6q-4Y*q#2|Mu{I zd-=Wzs~i4b-4l4MxdJN#<5GhrzFW+iF3ZhJ+_o?A7XJ2o{OuR{+iP7f?|QjlJ!~*f zxU;Y!NEF`ZcW*EzdyDbdTa3rv65Y+}#e2Y>uovtN`@k637xsf{*dL68HPa$*rbRyb zS@;}$9_-m@rbXUNi+pfo@P@ISOZewY-9@9jB{l9e+?P7sJ-NqS4h8So!+ou9zwdAB zd~Q6AJIuJde;J?f{)fsQ(|aF_ODgR{QW@?;asqs_u+?0nt>zjnH)4Oe5&K)sHQH*f z(Q+g9mm9Ia+=%_r|OqrY-Dt5P*EHS8?ODd5QAU!&T2$z!mp_bzos^I1Yhn;VgqAW$jqz5 zGE*Opx8cQ|TpZE-cfVX*{O%jR+u*yQbiV7mOG2p-^~gQ?OV(eq!@p_pmvEHN66|fj z-lfHn;o%CbvEm(tYl()k{Z8?YQhuHC>r_xBVp$uGRTcAee>grR(EZvf|g*;5ch#lNV=wE4&76v5~geNL%!Znzo2F_n3CMurD1D?(cDP$qr`x?nwUSAFbB5J6-S~9WckUuJWwEba&ytFX67fGt7Fq zgI;*F{5bmI~yzY&$(uzVsVrBy5XrkMw*`6eIat z3Nwc9;97TZt>=8gmFJ2zvtrF`@RnIf;mq8o;O)Y10^WJhL@r|(wY+dQnN0-EMY(Mc zR)|bjTG4BjeE({iY>n@&E&Q1bx0B(HppAz405({S(@ryiHBZU(dRk`{xsC;0b`lAn z#%Ltb&h-ECRA*XE_bfXtgfnx^ezB|hhO#;4TK>uLNqE|r;#;lrejD6w#MB)Sw(VNE ziELp*h1t2`EL^i$%#MX^vst%RZJW)ymA2bz_Q|%{tlueIRdrM0Qu5tib&KO2j(34v zM%CTk-vbTSGCk6$_(_gu!WA$XrofeO75oUUh96tM^gz3I90Ui$A#f-h28Tlp90C6U zM}nS?ei>>()EpHxM@7w1QFBz(92GT3Ma_0mPeet{QBkv9)DuxrbM$!YsoG5^`c1F{ zKy(6}2;YX2;AHqt;e)94@S_vqRQMj82B*Ur@O_vBYD-aT#z)VFbKqP!56%a>O-C<; zi{J-vFH5pGn38x`S3MYvHBZd8OD72!rjxKR;q^a+>;e}X^5lMv2${vYh! z3v`s#**5+OM3YI#K}11BFvLg_&?w>H5j>!HMDbLu)vC28Dt)ck)>>=TT5Gl1gFR?% zt=3vZTd}r6MbV&W6ak^aOqe7PMi>GKAsI4wBF_K!Oacbfw}i5>+8U}1M5mY^4DEI zv*Wkmv%O!z_e!%%EL@uP8&Jx;1??w2JhXkQBD8) z>yU#FIrz|nK73W}Ir>YZ9~=Ex^`P$8m`?|<9luo%>i+%1f5#nm->I^dvxf?++%ak3#sIg`%62a{J&oP|MlwsuUG$fdiDQ5 zX}*XtTDvjYMq{*hXuc%Px0&YKMDx|td`X&bi?Ldg=G#W|HPd{{XudY%wuN-xX1XsJ z(RR{(oyKlWA!~u?za;&ar2m@ezb*7%FxqXW|JKrft@K}#icJM7mcH9W-zAOd8fd&_ zeIHZv{&Dz|zdZp@i6-1*rT8zbC0HHGqVJM>n2R;$+i1+U(U@ z#(Z7Id|k$T8;$uk8uM*5=G$n@x6znyqcPt`W4B1ykn4}AnbYYS% zOwxr(x-dx>Ch5W?U6`Z`lXPK{E=B1ykxP>mBA&_n4}Mr^kI@dOwxx*`Y=f!Ch5Z@eVC*Vlleb2YM&`)^nQ64-^?F zF&Z82_fo$f1Z93d*!u{O(UxVkZB`|Wbj(pccZi=4HKIMt9P5s!aGu>Hp0{(*OR!MA zhwfc0I{J3+V$s(3Ej75s?)!?}_Z7SEyCL1wSM0v8Os~G;_kCN^@xHRE`r5y;S(>8Oj-FL+3 z$X()ZB3agmbmVSSlid7pcu=}cMf%O*gS;OKC;ItPfBz^qR1h zlHrXYA`)h=Fnfs#1p6wq<~;@TRC9k8o&%M~^A=bs_LBc!m~P5@8D6zRm#mq*MX(rT z%;d?K$y@F?dUNY8qIoOQE!J2ByK8sk+iOykr#sTnDbmmp#DjKtf~djUA_lD@BCm=X zY}sk0g>sOFh6-gD4EP_4ivHgp!7OB*&GLB;44F3$BE7P`i&mQKIcy z)1)=;xYrxCs7Zdo5HoiPnJ1-Y!BSc{N(%>T;b5&RlyNdf3rDMJA1H>U82%sBz?*u! z73$=z6y=RN!z%0XVs=DdEdsnojz^O|a4m(fKK&Xc@FpeD8bpGy|5D8VF6Ms@yB{eY z{jPZQyCO92=3Ny!7IVCp_q9+MW4xdD^-%x3Z~EJHp&ww2BlB(umE?UVl#_R(yqiKX zx|sOf`+C(Sdevaxf~X#Dl^!JO>3`Q#AM;eE#pU<+^d&ugYdmHDFt^Z$qB%;W>T=QC zE3Id|J`?-A&>o>1?Gd_B?DIi)Z*^7&BxSUol77F(2OeRy-voZZYGGE}%xZ_ST9nns zv053cmGO%_mfMfzCbHZy=Hue#(dLEnoHeKhznzb~qc#9XT<^^$H5a$JJXvG*$XyFMP zdBR$r(99Dy@`PX(;w@(y<4lL~hV{H*bKjYI`JaX=o#_l`I)!KC@P>SMKi}Oy-`&r# zV&fBbgWPd6cm5;0LiRo?FZghW$es4_?PAx`uXn3=X=!i!oZyqk_Wq>fk9XDMU3K*? z-zwT^)sw}Ir#i>ET5x`-Xt!?<@a_J-z3biUea?)fcKgF z&>w5`atXSlo$g4`9c$>0HFQUU?nv52qh5vMES zbVZD=NYE7tx*|bWBlyDPE7*F#_M^A|y!I`n1V5vP{nwN8dty$r8<8D7Ea@n#ub&7rS> zeN{p;{J%X_^#1EYH-xf6-+>$9yKocS47b4d;8yrP+=lIb0Jl3vklA&I@7`$!ru$iI z%u1Liwl|MVtyMC$I{T<5E>o+s&&6POkUm#}9Y6Y9O;LOeW~7^CXw}QmS|>xRzK`?w zasJFR`g8wxpTGYa9`m=yVaIcOZF*hCa|Wc>$+SuY&#cU4$+*;!OkYKxH@y}Y?5PV6IooHIe&mh;Eym99)(%( z7|4#WK4PV8uFhP3B%7;KHdm)?u1?upowB()Wpj1P=IYE#AMWRlBUKc3D^L)@mfJ)kx<4)Ny_W_rNdUm+&jN*9hW1 z_%+-Qzk%Pv1MoX|5PlC2!yiDOYkkIY>ob;HpRqi57CZ)z!=K>K@C3|;C*d#f6wHCS z@OO9y=D~A%kNNOC)Hv<}coANLT6hDN!E*Qqya_8{B}72&3z=QbxoThJs(nG}G|TL2 zmf6)Tv#VKVSF_BnW|>{hxe3?+{9a~Pb8ZXnDAwcb1^r=f;HR>#*2%g`$hu0%x}rB> z2ghInSyu^JR|#2H30YT(4DXbC9|d}SSyzdGhh$x?lXbOD*3~*$SL#APXRlTgMdRbTXvaaf7UDeCFs+VX5tt7chO&9bhV!xzFu@M*XhJ`0z@XZ%tNQS-WQgAj_klgd!uP{(;J5GqsOAxV5FUcx!^7|gcm&k=2+xE^!HiZ|-xAih zgjM7Wnb0Hyy}#B)hY9;Q|48t%&SgWR?V`knq^rv z%d%>gWz{UpYLzUjRkEyB$+B7{%W73WmRl9~W_mU?d^I&ZUlg^0B3>hk z8l{S7Q^j|SqSjNz_ff?`KF~r@(>bE1b138QiJC4FHJw8t|Jhinj!OQksOj^n3%rsw z2~IQ0IYX_^htqSY=Gh{sbNbFq-z{o7r|%Q+RCZJ3c3OG`y0YBf2?9baRgA<{Z(@Iij0$ zL^tP%Zq5|;H3q&^;h;A+r-CQ8Lxj=Mtf#~J}(ai;-n+rrY z7l>{y5ZzoLy177fbAjmQ0@2L{qMHjuHy4O*E)d;ZAiB9gbaR2|<^s{p1)`e`qMHq( zn+>9y4WgS3qMHq(n+>9y4WgS3qMK3C&8X;RRCF^cx)~MSjEZhXMK`0On^DotsOV-? zbTcZt85P}(if%?lH>0APQPIt)=w?)OGb*|n72S-AZbn5nqoSMjMkGgyZr0~r9Xik$ zwMuleUUaiQ@7mBHW7R6r&3Yr2BaK*YHe#t3-K-bg>=fOsH*Otl+)u|C3Q~@6qnZ zj&T2#T&<58;q5Y_3&sC9!1OGqC-21;{@7e$T)meLsc)gm5{~m>jE*FQo z(g=Qh`ZOcvKL)X=ELDoF-QHk)@wVqT7+YjAWR3ri5R=-E?wXK)S9*K?-SRibn?amu z2JwE+LK5e_hwm2Rx|Mh?$nFfX!UBG4!DWl^*!JFM@(jEu;`8>7Gk6Y$=Zs0;pEDLt zgVT+D&ww-iJO$43^Vu-f&*#9oa2}iw7r>`L#XK{6EoS!aH?w!YnY|V>do5=6?l-Hq z(TrY~*}N{Zd0l4ny7c2i^xuX0>LL2-tM%2x#TLu;(R*6Swl#fCX4a-iM4?y);(+uy zA`Z3ke-GTHCGuKj9B(rl@ssRH^3l#rpJeu-OWZM7Ker>p_);VJ%Z$+9*N<#865lQc zx!qav%&rzgP%pep%=9Sn!Ox4DU2TuUQ$z(RNUQR;=~b&e-w}7F)tzbDW2jYXYFt@M zw#{0yZ8<(;E!j3}$+qPLdvP6UudTyHZLUwhVGZh5QS5xPPDN&bitTW{>&#P=NX<%- znpM4Kp579vc}t|G_smmQ&&<TlHTeyle8%_lhnt3_;3bk znP|*1(U>mLn72e@HfLsxg4v>Arsy1hx57d+rptYMM>J-Y*`Y4cn1pCdLNq4f9)4g} zs7pj9DI${;kx7ckBt>MpL}a=|WV%FTx1iHOV+5t$_-GD}2cmh{Z@tQ3)1DI&A#6J~lg_006F5{>EdMDHsj)7q0>(dD&# zW-*@$X4Bu{Gi$MMVOGe~`*o^ynJ0J#<@$PP87xm1dz%03X}+6+J;D?H00lcZ6Vt6r zPxoX$NWq>(!Jgs?Un>t_A|-pir+l{9?y+(J@~PP(YPN`)y^xxnOwAVQ0s2w1pVbRY zq-IMzKi7-0|3;MkK3Tpuh~C{GdUuoP-A$D4WmzYtzmhe{`$^tU_P5j0w^6;fQN7Fb z9CuT_MS71TDc`f?4dlxk$ftmdDBz;LPo;|};2%=JKcs-~%Kkxm9u<67_7BtZ^fHH1 z!bS23s;S{+dYl=0oEdtY8G4+!9w)BHnW4v-p~s2qapHQM8G4)?H zrClVKU?R0$L~R#Q+eOrN5w%@JZ5L77Mbvf?wOvGQ7s=LtUAF$~vh_E~*54#sf0Jze z*JbN(lC8ffuM`gQdl?)IBcR;hDxeZZ`rWn2*54#se-rgyOuZLV??b5fO6t9sdM~El zhfwd;)O#`YUQE3gQ}2_g_j2le9Q9sIy%$sOL#X#k>b;nHFQ(pyQ18{$dolH1OuZLV z?~|za!PNU;>b;73KbCqQOubi8?~|$b!PNU;>U}!(KAn1>PQ6d3-ltRV)2a9A)cbVm zeLD3%oqC^6y-%m!r&I6KsrTvB`*iAkI`uxCdY?|cPp96eQ}5HM_vzI8bn5+7z5W>L z{T}N50KNa=)cZZu`#scq3H5#i^?naV7=sb+#R!K|?`Kl)G0ZS9&uS>@{gk|$()n@| z@~QaARQzNrelit5nTnrG#ZRW$cy!m zSLzYR>JiKJhVPk$8>bhn#Db-Izpr4yNhi2_+0utJz8bx5}M^D zJ=&+NAigy;DSemK!naxle5;kechE5V(J-g$?cNr@owfT_(lf7RU8Y5sn_c)ETxtD9 zd-~q2j`T0HlIh=I)HC&thv*##XIsIhcYMZ5)jOR-CO&jICOX zZJZd}Sn;$2avL3Qb$XR}+Gz2#(c)>C>SC<_DeHu)KK3{-M2kcqGEQO|09-x=pNGuQy)Z zGtOAeYB8L$W1O+kRW-S)99OZ2t0)LfbnoW$=*@4qSA!kxXO8r=BVD8akLv$})$`Y> zv)0et)ZXT%_A@s%z;xOPlvJdb?p2A z8{fdj)3s)i)>N=@1shLf<73$PQ>riQt%bK};bF$F`>^FTY?)%qzp&+vZ22Zzz8X40 z>$lQ(o9VmFtgx9Ef0q@CSmDtgk9~$Ee$5gaSYka({94PSS{}4`K$g8$wR*W$FVpHe zt$v#x?4SpOwJVKUAIwAFO$%<;@-4LBW?FDFEx4H$+)N8@rUf_Cf}2@l0!uu?5|6ON zBP{U4Sw?li)N~IfEW}*p6@Ak+9i)XIeY* znAy6=;ZLGtPry^@+4R6tdSEF%5NLrw2OL2M%%%Ze!_%+f>DTb|Yk2xKJe|bTui@z= zo=)QF*YNafczQOTZo$*D@$_swJsVHY#?!O$^lUsm8&A*1)3fpPY&_kCr@QcU7oP6I z(_MJF3r~09=`K9og{QmlbQhlP!qZ)Nx(iQt;pr|s-G!&S@N^fR?!wda@bo-9Jr7UM z!_)Kd^gKL04^Pj-)AR83JUl%QPtU{C^YHXMJUtIj&%@L6@bo-9Jr7UM!_)Kd^gKL0 z4^Pj-)AR83JUku2(-Ax!!P5~u9l_HPJRQN)5j-8i(~I%+Vm!SVPcO#Pi}CbgJiQoC zFUHf0@$_Omy%>8W_S15bD0>G^ni zKAxVBr|0A8`FMIho}Q1V=i}-5czQmbo{y*JkEiG3>G^niKAxVBr|077 zxp;amo}P=R=i=$PczQ0Lo{OjF;_10~dM=)xi>K$}>A84%E}ou?r|077xp;amo}P=R z=i=$PczQ0Lo{Ohn!_&+3#c#|1*c#d!NB;#k{~0&GWc67;-26+N{6`%83!M9`Rj2#m z)xkJ*D^7h8r_RQsZ)c9Mzg}mK9;a20lQgQV)&I8YS6Ay-SLRH~_v$SP;mfJ!j z^(?>Dv!wJa5xq)G&oNamv9BKDLOsN0J;PulOMLW!7fScD6q634Psm zXT1PJ-{Z_@nT73i)?e!DF4x!1*4I6uue6qXevulTH$wYnNL;Apn z^nnlQ10TW$*XRfD!v-_3!Nu6%Dhz#u8L*SJx(Ey3gBhk{hI_){^hwy^svdUub0#8k zAl5Cx1j9q0>0yRj%_w~p15d@ihngXh_k$0=kp7&$bCbUFK`b#z|G6OieEN&w*RW1! z`dQXnjCrSqzHVH0wK3T={pw8p>P&s=efrdI8;@P9PyM0(bfdoX=lasKjltsj(Vyu< zf1?lmw0`pj{pA4tKiXKE}CXsG|jkZnsHIWxF}&< zG|jkZnsHIWxF}&RY$!Tes>XXX+zo>LWY#k)8U;PJQG|ePpLTvQr<~sgIngkDRHGoT-nTsgLZ` zM|SEXJN1z>^^u+W$WDD^r@rw7edAPp;?erVbM%9U=m#h12d~oqouL1ls^2?Wzjuzl z?ht+4XY_H?^l#_s->%Z{d`-V|k$&e1{mwZ3&S}O6Pw00Z(eE6t-#Jyk^N4=uBK^)2 z`kf2)J73NFcBqej=OF#giTa(d=|k?r|hJ9n;4n>b@|t6xHs5IbuI2)i+k7N-nF=QE#G(t_paq1@9>XzaPL~& zyB7DZ#JwAE?@HXe68Emey(@9=O5D2=_pZdfD{=2i+`AH2#&BhfKg9S$3|Gc*WsG0M z_(cp?#&Bf}SH}2AjE}_lNDNoTaAl0I#P~`KSH^HjezXx+ZsbcF`O-#Qxe-@x#FdS>vJqD{;>t!`*@!C}ab+W}Y{Zp~xUvyfHsZ=g zT-k^#8*ybLu584WjkvNAS2p6xMqJs5D;sfTBd%=Zv#a^+*?e|2pDp0CL-_1!KD(OF z7V_CLKD(OFp3P@}$7fIDv#W9CYCc=WXNU6HDqOh-J>u_ZquB^kAb-1z)SJvUmI$XIHSH5Qy*d6y; zMPC=-oM2a`4{**VT=F(933PJ`cPzslAK;E4<29I>I?M>{UH$o3%+^8e_t&Q%fZ;~! z)BEew55#bjY2QIcP;H^CzRj6cpIfpo-E-4NUQY&p$zHhUrak`gk^k%d^f7xru;-Ir zncwoh>UGf2eS=rdF*&E@JfCwbypuaR_l(@zx?f{*$4$t5F8J(@*Fkv)b^o0Ex4f^0 zpWpfS5C1>->AC!IqsvE^SD%+Zso%lfKXv~*YGJ>#yMG!yyx*c-UTys{uQ9p(n!A76 z|CSG51q1e9w(ke~FDsZZrqaLH7T#9$lj21GWBNa^cWCb`_FuO5-}Wio_v(Fb+}EcD z<_1LtB2m=r}(gAh9!DlzaF+M`02nQB|{F3!v!V5 zPmcya4<9sqP{{?szr!nsPpbT&?1HlE4!(56aphCWZ?E`$#k$H5MwgEqQhi?ad80;; zx_WfpsNauTc*tXi-d^>~s%3{I4lf^_$HFHB|6hGg^`FKZ)B9B&8SM%8ZUf<|>Jv#Q$vB&KE?Hhi3bZmUwkZ}`szAigr(D>vLgZ`D*Q4jnF zuezgldma0yqbra7)4%hYn0@Th3CB%1ZDRJWuL&1Ucw(2o1o!nP|I+Kli7Sp9_iw(g zK7L=X&m14=ew|Qkh3($Czsg-03gy0%`+Dfm+$Fiu(3sp+xpDe&T{u5o{5ayx}`o7xu^u*iy+~@t*p#iF&4p9AcfV|^lHt+x2dIKN zKo!&h;bPbe`orGf^WlA<8pgm_7zg9wC^#C9fn#9;OoZd$csL<6K$VZS{7Ggm2k+L> zV)gjqTG~%NzPOh5)5;NAIYKKB)yk1Qt=vZ|_tDC-kF+vV(Im8|mh2g{WapU%b)U%* z$BLwl6G=Np<(3I>YWf)!P8!XR?Wl#6$Wntw9gO!?_h|iuGwk6Ed+c(CU~i|JUF-d> z^{=k=39~%v92+SnyYFMBg44|1&J{6=OsP$>SY?pKIUCGN1QnZh^MH^4rmI`}@mJS< zv|X+)s8G42r;UrP+Bga~e^?Ew+5dL<-wrEg+SvF#$KJ|&-Z%Dp-_>QRLb+peKJv{5 z-wf)^Bz!a8^UcJ+^vxG~zPZEd!8sc~{+ks0e^$ThzpMYWs|6CSCRmHrt{tsC?dbT} ztNHgTgZ^uKVcf0dW6l4Lvqs?<)pw2!mGaF!JprYj^|L$$7xJvLc-GH()=ypEKRoNh zJq5!(1><|XV6(fm*+_l+E_-2gKkK{ihj9}BJ*nqe|JU}z_z(BM@B}7#&M)<^-K|`$ zl?Qmv+qAO3=e$iT`)lDCEj(NckJ7^NTDVRNhiKstEj;`qE$n{IcdWMwp7ZXr^f!C5 z-E;Sz=T3E7K0nT?qVCFRZ@RxPxxcl6{XBQu%|{1S$&zMJw({~?&tR=*FyR^O68Gu8 z-cLLNe_j0X*VTQbp69Rox`NeCF;Cs=Mw%;(FkjNze67u_dC|f=zP6*U4k|l+pgQq2 z6!NEX=c?N*JA+C-n?fE$Ay1%?&!mvYQOGA@!mIG$=T#y;TqWWb3^-K8W00!IUr-&Y zJX442U9-HIH5#JghlNJspON@yB>owRe@6CH%pMt<;pgksnEtT#Z988Yi8n^#jgdHG zB+eL#Ge+W!k$7Tc?!8uEJ?DKsJWsh7!(PxI_6DEB6(e2$f}U%?)U{va+V6GU6|VUT z*IbB8M&go@xMU<3cV{f4W_V~4%M4?g(JV8JWk$2g3H)UWe>s=GOktfvS*MzH zs#)i3)+yf2Iz_Bg#5zT+Q^Yz&tW(4~MXYla>l~#&-G_CGSf_|}idd(Jb&6Q0h;@os zr-*fmSf?mF(7fV)Fc^lw0WcJXL14KO@57-C4u+sd8Rb3b%c{H|4%Ln`2F3yn&#FbN zTEwbFtXjmXMXXxHszt0?#HvNCT9mPB0jn0UY5}Vju<9^Y9mcA|Saley4rA24`y7^@brY5}VjuxbIT z7O-jos}`_o0jn0UY5}VjuxbIT7O-l8mCAR~u6MJ_SgjqW$2-PTcC3DDg7=BuPlc(* zP3QXm^C^xCj5aP20lpNj3?0_nGFm@M>qqr|iZW*y=nO^9Q0@%loME6d9OMiGo#7y7 z2sF-d&Tx`59On!r&QRtIWzKNoKR-iOm40+==x9f;aP(1*zMrFya`d1l3GQyWqn9~) zxucJE^r4PE)b);by`yQH4%%i*c;C?F;Xzoj)HwMdI5gBR?^Ubq2mB|#v%?o0x!qBR z^&IscM;#WrKp!!JH;>@WBY5)&-rSEj_v6j|cymAA+>bYp;LRg=^N7$4xE}7(YmU*b z?i~tF(cYoj8}Q0d?G1Qkpf-P6n?JA3U(x0-XmfvUK0}+&V9~Giwx}L-1aBU}n@8~G z5xjW>Zyv#$N9e z_v6w1^b`GfbiW?O5%d$m&Y}HybUz;5ug9bN^>}nY9^H>ekKoZGc=QM!J%UG%;L#&^ z^avh3f=7?w(Ia^D2p&CxM~~pqBSIIlY#Gazv1}R3ma*)3mL1Qs<5_k*%Z_K+GL|i4 z*)oBJ_Yl@Sn{^Li-2tpy&ALH^;bhjG%(|Db?y0PM zD(haMzc^wy3zxBQ84H)Oa2X4iv2Ym+m$C4rJn&K$9?!x9S-6aa%UHOKh09pDjD^cs zxQvC%Sh$RZ%UF0k3y){v@hm)^g~zk-corVt(`Srl;qfdyo`t*jUm4}SyC)vc!sA)E zjD^csxQvC%Sh$RZ%UHOKh09pDjD^csxQvC%Sh$RZ%QE#`gIdi&b=Q@l0c>_OdmYSP z`RrBAR)KvA*e1+2qk28dcDv9I^y*8sf2{V8-KEFKcf@@hsnC%Mcl&hMr^CB^x=-f$ zI!JC%joeJ^$2OWpTU_q|lR z&(V@|-1C5aOWpHQ_q^0SFLlpL-SblSywp7}bI^PE`|G7=l*S@o}1b118VyN+1#Uyv0B2v zmCI0<*)QfVo}A^fT;4Pbx6+JZ#4KJ^Esa%bZN$v(byrY$%k10|vvW(#$}KS~_lnuL z2D5RmWle%pt;asiDE}lAH2w@+0{;b9 z!`I*%m;v^;Hlw!0jM@@2YRk>2EjOdK+>F|CGiuAts4X|6w%m-`ax-en&8RImqqf|P z+Hx~$%gv}QH>0-PjM{QDYRk>2EjOdK+>F|CGiuAts4X|6w%m-`ax-en&8RImqt;?Z zt;LL5iy5^RGiohn)LP7_wU|+BF{9RER;j_PQiEBg2D3^HW|bPuDm9o@YA~zRU{Sr!K_k)S)~TEN)2X}8q6v+m{n>ptJGjdX%)s+ z9VF}D-3931-#4f*bB=RE6FkL7_Ijo=`zjfKfAWq)du1JG{B%47SJ@q-EO(UBf9oj4 zyBy_QF`n~7r~O+;2rTvRzip|4e>QIH+o2LeQe}iJyXEW{L;g=!neNp?_I~O^A6HX) zfsyUYJ-zV~5uDdO(f?je=^ib4gokW->iQT32hdb~kcZ>YN&RD1c1d-3Va znJ!UJ;8M6!Z~uu^tV4x*x)_DVCWFkanC`S6hiqrb@tZ|-8_ecAXevAVjQM?YCK z`c%0dy{f#s?#1l;N{@Y;u|QC-JE(x(WlnnY4of(4SI?ZmH+QKOzoW{0=H7KzP{fek z_7AGMb+Z2!SMahp%tB{>)Y*fmP3C*fzLNdB*uTBU{%hHPqqDxQJ+HI>TkPKz+Sjw( zT?5|OMx<~yJ}$z=MIwfO=9wdT=5W3K zcfqW{hTV^_^ILnkjz*EmM(a<4`IknYemB$e?|!U*UjM$3?M0Ry<5cWB)oxDbdN$7Y zeu1azO4+^L@ztPmeh}+zV)rHyw5Kz7vCAFYy7LIfh#Vg)f;_?dMDM2t{ky2`x$bUv zHT|HPeC7yN4z*f2)N18WYq$fFX6|-e%iHc)F1rRbhx)T?ard=QRl8nG(zOIp;-`0h zGib$@daHVG50S z4vly@jTnrYXV8e3(TG>_$+Kw0D|ydZdd!hpIaMozQP?!C{4%|GH4nO!2VKg8uA>*v zpt$zolh^Q^Ym5P=(1W9B`zf^j6xx0YZGSs$AMCd`g|?r94W<}9O`+|l(DqYk`zc0G zQ$$&&(DqYAS*FnTQ!+8okM8}qXV4~=Snrxfxuy}p`7@sl_O06*IyN-ao`6GT$PW!2 z2gkz+a3V~Cli*~S45t822%QF}!x?ZUOo6lDY?un?z`1Z9oDUbkr{F@k2tExL!)M?M zfB76-315IO!nghX22q6XKu}rjyKocS47b4d;8yrP-0tdsXmoc6-0AA?64$@m+|U>! zv$3Jixl@E`i0L$~Hi+IyTyeXJ-xQI7h#G5YSO&9T|i+IyTyy+s|bdh=>;?T{Z}3@T-b&sY%p}!o>7TXqds=#% zmLA)yrE9gc(pb3CSh&(yxYAg-(pb3CSh&(yxYAg-(pb3CSh&(yxYAg-(pb3CezM1C z;dy$u!^A*83zxy=p>OJkO7ue|`k`Qd*%JLwmR1+`w7O8M3$=Rpdt0d0g<4&x)rDGJ zsMUp9UFca4=4A@Cx=^bNwYpG?3$?gViwm{5P>Tz-xX|-j;(0Ccyq0)g&*|y?Z)Jgd zSl|~da3>3V)AL&5c`eCUVwCsp$WDpp^$r#(WRXG^DP)mC7Aa(rLKZ1xkwO+JWRXG^ zDP)mC7Aa(rLe@AvV}VO{@%{!f>#UEqGVs{!f>#q3zj zj>YU)%#OwESj>*a>^P7e2eRWpcKmgZ9Z%JY@37;KwBn~)@oRP*$c_Vh>^QK;jsw~8 zY<4VW$6|IYX2)W7EM~`Ib}VMcVs^OI+aSI>RcpSgHCJiPlWhA*@!kE{ww!It*|wZ*%h|S^ZOhrVoNde5ww!It z*|wZ*%h|S^ZOd8ZQ$79DaF)5zUc9~g>0vxMSP8OYF8d@txg#2UF}wYk-HzasNA&pQ z5j}PbqQOCrwj&z6`?LMY5!{zTN3dI&y`}rH-MCmtXF&-TiF$S6BWw zwtJlIe#Lf2@XI55{PKt%zdV9pKE!taQRJ5GirMT6G0w|F*Y0AsA(@EIELZU>S8=1O zxY<=)xWkUl`lSA{pKp)kYnPj6=xz0(q3`Vj7 ze7TA*SMlX4zFftZtN3yiU#@ZwUiKsgzI&ppy2ABe>iU1%>+1Gq?<&4p#aFBNY879t z;;U7BwTiD+@zpB6TE$nZ_-Ykjt>UXy>^+sQj@AzhWV!1-wI6z8FgNjYt=!%7!o6+P z=W6o>pD=fj@w#7!_WGB+?f@BvLqid*e6;8O27P$9cXjKThX2^BeiRz7b!TUIH0&OR z-NUff&ERQ6JZnRGp0y!8&swshu!zE`yO`R!|r?7eGj|uVfQ`kzK7lSu=^f%--AB? zxZkj736Cq`aV0#igvXWexDp;$ z!sAMKTnUdW;c+EAu7t;x@VF8d4SeNNbBWWe(CN)uy%;O=Y+t?0{|=GqHdIFaFj)f! z(sJF;_IbVT^5c$saOQbFewS|!^&AbuvUWPvd#_766ttkmoo&rd6eR8 z&J!V>?Hen7Bgj==qE&B+AIC)!gIZ7(jxWlY3&2$=U9i;oKZH!|9kE?qnY;6^}BPJw820t)GQz{VeQhS)FeO zJDx6cHS1l?dRMdA)ojXKO>q4mezV&a|NS=#U3-(*_yeMOZzxH11xkSFbCsvU*%)^|*GOuU^;N>UFiM*A-V;J+89)8Cip2e?Jd_17N5bhhg4_ zdoT5V5F896paLpkq`_f5bCdp0$D z-w2za6*fZ~Y)LOxhbyi!dR%4nGt}XVtBf93gDb8g`eHS>;wqxYvvd5Mmp()7t$4Ot zOW9LEjiqe$1hVZgo2{OJx?8R4ZY|Ckm;RNyTfb6w>sRV+y{Veao2tpYsovI`>TNB~ zT>?>91sl_g)!SMe)=ssy;$bxhRGC?<)>d5g^SB*Vw%Ji-o0?j2RnFg5Q|oP2XIjg{59gkvLd#9*XVi{M*$wI$_2W|N$EDPdOXc3} z_aEB{^&xAvKM1{U)%zRjVlGz?ynAQn&DP+yo6T=Eo4?&`{${iJt!DF6*54+r-QHpi z?sjW%+s*E8wg$J&`rEB$_}k3zw^@7JZkE5zEPt?L#%4499iFscRwLLuYqMGXHfy)v zH?yCz-gc|?wp-2cx0&H@>-$u?ZIA9fQQOqI`ammQ&%MqwdsBL*mUL>#OfBiul1?q@ z)RLK6GE+uCn{~F^Wd*d!3TTrR&?YOOO;$jgtbjII0d2AZ+GGW^$qHzb70@m#pj}o# zyR3kASpn^`0@`H-w95);mle=1E1+FgK)bAfc3A=KvI5#=1+>cwXqOexE-Rp2RzSO~ zfOc5{?Xm*eWd*d$3TT%V&@L;WT~@$$SpnN+1#FiUuw7Qbc3A=2Wd&@P6|h}az;^3k z|7Z3iy~(>@?L&idfjD-#v3mq~RI%F(#$XMu*vCtu7p+m+(hm3^|84DfiIenmqUBOdU z@vgwbR_k+{{B^zB3!7w}jMYEO)8IjW;6Xul_F{87je+;bEP7L)v%>t}j-AR^sXY-K zrGY=Lc7*Oqjvah)gChldxW^soc}%in5BFe3{5^iTEpx;NL&x%5Yb!z%;W#)RPJk0( z5}X7l!(>o>B6KR82B*Ura3)NFv*2u)3g>{8TcPv7I-$@7@F}Ou@qrx%S>uKM_kF@Wf9X04H zdRfiSJFJ$mn5SrWi~X}B2L09wJr?%2jb#zo6 zU6cxDW#M1G<9}!X_G(EM!(e2C|lL-Y%}|wGW(t~`<^oUo-+HMqAxbl7n|sd zt#m{x(=Ts!l`FI_seLK!dpD@2;fj~`+`+%Prq^B50@w7atBq^lRx2E~roXIe$a8ey z-+C(a&7e>pRypK0c{fL99s0r3af^5dQH8^(u^9rkc=LZFxY2 zzRzmU?J5fe`_{+vpG%)kBL#cHb=N2g>Y6<6>RvQz2(r8Ga8K18pvo_Z`>sHlMcGTf**7ohLAg*m&TtOSn{|Wm^ zIr2yLk@C$C_m1kX<;CvLpB&*a*SkQ=gY{59bgd8cYWWXc!*jCIbF_Ysp4KmL?kCx@ zN$aB`BTojECCuNqXGOYSeSXsCCnW>=Eb7zR=e@p%d0o)=%D&fR_xH*U{_VT4@22jb zN*>J~lRY7OQufdGJS_K$p4Uyezux(>Cr9@yT)6XfMA0opw+uXQ;1>oyIPi&q3kUvV z;5#3E?Uz?F!0Xo~k9xf~e8BLb!*3n_$KmU&kk89|CU0dZlvii8eL!Ag-fC4uHsy7N z4$PmFKPfaO|E~NWhsNgrH2-IzBl3Td|EthZ`A_7}4;`ETYW@=03rAASjj9~2pqf{Q z?D#-2Z_%@C*B7@_${l)@poa8sJu@FrA6xV)?Vg=>{qR=(@K)X)Jn2oIn;m1>sGe`T z=cYOPr#t7No7C8HH88NIKP(fcYHtx(Bmg-S*% zR5DtjlF>*v_d7L_f;}_UnQdzDjBU%$>@ERjNVttXa!aM237q!MZJ}p-bzhx zrKY#${#;d(>+C6aD4)KXf4s=2=kbyI_{fu<-8Me*ET5jhPyUWc!di2QXSdd~`?6Mj z38Ms=&--JP12M|}Jn+}@GdcFaknM37Dk5AvF{rBp>JKfn< zpW5P6t;Xu#(biUD^^LB*i^YokPjM#OD#(ip#?vvMSnCt*M)Rw+?CqUr3VPMoGQTbJ z*IS`W5Y2eZxp!Wn-ngFqgWS1yT*nr+PqKZG!}Sk&Q~z+r zbEvlc%oAT;IXEl&AB}&>O}8E3j9CpVz9lv)&WB(U@VYdW?Idf8t8!yT@CzzKJ)lXW_fj zuk`tW@xVg;V0Rz=9{X)$vzOTHC0UN|<(wWGnR7o^m-Cyfp*g?x^8;B0Ils#)%X!GY_kZ*I)BbOc|C<~7M$X^;{*3>h=l`Ge z`~1+sIWPEIjn6FbnHT--CBHB9nU{U$6~EVqj>>7s8j{nPRh6?k^!=PQes9Vema{f% zd`{f&Z-t6;)`brBOx>3|D%6mBNT@xxDiq5-EYy)ZIujkZO%Jd<_vX-XxwnVT%l%>2 zow;{peJ}UUP)+WSLZ{^3rDDj>?PPgCXkOmX(5rdFLX~+XejXnBM_#F)%l%y8@0ETY z<>y2E{m@XQxYv34PlN{NKbbWn|1Vj$>eGs*4|6e<+y&W1!VZN%0_agrv?A5u%-`?OMTUE{N#I^6FZxda*&HlviW%Us$ z+yk@rGpZ|4RaNyyI{+;1J1-sS`@CHlUxJ19>J%~Q`--1y?b-P%EK!YnnRjYXMfbPe zaz>_S<&1(u;83W7!{Bfj4b?CP#=^Mt<2mEK9|1?gQE)UI1INMy zmI2k6xDR3H`o^IFAx9jI;>E~zZ=iBx3?fUsy`uSP<`C0n;S^D`| z`uSP<`C0n;cKv+2etwpIewKc|T|eKhpPwZP^|&b1<2jf6`HJ+NIiG_o(?7CX*$kdB z!;WP$a?eh$&z%bAz`1Z9TmYYf3*jQTF8y}yx8QpCHrya`^&Pkoz6&?O&FL+oGmCS- z2e-oa;WqdI*zp?2Y{4;GL~Is|*etd`@lw&Pi0D?te!=hAFZezC1;1y%;P>*LPrsXg zSNi?@yQ%bG&Ca{}*9Y;;T0FB>Kl^*tW`i1#Vf!6?!vE@3`cQS_H}F^@?9)_3po z-OuBw!8mFVjtX-51{?MCbG$h!ZoR1D){Bli4ma(ceGk~zlFl)c=xDFV7SvZ^x9&;= z^YvaCRVQ<=pUk~}qRM?#m%U3q%iZ#U$7kZiPy195&wj^w@_jOsU7YnZpM1kEf;WZ^ zg(^5)mBi6d4P#&|jDzv%i$h1ik#Mx%kAY+D!!!XV!f|jsoB$_+UBbjD>cuGP#VG2< zDC)&1>cuGP#VG2cuGP#VG2cuGP#VG2cuGP#VG2cuGP#VG2BYYQbf}7zM_#WH}-v|2(h3qdR*0H5$$HF@CjxC`di35#KAMVaBa%Z16 zgK&r$ghNE=M~l#pwzg=3YW$zgn&kZ??1vzo2tH#tLpo>%7QOt-;PyYNY{&@)Qh3ii=otuq120^ z)bFtz)~2uBV?+94yCN>yvo!sJm`Z~k5wBG%^hUe$-Kf&{jcSJ8sAlMmxxa-6;CJvK z{2m^LKfojKN0VJW=f@5^90`~%(u)j-uKy*4)jF{pBL5QA$FgKH3jYY>BL5QA$FgKH3jYY>BL5QA$FgKH3jYY>BL2wT4<2G<}4 z*B}PhAO_bU2G<}4*B}PhAO_bU2G<}4*B}Ph5Vn7;7+ixGT!R=~gBVTRy^SSkqfDNz-TA&p+LmO;?t!8*SAqCsuZFol=-MaJ( zd5!54^E%Vls;PUe-TSV!d*8Ko@4GhdUHhfI2k*mn=t?ij_nc*QQdCV8RTDM!eyH5O zt`+ocrP1d|(ZoY2t3#m*4ijZRoGu;>)i4Ie!Z@)1E0#%NnG}{uVVM+`slhTeSf&Qc z)L@w!EK`GJYOqWVmZ`xqHCUzw%hX_*8Z1+TWoocY4VJ0FGBsGH2Fui7nHnrpgJo*4 zObwQ)!7?>irUuK@V3`^$Q-ft{uuKh>iDQ|ReREqwm%-(51^sS6gwU1n1^6O-$=~fy zX+FNyp1G|UsTm_RW29z`6zunw!bmBM)Et`O|F8A)*Zuqr`|W-cu7huZ`qG%G1~b)S zrdrHYi``l`36F zm9Fb^wV%HRGt5>yKbC3k^DV#M;N5vJO)aKbglXcKCWUDhVVVS{Nnx62``qWVzlQt$ z{lRn%#;L(LH5jJ`psNp7RxQQBWqK2EO;U;Rhi5hOAhMTD2CTh5e8g8P7 zn<&;MD)oH|_5ECX9_QNgIQJU6L(PC|;p^}X_$FL$p77gngYoQl;70f^d=GAg@562I z1GqQcf;C&PW((GA!I~{tvjuCmV9ge+*@87&ux1O^Y{8l>ShEFdwqVT`tl5G!Td-ye z)@;F=Em*S!Yqns`7OdHVHCwP|3)XDGnk`tf1#7nCK9_FIoe$4Ljak?Q@FKhfweTvu z28+P>6@#WQXbOX-FlY*crZ8vhyU4u*0V1&2Tt91hivGX}=OI2aE{ z!O?IG919a*A{+a|$C7OU4{^;)c6i`8qfdM#G3 z#p<e^=6Eo!sscCp2FxUjGn^itr)!( zqqk!8R*c??(NmcmtZy2j{%mIs)_*?Jqbhv!;zc)qN?VBP4;MoO<5DZRR5^cuwP z%=vZK39ZV+bm#ia(?0Wb)>JXE?uh5hVty}(`8_M3f$aL|L_2MDx#Y3iNb~5YP#Y_eN8WsF&@^;;gtY){}$ZGP+eCA*n0lV%- zR-=Od&fUoR^f99Ub0|lwF&7G9e;5J>z=2R9)_RE91G!!FSR*}_pvNNgScD#n&|?vL zEJBY(=&?F_td1V5lb^MkCX3Ky5t__OHkb(ZvZu+SG+C4;i_&CKnk-6_MQO4qO%|oe zqBL2QCX3Q!QJO4DlSOH=C`}fn$)Yq_lqQSPWKo(dN|QxtvM5a!rOBc+S(GM=(qvJZ zYz0jgrO6UBS%M}@&}18EvJEs@P`!K$UABQP+d!8k=&}S|mY~ZLbXkHfOVDKrx-3GM zMd-2!U6!EB5_DM|U6!EB8tJk|x~!2dYoyB(bXk-xi_v8gcpMoz_UF)zN8d>9ho$mY~z(bXt^7i_&RP zIxR}4Md`FCoff6jqI6o6PK(lMF*+?~HGP}h!S(c7lwM2FYYBQSO0PxfwGDeLOt;f) zQJO7EvqfpPD9sk#qfs`-T6>;sFuyCejc!ZOZ3((9Mz=+BO)grW7gjS2t zY7ts3LaRk-wJ5C?rPZReT9j6c(rQs!ElR6JX|*V=7Nymqv|5x_i_&UQS}jVeMQODt zt+s+zTS2R>pw(8;YAa~96|~w4S}jVeMQODttrn%#qO@9+R*TYV30f^dt0ic)1g(~! z)e^MY23liq17U^T7*`M&}tD{EkdhBXtfBf7NON5 zv|5B#i_mHjS}j7WMQF7MtrnrxBD7kBR*TST30f^dt0ic)1g(~!)e^K?f>sN5Bumh0 z30f^dt2NSUjkH=Lt=34ZHPUL0v|1yr)<~;0(rPhUEk>)wXtfxv7NgZ-v|5Z-i_vN^ zS}jJa#b~t{trnxzVzgR}R*TVUF)wXtfxv7NgZ-v|5Z-i_>axS}jhi#c8!Ttrn-%;~mR4I!tF5Kg*3xQgX|*`57N^zXv|5~2i_>ax zS}l>cNj_!^w8Ca+1G7)`TZDd#&~Fj?EkeJ=>9;uj7N_6h^jn;MtCKIaRkqe1@__PX zy%xy~DV6~{K=#X_>Rf%?{J-2XSs_XDRnM81N|=*+%dBIYne#WzoY!aDxh4C|^h4Qa z$qJd8-jsb_x^tIYfh*I`n9q6140DIs@vV8klxq;Ex}f687|KuOeCPk4t$4GiR<72{ zOfQ!krz-6qU;E|0_rCYO_rBj>4>}!(BrnHF5<-YZ<|N5Tl1w#5J(7$h zBdH`AV;ZT{^cb0@DH$V4Mv|mANivcoBq2$XB+mYS*LUB?IY(6U`_1$GKL5Qw_jOwSf}1H#+yZA03h z$rC*ISEC0h(8CfQ)+_hEK%bHu(*F)I58+-m;o7icJfM>30iASXIv;r-$p}byKRgp^ zY)E-4k8Hsc_}AXWeO&#-8_qa_uOtfZfcG|@_Z!Ck8tLwZY#)B8xJl4GhIQl9054?@gpBfv|Vt%3bC%g@X`~3h}y59P@_Myj8I?+4kVD96XV zekjjdyhUCguQz1xU=K4}c+L^zz(&XpAXh&|-&Ljq4MzW$JA&l*v};fK0a#ANk08fCQ~qAxBWc=sn}wcm_UI?UZpn zKV9S>G{?^|c&PFml%3q5bz8_tZ9Iy+mwEdyXvX^pdy)4ad53G}Z6WU4^50v8-(2qj zP*}uR`HvfXTKxZ&_%4F*7J3gM4!DApx>&7|7n$7^<@NM_1CN5j26VjE=E1`kamRSifbK&M&B6ZxlxDU5e#N>b z^%w6Z#Hp#j2T+%RHb8s6#1m}uFxvrnvBA&xstX~%Fdl{T*TSFo*oJG#G@%Ppg#UMr z9g^BK5GAqMdl>X`9F-;0&Fcc{$A;#E-;Weuz}+r~)}q!>_7Scwp9pt}dbAZa3`hu% ze1H;tf!skH!?mj@In=GH4R?kT#?hnD-gSPSb@f`|e=oibDEIez3CtZ6Xh|0*2hd>k!k zeeXg@>Ld0zmhM3BI$RN7MCCcqM*MHa@3UjIbsL`n?Ie$V;nzdN_zLHJD03Tkz6m-E zGzm}nA)bOY)sJ5|>sFpS7;#^Ohc7m71@!dy_&-``V~#@KWLmG`x!?A#g7=v4uEE{^ zmv_1MsyEpCZ?q93Ae#;i-Q>N*I(5*ypJ`2o{8hYBWV&xc`)A|-%R*^=i8N4?aaSMU zJd8bqzX$J;dp%gp-d)~&r2H^s^KtJO^^|E~?^V)y;GXhkk_XN&TMFDS-X#2gQPw=P za(_k~v~=Ln`V?}FT0z+gQj`S$8mN}24`@>foQ6BS1%OJ z)C#pil&L*cd^bbAM7;!S<@ZxB7cJE*)hk6S^=kDRakly^^?Gqmpk4rLT?IZ2d?-2w zJ_>9R=LL2Ic8Jcwl3}HZBkq##P2I#X#d%#!&G~W4JL&TxX0n?hwO` zdyGGdF~@hwUPZ?hrhsD!I zrKyYO&7f(+AImY5Vx^fi8;jK@KEWlnnrEBmh;8P%=Fh|@=7r|PV!zqj>@B`E`bvhk3VBV*bJWqjH*gzxjaD*j{8WQkvRt*l#G!kW)Yd5p;Oa1mVSNVBUcW zFBc2>XTy_4$7*s8j=Km!tOgNBj0A#-IX9R;4WbJ`VH{{pEr#OljfF$4iC>my(-9|U~s0wIYK!%FZhGX-VV88gzms9l7r zo{#d=SbjFjue%7S7orq{EX5E?v8OQ9i&2&~%QB3z?1wKjU5*k>u|$I?QLL-4UW0Ot zqFjH471;-?_nLf= z3pcJqd8;Vz;h;AeHw(=eg|bhf>~94>1{$DK19WPD4h?ur1dQ3nlOkw51#K{>4FW2aSu!LdS&=QkcVpB_OYKcuP2}4WH z$LjK3p(`$Qh7Wd9v=!~ZpNlo&Y;grbUChWHfa_lgy-r|m zx<4!3U-4!zB)>+G>;B7cDO@jxg1(fA%XSf zZpBr`VEs5lOb~ZNzb7JOv5wq5uy7_JV8tZ_6W)!Jv5IXQ1?yug?UZ&{9r|1aD=8`M zmGDb|D(Yl6j^ps^-2WKBr1CNyMC&{+pG z)&ZS*-%uTf+4%|eCiNzfSK$qX8Zt^9g}QNzdJE)Z)G^@4VvRdPy>s8;S-i7)( z0duD7suR_Th(Af41UY5^h*Q)*s(*xJ8rH%y)rYXUL_&R7eHce)V%0laeG+Tl8S1m@ zvqIGe=qNjV1XiDj=y&LMU_Gb1^t(VO=o9b-*}L_-@#UO}`b6;e==aDk=wOYCNZ`f5 zGPzPk;ANo%-U_?}UbfSzz}CQ4kq>+t_!Qq}+Y{J>Rg3Be>kB7XiuDB&!G>5n&j@}S z{8r@Ie%E9BT@UT|RiYm2b}?&pinTh$x|%X}qlGSFoh)KaOR=VT~{vgZUdD!UK7?wHIrueqntjbnAe1NaU?=F{2}FziA_vgc_KQ_DL8+Ecum{ z67(4Mq8Ec1;OJqUhJNdA^tHc4j~PB8=udrtUIvfmC*EZE|(IQ;GSv#R8Uqt*T4 z{kU6{Q9+J5t3JMg6n`L3W$Z%#{tx8eCS58ij_mR-^*QdX@?M7?y$_Gz!d9^G_oBQ% zr*<`wRzLJ~A1s2AIC~$$d$5syTu8(cDZt?y>+s8#&??wOm zI6eKoMbA5(hISfiyqCRloM0gijPSv2c7JW?;Zl z$I%^lmP(ZUUAVgsamHqkb_R|D$tq+5|Elu3rVO!IM+!E=j}zs? zc)P6c>*Zbf))fBtRNV*Tt%aQhbOPhIg-v3B{#JOFhj7m4xL=tcsFB_*=*$uCib9-W z-V-uzVh6e6LJNF#!i1;96U&?s2f%kYzc^^*~&fJR8{$m@S9<7M?Z53)&IG|!( zNx5FCK+mo(`d^o$2X_WmE&R1O3;nfQaAXYnR^8Y`>5Cr92+@zdlK$+KT)|$+0QO1- zqE|9OT*aQqFWD2h8a%X^KZ&>Zn_@2B+v~+Md}A-+8~YW!vG<5K@UA{8-om>&BtFDjIwf}U{R~eiyr1{; z{d|D$=kNG_KFarVrF=gtLcX6BzMmB})G5?SG35JMG3EPNvGIPsTuI6|vr<>SnU$vU z&8(EkH?vZXH}e$b9QjUGI^doBiqb{Cjg_15HhxdJO}>YfJLG#`}Ps`?ZfEX-wX{K1+8+SRbxSKLkNg*STWkfiqYdCxdS19Rim*o zA^ZFh_W7gi^T*idkF(F8V4pupy;Rt9R@rmbsGT8dr$X&?shvsonQiu&gVfO^b<|;R zIl|s@0-E}eu+$lHWjpqnlhj(1T5D5l4Qj1Ptu?8&Cbib3*4orsjanOF?-wg~LU%3d zu1npusk=$)u1VcB&F9hE)Tyru^;KnWQ)O>ctI^xksk=ILS7&ciXKynA4gMCk=wYlg z9WcLxHk<5u2HEp8*z+{l^R%ehCN5r|BSHz8Dal3!v1HJ z{m&TtpK;z%qf!aA8@oy@Tw##s*&tcS%lY}XuXV}iBuRMy5E zYooy$n4s0F&}xmd9u~7677;5lSsRtWD}h&ptc~x$B9*qNM)b&Joy-tJGFdZofzJY; z36pq|$vPQloy^c8P17Px(;`h1XEJG#YP3i-;7p@{07-PwB(`J{TQZ3)nY33mVoN5m zC6m~aNo>gkwzLapNozJmYc@rM$t3FNqe>=GM;}kpXyt0Oay8;fCh;Vb7OzE%*E)&C z>*GmbTD&3RNiHqkAT8b?E#3$%-U#2Bb@%74_Z?MiM zXl>?cZECbOqqH_N#KTPDVJ2NF#yT-Z@jtnt7c9qfHz4nh$nZaNt-|O*wS8BxRsPdg^UA$n)l3uCSa;Y? zpLn-=7gavx{k8H-^y#~L7sH0B>s40XQTY*2h;uNG(iNj!x8UryUPFun+FsCWTQi-S zJZ#8+!4^5z!$;0ZD|rKK4>|7h7Oct5=zsq=&au#Q=NLLIxdj;4_U(uVyx%dur+PDC zAHD^P0^WugM|!!|byoT#VpTGF6Rbo$IokUSey`(Mruj#42R5v%Z!kvuIIP3fcms;U zINpBmW@-D#%^&0S`IFIVdj;`fBf{RH2ZXN~c=G*nx~`5Wy0@!k}Sxj#_TRn1_D^(Nj&|bw12Tnz zz7aX7St?cMBgQ+&zg^^LwZHkEGm`i2E=cZ?`Fx`7hn@!cx&^ww@kHk#?Lw`>Z0+MV zwB&F4B8&hpmmDuX>TgtPLPqjBc2W!i!_n;pr>l1Ij z7te`~eIJqfVV^G4KYC$QrzJh5{H?mwy~hfY87IsCla*IhS||UPqwKXe)WIFcAux>a z!*5w{h|GC!aP72?->Z6(YB_4+U*#Uqt6R|;0}n@AG>4KCq;<0A_tUF-3sm7>zVzRw zs%RtLK@eg+f+98`sNw?zO?-%;i_Z`O;!ANDHr)|XiEof$xEHG%g_IChfUp%CUwd;E zSJYKvN*XIkWR)z&_3}y{V}Es(x>(z+SUDBrdi9n1_~!I!N+XQuA>gZ82>4ELnNlX2 zX$!SQqPezM`==<^UeK0_mfA|~HPKpoOM6GO)&8Ze7ag_twf99QZM*h~=&XIJ?G)#0 zyS2|nH*KG`Ph6-S(7qNuwC}XHJk1k5bxqgB#rk>rdEyeihu%Z<4r~r= z7MBJ-4}32A1ilV@Eq-ClHRg)G##-ZDahdU{u~S@b95s%LE3D>LFEPOCZCx+MTQ^u^ z#lzME)?D$FHP2ckUbYrnFN#&xOV&$R^W|mh74fe18oq(O-db&~7VlZ>upX1l%U_-( zXEo-mj-1_({QU|cC=MVP;%fv`97G6-ZxAeT2q7fCMHx6KgCpRNBG@R6O03y|V#Dgu ziULbp(G_?yC;=sab(w-n5E28W<*>9|mR5+R<)F0i-FhXi;7c$HykbR6Nhv9OWiE|U zjIb0FEX6cSF^y7`U-v#0Wtn1G#!!~0;jBg|(KJgm%@WP9M3X4dg(9Rqr#&YeZ4pX0 zfYMzo4DFvNV+&=x6!b;yMG@4Np}Yeq?^nUUhEflq)ZYTXT3ZeNZS8IFYqT}s-+?v+ zsSN>YLkQZiU8J>7pc7H(#HS*z?Sy6|pc$Wm?$P#$nD#leBuOnvQcGggk{GolMlFd^ zOQO^gms*mcmT1(H2(`qdmV~G!A!_9NZrwGA9eU+M2MolV*?tBYeM8Z0H>W74fR~z4Ld`f$DN#xw zude`OQyM4@;04eST4E`uqsCjx8Oj-G6=c1SDovH9kTh4CUkTw5-}+RNI@;8$oXL?i7L?G>~@E47u7yb3LBroExPDbAoS7E}M4X=}B$BCD;_ z*5Tauv<-;=zP3@+(LU5Z6vf)d+79Tn)WTDtg}cFj1}!Xs7VZWAh4uw>RJK(m+Lu^` zyq@-z_LV4wMjn9VYwe(@uYIGTwrhv9Z$(4xuyz={Y|nDq5wvHPR;g7Yj%?K|9SyUH z>#DB8J3zK@mLAZ9qEt6@0}@NOL{7JL8}g2NN8#w*^b4@^`_J^Bf$y$&2Y;b{p{Pq; zxAY3V0x^5)Jwbcvmmq~pb$o4-J_x7K2jLX@Ah`5Fh|veZr4K@kHKZu8H?S99osz9- zdEj8+Al3o;Ch(021`Y+#av80RRw8X&X$%Ct!MFk6|H+v6GLm_wc_!#3<|X2E^A;1| zr!l9RQ}IQmKbwEXxcvh2SqQM319Uu}fF@iIoRm%@9pE3DqTAbT0sV10~)y$lcGSt4BBHx~a38~U7gVT~wk z824U_{?Jm`%?lyx2+3H;mg4?Pd3?0@2xRYJ6#NjZvaPuLt={SK$p4G2s@LZ|QGN9j z^z&!JQhf})yJs*qc)oWn!aLY&>YWbxR_|%>w;?=@G0t16)A{M#$wqand?u<=g7y3j z*0(=y!+7^~)gpMKPORFil2`SKtL)#Z<3H`cdi=g-d{|7sthtXeeGXP?!4AXTCjTh> zd9TDOg>t0$6W9y`y@67WQQJ4YEAfv$yf+V;ApfUBwi=rLEii;vFmhb5t^9OOM!h8` zI)b`!S8X}0n=*a?UQdPmn}$r17h!lb@{0`N#aX*#wR37Aibfv-xRj|T3|+xSEW?t+wV24lKjv7 zdr#pmfYQhfK041zl*RX-rsP4=S)@-(ilaNw0Ipiqb2`ertap9FBrsOZt0X3KZme@0tRCJw}$W z5%KsnW#`FJd~WH&KmHiMY>)OqCD&_aoQD zGBLX4Z)N-o)r#Gw)?Uqc0^Z5hxf(w~yc#07(!Td?{O=0fx{C+$zLH>H)3 z&^E#jNWl)+3~N;O?z6|n$c~C4tepKEyg^i0Ptp%ssbSZsv}-ilH9GAYjdqRBs|I-0 z0IwS4$g#nZW0NDtA$mYtybqiA5$1h3ybp)>;qpEL9IG=pR%ddoE=12zi+5&YW@mTc zJvwj&>AUW7+`a)v>>F^bKEqM^2CyQFF@HhMVZfU8n8Q#;ul2JzCSSra`F0$W2fBmM zmSgfUj>%gblMi!D-r|^i7mmrR^kdQKm)?zDE8RFgZ_y*Y8%OEG^jGP|v3iqZ^<6kt z-2>QJ}pQn%_*w~DA+MbxdP)U5{8tupGCMcwK|@A@<8q0oTd^=HyUp#i-T z8qm95&Kc^5c|~%bNn83RG@w^PTY4pw(I25P{SnIOiO`mw2o^mN!t|@}M(?0*^h)SV zuY~qByn|GF)Q9Pn(4JliCcP5E^h!93UJ32#mC%J=37viKAl8cWw8yl^L=z$cY3)hv zDWMP-ND~)G6BkGm7idFVpgwVda^eE@i3>!C3!F<_pgwVdMyzQqi3@1N1sV|%C?_It zE)fA)1L5^RM4*C*z&S(&Du@V_5)r5%A`mAcP|CX6kcdEQA_ApE1X>Xhs30PcARUJ)|5wod zkJJ8-)3ZY-3UC2YfD4EMoKF;>D^Y;+i2`(`-$xgEd~~75M+4$#J?Qaa(bpqPFRV_) z3+fRsh!ZI&CsL3mQqVE*ZQxtcgq~X6=nvAF{va0pL3|t`O0SR*(S#^{LqeRb;L^@#c6? zIghBZImP@vc!_sJ=mXN0J|J!B0}>+wV$c&LMjXVTKS+#dh(WIqivMnAM}^h4`LPZJ+!NfT#@)9b_{+L9*P5~l}>Ma-pwUTWQl zyj0Lvts8ySy3s$yq<@M@|CG-3QtL!7wNCU>>qL*0)9A5s22q>V^jqmbzm>Cy;IyFk z%2~v5TF{53J<*&1vD+ZA+n*D={W-DQ9>i{YSmUhQf$U1er#lg!6cOAu_;SYcq6rb7 z91)*JM0qNR@|;7IryfzB3Zgs}M0r{f<*6XbQ%tY9ZhSWv@!i~j@8&YTn=QVZI}!cq zX#d^*yExB&)?NrIF`#l{KzU+7aeCR{`--8R68*7O+j}sVuq%2*Bk$Tae;s1RQMc>L%zV)ueC*S7qr1JO1Y`lk^lIPKVmIsx8R!a zov+@itar%a5%hmK+E|_JPvY?058;|09gCbe#*y(JtiAs~zbDaw|G#YX3&JWIK#Sx& zuP>qPa*x*IfBqSK41n`C_5hPxNMERX{ObUPT#s_Z8kC^-a21T*g*o%@!2{+FU^QR< zC-12CIDcUlQ~{O49qg#O7FGZtHd9lzf^VfKl2YX=tEo+SC?K+Sm9thxXD#% zUsX(UxhkW#sByI(Z>CeDNhB0SP3j{N#Xn={`=@UFfRC4 zZSbc4aN2AWu>uOv$UV@a%{b#Jq*)0Za2n2^_rqsb9|f}i5%lo0Y6&^n)}h@&das?_ z7v;Efh}GeoFYuFXL@`&f`Lr6PI6nUWi+$wP7kFaneKdp>_-yh-XP2Ug)`-mkxA1UB_ z1=VR*b0-_ssE+YJ!vUK|nE+LiGxp@HzE8RS#^L|;)qG!{A4`=!omg=PK9yg>%V@X6 z3&CwbA3(uOp36i(&fkAsyeU?}y0c)_b<{iQo$>v+^D)AEq5gB&a~Hvy8v)DhE?8`L z!&18^ur#nb@HQ;2Zv%%h9*eP9<7(JSHyU>ucNr6miN*}$VdD|wPsXFhe;YH6KO3`* zImXk*0^?a@q4Aut$avmZZ2Z$$V!U81HC{B987~>jjhBrT#w*53<85P&@s9CGHG3zm6$)>HqI4o44vQE^ux;9$Hu4Q~ zF8pz9+L?~bL*XJ9CqO>Ym^fiu zK&34jLk^XLR$`{QfxI~nqs`LNh;gJ>;YhCztgb$>x>JeOHGs!Q5U891|Bw2>?;P-Q zrcHg$v?(TfcM50P6cfX%&zUw7$16r0xiSfSH^9{;s#lMwUY@94j;LN8qIyL{^-759 zm9jj1ud%j7)XpWM)|!Y~dm?J>h^TcWqSk?k+BrnjIuKDikBC~7-YIe7YBAz!8RBXd zy;II2x|XGPicO3yLyRp+jLjs*rVwLG5o0rnvAM+9Ok!*yVr(WcwjjMz&L+|pBGP6O zX-gAnGl{gBMA{NW+CoIyOd@S(5^3u~q%A{ortKZMAYgN zQOgrWJDn(6eWGZmbGA=0v9$V}?NiLzKE=e<>JwKxow!;FakWz7YV|qirsA3{v^@)VF=M1P~&V4H8tfyikVJRYEA$rdEcvyybSO?-^or#CF;rys#VqmAT zC5jLOJC*HGgc#VV#K0PGmXyD4M}4+X8MaVuh=kSWjHzPIm@4LssbbEUD&~x-V&Y`= zIb*7rGp33;W2%@lriwXZs+cI+DMZmu;f$$bL$1?Q%yoE*Ib*7r=vsZYXl;nDWr(iT zC%V>#=vo`1Yi)?GWr(iT=d7w?&Z;Wrtg5=4RaKX$TRoy~NuqA`h`QAy>Xs+!mLuv` zhp3xF)UAl9TM1FOhD6;O5_Kyf>ejH}Wh7VfDJAMwO1v#hq%BO0ElhMRM0BkK5w#Fe zv=C9W5RtPGv9SV z5iFgkl|j79AX3$qNY%MSs#+7NYE7i7J&~&RM5;OxsXB*9)pZ+NXH7U;tQf0C&63sDygIZ9Yhqy(AJz(b%IKqhh*jQp zqWAM2_TPjJxzhVPdPWEE{|)*`+t90)t2umlazFVW>u;U-xLj%QWSiH`KY}~Lw@c8g ze+&Jy4`3VNYa;O7*nYC}j+f&py(@K?0(*CmwK zfoy^|kpBa5?cc!`_yyLExehB(F7_@0T_cax-0+OA7OZ>BwUS4weQLn}9lx11ETWiy zuD?=WfnQVb6Z;%_ycnJ@f9C26V{qp0kYlg=W5Ryi?^8J|=VaS4-;YbY6mWn~vYT-i^>NX~F;f#P(9v*(dt1o>6h4qu-ZR z&)t9pRKRLwEUut=(m5zq>HKgR__1JVp3v&6N~7j~ZL729k)OgB^z10-3(;fXr<_$C zr)pi=YDpDWJ6C@kwW@(NeOq%@656%*Yv7ty$)Di=r{~%6C)f6PBwohduiyS{aNLHUUf6r+ckMz?tF!Dwp$BzCXjtgR(D2Yrp%J0qghrwtbu0Q$TV%fpy{0ci`(=*^ zy_|Q^H+ddCkR|Y#Rz+*trD58lVOog}Z9<2(pF^w9!81J$|NbX2e;`a7$)6{n(H08Q zA3&#tqti->&?fOc@*P?o4(*Kyp1K>bie7pz&`aP|@360LvVR|9|2~X-I7=wVi&jEK zezXDK)@%!2`owGO(dx*b@mNJ?7W=9G2(QH+ zs?9#A%|2+DeNcye&@lU;4*Q@k`=BoSpb_>#qwIr5*}n|4|L3r`Cq2<$0NS96mx%|o zq=!vC;sFha2b@Jbpf2%%Q<(2X!~;r+2jp1>rNjeHB_0qX9*`s+kR=|_f_Q*KJU}NB zkRcM#f=ED^NI-%}K!8YqLL?wTBp^s6Ai*;B=cy!!1T-fSP{vaC=cy!!1T-ZQkRTF} zpf+eV=BXrz1f+-rm_!0v5eaBbB%l?MfYw9;(nJF4)90oM@qqgDxoJY5n-comln@~} zn|66i+U2FR%Zq52ms00SX_uGME|1YJ57RDhLAyLmU3967Htq5-E%MW8k^8oIIc@P4 z)Kr_ccthIaS=!r!0#o2%s=UKEk&!WXymlkJTwg^SEIP2fqs5t|#o3Y;r$bvaLt9g)t(l;$ z8KAAH(AG@Q)=bdWY)V@*!L~-@Y?w0oNtCeNIg>VJIc>@ov?|h2YoeDOw1eUjJ7kAMZyTGq)OKxG^sy6mLj1zc*cs8+Ze}+Vm)R}s z7NVcs(rzg(x6iT95&i9Ub~|x}-NEi42H0KguHs7jLi<87(7waILtJG~uqTK?_PzGK z;+OVI_DkYwdxgD1Tw}j#zls&TRPj8}-X?fo%e8+S!;7*FuvocPSaZ=4p$zMTb%uv! z4}@}}=4awP{Y$Jbb}d31tOhn1K9>?lZ^zYr+hZl)Td~I2ZxPPJ7uu&_jj>n78hpoY zEkcF(7s5s2J%pa(eX&toEH)urB0dsZL~pShp^w<7M8q%H%HGU&^cJ>`qm>(#8^x{4 zOUg@P4A9R{#czRo-Yjmz3SgtfLi+eEQg6emxzEF+?;f#Oy;r?gEK#SZQ^X7E{p$T< zDObmRQGHZ>RJ^4AUH!XQuFhAV5ihHY)qjdt)ECv4#jEP;>g!^ax>{W=-cr}8{}QX! z_tf{r8g;9>O}wk_RCkGgsh_EziTBjK>Rz!y{Zc(3-d7K*2gQf#A=ML`HC0o^4lSSs z#HX66nPMl3*cH39q?Q$*Yjw1GV!u|Zm5Q&mhFU{$P`gaKOnjqVu3at;Y1e4iif^?W zv>U{C+RfU{;)wQJ?YH76kk;9vQv0j+SA{bV6+@e+%~MS68SNP*gt@REE0%2Yl-7D! z4=d;BF+Hxd(NlU#X{TrOta7eiq!%e2^i%W_rK8?LKU?XdpR2c5E=0T7UHLiMzn)58 zy|><5xk8R0M?G5TuHsr%*1Y3f0&oc6MM2tH}+ zHDPWr-`Aq%2j*5S4zIIMw4Axq{9G%NK4#jfSOcv@YlPOTq1INec&4?-if1jf4p`-^ zwRXN-Ust;j-eu=&z2RMUq1Gq#^H7C$nOwzByBz(%E3~Ua14E;=Yoz~}HV&R+(IW#>qUHg6Lq0mFxROw5m{UP*P=q>G` z&^w{E+JD2NY`ykp_>z67%?^DO`bhhm^d-}tl)hxz9P}-BY4bv#g$`=}urgKy?FF=y z?X*=^d#jhW5pCoE?F(z5b-i|2wvoDlHgcMtv8G$I^d{D9>m~ghw12PYzd+0PhTc!M zdHNM-^VaDDr9YT{H88br^lRY#bwt0(?qYY*Z?-S9FVjca{q6qxE%qRLkUrYJ#=b_s z)gEjQ*2mb_+1Kg6wQsa<)W_N*>=F8H_V4T|`Z)VO`vHACe7payPXrRTSf3<&Yx?hi zyS=IZ-hRt|OaCL*3KR-f$Wfj=?tgY+|EK&vint4F#9sn_d0}6sU6qF9|4)9$-`oF5 z8uFZZ$6debo@?GOJTa8j$Hl9<-bTo4{IZKU1%5639m44@_< zW*khBXDO3Orv|>zr@1AOdZETnxzjUL7HSol>I`y*hT6GrL`Q@=ITM_5&V9~gQ~9_PYbZMR#=RbT@^DM|Qj8 zL!;a^*1XWz(4E%8h;XO4k2A~(O^Uki)u@rv-2>Ed>^ z`dfpn!PZc>4(_in_D8rYq9fcX)@aoI3C<2{vUQ)eJhIt(FtW^g6n8P(deWMQ;|tw6 z_K?UjcVu{_wFGyy+*%&(j{D1_ZCGusi|mf}v^H8>oc593)(&frwck2q>sF;ziAmj- z9d+k~=SGIxX@oj+}pS2rmvVbEkw?I$Of4BBk!*;kD5b;SJEH-r>#R?M@$e zQ+RiHpJPS@wC0GTI{h8fah+sDL18aQmJx z^g5xmX50a&<(n9;c83(gu!3Y0+U$|h+0h9n50T+j$J{YK=gx7*M}oBi98P3#C$hDl zR%q{M7XJO#|9CpX#qp}NqZ8aYQDn3`Us7_5+@bPh#%@jO7WH}L)+Ny1fdgJ%zrOj z5IH_nME;%7JM!b9U!-4T;7giE+Lr zPpUHC#0W~hBK-^Lf0k6A%cB`e29Zyb-%LJEzAfn) zq-#lMNvip|^k0JKwCx0b*U*D(+3iD9ChVr*ayO36pvZS;DC(<6Iw@Ip9C#l+u)UR>V$un2g9OJMCDbyeJ8A_->`o9?S7o>NQ z-bZ>r>0U`SzoZUP!m?9Gk-uG1rINg#lj|vIM9ODZp61c>NLP_kqMRdn?IqIrr2inb zCDrGVXU=QXF0G-IsD9~RPTqg&UrAnhkP^03YAN~tq?eKYjqMN?tW6sVk}Ynw0qlR7<9x zAf@K00m*CUlQNf7whSs$Q_p71-;h$Tl&0kUw&+aBtJG~ZDtWDh5{q%(B>yZa&(io5 z8Z}2_E1@;#(SD5oI{AyqXUY5b!#G+@O0*p1DN;V2?(4jN|0?B+Nbe+_Eve>f(Ib@b zDvB>}AtlOk%Da)CLdu$@e!`=lQsV2wNXcs~YmFtPUBja{l1`OW93mel?L^v|)W4Rm z;WtQ$@;AyaB0ZOqC8VP$36p<_^nOY%A^n4-T7di}^3;DdO-Xx6b-%S?i3F&cJ<}bA#sw+Xp)by9B!iy9F-@{w&x%cvgBchnYY3$a#hrM3oseV+Q?V!b*?yIna;yHlH}+Sbas}q14w^#25UVN!~zr={urzA$K&I!~B z)K{Ml{4DS@_1VBb0t?iI5*=0-OLSQMC(z+f)fa&a?^WLbE__&B6Yzqrx;~f)Cei?7&uD)7gxcWPx#-YagT8ZT9 z?*hr~roRvL_D}j=iMIwihhDY*6}ZrP&)O912gLJeaG=CGgCiu$8T^ezIfEl5rWw3h zVw%BGHbU?gAe#>aN85k1pA6n*KW+a#csG#E7lM<3X}%SlDp%9S=!L-Ch#&v;F2pJP z7bUSju+~q3*TiBVZdpkyhe@hT_MQ(;PYrdN#TKN-r8XwFJ1tZ5QcE%i(>=2HrPd|J z;QzJMj?|v$rreBFWjdWMNp;U{a@sf@(>>BXoUW<;=>f?n(!-n{PA{i#YH)gHdQN(2 z`i=A^XFx{e=Vs!`&6&oTdXdS_)tRzPr(8*LnKLAvc7{14(~I23&X{~zc2K@7Gdy!= zY;)#LXMAEsVnu9iW_o6BzAQH_v(}mDOv&ua>`Tsy&dBB?gCdiYlcH9(i!;rc;mnLo zjx5Oz&W_7Y$ljM5;yj+}pNppYr~2dG=Hxcz+C*ljONv})ey*dl$XOcg>a57k$ON4? zoHfq++?Y&RdcL#C*%lj~8JK8PRGz*%Gc`BU*_nIX*_-c|Tf}EPkXw=Jk}h!$r}ns_ zs7r2BGVG2@4Z`3;*p0{MxmmZKTbkROTa+D?+UPdU_jb$NR*^$)yS&I;pSj-c8^D*q!*QRlI=2ckwep zMp%~_n;DxjBOBwzxgn7)axdC3vLmu5w=FjyeIPqHvOjVtQW@2wRx}z-N9#mOqK%@> zqAjzNqiv!cqg|s1qCKL$qJ5(SQnRC1XI4drB!kgmnO4z}(UJL9`AN|+$==cN(ZhI# zDbZ<2eMW9+wm2iAGoz2^7DeYo=jS^`7e$vAshMCD`kHd1d-G$XZ=?q#)<@Sw*XOg* zP0?-X0hzMs&gfoT?Ql$FlgWeGL)k;IV19G#iC8#4Fcwdi<~OJM$I4>alp3oSI~Xg? zm&F=qm&eMo>oU{xi(@Nu(O9ckJA_WL1?e8K#VIp(L9R|#ja9^Y$NI$v=4Paa#IB89 z9~+)q6dM&Ai*xVHF3(JlJ%KYP#b(8(#-_&}!T%HaS+TjX1=;0@u{gF2X%xp+##Y7F z#`eWFWXp5u*yh;w*lz3{%vQ#Zq2mxw~u#;chAp__l)<6_m2;X4~`FwkBE6Tj{$zY!ZhcXg_`>*-_>$br`11H`@zwEl`Bk}1@s05<@g4C! zsR{A@@k8;-gr2Yx(cFMUI#DN4l4z7@1}$!xXp_rSdrV5cq6eUu|BaW(>Sp$Hzct$ zy)>~maUgLRA3_c$!zrnO@k}t8P1egaPL>vRNj6TFC0jw-DU(fJfVQ9_^;%K)Wbb6Z zs0$x7pC7mYi9eWdZzlM`WLlNPdh%OhNh>b2Bl}zkXQ579L_^~ z{=Ksck{LL^R!9v+x-(KE5Jux&GA=bCH92)3!h?mdF|{YPG4*I_Ho}uK6!k3XkGIXd z%=X$LwIsC=?;t7NT_VN=NZl z^|v~OdzzUpA;-H(H%d1vYEnDoHl$E3%nhars2=F^gwVaoTy#1lw-*)(X(%wyqk^c4KC6g>t%EW-c% z8heZI_VR-~z9PMb;SJFB2nW6wHl+_!wvE*1Wvps$XL|3kvks$&uqh)l^)kB=_Q^WN z5YL1&@l3WL-<`qxu&7T_>)IhxCigRws-&4#axc><)6SPm-anSPAXAYYS~FyN=jLYz zA@t7<%Jj?jNB?J_>;WNMi~kda>nXi6GYW6JJN>KT3X^i^v7oOsEAt3`47p~RCo*$0 z3lJ7(mhmdQ4zJcf+ds21v#O|l?T}ep)IPH|v!Pll`ON0({gZR3bNdSUcQA7V?};Q@ zAC=V1y4)|$%Fr;IC-wOz+45}bZ2N4NY;z{%OkxoO!43*o+FT$M!rKUxU0v$L~LX6I!W;+?o8yF7m|`&xE&c3pN|t|YrL zyCu6LyC*jUZ|wc}Rp#`Zm5b)mxjMO$T%%mGT+3XWA~)AD*EQE8*XsnKZ|?XoAb0X` zb?(GrNbdMBGB+$Y^4|&*a}#r8a^pdNI82fKtlW&B6lUfg&&@eWn4ddwSd?3uTY>P# zv6go|>fg3P*ohwWf!yJ|$OrRbgbn$4KAW$1ER@QgGx}!j@}2S*|fHIi39^{JF7 zUsB$Papp@JJeRZ`o z%yWlIUK6BclB!pc_fz|faVAl6iR85~CCn@3G4e?sWopU_$t%mHTzP@=B1&dRDi%}z z5$QjqME#lM#W$36kW?GOv#z7$VbU`wpU8CHlDwLy{Bg>4rgJH2Ige7Jc$CmySARwM z0H*L2`AbRfkyK;;C`>`2T$#(556Yv;U&*hPRI5+giIOi!r!x-AS6#t0OC%Mq%cCkW z1BE3nzL0Y5Y|5|Xxi>O?lJplm`jnJw-%4KZ$(VkgPhgyfDe29aXOTZmQsprD-;kdp zsh~vhQ;SK7mL|PIQq@oSV)8ty4kSNZQsqzNsR?2~`D;mC9;K!!d&yr-@9mJ3Yj^VK5lYgMs(VSPy(;BuF(r3Os&ysrr#xMrtIm-UojR;B1oW&+17!oV1uRTk_~WNwprNt4I%1&J>heC9mwFWVKIu#m-FO zM)FKw8%F+3($zY71mH?2IXx@&tM9_WoqwJa+DI2l5a?Fk#c<; zX`GTpj9EdRI;QTHyv8(@d6fIPp-{e(l68{m)F15^N{L=1dA*27*~+OC$=}U56G`tP zy_xh1pUODOmy%bGknZPMXHxzhCErP2OOfA3$~U-LkNn4sf41b+hspcp)rJzDr8cAd zJV}*ndDeJJt|g_;s0NRoEvYytHNhIdG9QJy3J9OYk= zHl>7Zl(LkPnUtFtM2fJYx8_3wvmzTzKkA?3Fvl2l{9iKCKN*lMY)7ixlW9+asmf8)`|NZU}t7EgJYlG7M7 zD5>yUiAyM{!=tQ&>K`Pp`F-q7yw6`O! zHC&mAFW;+SYa;pBxbt0>NQeKnC zOaUQ(m?2P0z6Ja8C)1MgC4aK>s^V0|lX0u!V@3eJ3n(xf79YUC>;N4<3%@9SY5eLO z_bb7^{59fF@t)TQV*IkBq?Hp%?*+p*<=?WRABVHAI8;NVZRe4z7(s8^O!t35M$|z_mw=?yGT+okMwCurjy=9 z`Z8&2(z8g9ND5uRmnqeQ`bzM>#9Y49gJ%Sr2Ac<41kVhf6+An5POvTJ_H~4o^a%bu zSP{G^*fV%>uvhSsVDI3i!9KxX1p8vX-yZ1CSHT0puY(7J-vo~Yj|MA)o+0pgMAgtR zH7f|6GL4X788&7CMvSPO1qj_LHcmB4jQU2Y(ZFbEoMtpKPB$9csvWQm+k`K^V@K?` zorEWT1G}l++%B`vw9kSMLTkIN-QGUm?hb$ZyX=YfB>O4&)GxJ{K~q;ktNZ<1o(WgO zGePRq6fm8@Ics&d34PR9tbVrd(cWf z8?)xl!%V#Q)d$p>N;CB@>R*-CSXKW?rL8(g-J!HocWMolo3-<_&dNgVe673kympax zk@BK;vDQafruEhOD=W1D+5qKEZJ;(#S*2a44OQOKhH1l;ceLT!aAmFb8|^pByV@vi zl(J46t&LIs1%HMG$_DAlpzNa$LwEWx^ra8OP<^kySG_^6)GO6t^k=w{{tUwdodaFe z(ePwgrjCIp!z=1-@MPEu?=Q@AQ}3of!#(t8_&xm@?x!ciU+BZ|q@2~JJ|$R-tjVu6O3A+|1XmYm-e_&|C)1U5-;hrmAR&k*=h&d~}Sk)8~JN;x|V zlc6y?D`;W{r%)dMk>8XbIsRkk|EG^n`;q&Zf#Wkz5@!zNHGlK5U-erAerb*08{kj& zL%is4|931-;an-FOzz9`k4uxsS3oX*wbL)m#wyIf8W#8o^R3u&y(XzLRUa4(CHtj& zg_9U>9S_L1IK3C+tTV$6Q$sVm!%Z;4Iv>6qYr^H>)~RG-XW~G(eKP2*2zN=wF^W1j zz9l^++&$SYRxjK$+|!AM`*8GhEJjQpNiK-4kYi=ZwW-PB{+a9LC}?<4cyMZ5{86`e ze0F$fctpA+c?5nKl^6wWl4_EvNHqzMPL)T;hsR|e!Pw{M*pbwT=%RSf)P2dtnYkE) zoR?Z2o)DfKzAv>g{9yRe@N79Am$ux4>5_EIh#7t|JTJU3{ve(}`oHuFFVE~w_YJ>> zQT%%8XsR;2I=n8ThBv08$!vOBcuRCx+6wQ07sR6Qp78$Y#Pr1UqVS>g(r{&ZO?*o% z>*$V!G3S~@M`rqePL zciO~yI~`;FF!Iz2|jC97t#>S2~Iq1xH7R9$@+Br*;otzcEr%dLF_zq`NdPrusvkhbHBa>sDoz7n8fO8nW09#y< z9P0*CeKNaKuJnnCrjzyP6*Cv()&t#A+;v%GPimdpSbD~|?P3euPO1ITXv9sfaxaLO zZbfXLyIXq4xC60wZDy`}JyP244oCTxN6h4Q=?{|{;ZA~Qj11FJ9%|ZxPsoBuljN%S zWI48)NK4b`yZ0;bnMNJ2m$EMXOKR8WUOL`9Yu7zYtq184}C1O_k&BBC;Yh!}Qc-(-_rc6^8q zgR$nmf89`a{K7%hoDFl)|(&4TqvUy_gh17NT0@udY^#9i?82@df;9UQ|97Oe3TizUop z0f)su&gQTLC)g~OA2=+`V3|t%6)+?Iop{LKs=OOqk`jzRv!u}YFtG7TxR=84yG07% z$Jh)RnA%Dk({Q_Cx2V1b1(J$MTtyP5~@Vip#7Six@LXPjc2xIm|Zy@R>nO2n98L3uYZ zsNzD0$NEe5;rBIxWksy33B<5MpE8+oNtkoB8QdyjSApY894j`j28k&}9H|f490}(% zA{AmTMcicDc_$b8IdFnCbC{At5fg%|3Rp|vEhT2zCe$b~D|A!D7qP)ZvJIF>%t5*@ z%r@%JETdQ~1moyZX5b~R*bJp;9EVZb#f&9{B>GAYXSPx-Z|MgHQ?$!wGpz!9>GFnH zPP;E*c3vW!7*FrRd{o>YoxqzX!hkvl7L%)(wUkPXC5(=mz%*uTM&n1wy(4%=*sbzAeGADN8{$0*QLN#C z?{CU&drqM#hgakD_cK1ixSOvYTt*bLb-|E zsf^z+enIHaoRc*D6ylub@Meq+_-a2!$#HJxoZC7;uaWyw`i{0%oI1{TJ;OMF?>)ut zt&HCgmZ1AMhp)cH$ogBh2BhNpDna)#opLBY;XK3E7`Zf88qakx%Z zGCj-Im{hk@xHv`VV2Qb!>V+t&kMCN;IEGMJ?A}55if;)WH7Ue#4TpctX>x0kyD20_ z+j0fRVcDwt`L3#j>RJx}g7JSCc}`MJX7_wfa{)ig);g-p;kIs>o7|2KbX5&ycP_j6 zS+>^Zg%2s**4-3?InK?5lG}siIZwHbv4}$c_cc@HXPm3foX@sg-jOV+NF&FQ(aD&M<~ z-JAL9c-kMx!DU3BK=HTH)e9_1*^FbhVjM(R>n9P@L+Xq{U55r-6Ud|UpheAl}i zpZgza|Kj#?%=(0aOC-3JVuv)!LlR>X#tg#$LmIj)6SarR1-&|wDr znrMArVfUGr(E3%0e3zf|P@nV6TBMF16du+9zMb9aget&pt`WuUU){pt7wHG96bhHz zv&jMMeumM0r@zkb^)~X;=dwGjNzCrvjQM=EfZcNl)peZDM(nP~$o+|}ZLI9ybvX)m zRI!ocn;et1kd?vinvB;FO4du3e`EJa4qwZ6T}DTlV@7K#a}S`}(Y@kJPR-9)o>OC~ zDqDK>D8x~Qu155j*J7uH=Bgh+%vHL zeGBxRTVbcqj-o4coBKhVd1yGE5+^7L$C~70#d+~! zP17TSB3Y!1y4ZvCHgN~mf!jlSx;u2F9}$DZFp(fsW}AD`#4TBwccNJL;AO@u;qjRu^GbPVRud zj*g{4M9gz^DGm0cG_y;Ec|CF+IsGoe{**#qX)vGa<>@FK6y>(VhlfM@o;(W%P$=^bWB9d(%^ND>4;exY~+}Sn3u-^-SSbQQeppm$IAQxm&XE<{JPR0`WA&A z0&ElX7K$;Ak$Ro7_}x2&3%!pUJ%k6p;4%m+hhHY0;-dJZIl8YB-vQPN+@z;3(L)fX zFeU;Oe3jW2Y}-DGUpHO57QGtT)zAaced&xo#tMw((F2P+Pz7qFnyBWfHEJhz6#iJ9c4+Jc zTovV_r@8Tu{#bX8^Y@PP_lWg78?zs0`=RGaL!VY3sknr2&I{WoZ5umNbGU0%*xnbF z4&ob0asKFh(Dmi9*WL6sh~yjB-C1$|C9!@}#rZqM`8UM+J)tN+UJz&RonJMpNZ-(Fw3@sM`G_zjBYP@Hz$sYx=#MdvHps;MEOyUio@glhvWSJ zi1VL`^Ph_I+odUPzZI#y+3iA!H}H<{A-@v6oE6QQE}!SWT{T>_Tp6yquKKQqu12oL zuHU(Cay4=N-gU%v6l|$8U`?F{d+O9hyeX&aGuOXdpBo|YrpkdcMJ%c^hS%^Jej{K6 zjs5NsW^FUwY-kDWr0&8F>K1lR_Zu2}rYF0;!=C94uy5&&*dzT`>{)uZ)dstkcChZp zzNKBUb7?Q^UE0^`Z{=g>(jnGRYdH2yABDZrcVLh7*HNCX7=v^d+0G#-O8Cb3QIz!?{Rz}XhJ<4lXY z(Yv;mZDd>7PG-t`WtMD@-nNU(mj!Zw94P-R2g$*5h_V@n;C2TG#f#-Eze=k=$eNMmAbb6g0r{yf;EUVAz3r^vbPK9mTwbSKv zV{YbKeNKPpEa$w&nc#Ff4eatv@0z~y2AtE;f^*bM_LdLHhtd1z%Dm|E$`@pjTq#$} zHFCZ7>j0Lz2Izsh2;*1!jkJdCgP|Q|B;I~@npDOgPcbe%+zSRX(u$-;DbwFCktU_m z3Q|h|{xT`rX;G@bR30VzQHgH{+ZK?66b{tQN=W)jWMJ14_2;eeZ>M`@wX_m>BPj+T z(YE*oy7E*prqO4e_IO94ZQALFU}wT~x@u1-j~;|}waUVm(A6qM62^TU!luhrdrC6i zxAzqrdjDQ&O_y9Jsd#gCj50m0+LO{Sn(P!~vai~+s$fjsInMOHYEP?*@l}_L%tKe< zc?z=%DbApNUB9Mx>HYeEenaomf7QG7-}D~6LoSdDAe{JFGr42@EiZRJv#MZ)bG%j3AIOhGb=n3Ck*Hv`T)LxuB>0Pd&{;+r9(LVD@l(= z56E9}Poyx*lMF`nas9cRC+F)g^f&sX{!*XPU+I6zNpiBBBB#n}_)eNBXUW-ej-0Dc z>#y}0IYUB+{|erO_LKSTe))HM{G0t3c=FG0EkFOgqA(A2o$RCM>jiqD?5F3&jEaWD zjfh5KG_*!<(cAQPy;iT+>+}Y_NpIG#=#6@-UZfZ6B^Wh5iP6-f`X#+oFVoBQ3XEM| z)~obt)UgL+9h@$T@lFm#9l0`BXpDLCFlc&876})|I@?5u#ya9!BKC-CG~yA}^%Ol9 zU#AN1r0ROE?5(Hk8G5FEQReDtr5-iT(zEp(JdMX%_IL^@x{xEx?;$V!kc&KtFCu<^ zGCx06&(ljVUSlcgxq5Zv$tcyd7)eFOk5OY-ITqtr8f~qW>*RX5LB1k4%1!vT-y*kS zrI+)Al1(j^6w4_rrRY56K>=haa^}Y9ut@k=N=cl{bk1c>mQpRwYlbbQlE$&|V@uQ* zq#Kb4WXWSpNOxXwYoPk_<=7ja_4Y-^4+*IB`uC(l^(n( z8s>niV9uvH+GS15*w)7UbREo}G~jvOrkD?Y5Z`^-n5E9a+-*O685LlDdmv`GM`6d! zXT)gixH*Q$|E2s2iEiiIvZB6>_)CFW+Ir}t&^H2F6-r>g1=@z+0yW@IF|If6Hd-0? z7;TKUMmr@7|ezhZ<4 zlwOLOmrK=HW~?>V8S9N#jE%-7W3#a(_Boy;Pl_kiQ^`}=Q^j+wr>dtKJkWZtU)eIFgT?p#yDo6JbuXP zdQ5-aWweJp|7dg;Wl;l9il8yom@Pt()H0E3tTDETO2#&07i7E7*oTwf-ZPGfhLBoF z+=3JR8j4%_B+fffLywD=eD3C*kYbW(=Shb2GCk>@x;WKsxwRZKj`paYMg&iDomKpm z@_|$C1fAn1piMPbcxZ=L;iVJ4gby`*y$C=mogsssMo&?jPcqCvZ9XaLux#p~9+!z5 zAe&v{M%31R(Tb(g#yDY|5ceDBjq{?D+v#?S2T*4r(V6Acg-*P#P)3}Ed;;xyYxtNi~^u3x8ZDy-)w{q(Vjm&bE_Y$Q>3}>W56h3`F?mv+!OD|TZdFbNRFXHKVg%aKc><)&4Lh0HAvz^<3y|8|-L~rL?z=y#wP@>Se zA2?La!dLcJU^6I`?xavC+X;r|;v;q;g`Hq9g{S2pJZ ztC$Ob)y+k~baOGVhWQe(rnwZDVJ-vK!7r9tPa*6UnBgpk(Q!lYIB>uy+yU@cs8uxr z_6F|+`9VC56^w|hCtNhwrolmpgf&14-SFK&=fYROOxfGmwE@3(-PtjN#wFHzYo+xv zPQhDkt+Ccx>rBHmO}FVX%bMlPYrry*xa$Ehao)wQ|DUQ+81IyHj{OBwn9@`x=)I=X zOvGI-`8JUHHHALPD*0)+rg#J;cmzcwBp1%mwC|&pNOI}O)A{P(!&eo)q%ilVJICc% MBJ=^|GbTs>0dZJj*Z=?k diff --git a/docs/build/html/_static/fonts/Lato-Regular.ttf b/docs/build/html/_static/fonts/Lato-Regular.ttf deleted file mode 100644 index 0f3d0f837d24834b9b5b0a6b735459c56f5e75c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 656568 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 w-9m zNo?~2E^rvskib|i9)g~SOG#{p{3Gx`Qc2>`BoaF!z-baC2=9b{XFezaKsl6YK#P!I<)Kt3n|<)D(pE(t+eqwl0Hi&O=lW~`iRW@i96)g%rTk~oZK@dDcO z2=X35`cZ_Bp`BmEGk6K^aXgpu6C_@SKFk&3l_-F6y`Yc08VV5iDxTe|cxESjK`}ty z*ZjZ%60alw8=wNu|4o$nRz8W7$aBgcTqf~OAV7KVoG0;*1OVCp4ySWToW4ln-7HW; z;=K$KXHf3P2!9d{c9A%DjKui}fN~TUkgoU?c|U~>pH-2l+(+W`QzX9hCvh>3#MiLv z8@N>ne_KN0JIG&x-9JF*kK0LH&cSDBH;HN&iQiH0KRS@Ol1$>Nn3^P>=w!0Q5H82hM;Rl8v$f{Jz@(2$BECnb(Y-^5ko4dd^fHM4Hzkd=a1c+-sv_BX3rVd1Wzc1k4wMrd3C@xXf!>fP06RmnKt3o1NDK7=NDD=L=r&LRYDl(q zf;3P_vRx@CC)qv@RFdrI4-x_F>3D`@Ckap|%%!qZ7Rk<#2}9Xo$RCzNva2u2aFiX6 zwD4tM7dQq^gDR5U3rOA!JvXD=2nRqp5t(2MH~^3qQBATZ^7T4PviB*HeNk2v@?(!7 z2Sk&^yegxUKsG1>Zg2`*B012PWDN9S?;&HLBjzwbTC6{SJ+aUqhce?Xl8lF3{CSdt z5&-PQyetQyoI#gK4)y~PAem%B3djZpB!?hw2*N`kKO_$ngIxgS3_&?V&>r{}FNgX7 z)Nd%{heH3*Gyok#^T8HS3XXx(;3B9YIm{P?f=G}ETp$Oa++o{*n`9yZKhOb0fh3Rt zazP>34)%c);4HXAa<~NkzzL#3GROqWKoO`SIRfR4C?z@42c&>wB$FHfGD&Ahj*0+z z0QyF!0i=&X`WU2-L0QR>U>C`;ux)HEI8AaK(#I75vjNhlBmv}cIlwZ2^z?9mJX4WpD)LN4 z+%%LqEeD(>nUMhYk(`b^(~&;?6v-LLGXr^M`T*EI^9;$%NU#M|lbjU?+$3is&+I}_ zMRHCQC;*p8W~Bj?GuH_aH}^Ejc@Y5l=cDcCXM-~&vtfI7KDbD7K?*>gg^>Vp3sIk2 z;J;-H$sFX#L7tpbBo{%?qGEt@7Ng9?+et1l0MeJBoLrQdn+xE_UQ;eb`mIR673sGg zCV87bSO#D-)?IR01NausY^l>v@{ zvm{ps0+hWv3M2ufti6L&VoxM^N|u|HAq|I0+3$=d)8Ef zYLa*O00)45cO-x`kPY$yUY^xcWPch-UEEb-wuv}GvE@*O$KlP$Zdk$rhMQA zC%}1<#ggQ`J|GlCfn<;cAb0OJun$y#N>D>`vmbDRIFJD#x48tAgG!S3Ne~L+KpMya zg`fl+Cb1is!5gvf@J`09&6#UGTj_K8bu-cgiOZ1Ef7!Me-@+eF}M>Lf)s4_bKFk3VEL@ z2Bn}JoCP%`pN8DiQ6LR01KYr1a28x9>GlDkAPOXdERYX&fztrCl=%XrmmwYBT4Wj0 z%eH}ipaNVXxi=6*fJBf1mVshW3d+G*aGB&YJ|GlC0o3mq$n47|`K*iNa|EF8xk{4z zb3qY+9s7@gGXUk_8;-SRTjPguS3=RMlUqkX`*zz)Lc{v4Sg95M}K<4FB;3COa z2>Aa$w0#GBT*bBb+_t@FwM|`Gt;(wRX0=tbWl8RGktJ8j1#E0#8!*@y8w?mQrr060 zI3^fE3vp~nfRF?e@&be;5XgIkkc7PO^7!%~kOW@%u(W*tGxzRlS6bO7$;a<^u=d`$ zQ_h?@ZO)tl;Q5bH{>Lc);}Ism*aTS3 zZT%c=y^6M8MY&glfMo#G@#+Bp>Ui}jz^ed!|C$ScGOwXOuiXha0YE*kz0c%d;O}3& z0l?p{%YZZh`u}<#U<9xmfcjoXeQ%(SH}KsXDEmv4{Uyr&5@mmhvcE*xU!tC0e#+#3 zPXGh}DF5%v0Hc5-fX4tY0Nw_C%;f*D0CE6LfPTPpfHwgjG5JjwU?<>Kz(WAMdlT>8 z#Jjgv1Mu!Gyn74p-om@L@a`?Vd)olW0@O44H)!W~DEIs0O#TDf|F8Lgjexy?I{_yE zuK?Z!j4}C-0YH$+|BXKWPcfhqFa+2EI0!&J|MM*14JLm;@II6OECbS*{NdYxkD2_J zYCs=ggvozJdw)YaANK<`1NH;%1w6szPu^ql-*+(iQv%feDeC?db$@0774Q%M<2~~x;3FoFZH9b1nnm zTQ{D&@f>?0iW}{^(XRVV0KW5}eeVeX+Vj4{l;mQjq@Zj%zDqvqnk0rQ!XWdUGJS@#0aX4acb$wrxMl*uj!oB*KiY}B3oDO3CjfB+x}SOypcU`+n! zn398cIh_FDB4-ESAX9Sjciw8Io zz-9pIC_2uRVzgO&FW?ELlpFvY13U$Il__Q2OesgXa+E877Jz!nQBMWxsX%)b)qp;x zR5mdMeodtc^;Dsrs#lm&{SE-*szKjt&_+!VfN|B}`&xWoi~4F&UoC#umouedGgBH- zt_jau(g3KtH3!fH=m+ctV4STd051Yie=F(_qW&Ph3!?rY>JN?r4gih;o&vlIc#kP< z4Dc~i+ARRo+tJ6AF2KwYz;3`1z++6Ag}P^k%pdW+yZtzW} z49S210A*K>GG#T|S&ep9qn*_w0JO6P&(|CP90NQBcopy-Q`Ry-5}+K=4L}=f4+4$@ zo&~(alws6A{3%mL5&&ptT_<1&umgay>ri(6oq!X77n!o*4Z!^9xbWg{bGkAX7G>{Y_|p)2)Dq0M7y51boDl%?3agpdK(Euo18qfVMWD0KCYQ zi_nLQ(1(lAhb^dME4~{=TNjToWm}Lb+wt!X^z{N0`UETR{;3t29&#@7|;jU3^)jQ4Dbrz zUBDPqZbVx*76Uo~Lx3Fsl)Ldb;90;MfcKellMF}$R0H|}D0kBlz!QKs03S2upbJn9 z=m+co905EAcmeP>;A5uTYyso|ngA$w^Jc()rXb!xIdlL3d>#TW4!sI^k14k>KoX!F z&<$7(0B&vp{%$z|K)G8!V#=)vfO5cmz$oBW0NTFw6~OyUxefil4gJ6EI8$!l2-pj_ z6L13XBH$gsr%XAV00;nrfMo#Gb@%|_7~m z9l)ndxg!A(00aTc0Hc5dfMbBC0IvexW6GBq;3KBo1-#q^yxax6+;uPD2>`}%*Sml* zrrhlU6azW|Lx3HCgMh~XD0lb!Ou5GbCK2sh-TMuFE4;=x#!jy+)0NQ>SzaPf?N8e=1V`%TO9e_Il&jQ|I$~RE%8)<+b zU<81+zwsF01;ED1Dc?*2^a1t)P5|)igbUCQKwBr! z_P5Z+w+=GpBm>~vQ}Y4OG3AM3z`aa)(g4^E_=qXr9s%H+@1V}_Jj;})0sz$W)H_Uh zItwraz&B5$%ri*$g%f}`nero)|Iw|0_n7i;&oSl4 zDEDGFfc{0BFQUv#7&~kO<>dsxL8kl!?Y)A2zVZ=Meu{EG9b?MR(3hVb1E7wdy~C8B zGe8y~2ta$UHZkQjJbUd4ru+iWe}QMO&u7XTX#n)~m&cj%@Aoq0KZXGBFy+loz>7@z z70UbyeSn^iiwbzf%u5!IaJ`~c0TL|901^(kI>#u>1CCyXioi?;v1pDCZ>+s{xR zbYSI-0q`tS#sUER9uETU1iZkMP&wc!0P6qz2-7hJ*voW67GO2t6{ZvMTYQn}qF}LyK42r$8G?XifKjG1q7CDnOlL9x z(1zIpxRvQFsLz6Stet?jna;)lNdVMi!?(7bOqYPV5+7$W+lb7!B z2M6ox<~J7Q<$5o;B)h68P&y+})s*N-^o*S;3pz3iyxu^Dqg6is*@jxB7-M20%@*<$ z+{KX9nUw{LWdVCiJ&J%=0u$FVSsw0{aB_4+=wk@-cRFlVpc>cH>P)U8K`IsUb$Us_ z81f~bWJCTNp-MXOdy~iH_WWLY^p2D)!*%0VUZ=}WzC&z&L3D|;Qo8aN)Q&$h{(g!} zSRQ&XF%4}~Ka|iT%FVnVWh@wMMn4px$AErFB9qoKMH%kZ$)YHZ^a9z!AQN!@99;_J zWoD$Or6zmai4Kd2I%bUSn2owtQ(apZ-9f=`liV&(Rb`7z$9WVtpL5~!1zA*ZIZY0nINDr>ErrAP2R8oYov5N6Go-pO592P&8LgTJR zv2^^unlOrw3uk7H-y6E|sBj?kfGb(K>u4zF&X5;<#+@9D$q%E?CeTG8>kPJK3CNVx zgP8(d2*Y{-VJ(9Of#^er5h#P`{)p1&^_a~9E6Dd0dJD~Nv&&{N>X}I}(X8YG;j{#N z$)ZpDvqoJYqCNvB&9E|j4)O6tJLlvaJsNshU<)swmv`r}{Xf_>!`Hs9^XOMQ_C32Z zq`Nz>YgNP6eIcv7KIF{_4%S|E$z9c}Z(3TjroY3T@xXP1cWiDXq7v9D+zxG19%jX~ zqMe8Xmjnf2bxe{OZXFp#zrlKxEx@@r$V72dFUG)0Ycmoau>9Qg)Fh9?u2+!GuvkyX zuFOQ<&<`DJh`2(zC8&-M-2&zS_tCb%}u*_L@=H%UDC)cijS`hEO>rVqg zoiib^x_{5m)~BxRnRD%v7X&vf?ag%v0qdgm+cupRY+w7DV0(Vk+WrBPHNQN6&h5Y0 zf88%`>$7K7WZP*hp?mmPX0iY3J>j0eENCwhboz8G31-L4NIj{sPb8^lp!b9k1;J_c zM!n8B%0M?pTnVn%^V!014F=rHh1uJTH7<&L=%Yeks@lMLe780ByI|eqrm%LwI7j0& zxwRKTQQ;PGoXa+|GvLn+c>FnmMB<*gHYDNFr~-?(j`Pc^%32UmeqE_}jtQu$^eVQ6 ze>mz`u`sJ)etAJprUMz;614{N|Rfkrnn?no_ek_5 zuOW;Lpu@yp6ou!e2Fg(0%*+n@Pj5;t%GCo?=oSHz(2U(IZ6BWp_V$aTM2-nHV8q5Q(gBC^1h)yRA=t;<_D*|n7WPSO(5r;e52x{cZo(qzR_I&zS zIU+Y};$wVyxEJC{VK7#9gnp|DjBxjk#z+el7lr7nkrf2<2s>c7YZOeGG=LtXvk-wI zp~1+E)I%N74!9mO}CojDCGDKp3`K8hX_p7aQK;kwF zO2_6;ZvRH;Pd~bF!}o=RhZf(y`@+&XYe8~S%fRJ}E`Q<1o;kO?a@EK^J->5$#cz$j zHFpl@fX4;f=?jy~ItrJ$%ywHKH)Y=8*RH<)mtUG&5)c|a30qWJLDnUrmHZ%lwRj>6 zYjlc8xPi(-%W4vh2o7KdP=)_1!RN=$Jpa6;D0h9fK|DCVL%C~wAA*TRmWt)@Kd4t? zURE2dG9%@x4!l*+<7Q;EffRvjNGuQcDv*355(FI=$10J4SrCzc3UmEhYqU0~Mf_jB zcI=F#2T=r5{5Ijo>N!@V-39#)gXksrv- z(wS0<&{Az3ave1az!#JfFX+8g%oj?b*%Ao}J7?#WI)&f3inET7|JIf3PAzsLzTcVZ zvg<>MuF|q)r%y|{py{*}*Z7x{GEGK*+W3HCwwuI;WcT=}I&Y8-(!2Om;gW$mLgE)G zvBKmF<<8-dG2gl1YgG>E-LcnC-+#Yy7m|6=xRRlp3HaW@3WNCx7PCQ?bii*9CznZ8 zIhey6sY+i{-728MT(?WFIAme$_3tL#e_Gg=7P{yD`^AD)*QJ@4h_8$veBm0O`I(TP zAw#;_*B>IIy&G-o*-4;L!>#T{^ufnUf`uto5lJ-BzJ!QpHmcxMdCYS3u`HjvR^wHE z2lR14S0rTT3m!LN6>1bjy%$pr)K}?ld_)pME^k>{nKxw8J#tG*npODF;x(B(R^gA9 z^b}gVa=N=bd2DYx7Agj58@xAQYnbpFFpD+bO#9dmMe&glYog6&keWq_8c%S_^~vS# zG5nD9R@0f6QYt*s-?cVFck?#$*tXsi*&u(D3(OWuz92$H3;z&BS{?K{3A~GxXe@*g zFfeVAjM5^>3@?)CB3R~pt)K*yCbWtC_KqZ9Zm!CpNr@(PNn10u%|e`E<<8r+qo_qYBoGKh z={QlsBdqE~DbC6txW02VG)4-9ARnF3dbU4%ZFl#z&u$NEK7V_D)28PI>wWhL)*o)( z{KL@S?%V&1+vd)_?HBv^zjoW4Ik&-gBcXqX(Z9D~!+2Od+Yn5sg8t(%fvX3yfkvsP z_e2J!AQLvGv>m$tx?Zdx+>a#77y=Y2G72_}d?plG*`^kYS7IP&%njt075a#W{H`je?l4<6atFThp?pBTH$#y4Wk?-o1UFN z;%-cz`-9P495LHpTC~8Gl{NCanHcK+Juh`HC@iAEU;p}S>EG6d{`Ba5Az-Mo>_A4c zAg>j&PH{ZVsNI_Cg{)is`CkpieBR21i+WEK6P4y8`>j`C22g1)CF|l(blQ{f4=zn9UATg%N!96M+l>2pu!_DkVrX%{6pTi$IF9t1z)Ql7@|+Zz zE|ZR1f{Nh8vLFqU4L#TN74j#lLKP__AQ| zvWGWb@bJ#Iww(_v$Az)u{h|8~{pq2hp@;r-=)O?DG&DY+^xY$K55K;D|LaHQ%{xN> z9-eDD`r*!Np;T#0D~(N#-}AAanQe?0Kg{| z!`1ytv-4_9K-vbJ!_h+HfwALqY8jk;g<=Qj&RRQZ1=! zXAImXkJ}j-CULrRT6kn?e?lKAcfoau{;UeUsmtT*qKxhMc3Co9egb#|8PO>)pTzA^ z^q|fBW=?KokEg_WN!t2GVjySvd|==^ft;K`4p-7N4?+#ufFKdD4>;Cz(KjiBh=n7*U}>C!`QNtmb%hf^kH2C|}s+{KlIQW(%Q#r zl0yd_`2~kh3tu|$Z~I!x2d`O_n=1aHpm$^I-mAy|FrHo@vLyHTBg$QM8xIfm?Z2SM z>Bf0e*8cfN63L)e))H)NMYl2pNP6gbP)Ha&4={8j_;0oTg0E}N9`N<%#=?N#mzLts z)` zJNWK`dV|+y^%d53EvxI=+#6_Iy?gKO)s2l8Kd@=%k9y^&?RH$_;%{0|)-zEypPwzT(k(>O!-@Nq6@AFA#d=W;T?o%5vBbgo#CtbEbpWTo2a~;lwZq7Z7lwd4x7YA%;~^zfxmZV*l&Z932%oIuWHOS(E*n(AuHON$C}{eIZqaVO?1 zo*_Ziea>^nYDNyPOpNOz3S9Tr+%G(li@$v7Tx(k#m(k_&$fC2)F9L7my;yI02J46n zSxK|^x$hljW&-yVks<4=@yUBb<)=es@>=sK>HZ-EvUn;dGcWmlJ~%% z7ZoMET@iL4*qL3kU5%zx@NW`2ylSf6E&f258G7b)=qaIFZ6&ng;_(deKQ9*Uzn>Zt z*aM$`s6Z2k1jz~d$m}FmFrhO+3_5KVy^bXd$x2x8!SdkxX(?H94)8khoq>aEs!q>4 z{Ko$MZycF-x@yhMcQe( zGv_qT{tpw=X42lmdjzS$$*)0m6R%Yzx{6ihx{>lQqD1SXw+K|PFL(cxN?O-ddsInj z+x4wcXMU!0VtXKs8`GV&dtN@+OCuVfF=Dg)u8V(o=UTftGp{&F+Z<>oUr_DJJbCEu zS9gZTsg9rHIJ`HL$Y9??6vM=m;1vU^@mh6sBr^CI$Wk;4elnAz4JoB_{He#spSlOz z8Nv~3GPj=&>-_NZe+IWCM>=mW69(R=nA1YCm;Ejse1_NylED&U z45va?(Bwqy54(o&jyz9#%iMBW4D z0{xGn|EVl1n4api!n=AQo!wwcj%a1I9JnRN4I=wOqhX#W`aTpF&E=0DFJtbj>fqTqSgN0`)Naim}bL(rf z4BOW1^e5%#<_8iCrZfm=?AU3$E94^}9fFMZGQ1!U4T!l4fuP`ubPRXxuobr2WXBzp;L8`#@WnH!;O1yeMZ@b`}O^ zykQo-ldoO3Vcp7zJZs}Be)lj@X}9v zdyRrl$t2`-roz7^(cR}V+|8r#RAMU`s8JOCAmpuv8W=2KRt5t{7c|A#4wL$~zO_M~yp1XFFZkrWxK{EL6P72gJ1qMFo;2K{tR zVp7!>`OcR1r;)UpY{mwbEnYN#-mI?H=Gy9tvZ4aNFFnrX0J;T_k84znxRM z>OtVs>495J4HeM&eHn--;QA*d66iiJKR)#Y7(~73v?}^^MIHBMTaadkV1# zp1gSH?Y`Q_cP>1%u_+;W{6@KS&IN5Px>@pSonzWsP0i7L~Lg zj$R+);7cQNj)3c>VczwbA^~;y74_@)j(Sr2l*Do(g&q+5Lngfk_ z&Wm@nEUQoU&%Cg^X~$5bTzTmpf1zJnH#dL&SJ|wb#{QU}?F|~!tq8s*HmS~YYS9tH?{?f?9*(hV}Uk=dr8sTih63bb`m8)^LwGq z7(0J@Mb=}#Sf}W9TM#;==!7kpNETUH8s5sL zLGYnjJ%(T$Q{hU(oNJ%np<*;R1?4J^KmV)#UR^3S3?2@8;c=4Z_%K9>UeO^KlqNxM zP(WO?NNR90!5}J#l!6gpfX!#dDl=oZ&th4JeO2-$lM@THhM<}OBZ8htPe=_mobPwq zh7<8V#6*E%4g_7x2bT2r^|S|p>0-ar@6NW;=2%2(JJe+cYoiosrLYN)H*OroWNP)o zDbLMsC<2Pqc67s{s}>iZx?t118)lsHZfb8HY|04MHC9ZA@K}m2%uCOzTzTU_=Z3kB z$~x=Eg9b>Uc3FOzP53Xvaz5zx3#}?=JgGk6;r1nhVpflo9nwSTUMEtt?6S} z@A?y%pJCxbRYP(v5ftliu_!1ralII=ezMg)^t4zoD#L-)$E_B1ndNr5D~SVUr&t2 z^`yaZzfg2T&CyR9FyP_zn)Rk%%g0{?*`$9LRW+tXvg@a%9`YfSS z_VkRZXlgwdTb0EL>Kgls*&!@-I78dBot8{j$YOU1Uv*nUX))9a7QtoCN4gE5!Hwb; zRixVc1d}1lA_}HPa8Ty(QXVl|J=_%EcdtB4ukm&*{ z8)ZMz;nF>XUl|eqW)z3bh_qB4L|c0K-=+a(GOh2mQ256nwv-ud9jm==n5GVR0Ju*J zHNf1OrUDw@KidgH#y`~wLfb#viOPSj6WAe%KNGky3U-@GSTljnm`UK12}ZwW)zIMb zf&PVj5tbA?IirV6g=Si#hJj#bE9}cAHjho-xUw{MnR?-AAqkryrjwcKmZ793C z>$0n_NN_)vkeXb-w0ZWHp4__HjGCnLWBNt;)#a-Xts1&^Nr8|Pdb_1OtuVu7Fq)OV zqKfPGh?||RS)S%Yt>p`wvWt7xR5$ObO9&*Li~Fw{>9}%rL*3vdEuZWgKNf7UC)y20 zbq$8@;cM_3>7cp>(=UbbQjrGpuul+;7bZXpykI_<`=DSl>%uECTu47%A)?=Kp=oO( z0u2|Mwk9INaG_~yBF!vZXquYN_THkymLdJ8qF^SJI-|g&5kO!2;xvL_K{_8qMsQ(vr zj3($`*D;#Oe^JMX^}x9iJC$b1BAG3t;VC`WBtQv`OlPqBT$Lf@MbN>UJyB~EX+%|} z65Bv9>8dL)**>y%)rx_oJ>AemOPz&&L{DpRS`$nKyeEcXLF*4|5ogm&&la7k84gkU zs#__FWjHkvMrN>E3=vjVa~Ab=#skxARTM1Itc{}ll$0=klYT$Jj22IDw~UUiuFNR@ z7FW5Q-ZI($47W^lrNfnBrUxI`64+L8wN^FAGz#H_vPupb z$P{RYw9_085(s8Zc}<)8C=;>PgEqU}o@>v=PHA2?chZxFhD|z{0#M_ekT!6N;gRYJ zB+J$z`6_pG-+X6w`|9Rp*VLW7Fwd0G_TWWJ4~^6|jo!b0#kJLv+)?xLcZY8tESx`E ze(EQBKi<>B~j?M7ecuD=Bt3oPivlGcTKhq_*cKe*cX2OH~4O@L)=e0?F|2BHaz{Yjo3c7Zzddg=p zByJek=1sG@RzJDmLBHAHxUzQ3@vTJ*T5~IxUe>wbswE}z+=|`zJiX^<^e|?N&5p$T38GgtTW7<-(x@Mp2$Y zuTn`}#zV5awPHY*x=i*>u^7x=s*1w~>W6jJmhsPpb(6XVo z;7j{Mx#X>zb;HZoT=>-WbDFn5ytyz9YEoHdPNsv889r`x%w23jaBd}bkFmp`SI9{- zYQ&%wy?`@O6RR6HBJ)_BXxBDlElujSF1BV8t!6$fQ_Qe9AI7ExHrX@mS=abGqSHR^8F>%+GR7Y}JJkFm?$!va46-O0#eH@xG}@Xlt5nGiTgxF2&>(41hWZ8;q4A%;hyF%s|30}j{#cp+QQ1KDv#2H_y|8$_f= zxzk~$P2rd7eq=gJcerzMJ;ds&99RI&LY0aWRe`o?s`1Z9-Koba2KUbIY>>r@g3{jF zbjX?ilvY?3w`=y=rPr@0cMT-TNwv$`R_q%)2Kp`g{I9y7DgTZ=qjupf)$Qg8z#4N3 z2G(Bd7i5!xTy)`Q=EyTmf5WK|oiIqFT?ZS>V9-2s^e00QJq;5YnmlMRV#{CiM3CO` z#lBOW4_%LsiC>36@pd*3_@aWl_mQ5iFOw3gqIi^ZF9EO(J;VJifFTv7-(N zMFWLAQ`@C^uLkGS!Kk8e`e|B?^DVloeMSg0m>43@V!xmIk*ekdJ&XlgX4GRkYaDKz zo$)(!J>+hSB^pRcM;xy<$|+CBuS%01J5fIAf@t-hsbwp#g($Z%ZeLhJg4Po&%$c|yQL7*_ZdG?NXiOlp=pmhV zHAK@LU$h!vL^2pa;DjD1+-i@Az}w(IHj1*5HZsqnKk+KUsI)q05`YCeGt=S6_|?U! zK_mSv#+EK#Fb`DI*V{9@d)CaZ&emqW0*G@aPFVy|oHHz5&bcb+6bbc%4 zRH#}0`_#q4dGzum*;_l%Hs^enjzP_qojtXmK5W!rk&=x* z+zUNe&jxhr!Ze#i5TGG!=NEuJrmTVKKA;g5;e&9+oDrP84I1oub%sX&g*roM`GTFH zb@m0?2<8*cfDA-q(>j`hr!X$VmNB$TR?VubDjlR_&|;y}OR*AT%3_Inphk*0;^`hQ z(bDLc5v_}W?89;)hSV>LR!%lTBoJMrXDU7G?u9(47V1@oY{?fSeGZ-ARVXmPPCuR4 zILQ&fiXz*GMc`Cn)r7W0G+lxIWCL{Gaec4Zq=Qz1$Yv}E;?V_Bp8$1X?ZRk`_W`le z5>+r$L#kqNu8(Lki!dgflGkfm!P!4SpS04{Wg}RnrVKM)H5^ zY(~j{Y`aa`e^Z^Tu_8Zqb1h2Tho>?u;=eIv<19+ZYjbH#B-t(;(zH#xVB(V9R8P~$ zwM|##Sw3#rsux7Pg@>(@FmB*l79B5$77#WI_=6@$`QK~+dt@}lI3RC?G)F!LZH{Z> zRsan${JCJU#Q&NmdTbFX(Cf{IAT>1c+eV_Ysk0T0)wREpQ2_ zGw6izvyzs^ECdEGjr5<&4_Fpk6Er0tMFAunn1pJErH6Gu%o{NQ)eOVIPL&4)Q|STa z0H7tNt?2OEfuJ22%wk#axYXu)42YE;~U%Z=BMig ztHKG44;?KW==X8dygPjQ4YT!qx#Rh4CV1Q`rJ&^@MD1hn0ormlA8D}*&2oMFs z0JI>>B-kSQ5@9r-LcigR5_mAC_G!H0!Q6?Gs0k?|WXPLHYvF21&fp|pN1&s+0tF%R1FyZG~`C!RwRS0Hyl6ZlIb z+Y_{D{KZg;ed{ps1}0bs_e!Wd#$?o!qCsqjiJ1c5ZN zMu)pFpEDox6n-7ce4^t$!}}TVqfO70T(NPTYDnn3rjqG-Rdo0!k6WLyE-#jU(HdVH zG~29TrT>z%wffnS4(+d6h*Fwu`b+XY3y9K#aQ8)S_+ z6=DjfsMM4SAY!W^TZW`69Kiso;&_SkgK<^yNKwSGpbK@Z4pE0yT*8nZKGky*rFN@E zYwW~B>O>~FVmaJ^GZeABu(Y=(U3e*;Bsv*t($>bJ7-c-JXo|>K*q6E`urFr_Kf*=~ zcoT4h^P4JvqSJBJ2p40b0{%@NH`UbQ%R>Frj5u642UY#dYB7;-A!6E9MtwU4&(nTM z2HQW{D%o)VSgT~r{iCfCTmDB{h38a5E+G&IF_1-|(@nuu1hJ}}ha3xx&0sSc>WRi2 z?he17NQ^?IV)d9962qGEc%57s$cApiy@Q;@IGJtpqnf>^!_qvzazCzl;0b`=E zYkgNXNy){hLM?GA?V`uO=k|s|R{I@7%8ZpA8&zSck(#P6=&QkpD_NT$sTPB4hL1cJ z;e{#nWRXWB=)ym8?5l{;P-hh^phycSlKcQR3MkMN3+?Zi6>N{JU{xWhj{ZCv(Kha> znC9DHW#qHz*??L@q(KN)1P!(YTbrw^Fy_h%93AF*3e8o*Ip=DU?n09kPk)&-XD`Lb zQ}6`kTX9vISROH%htixyD>)!HRgUU&mG5A`v>y-j?3BC}|4PJb^)^k5!{nDdG?GlhdT25V^kIHFm~<8OPbfS%^#y$fQw?Lu zA`h7K(Db=UD4ES8X0ixLovOw6JWLE4rl#ts$z#s>H7(-m35_XUJ=3%ttep6ax`kq9 z8P;5!p1_b(yG!PM1~jeZf#n0smM%fqd6a2}kYSD4LtbLYT&U047UlU6*1r<{d5(-g)k0B6zs&R;Qb#McJPL;dHi zFHEN%Msx^O*CM|Dwz~G6K06ex$xPizOg-jJgr^sCRz5|!h+)PN{R%6c=JfxQ@}_EU zliBq-w7041>a;U7nLo#sr1AJM$coeb5$+QyM`Vg-v*>j>Q3iKjl+A+tlA2!xcD0^c zEL`G^QrLD5Su8r_sf==vOer>iL{*HHvvOxwF1bqRKyfS)$IvWiSd^kh^w6Q3X&ooN zu8aD7HK}^hXis*|ZJ*9GIrB#I1#?SGrqxKxAVEJbl;Ftpf(2bMud4(TSOA2pdSOSSR9W1e%h~aa7p`slDQ%S4kSTLZ|TcO zBiuVn)?YJgZfb;A){%=)AAdaSk2_({eNJJL2VeEPp8W*EG%kH|yiR}0AjY*%YYh7n z`I!5D;mV-XE|`T5Y}g}oTxYEk;9rCRO*35sUzgFK!z@nEVnh8gO z%_N7dL!zdJ$j96bPc=;12|r5(L<7y|tN=@TeXmxFy5M7aK?KnVKfGC#apopGlu6sw zXR88Z(7v{ydNhP{JTTxioW!YUqIpg#Ss;~u#&ti^7G`y|w*^}`#Sr^AuYGQ~^3Ruw zre!A8+n(54*h@bB^PsF*6dUsU>9|Y8$A4a=7PbvJy~zgU36{wYJqZq@BR_c_rY8d= z5#b>u&nTl2LdW$;Lx)t2nl6wHp~u6q!ki;c$zT?Jio^$8;6;}XR|b`wq+KSakssuBHC74Ol z=|a$VqDU(qU{{nhB@M*#!VHWVzNw$Td^I>l^H{gC_>yi;W6kZi1F z3sG6xjfiMIs zQ9$}>jb_Ww`3;W|rVk+v={pE7tr@D78elRakRwgJY3_0tJX47bND2m-G@(=(hFvLipDp;0-D@zv3h=rzxoCvc}fg(`W z3$23q=EL?P!Xb)sAiVcM8D$`#(EIGg`^l6&Eu0*MGF zH}vb4inM|Zx4~|rLliqfU(?B%*!WkCfHZP*Oi-H^cOtQt&|&FaS%+L6ezt;rIcN_E zOjuYU%B%;Q0<_^nDoHUZc@(^h4Si&VQ^a91K|v+hHPBLfND|-l8Kq61GQ8Ep-VhKe zJ?Xo+Ukn7(b8-Zhvm$53;6O)PLtS}kR))ugv}$(2&QtzVCR`rFLB}7EI6}_1A$vYz zJn+KlMl1y~u~96&`dG_kMuGK+tmY@EwSUN$ApE&@VSU=gn>JsZUcXSdtZ>%K3pQ8Q z&+>O))YH9fUg494+p`-+4lbP4nw8zS8cEKOn(T^iZQc6dmb#S-OKK8)Rgzk{uz`WR46Z@)~ z%p;*eV7h#M;35e@K*VcWr zvP-)U-RZ|sm8I9zooe0r&Cx4QH5C}Vj>N*IrNP--dvbkUeFN1)hu7CNU3~xg;Tvl# z#ym+0);)h})r|v%^LxbS#ySS?+S)q1w!><}LG;4j^-Y)L&B%9l?EC%|o4+DZk`ePP01i63&$AN7Il7O87_p%pr{bKU zKaIODzE17wlQDNWY(}sS3FyQuyGS7#m{@TeM5dl?gMOe!HmK3vTF3%*!0#wf69Cbc zgox}Y0&U8Jp;W0UfF^>Os>GbDEk4I37Rx0LpXJIAkC`TQP-il_Zca?R*<}>$V~eN6 zEuF?>GvV{Up}%heKj{o7TQvNDqvECuL{^X-MMo(b1BKT|Fh!Zv2wOaBPn^D~XKnUx)$qP0kZNbUA?>quZ|PZ67a|uf6yuKe-qvx)`0> zs+@v7>1Ew&)T9R;;E`&ZkaA5BIGG|F7`*1;7wckP@FNATMBLi~ZN#C_kqgLi=Oo9m zF#F`2Zhu)yN=dfMm0gmOQs#F{pNyHMPlT3~62Hsk=g;sjwgW}hjNIc7pvtdpY0W!H&J*fyX0Sc_BfbJwn@~DS~DDkK> zay*D%t0OvXSZh2j+ti%qe~ump#&t|fab9uK9_#ItpNtwAM(=lhRzRmgaH$IoKiaWL z>*ve(Uyt+&P?;R`klP}Reh>tqSJKcc^qf+$ho{4#FG;63uA12bc1zIK48OBqj#p%!m%+$3a99RYx*20#AI-M=85aOj$LN$3$74R54t3Aeh5I7NA`FX?_Q7X|98^v%iD&r0);kewm-^jq zf2r`BQ^i9!ukm%JS|np)nrFxMl={}5;>A}k3Y=WODR)MBk#~>?j0i4SC9bLS@Z6Yf z;q|L)G}qpi%Qs|{WY}v*ZeAi@H-5$TD=n!dKKTbAM?PucNd#?v{&eVwu!ZA0pDlk9 zVi%{=R3xW@7&Wbm^gSRA42ae;Pbd?4yAE0YC%xt2U^&?-NuYT6IeEs=3FfZ3GN-Po zteF?}Wz~`sGl86#{{h@gtT5n8`sB=WG5$+A7-zYGFFk`X5#2c{$D2ANIzJgR0*r%q zj`9HtQ#vQ~MBIM{-kCUUqXtbze872NMX)qBZ@zX?lgM66o{ul+v=aHS)a;38^E3#- zvpWxz)6=^Ih(W9J>jU5+o$}64>YIX<^Z%z`(kGz{rpdj5zEHo4KzMV3Gds%&rs7Di zUWSVYbO!*F^<>6=3S6#ohhyz ze+T=ihf(hVI)5tfKrJ|b%5Dhb0hhfgh^kxqodUB0vL+fQJJUnrlfk9R{ixXFl2k7U z-*i%=232Rt7I;Xsm#R~vkQGAWy7O{;stcbI@Q^e^4l?yBGjy92Pn_A*{?h3kH*d-_ zTI&xEt-mVG)3szx<@_s`mY&+Uws>BX|J2%*?W1MVC%GHDmTg;8H@`ZmYV9pUlw{|! zU71aTP4w3lJ7+bITQMYUZhwU_C9}>aofN>PjVO^zTm-Y>#HFU3kg(&DLzBgk7X#n% zK@zLklw*61zS3O-UZKXfb87m4caN@PA}L6yMb)o$wG2Sq293+5xF2Id9A zKjRbyBMa9EYt7_y=K69Aa`dEuhKC*5DWECjTP=~u?^rYh7VcS6K8N22U@6M$U#g~5 znuHbgMu0h9t9|1p@h&w>63388`OV}M;K#{)Y@W(!z388Mx6~HSOLFC&Va_i_R`uEi69Y>Db(RXog?w4ex z=fLU9c0PAt_Ur@C?Y!*tfu6CQFFo<(%hhXdS^mUJG_Mlt{rm~JPM(bfG)^3#+Z1$_ zWAo8z#A)VCEFP&R7m`EMYLHKE@(lo(GpxlkQQp>Y z%4wuXDH5V=G=4pRaA4+zz1!yns%OvM+P7m~pix}e(oQ4qyQa3z)tugOTl-8xz`X10 zI}?4rfrrX#Ms8XD<<(2-Ye#Nder%1nyX*TL9obnu8A&g6{csoIB+oyXMq3dQ&7p1| z=Fr4a*c|rdpg9Q1SRN2X9!yON3ie-3qDc`);o-LmCPgp}OCWIr(oY!-TY6;+d|5i= z>Cx#nlihp%#kcA(`8lbn7Bge1b5i?ecD6KCSC$ro4`sR%%_)`?o+i;2IV()*&xs5o zc^YthTuqD!zXHxiBQGKpL$Y|)-7{@LAk0_!LuS)b%8Xc`56!sgKz8TGu2~zqvTqO< z$R$XH*gOy{NpxGPd^{84b9FV(-!O9g5~Se&`uc0WUz^;$Vq5#dgBuzXk|%N@h5|1= zvHX^`)hb;H7f=R7Iyc=$N2+&RHo7ZJewSZVy|~Gzrb&eUd~@hw*^K;`lr!OKL`~um zs16x-Bbo}ONFX(YQxVtakSbJ`H}bsR##ta#0gMVc>XtBe5j~(=stc{>dG6^FC=c9r=rGY~z#2FRR zI!-gFNqHSA=;@=H97bMfjN z9#bznvScIbIuQedoeSAOKb7!LNC#R+lq60b0NusEipWTaRB5PM1L*2NU-=gfnJ{ zZ+-TJ@aLYvaK?<8t#ff+f&2^NOTbAI`;s~o6Cy>K1NI^C(R(5Q1ke*%dqO`%?FXd@ zBDzi_vnnh+F#GBj4t=T0eDyU3k8x|NO?vnQ1h4_TM3e&cJ+4^rxwBmp&J4sOAmpF3 zUR5c8BdoUk;JU0vuT__1tIaO&Z7g%1TA%KbrNWJu*zDIPThi(lRFChKKJnnDFpRSU z`H)@UmrV@!4m81=l#X%0sS(N28FTLddOC6Mz>NC*-0ZB> zr=)!7x+NoDogvNjcv2B1Uz3?%otN$lG%anOdD+s+uG&uSD@rYG$}X(SPtPi78El)e zX+e1_r8=Q8B9|wPaVdL5-C}Yqg^#noraBcDPUQ*MT?2_vdIozI(@6VK#i#%l*+8&zn&OcQ9Kz03AX58iAm~`Us6E)+SXNRP$jQ!e z7~ug9rdB1|*n45cVh z7ho`41Cx*q!nB29Pu}ze>!CdjtOm6wk$Q{i4Utj-J&e4Lq-jj7$?1~SMRqvw zWi#Dj7p1OH9=v~GCC{iSD_wDD)ye|{MRB%4u1N5F!=9QpV|i=$Mcp}VEoP_ji>`ai z!20feYZ~fTT-x%NaQ3M1J_)79Yr3(uqQBW+(l=7yePD(m!JzU8PLH<>r&aPxULqLv zdyvs|TYZgW)m0-8x|Mi^0$wrAJLu{f&*((>jA8=MK)ykpiI|3g+4Tnd@C4VeAtKW_ zfVst?C+M0y&6{>{Ntl zU{THd74vHvh7ZhL^Howq5)%Wpy|qO%D^u$Ghx_YGI_7nhB-alFJGaa)I@z`N3FYyo z6jGi%TZ-kzj89%&Ni}i`r}EwbnMxD$i=G_7(Q;=^x9J z-r4xb745(qV$Z}!fwxpPCupL?TW;`}@VQ?%)&qCzax8I$5Z8RtwWCl&kz}2&A_~9f z7vcqu4eE)d+_PM`s)@);A87 z>EVn;vTwKnuqg}aqy`&r>NQb3tZo1~Q^{WlgbrEE(7e@)5J()=pXaxfJ{8;DR0HUY zzQ;kBNzI}aYERTLN?OQ8$|jz7HReM|6LK2WGk&xzC)W|ckzl`r;@^FU=$MLLt^#Ru zpgLuuqC+qt(rCy!3Eva*@i$s{u{lK|K|@j6i8eE_F&}EqvqGHVy;GsR%7wzrpuHYR z&WZ(iR(skewk?~GL4^rMI>M+X^P}rTv~5gm{>oY|X{!Ya(NU3uW30NLc`*>YW{I zg&(e}ytEL@Dtar{O4lw%+-p;}V$VeZlWw1uexvOGCTlx__hk-M4UEifsu=&@*7B%O zA4>eJ@hb6IzKdH~;LUJZ6=V;ex_daWiyMwGiy{_}P)|HdLWg@`RUtyMS3dy!s~(3T+Mu9)c=hN>VA`@MMJ@_?2*R9F^#_p` zGOAi6R>T_BgU3%QhEFuQR37uY$nE}#fvZ%K%mDVfud(F)$h#aLicVU(is25|G(qEJ)? zR$p6HQOa%l%yjkAPh{?;>%5wTCR<#=7GdyHxlb&PVnyC>B9d3;!Pu!wycOjv~AP)8G}rkw6-BtxB;egk5`aXq({!BW@3&ki*JQ|=gK4hNVn zF7?Ky(Le$&IKrkT&u27bj*Vz;{sI;7^-i_uhX~=6>@L_i^?PcLHx0KO5unzasb7N_ zGZxN=@jR=uqdiz(M-Kafd@cu&Rw|pq(s@GOaDKtKv>H1#5Y^$d@!E7w5*a^>N^yBA zWIgMYL1ag`g`iFI-_*oyO4~$6%qc4%Y8Jy8;ZwvDqg7rL8Kfp=rm2MlO@Y8R ztivq={7#SA-CZ56%`@O&tSE~WIf>^ja*)b~Hh(}#=Sf_Xq>*mXq)?Xow7{XNka^<1 z05yGgs9+KaPNKL$@gdv!2OEXOl)xo3=rDQN@>$!X?ZDl!lU`0^lD_rMYPa(i2n_6+(gJ%mW92phf;O+(P&G$&hK%#Kf}mIJ`l8=!Mcr<$APPPVo<3=0)5Bc88NFJZ~b8 zw-$6&Tj!8|hMe8D_Tv{Wx@t+08bC-PX1N#59;h2Rq((*U>1`MPM6&xD=)BG7TLr5M zmZw|Lxh$Bdu#hQi2MSBLdDYxR`x{wb0U{>~C+-g8k#%&%BGwc3i6%ON(?mAp>*k?g z6dfWrt81j$XN>LMNg=tj@+4k|IA$RU;^?)p*$*M zyRqT>PuKTq(};p4thmuv$Y%=4tg`bZ^#)W4`J#BRjFax{tK+f@$Z^8itNyIgiJ_-% zPBFb>FyRhV!@I`J>q1W*bf+uNJ4{BW`QMe~#JR2%Em=Jl2( zjW5i`?h|_59rShj#arzzmwkNH-|6#p@~M?m&$UA&^}#aR;h| zoZ5gQoP(#SbRwBPo#YUtpFWC9P(PQAhWBv?>Q{x~(4&ufT!#N^aJ+?^uaAcw_1c7+ zZK>wa*Kq}^LHNLC4ed`)#g#{n5H>I2j=|pO-_Z{j%MNDRbTDhR%WL`Mf!KgZ7jtI& z)yr#nTrcl|;PLW%nX06}kN?D&nzsMx(8{~Lsfu7vFyk<@UYDLIee&5mt|Z}h=^3wW z{OZEevO@7nK80u(yB|_F+O<=h9FCnLS`#cV>{>z3ChkIYsdu3wnK_&S;mc5^ZmW6x z*J9zgVzG#U@!yFbN)J18tmAn%^;rE0;_nVZ_K!%d;*jzPE>o*vjlp`vL$DO$s>q2x z=^|7Cdt8FF3IRM^pl{Ok`Ta=&cW&Oqt)>*2Q#Wxt+Vppt3cs1Tx+%3LP}SoPeZA_6 z*|q&MGMW+-4VI*`iiYgGV0miZz^xZHG~`v~rYG1Eb@E)vkxC0X&o6AKD9vu_uL@mb zPONZedCjhZrh@E_+H5hmwJFiTc{N zsZR^h$#iF)J46Rj@E+mF%!}!g;frU^+P0v$c)_+={fid$FI%`!dAMl)_F3IK78DgN z*wH;}`~0Hu@e4*qHf|glxq$kzRhkVy65WUGVg-~r3q9Em#}Aey6W79W8kRvqNN1OT zb7a`~0qRLdfUhne_Y5k;K>a+B##tr&u^ks)>2NIQvUTZ(zj-oHD6;{{IE^_8&=GCQ!{;+IsNq0p`L!wh>&hM*lU!2i>*+6k& zMt(-J-RjiITSS{XH6bf4ElsFhm{HSH9D2s&$o1#WoS8nO6qhDdRoEQJ@Q2|5j|-)n z#B$wU+_RZO5$!mmhO9W4*L1|1NIh_8v{L^$bz&qGZ$TrOCG|NFt%Tb#4Jk$7U=%&3 z29HgOqTncYRK4b|NUv*esLZZO$(&PFIIAixYsSK=3f$8y*)9E7$;rvih0B-sWMnSS z%J+Ay4bB+uF38Kuvzf#Xux2ZP^Z!=vgD(*$1oE(d=Mf-3qxRBCa78Z0L^q*yP~5{T zxi668&q2frdZ~#ie)vL@OsXn45#k`6)|t#kXOcg;y{)q`BPZEuu^VyQ@R328+$IeBQ#PwnUqytkR#;Invs&c2+@N4&k#J_;hf5`dL%3AsgWyz^A|x zNvZ0g@K_*Ji_74oq26=SCiYpaR=?Gc8%%Pt^@ilgK@mKoK=~Y*|@N(s3}QtB|8@_ADEqMQUn zT7XvrqEowrT`pi1+)&bqNM1mfRT#*Xj1&0CfjJ0Dh(RpQzcFKxv5-QZvBuQv8jObU zO|@8KL=_ZY1uP@xDvV|IJ__L;TWUdCO|wDL^)zJ^`;yHGh8%Zw{fyMw6)7~G;1kK_BjnXGdFftuk0$wYFbvGjc^t8kcP;`ky~q*vH3c#;C;*Y4X> zVoRK}VKCdLE3+938+?PI<-&t{$!@F88(2@gQDXVxZ^T4}_(C$y#oZCKXF#-c;#5eB z12J-B($h)gQh46fvte{541Lk|<$zl407M)0j~^=P=23Ey526o~#e6tX9Q)QOa3-hB zOPM#Px2^`E{5eUU1YDQS%uwPDV1MCd3eM}qb`9d-xSCcQeJm_5pN=PKJ3TaQ>ano! z;V{wy1VdSINoh$*$_T{_JEfHozxI`2vHT2T~o3FbC(x~7$%uE88J))sT@Mt#9AF2jpS$8NB6u*w~E zF~@E^Ki_k^)tix!knXlx-RTLw3gwzmg7DF!3F#iI)svp!$naRp(XY?{B>sl?D}iMr zb`G)V5>zvi&sy&yXBS#|ye+37e(P;Fbuk079Eu2SENBNHINJ{w;D;N0nO-+bUOY)GsZFyUsapIjgah#nv&fWfwmAjXnR{q z+uPpTeQCc!Y5(mlz3rtCpM1aPJ(BGNGy45Y!II8;&-1?TGk(v)D+s=Zh%>o8S(}|F z3Rk?0Iv#@AD{e-!^eWl(Fl*YT<| z1@WYO48mJ{p5u8ucr2e!zT1(<6Q8fQ_GTo1vPCKZH&UBM_x2f+}hQT$Jf285ha54j>lm6k-A<1IT0%<7U* z)M3b(S;K`T^pJ2v#@-&6tZ_QI7Lw!c2^K?EaxKK=_>uTDg>zzj6&RlhD&sbEJRljdmh7ah%w5-%=FZFT zS7q$o%he{xc2b*~ow6=dwq@96&kZ+*%-L?XZfxK^Z(c&ad$Y1IV!j^PF^o5zG~{%d zf=Z5q|2#WM?`t38diR6)901$4E{Pm6oRT`Q!u61Yu4%!x=@rSwnJ(GUeC$}J4GG`LI_X7+y}ONhQd298$LtTzSN@pc zG^MEX&<)+r1pCNAyvPpL4%>)$5wRaIf7;?$10#yrW;gW{%rLL}meX2Ik& zYamCMs`LZrF=Qo(R(C6UAIMh|jBt8-ID;7wF01^*k#8Gh zNyfCX5A7^ybQ{y$M&;-5hch7qbn#)lE*h`PN)9V1+}Mzqk@#ffTk=gBng%Y+pha`w zBZSdYs+B6xMBh%MS>7P)7R%<;&Cfh~jWJbTFKOjDNw#f|N~erT&)JNp5cy^JNT2jn zvL*Sj^&je*(1Cwt;Q8rSVlI4QTKG~(7i<_9`@!KZ(D(CwC~A}raMrap4JPl3u}`_ zpAH^+AtRQKTQFpuGq!s2U93b2%u9&9=k=L?x8I(bro5r6Pqr(6mW?c%kB9j%p7VS> z&>QH+7!UGw8Evy9LGS1JzZ_7b5GwKfAB?W_HMbhQIr5{5l9u{DbSxSVGij5hbUq$O z%!XSCjA~W_`WU~9Izgm6Na@N;X<4@Y@0k5wUA^+QQOhiLZr?Luk>(ch0_blN5Z;8S zAuKrDOcb`lA{r69&4nf@*%4oElot~(YcF1iSA3QA8nujlyp$_80#&T1F$#mA*;_n! zAMZ+;`!u&|(!Q`7iTUGq9#6~{-?}^pe{#+}Zi#y)#%rPRa{7^*lZ|i!0?jp>dG;#j z8rTzjM>i2XCSLgU!@u5@V%P4Mv2%6uex2PQpH@C#KvQo(i%$F>fA}-{#>br<%YuOw z=T8$PHVUbiKSxv_@z$Ro{xe=6<(ia~ovGdw9XJw8)0*$FSZ=py`S@9}W;eSezb>Sz z>k(p>*5fF{dQ3@1H>=e6dZa))6@OyCvKw@koXli*W@C-~dU{H-w{BjG-N>fV>u=ON zB|a}7LDtpGu4js1W~77AFgpa1a5pu;Z-ioX&_fjrUKj$FjlWD9q5MJ-Xbn#7HJ)#qGpJa8)EA+i<|TO4OJzMPH`iubA<4@SdJ8g zi~Fjx-9Go+lD-=H%h!Qk{7>z>Km~yy(J<`X4nw>H-hBwB65%r=6#hW2O@Z|>A4J&I!(Y9A1j>OLfr|*>)=v%f<0GuC-}@(1hi&EVL)pa-_*X($Lgl$j~^S>=N?o9 zL$IfZsNX>--Hrwc>_Ie7u%iQl*^DL%c636}9bnribZ2T)ZRzDj0t-+ zH;NB(nFL({F{;Fy7SoJi$0IMulmZch*v)jlOlUgFt(|t$H!N$nEX-DtX>JMBWsL4won6d9D&EXrGwc@b+D~^pf zs)c2cmJItlj*nvyqqI%Ql)yHXMzARue>&|6kzwWK2Gy0PhL}zmR#C18s)p4YInmC% z{OQ#>In~qi^E#tB%d3hb(P*T&O7<7DmAPDHZ3X#lB`#MHAn6x!?&t2(=G;I_ncH2~63A^XbjErzYpdcD8h*Vax+kb4-zCqf7D7>sWCbe;0#VX{+yefM{TUKm8C{QSz zDkNKzE$A>zii?)gYsV?)9seXIe=EhEKI3SL&&!_qo6%*P^Q_6^C2hu(0&RvXHFju1 zc-~p)G~0Df+|DY5WBL3^*qcM@Be|pm3!dt^TvF28d&fVC()XY`&A!!`=VgERXIi#x z$(PLqIXdUxjj6v&cc}jb+p=iBBBseN;fdB56=vkYHKPI?1H9NmT==Qhq(>Cft}MVI z*N(?~6jPC#V%*cN%@&h&xFhF{oLLitM4b=}{}XPUjG8%_8DX#0>J4XPqK1z4PJFZ3 z=v$a7>Vz>kT>rjux3~}(vP;;e=F21l07HNTA$h1J5dQ*{6OqA`Eoy;P&!iQkWOCb* z3YDlAnsG$ha@hfJa{7(<4fYxWI`BwbFpThae{P7Ro;;Ce4iJK8Gm&Q}6fI{@Eu5KC z(_fN5BipPsYfX;q^n${{o~qHVDbgSw8 zS3p0bdReSdb67OWXTSmC>x=xyBSN<-BAFlV#b4aFc(dj(qnhqacmXI;0puO3Snwce zaTpU(NREIoj3Bc~(m@-iI*MLR!C2n~X{#)JB;b77KgcYVOYvDxTqcI71y$pw%W>;@ z>OE{({2oy+pit=ZI;hB~GFn*?W#zw^>1*z;aHPw9 zanN1ssfkuKX#Rq?S#;^I@^8T#sIF8Y$xM2LEU={jY&f)4KJK!p5WAtD1k5HBbHmuv zy#br3)%bn6K{yXARk`J58UX!??2x$l7Ik9T*!QJhtawTJ=)U`ui!ZHM@e3oP}42UzOs>(;%l{Oy55KfI;4 z_m&?XI`q~pJw3O)MfBBxMy;R`w;#|FjoT!k5awG5V_L#FL}4#CKjXMR}+{TxOwEG@FO zY}8+#>4+7pR(cZFSp#OBJy|p(SkRQkyihtVIm*lK{PaM~E&k%8H`CMDPZf8vQBx`- z8roj&Rc_DCH>DTlDjR(vpdfcnw-=hkQnAJ0NgJf44iZhfbX;4fH3-Q-D~dUdlQc<4 zhmo~g5l#lKM&1Ct3m`Qp@E{NXc3F`7iiT9*!iyX-KSTwFY|c=L?M3! zx(CRQfvP*ib~M6>T2&{p=W%90$TgcC@MNSX=>P_jXNA(vF+hOU@CeYr;nBdWm@BHv z<&XOBdFRg8?|kQ;zH4)QB`eQtdVSLat4e&?uy%!g-@kQGt31dSX$Nop{ytF%xs|ph zx38|1rTZ=}lWSMszJ$Hv4q;6}`!kSohF4R&EwR7irc^66$5KKs1 z63YzZtP^Sr{RIVnoi4L5Kwa^?l`468CKQb_-Af3j7eI+hUG8Y3*TH&`-^ulieK2rr zW$nO`XO}O3_Q*i(%3}j#A9!+^C$}fK;GWH~^)FvMapL03>tmbmSrF{WJ-a;1|C_X> zr(RjJ_m#a(P5956S57TW`;9+qxn9oRe)c=4wZeE+7uq;ty`!A2C>HYs4Z|m&fGr%)eEyU>#N1em zMZ}3Y`L28d1+%85r>8fiHwM8i^K$jXEQQC)YK$?>xJ>YH?q4hBYO3O;k+E zD6H{{-^^_;_Y^O?edUrP!v&$fU4zQ=osOVA(os_0S!8cN@Y2=0zkR$r1A=ySVC=W0 zi}S(_d1S=gsNAASl^=n3s9HE3GvtR$LUekM+$jeg}lC!HxnX^Ev!Sa~Su&GYdU>EQtfwA~9?rJ9AU=IDh? z7Ih(Nb?Wvf?r-+9ro#0DU0ZrW-?KP9=T;n(N!yFZ0j#* z+IDvN+#}`ZKWJ4c&Wn zdv%=xZB7z4V=cNNL(@RH8ewfL*$v)Jlq07sQ7xB{8f-n}8-jMi2B-p@5NpSm5f7XF z?9(=C;7(4;%S+F9sXBL$$ zJUnRVU(@8AIncUuQKO!Hw{vrEe)pj-E#LO|=IE?bZ(KclN4I~CIJ)nJ?KS0#ubVk= zRlOKE;p^(_4|Vo8UH`*d*H(`l8Mx}DYuo2N_WqsUV#WWqvb2A+V(x92X5hhyJM~H* z30~n|RCvKk%GArCNrEC4l0x$-wLz>RB9w4-mO6G%I>L9EdW8DCO*%5^8tTP1>B#ss zlYdN{j?IbHgvWV>oIt=XlMZH-hzAG7B4`J3^MF}U=!~oojn_SU?Vk2?x%~^*wFLFH zT=)DN*Y$czXSGyVPAHbJ91vyS z+*lNLyBv1G%B)(*@qk*I0C68&8giAJSM&jAfv+tAcp=n-%SKup4lzHruDh_LZ$-3j z?aUGs{$-~nhaJ{!S-DXqng_?Oh%KjDwNw$7wcNI{f;H89^chAecuzyANy02tEQ!| ztZYsU)!B?mSSzzZquHo0(j**?B~t`tDs1Y+N}*g)tP>>a>rggbhqCEV!gLy$I1o4T zFuADUPsJN62<`h9&M&6m3`=8uO|-PQD4grdMwL-54vf-g@{h+5Y$!U+?M9KJgq zW2P2@fNM*d?HydaqHNa5jj>hpfT>zbmz`X;>1=hL!JL|!TQjS!dS=v>(>S;Kp@;VG z$!VBV)iSp(WU;5*lwTXP6!dNC7}}L%si<$xu3Xj?X{l;AC1+%1IP$AJ-s*hE)$_YT zEv2sPV73`A3YyJSp5s2TN&!BmFnA4{;mj1#SB6wmd@B^Xkv0E^OAgGv>Zd>W z{yKe9$Tn9Uy9G6`QZU~h0nw!nH1vhXRSlkix+h>hHJWf2_Ctx-O})$!eFzz9g-Qf{ zBhJdOWyhl?DuRW~Qdl|j8b|xN^@Dp8G4bbGS_-At9KqgMT??t8-^E<%7izgW@$KH} z3BFwezKyyl;0O&dBz2>i1oURMl7&>#O z&=jkOjj7SfC_|1&zWGSkT??axz)s|%3skjUtL5ATnZ5>tq0`Wr=g9YmPL7nU)F3mvm*QYbv?aOYF74Yja0wu z%ez$YnVa9cxpVfZZG#TY+2UA%jh(oE+B?(j zxxxOz$CW>SbwzC31500Nt%ttitY1FkmFD%m;n+=YpDpYUvOxE?{;Gv-p^7yRZRC64 z@TLC|Q8^V(X4S?9?PJuIdE@I%t~-+D#1Vtme@|$GbNBi zQyvDFam8E{7h;Uz_|Q3Je8wpt^Kl0BwW9&(thM1M)^R60%^m1W+Zu zAz?9rQ2A*KV+zK}f@MgInUg5Kok1t+x_afQ#gk4go;a0~BR})hYAWd99e*|#3E}wt zh`w|?oWu2Ud=Cl%L}Uene$vaw>C7=Hn7)X{qLeYUzA;j5_y^4wnraGqnu?O^?^@Ee zF{qP=gZbyytet%XeEd3LES5d^%NO)y`uEH(nLVw>&H_1Y zc$q%PK|9{FK`4nu0>ry#SS=(6Q6U4W`C`mIUlQTC9%T)x+ebCYKJE30 zb4(_QnEQ!u=B!`Rv1nPt)`wT03p-a$TiY49_1LiZ%xAn)*~&#d8G#dPhK?>NpWzL7 z8)lcU+j*0^2WMRRKyyO+BW#LA&y}MTo3FlfLQv}gMBeR>@-6zCnf-KpU(obZQ6y;@OKg&N4_VwR|%tH@r> z3Ag(c6ZL5sIeD4E*7CaHTDLwqSyFD2GJ@p|ouL$`!)Ws~Rs`jrCs{Jh8bP`v!&|eg zZ2RL^cLq~C-Pw7A*DZ{!-h0RVCzKCfJJ9RZBpH)-_B_f=uXh<7Hqy~WVLy0~8G3>V z$VqXGnyWEC3@eUZa5m5NdR0{>zEh&kZVq(rC!G;{-RCi8b#8t7(DE-G z>S=FM_kr`$Kcz$12QKOvO7^s!voA{hxJ=|jx)8cE)ln7NA^UQwqbf2)l4+`=>a}EN zPIXkhmbT?oNBM@F>HsbyYZN6Z{pkUOWYUr)r0sHT#Z38V+q{IJAj9XF^fLZdv0B+j4d0W%TAK%biIdao5 z)#I<3*Wk@xdS?5|@2>PBeo`1v9z#_l85(v4ap*k0;>On*A}Yz&CFu?Li0|Nva^Sjw zJnRn0=LGDiMW6^*Lur4+F;nhAvTI?Mamz+3S$6C4^1^8g%UY*D^588?&uoni-2U%} z9y$1`=haIeH`Ax&~PAo?w?I?;t52IW!la8~l8(zJ7`>WT_P~UvU^{;Nf`qdlYK)DtA z!zBeZKi`5sqg?oAEU7q{4tou(qU#v~VlucgOQDxl@sL>3@v6BROr0L5KCS{e)QM;6 z^)6EOd8+N~7NcWq zSZS_>rj585tg9Qau8M`BSW4KJ4WODLX(tR0@&NH@Ue4;UOH{B7w#Ma0py=`=sxeV4 z6lJBGU1UrEBb>Br;A!xnY(H6js;hy#CfMfkKuWq%zu>Na+jQ=R?;q{hMVr22$7Kr#7m%81JCn7?6gMO1bAK)i(n2V0+m(X)FHG7(u*814)5uLQX%r`Pw@uDoeh)o^FE%~sPnw_?^!D{Fh}_a!;f zG)b07$Q5ZF$c?mx?dR>0wn%P&Ys3|bSP=g1NRs}3)g|HRj;~$ciI}*&yp|GY=k;IP zag+&HC0RZ8oTc0L)^9#J=*^$8s)?m4e`{JbBi}oCa&!IOZA)|P9%~Zb8;NMU#X9-l zfe}=y{TAV$#!ev?Tu%OJKsoq2L^K-45d>TzTpZtkDR?Eq6s(Y}I*ARpZFJd^Hz4A0 z*zZ=}!5NaUL~}s0$v?-rPN9f6D}KbiKuG9;6o$v|N@xb_5zs@2vU*Yt{MNdOTL2T&vZWnU5DS z+WfAxG?(9Y#di!0xhg}_n`}USSJDZ8fx2|RnyaF@Kc1_CH@Q^82H14yR`!^c8m3Oe ztB^Mfzo6wMp<1F2S-xl=9So6>WL2(?wNaC(cjj63c88NqzghX?wp>G&A-7|CPr<5m zT8tw1%aczxg|PZq6=my?MT8!1GPj2^<01*W%PDmmVXbAkPNZk7ObV*vXeR(x z$ZJ47(BQB$R`!Q1Yew#{72$TNl^VFKqTI z8u9j;l{XEJ+`p+_K7Cq2W*6-fiWwkV=CYW9OyX}&HD*9N9y4Gc8@V7YPPl#(*J^(O z-!UQv;BJs8jF|g*CvE`$u@?M*M;(~UHFOX0jXTtvuvQv_C>WKq^8a8AxR1~tgGU)P z=OCgoyOL0r4ml1IIgy=-Z#?c)bc@}3L<;M(^=Q8~GNqA^3Q#6(*BfC1kOhbuNZ8@%XgRraF60Mn zbA8IS1&vnaHdlM)!!LZHs@2Jlyv6=a@fU!z}P17=0Jg>$q9(-D;m>`RRv;0wo6G1yTxr|Hv-rFt1El# z^@1v+sUeQb6u{xz|ekvQvvGU?bxWJd=cG+z{J*Jl@wb2%s>~tgN3HF7G7f$lisn!^geEGmnZrJ#x z-K}evM&~vAJFdI1`>ub?t=4B4(`)BlyRdK1>`39vt7m-um4?+_g?Zf@ItI4%mRd}< zB-z^8UA63R|GI}Fj@H5D(M1pK>=>Q1z>pTHiUd1XHCH1W?S4<~U{&eNx*T7=&q%>w z>i*!d6)pjhx7_cP$zw&ZB5>R#IANQ~w7&>ht^y>kE(DS)T6nd2Wd=lCXmsYFZET4# z?7o>khpgfme3nmtxKjGCaA8HH*L^YD5tL6~lnWPD7WI0h|8nq%8XntGj5X>OP*cQt zS*{}qzf2zGfx%#5Vr6Qz&dXQkc;dC!Zi_T!v+Zex?z2i? zX;0;JZ?;EF4P}pQLcYe0S^4aPjO?-V?M`Du6=-qkpO^lop*`*p+SPPrJ6KGd`(b^k zp#T_*D~1fo@dMaBw0gMV?T7X9g54i9n`CV!k4Q-tNkRh$qB(amt5@?s7nGo}xOMjE zw&tqZj=bK^SVb^dnk5Usxz{Mad2UtEYTcE+=qXsc_fl4cNaI3@DB{h zTBG4b_Q0T#?;1B6z@pJ%O~Q%z0VnYv9VZX?8%?Z*gy7m zDA_;jYE*eh@cFNR&+iAH&ztg{r)K<96JqQRtVb@V^u3%Ge&MvLJ$Q8J;tLi`;tK4I zcruwL3uyfiAyf?7pG@6v#UVjQr|PCYHI|FB5TrtaPX~vZPP251J3@s4n|*Y*3Owy8s;Hz>4GF*n368yjbq!eY_ApfaZ*6nNyMm;?Unxt zej0GLxSz%=cRTC`gCKab?fH&;L%Jc|oCdosIX4OHD(*3l!iPcdCK|{fXbmop$$@Mv zsP8*;e%<=>2mAD5O8>#9*Q|c#z(5N7fJd!e9?2%&y#1vEZEXi$+J0)&xn0f8yUuMA z53i%3wJQSI;yg%?IlU~tYkcSP_%6t2Ui6CMyY#P*Rb0>vB!oOB6Z`hJxIRbN{d}ew zFm58?#S&*|*sWZ<^m0>-B*K+P{QL;Duf6gJUGuRYaXQ&j1jpqF*+GARSR@jXK)d)> zZ&GU=p;}LzNosyO_L8fqbFc)PKC`T-z}zwR>T^zyfh`L-3@$T^=)J(DKl0V}M66%{ zhOFY;lhQvkZDUtYo1WX5D;_oTxx77w<;sAG=Kr{nPw<>0*m*XJzF_Yvj{T+r?C0 zUtwXN59s%ZTDo$9V!JHZ+&(w+SX=| zaQEUD$3Gl-`+?!%2i`vN;!%8<_u$(%yvRCO+qS#r4&Al2O{7mlbMM;L#-u+<3-5jN zs;hr+?;`2RC#6OA{^07X-n@6A^hGY`puf=?F;XliLBimd6yL?eM!~?TOCL!*qhQ2> zGy8Sm-+_c?rfypKw@|`9I($L=x7Y7f^)AS_OEQDH1sxUlr!~y)&+m-cfXindg^%I> z3{j{P_eXm>+<#o@BbMMb%X*~*Pf$wn1d^Owt6Qi(10&<{%^I)(#7w|f`#AR>`&6VuACF1oc=hd_Q5aI zCtW!;e0m@^kkHKWgpb)b8jU;*Bj^8@eN%}N%{NcU(est%;=(D}x#pw$I3I`22m40b z2U-Lfyy)P9X3bCVcd||9qIv*`wZepuXwqmh0S%ChBSEg3V_astP;rbKW4cciLgk-m zioG`FI3aTGz+-FRTYncZ0mVXdtkDGB8cQ!x&FgZddg+u(wLjNv3*_cOHICPNP{oVt zV5CrcAn2qbMZJ|?RRobX+&BE*>3f*?JaK4d(pW@% zD`nP!Cq@_S9jvgJQ2Xg`gUi-lP~Ly=LFN6|)^1rbD>cnmnv>QBQ}fj3FYRg$m4tZV zCnhWg_G0AkGc(p_1v(&s_~Hz>$7GEpZ$jiWY7PrJH0J>}AZwR`=3K*rJk{wEmI4#d zSI6)3QgL}R)tM<~#Yvz%qoO}xyG1<2fg->!3zN~oAdbInmF5ekl%BaCoxAJexn(Q9 z%*1<6zc(DyT1}RU!MzJcpExipMf|~7QPRvqPmIJ?4s`|0EH8D|iY;qjW5x#`WX20? zmkkalr{cXx!k*gk%C&82Ii)_7H=^}(>3yAAudGP;u4)NEZ;b0T;7B68F`}4*;;IR~ z(aY5(@-KhJiGF^f4<`mD?ntT^zb(Yj)=5xk}fYpq1NwT_Z=yhl- zvK2+bg$4O&UgShrI)!mvri{j8N7asw6M-dSh)nr%vs}CCi`&ti?u)BdtAEFSWmxg( z?~mR3*T)wweEhGs9{c^HD-6naE?l^^_tcLL9s1F&eSNpm-&4KfplMg~5x=17s-g6r|@$waO+Tjs+nv=*%#~_{S9n zua2}Wvo}8Waz^GgDO}vX9uKVYN-rtDQ&s8hv)C_Rd)-wW4%?M)!<0VBw$=~K*+09W z_1c$ruwP;;j^(y4tf^nz;=ibftCKSFbCeEP&W5=GQ`^$roeOSXTZciRUI0dR8sqj- zZ3;f=l!ynBEyuA8%o_u~%yAVaOenX;6cFFbyz1Ikah>rPQ`oK?IjJO=M|v;;?JQX` z&Je$QLD{5nD0Nav0^AwrG-GQt7w^4SAtN5+yL3t3hw<^64QV9Sz+?d5AwCk#5D-{P zj(O4xi9_2h34aLpGk}$-{X@Y=Qb)O z><1$|OVbO-meT<6cBgz4m*j*qUT1Bm3&FJ@NRfkvV$@=HI-$QnNm(bJr8=N_wL1 zX$M}|xcP-^JKFBK^zs>&^39#8*$c7@ULY{-fT!{Pt@X8eL0c@niHD?464LRIRIADs zCIzEHBtmy1cefWCe(I|F z$ei7MB}1`bXkhnj_CmIEcj27NjBsWcSyy&r3jF)YESb1SK* zWwYvk{(88p%3~|(t&tZUo|9*Z^we(KTetFPpK{Hfg#)>D;SA+zNl-2z-!qt1nV-2M z*gUt)+u2f?X4^S3WBrU=3?BT2-ot~Bm*L2+sc>Y;qxjB?w@B+Ro}x<=*CI1aCrnel z=??heL{VBnoP%=M68AypWjZo}GbawH<|3iL=D1$2vQ7Rh_TQSnD0}H?@qO)3&T5{- zv#-FLT?vF)`YgQJF$La?-8gR3sAzLpqhtZvEKO6smYiE$lPxW9JJw%(!r|QH^|!}r zihRl9wFks^?)mTM_U6gTETXp?#Ak~R%vjS|jWkuep{ z>>9_JON!z+bM6GrECo5fNOmfmke9>Ea5~0e=6K~@6=l|@?Jg-dexr23iYG@S(;eSP zD=*o_lASFj!Aghn!Hv#>l%Lug3x=MYJ-hIyDTU4(l@A=1!IBoICx_MbD%I?byrA-p z91lAiu0mbK06XAvD6e|`?0IEI8;dzy%HBY6im@t8b6<7oeW?(>dLD<38p$$Zu|Gey z?E4q7<%#oEY`LMXx~eE#nD6(xv#!LJp*Kv##Do$VtBv5YplCb?WCC06sX4oK!HtVc zt>KP}r5j`GPV|>xY`6L-jd(_HEr7o!gk>iq4GI&#K8yO*JP=$E#Y< zFtgm#QeRuBKW8o~pbIgk~oLS*E^Sm!$WxCR~(R zZ9{!y7!2G-b^Ximvh@Brjg(|bRvZSeZQXhLoW%ZM@FC3aqCtGdR^+hxjAJWJZiKD& zTO$su*C?Jg!Qh)bjx55L^$ca8P}CKJkwspR!^O)Z!i@xY8P-W$o2X;Z#t2PjWQ4?5 zCqd0o@qdg(&ST0yGb(5?vE8{F45N^twHZ)=g?^v`|@y#YHPk`Uh5& zIu-#ql?T#}C%k9H=;lLAlaC*sQB>7R)!kDo(Ik$V0WxN-#D zs^hqFk+Dd%Q75bN*#Fi^4#O+n%B=ZyRbQpkQ9iTor$1eNVs5Z>(a~XL>r`)gz*X83 z%0+p5rg+yC>t;yizz{hqc9`dd$z!@gaiTF%nV5$FDf+bHn3T%zAvl zoZ*T0!pxG+LNSO=@N6}QVU?;4=S-2v0CpQU*Z`0th~`sI;f@mLC#5@Z7#)yn6;O0= z4){zHOPVXbjj#?4_a49T9s@JpedOppMpl7*+g55)k6Z`*JtpO0V=&W!E`nm-Gt1!TKB2F{ESPSP%o{5}KdO;1G1zGZdd>hJG!~CnOp~PE?#(K z-o5i~z=s7#hS}LYZ`|0`b>ka*zBvA2r>1t~=$xTr%WLE@jd)S6S$^Z3IY&ooHCpL9 zx%Y;bw{Cs;`d(RihV{$6*VDHfdS#~OM;?dXdlKt&9H)nD`4@3|%}LT>?*Yd*ZIutmzriym;quV2KOZhH|K`Id&$D~+f4Y5wIMN2rUzD@jyKvtLT;BEn zipy*70+l|zO?}dpQ^BVLG6+sB%@CgVNw~afQu1K&&k=WYg+Ku=FaAyyB?EQ;!8M1H zMMvi;yOdYhpQn@~(%PdWK)B5-Qw~)MxLh{*R-rqB>_Fd>keH`&A(IBDC49_TSv(>t zI}85c%Ypb$R&vVCH1(pTs;|Onhi3C1|FQbSP*5G;W74nAO+CK9D_hxdnlx2@BmP?* z;}!maIMVaE`~#O04gP`gA(66`7}DdPI3B*{>tQ2phP*8lu6a&%4}5y)&A68UBH{Cd z-b`^mH;)W{pV^jco8(wfK?G9VC+s2aRe(t5u^6FgO%JWvdTwV^`;N1VH+-|D81_%F zX0W+wRd0z_$zi`T-E+9Qw68d>kLRD{d>zdwTJ^PiC zqb=!O)zmy#6RZ(_&KF2B`Zt-ra*5wp#M$abyGsMi*0{wtEH~H!I+>8GdChE#A$7xph5jT0QymPOK2K*ivtKQ})b->_1^PJf39A zG%5cMn|5!#ExBUaoN&defpWx5{Zx5YdQW~0K82;Rlyqo)kab9~6@iiwQi|$!8fesl z2J4*`wgB%XIa?FzA&Q2e_}vsIarF_ao4bCk5p{L*cm@Qe=t88eP)0GK{r<{w6;EeP zu`?^4{nC+LH&>$f&#tw7M{3VK|NJ?&L^&g6w9R_w$N!})eYIxZvtRwr=F_)zw~VdR zbRGTEpN?|cdmx7@WD~cAI%2I`yri@~}#K)gB^4SM|GoHu`@#e}!*?y#4T% zh_59?)1Ur0Zq%++{>}`Ku{PzEsrl`iBh0P*_K2cD7_HYFMXg<`r%bslkVimSc{Z1`0s+RRqad^~JL9{!&IltO(T4lB6b**b_Ti2Cmv#v7vt2OUg z3tCEiwzB>jkEf=;%;qa;DX`+1=QSI}^>Q^Lj%GiHq*o58Q*J{hd|;U16&MCA!y!JJ z1vH?3)O@64Y|F9Z%H#s!{CNDUHU7dJO#>>C+i$E;C)s`Xo+*R1^MNI z;K{OCa89aSrZR%O!jYdsG9&`_Cs~PXM59g8?!dpALaQ(0N)+F7MSNDcAHN=%Gc>=V zV*b#ah*IE$A}v5qr0O&aqfS75xUJt~A>SyFN!yK8u5ec$!Vsw3?Ko#h(KH7S~c zwwcpPe6@X%hN1dEN~ZBvtC#9vs-tukd98A$yCTm~G`ORyd&8`Tsw(g4ha;_ZH66o^ zg&n0%Pp-%D(V4{g<8MXpwE*w6Q+|^Ba^Qi;hhwhDj|v##i~=Th!fg*01JDK=m5YNB z?up=j`gOD!8tdz7s2hyxM5fxmmzRQR6eTq@7oG==&f!OpvjhtWhNw(2OW-u5P_Rc5 zW21M$yQSsKD(v3Bu%c#Y#k^)&+UTlqJokm8vRUtFYHcphc9nNVJcW9jP5RTMX>!p` zG`AR1^SU=p?_bv&t*kG2e8!nxaZSP4A1xgP*`<-f^2WT}#$snunhASuEy^q}6#j&| z5U7QXzB))&R^!>wiZZv03J9W70k#SX-9)uMb=xEsmF|EZizzuf$EB5YQblufm8U4% zlv&yld0z*Aj8SXIEv@si_Nw9*d#KzKS-N;$kn#|2z%vg>KSNAP)F&Y5w^qm$|BP$| z#$FWvOxXxHXAjo?c79GRN}ba=#>>ya*f-*w)foF_^(QeUYMIFB70Z9)mFs0gg5cwe z0nf!fUH9N{2o%Tqw85cuD4L{5e;2Wq~ss?m=`D) zSR2z$8ncHmXrv(VOb-0HIBCp=bQ&|$PP^}}o1*?CcT&#$Nn^&n#BI1&5YHyM#Ar;Q z%W~mb_JZ^vGDWoK5d~XP7_g(lzEo*-c#!!;ePY<7#w17WKmS?lNHX4M#Q)w!plBAm z&cUwBGUPjyk1`FZRKb@CyK%2KaW4z*g?f@DsOBe8+6iTg(dG%F`wV+iy^%gukN@9C zw-((FWf$Fw$thN?Y)xS@Jps1_%`iUk*SKepweWGbusr@do+bV-|Gky}-b%k?46TU;fV=A1=rB&nahFOdf-^ z7r&ky<*SfVqLz0qH~XJEc1#}o;9>Be7nMg@D?e99k@9psl$oW(#tV^1P$g=y`g3T!l+>g;99p|`N>jw)E_Zc`{F*Q4 z!;sIGa`eRnBpxGTFMC zzC#=s|5lanKq(^Jcb@Wd_H%6-bPw%$vyOO<%>qu7MuC@L<#&=d-=ZC0pPA-8KGt!=?%vPe!^UANqAl7)QkQWP3EppTpkVYnEKrMcbQxV8ywt8i1oIqX= z)K`T<3x$n!KWcX=H?vJHyL`hxzn5j}(0Mv+2s?rRR({Q%;`at7hP9yP;?Xi0q8V0K z37YWmEkyNNq4>dep#mE0DdlFD{ZZVSZBl;SVaw8%yKEh}XB)4^tbCKj)X~z?fj{}Pb`4Zz zrN}po&Z%BCvaBr7ToFi0%B^S)lr0-sRXw!aV(Tv++}2((f`d&1Yx`qm%a$##Xx}zi z)CZ*z@7aR)wDb2wv{??7u%Lcmz!LC!kbEM&F7}#8wcKeXqndiGi5kwA7ov>@CTZgR zc-{GMU<)9-%#Zouz`6j3Croe5VfcWEs01;i!8(oaW^ zM9FT#`b63<9FPb@l|~8ornoHvby2N~SE|N;-GVze7v;aG$~&B<&`U#BwHyM*Em0sX zG}$PvUGYdpUS(xohO#{`-2OnH`lauI_HdpwPg!#De;p1fiJhs>E}$y8E{^9W3ZI%rUuZ||uG?-h@*BUg@_9r^gXDBGE+zJrqCaIkmPcM#`J z`Cg(hdg-8ajr<7ota%j4G!GrR`U=vpm4r%^Afzs4KwSh0eE`A!U@(!7Q(O!d#jPdu zv6(xksiC&IycDhAth}WzrHnU1{VvjkjErGE)PM`Mq#)&_@n9x`BQHz-)6!y8YXxz^ zFLkUx)EF)HRCM$W<~2t}pV5&Pigs6&bXR4S_N`dGqOY`fu&kkM>4^nvo~SR-+s&4| zy1}OMzN)OUnXA{Yo>?|$VOdkjg6rpu++QpHqti5CVP+5Cb8+teSvoa%%!AMJaLAbnQVXSX=Zg5ps?b`m5 z#wcGC9hahV8EjpvfLs7jhWyZ*umspF{dVf9S|bB>Qzi?!?)Ofk&SLnr)@i$e9oj0sXiZ};SB4!WPNm&w6aNeM-@)$F*d_8` zV(+1B{AfdrAgABXH9Pb?iK;`4TW3=PVW5kb|r?Z;_ z?JHsxD;CemRlkfj(-(1cc1P=`{%}snJ2(v=B52z}du^X|nmO^l$pUH?@}xbAdsUO) zvAF;r;81cdZ=GZYhk{rvW@hFz$u5t}Eu+nu@~gXZ{QjJ~nUC~n+)qTh1@!2JxKzg$ zQmQ*%gz63K12$kleY`a>W1$DJt(}c#0}4kHkL6+Czy&yJ0fa!78Hyh>ww#zx{3GdP z*;kx{&B0G0Vu|Yz>ljOEZ$)9+K)@g3;wN6Ym-=|~q4UuAxb(rsQ4tXI+>7U)@vOXzWjN-v9Z4I@R%TEmV9at3AZ1kFR z*`@78Wdk)HlfNp+?gu3=#RG(SYJksW$*{-~6w4a>6wrb_A3p@6#8T9nt z(mQ?s;%NEc#(KLx9LMQ z==9bL-K7K&Cm4rTkdm~J$W-DWNf-g;^yoOrbWlZ*Lq8M;Tr_guf_b?G1t@`>AM|pz z7)-#mfWDfTb|O7k{oUf>Aq7=v5ip*N*QkMgA8%1hJ3vMBh>&)NCOcHzwP#*=OLKNp zU77i)O>|dem(Fbs&At0a*BpNDsnNAx{_w<|f0%9a=$z}6zdZ4j@{^zMi7vnKiEpi2 z@XWmjmsB>aJvrDtVywBLkIGjy@Biwa))f({DyeD3q4v%pTiKjuQ}^O3YxRl~Lq~sb ztbN6^|G4Eb<tWS#0e0V2d}qJHN28_9Q)QVdJ=Le6NkOa~`Q0s2Hcc z22|HX(JB~uD+!>TABRZP^1`o7%2c)zW z%EF6H6-%yr@TJkwmmfU5xT0e5;RjzH9ewG+>y}iEh6lDDdvNaDv&Xm2jEp?~?xDF4 z9@{z)Wh*r6|-?Y88Y9Kn0AIhq9S6=QtO-%r_ zyr}hfh!_+fKMG7tP#r8ogZMGp5qws_R5Vg^!$6768tIB2JUD!Cc0s|M>*nvhhoxRg zSe4u#p9fAm@ik|0EEs4gbSO`~*Fj+bs!W-R<6o)1hdx)2PNfx;qX;b*$!%WVN8KO55{*hI=>bwX@R?XM`beVP zE!4od?Dx;^c~0|(_4*f5vMt%EFD7kVV@@+XnyS;MKAN0nmQSx%GTA$;$DU#9XDDCF z%3^&plv85AK2>?km6?^nic zE-C${zw9^k&!LX&AxJA#;YB$_Neef%q?2KdhzlXsHK>)Vmoyrvy{=gC$InFDgdsXx z)KgJiy&g^vx(K2USD-9LWo6~e$^lTv7AZh$TV7W;t{{Jo*0xhp5UWomA^Ur>ImzbE zbLExfHFPxOWmWc+)vWe=WTQSg!yCydDb8z{){y5cpI%ZiKU*r;kn|!a^$Yq9tBKUw zWDU{UWRi=`DQPGQk?Br%1e?n8J1RYe{%Tzk0yj(i?rgg)*j(jpEOvX{r8FJg%F~#R zp3cN{7&DDonG^FdEQQ4XBR>WmIV5DoGBHC~M%1cM^}9&aDu(yhyAr^HAel&ofd6*5 zZ0^-MTt2~LnnpLe=50#Y-UESJp)lfN#_&4Kdb~c?g zBbuEZg$^kShlJl~G@2zCPn1xSV$^qlVN+F->jBq^y3(QXN;8UrqSWcmqB5v-4Yzl= z7Px_R7v_g(z(5hM7$9}mfjSq`g}51mpvNfeAX?^82e*2(ItLr^Hx3jR&uYlcZJ1SD zJkaPDJMIjxtgRU>yleOl4>BiD&%YzQs+@l4SGojy=hJhRd7Z=9*v z?o>~_GrX#%W<}xYd3W*?)eA?%D$eP+^jFPF*mcu|<*}t;o>C^Dg8(qMDAOlt(3cbN zqX_6ANvGE(={Lc4MKN_sRR=FMFkO-sdRjaV1*)%JpFCekPF|PXJ-xG~Io4EHQ&Hyg z2mBU)DA#0!u3$x-9&)ivR6j={AA-QVPtKN?oKGb1z&Zrf-FD35Si&4I=xT_<155s^-%P<9gg5wP+#SzkL@HM71jCo?4}Mc*~;2RChd z>Bt<@O^0#(dg)h*}UVF`x?GZzk$&_C| zyYAT2+3e3AyHZ1T=Ywv$a<}V|>pMnT!)BvBrKsiW*R6eG-%QitJ;?6bD}H_H-Ro<+ z+bRr}%;rdNymd`R~8GU}NeMwk$$)d^9u7tsr zF7ygd#hkqztp-Hxm)p~mkqcOsk8{Kzw0=!oWFsJ3LWZ3T?g?pu-GgPe0aOFHFG;+S z#YSFRLXAQFtaH~9r1iOOiGa>DEY4U%eNi~z&&eh%A`!$HkKsgnSYF~z?V?O>nK%UD zu&Ssub#<-dfR~Q5<&Zeqvb^0Nh|MW&ZC>2y@zwViZ|J;nQ+xf^N7kmWtn`+&o!{!L zLNy|5$+V?yxgFQ9ZAO{%mC4LyZ%JKsx~|aXH0IazlpfJWIu=%!byfyU;z?~@eOG?T zw5mLl-%&Ah*MfQX?dZ}yZFT=w%F?cx24k?KNH1E`E9UH9I{nzXcFoOJ&o@$M*0p#t zeK{oLMB&(_bnvj>3wrRd^RaXwTT)Q~0E9+FSsZQZq{+bSQ0A2eIGP3>5rCj+;VF!_ z9Y;+`!qZ@+g001CqJHWHC{;P>g4m~?d)dt~H_86=kl*PCR6y;`F%5P{fS^ZmO2skP zNz_*@xR69l#qJO{cW>(rUB8pPQUB$2DWcQfVnTPIrk1^5-i~kSt)`iWDvR`K#*~~$ zQ$a=3U|rB;u*lLi+M1CgvmbcPkur_b_czIXho0ZE@#UifnsYYy9}Kb5MuWkek)a#Y zYO?(KPz@s5Z^wCE=)VlG$I9<33!q;p~RqYZkRy_nR zm#21d`+Wz{AfmJRTu^>C5coW>E)ZNBW`K?Y%h6dn9EcLKkqKQD{T|VD2mJN~ItJ8F zu3u4JF+~^gENEmJ2l$qZ6cy-Ae7TF?WEINeY@YJ?GwKUIuD;n5&@+eGrcd=SJCJB@ z5x1^dyIT1+t6RNxl@tRE&G&+}-gv86MKCmpzG{(>9h~SZ`Xvw?%-KCw`x?wXPhU}t z4E-GMYa;$1dU72Tk1@0I9af`!=U(M?R*QdW$_-a~b5lOFy7W4y<$sK2*?UCe$nc5} zKU^_9BF+lgl|zy0tgM^NiiByMmVSiHbI;L1f;dX&JC*<7b9dgtNYTQ^B-!p zs&YK_5zS5i?ytGQ&1g&>zaehC#+1Q%JzdifOH*1*5MG%Xmb8=#V?`)vf^V5mJeNJ= z&=lPMM$+aiBL_T*>&a2PPuAf)Aez&|Q z)%y7%Q@XU?2qkz(!D_6uT^ICKUtHT;>Sz2Gev?Z9~O&R?|-{Fy(nvuhOeOHcD zSC3rTxATfn>yo;SZlVM_5;S16C2D z{uk=7TVqPOnUfAVxo6!68HgL`ZXT_>K6x+lDMCS)v!*&;RhS>F3{?X8FW?H`Kh$hS ziWnjQC}L<*Y8Z4H?uk=T%_CCMDxL`clCf$vPd>KXA$D=waQ(af2<28xRZb}2i=L!)~MS|{D6iD#79PfPM`Ci|)Hc*>p94V#t^ zZ`?S%eADP}$_6j$n7)fn3cIFvTr^mA$pP%Cl~@@4IQL4R5p05|d73gPauJR+l%qozhvQw2#_T3nD9MYwDr;*SA!zV!4Vx`$x+^*w;;RIC53Xv)&A?;ZOau zO-|(Gb^N14TjcGVcT-k|R{tL@zolF5nxW12_4WUwztB+AkC7 zAiy_*3B~QKOI%Mo>s$N)wPcegyt5b4R8ykn+Ws3}*|_nQ8|KbcU;Ce_TX9KS`z6D5 zb;Fmmw_UQLPAt0O?VEafZhHHQE8afR({tqQD^TjNtZdD_TQ=XjrnGd;y<8R}=?O(P zmmqc({sW^Hy9MC(A)m+*il7?W%~Ij9SN#V(b5W;-2Z4#*Pm1E7-1(MzcAI9&sr#f- zS8>LpHjT3v`zHJd___37I45Y?B^vrXdn{M_CjY$uGy0r6R;?-2EXMT%Ui#dG>sMh< z(6WQ?(dS{r?0qUv$LCA=?@Pz3r5E`1LqDYJ8*u%X@+@4x%t)U*#^TbGm=i6#{5Ld5 zam*3>|9OsB4=TTnoH*3oedxppf$u+EJZD>L>(;qNMRT{dwr-nKEEZk=&h;G~_;dYF z==CSppKFe;0xjRb9Hk40tuVohN&rguyAAeg%+!MMnMxPZJpc&6fjjKLo=AD7>TDs( z{EbnGRY>ATu3~c)J9_n@Lx;q>JaO+s7TGq7`A^gaVmvYr3p~FQb?rBzRCqC4$}6=tl%b@WX!br0{p0 z3>8Sa)fYN_F?+eHzt-=s?k%YsXowp1HoI)nu1Ia$cyw7mBz~lQS&i~?!C>f~uxEHB zTbS27yT3RemW)tMXVi{Dtd{P}M{3I!?(1sUuzX>`rz!A|la4VT{Pb;pPDM2*itq41 z^T$w7)JfJNkpezPI>BQ|gqeL-3`AAT;w~scIrL0`vGUV8DWOS!EDq!GDrW+9ijQ(q zF;8{0(Th`C*4@0U|Jqg6JJ%oF*Rb`T6|0V{X?M*HBRUYfGkV@#a=&9vU0?1fxf!D~eY$aXae1Nm%N_JpM*t zDCUV{XCEMK1+7zy2x=e>5pWO6!s^M8%Tty~5$AT>067t{ONkF@WyLAY%&H+0&3cx@VEyr98pEsTzzzS(Y-s{TXsFR zcK-LavX?wSgr&8y9J2KHmFIhL~sNJBx%LWrjd?FVb}7i%HgiU$n=rMn!$QsX3hM@#sxK*zWVu>?>^9c!Tl?i z-*-XFfjz6&)T}u&G<0Nb?V4TTwng#w;YP2wakxFcs4cAN3pLCxEE*v6`hlXt*$tu5 zPjenRICR~Lswx!gIQURb^v;c)@Ce73?(f`qC)i>c_NCXc4_P2paWb>hd5rT6Og!r7 z!81^o28ngXLk3EUg4sOa9C>~`P-L9NiF3#kFxhXbMqQ~>B&N5nnjVf#UtZIQF<<>@ zX`t+~-p<3T8(J^8fBCYzHaEC{|ERo~R+xP&`*Fd{C1nlET0^mE%i?>lIMP^EQb{Fm z25;TkQorf;B{dt@ZKzS^*{SBpI@tYQgl}i`y|HoQcaJT6zHa5^U0s(^yyazGU6-${6aV8Sqt zescc&lgb}odf zEnn0&WHgnwK|j`o=YVeb;PN58L|rA89_9fKDFJp+rDtsu#$a>AfYMPUO*G=7t7a%)vaVxq|I-Sr$rnp5DM|zXh}x(U&6HbD|Ld zd_&J575z%MZ!if^HbRkDfZJZr&^GwTb7~vwwk+B5#P+)0 zt6$pKv}5H!fP5)sGltu`E*dC`_FmXqbwR_H?c&45HA6nl#<$ zQ>LQGesO^*D}B^%L5NsiupsT!Tu)eYS4N&K)3OUxz`UXQhsMZdPB}?W1fSCWge%bX zSD@X*ic_s{1u?*B$`m|$raupg!TEM1mWlG%Ei*QE#}L2L)Vg6-9=iwSGUHeE%)W6` z%k+Iuty%pDRImKTsB*ul#Q%WwY5V%lNb#&y@wScKx%u7e6uq~?Q&3d3_O=yE9@ss- zefMLl8#k|C8&~u;a2@1m!lxHJ8Kjs_HvspLh6RX%~xc;ypsn^-$ z>z%khlmGq^AawHIPq{uF&u{0~A4S&c+1GRM`xWdTc>ZI_=TB+BAHT2R*B?*zZ_4xM z;QDNS{fXrBr~G~p&sVQMnSB0~-}mA7-MoKKC7&-%9^YL2zKLJ|%GlUB=rez8FUEI~ zq|>~b{QZ>YZxXu1BH?jdf9>4Y$Nnl7Az)so`Bw7!l>Rp<4>Gs71lQj>XaD24p3blT zXiPbizTnY@v44t7#b0vWTizjrgmnaoet1CMtFQK?7iWn4FD5?5=dmmp4fWHQjD!P#-dZU zUh+;Qa;(kJt|rbnY4l#q!oiRkQ-5AIt-heR+MMF?bfjIix?)~^fF$Dm?qbJIr@bfN zl$H8^*}AIocuAhstVvzB&R5k_9Gliy>w8cO=N=QLfiK$7*J|P0%_*taV*w}xF|Tq6 zGDnafKIMqd&o*rHxC8IJx2VQ>;+XT^qCSN<=e)PjQ_g=C58%i;h8$QL3Z|ye>Tm!z zBXRUxc7_SUMi=M`TKY=?|B-#+<$2QD?Jo@Pj`!DiGfHO^yA1|Qir?q3`(qAYewKNV)mM~N6vyl)Yyn)i zUM9W=%Yj3vZ-(a_@J$JhAY;Om9iDIQP;3O*fy!{UH04K!oF=zox4H#fz2+Zu)#gd_;IX6`C5xH?Zk=n)Ec15mtn5^G1oQdN1pIWvpEDm zV~~kRGzNTVV!lJ;ySs|IP1Xc;mrv~N6Z8J1w@%Fem)<(T2VZ(C=Z7!7E6EorA$tVa zBwP`(O;SWALz5)dm}>OMXMZaws+nKs%bhV&J8eTaVzQ@tf<@VxC1GbvtEVcnw~?(y zMhW{~N_GvbZA+(xD?(LPWErIgD?)XxM!l1*ugc_pFUke~r`QL2rvbI~<&!WULENYd z%LB5CnpNNpGI@;9xs@vkn>ow|N#H5CzY{l%@Ed4Vo#zJi3ACopa|1o$eAn<}zMg<9 zT#!eV+2ErlT;XxsK}0njIBn;!x~T4SHrrPgvbWb|mxrv=%I$gftZC6`S6xoHeQ9mo z;?~gMllmOj)`j*^NmkQzN2nyTwu>Ec7r2}rPeot6d_ik8+`gn{?Y7^VP(6!y7P52} zXlM~aa7%L%LTq!g4dVvYx{mXb?MywcO0}|xvvjiZTdmu_f_W?s{`pe4u>w^^wTgwB5 z-qciYVW7NKj99Y5_VR{?a(g(-qMULLHJ9{O`+P80HxD_BcI0(b_S0sVUMn3U$+%_yQMN~QFc$I-zhKhX5&8S z+QVc2lsC!u2vK%I+>fuK>=9)5zsz*(Q7Ipv)hz#)$93`}u3QuWrG}jRhP;&_3QA{%rp$o9&FxV4u3L)J?!+I!BD3K_X2v;Cr6itq@=0;^5 zJ9;BKCN5Iuu&1tIk1KF%FyW}UNcu$l5UVAbyNj>6CWB&*iKJ~fQIATCPCp=icm-V( z4hrvUbej3-i}qRUdB}M;u&9B>4a|jjw?~w_l;ca;i1P4KHpB*(A<29B&)Ev)_%b;6 zhn6W1^Y4_q@F=u8B78#=((K1Omyj%w$|0mM5=%Y@ctXs9W5L-Cd zPo^AZfhVq0*hrFooQ928u%8eaLC0H#uS=SIlHWmLm59L3!I&2}3iK~(IhX7z~ z+VXNJm-Kj5$K)P~p3LSLZq}(@i!Z(vLBnVcU=f@-=noHSAuualh)}%vzj9ryd`&1BhJop{^pS(6AcqI?l!HHx z-#Y0Yf;3tRD+%9GR}m`wzw=}QYJ|U9s3^YjbGS39$ou!Z)2WI5BOFgKQ z7zGv*cR$$9^SxyCRuzQ|?%>vjiq$KZ7W(4FL4!B6t+jH^$kKu@xF#*20=CCg&u@@u~+Qrr%y?8x?TJ~DX5m0X8bV4lfIwb)X8qV#FCLhJoigH@7H)9;dr2| z7hz05bFPYqA!8%aa1nzOe%lRaI0y;Iq=Ki!k^p)pNswEu5PhJ|W& zKqmEJ?LLDkP7_d*UXS9JNUVhi1Hf|lQY)RcED-9Drb#0fv|7>)a3aQO4JRY3AgWeM z-#pzaeN$O`ld_)Oa??+*5PyG|lHU)ri;;eY^yiY+>OpJ&$B+iPrM!jE*xhVTC)>3;-3OW@d>?>F`+5?sqzs%c!ZhQqr_? zn&F4kK9>1zXofx0EI)?6H;~`40U!hcgq*=p$0a4Q_9?b}YCL z@5)_=JL`vPvlc)0(Gg|~SLNh%wA8q6a?jgxWp~S(8PV*Ppd46o-~0RWR$qAOw6>1X z4j}EWd*kUN>+AAo3|Fmq`q=(5v&X#U=z>VFX{b79=E33W%3a^O&TmM=Szbcevm*CP z_dt9{gu{R!z;FAI*?bJF^H2ldx%c!J5r|zWo=xUTSuAHXgtgPauoSepZc}50; zH%Ffzf15*S;aMe3;;oHa=arSs+uB&Yu)D?UZRuVVZ`?9aRyMGuF}_IsW+A)5T|A?t z1Sf7^B@PzTDt*b<HNLj-Ft^hf_2?_dEIqEScdU=erfVE=jD08f-gYatqs~f z{QD)?mni8d8QK7<5wSohkph<2t8k;_Il&o;Ff8JgMFkU8k&@okNhIO1#H2i{e!K)d zs2m|bagqvx@U%}`FI?7PPYE{+*7YA8Dh$-mTNmw|HBi3b<~22)M}B_uz>RBayRUp{ z%bMFuM0WL_{Eq58lhJCtB)<8vZH052qm3JH8Ek>GQuAVFUY5D@n(yuZp7NEyUQx6D z*wXFayLn*#yqs3g>)*F$*i&g=$Dp*zebS$`OTZz}t`S5jBz!8k1|^$9ulRu1h}~7W zRXkCKhn!HDBBm8KGWsxe-(e<#=Jk!wMxMndY6*pC0}EanzaZb!Ex7 z7)`Ql)U&7MESvVkXMN(W2u^dRDJui5!OXZ!8731??*Ss$apFOG_q<^>Z@pLMWYChvW2>6UqFC4}nAlU*_ z16L(NF2dn~JQH9t(A;COB>-5k)ndD&-PQo_Du$-{?DR^pVe~cW_^H`?qj=%yRYtw$ zE3z{$rbbC}Rx7$c#w}W`t zaUie^YN<@n(g45SHsy1(O{cS(mD5b{n)Qw}pumjmRYuqyd&O^v8Qwa-ug*LA>(P&z zTeDlTMa${`kSe4~JQxjZ5ZZMMG~W>1#A6mhtYDqsv>9&3I&ggoo=_lIb{sI(}58?V7#M%bC!J_=KI9j&3PIi9&`?}3#;Zhc`>TQkUL9wpMj%vdn7W=gN z`%&7iMEQj^W^YCxE)+U+Bbt{55B0%n;Hw+ujc1^Bz_+0n9QI}*b+>vu;b7J>RW-z&mna^z|lt%*wp(NV*O^ z(WOV+%+I@m2A&!7$+_B8Aw#e>r)9X)kwFa|L|B{22#gTXWll4v<4TQGi{k3f3?Xa-(t6{j$YzQUX%Di*pF&kmr$yX5@QR}-W0C0b5{fjwZ!wf|=H zHLzonE_L zx;1a6U(z_e^Qpya(T^v1KXCHmla58P9qNzB=Fx(KR0kSSn}Y#Tn#j5DDFEQlMdm;BHHVQOF3wDo-+8oN@(-8dc?T@9CdVo9tMy zHX|3K^;V3mNx~ z&p^2aL0}j^7GNA@SHOeRBf>nmHZcLz#u^MbqbA6X(F90QPL2(&rJ%ob>vr^@6ZB`U zEW)WG89?hVPk`JDItdtY5HDJvpkp5P>MA3KE;oJbCdl;c2X+0<7I!oPnH#Wtdnvm?MgP zNiJ5yo~lj5`uzYRp$Vz&CJjdj%k zvH!Zd;JFk$b-6#v7hEIg{ElXsSR=nAWC?XA0e>@YVYYBqhw85aj;^F*Ft98|q{U5q zHFPrK4$=aE)huD@L(F*P6cyzi-_okWwtQ!6xn-~_7Kqt>ZmUk8BFk5~GHt=4%+e0~ zoI^So8bgK@g8_Od6MiUvEVk&pkiFARrY8DCCTq|S%WpNdCxUsw3l<^JUFbN%J9ftR z=$&(-cZ5iLR_A``TM=Klw4*X@pt2}GY7b=CscYIlxH8+SifhgFYjr-mD@$)gnmC$T zqPbD}NE;W@(KAHgIHCT7UaES5rAhJuflear@g7TtB`=#Jtc8Nb5YNfnFuDF!Q-|oSwL;nM!!rp~h1@-xip4*j754tR)|6I^IcGy@2P~MpxD% z`A`ttE~niH)M-J_PblO4B4wx;X;EZ|w3SOAjrVEm!PJ1|g4EOtEP>RE|8kG+Zt9iq zT8C3vZ?Io$wO(sCFe+UN4}OW}M)6h9$^cqHf~I2!p|C^h1v(({?8+4YUChf-v#Dvv z;yI-9ne@8SS?&GvQvqN44l!^hz2xCcjqj&U=e2*DOf25MHbs0(cMtRzx6t^UTb-(| z6Gfnr4JJPda@~SC6ShKyT1zgCGLvR4~_Q} z*0gbY^ztq`uH|&$JhW1~9z0Yi^griE$_8I@mtKXewf6%a6LV4Rz4-E(`JzQp(o#Qm z!MG+0^N_z=sz;oYkSQP&L`yPr8@w(HlwasS^o+=&)IoN|h67S&osPriTLW&fnFUy<_Q`HA{D7cka^rl>aen znbnyx`kPqC(s=8fIj!-f9Wm+`(dir-Jr3~>_Z3w9gO44WP~tj%PS!FKtGQZ18l0FE1ZQ(#`Mfw2S0*0MG zg@xrYUDWN$;o`p3l{vGjWQJ{ykC=BdGbi{LbCH2D7YMtjj+yp?7>y27#upj}ziMJ= zk|aZJ$Rsah3CdmW8MguuV4Mt7?^WqgkO?RAzeNYWBtV5pDqwJ2F=XqpBIb`zwQioy z=Wt~uDbUW^j2oaJfD%bTLyM-Y zgi?T=m9EN(g~NSEXA2wH(D-U5lj#(>d5(n?pp9bVxi^usmlk`2B<0zgh&sN0tToy* zEXc#TtU1Mv@x}P~5>;LxHf8MfkfVw5CWncs)hr}W+*&Hvmw(oMxRj&|_=q5J1te>O zK-fAmZB`}}6@&u5ENiK)6!p*aki^K(m_(d$`9==4^O9z=xQo!PvGLqHidIfeD@`%` z!8l2#Y$-UKW-GUf(%5ctebPBeMIzXOe2g5j4avzxm)PJ%$>z@k^0d!t^#Or8&u{xI z`2p46t=4R$G2py0_ObRtZ5Yq2p*^73!>v##wnBg<*bvk}dV|(3q|81xk1MFaw&VqONVC6IP}tv?Jr$6W5#7K zNiXX3SMRTFT=k-I>aM$#(=V=C^&->U^#Ic^>70{hNn3wg&y8;#I`pF(XU)3tM~4o* zbz_fwjkCtP_ra_M?_GSa^4C|_uYZ-9?!A|pUfZy3wXvl;hYE!2lo{VMHWZc5q5Dwr{)~#s3Zq>8;~(7fy87fcMuP# zN~=%bzToJFhWZUh7f7rB(;h0$N^~3ZLp3V@OLINow9ADx%|=9RNHII+C@I*p zrcTu+UcEgzRhiA_zr2}1I2~p)6U^o2GI)_asCQywCUr8^Vn#d(DKV4dp^B>0M0FDI zB&>3=`smF!AMM`S6~09((&_f^ichLnxnyA)WYW{kZ+*xa0&6M$FVXCjG?J&gbrvN4Sk zrcnT%qo6@u4@m;5FhWOEL{f^%%sJ;R92y}}1cYOe(s{B#$hUU_@Fh{W27zXXBBBi#qh?N zL-CR82E@xpcW>X<)hhn}AzcT|TIzt&2}u|jGisL0ui#xenDB@sXOYj0vhjht_~rNGPWlm7v^naf6ZVB- z3xS~L+hREZJ5FioCM56UP!NC}5CFYFX96|NVK3l9s=3NH&v*NGC$A?&|A90<^jqLERp zw-sgv+mTKWkg;^8w=jcMZ&+bxRtK{=t+o|z=FC76tkbn3i=mWcrr(pf0>xhZKL1jH zlwrF|#df!erW;vRXFeL&2+0hJz`xpv;LG&;1}8V=^Dm^3CjIt&@8wDNgeSfKcfX(9PjN}mrn{e6kg?42*U;cj&>$@YVn@xJi^^6zFP9+((d(3Njt>pnc?_oh`Ln9^U9h%>|cR>p}te_`!>#*fra> zty-A>>eUt>)4bL?Sm~Ux@5z;;Z?C>@bFFMJrwqAL(+^%HR?plqry$t4Ab#pE@@@VM zTI0gklp_gxKQcjYIZ1C$T>goOtKN_`iMCLZM-l{vqPK<9H$ga=1QK8%#^-_Go79l# zRw7*Dt}h@Q?)?9RZkO&oAKgx0IF)YF(R0vk6?CdUfKRK1hntOsVXzaV@VG{m3+X9B zCj`oAVi)C%p>C*nn{Z7Kx{JCW|BFAM93+r!;^BO^ML-YL4FrKF9?g@Fnp0vHM{YPe z#e$ar=OZ*}5#BfTIF?{Ee-d}YqWQzX@t^Ep`q+&-3!6-4Lt1W4=kP^c^RF9;M|-w* zwryVtcDst$t$y?73pr!5u>;>e)D~)(Q#@!jX62UTW)%({oX38iB%WfHcKb8#Zk?}k zrvmRG`0vEn-=z060{l)tQHy&UgS6gNum=!_HoD|jK!Bz7p12{o-U+~aV!dxVYrT`Z z;oR5Nd<<$K8}?4F_wl8>i7@FW@ipByWtE?GYm%+igbb{5TR4y;`}iu?lBI@Qxf5%g z;<(3G_)vaN_pE}B3kQlHzptPv=#XtjV@_z!oMpoU2dbako91ECy284EsdC}o4&}<@ z51G??;S`y@m>pcQwtwbmiS)Nj!rVMDCUJV^2@9Kzei!%>Qjqf{(IEpW4pE(eVpV43 zLs7%+$FIpUSN}L~ffhUn9il77M-?P{XqXV`&O4Y1E|T6m?_kD<+jjgxley2HVwk;H zykKH1i;{yKJxV=ZGxm4sdGJXwt+yBi2Sk*r&eHrNLi!AO!{<=l0`PX?Tn3gRLi~$A zNY4DEhl6YRv$enFVWk->~)0WgQo<8_cdY zn)J5vp3S|x4lErW++Xv=UUTMT4tQh9^~0qZg>|7>X(?E17j9y0L_2s__i#SwQ66K@ zqsFU`eDi>=B*axJ@50Y52^a{%mgG!0)lTo&-)ga&tKVF zU-oR8Jum1i&2#zeCRt|?mH&2mds}N(MX0{F5%mB(k$j-u>TxKhIjfeg7Vp*WfNy+S zbE^$PiyKh@5ri}^Km>s?Dd`TiPt;n9gK8-Vba6gm1x3T&Ot;gLh9hMj%hMSsBsmG) znmj*J1VhrGlnA!05(ob^q&Q8>mq5VrF|3x3h~?T1uu~&Wi@w3Rc^LLEjYL6By(G%} zc!&Wo2`OYsYd~eTBru}mW55W0d=>i-dGyCyl=sBnx z?D3XZl)NG|dA>;|IctY7+^6Ah`i5icrNS!Hj=MwHh;mMgHpQvd;OPWx#5C&(EJC`)qA^e;Rfv4SJQPm_3m4y2 z-n&@&*=CDdeoUXPH>EwMaa*(-Mx)|;7PHdjs_{0Iu#>5j%!0N&XzL}kl_>yEEz@Sg zYJiiK^wr)jlGA7|*9zY*Sc;}GDkTzpYzRq2t5iq|)ypLDr7O)=`C&iaSgs!Cif&^7q|Vhwh4$bgeecaHZ_B?AAQ4{Fb@d zD;D!#oMD?S;`mE)y!mKr8QL-n;pQM#5;@utiJVwSpa=qLSRY~!?G`&9G{y1r=)gEC zwFSgwdaZID+d2BSiS1C1iCNleBV0d!+gxS0ie_3`0vml+YY=<16bpae+#P!4=(C#J zPp#74a0PzD`ZUMbo7(O#{0(3hS>OKs+HQs7iA3RL%`tJ9|AyCTq}V@Xqu>RjfS991 zp=7!X{S^ORK5&2q4jiB-u&?4N;@F3ptHt&5qmV7U(h+_JbF7Rl8^;#bZA3)|V1V0< zHr3&yV*4chPoW7<)J=h4>Q$W%Z|Zlx7VxKib-ANO6PQ58!wDyXS}hMEYpTaG zX**2_vU9i&g0}2@w=0iK(|Im;ezxr#{(^mO*s)>PcDwWGHJ{HX{FvhRbsy18P~HZ4 z<0w*i!j(1Q#{@zy{Fn}VAlsMa$*{x18-s!kn4mMdC#hZ#uI!N`Q%pItbGyggHRR6J z?Kz`k%C^ZyeRLBtW1r@@cpu`q9kj1w!jgeb6hgBe$PU5;5qYo-$@@@3$;X>U6yok) z+mf}<9IVODuL+v>Wwor4AIa|=o^bIFcM?g!&v}|25kbs|o`aPPTmi|DagMOk951;J z7}p+98JM}#HN zODkHiYkJr}(59QBc@d>>Rs>yfD{l=7Xda9DBo`V%@k`3rL4)ic4W-%?S?BU(=u?du zJ^i&czqn9#A3f&g*{%9SG^ zu2-JA`oe92XAOxHvV`WOdirRy>G*`2(9W+nE%^1g4J`P?_ zGXeI9EAz$yml#0iCy$09=DHl#XmP6&`pPBBB|CPoF6HDDnqW`DX9|D>7w7u7C8BN7-ACDqm&Ys5Co4S0n9f2m*jldofwog&~rUDn-VF%aP!(8hXq5 zbMPq81*9FP?bDc}Fxn-56`oFe#CYvoG9};6-cpL+-+^|wD%Xhdu|FaU3Nh`xs1WoJ zGWU`J2tR`S zXUoi$>1wN?@x6(5ZsF}e z(OMnbIy$3L$>ejIvWK3_iJY$-2$xU%Jn}|%)r?r~%Y2H*8CBUUs!9su@xqcS z<&(T=Wto{})ADlLkswymo||7?jpBZBG>H9EiL*Dy{(w0`ZC!4lqpxYAc&{*Rv^OTc z!_GMLRW*rLPHd_UzNaD+NjV|DIrbbDT?S$()d0ca36@C&xmD6K3W#s+Qs(a#k1Hqc zypw71Y!JUvd5ix(N9aF^Qc^tFkU+N`It2MZb*2~#Anu|w#Ds`doAf;h2UxwtWr>`) z~ zNlq}F)9I+}EziKGa7KA=rNdEJ%F6Q`j=XYKT8OYv^!>ra*fGPD9dDzx3&us}tH`6N zd6%vHTX5OLmnbiWo=z520g^J6;+vx@ce6)2mA^2{BaaXtCFMjiPZtXtLT?zFSRz;) z*%?fnw7wnXE@bMm(N90!p@i7aANZfm>}B+|M){%mpJOKxGcnX`Lb8KkwU9NHTNym) zxQ7ZThMIxH;IyZkjVUwk}@bJ6L+!yxV7`>tut@Me@8pzA@v>qOTT3i&E=w? z{Q>lJ)msFjQKTGH*FlIyTJ4h93naS?ev;;HTpU&$YB@sAGzc|j2fabBzoxgipn%>~ z_ZAoC$&Id(s)kUswZyZTMMAF9s)k^!waBxPMR~jOpG5&#Z2!;O)!yNX=9Pz{O$Dya zEGy)S=9dR!P5I7^%!_uRv&F@CPzN|fC@x+P6jGxe^Cos?Wukr$60or=W4a;PsbHzJ z5UP_TA@&T!3JIuOVg%|E2Qo70-`@h(=-*b@`qp;-9PS2G-3nV|aF5GyF(TY+-& zSUVb*mt`qRK%v_73j09$Fs;PAZ~5|rItTDg_l=BjzBn}c8}Wx@Pk^V|RI5@N78(9q z%(q=^Qeb<&Ua_p8N#c(hCxRYP-C(|Mje-$5=sW}_oY=t4Y;mT{~E z&ytvUSs!x`^T{fpS5U8C~R#aD4q`Ao#?6MItb6nz=WF-0aq!>3g;Df!4@59ef~;Ici}0bsau>dR;8s-k#i_{p|` zJ-y)_85O-%mAw@i+rzzkG{2mPNby^({#@oQn6t0m@@Va zPB-wby8f~9Hy`i(;Db)(=SOG$;)9uB4fE(IbO`mn$@GnL`YJzH=?e_Q(NW1c_7a|F z6!a%kC~mtX-_Iw5kz8>N$tSU1f}>0FwlxuvqP4%4zkoun!s%?}gS zDqGlF&{0Z+dCiWJ;{2RIHl`-SZMUTAbvjziYF##9nW5{PJ$XTEb*X$ovFi-4pE4;B zUXGM|8Zc!PO{sZ})Ebza;x1>RVyn#*8rh5gWJo*kH-mTB>M zy93=>HZ#ErndfA`tVc}%y`i|e$Y3{T1(q&JNA*UlzPP5?farW{VRb=TCca)8$e?el zX}pr~fO3=gx3RY{8!jL)OmA+hgqbYN5VChxQm~o}EN_v!Gu$SqZ{?-A(NMr0&xqSB zsV4LcUtOuA{GUod1()wRoaD$lyCCt0`4a+03ZuT<#s$CiU{ zo1QbJB8`~(L9#X#OoS~R4RNKG@{$NXr@Rc;^Ul7`*TycrQyBx-Kwnk&33UC-^;H5_S*v^UpL3P5 z%ZU~{G&dmg<-d_butkOGuus_*Nu6AYc~ILRmoqMNWPHAJ$}+-jFfC-`rQ2{+O5Op< zi8OWsoKM~T-XrlVDmGa8q!h^F)OuixEV{GaS2oX(5bM?Waug6Wh8o%v0<7tLF~eBMR5&^S0x zuT|W7E%tDuQ1vw z8sbee#D1bJLOaDmOLHTdLfuO2i->jA%32-bmZ9e9MAUAPF;+zNVGon|n5BhSR7~m( z1)UK`P9&WwQK{9oNR5$b0z?NDVo@W#VEzDaSE4A6ssXXpMUCNfzt>md`mA?z3~EkOi$3`G#f3l>=%tzw<*izcCoY>C*%qYwCh#B)z z(^65A6ES@l%ipwx02Rp<_MEiBxk4@kV&)v=FQ6DFe9y^IQ24TDDFAV_YzSbx44EC7 zFvXp58?N9MiDCE%=;oRVc_Ks&X4;J{L(t{wVgxk~McsgQwLt@=_41Qr8mz*qy9g&- zh?6PKh7h~Hu%xh3FUrjop0L*e&sM-zSXSmPp3@NW)yyu>$6gI=mYuQMvXW`74H%*^ z&*`=5{EZ9hi%^`A(5XCDl7FHwqFE;VP5TknZkm9MOS~dsi=ZaCZig4H@Iko~1aqpM zAXg+%8UV?#Rm8d1QneKQdfS0~pEp0>>&w@sD}C(5t=_ymuRjmbCPZ7&1=`x6c_Y%3 zOl$m9P1ys85W@>UbBhc{K(LU@p6SR`qgYiNZDN;BP{CG4jDS1igua+vH>bS3A5y)p zzkL1rjoLy$ZdFwc)&~OhgH=@n4FTn{8}UEBF4ka<|E`U|7RD4aEBZb;J`zvo8U)G$3)~I`}=et1n4tc3&S;0`}Ul0R3_F{SWlntd4rmb(Dx1q9(D|L}icvKdD)T{7Yw}9L$xrHy<%Dv8 z^NB-1(nF^P`;ikTX#`2`ne15^8I|b{pR*=jSLX3M(gCRx2rnzn>xu`w)pM)Ld;IdN zI$eq>Wmfz2Zd01cm{*YPuOF-~o7V(+gJG-d;h*4(R3RudH#Y>((^S%HY?w2t6LE|% zJI|xuGTvLvAjvWjM^Kzwdrc-&(1bnPo&)zbI$gxLGm1yPZ(Tt3j8UWBhfvgo`jnEgeSfVy{|0T8t z5(odo-EfX_M`*Is{6cqqpaDhs%ro7)Eu-s+Ux$Anp$MK$ac+~ zKRO*Upiv=Ui3W|xb2ehlTT~k+c$E7e6JQp&1>VPinocjF2o@I8xIeC3G(Nlf*(F)> z97TuMid@#U|6K1YdH2j&3H^4eD|)f^lQi z6Vh*yXTq2hsS8&2U7QXlk{NRSR{6n&%E3jm zT``}<;)}TwDGe-q#uw-8Gns$LPfDe7uymkm}DXtB9%fmp0G zmW=~Uj^CLMisY1J2C^c>D9ahOnvF(-(U_K#?HJUWO$J@6S!)b=GJ_5?gt^t1;mNe6 z1LX(ULt1Uf*r&M|ey?X>+pp_7;ewh&`T!&W zS)iatpR?!K)%5LT$_4r3xSA3_ZO@L{Bkg70eMR#w>MEaG zUnFits+rZcdWKB?Q1MT?f?YE;Duu>6(%{%gK0@Vg?61tja#IZiIu}CsM7$~ciwAVVZ%tI0+M zoaQ-i0wR;2alsOV1)y?3x%9KSJ9~2Oyj%G`6Xsmh8##8*p_lj61=?1&-FZ*@fv;br z$XWY$q#$ovn{M7@u~n@(w*2o{ThLMGy()1LY#iVf;%`NZVGgwSCK#UA%U%t? z)Y^LKE0-vmcbNXV+p7jQ*TmP(E**VT{CLKm`xh>Mc+Yg{=_}dN(NBmEDuA)}A^i3Q z6xW2fJP`tn!~nKXC}tGbMBUsZpv$~QJstD-{A`fnpp8X*SuTe)9m;6|E1+K5$|jcw zQ_l=)E~Lh3O#o}bQ&n}R#S-osT-CDnq9EOQNQfq5kFTUsXQ2?>^;|SJrP^HCL@YvJ5p# zYqf6)?ZSPk?}oz6kRGmOlqM%3-V$GECVhb@U~=&kq9z)W+Vooly-uq~9aBsXwhjnE zoHED?fS^oVhU^HoW<$Y>Y+A zz_%Po4+bXGI9KC>bY>AU2bZ;8Dhx?$o2MBj7JM8>G?$z<|J2jRPd~GK)eB6#W6@ph z%s*{YU+qAVTVt}=4E6$N&x|G=P_8TH?OU|@`O7+cE=UJb$vL9z>L-l7gX9TBj$9lrB=IX^@btTMk$H*-1MVEm;dO-?zHUEV44ZMjPB!ls!fXa@-ogp{splOJEvg+cI&{**8$$6<9tq11w); zE<6v*tNer9x$~^*&v$&Ca_7FjgDUji#Wa*Fr<}fP^tWfN<~zHufAi3xH*e@Zb+6|1 z>Tf9jy!T$^pD(RG&jJ>OIWS!iz8I}vRJDOrBe_iLR>m2WB9)OU&f$qfK=hcvj3%$i zo0aKtrB$9(Mt!~>h^r| zQsx>B-Of%2S{B#WENzQu#y($Nzvb=~{nxFoVQ=1swF}&3=?(M?xXaBE^oo>?Vcsh> zd>Sj690q`1gWEpgq|RkgYLowy-Z*_N6Q3Uau~<0TCvCrr{q7k1FOJ(QqK@Dvay#n( zrXbI5lZs3knLyg3GB+C1DU(opXogQW;3G59mvKnG^WI3XnB+HHO=Rg1Hvp{bM{ zqExcT3ZSi^6rzUKR6M>w5f0^Mn2Vy!R=57>qLI6I%t$@;S>^ugj`tn;?BuG2PyFMK z{qNnqK#Pi3((k012cFy3y0*WyGS}iy7dw{Uv#qId>%A+)tLpkI-6O9m|NHzcit^13 z^X~i8F>lyuxcbM}b~v)b*$x+m1RAeIZK@5BkJE+j=9yU#3u$!x!p?{!I}!C1q3r_Z zmd=i{juMMuWJyR2RQpLtjA?Cz&{%>BM*+Xb&Bqv?uq-4ho70)&jKyAuWU?gBV26W0 z1q)xZp^PtZR$9hs)~Mbms>O3yeBawV{Jus2tJcf#0&|{0!?VoiX@QV8fJLhst`q){*K) z6cIFlt64&pEf3`c`B9XRk|$?~U|%LvAHHV0#GcV-BfUFkXIB&#xH5DhyRFbMt3%qZ zIi(oy8ohJQ;pJ7b!DJZ8GH6IX$u|?DqGlFk{!YmJF5v-Hm^%UerY%D_F0D~Gbj55O zJ7vgzT+pB6LShd9&*~W+T`+|StsT2I#d$*bC!$nQrY{qlg-$Q)$-t)N+r<~(52+t= z=f=Xea4berpX7P6%6n3r)0rG#ffizkiL~H}4Z$aZF_JriL#~ROax>hGL%Zhg`qovQ zJy*Z7qjq?pJMw|e#h$O)aoMq5$*_0IH7qd$w*Ms0j^cz~H-Sr-YVIQZtki9fzQfcE0p zFNs3nhZLAm&13)Hs;$$}CgQQbGfd3-s4q~O$vMqFGWxy99tpmBtRIr{TDwHv(WONpw zIP(?IM=+>yVUxHKW^9WkH!tK2XLGAAnS2OTlZzHHsOl6Pl??}Nu2%pnQR4Bih5|nfY zin4HGK}iyDHEAFM@|9t_;f07i$qN|x2*0XkGb8H<0>F^Cp>HW}kBUQKEB7KN) zLQY;FH)EVJp$FD%OglzNdZr6I2Mv;s1WwDz{?8bzcEtZce zun8-uS{|MAA&>Y<%1|=fyXc5xk(-BI{WmV{so%{xJX~e9j7!#MC7mhd)OS6lPU#=$fJB%GGMy3V43|r_<#Y_0I24pLj8SL+ z6`|2UN|H2yyu`tP4sL=F@H=x|xj42t5}P}>vHMgE+Jq3)v9fW!Zd~}Wh`#sGvl})( zdugv;Ozpe$E9=&tI5<0%{qrs+bFFR?7J_)g&KD21w;z0Q=aDVX>}hG)^UN0U@(r&k ze}zsr1^xgOUZ&iy3t${Jp-x!aoKgz04$ycQY7!+w$ONK6b|sBQmsDUkbU~e8LtX~& zIj?U{T!#|Ngu2?w^5Vj9$m3RR=t+#>BnmUfUFH$2YEk7g>V>K{N$!3T|3cN_S}uBI zHC|g=FM34!i7nQU8(&q}*0JcZPmUh_EOf|%PieV}adrL#X@O6OBLqu&F5O~E^0 zUZ_evPJTG%2oh@hlI(;v6>2>;c*rA&UQ*Tx$*w51P(6`zTqgAxj#X$&IF-3*Ip-Pt z%DI;e7CidIuYPs-yO*_0Km478zk2m7JzadJpm$U2mA8*RBmSmo#{(-z9=fP)^tb0x z(=m>(jYTy-Lp*T`Ec~c`9fAS?4Fv(t+p$*zMw!7ToEVg{hD@W>-?OUs|A%uueeM01b4^2*zXUq8@TvhdQm)@-ww zl8aKt`wxzOIO@$sAh1KZRDR@l@zqBb_8eN#Jw~>Y8oO?rE-Djtk4{0?kXCrVURkw4~b& zvSUVf^M-4>mmFA7TU^*Mzjgbb!m7eFGqI*vdx7FKIH<2YKWIWz zMUTegTM6wC`~s63?XhHxBbT>&BOO(c5akF5xV@Z*z~T%(L0>vhAr|^XPk*S`WOQq7 z1#`+4?CT3F|ChWs0gvOX(nhsd6e(Ryj4BVz3RQnX1;E8CIoVxk6*U8Co9y z6VF#qxkeR9IPoB3g0mkQcC_508Z2VkA7BSa)Rq+b^K#54W3r;2t0%BUCApErQzzYN z=r9|R?M4(}5$W`jBytW13J2)rWV{Hz`)|Iny=C{uCOmk&pBCiu+M)9s>xS<8?E3Ye zy>F;)bh6{_eb}9OSzl@?f^BRv2$`zW zCUed9r#3zu`Q0xd#uM7}>RrP3ZWayi?ar^=_BVh3pQl4>JAG^0!4#|@^d2@mm}II`%<$Fyy-Ic9fm~^M)}{$dOS-7DF&88zsrl2 zO8%!n{wE9eVIIYj#+hA(X=F$Dx#klyJeGk#aovmE`-^jM`3PEqXQ`xNHZQ) z9wgKNWsuS{SQ(CZumIB;z9PDo>ccER2dp;bly~Eyb3MD>espDU-{($7)>)E-*XG8! zbE(PCZoD++Ege5I8s5CLCe?(1nknfUm4mgpohLrGYxw@HElTcTi`&%oWaKEGdf4AJ zRok+EWtH7ml4jH@VbIa@*8?y1;`u|0zv+F&hb3$-}akQiuW@S1FWns$WTaZu^ zzs1a_3xHIi*pC401WvlZsiw)&kf&2jg~%Q*0)Yi+N+av$QQK zMTg0&8bnN(0h+XI9?)uA_dm04=k?>Adp8W|H7UlD z!o1M<{^qt#T^_U9$y)@kWexQmunN^Lu_rbu!0EGcS^>plaloU?dK6mlcC;FlOH$J^ zQv+R;U=(Z*B;kbZ0yDa)(d-12P~>x`CJ~z8!hRnQ8Zf9}0l-i#0u0i>OqHr%J|El{ z1q%KSK*7jEN4As@u8`TZ^3ZaID_r=}-nyxgKF`m9D;R!ev2t%d&kcSh5gf=YZ3`@h zBMF9_j;n=-=`K(jrStA#Ou|tIEz3LACXz|dNrp%QOeqn0x{N{$6AKbVhsBUmGtJ@BaS2y)$diA+# z;g?2z&6*?apNahOGb>9rJhS(Ab9+^f%^m0OzNxtXZ0p%~F07v+AqeP~yr6Qco(CJq zqd-PnUTO+(b24Euc__a?tagKv6Q(S`pAH0+qY;(2Xd^&U0l}qo8mg5ti-9|MowL3< zSvEbTBc-n9vEUa77actF z>4}d=-u>hM7>j&U{l`4Y#lifg=hNf)a*5Mm10+F)Dn-~?!X6#q7!EO`2`;%h;e`Y7g;88o4aaA|v4b`r}r zhKdI5p$vJF77P>TTWT4otMNk9k2A;0V&WtaZ6)laWEp8wvzRFlO8|>S+sx#No zJ9B2$x+k{R*KdDf-HH>F-Fdm)YYq+8&V*dH+<~&@HQn{u_WHiH%|!z_nJyZaYT&Y` z(H}0wX;Fa%(vX50SwqbFkUt>eiXE5~ZJe>w5_)iIfgRwzdaY1QmVo8v|9J9~{m0i-rKJs64aV%s&VZL}0_FZEyPSC+TqOHk1^e;` zc;{r~xPp0vz%)E2EEbhwlE{I~y^tLxcL7`8z=_0N(-}39-JrRM!E?}GSP~&txv5gQ zdCpild4Wk4a=Twy`tbLdeBmpv+~9wE;}!m+)3Q9_`t`DC;rh$`?A!zNKUyoiVk&Z3 zeHJ#M1+}Zb64sUEf=^2hkO(z6(MCoZuwvMQ?gZulyOK~!K<5%lxmd$(^BWSjv{=J= zcf^6JfgChNE10?tJpx8I=2J2#Lw*2Kc+xvvZlBldL&yRg(GnarQUr^l5t4IBm9ykP zCheR^iJ>~0qBbCXRG#+?j;*iT{JDDvIu1NLQMYf$l%Ja`T2@XT(!_iB9sTF0#y7wA z`}2Fgyi(xomh++$1v2$uQCqRC_wv77I{nRaOL7|5wa(?4P1W$B{$+OG+9CKP{Wu1s@Cj4l0H6=a?5s3NK~+xETfjhJnlqLvJ%tK-wmlc};T3gk{77 z06O?qR5K6@9&SHgFA4zABymdMhQ?~+mo9<;yz&b75g7w;+xef(g8=4U;zuv?uZ1>U z9`6GPU`}Tm&k!F~&EUDU3I|133`sDJFkNs+3Oev3$Tyu5PfNT3{AQg_=g>J!F0<2= zmW64J@o@qQ1gS0L1`2AzdaJ~70BHp$umLD5RHh4CBX8_Twd+wckgJZoebt@ZzT#@i&24ghB@&$bFW$txeUU5Aw4kDp(v%(fM=U*X)}MfMDXUN8nhgWMVzD1i2MLn4WU%XK&XW^H**?7Dm~2zc=4OapV}7bGxx*a*gPq zC`ghpu8SZ$^PT%U5Au^!vqpn;K%B6u2NOnHJWF3xokRcl6kvq7NTQ!|rpYLRJxoRs zqEQ-dHJ$o6R9TWI{^^5~j1$B?C)EF;T!h*;1WS=u6Gf;%USyzuJ@S88B}uMYbuK@9 z&#;Kyr&&r$SHAUDx2MF+{hOu8@$tDIA?x3c;*xJZ8tKh)a4Q&YUz?dusQugpvyIQr zvdle_k*7<_&zbub67W~p1)8|ILgWack z#+r}4d2H94=lXlw$34me5MHGM8mLwETcw`$kr%48^ZUpFgoIg5vF?Fyv#@*a+>Z53 z!J@ZX*eOX;hcHRAKieUMAcV{Jc3pbZg|1j}G8BGxGX(L14ZEl-Ds@`V9-(mV?C)EH zZ@)2pX*@94eY$5QSY^j%-?})|*S^}Ldg}z$8c#AK}_)y^Y}gFTvkz7pcrnw%FYlfRJjR)co6putZ?cR zpyQyEFkLAgw)PI%@Yz|$mMROSVa`arJE9)+zCr>3f6--PfqIeSmiX6VbO(vg7yDau z5jbu#&0+p^66;~H%gAO-hFGA_&|J;i-l3QZs&MPx^U zD-a50u?f+R`BVMY;c{2k_U@LgeTAhW>6K!b>$8v!L1CSRd|P zbKsG68(+Swz5DK$*T3|?n(ei%OHr*h46wq8#0?g^=O0#m8j;Y?O6$1<9ijn=h=)ic zkUFgA_-|AKdDXH9##{^5W!xBX0%w>x#CW~4>`bhn0~DwZ%vuIgK|OCBx_ZHN6b^97 z?I_mH!(9R24p?a11@OM%q`5QTcSHM7Oyt8{Vg;LJrd7-f2hj>)11NlmU2o&>=gR^m zy@)uvB0u#F9~&*}$0D*C3<1x`idk#c)8(t~8EmgpwPYwWf-74lj^8{!d}dvhDQy6Y zX44ko!DOh2bWg3gccP5IZK~h+8+9Spk5{qrHCq}?T5@+O%#(wO#I}FsIIFONMMF3@ z#eEo|7Lqvlo!noh>d2-W+mEnnVt}}aG@uBs*JUz$#gZ#Bn=D?1(j*xGq6=DWQWuu2 zeQ0|9Lu*SmZ-o&3wQDU;Zd`WvNYSQE8#f8>%^eEkbwl;s6F6HCQCr&c=nez4hRTvuQLq{&20X?X&y(Ppu0zZo2T)i^JET7r&}- z=lSO*>&F}O273+T`=@f%W?<;14B=qY@@m0BAWGZWu+R zk_y0e6F*3pP*gddMj^&~n~~jQ#_H7IXanmRx26OuSbvK&B-8-Y(d|v-Ai*6W$^)^E zP&!o#r$_nD;rHRtT#N(+@l)D2(q7Ovr zDCD#W9BS{a-4(?Q!m``wh<* z?D{Nsg=QdsmmomJ;Zx=YCq`@q6Yj7;VB6GaXyo`*Qu6 z`Zi-mnm*OrRx#GOwe#lH`YJpd=J#^cP<{y|ky4?4IT6<5>=S}8V%X6~)(Q$|(1}3S zJti|9d3a@TV^pe5B(lHg&%l$|&o~wU2mAbS#~lmvv!fs+0dTSnATM4CFh>7m0ysj}XjKC?rEUuK)09Fco9)K<=$)=z!A75z_ zzLIP>6rqh@Ev!?}J=9a!($GChc=xIZ-MlDocrW5&BJHxnRZB)l^sJJF=m`2+9S>^JEw@%6uG=MNBIp3&IG} zi%5DP+fvAAxVC4-eQV0WVO~GkSCU=XTTzx(Y+y+$y)#X17{fLe2i3jg3u66Y&%jHx%a87G`DVXWNP9 ziFYiDT;|_UHKF3vPen5T6=X1J5ZVOSSIcrv;=a&Dtp(T+l${CQG$z|DrA{#X1V@H^ z;IXh6GYn=mWc-uqP@QmMelR~8V@kN(ZLtH{x=EO)zI z2#)#EMMqm220%^-nT8m!C~~?P$S?C_<4q3Ukr8xMk2E+Br=~yWSEid*aRredHkIZ0 zb1b^0+0E;_e7!|R(R2@objgPN*2!jmo7u7?ovTfOwCnM?r^8JtX(|7+X%`vnUAE+u zQA#XE7Z=|84gYzp-D1VNQs0~4Na^626e1?g`rZV)E%t?EsRdBZUBhWL=(uQ*m8>=9 zv10@%*9XxPW}ArpUXHF(p{gP>gv2W`RoQ|hj_%?Y!cm)ljS6kGDs*@B;`l#>{)Qr@ z-&>HMmz$HF33goyWwRD@#gy%)qGH>u+exmLfL+;HLXr@?d1ma8MNN1n_xA^nA5OJC z?=T(PTGHV$Q1^P=;d;&;`9V{8wm&yrYt&bjoJc)$Ozi3(@1HfAx?t9guKbwX;ii$o zaVqGsg7^k(^OTmvs~hrbE|4 zFcyWEhe|piPH5?(YH7$X01B=Y(5JqA}Q*L8%m1ERxov`0QF z+=J&RB+g(KWq9{sZ$(N9I!g_2LCsHNV`ce2cp6g3$0CPJP)32vS72g=KuH3IBe|ov zsE#;)q`ej~9+2?v=KnFGvvIiAZ_Y9K8$Nz;-}SqiD>gs1Bl3Dm zy71nG$e1~=*1KeV!;;y4f0iT5-X84eICy2v@Y(4)6?Z<>OG!1HB0uu5V8^ou6{X=K zQg){)DS_F_gz3xMi$wfpJhwYFpaKl2+?u}JQ|uFgf~cbqAy4Q_d(wOX5^!T;+En}*72M{2U~+T$Pd zZQiT5>b>SHlZJn}xH|H4ewRvB4C?LhJ!7TALp6F-VM+p<+ga1?Te;p~%!T?Wmt?Z& z;ClntQuG5i`4;vEEq3BRn=6LZi#}oI5dpuq&lQU`B-EF3#fk!me&l7^kcg;NXjvYW zBoHs9ijgURt|3DKTu3oqiQwI@Ty2w$_dJ|7*O@=Qc{a59)#F_)hd;A({E1!Rv`qdv zp>)~4uC~d}(o~zCyVSI?*Z+}I+`szjz2+t7-afhI^?Ump_P($!kiG8yHKj-mr(|uU zU?Aqc0X!WokQA3<9j6bc^un51Ue711syW_3$S1*dweZ=K4XWg6c#gba;HQncR6#&x zd7AFrltQnc>BS+XOd3bcGWN>RQ(M&GYf$Kulu3HfrS5p6+uS4Ey4dA9JVz=gpoA+< z|0yF1uySgJPCdE!O>i(3rCW4>N7k)fHMVSMNoRX&MLBfX{O*DryTyf4)MlMo8k96x zYgnN`vYNRPl@}o>j#98i>kLbibBR<eQvQ4)z=x zEivU6<>jTQlQSzv2@k&Yo5*FMNZywXu<9r_Ce>%cyn%cX6q!U2k?qTJ4v5L(a~1f+ z0?jfU20IEgW4Y@}cybP-JVox*_NO;hhVT09z5~xS_)R%xf9-H%=dQuR{LbxtuV!*1 z5gq@J=_%Z|mG#qShu3`kP-kbbJqw$1U|@Dh!}>07Ew-@dFZ9{GsaTJS(a1+t+kxE} zkg>N^@%^y9pW`)+*+v*hd5GKA>IE3J!BSqOP)V46DOgnib)+JD>`-R#HS>Bz!Wv9i zgteuUCyHM$ei?IU7P~B5OwlK>C#G-n2X`j?8PSYdI?&tQ(o7{evog|BLF-2)M`lLF z;zV#r5`b5m1;KNMNLp$3ks2OMEOIh1KciI-CI1N=kyADG$##EEaj(BG-&i^FZN{=V9umY~^0*V|X`uBo#4tyZncT|VXsOjK=Nx;6&v^03l)MIU^ve^LFv$B9a-neHtt8`@G= zxw^ww*fY(2+MZQ5w6(5j@2X&U{|lQpzp%eKIJT#$Zu3xCR_;C4RISlm*u5@Th9VXw zkSraCoo(w|dv=bt<>j=GZ13#Y*q*P-E8P|B-#ylm=j`2Z?`p=0+VauWt4>Y#IP$vJ z-Zd237|hSe?en)x_cvwR8waMt{{Eb-e6lg>A`c0ZScmzFW1@kY1o##yo)RZY`XF+m z$Od)9Ssu5cM0pVjNuWew0Y{t4#wlY&C8e9v&9F=<7AKaWjdO``GRLS;R1`v(WD$%w zH)w8eax(8D1JIzK`vE^1lzksV%E(9?S%UnJFZ97QoC5)aS8Rz~;(x@}Zm|L}xKvn9 zKDJ)nd6YINt=CMn1fGLsq*QJILM5HTA}*bdF0iv7@FLPGOlT6m{pDD35Irs~%FVW< zi7QPMJ&s0Xb2%Y#Z2|R)t}Li|aqr1XDc{y}OekCv3=T?*=l+%ERAX*tFullT%e;D1 zUMh9fTtg9CA3Yvg9~1fcR&A;$(CZ4G8pMV}czyE9*Gh6SJmUv*M$ zAK!>|WJ7&jZB4MG_^JR ze(!w%;KIt)FyMmhT#6~GpTycULOY^E@n|@;4SsTENp21RMh$I7VlX%lz{>{a0*mRC zRQipMPQZXHqY{TFL5O#3wv&KZ*Mb{ikD~f->~6@?M=LB?V@EsUj{pr9rBI03C8E_P z76XzfZ*(kb770*R3g2Z1pi3kZTunF)<5(7(E>(wI&iSFst8sC5PwWKbm&9W3BYl?> z!L-zRPW{`XxF~j08g+6xbum-`O27#vEQr3;C4MQ#J_wnB0Ff42k44ak8+e$fB&U-JxS&N(=yBjqB&~;m(FE z9niK)XVQPiNDT3v+l1ioNeT{ML~uCL!Tkq1`vmbjE)AL8)%oMrR0NVZMO)-0;RyE8 z6^f5ZKo9y;=uY9)I6G0mQ2L~aouowyF(8Lk z0jOBe92_`k@Ib~?6Mq$^v3wCSzeko04~DAC%ZdW765!rQ9~8UK3!eiRK%CVq1)6~k zv6zblcEGg|b2yo+LY{|kq^P&3etAdO>uRd04%Xxav{qA^4@Py>KviaO&)Vs=J;i0K z&y22rs?L|3nc@lcRTXzt+KYSEOt0xFE*!pVsVP4#vjo8!XNf^?Q%Bwb>8+%zqPWhR zWiQBS2ay@DaY;jdAmq()_?yOC>b4G*HHTWPR=dsStIqRQd2*b-h82zB*^!XO=&)p$ zy5Lrcm`Odx;TN!H+=`j&koN=SP8<%zFhu4Zj1ehMg!1GiK$rEfS4No^Yl>lsb!(E- z4a>zXf(@)gm5IqwT&@b99qX=N6!jDj?pV>YV%N|E@z%=nLlZq+L)Fv=8LST~`&RZ< zCfF=|b^lmj1-%&u{6p0|n=EFyo{85Sn zISCVBnd7hrqxnl{~Qv4-<#+Tyq(MTRO@(rq!WvAfP|oWSW`yge2UgQ@|fNu2Hi zpI3?&C3-;88j={@08vDrJOpjT7@b>imhF!*=(snF1}eHXwmRZApXqbe$w{6q!EioH zh80xdkW5OMd&X?48r{|O)t+(Lf$3}>aDVX5$OxP0ydn^}qMX1yS1TNfeGCD4%_v|V zAa#`e2e3l)IjjGvRl~97bckpx6;q_cg!h*!bmUU zdkFr?TGbz*-BhNyd>!rxV-t`kk{5M%;c~+qCBT~&v^>CS(J;XTz)fIsst$lWtHXym=rQF%-rPI zocO0DLra$|86M)lSJYoNdTiL&xv6#gKw;U)!LF`@Bc&^rdkT{cR<*KVWMp`BbosK8 zKRqN8qlF(-2l}?QbnIGMR6KHI=?CF0o4}f;bEg9{KLoCCkn|>y?}@#Qg3(ZV)#9wd z4na{AnSOu^#<1+LMPR`M6+v5(*JL#ZnIZ@wP&g38JZR>4g#ft6rA;wUM9Q2}Ye17v zGJ7qNGrnOD_miCbo9(F}!5bn0etD?D*RduTTD_z!DcSFyFb*AlYW4V&ds{=LpW~-3 zK1<}7-jHwK)@b&bxNjLQc3vEAUfY!Cs2wPE*;J`hkIYmDH$J>(#e=OE@qR_Oel7T6 zPlptn!b!!bcy9s@PSzlq&@P;bN@!b(?k3(@h+)Sh-zu_ZoC&R9PGj#>39zJjxeefB z#O`tntcB!>LRU*E1Eh(_k{a1Bi4i^SAF2jc4^-96Tv`#@xnWs$rQViW);3mKHB#ru zD-XAY%kvIN_VFr;Dha{*?ofH#`hkH{>#D8(kh8^v4K*j&S5nei?(r6fS2UI;n#SmZ zwUNWnFMA6J>N-*G+W{OBC0S4pL^X+Q837K40^u^oGUoX$#H+!1huS;0ZKnZJOaLu0 z&gK8p6Aw`?W6E^ZDapr~&Tr?&BhOt!Ml$}zjbDSZ%%^^Tac+RWdhz!c`FrOM(Kubi ze)JHYF`M%A%|@6#IG@OYMmMwRC)zVi-Z-A}4&5uTl%Qy!B|fS|)Q?j-j*^s=59Qdl ze#Z zZD@lUP$sw2WphhvIYcWGqapmHQ;6vQ|>i&1i%Kh3f2*c+qesNTByu|y)yW$_JU zIu0Hd&s`U}!Y~;NshvaNC@yaRk2^1I0EUQ3O!8-sv;Z@~6U^NeZ+P&dk$3gNfF>XV_wIS|&B7n@V1TrARG zFNvLX6&gWs3IAL)-+=%0+!^j$kwe_QR2}&OS9gJfiUpgC=v%_O=jR)++oCJ62ov%R zgrbP?Q=j5~%Y8FaCA=4zpz#@k*5E9|YRVO1@ELJ-m(wmLJI4U1#cCWF29SL zs$OH)eQrM$b8*Y&pj=HNE+~YoHJg>NCvt6VLfO_w))o~mnW$*%e*W19C!gLE9(eW- zFMZ`$hs?!_MQ6drX$~YaOuGLzuUFy zsZ$%AUFoHo%D0a8otSPGwZF?FFDaW-9<~?_0Mv;5=7&=x^w^+A+AZ$#Uc3y0 z+OS|jIe$dKfheG-Kk><=sZ{N{ZD(%g#aGU5rHa~h8$80gn@`g?!(~@~2K{132G99$ zngKN$po*?_LwOsUfr{`rI{gY2q%y2g%u-(XG!41jOYl{sUP6%~Y-~hS_sgxRk4PJB zYW`(%Ti7}jLnL+u9>ET&3iJ`O;cnkY=nE`qX8ge>6zc@f>zr$m<^1aB{_(D4n`#!- z!gaGMoBrS;{X%`9d=M|BIcqeTjAu1kjFr?U6X=ryFg3q$JrmtPo*iL5h^)f>(QA_g zg<=Cj99X5%PvlHPdX%;(w!<@y8TB1%!Q&#-Hemy$zD$Tjl<@>oWL@NNRURN2dCY1a=&s)p-LYQ3CiE`gA zJ2p~ilnMh&{rD7{Tjh$MiJ@1$wDh2(1f&8AvqTEv>D&=X+Z3MlCvnIP<+U`~Xr3k0 zRK$9W%{09{)5OVHIqw2&o-{ZV1xv=+%X(U#q|r;m<BFB9k^Lp>*!i?C>VJXX92gb-3!v!iu^|wwAxF4#Cj! z;=lX3w6H$h%qumOT#{biw@YE0z%QF2JC5YH6zfSTj=|>WV!d8H2DuARzKzLzQquY) zBDoRGwuCNI?fwg{qM2VUUZqfKv>K&$Hg+|lhIjar;mX@xhi60VT&>7Hy8*KNvnr>DDfQd4v2-`S?Ze@)4^tvhXWIB))K;@*vw zrF=cTz@D0FFGx@KW}8ge-t>8&xvf7k8sD*{|M4GgGXv)5dAL>|q=JrC;!?iu`s8Gldk%$>O$zyEx#ZgyI6M#^w5P%pOc3x*DTHNvD7AVvI9xjdr|7m|W}@i~UIqGnOFg z?_iL-I$Ohy4WVkcmHdkIfHxIxh4T)lD4nG7J0Ol<3^?JB*dKA!CLG7=4rn}C%LD9? z)!>lLonVJ-33kRv1KS*>Yz#SP;~!!N^zF{vxb1Qo%hFhtp|l0ZTKeM;Y;o_@I54&q ziZ(7u8ePAQ*Qqj)=~>4ak?u*O3lVi1UHnVC;MeHr)+jJ^Y9r_>I-P3VkPP7$=wkze zihaOdpiqt_X>fvLq!Eu}p1U->RdLs|!No9(7b6fdjR?u2*M=+P%jmXf!~qhLr$^!) zqJK~v+_u)1=Bi4(Iv6dW3!pqM8(%iKYykg)K_s?e9aUS$F%vQ#}^5CnA54>N zpu8t)>qtBAf{|txkkOcE0nwrSqHOv|>o=LL-!A@uIK<}Y3Z=CxNNd-euy(~&Eg{%- zDVzZd*B~uiRMun**U0i4M@+LJAhDzwJ%?U5sH1d?H#C0bnFgn^N?@w zA)mpNaEHI<8O#ZH_-melR#)sT{+ef?h0zur3%Y}}3(7ZR+o05^3%A7BpoCkZcZuzZ zlON`W(R*OY(Eo+=u|X=@+nO6|Ybv{{x)yAfX>=0)rJJR&z)1aYyXBe$yY*Oh%cc*% zTP|YB;y58&R#OXGwgTLSLB)FRd(s-hYB5ObC`Bi(7Rf}7Ur5oP!t%GtI5_2RiTzIb zQ%z>hph_{!n7}jVjLH<_`ee3BwAgT^^HKcIgcXt&x5j90HPT%SyZ`!|kbPZ`n`r0X zB>t?0_cQOLjeicBp{?RA6v--`Dp@xhd!Bh`?w#%w4&Ux3ar1St`$ZpyO-@fGCgoS5N0-;n=s6ZhSyk$!T%{T_LJzK#E(=d?N` z8t;*N=2`Xgt$f(<0pL=PA?DDe_-Z%>R=XDE5kOThhJ^sjfD&~}koB+GEhiFCr55cN z3~YdTu+mnOG%ZYW*aVb@L9u1gB(J#bRjfUt7ppN5z@~`1GF+B$kwS|ONA`3Swvy8UL`5GtT}IAQN<_SD%Eu%NyK?UR<}#KNlaf?j zdZOdN37Pn_ivL?fqE#OG5g}T&GeESYtRza3k&&qb}j@&DSQRwN9b$(?seCMRyz_Z9nnboO)NbAQ8DBnyd4-J48rY&`k(Kv4eLU*{7 z^(bAhTutsbh9U0qaCPF9_-picHF{|zZgU;RB4fn}Jm0R4_O_PV8Vrd!fKl$BEC-Z@DqjtTVhw&hz@j0=_cp z4N63`Yo+eS#zhq^qbx$AO>kv*eQH~IR&ir~>C%p-+zr#MW8qSpIZNwUeq;aW$+41w ztQ@Vy*S~CSUH!)X;?{?M{W4#q%&TY*`0Ct_p9K0ck z`VbS?5V29D8!wqsUEO*l+&OgVt=VHYPPDCCdc+N?XmX7czJ2!fg5F|k2dumPZ1y!%qWbXp*OCm=e942wQ?N;r zX@TZJ4c6Xv>`MW~)^L(o+YggUnq(-g4d9!Vm!v2=XnJCWKTH_fo#?37JaAYN8nt~Ne-yt}ojDJiaCe@zdG`}FN-Ygt}XkY>|Yw0?C5qSq->Ge#;=i-gzlM5ud+1KhWNcb+r6erSJ&eF&TO`C&Ou-Ao=G2 z{;6f8&mgBl@pW2KR6s{8*d^zZ2!gb!5-%q9z8|I`dt>ls+FL2X#A-36fH#9GjbgPA zkvD@qR_4u!lta|^kVqyAvP&S7BQmY{_RZ@nN-~NdaFW5fm3fN^I!cSt*Px|zHOgI! z6I7aeLgcP}GsazOuHno7cr(gf1J_%XA?;reiu+fp4Hk9~+2|g2z%eZe8yN5LUtt%c zc%PH@D%OVxB1w`!(qg3J4E0b+5?xSgl!As5q8B!$LAH14K-^L3j=8fKU-GQB6J^{U8 zvrs*$Sw!oQN{(G?8dpgCVN3_v3bKbkR7)mJm63$#yx;4}&(1R<+iH3X$T8RjsNiJU;PbwtX(jLC2ak9;|FEcH?>xuE5pE=ypb^O)Mq1nyj`9zQ^ z?VN1u+PAD!;5VQ8h`)DZ)6VR`wiov__TT%tEhpc;Z;9Dc?_<2E(zTb?&3pgb ziXNYCP62_k2sFTvvbGO8_P{u{H6TIcT$?NDcw-v9N)YvwDkO*74~nW>fi}v=ezVt z89?<5hT4m(*4;Ofl51R*Vs+PcI;^=hVM=1|+jn16mO1GcyLVC&bC~j*eFJ-YyYkaB z8?uU>=9FaOV~;=|ZUp1gtmp|ZX@)j0lzVwM3z@@}1vmvShAOu~lNU2sfIKmIGjb}F zq{fTQr?KAS@;F&F1~3oBJ`oSXT%Ognq~u;KHCk@)3MDx}qyk3|L&2&y84Lxr%j#=} zLv}~g%9`D~?>XvhToDYfsP{1;z>#$`6~hnh2ya?d+Tt^pPdzj>d!=pPc|;>$0J~o+Ta4jSY2G6(z;+JDn)< zhop=687%ttZ03UmC+9Fz!4=GJai~RU2AssQE+8X}$WDbOB)pkKbJ*J!`8qL zv?_bb-H>@3TRwP@~eDx#Ep_NU}qj&GwGkeq?8V)rqt1U1XOnP7Km3?a; zm@HR5!oP39%r0RwyE?_{sq1v44Z{;RmWG#>cFqn2(mZwkuqn@-XD@5@_KqJIY0nM% zGB9_NQrm;A#l7pQY^Fxc@@3HYOu^j91%D6~erO`(GC3@!f+ktZ*nHx&I`7zk9Y)O-HJ>KP~*S4)~ z%+9PDs(qZBSUL0UubzG9TxZAGubtfX=wwlvuZ15RY|RM;GD#n6)%_c)vr1dM?r@p? zV0GS^H5VU~b+SqarYdv8b(CPmD^^4vR{j_^O)AKNUl6xcOD47i)T7eXrIOQL1hxj1 ze8Jbs1z%&&rny@IxlxEnBq;9S_PTLEg3QKY@H4CzN%0CoCH8PFj2)d)&_U2dyg0$= zxzn}q?t8lY1s2q^^-4uOq$8f~IVk_Qzzq|H1miRAkp>~{O0-8IK`0-I51re4z4@){ znxL5LXx-RVF~GEo45j(uVDrJx%pSeg5J+*P1sYa_yLa}w9Uc8+RjV)0gh*i+b|s}k zRIEKew)WguV6aE1m(qHz(A^pN;EnOeXPdi_qmMM9!oH0ScY7NH*0$qcJiP6V`<6D< zVvibv*2uR2tCT9XhmAQzC&Xci+Dy?D-&_nBc4&?Sog@>T&C{sb#+@2quNVU)ukgA_ zVIxTgE?p^CO0&`pKtwJcBkts~nM487xN^4q$|W00?lYOWuD;J5-SLHc`+CmaIM}#l zRiC3mUtmiwuJ5fJxO=Rua{SocS+*~mjZ=|rHP!w1eR21mFP`l)yUKEwrX?8-Syp4! zy0gnyU7P~4k2!ejeP}BD3>?!GsBC$|1=Ypw6jtwpL|1`jNE8ti(yXfRdF+{9rKlJt zDdj@3{fM3&2OAA3Qw9?G&)iq78G5V3>MqVocR!h)ouTo?2W74~ZUEj1PP>hV^$uWhWtURe|N9~BhV zl(~O1XV@&fE5$m8p;2gXzTUzZ8Wi1%qOgBSg~Pz!g{l#7z{5~PF{?w`}sD?E;>3`^m)^wOFo#V&U$ z?{Zc7oGCY2U3N#qieSxXeV)VF@@135SLMp*Qr!i`owcRum(2#fg==+IX9lW^i*srm zt=!GLQin;OmSJqu+X^xxKc22w8>kp*b`>-&D=C>Qo8k&G3T(+tYS82;&HIVn;iLk$ zn4BjgFADEqEYlUJ+F?P00|_XB>O%twh?|vdp&>iR-Ue+?;k`e7mirOJJ0a)EpP4(n=U8tm|DW`CQMmy62rno+ii4uNrO(C! zLdF;R9h(*6FPzZkbEPN9 z_kb0|GHa+3&Vqf23rp&x*Tj^7`S6dhLzE_+yGzavm5=Ck2b_N6uqSV+l#n^SR4j#snJM|7!hs7WJA_Xvr(nP5`{{u z*1~g-fv`oRkN=o4S*bIEu$QG+G|H5F{-zjkjYMi0pC*R9Vj+ z&P5_K)wY>l(3CZRg{Dxr@|_N{CQ?(32K*_#o4K}~E zl$1_(b;XD$U_b_0{*D_2Mr!S(`l2Bi+F=Tvc%xb$rZt1k!kq9Uw?UBDe3SWd=7_y zp4nHs3_3hZ3!O{0_nu1Ca)lAiwQKx4&^3BT+c0@@V9j%PEs>;n3I}&DX_)Ht)TZVn zb5GxVMD}=wHhp{>txuSX(?-fv>$_=SU zz=-LIe zb$U(fEFSnzpXPq<4Eg`u1Iu$<^-I|Q^@^+FcBrpbBdI-;h4^rG$e*BXiv5ztD38)n zNkkINxgF3Ep^T0wycdH=MOgu{EjEP3n}!h;1T%{YCXxuj!q&1`%o2RV#=06DIJ6;( z#WC347X_bhvjYPBia(Vorc+gWe)YygNz(2CFi0N3CKY+n6^=vjf z8OW+-euF5r%+4cG$c9cUs;YriAT901+5t9%_AF2h+7uQv#m*q#5l2iCL8u@IvJ^@Q z!;f_q!wKWmeJIpwwE8;QkXx)@>j8K0~$?_`lQGWB?_!C4~gQyrg%auQ4{d3_p zYYJ>cf=FqKWn(WDBZKVuHyd$qLvK7ICAeq(RSs}iu#cr-sV_DkR}**mNA_K?CF#f&VON{ z^2}U~2(F9v+xMB>=n6X^Hw3ehrR>f0(!vo_*I+F=ZBABtfTU8rRM`(B#Vma! z6`MrQ-+`OB22QlNs{6;v*i^Ld|&eD=SLW%V*B=eyhsTS2a zY35*=Ak?GRQ65q(#x9yJ#feR^6H%@@5RoxVotXs}!KF{Q^=;ZyDctqa#cUyxYl_|ySZU(`Yu#h7;e{PMlI^JKk+Nex76D;OSI(7{B z{R2BXI(7~O0s}jR|KR4HXn1MM%!>zGTMxcCv*o1*enX^++ZlQAbk*d!6(|{9g@2E( zz`xb!FLe#}pL=uH>=)1V4|ZL=5c!vTBi|PLcIeiBs~*FgLB23$3>VQvfh9tyHe3bj zPf|qM!HDc42Lxf(+?zP$^%ioL~tgGiwXyp!^BM7wpzVRWQ@!nUSnPX`y0oqHAs9Pv|vLCnDz; zy(4L&N`i@TEuy|5G*OX+i>ope8Tl5sQ*sSi;u+S9Xs^MvN2;fZ@0rQ5DwE4DtasMg zk~JB|ptHQUzQjU{-fDkr<36MDbXIasXsDV$Mtd!LKiH9f;rq$f?jrBUZ23FBpVZ?2 z*7sAr^{3{<_fsN49Pfv-b_C<+QG8MwzbqZb4>F*l4=jHY$B$0ZY^+dm_$1Ff;qVY| z;)=@4%xfEWde~va$SRn)1xcQ>J4aueW!w>~5Qh>wYTy=F5{?>Cl_X(&3M^FHPoD6mP}eS(m4~Ei68e5zAlAt*;)G{{}15gWGFr&PTwTj=%Fc2byUTdrEiqd zH(`9>r4QsN(}Z7K1&nz zbr|0O(}FuCeIvhihUo9n3J^=)uoyIza1{RlWl_b=qaCb3MqC@}AOI?2t;hLoF;k*V zDZv%8CSvsf1fh1Y#_}|RsTXTYfr}&rDzHm9$aXWs4uFZmfIrfLlDbf~RpjtR^+oDB zec8ph9__0yG0WzPQL<=+_pJ8ErT&FuTs7CoCQ_GZ%&>lb8wciFI14O_Vb%@Tli&qI z$Oiugj6{1Rtua${_hZN(Oc{GPgP1ws=a5y#R-XJ59A>whCDc0?1CNeejl(evRL6&Z zl)~_0p{q?>@mLstHU2Tjo~s>?LZ+1TBs6|3eu_UQArBd74{92anR!2ry#^;kblsT^ zhz^aCd`vE`XLLjqeKAWu{5AgNt(ze7(=U4PbF5w=cyKVZK8iglN#Rrk!uk zT#1&U;S?DOm0HE12^`jFrB)PGr<#~jHBSip+PK$4%WCY~wx8f99xqD&g+4oH<;z^j zh6mRa9ozvG5R<*U%{R0>^6|O4xFPbLmse)z=zn1;e*E5%Azxd$J#vNnO+lLD(akMedIJzo*am5uL66QeYXTf&UV{tAdAJSM9D!l+b3VGWHadlF-<(TGuV=A$w@ zmIYuC8BM%G7MNe;O3WAeLPQY;`s!@M#r^?X|ts% znrf&kA)<9+K)ocY-^Radw5521ebq%V)wRmW`&U=43RJc^*%ogs>h*SQXv+3$ZMTzd zgP}BEZmsjciVBl)cyJYFCzfyJ=!dZF1ghmc?6i(ClqcvN2zO*s2+k{^jSp| zO#X(Yp5p^gKa&?LEqYrVGD>ES>~CVfBrZ^{?4HIoi}Ol}mWQJUs3DF~?3yZK@5y*+ zg7d0_@9K0HPyoR^9~NB%4qX6)#%(98;F7X7x}6v|ZvEiR;j>erxXp#T)y4Ye1@z55 z*Wt;-_!YZ|y)b*rt+DDzqNggpFnR%iJVT77X4uPR?~`75@v1QZh-1yL(h>yz^DXQrp;EA9?Z-&LVtGb{_uER7H5Z|YH&@V zaI?DB{o7TZoL050UZNfs$H?46u^m@JBwJw*#O*J-bw|>h%rwZdl z7z!t$GqKZ>g(~{rHf+39=3*LN!zDeeMSr0JTwxt0Cs6(2EEMGth_ws}Fa}*P zE~a>HS)rC$VNK_s`-ETZS{3;L=WZ&`@u5_TRg_}%|d_A9AeS%-t+?--g z(P>910c7rBi&@-<%Oel*FCf<=UvV*{c3BZ*>OyrKrRnJ?fR*J9<*yq1E91{1U+q$)QFk~T;x!C|6+>;=Q# zW$cPYH}V&00P`aXTp>3ClArDZS3Y6%z@S{IOw-FL9v&e#g*8ZcL?m8OjdtjJ;eVAv zeYv{3CNvWzqvGeA>>1p|o$z#Sb6)f2zCi!! z>l-&+Kiwbb+l()AKkdlkc2|zId8)?twYKgXtMat1s^s=$IfM;rrFCe>y}dJ^JlfH5 z^pi8a_wE?7s#Iecd0*8vtv%c^ba1K9xAfpp$Kkb2y07MCpbO9k`@tjsA$Hl2;$dkG z(vc?*P zb$DNILHO94NBgGhQD%uabO^=?zrmbIQ^1mkpfwC^_A<2EVcwgH93)ibq$dIO)JqD5 zG|~Wfe)FI;TNSyLoTk;L86r2;+2-@y$DRi6d)~do7N zhI73(E!+hlqHGo-q|N?Lz**GbP$9L2{UzAN^p{w*LHyzPk8p`>X4GbcXc^g}YW_lc zj_QWasM4DC|A#8m+;7QJeJ3eRt2QQmMU`zi&2?SO(!HzEt5iwapXqb%rRQ_CJDu&W zx!DwpC53;$)sdgyULZbg{@kFg)Rs}2!GD^}X*@f`yM*7Wdf^vkhchiC_Cy_|;CD+M z6NqN38k+{x5*RbIL+ zLarf)zo8JGML$^-IpM5i^b*dJ9q!0@4f;67QD3DF&dFpskquQnn7x(zcB%XUFK`YN+ z*(R#95-LI#Z*_uf-aE_~#$lqUzty7b#yjbe6VM&*qzXq|kBbwQ;5VAt(|9;Z-(81# zceEGMEX2N^3|ug|D!Gc#TCayl*P^;8X{>@##E?y37%nMj08Ep3q97Epk{gL{#J|63 zLq$nuk9lhN3{vQkWhI6AmWldMr94MJ_uL~`Tb@O)cs0GSXY&FfDsb-3yWi)$x4 zz4?6sBtGcNR{9d&7GsCHEsy2im1zv9E8(g1Rj{YH3{(LKq)|qD^rkY$&r* zofbzX-~&3M==i0&1z^~yrV;9rL*Mc_h0r987^WsGae(9(sj1}L#x99($aMLen;ILS z%U@KGk5C3PGo=Ct%**Thl zHdh6!Q?rf1%p9XSSrfWqw@+8qU5+qz!O;6_pC=ACroFLQHhmz3nE zdvi@F$XGvp@8Ia;4Vjf$WMd|0B)hzU_K`wgPpxxhSL@2gdG&9&TLqZx538P4xD=OO zlVqsHvku$^Y^ZT+)X3HsDL}oiknF{R-{FzSzZ2;&`_O%en8Bk^)1{}K<+7B`M^@#W|J zjyI5h7hitf@6qe=^7DR@FQu2yDzLID$(&3Fhg>6JcCpxw4H(lGCLUT}-E-pV=HSjv ztMV(8t){ZB>9(GILq(-i4{x~2{V;Rlo+rolyn3)Pnt4$;dTiOishKvz+}~sS$NMMW zdS5uAdQ3sShCUA)ngGss{QHXM|%(*BDno*y< z;NARQeE4hZ;fd31D({+Vd-z56=)&K|KRQUtx$fLgK0k1Brp?F`@rG0EiaaHJ0(eg$ zMVVkbsO;381oOjffbm3ZDxNSNnMov(lTnV=oR}%O<8uH-7R+#~*$<^GvhQ!g9{S_x{rZkAC-L zJt+4&ZHvFoo7Q`U<3Go(;?^V03@7jeVr0|snMpgYUIE>Au$w5OU>Y6FOi4Bsm~n`% z_R;?_1cS5iYzM)URi!bbk4w|URhXyecT2G`nW3tho_O)s58VH&7bhlO{MG#r{QAX- ztF4D$-m>}SLv3w`Uf#Ur<-@I!mn`|knHfb+v)Ngcky)H?;lKGz)a`pC411q_)`g1Df# z@7E4hWo9>mFn)Tu7tHZBt*dJ@x2=7A|H-f4+tGRMowHy4_QsW^t-iG4b&qo2x0i+8 z-j>p=>J3C3pQ_3XgmPL35AwxweEG49YtH1Ql-D=sR!$8N(5M)O-}I95`-)b@!LYd& zb;HZ(Y_Vd4$pz3O=To?WW@uDuWW?jV!h|JXUY@WND}}kl65~HaJ4UM4d%Zrl#q9Gj z5?3NQnPTcu7PH8Ak`NAYuCVH%UPJ}d>B8IPdbc&bq^`GeDdQ{O-P;Lbb1I0?e7`UIooeH$W&+8XT>9}UZZhk zrdFx$XjKTedLoy&H&xfLCYP33ZE-8-NGqaTN>&r$^b4QlrDze z>D=d{v_g@sfJBBE+{7gq0c;zurc({HWYA@}y3Asi#o{W?%qn%Ir@KlcKd$Vy<%@Vz z1NQ_0OcpW$v}wArOD*HI62LT3C|pxs$8}k_4%e4vW#K-5S{jr=r)q9$@N_W0H{eOt zTGI$-s_*l9dKk=9BwVNU$|;giS7Qt8r#wY@xCG~)gzTeYz%(!mX0j6*0c}M_a-Jg3 z3xv_cBm;0BGl~ZD-spwB%!S}`1yoEBwp^oP_K`19F?()bM!q@Q5ZOz`?72Rz(UhK2 z2^QLQ{#W|6$V;HiUv#AF9Tx8QDVE5j-l!3{pR?yf?13lVi%OBlC_hp#J*L-;f_x^E z68O3s)P_nE|NXh^FF)`ALflW_ddlg2QOZe;)i4a#G(}!2Rm>Gi?yA;r+N!x zV^LHpZio@!RP6ccJc}Ao5mX4VaM8P^2$;lwh2EuLaV`Qc8yJ5{Jx&}!Vwck@CisN3 zjm2*DuvR!ISP&FIh(e(iMR^iihoPt=YQNv6AvRNyiokYQI#0&J$tJU}z-jZiEIKH+ zxPbt0PE83%o1l~`LyMOROfN_dCX7w^E{_-W&b^aR@kzL5)PrRexcP!-L8&K!I|Ol8 z{>K~Q>O5UymF&(ZW(f1;kt#NSFGD+ra?*#mbg|pa-B`A;9u>7lo>PM=2<2#dn7&QM zx0<+brG5@6lv~ zB#%K-lrilVyG^)Fq135#^B-W*I}oEDW6iRg*piVS27_fGt=T0VjrC4eEY$4DH(<~b z^Sa%#&AAwJnGu&49Z2%i60^Pe&O6i>eICQ-1Q2R!l78nm5F0-TgvgeG!VL*9l#%wfha3`YB=>0X|3RA zLBH6~;l+Q^E|D1w0jy%;QUx|ZejsTi5s7av$(9GP8 zMK%Hj)wYbnG$tj)t>Slu2Nnlz7MU>7I+$JvQ_LauVngoGeXsR3@q&iJj}%oYK@OoB zMG0Ymi>wMM^i7Ev5-38oYMI5!WaS|P6Mq4egGoAk62mNA8Q&bH5vSg;H5t*fmn zcjRVeno<==FB7q@Cip89$A-8*ZK?|c;iCCOoK-}>CFv`Xs3I&Io~bcQ)yJIwjIveKR^|n>!@?W=6 z6x@rVW7VEqhre;Ov2N#Rb@}N2c0Ml_+A*ay)nLyIpw{)L5${e?Ea4szAx*29OQI|~ zJ#ZneoYN{i9I8HI8(!=O4O0gud!kB_1TQs7n2ob5{x8H?SRGNB@1EcV@Pz7=QV=fZd&W%Tv#D%6;yG+$6rZVd!WhNP<*4tAr=O-lpK$ zhrCy!7nyZ0?bWu@drPULmw!J5@2o^rX$AG*5i&u8h`T7$%0w*!vGcQ1FVd5_Ps-;n z`4BB`=CoK~<*;sPFy=f0&Jh&2864>EZEFR_AF=(YJ*1;kfI`{?dJIPYe4M{r;cM=a zu|5x8#D_?-k*hhMmS2m#tK&S}ln9P-S}yjf<$|cKwL;Vn527N3IMT-} zN!F9^iN2Iy>`S7Oz2u$55_`!zi2(MJcT(u;5_isgF3fHyO%|Om)D^5i9k~69)D@*5 zKDhQoQMVe(!|qY`dvPNOdT5VI@bxK`yOg8|Qiq!_`UvPNr3b+8e&PLl*!?sn|JO~B z9zi4bzi9#u?*Fn0GzI^gCNS#K3r0~OmXC{#BK$Pc9PAlIMj5OhnhzQb+Q+kJ6Pp)8 zLEK2wI`?UpdW5tzCi6JTH?Cj1X7wZ;<%HXagerYFJ&KG{hPem1Bg%j)Ff@r$Bv_;x zDf)UY$uC8f%yG2L3;0Xti>zjbacX*3TU*U&fE35VKZ!5Rrk@(_akX5GeyUGpR4-_6 z{pip&*Ug+fKTK?F-uYP93>Vd%-2<_3$Nj5!KHpzCi zwiyv&wvy+N?DhJ>oeG2ebKC$wB(e0GT3ZB-x;7%nWt2GtdrQ*VXFgXHKhMwo2*5bn zoa8A7)&6=TT$BuDab0t#*00J62)Lk%-o1Im$&ryb|P#8j(aPmh@o~1j*g-# zc!}IF1%(|h!-9_*wL6gRB;hKgQzB_o*!6ls2Ql!)xx&lmuCjX{ZdiTY;=UG{&`@1B zn)UI|APH(ClAv5HefEfSN-T8f4co5}9^8Lov}fAEXmHo*sL0SJR>5G>C39t0cCSUa zhUbu_Bm1KKWgxFQ^KCvjzA2215HB=5imt+mH5)x!((SN}y11^^Tr3g*OtVQz1W=@x zwedJVB}J{15kAZbI55CsQBUJ@!JbXs|2RuCE7gU)jAkZ(`Tgrj^_ruPQ3cq}=KLj< zG1&>~=SlSQA7BePxj5nA1au6w52X|v5rT=W3|4C^Y!BKP%Bf_u14sfp-R1zo6p$y` zKd^f8HPgcAfkidvMtbeA-M|x>tkbfHa3H$R}2LO&yxH=W3IA&0CccANpjVt;yS=Zr*lIVyL>l6XV zA(ULv8+xfrC-X+!6XRlp77UxINFN~pSa_k7)drb4gJ_ln?<~TB5=C4IEH%SF@NZH= zxM*0u!o(1zl-)MX(TWy+iP=Iw@07iPe&)Crh|`>=)>5vfna)t&3ZjhjR~=utzA$0n|0X zZ@5Io3AAfuldMrF45i{%7n_C>*POzoC>7X3U0MzJrrTgq4y zxkcxHqmU!#MZ>u;+pkJ>ICW!vFw$zHh}cjTF8fnm{1ZneRZWC7hVZ8bS@jrX9yAz; z73krQlLHb0ZAjF@v!>PV2BMr?C$wL8!E=JrBdG7GzW8mB)}_0U>0J7C&I3@3fa6xL z8ecpzglar(xu*JLbvy*x1Di#sMISUMykxJn7NK$|!vZ!jM0BX+j$|K|0g#eX1o24l zx;lh|2nmYq&cYHiz7ger2RbI2J2v!JEC2fFle-!=FKO8{QnO{Md$PMom;Bt`!*_yCD_TR0%ATX03be@#cs*3~Pw<*#}As_Kf>A6b>~g?;7@isbLT zx^rdD6CT(()V_aB8(dOkHvywB{x#N{0qZ`&t;jE}oD;)92D%E69YNfv#fhlEq>$jG z`f$vbzgaova-v8KN9mODs59Y87#&8t#iZA1HOO8t@CH3oLFr_Sp^9o6`~hwRIcQj$ zSY|3RETn9PCc<3`t+~;9`?~Gl{Nfis@%QVuY&<(zGqL`k8rGhgD4e9NrpqP=T!OO6NXU+UVqAaQODO!e z?<=Rr2HTgYv>v~waoy>Om1ovBs%@1H9V7>0Ju)@sQpdSjw5J#ihhLd0L1Vgcyaua+ ztOhzyac<AH!dW3RtHc66eSe}C^6P9k@6 z~&r!6kewmO0B)& zhO=nR1huR1>Qv#Y;uX|PYB2wIQ~Wp3aVh^>g?4I5x?|l#4Uuic*~JP!Q~nKA?30EF z|JQO_riM_I4q3pgIn*Rk#ZR9Ujug`T?!ujC&z1!t*m1zilttXWiyO-i>!Ia%08ti3 zKn98MG(`>oN+o3-NCj9Lgr#CLG6$E63UIlGdV)k%`dkj=@j?`pLm;o%z7lY|A}jZ;BD$&(N27b z;uVk*Wq!jH!Uy2Wr=6`!(HNOSpDi*a%%F{!sZK^VW*fSx+t`Nb*WV2{g zxJER~(J6vgi)>%aq^93`?qBTTI*+?9WV40p+@88HfT|y83qN+(g%O;^CsL4>=F)Wj zUH+GNr=8oy5W&wQ6vOi3@DotbqQ}IHcW*_WG%pbk5$Hz356}AokQ+*v!)!ruqJ%l@ zmm*q;&^X9b3r1$POh_7i<}9P&^Dk?b9$7LprWPy~T|7|Jop3(MZ&`k7L)yB{V9~mp zmbD3Ym)0M}VJk=n$J)3c0}Ofw?N5Y;&Cvkq;6a*d1ZS9Hi6KKo9NCAg)G{zN|8ifz zr!9Qf5DK!^6F9;2rIkU4I8df%Cx*#OXQ9GDu%%Xhy`9rp;CwYzIo!f8c zuWmo&RA>0#71o@*+M_walG&*)@4K=Q$YH|ibQV2wwB<;~vW3sK07FCBFZ`TAp$NLe z=zZqFa^}N!WFsUB_I>H*k&&Cfw683@791ssadbgZgdyF2!I`hHwEKl;zD$BFonC)x z#l-3Ljg9M1Gda+FDrCY>FK16-2y9B0R$yNzd=_pySWOPJ}euD>{bIG=f zKfzpuxizCt*FZ(1Ibk!z4iGkL#9TJ|bRE95U^l~JUSGb3vP!7z0)|Hb90$^G0(*(> z68S~gMX};cO1VQb8$ZebSfz0Bvf;Um6T{-I1RDCvH?y1XSoP&^@E`0sM{E`6_TXn< zAAXMRUsUz+`$n(E|JnRaaQDlu5Z{DpmU%8>6FBgn`_CQg?ml*I|NhVQjDkiQv474edt3Yf z<+81?;|}NDRT!~!z^Vpv){eC$j>LI!$i@rkfHWDD@*+tm3^FD1AXT(H88n5$dUQy- zhP*rgj-qQKKZWmrE2F8wU7Uc)cmbJ}RWTXC){6t*#WP@GIHV+$zeMsy6e3~=!TKde zYlV^$BKXB^+0D1FdVJ&JL=%4Ay;{tFr~lP!525?<=rV&NKsozrBm5bmT;~-PYklL(y{7^i~|ld1{0| zf0VleEIPafg-)@tib$qfq{gavjp`~+rGv(y5@8*Y%0b`<&|_#}NX@bvKJ?X$_dIAa zQ9Q06CChS66dVm!nmi^COUO0yu&PR2Aq?#WYoSE90SPS`0L3Ab&g=4k&R7a@+0z3% z`a`F0J$owDxBY{gD%)2`R>Jh&-~@F3gD>ZrzIJN!rw-)vhd#aa#;;@>zj*WbE!)~m zZegD+2@9cPGM}{A^w(ylZd>)-x4-?|s@tYAe6(a3@ZTVM=Bp1~brk#QFwM>3-8-&@ zO|YlhM>YX5IMX-_+)Bv1DVzsZZV@-0SNEkVG{{b(uqQ9(XGMKtVQVjm9 zq1FYpvED|XQL8rjuC*ryQnlTgTAQt=sk=5ckg$t~Lkq&`#a#_{XY=sJuKqoXYHJtm z>F-=Km~lALJ`o> zkhCFpGtNnznh^{57O=UPR|A!l$sY)bCmy={-uv%)5sUw-Js{oT-+TVG*PcK0%IT4j z)2|%Dvv&adSfe@N$KUWYc|#UWdSy|{E*rkNL|NmgGX z_<7-;`|rJ*fA8?i9~mD0$jgUm`{ONG$3 z22KcafT*1sCvf{J_<+c_z!EZ`s+5#=rnT_j-F4;8-FM%;`OXb>4IA&=aQBn^?{`d0 zOchQFLjCfCLqpe0qzd=otpW$KDv*v!dHg^mgCZD83DIX@1kegHAjlzIPUP1@qHBZN zfWu~j4FS_#9VC4jPPiiUh}>}muA_8Kp0IUHh6^`be|QI(u;U z;l#Q-wg_f^%`%oM&;REKTK+DhrSMFcKOVAGQqKGsI7sHV6IDDUO^zzYP63!i>LZ%X zmy-F5?F=HO??SF#shv@@jiu6}c5{$nAG0}Vdr~45z<Y; zcOFdI-_rVg6CdH%GS-3R;_eT$HKRl}5U`@9;lk5q6Mr|>k`v>Z!FVbuhm3T~QUVe4 zVZpdzBoK^<5RP3jQ~2g*3*Qud;+79SCT_W%)&$R8cm5sm%Xo&HGy)O_7Vkqv{j2ErHt-+PzU0PayTtp^@2Y$h*_6mKLLZ=p ziLml89TV6?B*6rJkv&+;IuG9$RM{f)Ee3%t;dpSn_)cW^@MLbwtt%vEH5N#?AL*aQ zo=;w}^u&tV=XUH|cp8;p@qBJ6Hzt3Ry|)&&A2{#vZdwuePL6k@Vj7ZbWk{X@`a_tY zn&9wd0k2$cO)}wj<(d**$*yqFRqL*$)@g{r>Ef-6mW<*eV79d1q$3;jUT=UJZ};#j z*8C&FNpPYe4pR7~v&wHa`>UKzSO=EM8t1&f#S8n_%Py<-TP*%+c3a^_D{gdD(F3X+ zc#sw2zWV%9*?QSC@U=AOo8ZGEwkipYzY(KDm~4m;ET&n?7Cc3>$gw zY~L0q0>nl} zrfNamIKwrF7M1+H7LwyyW2pOy9!`PXQa*iVuBJr)l){hmo zo`zeuptY-27VQTL9~`3}XvKG(=IJ99eUV6Cg>VvyeLNS2^!gh1Q4QICVL&_SfJG1l zFPu$3SHo4e2VIP;7;h~3l;^)1VWv4Pk$c{>I@I;wX{`SWTuYT0&m%k`SZlzB3 zkMK4(I=!mbl{y6qZN4ZAFq>LCmoFy6^#zzh|!IfpR_f2y(znJ z#6-$G4;C^`>_giPTok@jX?|hY7qby@1&FgzZSf!gj&bp0QZTM zmVzUZTz2wFa@jCbeMT|)5Z5tP#emnQxRkvrS!HKHY+8Tvc@7q&|CY@#mPXx$4vB)= zT=>KCBMT!vdv0H}?b*&AwNb7%8MTpgPfhc(7N0w}Du094@NQv9e7D;WFrSy#k508L zyLolPl0^&DqC&6pc`U(};p#|7!aahq_%#gz&kdgcjp%}2(aH7XyZq4O6SW3CxH;fL zf>RtNY~VT~f(uH?VLCnx=wiGWT0vWDt|=4%v928%&9Guh8YgrsAmy1oL&CKjjv^gw zR!%rAZqe2L-2REvYa6o5ugIh(dg52COAlw`Ca12d^|9^CZd_HLTDYkpy4XwPQh}->_Zl2xV*hxoS6< z>A@|``dfAW_cA~1>?T@Q^ zLu2uo5h0PS%U${C6;EFA$gbRePo=kW)8LbXQ=JulFFaItPu{VkL;lV?@{S#MO!B+J z?!rHGuJ4V>goD#(WU=1$oqWm-35vdXAt#b7Xn_>WsUoAsO)~goEPl zmka;(jiUqZ;FXs4tG~_%zC*T?NxVyVL$M2EZRc|N3_|IWE-2dvJxSpALy5*xUe2P3 zt8l%r5RCLV^bC5Go<}JacKF39l7z&OIiW-T=Mx5l!l0bs|9Pj`sc0&^o|U=GJ9+=D zvd4cFZt~Qbe_8mI*>LBbI;-#otwMNN?h@}rTV&9H;DIj24JGA+a7AcWfWU7+nF2u zg20lQKO9T@_3cBacJ_ndduVI7zoX~waNktE@JsQ$#b4#9Z~B42f3G3iQoqZa9!#c} zJ3}Yx7qtY~*os_GyjyroaV26LZq&|LmR}OWvg1b(3qw#$rhsw>rwwKN%tXsr@SDP9 zTLJg-m=W|~oTIQKz4d0d*+l{5Qs{%+2}SG(LLV$dcB!tg7#V+GG+n7T1{x!$4jx38 zy82m{`tFsww0X1mu034qa8~=x3kR19&i`!BwzO<4b}V=ub?mu8{!N+>fz8LSF&{dt zVK5xf*uxD@2A6coAYv4|NW=)^O&)3C*G-#FEiJswJC>f>)O72SowwYw^N8&H;*%S) z!W-F*Cl??3NI?$x3D4e>#(T6}5?qcl9Nq}QY{YBGj|x>$lmsco3g$##tZY0e_7b%J zc6yrc0jKKU$)~ZN_F!4zVm!MOYf8(W4gG4K_Q_sBItmsmWE_J&P{8w}dw zIDe0g1?po^1{&0+<+MH_n>MnHG;R_yUE~(b8)&kZ>D(gb8{vCr3s0Rn!!K3rnvU}w zg})WvD13`=rm@~C-o^a}&lfot9K=}Q{Brc4LT5a;z-$trE?e=C-<&x^!cm$Zr+Ah> zfO{OIYZKs`PI_M4N0YZ2V+ud|m^B!m<>-&ak#fKghP0&-W;x&o5qw3H4-jg>U{F`s zTiVXZ?(LZBkI7ZGTAS9W>|4UWfi{qQ`A58~g4P*11_{MM0)-r)WDbJ&2@(e+6Y#7o zLaZewMO(n`h`J|?B7`{qtQ35~AE8sbZuK|y74}2FcQ^yi501E<>hEYg&f3$b zt2Nilq1jvP`L2%m%1h~LY(cf6E)XDKW{ zEmQ0l-k5%n#uI%JPvHIlm&rG{vHD0wLYHvRTm?o3{17MTr#Nd$16-xq(NwN@lF5<( zBNP{BsI09Zb7xrsY4OB0;*U*1YsmO-f^f}ti&gzEW`okC`k~5(W@F~R=MNUPRaWv3 zm;;7F1I{{A;i_=N8Zq-9H34c;Y@uu0%*TO5rUo&L3X!&D;K=0QW_&4dz!@?UXL&0weoA`6|&T-7~7v{Zl zLV73ZjRIVmIA}SWIbM1vbdVe)fgv{o3=}La;S1LwjC@jSHxC|x;de}HF|$6u0HwVU zGH9^m7ns5p{@)EMl9SEi8LRro+_SE&ZC!U5a#Y~zA(ytJ?^XAzM0VF5!@61uQS;j~xr-s+^wM)_^Y)#}Sj` zb!LOJs>vU0OL}5MSM;5}+gslegtG6_TQ{3@N~IcEB0j33rdBHTPVrBAe=6ilM*IeY zFPij)QhvQ~wKM06v?L=&Q&o1Lu5n3g<>AeV-gMk#jHcRSo_ZhZNmbgs)j_XbR}rf5 znk#i?C&q&I`d*9$`7GgmARBQ%T$NZM&>x_6VPi}%M<(JXoVe&idoEEih+j53G&H(- z^T^JDPhU!lP74tK6dH%;cl1xdb1?RbQ>Bfz!iTYw~m)S-eb!hURV zmK6p?hFU}V44tcJ4O|eUZox-=p%>K-ZLq!^`ehy;MuWolEf^XeS;0SZENr?@ZMU_Y z{>kVSeSz@>dWTwW8O&ze{=0C!_vdwes`Ry;Ga@1R0*Mb9)Xx81~B zYBB3HI1=r=o&0*_6Q1YRbMR*uO`NV-xOaf+=bfIA$u=(KpDT>@>|T;gF4^5fzmIRC z_WH%UWTY=tlUxZQgQMg!DbhUcz!tCOs%nc46JDHgn80eE<*J$QFOjAH{o0R?ecshknW8c{=>>fK!A>LOeT7b3OUQDu*WqexKKR1j7~id-rge-i^CS4zoZ z%qWxUD=@T`@>|)VT5GH_mh;qB`>XtJqrswZth_Ec)Zl5cSQT1Zv^rVQyUagyXr=7S zg2C=J1-zb$m(wW&-0hm`aevcDf*;hHBWABfGdSRDsrN(jV+=BoPbT@J@E66oPvnge z=p6>k9fwFJ>at31Wb!P@Rzn$)$);G!vJ{zR&SZ%dru_ZR`QJ;dFy-&(-OnP>#YfM* zmB8x;qtO^QLQF?u;52m4%Y3!MB|pD_aSjovJM9g=<{qOr?uzA{#}~Mjn!w_0&0u3i zW$So4)$LIz-Ey1Tx^z{dGj6W*@w=wqb2da0;l52>ty9C*feJ50Vlggajr=jlDhIci zKUgHlMx`}vKd%w1LV|)N(i@APsEeNzu`I|EfP)0E$BUvQv4p62ErBG9vY#cH(okOh zM)0Iu>_!^n%inm3Hxdo^n+T9t>h!?mbr z;;OB*tnkONjr3N9Be}7?ZN%nV(UKTzuGE_Oq^d6$s;#hU&FWCiRZY3|m6f}@#wOU_ z+UiP%?cMDQ1*6kv3I&Xnjp3`effv-EsjjXD?OAOozpBM&8|u>=_1Z*3q#=_{jSl(R zQvup;*l&&4Z+gfa6<5o3Aw#?Yw7#f(O)5Von8_6;W+XHR*;q9wei5vsLXB*2 z7}N|d8!}6xCCFJZ9K!&v#gT}AQtz#B|K6z>7HitgwvI|) z6AfpBR!PI|_J)>*{Q(+wg8v9yx9}j|yMpr2DbHU?M*A&HAX zMNk`>m017fm|JY=@!K1MCZ7YvGwV!tk>K9CNn;+C*5VK@TTCzT*kSl zK(`2&fqB+kvJ$ESfKyPs09N5Rww{Z>GSUv3#0##%IFq}dZrI7LqS?FPs(H`4@PfII zq4`n=t&yr~MudvYan{xOiClB4G&#Q=7|qlI=jf;#YN)7n>E#Bs%4`~~tqnB0k1uek zgF)a?R96$mn!^46* z@Gl_*rE3ThK&lW0g*UPks3RQ>=L<=XPi5$r*&T)-g#>Q)?_;-nPMprkYW35Ahx z>TGnPTr_MAS!0o4v07kJCzR?1A_*1_1X^+Q6Chxef)=9--3qn0yS|~zsEZ^TToY@K zFN zc)>|Vkv|cnfe=nuXcQDf1FNf}5f%<(@O>jENQyOGIxFJ#@b@isfly<>M=H z;?!}O-{W*d8-3Awk9u=WQ#Q49O4hk~5cP_CLQRXUwoQGBC7qG_e?ogu$4GcvNXQ=o zXBW5wohmuZbvV}W1&myB4U+eY9R|3w?Lah}9Kq9BYnftU<3$A-Cz}4>VtM&4Kj4{cF$3UH$boZ+hL0izADcERHx)Ihbp} zUX3dDVz0Jy|0+orZ9AOF4JwQ+D;Y$>10M;qKB7$gIakfO01`xckR6L1O9w%T@3AK@BlWSU(wLSm`j5uAz5a;sHb=cIkUbfFah=lEvb8J8YXK%&3s$$1 z(mn|sR1H}`9p$QY0$ z2cG0eO}K=NAZSrN4;(ZFqpjdZ#};TO7b?|5Dml#o4NeP!&F89(1r0-@W|_=vT>Y6P zhDtd8Y_^sW=a5{zSTvhfeR2W-HnFqOYgV~xf{zC)o`IWp=Zk)OJ;|Y(+^2%>&uI*W zhra28tuS0w)h{zj7;9(u$3_&-EoY;X&AS(&vT*NENWLJ<2#V5^Q`CH5$ zivUQ@x5*c*Rq+TbibV}CYM?ZOMW|*`SG9+~?QHQicjwco-s6FeRjrMaeQ~n;Yx*mW zFY&pTu9_U_>uy4%CepvDgUo%e8#3nnd9D%dKF=rNXo55P{aZNoGo0|^`?oxuu0>1H zXw>IbTo1g53aGJfP~B|Mf5Ymj385NG$xi}KDU`QGQ4=k`6|n-Tm%=2f9pEq+rQE6+ zgtIgpANCHQoW0;Qn*Vqf5GIX_X*Qq~DZheX(UVv_TvumHE|acHRK=+JfE}gXnE|OI z?4`5~l!)C(8nYrClpr)z+mpiVrSod$^rQn-{?l;phK}p*wwO|n9vQ!5SC`d2y+*8G zdi7B6rhz)MQ=1O0-f~6i=C8Mp{qWfMwaaUt-M($@BW=O6!j8^uqt*A^^#1V5j{Q&U zs;Ss;+xmK9ChlhGj+-~{pQ+=%W%=eK{7vA`@RIiJ%2xbur24Gr4^__BKnI!5vgJzOqrJh0! z5wF*0lgnF^dVBrKp$r_Kb}IV>QaZf>s3vb+dnlTYR(O1NxsqKpIh58$>WH7AD+kfU zMGJR{-@z&~a>%biZ5O!xaN*0Fov?4BK`ah1xKWhRJ+kGxHP#=uhzO+Usi`&t}J)EB5}dW^mn(osBJn;h`%>hW0J0afMnopItiG z)zh}&==Dc8v~?eOde5Fu@6N3oPd1r?sle#6maVrgLq+hyFKhmL_uAxW*6+`bCfDv3 zzY?qSXhA^lUDOn6t95%*Js&LYUNUmc@;c!2BN3BaZEsvT(0z1$OJZbG)97};t+&Nd zUteRYIlG3g@_Bp0N~~{+9UhWDfU};k0>!vER3X>|EIJO;4Etbq{wD(Cus;yfwg;Pp zLuU)WJ$sfnl3xGD8-n7MS1|tIHxoYzT#}XRr-F9p6l=H z?x>Dak^}`xW___+SU>2o8rIk zF^yioKHInL@V36LYo6Y_^{;kh+jc#$E|PDkNUyzaVQyEl@XM;8=>A2xYelAENl%m0 z)wy6zwq__>DZ8h_r3_E3T;%mPca3enabn@wD>~CF_I7n2m|9$6jn&lq;%hfe)ytL9 zKp*;?IscA~aBVtRSjQxl)2CJ>@tP3tphdTL@3icihpk^Ff9vzy0r> z;>`Al*%o1~E4D3H&4=j(tV0E_V$;C(8-t|75rEn{p{|wLbA-4tgS2mW-?gOylwMl zB=nOUw-)w`9rDLAEQSnm&nmP~};A+4JDqL3jfXoRZ&kGTC z2$M#$%CBu^M;q%ol6*12M3t9<>shXpxJpSgL&&0hXUS~|KwfcS(0!m!QmSMsC3&rh zW);T?)9J{Wi$<*npn1MW(Qz%fSQcohbf$gGDNML3b z^nqXY6WP2@D2c_O!gqAP_mfG|2OmX&iP-H z9Y6E+yt`+8GxtUsN_8*-V@&dQ&azZylx)eVu7olKb`S)*tMSSRC>HM zP>~+2$u16P74C&_RLK%P|M29hrB?TnieUBdRBP9!zHlO(ataEBWhtIi#s5l9ws0FN zS}bfsv3d`DvV00cT^y<7$(DV18Xk>&meBUzKi?LuHTn_->U-XV9%)p6;<$X9N1d zbo)4O3fp`NWm}`~*y@%|gVnJJ<`VsHz&fZ^Y=NHE!X3%mLXcCimf?+o`qNMwi$WQe zPCFZvI+9NStOBmi5H~Dy{X({7aXQe=4aq*D;gpW!PMClNCnM9FSPXCd?K@|Cl&;@ zXkC}Kv3AO(QtHCKxY?{Wrq|c3^eB~D@mIFG;ihPlJPR3;!JUOb&4l11dYqsD=o|tx6jPMtIRD zc$s+B1sBZ;DV5ZQ%RhlxSXO2v(D~~`RY=Qxz^THCYkU?Jyw-kr<8B>MV#@p*O#}LI_qPt z)pnIF=&sWt!cZ0Phn58^+yR8B6y)s3CKBG{6NpQ>2y+j9BXU2%BMn0fl>#@C6ry+$ zpdxaDuv(GPz~YxhZAUVXvP`dNO54+XqQ?^NstfsLg5DDI_4FL?ksbYGs3Ymo^lKEA zRexOl^{>-f=eaTA7r<&f0H_>l7uaw#ApT06CB?7>kBjmWLG)0ECStPf^pt<8Ae3Z^Y8mCx5VTH)?a(fZp$sp1Bm5 z+3#YU5qHd+@Da(;<^3kgSMDPkhr^sWJpC9(TnjOg>OQ+5v`0 z=^cLYr^!*DIb!wb1WMo0QI2TGIMA=p;u8}fx z4DD6KkNA`+f{ey0w_0vgsq6-?{i@^Q@2?GX)ce$$j7hDCgyO=lrWs6{!y4kxVhxq* zcwj|h8(kVpj4FfQIxPNai=Zg1r@g*Z_=#8xS)Jy-o;N_aa7k=25KWYG>_V7xU?|p8 zD2xMBE#hKRfE1D7mi_?FLgEp=$dv@hDPOshT}dj>MXtQynHRfg{^Lk~>rl4U8YZtT z5eTx_ZwZlek$5#NKRD7@0zUcGpc;MK+g;btWpb@)m{^0@b)&b|ZD6r$^T@Jj6T)?# zdK-&huk|Bbmrib5M-l8MzgnBaTp)tIu_0A>fgeuSxt)M2vp_a5@50+G&KTwp#|}Yg ztFdKSoDn-#iYwAgl_QSKy%6TYEXWv!{PLDX>E%Lh1E}0`T*_M*c^yMUTug{NI`b{VYd-wRjd!Cv{UNIoo$mQNUc zy22j?g;H1e0pN@1Jc)n8m8Ip6AahL51vwzga4abBLXn3;f*LbO*aCR7WROGQM-@kC zg>I)IXbdX#N zlGDA^N=Y_Bog%{|9&;ghN9oFvX-b|>RJ0@F5z4DZDmvxHvP?!e4026r{`Dnm)+{+V zzIyfe!Ja*f5{X57dJgvPreAjV9u(geRxMdFDF`da$AP1Mk&ht|)Ul~QMnSvs@84l_ zSTFo5e-2|hNaHyOO()?-Zf}GXFP2mUFcPjS8B+}8MkrwnGSFSga8;Epc>!{*6hMv7 zGOXEwj7kvFQe=v3olLSEU`yR0*Q(WaZ`c{Bi8l8%N4-r8($#TCg|Px4E4jL{wz?%^ z^2?1n=(f=cU=VRp%-t}O%C7Xu8^HFV*HpS3ZmTVrsfl$ZJ=%(JOsTch*nO#vKwpDO z1E^xu>GD`@q2~HPYpsXyZRcNrE^;OC0}(nqA%74tAgcb85m}=3B^L<-lpwV0BHpomWmCYCp*%JMYnfmgd;-_bDNR2guh5oWN8`bj0 z8oV_m{2hOjBF8mw*XIq0EXn~?R?^vC3IWC8l#)ShP$JO5lS>N!ZYY;kpBh!G1XLs^ zmwfG?yAtV^fHJYG5hlk}H*hJd*&GJ|E2;s2yQECcRunLoCFXT-G(q1)?j=K>z?sG0 zR8$}|GLur}Fu0r+M{9pZYgpmx`P4T7+sV1V(zVd7R0T$xNT%m<$G>@^OLibu z*I3~i|92+|!^}`^Y~s84hwY;#@it*0bmT@3NR(Q=3QY`IC~c8ay`pTR9qrX$wK#@?k@mrO|9bJZQ2VmRft@b6am|iflndH}nTXXI$pqUM zC~t9?I~A^-1C7htL$r+60`~(O3HBFcI&3eVnHgng!iUPIXlrOXT-h?7$&9yD9?pt? zY|ZkGg}+ZNZVd!l7pLg=EGQg!ZUFCc$sfU(!LDFXLRc1L*OZJseypm-RmDQ$r8BH( z+GNW0(8)u?CRGCPK$=rbm$$pByqWH(p>|{{w{jbnja=atu)z0dcu&MAW5jAEG{x~?`fRg6;7>qP=BzTcJ+9l_rR81S+Ne$AF zHI16aWTLhv8u7SHRBl<#t10p)(KgYke2FsJ;W?e+A5J#fY<9n4tv(P>dV{G-qa)Fq z2qBjSn6m~z72Z>;{_rQ(L-Ado$K68U1_r!uKUrL)#Hr?;4c^Y05k zfiH>hdYkha=+TrpQ+AmLV5ma1-cG72FHn2{|E|X>W+e7gg!c$amym?M#5M4xA}ABF z#Tj;VCTfWs4`?KkyN4tJcF9Nx;atH+KxmqHpWF~m;4^@aO^!28 z@_6D-((NUa@Ddly*aw%mfLRBZ_^xCdR7K&@xrA*13vX^v$Nsi|m^q+MNb0tuZjc#z zGJ{5CGLOoqd?AJ*E!hQU1t;kPYAq=QYcLjGH$S$+#GKPptEguOHMf52D?hh1eTfv*44>$sZrBE zK*!WZv<-Z~uv5sVr~-B}n@^J@B`h6UjZguB=!$0?L();sAgGSXp=W_mn#Uz)&y_F+ z6x$$j2c`k>=DI|6L;aWa&c=+haZ&RVN1)8e*Qothioc5ng2}u7p1$z6~yy9crf^rFcg_EbSOoJapPZ(1Pss1o#q8MDn=T^ z1y1J>ihfHxN4%9i2bsY60CLzU3_ye*{0=Q7E%J@5TC4O>#_s`AL+PQx@^7;q&le&= z!{_A=%YvI`-Zb+@p1V?fnO_dZC^M%xXV&p4LPtaQ#YyJ}Ye=1dyymb~YpAqoqaKxL z%;v|O{u=o|D}#>Ao*iof>IzLLciV#x4bm8Fk?rK`R{oDEwqja zqD?+W=;SzS38GDCFeJ;PFgc7ShR`OCJxAJJa=h|&scbe?J)8>!a>Lc~Q_aal^D=L$ zuezqM(Tj)U-J9_4+PUv05ebV&dcLql;w+Uyzf<^bE?}?xZmR^=lgQ)YoZmG2)v~WP zCz8!8yp4S|)qN?r9k>|$sqX`v93(yfixJK`EJwI#pf2L5;P+z9&LKw)S9v7EV? zQ|+PA5rY}*e`rr9WUZC8ht&%fuuYieior&!2v{Xv&?Z+n#;Vy{rQ+LkT$QWYGyYZ- zvwy#CAmy$aSfBGW=hF6w%BXXP5|ur}_PU|W3E54?boauV_SGGMVjRM37#R(K>eSHQ0(;;pz zhcAJuC6~cF#XEVx{jA8@rY#W70-F~^5R+B>;Cl@z!?lIyUsKt@RCk;oE%%NP9CncAFcnEqk!?Xj@L|p8`fr9tx zoB3z1zM5|*EjxAQ;3SS`Hl zyn{{VcK)q`S6E1mpnDz@?h##_ms>AEEx?%$IW*$+;MC%Vy!qLG^Fu{QjD_|GWCwmQ zyeycNy=-cU=3}l^RBMnrH(zL98M zPcAT6O7Vo3Ne>{6O0iDz1tHOxwE!mx&Q(TyBH`2}O&BGo@6?$!a&s^f3a5kM%QEYH z-`=jb%Xh;9QK)yz_4@7KTCCAJ%m%wwV-$bo3i~`pUnb^o#?n5cry}fX<_{XQZ=&qF z)%2#;P`Kr4N8I4>xjojXEkNV`2n`%$j*{&*tmsKnnV=wWMFvKct|?l0@M02WkFfgo z!Vmcx`2+85lbcV{SuyjBa6W)B!JP0L$wx8gG36C6J;yxjIpTLu@&h!U{|}xeoIWX> z`G52*zVD=1l+C3+ve-{?h@=f)9H$u`85$+@t}q}C(n+}${koI8L3m2s2iYTWIPy?e z$b?!>&my@Ya0}7u@>7bH;Gdd)>*OB~2)~)Wx%`a1n5$4;IW_Yw!syu9W78t&J;Qr^aWiTgF@eum>;JpU-Jeun3t{x$s+q@Of@REy+w`D5@g z=ATE^8kP&eXlp5ZN}?1@6BS&7KxdYj51Wb~PQDO#hT#HHx@)acDu;wiAuo^t7B0mk z1j+z%v}PCGf8#d4f7^}sEy}hIG+nW2S!d*HkKLw_1-@ ztvvhn!uiJvd-;z(#`9l4yRwSf`U2XDb&NP6d=BNqA5(z^JVm?^%+pX?Y#C;U0*dBH zRZxl6fit*h0)oRpL>U+C4m*DhzioJZvqQjk%kjo=Yi;4-uZjC*?-w+#)Nq5=Y0>&( zPR;cF@&_O(Y0_6<&ZF{A0=HVjE%|(vO@Jy}wD<_Y!jb^efHFav5Q`uiw(=KEbG~2@ zmYV8HAKd3~m|mBmPyfL~9`-~N(JENnIeoeF2bSlBGezW7PE+sxl?*Q-og{&tnY zU_l<)d)s8qp3cews3zPt{{29Q=lyTVAJE$h5szK#((^yo=)o%jo)^q%r~EUB^FqHg zAh5@!8|&+ma%^<~J7`d#V`B0tAGEX?oH1*R#)Xf97)o+6P+XrhV41^Ww+Tu__yNdb zN^l%S#NzOrNO zo;GtbcGebAN5^_@c>9^{TVLXZzZ#fqa*7K~7PSyren$4e(5Y{nxc)02nXGWN_l-t} zuIp+JEU&dAYHbc4e(s%*Kg0_!ZBbkOcCFc}L;|&ka)tJS_uVId0{D;D**ac&{&(UQ zfc@3Tb;5IiKq(r_t-B?geG0*F(> z>k%$@_T{B2M09mNSqApay8&Cj`1o1ZBOwI2Wh1R5z58V8G+)`L-^RIX|E<)zV}t1)I5ukW<6 zG*Vd-;B548JsY!#*@7_((U_I;?U|n)>5(%5yBv;j2zJIk5{s|u-qLpVJ2&SCZvN_F zf8XF>rCRRw>HLX&{l}ivP5)eQsv4FZToBDxR~no_QTz|HdEwcY_a6J&%>!_{YrB0; z4AN&GJ~q66aV-YU;-@uN3rzdl^2gzu{1IDoo#%fm+W=oiJvW6~B#282VJ!?(6BGqN zMB=p3K0xEx`*5(LHAb+kMnZy-+ic-E4o z8f0)b)3(D$_=0yT1O+r@*@pT|4pCoicdxI-HT}ZAt|5;$))vaJk0Y9%9(*he@5>K* zb@=%BRR+DIWB2F&_(WoXXZnWqPxIWlJ)MrddPC_`w{U#j)91N!S9KDBFV4X*a`8SU z{(=i}!(2Y!(FbnSCWuN1Omek@jX+7cv?^3HQ>p5hq?f3hGV-x-I6NF4a-#N~z1kho zU{Xt^Kv=?SkmYf(%q8S#gBQyNoNmeW%o1WH>{K=fM?3b1_^cz@n~W^!O&Xkj(+7WR z^t%kn-X#%y=y+Cm+vj^OoM_#4E3!w2nr-&xp~=kBTer0)!~d=}d(8a(UE4>hgUjyR zTeoTLL?kk?Ze!ivJC_BkN49tU?svk{Wv<|g=hhwm>PLn=sh+B;o|I?kBVRqd{@jXD ztg08Gy=HSFhmucczfRFMs4#U-v31Qru7KR;hnzFgoGGC^^f7cl5hRW(r5 z!RlB@twh2ILnBBzy9N~HC|P5YxMvC##kCL|l$^`b=Pc0Gm_9jl+xL^<+F>1yE)^HHJ;|8y!e7hx${)bF z_Fq^pJl59};&QC7Y7YEYkh4(I(H+QW0+=xwO~N;b5CiCLaA09gApLcU>{tf1M+aHA zyr|P#a+l4!7Fx}mOTkA2r5T9`5v9@#tzJ5V*x?i-@#^E}YtknguX^UXt{c1QOsd$_ zJGrOR$*cNSWuaG_jg7o1lmoBvv;4a!UOhQrHsdTZWw+eEs>NR0Q=ZG|Ba&QMhPm^g zzj|0CIL+`ns9yxHElyWivrZAXH4=7HK@~l(C+#^}%t^)y1uo@6)w%iJyYIetZ0~6F zp3XIQZq1^8600eb+j{5fXRrPCbI-q)+4NBq2D-_x?51aSq5#my2nuWMeD?>jbx!^0h>%vcQ12*F4OA0tt zgR%lH28CmXp?34abSJ;^kk4y)S9qoH8ED`U;Vo$3f1t4huQ|r@A+(ppXuXDu=-{l; zSowmG63C$!;(|eEe4ZZ8w(*P_KEs77d+1@Mvhcbg=(0*mv&pi=J=Ax4|ns&#(N9LrSV@{cwRgpOJh~Q(`3*K!XP?3Q<`CEKJk^~%O{vhebb5c zr&d-A)tinjYxX%Co4cV=cjic=j)nY&ilO~~bJOO>5BG)>q)x9{6d&6|=XqV>qcW}h z8_4D9658@=AL;`k07a%PrRmf|X9L{}FcAOEy@h`fq zncYS-8h_Dk(%Y21>6DDmX~;%#I~{6)7(Z==os7u_cHE%KM%CcTY_1rw-%t=NZ* zb0s`k#hJVKq|rV3+KXH+lkL68Jc}foq<;|dZL#Gj;fmQbMNI)Gg+kc`R7ue!Bq36& zR@4DAxvVJokhgB<^9=_EK6?L0uAR6(mw#l(rwk2I6ZUnf0}l4UP{o%B4SHjKl#px_@&^9#qjq{-0b`AGT78R!e)LT63TtW^wm zM^C;!364jm_qb~1^H7wXl!g3f%`b!C7f?^-)r!t7Lsg>*gTkfN*N1|2UR`r$O0vB zzj!3jVq?bHx!s)z+R^&{^!fkczb@=V%o=`YNUJK35$vbrl@_Q0Y4l;s) z3XA#QO}vQg1#$+Gy-OeiA`nwBJC|ZFX7K~7?ZMNhAGBGwo5Ic2)y-j(u=oBiU;VgD zX^z>ZHy9GW+rNh2<5uBe`du*{v~S+EYqLF=>aMa_s=8DE^Ra@KUn{;>yEcxDXuW@HoMT)6%Y zvDtv&S)z+I?WXc8o8E13Bg`AlqkwIs!y}^5d`LbbAdTJ%AWXnN!Ur=pHo4tR8)is< zmuUTI zyjxgI7x{Y_%m{#CoGc*2z+cg1@Hv>lr|0x6O=!}nK+D8>b`y^^@(@=3*Zgeh@e3b) zBz7w~Dd*@=k8uA{q3@);$IeN2D4xW3WN@#@xQGbqdEtw0F(q<`Q#nD2f;JX?o#>WOoQUp#WEg)jHYIi29rHCx z7EuD`)|Y5QL`j9aYumI$;G(cIxE!Lkf? z$Hw_WN|V=YO^jI^NG&%@$DFnKkDPnBpw=lJi!4vw#XphIl$}-@BX!>yp9>b8_}a`v z=MHDoB=CL4ytormS4?TDzd3=gJR#LO68L$^3H+thrKw&YYvk&rB`$SaR96r>7e z@lGisJyuvZbRagJ|Ccj<=(W@WgRv}6N(=3))5=4blO(P

    {e2O2{s7^`lE9GCT@J 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

    !ump=_U%Ldm`W#$)AJp;TW26LE?`p+s$fwQ%}C zp)_rQwQ)K?p(H1P_0%F@igOy6s+I!NoUefC&M9C6wFH=<76ThvZvvY*{{a5nItcs^ z>kx2;>^F8t-t)kF7Gu}(Iq=tW!9}md%KUEJpnCxN3f`xq*oQn#=g@kB*o}-q`$^)u zTpul{CH5unLL2Ic74wJvRzy#OTE(FEdNF$;R^!fr?71;>)f!{+DR-watweX5F|jN0 zl9&muSz|1A6WxtsCb^r%tmVEeX0p3U%-Zf2G3&Tn#Y}Oxi<#=~5Hro)C1$$2Tg(i1 zkC+W{b_4b2&Ik5Fe=+qp2AGSJ6R0P(+SHH>M9x-#M)B?fV1kR9L!J!9lUzgVTCSmN zvTLYZ+g%2%<1PoLxGRCF?kZrKy9Suwpc>V@>NRhS^5;=+bbGr4@4Kpm)dO z{EBH+&4K-J?gaTkIE@{QQd@7>%vzhq8I)4LCWxUI<_!ubLTX^8>@UzIf&Q+01m+pO z#M|a=@HTocdz)~x;1+MIYrC%NxIwp~Tgm+yPMI)%^(ao_yn}lWK2{UJ?~HNAg5N3Q z>&@-kkZvcJUF8N`?OJYi{3^(Q0h)15VT|%FpBmmN;h;!3D8nHIaUZGwJF`=4Y`Qdc adHZ(BTZNev*8X&ls2nqVA4NVRa`gZB#}q{X diff --git a/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf b/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf deleted file mode 100644 index df5d1df2730433013f41bf2698cbe249b075aa02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170616 zcmb4s2Vhi1wD!#0vgyfYv+0E0Y#PZXfpj3il1dFBv=mAbNC+iJ@4X2~7X_t?fCva1 zKm(L5TeD0NIbGLGP9hU zJGUS#)dN>8*|{A$`4rqEIL{@daA$U>E@_Qh1~(&YsYr-0yhEqhxP2^g8XmGQ% z1A2$P1ILs*ZBk+hi5^Jk?T;(UO8PvltXhKS2jYHG1ukf>I9K7kGtNUQDu<80n0zA- z=Xk!ypn)&-F6p=L!9+qr8{%#r@G3Zx~ckS$4l^n2|6~+?VDLeree7 zfTB1z!h8QR?y0{LXAUMIA3xN_@c#1yT?STn zt9jEY+o2TW90}uB@rUm?l-7KWH9o0bQ+vYkg8C%eJ@r!z;8(;zvXpp}Vxqw}b4d>} z2si(5T!g)#L=Z2seMADBZ%XlaWPMvNd`Zgdrm;QnI$^cB#88AY1HUqO%+O){sJ6xi zgF`8cG7!4D1D~;pWW^8zVe|iS~#jPY<>_if!*GMB#A<^^@d4;`43fM8y zOjt~U#Wti7{f#scV#ze-M5eGGYQGm3lM-PzX)X>V(PBPH5T}w5F$3qLNfDmaNGu}h z;t0}$eoBhyCnQk#g)|X+lX0SkR0!XY`WiP9CmkRSq&6f)iX{osH1vTaMSO(5HHnp5 zk`#8FB#RqKkhB}utt3S=o21AwxWAF4OVQ}xML!w$E|L=0c_dSGnRFq_MP&+)Rq#S!zDSS>W z(hM>}sv_lbZ_-+*BGH;!k|vr-GifwwCHVt)4M@2Bl(ZHPkyNn~czlzz6R(nBxjqSF zTd}SuBog>f!P@=gh9pB`Bu8_S^wo3%{vHvtP_On!=?uxnxE%Qb36^@0XjWPKqu7gd z7sir8p+CtK`eD6hG8;G;O1~lz!Y(pU_>2_N10;rdkR0YndI;}VcVm6XB;g!Mryl}e zj7$+dfiJ8{{FJnmb`lrBY>_@Bq2d+NLQW$s0c)0YizLgRkYvdMxDSw0aT}Q^769kd zNd{=Jn@CAp@oKFit|3F&A)*KUX+#U@EBS#Imyr=-Ea@nILvn;mcoAVQI2(j?Gi3282uV!W1^9nwgqLno3cA16tgCAgmpn)`*sYCa@7&~KW!gcL{={9_@h zQU+ufwyik#eyC_M{#06wZ=4q7#`)za)L>X;P^NoUPiVv^^PYzG$-EjK374x>p+O&Q4p?hC*VJ+bycc^mPS zJ@LF=zXu z4{0TLC%)2_+K1vY;BGb%AzNbPBP7ism}F?0;`40+NG_-cUtjF)86i9&iqPLjHw zY=yv`iq;L+>Z6~F#x+d>8vdm2WWC&!Y!JJW?({k-rsqjhsz4SwlaAo?GNBdtw<+-2 z8gg|o$z%t}XyHDYExk`>Yo?IKtO+qQ3&|FS61}j5G!k|Izg47-{0s0FPMS!slE%VS z&}}tw6wiZK=8_I_8R;!QB)v3{NAgU_m3<^hx=Ugqe`CSFiy+$?fnM|3(b_f84=>6K?SUoaL7)SaFlOXfQ zqb(raMbM#`ReMovNecKmldz5$$mFj`lsJv_#{5wtr=ge8&XV5JN#NlWj(d^_pw$d{ zm@a<^I@p72UywfH*N`*U!1FKR{5okQr9no!Lk5G+Ky&r5E+5Fp4&e6z>>y;FJ82IX zS}{xQZLuk6w+-;S1H6|<^2B(O$^s#K6G)NJmUMvpY9f?EmQ|2Sb`i2{G$|H(k$hn- zJK#*Ofv&;B5?a%2eQdBH)~X^GecFe1-G_3|%>npeI_0gP?OD`>~b+ zDH-zSBJf^;E0_2qvxu0x?eUu@7J8ni67we}g>mFK#X z>(3V(*PAakt~b&6n)rPG=&>%Yv$@^yuRXUV@^GKq6M*S|?O|`II{!af5(f^F~IjH#LwgT`98zEV|k3EFl0$sS1>jG{+aQlVZ5HI$E$##xCHmLgm z+v4xNjPKx6Dw?d|6> zfy;##nko~xT(CDT6JDH0eKwapb*)YYy)c(LFXR!INp;O8n?MJrAnQ&McRMV9kyTt? z)in-ZU3(EeRc3Oz$s3nrFE-%ixm_>+gRML;`70-)bBlvW45{HoM-R+jOd2f?cKB>YP_0kGO5m?J6#7 z>S*}yeH~46pNRWP!V@wIeElld(Hth#C#aKC8*5uR#FM5DQ(#Nj;a24jVB&Tvw=3;- zl9yu&Y2nlddkvdWwejj?8Rs3?upBSkrsOuDx+isW*!$;v#Bs^j&FvW2-MrO(ukP8Z zP0C^5wki7Oa-`07v-jK<<@O@q16BV1t>-qZYG=a6(7?V_@ow{T(p7sG_9@@Hf0fzl z_1cC1^ZkF3^?!d}-FpACuRSZK*ADtGnXl3t*GXIlf)1YJ;-4}$LL3ix|9Raei|u|- zo&WP+{Xb-=-A}6Xm;S4-qr1QN;F)yZIFEALRdo~h2fzoaKfrl``!M#ss_RvL1O3<0 zhFoV4!_S4?8pRvN7$MU%;;*$&>u9C!`6~Z$--G)#e4p)f`kV&19C!q~3wA8I0Xz2@ z8O3cL{0a6JNGLy*i*bb?1rkxtK!1}=CNe3-5hJd|NG6gsWD9wZ93V%@7vv84i73>a zYH279rwwT*+Kcw36X_(nn7&1=^dYTf0W6snuzl=PcAQ;dKMPb41V_PLFbQ*nxx!-M zEx{`65e^8)g;T;A;hY#M#)_F@2eDLqNgN~26i8P;gXmtKj0`vd|Mxjyw~U+S;1hTCC8vMgs}P8sEYiw~~Y8Q*xSoM;?+|>Onne z7>%HfXlGhXE7Ucvq1&*=KbWt5jYqM@3s@t0zQ*ZT<9y*&;ccNx*ee_qP6%IOjYJF+ z8;V(CuGm`~ERGdtiC>5p#GB$1iAmZZ64X3sa?qNf$3eefjl`fc_!ta^P^>Y|(D?Zp z-^Lm@|7DFu_BCo>SYsb`jTCFF#u};UQ~N8TP&aA&+Jm%Z?E%mN{2Yqt9*sh4fCi6& z`$5!LtE;8TFUohcgri0&Q7q*3nzJ?QYd)^oR`Yhv+M1O$%W7ueX~SxV@)0!>8m-N% z{-gRgLaIMN+lICdZ56)H+j1PYBIMgH-|BB4z5Vod;q524oo*BmawGRfha2s0WZVk8 zk$TJPM*I!&`X7W`KZ`c{`he^GuJ^pQ;CiR);n${LedpTfYoo3WzE*jyN5i~vS4OnA!H^z zrBD{e!dV1sKxWaOgok7{{Kq*gA6#3=idc8n0};obtQRY0C9IV7W_?&0yySVTob_cD ztRL&o2C#u-K3Tvj*&y~38_b5Vp=2Rh#HO&RYzCXjUS_lCWBM~VMbFl-x7b?tHk-sI zvuTKuy-PN+XJj+0W;IOVvPF;tS?NzMr2LXi+bz7iUc zvqGd0MZOly~JiNwP>bLBxl&A#F)J(w^jy4#*O8BzdG0=}fvH zme7sllLAsmib!{44|dWCWQ;DoH;&nG7QpbUv9xrqEZ&V7h=VBxPhc zok?fWm&qYIm-HuN$ot^=m!Y>y$Ur)Wyh`Umvkf3)=`bQdj{L?PIH&UcqXTIr^jbeM zlP+SB>-mR2*$7!w%bk_U23Qe}=4nM2+rYset7 zf~+K~U}wBVRujm5D=}LQ#pTgfYBuySSP$k}#jrxFm|2u>G#LZt-2AeFf@mu<8}J-4v;-hX>ACq<$&_Z5O=$r}V}X?xM_UE63Gf*D zR7s_227YI|Gi8xR9HtxQ80O${RSl)kIUVzha|2593i3?_xM%50>&SSOcaGOHLFZI#Ui4iU@jZKau|#ThCP8rww@WvX%z zLyHZWb4(>1Y3dqD0LO#X5P;e0rn3s6rjiWXmmSPil9XwsB^l9HM>C#hFjyVa+i(=% zz?4>Cb>e4vICH{TwAIOM*e#M${?Qu~S)J314ReZtd%zoQbvC!{oL{A(83iF$*D}-S zXse64ZO8n!oop8ajJU2-ue+M7h)a5x{3;ihbWERSb&4vml5{HzO{;R`A5QqNQg0wZ z2+hr}qQDHcB5e-vifJ7qjV64p?l{19pMQmgs&@;pjBEg(T@3vFi85p!btWu5-AbBo zhrCtM?FLw+%+C45>S9VW6yv$?ySh@yjI^{l#Z|6Sl(jM{AQ+2x$3VBJXsd_0it=7- zu426RG*=0{*O{wC-g^P7yw{tnWZrw5t2Dg#F;_Y8-q&2^$a_Dt)gkKtIJZCM_QQ7q zFgNc5F*on)VQ$_BVQ${n$K1R(U~b+UF*omnF*ol`n49+@W<#nK{E&F>R0VxTb5lxHB-H~dGu8kI>P8iVfJ#!L ztoVU~tw z%njPZf9epcoEcR%C&pwjq|U*!8vS|O5Mz6WRpf#qGs<8s=6q!7n7@M=1Vg|M7AE)? zq;bx6fP}z&n9-C4!cGU3f{RF$O-!-$;yxy;kY3UU%*)bC0&rYh08YTL5=;znXv!){ z2{7R~S%4m$`Yb%c_9)B%fq)a>B+4pbPbL0ce6IvULe;0^6T&aRWGwjeiP*h3z8<&` zRw>NB9#blo8LwWpI)FnAhAb2C76l@RwkD{{2V~5S9nv{J#*hjz&Ec|N#KT@dUntI6 z;}!@lv$x5HahpUl*|7?kqOFPc8Pn^~TFi9Lxs=M=-hc+==8%52*mh-)x1LFV3#6Wh8H4O7NRWZWp zr4E5s(1Ho18UxC;!I%negfx3jSanPM-zg{i|BqNWb~vx5nozT`U8 zHRr1|a{O{Y?9e`6SPLvnZ{wKlgfoXO#%czGSpMUBOUME0rL#t3Oq$smi!PnxCKK2* zWI>GAVIu>A0UVPK81ILPB;_(3N=h97k1WB5TAKBhSiy7Dpnpc@~< z5AyjKeo(;2G{He3AHxrd_!xfBosZ!MJ6U)FVE0 zpnAlIR+^)%4rNv$BzH6y-_ek~ZLP=hpoi)Ff;|qfs(TwCBr~jnX|UBN(_m<8b?eyH zDt9W(w-rym)I_fH#_MBbU$F@y2*td9M*5`o zz8o#))ZSOx+UjYZe>Du2?j72bUZziB!**x$*bRmg0D4Gcp&D93&qD$p)_B5 zAa|CB%S+^~@>%(T#-h3G5ack~;jCkzV;{#gj!&I3oCZ4WcXo5maDLtSf=i%Fxyx=> zf7j8jR@WzP4c$h&9d;Mp)7;D5C%Uh7KjwbZz1pL~W1rST+h2RwQ}*odxy$peE=)IE zx6F%qwegzebz7gRAFDs-?d_fKz0muDkHM$E&sv{5KGnV!-^sq~{6xP}zmxtk{+<1w z1b7Fm2qb|aft>@d20p20u2))bLy${QSkR!LO+g@~PXvi`wGdwj0 z8P^#f2WJJ}G_^8~HQfzq6|z0#Txeiu&(Ou8_rlV`wuhU;i^F$DxJ2}f*xA6TL282~ z4R$rS80i!l9N9H;X5{|J+flwzSyA1irbg|Gx*YYy>|t(V?rffE-fC8&6QU8Qb^Lo zq_fEh$xD(Sr{t#WZS2*!u<@qGPnt|^@}Q}u>58VeQxj76H)G8@H(S%}Y4e=s`&xLk z7}VmNCBw3@rQ9;5<;*me)*muNPH&a|diwPY|BSqho0$zWr)D0_^33X!buv3Bdvf;G zR_0dAT2;3$Y<;kef1A=aTiQHn+p6t}b{XyFwmaS4(td4@OV0QXti#k?r`*N4k2|*N zIIH8SyqLUMokBY8?;O&3PUk0Ga=Og#va`#bE=pJLZW-MU=bQ7V=ie&`Ea+3PsgM-r z7Va%F6wNBS+dZxOvhGiMbnbDYXIjrCJ+Jr5?{%g)qZWhrGx%TvlX_Vw;Nyzl9X)QU9~Py4m$x2E4O{fqze-}wH^`tRz0rvJkM zE(5{_qz&jfVD5n31D*`@9hfk%>%i(tLuISV!pen}CkLet+W%76OEX_OHaKK(=fU#_ z|1o6M&?ZAS4!tvs4T~7oWLW+%>#*y?lZJO6K79Dx;k$;P8WA#L?1-@=2aeo3vU*g+ zsCJ`zj#@VA%&0#`n@4vaJ#qA!(I-Y<9pf~n&6tT}wv0J5=E+#|*q&p@j$J$U+}J1M z%;O5j%^!DS+=KBk<8#JO9=~z?g$XVbQYPe2m@{GRgtHU9CnilCI&s&;bCW_Ql}{Qy zX~U#Dlbt48CQqKcV)ET75mUNOshF~A%Hb(br+QA!m^y1}^|at=h11qdyFBgk^uXzT zroTS@^bD67IWuO?I5?wvX3)%mGp#eP&wM!Z>C2uk_ka2DtiV})X6>AHbGFCqjM^k;Pr^ti(g;$`st-kOD#($F5R{C&a$9oU6(Ce zcJU3*H`=^0>y4*xCcQcQ&8=_#u-v?S(DHT5FR$=i(Qd`m6}wm5TN$)6V`cx9Z>~JH z^2w@*RXMActU9*Zdv(U@(W|$vzPg63iCfck&Ga=J)|^{Y{Z`~#`ESj9Yv)^c*7~n) zwRYgzg=-J4efYNb+o^94e|zoQ7uPwg%UU;j-KKR{*L$zeSwDaMsSRX9+=hw`t2Uh4 zpuCg%&Z>9LZWK3KHjdr6apT!{UEWQ5cjUVp-@UL&-qd8%z)dSQo!#uPIc0Oj=2e?d zZ;`j8Y#F*`Rx@~*6o!)kP+f%EH)nHAqwy_plM_T7tS6R1Pk6JHUA5^g_ z@2beE=2dxBT1>F?ecd2?J?Waws+m$fBVGki??sszIXen?YFmA z@9^9av7`BpydC8`#_pKEW9^PzJ5KDly5sRqhn+z?<9254EZjM0=hU6A@7%O=|IQ!Y z&wYRT`-0tJ4A0PYp=_e_l zjQwQ$C%2CV9&LAY(9y+54<3E+Y0#&+pYHthmt*aY?LT(=c*EoEjxRfY{do0>gcIXW zY(4Stv#`$wezx_qhbLoBc0c+0$%~)+f8O)+wV$6oC7wz-)&JDOQ@c*x{=(&ptS`oX zvFnRJPDh^Ze0t{T?Wb>l>G@^Wmy^FdcE;mO)|v5VHk`ThRq$82U(NsO=vlY3?asb= z_QKa8U-$od|2cB+<3hl3wh zKkEEw>!aI`y&uQnU)RT_up1a^Y~9%!*%$FeM^ew?FX0lUX^clLI|_&>xRDI4r&cTK zqNv8CjkkRiwx4o}X0@OEx#aLWb5tJUgFg$|6LA{sl>o#Y(=8S^XC}CyWReP`z=6uL zOS-!g6Gf?`qlQV6d%7zg?@BZ32h|G<@b~le@rDJCsce599==i3B$#xjM5Ef`g?JsB z-lR5s>P&3v!B)Fl-J&G^J1VvLp!LDlyW3p;BmQP>s}G6}#vi0_D&_RecWLlux<)DH zZL@OqU8S6*(_pNflEm6bQ7bP)Bs9yC?&1hg-4U`5qmpPcFhLU22t~}2iWNkZn24fF zEE2KXA|eTb)PYEn(2*cupBbzV4A%S0`Y4(Z79JLsn2?m57_ayC)@Y0gVWwbN@8#{| zjn&B-y(uv)EIHZe4pujy}t3VCAEpA zWz(iD=#!1Fz5Wg^y?Zz_rDckxX=)3_XFmIMzPN14md#V!Pua9-N|O#9nzV1yv160! z&nIu$Jf;2AO`E4Q?%1|P`^FtRHh$Vx9NHG(3M9JrzT|@S8WGKIOfoHL4Lt;bN};}5 zL8O7$J0T5=saqSiwv&Lct!uhWMbUoDGEBiKNx^25*`)W6(CGMLlhrNcOU90AXi^f^ zENgr;#&8)J2$ABFlBq`KyDDH~lW||gMfB7e8R-|^U;SxmmmbtBB;sO5)@i2fYu{yO z-;0Vu?ODMtG^Q}3Euak#%8ApqZ=aSZA5>1WTsn)HIxa3%+9_N8mG_kPWeYm8U^?3dTQkft z>V-K};4o2t+}0A?9MpqoOyNnM+C&c)o*eH@v}}~}@nJb>%FbPrlH|iQl{HbO)O?k@ zpp@>So&0Go-P3!1Zp|5Gs=AI~mM)BdtZ^fO7C$#v7iT9&2aPOXJ+8=F5adTPyr@SM z4NaDi&kFUCbQ(bjr@6|R#^4lO9tbE4- z1x^}~#i9>tgq%sJB^dn0r1m03=755M3P4$`Bai%NsshV{v%gVq)Z$+v8ne>A${Wgk z<#nVE^n$rsDW$8bk%Yi=nqn$7sa>OoC^n}ZiV6Hqoh$)z8wH_osj%Y(|!b58lC1Mlh zx0|<>C)DxQP3o*%sVMDT-nUO_IZIZqDPL18h_<8#8m)Y#Tn~Ehtuv?MZO;kP+iL&xYnftciEttl~7>!UZeeDXUBd{X^rTaa+^ zoziFZf{?4nV1xz4D6A)t46-;uJK?*Mz|z|CG>gTA0eB6jm>_|OnqR1bPFS$IRw+-W zlH@971Xx0BqqxfW?_mWNS9~8XuGYuo8Lsh)ibodHE=Bal@G#&={oG-$%Ta*?q+9q4FnGd+*5f>pPWirG?5ubv+5# zp9ricl4M&lT#$^_Qw<5CvIM!v8J`ssNh50{xdOvA5`ik9ROp1=Q&j;f=tNO3W`qRm zB2Atl2B-oGwPlz5fHTAnC)aHvBx9Xo<0DLT!n%q+eR|~$hUk&0=Vv#m>*#)CCMj2L zeWqN2+zA-ny==s=!Rv(1l_mN8i*w}7S1%mvwYg!`_L0ZFJ^!)XxpHvvumK#;$Xyb# zoyzMv5@U(-)G{JEI!F-Wl%+|3a-=A_q+?H98B7+PPOGvc3oVDkyO%CP1bn3l&5VB|$95H3_u9UwzVaBpMCi;i?8e=^2ml7>QBq34Df_ zv`)ZgxKT(-N>1|BdodM#p*Dt4xkD4GGirr2e`R!o217H?+^KnROt}fX`3@>5FRkd? zsX(VForNs1PpM)J3a5fnefNxV@6tiZt)z1C@QKTsCu)T#1vv&rim-+p(1AZJw6>O3 z5MbaEMx9}eu^?DG+$7LYZsTwQAf3QP+!%m;!)ZY;WCR9Kf(UqcV7OlA?&=^Df9mhx z9!2B4eKcX*!qNC7!A8J3>bP8oYfz9ja$#@hy^?3pZ$BJ_$JEz^Ou#I$lmKgqlvUzO>9DR$$NX(j~Mg1ZBH73 z9+Fgg;BpyOWXn2o2KmAy6M%N23OKEo7Z*NA)oP5%o}S4@*sw-1>E7m0H|4Th@bx1# zwa(W?N&G^2poA$^OP0`<%3~mzItqKuFqRl1*a)cL-MK-)__)O)&m8;5+GlrKBRZgF#L{Wwn z6%8KTqi9HQj}Ey7g&jK-i7}NMV;k)napIeAPKLo3x zQ%k!sOZD4A4;ChWraYuC-J*k(hx|K?jHB&@XTo(*l7<*9L3j#`2h>M^iiGwcQ*J*9 zs{P=>sZ_Na5{<&M>dC@n-q^EmYX*L6o41c} zyzn=9Mrb^vpq-wZxiEvd;8%@f7{NL~O|xjnG1*;83fuIhP*SLJJbk_PwZYB8m~s(i zgRACF?a^drr|uQ`UF3r&ZylL*p>=GpPD<$?97l0VQ~4`t4k}R6NoPyP=FOVOqUaQk zor!>v4MioOpi6M7z)&ZVIdMwGn`#aYF6oZ2;_*rokgDg73*PGpqN=4Nvt{2GyCE@w3NQ0 zbXDF|Rx0HYL9a%}qHe5;Ze~;osChPNT4EMz+~`A%!yzD}0UW-ikb&-~{fV>0y1GCi z5*bpROD7ZyaSH@eQDlW61($Tld~OG6wK|>76T&GunHs687sHJj^wcPr8dT5^VQuZM zP&~>kN`$3M@n9Y_XPvywU3~n^&3)T8&tu0tx3OZ_4)_yLD@5QbS^+^Is*74#xc$k2 z5JY!3sAg;)%D4o$VSLwYYDHDhs?Y>9US5=hn(Ei{3iJx_(Yrbm9rfgD#h_Y0HrWZy ztqo6%r&{b0mn@++m0~in16Yz_K>4(3$`3U)3Cou+ryVvG+XO-?{y$1|AQQW<(n6H5nZX?|QkJKlPElKrZ@Oc7fEDg87 zs$8$5gpEP3Q`IqsR%EQsE($g2LQSfXVS?8WaR?U~^p%thqfJH#fxx!`X~BiK@l8gQ+~J_e^t2`7j;;XIkt%69GC5Y+r_`AiDjSqvYlf(pJhXEA_LY)V*{uBf2z9XU+3Lw<<$z04YPZDvQ;9 zNSS6t<#f{hyP*bVC^ouYrdGr+)KXetq)i9cm44^J!KDDzRQ7PgrN^t{j@ zVp^92XHS2eUs?Y&{dH~D5c&#Dje{I|v$BVB=}2$`<<9MdtIBUdUcY&K&gmU^k{y7j zdK^#n+*}2&&dofd%V5{-Hd{9Lf5 zF&;;%7{R%%PhmwXSl)^i)U;v+PzEa-pUWj;wFW8O>AE2F&+cKkgM+oYhV93f6^6P>WdnUmYJ# zK;pa=%8zH@&%#&_9Mq%ZkQEe!X$`9W>Z{+bUXX|Nn@}l42U%@owFS)~U%(z^v1fNz}J1Yq?5! zlP+FdbD&VU`}UF=J4a(v#?hrNR%?I~Tyw~8+cp=vUa7SE!6v4JI#;KC2MxGu*#G9)$6c3xIMrZT( zRN_Q|FsD?NR1&54Wo7Kg%6K`D(<306K!?e6B=hG4v|LQ2&rXPOv}Ve;Hku5wKKnv! zR7b1a2>X+Fd`Pq<62WR7c0$mJQ5T>k4Q?TaiyI_}t>6njD9O_6>~vzJb&SHt6kzIX6Ogx?(w2WUg$azqO&5!4HXFA{Eqs6IKjFhM5VK_Z>tpxYD^{BlbCeZ4$E z=@Ne8#e-|4IKpEGDzVx%{c{EX;~&(hT>Ilm9eSROoiJhS6DXzH(_bpeM|H@lX*r{B zKSUlmZak%xz>N;lxPc{%D{xyV2$uc7ho&O9-R;FRk|tC&|5T0rFUXobjwYQ_-VW~& z{$D8DuN>`tX!U&ur~d=q@`1Nt)L^GsS{Ul9784VL>iPS*fu_OkHoNUbo5^myQ4-Z4 z)C5WGt#v2C)TrV3tFx7OlEFvMBlJ+{;s1)zqfe>-$e~k)gqcH@E*L(f?@x7@Ju!Cd zn2}#d)?3F0t&Iz-n%1Uaq9j@09NVe?7(to*9MKaiN=rw84|v>fwe&G;P}ocjU>bSx zJP8DKoy`Pcz+)lLZKgkCAdx1-k~}!K+VtD=+z5{!g=^!HC$a5+ct}WMLP#>Vp5|N% z3tOBwdfM!bkA7D!Jbq94zQ@h_=A}JGPZ;%@QiHgm`PN42)l;~3%r~Sgw@t6a^vgRw zyfCPQHvA$awluGEd34)TJF0F7kRs|1&9KOU#R}MZc%Z;B?VVB1k9YM$~881#qyVD zuUHP{r+lRRp*&L#aLLM*OpU|B1@jlNr(Dg}IQ$CaIQ`1cFbf6E5ox)~vk{h1cc>eR zR|)_L?qTt)g0H@A-B2z%&Kw9r#wXh~i;?#%=_SfMWi1s3F|V;oC*`b?H=21##H)H~ zZjLa(%WCy_<{>`xu+3Qyk+9b>rw=h(8tAG>47~#@&L-sgVO>R;M`$S1Bs|t z(gO`}muxuDaUh;6SwR3P7{}2m%IvW$cGQiVBUq!c%4|A&O3jhs_wJ9VIkk3l>R0ny%{^7m4ptVr*y7G1fT;su(vwD(7##we>b___+>zCgq4WNAgAi=N zdoI`@UA!G8y8)(dQrl5C<(nf}_;_VFn0$pYZX64T%vFNvRjt+PRpX_6&dHRfu`6D{ z48=Pg1UzlUCN#4&fr&0TK)+&USRR5{i~$6%f+6i$#~h&AJW#ETLtKd~PZE1_4$)KS zdcl|o@nq78qiT}rGvBM;&knJpN+X|Z-ja3kv%^+p@G>#kiX@1-C$A`0mMSlYufU@u z0;WR77&OV$+y;-5&_AOj$Z7E`3rn3hPw7Cbq$9t7azS%neU3}*G+{2*V9#?9IsliE z2vYMLI{3IQ)WC`rl+^wH6<@QnVx=EFpBEl2BY1Cz!Eb5L6$Wx?jPmRbkIo<%YfOyS znw;r&C1=3`dHGZQ1-w$K&Ku3X5xQYsN1lt~R1NqmI7RmZcOiEI)TjX-WKXC`2sde{ z*LO7PERFhZy@RY_->~yF4d}{XuqP$mYqNxVc2`&g=U z6pDlAckmRR1;n~N)pU@FCIeePC=VG;68BM2#t25*K!&%(Z>N|@4C!EL=K~3jpo=CL zIIu-sxB{;LK#&s13)sD0A4FYb{E&=;#8l@c6r>v&5fT#`g9n+AtPcrw@`^Hs+2bt; zd&bAx;(;2C2_YmNH$v72iV8u*ls$CuloDPmM%w#_*9!CFa(s1{Y3>(ek3XYA zLCyBGfkChJD9#ROTraiFd#^3q&_AcEkH_$bNo_varL^=jd%0{o(l}~;w`R%wCB)i$ zSXUS1MY#z+4fs5AbJ_2!Y45`i!~pxV#$X^xq_Q z>5VK5Vu)&B#}#Ripn9l?@X~=!)${?!s3fW0EilT>KCl6IZ@G7CcW>2*aiWJBf>ZSv z7g$tH5+rNYIGdi;#=lZS9j7*eqYyGz8Kva)8ffVm6x5@|fYRx0b7;szo)&15 z-I7iZvi|XY&^B5-|LufE^s|J<``>sDv+z{x0GR6&*jPHabBHu?55g9>FF@Q|tb>)u zPB?Y}tFI6DgMI4z*4IMxB5LAIy%CR+Y)JJ%enW3WNS}vz5G@pV+QSIyW|{YtyVUX8 zrN=d6nZu;YlF98lq<_7#V^3#+mUq)r^LG)CXbM%H-dHUUm=hkkGqII0b$prR-{U0? zFDkUb?k>ov29QKcoC~1!Lx>)H3V;zL=FwSixI3J$5x%Dgam%u+oT1Yq`~;cnZA)x| z&p3P86Eb=|5?>s@9p=6D)|vgG?PL6Wql2o^0)Q(?m33^vFrM*M0rg{Q z<%mfa47hZ*y@u<@y<{~(paz_5xdU4fOx@0Rymq{3P9wdd{Cq!ecTQ5)+?)aZ8&2)~ z=`|WsJTSdSU|^4y1A6mqq)j@uo%QU_x!UOP&x1@;hi5ml(9oaezuhR7o@zoS9gV->j(q#F{g3X(xc&m$mJ51EtxjcKu*tKXXLQ zF4dg|eo-IAh5;@|Xj%9t+}-D(!REjgtLY1X1P7YO$ZWw{p1rce!g&RfKM8XmoLh5* zRw= zKVB}P4-Lk$CAGwdCvx~caTGw28|e=xb~H#2ar2G|Xxb99%Y5dD{a-jZUX$fcU43I#k?jTq1u-em(&dtfctq;g|&M0kFc-mAzE4Hvu&Fbb$O~9 z;uA274K`M(;$F@6aM5YQyh;ZuzIFEKl6}7o^dNYJKbcDzzPtQ6+@8$?kKh-%EREwG zx%eY-jbftBp&>>?AYY>!kD&1qBmCweY$$A}MgqklIHC{r4b>y{%WJA2u2pqt`}`}7 zdHoB`fdK2#%`OQm`&KLoi(4~r&7OHRUrx;J(7Y&sjjVYzGB>wrK|PKMVUBe{PM7XI zx|LqJsWex~@W{C0k1bgw_M=Aw;imv`!Z>ax;61?gO6QEXJrK9x~y zdCOG5Qy1f~SCc^A*xh(Nt*a~1sToKF-U(NIHjz?So7RH5|MZZ$D~}#LQXbKeis3{0 z^&dL4f`vb(iOR{J^}i^e)A(PO?AZCLe&McN3pt%2uc8!-uVHQ-4L~^Jg{ksp0(5a7x~>D>MX3x_iBPMNrZL0&w zSZPvfGbrr^>tkc+jfM#a-sE_uBnvt(ONAE|9h~MEa&P$AU&PBXyi%Mx>qdWM-YwM4;boQQG^RbQ0R(0;Fk(4JwTujYldt4Lo3*jPu z@A3Z@zff_dDmS?3{~5o4aT69E{zCksu87b_*#2?-prYjVg}$wOXw=d#V)?Aads=7wJkMKiNp6@G5dOyWS)XJi+HhvB zz0XeJ_p5w(JeJ!D6d8P($o;ulfL}edkt0-zy0L07)`$40W`foMHZ43Slda}T&2}PG zgo3DeEq$h1#=4KiKGO}-UB+IrbIlzFNwm1YZXvu%aFjO$0&7a3G zbckWton%`K!>N3MPS($>p!a(scl*6^uqVAQ%+V=<<>mAiA{g$~GlX&OJVpHMKnB!JGolUP9FN}AyTD=u5d%vbNeOMR2Fkt<2)IIp0;ur4! z6~FMYDOG!tAe^Uu4P`V;xm`xT>%H!+GWva~a*u|VE85;0H+MrQ%Y*izUA5MCT~42N zdDp5{HYqDSwrzB|c*%LA%E$h&8CL_IdfcK3@P~keUS&LS!%5b_HWMDh0^ONu-n46ETBW)QRfR+ma#E%Gx&1hmJs+5 z2&s9vGm2OSFYN>~&yRnQ)_U_AO-Kjs7bmLuSJj>1_0_yyh{thR%OmT%6%}<` zeTVycjrs+cxE~ydPto0dsd1W^RcBI+_OGj&PW13w)L0w>{9Iyou0kUYpO{ zqabtvwOYxuuV{^pCsUDze+RU}Yjpm#jtB+I_7D)yQ6m^&r0*z~XsFue2z#CYRe&+K))_h8 zFnGy`rugbTk@)2vy)){H2)vCy-FjR_B3R7`7r_F>?GES&k8%-~2?2*hfR~PE+eiov zdBL|=UmjrC08iW71%LJMTfxJ36oeD2j_v#O*oVgkY)So#hrjSEpYQI6P}Aw4&!{Ql z+e=Puo4x4i<4t17l^)2QgzySMKdNznQ=)N@95lsvSpW+xcBB$77({fU0OdDwC%A!L zkTQQV54JOegqVVZbx<-qrS5{_8z0bxjhEsn`gHN^hJy^YGdSa&ghf0q1UDQbzJ> zzm+n?N3eWiiN(^)-`CRvtZoc&=T=WJ{CH$kgfu@bSkk1iu_SaSs#1V_{^A34Rg5_z z%-btiLK*+(ts<8K1kf)=*GmKfK5PoJ{gZKuq8xlw#d;=+0J z+gMAAx3^t1e@T2weC#Xpt4IH|dDBlnZQA_PfM#hen@wLhyWNh`vOOJMUAQPYwOPuN zMN4x&=u=YFcHSa3Zg;J+=L1CnJ@NV;o)0yV97|iH0f|r|J2~?70RmSn4YeP{(TP+* z(1LlvB!!T1@S?Eb0%z*zh%mld$z=+z9~9t^-Qem->&dr7LlHn#|EUIEB50cbv&&#r zH%SE>lplUk_R$Pw-`tw_mn-klPH4``4;z?o#v%Do2J@AOcTM&B3F|s>1HRL`3G12Y z&BNSC9J;Epc1C7G9=)Qjjf$r_iWoJT|xTJH3j7;UbAMYwBU_1FQ8aQCon0J4@*Eu&clLq|w3-y$ka%arI zp+jD>{&uhC!-$OfVWESnf-_CwQRC^QqFGV#^Gd3YeR@%*{kwNcPwyCK`EX1AoanfD zrCYwddQ8qA)-Anl`-YYeJ)FFqz1uYGn3v$>#SgLzfy0I3ZDE0ZKfEnE1RtOx)TGY~ zGA_}m2ACHpzhb{#_@{XLkc;{_Y=$aBJBpe;jfZxHZ`Q-YsDGa^~5eu}M`XkEGHqmS0CtPM4I9;t2D;JUeE@hqNr7O>F8};6~)vw7tyUZCfdf4nv#WR$r%2L{o zI)GRBOB}!B7sRYeuJQ>ARC6eP909oO$#$}5php8@Wto;VZ!h@zA$YwC5)tL~4pid# zBndx=1!8|*QE!Vm${E2%l%R$hqk^OGeM137ib+zJf5=KW{xPn!WpuKCaaBBu(P=uq^EFpFp z^wOTw3+V{jp(Io1i5wI!u%-BaD2x=|7ecY*X14bwym6J{2f+T8P6@E6=;*$s)Nkq5CMiu4HBQSN#q@ToW@VS=luTvc{FSa~ z>fh+@J!PAaH)~>(ZuNsI+oUvTsrS%#j7-YTn3Q`GQBxGgBC$tuK3|_l-@X(d3h9qWZB_*{%B9YI9AfIqf3c_6OB+?QN zmk@*lJ%#tCP!K4w0!Re8qb-sR&BXs~b$~p%XScJk0=9r=D|>2*vV*n<$wgN07t(|s zcak6X7n?e${I**DUsh&v*d0GR~)o7a1_1dSoCTg+vUh@YoJR#W9fn!#VY z@j$#20o71dF7reb@+B&(LC_U3yN^6vB+0XMz)z>)hYmHQ-rwK1;l+_KNn|nqIYj9| z29j#vFCR??bbq+X2(|6!j<^jfWg=;$Bd_$Rd-LW6KtYnWElRe(mI+yDN~DXLH%&>2 zPdUb9>&&H9+0C-s?s#L-KA9bBk(!c`l{Q!$)+i<{-dtZU8#iiDa*>~JuZ+RtCk&Az zV;h>|l4huDK~6FEc}|hDJeJ6FnYLHVe2|>?qlrxU;huCI z6{Lks1%>VU1R@4MPwA6kj@ElCZ6p`O3YNS!AUTo6*<%F^zh_9q1n4_A{6Zoq18hO4 zi!*}HsyB#Lc7iGOXUT)RySt~mr!FKIC0n6*R}29~L>JZRsa}&v{~u@H0oY`NT#(UoJJkNW)X2@CYVai!{bG7FYxx5`B6dbfKI<3Y9{%D^Q+6kJ|9HK9z~F&XmTgZ^RHQ@5?K#eQ%#3c)%25vON}A}**5xYGn@;2E`nUW47L%^j4$!I>^bqdN0kE1nu#5$ zza&>nE8I&JX7Y2WGPH{T70+gBKrr)H!>yoQ;E2#CF?3x4+RXtU6-Fz{7~nL#KsD+X#cLg)Mjjz&u1?ee3_#Zv)%b13_h zM_Ab6z^^WUcc;z=4;kt?j-AxjuGNOC=lF(oLu@jY&-oFL$;zOg3qBb30{8~G{OFU=GH>%FKgx2S1gqtJb`y+T#~u6#%i94D_>CPb zj~~HS#nbhy->%Kn&SNfIQkFEv9U5T;A37e#!cUixZSw|YG5AG8BAsN?%NGX-zRe8Sv2rC?h`^c@X>s!_VQMsHj*bq+yYhiok_+&Fo`t^8!0);f<%n^f@f9#4FtQ)kCh zDso=hZGc}}wS4&3@htUO0f2QmXYIa$AKoL+e5DJkd&8Lo2<-UBVfkCy2^33nAxlUj zs+X`YY{uR-n@}ZUC}~isQ>LAPiVTt`6}StL?|@CmZAzCRPAo8HaS<(u6q*D8l~L{m zuHGitwZO&_q8Yh+L*r_dS9!tG z(W6&jdI^K5>n=oX$lKddYf&R)WTh}FFAO5WxRxm(1PCwPmF^<%$RVoUUal7^Y=&L; zRfltMJNi5l_5&}dX7Z`s=O(j^ACC9C$CZ~frBmPG{Nw2Zy7wIgn)R~Ne;wF0^-ys; z{{7m0uf#>4ig5HT=)r>4m%ZJm$B5ftj_@=#c7{o8 zo8eN-rk1D^nSnvTqymv>nESt(hz=u&Z068?xUKH#no6RU51<7KMb?ne4lSy5> zbSUgtn46v1zD@hIlq6?DTr^73VWB|*aIspm)}aLS_$O}3<}%zu#P39KZ3+Ns5|1$- z7DTZRap~^+A9$+cfbu@=!t{-=TU- zZf~oG_s{*Y|9)pLSH-ZJ;`jUgnz+1V{;JhC&RMO=bNCzk`U0%^G>dxwG_$l!QTwdO zT{dfyH9qJITlcKlvpm_UIop=cxbHJ0(}`2IL+u3312gD6Z>`CyI zwSKTBbPZ@~Q}u;hhYKMC1rKVc%XO;CH<5=WysXaOK7ID``LlFZ6{&CiO=>UofY)vT zs{nHau#XkwUOK5HRH5onN&#^P+iZ#eyx<1~-lee+7)e%%P%dy1y@rVL;h00roRhML zWR;x4D&-kg$zT)O`l2x1YG_)~Lt}54hU#=~Wk&CZrj8mbe-Uog`K7Q{(X%G;-a)~d zCp6LGtyc#HtUlcH_svwZ4h`9Ivgg@Nwk}hWJZJsy@z+*@4Uz!>&=q28P1(th?KlWo$jR z?ntvTHpZWfRR+c%qfevzHPJ!9ctT8@h@B+3Ah=_Z|HRVxE2U8FA(njrl4qc)TX*M@?g(1Io4L1}~dQ{(b9ODtoWR@1FI`Fv+6UE#C>hMkp*1 z(zp?O0ypMr*pu!8<3m^u!uI%Z8tJ%W_TYUY>6C+O0csfovrlCawopnt;l{6>l&woYWkECeEBpt7)fg3YUh$&<)|}^4?6vF- zz-sU*K5meW#)8UyXh<+Jf7ooOOQV7#A}qu&61*WVAK&K%f>j+Mih!1Uz}meYj>RO{ z9}fAhniD68AawcV>O1bhglke9-|9Z(=4l`bA>i7aawvtpLV$L_AaU_d!CtpW&;bbX zioh772qxDN{|P`9?zAXTb)ydyNpIiBvEz5%Ng#%$OL40ztFsPeag$ihd(#i4%MLGY zzL@vX!?7owga~ocmIOnM^45VWD65JZ2DcAN4U}@gE~I-Mxp%r!1ug`TxJU#@7Tl;n z{RrkyHZ~d-q_G5=o7+GSDrN`eK05IH2da-epH}D!wr9n(cYAj0h&hSpRtH@lop#uz zzX*bLQa6h1cHUI6)KF913N@h!*QcpG2AN=EXHst2ZZ6; zFkENjei2t6r68LQxCtC?B(N7x1m|uW^YBXmiWLJW);6|7mqCNvV-p%s7+VLGfBdbd zfJXeaW*R=coK>4%oMwzx%>|x^F7r*Zc?Tk%(>!?MZ74kZQ?>OD#46 zt!>`ggZMjw;S0iK7Vte$h_Uwiq`8}alKhyLKe`D)%&n*Wy`asRw-U$Mr;UFC!O4OyO{N zwwMlqM)v|yn?*jZGy|0h?IZ^_t~cO83`=rk$oyTw=$p}$(YNB%@XXXh!%NzAx+br$ zWMIsSs=MB5Q}NZpE9re0FZ6}gUFvq5#-=8;o{%Yh~HDzL9AWUf0%}}?Z zMBdTeF42(?VMF|{DyZk;y2h-MQ$9*3peVK|oU)-9G=YHe!%33U>2gNc1iMBI80$~x z!w|Lj2e3*Vq8Fq;x#B+HsH|6_tJDsQSipqIk3DDe?1-zq3d{;)r8C7Y!OyTrNp43o z1hL5A;{1AX!`PoVy8lECvrC7c2Vz*96F2g-sR!Qm-c$q@riFn`{6)2>1AQ2M+)KDh zg=dGdnJQ~gN$~>n?L`f6ec(Q?fzfB+kz$*rK$9ld0pA-5eG*c$!n~(AhyfAu6N}^* zzB>6kIx+#HKXzGfSiEfmM+Pdqdbm1}fAnMOpU8PI6F~Zt*QBOBpWCZ$@xlpO^r-1# z{mM`~?Sx#1SpvsLS431&h?$U)M8ye~i^Iauk_q0W6V89GD_iMwy!yV6S@h%TW&53X zM*l{8pc~$!i}vrv_rOsS=V=N>-jMC{zDItxO>;7cUc7e8-~7zm{Kt!0)mlqEnBf=- z-e;KPCG0pl z6IrQx<&Vi{g;qa|(oNqbAtsa)TrR+?aMcqq$>3?=KBU|qo1EL$krSI?cP5o|p0=i9 zY;NzYn2bR4eb%U1H}qSRhxebVzN?gK7xDhUL8E?!?d?BT*U2z_(DgMk&3yy!*2`Nmkb| zp242d5Y3<-k2I>0zlKkbtpE@Uioy<5T2d5;U2)2fFcUB_U&wdEVElFx3hulPnNdI` zXboCJ;q<=x$HW>C3k@SgiiaRBzM1hZg8dqmz1EZa_pPex+kf(`)cDxs5K;)BfA-2w#u%mFP`s|0E@4cwSCy7N z=S8F`+3b~P_x*^s!~!#Er1~#*MEk|N?`Sgc-k1yVYKXr&zx(09Gukf*BkSu%sPEPn zW35mls4rIEg+uk=<)86#tQ;IdP!4G2z)N;x4X?R!PAXnA^ngbfIeit*6EJAOutefG z;cNqUMrMeRa0<9LIQ8A|B?%maTX3+furLGy$~Wr6rn^FVx%(EHUVdXlSEl~9T8VSG z5>{1}yLllBBj3uF*WZr0x}FXsn5mz!G`-Oz?6HI;Vr-@H3}8gk{K`FAZY1$~*Y;y0+`mz^@fN z5KahuzAD5u3U1PPs_Wr7j2xDidhe8m(bs{VCj!3y4(yma*vySU4}zY*VI#EtJll_BNXDMhEf|wf zl{6txMqwBcBQh(HcEq(xzPWcxHOvCkDtwfzhGc?BB4KA~?^i=tvRb5zeCc?vD2;6F zF_8;WXX7(Nr6RW*yBFIS(KzN9n$onB;jC6-Ta(0S!-r!(H%N?P;Gt3|Rn5ZT4?;MU zA>)bXH+a{U?zoz}tJYJ2z~N1TxW|FOQ(NV3a;GhLbd-yD&<3Fms*v7}h6EOBZBE2$ zh)ILcwgic@wA6%nRY%nmymtu172?5B8b!cb0p_o-?npW(SSQpuGt$GYHb@0H!$bWM zX(vOpLCU908Wk`iNZZ3?2(kb&X$PqeAsLdQ@Lu!sZddniiEJOfQWp*CO<4 zpiXRzI~VH5K0pFJ0CI!s#rH=->QBL%zgMu3gKV%Vz8NV;3@3o;57wg@@Ql zsO$XB>-drAe^F8i)uen(W=PyF?%eibm@Los=9l{7Z2Sp3;Uo-wFs(Z-ARHP4H%8e^ z26BgCdm@r8_GCh+=Y_=VURzYFniOAWgF&9=Gf7z9$~%l z@n+WVk(B^fn*Ni>g8s}r{NYD$Xa0x(+wq@o%USCuTd`;XdHbQ&Q~cwKZ|R)K(pbcT zn~}eWMSTI$OAOPM6c87Kp+<)tf-qYd0`L{Y5WwTZxdQDC-IT}&%}8^^XNW z&*4DmpwbS0s}c{$9z@>-WDi+cbYC?@Yaqj9NT3Su$w!ik0QH!_IkC~U^oVqriU28` zg$rIfC$^XlyL#hk%xWAl*(a?Zu|AUUUzmzal-Q2sFIPx28>Uc zT6Dv_nG-6tH$HoQ%=WB|JuBb)-j&SrwFh6l;MqKB+<@sfSJqvQi=RJg>QVz|63s`e zJ=Jc=n=Nq%M@0rn*eV)!53&k|BZkT=U5yIr7|1Y56KE@m!Z|?g@YP5M>uN7SR4?Jm zLUHzL-}SvgY3U2$;jSbr;iyauPi&NkDD0woh>vrl_AKY0@e@AEB2`Jq)9{L zxBKfsOQsR$Cb;fSK8PKczetT!*hzDsyV7&Mb7ywiMqwh>tQc`(FWo6QfbCxH4$yH` z#G6oB^*ti|5u{R7JR-hBX(eQQ8&eYAhy2HjM8VT{@y3u-bDcNAgGRK>5L6}u7U$zw z6R;O$Gb;HI?He>oK%_rIAK6( zX~l@W?1;Nt{(#>3`a@6EZYf*lNSfbs^CQn~((~NC+va!OC!VPfU!*{>5$lYY7E6hc z791LK8{nXlL4lWvuN{&jAzlF*&IWV|A*%tc2E0dzrsn|zKyd7^e8l{@%G-SFv zYHnwnO73pmnq_zCy?e(kYmUjDI&If>K5Y4cC8fh6B3qB0Iq*=&X;~!+&NiXe%x5>> z%OaonL;D(^hFl2eW7HwAeQ|_ogT<2=CR`#ko6piwsup)4Z9A|(@k8igjvTGaN%yli zP3}Dt;$+y!IEVy=7lx7&J8RXSWZ7xHBpW!2wT-zWWJ(}u zhfPSnl&~CZDApFYgONM(T742*nM3pMe+*R_R#4E^6!2kq$dk2l zic$A5)t^@@v`g3wV0$1BfVRS@ghA36W*o{12=`zH8Obi9LZ%SghKwHu5RB5GfH+u_ za+7k%*LHyS(2y-6vn9&4ZN2=+6a`u>1^i96q(^u`%dqGWJ#I`|)sjT^ur1RS5Mq`i z@)8%UO?g@mR1>zfYR%;L{Q`y!xqK!&kDXN1NjI@?I?LE^tS{KY#!yt~^7LLR9UI zvp~iVDI$_>Z7T9Y=MlA(Ft5Oi&6Mqvcqu;d*07ara7PDx_x)vlV(g^RBN>aSD4sHg z)q{@Rxr2u*-~5b@5pVJO`wqOchSf_3AsbV|?@&0#m?-sjLk9#CRtOFq>uTJ(Vc4QF z12`T8B!Vy6Wn8uv{3CEuP5!Oa4JI@oz^atU5>>(gH};ev;|FAh*Y@GM5vX)YE`IwD zP^T`G44Ejd}RBHrFlLVJp9|9c=A?bzq!EC zeiY*nxi|_CY0t?BN8l^N85Wfs%&Iqb#?M$KD{VI&ZYCh)&9Z+e|0$31qfK|&=S=Nz z%JW0x{)#wdd~O(?zZ`d~gM9HAcm;69@u5uUP6~!ICd4bmgEFZoczB;WSx#}l9|)C& zDKkvGVfbzAtK#i~pV(&b zk}Fx6Wf$YOye)XiPx9)}T6WvVf|iVNwBU()9?oAH<@B6bzQjnI2}~sgGlu&BJ~AZ5 z5#3`BF(kRzm12*ykt-|a3K2a*K|r7!gs`V6vmg#M?n$qMYhynxoT_7v)~}S?XR(m> zJz=^&w1#2+Qpw){l#)V0j2>IC3hPeQAp~8LI@DVj#?PcmsY#HnvAT%j zk9PFNt&R~JUo_p7M#yEsu8=KVdMLey^eAE3BYF<*t@h}`B8r9_J2U;!%&bSIo;^0W zSnaTa^JUwPt=>$+(3@8u+qR4;%f%M`lfO1);>0PeD+|1rf(x?A(~#>5z#T_eP$&z> zDFA?qqXW-cg%-J?w-hcSMBk}plG6dgcxZs16vd*T219$5pZf8yGN<2bpFFA{xrt z@TiPE>q-h2a#oPUCwIYQI1d#57% z@V1VXn>*bTrd!qL?p4H8Jtu=(;*cIUxTars$!cOdEVVr#1ATJ*`FovCi zdWm=200Jepjec@jWb9j~XFr{l{q&9Bz7-R7vwkbTQ)v-ZcOW`eF6!TZ3~M`jK)-Iv ztX}sIgSmKZ`sB&eX+sRZzvp33UB7Ju2W;#Az&ooqA3L^r^*fmB%=+I&t}RLGNctJi+V()AINcVo*ZGOAISt58u=QXzR2DWT&(aoKfc@9<|3OJ>H zsdnAS*M)|iJ%MXnk&msIICDv00PjsX8&yWakj|wAG1q?ZVVsn^bfQief%{Z0#J4bP z*b+itk?1}w3yciVicB;lz`g-8kI2$C9oHtP(N-_s!0UE`|LoHg14gBp1h~3i$i_c@ zI8>1>o?n%aw;sE?eEge`kN;}7ep-L&>#NAeqc$W-=B|jXVo*wk9$Hi+^##zdeUN!I zp$QySiL^oBEJF1ZX;~aqTzi!CjYX>r^x=g>KYlja;j|<hl{m?ZL#7%D z|F(IQCIf$$DqlFK+WzWGmsl$Q{F3K1UxGB)&l#zkr`4zvE-hHKY5^hV_y_#L`ycYZ z(R`&hFXwB&zJUATFi>-eJowJZ6E+(Az5rtJhi1k13Rn& zq`l3WVy?hKY2ayih0DRmKrI{(gq9Xgr!&Kuo@fQiI@=nK<~snKV7z#gMj>03d`9yXv!L#@Q&X2vz>wsCS z<~PLE$_IJU9TUc_#t?ImpL`O}z1M+gh#o_uEk#y zzt1n=r$7Fpf&aB`dVn8KY_j`l{}=GB;`|EiA;};G!8J9j3h)cE3SbXzDS-TGeB#7{ z3x{h8z&ki)hPu81aKmgH8vi28N>lI9Ey$X`$iMV#6QH+hOtXOfQRW;)uBwJiI#*?i z|76LH+;sxxFATd9Gl)0@zJ&y_BN_!IyecKIb&O;l-SOB-B3~_1AlM72WyDyc6O*u8 z!*OXEJ3&;4ypa1wxV_t3FB*Nx18&IYmpw)7(4~c|Zdue&JmPO&c=v;P`FY-Q^`!Aj zgso2J_i5+F_@d|*r-fCKTQ9_v0OU@)l1w$u8o@n8?UbrY;noN$qIsJkSR6`rUYJ*I z7RnvC*fDk5NBlzFO8#fW%>J|eW7exbRXDVDZFM^Dk)s-xuwIqj|o6oLD1ZLAJ6Q(BH z+U(M7PVr4I9bx)6Qgl9O*bEn?Y^Yj)VNNQ@feAVriX*p%dz!-&R zbkE$w25<3v)ZueFfi?0_J|UpC)`n7CdXF5F_N6^`^n89ZTO|(SLbiJT=ve!gnklCT z|IqWSt+qA*y+P*-pyzFvmt6S#OX0g@(7Xg9L3U-IGzs<{%qKKT!##DKPHBw9P!nO8 zqDfO2yn+mt(UiJr!iAJaX*5tN1bGj{q~=}Ia^=c7GjCZnd?nh13}c~>{>>8RO`5li zAG!D?KZwDJTvpd1^vAy(EQ#Yfrz!4QVt&IBHs zmQO6MC50Jg28){QkRPnkr9!Xp)KdjFROcgJ=u)4te7Q%M(@Y+{KPV%FKPfQ~l{4rL1L>C| zISBGETA0|3$k-vU@RSp!Z(4*<```St-f<79t6qG3$20Q3JpG@2`0?Fh z%?kK-y%1|A^xUXINstCJj4p`=88>Qg<3<%}7_Uf`)tZYMIAJYdQ5D~PYP4eUU8wJb z@Lw(`ihdh#U3?d+$MYH+edTqEy$r0b22pJISin)nwSbif3HJA+=0dnt6XLNzAaEDr z;w9#E1^I^Jj>qw{%kLp{o(P8K&L{B8+mWcV{cBs*85Gq0afGFz3tGcX_Ok z{3)@&;UtX@wVe6$0&VOI>!$)N{Jw9GW2y{WW{$xa<7j`ALXtrSQ9xaWW-sj_oI6}n zWE*IN+F+wVjh;2|`7m3?El-0Hlhn-dgJtW6bv=mj)YQmj)oiP=$~AwdH=i!LQppQ3 zPM;VTf5=Sz1QI29BE+^L-w1an>J!CrSypKe3`#KfqDx zlDx{23ci5hrn&}R8!+~p}N=bn3#@_!kz_hBsJ-B%Adt~DNw4rXDd<3Apc5Ea0pdz?xhRftrMgm$SSBVK zp-YGqoa6`q@vZ5QVGfMWEO-*^iN?_r{r|Vd@z>O-Zfq3Md#LU^@f@RSv|XO>z0ZNE zzf|vA0l2X~?@+EYBm!U$QDPN7YzVG|SYm3$LJ*0FfALg!2YZ zkt!#+qNAchLm>tb8xx>)1VM5-LS8G@-f#Dv*MhG1`X0 zQ~@jtdeo_9V%&yj0sp+AhylMAJQAx{v6uFDnB?$|KS5G_T~=7L-a1xnj5Rhk9#t+v zWl^7~cIyL?@CK;=P@*b~n=mpbf32)x!H7R+xk{39-3(Q`+U3hOUudBO&! zz*oiTg@x8tP`9=8v=F2puty595U7JeW`!!gkS(B=xO9&FOgQKikfo*~Wtfqgk(}go zz?#M)XKwSSq`BDg7N=r(0bqS1lBbF`+OQajeRMxa)LCx6P0OpU<^>0D&wF4>_6TQk zc#H6i9w|3&+00@uvx^?75(1+^(~*B;kh#x zv(M&Vexf!GZOO1!rSQRr>o%N)bmIP7aq|e}1<~La*&p0M;{K<6im!wi*8({_XN&Z> z^e_ul-hc=Z9dQH_+({+*Fe%@M??;9UDP246cH?fM8ihRbJ0|nrfBg;R2^M~8%*fM< zy65YetE_7NU3s&rs&0Z{u)_I|r))p)uUYaBYp|v(T88F!(qCKRwBE5$%j)t?&BBmd zAKkvnwy=ioDFsf7q`o5R7XNckL{T>rX9b7*T0IdPB!~boF(T+}28OuEwWN@?9-@Ay zy!Z3pZy337>Gz*{%IIEj{@AZ~kAXiv+pp)~A=}jsTQ~Qe8y~r<^xhhS*ymaOefxIp zI_+mU*&Xw75>TvEe#6)W#u5u48y%gHu5XB|@oyAPi)xU8u_RO=$#(h>mbv+#RV&ZG z7|7qHM1wLFXs4Cco;kFsX`Qq9E2>A#Pc+r;AQ7Xg;B26tj?GN5vG@Jaqz>1(Lfw4v zIg$jG1UuDusH&Lk2bw%ul2XM$Tsm}RB49@56G5_b!}#v1e6O;nrsn=|{+nk7|20Z( zV=ivT#+*1^b$Aa1(-E1>_M9MfJ2{#Cy#3D-c_!WEI2k6Z+DB?nnI^=?(NUpDxo0Bg zRrB+*pwfu{D}_iX5iVSn$_OI}=o3Zp_M!mzOJtoXj?Qk2pahwZWTCi64kvWfp+IY7 zC%s?*yN_|2jb~|+OGdXFo5PShm)9>|`aYj}_xDR83*&5IFrEhPDG!vtq--;|uLezP*P}eQ(7Q&*|E@xA~OX2)6WfS4+)wBr-ChZ&>f{MSXjWAkzHbd*1)Oq<`6H?)l(legQeKn2Mo;1`ZrjBj4JkeNInz zp1$e19b0Y*!s*<59#fC_ix|5U=N;W81B{%*ke&tZzuLU$f?xg2O$u8LV6=! zDx~-#-Y7(64PBS)Ol&G&v}+tThrE5Q&ML{{0ugPk&L8CP0H{h0BMy0jJF%t4h=jr$ z%rnh6UN|R=>;a_U`oKSgRZ9%Q6@>WKhWM5=9qrmxquUUXg{A1$LeVV|mB1V&-tskf z3jD2dxp>w1hdSRnzU{!2thkWyxT46lm+#^;ewn$-^GXe<#0?w3thRQ(!`DO_8^B-} z(^w%8qtf}0BouwPH6$2DmmqHxGr}VQ1|Fx;YpuM#mCfaFh8Y2XgNh5zlzc3=Hwqvh zO1`It*S&GBwVE)#Q;qT?tP%mQR>#jSTE&y)(TW z^M*lUZH?VFOzymdjbFUjh>8v^<~2(^hm55=bH+DMwQ-+)W{k==Cfe)&6~jzrSFzvG z$Maek=3#JbzsJlRTEg$eCmT=hn-h5rS#kPI;A>S}C-6Iw-Mmf@HL+C?GGJjvQ%D$Z z;;`YS@HtLYp;5Pg9r!XOk9MOKdk4PZPS1_v@z&qTPe#xKYSL}!H!K7K07uaZ{ZYvX_I4_w$k~pfn8{>RHGEJ`Npg4Tkl(gV zMjGCh3i*ciWOJnhZ$h0sq6VNU<-M9K_&Y?!%ts?uRrVrNd}!9- zKo)_9ly&zWR29z@MR|1nhDVU+-l8b`t8u5c+*ziv1%2Yfd39w zs~zed@qEn+8urUrw4pb$4)V0cqh`8#B`=Y?z{c#TarI05m3sg# zS3A_k-8N+~6v46^kI)@v(>ovDCX9|a*Cx_{gt!052YGeoo23zOu0&2qsLfwx@n~#tl}v>-Phj;fxy0%<3{5Uq?jV2YRMQ3Y z4G?P}`qpUoVO&&iLG>183zdN`ghD444iN~IZ7F9U>!{npJtsC8&c2s$OKzeS_#Bj6 zBEs<=VJPBSNbeM9UtDU!wG~cnL%_|#ptC-s=IDuwm%jAOL89YmS;>fUrDQ#uxhrnN z8#{KsLw5-O7yo2XVKEY!q%bR){4vH5tYRXL^dNVCS5g$n9B89N>v)Y!ff!~(roicp zj+P{6vNJh4G1>uvGURfM=-QhpfG^SDerxb~jfHL)wurN1e4|E|@GV2fqwZBP{>&QK zw}-u>CpWY~-Ggs4o;V~|BgabhUEN7Tg`)pDb4 zl+r_S*Fd`=p+snqW{Ck&KJrF)$@%%PyNpj5t1J8*3zPjOPHH(I-0_Rj^~OBO`Vjnz9uz>Ddi*I{N3BB=JNYzkw*$^(ya!mSZw?g z*dx^E44K<7@Op6$C8+ixP$6ADECcRql|+*anpuMrfK+!okwo?dCnC_#YiQ`LhzvO5 zeR8 zT6^pm?ubL``jfrUx63o!tKm>OM1E??q>L2L^W=*tudeA9S5r^E&tT*!G=b|ZaSx-u zePF|=3D_~1Z$_#r8aA*FHi8MSt|WL4(@ix00@`crdmnxfR0dS#nl$rEWQoSUzg9Cp z2-6CxVByE1Je&y<&?3gqh_=b*{|7fbk08<8hgGonp9f^1ra6jxH9F!>(H5&KQU@v(M zwHTL|;d&(sq|xw{0goDwy2b&7K@*lN5up%|CvbyrK0RLdl3XYFCrnxb{UGW^o;kmMBokc_s3o{xro=c_u%QT6pW-ItH!bk~qn%F)u2l2Y~D z^ZfYdwaDL9_iAtc+XvB`3u1mD-7ZF@j*kbkXxzdZFbD9fbn4BUDUEfHZi&P_ z7}l}^;;IZ_ik9wbfx>uNvTWA%LSnW6zX3lB3ZJG*mssP$%MnMlt+yHVV*<%?vC<4UdU?Z7F=~je3_&<7)k@v-bY$pT~77za; zG!jE5HD@L}z*@3bW^%oJc-emj46oq2oX;Xx>$M^3AD4qeYHKab#M`sC_(e-C0G|)w ztdMs2(>T8&FdXQ%7DQZE8VhvW0k|bE&?iF-xa}a{Xu^y>D~6(!7z0LQjEZHap!2ih z-(`Q^6n=Op8;l_h8p@CG>V57QJ(hLhuhD_r@c4ch;dke*>b?Pkscyq znnVZOr~n3kImSqdfjtg;OL7+hQWf&j6dxjzE`u;4mFdmG4vHL1qZp!?F`pPB*Z}{S zHRP&&DJfcVnnZbO4Lb#L@D=kob0nYS+wi!iFsD@X@zg5uSI%o~2s2;wZTGsbG0FHP z!*i8P7R+-T5I{ZM-O#2vK=cX?)sT8`d@>RCvO&PJAhN_`N;1SA$;9K)oIqT~#fkk>NH7ABjObTmOrNv3t8yd}vZ!X3v3CTCYhv}!hsY-%7i2NfGR z%<8fsHD^o2B`(zGQK=G}8TB`p(VPd|w1$5}wMUewtq%FUB{P=aM6Ey3YaD7Y&u9y4 zdEK9N>(HBa_OfA1Jl`}IW8d`xhe;k+D>-Jr{?7XA-i=T{tTRDNRg=%n5 zc8ge-9`FylVqK`xh)yp6#+zg-I2?MiE75^kOaxdRx_Br_Hvxk#RjEXdL@8$i{1dOw z=sOln%1BR3CC%NK=+F=ZcquG}5Cc?=!{XTN$$9w-dFmzwbk6)-dTy#`c_$!0+v=3J zk1ye47wX!Z2OoG=eQ4K%FCJ9&g?vou*g!ntl1=&|4_jZk@VVN!F!{(kVJu8M-Z|T` zHxx@;?Q;t&U!^C1^%q1#;`vbP@%tQW)(*WyfcguD2Lna<0I5BYM|ruKtuxXw+<59* z3&{Y=(qng{hH7Xy2Ly-?C@@3*W*r@Ek*e?5ppSEA_rIf09jxJHG`-Pfrtz>%ByZ*`cehYtz;5KD!OantPWTXAn6+ z^H!{N4rXJxdq^Pqhy_p-3<-FZwasdY#iMEkpo3`88A=^|K|g@jD)1s|h2)!zkRmYE zfN_DV&@LbK$ZRwyvpS=pJlZfBsL@?}mBmb8H{{Z85XY5a-IFO)mXB<^%9`7}JHi^l zDR|ZvU=MiX=5!Wv_4OA!#KbbHTEB&GdI9YQS<2yVHQBUKqP{ZlI@;%DBXMfrKy{p2 zB!AVekiJ(;W~B=8Dt^KQu|^mn!km=D-4HGk3hjt&8){*+AxP>zBejJO4ceBq4ImO9 z6>F(+DH325#5O^L(j0*40#*shNO{Y<&RlDQBG`plQzuRBIVU0V)4u2KJj*QermtGh zfBB(($GoAP20yTqz4Cb1$&1$BcH28XdyZj_2TnY{DGK-rTm`|p1AvF8G0 z`IsEI$Iz;04>7mUsV5kT=jWea)3n!qR;_0bXxjdtVCxjY>Ffi4(ilIyEBqTu0a|Ip zK(Ex;yULiGcUp$&HioMB22Xm9MmCGso_y>?cuWtmkFw0<)DUA2JzL-d2zZf5EIYgc6hdwS zd&h3VjxoWdfuWIe#@B`EmXC6uSeFVRsm>vM7ypEpES7@^uDWedfBDC!cCugG?Jhs0 z{wi>)3_iD{F2`I&39Wowa8!}_=KzqOGDN1VJ_QWl02)bQiZO`x({Hlqp%ra*E(aAX zQcVm>?i_dqJ!ijJ00HYeY&@={gw1{EVROJqrgY5ksLFy+R2wl2si=OQHbqavYC$d* z2&@inRNi#RWmSUTU{atE1eoz?*dH7;uhuCh1_=(Y5kgrDsdj@>fJhB6tnB7H?+RV1 z_OHJ#A37wrxwf#BI*z@0aR7Utt@^L>Qeyn8RJZzk!}x*sK#ojhqu?*0i3*+qX;eG~ za!jK|UIy7efhf?1!f@C$i1{^p0JwA6t{g-w4G15j^yW*e${V(9(Km1Q>}j?Y8ykOL zW-nj*fW3L*k8Ae-R-{>oy?!=jfivZnx=U5=8@d;vjeTK31jYt8o0MV@h#|3DZ z9~|gk9>RhUZAw9CI~E)qjLbH*w*X-i?g6++P-MUkBE^Hu%x=Y*?#!-Th-;DEwhcK8 zVIb#OLJ@`K=c!Ow1|-6W{gIEzNwV9iwdz0867YtYZ3T~US3s2nTv?YW6G+k%BI_w^EcA6@>b2C*`4Lg;LbrE*bCZD zS*`n#t7q!^^zPlK?hLE@u}+nbuUNs=mCNTZ28?af;`z&0vbq&3*iX04%gzpSO`AH8 z56Pc;*K+JtMH&Vh`3E#0jd`2qo?Kjjc`GVxI&T0K`v?0~`R1?5y!rbF4v_)_!<$SV znWScu*S*_yCXbZ&nwp6Oczh966X- zB~!zs$pJ8X=m;UweW-~jK4zYID3UW2$D_Z6WKK1wy1>mtrVw>hXc6I^aNL7H+(6{+ zusL%zL$h1twrF<57b>MWD89!YlXYb-GFZIuURNCph_IWwBU+;kf_?IPvd-mlget&D+_Pm_?$G!chRzOd}FH&x7*3C_G zWQ}<B|{fdu2CNDXlaroIplg;OF* z5>esQS6ef=6qwa~P5hUw;O~e^9XEFQ$3jL2>+@VbH4o4cg)onsLofPTJ{8g zm92kr*^{j5$rVqs?tIFVOP>(?;12a6WhDGyljL$I!pJGq&QgfTV2-HB9jFxJg~qWH ze5sUtM~dCXIzG$fME0zfu!NnT%1+SSuh8tuBH&vsQo1|EH^-z$L#`sSuh2(89W*pJ z2-yNq1c00eAKuy)g+!P(82Mypq6)gu)>*7muUU(4@6aZL?^_Y6-9K;YG*?)5_Pks1 z856ZAHcFoakJRF(ZVcFYT`|5f7KYxsx!Gu3JaIqkFi1PG?ty8=c>OfIetg60X_FhT zx6%TI9sy;U{&4F6wA$hO|^V>;A!njVO;8WVfLH zHE~ReL-q5&c~*Xw8Wh~4K(>Twg$ZQQ;7h4hE=2bxP1DV~X0A$(iAoI6{QLv`{Q|3! ztazzq3UtvyuEteX9?8tn3@h$m9?Jsb7SU}vmf;g!*?6si5u_a``OOT-dFuoA24y^06n8ahYW~(_OHU%E!*R3zs9dU7aPCk z-{}J_SQI41@itXR6v7q;-ioebmCs@?e3B2h=7()sxvOi z4kJM9MSn=qrzE$C1=&t;RTYtM3dCtbrN?Wsppq+Tej3aL-ct?JLo;v!omM3ULc%Ox z1KiW(%7yBP%MP-ONlS4lDN4ST*{vo;jSpB**}X#`ev{*ZSU>*g<=H{#Kw75M$gH5) z#p~<-l=;DKEIGq+cfp%VrRAQ&H#!BQ#nBk`pE73e6YScVzeSa0wF}?bq>Ylm@vG}h35fSm4;6$W6jKl? zQe__xI2qIKO+FhFZ9~?a1W<|cC{oUZ7E@}!^2{J0U5(Pil;Ei)0b8S1CGJKDb}MHz zJI?BGH@a+MH4PvrKEsf>LQ)YI<|y%5C<+_6VXSJ5JECzAO}~ML>v-p2DG22Wx=g8M zOT%!oWghb$4>d{+YKN1&z@QWu&|LV^KJEh5kH92GC0$d9Dkk{2KxH6dQ;Bqk(4wOz z#G04^l1mZZ13pt!l1M1ULCR!;v`(A`Y8GX)L(@86-pmWOZuOEIKK>XK7?i2sx{n12 zio=EbF3|+hU0=YTQ#tm&*!S4-vcXU^>0!`3rd>}SWhGVu#eL)tL7mc6Y7{O^7t)BL zFQgSRCqkg00ak>;Scp7DS|_>id$EbcF~BekP3wmNs_cdq6+i2nC$a~(K8)EiR*b}d z=kSmCx0f(7`Q3N7zO;u=H?X|z`8(=tQGWqG6V(@{QO+BZD{>)L6?spLmLXI}`UOZ$ zN_L7Cr^xb&w71KefnqSBuEkVAgd#!~VvIC6Bd;y0hRV4Y0{Jm`I4n;-_`-tm6E-a` zHWpKfl=oGCcKPR3{EtriTCW_lkG+kV`ZpdSfW8H3_o>P{TWpjkL?3VQeD_DYw{k{ETL)LjvdhjOU z7uMA^NDgH8ZU84hD4P7&XF@w0T}Jm%-?RPqC$eSJ6J4Dv zfG4758A=F?xpSv3NL-wA$As)bE@BKMbdH++-ZDP>k=6^Q&h;EM7NI8Y^ixm$HnK7% z@~Bx&O?#6s4+n2x>(&!-)wI{0@PDJRJ}DHz5`SNX_=GM~l?VhHRHd=s5j+WuDDvg9 zUJ7aZs9DEDFE-;v=wC?343kY!|$*ZYtcF4C=UpzGeN=x_9sWuwsVT&aR zdT#~W0Ta1#gK>p0Z>KyuEchT}%(@C2^#3#F2CmFi#w=i5L`?H~3k^IAfn%6VR0}2R zR3OIdqgoJdgD5@3w!nZrv&j_s=oT0*+4g76xtQN1@@bMN#?s*=7;QFj$p*o;lZA&# zXDS%fl(-%tffP$#X~T9WN;-*H5h0eUo>w*N*xkPSuK>#Om9$2_KDYy<7-iL8ge2A!a7}w>F5R zZHY191LV7?nW8m=v~3v?k{S%YxQ)C9-#2WUW-Y%uouT=td~o-|aT8h1n)C*G2~aZ1 zGc?=pUi#%$vi_}B!TO&Q)?aWA?%Z@%J^u%yMVM=8P(jb`%r1As>k8EUQd{3O0 z+ZtG(_!f9(6M8gx^U9=C9foHHA_}QdLGKj_WRkHqo*0j6awdy!i$_=a_@{eyy1l1| zA3C>JZ(nf7Of9SJzWW|{vwMNFe>y*$o2IAdWVX^-&G76&g@NPH>>K@A@}x}m*Je-1N$m5ibxp*RRt1KpgpM%#?cDW>H3J4q6HF&3Ld!K4U&hJ)5?Tb` zXyn%c^Pq`Aat~gejQ0ahp*h6H^>txhaR;AL2E)C9H^&$w`2oE>&W@c{1Vdm7;MUh0 zp>b-OjLby^F$f2N`ccB;Rg;|X{dGz8Dy$^nH0d%tI*1M6Vy+;B zB-|yz*btLR`YPfj*j(3oO{v?Dq(4x)peAZmTlyaaKw3TaSjlxXK$uhhciq;w>k5I$ zQUPwQM681X3%s13m-LK~NkZ3AII7WzD-HiuJTK)noyZZOY*DKA2W}QH8xo|`VD}o@w%{MZp#nhI%b_B`!8MfPs9?IW zy6_PrL0B!$P>>DnGu1jsf6*n_@T{7yFN*d{U$a~J@fwkTKv6x zB)R@iVEwnk4il3fECvJ;5XV*YC_GZM@kr3#hf)fR@D-2dHO1biBAtRnM+;XRQlId` zAihOf1@u(FR(c;wqzRg}7so@P#EyrOzyFS(HO*Q0A}*B6ub^k=0_tElW?A0>MW5V{ z_M8fvFv7;-P9-1O*s&yb?>9|5bSf*n9XZK{74v7c@z_TW2}~DD^`h3{KKV^VeZI@TST3)gz;0s8 z9^>zysuxiy+g$bF7Jiwwl;N{1mIv*M=0g(r@ymac=W+~@>0WMlF7Q}r%qjdc^#Pps z1meVD<`Dl;&trwrq#{gJ3UN~)Oa)Q^+pU5|>x)gTnHFm}xXC^s7J@ts7YH+NjN0I` zqyTL-LcW$yMdS#6s97v;7r62btKtUJ+kT4`s68LZYhiw3A`v`$+-~zBsFN6 z8MH!jqTnGmr@4qprt||ChN2_&ff{rsMeAMSwz!)$AmYONZq_bXUPW_kjD0BYqvZ*o z@c%G&%lJ?&sL++u^2lV9e3sT!?86SKf?{*6<0U4ft17E z0reRJm!)p?KWRy*(NWG6{FQKq{*jO|qFawrEZ_%2kEXGSWH@3oiaK%6p%Q_XM{?kHo+= z5?;W_QMXYwB!^&R0HwtJ&EyH#Bs!FsbR7o~X(BJQ2=9ef6Ub(uTu5{V>RoU(RRt!x zW2qU8-@We`KYs2#{wbou*g0cnpk{a*8>sLNf;3{y^qy!2x}l@vVE0HV%4jB@Oy^kniCByu_;#e%}Aq_n#frhu$=& zbi>Ns_)suvZsz0FpD@3PYRt_N{Gz8y@jLtQw+J}mud$T+Pb6@+a1}t59EnTSti~`C zHjZv0<43I{Dk&$2Xs)y|DMxj8kut=QHJOB>uSF*%(L`&aD@o)IZT^Xr&{w3fe5G1| zxe7wH&q1Gs>GEo+nAK=}R@C)A3pmQFepXmmm?O-A&!VtAjB+Hnu^R(&1_>p2%{rx- zy(RHnmfA#$gGDE}iI3 z2L@gX!#rBxU3YbN3J&rEKtZOqEU1S2EG{0+$Qu~RdyvDz!k82m9TsJ?qTG*KBt-K< zG91w3K~cCt3)F6N3G6GX*>cHcew?LTz6^7QlszxFyl~~ph0Ofn`?zr1lJzC^$gkP2 z>n2RTlg>VJ&-!B+mzTTd9T%#>(1^tG2l);n8+3!w(2zVs9(pKU#e%rTyu>wogoWs) zluV?nxXJj0y+zaq3qbnspb|M7$6D?iD-E_=`8bs&z(a8)$tpi{gm3xh(CgWxQGFgA zFm7{?V<(zCL(lrN`W)~hU6^GkIT6NGbHEm4Cj(<0&M?K8VUP{rU68{h5MJIEKJ+N^ zP>T4_HBgeWGSgG>Hc4o*WpfJpz8=wJ^s?mC4NOrp2?KAFEwASaCj>HB1^HvA;(6j& zi$o`$=k!OnypWlF*Vwnd`s#3>1#N0-;)dr>89RDvr?NOWa*>xSdRMR~w~RSDap}wD z&|v>g9x-~vNS|aur*>>6xILb=Uh^E0pZ5Fp?u*R4cGZR@tW`?c zc+KoLiIpWLGMc)_UN*BO1;+mYkH{9yK@S)ao2}_Zi^l^{oB^*4THDdP0RILx=d)3{7G~L?6&sBw_0&_7kIC%l2_(ZZ zQZq9NOJZN07=Sz&so5TUeR}bDp{vEGft`Oi^weQTyHcY;-aKYh*KQTVjmxt3*9Vg?_Uhk# zL(OTDO{%d-9ijHZt5ZlGSTahZfL|iVFE7`FUu_fgU^7_JD=feonTbS7LeC@}R1#m( zHILob@{#`ix^*ib0kY{oJ@L-x<451RAT+`_8Rj=;gnW;Q9lPbVfzFQoy0_Ig9y_>Y z*ov&!yJq)G9UT@FTHC5m-zwwAM$~W>TQz)PtApIlAzhr>WFVlMNDn3@K||vr>sd4j z67CsRO+~{f(#nj^M1?T-6(Cw9Tl&S5df4n$Q_dMTU|d>hi|c3AtF_Q{A)IEYc01iL zA)KB+;ZWZ+S{v6IYc9B03Oi3P#g+A3D3#183p!+qCFMElLs9{`a~?lP^A1O4)(%HLu)`OOyQb)GzWPNkwZ+JO^~xi#o_lraJ6N^ZX0Q=- zv5YIvzjE544Ed+=qVeue?9dwq0dCj<_=X!>)fNREx_CEL$ zKZWo@=1m500$G~D3A&^=PKdQPHfQ7p2Y<|pwaTbT*wuhphe;TYkq6(b< zG?|dH)?s+?q;-#whW9L!+Aa$P111LzQt%{?^Q>Q}AmRa1_h%s~%6RWH<11q~t6@=d zAM4t=a@~;4Pdu@C?qZ}|O<*IGust*SeEJO=jSHuv5^PM%{C85*Kih5mXYXfh@yx6N zxq%eFz#I`Z25(H7ggO8>yeY|))7S)HNF-97a53PTq1Fo~!0;ZY^NEMNa1_NVB$Y^$ z0KioEuebt()X$&(-8jo)ej2^DRjYzU-L9RtbZNITWdIv4$9A0B>fuLO`wO|}S^M^Gi z24=!LAWfE%F?KAPTFk)6;ISW{J1U;?Q0@x8@|pj)reyJ(!bWg4?)*temT&ygB-dEG z`pSb`o^VE9{I?qZRzLT)GJG|hulN^}O5m#}K29bL8J_w-1Qz`JSAnH-glQxmZvpJJ zpZUMadUh$t_>>uJPDrTs?O>Kh{Ui7LRhp$1b8J^x<1q)vaW0FlLRl*O+l>{fyOjt-Adc`MMc(qvp>WqQCWz zi?1&^kXNv0;%gtCJFE|yHoJPF;Wca)qjDU|XX7O14xkNyhI?r@u=H&RB~0 zfkA2h3lI4rcb5G9V$OW6@*~@;w?&3qurmPmr-a?4aWRx_iNk^)6Pcd1)B4|))8ZHP zu?c5-K&cr00&wV{oM0~Xpnb8lK##B zGtVydKoQI0$?U~%CMiG4F5pMM!JnlpHWl4yZEPwViVwn_Xv2t5gyh88NaJE-#cX%{ zu9tE`zF_W!KjU}Pg6MbC*m(Rd(g_bg{jLlB4rrUdlnFQaV~!gdgF2BrOBq}It8tid z6PnkEA=1Z$*5|>M4fMhJj2n4uiE}GL)dN z-u(+tCjPAk8N1;B*~3P%3^rC7bmb9c&==_Od%IY-8}iK3ux_}7-g!{?V4%V=rNO&H zfmT1PE=o(`W?*&oN%d?bHjAVU)3D*k#$Gmp{$iPItg#D!)v}$R$&1d@ z&gWgXa-0^iujOjh0XsO%8B82Xj-+6yXK6SrG1}HFqbOap@|syISI(TdQpuXQV)>+z zla?%*#A!^)ayQ{5h{pIcbkq<#Xoa!b=kULxoZ*z$VWQySeb5-+YD0a0hx@~SN55Ad z!|&sq(Rll50p7|T2D?CBPsxLesU3Pl^oIkhc`cHg#c|NgbNKcH;v*0#K@vqQ%&>{a)lejn=W*xp&*p=0MC*2u4}VUw00 zXj@d&_Q3LfEB2Qa7nki{p{!W`$bl98mha!c{K{MHs`_;4*RHCn9sbMwll*!60R!6i zYhP8>{`XUT)NA|Tn8Dxq(k9lRJc(0Hb|xSapnxCXaqyOx;h~gMAD+%i(Nr_|hi8m0 zSj;nWmNA#z9L{d$>-3N|$#Hz0EN40;b<#RSK?q)|dm<^wCy`($JzRmnf&&(5xX_eh zj4z(~{(I#~V{y2#m|;*UeHkguRHkdWfJc8E?@>-(8BXqg!hNO*yet*Tg-SK}zyWE1 zPNh_&XU9%*1+rb>IA!=9dG5HWh_rftfBzu=Ai75(l(s2bDjcHS3I# zr?U6YozX8SH$L>xLrdh@uIE{^ z!C;u;+i)snUfKqRP;JXpda)?6Gm1p|fWv4bRPT zeW0Y$IrN77nF}2ArP0ojiOkOd>i9Wq4!>Hsh44YGKSPPKj97b2Yg@fS2`T_ z!AO0J08p?-8^;XfOH{?3lMN?8auUVJBj_(GJfpaOD&<4oa z!e4SsMh1H_;L|Jdj>1-Zcd9!!D?c9p;9Hb)T&U^ZW1z|=8M{ssDr-1S-D zt>~k*VE>F0KYV&buN}2u#ti%~oRA`wqt5PG$U*Wg7E_%aq2Qk#h-r};S`AbLGJjYA z{#0fI@#0Po2B~r2@QCOd!f_-q;R=$gsSz`!mLkv?UmRatREYZh78%rQEFmr?B8-pX zK@mg{6<_nYWzD4zXHvr?QEX?9|1ITtpz=(EB^VctF6QH{HKu2lT~;H{VBW;3b}U6P0w()%)ggqgUQ&{QE7}M_t-z`pMwnJx|Cv zZ=qO_-<|g8pZ6JPoF@%%_Dw?9on)q?O(n@IxTPzACU8UmX@oxo1BmV;KwI}*Iq;!5 z{Zvqvmr7y;s%U^=I`*Jca8(^7CDMwz95c%i(MI~Wvel@*Wl{UtC6VnGcfM?#SdV|P zmOpo_!*q|iZ5Q0a_8Zk~Kf7eVaZPCGh2RhtbkV+fJTW^1^tPNC-eny~Sk-|Hdt5NqEXDWp(o% ztG8{v^Uf`*{B)b5;?g!Hg{3Tg-^LAl_HNwp;EP>4c5s$ewC(oM8dtkDYK}f*(?cu! zt=xa_HF}FKRSuf1Og5U(|6}H42g1?S_&>)en;W zIqmP@`cT*uWpsw=De)13x-8Kd!pZOb1R)@9d4iCO5Sl6`t(on5#5@c84X&edch}9& zZr}d5XSeP6+ri;O1`QuExO&*9TaB}>Cv-$Qd9u9RS4Uegw)P&m|2@w%ks)J092JHUHUKwU zq3+9+AA)~}rXy1X|AvA1wmz-bEPdsUh5Di`D~*5^cP(RU)C17`SuQg^kQ0rKY`W_L zd&20?9-GE#GXQfadc$s|Y6AP=xG27Urr>U~Bsf*%)0Z)X?VyQeWhrkBdv@$;<84;? z`a3MeC6%r2H}>c-=?-zo)WQXZR7RSB zW+vQZ(S!+dZJ_B3B`kA?rfg1!LhgdQd_$zo|CO&{g~dDn%7>^58G*F=4E!s%B?P`- zdLH35w&5}gu>MYXjU~K}OCj<-9IrP_yuQcZVOEc1RtrlV{fT@8xT7v{i4*x)h$AJqwl3Hk@2Rm9aLmA^wRiM3Vyg>cG zTL(q4@y`El34ns*N|V``n&CqS4eZ;yd)M}DtrOksI?I#ug5ykkXCltAR69uLIFZir zP022=p>srnE$0t48GjFSCZ|KDXF#Uw@F$~Zq}nH}nb6dHO3AiGIZtmny%OGHDO9O8eo3O~aCW&v@4@kqU?>er`7xAHC>+7+~9 zDJ%tXUv&Kq3r^+yHy!tCi#WIGbZ&1;nd02o0C8^0jks5jITJ|NflQ56^)jQ_*gYTf zYoB4U?_OXbEpxQJZ|42}{wMQX?{h>Q!j1cxE*^3x4RXS*o z*8kJB>Yw%6Dnwg;%hKNXtyDWr8QA!p@h|la{4NB)3wF@&(z8=>=Y?9xP{pL~`!v9H zg?(lu$t?mt`F*0?&h@Ig7;{5in^IkC*BI+I$#2TXHes!G@(AT5{3;&(oyVn5UU^Qb zkVjkuS@8|o*27FV5#hvs(IsWDFwzyg4RTPfp2m_tG{$`Sw@=tIhS_Rr)NcdjDEhG? z4M)xV&v*xf4d^&hl$)LqEGt+eLZZ;OsqgUmW3GHlk;3<6i=>+OHl?Zj!7MXR-uAO` z;k(V}diOoI={vkW@!xDd*SGiiE#I(2Rf-%FN*C;@Ec16VGM#DU6NFP3+M(=lQqoerI*t z$U*AqCtvn=e4y!7y?)OEzs;AvQY&GOWatu%x{E=%Kx9DxFIT9feDrl{LMGj_zK*q#)v||3sPDwLeSA%}Vaq?NqmZ$yvE6 ztbf;!n)&|(-LIF%E5ECIU?1s^huMklB`5`^j<(q}iMkBRO-DV8#YkNP##m4k?b9qAx(i+5G8%)l-g}!Hg;RX zr>-|}8vcGLrEURXjqhjT`}fs5==+)UeF~fdm#_9c&NTx(O7rG4Xf*c2ftWW;_c)c| zKWJiwMt;=qh24#$o4Lka=;m^l{PN*&J>u~v@n4t(mhEaGf52Yp+SO=pbm-bu;9u1c z0No)3I-dTxT><`$4l1^ANICp|r|zBhanJreR*$}k?nxSaCSl;6RLZ#_n*hz0Fptkn z*cW+DBD4@yi2@E32vw2UXDx|Hl~R$T0;_=B;fRq6<=f3~a36`%6ZhZKcKv$3|Gg7) zdoAoYX%ezQT~Dkw?m=nOR%PZ}z27{WocMWEOwEYiSMKKVkDabs@pr&VeS1a&)^w@d z*_qxus{i3L`jBUX{CsK#g|rQtgdN3mx6w2aVw?)_L?az)Nr~Q~)cy`5$$3P9>@fi! zH(jU}KDxyGf0X@Y*L0bC?GHZ?bhqBh^zVi~ID7wU*NdyQ{D7c2GYj5w1NT+itn(hLy{gEU3G7_N*Dxr%awOe(ac$)l~yfMqbgWWBbyqm|88@-4j9n2KEF-NR(ijxngML_?*mwe<8$X8H(u70S>n8X`{o%J z_FZ{WZk3gjw@>LkkN@k}wqgr)R7!SE&c-Xte!CL+>oV~-+}c3bDch~~@pv(kaF4P; zXZYM(WM{(vf#L*7%gOUoG;ah9tdNO|YS(oS*NH}qezY1Jydq;;3l z;(iHbBZrTA$kkVMtX9d+B-wIUT@Cw=?98l`04`fN-B5JG+X0%{3YHQ|PnolP^9K!6 zC(al<%J_Ru)X+hX*SikfbI(02M|-lEvg`?G_$a{OY1xOOqv@Pw#6Qh7hlk$1oGqtV-wpe-DlM!VA<|9&aez)lkCrN zn4-R-#OUXNLppFsj}O~zp6|#`tGrAUMr1qLwS(Jfuo2tH{B-;?d!3$zP z92?@`wDY>Z+1Z)MFv%`O0%@5bs!gu#*MCr-BeLz;T|1BJ%;*==qm!m}udwYoRNa|r zhYCA(EYv3~Su#OSoQVWwJw9g2!0yFu^)?*Osp{)Wynd~RR?Xs>O|8$A2&O-?eaAC4 z_GF)`0e$DZEI)KFu$i!I*#y0)OP8V-wWokXjrz5cr@u~J7l1=T7@Bv0_O|qF{3o-d zthocrlV9Dw<5ii(ZhyRQhk_f@ViG3x?vS}UEh<_4Q3s=+{h;%h^4!FP&b7`~e9jx~ z@vZ(M_K3wEVSWPUbPca2{*&!+de?QE+z_A1p*UDWTq zQ@?(m5)-Q@#m^qrudI`;40%MS)r-nE`ZBB^i1h>fym8Rdm9i4$8~L40o8CqO&i%%1 zdq0ssQ@Xp0O1l2UpU?(lu~L-;S$pBW-GA5Rm-_VU+dJgqafJnfILmkKTCSIN?OK|5 zQU_Sz{oB-mtX@ZUKJE}&T0oye&x*+O+pgW2@txX$M1Y?j;P9i?6M3q1hr{WNF{}=B zZ0v%J3|rh~xVh6?Re=pL!Nh*yuzVA}rv)9os9lK#F0q~#D z@V(kj-3C7*>=@FMnA?ph)Os6|xwwKLRC%>j)_?!tlJO;rzVy-Wx@>$NFmm{`Idi9u ztqNeP_1E5IQC~msEsKBm6}@)!j@$O!ylt59DG{Fc0?!~!JhLAT2^O}R*=PvhOp z>Cu+gonu+X>2t0v9I3sNmMxp4t~P!?apI)$i$LX5SK-<@Cugq(4$yYg609BJmV+gx zLyl+c;@u7<>k5VCTb1h1{EegR4WpFx@c&dSWNf{uL3-Nw@+M=OxmHiC6^gY&$X+t% zjKE5RZopfmVj)%gG{ATOHd>0PTfos`n3nO)NqFmUtme5c!nvkk9aOME|Fl?3Xl?F& ztne47s*5TwAN$@o#nLZcM13$EbOBSwPrLrcx?$s!PBUXypD8T%+|kci+_5M0L4CI` zd1mR3n8?E~2$;1EfSG6*%6S;d3c2N|o`JHC%xA_d8LgB@ZDl9nUFY+lcW*UX(vzc{ zrOc?W86Rcr3Ze(cnQ~IE)af4*1 zu%D@a%So)qZM;S}_~7(N#4b2Miu*0kmrLdi-(M+*&i{o)Pj`LOanJO5uD48F|IHHo z51}UJkTE#=;6Voq<6Sp6;DV>3u}`oYZZ}Wyd@hrnc$!vTz$b!{0B`bo1CcfJy!4g$ zJ<){I|4&Bc)gYqEmViZFZ!F-W^3W83cz+QaqO`@zoFE81xmwA`nBnhMGu(S=Yp_=| z_Cf>)clauH9`xIEgE3!2tWXRqi;t)`Q{QZBzE8n*$9gDXu|vQ5 zoAGU8yM)F)&n~}a_TnY8u35%@SpIgm`_{dQkwQKjue_gc%%nKuG39QhlKW#&SOLCH zMShs2?MG@H#w>aD`Y_HbmEHy5bU$!TsenHlG)Um~Hgqp&mfo>Frc+7~Zk*hyAVf=FDE8{0zhd6oego$HWMVp=p`8#&q{o*SR>OK2c zl(g@fn15gW*1x^7U$5?7j{V8c^MJ{(XbcV-HP+&bl%@wh3wREfwEieY|E;Fcf61KM z=VwLcGth< zcU`5j8qIxmiGcSg){mz%(Qu|^W$0-|OGncX=*-I)?2luk2LbXAn)f{psyjK3aYMeVASu`}8MlUe_6g9R`i= zsqgvlxrdh?UA0MHX6zR9=-KeS@-gCv}aw`$t(@>B2qR9js;#rXZbBgSt?*oYh3uh+;ygWr^&=vGnMze^ka-Y56(9C%Y! z+U*l|9XYg5Z_{UR`>O88a4roOjkWOAZ{_a~m+6`0X=t?UO4-|%>Y}aIVj@m^!r^E2 zG^DBic(NboDXOyJ{))7Wva(DM%>pd(|qONPmu{sKK{gGC-&Z_hji#ZZt%ddEfNCd4gHK$bat{d2|N>wvx|ct zzXJ7?|a`;HvBuja0t>>Gz{e(*up z$=%@?K7nvV z(@Coa|04SF&7irt)7!m#j_Gf|z?kvV>wWh0F6^{mN?CQ><6_!-$N=zn=@JciRG+HUa%t? zG{Brl`4qm10}aqZGzTelrJ0_~ih)3GClD^He9EX0Sd?zm%_93>mjp=HXMt!cQd=vXJ2_*B@RFf$N3aNpIeF0%EiUf)_yH#UaG_i1_4 zrU&=meN1Ps_v%z$UeUT;mms7;zPjbU5X@7&GXukV(nnb<3u z)5GK&@4FdkPB7zghTNreH%*sn>n!#~*@WV>?5e`v<1#09yyed4Hr@T=KbGfLMpU)y z=qy+A!$LL%g$(P{A~EIWdDm}#^v-A39yBUrB0_tN>R4Qgj&Z=X8xF1>xCQ`Me{m-% z4VT|ZJpJ{{r=8e3%$O?=m2bND?~g2Bet`M+--^3f3%H{I_f_wr;QBU*^a*{->;AbJ zAEt)v>g((?@`bxMzg{z-TmPeLZ+rader-Ap8q~S0Ph6+`;>xbYd7b2e?MKBYOz1La z>C!o!Cnm(zw4YX2XO!l(ZJU=@Qo@#H=H+H(6|^EA7!Dr1Y&}okd&v2_QEq$R!}Xo2 zQ>t>;-1p?#yI+3e-qLGJGIFc?x9l9!w{4p)<#+Y#)G9IYo~75;KYqu_Rl7q&?+p!N z0SPfl-ADH#K? zS;_kS`_~^`_sApbSfAm;`#jTs$dLY^)h+S{rK?hi(>HSid2F#Om9@$n(2b0I7uT!R z^3(cLkO84mB4lJ-L=a*(BqK}E#4p<>5_p8MXW?P?v>_Y6J|f>Te`s}GUG>oUb4#)_ zi;6O{OZ2DoSGCXkPoLg@;N&R-vWtqcvr9?@uGgxw<>T51*o$IBL4GKX#XjLBkxF`| zC!w3&I{W13HO5yX`wh-bKcL>qIz<{Uj2eDtc6G{VC*_aOnSHHRA@9ih%tFYXp{fuF z&QKqnrpoyF(&uRI?*I8Ej5<9tebS_9(k zXy;C@KNeua2E?_jx(y^C={674!v$B$l^f;U+pT|3bo&jQ(AhczKC8_1Qg8qwA7a9y zQ`OE_lGq26hfWwZX&OpGH5PdB9AoSD8ZKF$_&ob{{;qB{^KZLWf0>1Tb?nAZ4;z;> zoB^YJK(#&gAlVrgM7jZ);eu13;Bdw6Y6=d!eK!Iz;|I+l1&4*bagl{wH+}I68Bw*B}1m!`H?>T$uORg4Zs6@RD9Vb53pD45Fzb2kv*ZP5fx|g>r&W$GiNr&L(W)cONiFtXnfGeJ6sRO_4{H2SEPW4V`3+JI}kKjsI zd*7It3{4`neZ0SaMW;KSdc!#N(*?trSQQh~p}2NBQ{HbmB%951wVF^}HGaaN!Q+R- zVb)&xhY%ky5;=Nc|(?FMR(3|j?F0AH7@G@H~syL zwdJEml}A+$A5r0IiMFd9v)c9<(z;b!;3@Mt7em1Z4#B(Vv1+~*l*67)QBHFGKel_f zamIBpNUmYouGMUS9xW%GH(p{L4=OKTnI(tG2qQ4`tNL0kz*^q#g+lKIT7$??&3$yc zCDlqx*Rh-wk9+@TNa@8o#*2Hpd)e;PUt+7D-^$B=IX4n*7yuI^!a zk$HPFO`Qt%STw5sN$(R{pZr5WnAUnj?T%+If4yPwz@7t)f66xF?PEVNWvc7`iffWK zj2YWAzFlI+-j8nBad2q=q1`$${kB(Me$pt9&5H;;c&uIC<299SpjG2M1_B-h@Q`mS z$OidAx~Dn6P&kFqmD{XB!Znn8_8-ms6t&^mf1!Lw`|-8Q)RVrZYTnqfUUPHNlD>NO z6Kj&zp+1{>(5Wwj?}*RiBS=Q2E5Z|PrVYcoL$d&PEuR{#zI?Va>)O5>5ANB}dudw5 zhr^BU_Zhz$Pq9AC?_m};Qn`ycQd^vQz&QKh`bmiC&#C8M3}Enm7gNm>#^1c(MJ>j7#Q4$p$vDIYpbRpY zVNAk98}E5w&xVZ;%0rBQ8TYd>@M7!eaD^fnR7O8^`t(D_e-4~JeZYOzC$XP3?jSX8 z=5dgl)K=e-1C7rOgHzPWBphf`IA$>ftXzA;miunMd2s;yUjH7$kUS(ce!Q&Tvw`Tn z_te@AoNtMzh`tt|yobIijXrsEOLBWz$lD#82C|4q+4weM)r~jr=JY+vKJ}un@u9xx z1~+w?6e@bqAYVhd1ex8a_o8$Wg#cl&MUkL;>D1PgVB<_s%A1e6Mk&v!?-<`1nZ{#? zGndP;=gt9iyp_nsQfmSGRdrzN<4AmSHG5R;a^18=cNiBw|EF>O_UmRWWPTrg#QY6o z*~E$0FP<`SN!pYVBPLE7IbxF9YUaLH#fRq~|LCLR^Pem#cyQ*6r%qjYZ2W=+<0sb5 zlg|&IF>U0i88g5;-2of*2Z{p+H?>D);U*^S%Jg4&>%mv*))n2-|BWwM#HmkNl=1qH zeRp+BD__36=QXKwYKPCB^v1(GdUkd)zw@WjZ2T=$11p)`>IXLn|JQn zynofC56A^!m0UfCxi~g*`KLZye#SL5J;h&rTlF^}z=Rw`T z4Ec!sDgPdS#`nSaYXlN|B#heS z&BADIkHkyl_=xlPD2xt7+kSt$PTgQ=@*}P;IxWHW=Hsft*3?9hyai+ohnC2fa79NN zdyLDjx%J16)yo_H@xr#p9^3Z9KTu`yuyOfE6pbFhOv5+p*(1n8|I+C3{=@&;_r3v< z`Tsk3QSO2BjpV&xaJpzr`2Woe@P4b`dk@L}ufN{h4Dh?_2OxZSq5ja-W`INS)7pb4 zqAA}iDA3`DK4z=}^hcVSREzE{D3nC~JI3N+ZYFAV{QQuuY0ENZaYwzuLr?6ddN%)lb|cAdx#4U1ZLJa< zTIqC#Ajg_j_%ny(n2y8%^iLsBP+5a=G(WH?%7##LX$~0!%b;jHDG>ni5}Hsd03>L5 z=XasD@%S@JSKN72?7Qcld+$9<`OoXGqX4K9l|Gy6|K%z5`MG|xsP(};Y=QIIWXq-e z!xoa91rHuF#H9+>mQ9p8I@{3+B0C(1N4+%AmKj;#Hk8bvybJ$JMo)o}fYZ~~k&4+U zug{)FcU-KU=CgJk`-s(CZEdWK?DD_7cA3xGTUZ$DMcwY=V;hZhd>xmAPgvLn&gg#RU~^$f@`2>~;;T7v~ZCd?oMt^8C!Vmdp#hj#zQ4gLJ2!8GI3!+P-;;@9lY9M+#X94Pj{Z&Cf( z_|p;2P|QPZk(r+1=HGyH;@{RriFyuiHSR`hx*M7NZY*SH8Vu<{XHW`e4ums5ISupC z6x5thS64Xis2_xa@<5pyLSSmWpF9RtHa68>i>F5$jLuIH=>6~KCz?Zey0*pYs1re+ ziSN(RXle3a{5|kUO-(IKEsO|_MFSE@4S$XYENk^CamU*d9?-Gqj!U27j-$d4&E|BK zx)(EC6Afpm)#9;&&$SjTYghfy{L4# z%nRW^LNqBcK8_fKql%N|cSzvM@2O?)snR6eQ*^Xw+|~DNF`Cf<2>$GJ6BFX&Vq@rV z`L#?G9s_HwIJTapRy=7ifG#K7@HuqaAsj38R)3Oj*@VDkw6B19Km@WltbsE zu!zVoYW~1+D8mZ(*-~jOq_DZys*?txkyn$ouo9ZbUu~_1&#~5Pwl+R+ZE3iZ^`y=M z;UR(OJ!63m$ATo)>EJy{M$ru}r3oN9e}`$wRF~868rFQ(7T~ky)P}a;re& zbk4{_;BRef&@9K9Ne>1T1S%1?^yM*|YGMpKy08KT$R)83r5qIK|01N^_b z4yTo6oh>W~v})}vN>52dKRvJys=qM3NoDHv=0OXKAlPiFjj#XH4}Z~u!qnq1pb^KEPG6qj)EUBS%})R0otpbB$$Dp zrC2K)H2GG@#%!Vq?gFRD6v)PQ&Ni_zR4ah4x!_8!0nxHF=MO_Ez)W&Az(u!1#!^9W zc;ezRBeQI7dW*HW9JH)mC))vMleJBv{m<6sGS9O17WmhD(K!p+S)j)~Ya}C>xd{U3 zFo6<$69s!B(Ne(AWt(M>snWNQZRjdwS)IY)avwTwLzBfb($i8?pv#)e(~ZFT$T!yp z*!cM%g*giq4|Mi*Xfj_TVJ2^cAD+v#mfag4}Kz9Zuc$s||>TJWq z>6T+{@&lG@pA#SUrnNyWqN`LdrAVio!7;eoIndkEk#n!p<4q$pi|NtEGf4f)Y{)T# znq&8?g1Uej5wp=_bfrIv{GobivVoQ%qNyu@BGP&)y;Lv`4p(b7u1nGL`qC%9owr6&~c4)He1&v-&$sEomfcW`22BU=q zpt0Ni2cx*vdOm1t2Dkz&aFt_}GJ)m;S&%o4UiX1*YHF-B!CC7C4^$POLxIi!o`mv1 zcB_ZEn!-?qAXN!EPW&MZdX*OpHfg)`AL)9c)YYJHKtXdr|96wftn-cfLs+_Zb#`vw z_D{}3ulI(9os_OLT##;d-T+wqEq4_bh{NvZz?kbmv_GnqWPimUs;a`M;k*Yh3?d#J z#A#9~1qO2R;lRvBJJFRW+6B?X2U1sJCaS9DU^cy6Aw)QOca0L|7m6*IZ(BDmQx>vH z*aJtLLE#v}twY~J@wDu=2Rfll{gGh3k`OlStCo9lLJsOPIw_^^B?V>9=v)0 zFI}p*E>#-n>=ywuCX(je)ANUR;M}8TtKyY&e(v7oq9Y%7vq31L$rYpLBrzc-B{n4t zV--;b5iLhMs6gGb-=|*tk=&0%O-A!O+H7D|YD)D#-_f(*&tCgMCJol58s~`Yj8u3E z+*m4j$aFhHLH$$@x^{aI3^ub%yNM}zYfMaApIjq*u87x z*}{U?ZSVzA13`3G5uM@9J;~fP_XH&~=}q_RgA6M9i1rz+)4g$>x+!tK>nQF)r+9;!uG8>4 z);X(PrgiWqH#}Q**+|O_4T5?FnPNgESHKj&91&DB!58KYSy*H^Hwge+!&$6!Mtj3+ zO`9~ep&v3(VH0@PV-+w5fF|`vg8*oRk8FbQMw=i7Hu5jxy+|P#2lBhUQ(A%SNpwn2 zMi-nGP;qi_jWK`|-Oyl{(TEor4gf`~C}uX81v>A61E4jH_mIGb_>xaP65U(T3<#<$ zswUyZgNF%cjCiTqQP2t!4l7HM=f#m%`%0<@KlQa@twe-GXXi8+oCLdK!||tWYZz7_DN% zykW>as)=p}@-Q$PK!@2xbQG}j`{&t1m!?+4lV{g^ZHmUwk&tX_4t5;2I2E_gHO}aR z81H+;BN$kpMY)kU?>g2OK0tJ{O^C+;Rq{zg2s3`%CR;;t&{zl9;nW*8mQFh+Dl^k# z_ltEwHOsnyxhR0FF`refEYf6Mf|yn|&w~4E^yY%_?SpMVmLx7cjX;Q*5fuH=`wzH31q6AM_|6ytX3c&!;MJLEX~Am?26GIg zITu0;bYrJ@!bKY55I%@Diy&S(jv*Iew4cC{+rb_j@qRAQ=-y_fr$Fa)<0*7b#jYc2 z;Egb8o{hMY&e@17e2h@By|E<)+kn)1~_9;nFDQaH5}0Z=@f*MT%|%`IriBv6yvGTEx2-1k2^G zP>=H}VhUQmtq<+Z{nJ_ee$-1l*)WQqq$I{EnCKcHD-sP+hpmanN`rG&leFp7wnU7r z<5J(9?+}6>Kjhy_h!2Ski3tydK^80r(a8#2wFQXtb6QGSr1zu1a=p@^*(6M4%MA&} z3)liZU@sHy{ zZg1Kjg=H+!5i|ZI?AgaXv=jF1tPuGs)}_gle`sAcXKlIdSrG%`@1zC4tu{cvx$)cygVypbz7Fij-R%f7T>xy$I z_V8^s=i6;;FkA5dkj~$G(HSyG`W8K>n)f4kq|YDt5w1dM+>^G(c$H>YyYHpIZwFh3 zY-LCVPU03(NI6lU4cL_wJkZclyoqds6lgw@YJH@4>Wc$$Z8ShK&A5Ul>|E5mV( zAg0U;TIOW=GLQLY3EpXxdE#vAr2~+8W(?QQZoNcsg!&b%g+V)k_W`pf0gj4CVKTe~?${xuu{k0G6WVAXNoG1}C*b2M*jH)7 zAA@$ESyC_T3EgA{Mk_dnmlU>CYNY9e)tv!1GGr;Q^?f+H&*V7VkL?UV(WBI&WXTxB%QSd->p&udx$in+zhfQe9-k6 z7CyMzF^!Ati{@}nPfssSFNT33Fz4ZV5AJ#_?Qg+->#S+ydvD!JMx?iS)bZ4Eb1M$b<4{6L}sYGFuw+dWa)bB;k zOe1~SdiJ=nM#9`FU)-{@WF7t)ZyttEX-2cy#R}vQX>P<#-{g%O+s$&NdnC;IEo=#1 zY8F8q2qL4%hRl{fA)<$Y-M$IPDdZ0Dm^pvzbH#ndwBDYigJz~BU)yT+5o0k>S1$h?5h z_Dih%4`JW)J#Odt>}*(yUTEE%$cxm}NbC`TJv{zfwE`p95Rp^3cmW==%9s&5fa45qEA(!w*>N4ebffxd@nNHH?8( z(Y!a^3o`OCd)E3F*4k_1vXA30;M&@-7P7CCvwZ|Q%_|n*_}l>7^{1m*GX6HYqhnN^WwV8i9!U>uOrUj;^h2!uz z(LtANyyYw0X9rls+4V)=Y>DnvQldCKNFt2;gXfOAbHZbVhzMDVL6ryunIRkghSR{R zSQXPvAZg*A;?0A(tWCn3^?|K~a84rLLT@3`Q&>H0xa*zaiE+`$6^aOl9AJtA4B$pL z-JN!#z(564$gCE^ib65u6$g-TipM)Me7=IcIkm}WNN;4YKojC)W6)$KGA%p{X)1Wr z8=gQf+l?BJU-El(uYj##WW%qNM-m$qj_GV6!DwwNgNXndVAQBM09q48R(!q2TwOBx zrmbs_w%MZdqqiB^#_T0y3!N{LgXn;*?K$2gxL)^Z^AlF-NE&iYB&WBS_$6-;Hpp zCRXOVl0cho%B$6)XKJ22IVJSIqmk)eIST_V?lEs>sv zq%!k1D}#`|PHz_GrbL8chy@D?4R3?gC-H8{n{DHWS2!;H&Gmb+dMVqP;SoX@~qqD$?IG+qPg~_z48`6aEFomzf&$B6-dm-~*gkqgnW%1AgWD!gG#VBfU|g z1A2qnvZjjceh#FE-gwfQ&|4Yp3nSLQ-}M5;9U%@BByE7Hz{C|qaL55#*nN zfZrJ}WYf4Vp!LMupn~{Ba>F1bp+MnQ5!|l57@@%5ghsg8dW_YqCmv`5cVYsKTt%RJ z2IPscq*-N++MPKbqB=>t8K2h-swYtxZS=mkC{LdM6LD2O~le(u7T+6X@~@$N+j zGt?Pyow=E)IxHU@`YR%I6h8#BG{MA2hkb(h`@RRjlv`J%yzK z4a5TB3hH}B`>pG6c!Vx#foCg5vpq!9DKnBVY7BKx=)MgO9s^enay~HmqPf)K#Kgq> z#C$xbWUBj_wiSm{=#myVw=SASnV*)`i7s$*Q;hy9P&Zwk_A3O_4QNTe6y*6dxC?L9&5KVN5pGEWrxW+y#deMTcG|v!cRQE%S59 za~c~R7Q)iyG#=Eze(<#`-L=LX8z9Kv;(s6qpuMv!(9AcHB}iRVHj-A24cvJgPzucK z5-#U++dp$Y*04&q$^T^i+- zpi8~<8syXn=TPpo(wk66g~v)11xdE)UMNvG#)1+hk`}(mNSZIAF-_>Cf=&?c7~pL3o-ckRynrDoW!PgJ^y?i$CmTod1q~&L573u?6xl$z z2wA~4R`DWv!jaHo;qYr3cZKq14&Vw4&rQdF+%Y@sp`6yv(LLdN3^DhJK+Y5}x%wWB zfmbtf#)Cc0?ZRm#aN#}@3ocuvL-3Ix)>_mm4?Yt2Zs2FrE8-Pv705LP>MTfwMF_08 zOU67q;Ps0aUhrr3vr`nncQ-hM?3!JN$JFN_xp%Kw{Jb_KTA?m%hxU?ZKS8U7Y%}se z$2dm`%=}c$BBI;svyF<%FHiob2R|wZYnuO=mzUQ*uRW@{1j6o`BkYeJ8+|?d3py@j z8UNe;qj^EvU*8`-z9#rXu3QHnA9MycW#x*3RwPb*4nUX5B=TelG!iymU@7#eajq>* zal{_#|9B5CUiIFC-#PvUS@^VG+Ksue@Z}Nb*mO5Gpk!k_ncL{i#gl=JnT-%;;Tmzj zmD9Szi)N4^waDXjeDL$vIO1Qxh=UDb`4%{ zDh-2u$0}el>0Mxk@X~0B=t3f1%zWhrI^2YfMiUH3yU2^lcWvV}%~(I5)*mX?myR3j z$esvI_>m|dKr~VdFt(g!l5OCnlr~FymDVk@7nYEB$q@tk6G89gP z(3DVwQxKAh7WN=e;{_C;Q@&B!6gO$1^c7Bim(vl*9C92Qw8&nKf8xHq+G1U~N8Ilf&%xB?nz=J}t#0jDw6}oROdlkKcLlu%WleX3WPyOa%Mc&;-p&5~ae=F7pgx zO*1oyo6^E?PF4LtnC>#r+VFswf#lZ72r9QB7!*D!7uO zmU-EkSL3z8w2uX+?JQPWDpfeUc%wrXi3b3wI*o@yqPS-6&086$!Eef2LVvd4vWsXCX!rfM{g(m z=)a+E6Y`S$ExJ7_5~-!gDaAA6R*n@sGDy2Zdeu~ncP0lqdHYaqOlCwRI+jq!3OXw& z2;D?%pPv;RwtW35;2OkxX??rHvOZPcDGod3uE8f)fn4x_{ z?l$-FTXMp;NH@X9k8>j*lB#>coxP`tc@Zhzs7Cfd( z`^EieiUGI8IN0D~92yvIgcSiw<0cHue97MMP3^Fy6L0bSUTPFU_T5CRkC;DPqM9F* zC9Dc6C~7T&29)yZw(bzXfZE63W4N}=`PqzxhlK>ATstU~x|aC4ZRO$cDSWJPpTcmW z3F3x)uLSrMDxFTm;F0RzbgxD$k9GqKL!>lrMvYOZ`+*leJRW4hXB#VH3;zfoh%TOC zdKG+7>3datcn*UFpKa3j$YJ;cd_2is&@`LkL&!A2huc&ZeCnljY&gC6kzv8mncP%T ztV)wN!DuT}acVp}h8fcl;h`8&ZITMw6L^}_N%$2!c)=#<6-h6r*wIZZrP2DZ@&}1g z?$&CGAG}%uK_M3^Ab0i%|3U@v#B#wCN?-UFYMrC;g>{?vSVeN)`jhh z+UMqEW~3&^BX|}b8WeyczXG`+Oyt1!Y}lpE5$DsB;9F_lnOAW>^PC~k5wa#D*Fi%p z7a*D1e>!d{q6fI7GC2S>O-BB!EThE?rNZL!@Ze^)=PM)$Q`!zFMxWyRyuKXabiiSg zkEpxpi|pG_r}ol5CYjNfV7kSGDFy3-LjZ~{0Wd%YirFQ^fRI3roM)ACo@HeQ861>s z4Vg-5E`SFHq`5Pi7La!+hIZqQ6vR;t$S9gSg#Ey~S?odDkDX{(*f0$pXA|N=LlBb{ zb1VNR-+Jb4VBI2G_lQ_mTG6l_z30M1?Z_^s`+(Rg{QY0j{w?Xd2RObJ(l1gv_KyM4 zY>K(R`7QTlS-!1fo1kwr|1I|qS-#yOy^9(m597l4JntZFh z=>;#M6-yE%Oh=E8jphKWI50PEdbQWLsJBK2*E0ILMS5a1Elpo@J(r(_zTNwK^h_Ft z4l9@#Sb!gh1JT6#6O7h;HWkip0-fDnes&Al4D3xacc<%MK zJV?-?1-E;>hKu;_f}kb-B)+41(rVOyI*x>g24inG?_qCkjo=ZE%VYcucS>)AN9>35 z(-7z6xbS&E0>+87=HupBzr%SnB{3${;o)cT?MFm!%eQrGjuejloBNj6URb`}B7v6p zHY2IYx_XGux;v$t(Cp4}q%f<=x5BUKSr;@K5pQ@BJ@r)2NK3)Kf{&uX z=exvv6HV|v%i*iTeWSU5anV6GK_ek^4%2#;`#wurjc9@6h`7RTx{Es*=kx7W>7+Cr z-}=ZW*b=jaEVZn=L!s`>kRz#9Il|}4X*bfd6doJUsC`7P2K&-r1_J6oik{G3~)I~2h? z{5w6xLl5!YR_T6e4%W*|^ZHI}q=)!!8*9($kwKk4%FP>qe4NDN&8G@89^RCp1ns&v%qB zISF?F^E!mo#W|xRt9(q*Etu#lWbW37iE37vTZvr3K*9SQKKc%|j0`b5+Buf*EcgYo zzLCCSy=~=0U2|9d7Sde2W!lelF67T-i1TxsmO`)g!$~o2`sTZK@OgLmj{MT>Abp4P zn`zvQ@3K-u#kp`kjn+Q!@YNxFr%QE{Lh)5ZsD)3FcR_RQ+7;tjd1Tv zeBaD>=oi1_&%cwl$(pM(z6%#Si*wP|Sl%}AzSOa&`P-Wi>waG>^BsS$c%}#|k+0+3t zKp&b{40s#A1^z=pAIFj6mR{e|x;n4%X#5u5sa1f(aimqA^;Scp|s_aA7Y0it}$JbTgWFXZ_BGct#)4+J3medp%(fTGp$d z9*M77TGlH9-ZZ}s>sj>a^{mF^OSe9a{&MOA0_Vo>fb-qJ*?u?@qwWPB{EZg59+tO! zr}VG{iE_9o+xzW(lJ>QHHw*8NhVSU@wXPTM^W9eIganhsS2xgy_gf7A5k42ZDcUQMc%bfi7DYR8oYCjKEZ=W zu8GGP82j*h($F2%CM5+^TN|5q5eQBTNhzp8CeM*i1qf0hc>xGNF4_maJNXyOdF7e= ze2nu#uS1A#MH0F9!d;9kQ~Y0^G+ksLndJ;v>kH(tEf;jpnQJC>;@AUMLkj zli1r?>Tcaf>%WXoZ5B8Wn{ajooW;(9U_glIHFB#Zy&t6}@uGqVUf9AAVdgnkV7sWS z(CBP8-#v{!+^6*o0%rJ9p5u4!p@!0i(*$!!uuYLE>h`ovB1X|dQgm3;99B_9>0dg?9$FJ>ilzM7g0CQu0E!NG&_vpRTe5Dn3Y3_1~tA$eroMqTG2M#8Nca>bFlorC77a1p*!x9@APD2@3m>jB`xrIEZL7Y(z!O{k6 zqMxuQm&H4E!DJ~jb-|OgK->iQaG$gRVyz5X3o$FH$l2BKbXF81b5&GFawiw;7$2x10 z5O+goLR$c07ud$T&fe2W99{Ed6gHFSq5@@jz@ZSB$w#P2r@Y)8IF6DN;zEM_9bmdV zIggt6fi8wIP8}@p1ckCB;X~TT_5e@hQ2{>*qqp#;ks-?8ba0`G7qzC*G-Mtr3d-FW zqqZjK3Xq&04*V!m2R@9%n{-g)y-Cosmi>!*lzF{Kh`b;QLJ=3AR|qc9x6CZ+DHP*L-7D1c#IG-a*ZU1=I6i&jK;29l#wICeP;R^&Lxjj zH{9#UbTifqnTr|EJU*T)DY|qAc)g9Ygl@C~iUuPH8XXl%S;{KtVUfVWAUMxY4iCkp z@W?%$w=MF8yU=Y)UYSWSW#kz(g?KYg!@ree>z-g{nE16&zjmLe9-X(`sU&~j?acnMiR-n9Hf8hYqQ zN(yildGg%e^5n@w|6?;7{>5t;+$CPkoxeu`^za&A#{(a&a~;+J9lRlg+5>5}ro0ww;;td|1_A2MfN+ZxKi!j_pjIQ=ucFr!W8mCe z)`GRj0Oy8hIRu^YCSnExmx;VS2RaYd|9{@6UnqI?4IpHOIb#-h4>ItB~&=U;( zo$5pBO@ttmS*=?`2CumTtY&sUf~x%XFp)0~UwsSWi5AF1gHfwu1soBCF5-VzPoU;$ zwjp{X#>8cdF>#i0Y1yGA(e4@3*?g{ASuvbjw||_KwSLf|8_aoW2aGRApHI%;G|p z6oPnbt=8VHwYF9()T&iVZ7a0(wQ6g%7PQuudaqi%6g5UYN-)}s)|~%u&CEGD2?2fk z_5Ggbd;Z2@_C9;>S(lkvvu4ejH9pJg%Ey6L5r`W%Ieb9a*)G!yBAkSov4w+YT1^vC znB1>BYSgI7qb3tuV<4vxRpBg0o&LWx|1o{i*85DUclxA^xc&FVK7CMnV49x$zc!Dm zXTFnf>#$zr#)P>_K7M3)$Xe_$?$RAk_P=xYg{(96dXKdUow;}gx( zZ8I+_LLDJE3elV<9a*f#sKTN7)06&{w9o(5xyb+NyzSqelThcOytF$1sjYL_yp5v? zd#TZ4Gyyv_GBj1?qV;1zVXBs1=l}7!jfqWY=UJ7~9>;+jQoRtVJ`j6ax>T2~vjjO$ z?VfPa8yNRYfS)`wrIhjXKRI6-{eM2kvGMq=u4n85GT+A^F&Wp=ox_k4J<0g;sra2@ z(PLYk1WjPJDbYLo#IF>Gbm*pi^u)=6mvexF?`AT76TC!Umni1whygQ=Wkw(hkJwKr zS;AEH4N;Zc-^MaablBsAH6X<*&BOplQi8? zyeduW8Zknt5few??L4-qumB-FEI+^4bjOs=_HXFO6Ic_y)_!N~QK!HM>|8@dE$|2# z5DesT79Mld0ielVHJOFW{1gor4i0<|kTSlRjA$!&jH@DBh5xdXa-nPe}SrcIHkc`XszZ?G@o15PmH2wrL z1m+t~$2b;i1-2?icWv!3={l#|RElq!6MwV>t6La%-=wXoLG}`;W^s*bhQnCtNTyM1N)Z>NEC)&EQkxOVnDECtm74 zQN@#M=ioFSoJwm-dZLIxshEeM%CHP>IR%Nh(l1~ZH2?KlUC4P! z*aA|X<-I0rA$(_-^>JIzvtH}YJ})+C{ML=3x4bc@sGC&As+aT@L$^U9Ypf`WaHUWDcP?o8G(ZUc65~jixsR zvImJXCzCahihXBolcxQo*(PgMG3^IB4rhav1(d#C_Px%0vU>!K4_#UxsAU~{pw~~_ zc=m!M!|C@K1^UE||Ek}qPC*vPS;kx=4Kk4iLu&~3O{cHrS}o!tn~ram31r;9GLWNh za^G;xHv!%oSu-4`5&1~^vRWhxrui%{dFIAuWcRnNp2}r$V7SPOz;N{;Ul-RD83UtP zSI*fqa%W3o0j5g$EHRM+evdTsWnBgn zqi&KJ<-rn7cA1#t=Y+On{3q09jyA6SkZK0Iyc%Sg_So->o7AjfYJ}0p%zVPyKg@iW zwGEl?>YM3voX~stH4ZVWif482wGPfMG^-tkRKZ93^(jFUPu%nk*4GV;?-SRB_FEZY zEjHj)lw<5=N7?9+CUz3E))K|i9d{){RRk>RWlo)G$wX6_K5bC`xS`|n#}*Ap#jixK z>RIQ5udMR{>lTHtmB2dOdSCMFRJ#a(?w8sTN;LRBr=}Vm=7jE+z|5r13@mhJ11lQ_ zALfjvr0&d-spjm{ln$L91HX>_J?RnQKjw_4#9R~qWJjt!u@;0c)KlHhc+ZMnIld4R z)<_01U0bY(*C&SsV)nyw8f3+{zXhXVX$ONyo5D3L7AleQxh(ePn)1J?KY*_iF+B^* z*mz78$Ih5Ot*WxDboel>VjLdM@nI5hR3>hN>rC7=K3o(*#T0{fR+OE8S)o~M?>lbf zamO4zwOU%iqzOfAj$m6>-oV@YTv1uk6B$bP5-U^UprgM z%+ahKkv2!GRg=9jvJQRF^bBg;I6y2sp(iyjv$5vfd@Mx|w#(2qE1%8U!=1DX<^&wa zB-#~0*>dH$NLC!tTE(`TT0uT?!muMnTNQcLJtkCb`}IhVk>L@_V10Hhi!(*T24^t; z@gH0X4sQHBjdIjY})D%yb3iybn-!BEHL8} zflJ^6bu?`%opdDL z9pi8#F>1EAh`m=*HAzXrQV#PK7pxHFbi6DNrN)E0?h_+(lIzx#Z)BBsMsPdj)2@@{ zhg|t7>BJIV$jo}|-krn3sOr9!*mS#vKUMI@`?K(#C_%H?8FO1rHjyuhl^XUq8ytP! z9uisUG3Zl~L>*)+d@$5Ry!VVXa;jIDm_nSXr<@~;@m?~~lmkQxn10Y_q0CIIw1@bZ zG0mPV9hgO|0IfHHLe`^M;XFzoWsWD4damvMy8mq8B%y;@R`g3+$u$pa9b;o@T7VJU-?Ulz#YQ%wM$`|t zKw@7e0zT(+_x^+}Q#~w#XJP4j|Zb=}t;i(GHRhzWj@ zvW~E!t;ak<_;oo!d`g-rC9KZE5hWb?ed{AFNf; zn0^o1fX4r%f5hn9h!! ziN2l7c@UnTxjc-})Qj1$EE@wO(l*%NT~nh}&BB_6C!IKNZhf6PUL8NF6;q&kEcLHPDb#~n&<$DT$5kmhzIdjU;Z|3=F^f!6GW}eU3)zAFG&hv?`vaCPP zLgwJ|pSTyM<}mh5u}7p0o4w9-AjbCpyXVi=(q5e&RqLSxu^(C1CJ(z0`4jCw?zQ(A z#})d9*?VmDjd=p=3Se=f*eBm}oRhxO7$x8AG|r-bvS46$8h_j_<6LoLlYVM-e6u#2 z=7;eAzq4ZM6K@8`hF+64D02@r%gC!H?=n>-^Q?SyVd9}{e*`+9O!C4KIY`>L#x$x? zVZ|US8pxoYb5ijoljWPk9FA)1;7t6=@&YFdYz~hIdEen@iSHpWWe7qMN&_NG7(+0& zxaA@T9lxUm9QnvK1@DZ|VdoTpqz@I$tHARvf2izOlVMwA)*)b{BXH06+ z!?3Y%cHCixBMGFQm91hrD<yq@5lr6(y-w}k4}!dJ=gM~ zw@%(yt0r0))=WP$V_EEAjXdc+hz_YaeqH<(`_roBASCdpO~n0Y?V3+Yr=|^jI9zJu za2jCjRtJfjEDG|9@0j^j1;YgZoI6w z^Mg_oVUtwEju5$GXs|Y{1p*TqM5Y%^^@ygIq@+iZ%V|)KHGL&{ZqDK0OkrI5 zlWiYUfaAUDXgiMfv9#tC1<-7a1k^?{5~UXJ6~D>KE@G?`gT#bwx98fxYSV&@n*-w( zev!2Oyn)y~Wk#D?lc{A*_isU?4;p#(FH7J4VO~>B;{YPFu!RZVWtPHHs|2_^qrjcR zK&hBSEbAq&Bq$40)gg5v&T!ujh4MoPECZa5Cx(c@oQRW!i!Cv#i*!-){5a#cX62O` zKmKCqZ}FZ&UJ>KzAeS}JVZLZw)rh*r0;gLjKw>6c)#x+gqh|eT?fTF*X*;R)A@--& zzW+a49kOTtI{#sVv-K-Y!@0@(E%FI}zQf>b&2fjo+To2kj`nBq{?DIVY;iwP_>qSD z&BR3eINT9cpigY^gE?+uw+YYFaX0HwDV~SDn>m}Nzf+gRj+hMAeb8#Olq?I;DLWtj zn!%SX?@b)i7hQkp0)M>TM-|{4mz#qp4n_qWaYh$nwZt*p1aC?jLNRk{?@U>TWB-X+ zSeNNieif27WeY`42L}WV|79O7@o22f`8qV<_cN-%`1|-w;^o{MPprVQ&7qe5C-#jq zg{tK7*RuJ=#(^}!Roz%LMvYd51;KIG@|-d6$_B=PZ% z5PZfPY(j8}g*Jyx3Wszl;qWo$);{=%#ZZI=?ofxuXY@z!_3XQ$PL38l)Pw#VL@gi= z90~u$j>0jFGNVzRBy>8zE&_(x z1ZPXm!o-U`(m;W2n1Myq4-C?jh!i|w_=MuIqegN@)3E&FJhP2Q+Ri-q*J=HzOzf}y z4*nS6%dBWnZVugY2sX(;SOcHVAn>8wUqo}Ijfja}mK3s>6>y}RyY2;EfRE#}KVqsT z&oG$KeSJS`wc8c&WevO^TT04;BCgi#Mo2Byino!qqKNc?rW3li1rA=D-LA5*>k*^) zXPF!CeMsW<{2JGSVjXGQQ7p&`I#V*qC9<3+MCsLF#GgrQ>)9%`fz}Q+2OsV z|3|&)SGTAUs#t6X!&NwvPQUCN4-sNH63&c-v5tr31j|)!5wrJpTozBPQwGA3puhzZ z^f1W?8iUk3{qqf$Zqj)XQn!5O74I`O7gwpwSYJ-WsOVT`6Fd)OWXb`ZPGd?s$BRols)w6e4%0@ z8JTPc3&EdNh$t@-Iuu_bkv@FsX&{C#iL2qu%+NZ4jb+{XDumR{ckTB!*R)lrjOamp ziNwwm2Zcy9qlqA-oP695b0U$CXUMdva(KhR4aL@%Z7ciw@Z=^nNELeL)vV^6oXkkc za2@OEF^t=x%vfe9CP%#5o)h&VnbF7@US^hxg)@nS7{Gc!paT&`2;ej+QBY7YxnQy= z`GuoWjVIgL#HH=541KRp+qr4;3*HxNt~l;k9gWSc(%HTH5)lwHqS?`m>?RfiV$rPF z8Pa=wLXfBWQl84rjxP41QI!2ux5_n*C&vkt>C?qydiuQS^Td85eh~dMq5;YHp_XSR zE>Dkq;q>@?b)?u$3sfw6B-WDgoWM()%1E`TU~QR-)*#tJnHeDt?ZM$Cy+I|p7(*t+ zkO_{7>Fk@rZp?8-V+uvpGyRU>k+vSK3^K84QZgu{zIVZE-q&lcoUXF7>QppVt0Ga_ zTBKK73)jw9Sv54Vh_o>lms|&Q>_lEiBiT`wU!7#?-R64pQMh;lQ6+1RJC;S5e%f7L ziia}x*f_sQ9-=SZpa!UU2p~HKp*xNknoqpn6bF&kX-9-6n_rSq2-8SruR%%73@Kj8 zE=?<=WNZp{rMELQwi`AD4P+Ui+G;*kT~SIT;9i_!3(!GaN^(UafJT>^pujzi>|hBc zmbrczgM>1;*|zoTKK=1V_GQi&UF3+toY|Vj4mqMcnh_0W^mN9E7Y#=kNjUu%X7$^Q z^7AL)k&!<(e=M7n(i)PJ-!nrOrSk@bf+Q_*N_F{_=h$(;X^Cd%3PoIkE=T$M~m#urOtDjFbXV)CDO zjiq>|`|#|$E&uecuer8+fEo@-UfGDTM82kpOiS|6x#&TU7tEsWAtmfpJlTVm8cTVk0X=^h?#FzJJYlG7J zU`9b7es0C4I>WoDX7f0e6`O)2oeWERx4U5NG!?610W8e8o!%#r4v`o#Gz%pwi-Gd6 zeN)Dsqb5!m->ZM-q>Yg?Lnh{Jnw;Ny{y)8M)qJBy%na@T)S9h*C5?2 z7jwK=W=`x3iB^1=emlVS+ul6299^_%OIDza%;$>sAIkqP0mp<4+KO#!Z|03qx~oj3#__ zuJ73k2D~{A-b{u`&Y?PZPng+Z8(Nx~TzxYhZ1ylWw>4}mUNe1{{!-_J*|l9WFH2k7 z-KM_8yliDn!&v4?Jv5?b_KsMQnkvQIR4I%i9rnbOdvMSlj1%JqkCW98nW32YJ2V8^ zf$_HteNOr|A|pxjHZ=zSq!l&iOkr-Aq#F!UQ$k{FF*^|RvDqA#GL$i&R#CjTGBQW0KpH=SwG&jN<`6uI z(ubpry@zAT_;F*$j2wZ4w(Jn=c8VW^d+~!9m{UfISIlUYnK22e%qaUPN^cAm^2GtcY8pu;f)J$jTJg9=AdEyUXtKK zl^IbnQa`PQpvx277Gp>xi~}h;eOSrVSz5_*T4oF*e{XI?ZBr3$utYlXNU4^Cx(p44 z*cne5e`hmaHFL)C#x8Vo;sfTZ@M9RW#$No0$&?Y1$h;BG$fOb0^zK9-#}7H1G`+_N zKN2mnXEf9z{4jXT0T1S`-|7^8jHO?s@q>ZyJmxP%jWaVGg*#=EAE>0v-#>;QqL}vE zacHZy-%!O~W{8tVFhlI&3i3NSJ?zbh}AQWLo3Qe zJL^xTu-j|Os3~HRW{D=f-54i%+n4YayQxpRxoPQ(-sLrya@JdBWO^|(=_I#A0kacn z8cvLvvufff0Xvg+EhvZee$%T4)!`2qNZK*+?O4KziXw6*PL!53@#u+1%d$Hg*86Qw zxYwlkXXdSG{QDkjgGYLwuep2_v&0F^5|2c;p>3hCa5#twDj2FQXNpME%D^CDtP!~G zQ>`@n;5o9!rSv(;>33?rc(|s&cCOwOj00!!LpA6_nYycA9{2dS2mF8gnXIhKzyPTRR_ zl8=nlH+c8BxvPxV*!qtcHkcV?4;L9vq<0*)U%F{zf6Z@N2ta9AD{Qz(d2Q8CTb_#~X~vN8-M94Y*`=Hl4UXHJA`+o7edjJlj9@@4-Nu%0 ztYu03WMDE;@I=Fw`XHD-VSOXEt2fYFBsOKL7$YNkJ4P6{2)7=4eD}8lGm?7? zz-y7Io9${*?{dU@j9Ngwao+zdk6ZT&SB~}7Fm;@U&o=b}bl4MIpQxIPA*{ z$j}&ITAA8QV4S&tfC#fIN_n^+vm%pRo3OE%OdY5EH>^!PaftFgDZf9w`z>GazdU?< zs?QjHVj~}-#!2~OWC0gHf`A;0n-M_G2xgcKTfy`Cr2!+8Jtf&Jic(*K{~Mf1MH@}w zFLvbPJLi)X|Pp=6ZIce6XEe$t&3sjlVKuoAG zG>E}WR%r&POQ+DqZT%Rh4p%=bLpS%SpPM$nKqJrYE(ZmuoocU%%KndFl=l^b7U;~mXW6$)nlBC zMf@_(r(#)v9g*T8MiUYTU0IXH$w0!;(sX1^+R8y1=!8^^JMpR7Y2&<$PnCDAE4P+7 z@9;+=_))g>3Wh#ha0xQafq|?wBRyP^W^QVZQ8I@ajidA;i6&>pCyRHn@FxxLS~Z0^ zXm7lc;ciddC&$~w)=0y<7LS(EeevcjBf;C9rAgtR9Pi)s!F!u}7TX+W5?85=V3OzP zTlP3L4rxc}(m``1*CB`)KYo1m_-Yx1qz-J%E>j2AR**)^Hgy86huAy)!(IZ;$8HvA3Y?mYz(r-M)*nUvm7^e;CNSuKw8c(v*Q1*Cqu!GOp+^$E^ z9_TY^=WHUltU|`Frh|?-?S1?#<&N&YKJa_%|1nzn`e{xli_lex%W%;7rj{e(lVw~# zyd@I#07VLIQ4R%7^>KSXtFgC@mvYg|MGx1x*xRrtijJ0svt_ka*KlGHbq%-OKG-ME zo)rh-Q3d^;J!^EfG&;7aMrgznbQ1lgH!Xd7sPvYDsYS~;$A za>*dVZkS3->UE~hLYw;3**3MA(|*{mi{&8Hx87)l94{{QmNNI^ASfO{_#5@DzGBX_ zF0Lvzt6oQrPgSFFJ?d$fr}wGHn^cZETi}mFyP85foUBwD{Q*n=G*R=CJV333M`s+m zy~;At=psjcO1HE0XY`@}ChrPPC;EQPm|`rtrRbGYh(Fzz4?*`a?rJxNA$isbtrtjFRpfID72+K0Mlv_N~3yHFbUYBK;a(oF$_yPH+A80kI0E z$Vm3-vE8@y#8F3n9OLBr<0#LJMIRT-2eW|lyLAz4($0YJhJW--;Cpt=Nb?)st}jg- z*VkJ+sB8Q93X9k?YbN+}_IPU>xjNP(_Iucj8DmA}S)8}2KQU&Y^NeH6I2do~K{g2V zK{Nhz3Wf|BQaq#>=Q$xnCi>Kcjmu^FYZ@Kf)DrqD`&UYU*C#AjFA$nhst! zI4&%gz_E0hHJ3EHZu0i3b7b$p5Vk>##`(2Sseb4S)=pHRnuBNzdpQ0F&PXQ_H3y;Y zj&tdu&-BL>edt#WIo{`LMvVgM1fU+NbZ;ty7+gcHD~_YG2(lgunaM)xg!VomnMTy4 z-lOXU0*88!LsSLF9zSu~ysURTi%;!HEOqz>4;(3o_unvdf=gluI%32eahKuYtAYt z_^;#FoO{KI3)I+70@|yi=gi!;rLJIS_x>&aYAD#D5?6h{vP?Z%IsMn)F>Sc6d$*y7 zal6iA)+au~%Ok%>TGTtQ0^!yl~5!w55CIKd?~4sro{Pso>$3>Y|4 z=iM;e`oys^5e5O1j9zT$I|Df3z=$9lmy5*SBY|88R^tF|ySx#(8rj0`kI;^7Ny^neh-B&1iT&J-t{ zggAPeEeV4L4#>kil}n}M4M?3SKDGP0z|EEpWApB^FpMwtCxBtl|2P<D4RSRbzox9dF-15w-CL9lETU8$PCEzf<(5@StJdq6ekP06Hc!Hw27$W`b;!gTWPomAg8#Hq( zbKdN67Ph_-`p>O7drVB$(HO3Y4d5T4Wbmfe5c5n-y|5g|j%n3rPa^%+9kOm(KjZik zBHhb4P5@-HACXD^_`>lnEOCY^&;=$i5^Dop-8XU;`T`k)WNm<1osrw>*TBF}mHirw zaeinxD2!lW0|hKs7!sTM$3c#R5nGId&n_Ob54mVeLGh^Kp+sTkywk86sYg2aULn2_ zf4BR93Z)aD0PV;?+AMxr7+nc-!AIFzWxAbajN;DdI;1Wjo0{~jd=9|KHvw;aS)&XV z(iaAMqr4)qB#s%)b{`M7ckPEY+7G&((wetx)0`>(zB!AGjN z``Hgan!WYTJ5hi>xcKu|Tyoadz*Sq$`um>86FUn0;w?)Gc77D-KI+TOD?g+EwX?v^dx zlL~gwY-y2R@F(Cf)+0hCZA}yc!eR}@Ud8sok;8c-oZ&NxqDgzSgyk6bGQt?EWOsJV z?Dztku|+6pqN?Q$K=-u>iN2d3&NmG}nQJuWd>Vl=D)9U*FTcD+FaFj&_gt!mo~mcw z*nNY#=9-W0U*6sE{cnBr6RNy$%kqMqI}4U?xmsNp+qrW@_n41n7XZd9mp%9 zka>YU(ht1FH7C>hJw>Q~KR{soa6sHth7HY!m_RMvLR>l6=#Bo)ijgdq5?fUU?;QG` zi2_Mu!XPWUrr~RJ=p;W)Wv`fO2=FZdeo?+5BroIHt?K>gzY0Df~{nnQ5Bj3*2xpQRqd)K#tVQ z81yVij3=HE=QyCNX9sUc?2%p8$@3iKG>6n#4!IfL5yJ-N1_(=0JGC0iQiO=jEQ1jH zjatpX2}GjGa=t^R4AH&LcbIX^K_@&!M~V)=wENu9$-QIP8+?diFZcxR2Oq|mWGwr< zTpP$fn&IW=#C*X7M<1l2!$2_V6+_yfl8T`yvF$4>4vKCMD#Dv-@MfePpN*f1(ZAuz zmEb^2P1nDN=I63dc*L+lc>zD<*D~$$kB4#*^i49cKpHQn3BUw5r#QkM_Ls613*8I) z>fz9P-@gwlb*fcgSkRTxnnu?Y89Th}(2Kxg&fgRBc32jtmii-y$1abf@(N8xspH0;w47AeC&F$?dClXJexOrb_-}!p{CEfRY?FnS?*57@#`|gYN_@I~9 zJx0Blw{z#9kFML&{hEjbHDZfy9<)<%OU1?Ww$)^fI$}g_fLNFCDH#lJJl+x^oJ*)5 zKN#}ao@WIa6Wddyp|knc9A@SMh5xmOb@$%KZr>G~bY$jmf5@;i#x^e*b#o+? z^_g|*tuwm5nIGytS>3fopL=A1uU^QA)tvLuJI5ZY_T}%~nf*~ERcgjdGY2#$6%a3o zE&PMRfgqYRTRFtGpz-V?tgeYxCyo&*u_t1klq(fht`@UFB<~B93=?C*gFowHzgYf5d?!|@eL0&n2ryd zY~XnKJaxQjazpH}6dqFH?^x%*wyHaC#r7Ya)?Lu}n!l+Xx#1o0@yRY+zF(U%Ulg;h4b~8^x zzdZ+)FA$dF4((F2xD+JMLE}h8mMvu_#$3zryu0Lm1nYk}iUr0TL5AIsAx;DyPYsT-1?%MZ; zc$3|Az{~aO-F47g!YLaTN{CgCAG+%>ZSHP&&1#PKg1g4W)_cWW$5{D#+g)dQlT+Ac zdlOX>R&E+Td1?3zFgW;hv`lb64u21OtvIaW+wNMUh5XoE`;>pDyAF7TYM;9fdfTZ# z`)$Z8(6_tmuy=y~ox9HTV*UVk9rXtJ9LHwh#=K&`++Am3D@o#z?Je<>uyWJz$xFj$ zfZ#B@wWY0aWkXv-;fmJv7j9@?-PBe%r?qwU+Q!22(z1$ETF-55Yb{*7w&C2`*0n3` zlcUpqJ-W|Zh4R{|jT<&Lx3(0PO)e`fEw8RP#*}qTVO!g(hD~j)P0heO^8C`t(<>*J zmzI>Rm|8iZuw-rFw8D}Ng=OW1C3AScw6NrY!m`T3lFfx<#uS#EW?>2 z`78IT!R44VyyUu#zg6I~$za#Scb3j0z4Q5IvNzqUN{=1HZw-ps#DNX+$Vz35DGq$EW}{~Rj>yN!G=+;4-*2DsPg zts~#yt>L#;DCu1XlY4PDozs&|{jKxrs5z;@jg;6-Ny0M=UHI6>@50CVJX-;*7VaB? zS_r>d40NHrjWVRZXVM-Tc+cMT{^ls2_pO_9I9qC3P8(ky?M>ltv-z7$IXz`f28Ru_ zswwb19gmItGT)mA4fWmv+EqRLw`GdFH~%Hh1IvE?3mk!f*1YA5CmSO|1}h}&HJ1Iq z`26P}4fDJK$kRd0+EoC|s9^=jMj`fa1@2`PdwO~FAtY=e8bD`q|??mW130f93xII;>+Gm-kXdpH+%1>p!a9o z@Ai4GFlJ|XJH4OcH?U1b*m)bn*CSiyFrWRa_ZM$3qtDCUbKXlV9OSXbeIW4_@;Ul) z2>X|Z5d?1po-`vlD|wVERHM}x?|W!yV_8owR^!!?oYgu}O;Sgx5^sx|jE7#SDpTdE zLRG3NRjsC~X==JUS{OivM=ETb)uTDPErfhLUpoQ zq)t(b)e^N-ovKb#r{iU^T%DoLRR5*UQfI4kRD(KKtxzjfqgtg_t0vXVe0+^stJbL& z)vDI3PpJ)RqiR!|)cI<&xah(OVp>;XNbJ?S#_DZTzyVmp+2v^puVWSq`s`a zqQ0uGKp1B^-b2}u2tVw*Qx8(chn8U2;Zu{t8T;(_9k^Rp4i`4x2oGX zzvl;PyZWKJ9eco!)lbwNYKPjXeyV<^ey;9R|E=y)zfgCpd(^$^m+DvQKJ{yLzj{FZ zMm?y0t9Gf~>LK;8`ki`2{a!t){-FM-_OO!unD;a9=jw6J<^F}YiwMwndjIY1_Ad7x z^uCDy*^j)3IBEKRcEvoUo>tGWX85dnPCc*w;$5ls;@|$FdP%*^c`-K-yL7*In|F=3 z)%$_>bv!?>We3P#y$94j^@@5`y{6jL>#9S&q25$)sknMuy`%Q4PIW-NtGd*C>V5S$ z^>_6T^-uMI`cVB#eWbcof)2)XjeP|HtnDGzCy9`)BRZ-HL8`NLj?UG2dVn6N2kCr0 zSP#)d^)NkLkI+Zxk-9*S(uI1o9;1u&SUpY`>+$+XJwZ>@lk`!#L{HXJbg3@W<+?&w z>MC8Wr|M~Xx<1=js)DrEb)#^lIItoAr5mjb5wQ z=@#9p*XvK|4SJ())0_19db7SjU#KtA7wb#(r}by_rTVk_GJU!JoW4STUVlMOJAkGPQ=02^ws(s`WpRB{Vjd1{f5|u>TUW5db|Fi*Y3TpZ`VK4Kh{6dcjz5@r~aw_nf|%HQ~$TVOaDUO zt?$wI>R;+#>HGAr_5Jz*{TuzD{;l4nck74r!}@pn5&e7psQ!cgqu!(cq#x6d>nHS+ z`YHXien$UUKdYb9&+EVFz4`_HqJBxgtpBR_=~wit`Ze9IU)LS_4gIEmOUL!w`W?Mr zcj^QBUEQVM)9>rQ>A&lL=zr=D^oROi`Xk+~6Tasw&O71+H$R9$DeM#Z)sOg5KgLo| zwx8qYa%}qmf1p3e&-VxWL;RusFn_o|!au?v=@4Uq(8x* z=uh&G@=N^5{uIB|FZ0Wp5?A_FeziZ@V?``ltG*`KSBK{N?@`{+a%N`DgiO`{(!# z{<;1Nf2H5(uku&>O@6a~p1;Ol>#y@${8oRx|0#ciztL~=H~HuLoBa#?3;m1yi~URd zPy3(oFZDm`U*=!#f6l+c|GfVN|BL>Y{4e`o@xSU{>3_|?%Ky55wf_zO8vmRAxBP4U zZ~NEz*Zbe`Z}7MHTmA3)H~Qc6Z}M;UZ}GqH-|FAyZ}WfPZ})%b-|qj&|FQoQ{|Ho^V&;PZ5zyE;$8~;K7xBf1FxBrm;u>U*% z5&!r8qy8WKKl*$8KlzXOk8`rrlm1iw)BZF5pZ#b3=ltjWzxaFo7yK9fm;9Igzxw<9 zSNvD~*Zg+>b-%-Z!++C%%a8kS`|tSsIi>4>|E}NVzvsX2|IPoq{}2D4{s;bt{=fW> z{BA!H@UXpW?1urir(i5*4@_nt5{L$3oUNA~$O+^UA$kDu;0AG~_+Spe9vT=H7#8#gq!u0-!{YuwPdGBEet zh7GYbt2Z<@wybSvS=qe8uWwoHH@2(}u5E2uy)n43sdYn3u+{v#)cm_i{xzkRS4<6V zT+y_-!QRcT$Xval;rvE){c|%LR%~jsS8dH}SDLFpQ)}xQ^J+!u?2MJIZRa+wZQUGf zYi()Wn6s{{fs&IH!IC?4^yb1@e!ojO>@G2a<3J0gc!KrX?Djb{& zSAL}{x6+kY>B_5g92NlS37#E-S^d1?zzLW+TmI4@T_*_SG)47UHR1x&uWKfwZpU8!R4?E>86!a z9lWUy-c$!~sw;1*D{rbRZ>lSAsw;1*D{q>kW16F5nk#>rD}S0Rf0`?Qnxki$qhp$* zW11^}nk#>rD}TBxf4VDwx+{0OD|fmpce=xKx+`a<`);QDZl-&Grh9*;!(*o7>r98w zOovacd%xDbU+bRNCZ9V#)jGJf4sM;pug-m6=gO~h-_LS+y~D5G;WyirH{0^Ps?ir`+^W)Kxfb85Qj2d@spWT7spWT7 znSqO4CYc-jxHt7mZtx&C^pP7p$PFIk1`l$B2f4w6+~7f8n`KNe8&|Y4D4e@C>r1v9#H8Jei>y6P>&F3etV;ce7l6=5$vaX?Fg^XBI`s`Xu z^z8cChB>om&o;~>pA|Y~^2T*5)@QD2-L%16<*vZ0wiXkS3_WWbSG7fxKeRQk$UavH zObt(2=2l*m0n9#3jbZ~=G;dh3Y2B)|jTfXo7|`=u@~gDhQbS?dZ>i#J>8V%p(rDbk zsMOXNnrZM4)!MAiX0vQoZ?oApn`5)NHk)U&6Kr;(&F0(eB%3X;*+QEwGFkT8h7GIH z45VJ*KxnajxWr~lZFZ{7PP5tRHd|)1gB?e$~&e|-f?Ae z<%;AbTOt=0Z!XZ0Hf}^G%G}W0vf9*F=E{bR%?+&=G&fl4*0yX~XQ(q5f`ME(>f|!G zdUC_sHroj0-V$iu7F^6vMpKd30t=STpC8&ddE>^?ico{iR@jV6mmjHL$*2*@sI`ry zl_B%2(mtzn?2>{bmNo;!5GPlmlMVl}l3X_p-3&OTGiQZnL2^S|pb4S_OXQz6{)x;? z(I06@U4~~`B{JM#^UzFFRH(t0IJ0#%6|*MXVDo5QPX~#v=(#qK%bW--E3E~C1~k*q zN|S}_9SrQrqOgYQEsRE!Me5NTtuTl*rY^(v4sxT-L-n@AMw3P7^uUg;?zy&jlv|Nr zR$dmHlhzGmtJ7|xb9=suHuYSG<{4oSYBpJTp2HkLXE2{kiqndfk9ws~Y;3Vl8A z1l@dI^n{**qv!Qp$4*ScBqqWsDGpJEMaxEql`J+t?NMxP+D&M_Wye~R1?B@du$F&9 z3+(qT_WK2CpTt_yZbA#}_bry4Ee-2iH@0nPUEkCgUg$_}btEseB)6I@YhlwSI?;wr z>(;XJkky)g7dpkl-e6&$k_IleA?+q~iiN$wW{d4t8%-8n+{2~l#-3|avE^lU%q=go zV{Unw9dpZ_?p#)Fb)vHBiqH~Uc$>|Z+DhGID|M-(aFe5Osikm}$%0FzZv;2VzgbJu z>C4)beivTqDu0vBqo?&?8{M3Cy)5ne!k+8Ua!dC`CW|ajHJ!*ssmt)pdh;~g&}g}{ zaO2vBjZOBtHSOAVcq0-r>f4&EY?YpGuA(!|u;i}I*XBBRW)C{KKS283c>KLh`^=ZH?`sVlC`aZz2>w5u+&P)4lUK*0~`hGXB_je0= zaE>laD`R0=84LTA5nb5xQTD>#qo zz9`(11tK>^?+W2&px*D&RplEOFQ?pr_`vG zapw2jGzn*Z$XeX1`z-GHEN@Ag)U<_Kv1YHWP&3ytC(_)59&SgBG&4UB=q1eDXKBqM zH%)+5*UNKDxYzj2yJkbr_<~U5ieHgow-(n~t#x#pzbNl@^Z519QPo3A2AxAMa|ix%uNQ6 z%tfXkX08S~qf_!z^J8$0AQ5i0;LQkEQCp{5HpS8j%IWiI%)M`lh`ER6CSt5u=F${a zS?Z>|Zc1C}rm~f8DqHEMvXyQsTUqL+*lw!Iq35=oGG}VAbHCEcGB;Is!*FGp`>xDQ z&C8r=q0E^UoIXa-bX#7zE6+|pODiiJ9FENqiBnnOrv4SKoJ#k+(tTg)rv8=g{VMl+ zmHWLa`MWbcR5{Z?l`{!cIee??L#G*GAKGlQ(~Lk4Z8llvY028k+?>1$Ewe9PXtQxt__YpxvOicu9`8B$wGO^*Z)Nqiy^%Zk*5Jpzqrc94yB$O52>tUAM8# zk$c-MDs6Kst+dUJ+<+rD;7TiPHIlpTYSE!vx#!c}`_tXMZC-ruy0LABrIpj%_ioNu zIo+@sJPkX@-TTuV{?i=(wpjt+{cf8P_wGB}EV)nO?Zl()PT=X@v!>3{D!WdE*Pmf8 z=HT+!3;7q15&peQUBGHn%LG1F_<)JTRjg1`@yCZ9F)~?W%x$)e1_SoDTqI={jYj3PN^zH1q*<)j0ik+D= zBQHA^$+{u-Kxk{$Gof2@Zk4}m9eW`9uk49AH)c_Hu<;@!NxOKvPs)ww+?s@!tb^zt z`Lj>tsqh<&buvZ&C4bb9{5i}dkDZy9ojp-%Oa6erOG?h#3)a+i)~;B@K!W48j(iURR%U9H^DMPhJNN_s7$3TccxT;- zKj2;bmE&i3H>LiHze?kkRfU(@c;cs^W{@t(P z75F+{Nhh=8_#Hd~yYS;XReXl<3j7d1qchlaqrJ26+Y5W=;IS9+8t}*);+>1P-6XFO zFS{vT6MlAO?E9Ll=6dIe7o4{SFSvEyIy}~{_txW`cANJpywkRO8}LuN-PX39$wqi1=)!VhYp_YhuCi@ZnhgIetU9#5#H-lO&g$D;`i6c>C~p z`keO)K2M+bUd8L_i+DJFS%2AU$Mfl{_$+-5@23v^b$p-R!0+iB-kW$nebajj-=}N6 zINnb;cyHtRwADL+@6(OmyZS@l^SbaG8sPmC&!BwHVH)NSQxQCaMyM#BK^%@GolfI$l1XQb&tVkD7%~&qZpsc=4zc@ZkA^nvW09Rq7=1*-=aI z*LgsliigdE>Qa1c9#@~mf95%L75+1O)z|T$c~M=Bzs!F14ZLLDRoCGs^PajMPno}| z?})FAy20;eL-1DoV*=_XJY+J|&G^Q|)U9~OWUJfojTxY}N&o1+gZ{B3(XMVw)G)T) zhOeyhPE9;Oe~Hq*kH=^BZ2F7B<1mXif1Y@dt6aHH?Bm}D6YrX5*?8UFmx%K$$NNp< zO>Z}QzaCD!&aZP5Z}8+D^VM&7V|Sty|J>cY^CrJ`C7$*^OuVhi6LH197RuU9FU+Q2 z#=LtHZv*9O?>Atwn~mwWCGJ;0NW7zd#JfM|n>)$xO1!UrL8!@lI4JX1V5lfj@alqs znD+`X>bnw;0O4^JO1!2X_29`ojdy!jAs{)smqFlE{||Hzviy!k!edC{Wm8^*t{Bo6T8U7ozllXv0K)70lHiFWVR z#Cw!80I076^>v`WZs?t1Ah+{HyMz3?p?4Q=3TK|?P2o(t; zxO>%H{gqmN6>n@?*YEK4et7U6JUBop`}tx&cy@uwhx{6%KFUd_CEk~BptXxO@K3{) zcX;x)nn5~^--2owT>Js)M^OHA@;ei6LDyX9yC<=WcKM9=TiU?Gw68Z4zvJz=8c7>E z$&0Fmq)*b8k{EP?Tc_8}K9zE4o{`uK2Au{!;oU3XcQa#2HS@{l{ z{sOgoc{+!u?|?yAEriz7i1MSsZ9i|lW8OcXt0#H?Io|&Z?-v+qPoj*4)ZJ-`Q_Wi| zdF#24ed|2ldg!ok1=KGn^&aZsUO4_M!2y203qRk5pYOuYcX{IhbvK;5C-E?EJRi^LN+;`ObC2vQ`EUpp!59m?8IS)G*iOIOw}`1)zex|3SGEz!l3cMKlC z1k$gN3xe4j{PGs>9pIPO!0eOMm*7Kd;@^iIC7nR;6zE`m8+CxBF!;U=W^bihjgoX{t+AGTxJS2k~wm z@9q;x&%1Z>?sL5R9Pd8IyU(FdMS*@iz4UBq^LYASx&(iQw$>xT2Y}BVXgCAB4v|xd zpLlWl;s?mTZe(fzc{L2_HX-qXnuMGv<-VFU1MH4ZJP!@`sl~{zQ^9DYH#*VGSoBpm zwAlMLE%fJ!_1>L{X^bU#j36_dB>NM6?J971j6QQ2a;cHhK96i#MTsvU8Q(?z{S+DX zdwBRm`qA&8?R{utNzi_#?IR0=2UXNjD3;PfhHkRMYe6MF;4SU6g(RdEG^C z?4pzdaAg@I!acOGd!heVye;F-`|$KqsNI?9@_xo|_tT=E<{qgH{FmYH+v=CRmEp#~ zyZL4xFgl$~e9MgqjD@`W7IMbQwD-+8_@Iof)U1_h2iSqKgg&_}@wm4pvDUjN(E{u` z?~25ay)PzihF^EnQVw|cCO+f+I&m>0^A=jng+TrplJPUNxKDe(Ph0|iJE*Z7?{#E# zM}qw$i8gBOvtaf!YVOnU_GjL|xbNm$V#`pAp9bSgsmWDf{XDgK8MS#mwfSkd^mA(T zChFi4>fi?IU@djfPR*`?vTNYpPpILGso@;B_zfAUpmPUp?jGvp9_r;D+T1;i?7yOZ zL^>USUvC>(*#yLQ=r=!ST!-)I6=(>iExc^BjYsH7zvqpoX??GwcXZL?%1JYjtH&{} z9-r6^F0ZTk^s)u?=F|91;P>tuZ@~Fsa7}9S88hvog$@Y|_$)G;+8O`(I+^c*g z8r7@x$yex;R#PbQGLSwZiDK|sbk4cRkR^#{>4$F`{c{cX7omMzO6$A={JzN8{&Vz# zU+|pq2(CWl{gSc&K5G5f)Y@+n9dP$vXm|teifnxz?mnzOMN7CX@gs2jBRD<^j*rsX z9;Kyq(bBqTY5S@7!Da>-VjtKgfop<;g4YE9#jhN&%S^D;>;XF#il%|@bly1z&0w%M zNN0P4^|fBHzK;Am-e6`LgZ&)R0McxB!pikB zH~9Tq?&jU!lJ6ot#PdDC_!G~cAb*dM(jx^K|0CT`sX^rV z+z+9ahjKlfG=lph$O}lLxGwVssi|B~<9a&Roc^j#BvGSkDfxNbkEs^Y2GT~-dzAY= z>2IXJlm0>aC+P#yhlyu3uyu$OCS{N^NjZrZbuKB7G=MaaG>DW>8k~4b4dYWOUbDNUCwvZgRUg6 zBCjTgRt>HCXwnSQaikhjEom01p6Aq+o%PG(I=A6Ctsc@)$6$CBrDxYzMlM3 z5HVVfa8^e?{`1t$H)hAGS-m9n?5}7 zM0|T1bk@m>&Z_dE#>`FdFM3V zKa<}Z`0ZTs72K~Pt>(I!-&%ODmG{<@e~Nq)zi%d8K%!0hmy>^v{0j2VlYfEyD|~k) z=_(TK)W4o@zr(jTkZ&R1O8#B)8_B;%eiQl4Reh2vu@}B~Od4vDoq+gKGH~n9d?jzk#+67*_$sZzrnEZF-kC6YK{892hkpGc< z5BZK3M1#G5Y?5v?K9Z6(PMxdY|++(%(t{ApMi{LE^J|5~+kVh4f+Kv%XK7Kw3&_ zA+0A}Pr8A$m2@NNCekgWTS?nU+ex>ReoVRpxTCykbeL)A2h)+Z$0T0x_Hh3Mn%ZDw zc^Uci#7jCm@q+#w`R7SrBwd?$M_@{O=1;SD2gtDvnRCM_N!ZNv2c8p?`lzpMQu{=J)Zpb}m59AYO|Kp$8 z+xs$>NA?HGPCs@RzscT4tS?v{#pd`C%Nf`k)hO(g^mT7GX%1-~X));=q-#lck$y|s zMS2hU?~#xz$ovjueFt*B13BM;jPF1OcOZj1kii|u;0|PP2ePvRx!Hlt>_A?2ATK+R zmmSE<4&-GA^0EVY*@3L=Ku&fbBRi0f9muf`Iu6xwsE$K*9IE3`9f#^TRL7w@4%Km}jze`Es^d@{hw3;~$Duk7)p4kf zLvNr%#p*jxLaj1?%bsVbWP#uTrI8?`>Iu6xwsE$K*9IE3`9f#^TRL7w@ z4%Km}jze`Es^d@{hw3;~$Duk7)p4kfLvq#4U z8%h{A;*1M%WOp2S9Y;3Ck&AI;VjOuGM;6ABgK=bF964u8-$&{DD19HL@1yj6l)jJB z_fh&jO5aE6`zU=MrSGHkeU!eB()UsNK1$z5>H8>sAEoc3^nH}RkJ9&{i)AOS@NyGZ zsPjlIqz$Bv@*6!kP7jXLgX8qzI6XK{502A=I8G0a(}Uym z;5hTn05j`M(&^0M&LG{5W;le@#2lxYw1%{nv@UTyIztyaLlzDL(e}E~_PWsYy3q8x(B8Vx-n!7-y3p3T z(8#*b!n)AFy3oA3(7d|Py1LN1y3n?|(5|}Bmb%cEx^##XCS{N^NtB7!(uKy-g|^a# zM$)C{kmiw2B&{R0l0HScg+v5RG>9&=gD$j#E=K$=M)@vA`7TEAE=KPzM(!>~$u367 zE=I>LM#e5i#V$s~E=I#HM#3&e!7fI?E=IpDMm|erJ5;tqWjj>1LuETuwnJq*RJKE9 zJ5;tqWjj>1LuETuwnJq*RJKE9J5;tqWjj>1LuETuwnJq*RJKE9J5;tqWjj>1LuETu zwnJq*RJKE9J5;tqWjj>1LuETuwnJq*RJKE9J5;tqWjj>1LuETuwnJq*RJKE9J5;tq zWjj>1LuETuwnJq*RJKE9J34w%V!L-Vv+-k?@%@DB9i(RxEsWjU8N0VLc5i3w-md;m z`UmNsqz@9?8ONSv{NB#^y`AxUJLA}sjAKtSj&Elydy=tyJLB1ter}?LG3`lz0{2y1 z&*yq6*G=SWxNqTlJ?TQOze&2D>l;X0NjH*iBHco|m9&ktopd|t$D}(*Z&FU2^bYAC ziI#vz0v@xS?CxF6Pj*3J36zyUSqW5?pwsU{r{9H6zYCpy7gUx&WeHT4KxGM3mOy0* zRF*(t2^5wJmw<5z7?*%?2^g1vaS0fg zfN=@?`2&gb>9yxGf^{OxiO)}(M_No0JM-y@z4Ye2$n{R-dM7iX{mAxCdiP%BdnfX} zliAOHWPB$wzLOrm7dhXFobN==cOvIIk@KC%`A#Ik`Kp<;hP0NnE^$7xzZ2QtiR|x0 z_ID!tJDFkZXNIw#8ODBQ82gbHdyy7<8524g6FM0aIvEo>8524g6FM0aIvEo>8524g z6FM0aIvEo>8524g6FQjz>}LkBUtdMKnsg26Tcqm~dl@e}(f0Qvh4!N9??=nu&-l^F z_|b_}+RGTyiDcS~WZH{lIv>e&K9cEt#+6Q_(_Y4wPR5o_q|{!cnQgAO)a4)N*8;TA<(E%tr07VC& z=l~QQfT9CXv>S?cL(y(&m(I@GSF>8gOk1?8(|LXdDP7CDoBO_+RzB9oAy|SBp>Zh= zm1PY$s@9O!lGb_AezmYdW{jgrV@O4$v7`ySJCXEnYG{n-Z!(_0$#~9e)Qi#RzOifZ56d@KYwlie-U~6Y5V`H zExxUyA|fj4A5z6uT8xj{qEy8#Dzs5iqi#|bA;Yqp1Z1)ygoi-p|2-#(Sss1x-}#)K zvom*QXU;kI+~2)(=bV2B_3_LROtA?}u?bAE2~4pGOtA?}v1uPf_;-GT3hidjy9H`O z7d^~1j5S^dZ4S1$&q52JieQU93z`hw2F-(Z1zSQ6<>ZL19I=%nwsOQ)j@Zf(TRCDY zM{MPYtsJqHBertHR{B_1Gr}%MUCa79TFW&ep=&1aoY| zZnx=KN3$LW-2hF5I{#%B{KL>}Nd9p%>n%_d)cNn z(XPQSUd#GTXf^w*p*Z^!-08Z&<0_lzkIm*v)AY%z>62AcORK1*Rn*cdYH1aLwuKW}PvV%#l)shrZLA;UT(j8z5bK9oKf-!8>qi5RwsI2^ zYSQ*^GuxyM+`?Mg!6w$*xrUvT*+rReD8DE0Xd5@7zb0)T>H7tPk>X&axBw|0gA~^y z#U_ zw6OqfEI|`X(8LnZ#uCuRS~Ri5_TlasCqokp(8O9hoZlm$bD&YsSjt=y3`P@!(ZpbT z1>1fET^}5SHkP1?wP<0joyoR4p$9qFL(n78qe05fW!vNIe==xA151$p5+uLGwy>Rh zNBRqp{#qoTLh>ma1l34?Z78300aOI_3|i5|5@G^{f+(7ZqKSoQVkDYahb9)Ii6ojx zqKTy1_1mmhQ>Ge{amu#WiN$DSF&bHnMv`bGiAENpk#*Vi z0j(s_$~vtR`S1l$5yZ7K>uOlA91VDAz(WHbK2JPL6P~4sdf}moghc9hHs>_k6heSO*O%t~5AyE%+(}ZtrLXsYm^zblE_}C_F*+X(3 z9;FFy(u5~z!j3(BY!jZN39r$Fv^=EcA+6;|$HQJdq~akJkCuNJK6N-x>qg*vdA5Xf z;z%csbmG`&Gg65ol{8XGW1m&nr;mL$AfY(+*^HFpNGXn#;z%iul;TJ!j+Ej^DUOul zNGXneK8KXjNGXn#(nu+el;YT8J(7wep*RwXBcV7FiX)*k5=tYXG`3ieE!Ja;_1I!P zwpfKN)+4nzw&)|ZG`3iU$~m*k2X)*Nj(az$-K$ z;W+kJh5a=n={S;(Bk4HyS5JJsBN-t$8tF0CPam{_K4=3Ps6zvFNPoS#i{Epgc~B)~ zUuOLZ>(%W41fHieXrj)nVJ%*wiS>4#>pIL82s8GT$2!8ggl&v{IgESJe{G=u+JN-y z=)*Q3{W|9|%3T4!jdd%u9ohlygmyvSK)V_L;+*tz8|ddYxH(WRRLI!sai*tx0`y&o z`=H<3;GPO`e)_!)^m`jz#_wFl9GG-w8NPf&+e>(FW)T3wG;*V7knaCdW_0O=XV zX07Q-zqkQSuSd)4?I3;+;Wz(*rt8q?dOMzNSMmFLe*c8^jnGYOpUU>>5OSpd+(7@i zK|RSF%00>Ur=a=JGZ5pgb|Lg@=y~V`=(o^f==ab|(900xjr6}8=zllR|8AiF-9Z1l zf&O;`{qF|)-wpJ?8*DAK2HM1Rd=2>!y3v+;H)~pJyEmu{^)$qXg19%LI}W1`4QF24 z2(^F=nr`lBnVYF^Xj)t57Bsp74K|~_W@%l~LI!CzBh6-{*^D$ZNHc>3Ge|B&9jQZl z8R|z1QfsDuh~zRzYz30aPzUO;|2k~G1)Fcd=3B6Jq@=B1hC9e`2N~|585^&|rnz!$ z-7+R-ipZpQH1;Ukd*wW!_`WmMr__Q+u*kci|7^0*o=pLdyMR*@Vm9xxQC5<4k!&f z_po!190jA#8{!P(A@kPk5<4*T}7Zx8$Sux}6h_UN^wU67>P z7b=4o19ArjDS9m_dMzpUNa!f&=%A54Un70KM)z2VXQlZ1TIz%6GFOW_;nB;M@gR?$ zwu}jR^tRLVw$t>s)AY8}?zzx;5OWl$Hy%B188h9wcn zwafUGXYb}b_prW~-}kY;pWm}6_b@aYniDLt=%3zvn%;bx-hA4=0WE{xg5H7Nh2H1b z4>)!u>s74(%9^rIZ zgnkV@54`~W7FrDb9(oCS8QR2ud=2@~c4#N(5hP73qiA|>(7=PMLcC)k-mwVpn8rJX zf^w4!4GSuebU9M4M7kA7wgMy~NI8uJ%aLFOp0UEY34S6p37QN|3CfXLC6cPZQ&!+9 zEAW(+NU9PkRU)BEq*IBP6hvErR4PHP8DMvb$c*$&Jn&xgQxtmJvrjom< z;7-!qMVhOwBwp_@aQO&y&5RSSHisIM6XPikbduurBtAXGm2Tup znQspL3VMp)PxEBbKt)hbPT;a-&tJ}cUt>mg!a#bt$yQ-C3)kdyrGgq>KD_O~v ztmH~IawVI2GQ_L~WY@w~Y~~8&-!}T1t&rN{iY`i`q(y*-A?& zz3rt~{!%P|DVDz!%U?>1)JlugN=wj+$8W`>x8luP@#d{q`BJQWDOSD|kKT$0Z^b*e z;+C|i4WYuT%-{5vT~UzcM~)bngmUTrUc74_cG4C zjB_vJjh6jK#J|t1Q5hBQ90`|E@XitN&e88a%$E8Gqu&P|=^hxYqJ3UP`@D+wc@^#R zD);|8$~~21r$e^{t7tPbw3n-BCs)xnW@sB%(KcpuG+RclJ4davN38FrjEq{}&-&jP zt^R;=tDwI@A3`5PpFp2M*(2G1=QpF-L{kni*DMzr$*FqbT8e>|VxXlMXekC-ih-75prsf{DdvuWxK7Yf3}p1}Gu@6c;Fvz!Z65>P zV0qSo24iS&0~(BVj04BA#(@hM2QFY7xWHaX+3P6NJ{BAU;l!+r1y5u94CrV4{%`1i zAbDndFKc;jyziKB3=dbsETRlEh%$BoQ~^B)ErNanF`t`RLK$WVWtbh5v9Ca{ajw^) zKS9iZx67cnpm(5mp?~&l`g8Vw3DrP6r^Z@h+2hD~*BWO2w)Yt`(r2VjXS7eWoAq9N z4gC@#$d9Iv&kPxC%EzXB?8&FL`q+_=9r@H&A3O3nQz3Tb;~kRNlFu0nskJ^f6?r51daNm*ljJ7VlXcNVo$MNQIym=gN9><%<@#b;7c^q#Z$D7CT=5c+l zP{*~^A%PXNY<09`b+lx4+}R3RusT|>MGk+5KP1sb^Sg#M-R5+!}z*kj&s)k!oMFh z1{;F=JInm5H7N2BJ^@b;vWiC-<=pQ>TYivF@L}+a;I-go?yx7jm6+*o==aa$n#al^ zZEeAeT>a~O|FJC-WP(cGiQp5=4SEDO1~)K+oZOM^BuAMr^UO_fij-*^7K{(>C!2-| zCbbO+J`4Uswzhvj^#}PdF7WM#8F&Z%1dD=HP#ZkawG*7Z-=|9+LCJo*OmJUN-?lSY z+Sb_iQE&=R!c4Ge|1t;u4yIAAgh7gJ!i>EHQQN|^Dv_e zODtxKP%qxn>8J^T6ece{V*^Sr*-OY*&d+E_)qRaV_s~u6BFqyl#pFZ()sJN!hk3!Dv|r&ji(Nds)9C zzdApR%5{8#*V$Ls`RmZu;Ne63fWA9EVomKIvCOVd(A;%xvbC%JbXf-dg+uxT+q;Sf zWIR9clU-u}y=Q+9dIA$o29 zbn9fg*1_fbT8sQ=mnRAS+Ewzm+$ zfQSbY&A`=Y24SKZoI}I|iDOW#aSS3F$DohKF(}bE2K_XS!9a~;aJa@XID)zCGn}I| zg251tU~sZVFc_v042Ek2gVQyF!MPg2;5?0BFi9gAOx6enw-Lc$y>q+9F1SNu7u=_@ z3+~t01;5hR1rKQKf>|27V7A6CcvNE-%+=Thk8A9LdAt=nN-c7LTI2w=$a1yFaw2#f zg^eD~5@N>Ucd*f8Si;yS3F(^Dq1eRPz3Qq(LOLi}p_xDbsCJQPQM?gGzm2yw#O_Npsz|Bk{bHUqOJCxP z{D3kNVWb~*;3{&DNt}@~YQiP9Vh@pqP7#=FNLwzyhbT&*nwwYCh@+LEKSrN7peK3ZE2r?%{7 z9C8m!AFVToYn?fq+S14LB`a77;}4~bR+Le522p0PGnjYUk8_SAd!y8%T&+d9T8qeX z&A7z?@^js67!zjPVgNb1rov0TD%W~twO(~2%hYb(&fen$CQP0wA|{bzDwll9d2WH} zAt8MjZ!aP`NpCVs$@_K^qojm-SZ+$mD|M9VOHQd{O;j>UnKCj;9Z$&<-4pp9;tt{a zB;uHa$S!p<$4WGl5Lu>p>q%ppgvd60A}iIi<}i)V(u?d=3*aS6OE0oiRlx6Y_aI5~J#lw|8yFs_So%NY zdWuQ=i84vP1CXLr2k(Ukv={SJ9fkFm$_FURsUrO@<TPd*?zOdy6hxY2Soj zW|zVL+5Q>+E&CSy+xBhvckDax%k6UbckR3IF&jfZ#O~qyefvK5{(=2~yIyHm!ZXqg z|5r=yTykdp4Zg}&!GCB!g#XBX1pl%97=E=~4gZP#1pZU|Dg0;lGk78a@l7Nktnn-R zm5E9`Ao%rmJv`5u(A{Q69m~k3^)>t!X0eu$Rm+EGJ`y}JgRo&@262VN48k&Z>eIko zb{BGPvu)UOU;~q*kgt$jTaM{3?XfAPJ?>@(l5wlMk*r%eCRf^K+%<89_$ICpEu-uB z+BWCX=H{4o%$Q3%TL3S}u{ULkXzc_)_NEOzg6&7@%p7UCjkerj+U;ZE2eGub-11J{ z@wAjD&{`X9t;5<{8*t$%lo`rm$j*7Hyf4U-r|oxlZNIx|`(2>zcQLK^8C+L;`+XK! zJB_yDQEkNyZTJPW;$v8hxsWBIZTVrE%hMQn?@sXSW%B+M3kls>O3CbbIVGiaH^lQA zPkVnQi_w-oUt4Y#w8YkiqeBw#;J* zlf&@|wmivV$OHNmNM$}K!SLK$=PH2}!eHrFkn5{tjWimiEJ7a1H{c~!S;#EoJ$ciC zB;El_81o*{$|AfsD1DWcEcv`a_%XahFUvEZu!KPypMt19V==rHE+dGan=j!7l@}X% zztAY=a6lXhbSoJ}4LM4&OOQtcykPTE-aBLjPBBLbZy?Gz(-z)CEM**9MzS+xI4$L^ zL>W&J{2t-`#8$R!XK~FAvlD)o`G&oMQA!n~7^0=^g>NGo0+;9*-Z$sNI5?>)O{rrY zdMyrly@_$q&B=wAXlgylf!Z5B;zZak$i^zN>88jgMBdZBY%g=lDAUjB2Oo8!oVmZ# zAO0|62^sRC4uCJ`t;vWp(7`4Z_vA_LQ~06IQ2zZ?XBhlx&S{h!?tm)Dg?hTlBOfYO zM-J4Hlo{n*054J8O38$JAw1boDLK};6#g>iBsgS5y&V1u=L*g<-Wku{E1myj3mH(s zVH2DQ@Pf2*6>0TWq?M~kt2Y@@XRufBR&R2mGTKO{PoJZj9OO)jSKwU;r zS6ES3cST(}in^kpu704RsLLpD7V5H!y7Coug~;S7^U?%+Mak$X^V0-@Mak?b^V9@~ zMHPpIvv62A3x|cXa9B7ChZ%PSc|aqI#*Ct|h@vs0Xe^>=%qSX*C>k@aps|ReF{5ZK z;*NGlgD1{+&u9Au?gj8;Tq5z1&+|g~i`(agmapiofGnbT8^v%ris3?v;c~JtT%Rlq z*Cz|Z^^t6&9Q(ZcJW^fcQgg}SDKicCfa;8*y0D_U9LeWtXySD4Az3})JF#6pyx_U8 zg87VMzW$2&jAFhb@`TE4$id(|qc|@tnL^QuYdV3}<1-9L0_y#g0a? zV=`_CB`@kd@b}t#Irct#AH3jBD|u2WFSxTvac4+zXOZI0 zkmAlF#hoECsM5C~i|QN@(qr~9j+$%d@-Ko%ixrQSkXeGjOzedT%Dl=dO#YV}>Dl=gP%SOr0 zDl=jQ(MHMADl=mR*G9?KDl=pS-A2jUDl=sT<3`EeDl=vU=|&al8b!JhMY=|jZbXr; zQKTDDq-zxEMil89MY<71x<-+1M3Jshq#IGBYZU25K)UZC8Ns+=#kf{6Zdfs{Rg4=} zjB6F+h85#l#kgU`xK=T4STU|uj2l*rYsnp3%{f1}pCjQf>=*D~+ArbbHV$87Yv5~b zExe#%OK#aU@Cln>yCCE4ij4CW8FyD?oKMc#IARfiN+=P0TUDXPvG?PSbeLC$Q+nk{*=C3E&lGG|NfY{{N2`LjPHgZ4+{(Eiw6 z&GLz6(*Bf8+STOJ{+w*uUyx5*GHS=ksokDcTk>j4W^Ku>E!njtzqVx9mK@u4WZ9NH z+mdNpa&1etZOOMS8Mh_pwq)IwyxWp_TXJtp_HD_(Eg85a2e)M5mOR{&iCc1UOE&KI zeB6?ednY-$ceyX1^#b~C@_ce6{h5B|9+sizK9*B;d~cYum2tM=jIE6^w}Y^*GLN{| zxRcB?j8@GgxBFe-8s5cW%qK=2%Fuskx0)R6qaTEQU^_jW$5~(OF!DgeFp! zst6(?K}0}AMD!s|L_wbv5fPKg|8r*(#P{^~zW?CtopSfybI(2foLLDagy``h5x3Uq z8JUhLjx7mm7LL1?)>)mqEgN-yG_DH?>0Z{lTldr^t%6z*w&V#Rd`#zV4ddRu60w#L zx(5C81`Nv|G5yArcL;Guf4iaqeXyeu*V(uZE*v&y z!l8SfpWzzgyA3aXbwK{@kbY+YH zwCCUNKC)^~^%@6e*B_Vmgo(TO!*}fZSAT(9b833lY_KoXMzTHAJ|$mqNAe@9i6_Y; zI(##Wyh4WK;dA??*b7Rybcrq@GT+9 zHnxh4VvC3)KTcAmiKH!ELADX0G?OL=3AxP(mP9mrT|C}}NqC7DtM#%MzNNE66J zsgQKQ{XWtRl1(efQo4gA^51c9Fj+1Ild1d&X{qxkY4SCaEVm-9)zoQ*W zl9dqB8Zcx^8%Z;H7w+#Rt#uv>xe%)+sTJoH~e#%{9-YEYeFlkE0{$#jaw`xulmI zK~mToB$qX-`9=B$=d($QZZV0ILrHUKD*9d}t)!Wx7w=4RB@Z%={fz5tBvu+vB9!%{ zg|vgDNM*zc7jv&A>GC1c7x$Xchh&xX8R@}qk~K;* z(ubFjBEFq8mHLy3;#!hOIs27NkpfA3-i(ao9mx>Zlk}6#*q>C=iAiK5y+Q^vGwH{7 zV{dknA#w$ITRubHR?2Zbi8Qr~CGk=Wa5jZ>ma0jnY)6uHoa9T}NhfIvX{W90cT!LO zjl{4`SmQmc0eBZ{SG<6i2c(y79~q@9B8BWaX~Jr1s^tr$9mXkC4iFc4BWcOfYO18( zWH4_|3V8$IC!I`SZe$JHOUme1B#9p+rF0GT`1x5`eQ*C7g7W*5mqp(pi}f8fr&gk=_A5SCGY03h|H@ zU`=hw5Uh2y^bX)DBc*ITsV}`s%={goU(#ZhO{t*5Y>pX>ZUn3*Mz9|iA zYLvxfjGO{m{*)vr^T-g;V>{4Tg54XWx!qT!qw*PPtb_r!&ZM~#1U&wZF;0U%LvauE zD*r&5$XO&wv5;(~DegTb&2+z#j=Cy*_Z(aMGZ3fT2PkPJXKe;_=rOP7ux-O)ofB!I3@17A za^U&^X%3nXS8kFB-C*#fg{0fhA&u=85O>L+MDPQ)eE}SW;Mpd?dn>`4SVy69fy|Su zFqatH4`csAMoB@~qfsP`KOpNQck&u&zJ&frN_0PwDBUj7NZLcf1Yb-41~0u0K5GP= z0vF)5j?!e30^ZJ)b4V}c58{C_yXvY*tP)4M+jRzB$CB>g{~}2xBXsqE<4_V0I&LPn z!TKp_s&LXmu1_4~Wx%Bx2;|c(Vu38P$eEz4?KnQb-kC@&_{aqL z=*w$}QFjt}*hyO1=}D%pA$a6xtScJpKa24qFrEuw@PHnGHmhsd5y)8w$lE@+SBi6J zDY_X#7#d9c$rH#MN=LF)nolO-ejbi!`UWx6Uq}S|f#k7=q$#@sSuzkZb~O0$0C;5w zSth5FWxCy@1M5Q4adhJ|u_ud38s7zcAHcc~18*kKVmax|-vG>yNvQM#=?|XHSB8;d z9U;SXiDZ~Ep9~c;Kyd`lza$xuVdc{2q=j7~DPlWnwnbY9LfV8?m}LBVP3iBvJ`;xhGaZ+Tx+Z=M+ygS zV<12KK)w!zTv$PR^2s=#0$BC9KZ}gu#gJ`Vaa}={v$sjPki(E6^SKVVD*-*c37ONB z)Pvs2fQ;HIZ6M2}k4S%kBhW)PP3J)N%bbjohk$l&LXJ(wdEGT50n%m2`3>ORNj1-e z{1kdx=wA6vlBykTuukYZ_H&J@=}@6Z|Lzca6*~3h13J}B=v5qnY*oz*}~q?bpAiI!WPl&fmJmRu#Vq=x9`zD01gANwonb9!d3uY z!B3f3ORlh6gf5hY?E?FuPLICaa$nnho)4WP>>Ah>|Jll+HM=#L3Vi)n3)_do{t!0M z%dN17giZ3lS{n^PW^1%$YdQ3U*mtoX|JPR7Tf*kiXhiH=t=%PTA7OvJ+zJ~+*c_S- zB52@q;;$XxT}=)MS@3sHZSkry&S$c2{$HL|kb{1?b&Ax&SrP+*vR)t*(TNv|vBy1~< z-_dGzm6#89ouE&RcQBsd7csA}nd;yYeFSU@Y$^>N!H1Ah3hY14{ulC1zy+8zxg>a9 z*hPY_gnce#l8`0B78kNf*b>547rY92q}lect3;nV8vf5#TPL1tJ`sE+ewr*6d@Xde zfJyTS>g3ecnh@Pyk_o+;SqHZ!e*lxPQ-xhwXD8X~NH2$m*elqKnvGW{%LMPhhSg*V zY)S<-pg8|e8Tf*a>SUa-V_jo$B^P_#0xc>ROH8K>u~Lq14&K@N?mZc!&di8pHif=C1*N*?ZrGe06J>1c10 zX++U1Bu1P`ASof6$S$&*yiZP(Psv^KfT+}!>S+iKqp`Fb?MDaG5?V@^(Ko1-KBP6w zmnE}Yc8q<*K4#yrUpVEQ+jCcL=4E^VU&i0yR(^!P&p+lD_$7Wt3XvL08B%Adzx1j! zQJN!NkiL{|Nx#Zec9RVOG@xa`?0`oBzXbeVzoW^~WHbesf=r>NSW~>Isj0as-89Bj zYT9DjZrT+n2O0uB1A_uX17iaF2C*O|$Ti44$R{WuC^D!`P+riWkh4!e{6kXVDc979 z)g$8LOiUyQYkUK1+(S-~kH|&xJ$XoKs2g>sp){N}qS-W$7HVtUME7Ei&zX1a8c$=5 zSFuL&VvVz~#zlNNui*RmyZi({%Rj>!i4-cuN|{oYG(Z|5O_JtGpGsGy+tO2+$@%~i zkP3fG1cZF&Ru=CX*=yYm75Bd9lU{tnsbCtg(0P8uc%&aiF$FiZxbYja2fg z`4v&9+q7fN3EHaWeb7Pzj)piQalkL4VL0mJ2&^&GQ1yxWJb=z!)tjr=SFfp_jnPKej1oPnWgN7oYt{3r-w3IC8^>N8TX1Z^_r-yzWK|nNzU%&- z@y_Wx&+hcP^Yo6xtz1HGW!>t0tK+ToZ~bmH|JLJH{4MF`b3$$+B6)Md&7n7k-0XW} z@y%{G!*0yFzWv688{=<`xH0TT{*8sSxM zgf!@-V_;ne(b57cqMm>INBfG~=rIGI<#k=?I$YhsyiPa}d1NU#&fq}QlKoWItFC1? z>&{+o*+ull@qhVayJ~xJ$%j6nztX4lH~I__no|0ZNla!6(=j`EY}3ee=D-}86LV%R zWCoeZT$vlwGk0cS9%L4o&FV7~3uHme%!0`rGM9z0P!`6*SpzbUKHv}G`#&OOEC*cM zi}hxG*ehf{>&yDFJeJS;vjJ=%8$=e6g{*)LW`%4BD`G=gF(R{z*)TSoy~;+gk!%!M zLYA`WYzCXn=CHYJ9(_!I0jC(*CiVu~%qmzZo5p6cS>#Q!ll?*7VpXh~sY14JnJe(v z_Ha9HPxf*L?ntcMiR|OfWIuP|uH*oBBL~SLuIKLDz&*H;dvY)CP2T4|u-Z@Xdb}48 zBo}xP`4mznn1}FCaPep45)b3Oc{uqTv9HTKf=7}scoexpz9d(9H2I2r&0}~&9?Ki? zI3CXv$iK)np2(BH|38p>-7G6=kM{tC~a5|ybUDZDT5M?I*KdQwC@c|IS&`$K+)N)D2vBtwpd z(*`txMoKywMWbm9qy^;z`5^w7|3VwmSjkSZhZKtAPx!Aio+i*lnnaUnV_v`q^QZhb zUdV???vjB&3lpN$0u+^Ci!GOg=Wx9uJRhblrN*LX&cD16_ST!q;2_1$&;_*tLY$GAbCq( zbP|6=r_kke1<&ERL=lk{@QL={U#Ofy*4qB++P^%0=|X5D=qbcEBqBo>>4+V%Cl17s zI6+#w5Le_X^u(PQhzBtua_>dFNj>62e4)eqNdT!2i5>`6VB2og!6 zNHmEd4M{9%MB)%BNg#tN z)5vJVY8R1GGM&yRBj{qfgbX5M=o~ta&Ltnv1qAVIatJ&>7kWFN6w@-YoGyfB8;V%g zXu=^!eq(lmQ^o$#Vmb_ZZ3vk|m$C@}_Q)i*FO*GluEtvt#McuWKL$^BDJ;>mtT$|3@Bnr139m0`Gjv2sXRmz=yT-~6t* zIp$nEvvkYB1787s?NrfLDaxu#i`)+~Ps>Y3UIx7z`=cn7gY!|gp zmNTq0KRw!NABFKuCaZl~JAne6m{W7D4&tgSt{iX`ZFPt;y(5wS;$r|NvO1>anac8j zd%zoQb&P7CowH9z({qEZ&V$SoqODF*?Yrc(?`FH{8;JV`?Y?u=KH`+tJ!hYjQyQjE zwK_!RT1lFfg{1DY7atDzuu@MTfrn(}?4!U8wj#9*c*V5#5rJlWt?t~{_FR00g=kN6 zv5eLLzI7h(_b1Bs5n?c7>1kGyvLEtRL$?cHku$P$h}FrQYRbd7hn$@$WJYRgS>8Tp zInp{T(l-c;cST2+$Y`ru)IKU&ebhcCTKA}ZT(pL$eUfNBfK|~NqxLDH^^Dr56RlU& zK0DERNA0s0ZM`U~UF839ZXe8D58v^{+@kfv+@kfz+@cM@+@h_IxkYQj+@cM{+@cM_ z+@dvOZqWuunVM_#6B30bJLj3wfY3a#0r_aH!4ZMc*3c+xNTf9clotjfYYp0{BRz9| zW3#EOd(MB}#12PW!(ZT&dRoIGtkf8*p|8Qq%l+%4h$vH{22ErX^tX+^!6kL`iBsZv zP{?+Yo?>piFM=8YRTS0$2}yKh|KS;N=)fjUJdKHVSit_VAz9#j0dP4l0W=n@r8iFjk{KADd!q zV^}32C^8~V);z&SmM%F5n2DQw53o?~lbb3y+YS-}^I=AFCI~wXR0=L4kv1{K(((qH ztvoG%Aefh><@@41FBhDEZuyuP;?SI#-`LlTaWVlt8f`2LVH*lFKp@}(IEl2%*i%`2 z7vIZAmk@1qd_ws7ngetH91*)0C)NWO!YYT>uE*RQ%Z%4u0vglSY@EVuK=VL+7}CJiG>+$9J8MY<}k!q zqrf1Rf4JWYa)5dmtkLL`8f9&WCQaZb1K2ZVLX6j8BOQVP9Fqp*Wkl^Kq&ZG9aYDsO z>!|%yyVC|I+MTwdPYXP1C;Et!_M(qC=^*-ula8WK6P$DseZ)y;(MOzQi9X__i|Eq~ zCtXD!aneon5hvNAk2vWr`lR5bhv*|tdWt^cBuDfSC%K|eQ=Ie?eZ)y`(MO#05q-qT zD^b?C7ijJ)F04to-A_A9##x?5HMrdv7x_`v_!qtViwmvy0PRfl9;ls(u7jei2`{=9 zhzqUjVC_tFE!56L*CA2X#1~zQ#D&&%sCFj07Hems>#(RutKA?g56+q(#CJ60ZhPyQ zuF%7DQSK2tSk(he5R&OuZXRLv$}pMQTV1-ew<_IwL+OFu1xycGWU@e=9Sm z!#YwT_B$!~@W4mzekt5OqigzpCp%rlK82?53#RkBZaRocWb_x3|_Z?a@ z+bS*GC&Rk_@4rgek~ld!H6uKkVEBO^1F&ju_$@U6lJq=Oy{KArTf{gtKAm6 zhxSeFC)i(f@N-CanBj2A(ZR8g;|9muPBBi?obEWMI!|&w?)=Q9oy#hhORf&CF|L`e zMXpO+cePgseZ5etLpy*DYVXXGO%f2S>W}cQ9;+tPUaHx_24$a#lZ)I zpM^w)%nJEBv_t6W(C1;D!nTDy3-1uVGyGbEga$ntOlYv9!SM!y` zpGJ!sU5`tNn-X_A-aWoY{F3;u6Jis_BwS34NSv3%lKLl|NDfGzlzg*s)5bFzUuhEF zI%S43d$Vu_WVeX4lLet({sIw?5G(s?Cx%58L)=Yi;|iou%Ep zcGuhIwg0+9P=|sJmpdkP+|tRe(~8dSoy)U)vZiER?&8s{Z!Uva7nsbkFSGx5t8>4n6aFzMB)2(<5g?&fVOU+-13HucBU;dN=O9s`pQQI`rB3 zO3*9TzN~N8zGwSI^_$l3eqPtSoq1}0ul#rVyY(;Vf4sjspkTnkft~}G3}S;u4Z2y- zslYneeekrwcMC0rD++%a(tOCKfBbiB$kicFi`7>Cm{LJ%)}N zx}vyoai8K@#jA?X4YM0IX_z{^VEE}*?Oq-D>WWt{j7S;r^T-vW*eJ`WKBMN0S~KeK zXqV9`qgRYRHv01DpT>BOi5W9%%+)bh$DSSMJ+9BVS>tw$duQC^@loTm$Ilsmc>I;| z&nB2ABuvPguzA9jiPFTViCGipOnhhJ<%!QH#ZKxpY1X9ulkQFqnw&X#*5oadFHL?v zC1y&&lx0))Pq{s%YHHNf;;9R!o-R>J!b`@K94t9q@}xAOG^cb?>4nn!(~_o*o3>@z z;c54$yG&1?-go+<=@)0D&M26%ZpO`-KKPe2bHmJwvm9n+&YCyt#H?qt<7Q{i-aPy6 z9M3tSb7JPSnX_dsnVU0r)7*#iO!Knl&6;;&-s9KuUMqj?N||R_kFxTzYxCLs@cCWm zPnv&t{Ed-1Bp7ne9JX}4s~ zl3hzKEvZ@>yfkm=yrtHq*Os|0OIkK?*|KG)mOWk`y1du&dCN~PS68I3n6%>fipMKE ztemy-)XJx;VpkQe+P3QUYWLMytLLr0xW;`=)|#?47hZRIJ?r%)ub(ZqE6*&SSAMMg z$=dL>{nxHpdv2||E^b}Ux{`If)?Hn%tZ%%&@A@U{Pp*HqA#_8p4NEqh+HilP-$u*E z5gV6nJhk!uChtvcHjUe~Wz&^69NuXBMxQsPys{*p5FR&Timwc+qP`GvfX`qhwYQLZ`*!-hsTa_J9g~2 z`lj+`(>IIX-2CR1ozl+cI}3KM*?DfK`c~{)1#fM5>*lVAT?2P*-u2F|3%hRbdbZnT zcku4UyF2YJ*j=)F+3sz--`#y-_wC(J_c-hc*pslQ&7Qt{#_TEEvtiG{J!ke@+w*X* zve##C%-;09z4i{@J7e#vy*u}w*n4^J4|}VuZq{IHV`~R%o^_0Mo^_qoYCUDWYW-;+ z+2^q@d|&f@S^Ea=o3L-ezD@fM?mN5h_P%HPUG@j>Z@j<5{=EHT_RrhDZohT^sr^^? z|9n6?;C&$KfaO5;fx-h*4lFsa<-nzbu?PDfoOf{7!7GQzq1Zz`4wW4`e(3IDm%|Z< zvky->yy@_+s&V_tw34{JqD= zO~-SNk2${S_~Z9|-f#Z?g!gy6f9d@vC;U!WPE0tl|HSPN+&@VDVAKa&KDhjWdNS^0 zhm(aT7o2?eK$` zqkxZcKAP~+hL7GoV>z?n%#JfRKMwsk=i~B^FP?Qd+vDt-vzI<0pEUpE@F!L0nw~2; zXFYfGyvO;>^Tp?voj-B@rwgGM`d-*@;m)TXpJskK;nQ88UccymG4tZIi)TOc_^i!m zQ$E}F+1*RQm%3hBa_P+H?w@CUzTxw0m%}d?Uq1GQ@q%dq{Fl?ey8dh3ziwYkx;E?D^>1RoDf#B~H&3sJ zUT=4O%=IDxH}{6Y`Js$JJWXs-);Nu;oYFSeeTY>d+_ev?}NV2`F_n0 zvi>|91O# z_P_W4?D2D-pEv(}^?}QS)Cc1p?09hXVerFA4=+E8d({8Ysz>|r@A9LYup1a^Y~9!d z)OJXSEBae}WZa@Om5Hcj7mkR63rW|z>-CZ$lIqO*c-u#Mi~J2V0Uxr%b7rSL#)lZI zB`S&5!d~%3+%e5!adBkaiD5iWa_y+1IHkEdFiDcT*z1@qyQVo~cxRekKfvG5*QcJh zmnST6OlA9XbMua*f!u5`CkARqJdZcvFq*Z)%#q(>AJmYn)mcAMU3v}m?Yg>a4URM4 zreAxOwR#05>B#w%s|B=t0qwJhZc_8au}IyrKrLXQ6eVvWGTW&pmOnv_NEAu6v~;ou zxFJ-Qg6cCw;!_Dl%#tF5FUd@j3k1RtyX{S6&QV?|%e)Igw~Qd8Uyz57VvM8-p<$t+ zi3v%`iSb5HPop^@)EuN3Jv_Z|;i2e^=ETs@vmm}*zvU^r!S!sdX>htIJa}_MdLTuy&rr$Z^z`J`4f^-E8pC8&hY;G z?q6P%%V$nTksj$-^P^lSS0Wham&22 zEnDWjwsl#T_HDa#ZPzY~H58ZPHg2`c61P;JVeF$}(wfpeyQg(5-LD=cjHTbeW~4Y}ENH9tyUW1WH6ttKSXk{0X6Ih8|0 zy!D9g`(d-NWwKniG^8K8al~nz(-bO6wdX9|9Mm`|D9RjVHu{9?3}UUx+MbCOV~=z+ zDG5tfbY41hm;wX@%W+A`RHul2{hHQdyG*`JKAt(0P;I?lWL**EiojJgxuY_F3xSRvU6= z-psuz7c_5qw?m^CdcZ$@O5Dh0{C48#^nRhaNiF)0w9)A{sXk5D_|)5C1l@v31^srx ziC|GZ(??P+7*z14+(f;L?3keMQEDSrrVK=uKyPtzk{Pk!ww|Q>Q@2Qi8%g%^QkdT8 z=8n~d68$KevR4Ut?d->8Ai_?6u9S7{G*%kXu%>f=0GU%mGV z1^~cqQ3=^lI*bTuh$RU8#N>_=(paD$LUTb-tc!^7XJ~@SO|W^OF;H*T2POvU*D7zDk!?a@YN8BK>4P-EJG#OZ}KOBi}%>x>}qht_etz?+tK6Kwn{?qr`aHtbeyx z8^%_)>3^klyEdz`*8rY!l@6+4PxnS)_VT{SwJOPnwG(QvE``AMxJ%@4u&ZfA516#{t$@ z$lDsgX-`ZRf1N^+3nVmEmNX)!NbqR-!{`o#Bq!^2i6MF~W8lPF-_e~nt0$HCNomsL zKF{y_l?eQ_hHi4hI{buegyz9_We&-RK_MF<;W6A zm)Si`=Mfo?jAN|;Fq*?q%xx1J)GIJKUY}3Dnbv#SkkyOcV>0D;EAK6wrcP%}cH2Ie zxi8+4Gi+t~Lgg4G-|ZX!bD7#t-mbn62r_Ga#4~Gq#IZXZIlQU|S%#SUcJatjYyj?tg=Gdt-=8jOd ze*fi1y$&>td}q{0cfNc_89i^_?77qGbbl|6PYoo_($HPch~xw`+uO;Iy_BcQe{z&0 zIi&&1&J3o7!JyYz3X0u`-AhbP3`|5~H&7p@<4ZsOxT5-LMfE5)<6`wRdQ9=4_sb9a zm6Z4$ew9C}YRY!AM6tJhfWIr4JCJm;w1+~V0sc_mt`vKkY6nzOqC;tqEXf=jO`*Lh ziWCu5=>qKsNQ7Mh}qo3(ajqtS-zDsE1La zc5E0uvfanu|9I=juQJ>JTJhAf`IE;C@!pcnskCIIIyfkrG4<)Kf2mK;o>IomvcA6X zKxP{~udm*$<*!KWy$^D;?JaE}bU@{dI>J(70kA|QkbsT~`$OzG=>{$kY8$qP*nT5V z_w%I$(djV1Fr&fM*-jxo)W^;>lE!&@=|YA1q4P?@{@a#7Aclzn_n^yc6vEcDTOJ$Q za73He4=GaP&3!-o;kOH4s6WuyU4s^dyg6;++@*45kk4{2|L^Zf2`$vepWar#Matdp z6zxTes$cDrKK7HZ&#zhXuGohT;IUwh280}ib=S&9zIlRLVJdMTn`lBw@8KZ?24P%h zPIh-U1j4oql!Db~M;f?Qx-LwTuASi7(tk7b;_UH1eVPr;33mz6cx^r5=Olh5p`_x*)P60JNZ~t#9O0I zeD+yY`GoSvF9N$R5X)?B_=>F5r|>}vJFf2^fcg6tvvAXq&17Saw&XCuP>fb z-LX4Vr+$CG!^V~YElNiWTWVUqaMOzdPWB2Z?Vbw(*%hKEx!<~=mJ=I$;lk6^>Ipsu~&=49Ffi zq<85t&VM*q`SrpviC)V2^R#@~t9{0ncI1?H08?4oylnXu?g|VSoLbwnM$*mh_ui=I-^~mLa7bB_-azMf~LDc6#-Fb)Wi) zTIT9bvuM+tgDGL@pY~U0sd)wiJ%@6R$#mr(&mB|SwHz7+W3Qo4lloI<(Wh6`Pr9|w z>h$Oo<+Mpcl2rZn@NVDkMP=t(YMi=Iou{^sG!Knvh>|WV-Ok)qr|Rm3E8|)^`M5D3 zCzr2n^py<9Y=>+`g^s2Vot>Zvi2}(kq!fyIgvkNvD6wAX@02E7ZTP}^y}@8`hmcB6 zh7#2DArIteg)5v~Osn6dPll>}hv!uv88BS!M?a?*ZYw3OvibQpt|cV~>ZCp~l(1Ab z5`%Kh=J^gV7+}AI2;Hcs0tPOD+89rDqtKCzwIV3C;_#is4%!rqrk*ts3Ya`RCEK*F*fy&N=frY_`dMrB#1aKbSpf+Ol#!p=jJ# zaAs@BODlM#K51e}st-nS2lx!C02@SjA?O6~7eKsdt}L`8V|6A`h}jTg)(i}A2DBlA zQwvH0Kv14!ogWgrAphGZ4=xYb92GLZWz{zIj=BPsK|$N9TJlF18a7wo zuJ)={52Zw3P^-I?(k(Q_h$6Cz=~;qbU|-6Cz_kl1uwY?2L5$l2%PiHAatDEB*n@Do zVZmaz0bm_=U0o@0^>+1gcY_#rq0S0aw~4?bBZ0L@_0mIo!}~@-)SJ|w_Exv5-&SuB zsC<6*-o3N3ReeLf{}DuVg$;dc|Cmi3E`EH0iWmDd8n9|KkY#~a!+<57%uU= zjD}j601Pa)zXAhuT!X+v;}Ou@pVNa&#O#B1xK$rz@zv)ms(<}+a)-65CmaDvl0i!s zKudvQZfDHoPY~JxF)S7d@HQfAbc3Etr`T0N9{PxxOH8Bt9!L4cIX*q4}P218ngSx5D zJ`PV%-&1RR)IZeYaRIcYgHWb6T*+SnSN^22CDGr-*-j^MVn>OeueXRbHalq)b{1YD4B8im_jGZB`s zO>dhm6SKXTz&5ZpAhOihmw_11ND?fK4DOJOl-q+E#Ns#ukrd*FFd#vi*_Z;mp?!J; z8A4E%mD^`S80hK2he*UOt)6@GGsw z@nFpDN19raT^t=md_hNv8({FM=V^3@|G-6P>F=@ZX)ydrjQ}H_V)uRW*O-3mOHwz36W)rKR<%uU2obS5o4_WYu1{t~U6jJizBF zXu!cegSK_KSBmzG+Ue)%$mQBTu)90?W3@Wx+ zIHUN}WQHyh^97J(OM;iDi!-zaXa0Wmyqz5Fbas%pLivMZ@Rk+ih@d#8nRQ0JKEzX~ zFBI~csm@SKW6%uo!l!#deDW1pZ7@@9AbSX6sHmu-7Zv&`-K5cmw21yO5+BtE)Lu4< z^DF%$U)uPB61Tm~7hWXV5`n<62n``H#HbUrYAVcW0hcgA5Cg%YyiguxG}ICbKzkW7 zja}uhDk`hf6&pO2?3hwZEzd!gtg7(~K-M#U8bpIXMmi(zngdxP;;#QQHbMd+)`hY` z69!=}RFN%GBIl^f)$8hAbra2_J~W69tNi853*Uc#;p>O&yn0gYV^cLP=r*;N`XN(k zEA@D_R}E3$hx&mJrOEh<*e^YdLg*eizC_p?aJyNm3y8QCbQ*)CvMj86DSV{ehiSd4J@HTS=+)lu;~9jj1(?xZ4aiCbuS6nzd_iN=`?Jv zdMK_a`5(}BQa#cC;)I{v-2V@_lf&e_BnUOph$x#h3yDbq{yz0wK-N69KH>>5ku+QF zWecg+VxuIoL5LaB*i-LHf@q*lbG>UVBN6%cGQ!B!g6DsWR3L8L@bN=}!eWa?=a-F9 zPt_rpZ(X%ywR%t9`}xVDEe*r0)5oS+6lMCRQ6tAMQQc~BT~a-+Wa8*K;8_u;D+R6_ z2pg#ZJec^*vL(Atxb)+NLYwaQJ6j+$qOhom~~;H!HEgM z!cLb4tqh4?HDLXYx8A?|K)v?1mvh@fYfR=#1W($J6zTG1RB+2E^op-I=;P5(`fMnR9}H_ zVK;$mAv@}MySXCTf>&gyCN~fX6;TS74H~tDgy3r-!da(eG+YSf5-(JaKv5#D;#up8 zW96GqLuyo1sGmH0q+Y40(6r5ot#9qz#w|jVR-O2Fb@ji+xozEe^GIH*@ol&z#1(3X z!ukLdzzG)43dPFn)(j;zDgK%+C!bg75}$a(oe^#A6nI$K1x0H z+Ftd;vGju6$gAr5Vfr?Ir>f1-qddr~wAA(ab^dtf%qkZ-$W`cLxc0KJEqqC&C0t7k zy1PLwBk&K!=O$=F2zKE#X+cC!_#i+HT&6nBYXhuS0gEPbCf%SG&!kt!0?^R0^j|a8 zV!D2o+F-PLN&RfB8d~DX+OZa%rKQeldwR&ZwA8cu!|KDHB_+=EglciN>0#m1wE}K5{L7@7;EshF zKdx8LFn?uQZDfRFcw}%vlT6D)h{y>2Gctmlld%1n|IwrBG&)WG?)Q?lx_7j3f{|xP z0o=7Y2||bBHWD^kPQnmR&B5=oymw{m@1NWF!Am_u*Swe)9xNkxj|Mgl>nIcka$Ssy zER2ZAAod!V7_T>b(dlaGv17`#XKmIhGi>9uW?%6j%xf=lM$kC|{z9=kL%?0ga|on} zA&}{yW)AADK1?I$(1^p^+!QzV75lQf0jZjEuODq^~OA<>ew3 zgYRTZN9j+H#S#&@7~H7MuefWe8#7Oir$24{o!><_Nr9d$gzWa0IuSG8$mwk9;DtnH z7<>_35O@=2CkPD6TSTrQArShn^=`coXHgW=%?^n-VGf4`6A}>~91{|Qfy_vp2ZuO# zLNKHm*Bn=@;832cddOxR~8q_}LbcNWSUdSK(4EzU>bW1CDL}Oth!E}QA zi2%HYc-$xeXth9!P%NuW8BkJB_+c(W5Flq00R0biCPHaKH8ALXEw1HNr&(bUu$KK- z?t^t-z3ZpnpZ_@H({%gwk>=qUYiG}zJuydF@D)wC7x6t!?9u+=&Y*}Jn2xJ0$k)i`Kg}Ddv*Qf)IYluLmFsuY%!uIs^ z5~?d+2q&t=y_5A?RL#ia5?>#5`o@hjdCL=oZ>a9C{$|dCoC#r}le#aQJH1^8TK~Qg zvs+rH(IbAP&u93R&?gnAv)a<9=~?%W+Ti7PfKyLfEr`JxdyhbpFiC7t`dq}gZDD!< zDncUys~}@5KrofaFZNFfJ{WS-HpaTM4g12jldum`Heu3HEVra z{goPyeSNDsmGd>P4P2evvFZC;1}t!6^p`0{8vQWpdm67kyEa)~_i>ZBX^lJbGuumK zpD}oqRnUO&XTL(d<`NnptlpQ zHdst>R&DOZXhdGCR`zGUd1!M`MufL}yl>C!+qZ>*!gnltZTEYQ4yz<(aR1kqRXrAB zpSx)Lt+waC0Du0_hG`ayg0O2yFq0K8kf$5OJ|cGyzSQI}|=23v_o-R}3g^Kn6Wg8R1nS34cfh)-VCde-E`6?q@s zsVrNVD@dTn!UfD;?0!~C8+gr*Sk1lyAeJHIS>Mxt&O&Lr3r@;n#&ksG<(P%BClJ=^N?0HBTviC zXdYY&T-d_Kn+NPUA+R}mRF~P2I6;u&Td?}FPCYJOt$rd<%3S75>zGGGR#sxqWP~mA{7U4` zA4Bf_0vlon#@BvdCtpR-GnzEwv|tW;L!Za-vizgE`e4B*fFN@=}Hj8lv6&6wMVw6rw$!7K!!85l~A z@B{048$I-H&Io28dS4sNz?W))c@Z}9gk23mfw+x6zShQjIhKK_UkWWO`F;ScoP}Iq z@5yS*LF%pPVh7~cORFZ(0GLlc>Mpgdw=kay)$L*nq;Frq$J%PR*Rnf8YT7Wb!J*;X zP#ZO>-EK@)JGKxrwvi~_StYt$@JFmIhA5Gk=%|q3KvR7Y7IQ)zfapbJOjQ1mZot3T zP6R%+zzB#d#29S$K%U&Tsal5A)Asq_RE7orNpf-6_iX2cEycxa!{T?0*apgbQZc-E z@Kgr@G0|wZRcwiwo9v?sKq3kgGU}} zydGY9l!MtAZ z2oc9X%t<2k10d%l17)%i>I23$NLOsB5PF&rwkcvELG(O5#B2;Pi)frdlN%ad-1WBX zeVC@^YIo8m{aOJ(9o&=F7JPi;X63-uiNFmXzhqJNgpiQ&Jr^udZ}>@D{7PrF>!g05 zJ~zUQNJ~}c`<3!HkNngjwfa$7+jFoVfG@y38*m$8ctJPAt|9(@h$_2^REskLc8mk+ zI?G1W%RCzZBRj_MDzw0*&CvN%NZTac-wNj&XZo#3a1)`!iiE|zPv5AVv!Ltfu&^2BlleoVm1{A!cq*uSU*3BRUoN3!wPX()Hc?>ZG@o zwyD+21$lAV#{1)7XC1=awJ{1Rdx-iULtC}B~Rc;BogwKr34x>oWD?}+mvKJ|B5l{mu zLUm}Hss&!Xh?iy)2%~_)Lo(ayptM{j!a;h-bUod7{(Q>>pH`l}e#J=>7QOYB+*18x zS@o+OQtaiq?p{mRvZc#FN|eOH_In*Ua$gc6)dw3dMJo{(HmVQ$(RKW& zXZ3e8XEJMb*0N>H7Xbm6s%~ugVS1=~7~kz8f+#kdX1ul^|F8Ij>p#UO41ZCoT%>nX z#?Y4PCu8W2{%1eQr*Dl>KcOjO)ttP`m-E#gC0=w9osKw(69Q|pV`-_ETB?rnDk*WK zZt6ovTWrFtwwGSf@P!zGuMe^oB4+PqkJPBh%KYg@3Ihup1;VYhJPaP5A;GXb5UddL z2IV55nsr?pWda@rywWTA>c9r&GrZb)cqrW*TXynqsIDDA4^286tlXMR5Avg~f9x5y z*->6gm0_(%@KtW5r5@Gy%h)ClZ9hjq?tB9H{x2~MfCsVqKVlfY=(}#)tG2SX>KK#? zC5RYC8TZ&mQ|D-V)KXo+HYzRP(}h`r;ZlHf+*}#81VCQ5#2ymbS>OPA4fzher>Ln! zA&~Ho6NOofx*&KLq5@iExJ4Y7jsI|KK~Yh`)(^vnzmna(d-f~C)fLGPcb*?Hb@}9x z7v6f1Jl1?@)`cOPqGR3|e16sec;jO1RqA6J{~`v0JECH@E(U_+5E3Kn*Q<{eQSayr zm?vv63#$~+(Nx%uM8Hg2;;R(Dw}A%E2tno$_43R$5;9qX)&{&V>jkv&M!0$cc;Di_ zz53$6;_#DO3x*CY*n0A5@PS$9hi-~&uxZ$ZS%=JHlOMcwVdUiHQ%9WN`49mv0rNz< zRJzB_FiS;zR7886oe+wFq(}F?ZFo8c#TBE8%D*(0Gt~M7k%qE3v{quW! zXXGyL-n@UKw0;ZUnw7Jvd$WG=srl^AYiCp2#l{x3cc1q`MrM4>sE$IPE>g>AH_!@4 z1nO@qh)};=8wL^>6vC8ttHhsL#xGH~3t|n0HIBSW4u!Ye)zTRyqB8fcb?hBcQiKw# z|Mc!T^1fUaKgo;7ozWn_30PPLCH0XE@GywP8wsYte|q?~f_}}(w-x+*{l(Ak*nj1I zCVjfHa{rMd`zs4~H2sUCKlz;Z-G7JDpfeGbG${PLYffD(e>(hBB(0=u#E?QoM97!g z*~2-pvsdixkfMfCAT-Z`Do&0ldlSiOdwZ?O#v@Gv@Pv28*4Pq&p(GSmaeV{yk4W5m zIHT;w3v_{apfO&D2pY&I4EW>PZs~NjZ!8!Bjr1+0zCR0d+fHd!BZr2uO2vAIo5#-J z?S%JA`wtl7Kr7hbmAxvOZQovA?tE(S%C*$x+`Z3sDdR@1oUJ}yEB3K(&3AH^^axf_ zLt?SC@bPwcL&!4F*Hu_VL2&JnRpF`i^k7S~&c>FYF4Uo55yIevE{ll@5B2m2l29^j z6HYpaC+!W3u;f~EB-u+VLJhw5)7#y90Uo z``a&DuqvTRV(g*?Rihv6+WF|w&Rvg+Q&L-{%r0Bd;n0ABW1UvcUzXe=rSZxIuXj2! zsQ-Zui|4b+$JF1b{jqnco%#&4)eLdqWbkwl$*`oF#QQ7tK&kd39*jU1L(M4x_kve? zAy5mq3aia^p!W8N&1%XjDA3mjn}O0-1ZYJelulHXYyUL64<)eLzn8+yz1M}&-J*hAC?Lm*ojXbI=CvTs$OITgICT*Y0ni`>1tAAtmLaT~B z5%NgH{{?TEEhbQzkTczd^`cd1itLIG$$WI+dKvEsfWJ`d9=}Sk*JJKo^#eb{@IN#V zWA#w=(ge_GJboJp`x^=dvn2a-iK6ls`}h)z0ShS50ckS)L{M!U%|lL)iU5cgUV=OuZS7%vNcYxDKjYQ)!HOFx`B zgC9=QYFg#*!)Wstgf$%x5?4g!2xB=I1N1)E5)ktF=ql1`@; z-f6Yq_Sp~yMtkgHLY!cpAQOi44?&fL*%3P4%TuU$p)p`0zrd!@7|?nlZd%o-C>kaB znXy15UbRmYmPmWoZ+h>&P3x@^Th_Z*zk-5(y?RwU(VVAGXpXw$$y0U51iAq~-W7&C zOTPNGdR6VuvX#~AFYg_{`^tuuO23{9M@<;Jphy4N>Tjs3DyH@z`XY6;`V7C$WmU7( zO7)c5iQf#S?caeq8H6QX{?=qv$^LKkw%rM8ZR)qqKKc_|eMhnLHK0 zaHVVoxb+)HYD#J|ox|()Qd-B2Yg+Z{)PE-X>aTP~oBs#h?N;~jt}{zo z^sDbv)V^_pRz^2tmx!b`=`(1{#%&?s1tQDk06z2|Z8uR4JhZwY`%Dg4Ci*ing}=`x zf^G#Kh22scHvwNl8;E=Xeq2tVM2njU284wMZcMHdc1XcYSv{n1<;udMRWsTqCbVvy zkl0o_QM7h#QSr)^#mQ~jBqz5QsTIuC9;|Rf`UP{jk_bx}Tp|z;R1V%(!V3d3%Y{_X zUT|<$gsmk0+{Ak!qEJsG16ZC|0h>q*)bjo6EIMUB&8&J4^qNzy4xsDH>DoWsp~VFr zMzXc+to#vTiil=HE@^IG2DsAjY)5W_oZo;QP&e67!ut$*tsa>=V zF?)8l+Dc%>Bj(MHYA#Cjosx)gK8JA*-QwA)UHYRJtkhzM0V+dQ! z?#QR%i)LH8;HSw@NYfz`zxd%Oxq^azO|_lWg^{?W@(erICC>o-Yi|ZqjgH__6L`h9#&`t-r?xh zrtNHLWRrxbCb8j4-|^#zC-?U8?w9`RlrgU=F-@Aqwrnh1Hms+gbd1(uJ+?d{xL&9c z_y)E-VZ0Y|)n0d*`pa_pw4zqozLSbr(=FJ>egw4=NKts8UV<|pMd)jWnhDLh6ND$C z5(qF+{5~zbW8?#0B!5D~KmmUZ3TUM%d{)%7Zf%OgPgPW$8eTA9QhgEOR(B1vqz0PR zMsiCLQ-80lZEIHcQe2=Dl-IA|5jWwdqgtO(%?yI!jK~BQDKaN@H4Mm;I|18n)J+1m z5idmW@Xw+!*7UxrQhtvf)ylw_9p#^WO63=2U&A$=ZDb?pAcR={IUg&c^K{VZ(`>|L z;CQgwk#58{T?yVv5wwfo4Z`7+iMPk9HJGy@3 zv0XVmyXE9&XXi@eRvi8RNP7>!sH(1O_@3J)J()}V{popSUL{Th&U9nd(C;!^#-bn(2KHvNMzDjrqnN#=Kd+oK? zKC))o+QWy}_8m34&$OOn#!!@xw`i2KL7A&OBT=0OzQ${GPo#v`=pLvmqLY;;2R8u+ zNxVj2-HN^IB)+J8k^KA^^9%6{2@1sDvqb1IRKM{YeBmqbTj=NFYblkzF7=f+;MeKQ z0Ya#Sot9A?M3rp_SdfB%Z;zd&nkImvA~%5*(`m(Ye7am@sdSl<-15~t5Rbv?uv-0+ ze4qL2O`kcPB}2o<{A_&YDFt|y)ZWvEWJjYJvA1+Mx-!ZZg7IPb0scrh;d3>7t_sqP zil_=%62ydXr*xenKgvRp8M9gK7AKxz%ylNlxD9p??>WAt8NMw(^|Ue_C*8u{06Ar| zG|w|PQIWw_VLG1BV7)F=13_p-whIRiV_+6Ua;WB`NG>o~4Gx3>4Up7;F1WEi8*Z`q z_kbUVmm@e>?-2rE#?c}ONSAM5k@jXy8q}|sQ>S)vQbK%e4SVy*=3} z((kbrZYf)8<7pXbgRW>MJl+ILAL9;71`~c16~- zrHYI%DzBYD^H5-yLg{`{<&c+Si43=+G&ePs5i%2Qb;9}0fqRUI*=`U~3wN{{vUcT& z@eE|tKHJ)~TYJxh*<}Syb?-ZM?rC-D$MX4kxfopCsRd`gH0Y_dYnJ{xoVg#jGf-4B z(`LUmf}cAi&%fA?m3K*YGY<+t-fp8jn&1R&Rh&)a+SNy}_ja63*2Zc`4KJ$_qkoq=6? zvV>J#FLxX`=8=t95uBSLPy#DOKBczQP%4mydIrTtMqspcGu?`6(Q5*QP*8q?q!2V9 z^!_18w<{|A0#$Xi2=Mj-&dm7Gy6sA4{zh8A((I|U6s-L~)W=O2AOa_GoeFUr~%N2fed z*K=URdtZ7R$?W0HMGHH(%zLrCW5?Z@S7$7~TNyBUNg($g7MYxK5k_o(tsR1B0LJANMH$rY4H`8x7;iu#jxCIQ?#!Pa;X+d@gkVL9RSQPEA zBhP{AQD}R>gEwPorGL>B{^`X_{A(6*p~u>KYDCY*{KrneC3nhb(&7FlUw3+$xpquj zuw&P(^2l>hCQg)F?LR#z{`b-Ljr5p1f~ zDX*b?!6%)>KXR`Z-#c9{pEk}`VZ}@}Nj+R;ll*mAlVF&jw2m7}E)J{_Y!d3&EShQ= zf%~D15lK$`0Oam07GLhp73qp1n}qN~q>Hg!Fhhh>186V|ln@y)?T~JF!ali#eX5^J zN#wlYS?%T*^&N~%a=n2W?dA_3G`uV|Rc9Sz3zCsgZsv08{Q2lc&Sk4aayinr=4|_~ zmQ#W`JZ#OGw%6D6TUSTk9%j9=uiNrE-lE{3Pf1T+mZITH_XZb%^3AP01r97AUSO3W z=d7t=@I#PAu>#No&qlBls`yG~RWAH%Bki1mw6l*hVer$c<(y#^APj?};bW^sv!dMf zLtp>old`)vP|mqjzOZt6FC?93An6Pag?C@ewv`#@798$&NvwWv`Le^`b!y@LtwjgQ zI@9=TW2cY9j=Eu~@P;NiiM38lW(%cssUE@)?`Q$uO_XXX{h)4Ru>`dU)W{L(=BMN8 zSMmuYDLpMU1wRRtJE}p%e+VjuWvwDG`S|NNH@V0Nk=4boDD6NTsU0s}uz;pw6cFv$ zLG>=8uBd#b{E8PW(303w50!r+xDRG2k>Y&l6iw|E{_7q8FwF^EJWOmj;v1nxM2z1m zeu&6gfm?eEKcvv$hal}t3>+idY~<*6;^#!sjYlyAc9EgJPGynyFoKa(z?1aem{n7h zNE8o@%?kPp%(sv3Q;h-R0)9fdy3$Q-P;q%7JFyTKw(sok`D8+51?8id_hAV^M1R@K zJ4O|=Ux@r7=0*AwRKsJZ8Y9RYQOX@hi%G~Q11*(gIHnRpYOp^fcs^#Wye|ociswk6 z2B=%f1MA%MW}tW>SPpXc((Bi$l;_5mrJFWk;kE2o-n`@Pj^1y{ZHZ+Uvv+5+3Sym$ zbrJlVaEgaQO+gi7Bq8J?;$K02LfK5Z$coVi3RK$sIPCW$YuD0NuUrXgpfalA?uOp? z#J+x#w>wWBWPDC*-a&gG^GzluN0Ku!Gz6O|=BrAmaaSYZ;wc3veP{VNjr6_)8mH?d zi1(nbMY-L%RSYmjGZp1aMve(aSJ2mtN*?jhQ_T()H9fW|p&kn5T3Va7Gzxl*r~bws zSvf+-?eA5@oLZ;(jV$b^_La+93Jy*o@~6Y_mbz(wkYbkHc>faO71%ad0t^-7tK>z1 z`X`1;-WP^yN37<%{^A)VVy#ZL%^YSm{t&jTko5?zzy0nfUVeOIVs0!(8s4cin0f-&JkC%FRx;vSg$SiWc z1R|)a42F{oKzJ}BQn=50KM=n_v&5B$W=n7Yz4|?22*j%&AB%eZbxsq$+71ug!YzJRZdIZD`%B)r)T$tTvC zza`cliUSgf&=LEA?#7D0+%LfNWN?Ta5PI^tIFLiBn_WLQyJ6jiZg(bxhm%%q`0%@?-s1URTRx|;~L0h7W+0jr=}DIEOB z7DixdcP9hS#Wom8R*ShAxTg(E1%a=OXeuy8<_-Mloz=%V4{7Rj#1S> zO=t6FMqLq{p%MF<=hxg?c(*I%cEq~Yp0G(p_wP?E*xKhG1UsxLoKKBEzllB59mhb->4@G!ufmBy@U^tutv&Fmo=vT*R@VY#TuV)hnO~$up2_Vy&uw z>vQhjFDtK}6V*@`5QdHNRY<8<8C$nTd-pSocd@S`imIb_@87@MsE$G`g1x^>U5WQY z+FQNBu1*62oZ)EgXgRCV35G#-IuMc0~FH zje8<)`#;E0PPL{!vf*M`S@anAP{B8Iq*!m|d6^BFrS00LdHci`--a%Qf#80Xga3O7 zzK2yx_BcaBEC?!y<0{UraAJJ8BhD(W@jofQ>`=8!gBVtDeZ`AKTwj{4G_vA5R4NT{BCH{IHMM?y8;pIb z6ETgfeg<`k?~i=+sr-_ntbbtmI`Hd{J~9OSdLA-I?ZVIgQ1dH(hB5u}Y;E%!jkD)B z=v3ZdcZn7~4Os;6G1P1FTiUn4%TSYp9&ZYq?E+XenbK8qh}<$f94(FDak_w5x%wz*W|aW{|qduxLac=5{C?)`7^+6&|L6L*{aq1c*S(@ zBU+y|;lKS7K|f=Lx(h#pYN@d|7Qp4?^WZr|Vw&7BDi6YEp}a83=Ax261MjM=Do2kq zb>{<1c53pvR_)ui)(+}ZSFM_==lAH5kH3bWzd`+yO~TJNwbhUS#$~GF`(RL$KKMZW z5-K#Zv;>LORP74lH-~gv4ER5iMN4M(=`~|UuRb$JHp|Rt(j=p1Q!TdVz@oDPn?FYAp+6;n9(LXB1_cVwz7f9qc#44e*tFJN zYURY#uHj7X(`4YxnI-iG)z7FC8aUe)J$_i%l?^cG67@5sp7slVKKRST5DE~d9i&|k z7^Pra8QCuwYP{@}u*G^f-Oeh?5QWVKUx=JKrQY}POQaWkZ;o$^Oo*kg6fljkz%CmSYe!i;l4%8h1C zSPomV;NW3=(*PP5Lyz1S*go{Ozo~Z4_x%t;b^ZG6i!*cwFGX{^#p-7jjj{f~;42#A zo?4{s;_VDFqC9_z_s;YU+%aYE=o2t=|1%mJF4G<8vyQC2&{^@9=NAqePQPW z15N1$>nbU&@DWsp8)3yovB6kSZY1@IFo ze#8^N2IKhp1YFFh7NyFSB`huow%`fu1htgJy`fw(+(f{kW~nsoPXe%oiNcOqBqtb% zu-CX5q(3OKd8|8@4Y4>)S6nxS3(Z{eeS2lk-v^kV(uz-n#N^*yH=%bKt)EXTLBXq- zKpbMs#lWdlqxKKh!H24lTLd>#tRrCyRleLmqyUs-Twz|evAQ3}lBz2xtll*Ezcmz? zR1c$>hWUol*s7~F$rz}Nj0sJgEDZq=@F>J;`ZSst6170BMzJgV*p<UBs(gdnMBZ1C;Ag2r@mUspnoUB@AzUpDA<$r)C5Q$|2;mUj`1zCesHGd&7C>#V z+=@x-^YbJ8z%SGwHjw$^PV%#sCnkW8AjAe9IRldXfUCCg3KUgv{{gUprV5*JpidqH2|)b1sOxq z8o}^T515vg2!X1!I%!#%=_$zxsfnq;m+h!zB#8}_hX$iO)JS|2hDO3;Lzq-~+IRdUYxJETeCVQ5{X1}3UIp+Eu)uHM;pg}JmHF*?;e|aHSlp+d zu!L3wakS!BKlzk@)|e23#>$Z6yLP`MpY%35w!8Egt$Cg#=^m_ks+8@i4V;7M;wTJ* z3<7KiLQbKB031r3I-GYbPO6lW9vx+BAdvSDH~{Xx1hGA!fO)woQe~ZiLx56hgHnCv z<3u31@(m638ov%&!LIvt%t7cP{3+YcJ}%oJd~^SA{9@EwG}bdwEbTWo190H?`_96p zwHR2^T{t731MhHAwO$AvLOe<^DhBt9I1da(7=}HHOtCsra30+C4b3c)S&0azK|0Me z7;Ff@SqmBlzmFlK{3P(Bd@Sc}pJSTqkUi)PLn4S%83(Ju|l`6p3j zn+CAX&*mX@Fp;n1ALTvEpB#V;gAw=50ag(UW(x9IF-%vIU9zNy_~An16jM9`1{Ik8 zKpC+C0*!$yE=g%A&IJ6mSVAcL;I-UTB_cwU%1T`@5eV|~)o3bzr6v1W^{DtJ?luGL zxtoiqTKDdaxmNFoi^HjK~Zak3cDcMF?6A5h_et1z;ACPwFKjuArlhvu;*!<2SBcx$CRn4eK*~ zq4$mM8yl4||EFh7ojY#KLp2}lJAdth2`jX+kDlnip?1v^^WXixW^LX?JNU?T@A{de z2Q6DMy8PvwM%(92d~7q$cLZ?#RJAogE#k;T1xq+08cq!%2jYEHpcx1BNE$(B2l2Rs zM+rK2?qr)$2Z14ql&A=S2m$jIlc=e^`HN-zvk<4#KPWytx=TXawz2O3`9F0ZLnTW{ z`3j!Q&MCE09kRAIFtkB0@8X_4<&kzHW*buRotmM?N>1>h@p|hp^$8ZFJ~1pfR6sV6 z+%<3>fo{lViFssA*bIRYAj4K!Sxl_g%A6E&WD&HXl!I&rRu&~%_RDWP)nRMbnhjUA z?lEXc@%eKCFSv1di8^>p`&G-AJ+!U(!PV-o4{WQQx+v1!u1VIQ%=Y~2H|<|RlsWw? z`~LEzz?9|QVY|+s-(_ELIr`#GEE70b72hjAsvU7kgjO+@6XSLhIkReQAtr}ZHLWqJ z$yL(1vCw$WNDR_$X$hTTCv zFHL@7>D^Ojj-7J$?2MTY+%xf^7f@0E`}1$yVA=iWCAwy{TVHx$sor|%pcd_Wt?SjN z-Q5#A>O1#8jwxUcQ}}#^^k1A517gJy0-`nqt}*@)>`M`^;cKUaa#96MB|G>Rh>IK! z07xK17@jWJqZo5Is$`tG${T#&{7Lzp7i}CbPikJ2U8`-^!u|IxU5WIn7XmM{dH;=9 z9~v^uno_IP*tU)o(Nx+}--sI_a`43@u_)zRn?Cfs0%S`&68p6bkCJR}x}P6>E- zkR3Oz20@%A`iyc%{4F%h2Da&TkutRjGh=*oPQ-uhblXHQZ#|io6p<5LGrcIc``sb+ zw+%b=QrYCGy=JEJP>ycJ1Az&#Rx_cvfw_Vs48j;oI=N{jjl5<@xi4BnBVg^PI^?R`&BB5E=jI2`?i^Y41EgBY? zlkOkq&#WD53>gy34u@wZ1z9Z+;<67NmGzAtugX8vuPHyI`gQJgV@GzHyh-)zR04X+ zR9b_f;P^bIy$W9iyv#ayYRG(~;ssL*kOzcrF4lv|eP|!WQ%U6%xO6ID4FfQ)cFAsc zxQ%Nm1fP`g&BoSWwRY346)RqRWz*zID`&`)JR|c`TlZ}6@yEN@Ok2qOuC#bCOVg~j zF`Y+F*}Qef>~%Gwk~)rWyDzu5r$uf?W_WPUiFa4Oo|Un2(2i##ArH)?4mexeu!j!f z4iesN2>yZW4hMzAxdm7z1Iv?1iV3j>A~&AF6EKf-}4rZ$u34S{QB+J{`qD3h``keoSx{*2)Jflk*KA0C@x(*X)uyOwc0pq`}veSpjOiQ2K?h2qiPbJRC9ztYEFGQW8rdBIV6Q{+o>y z`8@T)<)$xwt;$c%n)1N1#}8~Skta7FSwFR9uOEM_P&>c-q+Yc6i_IDLJ)f1?b$px0 z>h<=tte2T#s|WgJ##Po3Yc&e{v;g}QhR6+(FIgk;Heq{ABY=CB>vE?UlwV(J-w^CD zl||@La=Bnf)dl?9fy0pzLCOR<6}dtAej{r7$LyOq{jSn(?PcdWnkLG;ypZwtE&)NNrGKGzvI2-#hi6?2(unsjOH!+kD=}0kA zA>`!{U0?E4oflmFP`RbcStHtJ#Y?6ogM<`LOJKosW@L{j_|U8_8#(ocRgmxF*Liu# zyfHmGt2_7V+or#QdRNQXo<`{ zr8TpnV~X*xkxzg(*UpyjTBeuj&mC0q8(?SoPyBM(FZ@sA*%jC(OqBO+~)Of%QuxUzW6w5&B^CIP*o2 zqfwO576d?{R1n7>IZteOnv|9d^%R?%O3%@r+<0&?eB%q>1n@o^DNl&S!;3jp&`};f ze(2PbQ-+Nnp?36~Y0}~Nnd!UI(|1pM`&j#?YNPvkMaj`0b{=3g`S}Aozdv5Wl*OZY z`KAi~{Pd|)X0Wyuo0&QapKtUGc@91U@fp!o32h7j9l#@mUr1FXpkDw?tRyc|I3eCA zG&5k5%NZ97+D%v>Ra-{0Xh{E1!WqhghJ$D~N=K~LJj@6FE}dc#N65=}AC-Zuy|nJ( zXZbsSeb3)7d*@}*UOdS8C#KK z?K^hdxUm=-a3FQ7b_B8JEKg9h&=Cnia{;-)sJy9xv6FDJ(B`Wq=ZxbU)8SwcYIAP$ z9e}pP0gt)e9||}Pf4yJ7=MaEI7~YfNF&JrG3oxDAgd<9J&g^bUb!#|udvH>HE5C4p zpAWC^46&<@sJgChv+F&HN_+LRF|e~2ni^f!$-HI<6_u% zy&le3q*PPN_0$DV+k#VO0WaF37m3%{WC>Fjugd5ZCoIBhPj-j-gDB*J(Kl4O$iu>s zs-K7V7;Z)?ath`VL{BVn1oe80gTtSe3K(N7%0 zK0TDJ-JTte(=}u2)ETTDAO38&E#5!-J$u){XZzAQ{QK_%JFnCD8S=z`Xv8H>mfCq* zgE%V3M@NAR5mzGwYygU0$sht%GZJIS5;ErB4fJX(J%Nuz8bGxyT7KB<$>9+I9s_7b z07+>ZNaZ|BMhIf$#7r)XOEj#w4D@tOxAnQdvvBWqP2Raw-m$&e#?~vjU+FKQd(_qH z_(yq8Wc<$`ynjWJAKb8V#rkNw_a{O+)Y$;vXzlAECVUt*APP<#kU$sQO7I(S-VmPx zy9e;-lZ(eS0eV1ww^{3p!RtM6kL-F&BsuZUnH4@n?-Q=)9mUR-j^0D)?bPkxB+up5 zo67!G^jwyjNRnT7ta}ZN9cn`;VgSji0P=M*?mKb+(Qb^QKU0{H63PsEWCEy(iHUK= zBqiCME^BfUwORqK$)`Q*1pEjz0Fi@@Jaxs#=hb$VvXNggne(r_=Q$k4i#O_}ty{=S z)z|R{tMLyppYHzSyb3WEV8H13)YxK3tW?wr?t6 z`}kOMm8|4W#Ee6Y4X8?NO1>LZ>lJ7M-4|e(WSv8 zyuqm^u`R1{jm<-U8?7yxia7MAap?DU+*GD#5W48If^(4#IYn5Qa@Dz{74>nAOsF^fH3kgG)8etrS7x| z2(RGK0rRB@Q_#|28V#9zA;(G@=T7Z2pw8RMysHFUN=q#maRfN?jclZk_0Bab)Mt;K>=U;nMDG}rCj;&v{Y7NcD`)49#Vx_yXo+Hm7=-@pz6J&hspV`2HYRuXH6Gpcn%fh=S|b@*74uUOO20Wwf|{A!iI z<>$Kax~tei{(EZ6tjJ7zTw?p|9wn_=(sEq#QZPo7S{3)I(>^iIo@uYsG8L@w;#EAS zGh8WBfR$%)YjAO~T^_;qG|ti0C3Z*GNj!!9Ca!-VyELh*!@dN4O&aqq-cmcss{Ozd z#RdBmYfk+!2EyOUq|=*1^^jm4nI-r>k~ZEFxY^WngaA7dvi7|q6jx$Z1bS16$yKk$ zuOvTE1P7~ZBDWS;1MxtrZHvdxUBoZ`_^v3rKe%+;GrP9$+O=uTqx*&~ua&Z-S@|PB zun09}_#<^Po|yak)%V`gCqKM)#-jOK7EGD6qG|27pe;K8eXY?rxW}+u1|EdWwKfuGTX0&#EXa~+iWCL!Rxqzo zZh?Lk@XkTMVOk-Kf>9xYt7tqLHX9we2;diaB1Q5a=c-L9aj3VkcHL%l$;wZTi%E~j z%FpDlv1_7vz?2s;cAqihI3p9gIU<*8mby)NNAEuBAi%EE8NqnKE7W#iT^*F2z{`M# z0g5QFX=nkXMnZl=&ZqD}7z>y*SQ4Qc>Ql~lKylMWF?7|lY$zD{PJcm^?bx^V((aoO z8ns0|CUSn_{T;zKY+^RnOOA-CTvcEHi2C4nMPN*E#LuqOD?(6z8@VE5Og)W53ZK8; z&2mM83XF0u+*Lc|sYU+;I5C+~MU1S-0{yI!ZOlSr7hrc?~-AaWB2~)=P0^u`j&+_6tw2oS%PW^~b~& z7srj^Z~pi*KRuMb9;zIC@0sV$E0N{jy!YJG7qI+vNBIt|T%0BJqM)oH@ej}vf)chu zK+br%+Z!*pfQn2ZCz~zTOx41kR=(RtOA7PdKKkm72)d3q`IWCWw}5SL7Hd_$*@gxS zq@$%o(!_>dY^0r(_8@l!KS7R<1C$3#2PYcgoGc9>r&IV5kO~8h(M|`*oktyjOf(pG zQN$*6F?}`3$`hr7o}BgLpR{&MHWnQp28Uu4PWP|yYhI44arQdP7WVn=-6gRxa=g!S znCpc4#^*4;c=B;bKFBD@P-M6|v0z!^^2K1REMF-07}Nr-JIpeY$mrVw&k{b4VJGMT z5}u9utIxWDzk&Q}Df_Ne4k%^c7-sFybvG{-Su>;3&B(Z$duVwbV{?+vNEJ}zgW(Yd zPfdYHGi@Yxnzi?{pwTh>FT<5Ew-M8GN{M(mv70t>+{uiQBO!_rDz{TCB8@u7@?7cD z5eNQiYiuk=OD`e~S2z=kxqj>Z`i6{8k_kW3M`5hg!wR|-Fr|QE$u|S1G2HOYRLDdQ zmShB{z$=K!8O-yAF6gH~_3C;fi?L-0s*|Nph#T(_)ij(SR$a2B5l7DJ0n$ zh=R16eajqCAOV{|Ho4NzRP2^qcC6YI;ArNFX9YH(e7P~76W9pvV^tpK-)AasTWqoX zvN1RLhmu$%sT2vdo5EKPMP*Ga#oIA8f`e2Els`NVs5Vq+R@ejN{sy4@08a)c1(cYw zF_=?ybQqxj=-BAku&6MH&1%fY|DW@z+y^m-CvKX9xe>Px+~+ErW5p|m*m@8ABA3+B z(+&mNdJLpvP@!N7M30St9F&mdRf}THbVtJ9FpVuY4FNd*72Y<$%x5 z4qcYzUZVciWj-IwkJ{0vZqU50OgU4l8H>B3ZPKo>_$FCr==^6@d}*1cy^Pb8PPbJd zqH_%JD!qmssw~lw=%9(2z}#WY3&qGQqg4g9o}xu4eB5v-01*k=h*NV!FFi4XLJHo5J5G- zNy3tJqoOc@r=_N*W~62S?XcR@2tzQcZKyLKsYRKW!Rl0mnNKB99??yb&T{kYJ*_d; z^ro?Aw(MfzKgsu?XUBT}!H3z!9WwG_S?ygLSqT4S%TBhZ^l?qAQ;Xf5^VYg|zA!vP zxe*`Ns}OZBmll-D&DY(SUmOb-2<_Eq_~CVREAB;x1Ql@`UZNTdJ5~VPhT85Kyi(-$ ztJv7|Qn_7m8Sxq5sOwTJixmxIsuKHX(GApDaP0x40fBZPy=o>=fj!Gp&-}>CKc!qs z(3Rpz8)W6NBM-bBsWyJ9>4PgpUPUSA-(QUUn!nG|zFx*WY)&nQr=5Oqe4=CbHm!Nr zO~+S8mYzRf8oBZ~=AcMJ@L;Y77I;(7K)8vhLN`Rmsdpe~_y6b_D6n&}O}OTF>={^% z3SvAMfKPlq1I@_7B|q`rcLRD3pM3c>?|6DNSjPB?6UX!SzL;B5QvA8vXzkjL(-Wc} z=(}NysJScgZs$jPbneu1eftibI@9~s785ywIfM!ZEPymLm?LR68Sfg3xfOXZIp^Kr z=Mv&C039L42B$zcw(w36yNgTlZK={Dab5^tK*wI$7F#0oZ)ca6)8RJuynw%=z9!bI z2JLx(Kgw>=aTqCkxFQsf3m#@@3)Eu42@wP~q0DE-Z`rMLfQp(n&%crvYlw7UPrbp zj&c=XPIRL=doh7hR* z!Se=$iH#$W2Pt7ll9l-A3XYA-!AqGrDwWIdEueed&SH_3dW45=#bbcx?Ypz2n4T?fZ1yF6M*#s@ZV@vJ?T5g@YAXWfBNNrRS z>qYxBiH;jBseHHWm5eKBtS!c(9>sY}lAs0{j3gDZY#}&o3bl$LXw{*C8T8Kx8MniX zkgasOsKUs6r~d5(4Z#CdbfxLEcD0+N#NwQ|+r+%fdM!n#;#Kp+Z9PKRDNaPMzK$rI zi281%;|51po(Khz8d18XcKUIyP@>ccRW zIErb|B_SC8iNu7Uy{P5JOM)R&fKxl~n`x7&vjMG>@0|V5eJHCcs{f}xl(d@+ z$n8lQ9?)b`(WhcqY~gFHVbxl(x(2dLyH|Z&HezuQB!h78Cgw8o52gvGAP{d8`eNRR zvpfX;@sr}z^LTu|F?-*-C@R@~`b<1BYG>?IDCK1TrC*tN60toP=q>%qd{&UsNNVT3 zpM2OvX?SM^d|S`gEi_`;g)iweA2T;hE39(uEYmdlDoIkhx-YN5A z>qJCk#oRkptsQEG!}yo|JAO4Rg#S#t%mRW!SloAZ_=C+tf>=BBe*Edh>;8V_KUpkq z?0)ohi$w|7{k}U&{#I*#O#Ku4V2AZk0U1p0ENHABHNlFv;>5>Tc(rkH?5=xfp~vvNsvGoG zXvmp2cF{>T?~e|a8&(iF92&C(2Z30Gm(LL)Fp4N!B}PF!4X}ZI7zNUeHYZFDEHzmi z^a?RRiYoInM4%IM%Gg|iQCk4Io`+CiUXS^y?T)j09{cI;s*| zq9*WU`)DUc4-Y&TBD>*3mM|2;mZ-?{HeiG~F#T%j6A=gg&VYfT)SDQW90*N-@^X-N ztM8#XI*iGvgUP^{{@?Kj-2STM(7)mjP%k3C*hSB8r91o{@CTqxEa>=q7msX!K?0X@N%;-w)454ol>BRRylNJdODM$GGf#T+mlgzo{iBe)`Ld zulbuFEYthW6z9Gbct^7_k7z^@@a8ZBa7h`VC%Ouu90f{xn5_!Ot&oBolr)H7N=K=K z4|PDXxI4*O)n&)(tPeJ@C^L2?Nk)Wa@Nxw?5OHlQIwj0MqT;PjMclL8(Q)HvHbAJ2_L`A zP6_XdpBy%nMe*`6;{g>1@BzhkR@=RO)T+aVFCl;5b_5$bM%cUr=#F&5+g?lR=INZC zCR_YmQ1pwFvD--RqJ<2O3;ME9Z%}MOAu{(>_<y865rO@y z8VNFb^n_S*w&R$BWvL6syF`YBCX`Z{WrzVZq-<~?=G&!VRmt5j`J*kZG>7Eot- z(nORH{)TDcWI&??0<6Sk#XX>vM^y}DO3-{B6QPyYFhkO^M=KL>*@$Zd+7a!98EVlz z5Ss#CCFtHHvhE=IplGz0#FC7AK*$IR0|d*JVojd_KLln)n>e}8ZJX^qcptLRW6^Fw zTYQ_Qdqvg7PoAOp;jU6OYNa$V7GKQfp*P+O7u0Tmb; zcQgqsJWg04E;H^4*bqH%qR6P~I)sn~(FIRzI4EnFf_e1qI4Zu2Vj!V{Q7FRVW~B!Y zl1&QYzuu$nKhVm_11lGTX!F8eYW6=?vN5R_zVD10|6+SAy zaSXs27$ADLx|_vp$OE~}YT{d2F1{R)l32zq;%yZ^DaGtOh;Lzc`_>fBmT*bQ(V~x8 z3A;W3*lVJ}90p8KV9_a#q%Q81vc~BpE&vWsqLfGsiDZ}PVPr_Xm>Dx4nY5BsYSjmP zd1TzateiuWp8l|GLjSRg-kf#!uvyx{8y8QV>(je;pL3_w^cxq87cM9tl`w>;!W>M*R4H9*=hP?B0Q^GP5=h*;!WBw|(Knlf!y+gRq!4<=JCx+q7wW z>{8HRQ%#nt824=VsTI6IVD-wcSO>xCXf&!V8 zfae+kp@|v@-7{#2f;UfayQ~xf*6{BU=<7|PLm^x63A3|m)l5g$0Q--$M_7>HLsFzC zn}!t+Iq=FH3KA2g$_#?ZyrA>~Y_Wby@C)DiAzYCYPf7WhbcbLD5E9R7Sk->iMh-)>gx4EJ^`VM|#Z?=J*K7>P_?i^Z~{`CY{t z^u>8j$2*fH4f71HiS$#Z1w}exz(^26Y8mc0RO_av$bPy`*e^v|@V)T%fY}ODfi9L7 zNl2wItO95~gz)+G2w;AGcE6Tcwa}izm%QM~aO3mgC}GjyHtTOD2&6=?Xz5^l6VF?FP91WGWx`%sTW(b zd3)KtZQtjqEV(#b4`(U-68&2otQ;us7F^6;W(|Bi<}|!@bFeO?hX`*f$q9Y>Kn52& z2A%`t5RHDLB!>|w;SS&&fc`Hjh0sGIdVrs>gCh8@5~-*ao(Wtzoj*g6YPFH0S$$)97pN$;bhcgJos!%;CqTFRT-Y*)YF@ zd<<{P8LvCz{e zBoGz6K~lp8b+c>NN=IN znm23Ogb0^*R5ze5#YRo2d=4aTl$hC_w#--r-v;Lyt|hjyf$%Do+5G%%x6o>CGFV>) zSOo29v89y{NDcP=9XB+_x9tN~=5igv(6zC{GPuE#ALUu9L~^n)I$DM}1>_2H7i)LB{jYXL2CT^C@0%xr&UOZGsXS$wEKzS5 zys{1J=O}&_;+LW@8fO|_f!Z8_ke_9=wz{jJ%Y-dY?MT0O?XImWem1qil!hgfiylmO z?fa=iuaBP{xvOUS!IIanHqLF`E50Oa*M#}=)=povc(bzGR1l-}NWgjw)?>ta0An-O zqZTBIkTn6Ii|7uQ$0zZR{68FhQce)44m^Akbs^Duc#UwjO@tq37MCm1z|E212sAx3+5TX;xhXrw#I59A+E zX~3u|EJp&)bJL#2c{<1P&4!C~$)VCpW`C2*n ziXlhOcCltcik=85az6j;s-|6K2{%SD>nED_F{h#-p)U&kZ0d1Lo<8t-SZsu1$eqAP z1m}ckWMa%zac|BPU24fwv541Cnht04+2^W}nYn?k9UM$d(oJ ziyuU-L%JNeLMVm$@T}aQ_|(IzG;P&krS?-xHErorQpl@FOYQ*m!u#P&AtdSjZFBpSytDIY#wZ{&8PDQP(=hV2XW<|qo`0@o4&AnQr+lCEiyQ>Eq`Vt+aa35cIqTMN@fIvu2-~r z8RdtK&afB;w4|nJef3=Iq6O>WqR1MS21JIz$oyE8fgp6L@*rF;+%Qwm6bl19!!$iY zUCOMM68$5=@4x8;-mDU;)JE^SGCAXp8dK^)w&<^BXwv%Te=AMV_=_r*;OsqHIezd) zfQhM)ID%rog=PU56|(@QG)TZOFdiZ@(R#vo*fm2Q>y`=BqrO^zfF)q7w}{xv%V`3T z8>n^+EBkSy=yLMk=h-Ay^A3Hv73qG&Se-3>p*QXU|8I<^sC5gpl`qJT#JJ#i3hfW% z-2y`V;q05*A3;(;NKiokP!^2nQVRA5L`D}%!J7bQ4scmz9br~htCm@wtme(AJS3-X z9V%T7M_r*c40aG@8b0*WgdXbEcQ~lKsaeiig+Rb3LZ73gWbsbAM75|2hcGWS$F3gL zpZMtVQPWY&S=Cxe0Rcfhq@bV>09U?MgP(Zw zs2$NRO0LYGeo|gG zYuMeh-dr@c|Aev+pPqCmCu`rhBVXzp#*Hg3{)%8Mg0F5|ELmXuS_N^5SU_M}+M%j> zKt$}8d1&%zV;%eG@)Jqe>Pe|%{=@)Yy#Ei;n4wLh{g|q zDto}n!nWd&cEi-6q6D6)(fN(4<8x804XXqng%DL4cQza>l<*T5`3;u$#~;jvX0lK1 z+I`~0ZhRD*7{|K*4g@Ed4dQ=&pl^JV|6ay#yvBd0u@phG=L?aK`q#0*Ox}Jhz6^mm z7K1~XBR^jD%;|~`pS=!sj0c82ux!cFF&N0?1eST4v@bp_)rT&FHpaGVn4I9#sU5Ut z$OWf*kXI#|2{QU{^k`wiuo9FK!zmTee{=-(l-4Y61@SlG{z1ySQ<7 zCckiRZEfS6@ne(2>(!rgFP5TMv$H8W8oo+a4|O}h(?=RhL#&|g*-#kZuoNF*jk{?d z&0aQ@mhR^7r^9A^zm2|M81gg1GTRHL!p8bZHTelknRWoUQv&e6=Fk!xBu$V?q^~_+ zfB*vJn{Ey(@=PO#q&ijqfa#O+ven>_Hu_|jMaedNt91-C$0I@0SM~l;%&!K+jtBIQWkK-_b!j2}vGF(w;gu>^K`l}f z;#{FxF#c&dapK^?UAuZbb?PK067hXv$;6VmvuDnjHf8XH!4t-f8C5iVSl2;a2i?`b zU*BFmJY76pI(2B*wpEKd&FeI8+L+$M#H_@uTAArEY+(sur~yDK-i8U2JaHNfo6%CS z@=)LUd)t5f`K{moU%$Wg=P8M@HgU+{Nyunt*R7kyzL2#^g9lGmelWien)?Z z-(~T$H~rSz=cd2v?S((B`bpgQNxr|^^roMy{-SpoIkJnM*{D$_hig)VuWL5M*Zx&s zd;hBXnqSkqju_Du-_x+BR-@YAy~Fq8DUq`IFv}!h>nfBuLvZ7xfxNl!E}^Gfk~30K z4I^pQYW^C`1%9R)u7_pf2D)rY zDzs)E+9m1_>TLd<4pWHhV7`X%Kbx=G3_28=vyFa|a*| zqDXBpR;q~xp$a>M`d1qg`bcMiQwi2CnP_DGk#I%|8hJJ(M-b#0GKS`e1%Xmi<71;D zLD2G7A@~AIhg?sd;?pA#@DuUCY$jFRseU+xFPVDp*G%EwulZ?04T-3pOSSv_wA{Uj ztt(=$|9Il$b>7_vlkQ#h&@lo+`#$rueEl0-yp2za8%g+BJb)A#2du1e}If z7MXIm&6JcA$bpd&ryvXRZ^YnpMS+9m#%K*14hjTrVe;L~+EYhPW!fW4`ruDo3|^ z+ls|hM(Uh9j6z(qPG8iPE89_W8v;H%x=;dFG02zrAVYh_As)qn;mdLHs8a4Sx&T;rO9cXJA8R zExOzwBdsZw++kA5gQPFO1C)yc0}|8*S^;44*iDi$Frav$yx>F~K3a0&y%x0x$Vgiq z(2vfOd+-e#H<^}V6SrY%alyAV^eY}aK0?PY(Hovrqzep#H{F6@nQ*|-!LOf;q zfkjENF?d5QNSY8RNgi}Qoqw4P#$xCe((^>glZH0Ac=X9k0iYAT6m5_}aYAN6B#J5r zMMY0xvQG;|q`4|3q-P=}*W{P0y1f2g`SnvXv4;lOO8paS^0&ae{)>O5%FEw8_Qp9c z7vw|iC%>k;v3`l9W`K+a!?6c97tUn?c2|Y3fFUCsMvewdNuuFv-AMir+bV!%tJ{`| z6sr(~1D%NCUnm$riixyZs-@wa_8jF96>-eF!s6stj^)gsC_lDLki-EaA52tSv-wvQ z(nm}ASFW|L%~MwI;)iKXX`^MVE7iO$)Q+IOzO$!;o!S_|n8(3Hq^CiV37&&eK!`68 zP-ZDagkGr&8@n{EqYw_rZpu4(cSRJ- zvp)P#6oq56i6uczB|BkWT|J%b76qK@Na`4-RiB$$eQszIqs!>P>6_#KGBd=Qx32{8 z&8*Ov*}#XR9<4jIgURMk&x_m1qGs?P`7bpe9w=sJ5E=N{bLT2K{k3Z2T=j?mr~lY7 zs`J3KFfY`4>hEH|QYnh0I(?NzAsI^93v@_B_7|}?0vS;?3WQqL`+@r6)21=d2~^?Y zN2N-sM$x`gXuSB!MgKz$;&kX9MJxS}%KcJb8R?xX_vr?S`Eo>CD9kV_piQntCdb_9Of_E(GeL#EB8v`oZ{1;5`aC1%}E$k*LLA zqP!CR2+|M8m{C&OtV9-d(quwYeM!G+_B=-hL;96cRYBj^Cc3DDH`>+V?WSZb_h)~= zsvdhpRgIU2nVssy3j}^L#zHy1LoZ< zS&X;9at7-xG_jC_(BWSg%`Wja2jdk`3X)aiBJm>N31Cp^#WyK(9|^^;##2DU#-X87 zbP~m?DjxmkGl2AzZw8$p`rhEC$Djc{=!U$JA!~HI_khm2@3j}>?**rw>gwE53y&ws z2^UV$C`(Ky1^fb(8V8WVDLoMq96H!8^Jy^G8GquYW`?#*lExK9>bHF!eB*|9=hQ5v zUB6{%^g_&=BtN^ZD~()Kg21~|#!>+kipnZJTEf3{txbA(^6K6EdGSt&$`IqdAirRA z#T9Lh_6jn=4aqM+7Y#WzS_aDwOAXTlhaN?{MG)0iWQ5uzAWJ8@lIoNa5tT*=C@C_T z9apjBD8xvRfuTUnoB%6B*wbYFA~%);N~$9VPoD_Qb-T7^!fU--KirG|!1v!M)7kW; zSC2ZIC(K%K?YZZ!O&Xaqxw&`2vqlww2L9Wb((m}Y z7RwM8wfE!iS!4d@ufJ^NzYGcqmK$vRu4Ria9{l}@i-{Bu|z<nzZZO`rZJ2E5g8v5Ak zhYl1pN$s2cM}D5(uvz;ydd<2)v2ji(>srz9Ert%7>kmB8_{EJ|E7Y;pM=V&R~;P1d~gzo@VK$s7oE`(1|LlhKQ_J(eiPY~@= z2x@#4vRAZws1kzkX=(@!Iws|yAH+4>H3uoblLQMgw>StOmLP0`(|D&L8b+&N6Y_Kwi83zEUD2Sg>|Cy z)fje{-V6oSY>p>3F(IZ#xD}#pOhIdR*jrgmaw6bB8+Y@Zxe$lr4FN<6!zaTWL!bc9 z;{XcH;p2)GjqxPk{9Rxw-R9f+dHhA0l<8(#b8P=98xp^D>&iPQhp;B{OXZ9HT|R_p zFOup--4M-J@R+Es3Fs74V7QV0)MUd?CI&n18a#bW6s48IRo0L<8h}tlL_gx4R8=)u zb)l9hMF^9@`^-Us!+%s1m2cg;?)F7RSL8gF^q+M_jWD9a;++?@Pq5#xeX!L+)JarA z;SGY*LSzBCKNVUU8YrNt;eW)t4z8|Q`y^DRZm&p3j4Qcy>EJ`N3<}TE4Wo_^r6&`G zgxbMkv_XxDJ@-94L#iyx-Zd{S#(R~%#)B?=MOkWE@wN86_9_s>G&=pbmKY1Tk+FDi zgo=#F2qS(X6#@}`1MU`eT4c3IyA&3Qp^YYpF$i9)p(sB~UymoIte!q`pivg;oAz9k>p`RtD8 z9jqU#F(Tr`Che|S5h@F1L;1t})VRUt_}{ftmL@k>3KP%#!GAf0lO6zjJQDZ<=_`mT zXP8(t%c~Iq$BH6CIyM?mCgSEHw9=J+g1=4`5C(qkn-}R3xsphUC<-O9p~1kephE=a zy++m+<`wM;4a5ONB{Hyhm@qR%B)%~_`Hd_5w^5@Xb|$&`HluImh6ku`W}{=f%pRF` zR_jM=(%zEBePf=zTGc1BK_}()%D$Mb`DHCfoF!DEI7t{5*bVZIg4zdN*>K!;niHZK zqiZ}ae;=GHif6@LhX)e{!&FsQ%n)<2NXcFm&ied-*07o-vcGo|pY%Hm{goox1@h}} zh$@s)!+%MaCzr(VWCuU@w;9!*KK{m8E*n4(hEd45I$QXOsAGe486qm`J*+T8mk6#G zDs>RvB8!iG5%QA0kk*!EwN-V!CA$gsFouf812;#u2%0d`o)EIt*YJuLKayWQS`SXk zq0Nup6f3b)B{g_i>?cPS@!yixB|bD}<&KjIE^dBys6(1L_-2qvVPn)DboixdoD+|WQLttZnvhYFf0nr?WUn%u@ev>W#J~UO zIR93YU)nHp$@ZPwR%>AzoR%5f9(?t+N+rRKD>mUnnbeU_Q^RmB;-wCrwkQSBqkscz zB=Ug4BLAdn0KO>T908XL-qi>kVjba`Xf!~1FZ>jwF!5h>)c`_+R3?=^+-ao7M3j#h zpL*e&n+Ljm4I82G-cUqsG=tm1uADe|?c!;D;=^n2*|dBUxCM`}f{F^s!^fzk5tgLJ zc+iPidaOPE%g#RD9MIA$tWL#QsjsIO#wiijsrspC)hjA>;F4hifVHvql8VFMuL{7U ze7FEwanvmqK{>PP6vQRjlHAEe{k7Tyk_hNm@cD~XstuwpWG<@H!uCQdB|!GqLV&;d z#{kiST}82{K)Jp3Cx~wBno(l#_xkHqTok&kx(NBCc*?NQlQ)x1q8vu2|;Z%_{ej zG##70+565jTlR?#+1)!ogX!S@pqCihs2!BT;48QAc*vk(^+NIDQT2vOt7ceSaXO8- zgR%gKJFHf8TaLCyMT85ry)YIA9Uf;=vJes?kPha|VRw^!5IIhA!>@S-lfGdi$&3M$ z=-rQWH{=5~Cd9VZlZxF?xlojZeS^q#;v31w98MEg;L>Zm?AO z+;j94l_kU@HDquSX(qrIF(> z0N8TrK4JPQ@qrvGRi7AHdy0Nja+OPR|4#RwKfEkd23{4%Ld#aG&U*tdGLYj8B=bjF|~Cgux>2X_Nb6p^}NQ*iuH0E`_J6Nmi+ z)3YaTA=(|e9ht=LOd|USuMb#%H5pY=zDtG3#BsG7tAQ3yaBgWmWLgjT!UI!|-S_C~ zxeI&Tn;x>2wfh=G%j>q<3dYrzIWnH(9a z+fG*fA}LwczSy&Li9TxRIr;f%Qw9N>cv04`K6m7;p?3{0WGQuqj8X&q2mdNx8L_I( z#V?e}^E$w4Qv-2mFE!evhbOFNLC_s$F z+~UOCGBf^dZh}&1*lz+;>tx}F{D0Ja2YeLO_W#_O+1X7mn_fuS6i9#op-7WWq1ONc z0i>7EOQ-??l`bf~gepaf*u{cid5Q>jefEOwJ+Su%?BxGF_s;CjZi4#W&)@I!`THz+ zI=T0pbI(2Z^pl-RX9(P!S3k45Q8N#0)+su$6EBS!Hhyqw=JVMx6GyRM1!C;s?PL0s z4U_4po;kX$-;Ft`OGk}tG$76yKe}*upCS4UUc@+GwyL>kABVfwKtkWzs4#?qQt8<% zj;7fmMR@z5GLh*k8IeT@RGIas0$f;;*}2(h(8Gg6h!M&B%0UBxD5rRf^^*CdjvA}i zf9q0<2Ah`cSK+~DgGs=Ig$=%j3rqd0=Z~InptJ3l`b-_qcslDO$C9wWQp!b(dua*k zkqqIY-1j8Mp{VAf=EfVFOWGc}iV>Yo;aCL1&x4f=9p(W(si{6p;ct=Axa+TEO?htdSL556yaJn!e8>^IF<^2GMjKR z9r;6uDj>u zm+x7zNevFZ?q?>-T!DTW zFThukMU{+Rm@_EFuoln|Sfm!=_uzAh_W_Ned@kYsrP@p}H3cqTu2l%2mHWcN)fW!_ z8?WB`*WX&usNjau)wgWkJiHfz;az@~6H6;w>^{I+f0p+NYvW4Wn4ET@I&b&CSik=9 z%@RWZDg3z5186>QI(hV|D+4R0LN0}ZJy=AM$5GL?9nJUov|i`{MzT4eO_$O!xeVUg zD2h_?0RPok9hQ;$B8CI}6L)sSW|BRv9?x`f?S>fQqlm-Ym3tMgR!(w{F2M`FR?$uh zel7SQ@Zwz!UZ^Kr@R;DjLdcHCGzfac$-!&^G{gI-N0ApdL;2T{h`S&o2aSMxY!-`( zPh#r(w*$;K$ti8qBdU5WY;)pSTs*l8wY5S@FL?D8@algtM-sdX z#p>#FB(pGe!J82WE~qs}GCgbJtt;j)XHexnV$E#q<|< zeex4sM?1wWRd?kzxnt~^x8J{4n{ey8>6JI{ym8sQ&AVo5FTVLHpW%JGyiz@{xFnk4 zjh|U3w(1?JU!nUC=Xk^RJ1DQTePH|^ex~2MM;bToPk-+Qy+TENn{37#C_s&zrW#cG zN=1q!(foQu@xYAba8a6xXXK0*v)xB1SJ+Z59~o^CZZv_ECF~}ROrY#alo-Nshs@3q zBl=HoQgB*5Hu}v@UAu0+j%rUDDIYWHQ4%B}kCT3n;%=BlPrqr=ZOTUWn-2BGHe$@1 z9lLejJm4|nLzn(C>n#25+mn8m@0sn>iaHDZpx3CkI(6%^`MSG7pFHf@3wsh>>F3UD z0$U(SPcp#Fvq`;BB(h{OXYo70Pd*3y=y&ilY-uP5u%#;)GB_ls8?6x$CXn2qjWjYb zQOs1w@3m1rmUkL^;b;8bgfRNO39LJQFV+q3JN;e<`aPg+{H9E}$v1G^&{NutTv@mn z#8)E|6OjGu!_Za>S5_E+^PML0*b;ODnbcIsn-D3}od#`y1|E>2Lm>=YSgzvG$r@AA zkG`&cNm)RyPE;(AgnA( z6`_7Gyd9;;ZZ!U&ZZedj#5XZELW)v`nnjz0+K>+}(9Z?&TCq+NGjxq^LH zU~pzO=o%)`Y*l!KSNzbojQVA~CbrhSquD=`{g673izrM0& zhbNCRF@mAm1>1%I7UTq>vCR-EB!ruUF}x9p*B0*GvrDI<4)l(}7S76~l59=~?o#JL zOY)G=aPWw+Vc*|WQ?I(T4Z_c__w zv%0Q6;0Zgha`k}&D_0#DZ@{fJL0D@`giY7k!eC37i4)5AFR-+sTMbq3V@Z`gT$ln8r^(4kX>H(8FI-@9e-sxg3P;W2Q zY|`Ihxtru1eI{GxWYqiu9d@K`ayVZn$L)eEjIV?25d62E_=mX?zJ*i5sX)Y`S{3QG z7g(2hm%qykq6Un=B#=4N~l#vT;pzPY^6Pq_5(_5?T z^!<8g7N&(M6K;IukrDDD&jB`{C2@GR$hRnQwiDv6($bOmn+#_hrRO6dAF&P2?Z*G% zQ8P#()R6K~9R>^G#!`$)v*QO=FD+|oryEv0*tw`h7w3bvJLkDOZ{4Y@?7eYAS{8WD zD(OU5xNp@-z_Fo(o+7C%I0UB?9O4KGc0jF13NsrK${b-}Ylpo&oN1Vwj5rd!f*~P6 z{ZOqRQ^GHg(ifT$5+m;s+)n+CQMOuW&uBp&Ab3S`=`Vf> zye~L)a>8Hij9f2S&W$|8*p;Ti4GYvG2ejSWY#*I`?tN5|EFLv_mW|zkMwx5}d$iw{ zmWK{iSBKs;ZpUpqHoWlptH-oCGdC~Wfd2;(0$uJ)tqgK73SD`cNz>euBhV)TT`TM? zm+HFVW98n$Fct#MKZFWhAZ5(7VU#|C_UPNM*~)@p)j$~A?Q(y#d8726WVnWsnp4gG=~1- zF7k~c4`|oMO`A6EQg*%gVu$8QMRCa~lUvTa_0BtO_x^tR%&+=*@{p=Gq*i&-4&AWe zXr6v~gJ)WgYlCbnqT|=^kk@aZbELDz+#uyeu7e>LD;3>r>M;!|i;$l*h?m-qX}}N> zmGThsnu}IxhNG89L1kk?IX_=C9mC;9qfmkOmas!}6yZS9&2g;!FRD`XspvS_*bHTr zo+7JvZfrfhFy@*C?Jww`ZonTb`9j;-#W5{rT(jX$_N5-nzJ#%VL^@wO7PaUOur2CBzqAbiKB>rPY%R5y!rZ~_+qP(&n;xvF_2I{l;}jJs zAztRQMo{R6^G+t}nYeKi4-NyH6dF9t7$Br%OwfL^P7IRtI zW8C=e%Gr|3w~}m>r6TmE?gsdi5sP*l&rXYw<@))Et{{yC%+LbVj56VpdHkO8S;#BO zCzHwtwKFd@9b4FHOyfPb+_3Y7dq&PqZ-jas?Ybdhvij}op`oDXjsCZK)#{;$}!SYeC9a<3$UFpd&VH#u|Xo$Dp|0O~M z*zyt~uOP}LCbLn?0_uRndzLz8cwUtYJhwfzd-uu5cI`QNtb9Pf^1=Q4m;bc?w5QZa zu|6%I)F|hF!g_h`rpF%JG<)--k8U0~apJ(){U=ZE&pIF?_@z2VzH*I-1fnx6x=}xC zy5)p7l@-_nwYvugFlf&QDUt%R^UuNkZsnyz^!%qy<*L7RlMowvY%dl2$S=Wo7 zu-^K)3kCWkEn2s`R>>=Bt$)etHE&P)&g7b(wZ69dN!On&!6WgU6ecgnKj%WTy_p#icK89 z#|`{G!9NS#>5W4nlnU_BqNfwwwn4TIg>rCMBNh_ekU2u^M%GUkuNT*5$9!xQBL_*L zYEURTbV+KM228{7l!XO*ox6}>)VdN)XV4=VFPNhr!dPJrlMH{)dMHj!cK? zQ)a`44jRz6PmgY$O50qMS3e7#eNuP_4Tr|^<@|^w!yW>C?FqJfy!3sc=8AkPr!SRM zf`8N~{1bXumJ9UN;MtF6L2C2*plv2-n*rKt25mc{`HBDGn zi@bRxUmj16MY~|gP8FF2F%p+=yyqE$Zn;h}Iz%KcCXRiHOr;Y2qqpAGKfmTNIKdARoUe%l5NcD{y=eR% z3^4p2L$3|kzi7z=Ll_z0$T6MkIVH#`nT^{M#qb44S@Z2WLrE-y{uk8-~i4F2u z`Q?o$QL%Xtd1q3!yiy^bjMoOB=T7SzG;s~5{edw7fsf%FZx?Ruc!WH z8FGDev|zWL^}M(Fx09?3>))@RI`mQ>dDc$+F6xh9L!QDLB5cUuhnwcPQX*spYgk7o zBa4-EB+=5Bn|9HyFm{~Y`3!pQ@$|=04p|HPsY@^3@lEftZ}z|R`)@BE__nO~cXvF0 z>Gzp8FJAS}IP+$!Noz9E1+-_N)GvTM8Byb##v%P+aU@*d(~gLU(cT zfU)k5MGFgJ#D6Jw7y16ng!ZNQFUrKyUM!(m!^EB)@9x+$v0<|W)~nRR|6SvRo}KQY zf7d*o_38*x;M_M#2bDL}k718#4@5iY+zXNN2K5!K5^(aZz$wmnCG0uey#rSc{LttL$4SpJ?xfRS3@$d zs=4gB0W=8<3DV>S`S>1ID(c_G_hhk-m(s!eXD#2)MoI`8 z6vNXvRQeGjUwZ&~-Ozu0Zmpr^eWw)^oLoHaHTeEE4wy?cYlORU2>g>l-QLKgKwh!z zP2#7TG&39#SAxvvRmE&i`ug-->EnM7dg9+S*UT5D=uXpKA z%2y480;`Z&@w8%+I3=fjyz$n75 zFl-|mE<55Vh+yMiLof>;l#yC5WI_vFPwwf~p}1Q& zx4XM?qE-E7E&I#bgdt@UhyMP|jAv~1&rJJm3TyF01%)k|Rk28G_cmOAUmky-kuN3J|1H_oY_ ze?;jvi~sTaHDU{ONP2Gl`dhA4UAhwcdzJVHZmi4mhJCkV6kd#a;76K~27i461Wq&3 zLgD(c)z1$?OQe>q#DQdL@l?woXotj~*mxJ}9l?40uk*?iSBkEbsu4-`y9_(BapfUJ z`3Gy8-?D9CUhlT&&YkOyLS1CR^}W*cN>k^cPT1cM;kSn}7WPHI$D{HW%$29MDnTM;~3}*1{hj4LG7AV4!lD>@vDRlCw>T%4JI5r=O-xJdfLC_Y0>ri~xT^ zbf>&!f&8_n8GA<7+u;63>7&^h_;pFX+qnNvaI5dR!wvXlLdEj2r6Y1P>b1&j-?CHN zlIFMd7(F%7xgaE>NnX=|jj_%MY>+KYw&)PBK3VqZ)A;wV1MVg2yYg$=Ymmw=!0k#D za#^@0c&a$PtWJKz=*1VlF#31$Ia%AgYUS;Ac~eQ(&Yd<5@6viAi-Z=My~bz1krY`*75@>#ozJ=3u#W>E4o6Svs7x4F65xZk-g zTIRS~iNnMQt-K&fnC;$XZg(@Se8!A&ExJmH zPtsD7`}Hbr(aKH%9>Vjyd|tZ+d&Xc-XJnmt=2BZSyffN?)oTyf<*glibm=s-THZ6! zcCS`Gb7r|#*r7w=d$15?X{!2}(nEU_N^=UZDqqJ+T6Moxt6JUT8ivNjHQI?2+R|leQhH|k zutDA0yY0{#CAnsx`l`}fTZZ*Rv3^L96$e&m!-Z9P%V!Q9dRAuXyY&?tpMOn#ivVS8 zAhdB=nx}rI&d|1bf8Tu51r@;WF1CF)%b+FB$V$%ZFKpz%&CDM|SLdM3XlU8a}jq`0kfwG+NLqH*BcXiu(2~QqO4M_r2;Gc7qlVsii%j zGUx>8#Hhr&_Rb#}d)k)%t6qc16VVpUPt*gruas-*I3A5ER-B)&3o+DnNDh{vxFXBg zu1DFxPAbh9r9jbD2l{85tq$G^6XAfnq$$;6-3a9{)N^*FSpQ^9bSfQPsWo zR;g?CA76d#H62<8p|btTffKj9zUnc;0c&G!$y(f2?SW8kPa(X=?J4fZ;}#V{{=+e6 z@czidR~lnYr2vTvy)bexT3>!dr_lpg6Z5O|M~wA;#ClO!FOuveqs1ucTSAEO{c2w&Jd4Z0gZFkT%9qXV?v)AXwoo<1oZG{~847GdXA0E7bR!VX2 zT+lW7#Lg8rAG&wLgjH#}hdsNiXbNlg>(HNAi?h45u~R?0^ZL6#%}c%{^2b2~TMl5R zbByA=%=3OJKgsO3Z>e-mL*}pC(mS!tbB>-FH5@5A`UW#Dl?OiN^Ujx!q~hS9l){GMLrG{h!?X z^d}f{KWEaQIhYHrhNpO@A3b~jQElwl`J?1@FrG2_0en<}wYXj9gTd^cEIM3!CpFfS z+4lY{aX8ykp&w_{=Ih1R>z|C??x``5-NUAbEk;4iB)v^iRaF?9px=glg z`MX-k9mAr`8THVGi4ogaA5|MXX^A_JbNv)(*m;Z{2#AoR3K}&#?A2Ep;09sk3K3{P3Ap&wlvfvqC-$t;tsx zVIL>=^*^bsi!c%Ryssnessgfz{^$RI2lk3{_u&#GrU-c4Z{nWWL`3XLf zUr~x6xT z6Nj~-mDhLcT9)5t=lbfyM<3B9k3qv2ZvPE6_!RS7K{sAsEAAzwJE=p_HGo*_H&k`3 zr7?Yi%?FEorkI*z{x4p?-1y ze&Qg{&IN03StyU;S$;d8e*gWa>1V)(oC)=PtWB~sl+(q|t#`gI40`;NJvoJi#B1>^ zWC}YrU9Wglub9S;so_pfxX0j=Ul(dgNldS6B}o@wM=~KsMV5SGzN|6+$HV zo3SS1CdRtUwz3Z%{(x;>#_lZF^@l#zK0U5`%4zL*Pn2R)ZoaZWvB_V@FJ2sWxkedy z<%r76+`e?ceLeO`#y(Ek2k*UT_w6+HF`DVq^nvs$)<}PU5!>JW#L2GgV3qy>YgnZZ z>w5Z`Zu$@mPRkC}pABNiSLui8IQ6?$v4_-fddcpOSiCsKv$sZ~OU#1gfiWN#=+zr<D-gf-PGX=!X|=-MYwxPacQ$ zxnD-mIm+H5n{Xbo{~k6AXhOD@%6l^|d-$^ooXUYyC4PtAfC%E(!WNhUX~YvPN&3{m zxG-uQ+cK`>(1BxTA{+ms$L={hd-rb&8yI5nmPo*VNc|9!RC^#Ti0+6&H7eXck(tv$7FU}~ZF{a0 zG_tdK8QC+hIsU?H@7@2cjh$LBdd|%0W5$n;Kh#MMi#wdHe6F8M%$AjNkKX^gIe2O z#T!e~+sy1XZ%5PH2Az2ByT>2x3T0W{`F3t?S)D+SS!hthpMFVF|jzZ!}B#H@n!e_;)1E(+Cs&@vL zXDB~iz}Wh)AAJ-FzFW4F5X2vfGzd662OQ#I-xf&04>!z7Pl~}P1WQYEWHrEfVajzy zynLLVem@@^J8<0mUmpEO&4P(TDn5Vk&QJH;sYidPk^WJ-sU)r4?4bh}CN3L2ZprKw zo2JfcR`~KgcYOT&)B2I)|4vHSoD|FUcWc>d;h_yf$1NurG8}(fqcr4p64!$=5Q}b+ z&DPw#m^G4bTON;ZW&qH0_=esPv=gn5l)I~5O8K1UUe>r{{xxk%y525phu5yyRz7RH z%qHB#w6@*zn_UazeDsIiY(uha7?&>5b{8jJf`sOGP*p!&sJ8$WhJ$I}E(EIw9 z_Uh5Iq^Kl<4Q6MSJsOqBE#ST}W|7Tly|$Kv9$Oen}gZvU(({5<}`eFRVY-ADFe zi^=)*a{Ctco0v7W!_rO1*R6f@#l`M^;R8!M_v@xKbVe?Yj2PCdI5TI>4YM~MUGe6M zBl>`bIl;X~c5BxGW~Ja6`515w1+M(vLDCU#zKZ*ZVAHYX(~j*Jq>q$)%DZeJ1BqKwL{l|kFMG93=V;hIKJB=LCrKmiqd&~BH z`nGG)UGCF%NOH>P4$~JdoZewfO45+F6Dlk9g2IyG=FQu;XB!)}Xx_MSYqYONj00!) zrIns_-a((7_P>K$y9`h3-+2AO@87v?@9=>*u^w~#mvqUmsITUuZN3w*zjiiYsO0IiEY~+JF#`! z$zy|i^%_*(yJtB|Ub%bEiZ7S%-MgIi7%-s6SG@)d=!LV|h}dC_5*Ry-p)yt@cBn|z zYI}LIHXT_uk$885A5L_J*%j`qAU~L0h#(G5E6el3jy*2FJ@@8uT{@2$)4A)|frVL_ zO`B$B6>8J9``+#{e0Y~GLx*;8HEoiWE#fq?G(nvvKW}>rvW8+m;X$a2!d-I~#wxCC zZ=yF_J>!+nuGh~G8`Lu|_kQ&zRuZc})o;M91#Jr^bb`hMdfkG!a9`vj`O}NrEmR?b zetS{=dW+gu_k467&7BpRckt}SHMeZobjzCca=!k#{uawaWm-A1FdL#>-4}VMo_O-4 ze%-03o_w71I>KTy#euClj7{h;Pw&^?WZy!GS(J(q1h=-l^hK)Bdj>o>~s$rW<+ZHEU<*}P+oc9Kc|x^M2c ztMuWJ(NZPwcVT^!nMvU!Gs(A7r_iib$IiALyLHa;n=5a@W|y9O{qoG2t7homzJ5l( zY*S9IU9f!n$_>Yq!kgwSx@pC9?cjyC&J2E_Apen>XFhxD5v_9N%4I8-fGoJniF!9R z4l!fuZ`>0+)3x}T!n}BTPhAk!#$AC}0K;%(0f_H;rAJmUc6Ph`L%x5ae$Omc=~%&k$l&sWzJOYW>~@$^@VkU`m=*ww*nD+A~wW z=~d4X_87wKUsUV&vOd$4@2|9xA7ceLuY)+Rbgbk5HgLTyn$N}+%~-sLXg}Fse#i4- zLE{tl4bpukKfaOIroe<_vU-IuX(T& zvU#Kp*sGND-XFXTVpm>H<@Ywo_jTV`(4gt0E<2xa9~l1h#a~~1Q@_Ys9UOaW_R%Ht zm#?#(&P>{xn0D!GT&oWH4=;ZLS7A%^{fR>x!=avOWgX|7efPy}>rT)e9R)asgFm9V zZ$BlL`xdyhkB;Y&B5|WoK`J$uC`cqg27wlHNiJRrI3SA9_CVe8zq{@ccjT&p3SkTkb3DhrH3_*z>R2=|pxO&zHX& zz54WXA3u2NyiGnichrP&gIB-!+~+4>{ss;!+lEmS=CZV+{%QG}s+OMk$1Pgt8AFTQ z-BKHFUA*r8*VbqgMqUSeQ7@*ZV(&~uml1z*C6JE;At&&*;QT_wSviiTS_7LZ9;N%F z&k^b|aY}Mfu-y92k%#ZQ{MPgHCXHJ3m~8*y)FYoUxsT_mQTtr4&AYX{VJBDDk#}v| zanGdT(?*qObDlYQkLTCe`Y|C@>xLDdo>$fdv!!|M+7-Y;{;6;~PzF)bg zIrHzU-!Fan`1j~Jzh=^oWlQ}g(4yu1=v&V3%e&(Py8oi4?=bj`cse@a7>8z5C3;q1zg?UVZJAJATv8p-@jc#=h(m$DmQdQyMwAD4^sm@9Za z;fnlSbqV(M=PTZW!8=5NPk$mc)hcn76Pus70QYYEhu^Yfu-1{?8+RRj;@{utA6%eoG#p|E%w2BUlKC z8;o{Md-R{>=TOcdJ*QtjS0mLtZ=UZ%*v}F>pjM4yvt|9H%AC#T?7hltfw)*vZ z7VVTzCEUK7CMfLLo4{VvUe|x{9j9J%Uc3FMdD=$~nETP$TKwte*%pF(#CBIZ+V+=! zW}!*)$)tU^-|=FdC;QzQZRu|Bxn>3NbA>vsybQVQ(__(>1yjqTqn*%Wm6v}!njLvM zBKQ1Lo=D|BTdaOsPu36b+QkN;*^JEdt`un@cw->ozN%eG{P0)oO0{75%$s-V-@JET z|9<<@nK%9R{8@eH(Hn0*uy4iEgAF!JpSfmj<&4|Z<}>fiYxLNHb8ozHZsB7M8yuVY z|M?Yq$I9wX$%!(*2}dCioxx^jbM= z-Q7($4SxMM<~aEov+JMytH+)WsqGfen6e>#}27{Y(8I z{{Bj8y{&19%rmTO)f3M=wRH=<1vS6n9VLG`)ipSdCq#=lFIRzFbw=Z-ocrR7bNY`^ zt@iEP_bdyWJ#XG@0}W^z3e1DAFJe;)Va zIZ8wg{2?Q~nCCcE%SrOh@`L<){EY7-@Smv$jDZy`^*&Kiq81Odgd4%u0eevPIjqY_ zrlA-C9q)>fO^IRzxd>@}&}UJpMGe^`46NmCzG$8h>W5JG4_AJ@)a1Arj2FXr4m3(a z5(;{yFkD=qQpyN)za`q)mcTXjh|38JB`@L<^yr&EL6a0-cwaKy< z?kdCe${%Ikly~U<7hXV~|99WjHBtNGjuA-g-|=?c6SbL?4IZbSW$~1!6&@BGgg#`f z*z8b=PAn*pM6EmKx1l393Uq>k(89yaCZqn8)GQc(Gy7AbX40CY6-ACN^*mhtr~dtK zau2`xrhd}spQ%sX;klnKh1_cg+rTTWS&d%vrF^fg1Gu%s?T$qHJu41j!BX%<1ot%o z3QELKjur$)MXeC(EsY^wV4F1JRjRnA%9$uCn;~eBJyk~$5S7nFvHMlJAN8gM1(EoT z+&tvCX&B&$YPpFp9MN)_QoWH;ugWm9jA}DnFRE#yj65@kU#yQjCBOA6r66R+*Fn9UEc7H18wVr%+PiOP zz`hmIk2oKL!_D(CPKEcGMpRPU%s1h!-D* zWdEQ(gWQe1C;<_N7UV<4Zs#=;aV1ukK(2Z)ev5pYf^E#-0zoha)A!pJHcI|aH$mol z7z*l;lV2BZd;M`^ue1AD6RDrOj|Dd>e*yo|lu}!e8btib-dH!SkKzPC+K&PR(UM-~|S+q@z-fdioV)%63)3g9iN%j&-9= zge0TH4iQIYqXtSbs3deaMDqozM&SvjiCSq!Mn;p2CQ*rKDgxm^4covgH0$JEd!~2a zTydABpV{@&FgKd0%HRhKN-o9&iC$uI5l$}%Gg&3fWW~Rc!O9rVXVXUDeMajeYuh;L zsL(eUy(_}(r3{0mG2%Cd#c)=NiVMjABYF2v3)sJs-Ho!>y7zYkVe23XK>U6Cw+-08 zTKa+Yk;c2nkSuTnn^aJIR0wtiPXw9&Dj7mdGN5!bF+R>hh)@v1ONX!kI4Y!7IEPX0 z;U)x@bMV6+0}(M`9%qAIdUc*ds0lzya#CVKyx&=b8E1ifD!I&_PB26g58{MKuGgGI zb1u{-V=$Q=BdcJLNRaG`tW1QCBBKV3dZKbYDLN)Ln%Y7DA9$PPN_#4;)ycP3r8J8T zti2ZaXd>Xof_1Kyfwh*~Thm$@zO|}r9%a3#>wq&d41H)U&_QA&0d*p^2KEOpIyN@i zmPYW^T*R8&?C695z0z+Q^+}S&bFb^N+PiJ@ml`J_fc_$Zzto?HzPx!+QMw zVkQA-w-?&uNa~lHh*BpPdh%s5S%slV1D-IoNs&V_SG2ex)7+5nR29oB=y1h{P>MLZ z_TiO>*@)|tS3fs99ZD$NHE7)w6O?M~OZBOP#9Q2(@MtQ|jJ1ZWrzvb`;XD!jlT@4) z=DFgSM3NqS0nG+r^QhPvsVhAdO@hHjC;*!X&*@bGjE*4)?HN?BAmHQgsb$T*($^3|rI?-o8s~z>IcOoJ z6gLSVDxpMt?c%0qw)P2Y)*)dsIj-f}WUCORd}ht!R%~o1XMa`qpZPvpFZu zrX8IP-b}hr2oVjHFrPIEbzPyDLg~P%6#EVejWHR+jRIT3kxBgx8Oy-YBi$uAJ3GgY zlLwq)ZGKjkwJR|Qa8T{Fy$AQ7tj*8PvUW8xMtc*T#o1Y)$9?l1Bbd4t_-I6dLVW`P zM=H@-z|ZMy*`q@G2DHKC9?R;i*hh5Sidu_jxiT}-q4OHc)6Ky8q@Q%L`*g^*oc5LM zL(r$0y8zQN(DF7IeNM3=Dl$l*sgOVDC_Yi0lHVY^Ag6$3u`G06$jS+&?S1>d8?b*Rq+pCR!hL<<{@5HKa2)|pw+{}7 z1Kedal#Kt&Ab9crC1C$*)Psab6Wrrk7B<0K=?4YX`#XZwU?Kwu?FUA1FdBM#!3gD) zz!U^8C1{X)v!(&G2=k+b7U2hrChhH-A}w&wYl2GCHp~&!8Xa!^;L(apSg^YmC_zEN z{V*RF@HiYH{ZL$LB~TcLEYt#75#|aLZ~?G|`@v>=E&#TQ1_{z=_Xt0Dz$F1>!7J_v zD#LS5Hl~+4wP9$5piv=OLi`~NT30_9?9y)OEmV2otgZ${uoQ%5m^5TU@T^h54CVX} zVChuqzP8OZe?kxKdVg3@xp1N8YiXW)Heds4;O+_?e z8;V)Ryu#Y(2n$~ht`Y|Qcp0dB*N!C}+P7|1$CZjqBN;SUFIB!FzrUJ1nC>%TM!3&& zSz*nu(irzhO#OqfmssNr*)HRxFwzFv58WfQW*G4wEFJSUsauI?<{u29!_wrmkR%QR;vSy~nZjX!KJJw%{oQ3T;n0m@q3V;2wc~-q z{x+2P*uHgk1jbt40IdR z&&hUW1|ke13)wlC)0y8%@BW%ZcM{f>cVAFhP#4n+&`1Uj79uh_mG}{v%sFFMoN6{b zK!N*)n)@c;86RtVpLi^RcnqZra3mBz6HnR%#=e3Vh{uYlOSXbg6j+JB{boO|XgD27 zr6&0gr-{74_Kufd#afjMoq=m%AuNYC3K}HPuWPLaSnF2X&$LzpA6(T>1(S9b6%Mro za=?I2E`}d-XdZhRcco)imHwSl0s7t6qEI6!hkIgx1BIIwXZ=p!&3H8aTzZYnc61 zyNb0{l~egD;9E3o!N;5)zPl*)sc4%ZHFoDyovvsfca_!rb?hcsYrD8#O^D|P8fWzY zcn&&tVr+~v2>ml@#0?Gz*Bb)O2B|`VjGA5HZpi3Du8J!iO@32uZV)}h+Wfv*)~;le zkquwh+E^IN3%>YkYxDbOS-V=IjD-@no6gW?_lI6VcTgMN00N(ChwIn^(Jz9Z9I0OT z`F-^60h!l1o_ZhquPu|3ZPU0ZgkfHv@< zrX*u%DTBEYg$4`?#5BVLim`|`P4;Pmbbsgua{0u2uqMJJ#jujN>}*(koL9s?90%_{ zz@bAt^-iyI7ek@4;!|rAjt*@j`c;5d!k?*-?6UZ@r%K=9bp^GoK0nhXX@|{z6^|)j zUwE{!wy+zXptZergC$qu_0ISkhgl7%4x|XF~@J1fN>xMH3P$s0>3Rf`Yf+I)~C*1WuwqFs~ z@juf&Y9YiRrg);+9tA4w3?X5Sr9rvE5FLmF>H>b1SVf8Xo+P6EKE|$+w_o@TD)c_; zWT8uX&)6>Qkq=`p_z}HGmo#yqRpo>NOn5K6#Gq0_o$QYQq>b}N z|26n?n-k6!KXN7enoXsS3F)|r3+#DBTD39$%zBKzbLFg!zmj6y{n!g@htpU8TJ-lTyt<%c4-IvWZlTGoSvGb(Ck%3!dP?|si8~>!HZf1 zEs8s9CEG-r2`Z+_L7_5qR0Lfk(S3)!aw*A?iIEA;C>V$layZ=-Q%AEkL=2zfEai|t zAChu|@`^26!o;+^$Oza34Z;x`PpcP$DM+zQ26oU;WSKLoX_V4LJA|spUP>m$F@3or z?xcG05^<-g(sI_HX!>XI4g`SyDB9tTIt4^J5Op$m_A?uQk1e(!y~pUjTZb*^V~_ zxh`VCcMqbRK~jZ#EFFLSSY)u->cOf_gKD6986kiJ>OOhS@m@6{DhNRXS4K*bM=~i!W9g%2SJR( z^n*)Ofln36iHghZV1}^JY=GXXWE;uF<9@e{Aly(B3;Fv(u2@NaPEao z8evb$ammSsk(PkxBMMQ^NC2VX0ktFE4o?nZ77*^_XQj9#Tpl(XH%Vg2yTEmlM7b2b z<|t+dVec~YQ8>On8${r{lV!pN8SEaImn8=|Ea+kiH$QL_)gZ~vf)GCu5mFi!R~u!Q z%hk-)tVv^7BLZ*!wDI<7V1{_7H-HG_XIxyHTS? z?HaXfbB!~{z@CFZFo^T!v1ZG8?_y6O)(l(Oi#n7f6KABkKn}p)3g?g*kXIXLVUhz~ z(Z?2~H(*ImpFxdvOWPBdYGAOWWg_64+qKfw^B73WGD5?-F|>PsSL#fKN$zz*nJ z$vU^-m761@hmVOI^0g-YA!Zm#&6P~UkHPWMrqF%i?-j?39YBBb0iL38=AKG`yzH*g|JCb^{%+g`e{$ArG!4UrIOQZf=A;fai_& zLQ`Eh2D~m#w7ruR>_g@ooI=p@aPz^U#?^@DZWTB-qp=hDHMxyi^DR`)1NOc|NBm^w zckHd14!yYqvkej6h{uJGgQv`r|DeKXRNb(M;SxqKR=fq6kOg;-H|qoLy&RDV0Uz+M zSoxS1?%iWG$7OHLJXGw%{=|e`6{?~VgFU?dV6_-y(-4(YxG(`4vdrxcaHP-EOuP7e z!!;MM&m(r(yAN(VWa!kIo~*Cbz@1}(AHH=3Fb8CB7?~<0BRE~2v_0-!OTav}<~md@ zV=XV7;@tWh|Aw{to?wnBQVDxN9xYcX^#Y6B%aH3aK=XaT0A){5!|65E1Om} zC~bk9+{~OW5^ciy5=)T+(7Y4qQf3b(x>(@fg|wN$|0yp>ozTbsl1U56ydw?eEdt*3 zw21Ify77t>7lL#*B^a({y7AD;kU>xZYIBkxVALO}3Y0vKW6TW8$aI1#I7WiE9KO@8 zCQY!1ph*w;cI<)t%zCMUD3B@`muw@~ED?k3xNx+wG!K%$zGSl|su(qjQDJaL8U1&$ zM_atPYwQI?leR?nhMexz>v8NID+|1&p`h#i7b(lM6~McIbs`c(VNl#lk8Adtsf$JLUW73L0A}b$ry$i z$2p-qk_^twkhKoT!_X$xDS{K7&N#?m?q;TauJs&K_lYy%GPtL)PaplLgb8)YI06aj zZ$Kgx8zm*i#iErbHiC3a3)~2_;zBH<#E|zXv{_WN>C?vBqK>d96217_(wLu3rBsPG z9{NB?FeU?$5{%6dd85nVHRf@rVdsy)4mcNvPK3w@rxykGUQ9G*L9oauXG=;E;yB@6 z47LxYeK=0NjD3c%Ew$vDB?Awz8`*poxz-u<8DTjG4l~YSBj|&ipxQ8tapVTL7-BTZ z2eUyH1~M8DYdk0DTF*Y&xEDTn*#@bjzE`U6&h`p7RvZy7%QRq9rd3UNQ=HKXUx(Az zcAr0e0qgJT<5GKf8#HqRg)w}2o6B*P7* zKtPK7%Zl-62LLG65HR}eLBRvN*!!O6y!6CVYvBRhR62S1rqPSvn~7-Q06aq$4lv++ zI}lFTx#K+#OUUQLwO5ca3T6Xy^G6cbo)Ys-f_fh|x`$jJ^5yA@{KiUjcQ2<~9+1D$$vM1q7MlM+G*e;;ep!6UP1QCMsA_o^) zBoSV{2l5bV4_!Ed-E++Lj)iwQ>^QGq!Mk|hYQdh0*&!Vu&oQ(n0QSrb19C8|ILCIL zL+W?Jp7z0xwb$wgi7s`)?#h%=+yN0dsW#w=9B$)X6EyeP%Yx=R*bvyuxN~VKiSYde zKo5n&aQ%Vw2!;ERp3(@DlMED$JUmW&ZVUV1mv*oqFdB4tuIJVfU8mw{~$iLse5%lI*Ghch3>m0XLG7_ z4)PRogRTq|3mT(j8c_r-&JQmdw`u6P0iTGtzt1ly;?h&EiJ;p;%14=x-SFFfA%E*S z0v>MfTHx7TkIOG|cF5QRjEpE;Zs zn^wgCcS`GF)B4t@h4H2j;a#we6Y@fhQe$*YD6M;a0YBGaE%4vY7Q;7(tQ9aA4jo)p zH$`D{SaM(q);2*oNlUdUyjT<%0Bd28| zhN3fal< zgnL5vUrema<;!y+`IKwpGc~wAz;S{M`3mw0_U%=0YTAVB9SjPN6(^`dc*49mwQS*! zk;8}$m3xjU=|XP#aKc;L#*m4A_#iIKBzJNW7mM_i2O^Y0`0zAYE^ql6`Q(;3qaD(> zkX!JtabJ@bh!vTcI4Lt&LnU2Sv?yL;L5osD3*ch59u^OK(f;DRek6I|#Z8lTv~iHe zNSd!rt$k+X<`idUaAP2jkY|LY@utiNUoRH<#q&v?wJ`W_6Y`6(OCH{SDDMirRJ=sU zFZcxFs^h@lW^@heo)PtocILV8rx<5LxXhux2!i+K&_350`?LY?L08PfBCw}b?1S12 z&2B?>1?UD##9SUy3iY&QaDd>Uyvjz{N8rPKk`{cbrMKaOKy0*W<9zr#Osv4)b;U;i z0Ild4ffskL`0)Cj&d7_GCRJC3OPCvG?j~>(kx`pN19IL#rPz!6#aKn9?RS?h)(*E3)r74=jB^;IHxXHE6Y&(Cj@-zF+iU~1G?&CxsZ zz7|$IDaW*fsOu8v=TQI3zVQee)|Fyf=f3kj+iK$rnNp!|A>F~mS1vASOkyMeUri>n zsSf^37Rcce5N~?6*TxNdq{08k_b_?$PxtUUJHI^yU-Eng%en24K44uy`=k6$rWrtRt$4W>j3ivrn-cZJDd-RcyFQ{Ph<2MR4_Ij!q-p)n~G|Qu|9k% zIq;Zr`&oJe>m!bf$g#|dq43%}09Nu>+77lQAI}y>0x<-Pp*$v# zcQz_Ii0e$*de7SMgTE>71@UPE{=(+IPmM#AF>MN zicx5n9F-oGPUULCOaxXTl-fh`qe$;r8!u_DL~ReTZx~u_<|fIg7s1oT@sg2JFORTd zMoIPpHHw?@1V*IwBqpL(v3_FxOca&)kPU^WiSL^YJ@&l48PU^sUf_?fS!ePS#K%N| zKMbs8YwCfCdmzd($V#=5&S)=^!AAa45oCX{)`deA*uQPpk?#zrCZV4lbbP)K zSP}LR#b&KY{?YLf9Yq}uuc_ktKl0$9+w4X6mJvipU)Cp6Ej2l6o#j<^Rp&HrNFysV z(k#_EoQ^!VQuv82xruwnCzBROb0c$+ONmM@n}4374IA6*%<3h&ieyeRXE6g=z2H<| zd_>^N?F0+1Q>8Cq7Qha);0OEFFdFKrn6gwGaaRk`QRIqpAF>6Xsiol(W~KY%fVY}b zE%}RF8)_rZ()1Mxn7J)sfq5q@g)M=1ncET;z~$l~f3u?YnWUyNMpi{066Q10jdKY$ z?OAay+{f(2!;YRDyTE;2-JP(XUGql=%77ge5q8^; zz>U|CTX5UWcA|!SzdOu=mRUuf1>FV$5y3zs_ZUNdAi(^~<&4_#Oz*b{q9N&*N-6`t zbpNFVQ77(XtgvaL{M>9mPBzb7+))d?c0&%0lhFObpH!r!A)CUEYzl{iD}QkoYMFeC zVQO{pEw{%kbh@4Gg*_HnE9W!LYNLxr$vKo97g#GN&fG?F#)8A`((lkQ>&O(QM@>9D z*0VODhrveg1HW}7U-T}vbHevxfqf5q9QqGpTb46!k_wGG2fZP1^C^=k;Iv4)Grj+e zkx(&M7gvzZ0r{5~Rj$8UaM+_{fz|xZp$Rgk@DRdI%mq`Z+`(#<8{}3uE9SFvI40&@ zOqMWr+sZVrrG{23D+?~T{DhtfV!)MvD(yOz8cHDy1aG!FwNAElCngu}y?t zg_>>haB`n1Y-k)l>Lqyr2i6w3+dmUuxd?|LVr}Hj1(Pl%;+nN{xG9UwW=Ds4LC{sz3kXmW;>e7KUWb{+!0iaG*e2Z;@X=485!;P>iFN)Cl(G1M5l z81e1t@Gm@X<8=npX%Fnl_vj??TzbnMrj6&f1GnsqZNSNOZ$odCz=hMtg3B(}AM~NV zAU<6D);F_3>%xT4FfrjWUEuO8ow)^7{sjvjJ5ZzD zjbdA|(Gk$WOl4e`LI~GTU}WSt2zC&b4%aX}CmltMy7CZYves4q*<0qKQ`NlC?g z>T=2!)Pj-y0C5Ay8(mZC$w5_Z=*i*Aq`7%XiM(|YC6k1?@Gt`g^d8gp3xE7bf?=tE zL0$!ae5HGOYJ4nQT!jsDQ1zoVLZv7)fUr8hav$HbNk^xhAD60PoZXTQ z1+tNx?(j8g8h5#%8-g!yD%$CaYlyHoPpAPM2G`72GX)*E?{bB)XBp^F?jC^9uT8?n zFl8X>QLPw6@?ApMXB?d4$OguSsvX0V$3cuKlSGOQxgBv5FnDRgI}Qf*{jFMJV^;$0 z?3MrM0LJI?0N+%c0ohZCd%jk)x@I9dwx%RSMItzhsf=`9|H-%DFU*|gIv4R5dl>6# z?6nEMqr00k%7L6-v1TN`J77Cc^p2$O4szU!r67S!~NE_qZd##vPLjLuW|j%6hRD|Sbw_S zna^!95sksCSXQzdzV)kYlWd8SpzG+0?BL;mR0DUn}EiTM%{f^Vt@*UNn z#ntg0r>o^VswWG>cd7CI>v39nzoVKkI@Oe<1ni4bMZD%?JR=PReE2DcA$|ipx_B)? z7a4|0Z z4gJ3Mcibmy`3|#Vkq3pjf~o%NJs+@d1-c6)1DnkBdf3@KqZr7MEw=Z(-=5?!RvuMQ~e#-Bjp+>GO3M+~W%=uE>buGy6JF-uYLPM@4YhV-5yfA+mwnr(z)rJJg zu*w=fZ_V}GH%#^qfPysi$m{XpMwUgz%t{7&0pQ3gL;FWLGY2-(7EX}RN5OQWze z-Ehm@RlXOr^nNF7{c?O6D1**=_ZG5h7i))UKi(C=yJ`9$KJU$hQGBDllykZ!dL8Bug5S-$T)J5`zwXYvC74u0*ydNsbw%Qn{|`I94L8mAu(iGhtKeZ^&N zPI@#+NyySCA<1S7Ic1S)duxigoJx=5(huL^{>rOt{M;BX8l*idg zoSWsloi%fD2fR|3pGO~gp5T8DAIWCaBqHZq!guM3#(HQONwVH|zCwoYilx&vcI9s& z&5J9xab36r-I2QmzHByhVR~a?Y~noXc@FbgaG)RMK(c%2JJ7E{zXRXpWJC!(XkX>D zz?Z{!FTT^H${v^TRZJ90iOe^~b5x;uZzf;SceGxJei&aS#_%r*Us_MSwbplYlpS?^ z7qA}qV33FSz$tbX>)DDeZ<}~uC@+Oxx0FQleM$2i<#XOl`1p5#?;wXSBgOk2y;qhy zEY_o33*!6KB=bA*20TG{Sl)oC9vaeiPsM-eK`wwR8yYu;X}> zJnwhV&1e>!NmudRTy`DT%?bk6<2f;weRn{{+pu0E?|OxvBeisC;>*s+O(eeL+BEox z>)f{QX)Wq) zy{aG%K z$B|JId1bvt`xL9NlbwmC7AOeNP&FbFC;WQsl2gm5Rwo#0Heu};t%}yht~pZf7^3-+ z8Z;!7cDkdHI)mgxYu`^%$6W|tBYbirkXXbW4Gy#(?MdziYW*2RNwO9{gHeT<>~1cx zAphS&Bs=J8ttyRQ<4*Uw>Njg{1HZJlz@BHoZU^k}^?Iu^?AEFb*ytb+oD(Q(uA?La zxsJRd!|)~6Ah%vVt}XJ?C*Rluu~^E1q8xBlk$9jF5x8RPjBH&6URtj&l-fh0ECBaE z2z>x2i*pPjS~o?ra!on{7Y1dgq16EDXURwN2ia--%x2-tj%jneFtrsh>0jYKQ6EgC za&phJ=xv9jXi5vg*}xka;NUcx+5tBFq5dvl<9u)&un`~3!~esY5javiI1HpiV>?2R zXZgqQL`#McF;ATWZ^h+A#peotX3eYUU%g2iCE$er=y86pj@GoPd58KpM@C>mk&F)3 z62QaVP*9&ko^X)|#sk6JjfqNNo&rX!%M;wq+8ll_L`x-;47*;?&B5s3?+QpVITAaGQFXoxYaXRr*~TTKdm{a7W(92Jw!CUcg(Ny39Hw2 zx5Uj7IhMRuL#)?{;LFE)Y3>xW#DwQe<6oHph1h87;t#w)KVKaHeys9(%=t zPc!@;-8b|hpt}L#KqC)Sq(dSIg|G^mRHJ5;(mXgDBQPPe zv2HfO(-P}KHh6PW{8JkcyfLylD7C?x)L_)U@OYD0i{D+uXrvsst9ES08j*pxLS{dI zJMnj0nfU#Df~5_9AH9irPh)t8z(>evS6C$F%uq@=lEmsc;9SS8Gu~{ln1M@ti31FVOd&;yqLd_8W=1-i z_oTU;z$u8=$)(}_nW0T4oXD=^?+@PFiti}n*zfg$bVc^la3C3hoZ14D9=a+`2lB;6l@C$#)t^0MMf7bK*$gk=V>Xxvp;r$vmd9B zkLQe1q+?xZnuI;5{&Sy*U0*9Hnsf_zx~032uB?JXq$?XA7bP?333LWN?ZsPQux3pgO|Gzt0!-E$OG#fAh!9wy`U zBVok)*$^2#mXgm(fy6dsSyqqPQMEoeKDDA$6Hf?p^GA;G#b z&jG_~{E|AIF)>_csyTx*oNGHnXUKU(=nxe()K>mSRoISyq(A z^GLV%EdTrrz2_(DcSSz_6oS=~<9>wA20t4b9?D^;aNWEeKKfhh1_ZBhzV*TfU5wp= z&Wgax6pIm=-2q9nb>++Q?9xar)*P|sH)j4V>e$WM zjkb*5b@+ZjZH0Q5w8}s ztC}q4k=^;}gzmU-IG_Jg-}>9%NUBF2Bi`+{Bo9!JN<3|;Kqci-l%2w02`oD`3QnOS z37)f!w9QxWtP>&3uxUu-jtn+%M9S`072r z&rZZkchcLKla5?CZ~6-QFY!KyXnBn^ILi5l#S0~iE|m?*EJK9ii0ft+)25}RHBM`c z26{+hX`XH5i~s*<+wl7*&KAA^jqV@WV|CoSx^ElZHLDK$e_e)eXe0(UIFNX#$ke#Nnq$c;tY8{I(Iia^R-nrTrGz&lX_#L> zhh?(#gxJ>J{7UHP|Eo5~|I|MFZ*32v=f@TvxKHqaU4>*tr8IOI8ErCTB&xyqfduvn zT*?*&)nJzS@xcFv9mD(K3A>8h`mk$we*;K#xFSi5^Gb9S-pbYr9iu5F-a*m*j+>Aq zU;j?q=x?xXM6Xey`yqQylS+UidcPzv|JeklY%=@2dz)?|eTOFCQ5yp!=}@o9fIgFy zoDRI9^Z5EmVIT0dRN{7fyC#8{(BDz$50%)zdp5aEur&3G3hWa_&JwIW61?OTv5Ju- zcfU67W(IPQflFoz?j|_~g`W#bvK&sg61D;_c%%$yl%#^usD8n?mC4DBCFdn0={d`l zUJu=X6Juj@=vE3`)Xe`vUoL{aTqS<5h-lpxG=RPVo>!&xG^Bf}F_;|}2d@x7L_QK( z+hmhM+qKz5#g}2mWTXAG%d2k?ZK*GPJ*uLKMxiCNYzF)SIw*SE3KB)l0x~8gB0VfJ zJP2J8qgE7!M#?{qp2ZF^`AaKyxiN5IL{^$gYp5ZPyE)v_0q5 z!@-jRkuGHUSixMkSrh&S+prh2If$k)RSb)Yqs1J(;FdQmbiMl5i%jZC445~>UhLo?hM*xPsqsC^Ti z55EgSUb+4sd2a$=WpO?HKQqr=l6!A9AnZ#*SOf&J5+bNcAS{ZY0wSQ+0D(k8f=O`e zuTZPi)>`-01ytOSDplLs*1gt>Ytf2J)uL9>5b;6+LF-a;|KC~ek_EN>yzl@0yr0)N z%yXY*X3m*2=bSln=8Wop#sd22CeDR9MeSzktS80>2GvEmu+a3BKs%=qIN;*id3#==5Wf9}h@7Q7orwR=tya+tp$>w( zb>0M^&XHhrnLaRfA=3wXd?mn8EsmxS;y6-$0C^gxf92Yn#1W<4yTF!jy1|rh?3UT8 z4-)+4%f(1>+F{N}B94nWs7;NBsExi?;u%TC=U>xJ!dNJ0ty}L`?omDv6rQ+Aac6(! z(B5qjKthRe;kS5(iRthPb#5@%a0`~!oc^UmKGj6Y5Il*CR3bd+B?LutTRiFVyx2GC zeBqtW|Z(t6({Lp?|y}EIOiyQ9+Z6A_ z`&M^`$5xBPI7#E(_r*yTHm+TtsG)5crKzk5I>&MeNCU(m&9C$vBq4?Z>mF+UEFWj= zv8U`X>mMBCi)Xj$CA|)UrCDteMaN3fofTgbA-aKH717gZg?H8={ELkrN4|o4o~`d) z{5XiEhke<>IL&Uf>?{>T4;NG^GJsrpRbyU;A8T@k`8t@hwN}TnY zMlNd`J-Rk{yj{?{-*m=OROjZT(11EAG^Tqe2DzWcc~m;$JE2^a7XB?~EJa4Da{zsJ z#b}E)BYdP@>v+t0N$F*yvrs~ZVEdBgY_Tdu3V6<9%vn2Rr!xTu=vau#WUBfO`;mWx zZ@em(%TW%x4&`1enJ+t4rOQSIC}Om5CsbFnOz!$tFdZPMoKWfbBoeK@fICRdxlIN zq5L^o}FrJ7+MENuwj&o3z0$7N=px8zCa@|heC4H9a1jAa$)udT8o8^ z&7|jf#&=rVwv|rpcg&f0UCxU7Uv@qf`kS}6@ypTro0+v$35lkseiBo&xt7yMj_%jr951NG zS_yC$`nCU834BuY)wsUf`I#7@^!+}{D1op?cF=8ZHQS0WEn)J580n@fo%90L^EcN^VToBKAa{k02Oh$_fq~9ISdLnCys2I#@S+xYaTBd-X zBwrLi+Mj||B|-z)_=ZaKk5)@nF?i;693PO;HFE0I{LWeGWuJz^Gv8i_!^>R*Ki25=?IH#C+saNTO>ZC4CaKIakwc6xl-x&e)H9w(| zIA%p?4<0%*IXQYpw62)Y-75SMXH&B+Y+!mS!pSGb$#LeKIt6>T^Qpx~8KMo?+|@c# z&o(qReF1iSZN%@7*6Q_`wvq1Fh~m`y}+i4m8>`L&?ZKiU&Nz_iEjA zKq^YPRP0FE7Pal0wR2agPb+yK=>t?WXL_GL3?@5wMb1g<-|!##$FPR%f7QgD)v*)b z&|`3uTq#k|Cc}#gBAZ5_S%Oy-sQV})+heicl;t=5qt2n zOG||)omV>VgyUz=s+cB@6~|7UGPzjI#37+keR?q)*K1y*;qN~(^YPJYynJGCfxrJL z&N-!x(~brgqXzfK4j@P4HOji+1Rn@d=*Z>Bv}71lckmTrQc_XxV_4wGM~j82Q-zp% z{M6%TvzxK(STRM=tipn5!+Pn4LEHar-zxgt>eqYL5_H=CN6v84u!q#xN`SrEX=jeA z_AIlofUg!DP}!Tc&mU7@m^z%kM?cuXgY<+A(%jHEAKaN<4v=^WJYJ!vMj-0;Q#HjQ06jsgJ>0v&xK#HA4%y?)y{3i zl7j{^(Ir_(K!zlcwnX2R)~7@X_df9xS@7yniz}ne$)s6>2lXE|U|9SNSdJ!z7p;nf z*{d~A)wxR1z>Uzrv{K9`)J1SzC9o2!P)iK`V19Nf$5wHe^&4Hb_phdG_%CHMAgjj> zR*}|vs6pvq(X&>ywN(M6PNwc$+qa&zYGhzg)tev#t2v`+sq;$dkZ%xwt`&b{(?m+D z2+5R?@<{$JlJ8r;NECYC`f?|E$JBV{jEd>g%F9Z-$-0bAvd-Ax6J%YrSjb%ItkPBA zB<9%56^9Y1Ln$W#eu^?-^&sPfPz^cun4_n5lW)2)(3DzVJ;V4x>anf$W9WE3yqf*; z->e@KjSI7-KbdF+-F0NHFWS$~8(&{k^IT}` zzdEHRqN z6<2xHe@dUpHS%5g0EkS=hAt?ZnW)l}T*B|`b$RQL7^^|^^&X2=3a|ukHBXcY-GyZRymnHbW)j7Y0m#Ouq=o!CJ*Eft0 z7^t8zwG++Dn$BW1%hk(7QJ*))lX7;$xD2k%T9M{sISSUL8rHh0scQ7cN{=m=CKRun zteMvLuuP;Yu*V0h{xmRXUX}nuwex^or#n0hP!rtYFi==H%vz~|L-Vl&IR4k4QEXt* z^S}gHZWGJC6&3&i9O8|4?-3oZP4!6vEVw8z-eR!$o!fM*Yk2=R^@6Ljkx68z_K7Ouq887WN`cavx=QBH=Z$ievL52-gjv1^OBs=O{8%J4x z8O4wq)?Dm1r-8YcL%-TVV`5CQRYnLa(}s&|ku_3z6S2EQ^WR0x<)->IpX73svpd6a zMmys?#tu;}+TfRHC1Y?r7(58aLPw4s5yTlmmLHK5!lk>+@DNTW!%HKDF;B=IU#d5R z=> zm!q7oxINmr%!92&@o>=qK4{Zu-6EeOM-DeF8kMbE6l+H!W3g@0=F={1QaY02FF0Er zzD?sgpcgae9jE%{DAgA6l>2UEjnXr^?dkD3Be3Gia^)$bv{Yg^os4N!g^k5jJRcJ1 z?Xe;4M~+bYeUgli`Y|0oPt3Q7dN5M!dOY8up0xj<9;F{#W&Bt4z6ev&XiMYnKXik0nrvL?~V9xXL1`kHDedO2E-=21ja5z_=wKD} zHZwEZ?hmQ}cP|*ftO`|stHs?S>gVjfUKvFG^5~Fc?2XLUO^DTO7{E8zJa8aUi^mKc zGit=JA)NojxemH!O|!)v_xG@tyHzS(i52r6Y(MDGY9#~59Tj$6`ANlM#w*qk-2e?< zt2^%RVeNJ+z7>vw>)ZS#)wZXkg@^s>}o6;d)_mO$0pdcw#Z@Z zqGwNNj!5>!U_%YGb}cqr`F%-P@O=RyM)=ru6$Lf{N^>ZC24?|jV2!;;+qZl_QuW2` zTYhH?bHtF-P+EVC2qtxc7qucP$1x2j1(KtOvoB2*!C=yS6Ui(Fd*ZUSGd+Gbd&%VD zN%?tQ+(%<)vunHF?>gf^+%5vFo-2G{%JK@78ZZCb)Szr47B9R>Gij5GR9ZIeS@1CS& z{Oh9FK?Nh4>ry8ebmph%zE>^-47eC>QZ-$eXU3g&>Xf5OiYFBow=ft zn4*nQcE$%%NOa{@`p#QOAspOvsgC*V6AUIKwGc!?8<#!KXG@G^wJ@6d_%Phoii z)9P&}Haq8*HWi4ZU^l!3h&;$TQ6QL9&5nLgAgKrB1OnfVkjcgBK!@%KG5ux6%kC~X z*$lhrrF;;M94JGb28=H`l|4eLrF%*+7RDwyWs5B`MaDeOD``GsVUP$FjOuALFg;c ziN5^hb3{rhWED_!755IaxWv{G45Z>d6CH$|>8vvn6$+0d)@121N3%531FdC5t`e$+;Mht^+X?q}s3ZWmRyC|YyqJiX2!pQKYF5}P0 zB(IKR6XnyYZs!_@BaIy+o0>|`o>Y+QcEJ^!j=JF~ikFaz61os~BE6JvuLHUhx_oWUPFOC1-k!f-}$lEl<7$#+^$M3k91hLGg? z+;Wcbjgpb&*F$_acA=qL&P{dBFFhwu1fb@G-3>^uPzro0C7ESR0-!=Yr$xtGe2}3= zC!eGYyvd-rMbuE9((i@{F(~7a3)19F`Vewb_wI{4mMjab2gWz zbFO<*q7X9?R3^pH5&$i%u?JYRwv6fJxD=J(8}WL57rfqa!BFRg z(mus`GSF2J8VE`aYC}k#(3$@Yh6k0F#fnG{DXIRS_tN6hk>9POqWzSl*PIgiiMVfK zmRb)UJ4ObAg(w_3%=lwO3>o>LT;G{7EC z?t|IDP?EsC#{>05wUJb!@TR837-H|VUO^A!t=dP^V&Wx3Q+v9l_R>;=#?li@Pdsk+ zteNFyit48-F_Yhg>ifiaq|)7z`gP$2o5TsCLXF6gA|*5tjy?gDcH#@(^2s7pnhHli zW$-7(1vD%w5Q3Ex0@j~`pf=;6M@f^JspQ|0W5b zUR5g6QjZg%l-VG*8|Uzs6P>se!D8^3=7f^dLQ5@mM)68Su&C0nc}OqALpo#C;Pj+< zbLZd@P<~iG(%bS8HP7k1z7OBm>-#a8!<lGlRW5viYIhqwr23g(Sv+W2_;O8;+!_MM^3Ajl@5!cm|ULO z@lZT|4)aiBx7aFn;P=h>^h;1WI389u8 z5<=<(jSuXSj{D<#-Kd*2Y>kz(&<%(c)We=PJO4~(4j!G~tIhv7DMh!wjldhJ>+-2S zzzn`X`S_J;dt$;G`4;heT-wp&a+t40;dNCo1{X7BSr>St6St%kK@hy4GQ%4Lu$0ES zg>v3kkcUhlp-kN76u{ zvlDv&LmaiE4bP$Ys;+h?WX^1GlAW#Atg~~obCq2@XLwiKD3i3}nFcot)c8)o&1Rw` zR66ICuFDj`z%Ur*P~vb$aYSrJi=!h%p!6_!0!dCVY3VnkNf6#CC!6z2`z4?#Mcc9s ze$rICV)!Ax@9e=&eQ9mBNKP7uaAC(*982EvLXlL8bkP{XT}@A{QPO-q?f89IR4GK| z=T01tvXs*mO)T!4{sK?l4F7|j@g#2NWS_w*hWkMHUlczHG!#rCo_tb>tu~?L&{=A_ zk{k~$Zz8_+Oh+k(j)YK}tvVsP(>PL8MBgd00kJ1SbGtA=S?87efv)Q>{^mZ;Oy@)w? zYHWZd5Kwf&+ZiX(DO)gIq$USbW6THwjjal%10& z(3F~!W6PO53d=wu(yV0wdJ16*V4W&Dw>5;dBn>YJJ^1=e!*{b2d8HWg8aq}Ezp*7_ zOO%0+9sWI%S-SSIq5t6HdOjEDRpM6XcOuKVru538%zlqx_B$F~33>}e>CG48S9wf; zA-5z_ojA38u&K2@UG`dICPxeEp)*ACAR>P>2PA zxq346m=r^;ul#5%2#_IL0euN*jhYOi<5tn-VGyg(%3N!bI@Ysi+SD#&nl_a#V9w!* z;+64xlXFmK_|t8R&f%5L zP+eLzdPFw%gBbqI5tjycQCwN8fjZ*yza7eq5AAd6->$~-48`XdHQ;EA^L--u;uA0k z)gdAF9(D{C*>r?MNrWLsd6;QkK`%F@q@)Z^8BAQu%w8&*n;Cyt3afkuM6$}#>KdR-yG*JX?Nf^`Mr5{zTZB1mFsp4e?n z6O>f-Fqe&amjG?Fedffr3_R1-ri(al@C^6qbp+klrkz{FD%KJ32k2bBGOlW46J6X> z%e&S9t(x}hHGz2h(OEuZO@Q_fSBu#ATX@vbz)5UGP4Xt41tkd%(e4Qb_Q05vsP(21 zD=YqD?EbO#WA{J#P33QpSb7rumgKEgBY=%XD_NU63=o~GPfyT==0l?`I25K;UU~C4FhtZ*iC+G;O53tcMYgRBMmQJ)9 zpWjnW*-U|e!JZP;0||AiLcw7ALEGCC`e8FZ*S#EUpM}F^KoOG1AMksy-Y})YZEvaL z4~l@-AHZKp$28~(oKd4j6^+6q(nsxcR-_g4dr`XKB4b-m=$p-zFFWk4=~5#V1PHf> zXQ8c{iUZN@G@WS8Mv(2P+8CVLUY-EwtpyPgNkmnc^IMDQ!TKl=n>|xgSkzd&IYuLj~ zj1M@eLmeJO94=J2LFyP1f^nyVq1tlwlvm7V&s`e!re{+_A!8?vV6&!gXS6X5ig zA0_;yF<6u6v?S#2VL{CvnXM?oZgPaC4V>Dh5Q7t&!ivGhn>tz}?uZszTO(qNh(S2v z`7~1mvtDm>)xIZ?b;Sx=B`DQc>UhX|udk#FtXn18yxL11?MFrHoUF!S#D@h5^&~oq z6g(YUJa>71qsooJqx2kg20P_Op`cvh5d7a3-cyT}+7ll;Q_;h^pE0^s=A(xZt2*I~ zQ5cy~%5a13au%!*%6+)YnWFc5ZZy6xxr(RY%%%0RB1odBG{4)~uBO3iNfdoi;R2iXFqU&pQonD5kr*?82@{9ICcvmxJO2|HpXvhR7SYbBAmBG& z1pJ-*5}JvsBuWv)ny03Y-_WHaMvN#JQ850EsfWdht=IA_g#vkfFY{8IjSL!KeAV}yIC25&P-qHeNqX1z1i7= zT*m)y1Ue$?TuJO}?}86+d9l(Kqc}lL17&zPe-lcI3i5Na2?eLoVSKj?E>cxL#BhNO zs2Sv}D{UBswL2GE%tV3sIUL0&p|&csH?t*$6^jkLqyqDeQ$SLZc0oy`j3`=^?l^v2 zP821ohZIga?)F{f(>~P+IN2(_@Y`vnn1Q;C@hHqzrR#BkYroy-09WI?<3aD~o~t^+ ztz-oXm6Gv?g_iLRBJ@bpqZ<6w3C?m6Aaj~vCL=zUe5922QjI@dS(QX{~<#~CMTAM!-I z&l52ZNfHf$MET0!XO=(iM`+r+MSO%DAqEu|I=5?^;kXDuA``OGp&Wf&U#F8n@R=Ri zcO>qE#(7r5aJ=VqGZqtI*dkUl7TL`=9nH;<8zlLb`lCt4iGBUTh(Ra zx9Kq!gOM@zy+O|RN>5`o$xnH{Bhc)+L+UHfS2|vF3BCu7s~fngat*0AOE5O{y2yR_ z4G+OO$N9y**+)YViDWTy#6UMGc@S?T>AiYB6<7l2RvrHiFGuS+%=r}a+5Vw4jWMH% zT0rdT-W+<@f80o)FK4(cDoXFA;z}3g6crSWF3Qd<$jr&;mzgd4sL<2J8KXw!4EJTa z`9(KYJ@ejs&z*T~;a6YXA*%oU=Q}!n`}I4QTz=|#qeoq^@aLCac-$N@Y;Pu`t90hH zXE!byyy4)+f2R#zFAm-D%!#wbXVXvI`zYK6d@kwO<5BRyvvfQV=ZY#Qt5Nb z`d+BKT=9zb6SuRgS2Xm(7MmrCZyE<%t-VG;Rl1;ck{*AgR;!e!v=+?NJG0|P?Cs&7Ze*^_PHv3s^|EE9L}R{SE?SxiSZD}+NLT);Ydm{hu;ufkb{U~!38Z$ZzaGq z*2454buq?!I){b$qu&Zq{InzL03L5|!>2Sn2TUCXO+nA0i6f%i+4a^7>_-`~lSMf6fkJ>| zE_KW`aLiS8wA(t4{BCvV=6_oqst)Eb-S#YafeA&|v)XK0K&7>N79`9Z z9@N*K9ditA@4iQ2qpM=dervh3{BY$?p}mh7yvO(1Feb2HILPWA_u0TP5fdKoYB&%5 z5ZhwIMpzYmQxU1zWn*m@Wwd>_XNnpR@jW(-2hMCz{H(`4Ha@k-22;#x-f^k$G^ke3 zo7AR`Xg4#N87{Jg-d&TV&u(!J1CKlRe?L5ORuKD1@&EW)AhSAdbRRWiVwM^cAKUULP(FK8 zFeBO6v_zw1%fHLS_)OFHu%~ED+Juge1*T=ZL9_l>y^pGXkMFk^8+|uX_Kt7ZZ=aGJ z+i#D>CbSwhn~E1zO4lGWPD%<9<2py08T$=iV8HA2Md>%ajKY@qGVx^wm@V$z_S(mM z%SLzH==+i3`=b>uKQXxUo({akVLJR?`xN5qd_%i23nn&2h#q&@(+qHabjNkxhrEAL zI9D-21u+kljB|TMzEb)akvY&Dh3g%{wlSPwJWA*|{?%wh95RRFdHmdaHQLlx9cO;B zQ68i|;bSym7zYhtA6$AMS!Bs9<&;FdfsS8#R+&A;0aY&{B~`uBANg8oNg);?sMa?q zlf}cqre2gLqLWpd`WfQ*AF(ghF8rxud=l!;8fNyRV!arhHQI)-P7*`qP{L2C`hnAP z$mkUMjGW`ZIp;^P{Z%-GIO*LhEtP$*1Sx@v33jQs$r=4fDPRZgd9HnbSHj(4{jT0zXnc4ZC%s!r+?4sfft9NB&Wam#RDjb#LX8Mc7 zeS7wZReOc#==k{SygOch9gRz@y6&25u6z0p&ovu2Hb1?6-}=Gs=^HN^yy5GNuix5y z!8zB<)(wMULI1b6UpN!#OU3gt9W4K-ToP*#x|bu%vHQT`T$aP!Grc%V;lnOC)HuGA zO&@y)e^X4ZS5m)m#TvaCsI?h6qq8%tYJ0*RXs@2EU!`?8=(1mbx_+=s+9=)}yrJWX zyE~59`1R+5*F(O}Na*1Ev}1%rWYE67dnqNvPrM!GG;GZrGLYK+NiJ-cRw;|>638aW zkGUE}oNaY#FI|d%`iLBqL!}~S^g`!04bpnHUuoKz1w!fEY}iEQE-DsU^*hA|w{FyhfLZudb z)dU=cK@ESOFU2>V0W;hgu5?_D*I@r~y%VMi1--ii09B8E36kBvfBl~2V*AA%yT#J) zcN|;Q@&1Lh{|?V38&4a&;a?j&0%B;&h7AKdwsp+zzkYp+sP4FX@OtPvto5}MI)3cC zv-24oz_m$m1_$%xRBuh>F=tijis)G!>LiZXIUMOp&fo#P(>;O?DxM_8u>qp~`&ijY z0y)a^6+H|9)G#?mw}_t2F?C9}(>a1R9!1BGy>GIQFRIrQcT%^9a|cv=JU7#x%F;8U z=MQA0vppHqF58}I=DW7{R>vf9Xs#P48@1m0$JD(YB4rJ8R zU&UK172I9*e+%z_Sy$|2vaWRjm%l9mE_i{$t?&21#h%}I?BM|^NdPcpU?>^R?3Rzn zQDKZ-$;nhIrlGRg>KJZhy4fIg}or++5( z5UNjMPb%34>rwS^R+(H0Cqh=z(^`-Wz_C9wJHysfLO-oE@Wl7$(of^4hxu7-e=cfU zd~fcM!2qLd+;)Sms=)5bb=X)wJUhAv*RRj$tDt|bG_X`Cy`$B@;#oi)=!l7Xa8)%! zha{G+dZJV5sML0!Eu}+j!q}03VURj?ZU7TvmUry(44gR zL*n(p8^+(41q)%h930QDj0;BWshe`#%_2|aZ4!sR-*N9{@A~if`m;OUytrfA1>%r5 zulLvY$&-6;*wFjypKVO-xJmH_(X>&n>rMDG;Y8yqW-BO%4jPz7@E5^sigE5yo#V3M znLUpxvPBXzb?0Q-t@bsW)96?-WWPm5dUF49-kc2niV9q9>+p}BL|ov${d)H+D7L(< zz^(sa``eF1QnRy@LqmHFm^Wef%CT;px~zf~gJRhNQ!G!BQPqR5M!3 z2^8BUr6bKmj+GKoVNn#59)<@OxCgElYcB2>)7Y`I!i@&e#jb8|Z-ZX9Ux9nWF9~q4uH)1* zUwf^x(>WGdPiGu{rY}lx_6^jjOw>x zLx^L~yul3{`gOeRHT+SZTWMmV);O-ud4$`Xi}@|*RT}R|wFc{0S1KEam2)bihg6za zKg_>8+swFDXSO>>fH1$<8QI*iLD`bjyiD!uhZf`WGRDoBsAnF(+Gt=5pK4`0?%Ybi zYdt$-ex`$?!+Yff<~S<0JlA4|`04%5%9W+~d6jY$Gqs+eOr^>-#Hq;0P^aPY zpHy+^#RA&rQjt2_k)JBwy&juU8-}8OPj9Fyqd-x=Sg@V{#Jld!FHiidDlh(@|F_H< zD$bmqr*CD6OJYxlsgm_wfyH;2y_VEE)?T};M&;RS536sp?6nvBuG$r%{_}A%{r&dZ z554`_UbBzgX|~t6;u6``ydR>R&+K)IGXXzzb3fG?D~j!PdO~|L657*Cx4~tgB~$Y; zf)I!LS~z|2y*1YoXN}+6YnSr>Vy`{UC~?4Ed$H8_v)4Xng#44e_B+SP-S#@!3Ay9# zbJA& zSW{n@l{XZ@z0`G|9JCzKRU$j=?0x4gJ;OxF0?tjSs9 z8?y59v&PTl{oJha=Vj#;W{p2LYxwZ2@rz8gsyX9rEeQ?Ds%gxs%xY?=Tv4^AvSD>r z{YneU1k-5q?}X*`Yo=8<)HF8LRMutjc~wJGV}0G6n&nk>ja4hM*43@3YRGD;uF5J~ zTe+OfJ~=Wg3Q+!p-0G&LwMR{yc<#C9PN>vxO{i~JHL=!|(KvC=>}eHq=U0s9O=pHv z@6PL{L6sU)xDYB~4TI_EnLPK~n)2MYCcCim+3RqIsoE8oe5*bAJKxwnkeM9PAf z)bjl@?pE>UI{mAm)0amb=8L1grNpc*Wu8I}4NfENQ?1XUEfYw&{N-a(Eg-B;yp8I* ziNBS!ZJlmuHQyPSk8sZ6n+Z;dQ^>yxs_~Sw995vu8N+wufg#J8tgjmQH;;GJ-I@HW z-p@%Pc})FX{ws6g%U)z|u1gvuI-@rKtXB0@h0Ur^;DF-r%g}UOn)1 z?v)9hFrC<66LgQRai-Cis!tm!v4)Zq=1lDhn@!wT*qp<&<UqJa^hu8pbZUB&qOev*p5c- z%yDJ|LxnRJN~@q3Oqp;uW)$kb$XPVAhyOf-Vcu+vgX3^wEIcxab(H{oGXz&kb<&)4 zCj-vh8;eLL){uVqf(>v6q6ZFUEovy-KFh%)4I9Y_c(&Rja|FaO7G38^8Zm)}slkvB z*%dlPkY6zbQv!%noT<*yXcxyirJ$>vrcbBYGw7yS0CJpjJOG^lF!P)f5o{*|)BBu)bzjE$$E)y_ z=Sld#{RZi>1&4*82r)%W6=}|!&ikD8xyyOS`KR-i^BxNg8N_ew&7QAJ&LQoGaz21~ z9E0!`8X|@gh%HNGi{Z|#C}1PRNHI!`=8%9fVyqY^juhjajbehBC~{GP^YIWV6h-)0 z7K_Pv_8mne&8gyOaSSHMQc)(##WeOLSD*vT6tl!^ahy0_%wbpUTzoQ56eo$3#eA_q zEEK1RMdDPkSS%4siA!+0I756-oGB{BGO=8&5LIHOScNsIMx4b=x>l?ab)sIZ6=#bE z(I}e4I&qFTSDYu#7Z-@{i~kWn5bMPT@k4Q;_>s6sTr7SpE)kcCpNOA|%f!#b<>Ke! z3UQ^lN?a|j5!Z_AI92zT;(Bp|xKZ3hT=q@kW^oHKCN_)Ph~9FCxKrFEwurkq2Z{5% z#l2#i__erC+%FywzY)I`zY`C#i}4TQkK!Tmuy{l~DjpM$izmdN#FOIB;wkYL@wC`3 zo)OQA=fv~k1@WTztJoo45-*FtIlpD!%qz|xoIg5Gi=CX=@Ox*w^CRae=Th;ibFcFZ zr+oj(c}%<}UKekOzl%4;TjFi;59e~ROS~iA74M0Ea^B8O#G-9=?joYXCg*N+sOvbR z>tXS}^Q8Dd>=qxga^5WVh!*j&*vo0MVX;r_7p=tWI)EQ(yEr616`zTJiO=z<|5AJ< z{w=;19U{U2!ybg?(Sv2)$EqgL)nz~iC2?eBs!WsVGDG%~y=5QVKKsgkvcDW42g*Tm zupAOAKH#NqdyA2|O*MC$d<51k9q z(H@cIa+;hjE94A0)A`!zkhA1$d7M1ni7?NZBTtZXRkB*v$g|{XSu5AbI$1B*%ClvIY?MuM zojgaLE6oIqnE|q&vzT?H=KdamTvj+#}ub?gV$Do9pJe`EG$* z=oYz?++ugKTjCz&PI0HYN4v+k$GW9%8P?Ki?sT`po#D=OXSuW8VkNX36y}QBvp?jhGBljZrV)w`H zCGMr}Pu!onm$^T4FL!_LUg2KpUgcixUgKWtUg!S8{iS=odxLwUdy~7--Q?cv-s0Zs zZgy{TZ+Gu-?{x2Sx43t^Tisu|_qg}E+uUEf_qq4G54gW^f9w9vebD{A`v>=r?nCaw z?j!D_?qlxb?i22x+$Y^XyHB})ai4a#yU)1Ky3e`KyDzvex_@fZj1Y|yVw214ZHi? z{cfw<<{oely6x^E_fz*X_h0Vk?icQt?pN-=-LKsaH{x-yn@j9|9=5Mw=w**gvM1mP zdO|GOrh3vm>7EQvFJk2N;XL=go_?PGo&lbLoyrI4>b!}BcP5lZ~@usSVsuiAD%PJc}t5-EtRn^s2)~%>n?pD;Ta;xfA zd28$IRyBI(Ro6GvdF%DR3-!P2)W5pa{DNX{R9{!$n6jdV<}@;AP`{EZ>*|}TYO880 zy)!GJjO=;)VxDD0yzD8ACo>ymXQ{_7U zI`gT!mKv6m`01@*Q?<%~TrfS)z%xDH=96?@m}`C)<`&xDB{na!dAZGJm^{yvQ2PmEx*W?Uu4TKvgH)na*Av@MfUwkxd#487Vb$F-bwcRNk#U#ZRaH0 z&PleNlWh5uZ26OH`IBrrC)svRvhAE?>n*nJEVlI(+xm)aeZ{uCVq0FZEw9*?S8U5G zw&hK>a7?yvOt$4uw&hQ@t4%q39Spdk>KrUgRVx(D=jZ0zGK&k7>l)W- zG1B0vt!b$At*vTQ{Ip_SL%n`A&sLw8XPT9lHz~OaYtWj?rm7Xm^>tNM$_iE;YN|%; znCr&i%9?Yc*P%u#u8TfEoUEy=T&^URDt$(|0eVKo42_%_GiGSykx%!XJfU&T^0mn; z>(@2ttMuhq+-k8JDbZ6~wX!J~z0p*&Jaw4@FeaW-^iTDo5@6HpgTqm~5`e=9%myouy)UT!m(!`UMR5=9`BLOt#Qur(*%K^o44Hy0FlxOYf=)m9kzih9j6cj25l zzQzfSjkyKBN|P-&8J(_f(!VOBM^r|yHRcxj^s_?qtk9xM6&x_I={huU>dJSb#$QSl z>zdHDAj>VA?wbzCl}(;%fc7j<|1|MWpezP|pfYypFEdJ{ztZHsGF_Cf(v(a9VtT1eeFJbZ>qyROu{Gf!=7CL7*yj z>94RgSDD;bVM?shS#V~&?%=BUwP{DbVd;7Kd7+sJ!!Wce;YV;*{HtJf{Mt8LGXr0Z z&iu1&%VBi7<+Dx8YYcW~+cwsiJTN=fd^!6#S#wtKxOlXpve2A_N1@t;AHF#T9kn|1%%NgWE&urDn(yn(_j40I3DqV1@Xa;f*BNxyRj#dX zY-*@qTV3U!XF;yFAkQ-(*Xt~0UiCT#QNy}5wX8>^)F=M(oowoEFm<1tP+h1Y;fL>J zQ+I>O=9{k?brzf-$5OB{eyuw;KhMbA{5&Ib^Ye_%&9}O9-XxQnQWoy z)ODs)7g`9{SqK*z2-oS%yHJe{?>hBw%ECnWQr0E@@-MWVzs}^rMe)`K&rP^qoN#@9 z{Mxs~zR?4eWv2Q1 zetJch%2F#jRS=w=@ZIc$M$Yc~-R#ca&5gG?I4_}$c?o6A>rzH=Ui_ofd7aB!m{7*T zgfbR(DI;}Z=kFHB-wj!&Y7k;Ls=f|cerg^}i+_=xz*x^^c51R;ur$C$LcSt>K;KTgy4^ zgM>mY)6@^r;v7@|PETN%`bI_~r!-|54r!hy@<;nL4qLL~isr82isqX{o@k%OzX@6H zXC4^Vr>}c;VtnSY;dlBvBaz$Lr}0vQhR5mq=?NT8-$5Z{@WZ7Bk1E`IeC67;mGXpja_%|=p02|^xw_t6fPu(X z<4&ut38|N(MW@*Z(cb~B@tLMsdzAi>L{0i4Sv5>w^|3~$=%@OoceQGSzur`@C0s%I zG+DPUln78-mrq0XeO*MzKGZ(~+KQzwbzz0McFJp~w1svmTWF`Ug?1`iXs5D;xpsYznZ_3HDrUo>Jj_DCH*HGroFs;rvhKsxk z0}Z*xN?wJT_>=3_=glw%FXqA;3UX`Mum*}kYe*<8ve+oH*eSBw{ zVhepqG`IK5tU;vA8luW9*2`?~O|#`sv*k~-y*JH1pKhO9!)c*4oEA>Ey)oUwG2Qmc zblbk^wtdrW{nKrGrrUN*x4kso!a3cxYr3ts!nUKr)>C2Ysj&4_*m^2#Jrx%23R_Qw zt+&F~S7Ga`u=Q2g`YLRFwm%DJSUk+I_0O>N&#?8+u=UTd_06#L8Jk9K;S5uLksX~y zc61e)(Un(W3~J8LI_I~A-_SX~E&PVg`EB7hbk1)JzoGNI3Pb1Q7Jft5{I>AUu=UNb@ESVj zc?r{fWp_~QFF!ZRPD*t3xrHSf{Mpd!t*cx0GT;{t%N8!98v@LX%@4B?j zX`4fb(oPQCr?0jJ`}%H4=^r{2tPW0PY4eG|-cUnub7+h2&eU4pZ&PbiYePGOn*+N- zU#6}MeW{+L-oRGFZ6U|^knaiKbH0~+ukozb_qMN%eKLdn!~LiF&+xBEZAfkKUz4`k z|DgYkR2ERF?c}u0!9S>4lLo4%Npq4;Njfv>f|M_lE>B&Vv?b}W;AW!nk4P>}F6HVd zl_!@{*Un(IsyX$BlrJgcwl>X|^w9EV(oJ#w?RQ;v? zsQ)Tea%dZOIi@6ZRba2K37o6D!M-W|)1IJzH}kJ*|CgkzQg6^tp@!fe)K~PZEhX4D zctuM8R1c7CQT?xbe@hC`2B)e&Rk!H@)nX03hFJI16}n}cQ$49GsXK}tg$w@FT@4$h zQtOw|r0+-H{jPZz{C3B;f<2DQZr3{%E)5SQ zsO@j~*d2|J-8=XMzK6%%an5e%Bm4sQ;Folwv!B0(c=mmYUm#vX_yvB2r_oZjvPkC) zJoo(0nfUAloJxH1`Z>$+w;ShF;b%9|saD%foEkjnW;tgmKR9PKesF7?HTbOE;HV7a}Seu~%9&*aaX7Ws3$ zpgxvY;sdo8|EH^+Pw;@c)(PVS^$TYoUQjnV`|*I<K3P6e&ssOA^eAWIbY%- zlqmxE2MrKGJcI^`5FSE9MT+te5~+9y9VycB3Ca}%@CYgvgOw+c7>*~cJbsplN%;JnCW@8EkC=?F&q{F=-acoGDayA;RN&il zftabhdBpK}@?0WLz?bI=F<1HSh=us=JSi68Y4eo$A-*=Rhzs$fc}rZ0AI&at6`nNj zimUOPX%*MtEpt%ZfWOQkaU&ixpNX54&kVbzJJ{TNGk!82aT}g8N#b^VWJ2ODykt_v z7JOuSiM!P(iDWTK7DSrGmdKOHxGnh1x(?nAI z!$TkE8$n5L>VNOytKE^;`2D=_MLrTkBD<;KX)z`8zL*nvO`O1&b0d4iDUqGj`aH6F zH~+Rr-sA0ky!{DpzbB4~e5~JG6#1uqqnS7U#*>#Qr-gF%P{uyWXr_$6QRC}iY&Y-j zb$aWXrbhlLj-|%wlrx9&=0@J-?f1l~;LGa_;NRVm13Wp%lY=}t2+Xg8?cI@P=flV$ z%IQUod#G^_<$WZk>ROw5yV=&dhu(NS@&Ug-)K~9=&kyl{Hdx&cG>3rZ04222##T6E zJ9m6QpHEs8`Bc42tJ}f!7nG9^JX1-F`0W(~z{3rst)y+h@L=Q$*!I$}wHfmScYy&@g@vv^!{q_NOcXM|) zeY+PZlDPi}P`nIm|KO_=d44lJ)h6bF$3>AjIEX#O)gwUuC~zvuOQt;sf#e{N90Zbs zyz!)X7)p91@+@z?$yyLc> zI%Pcw{<`giS922_a{7mk}qO+c{hzwlP(_BBPTstE`4C2GUX~9ybfJ2j@(Hp2Y|Xa z&)X^cfW_bxpne-@768rFK*P>e=pzkTmW3qCpr;lC;qM|ZI?qQwqzvGs#&}D@w4I3l zikgwlrvSl*$gNPw_TOuz~ z>c_Nf4=vjRoh;@(^{(P!8NB;};$yt~7VkdDyKnLCTfF-gVi&M^7HBC_jNS zJpg?f&eV&x+=uM$<+P|V9{IHsj=bS~8F|m?fQxt->jU5nV-+W2N4-?V8y`YAZv0E7=j+MVBW?@v(h>->hxQSU#& z-RGoY#W$W_oco5M2Z2eob$FpWaLZgI6n#4sAUQjQ2xZ57QS9(-#jT zp&p|@6c;)Gp7z0`_ac!7fbIUk^BVB9As6@Ae*dSImd`^AFYw0eP}&~kW_#rCwCC@% z#n7F!v#){FPGv%GWRQb*tteTam5X=wZb@{NO$l`IE`G z`;f0bq8%TCt=(Yj17;IR{Hr)iDDtw_kY+*03(!1HAy?YcYAE%B$PTD?GZ_3c7<`hp z{muC!&mX2|AAyg-dFlC&q2xEfW($=32yOou3Q)ZAZ7ASbaW*}E18v-bezcX*yp8Jz zNe?l0A0<78L=fy-QuCb<`;e~l+~YmcdylV=?-YMi(pmgHm!$NwkP~1IldJbH9nA<- zdy-CpL!J(llYyfIN}Iwi&Av__nd&b6)`l2cKb<;?_NHd&X?kv)Aq&fUP zlbxW|MOl1XWicV#*$ zgVc-Eo79JtN$MN7)vt(^qmP`7H9; z{zoCxbk$zA5Bk5t%qol`4e90H_6{3f1CUtEI>L$`jqq;>0hMJNnen@jNB{7 zk;aoIlD>-E>$;>dq=lq9(pu6Dq?<^aNVkwSlWr&7NrGp(TS@njwvq0m-eJxpWW{9k zf)Zw$QzGv;FY$XP`g&jZdmed7Aq{7JS z?u3a1JtyMnl@3>CTiM5O%G7hCT8YG zB4vsr`(=O>B!x&Rq$Q-El72?|Iq6E$)ud}9``uBbU8HyUb|x|<9jzf94&4HWZh=F$ zz@b~<&Mk1_7PxQ=Tvu`27C3GT9JU1x+X5GDfqS;VHCy1AEpW^hxMho|X0}m7T1~1Y zt#Q)fa4m4S7C2lB9Igcp*8*p1fh)DZky_wJEpVe2xKRt-s0D7+0yk=b8@0fRTHr!0 zaG(~rPYYb4g;C$ah*zV%#hvSv_SPOSo12NANn4wguzM}tc1Zz7_5ZBN*Jt!!Acmc zguzM}tc1Zz7_5ZBN*Jt!!Ackmguy@<41~cz7z~8LKo|^!!9W-cguy@<41~cz7z~8L zKo|^!!9W-cguy@<41~cz7z~8LKo|^!fjSJ-VW18Jbr`6_Kph6^Fi?kqItP%|OB4v|?lX6HSNOh#Oqz2vw5;$}i4jhI{ zhT)81xKJ1l6o&hR;XGluP8g08hTDYUC}HdnsgaA(87@YyUW{D57`b|}XjJ#0<}lP8 zhML1ra~Nt4L(O5RISe(2q2@5u9EO_1P;(e+4nxghs5uNZE1MD)0d%Bn=NgXT*e_pm z@AJ&^rTYHKs>YkFY5XKu7yK~vht%iN*7wfpb4g}t<}-aq^lk2U+TeHl)%AaJV8@`W z!IK6*IQZQmD(F@=w%`ZUE?w-vYA^0~Y`xF31664nYQO2<*-QOTwHs6It7I?tUUrgV z^k>g?MWt`%FJphN$GU`NY%_FYDlX|wWKwXgGlstBzij%vK;isWKt!+Ye<)oE+<_<`h>KP)Jh#C=wj{YV(sW*?dW0c=vM9M zR_*9j?dVeN=u7SBNbTrH?dV1A=tb@5MD6HA?dU@7=sxY}GVSOx?b1i`laffuB+5jm zXh)xDN0(?vUuZ{HXh%&>Uvqsw=?!K(0c6=B z(x;@)NdF>zPWpoMW#mJo%&SP(50S1PB3(a3%Djq{c@-)9A(G}*B<+Vtn^)cR$WA2A ztL_+n7jZp@>xEjrz3Q&!cOBPjN#}EYE$IfXZz63X-9p+-x}9_2XNZNBo7<$WS=JP$1j^WIKRt2T<*RGYo|@423fcg)gsULQ`LFB_olS#*sjwdZ7Rb!K=A+09WlGa4tMqacbFWQh7ZODr@ zUMYwdz-?SgCV zLO!)2pW2X5ZOErK;*NX)udX| zn#g7_eE>`!0MiG+^Z_uv9ZYWrV+X+40Wfv|j2!@D2f)|?Ft#0R9ROR~!PWt=bpR}F z2SeMz&~`Ai84PU(Lz}_QcCfM?ENll0+rh$iAUXg<2Y~1R5FG%b13+{DhzJX;zDR~A+)#< zT3o0{EiQ}sTsCPqDTg$IG{y~hi-r0=3B zvZ95SvllIAFIvuCw4A+YIeXD^_IA=D-{Lo#r27fw?jyC*7a?Z}mcY|UpG5Y_jij4N zw?_84N0Vwv7m%(aeG%E`5xl3qILH?V`Qjj79OR3Gd~uL34)Vo8zBtGi2l?V4UmRox zbSidk_0>}H(~y=Ak@Gb)e+YU$1U(;uZVypfJEgT#n$kHALAQr=sTJfWkSa+vq-ZUd zaeX=I3X-bv6Y_neR#LR~^BH+BF!EktCbW~8&}+!ALt1{#i+tgnNIIExD$;EUJaQ@d zL!`&J_Y&{#B)!4={{ZrLBkwyObN>_G+ef~i)J8f$I!OAI^e@uqq_0R{N4^k})R(ot zen|H`v`vgq@PmPWjy~G z`Q_w4C%=OH%EAffDy(hqYE0})*tUm!pTft~67<>W@ zJ^==wfbNuJX$3=1fR$D-(F(1#0&OdhwgOEnkhB7Y;^?ikww0E)(!wX;>XV?A$yjfX zg1V=WFM*?@K~ZxvbaN28*$>^cKr;uRgFUpQnU*xu$9rf+Gp%T*70vYH9{O+(eYgib zXb*bOLHckHeYc;MHPd%$d>x>V_Rtr5=!ZS@ff{cI=mRz84uJdp;C(+h-w(c9z_l8O z2f+0n@Vo~c@1fPr;8l&y1K_mm~Iy)0E zsj4fF-*<0UZ*+Ba)748gBE-=U6pbLO8lwUtf=X0mV$AoU&WMPt6BCz+EP`7!s0fH_ za9@CO{M0yVa1z|2Ah>ioG6`MKRjEfCsvIb`2HyP6sRo(`Oq_b(dGFM%`(C}}-gEwU zIq%O^HgT0rT;X~%lkfA8`N&f8E@Qi#?P`Ai1bq$qr|4g@l^T;_yNyvBkM?(nHhC%A zDBBv+XoG`;)8ODVI5^GSX#xwUxkF9fDDqu`zLjkb*@kRKb|5>ET}UhKaE=LHPJ@@z zwiqcv%7gXx1lsy1BHu^24)Ajt{G0|qr@_x@@N?SIw*Y=l+lk0zWGXT{XyU0f@l=|4 zD(iVF>%r7%+sbhQ?wASIJKpLKzE1O`*7KCsyPkYMneY4uPpgTiwBC&-Z4BSX^8G5d zS0mSuK8f@x2=@^jo(6}fwRX%S-vZJXB8!m42)!!qG2{tk3Gx*34DuZE0`d~F452Rs z9G?cqr@`@QaC{mZp9aUL!SQKud>R~|c8$oF$R^I?D`Ydmv(XyX%2sOGo}j6q!tgc| zglpqnWc_873>%oYn^~Up*JcglZ=bRi+xR8=I@)M8jPm!UoDV`q1v#EVmb>{ick^rR z=GWZKEO#@@9n5m)vXpVLQ(4OR7Vg^DYM;P@+_A0PsjS)``ySrh}e$>L5?fP zas^qgAj=heEw(~!Lq(9|th2O$BaD9>NBQfC^hQoWuyP>i6bL$HXgk5h>*E1@`WTXU z0Uy+o0-yQVkw)xDBV|27Sxk>d_07Yhw$+bzS&Bi9NTTdlXwarPvPS!d_08@GEdd!0 zBMH!vv=Y>blQW|n*?Y+<^4M&SXU#Pk=7tVT}e<^ z64aFhbtOSvNr0qM7Vl*1kQhR{)OHJe+dW8vrjnqkBxouLno5F2eXytx7WKiRKK8T` zd)i3-O4vT^$2|u9OFK0|3qabc30eUuS^+6q0V!GmDSIYzHp0jz^)Nw8K-#hidoJ7I zY`F&NWWtVQJC6Stk4!+WLne|wiSwAub_(06Y^Slki{E~Q+>6XZ?nmY$i#WF>b3ev7bzlyZ0k#XqbNxPoyFOVCM>ExS%P`=zO{$n=V+en|o zb}rxVBLAX_Qc`d<1(XxCl%{+9bYDL2g99ll*rh_aMLKF5)%a1EeoN7LsQXvKV;; zc?@|1S%N%;JcB%kynwufEJHT&A73Gxk!{Ehj1sikWtjBa(ZcI2OF{88?oLS zvEI$x9qFx+o|@pBO9^aN$!Y@L^NZ$lc16$mfOd2`&e!t%bmn>Cmo}x zTuC!m(#(}Kb0r(G-bt)?vVdb2R0f+k^JaQH`!nKws-E=*&bpbi-oRNmbJopmXWhbC zGiJ)nmqExVJ>w0W@dnO#182DJ>^5+Aa#qrB)ZF2$nmMax&Z>no*}$1Jb0*E4Ni%2C zLjN5+`AUeK>m%9Sw00zU*xdMIc#qZo0`Lp=CGqVS{?2Clylh39Ck2=9n4_|bJ&+0_9cgX$yzTU8XJz>@K+Z~}N?6AFF-Ral+4sr}aKOsJG z6@Ksk*W*QhAU69>V>K`wC+OB}=!2d%^ztqar7 z6Q-XhOg~SUex5LM6|%MhsYJkamOEvmNHxMJCdefYa*2an;vknesHK4?)W8#J;0ZPG zgc|nu0rg^^laP~5F4UT?Ko?x6O*uWEvxAh6d+w}>B=@SamClq#vPerch`!A3ikXan>Hnwxw9^5|^$964eyg$oWf0l9nEMxpx#`m-CN#tqd zS>$=-MPwWs~^%P5Ai)BQPyqjUtmIUKj3N(ynE0f2w6-^;SuC9q!o{Cm}BAC7J^zL z=oKKA&TM;<))xfRkMAS-KAP`i(XTT<_1^gf6K4wXVA~SZTsIuXTHH< zKS3is4JNol^YCoZ54o>$PlE1;Nxxb1uL%Aa{G1$9_x?TjoKkh*$yUklhx<@|BJA2?ieSScj%Dv;2skwj*iTrRSbc{(0qh2)gavLCWXII{hu5 z1NJXIl|h2p$d%09Yiey>#&`&2A$T+Y+=H3?l0V!0+U%XkjCLa>Hn9`vg7`KDUm?(FnDi6WCd_FJ_45hU%~e|UO&v_tniVmjx559f2FTB^V8e@Y$m zGOt`dkpowy-&qmMA?pLzwg0JTjUUBF@69XdqiVZyIbC{e*vMonQZ-2P_wX{#k z>qkmIkTZCY*nvYnV#yeL<|F4Rb(MC;A)nyVLz2ERp?x{b*Q~u#&OQj127e0#f3zSROU>QVA1wBV_8vD%CZ(%td6uy;th&x%%5C#DALyZ_d zOCyE{YsBynjTj!P5yR(t5-~hNBZfz6#PIn<3{Nr_2v>#~t+BsjH1_w$#QxTs%QWhD zCQ-kG%{-N8r}PXM)$s`(Y-HebnjA)?p>zQ zy~{Pa_brX?eOse@f2YyCD>Swzxamv`9p+`AQ;s&1Q+{HQObkmk8iN#PS-A z#XD1@ zcxP!8?;MTdovTs2w-ZNqs+Qocl+qGPq?BN0QL!9NIXsqmi^s9R`^DlY(LF#u!f<0L zlf7usoybx`ALU83Cxq|DQYL$ovkyxr%6)%kXbxa0qf8FOmkna6piF9SF{Ls>nLHhD zJD8=4==veVmPorYs`aEs>q)IL;V_SsrH&eN5qYG})N7rIQD-iLljkQaF>24{)Gmp> zucrRI1U_5F;sUH#y|P-btk$b; zTCciky(-pv)kW)7wbrZd)T>rzt?y>3*4ouwYgc#bRWm{q6RXXjT(5g)iW4oDJI984|b;7G+V(_Z; zBF{lt`L`_as35wuMioe(fyA4e;Q|U zIxY1YSXh35eg-Y}8v8@|SVHzpdnWo>_AKD|DpMO&rZ%Vo8^jm_Tq}#X=MUM3&==dqrV`$jhs{y?=7CE1R~|)| z_YYLU!}2)#Zo8Yi1fvOO9@qe`QHnQX3lLlIhM16px*K+rLQ^RWC&t2YLd_PQ6ZA4y zM*gr1(??bA%Ap8le1v@~bcCeR@zx6%P&$($*05HsVVzpTm|DX+tl@V!{xR6ZB5dMu z(_uZa46vk7ieO6V%Q^IO z{TK)7@A{i6SW^ZN5jMyTq8H{=cdDs|Kjk!{b55rpE(VXv4@?)hR47I8slX(R{T)jB zIqn?#sCc6SYu>29dZZi4Rh;k6=U2E@Ojj)OMXWD&lph#YF5&7fb(ivwW84_dinlIs zp1gH|Bad}s>D#-4UcH#Sdx7&DM~@LPYecO@;9MC``n8Ud<0j~c(RJ=R&T68YNXle4 znPX0MQ(6Da{fuK?Pft?~w*CgzH|nU;P3|W0&vY~S-&t-JSIRpaSl{8WT5z)5$vwP_ zKEfE>EO(>-in(MlI9l#Ozn3{>F+7BfLd|#cInG1wA^z)O_b}^6-J`4@caO9Fjr$Gj zC*6~*pLS2Pe%3w9`g!*}>lfXNte3i_te3mxtm7`u*}hEQR}CyK|B3zzePA`Pxe${M zqsy!4uesOIU#Cy326mUbIkJMJCs z4{xPlz0$4Z+TV5Wa@Fs-_t4*W@1uX-wr90nQBbP=CwYVoOsrW-sm^aAiIq+(Md z{uRT^TQXSlmJGa`^){=2Ey8aWoBaD_itv@R>eSaV%Ev;~BMWU#aG(JN{tI45ysuI3 z8^ZT~54|T#-uoK$zDMDEPbOVFZb&_@0R^6d-j~I|IoA(=DL%MVeQ=@r;4<~WCF+AK z@W7{WF5-i$z=dbCmw4isdSZhg9)>4Am&MS(I~+ZaTZN&{7>NfJ3_D6vGaBD~DT^^~A{2(a{SPblT3pw&4{JmlPc`0{KynYD$yc|6a7n;#G??hoodmUXc zwKZ=LO>5dP!P}q$Lx1&3j!85y`g<&$h|ySuE^p*1g)8h6j=6@#1A(t4o!Nz?e`dZw z7bIR`B#Of*dhoyw>v*=plV@Pw`zz0TJ+oSj;)Yt{J2s&UDz7HeLt0{gC*Gr$zH)ir zMi$<_TB1LsWhj_EN*qXzlx-}|Y$qn97PPU8Uj=Q{D%vo-0ca2UUPEVvzHBTC{@^`g z9t3Qr)^lC~=`h(60bS^opqF~3rZdcbRp?PKO1fZ_V#O$Bicu_Ves!cniA|n*uO7XN z*M+#&qr9WgyYlW11Iyph=-uegk9yrb%A_KgQepH%@9XvD-}`y}(Fb?~$T`phCBX1E z$dtnJN2!C^Z!md=c*D@;%|x~E`wd5jY<4M9;M zZ#VeKD1HhlekxS_#Ap`yDF%M32jz6J^xn3^PsQ-lF~dMnl!c$}1md9uOU2-+I}u$F zRSdqm@1qN@iYcxNwZm1RcDO3k4p)WR;VNTKW&9(m=*lR%iYmG?imsxHu8g9qsG=)l z1zklIT^U7JQ9INQ1w)*}cuCX_v%}EOW!xkROWknv^Xz%(BkTzDk&L56L1WZbMOsI} zPIoo>0W4+OVJXuNONA6m6)TnsDV8c$EEQ5LRSaw04IJl2dn35&CW}Xex9(>2U)o=y z-(qh;pKhn4-)e6~pJ8X9&$KhqXW3ck@^+_Exb1G^ICJbA^tpB}y1ePB6t25F(B*wk zg>c?6;-;9a5bir>W-Br)g#V5i+KSH#;lP`RF7JUVgbVL}ba@+8A)I*g(dC^`C2-?m zZ4|eK6}MT%ZDGZ2Rf^l{6}MF>ZmU<^R;9SDUO4pFcZprXU47D0b77`yr6lYI$r(j* zAw_awVW~5?HGo}b;i^LyJXZyt>x3>CE+mX~=z`wDir$2~u96f%Z(%s>s=zBOq~wuY zjjKVgbd)LBq2Olb2cU{RNZQo)z@4BIP2j>~Zc}FSEGm7&f zu;2CM437uf8O3%X;lD!{Y!^~&SE|^qLa|*;v0W5ayn$dZL3qWA@M_y3JgW$=S`l7U z5ne53>X~Tk}-Ds{w5MfLaVF>oUpO8}!VHEzopYp$O@R2gsjRji>I<)RecO}1G z<*wp-Vddjj!Hc1GcrmPa(JEdviWe)K;Kgdii^ffIllWgjjWIXHO+gpz7<1Fy&p4W3 z$Ef?c`#HKG$fy$pSploxO&sB7cMIv$-E_|FR(C7<3^xN^kYz}bWif1jv(ay3gfj~3 z-yC$on#IEYM}EPY5yhHTv1UZErd6yNQLJg<1^hKwbDo<=k-X2{$6oil`}r5apcRTi ztKkd87sDC20NlTj5!3>DFBWkvf=y#^2rfn!gc^fO@DX&usWCVOA43QwN+FdR#a^jRfiQ- zTbLN>;fINF3*|(xwSkcl^r8s66lTWlqzKNgfT3|GC3%#t(39dZa4ZKw+CJD zw^96EtN6P@@pm;Wj-|%H+}H^eE|}ZE;21_1C2jN$h%mJ^j8bcDgf^lnxgB*kGsP364D>jM_!+A20|Cq+nm9=j~OBi zLgqXn5CRFyaplM!_%i<=vZjH~x;<$Si!=ec(rZT3B7-bZujG{nm`G$_4wa_u2*%?C;@%6*gGmgMAl9 z*!N(B6;4=Tg%w^{VTKiM*j2E@u7)307-HAJ5Gx$9pTQFQIXtn#6x#q-Y@RJv_+o`I zRybpYHCA|Ig*jHZW1C=)75-RZkQEMDVUZOcSz(eDE?Hrd6+T&Elod`{VU-nLSz(qH zZdqZM6@FP^m=%s$VVTYI%nH-2aLw+tPw~{lwBAnVSq`Q}Qx608Y}#UTSo&#SU4QR? z={XxnZ`rx#W;?=;G53J0CYZ(aKTU_TcqYh($QF8f-k}y{X+h*mjYN>w=gS9Wr_6hR ze;VP--!SK diff --git a/docs/build/html/_static/fonts/fontawesome-webfont.eot b/docs/build/html/_static/fonts/fontawesome-webfont.eot deleted file mode 100644 index c7b00d2ba8896fd29de846b19f89fcf0d56ad152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76518 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%0DyT{kunD z@IxRd5dG8cB%ivC{el@oX`~o+@gFaWStNM?ePP2;oQjxznuvt`fZ6Byzy1|qLyFz*dy29Gc>q2odt5J?m?L$TUX zDkVVyveNVoHTCp_0uu7oG8q0}SJS!|KT7esIRQPOB*tZqA>e#2Olw(hWqzND zAXED_xybmfrMW%CElQ8kQ5(saRqfyvW-qx`ty{aoUQTWf+PbI%R%KJpGJnZF20A8~ z*Fl;CsazvfsiZS;rUcHJ8uXu*?K=Box7X_C!fEEB2eGY8?D@Sx&H+iZpNEi`DOnA+ z!veHDyn89URFg6B+HWcRzy@O?NI1bdDr?wP2Z}&yU&|IF8EhA}qDQP9V@eCu=E3tk zMiC6E{BZ2-^M~3=_Y^Y4HLa36K~dajGNYDV!C)LM!nS_!+N-IG4`8FBBNC; zM!5T2FkyzpVCvONQkQ~_PM`$dUGs?-HT<%`5c)D7TpflP;xDCc4ab_^Mjn$ z?eT@RRaFivum$;@PFLsT$`}bwbB?e(g`!-yCsNXJEm%|UQ}h?PNv(-wD7g~QRwxO=Q{ zGUpj;eo~UqztIxFE0y9kDlzvI%V&6d!@kLJ+rkC9NA^&sT(sazwPlNWc1ndsVI>`t0uaDG^XK8q^@Z?AdE95Ap8 zK)H;*e66kf!!#c}lIpYjxfQrHcRC|4t+V^G9))cZ@kyp=me_<{_SQi_kjqMFpa6)j z5Td355BKY-ORhPWNI3r47Mgh$4Nl-$%5uRcs3|LPnHIwxRwmXt$ zP76lxKtOmhOU2)YB6Qu?88A#&MiBIAb}1Ou9l-=g6^;EOR^=o+QkiZ+iYC}4QB5OG zpPOfat}EF=W&?Bx3<)&9%EovMk4lCY zGV(4VKuHOpxnf-tG^`QkR@ueqBYxFt)|9+TjFu59h!#n$gpkSjlUPKRzKbPzsZQ zgH|g;h5-L-6Hhn(5XLi&32W%1i9J8LRLo%fCQqG$9@?@Dqvd^RaF2*rc{;=hTnIQf zADj!J2vp3hJv_Vx&B{`CNDx58PJtiMS`O)v;XA7sISZ=Npjy>=%}iJ@+ddQmZNu@0 zGWMhsB-~UEHQ&@-s@ARMOwpFER4Gptin;JeSi{IFSW@vUGd0+IK>bidCpPQwXTg3$BV`D~&`h6#;iu*SA6 zEKlPXR9B#OQz_}8b^lta@csQ24beamVrS>yzpU;(9E_W=Ik8;f~ANfy3Cb6Q+mQ30kCbSGbMGR5Qk!Ph-V>a_VQC^ z@LYqSHf^s^D5n!hXw1Je=0dc#bW@mI)?r|M<*v(I4$4xv?ZF0OL)xzJx8Ny1=6MGX zq#cjc*Rlih<_{zR%44+*+@GtQbcUwa6q-ZH`9`A@VxN6T$x1R!vzmk})+LS-y)lpn z5&@Nw(;$<1E)19v*0jGq2HZr<3i!0w`BTt!n~8s3{l`krCF?Mw3H-41~skM zp%}cIL6C^ZU;2VtQKFDV6BMK=X)tZoG1t|mdi(+RWeh7LaQ?rbxWAd1{rQ7Bj<s2kFTWoOqt#X>rw+HHl`m%`v&Cf zhqiZ;^W~)v4@rrbQ&<7w>^;|tRuW`@DpH{`!wG>S^T&~}9)=}bus_e-H2?#w2rN2B zfy3{C-0Wns;iu!}8!EVs=D^9E?W#dB2@Hw;l_v4u=-Sy5D+mSCg6%~*CMC6TyfJue=I|NzQI|VY_+=61Q z@UjAsPZi=&e#vmLm#uNkR{u-D=^+|aU=x)PfrBE$XB={*4SIYNS0^S3Oun;dB{*iQ z#0COAiP~!1jz>3$>LgzwEbT5lDMzYYc5QuiNx}B-qx6Erf$!@9< z$yTJ2B;A+JyW?<&QAuT8K)wP69RJ)xu%CBsgX5UTRjI7*Ypkl6_wz)1X&a6*Q(=)4 zr$E6`s%`Dbmo0~{SW-JJ%Iy%wu@MtQS8-IRvN>6bJca37bWf~`RO6Pthn!zK2KQ{R=+5|aZ zV3uxy%=Y-hu?u?_V|Z^Ai=*Bk?t%2!%p0QAc46-CDAZ$W*NQ zGjtKFeC-AQ*L3QyB)ts~%wZnI?{Cf^>hdv06iFNH5e^{=1hbNg?L!!q+_`b_e<2j^ zet^5P2QSX-GH5qU_~>I2QMPw2Y>g&J?jTrHVlbgLR)V1fslBUXMelpB^0Q}n zs7SkO%di`ts6il36`mn@6^8&28(&=XP-BW%ICU(reX0VgxxSxi9Hf9Ax_=>P27|*% zz(yPS<|?c_1EgXAvn9l$`C>jWBMxeg9UCG4g+Q=m+msb$&H<{5sGUg$L2aFgAnIJI zJz0kJu~QN@i*dW0?n45!BQWwifozOmg+zh@K0(b_#lBs%M8l}AtxMM^LGIGPvw{g@F21=$X3On4M zoSaa6JTjbhd3+rp2j=Fk$}QT$jzD--8$rkfYfWQwX6-A zQr87-##=eC)gluVaCzOkP2Xp^nh1yi#*?9xxQcRI?+;8YzTJk2MQ`zYCNfxIp=Pfn z)-BLTmhXO)$^Bxi)JB2nPHL1S5c0emi{Sn8eKvQI z0A2Q|iug{>1#IZb`8-wZ2bpuck92|jNi7SYzbpsbp(Tg}^~`en=fkd%5D@B3)eh&J z_$71}%rgl|7v2w|K^A}rch~ALV;Sh=FIgAFS=6uI zft4%}P&z2MqkmLlX$Uo%k7Bbos6h}h8d>-qm@uxkPqMMKK`o$bu)Hz!8LUIMb#*HG zS3{6`j~)w2#p2-V0Qy_b6^In-bndCa*ENSg%SF`V81VZzmjvZkEls9sW3U?_an`LJ z8O+osy|{9$m+YosffHoSm3TPRn6tY8q$>_fU^Jl7ED-nGAaX@QC#lFJ=8H@OVoU@m zC@h*X@yr=$98^3}mH^^IV=NcBqrGsbMTh(pdMay1{!Xwpfz_Y#4o)qC!ZV4T93)Tz z3c{&Bcz>bq>p3-0TDd)#Hd|JcH4p<(?f7#Z4FD)4S}GwATxBU&ued?*zm>{3naP2e z;c_#vRXTl%5<|$*eBOwRa!RPn)?R3aVo{L)hd)GRa9j+LfVgp>#}Q#grK7*jyAuNt z4{Q=O3`>P6vUOE!9SW3sPVf*a&}V?m?LzSdb1gm-coW2Ni}7FmTe^Ff^?@6E-a z@-6(Kbcs_hi7o*8EUBJeof?4}3(!7+KB~}x1z<>JY{?&JMzYw?u%1`FWO=+4wXpH~ zEFERds3%z%)+d=mz99LiQGfviKyN_|pCMQzexoDp`jPv}Q~G-_Os@NkZL)|Rg^_$y z7*XITYy1Zo6c=_NLNTn!!m~^-bG&!c@MTbHbMQ2YHCT~^vtvddDUrb3#xldK$e2XH z8gegt1>IVZpc*>LutJc4B2dU=KAL$Jmmvv--sl`_7^wkai%G|wbKg4JU-)RQ%!7k3 z{DnN`I=^qLoXKlA&u@<1hlEE2)!y3Ohv**vVbN)Tb7|Heu(Q_+F-}kD z{y3*-HJe*bIW(q)5=aAbhVLH=)sY1#6Wj)uH_CZLJlV7apM=~6-o1 zJ+93sq=29)s`pI{VUT>|{OB%fdi%^rjV#`i?G&s!^_*1bl+Wupg&A`#oo&T#WsoA|084|9)=9$fksz;?GjZdFQ%|$2Z>-zGMNX2A znGZt2l09}bdKou$8t@V@K{<2rri)l5t_(B=p~T_}%Fx7=)TYt!2oZumTfTXfhq|F|76iFSsOLA7c%}k>C#pT_-KH3h z`#ET&H&;ah3%1vc2?9^NCF9U>Q>VgZ{12}pG2`;)D}w+PCOnk{6s*AFuKS}Kk{)q$ zZF7h>NNNgT!4yUVAfb#Lwf7w#Ik)XXC)_3|3dXaj^7UvM zBwy$-?jd7`{BMDLJyKgSI2Fz~`gP&R?v|{H?N6nNi<}q~HHP26tzc(_)KvuxYfl-r z)YD;JTZ2aExw~ktuV6{*IiPtk%4UxW9&u~3;*vgjaUA?ENN6<0BV-ym)-^P13-~O%m>Lw!xbAEUU6bYqXHK=>lRRo1de`;RqsY$JUH4Nb&F`)h^D*3{sv9uaeEgif1t^@om@;a&BcB8JfdER0F6@nXmaoJ7pYd zpwP%&8+pw>Mz)~;p6Uh+iTPHN7zUm8kFZwmw=01ZDTW~QA861hHc~hvCD9xN0bU`l_8{aEv_~)@gR!@hU7-YhPG(g389Awe1`o9qVV@I0 z-XeabL6Gn09qT02ZuU$~PNjn4gCU1cd_D|Bub{xYXz;D*&`&%Z9oqMMpt)X@HclNd z?qj|#l9H}OYo{ibBh8~uJ!A!qrC%4g;E9K$`gqo4*X$85#W&pgXKe7&gh;En=j6A* z@tycbJ}6slkO5*!gvshnRQ=;H&6Ox$wi{%Z13A{jKr-md3!=mhLsk=?a-@uH7M<@U zM(NPJ1Mqt3e{$IF(>d^7J>aA`=3<#$AQ~iKMrM^{fMr1El$?no-VCCfTI_mvOdQ#z zj6NtSpZ%Apb)6l@AZo5C@DF2(%NVBf7sj`r3z0VIjA1mxP0C~Ab5!nF*=1@cjAEjw zUMoYbNBhFq=xQ$RLRxXsWwuZpfppsNhuXViX=7SPrVjwOvqS0n{SpBB1e%5!1!?a$ zCqJ7*4~vMMym8}{kQjZL4B>2*1Muw<;WA}p^}58nF&-d4uM{XRQ4A3em{f}l)bg)7 zC7Z|tu?-B89Y0xOv)Dd#@K^f@ob**-ETu2S<5aUmqKR-M^oF38mAH!Z zU=t3!69uJ(l=-v4;}`574129ybuNwJ5QR z3FhJq01*^&uIpE{oM>D4-;1=bJSJ@fh>5U8I^A^~B*Vr_eK{o^s??_o6S!DBu=QNGd;#J^Ftn4rQY0<(Qxc(E;MWaRBXsXm(s(RnQJbTY z9TGr=z?w|}U`$-3M=Xf|{<`>;IM%NdkYFZbU&x z!9ZpzRbZ1y(i$^6u!<35>KLU!WK*-M)`J2^WvEmB(QH8wkA|#WZvQimOu~!_P-_Td zdZvSNDAjOFz)oG1Bz?#7R`NeoKF8W4W^rJwa|2aHqg%#T*pmOI&;khGVqo=ahj^q@JJa0<<8x^}}`T9o`?D zOr%g)ZrTXqIXP~wpvo2(B7zr0CAgHBc#V4Y{5+0n?z1FYfKiAd@8Md5cw6*UG2;VhLza0Xek?e{}C{2_JoOy z4ljYy?jKm5=s5x?jE$2e(w(#gw^NWD7&6vsRtx>`8vz6Y7rY0|%DS1o;THTO&7gwB zBBvx_236z-Y8VBWvY+n-fN>}U|A3#5i|bNSDh{G31gZ_v_F@ANXf<$|vXDSl9fFUU zW&?yh)Ept>a^J8TPV^{Af3I%%8r$`-#=NcMO4m6A8t%Nc0Uz?L zjC`Pm8?cR7jB+H7lJP6R850Zc>;*WD#PHyQHf2PqheXT0H(%_52yW~NNEZLTb=?O88ge_p%V!rB2u-b| zXJNx+LwqZjT$W@G-e)7DCt48`p;w3fpslZ|cLbX*3 z#jpG|#|`EDs&QWoVo;6xO`ln!Eb;)Eu^ufSZ6nLur6f=ueb;@hin8)(!CLPmwY^QP za+9x?Vr!M^_MLP%xL6YS?y*T0Q+5+F{)O2#}DDAf{~{w2jD-2xcCC(nKe)#Zb@(89V@D6=5P?Ys^0wU|`@Z6r1Q9 z96uvQlD%I!kT2`Lg!m0KRos{`Q0xE|fF^J3)DiRd_=hAAOwneADXjwSHfB;fksIIF@8YN(Zq4QL@bkZtQHm zp)C7YIFTOd3ku@`XLzH)zvG5;ujM{t6p2LSU~dpg3E9Fc{2Uv$#sbTG35iKTEQz_? zQ$&h0DV;5MmH08q@5SS>?C4{f3GyH$g4&7s=W045rrnbbf~qOiY&(@jDexe&Iy)mX z#SI(`E}sp~aqdv-*~1y@KXcbNIu6IpBg0?=?kKA{+XOI)%#M;2Z{mV^V%@BMWwP&E z@iWEC57DVRO)LrE0j0VnB$fc{yIpwJ>Ooh$=9OmyUAPAcF%Ufnyk{YpIJVBv1Y@BZ?DT zbFQ%Gx@yLS76X6=%RaneMz2IQ8V=Uiy>d42`=1SJvm+qp(ppoYLkp(L*K!98&H|(% zmliwyj8#7!i3+>v{zQSYAgzo4s2d<2*%18=Pbe^P4A&J^Rm7cB+ z+RPPc1Ga(yzPLrD4VTyECL*%UyzPe#O@N9LxvAPL4FX0A;pIt$#&azo0*O` zGc10|6zA$F0@MVwR0Gcq2MgGSLO?N%3yeLib02_zbskkr{X(aq)b#L}7wU&%U(MZ5 zF%DGOK~~k{o_YbmaBwRlu@e>z7ZoqsQ;pG)p4q@Z2zle3LCCx$p~HYGvs`|ST)?55 z;4e{!+Rt?M7)LQd2^JG?XSGqus(GFXP3S}1}8Ppf(;l8e7da@`U+>Yb3PJ;07?&x z)5{WF#=-FgQ5MJyqeW<)0g8;3*{ziI=}Fs+d^RANJiWlD%6}=qvF!L z9yNJ-t(35D#hq`Li4EKZ1zTCsqT1Yav@kPcvWms)UDj9=47x+~zA>?%t%U{sci#&8c>>b8C$S^HR#+?)9m+>Cri7=D*5uHl~~x;{0$C0TRSa=I|919_oi%R zjgM474vHcf{8lhZg)ub0gCC0kV%27co%C6tQvRsGFraD%W-XK}oVMDx6wNsfiq>gh zycG⋙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 z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/_static/fonts/fontawesome-webfont.ttf b/docs/build/html/_static/fonts/fontawesome-webfont.ttf deleted file mode 100644 index f221e50a2ef60738ba30932d834530cdfe55cb3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152796 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

    =v_rA!CPE#mM^4@)}X7qf;At+v)G*FZd&; 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 ALjV8( diff --git a/docs/build/html/_static/fonts/fontawesome-webfont.woff b/docs/build/html/_static/fonts/fontawesome-webfont.woff deleted file mode 100644 index 6e7483cf61b490c08ed644d6ef802c69472eb247..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90412 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%0Ded40&XED0GYFoIh+AV*?9!MR5pBW?X_8Bp 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 IH>08b4`|GD*#H0l diff --git a/docs/build/html/_static/jquery-3.1.0.js b/docs/build/html/_static/jquery-3.1.0.js deleted file mode 100644 index f2fc274..0000000 --- a/docs/build/html/_static/jquery-3.1.0.js +++ /dev/null @@ -1,10074 +0,0 @@ -/*eslint-disable no-unused-vars*/ -/*! - * jQuery JavaScript Library v3.1.0 - * https://jquery.com/ - * - * Includes Sizzle.js - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * https://jquery.org/license - * - * Date: 2016-07-07T21:44Z - */ -( function( global, factory ) { - - "use strict"; - - if ( typeof module === "object" && typeof module.exports === "object" ) { - - // For CommonJS and CommonJS-like environments where a proper `window` - // is present, execute the factory and get jQuery. - // For environments that do not have a `window` with a `document` - // (such as Node.js), expose a factory as module.exports. - // This accentuates the need for the creation of a real `window`. - // e.g. var jQuery = require("jquery")(window); - // See ticket #14549 for more info. - module.exports = global.document ? - factory( global, true ) : - function( w ) { - if ( !w.document ) { - throw new Error( "jQuery requires a window with a document" ); - } - return factory( w ); - }; - } else { - factory( global ); - } - -// Pass this if window is not defined yet -} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { - -// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 -// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode -// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common -// enough that all such attempts are guarded in a try block. -"use strict"; - -var arr = []; - -var document = window.document; - -var getProto = Object.getPrototypeOf; - -var slice = arr.slice; - -var concat = arr.concat; - -var push = arr.push; - -var indexOf = arr.indexOf; - -var class2type = {}; - -var toString = class2type.toString; - -var hasOwn = class2type.hasOwnProperty; - -var fnToString = hasOwn.toString; - -var ObjectFunctionString = fnToString.call( Object ); - -var support = {}; - - - - function DOMEval( code, doc ) { - doc = doc || document; - - var script = doc.createElement( "script" ); - - script.text = code; - doc.head.appendChild( script ).parentNode.removeChild( script ); - } -/* global Symbol */ -// Defining this global in .eslintrc would create a danger of using the global -// unguarded in another place, it seems safer to define global only for this module - - - -var - version = "3.1.0", - - // Define a local copy of jQuery - jQuery = function( selector, context ) { - - // The jQuery object is actually just the init constructor 'enhanced' - // Need init if jQuery is called (just allow error to be thrown if not included) - return new jQuery.fn.init( selector, context ); - }, - - // Support: Android <=4.0 only - // Make sure we trim BOM and NBSP - rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, - - // Matches dashed string for camelizing - rmsPrefix = /^-ms-/, - rdashAlpha = /-([a-z])/g, - - // Used by jQuery.camelCase as callback to replace() - fcamelCase = function( all, letter ) { - return letter.toUpperCase(); - }; - -jQuery.fn = jQuery.prototype = { - - // The current version of jQuery being used - jquery: version, - - constructor: jQuery, - - // The default length of a jQuery object is 0 - length: 0, - - toArray: function() { - return slice.call( this ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num != null ? - - // Return just the one element from the set - ( num < 0 ? this[ num + this.length ] : this[ num ] ) : - - // Return all the elements in a clean array - slice.call( this ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - - // Build a new jQuery matched element set - var ret = jQuery.merge( this.constructor(), elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - each: function( callback ) { - return jQuery.each( this, callback ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map( this, function( elem, i ) { - return callback.call( elem, i, elem ); - } ) ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ) ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - eq: function( i ) { - var len = this.length, - j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); - }, - - end: function() { - return this.prevObject || this.constructor(); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: arr.sort, - splice: arr.splice -}; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[ 0 ] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - - // Skip the boolean and the target - target = arguments[ i ] || {}; - i++; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { - target = {}; - } - - // Extend jQuery itself if only one argument is passed - if ( i === length ) { - target = this; - i--; - } - - for ( ; i < length; i++ ) { - - // Only deal with non-null/undefined values - if ( ( options = arguments[ i ] ) != null ) { - - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject( copy ) || - ( copyIsArray = jQuery.isArray( copy ) ) ) ) { - - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray( src ) ? src : []; - - } else { - clone = src && jQuery.isPlainObject( src ) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend( { - - // Unique for each copy of jQuery on the page - expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), - - // Assume jQuery is ready without the ready module - isReady: true, - - error: function( msg ) { - throw new Error( msg ); - }, - - noop: function() {}, - - isFunction: function( obj ) { - return jQuery.type( obj ) === "function"; - }, - - isArray: Array.isArray, - - isWindow: function( obj ) { - return obj != null && obj === obj.window; - }, - - isNumeric: function( obj ) { - - // As of jQuery 3.0, isNumeric is limited to - // strings and numbers (primitives or objects) - // that can be coerced to finite numbers (gh-2662) - var type = jQuery.type( obj ); - return ( type === "number" || type === "string" ) && - - // parseFloat NaNs numeric-cast false positives ("") - // ...but misinterprets leading-number strings, particularly hex literals ("0x...") - // subtraction forces infinities to NaN - !isNaN( obj - parseFloat( obj ) ); - }, - - isPlainObject: function( obj ) { - var proto, Ctor; - - // Detect obvious negatives - // Use toString instead of jQuery.type to catch host objects - if ( !obj || toString.call( obj ) !== "[object Object]" ) { - return false; - } - - proto = getProto( obj ); - - // Objects with no prototype (e.g., `Object.create( null )`) are plain - if ( !proto ) { - return true; - } - - // Objects with prototype are plain iff they were constructed by a global Object function - Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; - return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; - }, - - isEmptyObject: function( obj ) { - - /* eslint-disable no-unused-vars */ - // See https://github.com/eslint/eslint/issues/6125 - var name; - - for ( name in obj ) { - return false; - } - return true; - }, - - type: function( obj ) { - if ( obj == null ) { - return obj + ""; - } - - // Support: Android <=2.3 only (functionish RegExp) - return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call( obj ) ] || "object" : - typeof obj; - }, - - // Evaluates a script in a global context - globalEval: function( code ) { - DOMEval( code ); - }, - - // Convert dashed to camelCase; used by the css and data modules - // Support: IE <=9 - 11, Edge 12 - 13 - // Microsoft forgot to hump their vendor prefix (#9572) - camelCase: function( string ) { - return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); - }, - - each: function( obj, callback ) { - var length, i = 0; - - if ( isArrayLike( obj ) ) { - length = obj.length; - for ( ; i < length; i++ ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } else { - for ( i in obj ) { - if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { - break; - } - } - } - - return obj; - }, - - // Support: Android <=4.0 only - trim: function( text ) { - return text == null ? - "" : - ( text + "" ).replace( rtrim, "" ); - }, - - // results is for internal usage only - makeArray: function( arr, results ) { - var ret = results || []; - - if ( arr != null ) { - if ( isArrayLike( Object( arr ) ) ) { - jQuery.merge( ret, - typeof arr === "string" ? - [ arr ] : arr - ); - } else { - push.call( ret, arr ); - } - } - - return ret; - }, - - inArray: function( elem, arr, i ) { - return arr == null ? -1 : indexOf.call( arr, elem, i ); - }, - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - merge: function( first, second ) { - var len = +second.length, - j = 0, - i = first.length; - - for ( ; j < len; j++ ) { - first[ i++ ] = second[ j ]; - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, invert ) { - var callbackInverse, - matches = [], - i = 0, - length = elems.length, - callbackExpect = !invert; - - // Go through the array, only saving the items - // that pass the validator function - for ( ; i < length; i++ ) { - callbackInverse = !callback( elems[ i ], i ); - if ( callbackInverse !== callbackExpect ) { - matches.push( elems[ i ] ); - } - } - - return matches; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var length, value, - i = 0, - ret = []; - - // Go through the array, translating each of the items to their new values - if ( isArrayLike( elems ) ) { - length = elems.length; - for ( ; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - - // Go through every key on the object, - } else { - for ( i in elems ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret.push( value ); - } - } - } - - // Flatten any nested arrays - return concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - // Bind a function to a context, optionally partially applying any - // arguments. - proxy: function( fn, context ) { - var tmp, args, proxy; - - if ( typeof context === "string" ) { - tmp = fn[ context ]; - context = fn; - fn = tmp; - } - - // Quick check to determine if target is callable, in the spec - // this throws a TypeError, but we will just return undefined. - if ( !jQuery.isFunction( fn ) ) { - return undefined; - } - - // Simulated bind - args = slice.call( arguments, 2 ); - proxy = function() { - return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); - }; - - // Set the guid of unique handler to the same of original handler, so it can be removed - proxy.guid = fn.guid = fn.guid || jQuery.guid++; - - return proxy; - }, - - now: Date.now, - - // jQuery.support is not used in Core but other projects attach their - // properties to it so it needs to exist. - support: support -} ); - -if ( typeof Symbol === "function" ) { - jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; -} - -// Populate the class2type map -jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), -function( i, name ) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -} ); - -function isArrayLike( obj ) { - - // Support: real iOS 8.2 only (not reproducible in simulator) - // `in` check used to prevent JIT error (gh-2145) - // hasOwn isn't used here due to false negatives - // regarding Nodelist length in IE - var length = !!obj && "length" in obj && obj.length, - type = jQuery.type( obj ); - - if ( type === "function" || jQuery.isWindow( obj ) ) { - return false; - } - - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && ( length - 1 ) in obj; -} -var Sizzle = -/*! - * Sizzle CSS Selector Engine v2.3.0 - * https://sizzlejs.com/ - * - * Copyright jQuery Foundation and other contributors - * Released under the MIT license - * http://jquery.org/license - * - * Date: 2016-01-04 - */ -(function( window ) { - -var i, - support, - Expr, - getText, - isXML, - tokenize, - compile, - select, - outermostContext, - sortInput, - hasDuplicate, - - // Local document vars - setDocument, - document, - docElem, - documentIsHTML, - rbuggyQSA, - rbuggyMatches, - matches, - contains, - - // Instance-specific data - expando = "sizzle" + 1 * new Date(), - preferredDoc = window.document, - dirruns = 0, - done = 0, - classCache = createCache(), - tokenCache = createCache(), - compilerCache = createCache(), - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - } - return 0; - }, - - // Instance methods - hasOwn = ({}).hasOwnProperty, - arr = [], - pop = arr.pop, - push_native = arr.push, - push = arr.push, - slice = arr.slice, - // Use a stripped-down indexOf as it's faster than native - // https://jsperf.com/thor-indexof-vs-for/5 - indexOf = function( list, elem ) { - var i = 0, - len = list.length; - for ( ; i < len; i++ ) { - if ( list[i] === elem ) { - return i; - } - } - return -1; - }, - - booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", - - // Regular expressions - - // http://www.w3.org/TR/css3-selectors/#whitespace - whitespace = "[\\x20\\t\\r\\n\\f]", - - // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier - identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+", - - // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + - // Operator (capture 2) - "*([*^$|!~]?=)" + whitespace + - // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" - "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + - "*\\]", - - pseudos = ":(" + identifier + ")(?:\\((" + - // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: - // 1. quoted (capture 3; capture 4 or capture 5) - "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + - // 2. simple (capture 6) - "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + - // 3. anything else (capture 2) - ".*" + - ")\\)|)", - - // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter - rwhitespace = new RegExp( whitespace + "+", "g" ), - rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), - - rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), - rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), - - rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), - - rpseudo = new RegExp( pseudos ), - ridentifier = new RegExp( "^" + identifier + "$" ), - - matchExpr = { - "ID": new RegExp( "^#(" + identifier + ")" ), - "CLASS": new RegExp( "^\\.(" + identifier + ")" ), - "TAG": new RegExp( "^(" + identifier + "|[*])" ), - "ATTR": new RegExp( "^" + attributes ), - "PSEUDO": new RegExp( "^" + pseudos ), - "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + - "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + - "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), - "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), - // For use in libraries implementing .is() - // We use this for POS matching in `select` - "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + - whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) - }, - - rinputs = /^(?:input|select|textarea|button)$/i, - rheader = /^h\d$/i, - - rnative = /^[^{]+\{\s*\[native \w/, - - // Easily-parseable/retrievable ID or TAG or CLASS selectors - rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, - - rsibling = /[+~]/, - - // CSS escapes - // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters - runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), - funescape = function( _, escaped, escapedWhitespace ) { - var high = "0x" + escaped - 0x10000; - // NaN means non-codepoint - // Support: Firefox<24 - // Workaround erroneous numeric interpretation of +"0x" - return high !== high || escapedWhitespace ? - escaped : - high < 0 ? - // BMP codepoint - String.fromCharCode( high + 0x10000 ) : - // Supplemental Plane codepoint (surrogate pair) - String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); - }, - - // CSS string/identifier serialization - // https://drafts.csswg.org/cssom/#common-serializing-idioms - rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, - fcssescape = function( ch, asCodePoint ) { - if ( asCodePoint ) { - - // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER - if ( ch === "\0" ) { - return "\uFFFD"; - } - - // Control characters and (dependent upon position) numbers get escaped as code points - return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; - } - - // Other potentially-special ASCII characters get backslash-escaped - return "\\" + ch; - }, - - // Used for iframes - // See setDocument() - // Removing the function wrapper causes a "Permission Denied" - // error in IE - unloadHandler = function() { - setDocument(); - }, - - disabledAncestor = addCombinator( - function( elem ) { - return elem.disabled === true; - }, - { dir: "parentNode", next: "legend" } - ); - -// Optimize for push.apply( _, NodeList ) -try { - push.apply( - (arr = slice.call( preferredDoc.childNodes )), - preferredDoc.childNodes - ); - // Support: Android<4.0 - // Detect silently failing push.apply - arr[ preferredDoc.childNodes.length ].nodeType; -} catch ( e ) { - push = { apply: arr.length ? - - // Leverage slice if possible - function( target, els ) { - push_native.apply( target, slice.call(els) ); - } : - - // Support: IE<9 - // Otherwise append directly - function( target, els ) { - var j = target.length, - i = 0; - // Can't trust NodeList.length - while ( (target[j++] = els[i++]) ) {} - target.length = j - 1; - } - }; -} - -function Sizzle( selector, context, results, seed ) { - var m, i, elem, nid, match, groups, newSelector, - newContext = context && context.ownerDocument, - - // nodeType defaults to 9, since context defaults to document - nodeType = context ? context.nodeType : 9; - - results = results || []; - - // Return early from calls with invalid selector or context - if ( typeof selector !== "string" || !selector || - nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { - - return results; - } - - // Try to shortcut find operations (as opposed to filters) in HTML documents - if ( !seed ) { - - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } - context = context || document; - - if ( documentIsHTML ) { - - // If the selector is sufficiently simple, try using a "get*By*" DOM method - // (excepting DocumentFragment context, where the methods don't exist) - if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { - - // ID selector - if ( (m = match[1]) ) { - - // Document context - if ( nodeType === 9 ) { - if ( (elem = context.getElementById( m )) ) { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( elem.id === m ) { - results.push( elem ); - return results; - } - } else { - return results; - } - - // Element context - } else { - - // Support: IE, Opera, Webkit - // TODO: identify versions - // getElementById can match elements by name instead of ID - if ( newContext && (elem = newContext.getElementById( m )) && - contains( context, elem ) && - elem.id === m ) { - - results.push( elem ); - return results; - } - } - - // Type selector - } else if ( match[2] ) { - push.apply( results, context.getElementsByTagName( selector ) ); - return results; - - // Class selector - } else if ( (m = match[3]) && support.getElementsByClassName && - context.getElementsByClassName ) { - - push.apply( results, context.getElementsByClassName( m ) ); - return results; - } - } - - // Take advantage of querySelectorAll - if ( support.qsa && - !compilerCache[ selector + " " ] && - (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { - - if ( nodeType !== 1 ) { - newContext = context; - newSelector = selector; - - // qSA looks outside Element context, which is not what we want - // Thanks to Andrew Dupont for this workaround technique - // Support: IE <=8 - // Exclude object elements - } else if ( context.nodeName.toLowerCase() !== "object" ) { - - // Capture the context ID, setting it first if necessary - if ( (nid = context.getAttribute( "id" )) ) { - nid = nid.replace( rcssescape, fcssescape ); - } else { - context.setAttribute( "id", (nid = expando) ); - } - - // Prefix every selector in the list - groups = tokenize( selector ); - i = groups.length; - while ( i-- ) { - groups[i] = "#" + nid + " " + toSelector( groups[i] ); - } - newSelector = groups.join( "," ); - - // Expand context for sibling selectors - newContext = rsibling.test( selector ) && testContext( context.parentNode ) || - context; - } - - if ( newSelector ) { - try { - push.apply( results, - newContext.querySelectorAll( newSelector ) - ); - return results; - } catch ( qsaError ) { - } finally { - if ( nid === expando ) { - context.removeAttribute( "id" ); - } - } - } - } - } - } - - // All others - return select( selector.replace( rtrim, "$1" ), context, results, seed ); -} - -/** - * Create key-value caches of limited size - * @returns {function(string, object)} Returns the Object data after storing it on itself with - * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) - * deleting the oldest entry - */ -function createCache() { - var keys = []; - - function cache( key, value ) { - // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) - if ( keys.push( key + " " ) > Expr.cacheLength ) { - // Only keep the most recent entries - delete cache[ keys.shift() ]; - } - return (cache[ key + " " ] = value); - } - return cache; -} - -/** - * Mark a function for special use by Sizzle - * @param {Function} fn The function to mark - */ -function markFunction( fn ) { - fn[ expando ] = true; - return fn; -} - -/** - * Support testing using an element - * @param {Function} fn Passed the created element and returns a boolean result - */ -function assert( fn ) { - var el = document.createElement("fieldset"); - - try { - return !!fn( el ); - } catch (e) { - return false; - } finally { - // Remove from its parent by default - if ( el.parentNode ) { - el.parentNode.removeChild( el ); - } - // release memory in IE - el = null; - } -} - -/** - * Adds the same handler for all of the specified attrs - * @param {String} attrs Pipe-separated list of attributes - * @param {Function} handler The method that will be applied - */ -function addHandle( attrs, handler ) { - var arr = attrs.split("|"), - i = arr.length; - - while ( i-- ) { - Expr.attrHandle[ arr[i] ] = handler; - } -} - -/** - * Checks document order of two siblings - * @param {Element} a - * @param {Element} b - * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b - */ -function siblingCheck( a, b ) { - var cur = b && a, - diff = cur && a.nodeType === 1 && b.nodeType === 1 && - a.sourceIndex - b.sourceIndex; - - // Use IE sourceIndex if available on both nodes - if ( diff ) { - return diff; - } - - // Check if b follows a - if ( cur ) { - while ( (cur = cur.nextSibling) ) { - if ( cur === b ) { - return -1; - } - } - } - - return a ? 1 : -1; -} - -/** - * Returns a function to use in pseudos for input types - * @param {String} type - */ -function createInputPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for buttons - * @param {String} type - */ -function createButtonPseudo( type ) { - return function( elem ) { - var name = elem.nodeName.toLowerCase(); - return (name === "input" || name === "button") && elem.type === type; - }; -} - -/** - * Returns a function to use in pseudos for :enabled/:disabled - * @param {Boolean} disabled true for :disabled; false for :enabled - */ -function createDisabledPseudo( disabled ) { - // Known :disabled false positives: - // IE: *[disabled]:not(button, input, select, textarea, optgroup, option, menuitem, fieldset) - // not IE: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable - return function( elem ) { - - // Check form elements and option elements for explicit disabling - return "label" in elem && elem.disabled === disabled || - "form" in elem && elem.disabled === disabled || - - // Check non-disabled form elements for fieldset[disabled] ancestors - "form" in elem && elem.disabled === false && ( - // Support: IE6-11+ - // Ancestry is covered for us - elem.isDisabled === disabled || - - // Otherwise, assume any non-" + - ""; - - // Support: IE8, Opera 11-12.16 - // Nothing should be selected when empty strings follow ^= or $= or *= - // The test attribute must be unknown in Opera but "safe" for WinRT - // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section - if ( el.querySelectorAll("[msallowcapture^='']").length ) { - rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); - } - - // Support: IE8 - // Boolean attributes and "value" are not treated correctly - if ( !el.querySelectorAll("[selected]").length ) { - rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); - } - - // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ - if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { - rbuggyQSA.push("~="); - } - - // Webkit/Opera - :checked should return selected option elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - // IE8 throws error here and will not see later tests - if ( !el.querySelectorAll(":checked").length ) { - rbuggyQSA.push(":checked"); - } - - // Support: Safari 8+, iOS 8+ - // https://bugs.webkit.org/show_bug.cgi?id=136851 - // In-page `selector#id sibling-combinator selector` fails - if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { - rbuggyQSA.push(".#.+[+~]"); - } - }); - - assert(function( el ) { - el.innerHTML = "" + - ""; - - // Support: Windows 8 Native Apps - // The type and name attributes are restricted during .innerHTML assignment - var input = document.createElement("input"); - input.setAttribute( "type", "hidden" ); - el.appendChild( input ).setAttribute( "name", "D" ); - - // Support: IE8 - // Enforce case-sensitivity of name attribute - if ( el.querySelectorAll("[name=d]").length ) { - rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); - } - - // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) - // IE8 throws error here and will not see later tests - if ( el.querySelectorAll(":enabled").length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Support: IE9-11+ - // IE's :disabled selector does not pick up the children of disabled fieldsets - docElem.appendChild( el ).disabled = true; - if ( el.querySelectorAll(":disabled").length !== 2 ) { - rbuggyQSA.push( ":enabled", ":disabled" ); - } - - // Opera 10-11 does not throw on post-comma invalid pseudos - el.querySelectorAll("*,:x"); - rbuggyQSA.push(",.*:"); - }); - } - - if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || - docElem.webkitMatchesSelector || - docElem.mozMatchesSelector || - docElem.oMatchesSelector || - docElem.msMatchesSelector) )) ) { - - assert(function( el ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9) - support.disconnectedMatch = matches.call( el, "*" ); - - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( el, "[s!='']:x" ); - rbuggyMatches.push( "!=", pseudos ); - }); - } - - rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); - rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); - - /* Contains - ---------------------------------------------------------------------- */ - hasCompare = rnative.test( docElem.compareDocumentPosition ); - - // Element contains another - // Purposefully self-exclusive - // As in, an element does not contain itself - contains = hasCompare || rnative.test( docElem.contains ) ? - function( a, b ) { - var adown = a.nodeType === 9 ? a.documentElement : a, - bup = b && b.parentNode; - return a === bup || !!( bup && bup.nodeType === 1 && ( - adown.contains ? - adown.contains( bup ) : - a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 - )); - } : - function( a, b ) { - if ( b ) { - while ( (b = b.parentNode) ) { - if ( b === a ) { - return true; - } - } - } - return false; - }; - - /* Sorting - ---------------------------------------------------------------------- */ - - // Document order sorting - sortOrder = hasCompare ? - function( a, b ) { - - // Flag for duplicate removal - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - // Sort on method existence if only one input has compareDocumentPosition - var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; - if ( compare ) { - return compare; - } - - // Calculate position if both inputs belong to the same document - compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? - a.compareDocumentPosition( b ) : - - // Otherwise we know they are disconnected - 1; - - // Disconnected nodes - if ( compare & 1 || - (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { - - // Choose the first element that is related to our preferred document - if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { - return -1; - } - if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { - return 1; - } - - // Maintain original order - return sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - } - - return compare & 4 ? -1 : 1; - } : - function( a, b ) { - // Exit early if the nodes are identical - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - var cur, - i = 0, - aup = a.parentNode, - bup = b.parentNode, - ap = [ a ], - bp = [ b ]; - - // Parentless nodes are either documents or disconnected - if ( !aup || !bup ) { - return a === document ? -1 : - b === document ? 1 : - aup ? -1 : - bup ? 1 : - sortInput ? - ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : - 0; - - // If the nodes are siblings, we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - } - - // Otherwise we need full lists of their ancestors for comparison - cur = a; - while ( (cur = cur.parentNode) ) { - ap.unshift( cur ); - } - cur = b; - while ( (cur = cur.parentNode) ) { - bp.unshift( cur ); - } - - // Walk down the tree looking for a discrepancy - while ( ap[i] === bp[i] ) { - i++; - } - - return i ? - // Do a sibling check if the nodes have a common ancestor - siblingCheck( ap[i], bp[i] ) : - - // Otherwise nodes in our document sort first - ap[i] === preferredDoc ? -1 : - bp[i] === preferredDoc ? 1 : - 0; - }; - - return document; -}; - -Sizzle.matches = function( expr, elements ) { - return Sizzle( expr, null, null, elements ); -}; - -Sizzle.matchesSelector = function( elem, expr ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - // Make sure that attribute selectors are quoted - expr = expr.replace( rattributeQuotes, "='$1']" ); - - if ( support.matchesSelector && documentIsHTML && - !compilerCache[ expr + " " ] && - ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && - ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { - - try { - var ret = matches.call( elem, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || support.disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9 - elem.document && elem.document.nodeType !== 11 ) { - return ret; - } - } catch (e) {} - } - - return Sizzle( expr, document, null, [ elem ] ).length > 0; -}; - -Sizzle.contains = function( context, elem ) { - // Set document vars if needed - if ( ( context.ownerDocument || context ) !== document ) { - setDocument( context ); - } - return contains( context, elem ); -}; - -Sizzle.attr = function( elem, name ) { - // Set document vars if needed - if ( ( elem.ownerDocument || elem ) !== document ) { - setDocument( elem ); - } - - var fn = Expr.attrHandle[ name.toLowerCase() ], - // Don't get fooled by Object.prototype properties (jQuery #13807) - val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? - fn( elem, name, !documentIsHTML ) : - undefined; - - return val !== undefined ? - val : - support.attributes || !documentIsHTML ? - elem.getAttribute( name ) : - (val = elem.getAttributeNode(name)) && val.specified ? - val.value : - null; -}; - -Sizzle.escape = function( sel ) { - return (sel + "").replace( rcssescape, fcssescape ); -}; - -Sizzle.error = function( msg ) { - throw new Error( "Syntax error, unrecognized expression: " + msg ); -}; - -/** - * Document sorting and removing duplicates - * @param {ArrayLike} results - */ -Sizzle.uniqueSort = function( results ) { - var elem, - duplicates = [], - j = 0, - i = 0; - - // Unless we *know* we can detect duplicates, assume their presence - hasDuplicate = !support.detectDuplicates; - sortInput = !support.sortStable && results.slice( 0 ); - results.sort( sortOrder ); - - if ( hasDuplicate ) { - while ( (elem = results[i++]) ) { - if ( elem === results[ i ] ) { - j = duplicates.push( i ); - } - } - while ( j-- ) { - results.splice( duplicates[ j ], 1 ); - } - } - - // Clear input after sorting to release objects - // See https://github.com/jquery/sizzle/pull/225 - sortInput = null; - - return results; -}; - -/** - * Utility function for retrieving the text value of an array of DOM nodes - * @param {Array|Element} elem - */ -getText = Sizzle.getText = function( elem ) { - var node, - ret = "", - i = 0, - nodeType = elem.nodeType; - - if ( !nodeType ) { - // If no nodeType, this is expected to be an array - while ( (node = elem[i++]) ) { - // Do not traverse comment nodes - ret += getText( node ); - } - } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { - // Use textContent for elements - // innerText usage removed for consistency of new lines (jQuery #11153) - if ( typeof elem.textContent === "string" ) { - return elem.textContent; - } else { - // Traverse its children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - ret += getText( elem ); - } - } - } else if ( nodeType === 3 || nodeType === 4 ) { - return elem.nodeValue; - } - // Do not include comment or processing instruction nodes - - return ret; -}; - -Expr = Sizzle.selectors = { - - // Can be adjusted by the user - cacheLength: 50, - - createPseudo: markFunction, - - match: matchExpr, - - attrHandle: {}, - - find: {}, - - relative: { - ">": { dir: "parentNode", first: true }, - " ": { dir: "parentNode" }, - "+": { dir: "previousSibling", first: true }, - "~": { dir: "previousSibling" } - }, - - preFilter: { - "ATTR": function( match ) { - match[1] = match[1].replace( runescape, funescape ); - - // Move the given value to match[3] whether quoted or unquoted - match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); - - if ( match[2] === "~=" ) { - match[3] = " " + match[3] + " "; - } - - return match.slice( 0, 4 ); - }, - - "CHILD": function( match ) { - /* matches from matchExpr["CHILD"] - 1 type (only|nth|...) - 2 what (child|of-type) - 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) - 4 xn-component of xn+y argument ([+-]?\d*n|) - 5 sign of xn-component - 6 x of xn-component - 7 sign of y-component - 8 y of y-component - */ - match[1] = match[1].toLowerCase(); - - if ( match[1].slice( 0, 3 ) === "nth" ) { - // nth-* requires argument - if ( !match[3] ) { - Sizzle.error( match[0] ); - } - - // numeric x and y parameters for Expr.filter.CHILD - // remember that false/true cast respectively to 0/1 - match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); - match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); - - // other types prohibit arguments - } else if ( match[3] ) { - Sizzle.error( match[0] ); - } - - return match; - }, - - "PSEUDO": function( match ) { - var excess, - unquoted = !match[6] && match[2]; - - if ( matchExpr["CHILD"].test( match[0] ) ) { - return null; - } - - // Accept quoted arguments as-is - if ( match[3] ) { - match[2] = match[4] || match[5] || ""; - - // Strip excess characters from unquoted arguments - } else if ( unquoted && rpseudo.test( unquoted ) && - // Get excess from tokenize (recursively) - (excess = tokenize( unquoted, true )) && - // advance to the next closing parenthesis - (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { - - // excess is a negative index - match[0] = match[0].slice( 0, excess ); - match[2] = unquoted.slice( 0, excess ); - } - - // Return only captures needed by the pseudo filter method (type and argument) - return match.slice( 0, 3 ); - } - }, - - filter: { - - "TAG": function( nodeNameSelector ) { - var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); - return nodeNameSelector === "*" ? - function() { return true; } : - function( elem ) { - return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; - }; - }, - - "CLASS": function( className ) { - var pattern = classCache[ className + " " ]; - - return pattern || - (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && - classCache( className, function( elem ) { - return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); - }); - }, - - "ATTR": function( name, operator, check ) { - return function( elem ) { - var result = Sizzle.attr( elem, name ); - - if ( result == null ) { - return operator === "!="; - } - if ( !operator ) { - return true; - } - - result += ""; - - return operator === "=" ? result === check : - operator === "!=" ? result !== check : - operator === "^=" ? check && result.indexOf( check ) === 0 : - operator === "*=" ? check && result.indexOf( check ) > -1 : - operator === "$=" ? check && result.slice( -check.length ) === check : - operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : - operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : - false; - }; - }, - - "CHILD": function( type, what, argument, first, last ) { - var simple = type.slice( 0, 3 ) !== "nth", - forward = type.slice( -4 ) !== "last", - ofType = what === "of-type"; - - return first === 1 && last === 0 ? - - // Shortcut for :nth-*(n) - function( elem ) { - return !!elem.parentNode; - } : - - function( elem, context, xml ) { - var cache, uniqueCache, outerCache, node, nodeIndex, start, - dir = simple !== forward ? "nextSibling" : "previousSibling", - parent = elem.parentNode, - name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType, - diff = false; - - if ( parent ) { - - // :(first|last|only)-(child|of-type) - if ( simple ) { - while ( dir ) { - node = elem; - while ( (node = node[ dir ]) ) { - if ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) { - - return false; - } - } - // Reverse direction for :only-* (if we haven't yet done so) - start = dir = type === "only" && !start && "nextSibling"; - } - return true; - } - - start = [ forward ? parent.firstChild : parent.lastChild ]; - - // non-xml :nth-child(...) stores cache data on `parent` - if ( forward && useCache ) { - - // Seek `elem` from a previously-cached index - - // ...in a gzip-friendly way - node = parent; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex && cache[ 2 ]; - node = nodeIndex && parent.childNodes[ nodeIndex ]; - - while ( (node = ++nodeIndex && node && node[ dir ] || - - // Fallback to seeking `elem` from the start - (diff = nodeIndex = 0) || start.pop()) ) { - - // When found, cache indexes on `parent` and break - if ( node.nodeType === 1 && ++diff && node === elem ) { - uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; - break; - } - } - - } else { - // Use previously-cached element index if available - if ( useCache ) { - // ...in a gzip-friendly way - node = elem; - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - cache = uniqueCache[ type ] || []; - nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; - diff = nodeIndex; - } - - // xml :nth-child(...) - // or :nth-last-child(...) or :nth(-last)?-of-type(...) - if ( diff === false ) { - // Use the same loop as above to seek `elem` from the start - while ( (node = ++nodeIndex && node && node[ dir ] || - (diff = nodeIndex = 0) || start.pop()) ) { - - if ( ( ofType ? - node.nodeName.toLowerCase() === name : - node.nodeType === 1 ) && - ++diff ) { - - // Cache the index of each encountered element - if ( useCache ) { - outerCache = node[ expando ] || (node[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ node.uniqueID ] || - (outerCache[ node.uniqueID ] = {}); - - uniqueCache[ type ] = [ dirruns, diff ]; - } - - if ( node === elem ) { - break; - } - } - } - } - } - - // Incorporate the offset, then check against cycle size - diff -= last; - return diff === first || ( diff % first === 0 && diff / first >= 0 ); - } - }; - }, - - "PSEUDO": function( pseudo, argument ) { - // pseudo-class names are case-insensitive - // http://www.w3.org/TR/selectors/#pseudo-classes - // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters - // Remember that setFilters inherits from pseudos - var args, - fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || - Sizzle.error( "unsupported pseudo: " + pseudo ); - - // The user may use createPseudo to indicate that - // arguments are needed to create the filter function - // just as Sizzle does - if ( fn[ expando ] ) { - return fn( argument ); - } - - // But maintain support for old signatures - if ( fn.length > 1 ) { - args = [ pseudo, pseudo, "", argument ]; - return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? - markFunction(function( seed, matches ) { - var idx, - matched = fn( seed, argument ), - i = matched.length; - while ( i-- ) { - idx = indexOf( seed, matched[i] ); - seed[ idx ] = !( matches[ idx ] = matched[i] ); - } - }) : - function( elem ) { - return fn( elem, 0, args ); - }; - } - - return fn; - } - }, - - pseudos: { - // Potentially complex pseudos - "not": markFunction(function( selector ) { - // Trim the selector passed to compile - // to avoid treating leading and trailing - // spaces as combinators - var input = [], - results = [], - matcher = compile( selector.replace( rtrim, "$1" ) ); - - return matcher[ expando ] ? - markFunction(function( seed, matches, context, xml ) { - var elem, - unmatched = matcher( seed, null, xml, [] ), - i = seed.length; - - // Match elements unmatched by `matcher` - while ( i-- ) { - if ( (elem = unmatched[i]) ) { - seed[i] = !(matches[i] = elem); - } - } - }) : - function( elem, context, xml ) { - input[0] = elem; - matcher( input, null, xml, results ); - // Don't keep the element (issue #299) - input[0] = null; - return !results.pop(); - }; - }), - - "has": markFunction(function( selector ) { - return function( elem ) { - return Sizzle( selector, elem ).length > 0; - }; - }), - - "contains": markFunction(function( text ) { - text = text.replace( runescape, funescape ); - return function( elem ) { - return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; - }; - }), - - // "Whether an element is represented by a :lang() selector - // is based solely on the element's language value - // being equal to the identifier C, - // or beginning with the identifier C immediately followed by "-". - // The matching of C against the element's language value is performed case-insensitively. - // The identifier C does not have to be a valid language name." - // http://www.w3.org/TR/selectors/#lang-pseudo - "lang": markFunction( function( lang ) { - // lang value must be a valid identifier - if ( !ridentifier.test(lang || "") ) { - Sizzle.error( "unsupported lang: " + lang ); - } - lang = lang.replace( runescape, funescape ).toLowerCase(); - return function( elem ) { - var elemLang; - do { - if ( (elemLang = documentIsHTML ? - elem.lang : - elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { - - elemLang = elemLang.toLowerCase(); - return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; - } - } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); - return false; - }; - }), - - // Miscellaneous - "target": function( elem ) { - var hash = window.location && window.location.hash; - return hash && hash.slice( 1 ) === elem.id; - }, - - "root": function( elem ) { - return elem === docElem; - }, - - "focus": function( elem ) { - return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); - }, - - // Boolean properties - "enabled": createDisabledPseudo( false ), - "disabled": createDisabledPseudo( true ), - - "checked": function( elem ) { - // In CSS3, :checked should return both checked and selected elements - // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked - var nodeName = elem.nodeName.toLowerCase(); - return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); - }, - - "selected": function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - // Contents - "empty": function( elem ) { - // http://www.w3.org/TR/selectors/#empty-pseudo - // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), - // but not by others (comment: 8; processing instruction: 7; etc.) - // nodeType < 6 works because attributes (2) do not appear as children - for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { - if ( elem.nodeType < 6 ) { - return false; - } - } - return true; - }, - - "parent": function( elem ) { - return !Expr.pseudos["empty"]( elem ); - }, - - // Element/input types - "header": function( elem ) { - return rheader.test( elem.nodeName ); - }, - - "input": function( elem ) { - return rinputs.test( elem.nodeName ); - }, - - "button": function( elem ) { - var name = elem.nodeName.toLowerCase(); - return name === "input" && elem.type === "button" || name === "button"; - }, - - "text": function( elem ) { - var attr; - return elem.nodeName.toLowerCase() === "input" && - elem.type === "text" && - - // Support: IE<8 - // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" - ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); - }, - - // Position-in-collection - "first": createPositionalPseudo(function() { - return [ 0 ]; - }), - - "last": createPositionalPseudo(function( matchIndexes, length ) { - return [ length - 1 ]; - }), - - "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { - return [ argument < 0 ? argument + length : argument ]; - }), - - "even": createPositionalPseudo(function( matchIndexes, length ) { - var i = 0; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "odd": createPositionalPseudo(function( matchIndexes, length ) { - var i = 1; - for ( ; i < length; i += 2 ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; --i >= 0; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }), - - "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { - var i = argument < 0 ? argument + length : argument; - for ( ; ++i < length; ) { - matchIndexes.push( i ); - } - return matchIndexes; - }) - } -}; - -Expr.pseudos["nth"] = Expr.pseudos["eq"]; - -// Add button/input type pseudos -for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { - Expr.pseudos[ i ] = createInputPseudo( i ); -} -for ( i in { submit: true, reset: true } ) { - Expr.pseudos[ i ] = createButtonPseudo( i ); -} - -// Easy API for creating new setFilters -function setFilters() {} -setFilters.prototype = Expr.filters = Expr.pseudos; -Expr.setFilters = new setFilters(); - -tokenize = Sizzle.tokenize = function( selector, parseOnly ) { - var matched, match, tokens, type, - soFar, groups, preFilters, - cached = tokenCache[ selector + " " ]; - - if ( cached ) { - return parseOnly ? 0 : cached.slice( 0 ); - } - - soFar = selector; - groups = []; - preFilters = Expr.preFilter; - - while ( soFar ) { - - // Comma and first run - if ( !matched || (match = rcomma.exec( soFar )) ) { - if ( match ) { - // Don't consume trailing commas as valid - soFar = soFar.slice( match[0].length ) || soFar; - } - groups.push( (tokens = []) ); - } - - matched = false; - - // Combinators - if ( (match = rcombinators.exec( soFar )) ) { - matched = match.shift(); - tokens.push({ - value: matched, - // Cast descendant combinators to space - type: match[0].replace( rtrim, " " ) - }); - soFar = soFar.slice( matched.length ); - } - - // Filters - for ( type in Expr.filter ) { - if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || - (match = preFilters[ type ]( match ))) ) { - matched = match.shift(); - tokens.push({ - value: matched, - type: type, - matches: match - }); - soFar = soFar.slice( matched.length ); - } - } - - if ( !matched ) { - break; - } - } - - // Return the length of the invalid excess - // if we're just parsing - // Otherwise, throw an error or return tokens - return parseOnly ? - soFar.length : - soFar ? - Sizzle.error( selector ) : - // Cache the tokens - tokenCache( selector, groups ).slice( 0 ); -}; - -function toSelector( tokens ) { - var i = 0, - len = tokens.length, - selector = ""; - for ( ; i < len; i++ ) { - selector += tokens[i].value; - } - return selector; -} - -function addCombinator( matcher, combinator, base ) { - var dir = combinator.dir, - skip = combinator.next, - key = skip || dir, - checkNonElements = base && key === "parentNode", - doneName = done++; - - return combinator.first ? - // Check against closest ancestor/preceding element - function( elem, context, xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - return matcher( elem, context, xml ); - } - } - } : - - // Check against all ancestor/preceding elements - function( elem, context, xml ) { - var oldCache, uniqueCache, outerCache, - newCache = [ dirruns, doneName ]; - - // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching - if ( xml ) { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - if ( matcher( elem, context, xml ) ) { - return true; - } - } - } - } else { - while ( (elem = elem[ dir ]) ) { - if ( elem.nodeType === 1 || checkNonElements ) { - outerCache = elem[ expando ] || (elem[ expando ] = {}); - - // Support: IE <9 only - // Defend against cloned attroperties (jQuery gh-1709) - uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); - - if ( skip && skip === elem.nodeName.toLowerCase() ) { - elem = elem[ dir ] || elem; - } else if ( (oldCache = uniqueCache[ key ]) && - oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { - - // Assign to newCache so results back-propagate to previous elements - return (newCache[ 2 ] = oldCache[ 2 ]); - } else { - // Reuse newcache so results back-propagate to previous elements - uniqueCache[ key ] = newCache; - - // A match means we're done; a fail means we have to keep checking - if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { - return true; - } - } - } - } - } - }; -} - -function elementMatcher( matchers ) { - return matchers.length > 1 ? - function( elem, context, xml ) { - var i = matchers.length; - while ( i-- ) { - if ( !matchers[i]( elem, context, xml ) ) { - return false; - } - } - return true; - } : - matchers[0]; -} - -function multipleContexts( selector, contexts, results ) { - var i = 0, - len = contexts.length; - for ( ; i < len; i++ ) { - Sizzle( selector, contexts[i], results ); - } - return results; -} - -function condense( unmatched, map, filter, context, xml ) { - var elem, - newUnmatched = [], - i = 0, - len = unmatched.length, - mapped = map != null; - - for ( ; i < len; i++ ) { - if ( (elem = unmatched[i]) ) { - if ( !filter || filter( elem, context, xml ) ) { - newUnmatched.push( elem ); - if ( mapped ) { - map.push( i ); - } - } - } - } - - return newUnmatched; -} - -function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { - if ( postFilter && !postFilter[ expando ] ) { - postFilter = setMatcher( postFilter ); - } - if ( postFinder && !postFinder[ expando ] ) { - postFinder = setMatcher( postFinder, postSelector ); - } - return markFunction(function( seed, results, context, xml ) { - var temp, i, elem, - preMap = [], - postMap = [], - preexisting = results.length, - - // Get initial elements from seed or context - elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), - - // Prefilter to get matcher input, preserving a map for seed-results synchronization - matcherIn = preFilter && ( seed || !selector ) ? - condense( elems, preMap, preFilter, context, xml ) : - elems, - - matcherOut = matcher ? - // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, - postFinder || ( seed ? preFilter : preexisting || postFilter ) ? - - // ...intermediate processing is necessary - [] : - - // ...otherwise use results directly - results : - matcherIn; - - // Find primary matches - if ( matcher ) { - matcher( matcherIn, matcherOut, context, xml ); - } - - // Apply postFilter - if ( postFilter ) { - temp = condense( matcherOut, postMap ); - postFilter( temp, [], context, xml ); - - // Un-match failing elements by moving them back to matcherIn - i = temp.length; - while ( i-- ) { - if ( (elem = temp[i]) ) { - matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); - } - } - } - - if ( seed ) { - if ( postFinder || preFilter ) { - if ( postFinder ) { - // Get the final matcherOut by condensing this intermediate into postFinder contexts - temp = []; - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) ) { - // Restore matcherIn since elem is not yet a final match - temp.push( (matcherIn[i] = elem) ); - } - } - postFinder( null, (matcherOut = []), temp, xml ); - } - - // Move matched elements from seed to results to keep them synchronized - i = matcherOut.length; - while ( i-- ) { - if ( (elem = matcherOut[i]) && - (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { - - seed[temp] = !(results[temp] = elem); - } - } - } - - // Add elements to results, through postFinder if defined - } else { - matcherOut = condense( - matcherOut === results ? - matcherOut.splice( preexisting, matcherOut.length ) : - matcherOut - ); - if ( postFinder ) { - postFinder( null, results, matcherOut, xml ); - } else { - push.apply( results, matcherOut ); - } - } - }); -} - -function matcherFromTokens( tokens ) { - var checkContext, matcher, j, - len = tokens.length, - leadingRelative = Expr.relative[ tokens[0].type ], - implicitRelative = leadingRelative || Expr.relative[" "], - i = leadingRelative ? 1 : 0, - - // The foundational matcher ensures that elements are reachable from top-level context(s) - matchContext = addCombinator( function( elem ) { - return elem === checkContext; - }, implicitRelative, true ), - matchAnyContext = addCombinator( function( elem ) { - return indexOf( checkContext, elem ) > -1; - }, implicitRelative, true ), - matchers = [ function( elem, context, xml ) { - var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( - (checkContext = context).nodeType ? - matchContext( elem, context, xml ) : - matchAnyContext( elem, context, xml ) ); - // Avoid hanging onto element (issue #299) - checkContext = null; - return ret; - } ]; - - for ( ; i < len; i++ ) { - if ( (matcher = Expr.relative[ tokens[i].type ]) ) { - matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; - } else { - matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); - - // Return special upon seeing a positional matcher - if ( matcher[ expando ] ) { - // Find the next relative operator (if any) for proper handling - j = ++i; - for ( ; j < len; j++ ) { - if ( Expr.relative[ tokens[j].type ] ) { - break; - } - } - return setMatcher( - i > 1 && elementMatcher( matchers ), - i > 1 && toSelector( - // If the preceding token was a descendant combinator, insert an implicit any-element `*` - tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) - ).replace( rtrim, "$1" ), - matcher, - i < j && matcherFromTokens( tokens.slice( i, j ) ), - j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), - j < len && toSelector( tokens ) - ); - } - matchers.push( matcher ); - } - } - - return elementMatcher( matchers ); -} - -function matcherFromGroupMatchers( elementMatchers, setMatchers ) { - var bySet = setMatchers.length > 0, - byElement = elementMatchers.length > 0, - superMatcher = function( seed, context, xml, results, outermost ) { - var elem, j, matcher, - matchedCount = 0, - i = "0", - unmatched = seed && [], - setMatched = [], - contextBackup = outermostContext, - // We must always have either seed elements or outermost context - elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), - // Use integer dirruns iff this is the outermost matcher - dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), - len = elems.length; - - if ( outermost ) { - outermostContext = context === document || context || outermost; - } - - // Add elements passing elementMatchers directly to results - // Support: IE<9, Safari - // Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id - for ( ; i !== len && (elem = elems[i]) != null; i++ ) { - if ( byElement && elem ) { - j = 0; - if ( !context && elem.ownerDocument !== document ) { - setDocument( elem ); - xml = !documentIsHTML; - } - while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context || document, xml) ) { - results.push( elem ); - break; - } - } - if ( outermost ) { - dirruns = dirrunsUnique; - } - } - - // Track unmatched elements for set filters - if ( bySet ) { - // They will have gone through all possible matchers - if ( (elem = !matcher && elem) ) { - matchedCount--; - } - - // Lengthen the array for every element, matched or not - if ( seed ) { - unmatched.push( elem ); - } - } - } - - // `i` is now the count of elements visited above, and adding it to `matchedCount` - // makes the latter nonnegative. - matchedCount += i; - - // Apply set filters to unmatched elements - // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` - // equals `i`), unless we didn't visit _any_ elements in the above loop because we have - // no element matchers and no seed. - // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that - // case, which will result in a "00" `matchedCount` that differs from `i` but is also - // numerically zero. - if ( bySet && i !== matchedCount ) { - j = 0; - while ( (matcher = setMatchers[j++]) ) { - matcher( unmatched, setMatched, context, xml ); - } - - if ( seed ) { - // Reintegrate element matches to eliminate the need for sorting - if ( matchedCount > 0 ) { - while ( i-- ) { - if ( !(unmatched[i] || setMatched[i]) ) { - setMatched[i] = pop.call( results ); - } - } - } - - // Discard index placeholder values to get only actual matches - setMatched = condense( setMatched ); - } - - // Add matches to results - push.apply( results, setMatched ); - - // Seedless set matches succeeding multiple successful matchers stipulate sorting - if ( outermost && !seed && setMatched.length > 0 && - ( matchedCount + setMatchers.length ) > 1 ) { - - Sizzle.uniqueSort( results ); - } - } - - // Override manipulation of globals by nested matchers - if ( outermost ) { - dirruns = dirrunsUnique; - outermostContext = contextBackup; - } - - return unmatched; - }; - - return bySet ? - markFunction( superMatcher ) : - superMatcher; -} - -compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { - var i, - setMatchers = [], - elementMatchers = [], - cached = compilerCache[ selector + " " ]; - - if ( !cached ) { - // Generate a function of recursive functions that can be used to check each element - if ( !match ) { - match = tokenize( selector ); - } - i = match.length; - while ( i-- ) { - cached = matcherFromTokens( match[i] ); - if ( cached[ expando ] ) { - setMatchers.push( cached ); - } else { - elementMatchers.push( cached ); - } - } - - // Cache the compiled function - cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); - - // Save selector and tokenization - cached.selector = selector; - } - return cached; -}; - -/** - * A low-level selection function that works with Sizzle's compiled - * selector functions - * @param {String|Function} selector A selector or a pre-compiled - * selector function built with Sizzle.compile - * @param {Element} context - * @param {Array} [results] - * @param {Array} [seed] A set of elements to match against - */ -select = Sizzle.select = function( selector, context, results, seed ) { - var i, tokens, token, type, find, - compiled = typeof selector === "function" && selector, - match = !seed && tokenize( (selector = compiled.selector || selector) ); - - results = results || []; - - // Try to minimize operations if there is only one selector in the list and no seed - // (the latter of which guarantees us context) - if ( match.length === 1 ) { - - // Reduce context if the leading compound selector is an ID - tokens = match[0] = match[0].slice( 0 ); - if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && - support.getById && context.nodeType === 9 && documentIsHTML && - Expr.relative[ tokens[1].type ] ) { - - context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; - if ( !context ) { - return results; - - // Precompiled matchers will still verify ancestry, so step up a level - } else if ( compiled ) { - context = context.parentNode; - } - - selector = selector.slice( tokens.shift().value.length ); - } - - // Fetch a seed set for right-to-left matching - i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; - while ( i-- ) { - token = tokens[i]; - - // Abort if we hit a combinator - if ( Expr.relative[ (type = token.type) ] ) { - break; - } - if ( (find = Expr.find[ type ]) ) { - // Search, expanding context for leading sibling combinators - if ( (seed = find( - token.matches[0].replace( runescape, funescape ), - rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context - )) ) { - - // If seed is empty or no tokens remain, we can return early - tokens.splice( i, 1 ); - selector = seed.length && toSelector( tokens ); - if ( !selector ) { - push.apply( results, seed ); - return results; - } - - break; - } - } - } - } - - // Compile and execute a filtering function if one is not provided - // Provide `match` to avoid retokenization if we modified the selector above - ( compiled || compile( selector, match ) )( - seed, - context, - !documentIsHTML, - results, - !context || rsibling.test( selector ) && testContext( context.parentNode ) || context - ); - return results; -}; - -// One-time assignments - -// Sort stability -support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; - -// Support: Chrome 14-35+ -// Always assume duplicates if they aren't passed to the comparison function -support.detectDuplicates = !!hasDuplicate; - -// Initialize against the default document -setDocument(); - -// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) -// Detached nodes confoundingly follow *each other* -support.sortDetached = assert(function( el ) { - // Should return 1, but returns 4 (following) - return el.compareDocumentPosition( document.createElement("fieldset") ) & 1; -}); - -// Support: IE<8 -// Prevent attribute/property "interpolation" -// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx -if ( !assert(function( el ) { - el.innerHTML = ""; - return el.firstChild.getAttribute("href") === "#" ; -}) ) { - addHandle( "type|href|height|width", function( elem, name, isXML ) { - if ( !isXML ) { - return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); - } - }); -} - -// Support: IE<9 -// Use defaultValue in place of getAttribute("value") -if ( !support.attributes || !assert(function( el ) { - el.innerHTML = ""; - el.firstChild.setAttribute( "value", "" ); - return el.firstChild.getAttribute( "value" ) === ""; -}) ) { - addHandle( "value", function( elem, name, isXML ) { - if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { - return elem.defaultValue; - } - }); -} - -// Support: IE<9 -// Use getAttributeNode to fetch booleans when getAttribute lies -if ( !assert(function( el ) { - return el.getAttribute("disabled") == null; -}) ) { - addHandle( booleans, function( elem, name, isXML ) { - var val; - if ( !isXML ) { - return elem[ name ] === true ? name.toLowerCase() : - (val = elem.getAttributeNode( name )) && val.specified ? - val.value : - null; - } - }); -} - -return Sizzle; - -})( window ); - - - -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; - -// Deprecated -jQuery.expr[ ":" ] = jQuery.expr.pseudos; -jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; -jQuery.escapeSelector = Sizzle.escape; - - - - -var dir = function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; -}; - - -var siblings = function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; -}; - - -var rneedsContext = jQuery.expr.match.needsContext; - -var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); - - - -var risSimple = /^.[^:#\[\.,]*$/; - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, not ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep( elements, function( elem, i ) { - return !!qualifier.call( elem, i, elem ) !== not; - } ); - - } - - if ( qualifier.nodeType ) { - return jQuery.grep( elements, function( elem ) { - return ( elem === qualifier ) !== not; - } ); - - } - - if ( typeof qualifier === "string" ) { - if ( risSimple.test( qualifier ) ) { - return jQuery.filter( qualifier, elements, not ); - } - - qualifier = jQuery.filter( qualifier, elements ); - } - - return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1; - } ); -} - -jQuery.filter = function( expr, elems, not ) { - var elem = elems[ 0 ]; - - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 && elem.nodeType === 1 ? - jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : - jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { - return elem.nodeType === 1; - } ) ); -}; - -jQuery.fn.extend( { - find: function( selector ) { - var i, ret, - len = this.length, - self = this; - - if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter( function() { - for ( i = 0; i < len; i++ ) { - if ( jQuery.contains( self[ i ], this ) ) { - return true; - } - } - } ) ); - } - - ret = this.pushStack( [] ); - - for ( i = 0; i < len; i++ ) { - jQuery.find( selector, self[ i ], ret ); - } - - return len > 1 ? jQuery.uniqueSort( ret ) : ret; - }, - filter: function( selector ) { - return this.pushStack( winnow( this, selector || [], false ) ); - }, - not: function( selector ) { - return this.pushStack( winnow( this, selector || [], true ) ); - }, - is: function( selector ) { - return !!winnow( - this, - - // If this is a positional/relative selector, check membership in the returned set - // so $("p:first").is("p:last") won't return true for a doc with two "p". - typeof selector === "string" && rneedsContext.test( selector ) ? - jQuery( selector ) : - selector || [], - false - ).length; - } -} ); - - -// Initialize a jQuery object - - -// A central reference to the root jQuery(document) -var rootjQuery, - - // A simple way to check for HTML strings - // Prioritize #id over to avoid XSS via location.hash (#9521) - // Strict HTML recognition (#11290: must start with <) - // Shortcut simple #id case for speed - rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, - - init = jQuery.fn.init = function( selector, context, root ) { - var match, elem; - - // HANDLE: $(""), $(null), $(undefined), $(false) - if ( !selector ) { - return this; - } - - // Method init() accepts an alternate rootjQuery - // so migrate can support jQuery.sub (gh-2101) - root = root || rootjQuery; - - // Handle HTML strings - if ( typeof selector === "string" ) { - if ( selector[ 0 ] === "<" && - selector[ selector.length - 1 ] === ">" && - selector.length >= 3 ) { - - // Assume that strings that start and end with <> are HTML and skip the regex check - match = [ null, selector, null ]; - - } else { - match = rquickExpr.exec( selector ); - } - - // Match html or make sure no context is specified for #id - if ( match && ( match[ 1 ] || !context ) ) { - - // HANDLE: $(html) -> $(array) - if ( match[ 1 ] ) { - context = context instanceof jQuery ? context[ 0 ] : context; - - // Option to run scripts is true for back-compat - // Intentionally let the error be thrown if parseHTML is not present - jQuery.merge( this, jQuery.parseHTML( - match[ 1 ], - context && context.nodeType ? context.ownerDocument || context : document, - true - ) ); - - // HANDLE: $(html, props) - if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { - for ( match in context ) { - - // Properties of context are called as methods if possible - if ( jQuery.isFunction( this[ match ] ) ) { - this[ match ]( context[ match ] ); - - // ...and otherwise set as attributes - } else { - this.attr( match, context[ match ] ); - } - } - } - - return this; - - // HANDLE: $(#id) - } else { - elem = document.getElementById( match[ 2 ] ); - - if ( elem ) { - - // Inject the element directly into the jQuery object - this[ 0 ] = elem; - this.length = 1; - } - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return ( context || root ).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(DOMElement) - } else if ( selector.nodeType ) { - this[ 0 ] = selector; - this.length = 1; - return this; - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return root.ready !== undefined ? - root.ready( selector ) : - - // Execute immediately if ready is not present - selector( jQuery ); - } - - return jQuery.makeArray( selector, this ); - }; - -// Give the init function the jQuery prototype for later instantiation -init.prototype = jQuery.fn; - -// Initialize central reference -rootjQuery = jQuery( document ); - - -var rparentsprev = /^(?:parents|prev(?:Until|All))/, - - // Methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend( { - has: function( target ) { - var targets = jQuery( target, this ), - l = targets.length; - - return this.filter( function() { - var i = 0; - for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[ i ] ) ) { - return true; - } - } - } ); - }, - - closest: function( selectors, context ) { - var cur, - i = 0, - l = this.length, - matched = [], - targets = typeof selectors !== "string" && jQuery( selectors ); - - // Positional selectors never match, since there's no _selection_ context - if ( !rneedsContext.test( selectors ) ) { - for ( ; i < l; i++ ) { - for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { - - // Always skip document fragments - if ( cur.nodeType < 11 && ( targets ? - targets.index( cur ) > -1 : - - // Don't pass non-elements to Sizzle - cur.nodeType === 1 && - jQuery.find.matchesSelector( cur, selectors ) ) ) { - - matched.push( cur ); - break; - } - } - } - } - - return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); - }, - - // Determine the position of an element within the set - index: function( elem ) { - - // No argument, return index in parent - if ( !elem ) { - return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; - } - - // Index in selector - if ( typeof elem === "string" ) { - return indexOf.call( jQuery( elem ), this[ 0 ] ); - } - - // Locate the position of the desired element - return indexOf.call( this, - - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[ 0 ] : elem - ); - }, - - add: function( selector, context ) { - return this.pushStack( - jQuery.uniqueSort( - jQuery.merge( this.get(), jQuery( selector, context ) ) - ) - ); - }, - - addBack: function( selector ) { - return this.add( selector == null ? - this.prevObject : this.prevObject.filter( selector ) - ); - } -} ); - -function sibling( cur, dir ) { - while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} - return cur; -} - -jQuery.each( { - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return sibling( elem, "nextSibling" ); - }, - prev: function( elem ) { - return sibling( elem, "previousSibling" ); - }, - nextAll: function( elem ) { - return dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return siblings( ( elem.parentNode || {} ).firstChild, elem ); - }, - children: function( elem ) { - return siblings( elem.firstChild ); - }, - contents: function( elem ) { - return elem.contentDocument || jQuery.merge( [], elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var matched = jQuery.map( this, fn, until ); - - if ( name.slice( -5 ) !== "Until" ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - matched = jQuery.filter( selector, matched ); - } - - if ( this.length > 1 ) { - - // Remove duplicates - if ( !guaranteedUnique[ name ] ) { - jQuery.uniqueSort( matched ); - } - - // Reverse order for parents* and prev-derivatives - if ( rparentsprev.test( name ) ) { - matched.reverse(); - } - } - - return this.pushStack( matched ); - }; -} ); -var rnotwhite = ( /\S+/g ); - - - -// Convert String-formatted options into Object-formatted ones -function createOptions( options ) { - var object = {}; - jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { - object[ flag ] = true; - } ); - return object; -} - -/* - * Create a callback list using the following parameters: - * - * options: an optional list of space-separated options that will change how - * the callback list behaves or a more traditional option object - * - * By default a callback list will act like an event callback list and can be - * "fired" multiple times. - * - * Possible options: - * - * once: will ensure the callback list can only be fired once (like a Deferred) - * - * memory: will keep track of previous values and will call any callback added - * after the list has been fired right away with the latest "memorized" - * values (like a Deferred) - * - * unique: will ensure a callback can only be added once (no duplicate in the list) - * - * stopOnFalse: interrupt callings when a callback returns false - * - */ -jQuery.Callbacks = function( options ) { - - // Convert options from String-formatted to Object-formatted if needed - // (we check in cache first) - options = typeof options === "string" ? - createOptions( options ) : - jQuery.extend( {}, options ); - - var // Flag to know if list is currently firing - firing, - - // Last fire value for non-forgettable lists - memory, - - // Flag to know if list was already fired - fired, - - // Flag to prevent firing - locked, - - // Actual callback list - list = [], - - // Queue of execution data for repeatable lists - queue = [], - - // Index of currently firing callback (modified by add/remove as needed) - firingIndex = -1, - - // Fire callbacks - fire = function() { - - // Enforce single-firing - locked = options.once; - - // Execute callbacks for all pending executions, - // respecting firingIndex overrides and runtime changes - fired = firing = true; - for ( ; queue.length; firingIndex = -1 ) { - memory = queue.shift(); - while ( ++firingIndex < list.length ) { - - // Run callback and check for early termination - if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && - options.stopOnFalse ) { - - // Jump to end and forget the data so .add doesn't re-fire - firingIndex = list.length; - memory = false; - } - } - } - - // Forget the data if we're done with it - if ( !options.memory ) { - memory = false; - } - - firing = false; - - // Clean up if we're done firing for good - if ( locked ) { - - // Keep an empty list if we have data for future add calls - if ( memory ) { - list = []; - - // Otherwise, this object is spent - } else { - list = ""; - } - } - }, - - // Actual Callbacks object - self = { - - // Add a callback or a collection of callbacks to the list - add: function() { - if ( list ) { - - // If we have memory from a past run, we should fire after adding - if ( memory && !firing ) { - firingIndex = list.length - 1; - queue.push( memory ); - } - - ( function add( args ) { - jQuery.each( args, function( _, arg ) { - if ( jQuery.isFunction( arg ) ) { - if ( !options.unique || !self.has( arg ) ) { - list.push( arg ); - } - } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { - - // Inspect recursively - add( arg ); - } - } ); - } )( arguments ); - - if ( memory && !firing ) { - fire(); - } - } - return this; - }, - - // Remove a callback from the list - remove: function() { - jQuery.each( arguments, function( _, arg ) { - var index; - while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { - list.splice( index, 1 ); - - // Handle firing indexes - if ( index <= firingIndex ) { - firingIndex--; - } - } - } ); - return this; - }, - - // Check if a given callback is in the list. - // If no argument is given, return whether or not list has callbacks attached. - has: function( fn ) { - return fn ? - jQuery.inArray( fn, list ) > -1 : - list.length > 0; - }, - - // Remove all callbacks from the list - empty: function() { - if ( list ) { - list = []; - } - return this; - }, - - // Disable .fire and .add - // Abort any current/pending executions - // Clear all callbacks and values - disable: function() { - locked = queue = []; - list = memory = ""; - return this; - }, - disabled: function() { - return !list; - }, - - // Disable .fire - // Also disable .add unless we have memory (since it would have no effect) - // Abort any pending executions - lock: function() { - locked = queue = []; - if ( !memory && !firing ) { - list = memory = ""; - } - return this; - }, - locked: function() { - return !!locked; - }, - - // Call all callbacks with the given context and arguments - fireWith: function( context, args ) { - if ( !locked ) { - args = args || []; - args = [ context, args.slice ? args.slice() : args ]; - queue.push( args ); - if ( !firing ) { - fire(); - } - } - return this; - }, - - // Call all the callbacks with the given arguments - fire: function() { - self.fireWith( this, arguments ); - return this; - }, - - // To know if the callbacks have already been called at least once - fired: function() { - return !!fired; - } - }; - - return self; -}; - - -function Identity( v ) { - return v; -} -function Thrower( ex ) { - throw ex; -} - -function adoptValue( value, resolve, reject ) { - var method; - - try { - - // Check for promise aspect first to privilege synchronous behavior - if ( value && jQuery.isFunction( ( method = value.promise ) ) ) { - method.call( value ).done( resolve ).fail( reject ); - - // Other thenables - } else if ( value && jQuery.isFunction( ( method = value.then ) ) ) { - method.call( value, resolve, reject ); - - // Other non-thenables - } else { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - resolve.call( undefined, value ); - } - - // For Promises/A+, convert exceptions into rejections - // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in - // Deferred#then to conditionally suppress rejection. - } catch ( value ) { - - // Support: Android 4.0 only - // Strict mode functions invoked without .call/.apply get global-object context - reject.call( undefined, value ); - } -} - -jQuery.extend( { - - Deferred: function( func ) { - var tuples = [ - - // action, add listener, callbacks, - // ... .then handlers, argument index, [final state] - [ "notify", "progress", jQuery.Callbacks( "memory" ), - jQuery.Callbacks( "memory" ), 2 ], - [ "resolve", "done", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 0, "resolved" ], - [ "reject", "fail", jQuery.Callbacks( "once memory" ), - jQuery.Callbacks( "once memory" ), 1, "rejected" ] - ], - state = "pending", - promise = { - state: function() { - return state; - }, - always: function() { - deferred.done( arguments ).fail( arguments ); - return this; - }, - "catch": function( fn ) { - return promise.then( null, fn ); - }, - - // Keep pipe for back-compat - pipe: function( /* fnDone, fnFail, fnProgress */ ) { - var fns = arguments; - - return jQuery.Deferred( function( newDefer ) { - jQuery.each( tuples, function( i, tuple ) { - - // Map tuples (progress, done, fail) to arguments (done, fail, progress) - var fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; - - // deferred.progress(function() { bind to newDefer or newDefer.notify }) - // deferred.done(function() { bind to newDefer or newDefer.resolve }) - // deferred.fail(function() { bind to newDefer or newDefer.reject }) - deferred[ tuple[ 1 ] ]( function() { - var returned = fn && fn.apply( this, arguments ); - if ( returned && jQuery.isFunction( returned.promise ) ) { - returned.promise() - .progress( newDefer.notify ) - .done( newDefer.resolve ) - .fail( newDefer.reject ); - } else { - newDefer[ tuple[ 0 ] + "With" ]( - this, - fn ? [ returned ] : arguments - ); - } - } ); - } ); - fns = null; - } ).promise(); - }, - then: function( onFulfilled, onRejected, onProgress ) { - var maxDepth = 0; - function resolve( depth, deferred, handler, special ) { - return function() { - var that = this, - args = arguments, - mightThrow = function() { - var returned, then; - - // Support: Promises/A+ section 2.3.3.3.3 - // https://promisesaplus.com/#point-59 - // Ignore double-resolution attempts - if ( depth < maxDepth ) { - return; - } - - returned = handler.apply( that, args ); - - // Support: Promises/A+ section 2.3.1 - // https://promisesaplus.com/#point-48 - if ( returned === deferred.promise() ) { - throw new TypeError( "Thenable self-resolution" ); - } - - // Support: Promises/A+ sections 2.3.3.1, 3.5 - // https://promisesaplus.com/#point-54 - // https://promisesaplus.com/#point-75 - // Retrieve `then` only once - then = returned && - - // Support: Promises/A+ section 2.3.4 - // https://promisesaplus.com/#point-64 - // Only check objects and functions for thenability - ( typeof returned === "object" || - typeof returned === "function" ) && - returned.then; - - // Handle a returned thenable - if ( jQuery.isFunction( then ) ) { - - // Special processors (notify) just wait for resolution - if ( special ) { - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ) - ); - - // Normal processors (resolve) also hook into progress - } else { - - // ...and disregard older resolution values - maxDepth++; - - then.call( - returned, - resolve( maxDepth, deferred, Identity, special ), - resolve( maxDepth, deferred, Thrower, special ), - resolve( maxDepth, deferred, Identity, - deferred.notifyWith ) - ); - } - - // Handle all other returned values - } else { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Identity ) { - that = undefined; - args = [ returned ]; - } - - // Process the value(s) - // Default process is resolve - ( special || deferred.resolveWith )( that, args ); - } - }, - - // Only normal processors (resolve) catch and reject exceptions - process = special ? - mightThrow : - function() { - try { - mightThrow(); - } catch ( e ) { - - if ( jQuery.Deferred.exceptionHook ) { - jQuery.Deferred.exceptionHook( e, - process.stackTrace ); - } - - // Support: Promises/A+ section 2.3.3.3.4.1 - // https://promisesaplus.com/#point-61 - // Ignore post-resolution exceptions - if ( depth + 1 >= maxDepth ) { - - // Only substitute handlers pass on context - // and multiple values (non-spec behavior) - if ( handler !== Thrower ) { - that = undefined; - args = [ e ]; - } - - deferred.rejectWith( that, args ); - } - } - }; - - // Support: Promises/A+ section 2.3.3.3.1 - // https://promisesaplus.com/#point-57 - // Re-resolve promises immediately to dodge false rejection from - // subsequent errors - if ( depth ) { - process(); - } else { - - // Call an optional hook to record the stack, in case of exception - // since it's otherwise lost when execution goes async - if ( jQuery.Deferred.getStackHook ) { - process.stackTrace = jQuery.Deferred.getStackHook(); - } - window.setTimeout( process ); - } - }; - } - - return jQuery.Deferred( function( newDefer ) { - - // progress_handlers.add( ... ) - tuples[ 0 ][ 3 ].add( - resolve( - 0, - newDefer, - jQuery.isFunction( onProgress ) ? - onProgress : - Identity, - newDefer.notifyWith - ) - ); - - // fulfilled_handlers.add( ... ) - tuples[ 1 ][ 3 ].add( - resolve( - 0, - newDefer, - jQuery.isFunction( onFulfilled ) ? - onFulfilled : - Identity - ) - ); - - // rejected_handlers.add( ... ) - tuples[ 2 ][ 3 ].add( - resolve( - 0, - newDefer, - jQuery.isFunction( onRejected ) ? - onRejected : - Thrower - ) - ); - } ).promise(); - }, - - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - return obj != null ? jQuery.extend( obj, promise ) : promise; - } - }, - deferred = {}; - - // Add list-specific methods - jQuery.each( tuples, function( i, tuple ) { - var list = tuple[ 2 ], - stateString = tuple[ 5 ]; - - // promise.progress = list.add - // promise.done = list.add - // promise.fail = list.add - promise[ tuple[ 1 ] ] = list.add; - - // Handle state - if ( stateString ) { - list.add( - function() { - - // state = "resolved" (i.e., fulfilled) - // state = "rejected" - state = stateString; - }, - - // rejected_callbacks.disable - // fulfilled_callbacks.disable - tuples[ 3 - i ][ 2 ].disable, - - // progress_callbacks.lock - tuples[ 0 ][ 2 ].lock - ); - } - - // progress_handlers.fire - // fulfilled_handlers.fire - // rejected_handlers.fire - list.add( tuple[ 3 ].fire ); - - // deferred.notify = function() { deferred.notifyWith(...) } - // deferred.resolve = function() { deferred.resolveWith(...) } - // deferred.reject = function() { deferred.rejectWith(...) } - deferred[ tuple[ 0 ] ] = function() { - deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); - return this; - }; - - // deferred.notifyWith = list.fireWith - // deferred.resolveWith = list.fireWith - // deferred.rejectWith = list.fireWith - deferred[ tuple[ 0 ] + "With" ] = list.fireWith; - } ); - - // Make the deferred a promise - promise.promise( deferred ); - - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - - // All done! - return deferred; - }, - - // Deferred helper - when: function( singleValue ) { - var - - // count of uncompleted subordinates - remaining = arguments.length, - - // count of unprocessed arguments - i = remaining, - - // subordinate fulfillment data - resolveContexts = Array( i ), - resolveValues = slice.call( arguments ), - - // the master Deferred - master = jQuery.Deferred(), - - // subordinate callback factory - updateFunc = function( i ) { - return function( value ) { - resolveContexts[ i ] = this; - resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; - if ( !( --remaining ) ) { - master.resolveWith( resolveContexts, resolveValues ); - } - }; - }; - - // Single- and empty arguments are adopted like Promise.resolve - if ( remaining <= 1 ) { - adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject ); - - // Use .then() to unwrap secondary thenables (cf. gh-3000) - if ( master.state() === "pending" || - jQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { - - return master.then(); - } - } - - // Multiple arguments are aggregated like Promise.all array elements - while ( i-- ) { - adoptValue( resolveValues[ i ], updateFunc( i ), master.reject ); - } - - return master.promise(); - } -} ); - - -// These usually indicate a programmer mistake during development, -// warn about them ASAP rather than swallowing them by default. -var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; - -jQuery.Deferred.exceptionHook = function( error, stack ) { - - // Support: IE 8 - 9 only - // Console exists when dev tools are open, which can happen at any time - if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { - window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); - } -}; - - - - -jQuery.readyException = function( error ) { - window.setTimeout( function() { - throw error; - } ); -}; - - - - -// The deferred used on DOM ready -var readyList = jQuery.Deferred(); - -jQuery.fn.ready = function( fn ) { - - readyList - .then( fn ) - - // Wrap jQuery.readyException in a function so that the lookup - // happens at the time of error handling instead of callback - // registration. - .catch( function( error ) { - jQuery.readyException( error ); - } ); - - return this; -}; - -jQuery.extend( { - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Hold (or release) the ready event - holdReady: function( hold ) { - if ( hold ) { - jQuery.readyWait++; - } else { - jQuery.ready( true ); - } - }, - - // Handle when the DOM is ready - ready: function( wait ) { - - // Abort if there are pending holds or we're already ready - if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { - return; - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - } -} ); - -jQuery.ready.then = readyList.then; - -// The ready event handler and self cleanup method -function completed() { - document.removeEventListener( "DOMContentLoaded", completed ); - window.removeEventListener( "load", completed ); - jQuery.ready(); -} - -// Catch cases where $(document).ready() is called -// after the browser event has already occurred. -// Support: IE <=9 - 10 only -// Older IE sometimes signals "interactive" too soon -if ( document.readyState === "complete" || - ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { - - // Handle it asynchronously to allow scripts the opportunity to delay ready - window.setTimeout( jQuery.ready ); - -} else { - - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", completed ); -} - - - - -// Multifunctional method to get and set values of a collection -// The value/s can optionally be executed if it's a function -var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { - var i = 0, - len = elems.length, - bulk = key == null; - - // Sets many values - if ( jQuery.type( key ) === "object" ) { - chainable = true; - for ( i in key ) { - access( elems, fn, i, key[ i ], true, emptyGet, raw ); - } - - // Sets one value - } else if ( value !== undefined ) { - chainable = true; - - if ( !jQuery.isFunction( value ) ) { - raw = true; - } - - if ( bulk ) { - - // Bulk operations run against the entire set - if ( raw ) { - fn.call( elems, value ); - fn = null; - - // ...except when executing function values - } else { - bulk = fn; - fn = function( elem, key, value ) { - return bulk.call( jQuery( elem ), value ); - }; - } - } - - if ( fn ) { - for ( ; i < len; i++ ) { - fn( - elems[ i ], key, raw ? - value : - value.call( elems[ i ], i, fn( elems[ i ], key ) ) - ); - } - } - } - - return chainable ? - elems : - - // Gets - bulk ? - fn.call( elems ) : - len ? fn( elems[ 0 ], key ) : emptyGet; -}; -var acceptData = function( owner ) { - - // Accepts only: - // - Node - // - Node.ELEMENT_NODE - // - Node.DOCUMENT_NODE - // - Object - // - Any - return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); -}; - - - - -function Data() { - this.expando = jQuery.expando + Data.uid++; -} - -Data.uid = 1; - -Data.prototype = { - - cache: function( owner ) { - - // Check if the owner object already has a cache - var value = owner[ this.expando ]; - - // If not, create one - if ( !value ) { - value = {}; - - // We can accept data for non-element nodes in modern browsers, - // but we should not, see #8335. - // Always return an empty object. - if ( acceptData( owner ) ) { - - // If it is a node unlikely to be stringify-ed or looped over - // use plain assignment - if ( owner.nodeType ) { - owner[ this.expando ] = value; - - // Otherwise secure it in a non-enumerable property - // configurable must be true to allow the property to be - // deleted when data is removed - } else { - Object.defineProperty( owner, this.expando, { - value: value, - configurable: true - } ); - } - } - } - - return value; - }, - set: function( owner, data, value ) { - var prop, - cache = this.cache( owner ); - - // Handle: [ owner, key, value ] args - // Always use camelCase key (gh-2257) - if ( typeof data === "string" ) { - cache[ jQuery.camelCase( data ) ] = value; - - // Handle: [ owner, { properties } ] args - } else { - - // Copy the properties one-by-one to the cache object - for ( prop in data ) { - cache[ jQuery.camelCase( prop ) ] = data[ prop ]; - } - } - return cache; - }, - get: function( owner, key ) { - return key === undefined ? - this.cache( owner ) : - - // Always use camelCase key (gh-2257) - owner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ]; - }, - access: function( owner, key, value ) { - - // In cases where either: - // - // 1. No key was specified - // 2. A string key was specified, but no value provided - // - // Take the "read" path and allow the get method to determine - // which value to return, respectively either: - // - // 1. The entire cache object - // 2. The data stored at the key - // - if ( key === undefined || - ( ( key && typeof key === "string" ) && value === undefined ) ) { - - return this.get( owner, key ); - } - - // When the key is not a string, or both a key and value - // are specified, set or extend (existing objects) with either: - // - // 1. An object of properties - // 2. A key and value - // - this.set( owner, key, value ); - - // Since the "set" path can have two possible entry points - // return the expected data based on which path was taken[*] - return value !== undefined ? value : key; - }, - remove: function( owner, key ) { - var i, - cache = owner[ this.expando ]; - - if ( cache === undefined ) { - return; - } - - if ( key !== undefined ) { - - // Support array or space separated string of keys - if ( jQuery.isArray( key ) ) { - - // If key is an array of keys... - // We always set camelCase keys, so remove that. - key = key.map( jQuery.camelCase ); - } else { - key = jQuery.camelCase( key ); - - // If a key with the spaces exists, use it. - // Otherwise, create an array by matching non-whitespace - key = key in cache ? - [ key ] : - ( key.match( rnotwhite ) || [] ); - } - - i = key.length; - - while ( i-- ) { - delete cache[ key[ i ] ]; - } - } - - // Remove the expando if there's no more data - if ( key === undefined || jQuery.isEmptyObject( cache ) ) { - - // Support: Chrome <=35 - 45 - // Webkit & Blink performance suffers when deleting properties - // from DOM nodes, so set to undefined instead - // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) - if ( owner.nodeType ) { - owner[ this.expando ] = undefined; - } else { - delete owner[ this.expando ]; - } - } - }, - hasData: function( owner ) { - var cache = owner[ this.expando ]; - return cache !== undefined && !jQuery.isEmptyObject( cache ); - } -}; -var dataPriv = new Data(); - -var dataUser = new Data(); - - - -// Implementation Summary -// -// 1. Enforce API surface and semantic compatibility with 1.9.x branch -// 2. Improve the module's maintainability by reducing the storage -// paths to a single mechanism. -// 3. Use the same single mechanism to support "private" and "user" data. -// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) -// 5. Avoid exposing implementation details on user objects (eg. expando properties) -// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 - -var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /[A-Z]/g; - -function dataAttr( elem, key, data ) { - var name; - - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); - data = elem.getAttribute( name ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - - // Only convert to a number if it doesn't change the string - +data + "" === data ? +data : - rbrace.test( data ) ? JSON.parse( data ) : - data; - } catch ( e ) {} - - // Make sure we set the data so it isn't changed later - dataUser.set( elem, key, data ); - } else { - data = undefined; - } - } - return data; -} - -jQuery.extend( { - hasData: function( elem ) { - return dataUser.hasData( elem ) || dataPriv.hasData( elem ); - }, - - data: function( elem, name, data ) { - return dataUser.access( elem, name, data ); - }, - - removeData: function( elem, name ) { - dataUser.remove( elem, name ); - }, - - // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to dataPriv methods, these can be deprecated. - _data: function( elem, name, data ) { - return dataPriv.access( elem, name, data ); - }, - - _removeData: function( elem, name ) { - dataPriv.remove( elem, name ); - } -} ); - -jQuery.fn.extend( { - data: function( key, value ) { - var i, name, data, - elem = this[ 0 ], - attrs = elem && elem.attributes; - - // Gets all values - if ( key === undefined ) { - if ( this.length ) { - data = dataUser.get( elem ); - - if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { - i = attrs.length; - while ( i-- ) { - - // Support: IE 11 only - // The attrs elements can be null (#14894) - if ( attrs[ i ] ) { - name = attrs[ i ].name; - if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice( 5 ) ); - dataAttr( elem, name, data[ name ] ); - } - } - } - dataPriv.set( elem, "hasDataAttrs", true ); - } - } - - return data; - } - - // Sets multiple values - if ( typeof key === "object" ) { - return this.each( function() { - dataUser.set( this, key ); - } ); - } - - return access( this, function( value ) { - var data; - - // The calling jQuery object (element matches) is not empty - // (and therefore has an element appears at this[ 0 ]) and the - // `value` parameter was not undefined. An empty jQuery object - // will result in `undefined` for elem = this[ 0 ] which will - // throw an exception if an attempt to read a data cache is made. - if ( elem && value === undefined ) { - - // Attempt to get data from the cache - // The key will always be camelCased in Data - data = dataUser.get( elem, key ); - if ( data !== undefined ) { - return data; - } - - // Attempt to "discover" the data in - // HTML5 custom data-* attrs - data = dataAttr( elem, key ); - if ( data !== undefined ) { - return data; - } - - // We tried really hard, but the data doesn't exist. - return; - } - - // Set the data... - this.each( function() { - - // We always store the camelCased key - dataUser.set( this, key, value ); - } ); - }, null, value, arguments.length > 1, null, true ); - }, - - removeData: function( key ) { - return this.each( function() { - dataUser.remove( this, key ); - } ); - } -} ); - - -jQuery.extend( { - queue: function( elem, type, data ) { - var queue; - - if ( elem ) { - type = ( type || "fx" ) + "queue"; - queue = dataPriv.get( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( data ) { - if ( !queue || jQuery.isArray( data ) ) { - queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); - } else { - queue.push( data ); - } - } - return queue || []; - } - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - startLength = queue.length, - fn = queue.shift(), - hooks = jQuery._queueHooks( elem, type ), - next = function() { - jQuery.dequeue( elem, type ); - }; - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - startLength--; - } - - if ( fn ) { - - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift( "inprogress" ); - } - - // Clear up the last queue stop function - delete hooks.stop; - fn.call( elem, next, hooks ); - } - - if ( !startLength && hooks ) { - hooks.empty.fire(); - } - }, - - // Not public - generate a queueHooks object, or return the current one - _queueHooks: function( elem, type ) { - var key = type + "queueHooks"; - return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { - empty: jQuery.Callbacks( "once memory" ).add( function() { - dataPriv.remove( elem, [ type + "queue", key ] ); - } ) - } ); - } -} ); - -jQuery.fn.extend( { - queue: function( type, data ) { - var setter = 2; - - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - setter--; - } - - if ( arguments.length < setter ) { - return jQuery.queue( this[ 0 ], type ); - } - - return data === undefined ? - this : - this.each( function() { - var queue = jQuery.queue( this, type, data ); - - // Ensure a hooks for this queue - jQuery._queueHooks( this, type ); - - if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - } ); - }, - dequeue: function( type ) { - return this.each( function() { - jQuery.dequeue( this, type ); - } ); - }, - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - }, - - // Get a promise resolved when queues of a certain type - // are emptied (fx is the type by default) - promise: function( type, obj ) { - var tmp, - count = 1, - defer = jQuery.Deferred(), - elements = this, - i = this.length, - resolve = function() { - if ( !( --count ) ) { - defer.resolveWith( elements, [ elements ] ); - } - }; - - if ( typeof type !== "string" ) { - obj = type; - type = undefined; - } - type = type || "fx"; - - while ( i-- ) { - tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); - if ( tmp && tmp.empty ) { - count++; - tmp.empty.add( resolve ); - } - } - resolve(); - return defer.promise( obj ); - } -} ); -var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; - -var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); - - -var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; - -var isHiddenWithinTree = function( elem, el ) { - - // isHiddenWithinTree might be called from jQuery#filter function; - // in that case, element will be second argument - elem = el || elem; - - // Inline style trumps all - return elem.style.display === "none" || - elem.style.display === "" && - - // Otherwise, check computed style - // Support: Firefox <=43 - 45 - // Disconnected elements can have computed display: none, so first confirm that elem is - // in the document. - jQuery.contains( elem.ownerDocument, elem ) && - - jQuery.css( elem, "display" ) === "none"; - }; - -var swap = function( elem, options, callback, args ) { - var ret, name, - old = {}; - - // Remember the old values, and insert the new ones - for ( name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - ret = callback.apply( elem, args || [] ); - - // Revert the old values - for ( name in options ) { - elem.style[ name ] = old[ name ]; - } - - return ret; -}; - - - - -function adjustCSS( elem, prop, valueParts, tween ) { - var adjusted, - scale = 1, - maxIterations = 20, - currentValue = tween ? - function() { - return tween.cur(); - } : - function() { - return jQuery.css( elem, prop, "" ); - }, - initial = currentValue(), - unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), - - // Starting value computation is required for potential unit mismatches - initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && - rcssNum.exec( jQuery.css( elem, prop ) ); - - if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { - - // Trust units reported by jQuery.css - unit = unit || initialInUnit[ 3 ]; - - // Make sure we update the tween properties later on - valueParts = valueParts || []; - - // Iteratively approximate from a nonzero starting point - initialInUnit = +initial || 1; - - do { - - // If previous iteration zeroed out, double until we get *something*. - // Use string for doubling so we don't accidentally see scale as unchanged below - scale = scale || ".5"; - - // Adjust and apply - initialInUnit = initialInUnit / scale; - jQuery.style( elem, prop, initialInUnit + unit ); - - // Update scale, tolerating zero or NaN from tween.cur() - // Break the loop if scale is unchanged or perfect, or if we've just had enough. - } while ( - scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations - ); - } - - if ( valueParts ) { - initialInUnit = +initialInUnit || +initial || 0; - - // Apply relative offset (+=/-=) if specified - adjusted = valueParts[ 1 ] ? - initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : - +valueParts[ 2 ]; - if ( tween ) { - tween.unit = unit; - tween.start = initialInUnit; - tween.end = adjusted; - } - } - return adjusted; -} - - -var defaultDisplayMap = {}; - -function getDefaultDisplay( elem ) { - var temp, - doc = elem.ownerDocument, - nodeName = elem.nodeName, - display = defaultDisplayMap[ nodeName ]; - - if ( display ) { - return display; - } - - temp = doc.body.appendChild( doc.createElement( nodeName ) ), - display = jQuery.css( temp, "display" ); - - temp.parentNode.removeChild( temp ); - - if ( display === "none" ) { - display = "block"; - } - defaultDisplayMap[ nodeName ] = display; - - return display; -} - -function showHide( elements, show ) { - var display, elem, - values = [], - index = 0, - length = elements.length; - - // Determine new display value for elements that need to change - for ( ; index < length; index++ ) { - elem = elements[ index ]; - if ( !elem.style ) { - continue; - } - - display = elem.style.display; - if ( show ) { - - // Since we force visibility upon cascade-hidden elements, an immediate (and slow) - // check is required in this first loop unless we have a nonempty display value (either - // inline or about-to-be-restored) - if ( display === "none" ) { - values[ index ] = dataPriv.get( elem, "display" ) || null; - if ( !values[ index ] ) { - elem.style.display = ""; - } - } - if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { - values[ index ] = getDefaultDisplay( elem ); - } - } else { - if ( display !== "none" ) { - values[ index ] = "none"; - - // Remember what we're overwriting - dataPriv.set( elem, "display", display ); - } - } - } - - // Set the display of the elements in a second loop to avoid constant reflow - for ( index = 0; index < length; index++ ) { - if ( values[ index ] != null ) { - elements[ index ].style.display = values[ index ]; - } - } - - return elements; -} - -jQuery.fn.extend( { - show: function() { - return showHide( this, true ); - }, - hide: function() { - return showHide( this ); - }, - toggle: function( state ) { - if ( typeof state === "boolean" ) { - return state ? this.show() : this.hide(); - } - - return this.each( function() { - if ( isHiddenWithinTree( this ) ) { - jQuery( this ).show(); - } else { - jQuery( this ).hide(); - } - } ); - } -} ); -var rcheckableType = ( /^(?:checkbox|radio)$/i ); - -var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i ); - -var rscriptType = ( /^$|\/(?:java|ecma)script/i ); - - - -// We have to close these tags to support XHTML (#13200) -var wrapMap = { - - // Support: IE <=9 only - option: [ 1, "" ], - - // XHTML parsers do not magically insert elements in the - // same way that tag soup parsers do. So we cannot shorten - // this by omitting or other required elements. - thead: [ 1, "", "
    " ], - col: [ 2, "", "
    " ], - tr: [ 2, "", "
    " ], - td: [ 3, "", "
    " ], - - _default: [ 0, "", "" ] -}; - -// Support: IE <=9 only -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - - -function getAll( context, tag ) { - - // Support: IE <=9 - 11 only - // Use typeof to avoid zero-argument method invocation on host objects (#15151) - var ret = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( tag || "*" ) : - typeof context.querySelectorAll !== "undefined" ? - context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - - -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - dataPriv.set( - elems[ i ], - "globalEval", - !refElements || dataPriv.get( refElements[ i ], "globalEval" ) - ); - } -} - - -var rhtml = /<|&#?\w+;/; - -function buildFragment( elems, context, scripts, selection, ignored ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - elem = elems[ i ]; - - if ( elem || elem === 0 ) { - - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); - - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); - - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; - - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); - - // Remember the top-level container - tmp = fragment.firstChild; - - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; - } - } - } - - // Remove wrapper from fragment - fragment.textContent = ""; - - i = 0; - while ( ( elem = nodes[ i++ ] ) ) { - - // Skip elements already in the context collection (trac-4087) - if ( selection && jQuery.inArray( elem, selection ) > -1 ) { - if ( ignored ) { - ignored.push( elem ); - } - continue; - } - - contains = jQuery.contains( elem.ownerDocument, elem ); - - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); - - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); - } - - // Capture executables - if ( scripts ) { - j = 0; - while ( ( elem = tmp[ j++ ] ) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } - } - } - } - - return fragment; -} - - -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0 - 4.3 only - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Android <=4.1 only - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE <=11 only - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); -var documentElement = document.documentElement; - - - -var - rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)/; - -function returnTrue() { - return true; -} - -function returnFalse() { - return false; -} - -// Support: IE <=9 only -// See #13393 for more info -function safeActiveElement() { - try { - return document.activeElement; - } catch ( err ) { } -} - -function on( elem, types, selector, data, fn, one ) { - var origFn, type; - - // Types can be a map of types/handlers - if ( typeof types === "object" ) { - - // ( types-Object, selector, data ) - if ( typeof selector !== "string" ) { - - // ( types-Object, data ) - data = data || selector; - selector = undefined; - } - for ( type in types ) { - on( elem, type, selector, data, types[ type ], one ); - } - return elem; - } - - if ( data == null && fn == null ) { - - // ( types, fn ) - fn = selector; - data = selector = undefined; - } else if ( fn == null ) { - if ( typeof selector === "string" ) { - - // ( types, selector, fn ) - fn = data; - data = undefined; - } else { - - // ( types, data, fn ) - fn = data; - data = selector; - selector = undefined; - } - } - if ( fn === false ) { - fn = returnFalse; - } else if ( !fn ) { - return elem; - } - - if ( one === 1 ) { - origFn = fn; - fn = function( event ) { - - // Can use an empty set, since event contains the info - jQuery().off( event ); - return origFn.apply( this, arguments ); - }; - - // Use same guid so caller can remove using origFn - fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); - } - return elem.each( function() { - jQuery.event.add( this, types, fn, data, selector ); - } ); -} - -/* - * Helper functions for managing events -- not part of the public interface. - * Props to Dean Edwards' addEvent library for many of the ideas. - */ -jQuery.event = { - - global: {}, - - add: function( elem, types, handler, data, selector ) { - - var handleObjIn, eventHandle, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.get( elem ); - - // Don't attach events to noData or text/comment nodes (but allow plain objects) - if ( !elemData ) { - return; - } - - // Caller can pass in an object of custom data in lieu of the handler - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - selector = handleObjIn.selector; - } - - // Ensure that invalid selectors throw exceptions at attach time - // Evaluate against documentElement in case elem is a non-element node (e.g., document) - if ( selector ) { - jQuery.find.matchesSelector( documentElement, selector ); - } - - // Make sure that the handler has a unique ID, used to find/remove it later - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure and main handler, if this is the first - if ( !( events = elemData.events ) ) { - events = elemData.events = {}; - } - if ( !( eventHandle = elemData.handle ) ) { - eventHandle = elemData.handle = function( e ) { - - // Discard the second event of a jQuery.event.trigger() and - // when an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.dispatch.apply( elem, arguments ) : undefined; - }; - } - - // Handle multiple events separated by a space - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // There *must* be a type, no attaching namespace-only handlers - if ( !type ) { - continue; - } - - // If event changes its type, use the special event handlers for the changed type - special = jQuery.event.special[ type ] || {}; - - // If selector defined, determine special event api type, otherwise given type - type = ( selector ? special.delegateType : special.bindType ) || type; - - // Update special based on newly reset type - special = jQuery.event.special[ type ] || {}; - - // handleObj is passed to all event handlers - handleObj = jQuery.extend( { - type: type, - origType: origType, - data: data, - handler: handler, - guid: handler.guid, - selector: selector, - needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join( "." ) - }, handleObjIn ); - - // Init the event handler queue if we're the first - if ( !( handlers = events[ type ] ) ) { - handlers = events[ type ] = []; - handlers.delegateCount = 0; - - // Only use addEventListener if the special events handler returns false - if ( !special.setup || - special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add to the element's handler list, delegates in front - if ( selector ) { - handlers.splice( handlers.delegateCount++, 0, handleObj ); - } else { - handlers.push( handleObj ); - } - - // Keep track of which events have ever been used, for event optimization - jQuery.event.global[ type ] = true; - } - - }, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, selector, mappedTypes ) { - - var j, origCount, tmp, - events, t, handleObj, - special, handlers, type, namespaces, origType, - elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - - if ( !elemData || !( events = elemData.events ) ) { - return; - } - - // Once for each type.namespace in types; type may be omitted - types = ( types || "" ).match( rnotwhite ) || [ "" ]; - t = types.length; - while ( t-- ) { - tmp = rtypenamespace.exec( types[ t ] ) || []; - type = origType = tmp[ 1 ]; - namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); - - // Unbind all events (on this namespace, if provided) for the element - if ( !type ) { - for ( type in events ) { - jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); - } - continue; - } - - special = jQuery.event.special[ type ] || {}; - type = ( selector ? special.delegateType : special.bindType ) || type; - handlers = events[ type ] || []; - tmp = tmp[ 2 ] && - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); - - // Remove matching events - origCount = j = handlers.length; - while ( j-- ) { - handleObj = handlers[ j ]; - - if ( ( mappedTypes || origType === handleObj.origType ) && - ( !handler || handler.guid === handleObj.guid ) && - ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || - selector === "**" && handleObj.selector ) ) { - handlers.splice( j, 1 ); - - if ( handleObj.selector ) { - handlers.delegateCount--; - } - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - } - - // Remove generic event handler if we removed something and no more handlers exist - // (avoids potential for endless recursion during removal of special event handlers) - if ( origCount && !handlers.length ) { - if ( !special.teardown || - special.teardown.call( elem, namespaces, elemData.handle ) === false ) { - - jQuery.removeEvent( elem, type, elemData.handle ); - } - - delete events[ type ]; - } - } - - // Remove data and the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - dataPriv.remove( elem, "handle events" ); - } - }, - - dispatch: function( nativeEvent ) { - - // Make a writable jQuery.Event from the native event object - var event = jQuery.event.fix( nativeEvent ); - - var i, j, ret, matched, handleObj, handlerQueue, - args = new Array( arguments.length ), - handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], - special = jQuery.event.special[ event.type ] || {}; - - // Use the fix-ed jQuery.Event rather than the (read-only) native event - args[ 0 ] = event; - - for ( i = 1; i < arguments.length; i++ ) { - args[ i ] = arguments[ i ]; - } - - event.delegateTarget = this; - - // Call the preDispatch hook for the mapped type, and let it bail if desired - if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { - return; - } - - // Determine handlers - handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - - // Run delegates first; they may want to stop propagation beneath us - i = 0; - while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { - event.currentTarget = matched.elem; - - j = 0; - while ( ( handleObj = matched.handlers[ j++ ] ) && - !event.isImmediatePropagationStopped() ) { - - // Triggered event must either 1) have no namespace, or 2) have namespace(s) - // a subset or equal to those in the bound event (both can have no namespace). - if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { - - event.handleObj = handleObj; - event.data = handleObj.data; - - ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || - handleObj.handler ).apply( matched.elem, args ); - - if ( ret !== undefined ) { - if ( ( event.result = ret ) === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - } - } - } - - // Call the postDispatch hook for the mapped type - if ( special.postDispatch ) { - special.postDispatch.call( this, event ); - } - - return event.result; - }, - - handlers: function( event, handlers ) { - var i, matches, sel, handleObj, - handlerQueue = [], - delegateCount = handlers.delegateCount, - cur = event.target; - - // Support: IE <=9 - // Find delegate handlers - // Black-hole SVG instance trees (#13180) - // - // Support: Firefox <=42 - // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) - if ( delegateCount && cur.nodeType && - ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { - - for ( ; cur !== this; cur = cur.parentNode || this ) { - - // Don't check non-elements (#13208) - // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { - matches = []; - for ( i = 0; i < delegateCount; i++ ) { - handleObj = handlers[ i ]; - - // Don't conflict with Object.prototype properties (#13203) - sel = handleObj.selector + " "; - - if ( matches[ sel ] === undefined ) { - matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) > -1 : - jQuery.find( sel, this, null, [ cur ] ).length; - } - if ( matches[ sel ] ) { - matches.push( handleObj ); - } - } - if ( matches.length ) { - handlerQueue.push( { elem: cur, handlers: matches } ); - } - } - } - } - - // Add the remaining (directly-bound) handlers - if ( delegateCount < handlers.length ) { - handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); - } - - return handlerQueue; - }, - - addProp: function( name, hook ) { - Object.defineProperty( jQuery.Event.prototype, name, { - enumerable: true, - configurable: true, - - get: jQuery.isFunction( hook ) ? - function() { - if ( this.originalEvent ) { - return hook( this.originalEvent ); - } - } : - function() { - if ( this.originalEvent ) { - return this.originalEvent[ name ]; - } - }, - - set: function( value ) { - Object.defineProperty( this, name, { - enumerable: true, - configurable: true, - writable: true, - value: value - } ); - } - } ); - }, - - fix: function( originalEvent ) { - return originalEvent[ jQuery.expando ] ? - originalEvent : - new jQuery.Event( originalEvent ); - }, - - special: { - load: { - - // Prevent triggered image.load events from bubbling to window.load - noBubble: true - }, - focus: { - - // Fire native event if possible so blur/focus sequence is correct - trigger: function() { - if ( this !== safeActiveElement() && this.focus ) { - this.focus(); - return false; - } - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - if ( this === safeActiveElement() && this.blur ) { - this.blur(); - return false; - } - }, - delegateType: "focusout" - }, - click: { - - // For checkbox, fire native event so checked state will be right - trigger: function() { - if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { - this.click(); - return false; - } - }, - - // For cross-browser consistency, don't fire native .click() on links - _default: function( event ) { - return jQuery.nodeName( event.target, "a" ); - } - }, - - beforeunload: { - postDispatch: function( event ) { - - // Support: Firefox 20+ - // Firefox doesn't alert if the returnValue field is not set. - if ( event.result !== undefined && event.originalEvent ) { - event.originalEvent.returnValue = event.result; - } - } - } - } -}; - -jQuery.removeEvent = function( elem, type, handle ) { - - // This "if" is needed for plain objects - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle ); - } -}; - -jQuery.Event = function( src, props ) { - - // Allow instantiation without the 'new' keyword - if ( !( this instanceof jQuery.Event ) ) { - return new jQuery.Event( src, props ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = src.defaultPrevented || - src.defaultPrevented === undefined && - - // Support: Android <=2.3 only - src.returnValue === false ? - returnTrue : - returnFalse; - - // Create target properties - // Support: Safari <=6 - 7 only - // Target should not be a text node (#504, #13143) - this.target = ( src.target && src.target.nodeType === 3 ) ? - src.target.parentNode : - src.target; - - this.currentTarget = src.currentTarget; - this.relatedTarget = src.relatedTarget; - - // Event type - } else { - this.type = src; - } - - // Put explicitly provided properties onto the event object - if ( props ) { - jQuery.extend( this, props ); - } - - // Create a timestamp if incoming event doesn't have one - this.timeStamp = src && src.timeStamp || jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - constructor: jQuery.Event, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse, - isSimulated: false, - - preventDefault: function() { - var e = this.originalEvent; - - this.isDefaultPrevented = returnTrue; - - if ( e && !this.isSimulated ) { - e.preventDefault(); - } - }, - stopPropagation: function() { - var e = this.originalEvent; - - this.isPropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopPropagation(); - } - }, - stopImmediatePropagation: function() { - var e = this.originalEvent; - - this.isImmediatePropagationStopped = returnTrue; - - if ( e && !this.isSimulated ) { - e.stopImmediatePropagation(); - } - - this.stopPropagation(); - } -}; - -// Includes all common event props including KeyEvent and MouseEvent specific props -jQuery.each( { - altKey: true, - bubbles: true, - cancelable: true, - changedTouches: true, - ctrlKey: true, - detail: true, - eventPhase: true, - metaKey: true, - pageX: true, - pageY: true, - shiftKey: true, - view: true, - "char": true, - charCode: true, - key: true, - keyCode: true, - button: true, - buttons: true, - clientX: true, - clientY: true, - offsetX: true, - offsetY: true, - pointerId: true, - pointerType: true, - screenX: true, - screenY: true, - targetTouches: true, - toElement: true, - touches: true, - - which: function( event ) { - var button = event.button; - - // Add which for key events - if ( event.which == null && rkeyEvent.test( event.type ) ) { - return event.charCode != null ? event.charCode : event.keyCode; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) { - return ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); - } - - return event.which; - } -}, jQuery.event.addProp ); - -// Create mouseenter/leave events using mouseover/out and event-time checks -// so that event delegation works in jQuery. -// Do the same for pointerenter/pointerleave and pointerover/pointerout -// -// Support: Safari 7 only -// Safari sends mouseenter too often; see: -// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 -// for the description of the bug (it existed in older Chrome versions as well). -jQuery.each( { - mouseenter: "mouseover", - mouseleave: "mouseout", - pointerenter: "pointerover", - pointerleave: "pointerout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - delegateType: fix, - bindType: fix, - - handle: function( event ) { - var ret, - target = this, - related = event.relatedTarget, - handleObj = event.handleObj; - - // For mouseenter/leave call the handler if related is outside the target. - // NB: No relatedTarget if the mouse left/entered the browser window - if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { - event.type = handleObj.origType; - ret = handleObj.handler.apply( this, arguments ); - event.type = fix; - } - return ret; - } - }; -} ); - -jQuery.fn.extend( { - - on: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn ); - }, - one: function( types, selector, data, fn ) { - return on( this, types, selector, data, fn, 1 ); - }, - off: function( types, selector, fn ) { - var handleObj, type; - if ( types && types.preventDefault && types.handleObj ) { - - // ( event ) dispatched jQuery.Event - handleObj = types.handleObj; - jQuery( types.delegateTarget ).off( - handleObj.namespace ? - handleObj.origType + "." + handleObj.namespace : - handleObj.origType, - handleObj.selector, - handleObj.handler - ); - return this; - } - if ( typeof types === "object" ) { - - // ( types-object [, selector] ) - for ( type in types ) { - this.off( type, selector, types[ type ] ); - } - return this; - } - if ( selector === false || typeof selector === "function" ) { - - // ( types [, fn] ) - fn = selector; - selector = undefined; - } - if ( fn === false ) { - fn = returnFalse; - } - return this.each( function() { - jQuery.event.remove( this, types, fn, selector ); - } ); - } -} ); - - -var - - /* eslint-disable max-len */ - - // See https://github.com/eslint/eslint/issues/3229 - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi, - - /* eslint-enable */ - - // Support: IE <=10 - 11, Edge 12 - 13 - // In IE/Edge using regex groups here causes severe slowdowns. - // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /\s*$/g; - -function manipulationTarget( elem, content ) { - if ( jQuery.nodeName( elem, "table" ) && - jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { - - return elem.getElementsByTagName( "tbody" )[ 0 ] || elem; - } - - return elem; -} - -// Replace/restore the type attribute of script elements for safe DOM manipulation -function disableScript( elem ) { - elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; - return elem; -} -function restoreScript( elem ) { - var match = rscriptTypeMasked.exec( elem.type ); - - if ( match ) { - elem.type = match[ 1 ]; - } else { - elem.removeAttribute( "type" ); - } - - return elem; -} - -function cloneCopyEvent( src, dest ) { - var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; - - if ( dest.nodeType !== 1 ) { - return; - } - - // 1. Copy private data: events, handlers, etc. - if ( dataPriv.hasData( src ) ) { - pdataOld = dataPriv.access( src ); - pdataCur = dataPriv.set( dest, pdataOld ); - events = pdataOld.events; - - if ( events ) { - delete pdataCur.handle; - pdataCur.events = {}; - - for ( type in events ) { - for ( i = 0, l = events[ type ].length; i < l; i++ ) { - jQuery.event.add( dest, type, events[ type ][ i ] ); - } - } - } - } - - // 2. Copy user data - if ( dataUser.hasData( src ) ) { - udataOld = dataUser.access( src ); - udataCur = jQuery.extend( {}, udataOld ); - - dataUser.set( dest, udataCur ); - } -} - -// Fix IE bugs, see support tests -function fixInput( src, dest ) { - var nodeName = dest.nodeName.toLowerCase(); - - // Fails to persist the checked state of a cloned checkbox or radio button. - if ( nodeName === "input" && rcheckableType.test( src.type ) ) { - dest.checked = src.checked; - - // Fails to return the selected option to the default selected state when cloning options - } else if ( nodeName === "input" || nodeName === "textarea" ) { - dest.defaultValue = src.defaultValue; - } -} - -function domManip( collection, args, callback, ignored ) { - - // Flatten any nested arrays - args = concat.apply( [], args ); - - var fragment, first, scripts, hasScripts, node, doc, - i = 0, - l = collection.length, - iNoClone = l - 1, - value = args[ 0 ], - isFunction = jQuery.isFunction( value ); - - // We can't cloneNode fragments that contain checked, in WebKit - if ( isFunction || - ( l > 1 && typeof value === "string" && - !support.checkClone && rchecked.test( value ) ) ) { - return collection.each( function( index ) { - var self = collection.eq( index ); - if ( isFunction ) { - args[ 0 ] = value.call( this, index, self.html() ); - } - domManip( self, args, callback, ignored ); - } ); - } - - if ( l ) { - fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); - first = fragment.firstChild; - - if ( fragment.childNodes.length === 1 ) { - fragment = first; - } - - // Require either new content or an interest in ignored elements to invoke the callback - if ( first || ignored ) { - scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); - hasScripts = scripts.length; - - // Use the original fragment for the last item - // instead of the first because it can end up - // being emptied incorrectly in certain situations (#8070). - for ( ; i < l; i++ ) { - node = fragment; - - if ( i !== iNoClone ) { - node = jQuery.clone( node, true, true ); - - // Keep references to cloned scripts for later restoration - if ( hasScripts ) { - - // Support: Android <=4.0 only, PhantomJS 1 only - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( scripts, getAll( node, "script" ) ); - } - } - - callback.call( collection[ i ], node, i ); - } - - if ( hasScripts ) { - doc = scripts[ scripts.length - 1 ].ownerDocument; - - // Reenable scripts - jQuery.map( scripts, restoreScript ); - - // Evaluate executable scripts on first document insertion - for ( i = 0; i < hasScripts; i++ ) { - node = scripts[ i ]; - if ( rscriptType.test( node.type || "" ) && - !dataPriv.access( node, "globalEval" ) && - jQuery.contains( doc, node ) ) { - - if ( node.src ) { - - // Optional AJAX dependency, but won't run scripts if not present - if ( jQuery._evalUrl ) { - jQuery._evalUrl( node.src ); - } - } else { - DOMEval( node.textContent.replace( rcleanScript, "" ), doc ); - } - } - } - } - } - } - - return collection; -} - -function remove( elem, selector, keepData ) { - var node, - nodes = selector ? jQuery.filter( selector, elem ) : elem, - i = 0; - - for ( ; ( node = nodes[ i ] ) != null; i++ ) { - if ( !keepData && node.nodeType === 1 ) { - jQuery.cleanData( getAll( node ) ); - } - - if ( node.parentNode ) { - if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { - setGlobalEval( getAll( node, "script" ) ); - } - node.parentNode.removeChild( node ); - } - } - - return elem; -} - -jQuery.extend( { - htmlPrefilter: function( html ) { - return html.replace( rxhtmlTag, "<$1>" ); - }, - - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); - - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { - - // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); - } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); - - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } - - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); - } - - // Return the cloned set - return clone; - }, - - cleanData: function( elems ) { - var data, elem, type, - special = jQuery.event.special, - i = 0; - - for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { - if ( acceptData( elem ) ) { - if ( ( data = elem[ dataPriv.expando ] ) ) { - if ( data.events ) { - for ( type in data.events ) { - if ( special[ type ] ) { - jQuery.event.remove( elem, type ); - - // This is a shortcut to avoid jQuery.event.remove's overhead - } else { - jQuery.removeEvent( elem, type, data.handle ); - } - } - } - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataPriv.expando ] = undefined; - } - if ( elem[ dataUser.expando ] ) { - - // Support: Chrome <=35 - 45+ - // Assign undefined instead of using delete, see Data#remove - elem[ dataUser.expando ] = undefined; - } - } - } - } -} ); - -jQuery.fn.extend( { - detach: function( selector ) { - return remove( this, selector, true ); - }, - - remove: function( selector ) { - return remove( this, selector ); - }, - - text: function( value ) { - return access( this, function( value ) { - return value === undefined ? - jQuery.text( this ) : - this.empty().each( function() { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - this.textContent = value; - } - } ); - }, null, value, arguments.length ); - }, - - append: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.appendChild( elem ); - } - } ); - }, - - prepend: function() { - return domManip( this, arguments, function( elem ) { - if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { - var target = manipulationTarget( this, elem ); - target.insertBefore( elem, target.firstChild ); - } - } ); - }, - - before: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this ); - } - } ); - }, - - after: function() { - return domManip( this, arguments, function( elem ) { - if ( this.parentNode ) { - this.parentNode.insertBefore( elem, this.nextSibling ); - } - } ); - }, - - empty: function() { - var elem, - i = 0; - - for ( ; ( elem = this[ i ] ) != null; i++ ) { - if ( elem.nodeType === 1 ) { - - // Prevent memory leaks - jQuery.cleanData( getAll( elem, false ) ); - - // Remove any remaining nodes - elem.textContent = ""; - } - } - - return this; - }, - - clone: function( dataAndEvents, deepDataAndEvents ) { - dataAndEvents = dataAndEvents == null ? false : dataAndEvents; - deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - - return this.map( function() { - return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - } ); - }, - - html: function( value ) { - return access( this, function( value ) { - var elem = this[ 0 ] || {}, - i = 0, - l = this.length; - - if ( value === undefined && elem.nodeType === 1 ) { - return elem.innerHTML; - } - - // See if we can take a shortcut and just use innerHTML - if ( typeof value === "string" && !rnoInnerhtml.test( value ) && - !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - - value = jQuery.htmlPrefilter( value ); - - try { - for ( ; i < l; i++ ) { - elem = this[ i ] || {}; - - // Remove element nodes and prevent memory leaks - if ( elem.nodeType === 1 ) { - jQuery.cleanData( getAll( elem, false ) ); - elem.innerHTML = value; - } - } - - elem = 0; - - // If using innerHTML throws an exception, use the fallback method - } catch ( e ) {} - } - - if ( elem ) { - this.empty().append( value ); - } - }, null, value, arguments.length ); - }, - - replaceWith: function() { - var ignored = []; - - // Make the changes, replacing each non-ignored context element with the new content - return domManip( this, arguments, function( elem ) { - var parent = this.parentNode; - - if ( jQuery.inArray( this, ignored ) < 0 ) { - jQuery.cleanData( getAll( this ) ); - if ( parent ) { - parent.replaceChild( elem, this ); - } - } - - // Force callback invocation - }, ignored ); - } -} ); - -jQuery.each( { - appendTo: "append", - prependTo: "prepend", - insertBefore: "before", - insertAfter: "after", - replaceAll: "replaceWith" -}, function( name, original ) { - jQuery.fn[ name ] = function( selector ) { - var elems, - ret = [], - insert = jQuery( selector ), - last = insert.length - 1, - i = 0; - - for ( ; i <= last; i++ ) { - elems = i === last ? this : this.clone( true ); - jQuery( insert[ i ] )[ original ]( elems ); - - // Support: Android <=4.0 only, PhantomJS 1 only - // .get() because push.apply(_, arraylike) throws on ancient WebKit - push.apply( ret, elems.get() ); - } - - return this.pushStack( ret ); - }; -} ); -var rmargin = ( /^margin/ ); - -var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); - -var getStyles = function( elem ) { - - // Support: IE <=11 only, Firefox <=30 (#15098, #14150) - // IE throws on elements created in popups - // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" - var view = elem.ownerDocument.defaultView; - - if ( !view || !view.opener ) { - view = window; - } - - return view.getComputedStyle( elem ); - }; - - - -( function() { - - // Executing both pixelPosition & boxSizingReliable tests require only one layout - // so they're executed at the same time to save the second computation. - function computeStyleTests() { - - // This is a singleton, we need to execute it only once - if ( !div ) { - return; - } - - div.style.cssText = - "box-sizing:border-box;" + - "position:relative;display:block;" + - "margin:auto;border:1px;padding:1px;" + - "top:1%;width:50%"; - div.innerHTML = ""; - documentElement.appendChild( container ); - - var divStyle = window.getComputedStyle( div ); - pixelPositionVal = divStyle.top !== "1%"; - - // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 - reliableMarginLeftVal = divStyle.marginLeft === "2px"; - boxSizingReliableVal = divStyle.width === "4px"; - - // Support: Android 4.0 - 4.3 only - // Some styles come back with percentage values, even though they shouldn't - div.style.marginRight = "50%"; - pixelMarginRightVal = divStyle.marginRight === "4px"; - - documentElement.removeChild( container ); - - // Nullify the div so it wouldn't be stored in the memory and - // it will also be a sign that checks already performed - div = null; - } - - var pixelPositionVal, boxSizingReliableVal, pixelMarginRightVal, reliableMarginLeftVal, - container = document.createElement( "div" ), - div = document.createElement( "div" ); - - // Finish early in limited (non-browser) environments - if ( !div.style ) { - return; - } - - // Support: IE <=9 - 11 only - // Style of cloned element affects source element cloned (#8908) - div.style.backgroundClip = "content-box"; - div.cloneNode( true ).style.backgroundClip = ""; - support.clearCloneStyle = div.style.backgroundClip === "content-box"; - - container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + - "padding:0;margin-top:1px;position:absolute"; - container.appendChild( div ); - - jQuery.extend( support, { - pixelPosition: function() { - computeStyleTests(); - return pixelPositionVal; - }, - boxSizingReliable: function() { - computeStyleTests(); - return boxSizingReliableVal; - }, - pixelMarginRight: function() { - computeStyleTests(); - return pixelMarginRightVal; - }, - reliableMarginLeft: function() { - computeStyleTests(); - return reliableMarginLeftVal; - } - } ); -} )(); - - -function curCSS( elem, name, computed ) { - var width, minWidth, maxWidth, ret, - style = elem.style; - - computed = computed || getStyles( elem ); - - // Support: IE <=9 only - // getPropertyValue is only needed for .css('filter') (#12537) - if ( computed ) { - ret = computed.getPropertyValue( name ) || computed[ name ]; - - if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { - ret = jQuery.style( elem, name ); - } - - // A tribute to the "awesome hack by Dean Edwards" - // Android Browser returns percentage for some values, - // but width seems to be reliably pixels. - // This is against the CSSOM draft spec: - // https://drafts.csswg.org/cssom/#resolved-values - if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { - - // Remember the original values - width = style.width; - minWidth = style.minWidth; - maxWidth = style.maxWidth; - - // Put in the new values to get a computed value out - style.minWidth = style.maxWidth = style.width = ret; - ret = computed.width; - - // Revert the changed values - style.width = width; - style.minWidth = minWidth; - style.maxWidth = maxWidth; - } - } - - return ret !== undefined ? - - // Support: IE <=9 - 11 only - // IE returns zIndex value as an integer. - ret + "" : - ret; -} - - -function addGetHookIf( conditionFn, hookFn ) { - - // Define the hook, we'll check on the first run if it's really needed. - return { - get: function() { - if ( conditionFn() ) { - - // Hook not needed (or it's not possible to use it due - // to missing dependency), remove it. - delete this.get; - return; - } - - // Hook needed; redefine it so that the support test is not executed again. - return ( this.get = hookFn ).apply( this, arguments ); - } - }; -} - - -var - - // Swappable if display is none or starts with table - // except "table", "table-cell", or "table-caption" - // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display - rdisplayswap = /^(none|table(?!-c[ea]).+)/, - cssShow = { position: "absolute", visibility: "hidden", display: "block" }, - cssNormalTransform = { - letterSpacing: "0", - fontWeight: "400" - }, - - cssPrefixes = [ "Webkit", "Moz", "ms" ], - emptyStyle = document.createElement( "div" ).style; - -// Return a css property mapped to a potentially vendor prefixed property -function vendorPropName( name ) { - - // Shortcut for names that are not vendor prefixed - if ( name in emptyStyle ) { - return name; - } - - // Check for vendor prefixed names - var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), - i = cssPrefixes.length; - - while ( i-- ) { - name = cssPrefixes[ i ] + capName; - if ( name in emptyStyle ) { - return name; - } - } -} - -function setPositiveNumber( elem, value, subtract ) { - - // Any relative (+/-) values have already been - // normalized at this point - var matches = rcssNum.exec( value ); - return matches ? - - // Guard against undefined "subtract", e.g., when used as in cssHooks - Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : - value; -} - -function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { - var i = extra === ( isBorderBox ? "border" : "content" ) ? - - // If we already have the right measurement, avoid augmentation - 4 : - - // Otherwise initialize for horizontal or vertical properties - name === "width" ? 1 : 0, - - val = 0; - - for ( ; i < 4; i += 2 ) { - - // Both box models exclude margin, so add it if we want it - if ( extra === "margin" ) { - val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); - } - - if ( isBorderBox ) { - - // border-box includes padding, so remove it if we want content - if ( extra === "content" ) { - val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - } - - // At this point, extra isn't border nor margin, so remove border - if ( extra !== "margin" ) { - val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } else { - - // At this point, extra isn't content, so add padding - val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); - - // At this point, extra isn't content nor padding, so add border - if ( extra !== "padding" ) { - val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); - } - } - } - - return val; -} - -function getWidthOrHeight( elem, name, extra ) { - - // Start with offset property, which is equivalent to the border-box value - var val, - valueIsBorderBox = true, - styles = getStyles( elem ), - isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; - - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - if ( elem.getClientRects().length ) { - val = elem.getBoundingClientRect()[ name ]; - } - - // Some non-html elements return undefined for offsetWidth, so check for null/undefined - // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 - // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 - if ( val <= 0 || val == null ) { - - // Fall back to computed then uncomputed css if necessary - val = curCSS( elem, name, styles ); - if ( val < 0 || val == null ) { - val = elem.style[ name ]; - } - - // Computed unit is not pixels. Stop here and return. - if ( rnumnonpx.test( val ) ) { - return val; - } - - // Check for style in case a browser which returns unreliable values - // for getComputedStyle silently falls back to the reliable elem.style - valueIsBorderBox = isBorderBox && - ( support.boxSizingReliable() || val === elem.style[ name ] ); - - // Normalize "", auto, and prepare for extra - val = parseFloat( val ) || 0; - } - - // Use the active box-sizing model to add/subtract irrelevant styles - return ( val + - augmentWidthOrHeight( - elem, - name, - extra || ( isBorderBox ? "border" : "content" ), - valueIsBorderBox, - styles - ) - ) + "px"; -} - -jQuery.extend( { - - // Add in style property hooks for overriding the default - // behavior of getting and setting a style property - cssHooks: { - opacity: { - get: function( elem, computed ) { - if ( computed ) { - - // We should always get a number back from opacity - var ret = curCSS( elem, "opacity" ); - return ret === "" ? "1" : ret; - } - } - } - }, - - // Don't automatically add "px" to these possibly-unitless properties - cssNumber: { - "animationIterationCount": true, - "columnCount": true, - "fillOpacity": true, - "flexGrow": true, - "flexShrink": true, - "fontWeight": true, - "lineHeight": true, - "opacity": true, - "order": true, - "orphans": true, - "widows": true, - "zIndex": true, - "zoom": true - }, - - // Add in properties whose names you wish to fix before - // setting or getting the value - cssProps: { - "float": "cssFloat" - }, - - // Get and set the style property on a DOM Node - style: function( elem, name, value, extra ) { - - // Don't set styles on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { - return; - } - - // Make sure that we're working with the right name - var ret, type, hooks, - origName = jQuery.camelCase( name ), - style = elem.style; - - name = jQuery.cssProps[ origName ] || - ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); - - // Gets hook for the prefixed version, then unprefixed version - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // Check if we're setting a value - if ( value !== undefined ) { - type = typeof value; - - // Convert "+=" or "-=" to relative numbers (#7345) - if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { - value = adjustCSS( elem, name, ret ); - - // Fixes bug #9237 - type = "number"; - } - - // Make sure that null and NaN values aren't set (#7116) - if ( value == null || value !== value ) { - return; - } - - // If a number was passed in, add the unit (except for certain CSS properties) - if ( type === "number" ) { - value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); - } - - // background-* props affect original clone's values - if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { - style[ name ] = "inherit"; - } - - // If a hook was provided, use that value, otherwise just set the specified value - if ( !hooks || !( "set" in hooks ) || - ( value = hooks.set( elem, value, extra ) ) !== undefined ) { - - style[ name ] = value; - } - - } else { - - // If a hook was provided get the non-computed value from there - if ( hooks && "get" in hooks && - ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { - - return ret; - } - - // Otherwise just get the value from the style object - return style[ name ]; - } - }, - - css: function( elem, name, extra, styles ) { - var val, num, hooks, - origName = jQuery.camelCase( name ); - - // Make sure that we're working with the right name - name = jQuery.cssProps[ origName ] || - ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); - - // Try prefixed name followed by the unprefixed name - hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; - - // If a hook was provided get the computed value from there - if ( hooks && "get" in hooks ) { - val = hooks.get( elem, true, extra ); - } - - // Otherwise, if a way to get the computed value exists, use that - if ( val === undefined ) { - val = curCSS( elem, name, styles ); - } - - // Convert "normal" to computed value - if ( val === "normal" && name in cssNormalTransform ) { - val = cssNormalTransform[ name ]; - } - - // Make numeric if forced or a qualifier was provided and val looks numeric - if ( extra === "" || extra ) { - num = parseFloat( val ); - return extra === true || isFinite( num ) ? num || 0 : val; - } - return val; - } -} ); - -jQuery.each( [ "height", "width" ], function( i, name ) { - jQuery.cssHooks[ name ] = { - get: function( elem, computed, extra ) { - if ( computed ) { - - // Certain elements can have dimension info if we invisibly show them - // but it must have a current display style that would benefit - return rdisplayswap.test( jQuery.css( elem, "display" ) ) && - - // Support: Safari 8+ - // Table columns in Safari have non-zero offsetWidth & zero - // getBoundingClientRect().width unless display is changed. - // Support: IE <=11 only - // Running getBoundingClientRect on a disconnected node - // in IE throws an error. - ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? - swap( elem, cssShow, function() { - return getWidthOrHeight( elem, name, extra ); - } ) : - getWidthOrHeight( elem, name, extra ); - } - }, - - set: function( elem, value, extra ) { - var matches, - styles = extra && getStyles( elem ), - subtract = extra && augmentWidthOrHeight( - elem, - name, - extra, - jQuery.css( elem, "boxSizing", false, styles ) === "border-box", - styles - ); - - // Convert to pixels if value adjustment is needed - if ( subtract && ( matches = rcssNum.exec( value ) ) && - ( matches[ 3 ] || "px" ) !== "px" ) { - - elem.style[ name ] = value; - value = jQuery.css( elem, name ); - } - - return setPositiveNumber( elem, value, subtract ); - } - }; -} ); - -jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, - function( elem, computed ) { - if ( computed ) { - return ( parseFloat( curCSS( elem, "marginLeft" ) ) || - elem.getBoundingClientRect().left - - swap( elem, { marginLeft: 0 }, function() { - return elem.getBoundingClientRect().left; - } ) - ) + "px"; - } - } -); - -// These hooks are used by animate to expand properties -jQuery.each( { - margin: "", - padding: "", - border: "Width" -}, function( prefix, suffix ) { - jQuery.cssHooks[ prefix + suffix ] = { - expand: function( value ) { - var i = 0, - expanded = {}, - - // Assumes a single number if not a string - parts = typeof value === "string" ? value.split( " " ) : [ value ]; - - for ( ; i < 4; i++ ) { - expanded[ prefix + cssExpand[ i ] + suffix ] = - parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; - } - - return expanded; - } - }; - - if ( !rmargin.test( prefix ) ) { - jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; - } -} ); - -jQuery.fn.extend( { - css: function( name, value ) { - return access( this, function( elem, name, value ) { - var styles, len, - map = {}, - i = 0; - - if ( jQuery.isArray( name ) ) { - styles = getStyles( elem ); - len = name.length; - - for ( ; i < len; i++ ) { - map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); - } - - return map; - } - - return value !== undefined ? - jQuery.style( elem, name, value ) : - jQuery.css( elem, name ); - }, name, value, arguments.length > 1 ); - } -} ); - - -function Tween( elem, options, prop, end, easing ) { - return new Tween.prototype.init( elem, options, prop, end, easing ); -} -jQuery.Tween = Tween; - -Tween.prototype = { - constructor: Tween, - init: function( elem, options, prop, end, easing, unit ) { - this.elem = elem; - this.prop = prop; - this.easing = easing || jQuery.easing._default; - this.options = options; - this.start = this.now = this.cur(); - this.end = end; - this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); - }, - cur: function() { - var hooks = Tween.propHooks[ this.prop ]; - - return hooks && hooks.get ? - hooks.get( this ) : - Tween.propHooks._default.get( this ); - }, - run: function( percent ) { - var eased, - hooks = Tween.propHooks[ this.prop ]; - - if ( this.options.duration ) { - this.pos = eased = jQuery.easing[ this.easing ]( - percent, this.options.duration * percent, 0, 1, this.options.duration - ); - } else { - this.pos = eased = percent; - } - this.now = ( this.end - this.start ) * eased + this.start; - - if ( this.options.step ) { - this.options.step.call( this.elem, this.now, this ); - } - - if ( hooks && hooks.set ) { - hooks.set( this ); - } else { - Tween.propHooks._default.set( this ); - } - return this; - } -}; - -Tween.prototype.init.prototype = Tween.prototype; - -Tween.propHooks = { - _default: { - get: function( tween ) { - var result; - - // Use a property on the element directly when it is not a DOM element, - // or when there is no matching style property that exists. - if ( tween.elem.nodeType !== 1 || - tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { - return tween.elem[ tween.prop ]; - } - - // Passing an empty string as a 3rd parameter to .css will automatically - // attempt a parseFloat and fallback to a string if the parse fails. - // Simple values such as "10px" are parsed to Float; - // complex values such as "rotate(1rad)" are returned as-is. - result = jQuery.css( tween.elem, tween.prop, "" ); - - // Empty strings, null, undefined and "auto" are converted to 0. - return !result || result === "auto" ? 0 : result; - }, - set: function( tween ) { - - // Use step hook for back compat. - // Use cssHook if its there. - // Use .style if available and use plain properties where available. - if ( jQuery.fx.step[ tween.prop ] ) { - jQuery.fx.step[ tween.prop ]( tween ); - } else if ( tween.elem.nodeType === 1 && - ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || - jQuery.cssHooks[ tween.prop ] ) ) { - jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); - } else { - tween.elem[ tween.prop ] = tween.now; - } - } - } -}; - -// Support: IE <=9 only -// Panic based approach to setting things on disconnected nodes -Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { - set: function( tween ) { - if ( tween.elem.nodeType && tween.elem.parentNode ) { - tween.elem[ tween.prop ] = tween.now; - } - } -}; - -jQuery.easing = { - linear: function( p ) { - return p; - }, - swing: function( p ) { - return 0.5 - Math.cos( p * Math.PI ) / 2; - }, - _default: "swing" -}; - -jQuery.fx = Tween.prototype.init; - -// Back compat <1.8 extension point -jQuery.fx.step = {}; - - - - -var - fxNow, timerId, - rfxtypes = /^(?:toggle|show|hide)$/, - rrun = /queueHooks$/; - -function raf() { - if ( timerId ) { - window.requestAnimationFrame( raf ); - jQuery.fx.tick(); - } -} - -// Animations created synchronously will run synchronously -function createFxNow() { - window.setTimeout( function() { - fxNow = undefined; - } ); - return ( fxNow = jQuery.now() ); -} - -// Generate parameters to create a standard animation -function genFx( type, includeWidth ) { - var which, - i = 0, - attrs = { height: type }; - - // If we include width, step value is 1 to do all cssExpand values, - // otherwise step value is 2 to skip over Left and Right - includeWidth = includeWidth ? 1 : 0; - for ( ; i < 4; i += 2 - includeWidth ) { - which = cssExpand[ i ]; - attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; - } - - if ( includeWidth ) { - attrs.opacity = attrs.width = type; - } - - return attrs; -} - -function createTween( value, prop, animation ) { - var tween, - collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), - index = 0, - length = collection.length; - for ( ; index < length; index++ ) { - if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { - - // We're done with this property - return tween; - } - } -} - -function defaultPrefilter( elem, props, opts ) { - var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, - isBox = "width" in props || "height" in props, - anim = this, - orig = {}, - style = elem.style, - hidden = elem.nodeType && isHiddenWithinTree( elem ), - dataShow = dataPriv.get( elem, "fxshow" ); - - // Queue-skipping animations hijack the fx hooks - if ( !opts.queue ) { - hooks = jQuery._queueHooks( elem, "fx" ); - if ( hooks.unqueued == null ) { - hooks.unqueued = 0; - oldfire = hooks.empty.fire; - hooks.empty.fire = function() { - if ( !hooks.unqueued ) { - oldfire(); - } - }; - } - hooks.unqueued++; - - anim.always( function() { - - // Ensure the complete handler is called before this completes - anim.always( function() { - hooks.unqueued--; - if ( !jQuery.queue( elem, "fx" ).length ) { - hooks.empty.fire(); - } - } ); - } ); - } - - // Detect show/hide animations - for ( prop in props ) { - value = props[ prop ]; - if ( rfxtypes.test( value ) ) { - delete props[ prop ]; - toggle = toggle || value === "toggle"; - if ( value === ( hidden ? "hide" : "show" ) ) { - - // Pretend to be hidden if this is a "show" and - // there is still data from a stopped show/hide - if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { - hidden = true; - - // Ignore all other no-op show/hide data - } else { - continue; - } - } - orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); - } - } - - // Bail out if this is a no-op like .hide().hide() - propTween = !jQuery.isEmptyObject( props ); - if ( !propTween && jQuery.isEmptyObject( orig ) ) { - return; - } - - // Restrict "overflow" and "display" styles during box animations - if ( isBox && elem.nodeType === 1 ) { - - // Support: IE <=9 - 11, Edge 12 - 13 - // Record all 3 overflow attributes because IE does not infer the shorthand - // from identically-valued overflowX and overflowY - opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; - - // Identify a display type, preferring old show/hide data over the CSS cascade - restoreDisplay = dataShow && dataShow.display; - if ( restoreDisplay == null ) { - restoreDisplay = dataPriv.get( elem, "display" ); - } - display = jQuery.css( elem, "display" ); - if ( display === "none" ) { - if ( restoreDisplay ) { - display = restoreDisplay; - } else { - - // Get nonempty value(s) by temporarily forcing visibility - showHide( [ elem ], true ); - restoreDisplay = elem.style.display || restoreDisplay; - display = jQuery.css( elem, "display" ); - showHide( [ elem ] ); - } - } - - // Animate inline elements as inline-block - if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { - if ( jQuery.css( elem, "float" ) === "none" ) { - - // Restore the original display value at the end of pure show/hide animations - if ( !propTween ) { - anim.done( function() { - style.display = restoreDisplay; - } ); - if ( restoreDisplay == null ) { - display = style.display; - restoreDisplay = display === "none" ? "" : display; - } - } - style.display = "inline-block"; - } - } - } - - if ( opts.overflow ) { - style.overflow = "hidden"; - anim.always( function() { - style.overflow = opts.overflow[ 0 ]; - style.overflowX = opts.overflow[ 1 ]; - style.overflowY = opts.overflow[ 2 ]; - } ); - } - - // Implement show/hide animations - propTween = false; - for ( prop in orig ) { - - // General show/hide setup for this element animation - if ( !propTween ) { - if ( dataShow ) { - if ( "hidden" in dataShow ) { - hidden = dataShow.hidden; - } - } else { - dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); - } - - // Store hidden/visible for toggle so `.stop().toggle()` "reverses" - if ( toggle ) { - dataShow.hidden = !hidden; - } - - // Show elements before animating them - if ( hidden ) { - showHide( [ elem ], true ); - } - - /* eslint-disable no-loop-func */ - - anim.done( function() { - - /* eslint-enable no-loop-func */ - - // The final step of a "hide" animation is actually hiding the element - if ( !hidden ) { - showHide( [ elem ] ); - } - dataPriv.remove( elem, "fxshow" ); - for ( prop in orig ) { - jQuery.style( elem, prop, orig[ prop ] ); - } - } ); - } - - // Per-property setup - propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); - if ( !( prop in dataShow ) ) { - dataShow[ prop ] = propTween.start; - if ( hidden ) { - propTween.end = propTween.start; - propTween.start = 0; - } - } - } -} - -function propFilter( props, specialEasing ) { - var index, name, easing, value, hooks; - - // camelCase, specialEasing and expand cssHook pass - for ( index in props ) { - name = jQuery.camelCase( index ); - easing = specialEasing[ name ]; - value = props[ index ]; - if ( jQuery.isArray( value ) ) { - easing = value[ 1 ]; - value = props[ index ] = value[ 0 ]; - } - - if ( index !== name ) { - props[ name ] = value; - delete props[ index ]; - } - - hooks = jQuery.cssHooks[ name ]; - if ( hooks && "expand" in hooks ) { - value = hooks.expand( value ); - delete props[ name ]; - - // Not quite $.extend, this won't overwrite existing keys. - // Reusing 'index' because we have the correct "name" - for ( index in value ) { - if ( !( index in props ) ) { - props[ index ] = value[ index ]; - specialEasing[ index ] = easing; - } - } - } else { - specialEasing[ name ] = easing; - } - } -} - -function Animation( elem, properties, options ) { - var result, - stopped, - index = 0, - length = Animation.prefilters.length, - deferred = jQuery.Deferred().always( function() { - - // Don't match elem in the :animated selector - delete tick.elem; - } ), - tick = function() { - if ( stopped ) { - return false; - } - var currentTime = fxNow || createFxNow(), - remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), - - // Support: Android 2.3 only - // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) - temp = remaining / animation.duration || 0, - percent = 1 - temp, - index = 0, - length = animation.tweens.length; - - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( percent ); - } - - deferred.notifyWith( elem, [ animation, percent, remaining ] ); - - if ( percent < 1 && length ) { - return remaining; - } else { - deferred.resolveWith( elem, [ animation ] ); - return false; - } - }, - animation = deferred.promise( { - elem: elem, - props: jQuery.extend( {}, properties ), - opts: jQuery.extend( true, { - specialEasing: {}, - easing: jQuery.easing._default - }, options ), - originalProperties: properties, - originalOptions: options, - startTime: fxNow || createFxNow(), - duration: options.duration, - tweens: [], - createTween: function( prop, end ) { - var tween = jQuery.Tween( elem, animation.opts, prop, end, - animation.opts.specialEasing[ prop ] || animation.opts.easing ); - animation.tweens.push( tween ); - return tween; - }, - stop: function( gotoEnd ) { - var index = 0, - - // If we are going to the end, we want to run all the tweens - // otherwise we skip this part - length = gotoEnd ? animation.tweens.length : 0; - if ( stopped ) { - return this; - } - stopped = true; - for ( ; index < length; index++ ) { - animation.tweens[ index ].run( 1 ); - } - - // Resolve when we played the last frame; otherwise, reject - if ( gotoEnd ) { - deferred.notifyWith( elem, [ animation, 1, 0 ] ); - deferred.resolveWith( elem, [ animation, gotoEnd ] ); - } else { - deferred.rejectWith( elem, [ animation, gotoEnd ] ); - } - return this; - } - } ), - props = animation.props; - - propFilter( props, animation.opts.specialEasing ); - - for ( ; index < length; index++ ) { - result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); - if ( result ) { - if ( jQuery.isFunction( result.stop ) ) { - jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = - jQuery.proxy( result.stop, result ); - } - return result; - } - } - - jQuery.map( props, createTween, animation ); - - if ( jQuery.isFunction( animation.opts.start ) ) { - animation.opts.start.call( elem, animation ); - } - - jQuery.fx.timer( - jQuery.extend( tick, { - elem: elem, - anim: animation, - queue: animation.opts.queue - } ) - ); - - // attach callbacks from options - return animation.progress( animation.opts.progress ) - .done( animation.opts.done, animation.opts.complete ) - .fail( animation.opts.fail ) - .always( animation.opts.always ); -} - -jQuery.Animation = jQuery.extend( Animation, { - - tweeners: { - "*": [ function( prop, value ) { - var tween = this.createTween( prop, value ); - adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); - return tween; - } ] - }, - - tweener: function( props, callback ) { - if ( jQuery.isFunction( props ) ) { - callback = props; - props = [ "*" ]; - } else { - props = props.match( rnotwhite ); - } - - var prop, - index = 0, - length = props.length; - - for ( ; index < length; index++ ) { - prop = props[ index ]; - Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; - Animation.tweeners[ prop ].unshift( callback ); - } - }, - - prefilters: [ defaultPrefilter ], - - prefilter: function( callback, prepend ) { - if ( prepend ) { - Animation.prefilters.unshift( callback ); - } else { - Animation.prefilters.push( callback ); - } - } -} ); - -jQuery.speed = function( speed, easing, fn ) { - var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { - complete: fn || !fn && easing || - jQuery.isFunction( speed ) && speed, - duration: speed, - easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing - }; - - // Go to the end state if fx are off or if document is hidden - if ( jQuery.fx.off || document.hidden ) { - opt.duration = 0; - - } else { - opt.duration = typeof opt.duration === "number" ? - opt.duration : opt.duration in jQuery.fx.speeds ? - jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; - } - - // Normalize opt.queue - true/undefined/null -> "fx" - if ( opt.queue == null || opt.queue === true ) { - opt.queue = "fx"; - } - - // Queueing - opt.old = opt.complete; - - opt.complete = function() { - if ( jQuery.isFunction( opt.old ) ) { - opt.old.call( this ); - } - - if ( opt.queue ) { - jQuery.dequeue( this, opt.queue ); - } - }; - - return opt; -}; - -jQuery.fn.extend( { - fadeTo: function( speed, to, easing, callback ) { - - // Show any hidden elements after setting opacity to 0 - return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() - - // Animate to the value specified - .end().animate( { opacity: to }, speed, easing, callback ); - }, - animate: function( prop, speed, easing, callback ) { - var empty = jQuery.isEmptyObject( prop ), - optall = jQuery.speed( speed, easing, callback ), - doAnimation = function() { - - // Operate on a copy of prop so per-property easing won't be lost - var anim = Animation( this, jQuery.extend( {}, prop ), optall ); - - // Empty animations, or finishing resolves immediately - if ( empty || dataPriv.get( this, "finish" ) ) { - anim.stop( true ); - } - }; - doAnimation.finish = doAnimation; - - return empty || optall.queue === false ? - this.each( doAnimation ) : - this.queue( optall.queue, doAnimation ); - }, - stop: function( type, clearQueue, gotoEnd ) { - var stopQueue = function( hooks ) { - var stop = hooks.stop; - delete hooks.stop; - stop( gotoEnd ); - }; - - if ( typeof type !== "string" ) { - gotoEnd = clearQueue; - clearQueue = type; - type = undefined; - } - if ( clearQueue && type !== false ) { - this.queue( type || "fx", [] ); - } - - return this.each( function() { - var dequeue = true, - index = type != null && type + "queueHooks", - timers = jQuery.timers, - data = dataPriv.get( this ); - - if ( index ) { - if ( data[ index ] && data[ index ].stop ) { - stopQueue( data[ index ] ); - } - } else { - for ( index in data ) { - if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { - stopQueue( data[ index ] ); - } - } - } - - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && - ( type == null || timers[ index ].queue === type ) ) { - - timers[ index ].anim.stop( gotoEnd ); - dequeue = false; - timers.splice( index, 1 ); - } - } - - // Start the next in the queue if the last step wasn't forced. - // Timers currently will call their complete callbacks, which - // will dequeue but only if they were gotoEnd. - if ( dequeue || !gotoEnd ) { - jQuery.dequeue( this, type ); - } - } ); - }, - finish: function( type ) { - if ( type !== false ) { - type = type || "fx"; - } - return this.each( function() { - var index, - data = dataPriv.get( this ), - queue = data[ type + "queue" ], - hooks = data[ type + "queueHooks" ], - timers = jQuery.timers, - length = queue ? queue.length : 0; - - // Enable finishing flag on private data - data.finish = true; - - // Empty the queue first - jQuery.queue( this, type, [] ); - - if ( hooks && hooks.stop ) { - hooks.stop.call( this, true ); - } - - // Look for any active animations, and finish them - for ( index = timers.length; index--; ) { - if ( timers[ index ].elem === this && timers[ index ].queue === type ) { - timers[ index ].anim.stop( true ); - timers.splice( index, 1 ); - } - } - - // Look for any animations in the old queue and finish them - for ( index = 0; index < length; index++ ) { - if ( queue[ index ] && queue[ index ].finish ) { - queue[ index ].finish.call( this ); - } - } - - // Turn off finishing flag - delete data.finish; - } ); - } -} ); - -jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { - var cssFn = jQuery.fn[ name ]; - jQuery.fn[ name ] = function( speed, easing, callback ) { - return speed == null || typeof speed === "boolean" ? - cssFn.apply( this, arguments ) : - this.animate( genFx( name, true ), speed, easing, callback ); - }; -} ); - -// Generate shortcuts for custom animations -jQuery.each( { - slideDown: genFx( "show" ), - slideUp: genFx( "hide" ), - slideToggle: genFx( "toggle" ), - fadeIn: { opacity: "show" }, - fadeOut: { opacity: "hide" }, - fadeToggle: { opacity: "toggle" } -}, function( name, props ) { - jQuery.fn[ name ] = function( speed, easing, callback ) { - return this.animate( props, speed, easing, callback ); - }; -} ); - -jQuery.timers = []; -jQuery.fx.tick = function() { - var timer, - i = 0, - timers = jQuery.timers; - - fxNow = jQuery.now(); - - for ( ; i < timers.length; i++ ) { - timer = timers[ i ]; - - // Checks the timer has not already been removed - if ( !timer() && timers[ i ] === timer ) { - timers.splice( i--, 1 ); - } - } - - if ( !timers.length ) { - jQuery.fx.stop(); - } - fxNow = undefined; -}; - -jQuery.fx.timer = function( timer ) { - jQuery.timers.push( timer ); - if ( timer() ) { - jQuery.fx.start(); - } else { - jQuery.timers.pop(); - } -}; - -jQuery.fx.interval = 13; -jQuery.fx.start = function() { - if ( !timerId ) { - timerId = window.requestAnimationFrame ? - window.requestAnimationFrame( raf ) : - window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); - } -}; - -jQuery.fx.stop = function() { - if ( window.cancelAnimationFrame ) { - window.cancelAnimationFrame( timerId ); - } else { - window.clearInterval( timerId ); - } - - timerId = null; -}; - -jQuery.fx.speeds = { - slow: 600, - fast: 200, - - // Default speed - _default: 400 -}; - - -// Based off of the plugin by Clint Helfers, with permission. -// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ -jQuery.fn.delay = function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; - type = type || "fx"; - - return this.queue( type, function( next, hooks ) { - var timeout = window.setTimeout( next, time ); - hooks.stop = function() { - window.clearTimeout( timeout ); - }; - } ); -}; - - -( function() { - var input = document.createElement( "input" ), - select = document.createElement( "select" ), - opt = select.appendChild( document.createElement( "option" ) ); - - input.type = "checkbox"; - - // Support: Android <=4.3 only - // Default value for a checkbox should be "on" - support.checkOn = input.value !== ""; - - // Support: IE <=11 only - // Must access selectedIndex to make default options select - support.optSelected = opt.selected; - - // Support: IE <=11 only - // An input loses its value after becoming a radio - input = document.createElement( "input" ); - input.value = "t"; - input.type = "radio"; - support.radioValue = input.value === "t"; -} )(); - - -var boolHook, - attrHandle = jQuery.expr.attrHandle; - -jQuery.fn.extend( { - attr: function( name, value ) { - return access( this, jQuery.attr, name, value, arguments.length > 1 ); - }, - - removeAttr: function( name ) { - return this.each( function() { - jQuery.removeAttr( this, name ); - } ); - } -} ); - -jQuery.extend( { - attr: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set attributes on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - // Fallback to prop when attributes are not supported - if ( typeof elem.getAttribute === "undefined" ) { - return jQuery.prop( elem, name, value ); - } - - // Attribute hooks are determined by the lowercase version - // Grab necessary hook if one is defined - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - hooks = jQuery.attrHooks[ name.toLowerCase() ] || - ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); - } - - if ( value !== undefined ) { - if ( value === null ) { - jQuery.removeAttr( elem, name ); - return; - } - - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - elem.setAttribute( name, value + "" ); - return value; - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - ret = jQuery.find.attr( elem, name ); - - // Non-existent attributes return null, we normalize to undefined - return ret == null ? undefined : ret; - }, - - attrHooks: { - type: { - set: function( elem, value ) { - if ( !support.radioValue && value === "radio" && - jQuery.nodeName( elem, "input" ) ) { - var val = elem.value; - elem.setAttribute( "type", value ); - if ( val ) { - elem.value = val; - } - return value; - } - } - } - }, - - removeAttr: function( elem, value ) { - var name, - i = 0, - attrNames = value && value.match( rnotwhite ); - - if ( attrNames && elem.nodeType === 1 ) { - while ( ( name = attrNames[ i++ ] ) ) { - elem.removeAttribute( name ); - } - } - } -} ); - -// Hooks for boolean attributes -boolHook = { - set: function( elem, value, name ) { - if ( value === false ) { - - // Remove boolean attributes when set to false - jQuery.removeAttr( elem, name ); - } else { - elem.setAttribute( name, name ); - } - return name; - } -}; - -jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { - var getter = attrHandle[ name ] || jQuery.find.attr; - - attrHandle[ name ] = function( elem, name, isXML ) { - var ret, handle, - lowercaseName = name.toLowerCase(); - - if ( !isXML ) { - - // Avoid an infinite loop by temporarily removing this function from the getter - handle = attrHandle[ lowercaseName ]; - attrHandle[ lowercaseName ] = ret; - ret = getter( elem, name, isXML ) != null ? - lowercaseName : - null; - attrHandle[ lowercaseName ] = handle; - } - return ret; - }; -} ); - - - - -var rfocusable = /^(?:input|select|textarea|button)$/i, - rclickable = /^(?:a|area)$/i; - -jQuery.fn.extend( { - prop: function( name, value ) { - return access( this, jQuery.prop, name, value, arguments.length > 1 ); - }, - - removeProp: function( name ) { - return this.each( function() { - delete this[ jQuery.propFix[ name ] || name ]; - } ); - } -} ); - -jQuery.extend( { - prop: function( elem, name, value ) { - var ret, hooks, - nType = elem.nodeType; - - // Don't get/set properties on text, comment and attribute nodes - if ( nType === 3 || nType === 8 || nType === 2 ) { - return; - } - - if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { - - // Fix name and attach hooks - name = jQuery.propFix[ name ] || name; - hooks = jQuery.propHooks[ name ]; - } - - if ( value !== undefined ) { - if ( hooks && "set" in hooks && - ( ret = hooks.set( elem, value, name ) ) !== undefined ) { - return ret; - } - - return ( elem[ name ] = value ); - } - - if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { - return ret; - } - - return elem[ name ]; - }, - - propHooks: { - tabIndex: { - get: function( elem ) { - - // Support: IE <=9 - 11 only - // elem.tabIndex doesn't always return the - // correct value when it hasn't been explicitly set - // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - // Use proper attribute retrieval(#12072) - var tabindex = jQuery.find.attr( elem, "tabindex" ); - - return tabindex ? - parseInt( tabindex, 10 ) : - rfocusable.test( elem.nodeName ) || - rclickable.test( elem.nodeName ) && elem.href ? - 0 : - -1; - } - } - }, - - propFix: { - "for": "htmlFor", - "class": "className" - } -} ); - -// Support: IE <=11 only -// Accessing the selectedIndex property -// forces the browser to respect setting selected -// on the option -// The getter ensures a default option is selected -// when in an optgroup -if ( !support.optSelected ) { - jQuery.propHooks.selected = { - get: function( elem ) { - var parent = elem.parentNode; - if ( parent && parent.parentNode ) { - parent.parentNode.selectedIndex; - } - return null; - }, - set: function( elem ) { - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - }; -} - -jQuery.each( [ - "tabIndex", - "readOnly", - "maxLength", - "cellSpacing", - "cellPadding", - "rowSpan", - "colSpan", - "useMap", - "frameBorder", - "contentEditable" -], function() { - jQuery.propFix[ this.toLowerCase() ] = this; -} ); - - - - -var rclass = /[\t\r\n\f]/g; - -function getClass( elem ) { - return elem.getAttribute && elem.getAttribute( "class" ) || ""; -} - -jQuery.fn.extend( { - addClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( jQuery.isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( typeof value === "string" && value ) { - classes = value.match( rnotwhite ) || []; - - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - cur = elem.nodeType === 1 && - ( " " + curValue + " " ).replace( rclass, " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - if ( cur.indexOf( " " + clazz + " " ) < 0 ) { - cur += clazz + " "; - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - var classes, elem, cur, curValue, clazz, j, finalValue, - i = 0; - - if ( jQuery.isFunction( value ) ) { - return this.each( function( j ) { - jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); - } ); - } - - if ( !arguments.length ) { - return this.attr( "class", "" ); - } - - if ( typeof value === "string" && value ) { - classes = value.match( rnotwhite ) || []; - - while ( ( elem = this[ i++ ] ) ) { - curValue = getClass( elem ); - - // This expression is here for better compressibility (see addClass) - cur = elem.nodeType === 1 && - ( " " + curValue + " " ).replace( rclass, " " ); - - if ( cur ) { - j = 0; - while ( ( clazz = classes[ j++ ] ) ) { - - // Remove *all* instances - while ( cur.indexOf( " " + clazz + " " ) > -1 ) { - cur = cur.replace( " " + clazz + " ", " " ); - } - } - - // Only assign if different to avoid unneeded rendering. - finalValue = jQuery.trim( cur ); - if ( curValue !== finalValue ) { - elem.setAttribute( "class", finalValue ); - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value; - - if ( typeof stateVal === "boolean" && type === "string" ) { - return stateVal ? this.addClass( value ) : this.removeClass( value ); - } - - if ( jQuery.isFunction( value ) ) { - return this.each( function( i ) { - jQuery( this ).toggleClass( - value.call( this, i, getClass( this ), stateVal ), - stateVal - ); - } ); - } - - return this.each( function() { - var className, i, self, classNames; - - if ( type === "string" ) { - - // Toggle individual class names - i = 0; - self = jQuery( this ); - classNames = value.match( rnotwhite ) || []; - - while ( ( className = classNames[ i++ ] ) ) { - - // Check each className given, space separated list - if ( self.hasClass( className ) ) { - self.removeClass( className ); - } else { - self.addClass( className ); - } - } - - // Toggle whole class name - } else if ( value === undefined || type === "boolean" ) { - className = getClass( this ); - if ( className ) { - - // Store className if set - dataPriv.set( this, "__className__", className ); - } - - // If the element has a class name or if we're passed `false`, - // then remove the whole classname (if there was one, the above saved it). - // Otherwise bring back whatever was previously saved (if anything), - // falling back to the empty string if nothing was stored. - if ( this.setAttribute ) { - this.setAttribute( "class", - className || value === false ? - "" : - dataPriv.get( this, "__className__" ) || "" - ); - } - } - } ); - }, - - hasClass: function( selector ) { - var className, elem, - i = 0; - - className = " " + selector + " "; - while ( ( elem = this[ i++ ] ) ) { - if ( elem.nodeType === 1 && - ( " " + getClass( elem ) + " " ).replace( rclass, " " ) - .indexOf( className ) > -1 - ) { - return true; - } - } - - return false; - } -} ); - - - - -var rreturn = /\r/g, - rspaces = /[\x20\t\r\n\f]+/g; - -jQuery.fn.extend( { - val: function( value ) { - var hooks, ret, isFunction, - elem = this[ 0 ]; - - if ( !arguments.length ) { - if ( elem ) { - hooks = jQuery.valHooks[ elem.type ] || - jQuery.valHooks[ elem.nodeName.toLowerCase() ]; - - if ( hooks && - "get" in hooks && - ( ret = hooks.get( elem, "value" ) ) !== undefined - ) { - return ret; - } - - ret = elem.value; - - return typeof ret === "string" ? - - // Handle most common string cases - ret.replace( rreturn, "" ) : - - // Handle cases where value is null/undef or number - ret == null ? "" : ret; - } - - return; - } - - isFunction = jQuery.isFunction( value ); - - return this.each( function( i ) { - var val; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call( this, i, jQuery( this ).val() ); - } else { - val = value; - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - - } else if ( typeof val === "number" ) { - val += ""; - - } else if ( jQuery.isArray( val ) ) { - val = jQuery.map( val, function( value ) { - return value == null ? "" : value + ""; - } ); - } - - hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; - - // If set returns undefined, fall back to normal setting - if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { - this.value = val; - } - } ); - } -} ); - -jQuery.extend( { - valHooks: { - option: { - get: function( elem ) { - - var val = jQuery.find.attr( elem, "value" ); - return val != null ? - val : - - // Support: IE <=10 - 11 only - // option.text throws exceptions (#14686, #14858) - // Strip and collapse whitespace - // https://html.spec.whatwg.org/#strip-and-collapse-whitespace - jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " ); - } - }, - select: { - get: function( elem ) { - var value, option, - options = elem.options, - index = elem.selectedIndex, - one = elem.type === "select-one", - values = one ? null : [], - max = one ? index + 1 : options.length, - i = index < 0 ? - max : - one ? index : 0; - - // Loop through all the selected options - for ( ; i < max; i++ ) { - option = options[ i ]; - - // Support: IE <=9 only - // IE8-9 doesn't update selected after form reset (#2551) - if ( ( option.selected || i === index ) && - - // Don't return options that are disabled or in a disabled optgroup - !option.disabled && - ( !option.parentNode.disabled || - !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { - - // Get the specific value for the option - value = jQuery( option ).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - }, - - set: function( elem, value ) { - var optionSet, option, - options = elem.options, - values = jQuery.makeArray( value ), - i = options.length; - - while ( i-- ) { - option = options[ i ]; - - /* eslint-disable no-cond-assign */ - - if ( option.selected = - jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 - ) { - optionSet = true; - } - - /* eslint-enable no-cond-assign */ - } - - // Force browsers to behave consistently when non-matching value is set - if ( !optionSet ) { - elem.selectedIndex = -1; - } - return values; - } - } - } -} ); - -// Radios and checkboxes getter/setter -jQuery.each( [ "radio", "checkbox" ], function() { - jQuery.valHooks[ this ] = { - set: function( elem, value ) { - if ( jQuery.isArray( value ) ) { - return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); - } - } - }; - if ( !support.checkOn ) { - jQuery.valHooks[ this ].get = function( elem ) { - return elem.getAttribute( "value" ) === null ? "on" : elem.value; - }; - } -} ); - - - - -// Return jQuery for attributes-only inclusion - - -var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/; - -jQuery.extend( jQuery.event, { - - trigger: function( event, data, elem, onlyHandlers ) { - - var i, cur, tmp, bubbleType, ontype, handle, special, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; - - cur = tmp = elem = elem || document; - - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { - return; - } - - if ( type.indexOf( "." ) > -1 ) { - - // Namespaced trigger; create a regexp to match event type in handle() - namespaces = type.split( "." ); - type = namespaces.shift(); - namespaces.sort(); - } - ontype = type.indexOf( ":" ) < 0 && "on" + type; - - // Caller can pass in a jQuery.Event object, Object, or just an event type string - event = event[ jQuery.expando ] ? - event : - new jQuery.Event( type, typeof event === "object" && event ); - - // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) - event.isTrigger = onlyHandlers ? 2 : 3; - event.namespace = namespaces.join( "." ); - event.rnamespace = event.namespace ? - new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : - null; - - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } - - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); - - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } - - // Determine event propagation path in advance, per W3C events spec (#9951) - // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) - if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { - - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; - } - - // Only add window if we got to document (e.g., not plain obj or detached DOM) - if ( tmp === ( elem.ownerDocument || document ) ) { - eventPath.push( tmp.defaultView || tmp.parentWindow || window ); - } - } - - // Fire handlers on the event path - i = 0; - while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { - - event.type = i > 1 ? - bubbleType : - special.bindType || type; - - // jQuery handler - handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] && - dataPriv.get( cur, "handle" ); - if ( handle ) { - handle.apply( cur, data ); - } - - // Native handler - handle = ontype && cur[ ontype ]; - if ( handle && handle.apply && acceptData( cur ) ) { - event.result = handle.apply( cur, data ); - if ( event.result === false ) { - event.preventDefault(); - } - } - } - event.type = type; - - // If nobody prevented the default action, do it now - if ( !onlyHandlers && !event.isDefaultPrevented() ) { - - if ( ( !special._default || - special._default.apply( eventPath.pop(), data ) === false ) && - acceptData( elem ) ) { - - // Call a native DOM method on the target with the same name as the event. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) { - - // Don't re-trigger an onFOO event when we call its FOO() method - tmp = elem[ ontype ]; - - if ( tmp ) { - elem[ ontype ] = null; - } - - // Prevent re-triggering of the same event, since we already bubbled it above - jQuery.event.triggered = type; - elem[ type ](); - jQuery.event.triggered = undefined; - - if ( tmp ) { - elem[ ontype ] = tmp; - } - } - } - } - - return event.result; - }, - - // Piggyback on a donor event to simulate a different one - // Used only for `focus(in | out)` events - simulate: function( type, elem, event ) { - var e = jQuery.extend( - new jQuery.Event(), - event, - { - type: type, - isSimulated: true - } - ); - - jQuery.event.trigger( e, null, elem ); - } - -} ); - -jQuery.fn.extend( { - - trigger: function( type, data ) { - return this.each( function() { - jQuery.event.trigger( type, data, this ); - } ); - }, - triggerHandler: function( type, data ) { - var elem = this[ 0 ]; - if ( elem ) { - return jQuery.event.trigger( type, data, elem, true ); - } - } -} ); - - -jQuery.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( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - return arguments.length > 0 ? - this.on( name, null, data, fn ) : - this.trigger( name ); - }; -} ); - -jQuery.fn.extend( { - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -} ); - - - - -support.focusin = "onfocusin" in window; - - -// Support: Firefox <=44 -// Firefox doesn't have focus(in | out) events -// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 -// -// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 -// focus(in | out) events fire after focus & blur events, -// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order -// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 -if ( !support.focusin ) { - jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler on the document while someone wants focusin/focusout - var handler = function( event ) { - jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); - }; - - jQuery.event.special[ fix ] = { - setup: function() { - var doc = this.ownerDocument || this, - attaches = dataPriv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = dataPriv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - dataPriv.remove( doc, fix ); - - } else { - dataPriv.access( doc, fix, attaches ); - } - } - }; - } ); -} -var location = window.location; - -var nonce = jQuery.now(); - -var rquery = ( /\?/ ); - - - -// Cross-browser xml parsing -jQuery.parseXML = function( data ) { - var xml; - if ( !data || typeof data !== "string" ) { - return null; - } - - // Support: IE 9 - 11 only - // IE throws on parseFromString with invalid input. - try { - xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); - } catch ( e ) { - xml = undefined; - } - - if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) { - jQuery.error( "Invalid XML: " + data ); - } - return xml; -}; - - -var - rbracket = /\[\]$/, - rCRLF = /\r?\n/g, - rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, - rsubmittable = /^(?:input|select|textarea|keygen)/i; - -function buildParams( prefix, obj, traditional, add ) { - var name; - - if ( jQuery.isArray( obj ) ) { - - // Serialize array item. - jQuery.each( obj, function( i, v ) { - if ( traditional || rbracket.test( prefix ) ) { - - // Treat each array item as a scalar. - add( prefix, v ); - - } else { - - // Item is non-scalar (array or object), encode its numeric index. - buildParams( - prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", - v, - traditional, - add - ); - } - } ); - - } else if ( !traditional && jQuery.type( obj ) === "object" ) { - - // Serialize object item. - for ( name in obj ) { - buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); - } - - } else { - - // Serialize scalar item. - add( prefix, obj ); - } -} - -// Serialize an array of form elements or a set of -// key/values into a query string -jQuery.param = function( a, traditional ) { - var prefix, - s = [], - add = function( key, valueOrFunction ) { - - // If value is a function, invoke it and use its return value - var value = jQuery.isFunction( valueOrFunction ) ? - valueOrFunction() : - valueOrFunction; - - s[ s.length ] = encodeURIComponent( key ) + "=" + - encodeURIComponent( value == null ? "" : value ); - }; - - // If an array was passed in, assume that it is an array of form elements. - if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { - - // Serialize the form elements - jQuery.each( a, function() { - add( this.name, this.value ); - } ); - - } else { - - // If traditional, encode the "old" way (the way 1.3.2 or older - // did it), otherwise encode params recursively. - for ( prefix in a ) { - buildParams( prefix, a[ prefix ], traditional, add ); - } - } - - // Return the resulting serialization - return s.join( "&" ); -}; - -jQuery.fn.extend( { - serialize: function() { - return jQuery.param( this.serializeArray() ); - }, - serializeArray: function() { - return this.map( function() { - - // Can add propHook for "elements" to filter or add form elements - var elements = jQuery.prop( this, "elements" ); - return elements ? jQuery.makeArray( elements ) : this; - } ) - .filter( function() { - var type = this.type; - - // Use .is( ":disabled" ) so that fieldset[disabled] works - return this.name && !jQuery( this ).is( ":disabled" ) && - rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && - ( this.checked || !rcheckableType.test( type ) ); - } ) - .map( function( i, elem ) { - var val = jQuery( this ).val(); - - return val == null ? - null : - jQuery.isArray( val ) ? - jQuery.map( val, function( val ) { - return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ) : - { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; - } ).get(); - } -} ); - - -var - r20 = /%20/g, - rhash = /#.*$/, - rts = /([?&])_=[^&]*/, - rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, - - // #7653, #8125, #8152: local protocol detection - rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, - rnoContent = /^(?:GET|HEAD)$/, - rprotocol = /^\/\//, - - /* Prefilters - * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) - * 2) These are called: - * - BEFORE asking for a transport - * - AFTER param serialization (s.data is a string if s.processData is true) - * 3) key is the dataType - * 4) the catchall symbol "*" can be used - * 5) execution will start with transport dataType and THEN continue down to "*" if needed - */ - prefilters = {}, - - /* Transports bindings - * 1) key is the dataType - * 2) the catchall symbol "*" can be used - * 3) selection will start with transport dataType and THEN go to "*" if needed - */ - transports = {}, - - // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression - allTypes = "*/".concat( "*" ), - - // Anchor tag for parsing the document origin - originAnchor = document.createElement( "a" ); - originAnchor.href = location.href; - -// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport -function addToPrefiltersOrTransports( structure ) { - - // dataTypeExpression is optional and defaults to "*" - return function( dataTypeExpression, func ) { - - if ( typeof dataTypeExpression !== "string" ) { - func = dataTypeExpression; - dataTypeExpression = "*"; - } - - var dataType, - i = 0, - dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; - - if ( jQuery.isFunction( func ) ) { - - // For each dataType in the dataTypeExpression - while ( ( dataType = dataTypes[ i++ ] ) ) { - - // Prepend if requested - if ( dataType[ 0 ] === "+" ) { - dataType = dataType.slice( 1 ) || "*"; - ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); - - // Otherwise append - } else { - ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); - } - } - } - }; -} - -// Base inspection function for prefilters and transports -function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { - - var inspected = {}, - seekingTransport = ( structure === transports ); - - function inspect( dataType ) { - var selected; - inspected[ dataType ] = true; - jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { - var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); - if ( typeof dataTypeOrTransport === "string" && - !seekingTransport && !inspected[ dataTypeOrTransport ] ) { - - options.dataTypes.unshift( dataTypeOrTransport ); - inspect( dataTypeOrTransport ); - return false; - } else if ( seekingTransport ) { - return !( selected = dataTypeOrTransport ); - } - } ); - return selected; - } - - return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); -} - -// A special extend for ajax options -// that takes "flat" options (not to be deep extended) -// Fixes #9887 -function ajaxExtend( target, src ) { - var key, deep, - flatOptions = jQuery.ajaxSettings.flatOptions || {}; - - for ( key in src ) { - if ( src[ key ] !== undefined ) { - ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; - } - } - if ( deep ) { - jQuery.extend( true, target, deep ); - } - - return target; -} - -/* Handles responses to an ajax request: - * - finds the right dataType (mediates between content-type and expected dataType) - * - returns the corresponding response - */ -function ajaxHandleResponses( s, jqXHR, responses ) { - - var ct, type, finalDataType, firstDataType, - contents = s.contents, - dataTypes = s.dataTypes; - - // Remove auto dataType and get content-type in the process - while ( dataTypes[ 0 ] === "*" ) { - dataTypes.shift(); - if ( ct === undefined ) { - ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); - } - } - - // Check if we're dealing with a known content-type - if ( ct ) { - for ( type in contents ) { - if ( contents[ type ] && contents[ type ].test( ct ) ) { - dataTypes.unshift( type ); - break; - } - } - } - - // Check to see if we have a response for the expected dataType - if ( dataTypes[ 0 ] in responses ) { - finalDataType = dataTypes[ 0 ]; - } else { - - // Try convertible dataTypes - for ( type in responses ) { - if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { - finalDataType = type; - break; - } - if ( !firstDataType ) { - firstDataType = type; - } - } - - // Or just use first one - finalDataType = finalDataType || firstDataType; - } - - // If we found a dataType - // We add the dataType to the list if needed - // and return the corresponding response - if ( finalDataType ) { - if ( finalDataType !== dataTypes[ 0 ] ) { - dataTypes.unshift( finalDataType ); - } - return responses[ finalDataType ]; - } -} - -/* Chain conversions given the request and the original response - * Also sets the responseXXX fields on the jqXHR instance - */ -function ajaxConvert( s, response, jqXHR, isSuccess ) { - var conv2, current, conv, tmp, prev, - converters = {}, - - // Work with a copy of dataTypes in case we need to modify it for conversion - dataTypes = s.dataTypes.slice(); - - // Create converters map with lowercased keys - if ( dataTypes[ 1 ] ) { - for ( conv in s.converters ) { - converters[ conv.toLowerCase() ] = s.converters[ conv ]; - } - } - - current = dataTypes.shift(); - - // Convert to each sequential dataType - while ( current ) { - - if ( s.responseFields[ current ] ) { - jqXHR[ s.responseFields[ current ] ] = response; - } - - // Apply the dataFilter if provided - if ( !prev && isSuccess && s.dataFilter ) { - response = s.dataFilter( response, s.dataType ); - } - - prev = current; - current = dataTypes.shift(); - - if ( current ) { - - // There's only work to do if current dataType is non-auto - if ( current === "*" ) { - - current = prev; - - // Convert response if prev dataType is non-auto and differs from current - } else if ( prev !== "*" && prev !== current ) { - - // Seek a direct converter - conv = converters[ prev + " " + current ] || converters[ "* " + current ]; - - // If none found, seek a pair - if ( !conv ) { - for ( conv2 in converters ) { - - // If conv2 outputs current - tmp = conv2.split( " " ); - if ( tmp[ 1 ] === current ) { - - // If prev can be converted to accepted input - conv = converters[ prev + " " + tmp[ 0 ] ] || - converters[ "* " + tmp[ 0 ] ]; - if ( conv ) { - - // Condense equivalence converters - if ( conv === true ) { - conv = converters[ conv2 ]; - - // Otherwise, insert the intermediate dataType - } else if ( converters[ conv2 ] !== true ) { - current = tmp[ 0 ]; - dataTypes.unshift( tmp[ 1 ] ); - } - break; - } - } - } - } - - // Apply converter (if not an equivalence) - if ( conv !== true ) { - - // Unless errors are allowed to bubble, catch and return them - if ( conv && s.throws ) { - response = conv( response ); - } else { - try { - response = conv( response ); - } catch ( e ) { - return { - state: "parsererror", - error: conv ? e : "No conversion from " + prev + " to " + current - }; - } - } - } - } - } - } - - return { state: "success", data: response }; -} - -jQuery.extend( { - - // Counter for holding the number of active queries - active: 0, - - // Last-Modified header cache for next request - lastModified: {}, - etag: {}, - - ajaxSettings: { - url: location.href, - type: "GET", - isLocal: rlocalProtocol.test( location.protocol ), - global: true, - processData: true, - async: true, - contentType: "application/x-www-form-urlencoded; charset=UTF-8", - - /* - timeout: 0, - data: null, - dataType: null, - username: null, - password: null, - cache: null, - throws: false, - traditional: false, - headers: {}, - */ - - accepts: { - "*": allTypes, - text: "text/plain", - html: "text/html", - xml: "application/xml, text/xml", - json: "application/json, text/javascript" - }, - - contents: { - xml: /\bxml\b/, - html: /\bhtml/, - json: /\bjson\b/ - }, - - responseFields: { - xml: "responseXML", - text: "responseText", - json: "responseJSON" - }, - - // Data converters - // Keys separate source (or catchall "*") and destination types with a single space - converters: { - - // Convert anything to text - "* text": String, - - // Text to html (true = no transformation) - "text html": true, - - // Evaluate text as a json expression - "text json": JSON.parse, - - // Parse text as xml - "text xml": jQuery.parseXML - }, - - // For options that shouldn't be deep extended: - // you can add your own custom options here if - // and when you create one that shouldn't be - // deep extended (see ajaxExtend) - flatOptions: { - url: true, - context: true - } - }, - - // Creates a full fledged settings object into target - // with both ajaxSettings and settings fields. - // If target is omitted, writes into ajaxSettings. - ajaxSetup: function( target, settings ) { - return settings ? - - // Building a settings object - ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : - - // Extending ajaxSettings - ajaxExtend( jQuery.ajaxSettings, target ); - }, - - ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), - ajaxTransport: addToPrefiltersOrTransports( transports ), - - // Main method - ajax: function( url, options ) { - - // If url is an object, simulate pre-1.5 signature - if ( typeof url === "object" ) { - options = url; - url = undefined; - } - - // Force options to be an object - options = options || {}; - - var transport, - - // URL without anti-cache param - cacheURL, - - // Response headers - responseHeadersString, - responseHeaders, - - // timeout handle - timeoutTimer, - - // Url cleanup var - urlAnchor, - - // Request state (becomes false upon send and true upon completion) - completed, - - // To know if global events are to be dispatched - fireGlobals, - - // Loop variable - i, - - // uncached part of the url - uncached, - - // Create the final options object - s = jQuery.ajaxSetup( {}, options ), - - // Callbacks context - callbackContext = s.context || s, - - // Context for global events is callbackContext if it is a DOM node or jQuery collection - globalEventContext = s.context && - ( callbackContext.nodeType || callbackContext.jquery ) ? - jQuery( callbackContext ) : - jQuery.event, - - // Deferreds - deferred = jQuery.Deferred(), - completeDeferred = jQuery.Callbacks( "once memory" ), - - // Status-dependent callbacks - statusCode = s.statusCode || {}, - - // Headers (they are sent all at once) - requestHeaders = {}, - requestHeadersNames = {}, - - // Default abort message - strAbort = "canceled", - - // Fake xhr - jqXHR = { - readyState: 0, - - // Builds headers hashtable if needed - getResponseHeader: function( key ) { - var match; - if ( completed ) { - if ( !responseHeaders ) { - responseHeaders = {}; - while ( ( match = rheaders.exec( responseHeadersString ) ) ) { - responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; - } - } - match = responseHeaders[ key.toLowerCase() ]; - } - return match == null ? null : match; - }, - - // Raw string - getAllResponseHeaders: function() { - return completed ? responseHeadersString : null; - }, - - // Caches the header - setRequestHeader: function( name, value ) { - if ( completed == null ) { - name = requestHeadersNames[ name.toLowerCase() ] = - requestHeadersNames[ name.toLowerCase() ] || name; - requestHeaders[ name ] = value; - } - return this; - }, - - // Overrides response content-type header - overrideMimeType: function( type ) { - if ( completed == null ) { - s.mimeType = type; - } - return this; - }, - - // Status-dependent callbacks - statusCode: function( map ) { - var code; - if ( map ) { - if ( completed ) { - - // Execute the appropriate callbacks - jqXHR.always( map[ jqXHR.status ] ); - } else { - - // Lazy-add the new callbacks in a way that preserves old ones - for ( code in map ) { - statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; - } - } - } - return this; - }, - - // Cancel the request - abort: function( statusText ) { - var finalText = statusText || strAbort; - if ( transport ) { - transport.abort( finalText ); - } - done( 0, finalText ); - return this; - } - }; - - // Attach deferreds - deferred.promise( jqXHR ); - - // Add protocol if not provided (prefilters might expect it) - // Handle falsy url in the settings object (#10093: consistency with old signature) - // We also use the url parameter if available - s.url = ( ( url || s.url || location.href ) + "" ) - .replace( rprotocol, location.protocol + "//" ); - - // Alias method option to type as per ticket #12004 - s.type = options.method || options.type || s.method || s.type; - - // Extract dataTypes list - s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; - - // A cross-domain request is in order when the origin doesn't match the current origin. - if ( s.crossDomain == null ) { - urlAnchor = document.createElement( "a" ); - - // Support: IE <=8 - 11, Edge 12 - 13 - // IE throws exception on accessing the href property if url is malformed, - // e.g. http://example.com:80x/ - try { - urlAnchor.href = s.url; - - // Support: IE <=8 - 11 only - // Anchor's host property isn't correctly set when s.url is relative - urlAnchor.href = urlAnchor.href; - s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== - urlAnchor.protocol + "//" + urlAnchor.host; - } catch ( e ) { - - // If there is an error parsing the URL, assume it is crossDomain, - // it can be rejected by the transport if it is invalid - s.crossDomain = true; - } - } - - // Convert data if not already a string - if ( s.data && s.processData && typeof s.data !== "string" ) { - s.data = jQuery.param( s.data, s.traditional ); - } - - // Apply prefilters - inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); - - // If request was aborted inside a prefilter, stop there - if ( completed ) { - return jqXHR; - } - - // We can fire global events as of now if asked to - // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) - fireGlobals = jQuery.event && s.global; - - // Watch for a new set of requests - if ( fireGlobals && jQuery.active++ === 0 ) { - jQuery.event.trigger( "ajaxStart" ); - } - - // Uppercase the type - s.type = s.type.toUpperCase(); - - // Determine if request has content - s.hasContent = !rnoContent.test( s.type ); - - // Save the URL in case we're toying with the If-Modified-Since - // and/or If-None-Match header later on - // Remove hash to simplify url manipulation - cacheURL = s.url.replace( rhash, "" ); - - // More options handling for requests with no content - if ( !s.hasContent ) { - - // Remember the hash so we can put it back - uncached = s.url.slice( cacheURL.length ); - - // If data is available, append data to url - if ( s.data ) { - cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; - - // #9682: remove data so that it's not used in an eventual retry - delete s.data; - } - - // Add anti-cache in uncached url if needed - if ( s.cache === false ) { - cacheURL = cacheURL.replace( rts, "" ); - uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached; - } - - // Put hash and anti-cache on the URL that will be requested (gh-1732) - s.url = cacheURL + uncached; - - // Change '%20' to '+' if this is encoded form body content (gh-2658) - } else if ( s.data && s.processData && - ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { - s.data = s.data.replace( r20, "+" ); - } - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - if ( jQuery.lastModified[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); - } - if ( jQuery.etag[ cacheURL ] ) { - jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); - } - } - - // Set the correct header, if data is being sent - if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { - jqXHR.setRequestHeader( "Content-Type", s.contentType ); - } - - // Set the Accepts header for the server, depending on the dataType - jqXHR.setRequestHeader( - "Accept", - s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? - s.accepts[ s.dataTypes[ 0 ] ] + - ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : - s.accepts[ "*" ] - ); - - // Check for headers option - for ( i in s.headers ) { - jqXHR.setRequestHeader( i, s.headers[ i ] ); - } - - // Allow custom headers/mimetypes and early abort - if ( s.beforeSend && - ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { - - // Abort if not done already and return - return jqXHR.abort(); - } - - // Aborting is no longer a cancellation - strAbort = "abort"; - - // Install callbacks on deferreds - completeDeferred.add( s.complete ); - jqXHR.done( s.success ); - jqXHR.fail( s.error ); - - // Get transport - transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); - - // If no transport, we auto-abort - if ( !transport ) { - done( -1, "No Transport" ); - } else { - jqXHR.readyState = 1; - - // Send global event - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); - } - - // If request was aborted inside ajaxSend, stop there - if ( completed ) { - return jqXHR; - } - - // Timeout - if ( s.async && s.timeout > 0 ) { - timeoutTimer = window.setTimeout( function() { - jqXHR.abort( "timeout" ); - }, s.timeout ); - } - - try { - completed = false; - transport.send( requestHeaders, done ); - } catch ( e ) { - - // Rethrow post-completion exceptions - if ( completed ) { - throw e; - } - - // Propagate others as results - done( -1, e ); - } - } - - // Callback for when everything is done - function done( status, nativeStatusText, responses, headers ) { - var isSuccess, success, error, response, modified, - statusText = nativeStatusText; - - // Ignore repeat invocations - if ( completed ) { - return; - } - - completed = true; - - // Clear timeout if it exists - if ( timeoutTimer ) { - window.clearTimeout( timeoutTimer ); - } - - // Dereference transport for early garbage collection - // (no matter how long the jqXHR object will be used) - transport = undefined; - - // Cache response headers - responseHeadersString = headers || ""; - - // Set readyState - jqXHR.readyState = status > 0 ? 4 : 0; - - // Determine if successful - isSuccess = status >= 200 && status < 300 || status === 304; - - // Get response data - if ( responses ) { - response = ajaxHandleResponses( s, jqXHR, responses ); - } - - // Convert no matter what (that way responseXXX fields are always set) - response = ajaxConvert( s, response, jqXHR, isSuccess ); - - // If successful, handle type chaining - if ( isSuccess ) { - - // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. - if ( s.ifModified ) { - modified = jqXHR.getResponseHeader( "Last-Modified" ); - if ( modified ) { - jQuery.lastModified[ cacheURL ] = modified; - } - modified = jqXHR.getResponseHeader( "etag" ); - if ( modified ) { - jQuery.etag[ cacheURL ] = modified; - } - } - - // if no content - if ( status === 204 || s.type === "HEAD" ) { - statusText = "nocontent"; - - // if not modified - } else if ( status === 304 ) { - statusText = "notmodified"; - - // If we have data, let's convert it - } else { - statusText = response.state; - success = response.data; - error = response.error; - isSuccess = !error; - } - } else { - - // Extract error from statusText and normalize for non-aborts - error = statusText; - if ( status || !statusText ) { - statusText = "error"; - if ( status < 0 ) { - status = 0; - } - } - } - - // Set data for the fake xhr object - jqXHR.status = status; - jqXHR.statusText = ( nativeStatusText || statusText ) + ""; - - // Success/Error - if ( isSuccess ) { - deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); - } else { - deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); - } - - // Status-dependent callbacks - jqXHR.statusCode( statusCode ); - statusCode = undefined; - - if ( fireGlobals ) { - globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", - [ jqXHR, s, isSuccess ? success : error ] ); - } - - // Complete - completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); - - if ( fireGlobals ) { - globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); - - // Handle the global AJAX counter - if ( !( --jQuery.active ) ) { - jQuery.event.trigger( "ajaxStop" ); - } - } - } - - return jqXHR; - }, - - getJSON: function( url, data, callback ) { - return jQuery.get( url, data, callback, "json" ); - }, - - getScript: function( url, callback ) { - return jQuery.get( url, undefined, callback, "script" ); - } -} ); - -jQuery.each( [ "get", "post" ], function( i, method ) { - jQuery[ method ] = function( url, data, callback, type ) { - - // Shift arguments if data argument was omitted - if ( jQuery.isFunction( data ) ) { - type = type || callback; - callback = data; - data = undefined; - } - - // The url can be an options object (which then must have .url) - return jQuery.ajax( jQuery.extend( { - url: url, - type: method, - dataType: type, - data: data, - success: callback - }, jQuery.isPlainObject( url ) && url ) ); - }; -} ); - - -jQuery._evalUrl = function( url ) { - return jQuery.ajax( { - url: url, - - // Make this explicit, since user can override this through ajaxSetup (#11264) - type: "GET", - dataType: "script", - cache: true, - async: false, - global: false, - "throws": true - } ); -}; - - -jQuery.fn.extend( { - wrapAll: function( html ) { - var wrap; - - if ( this[ 0 ] ) { - if ( jQuery.isFunction( html ) ) { - html = html.call( this[ 0 ] ); - } - - // The elements to wrap the target around - wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); - - if ( this[ 0 ].parentNode ) { - wrap.insertBefore( this[ 0 ] ); - } - - wrap.map( function() { - var elem = this; - - while ( elem.firstElementChild ) { - elem = elem.firstElementChild; - } - - return elem; - } ).append( this ); - } - - return this; - }, - - wrapInner: function( html ) { - if ( jQuery.isFunction( html ) ) { - return this.each( function( i ) { - jQuery( this ).wrapInner( html.call( this, i ) ); - } ); - } - - return this.each( function() { - var self = jQuery( this ), - contents = self.contents(); - - if ( contents.length ) { - contents.wrapAll( html ); - - } else { - self.append( html ); - } - } ); - }, - - wrap: function( html ) { - var isFunction = jQuery.isFunction( html ); - - return this.each( function( i ) { - jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); - } ); - }, - - unwrap: function( selector ) { - this.parent( selector ).not( "body" ).each( function() { - jQuery( this ).replaceWith( this.childNodes ); - } ); - return this; - } -} ); - - -jQuery.expr.pseudos.hidden = function( elem ) { - return !jQuery.expr.pseudos.visible( elem ); -}; -jQuery.expr.pseudos.visible = function( elem ) { - return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); -}; - - - - -jQuery.ajaxSettings.xhr = function() { - try { - return new window.XMLHttpRequest(); - } catch ( e ) {} -}; - -var xhrSuccessStatus = { - - // File protocol always yields status code 0, assume 200 - 0: 200, - - // Support: IE <=9 only - // #1450: sometimes IE returns 1223 when it should be 204 - 1223: 204 - }, - xhrSupported = jQuery.ajaxSettings.xhr(); - -support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); -support.ajax = xhrSupported = !!xhrSupported; - -jQuery.ajaxTransport( function( options ) { - var callback, errorCallback; - - // Cross domain only allowed if supported through XMLHttpRequest - if ( support.cors || xhrSupported && !options.crossDomain ) { - return { - send: function( headers, complete ) { - var i, - xhr = options.xhr(); - - xhr.open( - options.type, - options.url, - options.async, - options.username, - options.password - ); - - // Apply custom fields if provided - if ( options.xhrFields ) { - for ( i in options.xhrFields ) { - xhr[ i ] = options.xhrFields[ i ]; - } - } - - // Override mime type if needed - if ( options.mimeType && xhr.overrideMimeType ) { - xhr.overrideMimeType( options.mimeType ); - } - - // X-Requested-With header - // For cross-domain requests, seeing as conditions for a preflight are - // akin to a jigsaw puzzle, we simply never set it to be sure. - // (it can always be set on a per-request basis or even using ajaxSetup) - // For same-domain requests, won't change header if already provided. - if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { - headers[ "X-Requested-With" ] = "XMLHttpRequest"; - } - - // Set headers - for ( i in headers ) { - xhr.setRequestHeader( i, headers[ i ] ); - } - - // Callback - callback = function( type ) { - return function() { - if ( callback ) { - callback = errorCallback = xhr.onload = - xhr.onerror = xhr.onabort = xhr.onreadystatechange = null; - - if ( type === "abort" ) { - xhr.abort(); - } else if ( type === "error" ) { - - // Support: IE <=9 only - // On a manual native abort, IE9 throws - // errors on any property access that is not readyState - if ( typeof xhr.status !== "number" ) { - complete( 0, "error" ); - } else { - complete( - - // File: protocol always yields status 0; see #8605, #14207 - xhr.status, - xhr.statusText - ); - } - } else { - complete( - xhrSuccessStatus[ xhr.status ] || xhr.status, - xhr.statusText, - - // Support: IE <=9 only - // IE9 has no XHR2 but throws on binary (trac-11426) - // For XHR2 non-text, let the caller handle it (gh-2498) - ( xhr.responseType || "text" ) !== "text" || - typeof xhr.responseText !== "string" ? - { binary: xhr.response } : - { text: xhr.responseText }, - xhr.getAllResponseHeaders() - ); - } - } - }; - }; - - // Listen to events - xhr.onload = callback(); - errorCallback = xhr.onerror = callback( "error" ); - - // Support: IE 9 only - // Use onreadystatechange to replace onabort - // to handle uncaught aborts - if ( xhr.onabort !== undefined ) { - xhr.onabort = errorCallback; - } else { - xhr.onreadystatechange = function() { - - // Check readyState before timeout as it changes - if ( xhr.readyState === 4 ) { - - // Allow onerror to be called first, - // but that will not handle a native abort - // Also, save errorCallback to a variable - // as xhr.onerror cannot be accessed - window.setTimeout( function() { - if ( callback ) { - errorCallback(); - } - } ); - } - }; - } - - // Create the abort callback - callback = callback( "abort" ); - - try { - - // Do send the request (this may raise an exception) - xhr.send( options.hasContent && options.data || null ); - } catch ( e ) { - - // #14683: Only rethrow if this hasn't been notified as an error yet - if ( callback ) { - throw e; - } - } - }, - - abort: function() { - if ( callback ) { - callback(); - } - } - }; - } -} ); - - - - -// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) -jQuery.ajaxPrefilter( function( s ) { - if ( s.crossDomain ) { - s.contents.script = false; - } -} ); - -// Install script dataType -jQuery.ajaxSetup( { - accepts: { - script: "text/javascript, application/javascript, " + - "application/ecmascript, application/x-ecmascript" - }, - contents: { - script: /\b(?:java|ecma)script\b/ - }, - converters: { - "text script": function( text ) { - jQuery.globalEval( text ); - return text; - } - } -} ); - -// Handle cache's special case and crossDomain -jQuery.ajaxPrefilter( "script", function( s ) { - if ( s.cache === undefined ) { - s.cache = false; - } - if ( s.crossDomain ) { - s.type = "GET"; - } -} ); - -// Bind script tag hack transport -jQuery.ajaxTransport( "script", function( s ) { - - // This transport only deals with cross domain requests - if ( s.crossDomain ) { - var script, callback; - return { - send: function( _, complete ) { - script = jQuery( " - - - - - - -

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

    1. sf_tools Examples

    -

    Coming soon!

    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html deleted file mode 100644 index b051d5e..0000000 --- a/docs/build/html/genindex.html +++ /dev/null @@ -1,831 +0,0 @@ - - - - - - - - - - - - Index — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Index
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - - -

    Index

    - -
    - _ - | A - | C - | D - | E - | F - | G - | I - | K - | L - | M - | N - | O - | P - | R - | S - | T - | U - | V - | W - | X - -
    -

    _

    - - - -
    - -

    A

    - - - -
    - -

    C

    - - - -
    - -

    D

    - - - -
    - -

    E

    - - - -
    - -

    F

    - - - -
    - -

    G

    - - - -
    - -

    I

    - - - -
    - -

    K

    - - - -
    - -

    L

    - - - -
    - -

    M

    - - - -
    - -

    N

    - - - -
    - -

    O

    - - -
    - -

    P

    - - - -
    - -

    R

    - - - -
    - -

    S

    - - - -
    - -

    T

    - - - -
    - -

    U

    - - - -
    - -

    V

    - - - -
    - -

    W

    - - - -
    - -

    X

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

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/index.html b/docs/build/html/index.html deleted file mode 100644 index df02e9d..0000000 --- a/docs/build/html/index.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - - - SF_TOOLS Documentation — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    SF_TOOLS Documentation

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0.1
    Date:25/10/2017
    -

    SF_TOOLS is a series of Python 2.7 modules with applications to image analysis, -signal processing and statistics.

    -
    - -
    -

    Dependencies

    -
    -

    Required Packages

    -

    In order to run the code in this repository the following packages must be -installed:

    -
      -
    • Python [Tested with v 2.7.11 and 3.6.3]
    • -
    • Numpy [Tested with v 1.13.3]
    • -
    • Scipy [Tested with v 0.18.1]
    • -
    • Future [Tested with v 0.16.0]
    • -
    • Astropy [Tested with v 1.3]
    • -
    -
    -
    -

    Optional Packages

    -

    The following packages can optionally be installed to add extra functionality:

    - -
    -
    -
    -

    Installation

    -

    To clone the sf_tools repository from GitHub run the following command:

    -
    $ git clone https://github.com/sfarrens/sf_tools
    -
    -
    -

    To install using easy_install run the following command:

    -
    $ easy_install sf_tools
    -
    -
    -

    To install using pip run the following command:

    -
    $ pip install sf_tools
    -
    -
    -
    - - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/modules.html b/docs/build/html/modules.html deleted file mode 100644 index e74d253..0000000 --- a/docs/build/html/modules.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - sf_tools — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv deleted file mode 100644 index 62eaec3e6224bfdf0edf4a901fcc62806def6d70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2445 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 - - - - - - - - Python Module Index — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Python Module Index
    • - - -
    • - - - -
    • - -
    - - -
    -
    -
    -
    - - -

    Python Module Index

    - -
    - s -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
    - s
    - setup -
    - sf_tools -
        - sf_tools.base -
        - sf_tools.base.np_adjust -
        - sf_tools.base.transform -
        - sf_tools.base.types -
        - sf_tools.image -
        - sf_tools.image.convolve -
        - sf_tools.image.distort -
        - sf_tools.image.quality -
        - sf_tools.image.shape -
        - sf_tools.image.stamp -
        - sf_tools.image.stats -
        - sf_tools.interface -
        - sf_tools.interface.errors -
        - sf_tools.interface.log -
        - sf_tools.math -
        - sf_tools.math.angle -
        - sf_tools.math.integrate -
        - sf_tools.math.matrix -
        - sf_tools.math.misc -
        - sf_tools.math.stats -
        - sf_tools.plot -
        - sf_tools.plot.cost_plot -
        - sf_tools.signal -
        - sf_tools.signal.cost -
        - sf_tools.signal.filter -
        - sf_tools.signal.gradient -
        - sf_tools.signal.linear -
        - sf_tools.signal.noise -
        - sf_tools.signal.optimisation -
        - sf_tools.signal.positivity -
        - sf_tools.signal.proximity -
        - sf_tools.signal.regression -
        - sf_tools.signal.reweight -
        - sf_tools.signal.svd -
        - sf_tools.signal.validation -
        - sf_tools.signal.wavelet -
    - - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/search.html b/docs/build/html/search.html deleted file mode 100644 index e21e34f..0000000 --- a/docs/build/html/search.html +++ /dev/null @@ -1,251 +0,0 @@ - - - - - - - - - - - Search — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - -
      - -
    • Docs »
    • - -
    • Search
    • - - -
    • - -
    • - -
    - - -
    -
    -
    -
    - - - - -
    - -
    - -
    -
    - -
    -
    -
    - - -
    - -
    -

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js deleted file mode 100644 index c17ac39..0000000 --- a/docs/build/html/searchindex.js +++ /dev/null @@ -1 +0,0 @@ -Search.setIndex({docnames:["examples","index","modules","setup","sf_tools","sf_tools.base","sf_tools.base.np_adjust","sf_tools.base.transform","sf_tools.base.types","sf_tools.image","sf_tools.image.convolve","sf_tools.image.distort","sf_tools.image.quality","sf_tools.image.shape","sf_tools.image.stamp","sf_tools.image.stats","sf_tools.interface","sf_tools.interface.errors","sf_tools.interface.log","sf_tools.math","sf_tools.math.angle","sf_tools.math.integrate","sf_tools.math.matrix","sf_tools.math.misc","sf_tools.math.stats","sf_tools.plot","sf_tools.plot.cost_plot","sf_tools.signal","sf_tools.signal.cost","sf_tools.signal.filter","sf_tools.signal.gradient","sf_tools.signal.linear","sf_tools.signal.noise","sf_tools.signal.optimisation","sf_tools.signal.positivity","sf_tools.signal.proximity","sf_tools.signal.regression","sf_tools.signal.reweight","sf_tools.signal.svd","sf_tools.signal.validation","sf_tools.signal.wavelet"],envversion:52,filenames:["examples.rst","index.rst","modules.rst","setup.rst","sf_tools.rst","sf_tools.base.rst","sf_tools.base.np_adjust.rst","sf_tools.base.transform.rst","sf_tools.base.types.rst","sf_tools.image.rst","sf_tools.image.convolve.rst","sf_tools.image.distort.rst","sf_tools.image.quality.rst","sf_tools.image.shape.rst","sf_tools.image.stamp.rst","sf_tools.image.stats.rst","sf_tools.interface.rst","sf_tools.interface.errors.rst","sf_tools.interface.log.rst","sf_tools.math.rst","sf_tools.math.angle.rst","sf_tools.math.integrate.rst","sf_tools.math.matrix.rst","sf_tools.math.misc.rst","sf_tools.math.stats.rst","sf_tools.plot.rst","sf_tools.plot.cost_plot.rst","sf_tools.signal.rst","sf_tools.signal.cost.rst","sf_tools.signal.filter.rst","sf_tools.signal.gradient.rst","sf_tools.signal.linear.rst","sf_tools.signal.noise.rst","sf_tools.signal.optimisation.rst","sf_tools.signal.positivity.rst","sf_tools.signal.proximity.rst","sf_tools.signal.regression.rst","sf_tools.signal.reweight.rst","sf_tools.signal.svd.rst","sf_tools.signal.validation.rst","sf_tools.signal.wavelet.rst"],objects:{"":{setup:[3,0,0,"-"],sf_tools:[4,0,0,"-"]},"sf_tools.base":{np_adjust:[6,0,0,"-"],transform:[7,0,0,"-"],types:[8,0,0,"-"]},"sf_tools.base.np_adjust":{fancy_transpose:[6,1,1,""],ftl:[6,1,1,""],ftr:[6,1,1,""],pad2d:[6,1,1,""],rotate:[6,1,1,""],rotate_stack:[6,1,1,""],x_bins:[6,1,1,""],x_bins_step:[6,1,1,""]},"sf_tools.base.transform":{cube2map:[7,1,1,""],cube2matrix:[7,1,1,""],map2cube:[7,1,1,""],map2matrix:[7,1,1,""],matrix2cube:[7,1,1,""],matrix2map:[7,1,1,""]},"sf_tools.base.types":{check_float:[8,1,1,""],check_int:[8,1,1,""],nan2val:[8,1,1,""],val2float:[8,1,1,""],val2int:[8,1,1,""],val2str:[8,1,1,""]},"sf_tools.image":{convolve:[10,0,0,"-"],distort:[11,0,0,"-"],quality:[12,0,0,"-"],shape:[13,0,0,"-"],stamp:[14,0,0,"-"],stats:[15,0,0,"-"]},"sf_tools.image.convolve":{convolve:[10,1,1,""],convolve_np:[10,1,1,""],convolve_stack:[10,1,1,""],deconvolve_np:[10,1,1,""],pseudo_inverse:[10,1,1,""],psf_convolve:[10,1,1,""]},"sf_tools.image.distort":{downsample:[11,1,1,""],gen_mask:[11,1,1,""],kernel_pattern:[11,1,1,""],rearrange_kernel:[11,1,1,""],resize_even_image:[11,1,1,""],roll_2d:[11,1,1,""],roll_sequence:[11,1,1,""],rot_and_roll:[11,1,1,""]},"sf_tools.image.quality":{e_error:[12,1,1,""],nmse:[12,1,1,""]},"sf_tools.image.shape":{Ellipticity:[13,2,1,""],ellipticity_atoms:[13,1,1,""],shape_project:[13,1,1,""]},"sf_tools.image.shape.Ellipticity":{_check_ellip_type:[13,3,1,""],_get_centroid:[13,3,1,""],_get_ellipse:[13,3,1,""],_get_moments:[13,3,1,""],_update_centroid:[13,3,1,""],_update_weights:[13,3,1,""],_update_xy:[13,3,1,""]},"sf_tools.image.stamp":{FetchStamps:[14,2,1,""],patch_centres:[14,1,1,""],pixel_pos:[14,1,1,""],postage_stamp:[14,1,1,""]},"sf_tools.image.stamp.FetchStamps":{_adjust_pixels:[14,3,1,""],_check_inputs:[14,3,1,""],_pad_data:[14,3,1,""],_stamp:[14,3,1,""],get_pixels:[14,3,1,""],n_pixels:[14,3,1,""],scan:[14,3,1,""]},"sf_tools.image.stats":{SAT:[15,2,1,""]},"sf_tools.image.stats.SAT":{get_area:[15,3,1,""],get_npx:[15,3,1,""],get_var:[15,3,1,""],set_patch:[15,3,1,""],set_patches:[15,3,1,""]},"sf_tools.interface":{errors:[17,0,0,"-"],log:[18,0,0,"-"]},"sf_tools.interface.errors":{catch_error:[17,1,1,""],file_name_error:[17,1,1,""],warn:[17,1,1,""]},"sf_tools.interface.log":{close_log:[18,1,1,""],set_up_log:[18,1,1,""]},"sf_tools.math":{angle:[20,0,0,"-"],integrate:[21,0,0,"-"],matrix:[22,0,0,"-"],misc:[23,0,0,"-"],stats:[24,0,0,"-"]},"sf_tools.math.angle":{ang_sep:[20,1,1,""],deg2rad:[20,1,1,""],rad2deg:[20,1,1,""]},"sf_tools.math.integrate":{integrate:[21,1,1,""],vintegrate:[21,1,1,""]},"sf_tools.math.matrix":{PowerMethod:[22,2,1,""],gram_schmidt:[22,1,1,""],nuclear_norm:[22,1,1,""],project:[22,1,1,""],rot_matrix:[22,1,1,""],rotate:[22,1,1,""]},"sf_tools.math.matrix.PowerMethod":{get_spec_rad:[22,3,1,""],set_initial_x:[22,3,1,""]},"sf_tools.math.misc":{factor:[23,1,1,""],fourier_derivative:[23,1,1,""],k_val:[23,1,1,""],mfactor:[23,1,1,""]},"sf_tools.math.stats":{chi2_gof:[24,1,1,""],gaussian:[24,1,1,""],gaussian_kernel:[24,1,1,""],mad:[24,1,1,""],mse:[24,1,1,""],psnr2:[24,1,1,""],psnr:[24,1,1,""],psnr_stack:[24,1,1,""],sigma_mad:[24,1,1,""]},"sf_tools.plot":{cost_plot:[26,0,0,"-"]},"sf_tools.plot.cost_plot":{plotCost:[26,1,1,""]},"sf_tools.signal":{cost:[28,0,0,"-"],filter:[29,0,0,"-"],gradient:[30,0,0,"-"],linear:[31,0,0,"-"],noise:[32,0,0,"-"],optimisation:[33,0,0,"-"],positivity:[34,0,0,"-"],proximity:[35,0,0,"-"],regression:[36,0,0,"-"],reweight:[37,0,0,"-"],svd:[38,0,0,"-"],validation:[39,0,0,"-"],wavelet:[40,0,0,"-"]},"sf_tools.signal.cost":{costObj:[28,2,1,""]},"sf_tools.signal.cost.costObj":{_check_cost:[28,3,1,""],get_cost:[28,3,1,""],plot_cost:[28,3,1,""]},"sf_tools.signal.filter":{Gaussian_filter:[29,1,1,""],mex_hat:[29,1,1,""],mex_hat_dir:[29,1,1,""]},"sf_tools.signal.gradient":{GradBasic:[30,2,1,""]},"sf_tools.signal.gradient.GradBasic":{MtMX:[30,3,1,""],get_grad:[30,3,1,""]},"sf_tools.signal.linear":{Identity:[31,2,1,""],LinearCombo:[31,2,1,""],Wavelet:[31,2,1,""]},"sf_tools.signal.linear.Identity":{adj_op:[31,3,1,""],op:[31,3,1,""]},"sf_tools.signal.linear.LinearCombo":{adj_op:[31,3,1,""],op:[31,3,1,""]},"sf_tools.signal.linear.Wavelet":{adj_op:[31,3,1,""],op:[31,3,1,""]},"sf_tools.signal.noise":{add_noise:[32,1,1,""],thresh:[32,1,1,""]},"sf_tools.signal.optimisation":{Condat:[33,2,1,""],FISTA:[33,2,1,""],ForwardBackward:[33,2,1,""],GenForwardBackward:[33,2,1,""]},"sf_tools.signal.optimisation.Condat":{iterate:[33,3,1,""],update:[33,3,1,""],update_param:[33,3,1,""]},"sf_tools.signal.optimisation.FISTA":{speed_switch:[33,3,1,""],speed_up:[33,3,1,""],update_lambda:[33,3,1,""]},"sf_tools.signal.optimisation.ForwardBackward":{iterate:[33,3,1,""],update:[33,3,1,""]},"sf_tools.signal.optimisation.GenForwardBackward":{iterate:[33,3,1,""],update:[33,3,1,""]},"sf_tools.signal.positivity":{positive:[34,1,1,""]},"sf_tools.signal.proximity":{LowRankMatrix:[35,2,1,""],Positive:[35,2,1,""],ProximityCombo:[35,2,1,""],SubIter:[35,2,1,""],Threshold:[35,2,1,""]},"sf_tools.signal.proximity.LowRankMatrix":{op:[35,3,1,""]},"sf_tools.signal.proximity.Positive":{op:[35,3,1,""]},"sf_tools.signal.proximity.ProximityCombo":{op:[35,3,1,""]},"sf_tools.signal.proximity.SubIter":{op:[35,3,1,""],update_u:[35,3,1,""],update_weights:[35,3,1,""]},"sf_tools.signal.proximity.Threshold":{op:[35,3,1,""]},"sf_tools.signal.regression":{fit_odr:[36,1,1,""],least_squares:[36,1,1,""],linear_fit:[36,1,1,""],polynomial:[36,1,1,""],polynomial_fit:[36,1,1,""],x_matrix:[36,1,1,""]},"sf_tools.signal.reweight":{cwbReweight:[37,2,1,""]},"sf_tools.signal.reweight.cwbReweight":{reweight:[37,3,1,""]},"sf_tools.signal.svd":{find_n_pc:[38,1,1,""],svd_thresh:[38,1,1,""],svd_thresh_coef:[38,1,1,""]},"sf_tools.signal.validation":{transpose_test:[39,1,1,""]},"sf_tools.signal.wavelet":{call_mr_transform:[40,1,1,""],filter_convolve:[40,1,1,""],filter_convolve_stack:[40,1,1,""],get_mr_filters:[40,1,1,""]},sf_tools:{"interface":[16,0,0,"-"],base:[5,0,0,"-"],image:[9,0,0,"-"],math:[19,0,0,"-"],plot:[25,0,0,"-"],signal:[27,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method"},terms:{"02332573e":32,"14374817e":32,"17022005e":32,"1e6":28,"2007n":9,"20324493e":32,"23385948e":32,"2x2":22,"3103c":9,"45560727e":32,"46755891e":32,"86260211e":32,"96767474e":32,"abstract":9,"boolean":[11,14],"catch":17,"class":[12,13,14,15,22,28,30,31,33,35,37,38],"default":[5,6,8,10,12,13,14,22,24,28,29,32,33,35,36,38,40],"final":26,"float":[8,12,15,20,21,22,23,24,28,29,32,33,35,37,38],"function":[1,5,6,12,14,21,23,24,26,28,33,34,36,39],"import":[6,8,12,13,20,32],"int":[6,8,11,13,14,15,22,23,24,28,33,36,38],"ngol\u00e9":9,"return":[6,7,8,10,11,12,13,14,15,18,20,21,22,23,24,28,29,30,31,32,33,34,35,36,38,40],"true":[18,22,28,29,33,40],For:[7,8,11,12,14,22,24,38],The:[1,10,11,13,14,24,28,33,36],Uses:10,_adjust_pixel:14,_check_cost:28,_check_ellip_typ:13,_check_input:14,_get_centroid:13,_get_ellips:13,_get_moment:13,_pad_data:14,_stamp:14,_update_centroid:13,_update_weight:13,_update_xi:13,about:22,abs:[9,27],absolut:24,accord:[14,28],action:30,activ:[18,33],add:[1,15,22,23,32,36],add_nois:32,added:[32,38],adding:32,addit:[21,31,35],additon:40,adj_op:[31,33],adjoint:[31,33],adjust:[5,6,14],after:35,algorithm:[27,30,33],algoritm:33,all:[6,8,10,14,31,34,35,38],also:[15,17],amount:6,amplitud:24,analys:[12,13],analysi:[1,4,9,15,27],analyt:36,ang_sep:20,angl:[4,19,22],angular:20,angular_dist:20,ani:[8,24],aplli:12,appendix:13,appli:[6,14,24,35],applic:[1,4,19,25,27],arang:[6,8,32],arbitrari:31,area:15,arg:[14,21,28],argument:[21,31,39],around:11,arrai:[6,7,8,10,11,13,14,15,22,24,30,31,32,34,35,36,37,38,40],array_shap:14,arrrai:22,articl:27,arxiv:[9,27],assess:12,astro:9,astropi:[1,10],astyp:[8,32],author:[1,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],auto:38,auto_iter:33,auto_run:22,automat:[22,33],b201112:27,b20114:[],b2011:33,backward:[27,33],baker:9,base:[1,2,4,9,11,12,13,14,22,28,30,31,33,35,37],basic:[5,18,24,30],bauschk:27,been:35,begin:33,best:36,between:[20,21,24],bin:6,blanklin:13,bm20070:[],bm20078:9,bm2007:13,bool:[10,13,14,22,28,29,33,40],both:22,bottom:15,boyd:[27,37],c20130:[],c20138:9,c2013:13,cacluat:13,calc_cost:28,calcualt:22,calcul:[10,13,15,20,22,24,28,30,33],call:[28,33,40],call_mr_transform:40,can:[1,24,31],cand:[27,37],catch_error:17,centr:14,centroid:[9,13],certain:6,cfm:9,chapter:27,check:[8,13,14,17,28],check_float:8,check_int:8,chi2_gof:24,chi:[13,24],citat:[15,22],classs:30,clone:1,close:18,close_log:18,coars:40,code:1,coeffici:[31,34,35,36,38],com:[1,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],combin:[31,35],combo:35,come:0,comibin:31,command:1,compon:[13,38],composit:27,comput:[12,22],con201312:27,con20134:[],con2013:33,condat:[27,33],constraint:33,contain:[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],content:2,converg:[22,28,33],convert:[8,20],convex:27,convolut:10,convolv:[4,9,31,40],convolve_fft:10,convolve_np:10,convolve_stack:10,corner:15,correct:6,correl:38,correspond:[24,36],cosmolog:29,cost:[4,26,27,33],cost_interv:28,cost_list:26,cost_plot:[4,25],costfunc:28,costobj:28,creat:17,criteria:33,cropper:9,cube2map:7,cube2matrix:7,cube:7,current:[13,28,33],custom:17,cwb200712:27,cwb20074:[],cwb2007:37,cwbreweight:37,data1:24,data2:24,data:[6,7,8,10,11,12,13,14,15,22,24,29,30,31,32,34,35,36,37,38,39,40],data_cub:7,data_exp:24,data_map:7,data_matrix:7,data_ob:24,data_shap:[11,14,22,24,35,40],date:[1,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],ddof:24,deafult:13,decim:11,decomposit:38,deconvolv:10,deconvolve_np:10,defin:[8,9,30,31,35,36],definit:21,defualt:13,deg2rad:20,deg:11,degre:[6,10,20,24,31,36],delta:24,depend:36,deriv:23,describ:37,desier:24,desir:[14,24],develop:[13,24],deviat:[15,24,29,32],differ:[10,28],dimens:[10,11,12,13,14,24,32],direct:[6,29],dispers:24,distanc:[9,29,36],distort:[4,9],distribut:24,doe:32,downsampl:11,dtype:8,dual:[27,33],dummi:31,e_error:12,each:[6,10,11,14,39],easy_instal:1,edg:14,effici:15,either:[10,33],element:[11,14,35],ellip_typ:13,ellipt:[12,13],ellipticity_atom:13,engin:27,enhanc:27,entri:38,epsilon:13,equat:[12,13,15,20,22,23,24,32,33,36],error:[4,12,13,16,24,36],estim:[13,24,35],even:11,exampl:[1,6,8,12,13,20,23,32,36],except:17,expect:24,experi:9,exponenti:13,express:9,extra:1,extra_factor:35,extract:11,factor:[11,23,35,37,38],fals:[10,13,14,40],fanci:6,fancy_transpos:6,farren:[1,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],fast:15,featur:15,fetch:14,fetchstamp:14,fft:10,fftconvolv:10,field:9,file:[17,18,26,28,40],file_nam:17,file_name_error:17,filenam:18,filter:[4,27,31,40],filter_convolv:40,filter_convolve_stack:40,filter_rot:40,find:[23,36,38],find_n_pc:38,first:[12,24,32],fista:33,fit:[24,36],fit_odr:36,fix:[10,27],follow:[1,12,13,20,24,32,33],forward:[27,33],forwardbackward:33,found:17,fourier:[23,27],fourier_deriv:23,fred:[12,13,30],freedom:[24,36],frequenc:23,from:[1,6,7,8,12,13,14,20,24,30,32,33,35,37],front:9,ftl:6,ftr:6,func:[14,21,23],funciton:6,functio:28,futur:1,galaxi:13,gauss:32,gaussian:[24,29,32],gaussian_filt:29,gaussian_kernel:24,gen_mask:11,gener:[11,13,27,28,33],genforwardbackward:33,get:[14,15,22,28,30,40],get_area:15,get_cost:28,get_grad:[30,33],get_mr_filt:40,get_npx:15,get_pixel:14,get_spec_rad:22,get_var:15,git:1,github:1,given:[7,10,13,14,21,22,23,36],gmail:[1,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],good:24,grad:33,gradbas:30,gradient:[4,27,33],gram:22,gram_schmidt:22,gravit:9,guess:33,hand:[8,17,18,20],handl:[8,16,17,20],hard:[32,35,38],hartman:9,has:21,hat:29,have:[10,33,35],hist:6,histogram:6,http:[1,9,10,20,24,27],ident:31,im_shap:7,imag:[1,2,4,7,24,31,40],image1:12,image2:12,image_shap:11,imga:24,implement:[12,13,20,21,22,24,29,32,33,35,37],ind:14,independ:36,individu:7,inhereit:33,inherit:30,initi:[22,28,33,35],initial_cost:28,initialis:[22,33],input:[6,7,8,10,11,12,13,14,15,17,20,22,24,28,29,30,31,32,33,34,35,36,38,39,40],instanc:[17,18,22,31,35,38],integ:38,integr:[4,19],interact:16,intercept:36,interfac:[1,2,4],interg:8,intermedi:33,interv:28,inv_spec_rad:33,invalid:[7,8,11,12,13,14,22,24,38],invers:[10,27,33],involv:27,ioerror:17,isap:40,itegr:15,iter:[9,13,22,28,33,35],its:13,journal:27,k_val:23,keep:[14,40],keren:24,kerenl:24,kernel:[10,11,14,24],kernel_pattern:11,kernel_shap:11,keyword:31,know:15,kwarg:[14,28,31,35],l1norm:33,lambda:33,lambda_init:33,lambda_upd:33,last:28,layout:[7,14],learn:9,least:[6,36],least_squar:36,left:[6,15,38],lens:9,level:32,lim_low:21,lim_up:21,limit:[21,23],line:36,linear:[4,27,33,36],linear_fit:36,linearcombo:31,link:27,lipschitzian:27,list:[8,11,13,14,15,22,26,31,32,33,34,35,36,40],log:[4,16,17],logger:18,low:35,lower:21,lowr_typ:35,lowrankmatrix:35,mad:24,make:26,map2cub:7,map2matrix:7,map:[7,14],map_shap:7,mask:11,match:[11,32],math:[1,2,4],mathemat:[19,23],matplotlib:1,matrix2cub:7,matrix2map:7,matrix:[4,6,7,11,13,14,19,30,36],max:24,max_it:[22,33],max_pix:24,maximum:[22,24,33],mean:[12,24,31],measur:29,median:24,messag:17,met:33,metho:14,method:[6,7,8,10,11,12,13,14,15,17,18,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40],metod:24,metric:[12,24],mex_hat:29,mex_hat_dir:29,mexican:29,mfactor:23,middl:23,minim:27,minimum:38,misc:[4,19],miscellan:23,mnra:9,moallem:9,modul:[1,2],moment:13,mr_transform:[31,40],mse:24,mtmx:30,multidimension:6,multipl:[11,15,35],must:[1,28,33],n_iter:13,n_pc:38,n_pixel:14,name:[17,18,26,28],nan2val:8,nan:8,ndarrai:[6,7,8,10,11,12,13,14,15,20,22,23,24,30,31,32,33,34,35,36,37,38,40],neg:34,ngole:[12,13,30,35],nmse:12,nois:[4,24,27,38],noise_ratio:24,noise_typ:32,noisi:24,noisy_imag:24,none:[10,11,13,14,17,24,26,28,31,33,35,38,39,40],norm:[22,24,29,33],normal:[10,31],normalis:[12,13,24,29],notat:33,note:[6,8,12,13,14,15,20,24,28,30,32,33,36,37],np_adjust:[4,5],ns20160:[],ns20168:9,ns2016:[12,13],nuclear:22,nuclear_norm:22,number:[10,13,14,15,22,23,24,28,32,33,36,38],numpi:[1,5,6,10,13,32,36],obj_var:10,object:[8,10,14,22,28,30,31,33,35,37],observ:24,obtain:40,odd:11,oder:23,odr:36,off:33,offset:13,one:[11,32],onli:[32,34,35],onto:22,oper:[5,22,23,31,33,34,35,38,39],operator_t:39,opt:40,optic:9,optim:[9,27,28],optimis:[4,27,31,35,37],option:[8,10,13,14,17,22,24,26,28,29,31,32,33,35,36,38,39,40],order:[1,23],org:[9,10,20,24,27],origin:12,orthogon:[22,36],orthonorm:22,osapublish:9,other:[24,39],otherwis:31,output:[5,6,7,8,26,28,40],packag:2,pad2d:6,pad:[6,11,14],paramat:33,paramet:[6,7,8,10,11,12,13,14,15,17,18,20,21,22,23,24,26,28,29,30,31,32,33,34,35,36,37,38,39,40],part:13,pass:39,patch:[14,15],patch_centr:14,path:40,pattern:11,peak:24,peak_sign:24,perfom:32,perform:[22,36,40],pip:1,pixel:[14,15,24],pixel_po:14,pixel_rad:14,place:33,plai:11,plot:[1,2,4,6,28],plot_cost:28,plot_output:28,plotcost:26,point1:20,point2:20,point:[8,20,24,27,29],poisson:32,polynomi:36,polynomial_fit:36,pos:14,posit:[4,13,14,15,20,27,33,35],postag:14,postage_stamp:14,power:22,powermethod:22,preserv:[34,35],primal:[27,33],princip:38,print:17,problem:27,process:[1,4,27],produc:[15,22,24],product:27,project:[13,22],properti:[11,33,39],provid:[10,17,31,33],prox:33,prox_dual:33,prox_list:33,proxim:[4,27,33],proximitycombo:35,pseudo:10,pseudo_invers:10,psf:[9,10],psf_convolv:10,psf_rot:10,psf_type:10,psnr2:24,psnr:24,psnr_stack:24,python:[1,4],q00:13,q01:13,q10:13,q11:13,quadrupol:13,qualiti:[4,9],r201212:27,r20124:[],r2012:33,rad2deg:20,radian:20,radii:11,radiu:[11,14,22,33],raguet:27,rais:[7,8,10,11,12,13,14,17,22,24,32,36,38],randint:32,random:[14,22,32],ranf:32,rang:[6,23],rank:35,rather:11,ratio:24,reach:33,rearang:[11,14],rearrang:11,rearrange_kernel:11,reconstruct:[12,33],recov:24,recoverd_imag:24,recovered_imag:24,refer:[9,27],regress:[4,27],relax:33,remov:[32,40],remove_fil:40,rental:27,repit:11,replac:8,repositori:1,requir:38,reshap:[6,32],resiz:11,resize_even_imag:11,respect:6,result:[10,12,14,21,24,28,30,31,35,40],retain:34,retriev:14,return_norm:13,return_opt:22,reweight:[4,27],rho:33,rho_upd:33,ricker:29,right:[6,15],roll:[6,11],roll_2d:11,roll_rad:11,roll_sequ:11,rot90:6,rot_and_rol:11,rot_kernel:10,rot_matrix:22,rotat:[6,10,11,22,31,40],rotate_stack:6,routin:[5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,32,36,38,39],row:22,run:1,s10957:27,s20050:[],s20058:9,s2005:13,s2010:24,s21:8,same:10,samuel:[1,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],sat:15,save:17,scale:[29,40],scan:14,scheme:37,schmit:22,schneider:9,scienc:27,scipi:[1,10],sec:12,second:[12,24],section:37,see:[20,39],seed:32,select:14,sensor:9,separ:20,sequenc:11,seri:[1,4,11],set:[6,15,18,22,24,33,34],set_initial_x:22,set_patch:15,set_up_log:18,setup:2,sfarren:1,shack:9,shape:[4,7,9,11,14,22,24,35,39,40],shape_project:13,siam:27,sigma:[13,24,29,32,33],sigma_mad:24,sigma_upd:33,signa:24,signal:[1,2,4,10,24],simpli:11,singl:[10,15],singular:[35,38],size:[11,13,14,24],slope:36,soft:[32,35,38],some:[12,13],soon:0,sourc:[6,7,8,10,11,12,13,14,15,17,18,20,21,22,23,24,26,28,29,30,31,32,33,34,35,36,37,38,39,40],space:9,sparsiti:27,spatial:23,specif:30,specifi:[7,8,14,17,21,23,24,28,38],spectral:[22,33],speed:33,speed_switch:33,speed_up:33,split:27,springer:27,squar:[12,24,36],stack:[6,10,12,14,24,40],stamp:[4,9],standard:[15,24,29,32,33,35],standevi:24,starck:9,stat:[4,9,19],statist:[1,4,15,24],step:[6,30,33],str:[8,10,13,17,18,22,24,26,28,31,32,35,38,40],straight:36,stright:36,string:[8,17,38],structur:17,sub:35,subit:35,submodul:[2,4],subpackag:[1,2],sum:[15,24,31],svd:[4,27,35],svd_thresh:38,svd_thresh_coef:38,swicth:33,tabl:15,tau:33,tau_upd:33,techniqu:13,term:27,termcolor:1,termin:17,test:[1,24,28,38,39],test_rang:28,than:11,thei:39,them:17,theori:27,thi:[1,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],thresh:[32,35],thresh_factor:37,thresh_typ:[35,38],threshold:[22,28,32,35,37,38],threshold_typ:[32,38],toler:[22,28],tool:4,trace:22,transform:[4,5,31,40],transport:9,transpos:[6,30,39],transpose_test:39,treshold_typ:35,trigonometri:20,tupl:[6,7,8,11,13,14,15,20,22,24,32,34,35,36,39,40],turn:33,turn_on:33,two:[12,20,24,32,39],type:[4,5,6,7,10,11,12,13,14,15,18,20,21,22,23,24,28,29,30,31,32,34,35,36,38,40],u_init:35,unchang:31,under:24,until:33,updat:[13,28,33,35],update_lambda:33,update_param:33,update_u:35,update_weight:35,upon:[22,33],upper:[15,21],uri:9,use:33,use_fista:33,used:[10,24,28,31,33],using:[1,10,13,28,36,38,40],val2float:8,val2int:8,val2str:8,val:[6,8],valid:[4,17,27],valu:[6,8,12,13,14,22,23,24,26,28,30,32,33,35,36,38],valueerror:[7,8,10,11,12,13,14,22,24,32,36,38],variabl:[14,33,36],varianc:15,variant:10,variou:23,vector:[11,22,36,38],vectoris:21,verbos:[18,28],version:[1,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],via:36,vintegr:21,wakin:[27,37],warn:17,warn_str:17,wave:9,wavelet:[4,27,29,31],wavelet_opt:31,weak:9,weight:[9,10,13,31,33,35,37],which:21,whole:23,wiki:[20,24],wikipedia:[20,24],without:8,work:[12,13,30],www:[9,10],x_arg:39,x_bin:6,x_bins_step:6,x_err:36,x_matrix:36,x_new:33,x_old:33,x_prox:33,x_shape:39,x_temp:33,xerr:36,y_arg:39,y_err:36,y_shape:39,yerr:36,yinghao:30,zero:[6,11,13,14,32,34]},titles:["1. sf_tools Examples","SF_TOOLS Documentation","sf_tools","setup module","2. sf_tools package","2.1.1. sf_tools.base package","2.1.1.1.1. sf_tools.base.np_adjust module","2.1.1.1.2. sf_tools.base.transform module","2.1.1.1.3. sf_tools.base.types module","2.1.2. sf_tools.image package","2.1.2.1.1. sf_tools.image.convolve module","2.1.2.1.2. sf_tools.image.distort module","2.1.2.1.3. sf_tools.image.quality module","2.1.2.1.4. sf_tools.image.shape module","2.1.2.1.5. sf_tools.image.stamp module","2.1.2.1.6. sf_tools.image.stats module","2.1.3. sf_tools.interface package","2.1.3.1.1. sf_tools.interface.errors module","2.1.3.1.2. sf_tools.interface.log module","2.1.4. sf_tools.math package","2.1.4.1.1. sf_tools.math.angle module","2.1.4.1.2. sf_tools.math.integrate module","2.1.4.1.3. sf_tools.math.matrix module","2.1.4.1.4. sf_tools.math.misc module","2.1.4.1.5. sf_tools.math.stats module","2.1.5. sf_tools.plot package","2.1.5.1.1. sf_tools.plot.cost_plot module","2.1.6. sf_tools.signal package","2.1.6.1.1. sf_tools.signal.cost module","2.1.6.1.2. sf_tools.signal.filter module","2.1.6.1.3. sf_tools.signal.gradient module","2.1.6.1.4. sf_tools.signal.linear module","2.1.6.1.5. sf_tools.signal.noise module","2.1.6.1.6. sf_tools.signal.optimisation module","2.1.6.1.7. sf_tools.signal.positivity module","2.1.6.1.8. sf_tools.signal.proximity module","2.1.6.1.9. sf_tools.signal.regression module","2.1.6.1.10. sf_tools.signal.reweight module","2.1.6.1.11. sf_tools.signal.svd module","2.1.6.1.12. sf_tools.signal.validation module","2.1.6.1.13. sf_tools.signal.wavelet module"],titleterms:{angl:20,base:[5,6,7,8],content:[1,4,5,9,16,19,25,27],convolv:10,cost:28,cost_plot:26,depend:1,distort:11,document:1,error:17,exampl:0,filter:29,gradient:30,imag:[9,10,11,12,13,14,15],instal:1,integr:21,interfac:[16,17,18],linear:31,log:18,math:[19,20,21,22,23,24],matrix:22,misc:23,modul:[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],nois:32,np_adjust:6,optimis:33,option:1,packag:[1,4,5,9,16,19,25,27],plot:[25,26],posit:34,proxim:35,qualiti:12,regress:36,requir:1,reweight:37,setup:3,sf_tool:[0,1,2,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],shape:13,signal:[27,28,29,30,31,32,33,34,35,36,37,38,39,40],stamp:14,stat:[15,24],submodul:[5,9,16,19,25,27],subpackag:4,svd:38,todo:[15,22,23,36],transform:7,type:8,valid:39,wavelet:40}}) \ No newline at end of file diff --git a/docs/build/html/setup.html b/docs/build/html/setup.html deleted file mode 100644 index b5d2779..0000000 --- a/docs/build/html/setup.html +++ /dev/null @@ -1,238 +0,0 @@ - - - - - - - - - - - setup module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    setup module

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

    - © Copyright 2017, Samuel Farrens. - -

    -
    - Built with Sphinx using a theme provided by Read the Docs. - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.base.html b/docs/build/html/sf_tools.base.html deleted file mode 100644 index ed939dd..0000000 --- a/docs/build/html/sf_tools.base.html +++ /dev/null @@ -1,280 +0,0 @@ - - - - - - - - - - - 2.1.1. sf_tools.base package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.1. sf_tools.base package

    - -
    -

    2.1.1.2. Module contents

    -

    BASE ROUTINES

    -

    This module contains submodules for basic operations such as type -transformations and adjustments to the default output of Numpy functions.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:25/10/2017
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.base.np_adjust.html b/docs/build/html/sf_tools.base.np_adjust.html deleted file mode 100644 index 5367de0..0000000 --- a/docs/build/html/sf_tools.base.np_adjust.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - - - - 2.1.1.1.1. sf_tools.base.np_adjust module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.1.1.1. sf_tools.base.np_adjust module

    -

    NUMPY ADJUSTMENT ROUTINES

    -

    This module contains methods for adjusting the default output for certain -Numpy functions.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:03/04/2017
    -
    -
    -sf_tools.base.np_adjust.rotate(data)[source]
    -

    Rotate

    -

    This method rotates an input numpy array by 180 degrees.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array (at least 2D)
    Returns:
    Return type:np.ndarray rotated data
    -

    Notes

    -

    Adjustment to numpy.rot90()

    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import rotate
    ->>> x = np.arange(9).reshape((3, 3))
    ->>> x
    -array([[0, 1, 2],
    -       [3, 4, 5],
    -       [6, 7, 8]])
    ->>> rotate(x)
    -array([[8, 7, 6],
    -       [5, 4, 3],
    -       [2, 1, 0]])
    -
    -
    -
    - -
    -
    -sf_tools.base.np_adjust.rotate_stack(data)[source]
    -

    Rotate stack

    -

    This method rotates each array in a stack of arrays by 180 degrees.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array (at least 3D)
    Returns:
    Return type:np.ndarray rotated data
    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import rotate_stack
    ->>> x = np.arange(18).reshape((2, 3, 3))
    ->>> x
    -array([[[ 0,  1,  2],
    -        [ 3,  4,  5],
    -        [ 6,  7,  8]],
    -       [[ 9, 10, 11],
    -        [12, 13, 14],
    -        [15, 16, 17
    ->>> rotate_stack(x)
    -array([[[ 8,  7,  6],
    -        [ 5,  4,  3],
    -        [ 2,  1,  0]],
    -       [[17, 16, 15],
    -        [14, 13, 12],
    -        [11, 10,  9]]])
    -
    -
    -
    - -
    -
    -sf_tools.base.np_adjust.pad2d(data, padding)[source]
    -

    Pad array

    -

    This method pads an input numpy array with zeros in all directions.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array (at least 2D)
    • -
    • padding (int, tuple) – Amount of padding in x and y directions, respectively
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray padded data

    -
    -

    Notes

    -

    Adjustment to numpy.pad()

    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import pad2d
    ->>> x = np.arange(9).reshape((3, 3))
    ->>> x
    -array([[0, 1, 2],
    -       [3, 4, 5],
    -       [6, 7, 8]])
    ->>> pad2d(x, (1, 1))
    -array([[0, 0, 0, 0, 0],
    -       [0, 0, 1, 2, 0],
    -       [0, 3, 4, 5, 0],
    -       [0, 6, 7, 8, 0],
    -       [0, 0, 0, 0, 0]])
    -
    -
    -
    - -
    -
    -sf_tools.base.np_adjust.x_bins(vals)[source]
    -

    X-range bins

    -

    This method sets the bin values for a histogram.

    - --- - - - - - - - -
    Parameters:vals (np.ndarray) – X-range bins from np.histogram()[1]
    Returns:
    Return type:np.ndarray corrected x-range bin data
    -

    Notes

    -

    Adjustment to numpy.histogram()

    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import x_bins
    ->>> data = np.array([1, 2, 1, 3, 1, 1])
    ->>> hist, bins = np.histogram(data)
    ->>> hist
    -array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1])
    ->>> bins
    -array([ 1. ,  1.2,  1.4,  1.6,  1.8,  2. ,  2.2,  2.4,  2.6,  2.8,  3. ])
    ->>> x_bins(bins)
    -array([ 1.1,  1.3,  1.5,  1.7,  1.9,  2.1,  2.3,  2.5,  2.7,  2.9])
    -
    -
    -
    - -
    -
    -sf_tools.base.np_adjust.x_bins_step(vals)[source]
    -

    X-range bins (step function)

    -

    This method sets the bin values for a histogram plotted as a step funciton.

    - --- - - - - - - - -
    Parameters:vals (np.ndarray) – X-range bins from np.histogram()[1]
    Returns:
    Return type:np.ndarray corrected x-range bin data
    -

    Notes

    -

    Adjustment to numpy.histogram()

    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import x_bins
    ->>> data = np.array([1, 2, 1, 3, 1, 1])
    ->>> hist, bins = np.histogram(data)
    ->>> hist
    -array([4, 0, 0, 0, 0, 1, 0, 0, 0, 1])
    ->>> bins
    -array([ 1. ,  1.2,  1.4,  1.6,  1.8,  2. ,  2.2,  2.4,  2.6,  2.8,  3. ])
    ->>> x_bins_step(bins)
    -array([ 1.2,  1.4,  1.6,  1.8,  2. ,  2.2,  2.4,  2.6,  2.8,  3. ])
    -
    -
    -
    - -
    -
    -sf_tools.base.np_adjust.ftr(data)[source]
    -

    Fancy transpose right

    -

    Apply fancy_transpose() to data with roll=1

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray transposed data
    -
    - -
    -
    -sf_tools.base.np_adjust.ftl(data)[source]
    -

    Fancy transpose left

    -

    Apply fancy_transpose() to data with roll=-1

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray transposed data
    -
    - -
    -
    -sf_tools.base.np_adjust.fancy_transpose(data, roll=1)[source]
    -

    Fancy transpose

    -

    This method transposes a multidimensional matrix.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • roll (int) – Roll direction and amount. Default (roll=1)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray transposed data

    -
    -

    Notes

    -

    Adjustment to numpy.transpose

    -

    Examples

    -
    >>> from sf_tools.base.np_adjust import fancy_transpose
    ->>> x = np.arange(27).reshape(3, 3, 3)
    ->>> x
    -array([[[ 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]]])
    ->>> fancy_transpose(x)
    -array([[[ 0,  3,  6],
    -        [ 9, 12, 15],
    -        [18, 21, 24]],
    -       [[ 1,  4,  7],
    -        [10, 13, 16],
    -        [19, 22, 25]],
    -       [[ 2,  5,  8],
    -        [11, 14, 17],
    -        [20, 23, 26]]])
    ->>> fancy_transpose(x, roll=-1)
    -array([[[ 0,  9, 18],
    -        [ 1, 10, 19],
    -        [ 2, 11, 20]],
    -       [[ 3, 12, 21],
    -        [ 4, 13, 22],
    -        [ 5, 14, 23]],
    -       [[ 6, 15, 24],
    -        [ 7, 16, 25],
    -        [ 8, 17, 26]]])
    -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.base.transform.html b/docs/build/html/sf_tools.base.transform.html deleted file mode 100644 index 6ab8180..0000000 --- a/docs/build/html/sf_tools.base.transform.html +++ /dev/null @@ -1,426 +0,0 @@ - - - - - - - - - - - 2.1.1.1.2. sf_tools.base.transform module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.1.1.2. sf_tools.base.transform module

    -

    DATA TRANSFORM ROUTINES

    -

    This module contains methods for transforming data.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.base.transform.cube2map(data_cube, layout)[source]
    -

    Cube to Map

    -

    This method transforms the input data from a 3D cube to a 2D map with a -specified layout

    - --- - - - - - - - - - -
    Parameters:
      -
    • data_cube (np.ndarray) – Input data cube, 3D array of 2D images
    • -
    • Layout (tuple) – 2D layout of 2D images
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 2D map

    -
    Raises:

    ValueError – For invalid layout

    -
    -
    - -
    -
    -sf_tools.base.transform.map2cube(data_map, layout)[source]
    -

    Map to cube

    -

    This method transforms the input data from a 2D map with given layout to -a 3D cube

    - --- - - - - - - - - - -
    Parameters:
      -
    • data_map (np.ndarray) – Input data map, 2D array
    • -
    • layout (tuple) – 2D layout of 2D images
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 3D cube

    -
    Raises:

    ValueError – For invalid layout

    -
    -
    - -
    -
    -sf_tools.base.transform.map2matrix(data_map, layout)[source]
    -

    Map to Matrix

    -

    This method transforms a 2D map to a 2D matrix

    - --- - - - - - - - - - -
    Parameters:
      -
    • data_map (np.ndarray) – Input data map, 2D array
    • -
    • layout (tuple) – 2D layout of 2D images
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 2D matrix

    -
    Raises:

    ValueError – For invalid layout

    -
    -
    - -
    -
    -sf_tools.base.transform.matrix2map(data_matrix, map_shape)[source]
    -

    Matrix to Map

    -

    This method transforms a 2D matrix to a 2D map

    - --- - - - - - - - - - -
    Parameters:
      -
    • data_matrix (np.ndarray) – Input data matrix, 2D array
    • -
    • map_shape (tuple) – 2D shape of the output map
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 2D map

    -
    Raises:

    ValueError – For invalid layout

    -
    -
    - -
    -
    -sf_tools.base.transform.cube2matrix(data_cube)[source]
    -

    Cube to Matrix

    -

    This method transforms a 3D cube to a 2D matrix

    - --- - - - - - - - -
    Parameters:data_cube (np.ndarray) – Input data cube, 3D array
    Returns:
    Return type:np.ndarray 2D matrix
    -
    - -
    -
    -sf_tools.base.transform.matrix2cube(data_matrix, im_shape)[source]
    -

    Matrix to Cube

    -

    This method transforms a 2D matrix to a 3D cube

    - --- - - - - - - - -
    Parameters:
      -
    • data_matrix (np.ndarray) – Input data cube, 2D array
    • -
    • im_shape (tuple) – 2D shape of the individual images
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 3D cube

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.base.types.html b/docs/build/html/sf_tools.base.types.html deleted file mode 100644 index 086191c..0000000 --- a/docs/build/html/sf_tools.base.types.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - - - - - - - - 2.1.1.1.3. sf_tools.base.types module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.1.1.3. sf_tools.base.types module

    -

    TYPE HANDLING ROUTINES

    -

    This module contains methods for handing object types.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:04/04/2017
    -
    -
    -sf_tools.base.types.check_float(val)[source]
    -

    Check if input value is a float or a np.ndarray of floats, if not -convert.

    - --- - - - - - - - -
    Parameters:val (any) – Input value
    Returns:
    Return type:float or np.ndarray of floats
    -
    - -
    -
    -sf_tools.base.types.check_int(val)[source]
    -

    Check if input value is an int or a np.ndarray of ints, if not convert.

    - --- - - - - - - - -
    Parameters:val (any) – Input value
    Returns:
    Return type:int or np.ndarray of ints
    -
    - -
    -
    -sf_tools.base.types.val2int(val)[source]
    -

    Convert to int

    -

    This method checks if input value is an int and if not converts it.

    - --- - - - - - - - - - -
    Parameters:val (int, float, str, list, tuple or np.ndarray) – Input value
    Returns:
    Return type:int interger value or np.ndarray array of ints
    Raises:ValueError – For invalid input type
    -

    Examples

    -
    >>> from sf_tools.base.types import val2int
    ->>> x = np.arange(5).astype(float)
    ->>> x
    -array([ 0.,  1.,  2.,  3.,  4.])
    ->>> val2int(x)
    -array([0, 1, 2, 3, 4])
    -
    -
    -
    - -
    -
    -sf_tools.base.types.val2float(val)[source]
    -

    Convert to float

    -

    This method checks if input value is a float and if not converts it.

    - --- - - - - - - - -
    Parameters:val (int, float, str, list, tuple or np.ndarray) – Input value
    Returns:
    Return type:float floating point value or np.ndarray array of floats
    -

    Examples

    -
    >>> from sf_tools.base.types import val2float
    ->>> x = np.arange(5)
    ->>> x
    -array([0, 1, 2, 3, 4])
    ->>> val2float(x)
    -array([ 0.,  1.,  2.,  3.,  4.])
    -
    -
    -
    - -
    -
    -sf_tools.base.types.val2str(val)[source]
    -

    Convert to string

    -

    This method checks if input value is a string and if not converts it.

    - --- - - - - - - - -
    Parameters:val (int, float, str, list, tuple or np.ndarray) – Input value
    Returns:
    Return type:str string or np.ndarray array of strings
    -

    Examples

    -
    >>> from sf_tools.base.types import val2str
    ->>> x = np.arange(5)
    ->>> x
    -array([0, 1, 2, 3, 4])
    ->>> val2str(x)
    -array(['0', '1', '2', '3', '4'],
    -      dtype='|S21')
    -
    -
    -
    - -
    -
    -sf_tools.base.types.nan2val(array, val=0.0)[source]
    -

    Convert NAN to val

    -

    This converts all NANs in an array to a specified value.

    - --- - - - - - - - -
    Parameters:
      -
    • array (np.ndarray, list or tuple) – Input array
    • -
    • val (int or float, optional) – Value to replace NANs. Default (val=0.0)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray array without NANs

    -
    -

    Notes

    -

    Output data type defined by val type.

    -

    Examples

    -
    >>> from sf_tools.base.types import nan2val
    ->>> x = [1., 2., np.nan, 4.]
    ->>> x
    -[1.0, 2.0, nan, 4.0]
    ->>> nan2val(x, 3.)
    -array([ 1.,  2.,  3.,  4.])
    -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.html b/docs/build/html/sf_tools.html deleted file mode 100644 index d142171..0000000 --- a/docs/build/html/sf_tools.html +++ /dev/null @@ -1,346 +0,0 @@ - - - - - - - - - - - 2. sf_tools package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2. sf_tools package

    -
    -

    2.1. Subpackages

    -
    - -
    -
    -
    -

    2.2. Module contents

    -

    SF-TOOLS PACKAGE

    -

    SF_TOOLS is a series of Python modules with applications to image analysis, -signal processing and statistics.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0.1
    Date:25/10/2017
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.convolve.html b/docs/build/html/sf_tools.image.convolve.html deleted file mode 100644 index c09ae8a..0000000 --- a/docs/build/html/sf_tools.image.convolve.html +++ /dev/null @@ -1,454 +0,0 @@ - - - - - - - - - - - 2.1.2.1.1. sf_tools.image.convolve module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.1. sf_tools.image.convolve module

    -

    CONVOLUTION ROUTINES

    -

    This module contains methods for convolution.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:23/10/2017
    -
    -
    -sf_tools.image.convolve.convolve_np(image, kernel)[source]
    -

    Convolve with Numpy FFT

    -

    This method convolves the input image with the input kernel

    - --- - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – 2D image array
    • -
    • kernel (np.ndarray) – 2D kernel array
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 2D convolved image array

    -
    -
    - -
    -
    -sf_tools.image.convolve.deconvolve_np(image, kernel)[source]
    -

    Deconvolve with Numpy FFT

    -

    This method deconvolves the input image with the input kernel

    - --- - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – 2D image array
    • -
    • kernel (np.ndarray) – 2D kernel array
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 2D deconvolved image array

    -
    -
    - -
    -
    -sf_tools.image.convolve.convolve(data, kernel, method='astropy')[source]
    -

    Convolve data with kernel

    -

    This method convolves the input data with a given kernel using FFT and -is the default convolution used for all routines

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, normally a 2D image
    • -
    • kernel (np.ndarray) – Input kernel array, normally a 2D kernel
    • -
    • method (str {'astropy', 'scipy'}, optional) –

      Convolution method (default is ‘astropy’)

      -
      -
      ’astropy’:
      -
      Uses the astropy.convolution.convolve_fft method provided in -Astropy (http://www.astropy.org/)
      -
      ’scipy’:
      -
      Uses the scipy.signal.fftconvolve method provided in SciPy -(https://www.scipy.org/)
      -
      -
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray convolved data

    -
    Raises:
      -
    • ValueError – If data and kernel do not have the same number of dimensions
    • -
    • ValueError – If method is not ‘astropy’ or ‘scipy’
    • -
    -
    -
    - -
    -
    -sf_tools.image.convolve.convolve_stack(data, kernel, rot_kernel=False, method='astropy')[source]
    -

    Convolve stack of data with stack of kernels

    -

    This method convolves the input data with a given kernel using FFT and -is the default convolution used for all routines

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, normally a 2D image
    • -
    • kernel (np.ndarray) – Input kernel array, normally a 2D kernel
    • -
    • rot_kernel (bool) – Option to rotate kernels by 180 degrees
    • -
    • method (str {'astropy', 'scipy'}, optional) – Convolution method (default is ‘astropy’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray convolved data

    -
    -
    - -
    -
    -sf_tools.image.convolve.psf_convolve(data, psf, psf_rot=False, psf_type='fixed', method='astropy')[source]
    -

    Convolve data with PSF

    -

    This method convolves an image with a PSF

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, normally an array of 2D images
    • -
    • psf (np.ndarray) – Input PSF array, normally either a single 2D PSF or an array of 2D -PSFs
    • -
    • psf_rot (bool) – Option to rotate PSF by 180 degrees
    • -
    • psf_type (str {'fixed', 'obj_var'}, optional) – PSF type (default is ‘fixed’)
    • -
    • method (str {'astropy', 'scipy'}, optional) –

      Convolution method (default is ‘astropy’)

      -
      -
      ’fixed’:
      -
      The PSF is fixed, i.e. it is the same for each image
      -
      ’obj_var’:
      -
      The PSF is object variant, i.e. it is different for each image
      -
      -
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray convolved data

    -
    Raises:

    ValueError – If psf_type is not ‘fixed’ or ‘obj_var’

    -
    -
    - -
    -
    -sf_tools.image.convolve.pseudo_inverse(image, kernel, weight=None)[source]
    -

    Pseudo inverse

    -

    This method calculates the pseudo inverse of the input image for the given -kernel using FFT

    - --- - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – Input image, 2D array
    • -
    • kernel (np.ndarray) – Input kernel, 2D array
    • -
    • weight (np.ndarray, optional) – Optional weights, 2D array
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray result of the pseudo inverse

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.distort.html b/docs/build/html/sf_tools.image.distort.html deleted file mode 100644 index 746cf34..0000000 --- a/docs/build/html/sf_tools.image.distort.html +++ /dev/null @@ -1,456 +0,0 @@ - - - - - - - - - - - 2.1.2.1.2. sf_tools.image.distort module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.2. sf_tools.image.distort module

    -

    IMAGE DISTORTION ROUTINES

    -

    This module contains methods for playing around with image properties.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:20/10/2017
    -
    -
    -sf_tools.image.distort.downsample(image, factor)[source]
    -

    Downsample

    -

    This method downsamples (decimates) an image.

    - --- - - - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – Input image array
    • -
    • factor (int) – Downsampling factor
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray downsampled image array

    -
    Raises:

    ValueError – For invalid downsampling factor

    -
    -
    - -
    -
    -sf_tools.image.distort.resize_even_image(image)[source]
    -

    Resize even image

    -

    This method returns an image with odd dimensions.

    - --- - - - - - - - -
    Parameters:image (np.ndarray) – Input image array
    Returns:
    Return type:np.ndarray resized image array
    -
    - -
    -
    -sf_tools.image.distort.roll_2d(data, roll_rad=(1, 1))[source]
    -

    Roll in 2D

    -

    This method rolls an array in 2 dimensions.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input 2D data array
    • -
    • roll_rad (tuple) – Roll radius in each dimension
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray rolled array

    -
    -
    - -
    -
    -sf_tools.image.distort.rot_and_roll(data)[source]
    -

    Rotate and roll

    -

    This method rotates (by 180 deg) and rolls a 2D array.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input 2D data array
    Returns:
    Return type:np.ndarray rotated and rolled array
    -
    - -
    -
    -sf_tools.image.distort.gen_mask(kernel_shape, image_shape)[source]
    -

    Generate mask

    -

    This method generates an image mask.

    - --- - - - - - - - -
    Parameters:
      -
    • kernel_shape (tuple) – Shape of kernel
    • -
    • image_shape (tuple) – Shape of image
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray boolean mask

    -
    -
    - -
    -
    -sf_tools.image.distort.roll_sequence(data_shape)[source]
    -

    Roll sequence

    -

    This method generates the roll sequence for a 2D array.

    - --- - - - - - - - -
    Parameters:data_shape (tuple) – Shape of data
    Returns:
    Return type:list of roll radii
    -
    - -
    -
    -sf_tools.image.distort.kernel_pattern(kernel_shape, mask)[source]
    -

    Kernel pattern

    -

    This method generates the kernel pattern. Rather than padding the kernel -with zeroes to match the image size one simply extracts the series of -repitions of the base kernel patterns.

    - --- - - - - - - - -
    Parameters:
      -
    • kernel_shape (tuple) – Shape of kernel
    • -
    • mask (np.ndarray) – Boolean mask
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray kernel pattern

    -
    -
    - -
    -
    -sf_tools.image.distort.rearrange_kernel(kernel, data_shape=None)[source]
    -

    Rearrange kernel

    -

    This method rearanges the input kernel elements for vector multiplication. -The input kernel is padded with zeroes to match the image size.

    - --- - - - - - - - -
    Parameters:
      -
    • kernel (np.ndarray) – Input kernel array
    • -
    • data_shape (tuple) – Shape of the data
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray rearanged matrix of kernel elements

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.html b/docs/build/html/sf_tools.image.html deleted file mode 100644 index 5c71cb9..0000000 --- a/docs/build/html/sf_tools.image.html +++ /dev/null @@ -1,312 +0,0 @@ - - - - - - - - - - - 2.1.2. sf_tools.image package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2. sf_tools.image package

    - -
    -

    2.1.2.2. Module contents

    -

    IMAGE ROUTINES

    -

    This module contains submodules for image analysis.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:06/04/2017
    -

    References

    - - - - - -
    [C20138]Cropper et al., Defining a Weak Lensing Experiment in Space, 2013, -MNRAS, 431, 3103C. [https://arxiv.org/abs/1210.7691]
    - - - - - -
    [BM20078]Baker and Moallem, Iteratively weighted centroiding for -Shack-Hartman wave-front sensors, 2007n, Optics Express, 15, 8, 5147. -[https://www.osapublishing.org/oe/abstract.cfm?uri=oe-15-8-5147]
    - - - - - -
    [NS20168]Ngolé and Starck, PSFs field learning based on Optimal Transport -distances, 2016,
    - - - - - -
    [S20058]Schneider, Weak Gravitational Lensing, 2005, arXiv. -[https://arxiv.org/abs/astro-ph/0509252]
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.quality.html b/docs/build/html/sf_tools.image.quality.html deleted file mode 100644 index da86cda..0000000 --- a/docs/build/html/sf_tools.image.quality.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - - - - - - 2.1.2.1.3. sf_tools.image.quality module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.3. sf_tools.image.quality module

    -

    QUALITY ASSESSMENT ROUTINES

    -

    This module contains methods and classes for assessing the quality of image -reconstructions.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -

    Notes

    -

    Some of the methods in this module are based on work by Fred Ngole.

    -
    -
    -sf_tools.image.quality.nmse(image1, image2, metric=<function mean>)[source]
    -

    Normalised Mean Square Error

    -

    This method computes the NMSE of two input images, or the result of the -input metric on a stack of input images.

    - --- - - - - - - - - - -
    Parameters:
      -
    • image1 (np.ndarray) – First image (or stack of images) to be analysed (original image)
    • -
    • image2 (np.ndarray) – Second image (or stack of images) to be analysed (reconstructed image)
    • -
    • metric (function) – Metric to be apllied to NMSE results (default is ‘np.mean’)
    • -
    -
    Returns:

    -
    Return type:

    float NMSE value or metric value(s)

    -
    Raises:

    ValueError – For invalid input data dimensions

    -
    -
    -

    See also

    -
    -
    e_error()
    -
    ellipticity error
    -
    -
    -

    Notes

    -

    This method implements the following equation:

    -
    -
      -
    • Equations from [NS2016] sec 4.1:
    • -
    -
    -\[\text{NMSE} = \frac{1}{D}\sum_{i=1}^D - \frac{\|\hat{\text{Im}}_i - \text{Im}_i\|_2^2} - {\|\text{Im}_i\|_2^2}\]
    -
    -

    Examples

    -
    >>> from image.quality import nmse
    -
    -
    -
    - -
    -
    -sf_tools.image.quality.e_error(image1, image2, metric=<function mean>)[source]
    -

    Normalised Mean Square Error

    -

    This method computes the ellipticity error of two input images, or the -result of the input metric on the ellipticity values.

    - --- - - - - - - - - - -
    Parameters:
      -
    • image1 (np.ndarray) – First image to be analysed (original image)
    • -
    • image2 (np.ndarray) – Second image to be analysed (reconstructed image)
    • -
    • metric (function) – Metric to be apllied to ellipticity error results (default is -‘np.mean’)
    • -
    -
    Returns:

    -
    Return type:

    float ellipticity error value or metric value(s)

    -
    Raises:

    ValueError – For invalid input data dimensions

    -
    -
    -

    See also

    -
    -
    nmse()
    -
    nmse error
    -
    -
    -

    Notes

    -

    This method implements the following equation:

    -
    -
      -
    • Equations from [NS2016] sec 4.1:
    • -
    -
    -\[\text{E}_\gamma = \frac{1}{D}\sum_{i=1}^D - \|\gamma(\text{Im}_i) - \gamma(\hat{\text{Im}}_i)\|_2\]
    -
    -

    Examples

    -
    >>> from image.quality import e_error
    -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.shape.html b/docs/build/html/sf_tools.image.shape.html deleted file mode 100644 index dd4f739..0000000 --- a/docs/build/html/sf_tools.image.shape.html +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - - 2.1.2.1.4. sf_tools.image.shape module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.4. sf_tools.image.shape module

    -

    SHAPE ESTIMATION ROUTINES

    -

    This module contains methods and classes for estimating galaxy shapes.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.4
    Date:20/10/2017
    -

    Notes

    -

    Some of the methods in this module are based on work by Fred Ngole.

    -
    -
    -sf_tools.image.shape.ellipticity_atoms(data, offset=0)[source]
    -

    Calculate ellipticity

    -

    This method calculates the ellipticity of an image from its shape -projection components.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, the image to be analysed
    • -
    • offset (int, optional) – Shape projection offset (default is ‘0’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray of the image ellipticity components

    -
    -
    -

    See also

    -
    -
    shape_project()
    -
    shape projection matrix
    -
    -
    -

    Notes

    -

    This technique was developed by Fred Ngole and implements the following -equations:

    -
    -
      -
    • Equations C.1 and C.2 from [NS2016] appendix:
    • -
    -
    -\[ \begin{align}\begin{aligned}e_1(\mathbf{X}_i) = \frac{<\mathbf{X}_i, \mathbf{U}_4> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 + - <\mathbf{X}_i, \mathbf{U}_1>^2} - {<\mathbf{X}_i, \mathbf{U}_3> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 - - <\mathbf{X}_i, \mathbf{U}_1>^2 - }\\e_2(\mathbf{X}_i) = \frac{2\left(<\mathbf{X}_i, \mathbf{U}_5> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0> - <\mathbf{X}_i, \mathbf{U}_1>\right)} - {<\mathbf{X}_i, \mathbf{U}_3> - <\mathbf{X}_i, \mathbf{U}_2> - - <\mathbf{X}_i, \mathbf{U}_0>^2 - - <\mathbf{X}_i, \mathbf{U}_1>^2 - }\end{aligned}\end{align} \]
    -
    -

    Examples

    -
    >>> from image.shape import ellipticity_atoms
    ->>> import numpy as np
    ->>> a = np.zeros((5, 5))
    ->>> a[2, 1:4] += 1
    ->>> ellipticity_atoms(a)
    -array([-1.,  0.])
    -
    -
    -
    >>> b = np.zeros((5, 5))
    ->>> b[1:4, 2] += 1
    ->>> ellipticity_atoms(b)
    -array([ 1.,  0.])
    -
    -
    -
    - -
    -
    -sf_tools.image.shape.shape_project(shape, offset=0, return_norm=False)[source]
    -

    Shape projection matrix

    -

    This method generates a shape projection matrix for a given image.

    - --- - - - - - - - -
    Parameters:
      -
    • shape (list, tuple or np.ndarray) – List of image dimensions
    • -
    • offset (int, optional) – Shape projection offset (default is ‘0’)
    • -
    • return_norm (bool, optional) – Option to return l2 normalised shape projection components -(default is ‘False’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray of shape projection components

    -
    -
    -

    See also

    -
    -
    ellipticity_atoms()
    -
    calculate ellipticity
    -
    -
    -

    Notes

    -

    This technique was developed by Fred Ngole and implements the following -equations:

    -
    -
      -
    • Equations from [NS2016] appendix:
    • -
    -
    -\[\begin{split}U_1 &= (k)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ -U_2 &= (l)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ -U_3 &= (1)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ -U_4 &= (k^2 + l^2)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ -U_5 &= (k^2 - l^2)_{1 \leq k \leq N_l, 1 \leq l \leq N_c} \\ -U_6 &= (kl)_{1 \leq k \leq N_l, 1 \leq l \leq N_c}\end{split}\]
    -
    -

    Examples

    -
    >>> from image.shape import shape_project
    ->>> shape_project([3, 3])
    -array([[[ 0.,  0.,  0.],
    -        [ 1.,  1.,  1.],
    -        [ 2.,  2.,  2.]],
    -
    -       [[ 0.,  1.,  2.],
    -        [ 0.,  1.,  2.],
    -        [ 0.,  1.,  2.]],
    -
    -       [[ 1.,  1.,  1.],
    -        [ 1.,  1.,  1.],
    -        [ 1.,  1.,  1.]],
    -
    -       [[ 0.,  1.,  4.],
    -        [ 1.,  2.,  5.],
    -        [ 4.,  5.,  8.]],
    -
    -       [[ 0., -1., -4.],
    -        [ 1.,  0., -3.],
    -        [ 4.,  3.,  0.]],
    -
    -       [[ 0.,  0.,  0.],
    -        [ 0.,  1.,  2.],
    -        [ 0.,  2.,  4.]]])
    -
    -
    -
    - -
    -
    -class sf_tools.image.shape.Ellipticity(data, sigma=1000, centroid=None, moments=None, ellip_type='chi')[source]
    -

    Image ellipticity class

    -

    This class calculates image ellipticities from quadrupole moments.

    - --- - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, the image to be analysed
    • -
    • sigma (int, optional) – Estimation error (default is ‘1000’)
    • -
    • centroid (np.ndarray, optional) – Centroid positions [x, y] of the input image (defualt is ‘None’)
    • -
    • moments (np.ndarray, optional) – Quadrupole moments [[q00, q01], [q10, q11]] of the input image -(defualt is ‘None’)
    • -
    • ellip_type (str {'chi', 'epsilon'}, optional) – Ellipticity type (default is ‘chi’)
    • -
    -
    -

    Examples

    -
    >>> from image.shape import Ellipticity
    ->>> import numpy as np
    ->>> a = np.zeros((5, 5))
    ->>> a[2, 1:4] += 1
    ->>> Ellipticity(a).e
    -array([-1.,  0.])
    -
    -
    -
    >>> b = np.zeros((5, 5))
    ->>> b[1:4, 2] += 1
    ->>> Ellipticity(b).e
    -array([ 1.,  0.])
    -
    -
    -
    -
    -_check_ellip_type()[source]
    -

    Check Ellipticity Type

    -

    This method raises an error if ellip_type is not ‘chi’ or ‘epsilon’.

    - --- - - - -
    Raises:ValueError for invalid ellip_type
    -
    - -
    -
    -_update_xy()[source]
    -

    Update the x and y values

    -

    This method updates the values of x and y using the current centroid.

    -
    - -
    -
    -_update_weights()[source]
    -

    Update the weights

    -

    This method updates the value of the weights using the current values -of x and y.

    -

    Notes

    -

    This method implements the following equations:

    -
    -
      -
    • The exponential part of equation 1 from [BM2007] to calculate -the weights:
    • -
    -
    -\[w(x,y) = e^{-\frac{\left((x-x_c)^2+(y-y_c)^2\right)} - {2\sigma^2}}\]
    -
    -
    - -
    -
    -_update_centroid()[source]
    -

    Update the centroid

    -

    This method updates the centroid value using the current weights.

    -

    Notes

    -

    This method implements the following equations:

    -
    -
      -
    • Equation 2a, 2b and 2c from [BM2007] to calculate the position -moments:
    • -
    -
    -\[ \begin{align}\begin{aligned}S_w = \sum_{x,y} I(x,y)w(x,y)\\S_x = \sum_{x,y} xI(x,y)w(x,y)\\S_y = \sum_{x,y} yI(x,y)w(x,y)\end{aligned}\end{align} \]
    -
      -
    • Equation 3 from [BM2007] to calculate the centroid:
    • -
    -
    -\[X_c = S_x/S_w,\ -Y_c = S_y/S_w\]
    -
    -
    - -
    -
    -_get_centroid(n_iter=10)[source]
    -

    Calculate centroid

    -

    This method iteratively calculates the centroid of the image.

    - --- - - - -
    Parameters:n_iter (int, optional) – Number of iterations (deafult is ‘10’)
    -
    - -
    -
    -_get_moments()[source]
    -

    Calculate the quadrupole moments

    -

    This method calculates the quadrupole moments.

    -

    Notes

    -

    This method implements the following equations:

    -
    -
      -
    • Equation 10 from [C2013] to calculate the moments:
    • -
    -
    -\[Q_{ij}=\frac{\int\int\Phi(x_i,x_j) w(x_i,x_j) - (x_i-\bar{x_i})(x_j-\bar{x_j}) dx_idx_j} - {\int\int\Phi(x_i,x_j)w(x_i,x_j)dx_idx_j}\]
    -
    -
    - -
    -
    -_get_ellipse()[source]
    -

    Calculate the ellipticities

    -

    This method cacluates ellipticities from quadrupole moments.

    -

    Notes

    -

    This method implements the following equations:

    -
    -
      -
    • Equation 11 from [C2013] to calculate the size:
    • -
    -
    -\[R^2 = Q_{00} + Q_{11}\]
    -
      -
    • Equation 7 from [S2005] to calculate the ellipticities:
    • -
    -
    -\[ \begin{align}\begin{aligned}\chi = \frac{Q_{00}-Q_{11}+iQ_{01}+iQ_{10}}{R^2}\\\epsilon = \frac{Q_{00}-Q_{11}+iQ_{01}+iQ_{10}}{R^2 + - 2\sqrt{(Q_{00}Q_{11} - Q_{01}Q_{10})}}\end{aligned}\end{align} \]
    -
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.stamp.html b/docs/build/html/sf_tools.image.stamp.html deleted file mode 100644 index 43a6e08..0000000 --- a/docs/build/html/sf_tools.image.stamp.html +++ /dev/null @@ -1,476 +0,0 @@ - - - - - - - - - - - 2.1.2.1.5. sf_tools.image.stamp module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.5. sf_tools.image.stamp module

    -

    IMAGE STAMP SELECTION ROUTINES

    -

    This module contains methods for selecting stamps or patches from -images.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:20/10/2017
    -
    -
    -sf_tools.image.stamp.patch_centres(data_shape, layout)[source]
    -

    Image centres

    -

    This method inds the centres of the patches in a 2D map.

    - --- - - - - - - - -
    Parameters:
      -
    • data_shape (tuple) – Shape of the 2D map
    • -
    • layout (tuple) – Layout of the patches
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray array of patch centres

    -
    -
    - -
    -
    -sf_tools.image.stamp.postage_stamp(data, pos, pixel_rad)[source]
    -

    Postage stamp

    -

    This metho selects a postage stamp of a given size from a 2D-array.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • pos (tuple) – Position of postage stamp centre
    • -
    • pixel_rad (tuple) – Pixel radius in each dimension (i.e. size of the stamp from centre)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray rearanged matrix of kernel elements

    -
    -

    Notes

    -

    The image edges are padded with zeros.

    -
    - -
    -
    -sf_tools.image.stamp.pixel_pos(array_shape)[source]
    -

    Pixel positions

    -

    This method returns all of the pixel positions from a 2D-array.

    - --- - - - - - - - -
    Parameters:array_shape (tuple) – Shape of array
    Returns:
    Return type:list of pixel positions
    -
    - -
    -
    -class sf_tools.image.stamp.FetchStamps(data, pixel_rad, all=False)[source]
    -

    Bases: object

    -

    Fetch postage stamps

    -

    This class returns a stack of postage stamps from a given 2D image array.

    - --- - - - -
    Parameters:
      -
    • data (np.ndarray) – Input 2D data array
    • -
    • pixel_rad (tuple) – Pixel radius in each dimension
    • -
    • all (boolean, optional) – Option to select all pixels. Default (all=False)
    • -
    -
    -
    -
    -_check_inputs()[source]
    -

    Check inputs

    -

    This method checks the class variable values.

    - --- - - - -
    Raises:ValueError – For invalid array dimensions or pixel radius values
    -
    - -
    -
    -_pad_data()[source]
    -

    Pad data

    -

    This method pads the input array with zeros.

    -
    - -
    -
    -_adjust_pixels()[source]
    -

    Adjust pixels

    -

    This method adjusts the pixel positions according to the pixel radius.

    -
    - -
    -
    -get_pixels(pixels)[source]
    -

    Get pixels

    -

    This method gets the desired pixel positions.

    - --- - - - - - -
    Parameters:pixels (list or np.ndarray) – List of pixel positions
    Raises:ValueError – For invalid number of dimensions for pixel position array
    -
    - -
    -
    -n_pixels(n_pixels=None, random=False)[source]
    -

    Number of pixels

    -

    This method selects a specified number of pixel positions.

    - --- - - - -
    Parameters:
      -
    • n_pixels (int, optional) – Number of pixels to keep. Default (n_pixels=None)
    • -
    • random (bool, optional) – Option to select random pixel position
    • -
    -
    -
    - -
    -
    -_stamp(pos, func=None, *args)[source]
    -

    Stamp

    -

    This method retrieves a postage stamp from the padded input data at a -given position.

    - --- - - - - - - - - - -
    Parameters:
      -
    • pos (tuple) – Pixel position in 2D padded array.
    • -
    • func (function, optional) – Optional function to be applied to postage stamp.
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray postage stamp array or result of func

    -
    Raises:

    ValueError – For for invalid size of pixel position.

    -
    -
    - -
    -
    -scan(func=None, *args, **kwargs)[source]
    -

    Scan stamps

    -

    This method scans the 2D padded input array and retrieves the postage -stamps at all the desired pixel positions.

    - --- - - - - - - - -
    Parameters:func (function, optional) – Optional function to be applied to postage stamps.
    Returns:
    Return type:np.ndarray postage stamp arrays or results of func
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.image.stats.html b/docs/build/html/sf_tools.image.stats.html deleted file mode 100644 index 531f8a6..0000000 --- a/docs/build/html/sf_tools.image.stats.html +++ /dev/null @@ -1,371 +0,0 @@ - - - - - - - - - - - 2.1.2.1.6. sf_tools.image.stats module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.2.1.6. sf_tools.image.stats module

    -

    IMAGE STATISTICS ROUTINES

    -

    This module contains methods for the statistical analysis of images.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:20/10/2017
    -
    -
    -class sf_tools.image.stats.SAT(data)[source]
    -

    Summed Area Table

    -

    This class produces a Summed Area Table (SAT) for fast and efficient -statistics on image patches.

    - --- - - - -
    Parameters:data (np.ndarray) – Input 2D data array
    -

    Notes

    -

    Also know as Itegral Image (i in the class features).

    -
    -

    Todo

    -

    Add equations and citations

    -
    -
    -
    -get_area(data, corners)[source]
    -

    Get area

    -

    This method calculates the area of a patch.

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input 2D data array
    • -
    • corners (tuple) – Positions of upper left and bottom right corners.
    • -
    -
    Returns:

    -
    Return type:

    float area

    -
    -
    - -
    -
    -get_npx(corners)[source]
    -

    Get number of pixels

    -

    This method calculates the number of pixels in a patch.

    - --- - - - - - - - -
    Parameters:corners (tuple) – Positions of upper left and bottom right corners.
    Returns:
    Return type:int number of pixels
    -
    - -
    -
    -get_var()[source]
    -

    Get variance

    -

    This method calculates the variance and standard deviation of a patch.

    -
    - -
    -
    -set_patch(corners)[source]
    -

    Set patch

    -

    This method sets the corner positions of a single patch.

    - --- - - - -
    Parameters:corners (tuple) – Positions of upper left and bottom right corners.
    -
    - -
    -
    -set_patches(corners)[source]
    -

    Set patches

    -

    This method sets the corner positions for multiple patches.

    - --- - - - -
    Parameters:corners (list) – List of the positions of upper left and bottom right corners.
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.interface.errors.html b/docs/build/html/sf_tools.interface.errors.html deleted file mode 100644 index 22b018a..0000000 --- a/docs/build/html/sf_tools.interface.errors.html +++ /dev/null @@ -1,324 +0,0 @@ - - - - - - - - - - - 2.1.3.1.1. sf_tools.interface.errors module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.3.1.1. sf_tools.interface.errors module

    -

    ERROR HANDLING ROUTINES

    -

    This module contains methods for handing warnings and errors.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:23/10/2017
    -
    -
    -sf_tools.interface.errors.warn(warn_string, log=None)[source]
    -

    Warning

    -

    This method creates custom warning messages.

    - --- - - - -
    Parameters:
      -
    • warn_string (str) – Warning message string
    • -
    • log (instance, optional) – Logging structure instance
    • -
    -
    -
    - -
    -
    -sf_tools.interface.errors.catch_error(exception, log=None)[source]
    -

    Catch error

    -

    This method catches errors and prints them to the terminal. It also saves -the errors to a log if provided.

    - --- - - - -
    Parameters:
      -
    • exception (str) – Exception message string
    • -
    • log (instance, optional) – Logging structure instance
    • -
    -
    -
    - -
    -
    -sf_tools.interface.errors.file_name_error(file_name)[source]
    -

    File name error

    -

    This method checks if the input file name is valid.

    - --- - - - - - -
    Parameters:file_name (str) – File name string
    Raises:IOError – If file name not specified or file not found
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.interface.html b/docs/build/html/sf_tools.interface.html deleted file mode 100644 index 1ef44bb..0000000 --- a/docs/build/html/sf_tools.interface.html +++ /dev/null @@ -1,278 +0,0 @@ - - - - - - - - - - - 2.1.3. sf_tools.interface package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.3. sf_tools.interface package

    - -
    -

    2.1.3.2. Module contents

    -

    INTERFACE ROUTINES

    -

    This module contains submodules for error handling, logging and IO interaction.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:06/04/2017
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.interface.log.html b/docs/build/html/sf_tools.interface.log.html deleted file mode 100644 index 1b1c9d7..0000000 --- a/docs/build/html/sf_tools.interface.log.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - - - - - - - - 2.1.3.1.2. sf_tools.interface.log module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.3.1.2. sf_tools.interface.log module

    -

    LOGGING ROUTINES

    -

    This module contains methods for handing logging.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.interface.log.set_up_log(filename, verbose=True)[source]
    -

    Set up log

    -

    This method sets up a basic log.

    - --- - - - - - - - -
    Parameters:filename (str) – Log file name
    Returns:
    Return type:logging.Logger instance
    -
    - -
    -
    -sf_tools.interface.log.close_log(log, verbose=True)[source]
    -

    Close log

    -

    This method closes and active logging.Logger instance.

    - --- - - - -
    Parameters:log (logging.Logger) – Logging instance
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.angle.html b/docs/build/html/sf_tools.math.angle.html deleted file mode 100644 index 5f4a656..0000000 --- a/docs/build/html/sf_tools.math.angle.html +++ /dev/null @@ -1,364 +0,0 @@ - - - - - - - - - - - 2.1.4.1.1. sf_tools.math.angle module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4.1.1. sf_tools.math.angle module

    -

    ANGLE HANDLING ROUTINES

    -

    This module contains methods for handing angles and trigonometry.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:20/10/2017
    -
    -
    -sf_tools.math.angle.deg2rad(angle)[source]
    -

    Degrees to radians

    -

    This method converts the angle from degrees to radians.

    - --- - - - - - - - -
    Parameters:angle (float or np.ndarray) – Input angle in degrees
    Returns:
    Return type:float angle in radians or np.ndarray of angles
    -

    Examples

    -
    >>> from sf_tools.math.angle import deg2rad
    ->>> deg2rad(45.)
    -0.7853981633974483
    -
    -
    -

    Notes

    -

    Implements the following equation:

    -
    -\[\mathrm{radians} = \mathrm{degrees} \times \frac{\pi}{180}\]
    -
    - -
    -
    -sf_tools.math.angle.rad2deg(angle)[source]
    -

    Radians to degrees

    -

    This method converts the angle from radians to degrees.

    - --- - - - - - - - -
    Parameters:angle (float or np.ndarray) – Input angle in radians
    Returns:
    Return type:float angle in degrees or np.ndarray of angles
    -

    Examples

    -
    >>> from sf_tools.math.angle import deg2rad
    ->>> rad2deg(1.)
    -57.29577951308232
    -
    -
    -

    Notes

    -

    Implements the following equation:

    -
    -\[\mathrm{degrees} = \mathrm{radians} \times \frac{180}{\pi}\]
    -
    - -
    -
    -sf_tools.math.angle.ang_sep(point1, point2)[source]
    -

    Angular separation

    -

    This method calculates the angular separation in degrees between two -points.

    - --- - - - - - - - -
    Parameters:
      -
    • point1 (tuple) – Angular position of point 1 in degrees
    • -
    • point1 – Angular position of point 2 in degrees
    • -
    -
    Returns:

    -
    Return type:

    float angular separation in degrees

    -
    -

    Examples

    -
    >>> from sf_tools.math.angle import ang_sep
    ->>> ang_sep((30.0, 0.0), (47.0, 10.0))
    -19.647958606833164
    -
    -
    -

    Notes

    -

    Implements the following equation:

    -
    -\[\theta = \cos^{-1}[\sin(\delta_1)\sin(\delta_2)+ -\cos(\delta_1)\cos(\delta_2)\cos(\alpha_1-\alpha_2)]\]
    -

    See https://en.wikipedia.org/wiki/Angular_distance

    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.html b/docs/build/html/sf_tools.math.html deleted file mode 100644 index 8cdb543..0000000 --- a/docs/build/html/sf_tools.math.html +++ /dev/null @@ -1,281 +0,0 @@ - - - - - - - - - - - 2.1.4. sf_tools.math package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4. sf_tools.math package

    - -
    -

    2.1.4.2. Module contents

    -

    MATHEMATICS ROUTINES

    -

    This module contains submodules for mathematical applications.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:06/04/2017
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.integrate.html b/docs/build/html/sf_tools.math.integrate.html deleted file mode 100644 index d6cc083..0000000 --- a/docs/build/html/sf_tools.math.integrate.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - 2.1.4.1.2. sf_tools.math.integrate module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4.1.2. sf_tools.math.integrate module

    -

    INTEGRATION ROUTINES

    -

    This module contains methods for integration.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:03/04/2017
    -
    -
    -sf_tools.math.integrate.integrate(func, lim_low, lim_up, *args)[source]
    -

    Integrate

    -

    This method integrates a given function, which has N additional arguments, -between the specified limits.

    - --- - - - - - - - -
    Parameters:
      -
    • func (function) – Function to be integrated
    • -
    • lim_low (float) – Lower limit
    • -
    • lim_up (float) – Upper limit
    • -
    -
    Returns:

    -
    Return type:

    Result of the definite integral

    -
    -
    - -
    -
    -sf_tools.math.integrate.vintegrate(func, lim_low, lim_up, *args)[source]
    -

    Vectorised integration

    -

    This method implements a vectorised version of integrate().

    - --- - - - - - - - -
    Parameters:
      -
    • func (function) – Function to be integrated
    • -
    • lim_low (float) – Lower limit
    • -
    • lim_up (float) – Upper limit
    • -
    -
    Returns:

    -
    Return type:

    Result of the definite integral

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.matrix.html b/docs/build/html/sf_tools.math.matrix.html deleted file mode 100644 index af815b3..0000000 --- a/docs/build/html/sf_tools.math.matrix.html +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - - 2.1.4.1.3. sf_tools.math.matrix module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4.1.3. sf_tools.math.matrix module

    -

    MATRIX ROUTINES

    -

    This module contains methods for matrix operations.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.math.matrix.gram_schmidt(matrix, return_opt='orthonormal')[source]
    -

    Gram-Schmit

    -

    This method orthonormalizes the row vectors of the input matrix.

    - --- - - - - - - - -
    Parameters:
      -
    • matrix (np.ndarray) – Input matrix array
    • -
    • return_opt (str {orthonormal, orthogonal, both}) – Option to return u, e or both.
    • -
    -
    Returns:

    -
    Return type:

    Lists of orthogonal vectors, u, and/or orthonormal vectors, e

    -
    -
    -

    Todo

    -

    Add citation and equation

    -
    -
    - -
    -
    -sf_tools.math.matrix.nuclear_norm(data)[source]
    -

    Nuclear norm

    -

    This method computes the nuclear (or trace) norm of the input data.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:float nuclear norm value
    -
    -

    Todo

    -

    Add equation

    -
    -
    - -
    -
    -sf_tools.math.matrix.project(u, v)[source]
    -

    Project vector

    -

    This method projects vector v onto vector u.

    - --- - - - - - - - -
    Parameters:
      -
    • u (np.ndarray) – Input vector
    • -
    • v (np.ndarray) – Input vector
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray projection

    -
    -
    -

    Todo

    -

    Add equation

    -
    -
    - -
    -
    -sf_tools.math.matrix.rot_matrix(angle)[source]
    -

    Rotation matrix

    -

    This method produces a 2x2 rotation matrix for the given input angle.

    - --- - - - - - - - -
    Parameters:angle (float) – Rotation angle
    Returns:
    Return type:np.ndarray 2x2 rotation matrix
    -
    - -
    -
    -sf_tools.math.matrix.rotate(matrix, angle)[source]
    -

    Rotate

    -

    This method rotates an input matrix about the input angle.

    - --- - - - - - - - - - -
    Parameters:
      -
    • matrix (np.ndarray) – Input matrix array
    • -
    • angle (float) – Rotation angle
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray rotated matrix

    -
    Raises:

    ValueError – For invalid matrix shape

    -
    -
    - -
    -
    -class sf_tools.math.matrix.PowerMethod(operator, data_shape, auto_run=True)[source]
    -

    Bases: object

    -

    Power method class

    -

    This method performs implements power method to calculate the spectral -radius of the input data

    - --- - - - -
    Parameters:
      -
    • operator (class) – Operator class instance
    • -
    • data_shape (tuple) – Shape of the data array
    • -
    • auto_run (bool) – Option to automatically calcualte the spectral radius upon -initialisation
    • -
    -
    -
    -
    -set_initial_x()[source]
    -

    Set initial value of x

    -

    This method sets the initial value of x to an arrray of random values

    -
    - -
    -
    -get_spec_rad(tolerance=1e-06, max_iter=10)[source]
    -

    Get spectral radius

    -

    This method calculates the spectral radius

    - --- - - - -
    Parameters:
      -
    • tolerance (float, optional) – Tolerance threshold for convergence (default is “1e-6”)
    • -
    • max_iter (int, optional) – Maximum number of iterations
    • -
    -
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.misc.html b/docs/build/html/sf_tools.math.misc.html deleted file mode 100644 index ae1c327..0000000 --- a/docs/build/html/sf_tools.math.misc.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - - - - - - 2.1.4.1.4. sf_tools.math.misc module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4.1.4. sf_tools.math.misc module

    -

    MISCELLANOUS MATH ROUTINES

    -

    This module contains methods for various mathematical operations.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:20/10/2017
    -
    -
    -sf_tools.math.misc.factor(n)[source]
    -

    Factors of n

    -

    This method finds factors of a number (n).

    - --- - - - - - - - -
    Parameters:n (int) – Whole number
    Returns:
    Return type:np.ndarray factors of n
    -
    - -
    -
    -sf_tools.math.misc.mfactor(n)[source]
    -

    Middle factors of n

    -

    This method finds the middle factor(s) of a number (n).

    - --- - - - - - - - -
    Parameters:n (int) – Whole number
    Returns:
    Return type:np.ndarray middle factors of n
    -
    - -
    -
    -sf_tools.math.misc.k_val(n, L)[source]
    -

    Spatial frequency

    -

    This method returns k-values in the range L.

    - --- - - - - - - - -
    Parameters: -
    Returns:

    -
    Return type:

    float k value

    -
    -
    -

    Todo

    -

    Add equation and example

    -
    -
    - -
    -
    -sf_tools.math.misc.fourier_derivative(func, k, order)[source]
    -

    Fourier derivative

    -

    This method returns the derivative of the specified function to the given -order.

    - --- - - - - - - - -
    Parameters:
      -
    • func (function) – Function
    • -
    • k (float) – k-value
    • -
    • order (int) – Oder of derivative
    • -
    -
    Returns:

    -
    Return type:

    Float derivative

    -
    -
    -

    Todo

    -

    Add equation and example

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.math.stats.html b/docs/build/html/sf_tools.math.stats.html deleted file mode 100644 index 342ff9c..0000000 --- a/docs/build/html/sf_tools.math.stats.html +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - 2.1.4.1.5. sf_tools.math.stats module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.4.1.5. sf_tools.math.stats module

    -

    STATISTICS ROUTINES

    -

    This module contains methods for basic statistics.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.math.stats.chi2_gof(data_obs, data_exp, sigma, ddof=1)[source]
    -

    Chi-squared goodness-of-fit

    -

    This method tests the chi^2 goodness of fit.

    - --- - - - - - - - -
    Parameters:
      -
    • data_obs (np.ndarray) – Observed data array
    • -
    • data_exp (np.ndarray) – Expected data array
    • -
    • sigma (float) – Expected data error
    • -
    • ddof (input) – Delta degrees of freedom. Default (ddof = 1).
    • -
    -
    Returns:

    -
    Return type:

    tuple of floats chi-squared and P values

    -
    -
    - -
    -
    -sf_tools.math.stats.gaussian(point, mean, sigma, amplitude=None)[source]
    -

    Gaussian distribution

    -

    Method under development…

    -
    - -
    -
    -sf_tools.math.stats.gaussian_kernel(data_shape, sigma, norm='max')[source]
    -

    Gaussian kernel

    -

    This method produces a Gaussian kerenal of a specified size and dispersion

    - --- - - - - - - - -
    Parameters:
      -
    • data_shape (tuple) – Desiered shape of the kernel
    • -
    • sigma (float) – Standard deviation of the kernel
    • -
    • norm (str {'max', 'sum'}, optional) – Normalisation of the kerenl (options are ‘max’ or ‘sum’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray kernel

    -
    -
    - -
    -
    -sf_tools.math.stats.mad(data)[source]
    -

    Median absolute deviation

    -

    This method calculates the median absolute deviation of the input data.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:float MAD value
    -

    Notes

    -

    The MAD is calculated as follows:

    -
    -\[\mathrm{MAD} = \mathrm{median}\left(|X_i - \mathrm{median}(X)|\right)\]
    -
    - -
    -
    -sf_tools.math.stats.mse(data1, data2)[source]
    -

    Mean Squared Error

    -

    This method returns the Mean Squared Error (MSE) between two data sets.

    - --- - - - -
    Parameters:
      -
    • data1 (np.ndarray) – First data set
    • -
    • data2 (np.ndarray) – Second data set
    • -
    -
    -
    - -
    -
    -sf_tools.math.stats.psnr2(image, noisy_image, max_pix=255)[source]
    -

    Peak Signal-to-Noise Ratio

    -

    This method calculates the PSNR between an image and a noisy version -of that image

    - --- - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – Input image, 2D array
    • -
    • noisy_image (np.ndarray) – Noisy image, 2D array
    • -
    • max_pix (int) – Maximum number of pixels. Default (max_pix=255)
    • -
    -
    Returns:

    -
    Return type:

    float PSNR value

    -
    -

    Notes

    -

    Implements PSNR equation on -https://en.wikipedia.org/wiki/Peak_signal-to-noise_ratio

    -
    -\[\mathrm{PSNR} = 20\log_{10}(\mathrm{MAX}_I - 10\log_{10}(\mathrm{MSE}))\]
    -
    - -
    -
    -sf_tools.math.stats.psnr(image, recovered_image)[source]
    -

    Peak Signal-to-Noise Ratio

    -

    This method calculates the PSNR between an image and the recovered version -of that image

    - --- - - - - - - - -
    Parameters:
      -
    • image (np.ndarray) – Input image, 2D array
    • -
    • recovered_image (np.ndarray) – Recovered image, 2D array
    • -
    -
    Returns:

    -
    Return type:

    float PSNR value

    -
    -

    Notes

    -

    Implements eq.3.7 from _[S2010]

    -
    - -
    -
    -sf_tools.math.stats.psnr_stack(images, recoverd_images, metric=<function mean>)[source]
    -

    Peak Signa-to-Noise for stack of images

    -

    This method calculates the PSNRs for a stack of images and the -corresponding recovered images. By default the metod returns the mean -value of the PSNRs, but any other metric can be used.

    - --- - - - - - - - - - -
    Parameters:
      -
    • images (np.ndarray) – Stack of images, 3D array
    • -
    • recovered_images (np.ndarray) – Stack of recovered images, 3D array
    • -
    • metric (function) – The desired metric to be applied to the PSNR values (default is -‘np.mean’)
    • -
    -
    Returns:

    -
    Return type:

    float metric result of PSNR values

    -
    Raises:

    ValueError – For invalid input data dimensions

    -
    -
    - -
    -
    -sf_tools.math.stats.sigma_mad(data)[source]
    -

    Standard deviation from MAD

    -

    This method calculates the standard deviation of the input data from the -MAD.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:float sigma value
    -

    Notes

    -

    This function can be used for estimating the standeviation of the noise in -imgaes.

    -

    Sigma is calculated as follows:

    -
    -\[\sigma = 1.4826 \mathrm{MAD}(X)\]
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.plot.cost_plot.html b/docs/build/html/sf_tools.plot.cost_plot.html deleted file mode 100644 index 000fac6..0000000 --- a/docs/build/html/sf_tools.plot.cost_plot.html +++ /dev/null @@ -1,287 +0,0 @@ - - - - - - - - - - - 2.1.5.1.1. sf_tools.plot.cost_plot module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.5.1.1. sf_tools.plot.cost_plot module

    -

    PLOTTING ROUTINES

    -

    This module contains methods for making plots.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:05/01/2017
    -
    -
    -sf_tools.plot.cost_plot.plotCost(cost_list, output=None)[source]
    -

    Plot cost function

    -

    Plot the final cost function

    - --- - - - -
    Parameters:
      -
    • cost_list (list) – List of cost function values
    • -
    • output (str, optional) – Output file name
    • -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.plot.html b/docs/build/html/sf_tools.plot.html deleted file mode 100644 index 66b271f..0000000 --- a/docs/build/html/sf_tools.plot.html +++ /dev/null @@ -1,277 +0,0 @@ - - - - - - - - - - - 2.1.5. sf_tools.plot package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.5. sf_tools.plot package

    -
    -

    2.1.5.1. Submodules

    - -
    -
    -

    2.1.5.2. Module contents

    -

    PLOTTING ROUTINES

    -

    This module contains submodules for plotting applications.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:19/07/2017
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.cost.html b/docs/build/html/sf_tools.signal.cost.html deleted file mode 100644 index cb2c545..0000000 --- a/docs/build/html/sf_tools.signal.cost.html +++ /dev/null @@ -1,338 +0,0 @@ - - - - - - - - - - - 2.1.6.1.1. sf_tools.signal.cost module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.1. sf_tools.signal.cost module

    -

    COST FUNCTIONS

    -

    This module contains classes of different cost functions for optimization.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:2.2
    Date:23/10/2017
    -
    -
    -class sf_tools.signal.cost.costObj(costFunc, initial_cost=1000000.0, tolerance=0.0001, cost_interval=1, test_range=4, verbose=True, plot_output=None)[source]
    -

    Bases: object

    -

    Generic cost function object

    -

    This class updates the cost according to the input cost functio class and -tests for convergence

    - --- - - - -
    Parameters:
      -
    • costFunc (class) – Class for calculating the cost
    • -
    • initial_cost (float, optional) – Initial value of the cost (default is “1e6”)
    • -
    • tolerance (float, optional) – Tolerance threshold for convergence (default is “1e-4”)
    • -
    • cost_interval (int, optional) – Iteration interval to calculate cost (default is “1”)
    • -
    • test_range (int, optional) – Number of cost values to be used in test (default is “4”)
    • -
    • verbose (bool, optional) – Option for verbose output (default is “True”)
    • -
    • plot_output (str, optional) – Output file name for cost function plot
    • -
    -
    -

    Notes

    -

    The costFunc class must contain a method called calc_cost().

    -
    -
    -_check_cost()[source]
    -

    Check cost function

    -

    This method tests the cost function for convergence in the specified -interval of iterations using the last n (test_range) cost values

    - --- - - - - - -
    Returns:
    Return type:bool result of the convergence test
    -
    - -
    -
    -get_cost(*args, **kwargs)[source]
    -

    Get cost function

    -

    This method calculates the current cost and tests for convergence

    - --- - - - - - -
    Returns:
    Return type:bool result of the convergence test
    -
    - -
    -
    -plot_cost()[source]
    -

    Plot the cost function

    -

    This method plots the cost function as function of iteration number

    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.filter.html b/docs/build/html/sf_tools.signal.filter.html deleted file mode 100644 index ab99f77..0000000 --- a/docs/build/html/sf_tools.signal.filter.html +++ /dev/null @@ -1,345 +0,0 @@ - - - - - - - - - - - 2.1.6.1.2. sf_tools.signal.filter module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.2. sf_tools.signal.filter module

    -

    FILTER ROUTINES

    -

    This module contains methods for distance measurements in cosmology.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.1
    Date:20/10/2017
    -
    -
    -sf_tools.signal.filter.Gaussian_filter(x, sigma, norm=True)[source]
    -

    Gaussian filter

    -

    This method implements a Gaussian filter.

    - --- - - - - - - - -
    Parameters:
      -
    • x (float) – Input data point
    • -
    • sigma (float) – Standard deviation (filter scale)
    • -
    • norm (bool) – Option to return normalised data. Default (norm=True)
    • -
    -
    Returns:

    -
    Return type:

    float Gaussian filtered data point

    -
    -
    - -
    -
    -sf_tools.signal.filter.mex_hat(x, sigma)[source]
    -

    Mexican hat

    -

    This method implements a Mexican hat (or Ricker) wavelet.

    - --- - - - - - - - -
    Parameters:
      -
    • x (float) – Input data point
    • -
    • sigma (float) – Standard deviation (filter scale)
    • -
    -
    Returns:

    -
    Return type:

    float Mexican hat filtered data point

    -
    -
    - -
    -
    -sf_tools.signal.filter.mex_hat_dir(x, y, sigma)[source]
    -

    Directional Mexican hat

    -

    This method implements a directional Mexican hat (or Ricker) wavelet.

    - --- - - - - - - - -
    Parameters:
      -
    • x (float) – Input data point for Gaussian
    • -
    • y (float) – Input data point for Mexican hat
    • -
    • sigma (float) – Standard deviation (filter scale)
    • -
    -
    Returns:

    -
    Return type:

    float directional Mexican hat filtered data point

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.gradient.html b/docs/build/html/sf_tools.signal.gradient.html deleted file mode 100644 index 0bbd59f..0000000 --- a/docs/build/html/sf_tools.signal.gradient.html +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - 2.1.6.1.3. sf_tools.signal.gradient module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.3. sf_tools.signal.gradient module

    -

    GRADIENT CLASSES

    -

    This module contains classses for defining algorithm gradients. -Based on work by Yinghao Ge and Fred Ngole.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.3
    Date:19/07/2017
    -
    -
    -class sf_tools.signal.gradient.GradBasic[source]
    -

    Bases: object

    -

    Basic gradient class

    -

    This class defines the basic methods that will be inherited by specific -gradient classes

    -
    -
    -MtMX(x)[source]
    -

    M^T M X

    -

    This method calculates the action of the transpose of the matrix M on -the action of the matrix M on the data X

    - --- - - - - - - - -
    Parameters:x (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray result
    -

    Notes

    -

    Calculates M^T (MX)

    -
    - -
    -
    -get_grad(x)[source]
    -

    Get the gradient step

    -

    This method calculates the gradient step from the input data

    - --- - - - - - - - -
    Parameters:x (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray gradient value
    -

    Notes

    -

    Calculates M^T (MX - Y)

    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.html b/docs/build/html/sf_tools.signal.html deleted file mode 100644 index 83fc74e..0000000 --- a/docs/build/html/sf_tools.signal.html +++ /dev/null @@ -1,322 +0,0 @@ - - - - - - - - - - - 2.1.6. sf_tools.signal package — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6. sf_tools.signal package

    - -
    -

    2.1.6.2. Module contents

    -

    SIGNAL PROCESSING ROUTINES

    -

    This module contains submodules for signal processing.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:06/04/2017
    -

    References

    - - - - - -
    [Con201312]Condat, A Primal-Dual Splitting Method for Convex Optimization -Involving Lipschitzian, Proximable and Linear Composite Terms, 2013, -Journal of Optimization Theory and Applications, 158, 2, 460. -[https://link.springer.com/article/10.1007/s10957-012-0245-9]
    - - - - - -
    [B201112]Bauschke et al., Fixed-Point Algorithms for Inverse Problems in -Science and Engineering, 2011, Chapter 10. -[http://rentals.springer.com/product/9781441995698]
    - - - - - -
    [R201212]Raguet et al., Generalized Forward-Backward Splitting, 2012, SIAM, -v6. [https://arxiv.org/abs/1108.4404]
    - - - - - -
    [CWB200712]Candes, Wakin and Boyd, Enhancing Sparsity by Reweighting l1 -Minimization, 2007, Journal of Fourier Analysis and Applications, -14(5):877-905. [https://arxiv.org/abs/0711.1612]
    -
    -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.linear.html b/docs/build/html/sf_tools.signal.linear.html deleted file mode 100644 index 146bcda..0000000 --- a/docs/build/html/sf_tools.signal.linear.html +++ /dev/null @@ -1,439 +0,0 @@ - - - - - - - - - - - 2.1.6.1.4. sf_tools.signal.linear module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.4. sf_tools.signal.linear module

    -

    LINEAR OPERATORS

    -

    This module contains linear operator classes.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.3
    Date:19/07/2017
    -
    -
    -class sf_tools.signal.linear.Identity[source]
    -

    Bases: object

    -

    Identity operator class

    -

    This is a dummy class that can be used in the optimisation classes

    -
    -
    -op(data, **kwargs)[source]
    -

    Operator

    -

    Returns the input data unchanged

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • **kwargs – Arbitrary keyword arguments
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray input data

    -
    -
    - -
    -
    -adj_op(data)[source]
    -

    Adjoint operator

    -

    Returns the input data unchanged

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray input data
    -
    - -
    - -
    -
    -class sf_tools.signal.linear.Wavelet(data, wavelet_opt=None)[source]
    -

    Bases: object

    -

    Wavelet class

    -

    This class defines the wavelet transform operators

    - --- - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array, normally an array of 2D images
    • -
    • wavelet_opt (str, optional) – Additional options for mr_transform
    • -
    -
    -
    -
    -op(data)[source]
    -

    Operator

    -

    This method returns the input data convolved with the wavelet filters

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array, a 2D image
    Returns:
    Return type:np.ndarray wavelet convolved data
    -
    - -
    -
    -adj_op(data)[source]
    -

    Adjoint operator

    -

    This method returns the input data convolved with the wavelet filters -rotated by 180 degrees

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array, a 3D of wavelet coefficients
    Returns:
    Return type:np.ndarray wavelet convolved data
    -
    - -
    - -
    -
    -class sf_tools.signal.linear.LinearCombo(operators, weights=None)[source]
    -

    Bases: object

    -

    Linear combination class

    -

    This class defines a combination of linear transform operators

    - --- - - - -
    Parameters:
      -
    • operators (list) – List of linear operator class instances
    • -
    • weights (list, optional) – List of weights for combining the linear adjoint operator results
    • -
    -
    -
    -
    -op(data)[source]
    -

    Operator

    -

    This method returns the input data operated on by all of the operators

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array, a 2D image
    Returns:
    Return type:np.ndarray linear operation results
    -
    - -
    -
    -adj_op(data)[source]
    -

    Adjoint operator

    -

    This method returns the combination of the result of all of the -adjoint operators. If weights are provided the comibination is the sum -of the weighted results, otherwise the combination is the mean.

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array, an array of coefficients
    Returns:
    Return type:np.ndarray adjoint operation results
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.noise.html b/docs/build/html/sf_tools.signal.noise.html deleted file mode 100644 index b92cec7..0000000 --- a/docs/build/html/sf_tools.signal.noise.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - - - - - - 2.1.6.1.5. sf_tools.signal.noise module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.5. sf_tools.signal.noise module

    -

    NOISE ROUTINES

    -

    This module contains methods for adding and removing noise from data.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:04/01/2017
    -
    -
    -sf_tools.signal.noise.add_noise(data, sigma=1.0, noise_type='gauss')[source]
    -

    Add noise to data

    -

    This method adds Gaussian or Poisson noise to the input data

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray, list or tuple) – Input data array
    • -
    • sigma (float or list, optional) – Standard deviation of the noise to be added (‘gauss’ only)
    • -
    • noise_type (str {'gauss', 'poisson'}) – Type of noise to be added (default is ‘gauss’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray input data with added noise

    -
    Raises:
      -
    • ValueError – If noise_type is not ‘gauss’ or ‘poisson’
    • -
    • ValueError – If number of sigma values does not match the first dimension of the -input data
    • -
    -
    -

    Examples

    -
    >>> import numpy as np
    ->>> from sf_tools.signal.noise import add_noise
    ->>> x = np.arange(9).reshape(3, 3).astype(float)
    ->>> x
    -array([[ 0.,  1.,  2.],
    -       [ 3.,  4.,  5.],
    -       [ 6.,  7.,  8.]])
    ->>> np.random.seed(1)
    ->>> add_noise(x, noise_type='poisson')
    -array([[  0.,   2.,   2.],
    -       [  4.,   5.,  10.],
    -       [ 11.,  15.,  18.]])
    -
    -
    -
    >>> import numpy as np
    ->>> from sf_tools.signal.noise import add_noise
    ->>> x = np.zeros(5)
    ->>> x
    -array([ 0.,  0.,  0.,  0.,  0.])
    ->>> np.random.seed(1)
    ->>> add_noise(x, sigma=2.0)
    -array([ 3.24869073, -1.22351283, -1.0563435 , -2.14593724,  1.73081526])
    -
    -
    -
    - -
    -
    -sf_tools.signal.noise.thresh(data, threshold, threshold_type='hard')[source]
    -

    Threshold data

    -

    This method perfoms hard or soft thresholding on the input data

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray, list or tuple) – Input data array
    • -
    • threshold (float) – Threshold level
    • -
    • threshold_type (str {'hard', 'soft'}) – Type of noise to be added (default is ‘hard’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray thresholded data

    -
    Raises:

    ValueError – If threshold_type is not ‘hard’ or ‘soft’

    -
    -

    Notes

    -

    Implements one of the following two equations:

    -
      -
    • -
      Hard Threshold
      -
      -\[\begin{split}\mathrm{HT}_\lambda(x) = -\begin{cases} -x & \text{if } |x|\geq\lambda \\ -0 & \text{otherwise} -\end{cases}\end{split}\]
      -
      -
      -
    • -
    • -
      Soft Threshold
      -
      -\[\begin{split}\mathrm{ST}_\lambda(x) = -\begin{cases} -x-\lambda\text{sign}(x) & \text{if } |x|\geq\lambda \\ -0 & \text{otherwise} -\end{cases}\end{split}\]
      -
      -
      -
    • -
    -

    Examples

    -
    >>> import numpy as np
    ->>> from sf_tools.signal.noise import thresh
    ->>> np.random.seed(1)
    ->>> x = np.random.randint(-9, 9, 10)
    ->>> x
    -array([-4,  2,  3, -1,  0,  2, -4,  6, -9,  7])
    ->>> thresh(x, 4)
    -array([-4,  0,  0,  0,  0,  0, -4,  6, -9,  7])
    -
    -
    -
    >>> import numpy as np
    ->>> from sf_tools.signal.noise import thresh
    ->>> np.random.seed(1)
    ->>> x = np.random.ranf((3, 3))
    ->>> x
    -array([[  4.17022005e-01,   7.20324493e-01,   1.14374817e-04],
    -       [  3.02332573e-01,   1.46755891e-01,   9.23385948e-02],
    -       [  1.86260211e-01,   3.45560727e-01,   3.96767474e-01]])
    ->>> thresh(x, 0.2, threshold_type='soft')
    -array([[ 0.217022  ,  0.52032449, -0.        ],
    -       [ 0.10233257, -0.        , -0.        ],
    -       [-0.        ,  0.14556073,  0.19676747]])
    -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.optimisation.html b/docs/build/html/sf_tools.signal.optimisation.html deleted file mode 100644 index 6bd9d06..0000000 --- a/docs/build/html/sf_tools.signal.optimisation.html +++ /dev/null @@ -1,546 +0,0 @@ - - - - - - - - - - - 2.1.6.1.6. sf_tools.signal.optimisation module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.6. sf_tools.signal.optimisation module

    -

    OPTIMISATION CLASSES

    -

    This module contains classes for optimisation algoritms.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.3
    Date:20/10/2017
    -

    Notes

    -

    Input classes must have the following properties:

    -
    -
      -
    • Gradient Operators
    • -
    -

    Must have the following methods:

    -
    -
      -
    • get_grad() - calculate the gradient
    • -
    -
    -

    Must have the following variables:

    -
    -
      -
    • grad - the gradient
    • -
    • inv_spec_rad - inverse spectral radius \(\frac{1}{\rho}\)
    • -
    -
    -
      -
    • Linear Operators
    • -
    -

    Must have the following methods:

    -
    -
      -
    • op() - operator
    • -
    • adj_op() - adjoint operator
    • -
    -
    -

    Must have the following variables:

    -
    -
      -
    • l1norm - the l1 norm of the operator
    • -
    -
    -
      -
    • Proximity Operators
    • -
    -

    Must have the following methods:

    -
    -
      -
    • op() - operator
    • -
    -
    -
    -

    The following notation is used to implement the algorithms:

    -
    -
      -
    • x_old is used in place of \(x_{n}\).
    • -
    • x_new is used in place of \(x_{n+1}\).
    • -
    • x_prox is used in place of \(\tilde{x}_{n+1}\).
    • -
    • x_temp is used for intermediate operations.
    • -
    -
    -
    -
    -class sf_tools.signal.optimisation.FISTA(lambda_init=None, active=True)[source]
    -

    Bases: object

    -

    This class is inhereited by optimisation classes to speed up convergence

    - --- - - - -
    Parameters:
      -
    • lambda_init (float, optional) – Initial value of the relaxation parameter
    • -
    • active (bool, optional) – Option to activate FISTA convergence speed-up (default is True)
    • -
    -
    -
    -
    -speed_switch(turn_on=True)[source]
    -

    Speed swicth

    -

    This method turns on or off the speed-up

    - --- - - - -
    Parameters:turn_on (bool) – Option to turn on speed-up (default is True)
    -
    - -
    -
    -update_lambda()[source]
    -

    Update lambda

    -

    This method updates the value of lambda

    -

    Notes

    -

    Implements steps 3 and 4 from algoritm 10.7 in [B2011]

    -
    - -
    -
    -speed_up()[source]
    -

    speed-up

    -

    This method returns the update if the speed-up is active

    -
    - -
    - -
    -
    -class sf_tools.signal.optimisation.ForwardBackward(x, grad, prox, cost=None, lambda_init=None, lambda_update=None, use_fista=True, auto_iterate=True)[source]
    -

    Bases: sf_tools.signal.optimisation.FISTA

    -

    Forward-Backward optimisation

    -

    This class implements standard forward-backward optimisation with an the -option to use the FISTA speed-up

    - --- - - - -
    Parameters:
      -
    • x (np.ndarray) – Initial guess for the primal variable
    • -
    • grad (class) – Gradient operator class
    • -
    • prox (class) – Proximity operator class
    • -
    • cost (class, optional) – Cost function class
    • -
    • lambda_init (float, optional) – Initial value of the relaxation parameter
    • -
    • lambda_update (function, optional) – Relaxation parameter update method
    • -
    • use_fista (bool, optional) – Option to use FISTA (default is True)
    • -
    • auto_iterate (bool, optional) – Option to automatically begin iterations upon initialisation (default -is ‘True’)
    • -
    -
    -
    -
    -update()[source]
    -

    Update

    -

    This method updates the current reconstruction

    -

    Notes

    -

    Implements algorithm 10.7 (or 10.5) from [B2011]

    -
    - -
    -
    -iterate(max_iter=150)[source]
    -

    Iterate

    -

    This method calls update until either convergence criteria is met or -the maximum number of iterations is reached

    - --- - - - -
    Parameters:max_iter (int, optional) – Maximum number of iterations (default is 150)
    -
    - -
    - -
    -
    -class sf_tools.signal.optimisation.GenForwardBackward(x, grad, prox_list, cost=None, lambda_init=1.0, lambda_update=None, weights=None, auto_iterate=True)[source]
    -

    Bases: object

    -

    Generalized Forward-Backward optimisation

    -

    This class implements algorithm 1 from [R2012]

    - --- - - - -
    Parameters:
      -
    • x (np.ndarray) – Initial guess for the primal variable
    • -
    • grad (class) – Gradient operator class
    • -
    • prox_list (list) – List of proximity operator classes
    • -
    • cost (class, optional) – Cost function class
    • -
    • lambda_init (float, optional) – Initial value of the relaxation parameter
    • -
    • lambda_update (function, optional) – Relaxation parameter update method
    • -
    • weights (np.ndarray, optional) – Proximity operator weights
    • -
    • auto_iterate (bool, optional) – Option to automatically begin iterations upon initialisation (default -is ‘True’)
    • -
    -
    -
    -
    -update()[source]
    -

    Update

    -

    This method updates the current reconstruction

    -

    Notes

    -

    Implements algorithm 1 from [R2012]

    -
    - -
    -
    -iterate(max_iter=150)[source]
    -

    Iterate

    -

    This method calls update until either convergence criteria is met or -the maximum number of iterations is reached

    - --- - - - -
    Parameters:max_iter (int, optional) – Maximum number of iterations (default is 150)
    -
    - -
    - -
    -
    -class sf_tools.signal.optimisation.Condat(x, y, grad, prox, prox_dual, linear, cost, rho, sigma, tau, rho_update=None, sigma_update=None, tau_update=None, auto_iterate=True)[source]
    -

    Bases: object

    -

    Condat optimisation

    -

    This class implements algorithm 10.7 from [Con2013]

    - --- - - - -
    Parameters:
      -
    • x (np.ndarray) – Initial guess for the primal variable
    • -
    • y (np.ndarray) – Initial guess for the dual variable
    • -
    • grad (class) – Gradient operator class
    • -
    • prox (class) – Proximity primal operator class
    • -
    • prox_dual (class) – Proximity dual operator class
    • -
    • linear (class) – Linear operator class
    • -
    • cost (class) – Cost function class
    • -
    • rho (float) – Relaxation parameter
    • -
    • sigma (float) – Proximal dual parameter
    • -
    • tau (float) – Proximal primal paramater
    • -
    • rho_update (function, optional) – Relaxation parameter update method
    • -
    • sigma_update (function, optional) – Proximal dual parameter update method
    • -
    • tau_update (function, optional) – Proximal primal parameter update method
    • -
    • auto_iterate (bool, optional) – Option to automatically begin iterations upon initialisation (default -is ‘True’)
    • -
    -
    -
    -
    -update_param()[source]
    -

    Update parameters

    -

    This method updates the values of rho, sigma and tau with -the methods provided

    -
    - -
    -
    -update()[source]
    -

    Update

    -

    This method updates the current reconstruction

    -

    Notes

    -

    Implements equation 9 (algorithm 3.1) from [Con2013]

    -
      -
    • primal proximity operator set up for positivity constraint
    • -
    -
    - -
    -
    -iterate(max_iter=150)[source]
    -

    Iterate

    -

    This method calls update until either convergence criteria is met or -the maximum number of iterations is reached

    - --- - - - -
    Parameters:max_iter (int, optional) – Maximum number of iterations (default is 150)
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.positivity.html b/docs/build/html/sf_tools.signal.positivity.html deleted file mode 100644 index 899bd94..0000000 --- a/docs/build/html/sf_tools.signal.positivity.html +++ /dev/null @@ -1,289 +0,0 @@ - - - - - - - - - - - 2.1.6.1.7. sf_tools.signal.positivity module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.7. sf_tools.signal.positivity module

    -

    POSITIVITY

    -

    This module contains a function that retains only positive coefficients in -an array

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:26/07/2017
    -
    -
    -sf_tools.signal.positivity.positive(data)[source]
    -

    Positivity operator

    -

    This method preserves only the positive coefficients of the input data, all -negative coefficients are set to zero

    - --- - - - - - - - -
    Parameters:data (np.ndarray, list or tuple) – Input data array
    Returns:
    Return type:np.ndarray array with only positive coefficients
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.proximity.html b/docs/build/html/sf_tools.signal.proximity.html deleted file mode 100644 index bb03034..0000000 --- a/docs/build/html/sf_tools.signal.proximity.html +++ /dev/null @@ -1,492 +0,0 @@ - - - - - - - - - - - 2.1.6.1.8. sf_tools.signal.proximity module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.8. sf_tools.signal.proximity module

    -

    PROXIMITY OPERATORS

    -

    This module contains classes of proximity operators for optimisation

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.3
    Date:19/07/2017
    -
    -
    -class sf_tools.signal.proximity.Positive[source]
    -

    Bases: object

    -

    Positivity proximity operator

    -

    This class defines the positivity proximity operator

    -
    -
    -op(data, **kwargs)[source]
    -

    Operator

    -

    This method preserves only the positive coefficients of the input data

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray all positive elements from input data
    -
    - -
    - -
    -
    -class sf_tools.signal.proximity.Threshold(weights, thresh_type='soft')[source]
    -

    Bases: object

    -

    Threshold proximity operator

    -

    This class defines the threshold proximity operator

    - --- - - - -
    Parameters:
      -
    • weights (np.ndarray) – Input array of weights
    • -
    • thresh_type (str {'hard', 'soft'}, optional) – Threshold type (default is ‘soft’)
    • -
    -
    -
    -
    -op(data, extra_factor=1.0)[source]
    -

    Operator

    -

    This method returns the input data thresholded by the weights

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • extra_factor (float) – Additional multiplication factor
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray thresholded data

    -
    -
    - -
    - -
    -
    -class sf_tools.signal.proximity.LowRankMatrix(thresh, thresh_type='soft', lowr_type='standard', operator=None)[source]
    -

    Bases: object

    -

    Low-rank proximity operator

    -

    This class defines the low-rank proximity operator

    - --- - - - -
    Parameters:
      -
    • thresh (float) – Threshold value
    • -
    • treshold_type (str {'hard', 'soft'}) – Threshold type (options are ‘hard’ or ‘soft’)
    • -
    • lowr_type (str {'standard', 'ngole'}) – Low-rank implementation (options are ‘standard’ or ‘ngole’)
    • -
    • operator (class) – Operator class (‘ngole’ only)
    • -
    -
    -
    -
    -op(data, extra_factor=1.0)[source]
    -

    Operator

    -

    This method returns the input data after the singular values have been -thresholded

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • extra_factor (float) – Additional multiplication factor
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray SVD thresholded data

    -
    -
    - -
    - -
    -
    -class sf_tools.signal.proximity.ProximityCombo(operators)[source]
    -

    Bases: object

    -

    Proximity Combo

    -

    This class defines a combined proximity operator

    - --- - - - -
    Parameters:operators (list) – List of proximity operator class instances
    -
    -
    -op(data, extra_factor=1.0)[source]
    -

    Operator

    -

    This method returns the result of applying all of the proximity -operators to the data

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • extra_factor (float) – Additional multiplication factor
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray result

    -
    -
    - -
    - -
    -
    -class sf_tools.signal.proximity.SubIter(data_shape, operator, weights=None, u_init=None)[source]
    -

    Bases: object

    -

    Sub iteration operator

    -

    This class defines the sub-iteration proximity operator

    - --- - - - -
    Parameters:
      -
    • data_shape (tuple) – Shape of input data array
    • -
    • operator (class) – Proximity operator class
    • -
    • weights (np.ndarray) – Array of weights
    • -
    • u_init (np.ndarray) – Initial estimate of u
    • -
    -
    -
    -
    -update_weights(weights)[source]
    -

    Update weights

    -

    This method updates the values of the weights

    - --- - - - -
    Parameters:weights (np.ndarray) – Array of weights
    -
    - -
    -
    -update_u()[source]
    -

    Update u

    -

    This method updates the values of u

    -
    - -
    -
    -op(data)[source]
    -

    Operator

    - --- - - - - - - - -
    Parameters:data (np.ndarray) – Input data array
    Returns:
    Return type:np.ndarray result
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.regression.html b/docs/build/html/sf_tools.signal.regression.html deleted file mode 100644 index 26492b9..0000000 --- a/docs/build/html/sf_tools.signal.regression.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - - - - - 2.1.6.1.9. sf_tools.signal.regression module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.9. sf_tools.signal.regression module

    -

    REGRESSION ROUTINES

    -

    This module contains methods for linear regression.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.0
    Date:04/04/2017
    -
    -
    -sf_tools.signal.regression.linear_fit(B, x)[source]
    -

    Linear fit

    -

    This method defines the equation of a straight line.

    - --- - - - - - - - -
    Parameters:
      -
    • B (tuple) – Slope (m) and intercept (b) of the line.
    • -
    • x (list or np.ndarray) – The 1D data vector
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 1D array of corresponding y values

    -
    -

    Notes

    -

    This equation of a stright line is given by

    -
    -\[y = mx + b\]
    -
    - -
    -
    -sf_tools.signal.regression.polynomial(x, a)[source]
    -

    Polynomial

    -

    This method defines the equation of a polynomial line.

    - --- - - - - - - - -
    Parameters:
      -
    • x (list or np.ndarray) – The 1D data vector
    • -
    • a (list or np.ndarray) – The 1D polynomial coefficient vector
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 1D array of corresponding y values

    -
    -

    Notes

    -

    This equation of a stright line is given by

    -
    -\[y = a_0 + a_1x + a_2x^2 + \dots + a_kx^k\]
    -
    - -
    -
    -sf_tools.signal.regression.polynomial_fit(x, y, k=1)[source]
    -

    Polynomial fit

    -

    This method finds the coefficients for a polynomial line fit to the input -data using least squares.

    - --- - - - - - - - -
    Parameters:
      -
    • x (list or np.ndarray) – The 1D independent data vector
    • -
    • y (list or np.ndarray) – The 1D dependent data vector
    • -
    • k (int, optional) – Number of degrees of freedom. Default (k=1)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 1D array of coefficients a

    -
    -
    - -
    -
    -sf_tools.signal.regression.least_squares(X, y)[source]
    -

    Least squares

    -

    This method performs an analytical least squares regression. Returns the -values of the coefficients, a, given the input matrix X and the -corresponding y values.

    - --- - - - - - - - - - -
    Parameters:
      -
    • X (np.ndarray) – The 2D independent data matrix.
    • -
    • y (np.ndarray) – The 1D dependent data vector
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 1D array of coefficients a

    -
    Raises:

    ValueError – If inputs are not numpy arrays

    -
    -
    -

    Todo

    -

    Add equation and example

    -
    -
    - -
    -
    -sf_tools.signal.regression.x_matrix(x, k)[source]
    -

    Define X matrix

    -

    This method defines the matrix X for a given vector x corresponding to a -polynomial with k degrees of freedom.

    - --- - - - - - - - -
    Parameters:
      -
    • x (list or np.ndarray) – The 1D independent data vector
    • -
    • k (int) – Number of degrees of freedom
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray the 2D independent variable matrix X

    -
    -
    - -
    -
    -sf_tools.signal.regression.fit_odr(x, y, xerr, yerr, fit)[source]
    -

    Fit via ODR

    -

    This method performs an orthogonal distance regression fit.

    - --- - - - - - - - -
    Parameters:
      -
    • x (list or np.ndarray) – The 1D independent data vector
    • -
    • y (list or np.ndarray) – The 1D dependent data vector
    • -
    • x_err (list or np.ndarray) – 1D data vector of x value errors
    • -
    • y_err (list or np.ndarray) – 1D data vector of y value errors
    • -
    • fit (function) – Fitting function
    • -
    -
    Returns:

    -
    Return type:

    tuple best fit parameters

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.reweight.html b/docs/build/html/sf_tools.signal.reweight.html deleted file mode 100644 index 1f04c1d..0000000 --- a/docs/build/html/sf_tools.signal.reweight.html +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - - - - - 2.1.6.1.10. sf_tools.signal.reweight module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.10. sf_tools.signal.reweight module

    -

    REWEIGHTING CLASSES

    -

    This module contains classes for reweighting optimisation implementations

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.3
    Date:20/10/2017
    -
    -
    -class sf_tools.signal.reweight.cwbReweight(weights, thresh_factor=1)[source]
    -

    Bases: object

    -

    Candes, Wakin and Boyd reweighting class

    -

    This class implements the reweighting scheme described in [CWB2007]

    - --- - - - -
    Parameters:
      -
    • weights (np.ndarray) – Array of weights
    • -
    • thresh_factor (float) – Threshold factor
    • -
    -
    -
    -
    -reweight(data)[source]
    -

    Reweight

    -

    This method implements the reweighting from section 4 in [CWB2007]

    -

    Notes

    -

    Reweighting implemented as:

    -
    -\[w = w \left( \frac{1}{1 + \frac{|x^w|}{n \sigma}} \right)\]
    -
    - -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.svd.html b/docs/build/html/sf_tools.signal.svd.html deleted file mode 100644 index c10fb06..0000000 --- a/docs/build/html/sf_tools.signal.svd.html +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - 2.1.6.1.11. sf_tools.signal.svd module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.11. sf_tools.signal.svd module

    -

    SVD ROUTINES

    -

    This module contains methods for thresholding singular values.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.signal.svd.find_n_pc(u, factor=0.5)[source]
    -

    Find number of principal components

    -

    This method finds the minimum number of principal components required

    - --- - - - - - - - -
    Parameters:
      -
    • u (np.ndarray) – Left singular vector
    • -
    • factor (float, optional) – Factor for testing the auto correlation (default is ‘0.5’)
    • -
    -
    Returns:

    -
    Return type:

    int number of principal components

    -
    -
    - -
    -
    -sf_tools.signal.svd.svd_thresh(data, threshold=None, n_pc=None, thresh_type='hard')[source]
    -

    Threshold the singular values

    -

    This method thresholds the input data using singular value decomposition

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • threshold (float, optional) – Threshold value
    • -
    • n_pc (int or str, optional) – Number of principal components, specify an integer value or ‘all’
    • -
    • threshold_type (str {'hard', 'soft'}) – Type of noise to be added (default is ‘hard’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray thresholded data

    -
    Raises:

    ValueError – For invalid string entry for n_pc

    -
    -
    - -
    -
    -sf_tools.signal.svd.svd_thresh_coef(data, operator, threshold, thresh_type='hard')[source]
    -

    Threshold the singular values coefficients

    -

    This method thresholds the input data using singular value decomposition

    - --- - - - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data array
    • -
    • operator (class) – Operator class instance
    • -
    • threshold (float, optional) – Threshold value
    • -
    • threshold_type (str {'hard', 'soft'}) – Type of noise to be added (default is ‘hard’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray thresholded data

    -
    Raises:

    ValueError – For invalid string entry for n_pc

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.validation.html b/docs/build/html/sf_tools.signal.validation.html deleted file mode 100644 index 2980f85..0000000 --- a/docs/build/html/sf_tools.signal.validation.html +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - 2.1.6.1.12. sf_tools.signal.validation module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.12. sf_tools.signal.validation module

    -

    VALIDATION ROUTINES

    -

    This module contains methods for testing signal and operator properties.

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:06/12/2017
    -
    -
    -sf_tools.signal.validation.transpose_test(operator, operator_t, x_shape, x_args, y_shape=None, y_args=None)[source]
    -

    Transpose test

    -

    This method tests two operators to see if they are the transpose of each -other.

    - --- - - - -
    Parameters:
      -
    • operator (function) – Operator function
    • -
    • operator_t (function) – Transpose operator function
    • -
    • x_shape (tuple) – Shape of operator input data
    • -
    • x_args (tuple) – Arguments to be passed to operator
    • -
    • y_shape (tuple, optional) – Shape of transpose operator input data
    • -
    • y_args (tuple, optional) – Arguments to be passed to transpose operator
    • -
    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/build/html/sf_tools.signal.wavelet.html b/docs/build/html/sf_tools.signal.wavelet.html deleted file mode 100644 index 6032ea2..0000000 --- a/docs/build/html/sf_tools.signal.wavelet.html +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - - 2.1.6.1.13. sf_tools.signal.wavelet module — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    - - - - - - - - - - - - - - - - -
    - - - - -
    -
    -
    -
    - -
    -

    2.1.6.1.13. sf_tools.signal.wavelet module

    -

    WAVELET MODULE

    -

    This module contains methods for performing wavelet transformations using iSAP

    - --- - - - - - - - -
    Author:Samuel Farrens <samuel.farrens@gmail.com>
    Version:1.2
    Date:20/10/2017
    -
    -
    -sf_tools.signal.wavelet.call_mr_transform(data, opt=None, path='./', remove_files=True)[source]
    -

    Call mr_transform

    -

    This method calls the iSAP module mr_transform

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data, 2D array
    • -
    • opt (list, optional) – List of additonal mr_transform options
    • -
    • path (str, optional) – Path for output files (default is ‘./’)
    • -
    • remove_files (bool, optional) – Option to remove output files (default is ‘True’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray results of transform

    -
    -
    - -
    -
    -sf_tools.signal.wavelet.get_mr_filters(data_shape, opt=None, coarse=False)[source]
    -

    Get mr_transform filters

    -

    This method obtains wavelet filters by calling mr_transform

    - --- - - - - - - - -
    Parameters:
      -
    • data_shape (tuple) – 2D data shape
    • -
    • opt (list, optional) – List of additonal mr_transform options
    • -
    • coarse (bool, optional) – Option to keep coarse scale (default is ‘False’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray 3D array of wavelet filters

    -
    -
    - -
    -
    -sf_tools.signal.wavelet.filter_convolve(data, filters, filter_rot=False)[source]
    -

    Filter convolve

    -

    This method convolves the input image with the wavelet filters

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data, 2D array
    • -
    • filters (np.ndarray) – Wavelet filters, 3D array
    • -
    • filter_rot (bool, optional) – Option to rotate wavelet filters (default is ‘False’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray convolved data

    -
    -
    - -
    -
    -sf_tools.signal.wavelet.filter_convolve_stack(data, filters, filter_rot=False)[source]
    -

    Filter convolve

    -

    This method convolves the a stack of input images with the wavelet filters

    - --- - - - - - - - -
    Parameters:
      -
    • data (np.ndarray) – Input data, 3D array
    • -
    • filters (np.ndarray) – Wavelet filters, 3D array
    • -
    • filter_rot (bool, optional) – Option to rotate wavelet filters (default is ‘False’)
    • -
    -
    Returns:

    -
    Return type:

    np.ndarray convolved data

    -
    -
    - -
    - - -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/source/sf_tools.base.np_adjust.rst b/docs/source/sf_tools.base.np_adjust.rst deleted file mode 100644 index 66d73bc..0000000 --- a/docs/source/sf_tools.base.np_adjust.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.np\_adjust module -================================== - -.. automodule:: sf_tools.base.np_adjust - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.base.rst b/docs/source/sf_tools.base.rst deleted file mode 100644 index aaf37f3..0000000 --- a/docs/source/sf_tools.base.rst +++ /dev/null @@ -1,19 +0,0 @@ -sf\_tools\.base package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.base.np_adjust - sf_tools.base.transform - sf_tools.base.types - -Module contents ---------------- - -.. automodule:: sf_tools.base - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.base.transform.rst b/docs/source/sf_tools.base.transform.rst deleted file mode 100644 index ec5f1f3..0000000 --- a/docs/source/sf_tools.base.transform.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.transform module -================================= - -.. automodule:: sf_tools.base.transform - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.base.types.rst b/docs/source/sf_tools.base.types.rst deleted file mode 100644 index 770a9e3..0000000 --- a/docs/source/sf_tools.base.types.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.base\.types module -============================= - -.. automodule:: sf_tools.base.types - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.convolve.rst b/docs/source/sf_tools.image.convolve.rst deleted file mode 100644 index 73d9c72..0000000 --- a/docs/source/sf_tools.image.convolve.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.convolve module -================================= - -.. automodule:: sf_tools.image.convolve - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.distort.rst b/docs/source/sf_tools.image.distort.rst deleted file mode 100644 index 3c2aa36..0000000 --- a/docs/source/sf_tools.image.distort.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.distort module -================================ - -.. automodule:: sf_tools.image.distort - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.quality.rst b/docs/source/sf_tools.image.quality.rst deleted file mode 100644 index 6219c53..0000000 --- a/docs/source/sf_tools.image.quality.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.quality module -================================ - -.. automodule:: sf_tools.image.quality - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.rst b/docs/source/sf_tools.image.rst deleted file mode 100644 index e283833..0000000 --- a/docs/source/sf_tools.image.rst +++ /dev/null @@ -1,22 +0,0 @@ -sf\_tools\.image package -======================== - -Submodules ----------- - -.. toctree:: - - sf_tools.image.convolve - sf_tools.image.distort - sf_tools.image.quality - sf_tools.image.shape - sf_tools.image.stamp - sf_tools.image.stats - -Module contents ---------------- - -.. automodule:: sf_tools.image - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.shape.rst b/docs/source/sf_tools.image.shape.rst deleted file mode 100644 index e426acf..0000000 --- a/docs/source/sf_tools.image.shape.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.shape module -============================== - -.. automodule:: sf_tools.image.shape - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.stamp.rst b/docs/source/sf_tools.image.stamp.rst deleted file mode 100644 index 646ffba..0000000 --- a/docs/source/sf_tools.image.stamp.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.stamp module -============================== - -.. automodule:: sf_tools.image.stamp - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.image.stats.rst b/docs/source/sf_tools.image.stats.rst deleted file mode 100644 index 64ea1cf..0000000 --- a/docs/source/sf_tools.image.stats.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.image\.stats module -============================== - -.. automodule:: sf_tools.image.stats - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.interface.errors.rst b/docs/source/sf_tools.interface.errors.rst deleted file mode 100644 index 55fff77..0000000 --- a/docs/source/sf_tools.interface.errors.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.interface\.errors module -=================================== - -.. automodule:: sf_tools.interface.errors - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.interface.log.rst b/docs/source/sf_tools.interface.log.rst deleted file mode 100644 index afcbb0d..0000000 --- a/docs/source/sf_tools.interface.log.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.interface\.log module -================================ - -.. automodule:: sf_tools.interface.log - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.interface.rst b/docs/source/sf_tools.interface.rst deleted file mode 100644 index 4f55993..0000000 --- a/docs/source/sf_tools.interface.rst +++ /dev/null @@ -1,18 +0,0 @@ -sf\_tools\.interface package -============================ - -Submodules ----------- - -.. toctree:: - - sf_tools.interface.errors - sf_tools.interface.log - -Module contents ---------------- - -.. automodule:: sf_tools.interface - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.angle.rst b/docs/source/sf_tools.math.angle.rst deleted file mode 100644 index 405930b..0000000 --- a/docs/source/sf_tools.math.angle.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.angle module -============================= - -.. automodule:: sf_tools.math.angle - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.integrate.rst b/docs/source/sf_tools.math.integrate.rst deleted file mode 100644 index 527fadc..0000000 --- a/docs/source/sf_tools.math.integrate.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.integrate module -================================= - -.. automodule:: sf_tools.math.integrate - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.matrix.rst b/docs/source/sf_tools.math.matrix.rst deleted file mode 100644 index 3a34404..0000000 --- a/docs/source/sf_tools.math.matrix.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.matrix module -============================== - -.. automodule:: sf_tools.math.matrix - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.misc.rst b/docs/source/sf_tools.math.misc.rst deleted file mode 100644 index b1a541d..0000000 --- a/docs/source/sf_tools.math.misc.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.misc module -============================ - -.. automodule:: sf_tools.math.misc - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.rst b/docs/source/sf_tools.math.rst deleted file mode 100644 index 0ddf616..0000000 --- a/docs/source/sf_tools.math.rst +++ /dev/null @@ -1,21 +0,0 @@ -sf\_tools\.math package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.math.angle - sf_tools.math.integrate - sf_tools.math.matrix - sf_tools.math.misc - sf_tools.math.stats - -Module contents ---------------- - -.. automodule:: sf_tools.math - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.math.stats.rst b/docs/source/sf_tools.math.stats.rst deleted file mode 100644 index 6263488..0000000 --- a/docs/source/sf_tools.math.stats.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.math\.stats module -============================= - -.. automodule:: sf_tools.math.stats - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.plot.cost_plot.rst b/docs/source/sf_tools.plot.cost_plot.rst deleted file mode 100644 index f634444..0000000 --- a/docs/source/sf_tools.plot.cost_plot.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.plot\.cost\_plot module -================================== - -.. automodule:: sf_tools.plot.cost_plot - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.plot.rst b/docs/source/sf_tools.plot.rst deleted file mode 100644 index 63a26e9..0000000 --- a/docs/source/sf_tools.plot.rst +++ /dev/null @@ -1,17 +0,0 @@ -sf\_tools\.plot package -======================= - -Submodules ----------- - -.. toctree:: - - sf_tools.plot.cost_plot - -Module contents ---------------- - -.. automodule:: sf_tools.plot - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.rst b/docs/source/sf_tools.rst deleted file mode 100644 index 782f6f2..0000000 --- a/docs/source/sf_tools.rst +++ /dev/null @@ -1,22 +0,0 @@ -sf\_tools package -================= - -Subpackages ------------ - -.. toctree:: - - sf_tools.base - sf_tools.image - sf_tools.interface - sf_tools.math - sf_tools.plot - sf_tools.signal - -Module contents ---------------- - -.. automodule:: sf_tools - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.cost.rst b/docs/source/sf_tools.signal.cost.rst deleted file mode 100644 index bcf75b8..0000000 --- a/docs/source/sf_tools.signal.cost.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.cost module -============================== - -.. automodule:: sf_tools.signal.cost - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.filter.rst b/docs/source/sf_tools.signal.filter.rst deleted file mode 100644 index c24084d..0000000 --- a/docs/source/sf_tools.signal.filter.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.filter module -================================ - -.. automodule:: sf_tools.signal.filter - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.gradient.rst b/docs/source/sf_tools.signal.gradient.rst deleted file mode 100644 index 521794d..0000000 --- a/docs/source/sf_tools.signal.gradient.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.gradient module -================================== - -.. automodule:: sf_tools.signal.gradient - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.linear.rst b/docs/source/sf_tools.signal.linear.rst deleted file mode 100644 index 48dc126..0000000 --- a/docs/source/sf_tools.signal.linear.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.linear module -================================ - -.. automodule:: sf_tools.signal.linear - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.noise.rst b/docs/source/sf_tools.signal.noise.rst deleted file mode 100644 index d0f6215..0000000 --- a/docs/source/sf_tools.signal.noise.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.noise module -=============================== - -.. automodule:: sf_tools.signal.noise - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.optimisation.rst b/docs/source/sf_tools.signal.optimisation.rst deleted file mode 100644 index 6d9c60b..0000000 --- a/docs/source/sf_tools.signal.optimisation.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.optimisation module -====================================== - -.. automodule:: sf_tools.signal.optimisation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.positivity.rst b/docs/source/sf_tools.signal.positivity.rst deleted file mode 100644 index 619f0c5..0000000 --- a/docs/source/sf_tools.signal.positivity.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.positivity module -==================================== - -.. automodule:: sf_tools.signal.positivity - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.proximity.rst b/docs/source/sf_tools.signal.proximity.rst deleted file mode 100644 index b96ec5e..0000000 --- a/docs/source/sf_tools.signal.proximity.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.proximity module -=================================== - -.. automodule:: sf_tools.signal.proximity - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.regression.rst b/docs/source/sf_tools.signal.regression.rst deleted file mode 100644 index 24c3364..0000000 --- a/docs/source/sf_tools.signal.regression.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.regression module -==================================== - -.. automodule:: sf_tools.signal.regression - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.reweight.rst b/docs/source/sf_tools.signal.reweight.rst deleted file mode 100644 index 401cc5b..0000000 --- a/docs/source/sf_tools.signal.reweight.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.reweight module -================================== - -.. automodule:: sf_tools.signal.reweight - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.rst b/docs/source/sf_tools.signal.rst deleted file mode 100644 index fead595..0000000 --- a/docs/source/sf_tools.signal.rst +++ /dev/null @@ -1,29 +0,0 @@ -sf\_tools\.signal package -========================= - -Submodules ----------- - -.. toctree:: - - sf_tools.signal.cost - sf_tools.signal.filter - sf_tools.signal.gradient - sf_tools.signal.linear - sf_tools.signal.noise - sf_tools.signal.optimisation - sf_tools.signal.positivity - sf_tools.signal.proximity - sf_tools.signal.regression - sf_tools.signal.reweight - sf_tools.signal.svd - sf_tools.signal.validation - sf_tools.signal.wavelet - -Module contents ---------------- - -.. automodule:: sf_tools.signal - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.svd.rst b/docs/source/sf_tools.signal.svd.rst deleted file mode 100644 index 511982f..0000000 --- a/docs/source/sf_tools.signal.svd.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.svd module -============================= - -.. automodule:: sf_tools.signal.svd - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.validation.rst b/docs/source/sf_tools.signal.validation.rst deleted file mode 100644 index baa2371..0000000 --- a/docs/source/sf_tools.signal.validation.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.validation module -==================================== - -.. automodule:: sf_tools.signal.validation - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/sf_tools.signal.wavelet.rst b/docs/source/sf_tools.signal.wavelet.rst deleted file mode 100644 index e617d8b..0000000 --- a/docs/source/sf_tools.signal.wavelet.rst +++ /dev/null @@ -1,7 +0,0 @@ -sf\_tools\.signal\.wavelet module -================================= - -.. automodule:: sf_tools.signal.wavelet - :members: - :undoc-members: - :show-inheritance: From 0a1a897ca400b6c85161bc19a76d09b700241a01 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 13:11:05 +0200 Subject: [PATCH 4/8] updated travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 9321cc6..d2faddc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ branches: # install package and dependencies install: - pip install coverage nose pytest pytest-cov - - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy sphinx==1.6.5 sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy modopt sphinx==1.6.5 sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi # run unit tests script: From 88decc93d5a2da148add463df79d8f35e85b4b13 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 13:39:10 +0200 Subject: [PATCH 5/8] fixed bug --- dist/sf_tools-0.1.dev0.tar.gz | Bin 29973 -> 0 bytes dist/sf_tools-0.1.dev1.tar.gz | Bin 30225 -> 0 bytes dist/sf_tools-0.2.dev0.tar.gz | Bin 29978 -> 0 bytes dist/sf_tools-0.3.dev0.tar.gz | Bin 29971 -> 0 bytes dist/sf_tools-1.0.0.tar.gz | Bin 30657 -> 0 bytes dist/sf_tools-1.0.1.tar.gz | Bin 30674 -> 0 bytes dist/sf_tools-1.0.tar.gz | Bin 29930 -> 0 bytes dist/sf_tools-1.1.tar.gz | Bin 30075 -> 0 bytes setup.cfg | 2 +- sf_tools.egg-info/PKG-INFO | 22 ----------- sf_tools.egg-info/SOURCES.txt | 45 ---------------------- sf_tools.egg-info/dependency_links.txt | 1 - sf_tools.egg-info/top_level.txt | 1 - sf_tools/tests/test_image.py | 51 ------------------------- 14 files changed, 1 insertion(+), 121 deletions(-) delete mode 100644 dist/sf_tools-0.1.dev0.tar.gz delete mode 100644 dist/sf_tools-0.1.dev1.tar.gz delete mode 100644 dist/sf_tools-0.2.dev0.tar.gz delete mode 100644 dist/sf_tools-0.3.dev0.tar.gz delete mode 100644 dist/sf_tools-1.0.0.tar.gz delete mode 100644 dist/sf_tools-1.0.1.tar.gz delete mode 100644 dist/sf_tools-1.0.tar.gz delete mode 100644 dist/sf_tools-1.1.tar.gz delete mode 100644 sf_tools.egg-info/PKG-INFO delete mode 100644 sf_tools.egg-info/SOURCES.txt delete mode 100644 sf_tools.egg-info/dependency_links.txt delete mode 100644 sf_tools.egg-info/top_level.txt diff --git a/dist/sf_tools-0.1.dev0.tar.gz b/dist/sf_tools-0.1.dev0.tar.gz deleted file mode 100644 index 83f6fd76a0c76748afd1fe53a46bd3368e233214..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29973 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 diff --git a/dist/sf_tools-0.1.dev1.tar.gz b/dist/sf_tools-0.1.dev1.tar.gz deleted file mode 100644 index ae874441f0b490954a773aed8db2a4bfd957bc84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30225 zcmV(`K-0e;iwFpRR&QAX|72-%bT4yeUvzJ8Y;!FzE-@}-Wp*(xbYXG;?7jP18&~ou zI)C#NJ;~0dKv$e&4cbfFK+1lj4 z{PP#D?X}z6TWxP==PylftLe4>;%xop3;axz)Q=tKFUi1<<6xYWm4jk~!IDYhMC9K; z$xo77|95|XwXuKj^6l-e|Muo)+4_5JSaW;*x4l;LFHZAe{qOweO_2J1KlL~M5yVLt zjh{JQ!&^J>N5L~k;>MbKCy`|BXgV7C@%)+d{^0KiZ~u9)_P1yhY)t%fsCJR2ljPas z$LC>sF+FSaqS0ds+{dcP-D!Fe#n=bG5f3(kksl7>u|Jvy!-jbI|D5AfY-#Ov*nx~-?6ev?&M4|nhw$_oT5|l!WEl2*1bE`4 zk&}eyV}Gcco5WEsNRn`T?)c-r1B91`NgDQ&M!xI4SqcM$1$FvSZ#oLbDK!gAGs5~w z6pjC?YrPx#=^%X~3Yd7O>7GJv+ezqzfTakaQ-4efAz^B$K@ujbm{*xe`P8z+z`InOan%?GSR{q;= zw;$;LOZ=RSgaCND*4J{-#vmL9PR9{@!KlBsb`qSQcf;`@It6+=@19M=VINA+7pRY= zoAf2Q8h7L1DnyBq9zJZcf2#eT>3=f+V)|cmyJ^sWyG8rIxA{Q-U*cyFM zNff92r0xvDalbq9dzYZtfq+0yU6QBApdohFCHAb>>7h^J13qS0T93P=+QG|`eP0y5 zVqLSdE)h~ZpTv*Z&!_)0KM8JS6Ih-9L+Pyt{{J>?Ky{U-yiQE>>UaA&)i;f|73b*ZUBHYVb1|+ zHx}lyWZJucZNW+BlVB~4{c(Z@c<~aq1;76*ECE``$hMYV1WrE~_|swPMALLKP0=!U zFda?i&R{z3QN@Ry20r7A5#s7VO zbo^%T;CLA?7zIF*eIW@F(x9!ofTFQLFNm?$+U=9Jr%AhQllI!0FmH^hQ(#Nu2|R?+ zIdPOi6&Ed`wP&QmLxn?nxJF-j#xz4w82OhIj&VYwy*T#g&e`1Yo-|>~=W!6=e6aRA zKlY(A43fTXs2{dfK(Ed-7))c_r$*F~MNfM(e>52e_8jQTk3atCkSVDLlZI-@ zI~t02NUIVLLsghL9ULTpW_%vFPthcjT=*W;ObR3T|hrZ&9P|%+nSPpoxu2OyLhPtpv`A z!G_?5k=866>jEd~T^3@RL$Av5E%0$Or4_aA zCk8UXaxKKC69+H~S2T-L&IwjT49MaYyaCKYj6vM8vE#&f3iyFY>SZf=h&j-tx0!nb znC3x~!Zk$Wslb*Dww^doMEBddfo+K)w{ve=Vw%m|ki8wzeQuuKrWkS#HlD}Rbe^6r zq69HyMRmmdXNbRa>Lh7n;`dv9K``(cw}?wuBGU(e3X+93@07!=cj; z<3Q~)cgU5=CkAm3YNt~`byab96ivq@(TX|Z&}JkD&yC^L0e;B@zgz{wd1X?=HgCk_ zCuoVj9pa>Qyk`#2xHPLfE~03ymTg=ApJ|JqV%LT5!~hE4iD8trDf`P23L#NP6AEn$ z1_otbHR!2mBph%dK!9-MbUKdrO#5W%+Ho)m{M4lZ@Ve~8_n49-dNHFG303^fo1Jtv@)YHrm&mfI6D$+}T+?zXOLYzcN;Kbqi zMao_5PA0>-Gr$5}Rluzw#?V@lC>Te>VaK~&!LKsvt5KQaSr$au2`~mpcnp`oV;Brp z2FJ#q4jy%9!&5LRe9!A#3a31ORj-hDj;6yj1aS(zH>0sXbVhy}hqGH&7* zL6fa!wo(iC6lk)QQ`1{8<`y*B+CDXvnk=&CECL9KcA-T8=hP}x?qPT|kj*?GJORC( zT&1P}M6M&6Db8st-yH52TLkhVGr}f8FAIn!f@e7(>XMfgK?LWX>(ddY3-4)>jRZ&3 z%G*e2^T*lcP{R>6l2)t87=x38Rn9d><`#l|wvsT$wDO3H=(M9CVlz#D7A9TdDXjIu zCs)%HDUYZp))-tlEilVQ{aKK7RGYO2hl>Bs^FMWDdw1u5UdwCd&i`6F59fdPeg5}i z_juPiKHNPxdinP7%_^sV3Tx2BNv!8qkM*`6H$C%Mui#XV{hE6rh$6`K&|^)MI`^kZ z68hurARK}u$0bAfWH~^G3A**x@iJn6+DnDR*_)mPt&u+=9@)ijb!X_$qiL$;&FAnG z1*kXvq(s(4z_3OiYPpbx;XCaY)Co4=JFOQWeon+CBsL08f?hZXL6+lgtBR#G)}^v3 zPY8y&Z-TCcrY#1b#*<3G^ou@}cttonQjSQd^! zbqsA#sO>Nu=!rL^G1K`g?TxsouC;Eo7h>N=U+(%b9bG3NkIPO#KLBYKbb{UmEg+!W zSrFsAc`4TmtfJC5N+5=2V3`{0x&8Nw4|-0}hM-RfY4|6Ei(@PWjL!q{9Xl2SjDiy448`tU(KV<9^{=9<>3b5izmU4N%*}=JW6>7)zL@5eqO9 z`70weHn$9?X(Fu`hTb*26D+pIeyeDVLY$Q4oWK=VeHa?F-9^?hTb&NOp?E^yZ=K z{K?2EGy2;jC^4u`3A%mj90kLm2f~CCo&5?QxYKbLzB#$gL)Li}q=fj4<$`R^{h>db zoBJm`QH0W{rt;0}ECzEAu6M?PNKJR3zhB4`e5B-h%u7cwUO%8zfj7D;jwY_A2 zxVR^ad!Sk?^OG^4M^39&!jp{A)EdW%xbeG|7WsP}*NvMrNt{-%g3xG?wJ9R5K;l$& zIhFHREkaiVFQRn|^M#wAmg??H2-HJ1=v^;BG5Mm^RkN<;lnf0gzs0G!%1Yp@mGB%r zu*b#`y=oPY>FZ7(ou)hMA)lx7P;ocNumR$d789qA$n_;R*)$m8dvmNgT(3LE$Na23 zX?n`=n8K3(aV)2Zy%ewz7z~2?iEMDEbpx_CT)n&ZxMB@2n3um=`!8%k$!FdG zUS|K@R`LHf@jtx()%G6Z|J}R&_xNA$_ME@%9=v$HfADG*^X~d zo0Tti^e%$lWp^-)K)wP=(b!h;1=?5GQbmqc91)5NJLF+ya6e$5^dhN~Q6}P3dzk-K z5T{kWtbjZF<19<3t`~D*HKd{edviV86PEN7YRl>%2^QJJ z_JtcdlDmB`U|K*#EhEruSy!)etyV;YN6O1+GBmFbt( zsgQb$M7G-^+}k8pDZSkax!wth0(eUa6y5<2uSB6-PPCHRK$Sl~DrZndKo z5ltoP+BQ8FH3P%?QlcC=WXynGl011Q2_FR2W z8c(ONHE}uM?eX4G=5oMWKGGxWGpSFo2;msOb2g{Z(`tP_OAyOyv4j)cPH{KIq5I=H z?xz{n07cMQ9Dj)tORt*5huGT*6Tk|BmyFhJ+!61NYJ=kT8O?a)*a88~>iT0`UJdVgI zAb@>#2+aKj?pGv!JO2#)OXoG-@Pn^=Gbk0(tv3(?jwU{OePa_WA-*{{+&zK~rH!|L zy=MD4^dN&t`|&KiYDDq*WB)99jMo?%JKIn3LNt!!r#CG?_fzL5{}P6QLjRixduz8xx-m=)S$1guNzU~Po`%enp|KQR-8Z-;2hG} z@1>32VDx{caoCB14R34X$p$te=5%lbkl8+U4$hg}mdY5(Q-O)?HfG`;L zF%n8lpvL{Z??hu7-Uy_GW4>e*vl`wHc{ikK;EkuF{oOYY;ak5h{*SV9G`tG#@cvJG zr=7e1(|(BmcklfF`P+kkynPMa|Lwslr@xFbQ`BB=m;YCZ=4agd;egZX>hU0zsB9L3 z#~9JtC^g38IQj#>fkO^ben20&Du=nAH;kFe24o-Ifh=4hmRa47X(o;sWlQ6UOQcwL zU?Uj^8FLgC;X4%^N%7^&;{v0UC}>{I;GLRk>WADz6=j#J7dk3QZ*N1v<#tPpi`Ogr zlgWAYtqyGsPFR&-JsNTqUHyH`uoZ_K^Ce})0_5C)%fB^3#o%rE?Q<~(xdwOUQy z1?UGA7W{=Ov~=>_ zt9=8Zi`x;vBJXep(=#%9|Dj-Ach+fdSpQUDgnMp4LDY98gaBZA!PZn2^~|=DzE8x$ z6znDqa~n~i4&&%5!~lPpD@eOs-*HjI7ZSc~6J>jIC_J%}ftcH7!`Lqi2H+g^!gq74 z8Q0V>xGAIeO5vd-RqHqmmdA3&MUFzd&HRl4p-yk678pp);{SI67Dx zH;>A-Dt32nr9s*ng=dcg=Nr+~H#pgEsIhMfdhT?J&|Gjz6PYu7?kt+(^3OZ#*Rel= z@%EsJ&T%}I_Z8?E!{{W7z%o>j#?~w+jrsv4oeES?!U?E2nbPoxesw_*>%8=bNx)zE zWM~l1g8pJ24C?P928<3mdh7Ld@w;G` zRyV3Cv;)Y_5Sq_mjU&xJ8Mo*ZgF_x;Yj)gXRh!NkBzNXD0ECXte(hfQaUplc#;BIX zlg08GY>=PWY!I)+VtsUA!`C47H-d%}rg9@B`om3+!Z7oGq??q(Ds5Ca!$O(R$3sD* z^*+c4XwFItoBtB5Q-WJFIR+82I61XElT)jtI8SbwDsdjUZW-P~jWOpD&3$9A9)V!Q zFx5biM`TwQ(Y_<&e!~}&wMZ;2EG&XA>ni4yi+ajkR<_toHzcOQSA+S183)-KljeZ?g(8aJH9VA8O%YJZte>g7?CZ`lw`!`&nwe@0m&{Rcj$6GI z4@B|AXryv<^&p|V3WEYrX2^Bkz3}l4qEbb2YS2Yt38nm~B3&|>iSy9$uP!}Q$`J;_ zbX}w1Bkme6HrtQ6o+d3~BKnM!p;BjeUP3XGmq0&{Is$TqdYPI9YhqdjgQ}!}Js5wh z*niPTAI0h2<$vr{yX^PGB@ps?D5CSXIXDMg`i zds~{ZFYyR7K}Xdv>Ew}0RNjB|Gzx5SH}c-^myJekWMUGA|C<23wULOZIim27PIGyr zr+m*c+_sF31I?JqFBfVg;qO5v{Jz+W2qY)XXV17~-BBM;4S6rqOlw&)bmd%s^G;P` zi~Z}$CfNg|i^jvbq-6L)ex&P*E?cjs*O35ELuuBqwZbI20mx}x8nlovbeJoX zF1yGpG#qwS_7wUS`~8l{eqrPo8V+#)psW{U7#a=}t@9C{wfa0OTYAvdS1u6yYXTLUgp?Xrdt%OoHF0=wrrq zl??I`kCG)8As;H{u~}Fo?^v0zmtmJ-`YS;$c1Gvf5q}K}vJsVp>N9agK$Bv42;td% z_L!C5T8#7|-7;|$T`DrtcKolP;K=rV|3TBRExi;^8Xy#RuexwmvV zHrmL9VF6{L)j>X)caY$Ml2HQ609wXp)~aY>Bz-elHO%( zEnTXWE!8}&SwS?%b63|!LpL!9^Da-6bUmKQHDF6nSR9%~CI%9i^SwPU6|XPTUwLP( zTxS(~l391e!dMrlWCSD&tU9D!!Rq9K1uDQ>7oCi*K-~u=+7-|047s{2b3$KDIcZ@p ztyOwy>0X|RCt6Ii*psAvIdSms{f1unG$XQ}E%QF#-R;a^u!s2Ey(88=Ju zGX<>-+xeD#xfMg@9C#HtQp1k=cNB;NR4y*;2GYr)QE+QV1E9nzZS9|y*p%1LEAF*C zP6X>P7@wmioQbhWK#Qa6ghvcm)fFXmxYB}FUxpyf(`tdlM6UGCS&&`_!8jkuv@iV< z^p4rc3ysEvieyI36pdOxEV0Y{-B@B}g&77(!aF&hmi~s3%tYq+rQx@!q4gYS1tzh| zX`vFTr}k2!oG9xb3ir*4ueGBb)!XewA`T>GT~sQPIz+;3i*B=S3(U3h_@$Y$l$g;< z!&ua{rSs~SAQ0m&wu{s{qF1i<9|83M@M@{M{o8H zj;o#kAusF={Unj8D)CbybuNKY+9DDM#IfS3%FcXy$wFFBb+Qo7dd6bNQ8ZHfn;bTU zuh-K;9~5XUgYEiF8ATzA1?g#4{lv9Gal z=4o~%z5Xy5OKo{i99muo@xq^!Nit87B|Y--X!d**128g3f}KL zUMo0X%T*JlYvz%v<#lAHZaB%bFcV$r!@lfLFwN~+*)iYJ=D3m5S}g|x<_F~4BsLa7 zqF-ch$uWUN8;$f6GaT2l8%?%Nan5|3`^>FwDR;PgNJ z*jSu;z$vMz(#B*q6Ja(pc9VPqrsIfY{srS$sfpHt{i9$9Qk8MMrw?wk|7G?cwyu9x z0)WN#pVroXA zXgnsUGys;#n|y{M#)Nkcvtu+f7nMq(Y0$eEhrfXYeGTXV+%yl<5r+jv5`+%lxmfrRO`bq z7^H4_r(0hQ3~vE`A7Z?eR(n9L&quAwy6%#*7FnZU3zx5aGi{=~Rd=>(I=Hld0$Qr~ zZ1dFlzT_p9Y0-(L%7Ulxlpkxp()MAHB#h&deX zq4cgZN3Uk*;g$$8K?dg>kPOjH`MQ{$)6%RaBQEM=*>P8v{$QfLa!LNa1;iT*h3~tb z^S^;)FKgXDJO?)I-<(VSbI^rV6_1AUQSX!U;X|f@7Bw)uc>`@~z`J<^n>+;+5uM>L zt(!Nrr5f7!yoR>9p~^t{oW0LtZ>qG-^iJA!r+sSeASWVqiTIUCnJqRL@hkVTrNXGU z8mHpz4?n%$J^1_U{ewMAhB>iQq~w~a{&HzQ3x{0&7sU2_3TSiaM5y0S(%L`W$3j&s4%usBPl@X(J(rTYTNw# z)4~)R8Bypx%0Oh9bN2L}G)je7LN#G}25FBExGf~!jjP7$z1rvlzp`uv|9K>@q|4cG9uCc0~%{N~|j4>N4%M_~tREEtiw*7^&gO@mg2 zJ^bw#yaF9w3Hz0}1Jkj2m|(=A;jyi?&QoI$`FKEL&LvkbRKF55M#tij_8f23B~P}h zo(E}{7+DgyH6z85eG5dQ$+Cf9YqG4>TsC78l~%~tQFxdyG@bM@ESZQG<(5oAOxG3A zL@ppI&gR4hY`T6=?+9IHq-0QPLRr|ZK26FKhE`%sl zaRnr`i&_PXAQn`%rWedu6|J?}n(N9=Hc3XS+@Skx!Hkt{*gTwxACqlD)&L!dbykry zql+A0$ru^<8#B#xRHD_=J;kvY2lGfLX8C1MOjAeR>!ZS?lqovkjocf z+9zk95RTEVsQAn-K3i6PZkL~zmp5S1UOIodh}CEMbGHXWfeAc@IoC6`4*dC-C@{wY zCFJp~^Sp2ww5Fisfa|OXfu?LNl{~U2N?alfYh@&(qz;UZ)2tbH!xGUEHXmN=E5+*l zY;G2i9W(RK+(70j7EqPUCRn!hV<(ScD4KXJDS~DAaTi0Ff%u-0&lN-$({N~HAIkU{ zsF9dQ>Wx+9d>-FIx%@zd;1;7n0UCr-f1qXaQjwJJZ3;z1a32{XRPmg0ep|H9TkE!8 z1Rx7Oy7}CtcAQTwLpGIAA-iiBqGNeux#^aRilwwyq^DPrDb2_EEoEsZ#mJdK$Wj}^ zm)cFdreL9*R;+-7uDn(JPxp`T*H0ZKgaDO@U+*qLch(K-v+l1olvu>aLSBY%L6AA~ z<3Hfjry6|!Rek^UQ_bna<34^YmSM{J)!pg_mh*M_gN5P$tDOj-*f6$?SB zE<_|zfiCi9UzzG;Mm2PQ12(&4RJE+WSV}>b@vDG%v`%Rek9?dbo(0X9kxg$nC8}A) z5ckE1$XiB47`CE}f}F!&@F*C_rrG=ivN3${yietwwU%{efv7Uwe)w?Z$H62ChY^M+ zIWfO?y}I?ab?S5q@Rt>i6G8brp$(qSr$1nppX!B`RB7+i_gK0qN((LJw4#i~p+RiT zm15=?q=DJBLFNA5eu#ktPj80)R&a|Gx1g_$g1+!jUkq@O_ML0aD;j$9bg>F0I{NQ) zZC~#Ho%*B6UHX4}J6>}q=l|VmKlp!t9r2%!j(6X@bB^|2?>%2N2sBU@x>~>{L0FWa zr^*Ba7Kxo{P2C^Ak1T;@aiHr?_Yi)Hp8u>u7R{dqJ^^%)xkw$Dv+m_QnFuJ~(yY>#KfWb=`Lls*4U{6UI?oDGRY zLA#9683hD{t<+0YfkP_))efm#7#3MYIkF=Sq1O;L(Q1ej8)%(-Tdip^=E7##hbnhi zVh2|&Izut_H|QV`q&UFareIl2HL{N`u?oRSj|c;og0P6qLT`R5u@$-MbNwCb83AM$-}t-CXAQE%>dJCQ8I*IE6k_1l<3UvB-OQEG<4*z zeZj@dRUl|%rlv6lLz#$?+xDf_*oZ^k$gHt3c8%>Sagcmc6fZv02J{~Iscu9aSLWN1 zw`e^qvkWZOboHHGUm==@TXf5SQ)U?%qRLu}E2%5Pnl==&m|KCMIBP zywz6J%vK-(qRt0l0T)Hb8wNg9;(J9~UynCMczU)d+f^pIboiLHodd)B=4A}Ag)6K*fk`;S%9#!7T-~xgPRHgyw<~^@Tw2| z@j}OXmY1jk^_Vm;P%1e)x$scjX2?q1WiDdI-lHo&D|8Dg*s!&OP&UA6?%>5LUS%&; zg}XiE>|NqWN%n}n3v8o{{TMHRg~MD5oNvZmhL~xgwOcQ+(ek!JuS<-wSi*44=7MWo|V5*4Z1`MsgUREQz=)w&c2SvL{1vTZMvf65R*2txKN z%Xy2uvx+(>5sYq6I3grbSe8eScfOg9Gm9KhG092BIf1&^uS9lAIvZ||YVqnBP?$qy z2hB|+g&UdQ>qRlg)sJ$b*5c_YB8413X z*fV<-ES?rLB6FQ5A>PBu%x&cpa50BxVuy{(d|qEK+JJ9`FBIjv<^*k4m!`C^WRYyP zoYb-&o1XK7wUW$FeyG4t_A8A!SuZ92M2GnyLDqaDy#On7wuA$GX_Z{AlgS*|jI*BI zdu&oOh;VEptNbc_uR$E@N2AgxJ`w`58zp2V2pxLlg#P za2W&>Ll&_nT{H9>oP7BW!a`w3RI;a535~UAulbCH%iOe$DYzriV<HWG&cr6bQ+tVkwit1cOKjF@ep z3~I-27MdlTS7(a_W;87ZD_%r7%H&WC4V?UKVDd)zyoGq;4^=r8S8pQY>Sgpz&2bG~ zDXTAK%xX3ag@HRZLK|Z5x4_E>20xdwh>h`O+iQU##zgTFtIIMGX}RS^;Wk00V@oYc zb9XkJGuGZ$*4#s-wP)m=(^GSThSxr>#R89gp`NlOy4+P?6vM_`Dl2JF6KvA+$AVn5 zlnQ?yU0xT^EM{Od71|tQhXRQ_rm<*L9IlK_>J|=_sd?!`D8D}Ihqo!~+zmx0w?>kQ zW5mqN5oJ~lT8Gu4CmhIp|Ey!`P*zdxn)>?q)^7vhMvmN18BKCU=8Abxz#C{NGe z+fuYgq&IdGiF>A>Qz^`hPUHTWv4r{{fF4{6D@H z|BvJSqvQSON2|Dgh!e{c*kjlOw$FDr!$ikuy{GKol{`AwTz9m4Y}}1LnvO=WQSHWo z?;N8QFK2sZvo?v>xx$VMtuc2U;7JQ^DZyY6_QF7<;#SbY14x-Got-T1D)(#AaW4iy zaW2QvH3Drv4bEd&J@#2~Lq{By@q7n?4_ix+)WrCX-@bUOTI0t0eeEC0aUsLhFFIr> zu|u1l^y;Eu{u=5``7zFP^da>&R4*I7=?GnZMW!L^tC!K=LfvL-rFv)+v@LTXCSuOE zUQnz>xUgg;pL#6FP85V*jk~zUoj(Mj3)VdLVjWN!5+l5^ zHVI+}on;AW&Z0C0(j{+K*~kj=AqP9R;bX~ta$JV0B*C05gBB#Z&#zv{i_s@2oyk(o z)0$R9&SVMo7M)V-x=D0g)x~?+;+|c+X&3Jo^^Ym6axtC>4le3jeN?^RUoV4gl7CLE(o09LrUksfs*GA173 zP;YY?GdlNz1+6WycOfJMc*3z9!f6Q>Ebg|oO25@QW-Kb`R^wBxT1y(u9#r#t*Z;>r zS_8iqJpRl+Nbld;D%1Z-U1t4%tL^RVfd1dyZnpp8Y(41zU&s1O#q5S=pe6R7X1m?a z*ne6(&8-Lf&%N7!4vzN@U+zBNTW0u4rf2*}-~dQt5|=L_L1VR{df$2+4Lu{=r)u4mR|Nt=860m0pj}Uh5Raq#MWTI@KG-s;sHCq zrZ0iK)rW;${MAj;Sn@J6G$M5RPj0XvhYQHusFC*o#h@$EF}zKZ%2{)bzA-CFs+|M= zX*cI^A$IGI&dEoIPreHdWM2!0%oz%&ai9w4uJOE!(eNS1j*d5JAFsc$$$FlkZVwCF zxQ@d#a0T?-^?&Xj9stg)*PZowfRO^$(cH1lHv!B^!NU*Zg1Z{N+BJ+pl8OB)><4{y zB_k6f5Gs`%^2>E^WY<*2h40aoHqMzD%zD9uPqXt2{+uo_1|?}R#WhVvcEbA!f{--a zk#vnjw8LPo4QC$@1K&)1!J8whshU8UVg%F;e*u(&H)0Ar^kt(JbsFleD_W2!I0%P9 zcMR()&`^ChE{#)CpX@6jh z1|h9I74c|{Ucu7=-o?sis?;Mw--~rwg&v(WPcd2~zSvmLUYiobkhvsFhM-)#$*&Y& ziOr)CCRio6AQd_|`7SxtQ~K+=^PL{@S77C+B>y4Oeuf9YGWoCB%;o>vX>C8qfA=l_ zy?*=Z)eQwd!D;VS*vrd$qFb5iB}lu|Nf#ax;UdM=ovR=|i;|#o98V3libm?`1ncKH zD%q#urH@Gh!yd8ls_e6Xd%`ZN*~60ic>;>K@sioJWVgj*c4{)1rRL3KHG=PfDK?papv}3Qo!;8N=J0{)C)13Rjnm-3lA7^R){?_59Wr6I7*#QDw@0!%GguUEL`iLvmwk^bZFMvuSy zm-F4^{V>`C%E1CopvK`h30VGasj|Bc@&tm({~uc5u-E?0JoO zUR>G0i@l%TzcODN)0CgGVQl5h6)b#WeUF3l)8S$Q`}`$ z$Z>+7Vk#zASCp(N<~-!%7c41TIeoB{J=p&W`<^MOk$A8)KDJpb~p|Ez}e zgY#DG_gxy6k=OM_a2^K%+1oK(fnOBL2j&TazwlI}23Y#;=jv7q;X^Gv6TZpC5dzqh z$R#mP68E&&WFUNP&tb!!t_jvS&nC~Y{mLVPquzhkqpzR_ACGIl`hCJ@$k192Ol4SOX?lOH~Dn;#}Rk!XgX7 zD`Jtv@h^r&62zWBqOF}q>*?0c&eJWg-F(t&x9$>$6vA}!Xl3CLq7Na`VjLpe;c)Yl zP~Z@}>m~u-zYNEzhZp@l1AgqZV4LGraP-e?ESS<H zxSKop#lvrmw%*gm_9h_hlkMjAlXlzN-nZe7vBZDtm%}>4E?rqJ(~>r@}5q&L76$>O9hOlsD>lgZ1K5 zLCk2umZxUdML)asM&2WQ;_=4i?1;k&!|8u7FT_Gn>s6 z6R&aTgMdFu=ONJvYW)nSXI5CRVK8>5HFOSb+R?G5T?}>75!Dxj(XtC-*0SlyJpqKn zAm#3~8`i}u_O*ZqIF_jyn`_$eVGjmnm)bI-m|D--QZz*O@bd;jkRR7|PUoq4*>+k} z;84#3oeRgn5%i2TG5%RLU_qdLUyG{ITIXv`*YW@}&`Qwac-k8Ve%z%AiO4Q0wkf@G z@Kuq;bOgw+;z)2&7b6VCelMs|Et}{li1jTefvI4E8XME#Xxmky;^ch!FxbPUUz_mu6UgVdL&nU5p>;7reKc6%B3JvUP_O1g}>0Uk=KBqN}|ZEiKvxGVz_c( zmx$!IX(ixK7eU^j#;XeDs^-BF>t5>|O!8t1+?igDE|D1Oy?@38J*i zyvRB#z>|VVusVKS2w)jWsx@n2OJ;c$V2icQP#gGHKQz$sPa?&B&xb)}kQNND6mHto zC*lO02)i1Cr|xVBLmz)XEphBTu}ak)tC7>wy3@zo8l82T-?}u$$t6K8P09jA%Tl1> zb1gi^w6=A}Kf|P6Mhy4LOK^kD{#I9wXVkYAtoZ&$L0DQdyto)9MNiJGdoJ^X5QfZr z+Zer@;&L}BF1L))y(sC81s<7kAOVt%1LZ84T!aHOFKbj2sdzRp%B)Il7LNPDY_*(g zFl*l5;X`SNOzMnsv7wlNW8wbB!F4y+Cq@T~QkS0B^E{)b&>0kGx)j9?TJ4?amVfLh zh@Ltd`in)2+ye!SQZ*aLwNsVvn0~_(6$|o3BD^tffSlkDdporC{-br>Go$SIL@~33BF7)2JIy$0CY( zfxwL=gkzMG7-GgEO`~uXb8{*tm=5d#&#VjZ`MVvwF7%nF2+}8{VRp~Dy>s3 zIFcHl+*wM(Hy^8V=>;;0XxJA4ebArbJis?@Uqtwa!G43&{YI-ea^4Gb2fXoT;b=NC z!mMExKa&z8lj9mu#N`OjL0Xe3&~Vjt(D+#w$1CDo**Irqb>FA%0%tl-Lk^Ptx}_A1 znVPJTn38xCk6J4@VLVQ3Whn8HSC z&JWq`Nv(D!__@Bs;I2b+%+TMM9xIqT(jVXge%Civ1+O!f-M(={3UHT?Fm)CO{-r%d z(m6v^H5H<4WYYsJ8e|`{hD50vtR8D=qPlf^7OLY6@JYCw%+rXWTIZFlWf-TVdP_Mo z)+iJEb9~h`YIx)wVzsmO_1J&Ir1zQbpUdNacscv8*L?8*ynp}i{iEl5uV3#TynTP< zpfmU?He!rH8DSzV(-r(yEyg!;0Uh{gF>uGmje1`hZVOKT29%F`pv(AjdxAD9>3U<{ z^K{@2*gR!K)XECmAU8<04a!%zxukMGQ#l!VTk`5S1Xo7j9M?Gb=rb#K6EMM9frV7G zk9P*$S*`Td`0?XeEwAyD@&!u~^j%T9CYA9~el6aF{XV)xR#+0;okwPIH>us<`i#m3 zu9pcGNKIG=G~oOz-&sj-wcyFw?*=EL7-+7il>DyTRbhSx#jRS1u)H@)c!3WGxvxy%pyLdT^OrLxD27 zvkck2?TeIenQ4|SICV*jo&(Hht~(JPQpcn*7^IC5ez~sK_!USe>cng!9g-~Hj8`m4PYNYLSGfz?ILXP zOFv0t(CQkfFGj;D`-^j-SN=3fLVw(P@%JDe2SXXb0P1$nqX8Yab)&OH*wupBr0ygk zj2s^Hqd~_r0vcR|8*G{GJLgf<9|uXY5e+s5MScZoAQP)XSHHAW1xi^Jrj-vgacsp0 z3vbVoAifIvS)-+#M{%va8Csa~wP?;cE^n6()VTqIh8X^2stdnBUvquAWPp-KfR;9$ zE0XE~#D^?w{8IyifWH@ zCDtzz4^L2h!q8<MZcF9X>GxrW2&ZJC(MQFZC0BJhp<$LoL&nC4qx6z)=C zI_(FU5Ofkr$&Wq`&!*ZYEG#0^ai3&{t6&&S(B9r?H1eS=j4)@atCC=6-|E5Of&f%p zMuA5vuzyPmONPoL&y zU{PJz?zZ3?9_M7%p?gVW@0wO~u^MR5>8y|Z*?PfBTncWn;3(HD8=&6|CniwR842n> z<(!3w#QiE$eeqeviy#5f5t}v-EyPgEsraZcWkjYb*+qrl5do#{tOFITe=4x<9FveRd0o-2!2 zKGt;fKmZFYKg}eko{1rm-4_bD{N0W^C+Z^r7S>0Wm8oB#5MG+Q*vRjj&Nt}n_6G0m z0F9g_xDf_=$(P~Rrw^Do!u|Kp-4OU%=AHXEG+#;|?~V=*73_SO(v4zRanJG!0qev_Gk(gYs=$_;TR<;jUac2~)Mm`Mxat87 ztf;DhPeyIepV^6g>sp300b7M~32sYB*SIZ7#g%q1pt<;RA}%U$ak;1nl%N~yMO{Gg z*c+03tN8(gxBlTZKe?J4{QRlAk5;#$mq&Y_Y9%!9wuGGtYI#iwFmhLEX09aaLO}O< zG}e3p5nUFDfqJe`4iJU3>&9JRHyH$FkN1G%nb{UsKU4$EHgWqH8vNF1H+J}narfj1 zv{&hmvjh=%{Tj+eicODv5RB3Tucot+#gI`rb|pIG&zKo18#%17PzUn^_b$0?qA*Al zO;Fqhy`$F=EVl@wG(w>$PtED%pOw&y?FoLiu0*mmk=-c{l1aqzMq+zafeZaKccfba z%PeVT*TdmUwPdP9Wa_@|oRL@G+=<{>EavQBvhK6MnI;v3af?wG?`!td>P~wBCNFCv zJNry)V)zB7+hZdgxG0s&&aG%(SpE%f57o}PK!^28d|vbvtLtV)^Pl08sHINOqedJK zH7QVi89@MVM(BFj<}BeBmg|?x9TKTO>5k|l;Ppyn!ea8g-4o`}b>~<1D8x^Ao`O1U z3E7ci%b{&iZ|N3@^98CK@g0yW&5barMT`JteJk@!JL9?8q zCP_m)l*XI}a^~4dlUN`P58>$CS3y~hXaF}*8+hdC^0E1(wQZ>ppcoYI38L&Ht-P&$ z8T z{_U&bmq_}EF}Hm3yY;x~6=Z)f4}QfXkgBl%VR!~ei=XiIWGJtNNlH{Smq4# zaAjO&{ZL@4VM?ftbzLqE(_!GQ<02}zBjfdK=${2c(9EQVxAAT+-u*9Sq5EGBwqq2* zR9rALBiWC7MM3$ckEICv?`!~aUm?=l%SJj)8p-q-)Y96YiT|^K^cFOL8|44>TFnRf z|La))&({E!?f-}yLjL!><~HsB5BZ=h27) zn+DEt5Ra0&gX3VYg8v&$W8nZ|c7lf3D4tUzyN2>qcf749P`~bMZZ}1)7kR=p49Ay^ z1oxuzAVz>a_Tx0{4THxXkTek7(4EYduhEwOzKcB*A z<$zxWW7z0198VuD!PkD=-}uSzUE&A5z%&>D;nDu?8(xL0?S_VeF0JxqQ=q02W(B}&e_~K46Xw_ z>!-9p9-B;oo67aZAvJgECOSxO?_KylPr@XR3mjQ?)7`2)d$O~$@wB;BI*aCx2O{(~ zfUHzcUe5nfs=3qnUpreW|Hmf!08{+0%?JC>z4QO)Z;y_hm+udrV+7DLo==zO*?qGg z4u}nBlqO~!k-_I~VIOFh8iUF`f(2r8d}k3sLKW8Gi87_n{3K|ku|G}*kr6Pz4dNzzj^8&^Ko&?kl4=aTQf` zzUWj2IR80mxEa^q(ufL_N1-ncQLN|+%i|Tyb;yETT!K01l=DTQ3al&m2s_c}EPu(q zKwDqr6eR&luFNXxgFtlH@r=-|s;vy%gi8c{iO!H})MaWW3Nxfb^{e|O;bV;Du%s)j5yRzeclb~o2d_zehooGCqvt@y01p9QqpxIp+y+V#agUdfQR;n(RG|_oxVzMU@SrIz%-IV zkKh;P;&N>(egt(Q3@?-&;0i@54y#gR`BDK^kn@>UaHEQS3L60J%jPlsiDy^+q#Mr zs@`cz?`Y6x2B@j2V=RJQNTF{>twJWihoT|8^kT~`jIq*2o`F5HijF{p%;*DaW(t!t z;9`81K(oZ3_f%58TQeeq_a$ZO@HzM`x6v%#WmXhmincuq&nsh-i9Y6)s))9OkNiwqN9-aO9I{9J1U@5Z@6dk zRQ1HPjVXr}awWAO^qu2wD(*niO*TZHE#%0M=t`)|#AOrfOTzD3CT#m>H2bZC?zygA z>13mIDz_-(p?6x7aoaNT8n<*NZl3aejdNjA$hZCMv~IzLTDFIkdZH}=zJDI%+Sq)y zfsujyS(tR1c8sR9wYVyEUsSPF=u|BSi43x9Zs{rByh~dJ7f({JmJ4mTnBr}!fByF1 zAA5(d_70x!ImdfP$4L2vge6th3sHuK{X-|C5@Z>K6zmr<2_^hj3Dl{S1~b`{W#Y2# zwUB^l25k6(d?7DL!{EiHo%YLRw)~27(HpV&qvIFO;oi~yi}$;)aiQfnZrRqGS*5{r zm~rT$RUw>E>xletVB9`2nBspd_cj>RvqCnooD;7`?EA-ioO(_zz8X#egD17$2=Yow zdtvXA4)c9;MVtC(WeiIjG7vvjnAe;A1NY||2`zk4udE9;qI8^fe`sdiD6)dM9L<6a zG_2UpL>P_l#Zyl{{k|+9s?n?zl4n_dO%V$0(Fq&x;sI74-_ribxc1rL&{nKRw+s*D zhc|^r8DdwFTvns5*XUvC-~q3|M0U9}8n3pe3gS0NhdA;q8z5J+lJ8X@#^QJvG+-c^Q3O0@eqR}3 zZEueGBru}FA=}~rNPIy+MhWUN>bo;L0+dLdkPQIEg_qrJaZzloSSNOJzSWYE5E2J$&1aT7bs1e~qgQd##-3$z*c*`@fPwHkAV@<7(j6W=| z(VDL~@>eFpm=WsBon-^LnGu_EVUw_l$Bvs1ZH7Cy(N$s0B^}*u6wJC8IB*%7%!tl2 z3-MO+g`Y0L8KWd+Iyek_mqA>U*5t1NhpNP5GG=jS3qM0OHM`OVO5ifOZMB5>TA&99 z`Q`7eEjwo|RE272)|e%=TnxFHN~R_jyW0X?(dV|*%u%5vNi%UZ%0@S?pSTD5@x!52)I%YV{vd1v=OTJ6oYl>eIB?H1kt z*nY_WaPRWptHa$F`+En+&hyv1M@M@LJ%AH&=Y!LQs@)8e5nyWAza@1of z3saP<>u@;aH0~DxKmuk46BfrnJ>`3-+YgGoWZ$H3el9j}zWL?YdE@+C$*k%3%)ln( z%shz_741lzM80v1m_YezMk(#7@bj&^t=`1eX{I(Li|3jV&`!pNvE#$w&vOkW2f^vS z`MI{(LzeXYHz_Yk1C~aagrr6KTqpl3ut-zTeYxsM8cZrJpH)Le;K}8|`+62Z4LEaj zT(lTPt05KxB(8te7M)87FSdeJk;fDB+Cy}R&)ffpberw&>^~mt`Av2Ir@6I5_Mgp% z`2Y95|G(ZpKqrg0@9-q%?P1ye&j^z7b`O&Kx#S~V1;zVE%dh^#BI~b^3HJNIx59Lu z6A9#t!kaAwn2@x!>1Z?;0s@HvX6P~D3u5~7E!g`lALX1=FCUq3{y1GHnuyH@Id~m3 z8oUL0o^b?yYu%eMczZV3+jQK!z%(}fRX3ROfNzC+jC>)7n{fj@3qfRwG0OKG1jjy9 zI-ibgr@0k2r=o4MXs_2L5U_s#*RBOz8>GAaUr7s&zBbU_J%j||h+8i?x{h0N!94D+>4(ezBn$EJtg*lPsoeo>^B`5z&AdQ7y>d0)xDrHBb`}sqI16_MS9lcA2|hqV@~( zrb4l2_gAuLby*T%C68?c6X(zs&!f>hgir7Ys`@Bf_^AjZfdnJYCd~oWj>*|D!PI zpA`UTiT%%Owp-c!pIbW*@!#&<{&(=P(DGAQdzI)tY$@1MxDe}Y~4=qS7=GIye_a#iKtti=1&bBlUej}_jCnpjF2B1 za4PTzm#I7J6NbV1C%xm(IRRlo(?(bexdN3F{~7WksfOGnb+Td(5s(``>M4E1(TtdRL|d_7QuF(EE7^@hl8!F3dIs2Ve=GLRtow1&4P(Ej7L>rT7Y@Dtkb3BPK(5`7YC z#);Ex)E%H!_|boZYb*C|8z1lBuP2SuQ{6nKMvWv0`mU$nXyTsP zM*#*3$wZMC*f zvpG$OPz`m|&@sY+$x)C}K$>#%ETy(M84o7`5?lsaY6wSG)&{+hAw6d4Qi17#g1iv&6r;^YFKU>2a1arxo#59FU0(VdB^% z%#AN_(iP>kWdx%a#2mP`?!;1-7oBo*Isp@hA`#Mric4aA6fEch_E%G&I98!lilqrq z7Y5NNaj+ilIY~6g#61z-H(yeq(D7fguAF*0LrgVom$qdCf&>NygBh(Z7cd+viv?;7 zmf>_IS-_r#mIr7goT3m|zhN#4Y#7*`S*1yv!-kDIw=vQGEpXIo7 zI8NP-r*#MZ_nIYg1BM&JfYJ_aT?c{|NktJ&NNHkt?#5JFqcc58F5sE$<(8{kQ` z`HPs(>5B4VW~WgyqqWskk{9(3S0FQDb4x`=?8}rFGh?Hx(m0%)970Fqfa^RrypdoE zLKsU!wp1&)tZWzlv1633EfanoEvo(CHu>QHN%mjUS?y+K;KlaecB{G5%-Db7*+cyI z`?dd~vhw!b@&23rBMQS&hI$w7jp822D7jtBuaOPx;O#LCOE{CW{vt<13iE}3 z6=WpuNsQ+*X&7j+`_Us6^jV%(CyyTS+czc62-~-D!t}`b_)*;gsD1nh?As1~D?Q^E zH+<#CA*K__H4U|?QL8DlL^!_c;vJK&EE$TF9r!Sf{h@=krit^61n`d^2C?7!!~68d zhxj7;^ie}Yczb*%ETV~kf;s{=--@F)F5wp*7Ox5+_G(Ztl0ghJjstp{oVo?wdT)KE zYsXf#F*+uR6Jv4)23=R(^W^I`D%py{${7W;5tR^s%9ekAv%F z#lQE=3P1|8MKwO8A!yNm%s%C6rom{UYLfE-2DBRm{Sc8|9V;W@mmkiskIu{eqvKuM z;V7m61n@W?I6mPkRe`)yRpd^M&;^u-0@F!8K+|GliHHt^K06Cyg73rY5a`Lu8y^Ql zf0hZE&hmCI4X=VKp|YtYLXc)}#cZMpZNP*~)5yn<=)(2!V{N(Pkufn5u$qS@LmCu@ zdLC0mVxwv%EU_qnUg((@lQ_64dIJd4rKxnMn8ks|pa;#blIt+-U5J6B%-W5{X6OZ# z@SGMIO83%>l0c2*T@umRTr?QSXp98ORXsMuK(etCG9lz$%%ESXD(0-7H%WaVV}u`E>mIA?K#7|h4<1Dr%flno2gwF8MZ1^zu#-4--_SkQ(?|o8&Z& zx*U?L+ExkWK}rdGbd`e)!$u@s7%^qlARtLZl$~qBN}P2Z!+M4Nb0)JyAR^Rham7BG z+gVGKMKBmeH3dPD5W)mNZc`@cHOjYiqq)qrjF||HII|!BE*=9B^`gn#)n#iHlSL3g zbO;;;X&4a0Fjz}2fr5>S9UC;+hFJVj5he|WXhN%i7m7D-ExT`)Z%HA}l3}-P$ z=SAc>0Y3F9Z zOvVK>rmLw*$_V38#Y6z!SqnZuQeK=>86<*`RD&dT0;BnE<{!T+uPiIvgkj1fuE4@P#urWvCKk zqN&v{zREe3rqUv#&7!_-$pb)Bu7+hVQ^?M1r9!t`5|C8_Zee8e5{jlc&H%2#%|FZYT4M`zgzc5 z4HVAqkwwdJnr-brU!g173k!5Oooq@)%OastjHf^hF4ODsnu!pye;2}aqg1RZS~45* zzwy2v*C{}5cwM>t~tY8mL+)Cx~)T;)JKn5^NW4}A_dq8KM zl5sv>p*@pYU{D2Fa|kBick(H02jj-I3`t0C;s{k%h)=E>qdznFjmks@d|?WB$2ET$-*s8Xg%vn(4G7 zfV7IHj%7c29 zmI;K6C7DX9kwV$JnA0sClZg_`Mx~H6ThVB0;n=b~bLr?bCN3KrQ%RFS1wSx&QWi0Dza zO#v4vd*bYDtW{9UjhZ5EwGpCn zdUK7;7dJvc*Td`wL(y$r)U1nTx`$)#xlwX{E2a$7gO9hn8(SJ4%mokTg3mA)WXRSk zLAd^KJMh2e{+|*dZX5${N&L6XotDb~(AxI!{$FdW{gD6Z-s8W$JAC`|{+s>de=SV` zAurt&I#J{=1>Q?$h@wCOoE+k+FCW9lF2AZ9pSu`qlgnC8?V?h~*`_ezsET;3@=|aZ z87+Z#CAeH8jw&vKmeK9oYgW`47-kS(;R=k0bGDgsy}$|-DjiEcGkDD6XffGDd-AS1 z{r%Bt>RSn7Zb2^8v@z*CJ}t~4Fj-!6VU7*8p{l^vpOIDLHkatDN)UmOc-80wsi_j; zSIr$!iunpVRM?mtdg!P_D`H2wwBlk)DDslZ5Q7TPYx+eAKC&PlQh^M5Y{jIo!y$=C z9!pKP+9^kmprhhq6lxx#O2!+;u*As%Ru48Q2<=CLV1cP5V~^9(msgJMy>M+7tj~h$ zXiK82o2%L}AzaEhER`HI@>__KZbrH~n|}@fZkoKx<+CzB;*1o#_HhGCC4P_A?% z4pbcAE4PfA;5+t`KC;H0<4$Ga-LmU$WKM{#5B>4w8_F$}&z%rmZ-5MNxhlgNE~~eg zU-3v6L~Y~zd{lI$plun}6dB=ivH{ZAfC3YV?WX0;L2Q1EDL;+&6}Z%yvpB}GI#MlA zXWT~3N)?ei3VmzmhHynK5!H4nJC(9wo|_i=ipnW>%(=>;6{ma<3)V3sT~**Ww)Ihg zx}(QXoLRz1Eb%3ImOnt-3*CPOwPQN;m3fT9Eu00xI8VV}ED72DFtnq8yr|05lyy;a zH@aU-0~cdxl(RsAV`Usr8k-C>>KL?U+ny*jl*p&oF;phEH$4kl{DQ?glZ{q$wlj&W zfbVMm-r^B6Wmg+6X?R6p`&aQZTy=h{OmZAtcSS5T9)1e}>>Bf_n-ONcXQ!6wnDJ1E zTzwIUJ)03hbfL8~x#bk61Jd3r^nPg;px~xL_tLySW%o9W)IZg8@>I;ibJyI`$a*rF z4CkCtTP46zGuD|))F?&3`7fY3-Y>({n@bT$Z}(u z<~Iu^yxso!UyKm_j^D8JKTG9xOa4f!9Q0>0wtVY z4Yc|EhuPn-;YJnt>8HHdG>p)WHmZ^PDFssO1+dM!XEnL0aO?8!gv{Phz{xP|r1yf^ z$W@@_>k4TTpqi0j5Y{A_L}SW2F&7M9WILdctG3%B0V@X?1sFWGI1jG^%;m|A=p+Ez z7Y_AXbO$?ID?Cd4>7;qenWgzQ>Z}H3e>(9_)p6=@K8{8p-eC-M-&opr>dh)ktJ|x- zxT~)Y-2tdn%NUPwX831ZWxv~mrSrSqjQ+G{zhKC|5B&&47JP6y`{go&16Ck-5#nlQ zKAY7nWTE_yu1|L&XBZT4%qbmxycao^`CT}-3+Q-0-+t98UNo?YSMV)}%Z_IrQ>*1D zzUJaK^ z>tB{S*y#*MB11QR9KZ+6*WkPmN1ZN$`-XUJ0Nl@D(%i(Fxs5dh=B@yVSX zNahkb>|#IT8-3Vgu2e~ipLmo|I#+uYYGa_TC0qOEM0GX>9tav@t_>vBD#7m;de zP1v|JUqna;oEavAdP37j>>Cc<6GKA}tyEjWd8x+IMSjhBK)oCVf+8|yZHLm$9o zUHxZ>O4m7FhnEk3ZXDO0pYi%Pd@_;VrUr%YFKGV+yx_NsH&}&@%mo=)d8vV6*=UJ( z-S`fr=9P5PaaqJQz6?tgEUgkFTOnOlj&@W)ISH@~A}!ka;Q19`RqxV0;f;^o&Jmk< zue+r1xTm$ou~=Eye7Ybii%o78#4&uJ-|$AS^h?;Iu0r2=`{HmhUjupjB049FZ$D%N zH&_}r`X|}JW?g{7;x=q)4wru>!Z-y;ojkGmP1>2~+Zk{aDRBWn#|9146e&i%ScrL~ zdjO-rs|3(q_UfF%F;MdY^!t8;e_g}`#xiNCI1KzDsAaxDn`G8u%t_`QL>_S#-$$D# zV2sQ4>fCG{`cM64=Y*2*wi?Y-RlFNb(ZC3w8u4`O+PE#=H?a1D7y1|Q|BeGTAl^I$ z_!9e1tGV5l{@-4^wT1SdcJsmi`zx^j{Bv*r)!&Zy4_>X1{YByn<*LlMOB=pC$!(^C zsp14K&(eC=XNO{l1#vJyatlC={-=K#vKaSMH1At;;&Z75!7=#wR#!-R7w`u5n4}kn zXPjl@neVv@_;*c%(cX2GK#}kzhJv>WzK)R*49J*w|n3J(Is((gC8qPb;hyt7S4b?>kP=N za^;JUfY`ucT=9afA@tAT!$nT7X^hw`mwl=iJ3|%(Pg7c^wQ=17WoCZHq4jR^*plfUpn!dC+EriPWZP z#HOU79sY>!&H#{>WfI5B)Kws-Hsf!dR{$~0 z+AMk9s?{jL%rFTOHEGl|oR%}!J%m>m(wO*Y`TcWB`hrVo1&-}`LQ}ouyyN+}$8G@R zTY^*)YU|FeUfR@N;^ov^FYaRY@ zxNeWI+6|RCQz7$cK>RZxnm#(#TfBhRa0NSUk%NBalZBU*B#|>tzY{~$_kd(r{Fr! zN!__(XL~_kJq)RhzFwj7>T`zv#D|CdIJ^qt&N^_*tNwbP?P)9(=O{7`SEB%4#(TIwR}EL>QL+ciknV#)-y;gDy?*!X5_K8t+ z6$mnAp{;2Ai3lAe7kR~JVn=) z#Cg57=Q9bgG--`p2%S8ny7Nfi*QgcjnkK6;8naLFrgiyAG)!p8|EX%i<9LQaSvp(DLk<)x+^S0QAX-~=B@oZ6d` zRQ>U{v+wn;A(WJBRa-(hJNq2Z?#|9@=^j&&og8E0(CsEX)xe0W$MJM6gBAK`qo^bb zt!F+NvhJZZGySp%c|_W!3UVlLTQ!)q4Tw5Cl1?3ET74x`0XsjSsOpMFE-Qj_7YmF| z%P;Xt8s#s+7S!nLZ}7nS`%NoZK*Nv~GPxg1{s#x^^hpxHhxC7~jYd}fw~fJt{O=ha z*y6iAqT+jusE-L-D2b5ch}c~*OO9Vrv}&PWa|y$5%K8wI8)hUzANpCAJP&{K@h(2+ z&RlaJLis=-Ns^Ekff`IWAS3tg;`|YBi{Qk<1HtTZ(Os;2Xr>{*0(wEL%*Z+^s>1so z#5JT`3xrJc9^)r#vkwt0js}tVu$7TRi>;;S54iw}VoFRPS`ZLvl-o~+Gp2nb3=o81 z!dnKCsAHBiTC)~@OmqO5Bgk}Rp>@SlSAM6=%I`hBFF3tf4}}XM6J%JmS3xN?rv@^T z4#Tcwr6x44Jnro^T#HJL0#y?-3W0xv^4wSWg@p-U`1*lGUShO+^iS3OxJT`V=Kexn zON0M0uiu53i(oPIlJ=As7}_et^&NR1Se0{sjB@Ins}sAtz!g(mRAj9rbSm+Rjs}A; zA(2O~LUb20Ls>jOJx7nD`IQX_zlxrGbvvahSF4gi)@a9mUasZg{r@ib9FD>#nEyQJ z|J7=>x&2SGv9%5MKO3#W{^x(!|DEsu-97AnaF0$7&JMdvum#Kl6gUG$HLg&9@yjX5 z$v^7tpRSZS*j`d27z<5WLQXwQPdK~6TuVPp1(eDtA%ro_0S=oe8VhY7|4pF*J|4%Q zwTn4?5TP^^2yz+yq8>GJGWCP&f5E1k_c=!3I7&==8LtCf^v8JN<9HT=9)79iG(b0< zl2^wo7ag-dh(`ES%r4DfTh^Z-!&B=qSs5D8nMiW*=i`K6mU+6+rV7T;s^ErS*=pIK zc@U5QVocBw6H1R*es&WN#srnb*e+}VAPH1DL(mU`BwhT1amWl{6+A9;VGGTFPtEF0 zEK3M>sEctbSR9FaRTz_mu#E=pY!ZE%gPnJ9x4@mZ0MAa`#P z-<2yKP9MO}a%ugew?6jPul@Bm-ujWZ-jj0E9#e?MGd^f{g6V?s9`M_T-*9^hp#GIx zf)5vtr+x|l(0U+Cz`P=Yb6y%3^B}P#^NbTC$2ckRZkw1 z72QKQ=2=FF;|L!V=H9m~uQ}(kP3B)f&ljs)SScQsSqX2$aLTi%c#N5_rUa9ZSO}Yn z&sPSC#(KCzBY*KR*OQ%MuL(plPbROzAZb=5NBzf0kQN)gtekh@AHZ7bT<=0v(6dq$ zhQAb#L3l%BDS6WL;#gGGN2+*3_R#p?+<-@XThJ-sPg-GjmXII$H`8*8uWCGRnT@Jq zTuo~wI;mgDQW)(8w9gSGyuLFu$r}D%lnLJRxPECmK~2S;fl8ad29;_oiJp__AG5kB zMljixX>R}c^0i_oWTD1`1}}d=F;Tw!#|wwUS~MBN^{2MMggkljA0jTH@}E|7quqYd z*laYLtru>qkpKJ;-=BNO_7^_pNpDjR&Cv?wf8Ya<`Tkp5jb*EwZ$CH(@!ez;2iLW;_lL{1TMv@{P4qde!$|Ol_l94b1LBxVSkxWN zFN!X59!|XMxxClAgLne6`%#>9O1}@Hzz}T9&n_inK3)r~^B3iQm(9{@$C>rI}OH>s@42vgV zdWdtTDC#Sw%;KdxN4SG<3(*BUt<05ot(Y@ zv)g+t+qbm+*G6MIv;O0!i2wO4&-?EF!BH1Jt&`$I@YL%MhU{&+aKy67!vUy?CWGMI zOFPbTCksn96i;b1XANElC8@P%6e858CP)fOP0(T*rdl!)$=KVWATA}afFSr$oFEJ2 z(<~U#OEt3)BILEDqhLI>r=v`dx%X&JuLYPom*xOR@lb<67)N`B1QJY!qtHwyjzwUB zWP+ISw3!~IeKXY@=5!Pzdxr>wTz3p_8i-l7Sc@?j6ttyNX^#y87nFmwv<=2C1Ghkk z#kCEfhE1`-)hk(@d*d}b_eAq??4JHko&m74ddr~V`5E?qZTVgO{*O<9S@}=1(P|g_ c|8su-f)g&D;whfu`L&+^08UHZQvj#}02^)`KL7v# diff --git a/dist/sf_tools-0.2.dev0.tar.gz b/dist/sf_tools-0.2.dev0.tar.gz deleted file mode 100644 index f30477a1d71791fce2337a3b1d08dd27d424bc7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29978 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%0Aj&+?zcNeJbAnb=wtqc2$vHh+z8qV=^DA77` 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 diff --git a/dist/sf_tools-0.3.dev0.tar.gz b/dist/sf_tools-0.3.dev0.tar.gz deleted file mode 100644 index 1a46a75ae99898d45d1b734cadf3d70ef2c98cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29971 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

    $~Gz>>Y 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 diff --git a/dist/sf_tools-1.0.0.tar.gz b/dist/sf_tools-1.0.0.tar.gz deleted file mode 100644 index bb88765931a24322a702b747851bf8b607112afc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30657 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

    q@lNPJ2#{?U5k`j!}Py|r87kD35_Dq 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 diff --git a/dist/sf_tools-1.1.tar.gz b/dist/sf_tools-1.1.tar.gz deleted file mode 100644 index 4aba8987edd12d941fd473ee2911a169b19ffa30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30075 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 <1!2#f}SeX>(?;Q#Q{;vKRn`(&x50enz& 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 Date: Thu, 5 Apr 2018 13:58:00 +0200 Subject: [PATCH 6/8] fixed another bug --- .gitignore | 2 +- setup.cfg | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index f76522d..0acf821 100644 --- a/.gitignore +++ b/.gitignore @@ -13,7 +13,7 @@ # Ignore installation .eggs/ -modopt.egg-info/ +sf_tools.egg-info/ dist/ build/ diff --git a/setup.cfg b/setup.cfg index 79ecfa8..0d93ed6 100644 --- a/setup.cfg +++ b/setup.cfg @@ -9,4 +9,4 @@ build-dir=docs/build description-file = README.rst [tool:pytest] -addopts = --verbose --cov=modopt/ sf_tools/tests/ +addopts = --verbose --cov=sf_tools/ sf_tools/tests/ diff --git a/setup.py b/setup.py index 343b1e7..e5038dd 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,7 @@ url='https://github.com/sfarrens/sf_tools', download_url='https://github.com/sfarrens/sf_tools', packages=find_packages(), - install_requires=['numpy>=1.14.1', 'future>=0.16.0', 'scipy>=1.0.0', 'astropy==2.0.4', 'modopt>=1.1.4'], + install_requires=['numpy>=1.14.1', 'future>=0.16.0', 'modopt>=1.1.4'], license='MIT', description='Tools for image analysis, signal processing and statistics.', long_description=release_info["__about__"], From c76bdef53ef3be949af6e66f6218d9673bf34db8 Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 15:08:24 +0200 Subject: [PATCH 7/8] testing sphinx version --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d2faddc..f00fcc3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ branches: # install package and dependencies install: - pip install coverage nose pytest pytest-cov - - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy modopt sphinx==1.6.5 sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy modopt sphinx sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi # run unit tests script: From e78cdb96980f1af68889a6fdac903f3bd0e5b6ac Mon Sep 17 00:00:00 2001 From: Samuel Farrens Date: Thu, 5 Apr 2018 15:14:52 +0200 Subject: [PATCH 8/8] testing sphinx version --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index f00fcc3..b114702 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ branches: # install package and dependencies install: - pip install coverage nose pytest pytest-cov - - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy modopt sphinx sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi + - if [[ $TRAVIS_PYTHON_VERSION == '2.7' ]]; then pip install numpy future scipy astropy modopt sphinx==1.5.6 sphinx-rtd-theme numpydoc travis-sphinx coveralls; fi # run unit tests script:

    CwBijTui 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 Tum@#J=3`_$^9i1nuBrbI!*IVW diff --git a/docs/build/doctrees/sf_tools.signal.noise.doctree b/docs/build/doctrees/sf_tools.signal.noise.doctree deleted file mode 100644 index 083b1398b2dd8fc1732801474f6c7f7917046a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32556 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 diff --git a/docs/build/doctrees/sf_tools.signal.optimisation.doctree b/docs/build/doctrees/sf_tools.signal.optimisation.doctree deleted file mode 100644 index ad5444f781d5c5a0bc5d7a80d4045f6332cf6abd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102177 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 GzJCMZdRKt} diff --git a/docs/build/doctrees/sf_tools.signal.positivity.doctree b/docs/build/doctrees/sf_tools.signal.positivity.doctree deleted file mode 100644 index bbb96f59d13c63dc54cb99c3e5d278e1c6de8bcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11267 zcmd5?378yJ@lQ5;PO_U#LdfPKlgrFPb~lR%7y-FNLvTToj*Da*duMvKd($&Luev+C zi?k+6G*MI(4^+HS@xJj!#rwnq6;Bi|yzmxJ^jGz|XJ=<-lRx=?e)@g8-TmIHs#o=^ zdRNUm(2_5B`7m%?f3WNoEI-A?l2r~;YJUGg)e@-%8KbLgmaJg9V)?2yQf-;h_4DS< z^NYE_^T6jj<7Lwwta!c?IQyMoI$iP#p=+u3kFmWu_a6F4!a{XI`g*U z7SOF)npMl{k@KxQ_nlHF0J!CmIuXE;ITdtKH} zXYKV_dqdXVoDFSgW5+sdt5;#SHHDEe{C^w(rye?}9vrFD9+0LFu~&}RTSi2MKKqn# z%nZl!e#LgmQ-fxqphu}wE?843bvmFpBT{Fg17n`HaP;cq52wU?LwX<#%?yOW%Jg;) zHiSxfJna?J3275YKa?RB1=V(j_+c4F7WitQHzTMp2*|PgtU4=$fdG-1EzUm1WRcG3 z80#1Cj~Q>qypceiW3oHv$L<7<9Aq_<9mb)< z?AU#UI{$wK*$aSdS5;?qA*1_#cbtg7Q(3+5toD^Jm4{xe{wOBXM!0 zb}|yXfW&Uw@#85yo%hOt>6HDnnJ$K9neWnpZ3bzwbiG%0r_*uVSRl8GMJMmT-+tOD zr_6F16P!7%E{TUDEV9LnM>jKLK{5_UV8(w+l}mxgWs!Oe<8jF>JTBH_uP$baj^!3| zuH$1OxExUJiqvlKCgaa$C#7bHl)+xw)6Bf~#JtBgOm)JaQlpT6MWh~=$lrw-jODjU zySkD^?>(yMY;(~$o`+NF@sOX3)Dzg%?Qr#ZA=VdCCcJY++*NFfEF5FpU%pv?^LWNC zz)Lk!EC5@K)Hnmn5_3m^bIdDDr<4tKoJdWuIwwP&U1lk?-1J3yQB0rZOL;I}B+nf$ znT|V{_e$raSh0PLim@3`%$1lfMXJn_`yYs8=oE)=f z=8#okW2Rus(RxzTu<5EuJrOEN)+4as8IgJ>MA|Io8VO~aW%2( zrdmMX)F@}m&J@deGqkMZehYMcYoy-By0WC3>u}`|<(=2tBlQl@Bs2dAfR_!=JCCyA zc~{0hdvqAuCTnD-Kb>*P$@)6?wyNLmkS)!-c}t^rhfA|fc7`}DA6K}eX|J_bc^i`2*2i9NNj6wJWv2l%(xD@PBZ;W$r7 z384S4Ep2k1u+%3o$Mwv%L4A_p{1p3KecJ9YjrRD^_?i0MCRr5<%T69Ax|I6t=qgy1 zsMlm0{W(P8=OgunvD&S(`XcwxSqxoQR^%^O!klzi(qW9-~|J9U$}FNPSNSckOBE4jHM(2#WGJsAB(PX!Vmw{j^c5yN;q2@8*$Pu}E(ye+KpLiPX;- zeV#jc6x3+BRJ5GMqkh5a{_E}rCB zQT2O3@P|nKQA5yY-wVU51E$)Q`crc}_~?*Qe})?OMd~k!3`7_vR-=_$)nD1xzh#V8 zYpOylxL?h2UaoTsWVVnT7R4#k z3enMRXit}WOmVgu{EyXLMWq2kbgC(P8Qi|#61W+J+Xt_`} zBz=-4l}?m)9D->Dz9Q<|C^s4D$0~kR(~>a=Y-^6J0dh^;=#(pAkmgxtYua?(RM{Fwrgwi`iUH}>v~LCJz)N3ckw+WQ zd(}4+wTNsKy&4f|jW@uwiCKsLOL}ic=fL|xctx~DR9!J4#?<1?2y48NhoFoQ_iJL_ zlg1&*+fvR!(8N*BD^AcB%aCa&AsZ`yJxmu z^eAb85I!`dGqeL`h`1Q9h<4(ch~PePYQlO;mq_EItBp{8gbOpP?gE@N=u*^8i1MV;8GYBN5d%Rp4K(%SK%WsViL*7(POb57K)QpGlX$4}AaAcM}k@QP?Ro-k;Fdu7)e zQf`bUwvYkd!*3nEH99{QwZMooArW1HXMz!TqG9e$U``aF$0cnOz4A2?D|RJH5$(kj zQp5{e)2v!nY8q8beE)c~$8Ou2rW{I8=?Qp6WD2VuP%K_ln$QY}1IL6cUnN6#1uj$_ zIMLj9yr1PULl&ry&uc|+CZ><$J0hEVhEG@~8}3NC(QsCpeKNss9rU8hK9pg)i&sP? zJQHuQ_*&Dkk*&kNEIgj(k=;7a2CPIy>Kc_u&{t@Wm0%Vkl%a%=S44p@Yy7#3S|tSk zP{{UI$7mkI08}OI8il#t*d=8ifXX1dX@Ey?;xobFpWwPy8OS#c@)|wp<@q2i5 zMwus}0>(cXuZRxdnRtNZ*BU?L0q~=3UO(6l3fog^*cfC?HM)!R-3P8u(^F9e+G~XN zP%~Oi%hu1{^fb-(bYVNJ*(8D6KzRg>wLcxm9E&|H@4v(Z$;hE}B{bs|_8B7cnOY_m zYXEnx6dHj`R@i4rJFl?M7Ut(@X30}tZXuge=H-ltNKoU4<8p2^e*tiU+=~%qW9pLOh#}g0)96G6XP|s~zf^vJD|`Lv(wOJw5-y)Ui0UkTh#Qy8 zy5l19J}j-ba_b3otT`e0h!A{~3A&Jgkoz(|eN1X^!;=p{#-ikU4QCJNhfa;%^@=+XEPXT^r-yG+uBjlG4dPo)Zd z59JYv5hvwbYro~v_fdzdH_QAIUycfKPs-1^Ufy(J@Lif7DBw<3S)zn~AayC*bc0yJ z4_QK+(H+~Q?+Ve~OlJ>{7;6v>9_4_cCs{XLw9RtC#pjPeX7n;(J{WDN<^n+aF;}-0 ztg&#Me!`NBUaK@_aWqXsGuyHP`YGy<7;C*SKw4lf`9EVp?W|fppnJH`&G(+lVJSDo zLy~@uIyiiBAuLsL)#&!=7pRA`k?M2GMK31)r6%r~G^xxPMBd1nCHj@nE@xL49ar3w z3$Sl@fjs>hjYxc3m4VIMPAky8TwG#JIk>ilffoX8@xyOebeqwRR8`R#r{9W5i4z3= zeh2sJkZ1ax)Gp7vp1Ch)@$b4hrVX$7R#f;vNpzn&AJd)Gn^`82t^^Mq3yZ2hOCw^LHv1#bN#rElF}eRVULwnXF4#_{JXH z&*jCrg5#TGa6k;=zl667lMqr(MQ4iU;f#tId2QZCCLs^YH2AQR=eQh(z`n3T^Feh4 zL)je5O*)0ZrWRD}>@<32M=~v7X>G>ti=cNae|N+;5vdI&dzG;mdE5ZE#dx6O7m$G3 zQGeLz8n-Z^O5(5s6(jgHiGyzj>Q1R$BttT%$0T(LD-xxZnJFNJIwPG-0h5!HxT3|E z17!**So?=S?GMpHCc_$nYdcdp+ZnfA{0Fp%t6N><7O0y)*UZK^H+!J=fMh}jP!G@H zxfxIwGjoempkDsy!HB61jwPr(VyxDagXLN>;Q`mc&c)XXX(>oB)MBs65b|jmDznCk zGM;eR$RfEBYL(f)1v&w(hjGL=ClM36YB{QSg%K>PtHOyaI~+5X*RO+e8I)Eq6LRuM z@!~6EFTn-DP4)S6z3ilDB}lOQS%p_btA$=Ra&oDVZ@jf@N?L<9-W07B8tmUTWa%WX z+r&w9T#WOP+CR)U4)tBb!`#+ONP iyHU$Ex{~G1rwt&@(ndVx_X}Lxq)jM9v>DHEZ1CR(Ssj-E diff --git a/docs/build/doctrees/sf_tools.signal.proximity.doctree b/docs/build/doctrees/sf_tools.signal.proximity.doctree deleted file mode 100644 index f78f7fb11e6ca573616188fe29e23224ff49af99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64796 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 z 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 U2eVmq6wQ1@a77B9y=@czA3JBu2><{9 diff --git a/docs/build/doctrees/sf_tools.signal.regression.doctree b/docs/build/doctrees/sf_tools.signal.regression.doctree deleted file mode 100644 index 853209d7899e8970d531457753d7405a1b924325..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50445 zcmdUY2Y4LC`Mxo(a>1Amk~z8zwrrXKhu*cQ)14 z+L`N|R=xZw!vqh*p-_zQW?kqUtTxWc8d~eDW(yiUlU}`Ru zwp@!dAvwOi&luREwUF;K?P+KE*~z+&bbH>Ui0w?Aot&8JE9N`%`C?DLm~Jf;Q>N&w zFl(9QNLno0QE*mtos}9hBk(s8f1{FX6*{NNY*Ve-rk2b$)zj+AnbG*G!`~SEjm?bh zOO9&KWV<>binB_Kvubq86w>XKr_NaoGiG(ySpzf1q!xHW*C&T0M__aqhtrT5njGP^ zPijs<$e=~tMx6Q|>}x!Gc-uWefIKrxf=0hpb0(=bbcB&`IE z6(*u76rDAbBa11_(C)O8NRISmb=FGOrHU|NTVD~{UfXrnX-tml=<6k1!CAK@IkLSg zRVd(my_V#twp9B(LtCxil3bQ*-Jr#3Y}72ZN}K9S78k;qoLM=Y9Bv73*y3!I8I|fw z4&!`trpy`&uHKNHshOb}=(njcs$k5Qu5_I<4eFilIvY1;>YLZq1Uuj||lFrObnw^<4TOu@MruVg_`r6tHy_sxJe^aWX!@8$zPe;1H z&iNixv9;@L0|v<U?!U`!`|onV0ekE-JF)*h$vJz>-sJ#i zx9^IIcZZ5c2f{mhP|bT*n#umqomrU~Rfn|~rs>|UGaEzC>{d4WcG2w1P&fOy&c4*m zrqIotOt#=HtVDahrL?^S^Cn@hB8kxaarW~TAVkkd-u)}dyR5(R4uHH% z%W4kBlXRT}IiCH>#Vo9-M5OucYI|k~UZiv(4 zI(dq-A;dW#)!mowO6+PcbBV1BsyBI;z3u0Ar?Op5?fLF)>nK=nTrds;f;pO##&rs$ z%zf2jQ-<6?J&~- z^m4fC96z&XCJ4XqhY`x9K}M4z}f z?K7J1Csne*NPj6UY|L;{FLIre$!;XrABepYcYddU?FpVOHIq-RL`gIGG)NvsJsl(X zk?WiRk{Oa&q^X?Yd_B{3eoRioz-i;A>6(dW#R-!&^m?{t;yJE!E^(H%IL>(>d1iQ) zogXJKW!6X%xB!y*Xct1Ni(KboN<|XqNGg~i6Vl@)u5&2>WTY}ZURH_6XkU+)TRmRk zI#>Fm+c{NCJ6D0vC1E9AU5Sj8_!EdqtqAWL$a<~oTt`_+{eWd!?n$a;tC z+(}tU>E?)DIYqgby32Kb1{mM-&xYc)g}Hl>EzCWQnH_bhD&0CYPEIstd;BY8^{vw6 zOr5qV_i~$JcYLd~RM_p|4xqix`8fo<&vouE7ce=Dz0NP_DIRFV9Z%kFy&hbY9MO@7 zv*>XiY90z@_6|4?$2Ma5wj6J0okyBS0i?69N4GG}qu7pvs=6M_JQ|YDdAu>U86{|| zwv5F-1LyVx1bxzVo}wA)9Yc!QaY~|pG7NBEW>WJ>=vvDA9$%&Z(?+$aB$x9vJl**6 zaX8OVrO(px&U2Z%RC0uOWB7b@7irSHrmrX4jyttF=Y{6gF)m-g3ftpfVlKYuIxn?_ zx5UoN4%@+8VqDv%Ky) zZ_q4j3@T$2Ec7H68?`c4TJeZDzokyz#Eor#ch}59Zwhzgze|qlMSLS|=BJ&vA`>hu z-|w+3Yp`|x0NuRpI`7yi9=;EHT`RWo)U(5T7sGqcb^Zw4%&VaRjMf08)%Pj=2aTEE zWd;-UL(hMNwEri_^=H@lOI)t^29b*!bnJ@L#%?YD3IRWIosX%1dQq;0kem}GXBm$3 z2?hRJErI`D#qt5II_DqY{i*Bxle~Gs-jRg=Rhe)@<|De%&!7f@V(g#0&KGv<4Vh0d z;$XD|ESxXlLdoST*ZJD#(oZh`9+b;}JTCp<@?Y2a#^>^txMV;TzBy+0d{5Uvof!i0 zCLd##LE)OAIQqz#yKvpfVFWYFq62c6VFXAHOZWGh7EYUueSDMTU2L80t6C_LgAXxI9dt7t&WxCNI=nvCP&TBrWepbm@(+kehxPwHC%-m zOIU8etRqh@TPSvzacHzsC&zGa*5BKeZO;}Lm2R(zfe_f-bTPS3t94ooEqO7c*u8yn zIN-A#nOCt_%u$)Jz8Q})>gTdOToQF=IrL%F6HvHjc^rdLPgF(s`DO*2C&&5Yo(j}? zW<|86LZOz1992htE3urRtI)wVpw(hlM%xL;m{m}?W>p+L`{u~m&cYE^CbL@5GB#`> zv$}1sJd3p8c>l^cuUP}27*#zA*EHbh&n8@}LY~lrHq+?7V1s~}S)agm`xP48255yL z8&SAsvS`%jG~$qp&rv_}rrZab4F$ZB1#aF9KFdZO6lF*tVhr6C62(k9kw$=>fmep5 zQVE2pQrWqgqGAwDW(o)ddd-E$GF7DGV;Sacm`xK=XDmJIX~4&*r=xJq#^P3=lRV*3 zbDVb62tAlh1iYyQ<~G!u5!{I~>|i!iS4`?)x^1q0+-{i}BDF<83dmblL~h8DD;MEb z>c`!dnTa#kd{1>dSNHWVW(5dE+ICfBc;98V7GO-OS)#fPf$f|q5i#4M724Sjg=@AK zzV_WYvbGAr&6wFi{W}KzV78MgQD&Y{7{$)$kGiflY^>5n8{;v%005+SMd6y=M2)OL zdUsXgq$vdzv>T*=*O}A$| zv+d>}bSw<6NxZahWMs=-1?B^eLw3Xr_&!ct^8*}x_fA&Uy^k*!#vH63AoGSM(P$1q z9VA*%xaLqCeG=r=*Ov3H&#me|Ea-=BQmmA&&&%RQ$h4s?C%JXewU^N5;b0~Gn|Abv zF2@<~cB;x{I6UMIU{+Ohy1O@%Dr5_FCJivCx)X(K=HiIqCI?5gW?9Y% ziJLVt zt#24mC9Z#e1s{%nt>7bsd!)r}o`T`_CmP8pfyj7IZ&ObPqMxY&E$2B{uN&{2=tvb) ziTTJM<_%5lR$)b{XzCxbKj$sXqfl|p(L%ACdv3eUF>27lv~#*_EmB5OI+mqfi`api z<4|?Y@j|uUnAD}KTy*W7fF7WnD3p^zD5PCldkfXSDCmc1C$kc)y^p_OL zTQx-&kT1a5!a2v{=>Ct>fkK?Cwzv@fFwR52Cj?Q<`KUvP3sAV`LLpmQkwsVt-~C-A z$cqC=@VtbTS|(r+tu$ZFrNCJ_LtF+-Uk{h#+%;E_KMX;d)WMai$8|u_X^5*>+C4-_ zqN~vgP5cCfYp%i3HwT%7HGvz}xIepAXxD|%sBy)(>GQ2WyBPV zZnB6s3-K0<*jyR5%tu)nNty`~GPJ^?JDJBjNC-?`MLFQk`NqeRmVshTJ_0<{mUb zmG`1>&Ci8w=Pj9HD3G5!zWdaFf6$NF@e5U=oIHsj{{!fk>wQqT4~20bu7XQ87<+In zh^p}sk$N;t>ai-Md^J9!w!s&%B*UXf`tb6-ihlw`j8Mb>>ZA zVYdAag=^lz5rnk?oQ=nz3g-7{!DOpvG0D64Md(S$<_~OzhTj%ibTUktHNn3Peusc| zUuns{iv|qmJru6_qtNSf;uXHHrBHSj@~-B60e@hDn>Uin#4`l3Tle73J%Qf2+4L3Yb5i!(%&Rkt~=(6IWaBvQz6%lUYfS zD_h8%M%xgPk+~c zoR^rE<*H+b$xIT|;9{*Q7-V=%LX_9?C}WZj(GBO?Rf)jKp^ul)by${eH`hhgHR}mc zOE*W_7z5_0mrpY53uXfg(@btDirlD%N+OrIO$Lm|Ed||eC`ubyO7gv=9dLuE%MAg2 zjBtt|r-mS{(%|oM%W_pifF}0ZbW(0O+seIP*l$b&sK3XVF47wZq(NyDQSwtoxiKK- zCy1m?+Z*X}lv~4!w6!p|31M1q z>v@FSB!JOM+X^DKKM2C*+o_*Bl_T8K5?>nJu4siZc0+*(xM3*0=z-_O}+KnKar zlsuZ3pP2;`fo5~z(d;GS@zDhNnZ1cR<9}g38x%0|eNZ6eE`IenNfaJA$7)B;49$K5 z-roYti`ZEaWM~dhS4{3;%FR(fGc-w&IxrxG`Fc=A?JR_i=`>x#|@% zG^Aa+Kq^UduwY|?+57cF2p>z*w4fCVIuwO#T7_@@G`U-y@Rt2B^{0Y<45Uq!D6@u~ zP&}~DsS;;TR>Ysjk`uWLC$8xh zc>PiZYkPznXGN*VD$jmDSlf$=YaF43g0)5s)q=H@k(3H7OIOb#s;=o1sVwADTRZm0EY;L9q5nK!@(Gb3;%c^kD^F zbNunS0QSR#Kg79fj=~X==17)iJzDj+t|>P)bPUT-y!KesG3?_|Agqm}KWvh>n(CIO zN&!M&fD?psqQxnT*Pf)dxDfs@7NXx1Lh;%~s6&X8QMl$5AzO2iMOX-bk8r9WPYWP1 z@Y7kTWraw*_D8^3YFnHEWM36$;@mYqrU<6IQ3 zIS)tQB4iR)M#&-|0vios3hI2JT@XT}(jy_;3(*AFiv)XdCD_VgSaXR*yi|ynS;WN& z*;*N5AzR-)T`qc8SbEkyU8zc3cfNbN3jK0VR}1$i7Pom@?tW|Kl0ui*_I$b%x!5e8 zZwY0WuBpPDa?)_uvfp=D*P-H?>xE(+mbTwFsG*v}qST~xBTH*NZoqFs)ipN@)vf?i zuk5gHK@U)F70PWP6w)p^te>j?_Mjj0@(xyNEtSAw-3jO=UL^kb?gFyENPdQM*W69! zSR^FNMRJeoaYIvXYUo~;A&2#I)G_S)P`KuP9R1}%@|Bl|FTgK^^MJ)Eb65|mEiQyV zjEB(g2_c8|FzOKE5frX@RLIs`WDyp^cUX@J^6>x?1Al^*T2_cStS5o9)V6pE$i6C` z#<^>rp$M=A$=Q#QnA(OB&Dmtteh4xYijY^L= zte4RQ7Ox2Q)k?7IYJ;s*@u17w{K}I0wMhNOlG2YPy$sc$*ku6@D`(89p&?f__4Jz9 zzHZrCPxpo@ai#Bvb}Ie1>Sxa6O`N&rcdAEIPb3`K&AuhTC}A&U@_WLUXP^FnCMfxB z6s~zk$aYebFYM@LpWapfdqF?u%^y{Xa%#v)C=B6!^vhX)AlwhbxPPjGOEwsO)$G%s zMd~kMQh%*N%Gcya>Zc|@7V;++Ihr@Zev8B-+WebE#4NHilDSZ@Jk_>Vu=}=Wq=4{4MpLaWpVV~7{_eg*x)&+ zoR@4GCJMtXg;26-1X`ju@;N`rG*aMEgNKq#qlg_&GL1$9u}vftNVtGah)+0oWwda-ukh^b?4>8Jr78`jiUpi%sCaFD~FuS#$nRRB z#f;I~ICIT9s@FHK79Sd-^8-^7^S0TTsUu2=K;tO@`&NG;Rjz)sF2(ZFN9$=QNFS}w z#*vGaKH31FnDC7#@Ekaf<>{jhJxZ@MkB{lcY{brZ3TXHWTFL7BZ*NHss1> zR0?T^AO@Fl3&23e3R>I}JrHXv6t0;mQcaLD&}dqe99$l zBhbO++g32lC2c42+k51Bo3C8b4poUX6m%>T{)ZZl?DAET7 zq%k7O8QLX%J1H!#8HN)%bWV`(qx4f)Kft+b4#v?c4l*C2imvLWg`n{i7Dq}-hq8>M zuv*auiyVdmPm|;5TZF7+ks2wiHet4hFs;}3JW`Ot>JUV1_Yve1((32_r&AQ?T8diz z`vzGa{m3YTE+~kczk^qoEXDFtSvd_NHt13+YaW5Ei;E1h3q3GQHwxGEh)#V@BM&=Y z>Izo!(ph-{_gdiQb}YK^kB#tCBfQsyKdlG_)a;8+Qi;+fQW-7kIZ@0DI@{CRSFF>s z-F&B>Hqz@X)(ZC?43Kp-P-RSrPwC zmUJ#Z#tDM{0V6Ar#Us#h@=!|K&kHw0Z?A zwW0<=4EjnyhvS}WqFys;=8x|x0Q+&zt8wm{pWuj#QI2G3;%iio>zZ;?L)Wql#h|Z4 z9mBpJg==oW(Z8~hywy~-q}h$axyj;`#h`CiTU-c#7`LF`6GAcQTTzD)x1n&&PlasF zMHXQp{9VcIg1jSu#K7-lrIr;UG3dL1v(&cu8IXNj+>LX@|0x1&L9(>Py{gC6KBuA)jZz@4#L_1<3=USO=#2ju+KX&4E!`QhJG{bzr>nco|hZRxeb$ zB1pZm1A7%cK>3wWejP#~?UDogjrv~;`Y}&mXQkHC2^`oPfL`K7a@f zfXuOINS2G{E!E=&rrgxf?^%W%*dI{Gu-`_3P(P0Tav}N3%f%PqUE#cEampOnAJrBY z!XL)_=np%v4^W2?AEI#0pM-49MHXQpd?tYP4`;vc#zshlk)8+)*39FS7^Q}4Zj5r1 z(rA{}jm?9d>QF^sU#NCnka}e|HWocV87GwSAr#Usxv}NcKOyLcXv?!wYXM=XL!d}A z5x`5la{S?~0AzpVtcY{htVG^eIV4Lpt*m-{?>gdoZ~TZ3IHRJELAXB^|%TsJB_d*OB?A4 zMA`^#P{b4zu9=FXZwaypE25(FY7*MC5E|7TabDBW1Qr_$c9Tl5{K?c3tZlQYrMQ_W zZf+?mCAI`a%3Pb3I_BC2eI8(jxNl*(TYtBuDsclW@Ep!o>gRp?Od)^IBJ16arJtgb zaO9?aYXL?Hdl~F)2w(m@z_w_D%C|#-_m2qKPH*ysRbe6CvG1V%9fN+%p`BETa>DyZ z(9SuuGfUnw?}8K8>?&~52JUXE#Bs?6xK*DA*j=Rd2$R~g3MpTcv(!&b?j_{CEpmnD z0Z2Te&DjEu%IRryAHv6<2iO2CUv`Uh8VNz_O0RNBWp%Zm+4%}hJgFYm>%D1I=4(Zlc!W(Hn&$} zKsMK5+7k1bMWD%xSa@ zxpEnm%soaBgUfgQXP*1F=tVVN<}%WRLtd`D9Dp6B%SCGPEgFxa>2pu5N~9r2Vd&9LV`=XTnlYNwQALPah+4)u(w3tN zeiC?wV9vBKr8Mr3)lf;~61TGe<8fm!CgUHuV+_AvWYvHuY8lTOU(C z#M{sTtNav&Yi<{r`kclcc79Zpbu(1k9Rj}70ykd{Hxo{#_NEQK5YdfYSr7iDx(15b z_EcASYBc=eh=jN6XGXQozE{M5(Oozji{Ca+@m?6gM6FV<3Hx=TM6=$NNBqj~DQPly zLD;~Oxv=VfreVZY7i41ZChCm;KZbb^WQ8^FMS(Z)XkWXP7NaH@Bex`9B6sd;-Qg9j%S43{ekt;pLBkJc(%%eDS&10%pNaK=r zX#=1%?&E@u31-u{PY^zq#(fg4P|#B-T=TT>?L~;(txkAT_>B6W4f-*V=TwO@Ysg71 z4CHzA`)S-4g#ODg`ioW2$%%S+iT!>Kz7w4~Wg4gN@ zyuNv3?g0{wrF)j(rF5I@j5QPqliKB^S4+Mo0&#v6jr?9`zaKYz0~NgZMkt}(!JBHR z7B{4zr1U$MrTxKMsJiC&LbawLb$fk?=5POi9$52jp}Z49A?;G!@Ll!47xY7&e`KZB z-CiW{{yuQR_jNhcYi4o%QGNhmKXUaU&XF>}5tqOm$4rgg=H-8{#Ud@ z1s|bs&Br+US5-2xT8rj#J!SLfcAp6CZy_|RIe?VjkoI?U1NI++{j?G+zgjW}PI-_y zW&UZY{7Y0mvsCoClNyL+p36!Xi&6RO=5rDM!VSLoNe`C7RDwz$nr z7!h)Z71j-3=2-2ahyPSzM!9Ih|FYj-G~b}&njz3LOjg?DE~AEOi-uB?(ojHocH}m9 zSyU10x3uKLNxkx-84f6*j1bDm5DICR7R@O2j}H1VL+e;s!bLL%I7_@}{85etvcG7? z;oLRjDFPM^$#T&wr+VDHl%9H;z%sUImPad8FcAfw%g51QG-Oh9(X1%6l|pD%b7hNW zWpsnZDuP|L5^Sx!lUdD@SY0I6uq2i&TV>^nEtf$JfyoWnxNG6P`GA&A=^s?`ND2qNOuGEHwOKf zCzDl)a>8@?Xy-iHkR>ml8{xz?Qv~i^dZ(%q$0Zx!Rt@PkiPW?(sp(Zn`I_8V{nX?p zLf+IOR|x5ncto3<2{?+gjYk4{UOEZ&!r}#i7-?jP+a67S5%U`VrPhWEL zgT$DZ*o$%ClyYa5OA^xE1qd+8t|*XDz|nV49HVtlgM@VXDK4|SaQ6t|YKl$rZ+#A< zdiPX!)P$iQZOsw@r{i9tx3{IIFUH{|{P=1p?y1NMGts-J(#CwY;Npa(j(rGkzdEU(tBn?u}y znsfr+i%sBldA$SnU6uuYqRJ#iBPyRa6j(lY6(lPJU*EiZB_T`;dclYCa>Ha_hD$bw5-nH*%}j+uX=+%I zGCigh{fjiU?K`E+VQA3XkxFU}&3xsKdk0L4jI>Fq_L?ew(GIU7G;M&iZ@C(UPmJml zN2VQZv+;e)ftmK>C8mQw1@1rinJg$EjfUt;F}+ur*O^XqVouIQfrJ2#+!06v7;si~ z>DA5-OVlbhES@hms;p4_Yx(^C(=?i=)3X zDT`KSa-=7wacq+k!RtWndfo8glhYXBfPMi5BJMbH+O19GniJczzLGioNsRrT90HtC zHCj8@nLdz*7UzrC0?SKVM|=D4E$HM3Z(j5Rf)i>$kdZ8q{lJVl9DT`=yshk?I^7(B zS}3hj`pOSqqFKy$k5#=Wl(*3D!d@R8n z1t1JMByDmvd@Bd$0&z+DQHy4VP1x21k%MompET8MdpL)AC0c6aFs~xW zV>uR~#b&M+E#@$Pf-^iLu6n(GG!zU9zx12O^d-eYfcpe2w{JCl=?iAAr9fWh@;XV5 zC3Za<$1GOn@& z=V3yY3#EMJLxLJysD}l^eB~pe{HRAc_}S@WRf#m@C=6ZF<1B4Fl3&bt0#(;MDMY&~ zC2i{p{a2ViC77ozj6ykjZt@v5R1&$w?ODKh-1yYwbE5RTrKGDdX$Raw`N|gr`O6Tb zRa!V-`67E4FJJi*K>ZEp%Od?sKpNMPS4HVt&R25AGGED|(^9`e>E|ndjdO&(akN(~ z$o!fr_EP*hLF4&Kj+B(%U>V6*{uXVp$eSqe#5#`trI4&-ksA5Rw}koo5T^CBo<9ik zm46UK>;f6&SKd}XFS+lC;=7h&^Kw`(c-|KugF*t#hVIRK=!1sH`a9*&|44znWaayk zKQ`V{vho80&!{-Q577mq{0Rjj<|0&|)1bp{k9x9RhFbfJfd6WNn|q+OaJn-5p}8QP z$WPp-ylkWWYEPm+@(l$11T<9_`fccfY%!CVSLvZ_^AT7FM#+U$@v(%8t0G7~enQk4 z--ghC17~RZ?6;g?$UAinQV(}lr#ssse#QzdLmP-5v ztx(XA5#+TDj=p~&cdHYo5{IgP*`OZ-8Kz2nx2s=b1fy7l1EjN+>3fl*fz%IYB$(k>-O z)=+HV{su#nB#)KkuXvlhqa%!XL(l z==X%sFG4p$9YRb&fyeNLY|TX$VIll|N|PX`1(4u5ot0Wvh~#xQ2F_C3ViO?ys@N3g z_<$!xfGtRtYS>)$xEd%uZ83voEJd{iTA_?BQMhI+9DR$BNmv;bf0Hm%Xx|H=QRxar zVWN3ozSTu3U@b)+q?nBZhur&^QTm_-0oGlP#{`v5BB>WYfn^MGfODeW9c4XFEv#2 zSQL+x_GW247ViRPqw1P{gld-nsaN(``=SRZ`w3*E0ldVE#2?;4K=v02!>@>blQ$L#$x_unP(5x?icJL_%(C>`sY6i3pj%KN#EqlB zI!L|d>Sz_(VIefDD=;Xnjug7VqD`>vm0+2`9qh+8ro)m*i$td-p#<(=SY_KQD_3k~ z44S~5D|Q*n&Mud%Dsk=lJExrbxpSH)T>fW(=I!ubU8nxy-%;Lwn zM=Q>K9!OM(bDxi9#Og&~)6o}8aqbJ%9*%Qggq9j{?u!ZXSdK+F&V7k!G0uG{&hW&# z>h;=!_+vs)5pQ1X#~0IZq9b}3_okQ#lN^unf2(nCPf&9?-ZujbW4r~0Yi<=?&aiM$f&yFD$Ef#hg8Zq4%xSa@xpEm5^}byY zgUfgaV7yD3uf99c1bOa4fhfFaMCG9bRvreu?-t}e7P5II%)N^96VtO?NJYW#724oJ z{#-DOg5M`r_j{~@DEKd`5^2a$I{LQ7}!9u~|a7N+z- ztr744(lE7%Jre zH1jO#VEh~k*E}x*c9>*S&iDnv{L;dR0(}Y@zo@ps8NUP=k1^5A%cz6#D<}|U7Xizd zY|0t`N-)2+FnW>$bC7(0qo%?6z6KcZ<#rxe=5s*Ri_%XwyoYl4v`w^P>=^y}Wsj zI7l~qEQsj7ujGe6Q9rlRe-p*OTZ-Dk?uvIG&d;V2`|P~G`3Kse9kTr{T|+;mJYJ^Z zpAtPb)KaG5Uj(+B>hRD$Lo;mgISSW&AtLoTjW>Lmp?Y8#?{SDP1^kr-ZvGzDSvboO z{!vuk6f^m`e4$GMAA>EXdfL;W-$U{Jl1=7o&?7lDpLj;{<_if&cIE|4E_~XG;mmc1`yC(X<3A2x|)^6#rja z4b`G)l$Vs&VOiR{tcxl>LMl{iAyT(4H5&h4A3ZSY2102Jp^$bdnl@Se8wUN*>PD>8 zxTsSiTA_?xQQ#SH9DR$BNmv;bHD$$#9)8R!1}QRREaCr_hWO&f_^M1+ygD{|M*(S zgQ_s4e6%KStphLieN+(J7E0(RUI(k8nir$Aq;v>N>&19a)PgEv-9oj?g48Q}u~zf| zi`4`zj{>cLJH`BN-;>%mS{C9YK8gPlee^kAn8_eU02Uy1B* zMf9NR%WXHtk5p5|l=n?YzD}V(p;s#;fR#4|TJ(%6%qb@=dM5k*{n(FD!OOvgQm-tT z1R$NW)mY7&QF2l{ho#N03Dca52H5R96s|cRM}KONRb{t!fknAcC>MoL$fV@fE>`~~ zK|f@?l$BZwDsXF;0eXp-l0VSPf$T4(D{$_bE6E&7iDap;t5lC$opMuESF;ScwV$94 zOx6T?#VK=ZH>fQxgg=ZM(I0keH=zz8ZbspnTZC-g8d-#e z@ZH+2g1jw&#K3>bN-Zly+}iEHS!!F{0c2klcjDYNcToh`f@EonpQ#>K1Er@e?q(Tt zYxkfP%D5K=UbBItZxJ#HE2E-YyH9BMhtTZ&^_EBCouki6m|vh9EFKW-gOy+txRx`Z zETMZFh`G0CsxYUVwCuC&_ubobs37hu6zkq30B6VxYOLnoC^@P9lBIQT!Za_U0rqXe(RdW&Vqz5O0_XzC9rT=O=LzNSdN@?!D@ct<$zTAVWX z_MY0}Lioe@BlJZ`s6t4MD$kx4)MOX;mz5Pj$e-0oq@V~H9%L)R)VeUq{`R1`O1>{T4erh$y9M~5zPMpxXis-A*;H# z|BA&omW6e1L-6C5N^kb|-P~^RTxkfT5mY}eHS)DOh$T4ygU!7j8aoI2S(XQYc$JJey9#r*k=q1JTQ!-KLyC9 zvillmQN{~pxey9jl-$<@^)DavL&Axy)LJ-z8R9F)tbp1QFB^ZTD+1YHHY?#AZ|=sC z%Z6mBvQ<=%FB{5EWv$B6=5GR#Rzn*!wmJ&etbwDiF|w$+XzGR55JIzBD_b;^&`dr4F z$c^e}hxMYLrRQ36@EktU|FsZGokn%M- zQ~lKB_k_H)MXvDt8Hq=Ulv_hif))5WyCuid>0U5dcP zy9Y}DD!wPq@zAa?C^p2}iYr4tTSU7DcT+@!D)hy;jhbrr~B!_pU=cl`7E#swXMilaWraf(6m9Sn* zX2X``u;M^(Iyr2Q*}Lvz(m?B@VLNf6sXP}ah;xdZH{Y_V#FqiZAa0JO{UG@6AZ;+* zc?tWjg2dY1TL{)pWD9!JN$JH0O=cbtF;TiuAR3CJKT#-zCQ4=x70L1CnlL>UfY$Cs zvYH_yw9HP9%67COUu}w}7xh`oB*%q~TQCkdV zoH+{hg~{=~>0XY=zFneVjuwsaNa$sIL7=-E6S82AQR}#3zP+_1%CRIk9Q|g%9LMvq zrjz}JbZejKGRL#2K2t3A7G_SHR?O$S3QgH`v9l>}=1$8LySt{D69_UIaXt7wyaL0V zi27`hk&#+8GtEh8n>94KLZKUGa{91_3$0ywynht~UTEQ=g#xykT2*F|+Uhc?E-WO@ zZF4dy3{Q^p#?+N6;59$y6vAaTot>;#0I@aQ19f4)%G>n3Y0cop9C#&%ITc{Z2^@3* zh#8311qGVZ*gU)=-PSkPoK8x~3F+>(G-uNQB+I1JMe`%HFG@D#`-=FcW;Oa}kkAN< z)?PGcvNEoKse~8&wD!}5nIEGK24AiNul#8Zyg|X7g?1PlFQm!#bml$avn}v=z6gh7 z0o`<}+ngiVm1yeDY?sW_3P*vVU@4r7&g3ZcOiJv2*H{ z=4zhTd89bae_|==?Y)7K%{2rYEtIJRsOwtRmutn-F?^033rkA8PPn7tgnA)Gw%=S& zup!BY_6#-v?HHL=K1RuFLMxWQyuMy@1EBDRqhhM9bwReHm@zk^Vb-YR`0|--ZX&he z$vL}1?wff&vegQ1Zb2=xW^%c?a87u44Hr7JUo^L(ePMF++%zsgDH`-PG|Wzp*W@dy z`lo6gt0mcL*QB{!sADP z-wyK&^e)7Uq*4olrU%f(D~xm*TooQ9?Y_3;O3{6Ty(~RMBs@of*AC;XF*7;WhadFd zn*Io?u6b0A+Me=x^vt%njp^qPFL8-~OntZv) diff --git a/docs/build/doctrees/sf_tools.signal.reweight.doctree b/docs/build/doctrees/sf_tools.signal.reweight.doctree deleted file mode 100644 index 4fc4d005f717699cc8b7d9df4008745a2f8bc40b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15438 zcmd5@d7KPc77HQO4@4*kvc2sX2jKtW{TLd|<(X1;Iov ztX6>+c#{>oG)T^r<4wBZU|}kMar`?jRNec>kGh{os%QWB;q$Mj)baFvxQ>a#q9%S{f0=#0NR%&%{#_h&m5B_?s!-I(d(ZYby z!aywWK*Z##y4727y;2bktJPU`NV~oRr@*bJ)S*!K8m%4yb(1|6vDj}du(}}&xK?Z3 zg;sY|zHU4R4Gmd=L%~omVY6Jp(3w%+1w%WyFNY?*(5>f(YBQl*tpLn)*burHNTP#A zVMi}g5UTZ7PiUia%Z}P$^+cSi!>p7YhUDezAvF6)tq#vvy~TQs;R2P;T0Mo59R&Ej zF>Cea?ZO`7emNp*En*cOnN>$+q=Su$24cS2Sx}qYRgTqV$R3?lk8*qMy0y6ERUDNW zU5GX#an)vbp$pv}lWA8jETiP4)UitU_?Nx$wG$^De zs+5k6MNFg?dSx$=F*xm&YbA%LAIS#lg2)XakSkJ*%_ha7*#906DgJ*MxDc{mq}9bN z`vonsj~Z`lvz7_ZDHU@iFM!+cgj#lKWdS$#IG1}S)dW(PaMxTqn^0Y`P~#oLn&79@ z6F~nmtuBx0@4|S+^t+^9?Pk*1c}ZU}JLw#cxha(c{VTPyxm&x@t=sFEM@Z$-CznM{ zMWVRh21kejt>=w{J9Ith3hH zNM^K)8&MgEzj7AZilB%>3SYS4g$N| z0Q)4Zp3Lk^-U#d%l*qu?0@OA2JW5?Q`+ZtHB_Kk1v_6jlNiqFEx6+MXQ&^(w%9Cj(R!TxjCuCSIkC6 zl=w=p%32Y;SAo}8YxNrDm1*44)ZndJy_VZp3fSQ-LtD2D4R6_cVoEgmx=!lcJ{0kK z(d2Dfy@7F4Ex789XyMkRLf_O$Co|f|blwau+pymPUf-(K+n86TbX%KV*+hA*^>(e^ z0hoB?AA{m$ne)zhmO1arxZB2uz-?j=mCne_nf5AkE~PfRJ+hQ}H!o$(YH)RSmX#p( z1cj7(516}MtM|4tXD#Mh^*$aY-k-sar)rjFcO0;~i&c!J74?DfginLzkSu%}v;auu7+H-Hh(I-CZ|+E#M#I-Y8zJKImm_a{H@3ia~FAt7Ph9tl^Kd z5vWhNJ+{>y?G*2AUwD#Jqk6?FU@MnWpELvR9D8o{DH!FawfamxxqeokW%|7n^-@VD z=+BKWX;q}U&+0OL^?B?wv25T?-xm%fd+LjG^pst}7FiZ)DfK0E)t9yU3U?LH@Wx)z z7x%!)SOqIY1x*z7Ro21Ru+yC`mqvn`jm`Mit=<|s)1keN`bL|5B^mlAJhIt{`W6KL zwpQOU#+=*@eOdf+c01#}kt}h(3)a7<)%Th8wO~E&{`SoZZwF&(mKtdc3H1XO<%b#f z>+XD9{|H>qOJDsMg8W3QpLPoJy?F#NQv3{3{9LPF0N1@Q!D*jxDt-S;X7gA7i_Kqy z&2}644H)~aR=?|H?C0|^#+whsj2tpc;opP9KWOzw)-$gh=JMbK^Q(mU7CP!rEXAMy zmlS`Q!)6<_QtGeZ=Wkm5o%!LZJmQDR|6_LYYu!Kagz!&jD1o5<1?~J>tN$47tabke zoiv=j(V+S-CIz%f3$Vh`bP&GW@(Q%vHiUr#S}4`C8I)my76AZ!%z{pfQFYxu>O!Ka zTL{S%U{04XfVJ3}u93Ca z4a+53$~EoF#>SjP%TV3Xa?Pm}u@lTqV|kdO0oL(P+suJ7Rx*U)IGEwWp*MIwbo~~aeEs$9Ukw6gzLC-T z+_JITZo?C$8zoDVy+a#K`Ro=X4$J#}?B7##1VACxkw`Qhg>Tdv&(Ja}m~k|Mr%ixh zlR8=;J7R3{s)imV^{0b!2ER0ImVE#C8c2GEji}>DdPF9mkt?w%L2&g-ItC!<3g+Zt zv^bz+nI99@pyNb}4yhYqDH;#}GxkJc(jdyvpF>DAZ4m%7nneJ~aD~s>s^|U4yS56> zaD>AHNxRaHM;(;LXyW-kcRhE|35?Y6!sdEUil%I;(4zryK)lTO3_S(~GHIJ0NjPA% zqNEd6(ZU0=sI?rH@XV8B;Y=n8S zB)-(%gPj60=`*S`#g<5$;qh@mdKh}cD6g#wr8sL!1^(2L%^V%rp;(I45z6 zym`BP$E9ZsZ`pEUHb*-_u+as6Qu1BWRHx*Nqn$Td0x@{o9;OF#z7xD<&d4!gkk z9wN<_(S{Y*9BrN;&0H2W!^@{g7j!wwpa}+d*F~CWj5NC$p)u0n9L+O34$7jUG2HA= zj5I#eOAIf5G_}(eT#nhnBy;q_ZhSdia8~sH#3Zbk#5={ksji)Bf zh9wlU;oU#tzEl)orvV&KKO6?&m@iF8RYy-Z=DA7KbEu14q2x6v0oR`ucdgHj@?f(^ z>JjOp5`JkaOWwpmE{qrE0rbwa&1~#)%!?`l*um7OP^~hs35PU^Pz|L}jzXe|1m7$; zxoP7`2!v4}^3i%o{2=$ z4fq;`t@XKWSOIT|TDhZVNe$?5P$`|EXCn_1&q1Q;Mtoxu+-!3!d9Kvo)Tl?FJdZQY zabgiBSb9Fnd=VirJV+?7seO6@fD)sH8^yKeSb`)~@IqkDseY$ibM3$jQuHE#p#yG4 zqUpu>LMESEWg~rw%P6#AteDtm&8$dPQ6( zV=IOz6MEkaLa!7;uSyUy`UVJx^3p%J=B6~g8r6V(jlkYI8!Vq(v>P(L)}Xyk&|YuQ zjZx!6P z8C*H~Y1xjaGZUq%9g3Ikl2Bu{R7{&_BlqCj=V*sn;vRel*ZYwdz7rWu?-G>$@nz6g zOIu9u-BKyOXl%E|{g_#%`W{Y)J1NlZs6a2h7m23#;TxL1Fi!%+U^Jn)rwjfa<-3{;u=4!FH9|EQyInsymThl$?6spn0rv>&i zv%#{*v>O$D)}Vb((C#y6;xQeNpGRej#~3D>9^)G~L4ma-F>TTpfG9G`IS?FdH*y#f zaArYYly<*l+U1jrXww`YUeK4Nsx`jTyrw~4k?L*ZCqcIOj6btEoryyw9bwhvIS0ap zZne1C?dG!#`YK4Z9%r~XxS+40Sku>~9kb3j62E1K>hjqIeM745IN-*o6>ZTd_fFY~ zn#SmxjC{AxNg~Kh-x4A?f}n5Xm!|JXzJGij!`h`Hw79?#(8-K}Y zCI}W2qhFy6qWl_(rr!t=wxi@?o>?(Ifv`3GRv>?8AmzxCJG+A^4o%bV1!{h#{s0(> z1^-b9|EZlY$ozRuGHZQihX=L4aB7ZFnIHNq@{sFqNHqN&-*`;pW{kfh@C!%xdr$zm z{vnY6Oh6hf!`J;3N?D$Najl8(`b)X2)$@}s^KVqg(WU?3x2FFxa=dO{fK^^%x>$v} zIAUv}InAJKylF!mWsa3tVo7)ZSECK0BsGnvYbq*8`Y7WHG-`@C_{hrBGJ@`Z`>c;l=O$62D`gbjP7cG_4T|{k}+@^nBKkIEkzdA0fc~26%i2hBkAt zP3Ecj!aoyKEvKXFvgs4rf&kfS zpd+~)0iR(y3cuzK_-sNgY^62eb2JK}p+_Onl)=~dZqia%F0m9oN^83VNcB8(r^rU9;mcMl3$r%m+60l^^#G>cn9b_)u?{8l8I zh6TOfm$s7pGgD1VKVE=OFu>#MVP3K0@D0tzrA!1e?O=o+4Y+p3<^CHzMkvg~?TL&! z{6AYb31E=nWF(qKglNAn%_e1Fu0@7;CyvY3gJnB(^Ed}e6}_NVvS&D-qQ?RhU2%#K zJk=1C^{pB4BJ;DBB#>wuz_<%eV{oghgbPm7bUHHPEK})I(^Ki)B^(T9(z_?fE?l)$ zU$r%TY?Qfr`iiNm^;MPhZX6GmZLQP0iJwPowz@0TDcmQf?I4BAHI;ff?+~4V+*sTE zYW2Xf`1qc7pw`Tj;3Myp=u8I3{5zV83_<1&7-Qq#=84Q&5|UjBaOW08=qyIEmNgzY z;3OlUvr(w&9DJ=_6mW9^ohyas;VY-zSo3n|njVLOEREvZ5j~58vpLX+ZYI+C0EE^r zK%!}ku@Haa>r{={YK|5Bc&Wj9^g{gbbMSRroSj+mxyj_E7M{T`;;9ew?nPW@0#R{5 z`C=5oa&{uovSUEHsr4g@X!NOMxrT;Z_GFIB7FOXM<=jW1~cV+wUmqdF`z2|l%*WL*1;`L zSfq!qlv4{1Z?-U=u$00jo><+70sg>@{u21WGzcF8_*s>Eivk{m=D8Y8D$7h<0}S{r7C`AeC|}A zHN;xMeKn78;F~k2jsewBktKz%)f+frh_NgnLN;N%n5y}_x|q7eF4gh;i2~GvXM7Q% zW>{-gtmhoRW#M!8fcByW?}ApNy($&)@Q6>zaUBOkLOQyD$$dao zT-;T3^7TnNz?7_&4n|Y9vKesZI!;K}qx^t%ShXJ3>fv1UpTUH>nYBVl&*aQ9UcX^% z&Q0^+NjIPj9loMiFV}Jns}JZ|C`V^woc1ac)d=|626#E2hV#W1&~@xGJx5><<*uIa zO42vt~X&moH;Q?#C85|t*1}K1DLpLXC3+)eFU12Z+H z=uS|;%IGd6n(h{I63vu1hx{B9npl{Ho!_i))J-qYayT!0%d`}skl zImwP6bk*~9YgNnRShKME2yiuhlqqb$v<}K2Yf@&4(F;>Nd^9wzzIgfz=;Hv*(kJkh T*bQED(!I!N`Xs*f{NVoq885uk diff --git a/docs/build/doctrees/sf_tools.signal.svd.doctree b/docs/build/doctrees/sf_tools.signal.svd.doctree deleted file mode 100644 index 24e3386e1c0523cab16e457510d68c919f65ba1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31440 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 diff --git a/docs/build/doctrees/sf_tools.signal.validation.doctree b/docs/build/doctrees/sf_tools.signal.validation.doctree deleted file mode 100644 index 006da21668bb8598118f77d2376dde4d8cd302c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15498 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 - - - - - - - - Overview: module code — sf_tools 1.0 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -