From d770ccb956f46f5ed65b391e13c4b48572a464d3 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 4 Oct 2021 19:51:03 +0000 Subject: [PATCH 01/53] [pre-commit.ci] pre-commit suggestions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/psf/black: 21.7b0 → 21.9b0](https://github.com/psf/black/compare/21.7b0...21.9b0) - [github.com/executablebooks/mdformat: 0.7.7 → 0.7.10](https://github.com/executablebooks/mdformat/compare/0.7.7...0.7.10) --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0e405be8..26636a59 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -35,7 +35,7 @@ repos: - id: yesqa - repo: https://github.com/psf/black - rev: 21.7b0 + rev: 21.9b0 hooks: - id: black name: Format code @@ -47,7 +47,7 @@ repos: name: imports - repo: https://github.com/executablebooks/mdformat - rev: 0.7.7 + rev: 0.7.10 hooks: - id: mdformat additional_dependencies: From fc7e7c877f7dc161479cd598e72b5ba45c354879 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Oct 2021 01:18:26 -0400 Subject: [PATCH 02/53] adding sequence of keywords in order to make image and segmentation to share different parameters --- rising/transforms/abstract.py | 13 ++++-- rising/transforms/affine.py | 64 ++++++++++++++------------ rising/transforms/format.py | 33 ++++++++++++- rising/transforms/functional/affine.py | 1 + 4 files changed, 74 insertions(+), 37 deletions(-) diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index acc2c17b..9511a8d1 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Sequence, Tuple, Union +from typing import Any, Callable, Sequence, Tuple, Union, TypeVar import torch @@ -6,9 +6,12 @@ __all__ = ["AbstractTransform", "BaseTransform", "PerSampleTransform", "PerChannelTransform", "BaseTransformSeeded"] -augment_callable = Callable[[torch.Tensor], Any] +augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] +T = TypeVar("T") +item_or_sequence = Union[T, Sequence[T]] + class AbstractTransform(torch.nn.Module): """Base class for all transforms""" @@ -199,7 +202,7 @@ def forward(self, **data) -> dict: seed = torch.random.get_rng_state() for _key in self.keys: - torch.random.set_rng_state(seed) + torch.random.set_rng_state(seed) # noqa data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) return data @@ -231,7 +234,7 @@ def forward(self, **data) -> dict: for _key in self.keys: out = torch.empty_like(data[_key]) for _i in range(data[_key].shape[0]): - out[_i] = self.augment_fn(data[_key][_i], out=out[_i], **kwargs) + out[_i] = self.augment_fn(data[_key][_i], out=out[_i], **kwargs) # noqa data[_key] = out return data @@ -284,7 +287,7 @@ def forward(self, **data) -> dict: for _key in self.keys: out = torch.empty_like(data[_key]) for _i in range(data[_key].shape[1]): - out[:, _i] = self.augment_fn(data[_key][:, _i], out=out[:, _i], **kwargs) + out[:, _i] = self.augment_fn(data[_key][:, _i], out=out[:, _i], **kwargs) # noqa data[_key] = out return data else: diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 1fc463fd..6ec96fe2 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -2,7 +2,8 @@ import torch -from rising.transforms.abstract import BaseTransform +from rising.transforms.abstract import BaseTransform, item_or_sequence +from rising.transforms.format import ntuple from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -32,9 +33,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, @@ -73,12 +74,14 @@ def __init__( affine transform """ super().__init__(augment_fn=affine_image_transform, keys=keys, grad=grad, **kwargs) + self._tuple_generator = ntuple(len(self.keys)) + self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size - self.interpolation_mode = interpolation_mode - self.padding_mode = padding_mode - self.align_corners = align_corners + self.interpolation_mode = self._tuple_generator(interpolation_mode) + self.padding_mode = self._tuple_generator(padding_mode) + self.align_corners = self._tuple_generator(align_corners) self.reverse_order = reverse_order self.per_sample = per_sample @@ -130,15 +133,16 @@ def forward(self, **data) -> dict: """ matrix = self.assemble_matrix(**data) - for key in self.keys: + for key, interpolation, padding, align_corners in zip( + self.keys, self.interpolation_mode, self.padding_mode, self.align_corners): data[key] = self.augment_fn( data[key], matrix_batch=matrix, output_size=self.output_size, adjust_size=self.adjust_size, - interpolation_mode=self.interpolation_mode, - padding_mode=self.padding_mode, - align_corners=self.align_corners, + interpolation_mode=interpolation, # this can be different + padding_mode=padding, # this can be different + align_corners=align_corners, # this can be different reverse_order=self.reverse_order, **self.kwargs, ) @@ -232,9 +236,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -332,9 +336,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, @@ -476,9 +480,9 @@ def __init__( degree: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -552,9 +556,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, unit: str = "pixel", reverse_order: bool = False, **kwargs, @@ -647,9 +651,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -718,11 +722,11 @@ class Resize(Scale): def __init__( self, size: Union[int, Tuple[int]], - keys: Sequence = ("data",), + keys: Sequence[str] = ("data",), grad: bool = False, - interpolation_mode: str = "bilinear", - padding_mode: str = "zeros", - align_corners: bool = False, + interpolation_mode: item_or_sequence[str] = "bilinear", + padding_mode: item_or_sequence[str] = "zeros", + align_corners: item_or_sequence[bool] = False, reverse_order: bool = False, **kwargs, ): diff --git a/rising/transforms/format.py b/rising/transforms/format.py index 0c943232..83d69665 100644 --- a/rising/transforms/format.py +++ b/rising/transforms/format.py @@ -1,10 +1,15 @@ +import collections +from itertools import repeat from typing import Callable, Dict, Hashable, Mapping, Sequence, Tuple, Union -from rising.transforms.functional.utility import filter_keys, pop_keys +import numpy as np +from torch import Tensor +from rising.transforms.functional.utility import filter_keys, pop_keys from .abstract import AbstractTransform -__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys"] +__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys", "ntuple", "single", "pair", "triple", + "quadruple"] class MapToSeq(AbstractTransform): @@ -127,3 +132,27 @@ def forward(self, **data) -> Dict: for old_key, new_key in self.keys.items(): data[new_key] = data.pop(old_key) return data + + +def ntuple(n): + def parse(x): + if isinstance(x, (Tensor, np.ndarray, str)): + return tuple(repeat(x, n)) + if isinstance(x, collections.abc.Iterable): + item_list = list(x) + if len(item_list) == n: + return item_list + if len(item_list) == 1: + return tuple(repeat(item_list[0], n)) + if len(list(x)) != n: + raise RuntimeError(f"Iterable shape inconsistent, n = {n}, given {len(list(x))}") + + return tuple(repeat(x, n)) + + return parse + + +single = ntuple(1) +pair = ntuple(2) +triple = ntuple(3) +quadruple = ntuple(4) diff --git a/rising/transforms/functional/affine.py b/rising/transforms/functional/affine.py index 1c03be6e..5c0461de 100644 --- a/rising/transforms/functional/affine.py +++ b/rising/transforms/functional/affine.py @@ -446,6 +446,7 @@ def affine_image_transform( pixels. If set to False, they are instead considered as referring to the corner points of the input’s corner pixels, making the sampling more resolution agnostic. + reverse_order: todo to add the specific details. Returns: torch.Tensor: transformed image From 46a3370c3b484ed363c27a203c0cad9a729b47d8 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Oct 2021 02:02:58 -0400 Subject: [PATCH 03/53] improved resizeNaive and its children to accept a list of parameters --- rising/transforms/abstract.py | 2 ++ rising/transforms/affine.py | 3 --- rising/transforms/spatial.py | 42 ++++++++++++++++++++++++++++------- 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 9511a8d1..b3dd3aae 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -3,6 +3,7 @@ import torch from rising.random import AbstractParameter, DiscreteParameter +from rising.transforms.format import ntuple __all__ = ["AbstractTransform", "BaseTransform", "PerSampleTransform", "PerChannelTransform", "BaseTransformSeeded"] @@ -156,6 +157,7 @@ def __init__( self.kwargs = kwargs for name, val in zip(property_names, sampler_vals): self.register_sampler(name, val) + self._tuple_generator = ntuple(len(self.keys)) def forward(self, **data) -> dict: """ diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 6ec96fe2..c56c0396 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -3,7 +3,6 @@ import torch from rising.transforms.abstract import BaseTransform, item_or_sequence -from rising.transforms.format import ntuple from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -74,8 +73,6 @@ def __init__( affine transform """ super().__init__(augment_fn=affine_image_transform, keys=keys, grad=grad, **kwargs) - self._tuple_generator = ntuple(len(self.keys)) - self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index f5b26c3c..03b275e6 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -1,6 +1,6 @@ # from __future__ import annotations from itertools import combinations -from typing import Callable, Optional, Sequence, Union +from typing import Callable, Sequence, Union import torch from torch.multiprocessing import Value @@ -11,6 +11,7 @@ __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] from rising.transforms.functional import mirror, resize_native, rot90 +from rising.transforms.abstract import item_or_sequence scheduler_type = Callable[[int], Union[int, Sequence[int]]] @@ -130,10 +131,10 @@ class ResizeNative(BaseTransform): def __init__( self, size: Union[int, Sequence[int]], - mode: str = "nearest", - align_corners: Optional[bool] = None, + mode: item_or_sequence[str] = "nearest", + align_corners: item_or_sequence[bool] = None, preserve_range: bool = False, - keys: Sequence = ("data",), + keys: Sequence[str] = ("data",), grad: bool = False, **kwargs ): @@ -143,10 +144,10 @@ def __init__( number of channels) mode: one of ``nearest``, ``linear``, ``bilinear``, ``bicubic``, ``trilinear``, ``area`` (for more inforamtion see - :func:`torch.nn.functional.interpolate`) + :func:`torch.nn.functional.interpolate`) or their sequence, for different keys. align_corners: input and output tensors are aligned by the center \ points of their corners pixels, preserving the values at the - corner pixels. + corner pixels. Input can be sequence, for different keys. preserve_range: output tensor has same range as input tensor keys: keys which should be augmented grad: enable gradient computation inside transformation @@ -162,6 +163,31 @@ def __init__( grad=grad, **kwargs ) + self.align_corners = self._tuple_generator(align_corners) + self.mode = self._tuple_generator(mode) + + def forward(self, **data) -> dict: + """ + calling interpolate function by passing the right parameters + + Args: + **data: the data to transform + + Returns: + dict: dictionary containing the transformed data + """ + + for key, mode, align_corners in zip( + self.keys, self.mode, self.align_corners): + data[key] = self.augment_fn( + data[key], + size=self.size, + mode=mode, + align_corners=align_corners, + preserve_range=self.preserve_range, + ) + + return data class Zoom(BaseTransform): @@ -219,8 +245,8 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: str = "nearest", - align_corners: bool = None, + mode: item_or_sequence[str] = "nearest", + align_corners: item_or_sequence[bool] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, From 4b7d6728d91ea84d8682a68e3a2311a2ceb8801e Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Fri, 22 Oct 2021 06:04:00 +0000 Subject: [PATCH 04/53] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- rising/transforms/abstract.py | 8 ++++---- rising/transforms/affine.py | 3 ++- rising/transforms/format.py | 15 +++++++++++++-- rising/transforms/spatial.py | 5 ++--- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index b3dd3aae..9194577a 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Sequence, Tuple, Union, TypeVar +from typing import Any, Callable, Sequence, Tuple, TypeVar, Union import torch @@ -204,7 +204,7 @@ def forward(self, **data) -> dict: seed = torch.random.get_rng_state() for _key in self.keys: - torch.random.set_rng_state(seed) # noqa + torch.random.set_rng_state(seed) data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) return data @@ -236,7 +236,7 @@ def forward(self, **data) -> dict: for _key in self.keys: out = torch.empty_like(data[_key]) for _i in range(data[_key].shape[0]): - out[_i] = self.augment_fn(data[_key][_i], out=out[_i], **kwargs) # noqa + out[_i] = self.augment_fn(data[_key][_i], out=out[_i], **kwargs) data[_key] = out return data @@ -289,7 +289,7 @@ def forward(self, **data) -> dict: for _key in self.keys: out = torch.empty_like(data[_key]) for _i in range(data[_key].shape[1]): - out[:, _i] = self.augment_fn(data[_key][:, _i], out=out[:, _i], **kwargs) # noqa + out[:, _i] = self.augment_fn(data[_key][:, _i], out=out[:, _i], **kwargs) data[_key] = out return data else: diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index c56c0396..cccd6b85 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -131,7 +131,8 @@ def forward(self, **data) -> dict: matrix = self.assemble_matrix(**data) for key, interpolation, padding, align_corners in zip( - self.keys, self.interpolation_mode, self.padding_mode, self.align_corners): + self.keys, self.interpolation_mode, self.padding_mode, self.align_corners + ): data[key] = self.augment_fn( data[key], matrix_batch=matrix, diff --git a/rising/transforms/format.py b/rising/transforms/format.py index 83d69665..c79ebab9 100644 --- a/rising/transforms/format.py +++ b/rising/transforms/format.py @@ -6,10 +6,21 @@ from torch import Tensor from rising.transforms.functional.utility import filter_keys, pop_keys + from .abstract import AbstractTransform -__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys", "ntuple", "single", "pair", "triple", - "quadruple"] +__all__ = [ + "MapToSeq", + "SeqToMap", + "PopKeys", + "FilterKeys", + "RenameKeys", + "ntuple", + "single", + "pair", + "triple", + "quadruple", +] class MapToSeq(AbstractTransform): diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 03b275e6..9b0feb1b 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -10,8 +10,8 @@ __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] -from rising.transforms.functional import mirror, resize_native, rot90 from rising.transforms.abstract import item_or_sequence +from rising.transforms.functional import mirror, resize_native, rot90 scheduler_type = Callable[[int], Union[int, Sequence[int]]] @@ -177,8 +177,7 @@ def forward(self, **data) -> dict: dict: dictionary containing the transformed data """ - for key, mode, align_corners in zip( - self.keys, self.mode, self.align_corners): + for key, mode, align_corners in zip(self.keys, self.mode, self.align_corners): data[key] = self.augment_fn( data[key], size=self.size, From cb7ac6efdd9ef30467caac8b9d62cc0ac65c388f Mon Sep 17 00:00:00 2001 From: jizong Date: Sat, 23 Oct 2021 21:54:23 -0400 Subject: [PATCH 05/53] resolved partially imported errors by extracting ntuples to utils folder. --- rising/transforms/abstract.py | 2 +- rising/transforms/format.py | 34 ++-------------------------------- rising/utils/mise.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 33 deletions(-) create mode 100644 rising/utils/mise.py diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index b3dd3aae..376261e1 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -3,7 +3,7 @@ import torch from rising.random import AbstractParameter, DiscreteParameter -from rising.transforms.format import ntuple +from rising.utils.mise import ntuple __all__ = ["AbstractTransform", "BaseTransform", "PerSampleTransform", "PerChannelTransform", "BaseTransformSeeded"] diff --git a/rising/transforms/format.py b/rising/transforms/format.py index 83d69665..c2bf58fb 100644 --- a/rising/transforms/format.py +++ b/rising/transforms/format.py @@ -1,15 +1,9 @@ -import collections -from itertools import repeat from typing import Callable, Dict, Hashable, Mapping, Sequence, Tuple, Union -import numpy as np -from torch import Tensor +__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys"] +from rising.transforms.abstract import AbstractTransform from rising.transforms.functional.utility import filter_keys, pop_keys -from .abstract import AbstractTransform - -__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys", "ntuple", "single", "pair", "triple", - "quadruple"] class MapToSeq(AbstractTransform): @@ -132,27 +126,3 @@ def forward(self, **data) -> Dict: for old_key, new_key in self.keys.items(): data[new_key] = data.pop(old_key) return data - - -def ntuple(n): - def parse(x): - if isinstance(x, (Tensor, np.ndarray, str)): - return tuple(repeat(x, n)) - if isinstance(x, collections.abc.Iterable): - item_list = list(x) - if len(item_list) == n: - return item_list - if len(item_list) == 1: - return tuple(repeat(item_list[0], n)) - if len(list(x)) != n: - raise RuntimeError(f"Iterable shape inconsistent, n = {n}, given {len(list(x))}") - - return tuple(repeat(x, n)) - - return parse - - -single = ntuple(1) -pair = ntuple(2) -triple = ntuple(3) -quadruple = ntuple(4) diff --git a/rising/utils/mise.py b/rising/utils/mise.py new file mode 100644 index 00000000..c76775b7 --- /dev/null +++ b/rising/utils/mise.py @@ -0,0 +1,29 @@ +import collections +from itertools import repeat + +import numpy as np +from torch import Tensor + + +def ntuple(n): + def parse(x): + if isinstance(x, (Tensor, np.ndarray, str)): + return tuple(repeat(x, n)) + if isinstance(x, collections.abc.Iterable): + item_list = list(x) + if len(item_list) == n: + return item_list + if len(item_list) == 1: + return tuple(repeat(item_list[0], n)) + if len(list(x)) != n: + raise RuntimeError(f"Iterable shape inconsistent, n = {n}, given {len(list(x))}") + + return tuple(repeat(x, n)) + + return parse + + +single = ntuple(1) +pair = ntuple(2) +triple = ntuple(3) +quadruple = ntuple(4) \ No newline at end of file From 0719259760a02bc853ae0476ebe0c8c4417ddbc1 Mon Sep 17 00:00:00 2001 From: "Jizong@ETS" Date: Sat, 23 Oct 2021 22:48:59 -0400 Subject: [PATCH 06/53] adding constant parameter in order to simplify the parameter assignment --- rising/random/abstract.py | 21 +++++++++++++++------ rising/random/continuous.py | 12 +++++++++--- rising/utils/mise.py | 4 ++-- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/rising/random/abstract.py b/rising/random/abstract.py index 4cd2ef67..83846dc7 100644 --- a/rising/random/abstract.py +++ b/rising/random/abstract.py @@ -2,7 +2,7 @@ from typing import Optional, Sequence, Union import torch - +import typing as t from rising.utils.shape import reshape __all__ = ["AbstractParameter"] @@ -42,11 +42,11 @@ def sample(self, n_samples: int) -> Union[torch.Tensor, list]: raise NotImplementedError def forward( - self, - size: Optional[Union[Sequence, torch.Size]] = None, - device: Union[torch.device, str] = None, - dtype: Union[torch.dtype, str] = None, - tensor_like: torch.Tensor = None, + self, + size: Optional[Union[Sequence, torch.Size]] = None, + device: Union[torch.device, str] = None, + dtype: Union[torch.dtype, str] = None, + tensor_like: torch.Tensor = None, ) -> Union[None, list, torch.Tensor]: """ Forward function (will also be called if the module is called). @@ -87,3 +87,12 @@ def forward( else: samples = samples.to(device=device, dtype=dtype) return samples + + +class ConstantParameter(AbstractParameter): + def __init__(self, constant: t.Union[int, float]): + super().__init__() + self.constant = constant + + def sample(self, n_samples: int) -> Union[torch.Tensor, list]: + return torch.as_tensor([self.constant for _ in range(n_samples[0])]) diff --git a/rising/random/continuous.py b/rising/random/continuous.py index c5712cbd..c259ae92 100644 --- a/rising/random/continuous.py +++ b/rising/random/continuous.py @@ -3,7 +3,7 @@ import torch from torch.distributions import Distribution as TorchDistribution -from rising.random.abstract import AbstractParameter +from rising.random.abstract import AbstractParameter, ConstantParameter __all__ = ["ContinuousParameter", "NormalParameter", "UniformParameter"] @@ -44,7 +44,10 @@ def __init__(self, mu: Union[float, torch.Tensor], sigma: Union[float, torch.Ten mu : the distributions mean sigma : the distributions standard deviation """ - super().__init__(torch.distributions.Normal(loc=mu, scale=sigma)) + if sigma == 0: + super(NormalParameter, self).__init__(ConstantParameter(constant=mu)) # return constant + else: + super().__init__(torch.distributions.Normal(loc=mu, scale=sigma)) class UniformParameter(ContinuousParameter): @@ -59,4 +62,7 @@ def __init__(self, low: Union[float, torch.Tensor], high: Union[float, torch.Ten low : the lower range (inclusive) high : the higher range (exclusive) """ - super().__init__(torch.distributions.Uniform(low=low, high=high)) + if low == high: + super(UniformParameter, self).__init__(ConstantParameter(low)) # return constant + else: + super().__init__(torch.distributions.Uniform(low=low, high=high)) diff --git a/rising/utils/mise.py b/rising/utils/mise.py index c76775b7..c2f560a6 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -10,7 +10,7 @@ def parse(x): if isinstance(x, (Tensor, np.ndarray, str)): return tuple(repeat(x, n)) if isinstance(x, collections.abc.Iterable): - item_list = list(x) + item_list = tuple(x) if len(item_list) == n: return item_list if len(item_list) == 1: @@ -26,4 +26,4 @@ def parse(x): single = ntuple(1) pair = ntuple(2) triple = ntuple(3) -quadruple = ntuple(4) \ No newline at end of file +quadruple = ntuple(4) From d819df452bd92dc7e3077d862b2d175c97840f9d Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 24 Oct 2021 00:01:11 -0400 Subject: [PATCH 07/53] adding sitk transformation --- rising/transforms/abstract.py | 3 +- rising/transforms_ext/__init__.py | 0 rising/transforms_ext/functional/__init__.py | 0 rising/transforms_ext/functional/sitk.py | 46 +++++++++++++++ rising/transforms_ext/sitk.py | 60 ++++++++++++++++++++ 5 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 rising/transforms_ext/__init__.py create mode 100644 rising/transforms_ext/functional/__init__.py create mode 100644 rising/transforms_ext/functional/sitk.py create mode 100644 rising/transforms_ext/sitk.py diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 59363c72..32c4d4aa 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -5,7 +5,8 @@ from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import ntuple -__all__ = ["AbstractTransform", "BaseTransform", "PerSampleTransform", "PerChannelTransform", "BaseTransformSeeded"] +__all__ = ["AbstractTransform", "item_or_sequence", "BaseTransform", "PerSampleTransform", "PerChannelTransform", + "BaseTransformSeeded"] augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] diff --git a/rising/transforms_ext/__init__.py b/rising/transforms_ext/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/rising/transforms_ext/functional/__init__.py b/rising/transforms_ext/functional/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/rising/transforms_ext/functional/sitk.py b/rising/transforms_ext/functional/sitk.py new file mode 100644 index 00000000..b3f5433a --- /dev/null +++ b/rising/transforms_ext/functional/sitk.py @@ -0,0 +1,46 @@ +from typing import Union, Tuple + +import SimpleITK as sitk + +from rising.utils import check_scalar + + +def itk_resample(image: sitk.Image, spacing: Union[float, Tuple[float, float, float]], *, + interpolation: str = "nearest", pad_value: int) -> sitk.Image: + """ + resample sitk image given spacing, pad value and interpolation. + + Args: + image: sitk image + spacing: new spacing, either a scalar or a tuple of three scalars. + interpolation: interpolation method, "linear" or "nearest". + pad_value: pad value for out of space pixels. + + Returns: + torch.Tensor: affine params in correct shape + """ + if check_scalar(spacing): + spacing: Tuple[float, float, float] = (spacing, spacing, spacing) # noqa + + ori_spacing = image.GetSpacing() + ori_size = image.GetSize() + new_size = (round(ori_size[0] * (ori_spacing[0] / spacing[0])), + round(ori_size[1] * (ori_spacing[1] / spacing[1])), + round(ori_size[2] * (ori_spacing[2] / spacing[2]))) + interp = {"linear": sitk.sitkLinear, "nearest": sitk.sitkNearestNeighbor}[interpolation] + return sitk.Resample(image, new_size, sitk.Transform(), interp, image.GetOrigin(), spacing, image.GetDirection(), + pad_value, image.GetPixelID()) + + +def itk_clip(image: sitk.Image, low: int, high: int) -> sitk.Image: + """ + clamp sitk image given low and high values, used to windows CT images. + Args: + image: sitk image + low: low threshold to clip, type: int + high: high threshold to clip, type: int + Returns: + sitk.Image + """ + assert low < high, (low, high) + return sitk.Clamp(image, sitk.sitkInt16, low, high) diff --git a/rising/transforms_ext/sitk.py b/rising/transforms_ext/sitk.py new file mode 100644 index 00000000..8f9265b1 --- /dev/null +++ b/rising/transforms_ext/sitk.py @@ -0,0 +1,60 @@ +from typing import Sequence, Tuple, Union + +import torch + +from rising.random.abstract import AbstractParameter +from rising.transforms.abstract import item_or_sequence, BaseTransform +from rising.transforms_ext.functional.sitk import itk_resample, itk_clip + +SpacingParamType = Union[ + int, Sequence[int], float, Sequence[float], torch.Tensor, AbstractParameter, Sequence[AbstractParameter] +] +SpacingTypeOrTuple = Union[SpacingParamType, Tuple[SpacingParamType, SpacingParamType, SpacingParamType]] + +IntNumType = Union[int, AbstractParameter] + + +class SITKResample(BaseTransform): + """ + simpleitk resampling class + """ + + def __init__(self, spacing: SpacingParamType, *, pad_value: Union[int, float], keys: Sequence = ("data",), + interpolation: item_or_sequence[str] = "nearest", **kwargs): + """ + resample simpleitk image given new spacing and padding value + Args: + spacing: float or tuple of three floats, indicating spacing for each dimension. + pad_value: padding values + interpolation: str or sequence of str to indicate the interpolation for different keys. + """ + super().__init__(augment_fn=itk_resample, keys=keys, grad=False, spacing=spacing, pad_value=pad_value, + property_names=("spacing", "pad_value"), **kwargs) + self.interpolation_mode = self._tuple_generator(interpolation) + + def forward(self, **data) -> dict: + for key, interpolation in zip(self.keys, self.interpolation_mode): + data[key] = self.augment_fn( + data[key], + spacing=self.spacing, + interpolation=interpolation, + pad_value=self.pad_value, + **self.kwargs, + ) + + return data + + +class SITKWindows(BaseTransform): + """ + simpleit windowsing class + """ + + def __init__(self, low: IntNumType, high: IntNumType, *, keys: Sequence[str] = ("data",), **kwargs): + super().__init__(itk_clip, keys=keys, grad=False, **kwargs) + self.register_sampler("low", low) + self.register_sampler("high", high) + + +if __name__ == '__main__': + transform = SITKResample(spacing=1, pad_value=0) From 83e31055c93c2b98ed8e366ccb0e328658df2453 Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 24 Oct 2021 03:51:44 -0400 Subject: [PATCH 08/53] adding sitk2tensor, and percentiels normalization. --- rising/loading/loader.py | 4 +-- rising/random/discrete.py | 2 +- rising/transforms/__init__.py | 1 + rising/transforms/intensity.py | 27 ++++++++++++++++++ rising/transforms/tensor.py | 4 +-- rising/transforms_ext/functional/sitk.py | 10 ++++++- rising/transforms_ext/sitk.py | 22 ++++++++++---- tests/data/patient004_frame01.nii.gz | Bin 0 -> 744821 bytes tests/data/patient004_frame01_gt.nii.gz | Bin 0 -> 6956 bytes tests/transforms/functional/test_sitk.py | 26 +++++++++++++++++ tests/transforms/test_intensity_transforms.py | 13 +++++++++ 11 files changed, 98 insertions(+), 11 deletions(-) create mode 100644 tests/data/patient004_frame01.nii.gz create mode 100644 tests/data/patient004_frame01_gt.nii.gz create mode 100644 tests/transforms/functional/test_sitk.py diff --git a/rising/loading/loader.py b/rising/loading/loader.py index a3de6dae..ace4b5cf 100644 --- a/rising/loading/loader.py +++ b/rising/loading/loader.py @@ -385,7 +385,7 @@ def __call__(self, *args, **kwargs) -> Any: batch = self._transform_call(batch, self._transforms) if self._auto_convert: - batch = default_convert(batch) + batch = default_convert(batch) # convert to tensor return batch @@ -442,7 +442,7 @@ def __getitem__(self, item: int) -> Any: return sample def __len__(self) -> int: - return len(self.dataset) + return len(self.dataset) # noqa def _change_pseudo_batch_dim(self, sample: Any, add: bool) -> Any: """ diff --git a/rising/random/discrete.py b/rising/random/discrete.py index 64bf6d15..1b7d1053 100644 --- a/rising/random/discrete.py +++ b/rising/random/discrete.py @@ -48,7 +48,7 @@ def __init__( if weights is not None or cum_weights is not None: raise ValueError("weights and cum_weights should only be specified if " "replacement is set to True!") - sample_fn = sample_without_replacement + sample_fn = sample_without_replacement # noqa self.sample_fn = sample_fn self.population = population diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index d37b4ed1..813e7b30 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -46,6 +46,7 @@ RandomBezierTransform, RandomScaleValue, RandomValuePerChannel, + NormPercentile ) from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index f3ee73e0..f9e4d19a 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -93,6 +93,33 @@ def __init__( ) +class NormPercentile(NormRange): + + def forward(self, **data) -> dict: + """ + Args: + data: dict with tensors + + Returns: + dict: dict with augmented data + """ + kwargs = {} + for k in self.property_names: + kwargs[k] = getattr(self, k) + + kwargs.update(self.kwargs) + for _key in self.keys: + out = torch.empty_like(data[_key]) + for _i in range(data[_key].shape[0]): + input_: torch.Tensor = data[_key][_i] + max_ = torch.quantile(input_, kwargs["max"]) + min_ = torch.quantile(input_, kwargs["min"]) + out[_i] = self.augment_fn(input_, out=out[_i], max=max_, min=min_, + **{k: v for k, v in kwargs.items() if k not in ("max", "min")}) + data[_key] = out + return data + + class NormMinMax(PerSampleTransform): """Norm to [0, 1]""" diff --git a/rising/transforms/tensor.py b/rising/transforms/tensor.py index 56dc6c1a..1a984faf 100644 --- a/rising/transforms/tensor.py +++ b/rising/transforms/tensor.py @@ -1,9 +1,9 @@ from typing import Dict, Optional, Sequence, Union import torch -from torch.utils.data._utils.collate import default_convert +from torch.utils.data._utils.collate import default_convert # noqa -from rising.transforms import AbstractTransform, BaseTransform +from rising.transforms import BaseTransform from rising.transforms.functional import tensor_op, to_device_dtype __all__ = ["ToTensor", "ToDeviceDtype", "ToDevice", "ToDtype", "TensorOp", "Permute"] diff --git a/rising/transforms_ext/functional/sitk.py b/rising/transforms_ext/functional/sitk.py index b3f5433a..099fa84d 100644 --- a/rising/transforms_ext/functional/sitk.py +++ b/rising/transforms_ext/functional/sitk.py @@ -1,6 +1,8 @@ from typing import Union, Tuple import SimpleITK as sitk +import numpy as np +import torch from rising.utils import check_scalar @@ -27,7 +29,8 @@ def itk_resample(image: sitk.Image, spacing: Union[float, Tuple[float, float, fl new_size = (round(ori_size[0] * (ori_spacing[0] / spacing[0])), round(ori_size[1] * (ori_spacing[1] / spacing[1])), round(ori_size[2] * (ori_spacing[2] / spacing[2]))) - interp = {"linear": sitk.sitkLinear, "nearest": sitk.sitkNearestNeighbor}[interpolation] + interp = {"linear": sitk.sitkLinear, "nearest": sitk.sitkNearestNeighbor, "cosine": sitk.sitkCosineWindowedSinc}[ + interpolation] return sitk.Resample(image, new_size, sitk.Transform(), interp, image.GetOrigin(), spacing, image.GetDirection(), pad_value, image.GetPixelID()) @@ -44,3 +47,8 @@ def itk_clip(image: sitk.Image, low: int, high: int) -> sitk.Image: """ assert low < high, (low, high) return sitk.Clamp(image, sitk.sitkInt16, low, high) + + +def itk2tensor(image: sitk.Image, *, dtype=torch.float): + np_array = sitk.GetArrayFromImage(image).astype(np.float32, copy=False) + return torch.from_numpy(np_array).to(dtype)[None, ...] diff --git a/rising/transforms_ext/sitk.py b/rising/transforms_ext/sitk.py index 8f9265b1..21377633 100644 --- a/rising/transforms_ext/sitk.py +++ b/rising/transforms_ext/sitk.py @@ -1,10 +1,10 @@ -from typing import Sequence, Tuple, Union +from typing import Sequence, Tuple, Union, Type import torch from rising.random.abstract import AbstractParameter from rising.transforms.abstract import item_or_sequence, BaseTransform -from rising.transforms_ext.functional.sitk import itk_resample, itk_clip +from rising.transforms_ext.functional.sitk import itk_resample, itk_clip, itk2tensor SpacingParamType = Union[ int, Sequence[int], float, Sequence[float], torch.Tensor, AbstractParameter, Sequence[AbstractParameter] @@ -47,7 +47,7 @@ def forward(self, **data) -> dict: class SITKWindows(BaseTransform): """ - simpleit windowsing class + simpleitk windows class """ def __init__(self, low: IntNumType, high: IntNumType, *, keys: Sequence[str] = ("data",), **kwargs): @@ -56,5 +56,17 @@ def __init__(self, low: IntNumType, high: IntNumType, *, keys: Sequence[str] = ( self.register_sampler("high", high) -if __name__ == '__main__': - transform = SITKResample(spacing=1, pad_value=0) +class SITK2Tensor(BaseTransform): + + def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence[Type[torch.float]] = torch.float, + grad: bool = False, **kwargs): + super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) + self.dtype = self._tuple_generator(dtype) + + def forward(self, **data) -> dict: + for key, dtype in zip(self.keys, self.dtype): + data[key] = self.augment_fn( + data[key], + dtype=dtype + ) + return data diff --git a/tests/data/patient004_frame01.nii.gz b/tests/data/patient004_frame01.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..efa8fc25ad59d4239337e03b972f2b2367f563ce GIT binary patch literal 744821 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πq%Dk7ocrn4a?<{svhv<3!I)Q-*HcN6-4Ylwim~?x@M*v2>{sCp zd=n4LHpknk9=VWQ$vRqeE%lJkg7^a3y$5%wwbTXM#IP~5%v zZ^piNc#L|%rOaG0(tep)uOBd;{T&fY=j_~g9OtBs*0QM@wyU`Mm(Ua)Ij6eH#^mGZ z3At9v47x@_&!z6oeI)-c47YJ+O1#Ik$4289m~D;>PP(uD#BKza4lr}WgN8uM#$GKFz9ZB`b z5PG1q!u#S6cVx|BJhy@8O6CVFiv2?JNo(*- z+Uh6Kk$L~EqS{MYtu;)nQ)yGX`kmM(PdUvFbr1TwiShOT{S-CGb+s^MWHyI~eYpd| z9oYCUV~^-C-_#>B(Cuk+5tWgSuoz($gHm^n z(ST*n07!SPnL;%5TsVgQ@ELnN6-#&k$W8{2p5UV|Q=4{f&1Y-%nzA=@24;iE%Ef!> zLuQaV@VPBlQwSe3EZbh--;!fHi`+Z%n9Fxx+L&~Qt=jC*Px}9LId8opZA^3Q=UT4p zH(1B*L?eeY-hBi0wVhGjWt@lkhBPAY-7|)f7pqS_-zQ*yTNsvgC8yn)dq?!h`evuZ zso?HiyYxX5Ph?I~OSx8~vb_1f@AZg8Ci%W%F4AJ>Lw!lw>(

KllfnRzqVddWsE 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

glP*3;a}8NNHiehEY{6X4(~;^6-g^XCEa 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≫p& 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%0AhhC{j_X*qI<*GHkY5h*HCAnDu-mi&~ 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

_Y-W?YCT%n@+RE;6c+4&i>vv( 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�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

LKt7$KzQCPh*}KRRk*?!RLKsW!BVgJ5b+D zYsG<`gUK=GL3KAcT1mqL>miIQKgEyz3@%M3?rVZCd!Fmc$Jw-k{5d?}YM>s$*Ds7x zw&3$yV0T05L0Ut5F*bcED&K-$HV)qXfQz&9M{`}xWFUX`(xOPn|; zMmbt#4_3M@vGHW^AI%kNEu0)MH>(-t&hSRELj8O1OJ=Sxo5G}^rzv{Sd=*uK$o~xL zs?ZARtx(i)`(qg=W(ry1E4;03v|g`}ltQZ~=y~b1&L_@mCWUI1JgzbUeeyKS+z%V~ z(!V#sP4?sB$R7tC>+Kx8-D;*U9?S^%so5xEsVejO(0VJd zY$1I2aXb#;(eEHUm7YG2zf(}c**w05GJJGeF-9{K{njqVh2X(!*j57sdUI_R(cH1T zUTciM#9PftJ^LaM>dU)-0$Hu5F_3nxOoZ43UrGCaOybIuno7R!(gr1Ng5T7ee$fky z+J|?xqBpeQ%-U1BJQgQD8qk{laFk|hPH*i@@7=^_RzV%Evro=DMiFC7OL}7?UKh@H zQpRK>{Vp|Ekj?CMJF?#G6E9a_Jo5w-djD`fW$%QQ+FCxYG6||Bl5PqG`(yPusLK{1 zYYlBgB1Ekp6wD+Ed+Ds65nCo*C#pzd42B;xV-K3f}B`?(HKMSx?lmmB**C zmJLiM@+U{Aw3tD@q#@|fBYV4q__LU4f)}BhTSb)0_^EDa5{#TnTs9AU**vl4J;qSq461V^PI?)6B-5+!-;7w^alEPq_ zAAYvs3|mnCSY&#;nl|La9`O0&QSr>E^D6AYFXR=H(N4AKnHsx|(MB%l#T2UJH_3ZctndB%UTE8+O1i>=?Qf7bNrhd zu)oSl?kOoc1SdW6^|6sT^a(&P${PJ>%qDr@%8YR{ZK_>LX0pR39DMG@5` zF(vq3L%FH$eHiB&1A_ACXW~mNf}ex9uS$2#O<4tlLTL9@_#(&QUOsYhRq!R(5Y;{= z*Ln{xn<^3*l$)GdVOBcH>^`G^jVGsGi-`U&Q-#^Z$(gyB*4>I7=tso5pNg=yRFQNb zzKDmF`wa{u(Q#GjY9`bYA|=PXK#Na-=}P=l?Q~fdL>m)v=ArLIpypb+?-VgfTt?3h zp&^mvsmjv&_sNOvWWM=N^qPubs%%IU-)#rpZF%@v-uc#z!52E=HK96TGwWgePG(B; zv^0A!DQGI&C+{{1tu2eHj7|`}e~}X=mX|_O_l2EB+GcqzPlc`ZgM_Q~wDc;QRj`#x zW1KJGT^#o>5IqP|=NVH`p6>{@^LNHvW|=d5n{vc>ubmx4rE_Ti3HS{Q;AsMr9RGEY zuc;GZqVhqSQ9T^~t)L$(G7aUpc3zlE%c=TgDWjb?@g>txAy60`Hi2koe6F-uy_Dt_ z(Nk@F>5ORo2^2O3T2~*wt!GSfHoHTXb3YO(U!fkPxciFw&AwRrRYaWK@L8hJ{|8_e zf_D?jZ8|u;XB@#{WK*kMETV5!g~b)&b8-BedORA8lBhCb09JM)*`YOjht2fOl)m21 zzer5?30KQe8>dREtI6)Ak`koki}p3;C6}w4Qc(&>W%(wBZCE z%L~$6&VH!xG>&NY$_zAYI<2ytzI}mcAvS#aoRP@^tOt}2R{RJW+0b6kXrIoXo$p|7 zN-SC>5Y55*L|4opW>p`gVxSId@it%%MsoKhoUMaz-i6FSQ8HSJorg1Cog7qOQ@xv( zkN|pL8b+dx}i3m>5*MfuA+X#`3c{(oJr_2 zdm_GeW&gWf;#-Xa*$+-;Z;m&{yXRF8jAmVvWL{R2iJkyWK(fCeKS+BwOJ`N1C5@F$ zl=ZZAn?h9nkk}=}6r%`H{S}@%Zqc%_rk)pWvZi{C-YKrycPitrN|v1b@9rd{CEoeF zDqIA=V`$iRly)1O*a>snn02T`A1qBAjxWQjT}a!_g*$D`70%cn9x6f!qu(y1j}Hgk z;h-7C@eqz{H4|ltRB^JHcDYC^JSF3j3f|4cUoMT^%0i|f4%Vv`|MO${rV{sQefjI? znpO~d;)I(?>}bD-b;;7WFVK)2ZVSdg2H}s6AwT;L{A!{ZeaLrApvRS@2TY(hB%rS3 z08!CPCx%|NkSiQWZ;=v@=YKOe+7+*<3K^)qpTl-$0VqK6=&FA#X zjv%;_9vMcDRP1_&S4}kqyioGCF{~P2pV^<2-4nEE3SV30p-2acuUdCx-BTIWQdnbsc%=;dU<7CnXmr@=G^{o72`xeP@2 zz{XI#+YNlX!KlawXC+zNH7MK^D#WPDAS3n}7IQGYJRA(d@pv>pdjj8H@yaBgn+n20 zbDsZ-#h|H5k7TU1(2dsrjX9a6$lc0|83J3A;NP~yek$YCkG9h)adF7hD4zI^iiswy z&{3N?Qa#)ssqQJojt!Y%YIe60W7bhHy(jjf9eJSQ?EcXMEpJHdaf;~oBGKY*v|&7F z9mJI=4h<##Xb-ls3d-!~$Dd6Ft5Rb*zXOw|#HUs1n?IY^Jio*5m21%B?Oc;~0N##j zCv`KkmrHJMyq5xB=!W;D8;(bkgLYO`g3u5LrLn4BmtQLOiGTX}7e9-f#Za8H7z;gX zLuDZqsp@RDKL}kRDeJ7c^;#z|3##%RJ+}eg?IWz!CD^zdjg5wbtKg@qN>42TkkAI>#l=cKS^xyxk6Pr4Z4?BCsz450~+5TfW{Le}(BEymsu$ zn%8^D&Tl=aV$lUCHP6R=?Pj9M=K|Eb+VutKX|`* z6}$-6rDkO??~W;rA8hw+RaLxQ*+hO&08XgB&(?-mJcD=zv9(c(%_Ug>R*bZ^R6RrZ z>9J+1-mUX0H>5Zw5&l^mVzUD9@EKz(Tfp)t%DVwQU53`Ku#WVRTeeJF@cfJqa4|26_v$-j-D-DdLKDD+7qF0(*-7uuN!yIGHjuBRD6 zv{x66O>O>ka=~}imvtu_GneRPF&xc7Jdul*&kizM@YmjPl|5LOB!O4Y8$#P{VAuML zUTfBKh~u8er}~0w?Tz#V?IRGMc{Pla!2VYF##-h7DpvG1pMRSO_B{G=lFulJrp|nuDiw>0V^rrIB2qaSMtZMMfMuQ0So2JNf0m{MPBUF}R2 zy-sITlpBw@Jr>{ZI4c#$a&M!xN72~%@NXTet9laI&&9OK9MJCyo==@E9G?km=fJH= z^!;hrn{j+!dA1|aSB+?E=0hJmz=Y;3T00tKSJN_K;CYK4{ViCwXDp>5df1rgL@j;G z8A#RH5#p5y#^!p{`&+`&VsItQ`J1?99v-d7HD-2KyII(Qs5Y7J#@-HZ9{19CU6?I2 z0qw484*QraMG2GBTY6!YQ^WX*a6bbYto3!1lNZ^9US8(BZ(-m!T=ikl*#}0d1rA5q zJ94Zz+S?3mos9}lfVFL5^Fn%y)?__JF2rJ&qkGJzy$Rx_-0g00cE{<+4!h;qG4Km7uGh_dLq%yr;+%qJ2Y4)F zi zn=7gi9swV(p#8L{=v7ul#Yv&3BT`oTdW*2l8QJI6Tdb$6cM4&>G6ykMxHH3KWETA^ zqLf{rxY>_X*5SV{2Di23a#u1YHXhZePrP#2S%UJ-#d3~h)MX}k{D|rd$DbHMON@n$ znxU(_-U!reCpxP~nhCgr{(r}*&U=>7Bf7(z^28eT;milT*c_~Y-Hdq_jaY4?Chu*I zzWq!TRKyfz59%+xr9>vmDa<#0*hwW0yS{Z|f4Oq(PS)IO;MQWK`d6+mzZt`)HOJy+ zM0@WuBD0srT3v1>SZOW5ZQNT!HYx}GNOQ~X!plpj&MRhcp1>p5=w2Us;}rUNK61zd z$wkgbJ@cR$(dhC?&Y*SSPJ+HM9h`dT#*gkb0f4E_!3tgy7tN{z)~n_~!~s7LaT?77AHc;q{ikmY)AG7+J_#Ut8> zx^DBm+xh6%Y(Jx?I`}V5dtRRxKVhx28jPocXJ61*ie;UMVujHPs_L`R=UCcfCdVex zK9j*_3Oc1Id^h#IgTQkE(a>~!<^lLO2G90ueA@=ho~_EPneUn3{}xuX!8@r=KmUwyr{s2zn~iQZJfX(y;n~q^=CvYoTHd_^Q)H(H;GJr&XC!QkZ+j^lb6X=&?(1^lZLubCpRK|TXaZOwJ z76S#s_NaY@UGYL1E`EyBDH%Oz<5Zy1Ry#O6XY~3oSGNyD=M$sM zL~Wz7pyB9hR@0fNBpW`$a%UcRsupY_VX6?SC?)Dt*8Vy?0Ky)d*jNS}=xhQIwup3Wfj0X@RHmJJ+BYCWGKxGx{34$bi#+VyT7T zxz0yqCtN*(YQEz4IS6mU_rA=d11QQM`s5J$!w>jD%fYTa{X{jVd(dyKa;|kfFVP|& z$bNo`B`EDabEo6w7I3SW0rbMG#4Aa`P!Wpdm&QNEO8H2tQV7~li-}lib=0D&#}-Z7 z8?36zH`4RgV-h3v8og706N6_ia^jQ7!^g#Hy`~!M1X?=-J2e-~W`pSx;+Cb{D`djS zT&E@LIgDDVmAodLU(FQEjz9DRc#ik|T2=DdjC=^ph@x*#gDW#(=Nej|2sT&yK*lG& zI6?+!3y8)7&3nY_m0@5_w>_#l*zIrfgT-k)5O#JkI>Xv-H4_ z?|SVl1kF#~5B~ZHhrvpb$O7&8Mb}?KmWHeTv691qDGp}}lu&Vo3p}cubW&Ha| zSS{6oDN`#;s?|_6uR(t9DA1mS*L8qO4n>1`(ei`DB-Ow>jnRytvfKcZ55R zSq8JrH}stG#D+i8Ug7RZj`rpXzh(UM9nt4~w>0~jR|3yB?k)3zvA$FEx{qcNbMA++ z)?jOQ2mRzIY>eiv1yJ7EMjvV6AV{GU_(A2< zJL^^$C`+UttEfUym{<(u;pm>_o}RPE#YADNUJ%^bLC;vVO~v{9JD^L);ygyhkxSfFocz8=TkSJry!}h)d-`g!)>maTPn)Q!DjN z!WK=yN9>L2Zll$%qHLQ`sb;1f+SkV^WVCPDLl8;euMb$2`CQ>{D^mk@Y(U31Ix%Lx z`@ucHT9Dn)f{`V{{*D?29VBggiR6_#h3!EO}!q0R0`bh#hdUBgNw`S7&j)RJuKzkQ*y-T@mKeNOaz!uMx_^GD@OBpBTCE8ry#$RXS5&i zA-pKf5x&kl_ke#(e#>B+qVXk{xHs@A570izu%3$U?P#aX^x5o<{2^IS@kxm2M|vwA z)nluhLNSP@y%$te>-C7A_Wi=$YOXvisd*RbVy@DbvALET7$ zklo`mvPX47tmmJsP5hd@Nk@?ZEbm;OZ%?&DGXrsLcWfZuVd0e6DCtg&W0 zG$F=|AP&#Ts(8!ITBicBN=~p;q~iH%D{K^3sES(lQ_85!j{Q;8D227i2~*v(I&4`f z{{72ii?)q8gYVR{@%XGHppXZf^omjA=hVjEhk2{OaxpzF9F^60^&FISF1eij^j!7_ zzz{B*OgW9(NzR@x5GLO3x6p zr1b8ShloajAF_*89I|fNz4n}88%VCk_gae*&m*HaoV;QR^Bk>Q4F9xK&omIZ3{#K8 zw*BeWLj+4aBst!C)HthFM=LRRk)M&fMnuYH}KwXBrJ3VnNS zu`?b%VI&{3{zDt^vNkemWHm(d!UPyYkD*aHii0lRSBS-`VveBWt5 zQD_Gkr!|K()6=dZH4a>5O|=${>f|H&-hE-|E<6dXPrHz|>r4+QLacBaFXSVC|3|M{ z0P|D3^GyM)Y!gO2Gcx|^x~a*~{)yGCk3E=7p6IH3$1TEs$tkd)b6G#tWi_@PSk;VP z67YP@UK~F$E9@HH`V+jP$E+7{8@uoued7`K@)^BplCPY%}q4*8o8rIAgQ^i z*PYmSHETdw`%WGJ@l)V_fe}0XKTc-y9E!XKthG-1T{Pwsu5B4v=zUm_w0PO7O0Z*C zLP4u^2`?L|2s7o2q_OtrUv<@U7SrH8``^CK-q$;=-pU`=BkLJS$+OVzS;*}D1(w(G z3vUyxECs6-pfwlYbvfLPz`jl)FLw{Grw~_?neRQ3SFNEkWk0{;%qX9q13_#k)>4&1 z8tGC#K`WeuadaTqPNAjVle^nU@77wV8&U3jet$oS^4@eRk!k2pKZ^EqyA#pY)aDJf zA1A1_O6(mWo7We65JD#AwEKxyi)`OF?4eu`JQu*tPOQoH5WAWf1&-}KLA8sxtx)jz zcDu#z(wHr&h9W;OEnKRr! zj;*~1l1Jg`TfU2`Fv5KH9)+z}oiAzbNn~w1(;C|UM1H6|At|l?ifbA(v$bGWQ-e4K z?W1LBP(>|+?O%(a)n;oytrsMVDmB)4d2-^r&SZ!BQ&IAWn^x93je@R#CrjYu64Yu5 zx;vBjr7?K^>|`SQQi#!*<{aO^yAJqxhT+dCV$-gXgYY5`5{KAT7$;#pg{$V_FCv?e z2M^^uN_q{Z9>B_^g{yJ#A#QOM3CTez{@BLX3E2>8Z3d2tj0VwLTNJzvY^7`zdu1wD9A_sx4gA6 zr?sE5syb@lZ>vs%Y}H)j94O@zr#DvX4)sER@ZC?~0nPJm=PbCQI-!}|CXfqV&iG(C zuHze2x&*$^Zq)fP`1dn&7$210$`|Sn4-cS4syeXo=WBF43u+!4J6(_b zRx_07Yf#OC0=&Z;{D<+`TcCK8YdlKt+|B*d+<(s8rb|5f9Yj^-CXekEJ@F0sh&QlU z6&X>C0H*@Cq_n$s6Vz-IVIWP^O|^K!!&=B7qW{I#=7ua&^;#imy(4i^3>DJ)t4H=( z-TRc!OHO~i=GJ4b1^!m2H+}C8Vol51j1)8l#rUjZkdU>Nx4U=I)obh?nb>RQMu6uKcL=+P ztOvnOe&0I^F0W9|?%e7#l2DN`+68>O!>~O)XYb9e7h0g1NQua1qzBuCulQ5_a7NZVJ4Fe&D$WZ}XM*DZZgvgazno5tE0?GLU!z`#(J|tMN-+MI(-5!cJ)TMiQxLDG624bMFlbNp zUN0Crl8U~LtW`FedWh6yiMq1t_!(k@xhQYI9fL(3MPynPe`hG|dXtvcevc{0v>W2p zN@Vae!_K?(z;0Y?HZ=Dg-*O0jb~snzfk#2Esv@|L#eYZvo+-&iJVjS85NWEno%UIJ zkRx}=@;^X-9%Ai#qa!64{hiK^s3{o9+ewVO06(b@2x_!iD^zIB1Uu%e2*u6_6c(0o z0LhPiY>(-$^=~ZmY+U-^S6Dl0nJJdX<_xxuQ2L$(hG^Zk(fEM(@dt0<=gfeiJK^Vc z7_yNYJ3?Y7qqzFZ*oNwyqY!xY1?kP$v;{<_v&mC-153>Tn1t`s+xK%vbMH64-3S;u zk2qknlb&`fiFK@tx_!XM)qd9v>HA;NrZ$WEmy?9imeOEQgZSc8GP#T07&2*}xR=Nn zM>DFIlUrx(V{VQ%b?1OgMYlO#&R6L8W%N(GrsV^nazr=pz&4#p2MeD%wTQx|F}^(= z+p*u|qjq-*>i!kFewy!C%7XE@oI9T*@5T4PF&Skw^ZaMR^cfY>Xnn5 zZ_yUp{hsyMTcPiL{A!K#W(Q+C+6`A0Q^?p^C90~{ec>bT<-hR?5C0EgVJWWJpMMdy z92Fb&eqm|-BE3)dt$yp%QV}VAfp=B|bk4)iqbSxYu)M~7%`w{rX1mbTQ}DAR7<8xd z!bMM7ImPgQ_we1r@FiCA4LXCdD&$owq`7p;&ktoBvK35K9J&R|qy5lxqqcR8;=p|% ztkn<3V8442p#;nWMz|8ej$tT%auBTnnnPHFx1M{N&)LnmaU#YH62OKO#3QBMtF&Pk zs=oH)U0x(|xQ8F}ns~4kpHLfS)}{}Z<5t?lqrZH^cR7rrIB@-MdTc3FVKfohPAu#P zJnWBLTL-??aNdy~hH7s*)sLOTUaq6pX>QshR5l?E{RD3|l-?YN>yYo&*WE=Pqog~- zY{rUdhJ*EpluuArRo;=*R^w-OzNYdD_D9bMJBy6)vbIrw#bf;lf8ngx1hYfJ)yAaO zFH(O=ibqrheY{N$ZxPYJRZ!f7T+rV@ zf3Ip*!}C5MC=Yi4mQ-sd^yKdVMj3K}=S1qdcKVDif~9Ip`xd9Y=3tvN=O~1Ha6MYS z4bej}>}DH2F@?L9I4BpH+~26>%jIqa<1HM00!R1bg`MR(Z`1RPIgS=;9@|wolZrSn zrC%{t31lY0@W%L8bzv?$JD7v?mc7i<{lXt%&EjrnOs6_pGzn#X43lqQ56hy+zjBSS zKv1g0ZoHq1^t~87qO%4_`7#`GD*u13pr=w8l?ey(RW(#`T4ligV4AqK# zs*xW~4xyt{fwOBRE;&^@D*O%;Z7QOdfa{{2JOdA zA#>>Y^|{@^+l}Y`fij-v>aO#@Gj^bgnGSP~lcP|?bA?#q57baQ)mJtxs5Yq%$E)!u z6{EKSvmA|xWX+Ng6nhXkhnetj2s-H*?TU4r_x^!a_aas*K;#?WXeT=5?Ui>w&GRSV z=kKUYI;?U5c>El_=;x+q)Gj|+WEVUeyNifGg_ml;G@h*%R~#CLV?xR*tBzT0glLeL z!YYVl@V<`Nqk5HnB)sjJEUIF(xNbiu9vPp!V6@SxjfL5cx}FBhgP{2g59uWKu?H>l zBN~CF{S7tbHj<6Aw$vyDM*PjYsRt!;;$=Q)1@(5_8Ccd(mVs7?Fe)?!@! z0XeBZ@QAunAt1k2H3N!GEQ-=vwYhMWvMP5JtncG6$Nu}PcPZ}^#L{wBuam;+sP5Uk zq0JWQoYs35^FIU8T3mBYwC6A}L2A6U6}0QuDAf&mzxGgFLd(@aoAaWel~8HcRfD<1 zVOnY`zS27_@P0<2-2K7yC?39Mgw!Si$zrOIC)L_6k$&WT5*zxK){g|=@to76SDYhn zu^3(00#Ccbn2zx38yGnlAGRX9Y_;WY7G^f2A?K6Py-hEQq5}RrpEisfr1HjEIYny# zYCXU$@Mtsfk#@U^BwrE3Z9jM}M>F0!)!oa)KM~}M_V5kAg~Kh#V?2i8&$+VePE{VK z#y=~D=04;)ck^xb&==0||2k*Bzz9KJ;-I%C4WoNWssH_wS@vBSi{0%0N#CdfW{NT` zrfPFxYujFY(%drDo!ESlkg=T9UwdE2tj}XPX)zQ#EiQv={FV7f}~*g(T^+-pw?yh^nYOCL%fOy z*vv!xUIEX;X!-*_AvS0)GoLeiW(Qg1OpNn%@v4)VI!Z0+8OE~HptN@0k+`F*ke#EV z_Lojt-&A42j(a@Uld>P zE2?RJ13m43tsPagde|~RW9_o4@CjPeN9Z9ms~0q<7pDt;tOoScXy30`X)`o$?Qj^b)} zQ9ZKH`I82T!kTDQdKorfXFNC|*$8R$DSCwRM2bQGz$dy2u6OAz zl^BWo5i794{oeZlPv}QxuVnPr;t$=%ztCEx@_=m4UC0VmRkce;t#!4t27`DCBXRS; zzdEK{@V~t$r1d&$mGv$uvoMtPlxGx+W9mQB1??yCnRD40iT5aP=l~g7t)m%@uQ{3M ztqt5c4@+Q?gli@S9elE@93p^DQ&e3KHu~BzM#hFCm>f z0Bc!^&pbeHJ5I(xJK1ZO$m4iKPq}vtKS(>gUI6X5F!^hfn@Xp4jQiAK47R4X+1o-! znVlf;xzf^(vYoA7%Kg|F3k^(W1JsE(iWi0nd2e1=bm_MY?T9`WZfVuZDD=o1r3TmDMKl8^R`hZh(P z^R$B9|3FJwT&*TPm~0Viufm8IP9{8y1)v;4Yii_0RbyRf-=$PWJ7`p1^s_En+XVkN z9~>?1t6*NDp$Y8bvysg0Z{!u8xDC9d-ZCoD@8ZiG;4{|1Ijv!H7Ump-KezZ5o~h8{ zocv9LHIrYI4A$@R^>&hMt=a89#bX|a0)#M1*p2>imF#pSlvkrBn?UXn=e)u>W3ZRc zxn1WI9`H?WfpjuF-`aAmO67n`n z@JAbw5mil&_6O+0yEZy)8Ke8aC_rplvo9Xd7-B`OgINI${Drp8jc4`~t3$`360$wD ztsfa9J4g-DDC$v;;%mn>_rX&h(Q?qzKCpknr88)4Ql3kVcbkf{6vZD)hUTupKibO` zkbyLz#6StKo?YPQL=de-RNH{e)mQWY?OCYN&aJ%qgzwirgWb2lS9SFcev?Nm`;95& zE}=p#8#65`z|Cv{6PV;}bvv78*dfI!YF{zN?wM=v3t_vrr&wiesjv}}!M~QFLN|D` zD60?Xp0%TTPOr3Bj zw=tC(iZ!*mkknN<1GTkSqxQCnX;BGs4iLa4$iblI3Nfp$mVf_!Y~N`)uCod`JCj1( z)M%^S%TD@`1$+L8KHLo}Hk{tOkeZD(Skpta|0W`c%^+Qs@3bB(xC>A3Jdr^U{HN?x z9{<8U?Q`@SoS6=~Wq9;~(Ug<)i0x$QcH^Ve0Iy%*zxDvRL%!f6vC3&Os*T84jDc5= zP&cgsR)Czs2~!C>_mZmI-Q@jx;ZIIwznnPkFYIsA$*iKSmk<-aghh+6Z!hsolhM`> zxUR#ry>_)fgT-4xasL);K^hNx#BUr$vAAMsx<(dNm_-~7J>1_$wE4!|+ZHPIZ0*=R;z zu12FTnfX>rK~joc89#3hd4;>69zuVdhqtU~b0_y!`1g0h^%q#soA6&gej>j8M6>o6cp1$-OrGHgw(+U+x$k)$;_BX`1j^wS zAtpNk>LbyWoxE->tX{|O8hE;!cRupf{0-Xij(6n5kGkPTF&k>W7dMb6FoE^O69$TU zpSYV~gKFaC^=K6t`9V@b)!s=7wLg-w^TJ2kXn+2H`zZznnP`M@r66Oa0mPnkm0(t&vT3?A$f{PxL=0v0B+ zuY*U_h%9XzqRRilgrCvvR$!WmqlpBR&CC+ul9G|~ zG(499Y!ebMyFB|BzKrs(cR?dAKG$<%=m?I8aqq|&eWZz8BA^hieHolygNQ9RT%pdR%Z;ybD101o5{`>_)KGY{v`27Lpa(I59l`(cQASOd}I$6 zf$Ly={>EVV9P|>i^Y%t!*~56tT7_gT@1D)Qjr5+HCX;ysciQ3Eesn70hcRy#JkwDF zlnXCtCfS&a)N1}nuZTkg`VQu=LU9!lrXq8YlB>*zbxXr|rwcptkW1B`ff>x7e4_wY z*_QsOp^m;Vj6Lb>r#-&I`{)TuL#b(bMes%& zzpa6d^T7TU%sWkWNkyWRWMl?P@$45|a|YO&k!!n$Dwo8U3ouHv35CgP6uZPihmX^Y zarrLS$^6{mTG#uv!F$2^7~Ir6!!0oM2tL38RQFHvPX--$=d?0Oycgbb@155^Fg0+I z{W+d`^W1EvJX&ibl{kJ2t9`YifsOh#ZYlN%7u~nqVjdsF*r z1wUC*wXe+%S+)i7v{(vhi=j-C~z=a)5E@eIeKq-kL1B|P7vB&U^WBjJhWB(iHP-tP+HnB?^PKd@zK{7)$Z+Skzh{bnN3 z$pCUO`>3KmiC2`8%+5yoS_u5y!#ge$b!s2`4Ks0q1IM`jRI+L$*B$pQ%|avtYXBg|7Ewl+B=g9!4%lbC-ee4%mDUjBnsSX^*7` zP6Lz8dq76$x!0Ch=EV{nizG#50Sh<*CrIKjN9*_b&^B z=mmAzBCOZ^tGe>D^f~sZ?yE-#(KwvX<{9IXK~IKH_zd53mp^i^)nghnZdMXTWH*^W zRl8oKGq?QQdVn$I^Z5Q%@Q-FvH&XzAJs%k+MJ}Hci? z4)Okz^oh%45q5#zYJA$$96bOt*An6G;{G{qZx~CBM{m1A_3>xkVQ(qBWRDKS1fH|T z+xOlH6Gq!9O0YRSSux$y+M4o(68fz#m9+6^5KU_*|9?D#47HeBK3cCxthBMJ?E}`9 zin~GHT0cwZDr(72o~IbG#Rnq((|AQ1UG9QHss61n7AY<5lL7zX5x&j@?AB;M0;!L7 zMKao19a8%czE2RfmQ5$ zfhY2SxZ)bEuiD$b@T39RxG%Av*|2P%al1+GbS&SyDI+lZXy4c#Zp3nxEqa9m9_&=HR?xHsgMjN|h^*+PbxQp*n3=Qsz-Rn&rr!O;8 z#*vHfLoHt?I68~m&~yB+8E`kb(Fzy4z~wA#dIdTuxxPlkmL*sXp*&})Y%0)Ovf>eS zW2c+kfwn}7ZeYLL$b5?qJ#l)VJKCkUxOsqg+?wyUj~)_@-+YuFatH5u3mUAo(Jx@v zFA;rud}_cPa>ko9tdg_JOB<;F|JZx$KdZ|3`+x5}bB69_hyezM?#_Xsd+2V4ZieoV z29Z#t5s+3?Is_3FkWiGcKv5Jy6c7|e_&nFX-dkSZf8hI*=RD@jIs5E7_qx}*;;!&j ztcCPAY?VikLdscXDsNLrriGg}Yl4-wVncbiVvzO;9)X$)P2pr%*?-eh^N)q1c&Pu{ zQ~wnYnU|%yB9)i2t1p_qNsU70cly##@&a7CjgNT@KFy{C6TvK=-(Qnoo!5<`rEn=3 zqBoqf*ttEF#X~YfT3@Upe(g?wHj110|E;koozbXkv`2i89o>ZoG?eEnXl)P9w}Mz@ zKEBdilrI^q{|75L2DA&I=mqhQTF~Qa3jFMX&TjEmfM+_dBrQF=Jo=qb;ur8d)tkgc zFEVh41G&#x#LHUg$ia3Nc8R^HbI-i0%o%+yd|~)6Vc&Zr-InU-j{=M(0-HiDJ4QXo zgok|uEZ3thKZ2dcmmNY~KEOZP5C1>mI{#2>(z;(bE8X0*c&-hr9X^wF>^~3xC#=1f z#H~#UYNlI7D|!k&t-2yhr!rT0YY(%I(nos)7z$kNs`b8L>#5U=Z%V<} z&G0iHH8KyFjzX<=!_KbwSM|a3E;VF_Z`Y<11&t%W)|0Z=c)mHDtu6V)RoJ>`*r%?< zi67vdh^P5rZZR^qgBXWDl2P~rS&j1x&|2pnr@z8_vQmG*m?W<3n$~%Y1OM)1p1Xoh zC-$p@t@|C1>AE|RRddUR+Jp{-=L?Ssd)HmfeZA(?+{oxagiN9bYb1sJN11fGyE)z$PW4Uifnrza-f46|eW ziBEI~e?_tWI%16%v7`Nc-PJr>Ro&a<^t$2Go^^^-Dh=HSv~LzdZ(I5^%TC7*EhJuP z47!cP9@;RMVeX7qjU3ZDiLSCm5=dr)t-V>t_g=_*R@J~r&WQ=0w$Vl2aO zRw?R8%gPXXT5dp@=itG5?t6HqnqM&;dU=nWR#)eO1#c)=6H?KFq7>trF;jdDFbmk{L*(NnG=!i1 ze~!NJ6pF&s(9?HfallidCrssY8BeV}K$biOdYg&Z`zaRhCLYmo&^*B3>u^h+(NGX* z32Pd1`h`T8BPfM5@Src&Z!$RqtsmNw{$jO=L$#_{XZ+ovPF}p!k3hW*wyG{1YR5TR zQS$2TJQ07iJ9hGKx0Lsa`ziM8XRumpF~f__7Fh#XtezwaqFwGWE%u6qODB^zV%2Zw%f~1fKT*>Wg~E)J93lamBLSb*8X!;l)GmhAxEagerx*Vc+4^sy`I% zFZ6x;#O>zYcC{8vn5*&i`)Q3i!gn9w8GT5m;WIz_d=LBi2!>|jDk0*zP*^7{Xfft4 z9ub}^JS?oGTbGiH07dz+7Nv+g(okiLRJw{Jjcvk0==?990g}(LHl7-iRul9Z)CzmA zoV#V5?5aAWyfGVVk(3xCgOii~un!seaE)AnW=s8;EX^9c(iQj^FW_^wfdeTifiWoF zK5A_Y-fBa47D(p959)&7+0BXKOl|yLVhf%6I?v>K=yIUAcNb+RSQWL0dET$xYCz25N8NYaOKg!@zSOQSvw}{1Eo8 zgL;RsZ{b+_aAwI-Z(G=2%+8oCv_9vT)G)t+cK=zyoQ2L5~aTLrzF=*e+1 zd^@qoCphnqnfHJkijDP@ zzA6f|p71Jf#S~f{$uKl)YHTz-4J&a@TU84TTOlVj^~oYl#Wwo0a~VVR*{+e?|IW^4 zGhn;$GapghCs@y0p!yw(`!TIsThUy#l`SLRI)PkkU+~l{@b93j*HOGasM=B3SRE9j zi9pBEXQ2dmj-cJ_mNO7*SqVmVMl1Ug3y#2s_TqC>FdYe|b5QdIpz$-2M+M@^kBC1n zQ=YZh>s2?35raih+8BCU-G+Z1QPVY?Uo#&RM)~`~+1YHZ!*=yAy@nq2L%~~8d-9{F z^E@xSeW+MOsfeecgiyxtFTH8*6f*Mt@Yd$hn*D=Yj}a9M-5p?f7H;l^_Xn}Ang!)J zXkJ5mAHdB!=*I7~E!@Kc`^dfL^(G(x5U)9Fc+aq>ltuv%)I4r!@N1>J7H7)KR3^b# zCw#;wAtx5u!_-r#8F~SSwYRi3_^-1FOJl6~Ex$+S7qWUP%P9R-PQz(u9ltjx`8oAj9gfPz@JkwFS4Uu<&f}+~ zL-`W0l*7>K5j+R*sUK}Mz42H^;Aiy)k160ejeOr?&X^tc(VN5lj#A6PyBEk1{qAN% zb7RTnzk!8KjkX`fHeUtrrtq->$dx1RD2h+4RRjN`l|2t0ZX8Tb&+$Kb6T?3YB}7z; z_%+l$R3iMe*9mKRj<&W=P7QufS}aKy?-G&aDPm~hxfPba&7ZuZo1l0H@9Zjnk9q%; z$nBQbsh(K>LaA;I-q#??ze?YdpU~X%bi~8Z&``PX zU|V&xYKFCpnZ*?E#aM0CIDbR6K0Zw;`0zU!T;&ulk|jC`9vjH9?sC_G=F2d2Dja#8 zNNqBH#YLwjrCbMI?4dkP(<-_FRHxGhIv2DzQ0|Su;Sgx}O)r6mJBs-50@jt*e^@*feZEiMzWrFwzbR*rpMICv z;xJ|X8?0K&H(ycaM=6>|?AO^{5>_L0GZY<>HR7MpHtgqcFAtfy31lMn(x+{iQ=3sJ z<-EygcR3=Z@$_Wa$#2+3W=N~)-2lB1UUCNaS0d2U*wYK}^P+p-YshH-WkfAsdnd^N zc13B`XGncCrF6>MsJ};0!a_nQ7`KFxNC;WRv{ORIl4P!)t`Wv0#`i#Z%2{$*wEoFB$P^z!u6D4&ugLG|t^bef%;Q4^xdW06Var8QA4w9MB_UzP+ zhP0z?!4{UF7Q6!qu)6GfktqDIAdKRh| zQ7s~W#J11_dWF<+FJf030E0k$zi_`lq8|xPc{jhe#nou>?bL!dL3B3?qgi$|XOxGc zS0RJ)JN4#6IQk`R06)5?nWd~KXr>O!<9+2sft7rqbUrhK_H5;c6suT^moZ8xTHG&X zv`2tuU?-)-+FRVT@AO|siTCzC!rvk<)~;busG=0r0JQ_iqmBZN#!iCUjB)G_$S8bF z8D1qrs~q|}elAzD7_Y{sx#dg&`|R|;{@B@%cXJ<3^kF-SeUQ%={g#pb^ki!6{SkgGbT3prB3HzjP;}^( zu+&~VtZZ*;+IZCc8}iJ%oSWpJzl4{X^;jzzY$mI*m9w9O^>^v%&=rsGE-fsY#rht~ zaov5>3o+kZA;h|*I2Az6Y`4~5*Q|k==>Jp0=|w-uq@KKxZ_wL2ct*RxQtJ=x zg(WLNAf5=Y9mr?rH{5a#kt6t!GU$VUTL;dTAg5n~7VZ4}rWC|4m574MVr#SGP3{NJ zvncOgwD)z|$zG?X?7%~si>@EWUoGiI@q=U$58+#mqfKTF{!e$T?n(6jP5$?A4-#oi z#qzxhf)_ybBo^%hyp<=|I?e0#5S*rxi5-XsJJTy3Ium*rsuOWDv?%mtc!jVloFNAh zk7l(!2$mzrEZlNl#Phy{I=o8zfmZk2&ABgu;OEqhr?gPCB`b6W)_=hH?-Q>aW>%}m zUXHM>9;;wbXU#Wp{Tz`HFm+XL9wBOYOBL;5diwvxQ^y2s3~)6}4N+|~y|wl>VQ9Xr zWfJVF@}?bXm2|=5Zbp$yAH+EKhxC?A<$XiU@{lq;08G)~417(Ys{Z&oRV4c$XLPbK3Fl zLq@I~hc^R2BNsgZieWh~gJC}`>{*mz2mEYKrf)3%){F3H6Y+&S(M!G#-lt{fa}fOl z3%7%wdY#el1>U{z>7hSDc_W5|@`ZYbzfa6Fh+NVg^jf`y$8yIj{XP!0XrnuU$E%f{ zHn43Q=emIUd<;jc;FUc?eP0IUugG>>WA4RE-hD4i*dmX%Rd^t!(}+$*C5j@%Nm*3I z5oYa-cjB8e3i@yS6T*S=1`4Zf%1P)L?Hjx*YLyb0eOIyQZoAF zm2tX}1y9TKDJ6dimVOJL_WPXL2cnvhnv5&i+6Y*f1zzkWquUJp3WI1}vI*%pk5;)% zL3W`w8R5>1!7hQ{Tmb*%iZcb)YxT+ZL3JM2)S(OE7sHBrW4ZfEv=e{WFefScCkNXoC)Iy@>ztps2>A&38pS5)Gro*%MV51kw!bq84H((mZ`tt z&sEA>GlreSLp=(s4#3X!cnGm5YZ9=_Mrm%qSIEilCJfi{<0tX=qx??wNNPn(9;6U|RG&$~}c+57Gvl>0~@<@0#MbI|AG z=zJvofZMurL9{1ck!F}%iT`s9g*^beGr{9yaBhkvABEyybBcz|3jZVv>8Ay75Iro(pcHglprEY8dyQ0VR#0t6mG&Xh&ODzw#dsh zge=w()&WQ5HJMG-(PmFor&NEmkG3SCr1>v45^p4R zYxzCFi^0f?PFvctQ-M_}yrJUYn3ZQV`dXSP=OFqw zI6h-6ulg3bjK3~LUN6i$NBz(2ZNjT;he!OFsA)S^`(@(RTzD<7@P7;zdH~VVBuaP? z7H}!*JB9dZDX&_^ClO2c0{O5_G%mqm~3&2X|<`i^we5cwU0b6%~CIP z?X#{S-8ZkP6`tt}ZY;CAM|nx`aXo6_6?pkEwoPkCYObkG?oVKs84QKnX4EJF^or7^ zn9Ij37n+?BosHyNb-^zl6>rM6Dj+ZyL?_V3cAj=BhjB_NKrst_yi($UK0?2rqS|2X59BgHJ)KJ-t9`V>Tml!M$Yhg zywi-h|3O&E@CRW%!!ppLaw(aF0eGn6$u_>=#8SVukdghC7)5=_)T&d8b8D^dO>8?3 zFSRm+dggxN%qE-sh&xYBG@2SDr!l)+3;MoXq)tm))hkocg1k$MG{q8qR`ejX6ozK` zROUj@9{Ml#8YaR{pY^@=GQ~B1no>(^WjRf6g`7T{Wz`kr+X`hD%hwEyR=NF{rywgC zw%_U1?s!^h@N4{-GvsNuf$D4YxG07CyrWYTvs&i)V1`hkf+bQR+o*H@7vltTTTH*!K**he{LK#<_W2jTqEiy?e2~TI*YDbR6b6fVy1U z)eMg97*R9K6GO{+9o@xvg;HA0IV6wBax+3z_z4m5Qsu8t!bvJAH1v%gdS@sG80rW^ zQ+8J^)5c$IwWBr0N!txoo!5L{!q=dEHK*GM?lpJz5VL4C zh$dL~zS#76cy)KEWev#g|3-~Cjo-WhH232xC4%Wr{N5O1=OL(b6_g?+V;EncA50dn zlG`8eHan$Z_^I_%E9S^Iu^s}74yCE$jG-uOp7T-P8B-0j0AWK;Hc;wqc$;$D{yLZT zkpiea#pMp9;TDa`Vyj)dJRGgeIQOz}C8zg{JI_eZ*{|?lw2q{DbX~^Zd=ca_z{M=E zF_GU~2wrF4R}~Tp#RAYf#Y0{2!dP^eDgQ z-t0dxwm3K*ASYED#@3?kD<`o^M(;Dq@GEpwoGgbOZvxV96KfozKTmGHi>Ljx9!Qjj zsp|859t)7#eF+b>9HWL(gb$%l-$rUmH~5{?k6W+OnoBSm%6#=)9@l|4xDuV;g@S&6}6{`F?v;thtLye z#S~+gzB5M2`dO|=*a<7KD!|w z@kwyo!;&hrB3DHHBC&Fp;N~?@J%hh_jh>dh!6+Hrljozk5Q_4v(()>MTA4CZUZH~T z2UYiNYCSZz56CtkA6Oq;!|+w3s4rik-pRc$X(_M52<#T#Eh3n`cwHZp&wYyZ`rDa_ zH?{?fwV9eQ8vB@o2sp+aMenoqFn&LFPpgqdfn`OwdXMZLF>QF+Sy1K5YY)Wo(}i^*8f zH|fVZ3Ges~w;X+%<}zx0i+h+7%StI)`D(o!t$Qxb6|&lDc_OopVwTF^^iinTLpmzF zv|aC|vWAOs&@@)ZX{#|)Xa#oKG(fLrrBxdgvn1#D#*@DrjYm=sJWDdSL1FN`05`v< zjpH(&?lq!_hG3H%MNJ1o2V-sWQ8JNWoQJxa9vv>pmLecp#LtsfCR*tT8~Wq5e8~6~ zjX3+7K1#{(fg(8n3HKz{>Wq8d3k&P-T|`X>l0j%lKIVYa4U1hBpJP6p?~nKLgt1ML z?m+6tQ7q;^ux3AP9&xna{q7`(E#DAd>;#W+cO-mU;vHoy{C8o|VXqSf{Z4%tj-F`c zoO;xT>eRrB+*bk|?FDj)M4rk+>}O+?WBB)QuNO3r?PUgpn8a1flm4x{1@RCpehTi{qMS}|NCphm zJAEtmnkOW+l_w^j*V@ZMP83)$8z$`y1L)mRhv=aItKL4t1Nnj2;#d5kec008Zh4=N zF`$-`QaA=`b@??V`IHict%fx%i8q@Egqx$vso-b>tmjx1@G8F1E@vrKa$^=Qm}^s_%1o{(Dyjcx42Vi7cgsuQ1D z6WvUM^IP$b-hQ1SxsxjEks0`HO3xF*!-$!NhPcMSHkH&(y4yMW)Q-e2-5mAkbz zZ0V{LRnefZP>HMbO;d%aF)_f?m>TS1NNSsyD81GhgrF(6*UU zhI8*aThO$NykX1@jtQ=q7yFoL2yc3fjM50le4h&6p5KA$97+zo55<98Qy z-(XIZ@UYuN{*}EU)PfPH{Y&HuwaR&Y&Y79lk?g4z&_`lL$K!?1gW;LE!naO6t~84K z*Lv;OB95*vO& ze&`xGxu1BwjKwSMR>Y=c1wGA&+>BrUfU<5(UzNJ>NFzTp;3ani^UmbOr;z1q0_rt6 zdrh>t4)I4-uMGZH7Sy~Nbtar@`xp74jNTo%8i_A-jjT~?RJJI6&(3j$G-zW-uGats zJWjS%YkIy8D@(cO*>c&BP!7SYFYtt(paE~9nbT3#HSTVr*;3ezBUo6ir5ne+MDlAJ z;MG=zSJK^{y!N85H3Z#B#5w!$slK3p3B7+&iAnfjE2u~Bay88sFpeCE`U7|H-o>LH zg7zqSPYHTrgq6KGql~UzllWV0G=loc>pQVc*x4iaZz!6|3P zNlRO;mxAhxwp$CVt`y;C0p4(KGXq6D5mpc8S1U<*hvDIVPn+KZ{yrw_*WB$yS!ARX z8dK5*X%8Gq8&(N^lk8DRu*?M~%M-b;ftV0!@N7=jMlD#y@P0mmQ!6R;Q)F`Aq$S)X zv%_p|Y`MyH=3qBw(b5%3%^61qehGcnKKEP6N}{rwudWA5+6F(TKOVzim|vVbuE6#| zob3ZJJ&I419m}2wqFXuhhbXXGgJzMF?8^v@T=XIP4ojn6(?Ux)=r1YdU^xW&CgNz2 zC6_MB3K}1UgFRFSbfg$5Y!#IVak0+qs*VZxYIR0_k@;1MN=(yLpR`@M3)xv0UnY`l zTsr25Ed`og{BiDiP~69q^)F=R?h;wNM=!0uWZ%={JJkS1X76>^v2801s!6F-#&4{P z?Q4#AI2sS=9Ny+ZSgN`ICZSmuiDlD)XhGOtggkL6BEt&IHvJEMw=a|RON}S0m6|%@ zzoc_Nq~;WbP4&1|b4q(6JW(&*J$O71z-=leua(Jub0T5Or&#E7Thlj0YX;Q8(_c%ubi+oD#9AIh7faBp_zpRDB1~8?2u?(i3q8-g zB}MR`GlN}K=3c9as^_A7GV%9}G5O)N>^$bkUx^t;QT`n%`2;^!R3>;5K59pcTW)=e3}# znE>0v+oDb^?Yaxma?N@_AO36Zf6Wni9}g)hk#A3Yi!x;UUZ7N>-5%6mt+cE1m7SEn zN(s$w3RUq|KBy3pha{gySPJ1_{cNFT=m|}o&5+cq_BM>|3^smWxS8$LIfSP6lESJc zSRAY^naB^Y$_Vy89t$zVYljuBNZCIl>*j*$cX)W)XkD3&7Z8cXjl>E~rVM)$n|7tg z#%lP}p0c@s&$9xr_y|2Sr{d{+Mj6L}MRDrOFuawbME5!IDDr`0e&Uw2T%$bp^aphP z84+oI5N!{mw&G(|=8R)Nv^)RhUo}7%o8hI5CpPimuX+<6^<$Q~Za4a=93_4niGF;D z7PJPrl|-al@q)8ri4Rd*caxPk0Po)58?Al5i~HA#Yh$@Xt(M&v9iNP?=mUd?^Gmck z%zN|!%|dpu3GCd-YA&1M=SK7+0c{n6rgFkjF{k;T8ke1(GM4H}ElmrBsv=P1EF1rQ z7^;S=&{CZcvcZ3CQ_YYC)_c_yeP`a4&M%GCc6mjLU6SMR<))_pgZ*sB%*&IQpQ{Z~ zOHCMa8NGc1Yi{7(4RSYPA+;6{ed+Oxj?)9@7(PrUcPQ-ajQ&+4+ZpcdC4*fUC4P)u zD$f4ZK%p-7D2s1JBe0$!vWaozY)fKGv%%8qGVyuoX>^##wGuhGPQ+6s@Lq;u=gSa9&ZA!ZO>RDyyBzet zf^nB=89VO###`{G7GQx-q2PnzeKW4tmYB2$M~#K68}N;;QV%kKWnq}!hpUWcZHYqO zS#rr`K}@TZsWfFn6$7T_z51RAPmLE;8S8tMvzQs+pxlu?3`y-{{*PWQvlOUqpa5n& zZ8my4mn^R3n&f|pqvEb~I62qPMmaoi9=q~wr!b1PH+hA4lrb4`qDMCO9&zIt`i5LX zH*??z6yfLu>h3c9zUxHWj=PQCnG4CWe#dz(6ZyZ2;=P5>R1I&Y8otLu^s*}3o-mFf zC0_J(=7cZFyFyseRNi8GH@9)~q6s_6^$o^mwgR=$cvBs*zH;Ca!OY~@JkRc#!=V6synK?6AM1Tk1gAxo%h(A>%-pz)Q5M_Tg`93je0Q# zUiSve&e-4D*v$E`bqW#CCD1QN-~RIC6vxu5sxR|fwf6SY=cXVzPDKS;fmbCd6jZwM zNQ_0cEznqDE*-Qe#9|Dyjph%@6Oy``b+w4|`B_yj^t~*jFVmswwqAb1ZJR)_O6m=-$UQ9 z-K=kw*6Zf3Ln~UsJ^GAr#9ZuTTRgCu)QbB2NlD^q<2(=BPLq?}<#a=B|8$1B_1uOw0tel15-6UV~PZSopby+|W!$q89YZy7*hDj?H$V60{6l1Uxfasj^k+%SVwG>yx;senjF` zU_XtSLNs7%z|$c2E6y2LrQHE)I-{(!<@kiB)hYFPQS_97-(Lhj?ui>qOHdow*~9C_ zTroN5H;@cVr*$rVA-lTPy-(RhQa9ts5amU;HsF~q!CuC?%)5!ccERekp(N&Vwb~$` z9j|FMs`wH%>k77twkU2thMY}t*j}2NvXP#ASMh64paJn<`xh8gM(>7!%UDXa2i$Ij z&Z>>PF4wJ09jWE(p;qi10S+n2K%B!?E(Xo5TxBtPH-gh`Kz$1QtgZG??%@RSh*s8m z2=7k9SIw~eDwv++4qu}u?=-yV+E|E2c;w^p2S!pClHqO7AOo3~z8R&c<-@#>Y5g9H zzY*!PLZv6xsQ;VVunkG`dK9xrCxxZnD~=GxdfLNK)-kqKC~1Gy3wLGBiW0fo7(>9uj}nLr*3!FPGNJXa$cR(Ylq(OO72?-=D*jb~&^; zCmvB&^wz=Zt)dle8Nav@rQHlXi^88Gd>ad|7Q&R|)a8jVS+LevUmv3UW8|p z(135KE5krI4N4J<@3S0a=AaB2xPCKqcr_~e8rD>ES82BYP1L#9VfTyZ>j6L0GzF_& zA4Fq0Dv|3?#@|XuJM2jEVr@{{+05^mK%37u)MT@cQrt9@qHLp>AylM@Dp&JXg@xE_ z{)>6J;$rX!cxe{Ykg^(J7z;U}s(K;2sB=qUtsc2-kzb_qDRNbtjz;?@fu99Yp=9_$ zeL!;oYg+W6EwT>YXa=Iiboehf$Q8Xo-Hu_;fuI(H9ZOD&Rd4)}0%S84EoKDgD1L2T zcv%`%9D=Vg8x$8}Nk_t$>h$(XjW-(wL$}fbb%A_wG*@U!Ey{sM9q%=FOOjQZga*FE z(Ie2@PN3TxY#M@#dO9fITL!hS$Ch5~QJyQ;pzNn%2Y;l+ub|rjW{QnJrb-Rp?I%5l3K_+%MPMHIvL1*jPn*V-|PhP@&jqd$_P6vfIx^Au08Ox zfLjjS#=__7l>kEWJy;klfe-WB$AB0G@+;d7PNOv6E34NV4V}W>OeABac{6{)7heHGmxGylA}sa2 zr_pG+S{Pb!jmgxfapW$#5s&pI2Fr|Q^(TYX(;Y=wrJ}S|o??tjSiY;V%c2au3RV4? zcN1Wzy~H;?0wfJNp{`n?S9w=roT;cRuD&sENw3mgZL#_!%%%4l|Da59HvGoCPByZW zt7#3|0G^3hilJy=CfHe?zCEeDAF-cbkz1{YcUy-um7y&A!@752UuP_%Mma?DRBoD? zjId!TD9NR$+$6MZD|NaXeM?-jaCJFj1=!daT&sB9i0E3fnpG0k?0nm;>SH$z8#oeX z&Y(urQC==gvFAwxWdiqgpf1d z>Uvg_lp6|ak+O`k;?j#$oFy%H7Y&|uXsccAon*$m7vM~9Ka$8nnHR-^eo6bvBeb;* zrB{`6Him_zDYdEm{(g8KO<_oBn4#E8GpT3f?4>Eg6)<8Buj!n|WcyOX!6IabtAJ~9 ze6LzWp@mS~^o*&m;AMBKpp;_gSkMrorP7UHT6I{XR<4q8tv*Or0o`a`Yfw*Wu}^*c z?uJAm!-#xehhKxKb6TIJHvUjcFzo}gyJ68Aa^AsgnS!-FMOJScKFVMwNlDs@|YtyZwnA>izko_&!|2a4yDvma}MQ2w3cZ&XH0?S zwZ)@Zf@e9L*H>Y}pN#)WMYb;|*p(-LD_m>xE;(^-JCCRbdpR5|$8lr}jveb;&k5jD zo%$2YS%qO^l)N={swyZYz^5TFYc^XKIyLZI-o~b`2c@xiKT|kzE!ME6pD*ado{2mM zU`bD)x2Ji1nSD=SO*N-+d#xH zu2S0o2O%N<#L$!;%ZdsiV~^OWh$j4BJcW;W!>R-FQ-z&y5o(rG60fZ_MW{-9ElyFL zdfq=%v5HtKL=~?@I}_Y1%rkqGxz*;w&T;5pW%4x@@Lf_9uOtD9aBr=<4W#Pui^hOp zI3C7seA-qhU?KFkDBILeyacRIK^<3r&83v+XkORDtmWWY5d4b6$vD3Sry+GF7tfm1 zpS5l-Q165_TTb~8;HV*#@+{6D2PZ0lTv?Q)qOZ5{KE5;AyDr#jMA#~_=0)6bzIVJ7 z4#uLFQ{nSi?ja8B3!>J&IR8F4DcigVHQfM?EBVt*w@ujA9juCSrP|b|?%4eYRNe*9sG()kpO{huxRMN&H`)tU_s}btjPdNo4Yityx7Hf!&+RNA& zAgoWqPaIc`khTVWk_>ZwqqtL7H?6hSo%G;Yn7bV9USj3jGt8H_nY`9C7}E$FC;zh$ zcGTt1^Imk15{;C=AF4~q<)Q_YOc-ZP3CoM{Ovi6j-=awHEQ0k)B!XN?X{|#!Gm<-V z(eSchSd8k1^QLL6miS&Q*`Q%mhNUv6Y2+ z_5$r1=s^)zDA-cb2}MTZw-2V(AlA! zy*{;PkRS6l;q0ZUu}wKkI{Ky+zc_BkLU&TWe^cWSy);FzfPWR8hp|(C|%|JTI1<71*hEZ6!6PQWGHV%eWKEV zc5eP>p&Wa_uPsELOTc9y%zNgxqs_A{xu~tbor`c|Zx;+yOq3^J( z6)iNv!IV}=s+9GoHWu?prH{f;Wo~|vzBiVdJ_9%p^ImnNI4snRsljLU#SD~IM~k1b zn~Hmdu%b|#yGp$xtaqWDub?AoAQ;XU)46J8!d^w(4&ubz|aT=?rc9a$%8PCz0U8fPcJ_GAJn|su1 zg~RX&a#17RqQ9eNfLu(A;WTeAS~8SYokl({Rcc~{{7pT@RMS?oo{AvM&(%9qOQC1q z3QIkNPT)}qQSn+2on82;cIXJPSNrK)icEAqX|6uYo+@h6{^F?=I2r89?6hD$t<%i? zdz9HMS1?!UJn-y*H`q&@8t z`Kc3}ry;c=Kd5D=Y*OOw&ZgdI)uluHnm37+igS%u(C>NlJJz^>THZU<^ZMRy_W+he ztIi2am9$D;5xl%xQ$Cff*eN`vwBoL1kF>vH3}I*weWSgEr18+aBXL`8nZia_aM@j~ zRIH*cx|aMOWrTGnLR)P**?1>QkePQ`oRaQ*R-8TNo%2q?&^7qy%ZUt&f@dQ%wPqcY#jW$(4z>kcOux}tu78QtU5gMs+5T5VV@xdk~wqr){r z!WwGBBov}3f8U_CBWP=Q4gKikX)fM;cti84%ULKr&6*%=gn~-kycy%HJWP%B5*{jP z^O#inLSB1|&3foK;V;Z(6@{BPYM;bYi;BckdB_3(l;zX4b)3#1doJZo&vt3H>?dX8 ze#2Puwao8*j5#gWkyluZ$I_Pkd}CCyDoo7@o-N&}_zPW~e2i`B@9x3tSpf#w;A0pX zCS23=my8mP#3Nk@lB)gN(ZXMy#^iw_h*R?74b|ej^=WIJi|%e9|62-n)dS0^{Jnr} zehGcliV?kF=w$wn;K;HRp8U@Gt&g01YtQTf0oGc27!9Qqz!?-q1qJ$Ks)PWQx~JRn-B$vj4n-0sZS zI-Ztb+EO_}zO3w**kK;1d|gvKYvC|ksIrw!G|Z)*)?z7+*+bs$b8ksjQ#HV})nga2 zHBez4W6_A!6dfmzSvh%K+n8@LQVRU}7~=iC_(Qkwho)mg53-`)dZLz^_@N12briBH znYyR612P7MU;US}n>afyqYf&=z^s%@S|3Br->Z6>2Rqk>vKv&&)g<)AROI-q&VN z^)2X%t^1lDews)3B8t%#gmaP8I|DX#(9exzc|vY9&c;;`76be6dvj3>)55ma++#ns zu0`qR;K4QLo8{DwwD9vfS+TutEP9*houMC0b;?lXDQ*~}#1LiQq@ij{76M|R*rxA{ zb@pC$KwAPlIpn{`e z^t1c<$!2LhkYZEI$tyQxd3xmy^vSYJmhaOi+itO}qFUvilwZ(sdY^)Kijb94QlDJS z?U0vDQfmG?#rM-tlSKOZ`eTmu41nC0YG^VI;XTjTlsK!5CiE4`e)%|86n^ zJ;>m0BuekgmLBAkdXQtNMJ}%i8M&$C4b*>mqo3=2i8khW_nK#p}9i0>zNx{2)TVZU{94(G~FHm)$OS#>DUvK*=3-I{VK z0!CZFGdC?+Jt&*@ZX?E%%mZo7DyVhTit|5~Gw+}+MSX&%(^vBoo?AfjBH76oX+yaS zniDDK)cj@ODk->DHrjMsfoCsrlP_|o)3{S*tTu9nnq;Ah!J-yq>f_j_92vD(@YMLv z1kU%6Y}9YeI97{UGa4~sqaHmUYct12O=dW(#=L`_$vLfHgn3_j&-I{(c7Uha>1$Ib zDpJbm-VYu05U zsyWe&b3o;%$IXxQzS78ejSEtC zehoSEr69S7I{gOO-NRu134LQ9P z{K^=RQWmi&?CeFUYxa#V7|*nmeBnN{Lw!BBp)rZH_jTcj4zPC)EUklHG@(W`=hF}L zG)l$DrHa(Ab|Bhi9Fd^9h>~<^U8_nS{1L4&$=w^|M1QA@KcjcuNw}jmaF0-K zXBhSOjQR1tVLWLD_Y|5O2XfJra|T#2l;7Hb_a(^V7C=WwlV^QQ&(Hp7Z5c)$X-%|= zj4^CRTgWU%9_`@DJ*fo~c`l{~-6Ydo5X`kcXgkU~4joJin(CFthj$a!sv8?zz4Fw!VVQNZ9*dJnNzf4XF9CzNHf149Vv#wft{@zo9C`1Dp(R zW2v=oE2D3%ch*WEOtm_UviWLJQ(tg#I|PoY;b0`FMe?0`V&?$eg1lFMgbdVit$SIN zwwi8e=MBadRH6*~@GC>i5R{owN~vh$2r+Kx2HEa(lxv9R?|eEz4X@6A*Wl_T>S{D+ zkK&A(U_dTvOI5$MvJ~fihgPqW*rEPBwa!vs|2dKIFJrJ)W9Yjzf;PSVaAqAgYc?p{ zr9JF6e+OtCm_fVdDbDaN?KSP-S{%>JWcrJO{#(?jPf_JF+*^L;#wm(z&dd0fGUVa^ zbfRH-YWJzHtJi23|AnV|iPxpBm8V}s7Sy6Fe{tN^K<;ZQYS4+=+?ercg<$G%H=nx; zbsbBaUHgCWtVcUVBfrL$r&NWV7%IILW_o7`2B_NiVy1CcJv7Bj>8@E!u~@A-*4sgC z1U3hY`ZUN}68>qqRz|*2|N87~FTj5tulWGQql}z2xvv-MTT>oI(j0i_okEm*9ObCQdHU`u$U~Q{Y#)WtmL_2d)t80O9Ir?^fW&CfM%ive91hIeGv3$0jDf#YQj+i+(Mm}j6W7O@QMZ|<|M2G|q_wK!_# z3Ti_#bov5wKEzT3N`qey?yon0v$(g;++j_QZot+y?&n;m1k4W}^*K78XCr)s^pvmZ zt5B0qYp@5%TAvkb3l)p)DWt_#;rQH+%92VcHG7WKS4@?!D4#YNEKSOv`Uc6a$|p+C zGY!aU3}iIrkl?7UFw^!^ozT(o)v_n1mvBr?leueJ!ysacmz?Z>uQE zC4usbhsk*v(R6~cDMOu5J8Cjs^YAQzJEjkBg_aq~P4m;n@~=GnSh7 zG9!-?DS53CqxS5@IftpEAti>IPb5_JG+#;Yo@=g9w>ltJ ztEE-Ps1J(uM$u8iSnYf2zo0qkv{rz8bFI;(GM2T~cn0+>%M6+t*P5OE)!R(H@A6Sr zo4Lcr=$q^%qwA=rnzdZ(L%fVPGKkXX0~V7gm!_0)KYYSmpxqUJ;wSu;z2KLg^OuF6 zX*g#AB8BYW*%{yIno}F}t5Y*pQXBe%)h^E1jlTq*Ybd{tF!c~)oL*!6;YWNsfw?R` zr5va6x*C>5F-Gntc6%@}NCWJKMj;Nw=KkvRXO7>C^k_QC|8?B!G_cgH2|`j>&IjoU zoL|@`g4j!3sJAhh&Q zEYzH5L*K_1c4|EhxGD66n7s-sJ)W~s-$;2Ctw>d+xE6=1U0oPzEp5f7LRmFJj8ktf z#V0w~q8=skcx`mDdS@nMdnWc)|BWoz(INEpDbJsJ_3egFzoA2k{O()K&i97a6-D;Qc!Ub9q|RyXfM}4I zf&ZEu9-d`hnzP*LL0G+$^R#uR!0`4c_fx z3CG4wAj)gW?<)_UxrjcBqK6^=412dV!{n?+rWKf~3|LHP&dY^#pw0 z4Sau`5m3jt_AkutnAQ7`t2KcgXYiFqa2@qg$OG?R2Z>nt{3Y{dUuTrg1;(prrSDCg zX(HF^1_Cd0*NS&u;G5Z;zauD*rWRfV(aQK=4Y)tukk6lGJ79hJJiG=zkhsjD#4R{I=m4YCOOEZp>8S}U||i%?f@ zBYh{YR{4cAV3?kFifwFFM4_szgI1wco=825)my$h>@0}lrlZztWYIVxHm$B%5~Uf9 z6}v?5%xug*u#s}!L%F;It|O_-%NRr29h>L5bMaAH;{`@jf6{=ZxS7wloRgW&pgCpK zj$C$>fs`;H-Nga zfcmtKIWerzpoM5y*1qLOG;$w-U7{!tz2K-5kqVg8HHCW)Gr6&1|974pk~c_!~uOAK=(&l-L}~U8}jQ zqim011GQ?8c=kS8`v9%I$LRhP-X*Z9%j`9$$r!4ab{&3CB_f;eoL1b6R#m*j+#hMZ z8_czI4&~m?`L}V0^Fgp5y3hrF^##xA;JcDx99Gf zps$mdVpyJ2Gt)^>fP zGl-8;XX{6*SM?>6Mb*BtmS%6Yulj5&PpEep`92f2Ejw&VMdV+OEazm@LnFX4gGFtA z-z2=FPn~SolqS^e3yiJ53kNPT9SVB$`@R2*0K?T+ketVZ_>V!1GTS;CQ#G)obxQet|*T zQN>;OfSKH*)Q4_7HS#Doe>Ffe9p@d7XO)L?8$+qAqx4>c0f+ zZ0CCh!$5Q<_qPt8`xQ94hP?xRYP5M%o(;GkF*MxA&A1xy(U20JLc;tay&AUSs5~K| zYWXE`(2$b42J<>7F43OSWQ~!~`Glh7l9XRiFVtu(YFd!1gFPBaw0@P+*~j}1=x#Mw z+loy2OJv4QkYS0#FFXP-pJH(iqHKS=DJj7x=;0MqshIl#8Qld$pGENAN5Pz=C~ZSL z`UE1NWYp^YutKP<^{v}}N>I_t9Lniytma$Pj1PI;iP~z-=zCbr-?&B@Mn7eRpT)i3 zsR7-{H{8Wu*5b}Jjes-gX#?!zKXJci&``mE-vHx?P1(7 zJk-MYLu27;10vc+;5CuDHXEPk66Y*THvdaNNQ+hN4yT7u-!}W2yNq``P>#d@;@KFR zq}d(H!wg{(XslU8L(I0B?XTA=Kw|M^a>skmA_`uG2VqP|UT>I?2p_PG%3@6EYyId!QKztVHR zGKKRyGm1wu9zBKkBRcXM*Vsi}Sq#tSQRfz-3tc%!RW}bguC`=H@=*`t;cGSYWg&?7 zaPLr)tI)1 zSIC*hDvx05EQJo#);w8@M#WYA2}v8TC>|?@5s$6q(-75K0-F1+4s80uSwVbX-i_iH zy-Oy10@~RK9%MvOmV@yDGTRB%^7k1VtFebU7{i;2Tf7PL+LQHrL@QM<;?_3U-unDT zY0x0rMkm4U17y<%!t6Da%}z@A9m?cGYWZvE?G0v%JdSOA&wpNmS7%V$a8GM5X(rFg zjCG3RYOePwM`u6u-ZH^+KmE5n+|4mM^0AZRW05gXv~C zy5xWGY>RzqO|+s+TcEIJD}{|&QS)7er_hs%%H~O%%_EWrWY*M}D9=YT*=U>mTEkha z6}N3{jMQ6^Nfbr54vB*WU|0;x(DCtQzDKpLFXT4xbheemjr&+W%NlyIC_I)CgGDgc(=>IvIuAn zgsau4Pp3ie0iJg)#@3{R$-iOcHIH@%?Lh^t~mo;oxuBgSo$lp0N%pm4&epm zA+MDchSng@(GW(KaDPLUVz3n($zp#?7JCdfViz@eA9yb3-MWAA>_W?UJ9MZFY*AEU zs>z#w-Vvx1eKY0alWTid#BRJX<8(Ia7S`r<6$eiz~QK;2;Ex8%Pk_n4e-1{6) zp$>k;K{CFYX?_Ovx+_s^4?K%S;5du2-;O=n<}^h0UV?eIv9_PV)TJPL28Gr7y$>j< z&7k_Vud{bi%1FlWM=+|QB4bS(GPB2E5Pc2*B+Na@8HZ8U1>xpM+Qw?)=iG3sQAFFQ z9WJWz1iPMv5p^X|-JkJ|R&$Rp@l>v_CAom2L_FX5^J%Ds{7c%(ZZmG}4%lWO+n@p`;Yq9j(Rgs&Nxe8hUDR59hyKO09luty*cbK@6dpl_#}E}RdMB<4JMCfm z0AxU$zbl-LjfS1{S&^qjE80^Jolp4clX*iri(zm2E_{`_R|YTzTALbgdz!Nnly+jD zUcu6I1<`z{&PsAH4Y95@!FxXQVBT@E;=#{{Q3YT^MMkiMdt2}nbCF${h7UUywe1Si zXY)P*z1H0SeUWo+PHvW82EH0PmOdnn^?u#!jNqSpHPi#c$V(fboGCKcm^Q+iL` z?D#hs7{xY**+LsJ0;f5wTj6IcZqQyf2HTz!Js*qTT#_jA5;12nZ2DJl{SN0#Np$lk zGn(Y`w5shKZNL9(C&}dA2BXth^~JtzUq)W}6V&GpaqN8}?d-I+#lljT$Vjs_ z&BdGR11Aqs=T`G7uiP(eUSvNz6Q5$sM!GwQ1=?fj zYoKha$rGJHpPCYbJ#Y*9b5!R+%~s+m9ssBK!XY{W?9>Rx-sB==$r)F-f}FzXL| zK;2S?IUg}@0(rkD4l8(L1MYE5By&Z?VRQe&{^nVLp1D@1t(b zm=*XYmZSkaL0&_RwdPJUKRc+^lo$A|A3Z>|8^2Yf%U-~n>OvM_EPT1c-(i?}7v;S` zi9f;CoyB8m0tfctdu;b@VG-ZI>CSk^vUo!gDEmaP_<@X^#sn7N7nH$XuO&A>f*SIN z8wIl?8J!x1SEQNl{`@~b{7dSPvhai9SPN`q45J25!$_@|Hp%z+x`SymBCI*+$lKK0 z&xy_c#=2yu{VzN7WB)=giMeqUEBF1+YL`+3Yxo z4u+xOaOE6#T@@c^D~MD=acc6*51>Z*$fmEt-eq7cX$J2N@;#aGPNri&2ExgesMbm9 zz!W}d6^%}`Jd~iuG~x5B&d*MHVuG1m=?&2Q77SM7f0o6gdWe4S$7(e|&0F)oF&s_H zXvF4TH%1G$1E1{R^e0|w8G1)t!TVl~*5<^gtjrZYayn20i{J^B2KfkVKz5WjJ@&IW zNBxLZ*2=&mxYq{!RiVZGG3;DK4I4{6t4cZK#hz3}Hz!ap2Y~9^)Z8nyzqwfJ?6mMk z;w8*5)mZ=W@t?RvlXLyWq=?)7Q(a+=}R_P?{9EDdjlzJOS9=HT$-i&gX z!*>;EJ)Fw5Ud2az8zz3?XXuhKzPp6Clq|sqc)_2+kH^j>H<6L66PP!>9%xqOYH`@Y zuTYOa$UPoFXQOyFfvL;MC$yt}JYz;0MK(={io-xO3|}ZMp3xKP<~;7YCqABf6qa?L zfYm$Hy~)(L7Jgn+J*<-Ot^-faqT2=jYjpqjv_v@gztQA;_o5mzX#sEOeubCV5k&0K zkP@s<-b5KUW0zSzvz=xW%{~f0y$in4cf!@MS1nLZL0B8d<;w~&J*B$htUjBS6{>1I zQ^cayP_Z=$8d9FQy?3BS@A#Y)_p%a={|>&5-R~){sifgPyg@CiMZ{H@mV}o0FTIH)p1PUfXH!O_#}TtWVV2lD%zPCK z^B++D&CqFwmhijW=S6&|=G3=}_&L?7)oOKbMD0_%e|{L-3aq>0*Nvn$zX_sOQQm6Q z;sbu3V?TImjokl(gL+jNFEAR_HWbA;(_8H!G{q--JojF;P5X;&_PtqN?I9d3pQrPv zMNFQPY_NS&e3G7fRSUQJ^T(WMa$1UppLtXq3Tl0`U zk4wqS7v!!J`DG#e{RL!JBfJYR#dUX5uFI(r+d=YcO6m=)Z97USju!Gl)B??BG92xi z3X5JK@_z*uXC%T)jrKXHUuPoMG1%=LL@>(9O@*;%{Z`DhpwWoAA36}P%<;P8-&BXi z7x34rxc9h|^>C{+7PJdBDK%)VrjEtJ;sz*mE7YS99#nR0X)0y|3G-Ittrx=C&bmKLGvPhQ&#%% ztw32dzomS_eYBF!q$HYA_qATL*0Y;JyrcC|Hp0z`e!tr_*uDsI73b-z^D{XN7i$&+ zvdQpV)ygp)HEx6zKMGI7Kr|1!IgGjMhBAYCVfZaev6R#9HuYiQ6KClfyHGO}mOu@_^h{d)z9|4@I9{FJQ9SIFr#z{~7ifS=)` zZ-ul_(x2*q_OMs&V>Z)#rzCuq^_1-tL&azLL}}Qrth_v3&A7@+I@HPDblq;)2dtimjEM2k6M5KNr~Lo^S{8Cq3cvc(zb;dKc+rB#@V!`+;e z+5!|{JXY%#{Y)ByXnXL{nsPOW3D0m}!>N(kxz=QAnXLaK{2|S<+`vb$5Dcw=`c@>0 zZRlMkPO3O-X>~4nM2cTh!nnGOVtAW-TS(bWMM;F>KiISNUoDqrvY*P4bB;l z^(;k=na&*yC7yju7QQeHjlmm^1=;4Tv)XfMqVINVX)|k-Pnpo~Ll5@0j zx^Z7>M;OHYYR3GGe4B*`rYYZz@oVE-&H&0|2`H|`BF%uQulW0c6|Mm9vBE3WLI zKB?U8DRu?SH09NH9VaC9PXEm_5|TPr4{KKum-P&0bCpjk-IX=X#4o5rIh@6hT~4iE z0_(mY4hi#q1JPAvuSZa$Kc>bufW@)Y(~q6Z-h=NlbU|_ zmATFUGOmO8JBPP+5XE?%oI^DjeUfv=!=eVT^b9fnBz%+P! zzy`eoOJ4%pQ~!f!ZXX5l#1ItzP2Soe}(U7!;8_BT3`OOp4m{ec`_Vb z!*|Ev*LJYKOkR99Ous}H^)Oa8oOVa`q~46`79n%A8`anh#*gVgdJV5SnqLwJ3Og7% zQwT2K#Vc-!Dr+vZ(%?FX=yeF|xYcDYt<2s4?DQ%8Rw+mZCyJ-qXYzxkvRZwp7t-9W ze!FcEev9TX)ZBNCxl&iWxVP!?as%!En)^6NYr;*z;6G}?XqC875pn@Kfrn%EQMefk zO<{w*1BKNY0?$a_2}y0UXj4qLac9;Zs&gnOub5Y(9a6!NO3q~ZWUN6!HleTwiQq1C zmttuq?+Yx&Dq12wf`MJ|{08E;=K;$;lyOr$|JCqo9A3~rlM^K7dq3$|}9zywlgr^^a=xcEGHhIOu#C+Xp z51Bztdl?UQBz0~i*_yX0`xbs*mT0cE3=6)E-0Ey%*22tJRvF)RILwS^O@w~D4kPm$ zPc-^EcfFST%*nC+;9eAWo1c45fU#a{U|*Gf;MK^FF+9XMLs1$T;!k*6Jfb}eFRKgoNk@o}`c^TD6xNQB z&I;2YH!sx|wu(kGpooc->Wg^Yi)sJ)5G>DA=T4zoyUCm;@jk*2*^bZiDR|0v*X(R@ z<|CE+E^M1hsfUr*+(hk;uL;#r~UQ@&H?zk^?U zs^V*nBimFhxzJ*u5o#a0Sa^PF<_|nnr!4*u8|K-Po|$D_aE~8#2@oV zW$VO9p(J)0%C@Ia`rpsO#E`c*#kgwR)6s!>M_*hx^ zUBm{bh*Ay{0iMD_gs6MR;q1$9l)D1Oti^BK%8itFWBJR4k0kGOzmtTqLaRViIUw~~ zQSbT~vY=|KuZpkLf^zRhIW+-8c^-Mux03AL4famO8(P9yzb3NV!vELF#3*mLlxT7b zsMVl{PY3EwdQi*@st;*-&P+}E7CaY$M?97<4PI9#YRY_c;<3|^C}KSxkygs=!%Tfs z$u9Nh(-8RCmyG^->f%`#n1}lr1f~VRvIy3*5%=1Z^5}|vZ;3U~Ox@+U+jKk?A!wvi zJTZC-ys@mbtbRoHqlBMzGK|#!)_hDMU=JZ77O40jjv zTdGs~M`;u6f`63J{nb~`w`e7NjMZz)xypi6GVWAykc}dZq|P^o19AK>jh!kB(m7#- zM$r@k(FX8z206Fw#INsx&=RckdQe`AJwC%{t!VYkNl(<0pO)uH_ZeB#dvNx9e6Ky! zriJKu40S}UWo4*u<57w09FrM8;1@TBmhZVB*${rt@_M4Z3z!Qy(ktb@3Rbzeqk-I) z`s~X-RN@yVa6e7i){18%-gjZI{CENRv7;$r0Da+TFZhS`KJMd3XCV$MPYy~L=#d-L zO&PVxte)W}?gfmr%#hfreGSvF|NCD180x~&7%cp(UTB;6C@iJMI)nOuDNnDFWm)me zt2*kZmYYcP5x%3=c|DBco+s~?l(;R-n*}>Mx_8ja3NUa6Wm%56FE>%*n|LzoX(LQV zf0W*oK`H!;9Mlrk8AV50kvfK>s#0FLQMVGHoq}sd^FNZkLcA+ai7kSYuMyKEpuPRE zqc7rD6$8Oz#4Ts3E04&`r6W_D4_+m~H?2auA!eJ`Xz1H2q$q<|Md(MR_|VWE-Ztg|{)4ItX$B&xfmXn9LXTYEAx{l&mi ztpz@8yr@S&fSdgn5*BF&Y!&CsItH)$A8ZxI#!=I0oka)-HNf5l-mmSgxJB5e;*Lu? zGf>s-__I&(ZxhK#{($D5@jbY|@Zpkpo5*(-aZgcao8Y(nNiUNW?w@$=ONcMNLkTbA zSGMEVW}*z_KWKHPC_e_G9iQ@$x0sV{YO|=qH{x(^a4!gR%Yd!2Q(4%qaqJ-nC5{SJkniRkTi5ZFc3oQ|54_y2MA7I0Qo-~0dB``nqKW*BmYoS_?rZiem< zkdTlRky1nj#Xv$(kP<{hLIjZ%DFGz}38lNcySskx=kD*7&;Nh#Ywp}Q_uO;#v!At| zwf5Tk&`-;7^rbk;THvXbTRNhTDsVOhKv1?NoIYBY9+;K08f40m)z=lnB4MX;iVb0C z2v5xz3E?4ID8(7VLMZ9aRgJi<+ z)EsMz;AgnXp4}eIb*zG++lZDo@UBNczC%tXr&)w%X+``0gYtPsG;tBFGK$<@D(vtS zTD>G^tXaFULG~2}LuFoKU_dl#BM*4i1I3hZQMfCjOUgI$a*Wz0KP*lSqFF#Q796U8 zXgq&!gTJbobmf7s@$>?JSSoJI?O0geM`?`J*G{T2lGDpm5XY9sddu22{SQyIxlnVsIZNxF3kxCXcqUXs&$LzO6JhVzDr>6U zilySW+p|+qA!Vd$1dsMp{!g`;wP9Qtste9h8E^}0yA)>b<-VWuU%>2uSjNgOVy}vs zxp}GTOmJJv^MOHa(ghxA{AMoNcQS3>10HD(^#u^@ z?djS)B#GT{WUQp5TzzjBG?iQ0q=)75xErDkE?+@S(lfq8-N>;G1>W zR+{#8u+^FpW!YmfdTL>;Neo9{j-$QqSu*+tEOiZ=LgXhZQwLZ5KRiPiIs57OBx|Xg zP>}}=S=NvhcK8Q338LvRb5V#?wYVt#>y(h{hTOQdv$?MROR-8)&bx)T!{h+ZaC?lX zZ7%BJB-mc0=Hm)EmTZh2UL&hjoannX=Qb8=dlUu4bwX*`^R(t_JX~AaQ7irE8dWLa znAXpTp*`b>=@MY1u2ZO0_cd0W7WDL7vrENM%{SF7aXn__f3BccFT^%Uz&JInt=Shf z!K(~vsXN~ElVBUaiA`9_IAl!}(k6cIRkjqX18f(|o=ft}6;R_j*kd{ve3WX45#)Z` za_#B1jJYi#+i)3`_a&`WlwXdq?d_=|h$1O}a8^MvkN~`^e1aHL<_VnLCr+ zJ|d2LU{Zr)6ZTdctLxAZ6CJCBnNv0TM6cXUmQk3ChcCJ4Jfu)}*o(W4+uB}xa$eZw z;Pp*;OEFjT12wNd14o*Tqrc-7As&8UQW8r|1-X4_+*_#Jx#V9CF;^hD)k+01Mq^(I z_^QdY=}>Iga5Ages95+4b}HN13`SMve6=D<63$-MS3E1tuc)%8=>H+AwQw{WF$Zjq z2;!fLWAWHZ*ZkJXWl4g#>N{C@FBz}0V0(2Pj#qdT#zjz1y7rD%uGtA^wPrvBeJ2%v z>9M_uu)Hv+x582s#cDL?7sha=X{lzoL%bNER;4k#DuOcjnd8!0AQ5m=XYhJ3cU6<` z=cj+v=GQZ@7mXJe=GJ>7(!L)G<&kgayxYYQn`eJ?a-rpipIp*T>e?#-a~=Q7zy-!217-(H8E_sIP1 z!1m7K>M|VZMbU_p~ikBU3W#^UFqf3TdV*>426<-VUtTV?{ggtAvX#uwCkAlG4!U<*amwZJ_ZUY21jwICdgAdk?Nys)nF_YzOX zKDB-bPvNBJddI!1tbmk{Fm(LWe`NrLrR=E?bK8gZOUb+xhnZ^0j{KkE-NTd2f*aBx%KMby zUXlHVgIrcxxDdXwC~Z=Rew~HKoV2TKtX4LPGWY%pu@_@Mwb*+MkMa^F*;_wToor!d zatO6Sv9mzUU&`37(8I6$8|LQSw;=-f#G>_LoZMdnoHjR>r|2zS(;#V z3emomh`-08FZRQa#pH1M!Gkxr*QXcfrY}qR6sBD?qMMZ#(zV_+$4M)5=qg%zY=N#S zMk_|}SO*KK+=4i(t99w7HBi#g?+UT6GJHoKUomSKTb5>zdAPU7R_HqEmH92zM&{x% z4Jejjk3B&}8CcDkX~Z`=P_wuK9j`SmS}-z{jEvz~FCKnA!v88C(Sp8|KG^qEF%e6N$^KNdyu~<9@W6R+ta6%EuY{1$aURj( zsCR{{xaabGdM32Ao!eHQh_m`HM3o8BJHl5S)(>hAs4(BB>}wefOh= z)^UEf!1EDG$WRIA<0%r!Y*jZ)XdlhxjYToMO&0Dnk;5i*<|k;OwrG*2+>3)q`XIA1 z)3(`yoYPExpJ(}aM^;nokyW6TVY@lyPp#FLdGf%5pA+h?EMlXVonfq7^f74nF<}C>MRP0?f^6hSO5@;7ne6@)Bat zEkvFgMgEw!)7%t|BIV-UZA`U#Xf=WhSE1JHvF^H;e&m&G65~ zUDw3R!JhK*Ka6kbirr0!PA;OUl^f2<`}&4(EzVy~_LP@>72sPH;E^)I>G`xC-z|bC z>_cYmCYmV^>O5dh;yu@sU#J;8jtXFum&(**)YaU_ZV!RQ)yM!9;1|oFqpI*rI%2Ie zrpQ`ri?$->DTuvl!1%bX2Gx>Uhj)o)JHXO*|KaIy6f(k6Xb7m3`}}H-16Q z?O8^HqVb#_-apn>BU;gwiz7j8Bw5p4wA3-OX%o@Anu}i#Z<7ujv%nm!`KPgL`DayY zOU-J8HHKEnOuHn2n-sk~VRp6>(z>expbE^@OmJPhR4W!G(wZ6zACCnPzN&-NUF$rg z1 z%V}zYS9!9L2hc#iRUZB(c;3R^J|-g7SXp8Flnm%@azPr|?Twv10AsG;KQ}Sj{2|s> z>z^pwt~CMUu$#&vM$)p`gY4A1vXF7Kc0A9dh_ds%1Y0Jh1uKE5>`pmwYJn9fhWe1& z)rxCc#kC;q*`CKz>>+~J#o0qjjz!tL6!21+rTpwsUN$2bEAH&b5e~%K{E3aZMU`M) zs)aP3w}+$GXx!)6rnVr~h>XZ7kiI}=;XHn265d4D{H+2@mD|d~{_67ky4rD5MxP?V zuNosYMX|VVkPEI!9m|`rwF>`%BzSXJs`Z^(5jP#roSqSO`t*NotN0nRt&YLki`eT> z6lTI%d({5)zIuTyfK-Ri@#(6le{#-E$ofYt!JJSd?`@UkmezS`)bN@Nw<{D-IWhGL|!aQ;yr>RE`h zj+vo|#raBYeom7fYAOt0@PUgZBKM-1b7#7T=!{eY?Wsv@h_Q z2K95Exk0zFyz|K_>@;4=E2BL+?-xrSh=K z4QJrnDPW*Hurf#~X(e4bxFGyYNAF1l&2}8AW+)1yPGI^rH5XbBsyA~3)6)+(VsU>Z z!!;i4Td}w0WJo4a1N@x&-z~IE3*J|Z(*|~G-N@ebyKLz9$KGFzt7u)7QYfJ^_|8t` z`7~d=5m|-e|KX`N7x%;=#~`7qcbpn^IES#-f8iqT>Y1?8w;Xc%j#IcoRvJioTJ1-V zssIy*)6-)4>76wg2P+K6R#NAE)D&lQ_8xd@=HxZ3?OC!5hpD4ZV$aeVD^PoluvahW z1^cOd-;e&EOje;UZBmRj)!HapvqC1O>(j%G>tJY)B zvAixvKQ4-uE`fGxinYy0?jSq&Rw$vov{o)ML@{=>Kn&g-8V(hQphMDe(&4D*j)e|$ zdBo7?iaX_Joeg%J6@y)$a51SgvXIq$6>Xt&E>9-%2gZa`F#}}_HD9WQc|yJIJ-DeH z(N$Qw8$3_5RTeXfwi}48{g;UIOVqut&^w8{BDc!0BNOQogEsvS&6yR@W-*P?}Y z^Sw8N7Fn}&%Fx=?X~mIPx+=UbNna=w%)wUyxoEzbl<%p+LtZr-ic_<_w6?0^TY0k5 zurv$rc^s2+6{%pnu4^eobMRc(5l+Ahjt0A}o&n89=B}r8Xx36UD4Q}CJHL#GrW5Ks zDgE(ddT1P@xf3{_N}$&icB(2tF;M|}R2_P9KgK2+kr_%)RwxBNs0{Zga1GdRm_u{V zfytwA5gXOc?oaQDdqO1iu5i^>A*{te_g%g3zNyv>vC;8eTd1eV0;@l0{R<%+OM4de zzGCe96jtdJ*xe&Tl!O_Tk3jP_k5_s0?Qtr^<}q(YSJ>9oaYqO1WgF0gwT|C6*rnF^ ztYSg?ofQOA(x>CmmILU^L(LCZszmNJu#~z&WIJqpckrKpJsiX1DtgCko(%==oBkZ6IHn0K&q%2>-Kl?*^xO<5%<1-qmP#jn_z5<-$HhfoC|!q1hD! z;Af2a6EC5Pcn>f6DaY3auRVn`_?};l1bJQmavQqf7*(U;^z`~Ds#iJV#+a3?@tV2eubDmLKxLb&c&L*oT zXbWK}Y(srP|8;k33%RuzrI}=(($f2SdIyL&cY|j%^CEAM35ur9*itQY4qK~LK(t2Q zc50ZPa@HmJR-C6Xj*{rvzVzskAkiH>U*|oI?rRnPVkn%mcp76?F`jmw{yzh2+no0L zmNBdWAhv`)F^*_nS8Uc5Hhu)vJ&eDtg7-tQgU84t{)}p^3iFD9iB_-|KeO@+8R#FG z*yp=&>q{z6M$y*!;H7MEX7J1mqR}8KEM>iO;tPh;>n2dIQU^6u8*jP_Eu{79o6{pF zbN`0kChMA-v)YYT>PUZ3+qA+1l%PM=;H;~%hiFC*Eqeb56;?;FU#i~Ni@(Z23x0r2 ze&_$N5x0bsv#X&;hptd|YDtd{F@55;cX=VPPpE~k)t0V*$Xbb&`c&FPcjf$az0>6M zr!`(IR{xYY49}T~F)^)R@DzJ{7Zk6-*|Qw+NsjwdyiPaHEeVRG5{TuawOhhU)l0R6 z<;iI62wHgwV-HkWnr!wb#!x?}wfn)lcgV_ z`iDqDwVGR~c6g79%*fraQyY*dK6DcK)O3;rrd8X ze$T+>#bgq8fa4xUofhDWjxv9sHLFuU$8zg>4&PBN5du_LIE$%g4lnmi$T%EBSUTjS zh8(6&>Au`f{C1wz%{`J|RrQd|IB0FuaE@Dx$!pbuoUoQG)GuW!RD;n*OUgR? z;UWsBy+4+TxD-EXR^%ty86yJ%YZM8c3 ztFSdGE&U#CGSyVFyUb?%Um5n9fgJt}GYJHe)3ZykeO>x_Z|+(bY%0|RD`*8h&c}vL zr5*o-k$d3hJlf}1Fg-}_=>*MC00!)3Hp5)FQ;}a+ZD$(1Xad~nhBxd@R--4g6;qiJ z*o%02nCi7O!jc+)7ss(G#w`r$oA3aO(QtoKwRVM>F^56Xq6spi*<~GcRAc#`*0onn zOEo-+>LA|YjQU`U%dn4wUL)pv^kUvsebjO|m91mxt6HmJKF89GSy5;I2Tx~Zg_w|& z1=UUX$)-xhI3)G1o{6)1&mrx4f>@~ixE|pwwOHx+D!k=Mr95>Vrji^>Bh!rW0Uym> z0;QIV=Q)X{wo`w52JiVVeqtrcwu!le4$_sIqG+cs_@ghecj@VwhS|46Im`L<{~I8? zjriaQk>bsU zQtLurYmQw#7Mx#N5<5A8qpZmoL$p}~o~N(~v+$G}u}x&l^4Jb}-LHZQxh_3&Bz-3x z)r?7rUN?c@_w=ZmU_KFRl9L&eM~Ue!|A(hzqR` z9m0;4PE)zuf>s;XXNpoZdslrnoO7;=Dja3{l7&o3Ok5R2^Ps$wk{>z-C#Qqv1(fYr z&but!lj78R)rIkYv#_h9X~BH-Tt)wyo&OkAZ_@K~m}|6S4lJP7k1NDEYo*El;604~ zJRg+yV%yTvl83Q%2e5gYvC}^5J^n%7{3QHbk7fH4j5qW6hZm0*?}YW}MkRX>SeP3; zHCO096;B(mi7r#2k-s?ZsX)~FZt#PzB7+yp|?>7%3Q zsYAR0Aparfw+M8<;yxL)+kOgnjxM%iWpL#TB$wqHRxgSx;I)_~_=W ztWb1J4S7C&qIZOiHr6YbpLg%N?ZjfoPDL?J&#GQQxi*)3*B+EV)fiS%j!r8UtB(H< z)0lWT85yi%=-W8>nVbkT6 z8}w3Ryxk>G8%iH<4g2F^jMnPXnzyICPUcG+?_UDJ5?G~g@wah!>Zx`YBfmjvBAa28vpvq97Q)#t{{v?`Rzl zRYa&ZLL;Z8If4{H`>YxC^xTcsaKAku?(M-g<9T$^tN8)zgPcJJN!cqW-T-gD$@C)Pd~8bLJ#%tT z54O?RUyo?{F)H^UJ+LqyrY|j~+DlbMzlUDfL``2gVu}Umy<*I>tp%bU>hVwFktS?c zlt0b%d>iD?dZ*2Dzeu2^ZD>~8bbeEFhI*w{#6^RtRiA>TZ)xJO?N6AOvX@yYkC->1 z>g;vwZ4+p2p$(H@{YQ`o&xaq?$W>}sUywGg1D{R=V?X8nRRNKe-kOH9%Z+C1$FV5O zpjwG+e5)azU?@>VTgE&4qflFrEoy2``BK$$M04h?@oLE#AJBM81xA13;f%1%z~3{nLysBN z-iJ+1OAl@jqsyZdve8Q2>CKPHWcKHr7NYi&!l)9QZCWCfVQ@#IRb}YWeXz5qSe4>! zyUM@lud^xX7q!ua@4<&orYuN)fNf}KCgVqsdzo1A;yOC>H2m1jDCG&5xt0j#09=^^ zQ;RclHKJp_1>p8d!}8*Y^QX#%YS&jL{c1dHdfx!u{7j4oy`^Z#7S-Cyr+BavVTI{ zSy$OxS0m<>tyHb7wdL$IPS}P1SB*L*tt^`#MU)F9({faqu(|i~owu>LTd0^)tWp9t zbVi3{rH8){W76}!R!*Eu56{A1gqceQtpV+o4=k&};;wMBG`Z`|wt~ORFXs=i>*(K) zu${*lXIwxg>I^!f27bGjxd3vJ=6&L~&89qKiN)=DcyJ33bq!CtjCS6E>TQB;dlMgJ zjq-lkISbVlH3QSicuiSa<&omRQ*}fdSJTLvt^p-ouBwH!pxuyuJe~d$&Ft~oISU~lj8eQS@c`DIf*X^ueY?;_H|a$k@w*M|8uN^iE3Ho^TdG=wY~WW6 z9MjP*s^^r3Ps^i5Vl98+Y@7D~FfD|t`3x)25xzA>-=0LJ9>OCo1?4}m_DNCm<52_~ zup)nu}-aAt08Tza!r3sMGVD-8g(`ZS-m(P)xwbw&C-y@tbjG zs$a=}jTsbI>?T{>zsih}1DyXtwEc1Oy?th%<45;04t$&FwgeTtx4d6W8>-B>wTh zT-A^4H5)TMeRBmgrxCYqz{>CQwwP&D?7U@uCPvgMpsEOqB!|$M*EwlJ)h-2iH!8@^ zD4vzzT$PK|cx)PYosKO(rKgld*~XHIn1UDHM-04xjN?oY)JhGXv);xwe)m3BcRcg< zM`2+vVX?GcYaaT2PFk%!DrlMg!~Vc5m=pFWnr;ah|IjVOLh;P8&pmUjbPSYjb^LVr z$!F>el%o}X!b>A!iV}5qqbaJ;k*hsUj{NM4aj3w!K>BK^tRX@>i$ ze9P>-eEw;Bne&}x|FOn@PCq_u*V&Wyn4N@*SY>}hO=KrSm5RPT8hp<&;yeQFvmPc6 zv-jYTMO~jFS8*PjyM)|pZf5*tu{q5<*jml=R2{um1FQ;$F|bukR9$g8+ClSSG^aX@ zKh4Ee{J1kOnCiD%r)E&ZU^w#8?m-upG>38qi_zwr>>hg>jyAD_%;zCEgGh;0?$04Ayo8_Zr|$aHJxbe(g^E5D zk!Z%4Voj~@CbgqgO!T?FrPYb`O150<+e*o+>NX$!G&NQGCGnN($?a7K%UJS55qPK} zWYW*V&!gmtnwz8OM2&nmq8GeEHlP^iyBXg%6Kj>*d_*?kU!sQ|#56;&PLtRopUvTq zq`IuVJ;VK~ePqwthc=~u)c$Sv+MW2+1Mb)ts zrZ+3+D15UJLoW7;vVuo?#?I=3=tYkBA(^hZ^wot}_xi-UAG6NXetuOenB@e|DjZ)$ zs!YnV9&BkM%|Z5O`x7%rk8?jrk6jJgvGnZFEyO(G=W;s^JALlr4d*?Dp+i@iRxzbp z#n%0oB~{(KMp3kt`0DDcT#g}}{wx2YJZCN}Xc|+CYNqFK?VhO&LzD3r#$zh`7xPv& zVEZOwd5*vX;jj4$MZt@;L5US7v9ifkV(!%BTW6w5ro*43SgW5n|3T=31iRb311o3S z>Gl`;@86*IGkl!L9KAuoDyq7+HSx+`yNJ2(!>PULWJlS3XygRbfSCkki42RNviDT( za#L~<`KTw#!``c+eU1}PRwTPV0qc4O?b{9u^fs1W*8mxe7N|(|UVWmaHvGjBZ_dHi z4zXi6vs?BtG4wh6qn&4Fqw8PZ#6EdN;i%Sk8r8+4de5;<+c;Y)_By+&NJTR%EJ(Vm z9J#1P*4VAcs7#;iaB@D^wIMU31xs^Y^~v5A0Kxruhmx#Rm|VRKJfEXnmx0+XGZGKE zD%ivG@U5nBdI4j?znHaV8vVK~ZTTA-;vb^#A87GC=+U8k^Q8Hf7Wf)F-Vr_D8y;%z zY!5u&Fxp^vu*$IsBm9+ZM-<`|JI~JG@fWbKg-WWzueY@Q$V!dG4@|_1rY85jlw9D^ zV5Inw8AuQK2M?Es*N)*BRHv9LsCZl-SMN^ue|A=LiZzd-B#-gnuJM)x<^@_bV@yZI+&sqHHdJyKim#DOM)J=<{IjDjk%YFYrBxVYI*%$KHXGTSQd(Bc7@}=<8dxu|dsHy?>K6 z`jmI(lFzw`{aS?*`~z&;;(KGTkb8)AhT~;RfSFcWYfCGX<*d7qM|p>+tvNltB(2jE zA3N5Lqh;3NKgZbb$u2A<<5U6N(Ta%lUuMvJj7>a2{%sRp^iQ;DJj!V=wy%VF4J;=om6U?TMB&hpZpgb(1|}5Ak@#X7YW14Vi^RqwG}Z=8)7Y zVX3>gD%+|*ed;`*Fw<){GVPSBuo8yCU7k|!hDJQ4gOo!MrkYQt`aacUk zk5PxvG;YbNh$D_nwu#^HK!>H zcUdf5t2+`TrT>b9dV8|T1vqy_E)}rcv$5YPSl4VUdSC)Qw=ayG4t}f%YF@Mdf~Ho4 znD4E@9=ruZhhbxT(*qZvW)EOv&+>R1ZE%(UarQ91{v|(!mXHeJC2T_4NbfsdI(;OY z;=HF@txcZ_GhwNGo>Y%4udZ{Y5$ACFgmkZ1tC}#abfi42Mpqi3E~D)Z@<3W4;VS*| zF?AIGG9tPkjOSx*H;@^~f~D2Gzi2X`_r2j{1M-?laJCm&zp_LY7s=nOMSV6VOR$Rg z{B`=nGR9~kY<#dD=>_O&HcS|CTRE836HbmrA$~+XawB+K6hvQv!Q)U$o#mf}|`f;AUZD?RC&h0Q>%1(u?c843RwFQv{+ zb98miVx@BSj;R_IF9e#s@RSpq``H_9rbC+RsHEd)-<@U*TKpTl z{wEyQYbbz2DBAsYH`eyPy>3(ZKiTnSA?=|nD}-)hqqr#aLVi>{Rm>;^9V;Dz8Y6Su zRFtW;tsOhHI+V^$d0LGW$!BU-y{a^oKN@bI(t`O= zLu)ugT>-K$eRM26z7a8HVfI)6^&XGE_HqWY29!R*LQ^1D=4n+J>tzhM0JcP#ut#sa=X zxs3+RH*8;&z#LcQTD7YMHg}e3%i6$~hz!nCxAq85Y8~4X z=owwT>NvTf6XdSc-vfJlobmi#VEHdLATvz;mMr5e^m-n=VtE^2gmyKGh%2$t&&JXNKgLhA zrWfwCJM4CQlQ`uH?0kqdZf*L|v)nvKAu2m7{p0X+kMfGnhYCZzCya%htgVm~${{-{ zRV2JrJ0(2TH#GM^c029==>>VuD7;`4cy>k+9XDNI#&crHon$^#nYoEP<$OlLmSKfX zFgmy$EE5@*YDacZYZ9A zS?WZt5)J);oqXaIx7+-hfsX!PsI|%{J7xPczq&ZKq!MQ->!i_at;V6s>+C#N^`R7z zbW=3Fxf*e`*4I|$nf6_k7^OQJ>2=e?rtv%2yeRwS_|W9`PjuRHazXDCFMo}XzmC0K zj~Y5|llZCq4OpCdE`wIJ~nHI$U-MXO59MTzt$A2yRV z(6!aFuotaOF^CM!Y*tt}$o_VayDrBHU3bZ4A0f+f!fQd#SWe73jj^by=&7w>udB~r zBHMJ44%PrKnFf1a64XkggFZm#Hpa@9A{OXKbXNxM*5UON^1|oPTBXTAWi*exmKb zD?gPSWmJOyK3Rr;IHT-jgwN3*KOi^t7K-k3@*x9kX|t8+>?&+siuYVj)cG-X<2{u4 zzF=nPoPA3EE6(3d7Um)TSbF8<%_$(^`tl}E>O88L8j4iJO~+4JU}c09kH~ZCo`yep zRVgB^OQwDy4WtoI%|?H0-Aojfk_k!5f*7(W}plYC_T}=F?S=>3`Vq;KKzAqXrdw|uWkD(G0uqv5AG=`SZn#~Dd z+5-+}r%iH@MS2ChdlJuakBGDdNBsvC@Y7JOZ`)>Q_}{#|roP=mWW1ONSyz7GL6Y$>RNim zXpMfvWj)#N4_+DYEI_O^f_`0&v9bub`YXMBJJDfZ=H`v$iW}eIW9MPB*YdZL-2Db@ zHwM=}!@uT1_Y}b@R3YQgnO19s;w=hGhv1u3mDY#+%RAWMd5mUhjnAv57Vpk7H;L>Q z5``{=NeL#({^(B%Jn>uGLs(ADGfx-H@Fn3ZN1d&jwgv<@mC|$jBg~$|x!K zkd$vk;dyoagB~1xa_YR&n)X30_BVF)3)_*5#V=ki(+mVBlHD6ck9(K#ltpB@7LrZ4 zZo~Z|ek8}xg-k>SEScukxSQCgoA4Bhj+MgAaZ&7*g%z@jZ9(qx)!%RICM-pOCjbEpPssG|juQ0~fn>z9pd@m6TR+yY; zXDoDm6vjPIb~rblEDgFR7g@RE_@FK5hRa?XaMU%y2BDaKRrv*GGGT1oZxnn{`h zG^?O?62Vb3CmUg9i=mL(a<9f1|7&DodhZ<-W%(K*!HYW4UWW;iXSD-X>+pBFuIWftC>@5?m0tXbF}3N;X!;k0vjyfq!yXI}Am18Dy!}F$3s7 zLLqc>idJ4yn1-zCOY196s*=m)-KBh`Y-N{SZ0XdHA{0fL;<}r4R90B(rDnbI+)2w`3RA!6}V&d_v7lf9~&r{#WFGM&NA<;%y%C>tSRP zv@-QW^0t@Jp6fukJR^luseyi>vSV`ii?$c}icu)I*M+A$B^B zIom4RD;ul38^6~3(rV(Ts|eDyjx-V`RisEIEZ9wCxut{UWp&kMAs@wGI(|DN7W63m ztVw-l9$GVwdW7w$&@}cW3gj9Hd_wg=3oOxBXvPn)J3nJ#CxC1b)b22PLpc0xO@8Ge z%2w6StN34nZ+%YXW_PMlhVa*cl?y(>_AbW{u16K=8rE9BFbRFyqI9$3F>9cDOJT`6 z62W|lP5Y3%Ut5@Ii9?r?D}O{jd;>K-+sOFM1xR({RqZwv#uqGc!#&a*oR&R1H)p(wqT#l~no&=R!5)Rjb_os=UD-b*9r{}G- z75%b|e`!?obFvA4GHU$={p)?aXk+@}3tB3gV~ijNGYSi}j6KKD@~++0_~N9CKlNO= z>K*aQsUi73p(+m=Lfh#j_pbA^VzBEYZk$_LK5eZn#dTF-XfCtn;Wed-pcZN~1N_K@ zK6ye;=NzqkiJHD$RNwVAr)i5;FtZ)iAn#Kt_ciLEFVTzU?Y)N@dIQVa2(NRUNM$c) zzLSx%Uc_*3g6P*~DAj-O5%Ua$uZzL+AFS?G7@C5-Pb4j(xuq%TOD*a7_2A=RvT6N@ z)!zo;Y36UN>oio>7AksnliQDBymJZa`UfI>gFpDmt_xfVn;Cf3{*1M3!V&3eU0ORO zD>^SLwzn!HNZCO#KX_?2epb#t0v{V0#5*pig!A$ZMRGCT0HT!^WJhxG$ki=u7C**5 zMicDwrkd{<6Y7ht$cmEth#q)}bMR5%|KMF}a->?{PPOSmDs&Tq4oUGyZ7&O~XvK|Y zyC_qrIfTQ4sH+d?C}pKx?U!;uLQt6o@md}>l&_bDlC6mh=E%CDD;jcyS&7+m|m?)0JV2r2zHgZ`f3RMw^Bnz2BQ?eq%gO z*Z8=O?r(~%y+hAmz`2!$c!Oxovh?sWSb+?*@BjbiSn2$zQ@M^`Lecp`G0m}A92EA- z`Z=zO#j3zi6eC=vah<|dE=e9$T3*#}l^CNgXsY793Zq9fZ{-TwbSw5Y!k(h7$Kp-q zajdzpVvXQ(D|}B5_^KIL-3h1|U7z}E zG85~`buWRR*RfL(R3Y3aF1=_n+IV`B^6+)hKU7PjFuH)|yF>&nR3$`o`W55g!>Ekk zjQ9RII3lu|Dv&2$Tk!liteZd7d;teFE45*;BJF!dVz)9j@GYLSC#|eJw$^@BjhNOH z(`r-F`mS0`wSSr;QIexiWK`jtR~?O4j)*f2nTl9*hZu~j-A#(Ou%+nSjyX&&MvczJj@(5zFDLAofGo#*CugWCG)X8OUTN&@2BY@a#q?AI%``EL7geG^jG$M3M18|O{J?NLMm2h4JoYymXlgZ()Il7z z9$-1z3`K?FQr-Kju#PJMlbf|RJGqj>-Z-<9415{%+HLyae$F^IIl*h#iIG_8{pg0) z*lVrxB&`~{iF>l1FMX!7noa|Su+x88Wrw?qES=VMxhAb8Azp@higFfNP(y=2 z=*wVr{B6c1cj4={qmt?}KHMC?+6H#cCD!Om)bbm9{0D1wj|lW3I`=H&EEc;JPp?m) z{dI-&5?Hdn_|^A`Z9c-Mwg6v^o1QZTjjjm06Eqj0$(C~jJ-sjOJ7Jgn*5+N5$O9CU zk6o_8em>yd27j`Wp<^555!^s?eOWwHy)>djzc}rc}DmPZA0=-qMUxky2nijOK zHPO<=Olih8U+}wHVd_I>WlZKsBJ2-f+1R9^o@yiYhOJ=dKI#%zGP|C4?Vy&~Y+Dc57t<{WGX?>pr#Rj6w#;VIPQ*`2qQHC0YepQ|rO%?e)whVq{3C5lQlzLK7dNiDCiX-MugGm0%K zQJ$^^c?U#)z&jiUhZXqPFwR@KU#*#tn(wqDdee-pb!1cWpfcxC(cY33V9sJ~_i^7D zw74x%6!pp04Z-4m3QNba)dJXgll>m!Q7Z#J55_Lp(YLxvLKFr&dwD?Dm8tE#QUt4KWPWc*|?+Za{Uoc{5Y9#R<_lb+)# zhNU>hc@*RMJ$_%~6S^+(PbmJCWS+E|w)~j*6S_HW3I$>2+CJnZotAZ+bGFtgC3!=6 zNPXfW8&^*v-pcCgu1}rXm0i}Ti>z*1(0mIYSc{fOi59vKZ??dir@M-IX+3z6z{Ny)o9E#rZOJtJ5Vi#Zn#X2{3v<(ZC*CA^bKj1c6g-E;N}k~ z)n%agjQy{t|L?;GU1KyS1=)nM`0H4()XGdX$N_F8N0Y=X@p725c)&A611EwiXbH7L zr-|}(g@-O=;O=>!*&n>YrU2vNsw3OR$kk@L>6`9u7vDvk=$PpiUKttOt7oMb5!*hBi_6O+>)YCk21{VJobYsk9vA-j^3 zcvKmQksODzD-*~fOrV`2;ka@E%BF^H@|@9HCTZBX&h|1!?$CpG^x+lof$LJYJT@Yb0On}HR;!F;O*RpH#wH|4NQfbL)NyTB3a% z*Lb2R7sH0r-y?%)IYfoyOHCw%oIQ2cRG+xl$`~kTAdExU3vKyP*C)huVJiQss723} zR}{v|)wzn$&hJZ8?zbx)Q5sHGfqOrNi^Ifv@S{ z=tt;)XUx(m21_;bD$zWpvPY`}|3x+~3VYiYMbyp=z}61O?oI>IqwsST{&o!`-1qUG z4T(23+cXn>Duq2u=I9D+>yuYCbaz5x$DhY{BqWDhgd_s0t2)fLH@D^i*nlN>FTfG*3q5p0R7n6w7`mQvR8*Ou%H)MIWo?3Mf zeZ_Pjk8s}PfuT9cp{~U?KEZcv#ZsoA-YYE}&Kc|lacHRsMn5+aZ|RDueQDn?Q=Du< zIS`FSYp90kG#uRy0@sL58Hkf({4sTQ z4;a0=MwM1Q|E?Y6)uyI4U@DR=JWQ3!W%}P9^zjxjJq9wzj3Hlenm9*Seb5?^ib<`^tl#F0Mxnq}7nR($GP;&@@gP2`#d}!~=6EQK zbaywQp_{M@u}&z7jrvSm3O7B<#%fDt4dk1}PhqKEAv^0vWE7q18(Gk(tm|*O<1e3+ zg;6b~ZW{*GNX_bF z-q}a%|HVBScDOk+W#2*9PUdkW9`ttSK55l-aSiyRgCe@mQgBW;sAatubB;MoxrmIwOBK#pL}Yw`3F!#m*HwL|A}3} zI7u#gSOzMwV~9Y)%nkN>4J_A@hu@A3_`=K2NP0!ngR_x7(3KlvXp=vgIh>lPvkEcG zF6@7G#?|`}b@zjr>#1K15DjD?|I(2x$A`=?|C*Mpi1*d#r$@Gt z7XAjBi{VuTvymgzicGK2npzW0*YL}W#p%!SClWOr@FIvNu-S~nq++he4G=v6qDP1= zb_P{ZXZF(%EXQKUSD0V%(dY1@_fWQ4Sx&PNlQSBSA2n8yRu6}-4a^#RPWBE$n{kdG6Q(c+r}EE`K)jh2!aE z#i=AI1R}EFH>e^z3nmBYAJeF^80~d7MeVERD>9mCIa96KnLs}ZM-|`o%HSb}m~gaI zGSd+ClLnts5cQWpRZJ_Q+!>61%EzWPdGSZGUK$N~$xrc3n8=2TXQ7*3JI3l$$4coY z@lf8;WeU_Y#7&{CyDY8Z75Cb0?d-KG7_^pDK{ys+>eAOdtlmA?5y>pC4S3I^oJSu} zxD1}T(Se`fbH1kyMuVzWsp&-|oq%Sa1&dT+t`#QwV%@f4Z*PI;7V>c#3ys4Ub;6Gh zB}X&~O|*zgh3({Uui{77z}Caqf}Hg9Q|#jxDh{&RH|-W$@&_3D8@*>C&*t%e8gapB z6lqhk$PF1KPirsPcK&PNna$7R=Ro~jBT89EJ;+h2^3sF!9XpO1{(R;XzB4^hOKq5X z7@UOZ1#Iav`1y6vo5q@aR0w_tngvlaS>fk6M*a$+^HQVeUNM`v$CsAZ<@Ov8g|n~}&a$!^b*p09+TKQcb|9=)p%xdW~l zhMjHcH}qprL%IEMEba~3cMX~-%+E;$XB5%rN-_yq$wXEMkzCl1Vpz^pypF>5-iG0u z(Qb>pAZ5@|T66!dYeb$pWOIvhoqg!-ckc#_=S@6Wg`{|Sa_RC^k){=k!7WsZL; zTgqtU(eUm5)V}@(hTrmQ^BC#W-$I!B6E=4OzPlHF#oBmSQQ2?hzv}1XUeu4q>OP=S zeG}12oL|tlepCOE9frLvNlj^W_~|n?Fa*W+klts|dCy?nd02RvK6;z%;R`AdREtsy z+-5Kny9-h8BR*3#{xIyr9?rQGG0_*c6BT|H{EYq~?ETmN7ydu~S$mM|r>+mARp!#r zBSJTafwQi9?i8v+#MxPSNBL6m({WNYFk!*h+D_jR+CooT>a}!`tg`qVvct;zsYam( zwzRW}ho2rSy@jX0N34Gd|M?zSnQzfE+fbWXuuPh{JR6owB$rShp7zByMRWcOy^Qqt z{H8tF8*EfM+R8_x9>EeHLC4I42U*BD{K!blbnc6>y3@gOQ!sZCMqcVBHtifdNkA$4 zXrX1GHwpf%;Qx4jaVk0EaafYfv}rWQc9dK}HD-Qy^Si^+Jm44Qp8(4hM4}t44?h#h zPkd_Up$*DoVT!QV+g>@w2r?2~#F!`e_%Mz&!d#_yoPho5%n&aR*f-&vic_&rgWfit zt>@vf+hBzU(W8iAv92dz=6zIk4?msX!XN9;@>ep)bv)lng6&YwRn{PVPyo``tz?9k<1c@~3N8q0*?Ay2 znGuyQv4N3ThBMv>qN{~erk8@7ZTzqN*YThU#4Be&QgzJ-(6+x*Z`6RA_3`x748$vC z@PoOC6bZL96It=`k@ZHSVi{QoTDR_DMo!fIC8DdNQC#QQ#T zf;ONdp0h(Q@=q7OxjQB{^6=L-iHFexwK4 z2>RzUa_F9UfWmpk(H%p*{l#xwbhWKQyMmQ77_zrUZ^FXngg zfAj}q8z%Zw{CR#8f2+|v5UtOZ0zA^wzM-4=rMq}1A1AK4n`4!5bhcJFx=7P)ukWY| z!C~xp>h>Z8m6Ml+7Vp(Rw54ot1V`EozqF50Vzdr#MX|-{_chSW$^<~ zP?=M07232dnFAk=-XwOoPtY(l>XoA`kGN z7x>hJ!DsmG{n+%8e45Ca4aNSq10P*|IWyKM1LNeaOfP@7U)HbfkMjTa=fKS^tiW^3 zFYnhgZtjTMRFzvH%!Hh>KVn#je`1xhzIw-5R$=GRcIdlaAk>7I!`$&uzo2(rO}tc+ zdV%_alx`INGm(vK<4s2qDc2XqUx4`dp~*&u;VSu?M<~!~ zl`ORHao!p0#bR$8QjyS+s-ga%nusr|0W)^c{s%$y09m)g=-s7oY!#mIJUO`AwCQ9-=D-cJlR)N6r7^{JgmYVI<+_Ah;I4;VfHwe-gCOPP_8Eql@>pvjb6&sWZ-gYv*{onl#So!b$Gd!E(@A9AeDFe6cc28G;(HK;K z?Uj=V-GrDjuu`iIGx<^X=kN?!Q{g2x3QM|J5GnNwmvh&5WN9@E!l_=>=em6=8!u+- zQ(4`XWbRKQ*b&kOX~iu6@oPf%+aH{qxofM-n*IEQa* zMs$)BFW8XwdJTSd1JOocsxi?6sG@CfZ5wU#7asB?JzzN&;fEk@3(-nKZ81zA2ip6v zucP4mA6VQKZ2ukEgIBm$qdKRUB0&7ZK=hLKw1dZ0*o$)B*Jh+W8H`o-QwN*WUyB;b z>^HItIj@~~?#!SWi>H2pRy#ws=o!(+75-F5au=U`3_E*Ux|z)45psIHyjRTvdzBiJ zY^D;&QxxCY%d2aC_HX!a_;s+ifBFafpWx^-|Aar-G8+Qrt!r6`pW@KV+y81%*;toz zm4_5o!pPZKr*ECd6k_TFibph>rCgu*=WMfkCM>lFRa=X}!dtVI-wXeL%Rfiw-fBSjbh1*wNzHE6q=|Bn7)ge z>W%e%7loAFT!)(nv8p?WVD_STHU!bwLuPz4ueDnIQrAHVe(Pn|`sJR)0oBbeE32i@klt8PqjJU}a|W4cjka^m@3T(yk%?+=JJy zfhtM|AG6|3wKDa2EJL`tM6BY$&a1q07c`&ZO&7rab&T-->b0^L$ZPIEF?PcbMrv;Em>Ig0?kqpZbDLHD*C?DM;hJM>O@-4MpvY%2G6#VsjSYJauRr20bUlT z1|%)lEIWnbZ-ou&g>M;2Zsv1Z_9K`XgY}yaiaD^Un&my0=RS%tEv;4?B)j1uE2Di{ z6PHH8h|6HM1wPy(e|na7T1lI!4rnKQJq$*_@m%xum2ck)R&zlzA8hYPA4y9@IuV37 zg8y06*K+#8NiYZx`o-<|)q~jVb70zw5sziq;KEeqdG;50b`hIgohT{^ci-IL2rS=v z0)A(})u8pRV|_igJMX2yv(&<#XjSn}%uwtF_m$(U!szG-Y)m`<7XEse|DFH9PZl`D zt11B#;2L3AFI`7ME6*tkd>OCkx!PU1Is*z~u+VUJRhCupqwK0vsdTj;ex2v$z$tM8UII6u?K+dxT?WYk+4g*>SD2thI=mnVzWG3AFPU zwCXti&wwkf(FwnMT1`f44V8wuJ7}Xvv`q$l=PT3{^fB$h;|&zjJKP(iGA%mfX^;&* zEqa}{y$W~#f{APB4cE}mpMq~JoSBL0Y{556;`{bvb*G|NE`i@2__>yCmcrbw*xroT zEyCJz-27tKYq+yJjW`^rld_KP6@uJ9XCC^uE?-Nz<9<5(`z(;jkE zNzqDou&=e)Qzv@u6|B{HY|>Mdbz{8e=S1q6@tZ6C+o+-$z70I`pZgyLx&=P8st?tw z&AN_cGzf%)kGna)DRf*WN48Sg0ykD7q-9x!xmYVS9P+L{K_1mHQn)HJEJW2WWP{yZ zxeMjxRbL@Xpq$3Xv?29|%o~YeRJk}~9+AueJI{~hpjC#Nm7LQLSi^DPIh;szFpPMI z<6r10hwvwQ=uP@{5`16^@_l)UT@qkK9z19z5J{w(wI<%RjEP5?zK&iR587$WAw1+9 zGEUp@vA<&Hex~AJE!o||Sm<^LhH!3x4yC zSH-9%d=U6Fv=hlE)ra#5_?Gc7HpV+>Z{ag<`s@Aieqx|i;Gy3y@NuBJjex%~M0BAX zjritnic+MBgr`QHT_u4~Q{F-Ae>pUTtB@A*nlb3s6w-WhhrVVAy4ArP``vmNP9urC zLR)BRW&eysT2HZs!_3#gnIz>wF(-&7VManM*e*xwrzbx&2Aea1yzNK$tDiui3E0Nc z8tsW*SQP`USOJ)N4scz>lz+x7ky|Ih|VGda0e7L6Mh@0q{eQ(hPCbB z6|i^tzrlQEpV;Q+EL9R$*-oC|7F_hqW$f%7Z1oc?zkH^FyJ6&M!`K3S3-Zl4t|DkG zW2ck-`oiQvkIms(5wEL#>>u|p_(%Mse%U~cK%v0EK#l;{(xe4-y%$}(RQ!CI?~}@r zj*+#L4;9~pi}<8Z^uA-2yr^CaapA2#pz#_vuUD8k+bwIYyLy8dD-WtMI`tLJqe}?R z8{5SZXEgn7cPd`rz% zJcn52OEA7h&N~z18s!=Pst1zw;94DWZLMkN_D1^X1UBw4y`uqpJnFq=S`ja1wE2i& zN>de(76yNgP25bcQAE0htuF+>vl}1w2e$P9_kUsQLH^R<7tisFspxfGuodmiG_q9t zSP^0^qae%pom<%T?BpY3!16rS^bwZ!5oq4Ug7C2Hx=P1aIa2r2jI zB2>L6Wh0bB<0ryWmRAvp=36_Zthx58$kg{-HLkwtxU3pK;jQX;p{+R&Tvr$C_a3%# zxp|+8#>SwTf!eVAU}_o1DneYk*8G8=8jt6khAq;yHs-;r62#i4$hrQ79~*_eEC>Q! zsgt^mC))%UZqfJiVc#Nxz5gakc6l(?oXw{URP_?wyi;^1F_5q$dmTN3qclDPPM0A(DH_U!UiEen? z84YR;C*x594MFufBWP7{Fq0S?$!zk#(67A#XrUiz>+jJ<1&Q<5p&%H^rv(-ht!cfr z)?|Z=F@BK*Pq&fJ7hx&41*42}9CReAs4lgDzc9wKhsTC^wG_PDn|Tn$%_e+Uyy;5> z^%EL*4oXRi=`=m$j<<(+M%VP%fd<|Jo?_K?ay+NNAUSM43(A#1t3Q@+koOa|W{2$^+ z6Pa6(A3Up)DSBec2Wxs(Gj?>7-nRz3r)*7o@YL1H@{={Xi+zeV*}*pjIw%q}J|kC{ z8jYORu3%1CCo=WAx=C@96C{(ssPyCkHT(Anw%X@AdGN7i%wsq-7dGZM$I0u>#lCKZ z#TM4xrj;{bO;5nX`>5bOL@M`#8J;}EyD!)>Gresu7(e1ut@qvxv+(Kjj{*Ka!&}~@$3*ZeQFu@FD_PwPCKtclmow~3rX`LuFVAl`$0}_y zMFS}V+x-BZvv=UlK(D~wz$w43(Od~#Ng^#Rt2*VEcuIMSfiBl7EaWxCPnS;+X2RGp zQ@$}8eDtoc5+|jEWN+PG*b$#7dn8LMD=h0S8?DvGlaM8Nk9rT^B%|N2XT6_nWQcN; z@w-7jw+*OP#G^h0i|HuwvQ$NtGi&%xe&Xla=;9C1HKp;6-@)^1UQb4>zhew#KDC)| z;ynxE3nQ_D${gs*8~+l8jDfFOwOD@lAxdWj%+)x?2C$qR)NKVso$4#ojSXdKeBBC;=Qmmny^sCgayr_#vTy8*-id$b%@9HkjDHd^&hwQBQ zs1+}?cCYsC{HVU~thns5zAbO-`iWMEm=8{8Kx>2d3nSX8$qHpc2^F)|sNqbs1MIuh z59Bf(iC9uoAyS0gLTAuyh<(Y0RXjtMyMozIKA|e-J_)}wh?r(5qury)7;NHi6^JO` zegaFUk#5ynuYu>fdir?m=Q&XQ9Tlak6pjJS%~(*ah`NpTeNJm9F;Dr2Bu-lumc zR=&yySJIy5CDuxkW;-hS^?5|X;yrZ+X zdUP6Cw%9RK-&ZUYhF#G5#CvJmII_5}P%HTqm0pw@%4)%RK<#ahAf6AfB+be8-9&fj z>U(3*o$m&#{3gS^n&ehGp>PY3N9l%QJx!(OGuPJrhel_rs6a0vw?3x1v0 zX$rkyKYgo)d6$~`E_M*wIV=9Jq!(`nlE13N-s7;cNm1VSz*Z{*oZ@^`r*IigimUfv zYZ&`0ZH}T6GNE!hW4jw+ZCPU-ZQR9sVcG>M2mTso`A+4V zwCX7am}{Z_+1Z12y98;h_})rN-+%=asJSau`fbvh88si8YVCUG$6< zJYNC77cxJsJqX@Kv4w;7L}~|Su&)>FnVyNq&OpASDEXileAmMNaDGMEg?l_+MO|kG z%M4VXyvwMk5UuO2qz}FCrLaE)Y~U@T&*;Eu-v`g-fpJz>q108jl$iQ|moF^D{&e53rL)2l9nAWl0Qt9Vq~>9zJC^qtz0oz`sD(y)#hAb5Z_ z)C)ae1hgy|zC~`O26b88s4k7MHOyD2y$K*OfOxDgjO;=yoF|GHOKbI|BB(2`I>3i= zD5QyOw-{|Wi7egkwDJtznGSzOppJFruSwvmsBkqgP7hj3tF-BQt10PQsxI4(ZCp*u zrZqRPr_rE#5o9c}#0z|-V#XL^{^wY3U0rfjFspD8U3{KQ(*tbA+vYg=%4^<_%wwxe zrfv$pVGLeXtJo@Qdl?H{oCvKaenOc)^^s@TUFCNlv!7@DW-U_>%hH4BtR2=!a~aCn zhVVSMZ5NousONaN`PlCh$P)H>AjWEyQq4Wo{1NF+sgux6{1aYMpK5!@NX?IT86$bW z(EHM`PQB_KSy{bOu1KFq=gOP9C`D>Yy+Zg(D@kMNDr9Bg)l$6OTj(eo81rkxu-$@ z_!!P+#Mkcz>o}0z$v(fu)~;udFL-?7z4W6^;g^b<#Y5FREs*Vwas z`4KQpMQj;OwL%hXu*YXyffbvsoZo#cZ-SYN-FlOw?#yw$f!%3jE1EW5Gg~LH#y{mZ z4m1oD33Lr44XYPeYqS!MuIc8kL*V9uh47RbaxtUJ5ji%>hYEGg;M5l4mU!mk525KI z7-zf1SJkk%*i8t|0~btpb7MZCWDjldcBSv=4-P&Cjb5FQo? zbTX>a)Oz%~szjdi6>Ej1kky|UtQ?RmsnC@I(w5Gy%72QR z0dUoI0b~KBx-_>xI=GeUeqW=H*JNZcp7#0ERAqI5l4zkub_ip`3-F=CiC_L7S7!kx z#nDFVuI@n=hsBp=7k3Em8VDXBxO;#=kU(&PySoPs1lQnBaCdiicf0SIx^p-Goq1+= zrpJ2f)H$EjS5;@}8->uG$)M4f*t046l@u<8p+#fhbuv7UKjFbRFdt5?VIkNJ;TctT zPUij?Fdl}sF5*=~;A;_nbtu`EH1vYhw3PZ(MRc(a&n(6Vy6V@yuXsCG@jVmJzS;>T zCLWM%+hO|8dTiuXKg$xK4OcjJ6TA5sKQ|Ji(7{yX4)dip_erdV;L7(6&*mK3NtRwvo9$i@!jP8}n6N_Z%ZlX_@0ZpX%>ESkc?$TiVm! zrC?B7tYZz(EKM#m68hSPEN3v$|1^-B0iL5_d1{`xS=du+6m_xRxf@V|7M#m8zC&Z3&*0<*=d^PY)zuuhvwV|Qy1osX z@8PbC_^FOF8rRkI_CfTy1Xzan^vCStM zf2)CaIu$FCh8pS^?k;?rL(Ez&fp0s3HM;t_*G&WZX(fJHEuxAa7}pLZ#>oKZQ_~BQ z6MIa9gA+h<3K?AepU7<*UeF1=qN%jm1s)G1QfbY*v_7kL<4i}d$j2w-;S)6e`yHNb zIG;WT{k}>hybPT_ita@>*I=F2i@ye+G|%rQ{_R6QmJZBRJy#h1>Lgyf-z;-7yFXG5 zQqSw;HKKyEf?LPjpg%3b+g^ZzKc}ypLTx|7!%KXwbX*L51CsCYilQ5;G(h+pmisSa zkSm;HVy6YYCMlKi^-Uh?xGRz$dgZ0}aT58!T&RWG4-}EZ0v+{n#VCxeJD^-%%98o0tjh6jt(@ zN$BYeI69fD=7Al;D;kauv<-9y@#<*U$!wsO)$a=y;1es*PjbTZB=oCtd|D9CwWk*x z!GAdlN8jTU$i zDwi?lH{bL@I~U;bC4!kQKG9i!cK!`$Dqo?!Rc>&-412%vDbX2)F+?(R>49M;2>mF7 zzyFX-d{f#fmfMpY{J&m#Y-cv#4Bsl>2sb(Bt`*E3uooVx?u)?F=48cE#h>Dr_$Ibl z#nd~bwEAnu&4jrg3sGejEP8rgueI+LcctWdUaM7GUrTGN{)UdS-WhGQkn1HPu?$3$ z^I55-FEf-Yxou1$a2kPHmVjT$QOqo~e0^F_>rsvYvnhUsosLot;r^eXy8xea2Q5AX zk9P*wzS!y5SlrSuGAZ_VI9dDhyuUg+TLR?`rJtnZ8O>uWf-3Jut0%zv6|m_ZjPV&| zCR}p?&dVcm&2>CWSRbG7eQK@-QhX3F~#`qq%| ztLY2#P4KPrHFFc-U8M5!BQ9;L+^bYKa8XMuHndjI#uq|P_{#QKYbezf!q$dbHjAG^ zOg^qWAdSa}mtwgTK%Xkb6}!}jG{YM0$Z7b$qv+T2gQtS&Y=6`;g<~~&Z3=o#6Y@ue z@D@AJGpc}H3i^j4mE0(QDx%ObDEfE!Fb&b>HDISb{r2JiYz5WZ@O_it`@IJzKjRUN z1@}roYOyqGt za2pRd`oKhaJQKK1gOAGkjN#rW{*DK|-7KroV!b(O{<{ zAANU5ENEXebUGHP1m0I)T7DO(oq|moAv;Rm_X0Lk8HcN61z$0?^#h}CKJ&$?=Nhk@ zQ-hff^%zk&!iZ2|j%p024q2*EsI1SVG*hV+pT+pW70^0{cJGCwsz$qu`rbf$pWq?M z&s|3k>yDkMz`5OK&Bq1!`>ea^7`KV4UbfFmoZYJY@ z;3E4NKuin_csW8!JX1bEUaBw_2ZgzgS$|0wiJ^*Pq`X?gL>VagT+(CfO)0KXMkx&~ z_$waKN9GBIn8Vnv%Jlo{MB6(-faguyP##wMNYXc(@DC_OTPpxK|PK>;tKge!x79qG)S3%Jz=)Yf7PvYq4oP zz@jma_vHO5-y{7M!!>7L=;>M6Nnxmwaw)YwNh@y1!YYTLcUrD$^}>3rlk|plZofC1 zz^EqiS5zuZ;<2_QP zuFa^}EMqcJeUuvvTac$~PgMi+q}X9$Ami>@uhY1z&1@Li2Ht6{ht!QARC6>{TEI((Z1#bi8}mcr)6P< zvhG>_T5riR*Lpr0SGCqwpP_ky+Mz?(st-xOqk&0!)Gw46r4c^eYd_Qbc_=&+UuVGKNPdsD z6qxOYS&CqYbbRGYEp0;Pu=29Y+YhnKLx+79bQ61TBIm`^8h{}F_jjr@!WrR|2Dgv71SmtVwO)O z-$g1lH~CWfLitnE}f*F;uwP z(HI-8NL|HQVQK#gNgdTI^^WND;*zvqHMFM$2$kdaymTg+^vri}MFd)uc@Nt;*I?Q= z7vAabJX@YT_F(2SECk<)AUO#ODch-hUO)J`61>L3jS=860S_dc+gvjBy+G=+Q-H`Z z8!e`pC+YAs5~0>hcvJ=UHsC#)eY6>SITwD9BMbDD21*Z( z(Y;+{n$M$~?Wsik8^5+InlhR?hfLI+Rfo^*;Pp?`hL(ocWvIw53WndI#33;B6CQ3b z`KA~|w;l0(x}(a)QU4a$eAfD9-MDbKfyoXOn)i0ij6?s~UC(u$8)k$r+!x6=!j}hs z=qKMvw<)bAd^BDrRg{HOeOBNiA5>TUw|OA(%POnbCI0Fr&dU2$e-O6PU8}v)TVb#N zdZqe?)oknI%HtKPc6I-2SGBH>RFCGVR z7Uj{lrzq@nTJ$D$!&|90DFU928C9vx43^Azbh#NDsYcX!6sy^U`n$Q*QpPqFIik$L zBrxm)PnY|%eWUrii%~Sq*BnC|C5E~07$qM~k1uX!I^k5J9C5UgMk9Z0lox$lj~CXC z%ATu=AW__((2O?pj_S;8YsbjIapuo|W<{Yi%(*Z7x8HDaP4|M9A7WMJ%(=$$ydx+Za`SK%BMwRv%Cwu|BZ;A!Ycrnr(Iz zFDd8Tmw2la%GCrMe5Z@=SNoiP_mpRz!y|Gjr-pB4`W|sF`EM{%SrML5*OHNTxEDM@d zVOKTgPc`HJ5AZOx(X8y`R3!wVu0d#Sc9@sMkEqr>d59;wozb!ToVix0(d?Uq)YOzW z^J%eOoXdCkNq;iC)kn{)gsWe&?S(QC zuFrz6GtkXpMDC5r)K0>?>_*kY3)Xnqj7@Art?d((x(n8L4!S&t-lBcu^AerZ=Y0B- zr_$PR4rkGynVcbBa#sGjz#hhP*q11#*OYaBuAsBg-C6MO0-lxZMkjQ(31?NG*)ILD z2=(BpW((_HZhYBP;2BDGC>7icrZ2uiLF0j23UIwbG}DfHu_f5pABleEQVE;^U%#{& zNek8SN5U8Rb(>*dSNio-x03Ihmx`Lr_ug*bKJNqGe<(hN@YKkP_6kwNZ#`Ozsn87I zW3iJLYmpa{)_#g}vX??$Xz3jR8)`M#R`iM0I&NbfMV@+ROmNCY^xhfOV&t6>?0U>a zst=x7sYl4_-a@0UV$})}U38=W&c)|F%3ALSS!b#RwlEkx7lVgJ!$uQhj>i_NK1gHO z19{vJovMrPTA1}ww&F<)roRt#enNFOz|L4G+e+A|*ROQqn$xf}FL~om%!Fvp>Iy+1 zc9bYM5o?V<;k&o;&AGvJGN`_0&##eh&=XgMqF$%Jy6UmTTRA3uvivS#YguY5!1Q@hux#n!*bHZ((f%jNsN~B*MZ9)* z2w}uCs{0E*;C`acT3}v?T^_UtRvg-PFDrRhHOtVJ(WsEdRkTLNL>N2~|7a{n|G;*R zpeHA#=ievuG}_!E7u*~ht(`u!O23pL9XRAB`@W0H%D>Rbmb7INGN?)5P$RhVnasf) zqQ?IC-rrLLnidWDlN{bKDkqA&KbrE`tUg4S1MpQ+!OezTtK!|}M}x<+Hck#O?QRAU zy%xZJ*7bY5IYBcfJPn4kxxhII*K7C&Bb_$%x;o^nkC{>Qgh)o?<%RKcg7K0P&<1(Q zMdcxnvedamekeL<#%IU0?7o_AG=9IWqZBVy7a|W;EB6O37D=(nax$Q@0iRWm1A462 z3ito&Y5;Mes1Y@Nk{uJ3y^YN=^`7J~kE(AJ^f_xr-DUOf$YdykiR2vCd>cj2y@g&j zM=|Fy=U!_wdaPulowPULD~y4CgRqp-_%#DSa6C3t7PPOwu0*+^ABiRx;w`p^(ch?I z$%~z7%{4hKlo4ijg}u%3J_^92)aEF!Y>D68hxYzVyudEaPH|Y30>=GDRo_{Y3hk&% zU-MB%lEXBnH&!Hix=zbIV-`{)a16!6%>xU=u%z?gW+PUuTgk8Zh&2x9Xl87q>b^p; zr&&1?4^)%mAq3-1E3coQSa$`pCE~)**ZeY%GZh1>(f12-ro~W_lTL{D8`adin9ZBc z7tME@Twh1pQG18UuMNx|Q{_+KBCNzSaZ6~4Uje%*7FxCmRr{Q@S{kf(SvCjmSv#y( z%0gRY#ZKw6R%UMNGy|)zctVDCFCK&KJ-m%)Xiho4xD>wUW+w_OBwhn^z0R;g(Lq+5 zDQ5bh!m8>Tg5FKTC+!EWqv_{bBWNhrvn^g%8~nx)e4&lx<4%Ct1xBV9cWe&?^+CIoV3`;d{v>vVh1S|KBG4^8E#HHBZ)YPUGA}_ndoWuIo!Ti8bSx?!vz{SRjLP_ne*u(0sP!i61Z0}pN#X)(nIxYnDDlt>Y%ZHM8q+F2gKgvaE z-P_!}b~7{KG}wNf{Oud66F!m$y$Ny?9YrQB%xj*i1~Ng;rQ1HSuv zBB-52<618w9WmDk#`UISO{U@pmo+6>En&TP96ax8eK2fFE!b&2Az>ia$Ulj|)9S7D zX)Qx7s@5|ST9%7KOwU*^NEk|K0~qUBFILJ;<^* zLY+2XKWn3wnavtrJJv~sGCy#-@_oDD!Y4GoFqw;ZX#7=wAF7WBy@3d~4t6aQ-fDSz zP7~G=TjgK-Z#LSicq1)X6W5dfnTZcu^Q?q*D6=Dw7_#2nl=B5$gv@Z*^1}t80LT)>hhl zto&d5Sf4HI#Cm&GZclXzs_u-6#mI${{O*(>ntY76a?M|L`_WtnyX$xa-%paKZrcyqqe`Jz)`{A8!hoO z8JG&>t>@u+#3t5YO(`@o_W4DW~E zSqp_cNCeY^^&;jdLIbUGVv&_R!R&}I@>OG)SCf?-?ho8D zfO=}aF%7*kJ#6ocU-kp%yxEzE&vk-t*ZFI0h*FFY_9Nf*53f0m4o#xYVv4CnZQnL; zi8sUB>@9M4qR098wW@%XKP1If6^JTC0vBnf5EC{QS)pgK6z44RLe=W9UTZz10D~2i zC<+xLE&r7}3VfnVpVE$|Tb(}O_Ymv$j@bMYEAyXV6{!RC>lkJZs@9t|xGv)>J%h84 zxIG2y3s}2hcq{4nt+JI3MX zcGDIGu#K0<%;sV~TnKSWLUIV<*u`F)@hW~*4{}#pDfYUv$NY*f)WPfQ9bwGushiv+ zAO_aHgo^f6=ChXG8<0H%Ugxk?-N>12ce0X!InUAaSk$L*_z}wd0DtK` zZG0ZR>kZe&qoJ}ZtuLiz?))Z%$2`MLGuY-4NT)t% z|HO3|ePc2GF}M2zbEiT%!!CGHWzBWG;7nxoTf*Cnuu_>Kt#XweO-@f1Itz+hoeb@G zC$6E=3maaL9*~_FB@um4J7z7T$ByR{TJWuRoY-z zBv&q7SZKU5;$pQ`JQOdjx{8+;O`&IzwHVtht@3-8$6~UWtr1gwhTbRtR<$Bp^*+S! ze{aIuSc}qbC4YAW9tx{#XzCh%xrbk05WQLg#<$JCTrY#{6Yk#!-M(f&`K^Jd>1clM z5L$T>SLJe5Su&o{ql~bzxf27sH;Y#M8=ajGx=UbZG4MTQX7f4wQNa7o7pEwy+7WK0 z$7Z)jQLBMt1r+pG(9Od$ud#oP@m7w*<5j5NRM?Uq|9KxRe$6S3z59_|!T~;SDW3FE zdM0Ciye9_tHp9O|csIA;XG!`>PAq0NtY}KKHWVyNVoz6t$1n6s_6#uj+{=7tK6-0X ztl})bbvpe>)lm=WuMM4Otjd(nE8!Jkh19LyF)EZ|8m+#bkapFKAlXiNo>m(Jcv>C` z2g^;NA_Rqv5Vcw?i~>0WJ+J3%4^S^qgekq%XX%?fzES%k+3KR0So*zAV_NpA|8|%* zc#Jy9+gXglrN(D3OCDew5zHA@9Nve{%I|#&OP^q0*Yj(Kg5NZL?*y#V81NLDbGQzn zHEQ6=&H=j#e9B|+ZszpCf0{=7&jZz;{EQ!uHS>5@xq9s@SrN-tp6pIF?)L=GoLJJq zWY0Tb>FeV+FXfw5!MUGLnZq~a1?7`?xAn;fU884~#seBatlEjk55V&`bDkYoR$(X8 z@Tr5a!0r4>oC{xA8lY7=@>111g?4F+?a54kxXI^y1z+vZJP2lvBqKC~=xZ|h!LnG7 zGOXBnfYFN6ZevDys(9_)vG{#)u)y+Hl1~v{@Z?Gy=RT%Xhd69I{~*Q&Sh2``T{-&m`lAAfAbdJ?FA5AW&Xe)4ME2i z^UO8)w1(>$JRwam|Kw*aW7LBor;L(6iP9G?+OE5 z`9rCAO>VT~9cLVwx=dCXg5giFF}uJg4WoD~@dzf-hi20s|DrCf0>AQm(~yzaVN{wI zC6Bh>koP6a5KL=pEL-?!?8;XA{CB@AaZpGLYq8D7F2d1jtIZ$;xN0%9Y_wjJc&+zK zt%a|Rhm;x8?1~_)eRDj~QSfmKzR6*KURGLrmfyXPjCM|bcM1CRe(E@ugX=-Er z=fIbKizQc%Ga26d-~1x!&TMSRcDOnad-}<#MZEkc^Lq{vIkEl+b!eHeVu}TAE zQH{tC2?dLbyi=hlfoXGHXvY!XO)L)z*4XdPeV2570aG9(mDP`!PQDZ5+9m z&g2J9@C(kuyrJueeR_dbYphBCmv?o;S%;D|0TES0Yh|hX#2};4=3#ihp|C9<3@r+xmBF+n zmh)d!yEYgG;X}8h-A_9qJW2*9Q)5LFVnfT~=k7#L;-IQKoeyL=TJQ~9U}to+d^t9C z0N#N1KhSI$V}@ewtGRobGvK&cc+>!unF~L}Hmy4(t(0%8x@zT!A}+#H%n~xRiTGqcPr}&KaPtGVCn)qie3sv_8uR$2i^%|O#(Tk$w&+wwz9AtxsnxrN z(k7!g)`DDZcD$i0w2}jxz7WX;k@@LH3(8_p{APoqLs3*5NDNeO2PS2tY{wU z#%G+ZE}8yGST9*T#S*H&Q>I*x|GPg@zyeBdtsS)LDQv8^TGk3j^#+?eu>2KxoL{#wV&u%-d>0QkQzh^fkhs?(OXVgtY>Z56%#c*1B)lY=u-573PdMA^X;Fpk|DgZEg8WiZa1`Y z5SE|;7PBQ7YuDHUXmLXj&IXR(@u?r+ac-U~z~lOU|0+G%KZE7W2tPCN-TA| zB=o3k`2Fob=n%Q}+hlMbVmr^n!b|+UMC*;guDo?xf$Vksq}%ZJ2|3(oZtu(xwEf z3USDVo+nN@4L@&SVWY6KSrk@?x_$aXvqiZO+OZAG_oqC z(AMAR-$)`qo-;0fZ6=Yzo-$~XAZj8+_vlk(2mt=W_ab@zlhE< z&#^nH>6itX4+W9`bn01va5QxIH`USz}wnS{S~^p3U?3B zGn8-s!}$(RNcwsS#2#Tu?}OqVusjMk*WfADB*#)1e6=&(8KRkZtecvMl{OQ(>&XNZ z1;3@BsZ|l?ah;9bJP0$tktOU-ymJ)qsxxi)-hVV1?VAaIGYmX8VRJgs-?iGzQv4;2 zB=^9FRRnd*$;Y=9XCyQM6(!}_abq$y3GYynAzT}xyqdq5-~HEh*{AH5JCE~OhSE0W zS{A!l2hTP?c$Ov#Dv!dHLTR)3W0aKWYi7vr0CJAtq_;>)J=c&D&b`D);p}{WNor$ndvopmAtCxWNyQ_*BR?{ z42$T)yEzP&j~J2EX!Tj5wk@EsnqGXtsQ{k0xSa*nU~=e*VN0+(#{7kyS;sHbXqoE! zmV@dXFuLi)#+%rKj>mU3F1{8`JAxnm3rc5K`1*)N+e?(b0}FbMKA(f$RhW_3j#$l;d>q*ZXAf!93xQGJjc240!{Ii3)Fn?87Y?dY9r z(2=EJsyU`T$tRrWbxoLUk)0iMihCPa{q~zX)ik6(YG$BRR->NUhuSKu)H86gc2fxH zo_M8;aI)GegmhnQwa5niBl}3Nl7FO3g1lZuHR8BXje(U2LTTFI5nnb zf#n(=ZD#ChFj=x)z-`?cof?#JTScXzzG}uf=8&`7GyzJ#5yNKVu9N#qtvELH7 z9*mt0r<%ZZqrjTySjx3n&(wIQudt(A=K}?zP~@&;;Z;% zpG+}k=xufDz`=^Fmc5fv(?!(D4?>0OP*vIiMUGF^S{C;_b$N4{3s;XgwgzWV8?Kfm ze^>&KD;q4$O>at!z08bXo)SGyi%z&kGw_Fi=pw$q52&O8jo4`KLeOmG_wGjUtF+se z`syd*Y>(qbnzTCQ4) zXf@T|m(E%i>$UP|g`-|?byhtK}8jyZ7BHjAt))KhmlxX;I5g&E-|psc}hL?a0Aai2FiU{l&&ZVtah_HU(B~0QemPt$VcmEn4(0R&oRWqsEvIkd?khuMNjysj@FN ztkhmCp&+{*08dcz&eS~-7#Wf+y!gTeAP$A(e$ zU5q*7ukd(_k>$9CZ*+xSBSYQ(^u^(R8(IcLHP)E|Bx}LceAv^r=67P5cJzUs^f=Ws zXw+2e8ikp~_+kyQ;4$zmI-@rIu$rrgycTfX!gUTF-CA0$iD~W5royl-cy?vat2(Ym z4fFfCshpo?9caW%n88u2tL zc&5SLzjywiEw7`eXJF|TwC)IKE6S-kR`!&;YM_t{Bfv{GAs7&MGl_Q8}e=2ld~ z1`b9;d$J3GqRPKnne3a%!@gwyFtc+I=#@fQPqWJOczluhRDAd09YOT3i}1d%8^udW zhfT$JPc(XamE7tV*vV>!3EAp0Bnhm>TJ{|3Kb zz#@b`e2l*NH@{^m%-o6%IYzXswKr-z3s`?3KUU-nd&So9dV8te$@GBCsGjyCvUMP; z=7~p3D^`pc&lXzt8t_Z?$TCf+*qc>iF;mZ3`zk+J{FdhGuOd+0Q+>Ss1nnK$3T0f2 zl{yR`_ki9>a61g9o4D=*&#m<1Ta1vLBp;&v=i{(ONDO!qig$Y%JEXaNOF&dBNUgw% z&hdLhtNnA|%Jk1dF?>F>S-;|U2oDJA{;0I7GhcEjF zd)@xcnq(*NT8FT|Q6p^R5cs)^{mqYq=LQt`l}Sm>cYb<633o46dLp|A=J8UnT0$Q7 zgInVs@FUa?K2`+3jvzUjywV`NyJKXc*I-FB=DiY|a)eQ(sf-M+!E@TeZ<#}WISSf2 z4iq=}Z!UNUza=Ten^wHtfc)lI~nxUs!1UK8djrS~ecBYFjQ z0r8SXucwlUZx0K%qcCCgN9oKZ6#6;+^BFnnh5X8-?sRJT?lMPG`|GJ9;5 zt&p?46HXRudt7+iBNlr-7Q!~~E-ZCikJVdLwHeH}7Gg}K5xl$tmZ!k-JPcKB?Jh=! zchH0PfNL-F5?^m68WV-J1LrlzWaE{M=>@7B&A=>{-(jW4zJfk-3)#`!nqcblT62you=4Vo!~SbC9G+RFasDOszn5Od1DFsr^LKGHdQ zTw-FMD`p_*AHw#HKx^^(-x0*3BRTVHDC|>sc@e+OGuNpT97@i2IKS?V zQ<2>0&wS%bdUgd`dy`8S;%Qv21 z3i{E>#wT<)l4l5UH2S#|PA&jV%`sa_d#oTQ&;oDrvlDK#a`Z`B>8LZ(RK`Eei!T+Q z+Udq1GKlg0Y4|%G$sb0?v&o4yEWUZ z`JNJReWTgo=JGzn%O>9MpkIdFT$6ZV%)q}+gm{*$=z1_W3IC&cU-5)@ zVxzlZuQM?6cZuC(Q&NpEhq!A4JyUav|ACzsVCNG&JFN-#29A!TlGM1R%^CD34!M!N zWaX>7_wk`?(dQFmFO{uTET}O_`7vs7`A30^)lg|^02hmr#aw7vOarQ`R|!A8Pn?uK z>oaAQ6%C8<2vfz3R{xg7ziqdeMy*RYC_>-}i&N$@n(VRd)vkxTtX zhTtPs=M#t~ahGCQqmn~WUBV)M;Tm*R^By=#gy7?SNr>2!fa)uH^gQQh(*_Tx8~WN2 zB1HP&~Bz*tSUI ze>UK6_W=EW@HA_9-CloPo&EE52aQC&F6x&)5FE|WbQ+sFKDSUe+ z@*N+rE5Fk3Hi4w}>v@1*&W%}C!lV1*U;XV1Rjo7d0frC@ou==)S9PqEBmW4UILvY6Q;R#$aAps<#+!r7v&|FYA8*JyUV zGRCDi<2tBcKlr$U>oRcM1CIZ|*>#+^<{@k+G7K_p$x>${7wD2fb;t}p#80Tn_K2ALul8+riK@RBRC45R-C*D$qS1Z7%-cr~pviRTmf?}kw2;geRHTBp&BV6?gvDJD^LRR-x32*&h@mAc_n7RCD z?L5$vsJ|bUQn{h)aB~ZO#zv5w!?7Ja+JtAnor=d;W*|8cAGXyYE9kHy%xCQFeU$eK zUR_nc%~=iqv?@&xtm$>~EVuCmZ&3GGm&osXM%8YjkL^(q*tMc4@V%Q#3m^^W2Gmci+T}9ma z)h)nkH6D8(4IqX|h+Q9!WnE2ge8^}~4t$^~%7vh+&`b>`pS@Z-{x)m@%|ydRVA9 zMfH6ewT$QIko;Ulpn*#ODXX$NDx55K_Bo5P<)E+=qB$6;sHbcIS0t$^6ZuO)taI`}kFZ-QDo6HX2(R zUb*!Luy+0@o|X_(gRPP3#4E?^r#dC8K(K`Lx!I@$95$6eSu>j@3*Ae`kPD zVc7OBdE-&!aaI3U0xxHUNx_N%-xK{0AWPALc=jbq-q`(0kK9J@XiRSlf$>r4w_2NC zJ9i`|d!Gah@4!^8I;H$%bo|0RSeq7%TjWA{zB2k=5xdlz_iF}hAy8CqPb)nsW|4gh zR1XM=z$M_4+uWV-jPPTHoyFQ>YP}{YxLz&$DO_zFs@*}t$c4vdL}EV39RRsK z=WZ&FJu&6fM+;S!alTaAl`jWV$+ErrImSR@_#(u z&?{O+YXfT~$4LIXP+aOrv_3{|Z1N-O$nvwgV+gsO9$+*D8&;AiA`SVbgLu|EO=CRJ z;^6t5vCRzlLs{@|U!j(Bh;2UNW#@ydPqD*U@m;_3a*{*X&h8T>h&&eKqqIR2Rk``I zX+-9UIenbxQFxe$I3)+~$w}PPm{p4Iqd*eML%Ue9!@5q5@FHj$u zEUh@@@qBXPwhXjDM)xch{0hJGlhcwu9hEVr(y%j(wza;Hs%o2faNEJ5R#Xz5eXULGcy_YQQR#Px7!4A05O07+e#9_B$s5 zpOKE7|6=kK(O7He0zDzFSq>}9GFBE3&C~2Md9)7xW)#p+hT*^UCYGHRDPbXOg^cb? zo2?DCUacNkpH{e9Y^~A;xT<4P;P~{N^w_;5@N*f=JPf9XXsK=ZKqukkNm#Poue*oH za3(ji(OYI7!{1kAv;5Y|AzZF(lb3c#cO(;`afH)u~9M}tk z$Dm33=@r9K#K?Fek=$Qd|FWcemrPGK{s+1DOj|N~orxjpf@%l;W`%Vp>2q3-D+c2( zigLEI0@1J7zDhJld**lT$2T4d4-=40e9AYR!k0ON;y)pu@dg$pf`vb#(Zl%O_58+{ z*o`@;aY|+?9RkfDvR1ixxAOIg;Hd-7HNo&Y@7JD5L138>ALtYD=NYnmFHonsSkWSQ zxoc3T4n*OqjE{#GB&}8cKwOeC2K*O4Z2#|10G$B30Y6CiS=@xBMOT;yUZ>}6zE+%< z)>_StN34_qJl`-<@Q>f8J&eWNz3HAqh z<~aOJZkmIU@SH=gwketHX;{*Ej6`Ukg*4c&EVNo;G;A~6tUwjV9cL5#u8-Xtf_8pm zN6Pf>za|nII1{7>qXs`QGF=G$?Su|j#NzdGo8mhyp}J!ZuNqDUa2ZlJc4(X-y-lb&QGT^03<(1RoXT%#=DBXT?1`!yTc+&X0BH-l?kepMt!jx?586q{2F z#A@KVesE&K(705j#39q{!%Et{(i6b>_q;M5qje9_mer;Y@6k%D-I(uDgAAc|=+sz> zt=^qD=e+Yqvv%MZbDF2*=nsgYL#3Ok}8Kr^5UxK zjz&~YfYW*6KULRW0;|1#eAjU1UHEn5{Hxh)q6+;!Oc}*{&Vgws6iw@%4ks%#o18-~ zvJToYXDbnSIGjw*m_~J4F)jWfyNZ$(Jnl3#nTYxZgIxux3r^EtE|I@@X=+l}71_&9 zESD85qZ6$h#I`!$e zyHTnFZ70}XhOJipwbpzr#>6thiu!c-McC3z$vRv=f%@LwEmysprX6 ztpl@-jGSl(U+rc19v!^~(sAJ6Av9_{o_v1nWO}q#8Ru`<_&nUdNfzM+{C>)BNk*@X z!LKPw-|C0AoQ+)NX7u?HUdR;2V!oqI#Uiz_YCy!KKs~Kk7q|#3%SUliI0pV(>@2Fn zD)3mJsnw`*DA+?+RLbmiu?{1y_{fGL zADx**(RlTEJjgC^bT!I#8?|kYzOG@kXcvA^E|@wV?CxN{9ut2@1@r3o9NO9O6t$Oq zQ1M_!sbAscCMI`UnQTG>Vv9n=5bwzXRK~_V=4{e~Z8ci17^^N`pa%W9dk=0dAtKG{ z9fqAf+!bX0Ho89(m(DY*Xirra9%t-hC)Y)c4(umyw}^8(L5#KFrz?DIO7L9`yAIuhD+5&xm2PLu@q8u05l5eaTO}!)Ggj zo!?}%|9ctQR5kJPXzk86(n9I1kg+z^51$_yi`jqGRd`vHg|EE@*c;GYy(Xex=%_5I z{%dqa9#I8)bP_yO)k)t$NpBNvZo$i04rUFAu(YFTd~zQ%$Tg>SiedGiU~elEvGt*+ z4&c|_r;4j9Xs%#vJ{r+MI9^d7n4tZTKRV&&IlKvjq2I7Vae3cAc*q}6)Vk#ElB27N zQdBLH(v9I|^ai>&@Sn3#%~Anhs4BC4YLJbO?qww=c|<$TCzF@XOY5!22i`%y2x3&M zjGNDlCM&fY)b^wG>#@`u;mmxZqc!NRGE=L;cO#5F1zYcesVeiMnwN|i#4~G&p>pAw z4-<0`6EfXq{5aI8k{Wp#f}t{s_#6!@mI(BPXWX+tdGJ5!d} zvj{o+KZr^SdAS(VoXmbW#mVUWMxNn2*1SE3m(+kvL}~8?JdKYHJH+(_>|BiYtpvMe zoc#jM;yTv@aPk;O_JZa)EaE->CgWFV_w8tAFLP81GJaMDbv;WTj0IDJ@O6vOpFg88 zcd@$Kbu>Ch%VC6qisre2)IZvNEjEY^RzpI7qTuHQPH{YnSY$i%;JI$2`nC& z2JYqWd#4n9{$PG23*>-TE^^?h@QJ=>2g(oRZ{MJuAGp5s9tBHl9T! zvcE-$ky?ATysF*-Mq6g#C+DP1H8(-FQ~c3*w$xB#WvUE|@Q0+27Efz8Eph=18+ax{ zadpr7K~iqZX!QXhYU@xeW2N^Av3|4g!G{o=6{0;fBHa?tCoffZ-O$Z3c)+7jExRJ| zIMB=hQctibU-*sMJ!n2Y&@@`^4w}}ISqg*jgrb>$;r%MC>KxQ>Eh-m8{mu|PsS<7@ zYRF!j;*2D}1J4TnHNL(Q;jT3u;oeu&VLxqF54C;4SWH7!4jIkv30tXfJ?O3E*c|r9 zN$MR#dym16U))~!Gh0#FeQ<9#c%9+<_QBPqSdvBP?*-63%^7b;Cr)!FM^OvyDU%*g z_Oqir-hJ@=i2Y2CMLovvct_v+2HFMbubJS!-DT@Nd4;bIGn?J0R6pEx52N+%p=Gf1ubSIEIOq<-s zmpDhv`6I|(p*0s!M^p>%G8Fx(%6l)tO0C`g3@gQsD8%swUREKWKZ3Y67>{T-S*Xm6 ze`LX{-2`*%x*N%DJVO18;%U4zd)>Lr_F3$`@%DJPz31L(_o^A}wqO)x5WH?kozZ19 zQOKY^)tuT2eEmQ@M zwker6&7qaeNlMHz5&rEpAw=R8LFxq&${0MOm(=dn;#h3PLxk;pDsujW#Scw2a(Vj< zwL_@vaW9YWop;?k%lcc4e7bGCTZ~x#!)RS`e9JrJ{}-X9iaPhey`A*NCEz)PqsOuR zqlr9{o0VwHJ=AnNw)CW*uUe)0H0oT4SxPM!r|)G{S#p8jq3rEjClx+I78Ev%dBc02 zl97(YZ|Q7Kx=Xw<-cW9Rn29ux@zk7d4!j1{?uc=!MzC2{n`xEyN`WoQgsJs(>|=3J z7+I`@YydZVM9*0!23{p3g`dqpSue@fZt7bT;I+nLBrG}l7!OtrA}4zjFIU;z+e8hk zi4K<#Yxkr^Bsagm4~klhaodix*PpOr8TF~vP-giWo9W%D=<6C6|CRo*hWn*xmDZ>! z8CN2qnD{sa@rHtlA1{*^PRp3s@8o_G5Xa3R{+UGtvcu%W(@~z`t;y`|W9;)fcs^l< z$Of;z+s$-v3weFrfn?af@(r=fDX^S}>i-3vTS0O;eR2R9$Ho46i5uXmR&)E4=e}`% zTfyrAUhI81=wmGY4x{<8ILpgqYd3<~S8m#E`92D*8E-zUazb+)PJgDS;@g?X{)+fH z*z*gl^k#fTy#j7+Lp3Yys2SNpM3z${p0b~of#Pb!#j;L+1Bx2)-##Z!>Y`86#iFav z5}raaz*+nG7H#Q)>X*X#?PG{o-jHdIPgd06=SE}P=^DtKCR=onOm-it9$&-6Zm4Q; zEM-@G*!8sG6nx*p_)61g)qkA~*uTr5*BeHv>TV+M8^FB_3>_Wi&0?fcG&s~&nO1tKk=}oyUExu zgoUbI`|QsrJjCY5CQ8++C+GO2$TTryFyt>*d7s$dYL|E3OXfS`uhh(7>e7;$hb>)I zRH&VDHIGHvKFc{-J$tbVYH2xXB_?~e7q^lv962P+khBmG&XA|%&3k6|Kv2H zLbow2&qZeGG7;=-^zGQSDAXFNiuFt+a8Jo^qP}a7whcAz9mBP~fG+v&~WX zX=D?6GE&xs&v3josO>i|zVDj1l383?-Nu~ZEwXV%;D1^?nd4~eCT?fJ^Z>R`Iorqd zvsr$=-ovZaZs*5&%^jZ6dbQz<4}3zGZ_P5Bsz_{RM1ZO+NQIc;CQk z?!c2vM;-1PSRIqz`2j7?gXebDsYJE)JARGJr)uA9&0UQLwlAGbXhDcM0Bhel*-R0} zW4n3lSnu|-m)4igx7>T~-ZB6DU!Bzmwiqc~tmf*zTHLaX!(4=i{#uXLVrh@+RsVff z_jSZF-2M%Gn)n*1T@apD7vz6w+^jt3-ILsTFET!3Q9iBjvX9$N5Z*@iXdjleAHQ!N zma`8CYHupl??mG(kCAKZ!qHju@7IcUcz*~pL{bn}oaFuHaZlx~6N1+1&*o`ZXu zZ4iY~$Q#U4sDbZ89*v6YuH=Lrw;1DM^{}TKnJqhxm1Q@09ldzoQX;*s@F+LArp)}k zhuR+mrK|YoKJykt&!V6YIkp#!mE${)rVik{l9|IW`7(a^G3R&k!}q{39W4FE^Qlc? za{~{)tbg>xm{%xkRP%^WdW~1~&MA*&&rO!v~y9!HLQMJ184P1nh^?IzX3akkwM*p^Ffc zep+wW;-%yE62VdX8of$4tG9ZW9$CvQ&r9`5s;pK8cO*Qbw2a?fb@~yL<;Lr&%&+YX zQ->2L4uU1Kv2CjuZ5c^~y`Kz&X0>)8ZxBSbb{M^X8t+I%jI)&Yl{4$HGzZYi=S1E& z;idyig_zb8yTog!;$Iy@YsXVpve!%kpA(Gdj6fB&g61&#&_h$6b;K9L@?!34YAl1P z$Gb*eXa#X>>w*;J3VY8Rl zEP~gK$r02*9X6Art_(9j&?}Rga7NE=@a}u$g+AgfMOuJ%Mr z_r2`C)U5wsg&okJd9&TT%;Qz{m$F0BJyo3Ozc95Z3$KXy)3Va4t^Qh#wg2@>i*De* zMKR$0h>zBmO4s#Wflsh~M)N=uF>aOzm70yuSP0)eCwZe=1g&7O4u9zje;b+6AU210{X;uyJoPK1Cm$K5jt!oVKO<2>(tH z)&5S8nZ+kG;_oputqR}W6VA?p50}v8CFpS)#!1JJ35rA(W;FTlBzQ^PO*Te*(qlir z5FMq2Vb{^pGxWy;_}2%(^ATRq0gf$1kF`Q|4?e9U<7q>Ps_r;H(4$82Yl@L^tYi*> zU;?Tqd{pQ~F?;x&w`lNV*ts9Ij>|EZzBdgI=`!OhKT>OZ#PboQWcPLT_4U2?8j!PU zYbt}BvTcEy1Sz7uN)weE`ma9}P*aPeWop1u>X8uAe~YNND1Ek9%Tk+Lvbp|1Us2D| zI~`)sq~wM6I`fGaE0AT+MW(ti?OPo$QuXIO82y+AKL_F&zJ(QYXfv&1@-qxuhmwBf z73;8IC%OK?2vb4s_riyIMy+lrwUhFhFM-l-dip>jnf0_#ed--2gJKuHNjpA_BWlnp z@*~mVV~p^e1OLTT;tr=KdM;I#1F7q4?_S{bD^SW$;8YaeMFEL~CY*bZQOK8Ma6aJ0 zL^l_C^e<<)pIBuSpERH2i%{TWsOunnfuqz|RAhvvEO@?wf!cvrH54~^$6?~ryZFM2 zd!*vA>Blqq-FKXD&VHAB+6(tp^EL4`@(uHq@-?9{;uF50^6*;wLKR>^*iTzet)1v> zKH>kb*A#vhL#v*;Z~a%Ru$II26++Z{ycXq1etc~X-XbV&+jv*`shA*IoOo>+{Az?A z6{fFhx0%f7Yf(JPCU_~`xOOJ%qur#|lR4`Qp9jLHv3NR1=mi;I+7WQs%)9F0FJ;EB z@lp5l9Pj4?3VRMt?!@PvNBd6TeKq)=9^4W$%mA6IoZlmIPzCWvwNhI&`aw1nGbgCtfkSbytjW;-tK=VdqPO!ntKsG@ zsu36Opc23F1Ag8fYFZ+>Au#JRQ0?=x$~$MMx=r|jvzg{zm+bx-e}JN;(y58rQTSKE35ECoa*vt!E&97jI}6tucno z+Rx+xO7fFR;V-ub)e2~PS@RxSH3#b%lSk*7VJbzQg#V=3+C!LY7d5uGVVlzR_b*`3V5b~twje)dIE=92$P$cRc} zP&!F`BipD-KJ6H^8&;mACtOBzuYl-zbm$Ae@fp#|EmOct&#vboz9PPszByo8(K~FW z6Ccz?K%}UI{g3f6sCcT?gt)4AS?{+ajU<2wKyr?R{bR4AzKexM{Ufa zH5+0vdN%=n?x3xQ;FXkN#61(Yw}B1lNq%u8iNx5%-DEZaF0ZM@f|om!~)*;$BK`!d~dL(hV#`< zbUFE+#`MZ4`I*PAm0DTUrq9o{QEU9eTnKE0`+s?c?1irtnE6d zk@?=859^zff6m6vkWo?FHSEMYlRfC7c@wEL*Di2sX{oHOq_$Wps~}#<`?T|WErvow zXgU6yj#(wOHqt(;V-`8fTw$n-KGAa3<9T7Nys^bzGas~TS{%kOCpk-K$=>|R_W0*j zu%o&0HnjR=e0p~()KEM16*t%MZd036{Cd?{x8`UTY^?Gtqlk4DV@qb@b6jF&uN3%E zFR`Il$PtXfqH2!x@8GDt7dnEYBK_`I&c3v(R?2J$4iz~zn~Loh^o1$l&u%$zJe5mU z7uCOpg)fRi7lD&;cuxrD7Xq?RQP}K^1Z4y5aI9+-qkZYGfXX#&;bYGABAJC8{EAS1 zTRdu9R^o%drqAvJy{q(qsAS`BI#Ky`+G+V5TB}Nj^B}y#X<=HsS80b~REHMxg7Agv z`Ih=l`F8rU_};mLSwBLms(pAh^GI1D@yM>3Xy<=QeQjPBWWcY|0zX}&WL4|E#VtsV1C8qkA_z`Rhwqh|2#79+u=huFt5xfRH8Pc zGJnO>`tZ9B?;C<8odVigM@H+HcITvH(hF9B&M$b)u6q)8cS6fo&<9%azKdw$_ne#N z^1XnavGCh+^UXy;H3hxzD3QxUtZQz*p*s4T5Udl!{YrQ~Gn_7FEi)3kqvwsOD>&+p zI)jKb51_j)xNZW^v!Hq&q%|Vi41Q`KmVIOs+K_vE=cV!W@{RHR=?nKQay^q3g%eAJ zrTz;Ije^RWDf=h?_J8rT>T3BJp{eqE#5d`tMcC$lEQZSe1a#Ks`1BnXXW=P6%fr=} zKr}4+pUl-#-ewNoNqbtd7CpHb+*7@H9B#p6SyG_AA5oypJolS(0cJ(#NI4X`3cWuk ztrid8;~V2BQOzFb97tS3HHC#%FHm%wnOLYEEEKY(cxNXVH<53hz;nlFy=?HkKOSim z_ZsI>lm5~LulX6Mp2kx5=e!z%`)M$YMkMhN-rXivyhN-Yk8>>w0~4XIuVLh7a`MUe zuGE})3f`mhYt0!Sg{jpTIUS6$mo*Q-?JPKI#8WfL9)jT!a+v%1WbJORJYp-8ml2_j zWG(x+^%;dt>+9_6<6G!E>${0}`;OeLGD8~iloeClV0j}Os*I5=sqhJ0EIw9a_19i> zRH`Y=0=QWnwK!XC72>w`!TPuAC-Qf#@1=JuA`N2Re=lb+-o|SD%6YU~JNQ!zCTX>v z)U-z!V-(S7DTB6cA?};XY5}ETYcMU`z;6d*!{U_K*$#L=!R~rkkdeBeBl!A_@n$Q6 zUQzg-1KX_Cf12ZKYG?8;=8SNUWjIs;o3;u zZhaVAz}cz|UrFcNx=+(INgB-J_`;C7t8qTTHWlTXe>RYex63;VHhRBG}FJ3w=z z?~s?w)vmpYJ8jEq-9&3OBLkBV5#uOpF~HH=P9pHlhV8qIMOUxN0GemO z;4Yu@+0h)$Xnb>B)Hn@&=nu{z3`VkB3z>>PK{+Omb`p8-<(rkKe2l%k&L?P=;4$)< zm&rAKbT%`0Dm^2&KT^|o$jji%>uZPoe1zgw_1LQqtQ>!oARkDID|RYRW7X2y(*NqM zMJ#}u^<;#SMNv4(GK%Szsk*PLjtgCzk(bT3bu2n6j_NAzN+}954mKX&ZyS->1{87x zR;>>{%a8C#x>%NW%S3zK!~Z*keQA$p)Ys|ZS59V3;7?^mby{;;CFl_q%yTE1t9{Sv z)BeT4Q~Ukp#JLIZZtwH@y<{3x$$15JP>sSh9&JK#V5!G`(Kz@7F)}xc*lN{P}Mk& zMV1%&dytM=#I=iAOlFAv;Y`MEEeDOwL<{p!yP-rBKVx&+;_YZgZZ7ocGv4hAeBoGR z)#svWV`$}hnY zUX5vJoy)J-#BcbU>4;P{pPedcEORT<2>bO8KDDOZw>bUD)1JY$<>qtKz_7TyKN3in zFfokwn|upqm+^(tfN@%SO%c>1h`u6qIS$I{IE$b7MZM??$6=u|gvZHxZ6TsL1xp{0 zAv(!zE&3mqe)+)ZY|1dV;vaX1TiiSC-Sb{}ReT$KTiO5owcF1Wr_S6)3>x2vMs6mE z%4TV5=8B-lMFswY54Xj!NG( z2Q?3MBZ?PSg61atlRweik*ID@TD&J#t^+O82>nY<@BWJsmUT{L&?rIcZKWst&b<8; z{EBSczeKIV8??I|zKNpK`qBocPD6Z~T5z)~kGhurpKQMc18p78&= z(-AyB(rkBGS$rBJpGkeS$=%NNz4WTMH(-L+MOE8sW|>7mV^>-M*YZ-jD;hFl+}qREtoX&n<1PtwUGHQ1lG=_mj2A=OkFDgs_`ATJQZ;mKqypWoS zOR#?nNPR$G*Ma9@@LZ1WC?9_T|6mjUPk`%tZ0cR7lc`S)cXd`ZDohpF4Mta*`6l?L z`5t+7+?BMZa8!h$IqzEQP4S8He^F>>%S-F$3J+Z@&n#{ch*}<62I{C~wf^d=Bl48( zyX8a6E(>SrfFe+xgLMA?uy@vfR+aD9-+Rx{4a3kdLpRdh-5?^}DXDZwNJ%P6dih>|5@VwW)KHKs84?I6P=XK7Uv(G*|?sczq#a;5DqM?`Fok6f+Cpx+u zMAs1!j>4N6!Rv6m!XA`NFA&W{R56+HDyQH_9(qc???liiTUkrB=gPN>0lFiJ<36EA zY~ncT^{|i(+hp=U^ZE1%kMSI@85|u7Gfz^Q<*=0#u&uAiwmopdDD9iXd}$ej*3&DC z^=#!ea_Knfw@xk4ls~1Fu$p0sKLOifD6Znn-%yMzw5gAGl=X|wZ>!@2-v+Ct z&Szw9cj0lz^KP;4MrzI}uscTmR6F-~_&!Hb-J|ewA1LqUx-|ClrPF{p9ZJ$GLE|x& zg+wD8-;-Q?-_R~0%iVs|W6d)p`(~WdoSO1y^;yWu)=3GY{=_vs|GiB(>9g@LKwK8n z_SLV2wa%lb_O?hx+swx`G?m#<{K=X|v^H-9fz3pETR>q9cz%YR=}XCf46if>DK*ye z6Z-ef!gih`>zjer)7ZYfP@PQ7`?$;_ke?``9%$_#x4zlW!Y_vLbK&R|j;IxLy89~J zgb3#X9!Lesy}#QM?|CNiUINu1T2+eBLe|%tNX?qzj^em==)I)*oD_G|;8nSY;wY|G zg~$&N+riOCU~ms#{bOE}!@(8!KMnAgI@6;fCUx>Oeb5|lE&h?lhn}E6;BnYE97L~y z=^@^0>p`$S!#A4k%|%CYdR0TZGRm|(z0;nBlniYcx;(T$-cTjC6{BdaPk?fLs?Az; z%GPfc8fMpIU-c>YGvtI-@F#o>6rkoWCDPbN z4c-htH&BLyK=gAk><2T|pYCJ$`J9q!h|11(YJ-H$7od?aw)SK~Y({LpEr&HyJ(x`! z*+y8pjmLfv?ah%shFik3I^1f4|9O)3R1bbR#GsknV_XM0Q+F`);#Kmx(o<{!dA3?^ zZIs{_Je0F&Y8aL=6JD|At58eVLoBM+iTInW!ea_4y1N@}Cg9sKI}pklop@+FNR6SL zXEfKt_%`yDzoP{!!CSp{*MZ`X?6Cz4x)f`Agzt92(*0QCSa<^Yyms_>dE_OhkKq*% z%^g}fv|C6t?c4*#=yO_|&1rWZe?A3YB5h2#pY6nZ*js+R;$UY1kkDUV3G+xWbyzoy#F zgsP$oVJh2af5OL}!qOhHkoKqVgp^?@RTYBT7KOYN-1bl}BGUj_R2@}0<@yiShWj|Pe&~uVLjjAVXsGR=aWS*NQuwF zuh~G4C*@&Rq4;myq+Tj_Ja%#~G098z-$(7-$matbYb%(p=lypey@h&mgk#2KR?!d9 z+7s||04q714@nT3EVOrs=PkxpP_$xgR>~o0)_B=YvvblwJ%vTopIJX)EldJLwTIqo zn^4iO^k@6nHv5H2TzkkiE9SMc>z$4!e=G@haE9|W{X+JEzz%%C^*krhhhz+xPH=~! zl-;m!1>6OU7)^@J_?)XgN-f9%f?Clo8n1~tN)GC3B(3A?DfihNZzpA_zCxq$U*01I z)hx3M@rxGmoJ+mw<{kz4g=ERq*Kz}_SV|`OjPnWo2O7~I;aei7=vcq9_-mcf`pKMm zB5m*c(94tH`4nEQ1=T~8{ti&xP3CqF8K4N-LQ;fG^J=?$P>W(*^$L8SBjEiZy_sgZ zbHINOh$eAga8|9VvYN*#aMc<>hro6(uN%;VYv}naw?s&SkeSRw)eAh2hCB(m6%s9k zHY0j=nD&|8$@dW^#uZsl`M1WVe1eXaLEb?} z)9++g#i?wR!Ejh{5>D;H(k%ne*?1xoQQV23IvBm}fz9el&%~^h&kV*$oTION5$dBn z+JxwAJf2~&Gy!XX^~J-i%+W4^-WMR+3(rOQ(pjkB0dQ1X>t@=lb`gKJW`41e*s3G& z?0eYyDc)9EvZbGRcj!;{4l7xmnp2iG)i#WUnocS21O0P&tx1Vd{sL3=*}TJV_kl@Y zkpCH9HVcoZ-*@M|p3BVGnL31Q1ONmZq=_Kgr0mu+;S&L;GA95Gez6N1qo%HSg9y9<9| zD{8wK1}%hH6L@@%-pa>K=9c0PQd6#4_c|_jT$&>&PD#j08;W9cFkYz^zDqOsxgK97 z8u=sUV8r)nO8%iV?-tRs=saiGMMicnubs%?Ri>P^&f6UD7)vb~3br@gwe-UMoK~s~ zZe`}1ZOFOC!AZ^ccm&Vro)h9e6_qT>fhWn(}?eIQB-AVh6ac9eucB28nv6xFP<=D{}hi|yKKN*t3~lo0Fm1$>g;%7SjdADV+A&V*Z^^B9E>(~X0x zXGI*wB=vB{k!Q=seaLF+Nb&KLI)P$;9(jol>hbJL3BHeteMICl9?c#^3+r*eXZ82w z{nZ+5quotTzF>hRY?h(Axl;@5aS zYx#Tu3oe_v9gMeNIai~(8@QTQ;IdgpGsf*8&*to8f2{)D+cht@hLL#YNjK~|HCtO;)4xw9FE zc*7gVEd5Ow(K?B%ERXeF0_WzjR|+(v3c1CD)So?Q_eHe(CThI`JlEoD?ML~y!PK=V z`2o)NgL|G{Os$w-`3{=<4nKFWmmk$o9zm;HX=O|gC1wNFV_kWp;Lj|n zP%uUY%Bx?Q!dk{hpR}*xD>SvI{YtO;({H4|svq`ijf#qkPPPZ3Q>dHf2-}YquEu&U zB%dQ2I?9h&nv+w}RmP-*>Nw5FwtosAI#c`Gg4{>s8QRj)@*zAe4Br-EWz%qfX^CA< zI+_pWYkI@K#)nSeT}NsE=9r&iwH>!7dYc+`KZx(N1l`|;)jCgECdJks#V6KGR%O|z zCEk$oHfJdPr+81w9X#^U(72)pFl-zB4oi@u%f?K|TgaXd4XN%OM!h>z=Ne;qS5jvd zV-FLP7g0?($d>)=|0mJQO_0-E5t^AO0gWL@a`oC?#A6g8mQ;0&9`}>Ui+IaY>Oko4`s~9bd z6Uf6ShmGCQ%4Up3YQ@|M1@JoZ;B`!3ue`(=DZ#Z5?I(MwD;M!^&QMn_)8Fqeypmf^ zI%3j?w0$3Sbk?8U8Q`S#;SR$Vt^K)-98gCe%es{C9_*$1gWTr-ZXVacLV4B`Ja?cB zQ|T!>-?{B3VvgGkAXBK%pvs+Gm{4Tj0gFDwsVGg=J0W69Dy`JFQG1wAYbvX97pkVi_M4#P%(!b-R@uJ9l>AuY3$0fF z6RP_oEoVE36lP&Tr(s8DU_1MgrRk0hi;sp@SN5IUT4g+-Wc;=RHmf5V+XdCFPS&Un z$~zdwcZ6AKxU;7{W*nbPneZ{B5w3JP7n>$ZX_+E~B=?=w%stbk}iCbn6 zDQMo@rKmsyu(}3YG;;ceuZ$b;Sx(^Bp7Q&iri40S@Y7YS6Ud~LD^FE=!-`=Cj>{WAQlgdG((v9WXzM76!m9ZGt`WedLO(CyjcBG z^&#+ugtd9b#(iVAm}{AMv0A>8@Js+s3mo+uK20WEQOi!axfs1&1UF}rS?G=REALi7 zmy_}PO4!ETXjfML7iL=>%1p}J8azMnEoLX;#0l`V6qYp~b)YO<`vV{74$s4|^eVAR z8t+fC3t!>)?sCqPGdSbM_PUdsA4|K}OE8-X=T1?|C#V4o% zB!#E?eyC&>L6~-mssHwGgo=ydI)VlGs8Fx)i&%fV^FQP-T84>Uk!z4<*5DK5?RIVHn%0VmW)D zx$RKhdSv4})A}|HpJotBmltcR)y%&HzpL~_xx;a_#@uhre~`|5L?6s)J>h&W-Q4^-=&Yq z$gK;>8JalsojV1cs7j<$5QKh3aWhcwzU5lmpeTK@j0=f(HJip+7^>XFDSWYwSpPA8 zEAJR;?MN^`z+4@P$tMq_m%=y9BN@Z{nNkR&EUk@Gx+lF=o=;;Ol=(9)6sPn~ni>2F zEmPGfOrt()PhlH8%xg8Q0#q$iEXJyy2v6lORI_66PSHw1>gr6EUhYw>yYf@NevA8>cS0himwm$H@V{LJ9Zd z^Qax?1c-%!S9MxPOK>gnVbmW<^X9xqyLEcnOyXhX>v?%YuG8na7yW#0xb2v)qX9K6 zCs$ROT3ZudZULbNeC~!f{u%XdJaNuG@XSCx(O9PAuy`Q&kH<&XJU#eFw6H{D{_H-? zcR!C=dWq8Uu)_S3l+9GTX9#5xpVE;JB-WT#Mx&Hv1?9&Cf8v-BGs|gPg_WTJc5dlB+Bq%ZxR)436@=3gmIjVKPDg;9|9WPMIJL$M8g z;qG`iJA~&Z^!gTgevM~&1fr8r7mZS0M!jV|Rj%zZb4&DRhN~rbMEBhFs8S@Qr$|L* zC_I$&Gj>@PL0GD+RqlEOf7)B0jg!Jw58GxK2j2+6s3VBgI+l63I=cB=+NP)V^ws|i z_^ZdTVX?fY^vb&ds#+y!J5i{ztt)s=As&5&-xLWuQ{ltL1iwlgQ4CMV_B1>S;N5Ee z>B-dh+1MS;MjZ$LcBs>U+`%e(d7VPbFY%>8y`RrZhSI--yBE<dGs9aQQY&<8 zXr&P4?N6eZS+MG3h*&=2+y1D?Trg}7wk=WKNibL$;kDT3tN2^b@xo4$O_&FBC$V)1 zzxf^&e@#YtBsr(mJeT5!=b~n-Cz!21XMTuAlc{8_ADH|kWyys~5Pt|$W2avAXH3SW!IsMD~TGn z;^mG8)BBW5I+&<+3}T|BHMtkd#HZ#M$eQcl| z6UZ%82J^7#xk{T8jDA7Me~GZXW8dZ*_0 zHC7qZIFzQ!R%}r|K~_{NMXI!AJyrJFFZc^^6LQ8!ePj4)OTb>^t#Fg3ivQxL{%f1? zlQL^>>42%UEO!`;i^Ky-h=1Z?(XOMr7yNwR4w$r&yty*+%kb%Pv1eW<0yc+$Y*Bt$ zfaoO&2qy-&=%{d2baD#*P-PIPPh8ps7MFq>MX4dLK=dXN?q%Anp3&RF z>ZnL=PivwTaNFZQMN%&5v36b1PmT7z?8nE7kP?#p%RnCZJzAM-!A({-q^H9$cLA?C zQQh0LwGH!5humO%NzRbEZU=OyF*WZSQ2pI`%wC=S9!{T7Z(4As;^aRDQTrzHxi7Ki zF*HFf+*imYe2izjl5Zc=)BiqxVl~FP4Z(hv_By*?Pzp)FOeL(5(u!I%5=g5oNOu$Y zC|fpH_*tn7H~k4aLn82Y0xoJ_aaIUwFSCr=SBQz97R3bY4EC@#GkIZ(h?9cL1t&gz z&|fg(HP~2!@)=C& z%|fRJQbwJzpRp*lFP)LtPtBPk#XZO|pD=d&G+u5bb0wr_JYYiR97^ah0uhd>#ikG{ zkPq!W>y&oSQ5$>0&R>cB-#S|HIw}0@P1deFad8)7%wIF1rq>A7prGTC3(MQdbG0({WPZq+8tSIm*d<}UHL+Hi&13DW6 z>@K2u)yXM%-Zf?*%8M!#0?P*|@O{r5ZI(dd8eWVbLkmTzD7UoJQc$xv;geXbgo zc>%vTgrzUQ9eltZjX<>(5!mPa{u^qM`iae9zlPY{_~a?ya&>iBZ=w@6^Z}kkOYT^H zkXkszjhJAo&ni!8qL`#tm9xc&;+_2&7lo3T8nr$6UfXQD?Gxy-xT*I#o{ph&DDoAK zx&qZ1<&4#zx*E3PETtP4KP8U$oIK8UJQ(?*oA|G&)u;zsoulOBQ^3xHk*dhW(2TbLZ*b^v{G3y=@i zb+iMEq29dE&Y{1-`vz_;YDYFA$#(Q1ZBFZWHLi3x9?)5AeRJ-j5cku7D{l!GyWj??$UZty2mFlXeiAq&gObit&!dKg( zaEp3p%4;}^hsMMJP0Joc;VwIAHd*Jhqsq_H8PtZOv&d4%1)ZYY!#?`;hvSnxCl37` ztz8GBj)CVE;?U(V^fl;}q#oxYc8f$yH3xTdwq=B$s-wx7QR*?dJLZal!NuW3A4;bo zY|FvXs}NlZ&nsk~?%~U(MxZ4vBIVc!3Rjk-Zw>+j&11tl-Rk&95v<}h+%v0E5x zc9XbA568U@x3XY4W3spA>kq}A)}#Gu3Rkp+%w;L3v70euX2=5k^%}0);49+0mLo4* z1nro}Rd1w?CEQ&GvSn#W%ZKh3!S*);({?EDC+O@hBG3-RTUGGLwC-Y<*M=7MrL0Ww zrMn2PAr@Yw`cBCk5~k|qD9dTSi8R=-6?-gCWVi*d0c!d$B!!zPuGIqjYzXU^@?=$K zq^q*kLQ(kYp>Z?PdR>JSKN(D$?(9ZypHmm#p)M}D8qFJ_HCFb3=xQ>5vD|pn=F*JR zEyS}i%J-Don;gqo0E8QpHEYCu|3(Y-MtC)WQq2N0vh!_0@(m^NvL53HC1oCjl=SQo zf?;UwZ&=dwWL!@3Kdv_m#x0?QBe|wH@Ka@bnz(5eO867pj0*}c@O0mSqDF+Bp=W4e zls6haZ(V06d7Sg)o0j6w>|oB-vfe22eM9hkN)laGCo-x_w6h&sy4BH&WZ!^aO=_Nc zv&cR)8k`irS9g%J1Tjr=;F>WUZJc-g~sHWW`2>fTnVL>R+ecVB(5A z68SCCLh)6qC@mC=f+yNYapm>!Z%1>r1+k@#xwBS&blL>2 zPNl{)B)9U!Eyo%J%kgjDF^Zxq5xeDL6oIOoHHWcSYCWi>hlY}{47?;mPh1PIHEwEq zlm-Wk)OYrcy%V;oE$XkWC{u`AwY^dRx)IndmP zy<3WZo5jsQeN91RnS&DOjoqq4EWQlnDscZRv2X7Y?SDXQxR|)6KbG_wjH*DcDY|zP zEqx3_e@4k;QfErAj#wiG?7 zZcfV3@}^>t?50Km30tkSAQYvHfdw?b)rW@{<5?71Rv(0^c}f9J+C$s)y+yIcYJD%} z+lW$&U*zYSm+j&YB?Zp}^uVf&{$)cAL&=8xLENV~h>w8kIx-5&$;YRqu9u>G!noh| zPGKhZV{^L@}6wH5}jYF*A$Apq3}W zc4i<#%FNjJ=j=HhJbyqN3ldeX=YJJ6vN38mjDGJc@n}o?W0fjXUn;@j!ssr`?1J0( zC}(OS8rLoB#P({lp6fVjNiO$mSXqMt`4~I51h2az7L=Lx=x5Q3-takHxsOOXj>_dCv==1Nt@8?La2vqrTW52ac$lq2mMuM zK?oRUgoHjRuOM`TzrZ^R&@xU65$STk+JK?jZkU=TOIMZavojms)>fwXVrmi|tDIx> zam)>0BAC-FCM>;x{EAiu^~M?i{N9# zqL#rUooj@M%9Pw;CW<+>RTgoZ$bg-GR;pjUzn^yzhHmBB=qyNWZ;*Uo7oiVV# zol(9b)Sg0Q@;2cU#lSumgjtn9G9QoU_(2iqu5La%HQ;9_%w>I2dJp`L?H}ZQO$*Eo z?x`vEK9c@1=ZQo5IQiTK)SPziP;$TO6+Z`*^PsW~(U`fQ{t(A8{z`n?4O5rrGn~n7}+iA)x)|eL~B;*eXRr@m(#Wi6kEQ9U( zq|d^|SZcOYuX>tar3g1VPir$XpIZKqYK>)a)#gQuuv?j4H}7HHqSM0n482{3hkJ_F ztrggveT@E7`*cJ2TpKMbjt4cL9L*3uC4>W2v2MRov$ZB$To5fz*%ZVAog`zUS#UOC zli%ROYPQtlusDrxtFwY3WA zzo7_M91kV9Lr-~))PJPBEZK^0Xn7mwU8l`?Htq6#+}1=tVQ}vbwc{wg60^YOHXP|s zGVkA^%H+W)CBfU1@FxCPftdcb^s)#(Pb12E4e`bc za?I+ru#sHPCamL7@~*47if`zL(i=Ql(5}6ZoW}c3RmKmkC93_27My}u(KN&tTd5DT zIp%GrEVXAEchd;Z_zg9&Ilst{9+cxz1*I(yjuk<+9tcn8oXd%)S}{KRg7*b={1G)y zE!pCr%F%RAWhs1B_F|*FU;Ebh`tNu}d)S};TWli~g`FvLfUeG|ryrLvz{R)#83MXTmo%wP5 zqnn$EbqbVJ{YvpnrG?G#mugUZa-i;+(7=!J zTE~NP7pJe+F+{VN=MBl~r6oGa&G%)f3p+q+J+?R$3vdV<&=DVbB}Z$Fmsb}5t0G)| z4{V!o?B*Q10J?vQ{8VMuD?7v5TMfK5?vI==DWxbJgsSz=RMyWB^a1c+#7vd6N?Aw+ zf5J#u3s?OQ_A*NvuvRwGxBy~6oxiEy3g;l6wPR|Vlv}^j+08#v?})fg1o1@-tc2D- zu0X7x8b3D~p2ZF_BY$G=&SFEg4s%>L8zmVITB*nrM37xMjsF>)dz{EUrorn=Ks_x^ zsbqr@W#QUhaHx)Y<)K&AFK!{UHH32{$6t)=JtKCx??!m{nK@`Dxwn_jI%>_2DBvhq zt==nhs1IF1vk~uGP>xk#t;Q?Xx%gL}?BV{xSe+*W9FFC?3WIlSKt|efm##EH&NOd`DQ_zecbM%^ar;lk> zIpi(C$Nkh@z`4}-UF~D?N|fzW$yye`R8|Z!-kELG9#QsFi0Lm%afNBXMPsjNvi4Fw zNZ-pgDjTIEMzL5&lI=EsTGt~hn;wh`!^|$M#`Qk^OtXM&3VfoYSk(LI@LfEMy{K_^ zHy*V=4abcIqRK9OfUmiT672(9vxBDkE0(5w!zrEq=;a>tuM|wpNDNvEt$m`KVK$!< z|LJ8^H~+O|4q($c%RY&BD~A6fj?N_Ez8wIXH7k z9u?SInMhgMkDZ#V+wzLY;@3_tbcxb8csT$(%jV3R#m-F=G zXtlt!K381{X11aRK%>u*X_yQR5h-dh%6Nn(}mIMOFUd zi&&&`m#3?5W{ytEo1mh0HYSJePL?6b}*z0mj>%^x2@ zZ|V-Lj8ckz!zCGanHf!d3z8Sej69_6?;tVDQGA~)PD>On27X{w6tpJgn1GV1N{x=r z=TPo78)Zuvi$HM;ddsoP!-)qEq1~)q zkNSU&&h~^ObI{5PC~tR4xC6&2NX^JjET5l}F3OqG_-D(*`AdMtc+?=m?e2_qPp|^u z9{R^84oTw`cf#FL_)CpY(&BhVMaUp7!gK0MwlX{QXEN&hJvE^OI#3r5597R5I9C;F zWhwSA&)A7EtZL}7@?8w?A$OMy427cQY0O&@yTm~;$=GR})FON#ScUYR({cHI`9p8r35%I*yGDCkiP~)ZPUjxfNwAFS!{WZ(Xn~ zjVh*rnPoX=IkuMtr}UgLGdg_IiRX55=D9Pyq4bh{?p>lz)^e)3X{jq8Q3qqOcUR7{ zom^i{`iMWl$}AwJ(VDzHs58x|iQULyGyuth98*0m3gcId^7i9f&G*nLu1fQnSU(Sy zwtOHVsHggdiJ!(T;bc0f&+<&|PaKqL%74+Tz7+$-HvKn_8g_y0)R|OU^ssrbbv)Bq zo7p5DUtlao2Ka!z~NsRG3j~~GE3wI&$Wh$=vbK>_R zFeifF3sVn_)o&pa`T1;URSR@>0XQ_IjN+oYUy$ejg*tJG`A>5Yue`%rXN0fP+-~kR z&{QjO4g8eLcp%l?$0%$qj?)RRxipBjgPEF%RWnz`rmS0|iW%Trca**weoP~_RHgQO z4--$5^G`v)=f`AR|8NUC&E29LQ*C)gVBObvxSD@zo)bauh+oMojiw##PkgY-T(8DZ zO{C@&`aZbN9T@`wYHFaG1oTlc=Na^f4iycipN3)@oZQYOQjaUwU zs2qL!D-uscBSZ8OCjCnL)}Q1sZ@aU(p9=UPnPF!Eayio|-I8#zCS{=(B-J?eDQZM* z?~I?Z7}YF^9{=i`Wj6UVAo-5`P+FptXxQj{WNvej0qjP$?ki%*ShRh#au1SE=tI7} z5gaK2NUFco(1@XydGV8PPpvFd^WQc~j!>P^jxlgrMMR}l#U8H&9nfM{BjBV!a>vNPpWS*^%F$7Gd1Eh?###hs7 zW3A<)6yF-k*3-<+Z0iD83?;?Qj_q&fwqZnEeeldc43QfjR4ZP&Z55t@x)aL$humQT*jB-zo7WScZYk=`*luRG;b{)ye#K&WfiC0?$ul8?B z`vuAy8%2*r`&Lcz@O!{vHQ9l9u5hVLTea3nt3mClPF<;iT8={#rjR+>MD+QHTr_FN8wW{E2JuosP24MQ02%c${Yh(G;%@nh?fVmnLv>4ZrOR-__DN6nsu}+b7dSVP}8(U4XcLCx+_3-U&hRQoJ=)4&DVgnzdAYk#8iGFq4kiK^Xd( zJC+g1ZM^pW8mpyY4zr$O>;CrpZaLs^ihOQOw;y}UFZlt*3g`a`U&-)zD2wiRkTFrM z25>1O&k1Pg065y8UP6(?nev(sqq>Rs{~G0uPNU{zk)D$lzy z(OJzNK9}0i4p!IkeW(_kWjc}PXzE55vcbtwghibDeQMw^uDUWRP!Y>K3CrJ)5lC0P z6~u3UqZ8`=CYESL2h&uQpvu--Rg7OM;~+j1ABEO`fB%)heggEP!7p53Caj4qhMJD%k(M6wVZ>t zS|n@PD9a;Q_FvJia!~4XqI{E9rBfS_MlhmW^CrIR7K~MHPSq#i1=QsiQS`x`wDr! zb7bi@^U&z|pU9~nr8mPTep^^tju(d`lqOe`f=47-s6k|%uF=;ZjJ(1|vPUia{6!Vs zRVP1}kXFkKTu}jXh3YGjnQM>Z-$iLkF9Y94a)03*u?j8L1IR+$qGhQkeLx#9|5

o_XDejE4A%j8{?aP-7u;@tTKwYCy)Q6IZvG{w<+oGE&fjT8hy)x#-u_m|jWW za)qVXCxbs$su=l~_vsDMn*LFx|4AqmCGVV#(#-5Tb zfmfMFQf7(#o(^&R_N=s&Xfn^>Z(~zw>Nd`49=Z*C9G%=|!8p|G^`)@^7@FqQ1(op7F59y`ft~MS_v$I!P z5Y5RoX6Bif@)vSBxsD`UO>WQ(=dN<{8jshKl=@6+kyfSE=$CSodwm}7^Z6t4xxaFz zX52wm?ojg)6m7d;Jz_SEbQ<^?E73tBK!tG00Rp%O;xh?rt z^PShFwzT{QPxUBN%Xt|X5RY1_9)Ur|FW{i`!g7L^|I@3ohvKn#D0GFT<(-rXwt30K zT>Vac8PqnQ+1oTCRM~nl*Lw7;bx5O@)H6j{EtNi^0EIhFI&yO{>1XoFNyf2(wGcAHS1L< zXVTm!Y7-LPYU|V7i<*BqI`@`@E#jow-?CD6nhQ)!)jo;%U1qL3EetM3yH`(IWVCv9 zS$~d_dLUSXG7O_eSD;)f!HtIW?$ZqZmFTVT6S?zApqUa(K0xJ4`z_ctXtx?}h~Ek(;fS*|EP$OOmwG z$}19`NJ#m_rL4lZ)5JU?{HJEtEJ^Ltthjl(>M-t0tG~>>iVWl)icr5qX zhrV_rDaU4%P7CIMn@@SZp{L#mSl68Pi_I+XtWN*iHqN?+@F<)dB2VaW&35kK`Bw5AA0A!v40 zepFBk#8I(S+*O;JxTv-lZ567**4kxK^2uhojm!7RssHMwn8?4&aImZbD>k5q6Hvv5 zeA0|dvST@6=U23_ZNT%1gRZuvm&ZwZ4W40S=@x%3&-JvFk6`5e1o{(RrOrR4)ngBB zHD$Q(+~{_5FepozuB4am1r+i#dWj67Km8FN%NSv_0CdNozz?Z2bK$AlON;%FrQN|Y z9xN!qkqV%*OK1@~fwvPu4Qfpt`jVr4if(^Fts2d-v}VBwe51~=tO|ZoQtV_ZcONyf zFldI;B6`;uz~0gmt$o=9{?(_4c2B>iend^k;j2$gFfHV+=SuoB*0?jZM#$(-txI~?v$H)ze*#9eyf>eN+HNaG(I@IsStfDX! zn!-j1nU)%sV&wnbqTWK*3r#2n587C&S8-cNk+R3sA}HBE$q zh54$hK7^IOUz_nIno*|eVN?heo=ZEW=E#fXd+`HN%cbyCqm*8` z-_qagEWII~(}P4JhdpRw!HVx?a^9Rhj%6uqu7z-#gcY(uhFzExw zK1TntQk%Y^4YL!ER+Lw7RJRWPa$HJRYc=(w59(~Rb&tCUtyf?0&*0h^wrTZ(N#OXM zyPo&U;B8;NZ^V&51J`WsJ^b{694jtbv6H$mgL*KE?GfWiea2FHi&5BT^n!RnpEJ$6d7JVaN4-w&en*}D z3g4v~<(CDPcLS#j+>~ZuEJVq#WY0|~^k%TpdR*P`EhFLRR&Z}hlv^D(6~vB~A;yfL zl-JV3;ymYDPrvZV)Q7d;*bi-8hyDE=ESFP{#xp{0BZ#j6DMc9lcx}wy3*oQ&15V*y zilRt`sI7Hj<5aF-B(_(phqr^@L^&w_X~jLw`4>NhrbbjW#Mett z*_hf&WA!kG3PpS9vwkex^-ic7-lneNt^QOWWM74%q7Yl7U7r=psL!zS2AZKxK9k}Z zc|V$wTA2swu#`7C-cU8J>WR|y{{w||4j-vn+If+zXNFU*8>n(s6w z9PLeMeoL?Bd(4dShH*-7(cVko(vX^-g#JB0`8^*r0=_P~JB_g?e=)1$3wnHIrsThd z8B_3tCV|UPZ08{Sk?VNTkMLZ-0?|r7mLH-TzcL18J|%yYzDxUI(|ELC6$-6Ypf<35 zHnn0FTc?BL7jW|j&}&Z}8N{nrL1+OUpMywCYRd~S&4UH0hi})G{g&|Sad^jl!L}2Y zzdy&B!Ldh!??>EWGa{8*)bLi+IKR+&(deK2Xl`ZrSs(8r&__d3dj-lGAgZ4RI9l8( z<+W|bSL3Mq{)wTolJabAU-e0g369!g{bX!(Q*y8jM|WjIExuPT@kIDN#mN*D#}gO@tJrPcE~f#F!Zn88@ep6odp zzjrLm(8&(X-x#VwPcbQDe0j*Onone_ z3Jdf2Y)?Wxv%Z0KKWhOt0TnN6Sv8`9J zX~kjbMEYtUr#ELLj|ARP6t9yTLO;UYcpx27>#FGI43yTRcBF$JT4l8gwyO>28^pei zIAaT9i!_YdK97x?iXya!opC6$lIU4)#y=Fq3LIc&hhy05i`ePgT;pQ4XvD)7Q2dh8 z?}swx$B$`BJ**0@n)P=id#$71v`0h7QiFQ(+8eL+7Is~+&=1c0;Jl2-LXOc7l^qHX zyTVTS>yy!t`S5lEzpjOUBrNq;9_v&UO{+$^Wg`xZ$F{&W`aAsZB|uYLlpfk=LsGu1 zvDdb%|B}85_4hT)YO#&7f8wXbF8ZDDR>mO~2+Gfu*Q;5rHRd529#3WZ&LyBM8o|zX zD9${_y6gtiy_8}K`eN?EFZ~jqrUcxM!QH6WdvAOcv9vPve;!fCIe%pLeQNX|_z{7uHtWc*{Y4ai9nICsR23=LQq+bfe$KBe9&<`EIw{@boM|WZr#}%vI&!Z4 z$P}MO-Rpp30mgwR^)AEB@9Bkq5{7D>w%z};!paCGA*!s!J&Xq7*^H-~;akp6P|Jzb zvSEDl2{?@brEys5&77kI3R0X;st*g%i7&x!E>AjS_ILn;D5FbQ#kk%bv@;Doq}P%|?*MD+U~AK% zgjzM@7$be&(fhm~_kEmEN}hL%xl|@&aZ-|9`IU%cB6ph)FSR=eDVK8)G`GXfw@x0; z^gf7c)%F}%wG3_qo^1wv+jX#iCS?_$yh2A}o#FHy%t*OjVYa}BF!VMvl{{t?$3;+G zi6VaHwxs^lpk`E~?nS`*sp#)MzTXBWld*=M<0p**53T4loL8+zy$rP9N8L4YZIqLN zT09Iqx5D)m;Q0kMT^{msP?qO4gCooZ^#ISRFhJwKYhZnN3RAHw8c#h8FTL8I zkQKsWskRC!W%=}KYHi;{@l^Fhed)Dol{8lChe(Z;?~_ecTa3mRY9Gx}t~vZFqdM1_ z2SZr4!+xg2v;T~-cp77`@uahuNoF1V9Y>~a0Cy1s&Fz7;T?fmqGLkwqjOfGt?!Zf3 zLp|<94mUBJ-UN1^<8`zoe(a(-PGI>V^7t2s<{vYc$w1DS9<{CmH*4`fFIYq;>Q~>{ zFR+^h(T(z0&-wJU{Q#{vjVE-1F;Pjq-|=%-V%4Tl#+9fA*%-eP0y9g2(C29XVeniH zqC3ED2bz3z+=+hLRJ2d z@`8#<3`w=L$mdb7cV*qB#mY5k4y7>I+5}&3Ju{8uqf}cGb0q-JUX;f!qQfmwiv6a`9&In=v=Tp zkKNpcy?V~bdk5wF3~Q>D0~+Gl7KPE#iSV>;??`fsO+Yg{<<*(74g2uBn{p+Nr#Y-r zdCx$07bPu!m^GBpO~p={#k>|4Z$97siG5uGu9t|O_EF1DgX&Cb+-Q_UD`@rryE&jX z&%fff_(xN@uN!Fkbhds0FSXj{elVQEZxoM;ud}EfJ`B8kz@vfxY>w`l-UWDBq-ZGq zUrc2|gF_g8dKI@#LoJ$-t_n}J*x20J@^QpRvCyJbVX65eEz_VJpfd3>@o%aUxfi7@ zGW+Ek1IBz!z5Ntq)?=aGG8fH0uMS)4fqP}Q z3?qYLF(P{(Eg1b^R|7DaM*jr6mVsnrlyo$0mQ}doC6xG5wr@dKZV?S%!SWyD zxs^{p@Xa9*-Ur5GKyorDevHSn5bS27$@1PRlWXWe);>SJz(kN+2;K{+3E!i*lTqri z)SWT#H^8$VSN0*Eo<^@%pd4*pIDISTNJ&jkgU|MjSSigF3r&}Wr;QiXJK-&VR=+m< zY`rGKTpW~7q}gmVD@$xJ)F);5G|#qdZ9}v+1m8YCer!AN$jkjqgKNuCsDs$5r_}Y6 z+)YzB@EDJFFv?T|y$#1V97Zm7DG_F7G6xhrTnc2yrmB)|Th~Hg=at~vSRXk5~ zd)x)l-KfVVP+bF(>nQazT&waKmwZqA3^<-3Q>D4I524h`aO~wd6>Ju9hyA%nS;OHl zbS=DH!11P#%P3DBn!^2z1j`v5eL4H>AsfAw|6hXh^ndWIjUCa5xmMKJtT0392tiX- zW2$MW5Dd@_FqRe7Hd#%5uee0NQJa^x3qNg@o+=No5#*K^QkG9W7i@+)A*g(i=1Yo> z<*Wxb%bZ%oTy61e3!$6c!A|Wat5B%#$;G~7mYUe!w;)~v7Of|S><>cu_-zAh<4DT? zE-D@6TA+IcRhWJjU`UU<1^8rxP9a|Khf16l4tVHmJGY4ccVx!NU9CaDW>3CpiAV zOgh)WeGnL*0@=TKI^I*fqT76P09=n?S5FWdPezsJfueGSpMu*~j&_7!E#}V4;a_Lx zn!~7VgZVrIm70%DUIM=_a1;v9|5KK)G5l=9Yc?MZ!$DRwu$tOgPhlps^fW|;x=_-q zW&Lcs^j7U7Ld!;Yoxr zwr1by@V_A3edHvj2SZ$Z*}T}zLa1bQ*c^)tQ~_{~4btzZ7f0B?BdpFyjj2SgbrD@4 z&SvOGGp^OxX;F!|7jRV=3p-<>whLWDQTyn3<`W5VLtjcPR_ecyljYR!^-F20yl2@^ zwW%cVKdXITD^oNf%W>7|2|Jte?822RT2ppcB$Ha_hj&8X#DlIIto3 zCd4Z(iVaMFN1VpJNxru~TAL0;dlK*WLp^Sy$V0#*kv~sX9LAl$=RF3Uw~Tj-3uAwW zbC=<4bng*7yG+#d03030VLgDik3jn_Tz07eKXE^o(BL!FR<#`r=P?UEN9|zSQP%}< zaXYH?wOStfzb&{TYH$+x1x( z>d#mz%nfDzGVqN8MCBO?SMgR%RJ)4e8|z6Vj%(y&JS?eZ02xKTb|jHPH9vRB$Vl|+ zOVni*Wpofs&!V@cf6|(LgYb<8lSP=yd6c<6%AK#|nrDJ*5$1jQh_V`jfA^P@ z=^s2Z(K4Qie3@qU*1R@io2jb)3mL;mXc(GiG3~ux1GP1TEi%=1d)gdVYQc`pk%XWk zQE^#$KaD|_uPdKOEuQKT))m!E2zE{JOZ$MTvXxp9dkQsmEg8|P#O^!z{|3)8zITSG zEt0(J4D3Z6O1mPSRA)R`^ z3+he}N@@xt%X?!Bc&FCU}GpJQ|1GRE;K>Uxoy zunpd=!ISNQJ}D~s92=@Q<_zA`EWSMiV>h9;EwBeC@f}K2w)Uq!lA7IHeVWuCOBfo{ z^u3`OU?*e)l!Tk@)r{3PkIVjAV(r^GjF#G$v6iS5tQn`m<=fqIBY7x1JIQG{YadfIq7>TZ#~`DAun6uC=kj z#j&Ou5BxE_>;*&T;iXQeN9G$mSw$6{@w76LQT-Gqv?T`Y#&Z*q$7Rm6mD)2Ld~3OX z5wDyg-dsim6(66dB-Tm2G5>G|qLpzO3tF3T=UJG2qcG26@H37V!Q(ARCI_!1Fi>kY zX*S;IT=Ow}fEU!pl<0CA#*_bzC5_2UgXuiYu%&fP&J)9^l~k*v_NG=3B+I8bZ4G50 z@AeQ!*aw%-pjT_S#{MdL|F0}}uUV8UQ|~mE+c4DEmH{$!jgzvQdYE0cJ?&LnEVCrc z^h?Xpsy$PT)T`nawP5Smii?y3vX$~|K5Nam5DA(eGSk~sbgu{OnGcFH@!-|sq&&}Y z`0yJ#7L8do6L9}8xVyG)1QulgW&8midL2|Z3%C}cO|%RMtJP>Q9&cZiX&{-v)#MIB zv6p%AVu$eCboj9K(CqeLHv!*b0W5ezZa}lr-2u@q?3s#abPIm*c#c$s`_zooUyzqN z=hVWpeCy`$>Y}+?6XXL%py%Wf+q=azCiXNpWJ&nyG3%1!Y0bR5cto#2PqQP*Z~7I) z^YDvI|C@_F+&}LhaCooJ$yMMr1%~z{79Bz<^yB>kzS)31)r>zE@T5<`X&+2pG*`VW zXf66*DcUgn#6vMre}^iC;Bd^0b;5B%Dkh%KN5<{z6(=BSM4p9)zde!pz14> zf_D*=e+y!R$<)cFsNEQzY9rPL1Y zM|xTn3Zpiu_}m-G!Tf_$uR2E5lG3t;&@IrpAER38@2TQRBBT`Uqa}HZ05c zpf>@_GZ?l`z$y%ex#K94y?i%|E1b`@`%v-nq3;oCh7a|P{5PJ#9%7tfYFaDYf}aOm z4YXJInhIO=B0op{i7YY^I~AMAACd)?XRCNcW6QON)eM zs*fHuf}!Pz+=P^TA;T@$!&nz+tv*@g60kAKQ!<-sagOz+*0IcvDp#P4k@za_NOMQ( z2#RNfXb9);0>_eqT7P^?oI|95ZX=MMIN&-@%b3cpatC<)^f!b)c5yL~lPN1N9T~)Cr}N-Hd@J6ai)-;F8%Z z15fk7&#KG-QiiK62-;aWS~!@dgpuh%Jrt&h3jQ5M^i>9c&ZL)o9cz;vX&<;Z%8fMYV{0sWp5T z`qw=ZWVdja$M67t_8A(R+8yrg2a{Z6aOb0|mC;wNp{{WWx$y};f=zvhSBBup`~;gW zl5KxO)E3))PA`#k#6s1v(P~q?z=dbR0_K7%<;cd?U}m~fJ}xyV^Ydh2Ymxukh6+^Y z=sAf9N|Ir^M%~MWcD(ZES1AmFF~O@OsJwC0d)1j|DKp0sKeK>XesC)cy4k=r54^mM zjn3=6gN1+N`=+4=qyWnVJny4Hmtf{;@O%JIulSzSb$ELVZ|NRadw^27j5o9mpLZtZ zvYyfj*w>2ayCa&b*5d$8Lqxlnb<{h<%23sN!#uE>#$MxX;Pu*3q{L#S`U%OOl_eFD zLRPw)&_8oD@YD*~?{me|V9g4ya5+BaTHk)iLTm)vMbyxrskbkflO`)Q{R#VgKuLd# z-`W8*)gL?;N}HB^!6&e@A93b1n0boq&Q8z_BTMj%T&-p-aj~E^u$o`tDc-|ke#ji| zomdTSq}Rpk#=9!;r3rD!d){>z5Ke@v`H9=(2}Sa3LQFK58j=XF>KLBSJuG4@SXz{t zkeRyBfZ32T!%IcT>A*4<8r%$QGlE+^R5&vn%>^q@618MwFWJ^Cz87_tJ6?pJaF}|m zUZ%<--bV!hPfR*uWF@>*Z>p`_ z-2~Kk0`HID$Nk8C{6a?UC5R^T9+F?E!-XA!*IIL`5fNu9JgYLO?^q&}S?KUF`YK#- zVl$fMCw!U*ynl`#a~5nhGH5gwX&(_}QLnW(oH%kYv(S$5hI;M2Io?WCGAa709=v_= za-Y*?)7OtatKhfQCj$MOj9~=I_XaOE6_3nh{93~Ba`?F=u!@bD4=pRal>b@`gfoC> z3GgkA7R2!6?PP|d31P3=XP$u4X|84i*5wOo>P8-C(cRy`?{ECzpUFZbLI9ueS(&A$ z_=P{i(>t*B^gnohgw^Um7E9SULr{7v?bLtM*I;M+UT7L(_BpV)Vx6HaRJDiHR@@X9 zEgrRFtNq%nuGpFYo~A`32025CD%Im=Et;!{{#%}#u%MH{Z8hIqg9Q)q{4{@52ERo5 z)0%b*%lIj_vo@^B51yKRsx|TdZv5G!WPvWzM(xnv{~aoOg1p~JvVUi2B_E7djXa&8<^jjDu(Kueu4g5KkQyaui0_rspIPY z;Wdn;_VmQo%);(`4Pw7hDz9mMNC_Cvxc8TMzR|g^->|LseYLtoJr~pT*O7>?9X^}1 z&^GE-NSSY>_j(#W!GGZ+?DWvS$`uGX{b`FZw|G^7Z_m-nfn`3q#i@LwvL_ zJg1btddK0uAEUw#DT|l9`-^vXIlEue2*TA@~Sk7e@M->nJvSZDpZJ}`HG-W&v4V;SaRF$(G0!gjK zTN*U?(q>xB9m+Ky##hM+VhJeiM7}>;l$tTZn?~Kp14A35D9K>fT%zT!ysqYPlCwsD zZyA2G-IZrEkNQ=X_TK!&#h-#|d+PID?Bru|)nU{w&6KBkCf~wVkJqR0Rx=4da*O|i zr+T>6!oyd-T&NjhhEIU7u~mo)O+AdW0ZYv{l8;Pg%-id{V#G)BIPgB1`d%40jseUwn)*4dm{B0nOQXCv_>|_sE$K zLS@g>zV$oYe1x6c4U&gx|J(tCzxG>PM&Kdca^m1ey<|4FJa|RBIPx~X?kF0%LA|=m z^9T%z?d`-n8-bNh$DVEB%~O8ek@&U{j{*2uB~cD#5|UyEU93PZ?+=cUklVaNIbWo1 zD${zHJ6OU!T%i01vxZAA=C>Zj43*W1R<*L_0_seAw~QM>q#KhKf^@X*ROhU%`1L(F zm;f}BgMDevk{FwtggTG{i<}i)Z(;vS{DWr)uCAQl+7X~8EG<7^s0DocH-@IDhP~B- z0Beggg`D9oJ}O_Jy~JbX8-f1PtW8C{8yrLyo(KEb1 z<7X1I>SQF32$bpv@;lG)RQHo@Zws2?)Qi3-?e}bZjC#K&cW@A9Y7EgLu$<1fA7NcS z6jY>NTb4I|H!nCr!p>7Pu^D5zIyFZ{N z?cw-^&GG88ayip$a#$Jh4XT0kLv-~WHX$4SR%(z;#3LcUiwRc~co$%4K|E***8fwl z;=Giv@~XxtQ`W$4+SY)z`p)nRG}(HP7@9g@psuPF`V=Uv_7HEyZNoDzc2hkxi(&a< zQGPFA#c$N;yVPsVDt{8c{WCm*W7yB5pnL=`F9mtk_;`!?QNp$KLrF->#|G?TeLSi{ z_~}crk5A|~@Rru*JH#p9gXnfzKEKA_)tU}1P~+Zc^JEZJpP=Kk4acR_Mxk{_i27Dj zvI}98#uW{BTf&dgyc>frTo@0x0GW#sXh}kPE7u?gvw)hh8B5$0rC5axtAO9y5tVI) zC2fhf(}rlLC@ic`^wSAD`aaM8-bZ{l5MNq8Q@D2&y>7%KJ05rp_YM}~9yRS6*Z+=a zs2Fwa6b!u&qS3ItiMaE$Fgh02G$nfQ3g7w-npOHAJU_t~%nE}{D~(0^QplYa@$6K|8im|o5>uIYvEuiYkwzKn)x zzRkfX+*JNcbAKjIdCWbfKyM?_wa3ITIo%s5=q!AI?38gU(A*40Z_!a@+;7r{;0Wwp zO}0UE#ZLo^cHmGPG)ADqr{M2RbhjaS?&Z{;Nwoi0CUZ~)yIPxGd9~q3KD_Pqcs!l( zO)As!y_@`mMq_JyMQe0nGpZhg+LHqhSZzYb(Y|WnI2cc;FJ5vP@(Ydm`~lqT&N>c* ziEsxI>(&9wwAjS^oI4loud(UpbP*ldf|{?vi{41~;wDU0i@DmpuVRZ{!11*Hyrl7A zXab&E?f5y~QaYIH1I0^UavmB_5@kINN#mt3H2mzdy$WGjOXFOyr?#4xWW8`L+b({p zuZgfzd#8S*9z^PatCg^l!<)6vUG(H{?9eNe=@-1B^>E}gb$$VwbpVTcit;{-^>n<~ z7(T#6IQJOu=ds`K@&ekp0iSji?A#1LhhtgWuxA}!=U`Xw zlPOBch?Pj#)dgEsmi&A{YDff`-Q@I}%|t%10{fbzS<7+oBy4s(}XE=ENeu6o$H2As!0w zYzI5#XNqeoYpJB(YX|9~9#UIY?=@q`b<;tLKnB zU1jX!?v7>62{!26vOzd`x7;G^uqkN6tqd`GSS0R_HP85ki2j)w79rUz$M zy5!q~L_6n*KI0OD&ZdU6CTr1xejUldv@1FP4(R#UzHPqjgV@*I?R2PB_>}^eCl!6 zsj<*`K{P+HOKKj;vDrOQ?c;$Og0*-32=_-o2+)-yof zSgj0^Dv)rsXe9=p5>S&epn|&{7e6n8s4X1*NCKum5p!Jy%l#m^7i`b+=@jMj2AxTQ zhkge?cna)!1D-YDdwp!=4g8yj#39Eh`y*g=k|=Z@O1l=XWjXbI6#E`x+giBx2imp= z1n*#_Hj@L40s}WGj22Z1nC4-M> z6Er*v*`nI8^<$9PgbmM*$2^m3E)I9fV?!H|BO1;cpF_a6Kfcj0{Gk=(g!gis7I3N! zQDY%`o8`nhf5=ff@Y(~f zM!pBQnb#w4Mz+w9j6ziS>8JK;imbhYEqbrt2wU;e9@=J+r@oPgB&(`iLPhQ-46m&? zS6Ko)_)cG*o_=U_X_!Q>spW=}w4Ag$NM(Yy07>JsIA zn2g@{XxCyY)2VvJfEap+r+XtFE@imt4-Es7J9jrZtE}z6}TFc{m6#EY+87->i z@KN@{-j8rM%-- zL2K)gCF<=>XGMti*t%ZW)!D4bv&TK)w`--P{aq`+r=ouAeNpyM1L>hWxOF0JIQNSPO*h{m3!Q64%)7Ug5hr+L1-sz+JK*=l@yk<^|FuS zelYvS=jU`R)m8e$odfqRuxSnTVF1q|uw(&TEr3P6fu?Guv&n4N%B%~};->gX-@wxa zKI$uIiz@>|tH3bz)oIF|Xbq5xvzf<kDT7yLQus)+L*?G3-c%y0adWYbtOe7VJVs($2a}CxP841T zRQJO2Yxq2-hb2HZ;2juejDx*1#G>4An1k^+8 zo7F>gx6@Wz)wjs;!LkJEs^z%l{)TN^HP#@7;N`pZMCVpy836vKq7u{7YF&@#3P zF)>V^OjRvL)t>sT#i06iu!q{OrMB{IHFj6~CxxIdP2ZhPVK6Ep3h3b`h zi->+J_U8#Xgj0CC=kSKkqrA_Ewp={J=Ab#6dR-0$JPn#>KynePI+w>-lyE1?y8@Nm z2*&d%`vKtC0{&DdFW4PM+X|qaX_3)*e$5Y6nl=-ycGCxh)vu&0Y%LF-pR#p6{Qm8$ou|1bHy z@@mEKcp$8HviGU^Bi*L>XjO=-?zyq>+SJ155o7&E9$}}S6}kpv_k-wdIIDigzfj)` zy5CXau~4IZ`1H@Pq!Ynl1P}GFU4TVA4hN;7Qp?^v)L&edNmi*h=Vfgop4EsVBJ)d{I@u@Nq#crc-Qa5j{x6|9rie<4ve(;z*69yI{6Vi#}Rs+unIA4!i5zh6b z$0~)x*#YSLFSNCGpdDu;cvh#*|AKF%H8)ei&6?mkBA_Jq60}8%a{)7rtJ=x72s6`G z;b&-u^8f#Fbrx_^RsZ|H=iUoT=fbk&0!!>t3rj7zbSqs_(jgKep&%e7hzLqZsDy-c zD#40JY{-tKtrt?}5h!qO~6%g@l&yD;)N_H#3N)V);7oFdzxYMN{G z)8gd$mg9X?!*(4YMmZMn_xsQ$wK?XOwD-b5wD}pWI*6@J1FfYsQ0jt_I8=?EuWJ|< z1*1~5Xf()G;fSTl>{kG}0<>p5|I_jMXBatvdt>&i1a1?Z1mwRAKLw}2A>m=|{jw2hGCcw{~2t${-yW!|I6OC_P4V9Kow82Bxx_h-4 z+mFF7h@yqE@wXbiX(ti$K$QDW{D1NCiOI(Zz&(74JnkwoBF_U@=#Q<4mp%s3uy0v( zEk5F1@O`PQuob4l+CD7q_OIRk7EyUXLea)I%Jr$zBr$gTUGyjyk#$|N;p?!W4@_;m zBGslI2hqRriq7K+-9lyd;@{px09`<$zi;mF&S3JKi)lv}>${Fra;aI*xv{(v|OCRWMVW3%FP zN_RIf68RNbn{R2qI<(S^fTnh$6-&?#eeq|mg79cq@-gk%4V5hlM|8zXyJmAfuf?1A5xj-JtkmaW4PKH?F}{#j7M2+mwrncWXdbMU!TJTlVe zDR~u1PpC!Th@oeF4=2aa%aoaJNpDJvW%&>-nuR~rnaoHhKu)a+y; z>!B;_>dIpeh(Pzi%vNC}3f9HS~A*)g|Fw0c_$nay;j- zp8aXN5wuQK?uB7v4DGDdeKl7n7K@piv&aa_F+9%+t1|E`HF!qQep*F25BCrd%)quZ z9Jv6W)a;%Ne0nmzKaGP=jeV@w94%zWRc zWIYOC>q3Z0RcrL2o8J^+@3tV{5=`s!d0lO zQlZ!j$s^vv+t;Yx9%^MC;bnbGZ_YyxSk27E|3UM=_7_$`_6Z@2qYw*vtroo?W>#zU zp48XIqWYXwUU^E&*Qy>~TZE$6X}Rs8AtC(wcKq%PWWeg;3#l$LElOJ!JPVLjc#QqL zgDZal507~1F?~Mj6%`{HUcr4@2g0Q9Af-t2;QJ-GTPDGI+7DS;Z!CXqKN}H zA@tu1o?EtA25P$=7G29d;ck^V@Nu|jvDH3epgbSpCzN$8YeyBa*cqVWre+4_#-}^) z6rnD%2l>n{R4j%NBP;Wf0nJs+l87jDD=K>rpXh90O!qkLRMXtT`^k$aHO;3IeG<{ZqZP?TRbgpHfGdT-K=t2c3HKxim83ApBrSYwg_n( z%?MHJ&k9d@O5&?>@T$Sp$Y%)szYO{9qGYB!G4k6Aenz9Txfllu2TxVLB_tyKgRJ}o zynt&c)KMyY1`}6r;I}5CM`xjxm3^)Rt_9JiLOcp`)QY^5mKOMvnK190zi8n(u%Ru! zWiG7QTB-r-V)r7rE9#7i4Cwxxls*xR&5=dA3Ne z)A6}5ELdwE9T`&{&$xFK79ycLft=2J^rC}Q8iX*C;+v%?c|j1W18O~qv=W)$;bvY` z_Djwr21Luj@ecyWs)Aw^4XCeHg{{bFKo@fS9^*nQ_@-K9FMg-V%P`*muPO9@^6|n! z=m;tMuxu3T^vuR8Z&9~=7IIQg>kWycR*4m1zWt=FNzhTnS{+0FkTOJxX(_IyYATVZ zZcny47GBmNubjq>0M!)WX&7fo;9jA|Z+)N!k=n^0RSeo2B$df6 z4~mWP-D}__{6X&>fI`hBx@5<08ML3W*86yH?^{m(S{(R78{F;cCxryPFgQExVL>Th_1z6 zI;)%ZR8@kGWBDo1NGnQdt7cD+GrdsSHjELdGN>B~p9v3PCxsPymZ{caYOCF@t@3Csv-MwF6qN`&yH315Bkh*jYCf5KAS&Cdo9@v?cOmi49OA=6h1H)D_O0k4o*H2_f!p$anu&&Dz z=|s?h;%yrp8?0Nz%S_Z=XY3pRDXFb}jeZWtg4SYm)ks{-)w@7vx%s}%pBMlkA~_R?+y6=k$hieuqq1gKcjE8 z;H-OqZ&}W&C+AgKgg%ym+3l5VZ5J}{TqYCCn&`g)_!V%@;<>2i=r|qglzAA zxI2g*_!aulDqt_dILATsv5!&K{Pfcg=_M^Wi!V9P0eH=y(bHz~p4JTb5HD~!(RC(f zlMkk{>Y^!0Mt_dG!rkev<8Kg&xBS!=DXq@X-i1&QS#7c2l2v29w(p947G<$e$lH28 zi>Kl}s;_P0lCS0e33Fl_wf}y?CCC| zu7u`CY-M`-w)~P_)QTiAr(szfRp(#A;_29w0_4BOV2!GRw^o^KOuI}5MXjay9f~{w zTcj$X<-~Lw!DcRbh|8#UEHyKq;ckHJCLRR6a&CwlPK!i;{LlRp+6dC*fUd5Nu8l z?8oQ((JLm>1Ha(iA)wipGu@417sIR5nivNeJk`2z$Pqm{x%I6l`Tl-wz(VO zo+aa69AD^P@N?Wt=+!s){`bi#++=L!GUF4S@b3oEBjQl&C^T*$KH?2Vug{R{j;2a) zFc$L}m^FY!v1nCaJSELD8xESQ;nfzrq**BK0kBk6$Tsc|sr1{zXv}TAP1h`eL&srI zSK_@1r@q?^!W()_}4`@w_l7>-rF#V86>=nj@!L8m-mX3KaG*$`y(&XhXc5 zf;y$A^px2|EhkZj@f^J;i2cpBvE&z?p~UO?9iL!>M&KVvOBSLeKk|1v_VQCk-%Fz1 zpOO7NOGaMx)Q#OAL2*6f;|Iv?Z~6~U@yy~WWffb6gT>cst$k&YwRl=A#WPS*x;b~c`xx4ahy?}q48}@wTY#?4K%(!k9suv@v`oGS2b}AyzQ&JIIv~*SUxEDMaOxsLD z3-%GK?WQ6{j}s{DFL+R@^x6f+=Xt#!f8`|}%R{y;fM1t6<|@9e5NM_ZSLN|_jge$L zj{(<|_?$yH>icZX8o)dg|3l$!G`idxycQE>mLgkT1^=uvXZ{Pl=PohYd5%Ac-h7(+ zg(<{fooVvjjFH|Y0-42kDwD4Yu?f7|Mb8__IhP|=Sw=+rh-`cTYHlhsUt+g=6mITi zoaT(X=RZ8v=0Zt-#V(7R{!2G4y4DH`=itpgv$`t$g6P>QdwE8}PMLS*@E~wGB@Zc(Kx19c)(afe@YrvRZv`9bNWg_<_*vLazow{gMacpe_R(Kp4vx~&$ zA5a572#>|VzTGDmcM4q3;3544W3Qp)8Hq4@V87x5NM+)igS#Qm)L8Y>8zgF zhhABnEzg3i6UIT$$NEFkT+34XSw))G8`6=aueM%DtD7kMr}a=}J!_!1IT>dt!+2*E zR5lNzdYXm&FXOan@P@RqL!|)+Vg$o$SkOyEFb-96tmXK;LmwrS)1qe8Oc=b_XODe3w?18 zX#Pb6G>Wzf$1;_q#Z)!a0iC_%{>8}n1vkX=J?eXw~rPQ?^gYN@{&gea=3VW3Xu3ePwMLVrANyu2iVqBfAj?nyL;?k7dY!o<#9F zCugq;nasR0?lJUt7~bs|S}Gr&M0xn3ny(4`V$~mSfsYx9M<#>e5>WgGh5Z#=-hj$w z=a`B1p1K?Gr)HBKD~N}f$Zg|pj6ufm?*MguF+=FF)F zDdiZ_I`KrQ&(YBmpqCYe(0U5uWGH(S0`>HqMGpF`55i+Om*J@8J-C?IY@zOH78#>T z^dGGUx`eGI@Rmlw*({(r0Ne68@p1w)jlMV+G#8?`i}($`i6;UNrA4B!OLd9s+A(^1 z#{Jhl<<7;sz2pAvru;v62C=c2>aUGNgh3El@l=Ruo9+n$?^q67z191ASMzqoVX;wq zY%#T?WSU!_BA~&|hzib`9*pRQ;oUYPUsVN5nx0XWTW~2Fgv-+xGr-jBpz667$R*Sx z%hHPYuQK*A9G_y*Z1LcW@b-bq(1T}K5#j# z*Ayp@Y0hl=6z)6Jrq?#D+*|G+R69qLp-T*R65}!N!|X%j7v`;WT? z-M!*^-ueGeZ!MN$pG8oAEk1fj&w_WMEe}U~2rnUMV^52|<*|)fq`c|{(pjw~u2pWu z)=WgqbDhLgc59YhQ@0IO<1NvUy7a&(kgP~;bpaxm2x?GrFz)h*5x?nJo?qc+3|{BE zc$X{SRXO{PEItxAzs;W(0uLGhnbzgY$A5N7PY-U!@NJR*zx2)V(CLY z$d*iDX8Jf*^IU-H%%;~(;`ePJ;w*s2bkW4ouNyM2p)fVPKcTapm%!Uajl(T)^}XHy z;VE2%gl_hK@U;-M&#mXHkJv31Ej`y3>)q;=eb?Gkp{=nMyN}grc}E(l2qot+&k3cj zuOgmWGZI1hwhxZV zE#zdc(&(?Ab;bVfb}E2aOZ2`4(P#)c%L5=bgFcxY?)4xu*o!>%^uXHT8O=)ik>(~X z<2Nm5w%j|6T_>QPwJMeMT{!D5WNQz)8NCf~VVaxSdx-k{_8*=?Oq^1?+qMtlX3-PB zEYB?StTh!wg`|{KQHqo|h_z*~{))F^vffj)qLnpuP2LEs-6AIj*2Hs8WvN)J52o*- zCMEHWbl1w6nnRTv#l4FLAHu?&#V<*Zf|a4=rUvo=SILJSBMN^HW^M+7i?mP-QBFk| z5kn@vB_6|h_p1At*(3LfVk6z*_>#l%x=Pd6AM)%=_TEnIgDOC^%4Q`pIyb2o+!2UF zx8ZTEh3O0Nupi*he!w@`dW1-PT3v4}9rm;x*s8)UibpcGgn(xDfYs4RTMQY5#r)di zj6SqPaoZ8WWHL9=r^#$ffk)d9Ea$@935;z{;QY3btC|g-TESxrd8RM%#-r%*Qrb4O z)*x~SJKZPlIjYL8x?x_3m&BX(AD$LPp{iCFhWh{Zuh14M!cU0mZapBOFMrlXHFjKu zO}wwIx?BC$r!-0?8>%aprQ-Lu!+KO=ww2b0D9t&RKwrzk){+6G%?h5e_(S>eZ=aLF zy}*cK0rM68UDt|9PXw`=9{w-7nbq{eu6+-SPQj|p_z-;<^#aP=olbybB1I0dx-CG4megN54=zSH_ znyP^+oP!vc4lNyw9aoi^W;+PaY}`xpUUAUWeAF~xnh^Zcqw%ZAA>4Gj(<`gd+X|qt zJF)gF_?9$gCckeIxym0HMVJA5_1!bDp4Z{$YI?y6atJxWvkrZ*9<|hcVB=p@eC{Cf zbi9;an3vG2_aB~?RaRGptx(f{F;2)>oW(Zn6Wn5R1$K)a>6GdUKdG(NU|H8-Pf)y~ zhsKc8qeR{D9&0dGRt4Nr!@{~CtCc<~qqJJ3>oIM-2P7YpGfLy$qW2~;ozS_8^!LK# z!S`Ssw)9Axn+->fBe2DqX(ksb$#BvmP zDdXsaG-~K-?aD2D(?+srt~-i3W#yR_od8YLeEmfz?vH%e49+LL(b^$-i8D2yp);CW zh%<@@G0g{+XOJE3)v7HT70rPL$7Anv^L|-uVNxt;7cvXgIctycmP25*6CHSo`k%*B zYt9)wKy$;f>08L)ZpNcqkLNWE1-V7tV+XvUPK^CGLUs4LH{6@=za;Iw!u&CGFhwlr~TT5Ru9S~?SP z+dcfwSp1jcw9bC?b|bCx8$Dnrd>)2&T{m^yZSbU>`VE&0w9d@oj<|!||swBTda}~tK zytIg_k95uU%qXwTKt#dV^r%ry_?ZaWzyy-(jO&q(ngyrFUKF>*tHxe2_NRM}_t3VE)_EXx1gghBA8 zXKHyNX7PK=PBG20Qc7x7*N$geOoP2Zv$BP``h|QVt){8D4$@)uU1hgRV~6fKQOvy1 z%G~8S*Enou47`j1-JGBpiTcKorH`ft)2+dZiKWRM^>{zCMC?YvEDv#C|;k z)7{{y6&Zhri)ZL@nhmp+SauW)-NsC)%%&q_>AE7Y<|jnMM%8bn;&&zGuWA;v!b^>_ zWa58P{Jv1mH$5KQQasgbPEma9BBl)FXr z=TO3jWdAhlcOjXJJI=@S4OR}v4h{e<&05hqn+4&iG7YLBEXXtYL=oVd2OJ|%+Z?=~ z4XZx_TX2F5LJIV>6dAz8;Pwc9{s2R-;{8q}({TnV_i>?OQ?cw z6~=Oo1J{qyTGx9(l#<9x;}!Rccq`p00x)p1JhDnDduK5fM=c^+%S)b(RZ`1M?Io_- zjJ#D{;iY-|Qe+_=L{>)<*QL-Y*`5@h#bbSPnZ}%BI#jkk_p-z#j(dW9?QME#b`-ZT z>@1BHkh`?PiV$?LozZ0$7!#{R2bZ#-Ax7DP;_fA-pxx8-NM*R zHBjsT6MJHNK18cpU_(Cv}4!FIZ^cc zb;fT`#7G5_^U|>75hdr;b{RbG_5skTEBCwhbh*!GN7aMZU`^X`j z#d$P?({fDPTN^LI0gl3R~K_*%~)!!gac4XSxPoZf&AG^QCJ8iEJ;&yhR zR9Bj$&na772@f>`+(|{0UkAmj%(>>``APC1sd$zdhQ^}3S~KvzfDU**(dgT! zc>3p=|IFGGgP2)GR=&?hCiXz`khGtzHnE)6k(99&?ixKzNDJ6i zBs4QG*3>8Go(liFGLL$0Jb%kjlaQLT*ZSRB-8Tg_ep|?&bVZ*VgJ}tRLo5u{sw4+^ zcGJm=Wp&Mc#(ImB#nI{{Bk(K6f#nu#=pB=dz7Y=B8=EDT^`{UN=4 zi=@@cApfkMYMZdJ3|1eI_o~mUFUXQw?^hK<8tatm>Y(REw@Q2caXkjdy)`%^Rr*fBQ`T}iK6FXE8R<|dAx($6=K`c1l$oco9Lz(tH@-*R)J7z-FFS{uN^;vt<4-i4CAE9wxZESi?1_OEQH z?s~^+wEb(DZvR@w>*`jTX{<^xMW33Jtt%LILN`A*?dWqUL9sBrtd1%cCtA@}FLLp$ z09y;u#;eIz_k<5s_(TtER!v6hzhc~B82H{HvuVsDI^qK?XnlC873ODx=}c5g*D-m3 zHP#9*dC5!U##&dTB}SsLpVG^l@%&@@Q8P4b2;X*$JzwDwUEs&u#cDNXT;%~diVOI* z4~gw#OmDZWzr}Cl4JHx}1;;G#GI`*cG6&X{DwmlFZsw!kW#M^tcv})>Q6+s>@_5l` z$9k$QV(3qo$-u=A+mV(YDN}Wi=7l$OtuWRthT>44{c$8uUjaz)_Nt&XjZ(S z0VwW3qLx-5*&VLdC#IWE^zw>cu$|fbS`#PQU5;ne2TQjNy}e7@?txXA+=Jd?|0nM& zQx^@5M?=%l4pLiPD_U8vV*J)nUPpmuT`&#hd^3=3P{l%7auExOns=Gh#7BEg3cRj* zWEW;(8#0?Qcyl!w#oIz#Xybd{SQxy@+v)OlKnKD+&1_^ z(O8Arw5x1pS?qph@O;3Gx)2m_HWfo(krV107^Rp+uI3AJ5y@a{L0Y*HzG7zZyic3^ zM59^oVP?@jGr@Egap+a%N**Bho`AUVnn{TL$xhFH7aThh$+ZX7*07-^{d^8Sl19s} znEdYde6ln#@HR3tiH+7PKSM5H3_eVp`?a^g%YuK~1uhl=P4!S+H%2{FHNnZz+Dv#r zEqEQyZ&wS*gNx>O$B>t-M!$THZ#4@gokgUptKWT&eRv;SN0C{GB?@WnHe(FvE)mN# zvL>5gvaUm?Yx|BP=XI2pc|+yN3sZyks>8hY0i5Y$V)NilsJ+EYTeU^)A4Je%DJ{0| z2qU2{CR!g#INMK1jV+d9x2>nve%2RCfchjQUKvb%VqPMJYS^$W)CnYqmAcl6X07Pz zCD{XO^j;+sUBmRJqGJ$I$~eX|rt@fzHOdA*?m9)N<|}PpVn=TVBG4oO_4Mg*_lzfEktdWCZ7qe?>YfSP&>7!c)kO|* zcR4uQnyl<`>rHMxCGe zZcQt!O~RY_2|Pc-6UvPT=o80OCm$L@@4U)r%|k3)E%Ge7GM1_XwO-sdT4OyUDv5}D z?qjhc=qvS!UEbyK9?{8r#GFkzgKp#&50XI~hqY4V`jF3b#X4)m<^jHm*3~OwzH$HZ z+WPCf>r@cL!N&-YD~O7QgV_x1dpKBzqpJ>F4C9`M|HVPIJUCVacg=Q5i~j0*$kEsg zT^Vl;`df%x#vrrHX>4Y?_sLytpdX#Ux1NW!T}s=0gvZnXAN~S$L@`7>Bz3!)K zPZHAx8pBUX>vVQpuA`8jeCn6P6Uk}Q`tYSH_hRH=rou0RY4;bRkpkp{dJwOE4Vnwd zjE}|BsEJ}FGV%PPx07>b~G^z8^mwy2CA#kYOM#o8=vSt8QlX^XR8uP*BE=3 z>_S)6stH{95Y=r)oVy*X8%||?0rxsw9!`E?1Y;qgX!&V;+eO&$gAP%uKi{wJWiTU9 z&M+!9t8gZL$?lHhF@+fFTk3sVVhy4}Q0V3ZwaWB9RqAV{zhv}*Y+$TwIVK3`@+|V6 zZLts2uq^k@MK`JUgZm@c-lrce!+s9K&(246Q8KcC8~D|I$xJNAN4vwg{jb>QFF95X za!;{AFlk?Tt2UOjcnML<*r1;y-U&gWCLDvB9AssRfVSFbMtkU?&!{TQU{&PXir)zX z{!lExf3;HvyQNs6Bc4!s{>qkBful*Wc9-zd?{NQ)o~k;XgtW^9T5AdsyH=m+2)eJF zHt?wxxuNI$`qSX)lKa#Ztol+CN*s`nK_-=@#co0q$^B6 z_m!L8+viTiex^iq7EXU5N>FVKJLCSt)3Q(s zYyBdy|Vn2@>&%ZTdn6~Ew5q`8>t9IDX{8pt%sE~z}cjnyGGO80G=f{w_Q$a z)@^A{l~!Ncv=WNf0rhJ{4kR^o16NQyhiIiMS)iiWofvv~Gt@~n<64vW9n?1zt1^c= zjZpJ1w&o;{*PM0{;*4);-_d3!H3zyf^Km@=zwnIyF%jr(C^l3hbh?&C3;gQh)IY4o zVvfZ-u8nWf222LQ+>gokKce@~Bug`k3J9&p+Q5|de(|WAM1`x9&(W0~liw^FhpF#r!Z$5u>^gy&O_nGEr+K<)7p=9<~$ z6YmgLjy0S3B{#6Lb+L`VlcS!`Z~vZL#6~=c@>JaD>cY3kfY+h-7BEB6_`HHIaI#HV&)Bkt^vx0EPG*5Z z0esNs*qUclE8NECEx{<|6j-tdG<98pQ+WJ4@ot|pGOlZ;>S{x}l6pRTqPpmA?SLn{ z-QwM7AFkkA<`emMA?E2sztEZwEy?MB zM30{6FEhhE z>Hf(IVoQm+(=(#JFT57v^7dCo1kk zw4WU1izf4)4D~xs7Cj79H<_QvThHa!=ipwFM-*|+cl6Xk*o+^XvSbeWkTrM63k=qeA3eTz5I%#umoFQ_?n$ zTaOX97xaS<=qYPyzp3!E58t@bi9#!KnDMCZ2vZjOTMZl031uly--rg?VXQm-Gn(^- zyTv_0HKp&>@ILm2d3C)x_+l;5(3boL#pJ1InMByv-dKqDsGwFoL@B;=Jj_1IT2mXy zkfea0H<{&dj=etNch|(D(nz7IQE#FYEAegnQx&!pA7eD?k(@TRH>;;=b0H-JEgywO zkeim1c7MxU%V+ypi=G&1vk9`CvbV|&SqmyZNh4{Q`7K%SP#X|awi3%5 zsjhKan5ZQ?%*jX#93=irZH8e#!|^Vl3&_@s+L1<6O!TG1Dda? zCmM&v>4Zi54qR5!M!)jdjyH6a(Zy@r&taRDSI9;F={{EV6nUh+aB&84jfeN2#GOk| zn1>H?3mdO>8)uOnD2WfUf+*_+Igp!J;*xk#^@->!bFQU%J`9~1>CU9CXDgKhx2V-h zN=?soH;GrkEA4gnx}u|($-}qhH$;&|QU)R&QEE6nvIendUX*C2$wL+5QASuMF$!>s zsAf0*(0+P;ounD$udFbfWUEqX#x(TP=7AuE(D zU$u`kRIe#2<=Wbmg;CWM_3Orb{ z)x2!pQFQ(}>fHq2C6e~nI#z3(VK6iah-RS<<(2t>jB;u>p7`?uc%DJUrlUpW@n45> zF8i^kEAiNGa^wb7$fxx3d-L6D*z+)2Id~ItmWNhpEv6PpZIOCf9EGr+i-k5vYZ|>o>gm&bgG(9s{`78pld9r<&gq!sF`!w%yB!TQlp4iBJn4BVS{wVuZl#VH;Gri z!c%pL^P=dRxv(BuQ%x%tB<0Zv|8hF|+8r-vG4@Bc^CEa2!>UxoQ~e0WjUe;85DZV@ z-O4XIN;@nhW40TwIdvd6oStZ@JZ*o|L{Nv60#tX9lX*cN=pFKiGpXR20W;e(rqhT> zUnAtd(2mO)0a;Jhd<}MT1%A&Svf}H=>RhE7X$2bl*u6(isT3`o20k|=1{vkPbfdk> z+@FzY{ED8^2xgY1ZzjfT9dF{P5-&nU(G7?EACc3q<`v3tfZlX~U)7qv-=1nzt?!!; zKW`oTbi~{0O-)!j#>>i+>nlXtqzu9tz(+5FNQj5xs%2`>o(fUnV(p^h7Ry)d6=Z49 z50bwtRE4qZrs7ihOv?4iWABgdJOj_#AUYjCvjC6octka@X~xxxW*fm_GkunvJN?rS z%o525lBwy{RRaF`baDuVu#;=RFB=~H6{3D!WiA(L+Y^S4LUDh@f-0l112m7IQIpw! z8&v?;1Dab2ZWe)OO{m!^MXz{44lcsn#LsFB-)F*|*~9~*INL5n`XymuKKkAU#x(v$ zO%r*qdA5W2|3qL0=4@ELl8dlU=gQDQNE=oK*-`wYB#lh!*!6xE0MHevel5 z3^5US$Q6jbmyruw#2)Ty zhM>1?oL8*B*p^tOGg_OR5rUQ|O$hO5eY7wU_UA5^qN%xv|D#ocaxqG#6`!L~sbbvg zkWbAKs7A;|j&Bh8fXs|gY{6%_>y!*2I)#4!8F9-(7`&AH-#!r4)$7lI=S`Ck>zNsK zZ-drnB+Ho0-AwOqKrFbBKA{=HS|MYsqbn^mBMz)e)H4bcU$|+g?l|N=bf04>6MGjJ z5BV2np5oPPJfVzUH**TT&Pn817!O%9Kbw+qsLr@sV$+#V)WGg4&6NhLvQ(KfJ zHT|NU+m^|PQ*89~J8tbF8x$unUkSQun z|II*~l_HOs6pz0*arp&u6sz!yUQ$KW3@nG><7fuKYO|ac`5i33Ai_CEB&so|(x`h8 zRNytyk*=<}53jMH*+67G9yG@i>yAS0S`+cEbGXJRRlNU_yUD^#%Y9hSTOfLvSxg7P z@G0|w?(ptpl((|in5~9Umd!CZZvl-Vicmw0H(np-CZj3kDYvzq}2b;09ND5S^ z6c+t1eQykBd4;pgX4as`KM`yHz3-;H2INR>~U(b=?KR__hoc!=qax2U6} z3c?w{PB^`_nR;$<67R%Zaa5etU#Vyie=*bgJL09b+D~Zyry^0!=2e`cSE@A$;hXal zO>M@uPa=kEhI*8zU7M2|%7SfBEa&0f<_fHbvE1Ay<|@xaD}jw5tEW{iTF}~=iB}TP zZXL-7rG}dwiQ!b8e3ZCiE2G=GqS!cEW(v%l3X;FW_C;iLXJJR56PKu>s4U;6t3syd zyM84*6a|`t>1$*0Qa**5N z`Xv?O#ps{9-b7orP9gR!LMydqRP0mi_ey%qArwB+OHR)^N&aImo}rB#bUh?{vkbIW zQhzNQEuP}3ec0FbJt41$A`5S;}tbv4mNc&OJIWqL-Wn}_c>i#`1YUTO}@8!{Cw zQ1|XALJy9v^^m_NE=r8$`DK$%&s_lQ^ZC7mppj1V4(<&RJnf@FtE~G%XW_nON*Q;dscKvKw04YCSGH3AR%$Nx+~DW=cs`_LM!Y4GPYcFW0@P|!Si-#Zccbw7oRi* z&vL*y4;-`cds5Kzs+g7zvy{D3UMJU>_dq)xeKZ68aS~$=1@MivwpBeWO=@!jHUG`M zhQi;*1FGY-1#nd%ed--@4FK~dxPMNMOTp_=63`@+%^*fXsQpc&;ku%Q`H z-{){IA1d`5_Tgi+XHLN597sHt0fakaRgaLh4QKXUZ(_~v#N-#K%YA@=F%YnSm3OB8n+B=Uo^d32@B8-bqz z#OlU*<-9K5L~n*SnMYEuhe^*kfvWA^#w$V~h+ELB(SI8`ifO_pXd5+-Da7;%?IrJ3 zC<{OJ2iqfp`zumWWrE(Z^_vMmGzYD9#7PqvQRzW+To28y!pLV9I9e=VJCg?@{$p@2 z-Ymyj4n_OM;un8Gi%*9?B~iodwEsgqjxa1$Yw+xd#@(PL?hv;e!Z%us?uOtibz}_U z>%chHSLkzIaDR+_dIh^5qWYOZ^#^>(H5^fEwY4MOn~eP&g*P(Le8^f8<-8o;b3E5r z=FMJ0T~`pN+=rPPQNppByidJv zy%pXX@49FFWL`_7D?x-1(S?G9y;(0u+_I62u(F70i*U3&v{8#RRQ#2C>c2*^tqx0{ zwZ*d7W^$$5!cu$K9-xtz#Q2TfoMrg$ZLyzHpgoXT1k`6)nN>2LD*%5WbB&4KvM1Mt3DfoWah&H<(+`O(T=Nh(~kqNLfG z&9wnLd7iA$T0EjWke_?P%|$-%0&|0k!olkJXeGfk1S?Pm{BmPOvvH1L*aV+@ zC^g_^iMFUj!JC@pmNBiJHt<;M+U6%ZU*vpbI^dZVa3+~XULVw%Cq$pH)E1PRqPisg!7e{F|O3{*0mCGhG&$EN2YGSgYy48paHG}#HpXx+! zZNvzJW^@e(%iJjBU-Zlkc(M%{yGVye^f}`ya@Lc81`6m3QKa6&5>#sHz@El$n@WTzS1{?5FGf>%Iof zKgsbOfRnqy@<(#G$_gbxY0sg>Wj*n+6;`4I%Ic%CnV6}P4;&LvSsIRSlnM))o&S%C zlMN#_&BzW6HLaWlW~AE(yPueN?qg;UPG(dwtFyxNfRFLsJ6?Zp2luhwEbo%%(J6BJ z$GyJp4YVsO?ISA|ya_!$)ZW6=;;L6dCCDtXQw*~ai_q0g$cdlo33^xBEDRNyC`z$b z(|%6YQ%BJXVF~eXhB+rp3&xx35<4VBWvh~_NzXG~Z8nlu?TN9Y89g|}{v*-9_hC*M zkQ|I{tO=j)5bHM}->T}8&&U9EK#ITmO(hHTJ=himufMULCqeuOSpI^4v@9?_vK>Y9 z$vbQUw=V-*$MeoF*sQtKCTTUcA@ueVyskwKKObXXH_=z+5Uvs@{DVhw3eV&szU^;h z!v`_za3TKOc-VObU7iE7g}l1h$_DhQlK4H@>1T1+(43$cii#x0i%!AwWbieTSgaOa zQfBjs+sD*Kfj5v*s17n^X_-olXqU$(o;6>2%e;noPK~{N-eqrzcM_dF?Ircw`|~`{ zT}z8b@{peyyal}+%Qo>%7z!)vp9)huYe8do)Ep(c$toSE^t;XQ`p^#l}k=LPsQ8p#jH`S%C`hm z=i@aTVZ6CDl^Gr2=3F97U0L#5Y-wpcO0A!Ii-`3~0MnJ|?=kfEPxN&c`B1HuH#<;| zG?}dX5`5)JAl#FvuNYd8gDk{p@(k5L?gIX60xyO401xvloV*s`=yArW$^@>9qZKJK zkd@s}CU_4X=s8F0(Y)lhWrUYvYc9^^0d_MRUT#8^J_Md-;r;;Mx~_?Hu9CIwOtjR4 z`rq`}(UmA|Qhv48%zA1Td+WV=%n0o4J@Yd8e|Ud-ule85@9KZ+UFCCm;f!LyWC6_d zM=ENyRCrjf37sHXvVh{9MOFI>skb; zmS31g0d3VhPpzSl5j(1UW*wqvS=R+(RvtV(2cFxQe|L`9bSG`K8ca2db|IK<p{+2b7}MrrCz@-E^79p>)?@41)T&+4c1x|^DeZiIoQ>hps)X`qmlZ4|E3PV1}M z*Lp`BRE|gc1U(yzu$ZdrIOr(yhJ>K{i0WlD@~L%AqySQ8)#J*BinH0M8mUecoi*V1 zMAB+;a5D=wvnt3o1kEn^zlGfm^zMpe5oY3hHX%mTwW=pGp0F7f#lV9KL~1MWib@dc z)nR0%C$VTlo)y7%6+!!4yq*VSj2>W5wXW)R@^?G2sv1Api1k$7U=d?&yTDUdQq7M7 zWF|)M$2XiHBfOs&bQF607i>y{f0~v4k_K+(=3I->>y~rxL-wWzW1XF`wS&MY8!B2H zBtseNsl)ka0Kv=TIC8Q52|kz)PgP6t$T?0N{;l&TJdSrV!sV}dZz!?#I;wJYje;!h zb#Eu}=4kIP?~Qi@L__=(ezf1s5A%N_+ZRU*Cx)M5Oz>uHp4!-Itaxa-`Bqznq%s87 ztF`D^4Hj0Gi$YwUkr3AYdZq}}>bYKvyTVlJkdoFbPdlw9Ya0QQT6sv=Hs@X!pSLk+ zws)VAL(gKg9$0_+_DSj##xvG27JjPUq%pQgv+#4EP?xbxx$!EiQe{~l+trS!v^x>K zGHBW1NC^6-G4BIJGr#k_TIX;je~*Du1Wf*iBiwOZdc%A0W-RtSFa2kDpxR>$d86WZ zo6XSr&%q!XO;;`28>9NfGMr^W{*S^h+U$083W8uNJhOXXGJ#0RYF&o@>Vwfm% z6|D%xlHPXGGTsnLPyExFLWW@qy{-+a!}zOK#W6+kC0{pTk%wvxR&BFBg%4Cb$V>zqi-KsA37IFV8qR!;> z*%ol@0`0p2r3}Z<$xW}mg$nn^@>PVTe}POaIr=7K7^)F>wlr-(rz!XMVQoX&GKSdZ z26%3!?Uuol3ZOEGK9C&Dhv85CXs$B4)*eqqtC6oncXz<$=_v4VSo#&J{3$J71V3y) znVT9^n6+VKubKOXss_eA@sYNX9moTk|2jE&Jc7+yJ2NR;Qp49e(Sx2k z9?ILz#wfc&lX_i?hJkjIJ~%Ki-F! zvk5*!R_v)F&wcnvUz0sJ1EX?-aWt6aMC)3S=^IaOXaJFCTfE=4Sh8r^^&lGi%xM8; zACd7Z=x(8v^MUs?M$mULC#@{ik$pJkR5X1mp6>$k7wh2gaoTwq`HSUj?L;=DEZ={^ znQH1Wx}1^`p;7qQdCgrXk6RKw`562v(5H&9>TOB$nv9hp;(SH+<2K)}8LRj4coMNK zl{rM^r)ySW;m49UT1>AgY&37QELC2`oa^9u#QP3@UiRLBm)TI;M*eDlvER%qW>jUO zu}`}q;{V`eo9Ej#sG=vizn_k^VNi!9Uh8SD4ZB!TCadx}x4jg{)^nefvm)iaW^ zuQ+Wz-~#AqQCM{ahDO29ieUK#qsGmsTqp)(i@9g8Ki@G1k&_neKwHj12X&nzt&8!T z{7tl3=nSDx)FOwS6%|c^mk|ovDwBVy$g>>81qo=k5ObWEv;^7rqr{a}LE$D^ScLlC zs^+}YlKOygy!s2oM#B?bcY7h8(_dsG&f`b@gF>!_sk%zTQV8Hoox0iSIH zJtr5o>^>fKC9{PH%EyPzNW)|$dP;^@=A-xziHSXIYZzMlnz;E9M^2A*Pl)0+#hVxg zCtVnN0lV3o?>vnyA8j^*iPWuTx>8$-!utFi2jj&k;)rDylf;3pO?aa7+ zVWP2^UASvrW*vOVA|SepU;jQiuy%}jj37%i56`a#Dx+)Abzz)js#%8yp2qearY*y1 zKL?h)2G=*V)-h%(+@md{;pa@Mz?zdi-$iB1d92$VCj;Ektn2aAQAfa*rFh(nP}pVo z!zbb9BEIV?+IRr3=rS6h^~iK>^y9qK9$PxjX^jP)fz_N!Ph95iH{Ux|(Cdm$Ir`5n z;;3YBH5+Vv1dbUPb8$GUXQ=E;d;kwWHv!+97_YZJ`HkdovK9XNX(G9qfp|NW$%`!> zzH3)aX&b8otn|KR0~|9ms}-Qy+Pf>N%ypAjE>CXQ#twE0eVzAGC@!1 z4cF1#lzjJn*!RFm4!RDQC&ETtqKCv_LGn3+O&2Gd`HUW0+7#ft?z+Fi$~69L@3A+G z*%np&?*2kJ+Qe+0dcQIC=^IBtEC*Wul78?Q-d*81KAyA~`P9)$ zM9I+Cq`XRuC-4O}V+>X#J9*^0{AWE@BA0AVdG|4_-0N-fGWb1UW(~i-f6!mx4|5w~ zVG_`Wn(w76!UbD>5Aui0Nq&DKvp5mcps<5@WKJBZ~8(U+dt;!>4 zWji~US2{0cPEOCN1IM!9#f0JsT)_U{qe5pr(fKd#cjQHv5~FVh-65t4nZ9q~&q|o0 zs^*nguo>8|I8-{+9cl2V6T8Y-J#j}~k^Emv;f6&a~w9Z8EUJC*TU_)GBb^dBt ztY>(i8&UC5Fz~2z9-Myx%MExx7r|>4aq3I(c#1xH0hPRtSMwLO51aY^ZrINP#4fj; zW+=cWw+wR|{$}Lth+Dwx<#l3>r^}`n6S8FOL6^-gFJlIw0zqn*m$;k{)8! zBAm#j2Kka?coeCL<0|tDccD9x@bv)MgJ<4Z@ZHf0{%Tuj`#o)-O)PhN9gnp*A- zm>0*$$ZhPEqV>I?G#3oNfyH0o)$E{EQxJvLz_WUvh&4Z6(p_|QJbvuAp!gfs@gP`k z;4hXO%Xt(Vd5EJwL>C`$PA~a;&DjseYru0O-#r|4OpgUU;A|#~e$>tF#WOnk#?8)1 zX&JIP<-GUZPpAv~fNxHNf141G=o#3apbsTQdlSOR>!?IB-VKGDk6>^iW6-qcrulz7qHC0(?NmYNO#SaPIgpbVu2|b&y z6Ia#t@@s@+(1R6H+E>U(dG(O8%2JB2dS5=59#(hXzS5pa_-4!Cg5>VzP#KgRZ>|V< zRv-h|l3$dHZ1zDjg^`UT#B)R4f6Zxn>vwQ?K5f2G6;k~Df$^5SBFz3jOV<{jpKhL*k! zdtB^VGAv*?Ouin_+S90rR%QKz&kn{fZ;hAqgNY|MUxxaR^KLj5B-Ok|+&5qcR-*yb z#!!opgp9&-5POEMhM@2F$s;63c^{*?sd+aQ=-zXxnjh)2Uw~&a_*ovWtO#>L=FoTE zxXt~H{%!K`P5mGI8U7%Dmp{oV4pY@@qLkGM-$)0DPR5Jmg(Q zn&ep1mE_TOp^!WH>@+;0X|(y0z3Jj@B#CWhPZ!I1Ct7mJFU4-U%0{9B!rbu z;Q9;hn%9^JJRkCH9vsbLZacBO`vD4|Rq)f0ADT#%{i*pG8+p(j;U{5CrMTb3kMraG zUj8-z1OKGaJbzvJTi2S^S|h=m*eBeqvRVYKD#~7pRpO!MT#J+9o_$wZYCRq6%jyWi zSN*}-Px(LMtc`Kh7qkkcBH*;-n%C2+-RO;V(av*tI~`zFNk%xvpl^fmW@@`1xF^jj z`f6={+d$fH2`&8#y?%8PP)8C})rJp9XQlu3NdJrVZ6HTOU>S-{_Y z1wRwRPLDCtM|^K(lb`R+&)H=l+tmc?*xr0YUtjIEAk%luD+HeJ5qtjXha|}8e`sQ9 z$4or5CStn(!%v%&Q@hh`K*DB)gh>!-p(fpwr=!e}-qU~Kt4LIP%El@V5kqaXBF+Yn zr~h^?i&of7L=P;2YAwRA&^4>8!VZm8&IhAHaJ4sfswy>>;qDUR>pz_)uy6$T!EjMm z<5&(?Gm~{wA1(miRp=iTP}`BAAAwP_jrg(40zS`a z-dALKmUpG6=U~#)!2UO|$BB%!p<0ndqvIR-{x9HWQTp9dry}(Z-?*hfusQX88{KT^ z?J%OmM(z}|0p0({(HP6)Ks0;_@8%juxfx(;QheS-M5YETlbZ)lPWsv%r;X`}G7Y2` zRN=Qp)3bMj^SjQEZae?1_k$PXxAR+YAL5_&_jqK%z#|#hC+DxChTu&|>Mm<3e1xm? z(r&kiDc;cPP*z`sxinjNsSk*$Vy@QcvvyT`%VW|pl_?GlY`0lLX>J(a?HSsnAm60U4YErYn6lk~r}sda7&Zd;?;eP`ps`ZvFXeG#;`>81i60 zzrwoe$~wBr#a#ON8XnTg{qXB=`p7um)%BLQp`7dC=W*`WVWE6o<>HQm>3v=~ps)x0 zF2Kn%uuE(B9pV!|Q@PL@i(egr)s0@Wt;1Tw#Kr>anZncN2e%TL^0nMsvWmr*?qF{*HM*~0TS8_juEeLxKtDW*b-o$+js$$iL+;o3 zJ_qhUpdV|NOD4Rd)5NmJIG4xxXVd6Ax?0w9YBj1l-QBiW&uso@es$uNj{auufxn` z`p6-A$_c#Oh4h{;H1fn~emtml_qTcl{LzeiHpYUE^oRSc-PCAPA+SlwL-G7uy%jTU zE>3I|jR-U&_;NG70H>T!CH=DTT^1S zE--T;N;nT5t-=fbk-w|KZ9h01!!!C7#(qO4e;2Q|f$$Nyc?tv-0UoE7pMv)p`2RaC z`4~*kqk__57iMk35~v4Ufzy4_iNdsAZM^AzY)MD!@8R6bF`jja+UBXu{hH^3Q{N|+iPLn}$0gpxW1mQLv zM793ba<(i4>krveS8qLuZ?q2twxWJVi9?RUn(MUiX|wD$$@dWOxr z9N5D%H{kpPX9yl^1MGDgzJG-CiP`CNG`E~aSkP`%5X@l=cLihGO-ygjCe9@C9=acz z7T~5D(%XTDt}%F$Z+XVI7^2%3yqg%VX25=4a>C3mtVax(_QvB%Y<_WTdm*N*bKfoM z&-LQ{wSEOZCGpBs|GGEW)Fq3eIl~%D*2)HN=a&f$F)gT>!SQLu9KucvwRY5EYkgT^ zCESIp)YvMqwU&A<70_pO4EaII^r>1wy+^C$YmJNI(m+;yZb_|NQ|8>aGEW#SX$YgL zn$cu(`tZBDgYIPXN8@6VuyH8alTT3V_Oxte-kAx0^ZC07ChCe`x=Ph5)U`X9kLOVj zpY#w2ZNzpS#@9FiPY=V=pLNZnpY?3DNnGO zkI@EPTevBo=mF@yVUMSbeQWkrDy&U?bY`sC0w_DtpweC$f0kF0+)#DDIF(?J{ak)E z(~s5*14peJd`BcKI%>i?#!N++ZI1ex4Cy*Tj!qd>_4`6N`dPZGZXC_FV0*S-e&l5258f|wS z6t97%GJ6N%>ILvTg7WH>;v3b3JfQV;MXe~T`(S1+EyF5)Kos?mEMp{954nkve{{+) zv-cWvl+ikJE?9EGZmt$mbH&=vWr z(GPnulC9ODPcgqT)SbbIU_08sJn>0RqOp|hF#t=e`q%}5n#w%*2_x}sRnMl?h=k#I z5d0bc=S%SYjC(sG()#FZLt5rj*trQSsr8O8VNDP4|2Ame0AX97dmO}ctX2@&gUMOzv%ZOJ{oEZK9GJoWm)O{}hfYE>(o4NXeMTAehrE$ImN;24$e%b)Z_X zfhol}#RBi1H_fX`HsOU=&Hv3m?05E#;zw#VKt&cpL66`~V<~EVAtlBsgKqgKWVBVD zj+iEdE$@POs~<>jZLF!dRXGQ3v32pPBht|=*Y)k;%j_30n`bT?%|7fbdgV_B7jW2YjJ}j3xI6m5i+L zaENO7C0O{;<{~P$mhXN74#VN{D!iKh)LV~W4(SSWg?DREX`(u_e2if}AR>z;PA*6P zoevl9@;&NX{|2zs^_O1pYhQA-hxDT~sQA15!pc~d(q=HVyziTQ&IofFkLxF|mS4=z z6d3(n@3;1}hK_iY8dMWwMU}q`-h`2OBi!^{(W0;u_k^yPY>~CBv>uPJwM>+Uqoe6_ zdamvAi{#zf;|gI_^l7W%+jSKStuL956=c$&x2LI89^kG6!?q~kM`T6cF+Xw4TC_w3 zY$bDGd5qw9mggAx+13Dyx(X&w0_&dx9Mx)hy0%y$vhyv$G$rlw8LhYa`K3TtvDqH{y(zb0!*so`To9r@9ZLrE$%GN26uOd0Kwhe z0!h#iEJz6M1P!ji-Q6ufaCetQga1Eg`a93&_r5dF?2g>IGt;L})v4<0Zi|$~P4Chx zI#TS@v(|U&89laW+Z>^Khgh$%I*q?-*YN&MH|Fp5U}XOcW7yZpOE^MBKmeXx2E)jg!JI1c&TL|ITa*l(NbglI<_MEJr}Rl;D2#!?IuQDa>jbvGD)+LU_DM$A>*#kw37 zu(#*<4sSs511x=n-F=NUP<5~>ih6LKD)_|K{O*2EW3o*j==WpXSibJw8ZRc%N;+RT zvI@l+TZx0R5U--bPib3e*ucfwPH`~OqKbV!{{a?Zt7UYAWw2FB;47yBB*gy?6D=C>?^xtl*){>Y))jVV;%Mj;{0nO6z zU=+4gJ56c*+|n>{m|p`;0L?j|ZELNI(ql*AUGq@GSRbr4_PvVhQh0Zpo^qSk)EL?| ztm@zJb{A-0r&V|2)1F{O_tLTv%mjL7x?o{bd5yer-YDjdr1oAg)-#`Rl-$?qj# zUUgHL+6k|h2aCL$RmWa1mwzs{rU^TX)$rC6d){GnD6I^BidwTLRE-y=+P?y;4?X6y zf=vWA;38ORCFY0NiUj!F4t%>b^os@9r9woXCA<~<+8ge3<~!`6?)G2rrT5XR@B7>9 zVQSH1-6%U(DbVrHT-1ix%W`>iLgCA!L1{v9F?8Vs0!!15V1xD`If{i%V6hWn70Q+&)~cM2E!9z z_!J(lfs?g1I)GOr6wmq_F+7iB4JjzKJyMU`!})>R%*_y{>!W94nt2hqDi0#YE*2Y@DL1A^RR#UMVh* zXF{#iXbdUNY2JIJil}DRF`aEbJ zK#^=?6|Zbmi{xi6*K2CKzTgQiF>ALqQQ&HP;Yh4zJ?0@*b(7;cH&8+Cn5}%XjOG_S zWKVzPc3+O`LA`rbMzfpXFU#_`I*)$FDlZ4uPo^04#SdArCdAu-X1LF4jK5F=6U_{A zrkVQQCDW8#L{@(FF8W(?a~KPB-TjN1rAe{<)3F&%nI(Rok@9}Dr=m~Q52<1^DjW%1 zq=c*{5|%1=jBy}qsbd1GI?A9Ya*3r7?{W?}>w>?5SNZhnJeLDstKN=tVSq-nX ziWHU>;HQ(5w(+rp%B%8+sHX-;7emNA2R1bL8= zXsAK3vo|)AS^D7AlJ~V|{*2ZM%Sg3LPVx__!S)eKt1qh+{)rVIN0io+6?z7kpRrb_ zh#vO5w8oSF;SKgQa@rrwr!1Yr)IAxVoHv^Y|Uu=KV%5L zW!9!g6wrlsYQs$DZq(2E+~Ao19yWI> z*p&y(V&sI1qJNWPzxJVfXQGBS!OBChP|?X*m^vRnx&u^aW93#mmB=Y(h8@}A;Rmia zQ9+Mk&q|_{HO&8O&l(QLnGcl*Z(a(0S_B-}^TfoY&2JGa4QJ*qKaaJvop6hEBOcm-p5#VWtWM@I%wCZ6n@Ms^z?J$XrC ztE=wI){1`?XCW)r>Q#%r9pkj#QSY>RNRRc3T^~$GDpRD4geqN9)AF^khDS^zY*$z8 zSxIuYnjKh&h&_k9#T@0ER)d2ru%PAWht<$NSs5Sg#M+p@nZf+l;n-U3g8V1^n8$C+ zfiIED55eo?hI!G=G7wjkB73UZgeCBJH*6gX&WkxV7QQc&Q9gbhR0=ruhmS*Le&HPQD%Ep?XFF5NJnBU!8=l8TUi^%?cHphvys}Ko= zV5NpQ6WzXER(yICZvk1C)2!mto7k%?Et!&Uph!ivL$Zm1OCa;3mKUn}E5vjacDh(p zgsVKL&=yKUPOqycSTuE3#YM8S^3-~ye6dy=m&T0^lfI+O$unE=mw#b*E3n3t_M_CC;y>_fzk=s*BF7B)wYgZ> zT1I<-{!F~P0v^_2hRawyW-;t|2J@0<2arJ@Lk|8&Sok~saW2d(!L_`ODl3v=;8NjSk z!)*Hk-WEK;BsbLDISjVPCj-|KFPoQE?ngV%hL3;1(B9b9 zG5DduL^zGXdA%QF)x9Q#6Dd)yqd;+_Kgvh~l6B})F6$G2Ajvt7KW9$xG^ab`Lb zhN2yYPk%)G_yZZ)r%roT!5PGvzGw7+y|w*wiK}C68}sgB_)D#skO72?F#4xFU~y(P z6b9GlSl687lt!3laJn>~)CNm&mCxG5x9-Tf7h#bO@{4LXS%{u)QgarC5u91{{he_5 z8H~^fw&ty97g@XK!vEmpUx1CWiPn}{o?52L-inpNQOD|8@l`s>dR4_C7G>3q>5(!) zs#el_b*#-21;Mw1Sj3Ue1m-4O!rHv!8Va&sjmsQ`q-0g9nu&PWZ$WDbsy&pJ&x++b zWa8jwU(u?S7=0WJT2sMEdEKAMFT?|{&hS1Nc1Yu$gNZ`xf^Z9Tl6EFc$*+!$?e0hW z{7m-k2eNa2Q$IL{+U-runxBr%f5bQWf;U@-Z<~lG%!gVVilSbL&JLj(;S()93tP~N zZ>GH}W8iy#fRQb*s@n6VHhk_ygpwKL8likb@r9|3_P!~Gz15!f#b9nNu1)xaH_W9v z3O5s&nJ9(ceCs*%mGxjc2E9H88A_@xoEMHO|@LL{!-5hC(A$iN7-ImyU2Ec86JF(3LB|)ELlBhBC9A4 zgO};tCw%%d)aPVI$A;qf%HppxGG2X|3|%GcrRMehf;O*(whke)lL&nJVQYJWW>aiv zJ=E>bM){tWur4oNQgaszz|B(hhVQ88&WR?{ilAYvsl0``I*HxAJbwZl+oJ9!^LGlr zOjU0~@cLy@3fYL$FPJd6=}@n|7JVJX-HSf|lO7t6KC0+b`2=w_QV)rBmZNHWu}-Q~ z9F(UFcu}FLT!Q7Bo|To=`-HNN)9Y6E$fpWpA*@JO$4cL7SIh!<`P{HEIhrGkRiomf zB3)LN)V;H&HSxWwYJcI^)xw)-M6wcNj*szl1>FOv!>k}Sk~n2D9!K_5yAc&&j4317 z#it*X#_QyQS!1}D7F!UNzFZI7i-P4reC99^TTPDc3fY?sjHK5_mDOT>m5h9sMYQ)* z7Z$OI9m$3a!3Q*Ee6$&gXt?P>zbb~^ zO#nA@gLnftSqzI>f}@MV)9gI^Ex&RjRT&?6UNg3}azh_}M?-pQMQlo6ZdVv}twLL8 zXT_RNP|5R#qpfF?XH00uqbO4HYc;MRjiS7QFbiD7GxT~5k^AS&WqE_z_>u9Z?JfOl1~_e7FtYSu8kHdMiwD0u~--whH^g~HPrwF zweM6gs%jGWrlEh_!D}UeAiF1nW*2>xx>G`+c34V&}D`3BDtl}u4Q>h2%18g(o8 zt!YXWklXa&x2qyvW06|PF%FhbS^2=l+D+L}-DE?pU$k{xx*yQDHrHpZtPoPJAYg@M zY2`(2Olm!<#;`TJOxjkcrlP$w;q|7G4f2tz&cNz4@9?5u$z=QZzBgH8qA7moB^mP1 zPHoz}AASCcN#Pbi2^4TQV)gRi7nK*9fqI=s&u)zk%ms2eU}tJRBRl;69u2HL2-EUP zV_K>`&orXtj^GJXVo8U?tBL5*`B?IySomP`FI>Eg0=^G}wR)H`S&F2;*TksWqT#vK#BUbsDzdK?5H59=JKCLl5@C2*-CUi^UOTUGwS-?+gI^@Nh zmf^%;$?^rCp!tzT%bQJ_B@#WWUu^~^~L8pb-ip|yX9a|Or+ zbtMBdl(n$?pl!C0V;BRTYn?H$H{9f5O{_|O4_cHSnwVQQ`bB2`7Uh#FfpiKpifC** z==7kcH0S$kq@gu={+@h`jHVoRCqL`5A7}jSH}?&_M{6A3#3ps3MP>g~hozW7yonso zmZ!5@J@*+l_Z>Za6@9x9R@K2Cjlh!KWDKSh>m8H@(ZW>dJOQyzc+YA7 z%O>n0p6LlAtHIgdU}R>PSdV^_0em}RkB@-i3;gCVSlx~M`z10{&CswzQK0o;=skmAb-olQ$?CXVL7{g;upGNS(@M}W-$so z3?DqqB!{0#so-eKnewpu`fU141$xX9eu>zjS(oCPSQZ^G8n{U5ii=ja2sxo^5!A8b zto57$rds60b)hf2tM|(T>lNWCFKV9?zxBy+_y$>M>H1ibht%T)foBf%_gmI(e*jOk zC(0@KIh0?2#fb+u){((J!k5a4?<|LA$;U1X*YFfSqJ&gAy$TO{1#5T|e{up(H4I(Q_iK*uUerb@)?W%$F;NH!Bg;F> zVQX`(S`wb}v0|@yZ8ef&PU#@kZpZL@?oe7eobOYe7K=x;nHXN)C+8K-W#3CO+&*Rp zPU2fXfwN=bT8Lm0P?OvY|lw$vDM$Vs`@ z!p6OK8+fIdr+bQem}Pi~FQyvR2_IS6<_JFG7#wZK?K2tRyQr#n`vB_Phg@LZi8fu-4k4PnlcQc}T^ml1GdRT!gIUnOGR`oYu~I;9+gCP?D~-xLXce z-r8KP)k;EEpJCTXm4}trR&FRZ>N7p|gIo=`%C4x;a=e*DU#cZ{*TBgS8iH@ZX& z*NC<~j=p%nN*RS&y(SOw&1c$bE`4|~zf*O6ld-iQ$xY8DyKtJ{+5s$E&_aztt)_oO zWjJkc7k<`8W#pnar>94i$KuvBs!eZ+g>6sE7AGUH!5_aoAkHm|Jt$7*ZxQ2V!@X19 zXhzUZ63aJdP1hSlIAwS}AHFe&OzJND@E6k)JM)+`OhR9c1+l8IvM!alr`Q9g5^AG0M}&GlPgt?wa4-w5Bz>`6uk?E^1HW(4z-1U*aFUOCiTY2meUi z{m#*@Y@hJdhv}ELTHX3I*^aMD2R;UISNFV6MepQO7Tl4gPLo`a{d%>a0LD|1v)4WT6iixwLF?atL#t3 zuSTZ^@CDIQKN#`@*Ai&2T2$4}r}dYT8`?uoAuV~wK5lg?cIL4LVmD@7zoph>3fJC5 ze|b@@T4692JGO+t%5Z9?54i(C)I$+ubmyUb%8)HmytRT~))Oo{kUJWVrw&J37r@FE z;8W}J3lo6i@6JP0(w&0M83=M&h^(Fx+r~2c$tgcDRBhsUG^24p-+PN`PA`iv>+w0V zx5_9eN29e8g=pYnxf$T4Rk=dM>K&nJy{pC7Vr(s|{#rY%zqUWvh{g7f0P}UG5NvH` zeEvVqM0!~;y*)WC@-Ga$f@OU{b~cy_^8r|>;@Bqb{2c`iq?L`o1J9z2bbqA%$D(v* z5%EtaR=I))jACBkJ9m?TYl|h#Lsn=KQO7DYMPB@B9X_)$!2HkFC0J?DJ%ExvnE__>_tL< zUn|a7OfLH2OEMmhh`MfY=DcWT?ay ziSL%=*Q}+V{Xm}bELAaIobBj{E4(^@k&9FKi$}1N(H=5dN9ohjK^}jFs+6cyXC$7& zRjA2VTDIx0jXEuN^;pLU(SS|1-c-yLs`lODs4mu@svqbTRp5rur?S$z1+jCRP(OzD zcmtLX@kE!fxUWI<1@$LGXpb7?$Xeq!6A_Vz!G>?}W)&IljsR!P4%JR^Q}Le1$-p^S zpIzYD3?6EPWjv2mjiZ&KK4Mu%fqxr3=vya;>4r|qL0>P14b-k!8|X9Fh;2jt;{mb3 zr7OE{B=wTBT1j=U0;5zR-YV)3Td=-z2R9ij^7nwBFY%s1{EzBB2gP{A#idzQ`wTXG zJQijWs8uI!9*Z^}Mt@ldF4|448^5a-`Gg9fDNH+&QM^RfV>Y$fCrk=*lk>2&xv(o* z5$CGY4^~#j;;?1_-&P*=U)EDyLuKnK(* zg6Dhm;aMzSH-2|XdhZ!}`~~`aJbYC)yjM$lre|uB6Vtl=L(#VP$gHYbvo+CBlTa|aBMa8zf!_dKTt?8r&RrZkp)AY&ZIz-K=ezbZYZ5!UlP zs}q-_0_!7{L*20u+38hvQAFXabMXO{^cE#v3H2L~Yce?97%Lpj?T4bO&udkPYa5|u zCQu7in%;N?Oo!1sOA~YU;a~BC~YmIRNbd|Q7R>HvAmN_3<5pjCj`Yfi*kUK7I&+9 z#Zs}*VrcQVmRCm$VcB2V03j<5C*|8G#pY!q*Y<&YLI~<#KJ+#g?;hUs3(q|y!takF zYDIf2BStt)tCU3DR-(-+xNE6DPeW8W9yBN6JPGMcoV2?`D*E_+)L3o;QqQjTi z*$7@80P2g-ON-%cK90KKbRjQO3#Bp&b+L|!ZagvNTCDx|jGawo6^@D2;2BmE+Qt3$ zb?GZT@LCb%Xn!QT+L`Cqkt@0e z@>{4onSnL?$nR*T}n61fyc;=rrh>#vnNz^^=!tMtad_bDCA$ z=1^7imbhgb>x#D`4&9E|PeTlSpZMf5wPceRH{FlVIEymvhI(H|mH$D0!#=)E1tQ%< z!86Yv&P<^hFb`LkDZUo=JTF6+~ExP*Ktj$R3+ALfLE*YKRLz*4Bb!-_;;S094%Vj{=oZJvdT_r6kJoj@mapZK3@A9My5s&6$Z_;c-FQsvjzU3 z6j`Cg^vQwbC+j)Ocs3uN$hY0l`~bl^=3w**930YAE?}__Xx!GMrpr1@Z`G`1=|q(FF_jGoxi% zVR#)jbPK)pJ;*lZ+?CJ|-RbeGQA3}xVV;>s&%fft1d&<94b8EFThWMf$b;T8=@?18 zNPMyvO`~z0lUUwaSm8x{j|S|f)(>V*K({o;dh7zP;sbQJPJ`u zf&iT0Vv(^nHoz~dO#?PnmQ>!<+EsaAYfXi?JhL#?d8B&fd9Br!A67pJrblJvnvoHx zo-p7kEV+xly~*Ea=pchy6i1%pAL`)!)?jU)u{yywU|f_|e1xWdLjP_E52bAvU_+PC zyD!1dXXty4g4SZRsWxp;fRU8+P8gBTC~V$1@VfvX@0zkOE*ADNJ)XNDTJ{9&nuq#a z#8IR1qH{R*q-jOX)l;IpDrnxLSmj$LH<~vG>S!>dqnlApBfu_<=(9DJcN|R20=5sa ztgo3Rk<_h=b?JdkKg>I)Fw)(I%w9QuQ*kh@fb!`8L$%{pa`f6}G|mewN?&~bIxN>5 zH2WI#z(su0BO>M;&Oq}EXr|!Xq@vfH;j{msvNH#sOKVdIOYzgzQc9)Rix_8Zr97wZ ziJjK>2`Awr9EGRuSxc6+!3qLahYpb~eTA6k& zo@Ea$p*5v$;8D|=ZJaNHHoe64yh+V`;pup_{>-h&jfadvKY4`h-2#`^QHgn*qhFv~ z|6tZixOc}rfCo+Gp69&}Sw}p~zmHC7cK|vrJMS(8q77kiJv?qI_Yh}TLq@j`Hg_nI z)&SU7k8|z>!#E~Ctc*uau{av6Dd_$Ho=xzgDHw4(M!$Sd?r}N4Wg_ZlDJuLQtnG8Y z|1EqA>iVFjU{sD2}2dMW0FW2Fa;Hq>_^Ak}H1Cc^{Tu^yB%KwwDEa zgfedmXSRcN8d#K@XdyjqmXr1$ZMMKb)kyz^g zPIiS6i>S$s&RS6)$uhhk)AojIL$?z+Hs|%GsHfd%pqtF0%Fg2_#97ISKeNNcAL*Gn zKrI>LGCA=S#n8FMP`1qtt46`n!W@;Kxd99LC0aX0v!<57(`R7%-pOUIVu^D(-Rbq` zsaq???3Y>YCwG@S&g8_;rh+d*Q>;<8PaKVmS0a6+?g>j>brJJqGj$QtdR~uZS1r&UwW=)71N=1B_h6wvOC|;n~ox`d=CWrEomVE<9lT+_C7j4@c z8yFjH8IHEd2pXmMdmm5MAFn80uB8ua7psk^Tdk?6wYDyi@vBZ-YPXZDjM5}0W{ppK zmjc;#w0vPS@^oU0iKv;;ZZEjn0t_4A0S7WGWfJqE_7Hi-V*XKxw}afCMjU4{KX5!Y z?gl&Xj-hwFHbv1$7l}nC;zx&~eUfnN#dD6^jL{+OT{w&$IT-#GLf7R4&zy`~SHQl0 zN5or}|82msKGA3mu&u=_hn;3rE3QK0EW{TbCjxs!k1Sv|z}G6ySZvmOe0*#A<0)2s z-0u>}q9GFcb3@{bViiT7(kX$9<)_uFf%_IY{k6DRTdT(wKUwR571lF)pFLXa6rLJ6 z)htuxE@G4E$N)cQIrYJ68yZ8aM&Iz11&m`{*fJZ`jr~!hS=D)%#3Ld zYLmfD`;8rN7l7g-GI*z@fAn3(u7#JdQVrRhae;Oj7~+&Wfr>xvr5O*GRI zPo{7A%G86gtEtxQN^D%3zLK1{W;9hnH;K5~fY`VCzF6N3Aj%2~{urety0$fVwjhh& z6-D$4?Dm7C)v4AsCSLP04HlB263}FqQKddzmUb%>Wj(1GYzfY zmr9$Nu<|y(>83x|r#wPbG)f%U^coHEGr5GLJQssDDu~+9&PiYJP@c(($J9F2JJI!b z$cf!12lfaMQ2B!VNVG%ozO(V~) zIl70y^cAz)L$J0V*=g<=h_(jn4%`;QQ|&wZJ-MRM^oZ_oJ+FHZzuT0U^f5C+C&B;Z zjND#A!Cl2Vj>cPtV|gopVL6yqlZ;SfaOuR~ie!n}5w9*pZ)XCtL&W31^E-~A3665T z!7n*UJh_X#bT4K1r^MJpO;UqOwSMOs^HRRh*k*y$of zg`FM?YdvEh2bgM66Sg{oj?uB=t<4AtU!kebO@t!LggX8$G->B>%{W5 z`Zf{j=NUS)1Ha}Rb|xQaR>FHmm?VshHaCkHJKBbinGLF^=^5u3t$x9O%_~wp!zK87 z*QtZ5-N($KI^=rR5$B|0q-zMbxghx`9<&Yjr&24q$dAz&YN^Ng_awW?T-#NWe-X2wHy`3y* zsSnOD{8Cx0$O!j1Izd$n(yz+I$ECf+OxZ%=U@w-3Vwy0suh{1TYz&}lUln?R_tcgumhA zG@qgl>)}j+SzUN$9LOv}$4+cJ{p>bXGcvQCpmiz}krw`V!EdB2T^$v~jkmbRzGFaC3+uF)7 zt{wO`L?J9CQY}vn<14=RA%2h6($VTUQSi6gE$?UaL=B^zUQ|`zfoQHcdPv^?pqWmU zMSeIElXlfyd&Qwz2|>0oa1jH=FUzpNf4v&OMqINw1Vt->v2a;k%gX>irGSKe0A=B? ztbHnC&*WH^%0vh|$PRr$TR5=poqw$A9{7C(!6bORiTIwO#DQ^$5M^ugTPN2i<7 zi{{4}4prL9c`TMe@(uqp2eJHHL`|;HGApb%2>`iD74ea4O=JXeNw2 z^Hx~;97}TxpOM5o0o6xn@0-M>Yn=p)D7kHjYW(wR$2TK%jC<7~IYCP+| z`quhFp&(}I^#Csek*Kwu0ZpspbYvu!I)i1b&JxVcsv`MnjR9mO!cRrpS4Q3MWJDtZ zJjGFie^Zw4Gm+f~lbG>|-@&sd-tvP9!=Hu`O%w;uP@BJM;(R zEYbYxsTpf&Bx590yBM`516l@e7LF474jt4DRns0VTb|hEGukvgx;dAh`yD~&2-T2V z$snX+-*|@|cGshp4#L>f?4Vkjah8JKOZa(`wK489lW;U%Uh7|NVYknm%oV-pdfqMi zNf)eeD{Ofskd5jUcZ-wbt3XUrnO{>0WZR$``cXl%7caAt=W>vn&%`Tr`TGKXUI$O@ z+mpb2!n$n6BWZ_;V8;Be(qF4n=@6S=Qr#WJ2x$hgGGdKZH(bZ(2ZwZ?X2#WGj@Mmvq>;5!sRkyj;BxrD`i1RrC8RWiKe zb@c5Ae5q8?adInd$f``kvnB@XsQAA$urn%nZba`*q*8STd6jJ_BCU+M4BHz{{|}{A z{sqn3+zNwp7(Oi?9&#{kJPeOn!=HaWPkVl1%=tb&>MoWcE1dd+{aTIpgj+nc&{5F6 z1|nfzajz_uL*>2H%(uM2djA={U)*Et=~5T%l!Q6bQHfJ?d6~SJsLrE!;qSTqfWQ6) zd;Eqz*b&d!1nXKG%h{7W;wW_ebCb+{Nw%ai5mkOT+?ZG6_KBD)0-v-R z1}7tu4dYjx;`onrj0EVPqj1%SAANx0y-&|< zMhj>JWGg!3o$)|3BO_Lq$;Led6 z6R%XnBO7{6esHS>%S)kIcA;H1&}T-_vtsc|J$&jR(2Rrcybn)zqIaWs)mU@7x|f$* zZZ8_w1!QICk)@c+Ed2VcVH4d;#H%S-*WfDNbO^q6HR@{*YU%)Ih|S*1wcM@b&&Q&C z=958L!O_a`WVKClDm!?(5gg<$UMg&yQH1E`VjpzWv;+pvb^8W zGQsXr#tZYpi!i_MjO(|$iXpT%wO0QQTr4vBYx!q!vC*ZT`R`Sj>vh>wan!O?I7-#p ztE{h8Na{t=$PHxz&u`(>uXqB@;|eC@7M(o8Ir0kcu)Vi<{yfpkBvXQTD;KtEDn9fG zmN*g7dKiXbC96>uqbhnl{M>@7J&A5mWro(Be$V5F)Y)96#~g>BeX(1|;NnG?ABEm< zldM@o?Cf_iHV!%BZ^^DNN0HRwnB3$QIug;WVx@$0%(Zv1pRe4MD527<1z+6z#yifO zsj+;!O>QMtmAd1`$EzmgmI<5_g6Ju1@k)I1CFbbw!ZP0=ZvBEC?mQ6>ue+JTL3!3*t&yTSww;Au$z5r3^mr<~>BWah@jL6=`_a>kpU*I<`rH9rr zv$1uV(L$;o5OcH>o!VS04qHDNiK#diK+alLSyf#u%6iovp})dX{!@tRzdgqO6^CtQ zuEySi=}-B=vn6(8Dq|TJu&}Dle9QfNaP=&0zn_S48CIqfs9omQ6-4uIB*%RcmPVr$ zV!79e<(e^msaf_b!SX1UR(qs8K^b1<%rAJ?Ll9obxb|i~=L{LQF~oz~QCDPGG3+091Ne(Ew3{d@t(|d=5z?nv@HnWbTPUTL{?C^8?g+Pkq8D!hts!u) zq~A9l@JA>oh*1*J^fB-cFOwZs-ayakGo*uU)>iSZvc{@fPek>= zTSr#z6n$OwnqTO(?1o7HJ&Hyc&u?rAH+M5ueFn?JK5SU3`Piw;VC^%x)h(>cZYqLP_e#@J+2vW8k;w*ve;fh8M>2MuyZ z5=m5tqovGr9#_J{)hBt=y7G6Fh$0S_Of`42u2fHM_W(;N|nT*5kWi)kHY|TSPxx0W{ETeVewT|F@ zeyu?PX#a^a*xStJt~=A)M?X1*uNcGcj^LNYz~dTI2WzV}wWNTwdY-bks^(F&^51$e zp=J3eTr8$~P6*j&>=A+LAz59$YSGg@jmoG$D5q%Wu;{U>2z`t}D|cI$SXry^TtFAZ z1I_#3^bh)dCAPIGd6eWR*7am9+fY-mm>#PgjoP4I$8pS1uwk|UBZYr}=yVjU=C16d zMYICuHCp91z2F#@ccC+YF~s=p6nc9OGG$5OWHQ>Z1>dftI=cVJx{d}3U@Y%tix!G8vMuD?q^gwesQC$kAF z`wz!IWmkYZ{@h^_IGm5$2efk`*u02%CL?*I-^c~VHV=udc4J4iI`%u}JtgP+gfR;9 z8NWduk$&<3>s<`5w3F|8hF^ILT@c0yaynXG;~ip>&8f=Ts_g?8iFJn^x@xDb23SMpgTTi}*xL)J++$$XhR7^~xj=qo z5n87$vlM>Dru<42c^j{I414+o^>+>XI)U6!5@NE|%$Xhgc^izL%KS zL-4`UQ{`CixC{*ci%;;mGl-RAf#wFd2Mk?7EmTRy zrCHenZ`q%#_GP%lNasrW@%Q{Tt?0fDySoI2YV~OC?|2f0sCuc3c-?Vi{0Pr1U{#YnmFwb#jZlOitELDTRORO{94Q zlqREAnVso0qo=3f`%c4OHA5BUiq_$6zc9u*A7(0!NezP8&_~Z1eW`-o%;}F{ z-ht*>){fbUZ(KoUFsTLhV9gwoX(&>)J z2xTIytM)MJjCQGoSMAR88^P@bxRpVlXs3fyCsjivhH}I#GKsU$ zKbOh>CiO0p>6=U*@e2G52KmNbU3Lj5<89(wXC#lX9!#_+U9frMX!guA`l9ynNDh|T zv7;Csq98YqUvtYXPERO@Mfi$Z-sS#?7np>_(Yo~-tx}7}Chw*QU-?&CGa%&bCE!5= z9Myl_^jA1qj#`W?GvzV$SpQ{Vb&Tbz5Vriah-*~?%|yz9-P}lx%mgZ9s-V+~QG56& zn&2_NC_Ok=@MnfPGA@`HtrrK|(}`-T?!@HFQAB%)QJ+#jmzS)rL8s0pTHj38VH>R6 zNPa20`+&cxXuI0_TEv^h7{w~e7)=qZ><3ecRawuGZC}9=nceC5>@h?v8Oh=FLJ^Ii zA|fvyQ|nNVp+9^!IcUR6KvokI`c(Y3VPki4u|TOM}PCk6kUv9LJ8#_d88?D-+!NiGDW` z)J7A3u4QbZEj}hcvBVH`?>Ic$a-xpo{+wW35K2Hqn7}=aD!xsv^)2496OE$s@{$?J-u^6L z*y%9hRhO~xe)Ox@uJR;#;pH{@ZVFf$)gPZ|3|DK8#|F)KuvB}^X2#y$GOih5PY$&QMn z_Bd;6^@{AQo|li-c_OWI5d6%9FOPzc+)8%m9-7sMM^sL89l3;~_(b`}sqYCPQHic$z|ZP%aX@k$~ee;cQ zs{=z~qW%wo^#&~QYZ&^NxYoEOKrq5TigJ$kry;-hFSWK`v8dh1HPytAE#uggutht= z#pbiN5)r|AyV>U`v;@`Ab-c;yZjmZ13wP_h0 zijG>yjpfgQ9!%yoW?k%A%x_CfmMRIki?38voJEOGVRS_;tjNMvf7tf7^B?|;r|`2^ zYiBJBg@rEG#_Dy;;>f;WV;0L=SzX(N=~GO?2$m8?v|m zg2a8=^bQvE4(M$lCMizq9|GflVD3${&J$kwOb3bzYhvLkPjK8lGEIxH)W`9i59tTT zc+Mpglp6mU7ms-yjPhYyeSFS!eC=?o_dU3Dl>U?pj?^|K$hn0wqH_;6W?V{>1i#oieeM%x)ViSBpZ;FGbHBO0>rZI!F3;fD;^`H zWf+wUb}ymg(9Y&L+`P{EV(l0Otp>W<*C7F!y$j?CLO|ER*KqjR7~SyNNyM!18D2}T zgg3z3$m;b480ooB)D>b{qAKMntqM}kPc!W;K9QIRCu>11qJ9W@PRQtD5w;xFaeChJ zFA#g`D4oOVT45?=ZB3!7Z)0Njt2%MvTNL>6p7HEAc*F==Ty?J>{g`UZti_&Gt!ckaZ-((ts|G4p3lh1s7W~#Pc^R>9<>5? z_9xzx03`2{w{&QA?Fw;@m_yYCFR1*9K`#kM#m(hAA0ngv3HvjSzL^hyd7g}&53Adb z3bC57J2v(=n8^D&7C#!?%u4@CK%Zy=o^PCr?kaB!>)iHYFVWmYuXVjJuM_$1f%wk^ zw6aiCwog?G@}7$Eg>m2_2I*qa6E4>O38R2j6|eQkT2i4Y_Ss%w@zxn^2Fh|&XOUHi zf&bQ+c0uwtbMST7{hseBIDF!&Su79y-tZm&&%?Zhv~fAOa2FIczvUG;Ykufw`oT%` z?0P)vCRjFu79IgdQ&E+^3zqf97eD0d#sJZ)Sie(Xt|&&8)8p_=n@~#$-EFi=Yufl5 zKaN^|%|RiBkgM%L{`ECce-K&I99YfnZWtKXAP?Jun#qj3BcVA(%zG9TpP+2CpVB4# z-+3}y>tWg@KeAt`ZSPCp8I9%W3wDXkBl0MFh>nrMz2RJb7FCP7wWWI99`|2uYu9(vxpeNxYE9Lk#UWl<ra?cE2Tb_evuX4P7M1>ftSs1e0oyl*24WN8K>9Xp zzR7ccgZTmY{hYpY8k}c=;x5w)?^x2^jMaQb?Mr6tb7Pdr8b0B(DNMHZ7~@{eK{hiL zm=(zY=EtM9Bc|VupL_~_FG2GrUhp6pDUH;f!h`H2-a5@M+rdcPRi4`ldozH3CHiD) zdcY$%sM?rImY34a~5#sgIMHU z^pfQ;{EpkoJLKMAyf~`a0XI5Pm-Rh<*Td&FB;MG=c-K$V7EB^9p9|HMgZiMX-e=JH z0$yjGV9+_qz4hRE0~A#Ye1eR?S>kH#Tepm8TKk{9z&qX|cap|D0pkxmJKrhDui1l# z%mh2r<1M3r+`k+Z0=nOjjgM}=QbY3%mN*$+f0Va?tnY5`BCCvV@E&>>$Y*@Q%c_!E zbL%zgDOD>!s`gi2E|Q-CK1Q<9qUZ&gLlaP)PToP$rNSqPPv`^*_(spiC>}5wcp1XVlIu- zt!6amD2Qn%m%p*V7vSeQ7s<(=%t|Ba^_!*l4KO;P;wd;i8Vh zK{%e#tc`3iwV;{jp75r6BfJRjK0BAC_C04m%JuGEbC@>N$e3z1HQH&pDbCnfQP}7r zrdfn6BLn_3fQq%k)+@>3gxZnmbSdJYnMDOhbju)`G&#<5$K~Vni5Qt0ht|vC_h*Ip&Gk0L^ zR?b!&*8K(-_k!PVoWCzNR%>5&#}dyYTbO~o!9%yOZ-e)RR;x^e@Y1Od^2+UvXIy0) z`JI)FXY3#+zn+m3jhY>Fb9)8cFXWN;k&~R`T*kI8r^fIQ_^kjz+1H2UdXAIX-^m!? zH84El&s;vmCa(w8ryOyFqeJ;EU+K#UU}h4ma60gOie-Kco@q@O*OcZniYbi0was>S zzqid>?_FkZjt$-l@4C0#JL6t7|G-W=daYU>jWMfrEw0Ki1TMltINAReEsJk}mwGP1 zL}3`P$nwg1EG%_C^%NZ^ORF>3tgjv=WVELNb|@RnD8&r)2DEq|7^RjU1G3|>j>2*= zIAo-+{s^8I!SgvPNoy;-1i2mH`52b2z`o7~r4u}RlD@DUWD8-VYoL#&!`j}A+_Z$j zgHg)ec=iX>NosuMbN4QhM^}7XZLD1sJltIBK>h?tRof<{F0(fnz6H_ijBa#?t+Bmx zWO`M_vdQl?FK}-&yj+ZZJ%$cC<^-7+WY+J%(cR#8AFMS;>;wvEIlAc!$L+x5_TY0o zw>ZD+87L;g5<77B8T@?hBq0{fNE8}DZ_kf1Dr6^AYI@|#u# z%e#8in`ouWk4_khFBkl%g_f%Us*O>p1IP&diXNQe=j=p$%tNOQJ^CcJ^et$nSPj+{<2*x%-fMuEsy@472`Uro730|P@HmTi(p&0| z!ZxQjchM=8IQNg_b)S)=ZR~wdc6JO^9$U%p?8KK2W1M8C+k+T>I}Ftw1ltyt5@ws|E&@VpszWU(P(2jdSf_V zqcE|U*0ZZd`!}NP`w>A7=GK?dk4p|Sui)n;_!t2TKajZ#a<5^1gNQy(^U5jw?`p0S z=n3OMvA!t*-?Y+1ahRHib2i2TSLKoB?==C#&W!u-_2#-|v3TL;2^=bH!r*0As=k_d z6Hp#SyqV+_9x?{=fI9l}u(p@0RRJ%+&RzJ+bN`z?y^XpS&AC_)XH~oO5PQ4FWN*I4cZ#4Gj8Fn5V} z+q(uc)A{oFs`|oxUA*#cCRRMr99~ssiZ`}prGxCfNP8=E#5|#D85oJ2@KY}cye9rx z#;Q+P52|;Ig%)G`te#W9(R<}d^GdtXSWosFNyaAkFb;2h)1+ z+s-=W(Yu;YcppR``>pL+au9J)vvJV2*YT%^P{(t?zdx3>54a`gymjawg*kIsENXQg z6~Rww9n_+<-a)61yV;xN)K z(wz&2QJHzV5d5!z=s(<6!ak|lG0cuSjIBKfH@9GkwHxSRe)x6XGlE*g8%{ke{Sy4i zdd7FYqQJI-|0a4yW%}Gz)UB$9wf02z% zec7|b<#S_$XJsd$X@*tIOrK1_Z%B$C2?O8ETuadA5pntT59SOj+IL{}gm2(jX z40N-Yw^+v4P62fBGj|5Dfa}ZY8|_=~`+}Nn&xod0c8lx&L(ReyvyM6m&4$-bg$uEv z+ATtR5&VVs{0o+zMA5uK9sNnnqCM^o!O8QCA8kPwop*XuSrg`N!S39`%Rh$Y_c`jS zQv#3hjGkbKJ5!;LKB0v_<5`o^)5@3&ZhBu_-!VA)*~{Up?+f$w^(woU{h0%etH{P$ zeH#o<#8#V`13dr5@-xzh>ama$mKIMTBuuR}wH&su>RI{DAda-wT<_7*($soJSMB#% zgo={*pry56OT*1fXuY`LnG$Sef4`yiWr3^l3okhAJ&a8~g2y}o3(+#P-*FUVgwu+c z^%gyT3fgB3@nc7HV`=b8hbAh|yNhw|(u|Ck!TOfsjJ2@69l-du6HJ_5&-IyW_`HR9 zv2^awURqxhUwhv?U(TS4K{tUe4WZq;Upi6n zv7f+L`s@n6_OnBz>SpnU(z|l`3c=2P?3!KIOW~fwXDKJ7$iY?&D9@+5TeY@YIr1V5 zgjoQ;02}q+a?IiuKvdk*D|(Mqvv5{~D;2HyNaxWJ8vV3tEH3MJ)j|hog{-=Gx~yQB z5=#>Y1|{KMBJ$hmvA+4iA)z^k>YIj|-3OXe!Fn?FDqU!$w)}nP^uiMF^s}=cNHxX6 zX5xGW>GR*h^Ws=r?UB(KkC~JH(jEWWj=powd2Gsh9ouX0szNzd96k_6D_km5jw> z`fHe1(ihM7*vsl`PzaY;sv`iX;E=R?X1?8B~&$-w667s0X!}9loPO)Rq=+{ zXVDATTRmg-tL(My0XmPxUVX%#N5^X{M^`;(*N+cnR&h=GUO!mV0QFLow$1_$X}~fe zsK!MTB;}c8Admunes(6JVK>Y@I?h%K zJR75KHD|UFoNPl)b{2SDlU^|%HXL^1F`k*gJqfd3s>CxdoBX!qgdVDAi5ER=YUII zkPLx!Ax4#l4asdCz>EJ)mF>TH-JKl2mHcl`e(ydkZYp}S4=wZwhN=qpvGWsok0QQc zUwpXP*jL5(J3jQI+syRzYg^%|oPzwQvP5E=)wuyQg@}-_5vX2|#K@u)I706TC|--T zp3yP3w+LtT7Oj^Y$!E;~74yrpnnhM360PW5o7OK*COR8f$lhxFFD`A660MSume|X0 zA53275UA~@E~PQC%TprJGt_MqGizzZsbmg@z`JrNtL$K&0)A=*ks4^LMt%#Rv8fm2 zbjF~KBRKyaCn{R1hLmciE|^c z`IE^4r$kf#gV)|luHq;R&H-Pyg5@GGyo3+f1dhw`ont{b9^d9Zc2uKr*PV3q$n&r~ zwb_L?{YXYaJ3FtY#w{bBa}#|tobP@aZYrPf8S8u4nPmon=Q}SIo}iPj4g9R&i|Q3N zWyzV^QBON2q8ZwXC1iVb69?@@Sn6UGP{8U6C(FG6-jlStETg6zN-OlT` z>x^qhfM7_%gFqV>) zNJ9U3LDV`N>wXzduEx6F0+Vg{&0%Et7myEX%`a?2)bu?T^#Q$d6nRQzGp>@u-GmN1 zg`GG8FSP>sE-ZI!Z1GDX9MvlX;d9P7yUYUi;JxMr)59wGe)0A6ZSk7Bu?%a&zzi`( zQK%{sl#SP%2O+6S_P|Bh=ps}DHz66o*)li4Qmbb5$Z8$ELr3Z=Ol^)xRZ6P%6|S-i zKGba)+G06YvOS)y8Md(seYgZj$p6Xe#^&mfEBC>r8%_v8t_T ztwi|KE>3e)V?k6@F^|=!_K^P z^6}~m^j}JJpynjAX0DgT7sK}*zH_i|t#6cXnD-Xm=JmI&R!R_pQZ5={QT{KWJB8tY zFBTQcMsZR6v*=lDWn*E}IY@$P;+ z8xbRFkG4XfmJ6<>2QkgF4l(=jNg45a^RSb3omzOp4D{TA^og=)k=Xc~iB1RXUsK+t z9T-c{c0b{pf5OWS!KQb>;ts|J>_;)?cAGQWpV>`fSiRIekN(PtMT~F`no({&@2ppX z5wRoGTQzgvlXo~k-uwa@w-ND58zS5Hj0J2*f9-?sefD6vaJgS0YmDtL=YV5CaX)8Ci=|bqY7YF*S00yh zuX)LQQGB(0?R+hKGkiOJ_r1989O~&5C#Y5BH8rAQt*`2dq&g!nLMDKcaJN|LnE)5{ zjJ2@#ueHy5R+#Hz-=}_~&yvU1J7gJj6>}?7*H;05GKdU7e;C@4`0zW}RSs{J4~{Co zkR9&CM}r)pg`$JY0CNjXTM>=3hm1>Jep3rpiP%nSHbqg4<}58~V|mV2JW_UHH1=*7 z`Gx*GDru%VDaa@-q?&a;7Wc8aNtQq>EgZySF}o5adw@~T18xiV3Ng?uEMzvucMg+} zIzw;z0IoM+>@8D~Suj`N{t%w6$9IY#D|emw{}<89v%pD;=sKDvD%r&s{C|t5{Dg{) z;Po`H`Wfupk6!u%4r_!)8tQ=)lSuUx{Wg@o`md7*9rp<>J=cBh`N$_^^;LqM53sq> zJ@R1x%eJXDQ?^!lp(wPw>II}%tj6_2;r}B>LW z@Y4a~v1EUXP_694 zETL|)0rh{+sQ^rDw6A;;REl<_Z%W?14ti-U#~&k;+R&tM_w(HjlO^s7+fSf#3(-I3 zVpsYRlg@(quh63Ti9Qy9TYU1nJ@JE^(L=9!{uaK_!?p+0ORLa34SpmoR_83eZ~^hn z2JG!Be5qFLz3YavLh%O@D4qQE7R8TTZT5n2CMBDFNzr%u;H0r!m()Ex#fK zacB-6r)A#K8`M<^Y-e$Dv7V?F`Mzff5 zfc+t?>l^A-61itVcR8_f4)PTH@PJdOGa5@A`5Yzc<1CA5`7mrrPx#pwYp?x8%D_c_ zpjkn-NKs34a#C8aBo$a+#u9hpcg81v{RHMOQ9--VLu;_jy6)qAT5sq$sD|P*9P-Jj z`TY*QHW8G$<9+b*!ptAAwsm|n+| z{nocW=vK$JR-gq(pdQo1k4i)*IUMbelZo?bmCk(BmeoXy%p$+ynlRe69A2sg9QqmM zIgT@Ejj8ycSrA{G8fI*BRuJt}CYDX_mM}xHd!Mm#zYu#IgMV6mZ#LhfA>McrIj6>C zonDja|IBC1hE+>I>mrfK26};5mkIX8M7iCBhndI(Xs*U?aL<94jKHImfNfgeyanSz zgUoG^{mQFbVdX;3w}|uX;;ehoQP&vfK8a;chQ(Dz><29K5>wgxm+JV#UU`&SQ8@Z9 zG4n*`TS{L_m1y;1&G{6TVvY7(R{qawT45@r0>08_2m*NO6??V(RzHv>)_-9qZ1u=K z7Vj&pgxroJF z$8{g0WZCJ5l{ovi^r*Fb;w}0}CgSQQU~+~}n9L~3OukWCkh%qG8_4t>pl@hy+*a=Y z&Hn@N^C(OW1y5E+;5QUOb+_?$F?M&^tAq!w;H&BD;2kEH5Sw!C?c|us0RsVI9{<2C;pJgMLD8!$I(YM>^ z{WJKT+TU*=9;rVV_Q9_9;?{@zt?*r)%mKXQbrerpbnTz4!<~<70#^3OjV8*-xf7!b z5`*ktv~oInKtK9I3!;N7Xp_C@%cJlk2~5vVYab&z4CTxNQ9Hjf&q7)8uTC>QaRJ|= z6aTdvS$(uvaeQMozs+1oyI;a~o0MWiS{CoXIU8ejCf}8 z6h?vLto^k1Rj&#|z1QNZ|3cex)Z(j5ucF@|<{%Zq;~nykTQ8suyI}Dq!cgrMKLA7q z(my++aJrx%*D?3(0{#6feYiF{NHw1s@t&zcF%hU%p>O2l`QK5ASvmeYY@NoH579ms z`MU{JW8izyK;|#3S_7FjPilfSb&TxcV(k48 zW?XIs#e>+%1z7N}=$DgN*NM#f*M3w@U~(b!b!oiAA~1S`{k;oXCwMdo#!le)rToS- zpr_S4_R>eRL)T7z(=KArrJ%lto^i#AW4>@i4!r*iGtr&kjrCS~F??UWJihsiW+(Cn zn+7n_fM#@BLRMB|po%>;=Tm5?m4p9>lK2!pox~!ldpeWO zrHVdbtgJ;a-$Pbk{LD&pK7{t0L%*Fyv_23I`3n}fH|*@o{qD4CQ(Ar!+1@iKjBWmy zGXv+)x7EyjjSt0R?q&h(Z5HDAk61osRsW=wC%{BiXkDb`w2G{1m*3F#Nw8yNYsorj zp20(K5690AqV?AC4TfSfjx#zp01sOd4v#^L^`t*_V0LjY*1%c|3K~)AN&QoAb^sg% z(#^qO0(gFdcK(g1qdaFQYgWSC8RX<=VOO_sp2>{Kjluq&K2Kt?h7aV*FAfL#YoTUHEAmSw@2xb^{O_TX!Wn`u10mDk-yE2&)XM1Lb+XynjCg%@WN6 z3&){&|H9H_+-ZU^^Lnx|OKTTUxHwrjfkXM3-6nvk7c07J*}sUJ)c_axsy z`!~Kpt5#qZTp7+bgj-K?I`hy)GyQ+NvHor$Rs(3l8f5IUK|E3%&Ab~sA0LaUIjvK` zd=Pf^0{6yqt}9M+qL2gl${l<=`QA++s*%z4@N+vpdM~-Z_rzw~!2SWN0Zwj>zg4TdhSyb* zvY&o;5*z*}&n)FpRI-Pg83jzm{H4`yJm#wm@YZ<;yhMzbE%a`h$@FRUXv4|0sAWpYhRaUm2wrjfr!K&D=c-K-lJD6+Z{g7?k!OY zKBXZ?HylKlfay#uZ&&y+94vd0zwQLK-MH5oRg;Dm+e+JH16S=WVz{O7vpfzQEeSg- z!k#X0$Y7z{fYgt$KMuYvHX3sb<04D31Kr5V4>5P0X0W0!`sEk&)jkkQMVzAX@b1JY z{m5=?N9TrPvs0ow8gX<>j`quc$e=*RZ7{iI%eA)jd3M8ZiBlexdb; zWos9MmueZ7@cyOroJDv_t#Gje#XF5ho9QJ}@CDDYB1`Ch>+qpxIPXa~dd}2m?)Vng zMkz!s^;D{FQ~5%u9Af4S83eIYcxoRBPHBZQ+~vplt&mX6k1ISFBB8Pv#0?Ccc3y`4l`^ul`$Q^_BN?Lh+{Z;daza zxgse|F;x4o2!X)GvNIAvp=G_No(pJJo97csde**MN9pJQ;=%s+S-qrlC{j{BAp}gy z!npuZK(4I-GeDwtOj=iu;T4iRD4O0B0XcJdprKMv&X9 z0(v1JaFOwi7UXa4(brC)XlsM$T-v+`>^uvv_tW+__$G_6m22of+xWb?R$2rV z=?0NT6cv;b_4~Z$^&au_`xkzm^VqZJ%*>fHb6@v$z2Yufe6}*)pVH0tIEdz-~5nSPeV!A7^1?-kQG7!juw0BC{tJ+VJ+l_vuaAv?xHg&r=cG5 zzzyj&xt-ihl6Jq^mi704Ti(OGU(7N{K%|$C)rVId}A=pMvPK} zXCYKK9||!v6WF`4$+zgb^=0Ic}e$Sv$4L)qFe{t(RO9 zB%fgGRy#e=%X9dcztZN_7NlxXPey@+)bP9?h3*A|?XXKdf>w}6j;00`r-+!z7Z&IA zPSSs^2$?`d%Y9+{UaaXOzO#fg&fqK`V&`}AIuC4DfULaby;$pYaP%_u<~a4Om^+TX zqwmo}{|s}Bb%@c5v4SfYS=QD20bf2XC8$=El$5otuPpsl45N}4ZkGAuEf3+KZHB7Q z`2Qj*9vYrH(v;MW)_XD6IBC78tp}0yH_@n>c<6jWzvMmQPvwR-QQn)dbG^yW%)sNH zgz}E?W0!I6Z}=~<;owB>x-u-(9L#A!G88-`@mAXU86w4>MV%=4*%51|73T&yb=YXC4;&4S9)EsC5H8*j^x~ zRj0Iq>H|E{BWUeI&Z~UUVj>n@K>^Bm6B*iWoarRJTJ}4MvBe3ZU@)1m$UEU zEYrA;RlNU{`mqTOUWVdob*G(Z?1!B3bAIql(1FfpjANP#rsu(Q9o{SRZ83tZHwt?c zJkRjDl`KM9V)(9ThE_3-#vA$;=FA4sB_Q}E-e)W<;Y)5gF5iDf#_s{~(_Ywo5c@ly z@8ze~-2#OioF@)#o@e}LE;1Xxg4{CxPH>hr_;mA$p=ZI#weWKp^=<}gJ{$Gjk0!s5 z3f;sXKJ2{fu4W8P6V@zP&M3Dy%$v}NQAqc^o$gY6h$NJ(wQ{P@oyuE`vpygeSBR@` zAKGhw!dmZyp8o8+#zk$hy=Gl?lwqwFa_jx2BZa*@BWb+mA=7BVl$3WP@}{gwN-3-N z?1x0;6VTg9ShTTtE|c+zlux*Vhm(OiSso6Q;a+k(p(tt%cry^sW&{lB%-oJmIAam8 z%!3XOhW{(M-!Qn{!I_26rCBOYP;Zt~Pc}JY9gQ;E$0%&aTZ9sf#CJJGX|}=w9CkD| zaVU89_ifxE6#F#@CZpHD6GyX-XjQ=EyuS;6@{Dev&1<-(ym-NJ;rTkU$Me8jv$9<$ z1D1fuXF1n%1;0pH_%+};kJ_Sjx@MDQm_gqZ&HB0;-mV4JTX<_Xo$2mO=F90s&)?e|YCzk2uPR1V8CMPrlZGPp162m5@^`s(^ zZ9y^(d5C4yhvEg?eNNtL7QbEy<^2lJdK>4T0fKSyZqGOwu%cgb9b53G)HX1R%;CEr zIuSG%;)9QZuN%O2I9elne409bnR9;SE@Xs%X@4fOUCeuwnVD6*7_B_!W$@V`zg{*} znLhbGmJ?Db%YJIhTRe@KVwGVk)C?72E94Asu}(ga`AOPt?9}(o3(|gV7ph{menorK zMOk^&5SfUUfvS?u3TOXE>iUmQZlW->~CkpAx{i1%B;jqSAS%*1kD!M{F5 z-;_)KH}JRdX7@XTP~5VpM=8!dh0J?KeAF0ttaVU}av)iYsKzB9@zyA ziNumepcmi!HR%WX7#sy}%>lL=3#>l+XF+-(%pb+yaPV9Ps;hZ@hb^;tw*gC}u6+#Q3&LjBxv#nH;|4UXyXRLQ<=JYE+OER`$~Ps&+Kl(YJUSW_mSU zHueSntZ>nL^JfEZDB!DVfmzTXyI}mc?`X`uyd{l>$_0~dIO+xPDZE+9a~YoPB+#7? zmcw9XH$2|PFeMaUr#P54f_Wt<%lkdvArZUy)C--GoE5o z@+=4Ng=VAZ&lqz#$K4J)GP+SjCD*X2tEoeU-OYHZ+2MV8V&W-IBlj^jxi-JqmRMi& zbjHSdCWdJ(h(I#X&q3=kyr8`#Jx8i{!geCi5h(USV#_38{~hZ3GhWj}&{Y52Pte*3 zzcqUU$n^!&XaapM9VW?|# zjOvTp?8I30mB;}KUplAA#w;Zdu91F=(Ak;jpV~oZ;1>CLe zSZ$eyVf`(RJdNM;Gm&gE_aW?D1xh2p>L%>ecn;QTKvzd{&0WEB7-}#UOs8W%$6^_j zgIdk^zoacF6EgxPV?LIK%!f4;Y&SFiaXYW4yO3HYe^Py3lTniKi9fa0v22@qEXYgI zd?&J?!Nd3|yu>j*&32k*8ivwNeOr5knw~;XpS9JF(s%VO>8~ucn5!5m3BR5T?}k=f zqK38jL|Pqt6!V$&C!gjSvf-+vOt}PRC2Sg z2#+miBWjTTPh`_=f3ys&d6 zIo~fhMceDlp|8sO+9agruu^!ZULTVKLbpJn>c6o(QuNb zG@nQK>D$^a4@ju0CdkK}4XumGp>x4C6v* zjnRCc>A|uD+MAlb*$?Rf6Gm+EBO3ddEbv4>=KKq_OhIO$DgMD@eB;x^FFD<3c)Wk0 z-6zQxC^qixw8eiLNG#l!;|8D*{jjYXt+s*xMcvlSXZ706%S=>N@QYS3$6Hme5$%Sh z{Blh~Sqe9mq{>>^d5b6l+bP=`JPc3qO03gEs%&a2RE4H-(oifxMQ`%KvU`+h= zjJz*FT@{)YL1h;BMWbM?D91HU1-At?{x~(BC=UhLim%)SWq-iP?uX#15oy0+JCER# z&Lv*WK!ze3&1(TKJE5F;`NiGDmq%gU7F1JX`p%PsD?#)bPE3-Jtd(Y&$%Ic76V^2% z=82;2RVQ-&3EMe?dezEl%`bMv<_^H3z7OiZ6J_q@IUm#p@muZDlX_fp7hVUWy5nH% z68`riOWBjzH*UE3m{%;4K8I78%b|itzi-Myt=P&Z#G#(2@VObpftF2G`IXOL-V?js3QsJ4Ad|EtsBoCzx--->U$+r0}{t@xH(VRr$T*%M^D!tGR)=|JppH}W+1 zVCf-x^j*d$N{L?Pq}{C)|I_nZ+qn9;d@fEa*@x7YugNkN$I{+}b4k&Sr1Zpo#|y>g z<#)g3jOt7FG4bkWWPy~q?N6O)jz8W3#cxL~>cy6kT*CygZs+zPR{5Ek21DqZ-`eZJ zJfOq8nr;=YE;Txv6g<@fOrssNLXk?;@(S{iZ0o=6r|>bPgpiO8IBC{Y`wV5h8drs$ z-Wg_wt{tr`f^o>*ti6q^TKKMON8 zE8u0uk+~|GdcE9 z^9;qO9yKG2RS{mECbP2{xT8Ak z>w)%0qrjv1ef8e$LJqkzINoE{z=B=}^mZk4FBkTHL6Ou_me9|^t1K;(5Q8l$UwxJ$ zil2%KgNG@rVJIF7&%nbq?967GFJ$u-t8GlSGuHnwwQP_@t+K%SzIf-OAXl#nm1_uI0yDGm|g4$-d7#>3dcl(dpCU9)o5Kb zct%sEmEq17?7=Bw!Ea%edb@{`LkK6cpt<$_qQ659vPx&LwwvhVa)A2x8o#C@F;7lx zJab5qfsOX|x#zL|C8=NiVBZXC@OH8WYEc=FH{J$+AQRWh=o{2TJ(Na*Epx5A-I%5B zf|~=i)tbSb$>JvPGP*sf$yUzlm8qWT%C|{>HRiy^CRyh8|IUAFc2lq7r+KA9*&ae( z$mz4TnkEZ1y;BTiN*i!g3Tv9LV{9I)Sg@=Nwq!r0dxGfxbJTDPIfVsaxCD02!?zs| zu6f;BXle-*HVRz|Cl1_*t!#}ynt^hQCi>n1yXO!`^e6Azlh(CI)bo7!OF1Z)kyxx^ zocT0X)59KZM;Qi&S>gq3lOb<_6#R$smN;zZ0+bwa_f3Opd;m&qcw`PC>9Ze#>RdQ;Otr# zQYcDa<>AURkt)htk=9!N&-@s}%McPevXjD0Totd(!!hP+ug+kf^nI~W_EDBqcq=Zk zmNR7$)Jw#yv4dpH`ctw$#A z8Q$h4e2QgoCnX;6VajbF>=;UmNnS2<3FW5#)?w)8Vvekj-fBL;3;4HZ`IR%+&pV7_ z`I+96KftkEX!d(VC3}c6c3?-tuxLGbtp&pOXhZ!C|FjAbjy#|ou3AYw;?v)pRBlmf z*L>{y2h{z}cws+u)Wc|0|2S4MtF2L-$s6r38*_u1+ zgoW)%E$YR6w#Mey_1;heYcVft8RE~GctoD}JM~(gM^Z{z85#9533}W*Y_-@$CH`-< zHB199$n0alL#eIluW&Z@3U@ukR;jbXR^34nq-=&5>ihan(LT?h^aC-H%s3 zhB=>r=W5~>Def}(xe#BX6--VJo@LS7TTUtWC2h@Dutb|_Rm|>=<+!o*gdavPlXAom z$0*C{;8~2CTmikz0n+Ee@hl9zj;`+o+duGapI|>9Gn-Lrw=hSpCpY&CmhwyNa!!2N zcfoTW+}CLR)Zo+}Zl*1g7u{^KZG}vYNMR zeohdv7~aNM(`zx;a8+AR9K43cL}HqO@qNnn3LeoB?BHT7=UUKQLaZ_ktCt7=HY<0K z0Pm(W5lC|SS*9dLI7eo!I=t-5UoY~iRc) zE>X$}5Ix1`$JC+Mj5W&U#-lWg@#!7nj~MP?>cW@srX2Vdf`M5WNs^Yj(gP$@p|?fR z-Fje>)5o-Pn&uHFls_{T!GJxx!Nb3>o!)kCN0_O#n8iPh~gZ^Yf>+? zO=yhTSgUcYqOLZ6-RQ)xuY#YkSY1o`_!m$ZC(>0smy}>A~8@N zr*M!4zkP^-rl!V0?a>y~Vc9^lrKYuJD=i}|tSyrujAb{qS3b3}7gjga8&`A3r=TuR zb~Ivr8~&zxydD6@d48s7F}N-Vp_Oo>I!LA>K1{(qUvxUqdqA^`CW5)mL9zppLO<~A zM?P;KnH%-cY73JKVa0xMPB16=Be1(bySe5szlq({jGbTm+M9$GJTke7h|!0-gUGB6 zf&p7l&ru-Km%eI+(AQY*ZKo{JWgGPN29_@?(MlR}cPV(rhNsLHL|nNJi;$5zP##Zb zGs>#I;w@2e@$gsdWPP-|FFgF#33ZpjS+#-A;YwHWzZqU`L-^SQdtZ(Jb;%hWWp?x5 z@rIgnRsHa9Hxh$Z^_5C~NLtEMwo7F$WtIIjH569^ReZ}&p(5s4zBjW>pDgrxB3@0qE3${lc4$i&!L6;u$>y&z6A|k4wj3_{grWR zQrp$PGY5*alRgK-=z&?4OiX*2IS~#Ipoe5j-cQ0io{o>%8ucrUhmwSO64H6{obO;K zwch;i%zbbjre38E-Nna!0n+4U!7nqb$Q|~s(TnR1UQi_8UQ2eVAbkG~zvTxfF_~A* z!gt4Sn|y}eU*}44kr(`(TIS&Mc7d72$v?z!*Q2;quyl$oXLFWH?)PLkz6QmSsQO8) z`Unv2&g&B5ok`fsE|f$K*jo!8mxtp^oqKM5{MqvOwnfR>u410Kc3v&;RNmWs5c5an z&&Y;KVU@v+%@H>GU0!eS5OTsz2z-vL^8!gYP~x_B7mlh{itfGYN;-@(SPUD0s&8n2VKi zKg$ex?O4n693zjm;G2AcZNAT~-yvrFfN141yxTzJxB!F>pb}?^AjQ?w^c(q@JkThirhdpcLfToe$xlpB5$i4@n~1xF9FXAC~->|-4tK93KlYo zZ(ee1vMNOZW>M}+kLnq$Eb%AG-k3I^6d@6gLfZ*-m?EpAePZR>mj+cf}kh*t31uw(Dr%cA}L{ zWO6k+X)W)Tz}!}DdpsfaNKhZ0xent6IZETLhmuLtO4MDko73U*0QV$FmgU^_=xL() zM;@ZDJ3#XX^!y?D+L!S2B6j*mUNw{T->j)J-z|(kv(MYf>|0l3ob;GUfzsU%7LCX> ztn`&}5&xI+PVwO|)KGIsP2*a&k)>OMjeh1txvM#%GWcuUQeN!H6p-8pLbIq@30(1U z0a`v6+$v!ya}!ZjA`i3-&Wf4!P}^oGOBFn-;(X_l+n)6UYLb($#Y*e<=@+((x>}Ds zr;t;x1dTC}U9`SD@=FwPYKtkW&!t!|(&@;jga8 zZdRnds{#Mpk(=ob=FDY>FOvWp)tJa(qB926E^@{L=1oMP@+FdGM_%enVC<}(y^D8A55{#wKJ8q~PaXz2`c1|@y$+M-MmAXfrTGkXAM ztc}uE2mRWxwJPU5#T+b&;O8jjf!xeWcx}Cp$XygidyJcw53S)!KSZvicx$%?+!eqk74Ul;+3K98tyVHN9V-HX@~_HO4d7qcB?x4uZJJh1s}Ko*|x+) z3@xyQWRKwG13&7& z<^<1-M0J($PP!1=mtxd(BmQ?H^6ZHXt?16c3NEC+k0DMeMBO;-KTrFSrsgNVgSCv~ z-N9O);@9rs@5Z8aF&{ID4{!@QCEbKEX2zHuqnFo_a}0(feXwH9IO8n*&@YKhKP7Yc z*w^84)S3QhY8d4|2z&ae`!R7z2uf1VeTw#Oq!#4E#wI}_rxB0Trfxk2Pu0gJSkLxw zwmmUPcTg;g?&N~0wL!8B^`iy8SP3lkYqy2>!Y$6KS#wy!=QJ&$VQzoCZncYfA9aKwr|$-Fi@a%zXLOY6j%>BAz-Hr! zg+G*=+TGGu+wbsEZty$-lKVh%Gak?TXs^Z)x^6yfX9ylqZfg5`DD(i>*_ybeAz8j? zBAS}y;L1?$@1uwtWP=d}wZKY=y9=B6dnU4dL$TyF&5 zP3z@l1%-;29Tui2C>E zp;y9l?5JAHuCVPWS6iPpn5VSvq~N;Bao&cY*d9M{2z8+YpQB-Bezc%7cs3&fEyu53 zoio}YN%;N2D{PF5}<1&G?*QI;FB_D8WtK9Fz>#%0TE3LXK5+As8Uq}15# zsCXt^#7ARcaExk%G*zX0)6tPEFxd7_$oZ#Z{6H;Vaf6MNk#>86zFL@Z=ClyAPz z%On)S0{ti=HK7+3% zX)`WE5A@n@9Q=}wL@~b+Q8t4=&Cu-*l=&Rad7MnqRV?TU&aR&BAMiIA!a4411qh15?qevJiGYB0qEr-#t6lGcjeYG1!U*g{4YfrK{|`dYy=g)|M@u3?9ZW zu}O%EX~IR1fThC6Fp?7Mojg|^qZ%L_^-h_7)f`2n+N(NbbNA_6>9PHD$q!wCgO|AD z8$=M-;Lm9=J?Pue#l#_NDW#X#q3+yoCfHenxNtI9YNTjatmg8{5=c?hq&QSMQ&q>pby zyP_YP$+d6BqU|KIoR23o5}#Z>RMaDSGF#`u%usT)S@6jm)@><756%Z%MHP6yjPn$O z&w2Q@j_!2sI3YHp9!fq4bQLXDJBbII zQoBpQoE@}84Iz^-+0Vj{0M+d7CzM}FI9i*#zTv37^8{lWv`Wik-kl=49YuLJ=h=#L zKZdQULk?}mf3Wuey?+W|dGBH+zlKL0(A&o7_s5_%2aiXiO=k1ED?xG*HuVI*@sLtK zht7`2U#o~Eok5FQ7INpk(f%(uek1j284C0f?WP~m7QTT#Ds}L7q)HvR?~&X|eY_?0 z0UJXUGznb0^QkF!!ipeRgGg3@Im!CK-(VHg%9Mnxr{V(3AP60mtQcyUH)Z<7JE^I? z0}%fqbcFC*H0>C(w?R%XXx-Fj>9%|^~;8Id}?b&?qv~v=T3Z= zxU?r+L3eL}pjw^}_&K1}eENhOt@;?xqtxCsy^l1{Z%scMszQ&A|I)PB(Jvd*JJGtoAw(&FGyY)4qv3dl5=`0$P0?FD44b z{eqm(HNPL`F+8CIWOh!oZ5dYa8vTeO;iF5tR|;OY6H~6>mw$F@lgpXpYNefTXy1H{ zUO#shkiY)`z3z(NHkrCo9sj!y3OktGd~a&$bkLm5vm3l$&bCId_NH@{vDpn-muWwv zKW{U?RZ_P+evp_a@55}JVh82IZFUM_ATFu=)k93Y`S&AWoc4;jLf*91vJl2zQ*qS? zZ8cQQ+Nvg5n~pHG{ISjzgL)Q=nid;xtt$2XeR|oP0>Ml8LwB)h57DMwc%pmohBkxr zI(YgHEh=Y-*T>-z^rsHAK^GgLw8P+L6;PT%?cRo6>x%Dq*;#_^T}wprGj-x93jQsh zXMp;B(Afb32Z)V!;f+?uo@(Z)xS$j1j>6(~ptkHLY8(L*%Y*Tsa4>}5PK!dsaet&O zRBP#6BX7_NP0+kwKY`lksOJ%%Rk_KWkAbh(vE`fjweHR`>Q*IJ8HQizL3$G2P9^Fn zMcrvhoteNLY21UdO=BpFrKoRnIQ)h4BlFY@VC9e#tns|kJ4@tK3g1?_c+8Fp5O)aQ`_t75K z_T?GH_}sh1dO5*$A?zuP2epD6&=s`yI{ZAqxn_fWv^y3?|4p2D3$I5xzi6U-jnCZ$ zmtwhd@U|L~i)g{fqw|zeu* zfna?%x3|I7D)sV-29c|8$2ze27Pw8Gc%um`YJGpLAB75ek;mHTx)QX(lKJ|dd9 zg8H5zp4bDg)V6gDbu8-c!?##QJ+4j36$0U^FzX!<(mc)?Xy3?73-fu}h-+be55n!W zd|#2zI_&H`YRC$_{pqMiLf_!Jtu5s#-6XiX#@&4>L<0pb_%hWFE|r8&g=Vtr$} zvr*CJVEmGO%kj}mP%}&79Zw=cT??j5sH@$vxa-*x4j`FW&9H;NcG@%6sO0*I)|0>j zm9AzSQoLe$aM@6?L`o@aWh0GW|5tC{V*B5_|4QJ$68NtK{wsn1O5nc|_^$;1|5pO( zd@m}k6H10nK9w>*_AqbP-fL^%*(x3hvVrn=6|2anmJh6~qQ$QIEI(LYu%ch>QG0;R zgQU^p)`uc3xd!Dalj6gL;Hjsktt>U$)T=Eq-hN^}r6d-OgVz_It4z=L(sP!ic&Kym z7Q2zV)(C_2JY#bY`HAT=@XX7(3gc5(<9{_``kFi&(e9!4jatM{Rq;DD4kI(ak(%RE zwzBMNGX-+Y9#oFW>!k5B%T-e>Ah8i#hCM+OtGMexD%QC7+WCZe3=1q%_y zD#|SAld!aH!8?6j+w3WH^;F~{U)u7C7BT6ZicA&D*g4ccOmVE{4%5tE>Xod149U1p zlWGmJ9Q zNb$;)XkT|*NFIZ)QnVQgG%r}KEIll?0g%pY#2RHJ|+^qL+p~8UV`h0 zcII=nd8rv?_-=mgp&R`dBB*P1K&%i~QI5M!%sC^7b*qvYoJ)_14dhm|ZcluooS(=k zU1pr(3-F9f1|&XFQ!Ev}{|Ki>I;<;+%i!%$tcNqprKX= z)xSp0DoUX`xzaBwr{{3s9rE1W=s{3|Z>i5}Y05>t05lUvbIzHH^W>x)+rb%)(pUea zDx6g{y796Qw-RZdIY?N_H>RAQ;SLfLDlz3jhhDB0yQgfbM>`lq} z)1d~bz+d;6iC-8)&fzxvc|j}Nb#hPX$SdGJpPiq0NeL7xkp2{X!Yn@?knPh3G&aSLtJnly0qf{H! zQjnOt)F?->S3Nvc->ol^+ICA(%9;l-6CBYTTnEXUYFx>Ea^PAgV-KxoBdOzIlxbe- zL^5!b0%zk-SQg=&N!Zp3R2q4W%!oIwWgvBlk?2OJ%pm%SI9G*CTo<6@oDMFOen*|YHVaf{v?Z0 zfolxoxG;{+%Dq+cYnl3m7v=h^axE>nM)h^kypyA`0qdx>-*ewr;QAu!&KV~*e9w%Q zCuaOxOclHT&}`lj?9WO4u(ielWf{2|X=xg2MSiX)jAuSdJ2l_YJM{>W6;O7%4BwL#$Oz7@*xQ(^(OSVz zoqV(;l%V9xkWZ{l=CV3@;@zlmS*|h_cb1*9FH8Ms;I!piQCvYsbh;UKbrCGr92$MF zn}3jPyo}Ob!EPoY&sdv%G2LvSnb6J3|Np`1>sK-EJUdse%(+Tdf0osgk0Zv){sp|$ ze#_&eM3gAJ1VQTu*Tpdix&UYijRLs4N2OG9wBjZCDwWI@s6ANI8W43(q3H zZixRWeC!M*!&FF08-<^~A|!>YP|<&Fvn;RG0()qs*+BnQ=g zw1{XmK*#+Z?;}0^shfaYI_z#2Y;`Lb)dH3^1dU2OyTGUjSW%5~)cgX2Xy3W%suTA^nR_>Sh9-lzTT8d&}T zl5w$=&uER+91fu{J`3#JxOqZXGMpNe{)f*gG! z)G89pB0;nwdHPn&T-1tfjHaiRWx3hdBKB}l0`trlW zBUqAyAa|bp{z=}eC-+Y5|^o zQFGIBm*3EyvJfVg%`GQeD1{G$x4rm{LR?2$tWb5n`GDeWZn(T!-165GpB8!B_I!dz!Y-i@Xe=Q$iIgq=8E zlhJP61dG&)8sC#1okJL@w2Bt8FX`)WloqtFXay~ZeT@O4XVB>0zQWd|%;Z6bfMFKi zX9EFwFp3?*d5sIt7Jz9|(C-dkzQy{*rWLdq>e!wZxV`)aD-?QrDB0??uWg6pdEtF- zUq3W{u(1=$`DUSq>D*B2Q(eYT^`c+YV*2-2;!1mSp1OFsIl)2WwtvTC-HhHU63Wh5 zGGlW$vrTizX9?l^k8j!Z$l{zgkDCE$lAKHB`kD%IG53ush3w(f{(+R%C`xKNBhEC6@Bux}_R{M4 z3461-f55P7aA^@r-I}}151TaGSQs3t3a4^_T^^7Og`uj=ZSg%C|v z**4NYVm9rp8)$?7g&r)oX(wMy*_NR{*bcrknePn33tNKs)QMla&q$4)Tvu1n9Kdn) zz(BK27A3;aT)XNE`aQP!Yua5?fZ2yA{Xje$smMBP=s~piBr(`aYE))wP64hXn;XS_ zH{pCE!84jMJ!82x&Bq)?%WbWH@YFnn#nG3-+?{#|3MI3b0K_{XX9pVt#a&~k@X?XN zR9g*Yz0-DiOyaOIM)GHM9-Up^GM>vn5}$>#TH&QT8tt9LuUVP+FI3}T>vGa}BMipn zqjt7%Z&MaExwAH4)|ygV!JSQJw8RSf@@YPkZyAsH4E1db>bdZYKB0s*k#VR`d8t2h z9-fszR`E+okShkp%6H~q?+8#G<|94MNl7U+!a~)BRgK}sVS1gZUqwzYrl(nV4xQG_|vgaN2*Z!q5gjsq$6BCs`-`E8^YC-HYQqUmdt^cwf_2y|cY zx*eaYAxKmsi?9K8NQVxD^R0^9M=@|~MATE;?-|#XzH@W&0tbVwX0sf~dy3kB6vr

a%!pcP4J{9rr@C#4#c1aCFa|4|OOxR?1%L6OO_9t`KtH(|d}sbklaXC-GF+y3e|m-NaVS z$(B#cX!2ukzu?}2aln2YabIliYgpKqL9Y$}3$nc+5m61YnXZJTu0nS5}Zdy}dC!=kNQNaGhN;SkL4TPObh~8 zSm^AtLs8#wSm~Ltc6MB7x{SunT5&Z);3Bb6HQ#c1&)>`ejUTvsJ{F) zVxU<1p!CW_{zYnpn&LIuamLk%h+crNTTL8l%U!%(6F8}r`Fp~i<#@FA-20PpMq`1i z@?TndGq#N8Q!jzYQrPz;v1MY|^Eo>HJ;qo+GZ*1+N>HrEakZwu72+=y7Plc>&k2@I z*@sqR+|C%;4w!w@6k{A^9V)C=it57A^a9UEW5={TOXwAKPx?OAmwZ zS6HaB*xT~v7M>%#g;9*dOhH7t)kuKs9w(1MA%~Fb` z6iKUhaj!?qL}AG`dheKy9P3W<&tlkH)wd4BhqR>sRR+Pf=n1Np$w!RT9oyRnOEZE0 zDPTrp&>R!VFQSQnibuTXSTvaa;3k)*V>QctcFGE zP&QC8_{cv?b;F0mMCt7_P`u$=o76t_AH&+?_@+U$);^9xtJ#M)*ZRWGu}XP`kc{W2 zw!3UYwprW5_e0dhLLsNSJ|oMjE#Y0!tZJ1ftu>ZG9Bh(0W&2Vs*dF*kQM3fU6!$kceaOxVUeSkqQStW&VR zwLv2TnTxKT6$LH{h;`F}QOQV#G=PjW3)?%u*bQDftmJYcl&WSf`$z|$v%>0v;9ij< z^+7ia--^QON-=zs9QPz6TBp5Kp!YJ`ds}SmeyTzm@=W93iFog!SDeRX-ea#dV<2Zu zVSN4sj(s56qpB2&GWz|*WG14^$GOyGOMl{m&SWD;{By)VH^@`8Uc)8-0d_VQ9`qI# z_mTgcS2uZfgf>X*A0+?$6Z;h2oMjEIq(e%miIwiZ5EQ=pFH7k>u0vIbDz=d&b=##P zxK9gBJ(D8g>JglZ;PeZju9f1m@^{!fV{|4~osebBx~u51E)g+=6q|`u#ny zL|Q{pYbkc4FQ@RAGD`8B%sn0LF3*-6EMD>Au%|DRer!`|_TAg<&kCTar@|iW*^lPkv(VWPr2NfzQsOekE{jmQ%5$h4+yWfdxpO{kk zlrkvM4N+3s@|hFZ*=d}mYV7NS`(AY0oy4?%fZ|o6p-eV~y-&n@oqECrSmC?GVSiyW z!kgoqkkd`Lx|m0g?&i?Zd&1T6E@ZW1W%!9u;dAo?^=YRP2}fC4`BK&SI@2TZSW$S`2u!krnPm& zu^iaaygbvjBhr9WZn)SIZe=81jRQrEek@>IWg|-5q{v@O&@2V28Bq>Y$CuTthOve4 z=~~w?H~UNivQi-OaHM6xx-0koc;2ae<16CiIpm)SVda}dNN?dsyKz+Qu-n&B2^XRa z|4XIiTvHm1?)ar`HhU5rJi7zU@+lrO5ix*tt|~-&1ucW^Q^*4tj^IZ8?rM zCwb7Tc+{?V?N{j|Q|KW{h-M2AmyN)KHpJ=Bn>?orzuW{!yt9rsCX7goZ?{W-ts9>qwv4xAP~)~vh*VHwiOt(imdCrlUQaCs@x5J^E-ID9Xq=g{hJYvCp5HwxoTOT+o>yz>H9eIs7KJN>8`@zfLiXkJE@%Mslc z0oOv*j2Uy4tBmD9@7v4BZAIAR+q|}}Elxy})EsE{I%cx%MH@Or#`3qHoIVk416Z2g9w#o$M|E;~Gb+;N?!oa)Z7u|amj1h2 z$To+q`-FQ}pK>-hWTs}R=o7N3Vx{A!+q+n)eF#nWCv8YqR`^Z zKe767GRv7%ezhYH?Ep8m5=8;}Vl#SlDO8c7Sm2E&)@-5mE7H;}&~;jo?{@;5Zs1Xf ztg{sv$tWJnVQZ(-`U_C|)-dXLiqUFa)9oSIp;oBWjGy(O-5RUhn0pBr{sNv-`%ooo z3@on*L$zvUT8=)u7fW8GE2A{RD!+ko z*G{|Dqp)*6*1aoMx}M|K7T0xp3LP-1;_b z%8xczf~Me4_E0x)NzFSe_qtDspxiOAN2eVuR}uhc&<| zXueAefd&d4nF_h*+U7xG5h!hLYgf+_r?xz&(XMNQ+eQchQ5o3CPIJ z*-$+?B*XmCAr`j35Oa9znL|(rIfm*{-_w?m$-+&DI%UY^oqDc6SKlIbD!Tp3`_jBc zkNpWWM}guD`sFKN_Bw2xj8Za%o;(uv&cuIq;}gSahqNdOb<7{+4W((-E_g9rkz^WL zLOZzC9zM=RlT(eYR$E$(xBQ+loV%cT1zr|Lvw22rT8S8@7@n^R9_SFZcP(qbGzTM9 zca{TDWvt3wWovRo{IafYUlBx0!QvOO?0MjDan89E-`zm{rmm{~D>Ek=qR_s;o*Up3 zUg!BArXJ_h4@GC6e-WLe1wX-5S^hqBicvkzv0bUO~*#JO=#)0c8e$~$ zgsMEG>}`m<EtKm=8Q z4A+l%*C&&2hZzdI+P{FzRp)uQIP?Po#Ga05PqAbqpPF z0?~1Mj;08;;9YpNkx>_|LwSN&S2OdUncl=d-;kr9^b^^?vB0Z|HYT7=3@0Z4FP=ir z-GqT-sq>B@YxRDJu=B3MQjFB2W4N=Y&KB!k$4^DIj=8Ec(YT7X=uacry1Gv(Mh-Wi zCTwMtY&Kf+g2?>HRgBEf;CMd<(f8r(1mfC(LCx{^X!=+j1u}xv9CE{s< z_k4|bwgR?yG1hi1R&+1S{0dATd)1kr(1Ny34vu+fxlvT%LisE5axtSC@BkM4m{&NQ1Xc_VKa&oZZSaq$uSIius()t4w+O4QW z+3^+y>5+XM>SF zBPyC^K;`$3qa3fL4Z>S!N8M|OSh(%K=n6MyJLMCFrm)ssSji(gM#@uaq|A9w=WEp` zTx29o$bC9-B#y~O?3f5Ox&`sxB<|bb={H2@tLedu!BKOcr*h^4hzUl((y_!vwP0rj zbCCLtE!e&&Mz?z6!*osN#Ne7N5}SO)Zf2usCm~iYfClhqB#$}DcR!|2%%rcKAVSi5Hl-sh%|oB51Dg3@q}JN0%zJr2 zwGI})4!(OJoPLv$@-NVaUch^*9|h)nbfRYTrO{|3IZ<>jno8K5rLgNXbCm0vIYi!6 zXzzwFc;7g3^&6bqSk61Vg_wnL zjJAtUy1DoCPWZ~9B~;jgt9g=pdkI}_0Jqv+Ww z7z2D8Z}|}n{m%b|y!&hBPp;tA7o79^@UnlzbI!u&^u;zXXrG5d{A-`TW%&*%$lNfIVzCIq2&vA{t#uBBQSG^9J!~ z2D67c_xy0b7*8Rj#&rEHyINyK8EXT{l-{Ng+{I>9!kabySn5VdCNgNbQ zrQEv8E}^JBDduq*iDS926`oSzWn=Z8vO3Mn&dIaEsMY21?uUu}2BZ1?j5e~1Tx%ZQ zb2%7~AwTO1M`x15#1R>6AP&4lG?;)WU;vTr1Qee3#3{+}$6AqUA=>I1+T|Z|`G@rJ zf4s_AuJ)!b3Qb*q3~js{57wRNGaAOGoAS4 zYfwrDFNJqTXSJv8aZp>2uSuQQ^&T&%KIAR#>@L!c)k|L+Y8B8AiPhTXELKwqmGw zDBCJ@Wr5{A_08}TE+TSjLKzUA=e=oS;pJJ->p~0fMg{qi|1I&EYd~>4R#rB55Y{Ol z`F92U=V@%$WfYn@Sj82LJjc??RcJ{?wo9>8S|9%}FP3WBou~)bh*SPDOX(v^z^?-R zVK{zgI3vl;&`VYQ(U(Z1CH6KAic}J!5nV~Dfq57IeJ9d$T7jm5FH} z%X#La4H}X)=<00;$N;ku^OVO<9i^ovnGRThHK z@BZ|XzZl_u#vUf1)!j5hsXj|?niF*uf|Uj6o9VEtDX}gN(UP>atZrW3*Zh}y@F@Yd zuOoJ28roASA~0RoatQHEL-=>iD~aE}&%DQs=$7YA5~AET%;e~XMLvY3-9gSXlrtEI zht9@tWdx`4a8(tkjfmpg5p`>Heh6CE*XaBM@TH#--;L*Z!kds23L%<~bK2_ej++io z$1`zF{8DAKW1}ptSS!yczRM2F$2wLgjQkh&4r%40dag>7Y}m|cW;9;&Aer_)(920i zGKCSc4~WT|qSTJUXAU45Oz!`NU2a8mCl6YJdZAB=JH`{+mWCf~*=KziQ#TS#T*4C- zCC-`6xh5eeIm0(~wUwNxPHP$0Ur40i3x)VIGQVmtL_Q$vyxA9aYRWH35X zDYFQ+^`iyfKy#`NJEa$8hM{WjJoL!I{FR|s_NU!dMd| zto{k(1-f43B9xEwUR5Hz9w`5VIEL^RVktaB`za)J*MD~t<_--#>N_r1agmRFs6HtS z^^UxxEUm-T>9uaV8&Ok_P;G1(SbE>P4?llLoBWBY6aeyOUILY$Sx7fKVy=(8Oq{iwd2mbc z47Z7+CSd8qn{adN4F8LH|J^E93T=nD*e4$<#AHMD+>M*)wR(Vyd}V*NMSFG3)pvxo z^Qc+{L+VgMtj>Jup8jIA_7AE{hmwQNL4ofAOXtJQKgl#68IAh>jOU-l2=FO6w< z7tv>%(I-@g_b!&H4on(J7ITFt=sdn_AK!bzy>!F_H((s2J=KmUiMXzk4UHk*U%@JF zGtjjw`3>=%y-XYodJ2|vv6kP%@m*N9?cNHr*w1D^^q-h?*v6;iMOyo+K1%;f{AN?| z%}Mr>3d^h5C^6^M80@#f&BjDP!;G$9Uj#q;0Do5p%MwLztcY%(4@9S#9gKGFz!LX? zcg;DQ8d&XGSep0gRqs;0Ju#y7-zA^*(3=O4X&odU+>HJH7mQngwGErpFbrh@}Riy6(d=7KJl2u)jlK&}j0KZFn+f-w?kHBwmp=m;pRSVj~j4 z%hqNg8v7BD`~xJaGG3dWzmmk$Re5a95q^OdxR%JebA*$P`0ktdk4m7s5DT;z8+-}7 zIu7sNm`rOGHGsu9kK%aWzQp)ji0HfUjsM0&Vq82U<1rP!!YX`MueIgBuN{_(Z)H!N z6?SMkTdVi=9la->i?i~l$?4;{$mqIJ<NsbzPH7D1IC0@$;~@iOuIkCqJSte@{Nu!7oSV zzlZ!Uj(YZ6SaOYrJw@L?fflfwUtUfRkoPNu&l^An+K{@wo#q_B^4QeCzI4S$zsOzJ zip~MQ%28|GiJYc0k=wiU%Z{+VIOmiNOWPY?vKs4f)++{@KLJoeBDnH+`^Aj1Y(^Wp zitkK}cSu4Um_LGz!$*vAyc1HoIos+uEBthK+!VS_>k$|AO6WNo>#!B3?lX?3sgFt7eInXzQbuR*5#P=xSNRqX`W}|{ZFp6I`12s+!DmcD&O~bnl%Yyv zHAwY^P0vwmvk}iXr%tv7JS_tbd#POfnm8mA^Jc}2l5kwr*K^tTU|&}un~Rp%hknz7 zJpMlHEsh`EOV#rzW*{UddeW*W)3Ks&U~{LynFpSa^}j&t4yAoK0r8 zFq>pLk#bftsFB1{8?lY+U~V6` zACU@+Ioy2Ur=hOqHXQnhDEDIYcx{~TR;@roKALXO{-=*C=vW?&Hi@GA@>u8>F zShte2!5q9!0rnQh^A*G)m&rLbzVVI80$$zll|5*Sf$*~n9(gEzyBrzldGM}7PQMzK z)I`0hiBHlxVFzJG3sl1a@MRorJsa)eL-rUIS;4q7{i7Vm*c*>tk_v;S^t(?OL(sTh zEVyJ##&`ctH%IVnzEa8a#ntJo{6t50dxirx=U`ig+@r``gyz>lVe z;w*h#^Wrw4BfRO4#6D`YYzjCuBG>3Zt!6f`sl=FCZRX(U>eGo#OCroh__%(wUQ4{Q zYI>HSd7knzVQ=niX#xhxWIDc_zmHlrhJCj5f|84@gKKI0sY45~mixzc->~D^ivD z0H3glBfCnC^BO#GFKV|+5G^<2ZyXpeC8jz-O{{A1icwFpm!quY&*2CM5cRzbvR`nF zP4KD{!ADmItix!}V=Q_txY&iBU7X+f2>cWky~gVf{Pr8z8IQ;~7uD0xBUQLjpxN85 zuzT$q`<-2Gt*wT7tJyX&0^@(T5Ite$ZsMP_w{DwI4B6>ybNCqW1@X@zFPs$_2}`Hc zYTx>=oHtDuGYH~YnuQsd54Iy5q6{vcxESNzUJ*i`8z}H&uxxyD>{>S zIvd-uj{ozqBfoR(8^H1xs%jJ1tWYULvmRgx1%B2ssKHI-1egGohA{pw=oA}fo_`$}Y z+su4G9CVN#@fUt(DYh{uwyg@W`&}}}U%U$B0)Mh5T#|@RSP~?Q!qCE0Hsl4@XT%tX zO$u1s474-)=ZIDc(L)~KeZNBMX+zYUp4Kf(eiTbAya7BP`4`Ao_Jfq_p||twI=So- zjz1+#NoZ5?|6iDt$|k4ArALeB`W@v zNcSSqek+Y`aqZA5m}8A*6dU&@2utZ6&hS$3PfYA@NuLAhX$J&Yz&2!3W4 zNRgWm5MB-sXDJ=V!bwQE|6-U>bB_*Rz2jc%9mPOSKX9XGdRMuskkyQ`1d-nny1Lp* z5japAeY&k*)E1+H@gz(fkCkmgo6n~2_vStZ@1&JkwC-;!*x8Byuj5l+^v4pnETVsp z0==^44t}Q%zN!eGWF_tO2ONFqy^i{#HN~Q6(;W1M>UiOXMEUPAmc0!8E}91PloBAF z(H}~C`e+Kr$y2JbCshU&0NIhI4LME=zITYK*Gq8l7yld#z3wNoneBC+KSBk$N;4$1 zd6<##giocj*=<>y%a*cTIkVFs{sTR*9(GZ)YwF<_auV+}#y;gHhD*;;TQZtA`R!I% zFje+y9gp<1+gN;gWmBIDvR1ac?PD9;8DM$arU@zpg@c^IF?$(2i<7UWiD0P*VJ45~ z9vz-SG32cx9zAz9(?v*Od?bwB_Z>^!8W_$phe!)sw-3it&0UeTRV`#sudkWsm$U_F ziR^YEZLc+HlHilR##asj-SZ z>7)4dLpSe-A76x)d;r^Vjm+;h_#Nl?cHt|Zplhij)=)v2g){hzEro4b(eViX}NG=;7HiMB4edoNmim{BBS=H`&$ZhyTv2V! z3ED6>esU%DbqLW%3G&XSAUu-iU9i2o$^FN2&I`SqWEjVZB9g-RWVFy0)PSFfX|8yh z)wL0en~}^U7co##u+xh4b(vvToOpH^{49@}xZVV0L2apKKLHy?k?~}}8>OI)E_k1y zuC~N(EGIHMVuW`!E=B!3@CSCE`i9odqoXdyrnCZoub^bs* z%+9gv>`wa$o-LJ}3#p^OAEmWpA$%59Oq%YhA?6RKMP0)wIFPet&GV zW^f5&+$c2t!dTs+{QrV%vkCL0@1v5xg(^N0t^664KbOgTDq&Bmqg#FC)i)*RS058~ z@4|~OgNr{Buif|m!H*t@)J>k_wZU)x>!;>1g>7K}q>AqlN02X~Oi4?8L^M+r^`QVh zWr_c>d51CE*BEWxL%cJDo>7O1}%czHjl}U&()j~cMEN1JR3unx-B8%4q3;r(0e)?thh%^ zbX;^SRv!@V+J_Wdr`h@-sSGth0m%mzhrMseR&o>JCnA=32rthPF~(qDb75K6;VJvV z(BU9EFyiU7VpakFZF+Yd&Upi8tCh;rqQ@`6e`aSSs~w{bJF&Sxq4_ljsp}>k?5xDS zFrz3X$QpAqSM3JOUCVg(X_T}V&{Ff7bA01FtXo?&<@(sfVbm9FGy{o)zGAF>J@)ov zGR%ckq;K?}!NSWhv=*`KezKHjSl-8=UIh;RK|HMW=qtjtEM(XD(6(OYd-we!wi@2G zJ)ZvtwO(x*TNq0lM3HG#H+|vp3C?XMmzqY8PY0n zt%!vBg6aiEC~Lr=>F5Y6@u9V`PW8dJ0(-7UzW5Hd_6oN03>71N(OEBnXl1ah2s5+O z8}i_#b*JGI>IPDqiu{U_VOoT&Qo1XNIai*pJ6LzSKT}hSZ6#CEK z{9bx~r3U%)Rx^b@bJ^eFpJ1G2Eeh8F&QCMi@{qeGF<<+;@tSMw2K%l(X6pnkgNi}T zU~;fC_%aw_)0*yN@~LQHcN0bqONWARaXwUd$dU?4VHxi)9aawE5a|#*At=1%Q}xW{ zIj*M&d3oT(^vq23!}Qc%eB&1a&HKdpf0JV!=e`yD+JmSzd#VI#JLqgRt(>-(ehV0d=kdOMDAK8I$)6H39`9@*rSS`!zG$H+(Lth+~GFXCm zsGU~?jo=veHi^B%EV!#M^eR1n8+zyjVq9I}WCAhJ1W?sH-oap691nDu*rx~nZ9P?A zYiTLf#%9ItrpDgZ$1fixw!IDGZu0E1R|Y=(LR3@@hGvJETE8eK&r@R6wVtrnzWd$V zgR0bvo>7)otjietRx^&H(eeBOUPn+OKOpNkNB;Rc(a<*Zjw_)3HC}ZdXOP%l^z+-} z{$#Hv%1=o~#%qCOaV$wA^5mi@iq=%2|6Mo9$znbxbE;xA>-ZBg$4+=rt&ZB+FJ*TS zw`b+pN7A#ZVT)A*aos!ZZ?>oGeInehwn@-8=pHN$=D^K=u(*HvT1zzR|Imm>LblS` zTjA%>a?kXrti(mKLe!z8TjGYuwm?VS5&O zN+y1%E8I+B9!7N7ON<>R#6OM&xmbMXc}BQ>Z0$d&33xInJgo4_7(-9I^g{F0D`2L> z%SQC9%(U8X-YNe&crLf2?KRsa=o8Ejz6w?Z2ZPiJjt2Yv3S@n{T6K5}@e#v>n`4^$ z?>OnUx`NC145*AyZ5eMZr&t5%t$nJpSIKe z3boWL$yjEh$qdDZYIRVp_d1KHw?Fr6ekb!Ozdw*%dk$!-#;-2ECL?FBwfc(kUJKMA zRRR5mt-1iZe|Q;D2N&Vb;_z<67~S}USL3Jw3C#XTJiMG%PfCQ!~!-;F}MmjC;~azFo1foOC8cX)T->xLp??G<98M}9@BKw=mtD2eKt9lfaxQBP%R zhYB(pTMl2k2|cI_5#SNBuk~ggd9JSVQiC4Z2URyAwyB(-j(zS!*VX!h$*^PlyoC0V z{n_rYQ|x)$F6a;p2u24V2N#1v3C;)e{V1$MOFp8YdIKr4{MhNnleoJRmDGGeUL?UK;xh>vjq6xt*3< zO8*~#J~R?Er@@G|Fm^iQmb37G1E`(KN()RRrX5T)q*YMU;`N%a_rkpH!`UrBg?#{$ z7f^R^GjetZ3)+Se$P{EH`mlIfj+}i8135_}oHxbFEvug!tovIgMrgl%x8G z$n*fu(vtO3z+`LslR%>}dB-KgmCDhN>Y~NIg(h+v%=h?pupJq(4KGqrQXHKl293WA zy(T-)vr%DE-fRV({~4g=l6^&G)GxTi#^`$C9=tb zlXfc+?jPXUAA372_#wC+R7mhN=@JFImbE)YhW-&=DxviLt`}5aYjq_Sud~)p2Amm%#N1(QX>r zG>tijwtJM!L^Zk#i981q7uUd2B!!t}Xu}=eMk>TM;~{qw1#KdK+D*Q@+Qf03huA}R zZwQ`l3)b|yx6tTnWdBkH(*vJ+0iCEnDr6<tb%p3%Iq)9^(ZGt^Ji!jQdCu;#<;hfD z4Mqfe@t%DXY!23$i5!14_wW|7O_ot@E|!Lf=sj6bc|T#J*i>5_2ldQxQ2&Ly`?j)C z;q9!lR6co7*=1MHsf;u!N6?rIApwZB#+F`$rB|>+n!EBHdi)6f7BEsgm1uW2I4h^$ zN(PhDU&{IR;`<$`@tFpquVTY8f#pGB)ZsifF<;;V7sKCDM8ESGbv(c)yMp@ydcYi> zf5_u>xZQ|0%t02M0oy+iHk4vpc~cvUu^xMH2AjJGTw9VAJ~LVD5&tFg9Y}G_bgCmp zn?l&vOT=gi{JB(pzD>6L47G_`eP~bw3!9a^r3!UxFL2L=SIrDdbC_7ro(uwI&2zse z`)rKbF~L+P3TTEOY)l2i5c3$-Cvig7+ z>iF)nC#my^VAWKwE29T*VOzf@-q?jcv<-W!s?DK9MAKmaRzRu0?qbl?Dunw$dL8z* zq(6lo{VADtc5Kox@SI0n^)fbf1~auPGU64*Sd{9tF2Ty4{8kb^sdW|JLW|Lw7Ft`V zD$i1&MT{ZiSxbI18eBDB%rGx%3p0h5U?;@S6CBBLX4qEqtJymC6~?~nkOyZapFQcv z*lqN=pYep_se_Ob^dob|3(_O9aDN3$TNv+I41M_}d}mf_Sy%&&dKS$i{*I&g#&ouW zZCY}*0)9U%Nehl^gEx{aD!Ca6qFS*p2u^S{* zn?4a$TXV{0d1F~|q8gFwI`biMPh(o}FY>rMsJXfpd@0b3rRqpgN_J|fo}uEL!ox;U zm#%9(RHtIEEnX`*m11Agua5Jl?Bo}8rS+)1!uB!x!M=!`V#74 zZled>CyJZzrGkz3sCB6Xo(-v^s01sskhxg;nvZYQ`^OoxUgC}NXWFmOWT*Jeu^d`U zZaJQJJvG;(;cJ6P&ufKlIl!h4p4+>2qW#jA3W^13Q4~H6ZUy&)D)tRNsWm_1;~}-a z802{6o{O>CB7}sIxN6jBv zj)km2Hqr}4O{+$3BD$SJ46*^nUc@UMBF^}pcKi%3uG$SMT@R!2=3yMA4Hm8nZ5mMR`iP!$l8VojRJ|@kM`(dnT#f&1#fZnN zSm>)}A$Tt5clQv#?f}uZ{RhmXZGm=hf(&>KdFC%X?gi-wZ26uDZYf&U5z`3&sS2&+ zwgK^`u9sVpUYCH#widr%7G`F_pJpeENoW2+k$p^mD(ih}^1--Mwu>Kwt;t11(GEX9 zoO-cOIi|Xd@stJC56n@UBv@s?wVUASOTmO-O>i|hA7oBYH$hF?5bZ-_Zt;42$U)&I zT=d#8)M4qK3sIpgZAX|2OCjZYg0r{!ywG)+>s{gPI4W+t9wJ;dQYt(XVNrD5@tP(R z7=B6XOv7Vp29h$qpUDfZ!O!n#!GoZ=4y-?B1>-LC|5Ydonsrcse$7m36riQl?i|3| zRbv&ZG}P{`#|mB~Ry{@SSO(@uoWRS~N7es>d9gEDMJ6jc>Rfd1x$t*9{`HRe9xUIB zWSff_9odhis7Owd2~_uSB#Zg|<9uQ#$o+~=bf3QyZ3lbk?$JYA9M2S(3F0z8dak8ye{v!L_R`7EXU+YQ(FQeqg5;Ls_$?PyM zIe0!cm+eNz%6=yUHAF&#gWP}x624j$F*!%Hi-@nEi9(U937YF8 z>^KXC-w+}FhSl2#SG0=VL9+N5@Z7;zQyj5;S@M+HF!f(7Wg`0~iudn)|0TTaacWw} zlcR5qaPg$k`lMN?{=7y#(KluRv!1(S^Ijw>)>TrPq1>FLlJi|`zOHt?lvr#w`BGLi zh&J@J)x6T2|Dn8dh5JdcJcQD4nVQ2d&<-!6C|GJvuaSvf_Vbd}W<*KI44wtaKdWIM zGLkE02GxAv9D}tm{Lka{FgfiJ`;W;+Y<3(^-kI^Sa=fo=z0Ai`)WXLX_qW<-)Rug1 zKeY8gvn>q$BG?+#O|UEY#!O~BC@*$S(WbjOY-AgSox{&Pb9UBka~{=UDLX8ju4q^Lv1Esfs9mm$E;NodEXuR= zSh^O}B^+ly*-@ApW12I%^F9$W*1<~&GVh}Ne?m|Cm=T`QVA%m}@DTO6sy3{Ne_w`2 z{~Q~#lDOwbEb;@^7=8?%i%n8SyUH@wk_Fu|hWI9%e-`zXS_2rGjZ8EV*cFLHLK>|# z#OHU=I4m_N`Ms9@2lj?3PfZv)5ZYgFV%%Pb`<5a~TCwRRQ&4uFSbqnt>@y}2Wv{@_yTl*Af%7R8 z*L%dYiO?-|wfZ^uQcFg0-5-Ee8e%U{$?zAo^qq-2GE;BRoj60+!v4_v+iMA1_cMz2 z1!_hqBE$Pcl%IPgu>%XqcSn+a^g@Gbz=DGYv-#~WspRbk+Kb@p zuN=`?G@+6Ha5Ug&etX70YhfRrqsyQ32b;EV{{pdT3`iD;SlwvsZV{sIzp*AMXynUY zCTb!In= znjktj2&a<}4Q1ppyg7b`tuHhkuHvObP_JE_q}L&WvY*0BuR~@k(otrj?RwW~56WB> z>n34qO7^AecW95YxE|SGTK;QIs4N_RG=8H!7~LZ-$Qw~cRXP7Vw(Sv!eu}l7MIS#5 z?zK7h4k$F^=>@&LPT=_#5yJp`oD5=rWIn-FM$~%IMlZnO-)OxaTsfe!nZStJH`E>t zL??^(UNsXK3;O^RpTOl#pqQ14mrtl^zmDZw&iH8>?00u8Z6mV(o2EY=bS0iL4^;<$ zGfQc;-wQr{<2PenzD|sPylBgV>vCAzkA5c0dY5QTSM5jvuDL)^nnDI%Kc_dnWXgEI zQBPACYtxN5;3XKj%6ozMyD#595BCy!<9rj$wWDkhyiD%dIj9;m4#uMny_jI2ZG^_J zt8FHv)xw+jqxKh~@`=Jm&%;ba=r~P5+a0bB{g9E`9`*rg4#Lqzvcgu+n2v)_5rX-8b;eI`LSBzvU=?HT)@9r)b*3UB5K~Km;R)(|<7%N+DyN z`xght3(X+l(;}w7}PAzD6DS`_BSbYZI|$~Q%qgX{(U&w4xjVPdxxITiBY_A@beh? z=f}1sRhqeiJXC_E3GUkT!Q7y1Fx~vXD3jI#Rkdz-6N_|r2s%sZxEkUs)@h4F%zaL; z+;$VJH}iK;zm<|$Ln=Zs;`AZRCA&=Qkd*nY&&^r?HG3n1Om0ROkE8drCRUI) zUPC|b0is_L1(ji@1R5~$tF9IM5_UEbYnh*9&g~6ilAmDI2D~$?0N~M9VF5m7%TRcm z2R<(#C)Ra}v{rNwsZMCah-DX8w%Ba*XH%QG&$MII=p8hHDO72#z(e|Y%GB6oT|Fri zJk=bw!q{BROM2)fhPze0?}&AaaHMb27dkK#c^gdbgTm3Cdvo)xU5zfdin_jg_Am0# zpX@K_@<(g~=B5p#-7?dPQ6Zc>7a}2ILe?RqE%EONTiMi*f$`6UUi>HJjol~peW?g8 zy4B}}xZ)?N@u~O|vhv8vW-^0LQO1Vequt`TzfacQgqpStHn0B#8x+MkUSKq$I$p3o z{Wdvgu$Xa@@x-oey-L*5b|k0&i@4@GBb*7%P!y9KF!Bsm>r+tIx;~xIF3xx-@Xou? zk9LxaULp?G>UmV~m}vSP-3r^h3#D%lnQlpPlk`+~ zz0c}QMAltQEQ(@g;_Nh7+G^-SsUu8Hf(1`aT$hL5 zS=!7e3aD$|rT4sHI>Och^tdU+xHC{9(G$Gx_D4K*Pf*=yuYl)FM$SqGHS7YS+Y+>9 zcK+hWvjwcPpL!Gup&sD)sYl0Pp{7qb{IpfJ)Y(>j!bL$s$bH7`Neq;l@2YOKu8C0A zD`^b6r{-w#U~k4^)yhy=Sr99D5Fa(r&ZgbU`ZcjeKa*qjW(4{vKClYh%s}rSL$2{X zeYy^jAajdQZ(0)5lr?MV9or%5-gZY`$ z(Eh5>esO%KI~K1cx!-;-FTXdC2x*5&M4d_%>h?PmJ?$kLzQ+8<2gE}^FfMwBk(H!& ztv{dHGM_W5*T(eqI+;WCp=)qFCsDEoA8&X`KrgL{#wRBN-E^Rw2p^vf`x_7g7bG%D zjMtuSI+3-lVQk?JpWQ;t*OV+KpS_1xQH*&jCs6!8!)mFfda3^+7N-Dhotk?x!5F!P zXgTzRfiTln{dXvZIEIn1zUXYUFxIEUJ7pj)_Ho&YkaS9~SeuaVxVjUqi{kKAgsYXk zqwy2%nW1pk3?oL^2 z9wC_B3bB7KP@wkil7`w?OTHqe-$P09jXUUm;|hD zn%GcZZ_eQTTbh<={>fos6lgv763~x)Y)1-E)%?VS{C`F^TFxxScm9RVc}#5I3V$2G z`1(e1cma<2OMeNiQG*+8wd#ort<@d(AUQ5MogKjNgj zhe$iLg{Nbgv#l-?7H<{#===JdA||ccqp=n@>LSHn7FP&of}JIZRA!k{Fl-g7c6M8v z`5GX+Q@xLA^M2+tRPEA4zq-a?Lw>OW z{@)$G=;#u_|jTs9?E zHWB{QH__xTHMytYUJ`GbifV*x==GKHoLy0f4qZ@PKHvDcxD)^&CNJi8~8e((a`>&HV0pN9;Nte zGM4YiNH0;1G7oz;o_)@NAwyVCWD|^^&F>^c&1pjPH5y(2PpZcX5seKYx4D95m5})h zkH~PEGB-oBK!0GwAP36*>&!y*iNepay*J)8r`>A`@jJOet~J&>4$Z0s7?z?|r7bE~ zF>G))#)|HF#fWn2^Q-BxwN*Kvx6L9y+CNETt@Q+A{4sU|np7+M3VLQO+s%%&vG!~H z{Q=HcGhI^CuJJb^C%Y=d9Gm`&Wqh`&ts&;ZDPD1qWpykU;*PN{JJAYZdQWWCh>X7F zt}Q5bY8}5UL_&qgye^u%RG8<*j#cA`U$YH~I-a7f-5|2}hz{RFeeVsgI>NWiuOy|yGY6?MIZex5XKW)S3eCU7MOUdU zx`Q7}V6I}BzsE|qq=Iq-`~8glYRob-NTegyoQtk-%H*J$;629iG)Hhaa}M)UD^Z9V z`_t&VOJVRmqNPrZ+pYI6vJTr%%(I&AN10rB#NV;09T>gSwOy5^lw>sTMf_<>{CFO0 zZc=J?>(e*ir>`!f7e4YdXYv`nP*MLG6U$h7MY5!HSb`}0=NnX@&o=$(-D$zo$6m$r zQ_K>#gon^_h`FtLB@61_)B8e8uk7F?s>bU4Wt^T1p6Io%W0=jSOU0vTM9q&jL zN`gPjiG7Si2Wo?Fm`Ds1$2>>P_eg7h^yARq`_TfM7)7Z?A1=#ho8d8f;A!>{>6}8r zU5tmUjCGw2*6!Ll&8a+D20{nHGN7K}XAu1f{GOw|Jt0S+nwj|WA@AiPzSNoq&tUEX z_S}!CauScj$zETF+pl94-lrcFB**B__*;G$S(Di43^C~Ys7Uj?QRoZ@P>x!|(U(vK zZ=z}4WZmM?=nGf<8Fp8W-W-1HWLrky|oHN6%#aP;E*sKvCI~KhE zBE~$2RXvGr|1-SwiAof0W`$L{Cc|xT%1D%3(L{sm751+y<@DuoJhtx>EWnS<6aJ8> zOEoQV#8gpeyz{Als6{>4LOl8zeqj_*c{(ah`l9+2B_eJ>z0fPv{C&&Zw6@It9zfh$ zkmE?euZ#0(iH>ey>C2-Sr6L=RqIX>)zO9WG_Oi*06?qkO>Y^+6qAzGY zw5W&Yih`3FOn%~$?6l}re9;OcdSY}-dWFx(4J`B^0VuLl^jTd-{Bdo$NCZ#8(CKpYLE?)*+Hw%3r zAj3*bMD(Uf;f*kvn4>WhFaEXnw%^CZ!oMWmCydQ%9sRwGz?Nc#(JRcFJ8Ncg^i!}@ z$+)M%*2Ui(#~fQ^!h&m&4VuPLKMIKCAduxrwv5p)Yn-C(d`e4Aj;6=~G%s zUh9RaQn4VGuP#{3ruD0mi}&X~l8o>N;*@IC4=jR>&0)@Dm~w_z8~uLu=iHmA63nH!#yoZlCwgaoUPR zAA{;f_?(YfCnL>5lgy816f}mv^!|Nf-Gb&7u-uDJo5Oy7$Jyzb zn@*9hM43JGz?q<$9=xvLo42DY<=2v7HTs%zJS)aA)gW(f zusB;LJxlJzGS1hWKK~k-_f~9Z zf6$plz1`brd^bVkA@yQ;&FA>eN@V$~v6~fX>1@Pyqv7mAnDiCit}%$0#7d>dR<7k+ zzk<*S?g31=$nysv>&6|Qg2E*jdzDtd!YL_>_zlaOC!&|@8oKjotpg?_-ta29N*y#? zT|s0D+QDW<$^XKG4?!_MM|RQ<)%`d8;RNF8FF3X%D9;s%o(55!bdtKG8Rm1UnUXVO zW;cpO26T?AUM%kyiLf+38E$EiObK6adwETqslqwGOFvA3jT!5u^Gh48u29)~4gIPe z;{grKA#B-7en}O@r{F;iu*|}rDzUC=vz&aw&}*9#mc zT}&IIE9A5nw^g52jH~~t@k(i!U-d3kKgWq8N8xz_DmBt@o@t2rl%Vb`95dNaUfRp40}$_sLMQj)OKn|w-R|=ARpPp=)i2h25P~(W*>|*`1bqe zT~ylntP)rs)~RNCHMOS|Q8n86!x;4*Oms9lGGA#wa}0kYUR`D6#~((b*(5Nt1ZS9( z@5aE$sS~K3> zI<#Ee>Y^Os5XP?JnwY8o|7EGrbC|kErya;E>X|fyFuoOT@|6098`qYt)o-MWT(l5^CtFZGQ1d1)H)6v^G2?Ua2s|m!c$Jg zD$65R#{Mk^&0Sd9q(lolJc}jY1Dbc?eOHbGUlYOjcGi>W2W+~NU zmf}=ugEmkzbd}5?30b_Qf+UKOv8Vn{)^C_${`Fol706raqUKj6-~5ppmZzpVI^azz z{&q6*k``4f4H;@iTZ#BCmMl6Qk<4w>-+ksXN0EtsnwwuuhC-B-BMGp;WwE&RXpdV& zUL`o<*WvmPAonqzB{iQ}6B$$Zke*%*dsT`mizh^M$!NzYS~A&x@C@Ucc(jC`FmxVL z*@iwNRyn`w{_9cOon4hx6_zfBl}*(i^e5cI`grZheaphAY{Uuqu~$QgzPFLRJ)}KO z@~7)8zfRRhV>0-+z%wm&r4!zD9R2gN2uBCP#D(x`D~iHf^wRX~Ck;yOLagsEAa|Si zXAWGrj<5R@RBz!qEwRU6wAVdYtE*hCV{d!NT{@uOEhM%VQI8J+4iG{AcNy^AkiK=iLQ zc;^x)kikh6wA4zX3;qT&{RUxjby8r68LPG2lXM~TQJ0GcSx(gTgT-)_|p`tCq zOz-QNz9r>J+vFSF>?5J6mHQMg>8@%8T^Yc`rnF#8Wtkv%b!@;leF8n%-s6d%MU)Qm=Ri#(epQmAaj7+zo>W*{oGWJ6amX7 z=*TZcRw`MCjqSr)ic?YZ{`Jq%1EXzw6u5DyAHz{p*P)ev%i{-R(Npab)|TnWY|kia zP@2Qh8gTU?8gLb6kRA4-$vXcghj~WE6iv*V1D1{>_r1p$P&Y4|DNmnlfTtYKqbf1> zc~i z54`^nzj~fX>lWJ&q5;)puI86iKvY9fUynljH`OiEXtgO+b>CrygbG;OG`0Y97D39tFgOJ-v6L%u0OA1qHF9Ljlq!g@Btn3Ft%HIKTo&dFEQ zSI@COnC7&p8?Q?KAASls$2Rdw_Rx7z;Tu{^J#(CN9CmirvC=V92;wV zE-nPY@gRE4ZsC5MF|D)I6I6kZ|;XkdN)V(28laBTlF zs@8}2^+S5+sYu4t65Zkxa-H(zPYcMz{_#G-f()mDyE3CUQ&2uw7#y%OO=;|$>X*f< z|Jqx%xX^M|*Wv4saSWA(b^5DN&|RN&wlmai9jc)M@2+trgmsr5ZMMO&Iz)czp(@U*aF5;CFhw zX9=wF0Z`h44P6I24-oV00k?gq!W%((1JBRWR=bJv_k!eRtng2G**r#LD96$8hBC5w z5Pei@eLY8~D~qLl0sbXqg!*3?<%7 zeZ8yqv`tpnSyT7Qaar#=4$F=@%w-F-7MMP*exQ{Ubazox5|Ai|j-0{7FjCPbvhqbI z)a((=NLmM$Z-C{;M3HyUUh}}nx!{=@-C#2aErX2<@iX~BI5qnF5LkBxMdb(j`zCO` zMX%q_eHCn81XLI%3*DZ#?85Bz7}mOYiyHKg zsTmoA?OR6<*TesgJhL=jwm;{Y6SZUqHgz#pX%5-R%cyQ8*x!3t)}LVC&)~S0nCLW^ zZi1^H5*ghj0v-jU*O1wKPEXiHY?%i=B9^hM$>;?&$xn9E?$_|!M~PdNp(H^+u7H2M z0V<1_r&8CpfLBB8ARaqXHSrEUY#Og;G6SJ0Gc4v%Wu4RCX}+fBUXlnE#;n zO=4Yz56Ob-*%8d??G8IH1t!5u_MWHtJ85ZCUAaBJ-o&-LP!q>oOd~5PEQE@3MIq&E zXUIZfF5U`tr}^l$*e7%ou|4bs&X4MQihXqj*NkA989P}FZ$H9h!*?|$>#T;?tW3Vy zifDWi>a*r1wP7aoD#kQ>5%cvUGwFfW{w3UOfo_?Sh_(Vsw-0-zmk80#*w|C>bQPFS z#71uiD!}ODRA#qSqIGu=)vjdD%9k)SJt$~Z#SG-a53!H4 zXvf+_F)iU6ENp5?43{3&Zh*R((5EAsijp(;$I`g$Us@Bp*TR^WFl!@Yfc zb_P~=Fg>CPJzxlNZnDT~ONMdGvGj-~b~4+ZqgJ#wqd0@4sQKyO@C9>>^SDKBwcHFN zlCDQ}?-pAtSRAYl9t69BNB(76QtN)p=4q}$cvJg3E9=-ML>#kRJS(JKKB-UY?)WS; z)fZ$x9o`OWryt113Tx*r73s>~rlKDy9!i3xt-#+*?|oB(+6rBrqd6mrm8e9YPei}X zWPuwqP%I~!^?aunnDj@VtBgK(2hLG*#l0-5(Ezd-SyPRk>Dq0liCR@Pv33cvCZKD#5;K^w^Geq+QsIhA|q>}?|Mzx_e5 zvKMXMnf4z=y~kV_wUVr4neET^R`|+n_`tS|XU?Mvus3n&AhN`DD11MYDRv>g>PZ#X zaVkXS5DiTv8g4*5G#LL|-o|3TUm(jZ1dqA$1S;SSw2tD8v`%D|q>knZD&;)0(QklF z-auvF9UH@H7$btegPp-Te{mZWUeb*ZDUka|B6ImT+nn$j|w*benTv&)9S(f-6hB~d`n5gi>x zncsz-9ZY^*AA~BQiroh#&G)Db%JX36VX*rZ6c3VB>dN(ZiFDS(*>^yFE;?`=aq%4Z ztE*?cih9r*_26Gqn7&hsJhvyl^K)!`Z`PZt3xfBk5jsOmo8SHhKl8wfLHNWGSjWa- z+Lc&$HrYon@F)V0?{UO8sRSE?QrVwc23>n{BDlWJc-c(!zeTKd-yT2u+-K%3SoR-9jF|` z+HS@6HX}N!!VH#o$ua+emwQ0LjtX=aeKsHV z{T1wbd-~Bk5_Zf#~4&Es0fK6`ILujxhn+%^(Xzk>H$ zjE=B{m`K;an!$h7yl*9@-S1bzK6U`b*QmOGm35(e@M+8tF2(TR!>bty!8PVViJ{rLx=@6 zr@tju<6~5Qi^nO*u~#KGzUP0;?`^h+Swo>Zt1!-Dt+y&coIjNoR2-6=c1^)wcvFiz zjI>2~2up2IoTJZ$8Hz*C;jeA7n);-RcpOg^Q8~XUi>ptFvC5L1M(^Q6Q^UA&XaLc8 z#9P#5^kDY%i||D%Umvp0kI7m_kb@@n`OJe>cF1$nrbDY=zdWER69YED(H2tQg&kPD$Z#McxZ~DwwGNOe< zUh{~CzJQ_C$(^(!{Bj--_!VjQ=5Vqlh`vTu-4N=q{y(zb0!)hI?c!}292R$5Tml4l zw=C{%i_79J0Tx?=ySs(pPH+hBmLPxJH4q4v1iQb}_4VE4-kE2tr>AG8PMz~gy;ZGe zeNewq;JlmP`xUQtFg9}`{#AYEopgYkhe59rZ0*4}R|4Z9=x;UV!L;Gl6RR4PzVID3 zIyW}-E*M|IyVebVdWPsLn=uc8>kU_W;&78@kB-FzyV_ozOgcl65i3gzR|aV=%lVxG|+ zT6G}Vq5ibu2(oUyVUV)7!?30G7%SFH*BrFUH=b|X4gFoo7(@;{ovT>MtK{>}f}qZZ ztL*y&{GO=x6Y!MkYHnj&SmOxX>BB?Tp==hc`5pEM7R4vp3(zz!mdA zZ{T6ZVNP2jqRU|N1Mi4SZKBc`5z}Lq*?`*2Py{II>Tx41gLF7IBMb#A5Wi;21A2}K~Q^$XTn7J zb#YM7%y!vDp=@rtm*yJpNZA8@!t?;eNI~qUT!Pd*2581dF)PB)L&OWiY11&SqiO4Q zWW%*qYHwB^uE#u-a*Y1hBV(J49BdoBs2+@8*T)mOh&TTa%)Erha|3KId-{46g^dfg zk33H)HvVu&Y};+{$%8tUB=5$GYA9=eRDBs*Fb-uM44yMUa~l5d0PJBnZNJaX#fZ;0 z-uk8s_=VfCs&~kTS0|d>fUla&{el-&(%FoK+`u8!r6RMimaGbSz<9#`^cIq)2OlRC}63x!$(-(+r7YZ34Xx@kQ@$o`oq*2ywbS^ zpV(i~oBqqb?|fl1hL0NDkq4-kC4NA#;C*>GI@V;d&PE*V<)$3 z!)6sJJYTT|EfyVW`Cj zdci#M^MCT^KQij2vk5oB!tVzEl~~N3%;Fz}vi8Lz>PNq5#xXkM<1Pf(5cGBgbK0hX za4mijXW-+pGqq-Q7*|K{od$Mz%i1e_%m*^=bNAF7xtejWRYdxre?1w^{}Vgeo3XNfSj$Ez z>`0=}PVjmRV-88|S45f*VCY>up&NL*F>Iad?=@TRfo($cITgxQ7rXYDh%+nJxeBpS z1k4ZPHWWOy+T$LWm)xnqh;n`Wl~J^ON7`CvGJa_{WuGv#xjw#HLw?r^V#OJ7dNXVq zfG@NOFK8zIZFhUWU7GCrMdFnqAUu#`bs=xJ4xZKn(N4Us43h16-3TnZpv=wjgm2;t z_XF+aw#}zkq5#RAP`uhA{N9z$VgAELdpcFr`P~pa>y707pSfuQ6&NiGa%SLzsLfN- znws0?UyN@nP8mFn{gdh%&oEvQIX!42{b(kPJIAQz z7%Dg#Ve3NhPzS@*g1lPFtd+uObZMfTazw0Q{IXf_xjnH}AF@f;!Ep|;=0v=$HOxP( zg|+wr6*vvIK7#TNsw(Gkygv9qt>{(NIC?3@TN{9CfBH-*G&&}j)#cUCaBRRbxL@Xt|O6gLJnDzzR^~4|<=({eX5T@E-JALB`SUv~W zTUga7#4OLPI8H+oaFhm)5!uY2iJ{uDm>>k2jTdy$VE zK`K=I7kJ*s%S+XSsdYg!f*QgaAUv4w*ubx=K{eAddPWV7HVB1DX$Qm4v-T0PL&@N8 zDQv?ce5V~)c19C-0 zoKO7c!&H^@`I0=z+hXC~v$ds}7ddvd>t-_GUDqm~)L86d_pq zoOr-LGNxV2-E6mmFUIm|%qmiE#TQ|!o1Pg=#W91l(NW=KFpNas=c6p5lvkgZFKotE zH0#=UMM7I~rhiF7A_`kzu%I~?w{Ua(K6WEW~`oha8D6^f5_KV8#r-9=%EaiN-Ujx0I z3{Mx}QLZI^d5I+}fEU~Z{EEVnQOxkI4o<2V*a0g)GK>2$_p#XX2I$r$le5BRrCMUB zpJ3Dv*v=3TnoM4ADm-0E`zv2L8t-QmY;4N$rLa10b}fESPw&XJh)g>X)9kj3Ipyte zJoa;ByZVqHIS#f>*n1UrWwDiu+Wec;@})-04-?lEX0&xL*@eqaf4jDqNl-nH#y=H3 zn2XOVUvmvt4HtbLN@I;5Y?x;_DPEeZ=_l#~@@1vy!q&|8l)`G8=|QsG(NNE{Ryeu% zGU%*UaT<%_DpF}cYnNukq9U!fo{^)y>{pAriyUNxG@|*O`is$EcbC3=5f1)JobnH^ z&Qf`!xjpa6_Ps=dmGyJ6M5k>k>hNDCVJ$ZipA6tTrg0`MI?) z@n>?jOXwl3K(i%R`MRC(fI5&-XaSd7!0BG#+!Dn-OV(>36&9h`mBLt;2OK#CD>C+B z1TYD|sj4?pbBlh}m{H+FL^tW&noeRnlq|R+dCerz4EM;3!NF*&v{9%i&J@x@Un*(* zS#6Wzns-c3(7mj#=>f(c@-qm+QlA#@rNTOvDqhmlqc&QL@gd}sjHR7>ksm4#icRox zgBfl3L|f&u4>CsD$O@+3YZ5U@bS%&n#=nj+GWZ45&cRfzhj5)*xS0G2ozdY1&z};n zeBoI~#`TZj&7@!jn|F+J{6Y?9E!LW?rWpF?ZC6A-H#r)i_wMl{Ifw=33+qr@y&HElHt_hilt%LfYYdR z7Ids9T+QoLu{(pI^iR5{6=M90ueL%m@@n!123zT>UJFU#rmaS$^-SoS&lyB@eDev7 zoykj5W zQO%Q$tan;4j)GT{ns3QOoRP$O>={H^B z_-uafBcklVL}o***!)VP=ptoHYy;vWAV~ta)FWpy%>;wIwyaZ9+zu zFWAH2rpB^c)6PvmG8=wjQ!ouUZ)mGnb{mvgtBE(^pT)&iU8Pd>8!`$TP^EKZ60VRN zx=x<&IlcNL-RUuWeM;Ww2HP%@1!YXtzDQ+#D7nR4VEw=@PUKMpAIHUSy$c$}$R)XC zUCq4RhTz!D4hFkP)L{LOy!vu9bS^fsGM-N+dS6*S$=pubRFP_5dolaWV(er9dR(6@ zdIu`|syYu~X(x`=03J35MP>d%c-;y9mjj*duzCgfl)P%RhyCC-rMxJ1l`we5Bui)z~JS5ExdbLQbOW~MCLZN@Op6A!$=n{5Ghf0KoHhE9JAgKE+46>0a)c&F=$7Pfko zBx8tPuG%_FVE{zOVTJ#uFZ5>X0ys7nR9jO~`5eoZf-%v$&aXru)A4OPv(IGi>k|!) zfn$}>>te}klb9(CrI-dQgN;#GgOJ`68d6NLR}}{83nscWo{;*0 zkEqdIZ4op5+@NBn0(^gEp+QY)C>Eg|5k!4PlQUo!O5$()iQT$RzdquvX%UwU?qXWI z61Hq7-a{J3O*_L-jd5P0vg9aOe+AR0M4-3f>jPTis5Q@?jpy?Z448#(%|f{??AvK9 z;U()HEQ4unVc!loIvzCJfcXp}k9&AWX~{ueA`^F! zky>(F#42M@%ndMjudR490f@JB4v(=rLm@0$n#O8V)Rz~nfJ`=;k7@91RC+(XvZG zc_%h54{hEDRc#JNjbYFa;538l81FNE`OGh9?-=$DkW=VDwe>da;(Rg?!#U;{azYh} zaJ%yB>l5SFCHm|`-D~;$Zt7+4xdmIiCJ7gwLnu*KMJXrr>|pBF~or z+tc1zj=IjI5@S1YkwZ1^Qu=ODEcGn@*F9$~(MlpLr-=l`t7sk@b?4(Lei}55(h5I= zXr#JoZ+SwIIGRuUoYpJd^u9sT|Af%jds>|)6a4IJ)nHCmS9)@DuevWUK4B(CoXa`E z9PAk_kevBB>F}I_@!Wp~p&pD2F0ohQ8#kh!Xf|B@fDJu>;$8&HTOj!vojMPuC-C@_ zlVb|vNGtF!P7~|ag3}SyYq}_2OIo%EIfOLea0CD5IQH!uICcnLjKVVJz}IQ%p)nZD zI(l)%98Xz?5;cTUxsa2JkrpttIin|Sz-A@r{B3VS5&DsF(s|SOQb972)}KS>Z!KKk zK-`&|Y+prwPcZhnKGt_M+q!U!;T(05{UZQRK(N17Ww0Fu4}w)cX}+(_)N=9DTw<39 z{K30ce==4H$nvhn*Xlte7o9$!^(^IS%IEPfMrnOy#4>}dLDysmgpNVc_(X=E+Cvwi z7llXTBk4WyS#^Z^ChcRsQ_M{bzp`Qp!pN#NLuKXBR`7h=RQR6hoDb9wyG~#GfBc6K z^6{DRXZBzrr;vRZ$$u+E?a2yiQ}+>do|e}NiW(hz2dY>3DX*}fKiN%Czw`JU3GA7S ze^=%xnX$%=uuDmZ6dS^jL~vysd9|d@BQPutSAGEB1?XTSeBI_Cu@trJ4zGryi>=`D z0+88lmm{B=g3;#f&VE?khCM<#&LnK}Syl=gMSI6#C66@jQ=;fg_A%7E8`rjYUZvny z1uS}Ye4>WrbGyRMj`&o2$m7l?%khz3*oYqS2bO;7%=_4zKJL zjMMG1`_hJ5PguDj*|PuE_Zi<+EE6k@jtUdQF@v2!U3}BU_k;Ax+=E600UN8LgIS0YM}tmMqM{lwryF~8q3xUEyA0-jCN?y;SGVwyUbquW zI~E*&gxOQbAY|d4XjGA`W303&<68;cljM0TIGnK-ucxP%v#5=dmt_RB7;4`M&u9vn zzs5wi@A$nRolv6gxkSjjvB2larqtj!Rs#R+{Ns&QTD0UCYn4qPQ`yi~<*`d0VdZFesd^(-q--XeSb+T1 zUOdB>PAe*|7dW@j`%@r21@&J-F7TAq6vep1na_^n50wYcJlIdgovI4cNTh#}eu{fO zqQX-b^ICZN`s?$}Y!mOauR&S+80<_=NH|M#eGg0ctB*vZMblyx*J2HHp4>;|(oPT= zyriX)Ie+krC&3hrbwsy&5_=}WpPkOy2L;&YH~#xcY{pMy<+V=ge(p7rt?GE4S#B>1 z{FKc09=km;ZFXkIZ-sZkFnvAM^4qbwd5M%BvF<=>ELl^m=w9lIeujeuVS!eUDT-aK z4{xg2nRyK3od^(ZL)%Wmx=uxvuQD##fsw2Yct$^RKN-KLGk9mB%C@NVg|iZHCIk9t za`K54@UZ`}Yf}3kPPVHtb~78jq%%s}nO--9zEhQFf3m*yIzr+k?pgGzBlTj_oDsx3 zX*k{@;-`K5-(6N0Dovl-d6~&F)ImW&QRh4{l_pX^{~}Bbh6WjfpRf^L!cNGTNW@r5 zgQV=Ki75?|LQ6H9ieq$@0_a%AyAsNA*cyaIjKS>rTh=;iK>i>G{Dj}Cp8kY?{)F~P zYJajSV=2?v&9MzBz+e-ePYKYxi$+Cf{YtH19f2Ajr^4hO)>CIoJ_oj!@P(dQ<2iTd zWU>;S8B=*o{$UFvs9EubPBBiC7yFqQ^l~$@n2*&e?x0|MQPV24Yku;!q4-8(;TV2J zVzh9G7dLhWS&elr!-DdIYU~Vx?DV5##A1yw7~FstU%xfmeE`G}f(z(+KSQ z;>+|!KkF0IOoeAH;CmV>eG0f2$X|A1Ero<`Ip^77P7Lr|MPJEp7sBqS z&O^-9+2|ter{ST`QauVI!$gClo-3L(dTa1Bj1_Zze^*&~`LjY?@u!X}#WndO>8@Ct zf_{~o2tP6XJeqUg`+w`eYCHXLB$}5GeJMp8Se>!Vk@!AEtZ>vc37WSWJ2MP#et(Tx>Ah78)ZgDT zhH{E;Zp`1_OkSc9sHkGL7nbx}@Y=?83a!43yts=lcWr?O9Yb0IZUtk)egm~x98bFw0sEP(*iv6GwU=5Gc2OI z&r$79PCa*u(*r%%d1RW~PhjUX^rs}fD=No6K(G2tPnS2Ob&TV1RnEY_2tk9CkD|61 zKI&e0>0B9MV=cvhWfb)trWa^mWpAT`W_r|esg;qIdO%ghe6LLu z39RPdWy7<4jf&dn;Snmp@=hOyE z9eKmS_CX@f5UUVp(=28WrbqPkDjR;WVt`Tt(9DIJCdEQMBWk=)RNDrx;}w~u03OP7 zG6#iWU_EeMffu%f>l!?h^Zee@_&710`SiTu#3@=Wvl6~kUDS93_B|gJoXvT67@AYj zt7SMyZXv|E0R9uv_7_-{LmaIuIx`gYRSjT8j=PhJuQ<$8e1v}-pSrkl*&^wSR9gG4DlkS@;S) zV=;xF7%MgkeR0&}ne>jHi}Uh$GoyQ1i6}o=1IfTdfKW@=SejdXbnp?DFhGX<1M$pS zMsy2volG2(jy70`QVk_*(v~{1-DqnXFi8R15|OE^%5@;Icym^g9s*t`nA?2KT1ABW z+P3WqFEnNmZE{EF9g(nlq zGOPp9Yj$Ehn>g^Z51**UKFv^*#;|h?N2x~L!fHmGS%m=$(uGl?4Orr7=(k448{*6L zVgJ(nPg&3ASQh01+cTnl7X$;;^PXic%LC@O%_H|T2wVA$^FKJ*&;E!1yAjV|0evqW zHQ)DXr|9TyGEkI{8_z@5$5Xf&wi!glK>sRLHXe;(toe-gHkb)t-;(On!c+al#3p`L z!q{M;85Q3)GZ}%YC}mnkkQ(932HTfu`{(38Zt<(fll$6FWO3xM#%mF%W_11b)D<5 zts~#lpYienVA>8#Hy_mJVl%ZK`3$nWS;;~lXOF@3!ohYZN9Ro8U{?kmuZd42b}LKR zkQ~KQvJ=08<3H4s3}w7cbG7?{b$oPsJJxwT{d@xcxr+*{<9B32f99aEDL_FZE6U1i zHi>@`IzDFNTjcfMYH6?$?+lX-15H0LpOh=g{qBj1=3jWDv}W#@KmOM`ttJ zkFQ%5zTd%@ssO(x@r~8d<6YpikFCEFA6Ie);Ab5rr!@_4Z7h9jChVSsI_D#9oX=Rf zRz%6=Zex$kWE(b;)%Zl8nZd8Fga=ld-w~M#$=(_Z8b*d5e-noKl(C-v@r;c&es5IvmFC7}R3I_>kcAPfu^_b>%g~RO?u?2K z#j4I=Rho8e8Oy6~Ja3FIvy41uW7>Z`?K7I5IfEauiuV1H`yO^``g=Aq@XhG?Va!>2 z2XA}P|Fhb&Vf7;-fi_N4y9;)^6(g=uQRpH>3XS2|uXZrL=W{ZCI+NrA^soxYPeqGv z!7D05f9Vfir-)Bi;oW|uhNl!&6bBf4KaPbQ5AzOT^A`|l9=G#=WO7icK;`oivgvu9 zH+bV8xo+mygkX)U!DF4*qb6FSYK0E;!X{u{o*DXusjkg}-Mrz1lYLlAJz;(Pv|{k{ z1K&K5tl~TJC+q0_TElTEDqRh~UmlBm6mdpX)&9kAf1zUV@)_!LQ8)=bA!6*HQD1En zrpAt%`GTq`5jW*0sc#rRS6L`|$nj8#0P#v8=I1tNC6-<=@f5kbD{$@>nYxAO?IySz z4xU5M$eN%4yJ(5g_!5cGx<80@+GCMg!>1x>WOQ056Y*pRYK_F_tn}aCP_pv&T728@ zh=aP*{=2c--w@w8u(%g!j;7~-p?WEWvjb1~97le{5i_Ho&+OieUe@6o>!7m-Kx{f( zISguXh*S#V;qIXiRNxpB;O0zNcmmrQgVCWRQ~~zmYQwJ(?&n}9L*SMwsq=9gj=$Cb zmTEMhC)zTI?^tDzz_YE)H4i=EE_0(!!t_PNN->C9Q#ens*}LdxudqK8h{)!VF=>U5 z*OxX-1%_HVK^0*-Cy{^g(KFaYBC2OX)L^Mhovf+03PUkgNUDG6QC3rGt>^yLVCj;IH<0sFHNF0VIiY^L1YdlIA_2)6H2b}mlE`>{xGTxS|XdN)nL2wtOdSN zFRbD3jJ0Qqyl8Y#ZJ|I zNO9G=|GgLsDvpY!K5D+E`YJ07g{Rp=NXkA&;wT%cZ_)8}Gu+kt!q$bI#nHqO_%i`C zsGJw;_2Hj(qV@9Q+mvOjGCGy0>#(6Ze|dLmYIa#ku~k>8D~RPh#X2^{=FUN%pAmm* zW!x6**B&O%BCbt`RX#)u#K9-LjbF8koY7@4pNAr>C0G9u-|8-(%!FOk2;E`4q2EB{ zDZK0olU5R~6efaPh5w@Ql)Z3s4;(oUKmR~+tHGdG%uHy9|FsyNb>o+np^85%Bjt7R zJjXINx!egx5!R#OyRhn|;CWroRyK#7VJP)5?53VK!i(zWofEOU+l_hO<*1TQ&HSf{ z_{IC}aE>#~3FTO^oVWD85D+~}Msv3npYhU+MAaHuk%y@k7eoDvVVloHgMd&qmee3@ z?uDaar+HuZK0i&iz|XpCFB7pC9F<`Zy6M5QJDztat+5j|JBE_&~$D4Kat01NP9-mLOJ|w<=#CYCk^iFH&UkBOsC{0}UV>A0nznpH z%f2AKm`9vAmUW1ZTRrFl`#@kh(Oy&gCLZx-Ea)C<0Qxwc81$Z%AIqcpWz+fmB2+dm zo>NimZU}a=5n1q}M4E@`C$H^z&L@zZjYY1?Q8&=?rD*jv;JgW(r^2gtyoyh>vXi)? zlQRZ>&B0Up9=|n+2)GFEe!&_x!DnmbJjOcqKz)j0AzNW-HJ7&;{iB`d-FD)ga(wc+ zeTFrn7PGp>LPlk#xuMK7jm@a(C;Co3=O#5R`}nqbd}ktbH?y-8tK;CScOyIBl;~4q z+44?eb2awQgU!Roe`b*MaWu#oJmt|C+>IVb-V0}Gs~%0YtwCQ{%gP!>kSc3tTWwTt z7`^u|Y==w4oD#1*h{~aOo;UXl|NSs6)ej|piC9xdPsI883Usv$kNB6E15O zLMA@}UU}k3oa{+%~7XJYE zPa-J!v{lK@$Av;q@uwH!FXv%hCKp5pli6xV4m2I?R872QWGYu46D#UpjCM+O#V4Pg z{=0ey<8Mjz?B+1C> z#HBTp@%%Fp+g+^IkN6wuiMsldxh#k3-Sc9(Cou676&D||W;l$&sA&x(ScCCmXLM;fH?O;5Z{LTy7HZI?M0ldb- zGvx_XKeQQ-DLHZEQnq*IGb`ZZ&-BBoWDQP(%_LO2H2nJxpXUrnm!L=G1G`ID;Vjhg zmgJfr6gzv?vJP5Np7+b)HE+QaxWLLr1DRbE!RiRBn87fNHEgP|g6?(a4sr2arwp%~ zan_Q*SQF_ARpGmclfH4@@e40vQwq?M(pXd7XU?-gWBxdZ4Yp#aFxETrzw}yTWeM?Dv!h~}@aS_<5%LYbMM0i@1JmMC3;7kc{Dmj` z2z%BZd(j_Hw05^+?05~3;tp_{rnky;w_^dAJFyuD5r(*^1+tZaS(huqr*kuUVqSy#kR|6ZEuvf zKYBfpC}%&mp*3?1vpYq=Zy?O=hPAy%#M6RakOeudA zd0fXCsd?tKV8yX&aC18=MeTFfGwXXK*mif1ky~2IyW>E(DLzsND-=C+4w6aiNUd20 z+NdAV%P6lJO!*mQ<)w=MtvB&`sYhWOc{Q(uun;x)sT&xM8s=(m-|vxcD{C3e+e4og zS2eR&E1M+87fp_$#sPyI#B6D)Gsyy`8K@h|jK3MniGj~^oi^XWe}6>A?|Z8`?H>>R zTts7+V`0~V(?Q-JM-=)Luh*hqWTL9BnzIS}7>-X{4?V4m(!L;b^9^I>wV55$pSeyG zLA3+emZ7eaj5l*0E}{f4sUS)N=WnCB_u$rYw73K_FLLwABYfu%L>mp^VPBq2!|JtV zE=(V1riZ%fYn7!fi@K^Zq!=F0Y_4swnqeL6^9KHVx$o;`{F~f>MqZYYO21 ztYn?l^=>$;OSNVtSm&Z8;}Nwb;&oEm^dJ7O<_f&WP7brRV)FtEYecO65Wi$1p3MLlFhg-T?KA|{ zJx8SR5uO%iR4{=<)v~o1JciPicgWDyBBxWw>FV^x_t%(cJ6a@+E#1h?b$9NA))f@| zmVMt&&*)|>ub#UURfdJ>V;QknxA}(Uur?oz8xO9XICgi|CR*s+LT4NDTY8eKpThUm zr4N%*VGRD7f<1#i}-2K)V|59KrlW>j4H5ri0{}Kd%21pe;Pf0i|?5Y##MIG+1sqS z*tti{?JGu&LLYQWYg3KJelDbnt{2xyys88GPZ-bs3Z56?d3t(Q9Qsro@&Kv9voyD8 zsPh%RRrP>*(aqU>V-WL!I+8Qzyq5f$K*Ol%I#)D2f?^y3|0Sq0+8i6h0XL(lY zjLrDV9cH)HBsPA5e=kd>dXp%OW^2qWGF~x!5}H1{3^E2cVPvkxTNN@=RQbDl@89V9 znrq@0X@SZ9DQ400Abjk$R(kM^ho$^PTSfu7*l6xoyh44=HJD;EsxQVIz;~Deo`>** z4};-odVV+f*@j+U7VFd*A9RtYzQ@4j3w@*x@%(${gDjl`*nkh=A6UuRH72;Qo$PtBzg-dp=fOCzM=JCg(5q=m|I5a6bfJWEo1( z46GxFCf>rm_GBIU+CPDGE09x8wmR(5no=F`mBUcu$!Nf2`d2C{|A#xD8Rbsx-lvy+ zi*kgMJ-p_WW!16H=xuwv-16>FCyyHxxX8NJFF!*qO0V|9y?+C?}N= zt6kNKNjrWdo_vP-ynicw3Efb&1( zV8z{rtSiJX2sl zU*mZ^!NOg^3wew-J_EBO*q0;Vc^h=@lRNnzn61ZKeafDTuwEl*t60q0>j{!wi1QYr zb2@|WM%w%^Y#T>AM#l!eW~KSj)+)OW*mib8VO>YAT63l$zH}I#|7L7wW7ztTwK!_P z)gvf+4Jx`zVKs}w>M|fYfU2LWyn2A5{(#nx#&11MFN{KTw7@%O(mp)7O2oQ7x%Q!l z)gWgulIJz>SX3c&i(a~nK3jm9b0dgxzA`ShoL^JYdBks@!#cT@KZk1P`sQ;eBUi1(wcC-6FRVg+YHc7N1RfRJVgV(y(RsuBfoGjeqA!>73xz2 zCa+*l_3yAS2YKx+?k zzU)Kf8hVl6ZH({K%iZiOWV}8z`2@wDn#XJATSv|p^jTyWXH?dBFa{rko^Ubz6n71i zwXd>9!cJTK8cl5#JN0>!InpW^$_@p2{M@hL%<% z=1h-@hJaH>X7Fl^xih>x1e%p$Y#8@3oEvzbm&ib-!3#s?Z{JKtpuk4w2 zD7nnPseF3R_)<3daAl6ugWi$TJ;hx0QJh!cBWinqwTA4#HrDdo%evG{@qOpBZfiH< zmaSB-W%9gC#VJ~YR?$P``U&EiQBh+Jg_3Ngl+@rR#%ZhX{YZz6&I&PMX4q>ODGfHd zuFv?#5sMR08By0t2zHCf2K-2FbPFhGe%^F^hJ|dOLXVxvdq08j2$;8+>ddof+)wbY zKM~wmZ{9*qzOy8G=}ENlde4HkhZkevhw?bzqrvN}X?8>KtBy_mie=TzQWp>A1K-&n zmFr4w^f48cLGCXgm&myf0?*O=U-7DxyJ!GrwcuxLJlvD$#49|StE>PRhgi2CvHfP} z0G`Y#baxazWdnF>=JgnQ;2-#N^7aCZi${P@7qUCm-FNt7jq$F=;Nxjt?it30&Qq26 z)@lle7ZGzV0`I1vf67fCcmS4f(Ay}1-(cx)*wJ0A4R(MtLX32GI5X_Ups30OW%=Y2 zX&s>d|9F|vPlK$G(H=s}Z1;T~y*68flu$J`(rgn?4L1#<>K8_tHR>9R+Jt(Har6VV zsbDx7K50x?YiemkF%(~4Ug7t=zZgHHH|-N3tMU+RhY<-*aRmH7{;I<9Pe6io{hNunJm-vOe+4c-EZ1 z>VANwu>$`PhaPiZvJT@O{M|jQz}vxH#Z0YnLM<32%8u5gqpB>{OuQ6P=}fdX zn6}NxnB+|_>YI(doeb~ivGpkIY(N&LC*DgEGUdzA*ca&HM!c!JU~va){uax<9jn#{ zuec04b$yTVQiDxEcZ zilw@0G)1`t6;&S~S@b_EHKQBn7^O~17XD|dhYC@B(u#;XHmY3( z{LxG8!5Mria&`bcjWvjvndqo~L6wfB;Fddl?&a7{}b+K(1~ZpQ+t z$Kd^y2(>BtIfxp()gaj)Y1+KY& zyO-RZPCdIf-jL1(pqZcYG_}6TzvEAXq0lv+jloFw!YWcT)eEGz+G4QOGcns#ON*6; zz4C&z-5f#th__lxxr-G9cB+9d2A3-GScKe4X)@UD@gcITubwxNLY^BgjAuw@-P~ z{Hr!t)*>KXi6}NRNTtSaE&#v6u$NlxdL=r0hdA;RO?1zRLN>iWdd$pgs-#YW;0p2` zsx&yxe|m3Kz(>DKhGiGtT_V;VtL1)l(*@!O-m!l1a}cxwsj#DuKsIwAQ(&LF&M9dZ z@oZ-_+FEg-#?4~<2Tz}EdNeFGToVTkS_VnI?<1tRM9&q|8Vr4PHP{;D{Jz0 zLMmudqPp3v(jIHSWqU4ago?o8S3G}Zr9uVffShLkD2G}Tg`bZ%)C`?H44T`CZ3dyk zKQj_G54IkIt6M>GK3>a9xLAypi!$RYeI>&Y8_)EzE&nP9<3P`du`c4B|Hx;RZM=pL zlohYI8!^yE;@d+YdK7Qz8ubU3yOOAA6p`~uP`p9?%XX~hP3{j`aj^?k$t^AAH;w?& zuXZ@A%U{D6as$s{r5$(yy0HU~QQcq^IBVdlyT-|E7X&?M( zSUn>NBZP-xb{MVn6LHZ>BAHPjTAFBQ2p-r15IjwMdj&5v0h#qH=<9wkS`3mavBJ$j z_JilCrY1+EsAUmR$N@C^9?{e${J8JvV=cJ#B{m&|KCefm6QIx?$o(&do%>qQ=SQrV@oJKkFv@fo_~D>Ne`u@X)1NUnZ8YWoEoKf3SSzp$in z15O}GAS6&bP&BZ`t>PT!e~KBgK`|CeE00JF^)FIRzr~GJGzjQk==s_z+zskN(BNi# z9n%L4#@cQyr-?ib;_5@uXy>TtqKh?4i*?LOzFi~wDZnm>dY`EHKU#YyKFB6u+j&;n zNk~p8qrDq#)fqlh@*fhzJySz0EYt9B)aUd&Y_`YYeXVbkg>m!uR!5?P(zNy_{2iT5 zqZ~PhK_EH?UhM-J%}|UzFG{+yh1~VNr_9H$})Ib_I`pzwk+9rgbYuuvFYA^0nbzfZm zbzG2$L*EuU=Hg={|Hj}aAI3x;YANArP|~A39NAgntZO8)#{1E0#kXb;-K(W_w3xJY z0GszWBid<+Lb8LJ&IYdfn|Nq#z{4~N|1vQuoSo`~gN(&|&)lFDaPC`<>ig&N&ULot zAnx^#Qt+6Ane?fxV7%W9%t$OuedZFpsNEc=A&Phko@zEzHLpq_9iGq!V#*U>=92xt z#~vrSu0U^J;Tg??D=T??!syr&GPC8dw%y>Q&Mi;?6t7at@*6XV_t0nF!ngA@Q3(A+ zF&OLF!bzQTBnoHS*+)jGh@*8vm+@~-F#5L=pZ0>4h=2Y71!;{Jn4N!|08gS9h@}swjVPOVX8W)9)52^{N z(oi*S7XDondkYzZP%37!*z@p!GSVAl^;Pd6A6n-C7aQflx$v<%mGpIBY)&{^od21h z9OqtZCmzlSv~@pPx{SD`p;tk07T@O}TwK8R8$^~jv6^qVO$Ebm$vaF0_bw>xbz+tA z^s+4Q=NfBmyuy$EOqJjfJemVA?q{zC?ML_))BeX|{xP| zQXqClswK34N$&t=${fpF?IbFu4y zSbR@y<8Ut}hzc)t_Abrgh>hLMfp6OwMW#ZY|Ct(=>fCh=v6^$q>}a0JR2ZOnCq2=% zf8bwJ6jC)_KZEo#Mp%9Y&6LzIlyX!zs(jB~@_eb89eoDGG-v82DC(Rp%UI27GxKBC z5_jm_Ov}-N&19P8ljoy0?<3LYO|tzzIiYyO29 zqT64nA(!7*lI&CgMz-e=Z$=9oCQ^wP_!Fjn%Zk+XImcC*Kw5X9-JO509Gv(m?=}Yd ztG*q15q9F8;h50*uU~8M6JjR!W7sPkbv9D}j6TG6PY6?wub_|{cK(Bk<44hVh<{%=_KA;&6SGS|T>p;05*77F#gb2?|jUW@X zo;hB>po2PROOP`cFZ&|b#bCDw1UI6VI`iEoY9`k*|7I++5XMs#yN8(?+rfRK)xus% zq;i+*9%9sN&R%?-6MX(E{9MX@|G>>kZ2OLXos5}L57_b*)y~O(k4Y5T&OPGpfSV_{ zK6Brry{|zxS)eqSW($;ar`VNgPn|nV7$)Q~8PBA@kry9L;UjE}jTAC^>dF zg_7b;|Fgo-> zoV?hN{Kp79`GVx1J7Et~prSGV&lix*h{r7s3Y!&sS;q=z?n7qS*#f2g2K!kMT%&;8 z5cs(t4lc$Hb^*O@M4RWx{vBldEd0}+V0}>|Ip}T#ynPQ2cZq63@S5h(!oN_FK8>pF zZTK--qw_3G6E3sBXd|<4*7154_tRkLDik5YzQW2DAE_nTO1=C&eBsp0i5m|Cqu~|Z zwi=)cnu%11b)w?nGyI7MsFgw!;vpr)-_GGK=4^)Z7-6{vKU0$>`rXYEs2&In%mUAY z4y&Wks)|yKm#>;hwM9bEFc%@Bi_kLujmZR)GCBviyu3_oEl1^84G=63N6Sz@A4H{RQM7L>zUmIRw+#-ihNCOUv1-)y7yQv3 zVBD3K9YwTq9c7(`@0An}CW4XIQ1VvO@MkZ8+J5wPDt^owMpe5|FEa`JX5-l`Wczjy zoy^>fxoE)w`qWeltLs(HJ|X9q-5H8qJq6mQyjd1`v5^hvTUUvSE8;QyiGn|(*XgVy zT8%lX9nHy$+U@|&>x`=$gr8r?{$=NUWeox&12F9UaLT`0$g>v>zW)EqFf~xfA=JrwQHtWK_RG^m>S)b8tqa$$>BKBqye=b>5WgQ|zYm6N#&`ga5u5jv0peHc+0USR1)j$Qc`{ zZHAFLih6;`BS~R}w~0Odu`>ByTA3^bb--_}TI7aQS6mivuoxK16UYUw1*y5xxd2OJ zy-HFe^VI5qC!84zTAR#gKceVD*hkk2=DrMlBLxv@W%!tl|C9%%s{@i{$paSSy*S<) z4X>yUEx}Bs_}IC^cs^UPm5N99f>mcQ-b-Bh3$JhSCm+Jyji8!>ajqx$N)fdBNmgN) z3!-!39ZJd!W1WwCF|WE|)3=f37|Lw}D*PkwoabBSTJKnaC_3XdGszE*V|L?D^Z;4b zpSWekvUDUmnt|3nMQ1*`zpTAMj8aT~M7?aWk|>~zn8=rQ#64%Rb>7&Ig2xtbZc z$P}voZJS0^8g2JSVI?h1R|#Yp@lLm=(WP zlleJERH8NFpW-7OW@N>}A5!L^I(Dxw%$x}K#xUbpNOohU<0{xWn&(@=bQHW@%C^C% zzy`kOC+nf>aXY7p1a%sWEZ;O6VL;iouiEV29{&GS!4L=l^aJ~KW-K{D}$(A{F7S`zQQ z7}qjvD?Sv^Te9rDV!(X8|7v5l7Q?Hws*iKGF=9=p1#~*;WXD zs17)G=DRY0auB)sqFBA0#FID4ARNbzcET^xys|2M*DT@`FraGT2_ElK(Efu=(L(Y- zcRe(RQ_-!MVkwpVeZf|CeF_X6fh}Ez29GDRJQWU(IXd3`OZ?wQc)Htc&M?T?xmQx#H=lDfU!!hw zA9~w3Pzy|(x%_t2COM3hZ>aXr2#a*kFiwE}7eT!iR@!Qm)aS0Tn8xRoz6xElpLu2! zS14=D++Z!s>F44!nmxiw2M;rVW=ZhVtrXr-IqvK5ZBGt_jI4C>NiLty$sb0Pw5@Uk<>V?##RzPj%lEc-0xCccXF>*nb!~scE33 zF>|fP--~EuF5g&!R~KRELSFC1YuZn4JsKVPH|6fhP>7xLY3XAq>kw|=;|-02jZ;8x zDeAg}cO$@Y8l$n}J-+s2)>sm^n{%D0mZTKek8N?zj=D#sE{*T!rCJSSeVUjJ?G4v`1-ye&9nhA|fivLrA zajX#h0?pE?NCu%2SXRUPs{uPJF#B__)eL^#M};1fEBMZ{iHSh42sp;$_asAIGsDIF zbn=}|OyChrcj zn%fUqf3KLcp8t3NT^IvxYo-i%R^VEl_N~qT zYy>l++KcJ6?RYmip3+M&%Zth?|DGI683Iy`;Abn)YKf}0yx$9Gb0$XV{$O>Cw#;H_;@o#?QXjvE`7ICJlz~Kn zL2gCoFaD#}HBq#poS)(~*-}|J{~`>9f)Fq~^wBfe8nm>Jc~|#B+dP`AkBPQ-PIl^Z;BqOX-v*%G$&RWl>&aZ{y2b>hKB_6uxOG}v3-i(-=4t-Q4o z(!tSWu>4y%S_)6OB6?V#h_em#(}S3oKMytxC;yfYY!=}?Ux24|;C4Z{Ri51KDEzE> z;FXAI<(4&r%uH{zq7C}0s%ed=ZDAa<2=zZjoelOr;@O_)YFCcD0_?`Z$+akMeMWHm zFz-#iP(L2qvo63Q7&sN=M)O_>>u-MVEaCfK^0~>NycTVqfPIgJ&m2lFe?OKpi2m{x zt-U~g;t9B(B96Of6}RitZ2wTDFqS^i3M3zrBZ?pRfbM1pOmkn^tMMNa!OMiSt66(U zc2qgfNdMOG)3DLBek6{*FDtYS4~3H^9GUd_&t%DnjZ%hJCl|V2L z{j(yyRc9?}gtcsf7q9h18q=%mlfOMq3%s{ddF-soo||AJ*#TlrjdUu{l?29?f_qvy zVFGG62A1|k7t@i6m7k-vGIyfDVQk%tjy3i?p~XZ+t*qhHb;L#?=2}&`A4+B@nsbth zqW)x!a#0glgOTjQtnkx^9x|5ueptwv9D5NKv?Jd(87zCF3}f(k!_kGV^wOVT=?Jtp z9FC=D#JidOkau_EThGMaMxfNIr~w;Hd=!O@(-$oAb8`C!u?t$a?iT#K%C);4#`+5n zI1AEgX1S!|eCtbyT%Iu!s#?nyhG{uvvU(zvJUhLi!7D*ihkZ(855(BNe3s2KKd z#)@VBJ7!GGyleIo&O%>%iKmA1hV{~fnEZ;w*b!+>QFy6!?<#?0Em~h^^=eMk*$KsM z44(Ul=U!Vy$)Ojr2YTyzOhi*_ptQv~hRztRb%}Emg*Jnk5oljytXO^U{f7KrO;AdX zg15tOyiAlp7R?T~wK7RRTH3YSTcI#Drd`}hgT?+9KPW2|xMRo_->0sm5;Y@^a{!H= z1Usj}!j53EgYOy1tsVYWGq78UrPSIEL(u+79%kKm70!rzu-(LYNUl9Vgn5zAO@i0+ z;qEp#oS*DeOZylo-tZK5BYo}(mPIS3|Ah|!V0VGr;}{8d++xg7>W120rpE6E^9c7b ze`Sqbm$nVSPOTHI?5)_TQ9~O<{fn=z!d0v@?DP5OE33Bq&-HnsXwWs5(jaI2*+`aZ zPkCd?Mg+*nz_S(qwF=wH+B;~)*m!}-?ToZsF|K`4t+i-c zGmy+@m8O?gho5C>%~`Z^6JmxsWCXWiy_(SLsf$(dQ-npxa=52<6>} zPxYC6#4hf?S}V!rFLy3GRowTi9aqXtjz_eg^9deeTzeUnr48-cp7oSB8=q@1ZL8W_ zy^6G-;*-HfYHP6aaW&jESc#27P;rURTZ5d*BA9)R@+$via5mAdWxz#35 z(1|vlL^QCFR*OZhw7NVX>NYDm{q_ys)gG9+1r)c!%os5CDDT9kYDG1m zhnd6jit)DSZYI_}+3zkQ1Gt$PW<8urXo}`UiyP)Vt{T-=Ufxs_8HO4r>bc>k&qTvl zgP;)8MZS%%!$zBhwLYQ#A(TyzFwv>>SKEZHIdk_Gt2|sOj?y+J^6LsOJJ9+a7|Ci4 zqIKYATk20HU|EWwnrq49sU|29_OmAae-16!kpGgMNJZ;y7e$4OQlZ@%YgQR0d}?)s zm*wDjL;6fBj^7Q>t2mr^3?nT!jC!i8tkf``_>(-cm6yzXG3u~VFw5arT2p7*dB+%N z7CSd8Pz5xLbNmW;ISoK61h1?!9#Ln;Z>D>L5wW!A{J?EJ>+sSY!E(=xNL zA@j;Qy5a6jH=Uc_dFK7^AX-4{VThY*-#DI^sEm%e$nps_Jqj7Mzfkb6+UE1uV61lx z4}BgR&T3D?Ol=qXk)Ml2?j|n1vW{mrb#^ta$fLSD<%2rFr4}GjiLIB=xoD{IQLK?F zJT^fnCLEl#^<#oukk&sPu`P}eaIZ#oB_@E3U8)y_v9pH@!M8brsLT~XD}LZnlho|FqsD~H~f z0Nr|E*qmQ5$m>B9vD;12hi-V+!@+6<%3Kc44#d0O4sJQ%;X5l}A7UJBExhgzrZd3y zDjIc$$Yvh-e9q!Ti@XKhgQ#r?lCEKQ{{a6j{7-Vn#8bZanAa0Z#8Kb#dDH!1C! z3>;;{lpRt$sHzS5ME=DfX;^CT)E0xHkTctasbQ&~UD9@;X3&+o>MCT_Yka-c7G2}f zI`Pn)Iz*hs(Ap+;C@6Np6Y7RC>RC(t-X^sDEUZ-tjr8*=bJkGxi+CVdpBBx^V^OSV zb~LyUK2mvJ733erf}t@yy)B7i7x(%|75H9-e$tS>AJw+W{dAzh>m+^V1<~LstY1!Q z1B&DO-i4bli9|P%ug~s~Uk1tIe5Zpl1k;xadf(WD{?iCcUDHFi2TZMr@(x6U`=hst zn>H|>-Prz-o_88gH;6vD2j6ZU$`XO{PQ^3c3>OcxbrGCi!uAc+HK@K?dEGdu?N&y? z=dza6AFPO*l=*?_m@_yT&uFDXW{Z9;9F=Jca8m>t*L$t}f`1V%x)@x2lp7as8{HM_eN^?Ru^f3sia%5HYwlT^#~g+i+6!-`4czPno?5M`Exv7K@JMI( z!cWL=Pv#S5cA8=<;b;883{& zRUnTTjhuc0`pYOH(`oE83naoho-%d65JQzEGQ9*_-+FUZire+bLga%DDcL6h_k|gW z%Zje|#zSfh3p?58ZUeWb8_GO~(so&Xi7ckP z3dNj3prWc~t%WNkG#6v*d<``y`Dp(8(dVkNc#18>aKlDD^HthsvmS-6^j8?fL-CX2 zg|sKeYyximY4L7ooz7d^ll$f{NoU=AkEObW_3S}wY8*jXLQ`3hn%CLT)%YlHV_LX1 z7OMlCtxdaT#v9E=-_Y!oO5T`_&Z1lrwar1+A_u-kd_150XhSDzD|6e+h;~$)l8u(G z4sV`Y!>Cwz0h*79DT>TztN%pseih87yoTzP%jlI;=)< zw=mObEpw9|!qIfhfXV0PbxSz!P@qh-hVr+xg7LTSUnp&ndq1{&>9 zsQP3Dird+UNfalGqtcc5949sChM;`aXw$Ob5Q^3{MgQaro=!-{OyCgXxty zP6AuCk?$BIi31D!pbRC*%xob3NRK7z#1V&M*_Yv`U51@o$j;xQU!CV0GSGJ_aH|7a z1z|uYFNaZu5r8&qD}z52!uz3cPG?8U4`z$VUHr%>%{*{F%2m}VtLQNk;NdX5q2B!R z2=F@%OE<7(4DZfj1m-uMWo1Q=Jk;vWg`3lu@f1Nd**WJeh~9BB!_i{S0eV$5+Cg(1 z6r)4~MKRQ@j2IcO7%S+3;o)Ia)L`RdWN;EzMqSOjvZQAG+I&Vw^4V_omEATRR-J4R zy|XI#^}tu@NghWG)wKgU*%J>%XFgTFyFO!8MX`^n;x{8g$?1iOxFyAIW}_YD7ikUr zqM$C%Xs^|lTA&7G5_96=R0r3Ra>6y<- z!#lH&VW+{&-_N`w%=~=}d&OLNMbcZ@P-$l>dS?sr1f5}H6YOX^ux!h#4sdG_cs7Jt zBgt`Rwi95B6k+LX6#CX^SdL^IOEy%jT0vWufMKO+*_>FY>iAPlKryeUwZ*ZZW#DKn z?*C$>*tU1kq93fDd`k#y-2;xbz~~LFot$2ug|_d)_)1MYwWWBOH>kY(8P3$e9-d*J zAJBrVFf=LJn~|+rWqCRbZVT!?P~1>{Nf8jdORvai{{T)~d0)}YRz9s9(hyLui#Ih0 z<}M{NU5^Hb^9|GaCuc!-oE2sVGtZ?uGlV0Uqu+{|6LYEFy+e)t7pJ0o#TiLY&*%9- z;z(kzRaL`dR#8Yo-}WzRFQKE$zcJM-p(GZHbwbwnUk#dOf9>P<2I;Gw8w@oPs!z(c zN^P_7AL@YT0Ju3E3>#rTBT&HhC~gm0vkkt)406;%@fyFQrBy4eC`+oMF$Jv<8Xs+a zVZ~%*bT=NwFqG>xTB$P&)F;*qCPVuT*VW~im#q$LiOK7OFrpEt ztU+sa7O=SJMt3syG4XcS*yULlsS4HkYWs^+{cMDH5q!QmJtsa^vl@!ql204~>)9wp zD0)$fZGEiwpi-RPvJAg(KYl=8G+_nk_67N_c*DKeCzRK!4(yK(PlTm2@OUS{(k`s9 z5*HMwG8?!rHB9C3i?*S?3y51vyW6R;??C${rfuaJDkra;tvpWIPp$IgUksW;QqO#J zgo=4?kTmFOi>`*<+DD#{c{JGrA+8>zPn(!U+|?LQRQmP=IIaJF zq_gbRAhP&Ke7%DGrtxdj@aq%tsA>wW4&d@C9q5j>QeX)SdAXlLXli%7S@~F6F|Rn* zu@vuWzC>yGUdfxKx7P}W9hYhCD%6MCj3u9g<1O(=mci0gaGr4#?CwQs?dD*|{(;Az zV9z-GmM!?BCty|w@GJ^O^{JJpjRm~V)=TV>6`iO9(#7drGnosV!rq7a&!lepG7Jvm z*%U9Xkq6umt38CPYIgfzO-Illl{xyJUowR6b;(Ula@sPhv?g;-Td}^)T;`g-qh7F` z!#_nI6sst9i%V+?O=T0bGKDnLzX%P3h}j~%e00@{KB_{|N84a;a5Z=uqz&rQN0XaZ zUPv`A@~RW^&7-Yq?g!(o>tzPqAbI|$;VWZ|p$X+D!9#sz? zhyOIystK3m4|n0SIx}Yra4bruuq>9cq?eZ{j1A3=mst}|CL5z&9 z#%iX;@)kpF^P#3^tjUbDUM9mZnX0f=sBS@fFe4;7<6s!RJ1}-QjR^B)TvdCWi2Tnu2FP?kl6vb3nO2M{CZ}&5R_){ay5gu1);B0FG4nnZYbrCO)dFRwHP)(ZpdzO9^vT*pfD^e+ zKzF-%xX8L~p!JKRZ1MTUx=+S;C}N3?e;dqgJJzxlXlnGkFxL<=h~?4O znpoiS;8_j3S&=zDf0Ca~4(D8sI12x>3|LiT|2OE}LQu)Tv4X%^{>@9WN13si?WyXF zZa=VggXjV*`Cf8HB^i5OO5Bo>n70+`y9b@#PhHaoeo0Bt917DbVvk$WE0WqrKx#W< zVKcFqz|ndj2C`e8@InIUzb^Z9hAlB@*ll<8~| zL-BK`VMXUTulP5mX@j`nCyQzFL-H483;)YcA0MBiYJdOgZxf&8+sG11OAS{I-a4Y; zySZ2Gki0KptzKZVzWVO8{Fl7=^Q%x>t%jkwd!wkE9DrZc1?$@t%1&rJAw6DVHRjQVaScUT%b=juLz`-JnWzQwfX@$y~ENy;p%EPRPrbIT)@wso%!aq@a@(7k`t?Op^RBJ(}EqJuT za|&WCECrZf1%(P;6kGzVcJcZ(^(UOg2wS zsR_~pxy{5Z&ota zN(!=Yk@Z6cvqwCKavnO`l}IFzkVpDr)}wJp=DI> z%p!;SJ+aFe@cbS;d*IWAVn=h~m&c;T%F=(OE*iI$t&fR^n}U|_Vd?B}T9>9R`rOvD zktM*hC`jgmt2(zy4gAy`SlAY5>mj^YviWvys~fNDqQiHwnu}<~rf?+(@ntr8SwY6K zFJr?K@*7Ioi>#>dGo3w$tiUoXGiyTP5p_amd*a8Qvr_TRTKBOy9B&Fn?NHYUeA(wj zl81;XRgrcEPp2N&mfT7c%`{@aR%mQBp2?Qh1<&sEl7{q?&ej2IA+-^o$tbjD&PyUH zUZQy`{QW=dz4f0}<@d(D_a3^tV_<-xW9S}o=%EIN?xDLI=?0}62>}7=kPwg(0a2tu z5d~2}uuwt7=Y8$<+2ZTFBX@o;HN`9;JIX>i-6UQh% z-9@SqHdpzBvaquy`&8gn5mZaz{R+d}XnH7Lf-iH4SUNdlIC?9#$P2et;oB5<Am_UBc2!YwenE*A79b~(HICVZ>IF{0q( z+i>+X|8g5IIv86zfcF6)*%j`^;h$^3)EF|8P1w5`^{63xMT2iYj!+*|?>gJ*F`A57 za@rDwMiPhS2GmjfHLut4Ivz>mS^Co-@C0SWR@W0kF z*g{ze!(M9*d(*?Rw?SJ$4tIMuVyB?O>Q12iK<1 zXKRJi5(~Ej8`+j?=){#*LkG5lRXtFxjqpmLL^xB>wcXKFiV!NpyXIsPLh+)?#<#?~ z>TV!~P_oxK${5t-c1L$t=*@p*Ky&>?mS!;eSsJY>WtxSy&v0f*R6ory`uJRC>u3;L z=A>ims~knq;!)I#T0Qsi`!4ZPUy$m8#&hxib@{KmFmw$XxGx-x@oi}{d}kLjf$Ejg zgDYvmx7vI*V0}|Q`+;d4nE#Wro;i}z;WH!ALJgP$rv$U*3_{}$q(@UyHw$()j1o;x z4VM>_GPL>LG!{vjKjV-v4HS*AQn?4H8qS8H-gO*(3SXfX#50Dmylaqox4GVotKzOy zuKMJbrEVq1`@M~=WtJ}0N&&`$V(lBf+9 z6<|PSvM?G&G#-6C1dkU3Pj&ZI%>XX0R;FxqZ@>oF?pN48<#fsscZ?*1)CAR|cy%he zt2_2TD`(w|OkM&;B1JO4P%>|qo7=sPc1=Rg_dc~sqp#PHS6F~{Sr0$ohn+9!S8xoU z8Vf2n9nBBW1P|~Fnc6?FKf2S%XzHN)leGrR7$Tb5d^Tc9Yw)Z=4XOv~9oVKXERF{8 zznm{!I+-x9R0YQW$AV-8*tX`JdNUhNZZ{E@ME7l#&(tV&m8fRH&&BU8L-nnwN5+~%CD`k)e6~JebawyynO}E=qWwOmw~6ow2wgnP2#-| zpHo3}0RHm{=%IE{D9vdJorzs+gQZ&V}8bsRu1!X9-^6 zVA-BmLA+@_Z0;A7xpGLAQ7G-O(Hftfj{n;X;&V7|N|=%jmX!8qq&$l>G<-(s6fFgJ_)45UA0d`t@Wn3EBYeh3@f5x=-vT@ItDbE>jTA16YPsO+T zra4vA#-q7XRmW~R^ZYie^=RC&XxyoAY#erTDje19Qe2rc$vr`-&2YD(1RoONv_O;8 z1&L;8%>-@*)JY_<$5OaG0MvR>JEV1@VP-unZ3!?BL+vW3a1+Z^liDx{Mol5_P#k}& zdyTHA25qGzi}6fNnI8mIO&_$PSk9T0_A2bE`mv~0Bo6IU0E9|`YMNAr{v$Eu}2eK0Krs2FZ%NLeb>|BZVn8|Y* zwsQC7JjgZY7Vn2#XL6 zdddtc$JZKOYfO|PmTqJbno|Sn5vjz$`Q{T)-8kPaZT4r80z+Oia+On|LFJ9hL z#}$_9S0F{J+>oqC2E6EWo=bc@=fOtJx?hm?&$&)jq6c&#dPg(N zXxvgskSGV|qQN;QN=b7FMH8J&cQs?~L~L;t7+jzHfddCCf`2~Z&7?|8jr4X&+iz9`SF(**+B(Y5|)OjsUSmBcuBOvg*+=2(e%_2Nh~`2VwH15%Lb zKZS+v%9&0Dvq_*e0Bt)Sj@1CqUx|C_qN(=7-)(MjuMqb3wxeE3&8VmMnO!lBH_jaf zHwWM?MiN`L<~5e@EkLdn@2z;&#d526Lp_e!fY&zXJY$LTfu3e%96=7Z5Hstx$J#dX zzQQxt@^gL4ktycX+yxnZOcPKe#a5}@;9)k^7#Z+S7#aTzH6bYM^eILflJ?u;7@=m{ zs8+~xikm`HE$G&RN$pJy@l^|8$VTGO#aK=C|4=MCjQmhJRA+Lc_ce@)_y?5xI_=3L z9iS)33L=|GMkhTZzN-R83CXD{SN^-ByGjj)b4}b_c+Li}IRgKvp7-rp!oA_CHzz(D(+JJeQG$J0I#7rj<(Yxz8{U01+0eQhx>7a$UOppODyCPvqsmrDh@9T-emYW zh^%ciDoC?;PNKj3UUwt@I5$|Re07gw}&4qu!x4Y|M;G1~E8CcV5 zV3Pt5c7`^yoJ1nZB$ahHW3}Fbi;F4sNEF02VulaUp2sPL-|(f$i9GAzE!8u-F}@}~ z$POeXRhvr@SRVs>es!9lziv>IPSJl)_v_eziY*PAq2w$Y^6f9iq+LKa6{e?=M!}zk zkLy5m7F>M*X2-$$1nrui;|(uUCy(;GBX)NI3hyrcGMQ(Z{PAcas90=7V>DSb@ntXU ztTfOd@)2V|un7KA_bY9~XC=6)US)M*@~6&yH;mbJ+hJ)(l0#^Y7HR;t)v&vok2*J4 zY8Fb}O;8c2Swra(`A)TbyvEaGnWAv?9pt->8%FI<*1@{q3&T*6^|K#{w)u#F<{yVjz;rpNh?}D)bCX8 z>5e%KTV-d&D9w*1C1m+q zwG#&qW14Ua@HBgBnImDO2vaX@8GHs?E8Y~Q`Zx2J+SY8lmdV;{tbG#LS%~%s<})Dr zTg0gMrFccnHNFgQs+oX#QL9U%a6{3u4`JkAP74(4B-SJ)19yv(eT!D)S0KHMjKW&H z*>NWfoSMPxRxolheytL*Y+o#HKfVv*$Tf*R>cX7HAl#oB5|VnmnMa`zEXeION8wh3 zpJ`EPnJD>;+!5tGR<}D0ONFm~&RC{1;FXGVO2G34{ejLCHTH781j{JS;wF($1o^|0 zc-2U(%%6+~K8H^IhL+er$QFg+C2LX(J7Hn_U}eT}{YBwx7oM@?zVh&|8lhT=nv#$) zqw!Hf187mH&J5;bXxX0O4e`FEj&);O`A4;4E7lZ4&9|vsRl4e-5Ikfn^$L9CYg9x2 zw~2YqU<Pz=?HaM@ybe`%V6kiwB`b0 zI?V+Xi6#m|`6qOz!O1YV66I^zYqVZ$!`3CFbz}{iXb>Lg7`>tEqk}Y}sS|8V4X^8w ze=Uve>jhiap-jqyWKF$Qi5e#4psLU$L>>{npCaQt$WI0Wzx;~a#qK9m>n6B7WHdeTTu8ovmhE8*l@V7Z8RWF&|#9U!zLSVExJ+%Bj?JhDnuR%PH}uZO^b+`y88T+V(xsf!ALK56By-$=GrG?DdFa%h z#4_XYrH_5)<|fa3j*Q@5EXOMluZp!Vg-w`-wFfGNso#J>hqr7_@t*n+Z^$9TbsT@swzx0)15YJ=}Uq1{% z!!od=f&CTA0n*yT_7|hYLc>|hg|XRV!%@eSI#Le9?!1y7JgX3?t-+HmMBDG;wT4og zilurRO*o1evpp74nkXx6Rt350heU*_;YTL-G%9mFob5s>^up2=XWK5YupD)uH8o;8 zmR3uu<2U<(@lZT;D>Asvu*jN2H=Mj;I7)E`cwVACqaEkaofvi?Wg5nr<%KgnRb!YR zGqLvpy-p63=_uiTg?CJdt^JVpl*8aT1?#YgR)Rw;_sD)+#EWm_{S25MfTg+PSP zQ)*mOtac?o>n~*+MLkffwlegshT>Oi9Jdyqi$a!`LOvWIu(rz6UHdn`$0a%k*2H;+}mo@2Sj_ z<%5K@{zLz7`Gq7{e%bj5YG-r2=L}HPnD`B#_!hcI^L=Zkz9DW$bWCYbD1rx#z!t8+ zi#?^yA_o}1puFBhT@Im#V;#I>Z@5_tCPsndM6hYVlFn?IgKs_YrY(tMT2Z>{i;^D8 z+l7(6d%*KA#_=6ubjdU$fxE-u|*JPZgcaXm(EekR&aJd;wyh3;=P2z z-iH1iPn?vTqWYcp_@J#3jOrUS4)%?LXPU>eE7#H3y#$|?3ywvTOK~MZ8MPwvY{}M| z`yrZ|S%v>=i*=}t*L}&ISURI{$9mm~L02#XlX<_Eh~5Lj#MfxKp!|$x};T>kO)5L;Dah ztn(GoTX@lhV7d`x*HW@$;8knbrG6tR>6=v_A6W(!n-(;layl6(z0E`sDZp?z2zG-7 z!^!El_LWaBN^v%8UQy2FKzAg^$p(K1z_O-TzRLVZC(!xENry+;f!*H%UYl8?npO%= zCJ#~w{?Bj5naDTon0)mZ+eK=-W=r zT0W517wa;tOunKR1aMBQ;_Zq9>PslR(uO=uJ|cLg`H3po_d)@ z)t1W2nr&8{3AXV3h*NQjt(TQo+>(lIQpwsn9Z`VG!EpwM0Q_)0 z>cwZ|ZFkcWJDFU^ChYD*jwnr?f-KV+YCr@!X^G#G^1ZVZZBPR&6QJgv5uaX$-FvaM z(OB0K_)bNjt?{Hiu=9;L>RPN;GQ4MARQF6qu*^jT4FT1K#48_TvFn1B6pzhfB3rAh zjnFivsC?C9D|iU0*I3ziLn=V}HKJOp=tp`;`v_UJhZ(-I zXrz2&BFb4jbU>=uvFmm5&H*MH)rgQv!@f56JUeG&)fMhNFTNS)rB%G;6hG7wEr#-l2#rl^ZGo_yHnseg;n&+-li#e!L5c_CUeKIU- z6ZTP_rwaA25m#6PjW&mWD?=;VRktN}11ol_=9vKC)HK+}TX#LJZYjy;l zb2a^^=i@ggaR;V5#4bnOyVxk}L1ic?Kcn12U~y#~#V6rw4{axYnLiXqWqGxgSy!{X zW@SwSDGJj5#%5E@#%GH{rEO)2#bEJM79kBPtt8K)M4l6PE<@!m?JN6gdzg0(6p%c#aagEno&2VvB7NGoV4Q-M zsfK0ZTA0HYYcv|{mQd=lxijGDBA=hL`PP^6?nO?%2=#j%`mZQuTa_s9B_8ZCXePrm z)y5`w#m5%J8jj;gi#f&ul+{bTYhj=JZ-M7lnA-$y>YkFiW6l?3_>-bJUXe}6=RINO zs2fC^@x3`%=Zx+EYED0_fqLWCBF1lnEm%sX_y`$<^Jt;ZVf0&A&Sq%jhajDW@9(3= z<`Cx;CmJcvJ_|rJ4{CKWy?Gxy!%?j7QMcB>@_hLJ_wm2y$O^}RkM8@^4jt7BWqTa9 zZ==UlQSODdP`fj|eMhHrWh@0|%;*+$eJr$RVS;51ssxUDG z_1n-jT=Xv1njO{gw5?FoLyXlH7NyAEN>Q8A)hsF+qi8liFi7n4@^F&i2!>u4)xmHvdoJ zih&$i_bYq{)inp(+Xo-L-ESZJl6-d&W^<3=ZblEt%Ri+*T`GF)^Z@${?h-O~MchgF zx8``lAz-(W^1q7exkU@=RXpYr?B+ejjnBqsX2!QqLfI80{^^59$PHsNQxi1LU?jG5 z8m-<5h^L#P*Ak&=77#BThqs=4fclx2nq3atJA{AAOC0-%|6(3}+OAuphBh;1r5*il z&oHxc84u-0+@1#esuEW#m3*8j&-i>7W@4={c>Q?IMByl`wVk-AU-oX+)fAJk4VDHP zN~|~3t+i9x268 z5Vlr#jSK_R2vGdOP3t|!BIfY!!?NK zXJhe`VLdlu>6&p)bMWIokgw0m^_4@lR^wU7&lVIUht&wXo)2ZtC@21@30LzG`J}he zUAc%wt78rNkz*>1%DX{ExD0&~qQP+roEY4@`^`$5h@b z_rNy>h`z=%K+$j%hGu8YpXvyz71~~iD^s9%sVylU@l=*oc0vEFZDnf}2P^Lv5C1vd z=?@O=v5V8da2ikHIUj_(!cL(X4VpGXwdHOq!x_z{uUO?4?I{J=do-4`32YoonT{jk z89_#`1!zvi`Ys{&bA@R0vC|FDxr|v8ZeV*aFf&3pmezxx35n9L)AQ>(F?={PNsVQW z(-k36Ath;TY|TABmvKgQiI2kRWgDOD{0mgeoA7Bq7@q>G=ClBAcizBXuZLsBu%Ej7 zKvC?E?kiE0^8eC#9}nG@Yg&mHt%FT(<$gkL>k$4q3py_+7G3wf>_WXbKyINR{TkX~ zaVL69L3AGXvztRt>L=9f-u##DHfQ~I3?G%NO4+hQ@|W_e|M&R668OIo`2T+igrUmv z;hA$|*~55d$6u>QL7;o(Q}vJyw(t68FWFwRzOuxoljJ!AOD#XEmw9AUx{6X29m^K0 z2Za=s{A(JPsr^9X%9PuZmrjTpNXZ$c zc9I49gFN9YBEP%j_nxC=)Y~IHTZa1a{0Fp}{DC*jNW`BAwUU)K0Nsr&gip18#<87d z#!HQ5EXvvF9z7bNm!9)XN?9dFIcel)ef)~%J!?hmS($Yj!KYqtdDy=(HaIs|n1l5i zQ;`C@tb2>3z{kc%MRy`MF`d{&+Bh#QPnzpUEyZDcs`WoJYEbu5Ov_Qz^6$#qmd9QX z!%ok`pKrkOZ{)cP?fgD1!@(omM>CvbYQE<@{C8H$NaL7HK?%Fy8R#T^>S0l7;B|$a za4@f{h(=MW6t6|MYG;w+R$G8YJj!_}W3PS;>PaC#o5(+VwSuQ%jiOi0EvDY#2`QY-|ff?xxl;b2vt64aaz={ZN0XDHVY%D-3euP#2=7o)VJY1>f?cTd;(3Tq z)W)8PYs<**EPTt!Q<-;dp*enM5aApqlW_=Du@hw1@cjhmWsd^XC_Oc2Wj>A<&KZam z#y3SLhGu|a5U~n7p=Y^S9m}|=c5@+Y%1Qc57%FCwo>Kl;871Wz6y>N-lk!>0CaJfP z7^@M-I(sRqw5(G*u24?JUWwtDX0pk|*2UefG5b*C+l z644lUwN++-Z-R#j!V{Yt%<`3_4dV6E{nMP8!a?9M3S0q7l{_Nm_xD zj?a?(>|Ks)$ih>{&%iNt7pbIt)BU{)aOEjDgPfFHD0NBm50#@$NX%SKuJ8!`G>-Dx zPmCNqLfJAqxeZxc#T2r6(!*kmAtoe*rtGFY?7QI{L@vR$fhD%QuGI(aZP_AWuK3q_ zbLu~&(`0+~Z&J##z?ut1_ioo%xRjKLX4py1*@bYf@))Vr+|3Ud+hzNgGOxufE| zrvZ~xW5_5bAamatr7ZPX1zg*c&sVSQ#O`+NT0+W0 zv0`HWvly7^jxQcx80Vl4l;vu5-&*za79Z8aDZk%FTbtaIW)2*~am)Hw zUIn|*)$jSB89;-FSwYz~m8nqB*m$8Twpgqw9NquC%%a-6aMX5snYC4J%35Cxan%iF zkSrdycX>=}W0Uo@Iqo%fS9_*qO*;0GMpr)>&7Yv_(_IZTm$9rz7`Q4vorUK(fi=wo zzsiAQ1UbGuV5nJHBSEP&zpK#-+6&xjz`XU8jYfPzqs~8#f!#Bc|_r9&)44+ z%?4IDP&{UHrKQ9-J@if68TVu{wJfl^!d20g+Dg^trhW|CMzcN$UDYwo<)OK1(ousm z@~*i6^I^&AU^g$q%uHa`g?vIJZJiqVS(f**;Mo8Sb)SKDWEQ%Rg&0B>N_SqWM;Ub^ z-+vN|+>GZ4qEy`*v^x7Y1=o&P-LEM<`O6Go)f7IY15ssaGwl{d>p&o@%ZwgUD znyo1x^-n#dbPr$U2^6auGD6ZgC>#6wsbyw?wOougTdVDZJhFVJEUBIq z43zU~>UtcWD-C6pAB0O$LiE#zNug*TDV{v|@Z_lFYhyAFcik*Byv zw(2J9J_OzK{65cCKY;7w08aFk=2k0#eNlfF&Es8&f08CrJD6Eeu}=)sL&yaj)p|qH za5TIPRV^1@wkA2;vrLkdk2J41DgLYPg0lK{e^MzSWtfGpw15<^)Vk`GX1$Rumal06 zA2Oju+kr!CtYjUmWH=c%S=Msc-X64)HV4gqZG_-_=*<}3|w%Xp1SKnK4)z(M@2_tPCWFMu5ERvDM zwK)MaqFlOFH9_}>7N?~Ulfr=nlxkMISr+`}I--&Sv}MK7E3gipuL&NrJ~p!qFZJZr zT!15B-2l*<2Szi=6~95wcOva^Y7eLbOE*!sU*LHg`?W&tJL)B&8E_g9k^V;H8jl|O zP5D>mg$L8Qj0tOug>4JFbw8g9;2Q-?TT^Dzlr^#8S@GTpiF4lu-AgpF4Y{=il zQHm}yptd#;Gcs2z`xK#Gj%CYF!KxxPG7oyJ6zy|2;H>T?q`ppH5>2JRr=&vh3CUMJ z_n%V}U%<@Y@i&QKcM3N^M~c5Jb-pa97WTQRnQAoyg<=e|rMB(sU;nkWLdZO=u~pj! zTgviky|wl@ejO2-vf;9P~yPi1LajdqkZ*1SU*IZ^>EM;Pki9M_l= z{&fV=`e4_X_loG)vM{qEJ~Nhfnm*t%nl{#%^kJ9>C+G1w1H=}PuZ1;0Vobuh;|hZRfbeg&I!FSIGtu`xuhtK^Geuq?&UXzDYV zn)>uBcGx4%dWPQnmhF?m?o_lUhJfoUcp4uh<5N?T5Tk|ui)RrqEKEs-!OCounr6%s zC*(oJHbdvNjTJujG*q=-4_Q}3-}o8)vaQ5KZK>nv_+qc#zR0auTn6h0%h zh2pZT{<|_kc`37FU{DxjHsUQ)QwnYImrW^$!aQ@qTHTW;&ehy0y2J7;+8|eg>lBb$ z`e7!MrC?#SlDib5xRM zrLK+=iiE9QcxA&b%Re>3V{X8^={|F3h+GC!6DFWx_TlYLqQwV-=P@w9fj0UPKe!L9 z3v-+%lp201v(-&miVZ_0Tj!|vwfsXLCR=68JF6a9;4 zdd?*iR!%leC8}6makO$ViZfLD(x<{Iz$j3*!a!WqLt9Aoh^u0yzUfbdu57V>seaga z7;S4&r*a9}TKmf$OF>yLennC?7A_$cBO&#!6lHo8FI1Pd(^*_mTCnTRt2(@Fi*40? zT$;kyk$A%yJT*>uKK4~};>-Zo)u6Q)HM<^!x6=xzcs~1Cc zv`Y(Gsqazl51icapblIb2s^vsF@=;yTXzQGYFM`doT0o_Gtjdh{QL2POYy34=&AMC zSB=SSN4NeAQBls;0^pNgQS<2?=p2&rKg_H*`C4^P#hNQL02q|Nz*rumNCOU#} zun0!`7_w5e%C-u3LtFo+`N3^ZQ_rd&$`xtGTm3^SUYhqoQLyD4;&En$iOn`RX|Ro& z6{Qi(?1ryYjM19!nlB>`PdOEgI>1Y{r40tXcR{{8+*}KeOX2iJTD#xHo35aT?Orh6 ziW*XjYa8}^i<&SBL^rT}4y9HTMKKiX`6Kqd9KFI4Vjpz3!oK8*HD~4k;`ta5>w{WS zZY=_zH3ZImg74c4SG(Xn-=Tj{2S2kM#rc<~j?6}@KEyv>2rv8`s*O;2_r4qi_Oi2r7Ws>MZFuwLQ7BKWMmh5vZmsu@G=G}zoTt+ zG$9-GC9^z(`T|>TLG7uQaM{`n?4wzG)vA!u*S9&~XCMBk8+d89x8Y!^*uOD&_Mqg8 zlhIQgIR#7Ena@4g)KOr$3NN{d{zJ>D2i?IlZPr$(Z_|P~?S-D!x*fyBoy}(oow;t!7nG&3e z4V{XW?T#Yu>9e;fxL2cglw-*>yz6uNL;a3LP0hJC!M4Pr0E%I4VyTIJ`JNT#?u4nj z>ryJ%Ri6LNghiKKFUnbITueDQsBB;bjvPEnz{m3JQarvNdv3ZU9CA9!nSDVaKxW z1JK;USh5@R7Td}Qq7Px|S@7KmqSIKTnQ&%Nrj@8G5$+Vw(S3;;U`2D|(^mPp-Dt{5 zGq-huDZ@cc^M>_>6`_=MChA^Q7^S&xH0MPOC|6_aPI%x*o>Rd3J*?za5KZnY+Pv5q z?jV8|s)XNez*TjJtIf~^#qf@4vHV|PU%$r&UnRqE4lnxyXLFn1=jq3CnY#9604Eq% z0O3gVS~cFQa8BZ;%2gUfI0+AxzYq(4*%CuW-_5%kUxknm4s5CHsp3fEvk(+h)f%c6 zP$^w;Sf93^T2++o4dFbLElQ8BFGqiqR`e8#;aYpcN@au^anxddOh5VSU;iARFgQ4l`MXtPh)<^(-azIGolU(Ic{*DN~fV>SYg zH$ZKQ^#$C1*w{4i@FcNDE?VKXfJ_*XXB4fP!(ibsdh5kv1v^ucdEr7)&RMNt-LSkJ z(dJ300sYZVx^q`)@LhthJdOVhp}sUk@noS!Rz_tr&k#zl7RYvlvC;modf1gFU|bfg zt8&GfC!!=)m6t_-)X9#+)ig*y0KnS9M||bs!q$n}$ku3AA)C*%M>~G`Cz z6BwzvH7ZhfRG2vB$dS zfwD3gh^Ul@(YQikBMi+did%+@DOvGVSlhAyX(=D$tT44L4QDAJZ7<|3>nGgAPHQz& z7Emor8X=)kI2ov6#i-p$P^*LRnO*UqdXMFr2g0Qhc$#u4y&7oBZ{}fXB>$oj=2fXbl|i!sSZf9}wIDTPkFp?I z->(5t)Vj9Rf^z@jsl2Uxe0Ivt+K97prV*55Ch!crrg*4b^e)BD>ear<3R|1DRFVEo`^mN{TcmuHtZ;gkrsbR3w{;i$D11$GFjRlJR{ncCvb4(K z%|RD+;|dFL#cM(7UGUoAqq&{2?+1uo=7Zu#@NTECV>KhjMQm<6w!OsC3+`9+dwu{n z|6;uRE#`ZB%#0a7gYYLjcVZE0;k)(#Pe8E0!>TUCCiPLQDY3uhun)!E%P39t8)=8< zWSkYKHs*ZS|YO^iEmYTPCJ!l>vE1Q<1#Gt$0pgy+aT2}CyfI@Ez zO6|F(kzAEVCTmuF-K(!T-&$awH5RoMduY^LGjQxcJ?=vdYxXam(i$2us&*^&=qQ8& zR-1W2G?d~%DIYOP-waD(qwj$x3f36jud$OoHQcqWke9s`TTL5@lj^-7&Z;d(oK^do zT1YkXe*(@R1BkxoL~tz~sh7IvtNPGS#I9<*%X~_pHFl>szjwgC9iVrF_q8Ca*=eR? zaWBBQYj9C|_6#=mQ;_-??)GN?oUscQjY6JkMJowheA- z#Lp^NxS3K|i^n{Kx;+AF=V0J2*m?!jF5@RZ0>8^}@CT5(34gbO)@1x>BJSw$lJ`Hs z_IHqd!RtqSYjRJVJw~mFa_^vNl7rQJV#bP;X?NHa<^Bb0<(0zWq2`0DjmC|G4>f&0 z$dgLVr2)wX__VHMn+}jectMV!G_`UZ7*6GCHgdLW=^=iI^N-_Po|sX5hVQ3KR|G=dWG!Q@RIE(!md9gklgMO~M(sgCUrr%V+;SZSNC zQMubgyIbTbRE3qE!B+NZOtf{1V6>fZvzBeOH|e`nkJcu}##-J!rLS*Oa|Zda6lIb3eelUU9~Q+a+x2e#-weC3BqLmqG1)H12u6-+_I* z;O0xT&rK}q-*C|L9<${5gcbbSadoFtk9AN#go)UurqsU~)Wm7j#Gx>w1-edI>dN?_HY}@% zx*dxG+K$Ej5bRD9k?aM@(;#t(C0EfsUvpO2Lf6#0uH`_rknK;XSj#jBw(VzONPyY3^03^7v9qHofo0TB-Fsp)b#OP&16+M9nm5F~ z7Qo5>mBSu11j|@rCCx5ZmGe;FEM}9YT*V_pBv3^{(5$R-1cs(QE&HP!gk{;qMq#{Oio59HD@*pCbXi?ZsXeDC5qV2)$hT69^l(4@Z8Gv z9Dt44(4dV#a|vbsId=Di&(gCn@@o|Ad2Frg{fd(H7`yVyea_gyB;1WC7u?P!88xgTFm~Pz_-EoP$lbp%h8RTOd{0CVamTN*^KkBu^9C* z8{V@T2!?}a8tP*;;soWM)n923EokS6RElA}-v+M@*jf3A9q6>D_=0zM?)Hzk&#%EN zeayD8-5m7JM37bFb$~i>k$+u>_m4yUW~SfbZgNh+Ba*tMS(IC#%Ua<-b+=UY2Ft}$ zc^czl;QPeQ0ADS$=+yWrM77=+ZFL|azr;gXQPl@wtk1yiDwm)-BV2{5*;~b(>ch9g zsn2Q6N51a)-A6hhbCsrMc^G58x^o|td|;W2IT7=FIhjAE9dpx$ zdhxu09yYD7~Cm+Y(@#5!RM~Aw|jkZ6;Rvg!ZxA z*ysshu@FqYWmd6=ptB3Bx&kYElB3PW&hEknZK0m7q8=Z{e@gF6XP+Zzf*U+HqH$Xh z&-_FFZ;Qq*VpD^MJf>#IR?bSZ1QwzGC818`M{i4^7#j^$SzO^HG=z$<(GtTmIHGBSRW3Ttw_IvE>&*XnRn3)c&l7U%1<_8PKQx;}feBOU! zuZxU0i)H57YRnN`iDfnU9>YB!%3yn|Gb>O&Y;h&#ch?*;r@*K-_VYU@D;|6|4C+l* z;3fUm2f~Z?l&<Rq0r@oJ-;Aw`K&e{<*?a z*%c3awT8%GC$;e|OuNbz?FJ>yk#`7euVJY)!?hxl6If#PMwo|EYJk^Kru}m~=g;H@ zF7oRIynK$A41<>$;anE{Vr{jO6$Ch|2P4M?}GXx?9qAr zPG9P5D19f?UvMziJQu91j<1~gFP_ceWh`hm!f$G>D)m&z&pDI=b87)LJ_#4uL_^gW zDzs!nWhccuKk(N|3u)ejIgGCV11x`plYg<-6=v2;ignF|waf!bxp}XM zmy86n>aa91zpHuIh(I2@_2FckKZC(r%w^CITswOW*|I5HR>7YZW;}33j`cZxLYmO- z^`-NblbJKR0GGzY($eldtm;Y7V`dCkGJulR95}1}ob7e;OQGoUcd#vcxQ5U8{0^J@ zHNIn)Z+8}BV>hCeR2B4^iCdCZBf2 zyDFp6)QjCV6qbgGz8S7U$hd2m8lpnXJf`Ds7i=r#s$)nO>0KUFjMcW{tCs1PwP&ZJ zem`~AP`*d7GKa80%8(x;^7siH@33?&*LnrU9`^muRqFalaQy?Oyn#yD&$pbY(!aU0 zN~Kzcbjb z21xezdNKcZVUExhyPSrZX)C$U7_of|rCSd6Yy{C&{Chh$5B);YqdTu)U%x;n-E*>F zXH%fs8jzptK%Kkbvyr=`aW%hjO*gSZ*TMA~SMeTLe@{)l3DSdT8LdtoNk~3pFS-2A z=;s{xsTzLIv*Tcyonx+Lj{whD>_Saqmi)xN8i`jDW;Ebck^RiJiiw7p?4=NvHw>^e zz6wRtyT)K+sI-pOXm7LB!e3aL<1FHO zf2Gc<48EZ@OWB^opPt}#2d3V^4?f`Op;tPx^^a~s@^~3gw8@Dpv!YQ85qZ>yUD2RY z3&k4C3?gkA*B%Q~JAmv|w%JdexP!0Vzzhb%nKfn?OJ_3=?QpOh#Y|75u*NkxLRV(l zE9RZX7yd|Zv0GeL9nNtns#N!zoI_@^DXlP>K_a=ki=IO1>9JMJ&%h2vv+c(2{KWMr zQ}vQ4>07ShB-iu<=-&2cMtY2D@4?>cWBoH+-%8e^Jw7ly_~?#yv*{=J+$m4oEQRq6 z7CXSRDPA=K&z+f)mFKL5-c_r*Mmnji%{LlKW?=)wUh_|k6(;6E1N*8^%O40m!&~D7 zWo?D8I4MNMPw8mO{ApQwRKzBtfzP?xt6+G;_n68F2(vp}_hZz-Zpz@4Z=t@Yd}OhH z#~1wp>LclYJc4?k0yUc#{^djo6+qeKN8iMPX*6^DG{S1O!J3YMc`aBvn;Bwi5y4Cc zKOa#qzd{%E^KCWk6$w-uNLQyrNowf7}JcBQaz{c)GQGJG$I>*%qcxtR#Ayl>6HL|it6Ee#!(Bq|8 zqMW(>pV(%qC)iDx>Zx_M-hS(sPz_jV{lRPtSyS;<*#za`Eh-hBLR-rVhcK zDp=a2L?&gJ!@C^3Y~yK$ybfSGoVnVkF}qq%zO7+~lZNDNTX=_<*C{@;Vtnt8<^H(S zS-t{Z&SS2Mp`bqv8{7ha+Me$n;r~0JmL6;PD{Rp{Lpl@tufpDcNOY`uU>Cx(LY&W3 za+NEoonN4ZKLUsE(A_Vof#1Q+^VG*1c+x+yHjP}D$R`OsXx3w2SD~nifJA(3=q#{2 zj3>@SOF%#L^nSKJ37(&F%r66AP}L>zoGB^K)UdQZXm;SKnbuU^vZg}QP&02CAZgl1 zzYN9yt~D>KchgPskm9gqXN8^hWs&OD|HyBuoo*l>58v1bPL(FVo(r4V0o&Tg zpX;Zy*B3uI8Sl6lgvNl@LS9qxuC+n%3vV|n_Lf@?{3b91_&eS<<_3C)nY$*!)kNKm z$YFlKntyn{!f)R5E8#%;Zk5I+KX>z>esZvPIQ(peb&Upt7_gY=Bem9B=d*7X+P4ui zBGzU0yr1!#ySzjphlz21A%>X+pSy$Xe6ZJyG7~^_1e_j(hU$jaJ&7$X>V|@72HFey zz{I`Ov+bPK2~gdG_0-&SV(cyOdxXDxz!lxWS3bq39Amq;s1Ytbd=JuJcPm(qLe;1@ zl14nurj_jh8S4D>Ss0Ebe}mQs%^|EfO|5~yQPe`gjl~)nst8Hsll)CKi^UsnwjqduCNL5`JZs{88tsE*Y-0tU^Jz3-zmwuRg|FS z^Ue<=n}Szw(CLA$8O+^`7ch6zDrRuniF*CfEsIrc33?B_kG!L>akh7mb@jmepmzj2 zyw9J%OR-E}jxmUBdowF|AL@zgEkx~Rp{=JL*04P~c`!WOgzDXZ?U+NKnBnN8lVErY zMqLDjGraEND>s6SW=ntI9H)QgJR+bs;8S6AOb@)}HuSUZNn6~FWL+81+k+x7GA3SVy!)dmcH9^ z;Ub*%&=S3CYi(uL*=(!gAe;45cv^ojZKMA9Ny#So}9Kmt74OAeOM z`<-a?bI^MN*4MCQZ&D^RU}{3Py~leo@;|B2D%Y`sKW7ouD`uCJsjtJ@Sr&^%U=Y?=0UAG7sBHZ1GB%Jcw<3 zVyoX|kIvMh_wj1cc+gVB82zxj6Ub1k0k3tGzvi_26#Vvs@oBO^dr;@=eQVqfwe*Od zNgC;?`zdxI)=ZD&8sm?*Q^zKh(&q`9pPoj={@*v%e9@>o1&F|m6Fm!wp8un%JGTuvayO< zEdJCl?J4c0F&Bk7m%eTrbWAv2FB2KM3?PvJw8X!c=tAkCzj)sFRsI#2r<~wlVEn=j zBY%?(3z)>)PRTt*5rv{!YZ0YX2IYig1$tBVJz>}sbkHL3+3M}}J_eiAfHm&Hdy00?=3Li&+jYVcHah1K}9V=EzQFJ#-WW*;LCdum8idE zJA7tWm^l|T_rR&`WI!r;gDAQVjcySfk>v;GK zm)-Eb4@ z?7N~8m4CoDLqoV3H^pef$T(^Y5BMpZ?n3?$W%B?``l^+}@lTp#W%V7L^)RQt|Ur>*K z;#{-y&q6>Cn78Dj#j0RX78@7_j{ksG2C@QaU}+-WAD|)bq5~eH zeeQEbA;g)%CsC&I>p6H| z!-%ElPA+%4V|Luf^C&t({bMq5%|0Z&sgF>0q88^jgLYuz|s7o;T0fj8b|Ckt{V3GF0>7I<%Y~cYq|B$m8Ml+h{ULX zAw@e`yznHBI0dF(MMs?X)nW?DsOG*p`1l75O~kJdkj})~e3WD{GC;cTR}`wJG1_MgsLjB(PNbyeIfr6T z7sIAK*vXCP)x+qWr*L)xzZO!H9C-Rk(( z9lYwgpE$bLU@`D)i^kngJ9TdOIGdcwSiEd2GG3Z1KzEZ;4}Zm-pP-em5Nl_kMrR?X ztPHR`+aG*qg4SGA&ne=Mliq3Hn!baLT>!uO z!|h+;{9KgmA^18C)SQqn*m@l(z31%!#}B~M4LJjHH@y$B!Rt^}hrP#qKjB>m-LK&6 z2K;sy=ce&aCsE(?d2U6|4s+F0GdpO`rBAWL@16L;8^kd!>C4-dEJ|H$<80aq9WqLN zu-NMJHwJGThk~CAQ`OH=3Tr+!{gZ9@`fVnt9=5M!x0Z{0s8Rgf>cpwo8fyPKnJaN-b62f=0~O-4=BE z!pEuLHwG^_oq2+l1(=1;+zTqF@r2)CX>WPAvAq4!GwawoGcm^#cLCOQF^qf%l-I)D zr69SQJnj}e=LPoo*1HRK&%ERzUy={p4Tevdzh5f(Dwg+KFJ;JO{;w~X?uVUsX$zW% z*Xzt(NRH7vWEwuxLo2N$zi@;o^h4}&OL{ysN7Y7Rg)h>gS_sUhVPi*OZ^wXQH@-K= zdyZyoOBI-Ym^!eVxaV{7d_PhHb5VyWQvV@5D^f2MclL#$1My+9eNrlcl{I|CNa6RI zrNY^edyT3NYTIdV*=p@!x<@KVHe6d|e*n>qY&8=EM^PWX!ls>br}Aqg+y0FmJ&W2|3A#tY_e~V+Dwuf#uX_Sy4||__ z2}3f6Bo9dw5-;QmHuo3r3D)-;?*&X9Pp!)BJ%K?-X-()xPIfQReRHxu>Bu!`%+w{& zJP4kX$R#vD!?Y&;Jde^%1$ydZt?cYxbg=H%RTs?L;7Oa2M;e4BU&S$%!GC~~h)+$= z^DmxBD8)#Q6^H-qBh% zc8v$;Pr&9e7<~o{SHa(5F#R~cF5){cdEa?|VzCclUtf6t;8*2MuW-EEevR4X=NSg! z4U&6Li5p#d04@Q~RZb{)tR$~+2+z3%WX5BUzQk*$;9)b1&TnAg0~|weWv+$obVF z?$E67HNdk7k%(F{rDKb54LNu(f~`%7Hqsr76=Oz%wni9LAkLhL5}E)%_k(H&ejTB# z-^VKM^|J!spjNko)B7;6J-#zNEvF4A>DgG{=4}5imh=MKoWKunpf)@~O-c#v1Jz@w zqYNQ;u-geka)&&F=f7Ze@3D3pzVsn}`91z^COL|~;aCcHJni$dX#J{=wrNAop%3xo zJaWB}FfTWAk!fy)ZnUT*AVOJ!jrbn5qyBC?*e-@_VOu}i(WtXt*ypXjZ`}cde|J-I zUN5*yt+=H}Vp%!VRS*8LJI8G4_cM`lG2RIyVJQ^#Ex=X3g^}^k(6wb|g|*IXcHo1J zq4J<&uT-rNSG%X$RMZ>!f|CUuQyfdHcIU=mQt^<~QAzME$3D#|{c4_i3Z!Ar#vpnCR;pEcGi7`Tc1gQj2JZyy|2kmQ~b~LwJ`Ev|wgxzYnI5XDI!JTKRZ(p$)t? ze#|tAu}T~gQ;n@+;(w7ftc-m^TKMQ)m})yAXZ65P4%TU0uQ0XWntv!2+V+)GoHEdz zX?u|Cj>5`T$L`hx*Q&6y5L~PXW2>>Gl%J*jnQQ(5F8)m$N+EE~=I0M$*s~`4Rsv0J zJ0Ay-X@w#`Y+I7~@pq{QCCl78Z)2>AsT9wr){*3eospV9Jp z$m}-4ZZ^hxwkP)JNA@QNJyzD@>pC$m<~-Nm0b8qBTKA_@-~M;0UmD-2aod#{BiM>P z`xE_4MIEVy3_rI9lE3WlcUy z!osS&icwKCtHqCKf~&k|XI*Vdu{p1<#GB*zru;!)UUPgj&w=Bo#2L3?(SEph9EGGl z2<@l`3B8{{^D6o8%kCX)=wDv^kk7E4tHHdux05!Gmsq{r?g_78$j6=+@+(&Q6tU}H z_~9>M>S@&PM0C?3EPEVmkHX9M;0oHh-{CXgpdD=`xa1}eR1k%#d$QG|-`L-@POl(V z?9Hr74s9&$X?uA>i@ zmA@XEL8K%-!aCwZ+j8uJ#42W2g@xET?(XO93s{R%j(ZN*XHZ2UIP3teS~ zjHP-Pp5fd%w<&BHj4JI3e$~kBM1hie738B1W=8pxWob>ASBmn=hNsQXng}>p#piM) z7!D*GGzdLA4jVh4*8q;Vh8B=Hu=D_>z8|f6m~!8TPn^nD139MS-NJ$uV6<9$*nZl} z7;+z#a}g!=5_?^R(IHjvWaa4h8tX-cT=2g4N{2i^1s}i{UxC4Yc*#P30^vcNU2W=5 z44z>a@2g?wCFTO_fR!DD^65h_y-;GyNA%;WNdKbGz&egR-*$5E-9hdMZ6z7egDKJV z$zbV2S_9u9;?zBcYs1kfbaF4+%e!#4n&;siG?T{Vl&1v#2ZP^wtUmcIvG8rk^kqPK z8sE%QYCFTquraLl-FPWBiqG*_V(iqq05^TU&eV#bHlj?+75i%6MatqHUD=Y4p%8mi6J;4_lrR&#C*TZ6K4@l=8Xk{f>XUfSO&4UZw9A zt&c4!*@=wn{nH(Tjs4#17m_YyFP?Wk|FRpq{26RrfyeEDjjxTSedcEIPLm7D2Ny%Z zW4gPRoP0-O(1cjnJLGI1V`twYI*cQ`@Pi}Is20srwACl0^&uWQ>T~Sve)2zswI{fE}Eqx1(n zL~r@gWN;?X#`&vLfWCp}&;rV5YJ5g0>L4jL_dYgNBbfW}zg6hbk{wQ$Wn^19(452Z z<`BjHff_3OA3RIIP|d1chn`?H|JO%TV4DgR7REY#3MoS`_@z&&8u2rMkCjjo`eskX zVqqxuDrYM@YrM90?D#O#W;KbRPeflg5=*%k1yTl-=J|NW;fGoft<(dl7%*%EC#9L{ z^4^@K&H3y~srDkj(+gWY5Ul2c=L8h3+9ucenfC>#&E?dSZTRQ<)QpyteFpDSd{lgT zmYwBuCu-v^CF}98o#5;tEbn-ZJRi;S1AVaSV1I8DD|A6u9i-0f#m?@-!ZyVw#9{-M z5g!%91Ej)sKStHmgX?|VS56q(r808}RrB-l@|SbSlIsrI9r@fqyJu4VxikNN8yj$o znCK}ACkrhMU*jL&$D__;Z8TOooP2&M#=54!2e+g(R3kyp;%^i1udmxb8^g|2*t*I@ zp=GeP;!mJE1CAMD#x1=IMLqw^Ok1kG%{mKxTQ7TUcL7iiQSptjU6|{)#%E`tMuj`X z&g5x6gkRY~Zyapv%d->Du6|odTk3uXmb9f5WBDdLJHoyJus05F3A4bJ*5?@TC+v#RT4C zKNr)Ty7DKv!jk5vSy)|UnueceAsMUs~k!*kBOK-At6wfJcN7_MUbJNoT z9!`5`36$1s#nw08$_`67KTVeFad?KO0XyN*TnCPO9`xda@<|ag~+;;P$*KQEo zKXRk6dB2fcKZr^hj3ul{TlF{e2wF;8$rDC8?4(cEQD#j&#*F?W(X*O+Zw@g`H7sX8 zxV9gi`UqaD=S40wd`a^8zrfU;WQ5)V?_r#2F?#tHr(UGQVl?spWvf4S;H4`K1tk7s z1}!S(U}$Ohna#&1KvejMTV^p|vrbrOxvdGXHO>V{YMma!S!={YF;jg{lo_%fxXL%^ z4m$D4QI%qh;9z$Kcs3)J9K~mUU!}@^_J*Cqz^}iLYd?NJ7fVeJeW*BV6COVES2rn2J~3@z;XEJET6mT^ zwS;F|ta54c@dcO(Ej^!2xq>Z3YIk7hb2rPsc#ftePUBE>(xx3o$qOGn#4^Lseh26p zeuikUmA2K>@Uty#iJ`0|(z$xKoRG5c>Km`V)tW;pJAL#EIW67E_@?=I#8Kqe=J>eu z1g%~$vNz8@@NhVvO<6J%zKueUOy)TUD>?-1=F^(8f|{@muc=Xg&Ctft_}ogwI5o); zrbJ~uq~G0qaxT^B(ViTQ(HFbbjrVq(@L`b1#dqE9_XtsY9ZGH{?H*GYC7%TEdXt!c z2l@1-^pj17cht-x4ah-Ma67`A7fxd4P&|xJ9D>bjLd?*eh@lN_kOSb%5VF%TyzhXO z4&1Mft|^R1tc6NijhFl$PxzR=YtK;z?AkAMl4o;SanVA?JqkBNN z!LF>u!(L{KpWGz>;@OuR{22JJ`KdGcr5<=bmA^d$oP?|}wl$_!ZHdqeVoKA%<|Sp5 z<$X;BS%hMH>tDoG-RCNqBSjYOw4d(sPFGmGOh7I-{99OgWU|u zYZ)wS=-y{8nI?Sdt^$3C32HGPO$eh$x}m*0z_xubtuMKOGxUbt2g@>3s+u>jESTm5 z%|EfGGq9u8cr^gg0q7l#tR0M}TtqAN2(o_7`Mm-Kq`BSNp=ug{=1l(mO&EHfSV?0Z zQlqJUhILoat}gZOGHoz#VuubzUf_S^boSaQqw-dPRjx%BtBY=5IbdE6{!ea?I)Zy+qh=&%t~!8<}@VI z+Khtig`U|C0~eriM`CH~p@T-l#v#~F^7e^HBi__rh?~EM#)k#ll^kr;lQ=<3$)XFkE)pw*F94!mG z>)|h_vwc5Qkor&drB7`J+Q7!3Py17&CSl`e;)R9ZFCh4gdY6%CDYf?nXYEoqPr*dB zgx1EZr>2*0R_afAZ2v-d{VB+Qt3KradyFDK(S_O+jR%wUOF-$G-!yw`2ns#JTKEKZ zR@m#QH9{=V!KRvQAF)xsQ%LKny@jdO1Zi8%^_CSh^D+XYGdb?N;8TZ)U@oXFK+lZu z73*ve9S&!wV`F>6#0nrg9t78rWm|}q-U0s8_`U*vTM2tr6^5q4!X_Zs63^R;>gY-a z{7-tie&%>stUB1Q7G%;Yk)?SHZL)>=M_0|(dyp`qz|BYrc-_exr%1ow_!Okd=c_(eXx1M;B$ZKsb*o+OxA-bY4rf<$hzxT z?NC(HP&D>&B99SR{a)@gMx#7|Yw58lPsq0)!1|^kr~e0jauR%wCi0A+zGXn=RwIA7 znA-mVyuJvpU*kE58WTfb56#ynW(ffyX2=EG=~H-UjUHNWTs1rueVD%$X4+1AR$Evd zG0z#;Sn*VfS6WE(g=t>52&ay_jaDc1hE?y$72vfJ_KgL_X`nQQ&nfuI37{PbSC^t$ z*MjA2w%SP!U?1DgWsCA4s9A)<_W5-=crx&AF|E@T&gN+|EK8ghD&#MU%EpCK}tfTL8L+9(j|?wbPLiUAOZ?X zNl7RujevllC@9AN_s;sxcm1CK%yZ|?oH^&r%zpQ~*1OhTdmsA16jaIp7`}q}xSi<> z8yUAwLZ8xlQd)6n2buM~M4Mk?TaOV*DUauq;Y@}WPlDG!OXgr6exefdD$>DEt(4oH zey{=^b%iME+W+D?fWFiQ3z7#6)Vd+tEG{wBj8%qG$X#KjlZcyoUko(QXs@+B+@?Mf zR%fdAOWQTJt#L9tHU+I$5G^u=5sEA1&6ktWSq(n3$O+5=$Kf#1{Hf;bwFA}JZ2yRC z>{gVMMw=I*VW+_5w6s7K@I=9TKj0e&!OY@dnF>$16Xxw>&6w+`n|zEgYyFRgDEq2d z#&+bVDuRSo$IJ{$T46L5_neV>xhB|BUH7~ZESyUJFBP$!^U2h0p+D4T|2kk@2F{k@ zc{5(M0Kq1(q;aJ3V+5I?IoR3baCjEq<2&s59_mV(V?&2wO|?ef98}mUaFuHQ4V7~P z>-!6FQs8ODmhISEd3VeDm8LJq|90mn%}>Alzj$`#JG{#G(`rs)pl+e1HCrm&%vb7t z;cb8BJ*9q(x5iH6q}XbV)dv}K#Z%KodZu*~bgXQ%R!`8Hg)g0Hj6|JB5l!ZAV^wiB7#w<6iK53#h1!F&_71*(v4PcA&E_ciwGF)eV0Hd-A~Ipyfjr>Q;n z@tI!|13m`JC$#G*`cF>uNo8_knk88sW);Wo#|6*gY)y>4DhF!1uAx>tk3$=E0;Qp- z+;og~RAuJ%ZZPQu&h3dtdSHhO(kJqPdVPMIu1eH|y|n^RcRp<#it0;NG2Tetb`LX- zmJkU&aGHYPJhB4ckd2>59Ce=2&(H9hr(o!xM57K2{f!L6wMfQrIzB_|qZK1tR2ppC zpaDLBp__6B}Ul#hbSpJ#4wa0LGAt^k=_Y6yWSKExCc5a(#q^-tW9VsM@ z=kl9kr_fZ!PuEub*(pvQ{4p7|^^AaQ1h3^-)w$p~6AZ`0yD~g3k7Ntxvt>J@j@!u@ zEW_S*#4csQ%2x2Ah%lEB(@iIPnvwNk{=_$)Mz?$eFAjj@A{0$i`mg54YQA#=*i@VU zm9SBnA|pKou&lZ+U|aZE9?RL7S4HrXACv9LgvBe2_1+ENQln1eyDQi}0rZ4qBaW(t zg|5$W#bAGb-qUq-zGnVyVQ|puPv5c5jqc~@8HwCzEXYA3l$W5o2-Iewz)v&&_W;hR z+AuDj^h*$1ikjQQ9s}T{#k>kTSX2L)jtCLGo$I%t+73!u zk773e=c8t;lP8*kZJhm6iFYB4tU zB5Ybgc4i1ntWV2peL!8oxPucNv6aeDWye#N2RU6mus;1fJ@4q6FL~I~ny8~6R&xij z=v`FM2DtS-?fVeKmeCt>VC7zm99;x#%kXQe!On~1^R9EucTPrP-I{K8R=W8f-F22a zzH7uh_nih<+GXS~;-Cq#k!jTGisQj&I9lg4`gJ!|Vdp?pE4)deuYkt`P{q=BL+G_L zQ3pfNQX!souq_4nZL*}oMOM^orZBZ<+BX(i*<`c7+C!+ACe|Kyj9J?7Y^Hrp^XfCK zrce0F-WtkrP>%`Fw?`TC|G|5L#@$Embt|a#0;TtfKO2DTK(x_Z?5lK8JEG3^aC9U7 zGlsTMjZrFk`8|5^`~2RLM2|07&2lU#?89@-99!m^Tpp^PZEONZ~7H5EW)@YYUu9hu-{?{<0PgTMP8- z(qHnSgbH)k0mL*(i5QbIKP(?u{>t}B$td=hp!qu<;2G*HAnT;{ZV%!gYIE)`M8xyS zNL575c4ymdl#%9OA7PJg_?s2sqgL6TNS;!wG-@TA0so6fM|6Vbt&gR}b#2yiU^$+@`d~Q~k2Vk9og{;!>x?D^(Ohs=vDB-0LanU0 z2A2H^AOCW?z^dWg+o4OE@Rx_UHMzT(=&}!eAsx214%R@c6XlLr30@ znw;ZdcszwYBOvggb=^|XvSOV!+8b(jYi-;1e;#^q4oTGmL%*%rOl9)`ZKGlXS( zL#|p6kV?{;@k#0PYrNF{1Niy9ry9D&#F#PU?=;pm9ppZOuLBq{)7Zv#s=3xvFR}v6 z2a_Qzfwf9UeDXCT(+TiyyRdZ!&?)oLAj?p%4Qb~FjBcy|&BicJDyA0}@(rTIl~}}^ zaApk(WgG7m!(x?+WFTvzd85e+#KEGbqwVv;$Qp1mHy&+_o73$8pX#GLI};BkbU$H_ z71-&<*z?@5{61c@Y9z{dNH!{)tChW$;cK_yJ+EW`?>hfdH?*3l_cpeqFP?J+=hX~| zDg6H!E7KERKF8+#>?Za8AqrgwdnfXF-9dB;mU%9EXbi797;Ln-)>l@xT)Y&ThDT^Q z^(wpxC;KzR^p0Vqz4d20Hq^F4)EFsF3R%;)#$k&*We>Df*Q3tjRCV`KZ*|MNPF2+z z@LT~Kzd-4ZC+{a!G>S~Z+u*mE5#$B%btU{fh(9e&1}GkRy}v7X z3o&B>6i^N7PZAR={Dtj&hm75uwDJ%%N;k4ghlxa|fTw1m{OXiN0o6u@Rv>>-j?C*L zMsPmCR!kvh_$}vK&$m0o^E>RTE92EB_BhDsnCAaB1v7lo5ImNsxeWog`W5r zW)CbnwQcG-W}7W$v5}TkXrhW_PY-&T{cF_YJflkBC_Z!p{&77Xas$}TA*&FBGTH%4 zRUfUpG*ee{WB16hFUO<3Ppd6M0bNDM>dHd(U}I;LiSlpTXtz0$96$psY&(46NFv3C zpsedAB*PCr$9I+jPsN}OP%|~~n^jRob%{pC5oM&Iw~Qs0&q4M*4mtUZov=(272#%Z+rALwhX$asm~qidD5=99Z%omYbHIK0BUyjuh% zw3RcShpAIJQfn-IP6kNV=9&#FE08Om#H$hXCRHnB#7^WOSCpFnLPs~v1`>X1W!*yr zO|96r5HDk-a5C#GT+EK@o$z?sS*ae~w5Q=KjD@eV35q{_~cTnRu=`i0&qqnT@BFQhgf?D`Go05p@W9rxPMnf$#lRvB#z&B&M8;ru%|O`YQa?YQ`t{1XUMSfx-2$ z2X%<0&(IG)L5CgXj918(M4Fq2l(efcQHTl^-9p}(ebp9wPy6UkT(iueWng7Zb(ApE zGgG{>q_LP=PZ2+Lv{bGs55G4C7yK{V<=7Wp4}M%K2ERQid~&RBybj9wgiPyXwDME*vmn-C>Ff|zOW|t zurZc+DB4z69-E35d5QnLMEo0%PPv1uK@J$)g}AXF&)YG-wjD9+SNLPC?X-k;Tud9b zV+>|4a~Y2kQ=G=%O(e=_g)&M{Rmez2J+d-FSImndyR!{;^H2~PmyUK$JrXAat84kBfv8meA9J(-$(0eRq&qR+YEMH zq*`Gnqk8LzJ7&WB8hFv?M6K8H=%@L#lKj$TSls$}=5cUz2)1?@sIEr2-6S@xfaTAH zr`!R8%IA#$T|lD0=e)1sF{|*+j?t%9V?A{JhT-&z&e-kl*ppguh{XepYMH=nOU+N$&`8%iUV+nv}>O9+q#FyPe9p zd(lGqvjHj7AqjQx^8_f~n*722qWc9R#^u ze79D3($=)SYVwv6(;Om}Oa&8P#l}y;SC%JJ^wgg7t6DW z{ky|}X8fvEsIPTAZbDmyH(gsb7BRDlhO0e>NQ-H94^^#cTiYI@YMxdo>72q{?A39K zO-v(cA8j>{syc-vw6;$V-Qk`gR#}4j`59dIgXck5nV9j+D6+FHv9p@}w*hW0qyMJ` zWz9_)M}A1NPsX4SzM%Jxr=2vXwG#fbHM;0L8Ye9+SB~sWUXZMUa?Q?TVJy6^xY&@E zT3SIq}oKsDAJUFfp+l71M z$W@T?!_$F$#%a)80OtAm)NFX}YE;~H0lE3iA?oOMfU}iQEf4tymx)GhIC*$K1Jw-I zh>%*Ke#X!*8gkA)pfZdeGYthcmG8U(n|cZRzLTDG0Q4u5H{J!pJMr7YVf8q^eQoe; z%rDjW-$_Oo9#fwk-pqr^P6`#{nLX2ULq{0uF1*7nVp)i;kh5HnP!03%hMVv+9jn(m zhoT%sDe|Va@<|plGF8Z!r1KK^C$OC(K<#r>?Aug4ze%jQ1)ZxpqBY(@wC)EmayZXF zi{u$5Q=MCgoONH6VK#RI)-Z;?krpd-3fs1Xo?8yYGQrObsGK^ehhDVFBJPvW64AVy z6yAO4pKQya}cAf#rM7hp*5iTf-J%bFxmzx)nQfx&RYTX_7OPt2hVYQ;%9v4 zE9kNpM7R&ou(x3A6s*U`NhrB3Q zd5pjAuyHOKpbxQs{Xq33qn+!>D$HQ4^8@~CgmgZtcPzQxlWqqh_OoPJ%Ys@FA`SK3 zf%M|Sk=%58xEW0=^vAMk_3wj33A1=Uh|jL+bfAq3V;^JO_+*J+cL&42S@5D5XR69K z4Di3IS}Vct&{`8YV880mhmxsV3Ud;}?H=f!u0$t0p3WGxxx2u`)HI{AS@7catSL%YUuCwikqVfvsw+$FN1KT-5PNO`&mU0;z3`FAz$gY@jD|^hIe$|8XJ?|9H?gYXlSa>eLrGqtb$a1@vVi*@ z;)Djo2FdW!uedY#(s!}6CCT6F>VQed&0Jk;F*#B+k@}anD^$;n@$j|Rz~}jA-?QM z6ttH3^CI=sDHvyXLOk>#jBg9)le)*~jUS?khSL*fVuK#?Yg*C6!keLHd@O?L0CHN5OM58uuT!Ev(h`7KY$EV^Bp+z%+rk1vX5GSU`>Cz71B>(9DXW zl7dQ8JYat;>=E)t2k75lN9F_Fq9ummSL4E!_SiLLh`yswHDuJP7?%5Oj;n$8sEA_B z2bKZYwt!O}*p}s95g%Lzi?D)-{v<8?4H??zoFgr<{{nPU0eF?qy@|yx2c9*s5QW&g zAkP&w)x(00f#VafBVRDuQVw-ql-zzl`os_5n1?Yy%{JE@9<8qGc!$WqHz2w_&u3lb z=#JRmtz?{^f^anf_CGh{m=ID+3nOh2yM&DRWm`hzLo7q~YH#%f?P(cyeZ0^Ue%hil z3qQrG8s%2)iMA;-rMXCX;Z$FT(RQ!6pVzO&Ou$RTp(mIzyMzkp7`)~#RBb=9K(C@@ zt9l(G*#&X+E#A*XZ15^ds1^RMb7a)y02MTuIeQ+EY6K?+!lKdq_Qz<&2WUozmi`{^ zbbwyo1gtV)J^P|Wo;t1Fbj(`%j;ga#-iKK5RPJY3V_o&J7@SIs zs-x=-DpTS9N_bub?>P`vGz(P}gI|4y4bXhd-Y~Q}-zO_=pMzd96keXeN}NG0+D{o3(5# zHhLxmgpO{)Mpy}1)3>(G-qoY_HbrY$1^G*PQDujuckE2oTg>Om8VgBb?h&oz!sfAh zgZrLW$bZJD%0n+Jv!gHICkIo9yB}01;5k2L6tpheHerpYp_PhLiK*+Nr1mz^9*fY6 zJz+vo9?NsajIcpgu^rj;zOZ!@D)BU&E_WHD5h)KNk1%E4rz?_ftPGrhkqtDjk z0hQ%l0h24z3o>yp1)~dM!RzB!590g2C*twQOEe>+v=c1cb7%H(O9%z8~T4uyo*$0XVC3Ni?1RM z{Tz*%j<#rucY7V?J;CoS1#MmPx*@&c6MUG)lTW+FQCXkhzrSbol7E@0o!5JgH(lza zaPzu5;a5)Zs0KDwv7G6-7ec2t0ND*(<+}@cg~yB(^}*Z4#ouXm+LXvRYA$qfS@3L2 z584Kj8VxN%&w2&y-)9^%CE3Bm;MSTx`wgop=kWjLSAWH~_?}*^m9$HFtMLR6`5im? zzG8hp7&;N#)78NIpY~S!3MDZq_P=%!7HWTOw|i)NL(D^LY;WVRtgF=q8PkQH;>@Jj zE1|AAE7DE6!m=s=GSYL&iMlJia=z=I@e=yk{ilp?YR#?F;5r|6?!rs%b(^7eYmwD$ z#bb56XJ_i)e<3IKEjG0;ar%$MbIoAWaQgpyD4?$V^#qAaj2+)2ZlFR5z3~y5`_k?O zMl@7E+XH`C3Pe|8`AVQHkC6|kfi*Zs%yflsu${`YuBbGh3{-q~9G`L=tvMeL){9o{ z&tq|ZMSK*%5$xb`Sh|c)`T(!yQCax}%g`Bim!scICMPt6Ja9nXsrGBnZ zL8SQ@g@~t*(wAW@9-~epsGC0u|6ii2o8d>~z1!gVW%C=T`Tyr; zn1y(Sn5w1qj$Vg&8_(<=?JuljJ*|+|7V*-&XIQ~!KGeLX-q)V8>dNtI;jKSdpRRD0xN%;UV195!q~FRE6|cdwAecn6l1z@P2qr`EyleeRZx zjO46_8(Xn^$^F4tfLg4Ca2-!K7R_{q5whXvogHNTV?e7Rw&7J&lj=N|lLbD50$q<4 zT#vs_hO*LiUh~q+J_E~hD6gNGZLc+L8(?SWxYwyj{2n|TG7q2$x#&goq<`qs8DMC6 zzo}o!&+k|ApHpp<-#daOdV(5$onNY|uRK`tvQ9KHQ0&bx)9cVDT6@bz+EyVbbcL(- zwpaF^Fczj}MPs*x`wL5D5Tu0kD5UjgzSwf{nebqLJ83w5b^Pa5tgS{_ek5136g-g>cA@FmY-<9?l?B(>9(hD-X zo9H30V(rVIt}+sF<;A{*xBv1|+k}JN^p0NHU04c7`>$=f+538wWwl(8_Obk}t(9Ol zS0gUkYG;tr)p(2Su&Q<5aca9&y*z#+{|Ten+36mS$pk%NHsoena15ixYZ&VsMC3Ue zR*vAewPZGQLt>ZS=)OLTU;aY8u-J*hzOIBbnm5!1u5KVh^EuH#dLoJUxW7)dWoyQS zM^pE@f{g7UvM!xy{W2)n_ux${My0R1#mGmk^={CYO1cGU{Z)*z|B4rXhp{=$5w97U z>-07w1Ff+5ZSi?K@X8PP75TAzQ^^%J;f(Kr-vE%7O4Hh3ePL5Q?%lD=FBrSu!kn_K zD7x%qw=PnD(3%n5wdB3dVr_qj_|I&9Lw}mTn!h*wRDKNg#mC9ZYc|vr5Y12TO@y}6 z6`f=86f6JlU0Vz%&=QLn!P`Qo)iOrmh-vO$YxB(HeSZdZRT6eWV9zcnWepC z_sWvlSdR+pgMHqBMV^2)ZUC;TNytRMNr(nNMbBBy>ghH3HBE@O?vu$#2mhDTYrn%n z-NN(K#?}t^`}%YJtNsE%z5hAAXcuc73#HffiT zm3pRqghZI>F?2&~D=iepD%wN56eIO#UQ^qIq3+7v$^s|CI>m)i9o>OmL%%tz{;Y$c z8T~yVc7iNlIT-jM_OB<*oPzfpPHT=r5w(S(ZxNFw^A>_qCE~opupkPhpi1=FSh*dv z=61a2cI@yO5Y3I^>;XqL*0GX0z?H=BpV9|9lbwo-B3ea0U_2Gfui~fId41fTaNrZK zuKzLd(kY@Otx(<_RCmGDb?BsknCg*N*e^!rBPI4^Dth}Vy`~=dgdSvXoAE8i;^hip zGdj}tx^kokr?P=@_NTmwIl3Y z#%Os<>jOeO<{QODKQPD2t3sbV3qKS4r%*xv&`$^8vF4JAp9eQJulHTh z?L?a{O;s2$8Dxgyw-%!?ccFJSq3;u;Bl6)rQ#0oD2T{c= z>W!N5>MQuth+d$U=}rtWipr5!@Y=7st_YY?G5Px$ zv~f8&QxIRblQFZIZf>+~JGU6I%xL13y;#)gZ21~*ItT8|p|>3-!cXA;fL_b(7eRyO z@-zEcVQB?FBj5fQBYEqv1e@Sb3D{W_zd4vZgsxYVihk3EKG(}BgRW7Az6t&3Hq{LS z_(m(S^IAcBFEQFpuae)>Z{WA}=lNUxBmN10x8IF+Sry54{*9LUm~$r~qAgAfCWE8l z&E<*yVo?+##xTQ7Rx;$HkTr~TOt?Lkl|oL)>U_dcx<_XgBQ>g`>oA3N3bMC8SmuGD zmz@P}cWUEn`Dy)~aN-Ai=uXD2w(|>CU~dDovvxRonimtef24;C&LYT_hH*mqT>{w@|e8GSql9&|C;g7@%f zT+7VOf!{4gKbnOi+Ca~l%R0F0@Sfk1g}jJ0d`gRdi}hH7Z9KvMWPS&%V-w7lYGpoR z&dC_`QG9nczpVoHTsf$!FjKQe^MS)jtp5%^eKZ-3@l+aV2KHHI9Tma{XQw}OMiu?( zWUc`HHDJkH*mCHxu%xEm`@^*@(iAx}SS3{db7E2I0XD z5Xm1TQaJ#s7h$K?D;Y%H*L2Vw#j}CacdsY+h~^x@Vqk-UUPcFU+#1)y^z$k%e02| zI6UTcc>0o`{EX=E2$|!asG{Y3n`LBh9^zwv@S^-I*p*g9#cNPt*YV|5Y3ur^qk+VT z>A`gfdRsLHi(zd8d_h+#8fIW$))LuHp#JtA(eDT3`J(+%{%n7T|JeV>e}*Eu=4T92 z1;_n$erdlQntrIel>V!FZ}BtZ|Db7BQs@~b+ALH;^n_Z7f_$ebRN*X4L)4AU;Ta57 z?QKlgYdzPwq=JOBn5moA9#PX^Uc5#HVEF-oW;K;|`+Tm!QpFj%$Aq2IxRl=N;=si{%C&M2XTjJ=k@4wU129;T;hwUh4X z`o_e(b@BdlsT)f~Zb38TqUk4hyo!EVBF~@wzx{vxLP72zZjc~|3Q`7Z{51Y&e7j!w zmniyhIefCNO%~n^6~j}uQW#lwT`1_4G68CRVQ6<9V>k;dJHqhNJEmdn`pLpyzEhUj z&Ld9x_)oL82~iD&;YV(_fmZ~NQOD28xJqxZn~i$yjl~;Elox}ZZ9}Wdi+&6zw8Hdq z7@E&Jj9N{`sxocBZ#1pc7@y^UQWPlF1DOW!VHgqMVsd#o8Ebk(=Cmd4S`Ta0k{m!8 z+PX5xW|r1<<9go`w-j)D;w6{ksW$OF>hV3M)3Z*HK~**IWsv)g%+V)!f$bnFT#FGW zmdEDS!;`wi70bB4i`8sHt>$Y)xxbOmDacrxu4z4<(d`8)AS4ZY6pdXOxD4cF}PT>NUgi6y$p z9~xVYO?s3SHcu#S33KC|SzjF|P6|<>W}LPjARNOZ%{t3_3Q<{M{kQXLtSk@NuKCwyzJmF^At19*@hHPdf zR7Z-470(3k-H0YB2|L~=ZkYpudGMLHj$F6n2wXe^vUyNK*NFeCqHr7W&6f~S-2vemXtzV$@3?t* zevCZrOnO){GJ_w$(BY`G5%iqKeAltgaAM&;jD2Usf{cOFEAgenu(; zpk>e@XdiUqf5qSidU~R_9>tZ~iN^Ei?!%k{Ome#DK;U$(DGxct) zHPunt!}hZ0A)4ktZC~Y!biDN&og+1IUn-b2%3baaL7#Ue%T<}!b0JD(5(?xbN_RCr zb2}~i0nfCe|4uOd5~jS4mzs;}PfXO&5)aZCjarjmsM$ukf=oMF%tjs+H)P~j*TQpd zBZ4`ES5?hlc`V;8v{FGlYdUWQ7VJakfZKx}bD8|iJ&@FzxjjL07m-soJmx;UsIJ1I zD>%$Y3H?HBl>?3RDSC7OIp?OtPcPt`=N=*YUCoGVQ{sy_#8h>OVV2N?YM`}lP!l~3 zwrUR673Zm&+8c-MNJ92rV_`#CKcOLU=_4=3zv(9rl3;5K1+_tRT<~u2DqL;hPw+Oo zhhZoA4*oP(F1#75ti6So*-dQ~mO{mz*?zH@g-3+@$090*ihZGvl%Caii>$8Hu0}~M zBbWedQIf3-oi*-tZwl(I8=0+|L|R+0Z+93q+E1&^LK*GH=B>iE?cjcl?PtNZ9pm;J zXs6%FiFP8UP8`v;HOZo;!K)O20hbxkyi0^K3Y|0%cHU*3n14_{dr(VLVf6(kAsP6x zWB~r8Zgw9diY49rM4MW@dJnmbAHa1VwstY!VKdp8a#-1OsG{5WfM)PBH3%Ld22D?9 zVKTK71>7X~!+-FQ{}2;>hE2$V#n|ukqqqD>El?tN2|j)c`A0>h?_njII5BQ=D#pKO z)Tan@K66rWGMzlbpYCFEj8px){v-bf|5Ma$jo^b|ey~1R9aIj6`qTO47wMr@@h!<= zgxOeOYPbj$^K9~vYIAW@TaBUmZ&=HE>Q8ZHXpObMd04Z`;W@+Y)=w-8Z)(}JZ(I;4 zhUz=u9C9CcWBk$nyYMr$f0-6jP4zKa>m;`C1WZ|sHabrW|3-UiZs;7mQwHxKG5KvW ze7!-lJzBLrSmvPbD;RpE^zFQ1bw>EJ_7Ml;_a7cqztl~UyD z1~D>{oPP5)Xr6+5C*kI0?7(zh-z5fZMMfhAT)*eDU&Zp@;r%Pr3;#;*YUHhT=kSUB zI9tC+reGlTVfp#=UD(65PJN=1yNt;^!F#5r4mTBkrZjlQMcEeP^8;@n5ojAS9@)^~ zZ5YA%lpI+GzaNO^hnww#Zoyl@qTpokF|P*uYq0~B-OBXaX!?wsSZhCFCDgRV@V9q$oO*}OtG=M9ROi$+0J1RN^R;u{z2`M& ztgohDi0s)z+9;X-3<#6KQ`cVE(ndU{o;XgKOVVRZW>8m$5SD?Y0B1moR@y;E*9_BAV5J#z9;6JLdF zK{WM1rKrly>#m}o)pTkyigKH3FNX-YIQmVq@(Vk2+_yYkg|Mc#8%y&BxvNhZ(d$M9 zQ4{>lKi*RRg`YEM91IS|2HnAQL9jV^CwPFb?#;MQl8B~?qQ|I;%Wi68wX|7RL&*3P zqNVqRsc;esp+^kuszsW{Nug+YAzK;2tgywN>IaHDb*&!Z8=qd9AC2%9(ftkgve&}z z`LVRLKrvghf}o_}5KKy>BYdcSkyv-7@&* z`$Qn$V;^*FmYdjy9a!EKSj+FwQ=8qh%&b|15_=!3yc@LD&sbL(ZBi4P|1-JxrrZnQ zksDLHQk5vA81wnAktLqQh{|*#+-21K)yK=^KpQbKN|T&pwx>(>e=L2@$LcGif5e?j zq;}6+;O7e(24&H;`adx^5S$J+2E~GIeh)9Ln;tIY!7^!OfdAe?j)gu@_!;M9d$m=p zvOL~@nP(X4eLWLHP3hx*PGzU*K4b2<|1` z<01C-2KT=ig-qfn^%L*`&&eD8OlzN^J%^$kk7L`O5szrbVRBli8Q-)I)^)r)2;00D z^!L#Es%D5L=BeZT#dKdQ27c8fv zwyRJ@)Z3lUx4MVQ9n1X!-{K%q@@=p_92q(3%jaf-_XR+)3hE{m5lA$aAUTTdZ!F_L zM%A~|o3guG(AQn*cgfu-Q2z*vv6XLi8H;fn&$^o`r_pW&6!kuDfd8w1+TY~+K_9H` z?%-gsKR6VO2^RXfyoV^NT<|mF^tyXk*u9Lx zzDHkfgDTtZ9H9c{67?n%$c*f#7Yrr~a?2TrbK#(9#M0 zpXoKHhy*)e>7%G9ijNn)h6l|BGwVcrXf*btDx)EZ$SK^!H|Ag#@MUHK7I3x3Oyur?HRQ;bIxGlYj9)ng1)TwgR0QmvM_4Ad|$8&sE?4h{V}1P``h}nqI8< z`!;QJ5*s^!%*!ie`-?k`+)Z9V&ePrR&2bv5S%Q!34VIewvJuoyk-O7)Wp}DtPmo(} zfLd7?v9&+aPmW?oKL*o&RDiW)-|u*x)SJRe2H$etB>s6uRuXHZD`6VmWpjmu_BIq_ZLb}xcVunVFT_V3X$T5^t1uC_HP)hp)Niy$Yms=y9P7`x2`mp|Dc7K6wxUprqmS>9QP{=NQSebKk$p<$ zU?HBlwf85p+_hHx7_9you0J#u{j|(0f&PAu&rF1F`we}T$G_`Ec~k|`uJy?@T_95+ zub7YQe??Ht50)9gu@Ix_IZ@e3++OH~4sJH8Dw^W?cM@S`1=AMpa`y+P9F;Iy`>#A! zxEJa?FE*>2f51;1#0jE;81ztI*!e6d7o_$txl>Sq#c98k{A#hzZib6c(9LY9P_!*( zJGE7~2q7_4_S6`rcP#6mXSSDosKv6j;+xKD#|S}FRkpf`@_q@(Y|dl+6Z?d&yor^& zgFXEh4tzuZkL#x(Ct87V?#g}@zX0q=1DYO8eF^%Vyz8`zR=KD`8}y+is*{P0OC~*m z--X(hGVFgBetwMI{19BX5$hZ#lH9;p>REi(XXwu7XqkfUIL@{jpS+#-2Z8f><`zvr z5vOH*dJ^B`eYUJ1Z_^ClS)cK+M^rY&r&@L*eXgF@8!nzAyI&N~af`9@>}2oCpowxs zas;I#kBz`HJ{Tu(`;to-N@P@q`ptVok!*e?v~Mxk8Xr_M`op>OkcN@i#N;vxP}7!}x`VQ`$TFuCpYgkU)?4hK^wR|8gXBR8;+Cwz zhTuYQ%-`&N26z$*itqRB|FQVLa+^4w3<@z;Db%W#vvdH>Py)uX0|A&1@g zDq?yQ_ap(!6!eGi7UE|1Qm=%m5Hgm@Rth!YC`>GB(YxAWk0HbDNU<`EMD<+9%cBZe zWrkEaFS{$2>bdenK1dX#g_SEmL!RXg#xMs^M^%98?|Y0WohOfS9hH(LiN!&*Fqxl1L@+sd%nOej(PN&Y!ZthE_-?t} zK4|jHAd?4sT$SHFk(m5TWeDT>xPEHkOhrnwr5o<3-!0!>WHR4ky&=O1CwXkhCcuwJ%wv3H@ zOh&i^7WDwiDh(J^Wen$xn+Ub5>Vs6Mvbg?UG_WG33V8HxL_^oTXz;8+ESl9D;qF8m z)#SSrhKUZ$6gzcgh5$_@pPJE)B6}RyEyE0ts@`?{rRLkb!3>D9?pW+pPweRD{EoM% z`evPN>TeJFw;0tf7^DcE_-%uM!3rO(?$$tADJzyJ(wY%)BKQagp=jJREX7B)bL>_< z5BId^!q>LR${OFyvYJ)4y>&jlZ%S9^v-8@c`hm|k()E{Bt&kXo<;9;S;jT5So1(-| zJAJUXQ;6OhQuS64uUHkYIN3Xm?K;a?o300xpV5@&STt(?Y5jUsK7T}Pm<3Opkho$W zdB5S*HM~znuVxMv$L~-H=w?LA&WdDvdVn?czuql(5jJrrUT_*Q=?#2gURrf4+4Lsl zjY?td^APFuXDmSZxX0+OGBEZRDia@*=h)<*a3?aFb3IZM@u`!KZ&(l{t1t?X0d|%} zH)TXC{X>LS1vYMU{$YD^?9eZaF|}nahJ3s#gUXrd{E7W-Og1YU^yQ#&+!VphwjkT(Vk=~0%Q^)F+kdYnL|NnYf zLo>|%3VEGT_E(jD;;_yyODs&ax>Oc?NCQ0E94E$oli0DNJC$f;K2;z$i9A*9>iIKR z6XR3{(!l>GjW)D^X6Trx50c97ZJQVtVjVuyu|m+)j%^h>Qb0ONxaxeNs*T4PwBnmEw=q!V zah1>4G4bhVnjN1C{^WC_8Liw3)9z8X;P{!n8|25zkUjqblzu{~)?hAVCo&0H;X^(8 zwpN<`91A^!Hfls@xmcauvf=QVa4GmbMHtIl=G$alw(@mWHqz9~^pZq#dO zW{2cu9P&dH(I4oUO!&Pd@F@os5Q^<{Vvlpc_($Y9x=}CD5Dj&nd_oeKxe|RGkhySS zYbrk*G17ae*7MXoU@@o*8^m7~{GqPRpmnNCustg}nfMf|Uj{rzMCwoWIHg^#>%x{| zc#+EVf-~+9UJM?lDu|Xt1-8IvKSlxMcXOkhn$TKW4O;8{gf~+)YJJ00co>>OQn-YE zP%IQuwx5m@4ti~Tl_j+(#JH=o*j@fsd+Hd)F4DN-q56U_P7v9u5pUJP6ro0Bfz!b) z2?IVLny*70O)kH&SJbUTed96rV=_7Q@Pm8so}bc}qwt3vP#25vSu;TNzSE6-`$R^z z3US;a+WtrPJoa-t)naK`Yk7zIl ztjdC~dkwFel(^|jBGHRPv)!qxtcowr2B*)Wp9}Im6JytPCFlL*0Oot6-6pj6Gp8CB zG~ll)pP3R)=ET011j+nhnv0z7R=!cA2*bv~$Yn&Y|I(XV^DCx1#n^9*yW6YgUuRS& zvwwrfBL1(;eT`xERbqbYYiQdf>}#{8X;f}%@z|C(RvB{PyQXx+sc=uTs5;6pvK}DJ z%#Rv+dRKcI#_Abn2c)3X3#5fKCn-_nFA=Xa_n|a)XD2a4DaJoKQ-SrnH`L$fFCr2> z33?5jY-CO5P({5HZF>+NYff!fbp8r_)+#Jee5!AAyD3nhe|Z`FP2NWQ;TY!ctS5_B zkrD0^WOMe=ZdaWQ@MbA7`$<+kTmWm%5=}nATaSv2o-TvS2beW_gUC1|+T;kU0etRh zbyi(bIVW|$`-o86dzZLQL@{>(?0x7}M0@w-FOSE3IC@`gd}ekSnwdV53rm{~?^!Z3 zf|e0{b#=K!ZaZ{+F0vt|sA^aOrqS+RqOaoUV_n7WFQ+E4a}0TAjni$Rx_2pKz7J7< ztxyh?X)&##t?~QtCQoLVnr#&pYI(D-de=CpZ9>8Pq~49S#J0^;ulYx9QLhk+;;+S? zieo}tWohLx)gv_bOzS8VrNwL0qHC!9uZkU9h`-FrsOUO>CV9T9UR!q_y>bjz=srrJ zzT1@E8K2ge0Fraa>$f8}kd@;nqeo{DvyAiJa$iR`OoW^B=*#2XcbIYal6sHRP7+3D z2BKp}6ZN%&NPB}Q#%=6q9WGmuRpgS2_$3Q^C@0$z@jcSR(wp?iqFCJ8 zsD@3B#?PLj@jIaL4>Jq-2WOqzn@FoQIjsx)Rc16Oj$4gr=P-!Zrsb0H-4*SJH^W7U z8nVVIG8GlECH1fy7&Xs;iza2GDXNjR7I{~8?z41OH(fLhK`iqJ9mY@k!@jKfR z#ZE_!zCkuUx0@ffF2fcNLow}gr(#oEV&#&+l`7c5xU}p?v`A&zZx^`b=3C^VntcXm z9KpBAgYxVQy4#!z z>1JU5VG1g|k`Q~Q0N3&nC6ph=ra%$tsyNALq>PMt=A^xL@C|=wG_5}obvu4#4OHGt zq8F|=!mRC_Ui z%=&7J;cHwJj)tbt*YWx@X4*)$FqQ_Aebu;&@<;(bup+IxnLKn4vhYdB(&oi-RrA|W zWxc?UAs62UZhcF?osAm2f&Q6F%lCnq^YArmdF+et{m^-z+`}=}=-z`>EyF&$u--L! z{M+4tw|kHL=_A_WEA+BfQY%7l%7~R-MStjq4XX-OB?Be#@+&l$}xxa_i~1DNH3g=r!@tw|=q zV{TXx)KF%sQBt!qUqjw&%LigYf&Z4cwp31MLyMm*{;LwXw)vjn-8&xub;dKIu#np>ZidrDYQ z5oW$kRz4-M;115Wj9#&xzVd_&MM|Pt&9KagI?;MGTu+`jr5tJ`52LPclCxVz?9d)0{{e*>?jwDd#ghC818{&UoCT<=Tfpe!akRnPm1 z(XWTZCM`Keo6<}#*c4N zu=j7F$1=NLW0N*BQmpl(($Wi*JKRZsk!2GHsUeYF(0Qp zqaI=HOK%@}GkBS;n!uu#RQ0ni{9-Nn|n-41L<7IW@2Q zoxaSAxDFRPGD?|~>`+~l(|XW9MT>t%KIaJQ{oSJ1XTiJ1;S(BS6LZq)DQWBZ)L|xM z_D?5l^fC56hVtBttzSn~e_?XBa{x^Co((0Ap+k-2;wPP;z=n zYjBJL(R@Tesfbw0@aVzHR8)bT=lgDSic-(nnqQ?=K-1FSTGA?==#@Y5dA+c`4_IGU z*9tDpF;VX3NPbk=cwKcfyqSMg>k27jtB?}D!dm~;>Uw5-2pxM@N9k3_T=7qP8qRio zmiVBjy-Y<(Gs)U2?o>8j8CJ)5qe3#K2h^KR2TGPgrpjCLNoZ9+q>QC z;Qhr|Rx$TJIe`0@cI*HUSj>rU&z@H zBd<0VMo-}RBoNgKx1XVQZ-ZDgbv=#It9{VCgHX@qSv`CRIq~hV?>%g78mbwRqHLdW zHI!{`2YS}OZXF`3D`a*xi*PyFrYgi(`^X^eWX$_2W4N8Y0`7V;3%@wIiI$s?o5+d> zPlGZ_ito&fXH8G^@i$}O8|jZ5oG7ZKM}b^1G)`Cg;WjMCXuk6VVy5zp`aIzGJSXQ- z8ZW#CE2B}W|2zIEY=o7NuxG|tp(&&cE4?E-D;)LQa5fuk{?U%sUOJ=2oU*Hy#nV3G zrfy=cDu|?qbghuYkLSj=yo@?_SgQJLT}ev*$E-r z@i2|4FKGsf9yNdEUW(?)MHd=JvaHjtsEYVOvZ#DGlS% zC~opsw?J+pkwkk`&|LBhKADB@nJw3VYU26+Q7bM<0&)4tfchFMzAykF>h|H zKv~9LSgjQ=u#R4J2~YAi_BJDyR#)8C)y}RGb$4NW`>LCUesz#fEAAaeKV_yxlhTR_ zcnoibkgy6FXt?S95FN9uhOLkhCb8%mOYPC@s8CeyNZd1PY?jr=!A(y&yrcBH&o~%n2trO8zJ|2< z%nb^gB(lM&>DK%0q zYeigS#?=hC_8k?COHmrq6{^>%4yFyU)2pc4S;ha_^o#hY*QUgBwaDNWBChDqnCCQi z3!gBZDy(%d46i6_xq7QuLhdG5lbfVpLzutrPGK` zS^ok#rxc8eC1raJly^0<^LNN3&!gAXV5ICi_3xR;{k=*yr=Y)txf>1P=s^Do{v(FZ ztxWxp=0G@n|MGax5^ysv9yB3dTJ}9VIKIF~Or&=X#$WUx=TVyX%eo$;t;wm$s7)`K z>wnC8L>Ii3?l^Ri##S^w70XXyWT=?GRNKd5C3Xp0;Ve!XB0@|^nLRd3Yf3AYyLMik zNqHbu!`soOnM^0ySZGp|YFf0#8pfV4Ql$~c-Gtt22lqzu>k`tBUH*Qcr?z6%gHrgP zb9l?eFmevRUF)xHM+dzVsX9-H_nhby0{aZq<}Rih{+fFY?byQA{3GSp?-Ny=!iv2h z8`qk%WkmyJj_9DLn3y~;v_IN(CHdGSWCiMgS`8laQs2^$XPNzIG6v01X`LA-`wl+N zWp3?l{OK3`O(L?G&DAz;lI8c9f&U&_eGl#bn}5o0=tY5G36xP~vLVXMYy3JDIofPg z^_6CRQAZ-*lf;+X(M2Aw<~fyEM_@7b{sFzJu|J8*lOLJ?&>-j>^zrw(!$480M452S zlD3=qNud!UXZ*75LQLC*i|{i)D@@F4D&wQd5+SC23@xc0p|4kly|V6lC2y)&#rlc# zP+}}gM=Z@b_oP>vk)fjGouxglqU27Id()cv3+b-|;nWpWL3--oPJu>N6v3}pqHkd1 z0nmLH`G!yKUR*2Z={C3i3$MxJ)(yA3%0HY1vM**}IJk&haok&LF)BU@CS zh>$hdQ7YvaO({TjDm8ZXF21o0Ro*#h&B3VcHAGE~P-(s4NhSXSvU(kfN3)}lCgIf^ zkqdgjH>yC7SVflkr8fc$KJ_1v5jpJF3cmId!^hfq&4T#N@^CeZ{-qj}7Q{m7y?pe! z{rHZLP{jG%qr^n7xvN9zjn0wziQWMr9Xybq3_Kny=%^%S{ycu5nln7Qr zOny>~wQbr@&-F?OStiypcNS+Fuf<>CX};5Vti6;!u>7LVtxr}@NXmajrK*0Z0}eNx zv{csp>qRp!HV;;80b>_y_|59gCCSWP$KSO zxEqXvKXl$8KiHM=wefh+{eHaQmj5Lq(Rux5*oT@#qzQ>SQ-Nwmp4a6wlTaZsk_coE zeRl(Tcn&K33AvGNZesj%U4JPvLDL1zgT>UyU!?+fkH5)nPW!12AUQ3ZD1wkZ2ti>b z&KaL%fyFm%5ACLnSjrlUd)i-7q#>n!#5$p=Y=Mr_UHIxfy_O}m?19i!eY~_#9PreY zaqE+Dy~k+3gW@OxFD8;Fb-cyy2Ihw?r1vkP{p(?a=hAyO6LEgb*zaZHM_s>R4*Gs5 zy&@Oy)n+z`R?pnU5%+ngHX~uJP*MFra26K%fOCiFV4I_LDLSKc%fZ`n@H`F?L>_Vl z6If{^4I>$kh(JyegFNE?J8HWa<0kFk8u|V!-(`HR-Bo~$`*6{TkcIKz+2X*S7jwj^ahr?3Ng=IkMB;_ zYdJnf>y~xGpZ8+!TR|#GyZhHcvo`hd%Y(~7syJ!m?DzY+<>7(Fd&<#-H$zf5iG_L$ zQ4EnVOofQyE~e^L$U$SW9xX4gsxPy>dKAvuuC3y?-SsI#RBJ4ihIy0SZfKC3j8HtF zZsQ#GZYQIR8DVKvbY^Gj>Z-U6;h?Vbr7X!xMnL9(>ORKFJ|IG?O%LhI$me*}%tgGW z@BK(SU8AC;99Lkz16sO@-)?kc6(aWK>{|pq*~w|lYPb2wreDN@za&HRK1VDf+W4Bv z>W>-6JOG*xi7)@95-A>es@BXn?uIh?+v|x3y~fyCGiK40W{kBr6%eb?FM08Y4Y?w~ zkHko6vCZ53kI0OC1wTJ!^_egHqtvV<@p6#mQYBFrHyOJ4Gb(AA;q87x58cQJEu*dI z{Jg}$r^$b=f!XDPp}~j2=fRm^Q{cymAE%a|hRT@~{A&3%^I?Xlp=KBvuR?^)!kUd0 zDrS*|sytzcdw7h_W<5b3Rr~549c3If4=euaro683j7OYO24(Y=JA_#7B2~6pmEbPX zz&u8~x{+xaM6@@NF+Z+gLVkK5`Pzwi%f;x^9q@7h;~=xxrgadWqG5O73x~S#=?9Of z`uUudNPh+0d9ZsWc5Ews;qAz(Llv+IS<%E*iFd!o0;{g4Gx1$5xOo@+K4GlnV=Al< z6APb#sgJ=kF_kXApmSbhe7z3U_YF{)hvDu&jH6xgI>Fy&p04venDt7=qo%i#yL=a4 zn+pGtmK^jT)QlIL2G!}jVuc}A)m-4E_dD>q6BQW8iNF7HqR3uk^mN7ZW#F0wO_4e% z&dkpP!PmicYWqG4{$PgLL+={ZRq1KNI4F>$_^t3}EpM$aPiQ*GurR(EYi)!?_SIrZ z;c4${-wj~+!Vj%-sP##= zkr!&}EpQhQqpl-n91Hr>(0;mlo38aVgKT*jEV1TZR>NWzVq_(SSKfV%xMd}Md^OcO znaGiM#R|L){>|ZMS2Af0$vUK?FJ#9)CPAAtCd%LHeu~e#24B9U9(N#7@BqfIcQS+J z5gxP;^*bG@{m6u+El3V>0jQo}gt;}dR!cC3Fv>sYMSCewau?i2R4FteQ#lsve3%}Q zjMDaN!`;OA`919Z8EO!cQ`6!w7B-og5?{dC z^jOMBpDIhyX^6;UyRvEXG3FZd94?q>|}Csc1Qdgn*f;!VYq9;60Pt+3kN4GTNN<&CJs_T*zU`|MY;G_Rt9 zThT9G5Z9(e(T*S%TnY1Iu*Ip|VqRe|`wI)Po>dZGPz7<0RSz;_AEv?Br*K!b`89|> zj-Yq*`3^5%eMw(4Fp6Wfr+xFM_4CfGOS!J8= zsXBNaFP*LLp?Tt!(A(LWBhr_V;?Y>SbFlL?zOx;?80A$%3r!@xJ4~DJ#rsuc1gvdj zoa+j4!3y|R5vF}bw!1P}h~3QR8HZx6iuzfEwf)wKOFpI^@y;T~x27=qH3-ZzW0m_8 z_0OhK`Vu*v{bb!6qM}FR1RSN@n9Yan5ey`Gm|sYD?cb>lFi$ekfd*)uRrv zx=szMCW^4-I_t5Gz!uME+e8rSLPWES=PR+dGpTQ1#jEw?0GBcf*qU6#Y`+(NbuBZ; zM&n!m^7{I1y_$^1z3*Okew!f3eZ}h+YX(XC&D{c$ zxmdHiCMxp}v|@SUo-0Ixdl@?!2s>Ajc}PJHs5sfu$$VA|<`L8;hp>XZilCoI;j;%| z71rV*|0KVch!KG7{w;Kv<1K?DtHF9dN;L^N1FfR!5wA?8u6Zm~w*~lrluTX`>R~HT zGarWviX7O`Hmp^<+TQ?LGhyXMEbeFAr@`BmAUf3_$$bX*c36T}h=Z?ZaI zr_lFV%Uir53=A)Al@=1ajK7AO#iDv{$Llyfv(Xe|yG1IN9~4t{)hN3rsG`q`DBK=g z4{0E^R)^r`U9#}XiM|PA72Os0o}g6@VV9>7nY_-Z%1rF$rifZSPCew$9Qz*F9HY`B zifXA6jI8Kd9kcPZ(}>S+V`uNv0}8^}FR`;ZVdr~r?+?0L4ZPia#x6Cl{{by|pBeU! zKc495He6{Bo(s{dXRx_1;mTWh(URabni+f#$QL!m6JA0e={lt!5pC&PAMxU%m-55W z4WPHl-wU=osBoVGN525u{&?F3+z(@`%Y$Ye{|LF0om7)NCJRxYIj5uPH-9mEZ64!v z?Z9&-{i7tzTn>^qf+xXIX51%;GsiFEYNmZUT2g*gbvt$wma?XH6MDLZdq6A9eT&b$giV{qI7%_*AZX=- z@#MCBYQet+#a3XlliwVdyvm=I#4ec16?ai%fW@H$t4KZ+jwja-7RuP_xB*QOe% z5?P2=AiIk3(rZp4ssWO~*4K&b<`GwnA=5ny1^smd&42Ka&lnra<~?9+W-j(`AKA9; zD9$B}4ZI-kdFoaI^UqLO+kzPp4M1)k^q3as=t zmX)MNVs(GS-rfv0_&wZ$uq!D@Y8*1QK0$0!dmEBwQH79M*YLG?X&A;bRL7XNwb)Yo z%Jyoz&L{<>_oZuXW|_{QaTVEQWdW0r8>&pp$A<%}8R<+&>uBb5d;0od*ptosnK6+E zL>1prZS^NMHW68ZC1m-IGb*B*gx{F$d6n^()mW$Hw7^1YL002u`=W;`(pS_AK0rU+ zr*0t|@4aA5VPH_7Mpho^h6X?MWz0IF2Ej6?LG$FO7`ng3ZtIwK=v+ci+g-B3== z(a%ZvhO@DPCzwrAA6?oDA72s-1~6MfD{a(72Ml6n;$dQ(xQwXPf~A-7rNik1=kb{1 z7;%|HPQvlO!n>>>-aU)o9!7SvAmeE*h?yHRMl+mG{>zQV4=nbhm?hYsIrdwKJwFRB z2KR%~amoaH-NF$xRpp`D+9%^r1D zW&WgpY;;>nN;i#qDr=jR?Fr$JW|JhLwLWoE!ODBAAMzbNyd@QsLI-$Tk*^bIlJbFt-)gsCr`8# zHQNtfFCdaB$yyBSu@9SAjWZu>OXeb1y$}CU!W)D}`_V1Rx>^&6S5gOEHLEOG8u6Z= z1|{Mg4@!CEXyLfnT5Ea3$gHLD$#4wqXlQW_U$eD_oET_GD|e??Le_X`?}?q#u*w+7 z!&+ugHs0*FwyQ5NN(QELU{5t{-*7OkL$+-nzi%YobP(;cjCLFYYKuXv47s0%a3+Db zpI?3)8+y>G058u)*fg0)5 z$Z|=A{C7T*sZZf%tTlAa;+n^lXSBVP2atvp=VVXyXgLG3#)h-dw;Yi%RD9MmSpj7n zwXcrO&IoiVMzdOxaqo=&SmmaqDtQR1HnVpbdvl(#+!@53uhTNy;P43dEq>>IP|Hf~ z$Zoh+6+d$VevYU0t5aWhgptKV)C6fB-?36+h$tlQlZxxv}RGOJ(+5gx}aK`cqb2!(Y$I&^-nS4qOtC0c+wBZJfz|0evi!@ zOa|BSekU)q9BXlbvG=9?KMlifqt_C9IjBvkg#Q?fZtsYX{eygMPO74^`H#pHYJJCl zL3}H7D6Zi>p1En!fMdBQp#o_X-2T&V9Smpfp>-(S+t}U5WdC+}v$1n=LDGvv3L!rY z6KicD`ro_u5i(M?LQ2?K1%jb(=;^sVGe4^5+TTW3OeKl?mVdW%=+S2;LVdC{e~^uT zpK+}+aPScfZNLa|3GWJd^`rQ_9Oq=-d}8;YbIi$uJ={*5HW=%) z7Hn!Wt};5}UAGf&s*3Xndwq|u-GFUAOnfteaqqEgO~I#?!COtF#XF-;A7E|IlWkLk z(iYpjmdckBD6eANvyiuGgYRri_ND^=yMSv;dQN$~=0db>FTQOR@cNm2>k54N$JABt zMyCy9G3IX*Mni+S7TwP0AtSN1Hiu$#@ zjBr)=p3}ScGM+RFR&6Jn(~>yzQDo*&cUM(#XJJ?!bksvyZVY3b!`&Fx?|H_mPaR-X zDk{c)A*XxMIfvhThUa{V4@`iKJw*hQn@mh&_`aGPOh)3O`xuOTMD$HK*G4#Yf-%rm zL=bT}Q&uq4Y`==2(>;=rOX*%_RJizzonGL-Y5{i`2LhrqY012TaKuAJ>kc7}e3%yJ4y-NqF(vc>J^dcgnh*&^6 zqN36iX#&6Z+54G)`2Kfa+h%8Hckj99Jmo(34t!5$mTD)Ir88q_ow?3p?D`d>1XbW{ z5Psk1bm<8zZ?PPLwx0_%*Y$80YS~FC&uxHS{I6Tw2^yQb#-+Kc_SK-NWw*CU2`h)meyqM06Y<^46??|TeCv0ai z{_j<+=?^>(WA%)Yy!RLD>2IZPl!sT<$jw*BGfl*s?L>^yj%yemM|tvmgK71jsJE<* z-CIa&PIo4wv%c^m7^Qely-IOLvb#D?=8_ym=aWoF zgxZt5{w8t~`J?fLX=vW4IG1I8K)HXX2VgUZam6AEe(HPnT{71(kgA2{*-J5PX7BL_Y0dnY`sL=zABg_2?PXxi3b~ ztAtjkV1YlQvc+Z;F2FO&8N?B$@M|>tEFZuAGe&FbP+u5N{%{|8r8`uYWoE^i-<@JM zHLkR$6gQQhu3a-K=wfO3C@vbl3I`$SzSg7Z1+t^Ax{9yTUzg=lSNHgCpD?kF_RNoO zn;%Snu{P3Ia}tlo6Ps5Ap)=&;zJM36P}-U3?Jdj4zC!M9C;6Z{Xx$BJbVq@hhrM&) z=Vxy$D6wC^+UGMS9Zbtz3_htEk7P*KZv3>B*yLO93v;x(uqNx zcas6!18;0vI+pJ)OsrcUMm3|KGzF7z_|^bs^#L8rK1}p8g`873y=MfyjV% z8qgfP)qm!o0xQtn%3iIlPygG6id3Utq`=%N{NnQTUtd;)>_?>ZIpc&kSzT@{c@v!n z@pHWQA|OAG45&jksR}ElWoDhbXl7~kC#yfvDQ*X2;e4@gS-nnWLIq<&Iysg9SP@qrL>%FC=^`gS$u5j^0&30{3c zYNn5&Vbx&bd1~NCkgxrZ+O4m7+|T^EY<2)GcZ4{t2%caCR%FZ0^&rvW1TcPz1ulUO zzQPLM#$Wn|qhDwA>1QfYc4L+H(pS=<1d;eMAE0u_nERI(Rv*HH(Oi;x*ynJRwixKu z08y<^oQz7gf~D=r;pC^9cO>;|fjkdouRQQRjdKO8mSIuf$BuWTHw?4KlFuKm zj9y7&l}XTE=Bgu_ETi#yl{r!$(Rq>TP@6T#&c!-w*%-sfL2u2+?$RhsMT(UL@@rj?HYtmS_|+9{b!F zCSS*ruc9RbsEimu?y4KnXhtH(b!hKA_Dv#k>xD}pI1e*T^ zd674ECp?8?_&krebz~f=A?GMrLEUHpzB|DF4ez`>zcz@zry8nwW-7kIH_pVrSWk~T zMYN~6T$;m@I=&(_ji$QH)T6ezSA(d*R9OOHAw-Qo>uxv9H1`_k6n651l)p8rx{0H* z)lz)r<16qx29lYb1Ty8}XAz>W09HUd!++gCYdpg1SwimiIx)v_+VD%NhwfN;Y18?% zU;uSqQT+exWRd>#dYTKcZYRJjkfXe%=f5S}o{OAeD7nKH)o)P(eSY!IiJOhjqib-y}`N<-*BF&`DGMrsOeDpWR z(Al#CICIB;me#l{WM5?_Ms0M+Lr*VHkALX(1BRmBq4s0Ofg7T=n&F{(u+;TZjTJQ5 z84l{XIAwTiSghBEorZ%3H}Op9>X`CxRc9s~Rr95Oqj%+jxiv@HQ%BO?8JSI;jT-1D z)=4`OWEzrv_W=tZlvC%4`iD%wcZ`eWr0uSOw^ z9?EDBpk*`%%t5_>=XpAi8xC?K(X1G9Z=vXUEAst)Vetf3RUPY$L{odh_!@XYLEdqV zUg&QzJQ~e6>&SP>FOA|^EJ)PE=S;)6k7m~_bAqU*uHwz}-3QD0@NXKHa|KqkBYK)b z9~p)nzX1n-z~@eeugP#c7O!X@+VKfJV39YQuS&kJ8{;0o+2v@JV0z&Ts>IXqj~3wDq_Ova<_BbW z_hUuBCEnbP-mZnIudJ5z)RKH6(2HCK=LvCV7H1#!FBD#uX6qls4?n|z{NOg-ImVb` z2pR9%C~-eL%2+ZMapb|XcsfwYBE}aXE(t?#TQi?*E8kt1XAMAPBtBM0v@;$gQivne zm+~?;)}0){L=rV+DT#_tQ|9~Pt! zWCl5#UhtL?=UZ%(7kU;IvsrH-GaP+o7h?2kAO1rW7AT$`kqcR6gWL6WRI$-q-?fZfOX%Ii4fUBQn~+?>qrg#nGe9;5ZxRSLZX=Q0r{W z5I#pO?tfN(evxLIE&^-Yon`GoLY>)O*5E_!}Qe?<&GHILdzNDB`KUBO`lhy@Z0y)coB#Z#QJzu#y+i z!l0wM>Jw?lS5y}TIYBE?M+y49Iy2dJ%14X z>#ueJ+BlE%8-0V3Cu)&8b4{U&BoZs+1FE%|Z?}<5!ZW}tuA_*%y{(<{7oO~_}4kT=~uVV&plugn z?a#I@JdVWIok(mm5{uf0XEXT4zmTE&lfL&1ukA3~N8tsOrq_8q=bfcQWm#y2uke1> z;C26wKJ~>nERX8cW|XFYr-qZku0nn-KWJv9eN!*eSc8wyFsKcVz~_#$ZkUP- zM{kfHXE$JcM0I0+RCb;q#;EH2#P{ySe#*n{35z@7`K;l0d|)T=tN{v|fNFOko|@>@ z@1b5i@8K2MQRuJO`6=X@)6*B8Vpk54-8jj=U%|Zl?s!naj0V;7 ztaK{cF)I)fAf*yPk-P(i2`Ub1>4K45ye#tpde#;05(Fk^~HP$l@jqMJaW8mZ@ zc=ZWeD^a^s*r`j7q7D44iKcGB|Cj(1n_^M@nGIDEq&4c=7*xW&IQ8cj|3t>O7UR+r zS+{i*n(`f*lESCj;x{FMdJmZ08f!a{&%}UeM^NsFmopp8dxH8vaNUQp9H9^Xf_}H6 z=lz4%v>xyJJ*uIaID>76JaGrUE0EY^I6WeRy@4@+llbf_Sm(2eXNptQ4y49S>Ze&O z?!_Qum}n4lt*71*Cv_19W*_s)jC~ru8jKBIrk^MxmG%l}Gs8lt%O}#26uso4av&Sy zR}-?3@(ct$nI{N`5RhpeLoNA?6*s1{h zoO0lq$gwxW&zfGpr9SGK7tSVvN+X_E@n(9yw)c>M3!~bgh373cH~|IUg10jhUv@6J zg)Z#f0rhN89|^)&)e3LB(2EaY<{)}nGBMFm9;XxA>_%BCU=B`)aFRyNq>tE8oXNB<@j#yVz_zT|L)6s`0A{razGB3&fh$BKACmSF+kp07)NK zXVDzMnXC+Pj+|Ex{@V?rm6<5cHD-jZz>DaO_jCvZf5i{_7p9&h`|~R{>kYQZm)?=r zxx=%H^n6wI_9g!8gzEMux3Zktp7Eet67IIdqK+Yg8DIy%qZZ)U2j6rVmNY%jn|d*h zC7#hLnOa-=KW5r?azd!3F5-Diwq_0^pBbG?sON0hI23k$g8v$f-P78&8vky{XNAHA zw09AH(O^8H&iGe@QP+?7t{eDuE$Go>80+rGu>$QstSfdKXCwdG;W*!rE172h%RgU6 zeryx^Y*TgAo?I__gWd*$rw1Q5H6QOHW_T(!HE0PDu~MjMi?EYcn(gLO+G zf1(oc8)pgZ{Ey6B3jL&vbB}MH$M;Xf|2<4pIl-HK9|h0Hqcjyz;AwDG$DN7wodoXv zU~)gapPeYn=XN$c+4>OgHVCGr5W5}Z-!{Q|eu|$omAMUH^Zq$J+q~pt&coPs#Gk4G zyTQ!Js;Jdow8$U3GX{ibcykBO;HQler**c$^>2w4u8~n_N`?It6m2>xyOvx)3`qNd zZY+I5l^~t*FuTFU`$R+A_-g}TRz^IcD#WBZyHO)rKN3Vk(9U!ARlM78sS?qOCL!dS zw}IPi`ob{!!3BEMeSXbya>!r7X`$K9P9Tz*gjMYYhJ#`8U>Mp3Pgi#0N3he18haSC z+Xbedpc1{QSGY|(1i8yvGB_LY z^Jfq#R7KIgX2#e`a9ag0f5W5um(kHj%ne+K_q3PolVPt`NqcPt@L%`SRxx1r3}h?e zX%-{yQ4h)M{EAlH1<_S%6Z(ED*tCXm#@2YzUlJ$Yvup4?m{*m#pJtE5L#x8?&PmLk z4|M&==LW#eZs1rR&b35A6Yxe3Q3W`I+|YcohymE?6^z;}#mi{~uII3bA7cT|!_v+m zHxCTkz{`bX5@wSzNC5Zl@O%=Mv^!Dg7xcOM*x(C{+1k)_zZC%O1~Rc-lbnfqR>@P<|+6uE5L9aed#>5Sfkg<;?_cYsjY0JWF?1iQ$iKs5zR4))b6DCF?>L+ceJL#VVERLP#&f1H|NNL0LgueCZ1%&q z{tch+Uw*4H;n|7&QvF+@B9vV0gq}glMb3Rk3M!-wBem6hR@~I*rME&&kJ42!Q}K)* zmGx8PV$?SSJu5Ra!|u^?SBc%4kS~2j#$YLEernycRKs3}9z2>JI)wk1&1*pxpuSgV z=Pvl}6PUNq3l%&H z{BB2d@Q>YryisO29pH3lk6)PUmd9#_;&SE;I2A#UYJwGQigJ_zt$bjx$7xQL^j>V; zPsF|l(anM6XdPz+u}x!8m|{oKL#xBhM_@Xe9?*q6QvyD3U3x@OSYMS_eL!^%?0d;C z*a_z^Lx{7CbiTqb^ktnMUndE_Y9=03dV3YNvn`tSoRKKa=03~Z;>~2F{y<9#kV`Q2 zJv8$FE-sn|6@#q7$3@P(W4M|6zIi6Z^vvAc%)B0jqw#UXI-iPeVw zJ_Vlq&Zw0i7Oex`Zyutbd+_F05d06M=YhuvJeNb*q&S}Epuem_qX&{>c)|Of$UNMF zgCmG+PhdOq!R)$tN%8!SU^qqWPF}&Eh_NW^5#1){sm(~`R+J@@PwgQan`Ecu6I$KE z4;4tFA1va#rgQBEmaN~;f2x3@gu(cc;2BGFa|L_fk(s}5n4##)JgAFU#{AAdRy3`W zmLsj9FJ`q@GCOq|7BnOIsb9hW6g*x`-sK!of~s#7FQ~1}#jsDv8CJUftrS%6xoGK? zQC5A1jbNNQ2rHj$p+*l!< z3pEmNQPmo=X$OrQWu-43B%5%7%=}@-&&p$~F42ZdVMJaq%}0w*MrZ$k6CSvh&v^>w zx4h$@uZaE%5CIiHy}EGQ1fNQRSSY!J0@&1Hc)EV%7*4_Ly^IG`b7sRbji(f21Xh(J z&B357w^6+6$11wvo?r2=I-=;G@V#B}$AnxXGQIWrJ*w&K1NTSqZDZ*l1G!(yZ`;BV zgZS1k9y_7;Ng#cST+?o{j%hvrI2oCz_{0hHggGzqE86lKdg1|h#&_6=-VVc8E5_%J zg6CZ)zh{lJ%3h1c6(plz=3)vJU5suTgv3LGj$WJRW}EOZ95j3Cb9!ccS{=jqv&OHL zuDWB~W~@aF)!3_!<6%}*6>L>FBPNHbUZ28m-H+EA2q#*=&PDL(Q~LZ?e58S>ZEITd z5&T@qKU;_;8AxwkgnexX?r-sXWprx zB08KN-;@Zz;`K(n3!S;QJR^_2@H75Kw+pfg^i*11`dFXwmH=28i%(O9-w?s`(e_Bz z{<`6e!W()`3^@c4a_Kapp>*<&4A z(30q*u;&$?P(IHa?C29R?fJ1i5&W}Us7`Ml*HdHF7hQTtwDcu)Ia?U#>%gx(0GlPA0m7X19i`3+dkQcHaT$MeAicc>?c4{iRwEg0K}TzXEyN$Hg~iob zk$$&ZJ3&Ex=-%WJ44x*Vt2I*1(e>#}XhZ|Dd1JWkWmKph|MEj3 z^7YjF_)ra$A1t2YWBh{ucY+*4WAY=4NyC|I--8(_o9L?=?QM(NWMSQ*7K}2?1JA>j zKeHodpiA3eXJLHTl4KU%&^so=qm%d^_tC3SzpiR9h`go-aYI;6FlWBl|WyXf?*`6k0sCH zi-ldnXDhO04!DlRDym-eeOT8T_8up{eAVg3yza8heyG9yOPYVA6HeYZn5wWa>}M%v zZyX`^T!*(Y1^;0jHh(>%x&F=s)(Obx#Z#-cyKGYX>LP3mQbJ8OQ&(-#EA!gqhP1^z zGboG4sa~vJ>2pHRRQ~B*ZFAR55T07EcOcF_d6Mp|B^j38ynbD_r^S5l`A|#C33Nc|IrW!;IBBl=r8}q)@){KFf=tPW^ zg;ZpseT4hFqbqt>xaLA5doTi4l74**MO59^ZT^1|vT!9BWqC@j$Dc80jkh??F8)_u z{?k&_HWvT)u~i3u=04*ti^=iM!zUgG#>$vZWJSsq-nrQYL1Q1|Wo592weWbxk}*h2 zP0_z7_(1PSN;SNl1~6_6iqM4-wR-Svq?3$B|HCI!h)zes;2N-~9V*@eJ#ESJa4cd5 zsv2TgrzQfs`wIRI1)0^vEz6WcU?r+B6!UXN02S$g~EL->C^t>Y#zuQOjE7U$0_CClg&9!_u||s}aPYC9!?a zn3ek+KQJpJy@g=ZcQE7`p2Io3rU?Atp`fY!!dPwSYCbV||{oopTi*DqPV)$RbV~dONJyr3hntZ0ME*=i6q>@-|;t*gsFX|Yh({$>WRJ}-n#B&t_>M~pQVS-Gj|)B%N~i3L$7t?Aa3 z9BMSJ-ilG}N^HpsPjaJ^jd=DMR;MZ}ZLY${>j9#_Sp(^_rSTNvY4@hI*8n>$`>kQG zKfrS$>)GT(xvPDf@@IPvS=uUc4 z4d)wvV>ymgf^Te(+79MB`*XDAc3EZ+cjr77fy^vh$+`-|sDSr}sX-pw$xh!n!uUdN zG|SJqNuOSe+W&{OnT8^z1?^KWRcqIFGMVN1(; zKhp-!W->EPYIN4R>wlB%G>%9sbRZq7tIA^D&$bq2D#97e<5q z6m+>Oo=y^RPa^DObuiW~8tv)E9N*k9^@?)@zj`R_e9O$#4;fDhq%XcA*Smn=QRe2^N& z>imyWRu8<86ugU9^oMB1!|HOagfHvkG=xdl7=c-hKlK=Ysx`-N0*@MSw5qhq5$sVQ z%B5VY)=(HpAIQUqVg?irDRkdsIbLnVdb3J}14b0-7VhG!8qO1e=et>QF4}i%nuR zqB*Rn5W{SS3V20loQe1gyT~#{v!<3R6PW{w&sLHA;vxD?HhVEqTPFH;71*iu3$%Xx zyLbvmA?jL4J*xG!&Ai9Q{&z{mUFaE1^(fvc?__2(7^dntLeuq+&2wL@cXdWlw%O&t zqB(OXt1xoa29=71l_g=Fp4ah%+7MyhK@sy{XM3=> zvQqaV}we?{qO@&JZ03Xz}Dpdj=%Gni@xztnt!VUf!|DW+kTVXeW`fNAg+ z()x@+$>8hauWdrq_(tNTn~e~&g}GM4$V0^Vr?sEDiYTmG1@urOiFNUT%JRG{`jQ9V zHXp4eJ+{%?zFgz&C*%0*1)!s4@RrgrZv8o(b+M=Q9VV3Ctz`YzCFzO5-t7)d1fGv-I-Aqt!|=H(;2B5oEz7~S7aY}m zmVRh+2j1<(N=8jl+i2z)1%u}VR#Qm8$F1iX<1|AJ>QHIs0pGIJg}xzwFdjT((J_Bi z=(QA{*sUCGs@X`Io&E0mnnFvs7*AG=ls{webl-XRwdnyyU-eu!GkT)6g^cnVW(svh zqK4-hThZBM3t-8$LQQ$vqYW)z0@Ui@{Z|0Ne0V`6v8dS@mrO^0OpD6QrB4s1H4BnM z7-2=(-Kfm?5BqYEzQ2-)@CZ@QE5^m|*u$(G#HEd>3{r0{NY7Bdpt|#%?-~!jbIFuP zqoC1P$C*S*7F_I#FI34n1WWIe!8l9w(fRu_qR^DmFLDo4E@Gv7Po{I&>x0 z$vlabxW(%^DCkM_wg$SZxi6jQeeKvkn7y0hFU{xICt@R}aIE*~7o69V^ANtEN-)tg zmX*Th!O)S+^6W>2*l#-5Z%J*g9wJ-KF zh8)fvy9B?k0W3>PmaUAJk2#5x)8GL;VI=D{S%zZZwimschbqnhhaGsYoFj$*bqz-B z!OH9+O6vmR*ZCQrg7-qKYYL+!`lPB8{)Tb#iR$s0Nz|Q8qcv*4q(O|w+~%E$Sg8Kq zZ~qe?>J717L0Er+Blf|EF7EYZw7N-K5K$CUfJg(rrxk7b9OVnluf@*rTH7_1d7AnmBxqpd|?!lM) zi+tU`V0xG9BbdAvJQtx|KawwCrZ!dYKM{k?Mt6GAVs&Z9Z-_vf*_+69-nB=<$x1{# z1<>WUi5C2bz&6qW0*IKxMdtRb0pqYXS*~yvz=cS&g)h9Mf3m= z?hDs@5-TxY>m-obyX{1R*m(FknHinq;pj?Mn>q}hqwJxKxb$K@v1GQVu*zRBYv#UT z?Xr*g^>g_rml$)}!1)iA&GDzr-(Anx@XXDw>Xkv*@Y3*27|BNJVzz5PZ4o;SA61E< z488a$D=I6j${`)utVeCuP{@iuG?1L_Lpu;3Bt0>l=Jcro`Z?Qv2f?rC!B-f){FZ0e zP{ku~bUp3ZkQoqD$>i2Y6<>HWvC86yp-6N1I$ERc5ON3Kp}&8CPY#fL1w)&n zj4^ortB5jJGIn@?3{D@=?!c;hTK#7&=Q4jt_2wmFf{pm3zo5OVVOR}(oj}x08L412 zx)un%BwooxrRHZuI18|42f%X(hz^2(F);aiJHok*rff!uFObEZ1A+^%)X9wU6h~!L zFY*_*F(WuF2E}o#)i{*Z;67mW#<89W&Jyyz&z*j(V!gw&2#m*hHTN;|j^FUf%dEb6 z&Urx}Tg(_lR-%>ci<_&jshA2agR+aKtgG2ykJ4)0tFO5H)&BC0^l08S z=LnIXg(|mOAgGx;U%<6J@NYksQD>-`i>fZ79aCuK-1Z)_@3D-4 zE@SQ~Wpk2G+=WORwGl|%@lYKu)?|5U^rK%*3ock_3q?PoJ zJs_5eG0ZPnuWu24Mgl(BVYsssWmi@7ajd~JG*q+8l>M;Z!&LyCD)m5emeW|<|0?yO-@(uKsBmwMKii#k zaNA=^=X-XcyIJv19A#Q;ip*z zF*As|7Z*Em&8Vud6O*L8x)=pEuT%Fnywo1*5wewfG?9y|X!kL4)dPO=4S@bac%ljg8xBx=>3Jis)@Op_Q3?1i^Jl<1`u zG4)1PZ`1h0Z8Cu`t=u4bi2fn(W;RFCoLOJI*t*_Pl%~#dZ&o0jmVRJMe-BapScXXO zJ$vvAr|LyCJ(gO=PTbGpx{n;vPRqf=ykmuv z?|X=6u^4n7+GWT-jK^|jamw2_iIsAoi&>~i?}pd=0kxc?S&!lgwOD^*TT7z9s_0w^ zH>>j9)v%rM=xq+-(M4njLy3EK5HYpl)`@+elj&Q?uj}TGFNeX;IrP3E_~fJb)$Oqf z(cHG6q7PWX^BA`KHL+(k*3E52PN)qL=zP}79f0zNdVKlbKb;NO%@t$;zd>&|vu@)C zEbAgzItNsT;}Pfc_&5)-J3c5=cF@R9yS|%G5K69U8YIOum!EpnR(I6eWt!1xS9MJk zqxTHL!cm`51S2IDvYAob^x#>7>X6R(5r^;%H{dsH!`oQ}8#mzbcP364f@K_qwd!oE zW+B)+9@2%Lev1*#Ik53E^(DEUu4*a81GZ61oro%hppN{RKYKMpnb^MnwFWzO@t|CX_rv1A3EY zZ$F3qJ+KIM@RGOE3#d~7+q8~6Io0-0;8&02pG<`N17T)7UUzfw?2c8vWB0({{y>E=ppmSgKEmsbZd98&-;?I*MVX ztF`iQWly!2F!rO?WR=wzg_5Gq_p)#-tuP)Y_M|5(1FEW#%4k#=uLG&I%#2F*u>S!u zo$s*@j2wh7TME4$$(X}h_}PVuhmv^CTBE8H7;9d~OsfN28A{&a7}jvO^T58ui1#O~ zP8DO{1chB770MnT;Q7qKGJb=Pbp>^PMnBj=e=12dnclt&j`E4>p}neTXaVAF;r0xo zqH_4pPw=JhbBs|$ESk?f*K12P))`9{K0o)BsleWXtfuC4!=n{A?;{@2n$oXZZP4mGK z<#650y9z6u)b2veT#d%+xlvsqY!ug6SRF-{QaGCYfnm5ZMM6)}i?Gxfi)?IGu0^SZ zsZSe@M4?8}uSe6nJHbZfz}pZTR42-70G_3pgPDW;vjvhF@H44qrrtT2mElwHfRd=u(pW>ron6NVJ z6rM(7%@*^HSg6<9TlYd(dl`nC{JhCAXivSTwHdXS!BqUsh&BW;hF1gxwI)nAe8EJX zw?Ug!pHmhTi&0IPi_CXsTCy-B*0-&z)+I)ykr-;d`1~IFQWSB~1X{f`p64=q4e$PgKl_Lr@V|Iz zdx%+fV+Eqng=~ELLuQ{U?^hkg?SgmJo%L*M!OhO-wZ?-W8~Nsz~A2Rr*K`FQ!Z@<_6CO~q5KZBR1WX)rQO)pK19OARvO zoX`^Hy6HXL%xgVYe#nf5N_)jxQ}ZW&`oW_7M3F_vorQp61FlhIewy;C3LFT4k=cn% zd{H`wTUN#zuA`AhsR2wP%heGql>-js|MQ06crA~yu zO;7~hP?$4TVeS-lw(Xo^3ZLL7RY`11$|e#hC9E}*xU!SP2{db{Vz z;Zw?Ii07rfkx>nynZ?`gSwYmj2v38dwis-Ml#nrx?z;wCsj=BlkLkS6WjD32;izIx zy;81=AcpT|L*ZJhERJ zt&-Ym4P5tPd|P?1!bFd*MjH0X?=k9YEUmCKQH#q+y)XRb9l4RHVYKY3%TU8paVrlP zyoYrvN4~lo8J_AOnUB$vQg#3_<_j!VR`ATkd=g)DH;w%rOezR}KcRN7AXzS*6-XXH zPVbosdsBlk0R0sEj53(<%?1NyIdb8Ds0n*pS8y zDq}@k!^phwvI(QEI@4exOq>9c6NqVsl1$L0gTlByU$^XIVkhk5cI(2sB`efdwlYtK82(lQ;4d>jL$QIjN%qD2y3yEb768aBVjoh#r+ozf5M6oetgS$`w^pNc^OwpL+mmeY*&*T z`T|7vb2|f9zx6yuaaV%#BTqq}Og^_6ZJA_u_aZ4gm3Mo0JX?GdCI&Y#PY4(dmVOF1 zVPkN4S8Yu{kUu1gsn2Uav#0AF>9dMoROhF6mG3J=4Nze?S%hli74UlMg*Z-GV%dghYA<4wxy%gh0UtM@zuno^ z0pF++Ua-#On~3N0h)CySY^vt9b>K+D!0WnYa#PI);7FTFNL zF-Ma28WxMG%1g<=^#g~aR%O&i=aDXis%G)(sxR?fP7uusjzwToF%U1tv$WKLJtkso zYcFEVFF*YuCpm)vEM-X)HW~zngHSN%X5B+}XgpQq@{BZQ9#7SFFYKqh(+2isJfL7^ zS>#5Ur?Srin46vmcQA~6NG|yTKJ5~ouf-Rthh{vWCgut=8viDL;e+1Zv$EhV)uozu zgfj%6Xdy937hWY1v#6G$7WzAd_gcfn13a6{=+*)}q{-wE);ssG&ri_)-^gct2%fii z{MgE8XYh`_EhO$-foJu(JsjfFI57~e+rPNn=+?Uaw7L3Te4~9d?B=zC31za5O zB#_6QhQHH?Ye%f+L1y;vXV&$0a9v34U^8bDR`W}0*$&{Ve@;eYJHMJ48;tY#F={f8 z{M0DWoJ0O+hGz{?=X~_`Ffr#Y@(I__+;2S@K{J<6WuLD-gB>5c5v`q@f2vwAUs^wP z{djMK^R6ypleq{H;bW9kuY{suuJLT7(L&ff$|f5;&7Q{Ano2_LpO!t9_tO|pQ)Ws9 z!OlQ%D}l1fZszvZ>nQJC44YaTKGh)8R~?LXzH6;tT9JCN8uW?WjJM^$3YP}6@;t^< zH-45`O{Y=EeXy=Qcvs=wIO;pQTiJ;)S5hOO6)81uU>WvzIV<0c!BPEG%}N-CV-cnSv!g48VQxI+T(EQ~47p~dpg!}GZ-D1gY{D7(-!`J9+<4X>;@`H#x)vf%na6E2I;(RKPJyfQ$qju5o>x4_ z@Pz_=O8V6CY47vBr?lt<7_=LK*tE>4DxMlpr3p2>Ta&-<>Hy2$Dsp{~zK zv*o{3=rCHZSRdN46*4P**ZQQ_0Mykd5C()Op!+8$^$J9(b~IR@Y2EK|XDL zKJo-QyJ-X2FF#t{#Dl5viitRcsxUN6bukmS4BiGc!(KhtetOTa&!8`@)-&^IVJwcD zEqbo(pZGb_%7dPj_u9|=prutO0{PE*@aAig_Y1*VMN^Yr5_@Xl-{!@3`PvJ}xmN=# z%||W@Gh=z(691?gdA}O?y`kv1)?b}Zi`B#5+5yj|(ek4>@)0o9_*w_lwmng76BKy^ z`PE2oE@1_p?MC!;2l<3ueCkU^T|Vdee6mNY(d!M2iq8hqvs6EvCz`21-+O_N=8tu# zhC)A}uH-G_maXCGWPI60ctw+mQYXRIH{d(m{uRsl8Q#@d^j7C;+RF8zwVGP)&S-RN ztgJs{EfX2h9!urPFrIxtB)W=Gvz?&2!E+sczVMXeOdXYcMw1;{L>p+G)Lh&&Vy3*j zdl3re<}x)^IStCX7e?mhzUyMHXxN22`BB-je zL#1G6MYyTe3xn~5!r|`kw0RY5s2_gsa*zlk0#Uv%8(dU&AQt2*fKEf~XmND50=yeT zjB?jn4@OJzb&9ht({z|z7w!(yxGQQ~hlu7UeA^`AlfBgYTp~W*2##k!Yzo%%GE9AI zXLkQ-9V02Sw>(T7NdHl}noWbA=(0NE?{IAu5tvYkakF4I%4vVSzPqRRCB?^3i zk(K|5zRrW5` z**-aa3i(v?N#j$;^Ci`{S-jlHM0+ZGtI-elV%pwiqT!=K&Y&r@3>pSWmwyH^Hv^%4 z%%18gicRDp>AA7Y@|=9=N10Ln)mB*$Q(mYFyevYS>sk#Q8?wC>)>11$w}O*8qtPoX z3)b&3_Hnv*bR`rfRs@q^W~ogg@@P)ZNY=C-<7dUmFEmDlrQIj+9}h9oI*8d7zQm1 zrgcqKymDn)72IGWOjFq>6?I=3EOoD|_A>hlS>1$_PJJL82ELTMXn2&>wDDo$!Lr5ThI+ z_SCwLS9msutZf5$c!3tqh|iPGS;6Z_^!^^Q{{&z6Bq+|tr%EKpxR@SxfctH1y+MSU z4@DS??VLokxf@L9apt3=&MmSdXF+nm7soHPVj-W{2EvW0w<*bJ+b`(#Yi5q7XM8)F zTE5E67#vURG6J35L5@LZ^S$HA#5vI)dTRL;_qpO^v1@qkr)E0H7gB~uY%&+Mzrn&q z&9GCdDa;HXUEEy^g|gl;K9SJXc&EWy?@3|hD+zIZMjo%CPd{|;bE`H?tc<4C0M%mX ztY&fr)5n{`niepmJI?~~hOW?3xmY{l0C-F!U-JR=LuEmz4)@Kh0J64`@G_KKY#Z2F z3vAybBCQOr&Ef80boV}f&^C}bNbFexPBZ#(5w%T0>%SuowK*TkDvl+FE@1qoJG#DV%9@EBQ5dxMLjvU z`VM@f@hI<3^!6WexLJK-$qub>9J?azs7PKuXx9H9KZS|fT~`+^J-S!k_U>VLr*{m- z22E+IvIZ`a>I0@Hm|miz=$X7HRp)2Lf4NBCtcUfijK@|F!!oQLJxO3RkS586uhU?#rKSKbvJPlE3lm{^R8ksnaPZ{h4~sav^#MLa?k;7#oQm+U1A6;C&rCLj)tM6*6K}YunQ^g}fN{>QP`8^>nzRM!Z zm)3}@*lA)4$-HhSdg!kGI$$U*eerV++4j%|YVQ6dt z&}xK@)M$1#uOCnYMU7`1tTj9hgS##9l4_&Ei-`=Dz)u@*=qen^oVMqTb$nW*s0 zKwhy3^+;Nu^%Q>4ZoHz;@PcAc^`XpOTSBJjxxI$I@FPmO9BvTmNgzafMwzG2iA1*5a{^_YJaUKjQ;wi{ccM8`9W{#;e${nONZ~xRisu?M9R_3lU`^Hamj2vomV<1-{T0 zc=`cao1Utl^;GL^LxG#XtY!FH{XlLJsLn-Ub(Y^0;;j|*m_fY$5F7`>R^_GUTKzf4 z>rIf{Oos0yD=EC^q_saI*3_DyyU~SB=)(qj$QtjM>kWFP!33 z{?+CT+ta=4CHLUI7A(ERILj>T=Y7vZDo$t7n|*0X!yKLKMlI`J4BHH+w1=y!!Y*~I z!Cgvf_Axwk?W=l#xM(b{$t9Ri=pCcA${TA$E!5K4l`Dgz8T+h^^45Tz?Le{|c2sL~ zH>Ij_57w^|x%u^|S}+LaL{-xByKBJEJm_vVwlzgpQ{ZKJ{#_LqTiR=1lWE}?7}O0b z+W=qkJ1p1&`odr`sBf*@=y@Z2vEuZd<{@#mvN>svq(L#_Y69YChgD%FPc5Ef+hzqvz&g9u3|mHqrZHpinnfGc|kQ_5@+6 zdIila6GJo5D(SG5iU4#b&Wb3j&Y%#^wISO>U}`7Y`5gSrijBF7#j1~glb?U!#}WMb zri#Ry8vSex=0C%o3g~Q3Y^g?Ea^k@j;?@kST8lQG3U3dvz!%DkmtP4C z8{ySPaj(&iFs{Y1oCoJIeCI%X#5btvJk+=t@05e1 zA$Uo_#O^aG~}^GG;CCWGA3@+o|W)c^#XPozmHIr1{Z| zq7U(Alp@JOjRdQ)@Ng_+aIJaW4IGE@xQL^V;JtxdKVa1EsTD{S?-8#r^cA%WcbUDo z9ZzTiy=f+WN^4%dkL^s)=tCI2wj4buA2&Z<{lq$~_p!NGIKm0$9#utkD}!bO@(cs1 z{u@Ak;Wp1YI?P4Jvo)Dp&05hJ0n*Zs-HU4xg`0a7uG((&)!kE=N>dGrVxDU?^~`0n z-q&8*rkgp2wrVuMm)3Y==}d36uwlvxRRG79;2G|%2~)PE1=)b3s8UlR{y%Ax&R9xC z&szH-BU+mirELJpI~fnY4xStElZxOs_riS^^K=OVWFqE$IrQdKIMTK%Gqcxk}|ki zxVje?36mi*hzcvAX0AfTFj)C_dB%EewivxN&kYZCc9qm)nSLQGwAx7y9uug;(dtaf z5S8Fx)#l$d!yAeM;}+xi3vCxYNO_MHKqvcc1dYYte{8N$rh;QBLm^a`VBH?3yOLYxM(&k?^~fT5R| z73hnvTa16Ek}UQTzAY*<-JyHPXS*yr7`WkT0#G$i=-F+=P+x0p^u(Gz@cJ zi)9|~N3@Tt&{9?xTZ5teB7H_Nspgrf!o);1vfjS@ih-~y$XnT`s=k2#>1`;8>fBzM ztKw%%rLxhsZRx>V=-VOSR|V^+Jdhv!RK-aP>IXCuQwT1mv6tfcKD9RB&6K0BOe7>&FCase-`lSC()6+9EawifY{=Aq;wn)wo>fLQL3r%RXhaXZqPO-5^6NvG*%agW*@@mU*g^Q# z{ZQlO^txMCM(k!Mdf^kQBev2bA7L3T;2ou7Y;C7=49lx?{CtMyKA_e*h?U^p^90}( zHKh7>E-U1w*ePg{#;JssJlh=fb>Zq>gop5R@i6R@PP)(ZzRO2(Rj=H!6Qii^XSJt3 zCBIjZu8wM+Y2_2GllmUkC<{0>^Lj&?FB}^q2ObwNx?K4m?NU1GR*wUA=aA7)(om zk3(Qx67P;CLh6QvoCJ0=tS$7HrDWp|IQP+*N%VmPyx~at#59homCTya*XqLmJE;G9 zZ0R|?q#M>eM&c3}jak5W+W}^l?qO|{-xwJ!#W|QBGxie1YK<*n=uwCDA>n5hw92eB zo*qOqdT(C9ymtmIgPy_7@K0}wi>Wry#ma0mI&2hIC<|kKUTB-#f*5T)XT#D=;5i8Y zwk@2}Ip4GrT6H+4a}PD)8bmu+Aulu*uEk+n-dOdBA=bgxX|TZ$1WI}Hvm@|_)?y74 zQ0>Bar-x{#GDMKe85w_LwL!BhP=A>$W>S3+L9NFU@;m8Z;0dRj&v2j4j5!S_a=mVC zWzN_vGPYCso^5tMC(+&uM$O@33s6lYx{C8gEAvs*5cn7kLLI;}29$?@awOdC&Awyt z^M+f8>_d!at|Uh^&>jyfqxjSWJ~4#|br*hMA`x#adcKc7dJ4Z+h%V-~h4`};`G@6X zeKmi47rOf`3{A(XRnM`c74VIM$?Fbv0`0a~8&xJKr;-h3YNSP$)V;U}3K4S=r*sj{ z#*U`G(l&QLeNvdpUJ7|(Xr7s4YEMNeVyjeGV*=Uu_ZhKnAz-OB;_Gp1O#7=Ep#!J{ zk+offovA|GzqJa2STQ1pacr4S%a-I{L<2j7ou{9>vep`XQHnMjQ3Y+zggRNrjKL>m9MsAT8_+zUm?Rys@Y1 z1HxEal>rpy@~PAC?K$x=o?8v!r0RppgJ~^pRlv0cXf^=XyLgJ{sd^4%WI`Hj<0m%4 z*VzsSdh>5`puAJ847^+2>IySwqmhH*;S@3v#j$>cx!1bVWytAO;PcIiKC}w^6DypN z$Wrz>XE(ill(UmQ#p=X(Lo?xME57e<@N8%QLe{4e7{#Hub-ai*2UBToM{v=|O*HCI z2i7IP(j=^FC*BYC9Os;|*YaDta)cP}*JC|C14D;zOX4?N^6JepV$+Re zn&wz(7-q;egOCsudgjrfu6=YIAtwxlq;BqK#8Dya$1ez`!m27f ztWArTg;6>yn8rP|#%wSi?>^A7(PKZdfFsc4ef02#p!ty6$p^H{aI&ds!7I!@49efr z7CQgyO7gL_(9FW#y0V2|7B&V%gt&P#C3;(5v{ECcWbOVGADAFkE`SN>MB%ii^e%vh#D)#$51&@fBS#Y8Ep ztHb()xtd(O*)3~tOu#dzJr`dn%4_vHgJ~o_QFHv- za4?JlolYPafltWq&?27 zwrOcctuvm(%aH6Kl*&(GA$}Q-r6Ol=H1~#&+QZ#jTr>#llfuo^l&C5}sHzW$r(&gi zTiI=8G4jwBAE7X&vLqOm)}h^1c~Xtsm*()@C42q?8=Huh7P8Cme{Weyu+a}LX)T}} zj4nU5%7erMRBxeO(RpJZV~j-STGc3dW;mFM_%09omZ8t+%qc~^-dAy=ktJk;G~c>E zjEv{Idl9)zXT+*4x?S73L$+okTnxtc_2n7|p5dU`8jM5OmIyzidEOSR+JJ2n_80-; z-5EETK(2qW-Q0=u1bG_RHF+I{Ki?SZv6X+kiCXHrc(WVf}Ff>dwpAjQXo=AR=@okMV>$R+{6hSlXyEC^yg_BQO-4Mr&UgXbbL;(vo)6>MQWm?i&7mAT46MBv@Dv34-CGmmo_h7D#* z1@O?kQO)Si%V)}S)w=E#z_u>mSPLI185|pOgwc$ZC7|}FscKF}-xo4Qb^z?Rdou|` zK~vsLd)luOmn}I`Nthp9jW4FE7qeI3O$H-lJS(5+C`mbtntvAO2L*`(GJWOolm9M5STib88D}v zpULx|qB<#om^M4uX_Zo)XIW#BX4J}G5P2_#nTAsaOY>ZB>a}h{P8V~pN5f;!|F>PA zG5g9^DmNj;H5moeNIlOMyxWe48G8rVAFc7c+(?SRdOp9mhFL7EkB(XaSzju~Uz%{Al+Zt2AD- z&YkiCMW_n46^KvUuq75tx`Nuwx1jKY)rC61N_a*2ocZwjJRA%MrS5n#&ER2A;*)UN zU;b)G@KcS;0BmUk7~2YLBSAU@#wO#z{=j^QSM-b%WEbXe>=f`EfVK{Sk*neGe2!F! z?T5(~b>x_1h)fy3Ve~UA{%w2Kr7HrSGrcpOniGpof~9-O9)3(TdI_|v+MO7cFX+Wm z9;Vjf*V;qx&d+|An+98hTk7*v{uTeXic6+cx)B&JFia$?Ot zvI-Dy#-VX7y%>amYdx?m0E?c{o?kPnHHU26Gg?qHh6eF|VLQOfu^4P>3_j^W?B4*Z zE|nVPS<^|CA&s%Ah0xj;oH4?e{R^|d&YPooFlouJSHu6+O71PexEV*8PL$KbK7|f8 zM32)j=d+lz5NrE6(U9`(swnA>mc}qblZa|I!ftj!V@HB;d$0%s%`o`d3@%2%wJ`Si z*WSepq<@%eT7mr=!|FtikVH;!A-D|!ebtOsM~MgHTXmp6_9gzDW(QEKR2+Y(7BhtF z!_jE$Xap?n#YzoZh({;j6MgJ>oMPlDH998isg-XvXHfHLwdUo!7o(g)L+I*a7-{fx z-xWrNmwF}-$Mv4{DHE-j^>8%SX>is0tis&*N15@q3(!+b;Gx7|#dKC_p{knON{l*W zgE6PDD*n`bT%%P6kqgUDBr<}1giJ8(8i=xvMqeA-v#mjPeti5FRN(0R@UpJH9Knyr zQfO;&6kO-}Eo}b*XX}AtS*-G4j@6#~evEStgOA_gIolxpA=Mv?VDP6P6AhAW!L17j z^hRatV<(e&-NH&Bv(c3Zv_8mcG`%g@XtrV>_;%cyOCEg&D-Y+k3$XVxS-ls#Qx}ArWGrwhwL}#*Tii!tfKhtA7OJR@8!nQKt=}%0V9tCLZ^@9eo?>ufDOBsO!K<3fr`w@o5%{2;z%_;Y2rzvgY`fC_E!e*?SX2a?HXs&6 zT+$s>hQY!n_8Pp>nf#)xc5#$+JX$*lJUf7S9DA!$xCz*H;1iwsTsS%$O$0WR8pF)Y zA`PNS)DPWlh2~b`I*9o(fy{X7i(j;j3eeN|{#CG8zHmf&1bIWUpc-RIoo_Fs)cWF{ z;b$tk=9!S!v($?)*8aj#NE#lyTQt_1$-C8zfU5RSmQ;JIE^UbALGyakszO0?2ecwa z6bO`{HIHLms^JSQ#cTPVN~*$mzDfW=Y`S#@lr zFf0Lb4f#|Zyxl@DPnNlw*G_jQo7)Rd_#nQJazay3gkD&+Bq~1ka=XR2_J44#DhPFA zR5dGJPZAi`0kx9Xb%|5TqoWH!r2~6)gl{qUIaREC_7i54jimj%*c~`RBxuK= z+WkPYAtSJ=nFzz$#)D)mM-66sTcXw(XweI7XfQK^(=q!Yk=#Nt=9PwUUl*3Pqvm=J z8KY_T7{=)Momx)1z%MShGQ+2WoQUH zqwsE9^G+R@)*5t&G4i#9Xt6zrCOIMWl5ntU58fJa8wxM0foL~A-yS8dLA;{*#v$B3 zwMJ6I^cOP+TQDcMBJ=n2dTnVxY-c%;?8PzL;O(Y!^5PAZ0XfYQG_9MBaVD)i@b1|i z3}(VmS6$4#kaJlnM3foOqp&mns}Pj$YHASlN+=rdM_iPbq>4WE16BSi&zO(C)EUHb z!JrsCo!KyA7QRgioU22dzr;T{k6${3x`AZID8|8!1XyvB@rdsjIn9D?)LGwdk-_zV zLUrdZ^&ta5PqPcPHj3u$7YCVbwH*U=++0nAeffO=t~k?$MfDI`%A_? z`@>J$xj`@7jL#F}MN?+zro4Vuz=dylSA?#!m{M!f+tN=rM zqrSDlvlzb7Fji)`!7uxeUZ%A))tV*(lsbw*Hm#d_(QBi$E`|nC!#jhi-ZA*Pm@B`o zdOabh3KoN|!Po39-IZUInLWj4>8{p(YK(S$X=&WD6*`)XMU3M<80~vb)}#;7XIZT4 zY3$o;Y*ss3>mu3o*NhoHv~s}OuHdtb9OyNxDXQ5L?ggXMS@33G^AoGFht_E;Z3p3J z1z}OMfoTx)CdiTVeO-x6CXw%*L{B6hFfx~{kM8w>-j9XpA!JL|%^WxmJPT4Y+FrlhDS;3W(}K%`MH0>KMH7%G8?4tM0Dpxjgx$qPb^&ZL%Q zUXEkdWOa@;Iw@0)IgOUbmsuSf8>cC)&ZNhjnKDarn$G*Pp0i%~C!8PJ`^9GOwf0_X z@8|P;KHtmpeV(OQMXS|_okBn@?A<(sgsYx=R@A&UTcot+eL_|KkXWfBiJ#slgsI+V z_6Tw17*!jgcWZ{3uI}JZTl^M}(;qb)N6V{PVKSDkyL|>7YGWK?01VqkP0d}@inJ4l z_a>qU<~|hueaA@fTjW``fx8cE^aZazWchlMi@yeI!(8R<$7fSGavZPX?6G)AUs{21 za|u>cE7Jag+ShH2t#lIcHe0MT1wTg-)u(Z$-i*AodS#;?pmufsV)EK0o)Zg0Rlo&k;(9D4@b z&f+-#vX0m`vnyCv6J}0AasBavGT`fA=Nr~m&v0!htCsQJUid-E%k-p;#S*o=s*yDY z>fMBe?z)+0T^7}NNZRLdRhVk44RVTC41Pk@^b&)n*(ZLgKEc$uC`P)K{&gn^r_ujA zsVKQb=Ln|dLy0pq8+s3|xR2~@yzA4vj}MxUm3+zSg&*ukB(V?0s&FHS3XuQQx&@TJ zC)&`w!s{GObAKaHWMwKwf#M{3N-78qgt>29-SEHK@xEF>^xx6igRIiFmv*YAXZ;ah z=x^jOHlu4P*zFQ*ToSm2Fyb1;_f?#k3znJO=d(8frY6B%jgjVp+!af!xTS;U(`4&> zowf9$PpFzHpeICeoEFYfhR?j*jZ!K=vK-Bh0oAXq{mf(Ow~Io|$b1YdzPe&3~aLJcXwD zoNTLJ3v*$qy+#)dlQnD6%%Ra-uiw%Bz2MbAa_j-bAJ>WPf5Rxs9VqBsRQ>#nIe7bN zgJ1KTFT$7>S}vN1rx$IVhh=@3`#w3i(eH!Qr5^?P$I*(n@h~rgX&W|n6>YZyU6j8PfpyG4>0(gGd0^6r+P0&i z_hVUg)zK7GbQkY=(|(l^F3rTRgJTy^fp9##HSE6|G*!*8iC$2M`c%^s#Of;gW(LRo zoE-EG))y)i5wr4_1q9!~4*cG;u|F$Mdn z>P0`sP2R<_c0-3l!8eat@V<5u5!z8~+)Vf|f?QWRF=0BEr-oKpfQR%0@y!wIR(i!X z6g3MzhN8T>*6(DFJr_&tFo$IT3XqIPyM@~6PT1LrKl=undkp3M3+LR)jItZHNr%2yFbBFHbpTT@&SfCm#xX8j7@m1aw9hJ6wA zzhu0CX8K+M&njVPDL#~Hl2+m!B{A3OS@4X)ex|b`!*Db=mHSlIOgUknvvWbY4=9H? z-|}6CfSi=_4%$)if}RW2o3D=K;VA43mU@@rr?wf7R-DvL*vYFkafp_X~CH zH~1>gCzVjmud4JCXosHU+`G9*=Hj7LkugwhLNIx`k6__qJf8NQa~DE)tMD=Cn#_+G9n&`PQGTqc7}B_zrvgIV%&bran#OhfVAvFT*-Gnn zTD+S0uLXT;BVt)cULlRRzd!k%M^U2N$nbp6EX|#ad#Zle4^A(nSC5A+8cWWgrPGM% zf3OCkuQ^1nn!gZ+*JcLqb@=)`tG}JLL+nN>%#ITOX3&Qm)O8AHo(C?&`8H7?RF5xS$1iyeWFE1i zQ26s?tQKM&j*+wM!&zIwGm>{U@jr}jy^^D(;1%WZycWIHRn9}<=N8UAn9R_4BG&>& zSyG5ng7J_p@;!Ck(o1%h^LMHmlFyUE|pvn!--#2qW)qcq*=X zHpM!YHigKZ#0X@QxITK4!nfFV~Du zDXzvjqJ~zf4wOPP1vgjLWy!OKzDn(Dfv^J1me1NkZK-vF6 zeZ;#&e2()4qbkp#2@~+QMxbx|sJK31_nMy ze5ei0hQ0TKj%xL`GRFB4+fP~_GiP}(-cS^u$m27M@!nQrBl7v~X;_a^tY;Hy^HYAw zAxl?%9)fQ>1!l%`pG6#74qJmjGY$VX4X?Mu-oj@C{;yq?Z_{<=mA#Srs)oJmCRXaE z|K{#t>)~bIVKCJ@g`BLY&@|T6AgZ3DDASC*=q%=4;;)$vr7GIPRuW!_R)BrN#j+I~ ztH|0^GTu=SKNq2mjc{QIS^KN-AOThc@>}izO<(w}T<8dntSZS)qSavHlbQHGrJ$-= zc!lt?3g%Z6-7Z0eo5>hH4EJ-GrMnGV`x}^k+Io@v!T(T^`v#Wo1uKZrY=`;vwS4LW zdlKxZK_7e=6TgdbxK8>~IA^~B9S-907qt4=>6}+b_iuUU=Eg|M7vv^ovnXn@m*pLL0m%a5(W_GRk>@{q&G0)0=c z`V#r7>%>(vUZE?dsuzXuoiUqDp2)CwnRsRY3Yenl8)4g$~qw1_{E{bKa(EYaI7 zc(wh={Z_-tQta^a#3c1#Tj9n)sT^TG{&FYrW*vRy9G3Yduu0`_wad@joC{#y!MXaA z39liSaK$=nPji%MSj#zMt=D}ki@4|V=@|Aewa};L9+mU)-l&`7+z3M zVwmyd6h=_j)ZNbD2>sl))%D8cmBT;ef1B)7zb`Ge_0?`#z zd!;cC_X74Ojy4H|qa*kq!EYKu%QRE%cpUGxFVRRcj7%Y3S;0|TvBWJLXEw*FVVq@z z{T8f9!A>rO!Nu6)f1@WF@u z6*FC$;N^4HGh~u9cQco4)${0PAV=CwZp6WJJJ0`GdP*f6odce#3>nF%C($RyV>4B= zu!^%MvR7Fp@{BNaHVW?G2NjUvOJoH5F*5qCsP8$(>KBopACK?5iC%Ue=*g!vF`^i1 ztf#D=SmxafKE`fJD}|6AJ%oj-UJFUROE%FUuOn)U;uDhz()zkOr?wk4mQQUILaXyf zl8^s`wTaP< zDX3wj?4?1@Tdl_Q8D$P+Ep;^cUK#`N=dU;4DTFbSwX}5;h_-NF1A)@?;`PhvrH@Hu`7S959C^~|td44OL_qk0m4DW|v- zo3AzBQnBo3U}!e|Vh~y8C$R1RWz8XGuHkrEMQ0w~&)u+ZCqA(BL^UO0^oLxOc@)1S z6eKm$R+<7^ zp;~JlD3mhh*+2_#poKJ^-9YOXgHJV&<+RrfG}zaU0Kq$9X8@1Fb1-ccio)FrBOhe+ zqyW{f$11kMcwKXM8LAf#dv>}R#B%T)PL_svgDs6%(D%Ug7~W7i%xGo|_7yvjO8JlM zApD>Gj4BVpD|yB#VjcHBK0eMK=G_k?gZy`L`M*b1dN{9P>$j707;ZOF7u^FJe*~pH zj+PGPo2AgxazHo+eO1lhAn=Ui+peJxhFM9x4q!_me$hl&pUIzW=`4QDn|2Z-Gux<( zpH1!8(^P8S3o}#kcgN!Oen|$pjFvF05ksVvQa$lTQK)i%-c2~l&Y9WrW~&f08fthc z#DtfJx%PTCRG*fGRJLDMQg%{ns7T$lUGpr&WbF;XVtj{xUP9Z?2a|fL>{^Hx^Ic3U zVU;RS3Wzrnz1Uefp9N26^Bt?fGY~bN z3}(~O)>PQ5HEV|x%Pz$mj^@`W$3GgRFIlHih-R(R?No&q&n{q zIjy1vv~IEH=}BwF6O)G*S2Ygp-3($vOQ?Asj<;1fYM;DS;b|?b#q!y1c`${{FoDl|04p{QOn zA8xKsFw7HfLPJcIdU`&PxU0_z?QU%K_6kdV!q`|LDt}h5^=ZA|Tx&%--I3EVYm+M6B_%6&Ak@B84ngju{R zh&Z1@Z{&k5>7&2Sm`FF z3L)L4riR64oA4KghN03_jb7`ubiwGakd+P9^*qKAWe0+04)NSL{87!QPot&Ev4-NM zs`z5j!*KTJGybKztjXXQ0j`>FABK`mrM<3M=ULCI5)OC3#?^3gHz-!a$sOqMTC}$V zeQm)Dea{_H&4#`EVObC2y55YTTp&vMGb1dYfo2pVT!%q;9pCC#yk`zI){l}u7-sLK z7nPz8iHxj{g6S8m64+_e7jseZ+d0D^Mpk|7m+@3p85BpW7n1ME$6|+5#q=7MA)P&C z_;v9xG7L0^gS_Sh7ox_h8ypI{C#_TVEM^&QbriGgVJ*j{FmxG@>*48Or-Gg_9!n#O zrrK%E;MFROs;KTx3#n$I%YF(!qn%zHA`FF|K~j9XSzis0rLu<0UWP$=3ZW_8)w-<8 z0IF(J6-+|cK`rA^o!jtPBGI$iE*rDKHG+PgkM`DJRpWT2S!Wrv*|+!#p`7P#+Nr;5 zhl4m;1pfcG))VB_RU7?tP?b_E(s>9>+Q3&8ncKm34%Y2uBKXnFCOZwD?||Z8(OW;~ zKgshAaXzO$p(o=P-&5K0OFo~8N+03d9VS!oCZi$Q#QNtK^eqU?v*z zLn1cfIuU6F>d^)}ONoFqLqelzEmjui|Bg(pW*e3gt%MRk-bdbY9KR(6)>gpFSo(lg zHrsCPaqVX#jI3pr;5H(bR{lDu(##~U@Kbv$zg{^YjeIJPV02KKRVk*h?21>UpVC^D^zx#+&&S4==61ylrSxdIU*M7wvF=}EC#|xm^j;9le zKeUldejQe06(jDt^6Z0b9mDo?tZ|yl)unjC_wc@-f$}5PE@I$HJlP~_cQ=z!s3i(6 zBWh9p?*?jBMyrb}^6{m%%G$~|(g>v5)nE!lKi+<9fgfAo|78pOFYID-gkT{O03J+e AGXMYp literal 0 HcmV?d00001 diff --git a/tests/data/patient004_frame01_gt.nii.gz b/tests/data/patient004_frame01_gt.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..bf2fa11bc123297c0f70b6284401ce0001d4ece3 GIT binary patch literal 6956 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 None: + super().setUp() + self._image_path = "../../data/patient004_frame01.nii.gz" + self._mask_path = "../../data/patient004_frame01_gt.nii.gz" + self._sitk_image = sitk.ReadImage(self._image_path) + self._sitk_mask = sitk.ReadImage(self._mask_path) + + def test_resampling(self): + resampled_image = itk_resample(self._sitk_image, spacing=(0.1, 0.1, 10), interpolation="linear", pad_value=0) + resampled_mask = itk_resample(self._sitk_mask, spacing=(0.1, 0.1, 10), interpolation="nearest", pad_value=0) + assert np.allclose(np.unique(sitk.GetArrayFromImage(resampled_mask)), np.array([0, 1, 2, 3])) + assert resampled_image.GetSpacing() == (0.1, 0.1, 10) + + def test_clip(self): + clipped_image = itk_clip(self._sitk_image, 10, 600) + multi_slice_viewer_debug(sitk.GetArrayFromImage(clipped_image).squeeze(), block=True) diff --git a/tests/transforms/test_intensity_transforms.py b/tests/transforms/test_intensity_transforms.py index 03260056..274a5efc 100644 --- a/tests/transforms/test_intensity_transforms.py +++ b/tests/transforms/test_intensity_transforms.py @@ -19,6 +19,7 @@ RandomAddValue, RandomScaleValue, RandomValuePerChannel, + NormPercentile ) from tests.transforms import chech_data_preservation @@ -52,6 +53,18 @@ def test_norm_range_transform(self): self.assertTrue(isclose(outp["data"].min().item(), 0.1, abs_tol=1e-6)) self.assertTrue(isclose(outp["data"].max().item(), 0.2, abs_tol=1e-6)) + def test_norm_percentile_transform(self): + trafo = NormPercentile(0.001, 0.99, per_channel=False) + self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) + + trafo = NormPercentile(0.001, 0.99, per_channel=True) + self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) + + outp = trafo(**self.batch_dict) + self.assertTrue( + isclose(outp["data"].min().item(), torch.quantile(self.batch_dict["data"], 0.001), abs_tol=1e-6)) + self.assertTrue(isclose(outp["data"].max().item(), torch.quantile(self.batch_dict["data"], 0.99), abs_tol=1e-6)) + def test_norm_min_max_transform(self): trafo = NormMinMax(per_channel=False) self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) From 3cd60e1c486f5078ca723370dcac853294b138d0 Mon Sep 17 00:00:00 2001 From: jizong-ETS Date: Sun, 24 Oct 2021 17:40:26 -0400 Subject: [PATCH 09/53] rename sitk and fixed some minor bugs --- rising/transforms/__init__.py | 1 + rising/transforms/crop.py | 5 +- rising/transforms/functional/__init__.py | 1 + .../functional/sitk.py | 2 +- rising/transforms/intensity.py | 107 +++++++++--------- rising/{transforms_ext => transforms}/sitk.py | 25 +++- rising/transforms/spatial.py | 60 ++++++---- rising/transforms_ext/__init__.py | 0 rising/transforms_ext/functional/__init__.py | 0 tests/transforms/functional/test_sitk.py | 3 +- tests/transforms/test_format_transforms.py | 4 +- tests/transforms/test_spatial_transforms.py | 2 +- 12 files changed, 119 insertions(+), 91 deletions(-) rename rising/{transforms_ext => transforms}/functional/sitk.py (96%) rename rising/{transforms_ext => transforms}/sitk.py (74%) delete mode 100644 rising/transforms_ext/__init__.py delete mode 100644 rising/transforms_ext/functional/__init__.py diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 813e7b30..4650d4d7 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -48,6 +48,7 @@ RandomValuePerChannel, NormPercentile ) +from rising.transforms.sitk import SITKWindows, SITKResample, SITK2Tensor from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index cddb4768..c5e0a33e 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -1,7 +1,5 @@ from typing import Sequence, Union -import torch - from rising.random import AbstractParameter from rising.transforms.abstract import BaseTransform, BaseTransformSeeded from rising.transforms.functional.crop import center_crop, random_crop @@ -11,7 +9,8 @@ class CenterCrop(BaseTransform): def __init__( - self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs + self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, + **kwargs ): """ Args: diff --git a/rising/transforms/functional/__init__.py b/rising/transforms/functional/__init__.py index f894ab6b..ef27889c 100644 --- a/rising/transforms/functional/__init__.py +++ b/rising/transforms/functional/__init__.py @@ -33,3 +33,4 @@ from rising.transforms.functional.spatial import mirror, resize_native, rot90 from rising.transforms.functional.tensor import tensor_op, to_device_dtype from rising.transforms.functional.utility import box_to_seg, filter_keys, instance_to_semantic, pop_keys, seg_to_box +from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor diff --git a/rising/transforms_ext/functional/sitk.py b/rising/transforms/functional/sitk.py similarity index 96% rename from rising/transforms_ext/functional/sitk.py rename to rising/transforms/functional/sitk.py index 099fa84d..46e3e02a 100644 --- a/rising/transforms_ext/functional/sitk.py +++ b/rising/transforms/functional/sitk.py @@ -46,7 +46,7 @@ def itk_clip(image: sitk.Image, low: int, high: int) -> sitk.Image: sitk.Image """ assert low < high, (low, high) - return sitk.Clamp(image, sitk.sitkInt16, low, high) + return sitk.Clamp(image, sitk.sitkInt16, int(low), int(high)) def itk2tensor(image: sitk.Image, *, dtype=torch.float): diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index f9e4d19a..078fefec 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -21,6 +21,7 @@ __all__ = [ "Clamp", "NormRange", + "NormPercentile", "NormMinMax", "NormZeroMeanUnitStd", "NormMeanStd", @@ -40,12 +41,12 @@ class Clamp(BaseTransform): """Apply augment_fn to keys""" def __init__( - self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ @@ -64,13 +65,13 @@ def __init__( class NormRange(PerSampleTransform): def __init__( - self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - **kwargs + self, + min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + **kwargs ): """ Args: @@ -124,12 +125,12 @@ class NormMinMax(PerSampleTransform): """Norm to [0, 1]""" def __init__( - self, - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - eps: Optional[float] = 1e-8, - **kwargs + self, + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + eps: Optional[float] = 1e-8, + **kwargs ): """ Args: @@ -147,12 +148,12 @@ class NormZeroMeanUnitStd(PerSampleTransform): """Normalize mean to zero and std to one""" def __init__( - self, - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - eps: Optional[float] = 1e-8, - **kwargs + self, + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + eps: Optional[float] = 1e-8, + **kwargs ): """ Args: @@ -172,13 +173,13 @@ class NormMeanStd(PerSampleTransform): """Normalize mean and std with provided values""" def __init__( - self, - mean: Union[float, Sequence[float]], - std: Union[float, Sequence[float]], - keys: Sequence[str] = ("data",), - per_channel: bool = True, - grad: bool = False, - **kwargs + self, + mean: Union[float, Sequence[float]], + std: Union[float, Sequence[float]], + keys: Sequence[str] = ("data",), + per_channel: bool = True, + grad: bool = False, + **kwargs ): """ Args: @@ -202,7 +203,7 @@ class Noise(PerChannelTransform): """ def __init__( - self, noise_type: str, per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, **kwargs + self, noise_type: str, per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -262,7 +263,7 @@ class GammaCorrection(BaseTransform): """Apply Gamma correction""" def __init__( - self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs + self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -284,13 +285,13 @@ class RandomValuePerChannel(PerChannelTransform): """ def __init__( - self, - augment_fn: callable, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + augment_fn: callable, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: @@ -348,12 +349,12 @@ class RandomAddValue(RandomValuePerChannel): """ def __init__( - self, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: @@ -376,12 +377,12 @@ class RandomScaleValue(RandomValuePerChannel): """ def __init__( - self, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: diff --git a/rising/transforms_ext/sitk.py b/rising/transforms/sitk.py similarity index 74% rename from rising/transforms_ext/sitk.py rename to rising/transforms/sitk.py index 21377633..806460b5 100644 --- a/rising/transforms_ext/sitk.py +++ b/rising/transforms/sitk.py @@ -1,10 +1,10 @@ -from typing import Sequence, Tuple, Union, Type +from typing import Sequence, Tuple, Union import torch from rising.random.abstract import AbstractParameter from rising.transforms.abstract import item_or_sequence, BaseTransform -from rising.transforms_ext.functional.sitk import itk_resample, itk_clip, itk2tensor +from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor SpacingParamType = Union[ int, Sequence[int], float, Sequence[float], torch.Tensor, AbstractParameter, Sequence[AbstractParameter] @@ -51,14 +51,27 @@ class SITKWindows(BaseTransform): """ def __init__(self, low: IntNumType, high: IntNumType, *, keys: Sequence[str] = ("data",), **kwargs): - super().__init__(itk_clip, keys=keys, grad=False, **kwargs) - self.register_sampler("low", low) - self.register_sampler("high", high) + super().__init__(itk_clip, keys=keys, grad=False, property_names=("low", "high"), low=low, high=high, **kwargs) + + def forward(self, **data) -> dict: + kwargs = {} + for k in self.property_names: + kwargs[k] = getattr(self, k) + + kwargs.update(self.kwargs) + + # to make sure that in the sampling, there is case where `high` is lower than `low`. + if kwargs["low"] > kwargs["high"]: + kwargs["low"], kwargs["high"] = kwargs["high"], kwargs["low"] + + for _key in self.keys: + data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) + return data class SITK2Tensor(BaseTransform): - def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence[Type[torch.float]] = torch.float, + def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence = torch.float, grad: bool = False, **kwargs): super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) self.dtype = self._tuple_generator(dtype) diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 9b0feb1b..dd10a1ef 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -12,6 +12,7 @@ from rising.transforms.abstract import item_or_sequence from rising.transforms.functional import mirror, resize_native, rot90 +from rising.utils import check_scalar scheduler_type = Callable[[int], Union[int, Sequence[int]]] @@ -20,12 +21,12 @@ class Mirror(AbstractTransform): """Random mirror transform""" def __init__( - self, - dims: Union[int, DiscreteParameter, Sequence[Union[int, DiscreteParameter]]], - keys: Sequence[str] = ("data",), - prob: float = 0.5, - grad: bool = False, - **kwargs + self, + dims: Union[int, DiscreteParameter, Sequence[Union[int, DiscreteParameter]]], + keys: Sequence[str] = ("data",), + prob: item_or_sequence[float] = 0.5, + grad: bool = False, + **kwargs ): """ Args: @@ -46,6 +47,7 @@ def __init__( super().__init__(grad=grad, **kwargs) self.keys = keys self.prob = prob + if not isinstance(dims, DiscreteParameter): if len(dims) > 2: dims = list(combinations(dims, 2)) @@ -63,9 +65,19 @@ def forward(self, **data) -> dict: Returns: dict: dict with augmented data """ - if torch.rand(1) < self.prob: - for key in self.keys: - data[key] = mirror(data[key], self.dims) + total_dim = data[self.keys[0]].dim() - 2 + if check_scalar(self.prob): + prob = [self.prob] * total_dim + else: + assert len(self.prob) == total_dim, "dimension wrong" + prob = self.prob + + seed = torch.random.get_rng_state() + for key in self.keys: + torch.random.set_rng_state(seed) + for dim, p in zip(self.dims, prob): + if torch.rand(1) < p: + data[key] = mirror(data[key], dim) return data @@ -73,13 +85,13 @@ class Rot90(AbstractTransform): """Rotate 90 degree around dims""" def __init__( - self, - dims: Union[Sequence[int], DiscreteParameter], - keys: Sequence[str] = ("data",), - num_rots: Sequence[int] = (0, 1, 2, 3), - prob: float = 0.5, - grad: bool = False, - **kwargs + self, + dims: Union[Sequence[int], DiscreteParameter], + keys: Sequence[str] = ("data",), + num_rots: Sequence[int] = (0, 1, 2, 3), + prob: float = 0.5, + grad: bool = False, + **kwargs ): """ Args: @@ -196,14 +208,14 @@ class Zoom(BaseTransform): """ def __init__( - self, - scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: str = "nearest", - align_corners: bool = None, - preserve_range: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), + mode: str = "nearest", + align_corners: bool = None, + preserve_range: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: diff --git a/rising/transforms_ext/__init__.py b/rising/transforms_ext/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/rising/transforms_ext/functional/__init__.py b/rising/transforms_ext/functional/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/tests/transforms/functional/test_sitk.py b/tests/transforms/functional/test_sitk.py index a2698952..8719782c 100644 --- a/tests/transforms/functional/test_sitk.py +++ b/tests/transforms/functional/test_sitk.py @@ -1,5 +1,4 @@ -from rising.transforms_ext.functional.sitk import itk_resample, itk_clip -import torch +from rising.transforms.functional.sitk import itk_resample, itk_clip import SimpleITK as sitk import unittest import numpy as np diff --git a/tests/transforms/test_format_transforms.py b/tests/transforms/test_format_transforms.py index 245ccf3b..5683d9bf 100644 --- a/tests/transforms/test_format_transforms.py +++ b/tests/transforms/test_format_transforms.py @@ -2,6 +2,8 @@ import torch +from rising.loading import default_transform_call +from rising.transforms import Compose from rising.transforms.format import MapToSeq, RenameKeys, SeqToMap @@ -17,7 +19,7 @@ def test_map_to_seq(self): self.assertEqual(out[2], 2) def test_seq_to_map(self): - trafo = SeqToMap(("data", "seg", "label")) + trafo = Compose(SeqToMap(("data", "seg", "label")), transform_call=default_transform_call) out = trafo(0, 1, 2) self.assertEqual(out["data"], 0) self.assertEqual(out["seg"], 1) diff --git a/tests/transforms/test_spatial_transforms.py b/tests/transforms/test_spatial_transforms.py index 2b3410e4..3020241e 100644 --- a/tests/transforms/test_spatial_transforms.py +++ b/tests/transforms/test_spatial_transforms.py @@ -21,7 +21,7 @@ def setUp(self) -> None: } def test_mirror_transform(self): - trafo = Mirror((0, 1)) + trafo = Mirror((0, 1), p=(1, 1)) outp = trafo(**self.batch_dict) self.assertTrue(outp["data"][0, 0].allclose(torch.tensor([[9, 8, 7], [6, 5, 4], [3, 2, 1]]).float())) From d6ae69cea0681b0eabb2dfa215f134eae4ee505b Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 24 Oct 2021 18:34:38 -0400 Subject: [PATCH 10/53] adding documents on affineBase and improve the loader --- .gitignore | 3 +++ requirements/install.txt | 1 + rising/loading/loader.py | 27 ++++++++++++++++++++++++--- rising/transforms/affine.py | 8 ++++++++ tests/transforms/test_compose.py | 6 ++++++ 5 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6f81433b..2493f7a7 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,9 @@ __pycache__ # data which is automatically downloaded inside notebooks notebooks/ExBox3 +notebooks/MedNIST.tar.gz +notebooks/MedNIST/ +notebooks/demo_classification.py # C extensions *.so diff --git a/requirements/install.txt b/requirements/install.txt index 900ba94d..3a706f6a 100644 --- a/requirements/install.txt +++ b/requirements/install.txt @@ -2,3 +2,4 @@ numpy torch>=1.6 # before 1.6 torch.searchsorted is not present threadpoolctl tqdm +SimpleITK diff --git a/rising/loading/loader.py b/rising/loading/loader.py index ace4b5cf..daf5b253 100644 --- a/rising/loading/loader.py +++ b/rising/loading/loader.py @@ -2,16 +2,19 @@ import warnings from contextlib import contextmanager from functools import partial -from typing import Any, Callable, Generator, Iterator, Mapping, Optional, Sequence, Union +from typing import Any, Callable, Generator, Iterator, Mapping, Optional, Sequence, Union, Iterable import torch from threadpoolctl import threadpool_limits +from torch import nn from torch.utils.data import DataLoader as _DataLoader from torch.utils.data import Dataset, Sampler from torch.utils.data._utils.collate import default_convert from torch.utils.data.dataloader import _MultiProcessingDataLoaderIter as __MultiProcessingDataLoaderIter from torch.utils.data.dataloader import _SingleProcessDataLoaderIter as __SingleProcessDataLoaderIter +from rising.transforms.abstract import AbstractTransform + try: import numpy as np @@ -25,6 +28,22 @@ __all__ = ["DataLoader", "default_transform_call"] +def iter_transform(transforms: Union[Compose, AbstractTransform, Sequence[AbstractTransform], nn.ModuleList]) -> \ + Iterable[AbstractTransform]: + if isinstance(transforms, AbstractTransform) and not isinstance(transforms, Compose): + yield transforms + elif isinstance(transforms, Compose): + yield from iter_transform(transforms.transforms) + elif isinstance(transforms, Sequence): + for x in transforms: + yield from iter_transform(x) + elif isinstance(transforms, nn.ModuleList): + for x in transforms: + yield from iter_transform(x) # noqa + else: + raise TypeError(transforms) + + def default_transform_call(batch: Any, transform: Callable) -> Any: """ Default function to call transforms. Mapping and Sequences are @@ -194,9 +213,11 @@ def __init__( if device is None: device = torch.cuda.current_device() - to_gpu_trafo = ToDevice(device=device, non_blocking=pin_memory) + _keys = [transform.keys for transform in iter_transform(gpu_transforms)] # noqa + keys = tuple(set([item for sublist in _keys for item in sublist])) + to_gpu_trafo = ToDevice(device=device, non_blocking=pin_memory, keys=keys) - gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) + gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) # noqa gpu_transforms = gpu_transforms.to(device) self.device = device diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index cccd6b85..29f2b38b 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -375,6 +375,14 @@ def __init__( calculated dynamically to ensure that the whole image fits. interpolation_mode: interpolation mode to calculate output values ``'bilinear'`` | ``'nearest'``. Default: ``'bilinear'`` + documents from PyTorch: + mode (str) – interpolation mode to calculate output values 'bilinear' + | 'nearest' | 'bicubic'. Default: 'bilinear' + Note: mode='bicubic' supports only 4-D input. + When mode='bilinear' and the input is 5-D, the interpolation mode used + internally will actually be trilinear. However, when the input is 4-D, + the interpolation mode will legitimately be bilinear. + padding_mode: padding mode for outside grid values ``'zeros'`` | ``'border'`` | ``'reflection'``. Default: ``'zeros'`` diff --git a/tests/transforms/test_compose.py b/tests/transforms/test_compose.py index d34b63b6..7ba796ce 100644 --- a/tests/transforms/test_compose.py +++ b/tests/transforms/test_compose.py @@ -4,6 +4,7 @@ import torch +from rising.loading.loader import iter_transform from rising.transforms import AbstractTransform from rising.transforms.compose import Compose, DropoutCompose, OneOf, _TransformWrapper from rising.transforms.spatial import Mirror @@ -134,6 +135,11 @@ def test_no_trafo_error(self): with self.assertRaises(ValueError): comp = trafo_cls() + def test_iter_transform(self): + tras = iter_transform(self.transforms) + tras2 = iter_transform(Compose(self.transforms)) + assert list(tras) == list(tras2) + if __name__ == "__main__": unittest.main() From a06a1e4c4ac154266ad266b59ca3b50e67109929 Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 24 Oct 2021 19:52:22 -0400 Subject: [PATCH 11/53] adding samplebasedCompose --- rising/loading/loader.py | 24 +------ rising/transforms/__init__.py | 2 +- rising/transforms/compose.py | 87 +++++++++++++++++++++++- rising/transforms/crop.py | 8 ++- rising/transforms/functional/__init__.py | 4 +- rising/transforms/functional/crop.py | 6 +- rising/transforms/tensor.py | 37 +++++++++- rising/utils/transforms.py | 32 +++++++++ tests/transforms/test_compose.py | 2 +- 9 files changed, 169 insertions(+), 33 deletions(-) create mode 100644 rising/utils/transforms.py diff --git a/rising/loading/loader.py b/rising/loading/loader.py index daf5b253..e5d6b6b7 100644 --- a/rising/loading/loader.py +++ b/rising/loading/loader.py @@ -2,18 +2,17 @@ import warnings from contextlib import contextmanager from functools import partial -from typing import Any, Callable, Generator, Iterator, Mapping, Optional, Sequence, Union, Iterable +from typing import Any, Callable, Generator, Iterator, Mapping, Optional, Sequence, Union import torch from threadpoolctl import threadpool_limits -from torch import nn from torch.utils.data import DataLoader as _DataLoader from torch.utils.data import Dataset, Sampler from torch.utils.data._utils.collate import default_convert from torch.utils.data.dataloader import _MultiProcessingDataLoaderIter as __MultiProcessingDataLoaderIter from torch.utils.data.dataloader import _SingleProcessDataLoaderIter as __SingleProcessDataLoaderIter -from rising.transforms.abstract import AbstractTransform +from rising.utils.transforms import get_keys_from_transforms try: import numpy as np @@ -28,22 +27,6 @@ __all__ = ["DataLoader", "default_transform_call"] -def iter_transform(transforms: Union[Compose, AbstractTransform, Sequence[AbstractTransform], nn.ModuleList]) -> \ - Iterable[AbstractTransform]: - if isinstance(transforms, AbstractTransform) and not isinstance(transforms, Compose): - yield transforms - elif isinstance(transforms, Compose): - yield from iter_transform(transforms.transforms) - elif isinstance(transforms, Sequence): - for x in transforms: - yield from iter_transform(x) - elif isinstance(transforms, nn.ModuleList): - for x in transforms: - yield from iter_transform(x) # noqa - else: - raise TypeError(transforms) - - def default_transform_call(batch: Any, transform: Callable) -> Any: """ Default function to call transforms. Mapping and Sequences are @@ -213,8 +196,7 @@ def __init__( if device is None: device = torch.cuda.current_device() - _keys = [transform.keys for transform in iter_transform(gpu_transforms)] # noqa - keys = tuple(set([item for sublist in _keys for item in sublist])) + keys = get_keys_from_transforms(gpu_transforms) to_gpu_trafo = ToDevice(device=device, non_blocking=pin_memory, keys=keys) gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) # noqa diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 4650d4d7..2b3e80de 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -28,7 +28,7 @@ ) from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate from rising.transforms.channel import ArgMax, OneHot -from rising.transforms.compose import Compose, DropoutCompose, OneOf +from rising.transforms.compose import Compose, DropoutCompose, OneOf, SampleCompose from rising.transforms.crop import CenterCrop, RandomCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap from rising.transforms.intensity import ( diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index e7336358..bb64a70e 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -1,4 +1,4 @@ -from random import shuffle +from random import shuffle, sample from typing import Any, Callable, Mapping, Optional, Sequence, Union import torch @@ -7,7 +7,9 @@ from rising.transforms import AbstractTransform from rising.utils import check_scalar -__all__ = ["Compose", "DropoutCompose", "OneOf"] +__all__ = ["Compose", "DropoutCompose", "OneOf", "SampleCompose"] + +from rising.utils.transforms import get_keys_from_transforms def dict_call(batch: dict, transform: Callable) -> Any: @@ -164,6 +166,87 @@ def shuffle(self, shuffle: bool): self.transform_order = list(range(len(self.transforms))) +class SampleCompose(Compose): + """ + Since every transformation takes dimension of `batch`, `feature_channel`, H, W, (D), + it is thus necessary to add `batch` dimension as a pseudo one when calling transformation inside the + dataset (before the collate function is called.) + In this `SampleCompose` module, we add manually a dimension insertion module and remove it afterwards. + """ + + def __init__(self, *transforms: Union[AbstractTransform, Sequence[AbstractTransform]], shuffle: bool = False, + transform_call: Callable[[Any, Callable], Any] = dict_call, insert_dim: int): + self._insert_dim = insert_dim + super().__init__(*transforms, shuffle=shuffle, transform_call=transform_call) + + @property + def transforms(self) -> torch.nn.ModuleList: + """ + Transforms getter + + Returns: + torch.nn.ModuleList: transforms to compose + """ + return self._transforms + + @transforms.setter + def transforms(self, transforms: Union[AbstractTransform, Sequence[AbstractTransform]]): + """ + Transforms setter + + Args: + transforms: one or multiple transformations which are applied in + consecutive order + + """ + # make transforms a list to be mutable. + # Otherwise the enforced typesetting below might fail. + + if isinstance(transforms, tuple): + transforms = list(transforms) + if self._insert_dim is not None: + from rising.transforms.tensor import TensorInsertDim, TensorRemoveDim + keys = get_keys_from_transforms(transforms) + transforms.insert(0, TensorInsertDim(self._insert_dim, keys=keys)) + transforms.append(TensorRemoveDim(self._insert_dim, keys=keys)) + + for idx, trafo in enumerate(transforms): + if not isinstance(trafo, torch.nn.Module): + transforms[idx] = _TransformWrapper(trafo) + + self._transforms = torch.nn.ModuleList(transforms) + self.transform_order = list(range(len(self.transforms))) + + def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: + """ + Apply transforms in a consecutive order. Can either handle + Sequence like or Mapping like data. + + Args: + *seq_like: data which is unpacked like a Sequence + **map_like: data which is unpacked like a dict + + Returns: + Union[Sequence, Mapping]: transformed data + """ + assert not (seq_like and map_like) + assert len(self.transforms) == len(self.transform_order) + data = seq_like if seq_like else map_like + + if self.shuffle: + if self._insert_dim is not None: + new_transform_order = sample(self.transform_order[1:-1], len(self.transform_order[1:-1])) + new_transform_order.insert(0, self.transform_order[0]) + new_transform_order.append(self.transform_order[-1]) + self.transform_order = new_transform_order + else: + shuffle(self.transform_order) + + for idx in self.transform_order: + data = self.transform_call(data, self.transforms[idx]) + return data + + class DropoutCompose(Compose): """ Compose multiple transforms to one and randomly apply them diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index c5e0a33e..cea372a6 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -9,8 +9,8 @@ class CenterCrop(BaseTransform): def __init__( - self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, - **kwargs + self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, + **kwargs ): """ Args: @@ -23,6 +23,10 @@ def __init__( class RandomCrop(BaseTransformSeeded): + """ + todo: to enhance this function with padding function. + """ + def __init__( self, size: Union[int, Sequence, AbstractParameter], diff --git a/rising/transforms/functional/__init__.py b/rising/transforms/functional/__init__.py index ef27889c..b830de50 100644 --- a/rising/transforms/functional/__init__.py +++ b/rising/transforms/functional/__init__.py @@ -15,7 +15,7 @@ """ from rising.transforms.functional.channel import one_hot_batch -from rising.transforms.functional.crop import center_crop, crop, random, random_crop +from rising.transforms.functional.crop import center_crop, crop, random_crop from rising.transforms.functional.intensity import ( add_noise, add_value, @@ -30,7 +30,7 @@ scale_by_value, ) from rising.transforms.functional.painting import local_pixel_shuffle, random_inpainting, random_outpainting +from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor from rising.transforms.functional.spatial import mirror, resize_native, rot90 from rising.transforms.functional.tensor import tensor_op, to_device_dtype from rising.transforms.functional.utility import box_to_seg, filter_keys, instance_to_semantic, pop_keys, seg_to_box -from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor diff --git a/rising/transforms/functional/crop.py b/rising/transforms/functional/crop.py index ccc96512..19855154 100644 --- a/rising/transforms/functional/crop.py +++ b/rising/transforms/functional/crop.py @@ -1,5 +1,4 @@ -import random -from typing import List, Sequence, Tuple, Union +from typing import List, Sequence, Union import torch @@ -74,7 +73,8 @@ def random_crop( size = [int(s) for s in size] if any([crop_dim + dist_dim >= img_dim for img_dim, crop_dim, dist_dim in zip(data.shape[2:], size, dist)]): - raise TypeError(f"Crop can not be realized with given size {size} and dist {dist}.") + raise TypeError(f"Crop can not be realized with given size {size} and dist {dist}," + f" given data shape {list(data.shape[2:])}") corner = [ torch.randint(0, img_dim - crop_dim - dist_dim, (1,)).item() diff --git a/rising/transforms/tensor.py b/rising/transforms/tensor.py index 1a984faf..bd2c93f8 100644 --- a/rising/transforms/tensor.py +++ b/rising/transforms/tensor.py @@ -6,7 +6,8 @@ from rising.transforms import BaseTransform from rising.transforms.functional import tensor_op, to_device_dtype -__all__ = ["ToTensor", "ToDeviceDtype", "ToDevice", "ToDtype", "TensorOp", "Permute"] +__all__ = ["ToTensor", "ToDeviceDtype", "ToDevice", "ToDtype", "TensorOp", "Permute", "TensorInsertDim", + "TensorRemoveDim"] class ToTensor(BaseTransform): @@ -141,3 +142,37 @@ def forward(self, **data) -> dict: for key, item in self.dims.items(): data[key] = tensor_op(data[key], "permute", *item, **self.kwargs) return data + + +class TensorInsertDim(BaseTransform): + """ + this is to insert a dimension to a PyTorch Tensor + """ + + def __init__(self, dim: int, keys: Sequence = ("data",), grad: bool = False, **kwargs): + super().__init__(None, keys=keys, grad=grad, property_names=(), **kwargs) + self.dim = dim + + def forward(self, **data) -> dict: + for key in self.keys: + data[key] = data[key].unsqueeze(self.dim) + return data + + +class TensorRemoveDim(BaseTransform): + """ + this is to remove a dimension to a PyTorch Tensor + """ + + def __init__(self, dim: int, keys: Sequence = ("data",), grad: bool = False, **kwargs): + super().__init__(None, keys=keys, grad=grad, property_names=(), **kwargs) + self.dim = dim + + def forward(self, **data) -> dict: + for key in self.keys: + prev_dim = data[key].dim() + data[key] = data[key].squeeze(self.dim) + assert data[key].dim() == prev_dim - 1, \ + (f"{self.__class__.__name__} cannot remove dimension {self.dim}, " + f"given shape {data[key].shape}.") + return data diff --git a/rising/utils/transforms.py b/rising/utils/transforms.py new file mode 100644 index 00000000..b88ffead --- /dev/null +++ b/rising/utils/transforms.py @@ -0,0 +1,32 @@ +import typing +from typing import Union, Sequence, Iterable + +from torch import nn + +if typing.TYPE_CHECKING: + from rising.transforms.abstract import AbstractTransform + from rising.transforms.compose import Compose + + +def iter_transform(transforms: Union['Compose', 'AbstractTransform', Sequence['AbstractTransform'], nn.ModuleList]) -> \ + Iterable['AbstractTransform']: + from rising.transforms.abstract import AbstractTransform + from rising.transforms.compose import Compose + if isinstance(transforms, AbstractTransform) and not isinstance(transforms, Compose): + yield transforms + elif isinstance(transforms, Compose): + yield from iter_transform(transforms.transforms) + elif isinstance(transforms, Sequence): + for x in transforms: + yield from iter_transform(x) + elif isinstance(transforms, nn.ModuleList): + for x in transforms: + yield from iter_transform(x) # noqa + else: + raise TypeError(transforms) + + +def get_keys_from_transforms(transforms) -> Sequence[str]: + _keys = [transform.keys for transform in iter_transform(transforms)] + keys = tuple(set([item for sublist in _keys for item in sublist])) + return keys diff --git a/tests/transforms/test_compose.py b/tests/transforms/test_compose.py index 7ba796ce..07614cae 100644 --- a/tests/transforms/test_compose.py +++ b/tests/transforms/test_compose.py @@ -4,7 +4,7 @@ import torch -from rising.loading.loader import iter_transform +from rising.utils.transforms import iter_transform from rising.transforms import AbstractTransform from rising.transforms.compose import Compose, DropoutCompose, OneOf, _TransformWrapper from rising.transforms.spatial import Mirror From f78abec8c198ee46ac4c2fdbed551703c70882d2 Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 24 Oct 2021 20:12:03 -0400 Subject: [PATCH 12/53] Adding dimension insertion to sitkto tensor --- rising/transforms/__init__.py | 5 +++-- rising/transforms/compose.py | 3 +++ rising/transforms/sitk.py | 12 +++++++++++- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 2b3e80de..ac6561ff 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -48,9 +48,10 @@ RandomValuePerChannel, NormPercentile ) -from rising.transforms.sitk import SITKWindows, SITKResample, SITK2Tensor from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting +from rising.transforms.sitk import SITKWindows, SITKResample, SITK2Tensor from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom -from rising.transforms.tensor import Permute, TensorOp, ToDevice, ToDeviceDtype, ToDtype, ToTensor +from rising.transforms.tensor import Permute, TensorOp, ToDevice, ToDeviceDtype, ToDtype, ToTensor, TensorInsertDim, \ + TensorRemoveDim from rising.transforms.utility import BoxToSeg, DoNothing, InstanceToSemantic, SegToBox diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index bb64a70e..a659e2b6 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -23,6 +23,9 @@ def dict_call(batch: dict, transform: Callable) -> Any: Returns: Any: transformed batch """ + if not isinstance(batch, Mapping): + raise RuntimeError( + f"You may want to pass `default_transform_call` from rising.loading as `transform_call` to `Compose`") return transform(**batch) diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index 806460b5..00afa17d 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -71,10 +71,18 @@ def forward(self, **data) -> dict: class SITK2Tensor(BaseTransform): - def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence = torch.float, + def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence[torch.dtype] = torch.float, + insert_dim: int = None, grad: bool = False, **kwargs): + """ + Convert sitk image to Tensor + Args: + dtype: tensor's dtype + insert_dim: type: int, if you need to expand the tensor given specific dimension, default None, + """ super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) self.dtype = self._tuple_generator(dtype) + self.insert_dim = None def forward(self, **data) -> dict: for key, dtype in zip(self.keys, self.dtype): @@ -82,4 +90,6 @@ def forward(self, **data) -> dict: data[key], dtype=dtype ) + if self.insert_dim is not None: + data[key] = data[key].unsqueeze(self.insert_dim) return data From 28718c73f1a7b3a491254a5f5825441ceea3b520 Mon Sep 17 00:00:00 2001 From: jizong Date: Mon, 25 Oct 2021 01:05:39 -0400 Subject: [PATCH 13/53] adding grid transform --- .gitignore | 5 + rising/transforms/__init__.py | 2 + rising/transforms/grid.py | 202 ++++++++++++++++++++++++++++++++++ 3 files changed, 209 insertions(+) create mode 100644 rising/transforms/grid.py diff --git a/.gitignore b/.gitignore index 6f81433b..a05f4edf 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,11 @@ __pycache__ *.pyc *.idea *.DS_Store +notebooks/MedNIST.tar.gz +notebooks/MedNIST/ +notebooks/demo_classification.py +tests/integration/ +tmp.py # data which is automatically downloaded inside notebooks notebooks/ExBox3 diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index d37b4ed1..ea11ad8c 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -31,6 +31,8 @@ from rising.transforms.compose import Compose, DropoutCompose, OneOf from rising.transforms.crop import CenterCrop, RandomCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap +from rising.transforms.grid import GridTransform, StackedGridTransform, RandomCropGrid, CenterCropGrid, \ + ElasticDistortion, RadialDistortion from rising.transforms.intensity import ( Clamp, ExponentialNoise, diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py new file mode 100644 index 00000000..bd0d45d0 --- /dev/null +++ b/rising/transforms/grid.py @@ -0,0 +1,202 @@ +from abc import abstractmethod +from typing import Sequence, Union, Dict, Tuple + +import torch +from torch import Tensor + +from rising.transforms.abstract import AbstractTransform +from rising.transforms.functional import center_crop, random_crop +from rising.transforms.kernel import GaussianSmoothing +from rising.utils.affine import get_batched_eye, matrix_to_homogeneous + +__all__ = ["GridTransform", "StackedGridTransform", + "CenterCropGrid", "RandomCropGrid", "ElasticDistortion", "RadialDistortion"] + + +class GridTransform(AbstractTransform): + def __init__(self, + keys: Sequence[str] = ('data',), + interpolation_mode: str = 'bilinear', + padding_mode: str = 'zeros', + align_corners: bool = False, + grad: bool = False, + **kwargs, + ): + super().__init__(grad=grad) + self.keys = keys + self.interpolation_mode = interpolation_mode + self.padding_mode = padding_mode + self.align_corners = align_corners + self.kwargs = kwargs + + self.grid: Dict[Tuple, Tensor] = None + + def forward(self, **data) -> dict: + if self.grid is None: + self.grid = self.create_grid([data[key].shape for key in self.keys]) + + self.grid = self.augment_grid(self.grid) + + for key in self.keys: + _grid = self.grid[tuple(data[key].shape)] + _grid = _grid.to(data[key]) + + data[key] = torch.nn.functional.grid_sample( + data[key], _grid, mode=self.interpolation_mode, + padding_mode=self.padding_mode, align_corners=self.align_corners) + self.grid = None + return data + + @abstractmethod + def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + raise NotImplementedError + + def create_grid(self, input_size: Sequence[Sequence[int]], + matrix: Tensor = None) -> Dict[Tuple, Tensor]: + if matrix is None: + matrix = get_batched_eye(batchsize=input_size[0][0], ndim=len(input_size[0]) - 2) + matrix = matrix_to_homogeneous(matrix)[:, :-1] + + grid = {} + for size in input_size: + if tuple(size) not in grid: + grid[tuple(size)] = torch.nn.functional.affine_grid( + matrix, size=size, align_corners=self.align_corners) + return grid + + def __add__(self, other): + if not isinstance(other, GridTransform): + raise ValueError("Concatenation is only supported for grid transforms.") + return StackedGridTransform(self, other) + + def __radd__(self, other): + if not isinstance(other, GridTransform): + raise ValueError("Concatenation is only supported for grid transforms.") + return StackedGridTransform(other, self) + + +class StackedGridTransform(GridTransform): + def __init__(self, *transforms: Union[GridTransform, Sequence[GridTransform]]): + super().__init__(keys=None, interpolation_mode=None, padding_mode=None, + align_corners=None) + if isinstance(transforms, (tuple, list)): + if isinstance(transforms[0], (tuple, list)): + transforms = transforms[0] + self.transforms = transforms + + def create_grid(self, input_size: Sequence[Sequence[int]], matrix: Tensor = None) -> \ + Dict[Tuple, Tensor]: + return self.transforms[0].create_grid(input_size=input_size, matrix=matrix) + + def augment_grid(self, grid: Tensor) -> Tensor: + for transform in self.transforms: + grid = transform.augment_grid(grid) + return grid + + +class CenterCropGrid(GridTransform): + def __init__(self, + size: Union[int, Sequence[int]], + keys: Sequence[str] = ('data',), + interpolation_mode: str = 'bilinear', + padding_mode: str = 'zeros', + align_corners: bool = False, + grad: bool = False, + **kwargs, ): + super().__init__(keys=keys, interpolation_mode=interpolation_mode, + padding_mode=padding_mode, align_corners=align_corners, + grad=grad, **kwargs) + self.size = size + + def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + return {key: center_crop(item, size=self.size, grid_crop=True) + for key, item in grid.items()} + + +class RandomCropGrid(GridTransform): + def __init__(self, + size: Union[int, Sequence[int]], + dist: Union[int, Sequence[int]] = 0, + keys: Sequence[str] = ('data',), + interpolation_mode: str = 'bilinear', + padding_mode: str = 'zeros', + align_corners: bool = False, + grad: bool = False, + **kwargs, ): + super().__init__(keys=keys, interpolation_mode=interpolation_mode, + padding_mode=padding_mode, align_corners=align_corners, + grad=grad, **kwargs) + self.size = size + self.dist = dist + + def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + return {key: random_crop(item, size=self.size, dist=self.dist, grid_crop=True) + for key, item in grid.items()} + + +class ElasticDistortion(GridTransform): + def __init__(self, + std: Union[float, Sequence[float]], + alpha: float, + dim: int = 2, + keys: Sequence[str] = ('data',), + interpolation_mode: str = 'bilinear', + padding_mode: str = 'zeros', + align_corners: bool = False, + grad: bool = False, + **kwargs, ): + super().__init__(keys=keys, interpolation_mode=interpolation_mode, + padding_mode=padding_mode, align_corners=align_corners, + grad=grad, **kwargs) + self.std = std + self.alpha = alpha + self.gaussian = GaussianSmoothing(in_channels=1, kernel_size=7, std=self.std, + dim=dim, stride=1, padding=3) + + def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + for key in grid.keys(): + random_offsets = torch.rand(1, 1, *grid[key].shape[1:-1]) * 2 - 1 + random_offsets = self.gaussian(**{"data": random_offsets})["data"] * self.alpha + print(random_offsets.shape) + print(grid[key].shape) + print(random_offsets.max()) + print(random_offsets.min()) + grid[key] += random_offsets[:, 0, ..., None] + return grid + + +class RadialDistortion(GridTransform): + def __init__(self, + scale: float, + keys: Sequence[str] = ('data',), + interpolation_mode: str = 'bilinear', + padding_mode: str = 'zeros', + align_corners: bool = False, + grad: bool = False, + **kwargs, ): + super().__init__(keys=keys, interpolation_mode=interpolation_mode, + padding_mode=padding_mode, align_corners=align_corners, + grad=grad, **kwargs) + self.scale = scale + + def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + new_grid = {key: radial_distortion_grid(item, scale=self.scale) + for key, item in grid.items()} + print(new_grid) + return new_grid + + +def radial_distortion_grid(grid: Tensor, scale: float) -> Tensor: + # spatial_shape = grid.shape[1:-1] + # new_grid = torch.stack([torch.meshgrid( + # *[torch.linspace(-1, 1, i) for i in spatial_shape])], dim=-1).to(grid) + # print(new_grid.shape) + # + # distortion = + + dist = torch.norm(grid, 2, dim=-1, keepdim=True) + dist = dist / dist.max() + distortion = (scale[0] * dist.pow(3) + scale[1] * dist.pow(2) + scale[2] * dist) / 3 + print(distortion.max()) + print(distortion.min()) + return grid * (1 - distortion) From f9b71cd16d21918ba6565d088d6c1687a7f9a7bc Mon Sep 17 00:00:00 2001 From: jizong Date: Tue, 26 Oct 2021 20:15:04 -0400 Subject: [PATCH 14/53] adding grid transform based on gird_transform_branch --- .gitignore | 7 +- rising/random/utils.py | 24 +++++ rising/transforms/abstract.py | 5 +- rising/transforms/affine.py | 44 ++++---- rising/transforms/functional/crop.py | 123 ++++++++++++++------- rising/transforms/grid.py | 156 ++++++++++++++++----------- rising/transforms/kernel.py | 43 ++++---- rising/transforms/spatial.py | 10 +- rising/utils/affine.py | 8 +- rising/utils/mise.py | 7 +- tests/transforms/test_grid.py | 45 ++++++++ tests/utils/mise.py | 27 +++++ 12 files changed, 332 insertions(+), 167 deletions(-) create mode 100644 rising/random/utils.py create mode 100644 tests/transforms/test_grid.py create mode 100644 tests/utils/mise.py diff --git a/.gitignore b/.gitignore index a05f4edf..45deeca7 100644 --- a/.gitignore +++ b/.gitignore @@ -7,18 +7,13 @@ __pycache__ *.pyc *.idea *.DS_Store -notebooks/MedNIST.tar.gz -notebooks/MedNIST/ -notebooks/demo_classification.py -tests/integration/ -tmp.py # data which is automatically downloaded inside notebooks notebooks/ExBox3 # C extensions *.so - +notebooks/MedNIST # Distribution / packaging .Python build/ diff --git a/rising/random/utils.py b/rising/random/utils.py new file mode 100644 index 00000000..3a1247c3 --- /dev/null +++ b/rising/random/utils.py @@ -0,0 +1,24 @@ +import torch +import functools +from torch import Tensor +from typing import Union + + +class fix_random_seed_ctx: + def __init__(self, seed: Union[Tensor, int]) -> None: + super().__init__() + self._seed = int(seed) + + def __enter__(self): + self._prev_seed = torch.random.get_rng_state() + + def __exit__(self, exc_type, exc_val, exc_tb): + torch.random.set_rng_state(self._prev_seed) # noqa + + def __call__(self, func): + @functools.wraps(func) + def wrapped_func(*args, **kwargs): + with self: + return func(*args, **kwargs) + + return wrapped_func diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 59363c72..1ffe9cce 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -5,13 +5,14 @@ from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import ntuple -__all__ = ["AbstractTransform", "BaseTransform", "PerSampleTransform", "PerChannelTransform", "BaseTransformSeeded"] +__all__ = ["AbstractTransform", "item_or_seq", "BaseTransform", "PerSampleTransform", "PerChannelTransform", + "BaseTransformSeeded"] augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] T = TypeVar("T") -item_or_sequence = Union[T, Sequence[T]] +item_or_seq = Union[T, Sequence[T]] class AbstractTransform(torch.nn.Module): diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index cccd6b85..35af83ef 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, item_or_sequence +from rising.transforms.abstract import BaseTransform, item_or_seq from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -32,9 +32,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, @@ -234,9 +234,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -334,9 +334,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, @@ -478,9 +478,9 @@ def __init__( degree: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -554,9 +554,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, unit: str = "pixel", reverse_order: bool = False, **kwargs, @@ -649,9 +649,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -722,9 +722,9 @@ def __init__( size: Union[int, Tuple[int]], keys: Sequence[str] = ("data",), grad: bool = False, - interpolation_mode: item_or_sequence[str] = "bilinear", - padding_mode: item_or_sequence[str] = "zeros", - align_corners: item_or_sequence[bool] = False, + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, reverse_order: bool = False, **kwargs, ): diff --git a/rising/transforms/functional/crop.py b/rising/transforms/functional/crop.py index ccc96512..954749b2 100644 --- a/rising/transforms/functional/crop.py +++ b/rising/transforms/functional/crop.py @@ -1,83 +1,124 @@ -import random -from typing import List, Sequence, Tuple, Union - import torch +import random +from typing import Union, Sequence from rising.utils import check_scalar __all__ = ["crop", "center_crop", "random_crop"] -def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int]) -> torch.Tensor: +def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int], + grid_crop: bool = False): """ Extract crop from last dimensions of data - Args: - data: input tensor - corner: top left corner point - size: size of patch - - Returns: - torch.Tensor: cropped data + Parameters + ---------- + data: torch.Tensor + input tensor [... , spatial dims] spatial dims can be arbitrary + spatial dimensions. Leading dimensions will be preserved. + corner: Sequence[int] + top left corner point + size: Sequence[int] + size of patch + grid_crop: bool + crop from grid of shape [N, spatial dims, NDIM], where N is the batch + size, spatial dims can be arbitrary spatial dimensions and NDIM + is the number of spatial dimensions + + Returns + ------- + torch.Tensor + cropped data """ _slices = [] - if len(corner) < data.ndim: - for i in range(data.ndim - len(corner)): + ndim = data.ndimension() - int(bool(grid_crop)) + if len(corner) < ndim: + for i in range(ndim - len(corner)): _slices.append(slice(0, data.shape[i])) _slices = _slices + [slice(c, c + s) for c, s in zip(corner, size)] + if grid_crop: + _slices.append(slice(0, data.shape[-1])) return data[_slices] -def center_crop(data: torch.Tensor, size: Union[int, Sequence[int]]) -> torch.Tensor: +def center_crop(data: torch.Tensor, size: Union[int, Sequence[int]], + grid_crop: bool = False) -> torch.Tensor: """ Crop patch from center - Args: - data: input tensor - size: size of patch - - Returns: - torch.Tensor: output tensor cropped from input tensor + Parameters + ---------- + data: torch.Tensor + input tensor [... , spatial dims] spatial dims can be arbitrary + spatial dimensions. Leading dimensions will be preserved. + size: Union[int, Sequence[int]] + size of patch + grid_crop: bool + crop from grid of shape [N, spatial dims, NDIM], where N is the batch + size, spatial dims can be arbitrary spatial dimensions and NDIM + is the number of spatial dimensions + + Returns + ------- + torch.Tensor + output tensor cropped from input tensor """ if check_scalar(size): size = [size] * (data.ndim - 2) if not isinstance(size[0], int): size = [int(s) for s in size] - corner = [int(round((img_dim - crop_dim) / 2.0)) for img_dim, crop_dim in zip(data.shape[2:], size)] - return crop(data, corner, size) + if grid_crop: + data_shape = data.shape[1:-1] # N, H, W, (D), NDIM + else: + data_shape = data.shape[2:] + + corner = [int(round((img_dim - crop_dim) / 2.)) for img_dim, crop_dim in zip(data_shape, size)] + return crop(data, corner, size, grid_crop=grid_crop) -def random_crop( - data: torch.Tensor, size: Union[int, Sequence[int]], dist: Union[int, Sequence[int]] = 0 -) -> torch.Tensor: +def random_crop(data: torch.Tensor, size: Union[int, Sequence[int]], + dist: Union[int, Sequence[int]] = 0, + grid_crop: bool = False) -> torch.Tensor: """ Crop random patch/volume from input tensor - Args: - data: input tensor - size: size of patch/volume - dist: minimum distance to border. By default zero - - Returns: - torch.Tensor: cropped output - List[int]: top left corner used for crop + Parameters + ---------- + data: torch.Tensor + input tensor [... , spatial dims] spatial dims can be arbitrary + spatial dimensions. Leading dimensions will be preserved. + size: Union[int, Sequence[int]] + size of patch/volume + dist: Union[int, Sequence[int]] + minimum distance to border. By default zero + grid_crop: bool + crop from grid of shape [N, spatial dims, NDIM], where N is the batch + size, spatial dims can be arbitrary spatial dimensions and NDIM + is the number of spatial dimensions + + Returns + ------- + torch.Tensor + cropped output """ if check_scalar(dist): dist = [dist] * (data.ndim - 2) - if isinstance(dist[0], torch.Tensor): - dist = [int(i) for i in dist] if check_scalar(size): size = [size] * (data.ndim - 2) if not isinstance(size[0], int): size = [int(s) for s in size] - if any([crop_dim + dist_dim >= img_dim for img_dim, crop_dim, dist_dim in zip(data.shape[2:], size, dist)]): + if grid_crop: + data_shape = data.shape[1:-1] + else: + data_shape = data.shape[2:] + + if any([crop_dim + dist_dim >= img_dim for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)]): raise TypeError(f"Crop can not be realized with given size {size} and dist {dist}.") - corner = [ - torch.randint(0, img_dim - crop_dim - dist_dim, (1,)).item() - for img_dim, crop_dim, dist_dim in zip(data.shape[2:], size, dist) - ] - return crop(data, corner, size) + corner = [random.randrange(0, img_dim - crop_dim - dist_dim) for + img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)] + return crop(data, corner, size, grid_crop=grid_crop) diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index bd0d45d0..9f8f2c9c 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -1,67 +1,86 @@ from abc import abstractmethod -from typing import Sequence, Union, Dict, Tuple +from typing import Sequence, Union, Dict, Tuple, Optional import torch from torch import Tensor +from torch.nn import functional as F -from rising.transforms.abstract import AbstractTransform +from rising.random.utils import fix_random_seed_ctx +from rising.transforms.abstract import AbstractTransform, item_or_seq from rising.transforms.functional import center_crop, random_crop from rising.transforms.kernel import GaussianSmoothing from rising.utils.affine import get_batched_eye, matrix_to_homogeneous +from rising.utils.mise import ntuple __all__ = ["GridTransform", "StackedGridTransform", "CenterCropGrid", "RandomCropGrid", "ElasticDistortion", "RadialDistortion"] class GridTransform(AbstractTransform): + """ + Abstract class for grid transformation. + """ + def __init__(self, keys: Sequence[str] = ('data',), - interpolation_mode: str = 'bilinear', - padding_mode: str = 'zeros', - align_corners: bool = False, + interpolation_mode: item_or_seq[str] = 'bilinear', + padding_mode: item_or_seq[str] = 'zeros', + align_corners: item_or_seq[bool] = False, grad: bool = False, **kwargs, ): super().__init__(grad=grad) self.keys = keys - self.interpolation_mode = interpolation_mode - self.padding_mode = padding_mode - self.align_corners = align_corners + self._tuple_generator = ntuple(len(self.keys)) + self.interpolation_mode: Sequence[str] = self._tuple_generator(interpolation_mode) + self.padding_mode: Sequence[str] = self._tuple_generator(padding_mode) + self.align_corners: Sequence[bool] = self._tuple_generator(align_corners) self.kwargs = kwargs - self.grid: Dict[Tuple, Tensor] = None + self.grid: Optional[Dict[str, Tensor]] = None def forward(self, **data) -> dict: - if self.grid is None: - self.grid = self.create_grid([data[key].shape for key in self.keys]) + device, dtype = data[self.keys[0]].device, data[self.keys[0]].dtype - self.grid = self.augment_grid(self.grid) + if self.grid is None: + self.grid = self.create_grid(data, device=device, dtype=dtype) - for key in self.keys: - _grid = self.grid[tuple(data[key].shape)] - _grid = _grid.to(data[key]) + self.grid = self.augment_grid(self.grid, device=device, dtype=dtype) - data[key] = torch.nn.functional.grid_sample( - data[key], _grid, mode=self.interpolation_mode, - padding_mode=self.padding_mode, align_corners=self.align_corners) + for key, interpol, padding_mode, align_corners in zip( + self.keys, self.interpolation_mode, self.padding_mode, self.align_corners + ): + data[key] = F.grid_sample( + data[key], self.grid[key], mode=interpol, padding_mode=padding_mode, align_corners=align_corners + ) self.grid = None return data @abstractmethod - def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + def augment_grid(self, grid: Dict[str, Tensor], *, device, dtype) -> Dict[str, Tensor]: + """ + this functions modifies the grid + """ raise NotImplementedError - def create_grid(self, input_size: Sequence[Sequence[int]], - matrix: Tensor = None) -> Dict[Tuple, Tensor]: - if matrix is None: - matrix = get_batched_eye(batchsize=input_size[0][0], ndim=len(input_size[0]) - 2) - matrix = matrix_to_homogeneous(matrix)[:, :-1] - + def create_grid( + self, + data: Dict[str, Tensor], + matrix: Tensor = None, + *, + device: torch.device, + dtype: torch.dtype + ) -> Dict[str, Tensor]: grid = {} - for size in input_size: - if tuple(size) not in grid: - grid[tuple(size)] = torch.nn.functional.affine_grid( - matrix, size=size, align_corners=self.align_corners) + for key, align_corners in zip(self.keys, self.align_corners): + cur_data = data[key] + batch_size = cur_data.shape[0] + ndim = cur_data.dim() - 2 + if matrix is None: + matrix = get_batched_eye(batchsize=batch_size, ndim=ndim, device=device, dtype=dtype) + matrix = matrix_to_homogeneous(matrix)[:, :-1] + + grid[key] = F.affine_grid(matrix, size=list(cur_data.shape), align_corners=align_corners) return grid def __add__(self, other): @@ -96,6 +115,7 @@ def augment_grid(self, grid: Tensor) -> Tensor: class CenterCropGrid(GridTransform): def __init__(self, + *, size: Union[int, Sequence[int]], keys: Sequence[str] = ('data',), interpolation_mode: str = 'bilinear', @@ -108,9 +128,9 @@ def __init__(self, grad=grad, **kwargs) self.size = size - def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: - return {key: center_crop(item, size=self.size, grid_crop=True) - for key, item in grid.items()} + def augment_grid(self, grid: Dict[str, Tensor], **kwargs) -> Dict[str, Tensor]: + return {key: center_crop(cur_grid, size=self.size, grid_crop=True) + for key, cur_grid in grid.items()} class RandomCropGrid(GridTransform): @@ -129,49 +149,64 @@ def __init__(self, self.size = size self.dist = dist - def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: + def augment_grid(self, grid: Dict[str, Tensor], **kwargs) -> Dict[str, Tensor]: return {key: random_crop(item, size=self.size, dist=self.dist, grid_crop=True) for key, item in grid.items()} class ElasticDistortion(GridTransform): + """ + ElasticDistortion transformation + """ + def __init__(self, std: Union[float, Sequence[float]], alpha: float, dim: int = 2, keys: Sequence[str] = ('data',), - interpolation_mode: str = 'bilinear', - padding_mode: str = 'zeros', - align_corners: bool = False, + interpolation_mode: item_or_seq[str] = 'bilinear', + padding_mode: item_or_seq[str] = 'zeros', + align_corners: item_or_seq[bool] = False, grad: bool = False, + per_sample: bool = True, **kwargs, ): + """ + std: std of the gaussian smooth + """ super().__init__(keys=keys, interpolation_mode=interpolation_mode, padding_mode=padding_mode, align_corners=align_corners, grad=grad, **kwargs) self.std = std self.alpha = alpha - self.gaussian = GaussianSmoothing(in_channels=1, kernel_size=7, std=self.std, - dim=dim, stride=1, padding=3) + self.per_sample = per_sample + self.gaussian = GaussianSmoothing(in_channels=1, kernel_size=7, std=self.std, dim=dim, stride=1, padding=3) + + def augment_grid(self, grid: Dict[Tuple, Tensor], *, device, dtype) -> Dict[Tuple, Tensor]: + seed = torch.randint(0, int(1e6), size=(1,)) + + def get_perturb_grid(batch_size: int = 1) -> Tensor: + random_offsets = torch.rand(batch_size, 1, *grid[key].shape[1:-1], device=device, dtype=dtype) * 2 - 1 + return self.gaussian(data=random_offsets)["data"] * self.alpha - def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: for key in grid.keys(): - random_offsets = torch.rand(1, 1, *grid[key].shape[1:-1]) * 2 - 1 - random_offsets = self.gaussian(**{"data": random_offsets})["data"] * self.alpha - print(random_offsets.shape) - print(grid[key].shape) - print(random_offsets.max()) - print(random_offsets.min()) - grid[key] += random_offsets[:, 0, ..., None] + cur_data = grid[key] + batch_size = cur_data.shape[0] + with fix_random_seed_ctx(seed): + if self.per_sample: + random_offsets = get_perturb_grid(batch_size)[:, 0, ..., None] + else: + random_offsets = get_perturb_grid(1)[:, 0, ..., None] + grid[key] += random_offsets return grid class RadialDistortion(GridTransform): def __init__(self, - scale: float, + scale: Tuple[float, float, float], keys: Sequence[str] = ('data',), - interpolation_mode: str = 'bilinear', - padding_mode: str = 'zeros', - align_corners: bool = False, + interpolation_mode: item_or_seq[str] = 'bilinear', + padding_mode: item_or_seq[str] = 'zeros', + align_corners: item_or_seq[bool] = False, grad: bool = False, **kwargs, ): super().__init__(keys=keys, interpolation_mode=interpolation_mode, @@ -179,24 +214,15 @@ def __init__(self, grad=grad, **kwargs) self.scale = scale - def augment_grid(self, grid: Dict[Tuple, Tensor]) -> Dict[Tuple, Tensor]: - new_grid = {key: radial_distortion_grid(item, scale=self.scale) - for key, item in grid.items()} - print(new_grid) + def augment_grid(self, grid: Dict[Tuple, Tensor], **kwargs) -> Dict[Tuple, Tensor]: + new_grid = { + key: radial_distortion_grid(cur_grid, scale=self.scale) for key, cur_grid in grid.items() + } return new_grid -def radial_distortion_grid(grid: Tensor, scale: float) -> Tensor: - # spatial_shape = grid.shape[1:-1] - # new_grid = torch.stack([torch.meshgrid( - # *[torch.linspace(-1, 1, i) for i in spatial_shape])], dim=-1).to(grid) - # print(new_grid.shape) - # - # distortion = - - dist = torch.norm(grid, 2, dim=-1, keepdim=True) +def radial_distortion_grid(grid: Tensor, scale: Tuple[float, float, float]) -> Tensor: + dist = torch.norm(grid, p=2, dim=-1, keepdim=True) dist = dist / dist.max() distortion = (scale[0] * dist.pow(3) + scale[1] * dist.pow(2) + scale[2] * dist) / 3 - print(distortion.max()) - print(distortion.min()) return grid * (1 - distortion) diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index 53a6af92..6c82a69c 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -4,8 +4,9 @@ import torch from rising.utils import check_scalar - -from .abstract import AbstractTransform +from torch.nn import functional as F +from .abstract import AbstractTransform, item_or_seq +from rising.utils.mise import ntuple __all__ = ["KernelTransform", "GaussianSmoothing"] @@ -19,12 +20,12 @@ class KernelTransform(AbstractTransform): def __init__( self, in_channels: int, - kernel_size: Union[int, Sequence], + kernel_size: item_or_seq[int], dim: int = 2, - stride: Union[int, Sequence] = 1, - padding: Union[int, Sequence] = 0, + stride: item_or_seq[int] = 1, + padding: item_or_seq[int] = 0, padding_mode: str = "zero", - keys: Sequence = ("data",), + keys: Sequence[str] = ("data",), grad: bool = False, **kwargs ): @@ -45,6 +46,9 @@ def __init__( :func:`torch.functional.pad` """ super().__init__(grad=grad, **kwargs) + self.keys = keys + self._tuple_generator = ntuple(len(self.keys)) + self.in_channels = in_channels if check_scalar(kernel_size): @@ -59,8 +63,7 @@ def __init__( padding = [padding] * dim * 2 self.padding = padding - self.padding_mode = padding_mode - self.keys = keys + self.padding_mode = self._tuple_generator(padding_mode) kernel = self.create_kernel() self.register_buffer("weight", kernel) @@ -79,11 +82,11 @@ def get_conv(dim) -> Callable: Callable: the suitable convolutional function """ if dim == 1: - return torch.nn.functional.conv1d + return F.conv1d elif dim == 2: - return torch.nn.functional.conv2d + return F.conv2d elif dim == 3: - return torch.nn.functional.conv3d + return F.conv3d else: raise TypeError("Only 1, 2 and 3 dimensions are supported. Received {}.".format(dim)) @@ -103,8 +106,8 @@ def forward(self, **data) -> dict: Returns: dict: dict with transformed data """ - for key in self.keys: - inp_pad = torch.nn.functional.pad(data[key], self.padding, mode=self.padding_mode) + for key, padding_mode in zip(self.keys, self.padding_mode): + inp_pad = F.pad(data[key], self.padding, mode=padding_mode) data[key] = self.conv(inp_pad, weight=self.weight, groups=self.groups, stride=self.stride) return data @@ -112,7 +115,7 @@ def forward(self, **data) -> dict: class GaussianSmoothing(KernelTransform): """ Perform Gaussian Smoothing. - Filtering is performed seperately for each channel in the input using a + Filtering is performed separately for each channel in the input using a depthwise convolution. This code is adapted from: 'https://discuss.pytorch.org/t/is-there-anyway-to-do-' @@ -122,13 +125,13 @@ class GaussianSmoothing(KernelTransform): def __init__( self, in_channels: int, - kernel_size: Union[int, Sequence], - std: Union[int, Sequence], + kernel_size: item_or_seq[int], + std: item_or_seq[float], dim: int = 2, - stride: Union[int, Sequence] = 1, - padding: Union[int, Sequence] = 0, - padding_mode: str = "reflect", - keys: Sequence = ("data",), + stride: item_or_seq[int] = 1, + padding: item_or_seq[int] = 0, + padding_mode: item_or_seq[str] = "constant", + keys: Sequence[str] = ("data",), grad: bool = False, **kwargs ): diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 9b0feb1b..01c7bb70 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -10,7 +10,7 @@ __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] -from rising.transforms.abstract import item_or_sequence +from rising.transforms.abstract import item_or_seq from rising.transforms.functional import mirror, resize_native, rot90 scheduler_type = Callable[[int], Union[int, Sequence[int]]] @@ -131,8 +131,8 @@ class ResizeNative(BaseTransform): def __init__( self, size: Union[int, Sequence[int]], - mode: item_or_sequence[str] = "nearest", - align_corners: item_or_sequence[bool] = None, + mode: item_or_seq[str] = "nearest", + align_corners: item_or_seq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -244,8 +244,8 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: item_or_sequence[str] = "nearest", - align_corners: item_or_sequence[bool] = None, + mode: item_or_seq[str] = "nearest", + align_corners: item_or_seq[bool] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, diff --git a/rising/utils/affine.py b/rising/utils/affine.py index 02def8cb..a858e514 100644 --- a/rising/utils/affine.py +++ b/rising/utils/affine.py @@ -106,7 +106,7 @@ def get_batched_eye( batchsize: int, ndim: int, device: Optional[Union[torch.device, str]] = None, - dtype: Optional[Union[torch.dtype, str]] = None, + dtype: torch.dtype = torch.float, ) -> torch.Tensor: """ Produces a batched matrix containing 1s on the diagonal @@ -119,14 +119,14 @@ def get_batched_eye( device : torch.device, str, optional the device to put the resulting tensor to. Defaults to the default device - dtype : torch.dtype, str, optional - the dtype of the resulting trensor. Defaults to the default dtype + dtype : torch.dtype, optional + the dtype of the resulting tensor. Defaults to the default torch.float Returns: torch.Tensor: batched eye matrix """ - return torch.eye(ndim, device=device, dtype=dtype).view(1, ndim, ndim).expand(batchsize, -1, -1).clone() + return torch.eye(ndim, device=device, dtype=dtype)[None, ...].expand(batchsize, -1, -1).clone() def deg_to_rad(angles: Union[torch.Tensor, float, int]) -> Union[torch.Tensor, float, int]: diff --git a/rising/utils/mise.py b/rising/utils/mise.py index c2f560a6..6c978f40 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -3,10 +3,13 @@ import numpy as np from torch import Tensor +import typing as t +T = t.TypeVar("T") -def ntuple(n): - def parse(x): + +def ntuple(n: int) -> t.Callable[[t.Union[T, t.Sequence[T]]], t.Sequence[T]]: + def parse(x: t.Union[T, t.Sequence[T]]) -> t.Sequence[T]: if isinstance(x, (Tensor, np.ndarray, str)): return tuple(repeat(x, n)) if isinstance(x, collections.abc.Iterable): diff --git a/tests/transforms/test_grid.py b/tests/transforms/test_grid.py new file mode 100644 index 00000000..bedde078 --- /dev/null +++ b/tests/transforms/test_grid.py @@ -0,0 +1,45 @@ +import typing as t +import unittest + +import numpy as np +import torch +from PIL import Image +from deepclustering2.viewer import multi_slice_viewer_debug + +from rising.transforms.grid import ElasticDistortion, RadialDistortion +from tests.utils.mise import gpu_timeit + +T = t.TypeVar("T") +item_or_seq = t.Union[T, t.Sequence[T]] +float_or_seq = item_or_seq[int] + + +class TestGridCase(unittest.TestCase): + def setUp(self) -> None: + super().setUp() + + self.device = "cuda" + self.dtype = torch.float16 + self._image = Image.open("/home/jizong/Workspace/rising/notebooks/MedNIST/BreastMRI/000000.jpeg").convert("L") + self._image = torch.from_numpy(np.asarray(self._image), ).float()[None, None, ...]. \ + repeat(100, 1, 1, 1).to(self.device).to(self.dtype) + self._target = (self._image > 0.5).to(self.dtype) + + def test_elastic_transform(self): + transform = ElasticDistortion(std=2, alpha=0.1, keys=("data", "target"), + interpolation_mode=("bilinear", "nearest"), per_sample=False).to(self.device).to( + self.dtype) + with gpu_timeit(): + for _ in range(100): + output, target = transform(data=self._image, target=self._target).values() + + def test_radial_distortion(self): + transform = RadialDistortion(scale=(0, 0, 0.3), keys=("data", "target"), + interpolation_mode=("bilinear", "nearest")).to(self.device).to(self.dtype) + + with gpu_timeit(): + for _ in range(100): + output, target = transform(data=self._image, target=self._target).values() + multi_slice_viewer_debug([self._image.squeeze().float(), output.float().squeeze()], + self._target.squeeze().float(), target.squeeze().float(), block=True, + no_contour=True) diff --git a/tests/utils/mise.py b/tests/utils/mise.py new file mode 100644 index 00000000..75f2bb22 --- /dev/null +++ b/tests/utils/mise.py @@ -0,0 +1,27 @@ +import functools + +import torch +from loguru import logger + + +class gpu_timeit: + + def __enter__(self): + self.start = torch.cuda.Event(enable_timing=True) + self.end = torch.cuda.Event(enable_timing=True) + self.start.record() + return self + + def __exit__(self, exc_type, exc_val, exc_tb): + self.end.record() + torch.cuda.synchronize() + elapsed_time = self.start.elapsed_time(self.end) + logger.opt(depth=1).info(f"operation time: {elapsed_time / 1000:.4f}.") + + def __call__(self, func): + @functools.wraps(func) + def wrapped_func(*args, **kwargs): + with self.__class__(): + return func(*args, **kwargs) + + return wrapped_func From debecfe26ca2624b908e66bcc5be002e181cd767 Mon Sep 17 00:00:00 2001 From: jizong Date: Tue, 26 Oct 2021 20:50:08 -0400 Subject: [PATCH 15/53] corrected imports --- rising/transforms/affine.py | 2 +- rising/transforms/grid.py | 10 +++++----- rising/transforms/sitk.py | 6 +++--- rising/transforms/spatial.py | 2 +- rising/utils/mise.py | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index a4446756..0cf16561 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -336,7 +336,7 @@ def __init__( adjust_size: bool = False, interpolation_mode: item_or_seq[str] = "bilinear", padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + align_corners: item_or_seq[Optional[bool]] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index 9f8f2c9c..add7d0ae 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -103,13 +103,13 @@ def __init__(self, *transforms: Union[GridTransform, Sequence[GridTransform]]): transforms = transforms[0] self.transforms = transforms - def create_grid(self, input_size: Sequence[Sequence[int]], matrix: Tensor = None) -> \ - Dict[Tuple, Tensor]: - return self.transforms[0].create_grid(input_size=input_size, matrix=matrix) + def create_grid(self, data: Dict[str, Tensor], matrix: Tensor = None, *, device: torch.device, + dtype: torch.dtype) -> Dict[str, Tensor]: + return self.transforms[0].create_grid(data=data, matrix=matrix, device=device, dtype=dtype) - def augment_grid(self, grid: Tensor) -> Tensor: + def augment_grid(self, grid: Dict[str, Tensor], *, device, dtype) -> Dict[str, Tensor]: for transform in self.transforms: - grid = transform.augment_grid(grid) + grid = transform.augment_grid(grid, device=device, dtype=dtype) return grid diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index 00afa17d..785d3cd5 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -3,7 +3,7 @@ import torch from rising.random.abstract import AbstractParameter -from rising.transforms.abstract import item_or_sequence, BaseTransform +from rising.transforms.abstract import BaseTransform, item_or_seq from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor SpacingParamType = Union[ @@ -20,7 +20,7 @@ class SITKResample(BaseTransform): """ def __init__(self, spacing: SpacingParamType, *, pad_value: Union[int, float], keys: Sequence = ("data",), - interpolation: item_or_sequence[str] = "nearest", **kwargs): + interpolation: item_or_seq[str] = "nearest", **kwargs): """ resample simpleitk image given new spacing and padding value Args: @@ -71,7 +71,7 @@ def forward(self, **data) -> dict: class SITK2Tensor(BaseTransform): - def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_sequence[torch.dtype] = torch.float, + def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_seq[torch.dtype] = torch.float, insert_dim: int = None, grad: bool = False, **kwargs): """ diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 5a041678..b9b5b177 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -24,7 +24,7 @@ def __init__( self, dims: Union[int, DiscreteParameter, Sequence[Union[int, DiscreteParameter]]], keys: Sequence[str] = ("data",), - prob: item_or_sequence[float] = 0.5, + prob: item_or_seq[float] = 0.5, grad: bool = False, **kwargs ): diff --git a/rising/utils/mise.py b/rising/utils/mise.py index 6c978f40..61394c0f 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -1,9 +1,9 @@ import collections +import typing as t from itertools import repeat import numpy as np from torch import Tensor -import typing as t T = t.TypeVar("T") From 1e2dd67f814e710e9a3e16f8fc73302527a9a09c Mon Sep 17 00:00:00 2001 From: jizong Date: Thu, 28 Oct 2021 18:28:56 -0400 Subject: [PATCH 16/53] remove samplecompose and mark itk transform so that it cannot be shuffled --- rising/transforms/__init__.py | 2 +- rising/transforms/compose.py | 27 +++++++++++++++++++++------ rising/transforms/sitk.py | 15 +++++++++++---- 3 files changed, 33 insertions(+), 11 deletions(-) diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index b3184e78..5a05cd40 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -28,7 +28,7 @@ ) from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate from rising.transforms.channel import ArgMax, OneHot -from rising.transforms.compose import Compose, DropoutCompose, OneOf, SampleCompose +from rising.transforms.compose import Compose, DropoutCompose, OneOf from rising.transforms.crop import CenterCrop, RandomCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap from rising.transforms.grid import GridTransform, StackedGridTransform, RandomCropGrid, CenterCropGrid, \ diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index a659e2b6..0ebf6445 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -1,15 +1,14 @@ -from random import shuffle, sample from typing import Any, Callable, Mapping, Optional, Sequence, Union +import numpy as np import torch from rising.random import ContinuousParameter, UniformParameter from rising.transforms import AbstractTransform +from rising.transforms.sitk import _ITKTransform from rising.utils import check_scalar -__all__ = ["Compose", "DropoutCompose", "OneOf", "SampleCompose"] - -from rising.utils.transforms import get_keys_from_transforms +__all__ = ["Compose", "DropoutCompose", "OneOf", ] def dict_call(batch: dict, transform: Callable) -> Any: @@ -109,7 +108,7 @@ def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: data = seq_like if seq_like else map_like if self.shuffle: - shuffle(self.transform_order) + self.shuffle_transform() for idx in self.transform_order: data = self.transform_call(data, self.transforms[idx]) @@ -168,7 +167,22 @@ def shuffle(self, shuffle: bool): self._shuffle = shuffle self.transform_order = list(range(len(self.transforms))) - + def shuffle_transform(self): + """ + this function shuffles the Tensor transformation, and exclude all others such as ITK based ones. + """ + tensor_transform_indicator = [] + for i, trans in enumerate(self.transforms): + assert isinstance(trans, AbstractTransform) + if not isinstance(trans, _ITKTransform): + tensor_transform_indicator.append(i) + transform_mapping = {k: v for k, v in zip( + tensor_transform_indicator, np.random.permutation(tensor_transform_indicator) + )} + self.transform_order = [transform_mapping.get(i, i) for i in self.transform_order] + + +''' we delete this function. class SampleCompose(Compose): """ Since every transformation takes dimension of `batch`, `feature_channel`, H, W, (D), @@ -248,6 +262,7 @@ def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: for idx in self.transform_order: data = self.transform_call(data, self.transforms[idx]) return data +''' class DropoutCompose(Compose): diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index 785d3cd5..7f94b736 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -14,7 +14,14 @@ IntNumType = Union[int, AbstractParameter] -class SITKResample(BaseTransform): +class _ITKTransform: + """ + this mixin indicates if the transform is Tensor-based, use to not shuffle in Compose. + """ + pass + + +class SITKResample(_ITKTransform, BaseTransform): """ simpleitk resampling class """ @@ -45,7 +52,7 @@ def forward(self, **data) -> dict: return data -class SITKWindows(BaseTransform): +class SITKWindows(_ITKTransform, BaseTransform): """ simpleitk windows class """ @@ -69,7 +76,7 @@ def forward(self, **data) -> dict: return data -class SITK2Tensor(BaseTransform): +class SITK2Tensor(_ITKTransform, BaseTransform): def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_seq[torch.dtype] = torch.float, insert_dim: int = None, @@ -82,7 +89,7 @@ def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_seq[torch.dtype """ super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) self.dtype = self._tuple_generator(dtype) - self.insert_dim = None + self.insert_dim = insert_dim def forward(self, **data) -> dict: for key, dtype in zip(self.keys, self.dtype): From 32107139650c19f44899d2c18519a280971171e9 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 29 Oct 2021 19:03:05 -0400 Subject: [PATCH 17/53] adding padding as a feature. fixed a bug on percentile normalization, and fixed a bug on Random Crop transformation --- .gitignore | 2 +- rising/transforms/__init__.py | 1 + rising/transforms/abstract.py | 8 +- rising/transforms/functional/crop.py | 10 +- rising/transforms/functional/intensity.py | 32 +++++- rising/transforms/functional/pad.py | 48 +++++++++ rising/transforms/intensity.py | 126 ++++++++++++---------- rising/transforms/pad.py | 49 +++++++++ tests/transforms/functional/test_pad.py | 31 ++++++ tests/transforms/test_pad.py | 32 ++++++ 10 files changed, 270 insertions(+), 69 deletions(-) create mode 100644 rising/transforms/functional/pad.py create mode 100644 rising/transforms/pad.py create mode 100644 tests/transforms/functional/test_pad.py create mode 100644 tests/transforms/test_pad.py diff --git a/.gitignore b/.gitignore index 645f2ff3..fb0bfc65 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ __pycache__ *.pyc *.idea *.DS_Store - +tmp* # data which is automatically downloaded inside notebooks notebooks/ExBox3 notebooks/MedNIST.tar.gz diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 5a05cd40..2bb29360 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -51,6 +51,7 @@ NormPercentile ) from rising.transforms.kernel import GaussianSmoothing, KernelTransform +from rising.transforms.pad import Pad from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting from rising.transforms.sitk import SITKWindows, SITKResample, SITK2Tensor from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 1ffe9cce..5cdbab79 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,4 +1,4 @@ -from typing import Any, Callable, Sequence, Tuple, TypeVar, Union +from typing import Any, Callable, Sequence, Tuple, TypeVar, Union, Dict import torch @@ -134,7 +134,7 @@ def __init__( self, augment_fn: augment_callable, *args, - keys: Sequence = ("data",), + keys: Sequence[str] = ("data",), grad: bool = False, property_names: Sequence[str] = (), **kwargs @@ -160,7 +160,7 @@ def __init__( self.register_sampler(name, val) self._tuple_generator = ntuple(len(self.keys)) - def forward(self, **data) -> dict: + def forward(self, **data) -> Dict[str, Any]: """ Apply transformation @@ -205,7 +205,7 @@ def forward(self, **data) -> dict: seed = torch.random.get_rng_state() for _key in self.keys: - torch.random.set_rng_state(seed) + torch.random.set_rng_state(seed) # noqa data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) return data diff --git a/rising/transforms/functional/crop.py b/rising/transforms/functional/crop.py index 954749b2..f3ff7403 100644 --- a/rising/transforms/functional/crop.py +++ b/rising/transforms/functional/crop.py @@ -1,7 +1,7 @@ -import torch -import random from typing import Union, Sequence +import torch + from rising.utils import check_scalar __all__ = ["crop", "center_crop", "random_crop"] @@ -32,7 +32,7 @@ def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int], cropped data """ _slices = [] - ndim = data.ndimension() - int(bool(grid_crop)) + ndim = data.ndimension() - int(bool(grid_crop)) # alias for ndim() if len(corner) < ndim: for i in range(ndim - len(corner)): _slices.append(slice(0, data.shape[i])) @@ -116,9 +116,9 @@ def random_crop(data: torch.Tensor, size: Union[int, Sequence[int]], else: data_shape = data.shape[2:] - if any([crop_dim + dist_dim >= img_dim for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)]): + if any([crop_dim + dist_dim > img_dim for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)]): raise TypeError(f"Crop can not be realized with given size {size} and dist {dist}.") - corner = [random.randrange(0, img_dim - crop_dim - dist_dim) for + corner = [int(torch.randint(0, max(int(img_dim - crop_dim - dist_dim), 1), (1,))) for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)] return crop(data, corner, size, grid_crop=grid_crop) diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 29ffe3b2..81570ba1 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -17,6 +17,7 @@ "clamp", "bezier_3rd_order", "random_inversion", + "norm_min_max_percentile" ] @@ -97,6 +98,36 @@ def _norm(_data: torch.Tensor, _out: torch.Tensor): return out +def norm_min_max_percentile(data: torch.Tensor, low_percentile, high_percentile, per_channel: bool = True, + out: Optional[torch.Tensor] = None, eps=1e-8): + """ + Normalize data based on min and max percentile between 0 - 100. + Args: + data: input data, under form of [C,H,W] and [C,H,W,D]. + low_percentile: low percentile to clamp, between 0 and 100 + high_percentile: high percentile to clam, between 0 and 100 + per_channel: if compute the percentile on channel + out: + eps: small eps to prevent division by 0.l + Returns: + torch.Tensor: normalized data + """ + if out is None: + out = torch.empty_like(data) + + if per_channel: + for i, data_ in enumerate(data): + min_ = torch.quantile(data_, low_percentile) + max_ = torch.quantile(data_, high_percentile) + out[i] = clamp(data_, min=float(min_), max=float(max_), out=out[i]) + else: + max_ = torch.quantile(data, low_percentile) + min_ = torch.quantile(data, high_percentile) + out = clamp(data, min=float(min_), max=float(max_), out=out) + + return norm_min_max(out, per_channel=per_channel, out=out, eps=eps) + + def norm_zero_mean_unit_std( data: torch.Tensor, per_channel: bool = True, out: Optional[torch.Tensor] = None, eps: Optional[float] = 1e-8 ) -> torch.Tensor: @@ -273,7 +304,6 @@ def random_inversion( minv: float = 0.0, out: Optional[torch.Tensor] = None, ) -> torch.Tensor: - if torch.rand((1)) < prob_inversion: # Inversion of curve out = maxv + minv - data diff --git a/rising/transforms/functional/pad.py b/rising/transforms/functional/pad.py new file mode 100644 index 00000000..fa10e286 --- /dev/null +++ b/rising/transforms/functional/pad.py @@ -0,0 +1,48 @@ +from typing import Union, Sequence + +from torch import Tensor +from torch.nn import functional as F + +from rising.utils import check_scalar +from rising.utils.mise import ntuple + + +def pad(data: Tensor, pad_size: Union[int, Sequence[int]], grid_pad=False, mode="constant", value: float = 0.0): + n_dim = data.dim() - 2 + # padding parameters + if check_scalar(pad_size): + pad_size = ntuple(n_dim * 2)(pad_size) + elif isinstance(pad_size, Sequence): + pad_size = tuple(pad_size) + if not(len(pad_size) == 0 or len(pad_size) != n_dim or len(pad_size) != n_dim * 2): + raise TypeError(pad_size) + if len(pad_size) == n_dim: + pad_size = tuple((z for double in zip(pad_size, pad_size) for z in double)) + elif (len(pad_size)) == n_dim * 2: + pad_size = pad_size + else: + raise RuntimeError(pad_size) + assert isinstance(pad_size, tuple) and len(pad_size) == 2 * n_dim + + # todo: understand the grid_pad for affine distribution + if grid_pad is False: + return F.pad(data, pad=pad_size, mode=mode, value=value) + else: + raise NotImplementedError(grid_pad) + +# +# if __name__ == '__main__': +# from PIL import Image +# import requests +# from io import BytesIO +# import numpy as np +# import torch +# from torch.nn import functional as F +# +# url = "https://miro.medium.com/max/1400/0*1F2u74JQYI8sUuYg" +# response = requests.get(url) +# img = Image.open(BytesIO(response.content)) +# np_img = np.asarray(img).astype(np.float32) +# t_img = torch.from_numpy(np_img).permute(2, 0, 1) +# t_img = t_img[None, ...] +# t_img_pad = F.pad(t_img, pad=(200, 200, 400, 400), mode="replicate") diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 078fefec..253b6797 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -3,7 +3,7 @@ import torch from rising.random import AbstractParameter -from rising.transforms.abstract import BaseTransform, PerChannelTransform, PerSampleTransform +from rising.transforms.abstract import BaseTransform, PerChannelTransform, PerSampleTransform, augment_callable from rising.transforms.functional.intensity import ( add_noise, add_value, @@ -16,6 +16,7 @@ norm_zero_mean_unit_std, random_inversion, scale_by_value, + norm_min_max_percentile ) __all__ = [ @@ -41,12 +42,12 @@ class Clamp(BaseTransform): """Apply augment_fn to keys""" def __init__( - self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ @@ -65,13 +66,13 @@ def __init__( class NormRange(PerSampleTransform): def __init__( - self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - **kwargs + self, + min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + **kwargs ): """ Args: @@ -94,7 +95,17 @@ def __init__( ) -class NormPercentile(NormRange): +class NormPercentile(PerSampleTransform): + """clamp the distribution based on percentile and normalize it between 0 and 1""" + + def __init__(self, min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], per_channel: bool = True, keys: Sequence[str] = ("data",), + grad: bool = False, + **kwargs): + super().__init__(augment_fn=norm_min_max_percentile, keys=keys, grad=grad, min=min, + max=max, property_names=("min", "max"), + **kwargs) + self.per_channel = per_channel def forward(self, **data) -> dict: """ @@ -113,9 +124,8 @@ def forward(self, **data) -> dict: out = torch.empty_like(data[_key]) for _i in range(data[_key].shape[0]): input_: torch.Tensor = data[_key][_i] - max_ = torch.quantile(input_, kwargs["max"]) - min_ = torch.quantile(input_, kwargs["min"]) - out[_i] = self.augment_fn(input_, out=out[_i], max=max_, min=min_, + out[_i] = self.augment_fn(input_, out=out[_i], high_percentile=kwargs["max"], + low_percentile=kwargs["min"], **{k: v for k, v in kwargs.items() if k not in ("max", "min")}) data[_key] = out return data @@ -125,12 +135,12 @@ class NormMinMax(PerSampleTransform): """Norm to [0, 1]""" def __init__( - self, - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - eps: Optional[float] = 1e-8, - **kwargs + self, + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + eps: Optional[float] = 1e-8, + **kwargs ): """ Args: @@ -148,12 +158,12 @@ class NormZeroMeanUnitStd(PerSampleTransform): """Normalize mean to zero and std to one""" def __init__( - self, - keys: Sequence = ("data",), - per_channel: bool = True, - grad: bool = False, - eps: Optional[float] = 1e-8, - **kwargs + self, + keys: Sequence = ("data",), + per_channel: bool = True, + grad: bool = False, + eps: Optional[float] = 1e-8, + **kwargs ): """ Args: @@ -173,13 +183,13 @@ class NormMeanStd(PerSampleTransform): """Normalize mean and std with provided values""" def __init__( - self, - mean: Union[float, Sequence[float]], - std: Union[float, Sequence[float]], - keys: Sequence[str] = ("data",), - per_channel: bool = True, - grad: bool = False, - **kwargs + self, + mean: Union[float, Sequence[float]], + std: Union[float, Sequence[float]], + keys: Sequence[str] = ("data",), + per_channel: bool = True, + grad: bool = False, + **kwargs ): """ Args: @@ -203,7 +213,7 @@ class Noise(PerChannelTransform): """ def __init__( - self, noise_type: str, per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, **kwargs + self, noise_type: str, per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -263,7 +273,7 @@ class GammaCorrection(BaseTransform): """Apply Gamma correction""" def __init__( - self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs + self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -285,13 +295,13 @@ class RandomValuePerChannel(PerChannelTransform): """ def __init__( - self, - augment_fn: callable, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + augment_fn: callable, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: @@ -349,12 +359,12 @@ class RandomAddValue(RandomValuePerChannel): """ def __init__( - self, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: @@ -377,12 +387,12 @@ class RandomScaleValue(RandomValuePerChannel): """ def __init__( - self, - random_sampler: AbstractParameter, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + random_sampler: AbstractParameter, + per_channel: bool = False, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs ): """ Args: diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py new file mode 100644 index 00000000..52a78dd8 --- /dev/null +++ b/rising/transforms/pad.py @@ -0,0 +1,49 @@ +from typing import Sequence, Union + +from rising.transforms.abstract import BaseTransform, item_or_seq +from rising.transforms.functional.pad import pad as _pad +from rising.utils.mise import ntuple + + +class Pad(BaseTransform): + def __init__(self, *, padding_size: item_or_seq[int], mode: str = "constant", pad_value: item_or_seq[float], + keys: Sequence[str] = ("data",), grad: bool = False, **kwargs): + """ + padding_size should be the same for all the keys. + pad_value can be different for different keys + """ + super().__init__(_pad, keys=keys, grad=grad, property_names=(), **kwargs) + self.padding_size = padding_size + self.mode = mode + self.pad_value = self._tuple_generator(pad_value) + + def forward(self, **data) -> dict: + """ + Apply transformation + + Args: + data: dict with tensors + + Returns: + dict: dict with augmented data + """ + kwargs = {} + for k in self.property_names: + kwargs[k] = getattr(self, k) + + kwargs.update(self.kwargs) + + for _key, _value in zip(self.keys, self.pad_value): + cur_data = data[_key] + input_shape = cur_data.shape[2:] + pad_size = self.pad_parameters(input_shape, self.padding_size, ndim=cur_data.dim() - 2) + data[_key] = self.augment_fn(data[_key], pad_size=pad_size, grid_pad=False, mode=self.mode, + value=_value) + return data + + @staticmethod + def pad_parameters(input_shape: Union[int, Sequence[int]], resize_shape: Union[int, Sequence[int]], *, ndim: int): + input_shape = ntuple(ndim)(input_shape) + resize_shape = ntuple(ndim)(resize_shape) + shape_difference = (max(0, r - i) for r, i in zip(resize_shape, input_shape)) + return [sub for y in [(x // 2, x - (x // 2)) for x in shape_difference] for sub in y][::-1] diff --git a/tests/transforms/functional/test_pad.py b/tests/transforms/functional/test_pad.py new file mode 100644 index 00000000..44b0c104 --- /dev/null +++ b/tests/transforms/functional/test_pad.py @@ -0,0 +1,31 @@ +import unittest + +import torch + +from rising.transforms.functional.pad import pad + + +class MyTestCase(unittest.TestCase): + def setUp(self) -> None: + self.data = torch.ones(1, 1, 10, 10) + self.complex_data = torch.ones(10, 3, 100, 100, 100) + + def test_constant_pad(self): + for p in range(1, 4): + padded = pad(self.data, pad_size=p, mode="constant", value=1.23) + expected = torch.ones(1, 1, 10 + p * 2, 10 + p * 2) + expected[:, :, 0:p, :] = 1.23 + expected[:, :, :, 0:p] = 1.23 + expected[:, :, -p:, :] = 1.23 + expected[:, :, :, -p:] = 1.23 + self.assertTrue((padded == expected).all()) + + def test_complex_pad(self): + for p in range(1, 4): + padded = pad(self.complex_data, pad_size=p, mode="circular", ) + expected = torch.ones(10, 3, 100 + p * 2, 100 + p * 2, 100 + p * 2) + self.assertTrue((padded == expected).all()) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/transforms/test_pad.py b/tests/transforms/test_pad.py new file mode 100644 index 00000000..f5813884 --- /dev/null +++ b/tests/transforms/test_pad.py @@ -0,0 +1,32 @@ +from rising.transforms import Pad +import unittest +import torch + + +class TestPad(unittest.TestCase): + + def setUp(self) -> None: + super().setUp() + image = torch.zeros(1, 1, 10, 10) + self._data = {"data": image, "seg": image.clone()} + + def test_pad_no_pad(self): + for pad_size in range(5, 10): + transform = Pad(padding_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) + cropped = transform(**self._data) + expected = torch.zeros(1, 1, 10, 10) + assert torch.allclose(cropped["data"], expected) + assert torch.allclose(cropped["seg"], expected) + + def test_pad(self): + for pad_size in range(11, 15): + transform = Pad(padding_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) + cropped = transform(**self._data) + expected = torch.zeros(1, 1, pad_size, pad_size) + expected_mask = torch.zeros_like(expected) + expected_mask[:, :, 0:(pad_size - 10) // 2, :] = -1 + expected_mask[:, :, :, 0:(pad_size - 10) // 2] = -1 + expected_mask[:, :, :, -(pad_size - (pad_size - 10) // 2 - 10):] = -1 + expected_mask[:, :, -(pad_size - (pad_size - 10) // 2 - 10):, :] = -1 + assert torch.allclose(cropped["data"], expected) + assert torch.allclose(cropped["seg"], expected_mask) From 9050e429a4673e407397513bb35b1e4fbdb63ed4 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 29 Oct 2021 21:25:46 -0400 Subject: [PATCH 18/53] fixed some minor bugs on kernel transformation and affine transformation --- .gitignore | 1 + rising/transforms/functional/affine.py | 2 +- rising/transforms/functional/crop.py | 28 ++++++++++++----------- rising/transforms/functional/intensity.py | 20 ++++++++++------ rising/transforms/kernel.py | 8 +++++-- tests/transforms/test_affine.py | 13 +++++++++++ 6 files changed, 49 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index c1e47e24..252d0745 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ __pycache__ *.DS_Store tmp* tests/integration/ +zz* # data which is automatically downloaded inside notebooks notebooks/ExBox3 notebooks/MedNIST.tar.gz diff --git a/rising/transforms/functional/affine.py b/rising/transforms/functional/affine.py index 5c0461de..f0107520 100644 --- a/rising/transforms/functional/affine.py +++ b/rising/transforms/functional/affine.py @@ -205,7 +205,7 @@ def create_rotation( """ if rotation is None: rotation = 0 - num_rot_params = 1 if ndim == 2 else ndim + num_rot_params = 1 if ndim == 2 else ndim # this prevents to put 2 dimensional input for 2d images. rotation = expand_scalar_param(rotation, batchsize, num_rot_params).to(device=device, dtype=dtype) if degree: diff --git a/rising/transforms/functional/crop.py b/rising/transforms/functional/crop.py index f3ff7403..c5335c57 100644 --- a/rising/transforms/functional/crop.py +++ b/rising/transforms/functional/crop.py @@ -1,4 +1,4 @@ -from typing import Union, Sequence +from typing import Sequence, Union import torch @@ -7,8 +7,7 @@ __all__ = ["crop", "center_crop", "random_crop"] -def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int], - grid_crop: bool = False): +def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int], grid_crop: bool = False): """ Extract crop from last dimensions of data @@ -43,8 +42,7 @@ def crop(data: torch.Tensor, corner: Sequence[int], size: Sequence[int], return data[_slices] -def center_crop(data: torch.Tensor, size: Union[int, Sequence[int]], - grid_crop: bool = False) -> torch.Tensor: +def center_crop(data: torch.Tensor, size: Union[int, Sequence[int]], grid_crop: bool = False) -> torch.Tensor: """ Crop patch from center @@ -75,13 +73,13 @@ def center_crop(data: torch.Tensor, size: Union[int, Sequence[int]], else: data_shape = data.shape[2:] - corner = [int(round((img_dim - crop_dim) / 2.)) for img_dim, crop_dim in zip(data_shape, size)] + corner = [int(round((img_dim - crop_dim) / 2.0)) for img_dim, crop_dim in zip(data_shape, size)] return crop(data, corner, size, grid_crop=grid_crop) -def random_crop(data: torch.Tensor, size: Union[int, Sequence[int]], - dist: Union[int, Sequence[int]] = 0, - grid_crop: bool = False) -> torch.Tensor: +def random_crop( + data: torch.Tensor, size: Union[int, Sequence[int]], dist: Union[int, Sequence[int]] = 0, grid_crop: bool = False +) -> torch.Tensor: """ Crop random patch/volume from input tensor @@ -117,8 +115,12 @@ def random_crop(data: torch.Tensor, size: Union[int, Sequence[int]], data_shape = data.shape[2:] if any([crop_dim + dist_dim > img_dim for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)]): - raise TypeError(f"Crop can not be realized with given size {size} and dist {dist}.") - - corner = [int(torch.randint(0, max(int(img_dim - crop_dim - dist_dim), 1), (1,))) for - img_dim, crop_dim, dist_dim in zip(data_shape, size, dist)] + raise TypeError( + f"Crop can not be realized with given size {size} and dist {dist}, " f"given input shape {data_shape}" + ) + + corner = [ + int(torch.randint(0, max(int(img_dim - crop_dim - dist_dim), 1), (1,))) + for img_dim, crop_dim, dist_dim in zip(data_shape, size, dist) + ] return crop(data, corner, size, grid_crop=grid_crop) diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 81570ba1..8f010630 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -17,7 +17,7 @@ "clamp", "bezier_3rd_order", "random_inversion", - "norm_min_max_percentile" + "norm_min_max_percentile", ] @@ -98,8 +98,14 @@ def _norm(_data: torch.Tensor, _out: torch.Tensor): return out -def norm_min_max_percentile(data: torch.Tensor, low_percentile, high_percentile, per_channel: bool = True, - out: Optional[torch.Tensor] = None, eps=1e-8): +def norm_min_max_percentile( + data: torch.Tensor, + low_percentile: float, + high_percentile: float, + per_channel: bool = True, + out: Optional[torch.Tensor] = None, + eps=1e-8, +): """ Normalize data based on min and max percentile between 0 - 100. Args: @@ -117,12 +123,12 @@ def norm_min_max_percentile(data: torch.Tensor, low_percentile, high_percentile, if per_channel: for i, data_ in enumerate(data): - min_ = torch.quantile(data_, low_percentile) - max_ = torch.quantile(data_, high_percentile) + min_ = torch.quantile(data_.float(), float(low_percentile)) + max_ = torch.quantile(data_.float(), float(high_percentile)) out[i] = clamp(data_, min=float(min_), max=float(max_), out=out[i]) else: - max_ = torch.quantile(data, low_percentile) - min_ = torch.quantile(data, high_percentile) + max_ = torch.quantile(data, float(low_percentile)) + min_ = torch.quantile(data, float(high_percentile)) out = clamp(data, min=float(min_), max=float(max_), out=out) return norm_min_max(out, per_channel=per_channel, out=out, eps=eps) diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index 6c82a69c..fdfb618c 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -2,12 +2,13 @@ from typing import Callable, Sequence, Union import torch +from torch.nn import functional as F from rising.utils import check_scalar -from torch.nn import functional as F -from .abstract import AbstractTransform, item_or_seq from rising.utils.mise import ntuple +from .abstract import AbstractTransform, item_or_seq + __all__ = ["KernelTransform", "GaussianSmoothing"] @@ -106,8 +107,11 @@ def forward(self, **data) -> dict: Returns: dict: dict with transformed data """ + dtype = data[self.keys[0]].dtype + self.to(dtype) for key, padding_mode in zip(self.keys, self.padding_mode): inp_pad = F.pad(data[key], self.padding, mode=padding_mode) + data[key] = self.conv(inp_pad, weight=self.weight, groups=self.groups, stride=self.stride) return data diff --git a/tests/transforms/test_affine.py b/tests/transforms/test_affine.py index 009deade..8f0b8479 100644 --- a/tests/transforms/test_affine.py +++ b/tests/transforms/test_affine.py @@ -2,6 +2,7 @@ import torch +from rising.random import UniformParameter from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous @@ -159,6 +160,18 @@ def test_translation_assemble_matrix_with_pixel(self): trafo.assemble_matrix(**sample) self.assertTrue(expected.allclose(expected)) + def test_affine_prob(self): + image = torch.randn(13, 1, 224, 224) + prob = torch.randn(13, 1, 224, 224) + translate = BaseAffine( + rotation=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + degree=True, + scale=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + keys=("data", "prob"), + ) + image_, prob_ = translate(data=image, prob=prob).values() + pass + if __name__ == "__main__": unittest.main() From 74c7827d37dca34ca1f932f3e1f23c0b62eb362d Mon Sep 17 00:00:00 2001 From: Jizong's Fox Date: Sat, 30 Oct 2021 17:48:39 -0400 Subject: [PATCH 19/53] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index a2b073d5..dd37d08d 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,11 @@ Multiple examples for different use cases can be found in our [tutorial docs](ht [Example Transformation Output](https://rising.readthedocs.io/en/latest/transformations.html), [Integration of External Frameworks](https://rising.readthedocs.io/en/latest/external_augmentation.html) +## What I have modified from the original repo? + +I noticed that rising under its current form has small bugs and inconsistency in terms of design and performance, especially for medical image segmentation task with 3D volumes. Based on project requirement, several improvements have been made so that it can now enjoy a better compatibility with 3D datas and intenstive augmentation operations using GPUs. Issues and PRs are welcome. + + ## Why another framework? | | rising | TorchIO | Batchgenerators | Kornia | DALI | Vanilla PyTorch | Albumentations | From eb0d17c7ff53b15d2cebb918460f985ba10912ea Mon Sep 17 00:00:00 2001 From: yuxiang Date: Tue, 2 Nov 2021 10:37:33 +0800 Subject: [PATCH 20/53] bug fixed: Oneof api has no attibute keys --- rising/utils/transforms.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rising/utils/transforms.py b/rising/utils/transforms.py index b88ffead..5483eeea 100644 --- a/rising/utils/transforms.py +++ b/rising/utils/transforms.py @@ -27,6 +27,6 @@ def iter_transform(transforms: Union['Compose', 'AbstractTransform', Sequence['A def get_keys_from_transforms(transforms) -> Sequence[str]: - _keys = [transform.keys for transform in iter_transform(transforms)] + _keys = [transform.keys for transform in iter_transform(transforms) if hasattr(transform, "keys")] keys = tuple(set([item for sublist in _keys for item in sublist])) return keys From db7b53336e4b7430de8f62da3aa05d5474cc6db0 Mon Sep 17 00:00:00 2001 From: Jizong's Fox Date: Mon, 1 Nov 2021 23:05:01 -0400 Subject: [PATCH 21/53] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dd37d08d..ed22ceb1 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Multiple examples for different use cases can be found in our [tutorial docs](ht ## What I have modified from the original repo? I noticed that rising under its current form has small bugs and inconsistency in terms of design and performance, especially for medical image segmentation task with 3D volumes. Based on project requirement, several improvements have been made so that it can now enjoy a better compatibility with 3D datas and intenstive augmentation operations using GPUs. Issues and PRs are welcome. +Thanks a lot @Yuxiang1990 for the kind PR. ## Why another framework? From 1d03064ddf871213584e3d9267812ae2293b3793 Mon Sep 17 00:00:00 2001 From: Jizong's Fox Date: Mon, 1 Nov 2021 23:05:29 -0400 Subject: [PATCH 22/53] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed22ceb1..ab5a9722 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Multiple examples for different use cases can be found in our [tutorial docs](ht ## What I have modified from the original repo? I noticed that rising under its current form has small bugs and inconsistency in terms of design and performance, especially for medical image segmentation task with 3D volumes. Based on project requirement, several improvements have been made so that it can now enjoy a better compatibility with 3D datas and intenstive augmentation operations using GPUs. Issues and PRs are welcome. + Thanks a lot @Yuxiang1990 for the kind PR. From a443b754df8defed193bdcc36398ee20846267f6 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 5 Nov 2021 22:10:52 -0400 Subject: [PATCH 23/53] fixed a bug on one of --- rising/loading/loader.py | 11 ++- rising/transforms/abstract.py | 21 +++-- rising/transforms/compose.py | 103 ++++--------------------- rising/transforms/functional/tensor.py | 1 + rising/transforms/kernel.py | 6 +- rising/utils/transforms.py | 23 +++++- 6 files changed, 58 insertions(+), 107 deletions(-) diff --git a/rising/loading/loader.py b/rising/loading/loader.py index e5d6b6b7..5f9e8462 100644 --- a/rising/loading/loader.py +++ b/rising/loading/loader.py @@ -12,7 +12,7 @@ from torch.utils.data.dataloader import _MultiProcessingDataLoaderIter as __MultiProcessingDataLoaderIter from torch.utils.data.dataloader import _SingleProcessDataLoaderIter as __SingleProcessDataLoaderIter -from rising.utils.transforms import get_keys_from_transforms +from rising.utils.transforms import get_dtype_from_transforms, get_keys_from_transforms try: import numpy as np @@ -199,9 +199,14 @@ def __init__( keys = get_keys_from_transforms(gpu_transforms) to_gpu_trafo = ToDevice(device=device, non_blocking=pin_memory, keys=keys) - gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) # noqa + gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) gpu_transforms = gpu_transforms.to(device) + # check the dtype from the gpu compose + dtype = get_dtype_from_transforms(gpu_transforms) + if dtype: + gpu_transforms = gpu_transforms.to(dtype) + self.device = device self.sample_transforms = sample_transforms self.pseudo_batch_dim = pseudo_batch_dim and sample_transforms is not None @@ -445,7 +450,7 @@ def __getitem__(self, item: int) -> Any: return sample def __len__(self) -> int: - return len(self.dataset) # noqa + return len(self.dataset) def _change_pseudo_batch_dim(self, sample: Any, add: bool) -> Any: """ diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 5cdbab79..6f2411eb 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,18 +1,24 @@ -from typing import Any, Callable, Sequence, Tuple, TypeVar, Union, Dict +from typing import Any, Callable, Dict, Sequence, Tuple, TypeVar, Union import torch from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import ntuple -__all__ = ["AbstractTransform", "item_or_seq", "BaseTransform", "PerSampleTransform", "PerChannelTransform", - "BaseTransformSeeded"] +T = TypeVar("T") +item_or_seq = Union[T, Sequence[T]] augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] -T = TypeVar("T") -item_or_seq = Union[T, Sequence[T]] +__all__ = [ + "AbstractTransform", + "item_or_seq", + "BaseTransform", + "PerSampleTransform", + "PerChannelTransform", + "BaseTransformSeeded", +] class AbstractTransform(torch.nn.Module): @@ -65,8 +71,7 @@ def sample(self): if len(sample_result) == 1: return sample_result[0] - else: - return sample_result + return sample_result setattr(self, name, property(sample)) @@ -205,7 +210,7 @@ def forward(self, **data) -> dict: seed = torch.random.get_rng_state() for _key in self.keys: - torch.random.set_rng_state(seed) # noqa + torch.random.set_rng_state(seed) data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) return data diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index 0ebf6445..6490c315 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -8,7 +8,11 @@ from rising.transforms.sitk import _ITKTransform from rising.utils import check_scalar -__all__ = ["Compose", "DropoutCompose", "OneOf", ] +__all__ = [ + "Compose", + "DropoutCompose", + "OneOf", +] def dict_call(batch: dict, transform: Callable) -> Any: @@ -24,7 +28,8 @@ def dict_call(batch: dict, transform: Callable) -> Any: """ if not isinstance(batch, Mapping): raise RuntimeError( - f"You may want to pass `default_transform_call` from rising.loading as `transform_call` to `Compose`") + "You may want to pass `default_transform_call` from rising.loading as `transform_call` to `Compose`" + ) return transform(**batch) @@ -176,95 +181,12 @@ def shuffle_transform(self): assert isinstance(trans, AbstractTransform) if not isinstance(trans, _ITKTransform): tensor_transform_indicator.append(i) - transform_mapping = {k: v for k, v in zip( - tensor_transform_indicator, np.random.permutation(tensor_transform_indicator) - )} + transform_mapping = { + k: v for k, v in zip(tensor_transform_indicator, np.random.permutation(tensor_transform_indicator)) + } self.transform_order = [transform_mapping.get(i, i) for i in self.transform_order] -''' we delete this function. -class SampleCompose(Compose): - """ - Since every transformation takes dimension of `batch`, `feature_channel`, H, W, (D), - it is thus necessary to add `batch` dimension as a pseudo one when calling transformation inside the - dataset (before the collate function is called.) - In this `SampleCompose` module, we add manually a dimension insertion module and remove it afterwards. - """ - - def __init__(self, *transforms: Union[AbstractTransform, Sequence[AbstractTransform]], shuffle: bool = False, - transform_call: Callable[[Any, Callable], Any] = dict_call, insert_dim: int): - self._insert_dim = insert_dim - super().__init__(*transforms, shuffle=shuffle, transform_call=transform_call) - - @property - def transforms(self) -> torch.nn.ModuleList: - """ - Transforms getter - - Returns: - torch.nn.ModuleList: transforms to compose - """ - return self._transforms - - @transforms.setter - def transforms(self, transforms: Union[AbstractTransform, Sequence[AbstractTransform]]): - """ - Transforms setter - - Args: - transforms: one or multiple transformations which are applied in - consecutive order - - """ - # make transforms a list to be mutable. - # Otherwise the enforced typesetting below might fail. - - if isinstance(transforms, tuple): - transforms = list(transforms) - if self._insert_dim is not None: - from rising.transforms.tensor import TensorInsertDim, TensorRemoveDim - keys = get_keys_from_transforms(transforms) - transforms.insert(0, TensorInsertDim(self._insert_dim, keys=keys)) - transforms.append(TensorRemoveDim(self._insert_dim, keys=keys)) - - for idx, trafo in enumerate(transforms): - if not isinstance(trafo, torch.nn.Module): - transforms[idx] = _TransformWrapper(trafo) - - self._transforms = torch.nn.ModuleList(transforms) - self.transform_order = list(range(len(self.transforms))) - - def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: - """ - Apply transforms in a consecutive order. Can either handle - Sequence like or Mapping like data. - - Args: - *seq_like: data which is unpacked like a Sequence - **map_like: data which is unpacked like a dict - - Returns: - Union[Sequence, Mapping]: transformed data - """ - assert not (seq_like and map_like) - assert len(self.transforms) == len(self.transform_order) - data = seq_like if seq_like else map_like - - if self.shuffle: - if self._insert_dim is not None: - new_transform_order = sample(self.transform_order[1:-1], len(self.transform_order[1:-1])) - new_transform_order.insert(0, self.transform_order[0]) - new_transform_order.append(self.transform_order[-1]) - self.transform_order = new_transform_order - else: - shuffle(self.transform_order) - - for idx in self.transform_order: - data = self.transform_call(data, self.transforms[idx]) - return data -''' - - class DropoutCompose(Compose): """ Compose multiple transforms to one and randomly apply them @@ -366,7 +288,7 @@ def __init__( transforms = transforms[0] if not transforms: raise ValueError("At least one transformation needs to be selected.") - self.transforms = transforms + self.transforms = torch.nn.ModuleList(transforms) if weights is not None and len(weights) != len(transforms): raise ValueError( @@ -386,3 +308,6 @@ def forward(self, **data) -> dict: index = torch.multinomial(self.weights, 1) data = self.transform_call(data, self.transforms[int(index)]) return data + + def extra_repr(self) -> str: + return ", ".join([str(x) for x in self.transforms]) diff --git a/rising/transforms/functional/tensor.py b/rising/transforms/functional/tensor.py index 05502bce..7d1e74bf 100644 --- a/rising/transforms/functional/tensor.py +++ b/rising/transforms/functional/tensor.py @@ -41,6 +41,7 @@ def to_device_dtype( Args: data: data which should be pushed to device. Sequence and mapping items are mapping individually to gpu + dtype: target dtype device: target device kwargs: keyword arguments passed to assigning function diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index fdfb618c..2a7646e5 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -1,5 +1,5 @@ import math -from typing import Callable, Sequence, Union +from typing import Callable, Sequence import torch from torch.nn import functional as F @@ -107,8 +107,8 @@ def forward(self, **data) -> dict: Returns: dict: dict with transformed data """ - dtype = data[self.keys[0]].dtype - self.to(dtype) + # dtype, device = data[self.keys[0]].dtype, data[self.keys[0]].device + # self.to(dtype) for key, padding_mode in zip(self.keys, self.padding_mode): inp_pad = F.pad(data[key], self.padding, mode=padding_mode) diff --git a/rising/utils/transforms.py b/rising/utils/transforms.py index 5483eeea..3f502d6e 100644 --- a/rising/utils/transforms.py +++ b/rising/utils/transforms.py @@ -1,6 +1,7 @@ import typing -from typing import Union, Sequence, Iterable +from typing import Iterable, Optional, Sequence, Union +import torch from torch import nn if typing.TYPE_CHECKING: @@ -8,10 +9,12 @@ from rising.transforms.compose import Compose -def iter_transform(transforms: Union['Compose', 'AbstractTransform', Sequence['AbstractTransform'], nn.ModuleList]) -> \ - Iterable['AbstractTransform']: +def iter_transform( + transforms: Union["Compose", "AbstractTransform", Sequence["AbstractTransform"], nn.ModuleList] +) -> Iterable["AbstractTransform"]: from rising.transforms.abstract import AbstractTransform from rising.transforms.compose import Compose + if isinstance(transforms, AbstractTransform) and not isinstance(transforms, Compose): yield transforms elif isinstance(transforms, Compose): @@ -21,7 +24,7 @@ def iter_transform(transforms: Union['Compose', 'AbstractTransform', Sequence['A yield from iter_transform(x) elif isinstance(transforms, nn.ModuleList): for x in transforms: - yield from iter_transform(x) # noqa + yield from iter_transform(x) else: raise TypeError(transforms) @@ -30,3 +33,15 @@ def get_keys_from_transforms(transforms) -> Sequence[str]: _keys = [transform.keys for transform in iter_transform(transforms) if hasattr(transform, "keys")] keys = tuple(set([item for sublist in _keys for item in sublist])) return keys + + +def get_dtype_from_transforms(transforms) -> Optional[torch.dtype]: + """ + this gives the dtype that the gpu transform should be converted, if ToDtypeTransform is given. + """ + from rising.transforms import ToDtype + + for transform in iter_transform(transforms): + if isinstance(transform, ToDtype): + dtype = transform.dtype + return dtype From 6b3a79076a3b9279abb6d20def570a86cf626ba1 Mon Sep 17 00:00:00 2001 From: jizong Date: Sun, 7 Nov 2021 21:31:46 -0500 Subject: [PATCH 24/53] refactorizing data augmentition abstract class and then rewrite spatial transforms. --- rising/transforms/__init__.py | 34 ++- rising/transforms/abstract.py | 287 +++++++++++++------- rising/transforms/affine.py | 6 +- rising/transforms/compose.py | 19 +- rising/transforms/crop.py | 14 +- rising/transforms/format.py | 12 +- rising/transforms/functional/crop.py | 1 + rising/transforms/functional/intensity.py | 33 ++- rising/transforms/functional/pad.py | 28 +- rising/transforms/functional/spatial.py | 13 +- rising/transforms/grid.py | 184 +++++++------ rising/transforms/intensity.py | 88 +++--- rising/transforms/kernel.py | 4 +- rising/transforms/pad.py | 17 +- rising/transforms/painting.py | 10 +- rising/transforms/sitk.py | 49 ++-- rising/transforms/spatial.py | 216 +++++---------- rising/transforms/tensor.py | 26 +- rising/transforms/utility.py | 10 +- rising/utils/enum.py | 7 + rising/utils/mise.py | 81 ++++++ rising/utils/transforms.py | 10 +- tests/realtime_viewer.py | 154 +++++++++++ tests/transforms/_helpers.py | 4 +- tests/transforms/test_abstract2.py | 63 +++++ tests/transforms/test_abstract_transform.py | 42 ++- tests/transforms/test_compose.py | 6 +- tests/transforms/test_spatial_transforms.py | 94 ++++--- 28 files changed, 979 insertions(+), 533 deletions(-) create mode 100644 rising/utils/enum.py create mode 100644 tests/realtime_viewer.py create mode 100644 tests/transforms/test_abstract2.py diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 2bb29360..5450ce36 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -20,19 +20,25 @@ """ from rising.transforms.abstract import ( - AbstractTransform, BaseTransform, - BaseTransformSeeded, - PerChannelTransform, - PerSampleTransform, + BaseTransformMixin, + PerChannelTransformMixin, + PerSampleTransformMixin, + _AbstractTransform, ) from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate from rising.transforms.channel import ArgMax, OneHot from rising.transforms.compose import Compose, DropoutCompose, OneOf from rising.transforms.crop import CenterCrop, RandomCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap -from rising.transforms.grid import GridTransform, StackedGridTransform, RandomCropGrid, CenterCropGrid, \ - ElasticDistortion, RadialDistortion +from rising.transforms.grid import ( + CenterCropGrid, + ElasticDistortion, + GridTransform, + RadialDistortion, + RandomCropGrid, + StackedGridTransform, +) from rising.transforms.intensity import ( Clamp, ExponentialNoise, @@ -42,19 +48,27 @@ Noise, NormMeanStd, NormMinMax, + NormPercentile, NormRange, NormZeroMeanUnitStd, RandomAddValue, RandomBezierTransform, RandomScaleValue, RandomValuePerChannel, - NormPercentile ) from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.pad import Pad from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting -from rising.transforms.sitk import SITKWindows, SITKResample, SITK2Tensor +from rising.transforms.sitk import SITK2Tensor, SITKResample, SITKWindows from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom -from rising.transforms.tensor import Permute, TensorOp, ToDevice, ToDeviceDtype, ToDtype, ToTensor, TensorInsertDim, \ - TensorRemoveDim +from rising.transforms.tensor import ( + Permute, + TensorInsertDim, + TensorOp, + TensorRemoveDim, + ToDevice, + ToDeviceDtype, + ToDtype, + ToTensor, +) from rising.transforms.utility import BoxToSeg, DoNothing, InstanceToSemantic, SegToBox diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 6f2411eb..d20274ce 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,9 +1,19 @@ -from typing import Any, Callable, Dict, Sequence, Tuple, TypeVar, Union +from abc import ABC +from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union import torch from rising.random import AbstractParameter, DiscreteParameter -from rising.utils.mise import ntuple +from rising.utils.mise import fix_seed_cxm, ntuple, nullcxm + +__all__ = [ + "_AbstractTransform", + "item_or_seq", + "BaseTransform", + "PerChannelTransformMixin", + "PerSampleTransformMixin", + "BaseTransformMixin", +] T = TypeVar("T") item_or_seq = Union[T, Sequence[T]] @@ -11,17 +21,8 @@ augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] -__all__ = [ - "AbstractTransform", - "item_or_seq", - "BaseTransform", - "PerSampleTransform", - "PerChannelTransform", - "BaseTransformSeeded", -] - -class AbstractTransform(torch.nn.Module): +class _AbstractTransform(torch.nn.Module): """Base class for all transforms""" def __init__(self, grad: bool = False, **kwargs): @@ -31,7 +32,7 @@ def __init__(self, grad: bool = False, **kwargs): """ super().__init__() self.grad = grad - self._registered_samplers = [] + self._registered_samplers: List[str] = [] for key, item in kwargs.items(): setattr(self, key, item) @@ -51,8 +52,7 @@ def register_sampler(self, name: str, sampler: Union[Sequence, AbstractParameter sampler call) """ self._registered_samplers.append(name) - if hasattr(self, name): - raise NameError("Name %s already exists" % name) + if not isinstance(sampler, (tuple, list)): sampler = [sampler] @@ -73,8 +73,20 @@ def sample(self): return sample_result[0] return sample_result + if hasattr(self, name): + delattr(self, name) setattr(self, name, property(sample)) + def need_sampler(self, value) -> bool: + if isinstance(value, AbstractParameter): + return True + if isinstance(value, (list, tuple)): + return any([self.need_sampler(x) for x in value]) + if isinstance(value, dict): + raise NotImplementedError(value) + else: + return False + def __getattribute__(self, item) -> Any: """ Automatically dereference registered samplers @@ -126,27 +138,44 @@ def forward(self, **data) -> dict: raise NotImplementedError -class BaseTransform(AbstractTransform): +class BaseTransform(_AbstractTransform, ABC): """ Transform to apply a functional interface to given keys .. warning:: This transform should not be used with functions which have randomness build in because it will result in different augmentations per key. + Modifications: + Three kinds of attributes can be found here. + 1. The attribute which can be sampled (include AbstractParameters, Sequence[Abstract], int, float, Tensor etc.) + These attributes can be sampled when calling __get__ magic function. stored in _registered_samplers. + 2. The attribute which is specific to each key, such as interpolation, mode, etc. These keys must be get + per key. stored in _registered_key_pairs. + 3. The attribute which is normal. + + + Since we have modified the seed manager with context manager, + we can release the requirement of seeding. + + We need to pass a list of attributes to be passed to augment_fn ??? + """ def __init__( self, + *, augment_fn: augment_callable, - *args, keys: Sequence[str] = ("data",), grad: bool = False, - property_names: Sequence[str] = (), - **kwargs + paired_kw_names: Sequence[str] = (), + augment_fn_names: Sequence[str], + per_sample: bool = True, + **kwargs, ): """ Args: - augment_fn: function for augmentation + augment_fn: function for augmentatioN + Modification made here: all augment_fu accept data under form of BCHW(D) form. *args: positional arguments passed to augment_fn keys: keys which should be augmented grad: enable gradient computation inside transformation @@ -154,47 +183,98 @@ def __init__( during forward pass **kwargs: keyword arguments passed to augment_fn """ - sampler_vals = [kwargs.pop(name) for name in property_names] + sampler_vals = {k: v for k, v in kwargs.items() if self.need_sampler(v)} + # kwargs = {k: v for k, v in kwargs.items() if k not in sampler_vals} super().__init__(grad=grad, **kwargs) + self._paired_kw_names: List[str] = [] + self._augment_fn_names = augment_fn_names # kwargs passed to the augment_fn + self.augment_fn = augment_fn + assert isinstance(keys, Sequence), keys self.keys = keys - self.property_names = property_names - self.args = args + + self.per_sample = per_sample self.kwargs = kwargs - for name, val in zip(property_names, sampler_vals): - self.register_sampler(name, val) - self._tuple_generator = ntuple(len(self.keys)) - def forward(self, **data) -> Dict[str, Any]: + self.tuple_generator = ntuple(len(self.keys)) + + for kwarg_name in paired_kw_names: + self.register_paired_attribute(kwarg_name, getattr(self, kwarg_name)) + + for name, val in sampler_vals.items(): + self.register_sampler(name, val) # lazy sampling values + + def sample_for_batch(self, name: str, batchsize: int) -> Optional[Union[Any, Sequence[Any]]]: """ - Apply transformation + Sample elements for batch Args: - data: dict with tensors + name: name of parameter + batchsize: batch size Returns: - dict: dict with augmented data + Optional[Union[Any, Sequence[Any]]]: sampled elements """ - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) + elem = getattr(self, name) + if elem is not None and self.per_sample: + return [elem] + [getattr(self, name) for _ in range(batchsize - 1)] + else: + return elem # either a single scalar value or None - kwargs.update(self.kwargs) + def register_paired_attribute(self, name: str, value: item_or_seq[T]): + if name in self._paired_kw_names: + raise ValueError(f"{name} has been registered in self._pair_kwarg_names") + if name not in self._augment_fn_names: + raise ValueError(f"{name} must be provided in `augment_fn_names`") + self._paired_kw_names.append(name) + setattr(self, name, self.tuple_generator(value)) - for _key in self.keys: - data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) - return data + def get_pair_kwargs(self, key: str) -> Dict[str, Any]: + assert key in self.keys, key + index = self.keys.index(key) + return {k: getattr(self, k)[index] for k in self._paired_kw_names} + + def forward(self, **data) -> dict: + """ + implementation override by mixin + """ + raise NotImplementedError -class BaseTransformSeeded(BaseTransform): +class _BaseMixin(ABC): """ - Transform to apply a functional interface to given keys and use the same - pytorch(!) seed for every key. + base mixin class to perform the forward function. """ - def forward(self, **data) -> dict: + per_sample: bool # we have per_sample by default. + get_pair_kwargs: Callable[[str], Dict[str, Any]] + kwargs: Dict[str, Any] + keys: Sequence[str] + augment_fn: Callable # all augment_fn take BCHWD as data input. + + _augment_fn_names: Sequence[str] + _paired_kw_names: List[str] + + +class BaseTransformMixin(_BaseMixin): + """ + this mixin call augment_fun and put all batch data into the data. + you don't care about per_sample option. + """ + + def __init__(self, *, seeded: bool = True, p: float = 1, **kwargs) -> None: + """ + Args: + seeded: bool, default False. if the transformation need to fix the random seed for each key + p: float: probability of applying augment_fn per batch """ - Apply transformation and use same seed for every key + super().__init__(**kwargs) + self.seeded = seeded + self.p = p + + def forward(self, **data) -> Dict[str, Any]: + """ + Apply transformation Args: data: dict with tensors @@ -202,30 +282,40 @@ def forward(self, **data) -> dict: Returns: dict: dict with augmented data """ - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) + seed = int(torch.randint(0, int(1e16), (1,))) - kwargs.update(self.kwargs) + for _ik, _key in enumerate(self.keys): + with self.random_cxm(seed): + kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} + kwargs.update(self.get_pair_kwargs(_key)) - seed = torch.random.get_rng_state() - for _key in self.keys: - torch.random.set_rng_state(seed) - data[_key] = self.augment_fn(data[_key], *self.args, **kwargs) + if torch.rand(1).item() < self.p: + data[_key] = self.augment_fn(data[_key], **kwargs) return data + @property + def random_cxm(self): + return fix_seed_cxm if self.seeded else nullcxm + -class PerSampleTransform(BaseTransform): +class PerSampleTransformMixin(BaseTransformMixin): """ - Apply transformation to each sample in batch individually - :attr:`augment_fn` must be callable with option :attr:`out` - where results are saved in. + Transfer to a mixed in to override the forward of `BasesTransform`. + + 1. random draw a seed as int + 3. fixed the seed + i as the beginning of the sample 1CBHWD - .. warning:: This transform should not be used - with functions which have randomness build in because it will - result in different augmentations per sample and key. """ + def __init__(self, *, p: float = 1, **kwargs): + """ + Args: + p: probability of applying the transform per sample. + """ + super(PerSampleTransformMixin, self).__init__(**kwargs) + assert 0 <= p <= 1, p + self.p = p + def forward(self, **data) -> dict: """ Args: @@ -234,21 +324,35 @@ def forward(self, **data) -> dict: Returns: dict: dict with augmented data """ - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) - - kwargs.update(self.kwargs) - for _key in self.keys: - out = torch.empty_like(data[_key]) - for _i in range(data[_key].shape[0]): - out[_i] = self.augment_fn(data[_key][_i], out=out[_i], **kwargs) - data[_key] = out + if not self.per_sample: + return super(PerSampleTransformMixin, self).forward(**data) + + seed = int(torch.randint(0, int(1e16), (1,))) + + for _ik, _key in enumerate(self.keys): + batch_size = data[_key].shape[0] + out = [] + for b in range(batch_size): + with self.random_cxm(seed + b): + kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} + kwargs.update(self.get_pair_kwargs(_key)) + print(seed + b, kwargs) + + if torch.rand(1).item() < self.p: + out.append(self.augment_fn(data[_key][b][None, ...], **kwargs)) + else: + out.append(data[_key][b][None, ...]) + + data[_key] = torch.cat(out, dim=0) return data -class PerChannelTransform(BaseTransform): +class PerChannelTransformMixin(BaseTransformMixin): """ + Transfer to a mixed in to override the forward of `BasesTransform`. + + This mixin gives augment_fn without per_channel attribute a chance to perform channel-wise operation. + Apply transformation per channel (but still to whole batch) .. warning:: This transform should not be used @@ -256,24 +360,13 @@ class PerChannelTransform(BaseTransform): result in different augmentations per channel and key. """ - def __init__( - self, - augment_fn: augment_callable, - per_channel: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - property_names: Tuple[str] = (), - **kwargs - ): + def __init__(self, *, per_channel: bool, **kwargs): """ Args: - augment_fn: function for augmentation - per_channel: enable transformation per channel - keys: keys which should be augmented - grad: enable gradient computation inside transformation - kwargs: keyword arguments passed to augment_fn + per_channel:bool parameter to perform per_channel operation + kwargs: base parameters """ - super().__init__(augment_fn=augment_fn, keys=keys, grad=grad, property_names=property_names, **kwargs) + super().__init__(**kwargs) self.per_channel = per_channel def forward(self, **data) -> dict: @@ -286,17 +379,19 @@ def forward(self, **data) -> dict: Returns: dict: dict with augmented data """ - if self.per_channel: - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) - - kwargs.update(self.kwargs) - for _key in self.keys: - out = torch.empty_like(data[_key]) - for _i in range(data[_key].shape[1]): - out[:, _i] = self.augment_fn(data[_key][:, _i], out=out[:, _i], **kwargs) - data[_key] = out - return data - else: + if not self.per_channel: return super().forward(**data) + + seed = int(torch.randint(0, int(1e16), (1,))) + + for _ik, _key in enumerate(self.keys): + out = [] + channel_dim = data[_key].shape[1] + for c in range(channel_dim): + with self.random_cxm(seed + c): + kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} + kwargs.update(self.get_pair_kwargs(_key)) + out.append(self.augment_fn(data[_key][:, c].unsqueeze(1), **kwargs)) + data[_key] = torch.cat(out, dim=1) + + return data diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 0cf16561..c495f4cb 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -76,9 +76,9 @@ def __init__( self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size - self.interpolation_mode = self._tuple_generator(interpolation_mode) - self.padding_mode = self._tuple_generator(padding_mode) - self.align_corners = self._tuple_generator(align_corners) + self.interpolation_mode = self.tuple_generator(interpolation_mode) + self.padding_mode = self.tuple_generator(padding_mode) + self.align_corners = self.tuple_generator(align_corners) self.reverse_order = reverse_order self.per_sample = per_sample diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index 6490c315..d28e2b65 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -4,7 +4,7 @@ import torch from rising.random import ContinuousParameter, UniformParameter -from rising.transforms import AbstractTransform +from rising.transforms import _AbstractTransform from rising.transforms.sitk import _ITKTransform from rising.utils import check_scalar @@ -65,14 +65,14 @@ def forward(self, *args, **kwargs) -> Any: return self.trafo(*args, **kwargs) -class Compose(AbstractTransform): +class Compose(_AbstractTransform): """ Compose multiple transforms """ def __init__( self, - *transforms: Union[AbstractTransform, Sequence[AbstractTransform]], + *transforms: Union[_AbstractTransform, Sequence[_AbstractTransform]], shuffle: bool = False, transform_call: Callable[[Any, Callable], Any] = dict_call, ): @@ -112,10 +112,13 @@ def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: assert len(self.transforms) == len(self.transform_order) data = seq_like if seq_like else map_like + seed = torch.randint(0, int(1e6), (1,)) + torch.set_rng_state(seed) if self.shuffle: self.shuffle_transform() for idx in self.transform_order: + torch.set_rng_state(seed + idx) data = self.transform_call(data, self.transforms[idx]) return data @@ -130,7 +133,7 @@ def transforms(self) -> torch.nn.ModuleList: return self._transforms @transforms.setter - def transforms(self, transforms: Union[AbstractTransform, Sequence[AbstractTransform]]): + def transforms(self, transforms: Union[_AbstractTransform, Sequence[_AbstractTransform]]): """ Transforms setter @@ -178,7 +181,7 @@ def shuffle_transform(self): """ tensor_transform_indicator = [] for i, trans in enumerate(self.transforms): - assert isinstance(trans, AbstractTransform) + assert isinstance(trans, _AbstractTransform) if not isinstance(trans, _ITKTransform): tensor_transform_indicator.append(i) transform_mapping = { @@ -194,7 +197,7 @@ class DropoutCompose(Compose): def __init__( self, - *transforms: Union[AbstractTransform, Sequence[AbstractTransform]], + *transforms: Union[_AbstractTransform, Sequence[_AbstractTransform]], dropout: Union[float, Sequence[float]] = 0.5, shuffle: bool = False, random_sampler: ContinuousParameter = None, @@ -262,14 +265,14 @@ def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: return data -class OneOf(AbstractTransform): +class OneOf(_AbstractTransform): """ Apply one of the given transforms. """ def __init__( self, - *transforms: Union[AbstractTransform, Sequence[AbstractTransform]], + *transforms: Union[_AbstractTransform, Sequence[_AbstractTransform]], weights: Optional[Sequence[float]] = None, p: float = 1.0, transform_call: Callable[[Any, Callable], Any] = dict_call, diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index cea372a6..8427d772 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -1,16 +1,15 @@ from typing import Sequence, Union from rising.random import AbstractParameter -from rising.transforms.abstract import BaseTransform, BaseTransformSeeded +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin from rising.transforms.functional.crop import center_crop, random_crop __all__ = ["CenterCrop", "RandomCrop"] -class CenterCrop(BaseTransform): +class CenterCrop(BaseTransformMixin, BaseTransform): def __init__( - self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, - **kwargs + self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -22,7 +21,7 @@ def __init__( super().__init__(augment_fn=center_crop, keys=keys, grad=grad, property_names=("size",), size=size, **kwargs) -class RandomCrop(BaseTransformSeeded): +class RandomCrop(PerSampleTransformMixin, BaseTransform): """ todo: to enhance this function with padding function. """ @@ -46,9 +45,10 @@ def __init__( super().__init__( augment_fn=random_crop, keys=keys, - size=size, - dist=dist, grad=grad, property_names=("size", "dist"), + size=size, + dist=dist, + seeded=True, **kwargs ) diff --git a/rising/transforms/format.py b/rising/transforms/format.py index c2bf58fb..185a1b43 100644 --- a/rising/transforms/format.py +++ b/rising/transforms/format.py @@ -2,11 +2,11 @@ __all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys"] -from rising.transforms.abstract import AbstractTransform +from rising.transforms.abstract import _AbstractTransform from rising.transforms.functional.utility import filter_keys, pop_keys -class MapToSeq(AbstractTransform): +class MapToSeq(_AbstractTransform): """ Convert dict to sequence """ @@ -36,7 +36,7 @@ def forward(self, **data) -> tuple: return tuple(data[_k] for _k in self.keys) -class SeqToMap(AbstractTransform): +class SeqToMap(_AbstractTransform): """Convert sequence to dict""" def __init__(self, *keys, grad: bool = False, **kwargs): @@ -64,7 +64,7 @@ def forward(self, *data, **kwargs) -> dict: return {_key: data[_idx] for _idx, _key in enumerate(self.keys)} -class PopKeys(AbstractTransform): +class PopKeys(_AbstractTransform): """ Pops keys from a given data dict """ @@ -87,7 +87,7 @@ def forward(self, **data) -> Union[dict, Tuple[dict, dict]]: return pop_keys(data=data, keys=self.keys, return_popped=self.return_popped) -class FilterKeys(AbstractTransform): +class FilterKeys(_AbstractTransform): """ Filters keys from a given data dict """ @@ -110,7 +110,7 @@ def forward(self, **data) -> Union[dict, Tuple[dict, dict]]: return filter_keys(data=data, keys=self.keys, return_popped=self.return_popped) -class RenameKeys(AbstractTransform): +class RenameKeys(_AbstractTransform): """Rename keys inside batch""" def __init__(self, keys: Mapping[Hashable, Hashable]): diff --git a/rising/transforms/functional/crop.py b/rising/transforms/functional/crop.py index c5335c57..93e0d9b7 100644 --- a/rising/transforms/functional/crop.py +++ b/rising/transforms/functional/crop.py @@ -82,6 +82,7 @@ def random_crop( ) -> torch.Tensor: """ Crop random patch/volume from input tensor + This function crop images by batch with the same random state. Parameters ---------- diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 8f010630..986b2d88 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -44,7 +44,7 @@ def norm_range( Scale range of tensor Args: - data: input data. Per channel option supports [C,H,W] and [C,H,W,D]. + data: input data. Per channel option supports [B,C,H,W] and [B,C,H,W,D]. min: minimal value max: maximal value per_channel: range is normalized per channel @@ -53,6 +53,7 @@ def norm_range( Returns: torch.Tensor: normalized data """ + assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" if out is None: out = torch.zeros_like(data) @@ -69,7 +70,7 @@ def norm_min_max( Scale range to [0,1] Args: - data: input data. Per channel option supports [C,H,W] and [C,H,W,D]. + data: input data without batch dimension. Per channel option supports [B,C,H,W] and [B,C,H,W,D]. per_channel: range is normalized per channel out: if provided, result is saved in here eps: small constant for numerical stability. @@ -78,6 +79,7 @@ def norm_min_max( Returns: torch.Tensor: scaled data """ + assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" def _norm(_data: torch.Tensor, _out: torch.Tensor): _min = _data.min() @@ -91,8 +93,8 @@ def _norm(_data: torch.Tensor, _out: torch.Tensor): out = torch.zeros_like(data) if per_channel: - for _c in range(data.shape[0]): - out[_c] = _norm(data[_c], out[_c]) + for _c in range(data.shape[1]): + out[:, _c] = _norm(data[:, _c], out[:, _c]) else: out = _norm(data, out) return out @@ -100,8 +102,8 @@ def _norm(_data: torch.Tensor, _out: torch.Tensor): def norm_min_max_percentile( data: torch.Tensor, - low_percentile: float, - high_percentile: float, + min: float, + max: float, per_channel: bool = True, out: Optional[torch.Tensor] = None, eps=1e-8, @@ -109,26 +111,28 @@ def norm_min_max_percentile( """ Normalize data based on min and max percentile between 0 - 100. Args: - data: input data, under form of [C,H,W] and [C,H,W,D]. - low_percentile: low percentile to clamp, between 0 and 100 - high_percentile: high percentile to clam, between 0 and 100 + data: input data, under form of [B,C,H,W] and [B,C,H,W,D]. + min: low percentile to clamp, between 0 and 100 + max: high percentile to clam, between 0 and 100 per_channel: if compute the percentile on channel out: eps: small eps to prevent division by 0.l Returns: torch.Tensor: normalized data """ + assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" + if out is None: out = torch.empty_like(data) if per_channel: for i, data_ in enumerate(data): - min_ = torch.quantile(data_.float(), float(low_percentile)) - max_ = torch.quantile(data_.float(), float(high_percentile)) + min_ = torch.quantile(data_.float(), float(min)) + max_ = torch.quantile(data_.float(), float(max)) out[i] = clamp(data_, min=float(min_), max=float(max_), out=out[i]) else: - max_ = torch.quantile(data, float(low_percentile)) - min_ = torch.quantile(data, float(high_percentile)) + max_ = torch.quantile(data, float(min)) + min_ = torch.quantile(data, float(max)) out = clamp(data, min=float(min_), max=float(max_), out=out) return norm_min_max(out, per_channel=per_channel, out=out, eps=eps) @@ -150,6 +154,7 @@ def norm_zero_mean_unit_std( Returns: torch.Tensor: normalized data """ + assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" def _norm(_data: torch.Tensor, _out: torch.Tensor): denom = _data.std() @@ -189,6 +194,8 @@ def norm_mean_std( Returns: torch.Tensor: normalized data """ + assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" + if out is None: out = torch.zeros_like(data) diff --git a/rising/transforms/functional/pad.py b/rising/transforms/functional/pad.py index e0f5634f..3855f865 100644 --- a/rising/transforms/functional/pad.py +++ b/rising/transforms/functional/pad.py @@ -8,6 +8,16 @@ def pad(data: Tensor, pad_size: Union[int, Sequence[int]], grid_pad=False, mode="constant", value: float = 0.0): + """ + Args: + data: input data with size [B,C,H,W,(D)] + pad_size: int or seq of int. the dimension to pad, following functional.pad function convention, where + order is inversed. + grid_pad: bool must be False, True is not implemented. + mode: str, padding mode, following functional.pad + ``'constant'``, ``'reflect'``, ``'replicate'`` or ``'circular'`` + value: float, padding value. + """ n_dim = data.dim() - 2 # padding parameters if check_scalar(pad_size): @@ -29,21 +39,3 @@ def pad(data: Tensor, pad_size: Union[int, Sequence[int]], grid_pad=False, mode= return F.pad(data, pad=pad_size, mode=mode, value=value) else: raise NotImplementedError(grid_pad) - - -# -# if __name__ == '__main__': -# from PIL import Image -# import requests -# from io import BytesIO -# import numpy as np -# import torch -# from torch.nn import functional as F -# -# url = "https://miro.medium.com/max/1400/0*1F2u74JQYI8sUuYg" -# response = requests.get(url) -# img = Image.open(BytesIO(response.content)) -# np_img = np.asarray(img).astype(np.float32) -# t_img = torch.from_numpy(np_img).permute(2, 0, 1) -# t_img = t_img[None, ...] -# t_img_pad = F.pad(t_img, pad=(200, 200, 400, 400), mode="replicate") diff --git a/rising/transforms/functional/spatial.py b/rising/transforms/functional/spatial.py index 2b47c051..3cb7974c 100644 --- a/rising/transforms/functional/spatial.py +++ b/rising/transforms/functional/spatial.py @@ -6,13 +6,18 @@ __all__ = ["mirror", "rot90", "resize_native"] +from rising.utils.enum import FInterpolation -def mirror(data: torch.Tensor, dims: Union[int, Sequence[int]]) -> torch.Tensor: + +def mirror( + data: torch.Tensor, + dims: Union[int, Sequence[int]], +) -> torch.Tensor: """ Mirror data at dims Args: - data: input data + data: input data [B,C,H,W,D] dims: dimensions to mirror Returns: @@ -30,7 +35,7 @@ def rot90(data: torch.Tensor, k: int, dims: Union[int, Sequence[int]]): Rotate 90 degrees around dims Args: - data: input data + data: input data [B,C,H,W,D] k: number of times to rotate dims: dimensions to mirror @@ -77,7 +82,7 @@ def resize_native( # pytorch internally checks for an iterable. Single value tensors are still iterable scale_factor = float(scale_factor) out = torch.nn.functional.interpolate( - data, size=size, scale_factor=scale_factor, mode=mode, align_corners=align_corners + data, size=size, scale_factor=scale_factor, mode=FInterpolation(mode).value, align_corners=align_corners ) if preserve_range: diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index add7d0ae..dc2c1d45 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -1,34 +1,41 @@ from abc import abstractmethod -from typing import Sequence, Union, Dict, Tuple, Optional +from typing import Dict, Optional, Sequence, Tuple, Union import torch from torch import Tensor from torch.nn import functional as F from rising.random.utils import fix_random_seed_ctx -from rising.transforms.abstract import AbstractTransform, item_or_seq +from rising.transforms.abstract import _AbstractTransform, item_or_seq from rising.transforms.functional import center_crop, random_crop from rising.transforms.kernel import GaussianSmoothing from rising.utils.affine import get_batched_eye, matrix_to_homogeneous from rising.utils.mise import ntuple -__all__ = ["GridTransform", "StackedGridTransform", - "CenterCropGrid", "RandomCropGrid", "ElasticDistortion", "RadialDistortion"] +__all__ = [ + "GridTransform", + "StackedGridTransform", + "CenterCropGrid", + "RandomCropGrid", + "ElasticDistortion", + "RadialDistortion", +] -class GridTransform(AbstractTransform): +class GridTransform(_AbstractTransform): """ Abstract class for grid transformation. """ - def __init__(self, - keys: Sequence[str] = ('data',), - interpolation_mode: item_or_seq[str] = 'bilinear', - padding_mode: item_or_seq[str] = 'zeros', - align_corners: item_or_seq[bool] = False, - grad: bool = False, - **kwargs, - ): + def __init__( + self, + keys: Sequence[str] = ("data",), + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, + grad: bool = False, + **kwargs, + ): super().__init__(grad=grad) self.keys = keys self._tuple_generator = ntuple(len(self.keys)) @@ -64,12 +71,7 @@ def augment_grid(self, grid: Dict[str, Tensor], *, device, dtype) -> Dict[str, T raise NotImplementedError def create_grid( - self, - data: Dict[str, Tensor], - matrix: Tensor = None, - *, - device: torch.device, - dtype: torch.dtype + self, data: Dict[str, Tensor], matrix: Tensor = None, *, device: torch.device, dtype: torch.dtype ) -> Dict[str, Tensor]: grid = {} for key, align_corners in zip(self.keys, self.align_corners): @@ -96,15 +98,15 @@ def __radd__(self, other): class StackedGridTransform(GridTransform): def __init__(self, *transforms: Union[GridTransform, Sequence[GridTransform]]): - super().__init__(keys=None, interpolation_mode=None, padding_mode=None, - align_corners=None) + super().__init__(keys=None, interpolation_mode=None, padding_mode=None, align_corners=None) if isinstance(transforms, (tuple, list)): if isinstance(transforms[0], (tuple, list)): transforms = transforms[0] self.transforms = transforms - def create_grid(self, data: Dict[str, Tensor], matrix: Tensor = None, *, device: torch.device, - dtype: torch.dtype) -> Dict[str, Tensor]: + def create_grid( + self, data: Dict[str, Tensor], matrix: Tensor = None, *, device: torch.device, dtype: torch.dtype + ) -> Dict[str, Tensor]: return self.transforms[0].create_grid(data=data, matrix=matrix, device=device, dtype=dtype) def augment_grid(self, grid: Dict[str, Tensor], *, device, dtype) -> Dict[str, Tensor]: @@ -114,44 +116,56 @@ def augment_grid(self, grid: Dict[str, Tensor], *, device, dtype) -> Dict[str, T class CenterCropGrid(GridTransform): - def __init__(self, - *, - size: Union[int, Sequence[int]], - keys: Sequence[str] = ('data',), - interpolation_mode: str = 'bilinear', - padding_mode: str = 'zeros', - align_corners: bool = False, - grad: bool = False, - **kwargs, ): - super().__init__(keys=keys, interpolation_mode=interpolation_mode, - padding_mode=padding_mode, align_corners=align_corners, - grad=grad, **kwargs) + def __init__( + self, + *, + size: Union[int, Sequence[int]], + keys: Sequence[str] = ("data",), + interpolation_mode: str = "bilinear", + padding_mode: str = "zeros", + align_corners: bool = False, + grad: bool = False, + **kwargs, + ): + super().__init__( + keys=keys, + interpolation_mode=interpolation_mode, + padding_mode=padding_mode, + align_corners=align_corners, + grad=grad, + **kwargs, + ) self.size = size def augment_grid(self, grid: Dict[str, Tensor], **kwargs) -> Dict[str, Tensor]: - return {key: center_crop(cur_grid, size=self.size, grid_crop=True) - for key, cur_grid in grid.items()} + return {key: center_crop(cur_grid, size=self.size, grid_crop=True) for key, cur_grid in grid.items()} class RandomCropGrid(GridTransform): - def __init__(self, - size: Union[int, Sequence[int]], - dist: Union[int, Sequence[int]] = 0, - keys: Sequence[str] = ('data',), - interpolation_mode: str = 'bilinear', - padding_mode: str = 'zeros', - align_corners: bool = False, - grad: bool = False, - **kwargs, ): - super().__init__(keys=keys, interpolation_mode=interpolation_mode, - padding_mode=padding_mode, align_corners=align_corners, - grad=grad, **kwargs) + def __init__( + self, + size: Union[int, Sequence[int]], + dist: Union[int, Sequence[int]] = 0, + keys: Sequence[str] = ("data",), + interpolation_mode: str = "bilinear", + padding_mode: str = "zeros", + align_corners: bool = False, + grad: bool = False, + **kwargs, + ): + super().__init__( + keys=keys, + interpolation_mode=interpolation_mode, + padding_mode=padding_mode, + align_corners=align_corners, + grad=grad, + **kwargs, + ) self.size = size self.dist = dist def augment_grid(self, grid: Dict[str, Tensor], **kwargs) -> Dict[str, Tensor]: - return {key: random_crop(item, size=self.size, dist=self.dist, grid_crop=True) - for key, item in grid.items()} + return {key: random_crop(item, size=self.size, dist=self.dist, grid_crop=True) for key, item in grid.items()} class ElasticDistortion(GridTransform): @@ -159,23 +173,30 @@ class ElasticDistortion(GridTransform): ElasticDistortion transformation """ - def __init__(self, - std: Union[float, Sequence[float]], - alpha: float, - dim: int = 2, - keys: Sequence[str] = ('data',), - interpolation_mode: item_or_seq[str] = 'bilinear', - padding_mode: item_or_seq[str] = 'zeros', - align_corners: item_or_seq[bool] = False, - grad: bool = False, - per_sample: bool = True, - **kwargs, ): + def __init__( + self, + std: Union[float, Sequence[float]], + alpha: float, + dim: int = 2, + keys: Sequence[str] = ("data",), + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, + grad: bool = False, + per_sample: bool = True, + **kwargs, + ): """ std: std of the gaussian smooth """ - super().__init__(keys=keys, interpolation_mode=interpolation_mode, - padding_mode=padding_mode, align_corners=align_corners, - grad=grad, **kwargs) + super().__init__( + keys=keys, + interpolation_mode=interpolation_mode, + padding_mode=padding_mode, + align_corners=align_corners, + grad=grad, + **kwargs, + ) self.std = std self.alpha = alpha self.per_sample = per_sample @@ -201,23 +222,28 @@ def get_perturb_grid(batch_size: int = 1) -> Tensor: class RadialDistortion(GridTransform): - def __init__(self, - scale: Tuple[float, float, float], - keys: Sequence[str] = ('data',), - interpolation_mode: item_or_seq[str] = 'bilinear', - padding_mode: item_or_seq[str] = 'zeros', - align_corners: item_or_seq[bool] = False, - grad: bool = False, - **kwargs, ): - super().__init__(keys=keys, interpolation_mode=interpolation_mode, - padding_mode=padding_mode, align_corners=align_corners, - grad=grad, **kwargs) + def __init__( + self, + scale: Tuple[float, float, float], + keys: Sequence[str] = ("data",), + interpolation_mode: item_or_seq[str] = "bilinear", + padding_mode: item_or_seq[str] = "zeros", + align_corners: item_or_seq[bool] = False, + grad: bool = False, + **kwargs, + ): + super().__init__( + keys=keys, + interpolation_mode=interpolation_mode, + padding_mode=padding_mode, + align_corners=align_corners, + grad=grad, + **kwargs, + ) self.scale = scale def augment_grid(self, grid: Dict[Tuple, Tensor], **kwargs) -> Dict[Tuple, Tensor]: - new_grid = { - key: radial_distortion_grid(cur_grid, scale=self.scale) for key, cur_grid in grid.items() - } + new_grid = {key: radial_distortion_grid(cur_grid, scale=self.scale) for key, cur_grid in grid.items()} return new_grid diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 253b6797..43846ab9 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -3,7 +3,13 @@ import torch from rising.random import AbstractParameter -from rising.transforms.abstract import BaseTransform, PerChannelTransform, PerSampleTransform, augment_callable +from rising.transforms.abstract import ( + BaseTransform, + BaseTransformMixin, + PerChannelTransformMixin, + PerSampleTransformMixin, + augment_callable, +) from rising.transforms.functional.intensity import ( add_noise, add_value, @@ -12,11 +18,11 @@ gamma_correction, norm_mean_std, norm_min_max, + norm_min_max_percentile, norm_range, norm_zero_mean_unit_std, random_inversion, scale_by_value, - norm_min_max_percentile ) __all__ = [ @@ -38,7 +44,7 @@ ] -class Clamp(BaseTransform): +class Clamp(BaseTransformMixin, BaseTransform): """Apply augment_fn to keys""" def __init__( @@ -60,11 +66,11 @@ def __init__( **kwargs: keyword arguments passed to augment_fn """ super().__init__( - augment_fn=clamp, keys=keys, grad=grad, min=min, max=max, property_names=("min", "max"), **kwargs + augment_fn=clamp, keys=keys, grad=grad, property_names=("min", "max"), min=min, max=max, **kwargs ) -class NormRange(PerSampleTransform): +class NormRange(PerSampleTransformMixin, BaseTransform): def __init__( self, min: Union[float, AbstractParameter], @@ -87,51 +93,39 @@ def __init__( augment_fn=norm_range, keys=keys, grad=grad, + property_names=("min", "max"), min=min, max=max, per_channel=per_channel, - property_names=("min", "max"), **kwargs ) -class NormPercentile(PerSampleTransform): +class NormPercentile(PerSampleTransformMixin, BaseTransform): """clamp the distribution based on percentile and normalize it between 0 and 1""" - def __init__(self, min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], per_channel: bool = True, keys: Sequence[str] = ("data",), - grad: bool = False, - **kwargs): - super().__init__(augment_fn=norm_min_max_percentile, keys=keys, grad=grad, min=min, - max=max, property_names=("min", "max"), - **kwargs) + def __init__( + self, + min: Union[float, AbstractParameter], + max: Union[float, AbstractParameter], + per_channel: bool = True, + keys: Sequence[str] = ("data",), + grad: bool = False, + **kwargs + ): + super().__init__( + augment_fn=norm_min_max_percentile, + keys=keys, + grad=grad, + property_names=("min", "max"), + min=min, + max=max, + **kwargs + ) self.per_channel = per_channel - def forward(self, **data) -> dict: - """ - Args: - data: dict with tensors - Returns: - dict: dict with augmented data - """ - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) - - kwargs.update(self.kwargs) - for _key in self.keys: - out = torch.empty_like(data[_key]) - for _i in range(data[_key].shape[0]): - input_: torch.Tensor = data[_key][_i] - out[_i] = self.augment_fn(input_, out=out[_i], high_percentile=kwargs["max"], - low_percentile=kwargs["min"], - **{k: v for k, v in kwargs.items() if k not in ("max", "min")}) - data[_key] = out - return data - - -class NormMinMax(PerSampleTransform): +class NormMinMax(PerSampleTransformMixin, BaseTransform): """Norm to [0, 1]""" def __init__( @@ -154,7 +148,7 @@ def __init__( super().__init__(augment_fn=norm_min_max, keys=keys, grad=grad, per_channel=per_channel, eps=eps, **kwargs) -class NormZeroMeanUnitStd(PerSampleTransform): +class NormZeroMeanUnitStd(PerSampleTransformMixin, BaseTransform): """Normalize mean to zero and std to one""" def __init__( @@ -179,7 +173,7 @@ def __init__( ) -class NormMeanStd(PerSampleTransform): +class NormMeanStd(PerSampleTransformMixin, BaseTransform): """Normalize mean and std with provided values""" def __init__( @@ -205,7 +199,7 @@ def __init__( ) -class Noise(PerChannelTransform): +class Noise(PerChannelTransformMixin, BaseTransform): """ Add noise to data @@ -283,11 +277,11 @@ def __init__( **kwargs: keyword arguments passed to superclass """ super().__init__( - augment_fn=gamma_correction, gamma=gamma, property_names=("gamma",), keys=keys, grad=grad, **kwargs + augment_fn=gamma_correction, keys=keys, grad=grad, property_names=("gamma",), gamma=gamma, **kwargs ) -class RandomValuePerChannel(PerChannelTransform): +class RandomValuePerChannel(PerChannelTransformMixin, BaseTransform): """ Apply augmentations which take random values as input by keyword :attr:`value` @@ -296,10 +290,10 @@ class RandomValuePerChannel(PerChannelTransform): def __init__( self, - augment_fn: callable, + augment_fn: augment_callable, random_sampler: AbstractParameter, per_channel: bool = False, - keys: Sequence = ("data",), + keys: Sequence[str] = ("data",), grad: bool = False, **kwargs ): @@ -416,7 +410,7 @@ class RandomBezierTransform(BaseTransform): """Apply a random 3rd order bezier spline to the intensity values, as proposed in Models Genesis.""" def __init__(self, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data",), **kwargs): - super().__init__(augment_fn=bezier_3rd_order, maxv=maxv, minv=minv, keys=keys, grad=False, **kwargs) + super().__init__(augment_fn=bezier_3rd_order, keys=keys, grad=False, maxv=maxv, minv=minv, **kwargs) class InvertAmplitude(BaseTransform): @@ -427,5 +421,5 @@ class InvertAmplitude(BaseTransform): def __init__(self, prob: float = 0.5, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data",), **kwargs): super().__init__( - augment_fn=random_inversion, prob_inversion=prob, maxv=maxv, minv=minv, keys=keys, grad=False, **kwargs + augment_fn=random_inversion, keys=keys, grad=False, prob_inversion=prob, maxv=maxv, minv=minv, **kwargs ) diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index 2a7646e5..cee9c964 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -7,12 +7,12 @@ from rising.utils import check_scalar from rising.utils.mise import ntuple -from .abstract import AbstractTransform, item_or_seq +from .abstract import _AbstractTransform, item_or_seq __all__ = ["KernelTransform", "GaussianSmoothing"] -class KernelTransform(AbstractTransform): +class KernelTransform(_AbstractTransform): """ Baseclass for kernel based transformations (kernel is applied to each channel individually) diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py index 52a78dd8..bb4a2a45 100644 --- a/rising/transforms/pad.py +++ b/rising/transforms/pad.py @@ -6,8 +6,16 @@ class Pad(BaseTransform): - def __init__(self, *, padding_size: item_or_seq[int], mode: str = "constant", pad_value: item_or_seq[float], - keys: Sequence[str] = ("data",), grad: bool = False, **kwargs): + def __init__( + self, + *, + padding_size: item_or_seq[int], + mode: str = "constant", + pad_value: item_or_seq[float], + keys: Sequence[str] = ("data",), + grad: bool = False, + **kwargs + ): """ padding_size should be the same for all the keys. pad_value can be different for different keys @@ -15,7 +23,7 @@ def __init__(self, *, padding_size: item_or_seq[int], mode: str = "constant", pa super().__init__(_pad, keys=keys, grad=grad, property_names=(), **kwargs) self.padding_size = padding_size self.mode = mode - self.pad_value = self._tuple_generator(pad_value) + self.pad_value = self.tuple_generator(pad_value) def forward(self, **data) -> dict: """ @@ -37,8 +45,7 @@ def forward(self, **data) -> dict: cur_data = data[_key] input_shape = cur_data.shape[2:] pad_size = self.pad_parameters(input_shape, self.padding_size, ndim=cur_data.dim() - 2) - data[_key] = self.augment_fn(data[_key], pad_size=pad_size, grid_pad=False, mode=self.mode, - value=_value) + data[_key] = self.augment_fn(data[_key], pad_size=pad_size, grid_pad=False, mode=self.mode, value=_value) return data @staticmethod diff --git a/rising/transforms/painting.py b/rising/transforms/painting.py index eafc486a..f681e5cc 100644 --- a/rising/transforms/painting.py +++ b/rising/transforms/painting.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import AbstractTransform, BaseTransform +from rising.transforms.abstract import BaseTransform, _AbstractTransform from rising.transforms.functional.painting import local_pixel_shuffle, random_inpainting, random_outpainting __all__ = ["RandomInpainting", "RandomOutpainting", "RandomInOrOutpainting", "LocalPixelShuffle"] @@ -20,7 +20,7 @@ def __init__(self, n: int = -1, keys: Sequence = ("data",), grad: bool = False, grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to augment_fn """ - super().__init__(augment_fn=local_pixel_shuffle, n=n, keys=keys, grad=grad, **kwargs) + super().__init__(augment_fn=local_pixel_shuffle, keys=keys, grad=grad, n=n, **kwargs) class RandomInpainting(BaseTransform): @@ -38,10 +38,10 @@ def __init__( grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to augment_fn """ - super().__init__(augment_fn=random_inpainting, n=n, maxv=maxv, minv=minv, keys=keys, grad=grad, **kwargs) + super().__init__(augment_fn=random_inpainting, keys=keys, grad=grad, n=n, maxv=maxv, minv=minv, **kwargs) -class RandomOutpainting(AbstractTransform): +class RandomOutpainting(_AbstractTransform): """The border of the images will be replaced by uniform noise, as proposed in Models Genesis""" @@ -75,7 +75,7 @@ def forward(self, **data) -> dict: return data -class RandomInOrOutpainting(AbstractTransform): +class RandomInOrOutpainting(_AbstractTransform): """Applies either random inpainting or random outpainting to the image, as proposed in Models Genesis""" diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index 7f94b736..f7f83552 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -4,7 +4,7 @@ from rising.random.abstract import AbstractParameter from rising.transforms.abstract import BaseTransform, item_or_seq -from rising.transforms.functional.sitk import itk_resample, itk_clip, itk2tensor +from rising.transforms.functional.sitk import itk2tensor, itk_clip, itk_resample SpacingParamType = Union[ int, Sequence[int], float, Sequence[float], torch.Tensor, AbstractParameter, Sequence[AbstractParameter] @@ -18,16 +18,24 @@ class _ITKTransform: """ this mixin indicates if the transform is Tensor-based, use to not shuffle in Compose. """ + pass class SITKResample(_ITKTransform, BaseTransform): """ - simpleitk resampling class + simpleitk resampling class """ - def __init__(self, spacing: SpacingParamType, *, pad_value: Union[int, float], keys: Sequence = ("data",), - interpolation: item_or_seq[str] = "nearest", **kwargs): + def __init__( + self, + spacing: SpacingParamType, + *, + pad_value: Union[int, float], + keys: Sequence = ("data",), + interpolation: item_or_seq[str] = "nearest", + **kwargs + ): """ resample simpleitk image given new spacing and padding value Args: @@ -35,9 +43,16 @@ def __init__(self, spacing: SpacingParamType, *, pad_value: Union[int, float], k pad_value: padding values interpolation: str or sequence of str to indicate the interpolation for different keys. """ - super().__init__(augment_fn=itk_resample, keys=keys, grad=False, spacing=spacing, pad_value=pad_value, - property_names=("spacing", "pad_value"), **kwargs) - self.interpolation_mode = self._tuple_generator(interpolation) + super().__init__( + augment_fn=itk_resample, + keys=keys, + grad=False, + property_names=("spacing", "pad_value"), + spacing=spacing, + pad_value=pad_value, + **kwargs, + ) + self.interpolation_mode = self.tuple_generator(interpolation) def forward(self, **data) -> dict: for key, interpolation in zip(self.keys, self.interpolation_mode): @@ -77,10 +92,15 @@ def forward(self, **data) -> dict: class SITK2Tensor(_ITKTransform, BaseTransform): - - def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_seq[torch.dtype] = torch.float, - insert_dim: int = None, - grad: bool = False, **kwargs): + def __init__( + self, + *, + keys: Sequence = ("data",), + dtype: item_or_seq[torch.dtype] = torch.float, + insert_dim: int = None, + grad: bool = False, + **kwargs + ): """ Convert sitk image to Tensor Args: @@ -88,15 +108,12 @@ def __init__(self, *, keys: Sequence = ("data",), dtype: item_or_seq[torch.dtype insert_dim: type: int, if you need to expand the tensor given specific dimension, default None, """ super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) - self.dtype = self._tuple_generator(dtype) + self.dtype = self.tuple_generator(dtype) self.insert_dim = insert_dim def forward(self, **data) -> dict: for key, dtype in zip(self.keys, self.dtype): - data[key] = self.augment_fn( - data[key], - dtype=dtype - ) + data[key] = self.augment_fn(data[key], dtype=dtype) if self.insert_dim is not None: data[key] = data[key].unsqueeze(self.insert_dim) return data diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index b9b5b177..58f0f962 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -1,97 +1,62 @@ # from __future__ import annotations from itertools import combinations -from typing import Callable, Sequence, Union +from typing import Callable, Optional, Sequence, Union -import torch from torch.multiprocessing import Value from rising.random import AbstractParameter, DiscreteParameter -from rising.transforms.abstract import AbstractTransform, BaseTransform +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, item_or_seq +from rising.transforms.functional import mirror, resize_native, rot90 __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] -from rising.transforms.abstract import item_or_seq -from rising.transforms.functional import mirror, resize_native, rot90 -from rising.utils import check_scalar +from rising.utils.enum import FInterpolation scheduler_type = Callable[[int], Union[int, Sequence[int]]] -class Mirror(AbstractTransform): +class Mirror(PerSampleTransformMixin, BaseTransform): """Random mirror transform""" def __init__( - self, - dims: Union[int, DiscreteParameter, Sequence[Union[int, DiscreteParameter]]], - keys: Sequence[str] = ("data",), - prob: item_or_seq[float] = 0.5, - grad: bool = False, - **kwargs + self, + *, + dims=item_or_seq[Union[int, DiscreteParameter]], + p_sample: float = 0.5, + keys: Sequence[str] = ("data",), + grad: bool = False, + per_sample: bool = True, ): """ Args: - dims: axes which should be mirrored - keys: keys which should be mirrored - prob: probability for mirror. If float value is provided, - it is used for all dims - grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to superclass - - Examples: - >>> # Use mirror transform for augmentations - >>> from rising.random import DiscreteCombinationsParameter - >>> # We sample from all possible mirror combination for - >>> # volumetric data - >>> trafo = Mirror(DiscreteCombinationsParameter((0, 1, 2))) + dims: dimensions to apply random mirror + p_sample: the probability of applying the mirror (0<=p_sample<=1), default=0.5 + per_sample: if applied per sample. + keys: attributes to be applied. """ - super().__init__(grad=grad, **kwargs) - self.keys = keys - self.prob = prob - - if not isinstance(dims, DiscreteParameter): - if len(dims) > 2: - dims = list(combinations(dims, 2)) - else: - dims = (dims,) - dims = DiscreteParameter(dims) - self.register_sampler("dims", dims) + super().__init__( + augment_fn=mirror, + keys=keys, + grad=grad, + augment_fn_names=("dims",), + per_sample=per_sample, + dims=dims, + p=p_sample, + seeded=True, + ) - def forward(self, **data) -> dict: - """ - Apply transformation - Args: - data: dict with tensors - Returns: - dict: dict with augmented data - """ - total_dim = data[self.keys[0]].dim() - 2 - if check_scalar(self.prob): - prob = [self.prob] * total_dim - else: - assert len(self.prob) == total_dim, "dimension wrong" - prob = self.prob - - seed = torch.random.get_rng_state() - for key in self.keys: - torch.random.set_rng_state(seed) - for dim, p in zip(self.dims, prob): - if torch.rand(1) < p: - data[key] = mirror(data[key], dim) - return data - - -class Rot90(AbstractTransform): +class Rot90(PerSampleTransformMixin, BaseTransform): """Rotate 90 degree around dims""" def __init__( - self, - dims: Union[Sequence[int], DiscreteParameter], - keys: Sequence[str] = ("data",), - num_rots: Sequence[int] = (0, 1, 2, 3), - prob: float = 0.5, - grad: bool = False, - **kwargs + self, + dims: item_or_seq[Union[Sequence[int], DiscreteParameter]], + keys: Sequence[str] = ("data",), + num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), + p_sample: float = 0.5, + per_sample: bool = True, + grad: bool = False, ): """ Args: @@ -106,49 +71,36 @@ def __init__( See Also: :func:`torch.Tensor.rot90` """ - super().__init__(grad=grad, **kwargs) - self.keys = keys - self.prob = prob if not isinstance(dims, DiscreteParameter): - if len(dims) > 2: + if len(dims) >= 2: dims = list(combinations(dims, 2)) else: - dims = (dims,) + raise RuntimeError(f"dims must be at least 2 dims, given {dims}.") dims = DiscreteParameter(dims) - self.register_sampler("dims", dims) - self.register_sampler("num_rots", DiscreteParameter(num_rots)) - - def forward(self, **data) -> dict: - """ - Apply transformation - - Args: - data: dict with tensors - - Returns: - dict: dict with augmented data - """ - if torch.rand(1) < self.prob: - num_rots = self.num_rots - rand_dims = self.dims - - for key in self.keys: - data[key] = rot90(data[key], k=num_rots, dims=rand_dims) - return data + super().__init__( + augment_fn=rot90, + keys=keys, + grad=grad, + augment_fn_names=("dims", "k"), + per_sample=per_sample, + dims=dims, + p=p_sample, + seeded=True, + k=num_rots, + ) -class ResizeNative(BaseTransform): +class ResizeNative(BaseTransformMixin, BaseTransform): """Resize data to given size""" def __init__( self, size: Union[int, Sequence[int]], - mode: item_or_seq[str] = "nearest", + mode: item_or_seq[FInterpolation] = FInterpolation.nearest, align_corners: item_or_seq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, - **kwargs ): """ Args: @@ -167,55 +119,34 @@ def __init__( """ super().__init__( augment_fn=resize_native, + keys=keys, + grad=grad, size=size, mode=mode, align_corners=align_corners, preserve_range=preserve_range, - keys=keys, - grad=grad, - **kwargs + p=1, + augment_fn_names=("size", "mode", "align_corners", "preserve_range"), + per_sample=False, + paired_kw_names=("mode", "align_corners"), ) - self.align_corners = self._tuple_generator(align_corners) - self.mode = self._tuple_generator(mode) - - def forward(self, **data) -> dict: - """ - calling interpolate function by passing the right parameters - - Args: - **data: the data to transform + assert self.p == 1.0 - Returns: - dict: dictionary containing the transformed data - """ - - for key, mode, align_corners in zip(self.keys, self.mode, self.align_corners): - data[key] = self.augment_fn( - data[key], - size=self.size, - mode=mode, - align_corners=align_corners, - preserve_range=self.preserve_range, - ) - - return data - -class Zoom(BaseTransform): +class Zoom(BaseTransformMixin, BaseTransform): """Apply augment_fn to keys. By default the scaling factor is sampled from a uniform distribution with the range specified by :attr:`random_args` """ def __init__( - self, - scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: str = "nearest", - align_corners: bool = None, - preserve_range: bool = False, - keys: Sequence = ("data",), - grad: bool = False, - **kwargs + self, + scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), + mode: item_or_seq[FInterpolation] = FInterpolation.nearest, + align_corners: item_or_seq[bool] = None, + preserve_range: bool = False, + keys: Sequence[str] = ("data",), + grad: bool = False, ): """ Args: @@ -239,15 +170,18 @@ def __init__( """ super().__init__( augment_fn=resize_native, + keys=keys, + grad=grad, scale_factor=scale_factor, mode=mode, align_corners=align_corners, preserve_range=preserve_range, - keys=keys, - grad=grad, - property_names=("scale_factor",), - **kwargs + p=1, + augment_fn_names=("scale_factor", "mode", "align_corners", "preserve_range"), + per_sample=False, + paired_kw_names=("mode", "align_corners"), ) + assert self.p == 1.0 class ProgressiveResize(ResizeNative): @@ -256,12 +190,11 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: item_or_seq[str] = "nearest", - align_corners: item_or_seq[bool] = None, + mode: item_or_seq[FInterpolation] = FInterpolation.nearest, + align_corners: item_or_seq[Optional[bool]] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, - **kwargs ): """ Args: @@ -293,7 +226,6 @@ def __init__( preserve_range=preserve_range, keys=keys, grad=grad, - **kwargs ) self.scheduler = scheduler self._step = Value("i", 0) @@ -340,7 +272,7 @@ def forward(self, **data) -> dict: Returns: dict: augmented batch """ - self.kwargs["size"] = self.scheduler(self.step) + self.size = self.scheduler(self.step) self.increment() return super().forward(**data) diff --git a/rising/transforms/tensor.py b/rising/transforms/tensor.py index bd2c93f8..fefe392e 100644 --- a/rising/transforms/tensor.py +++ b/rising/transforms/tensor.py @@ -1,13 +1,21 @@ from typing import Dict, Optional, Sequence, Union import torch -from torch.utils.data._utils.collate import default_convert # noqa +from torch.utils.data._utils.collate import default_convert from rising.transforms import BaseTransform from rising.transforms.functional import tensor_op, to_device_dtype -__all__ = ["ToTensor", "ToDeviceDtype", "ToDevice", "ToDtype", "TensorOp", "Permute", "TensorInsertDim", - "TensorRemoveDim"] +__all__ = [ + "ToTensor", + "ToDeviceDtype", + "ToDevice", + "ToDtype", + "TensorOp", + "Permute", + "TensorInsertDim", + "TensorRemoveDim", +] class ToTensor(BaseTransform): @@ -34,7 +42,7 @@ def __init__( copy: bool = False, keys: Sequence = ("data",), grad: bool = False, - **kwargs + **kwargs, ): """ Args: @@ -56,7 +64,7 @@ def __init__( dtype=dtype, non_blocking=non_blocking, copy=copy, - **kwargs + **kwargs, ) @@ -70,7 +78,7 @@ def __init__( copy: bool = False, keys: Sequence = ("data",), grad: bool = False, - **kwargs + **kwargs, ): """ Args: @@ -172,7 +180,7 @@ def forward(self, **data) -> dict: for key in self.keys: prev_dim = data[key].dim() data[key] = data[key].squeeze(self.dim) - assert data[key].dim() == prev_dim - 1, \ - (f"{self.__class__.__name__} cannot remove dimension {self.dim}, " - f"given shape {data[key].shape}.") + assert data[key].dim() == prev_dim - 1, ( + f"{self.__class__.__name__} cannot remove dimension {self.dim}, " f"given shape {data[key].shape}." + ) return data diff --git a/rising/transforms/utility.py b/rising/transforms/utility.py index 0e3f31e1..50a5818d 100644 --- a/rising/transforms/utility.py +++ b/rising/transforms/utility.py @@ -2,13 +2,13 @@ import torch -from rising.transforms.abstract import AbstractTransform +from rising.transforms.abstract import _AbstractTransform from rising.transforms.functional.utility import box_to_seg, instance_to_semantic, seg_to_box __all__ = ["DoNothing", "SegToBox", "BoxToSeg", "InstanceToSemantic"] -class DoNothing(AbstractTransform): +class DoNothing(_AbstractTransform): """Transform that returns the input as is""" def __init__(self, grad: bool = False, **kwargs): @@ -32,7 +32,7 @@ def forward(self, **data) -> dict: return data -class SegToBox(AbstractTransform): +class SegToBox(_AbstractTransform): """Convert instance segmentation to bounding boxes""" def __init__(self, keys: Mapping[Hashable, Hashable], grad: bool = False, **kwargs): @@ -61,7 +61,7 @@ def forward(self, **data) -> dict: return data -class BoxToSeg(AbstractTransform): +class BoxToSeg(_AbstractTransform): """Convert bounding boxes to instance segmentation""" def __init__( @@ -108,7 +108,7 @@ def forward(self, **data) -> dict: return data -class InstanceToSemantic(AbstractTransform): +class InstanceToSemantic(_AbstractTransform): """Convert an instance segmentation to a semantic segmentation""" def __init__(self, keys: Mapping[str, str], cls_key: Hashable, grad: bool = False, **kwargs): diff --git a/rising/utils/enum.py b/rising/utils/enum.py new file mode 100644 index 00000000..6c755dfe --- /dev/null +++ b/rising/utils/enum.py @@ -0,0 +1,7 @@ +from enum import Enum + + +class FInterpolation(Enum): + bilinear = "bilinear" + nearest = "nearest" + trilinear = "trilinear" diff --git a/rising/utils/mise.py b/rising/utils/mise.py index 61394c0f..604eea75 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -1,12 +1,20 @@ import collections +import functools +import random import typing as t +from contextlib import contextmanager, nullcontext from itertools import repeat import numpy as np +import torch from torch import Tensor T = t.TypeVar("T") +__all__ = ["ntuple", "single", "pair", "triple", "quadruple", "fix_seed_cxm", "nullcxm"] + +nullcxm = nullcontext + def ntuple(n: int) -> t.Callable[[t.Union[T, t.Sequence[T]]], t.Sequence[T]]: def parse(x: t.Union[T, t.Sequence[T]]) -> t.Sequence[T]: @@ -30,3 +38,76 @@ def parse(x: t.Union[T, t.Sequence[T]]) -> t.Sequence[T]: pair = ntuple(2) triple = ntuple(3) quadruple = ntuple(4) + + +class fixed_torch_seed: + """ + fixed random seed for torch module + """ + + def __init__(self, seed: int = 10, cuda: bool = True) -> None: + super().__init__() + self.seed = seed + self.cuda_flag = cuda and torch.cuda.is_available() + + def __enter__(self): + seed = self.seed + self.__pre_state = torch.get_rng_state() + self.__pre_cuda_state_all = None + if self.cuda_flag: + self.__pre_cuda_state_all = torch.cuda.get_rng_state_all() + + torch.manual_seed(seed) + if self.cuda_flag: + torch.cuda.manual_seed_all(seed) + + def __exit__(self, exc_type, exc_val, exc_tb): + torch.set_rng_state(self.__pre_state) + if self.cuda_flag: + torch.cuda.set_rng_state_all(self.__pre_cuda_state_all) + + def __call__(self, func): + @functools.wraps(func) + def generator_context(*args, **kwargs): + with self: + gen = func(*args, **kwargs) + return gen + + return generator_context + + +class fixed_random_seed: + """ + fixed random seed for random module + """ + + def __init__(self, seed: int = 10, **kwargs) -> None: + super().__init__() + self.seed = seed + + def __enter__(self): + seed = self.seed + self.__pre_state = random.getstate() + random.seed(seed) + + def __exit__(self, exc_type, exc_val, exc_tb): + random.setstate(self.__pre_state) + + def __call__(self, func): + @functools.wraps(func) + def generator_context(*args, **kwargs): + with self: + gen = func(*args, **kwargs) + return gen + + return generator_context + + +@contextmanager +def fix_seed_cxm(seed: int = 10, cuda: bool = True): + with fixed_torch_seed(seed=seed, cuda=cuda): + with fixed_random_seed(seed=seed): + try: + yield + finally: + pass diff --git a/rising/utils/transforms.py b/rising/utils/transforms.py index 3f502d6e..c6b28e0b 100644 --- a/rising/utils/transforms.py +++ b/rising/utils/transforms.py @@ -5,17 +5,17 @@ from torch import nn if typing.TYPE_CHECKING: - from rising.transforms.abstract import AbstractTransform + from rising.transforms.abstract import _AbstractTransform from rising.transforms.compose import Compose def iter_transform( - transforms: Union["Compose", "AbstractTransform", Sequence["AbstractTransform"], nn.ModuleList] -) -> Iterable["AbstractTransform"]: - from rising.transforms.abstract import AbstractTransform + transforms: Union["Compose", "_AbstractTransform", Sequence["_AbstractTransform"], nn.ModuleList] +) -> Iterable["_AbstractTransform"]: + from rising.transforms.abstract import _AbstractTransform from rising.transforms.compose import Compose - if isinstance(transforms, AbstractTransform) and not isinstance(transforms, Compose): + if isinstance(transforms, _AbstractTransform) and not isinstance(transforms, Compose): yield transforms elif isinstance(transforms, Compose): yield from iter_transform(transforms.transforms) diff --git a/tests/realtime_viewer.py b/tests/realtime_viewer.py new file mode 100644 index 00000000..55138085 --- /dev/null +++ b/tests/realtime_viewer.py @@ -0,0 +1,154 @@ +# this is the viewer script for 3D volumns visualization +from typing import List, Tuple, Union + +import matplotlib.pyplot as plt +import numpy as np +import torch + +Tensor = Union[np.ndarray, torch.Tensor] + + +def _empty_iterator(tensor) -> bool: + """ + check if a list (tuple) is empty + """ + from collections.abc import Iterable + + if isinstance(tensor, Iterable): + if len(tensor) == 0: + return True + return False + + +def _is_tensor(tensor) -> bool: + """ + return bool indicating if an input is a tensor of numpy or torch. + """ + if torch.is_tensor(tensor): + return True + if isinstance(tensor, np.ndarray): + return True + return False + + +def _is_iterable_tensor(tensor) -> bool: + """ + return bool indicating if an punt is a list or a tuple of tensor + """ + from collections.abc import Iterable + + if isinstance(tensor, Iterable): + if len(tensor) > 0: + if _is_tensor(tensor[0]): + return True + return False + + +def tensor2plotable(tensor) -> np.ndarray: + if isinstance(tensor, np.ndarray): + return tensor + elif isinstance(tensor, torch.Tensor): + return tensor.detach().cpu().numpy() + else: + raise TypeError(f"tensor should be an instance of Tensor, given {type(tensor)}") + + +# below are the functions mostly utilized. +def multi_slice_viewer_debug( + img_volume: Union[Tensor, List[Tensor], Tuple[Tensor, ...]], + *gt_volumes: Tensor, + no_contour=False, + block=False, + alpha=0.2, +) -> None: + def process_mouse_wheel(event): + fig = event.canvas.figure + for i, ax in enumerate(fig.axes): + if event.button == "up": + previous_slice(ax) + elif event.button == "down": + next_slice(ax) + fig.canvas.draw() + + def process_key(event): + fig = event.canvas.figure + ax = fig.axes[0] + if event.key == "j": + previous_slice(ax) + elif event.key == "k": + next_slice(ax) + fig.canvas.draw() + + def previous_slice(ax): + img_volume = ax.img_volume + ax.index = (ax.index - 1) if (ax.index - 1) >= 0 else 0 # wrap around using % + ax.images[0].set_array(img_volume[ax.index]) + + if ax.gt_volume is not None: + if not no_contour: + for con in ax.con.collections: + con.remove() + ax.con = ax.contour(ax.gt_volume[ax.index]) + else: + ax.con.remove() + ax.con = ax.imshow(ax.gt_volume[ax.index], alpha=alpha, cmap="rainbow") + ax.set_title(f"plane = {ax.index}") + + def next_slice(ax): + img_volume = ax.img_volume + ax.index = (ax.index + 1) if (ax.index + 1) < img_volume.shape[0] else img_volume.shape[0] - 1 + ax.images[0].set_array(img_volume[ax.index]) + + if ax.gt_volume is not None: + if not no_contour: + for con in ax.con.collections: + con.remove() + ax.con = ax.contour(ax.gt_volume[ax.index]) + else: + ax.con.remove() + ax.con = ax.imshow(ax.gt_volume[ax.index], alpha=alpha, cmap="rainbow") + ax.set_title(f"plane = {ax.index}") + + try: + import matplotlib + + matplotlib.use("tkagg", force=True) + except Exception as e: + print(e) + + # assertion part: + assert _is_tensor(img_volume) or _is_iterable_tensor(img_volume), f"input wrong for img_volume, given {img_volume}." + assert _is_iterable_tensor(gt_volumes) or gt_volumes == (), f"input wrong for gt_volumes, given {gt_volumes}." + if _is_tensor(img_volume): + img_volume = [img_volume] + row_num, col_num = len(img_volume), max(len(gt_volumes), 1) + + fig, axs = plt.subplots(row_num, col_num) + if not isinstance(axs, np.ndarray): + # lack of numpy wrapper + axs = np.array([axs]) + axs = axs.reshape((row_num, col_num)) + + for _row_num, row_axs in enumerate(axs): + # each row + assert len(row_axs) == col_num + for _col_num, ax in enumerate(row_axs): + ax.img_volume = tensor2plotable(img_volume[_row_num]) + min_value, max_value = ax.img_volume.min(), ax.img_volume.max() + + ax.index = ax.img_volume.shape[0] // 2 + ax.imshow(ax.img_volume[ax.index], cmap="gray", vmin=min_value, vmax=max_value) + ax.gt_volume = None if _empty_iterator(gt_volumes) else tensor2plotable(gt_volumes[_col_num]) + try: + if not no_contour: + ax.con = ax.contour(ax.gt_volume[ax.index]) + else: + ax.con = ax.imshow(ax.gt_volume[ax.index], alpha=alpha, cmap="rainbow") + except Exception as e: + pass + ax.axis("off") + ax.set_title(f"plane = {ax.index}") + + fig.canvas.mpl_connect("key_press_event", process_key) + fig.canvas.mpl_connect("scroll_event", process_mouse_wheel) + plt.show(block=block) diff --git a/tests/transforms/_helpers.py b/tests/transforms/_helpers.py index e4458f13..7577fb32 100644 --- a/tests/transforms/_helpers.py +++ b/tests/transforms/_helpers.py @@ -1,7 +1,7 @@ -from rising.transforms.abstract import AbstractTransform +from rising.transforms.abstract import _AbstractTransform -def chech_data_preservation(trafo: AbstractTransform, batch: dict, key: str = "data") -> bool: +def chech_data_preservation(trafo: _AbstractTransform, batch: dict, key: str = "data") -> bool: """ Checks for inplace modification of input data diff --git a/tests/transforms/test_abstract2.py b/tests/transforms/test_abstract2.py new file mode 100644 index 00000000..eb518884 --- /dev/null +++ b/tests/transforms/test_abstract2.py @@ -0,0 +1,63 @@ +import time +import unittest +from typing import Sequence, Union + +import torch + +from rising.transforms import BaseTransform, BaseTransformMixin, PerSampleTransformMixin +from rising.transforms.abstract import item_or_seq +from rising.transforms.functional import resize_native + + +class ResizeNative(BaseTransformMixin, BaseTransform): + """Resize data to given size""" + + def __init__( + self, + size: Union[int, Sequence[int]], + mode: item_or_seq[str] = "nearest", + align_corners: item_or_seq[bool] = None, + preserve_range: bool = False, + keys: Sequence[str] = ("data",), + grad: bool = False, + **kwargs + ): + """ + Args: + size: spatial output size (excluding batch size and + number of channels) + mode: one of ``nearest``, ``linear``, ``bilinear``, ``bicubic``, + ``trilinear``, ``area`` (for more inforamtion see + :func:`torch.nn.functional.interpolate`) or their sequence, for different keys. + align_corners: input and output tensors are aligned by the center \ + points of their corners pixels, preserving the values at the + corner pixels. Input can be sequence, for different keys. + preserve_range: output tensor has same range as input tensor + keys: keys which should be augmented + grad: enable gradient computation inside transformation + **kwargs: keyword arguments passed to augment_fn + """ + super().__init__( + augment_fn=resize_native, + keys=keys, + grad=grad, + size=size, + mode=mode, + align_corners=align_corners, + preserve_range=preserve_range, + paired_kw_names=("mode", "align_corners"), + augment_fn_names=("size", "mode", "align_corners"), + **kwargs + ) + + +class TestBaseTransform(unittest.TestCase): + def test_naive(self): + image = torch.randn(3, 10, 224, 224, 224, device="cuda", dtype=torch.float16) + target = torch.randint(0, 5, (3, 1, 224, 224, 224), device="cuda", dtype=torch.float16) + cur_time = time.time() + transform = ResizeNative( + size=(16, 16, 16), mode=("trilinear", "nearest"), align_corners=None, keys=("data", "target") + ) + transform(data=image, target=target) + print(time.time() - cur_time) diff --git a/tests/transforms/test_abstract_transform.py b/tests/transforms/test_abstract_transform.py index be96cb8c..8ee7f2c0 100644 --- a/tests/transforms/test_abstract_transform.py +++ b/tests/transforms/test_abstract_transform.py @@ -1,19 +1,35 @@ import unittest +from typing import Sequence from unittest.mock import Mock, call import torch -from rising.transforms import AbstractTransform, BaseTransform, PerChannelTransform, PerSampleTransform - - -class AddTransform(AbstractTransform): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.grad_tensor = torch.rand(1, 1, 32, 32, requires_grad=True) +from rising.transforms import BaseTransform, PerChannelTransformMixin, PerSampleTransformMixin, _AbstractTransform + + +class AddTransform(PerSampleTransformMixin, BaseTransform): + def __init__( + self, + *, + dims=[1], + keys: Sequence[str] = ("data",), + grad: bool = False, + property_names: Sequence[str] = (), + key_associate_kwargs_names: Sequence[str] = ("dims",) + ): + super(AddTransform, self).__init__( + augment_fn=sum_dim, + keys=keys, + grad=grad, + property_names=property_names, + key_associate_kwargs_names=key_associate_kwargs_names, + per_sample=True, + seeded=True, + dims=dims, + ) def forward(self, **data) -> dict: - data["data"] = data["data"] + self.grad_tensor - return data + return super().forward(**data) def sum_dim(data, dims, **kwargs): @@ -30,7 +46,7 @@ def setUp(self) -> None: self.batch_dict = {"data": torch.rand(1, 1, 32, 32), "seg": torch.rand(1, 1, 32, 32), "label": torch.arange(3)} def test_abstract_transform(self): - trafo = AbstractTransform(grad=False, internal0=True) + trafo = _AbstractTransform(grad=False, internal0=True) self.assertTrue(trafo.internal0) with self.assertRaises(NotImplementedError): trafo(**self.batch_dict) @@ -69,7 +85,7 @@ def test_per_sample_transform(self): def augment_fn(inp, *args, **kwargs): return mock(inp) - trafo = PerSampleTransform(augment_fn, keys=("label",)) + trafo = PerSampleTransformMixin(augment_fn, keys=("label",)) output = trafo(**self.batch_dict) calls = [ call(torch.tensor([0])), @@ -84,7 +100,7 @@ def test_per_channel_transform_per_channel_true(self): def augment_fn(inp, *args, **kwargs): return mock(inp) - trafo = PerChannelTransform(augment_fn, per_channel=True, keys=("label",)) + trafo = PerChannelTransformMixin(augment_fn, per_channel=True, keys=("label",)) self.batch_dict["label"] = self.batch_dict["label"][None] output = trafo(**self.batch_dict) calls = [ @@ -100,7 +116,7 @@ def test_per_channel_transform_per_channel_false(self): def augment_fn(inp, *args, **kwargs): return mock(inp) - trafo = PerChannelTransform(augment_fn, per_channel=False, keys=("label",)) + trafo = PerChannelTransformMixin(augment_fn, per_channel=False, keys=("label",)) self.batch_dict["label"] = self.batch_dict["label"][None] output = trafo(**self.batch_dict) mock.assert_called_once() diff --git a/tests/transforms/test_compose.py b/tests/transforms/test_compose.py index 07614cae..418bef3b 100644 --- a/tests/transforms/test_compose.py +++ b/tests/transforms/test_compose.py @@ -4,10 +4,10 @@ import torch -from rising.utils.transforms import iter_transform -from rising.transforms import AbstractTransform +from rising.transforms import _AbstractTransform from rising.transforms.compose import Compose, DropoutCompose, OneOf, _TransformWrapper from rising.transforms.spatial import Mirror +from rising.utils.transforms import iter_transform class TestCompose(unittest.TestCase): @@ -72,7 +72,7 @@ def test_dropout_compose_error(self): compose = DropoutCompose(self.transforms, dropout=[1.0]) def test_device_dtype_change(self): - class DummyTrafo(AbstractTransform): + class DummyTrafo(_AbstractTransform): def __init__(self, a): super().__init__(False) self.register_buffer("tmp", a) diff --git a/tests/transforms/test_spatial_transforms.py b/tests/transforms/test_spatial_transforms.py index 3020241e..8438b7ae 100644 --- a/tests/transforms/test_spatial_transforms.py +++ b/tests/transforms/test_spatial_transforms.py @@ -1,13 +1,16 @@ import random import unittest +import numpy as np +import SimpleITK as sitk import torch +from matplotlib import pyplot as plt from rising.loading import DataLoader -from rising.random import UniformParameter +from rising.random import DiscreteParameter, UniformParameter from rising.transforms import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom -from rising.transforms.functional import resize_native -from tests.transforms import chech_data_preservation +from rising.utils.enum import FInterpolation +from tests.realtime_viewer import multi_slice_viewer_debug class TestSpatialTransforms(unittest.TestCase): @@ -15,58 +18,79 @@ def setUp(self) -> None: torch.manual_seed(0) random.seed(0) self.batch_dict = { - "data": torch.arange(1, 10).reshape(1, 1, 3, 3).float(), - "seg": torch.randint(0, 3, (1, 1, 3, 3)).long(), - "label": torch.arange(3), + "data": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01.nii.gz"), + "label": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01_gt.nii.gz"), } + def load_nii_data(self, path): + return torch.from_numpy( + sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(np.float32, copy=False) + ).unsqueeze(1) + def test_mirror_transform(self): - trafo = Mirror((0, 1), p=(1, 1)) + trafo = Mirror(dims=DiscreteParameter((0, 1, (0, 1))), p_sample=0.5, keys=("data", "label")) outp = trafo(**self.batch_dict) - - self.assertTrue(outp["data"][0, 0].allclose(torch.tensor([[9, 8, 7], [6, 5, 4], [3, 2, 1]]).float())) - self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) + image1, target1 = self.batch_dict.values() + image2, target2 = outp.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True) def test_rot90_transform(self): - random.seed(0) - trafo = Rot90((0, 1), prob=1, num_rots=(1,)) + trafo = Rot90(dims=[0, 1], num_rots=DiscreteParameter((2,)), p_sample=0.5, keys=("data", "label")) outp = trafo(**self.batch_dict) - self.assertTrue((outp["data"][0, 0] == torch.tensor([[3, 6, 9], [2, 5, 8], [1, 4, 7]])).all()) - self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) + image1, target1 = self.batch_dict.values() + image2, target2 = outp.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True) - trafo = Rot90((0, 1), prob=0) - data_orig = self.batch_dict["data"].clone() + trafo = Rot90(dims=[0, 1], num_rots=DiscreteParameter((2,)), p_sample=1, keys=("data", "label")) outp = trafo(**self.batch_dict) - self.assertTrue((outp["data"] == data_orig).all()) + image1, target1 = self.batch_dict.values() + image2, target2 = outp.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True) def test_resize_transform(self): - trafo = ResizeNative((2, 2)) + trafo = ResizeNative( + (256, 256), + keys=( + "data", + "label", + ), + mode=(FInterpolation.bilinear, FInterpolation.nearest), + align_corners=(False, None), + ) out = trafo(**self.batch_dict) - expected = torch.tensor([[1, 2], [4, 5]]) - self.assertTrue((out["data"] == expected).all()) + image1, target1 = self.batch_dict.values() + image2, target2 = out.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True, no_contour=True) def test_zoom_transform(self): _range = (2.0, 3.0) - torch.manual_seed(0) - scale_factor = UniformParameter(*_range)() + # scale_factor = UniformParameter(*_range)() - trafo = Zoom(scale_factor=UniformParameter(*_range)) - torch.manual_seed(0) - out = trafo(**self.batch_dict) + trafo = Zoom(scale_factor=UniformParameter(*_range), keys=("data", "label")) - expected = resize_native(self.batch_dict["data"], mode="nearest", scale_factor=scale_factor) - self.assertTrue((out["data"] == expected).all()) + out = trafo(**self.batch_dict) + image1, target1 = self.batch_dict.values() + image2, target2 = out.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True, no_contour=True) def test_progressive_resize(self): + image1, target1 = self.batch_dict.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + sizes = [1, 3, 6] - scheduler = SizeStepScheduler([1, 2], [1, 3, 6]) - trafo = ProgressiveResize(scheduler) + scheduler = SizeStepScheduler([1, 2], [112, 224, 336]) + trafo = ProgressiveResize(scheduler, keys=("data", "label")) for i in range(3): outp = trafo(**self.batch_dict) - self.assertTrue(all([s == sizes[i] for s in outp["data"].shape[2:]])) + image2, target2 = outp.values() + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=False, no_contour=True) - trafo.reset_step() - self.assertEqual(trafo.step, 0) + plt.show() def test_size_step_scheduler(self): scheduler = SizeStepScheduler([10, 20], [16, 32, 64]) @@ -90,9 +114,9 @@ def test_progressive_resize_integration(self): data_shape = [tuple(i["data"].shape) for i in loader] - self.assertIn((1, 1, 1, 1, 1), data_shape) - # self.assertIn((1, 1, 3, 3, 3), data_shape) - self.assertIn((1, 1, 6, 6, 6), data_shape) + self.assertIn((1, 10, 1, 1, 1), data_shape) + self.assertIn((1, 10, 3, 3, 3), data_shape) + self.assertIn((1, 10, 6, 6, 6), data_shape) if __name__ == "__main__": From 6b75c4f18f23d17ca9639fa29b7773e391ecd5d8 Mon Sep 17 00:00:00 2001 From: jizong Date: Mon, 8 Nov 2021 19:00:07 -0500 Subject: [PATCH 25/53] reformulaze the intensity section. --- rising/random/abstract.py | 15 +- rising/transforms/__init__.py | 2 - rising/transforms/abstract.py | 12 +- rising/transforms/functional/intensity.py | 35 ++-- rising/transforms/intensity.py | 179 +++++++++++------- tests/transforms/test_abstract2.py | 63 ------ tests/transforms/test_intensity_transforms.py | 33 +--- 7 files changed, 157 insertions(+), 182 deletions(-) delete mode 100644 tests/transforms/test_abstract2.py diff --git a/rising/random/abstract.py b/rising/random/abstract.py index 83846dc7..25b3c95e 100644 --- a/rising/random/abstract.py +++ b/rising/random/abstract.py @@ -1,11 +1,12 @@ +import typing as t from abc import abstractmethod from typing import Optional, Sequence, Union import torch -import typing as t + from rising.utils.shape import reshape -__all__ = ["AbstractParameter"] +__all__ = ["AbstractParameter", "ConstantParameter"] class AbstractParameter(torch.nn.Module): @@ -42,11 +43,11 @@ def sample(self, n_samples: int) -> Union[torch.Tensor, list]: raise NotImplementedError def forward( - self, - size: Optional[Union[Sequence, torch.Size]] = None, - device: Union[torch.device, str] = None, - dtype: Union[torch.dtype, str] = None, - tensor_like: torch.Tensor = None, + self, + size: Optional[Union[Sequence, torch.Size]] = None, + device: Union[torch.device, str] = None, + dtype: Union[torch.dtype, str] = None, + tensor_like: torch.Tensor = None, ) -> Union[None, list, torch.Tensor]: """ Forward function (will also be called if the module is called). diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 5450ce36..029a55ef 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -45,7 +45,6 @@ GammaCorrection, GaussianNoise, InvertAmplitude, - Noise, NormMeanStd, NormMinMax, NormPercentile, @@ -54,7 +53,6 @@ RandomAddValue, RandomBezierTransform, RandomScaleValue, - RandomValuePerChannel, ) from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.pad import Pad diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index d20274ce..7a264cb3 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -183,22 +183,22 @@ def __init__( during forward pass **kwargs: keyword arguments passed to augment_fn """ - sampler_vals = {k: v for k, v in kwargs.items() if self.need_sampler(v)} - # kwargs = {k: v for k, v in kwargs.items() if k not in sampler_vals} super().__init__(grad=grad, **kwargs) + sampler_vals = {k: v for k, v in kwargs.items() if self.need_sampler(v)} + self._paired_kw_names: List[str] = [] self._augment_fn_names = augment_fn_names # kwargs passed to the augment_fn + self.paired_kw_names = paired_kw_names self.augment_fn = augment_fn + assert isinstance(keys, Sequence), keys self.keys = keys + self.tuple_generator = ntuple(len(self.keys)) self.per_sample = per_sample - self.kwargs = kwargs - - self.tuple_generator = ntuple(len(self.keys)) - for kwarg_name in paired_kw_names: + for kwarg_name in self.paired_kw_names: self.register_paired_attribute(kwarg_name, getattr(self, kwarg_name)) for name, val in sampler_vals.items(): diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 986b2d88..7f1a4e8d 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -1,3 +1,4 @@ +import warnings from typing import Optional, Sequence, Union import torch @@ -120,20 +121,27 @@ def norm_min_max_percentile( Returns: torch.Tensor: normalized data """ - assert data.shape[0] == 1, f"per sample example (batch_size = 1) as the input data, given {data.shape}" if out is None: out = torch.empty_like(data) if per_channel: - for i, data_ in enumerate(data): + for i, data_ in enumerate(data.shape[1]): min_ = torch.quantile(data_.float(), float(min)) max_ = torch.quantile(data_.float(), float(max)) - out[i] = clamp(data_, min=float(min_), max=float(max_), out=out[i]) + out[:, i] = clamp( + data_, + min=float(min_), + max=float(max_), + ) else: - max_ = torch.quantile(data, float(min)) - min_ = torch.quantile(data, float(max)) - out = clamp(data, min=float(min_), max=float(max_), out=out) + min_ = torch.quantile(data, float(min)) + max_ = torch.quantile(data, float(max)) + out = clamp( + data, + min=float(min_), + max=float(max_), + ) return norm_min_max(out, per_channel=per_channel, out=out, eps=eps) @@ -248,6 +256,10 @@ def gamma_correction(data: torch.Tensor, gamma: float) -> torch.Tensor: Returns: torch.Tensor: gamma corrected data """ + min_, max_ = data.min().detach(), data.max().detach() + if min_ < 0 or max_ > 1: + warnings.warn("`data` range not in [0, 1]", RuntimeWarning) + if torch.is_tensor(gamma): gamma = gamma.to(data) return data.pow(gamma) @@ -290,12 +302,13 @@ def scale_by_value(data: torch.Tensor, value: float, out: Optional[torch.Tensor] def bezier_3rd_order( data: torch.Tensor, maxv: float = 1.0, minv: float = 0.0, out: Optional[torch.Tensor] = None ) -> torch.Tensor: - p0 = torch.zeros((1, 2)) - p1 = torch.rand((1, 2)) - p2 = torch.rand((1, 2)) - p3 = torch.ones((1, 2)) + device, dtype = data.device, data.dtype + p0 = torch.zeros((1, 2), device=device, dtype=dtype) + p1 = torch.rand((1, 2), device=device, dtype=dtype) + p2 = torch.rand((1, 2), device=device, dtype=dtype) + p3 = torch.ones((1, 2), device=device, dtype=dtype) - t = torch.linspace(0.0, 1.0, 1000).unsqueeze(1) + t = torch.linspace(0.0, 1.0, 1000, device=device, dtype=dtype).unsqueeze(1) points = (1 - t * t * t) * p0 + 3 * (1 - t) * (1 - t) * t * p1 + 3 * (1 - t) * t * t * p2 + t * t * t * p3 diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 43846ab9..131fd8d8 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -1,7 +1,5 @@ from typing import Optional, Sequence, Union -import torch - from rising.random import AbstractParameter from rising.transforms.abstract import ( BaseTransform, @@ -32,11 +30,11 @@ "NormMinMax", "NormZeroMeanUnitStd", "NormMeanStd", - "Noise", + "_Noise", "GaussianNoise", "ExponentialNoise", "GammaCorrection", - "RandomValuePerChannel", + "_RandomValuePerChannel", "RandomAddValue", "RandomScaleValue", "RandomBezierTransform", @@ -66,7 +64,14 @@ def __init__( **kwargs: keyword arguments passed to augment_fn """ super().__init__( - augment_fn=clamp, keys=keys, grad=grad, property_names=("min", "max"), min=min, max=max, **kwargs + augment_fn=clamp, + keys=keys, + grad=grad, + paired_kw_names=("min", "max"), + augment_fn_names=("min", "max"), + min=min, + max=max, + **kwargs ) @@ -78,6 +83,7 @@ def __init__( keys: Sequence = ("data",), per_channel: bool = True, grad: bool = False, + per_sample=True, **kwargs ): """ @@ -93,9 +99,11 @@ def __init__( augment_fn=norm_range, keys=keys, grad=grad, - property_names=("min", "max"), + paired_kw_names=("min", "max"), + augment_fn_names=("min", "max", "per_channel"), min=min, max=max, + per_sample=per_sample, per_channel=per_channel, **kwargs ) @@ -111,18 +119,21 @@ def __init__( per_channel: bool = True, keys: Sequence[str] = ("data",), grad: bool = False, + per_sample=True, **kwargs ): super().__init__( augment_fn=norm_min_max_percentile, keys=keys, grad=grad, - property_names=("min", "max"), min=min, max=max, + per_channel=per_channel, + paired_kw_names=("min", "max"), + augment_fn_names=("min", "max", "per_channel"), + per_sample=per_sample, **kwargs ) - self.per_channel = per_channel class NormMinMax(PerSampleTransformMixin, BaseTransform): @@ -134,6 +145,7 @@ def __init__( per_channel: bool = True, grad: bool = False, eps: Optional[float] = 1e-8, + per_sample=True, **kwargs ): """ @@ -145,7 +157,19 @@ def __init__( If None, no factor constant will be added **kwargs: keyword arguments passed to normalization function """ - super().__init__(augment_fn=norm_min_max, keys=keys, grad=grad, per_channel=per_channel, eps=eps, **kwargs) + super().__init__( + augment_fn=norm_min_max, + keys=keys, + grad=grad, + per_channel=per_channel, + eps=eps, + per_sample=True, + augment_fn_names=( + "per_channel", + "eps", + ), + **kwargs + ) class NormZeroMeanUnitStd(PerSampleTransformMixin, BaseTransform): @@ -157,6 +181,7 @@ def __init__( per_channel: bool = True, grad: bool = False, eps: Optional[float] = 1e-8, + per_sample=True, **kwargs ): """ @@ -169,7 +194,14 @@ def __init__( **kwargs: keyword arguments passed to normalization function """ super().__init__( - augment_fn=norm_zero_mean_unit_std, keys=keys, grad=grad, per_channel=per_channel, eps=eps, **kwargs + augment_fn=norm_zero_mean_unit_std, + keys=keys, + grad=grad, + per_channel=per_channel, + augment_fn_names=("eps", "per_channel"), + eps=eps, + per_sample=per_sample, + **kwargs ) @@ -183,6 +215,7 @@ def __init__( keys: Sequence[str] = ("data",), per_channel: bool = True, grad: bool = False, + per_sample=True, **kwargs ): """ @@ -195,11 +228,41 @@ def __init__( **kwargs: keyword arguments passed to normalization function """ super().__init__( - augment_fn=norm_mean_std, keys=keys, grad=grad, mean=mean, std=std, per_channel=per_channel, **kwargs + augment_fn=norm_mean_std, + keys=keys, + grad=grad, + mean=mean, + std=std, + per_channel=per_channel, + paired_kw_names=( + "mean", + "std", + ), + augment_fn_names=("mean", "std", "per_channel"), + per_sample=per_sample, + **kwargs + ) + + +class GammaCorrection(BaseTransformMixin, BaseTransform): + """Apply Gamma correction""" + + def __init__( + self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs + ): + """ + Args: + gamma: define gamma + keys: keys to normalize + grad: enable gradient computation inside transformation + **kwargs: keyword arguments passed to superclass + """ + super().__init__( + augment_fn=gamma_correction, keys=keys, grad=grad, augment_fn_names=("gamma",), gamma=gamma, **kwargs ) -class Noise(PerChannelTransformMixin, BaseTransform): +class _Noise(PerChannelTransformMixin, BaseTransform): """ Add noise to data @@ -226,7 +289,7 @@ def __init__( ) -class ExponentialNoise(Noise): +class ExponentialNoise(_Noise): """ Add exponential noise to data @@ -241,10 +304,17 @@ def __init__(self, lambd: float, keys: Sequence = ("data",), grad: bool = False, grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to noise function """ - super().__init__(noise_type="exponential_", lambd=lambd, keys=keys, grad=grad, **kwargs) + super().__init__( + noise_type="exponential_", + lambd=lambd, + keys=keys, + grad=grad, + augment_fn_names=("noise_type", "lambd"), + **kwargs + ) -class GaussianNoise(Noise): +class GaussianNoise(_Noise): """ Add gaussian noise to data @@ -260,28 +330,18 @@ def __init__(self, mean: float, std: float, keys: Sequence = ("data",), grad: bo grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to noise function """ - super().__init__(noise_type="normal_", mean=mean, std=std, keys=keys, grad=grad, **kwargs) - - -class GammaCorrection(BaseTransform): - """Apply Gamma correction""" - - def __init__( - self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs - ): - """ - Args: - gamma: define gamma - keys: keys to normalize - grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to superclass - """ super().__init__( - augment_fn=gamma_correction, keys=keys, grad=grad, property_names=("gamma",), gamma=gamma, **kwargs + noise_type="normal_", + mean=mean, + std=std, + keys=keys, + grad=grad, + augment_fn_names=("noise_type", "mean", "std"), + **kwargs ) -class RandomValuePerChannel(PerChannelTransformMixin, BaseTransform): +class _RandomValuePerChannel(PerChannelTransformMixin, BaseTransform): """ Apply augmentations which take random values as input by keyword :attr:`value` @@ -291,6 +351,7 @@ class RandomValuePerChannel(PerChannelTransformMixin, BaseTransform): def __init__( self, augment_fn: augment_callable, + augment_fn_names: Sequence[str], random_sampler: AbstractParameter, per_channel: bool = False, keys: Sequence[str] = ("data",), @@ -311,41 +372,16 @@ def __init__( """ super().__init__( augment_fn=augment_fn, + augment_fn_names=augment_fn_names, per_channel=per_channel, keys=keys, grad=grad, - random_sampler=random_sampler, - property_names=("random_sampler",), **kwargs ) + self.register_sampler("value", random_sampler) - def forward(self, **data) -> dict: - """ - Perform Augmentation. - - Args: - data: dict with data - Returns: - dict: augmented data - """ - if self.per_channel: - seed = torch.random.get_rng_state() - for _key in self.keys: - torch.random.set_rng_state(seed) - out = torch.empty_like(data[_key]) - for _i in range(data[_key].shape[1]): - rand_value = self.random_sampler - out[:, _i] = self.augment_fn(data[_key][:, _i], value=rand_value, out=out[:, _i], **self.kwargs) - data[_key] = out - else: - rand_value = self.random_sampler - for _key in self.keys: - data[_key] = self.augment_fn(data[_key], value=rand_value, **self.kwargs) - return data - - -class RandomAddValue(RandomValuePerChannel): +class RandomAddValue(_RandomValuePerChannel): """ Increase values additively @@ -369,11 +405,17 @@ def __init__( **kwargs: keyword arguments passed to augment_fn """ super().__init__( - augment_fn=add_value, random_sampler=random_sampler, per_channel=per_channel, keys=keys, grad=grad, **kwargs + augment_fn=add_value, + augment_fn_names=("value",), + random_sampler=random_sampler, + per_channel=per_channel, + keys=keys, + grad=grad, + **kwargs ) -class RandomScaleValue(RandomValuePerChannel): +class RandomScaleValue(_RandomValuePerChannel): """ Scale Values @@ -398,6 +440,7 @@ def __init__( """ super().__init__( augment_fn=scale_by_value, + augment_fn_names=("value",), random_sampler=random_sampler, per_channel=per_channel, keys=keys, @@ -410,7 +453,15 @@ class RandomBezierTransform(BaseTransform): """Apply a random 3rd order bezier spline to the intensity values, as proposed in Models Genesis.""" def __init__(self, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data",), **kwargs): - super().__init__(augment_fn=bezier_3rd_order, keys=keys, grad=False, maxv=maxv, minv=minv, **kwargs) + super().__init__( + augment_fn=bezier_3rd_order, + keys=keys, + grad=False, + maxv=maxv, + augment_fn_names=("maxv", "minv"), + minv=minv, + **kwargs + ) class InvertAmplitude(BaseTransform): diff --git a/tests/transforms/test_abstract2.py b/tests/transforms/test_abstract2.py deleted file mode 100644 index eb518884..00000000 --- a/tests/transforms/test_abstract2.py +++ /dev/null @@ -1,63 +0,0 @@ -import time -import unittest -from typing import Sequence, Union - -import torch - -from rising.transforms import BaseTransform, BaseTransformMixin, PerSampleTransformMixin -from rising.transforms.abstract import item_or_seq -from rising.transforms.functional import resize_native - - -class ResizeNative(BaseTransformMixin, BaseTransform): - """Resize data to given size""" - - def __init__( - self, - size: Union[int, Sequence[int]], - mode: item_or_seq[str] = "nearest", - align_corners: item_or_seq[bool] = None, - preserve_range: bool = False, - keys: Sequence[str] = ("data",), - grad: bool = False, - **kwargs - ): - """ - Args: - size: spatial output size (excluding batch size and - number of channels) - mode: one of ``nearest``, ``linear``, ``bilinear``, ``bicubic``, - ``trilinear``, ``area`` (for more inforamtion see - :func:`torch.nn.functional.interpolate`) or their sequence, for different keys. - align_corners: input and output tensors are aligned by the center \ - points of their corners pixels, preserving the values at the - corner pixels. Input can be sequence, for different keys. - preserve_range: output tensor has same range as input tensor - keys: keys which should be augmented - grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn - """ - super().__init__( - augment_fn=resize_native, - keys=keys, - grad=grad, - size=size, - mode=mode, - align_corners=align_corners, - preserve_range=preserve_range, - paired_kw_names=("mode", "align_corners"), - augment_fn_names=("size", "mode", "align_corners"), - **kwargs - ) - - -class TestBaseTransform(unittest.TestCase): - def test_naive(self): - image = torch.randn(3, 10, 224, 224, 224, device="cuda", dtype=torch.float16) - target = torch.randint(0, 5, (3, 1, 224, 224, 224), device="cuda", dtype=torch.float16) - cur_time = time.time() - transform = ResizeNative( - size=(16, 16, 16), mode=("trilinear", "nearest"), align_corners=None, keys=("data", "target") - ) - transform(data=image, target=target) - print(time.time() - cur_time) diff --git a/tests/transforms/test_intensity_transforms.py b/tests/transforms/test_intensity_transforms.py index 274a5efc..96bffaf4 100644 --- a/tests/transforms/test_intensity_transforms.py +++ b/tests/transforms/test_intensity_transforms.py @@ -1,7 +1,6 @@ import random import unittest from math import isclose -from unittest.mock import Mock, call import torch @@ -11,15 +10,13 @@ ExponentialNoise, GammaCorrection, GaussianNoise, - Noise, NormMeanStd, NormMinMax, + NormPercentile, NormRange, NormZeroMeanUnitStd, RandomAddValue, RandomScaleValue, - RandomValuePerChannel, - NormPercentile ) from tests.transforms import chech_data_preservation @@ -55,6 +52,7 @@ def test_norm_range_transform(self): def test_norm_percentile_transform(self): trafo = NormPercentile(0.001, 0.99, per_channel=False) + # out = trafo(**self.batch_dict) self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) trafo = NormPercentile(0.001, 0.99, per_channel=True) @@ -62,7 +60,8 @@ def test_norm_percentile_transform(self): outp = trafo(**self.batch_dict) self.assertTrue( - isclose(outp["data"].min().item(), torch.quantile(self.batch_dict["data"], 0.001), abs_tol=1e-6)) + isclose(outp["data"].min().item(), torch.quantile(self.batch_dict["data"], 0.001), abs_tol=1e-6) + ) self.assertTrue(isclose(outp["data"].max().item(), torch.quantile(self.batch_dict["data"], 0.99), abs_tol=1e-6)) def test_norm_min_max_transform(self): @@ -100,11 +99,6 @@ def test_norm_std_transform(self): self.assertTrue(isclose(outp["data"].mean().item(), 0.0, abs_tol=1e-6)) self.assertTrue(isclose(outp["data"].std().item(), 1.0, abs_tol=1e-6)) - def test_noise_transform(self): - trafo = Noise("normal", mean=75, std=1) - self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) - self.check_noise_distance(trafo) - def test_expoential_noise_transform(self): trafo = ExponentialNoise(lambd=0.0001) self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) @@ -120,25 +114,6 @@ def check_noise_distance(self, trafo, min_diff=50): comp_diff = (outp["data"] - self.batch_dict["data"]).mean().item() self.assertTrue(comp_diff > min_diff) - def test_per_channel_transform_per_channel_true(self): - # TODO: check why sometimes an overflow occurs - mock = Mock(return_value=0) - - def augment_fn(inp, *args, **kwargs): - return mock(inp) - - trafo = RandomValuePerChannel( - augment_fn, random_sampler=DiscreteParameter((1,)), per_channel=True, keys=("label",) - ) - self.batch_dict["label"] = self.batch_dict["label"][None] - output = trafo(**self.batch_dict) - calls = [ - call(torch.tensor([0])), - call(torch.tensor([1])), - call(torch.tensor([2])), - ] - mock.assert_has_calls(calls) - def test_random_add_value(self): trafo = RandomAddValue(DiscreteParameter((2,))) self.assertTrue(chech_data_preservation(trafo, self.batch_dict)) From a4edc5bf8baee45a9b096ce0dbf77625b6db7059 Mon Sep 17 00:00:00 2001 From: jizong Date: Thu, 18 Nov 2021 19:08:48 -0500 Subject: [PATCH 26/53] make affine working --- rising/transforms/__init__.py | 11 +- rising/transforms/abstract.py | 6 +- rising/transforms/affine.py | 51 +++++- rising/transforms/tensor.py | 56 ++---- tests/transforms/test_affine_transform.py | 204 ++++++++++++++++++++++ 5 files changed, 264 insertions(+), 64 deletions(-) create mode 100644 tests/transforms/test_affine_transform.py diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 029a55ef..cc9bbc77 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -59,14 +59,5 @@ from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting from rising.transforms.sitk import SITK2Tensor, SITKResample, SITKWindows from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom -from rising.transforms.tensor import ( - Permute, - TensorInsertDim, - TensorOp, - TensorRemoveDim, - ToDevice, - ToDeviceDtype, - ToDtype, - ToTensor, -) +from rising.transforms.tensor import Permute, TensorOp, ToDevice, ToDtype, ToTensor, _ToDeviceDtype from rising.transforms.utility import BoxToSeg, DoNothing, InstanceToSemantic, SegToBox diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 7a264cb3..cac727ac 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,4 +1,4 @@ -from abc import ABC +from abc import ABC, abstractmethod from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union import torch @@ -51,6 +51,8 @@ def register_sampler(self, name: str, sampler: Union[Sequence, AbstractParameter **kwargs : additional keyword arguments (will be forwarded to sampler call) """ + if name in self._registered_samplers: + raise ValueError(f"{name} has been registered as sampler.") self._registered_samplers.append(name) if not isinstance(sampler, (tuple, list)): @@ -234,6 +236,7 @@ def get_pair_kwargs(self, key: str) -> Dict[str, Any]: index = self.keys.index(key) return {k: getattr(self, k)[index] for k in self._paired_kw_names} + @abstractmethod def forward(self, **data) -> dict: """ implementation override by mixin @@ -270,6 +273,7 @@ def __init__(self, *, seeded: bool = True, p: float = 1, **kwargs) -> None: """ super().__init__(**kwargs) self.seeded = seeded + assert 0 <= p <= 1, p self.p = p def forward(self, **data) -> Dict[str, Any]: diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index c495f4cb..544cc5a0 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, item_or_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, item_or_seq from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -72,7 +72,15 @@ def __init__( **kwargs: additional keyword arguments passed to the affine transform """ - super().__init__(augment_fn=affine_image_transform, keys=keys, grad=grad, **kwargs) + super().__init__( + augment_fn=affine_image_transform, + keys=keys, + per_sample=per_sample, + augment_fn_names=(), + grad=grad, + seeded=True, + **kwargs, + ) self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size @@ -80,7 +88,6 @@ def __init__( self.padding_mode = self.tuple_generator(padding_mode) self.align_corners = self.tuple_generator(align_corners) self.reverse_order = reverse_order - self.per_sample = per_sample def assemble_matrix(self, **data) -> torch.Tensor: """ @@ -142,7 +149,6 @@ def forward(self, **data) -> dict: padding_mode=padding, # this can be different align_corners=align_corners, # this can be different reverse_order=self.reverse_order, - **self.kwargs, ) return data @@ -317,7 +323,10 @@ def assemble_matrix(self, **data) -> torch.Tensor: return matrix_to_cartesian(whole_trafo) -class BaseAffine(Affine): +class BaseAffine( + Affine, + BaseTransformMixin, +): """ Class performing a basic Affine Transformation on a given sample dict. The transformation will be applied to all the dict-entries specified @@ -339,6 +348,7 @@ def __init__( align_corners: item_or_seq[Optional[bool]] = False, reverse_order: bool = False, per_sample: bool = True, + p: float = 1, **kwargs, ): """ @@ -399,6 +409,7 @@ def __init__( batch order [(D,)H,W] per_sample: sample different values for each element in the batch. The transform is still applied in a batched wise fashion. + p: float, the probability of applying the transformation on batches. **kwargs: additional keyword arguments passed to the affine transform """ @@ -412,6 +423,7 @@ def __init__( align_corners=align_corners, reverse_order=reverse_order, per_sample=per_sample, + p=p, **kwargs, ) self.register_sampler("scale", scale) @@ -437,11 +449,16 @@ def assemble_matrix(self, **data) -> torch.Tensor: ndim = len(data[self.keys[0]].shape) - 2 # channel and batch dim device = data[self.keys[0]].device dtype = data[self.keys[0]].dtype + seed = int(torch.randint(0, int(1e6), (1,))) + + scale = self.sample_for_batch_with_prob("scale", batchsize, default_value=1.0, seed=seed) + rotation = self.sample_for_batch_with_prob("rotation", batchsize, default_value=0.0, seed=seed) + translation = self.sample_for_batch_with_prob("translation", batchsize, default_value=0.0, seed=seed) self.matrix = parametrize_matrix( - scale=self.sample_for_batch("scale", batchsize), - rotation=self.sample_for_batch("rotation", batchsize), - translation=self.sample_for_batch("translation", batchsize), + scale=scale, + rotation=rotation, + translation=translation, batchsize=batchsize, ndim=ndim, degree=self.degree, @@ -468,6 +485,24 @@ def sample_for_batch(self, name: str, batchsize: int) -> Optional[Union[Any, Seq else: return elem # either a single scalar value or None + def sample_for_batch_with_prob(self, name: str, batchsize: int, *, default_value: float, seed: int): + batch_element = self.sample_for_batch(name, batchsize) + if batch_element is None: + return batch_element + with self.random_cxm(seed=int(seed)): + if not self.per_sample: + assert not isinstance(batch_element, (list, tuple)) + batch_element = batch_element if torch.rand(1) < self.p else default_value + return batch_element + elem_length = len(batch_element[0]) + if elem_length == 1: + return [v if torch.rand(1) < self.p else torch.as_tensor(default_value) for v in batch_element] + else: + return [ + v if torch.rand(1) < self.p else tuple(torch.as_tensor(default_value) for _ in range(elem_length)) + for v in batch_element + ] + class Rotate(BaseAffine): """ diff --git a/rising/transforms/tensor.py b/rising/transforms/tensor.py index fefe392e..c2bbfee2 100644 --- a/rising/transforms/tensor.py +++ b/rising/transforms/tensor.py @@ -3,22 +3,20 @@ import torch from torch.utils.data._utils.collate import default_convert -from rising.transforms import BaseTransform +from rising.transforms import BaseTransform, BaseTransformMixin from rising.transforms.functional import tensor_op, to_device_dtype __all__ = [ "ToTensor", - "ToDeviceDtype", + "_ToDeviceDtype", "ToDevice", "ToDtype", "TensorOp", "Permute", - "TensorInsertDim", - "TensorRemoveDim", ] -class ToTensor(BaseTransform): +class ToTensor(BaseTransformMixin, BaseTransform): """Transform Input Collection to Collection of :class:`torch.Tensor`""" def __init__(self, keys: Sequence = ("data",), grad: bool = False, **kwargs): @@ -31,7 +29,7 @@ def __init__(self, keys: Sequence = ("data",), grad: bool = False, **kwargs): super().__init__(augment_fn=default_convert, keys=keys, grad=grad, **kwargs) -class ToDeviceDtype(BaseTransform): +class _ToDeviceDtype(BaseTransformMixin, BaseTransform): """Push data to device and convert to tdype""" def __init__( @@ -68,7 +66,7 @@ def __init__( ) -class ToDevice(ToDeviceDtype): +class ToDevice(_ToDeviceDtype): """Push data to device""" def __init__( @@ -94,7 +92,7 @@ def __init__( super().__init__(device=device, non_blocking=non_blocking, copy=copy, keys=keys, grad=grad, **kwargs) -class ToDtype(ToDeviceDtype): +class ToDtype(_ToDeviceDtype): """Convert data to dtype""" def __init__(self, dtype: torch.dtype, keys: Sequence = ("data",), grad: bool = False, **kwargs): @@ -108,7 +106,7 @@ def __init__(self, dtype: torch.dtype, keys: Sequence = ("data",), grad: bool = super().__init__(dtype=dtype, keys=keys, grad=grad, **kwargs) -class TensorOp(BaseTransform): +class TensorOp(BaseTransformMixin, BaseTransform): """Apply function which are supported by the `torch.Tensor` class""" def __init__(self, op_name: str, *args, keys: Sequence = ("data",), grad: bool = False, **kwargs): @@ -120,10 +118,12 @@ def __init__(self, op_name: str, *args, keys: Sequence = ("data",), grad: bool = grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to function """ - super().__init__(tensor_op, op_name, *args, keys=keys, grad=grad, **kwargs) + super().__init__( + augment_fn=tensor_op, fn=op_name, *args, keys=keys, grad=grad, augment_fn_names=("fn",), **kwargs + ) -class Permute(BaseTransform): +class Permute(BaseTransformMixin, BaseTransform): """Permute dimensions of tensor""" def __init__(self, dims: Dict[str, Sequence[int]], grad: bool = False, **kwargs): @@ -150,37 +150,3 @@ def forward(self, **data) -> dict: for key, item in self.dims.items(): data[key] = tensor_op(data[key], "permute", *item, **self.kwargs) return data - - -class TensorInsertDim(BaseTransform): - """ - this is to insert a dimension to a PyTorch Tensor - """ - - def __init__(self, dim: int, keys: Sequence = ("data",), grad: bool = False, **kwargs): - super().__init__(None, keys=keys, grad=grad, property_names=(), **kwargs) - self.dim = dim - - def forward(self, **data) -> dict: - for key in self.keys: - data[key] = data[key].unsqueeze(self.dim) - return data - - -class TensorRemoveDim(BaseTransform): - """ - this is to remove a dimension to a PyTorch Tensor - """ - - def __init__(self, dim: int, keys: Sequence = ("data",), grad: bool = False, **kwargs): - super().__init__(None, keys=keys, grad=grad, property_names=(), **kwargs) - self.dim = dim - - def forward(self, **data) -> dict: - for key in self.keys: - prev_dim = data[key].dim() - data[key] = data[key].squeeze(self.dim) - assert data[key].dim() == prev_dim - 1, ( - f"{self.__class__.__name__} cannot remove dimension {self.dim}, " f"given shape {data[key].shape}." - ) - return data diff --git a/tests/transforms/test_affine_transform.py b/tests/transforms/test_affine_transform.py new file mode 100644 index 00000000..83a6c14f --- /dev/null +++ b/tests/transforms/test_affine_transform.py @@ -0,0 +1,204 @@ +import unittest + +import numpy as np +import SimpleITK as sitk +import torch + +from rising.random import UniformParameter +from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate +from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous + + +class AffineTestCase(unittest.TestCase): + def setUp(self) -> None: + torch.manual_seed(0) + self.batch_dict = { + "data": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01.nii.gz"), + "label": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01_gt.nii.gz"), + } + + def load_nii_data(self, path): + return torch.from_numpy( + sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(np.float32, copy=False) + ).unsqueeze(1) + + def test_affine(self): + matrix = torch.tensor([[4.0, 0.0, 0.0], [0.0, 5.0, 0.0]]) + image_batch = torch.zeros(10, 3, 25, 25, dtype=torch.float, device="cpu") + matrix = matrix.expand(image_batch.size(0), -1, -1).clone() + + target_sizes = [(100, 125), image_batch.shape[2:], (50, 50), (50, 50), (45, 50), (45, 50)] + + for output_size in [None, 50, (45, 50)]: + for adjust_size in [True, False]: + target_size = target_sizes.pop(0) + + with self.subTest(adjust_size=adjust_size, target_size=target_size, output_size=output_size): + trafo = Affine(matrix=matrix, adjust_size=adjust_size, output_size=output_size) + sample = {"data": image_batch, "label": 4} + if output_size is not None and adjust_size: + with self.assertWarns(UserWarning): + result = trafo(**sample) + else: + result = trafo(**sample) + self.assertTupleEqual(result["data"].shape[2:], target_size) + + self.assertEqual(sample["label"], result["label"]) + + def test_affine_assemble_matrix(self): + matrices = [ + [[1.0, 0.0], [0.0, 1.0]], + [[1.0, 0.0, 1.0], [0.0, 1.0, 1.0]], + [[1.0, 0.0, 1.0], [0.0, 1.0, 1.0], [0.0, 0.0, 1.0]], + None, + [0.0, 1.0, 1.0, 0.0], + ] + expected_matrices = [ + torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]])[None], + torch.tensor([[1.0, 0.0, 1.0], [0.0, 1.0, 1.0]])[None], + torch.tensor([[1.0, 0.0, 1.0], [0.0, 1.0, 1.0]])[None], + None, + None, + ] + value_error = [False, False, False, True, True] + batch = {"data": torch.zeros(1, 1, 10, 10)} + + for matrix, expected, ve in zip(matrices, expected_matrices, value_error): + with self.subTest(matrix=matrix, expected=expected): + trafo = Affine(matrix=matrix) + if ve: + with self.assertRaises(ValueError): + assembled = trafo.assemble_matrix(**batch) + else: + assembled = trafo.assemble_matrix(**batch) + self.assertTrue(expected.allclose(assembled)) + + def test_affine_stacking(self): + affines = [ + Affine(scale=1), + [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]], + torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]), + StackedAffine(Affine(scale=1), Affine(scale=1)), + ] + + for first_affine in affines: + for second_affine in affines: + if not isinstance(first_affine, Affine) and not isinstance(second_affine, Affine): + continue + + if torch.is_tensor(first_affine): + # TODO: Remove this, once this has been fixed in PyTorch: + # PR: https://github.com/pytorch/pytorch/pull/31769 + continue + + with self.subTest(first_affine=first_affine, second_affine=second_affine): + result = first_affine + second_affine + self.assertIsInstance(result, StackedAffine) + + def test_stacked_transformation_assembly(self): + first_matrix = torch.tensor([[[2.0, 0.0, 1.0], [0.0, 3.0, 2.0]]]) + second_matrix = torch.tensor([[[4.0, 0.0, 3.0], [0.0, 5.0, 4.0]]]) + trafo = StackedAffine([first_matrix, second_matrix]) + + sample = {"data": torch.rand(1, 3, 25, 25)} + + matrix = trafo.assemble_matrix(**sample) + + target_matrix = matrix_to_cartesian( + torch.bmm(matrix_to_homogeneous(first_matrix), matrix_to_homogeneous(second_matrix)) + ) + + self.assertTrue(torch.allclose(matrix, target_matrix)) + + def test_affine_subtypes(self): + sample = {"data": torch.rand(1, 3, 25, 30)} + + trafos = [ + BaseAffine(), + BaseAffine(adjust_size=True), + Scale(5, adjust_size=True), + Scale([5, 3], adjust_size=True), + Scale(5, adjust_size=False), + Scale([5, 3], adjust_size=False), + Resize(50), + Resize((50, 90)), + Rotate([90], adjust_size=True, degree=True), + Rotate([90], adjust_size=False, degree=True), + Translate(10, adjust_size=True, unit="pixel"), + Translate(10, adjust_size=False, unit="pixel"), + Translate([5, 10], adjust_size=False, unit="pixel"), + Scale(5, adjust_size=False, per_sample=False), + Rotate([90], adjust_size=False, degree=True, per_sample=False), + Translate(10, adjust_size=False, unit="pixel", per_sample=False), + ] + + expected_sizes = [ + (25, 30), + (25, 30), + (5, 6), + (5, 10), + (25, 30), + (25, 30), + (50, 50), + (50, 90), + (30, 25), + (25, 30), + (25, 30), + (25, 30), + (25, 30), + (25, 30), + (25, 30), + (25, 30), + ] + + for trafo, expected_size in zip(trafos, expected_sizes): + with self.subTest(trafo=trafo, exp_size=expected_size): + result = trafo(**sample)["data"] + self.assertIsInstance(result, torch.Tensor) + self.assertTupleEqual(expected_size, result.shape[-2:]) + + def test_translation_assemble_matrix_with_pixel(self): + trafo = Translate([10, 100], unit="pixel") + sample = {"data": torch.rand(3, 3, 100, 100)} + expected = torch.tensor( + [ + [1.0, 0.0, -0.1], + [0.0, 1.0, -0.01], + [1.0, 0.0, -0.1], + [0.0, 1.0, -0.01], + [1.0, 0.0, -0.1], + [0.0, 1.0, -0.01], + ] + ) + + trafo.assemble_matrix(**sample) + self.assertTrue(expected.allclose(expected)) + + def test_affine_prob(self): + image = torch.randn(13, 1, 224, 224) + prob = torch.randn(13, 1, 224, 224) + translate = BaseAffine( + rotation=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + degree=True, + scale=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + keys=("data", "prob"), + ) + image_, prob_ = translate(data=image, prob=prob).values() + + def test_again(self): + random_affine = BaseAffine( + rotation=UniformParameter(-10, 10), + degree=True, + scale=(UniformParameter(0.7, 0.95), UniformParameter(1.1, 1.8)), + translation=UniformParameter(-0.2, 0.2), + p=0.5, + keys=("data", "label"), + interpolation_mode=("bilinear", "nearest"), + ) + image, label = self.batch_dict.values() + output_image, output_label = random_affine(**self.batch_dict).values() + breakpoint() + + +if __name__ == "__main__": + unittest.main() From c6032da5dca107761ccf5a0d444d495b2765f02b Mon Sep 17 00:00:00 2001 From: jizong Date: Thu, 18 Nov 2021 19:11:48 -0500 Subject: [PATCH 27/53] making rotation working --- rising/transforms/affine.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 544cc5a0..669f1980 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -525,6 +525,8 @@ def __init__( padding_mode: item_or_seq[str] = "zeros", align_corners: item_or_seq[bool] = False, reverse_order: bool = False, + per_sample: bool = True, + p: float = 1, **kwargs, ): """ @@ -578,6 +580,8 @@ def __init__( padding_mode=padding_mode, align_corners=align_corners, reverse_order=reverse_order, + per_sample=per_sample, + p=p, **kwargs, ) @@ -602,6 +606,8 @@ def __init__( align_corners: item_or_seq[bool] = False, unit: str = "pixel", reverse_order: bool = False, + per_sample: bool = True, + p: float = 1, **kwargs, ): """ @@ -655,6 +661,8 @@ def __init__( padding_mode=padding_mode, align_corners=align_corners, reverse_order=reverse_order, + per_sample=per_sample, + p=p, **kwargs, ) self.unit = unit @@ -696,6 +704,8 @@ def __init__( padding_mode: item_or_seq[str] = "zeros", align_corners: item_or_seq[bool] = False, reverse_order: bool = False, + per_sample: bool = True, + p: float = 1, **kwargs, ): """ @@ -755,6 +765,8 @@ def __init__( padding_mode=padding_mode, align_corners=align_corners, reverse_order=reverse_order, + per_sample=per_sample, + p=p, **kwargs, ) From 0f59885f40052e4ebbd23306214c801ae0b7584c Mon Sep 17 00:00:00 2001 From: jizong Date: Tue, 23 Nov 2021 19:51:13 -0500 Subject: [PATCH 28/53] tested on a toy example. --- .gitignore | 1 + notebooks/__init__.py | 0 notebooks/medical_seg/__init__.py | 0 notebooks/medical_seg/acdc_seg.py | 76 ++++++++++++ notebooks/medical_seg/dataset.py | 36 ++++++ notebooks/medical_seg/unet_3d.py | 130 ++++++++++++++++++++ rising/constants.py | 10 ++ rising/transforms/__init__.py | 2 +- rising/transforms/{affine.py => _affine.py} | 81 +++++------- rising/transforms/abstract.py | 24 ++-- rising/transforms/channel.py | 29 ++++- rising/transforms/compose.py | 6 +- rising/transforms/crop.py | 33 ++++- rising/transforms/functional/affine.py | 1 + rising/transforms/functional/crop_pad.py | 25 ++++ rising/transforms/functional/intensity.py | 8 +- rising/transforms/pad.py | 42 ++++--- rising/transforms/tensor.py | 12 +- rising/utils/mise.py | 8 +- tests/transforms/test_affine.py | 24 ++-- tests/transforms/test_affine_transform.py | 33 ++--- tests/transforms/test_pad.py | 17 +-- 22 files changed, 469 insertions(+), 129 deletions(-) create mode 100644 notebooks/__init__.py create mode 100644 notebooks/medical_seg/__init__.py create mode 100644 notebooks/medical_seg/acdc_seg.py create mode 100644 notebooks/medical_seg/dataset.py create mode 100644 notebooks/medical_seg/unet_3d.py create mode 100644 rising/constants.py rename rising/transforms/{affine.py => _affine.py} (94%) create mode 100644 rising/transforms/functional/crop_pad.py diff --git a/.gitignore b/.gitignore index 252d0745..48d7e7c7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Byte-compiled / optimized / DLL files __pycache__/ +notebooks/medical_seg/data/ *.py[cod] *$py.class *.vscode diff --git a/notebooks/__init__.py b/notebooks/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/notebooks/medical_seg/__init__.py b/notebooks/medical_seg/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/notebooks/medical_seg/acdc_seg.py b/notebooks/medical_seg/acdc_seg.py new file mode 100644 index 00000000..e486d62e --- /dev/null +++ b/notebooks/medical_seg/acdc_seg.py @@ -0,0 +1,76 @@ +from tqdm import tqdm +from unet_3d import UNet + +from notebooks.medical_seg.dataset import ACDCDataset +from rising import transforms +from rising.loading import DataLoader, default_transform_call +from rising.random import UniformParameter + +tra_dataset = ACDCDataset(root="/home/jizong/Workspace/rising/notebooks/medical_seg/data", train=True) +val_dataset = ACDCDataset(root="/home/jizong/Workspace/rising/notebooks/medical_seg/data", train=False) + +seq_tra_augment = transforms.Compose( + transforms.NormPercentile(keys=("image",), min=0.01, max=0.99), + transforms.Pad(keys=("image", "label"), pad_value=0.0, pad_size=(16, 256, 256)), + transforms.RandomCrop( + keys=("image", "label"), + size=( + 16, + 256, + 256, + ), + ), +) + +seq_val_augment = transforms.Compose( + transforms.NormPercentile(keys=("image", "label"), min=0.01, max=0.99), + transforms.Pad(keys=("image", "label"), pad_value=0.0, pad_size=(256, 256, 15)), + # transforms + # transforms.CenterCrop(size=(192, 168, 10), keys=("image", "label")), + transform_call=default_transform_call, +) + +batch_augment = transforms.Compose( + # transforms.ToDtype(keys=("image", "label"), dtype=torch.half), + # transforms.ToDevice(keys=("image", "label"), device=torch.device("cuda")), + transforms.GammaCorrection(gamma=UniformParameter(0.8, 2), keys=("image",)), + transforms.BaseAffine( + scale=(UniformParameter(0.9, 1.2), UniformParameter(0.9, 1.2), 1), + rotation=(0, UniformParameter(-50, 50), UniformParameter(-50, 50)), + translation=0, + degree=True, + p=0.8, + interpolation_mode=("bilinear", "nearest"), + keys=("image", "label"), + ), + transforms.RandomCrop(size=(16, 192, 168), dist=0, keys=("image", "label")), + transforms.ElasticDistortion( + std=20, + alpha=0.1, + dim=3, + keys=("image", "label"), + interpolation_mode=("bilinear", "nearest"), + ), + transform_call=default_transform_call, +) + +tra_loader = DataLoader( + tra_dataset, + batch_size=8, + shuffle=True, + sample_transforms=seq_tra_augment, + gpu_transforms=batch_augment, + pseudo_batch_dim=True, + num_workers=4, +) +# val_loader = DataLoader(val_dataset, batch_size=1, shuffle=False, sample_transforms=seq_val_augment, +# gpu_transforms=batch_augment, pseudo_batch_dim=True, num_workers=4) +model = UNet(in_dim=1, out_dim=4, num_filters=4) +model.cuda() + +for data in tqdm(tra_loader): + image, label = data["image"], data["label"] + # image, label = image.to(torch.float), label.to(torch.float) + # prediction = model(image) + # + # breakpoint() diff --git a/notebooks/medical_seg/dataset.py b/notebooks/medical_seg/dataset.py new file mode 100644 index 00000000..65ec1e61 --- /dev/null +++ b/notebooks/medical_seg/dataset.py @@ -0,0 +1,36 @@ +import re +from pathlib import Path + +import numpy as np +import SimpleITK as sitk +import torch +from torch.utils.data.dataset import Dataset, T_co + + +class ACDCDataset(Dataset): + def __init__(self, *, root: str, train: bool = True) -> None: + self.root = root + self.train = train + self._root = Path(root, "train" if train else "val") + + self.images = filter( + self.image_filter, [str(x.relative_to(self._root)) for x in Path(self._root).rglob("*.nii.gz")] + ) + self.images = sorted(self.images) + + def __getitem__(self, index) -> T_co: + image_path = str(self._root / self.images[index]) + gt_path = image_path.replace(".nii.gz", "_gt.nii.gz") + image = sitk.GetArrayFromImage(sitk.ReadImage(image_path)).astype(np.float32, copy=False)[None, ...] + gt = sitk.GetArrayFromImage(sitk.ReadImage(gt_path)).astype(np.float32, copy=False)[None, ...] + return {"image": torch.from_numpy(image), "label": torch.from_numpy(gt)} + + def __len__(self): + return len(self.images) + + @staticmethod + def image_filter(path: str): + _match = re.compile(r"patient\d+_frame\d+.nii.gz").search(str(path)) + if _match is None: + return False + return True diff --git a/notebooks/medical_seg/unet_3d.py b/notebooks/medical_seg/unet_3d.py new file mode 100644 index 00000000..906127f6 --- /dev/null +++ b/notebooks/medical_seg/unet_3d.py @@ -0,0 +1,130 @@ +# 3D-UNet model. +# x: 128x128 resolution for 32 frames. +import torch +import torch.nn as nn + + +def conv_block_3d(in_dim, out_dim, activation): + return nn.Sequential( + nn.Conv3d(in_dim, out_dim, kernel_size=3, stride=1, padding=1), + nn.BatchNorm3d(out_dim), + activation, + ) + + +def conv_trans_block_3d(in_dim, out_dim, activation): + return nn.Sequential( + nn.ConvTranspose3d(in_dim, out_dim, kernel_size=3, stride=2, padding=1, output_padding=1), + nn.BatchNorm3d(out_dim), + activation, + ) + + +def max_pooling_3d(): + return nn.MaxPool3d(kernel_size=2, stride=2, padding=0) + + +def conv_block_2_3d(in_dim, out_dim, activation, kernel_size=(3, 3, 3)): + return nn.Sequential( + conv_block_3d(in_dim, out_dim, activation), + nn.Conv3d(out_dim, out_dim, kernel_size=kernel_size, stride=1, padding=1), + nn.BatchNorm3d(out_dim), + ) + + +class UNet(nn.Module): + def __init__(self, in_dim, out_dim, num_filters): + super(UNet, self).__init__() + + self.in_dim = in_dim + self.out_dim = out_dim + self.num_filters = num_filters + activation = nn.LeakyReLU(0.2, inplace=True) + + # Down sampling + self.down_1 = conv_block_2_3d(self.in_dim, self.num_filters, activation, kernel_size=(1, 3, 3)) + self.pool_1 = max_pooling_3d() + self.down_2 = conv_block_2_3d(self.num_filters, self.num_filters * 2, activation, kernel_size=(1, 3, 3)) + self.pool_2 = max_pooling_3d() + self.down_3 = conv_block_2_3d(self.num_filters * 2, self.num_filters * 4, activation, kernel_size=(1, 3, 3)) + self.pool_3 = max_pooling_3d() + self.down_4 = conv_block_2_3d(self.num_filters * 4, self.num_filters * 8, activation) + self.pool_4 = max_pooling_3d() + self.down_5 = conv_block_2_3d(self.num_filters * 8, self.num_filters * 16, activation) + self.pool_5 = max_pooling_3d() + + # Bridge + self.bridge = conv_block_2_3d(self.num_filters * 16, self.num_filters * 32, activation) + + # Up sampling + self.trans_1 = conv_trans_block_3d(self.num_filters * 32, self.num_filters * 32, activation) + self.up_1 = conv_block_2_3d(self.num_filters * 48, self.num_filters * 16, activation) + self.trans_2 = conv_trans_block_3d(self.num_filters * 16, self.num_filters * 16, activation) + self.up_2 = conv_block_2_3d(self.num_filters * 24, self.num_filters * 8, activation) + self.trans_3 = conv_trans_block_3d(self.num_filters * 8, self.num_filters * 8, activation) + self.up_3 = conv_block_2_3d(self.num_filters * 12, self.num_filters * 4, activation) + self.trans_4 = conv_trans_block_3d(self.num_filters * 4, self.num_filters * 4, activation) + self.up_4 = conv_block_2_3d(self.num_filters * 6, self.num_filters * 2, activation) + self.trans_5 = conv_trans_block_3d(self.num_filters * 2, self.num_filters * 2, activation) + self.up_5 = conv_block_2_3d(self.num_filters * 3, self.num_filters * 1, activation) + + # Output + self.out = conv_block_3d(self.num_filters, out_dim, activation) + + def forward(self, x): + # Down sampling + down_1 = self.down_1(x) # -> [1, 4, 128, 128, 128] + pool_1 = self.pool_1(down_1) # -> [1, 4, 64, 64, 64] + + down_2 = self.down_2(pool_1) # -> [1, 8, 64, 64, 64] + pool_2 = self.pool_2(down_2) # -> [1, 8, 32, 32, 32] + + down_3 = self.down_3(pool_2) # -> [1, 16, 32, 32, 32] + pool_3 = self.pool_3(down_3) # -> [1, 16, 16, 16, 16] + + down_4 = self.down_4(pool_3) # -> [1, 32, 16, 16, 16] + pool_4 = self.pool_4(down_4) # -> [1, 32, 8, 8, 8] + + down_5 = self.down_5(pool_4) # -> [1, 64, 8, 8, 8] + pool_5 = self.pool_5(down_5) # -> [1, 64, 4, 4, 4] + + # Bridge + bridge = self.bridge(pool_5) # -> [1, 128, 4, 4, 4] + + # Up sampling + trans_1 = self.trans_1(bridge) # -> [1, 128, 8, 8, 8] + concat_1 = torch.cat([trans_1, down_5], dim=1) # -> [1, 192, 8, 8, 8] + up_1 = self.up_1(concat_1) # -> [1, 64, 8, 8, 8] + + trans_2 = self.trans_2(up_1) # -> [1, 64, 16, 16, 16] + concat_2 = torch.cat([trans_2, down_4], dim=1) # -> [1, 96, 16, 16, 16] + up_2 = self.up_2(concat_2) # -> [1, 32, 16, 16, 16] + + trans_3 = self.trans_3(up_2) # -> [1, 32, 32, 32, 32] + concat_3 = torch.cat([trans_3, down_3], dim=1) # -> [1, 48, 32, 32, 32] + up_3 = self.up_3(concat_3) # -> [1, 16, 32, 32, 32] + + trans_4 = self.trans_4(up_3) # -> [1, 16, 64, 64, 64] + concat_4 = torch.cat([trans_4, down_2], dim=1) # -> [1, 24, 64, 64, 64] + up_4 = self.up_4(concat_4) # -> [1, 8, 64, 64, 64] + + trans_5 = self.trans_5(up_4) # -> [1, 8, 128, 128, 128] + concat_5 = torch.cat([trans_5, down_1], dim=1) # -> [1, 12, 128, 128, 128] + up_5 = self.up_5(concat_5) # -> [1, 4, 128, 128, 128] + + # Output + out = self.out(up_5) # -> [1, 3, 128, 128, 128] + return out + + +if __name__ == "__main__": + device = torch.device("cuda" if torch.cuda.is_available() else "cpu") + image_size = 32 + x = torch.Tensor(2, 3, image_size, image_size, image_size) + x = x.to(device) + print("x size: {}".format(x.size())) + + model = UNet(in_dim=3, out_dim=3, num_filters=16).to(device) + + out = model(x) + print("out size: {}".format(out.size())) diff --git a/rising/constants.py b/rising/constants.py new file mode 100644 index 00000000..064e4436 --- /dev/null +++ b/rising/constants.py @@ -0,0 +1,10 @@ +from enum import Enum + + +class Interpolation(Enum): + pass + + +class AffineInterpolation(Enum): + linear = "bilinear" + nearest = "nearest" diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index cc9bbc77..09c15083 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -19,6 +19,7 @@ * Painting Transforms """ +from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.transforms.abstract import ( BaseTransform, BaseTransformMixin, @@ -26,7 +27,6 @@ PerSampleTransformMixin, _AbstractTransform, ) -from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate from rising.transforms.channel import ArgMax, OneHot from rising.transforms.compose import Compose, DropoutCompose, OneOf from rising.transforms.crop import CenterCrop, RandomCrop diff --git a/rising/transforms/affine.py b/rising/transforms/_affine.py similarity index 94% rename from rising/transforms/affine.py rename to rising/transforms/_affine.py index 669f1980..769bc40c 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/_affine.py @@ -8,9 +8,7 @@ from rising.utils.checktype import check_scalar __all__ = [ - "Affine", "BaseAffine", - "StackedAffine", "Rotate", "Scale", "Translate", @@ -18,7 +16,7 @@ ] -class Affine(BaseTransform): +class _Affine(BaseTransform): """ Class Performing an Affine Transformation on a given sample dict. The transformation will be applied to all the dict-entries specified @@ -81,6 +79,7 @@ def __init__( seeded=True, **kwargs, ) + self.kwargs = kwargs self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size @@ -107,22 +106,22 @@ def assemble_matrix(self, **data) -> torch.Tensor: self.matrix = torch.tensor(self.matrix) self.matrix = self.matrix.to(data[self.keys[0]]) - batchsize = data[self.keys[0]].shape[0] + batch_size = data[self.keys[0]].shape[0] ndim = len(data[self.keys[0]].shape) - 2 # channel and batch dim # batch dimension missing -> Replicate for each sample in batch if len(self.matrix.shape) == 2: - self.matrix = self.matrix[None].expand(batchsize, -1, -1).clone() - if self.matrix.shape == (batchsize, ndim, ndim + 1): + self.matrix = self.matrix[None].expand(batch_size, -1, -1).clone() + if self.matrix.shape == (batch_size, ndim, ndim + 1): return self.matrix - elif self.matrix.shape == (batchsize, ndim, ndim): + elif self.matrix.shape == (batch_size, ndim, ndim): return matrix_to_homogeneous(self.matrix)[:, :-1] - elif self.matrix.shape == (batchsize, ndim + 1, ndim + 1): + elif self.matrix.shape == (batch_size, ndim + 1, ndim + 1): return matrix_to_cartesian(self.matrix) raise ValueError( "Invalid Shape for affine transformation matrix. " - "Got %s but expected %s" % (str(tuple(self.matrix.shape)), str((batchsize, ndim, ndim + 1))) + "Got %s but expected %s" % (str(tuple(self.matrix.shape)), str((batch_size, ndim, ndim + 1))) ) def forward(self, **data) -> dict: @@ -162,10 +161,10 @@ def __add__(self, other: Any) -> BaseTransform: other: the other transformation Returns: - StackedAffine: a stacked affine transformation + _StackedAffine: a stacked affine transformation """ - if not isinstance(other, Affine): - other = Affine( + if not isinstance(other, _Affine): + other = _Affine( matrix=other, keys=self.keys, grad=self.grad, @@ -174,10 +173,11 @@ def __add__(self, other: Any) -> BaseTransform: interpolation_mode=self.interpolation_mode, padding_mode=self.padding_mode, align_corners=self.align_corners, + per_sample=self.per_sample, **self.kwargs, ) - return StackedAffine( + return _StackedAffine( self, other, keys=self.keys, @@ -187,6 +187,7 @@ def __add__(self, other: Any) -> BaseTransform: interpolation_mode=self.interpolation_mode, padding_mode=self.padding_mode, align_corners=self.align_corners, + per_sample=self.per_sample, **self.kwargs, ) @@ -199,10 +200,10 @@ def __radd__(self, other) -> BaseTransform: other: the other transformation Returns: - StackedAffine: a stacked affine transformation + _StackedAffine: a stacked affine transformation """ - if not isinstance(other, Affine): - other = Affine( + if not isinstance(other, _Affine): + other = _Affine( matrix=other, keys=self.keys, grad=self.grad, @@ -211,10 +212,10 @@ def __radd__(self, other) -> BaseTransform: interpolation_mode=self.interpolation_mode, padding_mode=self.padding_mode, align_corners=self.align_corners, - **self.kwargs, + # **self.kwargs, ) - return StackedAffine( + return _StackedAffine( other, self, grad=other.grad, @@ -223,11 +224,11 @@ def __radd__(self, other) -> BaseTransform: interpolation_mode=other.interpolation_mode, padding_mode=other.padding_mode, align_corners=other.align_corners, - **other.kwargs, + # **other.kwargs, ) -class StackedAffine(Affine): +class _StackedAffine(_Affine): """ Class to stack multiple affines with dynamic ensembling by matrix multiplication to avoid multiple interpolations. @@ -235,7 +236,7 @@ class StackedAffine(Affine): def __init__( self, - *transforms: Union[Affine, Sequence[Union[Sequence[Affine], Affine]]], + *transforms: Union[_Affine, Sequence[Union[Sequence[_Affine], _Affine]]], keys: Sequence = ("data",), grad: bool = False, output_size: Optional[tuple] = None, @@ -284,7 +285,7 @@ def __init__( transforms = transforms[0] # ensure trafos are Affines and not raw matrices - transforms = tuple([trafo if isinstance(trafo, Affine) else Affine(matrix=trafo) for trafo in transforms]) + transforms = tuple([trafo if isinstance(trafo, _Affine) else _Affine(matrix=trafo) for trafo in transforms]) super().__init__( keys=keys, @@ -323,10 +324,7 @@ def assemble_matrix(self, **data) -> torch.Tensor: return matrix_to_cartesian(whole_trafo) -class BaseAffine( - Affine, - BaseTransformMixin, -): +class BaseAffine(_Affine, BaseTransformMixin): """ Class performing a basic Affine Transformation on a given sample dict. The transformation will be applied to all the dict-entries specified @@ -445,21 +443,21 @@ def assemble_matrix(self, **data) -> torch.Tensor: Returns: torch.Tensor: the (batched) transformation matrix """ - batchsize = data[self.keys[0]].shape[0] + batch_size = data[self.keys[0]].shape[0] ndim = len(data[self.keys[0]].shape) - 2 # channel and batch dim device = data[self.keys[0]].device dtype = data[self.keys[0]].dtype seed = int(torch.randint(0, int(1e6), (1,))) - scale = self.sample_for_batch_with_prob("scale", batchsize, default_value=1.0, seed=seed) - rotation = self.sample_for_batch_with_prob("rotation", batchsize, default_value=0.0, seed=seed) - translation = self.sample_for_batch_with_prob("translation", batchsize, default_value=0.0, seed=seed) + scale = self.sample_for_batch_with_prob("scale", batch_size, default_value=1.0, seed=seed) + rotation = self.sample_for_batch_with_prob("rotation", batch_size, default_value=0.0, seed=seed) + translation = self.sample_for_batch_with_prob("translation", batch_size, default_value=0.0, seed=seed) self.matrix = parametrize_matrix( scale=scale, rotation=rotation, translation=translation, - batchsize=batchsize, + batchsize=batch_size, ndim=ndim, degree=self.degree, device=device, @@ -468,25 +466,8 @@ def assemble_matrix(self, **data) -> torch.Tensor: ) return self.matrix - def sample_for_batch(self, name: str, batchsize: int) -> Optional[Union[Any, Sequence[Any]]]: - """ - Sample elements for batch - - Args: - name: name of parameter - batchsize: batch size - - Returns: - Optional[Union[Any, Sequence[Any]]]: sampled elements - """ - elem = getattr(self, name) - if elem is not None and self.per_sample: - return [elem] + [getattr(self, name) for _ in range(batchsize - 1)] - else: - return elem # either a single scalar value or None - - def sample_for_batch_with_prob(self, name: str, batchsize: int, *, default_value: float, seed: int): - batch_element = self.sample_for_batch(name, batchsize) + def sample_for_batch_with_prob(self, name: str, batch_size: int, *, default_value: float, seed: int): + batch_element = self.sample_for_batch(name, batch_size) if batch_element is None: return batch_element with self.random_cxm(seed=int(seed)): diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index cac727ac..fd41154b 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,7 +1,8 @@ from abc import ABC, abstractmethod -from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union +from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union, final import torch +from torch import nn from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import fix_seed_cxm, ntuple, nullcxm @@ -22,7 +23,7 @@ augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] -class _AbstractTransform(torch.nn.Module): +class _AbstractTransform(nn.Module): """Base class for all transforms""" def __init__(self, grad: bool = False, **kwargs): @@ -107,6 +108,7 @@ def __getattribute__(self, item) -> Any: else: return res + @final def __call__(self, *args, **kwargs) -> Any: """ Call super class with correct torch context @@ -127,6 +129,7 @@ def __call__(self, *args, **kwargs) -> Any: with context: return super().__call__(*args, **kwargs) + @abstractmethod def forward(self, **data) -> dict: """ Implement transform functionality here @@ -176,7 +179,7 @@ def __init__( ): """ Args: - augment_fn: function for augmentatioN + augment_fn: function for augmentation Modification made here: all augment_fu accept data under form of BCHW(D) form. *args: positional arguments passed to augment_fn keys: keys which should be augmented @@ -188,7 +191,7 @@ def __init__( super().__init__(grad=grad, **kwargs) sampler_vals = {k: v for k, v in kwargs.items() if self.need_sampler(v)} - self._paired_kw_names: List[str] = [] + self._paired_kw_names: List[str] = [] # hidden list self._augment_fn_names = augment_fn_names # kwargs passed to the augment_fn self.paired_kw_names = paired_kw_names @@ -206,20 +209,20 @@ def __init__( for name, val in sampler_vals.items(): self.register_sampler(name, val) # lazy sampling values - def sample_for_batch(self, name: str, batchsize: int) -> Optional[Union[Any, Sequence[Any]]]: + def sample_for_batch(self, name: str, batch_size: int) -> Optional[Union[Any, Sequence[Any]]]: """ Sample elements for batch Args: name: name of parameter - batchsize: batch size + batch_size: batch size Returns: Optional[Union[Any, Sequence[Any]]]: sampled elements """ elem = getattr(self, name) if elem is not None and self.per_sample: - return [elem] + [getattr(self, name) for _ in range(batchsize - 1)] + return [elem] + [getattr(self, name) for _ in range(batch_size - 1)] else: return elem # either a single scalar value or None @@ -288,7 +291,7 @@ def forward(self, **data) -> Dict[str, Any]: """ seed = int(torch.randint(0, int(1e16), (1,))) - for _ik, _key in enumerate(self.keys): + for _key in self.keys: with self.random_cxm(seed): kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} kwargs.update(self.get_pair_kwargs(_key)) @@ -333,14 +336,13 @@ def forward(self, **data) -> dict: seed = int(torch.randint(0, int(1e16), (1,))) - for _ik, _key in enumerate(self.keys): + for _key in self.keys: batch_size = data[_key].shape[0] out = [] for b in range(batch_size): with self.random_cxm(seed + b): kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} kwargs.update(self.get_pair_kwargs(_key)) - print(seed + b, kwargs) if torch.rand(1).item() < self.p: out.append(self.augment_fn(data[_key][b][None, ...], **kwargs)) @@ -388,7 +390,7 @@ def forward(self, **data) -> dict: seed = int(torch.randint(0, int(1e16), (1,))) - for _ik, _key in enumerate(self.keys): + for _key in self.keys: out = [] channel_dim = data[_key].shape[1] for c in range(channel_dim): diff --git a/rising/transforms/channel.py b/rising/transforms/channel.py index 603d091d..5a3d67a7 100644 --- a/rising/transforms/channel.py +++ b/rising/transforms/channel.py @@ -2,13 +2,13 @@ import torch -from rising.transforms import BaseTransform +from rising.transforms import BaseTransform, BaseTransformMixin from rising.transforms.functional import one_hot_batch __all__ = ["OneHot", "ArgMax"] -class OneHot(BaseTransform): +class OneHot(BaseTransformMixin, BaseTransform): """ Convert to one hot encoding. One hot encoding is applied in first dimension which results in shape N x NumClasses x [same as input] while input is expected to @@ -38,10 +38,21 @@ def __init__( Input tensor needs to be of type torch.long. This could be achieved by applying `TenorOp("long", keys=("seg",))`. """ - super().__init__(augment_fn=one_hot_batch, keys=keys, grad=grad, num_classes=num_classes, dtype=dtype, **kwargs) + super().__init__( + augment_fn=one_hot_batch, + keys=keys, + grad=grad, + num_classes=num_classes, + dtype=dtype, + augment_fn_names=( + "num_classes", + "dtype", + ), + **kwargs + ) -class ArgMax(BaseTransform): +class ArgMax(BaseTransformMixin, BaseTransform): """ Compute argmax along given dimension. Can be used to revert OneHot encoding. @@ -60,4 +71,12 @@ def __init__(self, dim: int, keepdim: bool = True, keys: Sequence = ("seg",), gr Warnings The output of the argmax function is always a tensor of dtype long. """ - super().__init__(augment_fn=torch.argmax, keys=keys, grad=grad, dim=dim, keepdim=keepdim, **kwargs) + super().__init__( + augment_fn=torch.argmax, + keys=keys, + grad=grad, + dim=dim, + keepdim=keepdim, + augment_fn_names=("dim", "keepdim"), + **kwargs + ) diff --git a/rising/transforms/compose.py b/rising/transforms/compose.py index d28e2b65..77beada9 100644 --- a/rising/transforms/compose.py +++ b/rising/transforms/compose.py @@ -112,13 +112,13 @@ def forward(self, *seq_like, **map_like) -> Union[Sequence, Mapping]: assert len(self.transforms) == len(self.transform_order) data = seq_like if seq_like else map_like - seed = torch.randint(0, int(1e6), (1,)) - torch.set_rng_state(seed) + seed = int(torch.randint(0, int(1e6), (1,))) + torch.manual_seed(seed) if self.shuffle: self.shuffle_transform() for idx in self.transform_order: - torch.set_rng_state(seed + idx) + torch.manual_seed(seed + idx) data = self.transform_call(data, self.transforms[idx]) return data diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index 8427d772..c77056bc 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -6,10 +6,12 @@ __all__ = ["CenterCrop", "RandomCrop"] +from rising.transforms.functional.crop_pad import pad_random_crop + class CenterCrop(BaseTransformMixin, BaseTransform): def __init__( - self, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs + self, *, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs ): """ Args: @@ -28,6 +30,7 @@ class RandomCrop(PerSampleTransformMixin, BaseTransform): def __init__( self, + *, size: Union[int, Sequence, AbstractParameter], dist: Union[int, Sequence, AbstractParameter] = 0, keys: Sequence = ("data",), @@ -46,9 +49,35 @@ def __init__( augment_fn=random_crop, keys=keys, grad=grad, - property_names=("size", "dist"), size=size, dist=dist, seeded=True, + augment_fn_names=("size", "dist"), **kwargs ) + + +class PadRandomCrop(PerSampleTransformMixin, BaseTransform): + def __init__( + self, + size: Union[int, Sequence, AbstractParameter], + pad_size: Union[int, Sequence[int]] = 0, + pad_value: int = 0, + keys: Sequence = ("data",), + grad: bool = False, + **kwargs + ): + """ + Args: + size: random crop size + pad: int, sequence[int], padding image to size+pad + """ + super(PadRandomCrop, self).__init__( + augment_fn=pad_random_crop, + keys=keys, + grad=grad, + size=size, + pad_size=pad_size, + pad_value=pad_value, + augment_fn_names=("size", "pad_size", "pad_value"), + ) diff --git a/rising/transforms/functional/affine.py b/rising/transforms/functional/affine.py index f0107520..a0dced5a 100644 --- a/rising/transforms/functional/affine.py +++ b/rising/transforms/functional/affine.py @@ -23,6 +23,7 @@ "create_scale", "create_translation", "parametrize_matrix", + "AffineParamType", ] from rising.utils.inverse import orthogonal_inverse diff --git a/rising/transforms/functional/crop_pad.py b/rising/transforms/functional/crop_pad.py new file mode 100644 index 00000000..048b85be --- /dev/null +++ b/rising/transforms/functional/crop_pad.py @@ -0,0 +1,25 @@ +from typing import Sequence, Union + +import torch + +from rising.transforms.functional import random_crop + + +def pad_random_crop( + data: torch.Tensor, size: Union[int, Sequence[int]], pad_size=Union[int, Sequence[int]], pad_value=0 +): + ndim = data.dim() - 2 + if isinstance(size, (float, int)): + size = [size] * ndim + if isinstance(pad_size, (float, int)): + pad_size = [pad_size] * ndim + assert len(size) == len(pad_size) == ndim + + from rising.transforms import Pad + + data = Pad(pad_size=[x + y for x, y in zip(size, pad_size)], pad_value=pad_value, keys="data")(data=data)["data"] + return random_crop( + data, + size=size, + dist=0, + ) diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 7f1a4e8d..c2083732 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -126,11 +126,11 @@ def norm_min_max_percentile( out = torch.empty_like(data) if per_channel: - for i, data_ in enumerate(data.shape[1]): - min_ = torch.quantile(data_.float(), float(min)) - max_ = torch.quantile(data_.float(), float(max)) + for i in range(data.shape[1]): + min_ = torch.quantile(data[:, i].float(), float(min)) + max_ = torch.quantile(data[:, i].float().float(), float(max)) out[:, i] = clamp( - data_, + data[:, i], min=float(min_), max=float(max_), ) diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py index bb4a2a45..6ac9e94a 100644 --- a/rising/transforms/pad.py +++ b/rising/transforms/pad.py @@ -1,15 +1,17 @@ from typing import Sequence, Union -from rising.transforms.abstract import BaseTransform, item_or_seq +import torch + +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, item_or_seq from rising.transforms.functional.pad import pad as _pad from rising.utils.mise import ntuple -class Pad(BaseTransform): +class Pad(BaseTransformMixin, BaseTransform): def __init__( self, *, - padding_size: item_or_seq[int], + pad_size: item_or_seq[int], mode: str = "constant", pad_value: item_or_seq[float], keys: Sequence[str] = ("data",), @@ -20,10 +22,17 @@ def __init__( padding_size should be the same for all the keys. pad_value can be different for different keys """ - super().__init__(_pad, keys=keys, grad=grad, property_names=(), **kwargs) - self.padding_size = padding_size - self.mode = mode - self.pad_value = self.tuple_generator(pad_value) + super().__init__( + augment_fn=_pad, + keys=keys, + grad=grad, + paired_kw_names=("value", "mode"), + augment_fn_names=("pad_size", "mode", "value"), + pad_size=pad_size, + mode=mode, + value=pad_value, + **kwargs + ) def forward(self, **data) -> dict: """ @@ -35,17 +44,18 @@ def forward(self, **data) -> dict: Returns: dict: dict with augmented data """ - kwargs = {} - for k in self.property_names: - kwargs[k] = getattr(self, k) + seed = int(torch.randint(0, int(1e16), (1,))) - kwargs.update(self.kwargs) + for _key in self.keys: + with self.random_cxm(seed): + kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} + kwargs.update(self.get_pair_kwargs(_key)) + input_shape = data[_key].shape[2:] + pad_size = self.pad_parameters(input_shape, self.pad_size, ndim=(data[_key].dim() - 2)) + kwargs.update({"pad_size": pad_size}) - for _key, _value in zip(self.keys, self.pad_value): - cur_data = data[_key] - input_shape = cur_data.shape[2:] - pad_size = self.pad_parameters(input_shape, self.padding_size, ndim=cur_data.dim() - 2) - data[_key] = self.augment_fn(data[_key], pad_size=pad_size, grid_pad=False, mode=self.mode, value=_value) + if torch.rand(1).item() < self.p: + data[_key] = self.augment_fn(data[_key], **kwargs) return data @staticmethod diff --git a/rising/transforms/tensor.py b/rising/transforms/tensor.py index c2bbfee2..a1332b5d 100644 --- a/rising/transforms/tensor.py +++ b/rising/transforms/tensor.py @@ -89,7 +89,15 @@ def __init__( grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to function """ - super().__init__(device=device, non_blocking=non_blocking, copy=copy, keys=keys, grad=grad, **kwargs) + super().__init__( + device=device, + non_blocking=non_blocking, + copy=copy, + keys=keys, + grad=grad, + augment_fn_names=("device",), + **kwargs, + ) class ToDtype(_ToDeviceDtype): @@ -103,7 +111,7 @@ def __init__(self, dtype: torch.dtype, keys: Sequence = ("data",), grad: bool = grad: enable gradient computation inside transformation kwargs: keyword arguments passed to function """ - super().__init__(dtype=dtype, keys=keys, grad=grad, **kwargs) + super().__init__(dtype=dtype, keys=keys, grad=grad, augment_fn_names=("dtype",), **kwargs) class TensorOp(BaseTransformMixin, BaseTransform): diff --git a/rising/utils/mise.py b/rising/utils/mise.py index 604eea75..09e39543 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -8,6 +8,7 @@ import numpy as np import torch from torch import Tensor +from torch import multiprocessing as mp T = t.TypeVar("T") @@ -103,8 +104,13 @@ def generator_context(*args, **kwargs): return generator_context +def on_main_process(): + return mp.current_process().name == "MainProcess" + + @contextmanager -def fix_seed_cxm(seed: int = 10, cuda: bool = True): +def fix_seed_cxm(seed: int = 10, **kwargs): + cuda = on_main_process() with fixed_torch_seed(seed=seed, cuda=cuda): with fixed_random_seed(seed=seed): try: diff --git a/tests/transforms/test_affine.py b/tests/transforms/test_affine.py index 8f0b8479..af25941e 100644 --- a/tests/transforms/test_affine.py +++ b/tests/transforms/test_affine.py @@ -3,7 +3,7 @@ import torch from rising.random import UniformParameter -from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate +from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous @@ -20,7 +20,7 @@ def test_affine(self): target_size = target_sizes.pop(0) with self.subTest(adjust_size=adjust_size, target_size=target_size, output_size=output_size): - trafo = Affine(matrix=matrix, adjust_size=adjust_size, output_size=output_size) + trafo = _Affine(matrix=matrix, adjust_size=adjust_size, output_size=output_size) sample = {"data": image_batch, "label": 4} if output_size is not None and adjust_size: with self.assertWarns(UserWarning): @@ -51,7 +51,7 @@ def test_affine_assemble_matrix(self): for matrix, expected, ve in zip(matrices, expected_matrices, value_error): with self.subTest(matrix=matrix, expected=expected): - trafo = Affine(matrix=matrix) + trafo = _Affine(matrix=matrix) if ve: with self.assertRaises(ValueError): assembled = trafo.assemble_matrix(**batch) @@ -61,15 +61,15 @@ def test_affine_assemble_matrix(self): def test_affine_stacking(self): affines = [ - Affine(scale=1), + _Affine(scale=1), [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]], torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]), - StackedAffine(Affine(scale=1), Affine(scale=1)), + _StackedAffine(_Affine(scale=1), _Affine(scale=1)), ] for first_affine in affines: for second_affine in affines: - if not isinstance(first_affine, Affine) and not isinstance(second_affine, Affine): + if not isinstance(first_affine, _Affine) and not isinstance(second_affine, _Affine): continue if torch.is_tensor(first_affine): @@ -79,12 +79,12 @@ def test_affine_stacking(self): with self.subTest(first_affine=first_affine, second_affine=second_affine): result = first_affine + second_affine - self.assertIsInstance(result, StackedAffine) + self.assertIsInstance(result, _StackedAffine) def test_stacked_transformation_assembly(self): first_matrix = torch.tensor([[[2.0, 0.0, 1.0], [0.0, 3.0, 2.0]]]) second_matrix = torch.tensor([[[4.0, 0.0, 3.0], [0.0, 5.0, 4.0]]]) - trafo = StackedAffine([first_matrix, second_matrix]) + trafo = _StackedAffine([first_matrix, second_matrix]) sample = {"data": torch.rand(1, 3, 25, 25)} @@ -161,12 +161,12 @@ def test_translation_assemble_matrix_with_pixel(self): self.assertTrue(expected.allclose(expected)) def test_affine_prob(self): - image = torch.randn(13, 1, 224, 224) - prob = torch.randn(13, 1, 224, 224) + image = torch.randn(13, 1, 224, 224, 224) + prob = torch.randn(13, 1, 224, 224, 224) translate = BaseAffine( - rotation=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + rotation=UniformParameter(-10, 10), degree=True, - scale=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + scale=UniformParameter(-10, 10), keys=("data", "prob"), ) image_, prob_ = translate(data=image, prob=prob).values() diff --git a/tests/transforms/test_affine_transform.py b/tests/transforms/test_affine_transform.py index 83a6c14f..ed1645a4 100644 --- a/tests/transforms/test_affine_transform.py +++ b/tests/transforms/test_affine_transform.py @@ -5,7 +5,7 @@ import torch from rising.random import UniformParameter -from rising.transforms.affine import Affine, BaseAffine, Resize, Rotate, Scale, StackedAffine, Translate +from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous @@ -34,7 +34,7 @@ def test_affine(self): target_size = target_sizes.pop(0) with self.subTest(adjust_size=adjust_size, target_size=target_size, output_size=output_size): - trafo = Affine(matrix=matrix, adjust_size=adjust_size, output_size=output_size) + trafo = _Affine(matrix=matrix, adjust_size=adjust_size, output_size=output_size) sample = {"data": image_batch, "label": 4} if output_size is not None and adjust_size: with self.assertWarns(UserWarning): @@ -65,7 +65,7 @@ def test_affine_assemble_matrix(self): for matrix, expected, ve in zip(matrices, expected_matrices, value_error): with self.subTest(matrix=matrix, expected=expected): - trafo = Affine(matrix=matrix) + trafo = _Affine(matrix=matrix) if ve: with self.assertRaises(ValueError): assembled = trafo.assemble_matrix(**batch) @@ -75,15 +75,15 @@ def test_affine_assemble_matrix(self): def test_affine_stacking(self): affines = [ - Affine(scale=1), + _Affine(scale=1), [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]], torch.tensor([[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]]), - StackedAffine(Affine(scale=1), Affine(scale=1)), + _StackedAffine(_Affine(scale=1), _Affine(scale=1)), ] for first_affine in affines: for second_affine in affines: - if not isinstance(first_affine, Affine) and not isinstance(second_affine, Affine): + if not isinstance(first_affine, _Affine) and not isinstance(second_affine, _Affine): continue if torch.is_tensor(first_affine): @@ -93,12 +93,12 @@ def test_affine_stacking(self): with self.subTest(first_affine=first_affine, second_affine=second_affine): result = first_affine + second_affine - self.assertIsInstance(result, StackedAffine) + self.assertIsInstance(result, _StackedAffine) def test_stacked_transformation_assembly(self): first_matrix = torch.tensor([[[2.0, 0.0, 1.0], [0.0, 3.0, 2.0]]]) second_matrix = torch.tensor([[[4.0, 0.0, 3.0], [0.0, 5.0, 4.0]]]) - trafo = StackedAffine([first_matrix, second_matrix]) + trafo = _StackedAffine([first_matrix, second_matrix]) sample = {"data": torch.rand(1, 3, 25, 25)} @@ -178,7 +178,7 @@ def test_affine_prob(self): image = torch.randn(13, 1, 224, 224) prob = torch.randn(13, 1, 224, 224) translate = BaseAffine( - rotation=(UniformParameter(-10, 10), UniformParameter(-10, 10)), + rotation=(UniformParameter(-10, 10)), degree=True, scale=(UniformParameter(-10, 10), UniformParameter(-10, 10)), keys=("data", "prob"), @@ -187,17 +187,22 @@ def test_affine_prob(self): def test_again(self): random_affine = BaseAffine( - rotation=UniformParameter(-10, 10), + rotation=UniformParameter(-50, 50), degree=True, - scale=(UniformParameter(0.7, 0.95), UniformParameter(1.1, 1.8)), + scale=(UniformParameter(0.7, 0.95), UniformParameter(2, 2.8)), translation=UniformParameter(-0.2, 0.2), - p=0.5, + p=1, keys=("data", "label"), interpolation_mode=("bilinear", "nearest"), ) image, label = self.batch_dict.values() - output_image, output_label = random_affine(**self.batch_dict).values() - breakpoint() + for i in range(100): + output_image, output_label = random_affine(**self.batch_dict).values() + from tests.realtime_viewer import multi_slice_viewer_debug + + multi_slice_viewer_debug( + [image.squeeze(), output_image.squeeze()], label.squeeze(), output_label.squeeze(), block=True + ) if __name__ == "__main__": diff --git a/tests/transforms/test_pad.py b/tests/transforms/test_pad.py index f5813884..36f5f03a 100644 --- a/tests/transforms/test_pad.py +++ b/tests/transforms/test_pad.py @@ -1,10 +1,11 @@ -from rising.transforms import Pad import unittest + import torch +from rising.transforms import Pad -class TestPad(unittest.TestCase): +class TestPad(unittest.TestCase): def setUp(self) -> None: super().setUp() image = torch.zeros(1, 1, 10, 10) @@ -12,7 +13,7 @@ def setUp(self) -> None: def test_pad_no_pad(self): for pad_size in range(5, 10): - transform = Pad(padding_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) + transform = Pad(pad_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) cropped = transform(**self._data) expected = torch.zeros(1, 1, 10, 10) assert torch.allclose(cropped["data"], expected) @@ -20,13 +21,13 @@ def test_pad_no_pad(self): def test_pad(self): for pad_size in range(11, 15): - transform = Pad(padding_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) + transform = Pad(pad_size=pad_size, pad_value=(0, -1), keys=("data", "seg")) cropped = transform(**self._data) expected = torch.zeros(1, 1, pad_size, pad_size) expected_mask = torch.zeros_like(expected) - expected_mask[:, :, 0:(pad_size - 10) // 2, :] = -1 - expected_mask[:, :, :, 0:(pad_size - 10) // 2] = -1 - expected_mask[:, :, :, -(pad_size - (pad_size - 10) // 2 - 10):] = -1 - expected_mask[:, :, -(pad_size - (pad_size - 10) // 2 - 10):, :] = -1 + expected_mask[:, :, 0 : (pad_size - 10) // 2, :] = -1 + expected_mask[:, :, :, 0 : (pad_size - 10) // 2] = -1 + expected_mask[:, :, :, -(pad_size - (pad_size - 10) // 2 - 10) :] = -1 + expected_mask[:, :, -(pad_size - (pad_size - 10) // 2 - 10) :, :] = -1 assert torch.allclose(cropped["data"], expected) assert torch.allclose(cropped["seg"], expected_mask) From e46eb2b6571c7fee0ad6c2a4a11d4e5f4bc49419 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 01:30:04 -0500 Subject: [PATCH 29/53] remove kwargs --- rising/transforms/_affine.py | 44 ++++++------- rising/transforms/abstract.py | 32 +++++----- rising/transforms/crop.py | 3 +- rising/transforms/grid.py | 20 +++--- rising/transforms/intensity.py | 112 ++++++++++++++++----------------- rising/transforms/kernel.py | 18 +++--- rising/transforms/pad.py | 6 +- rising/transforms/sitk.py | 11 ++-- rising/transforms/spatial.py | 18 +++--- 9 files changed, 129 insertions(+), 135 deletions(-) diff --git a/rising/transforms/_affine.py b/rising/transforms/_affine.py index 769bc40c..ec3fc45d 100644 --- a/rising/transforms/_affine.py +++ b/rising/transforms/_affine.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, item_or_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -30,9 +30,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, reverse_order: bool = False, per_sample: bool = True, **kwargs, @@ -241,9 +241,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, reverse_order: bool = False, **kwargs, ): @@ -341,9 +341,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[Optional[bool]] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[Optional[bool]] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -502,9 +502,9 @@ def __init__( degree: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -582,9 +582,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, unit: str = "pixel", reverse_order: bool = False, per_sample: bool = True, @@ -681,9 +681,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -758,9 +758,9 @@ def __init__( size: Union[int, Tuple[int]], keys: Sequence[str] = ("data",), grad: bool = False, - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, reverse_order: bool = False, **kwargs, ): diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index fd41154b..135d7906 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -9,7 +9,7 @@ __all__ = [ "_AbstractTransform", - "item_or_seq", + "ITEM_or_SEQ", "BaseTransform", "PerChannelTransformMixin", "PerSampleTransformMixin", @@ -17,7 +17,7 @@ ] T = TypeVar("T") -item_or_seq = Union[T, Sequence[T]] +ITEM_or_SEQ = Union[T, Sequence[T]] augment_callable = Callable[..., Any] augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] @@ -26,7 +26,7 @@ class _AbstractTransform(nn.Module): """Base class for all transforms""" - def __init__(self, grad: bool = False, **kwargs): + def __init__(self, *, grad: bool = False, **kwargs): """ Args: grad: enable gradient computation inside transformation @@ -90,6 +90,7 @@ def need_sampler(self, value) -> bool: else: return False + @final def __getattribute__(self, item) -> Any: """ Automatically dereference registered samplers @@ -226,7 +227,7 @@ def sample_for_batch(self, name: str, batch_size: int) -> Optional[Union[Any, Se else: return elem # either a single scalar value or None - def register_paired_attribute(self, name: str, value: item_or_seq[T]): + def register_paired_attribute(self, name: str, value: ITEM_or_SEQ[T]): if name in self._paired_kw_names: raise ValueError(f"{name} has been registered in self._pair_kwarg_names") if name not in self._augment_fn_names: @@ -336,20 +337,20 @@ def forward(self, **data) -> dict: seed = int(torch.randint(0, int(1e16), (1,))) - for _key in self.keys: - batch_size = data[_key].shape[0] + for key in self.keys: + batch_size = data[key].shape[0] out = [] for b in range(batch_size): with self.random_cxm(seed + b): kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} - kwargs.update(self.get_pair_kwargs(_key)) + kwargs.update(self.get_pair_kwargs(key)) if torch.rand(1).item() < self.p: - out.append(self.augment_fn(data[_key][b][None, ...], **kwargs)) + out.append(self.augment_fn(data[key][b][None, ...], **kwargs)) else: - out.append(data[_key][b][None, ...]) + out.append(data[key][b][None, ...]) - data[_key] = torch.cat(out, dim=0) + data[key] = torch.cat(out, dim=0) return data @@ -390,14 +391,15 @@ def forward(self, **data) -> dict: seed = int(torch.randint(0, int(1e16), (1,))) - for _key in self.keys: + for key in self.keys: out = [] - channel_dim = data[_key].shape[1] + channel_dim = data[key].shape[1] for c in range(channel_dim): with self.random_cxm(seed + c): kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} - kwargs.update(self.get_pair_kwargs(_key)) - out.append(self.augment_fn(data[_key][:, c].unsqueeze(1), **kwargs)) - data[_key] = torch.cat(out, dim=1) + kwargs.update(self.get_pair_kwargs(key)) + + out.append(self.augment_fn(data[key][:, c].unsqueeze(1), **kwargs)) + data[key] = torch.cat(out, dim=1) return data diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index c77056bc..173d8869 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -65,12 +65,11 @@ def __init__( pad_value: int = 0, keys: Sequence = ("data",), grad: bool = False, - **kwargs ): """ Args: size: random crop size - pad: int, sequence[int], padding image to size+pad + pad_size: int, sequence[int], padding image to size+pad """ super(PadRandomCrop, self).__init__( augment_fn=pad_random_crop, diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index dc2c1d45..f5f9109c 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -6,7 +6,7 @@ from torch.nn import functional as F from rising.random.utils import fix_random_seed_ctx -from rising.transforms.abstract import _AbstractTransform, item_or_seq +from rising.transforms.abstract import ITEM_or_SEQ, _AbstractTransform from rising.transforms.functional import center_crop, random_crop from rising.transforms.kernel import GaussianSmoothing from rising.utils.affine import get_batched_eye, matrix_to_homogeneous @@ -30,9 +30,9 @@ class GridTransform(_AbstractTransform): def __init__( self, keys: Sequence[str] = ("data",), - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, grad: bool = False, **kwargs, ): @@ -179,9 +179,9 @@ def __init__( alpha: float, dim: int = 2, keys: Sequence[str] = ("data",), - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, grad: bool = False, per_sample: bool = True, **kwargs, @@ -226,9 +226,9 @@ def __init__( self, scale: Tuple[float, float, float], keys: Sequence[str] = ("data",), - interpolation_mode: item_or_seq[str] = "bilinear", - padding_mode: item_or_seq[str] = "zeros", - align_corners: item_or_seq[bool] = False, + interpolation_mode: ITEM_or_SEQ[str] = "bilinear", + padding_mode: ITEM_or_SEQ[str] = "zeros", + align_corners: ITEM_or_SEQ[bool] = False, grad: bool = False, **kwargs, ): diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 131fd8d8..070faa31 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -4,6 +4,7 @@ from rising.transforms.abstract import ( BaseTransform, BaseTransformMixin, + ITEM_or_SEQ, PerChannelTransformMixin, PerSampleTransformMixin, augment_callable, @@ -47,21 +48,17 @@ class Clamp(BaseTransformMixin, BaseTransform): def __init__( self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], + min: ITEM_or_SEQ[Union[float, AbstractParameter]], + max: ITEM_or_SEQ[Union[float, AbstractParameter]], keys: Sequence = ("data",), grad: bool = False, - **kwargs ): """ - - Args: min: minimal value max: maximal value keys: the keys corresponding to the values to clamp grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn """ super().__init__( augment_fn=clamp, @@ -71,20 +68,18 @@ def __init__( augment_fn_names=("min", "max"), min=min, max=max, - **kwargs ) class NormRange(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], + min: ITEM_or_SEQ[Union[float, AbstractParameter]], + max: ITEM_or_SEQ[Union[float, AbstractParameter]], keys: Sequence = ("data",), per_channel: bool = True, - grad: bool = False, per_sample=True, - **kwargs + grad: bool = False, ): """ Args: @@ -93,7 +88,6 @@ def __init__( keys: keys to normalize per_channel: normalize per channel grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to normalization function """ super().__init__( augment_fn=norm_range, @@ -105,7 +99,6 @@ def __init__( max=max, per_sample=per_sample, per_channel=per_channel, - **kwargs ) @@ -114,14 +107,20 @@ class NormPercentile(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: Union[float, AbstractParameter], - max: Union[float, AbstractParameter], - per_channel: bool = True, + min: ITEM_or_SEQ[Union[float, AbstractParameter]], + max: ITEM_or_SEQ[Union[float, AbstractParameter]], keys: Sequence[str] = ("data",), grad: bool = False, + per_channel: bool = True, per_sample=True, - **kwargs ): + """ + Args: + min: min percentile, between 0 and 1 + max: max percentile, between 0 and 1 + per_channel: if normalize per channel + per_sample: if normalize per sample or per batch + """ super().__init__( augment_fn=norm_min_max_percentile, keys=keys, @@ -132,7 +131,6 @@ def __init__( paired_kw_names=("min", "max"), augment_fn_names=("min", "max", "per_channel"), per_sample=per_sample, - **kwargs ) @@ -143,32 +141,30 @@ def __init__( self, keys: Sequence = ("data",), per_channel: bool = True, + per_sample=True, grad: bool = False, eps: Optional[float] = 1e-8, - per_sample=True, - **kwargs ): """ Args: keys: keys to normalize per_channel: normalize per channel + per_sample: normalize per sample or per batch grad: enable gradient computation inside transformation eps: small constant for numerical stability. If None, no factor constant will be added - **kwargs: keyword arguments passed to normalization function """ super().__init__( augment_fn=norm_min_max, keys=keys, grad=grad, per_channel=per_channel, + per_sample=per_sample, eps=eps, - per_sample=True, augment_fn_names=( "per_channel", "eps", ), - **kwargs ) @@ -179,19 +175,18 @@ def __init__( self, keys: Sequence = ("data",), per_channel: bool = True, + per_sample=True, grad: bool = False, eps: Optional[float] = 1e-8, - per_sample=True, - **kwargs ): """ Args: keys: keys to normalize per_channel: normalize per channel + per_sample: normalize per sample or per batch. grad: enable gradient computation inside transformation eps: small constant for numerical stability. If None, no factor constant will be added - **kwargs: keyword arguments passed to normalization function """ super().__init__( augment_fn=norm_zero_mean_unit_std, @@ -201,7 +196,6 @@ def __init__( augment_fn_names=("eps", "per_channel"), eps=eps, per_sample=per_sample, - **kwargs ) @@ -210,12 +204,12 @@ class NormMeanStd(PerSampleTransformMixin, BaseTransform): def __init__( self, - mean: Union[float, Sequence[float]], - std: Union[float, Sequence[float]], + mean: ITEM_or_SEQ[Union[float, Sequence[float]]], + std: ITEM_or_SEQ[Union[float, Sequence[float]]], keys: Sequence[str] = ("data",), per_channel: bool = True, - grad: bool = False, per_sample=True, + grad: bool = False, **kwargs ): """ @@ -247,18 +241,19 @@ def __init__( class GammaCorrection(BaseTransformMixin, BaseTransform): """Apply Gamma correction""" - def __init__( - self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs - ): + def __init__(self, gamma: Union[float, AbstractParameter], keys: Sequence = ("data",), grad: bool = False): """ Args: gamma: define gamma keys: keys to normalize grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to superclass """ super().__init__( - augment_fn=gamma_correction, keys=keys, grad=grad, augment_fn_names=("gamma",), gamma=gamma, **kwargs + augment_fn=gamma_correction, + keys=keys, + grad=grad, + augment_fn_names=("gamma",), + gamma=gamma, ) @@ -296,13 +291,12 @@ class ExponentialNoise(_Noise): .. warning:: This transform will apply different noise patterns to different keys. """ - def __init__(self, lambd: float, keys: Sequence = ("data",), grad: bool = False, **kwargs): + def __init__(self, lambd: float, keys: Sequence = ("data",), grad: bool = False): """ Args: lambd: lambda of exponential distribution keys: keys to normalize grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to noise function """ super().__init__( noise_type="exponential_", @@ -310,7 +304,6 @@ def __init__(self, lambd: float, keys: Sequence = ("data",), grad: bool = False, keys=keys, grad=grad, augment_fn_names=("noise_type", "lambd"), - **kwargs ) @@ -321,14 +314,13 @@ class GaussianNoise(_Noise): .. warning:: This transform will apply different noise patterns to different keys. """ - def __init__(self, mean: float, std: float, keys: Sequence = ("data",), grad: bool = False, **kwargs): + def __init__(self, mean: float, std: float, keys: Sequence = ("data",), grad: bool = False): """ Args: mean: mean of normal distribution std: std of normal distribution keys: keys to normalize grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to noise function """ super().__init__( noise_type="normal_", @@ -337,7 +329,6 @@ def __init__(self, mean: float, std: float, keys: Sequence = ("data",), grad: bo keys=keys, grad=grad, augment_fn_names=("noise_type", "mean", "std"), - **kwargs ) @@ -356,19 +347,13 @@ def __init__( per_channel: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, - **kwargs ): """ Args: augment_fn: augmentation function - random_mode: specifies distribution which should be used to - sample additive value. All function from python's random - module are supported - random_args: positional arguments passed for random function per_channel: enable transformation per channel keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn """ super().__init__( augment_fn=augment_fn, @@ -376,7 +361,6 @@ def __init__( per_channel=per_channel, keys=keys, grad=grad, - **kwargs ) self.register_sampler("value", random_sampler) @@ -394,7 +378,6 @@ def __init__( per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, - **kwargs ): """ Args: @@ -402,7 +385,6 @@ def __init__( per_channel: enable transformation per channel keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn """ super().__init__( augment_fn=add_value, @@ -411,7 +393,6 @@ def __init__( per_channel=per_channel, keys=keys, grad=grad, - **kwargs ) @@ -445,14 +426,18 @@ def __init__( per_channel=per_channel, keys=keys, grad=grad, - **kwargs ) -class RandomBezierTransform(BaseTransform): +class RandomBezierTransform(BaseTransformMixin, BaseTransform): """Apply a random 3rd order bezier spline to the intensity values, as proposed in Models Genesis.""" - def __init__(self, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data",), **kwargs): + def __init__( + self, + maxv: float = 1.0, + minv: float = 0.0, + keys: Sequence = ("data",), + ): super().__init__( augment_fn=bezier_3rd_order, keys=keys, @@ -460,17 +445,28 @@ def __init__(self, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data maxv=maxv, augment_fn_names=("maxv", "minv"), minv=minv, - **kwargs ) -class InvertAmplitude(BaseTransform): +class InvertAmplitude(BaseTransformMixin, BaseTransform): """ Inverts the amplitude with probability p according to the following formula: out = maxv + minv - data """ - def __init__(self, prob: float = 0.5, maxv: float = 1.0, minv: float = 0.0, keys: Sequence = ("data",), **kwargs): + def __init__( + self, + prob: float = 0.5, + maxv: float = 1.0, + minv: float = 0.0, + keys: Sequence = ("data",), + ): super().__init__( - augment_fn=random_inversion, keys=keys, grad=False, prob_inversion=prob, maxv=maxv, minv=minv, **kwargs + augment_fn=random_inversion, + keys=keys, + grad=False, + prob_inversion=prob, + maxv=maxv, + minv=minv, + augment_fn_names=("prob_inversion", "maxv", "minv"), ) diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index cee9c964..531a5612 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -7,7 +7,7 @@ from rising.utils import check_scalar from rising.utils.mise import ntuple -from .abstract import _AbstractTransform, item_or_seq +from .abstract import ITEM_or_SEQ, _AbstractTransform __all__ = ["KernelTransform", "GaussianSmoothing"] @@ -21,10 +21,10 @@ class KernelTransform(_AbstractTransform): def __init__( self, in_channels: int, - kernel_size: item_or_seq[int], + kernel_size: ITEM_or_SEQ[int], dim: int = 2, - stride: item_or_seq[int] = 1, - padding: item_or_seq[int] = 0, + stride: ITEM_or_SEQ[int] = 1, + padding: ITEM_or_SEQ[int] = 0, padding_mode: str = "zero", keys: Sequence[str] = ("data",), grad: bool = False, @@ -129,12 +129,12 @@ class GaussianSmoothing(KernelTransform): def __init__( self, in_channels: int, - kernel_size: item_or_seq[int], - std: item_or_seq[float], + kernel_size: ITEM_or_SEQ[int], + std: ITEM_or_SEQ[float], dim: int = 2, - stride: item_or_seq[int] = 1, - padding: item_or_seq[int] = 0, - padding_mode: item_or_seq[str] = "constant", + stride: ITEM_or_SEQ[int] = 1, + padding: ITEM_or_SEQ[int] = 0, + padding_mode: ITEM_or_SEQ[str] = "constant", keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py index 6ac9e94a..70af350e 100644 --- a/rising/transforms/pad.py +++ b/rising/transforms/pad.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, item_or_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ from rising.transforms.functional.pad import pad as _pad from rising.utils.mise import ntuple @@ -11,9 +11,9 @@ class Pad(BaseTransformMixin, BaseTransform): def __init__( self, *, - pad_size: item_or_seq[int], + pad_size: ITEM_or_SEQ[int], mode: str = "constant", - pad_value: item_or_seq[float], + pad_value: ITEM_or_SEQ[float], keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index f7f83552..93a02610 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -3,7 +3,7 @@ import torch from rising.random.abstract import AbstractParameter -from rising.transforms.abstract import BaseTransform, item_or_seq +from rising.transforms.abstract import BaseTransform, ITEM_or_SEQ from rising.transforms.functional.sitk import itk2tensor, itk_clip, itk_resample SpacingParamType = Union[ @@ -33,8 +33,7 @@ def __init__( *, pad_value: Union[int, float], keys: Sequence = ("data",), - interpolation: item_or_seq[str] = "nearest", - **kwargs + interpolation: ITEM_or_SEQ[str] = "nearest", ): """ resample simpleitk image given new spacing and padding value @@ -47,10 +46,8 @@ def __init__( augment_fn=itk_resample, keys=keys, grad=False, - property_names=("spacing", "pad_value"), spacing=spacing, pad_value=pad_value, - **kwargs, ) self.interpolation_mode = self.tuple_generator(interpolation) @@ -96,10 +93,10 @@ def __init__( self, *, keys: Sequence = ("data",), - dtype: item_or_seq[torch.dtype] = torch.float, + dtype: ITEM_or_SEQ[torch.dtype] = torch.float, insert_dim: int = None, grad: bool = False, - **kwargs + **kwargs, ): """ Convert sitk image to Tensor diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 58f0f962..ce0e8969 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -5,7 +5,7 @@ from torch.multiprocessing import Value from rising.random import AbstractParameter, DiscreteParameter -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, item_or_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ, PerSampleTransformMixin from rising.transforms.functional import mirror, resize_native, rot90 __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] @@ -21,7 +21,7 @@ class Mirror(PerSampleTransformMixin, BaseTransform): def __init__( self, *, - dims=item_or_seq[Union[int, DiscreteParameter]], + dims=ITEM_or_SEQ[Union[int, DiscreteParameter]], p_sample: float = 0.5, keys: Sequence[str] = ("data",), grad: bool = False, @@ -51,7 +51,7 @@ class Rot90(PerSampleTransformMixin, BaseTransform): def __init__( self, - dims: item_or_seq[Union[Sequence[int], DiscreteParameter]], + dims: ITEM_or_SEQ[Union[Sequence[int], DiscreteParameter]], keys: Sequence[str] = ("data",), num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), p_sample: float = 0.5, @@ -96,8 +96,8 @@ class ResizeNative(BaseTransformMixin, BaseTransform): def __init__( self, size: Union[int, Sequence[int]], - mode: item_or_seq[FInterpolation] = FInterpolation.nearest, - align_corners: item_or_seq[bool] = None, + mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, + align_corners: ITEM_or_SEQ[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -142,8 +142,8 @@ class Zoom(BaseTransformMixin, BaseTransform): def __init__( self, scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: item_or_seq[FInterpolation] = FInterpolation.nearest, - align_corners: item_or_seq[bool] = None, + mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, + align_corners: ITEM_or_SEQ[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -190,8 +190,8 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: item_or_seq[FInterpolation] = FInterpolation.nearest, - align_corners: item_or_seq[Optional[bool]] = None, + mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, + align_corners: ITEM_or_SEQ[Optional[bool]] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, From 8984f44ccbdb5abdbddd323b9faf88634839c7b3 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 17:49:30 -0500 Subject: [PATCH 30/53] rename generic typing --- rising/transforms/__init__.py | 2 +- rising/transforms/abstract.py | 78 +++++++++++++++++---- rising/transforms/{_affine.py => affine.py} | 67 +++++++----------- rising/transforms/grid.py | 20 +++--- rising/transforms/intensity.py | 18 ++--- rising/transforms/kernel.py | 18 ++--- rising/transforms/pad.py | 6 +- rising/transforms/sitk.py | 6 +- rising/transforms/spatial.py | 18 ++--- rising/utils/mise.py | 12 ++-- tests/transforms/test_affine.py | 2 +- tests/transforms/test_affine_transform.py | 2 +- 12 files changed, 142 insertions(+), 107 deletions(-) rename rising/transforms/{_affine.py => affine.py} (95%) diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 09c15083..93152177 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -19,7 +19,6 @@ * Painting Transforms """ -from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.transforms.abstract import ( BaseTransform, BaseTransformMixin, @@ -27,6 +26,7 @@ PerSampleTransformMixin, _AbstractTransform, ) +from rising.transforms.affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.transforms.channel import ArgMax, OneHot from rising.transforms.compose import Compose, DropoutCompose, OneOf from rising.transforms.crop import CenterCrop, RandomCrop diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 135d7906..3a070e99 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -7,21 +7,21 @@ from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import fix_seed_cxm, ntuple, nullcxm +T = TypeVar("T") +TYPE_item_seq = Union[T, Sequence[T]] + +augment_callable = Callable[..., Any] +augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] + __all__ = [ "_AbstractTransform", - "ITEM_or_SEQ", + "TYPE_item_seq", "BaseTransform", "PerChannelTransformMixin", "PerSampleTransformMixin", "BaseTransformMixin", ] -T = TypeVar("T") -ITEM_or_SEQ = Union[T, Sequence[T]] - -augment_callable = Callable[..., Any] -augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] - class _AbstractTransform(nn.Module): """Base class for all transforms""" @@ -174,7 +174,7 @@ def __init__( keys: Sequence[str] = ("data",), grad: bool = False, paired_kw_names: Sequence[str] = (), - augment_fn_names: Sequence[str], + augment_fn_names: Sequence[str] = (), per_sample: bool = True, **kwargs, ): @@ -227,7 +227,7 @@ def sample_for_batch(self, name: str, batch_size: int) -> Optional[Union[Any, Se else: return elem # either a single scalar value or None - def register_paired_attribute(self, name: str, value: ITEM_or_SEQ[T]): + def register_paired_attribute(self, name: str, value: TYPE_item_seq[T]): if name in self._paired_kw_names: raise ValueError(f"{name} has been registered in self._pair_kwarg_names") if name not in self._augment_fn_names: @@ -367,7 +367,7 @@ class PerChannelTransformMixin(BaseTransformMixin): result in different augmentations per channel and key. """ - def __init__(self, *, per_channel: bool, **kwargs): + def __init__(self, *, per_channel: bool, p: float = 1, **kwargs): """ Args: per_channel:bool parameter to perform per_channel operation @@ -375,6 +375,7 @@ def __init__(self, *, per_channel: bool, **kwargs): """ super().__init__(**kwargs) self.per_channel = per_channel + self.p = p def forward(self, **data) -> dict: """ @@ -398,8 +399,61 @@ def forward(self, **data) -> dict: with self.random_cxm(seed + c): kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} kwargs.update(self.get_pair_kwargs(key)) - - out.append(self.augment_fn(data[key][:, c].unsqueeze(1), **kwargs)) + if torch.rand(1).item() < self.p: + out.append(self.augment_fn(data[key][:, c].unsqueeze(1), **kwargs)) + else: + out.append(data[key][:, c].unsqueeze(1)) data[key] = torch.cat(out, dim=1) return data + + +class PerSamplePerChannelTransformMixin(BaseTransformMixin): + def __init__(self, *, per_channel: bool, p_channel: float = 1, per_sample: bool, p_sample: float = 1, **kwargs): + """ + Args: + per_channel:bool parameter to perform per_channel operation + kwargs: base parameters + """ + super().__init__(**kwargs) + self.per_channel = per_channel + self.p_channel = p_channel + + self.per_sample = per_sample + self.p_sample = p_sample + + def forward(self, **data) -> dict: + """ + Apply transformation + + Args: + data: dict with tensors + + Returns: + dict: dict with augmented data + """ + if not self.per_channel: + self.p = self.p_sample + return PerSampleTransformMixin.forward(self, **data) + if not self.per_sample: + self.p = self.p_channel + return PerChannelTransformMixin.forward(self, **data) + + seed = int(torch.randint(0, int(1e16), (1,))) + + for key in self.keys: + batch_size, channel_dim = data[key].shape[0:2] + for b in range(batch_size): + cur_data = data[key] + processed_batch = [] + for c in range(channel_dim): + with self.random_cxm(seed + b + c): + kwargs = {k: getattr(self, k) for k in self._augment_fn_names if k not in self._paired_kw_names} + kwargs.update(self.get_pair_kwargs(key)) + if torch.rand(1).item() < self.p: + processed_batch.append(self.augment_fn(cur_data[b, c][None, None, ...], **kwargs)) + else: + processed_batch.append(data[key][:, c][None, None, ...]) + data[key][b] = torch.cat(processed_batch, dim=1)[0] + + return data diff --git a/rising/transforms/_affine.py b/rising/transforms/affine.py similarity index 95% rename from rising/transforms/_affine.py rename to rising/transforms/affine.py index ec3fc45d..409b181c 100644 --- a/rising/transforms/_affine.py +++ b/rising/transforms/affine.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, TYPE_item_seq from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -30,12 +30,11 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, reverse_order: bool = False, per_sample: bool = True, - **kwargs, ): """ Args: @@ -67,19 +66,13 @@ def __init__( batch order [(D,)H,W] per_sample: sample different values for each element in the batch. The transform is still applied in a batched wise fashion. - **kwargs: additional keyword arguments passed to the - affine transform """ super().__init__( augment_fn=affine_image_transform, keys=keys, per_sample=per_sample, - augment_fn_names=(), grad=grad, - seeded=True, - **kwargs, ) - self.kwargs = kwargs self.matrix = matrix self.register_sampler("output_size", output_size) self.adjust_size = adjust_size @@ -212,7 +205,6 @@ def __radd__(self, other) -> BaseTransform: interpolation_mode=self.interpolation_mode, padding_mode=self.padding_mode, align_corners=self.align_corners, - # **self.kwargs, ) return _StackedAffine( @@ -224,7 +216,6 @@ def __radd__(self, other) -> BaseTransform: interpolation_mode=other.interpolation_mode, padding_mode=other.padding_mode, align_corners=other.align_corners, - # **other.kwargs, ) @@ -241,11 +232,11 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, reverse_order: bool = False, - **kwargs, + per_sample=True, ): """ Args: @@ -296,7 +287,7 @@ def __init__( padding_mode=padding_mode, align_corners=align_corners, reverse_order=reverse_order, - **kwargs, + per_sample=per_sample, ) self.transforms = transforms @@ -341,13 +332,12 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[Optional[bool]] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[Optional[bool]] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, - **kwargs, ): """ Args: @@ -408,8 +398,7 @@ def __init__( per_sample: sample different values for each element in the batch. The transform is still applied in a batched wise fashion. p: float, the probability of applying the transformation on batches. - **kwargs: additional keyword arguments passed to the - affine transform + """ super().__init__( keys=keys, @@ -422,7 +411,6 @@ def __init__( reverse_order=reverse_order, per_sample=per_sample, p=p, - **kwargs, ) self.register_sampler("scale", scale) self.register_sampler("rotation", rotation) @@ -447,6 +435,7 @@ def assemble_matrix(self, **data) -> torch.Tensor: ndim = len(data[self.keys[0]].shape) - 2 # channel and batch dim device = data[self.keys[0]].device dtype = data[self.keys[0]].dtype + seed = int(torch.randint(0, int(1e6), (1,))) scale = self.sample_for_batch_with_prob("scale", batch_size, default_value=1.0, seed=seed) @@ -502,13 +491,12 @@ def __init__( degree: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, - **kwargs, ): """ Args: @@ -544,8 +532,6 @@ def __init__( transformation to conform to the pytorch convention: transformation params order [W,H(,D)] and batch order [(D,)H,W] - **kwargs: additional keyword arguments passed to the - affine transform """ super().__init__( scale=None, @@ -563,7 +549,6 @@ def __init__( reverse_order=reverse_order, per_sample=per_sample, p=p, - **kwargs, ) @@ -582,9 +567,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, unit: str = "pixel", reverse_order: bool = False, per_sample: bool = True, @@ -681,9 +666,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -758,9 +743,9 @@ def __init__( size: Union[int, Tuple[int]], keys: Sequence[str] = ("data",), grad: bool = False, - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, reverse_order: bool = False, **kwargs, ): diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index f5f9109c..fde57209 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -6,7 +6,7 @@ from torch.nn import functional as F from rising.random.utils import fix_random_seed_ctx -from rising.transforms.abstract import ITEM_or_SEQ, _AbstractTransform +from rising.transforms.abstract import TYPE_item_seq, _AbstractTransform from rising.transforms.functional import center_crop, random_crop from rising.transforms.kernel import GaussianSmoothing from rising.utils.affine import get_batched_eye, matrix_to_homogeneous @@ -30,9 +30,9 @@ class GridTransform(_AbstractTransform): def __init__( self, keys: Sequence[str] = ("data",), - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, grad: bool = False, **kwargs, ): @@ -179,9 +179,9 @@ def __init__( alpha: float, dim: int = 2, keys: Sequence[str] = ("data",), - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, grad: bool = False, per_sample: bool = True, **kwargs, @@ -226,9 +226,9 @@ def __init__( self, scale: Tuple[float, float, float], keys: Sequence[str] = ("data",), - interpolation_mode: ITEM_or_SEQ[str] = "bilinear", - padding_mode: ITEM_or_SEQ[str] = "zeros", - align_corners: ITEM_or_SEQ[bool] = False, + interpolation_mode: TYPE_item_seq[str] = "bilinear", + padding_mode: TYPE_item_seq[str] = "zeros", + align_corners: TYPE_item_seq[bool] = False, grad: bool = False, **kwargs, ): diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 070faa31..32f244ae 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -4,9 +4,9 @@ from rising.transforms.abstract import ( BaseTransform, BaseTransformMixin, - ITEM_or_SEQ, PerChannelTransformMixin, PerSampleTransformMixin, + TYPE_item_seq, augment_callable, ) from rising.transforms.functional.intensity import ( @@ -48,8 +48,8 @@ class Clamp(BaseTransformMixin, BaseTransform): def __init__( self, - min: ITEM_or_SEQ[Union[float, AbstractParameter]], - max: ITEM_or_SEQ[Union[float, AbstractParameter]], + min: TYPE_item_seq[Union[float, AbstractParameter]], + max: TYPE_item_seq[Union[float, AbstractParameter]], keys: Sequence = ("data",), grad: bool = False, ): @@ -74,8 +74,8 @@ def __init__( class NormRange(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: ITEM_or_SEQ[Union[float, AbstractParameter]], - max: ITEM_or_SEQ[Union[float, AbstractParameter]], + min: TYPE_item_seq[Union[float, AbstractParameter]], + max: TYPE_item_seq[Union[float, AbstractParameter]], keys: Sequence = ("data",), per_channel: bool = True, per_sample=True, @@ -107,8 +107,8 @@ class NormPercentile(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: ITEM_or_SEQ[Union[float, AbstractParameter]], - max: ITEM_or_SEQ[Union[float, AbstractParameter]], + min: TYPE_item_seq[Union[float, AbstractParameter]], + max: TYPE_item_seq[Union[float, AbstractParameter]], keys: Sequence[str] = ("data",), grad: bool = False, per_channel: bool = True, @@ -204,8 +204,8 @@ class NormMeanStd(PerSampleTransformMixin, BaseTransform): def __init__( self, - mean: ITEM_or_SEQ[Union[float, Sequence[float]]], - std: ITEM_or_SEQ[Union[float, Sequence[float]]], + mean: TYPE_item_seq[Union[float, Sequence[float]]], + std: TYPE_item_seq[Union[float, Sequence[float]]], keys: Sequence[str] = ("data",), per_channel: bool = True, per_sample=True, diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index 531a5612..4badf108 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -7,7 +7,7 @@ from rising.utils import check_scalar from rising.utils.mise import ntuple -from .abstract import ITEM_or_SEQ, _AbstractTransform +from .abstract import TYPE_item_seq, _AbstractTransform __all__ = ["KernelTransform", "GaussianSmoothing"] @@ -21,10 +21,10 @@ class KernelTransform(_AbstractTransform): def __init__( self, in_channels: int, - kernel_size: ITEM_or_SEQ[int], + kernel_size: TYPE_item_seq[int], dim: int = 2, - stride: ITEM_or_SEQ[int] = 1, - padding: ITEM_or_SEQ[int] = 0, + stride: TYPE_item_seq[int] = 1, + padding: TYPE_item_seq[int] = 0, padding_mode: str = "zero", keys: Sequence[str] = ("data",), grad: bool = False, @@ -129,12 +129,12 @@ class GaussianSmoothing(KernelTransform): def __init__( self, in_channels: int, - kernel_size: ITEM_or_SEQ[int], - std: ITEM_or_SEQ[float], + kernel_size: TYPE_item_seq[int], + std: TYPE_item_seq[float], dim: int = 2, - stride: ITEM_or_SEQ[int] = 1, - padding: ITEM_or_SEQ[int] = 0, - padding_mode: ITEM_or_SEQ[str] = "constant", + stride: TYPE_item_seq[int] = 1, + padding: TYPE_item_seq[int] = 0, + padding_mode: TYPE_item_seq[str] = "constant", keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py index 70af350e..dd414d6f 100644 --- a/rising/transforms/pad.py +++ b/rising/transforms/pad.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, TYPE_item_seq from rising.transforms.functional.pad import pad as _pad from rising.utils.mise import ntuple @@ -11,9 +11,9 @@ class Pad(BaseTransformMixin, BaseTransform): def __init__( self, *, - pad_size: ITEM_or_SEQ[int], + pad_size: TYPE_item_seq[int], mode: str = "constant", - pad_value: ITEM_or_SEQ[float], + pad_value: TYPE_item_seq[float], keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index 93a02610..f0a2a32c 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -3,7 +3,7 @@ import torch from rising.random.abstract import AbstractParameter -from rising.transforms.abstract import BaseTransform, ITEM_or_SEQ +from rising.transforms.abstract import BaseTransform, TYPE_item_seq from rising.transforms.functional.sitk import itk2tensor, itk_clip, itk_resample SpacingParamType = Union[ @@ -33,7 +33,7 @@ def __init__( *, pad_value: Union[int, float], keys: Sequence = ("data",), - interpolation: ITEM_or_SEQ[str] = "nearest", + interpolation: TYPE_item_seq[str] = "nearest", ): """ resample simpleitk image given new spacing and padding value @@ -93,7 +93,7 @@ def __init__( self, *, keys: Sequence = ("data",), - dtype: ITEM_or_SEQ[torch.dtype] = torch.float, + dtype: TYPE_item_seq[torch.dtype] = torch.float, insert_dim: int = None, grad: bool = False, **kwargs, diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index ce0e8969..b143106f 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -5,7 +5,7 @@ from torch.multiprocessing import Value from rising.random import AbstractParameter, DiscreteParameter -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ITEM_or_SEQ, PerSampleTransformMixin +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, TYPE_item_seq from rising.transforms.functional import mirror, resize_native, rot90 __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] @@ -21,7 +21,7 @@ class Mirror(PerSampleTransformMixin, BaseTransform): def __init__( self, *, - dims=ITEM_or_SEQ[Union[int, DiscreteParameter]], + dims=TYPE_item_seq[Union[int, DiscreteParameter]], p_sample: float = 0.5, keys: Sequence[str] = ("data",), grad: bool = False, @@ -51,7 +51,7 @@ class Rot90(PerSampleTransformMixin, BaseTransform): def __init__( self, - dims: ITEM_or_SEQ[Union[Sequence[int], DiscreteParameter]], + dims: TYPE_item_seq[Union[Sequence[int], DiscreteParameter]], keys: Sequence[str] = ("data",), num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), p_sample: float = 0.5, @@ -96,8 +96,8 @@ class ResizeNative(BaseTransformMixin, BaseTransform): def __init__( self, size: Union[int, Sequence[int]], - mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, - align_corners: ITEM_or_SEQ[bool] = None, + mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, + align_corners: TYPE_item_seq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -142,8 +142,8 @@ class Zoom(BaseTransformMixin, BaseTransform): def __init__( self, scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, - align_corners: ITEM_or_SEQ[bool] = None, + mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, + align_corners: TYPE_item_seq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -190,8 +190,8 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: ITEM_or_SEQ[FInterpolation] = FInterpolation.nearest, - align_corners: ITEM_or_SEQ[Optional[bool]] = None, + mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, + align_corners: TYPE_item_seq[Optional[bool]] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, diff --git a/rising/utils/mise.py b/rising/utils/mise.py index 09e39543..9c364fca 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -109,11 +109,7 @@ def on_main_process(): @contextmanager -def fix_seed_cxm(seed: int = 10, **kwargs): - cuda = on_main_process() - with fixed_torch_seed(seed=seed, cuda=cuda): - with fixed_random_seed(seed=seed): - try: - yield - finally: - pass +def fix_seed_cxm(seed: int = 10): + cuda = on_main_process() and torch.cuda.is_available() + with fixed_torch_seed(seed=seed, cuda=cuda), fixed_random_seed(seed=seed): + yield diff --git a/tests/transforms/test_affine.py b/tests/transforms/test_affine.py index af25941e..b1680ad3 100644 --- a/tests/transforms/test_affine.py +++ b/tests/transforms/test_affine.py @@ -3,7 +3,7 @@ import torch from rising.random import UniformParameter -from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine +from rising.transforms.affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous diff --git a/tests/transforms/test_affine_transform.py b/tests/transforms/test_affine_transform.py index ed1645a4..2c43bcc9 100644 --- a/tests/transforms/test_affine_transform.py +++ b/tests/transforms/test_affine_transform.py @@ -5,7 +5,7 @@ import torch from rising.random import UniformParameter -from rising.transforms._affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine +from rising.transforms.affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous From fbeda0a5d6c0d84b29d49320cf956214961ade70 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 18:22:25 -0500 Subject: [PATCH 31/53] adding Rician Noise Transform --- rising/transforms/functional/intensity.py | 7 +++++ rising/transforms/intensity.py | 33 ++++++++++++++++++++--- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index c2083732..287e4cca 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -338,3 +338,10 @@ def random_inversion( out = data return out + + +def augment_rician_noise(data, std: float): + data = torch.sqrt((data + torch.randn_like(data) * std).pow(2) + (torch.randn_like(data) * std) ** 2) * torch.sign( + data + ) + return data diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index 32f244ae..b83e7700 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -12,6 +12,7 @@ from rising.transforms.functional.intensity import ( add_noise, add_value, + augment_rician_noise, bezier_3rd_order, clamp, gamma_correction, @@ -40,6 +41,7 @@ "RandomScaleValue", "RandomBezierTransform", "InvertAmplitude", + "RicianNoiseTransform", ] @@ -210,7 +212,7 @@ def __init__( per_channel: bool = True, per_sample=True, grad: bool = False, - **kwargs + **kwargs, ): """ Args: @@ -234,7 +236,7 @@ def __init__( ), augment_fn_names=("mean", "std", "per_channel"), per_sample=per_sample, - **kwargs + **kwargs, ) @@ -409,7 +411,7 @@ def __init__( per_channel: bool = False, keys: Sequence = ("data",), grad: bool = False, - **kwargs + **kwargs, ): """ Args: @@ -470,3 +472,28 @@ def __init__( minv=minv, augment_fn_names=("prob_inversion", "maxv", "minv"), ) + + +class RicianNoiseTransform(BaseTransformMixin, BaseTransform): + def __init__( + self, + *, + keys: Sequence[str], + grad: bool, + std: Union[float, AbstractParameter], + p=1, + ): + """Adds rician noise with the given std. + The Noise of MRI data tends to have a rician distribution: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2254141/ + Args: + std : Union[float, AbstractParameter], samples std of Gaussian distribution used to calculate + CAREFUL: This transform will modify the value range of your data! + + adapted from batchgenerators: + https://github.com/MIC-DKFZ/batchgenerators/blob/master/batchgenerators/transforms/noise_transforms.py + """ + + super().__init__( + augment_fn=augment_rician_noise, p=p, keys=keys, grad=grad, augment_fn_names=("std",), per_sample=True + ) + self.register_sampler("std", std) From 302a3efa93733c480b191979c5bd54d737340a75 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 18:28:40 -0500 Subject: [PATCH 32/53] putting enum to constants file --- rising/constants.py | 6 ++++++ rising/transforms/functional/spatial.py | 2 +- rising/transforms/spatial.py | 2 +- rising/utils/enum.py | 7 ------- tests/transforms/test_spatial_transforms.py | 2 +- 5 files changed, 9 insertions(+), 10 deletions(-) delete mode 100644 rising/utils/enum.py diff --git a/rising/constants.py b/rising/constants.py index 064e4436..007ed725 100644 --- a/rising/constants.py +++ b/rising/constants.py @@ -1,6 +1,12 @@ from enum import Enum +class FInterpolation(Enum): + bilinear = "bilinear" + nearest = "nearest" + trilinear = "trilinear" + + class Interpolation(Enum): pass diff --git a/rising/transforms/functional/spatial.py b/rising/transforms/functional/spatial.py index 3cb7974c..76107b51 100644 --- a/rising/transforms/functional/spatial.py +++ b/rising/transforms/functional/spatial.py @@ -6,7 +6,7 @@ __all__ = ["mirror", "rot90", "resize_native"] -from rising.utils.enum import FInterpolation +from rising.constants import FInterpolation def mirror( diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index b143106f..3f502091 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -10,7 +10,7 @@ __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] -from rising.utils.enum import FInterpolation +from rising.constants import FInterpolation scheduler_type = Callable[[int], Union[int, Sequence[int]]] diff --git a/rising/utils/enum.py b/rising/utils/enum.py deleted file mode 100644 index 6c755dfe..00000000 --- a/rising/utils/enum.py +++ /dev/null @@ -1,7 +0,0 @@ -from enum import Enum - - -class FInterpolation(Enum): - bilinear = "bilinear" - nearest = "nearest" - trilinear = "trilinear" diff --git a/tests/transforms/test_spatial_transforms.py b/tests/transforms/test_spatial_transforms.py index 8438b7ae..5e36ea2e 100644 --- a/tests/transforms/test_spatial_transforms.py +++ b/tests/transforms/test_spatial_transforms.py @@ -6,10 +6,10 @@ import torch from matplotlib import pyplot as plt +from rising.constants import FInterpolation from rising.loading import DataLoader from rising.random import DiscreteParameter, UniformParameter from rising.transforms import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom -from rising.utils.enum import FInterpolation from tests.realtime_viewer import multi_slice_viewer_debug From e98de23ac580066711283184f22386d9c1d9aae1 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 18:46:47 -0500 Subject: [PATCH 33/53] fixed typing errors on crop --- rising/transforms/crop.py | 35 ++++++++++++++++++---------------- rising/transforms/format.py | 4 ++-- rising/transforms/intensity.py | 2 +- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index 173d8869..9a1cc63c 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -1,18 +1,18 @@ from typing import Sequence, Union -from rising.random import AbstractParameter from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin from rising.transforms.functional.crop import center_crop, random_crop +from rising.transforms.functional.crop_pad import pad_random_crop __all__ = ["CenterCrop", "RandomCrop"] -from rising.transforms.functional.crop_pad import pad_random_crop - class CenterCrop(BaseTransformMixin, BaseTransform): - def __init__( - self, *, size: Union[int, Sequence, AbstractParameter], keys: Sequence = ("data",), grad: bool = False, **kwargs - ): + """ + CenterCrop input image given size. + """ + + def __init__(self, *, size: Union[int, Sequence], keys: Sequence = ("data",), grad: bool = False, **kwargs): """ Args: size: size of crop @@ -20,22 +20,21 @@ def __init__( grad: enable gradient computation inside transformation **kwargs: keyword arguments passed to augment_fn """ - super().__init__(augment_fn=center_crop, keys=keys, grad=grad, property_names=("size",), size=size, **kwargs) + super().__init__(augment_fn=center_crop, keys=keys, grad=grad, augment_fn_names=("size",), size=size, **kwargs) -class RandomCrop(PerSampleTransformMixin, BaseTransform): +class RandomCrop(BaseTransformMixin, BaseTransform): """ - todo: to enhance this function with padding function. + RandomCrop images given size and dist (distance to the border) """ def __init__( self, *, - size: Union[int, Sequence, AbstractParameter], - dist: Union[int, Sequence, AbstractParameter] = 0, + size: Union[int, Sequence], + dist: Union[int, Sequence] = 0, keys: Sequence = ("data",), grad: bool = False, - **kwargs ): """ Args: @@ -43,7 +42,6 @@ def __init__( dist: minimum distance to border. By default zero keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn """ super().__init__( augment_fn=random_crop, @@ -53,16 +51,19 @@ def __init__( dist=dist, seeded=True, augment_fn_names=("size", "dist"), - **kwargs ) class PadRandomCrop(PerSampleTransformMixin, BaseTransform): + """ + This operation pad the image and crop to the desired size. + """ + def __init__( self, - size: Union[int, Sequence, AbstractParameter], + size: Union[int, Sequence], pad_size: Union[int, Sequence[int]] = 0, - pad_value: int = 0, + pad_value: Union[int, float, Sequence[int], Sequence[float]] = 0, keys: Sequence = ("data",), grad: bool = False, ): @@ -70,6 +71,7 @@ def __init__( Args: size: random crop size pad_size: int, sequence[int], padding image to size+pad + pad_value: int, float or a list of them. the value to pad """ super(PadRandomCrop, self).__init__( augment_fn=pad_random_crop, @@ -79,4 +81,5 @@ def __init__( pad_size=pad_size, pad_value=pad_value, augment_fn_names=("size", "pad_size", "pad_value"), + paired_kw_names=("pad_value",), ) diff --git a/rising/transforms/format.py b/rising/transforms/format.py index 185a1b43..e5697cba 100644 --- a/rising/transforms/format.py +++ b/rising/transforms/format.py @@ -1,10 +1,10 @@ from typing import Callable, Dict, Hashable, Mapping, Sequence, Tuple, Union -__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys"] - from rising.transforms.abstract import _AbstractTransform from rising.transforms.functional.utility import filter_keys, pop_keys +__all__ = ["MapToSeq", "SeqToMap", "PopKeys", "FilterKeys", "RenameKeys"] + class MapToSeq(_AbstractTransform): """ diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index b83e7700..b95c1cd6 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -481,7 +481,7 @@ def __init__( keys: Sequence[str], grad: bool, std: Union[float, AbstractParameter], - p=1, + p: float = 1, ): """Adds rician noise with the given std. The Noise of MRI data tends to have a rician distribution: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2254141/ From b25d72c5c5da9bb3773df15c094ea135f88796b4 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 19:46:49 -0500 Subject: [PATCH 34/53] fixed affine transformation and making the demo working --- notebooks/medical_seg/acdc_seg.py | 37 ++++++++---------------- rising/transforms/__init__.py | 2 +- rising/transforms/abstract.py | 1 + rising/transforms/affine.py | 3 +- rising/transforms/crop.py | 2 +- rising/transforms/functional/crop_pad.py | 2 +- 6 files changed, 18 insertions(+), 29 deletions(-) diff --git a/notebooks/medical_seg/acdc_seg.py b/notebooks/medical_seg/acdc_seg.py index e486d62e..e76f69f6 100644 --- a/notebooks/medical_seg/acdc_seg.py +++ b/notebooks/medical_seg/acdc_seg.py @@ -10,24 +10,8 @@ val_dataset = ACDCDataset(root="/home/jizong/Workspace/rising/notebooks/medical_seg/data", train=False) seq_tra_augment = transforms.Compose( - transforms.NormPercentile(keys=("image",), min=0.01, max=0.99), - transforms.Pad(keys=("image", "label"), pad_value=0.0, pad_size=(16, 256, 256)), - transforms.RandomCrop( - keys=("image", "label"), - size=( - 16, - 256, - 256, - ), - ), -) - -seq_val_augment = transforms.Compose( - transforms.NormPercentile(keys=("image", "label"), min=0.01, max=0.99), - transforms.Pad(keys=("image", "label"), pad_value=0.0, pad_size=(256, 256, 15)), - # transforms - # transforms.CenterCrop(size=(192, 168, 10), keys=("image", "label")), - transform_call=default_transform_call, + transforms.NormPercentile(keys=("image",), min=0.02, max=0.98), + transforms.PadRandomCrop(size=(15, 224, 224), pad_size=2, pad_value=(0, 0), keys=("image", "label")), ) batch_augment = transforms.Compose( @@ -35,18 +19,18 @@ # transforms.ToDevice(keys=("image", "label"), device=torch.device("cuda")), transforms.GammaCorrection(gamma=UniformParameter(0.8, 2), keys=("image",)), transforms.BaseAffine( - scale=(UniformParameter(0.9, 1.2), UniformParameter(0.9, 1.2), 1), - rotation=(0, UniformParameter(-50, 50), UniformParameter(-50, 50)), + scale=(1, UniformParameter(0.8, 1.2), UniformParameter(0.9, 1.2)), + rotation=(0, UniformParameter(-10, 10), UniformParameter(-10, 50)), translation=0, degree=True, - p=0.8, + p=0.5, interpolation_mode=("bilinear", "nearest"), keys=("image", "label"), ), - transforms.RandomCrop(size=(16, 192, 168), dist=0, keys=("image", "label")), + transforms.RandomCrop(size=(10, 192, 168), keys=("image", "label")), transforms.ElasticDistortion( std=20, - alpha=0.1, + alpha=0.2, dim=3, keys=("image", "label"), interpolation_mode=("bilinear", "nearest"), @@ -56,12 +40,12 @@ tra_loader = DataLoader( tra_dataset, - batch_size=8, + batch_size=6, shuffle=True, sample_transforms=seq_tra_augment, gpu_transforms=batch_augment, pseudo_batch_dim=True, - num_workers=4, + num_workers=0, ) # val_loader = DataLoader(val_dataset, batch_size=1, shuffle=False, sample_transforms=seq_val_augment, # gpu_transforms=batch_augment, pseudo_batch_dim=True, num_workers=4) @@ -70,6 +54,9 @@ for data in tqdm(tra_loader): image, label = data["image"], data["label"] + from tests.realtime_viewer import multi_slice_viewer_debug + + multi_slice_viewer_debug([*image.squeeze()], *label.squeeze(), block=True, no_contour=True) # image, label = image.to(torch.float), label.to(torch.float) # prediction = model(image) # diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 93152177..4c9ff570 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -29,7 +29,7 @@ from rising.transforms.affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.transforms.channel import ArgMax, OneHot from rising.transforms.compose import Compose, DropoutCompose, OneOf -from rising.transforms.crop import CenterCrop, RandomCrop +from rising.transforms.crop import CenterCrop, PadRandomCrop, RandomCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap from rising.transforms.grid import ( CenterCropGrid, diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index 3a070e99..ee418075 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -303,6 +303,7 @@ def forward(self, **data) -> Dict[str, Any]: @property def random_cxm(self): + """random seed control context manager, if self.seeded.""" return fix_seed_cxm if self.seeded else nullcxm diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 409b181c..0d2b51b5 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -410,8 +410,9 @@ def __init__( align_corners=align_corners, reverse_order=reverse_order, per_sample=per_sample, - p=p, ) + BaseTransformMixin.__init__(self, seeded=True, p=p) + self.p = p self.register_sampler("scale", scale) self.register_sampler("rotation", rotation) self.register_sampler("translation", translation) diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index 9a1cc63c..111a7901 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -4,7 +4,7 @@ from rising.transforms.functional.crop import center_crop, random_crop from rising.transforms.functional.crop_pad import pad_random_crop -__all__ = ["CenterCrop", "RandomCrop"] +__all__ = ["CenterCrop", "RandomCrop", "PadRandomCrop"] class CenterCrop(BaseTransformMixin, BaseTransform): diff --git a/rising/transforms/functional/crop_pad.py b/rising/transforms/functional/crop_pad.py index 048b85be..9711c1f4 100644 --- a/rising/transforms/functional/crop_pad.py +++ b/rising/transforms/functional/crop_pad.py @@ -17,7 +17,7 @@ def pad_random_crop( from rising.transforms import Pad - data = Pad(pad_size=[x + y for x, y in zip(size, pad_size)], pad_value=pad_value, keys="data")(data=data)["data"] + data = Pad(pad_size=[x + y for x, y in zip(size, pad_size)], pad_value=pad_value, keys=("data",))(data=data)["data"] return random_crop( data, size=size, From c6a484450639ad1526af96bc6deb843a2ec1afc0 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 19:49:18 -0500 Subject: [PATCH 35/53] adding batchviewer from nnUnet --- rising/viewer.py | 228 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 rising/viewer.py diff --git a/rising/viewer.py b/rising/viewer.py new file mode 100644 index 00000000..f24dee1c --- /dev/null +++ b/rising/viewer.py @@ -0,0 +1,228 @@ +# Copyright 2017 Fabian Isensee +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys + +import numpy as np +import pyqtgraph as pg +from pyqtgraph.Qt import QtCore, QtGui + + +class SliceViewer(QtGui.QWidget): + def __init__(self): + super(SliceViewer, self).__init__() + self.initUI() + + def wheelEvent(self, event): + for v in [self.imageViewer, self.imageViewer2]: + v.setSlice(v.getSlice() + event.delta() / 120) + + def initUI(self): + image1 = np.random.uniform(-0.5, 255.0, (100, 100, 100)).astype(np.float32) + image2 = np.random.uniform(-100.0, 255.0, (100, 100, 100)).astype(np.float32) + + self.imageViewer = ImageSlicingWidget() + self.imageViewer2 = ImageSlicingWidget() + + self.imageViewer.setImage(image1) + self.imageViewer2.setImage(image2) + + hLayout = QtGui.QHBoxLayout() + hLayout.addWidget(self.imageViewer) + hLayout.addWidget(self.imageViewer2) + hLayout.addStretch() + + self.setLayout(hLayout) + + # self.setGeometry(0, 0, 1200, 1200) + self.setWindowTitle("QtGui.QCheckBox") + + self.show() + + +class ImageViewer2DWidget(QtGui.QWidget): + def __init__(self, width=300, height=300): + QtGui.QWidget.__init__(self) + self.image = None + self.lut = None + self.init(width, height) + + def init(self, width, height): + self.rect = QtCore.QRect(0, 0, width, height) + self.imageItem = pg.ImageItem() + self.imageItem.setImage(None) + + self.graphicsScene = pg.GraphicsScene() + self.graphicsScene.addItem(self.imageItem) + + self.graphicsView = pg.GraphicsView() + self.graphicsView.setRenderHint(QtGui.QPainter.Antialiasing) + self.graphicsView.setScene(self.graphicsScene) + + layout = QtGui.QHBoxLayout() + layout.addWidget(self.graphicsView) + self.setLayout(layout) + self.setMaximumSize(width, height) + self.setMinimumSize(width - 10, height - 10) + + def setImage(self, image): + assert len(image.shape) == 2 or len(image.shape) == 3 + if len(image.shape) == 4: + assert image.shape[-1] == 4 + self.image = image + self.imageItem.setImage(self.image) + self.imageItem.setRect(self.rect) + if self.lut is not None: + self.imageItem.setLookupTable(self.lut) + + def setLevels(self, levels, update=True): + self.imageItem.setLevels(levels, update) + + def setLUT(self, lut): + self.lut = lut + + +class ImageSlicingWidget(ImageViewer2DWidget): + def __init__(self, width=300, height=300): + self.slice = 0 + ImageViewer2DWidget.__init__(self, width, height) + + def setImage(self, image): + assert len(image.shape) == 3 or len(image.shape) == 4 + if len(image.shape) == 4: + assert image.shape[-1] == 4 + self.image3D = np.array(image) + self._updateImageSlice() + + def _updateImageSlice(self): + self.imageItem.setImage(self.image3D[self.slice]) + self.imageItem.setRect(self.rect) + if self.lut is not None: + self.imageItem.setLookupTable(self.lut) + + def setSlice(self, slice): + slice = np.max((0, slice)) + slice = np.min((slice, self.image3D.shape[0] - 1)) + self.slice = slice + self._updateImageSlice() + + def getSlice(self): + return self.slice + + +class BatchViewer(QtGui.QWidget): + def __init__(self, parent=None, width=300, height=300): + QtGui.QWidget.__init__(self, parent) + self.batch = None + self.width = width + self.height = height + self.slicingWidgets = {} + self._init_gui() + + def setBatch(self, batch, lut={}): + assert len(batch.shape) == 4 + batch = np.copy(batch) + for v in self.slicingWidgets.values(): + self._my_layout.removeWidget(v) + self.slicingWidgets = {} + + if not isinstance(lut, dict): + lut = {i: lut for i in range(self.batch.shape[0])} + + for b in range(batch.shape[0]): + mn = batch[b].min() + mx = batch[b].max() + batch[b, :, 0, 0] = mn + batch[b, :, 0, 1] = mx + + self.batch = batch + num_col = int(np.ceil(np.sqrt(batch.shape[0]))) + col = 0 + row = 0 + for i in range(self.batch.shape[0]): + w = ImageSlicingWidget(self.width, self.height) + if lut is not None and i in lut.keys(): + w.setLUT(lut[i]) + w.setImage(self.batch[i]) + w.setLevels([self.batch[i].min(), self.batch[i].max()]) + w.setSlice(0) + self._my_layout.addWidget(w, row, col) + col += 1 + if col >= num_col: + col = 0 + row += 1 + self.slicingWidgets[i] = w + + def _init_gui(self): + self._my_layout = QtGui.QGridLayout() + self.slicingWidgets = {} + self.setLayout(self._my_layout) + self.setWindowTitle("Batch Viewer") + + def wheelEvent(self, QWheelEvent): + for v in self.slicingWidgets.values(): + offset = np.sign(QWheelEvent.angleDelta().y()) + v.setSlice(v.getSlice() + np.sign(offset)) + + +def view_batch(*args, width=300, height=300, lut={}): + use_these = args + if not isinstance(use_these, (np.ndarray, np.memmap)): + use_these = list(use_these) + for i in range(len(use_these)): + item = use_these[i] + try: + import torch + + if isinstance(item, torch.Tensor): + item = item.detach().cpu().numpy() + except ImportError: + pass + while len(item.shape) < 4: + item = item[None] + use_these[i] = item + use_these = np.concatenate(use_these, 0) + else: + while len(use_these.shape) < 4: + use_these = use_these[None] + + global app + app = QtGui.QApplication.instance() + if app is None: + app = QtGui.QApplication(sys.argv) + sv = BatchViewer(width=width, height=height) + sv.setBatch(use_these, lut) + sv.show() + app.exit(app.exec_()) + + +if __name__ == "__main__": + import matplotlib.pyplot as plt + + global app + app = QtGui.QApplication.instance() + if app is None: + app = QtGui.QApplication(sys.argv) + sv = BatchViewer() + batch = np.random.uniform(0, 3, (6, 100, 100, 100)).astype(int) + lut = { + 2: np.array([[0, 0.5, 0, 1], [0, 0, 0.5, 1], [0.5, 0, 0, 1], [0.5, 0.5, 0, 1]]) * 255, + 1: np.array([[1, 0.5, 0, 1], [0, 0, 0.5, 1], [0.5, 0, 0, 1], [0.5, 0.5, 0, 1]]) * 255, + } + sv.setBatch(batch, lut) + sv.show() + app.exec_() + app.deleteLater() + sys.exit() + # IPython.embed() From 6899fd11eaa45b1ba16ca5afe01a24db9688eb7a Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 20:11:44 -0500 Subject: [PATCH 36/53] enhanced riciannoise by adding keep_range parameter --- notebooks/medical_seg/acdc_seg.py | 15 +++++++++------ rising/transforms/__init__.py | 1 + rising/transforms/affine.py | 4 +++- rising/transforms/functional/intensity.py | 17 +++++++++++++---- rising/transforms/intensity.py | 17 ++++++++++++++--- 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/notebooks/medical_seg/acdc_seg.py b/notebooks/medical_seg/acdc_seg.py index e76f69f6..d3e23742 100644 --- a/notebooks/medical_seg/acdc_seg.py +++ b/notebooks/medical_seg/acdc_seg.py @@ -1,3 +1,4 @@ +import torch from tqdm import tqdm from unet_3d import UNet @@ -15,15 +16,17 @@ ) batch_augment = transforms.Compose( - # transforms.ToDtype(keys=("image", "label"), dtype=torch.half), + transforms.ToDtype(keys=("image", "label"), dtype=torch.half), # transforms.ToDevice(keys=("image", "label"), device=torch.device("cuda")), transforms.GammaCorrection(gamma=UniformParameter(0.8, 2), keys=("image",)), + transforms.RicianNoiseTransform(keys=("image",), std=0.05, keep_range=False), transforms.BaseAffine( - scale=(1, UniformParameter(0.8, 1.2), UniformParameter(0.9, 1.2)), - rotation=(0, UniformParameter(-10, 10), UniformParameter(-10, 50)), - translation=0, + scale=(1, UniformParameter(0.5, 2), UniformParameter(0.9, 1.2)), + rotation=(0, UniformParameter(-10, 10), UniformParameter(-10, 10)), + translation=(0.1, 0.1, 0.1), degree=True, p=0.5, + per_sample=True, interpolation_mode=("bilinear", "nearest"), keys=("image", "label"), ), @@ -45,7 +48,7 @@ sample_transforms=seq_tra_augment, gpu_transforms=batch_augment, pseudo_batch_dim=True, - num_workers=0, + num_workers=4, ) # val_loader = DataLoader(val_dataset, batch_size=1, shuffle=False, sample_transforms=seq_val_augment, # gpu_transforms=batch_augment, pseudo_batch_dim=True, num_workers=4) @@ -59,5 +62,5 @@ multi_slice_viewer_debug([*image.squeeze()], *label.squeeze(), block=True, no_contour=True) # image, label = image.to(torch.float), label.to(torch.float) # prediction = model(image) - # + # # # breakpoint() diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 4c9ff570..0d6ed834 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -53,6 +53,7 @@ RandomAddValue, RandomBezierTransform, RandomScaleValue, + RicianNoiseTransform, ) from rising.transforms.kernel import GaussianSmoothing, KernelTransform from rising.transforms.pad import Pad diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 0d2b51b5..94e6b180 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -457,12 +457,14 @@ def assemble_matrix(self, **data) -> torch.Tensor: return self.matrix def sample_for_batch_with_prob(self, name: str, batch_size: int, *, default_value: float, seed: int): + """ + sampling batch with self.p and self.per_sample + """ batch_element = self.sample_for_batch(name, batch_size) if batch_element is None: return batch_element with self.random_cxm(seed=int(seed)): if not self.per_sample: - assert not isinstance(batch_element, (list, tuple)) batch_element = batch_element if torch.rand(1) < self.p else default_value return batch_element elem_length = len(batch_element[0]) diff --git a/rising/transforms/functional/intensity.py b/rising/transforms/functional/intensity.py index 287e4cca..f027470c 100644 --- a/rising/transforms/functional/intensity.py +++ b/rising/transforms/functional/intensity.py @@ -340,8 +340,17 @@ def random_inversion( return out -def augment_rician_noise(data, std: float): - data = torch.sqrt((data + torch.randn_like(data) * std).pow(2) + (torch.randn_like(data) * std) ** 2) * torch.sign( - data - ) +def augment_rician_noise(data: torch.Tensor, std: float, keep_range=False): + """augment with rician noise + Args: + data:Tensor input data having dimension of BCHW(D) + std: the std of the noise, float + keep_range: if keep the image range, default False + """ + min_, max_ = data.min(), data.max() + data = torch.sqrt( + (data + torch.randn_like(data) * float(std)).pow(2) + (torch.randn_like(data) * float(std)) ** 2 + ) * torch.sign(data) + if keep_range: + data = clamp(data, min=min_, max=max_) return data diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index b95c1cd6..a1b6fd09 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -474,19 +474,24 @@ def __init__( ) -class RicianNoiseTransform(BaseTransformMixin, BaseTransform): +class RicianNoiseTransform(PerSampleTransformMixin, BaseTransform): def __init__( self, *, keys: Sequence[str], - grad: bool, + grad: bool = False, std: Union[float, AbstractParameter], + per_sample=True, p: float = 1, + keep_range: bool = True, ): """Adds rician noise with the given std. The Noise of MRI data tends to have a rician distribution: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2254141/ Args: std : Union[float, AbstractParameter], samples std of Gaussian distribution used to calculate + per_sample: if apply the noise per sample + p: the probability of applying the transform. + keep_range: if keep range of the image. CAREFUL: This transform will modify the value range of your data! adapted from batchgenerators: @@ -494,6 +499,12 @@ def __init__( """ super().__init__( - augment_fn=augment_rician_noise, p=p, keys=keys, grad=grad, augment_fn_names=("std",), per_sample=True + augment_fn=augment_rician_noise, + p=p, + keys=keys, + grad=grad, + augment_fn_names=("std", "keep_range"), + per_sample=per_sample, ) self.register_sampler("std", std) + self.keep_range = keep_range From c811311e56f42aabec45962cd4cc79670d2405a3 Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 20:26:08 -0500 Subject: [PATCH 37/53] improved kernel transform --- rising/transforms/kernel.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index 4badf108..aa946c03 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -184,7 +184,7 @@ def create_kernel(self) -> torch.Tensor: kernel *= 1 / (std * math.sqrt(2 * math.pi)) * torch.exp(-(((mgrid - mean) / std) ** 2) / 2) # Make sure sum of values in gaussian kernel equals 1. - kernel = kernel / kernel.sum() + kernel /= kernel.sum() # Reshape to depthwise convolutional weight kernel = kernel.view(1, 1, *kernel.size()) From 82720fb0f416c226324c8ece7f05dba20ded610d Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 20:30:15 -0500 Subject: [PATCH 38/53] adding a working sample for demo --- .pre-commit-config.yaml | 1 + .../medical_seg/data/train/patient001/Info.cfg | 6 ++++++ .../train/patient001/patient001_frame01.nii.gz | Bin 0 -> 551178 bytes .../patient001/patient001_frame01_gt.nii.gz | Bin 0 -> 6596 bytes .../train/patient001/patient001_frame12.nii.gz | Bin 0 -> 552456 bytes .../patient001/patient001_frame12_gt.nii.gz | Bin 0 -> 6017 bytes 6 files changed, 7 insertions(+) create mode 100644 notebooks/medical_seg/data/train/patient001/Info.cfg create mode 100644 notebooks/medical_seg/data/train/patient001/patient001_frame01.nii.gz create mode 100644 notebooks/medical_seg/data/train/patient001/patient001_frame01_gt.nii.gz create mode 100644 notebooks/medical_seg/data/train/patient001/patient001_frame12.nii.gz create mode 100644 notebooks/medical_seg/data/train/patient001/patient001_frame12_gt.nii.gz diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2efc27cf..24363611 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,6 +19,7 @@ repos: - id: pretty-format-json - id: check-added-large-files exclude: .*\.ipynb + args: ['--maxkb=1000'] - id: check-docstring-first - id: detect-private-key diff --git a/notebooks/medical_seg/data/train/patient001/Info.cfg b/notebooks/medical_seg/data/train/patient001/Info.cfg new file mode 100644 index 00000000..70809255 --- /dev/null +++ b/notebooks/medical_seg/data/train/patient001/Info.cfg @@ -0,0 +1,6 @@ +ED: 1 +ES: 12 +Group: DCM +Height: 184.0 +NbFrame: 30 +Weight: 95.0 diff --git a/notebooks/medical_seg/data/train/patient001/patient001_frame01.nii.gz b/notebooks/medical_seg/data/train/patient001/patient001_frame01.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..9ba4d2b2488dcf7c139e60a87078a976b8ba3207 GIT binary patch literal 551178 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�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�% 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

=zoQrIAJ~_>ZS@2^;}FIwo%r3+dKuPh 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]^{X--hgU;H(b> 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

@NU)l)w!F-+`~EsjwxHyKUZJhiiPimd~Js3 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�k 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%0AW0c(Rw<27s3R&G-H* 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%0Ah4A-M{~ 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௫h-QQ-uQ-il{1dLS+Rsx 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ΠnIh3cEpWadGb&wL|V$|#~` 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 literal 0 HcmV?d00001 diff --git a/notebooks/medical_seg/data/train/patient001/patient001_frame01_gt.nii.gz b/notebooks/medical_seg/data/train/patient001/patient001_frame01_gt.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..dea134d841f7a646bf58edff15e19bab8723a60c GIT binary patch literal 6596 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 literal 0 HcmV?d00001 diff --git a/notebooks/medical_seg/data/train/patient001/patient001_frame12.nii.gz b/notebooks/medical_seg/data/train/patient001/patient001_frame12.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..d1f5d11b56f63d97c56b73bd6a50677b497f8cca GIT binary patch literal 552456 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 z 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 z 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 (X*ia=(tT>5VQNiGDi< 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%0D27RVr`?EZbCi}%!3&<6I0_~=CQO>BS6S*4hQp$ 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%0DjQs(bLCYR9yM{qlV(}8&S4`UR) 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ʶ%Fj_*c*~$+@jp#aiSA{o}Kolr%#ww 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 literal 0 HcmV?d00001 diff --git a/notebooks/medical_seg/data/train/patient001/patient001_frame12_gt.nii.gz b/notebooks/medical_seg/data/train/patient001/patient001_frame12_gt.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..55fa377354a1514e69a369f2e82c131cd0a79db2 GIT binary patch literal 6017 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 literal 0 HcmV?d00001 From 9d80fa21403719dc88e3b72625364497f5945dec Mon Sep 17 00:00:00 2001 From: jizong Date: Wed, 24 Nov 2021 20:43:29 -0500 Subject: [PATCH 39/53] adding a working sample on acdc dataset --- notebooks/medical_seg/acdc_seg.py | 41 ++++++++++++++----------------- notebooks/medical_seg/dataset.py | 36 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 22 deletions(-) diff --git a/notebooks/medical_seg/acdc_seg.py b/notebooks/medical_seg/acdc_seg.py index d3e23742..c5a8a447 100644 --- a/notebooks/medical_seg/acdc_seg.py +++ b/notebooks/medical_seg/acdc_seg.py @@ -1,36 +1,39 @@ -import torch from tqdm import tqdm -from unet_3d import UNet -from notebooks.medical_seg.dataset import ACDCDataset +from notebooks.medical_seg.dataset import ACDCDataset, InfiniteRandomSampler from rising import transforms +from rising.constants import FInterpolation from rising.loading import DataLoader, default_transform_call from rising.random import UniformParameter tra_dataset = ACDCDataset(root="/home/jizong/Workspace/rising/notebooks/medical_seg/data", train=True) -val_dataset = ACDCDataset(root="/home/jizong/Workspace/rising/notebooks/medical_seg/data", train=False) seq_tra_augment = transforms.Compose( transforms.NormPercentile(keys=("image",), min=0.02, max=0.98), - transforms.PadRandomCrop(size=(15, 224, 224), pad_size=2, pad_value=(0, 0), keys=("image", "label")), + transforms.ResizeNative( + size=(10, 224, 224), + mode=(FInterpolation.trilinear, FInterpolation.nearest), + preserve_range=True, + keys=("image", "label"), + ), + # transforms.PadRandomCrop(size=(10, 224, 224), pad_size=2, pad_value=(0, 0), keys=("image", "label")), ) batch_augment = transforms.Compose( - transforms.ToDtype(keys=("image", "label"), dtype=torch.half), + # transforms.ToDtype(keys=("image", "label"), dtype=torch.half), # transforms.ToDevice(keys=("image", "label"), device=torch.device("cuda")), transforms.GammaCorrection(gamma=UniformParameter(0.8, 2), keys=("image",)), transforms.RicianNoiseTransform(keys=("image",), std=0.05, keep_range=False), transforms.BaseAffine( scale=(1, UniformParameter(0.5, 2), UniformParameter(0.9, 1.2)), rotation=(0, UniformParameter(-10, 10), UniformParameter(-10, 10)), - translation=(0.1, 0.1, 0.1), degree=True, - p=0.5, + p=1, per_sample=True, interpolation_mode=("bilinear", "nearest"), keys=("image", "label"), ), - transforms.RandomCrop(size=(10, 192, 168), keys=("image", "label")), + transforms.RandomCrop(size=(8, 192, 168), keys=("image", "label")), transforms.ElasticDistortion( std=20, alpha=0.2, @@ -43,24 +46,18 @@ tra_loader = DataLoader( tra_dataset, + sampler=InfiniteRandomSampler(tra_dataset, shuffle=False), batch_size=6, - shuffle=True, sample_transforms=seq_tra_augment, gpu_transforms=batch_augment, pseudo_batch_dim=True, - num_workers=4, + num_workers=16, ) -# val_loader = DataLoader(val_dataset, batch_size=1, shuffle=False, sample_transforms=seq_val_augment, -# gpu_transforms=batch_augment, pseudo_batch_dim=True, num_workers=4) -model = UNet(in_dim=1, out_dim=4, num_filters=4) -model.cuda() for data in tqdm(tra_loader): image, label = data["image"], data["label"] - from tests.realtime_viewer import multi_slice_viewer_debug - - multi_slice_viewer_debug([*image.squeeze()], *label.squeeze(), block=True, no_contour=True) - # image, label = image.to(torch.float), label.to(torch.float) - # prediction = model(image) - # # - # breakpoint() + # from tests.realtime_viewer import multi_slice_viewer_debug + # + # for img, lab in zip(image, label): + # multi_slice_viewer_debug(img.squeeze(), lab.squeeze(), block=False, no_contour=True) + # plt.show() diff --git a/notebooks/medical_seg/dataset.py b/notebooks/medical_seg/dataset.py index 65ec1e61..c25520b7 100644 --- a/notebooks/medical_seg/dataset.py +++ b/notebooks/medical_seg/dataset.py @@ -1,9 +1,11 @@ import re +from collections import Iterator from pathlib import Path import numpy as np import SimpleITK as sitk import torch +from torch.utils.data import Sampler from torch.utils.data.dataset import Dataset, T_co @@ -34,3 +36,37 @@ def image_filter(path: str): if _match is None: return False return True + + +class _InfiniteRandomIterator(Iterator): + def __init__(self, data_source, shuffle=True): + self.data_source = data_source + self.shuffle = shuffle + if self.shuffle: + self.iterator = iter(torch.randperm(len(self.data_source)).tolist()) + else: + self.iterator = iter(torch.arange(start=0, end=len(self.data_source)).tolist()) + + def __next__(self): + try: + idx = next(self.iterator) + except StopIteration: + if self.shuffle: + self.iterator = iter(torch.randperm(len(self.data_source)).tolist()) + else: + self.iterator = iter(torch.arange(start=0, end=len(self.data_source)).tolist()) + idx = next(self.iterator) + return idx + + +class InfiniteRandomSampler(Sampler): + def __init__(self, data_source, shuffle=True): + super().__init__(data_source) + self.data_source = data_source + self.shuffle = shuffle + + def __iter__(self): + return _InfiniteRandomIterator(self.data_source, shuffle=self.shuffle) + + def __len__(self): + return len(self.data_source) From e34125b3118f43a6519e12728d467e88e442de1e Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 26 Nov 2021 15:03:48 -0500 Subject: [PATCH 40/53] adding acdc dataset example for readme --- README.md | 20 +++++++++++++------- notebooks/medical_seg/acdc_seg.py | 5 ++++- tests/realtime_viewer.py | 6 +++--- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ab5a9722..7e5e0a52 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,19 @@ | ![Python](https://img.shields.io/badge/python-3.6/3.7/3.8-orange) | ![System](https://img.shields.io/badge/Windows-blue) | ![Unittests Windows](https://github.com/PhoenixDL/rising/workflows/Unittests%20Windows/badge.svg) | | ![Python](https://img.shields.io/badge/python-3.6/3.7/3.8-orange) | ![System](https://img.shields.io/badge/MacOS-blue) | ![Unittests macOS](https://github.com/PhoenixDL/rising/workflows/Unittests%20MacOS/badge.svg) | +## What I have modified from the original repo? + +I noticed that rising under its current form has small bugs and inconsistency in terms of design and performance, especially for medical image segmentation task with 3D volumes. Based on project requirement, several improvements have been made so that it can now enjoy a better compatibility with 3D datas and intenstive augmentation operations using GPUs. Issues and PRs are welcome. + +Thanks a lot @Yuxiang1990 for the kind PR. + +## Working example on ACDC dataset + +[ACDC example](notebooks/medical_seg/acdc_seg.py) should provide a resonable example of how to use rising besides the below +explanations. + +______________________________________________________________________ + ## What is `rising`? Rising is a high-performance data loading and augmentation library for 2D *and* 3D data completely written in PyTorch. @@ -27,13 +40,6 @@ Multiple examples for different use cases can be found in our [tutorial docs](ht [Example Transformation Output](https://rising.readthedocs.io/en/latest/transformations.html), [Integration of External Frameworks](https://rising.readthedocs.io/en/latest/external_augmentation.html) -## What I have modified from the original repo? - -I noticed that rising under its current form has small bugs and inconsistency in terms of design and performance, especially for medical image segmentation task with 3D volumes. Based on project requirement, several improvements have been made so that it can now enjoy a better compatibility with 3D datas and intenstive augmentation operations using GPUs. Issues and PRs are welcome. - -Thanks a lot @Yuxiang1990 for the kind PR. - - ## Why another framework? | | rising | TorchIO | Batchgenerators | Kornia | DALI | Vanilla PyTorch | Albumentations | diff --git a/notebooks/medical_seg/acdc_seg.py b/notebooks/medical_seg/acdc_seg.py index c5a8a447..0f05d5e5 100644 --- a/notebooks/medical_seg/acdc_seg.py +++ b/notebooks/medical_seg/acdc_seg.py @@ -25,7 +25,7 @@ transforms.GammaCorrection(gamma=UniformParameter(0.8, 2), keys=("image",)), transforms.RicianNoiseTransform(keys=("image",), std=0.05, keep_range=False), transforms.BaseAffine( - scale=(1, UniformParameter(0.5, 2), UniformParameter(0.9, 1.2)), + scale=(1, UniformParameter(0.5, 4), UniformParameter(0.9, 1.2)), rotation=(0, UniformParameter(-10, 10), UniformParameter(-10, 10)), degree=True, p=1, @@ -56,6 +56,9 @@ for data in tqdm(tra_loader): image, label = data["image"], data["label"] + from tests.realtime_viewer import multi_slice_viewer_debug + + multi_slice_viewer_debug([*image.squeeze()], *label.squeeze(), block=True, no_contour=True) # from tests.realtime_viewer import multi_slice_viewer_debug # # for img, lab in zip(image, label): diff --git a/tests/realtime_viewer.py b/tests/realtime_viewer.py index 55138085..e3ad1235 100644 --- a/tests/realtime_viewer.py +++ b/tests/realtime_viewer.py @@ -92,7 +92,7 @@ def previous_slice(ax): else: ax.con.remove() ax.con = ax.imshow(ax.gt_volume[ax.index], alpha=alpha, cmap="rainbow") - ax.set_title(f"plane = {ax.index}") + # ax.set_title(f"plane = {ax.index}") def next_slice(ax): img_volume = ax.img_volume @@ -107,7 +107,7 @@ def next_slice(ax): else: ax.con.remove() ax.con = ax.imshow(ax.gt_volume[ax.index], alpha=alpha, cmap="rainbow") - ax.set_title(f"plane = {ax.index}") + # ax.set_title(f"plane = {ax.index}") try: import matplotlib @@ -147,7 +147,7 @@ def next_slice(ax): except Exception as e: pass ax.axis("off") - ax.set_title(f"plane = {ax.index}") + # ax.set_title(f"plane = {ax.index}") fig.canvas.mpl_connect("key_press_event", process_key) fig.canvas.mpl_connect("scroll_event", process_mouse_wheel) From bf70e2a71628709348a2fe8167edc762573bf4d8 Mon Sep 17 00:00:00 2001 From: jizong Date: Mon, 29 Nov 2021 15:05:27 -0500 Subject: [PATCH 41/53] fixed bugs on affine based transformation --- rising/transforms/affine.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 94e6b180..5cd2ac1c 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -540,7 +540,6 @@ def __init__( scale=None, rotation=rotation, translation=None, - matrix=None, keys=keys, grad=grad, degree=degree, @@ -620,7 +619,6 @@ def __init__( scale=None, rotation=None, translation=translation, - matrix=None, keys=keys, grad=grad, degree=False, @@ -724,7 +722,6 @@ def __init__( scale=scale, rotation=None, translation=None, - matrix=None, keys=keys, grad=grad, degree=False, From b44b2c400b83619c7249b1c881d299bf4ae10089 Mon Sep 17 00:00:00 2001 From: Justus Schock <12886177+justusschock@users.noreply.github.com> Date: Mon, 20 Dec 2021 14:36:35 +0100 Subject: [PATCH 42/53] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a2b073d5..237747c2 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ![PyPI - License](https://img.shields.io/pypi/l/rising) [![Chat](https://img.shields.io/badge/Slack-PhoenixDL-orange)](https://join.slack.com/t/phoenixdl/shared_invite/enQtODgwODI0MTE1MjgzLTJkZDE4N2NhM2VmNzVhYTEyMzI3NzFmMDY0NjM3MzJlZWRmMTk5ZWM1YzY2YjY5ZGQ1NWI1YmJmOTdiYTdhYTE) [![Documentation Status](https://readthedocs.org/projects/rising/badge/?version=latest)](https://rising.readthedocs.io/en/latest/?badge=latest) -[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/PhoenixDL/rising/master.svg)](https://results.pre-commit.ci/latest/github/PhoenixDL/rising/master) +[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/PhoenixDL/rising/master.svg)](https://results.pre-commit.ci/latest/github/PhoenixDL/rising/master)[![DOI](https://zenodo.org/badge/222287924.svg)](https://zenodo.org/badge/latestdoi/222287924) From 1fccc3a2f9d582d3aae582b4b5161ec31fcb317f Mon Sep 17 00:00:00 2001 From: Justus Schock <12886177+justusschock@users.noreply.github.com> Date: Mon, 20 Dec 2021 14:47:13 +0100 Subject: [PATCH 43/53] Create CITATION.cff --- CITATION.cff | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..d55056eb --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,16 @@ +cff-version: 1.1.0 +message: "If you use this software, please cite it as below." +authors: + - family-names: Schock + given-names: Justus + orcid: https://orcid.org/0000-0003-0512-3053 + affiliation: "Contributed Equally" + - family-names: Baumgartner + given-names: Michael + affiliation: "Contributed Equally" + - family-names: Weninger + given-names: Leon + +title: PhoenixDL/rising: High-Performance Differentiable Medical Data Augmentation +date-released: 2017-12-18 + From 6de193375dcaac35605163c35cec259c9a2116d1 Mon Sep 17 00:00:00 2001 From: Justus Schock <12886177+justusschock@users.noreply.github.com> Date: Mon, 20 Dec 2021 15:55:56 +0100 Subject: [PATCH 44/53] Update CITATION.cff --- CITATION.cff | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d55056eb..d245c58f 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,16 +1,18 @@ -cff-version: 1.1.0 -message: "If you use this software, please cite it as below." +cff-version: 1.2.0 +title: >- + PhoenixDL/rising: High-Performance Differentiable + Medical Data Augmentation +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software authors: - - family-names: Schock - given-names: Justus - orcid: https://orcid.org/0000-0003-0512-3053 - affiliation: "Contributed Equally" - - family-names: Baumgartner - given-names: Michael - affiliation: "Contributed Equally" - - family-names: Weninger - given-names: Leon - -title: PhoenixDL/rising: High-Performance Differentiable Medical Data Augmentation -date-released: 2017-12-18 - + - given-names: Justus + family-names: Schock + affiliation: Contributed Equally + orcid: 'https://orcid.org/0000-0003-0512-3053' + - given-names: Michael + family-names: Baumgartner + affiliation: Contributed Equally + - given-names: Leon + family-names: Weninger From 982aeef119ad025c8d32e40f4c3bf5c01d85f2dc Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 15 Apr 2022 17:09:29 -0400 Subject: [PATCH 45/53] fixed import error for python==3.7 --- rising/transforms/abstract.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index ee418075..d0dad279 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -1,5 +1,10 @@ from abc import ABC, abstractmethod -from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union, final + +try: + from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union, final +except ImportError: + from typing import Any, Callable, Dict, List, Optional, Sequence, TypeVar, Union + from typing_extensions import final import torch from torch import nn From e88ffd54264879b20ea46757c876c071fb89c98f Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 15 Apr 2022 17:09:43 -0400 Subject: [PATCH 46/53] fixed sitk function --- rising/transforms/sitk.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index f0a2a32c..b9cd4a90 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -70,7 +70,7 @@ class SITKWindows(_ITKTransform, BaseTransform): """ def __init__(self, low: IntNumType, high: IntNumType, *, keys: Sequence[str] = ("data",), **kwargs): - super().__init__(itk_clip, keys=keys, grad=False, property_names=("low", "high"), low=low, high=high, **kwargs) + super().__init__(augment_fn=itk_clip, keys=keys, grad=False, property_names=("low", "high"), low=low, high=high, **kwargs) def forward(self, **data) -> dict: kwargs = {} @@ -104,7 +104,7 @@ def __init__( dtype: tensor's dtype insert_dim: type: int, if you need to expand the tensor given specific dimension, default None, """ - super().__init__(itk2tensor, keys=keys, grad=grad, **kwargs) + super().__init__(augment_fn=itk2tensor, keys=keys, grad=grad, **kwargs) self.dtype = self.tuple_generator(dtype) self.insert_dim = insert_dim From 55f3852dd16e44a2534a7cd47c2927e9a722f549 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 15 Apr 2022 17:12:25 -0400 Subject: [PATCH 47/53] changed np.float32 to float --- notebooks/medical_seg/dataset.py | 4 ++-- rising/transforms/functional/sitk.py | 2 +- rising/viewer.py | 4 ++-- tests/transforms/test_affine_transform.py | 2 +- tests/transforms/test_spatial_transforms.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/notebooks/medical_seg/dataset.py b/notebooks/medical_seg/dataset.py index c25520b7..b37db2a0 100644 --- a/notebooks/medical_seg/dataset.py +++ b/notebooks/medical_seg/dataset.py @@ -23,8 +23,8 @@ def __init__(self, *, root: str, train: bool = True) -> None: def __getitem__(self, index) -> T_co: image_path = str(self._root / self.images[index]) gt_path = image_path.replace(".nii.gz", "_gt.nii.gz") - image = sitk.GetArrayFromImage(sitk.ReadImage(image_path)).astype(np.float32, copy=False)[None, ...] - gt = sitk.GetArrayFromImage(sitk.ReadImage(gt_path)).astype(np.float32, copy=False)[None, ...] + image = sitk.GetArrayFromImage(sitk.ReadImage(image_path)).astype(float, copy=False)[None, ...] + gt = sitk.GetArrayFromImage(sitk.ReadImage(gt_path)).astype(float, copy=False)[None, ...] return {"image": torch.from_numpy(image), "label": torch.from_numpy(gt)} def __len__(self): diff --git a/rising/transforms/functional/sitk.py b/rising/transforms/functional/sitk.py index 46e3e02a..0d045862 100644 --- a/rising/transforms/functional/sitk.py +++ b/rising/transforms/functional/sitk.py @@ -50,5 +50,5 @@ def itk_clip(image: sitk.Image, low: int, high: int) -> sitk.Image: def itk2tensor(image: sitk.Image, *, dtype=torch.float): - np_array = sitk.GetArrayFromImage(image).astype(np.float32, copy=False) + np_array = sitk.GetArrayFromImage(image).astype(float, copy=False) return torch.from_numpy(np_array).to(dtype)[None, ...] diff --git a/rising/viewer.py b/rising/viewer.py index f24dee1c..ca098c81 100644 --- a/rising/viewer.py +++ b/rising/viewer.py @@ -29,8 +29,8 @@ def wheelEvent(self, event): v.setSlice(v.getSlice() + event.delta() / 120) def initUI(self): - image1 = np.random.uniform(-0.5, 255.0, (100, 100, 100)).astype(np.float32) - image2 = np.random.uniform(-100.0, 255.0, (100, 100, 100)).astype(np.float32) + image1 = np.random.uniform(-0.5, 255.0, (100, 100, 100)).astype(float) + image2 = np.random.uniform(-100.0, 255.0, (100, 100, 100)).astype(float) self.imageViewer = ImageSlicingWidget() self.imageViewer2 = ImageSlicingWidget() diff --git a/tests/transforms/test_affine_transform.py b/tests/transforms/test_affine_transform.py index 2c43bcc9..e8b6d4b9 100644 --- a/tests/transforms/test_affine_transform.py +++ b/tests/transforms/test_affine_transform.py @@ -19,7 +19,7 @@ def setUp(self) -> None: def load_nii_data(self, path): return torch.from_numpy( - sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(np.float32, copy=False) + sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(float, copy=False) ).unsqueeze(1) def test_affine(self): diff --git a/tests/transforms/test_spatial_transforms.py b/tests/transforms/test_spatial_transforms.py index 5e36ea2e..89fac265 100644 --- a/tests/transforms/test_spatial_transforms.py +++ b/tests/transforms/test_spatial_transforms.py @@ -24,7 +24,7 @@ def setUp(self) -> None: def load_nii_data(self, path): return torch.from_numpy( - sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(np.float32, copy=False) + sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(float32, copy=False) ).unsqueeze(1) def test_mirror_transform(self): From 8b422940d27d34f205ee06a87c7b7403d45b868c Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 15 Apr 2022 17:19:30 -0400 Subject: [PATCH 48/53] rename type_item_seq to ItemSeq --- rising/transforms/abstract.py | 16 ++++++------- rising/transforms/affine.py | 44 +++++++++++++++++----------------- rising/transforms/grid.py | 20 ++++++++-------- rising/transforms/intensity.py | 18 +++++++------- rising/transforms/kernel.py | 18 +++++++------- rising/transforms/pad.py | 6 ++--- rising/transforms/sitk.py | 6 ++--- rising/transforms/spatial.py | 18 +++++++------- 8 files changed, 73 insertions(+), 73 deletions(-) diff --git a/rising/transforms/abstract.py b/rising/transforms/abstract.py index d0dad279..629045ca 100644 --- a/rising/transforms/abstract.py +++ b/rising/transforms/abstract.py @@ -12,21 +12,21 @@ from rising.random import AbstractParameter, DiscreteParameter from rising.utils.mise import fix_seed_cxm, ntuple, nullcxm -T = TypeVar("T") -TYPE_item_seq = Union[T, Sequence[T]] - -augment_callable = Callable[..., Any] -augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] - __all__ = [ "_AbstractTransform", - "TYPE_item_seq", + "ItemSeq", "BaseTransform", "PerChannelTransformMixin", "PerSampleTransformMixin", "BaseTransformMixin", ] +T = TypeVar("T") +ItemSeq = Union[T, Sequence[T]] + +augment_callable = Callable[..., Any] +augment_axis_callable = Callable[[torch.Tensor, Union[float, Sequence]], Any] + class _AbstractTransform(nn.Module): """Base class for all transforms""" @@ -232,7 +232,7 @@ def sample_for_batch(self, name: str, batch_size: int) -> Optional[Union[Any, Se else: return elem # either a single scalar value or None - def register_paired_attribute(self, name: str, value: TYPE_item_seq[T]): + def register_paired_attribute(self, name: str, value: ItemSeq[T]): if name in self._paired_kw_names: raise ValueError(f"{name} has been registered in self._pair_kwarg_names") if name not in self._augment_fn_names: diff --git a/rising/transforms/affine.py b/rising/transforms/affine.py index 5cd2ac1c..4c95e762 100644 --- a/rising/transforms/affine.py +++ b/rising/transforms/affine.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, TYPE_item_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ItemSeq from rising.transforms.functional.affine import AffineParamType, affine_image_transform, parametrize_matrix from rising.utils.affine import matrix_to_cartesian, matrix_to_homogeneous from rising.utils.checktype import check_scalar @@ -30,9 +30,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, reverse_order: bool = False, per_sample: bool = True, ): @@ -232,9 +232,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, reverse_order: bool = False, per_sample=True, ): @@ -332,9 +332,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[Optional[bool]] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[Optional[bool]] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -494,9 +494,9 @@ def __init__( degree: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -569,9 +569,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, unit: str = "pixel", reverse_order: bool = False, per_sample: bool = True, @@ -667,9 +667,9 @@ def __init__( grad: bool = False, output_size: Optional[tuple] = None, adjust_size: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, reverse_order: bool = False, per_sample: bool = True, p: float = 1, @@ -743,9 +743,9 @@ def __init__( size: Union[int, Tuple[int]], keys: Sequence[str] = ("data",), grad: bool = False, - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, reverse_order: bool = False, **kwargs, ): diff --git a/rising/transforms/grid.py b/rising/transforms/grid.py index fde57209..7b9d5db3 100644 --- a/rising/transforms/grid.py +++ b/rising/transforms/grid.py @@ -6,7 +6,7 @@ from torch.nn import functional as F from rising.random.utils import fix_random_seed_ctx -from rising.transforms.abstract import TYPE_item_seq, _AbstractTransform +from rising.transforms.abstract import ItemSeq, _AbstractTransform from rising.transforms.functional import center_crop, random_crop from rising.transforms.kernel import GaussianSmoothing from rising.utils.affine import get_batched_eye, matrix_to_homogeneous @@ -30,9 +30,9 @@ class GridTransform(_AbstractTransform): def __init__( self, keys: Sequence[str] = ("data",), - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, grad: bool = False, **kwargs, ): @@ -179,9 +179,9 @@ def __init__( alpha: float, dim: int = 2, keys: Sequence[str] = ("data",), - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, grad: bool = False, per_sample: bool = True, **kwargs, @@ -226,9 +226,9 @@ def __init__( self, scale: Tuple[float, float, float], keys: Sequence[str] = ("data",), - interpolation_mode: TYPE_item_seq[str] = "bilinear", - padding_mode: TYPE_item_seq[str] = "zeros", - align_corners: TYPE_item_seq[bool] = False, + interpolation_mode: ItemSeq[str] = "bilinear", + padding_mode: ItemSeq[str] = "zeros", + align_corners: ItemSeq[bool] = False, grad: bool = False, **kwargs, ): diff --git a/rising/transforms/intensity.py b/rising/transforms/intensity.py index a1b6fd09..80a9c07c 100644 --- a/rising/transforms/intensity.py +++ b/rising/transforms/intensity.py @@ -6,7 +6,7 @@ BaseTransformMixin, PerChannelTransformMixin, PerSampleTransformMixin, - TYPE_item_seq, + ItemSeq, augment_callable, ) from rising.transforms.functional.intensity import ( @@ -50,8 +50,8 @@ class Clamp(BaseTransformMixin, BaseTransform): def __init__( self, - min: TYPE_item_seq[Union[float, AbstractParameter]], - max: TYPE_item_seq[Union[float, AbstractParameter]], + min: ItemSeq[Union[float, AbstractParameter]], + max: ItemSeq[Union[float, AbstractParameter]], keys: Sequence = ("data",), grad: bool = False, ): @@ -76,8 +76,8 @@ def __init__( class NormRange(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: TYPE_item_seq[Union[float, AbstractParameter]], - max: TYPE_item_seq[Union[float, AbstractParameter]], + min: ItemSeq[Union[float, AbstractParameter]], + max: ItemSeq[Union[float, AbstractParameter]], keys: Sequence = ("data",), per_channel: bool = True, per_sample=True, @@ -109,8 +109,8 @@ class NormPercentile(PerSampleTransformMixin, BaseTransform): def __init__( self, - min: TYPE_item_seq[Union[float, AbstractParameter]], - max: TYPE_item_seq[Union[float, AbstractParameter]], + min: ItemSeq[Union[float, AbstractParameter]], + max: ItemSeq[Union[float, AbstractParameter]], keys: Sequence[str] = ("data",), grad: bool = False, per_channel: bool = True, @@ -206,8 +206,8 @@ class NormMeanStd(PerSampleTransformMixin, BaseTransform): def __init__( self, - mean: TYPE_item_seq[Union[float, Sequence[float]]], - std: TYPE_item_seq[Union[float, Sequence[float]]], + mean: ItemSeq[Union[float, Sequence[float]]], + std: ItemSeq[Union[float, Sequence[float]]], keys: Sequence[str] = ("data",), per_channel: bool = True, per_sample=True, diff --git a/rising/transforms/kernel.py b/rising/transforms/kernel.py index aa946c03..72562018 100644 --- a/rising/transforms/kernel.py +++ b/rising/transforms/kernel.py @@ -7,7 +7,7 @@ from rising.utils import check_scalar from rising.utils.mise import ntuple -from .abstract import TYPE_item_seq, _AbstractTransform +from .abstract import ItemSeq, _AbstractTransform __all__ = ["KernelTransform", "GaussianSmoothing"] @@ -21,10 +21,10 @@ class KernelTransform(_AbstractTransform): def __init__( self, in_channels: int, - kernel_size: TYPE_item_seq[int], + kernel_size: ItemSeq[int], dim: int = 2, - stride: TYPE_item_seq[int] = 1, - padding: TYPE_item_seq[int] = 0, + stride: ItemSeq[int] = 1, + padding: ItemSeq[int] = 0, padding_mode: str = "zero", keys: Sequence[str] = ("data",), grad: bool = False, @@ -129,12 +129,12 @@ class GaussianSmoothing(KernelTransform): def __init__( self, in_channels: int, - kernel_size: TYPE_item_seq[int], - std: TYPE_item_seq[float], + kernel_size: ItemSeq[int], + std: ItemSeq[float], dim: int = 2, - stride: TYPE_item_seq[int] = 1, - padding: TYPE_item_seq[int] = 0, - padding_mode: TYPE_item_seq[str] = "constant", + stride: ItemSeq[int] = 1, + padding: ItemSeq[int] = 0, + padding_mode: ItemSeq[str] = "constant", keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/pad.py b/rising/transforms/pad.py index dd414d6f..62ce6c7f 100644 --- a/rising/transforms/pad.py +++ b/rising/transforms/pad.py @@ -2,7 +2,7 @@ import torch -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, TYPE_item_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, ItemSeq from rising.transforms.functional.pad import pad as _pad from rising.utils.mise import ntuple @@ -11,9 +11,9 @@ class Pad(BaseTransformMixin, BaseTransform): def __init__( self, *, - pad_size: TYPE_item_seq[int], + pad_size: ItemSeq[int], mode: str = "constant", - pad_value: TYPE_item_seq[float], + pad_value: ItemSeq[float], keys: Sequence[str] = ("data",), grad: bool = False, **kwargs diff --git a/rising/transforms/sitk.py b/rising/transforms/sitk.py index b9cd4a90..2e7224da 100644 --- a/rising/transforms/sitk.py +++ b/rising/transforms/sitk.py @@ -3,7 +3,7 @@ import torch from rising.random.abstract import AbstractParameter -from rising.transforms.abstract import BaseTransform, TYPE_item_seq +from rising.transforms.abstract import BaseTransform, ItemSeq from rising.transforms.functional.sitk import itk2tensor, itk_clip, itk_resample SpacingParamType = Union[ @@ -33,7 +33,7 @@ def __init__( *, pad_value: Union[int, float], keys: Sequence = ("data",), - interpolation: TYPE_item_seq[str] = "nearest", + interpolation: ItemSeq[str] = "nearest", ): """ resample simpleitk image given new spacing and padding value @@ -93,7 +93,7 @@ def __init__( self, *, keys: Sequence = ("data",), - dtype: TYPE_item_seq[torch.dtype] = torch.float, + dtype: ItemSeq[torch.dtype] = torch.float, insert_dim: int = None, grad: bool = False, **kwargs, diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 3f502091..26b66723 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -5,7 +5,7 @@ from torch.multiprocessing import Value from rising.random import AbstractParameter, DiscreteParameter -from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, TYPE_item_seq +from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, ItemSeq from rising.transforms.functional import mirror, resize_native, rot90 __all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] @@ -21,7 +21,7 @@ class Mirror(PerSampleTransformMixin, BaseTransform): def __init__( self, *, - dims=TYPE_item_seq[Union[int, DiscreteParameter]], + dims=ItemSeq[Union[int, DiscreteParameter]], p_sample: float = 0.5, keys: Sequence[str] = ("data",), grad: bool = False, @@ -51,7 +51,7 @@ class Rot90(PerSampleTransformMixin, BaseTransform): def __init__( self, - dims: TYPE_item_seq[Union[Sequence[int], DiscreteParameter]], + dims: ItemSeq[Union[Sequence[int], DiscreteParameter]], keys: Sequence[str] = ("data",), num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), p_sample: float = 0.5, @@ -96,8 +96,8 @@ class ResizeNative(BaseTransformMixin, BaseTransform): def __init__( self, size: Union[int, Sequence[int]], - mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, - align_corners: TYPE_item_seq[bool] = None, + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -142,8 +142,8 @@ class Zoom(BaseTransformMixin, BaseTransform): def __init__( self, scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, - align_corners: TYPE_item_seq[bool] = None, + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[bool] = None, preserve_range: bool = False, keys: Sequence[str] = ("data",), grad: bool = False, @@ -190,8 +190,8 @@ class ProgressiveResize(ResizeNative): def __init__( self, scheduler: scheduler_type, - mode: TYPE_item_seq[FInterpolation] = FInterpolation.nearest, - align_corners: TYPE_item_seq[Optional[bool]] = None, + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[Optional[bool]] = None, preserve_range: bool = False, keys: Sequence = ("data",), grad: bool = False, From ed00bfa6968dcf7d8947ea3e4c61632e6dd37d0a Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Apr 2022 15:47:45 -0400 Subject: [PATCH 49/53] adding default collate to automatic gpu compose --- rising/loading/loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rising/loading/loader.py b/rising/loading/loader.py index 5f9e8462..b018d460 100644 --- a/rising/loading/loader.py +++ b/rising/loading/loader.py @@ -199,7 +199,7 @@ def __init__( keys = get_keys_from_transforms(gpu_transforms) to_gpu_trafo = ToDevice(device=device, non_blocking=pin_memory, keys=keys) - gpu_transforms = Compose(to_gpu_trafo, gpu_transforms) + gpu_transforms = Compose(to_gpu_trafo, gpu_transforms, transform_call=default_transform_call) gpu_transforms = gpu_transforms.to(device) # check the dtype from the gpu compose From f75f6a5a8cd94ecc8347c34dfdc4336fa66e4e8e Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Apr 2022 15:48:02 -0400 Subject: [PATCH 50/53] adding resize centre crop --- rising/transforms/__init__.py | 3 +- rising/transforms/functional/spatial.py | 20 +-- rising/transforms/spatial.py | 133 +++++++++++++------- tests/transforms/test_spatial_transforms.py | 29 +++-- 4 files changed, 121 insertions(+), 64 deletions(-) diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 0d6ed834..677eb191 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -59,6 +59,7 @@ from rising.transforms.pad import Pad from rising.transforms.painting import LocalPixelShuffle, RandomInOrOutpainting, RandomInpainting, RandomOutpainting from rising.transforms.sitk import SITK2Tensor, SITKResample, SITKWindows -from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom +from rising.transforms.spatial import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom, \ + ResizeNativeCentreCrop from rising.transforms.tensor import Permute, TensorOp, ToDevice, ToDtype, ToTensor, _ToDeviceDtype from rising.transforms.utility import BoxToSeg, DoNothing, InstanceToSemantic, SegToBox diff --git a/rising/transforms/functional/spatial.py b/rising/transforms/functional/spatial.py index 76107b51..c33b1051 100644 --- a/rising/transforms/functional/spatial.py +++ b/rising/transforms/functional/spatial.py @@ -10,8 +10,8 @@ def mirror( - data: torch.Tensor, - dims: Union[int, Sequence[int]], + data: torch.Tensor, + dims: Union[int, Sequence[int]], ) -> torch.Tensor: """ Mirror data at dims @@ -42,17 +42,18 @@ def rot90(data: torch.Tensor, k: int, dims: Union[int, Sequence[int]]): Returns: torch.Tensor: tensor with mirrored dimensions """ + dims = [dims, ] if check_scalar(dims) else dims # type: ignore dims = [int(d + 2) for d in dims] return torch.rot90(data, int(k), dims) def resize_native( - data: torch.Tensor, - size: Optional[Union[int, Sequence[int]]] = None, - scale_factor: Optional[Union[float, Sequence[float]]] = None, - mode: str = "nearest", - align_corners: Optional[bool] = None, - preserve_range: bool = False, + data: torch.Tensor, + size: Optional[Union[int, Sequence[int]]] = None, + scale_factor: Optional[Union[float, Sequence[float]]] = None, + mode: str = "nearest", + align_corners: Optional[bool] = None, + preserve_range: bool = False, ): """ Down/up-sample sample to either the given :attr:`size` or the given @@ -81,6 +82,9 @@ def resize_native( if check_scalar(scale_factor): # pytorch internally checks for an iterable. Single value tensors are still iterable scale_factor = float(scale_factor) + elif scale_factor is not None: + assert len(scale_factor) == len(data.shape) - 2, "scale_factor must be scalar or have same length as data" + scale_factor = [float(f) for f in scale_factor] out = torch.nn.functional.interpolate( data, size=size, scale_factor=scale_factor, mode=FInterpolation(mode).value, align_corners=align_corners ) diff --git a/rising/transforms/spatial.py b/rising/transforms/spatial.py index 26b66723..a57d1689 100644 --- a/rising/transforms/spatial.py +++ b/rising/transforms/spatial.py @@ -4,28 +4,29 @@ from torch.multiprocessing import Value +from rising.constants import FInterpolation from rising.random import AbstractParameter, DiscreteParameter from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin, ItemSeq -from rising.transforms.functional import mirror, resize_native, rot90 - -__all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler"] - -from rising.constants import FInterpolation +from rising.transforms.functional import mirror, resize_native, rot90, center_crop +from rising.utils import check_scalar scheduler_type = Callable[[int], Union[int, Sequence[int]]] +__all__ = ["Mirror", "Rot90", "ResizeNative", "Zoom", "ProgressiveResize", "SizeStepScheduler", + "ResizeNativeCentreCrop"] + class Mirror(PerSampleTransformMixin, BaseTransform): """Random mirror transform""" def __init__( - self, - *, - dims=ItemSeq[Union[int, DiscreteParameter]], - p_sample: float = 0.5, - keys: Sequence[str] = ("data",), - grad: bool = False, - per_sample: bool = True, + self, + *, + dims: ItemSeq[Union[int, DiscreteParameter]], + p_sample: float = 0.5, + keys: Sequence[str] = ("data",), + grad: bool = False, + per_sample: bool = True, ): """ Args: @@ -50,13 +51,13 @@ class Rot90(PerSampleTransformMixin, BaseTransform): """Rotate 90 degree around dims""" def __init__( - self, - dims: ItemSeq[Union[Sequence[int], DiscreteParameter]], - keys: Sequence[str] = ("data",), - num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), - p_sample: float = 0.5, - per_sample: bool = True, - grad: bool = False, + self, + dims: ItemSeq[Union[Sequence[int], DiscreteParameter]], + keys: Sequence[str] = ("data",), + num_rots: DiscreteParameter = DiscreteParameter((0, 1, 2, 3)), + p_sample: float = 0.5, + per_sample: bool = True, + grad: bool = False, ): """ Args: @@ -64,9 +65,7 @@ def __init__( provided, 2 dimensions are randomly chosen at each call keys: keys which should be rotated num_rots: possible values for number of rotations - prob: probability for rotation grad: enable gradient computation inside transformation - kwargs: keyword arguments passed to superclass See Also: :func:`torch.Tensor.rot90` @@ -94,13 +93,13 @@ class ResizeNative(BaseTransformMixin, BaseTransform): """Resize data to given size""" def __init__( - self, - size: Union[int, Sequence[int]], - mode: ItemSeq[FInterpolation] = FInterpolation.nearest, - align_corners: ItemSeq[bool] = None, - preserve_range: bool = False, - keys: Sequence[str] = ("data",), - grad: bool = False, + self, + size: Union[int, Sequence[int]], + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[bool] = None, + preserve_range: bool = False, + keys: Sequence[str] = ("data",), + grad: bool = False, ): """ Args: @@ -115,7 +114,6 @@ def __init__( preserve_range: output tensor has same range as input tensor keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn """ super().__init__( augment_fn=resize_native, @@ -133,6 +131,53 @@ def __init__( assert self.p == 1.0 +class ResizeNativeCentreCrop(ResizeNative): + + def __init__(self, size: Union[int, Sequence[int]], mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[bool] = None, preserve_range: bool = False, margin: ItemSeq[int] = 0, + keys: Sequence[str] = ("data",), + grad: bool = False): + """ + This class extends the ResizeNative class to crop the image in the center, useful to exclude the empty borders + + image -> resize with size + margin -> center crop with size + + Args: + size: spatial output size (excluding batch size and + number of channels) + mode: one of ``nearest``, ``linear``, ``bilinear``, ``bicubic``, + ``trilinear``, ``area`` (for more inforamtion see + :func:`torch.nn.functional.interpolate`) or their sequence, for different keys. + align_corners: input and output tensors are aligned by the center \ + points of their corners pixels, preserving the values at the + corner pixels. Input can be sequence, for different keys. + preserve_range: output tensor has same range as input tensor + keys: keys which should be augmented + grad: enable gradient computation inside transformation + """ + if check_scalar(margin) ^ check_scalar(size): + raise ValueError("`size` and `margin` must be scalar or sequence of scalars in the same time.") + if not check_scalar(margin) and len(margin) != len(size): + raise ValueError("`size` and `margin` must have the same length.") + + if check_scalar(margin): + resized_size = size + margin + else: + resized_size = [x + y for x, y in zip(size, margin)] + + super().__init__(size, mode, align_corners, preserve_range, keys, grad) + self._resized_size = resized_size + self._crop_size = size + self._margin = margin + + def forward(self, **data): + self.size = self._resized_size + data = super().forward(**data) + for _key in self.keys: + data[_key] = center_crop(data[_key], self._crop_size) + return data + + class Zoom(BaseTransformMixin, BaseTransform): """Apply augment_fn to keys. By default the scaling factor is sampled from a uniform distribution with the range specified by @@ -140,13 +185,13 @@ class Zoom(BaseTransformMixin, BaseTransform): """ def __init__( - self, - scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), - mode: ItemSeq[FInterpolation] = FInterpolation.nearest, - align_corners: ItemSeq[bool] = None, - preserve_range: bool = False, - keys: Sequence[str] = ("data",), - grad: bool = False, + self, + scale_factor: Union[Sequence, AbstractParameter] = (0.75, 1.25), + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[bool] = None, + preserve_range: bool = False, + keys: Sequence[str] = ("data",), + grad: bool = False, ): """ Args: @@ -163,7 +208,6 @@ def __init__( preserve_range: output tensor has same range as input tensor keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn See Also: :func:`random.uniform`, :func:`torch.nn.functional.interpolate` @@ -188,13 +232,13 @@ class ProgressiveResize(ResizeNative): """Resize data to sizes specified by scheduler""" def __init__( - self, - scheduler: scheduler_type, - mode: ItemSeq[FInterpolation] = FInterpolation.nearest, - align_corners: ItemSeq[Optional[bool]] = None, - preserve_range: bool = False, - keys: Sequence = ("data",), - grad: bool = False, + self, + scheduler: scheduler_type, + mode: ItemSeq[FInterpolation] = FInterpolation.nearest, + align_corners: ItemSeq[Optional[bool]] = None, + preserve_range: bool = False, + keys: Sequence = ("data",), + grad: bool = False, ): """ Args: @@ -210,7 +254,6 @@ def __init__( preserve_range: output tensor has same range as input tensor keys: keys which should be augmented grad: enable gradient computation inside transformation - **kwargs: keyword arguments passed to augment_fn Warnings: When this transformations is used in combination with diff --git a/tests/transforms/test_spatial_transforms.py b/tests/transforms/test_spatial_transforms.py index 89fac265..241b86a2 100644 --- a/tests/transforms/test_spatial_transforms.py +++ b/tests/transforms/test_spatial_transforms.py @@ -1,7 +1,6 @@ import random import unittest -import numpy as np import SimpleITK as sitk import torch from matplotlib import pyplot as plt @@ -9,7 +8,8 @@ from rising.constants import FInterpolation from rising.loading import DataLoader from rising.random import DiscreteParameter, UniformParameter -from rising.transforms import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom +from rising.transforms import Mirror, ProgressiveResize, ResizeNative, Rot90, SizeStepScheduler, Zoom, \ + ResizeNativeCentreCrop from tests.realtime_viewer import multi_slice_viewer_debug @@ -18,13 +18,13 @@ def setUp(self) -> None: torch.manual_seed(0) random.seed(0) self.batch_dict = { - "data": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01.nii.gz"), - "label": self.load_nii_data("/home/jizong/Workspace/rising/tests/data/patient004_frame01_gt.nii.gz"), + "data": self.load_nii_data("../../tests/data/patient004_frame01.nii.gz"), + "label": self.load_nii_data("../../tests/data/patient004_frame01_gt.nii.gz"), } def load_nii_data(self, path): return torch.from_numpy( - sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(float32, copy=False) + sitk.GetArrayFromImage(sitk.ReadImage(str(path))).astype(float, copy=False) ).unsqueeze(1) def test_mirror_transform(self): @@ -52,7 +52,7 @@ def test_rot90_transform(self): def test_resize_transform(self): trafo = ResizeNative( - (256, 256), + (128, 256), keys=( "data", "label", @@ -67,20 +67,20 @@ def test_resize_transform(self): multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True, no_contour=True) def test_zoom_transform(self): - _range = (2.0, 3.0) + _range = (1.5, 2.0) # scale_factor = UniformParameter(*_range)() - trafo = Zoom(scale_factor=UniformParameter(*_range), keys=("data", "label")) + trafo = Zoom(scale_factor=[UniformParameter(*_range), UniformParameter(*_range)], keys=("data", "label")) out = trafo(**self.batch_dict) image1, target1 = self.batch_dict.values() image2, target2 = out.values() - multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze(), block=False, no_contour=True) multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True, no_contour=True) def test_progressive_resize(self): image1, target1 = self.batch_dict.values() - multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze(), no_contour=True) sizes = [1, 3, 6] scheduler = SizeStepScheduler([1, 2], [112, 224, 336]) @@ -118,6 +118,15 @@ def test_progressive_resize_integration(self): self.assertIn((1, 10, 3, 3, 3), data_shape) self.assertIn((1, 10, 6, 6, 6), data_shape) + def test_resize_native_center_crop(self): + trafo = ResizeNativeCentreCrop(size=(1000, 2000), margin=(10, 15), keys=("data", "label"), + mode=(FInterpolation.bilinear, FInterpolation.nearest)) + outp = trafo(**self.batch_dict) + image1, target1 = self.batch_dict.values() + image2, target2 = outp.values() + multi_slice_viewer_debug(image1.squeeze(), target1.squeeze()) + multi_slice_viewer_debug(image2.squeeze(), target2.squeeze(), block=True) + if __name__ == "__main__": unittest.main() From 86cb965cceb5ad0e617883818e4d6ee53877a981 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Apr 2022 19:40:27 -0400 Subject: [PATCH 51/53] make abstract parameter to be associated with torch.nn.Module. --- rising/utils/mise.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rising/utils/mise.py b/rising/utils/mise.py index 9c364fca..8b6c2446 100644 --- a/rising/utils/mise.py +++ b/rising/utils/mise.py @@ -9,6 +9,9 @@ import torch from torch import Tensor from torch import multiprocessing as mp +from torch import nn + +from rising.random.abstract import AbstractParameter T = t.TypeVar("T") @@ -19,6 +22,8 @@ def ntuple(n: int) -> t.Callable[[t.Union[T, t.Sequence[T]]], t.Sequence[T]]: def parse(x: t.Union[T, t.Sequence[T]]) -> t.Sequence[T]: + if isinstance(x, AbstractParameter): + return nn.ModuleList([x]) if isinstance(x, (Tensor, np.ndarray, str)): return tuple(repeat(x, n)) if isinstance(x, collections.abc.Iterable): From 4e6a8c6686005dfbb0179272b58edf314a0a3281 Mon Sep 17 00:00:00 2001 From: jizong Date: Fri, 22 Apr 2022 21:06:04 -0400 Subject: [PATCH 52/53] adding pad-center-crop --- rising/transforms/__init__.py | 2 +- rising/transforms/crop.py | 56 ++++++++++++++++++------ rising/transforms/functional/crop_pad.py | 23 +++++++++- 3 files changed, 64 insertions(+), 17 deletions(-) diff --git a/rising/transforms/__init__.py b/rising/transforms/__init__.py index 677eb191..bb6e36e2 100644 --- a/rising/transforms/__init__.py +++ b/rising/transforms/__init__.py @@ -29,7 +29,7 @@ from rising.transforms.affine import BaseAffine, Resize, Rotate, Scale, Translate, _Affine, _StackedAffine from rising.transforms.channel import ArgMax, OneHot from rising.transforms.compose import Compose, DropoutCompose, OneOf -from rising.transforms.crop import CenterCrop, PadRandomCrop, RandomCrop +from rising.transforms.crop import CenterCrop, PadRandomCrop, RandomCrop, PadCenterCrop from rising.transforms.format import FilterKeys, MapToSeq, PopKeys, RenameKeys, SeqToMap from rising.transforms.grid import ( CenterCropGrid, diff --git a/rising/transforms/crop.py b/rising/transforms/crop.py index 111a7901..ae026c06 100644 --- a/rising/transforms/crop.py +++ b/rising/transforms/crop.py @@ -2,9 +2,9 @@ from rising.transforms.abstract import BaseTransform, BaseTransformMixin, PerSampleTransformMixin from rising.transforms.functional.crop import center_crop, random_crop -from rising.transforms.functional.crop_pad import pad_random_crop +from rising.transforms.functional.crop_pad import pad_random_crop, pad_center_crop -__all__ = ["CenterCrop", "RandomCrop", "PadRandomCrop"] +__all__ = ["CenterCrop", "RandomCrop", "PadRandomCrop", "PadCenterCrop"] class CenterCrop(BaseTransformMixin, BaseTransform): @@ -29,12 +29,12 @@ class RandomCrop(BaseTransformMixin, BaseTransform): """ def __init__( - self, - *, - size: Union[int, Sequence], - dist: Union[int, Sequence] = 0, - keys: Sequence = ("data",), - grad: bool = False, + self, + *, + size: Union[int, Sequence], + dist: Union[int, Sequence] = 0, + keys: Sequence = ("data",), + grad: bool = False, ): """ Args: @@ -60,12 +60,12 @@ class PadRandomCrop(PerSampleTransformMixin, BaseTransform): """ def __init__( - self, - size: Union[int, Sequence], - pad_size: Union[int, Sequence[int]] = 0, - pad_value: Union[int, float, Sequence[int], Sequence[float]] = 0, - keys: Sequence = ("data",), - grad: bool = False, + self, + size: Union[int, Sequence], + pad_size: Union[int, Sequence[int]] = 0, + pad_value: Union[int, float, Sequence[int], Sequence[float]] = 0, + keys: Sequence = ("data",), + grad: bool = False, ): """ Args: @@ -83,3 +83,31 @@ def __init__( augment_fn_names=("size", "pad_size", "pad_value"), paired_kw_names=("pad_value",), ) + + +class PadCenterCrop(PerSampleTransformMixin, BaseTransform): + + def __init__( + self, + size: Union[int, Sequence], + pad_size: Union[int, Sequence[int]] = 0, + pad_value: Union[int, float, Sequence[int], Sequence[float]] = 0, + keys: Sequence = ("data",), + grad: bool = False, + ): + """ + Args: + size: random crop size + pad_size: int, sequence[int], padding image to size+pad + pad_value: int, float or a list of them. the value to pad + """ + super(PadCenterCrop, self).__init__( + augment_fn=pad_center_crop, + keys=keys, + grad=grad, + size=size, + pad_size=pad_size, + pad_value=pad_value, + augment_fn_names=("size", "pad_size", "pad_value"), + paired_kw_names=("pad_value",), + ) diff --git a/rising/transforms/functional/crop_pad.py b/rising/transforms/functional/crop_pad.py index 9711c1f4..9e17f251 100644 --- a/rising/transforms/functional/crop_pad.py +++ b/rising/transforms/functional/crop_pad.py @@ -2,11 +2,11 @@ import torch -from rising.transforms.functional import random_crop +from rising.transforms.functional import random_crop, center_crop def pad_random_crop( - data: torch.Tensor, size: Union[int, Sequence[int]], pad_size=Union[int, Sequence[int]], pad_value=0 + data: torch.Tensor, size: Union[int, Sequence[int]], pad_size=Union[int, Sequence[int]], pad_value=0 ): ndim = data.dim() - 2 if isinstance(size, (float, int)): @@ -23,3 +23,22 @@ def pad_random_crop( size=size, dist=0, ) + + +def pad_center_crop( + data: torch.Tensor, size: Union[int, Sequence[int]], pad_size=Union[int, Sequence[int]], pad_value=0 +): + ndim = data.dim() - 2 + if isinstance(size, (float, int)): + size = [size] * ndim + if isinstance(pad_size, (float, int)): + pad_size = [pad_size] * ndim + assert len(size) == len(pad_size) == ndim + + from rising.transforms import Pad + + data = Pad(pad_size=[x + y for x, y in zip(size, pad_size)], pad_value=pad_value, keys=("data",))(data=data)["data"] + return center_crop( + data, + size=size, + ) From 85adc359c8628f652303aef8e4809e977072c1a6 Mon Sep 17 00:00:00 2001 From: jizong Date: Thu, 12 May 2022 13:19:46 -0400 Subject: [PATCH 53/53] refactorize random module --- .pre-commit-config.yaml | 2 +- rising/random/abstract.py | 34 ++++++++++++++++++++++++++-------- rising/random/continuous.py | 24 ++++++++++++++++++------ rising/random/discrete.py | 29 +++++++++++++++++++---------- tests/rand/test_abstract.py | 2 +- tests/rand/test_continuous.py | 15 +++++++++++++++ tests/rand/test_discrete.py | 17 +++++++++++++---- 7 files changed, 93 insertions(+), 30 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 24363611..6e698572 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -36,7 +36,7 @@ repos: - id: yesqa - repo: https://github.com/psf/black - rev: 21.9b0 + rev: 22.3.0 hooks: - id: black name: Format code diff --git a/rising/random/abstract.py b/rising/random/abstract.py index 25b3c95e..f9f55c61 100644 --- a/rising/random/abstract.py +++ b/rising/random/abstract.py @@ -1,19 +1,36 @@ import typing as t -from abc import abstractmethod +from abc import ABC, abstractmethod from typing import Optional, Sequence, Union import torch +from torch.distributions import Distribution from rising.utils.shape import reshape __all__ = ["AbstractParameter", "ConstantParameter"] +def get_name(func): + from inspect import isclass, isfunction + + if isclass(func): + return func.__class__.__name__ + elif isfunction(func): + return func.__name__ + else: + return str(func) + + class AbstractParameter(torch.nn.Module): """ Abstract Parameter class to inject randomness to transforms """ + def __repr__(self): + name = self.__class__.__name__ + params = {k: get_name(v) for k, v in self.__dict__.items() if not k.startswith("_")} + return f"{name}({params})" + @staticmethod def _get_n_samples(size: Union[Sequence, torch.Size] = (1,)): """ @@ -30,7 +47,7 @@ def _get_n_samples(size: Union[Sequence, torch.Size] = (1,)): return size.numel() @abstractmethod - def sample(self, n_samples: int) -> Union[torch.Tensor, list]: + def sample(self, n_samples: int) -> Union[torch.Tensor, t.List[torch.Tensor]]: """ Abstract sampling function @@ -70,7 +87,9 @@ def forward( if the parameter ``tensor_like`` is given, it overwrites the parameters ``dtype`` and ``device`` """ - n_samples = self._get_n_samples(size if size is not None else (1,)) + if size is None: + size = (1,) + n_samples = self._get_n_samples(size) samples = self.sample(n_samples) if any([s is None for s in samples]): @@ -79,8 +98,7 @@ def forward( if not isinstance(samples, torch.Tensor): samples = torch.tensor(samples).flatten() - if size is not None: - samples = reshape(samples, size) + samples = reshape(samples, size) if isinstance(samples, torch.Tensor): if tensor_like is not None: @@ -90,10 +108,10 @@ def forward( return samples -class ConstantParameter(AbstractParameter): +class ConstantParameter(Distribution, ABC): def __init__(self, constant: t.Union[int, float]): - super().__init__() + super().__init__(validate_args=False) self.constant = constant - def sample(self, n_samples: int) -> Union[torch.Tensor, list]: + def sample(self, n_samples: Union[t.Tuple[int], torch.Size] = torch.Size()): return torch.as_tensor([self.constant for _ in range(n_samples[0])]) diff --git a/rising/random/continuous.py b/rising/random/continuous.py index c259ae92..b30e6acc 100644 --- a/rising/random/continuous.py +++ b/rising/random/continuous.py @@ -1,9 +1,10 @@ -from typing import Union +from typing import Union, cast import torch from torch.distributions import Distribution as TorchDistribution from rising.random.abstract import AbstractParameter, ConstantParameter +from rising.utils import check_scalar __all__ = ["ContinuousParameter", "NormalParameter", "UniformParameter"] @@ -29,6 +30,8 @@ def sample(self, n_samples: int) -> torch.Tensor: Returns torch.Tensor: samples """ + + # input should be a tuple or torch.Size tuple. return self.dist.sample((n_samples,)) @@ -36,6 +39,7 @@ class NormalParameter(ContinuousParameter): """ Samples Parameters from a normal distribution. For details have a look at :class:`torch.distributions.Normal` + if sigma is 0, return a ConstantParameter """ def __init__(self, mu: Union[float, torch.Tensor], sigma: Union[float, torch.Tensor]): @@ -44,25 +48,33 @@ def __init__(self, mu: Union[float, torch.Tensor], sigma: Union[float, torch.Ten mu : the distributions mean sigma : the distributions standard deviation """ + assert check_scalar(mu) and check_scalar(sigma) if sigma == 0: - super(NormalParameter, self).__init__(ConstantParameter(constant=mu)) # return constant + dist = cast(torch.distributions.Distribution, ConstantParameter(constant=mu)) else: - super().__init__(torch.distributions.Normal(loc=mu, scale=sigma)) + dist = torch.distributions.Normal(mu, sigma) + super().__init__(dist) class UniformParameter(ContinuousParameter): """ Samples Parameters from a uniform distribution. For details have a look at :class:`torch.distributions.Uniform` + if `low`==`high` , return a ConstantParameter """ - def __init__(self, low: Union[float, torch.Tensor], high: Union[float, torch.Tensor]): + def __init__(self, low: Union[float, int, torch.Tensor], high: Union[float, int, torch.Tensor]): """ Args: low : the lower range (inclusive) high : the higher range (exclusive) """ + assert check_scalar(low) and check_scalar(high) + if low == high: - super(UniformParameter, self).__init__(ConstantParameter(low)) # return constant + dist = cast(torch.distributions.Distribution, ConstantParameter(low)) + elif low < high: + dist = torch.distributions.Uniform(low=low, high=high) else: - super().__init__(torch.distributions.Uniform(low=low, high=high)) + raise ValueError("low must be smaller than high, given: low={} and high={}".format(low, high)) + super().__init__(dist) diff --git a/rising/random/discrete.py b/rising/random/discrete.py index 1b7d1053..9dd748d1 100644 --- a/rising/random/discrete.py +++ b/rising/random/discrete.py @@ -2,12 +2,14 @@ from itertools import combinations from random import choices as sample_with_replacement from random import sample as sample_without_replacement -from typing import List, Sequence +from typing import List, Sequence, TypeVar from rising.random.abstract import AbstractParameter __all__ = ["DiscreteParameter", "DiscreteCombinationsParameter"] +T = TypeVar("T") + def combinations_all(data: Sequence) -> List: """ @@ -32,28 +34,31 @@ class DiscreteParameter(AbstractParameter): """ def __init__( - self, population: Sequence, replacement: bool = False, weights: Sequence = None, cum_weights: Sequence = None + self, + population: Sequence[T], + replacement: bool = False, + weights: Sequence[T] = None, + cum_weights: Sequence[T] = None, ): """ Args: population : the parameter population to sample from - replacement : whether or not to sample with replacement + replacement : whether to sample with replacement weights : relative sampling weights cum_weights : cumulative sampling weights """ super().__init__() if replacement: sample_fn = partial(sample_with_replacement, weights=weights, cum_weights=cum_weights) + elif weights is not None or cum_weights is not None: + raise ValueError("weights and cum_weights should only be specified if " "replacement is set to True!") else: - if weights is not None or cum_weights is not None: - raise ValueError("weights and cum_weights should only be specified if " "replacement is set to True!") - - sample_fn = sample_without_replacement # noqa + sample_fn = sample_without_replacement self.sample_fn = sample_fn self.population = population - def sample(self, n_samples: int) -> list: + def sample(self, n_samples: int) -> List[T]: """ Samples from the discrete internal population @@ -73,11 +78,15 @@ class DiscreteCombinationsParameter(DiscreteParameter): possible combinations of the given population """ - def __init__(self, population: Sequence, replacement: bool = False): + def __init__(self, population: Sequence[T], replacement: bool = False): """ Args: population : population to build combination of - replacement : whether or not to sample with replacement + replacement : whether to sample with replacement """ population = combinations_all(population) super().__init__(population=population, replacement=replacement) + + +if __name__ == "__main__": + print(DiscreteParameter(population=[1, 2, 3, 4, 5], replacement=True)) diff --git a/tests/rand/test_abstract.py b/tests/rand/test_abstract.py index 79f2f1e1..203dc431 100644 --- a/tests/rand/test_abstract.py +++ b/tests/rand/test_abstract.py @@ -21,7 +21,7 @@ def test_tensor_like(self): def test_abstract_error(self): param = AbstractParameter() with self.assertRaises(NotImplementedError): - param.sample((1,)) + param.sample(n_samples=1) if __name__ == "__main__": diff --git a/tests/rand/test_continuous.py b/tests/rand/test_continuous.py index 5fb40b96..e66f140e 100644 --- a/tests/rand/test_continuous.py +++ b/tests/rand/test_continuous.py @@ -8,9 +8,19 @@ class TestContinuous(unittest.TestCase): def test_uniform(self): self.check_distribution(UniformParameter(0, 2), torch.distributions.Uniform(0, 2)) + self.check_constant(UniformParameter(0, 0), 0) + with self.assertRaises(AssertionError): + self.check_constant(UniformParameter(0.0, 0.0), 1.0) + with self.assertRaises(RuntimeError): + self.check_constant(UniformParameter(0.0, 0.0), 0) def test_normal(self): self.check_distribution(NormalParameter(0, 2), torch.distributions.Normal(0, 2)) + self.check_constant(NormalParameter(0, 0), 0) + with self.assertRaises(AssertionError): + self.check_constant(NormalParameter(0.0, 0.0), 1.0) + with self.assertRaises(RuntimeError): + self.check_constant(NormalParameter(0.0, 0.0), 0) def check_distribution(self, param, dist, size=(10,)): state = torch.random.get_rng_state() @@ -20,6 +30,11 @@ def check_distribution(self, param, dist, size=(10,)): res_dist = dist.sample(size) self.assertTrue(res_dist.allclose(res_param)) + def check_constant(self, param, constant, size=(10,)): + res_params = param(size) + assert res_params.shape == torch.Size(size) + self.assertTrue(res_params.allclose(torch.ones(*size, dtype=torch.long) * constant)) + if __name__ == "__main__": unittest.main() diff --git a/tests/rand/test_discrete.py b/tests/rand/test_discrete.py index 8154e8e1..89a494d2 100644 --- a/tests/rand/test_discrete.py +++ b/tests/rand/test_discrete.py @@ -1,18 +1,27 @@ import unittest +import torch + from rising.random import DiscreteCombinationsParameter, DiscreteParameter from rising.random.discrete import combinations_all class TestDiscrete(unittest.TestCase): def test_discrete_error(self): - with self.assertRaises(ValueError): - param = DiscreteParameter((1.0, 2.0), replacement=False, weights=(0.3, 0.7)) + with self.assertRaises(ValueError) as e: + param = DiscreteParameter((1.0, 2.0), replacement=False, weights=("yes", 0.7)) + expected_msg = "weights and cum_weights should only be specified if replacement is set to True!" + assert e.exception.args[0] == expected_msg def test_discrete_parameter(self): - param = DiscreteParameter((1,)) + param = DiscreteParameter((1,), replacement=True) + sample = param(size=(100, 100)) + assert sample.allclose(torch.ones_like(sample) * 1) + + def test_discrete_parameter2(self): + param = DiscreteParameter((1, 2), replacement=True) sample = param() - self.assertEqual(sample, 1) + assert sample in (1, 2) def test_discrete_combinations_parameter(self): param = DiscreteCombinationsParameter((1,))

Y!te{Ly0^$CMEPQ(1Am(x*fi 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