From 90a0f6d63ae94e97d72ae5dc49090eb74ec93fd7 Mon Sep 17 00:00:00 2001 From: sipp11 Date: Fri, 18 Oct 2019 17:43:13 +0900 Subject: [PATCH] Initial commit Originally from https://github.com/balancap/SSD-Tensorflow --- .gitignore | 25 + .vscode/settings.json | 4 + COMMANDS.md | 333 +++++++ README.md | 169 ++++ caffe_to_tensorflow.py | 66 ++ checkpoints/.gitignore | 1 + datasets/__init__.py | 1 + datasets/cifar10.py | 98 ++ datasets/dataset_factory.py | 55 ++ datasets/dataset_utils.py | 134 +++ datasets/imagenet.py | 193 ++++ datasets/pascalvoc_2007.py | 112 +++ datasets/pascalvoc_2012.py | 87 ++ datasets/pascalvoc_common.py | 116 +++ datasets/pascalvoc_to_tfrecords.py | 226 +++++ demo/000001.jpg | Bin 0 -> 78771 bytes demo/000002.jpg | Bin 0 -> 113300 bytes demo/000003.jpg | Bin 0 -> 123361 bytes demo/000004.jpg | Bin 0 -> 102770 bytes demo/000006.jpg | Bin 0 -> 79789 bytes demo/000008.jpg | Bin 0 -> 82702 bytes demo/000010.jpg | Bin 0 -> 106000 bytes demo/000022.jpg | Bin 0 -> 102396 bytes demo/dog.jpg | Bin 0 -> 163759 bytes demo/eagle.jpg | Bin 0 -> 141886 bytes demo/horses.jpg | Bin 0 -> 133495 bytes demo/person.jpg | Bin 0 -> 113880 bytes demo/street.jpg | Bin 0 -> 447571 bytes deployment/__init__.py | 1 + deployment/model_deploy.py | 690 ++++++++++++++ eval_ssd_network.py | 346 +++++++ inspect_checkpoint.py | 131 +++ nets/__init__.py | 1 + nets/caffe_scope.py | 90 ++ nets/custom_layers.py | 164 ++++ nets/inception.py | 33 + nets/inception_resnet_v2.py | 280 ++++++ nets/inception_v3.py | 587 ++++++++++++ nets/nets_factory.py | 89 ++ nets/np_methods.py | 252 +++++ nets/ssd_common.py | 410 ++++++++ nets/ssd_vgg_300.py | 758 +++++++++++++++ nets/ssd_vgg_512.py | 607 ++++++++++++ nets/vgg.py | 244 +++++ nets/xception.py | 283 ++++++ notebooks/ssd_notebook.ipynb | 282 ++++++ notebooks/ssd_tests.ipynb | 1097 ++++++++++++++++++++++ notebooks/visualization.py | 114 +++ pictures/ex1.png | Bin 0 -> 407871 bytes pictures/ex2.png | Bin 0 -> 420195 bytes pip.txt | 4 + preprocessing/__init__.py | 1 + preprocessing/inception_preprocessing.py | 301 ++++++ preprocessing/preprocessing_factory.py | 60 ++ preprocessing/ssd_vgg_preprocessing.py | 404 ++++++++ preprocessing/tf_image.py | 306 ++++++ preprocessing/vgg_preprocessing.py | 370 ++++++++ tf_convert_data.py | 60 ++ tf_extended/__init__.py | 24 + tf_extended/bboxes.py | 508 ++++++++++ tf_extended/image.py | 0 tf_extended/math.py | 67 ++ tf_extended/metrics.py | 397 ++++++++ tf_extended/tensors.py | 95 ++ tf_utils.py | 258 +++++ train_ssd_network.py | 390 ++++++++ 66 files changed, 11324 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 COMMANDS.md create mode 100644 README.md create mode 100644 caffe_to_tensorflow.py create mode 100644 checkpoints/.gitignore create mode 100644 datasets/__init__.py create mode 100644 datasets/cifar10.py create mode 100644 datasets/dataset_factory.py create mode 100644 datasets/dataset_utils.py create mode 100644 datasets/imagenet.py create mode 100644 datasets/pascalvoc_2007.py create mode 100644 datasets/pascalvoc_2012.py create mode 100644 datasets/pascalvoc_common.py create mode 100644 datasets/pascalvoc_to_tfrecords.py create mode 100644 demo/000001.jpg create mode 100644 demo/000002.jpg create mode 100644 demo/000003.jpg create mode 100644 demo/000004.jpg create mode 100644 demo/000006.jpg create mode 100644 demo/000008.jpg create mode 100644 demo/000010.jpg create mode 100644 demo/000022.jpg create mode 100644 demo/dog.jpg create mode 100644 demo/eagle.jpg create mode 100644 demo/horses.jpg create mode 100644 demo/person.jpg create mode 100644 demo/street.jpg create mode 100644 deployment/__init__.py create mode 100644 deployment/model_deploy.py create mode 100644 eval_ssd_network.py create mode 100644 inspect_checkpoint.py create mode 100644 nets/__init__.py create mode 100644 nets/caffe_scope.py create mode 100644 nets/custom_layers.py create mode 100644 nets/inception.py create mode 100644 nets/inception_resnet_v2.py create mode 100644 nets/inception_v3.py create mode 100644 nets/nets_factory.py create mode 100644 nets/np_methods.py create mode 100644 nets/ssd_common.py create mode 100644 nets/ssd_vgg_300.py create mode 100644 nets/ssd_vgg_512.py create mode 100644 nets/vgg.py create mode 100644 nets/xception.py create mode 100644 notebooks/ssd_notebook.ipynb create mode 100644 notebooks/ssd_tests.ipynb create mode 100644 notebooks/visualization.py create mode 100644 pictures/ex1.png create mode 100644 pictures/ex2.png create mode 100644 pip.txt create mode 100644 preprocessing/__init__.py create mode 100644 preprocessing/inception_preprocessing.py create mode 100644 preprocessing/preprocessing_factory.py create mode 100644 preprocessing/ssd_vgg_preprocessing.py create mode 100644 preprocessing/tf_image.py create mode 100644 preprocessing/vgg_preprocessing.py create mode 100644 tf_convert_data.py create mode 100644 tf_extended/__init__.py create mode 100644 tf_extended/bboxes.py create mode 100644 tf_extended/image.py create mode 100644 tf_extended/math.py create mode 100644 tf_extended/metrics.py create mode 100644 tf_extended/tensors.py create mode 100644 tf_utils.py create mode 100644 train_ssd_network.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a561fe1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Directories. +__pycache__/ +datasets/__pycache__/ +deployment/__pycache__/ +nets/__pycache__/ +preprocessing/__pycache__/ + +.ipynb_checkpoints/ +notebooks/.ipynb_checkpoints/ + +checkpoints/ssd_300_vgg.ckpt.data-00000-of-00001 +checkpoints/ssd_300_vgg.ckpt.index +checkpoints/models/* +checkpoints/VGG_VOC0712_SSD_* +checkpoints/vgg_16.ckpt +checkpoints/model.ckpt-* + +logs/ +*.log +nohup.out + +ssd-tensorflow.sublime-workspace +ssd-tensorflow.sublime-project + +tf_records diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c72aad5 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "python.pythonPath": "~/.virtualenvs/tf/bin/python", + "python.formatting.provider": "black" +} \ No newline at end of file diff --git a/COMMANDS.md b/COMMANDS.md new file mode 100644 index 0000000..5442a8e --- /dev/null +++ b/COMMANDS.md @@ -0,0 +1,333 @@ +# =========================================================================== # +# Dataset convert... +# =========================================================================== # +rm events* graph* model* checkpoint +mv events* graph* model* checkpoint ./log + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/rawdata/VOC2012/trainval/ +OUTPUT_DIR=/media/paul/DataExt4/PascalVOC/dataset +python tf_convert_data.py \ + --dataset_name=pascalvoc \ + --dataset_dir=${DATASET_DIR} \ + --output_name=voc_2012_train \ + --output_dir=${OUTPUT_DIR} + +CAFFE_MODEL=/media/paul/DataExt4/PascalVOC/training/ckpts/SSD_300x300_VOC0712/VGG_VOC0712_SSD_300x300_iter_120000.caffemodel +python caffe_to_tensorflow.py \ + --model_name=ssd_300_vgg \ + --num_classes=21 \ + --caffemodel_path=${CAFFE_MODEL} + +# =========================================================================== # +# VGG-based SSD network +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=./logs/ssd_300_vgg_3 +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.95 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=./logs/ssd_300_vgg_3 +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 \ + --max_num_batches=500 + + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +EVAL_DIR=./logs/ssd_300_vgg_1_eval +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_iter_120000.ckpt +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 \ + --max_num_batches=10 + + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +EVAL_DIR=./logs/ssd_300_vgg_1_eval +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_512x512_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_512_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 \ + --max_num_batches=10 + +# =========================================================================== # +# Fine tune VGG-based SSD network +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_6 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_13 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --trainable_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 + +DATASET_DIR=/media/paul/DataExt4/PascalVOC/dataset +TRAIN_DIR=/media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_2 +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +CHECKPOINT_PATH=media/paul/DataExt4/PascalVOC/training/logs/ssd_300_vgg_1/ +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.0005 \ + --learning_rate_decay_factor=0.96 \ + --batch_size=32 + +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 + + +# =========================================================================== # +# Inception v3 +# =========================================================================== # +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +DATASET_DIR=../datasets/ImageNet +TRAIN_DIR=./logs/inception_v3 +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/inception_v3.ckpt +CHECKPOINT_PATH=./checkpoints/inception_v3.ckpt +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=inception_v3 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=4 + + +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/logs +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/inception_v3.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=inception_v3 + + +# =========================================================================== # +# VGG 16 and 19 +# =========================================================================== # +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/vgg_19.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --labels_offset=1 \ + --dataset_split_name=validation \ + --model_name=vgg_19 + + +CHECKPOINT_PATH=/media/paul/DataExt4/ImageNet/Training/ckpts/vgg_16.ckpt +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --labels_offset=1 \ + --dataset_split_name=validation \ + --model_name=vgg_16 + + +# =========================================================================== # +# Xception +# =========================================================================== # +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +TRAIN_DIR=./logs/xception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=xception \ + --labels_offset=1 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=600 \ + --save_interval_secs=600 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.0001 \ + --batch_size=32 + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=xception \ + --labels_offset=1 \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=1 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +CHECKPOINT_PATH=./logs/xception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --labels_offset=1 \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=xception \ + --max_num_batches=10 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.h5 +python ckpt_keras_to_tensorflow.py \ + --model_name=xception_keras \ + --num_classes=1000 \ + --checkpoint_path=${CHECKPOINT_PATH} + + +# =========================================================================== # +# Dception +# =========================================================================== # +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +TRAIN_DIR=./logs/dception +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=dception \ + --labels_offset=1 \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=32 + +python train_image_classifier.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=imagenet \ + --dataset_split_name=train \ + --model_name=dception \ + --labels_offset=1 \ + --save_summaries_secs=60 \ + --save_interval_secs=60 \ + --weight_decay=0.00001 \ + --optimizer=rmsprop \ + --learning_rate=0.00005 \ + --batch_size=1 + + +CHECKPOINT_PATH=./checkpoints/xception_weights_tf_dim_ordering_tf_kernels.ckpt +CHECKPOINT_PATH=./logs/dception +DATASET_DIR=../datasets/ImageNet +DATASET_DIR=/media/paul/DataExt4/ImageNet/Dataset +python eval_image_classifier.py \ + --alsologtostderr \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --dataset_dir=${DATASET_DIR} \ + --labels_offset=1 \ + --dataset_name=imagenet \ + --dataset_split_name=validation \ + --model_name=dception diff --git a/README.md b/README.md new file mode 100644 index 0000000..4137fb9 --- /dev/null +++ b/README.md @@ -0,0 +1,169 @@ +# SSD: Single Shot MultiBox Detector in TensorFlow + +SSD is an unified framework for object detection with a single network. It has been originally introduced in this research [article](http://arxiv.org/abs/1512.02325). + +This repository contains a TensorFlow re-implementation of the original [Caffe code](https://github.com/weiliu89/caffe/tree/ssd). At present, it only implements VGG-based SSD networks (with 300 and 512 inputs), but the architecture of the project is modular, and should make easy the implementation and training of other SSD variants (ResNet or Inception based for instance). Present TF checkpoints have been directly converted from SSD Caffe models. + +The organisation is inspired by the TF-Slim models repository containing the implementation of popular architectures (ResNet, Inception and VGG). Hence, it is separated in three main parts: +* datasets: interface to popular datasets (Pascal VOC, COCO, ...) and scripts to convert the former to TF-Records; +* networks: definition of SSD networks, and common encoding and decoding methods (we refer to the paper on this precise topic); +* pre-processing: pre-processing and data augmentation routines, inspired by original VGG and Inception implementations. + +## SSD minimal example + +The [SSD Notebook](notebooks/ssd_notebook.ipynb) contains a minimal example of the SSD TensorFlow pipeline. Shortly, the detection is made of two main steps: running the SSD network on the image and post-processing the output using common algorithms (top-k filtering and Non-Maximum Suppression algorithm). + +Here are two examples of successful detection outputs: +![](pictures/ex1.png "SSD anchors") +![](pictures/ex2.png "SSD anchors") + +To run the notebook you first have to unzip the checkpoint files in ./checkpoint +```bash +unzip ssd_300_vgg.ckpt.zip +``` +and then start a jupyter notebook with +```bash +jupyter notebook notebooks/ssd_notebook.ipynb +``` + + +## Datasets + +The current version only supports Pascal VOC datasets (2007 and 2012). In order to be used for training a SSD model, the former need to be converted to TF-Records using the `tf_convert_data.py` script: +```bash +DATASET_DIR=./VOC2007/test/ +OUTPUT_DIR=./tfrecords +python tf_convert_data.py \ + --dataset_name=pascalvoc \ + --dataset_dir=${DATASET_DIR} \ + --output_name=voc_2007_train \ + --output_dir=${OUTPUT_DIR} +``` +Note the previous command generated a collection of TF-Records instead of a single file in order to ease shuffling during training. + +## Evaluation on Pascal VOC 2007 + +The present TensorFlow implementation of SSD models have the following performances: + +| Model | Training data | Testing data | mAP | FPS | +|--------|:---------:|:------:|:------:|:------:| +| [SSD-300 VGG-based](https://drive.google.com/open?id=0B0qPCUZ-3YwWZlJaRTRRQWRFYXM) | VOC07+12 trainval | VOC07 test | 0.778 | - | +| [SSD-300 VGG-based](https://drive.google.com/file/d/0B0qPCUZ-3YwWUXh4UHJrd1RDM3c/view?usp=sharing) | VOC07+12+COCO trainval | VOC07 test | 0.817 | - | +| [SSD-512 VGG-based](https://drive.google.com/open?id=0B0qPCUZ-3YwWT1RCLVZNN3RTVEU) | VOC07+12+COCO trainval | VOC07 test | 0.837 | - | + +We are working hard at reproducing the same performance as the original [Caffe implementation](https://github.com/weiliu89/caffe/tree/ssd)! + +After downloading and extracting the previous checkpoints, the evaluation metrics should be reproducible by running the following command: +```bash +EVAL_DIR=./logs/ +CHECKPOINT_PATH=./checkpoints/VGG_VOC0712_SSD_300x300_ft_iter_120000.ckpt +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --batch_size=1 +``` +The evaluation script provides estimates on the recall-precision curve and compute the mAP metrics following the Pascal VOC 2007 and 2012 guidelines. + +In addition, if one wants to experiment/test a different Caffe SSD checkpoint, the former can be converted to TensorFlow checkpoints as following: +```sh +CAFFE_MODEL=./ckpts/SSD_300x300_ft_VOC0712/VGG_VOC0712_SSD_300x300_ft_iter_120000.caffemodel +python caffe_to_tensorflow.py \ + --model_name=ssd_300_vgg \ + --num_classes=21 \ + --caffemodel_path=${CAFFE_MODEL} +``` + +## Training + +The script `train_ssd_network.py` is in charged of training the network. Similarly to TF-Slim models, one can pass numerous options to the training process (dataset, optimiser, hyper-parameters, model, ...). In particular, it is possible to provide a checkpoint file which can be use as starting point in order to fine-tune a network. + +### Fine-tuning existing SSD checkpoints + +The easiest way to fine the SSD model is to use as pre-trained SSD network (VGG-300 or VGG-512). For instance, one can fine a model starting from the former as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./logs/ +CHECKPOINT_PATH=./checkpoints/ssd_300_vgg.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2012 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --batch_size=32 +``` +Note that in addition to the training script flags, one may also want to experiment with data augmentation parameters (random cropping, resolution, ...) in `ssd_vgg_preprocessing.py` or/and network parameters (feature layers, anchors boxes, ...) in `ssd_vgg_300/512.py` + +Furthermore, the training script can be combined with the evaluation routine in order to monitor the performance of saved checkpoints on a validation dataset. For that purpose, one can pass to training and validation scripts a GPU memory upper limit such that both can run in parallel on the same device. If some GPU memory is available for the evaluation script, the former can be run in parallel as follows: +```bash +EVAL_DIR=${TRAIN_DIR}/eval +python eval_ssd_network.py \ + --eval_dir=${EVAL_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=test \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${TRAIN_DIR} \ + --wait_for_checkpoints=True \ + --batch_size=1 \ + --max_num_batches=500 +``` + +### Fine-tuning a network trained on ImageNet + +One can also try to build a new SSD model based on standard architecture (VGG, ResNet, Inception, ...) and set up on top of it the `multibox` layers (with specific anchors, ratios, ...). For that purpose, you can fine-tune a network by only loading the weights of the original architecture, and initialize randomly the rest of network. For instance, in the case of the [VGG-16 architecture](http://download.tensorflow.org/models/vgg_16_2016_08_28.tar.gz), one can train a new model as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./log/ +CHECKPOINT_PATH=./checkpoints/vgg_16.ckpt +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --checkpoint_exclude_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --trainable_scopes=ssd_300_vgg/conv6,ssd_300_vgg/conv7,ssd_300_vgg/block8,ssd_300_vgg/block9,ssd_300_vgg/block10,ssd_300_vgg/block11,ssd_300_vgg/block4_box,ssd_300_vgg/block7_box,ssd_300_vgg/block8_box,ssd_300_vgg/block9_box,ssd_300_vgg/block10_box,ssd_300_vgg/block11_box \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 +``` +Hence, in the former command, the training script randomly initializes the weights belonging to the `checkpoint_exclude_scopes` and load from the checkpoint file `vgg_16.ckpt` the remaining part of the network. Note that we also specify with the `trainable_scopes` parameter to first only train the new SSD components and left the rest of VGG network unchanged. Once the network has converged to a good first result (~0.5 mAP for instance), you can fine-tuned the complete network as following: +```bash +DATASET_DIR=./tfrecords +TRAIN_DIR=./log_finetune/ +CHECKPOINT_PATH=./log/model.ckpt-N +python train_ssd_network.py \ + --train_dir=${TRAIN_DIR} \ + --dataset_dir=${DATASET_DIR} \ + --dataset_name=pascalvoc_2007 \ + --dataset_split_name=train \ + --model_name=ssd_300_vgg \ + --checkpoint_path=${CHECKPOINT_PATH} \ + --checkpoint_model_scope=vgg_16 \ + --save_summaries_secs=60 \ + --save_interval_secs=600 \ + --weight_decay=0.0005 \ + --optimizer=adam \ + --learning_rate=0.00001 \ + --learning_rate_decay_factor=0.94 \ + --batch_size=32 +``` + +A number of pre-trained weights of popular deep architectures can be found on [TF-Slim models page](https://github.com/tensorflow/models/tree/master/slim). diff --git a/caffe_to_tensorflow.py b/caffe_to_tensorflow.py new file mode 100644 index 0000000..e1fa2fd --- /dev/null +++ b/caffe_to_tensorflow.py @@ -0,0 +1,66 @@ +"""Convert a Caffe model file to TensorFlow checkpoint format. + +Assume that the network built is a equivalent (or a sub-) to the Caffe +definition. +""" +import tensorflow as tf + +from nets import caffe_scope +from nets import nets_factory + +slim = tf.contrib.slim + +# =========================================================================== # +# Main flags. +# =========================================================================== # +tf.app.flags.DEFINE_string( + 'model_name', 'ssd_300_vgg', 'Name of the model to convert.') +tf.app.flags.DEFINE_string( + 'num_classes', 21, 'Number of classes in the dataset.') +tf.app.flags.DEFINE_string( + 'caffemodel_path', None, + 'The path to the Caffe model file to convert.') + +FLAGS = tf.app.flags.FLAGS + + +# =========================================================================== # +# Main converting routine. +# =========================================================================== # +def main(_): + # Caffe scope... + caffemodel = caffe_scope.CaffeScope() + caffemodel.load(FLAGS.caffemodel_path) + + tf.logging.set_verbosity(tf.logging.INFO) + with tf.Graph().as_default(): + global_step = slim.create_global_step() + num_classes = int(FLAGS.num_classes) + + # Select the network. + ssd_class = nets_factory.get_network(FLAGS.model_name) + ssd_params = ssd_class.default_params._replace(num_classes=num_classes) + ssd_net = ssd_class(ssd_params) + ssd_shape = ssd_net.params.img_shape + + # Image placeholder and model. + shape = (1, ssd_shape[0], ssd_shape[1], 3) + img_input = tf.placeholder(shape=shape, dtype=tf.float32) + # Create model. + with slim.arg_scope(ssd_net.arg_scope_caffe(caffemodel)): + ssd_net.net(img_input, is_training=False) + + init_op = tf.global_variables_initializer() + with tf.Session() as session: + # Run the init operation. + session.run(init_op) + + # Save model in checkpoint. + saver = tf.train.Saver() + ckpt_path = FLAGS.caffemodel_path.replace('.caffemodel', '.ckpt') + saver.save(session, ckpt_path, write_meta_graph=False) + + +if __name__ == '__main__': + tf.app.run() + diff --git a/checkpoints/.gitignore b/checkpoints/.gitignore new file mode 100644 index 0000000..72e8ffc --- /dev/null +++ b/checkpoints/.gitignore @@ -0,0 +1 @@ +* diff --git a/datasets/__init__.py b/datasets/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/datasets/__init__.py @@ -0,0 +1 @@ + diff --git a/datasets/cifar10.py b/datasets/cifar10.py new file mode 100644 index 0000000..2334269 --- /dev/null +++ b/datasets/cifar10.py @@ -0,0 +1,98 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Cifar10 dataset. + +The dataset scripts used to create the dataset can be found at: +tensorflow/models/slim/data/create_cifar10_dataset.py +""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import tensorflow as tf + +from datasets import dataset_utils + +slim = tf.contrib.slim + +_FILE_PATTERN = 'cifar10_%s.tfrecord' + +SPLITS_TO_SIZES = {'train': 50000, 'test': 10000} + +_NUM_CLASSES = 10 + +_ITEMS_TO_DESCRIPTIONS = { + 'image': 'A [32 x 32 x 3] color image.', + 'label': 'A single integer between 0 and 9', +} + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading cifar10. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in SPLITS_TO_SIZES: + raise ValueError('split name %s was not recognized.' % split_name) + + if not file_pattern: + file_pattern = _FILE_PATTERN + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if not reader: + reader = tf.TFRecordReader + + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='png'), + 'image/class/label': tf.FixedLenFeature( + [], tf.int64, default_value=tf.zeros([], dtype=tf.int64)), + } + + items_to_handlers = { + 'image': slim.tfexample_decoder.Image(shape=[32, 32, 3]), + 'label': slim.tfexample_decoder.Tensor('image/class/label'), + } + + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=SPLITS_TO_SIZES[split_name], + items_to_descriptions=_ITEMS_TO_DESCRIPTIONS, + num_classes=_NUM_CLASSES, + labels_to_names=labels_to_names) diff --git a/datasets/dataset_factory.py b/datasets/dataset_factory.py new file mode 100644 index 0000000..dee6e90 --- /dev/null +++ b/datasets/dataset_factory.py @@ -0,0 +1,55 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""A factory-pattern class which returns classification image/label pairs.""" + +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +from datasets import cifar10 +from datasets import imagenet + +from datasets import pascalvoc_2007 +from datasets import pascalvoc_2012 + +datasets_map = { + 'cifar10': cifar10, + 'imagenet': imagenet, + 'pascalvoc_2007': pascalvoc_2007, + 'pascalvoc_2012': pascalvoc_2012, +} + + +def get_dataset(name, split_name, dataset_dir, file_pattern=None, reader=None): + """Given a dataset name and a split_name returns a Dataset. + + Args: + name: String, the name of the dataset. + split_name: A train/test split name. + dataset_dir: The directory where the dataset files are stored. + file_pattern: The file pattern to use for matching the dataset source files. + reader: The subclass of tf.ReaderBase. If left as `None`, then the default + reader defined by each dataset is used. + Returns: + A `Dataset` class. + Raises: + ValueError: If the dataset `name` is unknown. + """ + if name not in datasets_map: + raise ValueError('Name of dataset unknown %s' % name) + return datasets_map[name].get_split(split_name, + dataset_dir, + file_pattern, + reader) diff --git a/datasets/dataset_utils.py b/datasets/dataset_utils.py new file mode 100644 index 0000000..63a56c4 --- /dev/null +++ b/datasets/dataset_utils.py @@ -0,0 +1,134 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Contains utilities for downloading and converting datasets.""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +import sys +import tarfile + +from six.moves import urllib +import tensorflow as tf + +LABELS_FILENAME = 'labels.txt' + + +def int64_feature(value): + """Wrapper for inserting int64 features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(int64_list=tf.train.Int64List(value=value)) + + +def float_feature(value): + """Wrapper for inserting float features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(float_list=tf.train.FloatList(value=value)) + + +def bytes_feature(value): + """Wrapper for inserting bytes features into Example proto. + """ + if not isinstance(value, list): + value = [value] + return tf.train.Feature(bytes_list=tf.train.BytesList(value=value)) + + +def image_to_tfexample(image_data, image_format, height, width, class_id): + return tf.train.Example(features=tf.train.Features(feature={ + 'image/encoded': bytes_feature(image_data), + 'image/format': bytes_feature(image_format), + 'image/class/label': int64_feature(class_id), + 'image/height': int64_feature(height), + 'image/width': int64_feature(width), + })) + + +def download_and_uncompress_tarball(tarball_url, dataset_dir): + """Downloads the `tarball_url` and uncompresses it locally. + + Args: + tarball_url: The URL of a tarball file. + dataset_dir: The directory where the temporary files are stored. + """ + filename = tarball_url.split('/')[-1] + filepath = os.path.join(dataset_dir, filename) + + def _progress(count, block_size, total_size): + sys.stdout.write('\r>> Downloading %s %.1f%%' % ( + filename, float(count * block_size) / float(total_size) * 100.0)) + sys.stdout.flush() + filepath, _ = urllib.request.urlretrieve(tarball_url, filepath, _progress) + print() + statinfo = os.stat(filepath) + print('Successfully downloaded', filename, statinfo.st_size, 'bytes.') + tarfile.open(filepath, 'r:gz').extractall(dataset_dir) + + +def write_label_file(labels_to_class_names, dataset_dir, + filename=LABELS_FILENAME): + """Writes a file with the list of class names. + + Args: + labels_to_class_names: A map of (integer) labels to class names. + dataset_dir: The directory in which the labels file should be written. + filename: The filename where the class names are written. + """ + labels_filename = os.path.join(dataset_dir, filename) + with tf.gfile.Open(labels_filename, 'w') as f: + for label in labels_to_class_names: + class_name = labels_to_class_names[label] + f.write('%d:%s\n' % (label, class_name)) + + +def has_labels(dataset_dir, filename=LABELS_FILENAME): + """Specifies whether or not the dataset directory contains a label map file. + + Args: + dataset_dir: The directory in which the labels file is found. + filename: The filename where the class names are written. + + Returns: + `True` if the labels file exists and `False` otherwise. + """ + return tf.gfile.Exists(os.path.join(dataset_dir, filename)) + + +def read_label_file(dataset_dir, filename=LABELS_FILENAME): + """Reads the labels file and returns a mapping from ID to class name. + + Args: + dataset_dir: The directory in which the labels file is found. + filename: The filename where the class names are written. + + Returns: + A map from a label (integer) to class name. + """ + labels_filename = os.path.join(dataset_dir, filename) + with tf.gfile.Open(labels_filename, 'rb') as f: + lines = f.read() + lines = lines.split(b'\n') + lines = filter(None, lines) + + labels_to_class_names = {} + for line in lines: + index = line.index(b':') + labels_to_class_names[int(line[:index])] = line[index+1:] + return labels_to_class_names diff --git a/datasets/imagenet.py b/datasets/imagenet.py new file mode 100644 index 0000000..3eec86f --- /dev/null +++ b/datasets/imagenet.py @@ -0,0 +1,193 @@ +# Copyright 2016 The TensorFlow Authors. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the ImageNet ILSVRC 2012 Dataset plus some bounding boxes. + +Some images have one or more bounding boxes associated with the label of the +image. See details here: http://image-net.org/download-bboxes + +ImageNet is based upon WordNet 3.0. To uniquely identify a synset, we use +"WordNet ID" (wnid), which is a concatenation of POS ( i.e. part of speech ) +and SYNSET OFFSET of WordNet. For more information, please refer to the +WordNet documentation[http://wordnet.princeton.edu/wordnet/documentation/]. + +"There are bounding boxes for over 3000 popular synsets available. +For each synset, there are on average 150 images with bounding boxes." + +WARNING: Don't use for object detection, in this case all the bounding boxes +of the image belong to just one class. +""" +from __future__ import absolute_import +from __future__ import division +from __future__ import print_function + +import os +from six.moves import urllib +import tensorflow as tf + +from datasets import dataset_utils + +slim = tf.contrib.slim + +# TODO(nsilberman): Add tfrecord file type once the script is updated. +_FILE_PATTERN = '%s-*' + +_SPLITS_TO_SIZES = { + 'train': 1281167, + 'validation': 50000, +} + +_ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'label': 'The label id of the image, integer between 0 and 999', + 'label_text': 'The text of the label.', + 'object/bbox': 'A list of bounding boxes.', + 'object/label': 'A list of labels, one per each object.', +} + +_NUM_CLASSES = 1001 + + +def create_readable_names_for_imagenet_labels(): + """Create a dict mapping label id to human readable string. + + Returns: + labels_to_names: dictionary where keys are integers from to 1000 + and values are human-readable names. + + We retrieve a synset file, which contains a list of valid synset labels used + by ILSVRC competition. There is one synset one per line, eg. + # n01440764 + # n01443537 + We also retrieve a synset_to_human_file, which contains a mapping from synsets + to human-readable names for every synset in Imagenet. These are stored in a + tsv format, as follows: + # n02119247 black fox + # n02119359 silver fox + We assign each synset (in alphabetical order) an integer, starting from 1 + (since 0 is reserved for the background class). + + Code is based on + https://github.com/tensorflow/models/blob/master/inception/inception/data/build_imagenet_data.py#L463 + """ + + # pylint: disable=g-line-too-long + base_url = 'https://raw.githubusercontent.com/tensorflow/models/master/inception/inception/data/' + synset_url = '{}/imagenet_lsvrc_2015_synsets.txt'.format(base_url) + synset_to_human_url = '{}/imagenet_metadata.txt'.format(base_url) + + filename, _ = urllib.request.urlretrieve(synset_url) + synset_list = [s.strip() for s in open(filename).readlines()] + num_synsets_in_ilsvrc = len(synset_list) + assert num_synsets_in_ilsvrc == 1000 + + filename, _ = urllib.request.urlretrieve(synset_to_human_url) + synset_to_human_list = open(filename).readlines() + num_synsets_in_all_imagenet = len(synset_to_human_list) + assert num_synsets_in_all_imagenet == 21842 + + synset_to_human = {} + for s in synset_to_human_list: + parts = s.strip().split('\t') + assert len(parts) == 2 + synset = parts[0] + human = parts[1] + synset_to_human[synset] = human + + label_index = 1 + labels_to_names = {0: 'background'} + for synset in synset_list: + name = synset_to_human[synset] + labels_to_names[label_index] = name + label_index += 1 + + return labels_to_names + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in _SPLITS_TO_SIZES: + raise ValueError('split name %s was not recognized.' % split_name) + + if not file_pattern: + file_pattern = _FILE_PATTERN + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if reader is None: + reader = tf.TFRecordReader + + keys_to_features = { + 'image/encoded': tf.FixedLenFeature( + (), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature( + (), tf.string, default_value='jpeg'), + 'image/class/label': tf.FixedLenFeature( + [], dtype=tf.int64, default_value=-1), + 'image/class/text': tf.FixedLenFeature( + [], dtype=tf.string, default_value=''), + 'image/object/bbox/xmin': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature( + dtype=tf.float32), + 'image/object/class/label': tf.VarLenFeature( + dtype=tf.int64), + } + + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'label': slim.tfexample_decoder.Tensor('image/class/label'), + 'label_text': slim.tfexample_decoder.Tensor('image/class/text'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/class/label'), + } + + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + else: + labels_to_names = create_readable_names_for_imagenet_labels() + dataset_utils.write_label_file(labels_to_names, dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=_SPLITS_TO_SIZES[split_name], + items_to_descriptions=_ITEMS_TO_DESCRIPTIONS, + num_classes=_NUM_CLASSES, + labels_to_names=labels_to_names) diff --git a/datasets/pascalvoc_2007.py b/datasets/pascalvoc_2007.py new file mode 100644 index 0000000..210f9ac --- /dev/null +++ b/datasets/pascalvoc_2007.py @@ -0,0 +1,112 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import tensorflow as tf +from datasets import pascalvoc_common + +slim = tf.contrib.slim + +FILE_PATTERN = 'voc_2007_%s_*.tfrecord' +ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'shape': 'Shape of the image', + 'object/bbox': 'A list of bounding boxes, one per each object.', + 'object/label': 'A list of labels, one per each object.', +} +# (Images, Objects) statistics on every class. +TRAIN_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (238, 306), + 'bicycle': (243, 353), + 'bird': (330, 486), + 'boat': (181, 290), + 'bottle': (244, 505), + 'bus': (186, 229), + 'car': (713, 1250), + 'cat': (337, 376), + 'chair': (445, 798), + 'cow': (141, 259), + 'diningtable': (200, 215), + 'dog': (421, 510), + 'horse': (287, 362), + 'motorbike': (245, 339), + 'person': (2008, 4690), + 'pottedplant': (245, 514), + 'sheep': (96, 257), + 'sofa': (229, 248), + 'train': (261, 297), + 'tvmonitor': (256, 324), + 'total': (5011, 12608), +} +TEST_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (1, 1), + 'bicycle': (1, 1), + 'bird': (1, 1), + 'boat': (1, 1), + 'bottle': (1, 1), + 'bus': (1, 1), + 'car': (1, 1), + 'cat': (1, 1), + 'chair': (1, 1), + 'cow': (1, 1), + 'diningtable': (1, 1), + 'dog': (1, 1), + 'horse': (1, 1), + 'motorbike': (1, 1), + 'person': (1, 1), + 'pottedplant': (1, 1), + 'sheep': (1, 1), + 'sofa': (1, 1), + 'train': (1, 1), + 'tvmonitor': (1, 1), + 'total': (20, 20), +} +SPLITS_TO_SIZES = { + 'train': 5011, + 'test': 4952, +} +SPLITS_TO_STATISTICS = { + 'train': TRAIN_STATISTICS, + 'test': TEST_STATISTICS, +} +NUM_CLASSES = 20 + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if not file_pattern: + file_pattern = FILE_PATTERN + return pascalvoc_common.get_split(split_name, dataset_dir, + file_pattern, reader, + SPLITS_TO_SIZES, + ITEMS_TO_DESCRIPTIONS, + NUM_CLASSES) diff --git a/datasets/pascalvoc_2012.py b/datasets/pascalvoc_2012.py new file mode 100644 index 0000000..ddc77c5 --- /dev/null +++ b/datasets/pascalvoc_2012.py @@ -0,0 +1,87 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import tensorflow as tf +from datasets import pascalvoc_common + +slim = tf.contrib.slim + +FILE_PATTERN = 'voc_2012_%s_*.tfrecord' +ITEMS_TO_DESCRIPTIONS = { + 'image': 'A color image of varying height and width.', + 'shape': 'Shape of the image', + 'object/bbox': 'A list of bounding boxes, one per each object.', + 'object/label': 'A list of labels, one per each object.', +} +# (Images, Objects) statistics on every class. +TRAIN_STATISTICS = { + 'none': (0, 0), + 'aeroplane': (670, 865), + 'bicycle': (552, 711), + 'bird': (765, 1119), + 'boat': (508, 850), + 'bottle': (706, 1259), + 'bus': (421, 593), + 'car': (1161, 2017), + 'cat': (1080, 1217), + 'chair': (1119, 2354), + 'cow': (303, 588), + 'diningtable': (538, 609), + 'dog': (1286, 1515), + 'horse': (482, 710), + 'motorbike': (526, 713), + 'person': (4087, 8566), + 'pottedplant': (527, 973), + 'sheep': (325, 813), + 'sofa': (507, 566), + 'train': (544, 628), + 'tvmonitor': (575, 784), + 'total': (11540, 27450), +} +SPLITS_TO_SIZES = { + 'train': 17125, +} +SPLITS_TO_STATISTICS = { + 'train': TRAIN_STATISTICS, +} +NUM_CLASSES = 20 + + +def get_split(split_name, dataset_dir, file_pattern=None, reader=None): + """Gets a dataset tuple with instructions for reading ImageNet. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if not file_pattern: + file_pattern = FILE_PATTERN + return pascalvoc_common.get_split(split_name, dataset_dir, + file_pattern, reader, + SPLITS_TO_SIZES, + ITEMS_TO_DESCRIPTIONS, + NUM_CLASSES) + diff --git a/datasets/pascalvoc_common.py b/datasets/pascalvoc_common.py new file mode 100644 index 0000000..4daf2aa --- /dev/null +++ b/datasets/pascalvoc_common.py @@ -0,0 +1,116 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Provides data for the Pascal VOC Dataset (images + annotations). +""" +import os + +import tensorflow as tf +from datasets import dataset_utils + +slim = tf.contrib.slim + +VOC_LABELS = { + 'none': (0, 'Background'), + 'aeroplane': (1, 'Vehicle'), + 'bicycle': (2, 'Vehicle'), + 'bird': (3, 'Animal'), + 'boat': (4, 'Vehicle'), + 'bottle': (5, 'Indoor'), + 'bus': (6, 'Vehicle'), + 'car': (7, 'Vehicle'), + 'cat': (8, 'Animal'), + 'chair': (9, 'Indoor'), + 'cow': (10, 'Animal'), + 'diningtable': (11, 'Indoor'), + 'dog': (12, 'Animal'), + 'horse': (13, 'Animal'), + 'motorbike': (14, 'Vehicle'), + 'person': (15, 'Person'), + 'pottedplant': (16, 'Indoor'), + 'sheep': (17, 'Animal'), + 'sofa': (18, 'Indoor'), + 'train': (19, 'Vehicle'), + 'tvmonitor': (20, 'Indoor'), +} + + +def get_split(split_name, dataset_dir, file_pattern, reader, + split_to_sizes, items_to_descriptions, num_classes): + """Gets a dataset tuple with instructions for reading Pascal VOC dataset. + + Args: + split_name: A train/test split name. + dataset_dir: The base directory of the dataset sources. + file_pattern: The file pattern to use when matching the dataset sources. + It is assumed that the pattern contains a '%s' string so that the split + name can be inserted. + reader: The TensorFlow reader type. + + Returns: + A `Dataset` namedtuple. + + Raises: + ValueError: if `split_name` is not a valid train/test split. + """ + if split_name not in split_to_sizes: + raise ValueError('split name %s was not recognized.' % split_name) + file_pattern = os.path.join(dataset_dir, file_pattern % split_name) + + # Allowing None in the signature so that dataset_factory can use the default. + if reader is None: + reader = tf.TFRecordReader + # Features in Pascal VOC TFRecords. + keys_to_features = { + 'image/encoded': tf.FixedLenFeature((), tf.string, default_value=''), + 'image/format': tf.FixedLenFeature((), tf.string, default_value='jpeg'), + 'image/height': tf.FixedLenFeature([1], tf.int64), + 'image/width': tf.FixedLenFeature([1], tf.int64), + 'image/channels': tf.FixedLenFeature([1], tf.int64), + 'image/shape': tf.FixedLenFeature([3], tf.int64), + 'image/object/bbox/xmin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymin': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/xmax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/ymax': tf.VarLenFeature(dtype=tf.float32), + 'image/object/bbox/label': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/difficult': tf.VarLenFeature(dtype=tf.int64), + 'image/object/bbox/truncated': tf.VarLenFeature(dtype=tf.int64), + } + items_to_handlers = { + 'image': slim.tfexample_decoder.Image('image/encoded', 'image/format'), + 'shape': slim.tfexample_decoder.Tensor('image/shape'), + 'object/bbox': slim.tfexample_decoder.BoundingBox( + ['ymin', 'xmin', 'ymax', 'xmax'], 'image/object/bbox/'), + 'object/label': slim.tfexample_decoder.Tensor('image/object/bbox/label'), + 'object/difficult': slim.tfexample_decoder.Tensor('image/object/bbox/difficult'), + 'object/truncated': slim.tfexample_decoder.Tensor('image/object/bbox/truncated'), + } + decoder = slim.tfexample_decoder.TFExampleDecoder( + keys_to_features, items_to_handlers) + + labels_to_names = None + if dataset_utils.has_labels(dataset_dir): + labels_to_names = dataset_utils.read_label_file(dataset_dir) + # else: + # labels_to_names = create_readable_names_for_imagenet_labels() + # dataset_utils.write_label_file(labels_to_names, dataset_dir) + + return slim.dataset.Dataset( + data_sources=file_pattern, + reader=reader, + decoder=decoder, + num_samples=split_to_sizes[split_name], + items_to_descriptions=items_to_descriptions, + num_classes=num_classes, + labels_to_names=labels_to_names) diff --git a/datasets/pascalvoc_to_tfrecords.py b/datasets/pascalvoc_to_tfrecords.py new file mode 100644 index 0000000..37d0cce --- /dev/null +++ b/datasets/pascalvoc_to_tfrecords.py @@ -0,0 +1,226 @@ +# Copyright 2015 Paul Balanca. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== +"""Converts Pascal VOC data to TFRecords file format with Example protos. + +The raw Pascal VOC data set is expected to reside in JPEG files located in the +directory 'JPEGImages'. Similarly, bounding box annotations are supposed to be +stored in the 'Annotation directory' + +This TensorFlow script converts the training and evaluation data into +a sharded data set consisting of 1024 and 128 TFRecord files, respectively. + +Each validation TFRecord file contains ~500 records. Each training TFREcord +file contains ~1000 records. Each record within the TFRecord file is a +serialized Example proto. The Example proto contains the following fields: + + image/encoded: string containing JPEG encoded image in RGB colorspace + image/height: integer, image height in pixels + image/width: integer, image width in pixels + image/channels: integer, specifying the number of channels, always 3 + image/format: string, specifying the format, always'JPEG' + + + image/object/bbox/xmin: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/xmax: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymin: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/ymax: list of float specifying the 0+ human annotated + bounding boxes + image/object/bbox/label: list of integer specifying the classification index. + image/object/bbox/label_text: list of string descriptions. + +Note that the length of xmin is identical to the length of xmax, ymin and ymax +for each example. +""" +import os +import sys +import random + +import numpy as np +import tensorflow as tf + +import xml.etree.ElementTree as ET + +from datasets.dataset_utils import int64_feature, float_feature, bytes_feature +from datasets.pascalvoc_common import VOC_LABELS + +# Original dataset organisation. +DIRECTORY_ANNOTATIONS = 'Annotations/' +DIRECTORY_IMAGES = 'JPEGImages/' + +# TFRecords convertion parameters. +RANDOM_SEED = 4242 +SAMPLES_PER_FILES = 200 + + +def _process_image(directory, name): + """Process a image and annotation file. + + Args: + filename: string, path to an image file e.g., '/path/to/example.JPG'. + coder: instance of ImageCoder to provide TensorFlow image coding utils. + Returns: + image_buffer: string, JPEG encoding of RGB image. + height: integer, image height in pixels. + width: integer, image width in pixels. + """ + # Read the image file. + filename = os.path.join(directory, DIRECTORY_IMAGES, f'{name}.jpg') + image_data = tf.gfile.FastGFile(filename, 'rb').read() + + # Read the XML annotation file. + filename = os.path.join(directory, DIRECTORY_ANNOTATIONS, name + '.xml') + tree = ET.parse(filename) + root = tree.getroot() + + # Image shape. + size = root.find('size') + shape = [int(size.find('height').text), + int(size.find('width').text), + int(size.find('depth').text)] + # Find annotations. + bboxes = [] + labels = [] + labels_text = [] + difficult = [] + truncated = [] + for obj in root.findall('object'): + label = obj.find('name').text + labels.append(int(VOC_LABELS[label][0])) + labels_text.append(label.encode('ascii')) + + if obj.find('difficult'): + difficult.append(int(obj.find('difficult').text)) + else: + difficult.append(0) + if obj.find('truncated'): + truncated.append(int(obj.find('truncated').text)) + else: + truncated.append(0) + + bbox = obj.find('bndbox') + bboxes.append((float(bbox.find('ymin').text) / shape[0], + float(bbox.find('xmin').text) / shape[1], + float(bbox.find('ymax').text) / shape[0], + float(bbox.find('xmax').text) / shape[1] + )) + return image_data, shape, bboxes, labels, labels_text, difficult, truncated + + +def _convert_to_example(image_data, labels, labels_text, bboxes, shape, + difficult, truncated): + """Build an Example proto for an image example. + + Args: + image_data: string, JPEG encoding of RGB image; + labels: list of integers, identifier for the ground truth; + labels_text: list of strings, human-readable labels; + bboxes: list of bounding boxes; each box is a list of integers; + specifying [xmin, ymin, xmax, ymax]. All boxes are assumed to belong + to the same label as the image label. + shape: 3 integers, image shapes in pixels. + Returns: + Example proto + """ + xmin = [] + ymin = [] + xmax = [] + ymax = [] + for b in bboxes: + assert len(b) == 4 + # pylint: disable=expression-not-assigned + [l.append(point) for l, point in zip([ymin, xmin, ymax, xmax], b)] + # pylint: enable=expression-not-assigned + + image_format = b'JPEG' + example = tf.train.Example(features=tf.train.Features(feature={ + 'image/height': int64_feature(shape[0]), + 'image/width': int64_feature(shape[1]), + 'image/channels': int64_feature(shape[2]), + 'image/shape': int64_feature(shape), + 'image/object/bbox/xmin': float_feature(xmin), + 'image/object/bbox/xmax': float_feature(xmax), + 'image/object/bbox/ymin': float_feature(ymin), + 'image/object/bbox/ymax': float_feature(ymax), + 'image/object/bbox/label': int64_feature(labels), + 'image/object/bbox/label_text': bytes_feature(labels_text), + 'image/object/bbox/difficult': int64_feature(difficult), + 'image/object/bbox/truncated': int64_feature(truncated), + 'image/format': bytes_feature(image_format), + 'image/encoded': bytes_feature(image_data)})) + return example + + +def _add_to_tfrecord(dataset_dir, name, tfrecord_writer): + """Loads data from image and annotations files and add them to a TFRecord. + + Args: + dataset_dir: Dataset directory; + name: Image name to add to the TFRecord; + tfrecord_writer: The TFRecord writer to use for writing. + """ + image_data, shape, bboxes, labels, labels_text, difficult, truncated = \ + _process_image(dataset_dir, name) + example = _convert_to_example(image_data, labels, labels_text, + bboxes, shape, difficult, truncated) + tfrecord_writer.write(example.SerializeToString()) + + +def _get_output_filename(output_dir, name, idx): + return '%s/%s_%03d.tfrecord' % (output_dir, name, idx) + + +def run(dataset_dir, output_dir, name='voc_train', shuffling=False): + """Runs the conversion operation. + + Args: + dataset_dir: The dataset directory where the dataset is stored. + output_dir: Output directory. + """ + if not tf.gfile.Exists(dataset_dir): + tf.gfile.MakeDirs(dataset_dir) + + # Dataset filenames, and shuffling. + path = os.path.join(dataset_dir, DIRECTORY_ANNOTATIONS) + filenames = sorted(os.listdir(path)) + if shuffling: + random.seed(RANDOM_SEED) + random.shuffle(filenames) + + # Process dataset files. + i = 0 + fidx = 0 + while i < len(filenames): + # Open new TFRecord file. + tf_filename = _get_output_filename(output_dir, name, fidx) + with tf.python_io.TFRecordWriter(tf_filename) as tfrecord_writer: + j = 0 + while i < len(filenames) and j < SAMPLES_PER_FILES: + sys.stdout.write('\r>> Converting image %d/%d' % (i+1, len(filenames))) + sys.stdout.flush() + + filename = filenames[i] + img_name = filename[:-4] + _add_to_tfrecord(dataset_dir, img_name, tfrecord_writer) + i += 1 + j += 1 + fidx += 1 + + # Finally, write the labels file: + # labels_to_class_names = dict(zip(range(len(_CLASS_NAMES)), _CLASS_NAMES)) + # dataset_utils.write_label_file(labels_to_class_names, dataset_dir) + print('\nFinished converting the Pascal VOC dataset!') diff --git a/demo/000001.jpg b/demo/000001.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a13736601989ab6fc5b4dc9a6b9412a063e57b11 GIT binary patch literal 78771 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%0AxcS}dpt2C)MZ+W}^M4uTxE9jmC@SW#~ zFWI8DiWYSvfK(2mzZO4hKaKX^9KJYfUlnx;#Bj7i+S)lK4zNI+D9Pwp@^Q!}zOMbd zzilhujQ4jR1HKB}TuApWQH_cTWR@VLvZ4S(`+ zWIqS|JK+r`_r;$XJX*R{*n-+^8%fqQnVwtqke7_YkR8Gn86I%~Mlwz~sC3_qT6Uq~ zxip;%;SAm#)wHQ^Y+uBaT=}i7MJqaaa$3rPEy_lqWN%>GvfKe)f8wtc_>bZixfQ0L zdiT=BZm{28&nrvigjGd}NjY7p09E^|$Q|qK=~TvMbQMUq2uo*gd9LfCUT*B*#bKyr zIF~}A=Bo`Hbmfb_(tEpGZ68NtKjMFjZ!dg%tPh7bnx>I&tppS4k?PMZ7S_ZMl12)x zAm5X>YL0P?Rj+{m0I~`A=kc4ve+=z49X8)v)?VnzajRa7cx71B$i<&H4tC*r7!`9% z@Vfz1v8ex zBHI^H2JhYxwUA|#X04D?vJAqHqd=KE|nJz87Gh&RYL|{Y?5BG_3 zGINtsc;IQ!=Ji7qW8 zf!RzEjFbnk1QJhd;<=9*OLyXpLeBCXvl!(=EYdMxj4(G7>A~nb_NyK~)$d=$I+dQO zEa)$7Ry#>aBn4Ff^cgrL@$XqWHObUW)>oRGj?nCe7qNwW*?1)69=ITN^{zZcOU_ig zyFT)3tM&W{f}5tNzh5MpTY7djWz$60R+gdFyvhF2a(3-8qVC2)<$=McJ=79vaNTRO z$87Qvbo&KNu{bBqagspjMt!OsUrN@st2=hMgj<_Km3x^Pq;(&8O0P}BwrU+(U0+Ys z?WQ(*Y_~I&jTRV+N{NCP=bQi!e@Z3IPEwPPRsDR4gj~{$W#4VrU&rq>^*9VLt<%U2 z!n_-DQ!1`A$dIqPf#b*d+S10E#yN7Iy=WhUv6W+BoyQvJZ+SrILE~ib{ zXKNL)exI-CWdz|t z)LZoat<>M}{q~dLv~4ceL%q1WhCuQ`X=qquAH?f`dWzDx@o$gJepZFxF>N0KWYi@d zVhj*+IOl_b&1h&h`Xf2Bi(iTho{a%kgoC?+L*sDgtsW%tLmQRQG>PNAzq*k^$gP!u zPaBJzsKFk`2ED}?(Zj#rT0InbZ|Qff*}%D_TljaD?Y92?^j7?XOt<)h9MI3NYIafE zF>Ua`nBTzQoM!-IIIb(j?Kg_PE7({`5V&0;&7SE?Z_KWKP@~jiiqY|<#JW#~{{Xbx z#X5wyvN}f^#VW@VFk)QoB%Qbz$m{7)WxxajHu4S8;@R| zwdPu#CDpHFo_~ULg0nue|K*_ z^~$x{=sH15b}Zgm4J(yk#dtgpNg(wcde^&IUaEq6MQV9;IintCw;`8V(mW$%);7|} zGqvS~3XPJkLXdq)8@cQF*Pq9EH;Z+s-eZ`HljefMdvI8gK>*}b-YoGA)!v}c*hjKS zmlBna=5GH0G0&!P-#D&=;qQitmOa*TG`}ef#D-FOFg*`&N58dsHR?|pSy89(Bf2p5 z6nW*l{;qU>0`Og!Xui{B_IBJ1o@}fO5}}w8kGcs2el^f)j=El-JbHb?&SKo8c2d~{ z^Nvn9Bkr7@^><0KT`m@hRyi&M?wrZ<5JH23Ff)$a% zU#C4W?OwW6@YGK_3RP-d>-}^W{u2ui?#urGfq(sKD~bC*{X+-+{Gzb>&0jCL)7W8u znSMX!e12JST%HelQMi1|_)?Wn*&y@5_MkHc`gE`6tDmMM#gN6g1WX)fG>fwtW+NV* z$E7*X8v^i7bB>47qhXPXPjGKiMT$3YBi?iONA#uM#HfDV$54F@HF#1(5OOg~<**~n zBLleS^P>IBO_JM*rE@OY=9aB;^&lHBz+>)bUAQoU-l{|sK?_WcBclL4c z#rBMzJ+jxdy)@ax(u>Q08+_`&x{GE>mPd1g!Q-0FO-fvgsoRFbPEhunuG=51Kd`pC z{{R&{J!n23N2lo45}z(@R`zwezQ3HH4>Y0vL>+LrIKUYd_P4`JF9moC(@ya2v*KHu z{YjH$wawcomf=+8n1oeO20-=3EAo&23B%%>ABS2s)V?k8Tz1y>b_{RTxoI5Zb40lL zKw?*?rGA0Z=;g%#UsF%}4wm+ETa4IkW_pXb;ikH#5+sGw}rT+krl*wrbKX@LP zJ!_Zn{+DxmCB@tbVTSa?_Oo2dvWtmNA8?wG zCnmY2gKnzSk8d7Q)tRx17H7KN$ASsk0IRmYWt=g$V%u?@q#SxxKN9M;{uk8wQD;{7j2vPU4>Tj|q0u95!$w(bC9^cCF-5l@un zl}6RhvO9n>@kY!Sf_n<1t?Kr6(KM4bcMJs_lk6!qe-PX0kOVFP1Av2ZCcN9kUOKtC zzmnP~@>sYT2a(Tjddn47G-7E&ldB`4z11~KtG0_tRJIDamR1>LUrc(Ml`O2Rqx*9{ zWbHJkEtB7#o%&WTi>gDXk~TP7hYIa07GiPKcRhVLtS=RK)nY$ou#K*+Q*pvK%Nm|C zdB%OZ*A)h)?)86x)l$(~Xo);~;=MOSvbnqwIRQbqm8HtDViiC=j&Lzwp1-%3?ZNST z!g6YV4}KbaFOS4G7Aj=cZ5k$(p|#u?TqsheMF4WS>}%eCYp)V~Q22@PZ(q&#>(z?C?dJoK!`9_UR&h{=C38zz7u%!;orsWR>#Jg#kYrT{1vOq_8n`(_u-?x zk~bk%-Oz(HBop&xht|H6ZwUAs_7wPI@dx5J?K|N;JN_1*#Or(LejfZOx}9z&v|G)} zw^wV(iYQ}Z%at3O0Rs?m^Dl>dC93$EJ4^jrbeeslh^(MqVu3<~wE-U}E;kZ=O@8Cy z_Cr?rc3zk&l?{g&w zYxAVjZ<~@W*)2JpuNQ0jx5fQnrkim!hLt>qX|66*B(h4}vnJ3Ap*cRJlT*dvoj*s@ z{?B6ue4^hZUn4{lp#y;A=Q%#Otvi{mH24}I(X*07iqm0+LBJp00OuI2Os^wN$rk$ zV<7XIjx8!hw`-{6G0yS@9!e6}QJth7$Gc?WpDSz?M(m2#+I_96B&fTibu3h{V5&LW zpHtu1*B|jB=TFr%DRjHSg56>wM<9})H_E`^_RoIR+G{uF-ZtLxmvtZnjFl|IX~-kx z#t%NYuOso-i6*|E`!Qw$5xPl^41W@|XRqbvM$k_xA3l4Tvci8S%Ebh2z>h; zF2u@!pO)d8P^93J$FB!C$2F^WWgPk}o+0r{T(e9I+vDev7Z^~W9u9qY#bHgQT3Bn5 z*l5s6<>UP(ZRN;TA9DoYdi3gQDk_R9dj0zAI_5+R#Wgc)t6Y%;5r0F~qbduFk<+pS1x zcODkeejf`tZr=-W9I7L8jF!eSz^*VeUCzA)wZ*CnrCX?{L+3yVQs`9iv|s~~!R=g) z?u+A165Z^yZxpLoAY&AB$C)F}K2XOaA$adzm3%Eo{1?}?n_idvHM;ZA>Eul;PB$4DfC_QJ#&gd#=syGWnY8^5(G`$DV?gL) z$d*zI7Uz%%1QY5j&9&rlFsVlSOo#-nk_3ZO3v4ngD6x*v%*FE@w?MiRsK z<|Ch%INP_6n;pe@pN(!K)%--B6-QAOu>$RcV1bkJu6}Hh#z$&djw)28J$l)BzJ*|L z>QRff%kJLae#O6rb~=}f^~oiQ(|l2*8K=hwo}l}1KMMDM4S06vL(=1pdxurpq%Ou# z6!k2llg4?^;a*?iKM`8^abVIktpvggDBn0{X-{_xjAM)u=yP7Dsp?B%3z$wR&5AhIxvrl?q8YJl6rPOL=#wuA6IYihSLe<<8LGdv7~%Fms;cir>Gvol;wmvOXa~j_Or` zQ}YEm^f>1pzLk^VTT`s+QtP)DCE`Wf=0~wXIL|meMnE~o73xVk(~MHlztrbm;%?jM zzY8;CZHN5}qyGN@fA%y{{{RUM$F86M0D+NzjTOHo4#aYKqu{qOo`(!OVw=As(0bG7 zlXIvJGI-;yMnE~*a7SZb%k5bGJ=`}le57>dknJ4raM4!ZkhVjV{-hcz#Qb{b*G#}#aNyGnc|waQj$k`@EhX*_)X%bxYT?x zXRT>Bk-S&hW#}rBZbFLSuPVyKFg*!gYt?=h_}<%0@l~YIc$)hD+SK{BmfQD36s!mm z0o^U&FmC#eNmMC;LxIzO#(nGaM>; z5|zpk^Btt^Bnr}$BPp(CXsXVd_c!%E>iv=aBY1ks`oiY+;qUG(3*1}SyDlzS*ak_Y z9N+?2FLTdo{Ve^PJ|(`bE}5y%ufuC*=^(Jw<3gg;F!^oLCE8r%a>qWk`El`T{{Z0* zo#IP>ik}2N1IZ_cwTmckblpox@eI(%0?CzVCryk5>PITQJ6FB_$G$85raVij9WUX( z!5KA(=1Wr@?x}ewTTC_^AngtUoRT>;)%9AgR!dLo%k>h((y2+w>GNOb(fJ>;Uj=Nu zEvec+iEZJU;%Fd>JN-iCizso)bj|{fc_$oKpy(eEv`u#Wcz?iJjivd4oBK-s-c@*D zAZKX7A()el401cy$NvBczh-}qo+8t3_3w;-6!q)diC9Nx;q5-_?3z4rwl@i4Mh0NN z!Wf$R2f!M4!(Z8V!g_|g;?EUDrC3I&F0OSQLK}N@P;-D;l|dx%3lo9>6*I#|IxWsG zZ3lOI`W~OA*xlL*f3z;7pFEkSI3)XyfKxBE7*RJ^+GWTJp!8pHUk?0T{{Vvi{=ohm zp65o;d}ZQ)6KZf@eVQ#J!u}hYM!k@dp+&^OAdGGtvo`~iUp9Px{{Vvc{?$5OlMcP` zH}-MxmW!a=yZ->D_=i%LRlSV^lrjk62#OSg%QFv@whHl8R|8uKNlLQhQfVhEE4Hs? zee_Mf$!c`qFxB%+Qp33&!?6=bE zQ_@*xDlw_boTp9u(AsK0%#-+)wN`%jPKWPbjXZIuSc%rpR`SvUUgB>sD2NWc^#h(y z(zuvBb))=A_&~!n3zRpeoyagNOSw(nZRz1&0=Xkv@ga;^zBa1z}KU}I##=O zE_Dqv!&AtKJjw#J!Amf=X2~oNsbU6t3gpZ<2a0j|T}l~kMMkupl%}qdy`I-;_R*Qc zHQ~Iw8wuiTIS2)SWYtAjS1%?T={c`$Q?r#)FBK<`!c4R#;3%Wq;OX%-ia zWDA5PRY1Y%lY^Z5*SX>U0D*iz!ZrT@v@w-siN(EK-Qxt_ua*hzezR}MBg^7H6f<1f z62oABbxEsioSJ%H~{$`fzT-LQYudgmxGVR|i zjKuXL0EGjf9Ol*Dp?H=rWni9Eb4n6$Q{{XDS#U9fkK(BO?N;I`Zf)8}Sziw-kjjJm zxa*t&$m5!O+gtfD+Dy2(kpaPN!9fQg_5}9tU%4u35!1`?KQ^gey;`Z%pEL7!x8L{Z zQI^>zxEf-`B#f|@4B!?}y@#k72PYL)M2cHxm|ifDZst>x7>~LD?bCzBUybfe6BvjO zBtWw^(CDGDv|w-#8Shl*xr#MdAX333Ve=D!a1KcvXX{Nx-sC4F^w6U4$@{3;V^@;U zg^@uF+yDR=;A9X_6^W?$&%^fD%LbvW+x@N;K4fsCJM8&R;1fGQ&MSC2j>X(rINg>x*9?g&`zj_t*X z>Uak@HNin1uXW|!Tv~Y`T*8yfaUd+`aN48~xBGRuIUTF#aTtpDzl-kMw!6PSGu5L? z6kjS<^WXIS4Siz8?FGKI6{aJznMBPiouViCUmzT?106l-mQdK)*-7D>$>M@|h{_`jp2)X zUlMs2F9U>%AP!iwWJaV6{G^U^$O5{QRG&K0C9Up~($;>fT{@WQ8$s);wzv83(_7!Z zn-q1s-xfovNhSQ6bXNIOZn4{j0375FK|Kk_L7K>GS#GZ+LumU}MSF{dAw1ug9AlCC z)VDU)kcismA1$PI2^G3K%^@X}rcQRQ59wAdJRyIp>8*Di)@8OpV~*ErEFg8BX(eZW+g!zhH;Jn z?^nO!GSxJQtzhx4kuIGava2MkGRq4dqYStpoN?`6MS+wswCyXXyIW1ZYW_!$iH%D2 z8;-Kp`u6Cf5VTetAE2}ePgBT1tWkEb(4ujZ=<~&MFcG5;J(7>SKS%&5LLv;k6xvx)7S0%so z_neSRnkn1yJoT+(xbcD{?#18|vqvDv+(6o(j{QgBUe9FGX+96%6rn^!yF8MOpkR-g zcV&i89<}9O4b!b}{6qGQ$sX7H(fr$TtG2DK?{gKgGB78VQrwIwIo+INj91UqsOwku)0euoNnQR; zE1twD^3wKkTD{w8Ejssh+TVF&#gJThlUuRy_J*rFY49JmGT;SX17P5ASbFCbrFtGk zj^4r)0^U8Yt#Bg|g~m#``^Ope>si`Ii#!RSXz8S@mAR5V@|mK{hC$05spxZzb%VP?byS_BbNc=M^2d{09A{zvwY1{rF$-qOttf{s8?z0>9+{0QdE% ztM=7LX#W6D{{XcOfOy78x=f^h|>|@dt3sMvu%-9D2 z_f;hOXEo?$m^ovy)ab6SUq!#*VOqD<=t_ORK8M}ku_x_uul~t$4I^Lh&5w+HB?Y>z zrj4sGD`|R+$1xT_Q*q8$1x0<$@T>j{tMJCwPb*ygp6>L?Eg}+4_7QH;wqq<*g(^#D z1LYrD{J7I+xQ^i8&v20lS3*Eo5mid6xGkHejJu&T>d?><)Tv z0WLTbcZOSBIMi66yFgX>wq&<#;NY+4J_M)jk2f%3sM}^rKDrk zEz`d0P44{<*|6L*gURx!N)ymeF4mGMuFd@16O9cx}a@SnmxKf*C;+D*8B z59qfH$n(bGTHw3n#pYz3a6mX270LK_!_jyT!Laxa~=2%=Q$o^vIp}?Cu@Rv+&JSSjn(>p2XKBXBfxt+Rd-gS+nFzRI&#I^ z;*$Pmll!j!04?IaHO6rRf~ccvcU;L?&As)$k!sJ8d$+s$PR-LiF}ioxHHp$U-dSKm z0>S`Z6cN`1joor{n%$QA>?|@wySB@Mtsw?LS;!=)>Oy9XfWZ#iH#r2T!955V7_C!} zK{!q5beeVjj7CcqoR)-C)$a|VHN z2)LVgUFz8g1`CxOt`8iZYSK$_rvrBe|J%s4z<$VpEd@ zmki!&7Qsrn#QEK~>58_|8wmCW9#2z2;`e{@6YBa=vTp6#>0$D>BDoHG- z8OI~(UVY+!6Y9F{={Fa#UK@DvDnS~gF*X8^Edd}g0A!pGYSQ?lu6U`hEyk-dSli7R zcm=$Kw2^OM(iX;0WD$YuT;_qJ-0Ks?XJu-_-c#j?NyJJD?%YpSBEC-3=gPfjfZ8JlQPX7Qyia;5IubUv;WpzG;9iVjrv@JBxA-~c@ zat4_S;gqQ;k2*~OI z#yA)qtD5n!k5RX4X*B1$ad0-W@KKcIn4Y0kLFwyVKBY94kcPUnj83tQ*pq+(10*jT z;OD(^I*Pujs@!R?%A(TLnRPitfR_bHSk!groRQN4x-r&NITp9*iNZ(UPh`I<^!0jr znOYv5zs6P<)@pX$7f6Qf+mHgnQM)7pay{#<@aCl+nc|=LL{61wXB4rqie-~($u{mo zC#e8(YbV1}JN*Q34h82{I6$6ou z-j&p7+O&GEjUJ}QVqZkN<^@>956W8u>5TeUDW>>%>Yf_YY*0e~0AcYYo_^Dn3Lo!r z*yJ6!9P?hKdN+(61$8BL>a70euXVPE6&m~dSFCh>dOJ4XRMwVv4+-kf-RRP3x}3KO zE|+&C6K5*V7~>!wPXG*$N<3XORyMAX+7($&OJFe|3;~jJgPwgU{uuuNiKesSJNc1r z3DiU|O%!3H8wbo7b;^(dKD53dw?vjb%LY-L{`L~c0sGj`2kH3NW*b~0i*Cy4Kb@2L zob_WBh_$e@0s8e1sTj^RRVZjAc%)aR7JlX zNg2<7P%EAIa~$ojEwr*RUF2n-3fn=#kUoHbYX1Po&lB5eUK_K9+9Kdii!2dJLlc38 zL&!b7F-n6}FjJG;QCd^RMK9O-`}^4Q?+xf4DDb&N(ljV1-n&6OI5HLI=o%i;mH5&ruhX;22;sk+-1-o(6g6y?GR+M-5N+Gn`j$R@dT> zQhe2_+N@zG-`$g&b|%4nYKeUe%xQ`@wofoF@=n z4>CQ?EYiC%=oG2ytU{5HeKTCXi{V?@HBaqrN-3j7LSwgQ+UqE8fObq1iuFA&8djdB zIb{z%)|x`(Fbt;$7$g!h2t7dduFSSG$4yqRO-4&g?AkeTvQ#7Nsm-|WZ$B^8t*U{h z=%AVH=7MKeWQBGWjFZ%o268jsrYp?#O=i;C@M>=n7V#M$Y?0&5Wjj>iK;-0n-lDpH z7v0=kO(cJ9aROijivc?D7?1%yz&$Zudw(Q)<^0T<7Eu5Y7RZuK+_xNH9G*MZR$*U} za>wMmnc<<%uD1KTl7GT=s(;WfU(A1n6?5!%pY$0@E6TLLn7?aJ`4RGYDmdH+)YBIr z3=lav%>VDSu*7s23K$UIp`a35a3inG$NEqJ3?l&NB=blVCIgR{a2MC!o{fXhaXVWr zm0`|BeKGJF#q@87`fi-kw)=o?q(dIXeaGeJ1e1Z(iuta}(tGQ~wTc&MBxMSqaz=SS z&c3PeyRMU=!XRCZX$ZLUCXwfg2kx3%302~lW0~>({zdglg&hp;gw6naC!xNW^4>d@3P;jNm!BR7vbPQ`g zz^(P%aznJcsD@>dEzK()OA(#81CBZLtGBT&&GdFshc@=ErbzRFApqe}E>1b;HTP4g z&b8OE;6ZZxt4H45KQiTy?{v}PD}*q@VpCuMP|AdiyJX`z&pyJX);0Yi$U(1`mIy5L z=8DQMD|267NX`t>mf>4z2WpSH0X0(MYmGtv!5x%Qz?t(MR~rDv)EHBOI-HSPt9NCp zSrxmnEgs;WS(|WjPScEYwB#|zIXrP#W*KtKuoJ_^Ot9#jtY3wx^14xUW6uOx-hC2X|PGVRG7M((4IhP|u7`UaKYTSf*c zWR;hF!$vdbuwYgc9fFPsKDEVod%=1?hCE*l#JZf47-40%$;g6Us=$xDRC?E?_(DsI zz`$M*@ssu_r%-U*25*-cBW7}V=CI)o8LO4lmLn3sd8&_Oy2*O}2=(~ai>T(fdU!k& zYL~?~)xL_~-QDkZ=xbkOJJ%twc|3ngT|8P?X$D!Wr7+2BFWGJ)m={?U`wWbb2|xa-g6~wflFjek1hNyk zVnrc?Wk_ZqeHs8#;n$L4hI22PE&w9FPD5zgn*zp=ohoWtC*V&ONToyB9)p% zJ8&GHj5z7(%}Xu((#TfiERPc^tfV#o$YM5(6*cAg24bLQYJW^;BmG6J+{Q42!YS#C%Nes6hOGUL# zL0>gkpK^Brk%Q@6AB?<7BvMOfW3u9Qgl&@zfr0l*jNJ3?YLD&fuwg4rZ4NWlWQaM)-; zT`T#W6)MW3vv(}PZ6)TX93ttJq;`F$q`k_9=))xA9dK&Yntav_F6Ml$)hb*TP;uCR zanBh1Dxyng6|(&0OiTiVK4$hS_etzQCjHIjy zIj=&T9AmbpB&6Jx_VfITH?W(SmMdqTM2w6U8D04yfCG$YoxOPmvb-G8&#!9!5WlsB zE-xl68czUkFag74jzBm#9QE|BvMVf3vRZ@_!bG8uU`Q;-Ex|bBjMQ46f^ED{aGIW} z9Ffm%S);zPaptHD7-WOb9gjTMHYW>Kq@y}%Hnq2Pvse6$saB^O!goon)~z+J-Mj1l zMizyn-1u6^_&eeji8R_ipv2l<*&_jJi}_R@6O> z(wqyMRs>+2;FZWfg)>e+6Fe{_wvS7L#4Ga@EpQTLjGTzsImjo}3eVSkTND%Nu*2cI z-74zNMRkMBJ5?Bx!3hIAaf8Ki#Ztkf^-XkX?R{f(ntn%L?=e$qHh0$Ptr|+wvv*Iw zMreF1X*3;ERQPps?a!0NzFB{%V;H%5YwD@Kb>LATzL>b#~ zQwM$vZO>ZT@ehVBwSN@pz9!J5jyHi-<@-_)#X!gejtLp(*0!~aShXuDbc@SKt^|?* z!R0vHx9*OkKGoez1ztFL(SzmXe&h0MPrFocPZ3U7h}PXnd&|#9>D%ORJ_NP?%ka&L zTv{E|d5D=fQ#?g2(Tm8txB-?u>PF(q4n|H#P6sE{R@S`>XqMTr zfWrceF2lP$vOqilJq2=lh1H$Q8(}g#x<+y{gV!t$IUEeGYo;-V9+IWn%lz4!YNcOk zeeVAM0MGN-+W2Jgwyi9Xvkxg1nH^QKxEKmMj;B7ktWSU#Eg-iFXAPo}F>U zZQuCI#9k55e#xr%QKg)+{hoJ|0J?Q%Bku!^xE{H#e@U~~b*~k-h_yW)D|>lu%w)!( zi4>M906ED34txG}yJ+sAIxM=jt zH@3WdOEhV_Vu;2t4G(#hR<%Ncwh{B!sDCidGmKw-R_ze(~HlbSABMH^C9j30W~!O?c9^HPh7MzQ^Go`Q-lq_wZ3&fA)NT z^Tq!F@6>XPiLu*@Ce}IT zl@q)1jBDzJ@UDBF`1~t;Jqco~ zs&UORz+-njxnKi>gCJ!8&wwX6C2ml-oqd7POrD|Q;O%2Fq zT)0d~5bhDT0f%gX>+fHtV5rl>QB>il^||v^r0UO_`@8yiYF@Y01)aRN<9x1+-b`-X zBV>gj07%XO#sLpU$3?8`cOFhEcyIGGc z+#R?r%CKRQat?VsW81BC8U~AT_93a5p<>Fa>m1BCG3Rj&oB(ssa% zyWjfP{I~2~@O10@?Jh`s*`&3RW4O7Dui4eM;fME#0FFJYv(ggZN?TtdWrW8Hm&%iY z^5KVUxi~o`N%rg0y;r{0 zVTN>*?PU3gRz0k61_tBmN$3V~jQ0Y$o6iwPcOt>0#M?ZzbVrGcZ8!x-wntymq_K|e ziL|s>CL4a<2@>JyfXh|(5NFha8Y#PtMoT;+|m)ssPKad?=K#IJ6$mJy*$;1lRb zBxjro*SENY!s!}B=x$?W4jDiN+#H;c0l+;oS5IBYmDQi2diFTl)!~lh!y*9g$8umC zZ6|3xLFxRe&aWu5ktJ7U+@YK1QkxX+!6A7#Imha2JsD!N#8+li#6^%kM?eaJk&rs( zvu<@ZyoTn{W>}+%fn|}3f({XI4_xj!HMP`Hjn(zn{NKy`>|B#lyjT`Ee7}*mN(w5N z$Y2q&2jiOLJayv+nXV$Z^JI72(=!pVLgZv)l1b-*(yRD~#+NWe_O}-$OWP`}gtD$|D+t~U1WJxnB*mkj<;#Aa{2#FO9e5st>VahRn^S#EV<=s7gx^!~rk@cEEj zYg6jCDEB*&2~mVQfx+Xb&JP`G-Hn@#LP+5_5yy-3SR{p=M zkXxm@TAwe=%N7?K&;$%Y3P1p!207#DQ=o?3S>JqXw=-PE#2E=Yy5NGoxB%y%t1wxB zzGa{QPJv3aM1Vm%xWFB$e#&iw#c2x?g-4XE071ElCGEwBo#wD2JBY{&^JlhwM<G zq6RrL8A%2ThRI?%1BbvLj(b)8LekA{VsLmE_vkBFQ;n?? zCs9eYCAX*fex)>m6wGqGj9PD+RTvL~IuH*z2fi=`T#n>ixzk?K4cG!twnmaifC`5U zzp+z$d8#9cuYw zZ3dg$wY`6@Qr)b}DR{K<`mm^-SlNI%Cyag3 z^vycg{U%T))MK2Oz`%=eOdMk>!w1{9y)ss43xRhuy8!*#ZD4T9qXB@ytYR0LenlT6{dnXOQ|G-f>dK95I{XgQR`VZUKP--Sl#Mm0g>`A%NXsPg1P76rQlB|I-nJvSH0D^ks?vvPNxPKXVuF5xir?{RLjRB2Wm7`9;WM>3| zI%62D>Pire*{mtK&0B7puD|fZz9#%awy?36!@3Lak@E~vBPnIdvfu!7v}YOQ^{PJ# zyfGTvuBmlw0;&wY8zf`z5)Lq1@f~X)!hQ_aJawohwSJq{MJ*+~irFdv#!pozsOOW{ z720b)B7?)4YLX0p8+racZ_c&o(lp^X?_VZScMf#mJV-*i&No&>qf2O4m zA8Rn`)4rIN@ZPMOOkl^*1;_-E$4nE>d(*TX9WAYr@JAvh14xtP0#_gm5%Pe!{5@+o zL$$i`1^Vij^UrXNAz2x^=XTOD(BO9!TgN{UEwmd6d^=?tG}4khw{`@t-BL>T$t1|mRL4~IvfHBldm7HXC`Z}HU9}(7L4pS5B=UY!z~iT-YWS96V`TRYIokr}SmHQB0QpJBC#VDr)rYx`I8rGL zsze1FbE^jK2*Bt%V?LdGa$gg*UJX> z@z2-#P@ofnDc~{zBxG^NJke`0B$*|JgxZD7b~d)m^GN$pC-JxA>DIoE@E5|VG!KRF zX{x?vulDhA1Pc*!B1o8FmHz;ii;c>?)E}*KU$W=I3(pbiG5E(>(#fzg2qKa~QAuK; z;NXC9-<*t!`;+1CfwVnR%GblX{1HfP`}r;J9Umpqqc%L=DfOy3=ty2Vzz^K z{I->P9ltOS&lQF+38knl1(ZGigsyNXeE5jtf2hCan~n|_c-lcm&C7z zck}qGT)6Phhpp`-(=;U4yiKM>dm9ZEZs!SYXoG@fNS+mF{`Th0a)LoKrs#7^ouFp$ZnmT=qcW*V@YD*l-sGB&$5V^=WAa(EFw=_sKKQ4QRl_FMg_NfTkO1CYK zPJ;_v)tpTg;>{6}C5U6oGKNvl_s1lh^#1?~=yZ)zZB`g;F76$q-W3`|$S=6<10em- zM?RSAUbY*RJ#{>4x~^r{&-{_GV_|Y67gst`1i%rt;8=pdu0}pUK|M`$+HH-h+R1dK znd5RyTe3h3cHoW}bJOWq@Rq#QEZXC2u}p{}5;$V)3BqGJ<%b=(t++3(?4p+4mJt&G zw$ZF?3{35uk~<6$n)k4@qL($!Dw2&!CH;S1WB$OGOD)!S#v?$k`<6rnvK4^olisFn zK6fo-w_`42GDZpe#N%KsfzEJSwI-QxjsB5&D?{W%m02H#P<~v3L1B@R-mNC7ZF4F| zd*(2TP$xm2TpVQx&I5JF@~=V>g|5zNUB$ zHEPdZwz*evvQr*nNTgg8B(Nlo#NhMS-nE2b(8_%3R+fqX09zW?@Y`Kju(q+?Z0^Mo zl1lt%wZ7n=Ukcu8 zOc8{_GRmWDic2;fN6a|{05RLvvGx5?1QT96M{S>#e|fiV(le0xJay?=df$#7^5wqG zBq7rR4=d#Wo~%dlamG(iWV@IFe zweLx?OO`h_?+ZrEw=N7bETjZbNNf&souK31q|)@XAw()lNEQA>&eEfA%1%iH5tHlB z6?8egl2?-gX`eB2p;A7IqZk7UMt-%cVW1mm3W*|$RBgZlUvC)T zXB=a-dNHDtvC8J0A79YTj^;hHyoIiO!og(nzzRrU2r-24_m|g=YiSw#*-V99 z_yDT_MtT$6_N}v|we+5JvD(}u?qjyu7S&u~v4BS-cRxyzG*?L4&hk{mfGOK)6*sX+6=Ls$MPrrZu&>fy8=@Y?)GpoB|e2rvMCOoT=~JRrowVERsiWArA;; zUof6gR}69(@(Pp4t$RC0v$qpn*{#FIcZH3YmLL`C$B?IrmLLuQtMSSs z#graw(Rqz40!Vn3j&~4xjyrVxYa&a9n)PN)P2%~(O4mt+OsHTK{J9(vj(S#pp|2LW zFeEV*MRbyLD&v(qTO*JM2dU}OmomPLArENmpY^t;?yY;H?<(r>MI)ITExnW26Nbsh zZaq8IIB#wdVZ4q;3or$iSO~x;aL(hBF`hH&T*c>zZf1?$ATy=AgS}%Q02x35k5wR? zpMKR=ZEQgpcr_^!O}iE+kQB*X#BMy}py$%Fbrr5^<2^6i`u@EwV`^^@+n8i|B2BzH zn7C2KLBe$)4%L-^;>LvR>+A|OkV*4)F9Sw zt(_xAW=2S|uffU{?YQLn5$J1n>I?lwcb;}gr z$Kl;3?VN%TI{+01JCVrhao0Jn>a(XxJo4MIj3GJ8mOp=O`itV<720VrTWI=pp|c6| znhSsRVY$cysp@m-#d6wLg*9DgS4lU`JX5we%t9TkPT!S*BOra>)aIq|=Z9`J58hle zNi2>zWx*$Qc7oX2Phd_f(R?}KgoYT5k+hQxhKN4W-!@f2#yL4G4^QDDxRfhnDk;>` zJrU6=u%%0uJC{5$q-ow7vGY>eC7v`?SRAq_3RtqKBZGm_vz~e8og6Sdz?>|E{IBJq zCj_=|NWuI$$6nPgw>7+0YiML>@W9-bUo&ytg2447C)la&ih@YvhBrx~^8WyM3nRz_ zJ2wge>5>jdP1xJsy;#N(vB9ma*Zjz}d;5DhJmzdXq=K>B9kD(LR#I`e3?G{q>+N1$ z@e^6P)vlqox{yxI<*aWX8)IHd{KMuOw-DZ}dg8i|AM57U!EO(hVGhMqF4T}SZ6FbX z(VRCORfakqa6T4zXH@Zawme65=EY)HWG?XTX9Rf3t=s&fotaU2YV-XQNxs(g1k<$ZMwUqi0)fCC$vuD_>+3(* zgTvZihWtqn!ygiOrs~$yU$~Ctjig9cO-=yqYK#vuN6dj$j?XZwFv_iOI#{|`3b@Kp z=2X@7S6XkPvvyk9b}E%hF|QhP)w|hueJ|yI_y@me9uDx|ge?C6v}f?{rFEp~@EIRM zS>s6|wK4h0A&xK=Wp+`Xy9O6IQ(aZ|rD5T}hPL`|j4$l2p);koh~-H037 z^8BNxZx<@3P12`R67H(W)|=g`ID5&-e~PP5`_YZ{JpG{rIG!^tU}mp-uY1 z``%GfSGsoWz61O^*Zf8Bw$sC!)}?u2;x8Fo+I&#>h%{RyZAVqUzSVxo;ja%xJix82 zFCd!kS0LgmaG(-axL?};0QMH~e}T1Kf8xKxod(`bD$33sS5>pKneg#kOi`|_cPL{B zY#~$g1_TU+X0Lkvo&0~Jc!N*zuk95EpKYpK_^ZVB(`fd3RNGq9MzmJ2(6rfQIZJE1 zpE$CFQt-ge{{ZV{UA}|y-@`3$tZD<|c-1t!U3X5j*L6K7P1csz`&YvHO17b@TnLei zTieI>drdkCBw(zvnBrDunUC1;^-N6$t5kNWRl1cr{9f}sG@|yMo6~ z)Y|LG7gM@hPSP%9L?bM~465<>x|;Scji0mGywLO?9-p$>_`hH9MzirN;v_bvX=BqZ z?rsIejgdkKMo46dIpZT4uMyL=IiF90;%H?{X{}?PCYB}$Vgm|PGV%!o3~&fF_qh&r zh0d^R5kma8lyz3Si*a`Hx@|tOv$DDId9G25%PK|Gjnty1pH5kPFK@J!)%QBT3re3P zTEtR1#d1O&=gZs(*vYj?AY(WuzrAZEtYY3KyO3^I2I3G7U0H!r6M#7+ORw#Ez<1oNWh!wImV^CL5KBq=qMnO!K6G z?*QW`13BDAM_g8IuA`J&i4sFBaG7NSF_Pi1sz+R7smQHm)ZQx*JW>Wk-RG*Q$S0!^ z!0v8GJ!`5hKBiK#c1!wS@Z@V7oA|6Cw{z!6uQMvK4;uwJ2RL5;0G>P2YX)0c6vY+D zkp=)P12`EYKBEjyeMM<#U)gUYQ))NQYi}EspU7-HidzIA>Q4X#JPeXKsBhm-xx1fI zw6IiMlW2xqksA;>4U@P61_yl5)7g_38{IFvz{{bNHI<(%6@c?)3!3Dn88H4$^^(`DcTc+;Z3* zR8wuVi+OFn)|zuk3qpL9QZSe0FoJ;ritQqx28u4A6Y;?@5EdZJ5v zg&tgt%%_3d0MnM;w8#<^w=U&(&m3$)UBPzX;$SB& z3=FJPg4x4ks8Gc5(xz=kNwx|%%dl6bFa=Y$ioTSo9+La)% zx4S_1F*8OZ9#;xia0GCxwShQao7awNvNTq(Ew#1s$!d`YPcg~KJhpoPq#if~=AS+0 zp0){d4yzKZcE$G%#wTZ8!9ePvNEjX3uyq|)&rf)Kona(}-9($8B1Ty-NeT%h2gy=6 z%~PCHu=!=mwBOhIxv715U@jcn&RnY~RtRy!?Ii{|BrxmO1F)=3Tg4Hh6o|zC04Wg} zVkrBSSulHl2OjvWJO2P3z1#-w@h+`pG`A=*A{U;&;m zPs>y1|SD!r&_bk&GSy>x#ljn^Ct%R!LZ^Y-l_AL? zRY1m91pRrfUkLbq9TQF#&uBc>klfr%STGW>!tEVdK>2yB6-t=e%97GMxA`M$#*H3n z?)LqEPrm&P{{ReW(dqHSYA%*PDU~KAdZ*{f>bS15=5Msy`Tlzv^E6)KX9d0?zbZEIm=EGAznU9c#bqlH4`1KW%Nj*XHk&4v7GpJ&`7 zcuCzH?#vD|$UAUPInQprs}uWP#yvXYQ@L1RiUub$1p+k#9AtpUb9Cuhci$JRgSDrI z?QS)T*vhelI1m{J3eM~ljsQ7OayaI-m1>^^TTu+L2Gg5 z$W^6z95Hzp2S7f*k5(3FbO&vD$xavYt+fJhyF>EvTI zhkE}25WHb-Y;|2s!vo1Ht)7;Qh*?>3yT14tA-KRhb6qEZeiK;5dk&?292Rl%T4?|( z36zNmVfT&?e4lFPsfonaX;F(yyZ-j%gb+Hmyyi)Z@}8u#0#Xp*QXYm za7FTAh_P6LjEs}XCubwM8S7q?eScx0=}~At9<>D{k8k=qZpmZ}Sd-Hn=kThYCGmRM zuaV*FSlSz6sVpF1$g0eD=YmcEIOhR}t#Ue^si@z=_Li`S11mceJA`1ac9YwnIQ2En z6;BMCPV(+l-CDD~O_xrKLth$C{RVD-@7sTk70vy&$Nqzs{{Wp7dwRrj;ro6E#H^^y zSTP?_R;+aEok~M(r(3+zY|A8I91mW4)K->PI)%)3&>&}a3Yj zasb9SAoK&Ly>&Lw186R8?VSCYS-0D^(n^xxDFEy|kDECd`qJ3j#Vj(OlVh3YrXB+KXW_F<8r#ByO2!=xq(2mcnP(JVSCLC8Hr8Rx+q8(%d3~ z%($enL*X6m=twmufSxWn_wB)3moBn9UwG^MlIZp0P+v>eT;l8)< z&cjalY5ORAHrAoL9u-R~j|amt!#<-Gv}tQ^e`JbGmUmOd4Z}6l0__TwQnNEM`G1aX zw2#^$AeI%yr^O5XFTffV*V$S(i^6&ZjkVW_WQgu8)}L#K>~KfZXpxC#EKh0UzaIGe z;SY-SZ8yO_Be>OX{8Ik_*xDr5);>Un`&rbWhswT|-LS%FlKq)dP0?CHkfze6?sS^FwV_Ppfm+W!C!m+u~a%=R$YO1S)OJR~%3*OJ~T+3MS03R0^Uw)RRb z+EF=w+IPqPAn~8UZyEU0!xz^!`mgN;@mklxS`Dl!VU_$bqy@OR34jQV?ivWl9AYB8 z;=L>42kgnyGy&)U$eppU*9tAEU_L)V}sVQ zJ{?2gIe%;jwX35Pp9_Ct{{V+yV7}GhP%X7BV%?;;)Mi!ytgS8MykUXM2uBAZzK8z+ zf_(fp@m`(qn_2kN@o8?q;X3%it2c@DcqC2p>EdK&vxvK&lgYH$LXL&c9V_!+5;%gt z2w?E|48CqM!c$R=w0_#Hl6PNfl?b^z?JDqXYOnP;Y#twpGbb)iYBeYAQnsGPlzo*Y z($T3dY1^mF_*3K0>{sze_IY@`QKJcbP2nlxSc-yb+fMSWZ5rlT%s>+h z492WL*}7F6b6-*6FOAi>j~hoO&8fd_E2z|pNi`U`zIZLI7`M$GAM&j)@|8)Nh09q1BMwR1oh&ev$emt3nO{bq*{!ceeJ|zR)RUy{{X5k004y`k<Zuj*_yN;sG)MW&xsujSbMa}!3c9;B(%R&i}R z>1MQR2R%`=Eh(W@h{JDIv}L7d|?r(NFJ4Gygng#p4!2@yfkYpY|2O_`VZkaBRLfwk*n$U(>128ZT475g&>`=yM)8Te(}xTwhF44$3EVqWSRv5q?%jbUC<2sK0`g0Md}P7mD#Fh4~;v^ut04isCS=UJ-!O_B+c2<@Xu7DE)0sD}(*t zyu8;vsQCBn_R%r9LK*{@z$_FM3|OA{DV!de&2iUSh1KoSI^M}M%Oe|t813ai=eA2A z=cO`D6IH%OSs{cwF=ULeD&!YjWFMFefN|<8hFHq3{E`0vBdKBGPW;*zrSXiql-DN8 z{CP?@#2+D?mfk@=%1#Aj-T0#R?8cEx3p7q2B4+t`0Gu8HI0rp5S{D8twM$pJ)peB{ zhUnxQKm%?FAROl>8R_zx=(L+p3|d?;SY>xHgbi_%ndvr? zFWN$$sz25I{{Taf)2%gqXf$?E%-KzXHf_c*GTGdC9Fvv*02;q#@ZVmzA!NRaJV)j~ z0k9Mm3_-}xLxGOf*a34DsQ$|E<VzYZ8Ej^|TnV%d*kD(_xF&Uyma zKZQ%D{5|mWmp0Q+cJ1dUSA2O)tUx#esKFfi*F$o*7c#fnb&WdNT2s4Z9%wPHSx6*~ z0VETQZ` zUqtZL)QlvsxtPEbDUxYgT#gx74WJy5eeg%6LH2DhJaXB1Y6Wo+B3UiY0^@E=Il()* z#xsG6&EcrIUy&NBl^(Zu^=F;xvFLB{CrZ=wpEd2REM&jbAa(OzM+{OWIUHnQk=qsA z+epnC%Lee#$$}BXH{IN!PfT;zRsy(xiryo>n_zez#t4jT2nw)IEg{p@<)MHFG= zDuLO=``MZP@#l^}T8sf$3prAvhe+! z+RO;$X1;YX!dM&}KO2U6fmN;iGvf~tLbB_ct;#^^V@P!Uz#t=HCgu5v9ZC19mMZh) zq`8=>;nW@G^y%O3{{Vt*>%KYDbZBPNroTj+XmMk0`{$7ED}jP`a1UI1)@{zY<6ja- z_6-kAlEU08V(Rht%&NgiR74;QayidmYT5Ar0D!cu9zQbAPmA|E733-lf)TK!x6It+ zobYR>({x)qdy_Yo(aezKJaD&CSOP&iNWcrnOx04uVrt6sm6v2p>e8itMfd*zm;5=y z+Wa{h-llJSL3H<1gXNTxY@|^JUz8{tMoAq(#dTVL!|1fwCzx#V;)MAC5Xy=a@Nt3; zGupTG>lM@B5nNs?D?+c4fUetvVDJDW4yUFoLOAbayKwL#2;X!Q#|G%igSCepLC!xK z^r+ydQTMrS{{Rz~wkEAe>$jgz(R{Qs^lu6+h??Q1Q5vZdKpB-v6;i~L)SMCqMsZdA zY2rJX_jqqhjl6_DRBdZE7>&V)Cj~&r&#&QHo-EdEWUy;{30TORVJjR!$Rr_vBxJ5Q zBc7S|u4)ZFTenN8#6D-33(YBJe3jaMQUJinCz_hlSLJ}Bq`l_vulyVSNX@#@R6Lhv z+Y+%7MVt`q2pq6KA#VG+5IpBnkFyG-dLjhzN^0r|&K^aIwlF6|?>w1z=t z9AU5wzEBEANC1JsBZ3J2@v3)@V@rt4u?M$xR7X%-EI1%>kU%*H)O*)Iv8NAu+W!E< z8uLn|th(Rx{{S*?wOfDBJty)sS3CCGpZW%$`{qCXDvDm`VS82Gea!jC;a|h^rdW>= zUPzv8$IIltcBXnM0B1PPNaV&MuUn*Rtzz~cf&fJWEeTiXK72vakEw#*&#kJ89-F|!m%0}Lyc;w*b zy%@&YvyydG<7fW>3>KD3@<--71Q!eCl$lOSmSzN=fD?~XioaoK#@TPK72%zrSB0D9 zDI(`@lt(LuIac9=06_+;%V%$={hlczGR(H(Y)GVmj1*E1cOAv6R?^wbv)bx1O#>2I zSz~2ynTRO3Znzi*w}e!r?q?@cZoXIkzW)Hs`U~Kf?K$xa#@ALJ3Gqg&F0&K;fpTV7HN%)cDKZTzGzBhQYPttxDXkIhF)~|%<(X6-EX&8H(nLmuIaV@-M zvK33?8;P%v&axO%$J5Q~NxVK96PL14ySh!eMQGz11H}l5>GfE3PtZkJ@S35{mMaaMaV!mGe zlDrS%Ux|J#_?!E4d^=4$OYqN)Z`VffkA$7dO?~10DVp9XgpdBMWt=fpA9++`t$jD) zj}>TI_NOrLwaQrQXo3s-V+yNTmEDNgF!@e0anysJ_53U19%YTpGkGaAh^MaX?TBEJ}2=s zx^x0*uZ&U8HKy?zqcnsfIb3yR1b}!2dsoh$F!=a9G2!2jU+_^x@gXtzKTVV1{{X=& z@`|xtU(DuRZ&QeMCq7^jC?Kk*ObYM6Y9EZ_;CJlHs`&Rn@cq!&byNL`;k#Qj8+BcC zQBwt|VopLqvP*_N!YCEclu^qve0LLKS1psFO}lLrr-+h%QTBBEIMk^f?w5_l`JEg- zCKRNv3_M;Uq-}fhO4K0Lt!kB=TU+u|eQtFA0{DBP{>*>yNvpe`i28i5;twBA+RTeG ztf%d>Z5H8G%WPyui9r~~*3EcN#2{1mg|6#oDd{xtY!_FC{|q+n>`IBsoVh$_6Q#UemQ7l&Rov* zu`c`U;~4b2@3)!9;V%+N;W)k_!{N){?2Sh5SgiF|iJ4zxG*T#W@~&7oIpb(Gq2a5Q z)7c^NAdeudGBUEi%D5;1BydRs7zAYXuc&@E>Rt`~lz-rqQG6S=YkS>qT7n%S%_c#* zTgjLi=1?<@gxpA2AK)If@`r=c7<8LIwfKO;HMX3pvFh#SnO#_xRhJu-V1hSf@n3(! zo-AeA)htC^O+RN!6{=IGE3bYKZ7DR}lYUOmr&N44H^U6W8^jo#yC;6p(NN}6cK4iD zG*y>I?!1(*v8jJ);oU+;H`-eQ{{X#vi*;0Jf{~bp4o?6K;Ny;!P4wM=O1>+h-sTj! zGNqKonpY3=0*s?P07h~+Q{I+MN$xD7)Gp(>Bkx6XYO5?|z~pQgVmScu(xDpSUd=4( z@v)9o6U7C=45yKWB!iQVSEv9E_4)-Mk@+pjM& zeUfVHZFDV5;>(!y_$~FTX)f*JaMM|8Hm#VMQHr?=bIIC4-QS*SH2(mEA6C-Xt+u15 zNN%FBVeguLXq47*FL7Fn@-ZExj}hp zBT427WqFUw!C)OW{m=jdZ%!+{B%Sp~h3_|ZwSU*4&gwb@7q2D#r^FpN&ZGtVU9&{N zbGI4fF&O0gRxYdX_{%KUx{r^nng}-h_64LdslpNi47nhjeJioK@aB!F+&t3*0(p!~ zVn8FD1I7s)ZYLzx4flpaO0nDD+(#f*A0h=*d=^#&^}yf&IjVH8rjPIc03;4=En83J z{zi0u3h-^D?$PVlchU(SJjj9}7**hH#xg+%pIXq=9CTM8=8TYu|M$bejG2=?+xF6V>FNPM{)X$$hQf^Z7t z_vWfkV|n(0b|>@PCzs|P2vESOWymae2RY*>u*F}#itA7N0o8Q5VgA%{7M!yyLf5SC zwS2a5wfPtXbzS~8ome(G;V(oOj{Wqq&K=Norv zX>WYWbl90@*tt~69Q@b>oxt<$k}7$GAzI#aNZkS41VAnd;2opW`c;ivK=BWQemfu8 z$Hv|tpHA1TJVOSVtEUC5<(-*%>6TD4j=+Om_w76IQ$_unzB_m$;ZKVGB-`6*-Yd10 z^*<5nHg3aD*|%%Rkp^KNT#u9-n(*@;Fv&8^!j1zGTGeXCQ-VrP@q@IT(zcJgJFwh0 zo7Ta@5l)xx=Rao_p7OUdR^M+ec3QNbncdt?5~TZCqJyE-|&~=cfzj-d~E%tJXxY?o*mR0^!Vc2 zMMuBY{2e>PA<;#|MD1v9ofViA46NZn!yJ51;{8`!_@Qa19}!p`KToufHd)Ko#L-Jjj0UP_=~y<7%epz~U`-V}Xwjd#WRpZ0=V z#&EJO*w8B;5eEY&13ht9G`ls^Eh7H_M?`NWjujXzV73520SGwG2OQScoJ=wpVYQGA zn^_}LLxxZe@GyFc>!F97^{Vf8dvv|~9(3xhIX&K;`dMA-{_V&ubd(^%ZLGsa4%4(tNMRS2 zvqj}RAUD}x8vqOdD#vy*Msd#qt?74Av?A*2-KW~*TgG5yc3grso`ZKF=bEe~d%JX2 zy2~7^Tt)~Xa0>7SatQ8uroGMF@cGuWqsFqCVnc2Oo6CLH!8jSn&!u`1x{ik{Qs&qC z^8UW_VJ&RuwMgxoW6Fg*xj+rIw*p)H!vp|FJX5tDTHnJOZpp0Y6UlB9Xu~nynZf=X z924uFD<(Z?*y)cgbInh0HNcSE z*+kC=l&c_*=3sUZ4*=k9UP%>GPt@a$*hO|>GGWU|yc|cgsOz3pde)V!k=;Ud1d2#3 z_8B9PI71_Fz?>1m$s7z+MmLr3sGF6wT|Z96OOvR`i7R=j9Pwg6s4=y0HxEF|gVTZy zbK0Z4u}OI@`F1cM00vcY^8$J5aHpXmxvq%C7}TRWebACJgfz2B`_h|AvYy*PU$1(^ zyR)_~*8c!wL_0rz;$mWTa(-ag+;9lM#{?S6qINZccm9!+{kb3f`(FP5-!V~Fe#>|N z06pOU0KWo?pJt7@JeS_jC9txV-sU*WX5K>K21eX!M(5ect1%~xF$@C$y$E9pZByqzxnFMks*4+ZJ zRYzhOP!Y=X!Sv1zd?gspO6>P4&M!|QwY~oU*^w>Y=2^-iz*PO(E^?!$GmHV(994@u zCzH$6rhuVgm-7huRk#H7!vHXN92yqYW^c5-tL8jeNaSxb3>e@7I|4u?^s6@V&utn- zKa;ddeAviPpem5cc7ntVXP&jy7^fu8RW_BM_2>v5e=ZqOBULEY(w1Tv@K};Rh>$?^ z3tA5`k|<+PL3~XlN_k~s7w`4Xc_O20Ii|OoIc_(6>h9|1A~*ydz=Z&0`VpFzP{d0; z%e=s{vonGkH!ev~dthMxHPcQJ=G0S?!^SGGTnl6=U-LSPHNqNB6ko5%)=} z*3dP@&)P8>ZE0R0NA49)La7dNTa5HPfmGfZo+$Hjs2PY!r-PIj#uXR2>Ph7Fs~US= zUB2t)R0ee4kQhQk5)>YoV~m56Gg~M_nTgH9Hc#}uzu~s)^4I8p*!T9@@fYm-d1>I! z7U?5b@U4~(n{2R;wP=j{m7WwlIa0-zHsMP#9M|7|4e>v~pV|vSu?Q+_CX)fO5 z`(7)yR*vD60N25A+qMSz8z(1@EAk%6RLQz%p^TY){{XbKm~oX*%bZ{ZVb7t!uBYK= z#4jFv5%ER8iM|_n=Hp7#M6C0?6SGHf+_q$h{IUVl1abJ+;=UmG9hLEgXP9MDSZrIn zd;2<%yrQ*>{`7C>7SGdoPsFTFPZfm6UZn`DCcZc;D<#pT(Kn|_TSN4N#d`EUF8#PX z8R6fIT0NBh4)_n?ty|*GyKAQ_NSck(Zi7jNb-)lDAZ3llTg`UpYsEj{nO-09XT*Pr z{{R>N0N|j0Be62-QeIA$8npiaD?Q0?HsO#lIn2(9&l^yR;ru20Xlpl~3jLt9Ulw?B z>g&fJ8m+uLV{3n=!5mibY4!+Au#j6SSj2;j3={8NzrgKd;qSuV_#{M{#-HLDA@M$- zFQnI2+fyklcW&;@=0%)?x>Qg|A1Zh2Um3>yJCET{4lrCl2y)75l^IDU;m=-P(!9Bq zww$LPYik&-m96yH41NcSGuk|oQ;lp(oa4Ne95p-Ax|3Fn>N>J&$-Zl~WQ_j+_$T%L znekWl) z&R-hqtt8i;C-I%ey{t6wmRE`ijIV%sD%Vn^YyQZup>$Qe{hxo}jQ;=-{v=r4*&RpX zFT@Q$!Z!DtjB|@CXhr0zF~bI#qTE5}Z?LF8;E!Jmyget2d_nOKRjz0nS5{6^y?NiwK3aGFTW)f{@L0WQ#qoQ=zXh5ZJpCHZ;^_G?m1HhNYX1N) zW??DG?O#3U{vx-t({HrBQtE5VsFW;GtbSy_Gh#N31B@vcBi^(=J9viw0OODCW#hk! zwq7xsc!sYe8WTr!>?F2?2vcZsSrc$_ImgdfXqR$Z>6fo>XDywsX1kg@Mhzllqr;YA zxULD@Gm~Ejl4bt@*trH5FO&D7O>;i3Pg!Z|?s`5R#~F&tt7erG=EPKT``oObTf$e4 z-)EU_t+^JpcX6!2a~{(%j7f27W+EXxYs(i>HnR>2jO2lyl-aynGgye=O*>Kn<&yKv zRZ#LP0#!)mopMMg+PL|@(X7Uqs#-n0$DW9VTr(>2%Hda#!;ZXgb4h)Ds5ZCfije$pSdw}(6r;ynfnzX{n`s$DcQxmmI(}#%e|Gx*HkJ-++=~*rCt4; z{vUX6_Lu#qd`IwC!+N#drk5R=yVJE>9j7;D#GvtRrZ z{{Z6G?KiJ!F-LRp7C5{S;n`iBc~Qw3p7LZQeA^%q#&Ac^ARg7R{{RH`xU=|E`#ku! z_K@*qg!VU{Ee1Oai;=o9Zpzzb1ab<-BxBow+nW1cJmTEjgmN!sfvIZL>B5|P-mJQ` z-L#ag*GOBgpU(AithJ1aad$Q*aB*Y*VXkE8e_;*X5K;GkYVjn0+u<4L>LwBNN`vMtW1 zBDKDq22MjanCQxtkGE%<>I-1;|#+gZQTG`Ut=i%U$f0#K{+mI~WOaz;gS+6Tr@ z7<_5{t^O$f+nxfvy}7pVpNHn~w}2&@HraC0ZA! zB~Cuo!VuE8E2%YiA9X0T6tBEy+e!@{UQNPz4O|k$R;PYxIYl=92Pev{-A2jzrb%u4 z6MQc4--9$ATT;rAOXWzjqDkS;v!UYICK)IgE)M7Bx$hq89xDB^{w@3~_!;BfUJnmh_@7w3 z@h6V-{Wi&g@U@PfVoA|Fh^z7KeFO8Ce7 zD1OGX+D$wfM~5^6t+uH<$i`cNCH&B;lHOTV*ray{(!C4fo{ixTh`;bypM+ltB^EJh z7Ct1hxV*Q3qDJwHg)%c^8Euf9mg*N3<)5=-Yu~o7?X%;EDeL1LC%W#=o=%yzpD;o*3}|0N9z{G3FVz`O}r$IBdEubNmN9 zjy_@2KWS|?!^VC&__?O|R!vjJekIlCm&5lLPNp3W2^quOJXj)W{IG@RaZ79Du!NxcL0ERwW60q1Dr!TJ7?DSMFIQI(Rw}qZs?$UH5zK z{cL_&oZ{wXD!eCy)*37zSLPA3SA`VZ~WS0yc(8 z!^E;FNrB%QNEi@tjH&IDQCY%nAMFo0^Cp-)=-dz#9h`nZdezp1zM&f}!HFU`Huoq) zGXS8E_J9PoI{sDl5Q=E|`L%m4-_riS5tcKg^F&f%PAI2Z>!`qx2k zs9nnw#|&#SN%yvvUD6Pagn}?mbI{j4YSy}WE%so|js8{(4=9kT0UZWMK9#F&Ikskw zNtIDiHx!r_i2-5A2aq=cGhI|0a@V=dQZ{>j2DBH}T51(HLcpT8&J;0qX9__FAmxdw zmX~q(j`XZBm6ln2x1R;Dtc;*xaB;a$UIkN*8{4c}#ECd!VwOd~F2M98cWu9hD}3GD zczZ)czSGT()2B~nq*ZMXa$ zr!=}mvC6jg_uFE(e=(o_Sru83=LaVw6P5gXRM1#pe0F{F#Ht~QC z57gG>?WD6hW@S%w&zV2)4+`)t4g4*2ylq#*aJB^ah~6eV%=K9KBWsORPt|LY3Wx;l}aQ*F$A_9n?N=nv+H$4I8w8 zm{ox$Odq|BbQvPJzYlmrPFu*YtaL`y_sJsNUFz}#h(eo0lcE!o7-D((kA6DUy&u9F z9<^t8udKH^ToS*VWRXDGTX2J63Nyn#=53_l73Y(W&9K;vQi4t?%dNEiEqiAgPI1v_Or-CB zPwV79%XP9_Tm;^*Oj{e6o!sz3ws<)wrg*JQGRh@{n|FP;86IP803)~rl16tPPI)-$ zO;ZpfLxP|eQs-i@2jv8^jIZEZ9ZwZ|&7OO-mPm^3WpS~3C?#+~!N(hcJRICiHHW;qqe^9UT0P6h^X!QJzoFe#T_ZihRQURZe$1~cYJ1a*rX^UDhqlF_5T3atM<6F{g!?W z_=DlRULU*EwM|*I3#fGqTZp1pmU$J`T^}Vv<7r{Y2uST;Gz-{dxLa|kow;GY=rXxh zIoeJ#gKkMb?Vn1HPaJtdI3&6bk(o1a+nGW$U?=-whC$9coMygvh&W${xR)#XhG9zd zoS`d4xO>o(lwZ2m(rw#keNS@<#F_RLSLCeQuLlY9d)G}xH+fyDS}|P7-$G9dcvHoi zE|m|5yi4H-H4I!x(_9(UNi2=YVpkbVqje*e2OhFsTzFpP#g+bxuV_+RYDiL2f$f0L zBq>lED#IYQIR=S5eFPdTTW+Ir@~lE5D+Yy2a>pPj1ORy5-=$cK;v^=)?WdElm*=_nxfhF>{!xdehpmLCR-96g z+Jm<>^=Y-M>XPf+&-1)CHAUAK#adwoTaP7gZA@)2Y^y0%Bo3f;$m}}S75@N$bqk9% z(an~Ptxu|52<>3g?~e3{y10o;5J6@ePJ0%|TJ7}@7usr9Qrp~ISxp>;UI^aZL3Sln zy6zkdjoo?4^c7Cp)4`u=x7IZKRk78rTu*CzXDC@CkytX7&je#}Adah8<-Q&~9%V-n zI`Et!B__FAZrd%|-rpnD%)Dl$j><6@c;M$wrASIKmpYVGp3SESJ9;$w->L5(@K9d{ zc(wIEg#Q5WP45MG8(-1i!G0gN(ltvonPo)OuXbMQR|u%Yvh8@4cLKm6#z7T({t6G{ zyDx|T00=xe`!Dz}Ti(lNmU7E+qrJN$D#Wsu8%EHmB8xb|W^ytKuQa*%r{Y~p_L0*+ zYF&HAA8he$o}n$kzLO?9hGa2$tN{fu00f5qB_MVZe0%um;(w066{GmKt$3c|%5|Fp z&fIyZ(3!l&V)6pua;G>yD)XB7?j`W&iSxcF!eVOEQlU$lq?)N4x~;1|R+DR1_uq73 z!+d4JcwE&~sX0QODm183yd`+4f4ocG=J=&~Cf(mVdzs(1-;3>j0{+Jz55Hp140xO_ zt>TE2#{U2jg{gSeUS)N#wV4rJe1s>}&r31jy7ctS7hs0EFwu z-dbDQ5W~xs;3Q#V0|kPp1cSnrImT;&{iwbrd`kVV{{U-kQ}&zG^xYdnlT^O6bEH~E zCJ-&NLmXyCDg)=p+s+gjGm7-z+K={_)PHC_Q{iT*YvHXwM~~spiS4y1;b>LHq7qe* zwp0KEFB@26IrQhZj5sep%;@E~94;Nsj3@0YS;1>cDpcV4q`8!;N#5Vd8`&Ow_`@m0 z;4$^8R7$ocq+sLkK3Y7@$wjEIb;c2bN!}`3YSG*HPeAZr?7#5$;g7*z4)|A6*Wu9g zU-+KsqS`|prnhhsX4LLVt0KnIs8U?yD*U0h9Cr3zAMn-ox#F>}coJ(yeOef9ZQ$_J z61v2YhfQYE6(FUmvjs?_$ZgEb0M0mDKlmtb#amwpYn~bZ0E9$YPvRX*Sa|g)FJll+ z_p&*J&V>U?VGaVSki2Bz0JVpre%l`v^dA~{7h1HjwbU*A1ExGNrm;5rtxn;smffVD z;xM6=R56VL;Y(+zufi&LH{vcK)TvtoFKGFjm$#;zpEtBt*2zk1m33UoP2LBt_{WCn z^2gh&B^^0t?6gwaH+p-|W7+4w`0)fD5tqV#2-j@gFQU;tB3)=YG%XH{vKEX>6EH55 zF$l&rI{|#L%91?O!M_o$b!fkAf7+S;7u{-eT|S@SJp)#@*(5r3xtnb6;g}U!e$6W} z3%QxFGm}(wKil`>cZak~>rW4Oe#Q&ytxD$SPt~Qlb~cT0${fiNAY3w{kgjl7A&q%& zg#I)5v*EA7kBZ*~G`|gL{{Y!v6}(Mltz1uVj!(f?sZ^i2 zKXp^PPR%ZFc}7<1?R_tAP5qqh{AcjH{s}j&c(+OTcxJlsKB1^yzPE2QOpLBxB~~Dw z6cA5b1?k0b{{XZP{3ZSk{{VtKd^hk)=#YJf#eW*L8~dyEyI(33XJZ5_2@A+BWp-TP z0>e1XV0drh*TtU+e$31JDp;wB|)mes#j&SKL-bEo~9`tV;#8-o#<*c^gJ zI_Eg(MQ&(MWu^!g)mdSVGKdMwW0oV+s3Rcekm(nyg68cus>i)!O{s+~v2sUVbHTyu z*NUfk4cbcTuFWDS-XuGfI5=QH!8y;M`A%!?AqdlwYBqh(j+CVLFo<<<+4oS`n2*Cj^b%SYQFbuU3X8ovqa7sR=iKU-L~H zdbGk2W{N`a!kB%X4hRRQI|gy|s}@eFcP*ma;DXuQh(Sz$0o{yr=O^y=s!Mxqdg|_i zIOUIWK@$+b;Nt{!2J%w_3C!s2ZnpCVtr3iE)mmwOgT{?RVO0=43OP2IqOc*hIwU3!yU&Uj!4>f00$jNG_c;<=-)NP@x*0O7$2DA02@5y0y-RYHD=@H zhIp1sSAfIhA3_hUGgy;Iw2nxlM@2$HnKI>6HgE<9UHRv=TXnWcXS$G>U&whtk(`W>Ju_51O*HmUx(m1zL2SyNT%#pWZ2$(zu`o_iBIbg};f#4};R_;ElZdn|p6BU<(?n4p$gEj!sD@HPKn5cNdp7 z@<+~|@)#rz+m12AbA}%=>L{YUh&T1hzLEUodDZlzO@De{oibaScx^4EnluHxxOr}Q zmLx9UT-CZ1rwEy-V2Ys2EZ_^xd2{>^U5aH;1hjDX)h-o#^|Ja^`%(L86X>Q^gr z=@ef)SxAEgJIiMvlhbI&rcbRDSFa6Va4K}&T~hw8L38mFT!oBw_V%$anQnz+jesi4 z(EQzxBix#n`^UZ@pY5hsgow%5zDNLKJdU39QCX(dR8xc;C8tIC7E@opoo9iBW6Eom zM^wWPDkP8$`Zh|ps`1BKuQ!YJwYQS+TrTMDr1?taTWN$0gV%{j`XYK!MRM~>$={*0 zVHZ&*y0TdON2p$EHx_pSHVB&7ws$F>`@7DH?zl%G~I^~9n z1)?p!W|boH2_91X!wZso0oOHR-%hrg*`}B?n_~Mz9EKrV1pD#Z9ZeKhrwFBFmY?tr z3XQ6^UH<^gdC_#iIT2bS1=w(^G53^X>BfGwBz_yy?sU>F3ppd3DlJUWZ*7OWGxUFaBnpjF#(n6}#ETBDK+si2*pns0XiH6YcF= z{tCDICbe~{8Jbxlb(L073hr6J=m6k?ay!vQYd^8;`Wn^#8}wh9=n~E6>v9H$H4%V= zV&fxo@^RGgIW-0Bq)cxLsg^r$F(f0EZ!f6)sG_}@Zg`NCoLX;B_$+6Mi|JOAt)t+D zMh?iVbAWo0>P<)XW}YEyadj+$MN-V|lbz$+AEgvmKl!6{+N<}KHEHM4E+>xKXJocj zWl0#YW-@Io!@FSPHJfvC@mSAw2nhD1EL(W{!;*bZ$|$0)@7hIq1>L@H@-Awcl#t3K zYk1@>e9*Xj;n&UDG65X{IIeHSF1Obg0(izDw1`HkNC0Jh{pg~&@h$R8)AdJdgcFlX VvB&+kUr+pfzs8CvrDR>%|Jj(TBfJ0r literal 0 HcmV?d00001 diff --git a/demo/000002.jpg b/demo/000002.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d8329671d085536572c6afdab8087fa9bb5473e9 GIT binary patch literal 113300 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%0AeqMQb#*l%@kh{Ke3`LE^m>y$D|FU?vCFZ<^YoO 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 literal 0 HcmV?d00001 diff --git a/demo/000003.jpg b/demo/000003.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a16129332d9dd9b9f66445e1fd16fd2a90f3a7c GIT binary patch literal 123361 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