From b7fe9e364431c8fef5fbccf32102c1ad3f644ebc Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Wed, 26 May 2021 16:06:48 -0400 Subject: [PATCH 01/52] example apply model --- fiftyone/core/models.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index b02b60da81..ced0717db1 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -31,6 +31,8 @@ foe = fou.lazy_import("fiftyone.core.eta_utils") fout = fou.lazy_import("fiftyone.utils.torch") +flashm = fou.lazy_import("flash.core.model") +flashd = fou.lazy_import("flash.core.data.data_source") logger = logging.getLogger(__name__) @@ -78,6 +80,14 @@ def apply_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample """ + if isinstance(model, flashm.Task): + with fou.ProgressBar() as pb: + for sample in pb(samples): + preds = model.predict(sample.filepath) + sample[label_field] = fo.Classification(label=preds[0]) + sample.save() + return + if not isinstance(model, Model): raise ValueError( "Model must be a %s instance; found %s" % (Model, type(model)) From c36608d7bbc7275c11c538b67702aafa15534c23 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sat, 29 May 2021 13:49:54 -0400 Subject: [PATCH 02/52] initial apply model test --- fiftyone/core/models.py | 72 +++++++++++++++++++++++++++---- fiftyone/core/utils.py | 12 ++++++ fiftyone/utils/flash.py | 93 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 168 insertions(+), 9 deletions(-) create mode 100644 fiftyone/utils/flash.py diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index ced0717db1..64e6102ebb 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -28,11 +28,12 @@ tud = fou.lazy_import("torch.utils.data") +fcm = fou.lazy_import("flash.core.model") + foe = fou.lazy_import("fiftyone.core.eta_utils") fout = fou.lazy_import("fiftyone.utils.torch") +fouf = fou.lazy_import("fiftyone.utils.flash") -flashm = fou.lazy_import("flash.core.model") -flashd = fou.lazy_import("flash.core.data.data_source") logger = logging.getLogger(__name__) @@ -80,13 +81,17 @@ def apply_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample """ - if isinstance(model, flashm.Task): - with fou.ProgressBar() as pb: - for sample in pb(samples): - preds = model.predict(sample.filepath) - sample[label_field] = fo.Classification(label=preds[0]) - sample.save() - return + if isinstance(model, fcm.Task): + return apply_flash_model( + samples, + model, + label_field=label_field, + confidence_thresh=confidence_thresh, + store_logits=store_logits, + batch_size=batch_size, + num_workers=num_workers, + skip_failures=skip_failures, + ) if not isinstance(model, Model): raise ValueError( @@ -192,6 +197,55 @@ def apply_model( ) +def apply_flash_model( + samples, + model, + label_field="predictions", + confidence_thresh=None, + store_logits=False, + batch_size=None, + num_workers=None, + skip_failures=True, +): + """Applies the given ``flash.core.model.Task`` to the samples in the + collection. + + This method supports all the following cases: + + - Applying an image model to an image collection + - Applying an image model to the frames of a video collection + - Applying a video model to a video collection + + Args: + samples: a :class:`fiftyone.core.collections.SampleCollection` + model: a ``flash.core.model.Task`` + label_field ("predictions"): the name of the field in which to store + the model predictions. When performing inference on video frames, + the "frames." prefix is optional + confidence_thresh (None): an optional confidence threshold to apply to + any applicable labels generated by the model + store_logits (False): whether to store logits for the model + predictions. This is only supported when the provided ``model`` has + logits + batch_size (None): an optional batch size to use. Only applicable for + image samples + num_workers (None): the number of workers to use when loading images. + Only applicable for Torch models + skip_failures (True): whether to gracefully continue without raising an + error if predictions cannot be generated for a sample + """ + return fouf.apply_flash_model( + samples, + model, + label_field=label_field, + confidence_thresh=confidence_thresh, + store_logits=store_logits, + batch_size=batch_size, + num_workers=num_workers, + skip_failures=skip_failures, + ) + + def _apply_image_model_single( samples, model, label_field, confidence_thresh, skip_failures ): diff --git a/fiftyone/core/utils.py b/fiftyone/core/utils.py index 83f5e65a83..a71e367a44 100644 --- a/fiftyone/core/utils.py +++ b/fiftyone/core/utils.py @@ -194,6 +194,18 @@ def ensure_boto3(error_msg=None): _ensure_import("boto3", error_msg=error_msg) +def ensure_lightning_flash(error_msg=None): + """Verifies that PyTorch Lightning Flash is installed and importable. + + Args: + error_msg (None): an optional custom error message to print + + Raises: + ImportError: if ``lightning-flash`` could not be imported + """ + _ensure_import("flash", error_msg=error_msg) + + def ensure_tf(eager=False, error_msg=None): """Verifies that TensorFlow is installed and importable. diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py new file mode 100644 index 0000000000..0563dc9d80 --- /dev/null +++ b/fiftyone/utils/flash.py @@ -0,0 +1,93 @@ +""" +PyTorch Lightning Flash utilities. + +| Copyright 2017-2021, Voxel51, Inc. +| `voxel51.com `_ +| +""" +import logging + +import fiftyone.core.labels as fol +import fiftyone.core.utils as fou + +fou.ensure_lightning_flash() +import flash +from flash.core.classification import ( + ClassificationSerializer, + ClassificationTask, + FiftyOneLabels, +) + + +logger = logging.getLogger(__name__) + + +_SUPPORTED_TASKS = [ + ClassificationTask, +] + + +def apply_flash_model( + samples, + model, + label_field="predictions", + confidence_thresh=None, + store_logits=False, + batch_size=None, + num_workers=None, + skip_failures=True, +): + """Applies the given ``flash.core.model.Task`` to the samples in the + collection. + + This method supports all the following cases: + + - Applying an image model to an image collection + - Applying an image model to the frames of a video collection + - Applying a video model to a video collection + + Args: + samples: a :class:`fiftyone.core.collections.SampleCollection` + model: a ``flash.core.model.Task`` + label_field ("predictions"): the name of the field in which to store + the model predictions. When performing inference on video frames, + the "frames." prefix is optional + confidence_thresh (None): an optional confidence threshold to apply to + any applicable labels generated by the model + store_logits (False): whether to store logits for the model + predictions. This is only supported when the provided ``model`` has + logits + batch_size (None): an optional batch size to use. Only applicable for + image samples + num_workers (None): the number of workers to use when loading images. + Only applicable for Torch models + skip_failures (True): whether to gracefully continue without raising an + error if predictions cannot be generated for a sample + """ + serializer = _get_fo_serializer(model, confidence_thresh) + model.serializer = serializer + with fou.ProgressBar() as pb: + for sample in pb(samples): + preds = model.predict(sample.filepath) + sample[label_field] = preds[0] + sample.save() + + +def _get_fo_serializer(model, confidence_thresh): + """Initializes the FiftyOne serializer to be used for the given task""" + previous_serializer = model.serializer + if isinstance(model, ClassificationTask): + multi_label = False + if isinstance(previous_serializer, ClassificationSerializer): + multi_label = previous_serializer.multi_label + + return FiftyOneLabels( + multi_label=multi_label, threshold=confidence_thresh + ) + + else: + raise ValueError( + "Found an unsupported model of type %s. Supported model types are " + "%s" + % (type(model), ", ".join([t.__name__ for t in _SUPPORTED_TASKS])) + ) From c7015aea9dd862fbee96d5cf2a15f73d5cc22009 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sat, 29 May 2021 15:51:28 -0400 Subject: [PATCH 03/52] predict batches of samples --- fiftyone/utils/flash.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 0563dc9d80..572d1ff768 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -66,11 +66,17 @@ def apply_flash_model( """ serializer = _get_fo_serializer(model, confidence_thresh) model.serializer = serializer - with fou.ProgressBar() as pb: - for sample in pb(samples): - preds = model.predict(sample.filepath) - sample[label_field] = preds[0] - sample.save() + + samples_loader = fou.iter_batches(samples, batch_size) + + with fou.ProgressBar(samples) as pb: + for sample_batch in samples_loader: + predictions = model.predict([s.filepath for s in sample_batch]) + for sample, prediction in zip(sample_batch, predictions): + sample.add_labels( + prediction, label_field, + ) + pb.update(len(sample_batch)) def _get_fo_serializer(model, confidence_thresh): From f8a65320b2ba23ec070f69bd3b2a5f5b294d0bde Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Tue, 1 Jun 2021 12:20:27 -0400 Subject: [PATCH 04/52] set attribute serializer, remove batches --- fiftyone/core/models.py | 54 ++--------------------------------------- fiftyone/utils/flash.py | 34 ++++++++++++++++---------- 2 files changed, 23 insertions(+), 65 deletions(-) diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 64e6102ebb..ca5472c5b6 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -28,7 +28,6 @@ tud = fou.lazy_import("torch.utils.data") -fcm = fou.lazy_import("flash.core.model") foe = fou.lazy_import("fiftyone.core.eta_utils") fout = fou.lazy_import("fiftyone.utils.torch") @@ -81,8 +80,8 @@ def apply_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample """ - if isinstance(model, fcm.Task): - return apply_flash_model( + if fouf.is_flash_model(model): + return fouf.apply_flash_model( samples, model, label_field=label_field, @@ -197,55 +196,6 @@ def apply_model( ) -def apply_flash_model( - samples, - model, - label_field="predictions", - confidence_thresh=None, - store_logits=False, - batch_size=None, - num_workers=None, - skip_failures=True, -): - """Applies the given ``flash.core.model.Task`` to the samples in the - collection. - - This method supports all the following cases: - - - Applying an image model to an image collection - - Applying an image model to the frames of a video collection - - Applying a video model to a video collection - - Args: - samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a ``flash.core.model.Task`` - label_field ("predictions"): the name of the field in which to store - the model predictions. When performing inference on video frames, - the "frames." prefix is optional - confidence_thresh (None): an optional confidence threshold to apply to - any applicable labels generated by the model - store_logits (False): whether to store logits for the model - predictions. This is only supported when the provided ``model`` has - logits - batch_size (None): an optional batch size to use. Only applicable for - image samples - num_workers (None): the number of workers to use when loading images. - Only applicable for Torch models - skip_failures (True): whether to gracefully continue without raising an - error if predictions cannot be generated for a sample - """ - return fouf.apply_flash_model( - samples, - model, - label_field=label_field, - confidence_thresh=confidence_thresh, - store_logits=store_logits, - batch_size=batch_size, - num_workers=num_workers, - skip_failures=skip_failures, - ) - - def _apply_image_model_single( samples, model, label_field, confidence_thresh, skip_failures ): diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 572d1ff768..cace2e53c9 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -11,12 +11,12 @@ import fiftyone.core.utils as fou fou.ensure_lightning_flash() -import flash from flash.core.classification import ( ClassificationSerializer, ClassificationTask, FiftyOneLabels, ) +from flash.core.model import Task logger = logging.getLogger(__name__) @@ -64,19 +64,27 @@ def apply_flash_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample """ + if batch_size is not None: + print("Flash models only support the default batch size") + serializer = _get_fo_serializer(model, confidence_thresh) - model.serializer = serializer - - samples_loader = fou.iter_batches(samples, batch_size) - - with fou.ProgressBar(samples) as pb: - for sample_batch in samples_loader: - predictions = model.predict([s.filepath for s in sample_batch]) - for sample, prediction in zip(sample_batch, predictions): - sample.add_labels( - prediction, label_field, - ) - pb.update(len(sample_batch)) + with fou.SetAttributes(model, serializer=serializer): + predictions = model.predict(samples.values("filepath")) + for sample, prediction in zip(samples, predictions): + sample.add_labels( + prediction, label_field, + ) + + +def is_flash_model(model): + """Checks model type to determine if it is a flash model + Args: + model: the model instance to check + """ + if isinstance(model, Task): + return True + else: + return False def _get_fo_serializer(model, confidence_thresh): From d664254a20ab880eb2014994477ab6d90499de1e Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Wed, 2 Jun 2021 21:44:00 -0400 Subject: [PATCH 05/52] add segmentation importer, normalize labels --- fiftyone/utils/data/importers.py | 130 +++++++++++++++++++++++++++++++ fiftyone/utils/flash.py | 77 ++++++++++++------ 2 files changed, 185 insertions(+), 22 deletions(-) diff --git a/fiftyone/utils/data/importers.py b/fiftyone/utils/data/importers.py index 73414b5956..bc9b2c32d9 100644 --- a/fiftyone/utils/data/importers.py +++ b/fiftyone/utils/data/importers.py @@ -1728,6 +1728,136 @@ def get_num_samples(dataset_dir): return num_samples +class ImageSegmentationDirectoryImporter(LabeledImageDatasetImporter): + """Importer for an image segmentation dataset stored on disk. + + See :class:`fiftyone.types.dataset_types.ImageSegmentationDirectory` + for format details. + + Args: + dataset_dir: the dataset directory + data_path: the path to the directory containing raw images + labels_path: the path to the labels directory or file + compute_metadata (False): whether to produce + :class:`fiftyone.core.metadata.ImageMetadata` instances for each + image when importing + skip_unlabeled (False): whether to skip unlabeled images when importing + shuffle (False): whether to randomly shuffle the order in which the + samples are imported + seed (None): a random seed to use when shuffling + max_samples (None): a maximum number of samples to import. By default, + all samples are imported + """ + + def __init__( + self, + dataset_dir="", + data_path=None, + labels_path=None, + compute_metadata=False, + skip_unlabeled=False, + shuffle=False, + seed=None, + max_samples=None, + ): + if dataset_dir is None: + if data_path is None: + raise ValueError( + "Either `dataset_dir` or `data_path` must be specified" + ) + else: + dataset_dir = "" + + super().__init__( + dataset_dir, + skip_unlabeled=skip_unlabeled, + shuffle=shuffle, + seed=seed, + max_samples=max_samples, + ) + self.compute_metadata = compute_metadata + self._samples = None + self._iter_samples = None + self._num_samples = None + + if data_path is not None: + self._data_path = data_path + else: + self._data_path = os.path.join(self.dataset_dir, "data") + if labels_path is not None: + self._labels_path = labels_path + else: + self._labels_path = os.path.join(self.dataset_dir, "labels") + + def __iter__(self): + self._iter_samples = iter(self._samples) + return self + + def __len__(self): + return self._num_samples + + def __next__(self): + image_path, mask_path = next(self._iter_samples) + + if self.compute_metadata: + image_metadata = fom.ImageMetadata.build_for(image_path) + else: + image_metadata = None + + if mask_path is None: + return image_path, image_metadata, None + + mask = etai.read(mask_path) + if len(mask.shape) == 3: + mask = mask[:, :, 0] + + label = fol.Segmentation(mask=mask) + + return image_path, image_metadata, label + + @property + def has_dataset_info(self): + return False + + @property + def has_image_metadata(self): + return self.compute_metadata + + @property + def label_cls(self): + return fol.Segmentation + + def setup(self): + samples = [] + get_filename = lambda f: os.path.splitext(os.path.basename(f))[0] + data_paths = etau.list_files(self._data_path, abs_paths=True) + mask_paths = etau.list_files(self._labels_path, abs_paths=True) + + samples = [] + mask_filenames = [get_filename(f) for f in mask_paths] + for data_path in data_paths: + data_fn = get_filename(data_path) + if data_fn in mask_filenames: + mask_path = mask_paths[mask_filenames.index(data_fn)] + samples.append((data_path, mask_path)) + elif not self.skip_unlabeled: + samples.append((data_path, None)) + + self._samples = self._preprocess_list(samples) + self._num_samples = len(self._samples) + + @staticmethod + def get_num_samples(dataset_dir=None, data_path=None): + if data_path is not None: + return len(etau.list_files(data_path)) + elif dataset_dir is None: + raise ValueError( + "Either `dataset_dir` or `data_path` must be specified" + ) + else: + return len(etau.list_files(os.path.join(dataset_dir, "data"))) + + class FiftyOneImageDetectionDatasetImporter(LabeledImageDatasetImporter): """Importer for image detection datasets stored on disk in FiftyOne's default format. diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index cace2e53c9..3d3055a345 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -5,25 +5,23 @@ | `voxel51.com `_ | """ +import inspect import logging import fiftyone.core.labels as fol +from fiftyone.core.metadata import ImageMetadata import fiftyone.core.utils as fou -fou.ensure_lightning_flash() -from flash.core.classification import ( - ClassificationSerializer, - ClassificationTask, - FiftyOneLabels, -) -from flash.core.model import Task +import eta.core.utils as etau + +fcc = fou.lazy_import("flash.core.classification") logger = logging.getLogger(__name__) _SUPPORTED_TASKS = [ - ClassificationTask, + "ClassificationTask", ] @@ -67,7 +65,7 @@ def apply_flash_model( if batch_size is not None: print("Flash models only support the default batch size") - serializer = _get_fo_serializer(model, confidence_thresh) + serializer = _get_fo_serializer(model, confidence_thresh, store_logits,) with fou.SetAttributes(model, serializer=serializer): predictions = model.predict(samples.values("filepath")) for sample, prediction in zip(samples, predictions): @@ -78,30 +76,65 @@ def apply_flash_model( def is_flash_model(model): """Checks model type to determine if it is a flash model + Args: model: the model instance to check """ - if isinstance(model, Task): - return True - else: - return False + model_class = type(model) + mro = inspect.getmro(model_class) + for c in mro: + class_name = etau.get_class_name(c) + if class_name == "flash.core.model.Task": + return True + return False -def _get_fo_serializer(model, confidence_thresh): + +def normalize_labels(filepaths, predictions): + """Converts Detections from absolute to relative coordinates + + Args: + filepaths: paths to the related images for every Detection used to generate metadata + predictions: the list of Detections to normalize + """ + for filepath, prediction in zip(filepaths, predictions): + metadata = ImageMetadata.build_for(filepath) + width = metadata.width + height = metadata.height + for detection in prediction.detections: + x, y, w, h = detection.bounding_box + detection.bounding_box = [ + x / width, + y / height, + w / width, + h / height, + ] + + +def _get_fo_serializer(model, confidence_thresh, store_logits): """Initializes the FiftyOne serializer to be used for the given task""" previous_serializer = model.serializer - if isinstance(model, ClassificationTask): + if isinstance(model, fcc.ClassificationTask): + prev_args = dict(inspect.getmembers(model.serializer)) multi_label = False - if isinstance(previous_serializer, ClassificationSerializer): - multi_label = previous_serializer.multi_label + if "multi_label" in prev_args: + multi_label = prev_args["multi_label"] - return FiftyOneLabels( - multi_label=multi_label, threshold=confidence_thresh - ) + kwargs = { + "multi_label": multi_label, + "store_logits": store_logits, + } + + if confidence_thresh is None and "threshold" in prev_args: + kwargs["threshold"] = prev_args["threshold"] + + if confidence_thresh is not None: + kwargs["threshold"] = confidence_thresh + + return fcc.FiftyOneLabels(**kwargs) else: raise ValueError( "Found an unsupported model of type %s. Supported model types are " - "%s" - % (type(model), ", ".join([t.__name__ for t in _SUPPORTED_TASKS])) + "%s" % (type(model), ", ".join(_SUPPORTED_TASKS)) ) From 6fa0298ec425e03436010ec0b6d1477b84ca8ec6 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 3 Jun 2021 11:30:29 -0400 Subject: [PATCH 06/52] resolve comments --- fiftyone/utils/flash.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 3d3055a345..4097334e1e 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -38,12 +38,6 @@ def apply_flash_model( """Applies the given ``flash.core.model.Task`` to the samples in the collection. - This method supports all the following cases: - - - Applying an image model to an image collection - - Applying an image model to the frames of a video collection - - Applying a video model to a video collection - Args: samples: a :class:`fiftyone.core.collections.SampleCollection` model: a ``flash.core.model.Task`` @@ -63,7 +57,7 @@ def apply_flash_model( error if predictions cannot be generated for a sample """ if batch_size is not None: - print("Flash models only support the default batch size") + logger.info("Flash models only support the default batch size") serializer = _get_fo_serializer(model, confidence_thresh, store_logits,) with fou.SetAttributes(model, serializer=serializer): @@ -90,7 +84,7 @@ def is_flash_model(model): return False -def normalize_labels(filepaths, predictions): +def normalize_detections(filepaths, predictions): """Converts Detections from absolute to relative coordinates Args: @@ -116,9 +110,7 @@ def _get_fo_serializer(model, confidence_thresh, store_logits): previous_serializer = model.serializer if isinstance(model, fcc.ClassificationTask): prev_args = dict(inspect.getmembers(model.serializer)) - multi_label = False - if "multi_label" in prev_args: - multi_label = prev_args["multi_label"] + multi_label = prev_args.get("multi_label", False) kwargs = { "multi_label": multi_label, From df9b6b650fa67b65c485fcc7ffd4acabea2f787f Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 3 Jun 2021 11:31:42 -0400 Subject: [PATCH 07/52] set value --- fiftyone/utils/flash.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 4097334e1e..e30b699bea 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -62,10 +62,7 @@ def apply_flash_model( serializer = _get_fo_serializer(model, confidence_thresh, store_logits,) with fou.SetAttributes(model, serializer=serializer): predictions = model.predict(samples.values("filepath")) - for sample, prediction in zip(samples, predictions): - sample.add_labels( - prediction, label_field, - ) + samples.set_values(label_field, predictions) def is_flash_model(model): From b742b6ce6dd990b067a61c84f8a75e02d3ee189c Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 3 Jun 2021 14:23:55 -0400 Subject: [PATCH 08/52] add other tasks to apply_model --- fiftyone/utils/flash.py | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index e30b699bea..fa99fe20af 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -14,7 +14,11 @@ import eta.core.utils as etau -fcc = fou.lazy_import("flash.core.classification") +fc = fou.lazy_import("flash.core.classification") +fds = fou.lazy_import("flash.image.detection.serialization") +fdm = fou.lazy_import("flash.image.detection.model") +fss = fou.lazy_import("flash.image.segmentation.serialization") +fsm = fou.lazy_import("flash.image.segmentation.model") logger = logging.getLogger(__name__) @@ -61,7 +65,13 @@ def apply_flash_model( serializer = _get_fo_serializer(model, confidence_thresh, store_logits,) with fou.SetAttributes(model, serializer=serializer): - predictions = model.predict(samples.values("filepath")) + filepaths = samples.values("filepath") + predictions = model.predict(filepaths) + + # Temporary until detections can be normalized in the serializer + if isinstance(serializer, fds.FiftyOneDetectionLabels): + normalize_detections(filepaths, predictions) + samples.set_values(label_field, predictions) @@ -105,7 +115,13 @@ def normalize_detections(filepaths, predictions): def _get_fo_serializer(model, confidence_thresh, store_logits): """Initializes the FiftyOne serializer to be used for the given task""" previous_serializer = model.serializer - if isinstance(model, fcc.ClassificationTask): + if isinstance(model, fsm.SemanticSegmentation): + return fss.FiftyOneSegmentationLabels() + + elif isinstance(model, fdm.ObjectDetector): + return fds.FiftyOneDetectionLabels() + + elif isinstance(model, fc.ClassificationTask): prev_args = dict(inspect.getmembers(model.serializer)) multi_label = prev_args.get("multi_label", False) @@ -120,7 +136,7 @@ def _get_fo_serializer(model, confidence_thresh, store_logits): if confidence_thresh is not None: kwargs["threshold"] = confidence_thresh - return fcc.FiftyOneLabels(**kwargs) + return fc.FiftyOneLabels(**kwargs) else: raise ValueError( From cd6492a4f2d2c71b2573760401e49f0b2dfc5d1f Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 15:44:22 -0400 Subject: [PATCH 09/52] cleanup --- fiftyone/utils/flash.py | 96 +++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 56 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index fa99fe20af..30bc8ca4eb 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -6,26 +6,24 @@ | """ import inspect -import logging - -import fiftyone.core.labels as fol -from fiftyone.core.metadata import ImageMetadata -import fiftyone.core.utils as fou import eta.core.utils as etau -fc = fou.lazy_import("flash.core.classification") -fds = fou.lazy_import("flash.image.detection.serialization") -fdm = fou.lazy_import("flash.image.detection.model") -fss = fou.lazy_import("flash.image.segmentation.serialization") -fsm = fou.lazy_import("flash.image.segmentation.model") - +import fiftyone.core.metadata as fom +import fiftyone.core.utils as fou -logger = logging.getLogger(__name__) +fou.ensure_lightning_flash() +import flash.core.classification as fc +import flash.image.detection.serialization as fds +import flash.image.detection.model as fdm +import flash.image.segmentation.serialization as fss +import flash.image.segmentation.model as fsm _SUPPORTED_TASKS = [ - "ClassificationTask", + fc.ClassificationTask, + fdm.ObjectDetector, + fsm.SemanticSegmentation, ] @@ -35,11 +33,8 @@ def apply_flash_model( label_field="predictions", confidence_thresh=None, store_logits=False, - batch_size=None, - num_workers=None, - skip_failures=True, ): - """Applies the given ``flash.core.model.Task`` to the samples in the + """Applies the given ``flash.core.model.Task`` to the samples in the collection. Args: @@ -53,17 +48,8 @@ def apply_flash_model( store_logits (False): whether to store logits for the model predictions. This is only supported when the provided ``model`` has logits - batch_size (None): an optional batch size to use. Only applicable for - image samples - num_workers (None): the number of workers to use when loading images. - Only applicable for Torch models - skip_failures (True): whether to gracefully continue without raising an - error if predictions cannot be generated for a sample """ - if batch_size is not None: - logger.info("Flash models only support the default batch size") - - serializer = _get_fo_serializer(model, confidence_thresh, store_logits,) + serializer = _get_serializer(model, confidence_thresh, store_logits,) with fou.SetAttributes(model, serializer=serializer): filepaths = samples.values("filepath") predictions = model.predict(filepaths) @@ -76,30 +62,32 @@ def apply_flash_model( def is_flash_model(model): - """Checks model type to determine if it is a flash model + """Determines whether the given model is a ``flash.core.model.Task``. Args: - model: the model instance to check + model: the model instance + + Returns: + True/False """ - model_class = type(model) - mro = inspect.getmro(model_class) - for c in mro: - class_name = etau.get_class_name(c) - if class_name == "flash.core.model.Task": + for cls in inspect.getmro(type(model)): + if etau.get_class_name(cls) == "flash.core.model.Task": return True return False def normalize_detections(filepaths, predictions): - """Converts Detections from absolute to relative coordinates + """Converts the bounding boxes of the provided + :class:`fiftyone.core.labels.Detections` from absolute to relative + coordinates. Args: - filepaths: paths to the related images for every Detection used to generate metadata - predictions: the list of Detections to normalize + filepaths: a list of filepaths + predictions: a list of :class:`fiftyone.core.labels.Detections` """ for filepath, prediction in zip(filepaths, predictions): - metadata = ImageMetadata.build_for(filepath) + metadata = fom.ImageMetadata.build_for(filepath) width = metadata.width height = metadata.height for detection in prediction.detections: @@ -112,25 +100,16 @@ def normalize_detections(filepaths, predictions): ] -def _get_fo_serializer(model, confidence_thresh, store_logits): - """Initializes the FiftyOne serializer to be used for the given task""" - previous_serializer = model.serializer - if isinstance(model, fsm.SemanticSegmentation): - return fss.FiftyOneSegmentationLabels() - - elif isinstance(model, fdm.ObjectDetector): - return fds.FiftyOneDetectionLabels() - - elif isinstance(model, fc.ClassificationTask): +def _get_serializer(model, confidence_thresh, store_logits): + if isinstance(model, fc.ClassificationTask): prev_args = dict(inspect.getmembers(model.serializer)) - multi_label = prev_args.get("multi_label", False) kwargs = { - "multi_label": multi_label, + "multi_label": prev_args.get("multi_label", False), "store_logits": store_logits, } - if confidence_thresh is None and "threshold" in prev_args: + if "threshold" in prev_args: kwargs["threshold"] = prev_args["threshold"] if confidence_thresh is not None: @@ -138,8 +117,13 @@ def _get_fo_serializer(model, confidence_thresh, store_logits): return fc.FiftyOneLabels(**kwargs) - else: - raise ValueError( - "Found an unsupported model of type %s. Supported model types are " - "%s" % (type(model), ", ".join(_SUPPORTED_TASKS)) - ) + if isinstance(model, fdm.ObjectDetector): + return fds.FiftyOneDetectionLabels() + + if isinstance(model, fsm.SemanticSegmentation): + return fss.FiftyOneSegmentationLabels() + + raise ValueError( + "Unsupported model type %s. Supported model types are %s" + % (type(model), _SUPPORTED_TASKS) + ) From 9c496ad3feff53273a2bfceb45b1316c0dbaeeca Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 15:50:37 -0400 Subject: [PATCH 10/52] completing ImageSegmentationDirectory type --- .../user_guide/dataset_creation/datasets.rst | 88 +++++++ docs/source/user_guide/export_datasets.rst | 69 +++++ fiftyone/types/dataset_types.py | 42 +++- fiftyone/utils/data/exporters.py | 58 +++++ fiftyone/utils/data/importers.py | 235 +++++++++--------- 5 files changed, 379 insertions(+), 113 deletions(-) diff --git a/docs/source/user_guide/dataset_creation/datasets.rst b/docs/source/user_guide/dataset_creation/datasets.rst index ebc08c194e..2945efb09a 100644 --- a/docs/source/user_guide/dataset_creation/datasets.rst +++ b/docs/source/user_guide/dataset_creation/datasets.rst @@ -142,6 +142,9 @@ format when reading the dataset from disk. | | stored as TFRecords in `TF Object Detection API format \ | | | `_. | +---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ + | :ref:`ImageSegmentationDirectory ` | A labeled dataset consisting of images and their associated semantic segmentations | + | | stored as images on disk. | + +---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ | :ref:`CVATImageDataset ` | A labeled dataset consisting of images and their associated object detections | | | stored in `CVAT image format `_. | +---------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+ @@ -1435,6 +1438,91 @@ directory of TFRecords in the above format as follows: --dataset-dir $DATASET_DIR \ --type fiftyone.types.TFObjectDetectionDataset +.. _ImageSegmentationDirectory-import: + +ImageSegmentationDirectory +-------------------------- + +The :class:`fiftyone.types.ImageSegmentationDirectory ` +type represents a labeled dataset consisting of images and their associated +semantic segmentations stored as images on disk. + +Datasets of this type are read in the following format: + +.. code-block:: text + + / + data/ + . + . + ... + labels/ + . + . + ... + +where ``labels/`` contains the semantic segmentations stored as images. + +Unlabeled images have no corresponding file in ``labels/``. + +You can create a FiftyOne dataset from an image segmentation dataset stored in +the above format as follows: + +.. tabs:: + + .. group-tab:: Python + + .. code-block:: python + :linenos: + + import fiftyone as fo + + name = "my-image-segmentation-dataset" + dataset_dir = "/path/to/image-segmentation-dataset" + + # Create the dataset + dataset = fo.Dataset.from_dir( + dataset_dir, fo.types.ImageSegmentationDirectory, name=name + ) + + # View summary info about the dataset + print(dataset) + + # Print the first few samples in the dataset + print(dataset.head()) + + .. group-tab:: CLI + + .. code-block:: shell + + NAME=my-image-segmentation-dataset + DATASET_DIR=/path/to/image-segmentation-dataset + + # Create the dataset + fiftyone datasets create \ + --name $NAME \ + --dataset-dir $DATASET_DIR \ + --type fiftyone.types.ImageSegmentationDirectory + + # View summary info about the dataset + fiftyone datasets info $NAME + + # Print the first few samples in the dataset + fiftyone datasets head $NAME + + To view an image segmentation dataset stored in the above format in the + FiftyOne App without creating a persistent FiftyOne dataset, you + can execute: + + .. code-block:: shell + + DATASET_DIR=/path/to/image-segmentation-dataset + + # View the dataset in the App + fiftyone app view \ + --dataset-dir $DATASET_DIR \ + --type fiftyone.types.ImageSegmentationDirectory + .. _CVATImageDataset-import: CVATImageDataset diff --git a/docs/source/user_guide/export_datasets.rst b/docs/source/user_guide/export_datasets.rst index 4b808d3475..f1b3cea4c4 100644 --- a/docs/source/user_guide/export_datasets.rst +++ b/docs/source/user_guide/export_datasets.rst @@ -132,6 +132,9 @@ format when writing the dataset to disk. | | stored as TFRecords in `TF Object Detection API format \ | | | `_. | +--------------------------------------------------------------------+------------------------------------------------------------------------------------+ + | :ref:`ImageSegmentationDirectory | A labeled dataset consisting of images and their associated semantic segmentations | + | ` | stored as images on disk. | + +--------------------------------------------------------------------+------------------------------------------------------------------------------------+ | :ref:`CVATImageDataset ` | A labeled dataset consisting of images and their associated object detections | | | stored in `CVAT image format `_. | +--------------------------------------------------------------------+------------------------------------------------------------------------------------+ @@ -1173,6 +1176,72 @@ format as follows: --label-field $LABEL_FIELD \ --type fiftyone.types.TFObjectDetectionDataset +.. _ImageSegmentationDirectory-export: + +ImageSegmentationDirectory +-------------------------- + +The :class:`fiftyone.types.ImageSegmentationDirectory ` +type represents a labeled dataset consisting of images and their associated +semantic segmentations stored as images on disk. + +Datasets of this type are exported in the following format: + +.. code-block:: text + + / + data/ + . + . + ... + labels/ + . + . + ... + +where ``labels/`` contains the semantic segmentations stored as images. + +Unlabeled images have no corresponding file in ``labels/``. + +You can export a FiftyOne dataset as an image segmentation dataset in the above +format as follows: + +.. tabs:: + + .. group-tab:: Python + + .. code-block:: python + :linenos: + + import fiftyone as fo + + export_dir = "/path/for/image-segmentation-dataset" + label_field = "ground_truth" # for example + + # The Dataset or DatasetView to export + dataset_or_view = fo.Dataset(...) + + # Export the dataset + dataset_or_view.export( + export_dir=export_dir, + dataset_type=fo.types.ImageSegmentationDirectory, + label_field=label_field, + ) + + .. group-tab:: CLI + + .. code-block:: shell + + NAME=my-dataset + EXPORT_DIR=/path/for/image-segmentation-dataset + LABEL_FIELD=ground_truth # for example + + # Export the dataset + fiftyone datasets export $NAME \ + --export-dir $EXPORT_DIR \ + --label-field $LABEL_FIELD \ + --type fiftyone.types.ImageSegmentationDirectory + .. _CVATImageDataset-export: CVATImageDataset diff --git a/fiftyone/types/dataset_types.py b/fiftyone/types/dataset_types.py index 0c224974ec..84b5e06729 100644 --- a/fiftyone/types/dataset_types.py +++ b/fiftyone/types/dataset_types.py @@ -186,6 +186,14 @@ class ImageDetectionDataset(LabeledImageDataset): pass +class ImageSegmentationDataset(LabeledImageDataset): + """Base type for datasets that represent a collection of images and a set + of associated semantic segmentations. + """ + + pass + + class VideoDetectionDataset(LabeledVideoDataset): """Base type for datasets that represent a collection of videos and a set of associated video object detections. @@ -876,7 +884,39 @@ def get_dataset_exporter_cls(self): return fout.TFObjectDetectionDatasetExporter -class CVATImageDataset(ImageDetectionDataset): +class ImageSegmentationDirectory(ImageSegmentationDataset): + """An labeled dataset consisting of images and their associated semantic + segmentations stored as images on disk. + + Datasets of this type are read/written in the following format:: + + / + data/ + . + . + ... + labels/ + . + . + ... + + where ``labels/`` contains the semantic segmentations stored as images. + + Unlabeled images have no corresponding file in ``labels/``. + """ + + def get_dataset_importer_cls(self): + import fiftyone.utils.data as foud + + return foud.ImageSegmentationDirectoryImporter + + def get_dataset_exporter_cls(self): + import fiftyone.utils.data as foud + + return foud.ImageSegmentationDirectoryExporter + + +class CVATImageDataset(ImageLabelsDataset): """A labeled dataset consisting of images and their associated labels stored in `CVAT image format `_. diff --git a/fiftyone/utils/data/exporters.py b/fiftyone/utils/data/exporters.py index 10d016413c..407481a848 100644 --- a/fiftyone/utils/data/exporters.py +++ b/fiftyone/utils/data/exporters.py @@ -1443,6 +1443,64 @@ def _parse_classes(self): self._labels_map_rev = _to_labels_map_rev(self.classes) +class ImageSegmentationDirectoryExporter(LabeledImageDatasetExporter): + """Exporter that writes an image segmentation dataset to disk. + + See :class:`fiftyone.types.dataset_types.ImageSegmentationDirectory` for + format details. + + If the path to an image is provided, the image is directly copied to its + destination, maintaining the original filename, unless a name conflict + would occur, in which case an index of the form ``"-%d" % count`` is + appended to the base filename. + + Args: + export_dir: the directory to write the export + image_format (None): the image format to use when writing in-memory + images to disk. By default, ``fiftyone.config.default_image_ext`` + is used + mask_format (".png"): the image format to use when writing masks to + disk + """ + + def __init__(self, export_dir, image_format=None, mask_format=".png"): + if image_format is None: + image_format = fo.config.default_image_ext + + super().__init__(export_dir) + self.image_format = image_format + self.mask_format = mask_format + self._data_dir = None + self._labels_dir = None + self._filename_maker = None + + @property + def requires_image_metadata(self): + return False + + @property + def label_cls(self): + return fol.Segmentation + + def setup(self): + self._data_dir = os.path.join(self.export_dir, "data") + self._labels_dir = os.path.join(self.export_dir, "labels") + self._filename_maker = fou.UniqueFilenameMaker( + output_dir=self._data_dir, + default_ext=self.image_format, + ignore_exts=True, + ) + + def export_sample(self, image_or_path, segmentation, metadata=None): + out_image_path = self._export_image_or_path( + image_or_path, self._filename_maker + ) + name = os.path.splitext(os.path.basename(out_image_path))[0] + + out_mask_path = os.path.join(self._labels_dir, name + self.mask_format) + etai.write(segmentation.mask, out_mask_path) + + class FiftyOneImageLabelsDatasetExporter(LabeledImageDatasetExporter): """Exporter that writes a labeled image dataset to disk with labels stored in `ETA ImageLabels format `_. diff --git a/fiftyone/utils/data/importers.py b/fiftyone/utils/data/importers.py index bc9b2c32d9..cf0fd4a7ff 100644 --- a/fiftyone/utils/data/importers.py +++ b/fiftyone/utils/data/importers.py @@ -11,6 +11,7 @@ import random from bson import json_util +import cv2 import eta.core.datasets as etads import eta.core.image as etai @@ -1728,16 +1729,15 @@ def get_num_samples(dataset_dir): return num_samples -class ImageSegmentationDirectoryImporter(LabeledImageDatasetImporter): - """Importer for an image segmentation dataset stored on disk. +class FiftyOneImageDetectionDatasetImporter(LabeledImageDatasetImporter): + """Importer for image detection datasets stored on disk in FiftyOne's + default format. - See :class:`fiftyone.types.dataset_types.ImageSegmentationDirectory` - for format details. + See :class:`fiftyone.types.dataset_types.FiftyOneImageDetectionDataset` for + format details. Args: dataset_dir: the dataset directory - data_path: the path to the directory containing raw images - labels_path: the path to the labels directory or file compute_metadata (False): whether to produce :class:`fiftyone.core.metadata.ImageMetadata` instances for each image when importing @@ -1751,23 +1751,13 @@ class ImageSegmentationDirectoryImporter(LabeledImageDatasetImporter): def __init__( self, - dataset_dir="", - data_path=None, - labels_path=None, + dataset_dir, compute_metadata=False, skip_unlabeled=False, shuffle=False, seed=None, max_samples=None, ): - if dataset_dir is None: - if data_path is None: - raise ValueError( - "Either `dataset_dir` or `data_path` must be specified" - ) - else: - dataset_dir = "" - super().__init__( dataset_dir, skip_unlabeled=skip_unlabeled, @@ -1776,48 +1766,44 @@ def __init__( max_samples=max_samples, ) self.compute_metadata = compute_metadata - self._samples = None - self._iter_samples = None + self._classes = None + self._sample_parser = None + self._image_paths_map = None + self._labels_map = None + self._uuids = None + self._iter_uuids = None self._num_samples = None - - if data_path is not None: - self._data_path = data_path - else: - self._data_path = os.path.join(self.dataset_dir, "data") - if labels_path is not None: - self._labels_path = labels_path - else: - self._labels_path = os.path.join(self.dataset_dir, "labels") + self._has_labels = False def __iter__(self): - self._iter_samples = iter(self._samples) + self._iter_uuids = iter(self._uuids) return self def __len__(self): return self._num_samples def __next__(self): - image_path, mask_path = next(self._iter_samples) + uuid = next(self._iter_uuids) + + image_path = self._image_paths_map[uuid] + target = self._labels_map[uuid] + + if self._has_labels: + self._sample_parser.with_sample((image_path, target)) + label = self._sample_parser.get_label() + else: + label = None if self.compute_metadata: image_metadata = fom.ImageMetadata.build_for(image_path) else: image_metadata = None - if mask_path is None: - return image_path, image_metadata, None - - mask = etai.read(mask_path) - if len(mask.shape) == 3: - mask = mask[:, :, 0] - - label = fol.Segmentation(mask=mask) - return image_path, image_metadata, label @property def has_dataset_info(self): - return False + return self._classes is not None @property def has_image_metadata(self): @@ -1825,48 +1811,67 @@ def has_image_metadata(self): @property def label_cls(self): - return fol.Segmentation + return fol.Detections def setup(self): - samples = [] - get_filename = lambda f: os.path.splitext(os.path.basename(f))[0] - data_paths = etau.list_files(self._data_path, abs_paths=True) - mask_paths = etau.list_files(self._labels_path, abs_paths=True) + self._sample_parser = FiftyOneImageDetectionSampleParser() - samples = [] - mask_filenames = [get_filename(f) for f in mask_paths] - for data_path in data_paths: - data_fn = get_filename(data_path) - if data_fn in mask_filenames: - mask_path = mask_paths[mask_filenames.index(data_fn)] - samples.append((data_path, mask_path)) - elif not self.skip_unlabeled: - samples.append((data_path, None)) + data_dir = os.path.join(self.dataset_dir, "data") + self._image_paths_map = { + os.path.splitext(os.path.basename(p))[0]: p + for p in etau.list_files(data_dir, abs_paths=True) + } - self._samples = self._preprocess_list(samples) - self._num_samples = len(self._samples) + labels_path = os.path.join(self.dataset_dir, "labels.json") + if os.path.isfile(labels_path): + labels = etas.load_json(labels_path) + else: + labels = {} + + self._classes = labels.get("classes", None) + self._sample_parser.classes = self._classes + + self._labels_map = labels.get("labels", {}) + if self.skip_unlabeled: + self._labels_map = { + k: v for k, v in self._labels_map.items() if v is not None + } + + self._has_labels = any(self._labels_map.values()) + + uuids = sorted(self._labels_map.keys()) + self._uuids = self._preprocess_list(uuids) + self._num_samples = len(self._uuids) + + def get_dataset_info(self): + return {"classes": self._classes} @staticmethod - def get_num_samples(dataset_dir=None, data_path=None): - if data_path is not None: - return len(etau.list_files(data_path)) - elif dataset_dir is None: - raise ValueError( - "Either `dataset_dir` or `data_path` must be specified" - ) - else: - return len(etau.list_files(os.path.join(dataset_dir, "data"))) + def get_classes(dataset_dir): + labels_path = os.path.join(dataset_dir, "labels.json") + labels = etas.read_json(labels_path) + return labels.get("classes", None) + + @staticmethod + def get_num_samples(dataset_dir): + labels_path = os.path.join(dataset_dir, "labels.json") + labels = etas.read_json(labels_path) + return len(labels.get("labels", {})) -class FiftyOneImageDetectionDatasetImporter(LabeledImageDatasetImporter): - """Importer for image detection datasets stored on disk in FiftyOne's - default format. +class ImageSegmentationDirectoryImporter(LabeledImageDatasetImporter): + """Importer for image segmentation datasets stored on disk. - See :class:`fiftyone.types.dataset_types.FiftyOneImageDetectionDataset` for + See :class:`fiftyone.types.dataset_types.ImageSegmentationDirectory` for format details. Args: - dataset_dir: the dataset directory + dataset_dir: the dataset directory. If ``data_path`` and + ``labels_path`` are both absolute paths, this value has no effect + data_path ("data"): either the name of the subfolder in ``dataset_dir`` + or an absolute path to the directory of images + labels_path ("labels"): either the name of the subfolder in + ``dataset_dir`` or an absolute path to the directory of labels compute_metadata (False): whether to produce :class:`fiftyone.core.metadata.ImageMetadata` instances for each image when importing @@ -1881,6 +1886,8 @@ class FiftyOneImageDetectionDatasetImporter(LabeledImageDatasetImporter): def __init__( self, dataset_dir, + data_path="data", + labels_path="labels", compute_metadata=False, skip_unlabeled=False, shuffle=False, @@ -1894,15 +1901,17 @@ def __init__( seed=seed, max_samples=max_samples, ) + self.data_path = data_path + self.labels_path = labels_path self.compute_metadata = compute_metadata - self._classes = None - self._sample_parser = None + + self._data_path = None + self._labels_path = None self._image_paths_map = None - self._labels_map = None + self._mask_paths_map = None self._uuids = None self._iter_uuids = None self._num_samples = None - self._has_labels = False def __iter__(self): self._iter_uuids = iter(self._uuids) @@ -1915,24 +1924,24 @@ def __next__(self): uuid = next(self._iter_uuids) image_path = self._image_paths_map[uuid] - target = self._labels_map[uuid] - - if self._has_labels: - self._sample_parser.with_sample((image_path, target)) - label = self._sample_parser.get_label() - else: - label = None + mask_path = self._mask_paths_map.get(uuid, None) if self.compute_metadata: image_metadata = fom.ImageMetadata.build_for(image_path) else: image_metadata = None + if mask_path is None: + return image_path, image_metadata, None + + mask = _read_mask(mask_path) + label = fol.Segmentation(mask=mask) + return image_path, image_metadata, label @property def has_dataset_info(self): - return self._classes is not None + return False @property def has_image_metadata(self): @@ -1940,52 +1949,49 @@ def has_image_metadata(self): @property def label_cls(self): - return fol.Detections + return fol.Segmentation def setup(self): - self._sample_parser = FiftyOneImageDetectionSampleParser() + if os.path.isabs(self.data_path): + data_dir = self.data_path + else: + data_dir = os.path.join(self.dataset_dir, self.data_path) + + if os.path.isabs(self.labels_path): + labels_dir = self.labels_path + else: + labels_dir = os.path.join(self.dataset_dir, self.labels_path) - data_dir = os.path.join(self.dataset_dir, "data") self._image_paths_map = { os.path.splitext(os.path.basename(p))[0]: p for p in etau.list_files(data_dir, abs_paths=True) } - labels_path = os.path.join(self.dataset_dir, "labels.json") - if os.path.isfile(labels_path): - labels = etas.load_json(labels_path) - else: - labels = {} - - self._classes = labels.get("classes", None) - self._sample_parser.classes = self._classes + self._mask_paths_map = { + os.path.splitext(os.path.basename(p))[0]: p + for p in etau.list_files(labels_dir, abs_paths=True) + } - self._labels_map = labels.get("labels", {}) if self.skip_unlabeled: - self._labels_map = { - k: v for k, v in self._labels_map.items() if v is not None - } - - self._has_labels = any(self._labels_map.values()) + uuids = sorted(self._mask_paths_map.keys()) + else: + uuids = sorted(self._image_paths_map.keys()) - uuids = sorted(self._labels_map.keys()) self._uuids = self._preprocess_list(uuids) self._num_samples = len(self._uuids) - def get_dataset_info(self): - return {"classes": self._classes} - @staticmethod - def get_classes(dataset_dir): - labels_path = os.path.join(dataset_dir, "labels.json") - labels = etas.read_json(labels_path) - return labels.get("classes", None) + def get_num_samples(dataset_dir=None, data_path="data"): + if os.path.isabs(data_path): + data_dir = data_path + elif dataset_dir is not None: + data_dir = os.path.join(dataset_dir, data_path) + else: + raise ValueError( + "Either `dataset_dir` or `data_path` must be provided" + ) - @staticmethod - def get_num_samples(dataset_dir): - labels_path = os.path.join(dataset_dir, "labels.json") - labels = etas.read_json(labels_path) - return len(labels.get("labels", {})) + return len(etau.list_files(data_dir)) class FiftyOneImageLabelsDatasetImporter(LabeledImageDatasetImporter): @@ -2255,3 +2261,8 @@ def get_dataset_info(self): @staticmethod def get_num_samples(dataset_dir): return len(etads.load_dataset(dataset_dir)) + + +def _read_mask(mask_path): + # pylint: disable=no-member + return etai.read(mask_path, cv2.IMREAD_UNCHANGED) From 1ede80ca5c1ab37cce98fd26baccee9fc0421b16 Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 16:10:42 -0400 Subject: [PATCH 11/52] updating docstrings --- fiftyone/core/collections.py | 24 ++++++++++++++--------- fiftyone/core/models.py | 38 ++++++++++++++++++++++++------------ fiftyone/utils/flash.py | 9 +++++---- 3 files changed, 45 insertions(+), 26 deletions(-) diff --git a/fiftyone/core/collections.py b/fiftyone/core/collections.py index 8a91b770b8..27ef41bb34 100644 --- a/fiftyone/core/collections.py +++ b/fiftyone/core/collections.py @@ -1234,17 +1234,22 @@ def apply_model( num_workers=None, skip_failures=True, ): - """Applies the :class:`fiftyone.core.models.Model` to the samples in - the collection. + """Applies the :class:`fiftyone.core.models.Model` or Lightning Flash + model to the samples in the collection. - This method supports all the following cases: + This method supports all of the following cases: - - Applying an image model to an image collection - - Applying an image model to the frames of a video collection - - Applying a video model to a video collection + - Applying an image :class:`fiftyone.core.models.Model` to an image + collection + - Applying an image :class:`fiftyone.core.models.Model` to the frames + of a video collection + - Applying a video :class:`fiftyone.core.models.Model` to a video + collection + - Applying a Lightning Flash model to an image or video collection Args: - model: a :class:`fiftyone.core.models.Model` + model: a :class:`fiftyone.core.models.Model` or + ``flash.core.model.Task`` label_field ("predictions"): the name of the field in which to store the model predictions. When performing inference on video frames, the "frames." prefix is optional @@ -1254,12 +1259,13 @@ def apply_model( predictions. This is only supported when the provided ``model`` has logits, ``model.has_logits == True`` batch_size (None): an optional batch size to use. Only applicable - for image samples + when applying a :class:`fiftyone.core.models.Model` that + supports batching to images or video frames num_workers (None): the number of workers to use when loading images. Only applicable for Torch models skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a - sample + sample. Not applicable to Lightning Flash models """ fomo.apply_model( self, diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index ca5472c5b6..2e0c9aa5ee 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -28,7 +28,6 @@ tud = fou.lazy_import("torch.utils.data") - foe = fou.lazy_import("fiftyone.core.eta_utils") fout = fou.lazy_import("fiftyone.utils.torch") fouf = fou.lazy_import("fiftyone.utils.flash") @@ -54,17 +53,19 @@ def apply_model( num_workers=None, skip_failures=True, ): - """Applies the given :class:`Model` to the samples in the collection. + """Applies the given :class:`Model` or Lightning Flash model to the samples + in the collection. - This method supports all the following cases: + This method supports all of the following cases: - - Applying an image model to an image collection - - Applying an image model to the frames of a video collection - - Applying a video model to a video collection + - Applying an image :class:`Model` to an image collection + - Applying an image :class:`Model` to the frames of a video collection + - Applying a video :class:`Model` to a video collection + - Applying a Lightning Flash model to an image or video collection Args: samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a :class:`Model` + model: a :class:`Model` or ``flash.core.model.Task`` label_field ("predictions"): the name of the field in which to store the model predictions. When performing inference on video frames, the "frames." prefix is optional @@ -73,23 +74,34 @@ def apply_model( store_logits (False): whether to store logits for the model predictions. This is only supported when the provided ``model`` has logits, ``model.has_logits == True`` - batch_size (None): an optional batch size to use. Only applicable for - image samples + batch_size (None): an optional batch size to use. Only applicable when + applying a :class:`Model` that supports batching to images or video + frames num_workers (None): the number of workers to use when loading images. Only applicable for Torch models skip_failures (True): whether to gracefully continue without raising an - error if predictions cannot be generated for a sample + error if predictions cannot be generated for a sample. Not + applicable to Lightning Flash models """ if fouf.is_flash_model(model): + if batch_size is not None: + logger.warning( + "The `batch_size` parameter is not supported for Lightning " + "Flash models" + ) + + if num_workers is not None: + logger.warning( + "The `num_workers` parameter is not supported for Lightning " + "Flash models" + ) + return fouf.apply_flash_model( samples, model, label_field=label_field, confidence_thresh=confidence_thresh, store_logits=store_logits, - batch_size=batch_size, - num_workers=num_workers, - skip_failures=skip_failures, ) if not isinstance(model, Model): diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 30bc8ca4eb..02f19a55ff 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -1,5 +1,6 @@ """ -PyTorch Lightning Flash utilities. +Utilities for working with +`PyTorch Lightning Flash `_. | Copyright 2017-2021, Voxel51, Inc. | `voxel51.com `_ @@ -34,7 +35,7 @@ def apply_flash_model( confidence_thresh=None, store_logits=False, ): - """Applies the given ``flash.core.model.Task`` to the samples in the + """Applies the given Lightning Flash model to the samples in the collection. Args: @@ -62,10 +63,10 @@ def apply_flash_model( def is_flash_model(model): - """Determines whether the given model is a ``flash.core.model.Task``. + """Determines whether the given model is a Lightning Flash model. Args: - model: the model instance + model: the model Returns: True/False From b9ca624c7e5d686a7d8bdcaf1f289ec75f9f1848 Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 16:13:12 -0400 Subject: [PATCH 12/52] standardizing --- fiftyone/core/utils.py | 2 +- fiftyone/utils/flash.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fiftyone/core/utils.py b/fiftyone/core/utils.py index 45f81fe48d..f8fa4caaf5 100644 --- a/fiftyone/core/utils.py +++ b/fiftyone/core/utils.py @@ -196,7 +196,7 @@ def ensure_boto3(error_msg=None): def ensure_lightning_flash(error_msg=None): - """Verifies that PyTorch Lightning Flash is installed and importable. + """Verifies that Lightning Flash is installed and importable. Args: error_msg (None): an optional custom error message to print diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 02f19a55ff..f15c86116d 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -1,6 +1,6 @@ """ Utilities for working with -`PyTorch Lightning Flash `_. +`Lightning Flash `_. | Copyright 2017-2021, Voxel51, Inc. | `voxel51.com `_ From 4d365a88e806d97c9ab9c65b7de51d0d9e8916e4 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 3 Jun 2021 16:40:03 -0400 Subject: [PATCH 13/52] force grayscale param for loading rgb masks --- fiftyone/utils/data/importers.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/fiftyone/utils/data/importers.py b/fiftyone/utils/data/importers.py index cf0fd4a7ff..e73bf1435b 100644 --- a/fiftyone/utils/data/importers.py +++ b/fiftyone/utils/data/importers.py @@ -1872,6 +1872,8 @@ class ImageSegmentationDirectoryImporter(LabeledImageDatasetImporter): or an absolute path to the directory of images labels_path ("labels"): either the name of the subfolder in ``dataset_dir`` or an absolute path to the directory of labels + force_grayscale (False): whether to load RGB masks as grayscale by + storing only the first channel compute_metadata (False): whether to produce :class:`fiftyone.core.metadata.ImageMetadata` instances for each image when importing @@ -1889,6 +1891,7 @@ def __init__( data_path="data", labels_path="labels", compute_metadata=False, + force_grayscale=False, skip_unlabeled=False, shuffle=False, seed=None, @@ -1903,6 +1906,7 @@ def __init__( ) self.data_path = data_path self.labels_path = labels_path + self.force_grayscale = force_grayscale self.compute_metadata = compute_metadata self._data_path = None @@ -1934,7 +1938,7 @@ def __next__(self): if mask_path is None: return image_path, image_metadata, None - mask = _read_mask(mask_path) + mask = _read_mask(mask_path, force_grayscale=self.force_grayscale) label = fol.Segmentation(mask=mask) return image_path, image_metadata, label @@ -2263,6 +2267,9 @@ def get_num_samples(dataset_dir): return len(etads.load_dataset(dataset_dir)) -def _read_mask(mask_path): +def _read_mask(mask_path, force_grayscale=False): # pylint: disable=no-member - return etai.read(mask_path, cv2.IMREAD_UNCHANGED) + mask = etai.read(mask_path, cv2.IMREAD_UNCHANGED) + if force_grayscale and len(mask.shape) == 3: + mask = mask[:, :, 0] + return mask From 2872451499ecb529aaf257fc84eec060fb2bce6b Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 20:26:24 -0400 Subject: [PATCH 14/52] handle alpha channel --- fiftyone/utils/data/importers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fiftyone/utils/data/importers.py b/fiftyone/utils/data/importers.py index e73bf1435b..e7249fed2f 100644 --- a/fiftyone/utils/data/importers.py +++ b/fiftyone/utils/data/importers.py @@ -2270,6 +2270,7 @@ def get_num_samples(dataset_dir): def _read_mask(mask_path, force_grayscale=False): # pylint: disable=no-member mask = etai.read(mask_path, cv2.IMREAD_UNCHANGED) - if force_grayscale and len(mask.shape) == 3: + if force_grayscale and mask.ndim > 1: mask = mask[:, :, 0] + return mask From 62baf46466c6f61e712b6c79bd3789dc003c2c77 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 3 Jun 2021 20:31:27 -0400 Subject: [PATCH 15/52] segmentation priority --- fiftyone/utils/flash.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index f15c86116d..1ab63c3e99 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -102,6 +102,12 @@ def normalize_detections(filepaths, predictions): def _get_serializer(model, confidence_thresh, store_logits): + if isinstance(model, fsm.SemanticSegmentation): + return fss.FiftyOneSegmentationLabels() + + if isinstance(model, fdm.ObjectDetector): + return fds.FiftyOneDetectionLabels() + if isinstance(model, fc.ClassificationTask): prev_args = dict(inspect.getmembers(model.serializer)) @@ -118,12 +124,6 @@ def _get_serializer(model, confidence_thresh, store_logits): return fc.FiftyOneLabels(**kwargs) - if isinstance(model, fdm.ObjectDetector): - return fds.FiftyOneDetectionLabels() - - if isinstance(model, fsm.SemanticSegmentation): - return fss.FiftyOneSegmentationLabels() - raise ValueError( "Unsupported model type %s. Supported model types are %s" % (type(model), _SUPPORTED_TASKS) From f2c71eed2b4617dea602a25306858c191ca19f73 Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 21:32:22 -0400 Subject: [PATCH 16/52] tweak --- fiftyone/utils/flash.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 1ab63c3e99..cabd8bfbc0 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -21,7 +21,8 @@ import flash.image.segmentation.model as fsm -_SUPPORTED_TASKS = [ +_BASE_MODEL_TYPE = "flash.core.model.Task" +_SUPPORTED_MODELS = [ fc.ClassificationTask, fdm.ObjectDetector, fsm.SemanticSegmentation, @@ -72,7 +73,7 @@ def is_flash_model(model): True/False """ for cls in inspect.getmro(type(model)): - if etau.get_class_name(cls) == "flash.core.model.Task": + if etau.get_class_name(cls) == _BASE_MODEL_TYPE: return True return False @@ -126,5 +127,5 @@ def _get_serializer(model, confidence_thresh, store_logits): raise ValueError( "Unsupported model type %s. Supported model types are %s" - % (type(model), _SUPPORTED_TASKS) + % (type(model), _SUPPORTED_MODELS) ) From c4daab03972972a22d8823d5365833b467eeda6b Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 21:32:37 -0400 Subject: [PATCH 17/52] passing threshold through --- fiftyone/utils/flash.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index cabd8bfbc0..da673cb98d 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -107,7 +107,7 @@ def _get_serializer(model, confidence_thresh, store_logits): return fss.FiftyOneSegmentationLabels() if isinstance(model, fdm.ObjectDetector): - return fds.FiftyOneDetectionLabels() + return fds.FiftyOneDetectionLabels(threshold=confidence_thresh) if isinstance(model, fc.ClassificationTask): prev_args = dict(inspect.getmembers(model.serializer)) From e002c8956f860dc010750d8a2256fc2a2b5769a9 Mon Sep 17 00:00:00 2001 From: brimoor Date: Thu, 3 Jun 2021 21:39:35 -0400 Subject: [PATCH 18/52] todo --- fiftyone/utils/flash.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index da673cb98d..a989a52c7a 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -51,12 +51,12 @@ def apply_flash_model( predictions. This is only supported when the provided ``model`` has logits """ - serializer = _get_serializer(model, confidence_thresh, store_logits,) + serializer = _get_serializer(model, confidence_thresh, store_logits) with fou.SetAttributes(model, serializer=serializer): filepaths = samples.values("filepath") predictions = model.predict(filepaths) - # Temporary until detections can be normalized in the serializer + # @todo remove when `FiftyOneDetectionLabels` can self-normalize if isinstance(serializer, fds.FiftyOneDetectionLabels): normalize_detections(filepaths, predictions) From 74c8dbd732c3673d4463deef43462afcc135cf50 Mon Sep 17 00:00:00 2001 From: brimoor Date: Fri, 4 Jun 2021 09:32:28 -0400 Subject: [PATCH 19/52] adding intersphinx docs links --- docs/source/conf.py | 10 ++++++++++ fiftyone/core/collections.py | 13 ++++++++----- fiftyone/core/models.py | 11 +++++++---- fiftyone/utils/flash.py | 7 ++++--- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index e2381fa340..cda2f06c74 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -133,6 +133,16 @@ # Path to the redirects file, relative to `source/` redirects_file = "redirects" +# -- Options for intersphinx extension --------------------------------------- + +intersphinx_mapping = { + # including this autolinks things like (None) which is not desirable + # "python": ("https://docs.python.org/3", None), + "numpy": ("https://numpy.org/doc/stable/", None), + "torch": ("https://pytorch.org/docs/stable/", None), + "flash": ("https://lightning-flash.readthedocs.io/en/latest", None), +} + # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for diff --git a/fiftyone/core/collections.py b/fiftyone/core/collections.py index 27ef41bb34..9a6351052b 100644 --- a/fiftyone/core/collections.py +++ b/fiftyone/core/collections.py @@ -1234,8 +1234,9 @@ def apply_model( num_workers=None, skip_failures=True, ): - """Applies the :class:`fiftyone.core.models.Model` or Lightning Flash - model to the samples in the collection. + """Applies the :class:`FiftyOne model ` or + :class:`Lightning Flash model ` to the + samples in the collection. This method supports all of the following cases: @@ -1245,11 +1246,12 @@ def apply_model( of a video collection - Applying a video :class:`fiftyone.core.models.Model` to a video collection - - Applying a Lightning Flash model to an image or video collection + - Applying a :class:`flash:flash.core.model.Task` to an image or + video collection Args: model: a :class:`fiftyone.core.models.Model` or - ``flash.core.model.Task`` + :class:`flash:flash.core.model.Task` label_field ("predictions"): the name of the field in which to store the model predictions. When performing inference on video frames, the "frames." prefix is optional @@ -1262,7 +1264,8 @@ def apply_model( when applying a :class:`fiftyone.core.models.Model` that supports batching to images or video frames num_workers (None): the number of workers to use when loading - images. Only applicable for Torch models + images. Only applicable to FiftyOne models that implement + :class:`fiftyone.core.models.TorchModelMixin` skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample. Not applicable to Lightning Flash models diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 2e0c9aa5ee..76eea7b7cb 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -53,7 +53,8 @@ def apply_model( num_workers=None, skip_failures=True, ): - """Applies the given :class:`Model` or Lightning Flash model to the samples + """Applies the :class:`FiftyOne model ` or + :class:`Lightning Flash model ` to the samples in the collection. This method supports all of the following cases: @@ -61,11 +62,12 @@ def apply_model( - Applying an image :class:`Model` to an image collection - Applying an image :class:`Model` to the frames of a video collection - Applying a video :class:`Model` to a video collection - - Applying a Lightning Flash model to an image or video collection + - Applying a :class:`flash:flash.core.model.Task` to an image or video + collection Args: samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a :class:`Model` or ``flash.core.model.Task`` + model: a :class:`Model` or :class:`flash:flash.core.model.Task` label_field ("predictions"): the name of the field in which to store the model predictions. When performing inference on video frames, the "frames." prefix is optional @@ -78,7 +80,8 @@ def apply_model( applying a :class:`Model` that supports batching to images or video frames num_workers (None): the number of workers to use when loading images. - Only applicable for Torch models + Only applicable to FiftyOne models that implement + :class:`TorchModelMixin` skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample. Not applicable to Lightning Flash models diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index a989a52c7a..94c9e9d2f6 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -36,12 +36,13 @@ def apply_flash_model( confidence_thresh=None, store_logits=False, ): - """Applies the given Lightning Flash model to the samples in the - collection. + """Applies the given + :class:`Lightning Flash model ` to the samples + in the collection. Args: samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a ``flash.core.model.Task`` + model: a :class:`flash:flash.core.model.Task` label_field ("predictions"): the name of the field in which to store the model predictions. When performing inference on video frames, the "frames." prefix is optional From 59eb357d4c560f3f59168c2919822da10341982c Mon Sep 17 00:00:00 2001 From: brimoor Date: Fri, 4 Jun 2021 11:23:12 -0400 Subject: [PATCH 20/52] adding support for generating image embeddings --- docs/source/conf.py | 2 +- fiftyone/core/models.py | 57 ++++++++++++++++++++++++++------ fiftyone/utils/flash.py | 72 +++++++++++++++++++++++++++-------------- 3 files changed, 96 insertions(+), 35 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index cda2f06c74..7d709395ce 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -136,7 +136,7 @@ # -- Options for intersphinx extension --------------------------------------- intersphinx_mapping = { - # including this autolinks things like (None) which is not desirable + # including `python` autolinks things like (None) which is not desirable # "python": ("https://docs.python.org/3", None), "numpy": ("https://numpy.org/doc/stable/", None), "torch": ("https://pytorch.org/docs/stable/", None), diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 76eea7b7cb..c1c8437e00 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -6,6 +6,7 @@ | """ import contextlib +import inspect import itertools import logging import warnings @@ -86,7 +87,7 @@ def apply_model( error if predictions cannot be generated for a sample. Not applicable to Lightning Flash models """ - if fouf.is_flash_model(model): + if _is_flash_model(model): if batch_size is not None: logger.warning( "The `batch_size` parameter is not supported for Lightning " @@ -109,7 +110,8 @@ def apply_model( if not isinstance(model, Model): raise ValueError( - "Model must be a %s instance; found %s" % (Model, type(model)) + "Model must be a %s or %s; found %s" + % (Model, _BASE_FLASH_TYPE, type(model)) ) if model.media_type == "video" and samples.media_type != fom.VIDEO: @@ -211,6 +213,17 @@ def apply_model( ) +_BASE_FLASH_TYPE = "flash.core.model.Task" + + +def _is_flash_model(model): + for cls in inspect.getmro(type(model)): + if etau.get_class_name(cls) == _BASE_FLASH_TYPE: + return True + + return False + + def _apply_image_model_single( samples, model, label_field, confidence_thresh, skip_failures ): @@ -613,23 +626,29 @@ def compute_embeddings( skip_failures=True, ): """Computes embeddings for the samples in the collection using the given - :class:`Model`. + :class:`FiftyOne model ` or + :class:`Lightning Flash model `. This method supports all the following cases: - - Using an image model to compute embeddings for an image collection - - Using an image model to compute frame embeddings for a video collection - - Using a video model to compute embeddings for a video collection + - Using an image :class:`Model` to compute embeddings for an image + collection + - Using an image :class:`Model` to compute frame embeddings for a video + collection + - Using a video :class:`Model` to compute embeddings for a video + collection + - Using an :class:`flash:flash.image.ImageEmbeder` to compute embeddings + for an image collection - The ``model`` must expose embeddings, i.e., :meth:`Model.has_embeddings` - must return ``True``. + When ``model`` is a FiftyOne model, it must expose embeddings, i.e., + :meth:`Model.has_embeddings` must return ``True``. If an ``embeddings_field`` is provided, the embeddings are saved to the samples; otherwise, the embeddings are returned in-memory. Args: samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a :class:`Model` + model: a :class:`Model` or :class:`flash:flash.image.ImageEmbeder` embeddings_field (None): the name of a field in which to store the embeddings. When computing video frame embeddings, the "frames." prefix is optional @@ -658,9 +677,27 @@ def compute_embeddings( contain arrays of embeddings for all frames 1, 2, ... until the error occurred, or ``None`` if no embeddings were computed at all """ + if _is_flash_model(model): + if batch_size is not None: + logger.warning( + "The `batch_size` parameter is not supported for Lightning " + "Flash models" + ) + + if num_workers is not None: + logger.warning( + "The `num_workers` parameter is not supported for Lightning " + "Flash models" + ) + + return fouf.compute_flash_embeddings( + samples, model, embeddings_field=embeddings_field + ) + if not isinstance(model, Model): raise ValueError( - "Model must be a %s instance; found %s" % (Model, type(model)) + "Model must be a %s or %s; found %s" + % (Model, _BASE_FLASH_TYPE, type(model)) ) if not model.has_embeddings: diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 94c9e9d2f6..9544ad31ca 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -8,25 +8,25 @@ """ import inspect -import eta.core.utils as etau +import numpy as np import fiftyone.core.metadata as fom import fiftyone.core.utils as fou fou.ensure_lightning_flash() import flash.core.classification as fc +import flash.image as fi import flash.image.detection.serialization as fds -import flash.image.detection.model as fdm import flash.image.segmentation.serialization as fss -import flash.image.segmentation.model as fsm -_BASE_MODEL_TYPE = "flash.core.model.Task" -_SUPPORTED_MODELS = [ - fc.ClassificationTask, - fdm.ObjectDetector, - fsm.SemanticSegmentation, -] +_SUPPORTED_MODELS = ( + fi.ImageClassifier, + fi.ObjectDetector, + fi.SemanticSegmentation, +) + +_SUPPORTED_EMBEDDING_MODELS = (fi.ImageEmbedder,) def apply_flash_model( @@ -64,20 +64,44 @@ def apply_flash_model( samples.set_values(label_field, predictions) -def is_flash_model(model): - """Determines whether the given model is a Lightning Flash model. +def compute_flash_embeddings(samples, model, embeddings_field=None): + """Computes embeddings for the samples in the collection using the given + :class:`Lightning Flash model `. + + This method only supports applying an + :class:`flash:flash.image.ImageEmbeder` to an image collection. + + If an ``embeddings_field`` is provided, the embeddings are saved to the + samples; otherwise, the embeddings are returned in-memory. Args: - model: the model + samples: a :class:`fiftyone.core.collections.SampleCollection` + model: a :class:`flash:flash.image.ImageEmbeder` + embeddings_field (None): the name of a field in which to store the + embeddings Returns: - True/False + one of the following: + + - ``None``, if an ``embeddings_field`` is provided + - a ``num_samples x num_dim`` array of embeddings, if + ``embeddings_field`` is None """ - for cls in inspect.getmro(type(model)): - if etau.get_class_name(cls) == _BASE_MODEL_TYPE: - return True + if not isinstance(model, _SUPPORTED_EMBEDDING_MODELS): + raise ValueError( + "Unsupported model type %s. Supported model types are %s" + % (type(model), _SUPPORTED_EMBEDDING_MODELS) + ) + + filepaths = samples.values("filepath") + embeddings = model.predict(filepaths) + embeddings = np.stack(embeddings) - return False + if embeddings_field is not None: + samples.set_values(embeddings_field, list(embeddings)) + return + + return embeddings def normalize_detections(filepaths, predictions): @@ -104,13 +128,7 @@ def normalize_detections(filepaths, predictions): def _get_serializer(model, confidence_thresh, store_logits): - if isinstance(model, fsm.SemanticSegmentation): - return fss.FiftyOneSegmentationLabels() - - if isinstance(model, fdm.ObjectDetector): - return fds.FiftyOneDetectionLabels(threshold=confidence_thresh) - - if isinstance(model, fc.ClassificationTask): + if isinstance(model, fi.ImageClassifier): prev_args = dict(inspect.getmembers(model.serializer)) kwargs = { @@ -126,6 +144,12 @@ def _get_serializer(model, confidence_thresh, store_logits): return fc.FiftyOneLabels(**kwargs) + if isinstance(model, fi.ObjectDetector): + return fds.FiftyOneDetectionLabels(threshold=confidence_thresh) + + if isinstance(model, fi.SemanticSegmentation): + return fss.FiftyOneSegmentationLabels() + raise ValueError( "Unsupported model type %s. Supported model types are %s" % (type(model), _SUPPORTED_MODELS) From 21083d21e220bba62b256deb0ee846fbbd153f87 Mon Sep 17 00:00:00 2001 From: brimoor Date: Fri, 4 Jun 2021 19:58:39 -0400 Subject: [PATCH 21/52] use Trainer for prediction --- fiftyone/core/collections.py | 35 +++++++++-------- fiftyone/core/models.py | 56 +++++++++------------------ fiftyone/utils/flash.py | 74 +++++++++++++++++++++++++++++------- 3 files changed, 99 insertions(+), 66 deletions(-) diff --git a/fiftyone/core/collections.py b/fiftyone/core/collections.py index 9a6351052b..18ed20f916 100644 --- a/fiftyone/core/collections.py +++ b/fiftyone/core/collections.py @@ -1260,15 +1260,15 @@ def apply_model( store_logits (False): whether to store logits for the model predictions. This is only supported when the provided ``model`` has logits, ``model.has_logits == True`` - batch_size (None): an optional batch size to use. Only applicable - when applying a :class:`fiftyone.core.models.Model` that - supports batching to images or video frames - num_workers (None): the number of workers to use when loading - images. Only applicable to FiftyOne models that implement - :class:`fiftyone.core.models.TorchModelMixin` + batch_size (None): an optional batch size to use, if the model + supports batching + num_workers (None): the number of workers for the + :class:`torch:torch.utils.data.DataLoader` to use. Only + applicable for Torch-based models skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a - sample. Not applicable to Lightning Flash models + sample. Only applicable to :class:`fiftyone.core.models.Model` + instances """ fomo.apply_model( self, @@ -1310,12 +1310,15 @@ def compute_embeddings( embeddings_field (None): the name of a field in which to store the embeddings. When computing video frame embeddings, the "frames." prefix is optional - batch_size (None): an optional batch size to use. Only applicable - for image samples - num_workers (None): the number of workers to use when loading - images. Only applicable for Torch models + batch_size (None): an optional batch size to use, if the model + supports batching + num_workers (None): the number of workers for the + :class:`torch:torch.utils.data.DataLoader` to use. Only + applicable for Torch-based models skip_failures (True): whether to gracefully continue without - raising an error if embeddings cannot be generated for a sample + raising an error if embeddings cannot be generated for a + sample. Only applicable to :class:`fiftyone.core.models.Model` + instances Returns: one of the following: @@ -1401,9 +1404,11 @@ def compute_patch_embeddings( - "image": use the whole image as a single patch - "error": raise an error - batch_size (None): an optional batch size to use - num_workers (None): the number of workers to use when loading - images. Only applicable for Torch models + batch_size (None): an optional batch size to use, if the model + supports batching + num_workers (None): the number of workers for the + :class:`torch:torch.utils.data.DataLoader` to use. Only + applicable for Torch-based models skip_failures (True): whether to gracefully continue without raising an error if embeddings cannot be generated for a sample diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index c1c8437e00..925cb6260c 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -77,35 +77,23 @@ def apply_model( store_logits (False): whether to store logits for the model predictions. This is only supported when the provided ``model`` has logits, ``model.has_logits == True`` - batch_size (None): an optional batch size to use. Only applicable when - applying a :class:`Model` that supports batching to images or video - frames + batch_size (None): an optional batch size to use, if the model supports + batching num_workers (None): the number of workers to use when loading images. - Only applicable to FiftyOne models that implement - :class:`TorchModelMixin` + Only applicable for Torch-based models skip_failures (True): whether to gracefully continue without raising an - error if predictions cannot be generated for a sample. Not - applicable to Lightning Flash models + error if predictions cannot be generated for a sample. Only + applicable to :class:`Model` instances """ if _is_flash_model(model): - if batch_size is not None: - logger.warning( - "The `batch_size` parameter is not supported for Lightning " - "Flash models" - ) - - if num_workers is not None: - logger.warning( - "The `num_workers` parameter is not supported for Lightning " - "Flash models" - ) - return fouf.apply_flash_model( samples, model, label_field=label_field, confidence_thresh=confidence_thresh, store_logits=store_logits, + batch_size=batch_size, + num_workers=num_workers, ) if not isinstance(model, Model): @@ -652,12 +640,13 @@ def compute_embeddings( embeddings_field (None): the name of a field in which to store the embeddings. When computing video frame embeddings, the "frames." prefix is optional - batch_size (None): an optional batch size to use. Only applicable for - image samples + batch_size (None): an optional batch size to use, if the model supports + batching num_workers (None): the number of workers to use when loading images. - Only applicable for Torch models + Only applicable for Torch-based models skip_failures (True): whether to gracefully continue without raising an - error if embeddings cannot be generated for a sample + error if embeddings cannot be generated for a sample. Only + applicable to :class:`fiftyone.core.models.Model` instances Returns: one of the following: @@ -678,20 +667,12 @@ def compute_embeddings( error occurred, or ``None`` if no embeddings were computed at all """ if _is_flash_model(model): - if batch_size is not None: - logger.warning( - "The `batch_size` parameter is not supported for Lightning " - "Flash models" - ) - - if num_workers is not None: - logger.warning( - "The `num_workers` parameter is not supported for Lightning " - "Flash models" - ) - return fouf.compute_flash_embeddings( - samples, model, embeddings_field=embeddings_field + samples, + model, + embeddings_field=embeddings_field, + batch_size=batch_size, + num_workers=num_workers, ) if not isinstance(model, Model): @@ -1201,7 +1182,8 @@ def compute_patch_embeddings( - "image": use the whole image as a single patch - "error": raise an error - batch_size (None): an optional batch size to use + batch_size (None): an optional batch size to use, if the model supports + batching num_workers (None): the number of workers to use when loading images. Only applicable for Torch models skip_failures (True): whether to gracefully continue without raising an diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 9544ad31ca..56155e8356 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -7,6 +7,7 @@ | """ import inspect +import itertools import numpy as np @@ -14,6 +15,7 @@ import fiftyone.core.utils as fou fou.ensure_lightning_flash() +import flash import flash.core.classification as fc import flash.image as fi import flash.image.detection.serialization as fds @@ -26,7 +28,7 @@ fi.SemanticSegmentation, ) -_SUPPORTED_EMBEDDING_MODELS = (fi.ImageEmbedder,) +_SUPPORTED_EMBEDDERS = (fi.ImageEmbedder,) def apply_flash_model( @@ -35,6 +37,8 @@ def apply_flash_model( label_field="predictions", confidence_thresh=None, store_logits=False, + batch_size=None, + num_workers=None, ): """Applies the given :class:`Lightning Flash model ` to the samples @@ -51,20 +55,44 @@ def apply_flash_model( store_logits (False): whether to store logits for the model predictions. This is only supported when the provided ``model`` has logits + batch_size (None): an optional batch size to use. If not provided, a + default batch size is used + num_workers (None): the number of workers for the data loader to use """ serializer = _get_serializer(model, confidence_thresh, store_logits) - with fou.SetAttributes(model, serializer=serializer): - filepaths = samples.values("filepath") - predictions = model.predict(filepaths) + + # Running `Trainer().predict()` seems to cause `model.data_pipeline` to be + # garbage-collected after inference, so we restore it to its original value + data_pipeline = model.data_pipeline + + with fou.SetAttributes( + model, serializer=serializer, data_pipeline=data_pipeline + ): + # equivalent(?) but no progress bar... + # filepaths = samples.values("filepath") + # predictions = model.predict(filepaths, "fiftyone") + + kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) + if batch_size is not None: + kwargs["batch_size"] = batch_size + + datamodule = fi.ImageClassificationData.fiftyone_from_datasets( + predict_dataset=samples, **kwargs + ) + predictions = flash.Trainer().predict(model, datamodule=datamodule) + predictions = list(itertools.chain.from_iterable(predictions)) # @todo remove when `FiftyOneDetectionLabels` can self-normalize if isinstance(serializer, fds.FiftyOneDetectionLabels): + filepaths = samples.values("filepath") normalize_detections(filepaths, predictions) samples.set_values(label_field, predictions) -def compute_flash_embeddings(samples, model, embeddings_field=None): +def compute_flash_embeddings( + samples, model, embeddings_field=None, batch_size=None, num_workers=None +): """Computes embeddings for the samples in the collection using the given :class:`Lightning Flash model `. @@ -79,6 +107,9 @@ def compute_flash_embeddings(samples, model, embeddings_field=None): model: a :class:`flash:flash.image.ImageEmbeder` embeddings_field (None): the name of a field in which to store the embeddings + batch_size (None): an optional batch size to use. If not provided, a + default batch size is used + num_workers (None): the number of workers for the data loader to use Returns: one of the following: @@ -87,21 +118,36 @@ def compute_flash_embeddings(samples, model, embeddings_field=None): - a ``num_samples x num_dim`` array of embeddings, if ``embeddings_field`` is None """ - if not isinstance(model, _SUPPORTED_EMBEDDING_MODELS): + if not isinstance(model, _SUPPORTED_EMBEDDERS): raise ValueError( "Unsupported model type %s. Supported model types are %s" - % (type(model), _SUPPORTED_EMBEDDING_MODELS) + % (type(model), _SUPPORTED_EMBEDDERS) ) - filepaths = samples.values("filepath") - embeddings = model.predict(filepaths) - embeddings = np.stack(embeddings) + # Running `Trainer().predict()` seems to cause `model.data_pipeline` to be + # garbage-collected after inference, so we restore it to its original value + data_pipeline = model.data_pipeline + + with fou.SetAttributes(model, data_pipeline=data_pipeline): + # equivalent(?) but no progress bar... + # filepaths = samples.values("filepath") + # embeddings = model.predict(filepaths) + + kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) + if batch_size is not None: + kwargs["batch_size"] = batch_size + + datamodule = fi.ImageClassificationData.fiftyone_from_datasets( + predict_dataset=samples, **kwargs + ) + embeddings = flash.Trainer().predict(model, datamodule=datamodule) + embeddings = list(itertools.chain.from_iterable(embeddings)) - if embeddings_field is not None: - samples.set_values(embeddings_field, list(embeddings)) - return + if embeddings_field is not None: + samples.set_values(embeddings_field, list(embeddings)) + return - return embeddings + return np.stack(embeddings) def normalize_detections(filepaths, predictions): From f48599b17f5a3a815369a69b4b7683f02f467251 Mon Sep 17 00:00:00 2001 From: brimoor Date: Fri, 4 Jun 2021 20:05:48 -0400 Subject: [PATCH 22/52] linting --- fiftyone/utils/flash.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index 56155e8356..f14c322332 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -144,10 +144,10 @@ def compute_flash_embeddings( embeddings = list(itertools.chain.from_iterable(embeddings)) if embeddings_field is not None: - samples.set_values(embeddings_field, list(embeddings)) + samples.set_values(embeddings_field, embeddings) return - return np.stack(embeddings) + return np.stack(embeddings) def normalize_detections(filepaths, predictions): From 512898666e682065a1ef4eecbe8ed9622e9b52e0 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Wed, 9 Jun 2021 17:45:20 -0400 Subject: [PATCH 23/52] merge --- fiftyone/core/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 8ddfc9278a..bafc8fbc62 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -30,8 +30,8 @@ foe = fou.lazy_import("fiftyone.core.eta_utils") fouf = fou.lazy_import("fiftyone.utils.flash") -fout = fou.lazy_import("fiftyone.utils.torch") foup = fou.lazy_import("fiftyone.utils.patches") +fout = fou.lazy_import("fiftyone.utils.torch") logger = logging.getLogger(__name__) From c712c5b54b93ce16e980d214177550968be7b6c3 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 10 Jun 2021 10:05:44 -0400 Subject: [PATCH 24/52] initialize integrations docs --- docs/source/index.rst | 1 + docs/source/integrations/index.rst | 82 ++++++++++++++++++++ docs/source/integrations/lightning_flash.rst | 8 ++ 3 files changed, 91 insertions(+) create mode 100644 docs/source/integrations/index.rst create mode 100644 docs/source/integrations/lightning_flash.rst diff --git a/docs/source/index.rst b/docs/source/index.rst index a769a5789a..cb9091e16d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -305,6 +305,7 @@ or reach out to us at support@voxel51.com. Tutorials Recipes User Guide + Integrations Release Notes CLI Documentation API Reference diff --git a/docs/source/integrations/index.rst b/docs/source/integrations/index.rst new file mode 100644 index 0000000000..a693cd4932 --- /dev/null +++ b/docs/source/integrations/index.rst @@ -0,0 +1,82 @@ +.. _integrations: + +FiftyOne Integrations +===================== + +.. default-role:: code + +FiftyOne is designed to fit into your existing workflows as easily as possible. +To this end, FiftyOne has integrated with various existing datasets, tools, and +services that you are likely using. + +.. Integrations cards section ----------------------------------------------------- + +.. raw:: html + +
+ + + +
+ +
+ +
+
+ +.. Add tutorial cards below + +.. customcarditem:: + :header: PyTorch Lightning Flash + :description: Flash now supports FiftyOne datasets letting you train and evaluate Flash tasks on your FiftyOne datasets in minimal lines of code. + :link: lightning_flash.html + :image: https://raw.githubusercontent.com/PyTorchLightning/lightning-flash/master/docs/source/_static/images/logo.svg + :tags: Model-Training,Model-Evaluation + +.. customcarditem:: + :header: Labelbox + :description: Download and upload your data directly to Labelbox. + :link: ../api/fiftyone.utils.labelbox.html + :image: https://voxel51.com/images/integrations/labelbox-128.png + :tags: Annotation + +.. customcarditem:: + :header: Scale AI + :description: Import and export labels to and from the Scale AI format. + :link: ../api/fiftyone.utils.scale.html + :image: https://voxel51.com/images/integrations/scale-128.png + :tags: Annotation + +.. customcarditem:: + :header: CVAT + :description: Import and export image and video datasets in CVAT format. + :link: ../user_guide/dataset_creation/datasets.html + :tags: Annotation + +.. End of integrations cards + +.. raw:: html + +
+ + + +
+ +
+ +.. End integrations cards section ------------------------------------------------- + +.. toctree:: + :maxdepth: 1 + :hidden: + + PyTorch Lightning Flash diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst new file mode 100644 index 0000000000..4acadbd39f --- /dev/null +++ b/docs/source/integrations/lightning_flash.rst @@ -0,0 +1,8 @@ +.. _flash: + +PyTorch Lightning Flash Integration +=================================== + +.. default-role:: code + + From a7708888d352d8563f14e767fa2d0c2aae355fdb Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Thu, 10 Jun 2021 17:37:38 -0400 Subject: [PATCH 25/52] update flash docs --- docs/source/integrations/lightning_flash.rst | 120 +++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 4acadbd39f..0b5f34eedd 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -5,4 +5,124 @@ PyTorch Lightning Flash Integration .. default-role:: code +We have worked together with the team behind PyTorch Lightning Flash to make it +as easy as possible to train Flash models on your FiftyOne datasets and to add +the predictions of Flash models to FiftyOne datasets for visualiziation and +analysis. + +The following Flash tasks are supported by FiftyOne: + +- :ref:`Image Classification ` +- :ref:`Image Object Detection ` +- :ref:`Image Semantic Segmentation ` +- :ref:`Video Classification ` + +With support for future Flash tasks on the horizon. + + +Model training +______________ + +One of the primary uses of Flash is to load an existing model and finetune it +on your data with minimal code required. + + +.. _img-classification-training-flash: + +Image classification +-------------------- + + +Image object detection +---------------------- + +For example, let's train a Flash object detection model on a FiftyOne dataset +with |Detections| ground truth labels. + +.. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + import flash + + dataset = foz.load_zoo_dataset("quickstart") + + +.. _adding-model-predictions: + +Adding model predictions +________________________ + +Once you have a trained Flash model, you can use the FiftyOne integrations to +add generate and add model predictions to your |Dataset| or |View|. + + +Apply model +----------- + +The easiest way to generate predictions on an existing |Dataset| or |View| is +to use the :meth:`apply_model() ` +function, passing in your Flash model. + +.. code-block:: python + :linenos: + + import fiftyone.zoo as foz + + from flash.image import ObjectDetector + + # Load your dataset + dataset = foz.load_zoo_dataset("quickstart", max_samples=5) + + # Load the finetuned model + model = ObjectDetector.load_from_checkpoint("https://flash-weights.s3.amazonaws.com/object_detection_model.pt") + + # Predict + dataset.apply_model(model, label_field="flash_predictions") + + # Visualize + session = fo.launch_app(dataset) + + +Manually adding predictions +--------------------------- + +In some cases, you may have loaded your data into Flash datamodules already and +want to generate predictions with those. + +Flash models support different serializers, objects that reformat the output of +models. Using FiftyOne serializers, you can return predictions as FiftyOne +|Labels| directly. All you need to do is set the model serializer to the +corresponding FiftyOne serializer for your task and generate predictions. + +There are a few different ways that this workflow may come about. + +.. code-block:: python + :linenos: + + import fiftyone.zoo as foz + + import flash + from flash.image import ObjectDetector + + # Load your dataset + dataset = foz.load_zoo_dataset("quickstart", max_samples=5) + + # Create a datamodule + + datamodule = ObjectDetectionData.from_fiftyone_dataset( + predict_dataset=dataset, + ) + + trainer = flash.Trainer() + + # Load the finetuned model + model = ObjectDetector.load_from_checkpoint("https://flash-weights.s3.amazonaws.com/object_detection_model.pt") + + # Predict + dataset.apply_model(model, label_field="flash_predictions") + + # Visualize + session = fo.launch_app(dataset) From 3abb03ac620a234a529670ff21db39616fbe9f38 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Fri, 11 Jun 2021 15:00:52 -0400 Subject: [PATCH 26/52] flash docs --- docs/source/integrations/lightning_flash.rst | 379 +++++++++++++++++-- 1 file changed, 338 insertions(+), 41 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 0b5f34eedd..fea517458a 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -7,46 +7,329 @@ PyTorch Lightning Flash Integration We have worked together with the team behind PyTorch Lightning Flash to make it as easy as possible to train Flash models on your FiftyOne datasets and to add -the predictions of Flash models to FiftyOne datasets for visualiziation and +the predictions of :class:`Flash models ` +to a FiftyOne |Dataset| for visualiziation and analysis. The following Flash tasks are supported by FiftyOne: -- :ref:`Image Classification ` -- :ref:`Image Object Detection ` -- :ref:`Image Semantic Segmentation ` -- :ref:`Video Classification ` +- :ref:`Image Classification ` +- :ref:`Image Object Detection ` +- :ref:`Image Semantic Segmentation ` +- :ref:`Video Classification ` -With support for future Flash tasks on the horizon. +Support for future Flash tasks is on the horizon. Model training ______________ One of the primary uses of Flash is to load an existing model and finetune it -on your data with minimal code required. - - -.. _img-classification-training-flash: - -Image classification --------------------- - - -Image object detection ----------------------- - -For example, let's train a Flash object detection model on a FiftyOne dataset -with |Detections| ground truth labels. - -.. code-block:: python - :linenos: - - import fiftyone as fo - import fiftyone.zoo as foz - import flash - - dataset = foz.load_zoo_dataset("quickstart") +on your |Dataset| with minimal code required. + +.. tabs:: + + .. tab:: Image classification + + This example trains a Flash classification model on a FiftyOne dataset + with |Classifications| ground truth labels. + + .. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + + from flash import Trainer + from flash.core.classification import FiftyOneLabels + from flash.image import ImageClassificationData, ImageClassifier + + # 1. Load your FiftyOne dataset + dataset = foz.load_zoo_dataset("cifar10", split="test", max_samples=40) + train_dataset = dataset.shuffle(seed=51)[:20] + test_dataset = dataset.shuffle(seed=51)[20:25] + val_dataset = dataset.shuffle(seed=51)[25:30] + predict_dataset = dataset.shuffle(seed=51)[30:40] + + # 2. Load the Datamodule + datamodule = ImageClassificationData.from_fiftyone_dataset( + train_dataset = train_dataset, + test_dataset = test_dataset, + val_dataset = val_dataset, + predict_dataset = predict_dataset, + label_field = "ground_truth", + batch_size=4, + num_workers=4, + ) + + # 3. Build the model + model = ImageClassifier( + backbone="resnet18", + num_classes=datamodule.num_classes, + serializer=FiftyOneLabels(), + ) + + # 4. Create the trainer + trainer = flash.Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + + # 5. Finetune the model + trainer.finetune(model, datamodule=datamodule) + + # 6. Save it! + trainer.save_checkpoint("image_classification_model.pt") + + # 7. Generate predictions + predictions = trainer.predict(model, datamodule=datamodule) + + # 8. Add predictions to dataset and analyze + predict_dataset.set_values("flash_predictions", predictions) + session = fo.launch_app(predict_dataset) + + + .. tab:: Image object detection + + This example trains a Flash object detection model on a FiftyOne dataset + with |Detections| ground truth labels. + + .. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + + from flash import Trainer + from flash.image import ObjectDetectionData, ObjectDetector + from flash.image.detection.serialization import FiftyOneDetectionLabels + + # 1. Load your FiftyOne dataset + dataset = foz.load_zoo_dataset("quickstart", max_samples=40) + train_dataset = dataset.shuffle(seed=51)[:20] + test_dataset = dataset.shuffle(seed=51)[20:25] + val_dataset = dataset.shuffle(seed=51)[25:30] + predict_dataset = dataset.shuffle(seed=51)[30:40] + + # 2. Load the Datamodule + datamodule = ObjectDetectionData.from_fiftyone_dataset( + train_dataset = train_dataset, + test_dataset = test_dataset, + val_dataset = val_dataset, + predict_dataset = predict_dataset, + label_field = "ground_truth", + batch_size=4, + num_workers=4, + ) + + # 3. Build the model + model = ObjectDetector( + model="retinanet", + num_classes=datamodule.num_classes, + serializer=FiftyOneDetectionLabels(), + ) + + # 4. Create the trainer + trainer = flash.Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + + # 5. Finetune the model + trainer.finetune(model, datamodule=datamodule) + + # 6. Save it! + trainer.save_checkpoint("object_detection_model.pt") + + # 7. Generate predictions + predictions = trainer.predict(model, datamodule=datamodule) + + # 8. Add predictions to dataset and analyze + predict_dataset.set_values("flash_predictions", predictions) + session = fo.launch_app(predict_dataset) + + + .. tab:: Image semantic segmentation + + This example trains a Flash semantic segmentation model on a FiftyOne dataset + with |Segmentation| ground truth labels. + + .. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + + from flash import Trainer + from flash.core.data.utils import download_data + from flash.image import SemanticSegmentation, SemanticSegmentationData + from flash.image.segmentation.serialization import FiftyOneSegmentationLabels + + # 1. Load your FiftyOne dataset + # This is a Dataset with Semantic Segmentation Labels generated via CARLA + self-driving simulator. + # The data was generated as part of the Lyft Udacity Challenge. + # More info here: + https://www.kaggle.com/kumaresanmanickavelu/lyft-udacity-challenge + download_data( + "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", + "data/" + ) + + dataset = fo.Dataset.from_dir( + dataset_dir = "data", + data_path = "CameraRGB", + labels_path = "CameraSeg", + max_samples = 40, + force_grayscale = True, + dataset_type=fo.types.ImageSegmentationDirectory, + ) + train_dataset = dataset.shuffle(seed=51)[:20] + test_dataset = dataset.shuffle(seed=51)[20:25] + val_dataset = dataset.shuffle(seed=51)[25:30] + predict_dataset = dataset.shuffle(seed=51)[30:40] + + # 2. Load the Datamodule + datamodule = SemanticSegmentationData.from_fiftyone_dataset( + train_dataset = train_dataset, + test_dataset = test_dataset, + val_dataset = val_dataset, + predict_dataset = predict_dataset, + label_field = "ground_truth", + batch_size=4, + num_workers=4, + ) + + # 3. Build the model + model = SemanticSegmentation( + backbone="fcn_resnet50", + num_classes=datamodule.num_classes, + serializer=FiftyOneSegmentationLabels(), + ) + + # 4. Create the trainer + trainer = flash.Trainer( + max_epochs=1, + fast_dev_run=1, + ) + + # 5. Finetune the model + trainer.finetune(model, datamodule=datamodule, strategy="freeze") + + # 6. Save it! + trainer.save_checkpoint("semantic_segmentation_model.pt") + + # 7. Generate predictions + predictions = trainer.predict(model, datamodule=datamodule) + + # 8. Add predictions to dataset and analyze + predict_dataset.set_values("flash_predictions", predictions) + session = fo.launch_app(predict_dataset) + + + .. tab:: Video classification + + This example trains a Flash video classification model on a FiftyOne dataset + with |Classifications| ground truth labels. + + .. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + + from flash import Trainer + from flash.core.classification import FiftyOneLabels + from flash.core.data.utils import download_data + from flash.video import VideoClassificationData, VideoClassifier + + # 1. Load your FiftyOne dataset + # Find more dataset at https://pytorchvideo.readthedocs.io/en/latest/data.html + download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip", "data/") + + train_dataset = fo.Dataset.from_dir( + dataset_dir="data/kinetics/train"), + dataset_type=fo.types.VideoClassificationDirectoryTree, + ) + + val_dataset = fo.Dataset.from_dir( + dataset_dir="data/kinetics/val"), + dataset_type=fo.types.VideoClassificationDirectoryTree, + ) + + predict_dataset = fo.Dataset.from_dir( + dataset_dir="data/kinetics/predict"), + dataset_type=fo.types.VideoDirectory, + ) + + # 2. [Optional] Specify transforms to be used during training. + # Flash helps you to place your transform exactly where you want. + # Learn more at: + # https://lightning-flash.readthedocs.io/en/latest/general/data.html#flash.core.data.process.Preprocess + post_tensor_transform = [UniformTemporalSubsample(8), RandomShortSideScale(min_size=256, max_size=320)] + per_batch_transform_on_device = [K.Normalize(torch.tensor([0.45, 0.45, 0.45]), torch.tensor([0.225, 0.225, 0.225]))] + + train_post_tensor_transform = post_tensor_transform + [RandomCrop(244), RandomHorizontalFlip(p=0.5)] + val_post_tensor_transform = post_tensor_transform + [CenterCrop(244)] + train_per_batch_transform_on_device = per_batch_transform_on_device + + def make_transform( + post_tensor_transform: List[Callable] = post_tensor_transform, + per_batch_transform_on_device: List[Callable] = per_batch_transform_on_device + ): + return { + "post_tensor_transform": Compose([ + ApplyTransformToKey( + key="video", + transform=Compose(post_tensor_transform), + ), + ]), + "per_batch_transform_on_device": Compose([ + ApplyTransformToKey( + key="video", + transform=K.VideoSequential( + per_batch_transform_on_device, data_format="BCTHW", same_on_frame=False + ) + ), + ]), + } + + + # 2. Load the Datamodule + datamodule = VideoClassificationData.from_fiftyone_dataset( + train_dataset = train_dataset, + val_dataset = val_dataset, + predict_dataset = predict_dataset, + label_field = "ground_truth", + train_transform=make_transform(train_post_tensor_transform), + val_transform=make_transform(val_post_tensor_transform), + predict_transform=make_transform(val_post_tensor_transform), + batch_size=8, + clip_sampler="uniform", + clip_duration=1, + video_sampler=RandomSampler, + decode_audio=False, + num_workers=8 + ) + + # 3. Build the model + model = VideoClassifier( + backbone="x3d_xs", + num_classes=datamodule.num_classes, + serializer=FiftyOneLabels(), + pretrained=False, + ) + + # 4. Create the trainer + trainer = flash.Trainer(fast_dev_run=True) + trainer.finetune(model, datamodule=datamodule, strategy=NoFreeze()) + + # 5. Finetune the model + trainer.finetune(model, datamodule=datamodule) + + # 6. Save it! + trainer.save_checkpoint("video_classification.pt") + + # 7. Generate predictions + predictions = trainer.predict(model, datamodule=datamodule) + + # 8. Add predictions to dataset and analyze + predict_dataset.set_values("flash_predictions", predictions) + session = fo.launch_app(predict_dataset) .. _adding-model-predictions: @@ -54,15 +337,16 @@ with |Detections| ground truth labels. Adding model predictions ________________________ -Once you have a trained Flash model, you can use the FiftyOne integrations to -add generate and add model predictions to your |Dataset| or |View|. +Once you have a trained Flash model, there are a couple of ways that +you can use the FiftyOne integrations to +add generate and add model predictions to your |Dataset| or |DatasetView|. Apply model ----------- -The easiest way to generate predictions on an existing |Dataset| or |View| is -to use the :meth:`apply_model() ` +The easiest way to generate predictions on an existing |Dataset| or |DatasetView| is +to use the :meth:`apply_model() ` function, passing in your Flash model. .. code-block:: python @@ -76,7 +360,9 @@ function, passing in your Flash model. dataset = foz.load_zoo_dataset("quickstart", max_samples=5) # Load the finetuned model - model = ObjectDetector.load_from_checkpoint("https://flash-weights.s3.amazonaws.com/object_detection_model.pt") + model = ObjectDetector.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + ) # Predict dataset.apply_model(model, label_field="flash_predictions") @@ -93,35 +379,46 @@ want to generate predictions with those. Flash models support different serializers, objects that reformat the output of models. Using FiftyOne serializers, you can return predictions as FiftyOne -|Labels| directly. All you need to do is set the model serializer to the +|Label| directly. All you need to do is set the model serializer to the corresponding FiftyOne serializer for your task and generate predictions. +FiftyOne serializers also support a :class:`return_filepath ` +flag that will return the coresponding filepath of every sample along +with the FiftyOne labels. There are a few different ways that this workflow may come about. .. code-block:: python :linenos: + import fiftyone as fo import fiftyone.zoo as foz import flash from flash.image import ObjectDetector + from flash.image.detection.serialization import FiftyOneDetectionLabels # Load your dataset dataset = foz.load_zoo_dataset("quickstart", max_samples=5) - # Create a datamodule + # Load the finetuned model + model = ObjectDetector.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + ) + model.serializer = FiftyOneDetectionLabels() + # Option 1: Predict with trainer (Supports distributed inference) datamodule = ObjectDetectionData.from_fiftyone_dataset( predict_dataset=dataset, ) - trainer = flash.Trainer() + predictions = trainer.predict(model, datamodule=datamodule) - # Load the finetuned model - model = ObjectDetector.load_from_checkpoint("https://flash-weights.s3.amazonaws.com/object_detection_model.pt") + # Option 2: Predict with model + filepaths = dataset.values("filepath") + predictions = model.predict(filepaths) - # Predict - dataset.apply_model(model, label_field="flash_predictions") + # Add predictions to dataset + dataset.set_values("flash_predictions", predictions) # Visualize session = fo.launch_app(dataset) From 6a2862df2702c48d519e32190dad31bf9e1187fa Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Fri, 11 Jun 2021 15:06:57 -0400 Subject: [PATCH 27/52] add open images card --- docs/source/integrations/index.rst | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/docs/source/integrations/index.rst b/docs/source/integrations/index.rst index a693cd4932..33855cc295 100644 --- a/docs/source/integrations/index.rst +++ b/docs/source/integrations/index.rst @@ -41,6 +41,18 @@ services that you are likely using. :image: https://raw.githubusercontent.com/PyTorchLightning/lightning-flash/master/docs/source/_static/images/logo.svg :tags: Model-Training,Model-Evaluation +.. customcarditem:: + :header: Google's Open Images Dataset + :description: FiftyOne is the easiest source for downloading and exploring Open Images. + :link: ../user_guide/dataset_zoo/datasets.html#dataset-zoo-open-images-v6 + :tags: Dataset + +.. customcarditem:: + :header: CVAT + :description: Import and export image and video datasets in CVAT format. + :link: ../user_guide/dataset_creation/datasets.html#cvatimagedataset + :tags: Annotation + .. customcarditem:: :header: Labelbox :description: Download and upload your data directly to Labelbox. @@ -55,12 +67,6 @@ services that you are likely using. :image: https://voxel51.com/images/integrations/scale-128.png :tags: Annotation -.. customcarditem:: - :header: CVAT - :description: Import and export image and video datasets in CVAT format. - :link: ../user_guide/dataset_creation/datasets.html - :tags: Annotation - .. End of integrations cards .. raw:: html From 6c3403de007786b54663b0fb6d8549bdfe752217 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Fri, 11 Jun 2021 15:10:33 -0400 Subject: [PATCH 28/52] udpate links --- docs/source/integrations/lightning_flash.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index fea517458a..9854af9c80 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -5,10 +5,11 @@ PyTorch Lightning Flash Integration .. default-role:: code -We have worked together with the team behind PyTorch Lightning Flash to make it -as easy as possible to train Flash models on your FiftyOne datasets and to add -the predictions of :class:`Flash models ` -to a FiftyOne |Dataset| for visualiziation and +We have collaborated with the team behind +`PyTorch Lightning Flash `_ to make it +as easy as possible to train Flash :class:`models ` +on your FiftyOne datasets and to add +the predictions of Flash models to a FiftyOne |Dataset| for visualiziation and analysis. The following Flash tasks are supported by FiftyOne: From e7037821a477fb6b2ddf1ddf0c5705abf593d1c7 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sat, 12 Jun 2021 11:00:46 -0400 Subject: [PATCH 29/52] update examples --- docs/source/integrations/lightning_flash.rst | 204 ++++++++++--------- fiftyone/utils/flash.py | 13 +- 2 files changed, 111 insertions(+), 106 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 9854af9c80..4602f4b1cb 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -21,6 +21,7 @@ The following Flash tasks are supported by FiftyOne: Support for future Flash tasks is on the horizon. +.. _flash-model-training: Model training ______________ @@ -37,12 +38,15 @@ on your |Dataset| with minimal code required. .. code-block:: python :linenos: + + import itertools import fiftyone as fo import fiftyone.zoo as foz from flash import Trainer from flash.core.classification import FiftyOneLabels + from flash.core.finetuning import FreezeUnfreeze from flash.image import ImageClassificationData, ImageClassifier # 1. Load your FiftyOne dataset @@ -53,7 +57,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = ImageClassificationData.from_fiftyone_dataset( + datamodule = ImageClassificationData.from_fiftyone_datasets( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -71,20 +75,36 @@ on your |Dataset| with minimal code required. ) # 4. Create the trainer - trainer = flash.Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + trainer = Trainer( + max_epochs=1, + limit_train_batches=1, + limit_val_batches=1, + ) # 5. Finetune the model - trainer.finetune(model, datamodule=datamodule) + trainer.finetune( + model, + datamodule=datamodule, + strategy=FreezeUnfreeze(unfreeze_epoch=1), + ) # 6. Save it! trainer.save_checkpoint("image_classification_model.pt") # 7. Generate predictions + model = ImageClassifier.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" + ) + model.serializer = FiftyOneLabels() + predictions = trainer.predict(model, datamodule=datamodule) + + # 7b. Flatten batched predictions + predictions = list(itertools.chain.from_iterable(predictions)) # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) - session = fo.launch_app(predict_dataset) + session = fo.launch_app(view=predict_dataset) .. tab:: Image object detection @@ -94,6 +114,8 @@ on your |Dataset| with minimal code required. .. code-block:: python :linenos: + + import itertools import fiftyone as fo import fiftyone.zoo as foz @@ -110,7 +132,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = ObjectDetectionData.from_fiftyone_dataset( + datamodule = ObjectDetectionData.from_fiftyone_datasets( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -128,7 +150,11 @@ on your |Dataset| with minimal code required. ) # 4. Create the trainer - trainer = flash.Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + trainer = Trainer( + max_epochs=1, + limit_train_batches=1, + limit_val_batches=1, + ) # 5. Finetune the model trainer.finetune(model, datamodule=datamodule) @@ -137,11 +163,19 @@ on your |Dataset| with minimal code required. trainer.save_checkpoint("object_detection_model.pt") # 7. Generate predictions + model = ObjectDetector.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + ) + model.serializer = FiftyOneDetectionLabels() + predictions = trainer.predict(model, datamodule=datamodule) + + # 7b. Flatten batched predictions + predictions = list(itertools.chain.from_iterable(predictions)) # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) - session = fo.launch_app(predict_dataset) + session = fo.launch_app(view=predict_dataset) .. tab:: Image semantic segmentation @@ -152,6 +186,8 @@ on your |Dataset| with minimal code required. .. code-block:: python :linenos: + import itertools + import fiftyone as fo import fiftyone.zoo as foz @@ -185,7 +221,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = SemanticSegmentationData.from_fiftyone_dataset( + datamodule = SemanticSegmentationData.from_fiftyone_datasets( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -203,7 +239,7 @@ on your |Dataset| with minimal code required. ) # 4. Create the trainer - trainer = flash.Trainer( + trainer = Trainer( max_epochs=1, fast_dev_run=1, ) @@ -215,11 +251,19 @@ on your |Dataset| with minimal code required. trainer.save_checkpoint("semantic_segmentation_model.pt") # 7. Generate predictions + model = ObjectDetector.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" + ) + model.serializer = FiftyOneSegmentationLabels() + predictions = trainer.predict(model, datamodule=datamodule) + + # 7b. Flatten batched predictions + predictions = list(itertools.chain.from_iterable(predictions)) # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) - session = fo.launch_app(predict_dataset) + session = fo.launch_app(view=predict_dataset) .. tab:: Video classification @@ -229,107 +273,77 @@ on your |Dataset| with minimal code required. .. code-block:: python :linenos: + + from torch.utils.data.sampler import RandomSampler - import fiftyone as fo - import fiftyone.zoo as foz - - from flash import Trainer + import flash from flash.core.classification import FiftyOneLabels from flash.core.data.utils import download_data from flash.video import VideoClassificationData, VideoClassifier - - # 1. Load your FiftyOne dataset - # Find more dataset at https://pytorchvideo.readthedocs.io/en/latest/data.html - download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip", "data/") - + + import fiftyone as fo + + # 1. Download data + download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip") + + # 2. Load data into FiftyOne train_dataset = fo.Dataset.from_dir( - dataset_dir="data/kinetics/train"), - dataset_type=fo.types.VideoClassificationDirectoryTree, + "data/kinetics/train", + fo.types.VideoClassificationDirectoryTree, + label_field="ground_truth", + max_samples=5, ) - + val_dataset = fo.Dataset.from_dir( - dataset_dir="data/kinetics/val"), - dataset_type=fo.types.VideoClassificationDirectoryTree, + "data/kinetics/val", + fo.types.VideoClassificationDirectoryTree, + label_field="ground_truth", + max_samples=5, ) - + predict_dataset = fo.Dataset.from_dir( - dataset_dir="data/kinetics/predict"), - dataset_type=fo.types.VideoDirectory, + "data/kinetics/predict", + fo.types.VideoDirectory, + max_samples=5, ) - - # 2. [Optional] Specify transforms to be used during training. - # Flash helps you to place your transform exactly where you want. - # Learn more at: - # https://lightning-flash.readthedocs.io/en/latest/general/data.html#flash.core.data.process.Preprocess - post_tensor_transform = [UniformTemporalSubsample(8), RandomShortSideScale(min_size=256, max_size=320)] - per_batch_transform_on_device = [K.Normalize(torch.tensor([0.45, 0.45, 0.45]), torch.tensor([0.225, 0.225, 0.225]))] - - train_post_tensor_transform = post_tensor_transform + [RandomCrop(244), RandomHorizontalFlip(p=0.5)] - val_post_tensor_transform = post_tensor_transform + [CenterCrop(244)] - train_per_batch_transform_on_device = per_batch_transform_on_device - - def make_transform( - post_tensor_transform: List[Callable] = post_tensor_transform, - per_batch_transform_on_device: List[Callable] = per_batch_transform_on_device - ): - return { - "post_tensor_transform": Compose([ - ApplyTransformToKey( - key="video", - transform=Compose(post_tensor_transform), - ), - ]), - "per_batch_transform_on_device": Compose([ - ApplyTransformToKey( - key="video", - transform=K.VideoSequential( - per_batch_transform_on_device, data_format="BCTHW", same_on_frame=False - ) - ), - ]), - } - - - # 2. Load the Datamodule - datamodule = VideoClassificationData.from_fiftyone_dataset( - train_dataset = train_dataset, - val_dataset = val_dataset, - predict_dataset = predict_dataset, - label_field = "ground_truth", - train_transform=make_transform(train_post_tensor_transform), - val_transform=make_transform(val_post_tensor_transform), - predict_transform=make_transform(val_post_tensor_transform), + + # 3. Finetune a model + classifier = VideoClassifier.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/video_classification.pt", + pretrained=False, + ) + + datamodule = VideoClassificationData.from_fiftyone_datasets( + train_dataset=train_dataset, + val_dataset=val_dataset, + predict_dataset=predict_dataset, + label_field="ground_truth", batch_size=8, clip_sampler="uniform", clip_duration=1, video_sampler=RandomSampler, decode_audio=False, - num_workers=8 + num_workers=8, ) - - # 3. Build the model - model = VideoClassifier( - backbone="x3d_xs", - num_classes=datamodule.num_classes, - serializer=FiftyOneLabels(), + + trainer = flash.Trainer(max_epochs=1, fast_dev_run=1) + trainer.finetune(classifier, datamodule=datamodule) + trainer.save_checkpoint("video_classification.pt") + + # 4. Predict from checkpoint + classifier = VideoClassifier.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/video_classification.pt", pretrained=False, ) - - # 4. Create the trainer - trainer = flash.Trainer(fast_dev_run=True) - trainer.finetune(model, datamodule=datamodule, strategy=NoFreeze()) - - # 5. Finetune the model - trainer.finetune(model, datamodule=datamodule) - # 6. Save it! - trainer.save_checkpoint("video_classification.pt") - - # 7. Generate predictions - predictions = trainer.predict(model, datamodule=datamodule) - - # 8. Add predictions to dataset and analyze - predict_dataset.set_values("flash_predictions", predictions) + classifier.serializer = FiftyOneLabels() + + filepaths = predict_dataset.values("filepath") + predictions = classifier.predict(filepaths) + + predict_dataset.set_values("predictions", predictions) + + # 5. Visualize in FiftyOne App session = fo.launch_app(predict_dataset) @@ -394,7 +408,7 @@ There are a few different ways that this workflow may come about. import fiftyone as fo import fiftyone.zoo as foz - import flash + from flash import Trainer from flash.image import ObjectDetector from flash.image.detection.serialization import FiftyOneDetectionLabels @@ -408,10 +422,10 @@ There are a few different ways that this workflow may come about. model.serializer = FiftyOneDetectionLabels() # Option 1: Predict with trainer (Supports distributed inference) - datamodule = ObjectDetectionData.from_fiftyone_dataset( + datamodule = ObjectDetectionData.from_fiftyone_datasets( predict_dataset=dataset, ) - trainer = flash.Trainer() + trainer = Trainer() predictions = trainer.predict(model, datamodule=datamodule) # Option 2: Predict with model diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index f14c322332..c8073e3f4c 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -68,25 +68,16 @@ def apply_flash_model( with fou.SetAttributes( model, serializer=serializer, data_pipeline=data_pipeline ): - # equivalent(?) but no progress bar... - # filepaths = samples.values("filepath") - # predictions = model.predict(filepaths, "fiftyone") - kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) if batch_size is not None: kwargs["batch_size"] = batch_size - datamodule = fi.ImageClassificationData.fiftyone_from_datasets( + datamodule = fi.ImageClassificationData.from_fiftyone_datasets( predict_dataset=samples, **kwargs ) predictions = flash.Trainer().predict(model, datamodule=datamodule) predictions = list(itertools.chain.from_iterable(predictions)) - # @todo remove when `FiftyOneDetectionLabels` can self-normalize - if isinstance(serializer, fds.FiftyOneDetectionLabels): - filepaths = samples.values("filepath") - normalize_detections(filepaths, predictions) - samples.set_values(label_field, predictions) @@ -137,7 +128,7 @@ def compute_flash_embeddings( if batch_size is not None: kwargs["batch_size"] = batch_size - datamodule = fi.ImageClassificationData.fiftyone_from_datasets( + datamodule = fi.ImageClassificationData.from_fiftyone_datasets( predict_dataset=samples, **kwargs ) embeddings = flash.Trainer().predict(model, datamodule=datamodule) From 60db6f9c46fb1c702db5a83b14b9d1bb95072459 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sat, 12 Jun 2021 11:07:49 -0400 Subject: [PATCH 30/52] update examples --- docs/source/integrations/lightning_flash.rst | 8 ++++++- fiftyone/utils/flash.py | 25 +------------------- 2 files changed, 8 insertions(+), 25 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 4602f4b1cb..478183e6c1 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -367,6 +367,7 @@ function, passing in your Flash model. .. code-block:: python :linenos: + import fiftyone as fo import fiftyone.zoo as foz from flash.image import ObjectDetector @@ -404,12 +405,14 @@ There are a few different ways that this workflow may come about. .. code-block:: python :linenos: + + import itertools import fiftyone as fo import fiftyone.zoo as foz from flash import Trainer - from flash.image import ObjectDetector + from flash.image import ObjectDetectionData, ObjectDetector from flash.image.detection.serialization import FiftyOneDetectionLabels # Load your dataset @@ -428,6 +431,9 @@ There are a few different ways that this workflow may come about. trainer = Trainer() predictions = trainer.predict(model, datamodule=datamodule) + # Flatten batched predictions + predictions = list(itertools.chain.from_iterable(predictions)) + # Option 2: Predict with model filepaths = dataset.values("filepath") predictions = model.predict(filepaths) diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index c8073e3f4c..a7b8bc9bf7 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -66,7 +66,7 @@ def apply_flash_model( data_pipeline = model.data_pipeline with fou.SetAttributes( - model, serializer=serializer, data_pipeline=data_pipeline + model, data_pipeline=data_pipeline, serializer=serializer ): kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) if batch_size is not None: @@ -141,29 +141,6 @@ def compute_flash_embeddings( return np.stack(embeddings) -def normalize_detections(filepaths, predictions): - """Converts the bounding boxes of the provided - :class:`fiftyone.core.labels.Detections` from absolute to relative - coordinates. - - Args: - filepaths: a list of filepaths - predictions: a list of :class:`fiftyone.core.labels.Detections` - """ - for filepath, prediction in zip(filepaths, predictions): - metadata = fom.ImageMetadata.build_for(filepath) - width = metadata.width - height = metadata.height - for detection in prediction.detections: - x, y, w, h = detection.bounding_box - detection.bounding_box = [ - x / width, - y / height, - w / width, - h / height, - ] - - def _get_serializer(model, confidence_thresh, store_logits): if isinstance(model, fi.ImageClassifier): prev_args = dict(inspect.getmembers(model.serializer)) From b76c89febebc741cf41bedd9a3e91b6e967a2dfe Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Mon, 14 Jun 2021 15:32:26 -0400 Subject: [PATCH 31/52] update docs, pass kwargs to flash Trainer --- docs/source/integrations/lightning_flash.rst | 177 ++++++++++++++----- fiftyone/core/collections.py | 5 + fiftyone/core/models.py | 5 + fiftyone/utils/flash.py | 11 +- 4 files changed, 151 insertions(+), 47 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 478183e6c1..fa78197cb6 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -5,19 +5,20 @@ PyTorch Lightning Flash Integration .. default-role:: code -We have collaborated with the team behind -`PyTorch Lightning Flash `_ to make it -as easy as possible to train Flash :class:`models ` -on your FiftyOne datasets and to add -the predictions of Flash models to a FiftyOne |Dataset| for visualiziation and -analysis. +We've collaborated with the +`PyTorch Lightning Flash `_ +team to make it easy to train :class:`Flash models ` +on your FiftyOne datasets and add predictions from Flash tasks to your +:ref:`FiftyOne datasets ` for visualization and analysis, all +in just a few lines of code. -The following Flash tasks are supported by FiftyOne: +The following Flash tasks are supported natively by FiftyOne: - :ref:`Image Classification ` - :ref:`Image Object Detection ` - :ref:`Image Semantic Segmentation ` - :ref:`Video Classification ` +- :ref:`Image Embedding ` Support for future Flash tasks is on the horizon. @@ -26,20 +27,23 @@ Support for future Flash tasks is on the horizon. Model training ______________ -One of the primary uses of Flash is to load an existing model and finetune it -on your |Dataset| with minimal code required. +You can easily train or finetune Flash tasks on your +:ref:`FiftyOne datasets ` with just a few lines of code using +Flash's builtin +:meth:`DataModule.from_fiftyone() ` +method, which is implemented for each of the Flash tasks shown below: .. tabs:: .. tab:: Image classification - This example trains a Flash classification model on a FiftyOne dataset + This example trains a Flash image classification task on a FiftyOne dataset with |Classifications| ground truth labels. .. code-block:: python :linenos: - import itertools + from itertools import chain import fiftyone as fo import fiftyone.zoo as foz @@ -50,6 +54,8 @@ on your |Dataset| with minimal code required. from flash.image import ImageClassificationData, ImageClassifier # 1. Load your FiftyOne dataset + # Here we use views into one dataset, but you can also create a + # different dataset for each split dataset = foz.load_zoo_dataset("cifar10", split="test", max_samples=40) train_dataset = dataset.shuffle(seed=51)[:20] test_dataset = dataset.shuffle(seed=51)[20:25] @@ -57,7 +63,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = ImageClassificationData.from_fiftyone_datasets( + datamodule = ImageClassificationData.from_fiftyone( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -93,14 +99,13 @@ on your |Dataset| with minimal code required. # 7. Generate predictions model = ImageClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" + "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" ) model.serializer = FiftyOneLabels() predictions = trainer.predict(model, datamodule=datamodule) - # 7b. Flatten batched predictions - predictions = list(itertools.chain.from_iterable(predictions)) + predictions = list(chain.from_iterable(predictions)) # flatten batches # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) @@ -109,13 +114,13 @@ on your |Dataset| with minimal code required. .. tab:: Image object detection - This example trains a Flash object detection model on a FiftyOne dataset + This example trains a Flash object detection task on a FiftyOne dataset with |Detections| ground truth labels. .. code-block:: python :linenos: - import itertools + from itertools import chain import fiftyone as fo import fiftyone.zoo as foz @@ -125,6 +130,8 @@ on your |Dataset| with minimal code required. from flash.image.detection.serialization import FiftyOneDetectionLabels # 1. Load your FiftyOne dataset + # Here we use views into one dataset, but you can also create a + # different dataset for each split dataset = foz.load_zoo_dataset("quickstart", max_samples=40) train_dataset = dataset.shuffle(seed=51)[:20] test_dataset = dataset.shuffle(seed=51)[20:25] @@ -132,7 +139,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = ObjectDetectionData.from_fiftyone_datasets( + datamodule = ObjectDetectionData.from_fiftyone( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -164,14 +171,13 @@ on your |Dataset| with minimal code required. # 7. Generate predictions model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) model.serializer = FiftyOneDetectionLabels() predictions = trainer.predict(model, datamodule=datamodule) - # 7b. Flatten batched predictions - predictions = list(itertools.chain.from_iterable(predictions)) + predictions = list(chain.from_iterable(predictions)) # flatten batches # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) @@ -180,13 +186,13 @@ on your |Dataset| with minimal code required. .. tab:: Image semantic segmentation - This example trains a Flash semantic segmentation model on a FiftyOne dataset + This example trains a Flash semantic segmentation task on a FiftyOne dataset with |Segmentation| ground truth labels. .. code-block:: python :linenos: - import itertools + from itertools import chain import fiftyone as fo import fiftyone.zoo as foz @@ -203,10 +209,12 @@ on your |Dataset| with minimal code required. # More info here: https://www.kaggle.com/kumaresanmanickavelu/lyft-udacity-challenge download_data( - "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", - "data/" - ) + "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", + "data/" + ) + # Here we use views into one dataset, but you can also create a + # different dataset for each split dataset = fo.Dataset.from_dir( dataset_dir = "data", data_path = "CameraRGB", @@ -221,7 +229,7 @@ on your |Dataset| with minimal code required. predict_dataset = dataset.shuffle(seed=51)[30:40] # 2. Load the Datamodule - datamodule = SemanticSegmentationData.from_fiftyone_datasets( + datamodule = SemanticSegmentationData.from_fiftyone( train_dataset = train_dataset, test_dataset = test_dataset, val_dataset = val_dataset, @@ -252,14 +260,13 @@ on your |Dataset| with minimal code required. # 7. Generate predictions model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" + "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" ) model.serializer = FiftyOneSegmentationLabels() predictions = trainer.predict(model, datamodule=datamodule) - # 7b. Flatten batched predictions - predictions = list(itertools.chain.from_iterable(predictions)) + predictions = list(chain.from_iterable(predictions)) # flatten batches # 8. Add predictions to dataset and analyze predict_dataset.set_values("flash_predictions", predictions) @@ -268,7 +275,7 @@ on your |Dataset| with minimal code required. .. tab:: Video classification - This example trains a Flash video classification model on a FiftyOne dataset + This example trains a Flash video classification task on a FiftyOne dataset with |Classifications| ground truth labels. .. code-block:: python @@ -287,6 +294,8 @@ on your |Dataset| with minimal code required. download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip") # 2. Load data into FiftyOne + # Here we use different datasets for each split, but you can also + # use views into the same dataset train_dataset = fo.Dataset.from_dir( "data/kinetics/train", fo.types.VideoClassificationDirectoryTree, @@ -309,11 +318,11 @@ on your |Dataset| with minimal code required. # 3. Finetune a model classifier = VideoClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/video_classification.pt", - pretrained=False, + "https://flash-weights.s3.amazonaws.com/video_classification.pt", + pretrained=False, ) - datamodule = VideoClassificationData.from_fiftyone_datasets( + datamodule = VideoClassificationData.from_fiftyone( train_dataset=train_dataset, val_dataset=val_dataset, predict_dataset=predict_dataset, @@ -332,8 +341,8 @@ on your |Dataset| with minimal code required. # 4. Predict from checkpoint classifier = VideoClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/video_classification.pt", - pretrained=False, + "https://flash-weights.s3.amazonaws.com/video_classification.pt", + pretrained=False, ) classifier.serializer = FiftyOneLabels() @@ -352,7 +361,7 @@ on your |Dataset| with minimal code required. Adding model predictions ________________________ -Once you have a trained Flash model, there are a couple of ways that +Once you have a trained Flash task, there are a couple of ways that you can use the FiftyOne integrations to add generate and add model predictions to your |Dataset| or |DatasetView|. @@ -362,7 +371,17 @@ Apply model The easiest way to generate predictions on an existing |Dataset| or |DatasetView| is to use the :meth:`apply_model() ` -function, passing in your Flash model. +function, passing in your Flash model. Behind the scenes, FiftyOne will +construct the appropriate Flash +:class:`Trainer() ` and use it to perform +inference to generate the predictions. These +:class:`Trainers ` support distributed and +parallel inference, so you can pass additional arguments like `num_gpus=32` +into :meth:`apply_model() ` +and they will be passed along when constructing the +:class:`Trainer `. + + .. code-block:: python :linenos: @@ -377,7 +396,7 @@ function, passing in your Flash model. # Load the finetuned model model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) # Predict @@ -406,7 +425,7 @@ There are a few different ways that this workflow may come about. .. code-block:: python :linenos: - import itertools + from itertools import chain import fiftyone as fo import fiftyone.zoo as foz @@ -420,19 +439,18 @@ There are a few different ways that this workflow may come about. # Load the finetuned model model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) model.serializer = FiftyOneDetectionLabels() # Option 1: Predict with trainer (Supports distributed inference) - datamodule = ObjectDetectionData.from_fiftyone_datasets( + datamodule = ObjectDetectionData.from_fiftyone( predict_dataset=dataset, ) trainer = Trainer() predictions = trainer.predict(model, datamodule=datamodule) - # Flatten batched predictions - predictions = list(itertools.chain.from_iterable(predictions)) + predictions = list(chain.from_iterable(predictions)) # flatten batches # Option 2: Predict with model filepaths = dataset.values("filepath") @@ -444,3 +462,74 @@ There are a few different ways that this workflow may come about. # Visualize session = fo.launch_app(dataset) + +Image Embeddings +________________ + +Lightning Flash has a +:ref:`task that generates image embeddings ` +in the form of a vector of image features. When used together with the +:ref:`dimensionality reduction` and +:ref:`interactive plotting` +capabilities in the FiftyOne, you can accomplish +powerful workflows like clustering, similarity search, pre-annotation, and more +in only a few lines of code. + + +.. code-block:: python + :linenos: + + import numpy as np + import torch + + from flash.core.data.utils import download_data + from flash.image import ImageEmbedder + + import fiftyone as fo + import fiftyone.brain as fob + + # 1 Download data + download_data( + "https://pl-flash-data.s3.amazonaws.com/hymenoptera_data.zip" + ) + + # 2 Load data into FiftyOne + predict_dataset = fo.Dataset.from_dir( + "data/hymenoptera_data/predict/", + fo.types.ImageDirectory, + max_samples=10, + ) + + # 3 Load model + embedder = ImageEmbedder(backbone="swav-imagenet", embedding_dim=128) + + # 4 Generate embeddings + filepaths = predict_dataset.values("filepath") + embeddings = np.stack(embedder.predict(filepaths)) + + # 5 Visualize in FiftyOne App + results = fob.compute_visualization(predict_dataset, embeddings=embeddings) + + session = fo.launch_app(predict_dataset) + + plot = results.visualize() + plot.show() + + +.. image:: ../_static/images/homepage_embeddings.gif + :alt: embeddings_example + :align: center + + +.. note:: + + Interactive plots are currently only supported in Jupyter notebooks. In the + meantime, you can still use FiftyOne's plotting features in other + environments, but you must manually call + :meth:`plot.show() ` to update the + state of a plot to match the state of a connected |Session|, and any + callbacks that would normally be triggered in response to interacting with + a plot will not be triggered. + + See :ref:`this section ` for more information. + diff --git a/fiftyone/core/collections.py b/fiftyone/core/collections.py index ec8c900d0b..f2756d11d5 100644 --- a/fiftyone/core/collections.py +++ b/fiftyone/core/collections.py @@ -1222,6 +1222,7 @@ def apply_model( batch_size=None, num_workers=None, skip_failures=True, + **kwargs, ): """Applies the :class:`FiftyOne model ` or :class:`Lightning Flash model ` to the @@ -1258,6 +1259,9 @@ def apply_model( raising an error if predictions cannot be generated for a sample. Only applicable to :class:`fiftyone.core.models.Model` instances + kwargs: additional kwargs used to construct a + :class:`flash:flash.core.trainer.Trainer` for Flash + models """ fomo.apply_model( self, @@ -1268,6 +1272,7 @@ def apply_model( batch_size=batch_size, num_workers=num_workers, skip_failures=skip_failures, + **kwargs, ) def compute_embeddings( diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 1ef92271b0..59ac73a6ef 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -55,6 +55,7 @@ def apply_model( batch_size=None, num_workers=None, skip_failures=True, + **kwargs, ): """Applies the :class:`FiftyOne model ` or :class:`Lightning Flash model ` to the samples @@ -86,6 +87,9 @@ def apply_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample. Only applicable to :class:`Model` instances + kwargs: additional kwargs used to construct a + :class:`flash:flash.core.trainer.Trainer` for Flash + models """ if _is_flash_model(model): return fouf.apply_flash_model( @@ -96,6 +100,7 @@ def apply_model( store_logits=store_logits, batch_size=batch_size, num_workers=num_workers, + **kwargs, ) if not isinstance(model, Model): diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index a7b8bc9bf7..ed27bfa2a0 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -39,6 +39,7 @@ def apply_flash_model( store_logits=False, batch_size=None, num_workers=None, + **trainer_kwargs, ): """Applies the given :class:`Lightning Flash model ` to the samples @@ -58,6 +59,8 @@ def apply_flash_model( batch_size (None): an optional batch size to use. If not provided, a default batch size is used num_workers (None): the number of workers for the data loader to use + trainer_kwargs: additional kwargs are passed into the Trainer() + constructor """ serializer = _get_serializer(model, confidence_thresh, store_logits) @@ -72,10 +75,12 @@ def apply_flash_model( if batch_size is not None: kwargs["batch_size"] = batch_size - datamodule = fi.ImageClassificationData.from_fiftyone_datasets( + datamodule = fi.ImageClassificationData.from_fiftyone( predict_dataset=samples, **kwargs ) - predictions = flash.Trainer().predict(model, datamodule=datamodule) + predictions = flash.Trainer(**trainer_kwargs).predict( + model, datamodule=datamodule + ) predictions = list(itertools.chain.from_iterable(predictions)) samples.set_values(label_field, predictions) @@ -128,7 +133,7 @@ def compute_flash_embeddings( if batch_size is not None: kwargs["batch_size"] = batch_size - datamodule = fi.ImageClassificationData.from_fiftyone_datasets( + datamodule = fi.ImageClassificationData.from_fiftyone( predict_dataset=samples, **kwargs ) embeddings = flash.Trainer().predict(model, datamodule=datamodule) From 8189b4dc30963134031096061f64fc072fe40614 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Mon, 14 Jun 2021 20:41:31 -0400 Subject: [PATCH 32/52] update flash docs --- .../images/integrations/flash_embeddings.png | Bin 0 -> 28634 bytes docs/source/integrations/index.rst | 51 +++++++------- docs/source/integrations/lightning_flash.rst | 64 +++++++++++------- 3 files changed, 66 insertions(+), 49 deletions(-) create mode 100644 docs/source/images/integrations/flash_embeddings.png diff --git a/docs/source/images/integrations/flash_embeddings.png b/docs/source/images/integrations/flash_embeddings.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ccea8cb667888a5df8b16cc5c21ae5d4c2ee8c GIT binary patch literal 28634 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 literal 0 HcmV?d00001 diff --git a/docs/source/integrations/index.rst b/docs/source/integrations/index.rst index 33855cc295..a6d688d440 100644 --- a/docs/source/integrations/index.rst +++ b/docs/source/integrations/index.rst @@ -41,31 +41,32 @@ services that you are likely using. :image: https://raw.githubusercontent.com/PyTorchLightning/lightning-flash/master/docs/source/_static/images/logo.svg :tags: Model-Training,Model-Evaluation -.. customcarditem:: - :header: Google's Open Images Dataset - :description: FiftyOne is the easiest source for downloading and exploring Open Images. - :link: ../user_guide/dataset_zoo/datasets.html#dataset-zoo-open-images-v6 - :tags: Dataset - -.. customcarditem:: - :header: CVAT - :description: Import and export image and video datasets in CVAT format. - :link: ../user_guide/dataset_creation/datasets.html#cvatimagedataset - :tags: Annotation - -.. customcarditem:: - :header: Labelbox - :description: Download and upload your data directly to Labelbox. - :link: ../api/fiftyone.utils.labelbox.html - :image: https://voxel51.com/images/integrations/labelbox-128.png - :tags: Annotation - -.. customcarditem:: - :header: Scale AI - :description: Import and export labels to and from the Scale AI format. - :link: ../api/fiftyone.utils.scale.html - :image: https://voxel51.com/images/integrations/scale-128.png - :tags: Annotation +.. + .. customcarditem:: + :header: Google's Open Images Dataset + :description: FiftyOne is the easiest source for downloading and exploring Open Images. + :link: ../user_guide/dataset_zoo/datasets.html#dataset-zoo-open-images-v6 + :tags: Dataset + + .. customcarditem:: + :header: CVAT + :description: Import and export image and video datasets in CVAT format. + :link: ../user_guide/dataset_creation/datasets.html#cvatimagedataset + :tags: Annotation + + .. customcarditem:: + :header: Labelbox + :description: Download and upload your data directly to Labelbox. + :link: ../api/fiftyone.utils.labelbox.html + :image: https://voxel51.com/images/integrations/labelbox-128.png + :tags: Annotation + + .. customcarditem:: + :header: Scale AI + :description: Import and export labels to and from the Scale AI format. + :link: ../api/fiftyone.utils.scale.html + :image: https://voxel51.com/images/integrations/scale-128.png + :tags: Annotation .. End of integrations cards diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index fa78197cb6..aaf8fdcdb5 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -7,9 +7,9 @@ PyTorch Lightning Flash Integration We've collaborated with the `PyTorch Lightning Flash `_ -team to make it easy to train :class:`Flash models ` -on your FiftyOne datasets and add predictions from Flash tasks to your -:ref:`FiftyOne datasets ` for visualization and analysis, all +team to make it easy to train :class:`Flash tasks ` +on your :ref:`FiftyOne datasets ` and add predictions from Flash +models to your datasets for visualization and analysis, all in just a few lines of code. The following Flash tasks are supported natively by FiftyOne: @@ -17,20 +17,35 @@ The following Flash tasks are supported natively by FiftyOne: - :ref:`Image Classification ` - :ref:`Image Object Detection ` - :ref:`Image Semantic Segmentation ` -- :ref:`Video Classification ` - :ref:`Image Embedding ` +- :ref:`Video Classification ` Support for future Flash tasks is on the horizon. +.. _install-flash: + +Setup +_____ + +In order to utilize PyTorch Lightning Flash, you need to +`install the tool `_: + +.. code-block:: shell + + pip install lightning-flash + + .. _flash-model-training: Model training ______________ -You can easily train or finetune Flash tasks on your +You can easily train or finetune a Flash +:class:`Task` +on your :ref:`FiftyOne datasets ` with just a few lines of code using Flash's builtin -:meth:`DataModule.from_fiftyone() ` +:meth:`DataModule.from_fiftyone() ` method, which is implemented for each of the Flash tasks shown below: .. tabs:: @@ -409,18 +424,20 @@ and they will be passed along when constructing the Manually adding predictions --------------------------- -In some cases, you may have loaded your data into Flash datamodules already and -want to generate predictions with those. +In some cases, you may have loaded your FiftyOne dataset into a Flash +:class:`DataModule ` +already and want to generate predictions with those. -Flash models support different serializers, objects that reformat the output of -models. Using FiftyOne serializers, you can return predictions as FiftyOne -|Label| directly. All you need to do is set the model serializer to the +Flash models support different +:class:`serializers ` +, objects that reformat the output of +models. Using +:ref:`FiftyOne serializers `, you can return predictions as FiftyOne +|Label| objects directly. All you need to do is set the model serializer to the corresponding FiftyOne serializer for your task and generate predictions. FiftyOne serializers also support a :class:`return_filepath ` -flag that will return the coresponding filepath of every sample along -with the FiftyOne labels. - -There are a few different ways that this workflow may come about. +flag that will return the corresponding filepath of every sample along +with the |Label| objects. .. code-block:: python :linenos: @@ -494,29 +511,28 @@ in only a few lines of code. ) # 2 Load data into FiftyOne - predict_dataset = fo.Dataset.from_dir( - "data/hymenoptera_data/predict/", - fo.types.ImageDirectory, - max_samples=10, + dataset = fo.Dataset.from_dir( + "data/hymenoptera_data/test/", + fo.types.ImageClassificationDirectoryTree, ) # 3 Load model embedder = ImageEmbedder(backbone="swav-imagenet", embedding_dim=128) # 4 Generate embeddings - filepaths = predict_dataset.values("filepath") + filepaths = dataset.values("filepath") embeddings = np.stack(embedder.predict(filepaths)) # 5 Visualize in FiftyOne App - results = fob.compute_visualization(predict_dataset, embeddings=embeddings) + results = fob.compute_visualization(dataset, embeddings=embeddings) - session = fo.launch_app(predict_dataset) + session = fo.launch_app(dataset) - plot = results.visualize() + plot = results.visualize(labels="ground_truth.label") plot.show() -.. image:: ../_static/images/homepage_embeddings.gif +.. image:: ../images/integrations/flash_embeddings.png :alt: embeddings_example :align: center From f7ffbc8fd5dfd67136e4a926e40a5f2172690fad Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 16:08:30 -0400 Subject: [PATCH 33/52] docs updates --- fiftyone/core/collections.py | 40 +++++++++++++++++++++++------------ fiftyone/core/models.py | 25 ++++++++++++++-------- fiftyone/utils/flash.py | 41 ++++++++++++++++++++++++------------ 3 files changed, 70 insertions(+), 36 deletions(-) diff --git a/fiftyone/core/collections.py b/fiftyone/core/collections.py index f2756d11d5..67dd7e19fd 100644 --- a/fiftyone/core/collections.py +++ b/fiftyone/core/collections.py @@ -1222,7 +1222,7 @@ def apply_model( batch_size=None, num_workers=None, skip_failures=True, - **kwargs, + **trainer_kwargs, ): """Applies the :class:`FiftyOne model ` or :class:`Lightning Flash model ` to the @@ -1259,9 +1259,10 @@ def apply_model( raising an error if predictions cannot be generated for a sample. Only applicable to :class:`fiftyone.core.models.Model` instances - kwargs: additional kwargs used to construct a - :class:`flash:flash.core.trainer.Trainer` for Flash - models + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer` when using Flash + models. These can be used to, for example, configure the number + of GPUs to use and other distributed inference parameters """ fomo.apply_model( self, @@ -1272,7 +1273,7 @@ def apply_model( batch_size=batch_size, num_workers=num_workers, skip_failures=skip_failures, - **kwargs, + **trainer_kwargs, ) def compute_embeddings( @@ -1282,25 +1283,33 @@ def compute_embeddings( batch_size=None, num_workers=None, skip_failures=True, + **trainer_kwargs, ): """Computes embeddings for the samples in the collection using the - given :class:`fiftyone.core.models.Model`. + given :class:`FiftyOne model ` or + :class:`Lightning Flash model `. This method supports all the following cases: - - Using an image model to compute embeddings for an image collection - - Using an image model to compute frame embeddings for a video - collection - - Using a video model to compute embeddings for a video collection - - The ``model`` must expose embeddings, i.e., + - Using an image :class:`fiftyone.core.models.Model` to compute + embeddings for an image collection + - Using an image :class:`fiftyone.core.models.Model` to compute frame + embeddings for a video collection + - Using a video :class:`fiftyone.core.models.Model` to compute + embeddings for a video collection + - Using an :class:`flash:flash.image.ImageEmbeder` to compute + embeddings for an image collection + + When using a :class:`FiftyOne model `, the + model must expose embeddings, i.e., :meth:`fiftyone.core.models.Model.has_embeddings` must return ``True``. If an ``embeddings_field`` is provided, the embeddings are saved to the samples; otherwise, the embeddings are returned in-memory. Args: - model: a :class:`fiftyone.core.models.Model` + model: a :class:`fiftyone.core.models.Model` or + :class:`flash:flash.core.model.Task` embeddings_field (None): the name of a field in which to store the embeddings. When computing video frame embeddings, the "frames." prefix is optional @@ -1313,6 +1322,10 @@ def compute_embeddings( raising an error if embeddings cannot be generated for a sample. Only applicable to :class:`fiftyone.core.models.Model` instances + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer` when using Flash + models. These can be used to, for example, configure the number + of GPUs to use and other distributed inference parameters Returns: one of the following: @@ -1340,6 +1353,7 @@ def compute_embeddings( batch_size=batch_size, num_workers=num_workers, skip_failures=skip_failures, + **trainer_kwargs, ) def compute_patch_embeddings( diff --git a/fiftyone/core/models.py b/fiftyone/core/models.py index 59ac73a6ef..3d068f40e2 100644 --- a/fiftyone/core/models.py +++ b/fiftyone/core/models.py @@ -55,7 +55,7 @@ def apply_model( batch_size=None, num_workers=None, skip_failures=True, - **kwargs, + **trainer_kwargs, ): """Applies the :class:`FiftyOne model ` or :class:`Lightning Flash model ` to the samples @@ -87,9 +87,10 @@ def apply_model( skip_failures (True): whether to gracefully continue without raising an error if predictions cannot be generated for a sample. Only applicable to :class:`Model` instances - kwargs: additional kwargs used to construct a - :class:`flash:flash.core.trainer.Trainer` for Flash - models + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer` when using Flash models. + These can be used to, for example, configure the number of GPUs to + use and other distributed inference parameters """ if _is_flash_model(model): return fouf.apply_flash_model( @@ -100,7 +101,7 @@ def apply_model( store_logits=store_logits, batch_size=batch_size, num_workers=num_workers, - **kwargs, + **trainer_kwargs, ) if not isinstance(model, Model): @@ -619,6 +620,7 @@ def compute_embeddings( batch_size=None, num_workers=None, skip_failures=True, + **trainer_kwargs, ): """Computes embeddings for the samples in the collection using the given :class:`FiftyOne model ` or @@ -635,15 +637,15 @@ def compute_embeddings( - Using an :class:`flash:flash.image.ImageEmbeder` to compute embeddings for an image collection - When ``model`` is a FiftyOne model, it must expose embeddings, i.e., - :meth:`Model.has_embeddings` must return ``True``. + When using a :class:`FiftyOne model `, the model must expose + embeddings, i.e., :meth:`Model.has_embeddings` must return ``True``. If an ``embeddings_field`` is provided, the embeddings are saved to the samples; otherwise, the embeddings are returned in-memory. Args: samples: a :class:`fiftyone.core.collections.SampleCollection` - model: a :class:`Model` or :class:`flash:flash.image.ImageEmbeder` + model: a :class:`Model` or :class:`flash:flash.core.model.Task>` embeddings_field (None): the name of a field in which to store the embeddings. When computing video frame embeddings, the "frames." prefix is optional @@ -653,7 +655,11 @@ def compute_embeddings( Only applicable for Torch-based models skip_failures (True): whether to gracefully continue without raising an error if embeddings cannot be generated for a sample. Only - applicable to :class:`fiftyone.core.models.Model` instances + applicable to :class:`Model` instances + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer` when using Flash models. + These can be used to, for example, configure the number of GPUs to + use and other distributed inference parameters Returns: one of the following: @@ -680,6 +686,7 @@ def compute_embeddings( embeddings_field=embeddings_field, batch_size=batch_size, num_workers=num_workers, + **trainer_kwargs, ) if not isinstance(model, Model): diff --git a/fiftyone/utils/flash.py b/fiftyone/utils/flash.py index ed27bfa2a0..d27edebd30 100644 --- a/fiftyone/utils/flash.py +++ b/fiftyone/utils/flash.py @@ -59,8 +59,10 @@ def apply_flash_model( batch_size (None): an optional batch size to use. If not provided, a default batch size is used num_workers (None): the number of workers for the data loader to use - trainer_kwargs: additional kwargs are passed into the Trainer() - constructor + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer`. These can be used to, + for example, configure the number of GPUs to use and other + distributed inference parameters """ serializer = _get_serializer(model, confidence_thresh, store_logits) @@ -71,12 +73,14 @@ def apply_flash_model( with fou.SetAttributes( model, data_pipeline=data_pipeline, serializer=serializer ): - kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) + data_kwargs = dict( + preprocess=model.preprocess, num_workers=num_workers, + ) if batch_size is not None: - kwargs["batch_size"] = batch_size + data_kwargs["batch_size"] = batch_size datamodule = fi.ImageClassificationData.from_fiftyone( - predict_dataset=samples, **kwargs + predict_dataset=samples, **data_kwargs ) predictions = flash.Trainer(**trainer_kwargs).predict( model, datamodule=datamodule @@ -87,7 +91,12 @@ def apply_flash_model( def compute_flash_embeddings( - samples, model, embeddings_field=None, batch_size=None, num_workers=None + samples, + model, + embeddings_field=None, + batch_size=None, + num_workers=None, + **trainer_kwargs, ): """Computes embeddings for the samples in the collection using the given :class:`Lightning Flash model `. @@ -106,6 +115,10 @@ def compute_flash_embeddings( batch_size (None): an optional batch size to use. If not provided, a default batch size is used num_workers (None): the number of workers for the data loader to use + **trainer_kwargs: optional keyword arguments used to initialize the + :class:`flash:flash.core.trainer.Trainer`. These can be used to, + for example, configure the number of GPUs to use and other + distributed inference parameters Returns: one of the following: @@ -125,18 +138,18 @@ def compute_flash_embeddings( data_pipeline = model.data_pipeline with fou.SetAttributes(model, data_pipeline=data_pipeline): - # equivalent(?) but no progress bar... - # filepaths = samples.values("filepath") - # embeddings = model.predict(filepaths) - - kwargs = dict(preprocess=model.preprocess, num_workers=num_workers) + data_kwargs = dict( + preprocess=model.preprocess, num_workers=num_workers, + ) if batch_size is not None: - kwargs["batch_size"] = batch_size + data_kwargs["batch_size"] = batch_size datamodule = fi.ImageClassificationData.from_fiftyone( - predict_dataset=samples, **kwargs + predict_dataset=samples, **data_kwargs + ) + embeddings = flash.Trainer(**trainer_kwargs).predict( + model, datamodule=datamodule ) - embeddings = flash.Trainer().predict(model, datamodule=datamodule) embeddings = list(itertools.chain.from_iterable(embeddings)) if embeddings_field is not None: From 4e75276ee839bd77b8e05c84884aa59d0c9c3984 Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 17:33:36 -0400 Subject: [PATCH 34/52] copy edits --- .../images/integrations/lightning_flash.png | Bin 0 -> 12837 bytes .../images/integrations/open_images.png | Bin 0 -> 851098 bytes docs/source/integrations/index.rst | 57 +- docs/source/integrations/lightning_flash.rst | 487 +++++++++--------- 4 files changed, 274 insertions(+), 270 deletions(-) create mode 100644 docs/source/_static/images/integrations/lightning_flash.png create mode 100644 docs/source/_static/images/integrations/open_images.png diff --git a/docs/source/_static/images/integrations/lightning_flash.png b/docs/source/_static/images/integrations/lightning_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8eb2165bdc1e2da586cf0307fff0234e595147 GIT binary patch literal 12837 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%0DrJ_u{HK1a{^OZ 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¼pR3&G^SvQ%Ufc>xpOupdjbK;ZE` zb@TB%h$qj?6zvixWRxNLJIVpxNYC$0*IDg`nk}?|-f*q6jWw4MSd2E?*-jD(YpyRR zrslwdc-ieV$}mmmZ_Dk>2hyls0Dkmk`ui`^`{=>P9f|I%gXj0dkYV!K50~9hNc%S6 z3mmoK{1MKBITk8bY`+^sOtS{jG(MKkcKg!G|35F^=g#_*^s~e;3w9DF=|#SF z>+|PskB)D!hvSZF>HL}3)4{3k^qar_ zzavqcPQU(le>MG+-}qemqtAUlT{}mZ17c5Y!wYvU~e8(+Ko?_DrP9SFfjUedoLMT_erTUP~YS&{OGsPkkW$ z{#UbBt_~j$C;ENF7$c}^FZ0aZgIz7ofjs+K`ZgagcO6&pBP+(9q^Lclf=^dCVPVZf z2)&9Ibjs|FTk)ugmBz88GTkf4IbC2|G2FV8$F_p@bw9+AJ5I z*@q5(k8t7`vTXY_3tVXQXoo$V>-l=`S9v-?T52vMo+1R1lyBCJk)K?# zBZMFR&UNM+M{)7{zIVL#@|nb-xQets^WOJX=Xa6cZ?7V4k;dP47@$R3zTzs<`>rUn z{p!B5O=rD+o34PNfX{NhI_oIX7Ui0@NGIH;Ez03G%5Ar&!r5_$b`DZq0iX$}UYxaw zg9AWn;VQcr2*sd|-z1e7ScK)M(wB%yRATVtB6st)e@6O@i(Ge6rT{u-{2eP;?(?oA zgh!Y_z>|TDGK+k|;(ciI#08hn{0K{=<9QJD_Ve7voYv+RW%wl03tC56s(d32gK`&+ zoISV4d&>3-SRTk9FCO@l)7``EF038tiZmUSwCfi~8Gj}Zm^yJ0#@GS0_Lv>c{PGC(jniLucUA=@8)K$Kkgu;TrHX?qVSJCoxuwb(L{Snc zQMM#M`5fC%lAmqa=QzufpDZibrUE4{B~lV8iWEsR?=o&qzyiC-ISnwteFr+`M^Uc?|*8zIvfs=lk9Gjc(E z>9f*)+iv>*QSg1SPbh+*eQ3U%@X08%@(w^J^=aVcSAH5AcuuZHUC!!R&iB_<;ooxo z$aod5a@&A5>DgKVuLDojOS+1tPN8**y985%lEB*@%P#FQs%lsDy)e#agZaz*f(M_4 zVPPKY%0R!W;q5>usL}|#^t}-G=B+--$ZO^07KiU@?aVTz8UAHIz%S}u1%tDy%sI94 z{GP{}50v3}E#=kn8}AHY-YT^yCpybEj}_VDp-yYVG9GxtI!wGC?E9FOjZn6r${idRsQ`N3Jfh5ns@ z1*htR63_UdoDL>&g{wEb?!nl)Wk>AW%l(nP?eXYir(*NA8_)(Vj`eHT$B9!XqI1QH z_&+yy$6Y6m#LWJe;yxVDcHDn|j$wCnJRR7*VNE=^a!q`4{g(LS&weUlc*pDSkA}rd zFcZM71oVFV)amq})`X2zR|ocaOdK=ti|V9XBdhoZFX%+;)qq$2Q%^n0>8Yf4qiUTxiPPPjt7^$BdaC`L z|1x>WQs}|@XK-%n_Fz|6FTS?8_mOL%MmaFBeEDknsv{R*-tpMw0)dbVD*91vl-e=- zSsIalccDc{GWdGW_{wVPqB z3{T#b3?52p{NziYDDsnW@Lp&EU@d}B!$zjh%7`LeW*5*>PX4C-B^c*(^$w`3R~cu# ztut24RB5Zp%vRR&nrc4Gr<;$t@=&WFzxZSJd3dbA7uAQCxkYGnRgdqg@Ji37t;Ofc z&a_p8@e4ovoWel=({-PY&&1!x_PM3m+)Pp{qktq~B&5JmF(EPwAMvFFOWB1Kd4_s? zE`vh&lO1LK8K0R+XP_Kck%j0>#j;fs8<+7!OCkl1(hPo-%zpWS04p&fvLfujM5kYk3OvnbgMx!B#=e zOuQ0*fm4u)^@rOTeondDSbN5X6K=JDYV;WB^iLj(!(e+@^O z$b@{X<>f)R4OwRG)j|Q47g>jxRbXj=ndi0{LeYGAwW5>OfT#2Wk%B^gaa?_xoQU}C zh{$V0&`j9hV&G~)#sUgliJdF;)!=-kFVhQ7Rkz>^r}5Hhc~|JfSCtT_Mo#}-4byG~ z7TT#MdGjv(WQi8+hjHfQS%j?;SEV(b!Sbv)$B9YEldz<4Q_=t;!Fn=7mYq??WEesRkk7X0|ya)wDCEA{#@L9 z&;9Y{x4Z+J*cmQe-ybjTeKA(8ToETuo?wAA#&-JhIDYbY{OY!+<7&mG10`Hk-A@{!=L^kdCfx&ln(0nLAlBSU7TJV9j6dd+aj@!g) z_B$4JA&j{2Q3GLJLq zd^*cAaYiK`%x@dgp<@m2na}#o#~-yN{z$T_@@JhT&N8j0!kK9m-ZGO_)$s0PM(0EM zA@fU#o-$leD8Of$(!7$AqP*@R5s}$So643K@ClPqezGybO?$)AbX&YdKc0xVlwF#-o?QNar%810T zZ8XdagutwQms?XynDED0l}@l?ZihMLwj}RUC;~Q{r!Z7j{gfqbWL-=Pc3Q2i<(rCM zAuJSz#ffEDzVVgtB_5>jq`yR&S4?<3TVSg~OWu-3m|VSI5v=SFC)-MhviuowLnw@o z6ISb1|;k#`(Kqp8mGwPWUBD$>;kLUB0b5<7&kg+p~gGilhBS z@Jj&!oa9B|6p+bluvK`;g8f7MJRCgF3mWFCVDvfP!B-Td$tDUb_$(&rhygA%RogP5 zFMTi*!Sd6-r&f0U_66@tJ|C~7uj=rff`k8QS_a=`jg|#nCS_-w2}qw~vQ{2x_@DU; zYbxVF{;Z(7P(Zibs?RHWvcgJp(b3k)!3ca)L37$CS(5EgLu7Cv;)L9R_DBKibq~A& zjZHJoLr=!h!$%megK^}AQ(<7}*`D~3TW*Z)Tz7JwG`d|lg`cOP{(-?z7#wrn{r6L4~hIl=!@$d3GfpR-z+w6%94U@b#H#?8&7r)tqg;zFab!Q~Dzr&*edu zl%>@Ql-7N8OqKe4Pk_di6P(hMjhT!lS=Wn-WHAld2N1g-G|3~${%Ey}w#$WxZy_(M>?IqB)w7#$M7{Bm+ zp;KB~OXKex>Yd+(fBRJ0T$N?nK410u`ph>>nQ#w}_Tx$TO|kT$ zT`~J9Ptm{(3pXiEw2WH&l16z~gpDj={$1_Y5B|Cux0%w;r->G9Jyl&*DMs@iQJ}73N*QJFR7K@? zY1qr7<}(z4a-h}HDToYXaC-01UIv<)6mewxdGbew8XSCilCTafM;#}?>Mogv59uoy ztEz;ol*1eAO86D5Hnox-^Ez9mErZap2T*d2%u7VF5ff;3%V%nb@EW zlNV0M&R_Y>=vcNg?ZC3kD)EBvWIn)V6H=oG6ZE+-wK6d#V**EhYpdqf9ffI8o3nFP z4SSOyYmHYZu?*c$Xv?O?Y6*tPzE3S3b*4sxnCuI__42%l3C>XE_qo8BPxER0Rm!>o zYl*v3URAE~!fvpvD&9I43Xxt*qO(`&Ay4!HPqk2J!rsWHiC-rc%d@#jErp|(Iz%49 zGPEt#ZH+Z&oypJ(j#A4*e2P~jNMT3VESKLC;J8tNhU8wiH*gP=qV-CTy9wdWA#GR-9YnBZ_}6f|{i#>MUC~rk&-^LGFKK8|%Qq1M!nT z@xfS%7RVEl$4{J&?>zRkc{s-Dy7pG2Mi2w4@hvF^Qu8#Tx2RO|*9T&Ma z<}!y?dUxKL!k-iB6eluIp4iP5gQMJ$w=x=V+IixkKaG$1^yIZD~djKXExOeDu#_7~84A3#ZcV3^5b> zpod)q^Q2>IZIq_j?i>D#PsZ9cIOD`M32aHqIboTBv66NX@Zi<)(w(hUZpS_E1J5a7vZdnTjZO)K^)>9sM87C zr8soqIJay!=e}v>w!n$PQ;On4$DUq?V-xEg5D<=t$;+J`%+#9KCZ0T5HF5n1ejNd(;6+?G z>F30bHo?C0Ic*8(uZ1D|x5Be^^FJrYY`v&da4?UI931oPPqWy6Pdxs3eEJXnYb?fw zqXjL~9D;-=V)L{r6BQdDS)TpiK5-X1{vv7yQn zH?F~$LDMgrFtSZyAEY)*I&`ZHcwFJB{h1gaiC5opf86@kw_*(2LtP+`d=-Ahf$4KX zs%wuXK>?uj=@nS2c2xCM z0!H~==-#dFN_%2?B@cxYY>z=)sr6}MVz6%Selr|7b|h_FI+^eXalN6jyY^Tb4a;NO z*yhnetoZjMZDxs-RpClZH@CLLBTqezPqnl0-Zwu;8sA%k69SVF_s~86`2M*0_8Stn z79u;+Ab1E@A%FI@uf=ssd!x6fH;$h>AJ?o|8#ip(l3G>Ia{l!rkHoz*@yO<7ZQJO-;1&5=#kh$8U0+{ zblc|5l(#(HI0$btdP<){3p<26hHiQ;n{`~z0D-$HbU<2JOmOZ@|52vU2weJ|o){)>OYj!k#c)RCjdxz=c} zRd7=9N8^Wn=w0#bo~L8w+70o+=l4YW*FPOYiM%u{SwYhx&DSeAK|p$sf*A$(zOS-#vEJV2Zb6}1dZT6p(mQQ zT^on~>957a(q$3XZ^IdAee`i(=05!1ZP>6XG27hM5>Gz+JO=1zlUCanEsCu>u8*}V zSH=VPKY+8;3tXVSD4s&_+KXZTM?d}$cM-A$htR5dg5$&SrW=|69ibXey0I~gBLt7( zXn7Kz;0{0@g5gx6{57>(@*gyQ!d3Eu6#01V%kQep`FU^w;Eo|iG&ChY;&27O6_$;y z##fcxau)Inf6tc<9Qo{bEkjkGzok<@jZOgi&rx-~apT&!tKn7gU3YQl0`A{&oW&q(VE^-m#p`23``T=rla_$!TV`W{>zBo3n+7LJIxH-0M*@j)iDkc_%b?a8BEh_tjk%2<YF&lRgbT-?A=mimgZ?C z8MEzl1(VAk-|$%BJ@G?(#DQ@$wX2b=%XEo1o^yf~_*$ItP2Edkti78FuLYYa2}Y-z z*h&G3PC^^-A2W-JJ}_pLPIYU-#)%I3#KkNcIpIk)cKX56NZd(A zXMAV^tebLX>8E;q5dlxxf+CJ`q>Xka!a*Du)^R~`EATaAyHW49RzY6k#XtTo0=WH8 z1EH~oE~lgtY#-HSu%7Bui&{{ga1>a4XFBOs|4A}Tx6o){wm%*6G5%Aqs|w;+fuwng% z6b|*1CfsgkHSoUD6bM)Ku@Xo1INq_JK6yOe2NWsj(Hh6v(D+!4ogIl&N6*J51e+D@ zXf(jBH03z|i?4qpZsVGidv3W6CzG?WZLeSWi$a)ZF_rF+#C#_T-`sg3VgAcwro_+zL@R>b07wzXj%6_)Z z%W1zYo7ctuBZuM=&THGTd%9)Ewm9>VzL>hXhcT?vUN-X4JY6`$78<)U&UtOE-OLM& zU&iAMiz)l75pC4P=bn$=Rd>hc%`0*aX<|H&FJ2K1{efU3}p(L!vV~eLrkt;O7*9NQ17svq& z#X{H69Q{AZ-mE+ivdTWc!iS)b1!Kr@APpD7lB|*%Yd?L4j!19W^J!}Nt1>J4%iOi> zmT0i9Oqai`$oiBck}@f`EW)h=qC{fExX#lry}irgx@}uya_>~Esawj0m#cF-qi>)) z2F3?+6}@fAmRQ+|iWMhh(;TtXM}?|inTAO6`!oIBZsQOTE>-Nqhg~`TR_}i3|E_GzRtVpRtp-bOZmZ!GOI~PS@b_R7>XE8D- z5oLMG%X|R(@{oB*L;TzXdH5uOl#=GtruX?;rzO#m&*BttWaxejNkmB$`7^<(J^jG1 z0(Vj6Cjkf(Ak`3@@Z|4o9`$O|0q%xay*~fkbMf`BeKiiecp!}nTQNGku73SI91^{! z(-Kuwz zZLcI7-8y6&EtZhQ^KCu0!=P+t|Lcb*>5X!0uWC3*fujJ7{l;*OVnq zc$h)W-mzmxqVDnWSaw%WJhpdF{OGG+i@=SI3hxe|JcZzMKK{---VvjotfbryT!wU` zT^VKT#~#-%uU)$q#)3p)8U@-`;Ip5tUqj%2>~ZGM4E@cAe>T4N;=Z`+#$6<*&HNKz z=xm}HkM$i0zc+8+5r6%}Q!y|y3?5b_orx{Oa<;>SZ3v;xNq$z9GvioolJB6#Cc>j;Z zPK3-GuHPQlA|UQLcr^AryElcQN5A_-yz1`TxSV@Q?B2I8{s!Bpx%!qk&sbfF7UeZB zJ`t1KSH~P%dvrqb16SFo5g-TXkS0tsmpS*ffGdr%rdfziauROhiAQ4}TD4<4*Tzi< zSse`s*_V#9xa98I8MIOeTFxsCIKn-Py;R?$d*b*f9*^-}%Dc>VBJ|zb)*YQw12KG- zi;>k~k=IkW>$|v}0asj;)0{w@XpXrhT`{#AZQBnujhB(7E z;}^g9-@$X?b=fJ^pK2KKyYTPo#g%Wm2!0|@C2m3blA^|0C|j*&BNs~6Gnwic-37jM zFaxbPt~~%$K&!tIt!AsvODAEJRZ(Qkpiiq*Bv4__u~h=!&OevL^5!C3NprjwNP_g| zr#$nU2giQJAF6kmfInr-lB(7?(=(h%?;;*BCEoPZ3lnzBsI#RrmMvNuw{w5lQudVF zTT!+D<+n62SCDO!x!W&|kHl$pkF;tYP*RxtDFy*govEvu&9 z*xtSliT-k29z8}Y859az_Daqql$o8)HUsTg%An}&Wo7T;nu4d%a*0skN)0{=}U<9G0oBx?juswE&MP!F&TT6Q1`Ek-&xT1IKr+PO}1XNP! z!Au4#^|=fH(>ck`$MZ@OQHV(bNlW~WS9gfovosMJ2kH)RH-WKaw$t&0;}GTwB=OKT+0cUgw-O;2PRw$}Q|>{U>(bAm6uR@GfAR=hJZ zY+njbnW?17qWC@ET~^G;x>6967KpOn^nRw;)&S#egKF8eNFPdcMA(yFDhKSf9S_o+>ki6=1WWwB1?!nzEb6B(@O z6JM5TeYRyj6#B62B2dyB(zxkr!MtU4xUd{wk_JT08{3mkLCNC9t8g^3k~ht?1C8Jv zb5lsm4XNeLs7!A@`=F{j1yxqIPVN&-fNq27xK)8gzdlaH6XT=gX-7za_PV=c`=%RG zz%tDb+TN(zMT;Cc34pK~N?gHBJ@CrpGk_0qQ#9VBWpQX59k;?=g&fC}<@nX!W=U^v z(rwZ+8P4J+!12`E-4nwz!>M)1v0f_x%yG3z7ZYh&V2Sfa82u%*SC8y{KHmMRS4Z!T zo_NhSe>-kozb!VR)l<`<(S5GW!S^`Adpm;X-UA1tk2~}3z3rCNB)VPO0=&BauvO-B zVr$@&cd~*CwO6P5`eNI)*T$CBYvMCcJ{1R!9*t`^Y)CDZ__3U$=Pt%m2M)()zVq$4 z1r602wyV@uD)>}EpKpul6BpiIT&~8k4Z$;c2ejptMveuyMHxKc)9Hz}qMfV4z=avE zAZm^iC)jqot%d%cjbjH8ciKpaZB$*e2JA}^K3~c#fA~iqiIp3!iElpsbiDQFe>vjl zp7`Zo{^zlF`Lft^_y}8mmpNtEA0PkNpRkR(B!2I=e<$5jts%3_kG{J|oJ)K3%H9PCY(Y$BgS$gV3-2GdB67Rj|w)pVdx5kF}t7waF zvGoV7utj-x__guXqif^LOT+Q@%g17B38#f|y)er>Lr37HeFR%6+$lJwps@^0G^5Z% zv1h|Y1nvzQSh&m}5RSg^T+A(7!B*@jW&qu2=5WUVpQ&fe8;+bDj5}^wmkYn;tJZQY z(2g9FUUaltv{wP&sw`&$rGy&M8HB4Tyyzo-#f&_I zekuIOQmJ1?o&Whm!H#do;lkkWa;Im`G?}iHK^{WI6H4AIaTaZv2GcJL{#Lk?=H+wJ zvPsc3agYgu&~{3;qDObttnIBGOseA;#Gpa&$P!QL*E2CYHnH*-E5aQ>FY^;3@w<7EfFSU zb4d0IZWPFeP-|HJwqkqI7W0wmc5n`Ba2B`xtU%th;qJJ8)n;xXZ)00?Bo3ZF7W>X0 zh`yNte3pzvdm}1WRs^nka?6i>^2?Vm;6)ctcT8n&TMA;X7=($sMQ2{&DqaJcsY)=v3_LqYuuX4VtzA`z4FHhBtf|j`D0B zdv(cZ@);r}Pct9er{Ojg=U__vAX@1}sIl!Q{_LSRcJgSv`+e_?Rm%~yvvTs#Hi;fq zknkk3fy=nW6L8x4)H;bfe^j4@-#U4)*$l!A`I|qc7cOxsT!iv$+nFSdAb#O{GnGk} zoMbUqzBg_D$_L&RJeyu{)RMa0zIn^Ftcs6ed*|fE>J|-ZGb{E9CJ~MTBK)&L10IGU zG!GJ4=D0#)!B+Z7X(=m(=FloAD9^DvE`6jX6$4Nhjs9(HwC&QxLlgPdtX`fzb}n-n z?RmC9OwoWK*T8DJn+Z;w+BVx$g{tif@lynR+C`ZqUR)GBRr&n3m~07U%0v}x{b-Le ziDt>NrOOExJ~|U^#7YYQ8P&+_|%{X3d&( zJF#rZGVabDj!SGEZd|h#M~jDI=e8X%Htd|RBPlS7g&!1zPju6^?8PdbF~r-)f>H?o z3htyy;&P$|M}=O*RZ>*)#njf3RbfZ1p_(k6#VRa1epVq6sde#G*lZ0~0#o3i9Pr&v z9v7j7{)$)sqsLFi20XI69XSb~{N?Lzj!%5`>+vfect7KAhU-sy<0$q{2ag|*t!xu| zFyI_pbl-gT*|`7q+oYJB=oG%(it!|!muh=m%>Z^bP7n?B=NLlLw|74uo7kQ`gP^sD zJM6yv)RVDo<3?IV059Izrq^z+DUUzfw>v)mfuGL$rgMG}aneY^k9hEs-!3$Gl?HVj zUq>S&LpdJCIgFuTre8C+4#nj#_ML_a4$Iv0#<^I(p*4os8eX*;KUUb4?cdWJ%U0?; zX(EpA?_(>nFaFU#_3Qae*Tpw|8Z|xmlbb0cH z?j@c0wCavS`%lx?$`juoTr3KAD+j3*iWd9;06+jqL_t(qSQt)>Q;|G}I;Q9cwbauJ zSZr%+iqp(uezt|OfWtAP{d3MK&H*`i`Qq8foHQz!eNDXW6TT9p(JGVKO~jiT>&P+5 z@8q2lKL1O}&RzK<Jf%x>P zZ*ytonbJ1#?KK0lsc`0pETy#1L8g&!C2*)+s6)E7le9%J)i5sn2gm#4#+A3lTXwuA zmUZ+p$k{qzAG?vk(c7~qR&YgthWC#heIfd1PD3TN3P{(yh|6;)IYQfy0p@bxXYWNK za>7WJC_Ow)U9!an+AM6-iBkq2Ka}#l3{x1Jm_VwK0;7q4K&U3R>a}<)jJk>`-(`Zk z5|@)-5(l`bQHbBAJmBNq!aONJyE3u&3FcS$!(uAilF_`@ZpanJm%jA*_`(a5^p%U+2q(SzKgyVv$6z8gh0l{{I0>&iTh#65JQ$VOtl2rFZBXZ@3})&YU3++5;vxC^h}&XskKLq-I%7FhN&z zrQb4p(s>#5&>76ra-~5BaBiQt!sDNUrfZ%$Xwef}p2%zEQfIH}m_?8sL6CE6upJ>M zePqFCmn>Ntz1%yt5I@47u=8!35=S*UGTyY}sD#qn)vtx$C5dU79LSTJOyHlcFYXDX z0g*3XQNYRo&#^??sTQOz2TN7z6}nECYS9WPquB4LiL+PKQh6U<7n6poU44A5U9%qT z3eH>`^$cBLu7sYd^y=HPOAxD9x39Ecyr;VW79CCSibg&z9EI6&RhTl2pA%iyQ-0G{ zgamoV5QgpJ#&i8qCmMlK`eJR*(l~VLMD$>Y--hw~S%kw?96WgL(Bas=aXkVui(449 zxKUfD5F__dc$a2|(AK^Fjyt37;7s(cYm4`7ertUAH-9&dKy#Z`uS!kPFTLq4@sZDe zE`IvWZ;jR5k2pyEZeOeAv~Q)syLRr3$6tCWuHCqit<~muV(;F#e(idOF7(FI`#Ba_ z*REI@ueld?Eh* z&whwI>lBa*eqCI7sqnN$=V%>9M@HEuWBUrt$^|qf36okN*vutP+wJ0>JlXRk`NzPY zL3-~$*A;8lPjYl0ZOSn&`DVNB%|FJ~FVm+vRMQ*pfB%m%_TB`Zy5kd{`E304pZpQm z+uR%X-Th$PdgIM;{Lq>7QFr9XkvI$f>(PK6KJgOx;ACnC+i@$_#x>AV!~PfJzkmDj z=*K5k6Bgye*p98|9O0T3t+_>Chp;s_*cTHVx~oxhX#Rbcj~myOy$PsP7^YF}J)6HZOf562w7CnGM#zk0`8VmagX$f*PL^%(tLoOMn>PaOzd1%q0< zmN`*7-Q;A@l=HQk)Je8|TiOwV4jqi)MJu9f!$!(3TB9#L{IwXt|D8c0X$d^{_^}t_ z$kxuRFoT_KOUInj^$;;2B6AuvVK6fIPu9}SJVlpv=KxO(H)H@LT<@U!dJ}N0zW}yz)u)sqm4yoGuUrM z(bLI%glh*EWBSU1qsxH>D92G_JLz5Ig1c%g6j~LK8ZbN=DjIgqGt{#$>^8kaaoz`4 z=0OIi@i{w9xgbyClBdyqcm=2`lhR=WtG}kkr7*DZWMZzsypG09BM3~*%{nV|JE=8# zx|b$Hk%6Y8yd1#g4kig@F`6wAk}HoTEez0mV%MhY<2*z-M zE)cYf)!Ag6VUPL9$XOUO*JGl=JGOf;mfnsE6)hM}Oroo$111e12was=qj;4<6}S*A z|5WTb;{{GQ%d7J61O8T>xA3)be(d-v_&bXP_Zj$YC=-X1yU*q+-{qyzRXXyMwfq9S z+OtAprN(zs)VTVY$DfEtzWEIpE|WM6%;xKxX%1Yvs&ECaad_sVPDL(PaOsl-A79=k zt`<|;&`idm;HpA<8#QCiFxAJN#P$KZi2LuoFZ-sn8O$;ueSW22TfTo1EGZNJ60iSl z9RD*|R`pDTC0{9rT%^q{Na8EOBVplp+3G2MQN1I2KA6s;Ez>POPrVsozYW09#+XFf znN0Ly(iXFs0TPhSLs% zZ01_4`f2Q(uyJuUuK402Lq;N_T(*qMeG!6xAbx32wn?0b!|w|T!OLPRTmcFze6P9i z@?aPl!gUIfEVc}`SK%njb*8qhwm(}{78P#AFAUPQAM+~MG-G#Sea#3723e&vWj!tm zI$3#BLE=qAVC&evgXJ`#8cPe?Wm!dt1zzx}hRU&SyxVpPQZ5Xd5Re7a#fW@F?LOU& z0K#IBz82S(GX)HFXaHqr+@WV6PsE>*1@ZH zZQq_(ws`sVk$8xg*~@(Vvl`^5(IN8jAEZ5#X$gZaUMxbw!F(x|_mEx<(_Y;nB13vdxT z&UVUp>Ex-{LVYK=uW=b$au?7*J^Acz+RQ1x{!3|eK7gB(!M8n#z0?+L#@G>I%kA&~ z%AGMba~QtU&w^qRLKzGD%V=XbiTC)4V=Ss8-u$|M$2Q%vICJp={W2QA_;VkQ4}a*# z(HwWg=`&~JnWtaG?rA))uu^-~&6e$@;UajnAV9R?n`$vMwDQEM_~;|wit}%HTim{R z6IvAfLY?o6C(oRU#mAn;)~qw;&;~Ak)qS!2o(EzM;Zh#gfN-D62X91c)gX zv|X6ycuc2g_MuIgDxr>fb_Vwq<7oBdx7w6WvWwKv-5VD<4Y*poDcqpJ{=#2+&J&auq!7~IdECu^S7n;K)7vC-Mn5VzdZ41IuCwrwY-`+@aDeCJCDweDI$ zOX*^PypU2VH-ch2_D(RWp=oSw(upkmtU*n^ydB0^&!R)$e;v$I)2!mhTPI@>8@wqF z;4MA9I64P8Fu{8L>`B~VP_N@%9^toJ?=Dnb0F9x!^Sk2x$;ZSk=?s9E?;M8?{)E*N zZoDp_dD z$W5%4y?uL66jEr9C!pSQ~4nR;OS$ zf;#oiOSeTICn7Gx3^Y`ngGst=>DIz9%pl!D(CxBL8AUrP*>*H8tuUrlI9yx5d@Y31 z#_5{j7#<%?n+wx*vZX20Z$Z1Jf!yrHx!44wkfADssV2X`MY{v2sX0y=Z49zW2yEcu zVC?6z%2}l1_Aa&#ojB;_f^s?z#zA)_@rq#gepA4r9}Os4b$Fzd*YA& z_`h*#r2}mU1D6vsuEcqzIG$~HHLdni(35x>nDtJsDT!f<31euX-xb2fr?rU@OWPgZa(dm zZ1Z)M48jS1{D^yKdZ9g#X|k_s1JY-W{GEI!5Uh?JJQypwJ9AQ*LoGix$&qTh#x2+; z`oR-}E@+ydUG0^0z2NpBm1Y?(4B#QT-Kq-!$TGK|(=CHr`Q*{~+-;oH7Eymat32t` z!y2mDN5;^o$e7r?5x#CF@#?O;ggvVR^EDh9SH&0FgB~T)8m>*Z@O|~{D6m}Hp8b{W zAe$otp)d0zTzDu&`h=B((;@(ww*>mBdaPooFUzadYhK}^X{k|C>tH7NO={q4&(>#L z@*Ff=1~shn@X}60YR-gaZELlit61`N1Z*|s#>=YmvQD;GPfv0X}S zy-Daty>7peg~;mFtCPO6t+jVFFmYym*hGjmw8yfpg>9)$r#raCAOCiDCIx;`=XNLR&EwU;FZB;z!^0*63tT zX#`(hztYe=j4k6BX{1R7p&l017vte4kH!D>!+$?seg6-~C=+h|^myEG-L?3YLfD2U zoj~*S&wuw1qW%2Yc<^;^h>O7DslhfD{BD~L)-FlzR`^3(|DFNe&zz5EG30;$P1ve2 z)^z;2e)T%EvGn!s$D?^wR}6D~O~XBJi}m+Ez`c2G$^TY^Rm~$NaYG^PjMC0O{HssL ztGEa7dT?o2&OEhgBQ8=%_g#d|JGO6*=Z_wWKN@L>_NAMX|BYdiv3__kt_$dlc{Y!2 zk>8OcO{ew*SVl%>urKziE$9&ZHo{}NmTtfvtv&lsZLWgSJ05s_Jo}BW#?Sr6ug9%7 z-x4pp@Dl#IR>w)U(tq>c{%*oG|L2+w@!IV>)6e1d8*Yw!z{94E8`;Ggjc+~r)p&R} z2NK#4#(Rn>P5Qf}X$>sK*COb&qJdHX8sJ1?C-%&f(-&juaxQ=Fo5L=yA+Ep0>!Wx+ z41K}ur774HGzxRk(#uRRiqFQw&^3j4~ z)#iM5X{IB_Fr8R3)*eeQxusk9S@HJocq(O?c4C4&Fj%R{u1R4FU=*ITDQ}^EWteHU zYNt>d;PoQDy$@|NJF%l9@D`al2MlHyTLydAAx8H3pcc4+owdd$gvG2#&PC-8EICG5 z1s5Ty5eHw37=-nx_oom@R<2%?g_;yGhdcmF;f2A%1Ys!Jl*s7onV_w_9iJL%!^SU7 z0`NJu6d44n+aQ8AYzfw4kiL4=8kn%F9^hx7`#j4><2Tjv>4}^s$n;YEW+%}qC3*#* zKHNy0xp0mF-NfXE22SCCfuwdp0dh6!QOoPczsTC&m3h)=96_!JBU5Lz2J%rY^xkv+ma~%6LalUMo^k|HYPNI=Izxv*U)k0Q%M0zX=Hqx!ps<`O z$k6#U+nTa1x; z)o_q?Rf%k4$z@uFl~RIj;BjFPafaHLkHRc&{A8aKmx2>?=7On;Gp!6uMr>achFq9u z+VU(%*g4Oow%BT9Ka>pF2l5g7!g1h2QNXHpD(F~G9<{E$bArpU$#*W4p#KhdORnYQ~5MM2VvIn9@57}PPD@RT^qHIMEm45l+q zo?xip8)1GhKFgsD7Zcj>i02k|JA|{1f6LI6EM?1d^`h~3=%c@f24o{XxvtH!db=0J zD*S5gKYTDcmYiW*bus*?hsh4Xf)jmb`_D%c)qdn(eI{0JybfE#%N)u=Q#;KGyH%^W zCgx&%#%P7aUY9<&vvhf+w-S-v5zVS6o4($Uw0M~=nU`53+m z{=V^sJK|4%{rBVO@x$@(V^721xz=aya;#zMo@K6#%_L-9*Sc~pEN*m^lc^|}dzW+| zSa6lk;Ak8?FoHIY1qIuSb!fD-^INX#Uytz9*WcFPRGqR-;DNl8Fs_+2o^SY zvX@d>1_G>OW)|Ocmr@(7QlS||Lh<#*e1+m;3IXoq1?)!=tX?=Z7YEPI#Yvj_#LB5S zheC;cYX=J->AuiD4<&&24Ar+A#_;pTDOSJbq*@V_oKOX2lG7^5JQ!Ld7$df~>Or=|3x)UCWa3G!s7!vSn(jXx*h1WL@=x&%%{uQ@&oFg?$fxTaF$+%+>|lqLvMe%}gL3V$hyv7Q^H^1nfEx zV-wjBmd3rKe^Wy}c$BQXkfyuF0^}mLrE_NnaB)eqSk1O0PndtNQJCEv_K2^eOmQ7~FQv(_6K)PSBOIlu}oLkE`pH8r-iz`mWJH_0IQBh6{sj z$TDl=$NUOeQ;d~X7TN#$U;n4L=gz;4N51;$_}o{&694579>QnWwm52!=J^Y>co&Wsrn3S)JOJ`3qS#!t$O?n$+VqkPKKD2F3900a&bGP3X z#?4uLVaYSmb;Z6o77y^;yP`WM;|4T?V?&3TIQ!WBXpIw0ypvAOu-s9e8FgqoaJ7IY z>Ji5OTd~U=JjWF{XxSDsfqS|6Mbdv8f#)aQ`L1|jx2`SD<0bx5j1QiTrw1nD)d*Mi zhy7KDB0{WsQd``~n{lv!kh(b5a@b)J_IqtRb|Ks>PHmP~Yvrk0=In9!$v^!UzZPq_ z6#5w~)IBWIitzHn-WS=*!}jaU5%&0MbA?^CApF$Z-h*~?QS5#R%l3=VBK+m;Zyt|> zCmP~gPjl$)8v2_v2owF7|8V=u=*S$JT9i>;Bb+#VF~$bn#lV?z2ZA>E?mv%q&ns@w zE@9diXV0*6Ga)0nDi0S6~4Sp53=j(bNb(R|VU`xT*~r#Yo|lHI_hg9XkoX zkqb{D(qJNL33<+RMDf1{L3!tj)W+vPG>QbJNN|zA-4L$z3+bAW;D-?gyy$cc;w^%< zg8;1*Dr$ZESQ%3@{h*eF@+4{qRRiEW>_Ee2oqU{Z_%wq&Pb#L?k^04B_8}L>;u=)b2^s`hG4PC7@TW}PH3ZD#fdm%FA8~7V**9<`K1!l2yG+0)q!1A9 zv{cgg^UB0s2~-t4^8y6*IO(`;Xa1a0DNEYvXXSkGr5Blip(1QwrZ6l9y|i7eE-4gn zXnSfu$g6#it2DO()7Fn364QE~h7F{>TW-aqiorS+@~9TZL6&4VddRk4o1tMg2eBsv zKD`y#dI3;>iCKRO?VJOyZ zV_re&iT_?C3}lpH^ci!#93}vBn65CT$M#k0(s$qkH*bqiKl{!2%%#@&p`BafJ*$_- ze>-(N7Q-u#_YK7}FEVID6M5Vr#ffOdNpep&ThzedNBk3 z%h1Y!fV1ZnoZwv(WjqLrHhK(?=X|{jxdk<++}qwB0A0KadNa7Bqj&lrhF(1%@gMOnImC3t&N*E}V@gdwv?w zfJ{-}@$>9S2)!ORQsehP?1Jtk7I8oBXx^P#+DNZ??r>}6BGQlL){v*!?Y8_-!2YNd-3nV zJyZ<5Rm*y54>np50&=faln!wMWPf|p=Jf~zqw)9?PsT|5Ky<9)B zt8i{f0QkypfvE!TvWvil9VD)bMxjg)IiWF$I;JvI-~130)_Enq48BZK#q%;XJSMU( zdb;2(YfXGe97XstzuT~^ELd%yJayXc!tP@4{S9ugH`*toW>l zAKXUwItFW*z#!5KhSla7<{(bDP!$&Q)CKXyd<$0;`J4Bo$g(U?oFtRy*@3S>b0r=GkhEk(gcnFL^Jtoki8$B&5?_6hM-kcM5EdJ?$AN@J8uUo6a{ z{g9tRzh#UGYHqP5%mt3r{sC9oqVZkq<>Wv1>|Cr`#ZsAI8?>ErkziYm^4W}l?`dxUsP&K53*Bad< z&VgC%6>OKkwpU!zi`lO^229~=(~6+lvlC41k+}IMa9%^3-$YxQ{6j5%`DG!zBVh_d z;J-%YrSEy2+sHLIq~-aVEU#8?DW&|*0&9P)(|YnhiEPU&g~Y*vcm6hr_bGNY+VOU; zU#2(Re;?YPey(pp@Y(TS@wbS35B3AMtj7rdf%hh^)mm*>w?6uCFR(}(Tj<(_tusgy z!qkQ}c$L3+Aa>lhK31;liN_y*6sCiH*z4aNtJuzKW^VX}xBm#`!h^ua5(J6~_|SWP z_{U?%>C>_A^d)SGrnvg&a%_VC|LpyDL^u6D%{(^BVFoWo-U-cctRbclVxBphP>yr4{ANeGgIiHLv?DXhJ=urO22Oi)um)SAemM?~vG^98F=N{h|GiarL z_?@qX?#h<$(MKMOJAdXKamVeqGS+6}z|q6FHMtNM*sj%I+|PgLLvai4OuqDmug8|n z8~AKwJF#qa>hfg}!SeXwb8!yeX>*te8P;@RcLedQ+1eIk2w7^i^6nuuLTnqhBk)~7 zo3;NS@z~C_t%mpXawra=a}bSFGjnVgz7YpGoYB+GjuZl8e&K^I z)BqjQg0Ju}#e5-cYuee0HqDEl-Qsf`JC{0FC2y(dR@%*RAoPa1`25rL@vh&e01iKR zkZondAou~Ri>QOL6`C#s13Q?Kbd6%&Jt(^hl5LT3cvqug2O-g!-dd_qjUyb5QX-Ru zLR1U>HF9+U!}O$po_1}e6N-D%4IqCuMktW<8hctA4O8XnsVMj4)of_^nuGzy6n2vF z0fHUW&GwKDagTJAcO$GQo0wqSuF~nET9ZNGF$h~5gF-D>8T`b#eZZuz_gn?0MpmLZ zz(8gi>L(Ud*=iuk;G-?+FNA$`RfSHNdV<#5?Zi}PTvi>7v$__1=V&`N3BsE=?U36x ziO>f2de=eBm*eoBgSj2ksR|c@_jHX2mU$+l6zD_>-}cazUdniX+ChFB7Is!XlehT$ zfpAEt0G8=#Th*bZ$TCq_2E8-?u1aHkc6{Qo283`?js%?(5V$k_vE#=WP+b3DTbZD> zvlzI{U4u+GT}*Oq;7|IX6Zt|SXGO2@mD&qn)SLD!Omc)((+qpm(;ls*97DvBGCvIQ$_xI;}CpiaG6<$6tN^EJH6Ti*4dhk>^`A+=v$F`PPCtohajasX6 z9ZJF7!gm&saFKv50 zr%~KGR}`_i;z8O;#Yt+YC<_jv2GHO*@xXw>aDzf>3ShJi+OvS1pkO?$js=&A(xSd| z=oe3gx{~$o!49@?D|-5V+=?)vy%G|I{FF&lZ5Brgcom&WoBnRX_^`rXmQ7LBZ%g#q zf95lN)@2j24-^Q9^W&RZ-WOhYAy?%Jxt>(khnCDU4eAwAom9c2TL@|bwY8Mdii1XQ z~mj9}1|JC66%hm}yIUXcxa-p_?Q7iMkEK znZj)Ok?*RqZDT1d6PlvbORVMF*HxTPS#Ehjx{}7SvK->of@@OX$bR)5Z%;g2MmzP5 zZ#*2|{oc9wxevZKZd|`6ZDlXx-|Hg6?&OgJvF(~odD!ateJ{nyquk|p_EH=@bS(BD zym(6PLm${4H{Q5BPTW-=zxrz@;#N+{^-%GtV<+SA;Njdt*G8wGeqYRq$t_#2jZHgu z#Yzm}hvzP#UB^C`ep}hu#v)yVYE10ur+OAfbqHSKu9@-Mwf}`U`|LCE;61PBFxPYp zv7n#adpy<;V&skTpoML`#mpaXRRm`f;=evM5j$D4j4tnt*WJr_I0$WB z0I35JM^+3XSJlV5wGD9s_0|%ED`dGi--mmL>%bRVqhr(O+0sPWp|*)tcrSKslS75a zxJYS43F0{N)UhAObB-CtY%bQpxwM>@LSws)oJF}To*3^sAC}(fGUCgaHgD2$4op1N zx1cS&Fcdr2Ohg}ZmBN%Xn%jmFrGbci>*w3?>9Yd8J2E*=iId)?@yzAe_9?&1 zb7Q_t<^&QLUm7CI&|3g{6mPJ}0J9j>>rA9G5Q3Gt&#UH115q_js`WG)clDHvh{D_+ zaT`M+$Gy}P7$~a;qH{~Hfh#0NRkdS3H4Ou`W#de|p6&xj$yjxG3LBv7>4;>;sdi(4 z*l93Z2@sB=Fjg1}f$<*mXCcU6v~RId1Hhs801^c#mQ(hI5AX|G03R%*`4+`ch#JV5_WgA}UUB0RnpO~qkuEI%GitjA9piGST zsY0!M&T_iMBjGw1ZHLD7SUm?lk8x79PUA>4Tg{9I zS569Fc{IOS>Z8}lBNmno&t^sK+ux4GC?SOxIl3m(uq4Y zo~(SAv#RdERe((q=Bsg0wQu2fg-4l3)?35He16*R$-5@pK)B^wFh-jwq~y6$TH=Yi zo zj;2P|`^`GJOHNJqECQipPUBdViD_#nQ+Gk7!SAf&&EI@`jS*Y{Ut7f{M88|QOHd1` zX+;L$bvt~>WB;s*4Qf{=usy_GI*w*(CzFY%;>3-7z^5FK)S3N(K%H_DjZY_q)=%4X z5-WBENjj5WX?7gsE}!x8;ylVI=#WsEQsyTJjR*4P%m=x$6)=1`0}G)i0Ah2kGDK2(Gy&5d=_ml z2MgGrlJ3u4nvOTU_L{iyrVR=8z{q6W($X74*j_z-{7ei0*Ja9?gN~NtJar8;(Zxyf z{kva`&09Cct8UvBXGTuPiwB;M7HojWSTMDs`I!YS%}mA-K&Ekgt3c3(Rriuj*GB99 z!?EM0EwQ+LHXhr}{gAs>#d`W^62-t#=Espm%i;l~s6p~C!dK((Uw-;~Jqj8vl&Hi^z8okM-_Amf6o9q{~+?iAJ$T+?4xO!I z95%*Hx85B8_rL%3c!WC#f9W6pvslV@=<$=M$b&Rx4(+HjywI( zcppCW-Pmx=(s;hF9|Z%aJ>4FJAG`g{1Q0W$7vlN;WAUC>dn%Ca?@_c{xPqCTWebmk zv8?5^kCDuvC&o4k3>P-**8?x}XB%GGZ@iH$--#gv*Wp_$mm1N@B zV=U8d_d=SHC7SrOsKnuY17+2#?c`f6xx7w~?@buU=jlJnb-d=hUZYKaC#?Zq@MkZ&Y)E3p+DZi^Y<{tmJgu6M>9CBO$mc zJSux#g4nWA4v1_VjMQVF9(i;y02B7j3InDDX`EtO#2{~hfw|S_Aj_+FfJi{Be1^`F zp<1IVNEwWGM#&T#(Ugp$#d2lHbb{)WceyeJ*&s4CR+OXRe4VRB%23-Svuwtz{4B7$ z!YGa*VSF$r2e<>kNvNy}A*d9vU=}bt1u+@D%x($B_l+oU2AKfIfU^sAHDUw8)i_&b zMF4Ez?x}8s!t1whg=m`Nsi&Tb*vSOii?0%3$yFtQ^4+ik!k8bO6AH46H65>96f z8GRC|aPmGe!h72&%{fp^t0u+^j;pW`2UVQkSvPd30GzZ^N}Nwp22?5ENYh!?_mu|> zdCC)jz_KORJ_XPALkYlLgEw(f#n+Mxk6D#>o3Mf4qKs%_@Txr;W~*tk8O5uGLI&p|N9`8klf9Ac&Tp6k{EHZIM!zuLT3|HAAtv}o zV{2bbGA4Cq+S%F8_8^|F8N)6v#6!W6xDwC zW{`$Og7hN(3Xiygx6&WEILZ_>z;SLLNN0Y-2TCX~t-vT(4O6B`m|?8oP72b&vA+AJ zu)TC)GYmX=3xRzJ?pyQ`HC*^pI}S9vStfg+K=%+G7}JWYakgourtn)uwX+CCQ=Gw8 zqY0c1{IK*B<84o+3vpMBTw;t8n2Ru7kq^yq7=0xY;sXiG#|&`NHSo z$vrQyl5U_6&|)A2>YZDg6iYGvtYe4%OU)ALn_C&NY`PEa0zPViBy6{uu32SE(a^Xxp)HQ>EpMoTUiEbJS z2Lu)t&BEdxfoanNkCQej3O4QK0-ni-d zo01kL7$5sy*v&$blZFUU{TQg9?;nT_y$awx@x)Un>GyN-^k??RbpKeKQn1GUsTZEp zN!vScN3#UnY~$2o6aDOAk@M_QOnvXkxNgVxc$2Ez z_xkudU7E=-uHG`o3CKQZt0^{e!SgxVw!tSkGq6tk@2jjYjtCwb> z+0=}K#~BVFt-Jn)_)j1FNyhxL)Lwt(+mFN-Il#1a*^;<%)5du19rr+92ra;H=|b@X zcCqg?eaC!9WdB9R74zO@?2~7vFL31#2g9!CwBC}b`1p4?eZO3@7%tT2+McJi35`hj@Nm|NqPM|McOcc`&$1Hhk zLB63}GK|8=Nhz@Qj07H zKFpf3N8Ns;o;D_e;=LFFOQDBP=9Nh}aA9!%R%nnZXxQ#G9HVFnBn*VugryD*lwN0{ zItIDIiA({e0kc#k&M`KQ=IXD=3`|kL>0Ml{tb}wR=l0lT_MS%(s(LWKTx1+Y4R9CJ z2#8yR@nJWFuTl08LgD`1FGb^x_|52POBid@Mh+_RwJ?aQ#JJ!2Ll6p#`3gJ=uS}~_ z>(9s2M)M>wkS;rq?@&LF3*?C%n|0 zaLT2H!LPGMx7V0TnTTL40`J60e=$wd4@`dGuMMYmT@bxaCcVse61%w6tWd8L@hmv4 zb)P^8V8W6>@kjRoWqYtpI@RFtz3p1q)-rf%0u%40z^d)0%RKp~h8yx1S}e@IN|Om` zLki@Xt-LSzy@Icj?v?)*e3n6!Cp4jtuAarH=eu#!z=O?tR}fa!#-c> zBk8*^(mBRwMVscn@|;!R^&A%$um|zsc3oE&kcKU073!f(ab{?V7>_MLaeDV%)%&d2^FKKy~7iueBH z58=K6%^N!k>DmJNd(|Cx#*Uo`1ZbdMIAhR^oJ@}4fn{aCz&A-;UzjSs#NfxeR)1lV3=yj(_L+{YCmjf zlr6d5B(-OrMr13H>GFfplOc+C+FeHzI!^yzo=o1Ve zS7kDGCu{4o!qhy`K;D_h5Ft~kFu&Pa}^5< zHJyx)G)`U$hqI)cm@LNb3UzMT*-+MnOhj}5f?T#uc&Xp5F1G}A)`lFB0%QxFG>Gcd z`_DQ#@tF2xq#0qAGLBH^9c#_aL=xc>ll zR+n;6j^NOc4g>dY1F|(mJB7h5pxhdypC*`u)VzSvT!oJ^z$ZCEQ_o$Gm-%?KR&}lf z;mTjKS#GC`6LUpbERXO5KoEaA4 ztBTM3zzC>WV=;~-KrJCyaaNv_HN_SiWckT^y$0o zi>vxboG0D|s}`25!0iR&dCVW!}O5i3xMMBPIsQ@$f;UmPNfy(SB+N*yJqj^loNJ;^u21mRmS&5k& zU7GHM-2M{!p0!J&m(z96_wA22w{4G)y!&@z%Z45J!8#f*a;=(fT)y~?uf+{JZeoGb zj&Ol*IcUahMaMt`TE3+#aWJ`ZP25H&U4kDCa#-h%+qc92hcUUKLR2ixOuEhy*TUPS zRJ9lr2-??TE3|C|2HaD_F@^@|0@wA7x)pYL5XYtKV)+*4Bb-;yoa5$^bEFw#Y~jzU zv8g@UF5x$8=yaSv`&8`PeUP!dI?f*ATAfz5?eBVREML1e?{{p(`r9Rv7d3lVU>+Lc zIu{p4Z(nmATBGT_57$$3lh|^0!Pic|us=@r51|nnh#T(O#dak=noeUyj()6#g>5}^ zQD0x*|HIpRz*%}-1)isJ&bhj~I;p#*R+cQuwk*ln24iEuFyI+8<6#$u@xprW7<&hX zHM7_-9?}n%A&kK=29t~<1GaINWLdUs<3b^W~j+5_>9fAwQ*mDJ5f*<=$Q zITkRv}#h-r<+Yyn>M#+a%4iJnFVdIDJutX2%31?>8s@|k?=gKqiM~iraGn8D~B2H@o zGhP{i$IQH@L1+mU;u@75)^{CqylZec_V3vn8Z+7yY*RU+>;&_mx61G3(tIq8kvWQG zS0hO~!oFUZq>J0Mq(bun1$alW|3w!PG6h}EgCDjp^)`;}@5Ps-ci9H#rCq|bAYb5~ zS8rcedCx{F4SER|WA&wD5Qr^eog~zfb)|VPmME*$xiCExOcbap#54sJA5KFu4t`Cm zlbW^rq}eTlreUv{v9YBo4+2mNAQghWuf|0VF;QDIRWpYOV^X(EeVpfOsj8O*z~OzJ+r`I|gIwv8h;|T8=h?Dzzy1k8WQ%{7eUP za`E4KX$roKwQ>}{RJy=ZX(QYAdBR$T z4DlE{KT3uu5tq9DcE=cQusQn9o+znnvMj!kq({u}h-hKoux^JwB!>#nU6)RU)002M$ zNkl<^e))cxzBpFs!Wz_j35KWDQXzF2=5D&Gd)k3nQG*3x1w5{TV3%N` zg2}*xEs|5}YN0`-ez%Yb+X|!8(p5D?%m#5(lM@Tk(~rfOYr2M|aqB2dxchJ)iif&b zOKi_lN4&^z2V4SJ8H)nN!P3ifi81LJTBn{-b#xBRC6nDkfLmV{H-J46B#eNyv69+# zGdox`)V8o8HB5iHhGNQ1SW$3;phef?B7r2K9L^)KVGV2Dh=F~}SR8l75(44G#T8sf zWI~RR)=o{K@lnc65RkwBy7u@wf=x`)Jp@UEbV{u&(Ay2HsHB)TGZ6ZB2?5e|rv+d*J>7s1Bxh?Pb7 z1n{b*Ps>;|nlZEOKgfLq{6i_(x0IOy1?I*#qJN~0{w^UHR>z*JsByGj6=zP&!5k4l zp(h>NF2|OBw#*^ud7|#|_=y|7C;t79z7H$NN*p7buLS<~(cf0;C3bc7rOSL3;VHc< zX4vvnX}NUTi2@bD0r96kdb&vO2PdkcCHD3}YurDOz7_F0;wAJS>tQ`%F?;*4_MkM! zR)2Jk?2RFqcOpZEEVx(>0$`%Gu|}^DJG9C?Z-VmxD%J@!|M(}$aiDi^eBXCmP4;6) zj0~QLo;i|T3AVqS6y#SZMxdyhGQ`m3Cx^-r3l;YQ1M;ufQ z;Rf~B9g2ep7jwXO3xTSO2>r2*DG zl^a6C*IEeM`N6wh9bco&kXg>nm|(9a4(pLe{|elzr|u!Oy?~|eWl5uJ(?YF(`pJ)B zIf{6}H4)!DOT00>VwzxetxfIaA@CPKPxIoQjKM0;7&&gU<@dwuN+nobh}PBjQsW&!AH zmM|8LX>o!OLi9{ePyfDz+M8{V3X*Eh#za*?2;Gd)U}y!Ld<^%%Ng>GiRTX5;jV5u< zSOc~&Xr%2mOr6yflH1rhM9}+Etl^@n>0m2~v!~fx$YfY%0m;5+xG!R{w1gR#V(gJ)NgWIl?n3` zx8`9#DmPV_l56}=7(@oM zgTE3sCjqQYc&;EUl@NRy5dL$mKuF50kCL%iz*9I%7+86FhNEb;3*J>g5 z_90z)_7C@)u8)KJcgMj)yD7nOl7`B$V`wLRw;u|sg>aMOelBG4o1hREe7s7A1R$9c zNM2aMir-w}n%67;u3wm3Alns}I6UWQgwS8H`PhHMh_D8u0Prvf`M zwN3~JV}J(eirU($r7}LkFCh}GYzL)?yL%|Wxe#leO>qH1Xr_4~Zol@9_|9AYSKNR5<1ha9{#XtMtpT%#!s~yYhRQ%_^t&Y>OMvLDsz%tRyF9KqCCF4im$r zb&3CVZopi{)_2T%TdTqTn+SLaZcUtLTgtaV|&oW6u`q+EaiHnMY9+;-FT@Ner{ zf^U?SaEB2U`z3^{HC`(iK9-SDE{+i&)_fXapAt)K!z5p~Tn&>Jqt7g|aWTVh?H2?7yu2zD7AQ`Ws8Svr`qH?gQ7EKnETWu z$_oUc67<=MxleO+`bIB|LzD=}q`klwUWJ*nZhSndNN-Y{ z#ES_ug;E=r0cCIKV@{QQ$UbeilRs9@RlfLcyAl%q zrDY&*^j`QZzpbO`EU*xr53N(VLpVq)tg3NuY;7WFGlOb44QMWnSPIt>!i@)TK1$4g z);!Z{We;J#xcBR6Dyri8=xeA#!kOV3rt zU3sqzF^9wW@*x6`S7oleCZEmyp3fuO-v0c&w@TZUciZ;x_R3MT?YW}O{E2bqwVcb} zVd_ob^2m;zxsk7ME21sE#S6>R3H{+kTW=HO|cBV1pnOF)OO*w zsd*>y=e!8z^SzJdTFft>-KInBQ^D3bvH0#yY#VX?^*6-Bk32#F)Td~x%+@Oe$Wlzu znJHrZXyo!(>02_HToJ_@^=HOXi-2g{jdY*_D*<3TB38n{b`mJO=iwaEW9Mr7aO`<_ zUA~HYE3ox9uh3EhI>Gd<;tYjB`I9cSp+q${Ly*z_&E~7YI#g3N7oDv`sr`>lJ&j;c zSRtkLE2LuMQGzxZG;6%4o53$2Xpr@X#k&FbLM^l`2`t)%!m%-3>l^H6%GMtx1cjBw zO*U3uN?}<`PHQs)PaOn*ZI0k$HXt_0eFH0xmOP3P8-U-4ptix*AV`2b8!Jl_79Z&U zJeCbZ2`sgxa?{ndhdDzqf?(=8)V5a!Ok%aPNNkoD=_AD?yNSCY=0wYjrHO<& zJTC>%66Lh(n~0ml0(WtW@(?uM*^A;^Jx^fpZW!z$$vit_fpvUo_9QUcN&DU431%<^ z`dWmYDmF=Ou5Aa7tascxTa@YU$9*Hco}N32u+Yr7+=c`f7Z$F1gic*sU0CU+XOA#; ztS*hcvABMYIl-dPJ4E>dwzYx#ZY>dCbWLw;))VVS@zCQ4mIuM-W@3tJV0wS?u?OO# zzyD^Z|MKzncfC8l`}^LM7C2X%bEGh=z$D#9LICEx@mWuX2_*F(oVcVQway$b`dY^l z$~6tRxV+!FA7Vq|?oMu!ms#WonqHtL7eKgGL~<>-dxeOa|M}ww0^2jwgi7vZ?%Q#I z{*?E`=<06vEu10g0sh6@XrVO(W&uH_8XmQYi_ZE@9VkO|CDtB$B0l!HPse$f*%map zfpzQdDdPS4^QYq40~AKBYKYa7=iq+?$5R_?dU=%EZavV>{jvMNbtt-6cvuJ0-iID~ zI6m~>|BQYA*oNn8pNa2y z*?7qv)D6386_;9d9Jvp-_*D@XkIhAOUpVE?^x)!NGcbiTw#ntm$0$+w@@*TDd~`ikX>-bltA9=9YPtm@mtn zXqi;GQooudsi2-UYJt@fC0G`y^lF8AYv(oanqr-e9jl759Yb;O+L0)?_QfxMg@xDC zfWZcWAWbg1$`ELf{~iTxbB_JO%WEWJzVRyPT;&IU_JX{~OSq=EwsNn}fOZy0$ul8H z#4ISu@`Ff8Hwr$6=88unnV*C_jXA8DM*YFGlfR8-g7M}xx_JG(yMC61V}L5%=i-t`GDV(~+a z`K}8m(?&u5GT85iuVyDEz`3pgVWY0GD_Yl@*=KAb&McgZ{k!&1-{Vkx?SThl`Rshu zjDVy%nrSa(H{dDk`Tv}waFG-+SC{e`DG>2qOz?9q=gam&$OTa}|NJZRdm@5Mrnn~G zeK;>&C{Df$&HeIb(3A`uRuIS-CIDiV29hUCjrjxt)N(B}Yu&O{fiwmCy($&X(9+&^}n{(p$ zjFTuvE6BKq#|m4!WXJM-``*ihsB+S4JZRXE1YZ_V6({X}#YN~P#VybS15)KFo%zn{1&v}v=7>g&3bFtdnbt6j}pxU-c9u9r0` z?3=-4jUgx=*S0~>i2<#)6ax%+9iN7@#FTS_OEw#*7!H9iW96v9H&U)+9k5OsuvnIP z?%Mh#0*kRcLNl6Mdti206LAr?GXGmJ&oyFA>bOS*um^>#p{5l9i;dKQb$h!3%isrb zDK+)%J*P5=g45ihR9Hd?oI$Y!mkkW%*Rs|Fr}gf<)r z3?BqT<7z<=sb>E;Yl3klnc5fmj4Qi+ADVwH3L}CT_iq?qM6iBK^A6@3M!qzQP>Gce z!M3e^2zW40WoS1-p)jzv%VUBCuQ91O3s?)vEJ#REZ1O;7u) z5E#2+W@t8+so`{Lql1jH3(-(&jQiR9w0d?WPM&{;R@el7XfOq^sWZppHE;U9_|YH# ziL_)CE1{Q?bYs73k0kzKceF%iT9VS80 zj)GLd#kkT#-m#6_`BjUdZ5Qn)cFG+6Uq8UQsK-J~mS6QQ)>S)#g`pIM1=_x>U>RD+ z@+Tc!g&$d6-6Eb^t{Qs#<4w2R7Lyd+E|C?u3XRx6A~{NI>m7$iqJ6L{df}l%FFMR~ zj3I7{+bE=}0^p*VoE0w{5t7&9Q=j-B@yCDqaV)b-arBu7_Z=o-+ad~V;V?+_ zUmBe%-iIYDZkB*p!qNjt#Pg_y8dqOC$_2>+K4uwM)iKu-)aI&hBZjzX0ET3UgfW}0 zHMZk1`w|*#M(V=Y`FK)mE1@X=dWfy`X4~SkOM}tQ9Gf*Mo&3iSuFI#38^!erx4hBc zI4-xf{k=Gwe{(OwP2y(U5=Ty4hEeJslfso*+}3T9klA=X04AV2LQ}FC5jBrIN+ux$ z<64y|w{?!HT&!Pxi;yDwEzCw_blc>C~9Bm)U=?VHfEbqZABOz!^b6 zBPAWJ!s2792?h?+Q?wgioJuVdO+heeCT3+Ol4;I0z1=;JT1mlP00!KazlqSgnv7+z z8nktG&P<+-9c)NCfFytL(7`x*b4c_Dim;^nu849ly}Ki&H){+ENnZk zg>VI7cW8Jp_V3?E+xX3aHNO-vV=R|R**3g#fDBV1tukKcuW)7hgOBA*p3JKgP5`C& z;zCJoPcK|XT@0u>4d^HK$FTS+?m&-tR?YUah- z6uyqNjkz)4UWs^_Sdm87oUooGzTz`~_gEZ4G1#~FDoP3v7eeWRg5bhT5Mqk?lBpJL zDGd5N@h2hbJJ0ir*XB9C7cee}c+R0?Ncgd)>9e0jS8mCBvyI~J{GGG>2rdJYW`e^L zHf2gFKs=ie2o&rWmM*zuy^QuISg+6^GZM?EZ~>emgRB#c5!V<(*+8f6TH`Xw>g1vI zSap`DZ`1@`Xl$UeJr8Ja+6}WKm>$=QLQf6*kL|`)r6s|dVvV@qx~m5O3voteEH-KB z#acy%R8t*(I{LP_g222ri9oxLcq#}tmMt?Ktzv3zAyK;qQ(1;?Llth+`B9kkG=d|~X&HiQ+z_{4|Ef5A_+`+EI;_w`WTy?~{AXMp zQeSS@0=?8)ssgcsb>bwJmAC)c{}clcPsVs$$l8LnJ9i>k-2~^HkMXAIxMS}%an;>7 z#V@@3eOM!!=~of9ph6+aiDMc7#38LjO~BH!8X{CZi>BCe3OWxQv*wv=M{W)7EF$1& zS?R)cTi`iXyTm`f6I;ezya1->5~=+trX{xV4xP(?-X-5aaEH?U&3&u!%6pI$jEPi{ zvN_hFAre|$`Y7dNJdhqA711Jgk#Vq$@4Vr(lZ^ zx$QwF7Wt;)_BK9=i>F>`^LECmfNvFp?GlY7#@iyo;Z@9 zgV-xjBw`=$b66K~2Toil$Mi))Cfax*giVd}ePTKqsBXW-{(sfrdku01qC#w$!0yEQ zhJaVgUcy!}P@!zZz>&(R{F?9Uc*CqBpo`GHuR_<(o;xLT%go6p__qAcb=`&$r@4vH z3}8^g&A14Sxc$&T9PXQpLl1AoZ=NH@i|bU?oZUPsbH4qxpl9?;$mMUv1;zQw#oO5)aogxhhMSmD;-JCdT?rEDR*)L3o$=u=TWet}F1oUsJR zZ$aR4@(5Imu0eWUhwm6hgSBFQu_jI)eH4ou=+H{z;GW(bus2HKo}850t@o9k9;;Kd`2>r?dRFHubdk@@of$#U*=Rn zf?{%ubKb)3d5CZ_kxHBSPRnMPIY58+*(<HLD6h>)yk!W?qB780hOc0dnkK}>&+C{9 zZ(wuMA(*>DxJCRZw1^qE*WnH%IM!c}SoggG59kFZUJ)B+QLVbwfDbqTeyas4R2RaV&qC=E7ChPi z&ps-6SwNz4SpnyQ96CDi7(r11*YXtk&Rht_oL_GCem}P$z_ZkVF+>u=DG%KuMxc+3 z$ZE9DEnE&8F_q)iorsMH!3qmfi}*we2lkj2#V}IFl7DT{7Of+CBt3EL{z{u5m*_Uz%WM8^m(9v`{I(V}QBE z`cpNDl7`aQhV`ZjD=iYqYKg+0#O$;;jUbF50M(DsCb+Op7y_1x8W5wU1-B&vcMps> z=aHIw>+8_PYFv=3Sc#dJrR8yiA>vfmtu^R61yESzn)|C`C*GQVVndUu&z-{EXy86u zlHq!U+Hub`_n#yiYcGr*_p!m79iS?kWHTMwO@ycmD;;C&Gf zKNjVe+!`ZI`{Jzk#mRW#u506->t7q!T*ZdPv@@{tFjlc%+>!{q;BzGu#ml8TF5fmn z7uuoy)*17VUQ4nSa9xKj)De>&8We5cE)m1j0d9147|acEW6j~`&9%h^w4gOp92caI~JLCQ%=My}5(E~3qe3wuKB$h1%bVGRh59s0GIeL$% zHP=q^#Tv>8iJA@w<*mG&8dkLq31G;4rkTS?sdj_LZASH?A6gqD3G2v z{|i@-XY-AM?-b_~UAfTTE7y8salW_)AV2%!ytekp^yzp($Bhs$h6Do3wKDCSo10kN zx&w1^V3<{;o7SH{O*|G_Hz}fqGs2o9ND=a?A(CdlnXuYxVYOE-#Iv_9Td2(8*!Gqz1FF-y1tgw5bp1F>-IY|Ne{ zst-P-kX0sL%%hB!E!bs3T8LbAPLlU|MTI$eZBFR+x#$1(?B6Tb*_Z^)He7H%NG9p5 zYnJ9y@eB}5=B_Jr8SUKQ#ti~})h0~Y1`NghAa5(dy;THry71Hh7U#*L0teIzn;=}m zVTS0%EvoOQMuL!~Cc8kU$1=gZ)+90BMU!`I*x+bb2 zMCmTHUH$>Oe2#LBJyIxfJn+MWn^&c~j(bxqqj8ml{rmSv4{n+#o_LgbV?Jbd^v}L3 zK(DP^1E?vci78y5?pqJR`MY-R!QBhf-{&9-660Kl$Lat)G2>W#;1HgRh324{7j7$z5;))?H zybd2kT|MiSKxOi~n1f|3Dtj3p7S}2Snred1>2rVcZth#gf<=8RY6>+0FZeTSz`$+X zjR+Mf7%;99+mQ5hUJowcM^mR~;SV4Dz?OMuM*4k0e%~*7E+(xpere?I1 z(Ker(5O9`OF2OYDcXcx^xmi{K)`TrwjQG|X5MEpA`qRQ@0!Vk~t~ft_ANXUT(}VPh z*q)x7*k$50{lcx+fmMB#*p&Kd1T5zV>`^yEpPOSDfo;Bg0lM~0!Xdij;NBl25#@!k zZ{HnQ-KaZ8c*iR4gh}A898gVmm#}pv748%OWT-_PpuZTug%E-u`pyshc6{kiem&mx zzMqTFo_Hi4o_r*JmAdtdR+xMuJ5#7b?%|G4+Q*fTIfrsW7RHpIz6FXS^_#LhNh z0a94d+O1_sn(tnoD!bx{MPf6C#U63pGVw-QG3|rb_ja^I2Ptr6EW}K}6@(LCpL1*@ z^W}4iwa`+nRXl@Z3(277(tn9BKCl$;{aj0Y{>+!+w;%p`{M50Nam|iBar3^tv1FhZ;&R;f>X%XJ=c^NlaacfC9wo$%)I3yTpK=@K5g>=9za8v6~-(hj5yB2*P8 z9$Sy=ZtY^7RmT(_s1|tiDoV>LLa=dtYb&+UN3eXsrCf_ek<&Gl9|b8B&^*#=r;vq0 zZ#flEjP=kK?KKo5#&xY=W*xLOtg-}L5W7v^fTI-!7BMDR0KKOhWeO##1>s8?bW8iw z@!-rzVDly$Q7_l_;CNmI1Cq!3MWU2MjxUuT?N}b(SHRTkuFycKcX4s;hmQYs9PZzZ zJB|f`*3H~Qz+rluxa4TKg@JD#KLIi`Y4|s5k@~1>o2jIAeM3=w>TIma8IAa` zdv7{KMqxL3e~1Ijlop{{0ymomb`qPl9y^%LvyVOyXV0F^jEHH>&IifPsH14yCW1rt z-FK0pjD|wh-z`l4#+O*nX-mx>!Ot=W>$tF>vI$bNjI`j%a7Ae2iAuyiC?(g{w8aFa z8O)k%!)$3Fp}ycw%Mg&V+=PT|283J1lzVr^o}K$Mknrr%S!r67-7yk=QZ-bWJSS>< zUYr*0E2byE@chbk#c!2ME9Wckd0%BRd6#`<;D1i^l}VQ1F_pQ%(}l*E6fliP)BUuJ zuqA`D!n2kN8SO0le07o0X`rwHndiwG)I8mSMPSV!cZotXZWvq@OJ>Bt=vveeNUe3t zqlpRJBgBI^@C{O+%{(=ut%QY9MpAa4qLJAjcuf$4UXF%%Mfse#+^IZ6(tos@7yGD z=2qKJmuOx?OA0O-6U7KQXJEUB*SC_A|C-mnGF^icQxmvSh_6ti71X=C3}iN=&3^G17_V?oNN_LB<&md6Tlv7}3Vel80rlcXKifBP zxVV11ZN4N7=-cIkk6mbE>l?&v(u!7{WpK8Ijbh6%c<5;cU`tnIv|F19E!<D zB{q|F*VeR`SP*iEOS4!EW`Q%=z_?vH+p*$Muc{8b-#}2>Sf_@L2`UIubMq51Kx|A6 z8GeI14sjnF5yJ#b@@PiLTE$|~+d*8?DuPaR7gnHUtXYeEcf{0>>gh$`BleUqhr0U3 z=*A7V+=6wC_^wrixdyVHN?7l;X13PvOxidxdz4i41Zs{WY2xD<;QR-%u3 zbDiMn$Z&r&?r$d8oxN`Hgmkc$YT+FoDx|a1QwaD9SSsYYM74Mq0-%dRg++_0`w(}+ zry5XXoa0LfeOXbT49j#Y(_?!(4{i{=7-LJ#acX9qa!t<=5I++S%-n4FoEX&21M% ztaaYizI8v<5Xd=v{oQ0=JP@zF^E%?7nqt1UGfHy=mtt}(87oBm35p;=@VGE9K|l@? zB-krqLuh1N$j=aJgs9Z)8NPxBOfCT>6X0GKtuYg33tF9blQd_^7(PHV;l|p490e~;P6^$2_8baL)LEK>6X%&NjxH#5XNKkVYlU0a`D?yn0*4G}u z14}l~u07dL`~Pf2fSYsq0k~E!+=hSgRa~vy;kCu(3Q!FyRb-fLB7kq2 z)e5YtC5XgvXz8mZP`rV#fsM^+h%Rb0!i{Zhp+vQ{?t;P2v3@)Fo%%T|#=qhEYq$hH z>Iz#zgQguN0J0RjdQjrft|g;w9Wd>g5ZlmzK(>iHmEc<~ zC{^5t-J6U<$}f=7p7iQhCdjYVkMgb||OX=y- zk_A0v+=Hp;b|56O-N@Q8=&0^Suw-+Y8fyd4W2|W~#Es@X0E@z_I~rrCcYm~&hH$~4 z^xz#JVjYVW)<}e8aeN+Y&;Z{Jji7=T8IAM@SL-4v_w%b$2>p*C)W1Al{)#_|k-fK} zKy@S*npm_(3|ql|NZ`PYRIyaapcVQJvykB_6d;kOu#_~$xn%7(VbT5iBag)&eBm$S z-e3PP>%S#l{^D07K#=)O{}+kj-9TyUCA;;mJ6@IFci}44Z6=PHFyJ~c1J|`u3(OUa z-EzhCpt}0?;6;7B=_M}#-&~bg`-K^|OM^DGg25*Yy05fdqW^|hKsuNY z%nFP{*jn$+tVg+pf(9ReH6FW3%3c5i=Uxlguf6lv;(-Srh`;>6@5LYqV;}g1pU*1p zKmO*oP^@(Xnj!sF)VOj0g`^42pD#-tJ%%+bzWHDr`k@`z2FBvZnTUPYb;VH4dH6Bq zN%VXy<4)($nmmMs?qKcFRFF3bANkgk5kGiS53bmm*gZ55FS+vtFwQEi96q+JkX|B!N}#ExB+Jz!njXE{>kV(8I>;iC9@!+Uwi5B>f zhL;QnVq6v6sLV|cmOone?BcVJq<{XF^o?sdiZLrKnM#w zRO`BqLIUfe!oI!4wnn9vE znI2tSV}UKJy#kb`;gQ%$?TarzGKwZtiWlA17aNTe5F}!Z7S6=RY!}-*9Ewg%gLMb5 zi>mQU1mj;~q}V-M8E*FuzGGd$9$&{owX}fRwMZT6H3@&12cYzMd2B zqBkAXtzi}j&J>(AECz)N8^|mVXT-*yKQS&DFXJ9x`SbSd{k@6J$pfw|&g>u8dsIFb z1VgyfNlX6`Q;vPOK6cR zWT*I9M4lu?yUk1v`nooSl?!#GjX1X|nJ;awOK7n$YDVT8onp?JE8DgFfG!cWjtv48 zr_m_>_`xsojFtEoZ`lXFQSgxYh0bK3icwzq`)tG)W*5L3ah}H@g ztOhb?y_s2ZzKM_V88ac{U8)*Xsp zLqB-h0}%(#WV>0zs}rJL!gZ*tZG&(H6@}IHxoBu1gPCl$Rotb`#Bo_StFvtvb zAW)xu7OT7GV^{q#MwZ%ZY z#bLEu7RrjToZ`P*ahY^*>g+hMCQb`Wp_UPGYZ%xc`jdioPpcX6pa^xKAYAc3G-Z(WzCMnl`^?@(N7eDn^ zQNpgEB+F1 z|J+vm!d>Nf<}~qF;L8SruJyIn@cK+okH!v4@h_b`9gA%>adezZFs5iV4%n-;xVqS( zV4Q7;W>(I|Amun}_b3cP%5#TL9P!Ss?y zI&0X)Is%?TqCx*1cm~!WCUYc$G;YkYW}(B(yPH&3K^L0f*FE4@GZs^=sHL^ZcxHZY zoG*1oJGi?*wek+|NyVcC&L~`pGkN%)$ikllly7|CKB-z_wVletGkz{++3Si{3c6Rp z9nS-v`WWsRAae$0%0x)i-Lbw2q-g!-L%xcQ~KDe1qS z?#GSwQHlYcWJk%DMIVcH4WiUc-Hf^^7H9u;QN}8>IejkT_7?zRK%KwxOtd5c$XGX7 zC<3WilrlB;aw1Ekl{T7I*_VlZovhX^P?unyZt`lXyA!Vq!TMU3DOjN9Oa|9G2ie_X zB67j=F~4n3s^{{2Wsf8wvHg?dD&XQ=375P^ zjvz#Gs0Cq7xa8G#MWLj473Xcody03nf-WDlmFe2xPVu|U#>L3^5T?A}U~x4p8Q>}w zhbi_OJI`Kd=g(e1h$VoTmF2r`0o$@{1@ZxK^?96Qu5_77oFP9Bi2n*%MPHpq;qReq zR>6es=X{ErjwMg1Wwtu@kmda0#i<(OARa%Y3Mz^W3ur^g48tW$8VOgXWQG>1 z?YH2*L&!o{EfW`6Pn{|mgK?6UZs};>NhS7k2o*a~2*(L{K8(PKm7{4ABF!ec%~+Aj zqc9TcN44*u4LXC{O<@x=9lch+ z175Nzso1`ZTeFHx=a$+wp79m5`+pg4y5o0oYwn@HwFq0d0D-+ll%*Ms2tR3=+Fm0} zLE?zQnnKSiLV($dTARF1MO7EMg4PO_Byr$lU--NDfg5j(*SzdC#e8rNGILs+%oaO- z;%WL%hS$}H5IkXad7#ptvUGYvjt!ZIVrk7KPHfaXy7o4z9Iu>DILb7kx-HQu1Z z?jOsoIe)o6wsDNNf0DyClXmb7W2K~t#^)xk12ebi;Y&V?;UmBlu(YssA@qSx+~+0U zvxrOB;;;&h#;zJ`R?oXzZ_S|uDUe=TT#rYNvmFlt%$5Xg@gIq|dg{@yBQy~E zw|^h;P#2<%aMQ$k>1QLrD)9Dy|H*$7AHL_6@z(G8p1AAoyJIgFEhf$mWFN}RnXcZW zXHLZjf9H3i@5TG$)%_RaWxW2wb>V2OxYlC;JbD9wTFu)%tQe7B@&Pc=J6y6`tns6c%8Mj55g(cW@Pm@E^cb@90OXf&omAN2#wbwy5!g z_m0?`<@m;zzY)DVmg3OieF!KJ4X|lrbp|BCM@oR^S%RP^%b4kqvJaDy;|}l=?6gw& z5ZX6WaBdQ2k2R`n77TO0I@#yWYq27o3*7d{$f_`2m^ziN=W#D*zr;J*cB?333)Nz?qdZK)VyZq*wzvE(1S0!wR#6IB zoYs{qPNfjWSPC~Ggc%r)jh&BIzv}hz@|VAqwk!%eO@awqazLbXaj7^N&uAY!XDmlr zu@GYF(RyW=61Uvsn?71C-oRcap8jJcKwvPUZxxH==`#ydWhPUXSjQHWj}Brcn=xA} zJUgF`uSg{q_6)~S@t&5|v~Y=$es_L>!}ezZ;B`(x?kW+JSY6Dt(~1L}aQm$jU)0vz zjdg7tH`q{GpsNssF3nH#6a-#yQnyqiRxctx2qHGd<&r3ldkRYuv?&XbqOdhJB7AKS zNsobMZgD(g3tOnERTVR!H-x#W9T!~(%zOg60vr+E8WRpMmxk6@r-sueuxp{rMKiQ# zgN(suYHArr!Djj!KoVSuod>VHb#MMe{KriRJ#MX(hkaI8(VN$f3Au?)|PQ| zEKML#Ay`p~Tq|-3tCp}{-M@wKj7Fu0%HcKb zSXGO1H}zJ$t{-BKkHduC8HW%3Nc3aPU%?XZnkN!qtf@D7@;gq6Ry7%*4YvpBc?)#K&Caz8eBf#iFz2GzS)Z_aM(l zV>~m7sBJNnp4d8d28>3i>TTlbp_q1L64v5M9)_RJVaz76r`O-4?ZQ?NZN6+%$??p+ljz;kNu9)7M|lfshcgoW+! zzj9p)VEk5CghU?NqYVX!e0Fh)&sYgTM0uz#SV$YV2jcU+ow3Q-Esn`gG-f}z8-gKG zu%?sND`SVYbS)z63X@H>Y36T}73d;x92wlry>(bb)#B`*#p3RM&8uVY!K>(-IL9*} zDl9UsCg}Kj$3z^_*j9d_vm6PKrSJdXmJhw@UX4R@L??eF4Ont3Zqw` z$SpbWb-K@++eXb}#hgW>I(P0I`*BUMNp`U>R+UT)=A=8o;-G4>G9DlRy`bn`FF}}C zcIVkV)>tC9!V%hPr^W#Bc;HFDSTAlzRGrK##a#N8T~4AS9Mc_`6xf&vS1RworwSoQ zMz^{#9i%cUfWtA&;eb{2`&U3m^ z8KZ3{E<46zYG}Xs>|BUDtrT9YZ`cd&8CQewfFM!J=EJ%O);Eafs2fS8U>#RtHCcLX z1j^PobWs@b8SX#NH66Ipz-25PfknxF))QS)jR2&uw7fV*KW|P~#X7=?6*pJbrV%&> zpk!kU@!w3w+kXEy zWA5xXWA4ak4DZ`V$W23BJo+^IJiax-^4{P6ow)s`o8!RFk)$QFGw`eZ5!Vl`#os=- z9yc85$@N4N~m#CdqVh_y?XjeOmL^nw&8zz3> zs@pMy?+`xV&IDDPtQp2^oZ_yL11Lx2?jaD>pgfFEFXI^^ei2z?4$IXdu$ZNwxHMh9 zrBG#JkmVOj#PaGbS){Fl2ZrLF*WAXILFeO{$G;vkD3}VLT@=M0*&I#)rK~RnGU&&3BjjVJPsCCmW@-vv+(1X6_wF#uts?k88mA! zRIOKTmTX#RC%*nxVlrgTYB3UqMubJ;NWbkNymRsM;WM2)$yFKQOv>x)hxEGu{w0#Z$;LGzgh3SZNY6$ts3*=kCpd-v^+JMX+R z1_lOGIIUtKG7S32KRe1%8FTUN@Bft;sqtDp8tBtHec^uZ%TK~(`}=m2*+_*53s<+O zQA4*a8H2*bGBILS6kgOig-|tv(7ggdTgENAz&Qo36b^XEn(<|TMK@oKaT1KxdPZv1 z_9HjG#?_Sq5!Xm?EaqxOantAB%d(BY|7VV#pnXl};5_}ZKlam?8oe;dI1_+s8I{C; z#_rl`B4+N$k#EI+_}O2KyYIOhyu`GQ05ye`F-wx5sVa0@u+VAnob4M=r&ZEE`%*E` zMXIu5rkyjU71YDAIA()LtC?#Bg<9|h*)7|s0$)}kxT{!~Ca2ZxE#;xm)5dc;QsAQWypmKuLOEP8y*|AbLQN_JP?I^SL>guNusJdeTw|_(J z9$KXY0}9*D;e%;q-axSH!eX;d4XUyN6!S1dIy;UqGSFrr@a-_JnP{)W<HfU)I>qP#meLqxv@FZn5-qwBj0Zn~$w6YFm>EsxUFa2;!~DJI5_fd_SoSH>P~(!Wh=Xf@Pz3UKJv4qSKx z#Ny1RK+%fTZnNZ$2?!Rfp}G0{qMt2h+K6S{H}IAy<36ct+kvi(5JjQW68DwL7ZI$e z%s&4FboS+}Q?eX;e+pO8OPO0-+u$+}115|Vy6YT>8&YSFTsI;DuPmC$bG5u?7yx~& z-*zh(_-%3kmT7)pVO{*eXFe6(2(q_ca|6QFdd4O?x4vY23cNS%-4%O=ccs8Dz0fOQ zHl179sL zIb09&N8S+Z5GDbh_?7}GG-MiKc?sp^;K&YKdchSBCAQuG<;E^wyssUipP_=peDyOzMf_ z$77m;-cOu-Dp;oR;L*i+Y`Qz{Ify|7YjDdD8O2z;+*)URYAhanBI5AAX7GsupU0k# z<>m`|&&lwwXPcn2(OGIIdF^rHuLz|9cU#~yjnsJS?;FfD>sqh`i}mK*Tktd)>L*5z zBVX($nWP5g1Z9a$u*E-J&1=w`lHn}UOyFWUA8zOTR=oTbx5jO^^~T-<2dU`Z8Xx*^ zzl_k@7CU$B1P@AtHMnOk_ac~eb@#VYOL>XjmUb=2K+aN$j^` z_wY_6&qrgD1@?vcQhYCgpd5j+3{_Zowr8(C~MX5y&98j*t}TDYn}BL2y|n>&e! zC-BsoO4aP%UPg0riD)YIlRJG|bWOuOScxo%evPGS4XJ*G3@3?S-5^2^g5DYv+lLwd z3=^@HLJt##7TQ6k<0J^u!KR!IjW9*_k}9(R>TvhekeRqifNMPjw~Y2#OMqqd;oI0) zy${!+wX`7iFu%{7{94wap>%vS&o;*jHE*uozmICV23sOj!eEV2F&4{!Gag?|O42Ir z4SZ!qIt9Kz`*4C}J{3mx?BBex@_RBUuB(_fE7m;Q&fi>_+fDoCIgi94PT0P#oOa^K z40iYaW;7|y@NOlc+sm;oW4ae7776NYqIOI}3xu8dQUj6cyQz0>3~KYtlVf)3C6Z;@ z&6+{9t@hy_a0Vb+4{MoZiFyQrSHAL<#Ifv3VraUu%?KF~(n-jjY&$SXfVPiWUzDqEtrZ2`t2-5qFu}-y6DtL+$c{ryqU2frN+kFFGMNm2?g(+4hE2=w>7NqqV z%PR=0>?JyZHLaComd^G*EL;X38?c^@W%JKp3;tw4uc2WL^(0#?kX?tXqm}@Bm4g~~ z4PIOr0SXq$q9g{c5#u5kme0eq$&RDsLJfheb-;fegmmA*CQ2M^GM-CIShmo*O*b#x z`v|pIcIxY>vQ9aIt?CP0a}gnE7cM$oyVTx8!K@;qwvmzoF9}*_-byI0@Z?4sPQ180fziO?@01HA?mT>sc=d+gSJ8I#Bos zn%44H>TANaJC^IHiEV4D$&#$XjSqBzF>}U7((FCPI>O}%I#okkml4!wmLGyK9e}Yv z4%6L`+Hu@SSWzn`2EB%-O7}qKs)EqOyQ5JlIy{>`0V-6VpO3g z;#{u8GCJQ~|(n-1@AAzR2j?c0tTd;VnL+`bWO_0t0(a(H3?!NWbVol(o zP%&7B{1?l;AuyYHdY#VQ%8J1_9^S_8QJp z6Xz~ojHjM?B9m4wLF+#H&{yLJ4z$D|TS|TQJlXgS@MDY(>ltDhJO@1_Vjj;& zo67m(*UJ|?_w;kWRW3z=LBpa$YiKyNn60~!JPCJ9!ke9NF~KX;N|!cPAU>BU6iTo& z2!9A*Ss$ww_n-mKN|;Kjx;-{A=V``-mL!0TGI1-AElj+osY5X^gB$+N1({BcCV=n0 ziYmvt5M>H2Xwx>JyUP8W>L3C#Ipa`DWYfgr6!BdwF2>NvYME5(YBVk_Mi$M~b-JN7Yx`dc zEcDIzGUIPjz~(!b=Y2J3Td-u@uT62|9WRXQZ@V4A-EDU0AJ-*(z#n@nY@U5295|s+ zxqT(q2m+oCUTTW>K`GpGovq|47a}(ZUq`?F<+9){tQ8tfR2UsShud$OVzxz~r2>_) zcBxeGunmZ(`&yb|TShzILU0nsW>I;q0qEkY{W5m21l)Aps7+@*AefGGXvWYc5?BU+ z6OSX4>LXqGAZ~c~_S&F0pXES`xpyA9mNpa4>B46PVF?qyx}?4T+}RWH-v9i*3}Cg6 zjKtl2Cda8R-A?%oH+VJvrV(3Q+N0JKpX2;%VJXuu37FO#2Fycc9F^y@LRo`8 zn?KnfP$>^xN3JKWx5ZQ%bHXfuqnpGQIiHhcBadA;!&+{Ss}J2wTWo|347G;a2QcF@ z20LEi>K=p*WaKrmzhE^m*ychP4uVnX$FY zDy2fqCTt>*UApGJWTnz5S%(L>kNRzFiPO=#hjl=(ImC8l1&bLj3$vYvh(?j*#X^+=zVSBMEAbfS~8 zG862pT0*-Y?7M@tWt9qXCfD^W_2b<2;sEY53p2alq`dOT(I*p5 zNe6&e(q&*<1XY73;J(HSD2Fl{IL_L|I`rr%EJL)tgb=l_t1fQ5?glaewf2_~c2IJ8 zrUge8M6|B&-mxn__;bGycVaF4mB0BU71_TPpL+Dc_+GZR`RcF#MqGW>0hEvBc;=at zF^AFQ)afJfmw)|7l;qeKZ}~3fseJ(Wk7NDb6EE3GNDOZ47B=n1;LfvZ;G0YFt!KVK zEjLOo;0jzru-SDOVgFKVY_Tm)ZQEMx>bpJ$nhpbtc`S{D4Y3h;ncWk*cTnbtEdDX( zTnq80MSJit82!@te(Y}61{ z{((b^eIkOQa7Q#8|XNvxy{Zw0Q9hWfe;C zGAu`JXqm7N1Sx<31k|h$k63g1(F<+1jBw<}p_@>6bVh!|WQ-8?^tUFWYu}zg z1|mz~0uuKyX~isS7QY&HYSMI8Ez5M_6&Qw_q*k-|W|&9=Y^(b3jKx#OGX=By&{iBA zYK(5{1#n*-LeGT-V>no_%bRg@axM1kA)^PxA*3&=w9ru;bA6VLRA2Z~f>zmzf<@GT zB}`hG>E?_>Ay%rj3?wDvR$dYQ3fse{O^BTy-b6!llI zSYgrKB)begoc*Sy9Iwsmu5*hP;h1hbo{<60A_Nk`9o7*zD15uH@wuxNI*VY|pWMTDPUbIo$a8A*{C_f96cwj^K0%A!TQ8SGGS(G2D7A9X;K> z@dJ0iIDS~~3WC_aox{M4%Jz61T<>ip81zw*0^rd%UELGBq;D$k2(+-cq?^y8C!G98 z4)I;fHUSdgsI=R)q=KnZ=U%#!A)6dPQHT1a04iNOdFDhMJ99o>cE>Hy3z>n}L62BF z;<+!&T6l9oe>b4H#1Eexi_blACNJn>tat1g#v()ET3|58xFrD*EbIfay*PgSaRji4@w2sY$BXC4%72Cm z0VJt4J|((PRCF>f4c?Etev(p2Q}7Wi$_wr*h=mpJR5dQdW?}(L#8NKma)(DYwX;^S z%vr0ho}>&Db3l^}Ww17!qw6F{-Z)d0JLCP#cr?^t5Wt^1GamPT>1%QSSH2o|-FPT= z@7$e<0mkArVw9=odJ}tAEIBiMDxR1>5Pwp71xiU9HjgW`&AG`5ks)j!&X0$u{9JkW zoQFKCa$f8&R)A-VgB6rlZGTn3Vj+N#&2-+4LKj%QD+)MDjxZ1>wS<*Q-=@S?E$=1- z*hV%hm60j_Q1S}1FV{l|#z>3o!ld3pxnQ$@w$NykDe>S$RC+SL&>HuCWfY4K3$}lR zitY$IXqj7^4TLaJ;vR%lxSJ=9qYfR}i@^3|`2eWV3n!un?&v0egQ`*#eIl>);;;I<#dxQo6fFt$?}Sb$J|_jwY{$}x6+G{z~bkafhc0%#dkz{;34 zH2WBy0pG0@R;Qrshy42Bu#b_O-af#g}8d2idzpk(4E$oke*h1i|X>X!qTep&?EIn6TweRaaUD%2hL*qeMpCHL*S~ zF;dApgfPjR;tnjWo6$&sJIZW37Oc9Kx5oZ`Z-^(3o{D+G8V340VZ6O@`YcuotVILt zO_??Cn44O*{jpx1_$^a&?ur?KhIo#?y1EoNT#v?(C5nRMOYjAStHHLqxaS2gX1*8~ zS;N^D_i;P-q0pQgi^IE#F9W~iEl(aBMPVz)cU?8iCfhw3qGHkr_SIDQ3>3FclA_5H zwU5NzQ{x16BSaaRG0=fUzS}rb5ge1AR8Myc&}NnJj)0EW#PY80jqC5lI`alPe)$md zyia-~17&{6uy#8p$1NnJZ4<P>F z)|cGd7FfB~qze#!!f)ss9kvH%j<&M?Cu#Q^$1lVrwD($yO1|{wBKTi#P?i#)duDyB zRLVPye>2wWQ;&WnCJ?NKps}}HeK<*o|_q5EIwk6fb)0p7^s*|8d+pyc@-Ux|U?YZq?0zQdqt*uJrf5HshrxNn*i~ z<4PmMW(;@`-?=#e?gBwUx>*}fpP!DNtp~tUAc#V<22HfMuYjwn!s^_(llpGB$k|U= zFW2eMN+gXX$3;ih}#l2QEPb zNpFz2(82Tkt|5Peeka}~=75FFwR2>%9;je*amVmo_+S|*5ZhvV2;&!Iq!?Uz94-J5 z!azNRn+7WcL%?d$cnyAblh``;0;?ksb!@gO?t5Ske{VCH9|%DZGB@7bU=p-;h-1^3 z9FLx((lWJR>aM+pT6pcWONUwDTEol^q1+{X#zhF@(G{sbwQzd@L>6`x%&8thqXAB5 z-4$oL1d%#@0xfelyQUMg$MOgH8sZd!12?m;*jC(d6WZkwDn#S!FX8T7Uqw1Tb~5UB z6R1khDywsA#(_y zWX?HO|JXq_#exYWkbK1Uh!a6RNZ?mNp#Lwr z-UP_f^E%Hv_xA0+z3<)A>rD6TGng6703Zkfq)39`Dp8_DiZVqpl1fs_mYu{&Dpg69 zDo&z`%Teqqscg$qB0G^pQW9;7619*7SL`4L%U}i=3})?p-`CrFp6C0!Nkmn?gGS%J z%m07N`ObOIu7=8LqKQMF3L1o{LE=7SmAYAFgkoK*TeGmqO6Yn!TI(G-T}{?n158)1 zCPU5mfL+`ho{~q(w5D z@&3^GrLYxf`QvkiqcpgS7V3|$>0%ay`k7UM1({&gltuAxAIZw)8Rj7{UBc3wqt;b3 zg)e7G`EDY~g{puoq8Wp2Sh1&Jtkk!I9~mdQu~id?JKxQhIg;~tpo?yJ2C+SWxDwW` zMJ(NztpHzLSWK`0*>{kC>+2LE&G*9du-p~e`OYf$z6I|vW2;C@oIXB3fCY9UP96C? z_oVF*b*xHcDVC^EV{16J zCkbaD2$+hBRf}tJtwc~Rmd;HwMAu3HPQdP=mPY_zB&X!x z!tp>{+3ad;_T2=ie*)n``H&KcELhJf%ULI`bL{wMa0hl$Z-|z&?1krrD+rk3C1GY^kpMmSFhNF; zr&VZ^^L0>TPxfqEnKHsqjyGZbgTL!w;JX7}#kAbV67PhYtjgEO;nd0;FCvDW`ge-ECY zQk*}1Dt_+c{{^563C0}!p7Tj}V21bStCJP)+TD?u14ur8x;HKz?_;gW zkVoND`4O~OuhF^q&m^=PcW%W9o+JaoFLWK{9?%wm|ISUUN@Sfr`q7_=2k(E77IoBD zJSGUPe)KP||wW;&XIBO&}p;m zM56041+eVT}qNr*|||2*luGYF6k;-y*$CjF0J zxDp@u*)jsvFT~oT4^j33vnBUYOV_PU0 zL8J?2pYZ?^JSoUy9RvzX2r)s_44TK}#3)vS*;KPhOUx?Tj)UnW2yq0nvek35;;vc( zysnkpwQk5=9dt%uW|A=DG$d1Q4PN&>H84prRm6peOK8z;?ak5E(}8dyQw>W>=7y5l z`F*bEqO#8kV5OU+%ksYiP{AA^EcMUhv2w@X30CadP*fSUaRT>{J8J2Mz5~T z5<_(q9>rKoFkI@_Z4@mk+Q68(iDRN@XdXpvmw8yfs=1lIY$Uc=tEraSKx<`Kofxax zdVBD!4V0`xp@#NXXK`N)V5PwNMxskyWgqWRD3R7r8>?*yJW|r3?M?WIE;6fJcXmBY zZKnbDvkoRoA!97K*Yg^&R=Yb5xDLrI1kkNi;(ozmPbe@}BuY4- zn63c4X6Q*+zDIo_k_P4|*tm^5uxLgn-)U+%n)YiQ5Lga~(4vrv8MBVl^Uxp7q}$q$ z5g&^SGT(@GU_AOe{>x}PbOd_9Wy`tf?xN%lJYaH?%u57#30^)*wv|el{ z6hOD0C}K4t;CbSc{Ex9hQz|sb1;?9Equ`4Y@a+zRvyq>uoi~)(&FWk9;Yj8Bq z9Bw8733n?BOdc6axEo7Y5pTWqM!b6KWh`WeqJ^OOa612RHM4 zJ<6*E<0$7llte05aln$iJIZe=uygj;Q4}ocVSHs7J&UVrOenE56W@c*To)B`Yg&~v zX4hSSCI6~MmK5-^RjyF3g?Qf9`gYEKk@3J|pqCWdLBr`4fTjs0(<{Ze)ph}zp>7(S zyDhI`B~7@e8TInyhY#hek3Fo}*2+qhAwBTfGpv0td#cm9#J>Lc{6y4qwo@`4icfBC zETg;heddv_pIr|si)hA2>Vy>9)l6^;Vp6+J>5^n68DxGOWNn63c{wpy0EtWptG&}; z6Y!ElgQ`N%oO!%6sLvZ+N2qlH({b`-6vtcB`51p@JgP6Aj@`x{fkN$lfA&J4ek8nBoqL$_^*Azs`LuysEI(1!iz( zEg3>9nCkh9&#{0WydopvGp?UmY}@l2NjrZBPWa(II%bK-HS;?n?t_Q>%5C^Wx>WjK z<_60?lME$%Kv$gLhA$@us5##lfps*i*||9^GSjIE_T9U8sgR8C{odVJA#J}2bDn{t z603zT@4Nqew6wGU!X_X}{F&^tLAPc$p`wae7z_VPV9x0R3LJ$0rNJV$VURu?w}Mv7 zgAZf5`uY%RXzsq5-jk?hYT0!5ufyk)nw-A&pZ#CDpEu?qkW0V0PGNz{>D;7G zWNZ1O&t^fpf*Q@uiUw;zEucaB9l@30F##U0IkOa%$thc(UU#kuhv z@9ki@#1>j*XGd>RE~duEuzb)s{eerIB{IrpsCmR0ti@DryA5Ms(qT_)<%)Pc{>OC~ zQabOBSxaJptT(5=3Ahq4mvHgaGFL%g8D|0>$g)6#{LAx)b8?KXfj?$7>9+AT>2jmQ z+F=nf;8?JsMSKH#Tcy2J2~ByMd05+K1Eq$@i64$>9WCD&$d#2rK-LQM+shnQ&|3ST zO|0eAb84baRyE+Kx)Q#FAXr$Pfqxvr3PbkN!WGU)BkpaOJnAh~H&dQ$ z#(e5!*pdY7?BX~=?F&(rBMz&fA{9v7L@>-QUP&=f)$GmM)@^tZz?#@EU5pg~<5|X+ zBhxUKC!VSfO&Z~2jjFW;=mtwqu3VShJp0tZ`^UKFMPi-CanZK|w5;Av5#yCR)bwg) zQ*+T>^B%@W063s%2XLEjI6*)?pp}BFCJaS^K5BHwXdpC$ZK75d8v>nhtU3R~j4cDU zIRtQREoZ!)8d|u0cj1|y9W%viuxwV~22x3xBo=FxwXVZmcc%9cz*aYmu4?Fz{nW}L zuws|fYn}z3q%&ldZTER_d^*1T)VJc3kG+SUaBYw&P$vN>l~Y|>ndQac?M__T@)hZC z3HQzIkvm|V8p;{;v(JR3a35dYg zG<5`Hrl=+H$a5A4K^VK!yezne-@)f{d6j0Ae|Zx$MG8CDHe7=0@}u;0r0tq9sh)So zV$Ve7%<}kYH&H z{yPJIZfj}e{L@blZ;f44s(Ejn^CMg=C#*#;$`X8abZi)~uot(6hvQq9UyCOmxIfPJ z_Yp|mg?9!TYrO>hHgNVaRG{bxt~^^fYoK4|&6otL?yo)lT3g%WiA(Q|fA;173Hp3L z0F1u9jE!`9&RTg~ee2)wxsS(V5ByU6{_p%zoIid9z)wg)ffjP~y{xXABGXk_jNEqF zSK$feWc{+1CZ)90e*nuB`?^K_NQ#WE({IxRkeyx1K+v;um9wq8e{at+4vJs)g)vqU zU#IeEVPxY1<%Pyl+iTU=3fKr#2rR*%7?l>a;H~0q*?@1a5HCD8|JAr%|D~8Ka@J^9 zmB)Bfq47X#4wUrHhxDzDaf|D@HyxC&n8CVSi%e{%NxHK85WMOV+4UWOscptn&%PQd z%UdU`l0dA0BJ5+kK27pQWc%EJOI7kO9HoY@~-sFH*Cz{B?^-|^boG?_2- z_RF(45ROc9my2oru#sg~cSW3UDvMKSpKW!5wo(EPQ^>{@MFq0Fs*_;4=!e|SCD*UYkmy-05{_GGQt z|E$||@EzYz;Bx;pOKEUq@h{W2iJ!5t@p$9v^?3fd7vuVyKk(x)Bh0~FEd*aSMLX5R zbrf-ERtwb%s{|WKON8h$ft=0FJ7kY{&UF7JemQ5~k#@NRKm6ry7EyreZx>O) zv5z~_=hGGVPRi7AD*Q|9&j0qbOu~R&i#e*CF91q4HD?(s8C_|CNy!;}KHbuL^3S-L*>!g6Ig;+w}m%2M;z#2(H16FfntRYt}|b=LyzItJ-sb zjgx4#xYE{1A|NiLoU^QpN(+@@*t`o=vJpQe;`oX4tM34oR^YRN29h+9jq zh!SfL$Q^>~YXFQbWrq=(%ohPWKX(tM6AJ=!tfj@+Dtm3K9jyQvAXP|H8e;t}ZotMU z@|k4>nYGXg(MQ%9@r2vNRBgOOX!n^Yp2507Ndx;a)-aZWiYzgAmB#0>KPs_(-K{A| zyPh!$CbSkvn@a);XhxxDypPr#Qoi_GVH7E5XpC$B!PmYP$C|2BsSs6{6add}E(Y7+ zY;rwmRvcuL#17quzH9@ zc33Uevni|;pT4+-(nz))3cBls0D*Xv@+vDiRvRY-17GzfG@D_eG;YBiZa)umrS;S3!@~@zdg$!W-Zl8dkQo905R;6zf>$ zmXqahITk1p^Loo)#Yp`{LL4Zw186R1|JL{58+(KqB*~=QV9|Mf2k_R2mA7ndI8H6! zj?XUD#qVwWljy8CN?p!Z2)E#46fu6KwF`xn7)3_9p+_K5EVOAj37}gVPn8pRUAecp zHNzK?y`uL`+zsn60O*2=P%lDo!{L<)t5pkRG|%q9NER2CqQ1Qz0Z(&D`V1<7bT?E| z$EutxsjkXh(m5qIm@(<-3gZ>h5JumgWRlI88_5!ZQRos$r4V4Kf(E1y3kPuGxu8IB zXZ;!vTP1|M3lPY2&^KV+%5YJ7W7*a_o z;b3s33^B@NJhK#VqtpBaHjV=&n3FM7F@J@bnhrEckSZ0NEAjck%w-s9k;Dhpj2p!X z1sRa1wBR)#$_lx~-+!>7?x~vD4vhTZBgqBBm&I%XFyp4uy7OD6R{;R^;P_8B%;@lF z{NRNj#8Xc{8@Fz}j{T!64pS%P?5PLSH3c8~qmu^dA!E%DjW8nt0_YoXCDZhN*eG$& z0+1oHRPYmF&Xz%hyvZEha|V=X0BTNF7(sw0TSdO{MvgZD0PfpJVB*XODZi7mfL*Fb zb9h`z=jA26zfV(Kn{RLp=jFB39vr(rf}0;MA|OCO;Aea$2HYQEdM-rqk-p*+{@mjL z+E34`qXVQn2^f4&np3m4dx6$hua{hpeAU=P?`@#I8I;aB$H8%J@(3#56Nm~*W#!VQ zmlgOL)GZS>Lo>y%@mZM!!)FhSr7=i+-|a^1iDv%WLAu%L~%d&H7O9>QlVE_ zrPj$ghb2k3lej`ACud-+WXM4OYM^TNp5p|VStlO?+#G7EHSW3(5folcC2$1JHV4g` zYSjg-2+8_MVPP`JN*lB&qWnO4D?$wrwueP&Z52(EH1S-nACN@G8H!Lx_YpuAq83zI ziR*E7Y0QDrHsm-;Pc_;(jh}Jvtzfa=#8R}rr3D{;H#d!TPxb8vl(*bX1V zv0~FGe3RLACUNyhlc-pnV2lZ#8(wAh?r;&8Cx&O=7_@J9Uce^Pf9W zh>M4b-PwSC07eO1d9c%oga|3f89NiK3l@{zSzce_=fKLvZ#jjQFMzllkXk%E=Z7{# z-?_3ESEuTu575}m{Z$x@_bM1%Df{3Ib8`5e=MoDOVA1oSK;35C>kybAz?y+olme>Z z`@V0B9NmMXQ^b8z)}aHTWJa8YMpZ~w0R=SxUiW02{WnvwjwG>#<@xyD<;(HyS1wbR za4Y`#&wrZg>SX(|H#P8>>p82@2&VhfAbk&Ey0!6f0w(QxNJx%S;^TJqs?_2VHE zv@nHa9ZE#WiAjPVg1Na;PU<59l%UFEO#BQ1msLn?72O)j7nBj$xrKIN;H*}XHOy@_ z$2z0xZ5D!ssS(-nJ*&ja1geWguQO`D$Ii3<+`u6RG(*7pDaKmbWZK~&yG@NT&- zQG)DVC8c$Bins;<-|3Tm1hzKty5LUXq^m8T!7D<@$ni)swK)bJXHS`^wjn}Wd9nZb^N}N7(HclMv zPwuQ_m2#bANJ?WK$+gIZWyW4J30g<&lDMAlc<`z0pC9JocYP&W^dEiJGoLbc*oPk- z3ZC=%^x&5?p0sP`?m^XxAQ-WCRl4u~IMdbrANNTs31iqn8PRH+fkl2pA3Ll|7W~WF zV@b8`Py$d)#26P3q4Xh$WEB%I(7NTrahX0}#epbMKg;V1P~1gp#;Kuc(b78DPAdC} zQ++T7G;!jGw5V$3x_a$ea$^XtN^l_9Pqz2TGR!F^Xr}UVKGH>v^8hbbH42xM+7};2(_82pqk=ys4=DUD8T!Srj1e?QCa+GJ02RCq5DsUlg6B5vhV6Q7u zLy38sF?^`=c+AfX0feZN$7k3&Ecj^SJ0n=XtfhrJmzYvyC2LrX(8W?fd{my~9t%2F zmr(>24R=oqe1&}z@4>UMis$YTkF(C-<5=?M=*RYM1i=j83~LdVtQx+vvrE-=EM_!z zLwUg}Mx2Vp5lh>olkV!>olg45-1PxW-wqpJkn3fUTV~ z00;ilO|fNZ(}wqE+9u(__qN&3CtrF6Yw6ASr@!`(0nAx2a#kE#-UhuSI#*#Z`GU4l zBsB=4bgd3gjbd%UbAWZz`d1U|sTP(N?q9>=%V%tKyn^f)VSEayJbXz7rN}rwdHxP0 zHpm_vVVKb9F3N9m5n5v`qoW|+2465hi%s+WU{0a{#*#gJ&SW`L(qgWBEAEZ<#_v9h z%dTpkOvPgKHq&;cwJ}vvuSfY19A-)pUuAxR6d9G{b!}A046jjk_LDI!SkT&Y;BFnl z+aTZTp?re;{fAZDnR5{Ze}nbO0H!4$u((iX?HPd8uYBdtvZ;o^34yTy8Jjo{2fO#tiD9hB>d~9-VYw_yr zSVeQUoweaUBm|W0SyF{$1WT)6IV|V7)&6r>L^r5Ix3fcd1mjfEYQRERg8@LkBDku6 ze+gcbJYasx#Erz8xwSORn(bjh+N3~>dNum4;O7mrcw)Rs{w4lD>K5c+{e*|QB^ z7enj`qiN@hvDSEhs%BuO;SSOJo82bBP|J(Gu|A-{)WzKbw6W7^9bI3+ zv3sga(`vtgB~4K4SzrNJ6O2^HNDCIgq$~|U(iVV4O&fh38stNKP!qpyI0d+7*#-dB zI)Z(PLSa3)0;>QmdsIxmIR-j!Dnz@Wh{>&H(UXQ7y)(g+~{lrq)Inj{VH|17r&Ui*EUh6`4!?RKq-X*sx7Bx=Ie1)ySs^ zq^*WIuFM>by^*oVTMuIp^DhLj+ct|il(;R-qpf)Y_Qps}MQFUu7%I-42DOTwv6wM7 zgJ;#KoVSky0FYLj^~j;Yu~1BaA9vG7_R;M55C5NudWFB=)w<%rOz|&ncoM)a8EXbp zo+SW#h-$zC)G>MMt+!dX@ff;yo3!d~G){u>SO>pj7D>*<<6&Hd{$PWc4H$HT6J;t4 zxv_xcfC;AR$q%x1uXAEzj=%&a*GQl85=oRDOd3?I;k7LPO=)=a|UOBr1NG;+9U zmJzZT`{G+qJs*Glt*7JDKk-Do>(c!M;o2;kU}=FfjObu3y~95JO2hxZ$232!h*y+p1EHBq=H?wA9>(%PEhDO?dmqP^SK9;(CZLA!7vvZt zW2+X&r`xNVY&_#~l0bwZR^ZlfkE~E$23T=zUAL5wkS5GrUD^Z2!fUD8y)>6-Pv(*_ z@?ES*R(>`xwH#%rt*xDTqwzB$$5M@T!tdP6SHlc3Q;nHVbLuVeixVdWX0y#+6z=xA*-tBsIHb1w&oF070~ zTPT=VR(a5BA0&yMdM-;!n#B^5L7E@ z-4>-p1oFBiOlY%GnncmN4-mZu4WO8sahNLP6SD?wEYp^#igT7ni+AlLx!M|Bi)C$; zl6WN!cmHZ;G4T!7vl=T)Ib|ZQT_1=?9z4x^JMkA^e>#5VCmte06Jf?R6!vTEUo(Jg z8(=U`0DOwSrJ%B|IRo9z%+!tiy;rZsZ~f(;#qa*YFOYHB$h`qi(kucpooViAX&%Q` zLcr9Zyru_-QDx@F!0o7KOrrof!%(bw*p0h;na|3fmH`p7Sh;LQEZ4GNv6l*X8VL%K@HzDK7fEIsh>4F;5VZn;> z_1Bm;7UE`Tb%L1Q2^5F70qzX~5i%e9N!~H5y&9TTiQOUQSN@=d&8w@VnzYj2)sgs{ zz(yE(c2A3K9mHvRz;H+l-nEdRL`G330N^_Zq44oL->~xR9I)o2%6JsmbqL{A2}Mo z{g+>gGmUgbpghFddVM_p-p_Hr=6Ly~Zv)0hxMnZ2qyJ}vu4NK1=5hcjl7zSxc9JN~ z?c(OsTFG!gKIhZ5#l>$iKcd{FdJ{g%Y$oiVs0y%fwx^SqM@M~fWj)3XnWD}F%^S& z%R!GESMC8A;?UZM2>u2@%S>@87?y*k-`fm14}S#%cO$esK(Fb%*zmcL!@KH)(Y%Ws z)>Rf=_mwWi1twFDcA96?YB4YG&`h;rt|H#v!57?7h;Gc<7ao9MThGz^s||re8B_rP zi(|&v9u!kRqtr*PI7>1h9agwM3&#L67hx+@HVV-qG_%vnufO+ja~;25bF(>839)a( z>}-9Y8)op{y|{JrR=jrYY77mI(2i&szdD&z6f?A=`KkNPLqHG-!bt`#%9o+3xuiHB zuBr~B5O=c$14$UF$+LG7#}YNaEJCSZEwJya01W}Et$y+fO)P@~Y28#-HFfVU;k$O%Rl^+XlwXN{L*JW9gjZp zZUVHaN-Q&lF_^R<1JsPog|ao}w`=9Y-;P1Br)icy{7=Ox{q6Vmmo(wq^gTb|RwR(g zA>F@Ps%Q^QU48Rvy!GZA2xeVe?uJ|IT+sMr#EeVk#0%WlHB^vsf9S#*M}jn6*~xmt zVYbq{x6qyIS}2VCx&fXZK;6f#liH&Uc!%qmc0D^YLnb4ddyDQBQ}pR@k8rgFfopCT z0)@*S8EM{MWyDert1y2p5q37PlCv3CR+m;=s^!KNoP*Smn{_a-UN@653f3~q0KK2r zO+eAU4nQyJtqN2bRuohUEK$T0!4JL9F0^8%=oXcr%c#T*8%?f3W|!t9s84&qoc-;3 zG8}*(aS^nva6K}HU!FAX28#!>=d-f}<9DFVYV9NDgHdwrj07xpx{aV)Cnl-B{xI=h z1P^QRz+G4(i?1H*R3n1kV0`1(U?aqkA{a^8?jSs13o~|Udz|l4CV|W-8k*4OO5?;6pnBuGgikH`K@)^o^&?07Z?qz5dzDc5h4X4M)-=rYq8}Zo8XHwlU zc|t>NZ_KP*$MXL!zF*IrMxkM{EKy8L1on5f*Tvg+CaHW)KtG8}v&8PKL-;mfmTxLN zR3w*IDVj6c!P zi)T*92$|p~x_c1*)zM29pF!)kgxd7X!>0_tky&XqGsaYjt*bFhhylpR(*Y)vvxN0v zks6z3Z}~iu9LpmXHvsk%_uU_>BQHcX{Wm}M#Al%;l0&fceC03xXXxorynbWUQBr+? zvLbjsj4#~XfERG?1iFpKu_!n3e4e%58wZf#9l}~Qzi^9tG$%`tKzNH-ye*P8_V6?r zbiP(1sGhx(x2cF$5$t4}F8PT2FTd1)vIP&aHkKgXHehm!Re)C6>R61fo{G0?KM`+L zor-FO0;gSDjP&b2F@(@c3+Oi1{-)V$ac<=wMsMGz$k_ZS*@(p1vDXz?PmAm$W|t@j zEv94;cp&jEoi!~rzLHyO?U-W9!|}i3@+Wu%}b_f z0TcuCeYGhMZ2H@E=!b3WsBjKeA;V^R%G zle$63nY#^ZC(CZizs$kIE<;ps3(6Y^vNyh?8G)U{Jpbok{xZOEAm0Ch55(~k#{m*G z2zoV>49F!b6!-IBX;C@2hhuR-jwQ`2&Hi9c*>ADe!6rCY4}*e78qTKf2LdbLKwN+0 z4dQPo3JHJ_OeVnqktIgQ-tblEFx{1J=oa_p99==H*L7_C?Q?;xon?FolCtr+E}S1e zl(}nNBLNJ*)81i4;Q^A;XNbUz>Xe@qd z>!v!Gq46Q(<6|6hD!c$TWMalD$W*e~a(@Lu0<&b-V9hb$SthkW$NHXbG7$+4kinTn z>Y1~ks@6r_J|KcLANND|rvlS!`*4k1H}}qU5o|hlA6zc|Er2%G&G&UpFH$e4RBDT6 z0HxM7dtdG{Ul-T4bkNS#T1dA?2GY6P;*8ff5dT!W0Z_Tko^|q}bu3RSSg4Fwqt(Vb z&P;04E9QJZx@LAj)$5_)%(&R^=YsS9U zilD_>#+pw}yh3agmYpKCp{jdWmt_Rg4C`H!ikQyQXgTamQL2Nfw#DM+6}0bjxcXKR zv=m~btilr6fTp`g+`&!P3ZR%rIjM`0AuIv}`IeC-Swqjljg^6Du6z`#o967yz@Jv* zNbhj~?p**L!ex(Oby@@MQGUX@X;qY**y6r~heV;){Uz6?NKZb_+am2icGn+^*5j@5 z?5l6Zr8CTtvpYpipf1X?Y;6rf0|fdKL)+U_88@)bY~Q{c4;{uTj?!#lXWbl=0IaK{ zQ_;z}J$s~w`y%w%(`)yJ;$MIJyYbH-{}8U;4*D8)0Je!al;1E@XY0e?f)h&<$UEFx z&qINjqPwF5Gy^6hj(TMB^(lk25v&tfSfv4v$5GCLib)X~u{koVhq&8{_}s;HK!XmPx*~Y8$D@e{2+#zSi|`})vuD{DNs}9vsOUd3vk<*lR%ZznXn>yd= zsi)P0Q;LH4^HRh?c(ejiq zIXm;eMgP%XBoT<1Q!Q5eU^xZU!-tFTBdw~Hf;~W}*T^0Wj)$_lV6_Ell{J$ui!sV@ znW}6i7be~_mEHoM(P&gKm`g%(g0?m=t0#wL$k+7EYp+k$WF$*PIEqieWFHj%8g96~2&Kg2xaHEq-75Y?Lo zT3{iZMtyHzj9q4tkJn&rD#Z9gDF&}i$IZdlqUUH=eBgcW2Ml;H8H=$k9IG`fY%D_p zZl2>*mcfPcO#55PPi{h(jL_K|`{TpUqz4<#KcR~zZ^tk5dG5Iv;$QxYf5#_Q*vhKt zq9LZieQv2%0}lyH!QWhn=h-#5id@Lk&m-N6x3#SJhXPQ6=w}u1$?C%ubn$qIIgTm5 zroN#LcVkD44GiJ7&~nIK1U5;~GGRcq0kmG6v;hFg5U--qic<~|{urV)cS}+Xmm13v%Cw9Py z(t@P9I-2a^dk)LhN$)#39%n5mo?y2R8453V(H zPC^kH-$hB-za(>KZMfMsnsNFJv}SDE4%$oF6Ye2U^Q;I&WRwCcGw~de7ObpYj(_oB z$XVJkM;InlPP-CoI-NS%$HA_O7hiZS?%cV{*raJ0JOCFW6vVy<8a;OO7y;X8voM=G z2)#0tqGFNpb3XWF+JCiVtBN~5=V)A^;C&M}pnKnU?06LZ@QizRgEQOq-+@5DlM z8ejzgBd)`ksdegP$;|h*m-s%#bFqqSmr(+trjv}sIzYq=tW+O@!rFfTHQX`-BO}q@ zUr#;1!%R#odmf=PLM<&)=qdjo@SI<`%v#@yA!h+{p{`55a!0#P|FeXtTX)U^WA$S^A- zhO2A^9!HD{aVxc0wl)y3ORHFaX19qkxfDP*<%V@JCgPi6c$O5I^BNSy?`S3##s*7ji&?(c4kqgXd}b12l8 z7~|7#z7C7I`m%ArzD>HniTiMJ~!MkT$depr-K+UCL0<`%6hqN4^ zJdXzh9*^}v-c?2TgTiYE8uW~+h_E%pl~quLbBqH`18&mpQ{5}AQ>pQ*_oR~nNe9VV zg}gyDXM7=9wE$UWMeQBpeGq}MSh!Pn0c82|g}67=9$y_l!W_1P1{+)3p``{mNBX}@4oyt-Bnhxz#@sYRx&rUjJ@v7p~0A(xf$~lL$OiWAE)|{r(UN2 z?mztZgbUFAXmpZ01qF>eQ+D_=7P+%09s@YN$yn}SBwu+DBDE^fab= z2pElflbD4yGLx<}kZ$viclg-EKg0$Jn53aizeLf0Y>gSBAl0s(>w!4iSM^|;xZ8VN#$z)BPz zy-Q$w|Ed0{>}sR@M14H=_=6B)1J@^*4Iy9#go4e7E}Au%PTo^aa4qD^s}6(#n!)2H zV!?_IUK?VY{TgqjhriSQI71(4^blA9qMnRD{=%1{zn^*{RlP9D>=11tUEGuei1_V& zviKgp4)N%=^#(&Et6g!vX`V0ny$ z^cid-O*Inl08kTF&#WyxpzMNq@VMjp!eWizml!8 zPaG}3*&`3giW=n@Oq#XubJF+@3~i6!;$+tr6CI&&&M{GlgO>bKWlpq7xX34^w`XdSW+h;R)BgJ#(!&6c@p zS#vI?I$NjAd-wJABlu+22Kx)fnUB92gZpNd=>|zBE}#2;VAYkrvg-k&;C5;LteXJU zV!>)|o}&B@0Z7avK*}(|H`0bi@Ro{qx~J?z6`-n~t_yjB zlodjofP&aXA!vcgqX5-6ld4bVS)TJ(RZSCS_HbhQN!GC`1=(-Y@}sH#6xnv01bsh4 zljRH4(mDo1CMIrYndK+milnhdtgCxu<24aKHN7~1wTr6ND2i+A*Q2}T1TkaBVwFs^ z*|lo~rk^HGlyMeknA5uu&M_NSPmaai zTleDKkDQMM&T)bL8o`=xHlgQJK2d`OgiTLtZ&`(z)s6V#x4uUv*><${bi~CI=h)LM z9w%iM9-KvKkL#s#$42S}FswuXufSQRVfEi#dxg~b%)mv@9gM; zE{~!x;DX`|T2bC!ofDMT`EMSg%}>if28Pr9;8}t2CyvT+hQI=88HvnY$n(UZFbG(V zAptR6iV(A+cyEw1c#pr3SJY#A^$r$8=u9i?60Y+d&LSLuGl9_OIWvOCWG7$x*PZ?* zZoi*Cdn!Kr#QSO0Lk~&_O1@p>tW9FIvN89O9^J@Tj%g3$Bk|aDZ8#La9ioBVE4bpn zOe$C`rT_hpBn9`XUL zY;WEijHho8M{h$-tV2tBs03+MC_rY$F3?BtSW`><$)CLt|J`r?BB3(v@q54bzXx&e zakxibPR1+C+t*Lh1Ss@@IjVvP*k;w&0^fD68{16L!w3uR|! zX$BsvrFl5H@3uAx4=C^Bb5+QLBb)~Wg8UcyvxG$|sw^LYevB`ZrVJjJ*Vj@L&qA}i z1+I^>h!c)8{3HH3@F4ZCR{AzgW!_% zTtFybleW2d8Ry%2krtC(#QHZytn?HKXfx2myl!{GB5eHKj)kn15=nJ6#)2sjOnu#A0jOyRgU3wDb<_wN@vZI>Yp}UQTNwPlYx(}zB5-qQ;AS)* z!$%B}4bwmHzN57;X#(R2WHfHXtPhD(3Km4@>e@p1SIYUYhB+pIo(rB!2OmrK z5L}xAt8g{gRZ@1!2|#dPNHks36SD_%G7IzY@&0IRBMXyz*J3f*0@YVSs8%_*8F-0< zzlIhoarbrf692Ux|L+&R7^h#l9PfJgVJtW&h@&Be-#M@k&e6lAiQYS=7krN&6b-RF z&mAx?@QmB0Hyvl%AO7?jK3sE~!)nP;Gt;E*WVKXjDbg&hBfwG?$r{MKT{Gtk1#>P4 zK4*OeQCeKLDOl*(WVi*abbK%+bEZ3TEg7p_5R55E2h>4uJ;&wv1(cN(%hauus*p1Y zE1kD>G!wseI697WQ*g31zV?@Y3*B$Uk>h>w=}-L>3=lzxb$4WdOw#$KIC~!z$XVz0 z5iBXtrsY*!FYn_Xx*%x|oF@TR5dm!`o^7uh0KwKpGS)7O)o{$v5Ddg|S3-Nbe;v0e z)fFf-79iGQ#Y+iPt)a-M{FnvodnFi;GcRwNUOeVC>Kbx}(> zLH;R-K3gJnF%nfQmdcK7s~CY&5F|@fL^n8o^!5bIdM~i<@HmeY9Jpdg* z+rkk0JjClLTr^~!nZE+f710l$jHb#n(2-{Z{z0~187b^*#4{BtXhaNjsRIDi!%+;-A3R&OTLPArMtfyH`NL)Y$l1pYC+kA zzM;t`8nbRfv$vsxVFLLl;ERhaqKa7q79{C#hJJO%iZQ|XPv3tUYujAB|GwkV+eu;o z{b4t#YgBJ-EzXtM+`0l)KT;t}&XHEH1;D)L!*gQhwSSbyp=y$eZ9 zm|rJ@kShPT?!?+rEqA=@nuQB6^ zxQ8RZ4`c*T@I$RtxfJN$#&ZJR$qM6t{PZUvnaj^YQ)lCAw{REXuAPGBw0;PB3?C4P zdv>f{C-OJL(WcBpSf@V!(7E``6Hl=B#Ia)4(ZcMRn8za5Oz4cQZY=C7-;$4{Q_sN{ zbS5s%_*D8VAo~5Q*W&;F#$U$=E?mM2R*K7)Ux<@G_qhbF)}VKb!Rlgl9R+;yl_rAT z4I?qB!$bn(lt&1EX(G-`{!mA)9V!3b+8%;0)W^^ipokb!E!XSB zS06k2IEIa3lpN@uc+RC2t%Fa(ODNn*?J~0-4RKgyowun2SHMEMM|qSjGG;5`tI~`? z>^6HA+}aB^tvzF_tVelAW>nHPt9+b2WRL7O3?Vpl9xVRB|J{1`pNG5c(-Y9)8P546 zMx-ppcwfG%Nc$;1?Jy&#HK=~DhSiwk|6kb$wODKL*IEWY?s9DTSYKKMjU z{Mnc8L{Xv7V(b(kdeY4EXa$xbptD-E!9c4)&2#u*O-+d}jsC)ooawE`eS)*GwZ>LvNEg|kBO8Ai*FWX?w zI9F!-xsM0c_cQk(e{)~|`HmSo?wmj@xw;T`mJ#ruSt?%L!>`LwhNytm@^I+Tp=jr4 z1Iv#63S|;n{cIHLKdnz*Q(^76IT7ie`q#a$d$q^Bw>e-vCn#~z)||ANMk+QpHPTW6 zw?fkV5Woi6JARgc`2dKqQtGx+n!fbPmAHL(5P;Pmk3IS*d!zP7D-p)7V3M(<_20j3 zTF-1zxvqrok8iqO2ajy6w7f{unwi%T7@Cd+?`rFLEp!4zezf*wS(9AD{YY!dc)7Sm z4lNxZpOq;ZH<$n%_jDgz3%{cK)I;hZ97lTUVdeYT>r!m?dJUEx6Ae}{Lu?S-?6{hd zl#OjI#QhYalm2u+^-~|g1vMXogLmVnKlvdn7fq=d_bx$SYIJpEa5c6x$HK^Ha*JzO zQphFin!tvK`{@5!4PJNuv)WEt?acmzuc2ikyqQxrwhTbJ_T}ua4~0U~dLhIF7Wv!v zy{c}Xl+nXFd4J$ix@I+*d+xJ9a~JE?L3X8Ul{Ia}vWMnAzd+dnGIk24**jDo?x`84 zl>o6ku{Xv+l~8^PWWsFYrd~t9ojpctFEWBH2eU%_14bfX_p#IcoZp7YM8c#h1a? zwy5mgP{jRR(HkW|YJqXoLZchB<1o3Uut|0&u~i#r=Q{}dvfW0$N0DFG8&I}`yRfMd z?VD`KmX>~gV=WsWVg4vO4R&N$CJw4KN(iHx#&+smH4&(O7kA(ifSbao^mEJa)W`ht zHQbz+l30-kE>6OCk2Ju;aBbE$(Kcn0Ott=GHN1zw-6Y=WeUILcWwbq=y$OK$Ivk<010(BBnD3D|ee<7n%P2+S^kXESSU zt278N(SMftmAO(3)sSuIO4B-U?auAE%kzr0nOMI$5GM%QHpn{5TqVH+p;Rv~=iVvI zfpRY@(x*6k|Ib%e<6GZ9Lj9{b_8!Ys^(?Ws6t`?5maBoAApCZWFn7w4MPIE?G1KuWtHKnc=KjYEbP_9nKrtN5TE3G*5HyB&30F5kRXd36akaH z{eJTkAC323JfFr`;vD)NtuGerZ3JA&7fm?Hctb|i31qOi}0Rx##28 z-uvV6{Eat}cPsI~{>Fa`c+v|)LJOrT1RkCvzK9i;dTGd16Bs6D0Ks#EQG$Q##%?7X z$FPA8>STG|zxnMK;>O^3Ja`6rfDSYFJ=b7;E8)GbUB4FB0pC5y10Obx|H0+&#=;;D znO3s%YoLA3R&AZxew12Tp9VyjrEBIc;UDcRYXjNHlt3DCy~=Mxg9LqJh_L*IJhi&m z2M8JEHR@uaWS19c=#4^Emd9#IiH41h31mSvVLrJ0k-K{oo!vpEB#;Zu6sqak(AE__ zeP>7jsZBxl?uka30%voR$+)M^DS@K&HOC*l+ahZN5$2u-C_(q^FmBsyAz#1_Hb+!MhKML;xMd-0+1kJOV1BpK#U@6WLOQ-@ON)_i}0LkLS=k;2es;i4t;!3ET^^r*^Oa(at$OTY% zcXwZ$JV8TdELu~eBWyatmAT~ss%o=dN1R~>Qy#5cB(Dod*P+u^JC%;DW7dP~paC*aO=*Bhq-uIu4v$(=O^;4gW2QFPg zP~f)qzU+&ib*BVvc(U}aWe>){%Rl-_uku1#7eB}$Lc?1pnSoKK_yAjzr148b=_6hs z+sahx!ZD|9)*6MNwV5*eWQ>+70K1gN!B-RgWo|jf<({Mq@xJTlbH?vKL58oXFE#;; zEJ*3~CZ;Hq$sx8W@*Z{1EL2)ay`^qis(j`%KTWBE8DiBsQvDl2qWf0^xT*j=QF-BZ)0v)GIxf$$a$6+o+z?Q(|Hii`XK2D z(^FW7>abQJ6y0BbyhIsFT6L9;orjqdP2?>E*g*X%xcVWIKN^}1>YgT^NsA6{I;y+Z zQU_{zZGspQ`wMQM-FL;x_G^$e@mmy;>;WKH4A$bfGYeF)CYEb%ZV85O%ta5utA6T)IYVS2ueOFcnXz7<26^vco1Pa90+{ghmh;Qqhj3^A=X3zOGilDzt-TWM+CU z?%cfz?bT8S0i_ki=r}a_>fmtnDHssCHeR-nvq=aqUB3}ezHuck^^pV@^i;}sxt7*gdC@r5)lq&np@kXlt%cj(pA$njxo2aXX8!e^6lUdK z)dUn<6V9ZU3V68uB8QdBtT>gO76{_CTbuFC>*(*C!71wljBUhw@zj3k{v8xWZ$OtUrWRR1SQ-5v*QXD~ldl(}85yxc3~5oG z1ud6w6ROn7XP^j*Cj+AS`~9a*$NMi`ByP_5HZqVImvdgER+n*?&1A?byX4)8cV?%b zT*7^my5uunCN&30NU zG_A`xRWE}lC_qQyq^A3c&>e_E(&poL8or*A&_EDfoL;#7Mr`$POP_2TT9qQa~N z`s$l+#=m*)YJ8@vBEI&*i)mzE{fjTf^;=KH=}Qs4UDG6V&>9bZv$;LRy6DQpij9nD ztnXs2$>U^viY~)x5CO!~4aFWYhXTF1tw9u{7C;I`$D2+O19%mA0O!Q=m8T!5VFT+c z)WsqzR>jN<$>a4D6^w;~zu2vyy1tq0;m&Brbt&J|fFLj3Mjo5+Wzfzt&l87rJp4;m zQ`UlK%nRP*|B(fw#NAygw5B~?g+JM`LYZRAGFg3h2i7sHw|td#M?UfX@c1NSpNk;ZzTk! z_Ud5GNZ6QKi@Ptp1moX{6QBAC;s}X#*g6uqr8nclPi&+8Q8=x7Dvlj)ihFmcd^}5V z9n7<)gTi>kW34b5<54PDz#W3d6_U*c(UQGWLI}8Ml>n+r%$}Su4l&G;jdamn7_%6h z6x5qcw0_f0zYfaY05@a(b9_U1C!(kz-(ODA2AFTy0ego58g zsej#~gxfF)Ei091HgyP`iLuG}!k>IGZr{8eXV0FE!+m`m0^CRpM4C*RA@@&@gWqZO ze)vcBIbL&(4AK`QSyoDD#C4IJ0bE^dDW zlm$g)Smjv8yq>h+3yzE(2Yj>OtdTBiv$)pSmmFaT+1_ALgAG`R$;`g3y?I(%4N!@l z>d}NIOy?)zPimIZJr|rouc>UMV)Q-SV7N8P?}K?0pMx+hka3qQHB$TP09Qb$zc3aW z1>rDXpw?AKFChWC>nS$adYt=Ocr<=H=wLXP7y!OT|1o3)w;eIxtz5=jjAIE0+ z>;k;-E?H&+gbdu*(+yd`b78e_+`1EgefbBJ9%v^3zKcz1B2JC5L(9wX=4C7^!^>D7 z3CXAdbgQ*nb4fltwy+Y{Cg-3Bz&dMNg4UkBHyrOebw2K=DfH-DLo_O;YymNwDM12( zs*;}o8p1!%8G^LnQ}A-!T`CTp1auz)I99A1EuIaw!--!*uQf*PWHjus^12%L|nen9skSsbMdL(dg6mo<`Irn zxNG;|o#12S9ib)&&1JyosZbx&`KR$|YAB^adnmi^EM%MDa;&NF_Qoke?_ z%7YWr@m%n|D_91<_44I-?EL+4?$jwMA!;eAllsqDCZi91XTO0c`X27>9?%lo{ zmtT6BB(1~ouKO>*XKPb-qCD=P0{ou3W=@doE$?;t+T$k{OLtlRcwx}TKEGN zP2;d<$R=!U?~Hb`R#zBr0sdA&(v;b;Ds$Okcbtj!#^?K%;!lRT@ErFh-f<7Q#K_D! zL_+wJxRMe>JCe3b%HlvHQ;S#xON+=R3#!v=6`57HP8~v6bS=tSE$xzIp-G{H-!4** zY7gn^+5Z?rkH1!_r4zW4wLkmpUs&ba^M zC*tZGgYm6zJQJ1uxD3rALhu+RAA^Y!tdZynw|DiyHA{ zN37~$tM5Ge3QBCf>b*=H8R z0b!Yg>g>+&jt8&u;QxF?Nh4s~CTLODgw_CooVQP4$&c(mvhR5=5!~EAS*duQ0R+eE zO7M$+36SwOPZ>9+T?kIQ(K{br!*S@Ev!2q`t5@UrvEy;LzmKZSqfsIzYFAfba)l~5 zy=S_l6bI90#7@KgbnM*6Iv}lBT5K6HLeb2jp+OLPEdZhs41&*}J+RG$1fR9%VYCi| zwUQ`Vd=5lf7_Kd&5R6+&U?cwYPrphjffwVUM;?gxfA9m*MrKn2(vAUeCP7)h%RxE+ z><}_wFQ5MJTf7HAwwK%L>QZ8E3??y1#tAW-oK9Po!o5vR;x1m&1(q0UDtGV zKAWtK{Pr5Ijg}&l5Cot;(%*n~8L;Eg%9TC`A8WD)fJwEJIN%itU{TYGAki(90oznbs{(Mxv6UqFFjo`5&4bhcem z15JGtT_0Xg7SVnBVI@#vytm8~oGAzc^we60WYIpYDEPh0aS6XE1ZL-wuqa!na0zBf;Bz0 zK`a}ZGL~yZ2DCPg6$>Si0Tkc`Qxl8q!!Gd?B<>Jvv`ye@Gx09vSg>oGXILA~FMD^W z`5~UK6BTiT%-k{JNP0M1XDAi%D!>VG->l^d&773-$;lT8T7MXe4%c%dsNUX8gJ?q$ zmS#v_-_#P;8i%X@Aqw4Jao=X@q+Ms-&kz^&0M-%ak1J~y3&B>Y8KriN`Czrgas=72 z9w08>H-1p1#@0^qL7OaZqcm5s=dDz9A13QGe+Y$$bF+jXSb@H00Mo`ws(s7*Ca^sH z)hn+dP>FFR<8qbaov#f~MvK|O+;bHHILrAgK{E~T-gaCg^Thk;My>{Y%|ojy&RHKp z=_z6a#i1Uz>aTzNbMaF7H{;6ppQnSyOf-`1Xp?EdjL9-G90Rts;xa+vV~H_>AS$rv zIyb`?Ojbw=5r3a-tBhl`NV2U`S>grIz2=lo<07l$%h$@|%Gcr50QvJhmC?$c&*RGL zZ#OV}E6!teK}4jY*V27C=c|%t;KnD;0$7KT2fy~w55|WceT3m;amp$y)@2%tF z)#~eu%-ckmHI$84pM93KE{hL7_6XJ-ln3@*gkxPj&$eUI;x>zw@;lF7Wo+|t?l`V> z5@8&dB@^Vo^B5n#{Kob8uP^k(hYrug7yoWporBgm)zEtnB5)ujWz^MXXWT~S*5O+z z0XFMV2G+40uifM1R>$xXCmB8hVFGB8U&Kfn7ik%Z5;Y}TT4-@aiImtSv_ZK^a@U3} ziKv4$GY9?30tkvv3p6zyU0pqK=$weXiv_bid!euo0hqZ^U1` zToZqIm1_f#^}LY7nB*xU2Ta0;`7Osbcw()rF|JduvbZygI~UhF^wZubzv4V|KITwx z+v?$Kkf&Mz06+jqL_t(d+)ut{ox2Szb-RQq*wV_v$Z6R*|BtLa5{o&?oN&HN(^T36 z*aBlQ7!cls`+Sya@DEkLCm!g1SZ@+9;#u^w?COStvc2tM83ITP&^1l-FJgY&>cXoef{;5o7r#xBI$%lOGbszp*MJ-G%r zTeVnU_LABN#8!b|wsut+gqo_7yC@tk91$=GtXeEw30tYiUdx)hq7AI5c@FKqu8j0Z z>UfM|YOQZ1n*l%ajqAhFb*3%aJ1KqubE^P>uPjhI2UPVI+Q|&owGD`-kHE_Znx~_m z>dpr9n%$=mb)$53r8Hv*-F{M~GK=52VGy=sblVU<3WcI=}}4R0iwono1p#g56t+ z^K4_HRm&j?xUzA2MGMEmOfeIfO*l0%hUH}!Ye{R=U8;{;*RRJiaRD-J&E2lI_tVfS z$jIZDtLD3Vtdq?(3uwac`ykpgOyQ~TJdL}e5N}?21>uIDn>Cbas!eO~OJhrOQ4`AM z2a?X_#2D;-DU%bB*fyr`u%`Hpcu$#$z9SG#)R1B$_BqUMxv`9{oBg z1g?2j7fOYIz4v3@n6(nDNbd?GW7pF9@wxzL2N#pswRKpfRy+^<)HKoH6oADy7#nwh zJFG6wkqkmI39&g9)MnEaxC;m|sJn_Yw42Hs5bHq$p}fo$$XJ+nvKpn~Fiy^z zRk(Hk3GOXrU<{FCgU4j2YiY48d%TzC_l4BtjZk0EcqRR%c+Qe`0%5=w@N(H z7M65eZR-k;5v&qdiEH{Xj0CtP2_!ByaCXX0Qm1Swj`#isLG3pI%IpL!QbNvME~74zDEqpO4RhW#l6}2 zRG_&Mo_>gAa+Jx@5^C~}NhDfgt5D39RVHJpj9c+rSEf}QS1}MICJ3Xc&aQ6fpeVVtvD!2@$f_Zc>Y|g#A-Z5JQw(Cp}q`{mH%AmKL*L8 zU~qorXA5L&8gHd)V|K7S^Y$BW65qETr?Bkw_L6*oob);kSiH1^dk>XO0gSO@qa<#v z(4_q6AtTUfU50F}X5FnPrUG&KtvBNW$ygU^?_lYAHimS!I${hDl%YnErUl#Gmp#y%OXws0;t#eR>tDosE^fpJ zo?4ARcnaW;3v!$|Mb}XGrERCIJ7~Kp%R#lT3`Jx9k5C2y^@Y2_jHuXdM`6K&RYRY| z%~k*-Ac{6WxxEp%;0F6l1NO=nkk7LuxsRYzIrXz7jDFRA3GhhPhCO#0Wo6g+l7eSY)!&y?{GN; zB$UeGDZ%B9d(gyO!=YM18!N{byM?<618f2u3vpA2Clsv zpZe^1m=3{x0HMx~?)cs}*5ae@q5v6|G2<>U#bF){8hK*M2OMD5O3gg$cI>VVaU!_1 zo@h<-vB!5LIRTe(0cz%M5+^$y_Cx_}P&(9ZCY$cTNQj&`%XdD!BFBKQ7UHd&H{(mc z^XD*pEPH-WX#_L0xS8=R$xq)KWKMmXyW$K z+Br5c94+0war(Y@!O*Iy-SiZ(LW`L4n_>$vJAP|0=BH;!u2k^5-3oVIb*!l`>_5_Y znTw!CaKjWhaQfqc8%)6Wt&Our2HBr~fUD{@r%y2tAUN-9 z{c?@{tQI35$>qy9d}M3y{9w#{PLOPNo!NWFd${Mxq>Za@9l>E4gGww;T2`!YwTl+J zW2^weMXO+u_D)rFz2D(_x=)r@7L#S};9fE=*VnQ5+)DH;IZRmnD$}Zc-}prXNt0%o z#+jx7{kvxAYUvurY3W|yK^f6ClCs4RcCN3qWKga8p~6+`nBaX6!uC3T#(P)>#I;tK zXv*hK=^m*h4CmN2E+MFSy8l2KTj0CIChgIf-SR07%oz-cg`|r4P2j1&41^Tcd-&NU#stzVRC)wlzGKvZE_o zCKGet-U48apcK}+#j=SK@#C*heU%LLfKq zHTJ-h*=GglBFJP(0S2!uavcj>YAw*>V*0$**qb@8(vSi_7374cCuJIXOi4owxAx4L zIL+thuyp+L&pb>P=gqi7k=5^f{rMQoV<_9=p;f_@L5|%X(uoX*tlLx zBBTP$Dp|Z=M?ka%bC)m_6p?AV`>a#6g?r1hVCRbT;JY~_p`c$Ew}}VVTh#KkN!9yT zU;qEede0!qvh2R^RF=*1-rMf3_GY}U!0uV(Ab|nGC0@&qRV9o68?(F!P?rGm$UEZ6lsw`iX`u*m;d#j$45W;L&)f|n1y#}a8>5`e4X&_M&hLeR4N1Vu4M6*U+`bz2~2?h z$!Fx#HCmZC?-mxsn|ND3!t?jE6Ei2cf)86U-_jcLM>8!C2zI~z`Wta_s5`Da@knyn z$upWr9&!t56?X5c92)=SI0}6K7M1$j3E|nCH>3g=E%#QzHAsI0y1BZv5ZhfU)UR=KkZRJULLa|^x70BIU5k&-V(H?RG+aG&<6ALF}s=`{I0$n>0R90sv zjECo!2dmWnz-q;xiSP2hY_%Ky{r*@xv|z#vw7FFkkGCzyowe#%L^0YR5P1_?*<|gQ zT(mEd5ufeW$A^VKj7JBWv23$txQ=ec{X_U9iohyXikr*TQ6TPeY3?NBB<_^!RJ4Kw z;M035sI1ivbAJOI)KK~{EU0AUq9kw77OVmwyF)CWVSZ0Pei*AH1s)N4pn{ovjZ3rm zTxoMsi8W%cz6qg^9~ME{+Sx|70AP!!%PAzu{F(Xi{V1b4ZO8B_m}*UO`K^slVJ;(m zcl11cHqpeX4YR#AgKx8+3g^6&S+O&G)(QV*K>qf1E0!)FxqboMbHU*m&jzv^-3E)oAJzs{xr7 zX&JE-2NS!|*~`Yqq&-OXOAEct47PVM?Qy0F+QpXnOT398FeWvzyigS|{|TATVIT2KwXCoV_BFS_rP!_e@udg(-SfMO%S4n zqV^$?xnUJZ9$sGSR1(mnoNwh;V2$av89F)vH(wFE5alQ+;-;n|4k_wnam#8pL*aA7{0Slv#36YOv&FeA2pWbhGLv4AfCB|Wu)gz+6-e!^8sTtczXJs zsd%^Rc6|Jam!q%0FFl{nsZh^0XL^h4XLI1Q&o3;%h|pABTjny&BV$NKKm{D!Ew#nr zIc_(pBsw_M%b7H;&t6Kx-p#HWKHAEogvpi+ekK$L--~GH40iSVoTow4e`TN6eUX&N4ca-dGR5W94e+hFL*K3(hhv-QuWC z#FSZBPp0nmwT=p0bpiT!nlSH}$T4#zW)?tn66VF2hwR9#)7w~3YSC;PND;5XT$3j# zIaj$s+Ba5GdNJ@w6MN~?8NL>@nk8wZb$abnF*nF8xrY)ZX zCR*2Uj<~-)YF)u#ODizg6@X9=JyTy}U-mH9Sl#nov9NH5D%{kl!#Z>T$UKU%=x(E) z+BN~h)gPgec~E(s0-?A^rw_hN0QwN(;~>VaFSBN&xFJansveE;**lDRoGBn%s&0h& zZKT%J3Bc(jd~S~GQHW#b0StO1dTU-LN#`gQ035EDkf5>QB;EpQ2SPJt0Lv0Fjclpd zS!Ru!m}}(X_UixF7%Qr5EDm$DYDvvdMe_s-dk8*0;PdqlHvS+-q>u}jnj?j>lk z0R39r)PV0Tk^%0$P3f8^AB_QAX7v~`T5*ee)1<_~hJ83Zy&|a zb^b-1Y<-f}RwVk6Mg)8)iQ74KnvhF8{}tBZ|^Vyxf5YjgVX zc;~OLQf!)-SFCAWMcU!Z+b85ZukK8mIy_qV3WECl>ll9Z>Lu?ApjHyM&tD&rnCNtSNC5$7L&5&I{FLdjUL z;`kvxe|_scy#plckbO3bS^GQRjQN}I#n6kNLc=abO&8{R%$qCkQPrK)`jpnbRU|r)@A@1SI{E1h(4AWUAqv+8`h|QpDcR4A$ zm29v>%=_yU<-4;qAJ3fbk0t^!s|Xm~AHY562Jjvhs$){iU>3ftfEjE4WXrJF1U0fT z@}P6kd|GlgQbH%LKEf&OUSEsDJlxG37MiRXt%=3==i^)BUyWf}2OZ-2GPu^b7xrh; zdW`>)^Cj@1&(G_7BTVK=;PFSYAh5Wwy7b!X8LelIiWs(D=IIP{Q$=1~B;? zW|2X|a1vPW)volD+EvKdL zW$Ch9hv(ANYpWM0!HiP*vn~tE3FK4m93fg zEux(*kdEwnz*+&Jo&{|Spb#K#B$;FOnoDpTL90Nvv;?|FJ=6qK%pBLWzLV?5a;14@ z+S8pA&=Y-0L(VzZwZ4%Cu@tuisMgYBGh((a-)1oU=yu@?)O3TLfuizx5=6LS74>8q zTgaYk>n1oHAOce^?GPZ%9J|hHiIx&jgDyvP(sH5Ju4PQi4YsEQx)>1ds_b^2pFk25 zaY$^Uy*qsl!H46vO^4Nt(}bmYM}V*v$2GkS;)M?M?P*V`waib>)BjJ~;H`rD9zJXY@FZXxDwPQ}pBm6)Za&HCnCjG_eW z?vYuTBMX`KF<{+v2G&CPi54J(@t-?~OOiOPui)Ch zG}Mdb>MZ+}?70RMD(ZHr^r*Qf9;C8~MJk7~sdZA|U~3rUJq;}cRw~KTqBQApLJxp3 zY0JN*sRYuw<~G{?sbSC|{PeJ3%qz+V>t$%jm1obz6_n+8X()c?7d`<^#yxY7rDQ4CHPyJy@hoYJ~%O(ZsS zGA=Bh)g+v)Z^ER=7H=NJ%7k0=0N3!rnKEMXUWXgLOFg%L7yWDhI2MVa{4e6y<9T>= zZ`GOjJC*-+j1PW3n#+1|xsJzccfTZ?ie3_04)zx5o4grMul+ai#r$uO1oKhK=RC%K zDUY$;uj5k0SID}KZ+$;r+56?FooSDXl@&V6(+qU}+p94LNa}y-C0udDAb=!uSS@D0 z_dN>c8Mw6--(0&DlVll`IZ5}%qIcvZgi9vN*!>uO<&y~GJl2s1Y_j%v?wJAHeb*@> zM_(%f&0m{Bs3|Zp`R@?Bq33Q5bFQXjrWauZLuPWU(WAtbW_t)Qn4h>CD--YIOJ$?p zpN;Ah6rj7<9Df(&INDC3J5cOPeU!ha^48S&TAV{@bW$_NH1QHyJ!`A`as4(;joZ(} zul(G{85#{3@X&%{in>-f1tI?=;_|D= zY+mz^M8VM0Pe!+Xngn?n0&91+h_q*c(2`R-6|Q4#67~j<&OhA8_#MkcD1>EB-iH4( zfRe7pxxDW-P8y*v9E#WB`(=DjlnLJ7GW1nLD=I^~-vn?Of1x!; zFt`gt6m*qgQS2HRz>-DEI6`$627YSvG?k&x#H-(WEheYtV+}#ELroBMVgq(}t-{am zJl3qVad@r-?tF+eCdLL65_@RT5rlXz=c6P5bkQFk325?6YHNvaQFU9umRxXvjsimA zU;dllji3DF$KpSt2xl`vzS(5(i^mjzcdHH?tMvQFjm{ytKy zu_o2koWzPf3GkSW6C+ej2UzXVg2(L08sd@;nWyHa&R8OtxDhKm7?1DJ-ryCQnvUYxf}5bSrVw^f`Zqn6OD)J;PWcDN<=c zQY>1{RQ}GDH^lv=TZB_ovp4G!t>}`hZ`8HToUm?(1pN~wk${M@(PV{f;?%4!^Z;dO zpRNdDTYU6^L908+ked}}59bdCV{5fm(m;L9YuT<&U%kMy62&wcr; zapmIWc=pl-;&-qv=6>^xqwt^%{;-x*JG?X8{l z)W9ym`xKXk=aid#1Tk0u(~VOyu+CUu_Dy3OlAOc|$JuyxGzQL}g^>9hK8el)>b+YBbFDe<|rcLbKCLmIJ}4?tUWBo2EtdstF`!yoEQe2k~jl!Yi~smvhNI* zx7$G_G+H2#f08<6O;lGmq+=1KTuZK&C$lXL#_u2&$|9*wk4L$ijMXxJS9gEPOyn7+ zP-xi&l)D%rE3*?N0dPff$>fTF?I=!Dvf_g`-iW1{S?Wu^j5Uc$|L_O*Yub=d?Aj{X zw(NbgZ|9-yLo6sN=mNZTfZsHYoLibmLgRXZs~zTHk8D^-1SNPO^2K|UgZO;RZVxcT zeKM2hVtHaajk}GqF`GQ^(c%NL2)m(s`a{mFQ`+PtZf24za7A~vH3Bj_NIt=33Q(L~ zg2xiqd;lt{BI>6S_u>5PLYj-!bxMU`c&Vqj=mr7hjg6I93|FwmcJMgJ2jVr`+Hk31 zz0IKjty2%HsR>V+e1>_IHy!i;L~D#v{vnZ-0q*y~9EDAJ9PaIT`a`1RZ!?Y_N-fB% z%8=E2fGZ#aGe_JYAocw>Z^v){@$bdb=f~oQANiqZU3@B9*E^z_+H=3Q{j0?Ok@y0g zRhM_Mug=Ejw!ag%=CGvG>+=aLi8j$bpaz~;p>#kE!p2WCwWs4Mfqlx77IBvj^6FdeR3*y88PMeKEs_q`dxz?Ka>#H~8alClX^%2iS zrp-1c(V1ncE@O+VCsSqrkj(-E)^u9O&o-M?->1QOHJIEQAlmoeyB4QEei=mGMG?v) z0O3)b?ZBdhnN;Cqdxvv?twtub5v|hl66;vpc4<5D*8BHj_`>BlHF6f_LTeyKnjKu%4VcE8 zouhzLIBIIvLI!m?Vh)6|bH!im(d4Gh+(8GR@ILOBLl98#kxG*^mmzWD4h*1uxbs+aPPtS}{2+3J$<$bblylZGj;p zQ=@eJ>9-q)AD=>oBO_0-P5kX#IGu1z|KK9L-d~0f>$<3mci(+Co_UVVQaPGHC7*H~ z7a^PDIjmRK2dZI?fpLI*fD_}aNI;Ksm?uF=s=4+z=9&?uF}c|jnDxROu7~4vNXdPM zWgxZ3;cpo*b`8d+1&cET+@9(4@T_Y1nX3n|1*1%^G`{1r3%V3!#wxjf+!iKH2YTi) z#mrz%cO3q3I-dcI0W+Bv?YLME=hgM#%gLR9RV!)SOh*FV(gR=iweut3v*w&*^tt@Z zwX|eO0{DEA6b^s$xxmc5YV3*{xX-8{N%3{uJ7ps>x6P#CTh}OAGWZ_sGTp7C$buoJWRO}Z~a!@8pSo*p<4OlM*UJK|J`oyASox&XMoIBIs#SQo$$B7dtPOQH) z(9HfA?(ZS++{8s_i}|<9!Z2a7o;;km#&O&k^KErdbJ|A>uP*u5l=;L{eGP4 zBm00LXCSZNPT$LvN|h1Nqn2ai@MyEb#*jogpZBy=!pXrE}bH>!fLA^PmsYH|^n&FS(j)VX$2{B2%w?3jEoqwKwJi~y4ll3z@?PbO7Z6{#@KvBUC5~~67v>u12|4pIG;Ii#(ZF2X64H{55~3;-3jL*bByZB$m*6VNu+WB=h zv8F{Z2(*y{iKcK1ZhB$)k(gwhCjfDFt7&CVbaoT$57-t^4wesL9cBG7-Y8JT4)Q|z znD1Z8Ux|^jvoYU9#d@nKuN9}FeRMER{`gPF%(wp-tHdPe57Qq+R`^j`JM`4VW1!GA z%*(a3p}0kZ)zUpC5i~#i>wW zj90Z2AAUF<8)J8)ZD2U+sk2flBY=+u8sL7qu?i5lrrdfeHSh7gKKcfh!$>X<=VFk| zAzK!x>F?sZ-a(76siC$CM83)9{cw`hc0l9demzC@YU8CBx}&kZlkZbHfcc0VwNeymz^^hq*LAFZV4l;gGwEfLkI(K5mC}02*?Y?fPB%CBNt|f0!GNgkyqzE^& z^k4vmUZC_bZ*VOximBU0=RR!iBdmm03TNk{RPY|>x=>nHG~1+Y%->!&fi5oR=GVQY zFg5))nZ02ap2Ou5V@(3v0V<4PPFkn3KyL2M?G6!&`&cA(Nwu(fRw)nAN*aXdzY4#D zfT*FZHcp)yiU%_fAn3h#<|8iv2zKJT-+P<&7$mNRU`1l(WKi-qjPU811X+oh!q6eR zG)<|e7i07<9|!c5Hj>Ze^Ez!>MHKE@+}tE({4FSvkyUUlsxl^PQJPN#n{j&vVXm#L zB}-5On+PFJV0`lT^*+68oT7O*-$(a2z zq*c!POs<)kK^8d`MENWpP6bcpKaPO&vxvAvbI_#cncXQ>eYE(4=cyHvuM38UMqtI>Q z_HE2xjJ94AV6dQ@mJiq*O~mF94zbc2RSlGP8E(Zb))nu4{}!%^v&1dl z1vI^Zmi!X2VAR*zybD;GL`yg3<_J)ORo{4(`X?~7RH96N8wULh{6{L8i2ly!uwLy` z>+A&gCAgR>?VIZ;BWPdFVI{#W?QIm1L|I%hKA16f!gE)*CIFE$XwPYO7V`_ZK&3&tW(b)TvnS+%~AJt-e>w1xoe7&}DC zlohN(&esyLXqHZ3I-yPKJ>e=e&aIa3%CC}A1prHlFMQu&>f&;a3S48J*eH39id6&d zI*YVUV3??_raJ)O?fb9cA>!tbJoAwRuC#0yH@9%LE#T(bgFn|`J)$Tld#8ZsNB;E6 zM=nr~gi8EmVb)QM)A~+DJPFNMhL-8mX>sCuEPqQ_z^#%?3c&*BbpWFc)Zj#i|Sl^fCsHvI2cNFg$j2t^C=j+60_jI0s53<&b zAp=IvoBT85S3)F@L?Zl7@({AnLMTA4uOm5u!nf@t z<>A=7c`MHJosJVdkHO$@b3*KgECx^PoQI&0(1J;6Gnu#9J7qd$8$tU({*6{q-Wweee&b@CeLxcQxG)M z&9GTJXp{=TX`{i!v}XC-g1KZR@gxod{=Hbz?wKbu85aniOl^|*>=2;ny>vOap^Ipr z{%x?djLRSAk6&CTbCb#Q6(U+FElHrEGG%9a3je7!30gc{ljCj(GVrt>Jc|L~GFV+U zX4|If#hfoAajmo%IUzNGgsdJM?uv9h#)*>Q{RCEy&+phO$8>ewix##!#0u=ad~L>y zhm1;KnOTnnff?;(#UxRk1#HZ#;OcK$zWlDBFS%{`?HZ*5ipF@s zotZ(4Bru(4H12K->l!!Ve5|3kADq`FHoZ(zMlQg#_u~P3`8dek=gaCbS&D;iQ=VX# zfcJ8G?dj@jBA#RYpbG#+aB0IFiWXLNQUX_s51^3}KqiNU2=~w-ZCI*13Dmwu@Od|` zk{nuW9@ib#GXPCl1;sy6XiR(G#nQdLV>tm*wD(|2#B?pr(vX?`u#B7UXgi0deGnHf z_QPWit+?o#{eJl7}F8UfwhI6{2QBreR8&2roj}UNwG@>2SK1TlUFd+l@bAy@ z^Gq>>^Pp%LE}e@<2dQgCIiI5gXg%=(1-<(h3O&kb#+^kS3VwXwo!}2At2m^3NOD6F%8%WqQ*oa+3$Sg~+1mT=)}g~rMP z-QpD?tfsgAH1t4bA7LfA7$z*{E%q2#f#CNoVhf?9G>3eVJyp#d5m>Khhr_i?l1iFj zJ_UDrP7<$S-TYfbQ;QYJ`d{^=0ygv01kcIh{#ZxW!o&5j>iXTQQ}LPq>vyAcV?9n+ z^+j*%rTFpx?#E*A;!tc{MGk&26YVE@;;D@vj@D(Uw5~U53wi2@&BnbK-j7fG(32=e z7;?@R;@AG)--yf0kH-(6zeoufioiO7Tkwsw=D3%?1NCNZY5{r!_3^qcSK&U!1zp8L zAK`yIDnnq#JQf!GyJ*fiVjYTXuue?<1D$=C<#!1{rw|wg5RZt!&l6l%QR<4B>o=l> zM!$W}KEuW_;{w;3Q{^Nf1k_6M4E)T6_UMHPY$K=-Af$S&5NKo*3$yXwn=3JThN6q@ zWDK!bs|1s_5Zll{&=dFW(Eb7wX-f^Lm8_uK_X#YeX>c9d2qt6V0dP!|?j zAp%0HMdqer#d(Hg0bqf7lZ9sEKNN}?bI8bp6Vn2xe>e>}k{u6;MwekZwO2BMB8xjT4F)0`!Q^>gw$KsqKJky*{f@C4SEw3A~Q)`|u&)pM1)k3PNP`e$VvzAGip!5vONTzdo#=d~Y1HpA+P~1n!!-V?1Wc^~^oD)XJ{E_d(Ypp}ND2{=;g+5c!QO4}OQq~lx zHd(xw94$}=Bxe90%a@is*U9JLKGID3p7Z2+A{^cmfC=2-!08;zHRu-f-n!zQN0kKK zjj0kgUo+;YOv?h4Arn=|StH9Q$Yxn302{G@kk52)`hjEF0{~6Uf7M$9Fo;DX2)d(x z0QVWi7+Js?n0^Zu=|il^6(~#92L!+`PB1>6r)dyN;C*-q_p9BZ`$7|S!X|kx=(~~R zj>S@RoAm?G-p6WNLGn#4T5uCgR9A9mH&$)j-)ByI0^wDR;qsFR%oZ#TuT!JS0-X$s zxC;wC?rg1*IdzWuIK*xcIKM?!)XM4{4}rA-PP##+RRw|djWvUO=ZHqkO?+pGG7Pmb zgHT-Gcn53Mb$Z8H^XW1@-2gL$!*6nq0q_d!sbzp5Wdz(<6MlXt?20=VGkhOsg(Wx`|r~%Jj)*J0F~7ODlHb8LvdYa{eI<< zN8{w^D6wI5@j!S9qR&%1s~%vth8NJb+YfsZYQX@OKf){~WGA%Wu&-9sz5zM9hI3pxp zQ`aza74TZ+7vB8A7{GFqZn*5HZNP|NN+GNjOTnv!Nu||2We8BW;78ym*cpu`a#)_D!DqAii_sTKvTGPXdJID4#GHOS-#cj6ADtbutCW$gnMF z*UIJua(52K{h9AFk2F`ty1ub_FM2UntYazO1N?3i%sw+kuzWjZW?)xGSR~hJO;tYZ zWwF50wrU4us-?9LAXbj$?E=;O%K6EG7!p9p>FdA^zw%}3A6H+Ao$wTEO$F#}SlI-3Bzx=`P{%`S%?Y|U# zpB#xl`g{LF^ewehcWpf$8zPbG6ph>|KKc>d`-WE)QEa4%S~7m0KlKve8eqU2zj)=@ z_*Zzqe)n@v&&CZMeP=<^*b1 zQOVf47e`F+2F3V1xv!-chDCrR88+RZP6gJV68v`x3sWuVap>YBG+}O}`a7iuWXuq* zrTg^_S2D56RfE7vFs4>|ZXLCtMIq#C05c!_+0B@F^Nna5#@t57_NPDoV_45{p->|u z2Xibh)yLU0PsB6NZ^VgK7IgnW9WSl5DaA}dbRGf=tr5orB$&y-m5a*>GClv}^kYGpG7Ei!O)k*%jA}T6 zSzUF+W>m07#<=aFZ5t$8Pb^9*$6y8_xXMB|~B44|KlEpAdW{^jtiTbK~KhWav$6 z3(uH@3-5EEN`z_=0^5M$9g*600Au53X#Yh_vzVyu?I*B=DO%HsNo6j5trbvUlz{^` zLjoFH)3pR&v#(eW{`Fk0KyF3`B4yG(pCAafo#xdws{lAT-4@{#Jjv@5&_ggO>|BQ` zQsQl-?z5#8;R^z%EwsTJtZ3!ziG5-nto@Y6?L6?K%P<2XjLr2Fpu$iNdDi5nVH^p7 z0kSMgnzD^xRsv6j9UmuVeC*QMV=aANX;Ev8B`Q)Z8hhK{UR&#`=Qwn2j50_ckR@P@ z86&i}pe0nSTUU!fQZcc(?7r{g_S3bz2f)e$;%k^6Zp1ugE_l1nYk_0{Tu%X;jj=#= z8jm!;j&r#Q^ zxK61MVwc*9X|Y~dPw%5J!zo@9e?pQ(ElC~*oNpnVDl0oF*+Q{bdgL_`d)kaUucFp? zx^+TP`=Y;s%sP6l9s&&N8USi5#H`eez~FnL5BG$XoYz+0g-S@a0TAWuXeYLJ4Z(aF zE8A(T41a~|q#dhBkv2D`x>LWa`T>?;TuwB9-rS%L8m&ndmp8c1TAUjEQR>n?5<9pf zt!0!0QyQrVXbXE!iCUu4_SdrRK-8Q@-%SrdfH zQ`ZeZ_{_!LDfuq)a{w~W48dfS|>DT2MZm^4McU52+Dxl z2tdcRiGgE!c@hf|fa?0!08}(m$5ORhq@~XjLzK24d0_HR9IV3^dUA=5OGoqutyiIP z-th#%hn%+}Wk(Ef--GtH*D3hfiK1bzQJRx)Z4}`DtSxh@-13DWOAmyW$|HD*&Fw*0 ztcO{qfEX+=)hIf;K2uCD^Dnhz-%poFuZ>+j_t7Sz9bg|Bq z2f=z;y<<27t)EsG#rIl6!euL?6I z@dvn!oU9E@@UKnWh>wkQ#m|D27jAqrj(+y1F&pAeMANY}fU!1OM%+|o%tq2|i1Db{ zq#`xMv4a*+2>`N2Ne;7rH3;;Gx*b&nscy}$V40%$Snnd1Wv3`WiVI+R0yBF3 zER2_K^lXf-9@@J+|6=4i+M|=;?Xfq$Oq|w}tfO|*IZTCpEHxH3fI}9yLc9s@R2tjE z|I9p#?&jxpI*?!7z`5S9Qy>PeZE zTrve`dTTDM**<9l2)lHiw`W{}8h=~d(=qR1CO_ak1K6#LV#ZDtfw^tOf>}goo2;m{ z@nXF9);lof3kVH^5A$dr-4Neqtjw*(-4E|#DqfChtc`65pcZIi42E5S08bVa0D#1( z{%U5VK*(`qY}03B+StT`1%!e)&ywmjDT4u2X*Y3U8J+WD z@54X)(ih^f9W;`=D1~0 z=1L|I<#+%e0$WCvo=FP~FA^{mxbRnc4u9`)9iQ7h;NVh53Fm5IG;7J{uOr^A%3xB? zalVdYv0QM|!mWsH(OU+X)>h{3T0@4(otMoC?@2R&k^`PKugMoCVCD4G#swgoKow&; z!pc)Zn=P^UM`Ye4w=))6H9o;@5(Yd)2G~%H&?;qGx|b{_={z-}$(ErV+ucEdxd-DC z5VKt*@i-aZGE%002M$Nkl)| z2ks&E%^`6xxPI%*T0Lms+B6z2E)dT`MR(!=bJXeEqO8OgC2z_OPa~L}ODrXTg0;dt zv$Mdu9bpwI#JEvV5ON7< zq1XqB3)$)mtRDVAcbSV&*PlC5S}@+i-w=hnRB(mjn}8QkI9Wm zOP}(qZRSO*|2p8^HbKU@S<7yEc{a{;V=)2PERnU@NCyDphTnPZO?XaObPfy<``SgE zA!Q)WV)fy>;}Z+<#`|{xG+4u!CkrIsA1{v=pT-z~eA;A9+?N7~BCYJeQ89Y5jj5v# z;q|L1aquy~@o+hAzV#2W$ll`|T>Hp_d6bvFk$wOcMgtmVcb@?$HzDUJpNC%jFEeROl2U&otEI%*058!X*fT{{CmIt)OI)cv1 z_)Kq`S+e;&dx^D4|M{Eu6IpN#*Th35)^M1A__MzliLSBfkRedv#X5brCu|Ksr8Z+HfFe!iCPDb?tE#Gv>Bn5;a(?8p#;QQ%zby?&#YvZ9d!I z0pr|^HM+MCeEg#nKg4WL5H2D8)Rp3WG;}A+fL!|!3PPwQM`d_2DaP*ez+CFg**G*U z7J!vA3yMkD*xZdzy!2cO05;3$(AXb@27DzEw1^guM%2)ZvgKfixCpff&?2U}3Is?? zZ(r=JOhbTp`4tQ>l0B+9f8)b;|pjlNtz&YnUPfXNfOcmnM7P{e|~$o;r;P&Q;17aJP=Gl z=BGyA!UoJU=hi^7uOm;H3ezbZ*QoZp4KpZGBWCi>-MDk>4jXJUm2cQ%L+cVb!vCyg z&^6KAqgIfEk!IF81UC0iIFyeCFKKSLk15&?EmiUMs}IM{%k-UNtChdg^YMB1+mo}O z^lV;>|Mme+_Q`u|a-3psxUMigql&~A@Bdjm+4d0vG)cp4MW}I8EqGdR)Uvg(3UEEN zxH|t8SZq9xkJDJZuYg7X;QQ%^`R3MX?Gi`e^>N&r;3WfOK5hnz1ZOrgO$?kprVCAX zr`K|AjK#`cXYOD@mtf2}m6ioU$8(}v)xD@|P|J@(*zc+}yG4%=$L-B&*mu0i`Y<0@V6@cv+r$YUQul~p(&yE^w?|n6?`?SqgQj&OIzDMrOQuHx zfDFb=(me!jm6=?CmKwm7RxTNjm5(id;=b37Y8Qhl#>lW(YsQBl7@xnEn)ue$4iQ^5 z2Se>;eXt5qp1~Lgd#tr!F?%rm9T+m-ffqD1BY22MD&HMUY4ybe6t?ygXzrwS6X;r9 zfe_rD!*JbCn~z?u13xMs04P)vbnYIbu;too@I1$RHZ}`$jE^Asz1wN7^ZAo#ypPbn zhTv!F{2UnvSn*EuGz|ch2qhV%^gtWED6|UEOt_+!HiAg7JW@oBo_ z0Jo1k$JSv%U)A;P4`aA%DBgSU2C+OSqPYD#PEpnZ5TQ%298LSpTQ_641HK7wFT&#l2k%-3hk#+21No?k_1% zy4XaHED_&`?2cO$X8qNt%c84m4J)&I16t7%l|T`Thvf}wvl#TL6BHXL@cWuHBx(J&sG9x?7vb zVLb}{eZ(OHI*Mf7Tbxy|kjly$uEB8b`ewc=Ih^!iLv`J^vDVJDTy*jZ{7WiQ6cvc!3HFfO_YTsVt%d4fkFo>1i1SVwPnf&e3>AN|aQSg=6%L}62Q>_uyxMhJIqlIMZZLLaEY37 zg-x^TS`shJ;!jbm0KRP~pqpd`s_<1nBjxZdYvNU5B~`vauV0T5!d^Pec7zUU343XU{;$+tAg+=SA5Q1hB-%YYW8HQ|iAjV8> z^I+@i%Sp3up)H46ybN7eg-;-&B&(7P!!0T*k5e(d9~4b|2^Ewp0an|Z&Dd zg}w7*CfvhOrs?qUvWa0cvI!VcdY;6f_#~AR;CFJnG45l4;J31C!ax%N`GzO*!+oqW zZ77_@V0&q$BI8Tt5qMQgwn%?BeKe{2lj_m1nOrpw?<@Tn`(+%F*GR52=F&iW8Nv@N zKt7Y-Vg8QYf~ge-&uIOte}7~v!=>5Ie8!jjaXxHGQVs1kBA{wv!k%-yR)VAB8dBUo z-P-|~E}oS#z*WWix(`z_1miKd-Dfh;-F0_<-Sh$-Elb(@r%C5Ij49F84VVI8IQCWC z7S^88qGha}pEn;of%29!(&H3L2OjS?d3 zd8JP+Vg5GYy`{M|F~dEW-8y~i_PM8phD|#+$oPPLSzTm&*^r$*Vl75_<~vyQutGEs zqE*i)OV%V6nMZq0M}5c1SXjA(yAJms+HyWmJYmztWMylFwzmOVOBDMomCeGZ2yv)r zjR&)TO)OzQHGM2p_$;7{9<00YCR%8yRaaK765I6@R;LF9fj^I1WINt?_qSl2T@*WQ zhd0MogG!rDWK#B|{xW>;>-P`@CK{)qWA2%BqIlj;e(ATfj3ENdr~SJXlS zBhb?ZsrwW(HRybsV00|7GVz&(1+;lQIJjBRZ?Gy5t5bC@@nlL0(T?OCpP#$f!$*RcknXxUn-8F!%cyMl$ya0$IMDm)v|>I!3< zM1kx;Zgu1OYl7A-e(7G&m2Gm7Jm5%$nmwc2TqR78K~k2qf+gj^@nwW7FZLQd39)Yk zrSrTO`UXae8i|=*!zyO^hyh9s{Ph?9JZ_*2Z&PMr9-!32YVNO(LsJye zW#6@69NFALc+=^i?=l(0MfN{}>C~u+O8ayhxP}!CWd;ycN2t&WwXSY2E=Lz3HqGqS zipE`XT&W;HIRxisad|IRT{1Eu51{XLJjVmv1NE7##xBN4Nfm;$Hi?;DTD}XfWDL0A zmoUUQrG_6=R&-*SMiJS?{KL_Ni|yoz(P+ktl>n~u%G%ZupJv-9RMsSNZCYLnUsqX^ zmwKf2fp;ITMWQj@FUMl&;r{ygfA(^0&3!pueT%HkhNolnYzM!wmScIGE}sX7kU3hm znnF$5hnneYOi34nmHgBeeZT?sq_JM`JJxm^5L*Estzlmqz$L#-VLXPR2>PTKcyfiN z?=`Xw_7Ip2JY+p>TnvQvL#PZy2SJMpanBeWdYGg32o|n=+SMGf*!d1(Ac!rPx_vWN z7)W(Tm>g6}FQwuf7OrX1POo2!j-U9E$oJAy?9RQI{>#6J0%&!Rf^XGY zp6*XZZjr1Z{QkT6eapHiod8NM_lJdLCnu&N6K?3njfd}f^G`k-TQ9$ikjDi6=YJG? zjAy@hC>E&;vfB?@#U<87kFIywdM-Kyw*dYDOvw9LjTIs|&(t`frpF{xJ22AfI zngKNNTZ@M%TmhA}Y4KWq0e2hZk5QHdKS@ws*l`Y3L6xb5N@!@MT zSR{C_mOg_gl`~&f;a+0xYN&9o{&QV(IO4{j4AjJu(`wFB1$@mY-&(pw_C zq`M~x;ti^5FS6Oynh*V9ZJnCR~LogVFPR05$-^lqH#cVFnzT@3El52{Jo|Y7q98P zts%tJpk)Hoc+dHA_8p%y>D=wJ!CeyH=Ys?`)znMOk8TgaO9F(%iAV+}2~@z`RSaAx z_ko(DKWh7xFa`IUnvq(W_mU1Q&MNRc#2UOo3V$7IVGL7+ZXdKKH>(WY%`K_V^;}a+_p@@)@*_RbsKK(89%2 z`i#D(hUoQWj_Fz57YZN!fl?XQv|;-JF-FpKYa5*c$a-?EwRRS?iUQE(l8r4|%~>P( zOgbbK4lSG3vl$xcj9FUDm=Itex)RxhiblZEK`Rv zX8hOKI6+pqHE;m2H56UkB~GQV+DUr)8Rp{~jG0zFs|E(sr223iK-oivuNjt9d` zmiKE7c4wbj?!`dwC4jdL%Nz5=pTIv-=^WN}13+V7cqP}IV@`kPqsv&#SCAv{5lS;8 z;t^Ptm>UZNvaU&Trr**i1ew4Uv;nQ9%_of+iv^vfdRGX-bRB5W2I*x~_5bqq;rQxW zc{~9?Ekdt3XmAq%vc*`_9(%YKRR#^VmUk>;Wt>LVGy%rkpIWwBQG#T=T32-$%5GGO z&4Nt(27qSYP~&sWp4M%c!X(&}TD;_c6J$}_C$Emo`&BG?h{c$lUyE6+TFS>umoKp9 z`;=msryW!~mYaM$a;_f>5eZ#f=ZQ;06k{d66`5A;I%6TWm!gVQ3rfo_^Sewj(G_^{ z90rd+{)69)C!YOSOl-_WJwfL|TccUZ*SufI#So9Py;m0F3(RY~j>+i>_z`%*ezr`FM|BhR2*Jx`7$J_f zPhb#P!E#G&GWeVA*6Ju*Vr|9g>DN%qXf=c~T!E$Q09SE|>mMDl{v6sropZqy1ep}! ztgtGMe!>joGQ6E|K&G5$O1=C&h4C;a$A{;-ZktpqsHW<{_KeoLviO;&e=0ur!I$F8 zzxw5P<9ti>9=1pIbQvD40cv}qn0M0mu?cWq#I3mu_{5^G$0|qh-|BT-m7BErgXZg* z1hJ5ww5nD14;IuaIzC%}Pd=!(z|41Jf-9D(hAU0Cwsc@dM(cvf8QY<|C}}J(IO`@I zAVBwt`p@Mku|Pq*!+JKalc9#o!)?Rx8!ntqT2lqFN;7Y~Lj-1XvVHG4(QfyW;+X2hmCppJr190;whJhDkWPa8j7&2_-M{??R@3e9u4p z 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⪼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⪻1>*&U*_=3pgNk?^P%0wWh9V@7Ut zg5O^R&sQ=*D2Xq@30HR?#r}ihDgS~Y5#MD2#1i*t!wCfAxe%^>o^eL( z6N_E#HbY$9G=8R`0EU101WcnJe3d|Xk8@^n0UhFgkrW~WbBv5JEHu$R9nFwj;YtQ7 zvu6r@hG#PquFqueL0{pV3#p&KoQG(ns$qVpz|44E1kgb`0UmHEYmBkesPSQDAWCS1 zVQDVreS9PFibYD7V_e?Df8pdm5Bn8k0w;RlSdsvXMi@n$=T{sR zVh=Jn)R>Ey5+t>lGj5ci8av}&W7Z2hLc6VPrjAR2EwHFhR0{!L-kA@pqrKmv232R3 zj68#mbir)9Jn?N>8ziy{!NM!k2qoO$Aam-u3|DwBV-px|5N&O!YT^D7_z5!O;ikrC z5eBG@1zssYcx(|kZ8c@v(#_D&pnwh2gAp~Dp$sEgn4ZM~$HvRtXHPT63~YJEA75S( z#saRG$fZe+%fH@l{VW6dOK8a@g1%d^sAy4;xYl9?a}FJ|ee=Bi4}p!pt~cAs`p6tg zQ=|9LP6Uk_?pIL~7lcnWYeM)~ekO3uUI*U6nEB^?+igK)?3}J{IOu7MoRdy-E$cto zkF=i&Ox(hAW!~wSZChALyFYq(F2Hhn(tfKLe)N1WCgw%Uj^hlAnxN!x{RdR(pnZsQ zv|&4;C~;1BxCXp2Tu2D8-s$`VZRZ~8obIZq2?st`U>L$BeXPWB1|Z@s{&GA#Lt~Y- zs<0-^;;QZPLCcx0G1pxQrf<0oH;MLq6g2hrn6qq!#Tv!ZQ;#qrd>dm70-4e?tP7u0 z2vHFUoI>7`jtk?M2ky`2Eg%!`3tDyx7oQ1QM0-;Y@20`wVU%WEsaO)Nl_n0!#-xhU zYAuDj2#W|!@`s+@uHYG3Fx@EJIWdMZbWGNpib%xp^1K3w?{k|n`zPLY^$x^ymQ&Dr z=^U){{sOU;&h-I8-8#urQT&%@y>3PKBVx-A$xg)1j!;`<)8|<#2@Iy?`9H%E04Z`@pm#SLn?Sn*vmu%<1L z0)SQ#Q&V=qR}+rQrm#EQw?lSI7-Iy4hXvv)hy18=zH&|`mO~q(q84f*D62GDKO|WaryK;VP!#5&!cr&JFaqsm5=8#!HTn|uoBOFxSDLZ66XCC z;uj3sRMSvE0>^-muM{bxf#A6zNP)1zFfu8*OQa8CV2j+U<;KwYsKzb>_jv^lUg}Q} zdEpNNs^MAp#P(t_b52C}nnSbBlzZOQ(68!nvnYVrZ|-4nYHm@8;P$w`3Z`P8{qKHc zUN~l+6?!B98DXXmT=xlUU#aOPVt|gR)~f3<9a$KX`z1rXBS@(+9pISlN^R_&b%|;a zG$n8fJr;9Ss4>PSQjr;xsrfP#-{qtBS(j%84psC~qNTuC25-&avAo1SOhaKxYUom+ zGpv)0k;OPzM=>^~9NKigf-wUN&znHvobaFb(qDvRiN^u&@tlH^E+eyee8kSts|+qY zA2&H%8>YV*qfrCT7<0IES+^FZCCr(uN{B4|Hyf^81;IqvMuec*y2yC5bca^aZ5U|> zv0!Vs4v+Zhc(Ny*S!GL=h5y9fo5e_aWp{ozGa|Q$Tq5_qb{2Pblj^3rDYeuZ4Mws& zBaa3K1P|ah!vZAe#js&`U>GtC7=AGPHc$4GFfuH|#uy%tX53cK(ybAD71<<vEo~zv?yUTEUpn942t zg|r2u3n+75K^H{NIw3J2UF~u7P_6;2esN-qMEg@m;;SbA{y+QY*bP?0t8^DDtC<$SP1hJv3VOUIH$98AQB~<>6ou2{`9-)=QzH19^`Qv%&G{-?27q8*)8wYE62|za~?!_ zDZgnJ^y6unqP5Hgngm#q?G%oEi?C6OsJnBJIo+(kd76&94s~*Cc?9`6fAg~b#HP9- zy`-M@%MJ$Q`Y-dt)V1s6r;7~2M*B#+q>q4AO=cL2(bv!?4aQ>{lBYW?+x6SXm~wh& zdPe$;uej*!kjy!EEdXOm8!C;@r6md-97`{vf~&Km(%p1hTN@!!Q^lIkcWj>bOB2ee4kRWEUMB>vWV1Q1#+amVCM}38-@R;W4V|PxiANT4#8i*QZ+t zM)oVT4LlC7`b%>&l)Hr6k*O%V^i6N*4*4z?K}zf9R^91ncQ{U?w}V~_LW^-IukqPA zn#X`$lgF|2U-uPRqAh8KmJ+`B?t(qip`T1c&75P_`a4Gy7TH#&7TJ5_oN%5)8*Jll z=#~<=fx(fqu*|VQ>}36wU;HK~-(bhbSTMhPA3jKb=im9Y^yu+?dh6$3LsfW>MJRTQ z-3cQ`##jdJWVWOd7uDPE`fd8dAPJ#$R7{(?+`9Qi)!{z9{ zjX3_~iwFj?(XU=tUfDHvW=tf@z(BDhkJzOZ(vh5Mt_$NgBp`y1X8ti?igKA9Z5PCh z4z@5PNB*j_V0g3xKsmJ#4 zQ>C8)>nIVYO!kq)&GsQu)ZrXs#X$7YDZH}<=|e_Lw2A}RvbkH#OTwzU$+qxYj1}HP zZZkk2>C8|lj`_rUiKhU<382c8a`7H96z@eaNcvO*ni{SstV26CQXavBnO0mfu_yud z39LCF5CRm++RV>#F!lI1gMC*>g439Qyo>M6I+$QVtOb3Jn>hA|@6D!(I)|zQbY&hP zRRpCtezQFkMYW)mB^VwAN>xe={p1Qb%0_|1?u|sFJiHGkOL?4M*2nzl5z1q`@eg%s z)--D4V=g20r4ejX({Oymd}7SF$`7d)qTdVp{E{}Z#vK)Geps37Tgsi14R*C%cAn#F z31EOW)^q#D@yOgWI0YegXArNoxWB}kI_au1aCef#($$^>&UO&P?w=NeA)Ek%B8v<5#*5}g!AWGjcPU;(c9PX=3tunN{);0YL=rxIri5kx)uMIfE+vjl72JHB$CM#u=C`_eQh z7?z3GNDkYB&WST!=2?d(;6B)%Y*g+-nR&mcx55%jql2Q-B`RF!iWk%pt}nV^#Tq-vkPV zX9UNy=@ezR&d*+X(L`Usbg$OauptFEfBB4UVEuS@?zPglZXyU;L%vx>*6af^aaMT7 zqHp{r_=>h9p6ah-HZiz>)90H$oZRdsD01=Sd=m^vLobm+Ykw4T5vjZV8-QYFhB#S=bzF%oVDNtfDc4M#ujsDM18f-eL3o17Z=X4|F!u!T zk552$o6bJ?C>FWqzXxc#ar+i?h@H-igSTO}e<;S-p}R)`h~_;<8dFH3Xb_~V zsP-7IZS6xb?(Hj$`k9j0hqB|6o&8E0SJ~)bf9X?EpO~usdQdAKu;HMJDs7eHm{f1p z*c5O85cE%)SmPjbC05Hg;B-;%BFjVLsZ!84%iy?@*Em{=K5{3o_nDrE4H(muElbOp z=`eZ6K=d(j9Rn`Hin-R{`i0Wlk|6g`){Ulo$aoA$z8@E zZh3bWJ~oh^>&2NU{$4zDC{L_gokhktBuaH2EYdP z7@aN*a?e59o2)JmAi%jHX)J8Xg2@t2EFkFc@?YnukMUc)Y<`c&9MoIFM~ocb0$%x+ zzvpyvVv=9}qo@4O&Qrp}aNx6%a{_VCqNvIiWa}0Lhjxn|h6gJ(kxLi0N74k3xUs(a zD{(TEF*a`CY>G|t(RQ7r-!E;HyYse;8^9_lR;VHXZ#P_r~z1$qUhNaBG3sPYMI5(7{Y)o=xSVdDJfwv$h>k!n7)&~eyvVS^p8(PA*zQ*4%#fHM(cA!W zRj>`(j)bG0W%3iCMN#<238yr{HZfi8RH!kuQ}MI;Kzykaoe=F}o1M{~);YouL_n!j zmL(!-ICTZJGBlgq01^r23**~b=`^&(RjvRsz-m*f#k>$C(lpIUOgvUg zl4lIwp#@I;93wqYzh_?GD@>DdM}q^d!m0$7?S3ECea;fQkOXMzM> zvh|{_gw=a^celIY1UyKul!|a~`)S-QW6pL~0<}waW^TleJV99>V1k#7Wy_9J*p2Ow zl&bO;)Yt2)Q6|eF$lBz)$E(x0 zsIK5v<6r#Ke}w<5QNm$V!WbN2As`41e~^sXPJ|nEzHQ*Mt&fAymDHX9W-4rIIAOw# zjgJQqP-PxRN1^(*&SmU)wfEBae0usCRl;F2W7-3p_gVP#Q)V|rX>)c!SS5c0gL-5~ zRYh3aVi&NdouA{@@n|1ju-14SA=u1mdC4M@>s|Vig+>%SMU?Yk>Jch81s?-;0|SaH0@|ZhW($rZ8tgX zqFz5kiuEMjx;dSG_~ZA|Z~d*mp4NE}$FX>_H#5THF$bbP1o^JkYiSgp4_zSiT~PZu z13-)xoJwOxR`49jjhjD^?#jkOop@eEimn@)~ zX$Rnpr1Yc9@6(GpOr&d6`Q)?Zmgo3hT9WArj2x*#37ZtTRqHUFk4S8o4aTU?Qo}8n z01Z@4p*IEfr!vN~h&e+{5QENg<3qr2y5kMW5bqp-mR9>Fm=+OuenJ{T!v`t&JppKRxy224$ zG134)5LBYTc>yaj2?#mm(R;g><4Z88lt~Arm#C-(QO=MvcG=h!jP4k}E)opu-wE*? z)6SESs!p}0fG=V{j*%qkJ=Qt81m!*8ILP8S6R9+5s;SY*AliGGPvk}IGRrVoV%B;+NShT z0wpvaUu9cl+b8RNj%x6e?S=Gsp2J~BRw3q94n!VeTRV1H^v^cukU4~^sP$BxDD62# z${f-Q$}B#%K4sL3&W1C_l`1{~EgeU7{k7-(#mOq_lrC(nw3oR+vL;Z`F3O!eI>&Ue zF+V?tQE@+g>A8R$c*}fT+rXa`JHtF@P3M;t!fK4GL&|Ce$GR{J4Wl(s-a);wi9b1k z{0Qfx36fXvpXQ;^^}XfvaC;Gk!A`QpA(+EJx_9&e%%cQD9SBg@3u9PYU1#eyDj1f! z8v9S8auPUem~5qGwC)1M$}Na^1*7Vagh?N%w@x4Rb)_0YNle(10e%HSj!TanvfVO( zLn6zHUm&YXhIr4vI)C+8v!hV+*v}cvJNROkuVaEfcYzzURxsz-VC;sZnK>XREYvSy zcpr0yQAc;gYG0ZhX^=McGp^Dd^9Vp^uQkW43{mD60wfYnkmK03--9`lkM0J{S08yL)$)`_n=b2?)5!76N?;!hneunApf54c+$|{G zHa%T8SO8Q&tG_poQ946vp!4b{vmd0{j~}F$U;8pXv9KB9Xtqy2ei&`DjFiWNjwvwG zCJfOjZ!2KNemlV~)>B4wpz9)YVQvoT69;7vkD^Lqj4Uq%c#+1r<5GvVx>68GRoo3q z-Nvv-^jcb22{#YYC|SzbI~a)dh}s%~u;o`)_j>S0l0w zY7#bg^k*gqnHtzGPl2?xbv!eELV^jMlXk{YWqdQ7Z)snIN|&8*z)o`0eJPfZfJ^db#7p^hfP~ zNZm7mBOrl`faX(Nyz_rQaYb-tm1JE)eJF>I;xk~*KEa-bv%Vri4&A)BTwabgFGlxg zUOA&r|IM|hccOOW_B3XE5r3Jin;SeA1ndKPwnO6z`xfs+EfB(71nvbQ{4aKkU(?`S z)RR#dVSS*FLtMctN2mFluS916m9?IX|FGvDAbo*w8GjM?+Vtj;#iUxSmjVBGO14~R~vIphHCm$nf|6A zw1WnzzAx#si+0nVD2zH|IN6RG3R8CGg+wS;WkIQ!onlyQRg|RZd(KRa-_97)n|Mfo zl(a!q&Uv9-Q-FEmMSlX01)C>GmL5KyO|A1dnTJ5X{Nmj-hNMWZ;0yChc+TFztN>5w zfQoKb<1(XD7C~|L8F@A^yi{VKe;y6HRV&A)jAlPtT>HA4)%y-iNJ+ssOhym&r=Gh> z9qcFpMh`yF1ecQ&tBXe-!>)KFRMaO{jbB@bCNO5iJ$X$zzH4gNZC z09J)SI&cq(t53HMz>bGi?*ha;6k7F*UdLBC_}PIgeH?u4qFc26k}j!c)(ya; zj|Tx%NGxD}3?djXj2Cs2i$v?-nVCaujdy%3;1jGJ2J_slJLxf!v?EsbRaCXM!OdH@ z!fX1iJ9imBN>&c|R>8%^qx8ZnUt(Nn&<>;H9fKkKYz+<#2kjij8LDIZjJ%f@7LbG} zNdV{}mFS^9C#XA=z%4B;g@i-;y|K2ICZ?vD3uQnj-t1{RB{0&`V%*vGN=K9ouM^(< zBn{3P%c68tK5(I$nE@^k+QEmDE+_<+btEJE+)qtS()Ju1hAK=jr{q}U=y5=@c1jt9 zAVFcCtm7%)-EK!P_T|L|#y^fu0k1N+eWXG?FmlyTmeaPJo8$Bk>b9~phxBEezQI_X zL#c;xlX36ecW|#T1mkDHM0@B)AOIV{LOQazG@mAEgN>C1Z1{8=iq?j@T1SntKmKSw z`cQ_hL`e4-`bZM6biicSmgl1_Do8peZ{DOG@L#sEic$Gk0DXa7J5nQoc#SbIG&aUL znz~`>VT@s9&Z5Dwv4bsDH=ggEpGxjD$k)Az?V$9hos%*S0X&}bx3IKKyPu}#k*=<; zt)`U|yynw)0zVznp0Ii4jCp;@ysaNX59w1KMSF~s=K;DQL=fA{7}dC4@KdF)bRaI^ zwckKa%nx=4q8_7}nRf^_Sg=^nJ^HH;I?%&L6c@3A`~k+r35y$#!0QK`4Gj&%98vY@ z0`C~du+kv`n{IF%bJE^S4<(41$2+bpuUCNVxGVTB@8~mWUYJ1`R`5Y*Ii98S!FWh3 zB%7`&?Mp7zjBYN8vCBV2I#CAt)&(gfG_H=ybCg}c1yH9w*EuNLotWCH{pg*K)34)9 zloW!7Z6K}u+M8dBF*1$H_1pja&(gK2kzi{iCS{|rRMd?9%f`VBGxVw~H^~6WK^0(y z!Fdm$$@98oJPcPR6e}4b9l{aXSQU3ckhQyNLu!Cr3x7l$oq~b-&KU!j!q?!3m+^~1m+*xzFDM5&@{YhhH5_Iy2a^tcO|Sw7#2av+U#5GyUR6(y?1kMqN9Li?8X%{xVjYqO}@ z@|_J%*ihjiace(8%}kk>OADwCRf+K3asxv2v$fH>obET~K_k`l1V(~U5nL5S2tne& zMoQSE%So19Be(N5DgE zgHT8`8W58U7<@=5%!m6B-4okKsfA^DYIIA#=|$drqfaC_1f%2VHzX&bG48`Bp6wE8 zvSx>XdfyFGk;$&DY+;}AZhGshUxk4U!XSt74YL5ynhRz*3?pnq+Hy?!JSWgqtNrN= z)TyyYXM{hSu(5OGm7jL;*tf4d9Nv6CpKoH=n+#4p1d2 zeOp>t;#rUAmuU{5qe1?`(JJE{(nbHSEYAf!{NZ=M6+mMcNejaU8?eswqwjo+{G^wT z6Pd88Kuj|*>8K%fIX=ubUkxQDFhEI%J23?&8X&uUzOT0ivuno&Z7QuU&(hxjHvCu# z%yfXNv&<6U?E*&KOPadY5Of`*LR+D2djXc7u%W}xD!?Xun$gFn6mkn+eF9Y_f$N0b zL+U6H(wMsqsfu3OgGp_#f#ESFp*^%M8UncPVOY(84_{uY%^V+XEVk|M4uF%kdk2K+ z!s(@B!ZA#tgFd)n#{Ludse*HC%lNfFs_$*4e!R=K#W7yc5X!HQ#!dRjtyP_jgXtSL z82?DOu;HsKDWq)DMt2S#yUUi}5_u@`Qp#Op{DrELMZW$Cl|r2XWMaC=2LVQc?Zc2P z>X)h>bVQr3?Y$k0$5A-}%*;b@m3@Ul7fHLsV$N~C2S|hhgwx71z?BYQrKLKfReRG8 zebKbQvF3)1*(Y;x+JFF75T^QefrIBnhNat_CNA7KD*H-=Z*-Cw8P$ekq1w1X%(q z>8cA=7olE0XONbkOd&C|B$bCf|_P*0@wl!Oa5RY|Yqh%Xb~!#nrzM!gG|DzR0oOiNT@P6L3lV+ebd z#<4;>s9siZAY!9 zoMs>J-tm)lrk~A9-yvZ$ZTY2N<=g~b>+9u3iAjjo7^OrUx}!F1bZDm*fGi3g8#mfT z6>L1yP_cOgg5(%c65u$lu=>-tmn(2xmc$N5h(JiCm}mB9w7A_zCrOBMUPyfyPXcpW zo+itENEp>w+LCx=kK2$-Zf3yFuf)RTfYqhr(s`E}{SX^gyTqrlVeVzX5B4Ce-rxVx z2kE&NZ?Pk5JdI;7GJ}L`d2yL>p~k(j%fBy%!~E;ome zaHw*SPE?U*dDN3z#5(|TN~%sM!wF^!BcrHL01WOH)E3K=C$upf8by)?6QEjv1rD;u zs9j<%-I%3(H3(xni^Y(-kZ&96$8EflyJA-Y;I6GsK$0#X%wHAFI=iTpm|p_2_et9+ zp?%;!t99F5pGfU69d|n(!wdxjPv#)Pp_;+A2L?AjGMwfYP#FQX1PI%#h}%m@{}$GR z845lG6|wV^{*$RQWWtWsBWez)gU9BmLRD4hj!DlyT*Iii6E)W^;7Ffc9uIZS7*v8c zF*%uL=Vnvm$zy=vW8Si zdZ1Ls@u$?QpUo5psF8M>Hcd)aB-Ji~Y;UD9Zj15dak6_|iz6DeLtd$wUdU_*#fG-;=<4?IrDHYs6tv&HzU zv+K-Vr>6iW0h#JK>#+sU(w&Ox!*+k2RXFmZfV%`C49dp6SDLrSO`-THOl&3_k3 zpDJVl?=qh8Raxso!TGpDAE~mmZ|amqNuPB-N4@Wy(}5`s5mIkGsH+a$Il{9ylXw-? z-zZYJPn)Ooy(_;Q87`m z0Fxd{M}4UjQ{L}5v3q?jUGq|y5a__q{>MNusB}1ZlkbR>RmcJ;%_E$tzK8!b!vzq7 z&V;?6dCLnWydhy@oej`dCGFfA0AQUW;a64o*T4A-fXXvYNBDmFd;igYkp8!S^rviq zxJ(~EoK3I3d@K4^=f*hC&MRCiU{Rw~{!&`zXcWkma!5xQ!275TS0J#xm0E1O?gedI zWv7>gJ)r?*!b~{|O;M@1Ags#SU?R+JR5$8FPu;CVB~^nQ1Gcp9k`pMivLXG)%33b} zyqa(;iYRf^#-qkc_l$};Fao{Ge4LfdNH($sbP(n=WEk927t0xM{ipcjwg_u@!xV|d zt&dzLYueF9v|(h&3;%Oc3rsAAEu*Ta9s3y7 z%vMPP@h@rXI)Jqk_0&KsQUQS`?g|DvekmPd9k_J=lTbs*%-sPIE*oe?NEd%FeR7IF z%OZD`VN%YxZB{76rjByz;XrTa-qlYOUnJ6OJ5tDP%x{bb8pnPJUsI&1T@Y-Y{HPa$ zFQkh$0`&|Lt@-gN*t3C(WCalZ3Fn6);aHdA|Pqz-B4zLe6$Jpqm3Bnst;s1r|gtFf}pJLu5;M=PWoha zE`9rhduj1K3?J*JNpy`1Ep+@f+eriw&lVgJyWz@62ToC4!hk`96qLTTe?tdoF$gQm zIs;6z`5?e3*b3v zHrU-louiQyku*$~U)nn^Hn~JvBArv1Ugs!)-toB=goeF*#FDn=X-wi2806FJ-;|#`h(Tj9j zM-hNS(#|D<=^-(1aMX%SU<^-0ekL zHH#|m90pfKvZmdKHZ8Wa?k7sD%uitY>)7{bq~8y?Xr+(OkgWC*S9QuN47P@PMn>Pp zm>3@FN74YGf?jA0J&UbRjRUb`{!o4m`jyO4Y|JvssLFP;lUAe+b@Fzs?zikm*DkRo zU)oXYN8-{vK4xs3xV#hYPfcG#?YNFK=$PYj@a%qMd+EfJV`h*7svZ+0$#~ROC~eT_ zUx3g{Tim#PJ0ub<^koI-#ex@Ut_L{>5TWgq8qLlvFho>4_2DJ}Uup~)?T0!5BC0Ky z7U$B<+joObZPWfCy@8Gksss$u?mkpNz#u5_?Y z*aoy;@Sr-i7ir4w9%sKYmpz8-1P8^A!%(X;KT0rLU4~3ePNY+W2Ycl2E>gsS(b!D3?uo4~P}# zCS`0;9otLGi;Ta1HkOSWB{T9t=ZW@JBY1{)3LGAfNFsFXYS8iICj$#s7le#;fF;uqSZRZ0 z-v&k?b`~x$i^(^@oFI#Oh|_UdhOL0(tq}! z|JR{n{U_i0E{i-C5iAls?0pFpZdpG@aWyLtm5~YOS_d=A-(?OI63)D|y_A-A=0W;{ z>Ds_#9IR?WVxti|1Uy7$q61>n=}n@7MwU&r`na9PVsr z8!sJHZ7FBtmc1_{QuBVcqlKQe{XVs&c}RU6|$oEG}!yc#C)$U~x~HXSN+5 z5PXn6jM{ij5E)HmKF#)xdOCBA+I(kt`#L{cBHJ=QNBNp)u!C~7&$H5e9|G%U3PYL( zVT;LUI*R%Q#v};PuF(_^{Evh1R^)BAk`DQrLKv>{b%0RX8sssKn9P}z7Ww{~1Inks;37761dKEwoi zT}WZ|yR-qLZo_3xF;DUWD;wgU(dH*GC2gO!sJ{|m0fJfs55S$AlEN6lM2R9xktt)XuG|Ta=18_i3>8^#iRQn%@Y&OQ9bH3Q>v?EN&uwYjFKH2xVMKgpxzOXs@_q$<+znJI!2=0=8NwqrT0hl zgZ4Hqyi{=xB2^O{?E%~z>q~$TB||%SRQISIB~b1@tf8W7P=C*#RI)KTIs&l5i#n1W zC1aLRQv+?$1RgG~mC~MJL*~KWf@KB@szW4L#P3Ek<6JpEw`~AW4a$dfZGMT37>ohG zsV(RO?CmSzYEFIq*}2;I=*Eb3p+FV_X3o z0oEn*sRHZ!dFAX@h>`al(~#`?~uFk@hqyH7iGGv<$+=hV+W+eR{~U8xI?K^7G4 zM@r%0En(sTKcrleDP}tyOpXI>lU74tig{De=0IF-;^Kb+c$h^HSsTwR(K0UG6ud+; z4e1~n093;+9JHa;H>9Q;h6x_cy=|i=z+I0fpsAA9BV8^IN&gsN*h`+eX_&zY@|$n` zLg0{d#-KYjf9r4mEhJZu*-)^SUVZ83(+__1Ui!_y`AsC)s6@wKxJK0G_354TDk@TZ zir=8h-pPchB%{;@;4)!%$0!oDfh4dF8dp(D9CBxv!qdVU`*U1HuFnR&n$FcQ zSKl{tYre7!ma_v%#5ux-S6g04|9qn(3PC(`OzcOr+)){+L)TXfeuv#t55pdimZo{ms|E z`KI{t(|)g%ulf12-ruhw0TD)2z(#X9ckq6uUr?F=`vw!#fR&kJ;hW!*=_;m7lc8OK;bzu*^U;mg>Yd zcRg3z(gp`E_u~3N;#xv_s%=jP40dN5NgZ>i=B_Ci8`wJ-*%qsRZG(mf$AVcyx?mn` zvnTZc3@lVs87lcWMzRn#IWTe;C?iNM1T)7FU>AX=+XZ9F^b(*2or3&B$Dn&mS`RQ5 zNC|@6S*7Y_ligpgqP5v-K;u-Sxf84oI8mY|h}pn!_!Mb_(l1&G(8JC=%I_Rin&yGP zy#T6ExzmQbNQ`98+V3c#@UYq*Kv)+{bar+&jiMrIqnt8SpZ9m`s2E2{Pk&H-YpUc`H@UMTxRC zR=ZeLbxNez?^2 zh%}x%Zw0*jNUQ8e-8U#fQ>yEjc0LNii_Jm0dr&&8ids8Q=czWRhVuj%rA1}>!DEs< zN~gjm5*I+>_K7}N+hY^T?w_TTyML7S2j662@1fJmK)IaM(u`*=-}pVW9^Ml!OTuzk zzmdIP0%!P}!ImlKc#hkkL;M)uE5h(=Dyr%`&N)WR@l2#D{m~7uJb=c1)27sjEz__eKKpqNIqfvj9a&PV zcJrQ2Wx3MBic4Fa$B!P7SW^ng-T(Vn6!vo_i)1Z&)s=v(**|;K^7&2nRP->nKlLi& z{M3&r-R3>ov8RK_c(%lLV&tK~J0e^=lAv^0u#_8V%;$@CIq9jS@*gjdcDA-ng7 zaE3k@y6+^W8tLjyzY|96w|0n|hO-h$*TL@Cld)+K?h3aP!oLQiHpL2YJf!;wrqK!W zsKA7d$)7s^i|>1e~j z@Wufk%c%XLttls&#a}n^%_m=|VJVk>!URd3q<_?GV>kj0+KM)UoqaItNXPoqCVix_ zs%q6;RJ1K&%ydqNf_5q{>Hn!^t=l6Ory|#LF+QLKad)b6@NLzN0hVgCJ z8jRdAOwtj4o6R~(RpkjW)&+@#u}_sO%Jh|b^)NqR>Cxua&#`Sg+V74v+qFy@N^d(E zLrNFr-CgAEH|t{i)TvAKGi|n|y_5iw$>F>cm^k(Yn9h-Q`;#_1q&@=UY;F>r#CN1i zG-w9_Gx$(<;t+ttQLb~?X#rScir}!K2$5grclo{r>5~H>@7i^`kT&JOH5F;% z4gx=Z0wK%kFW4}!iT&x&!Ynbchr=CQ2N=)8Nx>xD8-KdLIKeL5Y17(T!=`wYwxrK! z*EqQY07=o);^P@B_{?Sb7&DCf3KGe~)y4SU@>_rB-z|piGZFrhkG67=(zEv_s!J!%;jQyCluH5vkWID z*B(I+zul~0RI7Em17?r2mRx0Via6t!bTfmK2`IW(oa-vv9ZTArX-Mv>wA-C~5E_}C zI`2NbZ10j*=);-Zs%o@{aTkuOM9b&Bt4xhxdsxZ2I&%VQKjmbKl^Z#Fex)l%4R4iL zbg|Xm6`J-s`gU<^yb=TLB*=&&gbXiyC_z0mveu@>_eya4G2*s- zhxJp+)y+;m4r-?I!_-Cg70isj&V!0NH1DmmSB$l|6Wr&^AT~-E%u}vn+%><(a}l-~ zCDM&(yl`wujBQb(H~-D!EkEV?@-#dz-6`o6fF$lLYZ0H{NQi|PH&N1NJtBO(%VBeV zBv9NmGm(LKnT}D5g-vcB339WR=1Cae%T$czU)Zbqfvadc-xuvGtBD!fjBhx{uaUfp0+RPIWPP#${gkLAIGk#dY^x6lYE=oB)@H@)qEhixE%MzQDMzg zNI#d;00xVxNn!kM{+2b$*DT92^J<5`YlFDjV7?xq_Hz@@5!>vlNd9$sumupTB6(1y zrJA*b+E_`F8WElHmQnXvKW%sfC#t#JJ$!u3?oS&JgHVB$^wpiIt*Ftp+dIVmuLl*O zYUCEBGpe8g<87!K^%u3hgCvA`+Ev2^3-s(5mm|{1HvFpX?;t&c{%9v=7OK6KYza*C z1qn$8gk>-;J)CK!@X=w00ICfHZshbVUNl1`9{0*b%g=TWU=6kan}Lt0EZQ zn>I;B8}btXQCwXoY&WVpdCvj&N(ImG;@*bzv>zHC$8ga$18hDKw4G6wGW1kF;5m(| z@jM*6yBGDX3m+uZ8qu$BqSD3n&cxUdo5s~@q0yo~TiY7a1CKb&z8}6Yw~a46(yeuu z!-jH$jRLyV8AhdSf1P00x3R_XSft-hT`mFA!6#|6ja6(t;TwmP$uk-UP~SQ#wQD;; zMO`9Kj|Vy?|L~!PG+e&N?ts+t_S`(vn+v$J&qkoY8-hcZ0X==0|A6c$)n0**?s*vvlR2;yd73aE|WKQyY zfl2_TjEH)VRgZ?D4umoWp*y^*42>~ZAfoI5?H;|J{rT*mLq{y)A=7Qxr_3#{QLYwz z31M8x^Q{-|MmlGlm|nsFdzaaChym>gY7UM4hEZ!Ms*jy83`#}l!`K37_o1voW6V+P zT-*wMj;+&k5>^dAT_vji313OHk1CaY#Q%c>LlO1_kkx}N zjNrzdI@*OS&OM3Aw1N%AAgT~;AEam=POd7#iBZ!q6EVBHYivqY7h9@oP$Os~vWA_? z7`7Ga{+;AwoSd#oV*~rYeJ2`3&AdFYd39kaZLu9&e_drJx^@WyD*h5Ajw7QHB$#8X3bDX0Wf49zL1_T()7rY+K`v z9fCN(PP#w(pa0La#ZJiokTk0hz;oI$vpE@~fRz=gdfESFk^&GVP^w{q4)ZRUXN+l<7yP=yHHWan=Pqn>OpDcD#IvkC z%LvRTF3S{*&oq>hC>fCjI7G}#1`08i`SXpRoDTu?K~^MUdV&#EUNT&FR$7_@P^;oF zuDdIpm&R3=;Og7Dnx~if*(N>;K4Rg-vt`z9&eHqY`o_ht|7qJ8bt0_{=Is~KAeiqX zjERzd?vI>~H8rL1Jk7mjwg3e^F_n;hM|PH#cD5qT_x^f?&5G^CV}K^^1xl(AO)E+h z1vGi;!MjMt94({iG`~lgP1A<4%!IXVm9~*=q;KEEAZtDw##b~EuXA`JMc772d04W+ z1nHWPh6uXszNnx15H{L@9BIm^qaezB{vnL^kLUK%fAR1A93TWW9JXRdIExKn!TjyS zH(C$75<6J{9U!Tiy7dAoGE}O#j@V~6r>b1%qPz84V2qdNEUZvxdED3zG_b~kbN=BY z)Qp?y&hsyZs{-jmeQTMtF(fxnd}EDVdyZl@-kKSEOzx~@^$M@HK`UyLp-+292x_N5?w-y6{H+Gl8=R3Ok0V4R7V+ZUBU{M-( z4E^iv#|8^K=oSun|Kwv1o*wCk)^H472lR${c8MKs8*QNBKX59J&C&GKvbqzrtD_q= z7#6~Z_`e$&r$11S0{m7{?;jot)Yy?(>r77`JxuePCFoWyjdcU&*fG7%CYEb=UP{x~ zub~wH90Hj3SRfw3Gi<+W*CwF9?B2z{R}Yz12gW&V0v-j8){k2qdoOt*``ZAymJqB@b9Owxh)vm1TAqC`P2B!D z)YUGs6Pq$t)6Vin8hh?}Y|pUQgXZfH_h<)OD(1k6l48`SV;s^Tij=ck;6Ru&gbHL z@r_qOAfOp>`CgJzT+k#2Tqc+jZ&$27&&+17oeW?d zaO%xhyN3Px4l9Rz()t;;BWLWeaOJd%M92wnrkx$2%yYVS*r_5IlTdnysP)q>!>Yz= zkyWHps93cSKDqqVZnKTGO^gW#7Y+iTNuZBM&~A5ugCF^GUU!KS8V`I4YdV{gT2^bK;-6; zbZPr>f*Qc%C#>TV;${6!>4jW_XzQj!K^x3nI)}v5Cr%BU4%HBgi@1>x{m@K1+q>zL z$IFa?%k(;cJbcKxOO-~m88zPJM-CRC&D-#;#F zqd>qIjupe@CxSQgi~b^e0V1QAFp?^uHEkV$jAt37Ku(ZA!o)3@JAEBvo_=5~cwo2X z$@vxe0+h_vLRrqpfnu7AVX1V?DeFNUY!}lDL0QFP9Rwk?Gma%`!)uk*?q&fP#6Ddyx06JSUw#e%X4zfMPzH;rDl+P5*r*FXWU8;l=tsf` z&M0=YiFC{b!bgCQ4-YTX*RNwt&JNr<^Ql@JV$lU)ApGjgyQzbdNxA`Ao-bF1X;<(a zc7$7v-TGx3zxF(m8iAFzQ26{}zBaHeI>VN%+B*gYIKyCji=BkKIFx-q4MB5lj1#09 zD@zOP7Q_CDMUD%$wZ|W(qb;0LvaNp~8$WHolq|d0+G2O+B{axQ0NX5ruAzb0nExwe*AhZE-WI|$N4U_a|=3-Vl)loRCj_Mwzr>Slz4X#UzOVao}T7)ChD%kP3m4v(=Xz`jvckEztZ;VTDpdeb4!XeW?3b;Oln{aHR!x71sUUVA-F++-66JD}GVXVW}BygJwceFQyoN9J`v ztd?~hY!Xva|YM#wjAYR`PLwkeg^a`#5yIihB~q=rHz|?HI@JEZ+xg-%SCq9JpWneZDpb0(+&s zf-o`BKCAtn4bQB6=8~AvQ(Qqn;x0c+LL}BQnUHA73>fL&Kbm=*?tSo4`toacQ%@(v z%hk985gw)_U>gu%=ey;-3KG|5Md`unI;$F1aeDb3zsbgCVBF#~X<#up)Qf1aD;M_+HzeRe(_bK4)O>cJL_{#)`C~QgOH>`~L!hmv zyOiKNad||{EJxZH_6>k?8*L~{rNB9iOp69)D8wa5u>WOlnaSm`oFx;4qu(5jF-Bup z#*=~Lef&#gzZVjlkRrkK0#G&MSk6dE(L-cLzL97A!zW=EfeDt=;?{STU(nM`KTCcD z1(uWLIlloGTuL}_Oq)Leo9aFLuaIz=zhETiXqm~3a+$9xt_*^lO9Bqk;7@y+B7Oj) zX8QI&B_O@{H`*iGtXU@kT7U|^D=)O%0dDym-HiV!sc=km2l>(6p5sX!y|nFbfN@Y z*2_nq_}~0&8yT<1r`cW~1E@aaJh(TfyVD?!M6u9e{&I8^>Z9&~YiZ*7H?b{31&4i1 z|L_>Q54Y0ek3R$mAPv@)0pLBH-|FXyqL$gT73x7%RM5Ar)diR_Cm0}opPzjUtz!or zQmGy!9Th-TOD7U8q~v2$Q`DbbhU{eD+hEa&ROJ$1!&AN8+{$Na+J?u@e&M%;xe3%wtbc0a&oPV{&4e`u3)o2Op%`&`27bxRHi& zkx<4bWr-d8F7%X6yMP`Xzr#^GoJk1XIygjngR7GL?FI6kAT8YeK;O0jf!#=`-0aW` z0NX=t28Btj0Hxb+d;>dQRAG#tp~*=c)ea%?V$tad830dhi_h`l=JPR&>%0JBEU^$2 z=vM|N(mD(K-K|wjPcXUAZx>*30*RHbxBJkRC=Jt#K@WYPRK92E298q4)7sqqkSd=8 zT9v-hAoLAw2k)A?^)k{wz#ZdkeBwIxVW=OGW?cdTm*!@0E3tu8>;?;5`d}50{u>-T zjqu=nf0Z%Am}9Zoa_Oc9e5J9`ql4Ychl~XQ^eObW%EGptGaAcC^<35*;qv6;1wbi4 z&m)zTGS=Y%ZH%olK>hp_RU_a}Rb~|))XE}y8{pSHI2Gf(^t-?NyMN#S|Kjgww}Awq zXs4_9zVo?w_vx?inWtC27vY}$4f4@UL&9b}uS`r}RS*+_MeLr00zQ5$z`B>d`Sma1 zdxL|yLEW9~c+mi}!NirZXq#n1o;lYk@L}?)!pf=&eWKvU2jJ4fK<#EFvb8uD+sZqT zR<+=(NQs6ZP1P4N*4V+cjW_Hw#OIzKt{s=gk}{zKY^-E3y{y{w{;ZAA4q+8F%djMp z`UdLr=ny1N1Na@%?~NXS^HCcZjsgg@#nQ&g$<2IVYcNg|d1pDKuKGR`Tkv^`C9-M>UOUOtUTW%{0NXczF2J`OY(4;&dRiWiL{&B)OdY@P)cl#^Q72Pf+PVRuw+YxOrn* z#J3317Cyr$P$7pzi82U$+(ntCOGTMz2jh^6?GvSlK4=0@Q#ajaS)%O;pZkqp?sFjp z%=U?4i#WM$4PZF?(|+`S|B1SpJrP10<_BJe6pIkHk&?mOzY)cVF z#qkm1nCCiiM=(4Dxmsm0H<;RyQdRj=ML5cq`cAgmH&9V6p$^)|jmSv2Q@}41JKO}7 zE02DRbb|99p`l7HJrV|j697uk$FeFt_x!8r(UV==0d3$T2}haKTi;pwAS}apd$cJ+ zdfh)T2BRIuHN{A%6j^<8{vfJ<+)il9VHMRmgQI}FzBD{Bj7do~d|Ry|+3JNa^bd^( zeJr8A)FE;^c3Lf+_y*&w;Wol7Q9F4zx%^KNdqlAfKGPZPToqr10!LGt_|(GKlo0Xc{CdfP;Kc1ciq~S z(GFc*ee^lJ0tuiJvcsJOPzM1a-fMaW3ehW3|ecE<_ zewj#@M*v+V*R^$K|(!m<%*>38zmq7;qt8cHvZ`#@YiG~4MTcaIxc3wpida$uX zdt>K?}aatG~wa^4-Z2Y6EC>;25*$LYg+kJB5kUQabd%KGH!LQ>)x zRxJ!1jW<0qLWEz!&OrUOtD6gKq}=YVINUX*yQD5zap_M+X-O;KM&rI-R(YzrMCmmK zwsuW*P<|OhMbmL>xW{Vjp?>o~aK*kdZstn>nFF@@ZXq6L=A{eTN%fynD35ILQ0ZP) zlDhQ}LguJ!E+Hq1P6`j0n5x-S(+zQ0v7pP9jS?|^@aXqQr;Vx|%~v4jc5tN+XGs0J zXwVvmsqP|%E(3PfvFUP)vQn#^ZMM(@0NVkmf=9ZFw402I@>Sf?gsqpx|Eevf#s(mc ztq{KTw6qRDwSQQ->IN zzyYm{?o0G@36Lefd}`AZ_l`Tt7XR_fcoL}iA73b2e2ixqVvJE6*rDp5U#M5Ui^sSR zsRb$J%d}*Ync)WGkFic%((u-#R5mGgB~+Bbv_%P_g3L)ozX!mOPMMzZ=nvsX!~-N7 zRNz|7F^g*s#xuW2maHi@Kc#5NlylQEhp7>aa^lhcb7^8@iM zI{*_2Qkk*T%Gio$=6JTn66nd4^WsA_v2~CBCS~Vs1~!GXDz^jGixQAE0l1I8Gi+V} zSjJFQMoQ8w`-XhT%S##&b+;`9ER?rdWRnXTV8YRke2ns|X zB%VT2>l;qpLsKl$*g)fAhjy{$U1Lr7>E)0>p3ZoMb`QvHklO;44&{^$~ zpe@Ubo>7R}4k?xH8?<-Y=M38hE)mdg(bk$Eut^7LQO^KQLy`7;@RJ{gT~Zs;EKo>z z!#~9SjA4S^DZmn-Sc0x9{TfBRstci^3GA>MpcBAm8Q+#rF8~W=!7giHd>Z3&fDqu( z#q3~rN4kFVITo4lod#-Hv=^QSswe+RRCyh2AlQeNUE=rgVjtgQ(DPVmvY_3@^~J>* zM(K-lNCDAspp8%qp{j431J^I{v2|YGAT2a5l>s)3<9m+w(+`+#SzPdHk9SD=6;yw1 z*qE)&-=~jIC$flc5MMFs{w|U+0O%mRP+KhhkR4*LRo3An615imQo6gb!Le(a=X4@{ zJlFX%PK4zLbSN|>COxC}i|a4d0wD!x#whOnefIw9^Hn0_dkM|ecTWodF>)1p>0b~g zi3^wM$B)$3JGZ3bxD{}tSLS_CwqB5r09cq-hsvvi9ej$urBR(Q;RfR7)>C}q08CU9 zo)W)|TB`&x;WUyoICY(E*N8-!BucwF5SQxf!4bbQ&zAbW$WXax(k8Lc21~KD z#^-P_?7&ocwxeq33+AG;KYiI~+oPvzcLplSD&xIe=aBAB5=450#Q0yIFrn?&Xam~0i}D@z^ee zdE5x9%uv4NI5ddHv%ZvB%0NAY-7^s>F1!#1WSmG3DJjf2V2#MhI7IL^z?n>+0hfVY zPTv8Tp@EVV7A9mE;DeX~XH$?7n^_LW8^<{R>o3o=4F^j$y8rKyHCqniT%M|&B9!s&jc2yL0nRp1w}f^x>~|24~K+j&J92p|2- z7%09Z0-~E2Na|6JJcH#^#>PKgq5O99(fB%2{D1BuR(9k`@VbM2{>QAQ1Xbm6F{sRY&wv%d2sgL+6uG?2^#Iy-Z2#F$N5iw zn7;OlUx(gfs=?vvL&E?NBz3(A1b*#T-^4}?(1}yx&6UT{NH-Zxr`tDr*#$k5uHU&! zIQCc&?`62Fm(M{+ARC#WxLR{1sPxJ|9pGK0+1c6j;fL>}U;CA> z$9ZS^>gi=?o?u4Nq~c%={zBy;LxZ?oLbO*_IrtMBD$lsnXG*DeD7LG%!^HPl-DtpA zfmv&?DX?mUL=4s1Jg3RS&^@HqRsG5`J9J>~imU}9mkuth{*=H}@!+htY)_qc7mun) z&tVgE_@}eOI7F4zq#(fbl(xC*@>yw79}_}?tSy3$6=fc7!&QZ38))c#ghcIx)fi-# z2?Ky*0vu>i4{*_epU!8M_$iG#C2h|f+r&^+36@@_2S;$+h>ktZnZnC(?9_AR;pCv4 z$AG(D#PSEI^4bM=9^XP6T_PIyz-04Oggrb|3qZLQM}No^vSGi>BbS51!L?5}Ryo3iRiFU) zl-0GXE8F#m9a77yJE1=L57HG)eqE zotFmTTfEH)n6fV;Z|fK(^*8Qw2{Jg0jN`lUBb@(6p-m*WQ?ySrzNHCuWiuQ_jWY2T ztU(`8?*L^{Q09&hOhm#JZRLCKDWBjh*Dn7XQXvzB3pvkZP62ccMZ3F$FMybR$bGa2 zl8qhZNG%H0w#y^fhyo^bzy~z*2(s09y0L2&M(cNVQ@5-Prjo%{@+i zgCnt+TzL2nl5@ZmgSNTQxBCBz@v7P`(+HO576fAV_So5)A}Ou zpc8-1qK<>s zjZ98*SoRPLXhAw2_a|?n>KhCCYy0;Oj`N-)h-im6fcdhXe)St~!UHZia z1uUN8S1_|cVm3ng&j1?(EKrdLL0j3)J#-C_Ivb`aZJm|}nv5;l_PVxR1MJkEhi0K7 z4~ag23Q2!$Xp%+k7{~hnhM=j^taHHGHuhhx%?@Ovr0b0dp>L6>?N5=P_k*p>hhJfW|>coiTAax{LeftDpLFHJtZe zMZDrUzy0*R&sXDJeJF#rF)JBoq>72|g<~r22LJ(V@vQ|FU28CKR-MFcK??gKoOmbnBSXS*^hi<%NP0Th7D zv(UyThNOzYNED6hBEj8@8Vc&=S1_pEmGpFq$th6?$AdCD{ye%w-&t{REFi6ivK(XB zu5_#f5mHBg0kNLqC=_?#gx6*Wm<}BW0Ygf96ydI~Z`0oR$zkQvf}_ha?X8nb&qb3^ zc`&PWzQDD`0d1nsm~$A#F=1=y^7WMM>PppQi51WI$WW+XmE0+Ycl9qo5>)oH8k2C! zFjQ@N#Kz9{T6!CxDri-FKEJSvsGAiKK=# zV+aXp3(^4tyX&)+G_{p$VfAJl)3RO}d=Ul0CBrpEnWL8}`Mvn!3z;fGB7P*`1Hny| zEP^RJ-(s*(76Fv$m}gvm^w!Mzm5F;B<>5Kc8=n0ye;}BxV7W-8Irm~d^6t`ijE4vt z8RvTC54jSGoMwiF-HP3TsmTO7qjM9Y)gmiGs!e3(a596IjK%y)Q~03 z4p?xFTz?MQqZDcnx{c%v;MI=ANB0p&8gKLM7?9BleY|$_HvNd10zhtX1dzAD4(9P& z#NA|f;w&me46C8(ZO|HeIlcFzA43n$)AY@|s5j9Pu$#}FllR{Ke)f@-5DR2&d3BSZW(8S3Qap}=!i~bl#xW|* za=QD{mjR7v4_0OYT$9)>p+(_Hy+Ndf>l@qfnmu+q?y@MaU`tg=TY#$38?U4l`eF!4 zAkZvrEI)|_-Qx!{s9G5tN6T~$k~x6w88rT2Yc&>}4d|c8_&B!D0Y(!@_3qt!l%}vb z+hV6=ER5OkWIav}wo}W=CbS*OPy2KYPDdYN4}%8iBF%mD<1~5w1_PIa*JtjbYUI#s z7Oj^Uwx6N$8$tE?oyR{+H!vf)M55J7KlZqRsydV|ScEsq2t8Qrd%V-;+(Y^ZTf1)T zV<`)ZN(Z@r#dY<*c=ywOpAGlya}np+_n-A#yf1z~D}M3b->YGZ`{K6<_p_d#P3N=X z<@Zi#^UYhMgC4|ve(y7ck1YNDS$~47U~Z&X+$)NgAcy1&6zr-c>Pe!c7=a;q$*iLao(hC4ls=@-2RR(e~&aLy1 z+bYJMeE=@ie*%`F!Jf2A`N|w$B2$n7NzgUs-e(|t`0gkZSx~aSi$hWXoW|j9!#+hK zrhV1^zW!IRji4+wfXXrIM2E0;4NB#lxMzTqiD7p80Inp;=c@WN_AMiQvmGhR83e(2 zx>L{&Ym@EI9v17)6&bHUvZJ5X7Hv^ym8lOZJ^JeD*PSJmE_N5ed`~qk zk?I)xd#09>Dz{7PI-&=arbmZp+<(c+^Yu4g!JdtN=DD@~g7eVWnhiLFG6F(5mIT1( zxz>(@L3Zve0m6o;&+xDy8DhB4_GN$-qD-V!`1?ULe#p)krFJq8nGhos!1X?=Uda>B z)D`|1b>=pPR4`<2>AJWg3~}Xw5r^>c&fqdhBf>Ksk)9V#^%T~{s1y)+yd|{vUz?Rw zA@~=~7u%Yf0xy^fiSQ15ngj6D9NtlW z&uD0%qMY_^j0eMWZ(I7V$j|=wLzJWW>*wNofXjjIH$nw?!6D22L#P_D)v1nLXHImb z)m;{4n~#x#;qMLu_M7ZNI|j(TkL!kS|M4HDul?$;q<$Q8_8|r723TqD)aN2}1KJ5) z3Q5VxWK{NKe=AHMG(oV9F9BgCXkaT6vnpV0?*2RBR$>&R_3h;aX!~0Fi?`>~m*4yb zQW&Idr)$s!HnXtn&)wLKjzJ8=k+NLFu$~UAV-MQSrl%XXiNCsx$9mLw2e_a)X0c4$ zZ((Tu>aE+U{_sB1e2mD4uQ3;JV2t|i{)0!jj~Iu$0Q?w$|LQyc3@Okn>BZN-0-a^o zIeh5^dh0I99wbt$r~7GZiAC}>I|r9%aa*y3pQ~LYShVx#R9buTN&27umv_=zf9-bq z<)42!RD%aQtI$T=Eo_knyC}DpX43#tICl#U-JO znFpwDRYA5KbCePQP`5z>tki|%j)nNp&F7h$(Eja>7>K|8#tk+u%;VV}%?{GM8+V>d zZ3nCHw_(O8p6L6~G6=9(ke|Ujz{89gHAoD~FRstu0)m^XSMgkco~zG>E8YvBiu>YM z;t@NzAQiE)kE995hrFGcw+tv(ss!Z{WaTvT3)EjsT!D&5BUF*noE+dZ6A@@t!)_*8 z4_lVE*ei7D1mxWlrYSwS#I!SIB2@EY%W&_I$sL-pC~+@oO3*!2RL6I26a(C58|$%1PYMAci|%80z>v)q-7fJYnSC}4w*etqHJTJTjMyQ0kEjQn{Cc! z)4RDMZ~bkxVSrhM;Cfi6Di9~{B?Qeax!Od9M2?9i$kM=n4$>9ZqkYcjQW}VTSp!>$F3{#FV5=7!j}=yEXQwy_otnf>YzwfbssOLe0H%-(vMWXL zz6PC_trU!Yyv-AE3Aev+DCk^%1}qG zGz@vw!?|c3b#ADE=}$QrYp-;-`@c=SSjnA(3S#^)c=9;%Hv{&NoaCX^WM+ime}O|0 zx`>-?YQC*Bf2 z&w==6VuWYt#BVc&{9s@+=Kl=#@|-cKR}M=mGI(El!i8`BzX;U)R7~~UMg-t{wj0Y~ zqfYTpPRg`>jLYBx4bvsBhVA9OVf@Cg_s?FLe&o6u=wEw|z(#J?shJKGBN8*cW^s6v z(|B4QGi=fk-zlvVB>UPwuN<}+kHiEoOaxXTJ{W*MFB;0Q(OwZq=~xsYe=q(m!aGKq zkpUO%D`T;@f z7_e_GJ!Ec9qk6-L89q6Hdz8~{)T-DKot@wenX;9jm2Z9Hb!Z5*vkzM;B+mB7A;7B* zd)Efw!vo5XpkrOk{ZOZ2Tb1V*3pO+c8d4uYd%93BY5%pg@G&;ANT=By=m{O$xKHTs zYe^6P;_Xlg-nxs_3++IIa@3JP^+PwyB~Ehy5}i}OGZwiWERg$agRy(Df&FZ4U=oI} zsl;l!b^AH|R_&&HKY2GTFLBo4tyiJ(o9Sq834`sPbnDJ7j#FZ@4TkLR-CuxK9i$sC zbkY{6TyakACaN?3S}L`W-k+etTUtJ5fex^PMwTnMpujc5;26L(O0}7O=@&;?pra<# zzO4eVVnN@BR8YDu_Zyg)4ukwX=(fJLG=~`+MM}uVg}u$iG%|(F7592{_ngTR&QQC^ z-=nBJW7Nsk+J)0oOh9x2q~U)J`_@w1O+YYbZ~{vAIB}!BQ;F6NS{=YR_G9Pi8UUDs zyT{$s+EiU39Axt<<*Jz z+C3Qc5Ju^jE$mtW9N_dnwvu|lY7NQEF#}a~Vgq0RUJA+B`3cPV4B!FN?`-QwBs+?? zV0^kTNLx!aR(ySkV|O`s%k9Fb9pS7RnzyucGZ|lGHyebDfxWqdNFT;pLVVn%0U+Pc z5qDTVCzAe*b`htS*mZ%4dw`{5j4K5H8p-?LITEM(kyKaD!XCP-`T%<_h|Rqg|RGpRl_UZrT+`0pYfS9Y1>q>;j2+*fE{sbhL*_jHK+6 zRj$O^t>A3{(i0~2%BDwFOt8wKoaCf^R|5`JVk`AJ^*cG?=$s2rnQsGtO{X=~kJ?3P zYjF&k>;&j(E7eieK)nkPJ59gi#1i6HMsl@_!i17@j0FefE{g6eaCXkQCX7TfPIHXeY7RQnM`#^soj8TulImLGU22tcaV z;Jh?_+O)8$Z{^o^@bKnV{C%}_(I+5eHwt;anj&zxOr#x&MtbBydn?{D9k*d$B0=R4 zPJRKA^bMPaa-R0B!y(ckvW{^AfKeW=Pq+O;*lRiS^MK?&(L==&-faD zk(VHaXKI$)ulbbU<#5(HB;`fX_~`eim-XYpqMMG{7Z*i{Z#j+T+Ys&L?h*ABRgN|y zZV1Z_8i|sw>Bq+$KiY+Gs`jEgxR1>N{t`s#u)r9d4Ieq7Qf13I(+tSTDsGnGLjbDEiyR6;x z-EaL#dj6GHV6^SnTaH6>53wogLds4_n0(XN3hC!*AA6$p5N`Ii6pol4&sv@C>)fG#SO_6%Kso@D!0R*o<^l{cB&Xi{jGoyQBQgz0f% z4ew>%+Xr5&mPZ>;`5w;PW7muuuuvyy4(-hlp#v^oyA0@>DCaP6vjF4Ar>`*e5J0!_ zAgmEaf`;7Qri_?__YuUzDs@25BHrMmxpabnHa>BgK%bw0t$GmQYi4KeLhG?UBtlvY z0Bonuue|jYguKyo|D$(U1A5qUNY6UxQwOo9?%zxIKAKCM36PyjlhF-@A0|~TRnM6z zl=^E#b1$cZ)dds*;A?@pT)cE8wy4=hyVN%f03YrB4ql%HXnOw$q9wxS=GroCevP_z zr=R}tchj5S`a6K=Q=0$ugLIBC8?j{%p*-5abCnPv6y7@sPz&3YUb}T3cnnq=v}|2H z!?YhXu0)Vk#?U@ik$$w4eK-pkz*}r@KVc*;z48@E9zb_YwY^}<2B^p5d!In3rEvfM z@vqbZ%<&eTh#wNaAQueej1GC$`ZG%?OdMR3pt$gGKcupFKy!|am1{tjxwxH-xX6HT zgO|1l8!6(j9If9HyH0G{0;1K*6hni-7?)b23!Z&&7Y<)cPha|-rN7I5OlWRc935c( zIq=&!=dIYh(MqvcQ>3&7Gc$x2iEhAKm;u#}y?2j&xAdSO>rM*YwvyGqqn8QH;_2q4 zod>xzN+7xo@DPWc3|u&ZIs;g3j&9&G20J^L5Xm>%fp-}&@SrHm#BUbk&hu+c z9-Zt3wMCw?Re>R++$SvFYKnlJr}<6rW=Ks#70OJ0HuoXSLIIK4HWC-&+HJFUsE#M! zLu{Jn(F2$iJ`b}UETZiVA?$?6SRe1Z&5hvI0^2`CeaK&PXaOcrQzc2#28Hc_*gk^6 z%ELf(pat8+71}PWX@7w?JmekqJ;F1fnif#J%HCIM>r51p-nn)N5iGEJt?j@J?z5*> zbtp~Leiygw-{zU~u|Rc-jiZ9ANNa+9>)_f9Vk#KjV5MTQdhx8;tvyN$$A4c%mjf*N z)kVJ!j3g03!-M8vKQR8z!{1!Qv@vlzb&pM@_9470k$~G_VB65t8COgZaRAKZmPUbpZl1v zK`@0+rf^&%KeEV7io770FTZ`Y2luT@3>UBSXTALn66bxMx44neFRwMP`)yi}c!qB- zWgo3)Ov5FWHhyP)N1kXk9b0V(3f}C#)SiZJ-b}|}Q`Ua`A=-jwUW@_D5Ch%JttVgc zT0Z>kN2?r`$>e@muV898wLYee<~6-(`1ab9vU3vcW#5y)wrJ&Ha@)`Qj(hVr55D5t ze0*2r=?RDLj5?B!G$Lc_x#4yG6sj<8bFK!Jio&Sia>96psV3vdhL2$K$-C9wF?^ck z3kHh{)Y)iP(7AKH?mz-^P-i?>+dfUD>OUs`tWX)9ls;NOK6YVXz+?7;J31!D)!H(6 zQ?%R$#_S~mcu#>a2neGG2uBK3nwE0xS96Fqh1rwdc;!prBEbsLjRL3-cGnT0deQ)z zlx-Y?&R)ENH(y(NfHwIonxfETGanv5xQ~D(90M&0L5~HKk4;TcZyE}a^&tY18K zXnU5(vlHk5k>J6Kl^ftl_3qnS14aOi#MIY=W@mkK25-tUgoh#6CS}}4V^$(G%-Ey> zKMnJuwhK%d+9cPaez9uj&rogxL{r`YXgHh21dbPrXIh$>Nf)kNL7TsgzyuwlV1qad zZEh?RP<0n3?HrbfQkulXc!&vY`pN~;9j3S6`DuFj)t7=s8A<)+x4r~$dE^up)+!LhRDp+z*T#LChfL0TV1 z3@|-DSBSrOM1a<%*%|tMJKcKqtI!R?+iWefj)4Kg3@f01ZSesCS$l&*Zjemk5$COM@2Dnk-aBnB^tX#Pa|jIw3pNzUYhfDXeKH46 z2np@yxrce7Q-P^Ez?KbxfKuwY*Mr2NN_q=vt`4q13|F2}mj|F(A{@e3$NwwhC=n

KgCI|gPh( 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%0A0Q|ZlwL=1=1$t>>=B>Rghi?z+S%6HPE6TG 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

*&9cR#AkN5~+*wTu7S{!$Dam>n+>a(pf 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 z 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

%q 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

&Y{_<_&lazeZIcS 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

HN~$6&E$%?tVnm?zA& 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%0AV&j@ocd(x-~AeA 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

8CDT;DX_zwQ198&~-Q>gT*=8s&WU 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 Uk$MIx`~Uy|07*qoM6N<$f=vK0N&o-= literal 0 HcmV?d00001 diff --git a/docs/source/integrations/index.rst b/docs/source/integrations/index.rst index a6d688d440..dc18027202 100644 --- a/docs/source/integrations/index.rst +++ b/docs/source/integrations/index.rst @@ -5,9 +5,8 @@ FiftyOne Integrations .. default-role:: code -FiftyOne is designed to fit into your existing workflows as easily as possible. -To this end, FiftyOne has integrated with various existing datasets, tools, and -services that you are likely using. +FiftyOne integrates naturally with other ML tools that you know and love. Click +on the cards below to see how! .. Integrations cards section ----------------------------------------------------- @@ -35,38 +34,46 @@ services that you are likely using. .. Add tutorial cards below .. customcarditem:: - :header: PyTorch Lightning Flash - :description: Flash now supports FiftyOne datasets letting you train and evaluate Flash tasks on your FiftyOne datasets in minimal lines of code. + :header: Lightning Flash + :description: Train Flash models on FiftyOne datasets and use the FiftyOne App to visualize and improve your Flash models, all with just a few lines of code. :link: lightning_flash.html - :image: https://raw.githubusercontent.com/PyTorchLightning/lightning-flash/master/docs/source/_static/images/logo.svg + :image: ../_static/images/integrations/lightning_flash.png :tags: Model-Training,Model-Evaluation -.. +.. Upcoming integrations + .. customcarditem:: - :header: Google's Open Images Dataset - :description: FiftyOne is the easiest source for downloading and exploring Open Images. + :header: Open Images Dataset + :description: FiftyOne is the recommended tool for downloading and exploring Google's Open Images Dataset. :link: ../user_guide/dataset_zoo/datasets.html#dataset-zoo-open-images-v6 + :image: ../_static/images/integrations/open_images.png :tags: Dataset - + .. customcarditem:: - :header: CVAT - :description: Import and export image and video datasets in CVAT format. - :link: ../user_guide/dataset_creation/datasets.html#cvatimagedataset - :tags: Annotation - + :header: COCO Dataset + :description: FiftyOne is the recommended tool for downloading and exploring the COCO Dataset. + :link: ../user_guide/dataset_zoo/datasets.html#dataset-zoo-coco-2017 + :tags: Dataset + .. customcarditem:: - :header: Labelbox - :description: Download and upload your data directly to Labelbox. - :link: ../api/fiftyone.utils.labelbox.html + :header: CVAT + :description: Use our CVAT integration to easily annotate and edit your FiftyOne datasets. + :link: ../user_guide/dataset_creation/datasets.html#cvatimagedataset + :tags: Annotation + + .. customcarditem:: + :header: Labelbox + :description: Use our Labelbox integration to easily annotate and edit your FiftyOne datasets. + :link: ../api/fiftyone.utils.labelbox.html :image: https://voxel51.com/images/integrations/labelbox-128.png - :tags: Annotation - + :tags: Annotation + .. customcarditem:: - :header: Scale AI - :description: Import and export labels to and from the Scale AI format. - :link: ../api/fiftyone.utils.scale.html + :header: Scale AI + :description: Use our Scale integration to easily annotate and edit your FiftyOne datasets. + :link: ../api/fiftyone.utils.scale.html :image: https://voxel51.com/images/integrations/scale-128.png - :tags: Annotation + :tags: Annotation .. End of integrations cards @@ -86,4 +93,4 @@ services that you are likely using. :maxdepth: 1 :hidden: - PyTorch Lightning Flash + Lightning Flash diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index aaf8fdcdb5..e46bfc2eee 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -1,221 +1,222 @@ -.. _flash: +.. _lightning-flash: -PyTorch Lightning Flash Integration -=================================== +Lightning Flash Integration +=========================== .. default-role:: code -We've collaborated with the -`PyTorch Lightning Flash `_ -team to make it easy to train :class:`Flash tasks ` -on your :ref:`FiftyOne datasets ` and add predictions from Flash -models to your datasets for visualization and analysis, all -in just a few lines of code. +We've collaborated with `Grid AI `_, the team behind the +amazing `PyTorch Lightning `_ +and `Lightning Flash `_ +projects, to make it easy to train +:class:`Flash tasks ` on your +:ref:`FiftyOne datasets ` and add predictions from your Flash +models to your FiftyOne datasets for visualization and analysis, all in just a +few lines of code! The following Flash tasks are supported natively by FiftyOne: -- :ref:`Image Classification ` -- :ref:`Image Object Detection ` -- :ref:`Image Semantic Segmentation ` -- :ref:`Image Embedding ` -- :ref:`Video Classification ` +- :ref:`Image classification ` +- :ref:`Object detection ` +- :ref:`Semantic segmentation ` +- :ref:`Image embeddings ` +- :ref:`Video classification ` -Support for future Flash tasks is on the horizon. +.. note:: + + As Lightning Flash adds support for additional computer vision tasks, we'll + roll out native support for them in FiftyOne via this integration! -.. _install-flash: +.. _flash-install: Setup _____ -In order to utilize PyTorch Lightning Flash, you need to -`install the tool `_: +In order to use the Lightning Flash integration, you'll need to +`install it `_: .. code-block:: shell pip install lightning-flash - .. _flash-model-training: Model training ______________ -You can easily train or finetune a Flash -:class:`Task` -on your +You can easily train or finetune a Flash +:class:`Task` on your :ref:`FiftyOne datasets ` with just a few lines of code using -Flash's builtin +Flash's builtin :meth:`DataModule.from_fiftyone() ` -method, which is implemented for each of the Flash tasks shown below: +method, which is implemented for each of the Flash tasks shown below. .. tabs:: .. tab:: Image classification - This example trains a Flash image classification task on a FiftyOne dataset - with |Classifications| ground truth labels. - + The example below finetunes a Flash image classification task on a + FiftyOne dataset with |Classification| ground truth labels: + .. code-block:: python :linenos: from itertools import chain - - import fiftyone as fo - import fiftyone.zoo as foz - + from flash import Trainer from flash.core.classification import FiftyOneLabels from flash.core.finetuning import FreezeUnfreeze from flash.image import ImageClassificationData, ImageClassifier - + + import fiftyone as fo + import fiftyone.zoo as foz + # 1. Load your FiftyOne dataset - # Here we use views into one dataset, but you can also create a - # different dataset for each split - dataset = foz.load_zoo_dataset("cifar10", split="test", max_samples=40) - train_dataset = dataset.shuffle(seed=51)[:20] - test_dataset = dataset.shuffle(seed=51)[20:25] - val_dataset = dataset.shuffle(seed=51)[25:30] - predict_dataset = dataset.shuffle(seed=51)[30:40] - + + dataset = foz.load_zoo_dataset("cifar10", split="test", max_samples=40, shuffle=True) + + # Here we use views into one dataset, but you can also use a different dataset + # for each split + train_dataset = dataset[:20] + test_dataset = dataset[20:25] + val_dataset = dataset[25:30] + predict_dataset = dataset[30:40] + # 2. Load the Datamodule datamodule = ImageClassificationData.from_fiftyone( - train_dataset = train_dataset, - test_dataset = test_dataset, - val_dataset = val_dataset, - predict_dataset = predict_dataset, - label_field = "ground_truth", + train_dataset=train_dataset, + test_dataset=test_dataset, + val_dataset=val_dataset, + predict_dataset=predict_dataset, + label_field="ground_truth", batch_size=4, num_workers=4, ) - + # 3. Build the model model = ImageClassifier( - backbone="resnet18", - num_classes=datamodule.num_classes, + backbone="resnet18", + num_classes=datamodule.num_classes, serializer=FiftyOneLabels(), ) - + # 4. Create the trainer - trainer = Trainer( - max_epochs=1, - limit_train_batches=1, - limit_val_batches=1, - ) - + trainer = Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + # 5. Finetune the model trainer.finetune( - model, + model, datamodule=datamodule, strategy=FreezeUnfreeze(unfreeze_epoch=1), ) - + # 6. Save it! trainer.save_checkpoint("image_classification_model.pt") - + # 7. Generate predictions + model = ImageClassifier.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" ) model.serializer = FiftyOneLabels() predictions = trainer.predict(model, datamodule=datamodule) - predictions = list(chain.from_iterable(predictions)) # flatten batches - - # 8. Add predictions to dataset and analyze + + # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) + + # 8. Analyze predictions in the App session = fo.launch_app(view=predict_dataset) - - .. tab:: Image object detection + .. tab:: Object detection + + This example below finetunes a Flash object detection task on a + FiftyOne dataset with |Detections| ground truth labels: - This example trains a Flash object detection task on a FiftyOne dataset - with |Detections| ground truth labels. - .. code-block:: python :linenos: from itertools import chain - - import fiftyone as fo - import fiftyone.zoo as foz - + from flash import Trainer from flash.image import ObjectDetectionData, ObjectDetector from flash.image.detection.serialization import FiftyOneDetectionLabels - + + import fiftyone as fo + import fiftyone.zoo as foz + # 1. Load your FiftyOne dataset - # Here we use views into one dataset, but you can also create a - # different dataset for each split - dataset = foz.load_zoo_dataset("quickstart", max_samples=40) - train_dataset = dataset.shuffle(seed=51)[:20] - test_dataset = dataset.shuffle(seed=51)[20:25] - val_dataset = dataset.shuffle(seed=51)[25:30] - predict_dataset = dataset.shuffle(seed=51)[30:40] - + + dataset = foz.load_zoo_dataset("quickstart", max_samples=40, shuffle=True) + + # Here we use views into one dataset, but you can also use a different dataset + # for each split + train_dataset = dataset[:20] + test_dataset = dataset[20:25] + val_dataset = dataset[25:30] + predict_dataset = dataset[30:40] + # 2. Load the Datamodule datamodule = ObjectDetectionData.from_fiftyone( - train_dataset = train_dataset, - test_dataset = test_dataset, - val_dataset = val_dataset, - predict_dataset = predict_dataset, - label_field = "ground_truth", + train_dataset=train_dataset, + test_dataset=test_dataset, + val_dataset=val_dataset, + predict_dataset=predict_dataset, + label_field="ground_truth", batch_size=4, num_workers=4, ) - + # 3. Build the model model = ObjectDetector( - model="retinanet", + model="retinanet", num_classes=datamodule.num_classes, serializer=FiftyOneDetectionLabels(), ) - + # 4. Create the trainer - trainer = Trainer( - max_epochs=1, - limit_train_batches=1, - limit_val_batches=1, - ) - + trainer = Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) + # 5. Finetune the model trainer.finetune(model, datamodule=datamodule) - + # 6. Save it! trainer.save_checkpoint("object_detection_model.pt") - + # 7. Generate predictions + model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) model.serializer = FiftyOneDetectionLabels() predictions = trainer.predict(model, datamodule=datamodule) - predictions = list(chain.from_iterable(predictions)) # flatten batches - - # 8. Add predictions to dataset and analyze + + # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) + + # 8. Analyze predictions in the App session = fo.launch_app(view=predict_dataset) + .. tab:: Semantic segmentation - .. tab:: Image semantic segmentation + This example below finetunes a Flash semantic segmentation task on a + FiftyOne dataset with |Segmentation| ground truth labels: - This example trains a Flash semantic segmentation task on a FiftyOne dataset - with |Segmentation| ground truth labels. - .. code-block:: python :linenos: - + from itertools import chain - import fiftyone as fo - import fiftyone.zoo as foz - from flash import Trainer from flash.core.data.utils import download_data from flash.image import SemanticSegmentation, SemanticSegmentationData - from flash.image.segmentation.serialization import FiftyOneSegmentationLabels + from flash.image.segmentation.serialization import FiftyOneSegmentationLabels + + import fiftyone as fo + import fiftyone.zoo as foz # 1. Load your FiftyOne dataset # This is a Dataset with Semantic Segmentation Labels generated via CARLA @@ -223,120 +224,123 @@ method, which is implemented for each of the Flash tasks shown below: # The data was generated as part of the Lyft Udacity Challenge. # More info here: https://www.kaggle.com/kumaresanmanickavelu/lyft-udacity-challenge + download_data( - "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", - "data/" + "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", + "data/" ) - # Here we use views into one dataset, but you can also create a - # different dataset for each split dataset = fo.Dataset.from_dir( - dataset_dir = "data", - data_path = "CameraRGB", - labels_path = "CameraSeg", - max_samples = 40, - force_grayscale = True, + dataset_dir="data", dataset_type=fo.types.ImageSegmentationDirectory, + data_path="CameraRGB", + labels_path="CameraSeg", + force_grayscale=True, + max_samples=40, + shuffle=True, ) - train_dataset = dataset.shuffle(seed=51)[:20] - test_dataset = dataset.shuffle(seed=51)[20:25] - val_dataset = dataset.shuffle(seed=51)[25:30] - predict_dataset = dataset.shuffle(seed=51)[30:40] - + + # Here we use views into one dataset, but you can also create a + # different dataset for each split + train_dataset = dataset[:20] + test_dataset = dataset[20:25] + val_dataset = dataset[25:30] + predict_dataset = dataset[30:40] + # 2. Load the Datamodule datamodule = SemanticSegmentationData.from_fiftyone( - train_dataset = train_dataset, - test_dataset = test_dataset, - val_dataset = val_dataset, - predict_dataset = predict_dataset, - label_field = "ground_truth", + train_dataset=train_dataset, + test_dataset=test_dataset, + val_dataset=val_dataset, + predict_dataset=predict_dataset, + label_field="ground_truth", batch_size=4, num_workers=4, ) - + # 3. Build the model model = SemanticSegmentation( - backbone="fcn_resnet50", + backbone="fcn_resnet50", num_classes=datamodule.num_classes, serializer=FiftyOneSegmentationLabels(), ) - + # 4. Create the trainer - trainer = Trainer( - max_epochs=1, - fast_dev_run=1, - ) - + trainer = Trainer(max_epochs=1, fast_dev_run=1) + # 5. Finetune the model trainer.finetune(model, datamodule=datamodule, strategy="freeze") - + # 6. Save it! trainer.save_checkpoint("semantic_segmentation_model.pt") - + # 7. Generate predictions + model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" ) model.serializer = FiftyOneSegmentationLabels() predictions = trainer.predict(model, datamodule=datamodule) - predictions = list(chain.from_iterable(predictions)) # flatten batches - - # 8. Add predictions to dataset and analyze + + # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) - session = fo.launch_app(view=predict_dataset) + # 8. Analyze predictions in the App + session = fo.launch_app(view=predict_dataset) .. tab:: Video classification - This example trains a Flash video classification task on a FiftyOne dataset - with |Classifications| ground truth labels. - + The example below finetunes a Flash video classification task on a + FiftyOne dataset with |Classification| ground truth labels: + .. code-block:: python :linenos: from torch.utils.data.sampler import RandomSampler - + import flash from flash.core.classification import FiftyOneLabels from flash.core.data.utils import download_data from flash.video import VideoClassificationData, VideoClassifier - + import fiftyone as fo - + # 1. Download data download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip") - + # 2. Load data into FiftyOne - # Here we use different datasets for each split, but you can also - # use views into the same dataset + # Here we use different datasets for each split, but you can also use views + # into the same dataset + train_dataset = fo.Dataset.from_dir( "data/kinetics/train", fo.types.VideoClassificationDirectoryTree, label_field="ground_truth", max_samples=5, ) - + val_dataset = fo.Dataset.from_dir( "data/kinetics/val", fo.types.VideoClassificationDirectoryTree, label_field="ground_truth", max_samples=5, ) - + predict_dataset = fo.Dataset.from_dir( "data/kinetics/predict", fo.types.VideoDirectory, max_samples=5, ) - + # 3. Finetune a model + classifier = VideoClassifier.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/video_classification.pt", pretrained=False, ) - + datamodule = VideoClassificationData.from_fiftyone( train_dataset=train_dataset, val_dataset=val_dataset, @@ -349,99 +353,101 @@ method, which is implemented for each of the Flash tasks shown below: decode_audio=False, num_workers=8, ) - + trainer = flash.Trainer(max_epochs=1, fast_dev_run=1) trainer.finetune(classifier, datamodule=datamodule) trainer.save_checkpoint("video_classification.pt") - + # 4. Predict from checkpoint + classifier = VideoClassifier.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/video_classification.pt", pretrained=False, ) - classifier.serializer = FiftyOneLabels() - + filepaths = predict_dataset.values("filepath") predictions = classifier.predict(filepaths) - + + # Add predictions to FiftyOne dataset predict_dataset.set_values("predictions", predictions) - + # 5. Visualize in FiftyOne App session = fo.launch_app(predict_dataset) +.. _flash-model-predictions: -.. _adding-model-predictions: - -Adding model predictions -________________________ - -Once you have a trained Flash task, there are a couple of ways that -you can use the FiftyOne integrations to -add generate and add model predictions to your |Dataset| or |DatasetView|. - +Model predictions +_________________ -Apply model ------------ +Once you have a trained Flash task, you can add model predictions to a FiftyOne +|Dataset| or |DatasetView| in just a few lines of code using either of the +patterns below. -The easiest way to generate predictions on an existing |Dataset| or |DatasetView| is -to use the :meth:`apply_model() ` -function, passing in your Flash model. Behind the scenes, FiftyOne will -construct the appropriate Flash -:class:`Trainer() ` and use it to perform -inference to generate the predictions. These -:class:`Trainers ` support distributed and -parallel inference, so you can pass additional arguments like `num_gpus=32` -into :meth:`apply_model() ` -and they will be passed along when constructing the -:class:`Trainer `. +Applying Flash models to FiftyOne datasets +------------------------------------------ +The easiest way to generate predictions on a FiftyOne |Dataset| or +|DatasetView| with a Flash model is to use the +builtin :meth:`apply_model() ` +function, which natively accepts Flash models of any +:ref:`supported type `. +Behind the scenes, FiftyOne will construct the appropriate Flash +:class:`Trainer ` and FiftyOne-style +:class:`Serializer ` to perform the +inference and output the predictions as FiftyOne |Label| instances that are +added to your dataset. .. code-block:: python :linenos: + from flash.image import ObjectDetector + import fiftyone as fo import fiftyone.zoo as foz - from flash.image import ObjectDetector - # Load your dataset dataset = foz.load_zoo_dataset("quickstart", max_samples=5) - # Load the finetuned model + # Load your Flash model model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) - # Predict + # Predict! dataset.apply_model(model, label_field="flash_predictions") # Visualize session = fo.launch_app(dataset) +.. note:: + + When performing inference with Flash models, you can pass additional + arguments like ``num_gpus=8`` to + :meth:`apply_model() `, + which are used to initialize the Flash + :class:`Trainer ` to configure + distributed and/or parallelized inference per your needs! Manually adding predictions --------------------------- -In some cases, you may have loaded your FiftyOne dataset into a Flash -:class:`DataModule ` -already and want to generate predictions with those. - -Flash models support different -:class:`serializers ` -, objects that reformat the output of -models. Using -:ref:`FiftyOne serializers `, you can return predictions as FiftyOne -|Label| objects directly. All you need to do is set the model serializer to the -corresponding FiftyOne serializer for your task and generate predictions. -FiftyOne serializers also support a :class:`return_filepath ` -flag that will return the corresponding filepath of every sample along -with the |Label| objects. +If you've already loaded your datasets into Flash +:class:`DataModules ` without +using FiftyOne, you can still easily use FiftyOne to analyze your model's +predictions by swapping out your model's default +:class:`Serializer ` for the +:ref:`FiftyOne-style serializer ` of the appropriate +type. + +Flash models with FiftyOne serializers will directly return predictions as +|Label| objects that you can easily add to your FiftyOne datasets via +:meth:`set_values `. .. code-block:: python :linenos: - + from itertools import chain import fiftyone as fo @@ -458,15 +464,12 @@ with the |Label| objects. model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) - model.serializer = FiftyOneDetectionLabels() + model.serializer = FiftyOneDetectionLabels() - # Option 1: Predict with trainer (Supports distributed inference) - datamodule = ObjectDetectionData.from_fiftyone( - predict_dataset=dataset, - ) - trainer = Trainer() + # Option 1: Predict with trainer (supports distributed inference) + datamodule = ObjectDetectionData.from_fiftyone(predict_dataset=dataset) + trainer = Trainer() predictions = trainer.predict(model, datamodule=datamodule) - predictions = list(chain.from_iterable(predictions)) # flatten batches # Option 2: Predict with model @@ -476,76 +479,70 @@ with the |Label| objects. # Add predictions to dataset dataset.set_values("flash_predictions", predictions) - # Visualize + # Visualize in the App session = fo.launch_app(dataset) +.. note:: -Image Embeddings -________________ + FiftyOne serializers support an optional + :class:`return_filepath ` + flag that supports returning dicts that contain both the |Label| objects + and the ``filepath`` of the associated media. -Lightning Flash has a -:ref:`task that generates image embeddings ` -in the form of a vector of image features. When used together with the -:ref:`dimensionality reduction` and -:ref:`interactive plotting` -capabilities in the FiftyOne, you can accomplish -powerful workflows like clustering, similarity search, pre-annotation, and more -in only a few lines of code. +.. _flash-image-embeddings: +Image embeddings +________________ + +If you use Lightning Flash's +:ref:`image embeddings tasks ` to generate feature +vectors for your image datasets, then use can easily leverage FiftyOne's +:ref:`dimensionality reduction ` and +:ref:`interactive plotting ` capabilities to visualize your +Flash model's embeddings and execute powerful workflows like +:doc:`cluster analysis <../tutorials/image_embeddings>` and +:ref:`similarity search `, all in only a few lines of code! .. code-block:: python :linenos: import numpy as np import torch - + from flash.core.data.utils import download_data from flash.image import ImageEmbedder - + import fiftyone as fo import fiftyone.brain as fob - + # 1 Download data download_data( "https://pl-flash-data.s3.amazonaws.com/hymenoptera_data.zip" ) - + # 2 Load data into FiftyOne dataset = fo.Dataset.from_dir( "data/hymenoptera_data/test/", fo.types.ImageClassificationDirectoryTree, ) - + # 3 Load model embedder = ImageEmbedder(backbone="swav-imagenet", embedding_dim=128) - + # 4 Generate embeddings filepaths = dataset.values("filepath") embeddings = np.stack(embedder.predict(filepaths)) - - # 5 Visualize in FiftyOne App - results = fob.compute_visualization(dataset, embeddings=embeddings) - + + # 5 Visualize images session = fo.launch_app(dataset) - + + # 6 Visualize image embeddings + + results = fob.compute_visualization(dataset, embeddings=embeddings) + plot = results.visualize(labels="ground_truth.label") plot.show() - .. image:: ../images/integrations/flash_embeddings.png :alt: embeddings_example :align: center - - -.. note:: - - Interactive plots are currently only supported in Jupyter notebooks. In the - meantime, you can still use FiftyOne's plotting features in other - environments, but you must manually call - :meth:`plot.show() ` to update the - state of a plot to match the state of a connected |Session|, and any - callbacks that would normally be triggered in response to interacting with - a plot will not be triggered. - - See :ref:`this section ` for more information. - From 4bab0ddbfa599d9fd689f0f6c4fe7efecf27d1e7 Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 20:21:27 -0400 Subject: [PATCH 35/52] tweaking docs --- docs/source/integrations/lightning_flash.rst | 32 +++++++++++--------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index e46bfc2eee..5e72005dee 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -19,8 +19,8 @@ The following Flash tasks are supported natively by FiftyOne: - :ref:`Image classification ` - :ref:`Object detection ` - :ref:`Semantic segmentation ` -- :ref:`Image embeddings ` - :ref:`Video classification ` +- :ref:`Image embeddings ` .. note:: @@ -33,7 +33,7 @@ Setup _____ In order to use the Lightning Flash integration, you'll need to -`install it `_: +`install Flash `_: .. code-block:: shell @@ -55,7 +55,8 @@ method, which is implemented for each of the Flash tasks shown below. .. tab:: Image classification - The example below finetunes a Flash image classification task on a + The example below finetunes a Flash + :ref:`image classification task ` on a FiftyOne dataset with |Classification| ground truth labels: .. code-block:: python @@ -131,8 +132,9 @@ method, which is implemented for each of the Flash tasks shown below. .. tab:: Object detection - This example below finetunes a Flash object detection task on a - FiftyOne dataset with |Detections| ground truth labels: + This example below finetunes a Flash + :ref:`object detection task ` on a FiftyOne + dataset with |Detections| ground truth labels: .. code-block:: python :linenos: @@ -202,7 +204,8 @@ method, which is implemented for each of the Flash tasks shown below. .. tab:: Semantic segmentation - This example below finetunes a Flash semantic segmentation task on a + This example below finetunes a Flash + :ref:`semantic segmentation task ` on a FiftyOne dataset with |Segmentation| ground truth labels: .. code-block:: python @@ -292,7 +295,8 @@ method, which is implemented for each of the Flash tasks shown below. .. tab:: Video classification - The example below finetunes a Flash video classification task on a + The example below finetunes a Flash + :ref:`video classification task ` on a FiftyOne dataset with |Classification| ground truth labels: .. code-block:: python @@ -394,10 +398,10 @@ function, which natively accepts Flash models of any :ref:`supported type `. Behind the scenes, FiftyOne will construct the appropriate Flash -:class:`Trainer ` and FiftyOne-style +:mod:`Trainer ` and FiftyOne-style :class:`Serializer ` to perform the -inference and output the predictions as FiftyOne |Label| instances that are -added to your dataset. +inference and output the predictions as |Label| instances that are added to +your dataset. .. code-block:: python :linenos: @@ -424,11 +428,11 @@ added to your dataset. .. note:: When performing inference with Flash models, you can pass additional - arguments like ``num_gpus=8`` to + arguments like ``gpus=8`` to :meth:`apply_model() `, which are used to initialize the Flash - :class:`Trainer ` to configure - distributed and/or parallelized inference per your needs! + :mod:`Trainer ` to configure distributed and/or + parallelized inference! Manually adding predictions --------------------------- @@ -443,7 +447,7 @@ type. Flash models with FiftyOne serializers will directly return predictions as |Label| objects that you can easily add to your FiftyOne datasets via -:meth:`set_values `. +:meth:`set_values() `. .. code-block:: python :linenos: From b7485321b5f715ff033e6dfb619269f9f5ca5b51 Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 21:05:25 -0400 Subject: [PATCH 36/52] clarifying checkpoint usage --- docs/source/integrations/lightning_flash.rst | 30 ++++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 5e72005dee..617e9fe844 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -74,7 +74,9 @@ method, which is implemented for each of the Flash tasks shown below. # 1. Load your FiftyOne dataset - dataset = foz.load_zoo_dataset("cifar10", split="test", max_samples=40, shuffle=True) + dataset = foz.load_zoo_dataset( + "cifar10", split="test", max_samples=40, shuffle=True + ) # Here we use views into one dataset, but you can also use a different dataset # for each split @@ -116,8 +118,9 @@ method, which is implemented for each of the Flash tasks shown below. # 7. Generate predictions + # For example purposes, we'll load a pretrained checkpoint model = ImageClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" + "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" ) model.serializer = FiftyOneLabels() @@ -188,6 +191,7 @@ method, which is implemented for each of the Flash tasks shown below. # 7. Generate predictions + # For example purposes, we'll load a pretrained checkpoint model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) @@ -279,8 +283,9 @@ method, which is implemented for each of the Flash tasks shown below. # 7. Generate predictions + # For example purposes, we'll load a pretrained checkpoint model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" + "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" ) model.serializer = FiftyOneSegmentationLabels() @@ -341,8 +346,8 @@ method, which is implemented for each of the Flash tasks shown below. # 3. Finetune a model classifier = VideoClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/video_classification.pt", - pretrained=False, + "https://flash-weights.s3.amazonaws.com/video_classification.pt", + pretrained=False, ) datamodule = VideoClassificationData.from_fiftyone( @@ -364,9 +369,10 @@ method, which is implemented for each of the Flash tasks shown below. # 4. Predict from checkpoint + # For example purposes, we'll load a pretrained checkpoint classifier = VideoClassifier.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/video_classification.pt", - pretrained=False, + "https://flash-weights.s3.amazonaws.com/video_classification.pt", + pretrained=False, ) classifier.serializer = FiftyOneLabels() @@ -416,7 +422,7 @@ your dataset. # Load your Flash model model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) # Predict! @@ -464,19 +470,19 @@ Flash models with FiftyOne serializers will directly return predictions as # Load your dataset dataset = foz.load_zoo_dataset("quickstart", max_samples=5) - # Load the finetuned model + # Load your Flash model model = ObjectDetector.load_from_checkpoint( - "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) model.serializer = FiftyOneDetectionLabels() - # Option 1: Predict with trainer (supports distributed inference) + # Option 1: predict with trainer (supports distributed inference) datamodule = ObjectDetectionData.from_fiftyone(predict_dataset=dataset) trainer = Trainer() predictions = trainer.predict(model, datamodule=datamodule) predictions = list(chain.from_iterable(predictions)) # flatten batches - # Option 2: Predict with model + # Option 2: predict with model filepaths = dataset.values("filepath") predictions = model.predict(filepaths) From 86fa354b7889f7ea3a5d5d0321b60a711ae1f896 Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 21:12:58 -0400 Subject: [PATCH 37/52] tweaks --- docs/source/integrations/lightning_flash.rst | 79 +++++++++----------- 1 file changed, 36 insertions(+), 43 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 617e9fe844..2491070d79 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -72,7 +72,7 @@ method, which is implemented for each of the Flash tasks shown below. import fiftyone as fo import fiftyone.zoo as foz - # 1. Load your FiftyOne dataset + # 1 Load your FiftyOne dataset dataset = foz.load_zoo_dataset( "cifar10", split="test", max_samples=40, shuffle=True @@ -85,7 +85,7 @@ method, which is implemented for each of the Flash tasks shown below. val_dataset = dataset[25:30] predict_dataset = dataset[30:40] - # 2. Load the Datamodule + # 2 Create the Datamodule datamodule = ImageClassificationData.from_fiftyone( train_dataset=train_dataset, test_dataset=test_dataset, @@ -96,33 +96,33 @@ method, which is implemented for each of the Flash tasks shown below. num_workers=4, ) - # 3. Build the model + # 3 Build the model model = ImageClassifier( backbone="resnet18", num_classes=datamodule.num_classes, serializer=FiftyOneLabels(), ) - # 4. Create the trainer + # 4 Create the trainer trainer = Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) - # 5. Finetune the model + # 5 Finetune the model trainer.finetune( model, datamodule=datamodule, strategy=FreezeUnfreeze(unfreeze_epoch=1), ) - # 6. Save it! + # 6 Save it! trainer.save_checkpoint("image_classification_model.pt") - # 7. Generate predictions + # 7 Generate predictions # For example purposes, we'll load a pretrained checkpoint model = ImageClassifier.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/image_classification_model.pt" ) - model.serializer = FiftyOneLabels() + model.serializer = FiftyOneLabels() # output FiftyOne format predictions = trainer.predict(model, datamodule=datamodule) predictions = list(chain.from_iterable(predictions)) # flatten batches @@ -130,7 +130,7 @@ method, which is implemented for each of the Flash tasks shown below. # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) - # 8. Analyze predictions in the App + # 8 Analyze predictions in the App session = fo.launch_app(view=predict_dataset) .. tab:: Object detection @@ -151,7 +151,7 @@ method, which is implemented for each of the Flash tasks shown below. import fiftyone as fo import fiftyone.zoo as foz - # 1. Load your FiftyOne dataset + # 1 Load your FiftyOne dataset dataset = foz.load_zoo_dataset("quickstart", max_samples=40, shuffle=True) @@ -162,7 +162,7 @@ method, which is implemented for each of the Flash tasks shown below. val_dataset = dataset[25:30] predict_dataset = dataset[30:40] - # 2. Load the Datamodule + # 2 Create the Datamodule datamodule = ObjectDetectionData.from_fiftyone( train_dataset=train_dataset, test_dataset=test_dataset, @@ -173,29 +173,29 @@ method, which is implemented for each of the Flash tasks shown below. num_workers=4, ) - # 3. Build the model + # 3 Build the model model = ObjectDetector( model="retinanet", num_classes=datamodule.num_classes, serializer=FiftyOneDetectionLabels(), ) - # 4. Create the trainer + # 4 Create the trainer trainer = Trainer(max_epochs=1, limit_train_batches=1, limit_val_batches=1) - # 5. Finetune the model + # 5 Finetune the model trainer.finetune(model, datamodule=datamodule) - # 6. Save it! + # 6 Save it! trainer.save_checkpoint("object_detection_model.pt") - # 7. Generate predictions + # 7 Generate predictions # For example purposes, we'll load a pretrained checkpoint model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) - model.serializer = FiftyOneDetectionLabels() + model.serializer = FiftyOneDetectionLabels() # output FiftyOne format predictions = trainer.predict(model, datamodule=datamodule) predictions = list(chain.from_iterable(predictions)) # flatten batches @@ -203,7 +203,7 @@ method, which is implemented for each of the Flash tasks shown below. # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) - # 8. Analyze predictions in the App + # 8 Analyze predictions in the App session = fo.launch_app(view=predict_dataset) .. tab:: Semantic segmentation @@ -225,13 +225,9 @@ method, which is implemented for each of the Flash tasks shown below. import fiftyone as fo import fiftyone.zoo as foz - # 1. Load your FiftyOne dataset - # This is a Dataset with Semantic Segmentation Labels generated via CARLA - self-driving simulator. - # The data was generated as part of the Lyft Udacity Challenge. - # More info here: - https://www.kaggle.com/kumaresanmanickavelu/lyft-udacity-challenge + # 1 Load your FiftyOne dataset + # source: https://www.kaggle.com/kumaresanmanickavelu/lyft-udacity-challenge download_data( "https://github.com/ongchinkiat/LyftPerceptionChallenge/releases/download/v0.1/carla-capture-20180513A.zip", "data/" @@ -254,7 +250,7 @@ method, which is implemented for each of the Flash tasks shown below. val_dataset = dataset[25:30] predict_dataset = dataset[30:40] - # 2. Load the Datamodule + # 2 Create the Datamodule datamodule = SemanticSegmentationData.from_fiftyone( train_dataset=train_dataset, test_dataset=test_dataset, @@ -265,29 +261,29 @@ method, which is implemented for each of the Flash tasks shown below. num_workers=4, ) - # 3. Build the model + # 3 Build the model model = SemanticSegmentation( backbone="fcn_resnet50", num_classes=datamodule.num_classes, serializer=FiftyOneSegmentationLabels(), ) - # 4. Create the trainer + # 4 Create the trainer trainer = Trainer(max_epochs=1, fast_dev_run=1) - # 5. Finetune the model + # 5 Finetune the model trainer.finetune(model, datamodule=datamodule, strategy="freeze") - # 6. Save it! + # 6 Save it! trainer.save_checkpoint("semantic_segmentation_model.pt") - # 7. Generate predictions + # 7 Generate predictions # For example purposes, we'll load a pretrained checkpoint model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" ) - model.serializer = FiftyOneSegmentationLabels() + model.serializer = FiftyOneSegmentationLabels() # output FiftyOne format predictions = trainer.predict(model, datamodule=datamodule) predictions = list(chain.from_iterable(predictions)) # flatten batches @@ -295,7 +291,7 @@ method, which is implemented for each of the Flash tasks shown below. # Add predictions to FiftyOne dataset predict_dataset.set_values("flash_predictions", predictions) - # 8. Analyze predictions in the App + # 8 Analyze predictions in the App session = fo.launch_app(view=predict_dataset) .. tab:: Video classification @@ -316,10 +312,10 @@ method, which is implemented for each of the Flash tasks shown below. import fiftyone as fo - # 1. Download data + # 1 Download data download_data("https://pl-flash-data.s3.amazonaws.com/kinetics.zip") - # 2. Load data into FiftyOne + # 2 Load data into FiftyOne # Here we use different datasets for each split, but you can also use views # into the same dataset @@ -343,7 +339,7 @@ method, which is implemented for each of the Flash tasks shown below. max_samples=5, ) - # 3. Finetune a model + # 3 Finetune a model classifier = VideoClassifier.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/video_classification.pt", @@ -367,7 +363,7 @@ method, which is implemented for each of the Flash tasks shown below. trainer.finetune(classifier, datamodule=datamodule) trainer.save_checkpoint("video_classification.pt") - # 4. Predict from checkpoint + # 4 Predict from checkpoint # For example purposes, we'll load a pretrained checkpoint classifier = VideoClassifier.load_from_checkpoint( @@ -382,7 +378,7 @@ method, which is implemented for each of the Flash tasks shown below. # Add predictions to FiftyOne dataset predict_dataset.set_values("predictions", predictions) - # 5. Visualize in FiftyOne App + # 5 Visualize in FiftyOne App session = fo.launch_app(predict_dataset) .. _flash-model-predictions: @@ -474,12 +470,11 @@ Flash models with FiftyOne serializers will directly return predictions as model = ObjectDetector.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" ) - model.serializer = FiftyOneDetectionLabels() + model.serializer = FiftyOneDetectionLabels() # output FiftyOne format # Option 1: predict with trainer (supports distributed inference) datamodule = ObjectDetectionData.from_fiftyone(predict_dataset=dataset) - trainer = Trainer() - predictions = trainer.predict(model, datamodule=datamodule) + predictions = Trainer().predict(model, datamodule=datamodule) predictions = list(chain.from_iterable(predictions)) # flatten batches # Option 2: predict with model @@ -494,7 +489,7 @@ Flash models with FiftyOne serializers will directly return predictions as .. note:: - FiftyOne serializers support an optional + FiftyOne serializers have an optional :class:`return_filepath ` flag that supports returning dicts that contain both the |Label| objects and the ``filepath`` of the associated media. @@ -547,9 +542,7 @@ Flash model's embeddings and execute powerful workflows like session = fo.launch_app(dataset) # 6 Visualize image embeddings - results = fob.compute_visualization(dataset, embeddings=embeddings) - plot = results.visualize(labels="ground_truth.label") plot.show() From 6ec974dedd4ccbd9fd574818de72f779bf587593 Mon Sep 17 00:00:00 2001 From: brimoor Date: Tue, 15 Jun 2021 21:27:41 -0400 Subject: [PATCH 38/52] linting --- docs/source/integrations/lightning_flash.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 2491070d79..5bf56686cb 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -521,9 +521,7 @@ Flash model's embeddings and execute powerful workflows like import fiftyone.brain as fob # 1 Download data - download_data( - "https://pl-flash-data.s3.amazonaws.com/hymenoptera_data.zip" - ) + download_data("https://pl-flash-data.s3.amazonaws.com/hymenoptera_data.zip") # 2 Load data into FiftyOne dataset = fo.Dataset.from_dir( From 3d3846664fbeb424f25334f31634441f68ca17f3 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Wed, 16 Jun 2021 20:55:48 -0400 Subject: [PATCH 39/52] update segmentation example --- docs/source/integrations/lightning_flash.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 5bf56686cb..9d21dde30d 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -280,7 +280,7 @@ method, which is implemented for each of the Flash tasks shown below. # 7 Generate predictions # For example purposes, we'll load a pretrained checkpoint - model = ObjectDetector.load_from_checkpoint( + model = SemanticSegmentation.load_from_checkpoint( "https://flash-weights.s3.amazonaws.com/semantic_segmentation_model.pt" ) model.serializer = FiftyOneSegmentationLabels() # output FiftyOne format From 4f7f2a7f8925ca34cfd525a7a832d7588bd63c69 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Wed, 16 Jun 2021 21:28:33 -0400 Subject: [PATCH 40/52] example specify class labels --- docs/source/integrations/lightning_flash.rst | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 9d21dde30d..a65fdb20d4 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -494,6 +494,49 @@ Flash models with FiftyOne serializers will directly return predictions as flag that supports returning dicts that contain both the |Label| objects and the ``filepath`` of the associated media. +Specifying class names +---------------------- + +For most tasks in Flash, a +:class:`Serializer ` will also +accept a list of string labels specifying the names of classes to be +applied to predicitions. While this information is often contained in the +metadata of the model, it can also be provided explicitly. + +.. code-block:: python + :linenos: + + import fiftyone as fo + import fiftyone.zoo as foz + + from flash.image import ObjectDetector + from flash.image.detection.serialization import FiftyOneDetectionLabels + + # Load your dataset + dataset = foz.load_zoo_dataset("quickstart", max_samples=5) + + # Load your Flash model + model = ObjectDetector.load_from_checkpoint( + "https://flash-weights.s3.amazonaws.com/object_detection_model.pt" + ) + + # Provide a list of labels to the serializer + labels = ["label_"+str(i) for i in range(100)] # generate random class names + model.serializer = FiftyOneDetectionLabels(labels=labels) # output FiftyOne format + + # Predict with model + filepaths = dataset.values("filepath") + predictions = model.predict(filepaths) + + # Add predictions to dataset + dataset.set_values("flash_predictions", predictions) + + print(dataset.distinct("flash_predictions.detections.label")) + # ['label_57', 'label_60'] + + # Visualize in the App + session = fo.launch_app(dataset) + .. _flash-image-embeddings: Image embeddings From 3cd522ea40af5e8eb611977bd3f774132247b805 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sun, 20 Jun 2021 12:03:40 -0400 Subject: [PATCH 41/52] flash updates for segmentation --- docs/source/integrations/lightning_flash.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index a65fdb20d4..8c24faa5e1 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -259,11 +259,13 @@ method, which is implemented for each of the Flash tasks shown below. label_field="ground_truth", batch_size=4, num_workers=4, + image_size=(200,200), + num_classes=21, ) # 3 Build the model model = SemanticSegmentation( - backbone="fcn_resnet50", + backbone="resnet50", num_classes=datamodule.num_classes, serializer=FiftyOneSegmentationLabels(), ) From 16a54625ab35a7a78c2704754633c49f8c83ac68 Mon Sep 17 00:00:00 2001 From: Eric Hofesmann Date: Sun, 20 Jun 2021 12:27:36 -0400 Subject: [PATCH 42/52] update segmentatione example --- docs/source/integrations/lightning_flash.rst | 23 +++++++------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/docs/source/integrations/lightning_flash.rst b/docs/source/integrations/lightning_flash.rst index 8c24faa5e1..2b41a07f11 100644 --- a/docs/source/integrations/lightning_flash.rst +++ b/docs/source/integrations/lightning_flash.rst @@ -220,7 +220,7 @@ method, which is implemented for each of the Flash tasks shown below. from flash import Trainer from flash.core.data.utils import download_data from flash.image import SemanticSegmentation, SemanticSegmentationData - from flash.image.segmentation.serialization import FiftyOneSegmentationLabels + from flash.image.segmentation.serialization import FiftyOneSegmentationLabels, SegmentationLabels import fiftyone as fo import fiftyone.zoo as foz @@ -243,19 +243,12 @@ method, which is implemented for each of the Flash tasks shown below. shuffle=True, ) - # Here we use views into one dataset, but you can also create a - # different dataset for each split - train_dataset = dataset[:20] - test_dataset = dataset[20:25] - val_dataset = dataset[25:30] - predict_dataset = dataset[30:40] - # 2 Create the Datamodule datamodule = SemanticSegmentationData.from_fiftyone( - train_dataset=train_dataset, - test_dataset=test_dataset, - val_dataset=val_dataset, - predict_dataset=predict_dataset, + train_dataset=dataset, + test_dataset=dataset, + val_dataset=dataset, + predict_dataset=dataset, label_field="ground_truth", batch_size=4, num_workers=4, @@ -267,7 +260,7 @@ method, which is implemented for each of the Flash tasks shown below. model = SemanticSegmentation( backbone="resnet50", num_classes=datamodule.num_classes, - serializer=FiftyOneSegmentationLabels(), + serializer=SegmentationLabels(), ) # 4 Create the trainer @@ -291,10 +284,10 @@ method, which is implemented for each of the Flash tasks shown below. predictions = list(chain.from_iterable(predictions)) # flatten batches # Add predictions to FiftyOne dataset - predict_dataset.set_values("flash_predictions", predictions) + dataset.set_values("flash_predictions", predictions) # 8 Analyze predictions in the App - session = fo.launch_app(view=predict_dataset) + session = fo.launch_app(view=dataset) .. tab:: Video classification From 2c83206fdb9dfffa26df6022480537b1e5241c36 Mon Sep 17 00:00:00 2001 From: Benjamin Kane Date: Sun, 20 Jun 2021 18:55:43 -0600 Subject: [PATCH 43/52] flash banner and integration logo --- docs/source/_static/css/voxel51-website.css | 2 +- docs/source/_templates/layout.html | 10 +++++++--- docs/source/index.rst | 5 +++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/source/_static/css/voxel51-website.css b/docs/source/_static/css/voxel51-website.css index c5ec9e0fbd..e85c84c486 100644 --- a/docs/source/_static/css/voxel51-website.css +++ b/docs/source/_static/css/voxel51-website.css @@ -74,7 +74,7 @@ color: var(--text-primary-on-light); } -.google-gray { +.gray { color: var(--gray-dark1); } diff --git a/docs/source/_templates/layout.html b/docs/source/_templates/layout.html index b361537307..368113964a 100644 --- a/docs/source/_templates/layout.html +++ b/docs/source/_templates/layout.html @@ -9,11 +9,15 @@ /> {% endblock %} {% block custom_header %}
-