From 461b600068465fb9260f3918ba12e8d501986515 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 31 Mar 2015 15:23:34 -0400 Subject: [PATCH 001/221] Merge pull request #1225 from aanand/fix-1222 When extending, `build` replaces `image` and vice versa (cherry picked from commit 6dbe321a45dfd7539234f889825b54e1a026e46f) Signed-off-by: Aanand Prasad --- compose/config.py | 6 ++++++ tests/unit/config_test.py | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/compose/config.py b/compose/config.py index 0cd7c1ae6..8d6ffea7a 100644 --- a/compose/config.py +++ b/compose/config.py @@ -189,6 +189,12 @@ def merge_service_dicts(base, override): override.get('volumes'), ) + if 'image' in override and 'build' in d: + del d['build'] + + if 'build' in override and 'image' in d: + del d['image'] + for k in ALLOWED_KEYS: if k not in ['environment', 'volumes']: if k in override: diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index 8deb457af..67f24a92d 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -79,6 +79,39 @@ class MergeTest(unittest.TestCase): ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code', '/data'])) + def test_merge_build_or_image_no_override(self): + self.assertEqual( + config.merge_service_dicts({'build': '.'}, {}), + {'build': '.'}, + ) + + self.assertEqual( + config.merge_service_dicts({'image': 'redis'}, {}), + {'image': 'redis'}, + ) + + def test_merge_build_or_image_override_with_same(self): + self.assertEqual( + config.merge_service_dicts({'build': '.'}, {'build': './web'}), + {'build': './web'}, + ) + + self.assertEqual( + config.merge_service_dicts({'image': 'redis'}, {'image': 'postgres'}), + {'image': 'postgres'}, + ) + + def test_merge_build_or_image_override_with_other(self): + self.assertEqual( + config.merge_service_dicts({'build': '.'}, {'image': 'redis'}), + {'image': 'redis'} + ) + + self.assertEqual( + config.merge_service_dicts({'image': 'redis'}, {'build': '.'}), + {'build': '.'} + ) + class EnvTest(unittest.TestCase): def test_parse_environment_as_list(self): From b24a60ba9fdbfc9d3bdade6efbc9b629cdd4872b Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 31 Mar 2015 16:01:22 -0400 Subject: [PATCH 002/221] Merge pull request #1226 from aanand/merge-multi-value-options Merge multi-value options when extending (cherry picked from commit e708f4f59dcb417e90a5bbdcadcee37e8c6b7802) Signed-off-by: Aanand Prasad --- compose/config.py | 30 ++++++++++++++--- tests/unit/config_test.py | 71 +++++++++++++++++++++++++++++++++++---- 2 files changed, 90 insertions(+), 11 deletions(-) diff --git a/compose/config.py b/compose/config.py index 8d6ffea7a..7f2e302b3 100644 --- a/compose/config.py +++ b/compose/config.py @@ -195,10 +195,23 @@ def merge_service_dicts(base, override): if 'build' in override and 'image' in d: del d['image'] - for k in ALLOWED_KEYS: - if k not in ['environment', 'volumes']: - if k in override: - d[k] = override[k] + list_keys = ['ports', 'expose', 'external_links'] + + for key in list_keys: + if key in base or key in override: + d[key] = base.get(key, []) + override.get(key, []) + + list_or_string_keys = ['dns', 'dns_search'] + + for key in list_or_string_keys: + if key in base or key in override: + d[key] = to_list(base.get(key)) + to_list(override.get(key)) + + already_merged_keys = ['environment', 'volumes'] + list_keys + list_or_string_keys + + for k in set(ALLOWED_KEYS) - set(already_merged_keys): + if k in override: + d[k] = override[k] return d @@ -354,6 +367,15 @@ def expand_path(working_dir, path): return os.path.abspath(os.path.join(working_dir, path)) +def to_list(value): + if value is None: + return [] + elif isinstance(value, six.string_types): + return [value] + else: + return value + + def get_service_name_from_net(net_config): if not net_config: return diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index 67f24a92d..d95ba7838 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -39,40 +39,40 @@ class ConfigTest(unittest.TestCase): config.make_service_dict('foo', {'ports': ['8000']}) -class MergeTest(unittest.TestCase): - def test_merge_volumes_empty(self): +class MergeVolumesTest(unittest.TestCase): + def test_empty(self): service_dict = config.merge_service_dicts({}, {}) self.assertNotIn('volumes', service_dict) - def test_merge_volumes_no_override(self): + def test_no_override(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/data']}, {}, ) self.assertEqual(set(service_dict['volumes']), set(['/foo:/code', '/data'])) - def test_merge_volumes_no_base(self): + def test_no_base(self): service_dict = config.merge_service_dicts( {}, {'volumes': ['/bar:/code']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code'])) - def test_merge_volumes_override_explicit_path(self): + def test_override_explicit_path(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/data']}, {'volumes': ['/bar:/code']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code', '/data'])) - def test_merge_volumes_add_explicit_path(self): + def test_add_explicit_path(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/data']}, {'volumes': ['/bar:/code', '/quux:/data']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code', '/quux:/data'])) - def test_merge_volumes_remove_explicit_path(self): + def test_remove_explicit_path(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/quux:/data']}, {'volumes': ['/bar:/code', '/data']}, @@ -113,6 +113,63 @@ class MergeTest(unittest.TestCase): ) +class MergeListsTest(unittest.TestCase): + def test_empty(self): + service_dict = config.merge_service_dicts({}, {}) + self.assertNotIn('ports', service_dict) + + def test_no_override(self): + service_dict = config.merge_service_dicts( + {'ports': ['10:8000', '9000']}, + {}, + ) + self.assertEqual(set(service_dict['ports']), set(['10:8000', '9000'])) + + def test_no_base(self): + service_dict = config.merge_service_dicts( + {}, + {'ports': ['10:8000', '9000']}, + ) + self.assertEqual(set(service_dict['ports']), set(['10:8000', '9000'])) + + def test_add_item(self): + service_dict = config.merge_service_dicts( + {'ports': ['10:8000', '9000']}, + {'ports': ['20:8000']}, + ) + self.assertEqual(set(service_dict['ports']), set(['10:8000', '9000', '20:8000'])) + + +class MergeStringsOrListsTest(unittest.TestCase): + def test_no_override(self): + service_dict = config.merge_service_dicts( + {'dns': '8.8.8.8'}, + {}, + ) + self.assertEqual(set(service_dict['dns']), set(['8.8.8.8'])) + + def test_no_base(self): + service_dict = config.merge_service_dicts( + {}, + {'dns': '8.8.8.8'}, + ) + self.assertEqual(set(service_dict['dns']), set(['8.8.8.8'])) + + def test_add_string(self): + service_dict = config.merge_service_dicts( + {'dns': ['8.8.8.8']}, + {'dns': '9.9.9.9'}, + ) + self.assertEqual(set(service_dict['dns']), set(['8.8.8.8', '9.9.9.9'])) + + def test_add_list(self): + service_dict = config.merge_service_dicts( + {'dns': '8.8.8.8'}, + {'dns': ['9.9.9.9']}, + ) + self.assertEqual(set(service_dict['dns']), set(['8.8.8.8', '9.9.9.9'])) + + class EnvTest(unittest.TestCase): def test_parse_environment_as_list(self): environment =[ From e4e802d1f86ceb16d45d0176f94906e799f90fc9 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 31 Mar 2015 21:20:02 -0400 Subject: [PATCH 003/221] Merge pull request #1213 from moysesb/relative_build Make value of 'build:' relative to the yml file. (cherry picked from commit 0f70b8638ff7167e9755d24dc8dab1579662f72d) Signed-off-by: Aanand Prasad --- compose/config.py | 14 ++++++++ docs/yml.md | 5 +-- tests/fixtures/build-ctx/Dockerfile | 2 ++ tests/fixtures/build-path/docker-compose.yml | 2 ++ .../docker-compose.yml | 2 +- .../simple-dockerfile/docker-compose.yml | 2 +- tests/unit/config_test.py | 33 +++++++++++++++++++ 7 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 tests/fixtures/build-ctx/Dockerfile create mode 100644 tests/fixtures/build-path/docker-compose.yml diff --git a/compose/config.py b/compose/config.py index 7f2e302b3..1dc64af25 100644 --- a/compose/config.py +++ b/compose/config.py @@ -171,6 +171,9 @@ def process_container_options(service_dict, working_dir=None): if 'volumes' in service_dict: service_dict['volumes'] = resolve_host_paths(service_dict['volumes'], working_dir=working_dir) + if 'build' in service_dict: + service_dict['build'] = resolve_build_path(service_dict['build'], working_dir=working_dir) + return service_dict @@ -330,6 +333,17 @@ def resolve_host_path(volume, working_dir): return container_path +def resolve_build_path(build_path, working_dir=None): + if working_dir is None: + raise Exception("No working_dir passed to resolve_build_path") + + _path = expand_path(working_dir, build_path) + if not os.path.exists(_path) or not os.access(_path, os.R_OK): + raise ConfigurationError("build path %s either does not exist or is not accessible." % _path) + else: + return _path + + def merge_volumes(base, override): d = dict_from_volumes(base) d.update(dict_from_volumes(override)) diff --git a/docs/yml.md b/docs/yml.md index 157ba4e67..a9909e816 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -29,8 +29,9 @@ image: a4bc65fd ### build -Path to a directory containing a Dockerfile. This directory is also the -build context that is sent to the Docker daemon. +Path to a directory containing a Dockerfile. When the value supplied is a +relative path, it is interpreted as relative to the location of the yml file +itself. This directory is also the build context that is sent to the Docker daemon. Compose will build and tag it with a generated name, and use that image thereafter. diff --git a/tests/fixtures/build-ctx/Dockerfile b/tests/fixtures/build-ctx/Dockerfile new file mode 100644 index 000000000..d1ceac6b7 --- /dev/null +++ b/tests/fixtures/build-ctx/Dockerfile @@ -0,0 +1,2 @@ +FROM busybox:latest +CMD echo "success" diff --git a/tests/fixtures/build-path/docker-compose.yml b/tests/fixtures/build-path/docker-compose.yml new file mode 100644 index 000000000..66e8916e9 --- /dev/null +++ b/tests/fixtures/build-path/docker-compose.yml @@ -0,0 +1,2 @@ +foo: + build: ../build-ctx/ diff --git a/tests/fixtures/dockerfile_with_entrypoint/docker-compose.yml b/tests/fixtures/dockerfile_with_entrypoint/docker-compose.yml index a10381187..786315020 100644 --- a/tests/fixtures/dockerfile_with_entrypoint/docker-compose.yml +++ b/tests/fixtures/dockerfile_with_entrypoint/docker-compose.yml @@ -1,2 +1,2 @@ service: - build: tests/fixtures/dockerfile_with_entrypoint + build: . diff --git a/tests/fixtures/simple-dockerfile/docker-compose.yml b/tests/fixtures/simple-dockerfile/docker-compose.yml index a3f56d46f..b0357541e 100644 --- a/tests/fixtures/simple-dockerfile/docker-compose.yml +++ b/tests/fixtures/simple-dockerfile/docker-compose.yml @@ -1,2 +1,2 @@ simple: - build: tests/fixtures/simple-dockerfile + build: . diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index d95ba7838..f25f3a9d6 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -381,3 +381,36 @@ class ExtendsTest(unittest.TestCase): ] self.assertEqual(set(dicts[0]['volumes']), set(paths)) + + +class BuildPathTest(unittest.TestCase): + def setUp(self): + self.abs_context_path = os.path.join(os.getcwd(), 'tests/fixtures/build-ctx') + + def test_nonexistent_path(self): + options = {'build': 'nonexistent.path'} + self.assertRaises( + config.ConfigurationError, + lambda: config.make_service_dict('foo', options, 'tests/fixtures/build-path'), + ) + + def test_relative_path(self): + relative_build_path = '../build-ctx/' + service_dict = config.make_service_dict( + 'relpath', + {'build': relative_build_path}, + working_dir='tests/fixtures/build-path' + ) + self.assertEquals(service_dict['build'], self.abs_context_path) + + def test_absolute_path(self): + service_dict = config.make_service_dict( + 'abspath', + {'build': self.abs_context_path}, + working_dir='tests/fixtures/build-path' + ) + self.assertEquals(service_dict['build'], self.abs_context_path) + + def test_from_file(self): + service_dict = config.load('tests/fixtures/build-path/docker-compose.yml') + self.assertEquals(service_dict, [{'name': 'foo', 'build': self.abs_context_path}]) From 78227c3c068a3ca7be47d3104fceb8c1e065e078 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 27 Mar 2015 14:59:49 -0700 Subject: [PATCH 004/221] Merge pull request #1202 from aanand/jenkins-script WIP: Jenkins script (cherry picked from commit 853ce255eac5375562e399d3e105dc5a456dbb99) Signed-off-by: Aanand Prasad --- Dockerfile | 3 +++ script/build-linux | 18 +++++++++++------- script/build-linux-inner | 10 ++++++++++ script/ci | 18 ++++++++++++++++++ script/test-versions | 5 +---- script/wrapdocker | 2 +- 6 files changed, 44 insertions(+), 12 deletions(-) create mode 100755 script/build-linux-inner create mode 100755 script/ci diff --git a/Dockerfile b/Dockerfile index d7a6019aa..8ec05cc9b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,6 +23,9 @@ RUN set -ex; \ chmod +x /usr/local/bin/docker-$v; \ done +# Set the default Docker to be run +RUN ln -s /usr/local/bin/docker-1.3.3 /usr/local/bin/docker + RUN useradd -d /home/user -m -s /bin/bash user WORKDIR /code/ diff --git a/script/build-linux b/script/build-linux index 07c9d7ec6..5e4a9470e 100755 --- a/script/build-linux +++ b/script/build-linux @@ -1,8 +1,12 @@ -#!/bin/sh +#!/bin/bash + set -ex -mkdir -p `pwd`/dist -chmod 777 `pwd`/dist -docker build -t docker-compose . -docker run -u user -v `pwd`/dist:/code/dist --rm --entrypoint pyinstaller docker-compose -F bin/docker-compose -mv dist/docker-compose dist/docker-compose-Linux-x86_64 -docker run -u user -v `pwd`/dist:/code/dist --rm --entrypoint dist/docker-compose-Linux-x86_64 docker-compose --version + +TAG="docker-compose" +docker build -t "$TAG" . +docker run \ + --rm \ + --user=user \ + --volume="$(pwd):/code" \ + --entrypoint="script/build-linux-inner" \ + "$TAG" diff --git a/script/build-linux-inner b/script/build-linux-inner new file mode 100755 index 000000000..34b0c06fd --- /dev/null +++ b/script/build-linux-inner @@ -0,0 +1,10 @@ +#!/bin/bash + +set -ex + +mkdir -p `pwd`/dist +chmod 777 `pwd`/dist + +pyinstaller -F bin/docker-compose +mv dist/docker-compose dist/docker-compose-Linux-x86_64 +dist/docker-compose-Linux-x86_64 --version diff --git a/script/ci b/script/ci new file mode 100755 index 000000000..a1391c627 --- /dev/null +++ b/script/ci @@ -0,0 +1,18 @@ +#!/bin/bash +# This should be run inside a container built from the Dockerfile +# at the root of the repo: +# +# $ TAG="docker-compose:$(git rev-parse --short HEAD)" +# $ docker build -t "$TAG" . +# $ docker run --rm --volume="/var/run/docker.sock:/var/run/docker.sock" --volume="$(pwd)/.git:/code/.git" -e "TAG=$TAG" --entrypoint="script/ci" "$TAG" + +set -e + +>&2 echo "Validating DCO" +script/validate-dco + +export DOCKER_VERSIONS=all +. script/test-versions + +>&2 echo "Building Linux binary" +su -c script/build-linux-inner user diff --git a/script/test-versions b/script/test-versions index a9e3bc4c7..a172b9a33 100755 --- a/script/test-versions +++ b/script/test-versions @@ -4,9 +4,6 @@ set -e ->&2 echo "Validating DCO" -script/validate-dco - >&2 echo "Running lint checks" flake8 compose @@ -18,7 +15,7 @@ fi for version in $DOCKER_VERSIONS; do >&2 echo "Running tests against Docker $version" - docker-1.5.0 run \ + docker run \ --rm \ --privileged \ --volume="/var/lib/docker" \ diff --git a/script/wrapdocker b/script/wrapdocker index 20dc9e3ce..7b699688a 100755 --- a/script/wrapdocker +++ b/script/wrapdocker @@ -4,7 +4,7 @@ if [ "$DOCKER_VERSION" == "" ]; then DOCKER_VERSION="1.5.0" fi -ln -s "/usr/local/bin/docker-$DOCKER_VERSION" "/usr/local/bin/docker" +ln -fs "/usr/local/bin/docker-$DOCKER_VERSION" "/usr/local/bin/docker" # If a pidfile is still around (for example after a container restart), # delete it so that docker can start. From a467a8a09486e9770a4d7de4f982aeb17d8439b2 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Thu, 9 Apr 2015 14:44:07 +0100 Subject: [PATCH 005/221] Merge pull request #1261 from aanand/fix-vars-in-volume-paths Fix vars in volume paths (cherry picked from commit 4926f8aef629631032327542a56ae35099807005) Signed-off-by: Aanand Prasad Conflicts: tests/unit/service_test.py --- compose/config.py | 2 ++ compose/service.py | 4 +--- tests/integration/service_test.py | 18 ++++++++++++++++++ tests/unit/config_test.py | 14 ++++++++++++++ tests/unit/service_test.py | 16 ---------------- 5 files changed, 35 insertions(+), 19 deletions(-) diff --git a/compose/config.py b/compose/config.py index 1dc64af25..2dc59d231 100644 --- a/compose/config.py +++ b/compose/config.py @@ -328,6 +328,8 @@ def resolve_host_paths(volumes, working_dir=None): def resolve_host_path(volume, working_dir): container_path, host_path = split_volume(volume) if host_path is not None: + host_path = os.path.expanduser(host_path) + host_path = os.path.expandvars(host_path) return "%s:%s" % (expand_path(working_dir, host_path), container_path) else: return container_path diff --git a/compose/service.py b/compose/service.py index 936e3f9d0..86427a1ea 100644 --- a/compose/service.py +++ b/compose/service.py @@ -3,7 +3,6 @@ from __future__ import absolute_import from collections import namedtuple import logging import re -import os from operator import attrgetter import sys import six @@ -586,8 +585,7 @@ def parse_repository_tag(s): def build_volume_binding(volume_spec): internal = {'bind': volume_spec.internal, 'ro': volume_spec.mode == 'ro'} - external = os.path.expanduser(volume_spec.external) - return os.path.abspath(os.path.expandvars(external)), internal + return volume_spec.external, internal def build_port_bindings(ports): diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index f0fb771d9..a89fde97b 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -123,6 +123,24 @@ class ServiceTest(DockerClientTestCase): self.assertTrue(path.basename(actual_host_path) == path.basename(host_path), msg=("Last component differs: %s, %s" % (actual_host_path, host_path))) + @mock.patch.dict(os.environ) + def test_create_container_with_home_and_env_var_in_volume_path(self): + os.environ['VOLUME_NAME'] = 'my-volume' + os.environ['HOME'] = '/tmp/home-dir' + expected_host_path = os.path.join(os.environ['HOME'], os.environ['VOLUME_NAME']) + + host_path = '~/${VOLUME_NAME}' + container_path = '/container-path' + + service = self.create_service('db', volumes=['%s:%s' % (host_path, container_path)]) + container = service.create_container() + service.start_container(container) + + actual_host_path = container.get('Volumes')[container_path] + components = actual_host_path.split('/') + self.assertTrue(components[-2:] == ['home-dir', 'my-volume'], + msg="Last two components differ: %s, %s" % (actual_host_path, expected_host_path)) + def test_create_container_with_volumes_from(self): volume_service = self.create_service('data') volume_container_1 = volume_service.create_container() diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index f25f3a9d6..aa14a2a5e 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -39,6 +39,20 @@ class ConfigTest(unittest.TestCase): config.make_service_dict('foo', {'ports': ['8000']}) +class VolumePathTest(unittest.TestCase): + @mock.patch.dict(os.environ) + def test_volume_binding_with_environ(self): + os.environ['VOLUME_PATH'] = '/host/path' + d = config.make_service_dict('foo', {'volumes': ['${VOLUME_PATH}:/container/path']}, working_dir='.') + self.assertEqual(d['volumes'], ['/host/path:/container/path']) + + @mock.patch.dict(os.environ) + def test_volume_binding_with_home(self): + os.environ['HOME'] = '/home/user' + d = config.make_service_dict('foo', {'volumes': ['~:/container/path']}, working_dir='.') + self.assertEqual(d['volumes'], ['/home/user:/container/path']) + + class MergeVolumesTest(unittest.TestCase): def test_empty(self): service_dict = config.merge_service_dicts({}, {}) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index c70c30bfa..24222dfe9 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -1,6 +1,5 @@ from __future__ import unicode_literals from __future__ import absolute_import -import os from .. import unittest import mock @@ -301,18 +300,3 @@ class ServiceVolumesTest(unittest.TestCase): self.assertEqual( binding, ('/outside', dict(bind='/inside', ro=False))) - - @mock.patch.dict(os.environ) - def test_build_volume_binding_with_environ(self): - os.environ['VOLUME_PATH'] = '/opt' - binding = build_volume_binding(parse_volume_spec('${VOLUME_PATH}:/opt')) - self.assertEqual(binding, ('/opt', dict(bind='/opt', ro=False))) - - @mock.patch.dict(os.environ) - def test_building_volume_binding_with_home(self): - os.environ['HOME'] = '/home/user' - binding = build_volume_binding(parse_volume_spec('~:/home/user')) - self.assertEqual( - binding, - ('/home/user', dict(bind='/home/user', ro=False))) - From b6acb3cd8cec598504a4f25a2f91383e71d61701 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 14 Apr 2015 11:04:03 -0400 Subject: [PATCH 006/221] Merge pull request #1278 from albers/completion-run-user Add bash completion for docker-compose run --user (cherry picked from commit 3cd116b99d71f0e0da84e77797392e12070734e1) Signed-off-by: Aanand Prasad --- contrib/completion/bash/docker-compose | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/completion/bash/docker-compose b/contrib/completion/bash/docker-compose index af3368036..548773d61 100644 --- a/contrib/completion/bash/docker-compose +++ b/contrib/completion/bash/docker-compose @@ -232,14 +232,14 @@ _docker-compose_run() { compopt -o nospace return ;; - --entrypoint) + --entrypoint|--user|-u) return ;; esac case "$cur" in -*) - COMPREPLY=( $( compgen -W "--allow-insecure-ssl -d --entrypoint -e --no-deps --rm --service-ports -T" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--allow-insecure-ssl -d --entrypoint -e --no-deps --rm --service-ports -T --user -u" -- "$cur" ) ) ;; *) __docker-compose_services_all From 39ae91c81c2dd8cddd2cbb3601dee8349a596340 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 23 Mar 2015 10:40:23 -0700 Subject: [PATCH 007/221] Bump 1.2.0 Signed-off-by: Aanand Prasad --- CHANGES.md | 23 +++++++++++++++++++++++ compose/__init__.py | 2 +- docs/completion.md | 2 +- docs/install.md | 2 +- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 75c130906..277a188a3 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,29 @@ Change log ========== +1.2.0 (2015-04-16) +------------------ + +- `docker-compose.yml` now supports an `extends` option, which enables a service to inherit configuration from another service in another configuration file. This is really good for sharing common configuration between apps, or for configuring the same app for different environments. Here's the [documentation](https://github.com/docker/compose/blob/master/docs/yml.md#extends). + +- When using Compose with a Swarm cluster, containers that depend on one another will be co-scheduled on the same node. This means that most Compose apps will now work out of the box, as long as they don't use `build`. + +- Repeated invocations of `docker-compose up` when using Compose with a Swarm cluster now work reliably. + +- Directories passed to `build`, filenames passed to `env_file` and volume host paths passed to `volumes` are now treated as relative to the *directory of the configuration file*, not the directory that `docker-compose` is being run in. In the majority of cases, those are the same, but if you use the `-f|--file` argument to specify a configuration file in another directory, **this is a breaking change**. + +- A service can now share another service's network namespace with `net: container:`. + +- `volumes_from` and `net: container:` entries are taken into account when resolving dependencies, so `docker-compose up ` will correctly start all dependencies of ``. + +- `docker-compose run` now accepts a `--user` argument to specify a user to run the command as, just like `docker run`. + +- The `up`, `stop` and `restart` commands now accept a `--timeout` (or `-t`) argument to specify how long to wait when attempting to gracefully stop containers, just like `docker stop`. + +- `docker-compose rm` now accepts `-f` as a shorthand for `--force`, just like `docker rm`. + +Thanks, @abesto, @albers, @alunduil, @dnephin, @funkyfuture, @gilclark, @IanVS, @KingsleyKelly, @knutwalker, @thaJeztah and @vmalloc! + 1.1.0 (2015-02-25) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index c770b3950..2c426c781 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,4 +1,4 @@ from __future__ import unicode_literals from .service import Service # noqa:flake8 -__version__ = '1.1.0' +__version__ = '1.2.0' diff --git a/docs/completion.md b/docs/completion.md index d9b94f6cf..6ac95c2ef 100644 --- a/docs/completion.md +++ b/docs/completion.md @@ -17,7 +17,7 @@ On a Mac, install with `brew install bash-completion` Place the completion script in `/etc/bash_completion.d/` (`/usr/local/etc/bash_completion.d/` on a Mac), using e.g. - curl -L https://raw.githubusercontent.com/docker/compose/1.1.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose + curl -L https://raw.githubusercontent.com/docker/compose/1.2.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose Completion will be available upon next login. diff --git a/docs/install.md b/docs/install.md index 0e60e1f18..064ddc5f1 100644 --- a/docs/install.md +++ b/docs/install.md @@ -20,7 +20,7 @@ First, install Docker version 1.3 or greater: To install Compose, run the following commands: - curl -L https://github.com/docker/compose/releases/download/1.1.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose Optionally, you can also install [command completion](completion.md) for the From 43af1684c143ad8d07a5132fb376d4812497a6d3 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 17 Apr 2015 16:02:57 +0100 Subject: [PATCH 008/221] Update docs for 1.2.0 Signed-off-by: Aanand Prasad --- docs/extends.md | 364 +++++++++++++++++++++++++++++++++++++++++++++ docs/index.md | 30 ++++ docs/install.md | 6 +- docs/mkdocs.yml | 2 + docs/production.md | 77 ++++++++++ docs/yml.md | 54 +++---- 6 files changed, 495 insertions(+), 38 deletions(-) create mode 100644 docs/extends.md create mode 100644 docs/production.md diff --git a/docs/extends.md b/docs/extends.md new file mode 100644 index 000000000..2393ca6ae --- /dev/null +++ b/docs/extends.md @@ -0,0 +1,364 @@ +page_title: Extending services in Compose +page_description: How to use Docker Compose's "extends" keyword to share configuration between files and projects +page_keywords: fig, composition, compose, docker, orchestration, documentation, docs + + +## Extending services in Compose + +Docker Compose's `extends` keyword enables sharing of common configurations +among different files, or even different projects entirely. Extending services +is useful if you have several applications that reuse commonly-defined services. +Using `extends` you can define a service in one place and refer to it from +anywhere. + +Alternatively, you can deploy the same application to multiple environments with +a slightly different set of services in each case (or with changes to the +configuration of some services). Moreover, you can do so without copy-pasting +the configuration around. + +### Understand the extends configuration + +When defining any service in `docker-compose.yml`, you can declare that you are +extending another service like this: + +```yaml +web: + extends: + file: common-services.yml + service: webapp +``` + +This instructs Compose to re-use the configuration for the `webapp` service +defined in the `common-services.yml` file. Suppose that `common-services.yml` +looks like this: + +```yaml +webapp: + build: . + ports: + - "8000:8000" + volumes: + - "/data" +``` + +In this case, you'll get exactly the same result as if you wrote +`docker-compose.yml` with that `build`, `ports` and `volumes` configuration +defined directly under `web`. + +You can go further and define (or re-define) configuration locally in +`docker-compose.yml`: + +```yaml +web: + extends: + file: common-services.yml + service: webapp + environment: + - DEBUG=1 + cpu_shares: 5 +``` + +You can also write other services and link your `web` service to them: + +```yaml +web: + extends: + file: common-services.yml + service: webapp + environment: + - DEBUG=1 + cpu_shares: 5 + links: + - db +db: + image: postgres +``` + +For full details on how to use `extends`, refer to the [reference](#reference). + +### Example use case + +In this example, you’ll repurpose the example app from the [quick start +guide](index.md). (If you're not familiar with Compose, it's recommended that +you go through the quick start first.) This example assumes you want to use +Compose both to develop an application locally and then deploy it to a +production environment. + +The local and production environments are similar, but there are some +differences. In development, you mount the application code as a volume so that +it can pick up changes; in production, the code should be immutable from the +outside. This ensures it’s not accidentally changed. The development environment +uses a local Redis container, but in production another team manages the Redis +service, which is listening at `redis-production.example.com`. + +To configure with `extends` for this sample, you must: + +1. Define the web application as a Docker image in `Dockerfile` and a Compose + service in `common.yml`. + +2. Define the development environment in the standard Compose file, + `docker-compose.yml`. + + - Use `extends` to pull in the web service. + - Configure a volume to enable code reloading. + - Create an additional Redis service for the application to use locally. + +3. Define the production environment in a third Compose file, `production.yml`. + + - Use `extends` to pull in the web service. + - Configure the web service to talk to the external, production Redis service. + +#### Define the web app + +Defining the web application requires the following: + +1. Create an `app.py` file. + + This file contains a simple Python application that uses Flask to serve HTTP + and increments a counter in Redis: + + from flask import Flask + from redis import Redis + import os + + app = Flask(__name__) + redis = Redis(host=os.environ['REDIS_HOST'], port=6379) + + @app.route('/') + def hello(): + redis.incr('hits') + return 'Hello World! I have been seen %s times.\n' % redis.get('hits') + + if __name__ == "__main__": + app.run(host="0.0.0.0", debug=True) + + This code uses a `REDIS_HOST` environment variable to determine where to + find Redis. + +2. Define the Python dependencies in a `requirements.txt` file: + + flask + redis + +3. Create a `Dockerfile` to build an image containing the app: + + FROM python:2.7 + ADD . /code + WORKDIR /code + RUN pip install -r + requirements.txt + CMD python app.py + +4. Create a Compose configuration file called `common.yml`: + + This configuration defines how to run the app. + + web: + build: . + ports: + - "5000:5000" + + Typically, you would have dropped this configuration into + `docker-compose.yml` file, but in order to pull it into multiple files with + `extends`, it needs to be in a separate file. + +#### Define the development environment + +1. Create a `docker-compose.yml` file. + + The `extends` option pulls in the `web` service from the `common.yml` file + you created in the previous section. + + web: + extends: + file: common.yml + service: web + volumes: + - .:/code + links: + - redis + environment: + - REDIS_HOST=redis + redis: + image: redis + + The new addition defines a `web` service that: + + - Fetches the base configuration for `web` out of `common.yml`. + - Adds `volumes` and `links` configuration to the base (`common.yml`) + configuration. + - Sets the `REDIS_HOST` environment variable to point to the linked redis + container. This environment uses a stock `redis` image from the Docker Hub. + +2. Run `docker-compose up`. + + Compose creates, links, and starts a web and redis container linked together. + It mounts your application code inside the web container. + +3. Verify that the code is mounted by changing the message in + `app.py`—say, from `Hello world!` to `Hello from Compose!`. + + Don't forget to refresh your browser to see the change! + +#### Define the production environment + +You are almost done. Now, define your production environment: + +1. Create a `production.yml` file. + + As with `docker-compose.yml`, the `extends` option pulls in the `web` service + from `common.yml`. + + web: + extends: + file: common.yml + service: web + environment: + - REDIS_HOST=redis-production.example.com + +2. Run `docker-compose -f production.yml up`. + + Compose creates *just* a web container and configures the Redis connection via + the `REDIS_HOST` environment variable. This variable points to the production + Redis instance. + + > **Note**: If you try to load up the webapp in your browser you'll get an + > error—`redis-production.example.com` isn't actually a Redis server. + +You've now done a basic `extends` configuration. As your application develops, +you can make any necessary changes to the web service in `common.yml`. Compose +picks up both the development and production environments when you next run +`docker-compose`. You don't have to do any copy-and-paste, and you don't have to +manually keep both environments in sync. + + +### Reference + +You can use `extends` on any service together with other configuration keys. It +always expects a dictionary that should always contain two keys: `file` and +`service`. + +The `file` key specifies which file to look in. It can be an absolute path or a +relative one—if relative, it's treated as relative to the current file. + +The `service` key specifies the name of the service to extend, for example `web` +or `database`. + +You can extend a service that itself extends another. You can extend +indefinitely. Compose does not support circular references and `docker-compose` +returns an error if it encounters them. + +#### Adding and overriding configuration + +Compose copies configurations from the original service over to the local one, +**except** for `links` and `volumes_from`. These exceptions exist to avoid +implicit dependencies—you always define `links` and `volumes_from` +locally. This ensures dependencies between services are clearly visible when +reading the current file. Defining these locally also ensures changes to the +referenced file don't result in breakage. + +If a configuration option is defined in both the original service and the local +service, the local value either *override*s or *extend*s the definition of the +original service. This works differently for other configuration options. + +For single-value options like `image`, `command` or `mem_limit`, the new value +replaces the old value. **This is the default behaviour - all exceptions are +listed below.** + +```yaml +# original service +command: python app.py + +# local service +command: python otherapp.py + +# result +command: python otherapp.py +``` + +In the case of `build` and `image`, using one in the local service causes +Compose to discard the other, if it was defined in the original service. + +```yaml +# original service +build: . + +# local service +image: redis + +# result +image: redis +``` + +```yaml +# original service +image: redis + +# local service +build: . + +# result +build: . +``` + +For the **multi-value options** `ports`, `expose`, `external_links`, `dns` and +`dns_search`, Compose concatenates both sets of values: + +```yaml +# original service +expose: + - "3000" + +# local service +expose: + - "4000" + - "5000" + +# result +expose: + - "3000" + - "4000" + - "5000" +``` + +In the case of `environment`, Compose "merges" entries together with +locally-defined values taking precedence: + +```yaml +# original service +environment: + - FOO=original + - BAR=original + +# local service +environment: + - BAR=local + - BAZ=local + +# result +environment: + - FOO=original + - BAR=local + - BAZ=local +``` + +Finally, for `volumes`, Compose "merges" entries together with locally-defined +bindings taking precedence: + +```yaml +# original service +volumes: + - /original-dir/foo:/foo + - /original-dir/bar:/bar + +# local service +volumes: + - /local-dir/bar:/bar + - /local-dir/baz/:baz + +# result +volumes: + - /original-dir/foo:/foo + - /local-dir/bar:/bar + - /local-dir/baz/:baz +``` \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index a75e7285a..78d9de281 100644 --- a/docs/index.md +++ b/docs/index.md @@ -5,6 +5,8 @@ page_keywords: documentation, docs, docker, compose, orchestration, containers # Docker Compose +## Overview + Compose is a tool for defining and running complex applications with Docker. With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to @@ -191,3 +193,31 @@ At this point, you have seen the basics of how Compose works. [Rails](rails.md), or [Wordpress](wordpress.md). - See the reference guides for complete details on the [commands](cli.md), the [configuration file](yml.md) and [environment variables](env.md). + +## Release Notes + +### Version 1.2.0 (April 7, 2015) + +For complete information on this release, see the [1.2.0 Milestone project page](https://github.com/docker/compose/wiki/1.2.0-Milestone-Project-Page). +In addition to bug fixes and refinements, this release adds the following: + +* The `extends` keyword, which adds the ability to extend services by sharing common configurations. For details, see +[PR #972](https://github.com/docker/compose/pull/1088). + +* Better integration with Swarm. Swarm will now schedule inter-dependent +containers on the same host. For details, see +[PR #972](https://github.com/docker/compose/pull/972). + +## Getting help + +Docker Compose is still in its infancy and under active development. If you need +help, would like to contribute, or simply want to talk about the project with +like-minded individuals, we have a number of open channels for communication. + +* To report bugs or file feature requests: please use the [issue tracker on Github](https://github.com/docker/compose/issues). + +* To talk about the project with people in real time: please join the `#docker-compose` channel on IRC. + +* To contribute code or documentation changes: please submit a [pull request on Github](https://github.com/docker/compose/pulls). + +For more information and resources, please visit the [Getting Help project page](https://docs.docker.com/project/get-help/). diff --git a/docs/install.md b/docs/install.md index 064ddc5f1..24928d74c 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,5 +1,5 @@ page_title: Installing Compose -page_description: How to intall Docker Compose +page_description: How to install Docker Compose page_keywords: compose, orchestration, install, installation, docker, documentation @@ -23,6 +23,8 @@ To install Compose, run the following commands: curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose +> Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. + Optionally, you can also install [command completion](completion.md) for the bash shell. @@ -31,7 +33,7 @@ Compose can also be installed as a Python package: $ sudo pip install -U docker-compose -No further steps are required; Compose should now be successfully installed. +No further steps are required; Compose should now be successfully installed. You can test the installation by running `docker-compose --version`. ## Compose documentation diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 14335873d..428439bc4 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -1,5 +1,7 @@ - ['compose/index.md', 'User Guide', 'Docker Compose' ] +- ['compose/production.md', 'User Guide', 'Using Compose in production' ] +- ['compose/extends.md', 'User Guide', 'Extending services in Compose'] - ['compose/install.md', 'Installation', 'Docker Compose'] - ['compose/cli.md', 'Reference', 'Compose command line'] - ['compose/yml.md', 'Reference', 'Compose yml'] diff --git a/docs/production.md b/docs/production.md new file mode 100644 index 000000000..8524c99b8 --- /dev/null +++ b/docs/production.md @@ -0,0 +1,77 @@ +page_title: Using Compose in production +page_description: Guide to using Docker Compose in production +page_keywords: documentation, docs, docker, compose, orchestration, containers, production + + +## Using Compose in production + +While **Compose is not yet considered production-ready**, if you'd like to experiment and learn more about using it in production deployments, this guide +can help. +The project is actively working towards becoming +production-ready; to learn more about the progress being made, check out the +[roadmap](https://github.com/docker/compose/blob/master/ROADMAP.md) for details +on how it's coming along and what still needs to be done. + +When deploying to production, you'll almost certainly want to make changes to +your app configuration that are more appropriate to a live environment. These +changes may include: + +- Removing any volume bindings for application code, so that code stays inside + the container and can't be changed from outside +- Binding to different ports on the host +- Setting environment variables differently (e.g., to decrease the verbosity of + logging, or to enable email sending) +- Specifying a restart policy (e.g., `restart: always`) to avoid downtime +- Adding extra services (e.g., a log aggregator) + +For this reason, you'll probably want to define a separate Compose file, say +`production.yml`, which specifies production-appropriate configuration. + +> **Note:** The [extends](extends.md) keyword is useful for maintaining multiple +> Compose files which re-use common services without having to manually copy and +> paste. + +Once you've got an alternate configuration file, make Compose use it +by setting the `COMPOSE_FILE` environment variable: + + $ COMPOSE_FILE=production.yml + $ docker-compose up -d + +> **Note:** You can also use the file for a one-off command without setting +> an environment variable. You do this by passing the `-f` flag, e.g., +> `docker-compose -f production.yml up -d`. + +### Deploying changes + +When you make changes to your app code, you'll need to rebuild your image and +recreate your app's containers. To redeploy a service called +`web`, you would use: + + $ docker-compose build web + $ docker-compose up --no-deps -d web + +This will first rebuild the image for `web` and then stop, destroy, and recreate +*just* the `web` service. The `--no-deps` flag prevents Compose from also +recreating any services which `web` depends on. + +### Running Compose on a single server + +You can use Compose to deploy an app to a remote Docker host by setting the +`DOCKER_HOST`, `DOCKER_TLS_VERIFY`, and `DOCKER_CERT_PATH` environment variables +appropriately. For tasks like this, +[Docker Machine](https://docs.docker.com/machine) makes managing local and +remote Docker hosts very easy, and is recommended even if you're not deploying +remotely. + +Once you've set up your environment variables, all the normal `docker-compose` +commands will work with no further configuration. + +### Running Compose on a Swarm cluster + +[Docker Swarm](https://docs.docker.com/swarm), a Docker-native clustering +system, exposes the same API as a single Docker host, which means you can use +Compose against a Swarm instance and run your apps across multiple hosts. + +Compose/Swarm integration is still in the experimental stage, and Swarm is still +in beta, but if you'd like to explore and experiment, check out the +[integration guide](https://github.com/docker/compose/blob/master/SWARM.md). diff --git a/docs/yml.md b/docs/yml.md index a9909e816..c375648df 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -173,8 +173,12 @@ env_file: - /opt/secrets.env ``` +Compose expects each line in an env file to be in `VAR=VAL` format. Lines +beginning with `#` (i.e. comments) are ignored, as are blank lines. + ``` -RACK_ENV: development +# Set Rails/Rack environment +RACK_ENV=development ``` ### extends @@ -217,42 +221,10 @@ Here, the `web` service in **development.yml** inherits the configuration of the `webapp` service in **common.yml** - the `build` and `environment` keys - and adds `ports` and `links` configuration. It overrides one of the defined environment variables (DEBUG) with a new value, and the other one -(SEND_EMAILS) is left untouched. It's exactly as if you defined `web` like -this: +(SEND_EMAILS) is left untouched. -```yaml -web: - build: ./webapp - ports: - - "8000:8000" - links: - - db - environment: - - DEBUG=true - - SEND_EMAILS=false -``` - -The `extends` option is great for sharing configuration between different -apps, or for configuring the same app differently for different environments. -You could write a new file for a staging environment, **staging.yml**, which -binds to a different port and doesn't turn on debugging: - -``` -web: - extends: - file: common.yml - service: webapp - ports: - - "80:8000" - links: - - db -db: - image: postgres -``` - -> **Note:** When you extend a service, `links` and `volumes_from` -> configuration options are **not** inherited - you will have to define -> those manually each time you extend it. +For more on `extends`, see the [tutorial](extends.md#example) and +[reference](extends.md#reference). ### net @@ -264,6 +236,16 @@ net: "none" net: "container:[name or id]" net: "host" ``` +### pid + +``` +pid: "host" +``` + +Sets the PID mode to the host PID mode. This turns on sharing between +container and the host operating system the PID address space. Containers +launched with this flag will be able to access and manipulate other +containers in the bare-metal machine's namespace and vise-versa. ### dns From 686c25d50ff3822e0f1515cf6aa0c13de97a4368 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 27 May 2015 15:13:12 +0100 Subject: [PATCH 009/221] Script to prepare OSX build environment Signed-off-by: Aanand Prasad --- CONTRIBUTING.md | 12 ++++++++---- script/build-osx | 2 +- script/prepare-osx | 22 ++++++++++++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100755 script/prepare-osx diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 373c8dc6f..fddf888dc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,16 +53,20 @@ you can specify a test directory, file, module, class or method: ## Building binaries -Linux: +`script/build-linux` will build the Linux binary inside a Docker container: $ script/build-linux -OS X: +`script/build-osx` will build the Mac OS X binary inside a virtualenv: $ script/build-osx -Note that this only works on Mountain Lion, not Mavericks, due to a -[bug in PyInstaller](http://www.pyinstaller.org/ticket/807). +For official releases, you should build inside a Mountain Lion VM for proper +compatibility. Run the this script first to prepare the environment before +building - it will use Homebrew to make sure Python is installed and +up-to-date. + + $ script/prepare-osx ## Release process diff --git a/script/build-osx b/script/build-osx index 26309744a..6ad00bcdb 100755 --- a/script/build-osx +++ b/script/build-osx @@ -1,7 +1,7 @@ #!/bin/bash set -ex rm -rf venv -virtualenv venv +virtualenv -p /usr/local/bin/python venv venv/bin/pip install -r requirements.txt venv/bin/pip install -r requirements-dev.txt venv/bin/pip install . diff --git a/script/prepare-osx b/script/prepare-osx new file mode 100755 index 000000000..69ac56f1c --- /dev/null +++ b/script/prepare-osx @@ -0,0 +1,22 @@ +#!/bin/bash + +set -ex + +if !(which brew); then + ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" +fi + +brew update + +if [ ! -f /usr/local/bin/python ]; then + brew install python +fi + +if [ -n "$(brew outdated | grep python)" ]; then + brew upgrade python +fi + +if !(which virtualenv); then + pip install virtualenv +fi + From 93a846db318bbf7e332db39f0ed7a764053948d6 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 28 May 2015 17:18:04 +0100 Subject: [PATCH 010/221] Report Python and OpenSSL versions in --version output Signed-off-by: Aanand Prasad Conflicts: compose/cli/utils.py --- compose/cli/main.py | 5 ++--- compose/cli/utils.py | 11 +++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index a558e8359..61f3ec3f9 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -10,7 +10,6 @@ import sys from docker.errors import APIError import dockerpty -from .. import __version__ from .. import legacy from ..project import NoSuchService, ConfigurationError from ..service import BuildError, CannotBeScaledError, NeedsBuildError @@ -20,7 +19,7 @@ from .docopt_command import NoSuchCommand from .errors import UserError from .formatter import Formatter from .log_printer import LogPrinter -from .utils import yesno +from .utils import get_version_info, yesno log = logging.getLogger(__name__) @@ -104,7 +103,7 @@ class TopLevelCommand(Command): """ def docopt_options(self): options = super(TopLevelCommand, self).docopt_options() - options['version'] = "docker-compose %s" % __version__ + options['version'] = get_version_info() return options def build(self, project, options): diff --git a/compose/cli/utils.py b/compose/cli/utils.py index 5f5fed64e..93b991038 100644 --- a/compose/cli/utils.py +++ b/compose/cli/utils.py @@ -5,6 +5,9 @@ import datetime import os import subprocess import platform +import ssl + +from .. import __version__ def yesno(prompt, default=None): @@ -120,3 +123,11 @@ def is_mac(): def is_ubuntu(): return platform.system() == 'Linux' and platform.linux_distribution()[0] == 'Ubuntu' + + +def get_version_info(): + return '\n'.join([ + 'docker-compose version: %s' % __version__, + "%s version: %s" % (platform.python_implementation(), platform.python_version()), + "OpenSSL version: %s" % ssl.OPENSSL_VERSION, + ]) From f3d0c63db2621a7bbe77164a23d11d3530bd5d19 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 28 May 2015 17:24:03 +0100 Subject: [PATCH 011/221] Make sure we use Python 2.7.9 and OpenSSL 1.0.1 when building OSX binary Signed-off-by: Aanand Prasad --- script/build-osx | 3 +++ script/prepare-osx | 39 +++++++++++++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/script/build-osx b/script/build-osx index 6ad00bcdb..d6561aeea 100755 --- a/script/build-osx +++ b/script/build-osx @@ -1,5 +1,8 @@ #!/bin/bash set -ex + +PATH="/usr/local/bin:$PATH" + rm -rf venv virtualenv -p /usr/local/bin/python venv venv/bin/pip install -r requirements.txt diff --git a/script/prepare-osx b/script/prepare-osx index 69ac56f1c..ca2776b64 100755 --- a/script/prepare-osx +++ b/script/prepare-osx @@ -2,20 +2,51 @@ set -ex +python_version() { + python -V 2>&1 +} + +openssl_version() { + python -c "import ssl; print ssl.OPENSSL_VERSION" +} + +desired_python_version="2.7.9" +desired_python_brew_version="2.7.9" +python_formula="https://raw.githubusercontent.com/Homebrew/homebrew/1681e193e4d91c9620c4901efd4458d9b6fcda8e/Library/Formula/python.rb" + +desired_openssl_version="1.0.1j" +desired_openssl_brew_version="1.0.1j_1" +openssl_formula="https://raw.githubusercontent.com/Homebrew/homebrew/62fc2a1a65e83ba9dbb30b2e0a2b7355831c714b/Library/Formula/openssl.rb" + +PATH="/usr/local/bin:$PATH" + if !(which brew); then ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" fi brew update -if [ ! -f /usr/local/bin/python ]; then - brew install python +if !(python_version | grep "$desired_python_version"); then + if brew list | grep python; then + brew unlink python + fi + + brew install "$python_formula" + brew switch python "$desired_python_brew_version" fi -if [ -n "$(brew outdated | grep python)" ]; then - brew upgrade python +if !(openssl_version | grep "$desired_openssl_version"); then + if brew list | grep openssl; then + brew unlink openssl + fi + + brew install "$openssl_formula" + brew switch openssl "$desired_openssl_brew_version" fi +echo "*** Using $(python_version)" +echo "*** Using $(openssl_version)" + if !(which virtualenv); then pip install virtualenv fi From 8749bc08443ddb344ecf683e796cdb2d814b7f68 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 1 Jun 2015 14:01:30 +0100 Subject: [PATCH 012/221] Build Python 2.7.9 in Docker image Signed-off-by: Aanand Prasad --- Dockerfile | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index b2ae0063c..fca5f9803 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,11 @@ FROM debian:wheezy RUN set -ex; \ apt-get update -qq; \ apt-get install -y \ - python \ - python-pip \ - python-dev \ + gcc \ + make \ + zlib1g \ + zlib1g-dev \ + libssl-dev \ git \ apt-transport-https \ ca-certificates \ @@ -15,6 +17,37 @@ RUN set -ex; \ ; \ rm -rf /var/lib/apt/lists/* +# Build Python 2.7.9 from source +RUN set -ex; \ + curl -LO https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz; \ + tar -xzf Python-2.7.9.tgz; \ + cd Python-2.7.9; \ + ./configure --enable-shared; \ + make; \ + make install; \ + cd ..; \ + rm -rf /Python-2.7.9; \ + rm Python-2.7.9.tgz + +# Make libpython findable +ENV LD_LIBRARY_PATH /usr/local/lib + +# Install setuptools +RUN set -ex; \ + curl -LO https://bootstrap.pypa.io/ez_setup.py; \ + python ez_setup.py; \ + rm ez_setup.py + +# Install pip +RUN set -ex; \ + curl -LO https://pypi.python.org/packages/source/p/pip/pip-7.0.1.tar.gz; \ + tar -xzf pip-7.0.1.tar.gz; \ + cd pip-7.0.1; \ + python setup.py install; \ + cd ..; \ + rm -rf pip-7.0.1; \ + rm pip-7.0.1.tar.gz + ENV ALL_DOCKER_VERSIONS 1.6.0 RUN set -ex; \ From 5a5bffebd178670e602e2e9ea8c177bc32ef62b5 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 27 May 2015 12:49:58 +0100 Subject: [PATCH 013/221] Merge pull request #1464 from twhiteman/bug1461 Possible division by zero error when pulling an image - fixes #1463 (cherry picked from commit d0e87929a1f39b4e98c2c8497f3f0ffc09fb9e43) Signed-off-by: Aanand Prasad --- compose/progress_stream.py | 5 +++-- tests/unit/progress_stream_test.py | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/compose/progress_stream.py b/compose/progress_stream.py index 39aab5ff7..317c6e815 100644 --- a/compose/progress_stream.py +++ b/compose/progress_stream.py @@ -74,8 +74,9 @@ def print_output_event(event, stream, is_terminal): stream.write("%s %s%s" % (status, event['progress'], terminator)) elif 'progressDetail' in event: detail = event['progressDetail'] - if 'current' in detail: - percentage = float(detail['current']) / float(detail['total']) * 100 + total = detail.get('total') + if 'current' in detail and total: + percentage = float(detail['current']) / float(total) * 100 stream.write('%s (%.1f%%)%s' % (status, percentage, terminator)) else: stream.write('%s%s' % (status, terminator)) diff --git a/tests/unit/progress_stream_test.py b/tests/unit/progress_stream_test.py index 142560681..317b77e9f 100644 --- a/tests/unit/progress_stream_test.py +++ b/tests/unit/progress_stream_test.py @@ -17,3 +17,21 @@ class ProgressStreamTestCase(unittest.TestCase): ] events = progress_stream.stream_output(output, StringIO()) self.assertEqual(len(events), 1) + + def test_stream_output_div_zero(self): + output = [ + '{"status": "Downloading", "progressDetail": {"current": ' + '0, "start": 1413653874, "total": 0}, ' + '"progress": "..."}', + ] + events = progress_stream.stream_output(output, StringIO()) + self.assertEqual(len(events), 1) + + def test_stream_output_null_total(self): + output = [ + '{"status": "Downloading", "progressDetail": {"current": ' + '0, "start": 1413653874, "total": null}, ' + '"progress": "..."}', + ] + events = progress_stream.stream_output(output, StringIO()) + self.assertEqual(len(events), 1) From 4f4ea2a402a42c29c9867b02287dd7ded2d5b0d0 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Fri, 29 May 2015 14:45:21 +0100 Subject: [PATCH 014/221] Merge pull request #1325 from sdurrheimer/master Zsh completion for docker-compose (cherry picked from commit b638728d6ca21982e321b4069ef92f8367f069f4) Signed-off-by: Aanand Prasad Conflicts: docs/completion.md --- CONTRIBUTING.md | 1 - contrib/completion/zsh/_docker-compose | 304 +++++++++++++++++++++++++ docs/completion.md | 37 ++- 3 files changed, 333 insertions(+), 9 deletions(-) create mode 100644 contrib/completion/zsh/_docker-compose diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fddf888dc..6914e2159 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -73,7 +73,6 @@ up-to-date. 1. Open pull request that: - Updates the version in `compose/__init__.py` - Updates the binary URL in `docs/install.md` - - Updates the script URL in `docs/completion.md` - Adds release notes to `CHANGES.md` 2. Create unpublished GitHub release with release notes 3. Build Linux version on any Docker host with `script/build-linux` and attach diff --git a/contrib/completion/zsh/_docker-compose b/contrib/completion/zsh/_docker-compose new file mode 100644 index 000000000..31052e1e0 --- /dev/null +++ b/contrib/completion/zsh/_docker-compose @@ -0,0 +1,304 @@ +#compdef docker-compose + +# Description +# ----------- +# zsh completion for docker-compose +# https://github.com/sdurrheimer/docker-compose-zsh-completion +# ------------------------------------------------------------------------- +# Version +# ------- +# 0.1.0 +# ------------------------------------------------------------------------- +# Authors +# ------- +# * Steve Durrheimer +# ------------------------------------------------------------------------- +# Inspiration +# ----------- +# * @albers docker-compose bash completion script +# * @felixr docker zsh completion script : https://github.com/felixr/docker-zsh-completion +# ------------------------------------------------------------------------- + +# For compatibility reasons, Compose and therefore its completion supports several +# stack compositon files as listed here, in descending priority. +# Support for these filenames might be dropped in some future version. +__docker-compose_compose_file() { + local file + for file in docker-compose.y{,a}ml fig.y{,a}ml ; do + [ -e $file ] && { + echo $file + return + } + done + echo docker-compose.yml +} + +# Extracts all service names from docker-compose.yml. +___docker-compose_all_services_in_compose_file() { + local already_selected + local -a services + already_selected=$(echo ${words[@]} | tr " " "|") + awk -F: '/^[a-zA-Z0-9]/{print $1}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | grep -Ev "$already_selected" +} + +# All services, even those without an existing container +__docker-compose_services_all() { + services=$(___docker-compose_all_services_in_compose_file) + _alternative "args:services:($services)" +} + +# All services that have an entry with the given key in their docker-compose.yml section +___docker-compose_services_with_key() { + local already_selected + local -a buildable + already_selected=$(echo ${words[@]} | tr " " "|") + # flatten sections to one line, then filter lines containing the key and return section name. + awk '/^[a-zA-Z0-9]/{printf "\n"};{printf $0;next;}' "${compose_file:-$(__docker-compose_compose_file)}" 2>/dev/null | awk -F: -v key=": +$1:" '$0 ~ key {print $1}' 2>/dev/null | grep -Ev "$already_selected" +} + +# All services that are defined by a Dockerfile reference +__docker-compose_services_from_build() { + buildable=$(___docker-compose_services_with_key build) + _alternative "args:buildable services:($buildable)" +} + +# All services that are defined by an image +__docker-compose_services_from_image() { + pullable=$(___docker-compose_services_with_key image) + _alternative "args:pullable services:($pullable)" +} + +__docker-compose_get_services() { + local kind expl + declare -a running stopped lines args services + + docker_status=$(docker ps > /dev/null 2>&1) + if [ $? -ne 0 ]; then + _message "Error! Docker is not running." + return 1 + fi + + kind=$1 + shift + [[ $kind = (stopped|all) ]] && args=($args -a) + + lines=(${(f)"$(_call_program commands docker ps ${args})"}) + services=(${(f)"$(_call_program commands docker-compose 2>/dev/null ${compose_file:+-f $compose_file} ${compose_project:+-p $compose_project} ps -q)"}) + + # Parse header line to find columns + local i=1 j=1 k header=${lines[1]} + declare -A begin end + while (( $j < ${#header} - 1 )) { + i=$(( $j + ${${header[$j,-1]}[(i)[^ ]]} - 1)) + j=$(( $i + ${${header[$i,-1]}[(i) ]} - 1)) + k=$(( $j + ${${header[$j,-1]}[(i)[^ ]]} - 2)) + begin[${header[$i,$(($j-1))]}]=$i + end[${header[$i,$(($j-1))]}]=$k + } + lines=(${lines[2,-1]}) + + # Container ID + local line s name + local -a names + for line in $lines; do + if [[ $services == *"${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}"* ]]; then + names=(${(ps:,:)${${line[${begin[NAMES]},-1]}%% *}}) + for name in $names; do + s="${${name%_*}#*_}:${(l:15:: :::)${${line[${begin[CREATED]},${end[CREATED]}]/ ago/}%% ##}}" + s="$s, ${line[${begin[CONTAINER ID]},${end[CONTAINER ID]}]%% ##}" + s="$s, ${${${line[$begin[IMAGE],$end[IMAGE]]}/:/\\:}%% ##}" + if [[ ${line[${begin[STATUS]},${end[STATUS]}]} = Exit* ]]; then + stopped=($stopped $s) + else + running=($running $s) + fi + done + fi + done + + [[ $kind = (running|all) ]] && _describe -t services-running "running services" running + [[ $kind = (stopped|all) ]] && _describe -t services-stopped "stopped services" stopped +} + +__docker-compose_stoppedservices() { + __docker-compose_get_services stopped "$@" +} + +__docker-compose_runningservices() { + __docker-compose_get_services running "$@" +} + +__docker-compose_services () { + __docker-compose_get_services all "$@" +} + +__docker-compose_caching_policy() { + oldp=( "$1"(Nmh+1) ) # 1 hour + (( $#oldp )) +} + +__docker-compose_commands () { + local cache_policy + + zstyle -s ":completion:${curcontext}:" cache-policy cache_policy + if [[ -z "$cache_policy" ]]; then + zstyle ":completion:${curcontext}:" cache-policy __docker-compose_caching_policy + fi + + if ( [[ ${+_docker_compose_subcommands} -eq 0 ]] || _cache_invalid docker_compose_subcommands) \ + && ! _retrieve_cache docker_compose_subcommands; + then + local -a lines + lines=(${(f)"$(_call_program commands docker-compose 2>&1)"}) + _docker_compose_subcommands=(${${${lines[$((${lines[(i)Commands:]} + 1)),${lines[(I) *]}]}## #}/ ##/:}) + _store_cache docker_compose_subcommands _docker_compose_subcommands + fi + _describe -t docker-compose-commands "docker-compose command" _docker_compose_subcommands +} + +__docker-compose_subcommand () { + local -a _command_args + integer ret=1 + case "$words[1]" in + (build) + _arguments \ + '--no-cache[Do not use cache when building the image]' \ + '*:services:__docker-compose_services_from_build' && ret=0 + ;; + (help) + _arguments ':subcommand:__docker-compose_commands' && ret=0 + ;; + (kill) + _arguments \ + '-s[SIGNAL to send to the container. Default signal is SIGKILL.]:signal:_signals' \ + '*:running services:__docker-compose_runningservices' && ret=0 + ;; + (logs) + _arguments \ + '--no-color[Produce monochrome output.]' \ + '*:services:__docker-compose_services_all' && ret=0 + ;; + (migrate-to-labels) + _arguments \ + '(-):Recreate containers to add labels' && ret=0 + ;; + (port) + _arguments \ + '--protocol=-[tcp or udap (defaults to tcp)]:protocol:(tcp udp)' \ + '--index=-[index of the container if there are mutiple instances of a service (defaults to 1)]:index: ' \ + '1:running services:__docker-compose_runningservices' \ + '2:port:_ports' && ret=0 + ;; + (ps) + _arguments \ + '-q[Only display IDs]' \ + '*:services:__docker-compose_services_all' && ret=0 + ;; + (pull) + _arguments \ + '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \ + '*:services:__docker-compose_services_from_image' && ret=0 + ;; + (rm) + _arguments \ + '(-f --force)'{-f,--force}"[Don't ask to confirm removal]" \ + '-v[Remove volumes associated with containers]' \ + '*:stopped services:__docker-compose_stoppedservices' && ret=0 + ;; + (run) + _arguments \ + '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \ + '-d[Detached mode: Run container in the background, print new container name.]' \ + '--entrypoint[Overwrite the entrypoint of the image.]:entry point: ' \ + '*-e[KEY=VAL Set an environment variable (can be used multiple times)]:environment variable KEY=VAL: ' \ + '(-u --user)'{-u,--user=-}'[Run as specified username or uid]:username or uid:_users' \ + "--no-deps[Don't start linked services.]" \ + '--rm[Remove container after run. Ignored in detached mode.]' \ + "--service-ports[Run command with the service's ports enabled and mapped to the host.]" \ + '-T[Disable pseudo-tty allocation. By default `docker-compose run` allocates a TTY.]' \ + '(-):services:__docker-compose_services' \ + '(-):command: _command_names -e' \ + '*::arguments: _normal' && ret=0 + ;; + (scale) + _arguments '*:running services:__docker-compose_runningservices' && ret=0 + ;; + (start) + _arguments '*:stopped services:__docker-compose_stoppedservices' && ret=0 + ;; + (stop|restart) + _arguments \ + '(-t --timeout)'{-t,--timeout}"[Specify a shutdown timeout in seconds. (default: 10)]:seconds: " \ + '*:running services:__docker-compose_runningservices' && ret=0 + ;; + (up) + _arguments \ + '--allow-insecure-ssl[Allow insecure connections to the docker registry]' \ + '-d[Detached mode: Run containers in the background, print new container names.]' \ + '--no-color[Produce monochrome output.]' \ + "--no-deps[Don't start linked services.]" \ + "--no-recreate[If containers already exist, don't recreate them.]" \ + "--no-build[Don't build an image, even if it's missing]" \ + '(-t --timeout)'{-t,--timeout}"[Specify a shutdown timeout in seconds. (default: 10)]:seconds: " \ + "--x-smart-recreate[Only recreate containers whose configuration or image needs to be updated. (EXPERIMENTAL)]" \ + '*:services:__docker-compose_services_all' && ret=0 + ;; + (*) + _message 'Unknown sub command' + esac + + return ret +} + +_docker-compose () { + # Support for subservices, which allows for `compdef _docker docker-shell=_docker_containers`. + # Based on /usr/share/zsh/functions/Completion/Unix/_git without support for `ret`. + if [[ $service != docker-compose ]]; then + _call_function - _$service + return + fi + + local curcontext="$curcontext" state line ret=1 + typeset -A opt_args + + _arguments -C \ + '(- :)'{-h,--help}'[Get help]' \ + '--verbose[Show more output]' \ + '(- :)'{-v,--version}'[Print version and exit]' \ + '(-f --file)'{-f,--file}'[Specify an alternate docker-compose file (default: docker-compose.yml)]:file:_files -g "*.yml"' \ + '(-p --project-name)'{-p,--project-name}'[Specify an alternate project name (default: directory name)]:project name:' \ + '(-): :->command' \ + '(-)*:: :->option-or-argument' && ret=0 + + local counter=1 + #local compose_file compose_project + while [ $counter -lt ${#words[@]} ]; do + case "${words[$counter]}" in + -f|--file) + (( counter++ )) + compose_file="${words[$counter]}" + ;; + -p|--project-name) + (( counter++ )) + compose_project="${words[$counter]}" + ;; + *) + ;; + esac + (( counter++ )) + done + + case $state in + (command) + __docker-compose_commands && ret=0 + ;; + (option-or-argument) + curcontext=${curcontext%:*:*}:docker-compose-$words[1]: + __docker-compose_subcommand && ret=0 + ;; + esac + + return ret +} + +_docker-compose "$@" diff --git a/docs/completion.md b/docs/completion.md index 35c53b55f..5168971f8 100644 --- a/docs/completion.md +++ b/docs/completion.md @@ -3,23 +3,44 @@ layout: default title: Command Completion --- -#Command Completion +# Command Completion Compose comes with [command completion](http://en.wikipedia.org/wiki/Command-line_completion) -for the bash shell. +for the bash and zsh shell. -##Installing Command Completion +## Installing Command Completion + +### Bash Make sure bash completion is installed. If you use a current Linux in a non-minimal installation, bash completion should be available. On a Mac, install with `brew install bash-completion` - -Place the completion script in `/etc/bash_completion.d/` (`/usr/local/etc/bash_completion.d/` on a Mac), using e.g. - curl -L https://raw.githubusercontent.com/docker/compose/1.2.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose - +Place the completion script in `/etc/bash_completion.d/` (`/usr/local/etc/bash_completion.d/` on a Mac), using e.g. + + curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose --version | awk '{print $2}')/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose + Completion will be available upon next login. -##Available completions +### Zsh + +Place the completion script in your `/path/to/zsh/completion`, using e.g. `~/.zsh/completion/` + + mkdir -p ~/.zsh/completion + curl -L https://raw.githubusercontent.com/docker/compose/$(docker-compose --version | awk '{print $2}')/contrib/completion/zsh/_docker-compose > ~/.zsh/completion/_docker-compose + +Include the directory in your `$fpath`, e.g. by adding in `~/.zshrc` + + fpath=(~/.zsh/completion $fpath) + +Make sure `compinit` is loaded or do it by adding in `~/.zshrc` + + autoload -Uz compinit && compinit -i + +Then reload your shell + + exec $SHELL -l + +## Available completions Depending on what you typed on the command line so far, it will complete From 631f5be02fdc087420989bf820345406e6bc0c7b Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Sat, 30 May 2015 09:01:39 -0500 Subject: [PATCH 015/221] Merge pull request #1481 from albers/completion-smart-recreate Support --x-smart-recreate in bash completion (cherry picked from commit 9a0bb325f2d1203b7aac915c3bfca4347cc93489) Signed-off-by: Aanand Prasad --- contrib/completion/bash/docker-compose | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contrib/completion/bash/docker-compose b/contrib/completion/bash/docker-compose index e62b1d8fc..ba3dff352 100644 --- a/contrib/completion/bash/docker-compose +++ b/contrib/completion/bash/docker-compose @@ -104,7 +104,7 @@ _docker-compose_docker-compose() { case "$cur" in -*) - COMPREPLY=( $( compgen -W "--help -h --verbose --version --file -f --project-name -p" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--help -h --verbose --version -v --file -f --project-name -p" -- "$cur" ) ) ;; *) COMPREPLY=( $( compgen -W "${commands[*]}" -- "$cur" ) ) @@ -293,7 +293,7 @@ _docker-compose_up() { case "$cur" in -*) - COMPREPLY=( $( compgen -W "--allow-insecure-ssl -d --no-build --no-color --no-deps --no-recreate -t --timeout" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--allow-insecure-ssl -d --no-build --no-color --no-deps --no-recreate -t --timeout --x-smart-recreate" -- "$cur" ) ) ;; *) __docker-compose_services_all From 8ed7dfef6fb8d3f6eeeb4c515315e9ae43baee29 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 8 Jun 2015 12:48:46 -0400 Subject: [PATCH 016/221] Merge pull request #1525 from aanand/fix-duplicate-logging Fix duplicate logging on up/run (cherry picked from commit e2b790f7328482591863e496de14c825fd3f8a23) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 1 + compose/service.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 61f3ec3f9..fa4013161 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -335,6 +335,7 @@ class TopLevelCommand(Command): container_options['ports'] = [] container = service.create_container( + quiet=True, one_off=True, insecure_registry=insecure_registry, **container_options diff --git a/compose/service.py b/compose/service.py index ccfb38511..dd931beee 100644 --- a/compose/service.py +++ b/compose/service.py @@ -199,6 +199,7 @@ class Service(object): do_build=True, previous_container=None, number=None, + quiet=False, **override_options): """ Create a container for this service. If the image doesn't exist, attempt to pull @@ -216,7 +217,7 @@ class Service(object): previous_container=previous_container, ) - if 'name' in container_options: + if 'name' in container_options and not quiet: log.info("Creating %s..." % container_options['name']) return Container.create(self.client, **container_options) @@ -378,6 +379,7 @@ class Service(object): do_build=False, previous_container=container, number=container.labels.get(LABEL_CONTAINER_NUMBER), + quiet=True, ) self.start_container(new_container) container.remove() From dca3bbdea3eb9991d804cc8b9ac9de34a367b866 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 8 Jun 2015 16:21:02 -0400 Subject: [PATCH 017/221] Merge pull request #1527 from aanand/remove-logging-on-run-rm Remove logging on run --rm (cherry picked from commit 5578ccbb0113e285a20aeeee820c03766ef1ae6e) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index fa4013161..7fde4ebaa 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -348,7 +348,6 @@ class TopLevelCommand(Command): dockerpty.start(project.client, container.id, interactive=not options['-T']) exit_code = container.wait() if options['--rm']: - log.info("Removing %s..." % container.name) project.client.remove_container(container.id) sys.exit(exit_code) From 8212f1bd45ab36d41895fbbd45490cbb68170187 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 9 Jun 2015 18:21:14 -0400 Subject: [PATCH 018/221] Merge pull request #1529 from aanand/update-dockerpty Update dockerpty to 0.3.4 (cherry picked from commit 95b2eaac042bb761b4f94c35a1af539467714098) Signed-off-by: Aanand Prasad --- requirements.txt | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index b93988480..d3909b766 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ PyYAML==3.10 docker-py==1.2.2 -dockerpty==0.3.3 +dockerpty==0.3.4 docopt==0.6.1 requests==2.6.1 six==1.7.3 diff --git a/setup.py b/setup.py index 153275f69..9364f57f3 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ install_requires = [ 'texttable >= 0.8.1, < 0.9', 'websocket-client >= 0.11.0, < 1.0', 'docker-py >= 1.2.2, < 1.3', - 'dockerpty >= 0.3.3, < 0.4', + 'dockerpty >= 0.3.4, < 0.4', 'six >= 1.3.0, < 2', ] From 71514cb380c157bbd7c34ad26697dc0638783d79 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 9 Jun 2015 22:22:56 -0400 Subject: [PATCH 019/221] Merge pull request #1531 from aanand/test-crash-resilience Test that data volumes now survive a crash when recreating (cherry picked from commit 87c30ae6e48c2341593b03770089e3ff86108881) Signed-off-by: Aanand Prasad --- tests/integration/resilience_test.py | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 tests/integration/resilience_test.py diff --git a/tests/integration/resilience_test.py b/tests/integration/resilience_test.py new file mode 100644 index 000000000..8229e9d3c --- /dev/null +++ b/tests/integration/resilience_test.py @@ -0,0 +1,37 @@ +from __future__ import unicode_literals +from __future__ import absolute_import + +import mock + +from compose.project import Project +from .testcases import DockerClientTestCase + + +class ResilienceTest(DockerClientTestCase): + def test_recreate_fails(self): + db = self.create_service('db', volumes=['/var/db'], command='top') + project = Project('composetest', [db], self.client) + + container = db.create_container() + db.start_container(container) + host_path = container.get('Volumes')['/var/db'] + + project.up() + container = db.containers()[0] + self.assertEqual(container.get('Volumes')['/var/db'], host_path) + + with mock.patch('compose.service.Service.create_container', crash): + with self.assertRaises(Crash): + project.up() + + project.up() + container = db.containers()[0] + self.assertEqual(container.get('Volumes')['/var/db'], host_path) + + +class Crash(Exception): + pass + + +def crash(*args, **kwargs): + raise Crash() From ca14ed68f7060ffc6e7856a66e7d6f4d3e245a74 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 10 Jun 2015 13:03:55 -0400 Subject: [PATCH 020/221] Merge pull request #1533 from edmorley/update-b2d-shellinit-example Docs: Update boot2docker shellinit example to use 'eval' (cherry picked from commit 17e03b29f9381a10f08e551f0c88899b7961664f) Signed-off-by: Aanand Prasad --- docs/cli.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cli.md b/docs/cli.md index e5594871d..162189481 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -155,7 +155,7 @@ By default, if there are existing containers for a service, `docker-compose up` Several environment variables are available for you to configure Compose's behaviour. Variables starting with `DOCKER_` are the same as those used to configure the -Docker command-line client. If you're using boot2docker, `$(boot2docker shellinit)` +Docker command-line client. If you're using boot2docker, `eval "$(boot2docker shellinit)"` will set them to their correct values. ### COMPOSE\_PROJECT\_NAME From ad4cc5d6dfc0718d44bbcb6497f3483fc05b09f4 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 10 Jun 2015 17:19:24 -0400 Subject: [PATCH 021/221] Merge pull request #1497 from aanand/use-1.7-rc1 Run tests against Docker 1.7 RC2 (cherry picked from commit 0e9ccd36f3c672902a5241f557ed81df19255ccc) Signed-off-by: Aanand Prasad --- Dockerfile | 6 ++++-- tests/integration/cli_test.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index fca5f9803..1ff2d3825 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,11 +48,13 @@ RUN set -ex; \ rm -rf pip-7.0.1; \ rm pip-7.0.1.tar.gz -ENV ALL_DOCKER_VERSIONS 1.6.0 +ENV ALL_DOCKER_VERSIONS 1.6.0 1.7.0-rc2 RUN set -ex; \ curl https://get.docker.com/builds/Linux/x86_64/docker-1.6.0 -o /usr/local/bin/docker-1.6.0; \ - chmod +x /usr/local/bin/docker-1.6.0 + chmod +x /usr/local/bin/docker-1.6.0; \ + curl https://test.docker.com/builds/Linux/x86_64/docker-1.7.0-rc2 -o /usr/local/bin/docker-1.7.0-rc2; \ + chmod +x /usr/local/bin/docker-1.7.0-rc2 # Set the default Docker to be run RUN ln -s /usr/local/bin/docker-1.6.0 /usr/local/bin/docker diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 92789363e..4d33808cd 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -1,6 +1,7 @@ from __future__ import absolute_import import sys import os +import shlex from six import StringIO from mock import patch @@ -240,8 +241,8 @@ class CLITestCase(DockerClientTestCase): service = self.project.get_service(name) container = service.containers(stopped=True, one_off=True)[0] self.assertEqual( - container.human_readable_command, - u'/bin/echo helloworld' + shlex.split(container.human_readable_command), + [u'/bin/echo', u'helloworld'], ) @patch('dockerpty.start') From b7e8770c4fe8f67c0f50fcb0d39094f5db7e8d3d Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Thu, 11 Jun 2015 21:54:53 +0100 Subject: [PATCH 022/221] Merge pull request #1538 from thieman/tnt-serivce-misspelled Correct misspelling of "Service" in an error message (cherry picked from commit bd246fb011aa6805d57eb31d641e3c072c072d63) Signed-off-by: Aanand Prasad --- compose/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/project.py b/compose/project.py index d3deeeaf9..bc093628c 100644 --- a/compose/project.py +++ b/compose/project.py @@ -171,7 +171,7 @@ class Project(object): try: net = Container.from_id(self.client, net_name) except APIError: - raise ConfigurationError('Serivce "%s" is trying to use the network of "%s", which is not the name of a service or container.' % (service_dict['name'], net_name)) + raise ConfigurationError('Service "%s" is trying to use the network of "%s", which is not the name of a service or container.' % (service_dict['name'], net_name)) else: net = service_dict['net'] From cd7f67018e9fcb4ff423e344dba55fd96289ce48 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 4 Jun 2015 16:21:01 +0100 Subject: [PATCH 023/221] Merge pull request #1466 from noironetworks/changing-scale-to-warning Modified scale awareness from exception to warning (cherry picked from commit 7d2a89427c59774a8cbf503a57cb9f3b0d47d1fe) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 12 ++---------- compose/service.py | 8 +++----- tests/integration/service_test.py | 5 ----- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 7fde4ebaa..0c3b85e5c 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -12,7 +12,7 @@ import dockerpty from .. import legacy from ..project import NoSuchService, ConfigurationError -from ..service import BuildError, CannotBeScaledError, NeedsBuildError +from ..service import BuildError, NeedsBuildError from ..config import parse_environment from .command import Command from .docopt_command import NoSuchCommand @@ -371,15 +371,7 @@ class TopLevelCommand(Command): except ValueError: raise UserError('Number of containers for service "%s" is not a ' 'number' % service_name) - try: - project.get_service(service_name).scale(num) - except CannotBeScaledError: - raise UserError( - 'Service "%s" cannot be scaled because it specifies a port ' - 'on the host. If multiple containers for this service were ' - 'created, the port would clash.\n\nRemove the ":" from the ' - 'port definition in docker-compose.yml so Docker can choose a random ' - 'port for each container.' % service_name) + project.get_service(service_name).scale(num) def start(self, project, options): """ diff --git a/compose/service.py b/compose/service.py index dd931beee..5d0d171d8 100644 --- a/compose/service.py +++ b/compose/service.py @@ -55,10 +55,6 @@ class BuildError(Exception): self.reason = reason -class CannotBeScaledError(Exception): - pass - - class ConfigError(ValueError): pass @@ -154,7 +150,9 @@ class Service(object): - removes all stopped containers """ if not self.can_be_scaled(): - raise CannotBeScaledError() + log.warn('Service %s specifies a port on the host. If multiple containers ' + 'for this service are created on a single host, the port will clash.' + % self.name) # Create enough containers containers = self.containers(stopped=True) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 8fd8212ce..7e88557f9 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -17,7 +17,6 @@ from compose.const import ( LABEL_VERSION, ) from compose.service import ( - CannotBeScaledError, ConfigError, Service, build_extra_hosts, @@ -526,10 +525,6 @@ class ServiceTest(DockerClientTestCase): service.scale(0) self.assertEqual(len(service.containers()), 0) - def test_scale_on_service_that_cannot_be_scaled(self): - service = self.create_service('web', ports=['8000:8000']) - self.assertRaises(CannotBeScaledError, lambda: service.scale(1)) - def test_scale_sets_ports(self): service = self.create_service('web', ports=['8000']) service.scale(2) From 59d6af73fa964b2e1ce65964561d21b409194724 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 12 Jun 2015 11:56:02 -0400 Subject: [PATCH 024/221] Merge pull request #1539 from bfirsh/add-image-affinity-to-test Add image affinity to test script (cherry picked from commit 4c2112dbfd4da219f2585569b716b59f7562b034) Signed-off-by: Aanand Prasad --- script/test | 1 + 1 file changed, 1 insertion(+) diff --git a/script/test b/script/test index ab0645fdc..700de7779 100755 --- a/script/test +++ b/script/test @@ -12,6 +12,7 @@ docker run \ --volume="$(pwd):/code" \ -e DOCKER_VERSIONS \ -e "TAG=$TAG" \ + -e "affinity:image==$TAG" \ --entrypoint="script/test-versions" \ "$TAG" \ "$@" From 363a6563c7ed80731908658e8cc9cf431885bb1b Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Thu, 11 Jun 2015 21:55:33 +0100 Subject: [PATCH 025/221] Merge pull request #1537 from aanand/reorder-service-utils Reorder service.py utility methods (cherry picked from commit e3525d64b55ba6b95adab54ac0b5baf22d7740e0) Signed-off-by: Aanand Prasad --- compose/service.py | 135 ++++++++++++++++++++++++++------------------- 1 file changed, 78 insertions(+), 57 deletions(-) diff --git a/compose/service.py b/compose/service.py index 5d0d171d8..8b4115173 100644 --- a/compose/service.py +++ b/compose/service.py @@ -708,6 +708,47 @@ class Service(object): stream_output(output, sys.stdout) +# Names + + +def build_container_name(project, service, number, one_off=False): + bits = [project, service] + if one_off: + bits.append('run') + return '_'.join(bits + [str(number)]) + + +# Images + + +def parse_repository_tag(s): + if ":" not in s: + return s, "" + repo, tag = s.rsplit(":", 1) + if "/" in tag: + return s, "" + return repo, tag + + +# Volumes + + +def merge_volume_bindings(volumes_option, previous_container): + """Return a list of volume bindings for a container. Container data volumes + are replaced by those from the previous container. + """ + volume_bindings = dict( + build_volume_binding(parse_volume_spec(volume)) + for volume in volumes_option or [] + if ':' in volume) + + if previous_container: + volume_bindings.update( + get_container_data_volumes(previous_container, volumes_option)) + + return volume_bindings + + def get_container_data_volumes(container, volumes_option): """Find the container data volumes that are in `volumes_option`, and return a mapping of volume bindings for those volumes. @@ -736,51 +777,9 @@ def get_container_data_volumes(container, volumes_option): return dict(volumes) -def merge_volume_bindings(volumes_option, previous_container): - """Return a list of volume bindings for a container. Container data volumes - are replaced by those from the previous container. - """ - volume_bindings = dict( - build_volume_binding(parse_volume_spec(volume)) - for volume in volumes_option or [] - if ':' in volume) - - if previous_container: - volume_bindings.update( - get_container_data_volumes(previous_container, volumes_option)) - - return volume_bindings - - -def build_container_name(project, service, number, one_off=False): - bits = [project, service] - if one_off: - bits.append('run') - return '_'.join(bits + [str(number)]) - - -def build_container_labels(label_options, service_labels, number, one_off=False): - labels = label_options or {} - labels.update(label.split('=', 1) for label in service_labels) - labels[LABEL_CONTAINER_NUMBER] = str(number) - labels[LABEL_VERSION] = __version__ - return labels - - -def parse_restart_spec(restart_config): - if not restart_config: - return None - parts = restart_config.split(':') - if len(parts) > 2: - raise ConfigError("Restart %s has incorrect format, should be " - "mode[:max_retry]" % restart_config) - if len(parts) == 2: - name, max_retry_count = parts - else: - name, = parts - max_retry_count = 0 - - return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} +def build_volume_binding(volume_spec): + internal = {'bind': volume_spec.internal, 'ro': volume_spec.mode == 'ro'} + return volume_spec.external, internal def parse_volume_spec(volume_config): @@ -803,18 +802,7 @@ def parse_volume_spec(volume_config): return VolumeSpec(external, internal, mode) -def parse_repository_tag(s): - if ":" not in s: - return s, "" - repo, tag = s.rsplit(":", 1) - if "/" in tag: - return s, "" - return repo, tag - - -def build_volume_binding(volume_spec): - internal = {'bind': volume_spec.internal, 'ro': volume_spec.mode == 'ro'} - return volume_spec.external, internal +# Ports def build_port_bindings(ports): @@ -845,6 +833,39 @@ def split_port(port): return internal_port, (external_ip, external_port or None) +# Labels + + +def build_container_labels(label_options, service_labels, number, one_off=False): + labels = label_options or {} + labels.update(label.split('=', 1) for label in service_labels) + labels[LABEL_CONTAINER_NUMBER] = str(number) + labels[LABEL_VERSION] = __version__ + return labels + + +# Restart policy + + +def parse_restart_spec(restart_config): + if not restart_config: + return None + parts = restart_config.split(':') + if len(parts) > 2: + raise ConfigError("Restart %s has incorrect format, should be " + "mode[:max_retry]" % restart_config) + if len(parts) == 2: + name, max_retry_count = parts + else: + name, = parts + max_retry_count = 0 + + return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} + + +# Extra hosts + + def build_extra_hosts(extra_hosts_config): if not extra_hosts_config: return {} From 8f8693e13ed6c6a3fe518bc1928efa1d536e19e0 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 29 May 2015 12:38:40 +0100 Subject: [PATCH 026/221] Merge pull request #1480 from bfirsh/change-sigint-test-to-use-sigstop Change kill SIGINT test to use SIGSTOP (cherry picked from commit a15f996744b4005441b289f6b3fb4eef551b5214) Signed-off-by: Aanand Prasad --- tests/integration/cli_test.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 4d33808cd..cb7bc17fc 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -361,22 +361,22 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(service.containers(stopped=True)), 1) self.assertFalse(service.containers(stopped=True)[0].is_running) - def test_kill_signal_sigint(self): + def test_kill_signal_sigstop(self): self.command.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) self.assertTrue(service.containers()[0].is_running) - self.command.dispatch(['kill', '-s', 'SIGINT'], None) + self.command.dispatch(['kill', '-s', 'SIGSTOP'], None) self.assertEqual(len(service.containers()), 1) - # The container is still running. It has been only interrupted + # The container is still running. It has only been paused self.assertTrue(service.containers()[0].is_running) - def test_kill_interrupted_service(self): + def test_kill_stopped_service(self): self.command.dispatch(['up', '-d'], None) service = self.project.get_service('simple') - self.command.dispatch(['kill', '-s', 'SIGINT'], None) + self.command.dispatch(['kill', '-s', 'SIGSTOP'], None) self.assertTrue(service.containers()[0].is_running) self.command.dispatch(['kill', '-s', 'SIGKILL'], None) From 4353f7b9f92bc0e6bebd1fa8cf647407890851b1 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Sat, 30 May 2015 08:43:48 -0500 Subject: [PATCH 027/221] Merge pull request #1475 from fordhurley/patch-1 Fix markdown formatting for `--service-ports` example (cherry picked from commit d64bf88e26f7b1ce097a6b475799364720bcb6cb) Signed-off-by: Aanand Prasad --- docs/cli.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/cli.md b/docs/cli.md index 162189481..1fbd4cb28 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -95,7 +95,9 @@ specify the `--no-deps` flag: Similarly, if you do want the service's ports to be created and mapped to the host, specify the `--service-ports` flag: - $ docker-compose run --service-ports web python manage.py shell + + $ docker-compose run --service-ports web python manage.py shell + ### scale From 58a7844129c9d3797fc11d1680b77b9e9b31577f Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 29 May 2015 17:12:57 +0100 Subject: [PATCH 028/221] Merge pull request #1482 from bfirsh/add-build-and-dist-to-dockerignore Make it possible to run tests remotely (cherry picked from commit c8e096e0895cb3589c4699daa44c299ea23f790c) Signed-off-by: Aanand Prasad --- .dockerignore | 2 ++ script/test | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index f1b636b3e..a03616e53 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,4 @@ .git +build +dist venv diff --git a/script/test b/script/test index 700de7779..625af09b3 100755 --- a/script/test +++ b/script/test @@ -9,7 +9,6 @@ docker build -t "$TAG" . docker run \ --rm \ --volume="/var/run/docker.sock:/var/run/docker.sock" \ - --volume="$(pwd):/code" \ -e DOCKER_VERSIONS \ -e "TAG=$TAG" \ -e "affinity:image==$TAG" \ From 87b4545b44350e7fe5164071ea975d4e4b5a4d91 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 4 Jun 2015 11:18:23 -0500 Subject: [PATCH 029/221] Merge pull request #1508 from thaJeztah/update-dockerproject-links Update dockerproject.com links (cherry picked from commit 417e6ce0c9f67cc719d5f3bfa9e3adbfb16a34eb) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index acd3cbe7a..4b18fc9dc 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,6 @@ Installation and documentation Contributing ------------ -[![Build Status](http://jenkins.dockerproject.com/buildStatus/icon?job=Compose Master)](http://jenkins.dockerproject.com/job/Compose%20Master/) +[![Build Status](http://jenkins.dockerproject.org/buildStatus/icon?job=Compose%20Master)](http://jenkins.dockerproject.org/job/Compose%20Master/) Want to help build Compose? Check out our [contributing documentation](https://github.com/docker/compose/blob/master/CONTRIBUTING.md). From e724a346c7c26b5b1c824ae4760bd414144c56e3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 8 Jun 2015 12:49:32 -0400 Subject: [PATCH 030/221] Merge pull request #1526 from aanand/remove-start-or-create-containers Remove Service.start_or_create_containers() (cherry picked from commit 38a11c4c28b1af644448d519544b876132ae89a8) Signed-off-by: Aanand Prasad --- compose/service.py | 15 --------------- tests/integration/service_test.py | 4 ++-- 2 files changed, 2 insertions(+), 17 deletions(-) diff --git a/compose/service.py b/compose/service.py index 8b4115173..71edd5e5e 100644 --- a/compose/service.py +++ b/compose/service.py @@ -394,21 +394,6 @@ class Service(object): container.start() return container - def start_or_create_containers( - self, - insecure_registry=False, - do_build=True): - containers = self.containers(stopped=True) - - if not containers: - new_container = self.create_container( - insecure_registry=insecure_registry, - do_build=do_build, - ) - return [self.start_container(new_container)] - else: - return [self.start_container_if_stopped(c) for c in containers] - def config_hash(self): return json_hash(self.config_dict()) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 7e88557f9..32de5fa47 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -501,10 +501,10 @@ class ServiceTest(DockerClientTestCase): ], }) - def test_start_with_image_id(self): + def test_create_with_image_id(self): # Image id for the current busybox:latest service = self.create_service('foo', image='8c2e06607696') - self.assertTrue(service.start_or_create_containers()) + service.create_container() def test_scale(self): service = self.create_service('web') From 67bc3fabe4d045dff44774a1d9681748d8f990e0 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Sun, 14 Jun 2015 13:28:14 -0400 Subject: [PATCH 031/221] Merge pull request #1544 from aanand/fix-volume-deduping Fix volume binds de-duplication (cherry picked from commit 77e594dc9405707ef8787728ae63ca091593f3ba) Signed-off-by: Aanand Prasad --- compose/service.py | 5 +-- requirements.txt | 2 +- tests/unit/service_test.py | 87 +++++++++++++++++++++++++++++++++----- 3 files changed, 79 insertions(+), 15 deletions(-) diff --git a/compose/service.py b/compose/service.py index 71edd5e5e..1e91a9f23 100644 --- a/compose/service.py +++ b/compose/service.py @@ -731,7 +731,7 @@ def merge_volume_bindings(volumes_option, previous_container): volume_bindings.update( get_container_data_volumes(previous_container, volumes_option)) - return volume_bindings + return volume_bindings.values() def get_container_data_volumes(container, volumes_option): @@ -763,8 +763,7 @@ def get_container_data_volumes(container, volumes_option): def build_volume_binding(volume_spec): - internal = {'bind': volume_spec.internal, 'ro': volume_spec.mode == 'ro'} - return volume_spec.external, internal + return volume_spec.internal, "{}:{}:{}".format(*volume_spec) def parse_volume_spec(volume_config): diff --git a/requirements.txt b/requirements.txt index d3909b766..47fa1e05b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ PyYAML==3.10 -docker-py==1.2.2 +docker-py==1.2.3-rc1 dockerpty==0.3.4 docopt==0.6.1 requests==2.6.1 diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index add48086d..fb3a7fcbb 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -331,9 +331,7 @@ class ServiceVolumesTest(unittest.TestCase): def test_build_volume_binding(self): binding = build_volume_binding(parse_volume_spec('/outside:/inside')) - self.assertEqual( - binding, - ('/outside', dict(bind='/inside', ro=False))) + self.assertEqual(binding, ('/inside', '/outside:/inside:rw')) def test_get_container_data_volumes(self): options = [ @@ -360,8 +358,8 @@ class ServiceVolumesTest(unittest.TestCase): }, has_been_inspected=True) expected = { - '/var/lib/docker/aaaaaaaa': {'bind': '/existing/volume', 'ro': False}, - '/var/lib/docker/cccccccc': {'bind': '/mnt/image/data', 'ro': False}, + '/existing/volume': '/var/lib/docker/aaaaaaaa:/existing/volume:rw', + '/mnt/image/data': '/var/lib/docker/cccccccc:/mnt/image/data:rw', } binds = get_container_data_volumes(container, options) @@ -384,11 +382,78 @@ class ServiceVolumesTest(unittest.TestCase): 'Volumes': {'/existing/volume': '/var/lib/docker/aaaaaaaa'}, }, has_been_inspected=True) - expected = { - '/host/volume': {'bind': '/host/volume', 'ro': True}, - '/host/rw/volume': {'bind': '/host/rw/volume', 'ro': False}, - '/var/lib/docker/aaaaaaaa': {'bind': '/existing/volume', 'ro': False}, - } + expected = [ + '/host/volume:/host/volume:ro', + '/host/rw/volume:/host/rw/volume:rw', + '/var/lib/docker/aaaaaaaa:/existing/volume:rw', + ] binds = merge_volume_bindings(options, intermediate_container) - self.assertEqual(binds, expected) + self.assertEqual(set(binds), set(expected)) + + def test_mount_same_host_path_to_two_volumes(self): + service = Service( + 'web', + image='busybox', + volumes=[ + '/host/path:/data1', + '/host/path:/data2', + ], + client=self.mock_client, + ) + + self.mock_client.inspect_image.return_value = { + 'Id': 'ababab', + 'ContainerConfig': { + 'Volumes': {} + } + } + + create_options = service._get_container_create_options( + override_options={}, + number=1, + ) + + self.assertEqual( + set(create_options['host_config']['Binds']), + set([ + '/host/path:/data1:rw', + '/host/path:/data2:rw', + ]), + ) + + def test_different_host_path_in_container_json(self): + service = Service( + 'web', + image='busybox', + volumes=['/host/path:/data'], + client=self.mock_client, + ) + + self.mock_client.inspect_image.return_value = { + 'Id': 'ababab', + 'ContainerConfig': { + 'Volumes': { + '/data': {}, + } + } + } + + self.mock_client.inspect_container.return_value = { + 'Id': '123123123', + 'Image': 'ababab', + 'Volumes': { + '/data': '/mnt/sda1/host/path', + }, + } + + create_options = service._get_container_create_options( + override_options={}, + number=1, + previous_container=Container(self.mock_client, {'Id': '123123123'}), + ) + + self.assertEqual( + create_options['host_config']['Binds'], + ['/mnt/sda1/host/path:/data:rw'], + ) From 719954b02f8d6f03e20bde2409b074295dc5da98 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 15 Jun 2015 10:36:37 -0700 Subject: [PATCH 032/221] Merge pull request #1545 from moxiegirl/test-tooling Updated for new documentation tooling (cherry picked from commit aaccd12d3df2ab64f44db5c6cd8bae282a314419) Signed-off-by: Aanand Prasad --- docs/Dockerfile | 31 +++++++---- docs/Makefile | 55 ++++++++++++++++++ docs/README.md | 77 ++++++++++++++++++++++++++ docs/cli.md | 17 ++++-- docs/completion.md | 18 ++++-- docs/{index.md => compose-overview.md} | 16 ++++-- docs/django.md | 18 ++++-- docs/env.md | 18 ++++-- docs/extends.md | 17 ++++-- docs/install.md | 21 ++++--- docs/mkdocs.yml | 12 ---- docs/production.md | 13 ++++- docs/rails.md | 19 ++++--- docs/wordpress.md | 21 ++++--- docs/yml.md | 19 ++++--- 15 files changed, 283 insertions(+), 89 deletions(-) create mode 100644 docs/Makefile create mode 100644 docs/README.md rename docs/{index.md => compose-overview.md} (96%) delete mode 100644 docs/mkdocs.yml diff --git a/docs/Dockerfile b/docs/Dockerfile index 59ef66cdd..55e7ce700 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -1,15 +1,24 @@ -FROM docs/base:latest -MAINTAINER Sven Dowideit (@SvenDowideit) +FROM docs/base:hugo +MAINTAINER Mary Anthony (@moxiegirl) -# to get the git info for this repo +# To get the git info for this repo COPY . /src -# Reset the /docs dir so we can replace the theme meta with the new repo's git info -RUN git reset --hard +COPY . /docs/content/compose/ -RUN grep "__version" /src/compose/__init__.py | sed "s/.*'\(.*\)'/\1/" > /docs/VERSION -COPY docs/* /docs/sources/compose/ -COPY docs/mkdocs.yml /docs/mkdocs-compose.yml - -# Then build everything together, ready for mkdocs -RUN /docs/build.sh +# Sed to process GitHub Markdown +# 1-2 Remove comment code from metadata block +# 3 Remove .md extension from link text +# 4 Change ](/ to ](/project/ in links +# 5 Change ](word) to ](/project/word) +# 6 Change ](../../ to ](/project/ +# 7 Change ](../ to ](/project/word) +# +# +RUN find /docs/content/compose -type f -name "*.md" -exec sed -i.old \ + -e '/^/g' \ + -e '/^/g' \ + -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \ + -e 's/\(\]\)\([(]\)\(\/\)/\1\2\/compose\//g' \ + -e 's/\(\][(]\)\([A-z]*[)]\)/\]\(\/compose\/\2/g' \ + -e 's/\(\][(]\)\(\.\.\/\)/\1\/compose\//g' {} \; diff --git a/docs/Makefile b/docs/Makefile new file mode 100644 index 000000000..021e8f6e5 --- /dev/null +++ b/docs/Makefile @@ -0,0 +1,55 @@ +.PHONY: all binary build cross default docs docs-build docs-shell shell test test-unit test-integration test-integration-cli test-docker-py validate + +# env vars passed through directly to Docker's build scripts +# to allow things like `make DOCKER_CLIENTONLY=1 binary` easily +# `docs/sources/contributing/devenvironment.md ` and `project/PACKAGERS.md` have some limited documentation of some of these +DOCKER_ENVS := \ + -e BUILDFLAGS \ + -e DOCKER_CLIENTONLY \ + -e DOCKER_EXECDRIVER \ + -e DOCKER_GRAPHDRIVER \ + -e TESTDIRS \ + -e TESTFLAGS \ + -e TIMEOUT +# note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds + +# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs) +DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR)) + +# to allow `make DOCSPORT=9000 docs` +DOCSPORT := 8000 + +# Get the IP ADDRESS +DOCKER_IP=$(shell python -c "import urlparse ; print urlparse.urlparse('$(DOCKER_HOST)').hostname or ''") +HUGO_BASE_URL=$(shell test -z "$(DOCKER_IP)" && echo localhost || echo "$(DOCKER_IP)") +HUGO_BIND_IP=0.0.0.0 + +GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD 2>/dev/null) +DOCKER_IMAGE := docker$(if $(GIT_BRANCH),:$(GIT_BRANCH)) +DOCKER_DOCS_IMAGE := docs-base$(if $(GIT_BRANCH),:$(GIT_BRANCH)) + + +DOCKER_RUN_DOCS := docker run --rm -it $(DOCS_MOUNT) -e AWS_S3_BUCKET -e NOCACHE + +# for some docs workarounds (see below in "docs-build" target) +GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) + +default: docs + +docs: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + +docs-draft: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + + +docs-shell: docs-build + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 "$(DOCKER_DOCS_IMAGE)" bash + + +docs-build: +# ( git remote | grep -v upstream ) || git diff --name-status upstream/release..upstream/docs ./ > ./changed-files +# echo "$(GIT_BRANCH)" > GIT_BRANCH +# echo "$(AWS_S3_BUCKET)" > AWS_S3_BUCKET +# echo "$(GITCOMMIT)" > GITCOMMIT + docker build -t "$(DOCKER_DOCS_IMAGE)" . diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..00736e476 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,77 @@ +# Contributing to the Docker Compose documentation + +The documentation in this directory is part of the [https://docs.docker.com](https://docs.docker.com) website. Docker uses [the Hugo static generator](http://gohugo.io/overview/introduction/) to convert project Markdown files to a static HTML site. + +You don't need to be a Hugo expert to contribute to the compose documentation. If you are familiar with Markdown, you can modify the content in the `docs` files. + +If you want to add a new file or change the location of the document in the menu, you do need to know a little more. + +## Documentation contributing workflow + +1. Edit a Markdown file in the tree. + +2. Save your changes. + +3. Make sure you in your `docs` subdirectory. + +4. Build the documentation. + + $ make docs + ---> ffcf3f6c4e97 + Removing intermediate container a676414185e8 + Successfully built ffcf3f6c4e97 + docker run --rm -it -e AWS_S3_BUCKET -e NOCACHE -p 8000:8000 -e DOCKERHOST "docs-base:test-tooling" hugo server --port=8000 --baseUrl=192.168.59.103 --bind=0.0.0.0 + ERROR: 2015/06/13 MenuEntry's .Url is deprecated and will be removed in Hugo 0.15. Use .URL instead. + 0 of 4 drafts rendered + 0 future content + 12 pages created + 0 paginator pages created + 0 tags created + 0 categories created + in 55 ms + Serving pages from /docs/public + Web Server is available at http://0.0.0.0:8000/ + Press Ctrl+C to stop + +5. Open the available server in your browser. + + The documentation server has the complete menu but only the Docker Compose + documentation resolves. You can't access the other project docs from this + localized build. + +## Tips on Hugo metadata and menu positioning + +The top of each Docker Compose documentation file contains TOML metadata. The metadata is commented out to prevent it from appears in GitHub. + + + +The metadata alone has this structure: + + +++ + title = "Extending services in Compose" + description = "How to use Docker Compose's extends keyword to share configuration between files and projects" + keywords = ["fig, composition, compose, docker, orchestration, documentation, docs"] + [menu.main] + parent="smn_workw_compose" + weight=2 + +++ + +The `[menu.main]` section refers to navigation defined [in the main Docker menu](https://github.com/docker/docs-base/blob/hugo/config.toml). This metadata says *add a menu item called* Extending services in Compose *to the menu with the* `smn_workdw_compose` *identifier*. If you locate the menu in the configuration, you'll find *Create multi-container applications* is the menu title. + +You can move an article in the tree by specifying a new parent. You can shift the location of the item by changing its weight. Higher numbers are heavier and shift the item to the bottom of menu. Low or no numbers shift it up. + + +## Other key documentation repositories + +The `docker/docs-base` repository contains [the Hugo theme and menu configuration](https://github.com/docker/docs-base). If you open the `Dockerfile` you'll see the `make docs` relies on this as a base image for building the Compose documentation. + +The `docker/docs.docker.com` repository contains [build system for building the Docker documentation site](https://github.com/docker/docs.docker.com). Fork this repository to build the entire documentation site. diff --git a/docs/cli.md b/docs/cli.md index 1fbd4cb28..a2167d9c3 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -1,9 +1,16 @@ -page_title: Compose CLI reference -page_description: Compose CLI reference -page_keywords: fig, composition, compose, docker, orchestration, cli, reference + -# CLI reference +# Compose CLI reference Most Docker Compose commands are run against one or more services. If the service is not specified, the command will apply to all services. @@ -185,7 +192,7 @@ Configures the path to the `ca.pem`, `cert.pem`, and `key.pem` files used for TL ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/completion.md b/docs/completion.md index 5168971f8..7fb696d80 100644 --- a/docs/completion.md +++ b/docs/completion.md @@ -1,7 +1,13 @@ ---- -layout: default -title: Command Completion ---- + # Command Completion @@ -53,11 +59,11 @@ Enjoy working with Compose faster and with less typos! ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with Wordpress](wordpress.md) - [Command line reference](cli.md) - [Yaml file reference](yml.md) -- [Compose environment variables](env.md) +- [Compose environment variables](env.md) \ No newline at end of file diff --git a/docs/index.md b/docs/compose-overview.md similarity index 96% rename from docs/index.md rename to docs/compose-overview.md index 981a02702..33629957a 100644 --- a/docs/index.md +++ b/docs/compose-overview.md @@ -1,11 +1,15 @@ -page_title: Compose: Multi-container orchestration for Docker -page_description: Introduction and Overview of Compose -page_keywords: documentation, docs, docker, compose, orchestration, containers + -# Docker Compose - -## Overview +# Overview of Docker Compose Compose is a tool for defining and running multi-container applications with Docker. With Compose, you define a multi-container application in a single diff --git a/docs/django.md b/docs/django.md index 4cbebe041..c44329e1c 100644 --- a/docs/django.md +++ b/docs/django.md @@ -1,10 +1,16 @@ -page_title: Quickstart Guide: Compose and Django -page_description: Getting started with Docker Compose and Django -page_keywords: documentation, docs, docker, compose, orchestration, containers, -django + -## Getting started with Compose and Django +## Quickstart Guide: Compose and Django This Quick-start Guide will demonstrate how to use Compose to set up and run a @@ -119,7 +125,7 @@ example, run `docker-compose up` and in another terminal run: ## More Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/env.md b/docs/env.md index a4b543ae3..73496f32f 100644 --- a/docs/env.md +++ b/docs/env.md @@ -1,9 +1,15 @@ ---- -layout: default -title: Compose environment variables reference ---- + -Environment variables reference +# Compose environment variables reference =============================== **Note:** Environment variables are no longer the recommended method for connecting to linked services. Instead, you should use the link name (by default, the name of the linked service) as the hostname to connect to. See the [docker-compose.yml documentation](yml.md#links) for details. @@ -34,7 +40,7 @@ Fully qualified container name, e.g. `DB_1_NAME=/myapp_web_1/myapp_db_1` ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/extends.md b/docs/extends.md index fd372ce2d..8527c81b3 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -1,6 +1,13 @@ -page_title: Extending services in Compose -page_description: How to use Docker Compose's "extends" keyword to share configuration between files and projects -page_keywords: fig, composition, compose, docker, orchestration, documentation, docs + ## Extending services in Compose @@ -79,7 +86,7 @@ For full details on how to use `extends`, refer to the [reference](#reference). ### Example use case In this example, you’ll repurpose the example app from the [quick start -guide](index.md). (If you're not familiar with Compose, it's recommended that +guide](compose-overview.md). (If you're not familiar with Compose, it's recommended that you go through the quick start first.) This example assumes you want to use Compose both to develop an application locally and then deploy it to a production environment. @@ -364,7 +371,7 @@ volumes: ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/install.md b/docs/install.md index a521ec06c..ec0e6e4d5 100644 --- a/docs/install.md +++ b/docs/install.md @@ -1,14 +1,21 @@ -page_title: Installing Compose -page_description: How to install Docker Compose -page_keywords: compose, orchestration, install, installation, docker, documentation + -## Installing Compose +# Install Docker Compose To install Compose, you'll need to install Docker first. You'll then install Compose with a `curl` command. -### Install Docker +## Install Docker First, install Docker version 1.6 or greater: @@ -16,7 +23,7 @@ First, install Docker version 1.6 or greater: - [Instructions for Ubuntu](http://docs.docker.com/installation/ubuntulinux/) - [Instructions for other systems](http://docs.docker.com/installation/) -### Install Compose +## Install Compose To install Compose, run the following commands: @@ -38,7 +45,7 @@ You can test the installation by running `docker-compose --version`. ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with Wordpress](wordpress.md) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml deleted file mode 100644 index 428439bc4..000000000 --- a/docs/mkdocs.yml +++ /dev/null @@ -1,12 +0,0 @@ - -- ['compose/index.md', 'User Guide', 'Docker Compose' ] -- ['compose/production.md', 'User Guide', 'Using Compose in production' ] -- ['compose/extends.md', 'User Guide', 'Extending services in Compose'] -- ['compose/install.md', 'Installation', 'Docker Compose'] -- ['compose/cli.md', 'Reference', 'Compose command line'] -- ['compose/yml.md', 'Reference', 'Compose yml'] -- ['compose/env.md', 'Reference', 'Compose ENV variables'] -- ['compose/completion.md', 'Reference', 'Compose commandline completion'] -- ['compose/django.md', 'Examples', 'Getting started with Compose and Django'] -- ['compose/rails.md', 'Examples', 'Getting started with Compose and Rails'] -- ['compose/wordpress.md', 'Examples', 'Getting started with Compose and Wordpress'] diff --git a/docs/production.md b/docs/production.md index 60a6873da..294f3c4e8 100644 --- a/docs/production.md +++ b/docs/production.md @@ -1,6 +1,13 @@ -page_title: Using Compose in production -page_description: Guide to using Docker Compose in production -page_keywords: documentation, docs, docker, compose, orchestration, containers, production + ## Using Compose in production diff --git a/docs/rails.md b/docs/rails.md index aedb4c6e7..2ff6f1752 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -1,10 +1,15 @@ -page_title: Quickstart Guide: Compose and Rails -page_description: Getting started with Docker Compose and Rails -page_keywords: documentation, docs, docker, compose, orchestration, containers, -rails + - -## Getting started with Compose and Rails +## Quickstart Guide: Compose and Rails This Quickstart guide will show you how to use Compose to set up and run a Rails/PostgreSQL app. Before starting, you'll need to have [Compose installed](install.md). @@ -119,7 +124,7 @@ you're using Boot2docker, `boot2docker ip` will tell you its address). ## More Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/wordpress.md b/docs/wordpress.md index b40d1a9f0..ad0e62966 100644 --- a/docs/wordpress.md +++ b/docs/wordpress.md @@ -1,14 +1,21 @@ -page_title: Quickstart Guide: Compose and Wordpress -page_description: Getting started with Docker Compose and Rails -page_keywords: documentation, docs, docker, compose, orchestration, containers, -wordpress + -## Getting started with Compose and Wordpress + +# Quickstart Guide: Compose and Wordpress You can use Compose to easily run Wordpress in an isolated environment built with Docker containers. -### Define the project +## Define the project First, [Install Compose](install.md) and then download Wordpress into the current directory: @@ -114,7 +121,7 @@ address). ## More Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/yml.md b/docs/yml.md index df791bc98..80d6d719f 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -1,10 +1,13 @@ ---- -layout: default -title: docker-compose.yml reference -page_title: docker-compose.yml reference -page_description: docker-compose.yml reference -page_keywords: fig, composition, compose, docker ---- + + # docker-compose.yml reference @@ -390,7 +393,7 @@ read_only: true ## Compose documentation -- [User guide](index.md) +- [User guide](compose-overview.md) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) From 09018855cebceac34525122feb76c1885a5f4057 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 15 Jun 2015 13:43:57 -0400 Subject: [PATCH 033/221] Merge pull request #1550 from aanand/update-docker-py Update setup.py with new docker-py minimum (cherry picked from commit b3b44b8e4c7ee7463136bb13cf6c3d759e6d87e9) Signed-off-by: Aanand Prasad --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 9364f57f3..a94d87374 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ install_requires = [ 'requests >= 2.6.1, < 2.7', 'texttable >= 0.8.1, < 0.9', 'websocket-client >= 0.11.0, < 1.0', - 'docker-py >= 1.2.2, < 1.3', + 'docker-py >= 1.2.3-rc1, < 1.3', 'dockerpty >= 0.3.4, < 0.4', 'six >= 1.3.0, < 2', ] From f353d9fbc0df6835ef373c72342feae856e0276d Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 15 Jun 2015 10:58:44 -0700 Subject: [PATCH 034/221] Merge pull request #1406 from vdemeester/667-compose-port-scale Fixing docker-compose port with scale (#667) (cherry picked from commit 5b2a0cc73d104340964b299c11723e465ea7c112) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 7 +++--- .../docker-compose.yml | 6 +++++ tests/integration/cli_test.py | 22 +++++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 tests/fixtures/ports-composefile-scale/docker-compose.yml diff --git a/compose/cli/main.py b/compose/cli/main.py index 0c3b85e5c..4f3f11e4e 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -169,13 +169,14 @@ class TopLevelCommand(Command): Usage: port [options] SERVICE PRIVATE_PORT Options: - --protocol=proto tcp or udp (defaults to tcp) + --protocol=proto tcp or udp [default: tcp] --index=index index of the container if there are multiple - instances of a service (defaults to 1) + instances of a service [default: 1] """ + index = int(options.get('--index')) service = project.get_service(options['SERVICE']) try: - container = service.get_container(number=options.get('--index') or 1) + container = service.get_container(number=index) except ValueError as e: raise UserError(str(e)) print(container.get_local_port( diff --git a/tests/fixtures/ports-composefile-scale/docker-compose.yml b/tests/fixtures/ports-composefile-scale/docker-compose.yml new file mode 100644 index 000000000..1a2bb485b --- /dev/null +++ b/tests/fixtures/ports-composefile-scale/docker-compose.yml @@ -0,0 +1,6 @@ + +simple: + image: busybox:latest + command: /bin/sleep 300 + ports: + - '3000' diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index cb7bc17fc..2d1f1f76e 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -1,4 +1,5 @@ from __future__ import absolute_import +from operator import attrgetter import sys import os import shlex @@ -436,6 +437,27 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(get_port(3001), "0.0.0.0:49152") self.assertEqual(get_port(3002), "") + def test_port_with_scale(self): + + self.command.base_dir = 'tests/fixtures/ports-composefile-scale' + self.command.dispatch(['scale', 'simple=2'], None) + containers = sorted( + self.project.containers(service_names=['simple']), + key=attrgetter('name')) + + @patch('sys.stdout', new_callable=StringIO) + def get_port(number, mock_stdout, index=None): + if index is None: + self.command.dispatch(['port', 'simple', str(number)], None) + else: + self.command.dispatch(['port', '--index=' + str(index), 'simple', str(number)], None) + return mock_stdout.getvalue().rstrip() + + self.assertEqual(get_port(3000), containers[0].get_local_port(3000)) + self.assertEqual(get_port(3000, index=1), containers[0].get_local_port(3000)) + self.assertEqual(get_port(3000, index=2), containers[1].get_local_port(3000)) + self.assertEqual(get_port(3002), "") + def test_env_file_relative_to_compose_file(self): config_path = os.path.abspath('tests/fixtures/env-file/docker-compose.yml') self.command.dispatch(['-f', config_path, 'up', '-d'], None) From 7fa4cd1214deea8f61ce5195ecbe377f70d1e311 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 16 Jun 2015 16:26:40 -0700 Subject: [PATCH 035/221] Merge pull request #1552 from aanand/add-upgrade-instructions Add upgrading instructions to install docs (cherry picked from commit bc7161b475f7032bfc36e177935e9d7b13354718) --- docs/install.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/install.md b/docs/install.md index ec0e6e4d5..c1abd4fd6 100644 --- a/docs/install.md +++ b/docs/install.md @@ -43,6 +43,18 @@ Compose can also be installed as a Python package: No further steps are required; Compose should now be successfully installed. You can test the installation by running `docker-compose --version`. +### Upgrading + +If you're coming from Compose 1.2 or earlier, you'll need to remove or migrate your existing containers after upgrading Compose. This is because, as of version 1.3, Compose uses Docker labels to keep track of containers, and so they need to be recreated with labels added. + +If Compose detects containers that were created without labels, it will refuse to run so that you don't end up with two sets of them. If you want to keep using your existing containers (for example, because they have data volumes you want to preserve) you can migrate them with the following command: + + docker-compose migrate-to-labels + +Alternatively, if you're not worried about keeping them, you can remove them - Compose will just create new ones. + + docker rm -f myapp_web_1 myapp_db_1 ... + ## Compose documentation - [User guide](compose-overview.md) From c3c5d91c47f00d607b68f345e367ed1b828852f8 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 18 Jun 2015 10:20:10 -0700 Subject: [PATCH 036/221] Merge pull request #1563 from moxiegirl/hugo-test-fixes Hugo final 1.7 Documentation PR -- please read carefully (cherry picked from commit 4e73e86d9480de0be87fa5390d915346a435ac26) Signed-off-by: Aanand Prasad --- docs/Dockerfile | 14 +++++++------- docs/cli.md | 2 +- docs/completion.md | 2 +- docs/django.md | 2 +- docs/env.md | 2 +- docs/extends.md | 4 ++-- docs/{compose-overview.md => index.md} | 0 docs/install.md | 2 +- docs/rails.md | 2 +- docs/wordpress.md | 2 +- docs/yml.md | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) rename docs/{compose-overview.md => index.md} (100%) diff --git a/docs/Dockerfile b/docs/Dockerfile index 55e7ce700..a49c1e7f3 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -8,17 +8,17 @@ COPY . /docs/content/compose/ # Sed to process GitHub Markdown # 1-2 Remove comment code from metadata block -# 3 Remove .md extension from link text -# 4 Change ](/ to ](/project/ in links -# 5 Change ](word) to ](/project/word) -# 6 Change ](../../ to ](/project/ -# 7 Change ](../ to ](/project/word) +# 3 Change ](/word to ](/project/ in links +# 4 Change ](word.md) to ](/project/word) +# 5 Remove .md extension from link text +# 6 Change ](../ to ](/project/word) +# 7 Change ](../../ to ](/project/ --> not implemented # # RUN find /docs/content/compose -type f -name "*.md" -exec sed -i.old \ -e '/^/g' \ -e '/^/g' \ - -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \ -e 's/\(\]\)\([(]\)\(\/\)/\1\2\/compose\//g' \ - -e 's/\(\][(]\)\([A-z]*[)]\)/\]\(\/compose\/\2/g' \ + -e 's/\(\][(]\)\([A-z].*\)\(\.md\)/\1\/compose\/\2/g' \ + -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \ -e 's/\(\][(]\)\(\.\.\/\)/\1\/compose\//g' {} \; diff --git a/docs/cli.md b/docs/cli.md index a2167d9c3..61a6aa6dd 100644 --- a/docs/cli.md +++ b/docs/cli.md @@ -192,7 +192,7 @@ Configures the path to the `ca.pem`, `cert.pem`, and `key.pem` files used for TL ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/completion.md b/docs/completion.md index 7fb696d80..3856d2701 100644 --- a/docs/completion.md +++ b/docs/completion.md @@ -59,7 +59,7 @@ Enjoy working with Compose faster and with less typos! ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/django.md b/docs/django.md index c44329e1c..84fdcbfe5 100644 --- a/docs/django.md +++ b/docs/django.md @@ -125,7 +125,7 @@ example, run `docker-compose up` and in another terminal run: ## More Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/env.md b/docs/env.md index 73496f32f..e38e6d50c 100644 --- a/docs/env.md +++ b/docs/env.md @@ -40,7 +40,7 @@ Fully qualified container name, e.g. `DB_1_NAME=/myapp_web_1/myapp_db_1` ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/extends.md b/docs/extends.md index 8527c81b3..054462b89 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -86,7 +86,7 @@ For full details on how to use `extends`, refer to the [reference](#reference). ### Example use case In this example, you’ll repurpose the example app from the [quick start -guide](compose-overview.md). (If you're not familiar with Compose, it's recommended that +guide](index.md). (If you're not familiar with Compose, it's recommended that you go through the quick start first.) This example assumes you want to use Compose both to develop an application locally and then deploy it to a production environment. @@ -371,7 +371,7 @@ volumes: ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/compose-overview.md b/docs/index.md similarity index 100% rename from docs/compose-overview.md rename to docs/index.md diff --git a/docs/install.md b/docs/install.md index c1abd4fd6..ac35c8d9f 100644 --- a/docs/install.md +++ b/docs/install.md @@ -57,7 +57,7 @@ Alternatively, if you're not worried about keeping them, you can remove them - C ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with Wordpress](wordpress.md) diff --git a/docs/rails.md b/docs/rails.md index 2ff6f1752..cb8078647 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -124,7 +124,7 @@ you're using Boot2docker, `boot2docker ip` will tell you its address). ## More Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/wordpress.md b/docs/wordpress.md index ad0e62966..aa62e4e4e 100644 --- a/docs/wordpress.md +++ b/docs/wordpress.md @@ -121,7 +121,7 @@ address). ## More Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) diff --git a/docs/yml.md b/docs/yml.md index 80d6d719f..087f8ac74 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -393,7 +393,7 @@ read_only: true ## Compose documentation -- [User guide](compose-overview.md) +- [User guide](/) - [Installing Compose](install.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) From c21d6706b6df54f3304b6fc59cb307c42f0c54c5 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 18 Jun 2015 11:23:40 -0700 Subject: [PATCH 037/221] Merge pull request #1565 from aanand/use-docker-1.7.0 Use docker 1.7.0 and docker-py 1.2.3 (cherry picked from commit 8ffeaf2a54828014834f49e9a20d9486a6d6d335) Signed-off-by: Aanand Prasad Conflicts: Dockerfile --- Dockerfile | 6 +++--- requirements.txt | 2 +- setup.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1ff2d3825..98dc59c55 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,13 +48,13 @@ RUN set -ex; \ rm -rf pip-7.0.1; \ rm pip-7.0.1.tar.gz -ENV ALL_DOCKER_VERSIONS 1.6.0 1.7.0-rc2 +ENV ALL_DOCKER_VERSIONS 1.6.0 1.7.0 RUN set -ex; \ curl https://get.docker.com/builds/Linux/x86_64/docker-1.6.0 -o /usr/local/bin/docker-1.6.0; \ chmod +x /usr/local/bin/docker-1.6.0; \ - curl https://test.docker.com/builds/Linux/x86_64/docker-1.7.0-rc2 -o /usr/local/bin/docker-1.7.0-rc2; \ - chmod +x /usr/local/bin/docker-1.7.0-rc2 + curl https://test.docker.com/builds/Linux/x86_64/docker-1.7.0 -o /usr/local/bin/docker-1.7.0; \ + chmod +x /usr/local/bin/docker-1.7.0 # Set the default Docker to be run RUN ln -s /usr/local/bin/docker-1.6.0 /usr/local/bin/docker diff --git a/requirements.txt b/requirements.txt index 47fa1e05b..69bd4c5f9 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ PyYAML==3.10 -docker-py==1.2.3-rc1 +docker-py==1.2.3 dockerpty==0.3.4 docopt==0.6.1 requests==2.6.1 diff --git a/setup.py b/setup.py index a94d87374..d2e81e175 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ install_requires = [ 'requests >= 2.6.1, < 2.7', 'texttable >= 0.8.1, < 0.9', 'websocket-client >= 0.11.0, < 1.0', - 'docker-py >= 1.2.3-rc1, < 1.3', + 'docker-py >= 1.2.3, < 1.3', 'dockerpty >= 0.3.4, < 0.4', 'six >= 1.3.0, < 2', ] From 00f61196a44ee140f389a51e50d39d1b846ba180 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 26 May 2015 12:43:23 +0100 Subject: [PATCH 038/221] Bump 1.3.0 Signed-off-by: Aanand Prasad --- CHANGES.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 277a188a3..78e629b89 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,51 @@ Change log ========== +1.3.0 (2015-06-18) +------------------ + +Firstly, two important notes: + +- **This release contains breaking changes, and you will need to either remove or migrate your existing containers before running your app** - see the [upgrading section of the install docs](https://github.com/docker/compose/blob/1.3.0rc1/docs/install.md#upgrading) for details. + +- Compose now requires Docker 1.6.0 or later. + +We've done a lot of work in this release to remove hacks and make Compose more stable: + +- Compose now uses container labels, rather than names, to keep track of containers. This makes Compose both faster and easier to integrate with your own tools. + +- Compose no longer uses "intermediate containers" when recreating containers for a service. This makes `docker-compose up` less complex and more resilient to failure. + +There are some new features: + +- `docker-compose up` has an **experimental** new behaviour: it will only recreate containers for services whose configuration has changed in `docker-compose.yml`. This will eventually become the default, but for now you can take it for a spin: + + $ docker-compose up --x-smart-recreate + +- When invoked in a subdirectory of a project, `docker-compose` will now climb up through parent directories until it finds a `docker-compose.yml`. + +Several new configuration keys have been added to `docker-compose.yml`: + +- `dockerfile`, like `docker build --file`, lets you specify an alternate Dockerfile to use with `build`. +- `labels`, like `docker run --labels`, lets you add custom metadata to containers. +- `extra_hosts`, like `docker run --add-host`, lets you add entries to a container's `/etc/hosts` file. +- `pid: host`, like `docker run --pid=host`, lets you reuse the same PID namespace as the host machine. +- `cpuset`, like `docker run --cpuset-cpus`, lets you specify which CPUs to allow execution in. +- `read_only`, like `docker run --read-only`, lets you mount a container's filesystem as read-only. +- `security_opt`, like `docker run --security-opt`, lets you specify [security options](https://docs.docker.com/reference/run/#security-configuration). +- `log_driver`, like `docker run --log-driver`, lets you specify a [log driver](https://docs.docker.com/reference/run/#logging-drivers-log-driver). + +Many bugs have been fixed, including the following: + +- The output of `docker-compose run` was sometimes truncated, especially when running under Jenkins. +- A service's volumes would sometimes not update after volume configuration was changed in `docker-compose.yml`. +- Authenticating against third-party registries would sometimes fail. +- `docker-compose run --rm` would fail to remove the container if the service had a `restart` policy in place. +- `docker-compose scale` would refuse to scale a service beyond 1 container if it exposed a specific port number on the host. +- Compose would refuse to create multiple volume entries with the same host path. + +Thanks @ahromis, @albers, @aleksandr-vin, @antoineco, @ccverak, @chernjie, @dnephin, @edmorley, @fordhurley, @josephpage, @KyleJamesWalker, @lsowen, @mchasal, @noironetworks, @sdake, @sdurrheimer, @sherter, @stephenlawrence, @thaJeztah, @thieman, @turtlemonvh, @twhiteman, @vdemeester, @xuxinkun and @zwily! + 1.2.0 (2015-04-16) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 045e79144..9e4c3fdb2 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.3.0dev' +__version__ = '1.3.0' diff --git a/docs/install.md b/docs/install.md index ac35c8d9f..a608d8fe7 100644 --- a/docs/install.md +++ b/docs/install.md @@ -27,7 +27,7 @@ First, install Docker version 1.6 or greater: To install Compose, run the following commands: - curl -L https://github.com/docker/compose/releases/download/1.2.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.3.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose > Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. From bd0be2cdc7d24cbb0bc8ef80a1d3d756f6099fde Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Fri, 19 Jun 2015 16:01:04 -0700 Subject: [PATCH 039/221] Merge pull request #1580 from aanand/dont-set-network-mode-when-none-is-specified Don't set network mode when none is specified (cherry picked from commit 911cd60360ceef2a4c4c4e53b661679a4f1bc48a) Signed-off-by: Aanand Prasad --- compose/project.py | 2 +- compose/service.py | 2 +- tests/unit/project_test.py | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/compose/project.py b/compose/project.py index bc093628c..6446a6d33 100644 --- a/compose/project.py +++ b/compose/project.py @@ -178,7 +178,7 @@ class Project(object): del service_dict['net'] else: - net = 'bridge' + net = None return net diff --git a/compose/service.py b/compose/service.py index 1e91a9f23..12a021bfb 100644 --- a/compose/service.py +++ b/compose/service.py @@ -473,7 +473,7 @@ class Service(object): def _get_net(self): if not self.net: - return "bridge" + return None if isinstance(self.net, Service): containers = self.net.containers() diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index fc49e9b88..9ee6f28c3 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -209,6 +209,18 @@ class ProjectTest(unittest.TestCase): ], None) self.assertEqual(project.get_service('test')._get_volumes_from(), container_ids) + def test_net_unset(self): + mock_client = mock.create_autospec(docker.Client) + project = Project.from_dicts('test', [ + { + 'name': 'test', + 'image': 'busybox:latest', + } + ], mock_client) + service = project.get_service('test') + self.assertEqual(service._get_net(), None) + self.assertNotIn('NetworkMode', service._get_container_host_config({})) + def test_use_net_from_container(self): container_id = 'aabbccddee' container_dict = dict(Name='aaa', Id=container_id) From d6cd76c3c153b79fa0ceec5c84c984a65a4c41f3 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Sun, 21 Jun 2015 17:25:46 -0700 Subject: [PATCH 040/221] Merge pull request #1570 from aanand/fix-build-pull Explicitly set pull=False when building (cherry picked from commit 4f83a1891259bd821efb6c8f2332f06405e88732) Signed-off-by: Aanand Prasad --- compose/service.py | 1 + tests/unit/service_test.py | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/compose/service.py b/compose/service.py index 12a021bfb..6c2cc4da5 100644 --- a/compose/service.py +++ b/compose/service.py @@ -628,6 +628,7 @@ class Service(object): tag=self.image_name, stream=True, rm=True, + pull=False, nocache=no_cache, dockerfile=self.options.get('dockerfile', None), ) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index fb3a7fcbb..88d301470 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -303,6 +303,17 @@ class ServiceTest(unittest.TestCase): with self.assertRaises(NeedsBuildError): service.create_container(do_build=False) + def test_build_does_not_pull(self): + self.mock_client.build.return_value = [ + '{"stream": "Successfully built 12345"}', + ] + + service = Service('foo', client=self.mock_client, build='.') + service.build() + + self.assertEqual(self.mock_client.build.call_count, 1) + self.assertFalse(self.mock_client.build.call_args[1]['pull']) + class ServiceVolumesTest(unittest.TestCase): From 882ef2ccd881b0ebb9fb422c02be6802106c0234 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Sun, 21 Jun 2015 17:25:52 -0700 Subject: [PATCH 041/221] Merge pull request #1578 from aanand/fix-migrate-help Fix 'docker-compose help migrate-to-labels' (cherry picked from commit c8751980f9011b22ce9d661bd051e4fee44d4adf) Signed-off-by: Aanand Prasad --- compose/cli/docopt_command.py | 15 +++++++++------ compose/cli/main.py | 24 ++++++++++++++++++++---- tests/unit/cli_test.py | 17 +++++++++++++++++ 3 files changed, 46 insertions(+), 10 deletions(-) diff --git a/compose/cli/docopt_command.py b/compose/cli/docopt_command.py index ee6947012..6eeb33a31 100644 --- a/compose/cli/docopt_command.py +++ b/compose/cli/docopt_command.py @@ -33,12 +33,7 @@ class DocoptCommand(object): if command is None: raise SystemExit(getdoc(self)) - command = command.replace('-', '_') - - if not hasattr(self, command): - raise NoSuchCommand(command, self) - - handler = getattr(self, command) + handler = self.get_handler(command) docstring = getdoc(handler) if docstring is None: @@ -47,6 +42,14 @@ class DocoptCommand(object): command_options = docopt_full_help(docstring, options['ARGS'], options_first=True) return options, handler, command_options + def get_handler(self, command): + command = command.replace('-', '_') + + if not hasattr(self, command): + raise NoSuchCommand(command, self) + + return getattr(self, command) + class NoSuchCommand(Exception): def __init__(self, command, supercommand): diff --git a/compose/cli/main.py b/compose/cli/main.py index 4f3f11e4e..8aeb0459d 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -128,10 +128,8 @@ class TopLevelCommand(Command): Usage: help COMMAND """ - command = options['COMMAND'] - if not hasattr(self, command): - raise NoSuchCommand(command, self) - raise SystemExit(getdoc(getattr(self, command))) + handler = self.get_handler(options['COMMAND']) + raise SystemExit(getdoc(handler)) def kill(self, project, options): """ @@ -485,6 +483,24 @@ class TopLevelCommand(Command): """ Recreate containers to add labels + If you're coming from Compose 1.2 or earlier, you'll need to remove or + migrate your existing containers after upgrading Compose. This is + because, as of version 1.3, Compose uses Docker labels to keep track + of containers, and so they need to be recreated with labels added. + + If Compose detects containers that were created without labels, it + will refuse to run so that you don't end up with two sets of them. If + you want to keep using your existing containers (for example, because + they have data volumes you want to preserve) you can migrate them with + the following command: + + docker-compose migrate-to-labels + + Alternatively, if you're not worried about keeping them, you can + remove them - Compose will just create new ones. + + docker rm -f myapp_web_1 myapp_db_1 ... + Usage: migrate-to-labels """ legacy.migrate_project_to_labels(project) diff --git a/tests/unit/cli_test.py b/tests/unit/cli_test.py index 3173a274d..d10cb9b30 100644 --- a/tests/unit/cli_test.py +++ b/tests/unit/cli_test.py @@ -11,6 +11,7 @@ import mock from compose.cli import main from compose.cli.main import TopLevelCommand +from compose.cli.docopt_command import NoSuchCommand from compose.cli.errors import ComposeFileNotFound from compose.service import Service @@ -101,6 +102,22 @@ class CLITestCase(unittest.TestCase): with self.assertRaises(SystemExit): command.dispatch(['-h'], None) + def test_command_help(self): + with self.assertRaises(SystemExit) as ctx: + TopLevelCommand().dispatch(['help', 'up'], None) + + self.assertIn('Usage: up', str(ctx.exception)) + + def test_command_help_dashes(self): + with self.assertRaises(SystemExit) as ctx: + TopLevelCommand().dispatch(['help', 'migrate-to-labels'], None) + + self.assertIn('Usage: migrate-to-labels', str(ctx.exception)) + + def test_command_help_nonexistent(self): + with self.assertRaises(NoSuchCommand): + TopLevelCommand().dispatch(['help', 'nonexistent'], None) + def test_setup_logging(self): main.setup_logging() self.assertEqual(logging.getLogger().level, logging.DEBUG) From 4d4ef4e0b3744944fc2b68fca52a785bc481f12a Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Sun, 21 Jun 2015 17:32:36 -0700 Subject: [PATCH 042/221] Bump 1.3.1 Signed-off-by: Aanand Prasad --- CHANGES.md | 9 +++++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 78e629b89..1f43d88d4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,15 @@ Change log ========== +1.3.1 (2015-06-21) +------------------ + +The following bugs have been fixed: + +- `docker-compose build` would always attempt to pull the base image before building. +- `docker-compose help migrate-to-labels` failed with an error. +- If no network mode was specified, Compose would set it to "bridge", rather than allowing the Docker daemon to use its configured default network mode. + 1.3.0 (2015-06-18) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 9e4c3fdb2..f3ec6acb0 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.3.0' +__version__ = '1.3.1' diff --git a/docs/install.md b/docs/install.md index a608d8fe7..96a4a2376 100644 --- a/docs/install.md +++ b/docs/install.md @@ -27,7 +27,7 @@ First, install Docker version 1.6 or greater: To install Compose, run the following commands: - curl -L https://github.com/docker/compose/releases/download/1.3.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose > Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. From b12c29479ee7283f24af6025e2d3de0c15faf510 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 16 Jun 2015 10:45:49 -0700 Subject: [PATCH 043/221] Merge pull request #1521 from dano/validate-service-names Validate that service names passed to Project.containers aren't bogus. (cherry picked from commit bc14c473c97af14ed150160fe84d23fcb05fe4e2) Signed-off-by: Aanand Prasad --- compose/project.py | 12 ++++++++++++ tests/integration/cli_test.py | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/compose/project.py b/compose/project.py index 6446a6d33..907632276 100644 --- a/compose/project.py +++ b/compose/project.py @@ -99,6 +99,16 @@ class Project(object): raise NoSuchService(name) + def validate_service_names(self, service_names): + """ + Validate that the given list of service names only contains valid + services. Raises NoSuchService if one of the names is invalid. + """ + valid_names = self.service_names + for name in service_names: + if name not in valid_names: + raise NoSuchService(name) + def get_services(self, service_names=None, include_deps=False): """ Returns a list of this project's services filtered @@ -274,6 +284,8 @@ class Project(object): service.remove_stopped(**options) def containers(self, service_names=None, stopped=False, one_off=False): + if service_names: + self.validate_service_names(service_names) containers = [ Container.from_ps(self.client, container) for container in self.client.containers( diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 2d1f1f76e..dab9d4a2b 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -9,6 +9,7 @@ from mock import patch from .testcases import DockerClientTestCase from compose.cli.main import TopLevelCommand +from compose.project import NoSuchService class CLITestCase(DockerClientTestCase): @@ -351,6 +352,10 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(service.containers(stopped=True)), 1) self.assertFalse(service.containers(stopped=True)[0].is_running) + def test_logs_invalid_service_name(self): + with self.assertRaises(NoSuchService): + self.command.dispatch(['logs', 'madeupname'], None) + def test_kill(self): self.command.dispatch(['up', '-d'], None) service = self.project.get_service('simple') From c8295d36cc840c788dd9dad249b49f7808b2b7d9 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 3 Jul 2015 16:22:48 +0100 Subject: [PATCH 044/221] Merge pull request #1644 from aanand/fix-rm-bug Stop 'rm' and 'ps' listing services not defined in the current file (cherry picked from commit d85688892cb64128093db98d6f03d97ff8bd0e40) Signed-off-by: Aanand Prasad --- compose/project.py | 5 +++-- tests/integration/project_test.py | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/compose/project.py b/compose/project.py index 907632276..7c78401e4 100644 --- a/compose/project.py +++ b/compose/project.py @@ -286,6 +286,9 @@ class Project(object): def containers(self, service_names=None, stopped=False, one_off=False): if service_names: self.validate_service_names(service_names) + else: + service_names = self.service_names + containers = [ Container.from_ps(self.client, container) for container in self.client.containers( @@ -293,8 +296,6 @@ class Project(object): filters={'label': self.labels(one_off=one_off)})] def matches_service_names(container): - if not service_names: - return True return container.labels.get(LABEL_SERVICE) in service_names if not containers: diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 2976af823..314daf718 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -29,6 +29,21 @@ class ProjectTest(DockerClientTestCase): [c.name for c in containers], ['composetest_web_1']) + def test_containers_with_extra_service(self): + web = self.create_service('web') + web_1 = web.create_container() + + db = self.create_service('db') + db_1 = db.create_container() + + self.create_service('extra').create_container() + + project = Project('composetest', [web, db], self.client) + self.assertEqual( + set(project.containers(stopped=True)), + set([web_1, db_1]), + ) + def test_volumes_from_service(self): service_dicts = config.from_dictionary({ 'data': { From c31e25af722fe2ee9bee1644515cd2d0d47c4864 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 3 Jul 2015 16:25:53 +0100 Subject: [PATCH 045/221] Merge pull request #1642 from aanand/fix-1573 Fix bug where duplicate container is leftover after 'up' fails (cherry picked from commit f42fd6a3ad17cf9688e709bfed1639196777a342) Signed-off-by: Aanand Prasad --- compose/project.py | 3 +++ compose/service.py | 20 +++++++++++++++ tests/integration/resilience_test.py | 37 ++++++++++++++++++---------- tests/integration/service_test.py | 15 +++++++++++ 4 files changed, 62 insertions(+), 13 deletions(-) diff --git a/compose/project.py b/compose/project.py index 7c78401e4..a9df73f19 100644 --- a/compose/project.py +++ b/compose/project.py @@ -225,6 +225,9 @@ class Project(object): services = self.get_services(service_names, include_deps=start_deps) + for service in services: + service.remove_duplicate_containers() + plans = self._get_convergence_plans( services, allow_recreate=allow_recreate, diff --git a/compose/service.py b/compose/service.py index 6c2cc4da5..0db63e64f 100644 --- a/compose/service.py +++ b/compose/service.py @@ -394,6 +394,26 @@ class Service(object): container.start() return container + def remove_duplicate_containers(self, timeout=DEFAULT_TIMEOUT): + for c in self.duplicate_containers(): + log.info('Removing %s...' % c.name) + c.stop(timeout=timeout) + c.remove() + + def duplicate_containers(self): + containers = sorted( + self.containers(stopped=True), + key=lambda c: c.get('Created'), + ) + + numbers = set() + + for c in containers: + if c.number in numbers: + yield c + else: + numbers.add(c.number) + def config_hash(self): return json_hash(self.config_dict()) diff --git a/tests/integration/resilience_test.py b/tests/integration/resilience_test.py index 8229e9d3c..392490902 100644 --- a/tests/integration/resilience_test.py +++ b/tests/integration/resilience_test.py @@ -8,25 +8,36 @@ from .testcases import DockerClientTestCase class ResilienceTest(DockerClientTestCase): - def test_recreate_fails(self): - db = self.create_service('db', volumes=['/var/db'], command='top') - project = Project('composetest', [db], self.client) + def setUp(self): + self.db = self.create_service('db', volumes=['/var/db'], command='top') + self.project = Project('composetest', [self.db], self.client) - container = db.create_container() - db.start_container(container) - host_path = container.get('Volumes')['/var/db'] + container = self.db.create_container() + self.db.start_container(container) + self.host_path = container.get('Volumes')['/var/db'] - project.up() - container = db.containers()[0] - self.assertEqual(container.get('Volumes')['/var/db'], host_path) + def test_successful_recreate(self): + self.project.up() + container = self.db.containers()[0] + self.assertEqual(container.get('Volumes')['/var/db'], self.host_path) + def test_create_failure(self): with mock.patch('compose.service.Service.create_container', crash): with self.assertRaises(Crash): - project.up() + self.project.up() - project.up() - container = db.containers()[0] - self.assertEqual(container.get('Volumes')['/var/db'], host_path) + self.project.up() + container = self.db.containers()[0] + self.assertEqual(container.get('Volumes')['/var/db'], self.host_path) + + def test_start_failure(self): + with mock.patch('compose.service.Service.start_container', crash): + with self.assertRaises(Crash): + self.project.up() + + self.project.up() + container = self.db.containers()[0] + self.assertEqual(container.get('Volumes')['/var/db'], self.host_path) class Crash(Exception): diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 32de5fa47..98fa4213c 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -705,3 +705,18 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(1, len(device_config)) self.assertDictEqual(device_dict, device_config[0]) + + def test_duplicate_containers(self): + service = self.create_service('web') + + options = service._get_container_create_options({}, 1) + original = Container.create(service.client, **options) + + self.assertEqual(set(service.containers(stopped=True)), set([original])) + self.assertEqual(set(service.duplicate_containers()), set()) + + options['name'] = 'temporary_container_name' + duplicate = Container.create(service.client, **options) + + self.assertEqual(set(service.containers(stopped=True)), set([original, duplicate])) + self.assertEqual(set(service.duplicate_containers()), set([duplicate])) From c1b9a76a54bf8bf4f8ab717768243410ee7d5169 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 7 Jul 2015 16:12:44 +0100 Subject: [PATCH 046/221] Merge pull request #1658 from aanand/fix-smart-recreate-nonexistent-image Fix smart recreate when 'image' is changed to something nonexistent (cherry picked from commit 2bc10db5451ec8e69119997061b0ba5c692feb90) Signed-off-by: Aanand Prasad --- compose/service.py | 23 ++++++++++++++++++++--- tests/integration/state_test.py | 7 +++++++ tests/unit/service_test.py | 16 ++++++++++++---- 3 files changed, 39 insertions(+), 7 deletions(-) diff --git a/compose/service.py b/compose/service.py index 0db63e64f..f1a006c32 100644 --- a/compose/service.py +++ b/compose/service.py @@ -64,6 +64,10 @@ class NeedsBuildError(Exception): self.service = service +class NoSuchImageError(Exception): + pass + + VolumeSpec = namedtuple('VolumeSpec', 'external internal mode') @@ -224,8 +228,11 @@ class Service(object): do_build=True, insecure_registry=False): - if self.image(): + try: + self.image() return + except NoSuchImageError: + pass if self.can_be_built(): if do_build: @@ -240,7 +247,7 @@ class Service(object): return self.client.inspect_image(self.image_name) except APIError as e: if e.response.status_code == 404 and e.explanation and 'No such image' in str(e.explanation): - return None + raise NoSuchImageError("Image '{}' not found".format(self.image_name)) else: raise @@ -294,7 +301,17 @@ class Service(object): return ConvergencePlan('recreate', containers) def _containers_have_diverged(self, containers): - config_hash = self.config_hash() + config_hash = None + + try: + config_hash = self.config_hash() + except NoSuchImageError as e: + log.debug( + 'Service %s has diverged: %s', + self.name, six.text_type(e), + ) + return True + has_diverged = False for c in containers: diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 7a7d2b58f..6e1ba025b 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -191,6 +191,13 @@ class ServiceStateTest(DockerClientTestCase): web = self.create_service('web', command=["top", "-d", "1"]) self.assertEqual(('recreate', [container]), web.convergence_plan(smart_recreate=True)) + def test_trigger_recreate_with_nonexistent_image_tag(self): + web = self.create_service('web', image="busybox:latest") + container = web.create_container() + + web = self.create_service('web', image="nonexistent-image") + self.assertEqual(('recreate', [container]), web.convergence_plan(smart_recreate=True)) + def test_trigger_recreate_with_image_change(self): repo = 'composetest_myimage' tag = 'latest' diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 88d301470..dc1f7df34 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -12,6 +12,7 @@ from compose.const import LABEL_SERVICE, LABEL_PROJECT, LABEL_ONE_OFF from compose.service import ( ConfigError, NeedsBuildError, + NoSuchImageError, build_port_bindings, build_volume_binding, get_container_data_volumes, @@ -233,7 +234,7 @@ class ServiceTest(unittest.TestCase): images.append({'Id': 'abc123'}) return [] - service.image = lambda: images[0] if images else None + service.image = lambda *args, **kwargs: mock_get_image(images) self.mock_client.pull = pull service.create_container(insecure_registry=True) @@ -273,7 +274,7 @@ class ServiceTest(unittest.TestCase): images.append({'Id': 'abc123'}) return [] - service.image = lambda: images[0] if images else None + service.image = lambda *args, **kwargs: mock_get_image(images) self.mock_client.pull = pull service.create_container() @@ -283,7 +284,7 @@ class ServiceTest(unittest.TestCase): service = Service('foo', client=self.mock_client, build='.') images = [] - service.image = lambda *args, **kwargs: images[0] if images else None + service.image = lambda *args, **kwargs: mock_get_image(images) service.build = lambda: images.append({'Id': 'abc123'}) service.create_container(do_build=True) @@ -298,7 +299,7 @@ class ServiceTest(unittest.TestCase): def test_create_container_no_build_but_needs_build(self): service = Service('foo', client=self.mock_client, build='.') - service.image = lambda: None + service.image = lambda *args, **kwargs: mock_get_image([]) with self.assertRaises(NeedsBuildError): service.create_container(do_build=False) @@ -315,6 +316,13 @@ class ServiceTest(unittest.TestCase): self.assertFalse(self.mock_client.build.call_args[1]['pull']) +def mock_get_image(images): + if images: + return images[0] + else: + raise NoSuchImageError() + + class ServiceVolumesTest(unittest.TestCase): def setUp(self): From 4911c77134a38698fdcec2ebfbb2c76d77a4587f Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 15 Jun 2015 10:04:45 -0700 Subject: [PATCH 047/221] Merge pull request #1489 from dnephin/faster_integration_tests Faster integration tests (cherry picked from commit 5231288b4e44d15a9ca553504faeac3b618f49d6) Signed-off-by: Aanand Prasad Conflicts: compose/cli/main.py --- compose/cli/main.py | 23 +++++----- compose/const.py | 1 + compose/project.py | 6 ++- compose/service.py | 30 ++++--------- tests/fixtures/build-ctx/Dockerfile | 1 + .../dockerfile-with-volume/Dockerfile | 3 +- .../dockerfile_with_entrypoint/Dockerfile | 1 + tests/fixtures/simple-dockerfile/Dockerfile | 1 + tests/integration/cli_test.py | 19 +++++++-- tests/integration/legacy_test.py | 24 +++++++++-- tests/integration/project_test.py | 41 +++--------------- tests/integration/service_test.py | 42 +++++++++++++------ tests/integration/state_test.py | 39 +++++++++++++---- tests/integration/testcases.py | 20 +++++---- tests/unit/service_test.py | 11 ++++- 15 files changed, 151 insertions(+), 111 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 8aeb0459d..6c7ccf0da 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -11,6 +11,7 @@ from docker.errors import APIError import dockerpty from .. import legacy +from ..const import DEFAULT_TIMEOUT from ..project import NoSuchService, ConfigurationError from ..service import BuildError, NeedsBuildError from ..config import parse_environment @@ -392,9 +393,8 @@ class TopLevelCommand(Command): -t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10) """ - timeout = options.get('--timeout') - params = {} if timeout is None else {'timeout': int(timeout)} - project.stop(service_names=options['SERVICE'], **params) + timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) + project.stop(service_names=options['SERVICE'], timeout=timeout) def restart(self, project, options): """ @@ -406,9 +406,8 @@ class TopLevelCommand(Command): -t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10) """ - timeout = options.get('--timeout') - params = {} if timeout is None else {'timeout': int(timeout)} - project.restart(service_names=options['SERVICE'], **params) + timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) + project.restart(service_names=options['SERVICE'], timeout=timeout) def up(self, project, options): """ @@ -437,9 +436,9 @@ class TopLevelCommand(Command): image needs to be updated. (EXPERIMENTAL) --no-recreate If containers already exist, don't recreate them. --no-build Don't build an image, even if it's missing - -t, --timeout TIMEOUT When attached, use this timeout in seconds - for the shutdown. (default: 10) - + -t, --timeout TIMEOUT Use this timeout in seconds for container shutdown + when attached or when containers are already + running. (default: 10) """ insecure_registry = options['--allow-insecure-ssl'] detached = options['-d'] @@ -450,6 +449,7 @@ class TopLevelCommand(Command): allow_recreate = not options['--no-recreate'] smart_recreate = options['--x-smart-recreate'] service_names = options['SERVICE'] + timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) project.up( service_names=service_names, @@ -458,6 +458,7 @@ class TopLevelCommand(Command): smart_recreate=smart_recreate, insecure_registry=insecure_registry, do_build=not options['--no-build'], + timeout=timeout ) to_attach = [c for s in project.get_services(service_names) for c in s.containers()] @@ -475,9 +476,7 @@ class TopLevelCommand(Command): signal.signal(signal.SIGINT, handler) print("Gracefully stopping... (press Ctrl+C again to force)") - timeout = options.get('--timeout') - params = {} if timeout is None else {'timeout': int(timeout)} - project.stop(service_names=service_names, **params) + project.stop(service_names=service_names, timeout=timeout) def migrate_to_labels(self, project, _options): """ diff --git a/compose/const.py b/compose/const.py index f76fb572c..709c3a10d 100644 --- a/compose/const.py +++ b/compose/const.py @@ -1,4 +1,5 @@ +DEFAULT_TIMEOUT = 10 LABEL_CONTAINER_NUMBER = 'com.docker.compose.container-number' LABEL_ONE_OFF = 'com.docker.compose.oneoff' LABEL_PROJECT = 'com.docker.compose.project' diff --git a/compose/project.py b/compose/project.py index a9df73f19..288afc5f5 100644 --- a/compose/project.py +++ b/compose/project.py @@ -6,7 +6,7 @@ from functools import reduce from docker.errors import APIError from .config import get_service_name_from_net, ConfigurationError -from .const import LABEL_PROJECT, LABEL_SERVICE, LABEL_ONE_OFF +from .const import LABEL_PROJECT, LABEL_SERVICE, LABEL_ONE_OFF, DEFAULT_TIMEOUT from .service import Service from .container import Container from .legacy import check_for_legacy_containers @@ -221,7 +221,8 @@ class Project(object): allow_recreate=True, smart_recreate=False, insecure_registry=False, - do_build=True): + do_build=True, + timeout=DEFAULT_TIMEOUT): services = self.get_services(service_names, include_deps=start_deps) @@ -241,6 +242,7 @@ class Project(object): plans[service.name], insecure_registry=insecure_registry, do_build=do_build, + timeout=timeout ) ] diff --git a/compose/service.py b/compose/service.py index f1a006c32..ddabbfc4a 100644 --- a/compose/service.py +++ b/compose/service.py @@ -13,6 +13,7 @@ from docker.utils import create_host_config, LogConfig from . import __version__ from .config import DOCKER_CONFIG_KEYS, merge_environment from .const import ( + DEFAULT_TIMEOUT, LABEL_CONTAINER_NUMBER, LABEL_ONE_OFF, LABEL_PROJECT, @@ -258,26 +259,6 @@ class Service(object): else: return self.options['image'] - def converge(self, - allow_recreate=True, - smart_recreate=False, - insecure_registry=False, - do_build=True): - """ - If a container for this service doesn't exist, create and start one. If there are - any, stop them, create+start new ones, and remove the old containers. - """ - plan = self.convergence_plan( - allow_recreate=allow_recreate, - smart_recreate=smart_recreate, - ) - - return self.execute_convergence_plan( - plan, - insecure_registry=insecure_registry, - do_build=do_build, - ) - def convergence_plan(self, allow_recreate=True, smart_recreate=False): @@ -328,7 +309,8 @@ class Service(object): def execute_convergence_plan(self, plan, insecure_registry=False, - do_build=True): + do_build=True, + timeout=DEFAULT_TIMEOUT): (action, containers) = plan if action == 'create': @@ -345,6 +327,7 @@ class Service(object): self.recreate_container( c, insecure_registry=insecure_registry, + timeout=timeout ) for c in containers ] @@ -366,7 +349,8 @@ class Service(object): def recreate_container(self, container, - insecure_registry=False): + insecure_registry=False, + timeout=DEFAULT_TIMEOUT): """Recreate a container. The original container is renamed to a temporary name so that data @@ -375,7 +359,7 @@ class Service(object): """ log.info("Recreating %s..." % container.name) try: - container.stop() + container.stop(timeout=timeout) except APIError as e: if (e.response.status_code == 500 and e.explanation diff --git a/tests/fixtures/build-ctx/Dockerfile b/tests/fixtures/build-ctx/Dockerfile index d1ceac6b7..dd864b838 100644 --- a/tests/fixtures/build-ctx/Dockerfile +++ b/tests/fixtures/build-ctx/Dockerfile @@ -1,2 +1,3 @@ FROM busybox:latest +LABEL com.docker.compose.test_image=true CMD echo "success" diff --git a/tests/fixtures/dockerfile-with-volume/Dockerfile b/tests/fixtures/dockerfile-with-volume/Dockerfile index 6e5d0a55e..0d376ec48 100644 --- a/tests/fixtures/dockerfile-with-volume/Dockerfile +++ b/tests/fixtures/dockerfile-with-volume/Dockerfile @@ -1,3 +1,4 @@ -FROM busybox +FROM busybox:latest +LABEL com.docker.compose.test_image=true VOLUME /data CMD top diff --git a/tests/fixtures/dockerfile_with_entrypoint/Dockerfile b/tests/fixtures/dockerfile_with_entrypoint/Dockerfile index 7d28d2933..e7454e59b 100644 --- a/tests/fixtures/dockerfile_with_entrypoint/Dockerfile +++ b/tests/fixtures/dockerfile_with_entrypoint/Dockerfile @@ -1,2 +1,3 @@ FROM busybox:latest +LABEL com.docker.compose.test_image=true ENTRYPOINT echo "From prebuilt entrypoint" diff --git a/tests/fixtures/simple-dockerfile/Dockerfile b/tests/fixtures/simple-dockerfile/Dockerfile index d1ceac6b7..dd864b838 100644 --- a/tests/fixtures/simple-dockerfile/Dockerfile +++ b/tests/fixtures/simple-dockerfile/Dockerfile @@ -1,2 +1,3 @@ FROM busybox:latest +LABEL com.docker.compose.test_image=true CMD echo "success" diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index dab9d4a2b..421d59857 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -26,6 +26,7 @@ class CLITestCase(DockerClientTestCase): self.project.remove_stopped() for container in self.project.containers(stopped=True, one_off=True): container.remove(force=True) + super(CLITestCase, self).tearDown() @property def project(self): @@ -163,6 +164,19 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(old_ids, new_ids) + def test_up_with_timeout(self): + self.command.dispatch(['up', '-d', '-t', '1'], None) + service = self.project.get_service('simple') + another = self.project.get_service('another') + self.assertEqual(len(service.containers()), 1) + self.assertEqual(len(another.containers()), 1) + + # Ensure containers don't have stdin and stdout connected in -d mode + config = service.containers()[0].inspect()['Config'] + self.assertFalse(config['AttachStderr']) + self.assertFalse(config['AttachStdout']) + self.assertFalse(config['AttachStdin']) + @patch('dockerpty.start') def test_run_service_without_links(self, mock_stdout): self.command.base_dir = 'tests/fixtures/links-composefile' @@ -209,13 +223,10 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(old_ids, new_ids) @patch('dockerpty.start') - def test_run_without_command(self, __): + def test_run_without_command(self, _): self.command.base_dir = 'tests/fixtures/commands-composefile' self.check_build('tests/fixtures/simple-dockerfile', tag='composetest_test') - for c in self.project.containers(stopped=True, one_off=True): - c.remove() - self.command.dispatch(['run', 'implicit'], None) service = self.project.get_service('implicit') containers = service.containers(stopped=True, one_off=True) diff --git a/tests/integration/legacy_test.py b/tests/integration/legacy_test.py index 6c52b68d3..346c84f2e 100644 --- a/tests/integration/legacy_test.py +++ b/tests/integration/legacy_test.py @@ -1,12 +1,15 @@ +from docker.errors import APIError + from compose import legacy from compose.project import Project from .testcases import DockerClientTestCase -class ProjectTest(DockerClientTestCase): +class LegacyTestCase(DockerClientTestCase): def setUp(self): - super(ProjectTest, self).setUp() + super(LegacyTestCase, self).setUp() + self.containers = [] db = self.create_service('db') web = self.create_service('web', links=[(db, 'db')]) @@ -23,12 +26,25 @@ class ProjectTest(DockerClientTestCase): **service.options ) self.client.start(container) + self.containers.append(container) # Create a single one-off legacy container - self.client.create_container( + self.containers.append(self.client.create_container( name='{}_{}_run_1'.format(self.project.name, self.services[0].name), **self.services[0].options - ) + )) + + def tearDown(self): + super(LegacyTestCase, self).tearDown() + for container in self.containers: + try: + self.client.kill(container) + except APIError: + pass + try: + self.client.remove_container(container) + except APIError: + pass def get_legacy_containers(self, **kwargs): return list(legacy.get_legacy_containers( diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 314daf718..505f509ea 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -1,5 +1,7 @@ from __future__ import unicode_literals + from compose import config +from compose.const import LABEL_PROJECT from compose.project import Project from compose.container import Container from .testcases import DockerClientTestCase @@ -70,6 +72,7 @@ class ProjectTest(DockerClientTestCase): image='busybox:latest', volumes=['/var/data'], name='composetest_data_container', + labels={LABEL_PROJECT: 'composetest'}, ) project = Project.from_dicts( name='composetest', @@ -84,9 +87,6 @@ class ProjectTest(DockerClientTestCase): db = project.get_service('db') self.assertEqual(db.volumes_from, [data_container]) - project.kill() - project.remove_stopped() - def test_net_from_service(self): project = Project.from_dicts( name='composetest', @@ -110,15 +110,13 @@ class ProjectTest(DockerClientTestCase): net = project.get_service('net') self.assertEqual(web._get_net(), 'container:' + net.containers()[0].id) - project.kill() - project.remove_stopped() - def test_net_from_container(self): net_container = Container.create( self.client, image='busybox:latest', name='composetest_net_container', - command='top' + command='top', + labels={LABEL_PROJECT: 'composetest'}, ) net_container.start() @@ -138,9 +136,6 @@ class ProjectTest(DockerClientTestCase): web = project.get_service('web') self.assertEqual(web._get_net(), 'container:' + net_container.id) - project.kill() - project.remove_stopped() - def test_start_stop_kill_remove(self): web = self.create_service('web') db = self.create_service('db') @@ -186,9 +181,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(db.containers()), 1) self.assertEqual(len(web.containers()), 0) - project.kill() - project.remove_stopped() - def test_project_up_starts_uncreated_services(self): db = self.create_service('db') web = self.create_service('web', links=[(db, 'db')]) @@ -220,9 +212,6 @@ class ProjectTest(DockerClientTestCase): self.assertNotEqual(db_container.id, old_db_id) self.assertEqual(db_container.get('Volumes./etc'), db_volume_path) - project.kill() - project.remove_stopped() - def test_project_up_with_no_recreate_running(self): web = self.create_service('web') db = self.create_service('db', volumes=['/var/db']) @@ -243,9 +232,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(db_container.inspect()['Volumes']['/var/db'], db_volume_path) - project.kill() - project.remove_stopped() - def test_project_up_with_no_recreate_stopped(self): web = self.create_service('web') db = self.create_service('db', volumes=['/var/db']) @@ -273,9 +259,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(db_container.inspect()['Volumes']['/var/db'], db_volume_path) - project.kill() - project.remove_stopped() - def test_project_up_without_all_services(self): console = self.create_service('console') db = self.create_service('db') @@ -288,9 +271,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(db.containers()), 1) self.assertEqual(len(console.containers()), 1) - project.kill() - project.remove_stopped() - def test_project_up_starts_links(self): console = self.create_service('console') db = self.create_service('db', volumes=['/var/db']) @@ -306,9 +286,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(db.containers()), 1) self.assertEqual(len(console.containers()), 0) - project.kill() - project.remove_stopped() - def test_project_up_starts_depends(self): project = Project.from_dicts( name='composetest', @@ -344,9 +321,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(project.get_service('data').containers()), 1) self.assertEqual(len(project.get_service('console').containers()), 0) - project.kill() - project.remove_stopped() - def test_project_up_with_no_deps(self): project = Project.from_dicts( name='composetest', @@ -383,9 +357,6 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(project.get_service('data').containers(stopped=True)), 1) self.assertEqual(len(project.get_service('console').containers()), 0) - project.kill() - project.remove_stopped() - def test_unscale_after_restart(self): web = self.create_service('web') project = Project('composetest', [web], self.client) @@ -410,5 +381,3 @@ class ProjectTest(DockerClientTestCase): project.up() service = project.get_service('web') self.assertEqual(len(service.containers()), 1) - project.kill() - project.remove_stopped() diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 98fa4213c..bf12be7f2 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -2,8 +2,9 @@ from __future__ import unicode_literals from __future__ import absolute_import import os from os import path -import mock +from docker.errors import APIError +import mock import tempfile import shutil import six @@ -18,11 +19,11 @@ from compose.const import ( ) from compose.service import ( ConfigError, + ConvergencePlan, Service, build_extra_hosts, ) from compose.container import Container -from docker.errors import APIError from .testcases import DockerClientTestCase @@ -235,7 +236,12 @@ class ServiceTest(DockerClientTestCase): def test_create_container_with_volumes_from(self): volume_service = self.create_service('data') volume_container_1 = volume_service.create_container() - volume_container_2 = Container.create(self.client, image='busybox:latest', command=["top"]) + volume_container_2 = Container.create( + self.client, + image='busybox:latest', + command=["top"], + labels={LABEL_PROJECT: 'composetest'}, + ) host_service = self.create_service('host', volumes_from=[volume_service, volume_container_2]) host_container = host_service.create_container() host_service.start_container(host_container) @@ -244,7 +250,7 @@ class ServiceTest(DockerClientTestCase): self.assertIn(volume_container_2.id, host_container.get('HostConfig.VolumesFrom')) - def test_converge(self): + def test_execute_convergence_plan_recreate(self): service = self.create_service( 'db', environment={'FOO': '1'}, @@ -264,7 +270,8 @@ class ServiceTest(DockerClientTestCase): num_containers_before = len(self.client.containers(all=True)) service.options['environment']['FOO'] = '2' - new_container = service.converge()[0] + new_container, = service.execute_convergence_plan( + ConvergencePlan('recreate', [old_container])) self.assertEqual(new_container.get('Config.Entrypoint'), ['top']) self.assertEqual(new_container.get('Config.Cmd'), ['-d', '1']) @@ -281,7 +288,7 @@ class ServiceTest(DockerClientTestCase): self.client.inspect_container, old_container.id) - def test_converge_when_containers_are_stopped(self): + def test_execute_convergence_plan_when_containers_are_stopped(self): service = self.create_service( 'db', environment={'FOO': '1'}, @@ -290,11 +297,21 @@ class ServiceTest(DockerClientTestCase): command=['-d', '1'] ) service.create_container() - self.assertEqual(len(service.containers(stopped=True)), 1) - service.converge() - self.assertEqual(len(service.containers(stopped=True)), 1) - def test_converge_with_image_declared_volume(self): + containers = service.containers(stopped=True) + self.assertEqual(len(containers), 1) + container, = containers + self.assertFalse(container.is_running) + + service.execute_convergence_plan(ConvergencePlan('start', [container])) + + containers = service.containers() + self.assertEqual(len(containers), 1) + container.inspect() + self.assertEqual(container, containers[0]) + self.assertTrue(container.is_running) + + def test_execute_convergence_plan_with_image_declared_volume(self): service = Service( project='composetest', name='db', @@ -306,7 +323,8 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(old_container.get('Volumes').keys(), ['/data']) volume_path = old_container.get('Volumes')['/data'] - new_container = service.converge()[0] + new_container, = service.execute_convergence_plan( + ConvergencePlan('recreate', [old_container])) self.assertEqual(new_container.get('Volumes').keys(), ['/data']) self.assertEqual(new_container.get('Volumes')['/data'], volume_path) @@ -408,7 +426,7 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(len(self.client.images(name='composetest_test')), 1) def test_start_container_uses_tagged_image_if_it_exists(self): - self.client.build('tests/fixtures/simple-dockerfile', tag='composetest_test') + self.check_build('tests/fixtures/simple-dockerfile', tag='composetest_test') service = Service( name='test', client=self.client, diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 6e1ba025b..95fcc49de 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -12,8 +12,8 @@ from .testcases import DockerClientTestCase class ProjectTestCase(DockerClientTestCase): def run_up(self, cfg, **kwargs): - if 'smart_recreate' not in kwargs: - kwargs['smart_recreate'] = True + kwargs.setdefault('smart_recreate', True) + kwargs.setdefault('timeout', 0.1) project = self.make_project(cfg) project.up(**kwargs) @@ -153,7 +153,31 @@ class ProjectWithDependenciesTest(ProjectTestCase): self.assertEqual(new_containers - old_containers, set()) +def converge(service, + allow_recreate=True, + smart_recreate=False, + insecure_registry=False, + do_build=True): + """ + If a container for this service doesn't exist, create and start one. If there are + any, stop them, create+start new ones, and remove the old containers. + """ + plan = service.convergence_plan( + allow_recreate=allow_recreate, + smart_recreate=smart_recreate, + ) + + return service.execute_convergence_plan( + plan, + insecure_registry=insecure_registry, + do_build=do_build, + timeout=0.1, + ) + + class ServiceStateTest(DockerClientTestCase): + """Test cases for Service.convergence_plan.""" + def test_trigger_create(self): web = self.create_service('web') self.assertEqual(('create', []), web.convergence_plan(smart_recreate=True)) @@ -223,18 +247,19 @@ class ServiceStateTest(DockerClientTestCase): def test_trigger_recreate_with_build(self): context = tempfile.mkdtemp() + base_image = "FROM busybox\nLABEL com.docker.compose.test_image=true\n" try: dockerfile = os.path.join(context, 'Dockerfile') with open(dockerfile, 'w') as f: - f.write('FROM busybox\n') + f.write(base_image) web = self.create_service('web', build=context) container = web.create_container() with open(dockerfile, 'w') as f: - f.write('FROM busybox\nCMD echo hello world\n') + f.write(base_image + 'CMD echo hello world\n') web.build() web = self.create_service('web', build=context) @@ -256,15 +281,15 @@ class ConfigHashTest(DockerClientTestCase): def test_config_hash_with_custom_labels(self): web = self.create_service('web', labels={'foo': '1'}) - container = web.converge()[0] + container = converge(web)[0] self.assertIn(LABEL_CONFIG_HASH, container.labels) self.assertIn('foo', container.labels) def test_config_hash_sticks_around(self): web = self.create_service('web', command=["top"]) - container = web.converge()[0] + container = converge(web)[0] self.assertIn(LABEL_CONFIG_HASH, container.labels) web = self.create_service('web', command=["top", "-d", "1"]) - container = web.converge()[0] + container = converge(web)[0] self.assertIn(LABEL_CONFIG_HASH, container.labels) diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 48fcf3ef2..98c5876eb 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from __future__ import absolute_import from compose.service import Service from compose.config import make_service_dict +from compose.const import LABEL_PROJECT from compose.cli.docker_client import docker_client from compose.progress_stream import stream_output from .. import unittest @@ -12,15 +13,15 @@ class DockerClientTestCase(unittest.TestCase): def setUpClass(cls): cls.client = docker_client() - # TODO: update to use labels in #652 - def setUp(self): - for c in self.client.containers(all=True): - if c['Names'] and 'composetest' in c['Names'][0]: - self.client.kill(c['Id']) - self.client.remove_container(c['Id']) - for i in self.client.images(): - if isinstance(i.get('Tag'), basestring) and 'composetest' in i['Tag']: - self.client.remove_image(i) + def tearDown(self): + for c in self.client.containers( + all=True, + filters={'label': '%s=composetest' % LABEL_PROJECT}): + self.client.kill(c['Id']) + self.client.remove_container(c['Id']) + for i in self.client.images( + filters={'label': 'com.docker.compose.test_image'}): + self.client.remove_image(i) def create_service(self, name, **kwargs): if 'image' not in kwargs and 'build' not in kwargs: @@ -36,5 +37,6 @@ class DockerClientTestCase(unittest.TestCase): ) def check_build(self, *args, **kwargs): + kwargs.setdefault('rm', True) build_output = self.client.build(*args, **kwargs) stream_output(build_output, open('/dev/null', 'w')) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index dc1f7df34..a63e39c65 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -247,7 +247,7 @@ class ServiceTest(unittest.TestCase): service.image = lambda: {'Id': 'abc123'} new_container = service.recreate_container(mock_container) - mock_container.stop.assert_called_once_with() + mock_container.stop.assert_called_once_with(timeout=10) self.mock_client.rename.assert_called_once_with( mock_container.id, '%s_%s' % (mock_container.short_id, mock_container.name)) @@ -255,6 +255,15 @@ class ServiceTest(unittest.TestCase): new_container.start.assert_called_once_with() mock_container.remove.assert_called_once_with() + @mock.patch('compose.service.Container', autospec=True) + def test_recreate_container_with_timeout(self, _): + mock_container = mock.create_autospec(Container) + self.mock_client.inspect_image.return_value = {'Id': 'abc123'} + service = Service('foo', client=self.mock_client, image='someimage') + service.recreate_container(mock_container, timeout=1) + + mock_container.stop.assert_called_once_with(timeout=1) + def test_parse_repository_tag(self): self.assertEqual(parse_repository_tag("root"), ("root", "")) self.assertEqual(parse_repository_tag("root:tag"), ("root", "tag")) From 4bc4d273ace15229853e1da41b71c104df33dce9 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 8 Jul 2015 14:48:03 +0100 Subject: [PATCH 048/221] Merge pull request #1643 from aanand/warn-about-legacy-one-off-containers Show an error on 'run' when there are legacy one-off containers (cherry picked from commit 81707ef1ad94403789166d2fe042c8a718a4c748) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 24 ++++-- compose/legacy.py | 94 +++++++++++++++++----- compose/project.py | 3 +- compose/service.py | 3 +- tests/integration/legacy_test.py | 129 +++++++++++++++++++++++++++++-- tests/unit/cli_test.py | 6 +- 6 files changed, 221 insertions(+), 38 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 6c7ccf0da..d5d15177c 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -33,7 +33,7 @@ def main(): except KeyboardInterrupt: log.error("\nAborting.") sys.exit(1) - except (UserError, NoSuchService, ConfigurationError, legacy.LegacyContainersError) as e: + except (UserError, NoSuchService, ConfigurationError, legacy.LegacyError) as e: log.error(e.msg) sys.exit(1) except NoSuchCommand as e: @@ -334,12 +334,22 @@ class TopLevelCommand(Command): if not options['--service-ports']: container_options['ports'] = [] - container = service.create_container( - quiet=True, - one_off=True, - insecure_registry=insecure_registry, - **container_options - ) + try: + container = service.create_container( + quiet=True, + one_off=True, + insecure_registry=insecure_registry, + **container_options + ) + except APIError as e: + legacy.check_for_legacy_containers( + project.client, + project.name, + [service.name], + allow_one_off=False, + ) + + raise e if options['-d']: service.start_container(container) diff --git a/compose/legacy.py b/compose/legacy.py index 340511a76..c9ec65817 100644 --- a/compose/legacy.py +++ b/compose/legacy.py @@ -1,6 +1,7 @@ import logging import re +from .const import LABEL_VERSION from .container import get_container_name, Container @@ -24,41 +25,82 @@ Alternatively, remove them: $ docker rm -f {rm_args} """ +ONE_OFF_ADDENDUM_FORMAT = """ +You should also remove your one-off containers: + + $ docker rm -f {rm_args} +""" + +ONE_OFF_ERROR_MESSAGE_FORMAT = """ +Compose found the following containers without labels: + +{names_list} + +As of Compose 1.3.0, containers are identified with labels instead of naming convention. + +Remove them before continuing: + + $ docker rm -f {rm_args} +""" + def check_for_legacy_containers( client, project, services, - stopped=False, - one_off=False): + allow_one_off=True): """Check if there are containers named using the old naming convention and warn the user that those containers may need to be migrated to using labels, so that compose can find them. """ - containers = list(get_legacy_containers( - client, - project, - services, - stopped=stopped, - one_off=one_off)) + containers = get_legacy_containers(client, project, services, one_off=False) if containers: - raise LegacyContainersError([c.name for c in containers]) + one_off_containers = get_legacy_containers(client, project, services, one_off=True) + + raise LegacyContainersError( + [c.name for c in containers], + [c.name for c in one_off_containers], + ) + + if not allow_one_off: + one_off_containers = get_legacy_containers(client, project, services, one_off=True) + + if one_off_containers: + raise LegacyOneOffContainersError( + [c.name for c in one_off_containers], + ) -class LegacyContainersError(Exception): - def __init__(self, names): +class LegacyError(Exception): + def __unicode__(self): + return self.msg + + __str__ = __unicode__ + + +class LegacyContainersError(LegacyError): + def __init__(self, names, one_off_names): self.names = names + self.one_off_names = one_off_names self.msg = ERROR_MESSAGE_FORMAT.format( names_list="\n".join(" {}".format(name) for name in names), rm_args=" ".join(names), ) - def __unicode__(self): - return self.msg + if one_off_names: + self.msg += ONE_OFF_ADDENDUM_FORMAT.format(rm_args=" ".join(one_off_names)) - __str__ = __unicode__ + +class LegacyOneOffContainersError(LegacyError): + def __init__(self, one_off_names): + self.one_off_names = one_off_names + + self.msg = ONE_OFF_ERROR_MESSAGE_FORMAT.format( + names_list="\n".join(" {}".format(name) for name in one_off_names), + rm_args=" ".join(one_off_names), + ) def add_labels(project, container): @@ -76,8 +118,8 @@ def migrate_project_to_labels(project): project.client, project.name, project.service_names, - stopped=True, - one_off=False) + one_off=False, + ) for container in containers: add_labels(project, container) @@ -87,13 +129,29 @@ def get_legacy_containers( client, project, services, - stopped=False, one_off=False): - containers = client.containers(all=stopped) + return list(_get_legacy_containers_iter( + client, + project, + services, + one_off=one_off, + )) + + +def _get_legacy_containers_iter( + client, + project, + services, + one_off=False): + + containers = client.containers(all=True) for service in services: for container in containers: + if LABEL_VERSION in container['Labels']: + continue + name = get_container_name(container) if has_container(project, service, name, one_off=one_off): yield Container.from_ps(client, container) diff --git a/compose/project.py b/compose/project.py index 288afc5f5..11c1e1ce9 100644 --- a/compose/project.py +++ b/compose/project.py @@ -308,8 +308,7 @@ class Project(object): self.client, self.name, self.service_names, - stopped=stopped, - one_off=one_off) + ) return filter(matches_service_names, containers) diff --git a/compose/service.py b/compose/service.py index ddabbfc4a..2bf22eac3 100644 --- a/compose/service.py +++ b/compose/service.py @@ -110,8 +110,7 @@ class Service(object): self.client, self.project, [self.name], - stopped=stopped, - one_off=one_off) + ) return containers diff --git a/tests/integration/legacy_test.py b/tests/integration/legacy_test.py index 346c84f2e..806b9a457 100644 --- a/tests/integration/legacy_test.py +++ b/tests/integration/legacy_test.py @@ -1,3 +1,5 @@ +import unittest + from docker.errors import APIError from compose import legacy @@ -5,6 +7,64 @@ from compose.project import Project from .testcases import DockerClientTestCase +class UtilitiesTestCase(unittest.TestCase): + def test_has_container(self): + self.assertTrue( + legacy.has_container("composetest", "web", "composetest_web_1", one_off=False), + ) + self.assertFalse( + legacy.has_container("composetest", "web", "composetest_web_run_1", one_off=False), + ) + + def test_has_container_one_off(self): + self.assertFalse( + legacy.has_container("composetest", "web", "composetest_web_1", one_off=True), + ) + self.assertTrue( + legacy.has_container("composetest", "web", "composetest_web_run_1", one_off=True), + ) + + def test_has_container_different_project(self): + self.assertFalse( + legacy.has_container("composetest", "web", "otherapp_web_1", one_off=False), + ) + self.assertFalse( + legacy.has_container("composetest", "web", "otherapp_web_run_1", one_off=True), + ) + + def test_has_container_different_service(self): + self.assertFalse( + legacy.has_container("composetest", "web", "composetest_db_1", one_off=False), + ) + self.assertFalse( + legacy.has_container("composetest", "web", "composetest_db_run_1", one_off=True), + ) + + def test_is_valid_name(self): + self.assertTrue( + legacy.is_valid_name("composetest_web_1", one_off=False), + ) + self.assertFalse( + legacy.is_valid_name("composetest_web_run_1", one_off=False), + ) + + def test_is_valid_name_one_off(self): + self.assertFalse( + legacy.is_valid_name("composetest_web_1", one_off=True), + ) + self.assertTrue( + legacy.is_valid_name("composetest_web_run_1", one_off=True), + ) + + def test_is_valid_name_invalid(self): + self.assertFalse( + legacy.is_valid_name("foo"), + ) + self.assertFalse( + legacy.is_valid_name("composetest_web_lol_1", one_off=True), + ) + + class LegacyTestCase(DockerClientTestCase): def setUp(self): @@ -30,7 +90,7 @@ class LegacyTestCase(DockerClientTestCase): # Create a single one-off legacy container self.containers.append(self.client.create_container( - name='{}_{}_run_1'.format(self.project.name, self.services[0].name), + name='{}_{}_run_1'.format(self.project.name, db.name), **self.services[0].options )) @@ -47,27 +107,84 @@ class LegacyTestCase(DockerClientTestCase): pass def get_legacy_containers(self, **kwargs): - return list(legacy.get_legacy_containers( + return legacy.get_legacy_containers( self.client, self.project.name, [s.name for s in self.services], **kwargs - )) + ) def test_get_legacy_container_names(self): self.assertEqual(len(self.get_legacy_containers()), len(self.services)) def test_get_legacy_container_names_one_off(self): - self.assertEqual(len(self.get_legacy_containers(stopped=True, one_off=True)), 1) + self.assertEqual(len(self.get_legacy_containers(one_off=True)), 1) def test_migration_to_labels(self): + # Trying to get the container list raises an exception + with self.assertRaises(legacy.LegacyContainersError) as cm: - self.assertEqual(self.project.containers(stopped=True), []) + self.project.containers(stopped=True) self.assertEqual( set(cm.exception.names), set(['composetest_db_1', 'composetest_web_1', 'composetest_nginx_1']), ) + self.assertEqual( + set(cm.exception.one_off_names), + set(['composetest_db_run_1']), + ) + + # Migrate the containers + legacy.migrate_project_to_labels(self.project) - self.assertEqual(len(self.project.containers(stopped=True)), len(self.services)) + + # Getting the list no longer raises an exception + + containers = self.project.containers(stopped=True) + self.assertEqual(len(containers), len(self.services)) + + def test_migration_one_off(self): + # We've already migrated + + legacy.migrate_project_to_labels(self.project) + + # Trying to create a one-off container results in a Docker API error + + with self.assertRaises(APIError) as cm: + self.project.get_service('db').create_container(one_off=True) + + # Checking for legacy one-off containers raises an exception + + with self.assertRaises(legacy.LegacyOneOffContainersError) as cm: + legacy.check_for_legacy_containers( + self.client, + self.project.name, + ['db'], + allow_one_off=False, + ) + + self.assertEqual( + set(cm.exception.one_off_names), + set(['composetest_db_run_1']), + ) + + # Remove the old one-off container + + c = self.client.inspect_container('composetest_db_run_1') + self.client.remove_container(c) + + # Checking no longer raises an exception + + legacy.check_for_legacy_containers( + self.client, + self.project.name, + ['db'], + allow_one_off=False, + ) + + # Creating a one-off container no longer results in an API error + + self.project.get_service('db').create_container(one_off=True) + self.assertIsInstance(self.client.inspect_container('composetest_db_run_1'), dict) diff --git a/tests/unit/cli_test.py b/tests/unit/cli_test.py index d10cb9b30..ab3ea56a9 100644 --- a/tests/unit/cli_test.py +++ b/tests/unit/cli_test.py @@ -127,7 +127,7 @@ class CLITestCase(unittest.TestCase): def test_run_with_environment_merged_with_options_list(self, mock_dockerpty): command = TopLevelCommand() mock_client = mock.create_autospec(docker.Client) - mock_project = mock.Mock() + mock_project = mock.Mock(client=mock_client) mock_project.get_service.return_value = Service( 'service', client=mock_client, @@ -156,7 +156,7 @@ class CLITestCase(unittest.TestCase): def test_run_service_with_restart_always(self): command = TopLevelCommand() mock_client = mock.create_autospec(docker.Client) - mock_project = mock.Mock() + mock_project = mock.Mock(client=mock_client) mock_project.get_service.return_value = Service( 'service', client=mock_client, @@ -180,7 +180,7 @@ class CLITestCase(unittest.TestCase): command = TopLevelCommand() mock_client = mock.create_autospec(docker.Client) - mock_project = mock.Mock() + mock_project = mock.Mock(client=mock_client) mock_project.get_service.return_value = Service( 'service', client=mock_client, From a80afd67abcddf425017b5b3853ab931d5a8d3d1 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 14 Jul 2015 16:55:44 +0100 Subject: [PATCH 049/221] Merge pull request #1688 from aanand/use-docker-py-1.3.0 Use docker-py 1.3.0 (cherry picked from commit 1e71eebc7475ac5307eace3a3b9e97dc0d3873cd) Signed-off-by: Aanand Prasad --- requirements.txt | 4 ++-- setup.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 69bd4c5f9..fc5b68489 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ PyYAML==3.10 -docker-py==1.2.3 +docker-py==1.3.0 dockerpty==0.3.4 docopt==0.6.1 requests==2.6.1 six==1.7.3 texttable==0.8.2 -websocket-client==0.11.0 +websocket-client==0.32.0 diff --git a/setup.py b/setup.py index d2e81e175..d0ec10679 100644 --- a/setup.py +++ b/setup.py @@ -30,7 +30,7 @@ install_requires = [ 'requests >= 2.6.1, < 2.7', 'texttable >= 0.8.1, < 0.9', 'websocket-client >= 0.11.0, < 1.0', - 'docker-py >= 1.2.3, < 1.3', + 'docker-py >= 1.3.0, < 1.4', 'dockerpty >= 0.3.4, < 0.4', 'six >= 1.3.0, < 2', ] From 95cf195dbd6509d7292fefd01d70f284fe0d4dd0 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 14 Jul 2015 17:40:43 +0100 Subject: [PATCH 050/221] Bump 1.3.2 Signed-off-by: Aanand Prasad --- CHANGES.md | 15 +++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 1f43d88d4..b87a2e7de 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,21 @@ Change log ========== +1.3.2 (2015-07-14) +------------------ + +The following bugs have been fixed: + +- When there were one-off containers created by running `docker-compose run` on an older version of Compose, `docker-compose run` would fail with a name collision. Compose now shows an error if you have leftover containers of this type lying around, and tells you how to remove them. +- Compose was not reading Docker authentication config files created in the new location, `~/docker/config.json`, and authentication against private registries would therefore fail. +- When a container had a pseudo-TTY attached, its output in `docker-compose up` would be truncated. +- `docker-compose up --x-smart-recreate` would sometimes fail when an image tag was updated. +- `docker-compose up` would sometimes create two containers with the same numeric suffix. +- `docker-compose rm` and `docker-compose ps` would sometimes list services that aren't part of the current project (though no containers were erroneously removed). +- Some `docker-compose` commands would not show an error if invalid service names were passed in. + +Thanks @dano, @josephpage, @kevinsimper, @lieryan, @phemmer, @soulrebel and @sschepens! + 1.3.1 (2015-06-21) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index f3ec6acb0..1f6957495 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.3.1' +__version__ = '1.3.2' diff --git a/docs/install.md b/docs/install.md index 96a4a2376..cdaac34f3 100644 --- a/docs/install.md +++ b/docs/install.md @@ -27,7 +27,7 @@ First, install Docker version 1.6 or greater: To install Compose, run the following commands: - curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose > Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. From cd441793052a4c216bf2942c3b8e4687f965c672 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 15 Jul 2015 17:30:31 +0100 Subject: [PATCH 051/221] Merge pull request #1705 from aanand/fix-labels-null Handle case where /containers/json returns "Labels": null (cherry picked from commit 7b9664be8e82b03f316d88c928953c62e897c2cd) Signed-off-by: Aanand Prasad --- compose/legacy.py | 2 +- tests/integration/legacy_test.py | 17 +++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/compose/legacy.py b/compose/legacy.py index c9ec65817..6fbf74d69 100644 --- a/compose/legacy.py +++ b/compose/legacy.py @@ -149,7 +149,7 @@ def _get_legacy_containers_iter( for service in services: for container in containers: - if LABEL_VERSION in container['Labels']: + if LABEL_VERSION in (container.get('Labels') or {}): continue name = get_container_name(container) diff --git a/tests/integration/legacy_test.py b/tests/integration/legacy_test.py index 806b9a457..f79089b20 100644 --- a/tests/integration/legacy_test.py +++ b/tests/integration/legacy_test.py @@ -1,4 +1,5 @@ import unittest +from mock import Mock from docker.errors import APIError @@ -64,6 +65,22 @@ class UtilitiesTestCase(unittest.TestCase): legacy.is_valid_name("composetest_web_lol_1", one_off=True), ) + def test_get_legacy_containers_no_labels(self): + client = Mock() + client.containers.return_value = [ + { + "Id": "abc123", + "Image": "def456", + "Name": "composetest_web_1", + "Labels": None, + }, + ] + + containers = list(legacy.get_legacy_containers( + client, "composetest", ["web"])) + + self.assertEqual(len(containers), 1) + class LegacyTestCase(DockerClientTestCase): From e5f6ae767d78a2213eac2d52bade3dfdfe620730 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Thu, 16 Jul 2015 10:50:06 +0100 Subject: [PATCH 052/221] Merge pull request #1704 from aanand/fix-timeout-type Make sure up/restart/stop timeout is an int (cherry picked from commit c7dccccd1fa4dc2fe6f65d4a839a16567adbee9d) Signed-off-by: Aanand Prasad --- compose/cli/main.py | 6 +++--- tests/integration/state_test.py | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index d5d15177c..ba4445735 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -403,7 +403,7 @@ class TopLevelCommand(Command): -t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10) """ - timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) + timeout = int(options.get('--timeout') or DEFAULT_TIMEOUT) project.stop(service_names=options['SERVICE'], timeout=timeout) def restart(self, project, options): @@ -416,7 +416,7 @@ class TopLevelCommand(Command): -t, --timeout TIMEOUT Specify a shutdown timeout in seconds. (default: 10) """ - timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) + timeout = int(options.get('--timeout') or DEFAULT_TIMEOUT) project.restart(service_names=options['SERVICE'], timeout=timeout) def up(self, project, options): @@ -459,7 +459,7 @@ class TopLevelCommand(Command): allow_recreate = not options['--no-recreate'] smart_recreate = options['--x-smart-recreate'] service_names = options['SERVICE'] - timeout = float(options.get('--timeout') or DEFAULT_TIMEOUT) + timeout = int(options.get('--timeout') or DEFAULT_TIMEOUT) project.up( service_names=service_names, diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 95fcc49de..fb91bc249 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -13,7 +13,7 @@ from .testcases import DockerClientTestCase class ProjectTestCase(DockerClientTestCase): def run_up(self, cfg, **kwargs): kwargs.setdefault('smart_recreate', True) - kwargs.setdefault('timeout', 0.1) + kwargs.setdefault('timeout', 1) project = self.make_project(cfg) project.up(**kwargs) @@ -171,7 +171,7 @@ def converge(service, plan, insecure_registry=insecure_registry, do_build=do_build, - timeout=0.1, + timeout=1, ) From 8cff440800a6098eba36cbce25bfef34e939b139 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 15 Jul 2015 17:36:45 +0100 Subject: [PATCH 053/221] Bump 1.3.3 Signed-off-by: Aanand Prasad --- CHANGES.md | 8 ++++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index b87a2e7de..38a543249 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,14 @@ Change log ========== +1.3.3 (2015-07-15) +------------------ + +Two regressions have been fixed: + +- When stopping containers gracefully, Compose was setting the timeout to 0, effectively forcing a SIGKILL every time. +- Compose would sometimes crash depending on the formatting of container data returned from the Docker API. + 1.3.2 (2015-07-14) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 1f6957495..97d9c11d9 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.3.2' +__version__ = '1.3.3' diff --git a/docs/install.md b/docs/install.md index cdaac34f3..c025469b6 100644 --- a/docs/install.md +++ b/docs/install.md @@ -27,7 +27,7 @@ First, install Docker version 1.6 or greater: To install Compose, run the following commands: - curl -L https://github.com/docker/compose/releases/download/1.3.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose > Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. From dfe9dccab88955b1cd23159a75333a54d2afbf32 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 28 Jul 2015 15:03:46 +0100 Subject: [PATCH 054/221] Merge pull request #1774 from moxiegirl/test-entire-build Contributors can build public docs with compose docs in context (cherry picked from commit 487eae3b7b1e36d037a8fdcf181fdf1bbf9c40cc) Signed-off-by: Aanand Prasad --- docs/Dockerfile | 16 +++++----- docs/pre-process.sh | 61 +++++++++++++++++++++++++++++++++++++++ docs/reference/build.md | 1 + docs/reference/help.md | 1 + docs/reference/kill.md | 1 + docs/reference/logs.md | 1 + docs/reference/port.md | 1 + docs/reference/ps.md | 1 + docs/reference/pull.md | 1 + docs/reference/restart.md | 1 + docs/reference/rm.md | 1 + docs/reference/run.md | 1 + docs/reference/start.md | 1 + docs/reference/stop.md | 1 + docs/reference/up.md | 1 + 15 files changed, 83 insertions(+), 7 deletions(-) create mode 100755 docs/pre-process.sh diff --git a/docs/Dockerfile b/docs/Dockerfile index d6864c2d6..d9add75c1 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -6,6 +6,14 @@ COPY . /src COPY . /docs/content/compose/ +RUN svn checkout https://github.com/docker/docker/trunk/docs /docs/content/docker +RUN svn checkout https://github.com/docker/swarm/trunk/docs /docs/content/swarm +RUN svn checkout https://github.com/docker/machine/trunk/docs /docs/content/machine +RUN svn checkout https://github.com/docker/distribution/trunk/docs /docs/content/registry +RUN svn checkout https://github.com/docker/tutorials/trunk/docs /docs/content/tutorials +RUN svn checkout https://github.com/docker/opensource/trunk/docs /docs/content + + # Sed to process GitHub Markdown # 1-2 Remove comment code from metadata block # 3 Change ](/word to ](/project/ in links @@ -15,10 +23,4 @@ COPY . /docs/content/compose/ # 7 Change ](../../ to ](/project/ --> not implemented # # -RUN find /docs/content/compose -type f -name "*.md" -exec sed -i.old \ - -e '/^/g' \ - -e '/^/g' \ - -e 's/\(\]\)\([(]\)\(\/\)/\1\2\/compose\//g' \ - -e 's/\(\][(]\)\([A-z].*\)\(\.md\)/\1\/compose\/\2/g' \ - -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \ - -e 's/\(\][(]\)\(\.\.\/\)/\1\/compose\//g' {} \; +RUN /src/pre-process.sh /docs diff --git a/docs/pre-process.sh b/docs/pre-process.sh new file mode 100755 index 000000000..75e9611f2 --- /dev/null +++ b/docs/pre-process.sh @@ -0,0 +1,61 @@ +#!/bin/bash -e + +# Populate an array with just docker dirs and one with content dirs +docker_dir=(`ls -d /docs/content/docker/*`) +content_dir=(`ls -d /docs/content/*`) + +# Loop content not of docker/ +# +# Sed to process GitHub Markdown +# 1-2 Remove comment code from metadata block +# 3 Remove .md extension from link text +# 4 Change ](/ to ](/project/ in links +# 5 Change ](word) to ](/project/word) +# 6 Change ](../../ to ](/project/ +# 7 Change ](../ to ](/project/word) +# +for i in "${content_dir[@]}" +do + : + case $i in + "/docs/content/windows") + ;; + "/docs/content/mac") + ;; + "/docs/content/linux") + ;; + "/docs/content/docker") + y=${i##*/} + find $i -type f -name "*.md" -exec sed -i.old \ + -e '/^/g' \ + -e '/^/g' {} \; + ;; + *) + y=${i##*/} + find $i -type f -name "*.md" -exec sed -i.old \ + -e '/^/g' \ + -e '/^/g' \ + -e 's/\(\]\)\([(]\)\(\/\)/\1\2\/'$y'\//g' \ + -e 's/\(\][(]\)\([A-z].*\)\(\.md\)/\1\/'$y'\/\2/g' \ + -e 's/\([(]\)\(.*\)\(\.md\)/\1\2/g' \ + -e 's/\(\][(]\)\(\.\/\)/\1\/'$y'\//g' \ + -e 's/\(\][(]\)\(\.\.\/\.\.\/\)/\1\/'$y'\//g' \ + -e 's/\(\][(]\)\(\.\.\/\)/\1\/'$y'\//g' {} \; + ;; + esac +done + +# +# Move docker directories to content +# +for i in "${docker_dir[@]}" +do + : + if [ -d $i ] + then + mv $i /docs/content/ + fi +done + +rm -rf /docs/content/docker + diff --git a/docs/reference/build.md b/docs/reference/build.md index b2b015119..b6e27bb26 100644 --- a/docs/reference/build.md +++ b/docs/reference/build.md @@ -4,6 +4,7 @@ title = "build" description = "build" keywords = ["fig, composition, compose, docker, orchestration, cli, build"] [menu.main] +identifier="build.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/help.md b/docs/reference/help.md index 229ac5de9..613708ed2 100644 --- a/docs/reference/help.md +++ b/docs/reference/help.md @@ -4,6 +4,7 @@ title = "help" description = "help" keywords = ["fig, composition, compose, docker, orchestration, cli, help"] [menu.main] +identifier="help.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/kill.md b/docs/reference/kill.md index c71608748..e5dd05736 100644 --- a/docs/reference/kill.md +++ b/docs/reference/kill.md @@ -4,6 +4,7 @@ title = "kill" description = "Forces running containers to stop." keywords = ["fig, composition, compose, docker, orchestration, cli, kill"] [menu.main] +identifier="kill.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/logs.md b/docs/reference/logs.md index 87f937273..5b241ea70 100644 --- a/docs/reference/logs.md +++ b/docs/reference/logs.md @@ -4,6 +4,7 @@ title = "logs" description = "Displays log output from services." keywords = ["fig, composition, compose, docker, orchestration, cli, logs"] [menu.main] +identifier="logs.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/port.md b/docs/reference/port.md index 4745c92d3..76f93f239 100644 --- a/docs/reference/port.md +++ b/docs/reference/port.md @@ -4,6 +4,7 @@ title = "port" description = "Prints the public port for a port binding.s" keywords = ["fig, composition, compose, docker, orchestration, cli, port"] [menu.main] +identifier="port.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/ps.md b/docs/reference/ps.md index b271376f8..546d68e76 100644 --- a/docs/reference/ps.md +++ b/docs/reference/ps.md @@ -4,6 +4,7 @@ title = "ps" description = "Lists containers." keywords = ["fig, composition, compose, docker, orchestration, cli, ps"] [menu.main] +identifier="ps.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/pull.md b/docs/reference/pull.md index ac22010ec..e5b5d166f 100644 --- a/docs/reference/pull.md +++ b/docs/reference/pull.md @@ -4,6 +4,7 @@ title = "pull" description = "Pulls service images." keywords = ["fig, composition, compose, docker, orchestration, cli, pull"] [menu.main] +identifier="pull.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/restart.md b/docs/reference/restart.md index 9b570082b..bbd4a68b0 100644 --- a/docs/reference/restart.md +++ b/docs/reference/restart.md @@ -4,6 +4,7 @@ title = "restart" description = "Restarts Docker Compose services." keywords = ["fig, composition, compose, docker, orchestration, cli, restart"] [menu.main] +identifier="restart.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/rm.md b/docs/reference/rm.md index 0a4ba5b6b..2ed959e41 100644 --- a/docs/reference/rm.md +++ b/docs/reference/rm.md @@ -4,6 +4,7 @@ title = "rm" description = "Removes stopped service containers." keywords = ["fig, composition, compose, docker, orchestration, cli, rm"] [menu.main] +identifier="rm.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/run.md b/docs/reference/run.md index b07ddd060..5ea9a61be 100644 --- a/docs/reference/run.md +++ b/docs/reference/run.md @@ -4,6 +4,7 @@ title = "run" description = "Runs a one-off command on a service." keywords = ["fig, composition, compose, docker, orchestration, cli, run"] [menu.main] +identifier="run.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/start.md b/docs/reference/start.md index 69d853f9c..f0bdd5a97 100644 --- a/docs/reference/start.md +++ b/docs/reference/start.md @@ -4,6 +4,7 @@ title = "start" description = "Starts existing containers for a service." keywords = ["fig, composition, compose, docker, orchestration, cli, start"] [menu.main] +identifier="start.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/stop.md b/docs/reference/stop.md index 8ff92129d..ec7e6688a 100644 --- a/docs/reference/stop.md +++ b/docs/reference/stop.md @@ -4,6 +4,7 @@ title = "stop" description = "Stops running containers without removing them. " keywords = ["fig, composition, compose, docker, orchestration, cli, stop"] [menu.main] +identifier="stop.compose" parent = "smn_compose_cli" +++ diff --git a/docs/reference/up.md b/docs/reference/up.md index 441d7f9c3..966aff1e9 100644 --- a/docs/reference/up.md +++ b/docs/reference/up.md @@ -4,6 +4,7 @@ title = "up" description = "Builds, (re)creates, starts, and attaches to containers for a service." keywords = ["fig, composition, compose, docker, orchestration, cli, up"] [menu.main] +identifier="up.compose" parent = "smn_compose_cli" +++ From ca2ce3a034e08520ab7a709c32c9528f7d805cb1 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 29 Jul 2015 15:06:55 +0100 Subject: [PATCH 055/221] Merge pull request #1779 from aanand/mac-binary-error-hint Add hint about OS X binary compatibility (cherry picked from commit 1496734cbb2f2084c978eb90f8671bcd970c7095) Signed-off-by: Aanand Prasad --- docs/install.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/install.md b/docs/install.md index dad6efd56..38302485a 100644 --- a/docs/install.md +++ b/docs/install.md @@ -35,6 +35,8 @@ To install Compose, run the following commands: Optionally, you can also install [command completion](completion.md) for the bash and zsh shell. +> **Note:** Some older Mac OS X CPU architectures are incompatible with the binary. If you receive an "Illegal instruction: 4" error after installing, you should install using the `pip` command instead. + Compose is available for OS X and 64-bit Linux. If you're on another platform, Compose can also be installed as a Python package: From 989b2491b98d84423425a9151e0fa8ae7a73bc79 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 29 Jul 2015 15:42:57 +0100 Subject: [PATCH 056/221] Merge pull request #1780 from gheart/specify_api_version_via_env Allow API version specification via env var (cherry picked from commit 2759ab5ab6bbe81bb33151cf0fbc21862f0c9346) Signed-off-by: Aanand Prasad --- compose/cli/docker_client.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/compose/cli/docker_client.py b/compose/cli/docker_client.py index e513182fb..adee9365b 100644 --- a/compose/cli/docker_client.py +++ b/compose/cli/docker_client.py @@ -14,6 +14,8 @@ def docker_client(): cert_path = os.path.join(os.environ.get('HOME', ''), '.docker') base_url = os.environ.get('DOCKER_HOST') + api_version = os.environ.get('COMPOSE_API_VERSION', '1.18') + tls_config = None if os.environ.get('DOCKER_TLS_VERIFY', '') != '': @@ -32,4 +34,4 @@ def docker_client(): ) timeout = int(os.environ.get('DOCKER_CLIENT_TIMEOUT', 60)) - return Client(base_url=base_url, tls=tls_config, version='1.18', timeout=timeout) + return Client(base_url=base_url, tls=tls_config, version=api_version, timeout=timeout) From 49bafdc4cddaa785c1e04718db6f6a5f0e979658 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Wed, 29 Jul 2015 16:59:42 +0100 Subject: [PATCH 057/221] Merge pull request #1777 from aanand/update-api-version Update API version to 1.19 (cherry picked from commit 276e369c3167b4f5e189b33e8a55ff6fd7115142) Signed-off-by: Aanand Prasad --- Dockerfile | 6 ++---- compose/cli/docker_client.py | 2 +- docs/install.md | 2 +- tests/integration/service_test.py | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 738e0b997..a0e7f14f9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,16 +48,14 @@ RUN set -ex; \ rm -rf pip-7.0.1; \ rm pip-7.0.1.tar.gz -ENV ALL_DOCKER_VERSIONS 1.6.2 1.7.1 +ENV ALL_DOCKER_VERSIONS 1.7.1 RUN set -ex; \ - curl https://get.docker.com/builds/Linux/x86_64/docker-1.6.2 -o /usr/local/bin/docker-1.6.2; \ - chmod +x /usr/local/bin/docker-1.6.2; \ curl https://get.docker.com/builds/Linux/x86_64/docker-1.7.1 -o /usr/local/bin/docker-1.7.1; \ chmod +x /usr/local/bin/docker-1.7.1 # Set the default Docker to be run -RUN ln -s /usr/local/bin/docker-1.6.2 /usr/local/bin/docker +RUN ln -s /usr/local/bin/docker-1.7.1 /usr/local/bin/docker RUN useradd -d /home/user -m -s /bin/bash user WORKDIR /code/ diff --git a/compose/cli/docker_client.py b/compose/cli/docker_client.py index adee9365b..244bcbef2 100644 --- a/compose/cli/docker_client.py +++ b/compose/cli/docker_client.py @@ -14,7 +14,7 @@ def docker_client(): cert_path = os.path.join(os.environ.get('HOME', ''), '.docker') base_url = os.environ.get('DOCKER_HOST') - api_version = os.environ.get('COMPOSE_API_VERSION', '1.18') + api_version = os.environ.get('COMPOSE_API_VERSION', '1.19') tls_config = None diff --git a/docs/install.md b/docs/install.md index 38302485a..adb32fd50 100644 --- a/docs/install.md +++ b/docs/install.md @@ -17,7 +17,7 @@ Compose with a `curl` command. ## Install Docker -First, install Docker version 1.6 or greater: +First, install Docker version 1.7.1 or greater: - [Instructions for Mac OS X](http://docs.docker.com/installation/mac/) - [Instructions for Ubuntu](http://docs.docker.com/installation/ubuntulinux/) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 60e2eed1f..a901fc59a 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -121,7 +121,7 @@ class ServiceTest(DockerClientTestCase): service = self.create_service('db', cpu_shares=73) container = service.create_container() service.start_container(container) - self.assertEqual(container.inspect()['Config']['CpuShares'], 73) + self.assertEqual(container.get('HostConfig.CpuShares'), 73) def test_build_extra_hosts(self): # string @@ -183,7 +183,7 @@ class ServiceTest(DockerClientTestCase): service = self.create_service('db', cpuset='0') container = service.create_container() service.start_container(container) - self.assertEqual(container.inspect()['Config']['Cpuset'], '0') + self.assertEqual(container.get('HostConfig.CpusetCpus'), '0') def test_create_container_with_read_only_root_fs(self): read_only = True From ad922cd7a1af819be1ffedefb78045f54f7658e7 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 30 Jul 2015 09:59:08 +0100 Subject: [PATCH 058/221] Merge pull request #1787 from aanand/fix-duplicate-volume-bind Fix "Duplicate volume mount" error when config has trailing slashes (cherry picked from commit dc7bdd10d45093fff2d51ec20d67928a17f3a06f) Signed-off-by: Aanand Prasad --- compose/service.py | 12 +++++++---- tests/integration/service_test.py | 34 +++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/compose/service.py b/compose/service.py index b9b4ed3e0..2e0490a50 100644 --- a/compose/service.py +++ b/compose/service.py @@ -3,6 +3,7 @@ from __future__ import absolute_import from collections import namedtuple import logging import re +import os import sys from operator import attrgetter @@ -848,12 +849,15 @@ def parse_volume_spec(volume_config): "external:internal[:mode]" % volume_config) if len(parts) == 1: - return VolumeSpec(None, parts[0], 'rw') + external = None + internal = os.path.normpath(parts[0]) + else: + external = os.path.normpath(parts[0]) + internal = os.path.normpath(parts[1]) - if len(parts) == 2: - parts.append('rw') + mode = parts[2] if len(parts) == 3 else 'rw' - return VolumeSpec(*parts) + return VolumeSpec(external, internal, mode) # Ports diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index a901fc59a..b975fc00d 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -221,6 +221,40 @@ class ServiceTest(DockerClientTestCase): self.assertTrue(path.basename(actual_host_path) == path.basename(host_path), msg=("Last component differs: %s, %s" % (actual_host_path, host_path))) + def test_duplicate_volume_trailing_slash(self): + """ + When an image specifies a volume, and the Compose file specifies a host path + but adds a trailing slash, make sure that we don't create duplicate binds. + """ + host_path = '/tmp/data' + container_path = '/data' + volumes = ['{}:{}/'.format(host_path, container_path)] + + tmp_container = self.client.create_container( + 'busybox', 'true', + volumes={container_path: {}}, + labels={'com.docker.compose.test_image': 'true'}, + ) + image = self.client.commit(tmp_container)['Id'] + + service = self.create_service('db', image=image, volumes=volumes) + old_container = create_and_start_container(service) + + self.assertEqual( + old_container.get('Config.Volumes'), + {container_path: {}}, + ) + + service = self.create_service('db', image=image, volumes=volumes) + new_container = service.recreate_container(old_container) + + self.assertEqual( + new_container.get('Config.Volumes'), + {container_path: {}}, + ) + + self.assertEqual(service.containers(stopped=False), [new_container]) + @patch.dict(os.environ) def test_create_container_with_home_and_env_var_in_volume_path(self): os.environ['VOLUME_NAME'] = 'my-volume' From 5c853c4a2cec86f68c2157ace9b4f4853c3511bf Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 30 Jul 2015 07:18:57 -0700 Subject: [PATCH 059/221] Merge pull request #1794 from aanand/add-test-for-trailing-slash-volume-copy Add test for trailing slash volume copying bug (cherry picked from commit ea7276031c237c8c1f8bc6131102b5a73c29826e) Signed-off-by: Aanand Prasad --- tests/integration/service_test.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index b975fc00d..abab7c579 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -221,6 +221,18 @@ class ServiceTest(DockerClientTestCase): self.assertTrue(path.basename(actual_host_path) == path.basename(host_path), msg=("Last component differs: %s, %s" % (actual_host_path, host_path))) + def test_recreate_preserves_volume_with_trailing_slash(self): + """ + When the Compose file specifies a trailing slash in the container path, make + sure we copy the volume over when recreating. + """ + service = self.create_service('data', volumes=['/data/']) + old_container = create_and_start_container(service) + volume_path = old_container.get('Volumes')['/data'] + + new_container = service.recreate_container(old_container) + self.assertEqual(new_container.get('Volumes')['/data'], volume_path) + def test_duplicate_volume_trailing_slash(self): """ When an image specifies a volume, and the Compose file specifies a host path From 31cf63b37450eb3464c0c463cc9240dbdb149b79 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 31 Jul 2015 07:27:45 -0700 Subject: [PATCH 060/221] Merge pull request #1799 from d2bit/clean-rails-quickstart-guide-db-config Remove useless postgres 'port' configuration (cherry picked from commit b25f05bed4d8865c8d236576e99d8d44571702d4) Signed-off-by: Aanand Prasad --- docs/rails.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/rails.md b/docs/rails.md index 7394aadc8..9ce6c4a6f 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -40,8 +40,6 @@ Finally, `docker-compose.yml` is where the magic happens. This file describes th db: image: postgres - ports: - - "5432" web: build: . command: bundle exec rails s -p 3000 -b '0.0.0.0' From 3d6946417db4498297b44f570f23501686bc82a4 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 31 Jul 2015 16:28:46 +0100 Subject: [PATCH 061/221] Merge pull request #1800 from aanand/volume-driver-support Support volume_driver (cherry picked from commit 41b9df763925dee4f5702dc48ce18a76cbca19f2) Signed-off-by: Aanand Prasad --- compose/config.py | 3 ++- docs/yml.md | 10 +++++++++- tests/integration/service_test.py | 6 ++++++ tests/unit/config_test.py | 16 ++++++++++++++++ 4 files changed, 33 insertions(+), 2 deletions(-) diff --git a/compose/config.py b/compose/config.py index 064dadaec..af8983961 100644 --- a/compose/config.py +++ b/compose/config.py @@ -43,6 +43,7 @@ DOCKER_CONFIG_KEYS = [ 'stdin_open', 'tty', 'user', + 'volume_driver', 'volumes', 'volumes_from', 'working_dir', @@ -251,7 +252,7 @@ def process_container_options(service_dict, working_dir=None): if 'memswap_limit' in service_dict and 'mem_limit' not in service_dict: raise ConfigurationError("Invalid 'memswap_limit' configuration for %s service: when defining 'memswap_limit' you must set 'mem_limit' as well" % service_dict['name']) - if 'volumes' in service_dict: + if 'volumes' in service_dict and service_dict.get('volume_driver') is None: service_dict['volumes'] = resolve_volume_paths(service_dict['volumes'], working_dir=working_dir) if 'build' in service_dict: diff --git a/docs/yml.md b/docs/yml.md index f92b56825..f89d107bd 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -134,6 +134,12 @@ Mount paths as volumes, optionally specifying a path on the host machine - cache/:/tmp/cache - ~/configs:/etc/configs/:ro +You can mount a relative path on the host, which will expand relative to +the directory of the Compose configuration file being used. + +> Note: No path expansion will be done if you have also specified a +> `volume_driver`. + ### volumes_from Mount all of the volumes from another service or container. @@ -333,7 +339,7 @@ Override the default labeling scheme for each container. - label:user:USER - label:role:ROLE -### working\_dir, entrypoint, user, hostname, domainname, mac\_address, mem\_limit, memswap\_limit, privileged, restart, stdin\_open, tty, cpu\_shares, cpuset, read\_only +### working\_dir, entrypoint, user, hostname, domainname, mac\_address, mem\_limit, memswap\_limit, privileged, restart, stdin\_open, tty, cpu\_shares, cpuset, read\_only, volume\_driver Each of these is a single value, analogous to its [docker run](https://docs.docker.com/reference/run/) counterpart. @@ -360,6 +366,8 @@ Each of these is a single value, analogous to its tty: true read_only: true + volume_driver: mydriver +``` ## Compose documentation diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index abab7c579..8856d0245 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -117,6 +117,12 @@ class ServiceTest(DockerClientTestCase): service.start_container(container) self.assertIn('/var/db', container.get('Volumes')) + def test_create_container_with_volume_driver(self): + service = self.create_service('db', volume_driver='foodriver') + container = service.create_container() + service.start_container(container) + self.assertEqual('foodriver', container.get('Config.VolumeDriver')) + def test_create_container_with_cpu_shares(self): service = self.create_service('db', cpu_shares=73) container = service.create_container() diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index 281717db7..a2c17d725 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -72,6 +72,22 @@ class VolumePathTest(unittest.TestCase): d = make_service_dict('foo', {'volumes': ['~:/container/path']}, working_dir='.') self.assertEqual(d['volumes'], ['/home/user:/container/path']) + def test_named_volume_with_driver(self): + d = make_service_dict('foo', { + 'volumes': ['namedvolume:/data'], + 'volume_driver': 'foodriver', + }, working_dir='.') + self.assertEqual(d['volumes'], ['namedvolume:/data']) + + @mock.patch.dict(os.environ) + def test_named_volume_with_special_chars(self): + os.environ['NAME'] = 'surprise!' + d = make_service_dict('foo', { + 'volumes': ['~/${NAME}:/data'], + 'volume_driver': 'foodriver', + }, working_dir='.') + self.assertEqual(d['volumes'], ['~/${NAME}:/data']) + class MergePathMappingTest(object): def config_name(self): From 450ba978c171da5b673391d426db66a3f888a805 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 10 Aug 2015 12:48:25 +0100 Subject: [PATCH 062/221] Merge pull request #1812 from moxiegirl/install-update-for-1811 Closes #1811 for Toolbox (cherry picked from commit 6cb8e512f211696d6c1ba5482606d791eaf302a3) Signed-off-by: Aanand Prasad Conflicts: docs/install.md --- docker | Bin 0 -> 7741520 bytes docs/install.md | 78 ++++++++++++++++++++++++++++++------------------ 2 files changed, 49 insertions(+), 29 deletions(-) create mode 100755 docker diff --git a/docker b/docker new file mode 100755 index 0000000000000000000000000000000000000000..f24f3613f9f2b4db619a75df467e07b4dc37aa99 GIT binary patch literal 7741520 zcmeFa33yc1`9D5^0HcC8ZZ!%cgN_;%Feqx$VjT*|4FrvQP%NoS8&;!C5NpujB%0|k zmbPl`S8SJtd$^$Y|8J@6OA-yfg^v1;Lpb2<6Yuc6;?(RXg^KBc(|FTPF%UrhN7h@Lf}L`Sd9> z^>DJ=TXoSysZv3N;J0f0!~k*M)o=3TA6+r)ni;VlT%t;3w^vxJ+B5YFFVDO-_sx;* z)m%D#rfD#{y|8ZYTc_?XRl;bG`0wgBc`~58v~uf6c0$qKGD-=8ui1lWPNlL*miEI(hO;z@$K{iCxuYds3PI z(4J~Z-7)Z(=VYq(yG_aM?DoP(&5-+xH>z6UZ_U_4 zdzZ|brHab`?DjVHo+Zcdn;AIzxIm!h z&ozOKGkOK~!MzGy=P2CgA2G@@yZfX$(pK{6Zmt8acGF<=n z_g@VB7X$yrz<)9DUkv;g1OLUqe=+c13|wv}`yROnzPJ6I9~4~O#~JW)&p`WTJHDmb zPKB;tbZ)>-9%m<}M~dy_v>;DP?9`-4)NT`}+-@5sZo9e{-x07Hegd4@ZOiDx+HEaz zNKA@U*oku^m3E>$QiXQk|J}&}J24=_YQ;7l2c3p>D4#5k6xhkpkwQBuRZs#o!u*H6 zM@NeIufSP?ev5;#G_XoI(^cvj%NQj{OC@qD}Qe53E&@tvDI z3d;wH4E*e5uk#yb28MlLmpWF%uKjo?^n^15C|MX;g+g|sA=1oave&6z!Mjw!J9NQE zb-{;J!2`X5W2N9hm!M#Ia=x@wo@`JpC!dI@3J*t21B;}gTOx~bEKkgrA(jII4v*J_ zM2>Q;+Trt697^Je$VPp9NRAIjID9*S_T|_RAqwooEi!zLY>nK{2WfAKte5k1LH|ey zXdgJlA}-eda|W>ApUCg$^yg>{1(KmUJhPJ*1#K`}?0YCYjW>kz>;jZb?jwwv3LUV8 z2qg#2kJJbV!bD3VbL3(=xTIo#@=>VF*QC|(iN#h<8ZOO#1%`fuH&TPq(1-RP>_0f; zcI^e|z-3L7B3HZI8Yc0I*mQh5`fZ4Wac(u7$~(zkvu~IwH=8hCP51HA?83+zmdKVS zeOrdrp9Ql7YGEV_jwA+cInIw%@R$mv7HP>!hOT;#2%ucV>motGvJ$bOGXUuK%b96O zA!-4EQPS2Bxm_+Oa6j6Qi0W4$h-!#%6da;(Qi7D6uepgRPKAPBRR9)Xm?%rUMXcFL z)6pczGcFX|lOWQ#5a0o7vGc+3J{W9%1YHN5aBqd_tD6QyoOOp1@X-8!xV%w{u0ofT zxx~>ur9w?(cr&Aa=iH`XU}b)!my=ZOyzwv1HjRJmhlW$3k3Slh)soYEQxILcItin! z7nA@4Jc7_xLoEVrfc3#91D4fz32(WD`vN_>0+d(KX}^14Q~>*sVWd4=6!JnEMR#F4 z8KbIuIATjTUr1|FoLdcV67|W@bzXN3ckYc_sctaR3>Iu#fp%PeLa&OEmS}?9qG>^> zV}Q0FB-Dojmx{Y(mlBKYVwy%#AHAWaJ$e^7skM7~^e)cFMe?B1k3gDazi-Q-*LQeG zwA#n4hLq>cJrks=zVjs9A_%ucm{X>0fqj@CDV7To3@9&=3mTKQ(ISljXYzdn>|8Qk zIW5{~ShK|QcE?IPv5xpw^-WdN_;dEO4+`wOcIgt(D<%+wqlqRqr^mi*TvvkLmByfV z1&&nc(rp}v0=m)HXNq%r2V#z7q-Swl_pw1g_jDw)|SJ$ zw>`J7(oxW%R^#PC5;1fono?@jYCK!rI@!Gy13E&dc$Wu)5G5N)h(kNp8U5=#|2Yh% zr;LC3Aqs#h*3G++r-Pomd9G{M{w8<&y&>>-tt$p#LLp05?G$xHmP%|Jg~386JX@?3 zgj{swkzqnX0pnC20@jVC>^Ph2H)c_(_EdSLP7t)75?g)uKGg zt&!q>$elOWDistavqC3;t*8?cluxjhoKvg32UR6Ti3D#5tM=;IUKSoxp=U~nii}=< zlmX3~$gu*NvvZ+2GY6UiA2fw7G#6w*)1=z#(Frv0imFhHKYB>j<~$YpJ@vB-rE|~+ zJz)>dqI)nJ-X}Ea9LlgwRarsNWmP+_R3)3V8q#dEJ9_aQWN=*rtJI^b7ma~klBE|v zU5h#Zz__bEWd|B{VMfDyE4>I4tW*J%iSmH7GEusiwgFF!g@iNgY0R*bJke(%zxs;o zA;?%5Y4$a{O3rn&59teOR=H&~IcQcvqD`^^1={hX32#!e>Ha(cN1p;(thElSiDbl| z5XpeV{ahCTUHtamUneUp!mW0mAN zC3bRr6mFeOLf6Y+pb(+_H52F3le(aK$2UQ9cG@0&G}759vDs zuH3mmG{rQ;DoY{@IEdu5DxTlY^X~Ae#RhaprTsydPv>Xa?^LMaHWOlL;OPlEhplA4 zUz2U8^igapK+}R@paQfwm$>K-+rFgrHqa7q#_lBBE{p^@BDCn7tZ#VO>M!_H*jhvk zX>2X#d3Ugdc(S|L0wjw3YHW)7M3?mfJN}yJ`gU)HE`eI3OQ8Nb==#I)J}EEU0d#4r zi-7hh1hhE3h2Ry3&Aa4qmpVMZv!lbQ9-bGl_Hlk7heYr6skn)fg*!Sr(upteuYvzQ z`U3y9;Gf;rN~)yGaqbM3N)V1wFO5~gkqT}9;=4GdGD(G&)H0HRigGS#C34_jr4QPU zmSXq^;mv<-Mqp*ny!3D2DWK2!pYm?6*-}eI4m$q%S9b}yObGe)+}87-`v!!Ymrug= zI~F6b;kPxhUucGh$cc&UD5sljKV)#9K)OGW09>2`x&ecm*Sd)P&2|s5=fn(R_ri$n zr1t*dNGj!Gf&@}(IrA3X5rQ_sU1l=I$g44JZtQs0&yC6mt=u(TQQX5-C z`n9qg2fwF5q3@2ic%=yJFZvn`R-As|UxL6BfWWl#3C{D6#J~dSp&!Zpx3&plfA*q_ z*wa7v5c}m-2C)w{b1Z&DUW=L#kPr?C4)dLv2;I`RsaF5=p|tuPuhngzd9D85ZS_KF zm2z;?R;jUZ8pT*&(#K2l*G_$zj6eD-%j&OToJz@N}ky_nDNnbULmv44aa;V!*O(*T_4kgXVa{{KPhcl$g z6uaG`q&fm60-{IuK-OL zT9|@bxA)4?kxBwu)XKBG_D`H^1`E7b$swCQIX5Fiwlu9I9bp3nPp5MS*jaTUN?xWr9M~ zpD147oO>H%Q{oO}4YRg#kM3*hMegv6)$q?@*WDcc(QetUhJW6zyC42x zoeuv6P(Hnribomr_SZ1>AsHIT<7e=bv2RyD=C^OD&@U58dpbA2!$C2MOND;&yy0jj zNX|u9K6CeD#{8)v-#-tsBoUp{PUYXWLK#412f-#_AK@lr)smqkm2I+eE!cL@PG@T;8iAZ`6@X2?Y8NGwQa<97RYm z?)x4y_jOQ@oauOI9a7a$mfA%arob6@u8XrrHgpeX7m$H9&d$;21LZ z`5YH#@z=YDvm;*ea5hk%7dUr*z9*cm{#lneTeC*v>_=~9;B17rg+tC7nv1hT`6wG_ z!M8n}L7RL7KD+za2|k?JFA`^=j~or&D$H{DNcvOZ?jif1ZNPI*dkr{*9K>d2xvZ(s z&h;9$PQen@NF|*LZ8}Dg4Mdk2D(CQv1&UEm>jqMx`fssE7z5{9p8+D{GzQuei9YG6 zP*aIO`fX~jKItcw_p~1mh#(k@_esZ8OumZYcOX51hd$}!R4{%$f^m#1$DdmGSM5&( z)f^*|BiB5N^mKfAP)w|+50(El-IPaiPn3&NKNuC^p81GWb*;0%zf?nHBfvHD-)x8T z--|%;Va*JDqoh5KwmzyHNrTFcr9$6(S}zV*qLP@hK43{?BdL|_)o}StR2~hJt){uJ zmX!2DH9MT0lh(H-5E;vYhU4`50i>|lDl&fXmT{b~CX-X4U&oEx?8~G&C4V6Z<-ogNv=qFJh;^a4UwDV+q*!D{%NwhAg8 zwuqTt{0kBl^#TyIy0hwII7_X67xvvU1(QT{&X%YIhNg;gyh1ZSXN;mJs*|A~>C0jQ zoeWj!%MxCuLM^FLC=8^fLbFGCQR(YHBxO1Flx_$Yh0YN~I*dg)GxTsSYPDn;LKDE{ zG6V%lzkhrNNRqwYlSAmAJOHjRdLFix2q`2C7%B!mKT;qUtLO(-+NGPVR8OjMJcVWA zB&;%&OJpuVqJovOj)k_nf>2h;fR<>EmZ)JT)_ZVOgMfwODuRc82_BDYh~3l^GT8^O z^MmK0anMpdTM|A!M_FLyFX({TFj@|uepc`CX;cP7>0Iy-8vD9@x&e_oDDwNxTD0Tf zjRL2n^LE|Pu}c}aUbP*(FnhkLyF7o`!Q^@7*&#y3tVO&E6X9HNO1(syJ}M6=q`-Ew zTtHZz5x3-lO)v@0@JO1eW=vUO$D6};$1;}%=I?@X^$2JPX9(FhVu)BS@`CyOx6T3H z;P`t}56%m}Kn{VO5nOo4iXC`dF92z71%MlQo$U2MRi;)uSQx7tTJ3$-&&l0ymtN*) zE|E!vR$b?Divon)a>)Y(;cIHO`#)r*em`6eHM4uImI__jmlJ~-81mCS%!`0#UQou< zb;Zuf2Y~MLmM_9nCRO%l_>u|*o*JuYp9=kTlb1T1GFdASXW;#WPR!P%NKN|B%81^r z?4=k=o#@+zgf$v`@JYA9%X|$Mx(z8;-%hxgq>3Da5}cQu_v+=cD*HCEYLJTo%|n;GA~TUIAy^=DdJY z`#})%pB4Cb$Dex#oTGYTeOoH@_KtEK{Fxr7FDCnaT#^cHF#ZhU&!`)J!sDmWJL3c3 zD;0V*x1Hseu^q8+#0phjX8M)2~p zA7jw7KY>J6K>6-!fra$RnuKp=M=C0Z-n7i){jkz0M#I?tM_X95g zuG|Cei)RgRKjE|PV-7@X{D``;4jkw%F**CV3Ai<#cErqWJ7-|congXvpY%h!9Lp2X z&Z(^$+LvG)eb9a+hGocGVS`FfSYF_x?hA_{^Q=>{C3EbYUkO+FrMeB1->w@>&HmvjVi`O7qLcgP&A zDa+y&5ZEdeUd(Tr8RTmu=4m-=pmrytVR( zjmXcemZPf`#uDYZms4$mt5?{GRd!2rPy6w|U;5L>r+tWt7wf_Gc49sCaS2UCY_xx= z9258jBnPV7%HF)SKQ7S^6gQjfXf~bH-9gg?FK>A<9Ef&0hw7INZ{6J*-bw{(5f~0l zQtYsrIwg|`=ntcD^H#U91fbWe__#uNR*=uD1m@ZPXFajpBxskesy&|omnaK#F0G9$ zF$9JPCwxd*b`*odI_+RAHo`)XFdcy~$5pJyB@oS@32H+I=j35*mCV`Cfkwm`MtLI~ zluPkg4^9gf`db}V#S2HKz zWk|yR5}Cjf{>KAw5|hAZ>_hy*E66H5SfyLGEo;>*MCM8Rs4HNVxz zK-v6LZs4=oB?OG?s$eMr#)()~C31in5Z=X_3EVxvPL6^Ev{;P@=pi>T!j3r@pZmy_ zl8^^T0ht~D3Z3(ik$0tFuG>{?CgchJ+9(;Y^b@-P;)h$~3n^wISZM7)@y(>Mpzbrq z4z$l&=zQ`wUk987tENEN6sT$nlud#91O9II-$@UquI-t&Tq(=O&)~Z}`I;EE8#l!I z(GZo`rQfOTX(x{0P)eA?YOiIg{)5kH_x&C>Zk9Zf8#tvxmt3IkhW-A)1z<+#AEPf1 zVycGtPEHeSMlljmfQ%RAmkn>-Z#BF%cG3s$96!8sJa|v-4Bn=tox%I_rd)V`eZGNr zj^dFXP`BmOpwN;6^K@uLWOeERY&jM`t8~h0s?^doR$Qj1yqVt$g$n2TRwiHEQoljv z&L(P6q#PVjQl5CZ9Q+3EfF>?0UEAq2@NsCFtH2eSj-ecbhp#M$PT&ju9IGd z7T(y17UIimTAjnOiXE${`m4i%>d;RP;Hb}Gr~!6PeE7z1G<|>;AAKtP^r`UZbLXc- zdKN!94|hhNv(L+=&sW$*LGhE8Y`QmGsQhnB~+6S1U z`$NpBUp9X){Iw^K<*q+sjL84CKk^g<&wtAw*>b0b*Z3m_)K2VOm6D-sf5g?pGS3#v z@JEa`ravO{bV?ILkR*Xk5*bYlRZ2~~`eC1<4F9kDBRdy%MjzvZ{cqFfFowJT7JbSM zyoNpo)c-5`9QT+1D19c~(HVV?hOik|`|JAivTP>-w}#$Hm<@r?Z2l{7wtj~6+P_7g zCI6%0#hNtsP-H+=^ce(lu`BrVTwR0({#Jv;pHMn;l;aNg(n_$7mcn%O70h%Vq(&b; zNDi};WpFOE?KNJIkua-qnT##Qbd!>@Dp$%dT3=cC?3rH6L!QK+fYN={Y5IhjhKF4>$^H6MM}H5Az}Vq- zqOVG<367lA4=9sR=sB$R5^abq0XKnIj0g zBUp}9MfM0b!e{^bBS4eBU-o$FZqwr_QnCP|hRGkX3+)7u<)T%jQRvLf3d>3eg0cwH zkHwO&d^@3ann#8X{~&DeS`nj)wTVFcT?V9Vc(&ZSM|cED9y}Lz4iCg%!{Z_Kct2Zo z51vT|o+z`4aQmocl09S=zIJbwnvO4zw%W-kgrORN*aUeaIbBm1IU(eVS0p`0c3rDjcqrbakdjIp46F&_t=dwu~%m+Bd9 zJ1^jsN%(}l+ka;*t+ed;CMHp=#(RM5VIS~Sx)^jZRHOvdqZuOu<|3|N3;HEu2YbOt z4zUx@;AKUjbyki_l06u<37P+5C#M4A80o*)o_?P;eWr10v-#uMUugc=BR#Td(WAJV zwAkzFE@|=B;W@PEj}%#Fv>2uQ^Z!55f-;*;j}drTP4>5dJu{{Z*^XMK6r!}C;a1O} zfvrn~x196tRc5#lDd7wwglgeDpGBf5VChbOdRqnZMrcWUtT#&qn5ziqwR6(f`$>7* zdPG&g$&A1cOLtR4$|qIn&k8X~@A9j%-wb(oU&IzLDjkN_o z-WSI%Tgc|8EkD)#WV0=a!edjib8E44yu2DyUfs*7JRIRT5i@K2%O2fDcsD)<8t$4cj5cx`!lx4#Kh?c;U!o88|V zH+%N*>+}~vTi>L=>88IZm6}b55l5Jfx9nt|4LK-njS21oknL!zwu6vF$sf`VQtzG@ z$aH-Tcn=?rH=lo!Gz|fDdg0&k*s1`D=m2dd`l2 z3iJArkPK;K+>3vN8-!ODr-^yQknq|*@kxbMEkg(G)<9ezwUbk{<(r8kO{p@0oz*es zEoRJH4!yU`ckSCZ#J}-F{4}`n)NazCUrm=Zc(;EJ4F)DVr@>gfvibiJ8f44c^rVru zWN6LsnSptmz&Jf54CUJ6Wax2q6XGm4*U8Phb;+Q*`4n!h>=nb!JUDR2Jf`PcQ=v1q zUI5;r3wPjZqAt{r&*H6NJ3$98G}L|m$usi&gTKjh_iKi(c~n1tUo8J{*?Rt7WF)(o>%GT54g``>iG;lpVzt(NYF*%ZjrNC1OY-A4+A(3;E~!w zk7iP2fEugw_Z|T#^8xW4;p>7d7?y&eit#g5t9XbyK#P5;u2kUkd=SBosxi}M~Y#$ik*e9ohwx;JC8H zszgi6J3Z}7pSBY(Ljgo*4YJqmDo?aTn~q~U9j)kJS_G7Jzm-_UZrOEO`)ke=co-I@ zjpT=&yo#Ko&m%O9B^N)$p(HP^VKj_vT`TteNQDlbk?m?a`2(@)=xzAt*o+6f6L8ic z<3SH042@Yuy@7bDx>~(Ua?=4l1J2>nvcw3WJz$hzHs~DM4;2|o2|U^SyQE3;Z>2Nu zT=vjc6j_O#yqBO_OYdBR?)BX2uXqbuvFSeE1mK4Waj{1Fq?>vMpwy2C|4xb=uSnl- zBc7f$HR#OwA`qB3(Qa(E8fP&R1d>Jx41q*PcPN~|r4hU^XqIUwqz6OMX z^c*O34gwAf1~$U9$}x?*HMhapXwV&r+e|n;jLl&ESaS~l{2mLT*NqaJv~9WgS83~-q`I9%4HmceAww@zU8PNH0}U=IQp zR}+y;arLS_HK)(#f0m2eLp$xWc0S>Z3VFb8lnMp*eVx$zRV29yaghsgh^UFdc?Z-h z;3gB+B8gJrwWook%a)#z<>fdZ!3wGg(?EI&G7mzfZ2IhMaP2)j#|jP~lp1eSQo;-y z=HXqjyueko4$;TX%I+g2n{q`dXx$|1x#5J?9c7n(Ry&C80NJxI!;;%; z&zc6bI#rMwtPKDBQ@eEAta3DdL@9VKcW=T_@*J~x)=fVY#laxZ3k8{Ool}8VKCOKK zgk{g$RFC0G_Tg!q(7Uo4{?4;h=#cTJ1ACxw@qM_)fZ;Zg9dH)reV%|sw30KW1j8uY zE0TwjyST!AB`fGW14XDFlb_BaKZU_hKTJ$3%&H};0>ZqBe%Sm^r7F1`1_NCpDg#$w zTHTk~SdEzAK9lBXvJ)Ru-B=I439DTt071zx!$b?nb@c&fuSEn%C&(m%xvq>Ipy!K$ z2>|(RWMr#Ql>2ZoDN6_v5JMT;fqHBNaO*O>&^HhQZvfcjl>T3Cz`Y9)fuoB4v7{ z0_-95yTtXN=v&B+>K61ZVmm6>=9$eiS*4aoz{5^IGy-%NyDfV10W+{szfAM$JO~Nj zzhA`Sm>ySl3oDdrtLvYLG~;fdwg8#>H9X_OX&f+Rn$IXm?2}Lk=$L!u1hAkxM=iOx zvH?)7snENHIg5Xf=e`TNJGY-v$x3)Kf!gob$x7HUoWasn>NO3yKn09Xw-@e+`hIL94|GwiydoB}cz2yaW=XfAzfIHKwn(6mK0-xvcLv~df4iTi=^XfJ{Hm{qwLrwVM%WP`*MsG35Yl(u8akgf+vQso=RU2>1U9s_b` z!;|cn`Da5)$OVgloaoavQh$+h59>G5h8q@>cQeUiSm3^G+;}iKJw~iBW|HQLLzI&x z&TB;kZ>eq{UJxSt&2;wbx#6Czl8u$%{pE9EzqM z9-JMKJ1sDucyj36-HGeY@tuk5ZP&7DuDCvh_bjb_2vRiwoG83~-4SvIb}zDzX%{Tg zgn=Rf=jK&rG!RNBfVWk<;PdpOaA*vx&-0z1%_$b4Aaz}0u$H#dNuB~yP?Pb%C)ksp zj4?52eiCkb90sk#YrOp}BO!mnO5G=5w+sZceCH#5=R3K!S1GIX3@qt&!&OfiTQ@v` zq5CCOOOTP&L!mUgmec`bJxOgM3fu7xQ#T}aj*r8S*P_JwN=QF@OwoZW&k|Fp_(Y)e z`<3FQe=IzoD?*q^5)rEQbx^5As6>g-?b5nzwV<`3)o_eogiwwGT_fdkMCe}xQ;X33 zW3xnP@V7X8*+H*TvD;qI*G1IGVM65GC-~9I+7scQnMR$*k{r7lsxoZ|NrbBmVYGRh zcQXp&eUEE)Coj+1oyp4&=dfz7yxjb8hIuor!$rmByoc|6wa1(3g_`lJG2BiWUn9T& z-#9!!@_mf25&t>Vb@~Rc@l3|=?LA1Z0J96BHI9SMcVr0(heqT=2fM1D7g;9q*Agpf zwqg?=!6>sczsl@My%w}wUe}7OKPRF01AVct5kL+c7=f87LA>+MmCWG zl?vT3vvYv{I3@?6v0VUk#Wufq{8qYa8wK~7aQM9|tKldOWr=fa0iVLcD2{0SYbT}Q zsESIlot>7ybS>D>-);<(+H`+!{0Ylrb0I@7$4;_+x_PuQJe^WQI}{dP2CKvlc50B@ zrL8U&{fvfD7_3E8w?cO0_IG79PV4YUj-pS7ieC0aY-j# zyzUd_=Y8h`a1N9RR<;NZitPl&Sx=w_c?Q9Nm?KM9nCFa_<8)D8Xa-W{%0{Af8CA}l=8(mLbO^~1IK0_N#1mA6)Y(=PN0_i{Ih(gaoArk z&5graxZ!gubm2ZZao9bddfmG1pD8n`K)cmAYHvQDC{YEx$l<&MRkgqz!b`Bt0OzNN z_He-mj)JJ{2NOv!LXJ20Z!VgNDiV`@CqbssuXu|~F35FTf6$G|@)}vUL2Zbj!#=C= zTfH!AAQ5A%RB38s`)FdHLv7Nb026II?$?A51OSGng@Rlcg`UcNOh;C>^I~82XCQ-s zk>6!4H1zK49EgVl1UQ0&N@x5{s+L#+h^16W$FQUeLz2i!QmA^jCNG+rr9*p`muO1V z`5e#16Kx|h7j#bkGdrQS_jLNdkb^Z+QDJmC>O-fG1?4pxcBVBcB9O zbeTXc{*r)hf2A6x-H5KU>b~dHp32T4K_;LYO=hEv`T{Cslc6Uv0;+1Cu^Zk~;V|qP zQt^_;{fT461gIdUvw-SD`ga)t)wiUM-wCi9p447oy-<$Ku?;k`ljW-A&H^fmp$e$3 zVdZ$U(nXFxUbH#5LM)$vv}smh%(oB}4T!JgBv|=$R7b4PGMU9@hJPxB->; zo7x+^{?sgQ@UXtb^8AR5i8!*8zfu8Js{~X-x8wv=kHhF?R3TdL)d7|AD3K(le=;3P zE<1pE4k1HEZK#DBY9^?K<-iuS<fLJt>U!( z=CQ9O^3WIA{m)@Jk=^^-Skl*w@x+9Io`#0dI$*uh0ZOB0=>Q`LH*gGjviqqKi8`O@ z7~?zt7S0v*ckh$lBwHc)Ss>RZy%c5AJH6N{(9;8q4o%iycH~WIIZ|h*J2s8m| z3MqNkO+CQHT33EQS6BX)nh#7QS@{BBrx|q>!nC$TV02wbF$TYIkQLniiJrIC41NWo z1tX>v$gwwg#SG5hbB33C3Zx1BIz46c@!cvAQ3zoY0BX?{zpJQ5zyNGTNmlTF-ti?) zv<;CsZ-i)_T*>AZDQvpR*Yt1Y9+zoLs^p<1Y}X%STMbvS2*gz+8|A2HnxtHgWPe8& zWvb*4rCE|a8WKrj)ENKjIycUPVSr?{?!^K=o>wWp*R^J;bk@!#bjDmN4!H3v@C$1} z*N8*W9vds;OI8=tlMXtQ(kvh|0>+L~tJC_K&ODp-_XQ-H?t&C>n>k3D@kL1@;ihKL zS%GCRZcWybzzB|GCH^Fd3&)`?S`08z4uR2gc0$IjeUA5eA859n;~?D`R+`!f2Ko;y z0k~}mjPw@f#$e;+YN}M{*VnW1^o+#hAL|Jk2Qvxx>0M&r3#2ue(w#CPq?3axJVJra zROMYuUEi%Mqnn;hx7P(qM@oAEsP;RIXtX>a(dFIcy92Wk3l?VAl@JwYh!617152`c;$|JkhAn! z;@r4ekQph~@Jkd+FULQFj8}aAv;O|q6dfPJD9aSSF(Rib3O^xIfH+0iB37uloh3bH zEWw%}DE*>5{5uA0wYr=L(2I!dVOB;sGVEOa&yEf%)*?g) zn85N)&*Y46gy|1l=8HNMU3g2p2emPQ^P7)VyJ0Wt$cBH*k8<1#2Vbz+TO(0)F3pwBq-Wrr*e3hsf8lo9G^<&F+)yD;Ru%&=0AeGkJlur zU%*8*cq0H{0dL{fbcIhLGMB*m0pz4Ie%bWga+w})2^<2hQ@XC#-=e5NzKPnGz6Sc) zP(IPC$I6NXEQxp>@#+~ro`Gr37AZ)Q0tk?i5|5XBisVHi$&2t`p;O5A;>$}~v3B9_ z&g<*oMeT!I^2>&2l7R>NQS)^wKvl&l_Ud7uQ5tH7t;JHEvc$9HrOW1G#q%L{%Sv?m zraf)LKs({!)v-SEr6;~b){|#>A9E>b9Lp>_mZ47FvlEi%7nF4@n~*pk#QGQu2Rh*J zOh}zyWKY=;1ZS=$OYe}VGSt#e0|#lOT^#zfZqn$_DvH zN*>;O+Kk8(^xa`KOy`r1m8e^{eAv@`D{dv*!n%jKWp-j2Wif3v@Rc^zGCtUV{(F=q zUbN$1qGf)0WWtoE+46+ERb`yTJ%;hb4KJ}3Y`Iaot?m)C!lJx9fyjthRsu1DodaE! z<;lz7s^JxqYN8MuTq%aB1s@`3CEi6CG^yYM+Cp`WCa!^#fj!>QM&fxpzOq18sa|Ba zHAi{R5S%PQT9hZ=rR)}y@=?B;f)(d&bMe;wcHa`|bIBR9`9`bVvI!3Xh;tibbM}r! zt-mE2Vn+&c*AWG?_V*(;EnB=h=e|g;8JXzO{)%IpbNP_Mu;#MFj`Gs=b5B9#Kx~4Y znhLnLM`w+|T-yp@1B)O^x6eAdEH!w!UQll}Uc^YHqZ!rep0<<63Igy}5w{QDyoNnF zo8*B09(2~rDf&)-36l>@_ zG-ZW^4ni}?3lTL$GFP6lKWxm`MSn7#nbDtAI8RznNY4@)$j1=pVKE+7+s0)ACpBPI zd9qJ=qNm-_Vw)!tJL8F+IFYx7IrX!f-UI5eHquUf2}F>+qSj5%;2t(aVzc%!FW_q? z>I~~tUZdL+>sOB8imb!cAnVH#&1|y5POKrlt%e3x$Aap%Wl=f9$Kd3(>N=WEa3b@s zrC*ROS8*@FXgRGDmhczxUyw^;T(<1M;wVZFM2^!(c|bhrZ4O37IzldFeTIWmjQLQ>8fq9jc{{I^xh7|Osn zY^u$z#3-XTXLv2!V2{EIfHja@Oy(W=C|VDUJjNNFsONRENwM@|#nL1pSo)W2$j4$> zemV?-R~aU9!Of|D*Dk|S;#9A`C7c})b3!ul6(9TyI+yKY|L2l41OluM?t!?UTAqxC z%M(59w(pVePl0CjFP&*1K?f0v>S0)@LZzr=)FpJvl z9uw`d480z-u^RS9N6Ez{Xx>k1UUMbyVgjUJGr-lUy!{z{rILW8Po{%drCY5O611R= zyivl@Jiu5##d%to;ICNJivNQ5lo1xShjcDh45F#1*iVRLR5p)2kL4iaVuUKlKvqMA zw1?R*u^?8wRJCQyvt9^i-Kf4;Mb4t1b{h89Qm@sh*DOImV<@f0Hz_rO`e%8jx^u4@#O zF)&H7FSF`ADNDYteWb4COmaI+s(5mCD@XXX<;;T90y%qhrLapN{VuIVUV5d^Xxz&4 zK>9>==!t`{LF0Jt^cP5v=0V$+hrnLAb#TUpe>wL50&Q=?q8WuUAfjzfD$GgLoMb&p z$sDn~Wfv7^+)kL7{3Id-1{QO3)Q<1mrdR?Y1M@>%#@X^7+$hcr;g2DI9C4=+t7Ysk z$3D(K--Q>g6p=PyAtY}BbP-P>+LiMVO#%w%_-b5V8hWFH*N7AFY=n8%bDDyth;|k| z!==6XH|UUCoizYbHgwt`XfrefBafYS_rn@SXUibUA{D;4b+c%+@u^O%erim+b6NoGs77;t_SDmqP zE`Fxt)t>gvm_^stjF1$aNtmf}WvCzu{Jg$0gecn!IzL29$_GLTq_VdMY9&EY$u7_@ z_HRP1B2!BuG_0?BHKP`W7iQJjNFtQO2CqD*KCVO}t89eZ^UgGcZ zugX{NJj;_eQV02zROpoAlT<5c6^adgJFy|0PC}SMx9*3e9}I&@g6}7+ zM_IDYMjj!1j;_mdI7jkRZpZ6AxUn2|?Hf(-D*z#P%?0$eg+RdU%g5tsPyG~o&&ktd zB~%N1j4M#$;diq|l!ZY>hGePGtvkvfBeLewY@Q7FK1^&Cd!O8O_C1MM6=qndJ|%(+ zn~Nj}Em)5OLKIpF!KBZF-TKfhw~7)kUrFK+dk0na+jwEmX~gU%+=Je%-PR%pkfoaV zuOT~BnU8}JS{YV>bI1Y|M!$Rp;K+PWC=7}+NU^Qd6)-+^tRdeDcHYBBY)qYs>^j_A zf` zOAYzemo7SHUkP*oGi@ssMwTgz#FXQ1Fw$0FCq_VIYV;Vn6g}Sscy~z29ORmt_kUbV;Nk#9_#O;A_$TnAuZJAqXV7r%`r$1!Sfp)_A#G?-f$Sp<0aT)0Rvr1v?c3Mve+C>Akc zbt^Xt`LUhE`$0_1B(H;l!^|QUT*UrpgIS;zs0`XRvO(c{Fb7VeQzYD?uWr^x6v&tr36S?H~(E|LK{pN>V}KwLomhReq1QCAn*mu{equg6$3;qG|4eHm_g@}TTh`B+VlFmY6b5<(A!&Q$2h zbdD&F!|DKn2gr16h*j)>252y$D0t={r@J441v9DF1>nshVr3WJj{^c<)77&ciB89x z+(FL6C_fi3=4QjY@N^BYm`ixiB!a&taU*L34rJ4c{LbtfF|4?6oyjHxL3aBiO#3#+ z2qtYNDq#JJt(z{_8RrU2^HnM0wpxv6@-EW_^S|gB2;ik+P@r_R)!2?Jf`HP~K;pp> zXTh<&gW!!yn3HH$BPSAot&^|INpi)J`;o$SawcE_{pand2Pm@-wU&N=3M)5Mp)xM2 z`HFm_d~YnX=+%Qv(Z-W>(emW!HeM!=mSFuTG8gD!Cg96#e3~@=HpB(hr%K~%agkM2 z8keGt59^|6yuviTNY${dr5E!R{@K_)DzxCkY#-mbbEP**pv5cuk2z;#+kh*5Wr2|~ zh$v3CM_Nm(`>7ZIIbFkUrd)GYcGZ)8RWV+vTG2_>q4RU-uw#V>p^OGB5dSx2b)3jfD#@et^xoN5(himG8BJ)nESDs$7dEp26Qi`~LcZz{l3a zXRM(uv-f4JYWll=0o8$M0c_cQ^oRgoQ=VBVF{nzUntp!+80>ZLsg&N$Q(a`yHi-R5 z&a4vd-(Q|lw}P_;@ad7GqfK1X0>#r7B~k;52GSrI#%)Lu|GhE)Z$N ztJ+i>_1%}~*-g}FQra`YkN6(m!ofn?7lamW&lZe-_Y#~gexH&dTm3?umJ!qvV z_$lYwWOa?T^f>PIY26q{+c?7-mTTCH`Vv?@QVd8MeVSPTm`6y$)V zgU(ofH4aQ#K=9MGcN@F`E7M?|rwao{B}ZB;&#a{vRSTP|f%3CB@zx+ejRSij%MQ>n zm3pivx2-`>5H-*Pyc{%*gD^rA5J5bG^YBEdAvr$C0SC+J8|3x~sFTbsU#hYjfiC`5vmlPydAY1l~_D^Ce8PLy1<3lCm03_A}`*a`Al# zrP80Uagf&}Z{(^@a8ZF4R#|iC@#h)Y{P_$?uK3gF&8b>%&Qz>9TUc{z3~OKCwqN|v z9@GYvDP?xqd7oQLk5^pzV>G0cCAL5WSFXT+-Vkm1#n;uAiW9ZA#EYMM)|Lp9gU(@} zP(jFWeQXKOqMG`FE=G-H!KYw3krQFf{$FU-)93g=K&5|BY1UTClnY)ky*(~&S= z8ttB@42{HxdMHXwRoh?59!_uyLFSZA@ zbCsXF*Uk_Z21=_~SLneKD#HS2&;e|kmzePoC^$iZ7vdHXBJp3~`4q!`rezKAYj(?r zCDA6lZ5OTY$e*XIBIEZCG~;&jW4;RxXo`HF=f0 zu+<%J%Rk{Utn_&dTfIuiv8Zv}Py)^;_U0%LNpp%gNr!LadJ@kNu^8O zc*a_qW2t|@A|NGw)|B|Hdx~bFKXaoQEACK9x!AE98;Nn3l@$j%*Imq;+R4HgeB914 zkV9<#!+hO`#?=uYS}c7^grP>qb$TY0X*{GJ6GC!p`%6NQZeNdq@&cF*9ys?hPPKMB{8R@eFN(*8F|s!f+u)oK~oCUs74gbh-_(lZphn*9e^0 z+Zp90TGBs25a&$z9o3<8x*Uj&IcA_f7v5-uJ$dmy9SRu z6Pni8GJLHyt5g<2X#iG%e7kO!^pwfLe2a*^L%C>zDa(UwgELUCZvtdsQxw9hK?sw% zDoh2ecratCk5SwGjZBr4h4VTxp)}*B0fe-JZK!HAhxw@;!C40bgQ396F{Bst41#<3 zwU`EQDv-*}tVB0j61Pf*JYu{qcuVMCCOkrcDKcTWxd<82}P4p+K z=>{QBCI9)9Z|Q6oBZYU>n3ri6?G6c3N_h=0;rM`Q-8}XKR}g43ai+>G)aAfxZf@*G zDJS1!lAJslX$Hz6Sy~Wnn)+=!0X|XH$LZ>TA1~@K>Eqa_?To_08}f4r8K^j!AAxI* z<@^I?A3=UEbdJb=PTCj3&<*5!4e}ZjI(-jn&6P3i@;dG4!>Tq^fe zz1vqIu|f*Zm%`Zm`n^8UrfHaQ!yF?VpP8sMGsrioF%LrmxXeA$gvY-X)2YmDGhG#>l_~S517dmc>}IT`y<{qN-HqI*a+W#2JKMq z^f@@->I8LlAP@ORqQgM?k2Fp_((`%Hw<>+-5poq^)?6Y0vR+m^uwBnr-ZMnU15GGF zgS0@7*MeSkbnwg#emB*ep929C1~50g7poy%co9(DFQYNw`~(*pN%+byjVgOYCWWsy zlpF$sp*p=7tJl`m;?+2H1InS4S)(INgB%uwO|{Mo<_?=wVRFPeHX-m8KBg4WVm z!*#t(Ak2*^e1WjlIG;CwCA<#5EThw`9xrA&^e70$=m*flM?i(U2H$3N@wC!0!`6zcXrheNTJPA(bUbZ+GMa=c@Oz1{JeqqTH{we&i=?L0A;L(69@;` zeU6&yfM|(}9G;Dg; zO*30vxI5zJvq!~F&|t9mJ22?j2)x57WW1pivTD=uk@4Xl^1qvC!$kB%#AM)z5T4Hz#DjRM!+$C~KXF^y? zd__hu@a_woo$VbRK9&@2WPP!wVGgi@Y7n-%oi0EQHcnF^(?Qk5c{ZwG*z*}G=@1S3 zU;hZU;dajuc>6j$np?X1@(>)8AEr!9oNBMw8%dF=@lAQ~ z4r4vzPxqkrCbCsskg!2z?JDByQDCz$300^h@}|q#q~A@99mO&Nn=p0IxzsJwHmZpD zfD?kx87gO`{Y7)~d*JyjKw>bKjjz5(YJ8z>yqZs6&sc0T-dPtCmaq&M>Iy~_u(#_O z7?q;Kz@6_A2H+fsH#i@lDkfNq7A9F;L`S8-`IdsW5Z`O^KD{U)dhj8ix=Q;`KZsKyth8$Sf3AdHE@E7djmh%pD)zKCpyjS4Bi|uug!4YoDu;_BD6GJ`~5g2CFh|%y|$pl zS{jQWYpiyTq)LEV8%^KRhe0Yuy*CO5d^-t1M7ifQ@Yq39cPzfB?g;n0>ukChXrQNa>X@7tit^Z2W{wtC8C&cj0;XD$s#^ID@%>;^}`}2-U zLx7=?tc-JaI9sP8dXRmvK8`E75*$o&3PcV$+c!?vb1fw3p532buvTl8A6eXH_2l2CBj0+N0kkKp^kJlZ1@Wl)=O2zKhFJ9i#oyO zKH?4R4Q#+ofijapFj&H1l$bMrt!`AOKY_PlY@2NOtGYA&2u^X)ES+*ugLGWrj2^}8 zfUo2BM%_$0B054)r>L`tl~qd~2Rc2_LV9nMbsS_gMA9CBq&csftGBd+xtP_3y?4(u z@aT0)D~o3qk0y;Z&r}II&5#5t@Jy3{NS?Xll}>m@J!T#eJX3_S!ZWz?^Gv1T8E~q9 zh66}rO&NiYXC(P%?SW^|)NXj@L7Bklgl8(;YMt=RHB!q*I>Lu7?u2LHu_&IY)GUHg z(KOJ`DW0iFH^afq;2G839(kq!Yq9pgGitnOX^{{lOKUmLBPXSJ=3y)%_ju-Rb0s_j zyB`0z!ybeItxsPB22Wp!f6hEp=;7_~lb=ri@^kT;&&GiiRX>gt8W9c)R)LB|m#?@M z$k%8KvcE>_&rhj*ec%3`|0hevK|b(IkgYqvd5LyUd$pkd^1___>9dD={x&5!K@k$q zRp6S$JTbk)hhcKX6i`F+4aV9Ym`fG25I5hBW1pV?r{J4z+7GkYBGW!P((RW>`+O)p z6*^NlqNli7sGQy20MnlFr4_trShpuF7dVmkr4|3Dg$P~_e9s=D#~+5JeIayufDk(W zjQS)v8)yu=Q0e#93SQ?0w(w)6d?)_$>_vrxJuQi99uJR}H@ zGlRI1X!W--4LCsSAvtMh-uYz$?-1d|w=7_ULz= zpMF>R>9-JV*h!auaDqrbnN(Et<2QD->*F$@~v-3$-6Zrf4y5udbr7z$0hi5s>maD+=CxG z?1M7K+=pXAq6~s1KGs2;oq%$x5%!1fLYm?trCm25#F&sA4~>rfHsd?OR_bNY8?P?J zzYNYQWMG(wuRzO0N$nBbuLk$8a!8UYPx^EgpR=Fk$eDsbvejI%{o+4uy-G;Z5+5Pp zf+?vEA}vr05kACD7BQ8ML@;*z7z~vSttUYsfDxlU@L07+fh}{4R5(!+fMKlzUrH8G zw3f!kE3Hjr*Tm}za+5^>dsMcTwJjqHU|$C2BnL=|)h6rGC~68@6yVua|GPAo8=qWe;gd6gf ze|&R3-uf@gTVt;5B<6oH>en$Fg|04Tzrv+w;|z=mv#5HVi6(Ge>2*6v-|_n8i>WN* zb#hBaXD6tI5wjd5obP~ z?hq`wfPhAQB5n&;=d!YlFjICAz^n!Fk?;Qjc_8sjdN4BNSO9hp!sd~f!?+bkOt~My zL+`XD!E{%842+?F+4gh9zMbjY3;p_bLf87XC*~3}_3eA;r*nOK-0tt9)hk)eOD{f7Ft{Rp4_J-OTZHv`sA^>7Bl_o$DL z&(O!1&(3AyOnsaMfY!@j`t|ZZGxhSb;PVW<%)~5ic>0m6OmM?fkH5kVqltH`muI

bsWYWrI+`X5&cK>^5XxLUbbDmEE5R-t9tp& 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�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 z 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≫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

47hjiq|LXYE{U-u<8;T1F4 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ξqM15e+T0QhNUB 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¥L`eg-&{%s!}S6JUzdb?|jdL6+pvs!ud>kI0+cx6pHAQAc~@c&f-yIMuCTv zmvLHN1a>sd

pHyn|oSzjFmfL@fM0VPOuw7C5gxFGe*9aptC?s(t~fb{=lPbo#Cc z*UfbLN*vlgojXycN=4^G^)*qxnm^(GhRfs{!+`C$buNjN%Y9>%6!>ELABq1udGnX@ zCy4mtL*I~0$)>fLoW@>T+MLF+!|YDu_g5lLV>3Ww1{ZhsBvIZOp9zAe zwy;5PR2m4z2n5Y@zsLHUUYOox-YTp4!0$*KPEi(1x*sChp?Sh8-dx;#Ile)k$b4YW z!zDjEVO1?2a=qge`PPRN_{4ZR?#t2~Oc}@KevBTlzO*m-55ea{_y;U6cP{1GAmQ^WAaWe{*w#=E=+o(%xS%+)m{i7b+=w1HLC7uOD8Dc3>(Hfynt{a<&!n6kJ}z z7v3hQ%0`nuir1fH4%V7T&~U!a%y6cL?|?-*kUE9)*MH#S;0#=c!72(aB%nY;GBY&e zsl2XHJnoI#@pxl_k`{B)kUpnul7?$oX1MYW!yzjnxX#--EnFAnM(Eok4P3ivxNwXb z`J-2wsZ-Lbc8jM@$&c^bcy))Y(fRRIf0znvY!fD*k03yMmI(`MachCI9IMtbNIy8M zWwEnFuBibc6UHp1^lu!dSbsRrKu7MbuB+H;Y~6&(L9_urCCP0V_Th*VFUTjiVcD?w zP3HcD+hxM-S6KLh@6>^~%cI=>`hkqxp8Q>u+nWqZOV!+d5vo2Vn*ix5Q}o&<6Xtw^ zZIxU*HD4Bi=iw+8V4>4+l8jWOYi?pXBdg_8X9gCKqe3cgx2v>$2&v5Nn?*V=O4E6{ zbPm$^KH>SN{)g)M7*JW~CJJ@v>bwjDemz>Pa#@F)1PHmFk%j4`}pyaXjH%r+PkxJH10=i?<0TnKf_H`_`*vMJkn z2|Gb$dksx#8vGB`_~#R~BK9exYRpb$IqN=Dn8$n9`at+`HD9g}hwvnCoP%Ax1uAz?k8!nsw*R>-VHHx7WIH{hNqzTu7E+hw zhe-{l38{bj%1`PM*wGmxwV)lwx2M4u4qgPDYUqyCaZ$l)yi+L`JflcZNA&ZIeo|

QZl-6QaW>p$1Ykj=Nd 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

AT3*68m}>Oe5g6XaHaZiEX5$MEVrK zX+*(JU&#UY;25}^UB`DAW2ZbaG?sid1N}q~h6OXp7wnd}?Q}!p<k-Tpp;DaQq-g9zi05g!hLQ;?F?kmfiEiz|2g@ecg}^mwUYR0f^c-X=G+$-qv% z|6ozHPAEny99tl;AI38dja1^{;j^ZR7P>>};6&MCvpKd-*piiA){nte5nf|(bxVg1 zu6P@6Na{u&yldw>@8M63oc)RLBdKwNAbj`>G!nGo&S3%}eVy>QL`>Cr0+ zW_TvO@C(cEQo6l2eZ~t?Bj$fb<6cfLpHxpEf~oo=s(EQ<#R)rxkD-RB!_fbwA=1~^>Knq*xh4v|7yBX~W4n7hlQ z;%;1I-{vajZC5k7TGD{c{efS63#f9S!oew#vJSy=d+kq%B&;kGP#vn;EL7Kxy4D3z zi$P?&dqapwb%;t;y16@Lhm;9Zbo3(J5HylN8qjTo^RN=dCC;CV>b)M zY;&RvFo~Fz2p*^FmM4SGe+;g9LnKJDohBoEp>+$c5WdYU=%c90yose$YU)+=k5X76SE$h^Q+2o_3bcI3_nB0 zBh%h)vaWRD${)K$D)7fN1(d&ZX12P$IA8fwTW^A3L9x7p@ew;EX6T7E>9vULP>c^5 z&#!*ptOI%Mtm;JWY6x;^HTWl04O*2~TX2XcxUpTH{l+$7QgIYoz{mzqZLEVHsluFJ zb^A&#aKNi(9(jrQ$ln1c+@+};WM4D>pbBKhnT{*i zM~qS_BULFfhFgN}(;tKKk`)J{;Gapa#SsSL!%2xo>bL)-C$3GU2Yi`s-@T0G6|F%d zAVcR%+^EY}taYWcUMPsoG_hGjY}WRNO^O9{$ijidT*vLS_tO?P0memc6Rd$pw30&) zH&oJi9OIW*eC^PmgK5I}TIN7#n-kD+884jxiQynF1FNnJRqxw-18@!XrT9re7a;fo z2!vfrv@Am-6yG*p^Av-BEK&Q1Y5nqM6a0eyyuHWm46K1FZs)UA6Tn5pxQljX2AdJm ziGN^n-y}~d_Y-)21I`C{b~K=3H6bsBg{l5=(_3Or8I9OM$zXPPCkj zi)}~~Psmo%74b1fg0;9pDc^oEoI40CZ*>n(1ygx@cxIX_Io-C`bf|wGB=lZ*;g>YoR>Lyf&?vR;V( zX|o&nJ5`h^b5CeHX=cC(x<#F;uY#|^0)_~42fI*1qE&Z}m{HIC0`mta)=H%2D%K>c zLO1|oBtz<^WrDSXGqcCZkH^-8a2jLhDI8yDyWw(>YJxsPpjBdYGM(YkP4T=uC9W~` zRR{{*j~JvaHwb)Q9)5!9=QUW%(r!@Cz_mIUj4uT)5kv-K|MXZ4ZaY%iyewg;Z zc340CkJlspFHlLMj2-`{MbPPtgAFUh62v{RnaS-8SDXt~#Z**k%-#z+Eu1P{= zany0uO`>H1#-mtHg|)XT^|CjwX!7CxqhDt6i1zIf(E8)W8sDNe!0q*RJD<14onK9y z@bHhYK0?@$t z$pav;ClrJvh|i4&6Ut7eHY{~x%T#yJK_%3g6Jec++;`=HZ&CSJTcc9B_2`^cJ+SPd z^ip(#~*9K5j!(a_k)Y|5E=D4;ik znN91V=&QLpPVgT}*^K^MaDJMOY)S+X{w=j*ksCIaUIG^spr2Ljw6>w64gy?f{sY_h zT2Ns2T2NG?mNLcbdy{g@&xb}u_2{~+__N7WixJER1c??NO&V1mag^3?lZKJC`v(Ob zJd|(k@)wn)SS|WfE?1ng#%qv#aK}Q{uI_|_rl}pMMiu>-rQ2n;#YaPxD&3x{ZtPDB zR{7P|?pRhEB$JO6a(%Q{>$Y|)Pg-wlhf(cHiDJZf%NsATG%!6)>{6V)U=Z!Z96W`w zlYPH1L2E{nkdX-jJ1r;i(`2KX$OP(qKo{tdXnBywdxxCuHG>@h5)pkV=I(NdUP*HH zIrO0)qCZhyi0Bh*3sPv^M4xvZ3-#yXRGwO}%C9E+$*dON54~dt;2QcQ(p6|{eTe?< z1PZc;3mS#^A!2!jUXB|RxH=2z>OhJFjiP2}3z^4m|L(5H&tbUR4GUyK6h8nRBJxxs z70$LP^qCsi@f~D?l8<@~421Z@48>Qm6jLG5Dn#|owR$+86zq{*s=693wr(b$F;dkN z^oJb9r0OXSh*sN;bRQ3& ziVDxc>()Q>@I}#OP7wF5n|Xrd_8m5{f>WiI$|JD|+MVa>ls!tR4pUSu4T2U8m(mhV zk$VfJ2FWQiQ$RXah9xd$$*IJu&T_PzyMgp379+R0!S<0pOnwlukO!6#4j5VV(^l`{ zro{FBR!P%juOX+&yUw610x|{6o*NW!&tJI#>Z6he9y+CS$&ZJdX!($ddo96gsiKgp zO>@=!AgTR0^diLo`XNyO3==h^pD8A+6Bvm>%WkdA33zjR7sntj|0FV!EVHFt$!U!G{&~5=6pIbM&Sm z-5&PlI=Za@RoY+5vI6R80~J|;V(rzbmK8i<3@BN@oUT}G;N1AP9t>vzM~Oq699D01 z0?KN9umb~w5f9GYRlbU|;(@TpYeUgKR5rbFuUzOd_nsK8LbF3oAY`B|4rOLeXzmm# zQcgOSv)^X6sg8KIMus~S;hzFM2sVQ2qV;JqiaA}{HTx(Y9ft=+i7O7{iy(R7#Td`g zKQ%wfj$&yO6obKd&E>#!V2?#(t)UC=V-n#JOv_jdeONA6Of*V$$;Y;hOhA*oBAeA8 zt?URoS(HkPgE|n-I>~3F+T&gp ze7iP+tYR%5{Ygq4hoC)kYKe5uR|cH50gf!&n4WAbXr zoTz*u6SwF_^F-^$7SfHW>;^xN@xIKujUCxd3$@xWkHCmJ(ek*>WqH8zItzoU!gf9L zLCq?dL=ZSd!IS_pe0~A58ov8%o|1s^!{-W37!!7bHX;^8!Et&9nxhDX_+z@*r(<}M zY5mOw#>pV?4}jJaMLn`L{lJp~A*<`=8hGzBbXz6!kIj%VhR>m9>M4ea7Wq_dW&;&{ zSsG%qoZ#CM>BDSwks)2ByoWPYEC$eBI7yu;-s%wRET;0}MVJeaYA_cdSMOSo-#tUe zOxsDF${JnF9CHU07GnqjL^$bt@$6)7U`yMRtaGhVbqk*C&T|W<4G-M{8CLk^1ehNu z6$0oh_9z%zDqrseqjDU>W|R%i6(G%$h*~7CyUVXs!p5`iZCQnfg}o%}$&z(EY7J%^ zzPVvFTxPYJaKHdSgT`DUS6-lng_gCPS;eD}7QVQmFEA1?Lai0d+Rbv3^-0Mpz)WK7 zwZ4*2ktva`G9y(F^KPpG4c~$*R=}87iJK&`EHW6(KqY1>N^G`MSg_+Fj1xNDwXj59 z=lkigGZ|a8sj}T->CYK#wdeQ6(w8tjD4RirSi=2%Ua-33mDq&a@j3^$BQL|U#j!Ut zI2Biv-IkOnRF#M@Y z!H>B?dj%u*yMuPU)D6W>23rucr|4WiKtnEbns?jV+jW?5xD|4krXBZXCY)@hi?OJ# zs07(;r<=c65J=!*(y4v4^|m{;^)~Eyu-0!Abta*Qu<3L_t(a@G-Qbgp#i*gj6F3%> zXn=V0>jzU=9HwyO8Mf(eHolE)X*wqApHLA%C$2J-g4v_R6D96X8A@3-;X0tCy*uM@ zZV)PpB4?0>A(wobmJ^{}qUD#Y4*Ba@O^?)RYZ1|g3KTwG#OFcs@0}?$4d?ynbJ++3 zx0q$b4!}eU)l>cgmm2Y*R6%`Csz6*rFPAr7QI)t|3~Cf%=%#%*Ib_VAltw)N$!PQ^ zsm3oEMX%DTFb>F)B#cr4DyS`;_x1i=7r-yX9M|6;V-8e?hQ;}mWpWZI+N0sWbW0n{ zYI%V6yV!?BOk_qp^qC?sn`pUJo`~B#*AU34_H08QEec?&BgvLAD>?{E>DP}j4%;$O zBYx$~SiyJVU>j$5qfjB>SMUtMX^WM!`w=@k?@2(A}`gguCn(F@y{J_4$zdMwa zMSqFS((HDeMGBIqrgS|HlAB)~6+7l5Uu>Ec1L{#W`#cn4r`spiwpT@~sT>DppTGr` z9p0;>C?x-NQB?2BkA1zPrCxZl*;*DfJ@*ClXQz9qJ3>IGdpvdrjPVzZpLKo0i-$s$ z@jTzEXcCNLKgJH3pNUFIV1K|)<|Og-MA8t70Hh&`4u0x+VSXs0aKU`@UPX;qj)x%w z$eZFHL_>BS&=4Kd21uK+&6<@*zkK-i@$dopeh5!i43dAG>c`-XU{Z|HP`eJmYmY+J zfUVD(M$U}KVqEUKXXwOEB|oNNCvrgAsC7hH$Xs$WmLC^_5A*fT?7_8%m^~2T&4cs# zDF$a8#CvKAg6J+veJrd7X<&>yGl_!Bb?A@+ppc7!;PFE!4D*Pd`{Q?iE&4E18_jbMz-b6rd`(%b(N%Lpwf(?oQ+_UR00VI*SA0b7(^e)%`$O73q-cT9sn4MP-=g{tlG~hbgoEfKsvcvo zPmTYw<5UUYD8H(S7a z)=CFPG%o_ zPAmp=G9YAN14sqqaR>p-cC&P5>~Rx7_;GIXxs;9hQX|zEF_{^=7hgiDpw!qsEnVu$ z?xs%hHE5}Dg~E<(uSQxQzA2;2G38+IouHD?1h;_QTs1&&FJ4afew^BQ6{Vl&|Gi|YANO39Zn5+ou zHl#CqypSbXV1msle}*7shAhBiGiy9*hJHjH6}GY^opRgLq7#846E-mcWCLMdtAaz^ zdnW@7z+cXuRD=u@BUz&58hWw)lI`EWjCCYPUi?%FKm)fy^6s-K`>J?`NndEH_T7i* z6jz82@4o7Kzd15=y=R^q66B>wGUm4+FEExB!rc zUk;Vw{;|qW>-ClYd2hl*a5iT_^S`?ptQe5}11`XG_>1(T`rDuHWBztUVqWrt*VEjz z)rhm=l5a?Q;AEbRRP#sH$K$6);;>;A(+p*1FYquU_kp*$kkBJ6Q4B8;2Dgk^_ zPRT4md%#SPEdQb936fu2&oC|p;M@AH`l9XgOrX2()x0*A|7aa;Y^n9!Jfsh-=j7MZ zu&#QZx=>(!vAjGVp3(XBl&-6ujMj7PEBOceyH{Sx>({Dd*U_(oP|t%yUS63l8YmoK z9F)&L3-&VpNm01~@1~gWi9pWHm7o}3RH__o{YPqL@qThLkI`u>mVm+pg~VkQ{dFTt zn5C}*B&kKl;k}Re#BW0Gj@y6b@2xz1Y1U$kdu|t~c1!bn-FOOJ%_TqF!IjQ@8(&1n z$yEy{Pob;=Zt5hu(PD0(mC#3t+Di-=U2&t2g7pSZ*05*MsYsQHdB>L|=GB)}RrWUW zG^u*{j*HXS9eMn>@c3JKkC}nTO{IClEn*3}=2P&@r<-Ewwph9|mYxwyGd}Li&hhCWx%-alkh{6a<>CGYr_xR0nXV+Ut2m zp){^+*>5WuPir*Yc7QG803n?omrVq}MSsX*bvjY?Cs~vSL&y^&Nk$*sY1gkG^1e-q zFmzxGCpn67cMYXwCO3fm(Crq{LRaT7zf76zi`seYS)xU`j?D_QG@outRT_^jw1iOBbYMck8+yk9P$*-|mw_t-rN%J=FRz%9c)J)lF|Y*Gb`QINRP z7L$h%iS^x{u7eYcb#ynQ|lglg73%7 zg?iM%ADq*PKs2UbnF%6akEOa~by=b@KP zd?L2?@LwuJ*76qqrh#%joLL?k;-34vpz2n>=N z%T^unCr(?sxd6z4%(bsl@zODPXE*I(Y4#Kfy4mh+kS4be5bxUKlM2YaJ(Mm_XaMm} zS<~XdkPhJ=c)r3nkP_vWMe%QQelo~LlOS%n61dY`z?l9 zr~?5)1@#>i#MSM|T`M>>copxXXv{HzTaKb8ri>n%m3tQyHO^d{B zX0}3zj!EU{kiun)2hal*5Z_VEW3pT^8qBfUx6C7nGRF0gCP zd2|=tR@ad8=spz0B;3)w49Y%*NjO}t!UZ^telhzvzHGIP|2N;&#{WW6=)G<$K=EJd z)8I^HM&;5OcrNP2O&OFgbDGZv(aktz^2h0RjNGB6Al_puyZSCSAADGRO)gXixm46o zHxu~fz%p$yL6x1UU3_O$nI&nX${f2Xac^S2klVnpy$+Jf6k9!7U(fv`@Kr4$o=puotk9;=^+o^@vf`opQJ+Y6H<#BtUawDMYjB5s&9mSNld5m{M;; zVl+JF8u$Xzgjw*(YeHZuArUFrkmY?F@IET0v$&z&o-61tP z&V@=t_Wh83pfv4y%wl*zhW6hWJ+N4G?kslNKNi>eb;6#v#%QM5Z?ldduBhiAd8}VR zgettED0c7eL=#Kf0jNt!k`$q%c0tiDL5_uxRMl_@Hjew~g5>@8=8tfr@YFYu9SVk{gxcf`mAIy2L1Q89KstUp8;P`prOnBb2rVYjTf`t z!&Wk8)}7q+2cu{*4x!g9F*C%9)`%?gQ95WQ>yu_$*CzA2d4 z$i0mv;<&snm+XHLU~vL1V-Yag|4hV>p5FxVqg#H4+nz^XMTlZw z6@=tM1>6*q{R@8)zDN<_-W8vk^AV^UG}c7Q=};TqRL2 zi6B{ak&XGT{~;k1u9xw9IOe;OB>;L8uO5+Yc7yqQnXi~Y>&U;%kX@hg!@ki}dHAx0 ziWEu+=qgbissVj0J4pVd)6e-N=lm@ivc2}SAF}PWy#iR;JIjyPaAGrH&ZWr!M*eAs zFI`1q`{`Po?nAWRBBwRXR8I?AZz+}_+dr9=(|19RMhcRnE{M^^r2dqbL()VcaKCpj za-2l{G_Q_G^Xb0f3TWC=KOCRIG)Pl}t0ZbAf%&TojWk7^W?mO*q&iO;sZV%({?A!1 zMw)9OvN|FMX^!oWG&X#UNYi~qNSaOWi%4@AYExmlp=>=!(|C*q8zEJ{JRqMgBMj6k z4&6#fjsCQSf#n{-l6ic6Z15;ztM_L2ce!_STOL!gzefR*BtNEoc&2bn`}8QLUBaSpf?*8kP?h#mLZaZQsEw$^8<&4|6ui@G zqvN2Bv~&2+$M108Kd8ts9)2DfJ(C{~|FJyv@$f|JKD=MgnE0j$yGI_hy1-#`a>`@o z7&xH^!BY(5?~f5nne*`Yh*ExZwDoR5+p(kqBd;=m5{8$!ysY%Fz+z&XTsIWJilRZY? z0In~6WnF(%whj20=lj!DrV^v$%^%ZUVHzXCrScGms`&hCU1!EG1U)b7prh!igf?i zn4>?wgmVhNPW1~uLKJ8LQIg|}KS(EbT=YTWTZ7Bo1{V<$tnQN5Ih=vb0s^B28gtkS zE|KQA>dGyd4{w+ADZJtyUIX)+`wqw)U(0~(1*ZB8$SS3}={8*N@JCuLdN*3Zqb-5Z z?!>LBB;x}zEe_8N5Y1-;U`w!p&CiSen8kS$eBXTveS#cE0d&yvHXy4KScrDKN!v}z z9om|+dIv3$JJ<+0gHaY-$h}*OV{<}D47;~qh#Up5D@*ufa^p-P#=n1_D97x^nNs$d z4-zNc|3RW;L~y~bMIR)NUx*6FEay&LIX-H6`ia$)?=;5vyIwpTaX}m-3wZbhOj8AP zpOv^`C1Hykltq$fG#uVFMHeS9ccKiPaGv zgC-=x{J`6Vcx9KZz5%aH1;B*Y!%Uc$#F}8lJ9}e7JYdw4RsBg%D4_uPV zfwnlQi4*{<&f*nl6+ywh2rTY<hyZi8D2T51 zbqed6p9ldKzZKOO5#Xf4HGVY#ZqZuLYK&M_M+L;*`lx{M_`Y3SjA0+ezUI#-ogmsc zamDrIWUiE>=DQ-0J9_lZYj#ZpjF7ok59vjXBg>%8Oyg#Te0jv7prbkRxE3QLv`x8Q z#J`5psbFommhuYtRdG**fI_*^;{w&OzGMRHhaEu!&}S0p_9N-7%215ed4E@`qQA@5 zYovax;z!f9%p^-iS}X#Gv6I`gigjZVmOwy6WKLqo*Ctv<@X>YYPu8UI*`&-NuwrKw zr$@VV;;x19qgxlr(XGqU3s>98tjkq%ozX34vjR;Q|0LZG>va1bY%0VN_fPhrA>dq1 zPWN#djU6yf^UmjFK~XvrxE@?0jg+lwNwNErMAi4AG z^^${1SfShF*SY$}Z(GzhVetqS9El;59`K`~t)$uZ*)}<#kcK&7U)sU}&}Fwp1E8Hy zfm(}iZANrjPriCUZmOUM9U7t*;Dm?{vUB~0$*iuy^kj>5*NJD zqK(U~w>4-`(V(K>8Wr_MV~yex6eZRzDk{}PX&Y=X3FR7IrPfw#QBzmcSh1pFi#E#Y z9(UYvf3K)utr~IR|2*fMdEfUgfk6BH{qG0z?lWi3K4;F%#9Ft~tAwFpBVN+>ZG(4{ zo+VjkHP+o0=j6GK`Nd-_8){Dupz17MLL^k7nume)1KxJp$!uMbKYt5CAN5T1TPnLM z@{YJA+`&Su>Yx+(y3;-6!#QTvG_W*Ej4GX3m-6U<5gv3Zp8Skb)a)R->UaE_gbTvj zleR7ek|fEs#`(wKjWL$OGZF0s*#R@z~cz+|zV zx%O9P6!=J4&`#vegbM;B5;L6zIvT8rG`npS(!?kfkj7F+0H5Fh>yN$fNE6C(kw19Q zI#K76B75`1Y{LKEXjgUr#EJ?}-b$Wa{3x72qE`+*%iNFOF}y+* ziJd}Sa0is-j%G>3Z?S)4@jBsmrOX41KeQ~LM32s2R^STe(Yftf-Z?>eE+NX_pr^us z-X0YAXco2x1>RTOlyz4T%j-e>p6tBYT^G5!Reg%%7{+KDQ?Asl1*!;20Ts>Dh!Ap1XcVB7M<2tJB{^^4m9LOiTmj z=^K^gCn(9av(fU)wUT@(Fb6r`0RwwUw40a8ExRenp-dp>wtSTHG;&D3+nagx=R5e+ zU%1IS5qnFHjCk?4-^eG~zsg_Mnn=6oC|2JyDZZ*(KT@3fOOWD%$Si>$kraK?PYC+0 zUpE@7@_HVGe+_2RESWK0%>4i)dPD3YO0;t7)_mEX6 zzNNH@cMzdKbV4EwmQfRlbjMm+j4x$xUe%O(OE?i$9hXu)8c>Ur?o*ghmWtUgeXU?;L0Ve1^DQaqXqoE_>eBAwMFNlDgL4j$e-*40&I}eeM{e|M>g0jDcb0@ zXT##eOD*y*&0k!gih3;a5m{QnAz6FX3APP`R!m=erZ!h0X)CQ)txdIFwOC2uuG~N2 zJoU(h4w5X$eJDs7;T5!3Cqz${d?KR&L7=P zw#96>sAMF_xai?;E=#q^a!IK#lGrv0dDm^*kgl~Ty~LF+t(3kvoTOruZv-mw8=hk6 zDsqlh>W>fkF&9;RH_Yn1pfE@eokFnJAw_m9=F#8lT;fNI=Zq4W+@oTFgg&@3u1@5; z5OD!};>{>$PQfT#CT9*^7tXxu>5!FbiJc;UmwxNPnU@|aoLLbm&N%bUzIlsVJ7<=% zNbre@e=fQQow|OUIj=6ne0m0=ieS2@$aGOY!PXqe5CuM}(`QCZ=qt<#ACSI3niC${ zGtDp9q#wukk#n~3-C=&g>JFYue!&~{nqROSw+j6$&jd5PdPm;^|CZmTSNr!&N2bBA z-$ZJ`V9sf*y$$mh_Z_(ksRi@!x}+9l*Eh2->&wk2u=#OhJ6f6%Y)!HM^K;48k_{#i zCg7DBUiFe0fR!=nB=HN#1ipYw_)p0f(6TH5`g2|9$9>nw;7d}~RkLyg*0$nm6eBaH zttH!j374W08nGJ3isE$|Jl|mJ$mo3D!E=fof7$pO>)?a&h@vFc@{!qv?0k%WoRb%a zv6egeL32N-s62RV>FKLF`wF@O*cW<**uSB!hq`vKugdb(Rnk*k?*jpZa74bZ-tDQb zo9ruOxaIOkNB*zsB|8OEp>n@?;_SR_QXUlNDVqnAQpcKkFvw0hHq!Ykj+{Re5#(u+ z^CKeX1946!iTtwpWtW1GpXn-yJMdFz`P}>#-HI&CZ;@qIdYKI}{Kp|f$697f>?)}4 z&vKcQ-_j_zBl#_-@dgsn;S#Mizh%Leuq1(mI{z=$5|={9KsxFYxe^OgTUic?#j&EC z3CFE6h~CRaR-?|araQ>e;(iHE{~(v6M<9`=g10RK-ypXy#_c03B#GxF-soi`-`*lx zp*T8Wg&S$fNt6sV6;x=+M7VuOwY2a#a7S;GdM-ePRCy>6hC6Jl$1>V#pb0USkgW%6 zYH_%&tx^aIg4iVYnX((UFr=DShd5gb$Q~QHH-Wb+NpLhw*cvOeerIuSV z4SI3hn3_!Y&Zc8Y$5^D*fC9Pp&3ycVmGgfFk}+1N2sI%BP0 zvow5FASKXa#D#WD+4=L>t;=%z4RGfgZqEM2>srt)lXj zWGAuWZZH-N0WVbW4?2&`YZ2@H*1qDH4fy>I2&`vk@@TDa3)q0E0s?g`E~eW>!k=^+ z-6e7vxVW618$}59i6I3Q!8?y{e{sYivkcySo zRAB}t)1)ukhdZCyJUjG#rBonbmXxk@X7ZPIB1)@lLs@WYD%&a$SnTf8Fe#ZrQ~?Nq z_bXT#`st8T>=gq?ikrn)&t=SJ`BZIv1u?JKwT>>X)%~5ReP^(CIhc+=vU$MHlNV4< zxRgxaSgQ(378pBRnG44A#reR9wfv67qiV(AJQ*GezK^hZAOLhZE)!{|3VJ-?U?(wgbpf%9^@RvaVfSd`yhm=z6xgaG5lL zx_ER^j=DJYE2;~`kW`-mj3%KG)kT<%8mNnV_7-)~eMwI4L-6IA)y1x-Qe6ZSg?iG< zhy#$3sY0SuhlPm2WAm3Hg&cE&o|6M^eu8dVx*!-WbU^+fVC{Y>; z0A}$m{3tPGY5sUlrNAH0JLL@LXy#Pj6T^UX9XZ!f$a`03_V4}67t&TlqfYuMMbE9C zs;aT*f?U=3;*I>;RzN`Xja7xbyP;s`II3}Wnml?Vxi-aIqL&Dz8`8B*46+t%0RoJS zbz*(D1tD*sP};hK|C7lZ@`*AA`hJ#uQK5F^Ps4>V#%;-bg-kmlp9xo3o)0XDjT0vP zpN!4shrHwfKad>6TPKf`7c}9(1kqCP182E3fP-zB2p6h^EmDLFn!+jcy+fDc$;p&7 zLZ*~*#Yx1U=I5a6M_=?FU1#qp=$f9&HM?s>SL~z=bY%xJd*a$mbOCdbUxt6>)~h@F z3-hl;W24x0^`2B+(tDa?u8#`IPo`!G$tjOz3yFTJLZXURh2*{H=%4uy_smowk#9hE zz8?rl>(?|g5?uV0XI{MhcdR{wJs|^#7$U~%{|H-d{C>? zfnmyZcjdeo0>7#rv$&?4N+hnBEQwqtkeyqW^e9>MXXtkT);Z_o>V%bdWFQMb!Q*l( zH@dZ7T1wkNUb-8xmc6MaptBUGlCR)gQJ1n{3N2fC*llsS)W~FKa#2^(-&4V~;Rr82 zwlkEBiKC|M3$u zq@*YI%{4OQb}AJb8Im_PWKV>R;e%mn9-C*#?t|GuDMYvR?}Y&>(Wm<$g*iLWu6 z?lgW)pEHB!{L0Um4u+=EI*2v|N73+uSBZ?8Sj#~qob)FCe<0y?kK~YWug}(rgumNO zNZ573`jT*i6aE(@gq;yvHjx&mI!Mz2mm!otPr8g4y*U+wi%#Aug3Bkb91pn)kyaff(@hV#JOzGJ~3wvpvL4}rANMSC0 zNE~J6e2nmGdnz9M*n@E1Jyc-bvLV-UISj2?IIBiyP!>W+%}L8%CRp#W3!}nmgVp;o zaMw3|A|eg`6G%meH#lDoShnzPc!2b6pnYs4)%#y7xl8|nkDeADe;4^;2@tccJ~a`H#!RKW_e{nz7kBya7?jnFosMn)nDm%2ti=3kKV2-N4`$ zSqUQks6Wwm9fwz;^lJH0g0a!Y%aSR^3dqFBUy0^7n2rDTrd*@Psj~+pxl6=&j_;{n zhWQY^dr4e$Zob97nio{h_y0Ub_~j3Bh}M44FLF(;H-oj?QuhFR6v6H;m;{hHv!t?(a` zSB2P7e(_pLlQfi?U%zJ>e8c&E(qRLC)Ips2WB+M_JBOL95OIfkfoqtQb9D{pXALF$ zeg3LVO+-43+5QI9#uCmW zR%#x`@sgf-8RC}h&qlh$C*21W6!rytx6`f7bf{m;tZ*jB@WDAVqmd)EcG}o_4=;+R#(FQu(IVTjDG2vK(y-#u zhf+5C-_pt8H_5h30TbWEi;uf5wEB>D5QHq_r~^MVBz}qi z_q$$0Y}4^Bn*kkCp*tXTGN>i3oVGP(9IP$+gD9my=M`>4t3MK%?Xiv1BWR-w(`ndf zfa-psy+PEo%aq60?^}OU+JW*(2mV+WF~uLxDQEoge3_i-IT?gM-e0Mwg5|lqmjXLO z*>uXeDw~(Hlmc~lq7Pp1-}sAa2L!akpyV~BP4cl51LI;@Z{#o`dpKpJmelQ(*V&i% z))?-WiRoFP8AmXSHiNoCYA;@RU+8s!>J+yd-pv+ZB{l^(PyB8Lmqft+n#H+c8ds|c zS-UkrgiKkDU8@U@$QH77q7>RfN>LC=B?ux3PC@({Tq0sLrGpP#he;PJS#mFFV%imK z${rt@4_Crjw0RQhDZJ#oJl(A;BU@|Ds_6?f&1T(g~%Ml*Th8&7B7MlD`(@T zOOYnI(z8~njZOIt1U-|(@&LS`ivZJ01*eUmYBY@ixk}On6rW9FKV&8T$R%tEe*{7C zZ0p?xc+TS4*p&CFL1-bpjL=jr63Yc9E*AlCfJup?3nu9`TJ)e|O)xpyXJL5c%2@NR z|BW8YA0nC|c*xOXBmb78$6kJOO?s?4=;T6J86w(oJJDmaYjz0FF z`rpWk3lYI2ixzPV+><~%g^@s3Jru@Pau6=b(id~h9)9$u=?f_y`a(Df#V@n3$Z3A$ zd}ZXkJ91tCqVmW0i`+SwH`Y3pcfI)C+vJ#nHR+fOMrGq|8H>lSR}ew>5F*M3p@HsU z1Ca|n$235wd*&RMrF*`(hPr2-q5|2%qB3OVgotd;u_%qpj<&>B21BnrP->PXKKY^ZGE|hYf`;n zNm-z4I`WCwv?(MYPA+fZr}z%qfU$&;kH=b>vRx&H0{CPB=!r3^Kk(mgf@_Q|AV_lo zpR-u8mOWXb4xeIy%~;F*(h4L5GkW`1UgW4{|1bai0VQ(94j3`m1nbFR4K@Eb0m z^%`EvT0kqKKjHSDyM3wY&l!M->_|1kAI}2|4brvqp7f^s(J8Q9@91%a@uUhPuj+mt$u+y+ft_U9N?qYgG-#Hz->4u=5Myum2WRK|LH6x##)K?a&#jJ=nB)<>ed0_)@P-0{Yw3R@eKnx_CQSqv*KIsm6z)h(ln2K$Sj8w_pl^; zU%Uo<9#SMn+$+nzxA>4^KJzQ#3Uabd1#tnvK8{_@5cl=K(UCwc*V{0~ED8O<*;H16 z-YaNzYsoeROw3d zA8voi_75@5(SNyh-b2>=#m+MAF}3Ugr4QbsK6Fz-M*X2BpPKri#R1rLz;s6ZT7YIG1^ z1QT3d4}NgOmvBiV8V<@g5pYL&Wdo!91c$3S!`0*kY$ZC8%je)2;zQ{*^F`A?H%|)n z&$V(c`e!`m5pX@fX51?DfBqx#YZpcp7Q{Y=!Z{yzGZjvD`TI%vx%u_6mY-6%z!ll~ z;eS4WG?47P%!G26eT^QT`wD~?>KFTG^z_wD#8h)X@DRWHso*X6>auu;Agjf{wvQLKMN;B*eBMq1@w^U?TaBW zmYFCD{Yz2knAS78Nb-PR;x+II&7pC2FcSN!;L?fw10E0AuEam%(AOflVl$+$kZofv zzm+>=-HRa<(TY!%Cx_t4=n|=Uf2%p^YOW4yhHy#EHgbaXbw)+2?Q7MF7(;$-_mO3y z*hzAS3b9nSKEMO=6uclDQB02T4?B>2;1V~3f_}Tkf{xEq(Dz_N`cEY=6%EB$yMGpm z28Bz?z>$w4VpD$Kb}=QqI)GGY^C`b+8;vKHGyN2AK-|IX>;irV$DxO*hL#U)si9YvztL8!`#1s_Q5Vr#7W693tc z!m8?BYYSa#vs(`hbREn`BjTR9kJ6hk9NIU%oOY()U_f1Xb7*U*gWu;cCZu?159b zL0hcld(zg6Ka)s+ZZIroS|TCvXj@CZh&M29@!7|4z?GnzIR3qxAA?oMJGoAlzhMl0 zAOtrmF!S}O3NCUa3A2=1y8HN3?gTOf@|svGfpvL2Hr@r`N&3K% zGA2Eoj9Hi-j6+C2AklTOAVcWK4X=4FtMC5cZ1!pyO!MgH1S{JA>pr%Xjx`!Z9^?h^ zU;%VofR;8YV<^wy=cVTFJouFHvv3r6cqPi>kNn)Nr*a;2OThxtz!af(@n5107fbn} zbN83og(!L7E)st0?it-|Fi?`%hMwz?5JVs-RaD`~uZ$;9CIn?aOA`cfOi;GR8xWL* z&^6hD@*M>QwtWP_68s2RanWgz6#K8sG6OQw8|d}9_8n}{SOO*ulejlx{#G z5hKt|eO{P;8Hc0c@qMnxGsP35r@265ut< zA6sJbcKG8aZ*%bm+bFVxrg!lgGPjhU;>Yu4a;E1LApR&Ooj3+!aunS-FMh*FvLhLW z9UxI(zj>Oji@*vd4`Mg1Go=_Oy7&ZApw|RCOslxxeq$LuQ zi}8f;RTSB=SdJpkbQX1!gBvKx5Ju<-7V9LjiJ#)4*gvL7QC!W-icqce9=6|Zl~CBW zw3JCS!L$SytAdue@jcZNN#O$p?B6EswFIm}0Q2u3ps?UQRIl&p;{N?;F7r2Fx_m@c z=JkJZM1IBa$sU1XaLMUnd*_)=q3Hxi&mdM*H;4g~^hUM7HL+G%cZgEm%`X2ed3Wd$ z8wDagn|C52z2mK+NVoG@K9PR@W;WTu5fy2zz(iWgZtMTXhAPrhTqx2H%k4m(-`ktWAeaV?XhjdM<3Fc+8e!FBx?Wsl|gk99;OQa%S+L?WdO zTmX|ZHG*daIo+^VL^t$No4kxF!p!suq9?$(78;=}ffg8Gihn4uo@ z0^^t9-FqKb^#U*gi+#!+0NNu-GYav)6tBh9OYa&3%;1+{&z*nz(SoRd3jB*;Lzi^v zM?LBo+0>z77XUx#MGJX6DT#SP(YH0!cRX|rMCsgR6s4t9MeQgyP(`0ooIpvb6XNf0 zb+cwbKp1Vn0JIU6B5dKsmu!*17clPQED10a+v`vm>hj-Kv4v{b#EIiYCblrrJsS5P zWO)R!+<_R&Kppf@8NZtf$OBa*;D{<(l;=Acqr-Ozey5ECR{XX+ugb#rcvbw4S=YzEyUWW>fBHUwD~UGRh743Y;^{1 zyRbw0Aa=D(7B-5UFN%oG?qVwvT99; zKwEs%Bp|AZ9=I^qMBj0%3Vwow!}k&evWZ_x7qHST?W`}5+<--BOfqv>t{4=lf}uF5 zUu6r?#cm{AdP5Q(R6CCq%1Ar9*&27F~K#Tuge z8}sKVO}78Tzd#4(gLYBP0n^<$^2hT6I5X~CHr%%R#qK`X-RF0LAj~3_b84&er>A8? z?o!@?VOS3pGc^5la;aG+1**uQyYWQ^(bh&m!pz*bIXePeG;;Vp{68|j( z&a2QbmOCguT8(o(>&vS^Q8tId&Ze+Qd7CkLK^I<|&-Z;c5#EVbJWs~IUEM5aC7$!T zSiy}=yJw)l9lQK)p5P5O%r)q!kdvafG$ILXMAtF=LlMf|atXQk_*po|l~P4Xd!1v807praFl$GGS%vIa)ok zd!@{bpDgX3W0>F5n7|u8bC;|QB{zN{%F-~HD1uYkS!%%2djbAm;LA)KAe84odx`($ z4V(z?1Ou9h+r47INXy}|8vt=jR*^{fUn~t<`XD@2f|?MJ#jt#s{*k~v=EF|A4}*g| zx%^(7I5rPBWMpTo_4o3?$u2y9xL%9{?~Xx%5TyJKi?xi#*VxYk)fHfa@Ya(F3+8V= znwQI^t$2LxnZ4oi=YW&^T)ss3FXVDDpLxxZ7r$#$WAUH8vlbTDQjNu>NMZ5UzR?ac z6up?K{tulMVR2>)ua(82b~0J~<(~#DzH?Q`;^R=VviSWE_Q2v)M+_h>xPr!$y$YxR z*v(J{knsWngK>;u4mr)%X54z2wg;jPV~Z?o2(-K-LkFs97-`#|14gkcCI8lo-|}^K z2aDg0kh*BXaZzCxCH{^xm2wFJSC#=>7Uh=l8u+6D=a1)s&)~&B+r)@>=G$u_-co*y z28n)JW*5bNTvn-z=%??__^*k#RU#nX1xJL$y9p&L@w)HNOFZI8i9@%D%1BI@Vgpg)$-VWkfU(#lraGIVmXT&|>9$&grkMVg^8iYVLaO zswACTOXy1ANi9E~rQb?Hv+Z1zc&zm^TtZ^c+@0!XW2za-?~d83OlZtkT}PM2s2Fg#7Yxp_mTx|30Ux{+SVv6BkWRt2rT&}StyrBtg7K9e`2i2KI_Wut^_BRuug%X7 zGg|Yv###YdBn4*eURFE!{lvrX0uHHWrp_zE1$6C9-B||OH&k$SkrE~ZCH!z9OVH^t zY;G|I_v#M`n#)F($;+m=%I%`qe}DTGQg|WNrR< z9{Bxek~mi=UxAsKX@PLRR;p5AtKoUu$>pnGKm&^=zlY+A*aL?{=K$o3b8NP~jzV3% zJ(+Gig>nT`RQzFo3eZ2E>>oO?j=C{4Dm@;niLhM7xdNa#N8SEYeZ ziuBW3WQL4pV&_MI^Da9w8xEPAC=KV>^fcXcTI}h6?$8aAg+dbp3i(xW(qX23rC4Z^ z5)=#5ewK*^zPnVOQ^;_!%r46O$=KSG1(%b9dnIPKd z<>ZiOlBrc|(>@4X1fXSTpD82_+)LrF5V63(4EaDMA$>1Mb*#aDAkIZ1IoT7XR3GOc?(tmUE4NNb45$|E@;X z|4bnt^6|eT{;^;M;~&SZK>Xt!JnA|AagW76z#}%w48hCiz96Hp|5+Px8LclXAG+_F zmv`_t-gPq|u<~n+XupztbTu}T`u@P=5Qxba(VeF7f)9K~cbYm!H+y z?>(Npgp(&w(H6r|5%%4~d5!G7*Gb(xX?xh}<{vvKbI905>4Ip=L{5Y{5FJHQ z=BXm1Onm?E>wef{Fp}~@%4{2@OvVdF8NBc@9&dLW#j+j&08#!7tnSOb34w*K+v-f2B1qVyK z_>m{ABbheZthZ!JPX305JLbvKovEiQAG+&K`R$ZUErFV=Om$U0+TDkQsvP1o+VQ_Y z%SjjIpylgXy+_ND9}8Mu?3?293meBAB@C(QDyl_6lE4RR@<^C@Wy@4Ba&J|8<83cH^UGg=Z3dEi49I->{ z^s{2SzHrgz*a7+lMw#55i$B9|-TFOFI4!|L(j~^~kHrWgt>XmsD0inkXDzcK@j96i zL9fM&e{_0?TlkCgDEr-l~2OGiDO^RMThg@qIT(R{OT?ER?0uYXy+zzt-|h{MS03 zCH$*5%%&u9&OVaFHfOIPt7evq^F##|}p8XH2i%tkNX8kk9|kuCAJ zyD?MzTpo|gd2Jx)kRZzW1deQY@o)An%i?juuN8~%g#(!2@i12>;jh>rLj-~Nl>iq# zMkF%j`|7;;}_Ubh)vPtp*62HfbR${R6Oxrt($SV}I-@5XuPzrhsI^ zm??o^BieD2#3We~vQKP^XtL({iA-7de|{DR7=nJdcE8#4_Tuvgb0|Z3$!B50OLzm_ zYkmL>PvoBxf6R1J1>?{xDZ#KNL~aNpoBhzedWmswqK%Mu71fZTwsR z0{@kru&>M26^JZ)@z+bOoeZk7RzGzj+e6NfCVTPfdsVFbXR&Moj9hbf|4FCe({}f1 zTYRXzLZ$A-AFrnCv=D})geweD>~Qx!y9<;hB9BVAA7n|ff6eKvl+R!@Q9*vQCuG6aG239I_wQGj0`xkj&JN>}yrS$yin^Ctw@&J0N z!9^A+^8fV4YY3#>cqjsCLLNumT>6fkY4lBy1ZBd3%sjCDbBggLA3*I=n?2H3Arre9 zd0A%9>AXJDltADM>V!A?C<04ZKm~xwGkfljA$U3VYTjQAz9hl0D3~Wu?Sc7DMZ7E1 ze(NulwWTmVHuBMi(|SAE>gm5nW$v%z0ZX-$Hg!CMJT#Q|E!gZoDMlg=cjfK0@%mLwnT?3?`OzfQmE zpXaSOmeG=>lEO&>K&jV{3OE^xf=pV%g7A4#vHcSnRkXl;nG8B=C5?Zf76JNT{{S$R zvHr5*t#a_zDX3)*R808AnqW`jD^?|~fd|P|1!SEtkYQpVglTmx7s<<^U^3V!U);tA zZNspSM-kaV+7@d`$z2RaDGj0bWOgn`wcNZYj+&vV9G(CW)%;W9Z+LHnhWik$6^@1@ zjE0CHfuiMx5NXP^;UF01mQ6*iBx&7zyC{$gP;>%bz^sJPJoHWPp;z3{6JG?sZ2WC< zozs`(%<^Q48r`PeL0Ju-xfeSa{&j@Z+bCvq{aU$OkfV=+4%VG zT7!2Ytz;AMrYMP|_WE8M9XR!*bFxQDeJe<`fQ~QCBZ75ja#{GH)qE`9% zpa>-OKMSB}7zoCkj_S#n6Un8#C|v&eu+HW0_}}%X-L;p~-24ecH%t)r-<2mJJ>cJV zntyxtpFkA)x1B5%)DO;Jo zjLWJvY^!-VQm!D?Op;o{SHLG-e5UFGs#=&rCei@aN#P96r)3f!hy?a%va1PIsX;;> z=rFJcOQ_}_059oyY~@WI%*PVd2T+9ZDK`}Xp=1WFj}ke9wi8E;?JO>?WafvpWZGUJ z3<$`V=sn6yAme<0IJO-`uW~?od%OW{!-X69QjR_8xW?ou2_LL;|IiEj7m z`vn=hWw?LgBAvJ5ANEg{K*56N9BX-%9N-Nt--(VH_kHmnegHuSw~3AJ8%okK^%u%W zq7(7S2LxPqmH;5Ya2S``D(RU9EAf|(5vVrnqU>R0jV4akdQqqzdexwsZF!0Y)qV=q zDy%YMP;D$wW$s@tP|>+Yu@z|J^8Ev-x^8o_09bOMI#{9lcKaRjLbbhvYU@m>ZUm8m zt6M^-8tx~q9_`Bqwo13+ioJZp)$t)z`>YYFjvB$$U~GVs)fYK-0N4REqxbmPt!5_3 z{eI2!^d5h)uX>M3tjdu-iELSrei&?tL&9-qls~Hq`Rz|7B-$HKS%YqbPJ?=XpId939-k`~%(0;}L!HZ9vr zWq^Rk)CzwjK;s*%Mc-H@-(ba+!%)5@oqEuu_CXOp0Me34(`416$=FW>|gj^c5IL@mZe^o4-b(KF?}KS06+_hXgns_yrfT4W9g0s^_%0cLqWsFI1Dam=!XY{ zXQNY)7dd$qn|5(L>23R?saRI2i>|OXciLv8NHaPH{2q)&XFC?8 zchIvP3e$aY29U#Fh)>EtOVarf{jPNKPj*2lf}G7C&l8bz=Bl{+v-DKnp{u|j-*?>= zwC0VH9ka0O-%zanIiekpED4|s85;$un zW1AWh|Ha}da8k$s$yA3%e{iHB=l;d!If2d<;pD9@iWmHhbj%Zjh^Mt`AGekoz?^je zO9JLL*Azw4xuYabR6*`2ZIT;ME56Ld0Gwi{>r{*dY_w0r9UU^7Um2qF;>XOenZUE| zWBbJI&752yE6$+=NIfxxGpJ5-=~=Sx- z*l9b8nsG~g%vAjiw$smN>gEr)CI>TmOKzv8#37i@$34H@Jc zk8x*05i_8N6=X9YiYX)ez@lia^~G`9&l@oLs({oS@rK$P?xoOBMT}SuHl>R5}mzsmQthh3&NBtPT}Nwm;=+_CdD+ z8z;-9b@Esws5S#f{*dil7`uEj-{5TW=dzbt?BqMCegGkqpCbPfz8|W@05zmQ1XTYs zdC$l{okfAwOE}jIxN0Ohtz(u!N%o)6J)+kRG!lbn^|O^NwcD;pY@{<{{lt-rW7Gad z-p9%1;%>3~H4}F@<%^Bb9#{l8nVq9}-0?6NoCfx;MUi-h zPN1ALuLc%(km|aUsc(9R#pxk-n8HQWkS7yla*#A+cXl;1Fht8E=uD{;k(#1o{i>g5 z^S-_pY8-vnX&%WPv*88Q2u*Fu2Ks#;*E0$C2@v0Nw$%pD-mL@#hr|DCmC8DpKSQ`G z`8uc##g6H9={Jzx?BDt&JpqIgZh=Dbuazr*x*VK5E?IDdw{73p1KT8<-|GXnykU24DuUcs zWWoaFc@tkr5%6JRzW*QW=7%^4yc!h02!Ag6t3O@tDO~PvHhg1yhVQZ{d<#ZL;VUG3 z$1u)wC|9r`kc%(cqcZimOle!0H&vMNgc33}8Y5v2c;@r{{RBpTcoh8G3I65&b683z zhPiVYzYzXNJm=aL)Bl}#Hw=f&lW+*NNnU$^`_%OO@ttLIrqPjVP~@WKV6|HCKD%U; zb%2hr3Z!{cngdGnCODxon80Vyn2_s#LqEERio|G&RgT9Yn4b+^D9!VzRRd{0LJMew z9d8UuHiC8%6lSfc?hF&O&Pui_2*XhNPY|HGa-<*L!xQAnu9){93Vh&8FcN^f z&07*KZ`%!G5A0mg^!?8`xFAe_77abyL+TeoElS3YJvs30L3!lX5rBwihNT#(Q zf~ls(cDg}21JU2}-z2s_R1TBNU;P-~YwmU#=v|iR*?94TR-) zlESgp2L!ZfrR_WteK+s~6+#9osBsY4eFbJ2cRA~GmK@c%D%ONJZaOg3p5Jno5@`g9 z1WJj8ZLzo|W5z?i;n+z1hRM{oZekNAqOn?_cbOb*mNhC|$!pgR?mr0D`L`U1q*#a~ z=`Q=f(>I#*@VFd=dAnlMBtc_+QMjv?c&Qv<5Ju5p&%1B&2I_KcY62G{U2F^Z|uH0$D z^&D7f>;L>NoF9mRNu9~nvMHY-zBj|7g_lcOAPFa(C?5=nxZJc)2_IvaoMS@(E0T*B z;~8MF^zKE3c!Y@sJuwcn;SV%sJq@-*`H_1?<`Hu>QEV3Ke)c9#>J&dqmiPBhy&Xuv zdbV#HQa0UjElAmmP&Ttuwnof+^$0OzzL+%cE4F~W8DNCinX_{yb~G#*fBIU(&Kb9| z1j7y%q4b7c{>lF#X1=^O3p1l`118)?uLZIQB@lH%^LD~LIGz7Gr>e3Wi+J@;Yz#ZH zpZ-RD9^f5=Wa*s{pg{MEQ4H7P!V=uPwHa-U7mtSpUKAPmeT* z(Bl)_Eb>nwxVVHXxC=PbO$qb+r@K)KITKx3r;e)N@PowVWZ4?VziY{;;9yBYp>c24 zq%uNezp#DqN8Eb01K3FRN2lT~>R~EH{&+rDPbqsb1K8i-W|B$F2YVHe;Te1z?d5s9 zoU_Tepsr=x(4ziV&EFK~Vvfuc1dgCt{g+Q-^CVIr?J;i}b8@Lo2~ERq*?eG4(Zcz2 zpFc;;(yyT9B4&X^>$*q3Jd_He9xjpuPl3`!{$tlOiW&cHN+T|Wb9w-@tXo_E@Kb9ms!~cXx)2B&c1~U*P;vqu{4ut}l=^t546hFF=&8*Rtq|DkBZ zQNTiW#MLdVF-@k;YQ(ihz_5sGwOn)sfjMusJ(Z4mtYvqp0#!yLuCs+h-C(p^fS=>Q z9j1O5bbbBlKr6_yL8cW%4Z&ffcifJGVy)+iuOX2_Hd*|SYTmOg@7hk5h6#t^BPEpa z6_#m>1V|@#8?yor43$%-fla2_yiRd?T5K*b^&VJJBI^DL|@0dk5xhPN)CLEn_~a|lCqgoDnMBCoN*E(1~J3eW5zrYG0K_U=n76D1={w!+Z??Ulj37n9KpsL^1-*x44SVO5gMy za4{%}(+L3z>EsdDYBb$oT71GG)>m}8ikzZKuYYw!>5U)^AZ>zWRoI0ny(BNZ`0Y~- z@2CF7;XMnplIj&eWV%SffvNVloTE(!F#`1?h*x6F3>GpG9VQ?+9VQ@%PWjx1F=~c= zN@~d8C?Ou*Y8?qNedKGa({&No?feM#cU9~!#+2;Tp#|x&JQk!!@nFPQjtS%Ld`{%N zj_3H~M?CgTug2tR_u8?M^Y6RE`}gA_Qm1OfJNolgtrUD^t5wcw;TxQG-BDPy~sO zLfAiCM5RBTus0I+ddh~2cvxfvri+%Mo#0=X^vqGr%E(`Qh{#*;SggVmge)sF-)VZM z_&w9Q z%rlB}|b= zE?v3XstgIUp$QmQoxV_EJAefRkkN7BNvaZn%*3*`W%sAzJ;Q5^-Gw(o0}0F6Ui8qsr$ zwQP+N{JqXwCmQ{(Lugd(%4-v~PT{mdA0j-MXi-$=zkY7sqMO56e6>V&5pifNP^QIi z7SGOEBcXf40*jx^U;&VN83BSy6fFprAnExddjx{!SitQ2zLar0e@zAb_c#EN4?dr> zF{ekS%n~D0{(i~x8Q`oVM=BToM)(5jm&hn6SP|%g`s(iAu(xAFa^UrU%jLlIycFnIP4J4%m^)EO_yi|6X4m za9h`ZgK8W!f*_;tg5(>=nu&u zFEeYBqbXQxlml_WC>C5Hg?CY`l`|NUsZC&H>VsW1>Ha==*_z-zk6#7jl;y;Ps1-Pf zD~XY)N{Q0Z@?iMBnyz`J?R*~sH%q?ji@*5%kRmy{+aiZru*u=0003~itRk016-?%w zJKW?DMQBa5!^fVPErWBV7?nY|*rJ53TMHBy`|TVN@#2+N4b5YU^?iE?m6=<>mL2t1N%Z z?GO07Gfn=cvshF`{PM^1*?KB|m12i})f}Y-83D6&_IjD=MfCsSelRvXIL5RMiwi-Z z+fhis!L8?jAmXSpP~$&zTM-J+d^h3%0kyFFj2zJ^XcY|$7avXpXWYY%)MeWdxhHJ! zxU?aY4W!fJMqq=9DRcI4JYZ4hBL5ia)P;_ie5lli7BCYm@?PxU%B2&$_^!L|nnQZ) zB#8^wM0lJFHq|Z?{*F&(&>i$80jMg7e9)J4A$`lm)uNY2#B~iD0K^3V_VC&AXYg_G z3-zy#FHSohq}Tl`5$veodyIM{<)lqIf+Tl6`=Ltfb6?M*^~izm1skx{$1#bj-y%~s@dQ8Ktac|gasr^?7ZK>dr5-@E zMGz&ffO1rI{pO@4#Mvadc|omA=*lkRVrZL487MqKN|v*lGM)iJ9PAYJXhSST{y+pU z=vOEBDPEI4l$$J#nx(I96NOyO`Q&;du%(lz1L)p3+v$8_-VsT_I zzWV@^K-Ad8_hkpz@$__UfEe0E<~E>ezvWnJXCRhZ1zi`3xC{h|JOcIz?H zx6OV*q)(FAjLtCdM&}8T^F{R*;G6V2g3(AIk&mz%{ey1-I=UVu7}6u)pdsv~4gkF< zt#Y^pKBLGj_J7*WvV@U6!H;lDjCzVL}0qhL!s^cH_piaI#*SWsEo;|2+Q0q@*;g?{) z#l4elCxY;Vx$u%bbQ^MAs~O&AyHwRfX1NUl`yU`J9XUL2$pKB=;^4vHsy$?P*C1s| zbayYRMU* zCE*d0QY928@}8BGED*|0R&U*=+7k~SwwnqCUGNV;oBHN$r14MzK1_xfM zYA_j5gO4yk)ZCBiFIT7e+sKf~Sa!6Sr2&L@0wn%;zC=$!Yd2!9x@|h2(^~QYEe|h> z{m+aNFjY2O)5&MJ0BUU92NxAWL)Ey02pxIbpZsU)W38Xt8^8-i9)s*qltVexO3+wn zl!BFQL$HsOPTE@mJ#rL+VwG*bLPu0p2h&^OLC({zA^LBVq|>SCq0t;t!bKmV@wV&`ql! zqZ7azDdX`IpU6=lp=SI?@q1b{xxI{>RZaxM@L>u|H`bVuUMJ#Lm@=Tf>A)cVlgtiI zK$>rekD>q{jN$tmU#C_vN~25dJE3-y;J`@FCMoG(n8EMNl}Ke-K&WM1!9Knbl`3VY z`CF`5zZDCXJQvMbtC)Hjy4AxkMF1h`?N=(=IVh9jhYMF_iN9=LxDFl}4P7BL!zER) zf++Z+u_*xlt_0GHU%EfbHyfZ@8`=~6wz{DHS4rrm9PR(C#c{Ke3E{Z?I~FPwrl;9?qn7`8mrzKluC@+DOzd_S8!!=A;*=V>r2+Q3jt z%1j{_%wpfMn|bEc$;V51iy5xsry77X`~YU^(HPo7E(Xz^Zt!>Bgc@i(lm-ZA>J!?q z9VlQJZZ(2&Zjz(9PHG!?;@RL1Pv>317&l%B zV~qIJ=hpdwa{#C!c^Cev+f#ZhQVHGG2`Fq1_MT`H)!h;TCc%{x;A64Y$M`j3Jxx5OsPPcU;M+h6?bP|_hSR5GE!W7~Hl+$^hG*B#TbM`E zKm(>$-;FavKLc^IrDO`B^Sh*UFMjoWBEOMtk|qxyBr&SMX5n@6Fv}qSnncai!PChL z$oKR8haaVu3z3H0nk!0s!ddH6P%6Zkuo6fl<>NXb_1GXSWMKrZ`Geyp)gaPyGj-}} zBxu9SO-iMRh9ok3jpu|EQyye?TRfVQ)dQ5`UKgME!9T2l}sYDazG}wctXH1{YWnf25W$JE$kz z(2RwNSSDC-P^o_zUr~)r7Nh?rv56*ri(mfFA&B_gB&sJYN=0o@^_VbUN7Z)Ur@{-UB&st5et@J1&vO~Cm;?dM&Y6q|-4Td(kPQ&2@&HD*_s6GCG z)kk1-IV&L5uhd5>GDzdz7yD!Z7L4p_Y%UpV`3T-P7>X+{VL1U2n}yV9%g{Jzw7)@J zP#AfsO6h67v-nYbMwG|_tkJ~FU<4+_#ZOlCfQy%|B)5+xx2kakx58`iPm#6vg3c4( zm?+&>z7@f#jnfzV9?S9KC&a_pmMQ@ad;m+Z3}~9HNUj6GugSE->?#rhNWLm|(ki~# zb}d!N&UjkIrFpA>p!Lv-#h$dH`uA7~#>;e5d%+o%bF!n`qF*7oCdrZXF z`j}2x-}Ek2qgd_@bf=7i?vK?61>6@Xf#^wVosEZ&d8v}Nw@8{T2BfR+K*E~%9GF+797@`puX@1v zd2RVI{>A8Z!}#`A4m7t)Y=uhfU3tstS)5+KLMV63fc2u>Dfjk@*ZZa)BWrIUtPKu7 znE3^3Aqw99yJkoh;{Y_vFJfOtmCiC}{lQ8Y7tSYHig#FU5opC9&*@>vIpQ}d5(R$1 z0~2180q13Sz$u45j^rGeXWGKto(IaI?D5Akonxzno;iRkC zg}Fgbc1loBr_{p|aUmsw6@fmN+y`{{_jnvR4*kSYbY-g0GsHZ}GvmtIub)pn!a_0e zoH6p21t=Ld^49=&2 z>74g1W!Vz2U%Huk$Kp1Ri`JP>eURQ0=jdTP$qA`Tk$vta(uev*`xj#mwf+UN`_ZYx zr;s%lm_Vx$`@?Jm_y~#tVr9%16aaDa84ee#1P>i}7am|wpg9->&aUs1QBvRJPnx8r z{A!2Yx>}I*cIbtqNAgJrb#pSBOZHRO0QFY0UdY;5=iFHck7H3@|7m?WLlQPsNJhsP zaMC-T-y(M5sb3Pmv@l`hFYw}Yv<@Oz><>DG3=?%2l2J#|6))@u-Qb_0#UItqPAbqB z1PF*oNQwx8%q9^juq1_qzsa5121m37Buiv_@&e*5aIVIYZThA^0u$gie<8lTaD463 zL(G0m#T(S`?R*tKp3l-#2woUzN079!6f5BRgU2Za>XZVX%Qu#88BhSo7YA9Iqo`CB zCluJIk5T}52PTPpG@leWs97j*!~~-N2n{rn!)`w)8`)qfmoORhW|iHD?5{aof%$JY z8FXm|!0na$aF9W~J%s&74V8d@a-XKmp zapaHZOY~ImJDc}VwP@bCc7doEhSq@WIj1PHCn&OYb(c(sEZCF+g`hc#Yyno;{rZ9) z*!{)Hf}%Gs2-#geLpcGvzfFMHqbT+VS7cKF$(A7nKqsMP!0ruN`~k&b){QVZ=8qki zucU;)9+AtSq@A^-<35MSks~-lL0Aye=wf~Al$I~tmQBk}!LJekv~0&^AUIp7;9MUH z4xaLtL0>n1xOauocNyMbC)elEv+=^L{L#gS6yvFoKChd`RkfSHFKhr0!m)3pbAysZ zy1nrf5EsZs#~OAnp$0K{MctW*K0)_;nhiIqGl;e>0{~ck_4__n%U7}gyIK}ka3xBx zHCl5e>v8@j-S>B)>$DCKK(TZKc9_0~ z{|*A60OdT*PA#Pz;{3rFinFbSCI;*>HDDk)*dyp-O_eX*TqFxqr6Af~|DUIO=w)YMadg6k`GK6aHs6X9%%pa?yi?xySiUDUm&oIp5&XJ9hw9iFjWVHjO%5C9|QJb*f zh5XdT{!$$pxkgt+A}jDR%UE2ByfJY1kH{NQFFRPX2J0I5@BKz-@yTO5=jc&ajM1W8 z$~0PNMWn?=2Qp|eQ(J&4{b66J-v@Udd;{Nmn^@~@1Q+npy=8=!048+?f(D;0EQ@F`Q*Oo{(^g>O*blm-v4N-40RckfIKV;7()5_?Epk1S7Q_TY*$ED5Q?kc3~zu(3UkWZ*9o8yps~6 z&n@wvxZ}0eW5y&~5np(}h_~Z4=Q<~+k;O8LZ@xUau!61@Osvdu_7ewFM9BCVj)w1V z_N6FS>HKyRfHuD5I(fKA@S+HaWJM0#7h3vEzd?*3cI%TVAiL4l(MyN|L3Ivzg-kHNpt zH*18&*0>7v2`m`;1_)K4zYF#tp`3;pPx&_W;=g(c%V%H*+ECab1qF=r0=8QmXj}+4 z-~thZ{+AYSiU-z1kPyk<$l#eV0-tfCieG8?klYaIN#j~jRjT)`jjz8(npg+Ld->!I~Uz~_7A zvdo*0Mp@>bH&6M?AeJPP?I@>zPNG|bw=&C!wd~5T)q+(_#T@$HFyG?eLP2Z0IEf6cejQ&j%EvK$ef5vXszmY}NK`Yr#BFjUG^l!@8$H$M( zcDXx;ORd{m7|pUiN2y|3#KF0nE}L_3Y~{cXU8@5QK&|LN>t&IRy@AKRru`f3T96rG zD3=igaCfoa_d+3J)dTq~Qnjg6(XTajA^KG-V*lpq-AP0kZpyt>30!R zwq5yp1tn62^$HSl!O*xzPcaiI{y#U$+bif~!>m^@7w7e3C_rKjG7CWGQ{zkSF<4M& z7e<&RB1D4Gp(nAX`}cGC!pRFrY#9)eMn}5?$2G44HrN74Q`jB&KL+b3QLwZh0DI4V zz@?Hm6!rtUh@X`91H@aDw~pXj)(?2>`k)^$7`L%=!_jya-}$C&DfcJ(Y^x{@`et5y z@ej6)VjFF1+j($Mq-QwIGQIdJP^pB)C;nL_Kqp>KXr%UU8vqQ>RyY!U}3DI>>hH#Btd3Vx{Dc3|(MF6}k94*)|^9cjU)zff6JOy2)f5={ivA*-)q1$jFBc z?WSDR%!LE!>~+`xESlmEe;=Dq2IOTm3F%QuwaCJgBj$72aXOB}zGCH5<&K2+kqp2K ze2dw~pT)f2)A>Zt4H+|}*k5?rhW+P`fTUvm5q5~A+k@i_q24qZb!DmTyl(zxlUVEC zQV85ZH8(@&wdGDfDMNUj7N?Fa2xrQ)d<)l(WG=*pA4eC&T4jTyb4rh|0hV)m$#EZnmmsu!xHAVNbZ_=_5l>3%!{MYQ_gqqtbBtZNp^ z)ys*ame?vjmd(-wrMm*I7Ur;os(AluAKE$4ckx$)J7q!+^+)w~N6T_eX1 zx2)Fa73PgeOQdIFxo<~Ef#_2g`)>^7Ml8Eq;u)0jhn!7f#Q*)J zRR9>f1s3+jrsXfO*^N#0Sn3OBNvUs~pR;rcd;o>Y+-z;A#Y1bQ)$|vR_5Pp9=71Xj zYZlks2?2$ij@83Jifi*@*o+0MFPlQ1b|E}Oj(s!{TR=F*HXg+rkEL(rvTJ?Pr_zHg zO#g#debYzcFx{UCs~J?)Cw&j1pm_6g9{Q%M;7_8g=r6;cl!fWlpByyU{K*m2HsCS} z7r1O5hR(=kB5T5}Ghm#DJzu%F6UMBd5-IU`nJCB058BH@0dHvak?6jJ!(nal1IHaE zELlgQw8cl*KQReRWQ~~D7`AxS(Tcf9D>cUZSS4yUtwg1?B^yXvM&Md zo`u)>tr+^*azWn!p`ipyFYu2m#Hpt5 z{2`e_Zz>vN(&jaS)o(lO&DH*OXE0eymvG`t43@?$D1pL@e_Sj35Xf8!plXDoYTAK{ zS6(8{ek)!IQN`I06-0t)WeKjLiDdFB2rAI@7W1VhR;8Y2YEu*IOD(BNJy{jO)Wt7{ zn3{?=v`>j*rptw4N)3AkrgkdGgQ=I2s~1uk>&KSNkotmT(83K_-wJU;WSI+$AQ1@j zmVXJdRs3_Xjsx){9|B)2lPO&S3oulo7&`X=#Skxnp_|JFM=%8Ld3UTbQyHJP#b39} za=}usn5p`u5Jl}#6p?~!Vx|GBA#~ZySnB~q5@Mx(;~$HFYzABL zE;{-1L^nfrzr}zV1zl9NH}tp*vKg|L3|S=QaIz0LsaP;yPoINcB;acj#AQhA@)trR zE325qu8j|G`aTbmoy4v?A8NY{$)CX^_1~#gBuDv>jZm4$Mlw;g6wL#wy7pC6@e-Vw zx+01y;?UOz(o`2n`tiVmuvOECCM;>fdmO~1O6#0daN(wF`4JOG9m?!-18!65*zAy^53iDA% z(0!!Ula8FkQbth*5!Um6&Eb>D3uw2Q>U0`RKhW%c5qm!>$Vc8WZuu}mYIv|@SpMkE zuGCXG?{?>2{PY#p$9Bry|NYCaqTQx!Dgb8FEm-i5L5YsiCVZ&=Y=`Q3FMjY|>JR#_ zN-7?MHR4YcNN_uIO(2(U>PD8_ZZPgXP|+4YZExpPx5ZDf^J4$Ju|NmbU;Hc#2~=p{ z9SkU7K{ZNrvy(950{P4DYD+3;=4){qjR$_^1TQ49zr@&QgM8UIJtUAPslyu}LTx}v z42Q?B8)gk%$?-|iwK4?q7S(0eNQO-zgpjwhRZ4a`6)aEil(VQAQLk**(Io>ltbH3+o*PLo=lY}+EomDC98S@QyuY$23f(0VX z5BqYFlg7~Xf*%$ca$;LVR#0Qa4}0os;v^V-R6pz)*#i;7$OxneknU4g_|wVrKE>S1 zy&@9CPJHEz0ypEf1 zfUCUt$)h;<%+kI1*-tBn75ir*VAM0>(ZcjYbnFY#+t9K1;(rVa+$d7umO+7oBm%_` z@6}-OHwYF3nhbfJYQf%1w=#JZusvG=RitMKr3e1wJFiX1k2u-^tWLeInIT*;VDa{Tvb<=&##u3j{*}O3YE~^Ki0Y{?|_+R2(=gs)09^- zC+ITt(y_U#M9xP*oL(jCa04T;miO7bYzGPu%$1TgcU{-?T_SfV9l%njTy(K(hIz8s z0QJ`_2eqS1#?j0vQfx6N8&dQu_>BT93nD4Bm{ieFNiS}yl(q}zAy9Lp%o+&;u)JFS zDe*S|@YEE+kd7?+OJ|FV_LA!4(t;^Dv1_0lg^3Oh3QMn2YpvLBL==T2BKHyy_ATm| ze*oErmrOJ_;dbT7$79oOk>^X2LzZwt$mLvQ1`2?^vLTDyyIRyLev7xipawHg86AvAW&Gqn7E+C3NEna{6hb+ zR%XRR8bNa zJ1PB2o(o5OM~-Nor*OumEEAqCvANoB^C7s7z*EimTLKEQr3%6{`HD&uz-yekh zcVM@lguIr|VKK2O(nu=`ZeKgzgxhz2Io-ba!5^8$l~^5=6d$X0zV?0ESG{8>d5RBl zYZi|hR}ds&eFg^M4}ol13G%RB9>TR4Pd>RAQsd9-M5nBA7vJ;}jqK`3qB1d2HN zNzM<^>_}BVBCHV2van@cgttu94{N|vQLpu9*~Z`$uyS_rM2pn1VBs(s06{CE9MD{v zGLE?M#R~o@VM$5;N%-eKyh>Y3&_+-K%S{58PsZ{ae}Y5VO2Y=f5(obWBzI#1{MUL| zDF+ZR@(bn3=D%+aQQ~@r6WGN-y(BMwgWV)>z=UY~c;y@H z=+nxN8_ie8@)1pq7ys-GE2LEl5y#kO71e=bz??-;Kg3fanSveB@bW=qCI|i{w1{y4dHAY zlkk4#^0-)&O!zs^m+%C?z)&LIMtQ;fl+ldjZA`lfDb^iDAz-FwxFFOh>T51OaxhM+ zBATcj1Y!hd&lV~t!ka&hcCrRe}w@#vBA);%5=u3Yx7_aRSL>CR$wZye3O5*xy zeotJppuD)gOCA`mO$QR!GZ5?U3D;QPDa7;lVCpEI-;M*WEN6I)cs}5*-r+g@2h;?w z<_iClMj`?;{|4cX|CU^#8Nn~)Z=3%&(Bup2^T#iK;P3+ObW(!zv*o-`Lx0G~i2skd zFM+RXO#e?e4O%z$SS~?ntkaGyr3k8SDPj+bFqY5^Q8yYCsU+G+E*Z)cMffpl)J&PG z4xJHN8hh=v$5`fEu~eyvTJryXpXYhcId@5##{7Pte?Fh~ocG-GzVGus`}4fZS>z47 zlI=b-=qNny=k0ZWZjQIjIsFtc}shtb8oz81A z#`QEPpMv7ox9?$G!?m5t*{0W_A9BgT-f4?fpF`=4ioSm310=!I$Ohy~Hh_UoB3f=wLEeJUPcRx_hg|QxrR!-C%zKZcxi-K7FyYZo1@`~7G-zt1fcsuI864vBR zsoX$k#>C6Ty1Ybm;`!7WVSdHKP4e_hf53y|VmxjATJ>r{@YEaf#M_Wt>fsnuYv?4+ zh9;tG-{+gp@3$m6#pB~V^Vi>WXFf~lNta^S#i`~q!+!si>)UU@0AYeuiBEARVad(o z$nk^t6?xuim5S^TDT5x`|EjRA_PhiCL6&8tTw{(GieO~fi9CQHWk6F6#Qcl#gqlkzuG#q z*JT$8AaIf#j!p!zar{7eUU5-Jd>t%eDbE4yu|>S==iliw_$PI6peMp<%Jh$B4bG0= zNZmH{Qi(B&P6)?`U62*W$aU~NIC@wF=O`24d2x5O?zUQzqf>eYwXVxvD}FBfksash zH70aZLpT6_Zzcy^_WRXyK(q5U<(qQKAIZFs7y6pHpBel+dM(2*_(Qe;(8FlljOQDV zN}*h=@uJ*VQRyhbs^}u8M4XGD!q#k5>Eac+g0zQW5apeaO zr$#u7$A=fhMzuxi+xY-I2u5T|#rQDS*j1u9+i9Ecy|QJv!#_z=z6gk$)Oc|rT9yz) zI)ro6cq|?rJYtQ6pghzOPH#k1S^^=E9Z@0#MZFV(S_r{;pjjX-c)-J{acRdTc#fgC zzjS%87-;mwsK!Ijwvwd^B*+3>K%#fW*~A+VhzaYq*psaTVvj%ZyXzmH`1LV4vB+PS z#qh045THmRiZL)3nBv#GGI_HA{jz$D{~`Wp)R`C%h)u$NSSM3%qt1Z3!Fi34Z^jY& zmk#g30R}I2;}g_E2P*i_izGzIh0GXDrDR#^4mH-PR!ax?lFBW^`GZ(Lg;~;NTvs?) zY9Pxq4xD0Ri`0D%hytBwXZ=C%l{&pw=IcES*Yq9?16|~*&BMGkU0M?TOs>6FidZMv zcrXy-aCtEp8IKOn2P0RV#0Jr-GO;uY(4=o;V(C2J8xra$z8%p#!q6-TYWk3jp_xnS z)$&DFplU5A>Knj47g7`Ghp!Ndu27bGm6v|WhjCHT$p7i|*|L8&egZy$y1wy~KTkn^ z68jkN)BY9Ib)4|)D?e5AGk8mlpB$*lPqK1O`H7L6D4Cl%7-1U$jWIM5XrNn}$iOAx z-v-Ds6%goYI4DS67BKKA$RyweD)H5%UMcNk zHAz=W(p>|ZF{2P7Plo=Ul4IjV(_xn)QuiT;MI2*cI*8@_AUmDgjeT^MPW=!^8H|yV zeoyvVYUv83A4KlJqwl#qbxziP-0`+y>RTVh(ubvOih+eJzD`z4$I}iBN$LDMq3b=( zufYcYfuX73dlY46P5;mDPf>Lu*oPnt&R5@-V_ z1r|i+pI4C9CmwHu$J?Ym1_-cC#UlU`uH#^%+Nz3sYYZ1}94IVx$kN@gtmY+y--i5R z_)O!sxca+kzSuv{>VXHc`eCEbW{sYCpeKK~;^$t{JBvR z3_g%Cu+JhoeblEK=^^Z(MCA)-`u2H$DED8dPq%dNI(_OuRedU6mFiP2z2GcJ-GhVy zBrI3O3HZ!DljZ$q@F|x0j%L-wY~+BBjZ>lSA&Cm;Q%O`DN40C#7zCp={x_27J?Yq! zyVbGD3j72sINoWHKz|@V>REnt(;q=J=0|681PE_=nvExd?PiW;V}+fC0T-j1lMVEG zxWc%GSCm_MMOobicS@Lj-2=b3@OLpuYm37|SCroADKg+vj=zll3lQsnPkb!m;#_~7 zUN%ca)k7?iKV(kMD}ReQ^Q>zO1mCQYh(0`D_aE~UYii=S%AnBl3P?`aGJ`zN+eh0g z7M3<;=jOLuJdAl0hD2xy1K~0}9gP@E1cge-uQ*>YburQGhq+5&1(*9y3K=UGb9EzR zig;0md{z7)@`ZFP-a4{~z%W#qgztNvfZq9UEb1PKl;2%g6z`4=Lx=ho&|mY1TWWi? zUtn;OV?b;GK`n{x=xMA#0_lbtP)RU_F5p@-1wX3o;sbr05fK9c48@dvu|1%IDH_}f zVPR#2x?GNZFj2w$gLgmHi~Dc}@P+dClRJ$+XG^X(Ntw?skVzN3bhH(eMTnBp7%RO6Bm|TiA1b99C7x1gf(+exj{t2&x98N!MN9mA< zkROq89?nPc@H+PtQONgI0_S(^FTMQ=*M5wGR>rq@Q!Y1H%n{j!5kJ+!3j> zHQr`-a#DiZ3&I{-e1b-6Bm>qjg)8}Ah`7_9Vpx9K5}oracwOExPiwP9Y!+0MX=zR< zF)!9Z_TgVJoCFt=~pV(E!1AT!9xIo$v<$*5U@=Jy8%CV{Kz$z zMra+M$G}oCaudSz%kr@uX$70aTvr?5h+!&8Nk7Zqyt;tT(KV-zX~$Yw#yW@PxWXX5 zP0>x*pSaa1@kmhQvP~hE{(cE;wr8cKJ2hDk>{|MwI*j8c} z^yGNbJGVjvc0lrUVGQhPoD79YB{B&U`BMN0W-YyKj#(SzuHabYe0xsNP!nrvyutLV z^09s99Rdc9GR>*d=G-2cIwgQ|8b6^sP!{t}NET#5OIy); z6#H&8L=NNhUfB)9u3cQ|o5{De57aH^T}iA#yT$OS3(x4;|Al|)pa1!l`IjPi@EhBK zP5#k`q?Y3!cjmRqRsBtj_4=EPZ=u&zz)yiPkyUEYutEnCNQuEf?yI*Iw*|4r0lH4R z{w#_z>PyprJH|pA`#}M5%EDnaC_oFGjG4$-!lErPKii5HNIlI}{A*bgNAXBRD;7G@ zV$*_`wZBLeRjC5Z0pKG32he3v2#w9DyNZDB;97A5Wkc>;30$t|&Fjc)G$i~P4G+|Y ze?M?nXu7cSCMC-WC>%wLz<^U>4_cb0W5c3E^V*K?X=O+!c)cySI1Wjk4aWo`CjJ4X z0pN@774T7T`U`yp=U9s|a$;TJ;aF`DC@>D$d&Eofm*U@q&g+=hVg8Mr*8#TTE^hvj z#khCF-DiCcvh#VY0c1)Hoq6=goTJar^_sEO!A?$_#?v`42CmDNw{Wlf#wiJtSMor# z3ZhhG4}mh{gc0N)I4VVQts7R%Ya)8-zENqz8?gcP%oH-jDh-%6LpNZ>C74vBbb?MB zxpiwRautGHfq=cfvJ)pS;14Dwg zOV~tW*KenBDL|*Jc&B|7EqE+{OAAu$*aL9NbQ`C79bg9l5{_4cqnv~v6fNfK2yVbO z1>Ut;hV?S`#Im(Qj>I`NGDhdrNQ(*pTJ%2M(Z>x{C~7&pl^`Et>xS$5D?w(D-%<&3 zr|cUS#qZReqV-_wKcAwT>z&Bf6Vc_(Ci^ZV_dd9rQVPK)UC`4+RDkelBP%d9rS&(} z`puQ5%KiFx^i=;(tS__`AYLsLAST|H4#Y`4HFCT)B3cvYp|TM~(SjYEY+$R0+bB5x z=#Sh(x zg7XV25L#{pXq&x!ZX~qr-az|iD|yHSB{llh;iMdUOGKZ#68F#bI9$GuO4UAFfFo#DU<>AgBOrhWVOA0KBG(&k83n}>P;SEE(4F3}M@ebf zmZ^^oJ>T;UjCO%sG2LU8#Gt$)VHWI{9X%ok5?BhOvD6{|TB(XtkOQR42Ot~I2U1VY zkL~zA_jOzeg97D{h#q#h#-A9I@1T!8k;{n)9kfWL06~hvHO_PJSvgl-`j&@cudu#t^V7+2I*pm!0bM>%i3<36;HYSPP)w$uRTGVM(Rgq*%jJ z8l)P$#XsIp*IU_F_IafKYxbUq&L{)ajL5N|CJ`N5k`Xy#lr?MtLIYXWW=O$&Z(JKu zGle6I>xe|!gj~v7XjYHH&`__*h%v`9Jag<=9~})xl_MyzF=1@E0wfOf#1-PQH6{^> zCl)n;+JbjW^o$G(;K6)~^Ev5kQTVrPZ1I$A8f2m#WKLs?8Me_(^1$vS4szrMUye1bi0$|s_nF7n=J#d$;ahLZ zNbMN$OOFf0DUtgrRBD!@fzao9zZEtR)QLZm>Q^QI#N9g|V4XUWmjjZc7)vLjzsxB> zv!Ys$-89&z_g2EG)_=59?NNzCbjy-&>(Oh4ybP38Wyw2vdWPK}8M^Nux_^krXV^R2 z^FAl}Cmh>`)7xr!v0wHG-S^j@+i~DVvzLp_h|V6Q_=81M_j=yOJs+7rD44>+Z^06B zSV9ei8tO&RNx=&KNZmg4Y+zh5FgP?KSjJqGPmwZj?lxqDCTpV3ns9h!Zo+MZq?2$r zQbmj(r~a^A?eU`{)BXnK4`CfM^@rDo9FNlk&nDRt(dSpFZKCFBm#%1@Q1Gmf=T(0y zEsdc@$I@fyEZN2+N8;i|r9X&<`%>WrYr(N3m@80m7~paAh|Vuy9;U#1cT0dFyp7hO z|2Xdem0CnRsOU7QxMOg6Y`yUUaP_H$l=G_dnFIy94jOcW?RV9kQUOR39_t1G@qMVB z+Z;v-mlIEs8__G^ERh@O4TVB)IKJfuf|Hcor#JH(Ls=sF<-vgiFjZ_Ajq|1-s2i3q zD_5re(0t9!L#wVr%@2NDEwa~zH3AZVZ0J&l?D#g?Rv5#-OkpUhVSkDBq<`fB{urknBCkdelJ_*N9ec}5UX$-_p4yddtG0KK#&^Ee9x z3}Y>YiLCX42bJ8Sdl#8!hbn5NW*(fpPc*X~sR&3@}Xi00kP^i1Q@4&$PTIS zLQgemm>Al&Kl4(U&m8CHrCw(E6@C@>?dU#}PJByLHz+8=)M>93c*{0oBN^7eMqWUS z3FSRq?oAOlOM!~`G;~k0=TDz7>`>lpM$e>P{e)l}?p#(t|JsV1-f=V3ZX%G`$aHhV zXJTtUWcn&C^WIF&6JWu$-bHerN?5Zhp=oMlWsD4O46|+= z+f$pWPF*Suh>^MKtl=4czqVmGZL!V@INI4(DD=+#S63I#;5-!4a0dAuKQ7~swLfl% z@3Qj_Pn;tZgFE&8^b~hWK~O2Iu~vmc6rrXno9!1+cRc0E7VdzhEmL0Tz4RUZ=e8p; zvZ;&P@IKwCXFvAyDR=A>xKon=gQ#Jz?e(xbl@9A+KCCD3r!cJTVOTvYh+1E6g&ttt z7O*Cdf^Y%E9Rd)492J20@-zqH_CAQ!tN}Q3foRLgaFKy~#1R3*Lua5We@@2x2K8~o zu;?F2TG6G3UtQ=`;B4vSEoyNp|K%h0kPy_H`A}c@n%esOB%wwawmGzJvsZXTK%YQ= z*!qXpp*pzVyI8d(#I}U=F2(Z8GkDr-8HfheMQC6UIpsj7uKq#D&&bx%IaLvPhi`KM zXEAi^F5rKObr?W5-J_{&;K;SCo>^_@kjOMy@?P7yR%BW&30T`XU@~?~clN8=A+4D= zE?g-q>ZlmXLY-m%S=BCS@9ubqeoiD`LW;oxU&r&j^y~N!`-s1!kk)n%jMJzLivI)u zuN8l^)UJEzNJw#L1V045t`~2W_Ud;aU#6n}{p&+5Vb+}OJ-Ms3x8-GljCp?yt}_Z z9uhc*f~{!0KkpTb_dQdv%Xx*cS5xwJCd3R*2`&sw^r)NF5Q{FOl!Q71`~C<#vsm@H(w18F1#)jzy;Tad zeEHab!ju3S4Hj5$CL#_FiLVQr|vKi)45-7gE>)5n!}KrX(InWZ1r?+3~h#u9Uk zF6BT44(R5u4M=+CPc1p}h-)DdDW;uSCslczf4fYPra1vIc@DKQhqS5(m6L0?kW zk3Lj%J-L>)c)$02ld-|>fuZ}X#u>WNFFKPU$0Tz|_4R@|cqnK$m%2R9dn2qoe+kjw!yl$3+K{*P-fW3l^_2K!W5wGGVwjHo3*B7A;<#HXL za=DF9xtuT}-k53Q0W8Q*NI}Si&-_S%d(yx`HAGP3=FF6^-!9lpT$A&leVVc9ganavK=(udBG^WGVP0YGk4{=h|vJx{zpGrz4ZnV(xIP+2l%gcSvUB#8ZzvGZ#X+JS zxiuN_M!-6xU+&X&EO}JmB@?qC@S;$_LcY|I>8LdBD>d#b)vtWj{;+YRekemDOCp*0 z6TgZVVJ&=U55-V{07a|g;*(o87g z9nzs~<-OhvoV7J5q1^-BIz?JcYv%|M)Y>lyX61-$`qsctF)^!ERo`e$(>Gev^o@eY zB_bil0J|cEAsuAu8;iUl(};tg%*SEnK4zLe6aDjJalpaYh{A_3Z}77|$AnArd{DmG zdn^2or7Ctussd{Kg-e(0kNl0J6!F`F z+Pzpq$9k!gFvl@ddpC2uB4P)z$+S;pxb;uY>f33nIN!?I&JcF|TbZdBpCR9-X_Y8-o{^YW zI?f()kflm~M`Xa7$7OPPQ0TKELf-9b5e5Ew6mF@;JGtJygM>>y_)w2k^&XKmdQ;H8 zFoe#1z`a2>Nt&5!ZRUGF4P?zhPhVnk6+bIzC)Bw#;X0QlT;~uG zVyV%s#c{G|xzOp-6E)urNMgZMF2w_SsyDvkd#dGyf#MhqK!|eqk54HH^ONVp6~Mg8 zqfkwlSDC?!DWUP9`&`_hE4IR9@_@E}E}IbeoTTRrUSwpvP5JuEzqu$9qr% zaN;kduP`}F<*4yu-6D$@XM()g>W#HOm1Lk}J_Ow{T`UT@7cq_~v#MMmh7HNLqgrr7 z6hJ}QvW&(-`vFMPdqW3NBHZzcb|M)>LBtZYKs8_W$-WG*15{s-qlWf#$AZ$;-+Ta% zBZY2Zx415q>q7ma5?DY+B08!@H15T)S_gyR6JyRiYbL%-z!njkXLB&iDY>PRiN9NZ zHRizK9tdE|gh%B$049sdy%|2Wb;kA!>=%rqg5S{<-#`*nQ!ryQQ!v66$?zOv6noeN z8&HG#95N^gnt_OA(i(k^5B{*Shp|)4YJc1)Qhzm+^LS}V6ejeAx5q!}Aq7sG?q!QL za7l$b4f_@<(yrIKM=pm-%+_y{*}=C>sU0+FN}*v0I;gWLaOgL0-{(05@!9DZaNW*$ zfAB_4Eb@>sgD-0U65%exWJE3|BYX-qokr$Pp|^aovGL*p&>Q-MTOQTFQhLV>i%_Za zY;j(Q-rI;%DaUDoXy}h;{|aXdEAf~;Ig3KhThU3KTxrleCrtftoH=+Fx#mm!KfbY_ z?9s((*CuONIP}T8@8JMA)t9@uVVhRiRZGAy>CX(ccey6ckP8Ey3a2dGeYi8}g-qWCMp* zAO+fGXnPiL-r6iGV=^}=G=hwbF7@#3dFIqxJ?PKNL)&9#nE#))LpE58mgg;!Z3Ffq zXd$qGAp{JljY?l_#NjH^g7||q=yk*feUXFSdklL9x@U3WfNbpcA#-%5^-NKBOgj)B zXe0R0+Y`&rWns}Hc;(@E1haTWT7)APhv_C zxORVme%Ji?oPS7ueCii9c!P<(nY`Bi-0!Lb!dA3|1!qM|sqjVpii62n%lhw7P4eYb z?KLRC=Fv{3`+$5V60s2P_~E-w{;Lg;(1e=>&|@=S;-TEvT*JFWN}A*w@%Bg`Fb*_< zGX;=7h^|DC!cbIv+y6{_%(EFaarL%cnI5!TVn&(*dx(=K8BKb4uPp&ZICtqa>}<5! zPqIX>e&dQT)$Kb0URqHjE73@MvDCD2%blj4YS>B=>xl}RgTNuA(i zqCppE?a8*>u<@%CAyy zf$*CV6Xrqiqo~KmXMD5nLRlIF)#R22p}A6PTLh!b3Z?9*+zMr0jVu*ok_76ll3ZF% zB}2-yKT@5Fkrao}kTDivU-b1r=h&&feDAweAm9I<=;ZtC1x~)dg!(Z0)PF+s;QYa> zGKg{ZKkfYh+mH4Umyr1ahKHFL0v5AisF+A`7=pJFV5r3VXC43shXHZoAIW5LFE9lC zBP;;-O-vv3`&!e&xtnWr$r{D~%W z09=5mIz*WVI>ehLS}QOru0CN8rY67-ZW#@&%aZSvd^$|AE_J`lJRBg8XoPYSeUxtn zVWI*nU_Sgw@J%9G{~!O;HFT|nnCtZyCH`f_Jq_6J7iytFNnL=-;Zor!K zMAlqzrJ$l4?Kp6Iz?;)?@6=U?9l6CG>B@rDzezv@ z8Kvq1MX426r`!YZH(U3D?;`a(z`+CdIy2??5z+5p6^CZbyfWzzdm3W0t)~nJ^+MSy zzzO#n!4;^wr)x>9Tm8` z(Jx`HkcmJARYgp7P0wbUrp3GLYmPH5DCk)`OkK5fV!>sRdO5x_5iNWpgB{M6jVP;! zJ5u-mgIV0$rlQx-EKXgu(PaZaiPXQ}DQtDuvl(bOZ9b(UM5jpIT)rGu(YWs|t^QkX zz@}yp)^NOD*Vd-lKEm23GI@&sJ!V*&Ip0g>TE1O^7C78X^<{CssbBd=N4#C`sBeP} z(8Vl>6ART1|7FlEXZrr=aC#Zw)tLBkYy^@tomY6c#W7kubw^e(m89-Skdvoph}2G= zH%-nyPYilL{U)2??6=ZL-M#p2Da!Ze)C6( z`sjAAjs?rudeg?}mR1yf&=}p=itU6rRV^gZ01~?lTvkb){!>5nh*B&1%(LF+tBedyTL$8T+^kKZEc z!BM35$Uvhy1j#ZwjU&sF0$J{*C()Wz$C+g#EK{u zb8OIhHN-J~j9Ga)%HGR#;-L7t6GgHyoybzT)@fGHzR(wlV)A@n&0o28AWYky=tOb$ z|2ScyC?>h38@1o$Y=?>E5gHiZ8ML%VsHJ5mxRy@yTlxZ~2t!ECzgJT?X#RciJ(hnL zMur%cV+{PGNLGgKtKB`2qkJBSq@vYlnO4AIlhhLiDCXv}#nqb(&VQ~>Bqzx+4-N?B zLIFVhLisvs+Jt}#tj+G(YyhPsa?SsU6qaTVMSTn@aE{M%$ydr}X04RTCTQZTM3~1!L^;Vsq|AO9;hpfQ%BTWic~!L9 zF6a#smTLJdVL5d%X^UlvrWqRtZGF5?pmW)F<0M$c!!QH{CRZORPg3!lZxF~33alV1 zuh0r&aC;@?Zn7oC;0CiT#j(bN@?#Cp#k!u0HGC86dKOUS#0ScrIWUk|4!Giw_!*|^ zxU?9;r&MM*281}AmxXaI*4W`(RDi>|r~t)zpaK-_W{vebnBA*@a>0XJo~Tn-a2N&i z-V-E7n=}BAUA~TL%HTD6oQdc$ zL7T%vZSL#0d9<|2wkDY}0Jo&r=cT3$9&IuEEaD1VLhw0ZFN6hH!e=N8e?dVInf#-& zATHfKQ7QMBdvC!F7RG=myo+@`9~-qOa^0?YgU=T5S%V5ntK6GmZL@-K*-|SAmnorf z=r5L6^ZBUdk=o5D$oB1N7`%cY_GKr^G!t}5cc-<5Xp6asG$Xy_;5_^e(4y-+!@z(` zz#5}#**(}P+TZTW$6MOKzRw$MD8Ou%p$OL+wB{Wt`H%pg)1`|{Zj$lv>m@13x}IOn z=_9gQ*b{J$iAKTOsBa^+pYqwnckz{p_lW}_%TFJ4k1YJ+v_LUoDIfuXo)`;-Rw!XX zl(8bNJ3(9n)NN?CS5anDlyHM*auCn~WI^IvMOocQ2p&0jk@r2;q$39VS}u4J{Dt@* zp;2HD=iP4hu$b+Ft>@y(Ki)40-M6}Xj96hXnxS0Ix_(GCsO%_T-ELs^PzVhMZfDCF zg~uyuwn!P`pdr*-VHcG{(q)UNpmM_y>dg1mMU_s)2HwhAVgtj6VsXLH9E;g#@f_TG z4q~47`Gu@SV+6?aI06(3SP;6S0Q;wOXY!qE;3M@z{GfC5qW*+^tVdBkKxd4#gjR?YkIIN-;!O%Ul576%XQu`Pp-kba&E>zpUU)e z%$C7%7QPOWE(?s$$=GyIBlVkMJUX&ZI9iaVhD{sIrpvwQfo3b@@vWIwfZ7$mMV7Qm zN*wW&{U-9hzzW48p;i#<>qaZ`-fF*;(k&_DyG!i}9F{RmW>4XAn|Z@X6z`@XgtdEl z7M2G02rt84g_#&@Bl|_J&qWJda#e1N` zVXbxo%?mL(&$A1cm1Q0nFGGZ%Cs(+5ys}vir$L9IMjC|n&c7qw94(W2cn=6w`)wlE zDh*KNZh8Ziuz%sKz`!|wHP`FBF>8ypi}IxR?pr;8t-{DDM~abKcwYJ{KO|`cJ`*7w zq?sfcDNU01$(?HCdO^B|vnbBc*qE@w_OcdnC2l5oiSD}AEO|Ql_!N>>D;}fk)UVi&|$e1sIg4g z{Fa%x=;>H+y3jR$QWI@JscXVtz)aG+F_VIIN@3S)PKw4 z37XT*diQ#}mSpARR)RrwBv(CsfrBVy3lf*Dp(#BTGmsq7ayBRpT+F7HJc<8%!OZ8J znvHZhiL9L0vtl{?rJk7i#hbG>xq4>)&X$6QOzAh@?UWHO_QsUnG83mc{r5GwEcWWH zCSQ3>u$~Fd&{~HoSY4lhg{nSOg2ByO5N$<4Q6C*a`mh` zN}5d}&?QZM)59O!g!!p_p2RyK`3|%tE-zxKnfdnpl3SzT4&E6Mx_^HK>J{QY_v4Ch zg8RQL56vK_#P`iq$Qs{obgjkrqG1rwm56?+6WX_=zK2nlr47 zH4qYtnv^Mzm5AoultVIO%0YU7&X)I~EVVwkj_pt;K&k?{H?1$)Q)2Q>uA$nsu7b!G zGffE2BqLKU70vBKLzPy}C+}f+)l#n06a*K3)sME+LwsGH91Z=?8TLTW0-#5kE5_w&#()h&FpgX4iSkvhio$338f61C7v>>lpZG{X znl-H0Ky1g$9DB^lo|P2@#Y>GmyUn#r1R)s>+(>FkG0N#!1Y;C-1Y?_GLXs9lWM3@E zyBdr^<|&PGfjd-6XfWV1xi)FsnTQTMF%ZLc)<9pm-aoHNml>_DuBrOp=8TKejzBrj zTe}UF@O_J;T#JNSn!7N2b0HDzrpftBq{*v7O(GyCgj;skWPz|4*shx&n_7TNylsMuHwwx-Eyf&cQ^M2h#3f4BY0B+DlrM+JEa<8=SkxCK-ovtCuV3z z^JFqIgKz?f-vS^&{H^X*;jyYN=78!4e^H`??~mQL<#tlb$uZIkY|KaZye!T z^oc(ydvmKN{@-O^UJ9kYUoX=@_J&fYHG@((pK_dSFjYY%Lfu`ScP+nmk(m#iF67oN zuJlT03g$VlP|n;NL>-^IKb$W)y@l^-Cian9R14sbECS9)q-i+&-YIpIjdDas2!ONv zPpD|TYrnwvb^C9bz650A+5@ga_9;pj@Rc)(N4+tA)YFmL2eI)kH0?Jclo^Vr0I)_1@cX^37L&z@LQLMJpt8wD zgISQ)EJzC!@oTc&J1c%E{7z<6f%cjbJ|;COv7EzdJgJ1OnN0)Lg!X7s(i1jSh>E#3 z+;V<1H8Gea;BZX|iz+$NkZBxk6&lAUY{QG}p!RuAlLoW6VRFt|pM9q;jp~-1Q?#8v zlk+G!03wVXY>dVBw)N-Gzo0XSzp7IWXNtEQ{%0h7_3Qh$X}){K90bv6a0i zb+ChTrjR*n2g-J&KJO^zd^uplU74s8f8b={5@y>~uv1B|<2RYs!B5Z}mO3poHZaiA z36lJf>EN`(LT_D)Tv~3WTY}z5hkxRieJ1FYt(4E+xNLk&bObC@J`2KwT^^=wb-W3-piFzfApxs`3lGO=2O2w<6a(%3o?1VXnT2BvsGzPZv09A;?91=eD&cUgBH91I5p z9Q9h|-3(Cf`Ug8m@e4kaRCnCt-7XKko8^-H7uT^bX+`CnRi`Kn~`sggVAYL4fQ^1l%I6MsZTQNiwjpIikBm2HRk(UWNoT*FV)aH+k=R@Yqf`NgF)I<3y5M;odRoV@Nl6 z+b7BDKv$4&u=77IMV^7@W5Y=mT?Uv%!!_R4g4Z1*;h5sdJHWVaP{s3%3wacF9*>sZ zFuolBZxsKWPoXsR>BjMQ@N|>->-c}u_)8uCLQD1+^q+wB2-YJFBOLtRwt5u{)s8^@ z(>PGnOXNCF<6vYrN`<+4v5psq0nJ6{G|{TWOhL(P_9nUJsnp9tJuWb>dzu!zfwn4+ zsOov~f>QgX9BO!Y3*Sv38_pgw*Zs(23GUD1iy7;FIt{QK4hEVtSFWz>ys7ETukVws zY%3KMoPWm2fwnidNE#7_`emEUyqC6NR$n_#_gB5ouBLwNjtGW)K~@ue`G(Pei0%`> zLOvl*E9p-bQe6l{W^u}_0DbJ%)2PSZOk^~kgjvAux+dObcCdcq%x?Q1%5Lo-*$l?v zc;#%XH|aAAb$x)V59z*U(BdETd!dXFPD z2a2Pb5RS4B)d3tYpuH;>P||i!PhCtQOJAJxR1a8Cl~DWRCXxDG#e$GUef;I84h93w z0f`^q^MiUWsUplCFgVRKEy$!EeBjF#z zQx@P{g@k|VLwyte=r#X6NmH0`NigwZm_P~>?tl(PC+wcl5u0J5zATTtt+RCvAKA*Qv+EqGkbi;9bT{%$hOIJD05y zq8klxZh)$9!+ly(AiVE=fUJ;_~u|VSuJji zb{q(h+!-!;@?`z7na3LVM*PjoNi*iQ0=oqID<@}cW}w6`axB~q*B!j!{!;vx{J?)X ztJ3@zX%llZbI}O@x?fLi$M?ZhwUF%aac1+{0EX5OcOy>M)bs+04*_S56N#Dz~pzrQTwB#;f` zN^J3NT~k_DOd{=&9_zJ}jLIcQ+#0+=zum@PE&dYm1UaviH&qi>%e~2bjTOXjOt%6g zOEkOA^KhU73v@^!eJPGj{iMVMEOtzD&XxrGA8z8RR#`FXn|b)HNa#59{BpyrT$9a$*%@0efKRmRJzOa?y4XLU3LnpF4+k#-cOENt3R5J zCZf0Ro`LvVC-s1McwGVFhq8^npp}VfAg!=_q`h&YA`OZy`ikAhaQ~v+mv|p9R-^%y zRPo@l@)TGgev~smYomsXd36x7Sbj0>-z)|5QD<7A(0iCM4yZDM9Tc&HV(RpssG@9M zzlxlZh<hDal&FWQk;)hf4tnZbJ2LHEI)wPtP-NOsde=WPZ5O@kS2aF0 zHeg5vvBd&l?_il&%Q)tzC-R|}{ynt#B-JHw5k~fE7=p$)hGAh!uJIZ*#w@BaF5_KB z$}XQz(QJWSZLPffnt*re#bluH?2x_>R6|p=no5#jKs`_f1JnP^N-hPfR8b1i5U-QH zN#786+w4eb)>bGJ!o;2z+@0wXDu8rU0D_LnWUWw!$Qjc&<6yHy^y@$S>(SapEHuF; zZd4-rha#6831@J2F2~>!OqeI=pZhCXkHyDYW@R>HGCyfKbPf{NI1mpgKU;=O?b1mGctJs+Fma{8~@|1%_Dp2;l_>o zGS)m9D~^1Y&yzO5Uue9QhLbUPx(1*vMlPf3A~H&)@P_hgwed+Vf2grSx~Y!S|K+*p z*KVqSu7Tc89>*=9wVnBq`onnF9hP5)|FVV}U_YLw7@4*u6qfUR^eizm!0%1Bovcg- zaR7PVW)mr{X-<^$eEzQt@NrFn0WPuo7!2@uyD#xpv;tF5hyQB^c;pw_!5R=!v0Z;D zR#ZWq)Lfo{+kc!#+(H=z26#MQ?gPi6idZbTb_J~OG-{z&-Lb}iJKoR();=YV3AhtM2r5jt&_WiD;&ai0AGXD9kVL%^u_**zKcf9$@*+iZc7pD>CRk^xO=7oyC`d5oNw~Yd!_v&nAP&uLzsSm1G8{ zljHmOpC$5!{XT2NI#)2;UCe>?$RtoE7s+GcqQA=vPoWu~nJ^usK0tR)&Ghp*$Tf6o z{&ts2LZv_~-bdw;J3wqIs7L*et7y+Xdmp70F!#t#GU(?PW_LmuWQPF^oxT2J4NrvZ;tpo@b-sE-T!5V|3NfJuNi))StLjb!=JlR z=Hb-6VfdHvEm|TZ=$upVC{XA^_%;5E@RPOl8%I}+&{$KO^Af7srh+a^zT7KVRf>Id~Ls_$J}^E2FFB_nlA5 z;P=l&1*v}5^Ri#(6WECC&duzyzUud{*6%aF3de7@Zr?O~zte={H=mK6Iy=Wt!2tZ$u;Wv-ihN8bIY6Nd9NNtJfw-Q6EyhgjtwGpa|jdgxyG!3bp`~thjlDNFH){8hG491_t34; zL3Ur_J#eqG5=6&e$Fdq$vRSS_!vO%R-&&S2^tY&;VZ}mYWbT7wRP|uTEuyR%VwNq3 zcS>Sbics#iFTdqA?H~xKo2Qb`#?{v=F=uX&A#BGB1gl5Be!k5|JPb~*$MZa>HlVb^ z;ag8?Lm{l6$;sP9H22&Lj68h=F%lB~NZmwzdEb2FMC$ysPm8^LXm)1R`RyJ9aESnc*RGN3-F{l_(W5az^*E0SvE5@E`in*b|6ljpj2;Wuiu-L~m6&&g2toIZ z!8`@Nid+JDh2M{5&F-d5Zs483e$oBr+s@B~t4GtY&L%`w1=|X?4HH;duKyuhOkIK9 zAW4*z3e>gCRK_<`pAsFGvY#?+>nZ1EpAqT11!ipAZLb?ujZN!u+E(4ZoO5NiF5xL= zcKK0%<%)bF4gL{kvXUQh5m4&zR%H%PbS?0)QPqt}CY*^>`wQrU`IQCE{~crgZyVmC zZ!1<2wn{t!IA-m9-r&y--XG32fIw#BKp=Xx_t#Ne+#H}rT%uRpgEfMx}v_AbDT2jZx<;upjwTh)0X+RsB?l(3ldt?40 zxGW9+RvNTrIy%vJ;qu{dKB2jvObax3I{6D5UZdoCbC@)|@)-T)d*PYsdH_*^0AJBa*pITag5 zcO2z?JZG-m<_#=Ml`h;S4)--2ceaKFjk1I19)y3~%29PTEW*xXw}Sxf%$9^YcBWnn zTT4V=j0AqK5|6BW?g69>{a&OXhznn=hzy(tMZ?h#C|`!((lzC((G)}9Q)-MpTc$=E zh>AXK_h`A!XbY`^IAFT;a!U;^T#J_-e@<;j>K9URr0T(|)B8Om)bFX`e%Xm=Gl*n$ ztg+Xf9x9#A8P+QGXIP*h+i8~aQFuE|1n=sR5QV^18mMnczQ;!qz<^RAH!ucxo zr@k0%{!}rwL>UDQ4zR5D03*H;8}(GAR#KjJs)l|ApwOky;Dt>DiRcXBkTH9I7W>V1 z3I|32#>9s`p1wHlUVu4418!L}PPJGi$23eJ7vr#E=AG)U$}3-~(b zqAA>BUP%|QcoFaVb$sV-jJ50>zg&XRX7a;(`}~*3d&)ll z-mT=)(|Era)raxk(gS@Pb5?dC7Z3O}8Q*&fAJ84k6ls&#CoK&ZoDEtYf9x+=6 zy`x-g(CPgAQ<05VM7^A%UP;EOCO?Czg`XjMb}AsauS8h-?H-2QCR>HYQKn1?8=|#h z4!x%y#70{WA%&18Fy~9_V%$VvMAzUQh#c&KIHTg(&{IaQssy}yO5l?VBycaM429~Z z=SQI^TV#cP9p89A|4C5xy%^^k0XIk%Z|H4h%vVlJ!VkCtPB z-pYNeyT^e(S3yw)UKZb?qo-b&O(#uV%nooa1iub^I=n7_&&QiFd~yuR@zlYTCbd+# zk!ka3cV+L8OjKciPo(~7ww&MxCexhlB?spboUr3t#zG4p0&^ghgNJT8)@Q%PPftPJ zCZc;T*-YNyw>BC&oN1O`P&42AbT4RH6bpQaKM;7MhkAh5dD^xd8)fa&KI?>Xb~JEP z%SakF+0-%|cUU0C9W9&Sf9z=4Sbtk9QnxODyBSXhN9u3jcmT_YULXMW%K;;->mVWb z;{5VuJ_7c5CP2W<&qD|>e*0w4>0q=sBtxSWHIeUqzeo1b?sf=9J4B&gFH(1!!isGtos!F?QC~e%Li+?XDPcjm zgZe2E?Rdk7vSo1q-z(_`%IRYO(zg#Br2-QQOY=G+wr6Vp$u19fW5zonuwTt0{1??y5hUF1IdS2~W?1$&K zR8pi7-_`Jn976%F$T1XPN)Zse_}IoOlJGhpi?jRRa7B( zBq4)@+5eFz>&6-n&UNo<{QZ{vurn1Z@bBhEHIk4hf&qcW6lEN2uJ?@uNEvx-(QJ}z z>vm_|A0-n-#MJ({VWdt4HhR&Em{CdfZh$#(A9d$7vA??mRn#hqloV z@Y{Dy?K*1&+>TZm0TXaQUre52!~vdKHeT~qEGicqz`KmR)lxJ;+qF!tO~cqEkor-V zNkbx#&|L5G-;fQ%X)CP`Bq}$Nalt>8{4dXYp^`L+-qh*ZB8bGY_uK3Zg;G}Keh$nU zyGk4LX7SJjqRRKXK|cjULIsz*q&S<%5|Zu^fKn|~C#^zA1%JBiC)L_{E1`4ngn}Mx z*m9Ux-j65`OMd-Yocx)(n979T)7lnAT>5KFh>`ezA$=6AkAG`7^LJYD9+i>c4&TqM z1lQbrm}sJd=ci~QdJMoPzL)X~H6n`qvMY4ZgVF@8lqeuAngU`adD<*5?XHSPa`a;; z__F6Q&d92QI<UkPae5$6#miRk=C3>aX+i6&4;Cx}4t4i$*JUA`mo1X^Hj zw;W>52e$rLDrDPw0eoS90?{@e7XT=K0lw5e%-PlKgZRCGnaVM{v&K|L`bDX)6gETo5W1`gi!(Ia5|MtN0Zh>t?CLJm*RR=dvR z&%hqu-*txF=X)#eT!xQFfa^JL!Dzx@;~o9vqDAN^WUq9*3wN>cmNTzkgE#2&PREsh zyeBRB$9t+m{@GW4AH{8~u{7UULsT2G4wW27HOLtG&`ClmhNX#xTq-<_iFU>fD&MQh zSHcx2|7=fDKx(4#Sd8~@yvT(;_zw&sGclalL1l2mc;H=fN-~q&g z^WgdARF#hWvbg5woH#&8TSNuZkpaTUS4TdJ52W_|Dk%qOmpo10>A0(5K*zN%PegA6 z-26JU6MnP5fS=)yv{7-XKl1uc=8r5OYC%em4dRdY%R~2_p?jX*Ebl-JTUk$}0U{~) zROE6JR&(gq7mnV!; zftMO7EM;hjs5Kc$JPv>;6WA_=Bk}8o@dW!u^j!|F5{Jgly7xJN%qYG~1vNi{OK)93 z%+wfa1qoL7@w%qePkCe5Iua^@SvDH-1`08OjT&;tkAY=?m`}!&_tAU-;VrVr%N+1t_K`;Xm#C z4smDKWO>v42U%}SI8K(^)-JAMJ%e^Ab5CMiYp`!EU6U5Ymq@a+> zI9ezrVjm_gSuNii_cd|FMfu=yU_U-=ME5*S-UN|K<-655J=(Eu(;hupArP>w=LDWE`7FiA-fK-~Mn=u?!*{e-zYX-wlDi#1-(0cY$gESJ90 zj>1bsPgx##Ze^kgz3T0$^};To)`e66<{GvR>BFGhL3eZn7oCGjiRcUSGngD0*7{_2 z6erfXBL+V zTCjEkNjNsQ&lXfpJ&j8+IEt_v+#6K>r}0;!a*(1DCy|^+M^utEb_NBK zH9UhNIg7Ri>5s{K;Qzr@(KLJy8%BIXoRWKJ3%T+4`Fi}V+qC^q&~)&P2}$TRQgBV3$R88s*~^8NqH=H3xJHfDJlufsfkX zdvK>d$mcTI;_KETXp;i1GLxi%Sl6A3xs>{ab_vo8hHq0jy$)u@*>$U;|+1^cNo{; zv8sy6TfTe6Zz?s3bCtZ3XB_qlT(4@&)k~6oD}zD_m;4iWxFIL`22RJrcti0o=7Ze+ zqer8b9}ztXUyGWMfAqnY>8-eo3;4{GMyuRYX)G8{N@au;ssc6=OVc7Rn*vsKLnrC0 zHvuag5Qq+wAsRPW0F9slQM4a1oCQ^IKwE}0mFOX2$f-+5D#^@0-}u40aeRmpIP~-= z;fXI)iUqPt(x+NoaV)EdOp|Y!APA^}Xr~y0nNrPkxNuf?D0SVUz4&8kt-P9_%Kw}$ zNcVF2OkCXeIEV}vw}wwM;_En5HDr56l@b#^IxL;%wI&_h@k}}h;p9L?Qq4O>xP9dQ znfYy-jDg}8*LJ!9Kuka_HCv&;JNN1}B@8$`sy^7pk-CI>M&R{Yy#udbiaSYEqLc7n zNvw0cUet#8btof@-f&u|gFeQMH~B`c|D1ceNB`pvAVi%D4~i)B{TAH=$H*q7x= zkP0ROsbqAPVs9Dv5TrY9ZO0ET-3fk1#-bN!UCwc*E&FuC#QrTquM92`t!xiMO{8ha zKSL$K77jIgf#T9qLGefXW}7DH4T|5o@>il*Ld^z28%;+DZI~dRh;S9|Yhr?!rw(YeUVIE3pf*Hy84ZTZk0Z zzBtNR3e*+nYLjzM>np)OoAN6OKA)OYDM7yNhM1%;iRtq*%&jM*P_5R^d;2DvBRFRR z)!%g4Yx^ohBHI4;P*u5#5r&nwFDFI(SQHiEHeh|VaE3cTTMysnI+p@!2%ooR>9?fd zB9i1xMLQ9d)H+hw(#$LLQ1ttN^%9B8nj*~qU{y=qxBT!#R;5$s)R2~qdzFYd%MOZxogbo$3S(<`yc~nqW0vq|}TLLZ10^j;8*+&D7AB>*Y zcuSW|(}=#UJ5&01>%&zOa9}DRzgYw904T+pHlhF;YZeI_q2s+PWLLUxWl>2qw&P*f zHKHAt_6X+|^y3p#;5NYmOK(7(^aPZ#6JlCFNYW`?PJu!a%j3^+|Fj;xIvP2!T{}mL zLIDdR7|>qJP!rl~Fy<_2a#&RDbqDX3JcVR2O^jSntx`I2Q4NA=mJ`v9-U)1rshfxL z(zTb?1;V;F-#^JNTsNnzxK$CRLcDVGtWB<7gWYS*D)!UqKD@hTfv6s#JyH&2h@Ln$ zTc%J)YtBZspv{~O!5MguT+euP%(n7sDU`aFkAZhdHkp)ky_c!lWiR_v*Ao0 zfGLns^V&)js}gL$!GAK3pVxFssOfUV%Iu<8npWJ!Y&fEcOROL+I02zFi3_gKkl|2& zuKiNz4gL$`9636DjGwJ&(!g2P;2kKhzDCtr%G=sbe9x~=Wn*;a3g=h+xs371$^Rqwx(F*t>iRwS20y{koyGdy?=wKMZJ}F5Km8FIJFZ!&XE*UDh%d|q;)nSPK@A-+U@?@>(e(^ptZVBTipicarLEgs=B+0|rcYV) z4W5R)1{$nq-*7?&V)qoZF>@@Tj#Mjz?h3g-?PBQkb0wVN4Zkxak zXhB9Js(0a6)n@zwZ?G@-N*NXa6zT#KdT64^Dxl3qc~=}t7@^803@hgRBnJER_))DF zAB%P8d9i*Su|_P*;mSW*VnffXg1yr1;&+I8)hpZYYVBz9?zvP~R;G`4$~uPcUXFKs zsAuf1{XZJ-o0tG}EQg|T9enq|AXQ!ypP}7u>jY>)*C(<*aJ+t@prH`26Km#3-SLt@^yl>Wj1jg%qIR` zvuEqZAK@$Uza}T>gY_nl#Dk&M1HzjgdRQ<1PI7y#7O@Jd$+IJ%wlhz@`-tVz++2Xj{ySvRZyxhdDM|CHm72 z_ew)&j&z}E&Rn@SbmmEc24xq{em71b2IpDyh_IYLGc1=YMHEmMP^TA;2TErXCVX9z zFtp%4jNUndF}{_8D!AKqQF>yvT>~QZTe4l*OR)j(QX{g@UviEn6QfOEuru&ZzPzb? zB=C`s_=5n6LY_C*uZdzAe^Uf#B}IT$QUtKl76YjwWsIyeYEjh{=9%H!a)rhb{kr9F z$3F-y=%|sMvF5ZD5rV9>5mGm83~}>$t203(N#{z3ZNTn zy<}5mDl2aN#CPGncGbE)4*Tw)?s`v>xBn@vKvkhWW~8N+YHYGwR<-qIQIxbb?z*d5 z?=l~UJaLFPq{vjAn}&<0pLb*itC#l@8O>73SiKyqE~wa;3RPnfpaS#zoB9V&waOs% z;Hfs=C!*t*x*#C5W5N5ZOIJN(C3M*P_SUc_j-g4bAvPB@ zmZW3tQ0Ozm+FIClPoPt2dig3JbJ-F;y;B-{Nh9vC1mA*ir z)1Un~`eSDLGQ^R9(Eif>>n*$9)$?)6sS;<}TfA>^_X+s_S!PCyHEZ?|UQ3_oIu7as zQ9&6^d5JoV!NjE~dC{$+BYjv$>UA#s$8)@7K^06ORT!SZYS{w)0&h>ObD;be zQbCWPzAvJO8-;?Rg8(LRIaVErta7#=`*nPT051mL2QLQrzMKnnM7ijV*o z%vd;wf$&c(VBxsX% z9N9Wurwhmuov6mY6!vhWFi~8pvi}rc6DL3b>|Ou&JsldZIstRpPR~PKU!XQ-D(>Y_ zNBdpD34piLafz?TxMvo6Y#=U>B;~)x=)PO1A3z+yvEIXqDU=mIKt9r33qOEvxvM=i zwf0)sYxn2UO<2wI)7aqp#SSkZW=Stcc(PP7Vq)32l$qt*~^MF*l%o2v6t}Id&PtmeMVRSCIb@gBDAl-phM2lU#C=hP3@3mY7kNL|YLIX>d}h)(UG7csC^Dc!0`dZS?;6--nlE5} znJRdh9e{fggBgp|x3dk*e-eAek@{CyOpwLXmz?mKtT(xjucWOv;YqV-0G3tkrs_op zk*GM;eN=Jry=jKK9f=uU48wR{kSQ$}c(cFGFvio}0$6v#s^SY~xSC5wj)4w={%j%8 zFkPx?%|h}OJh#7edQ^OG^eAG!qnvN?rc!PIT(OdYx}B0qc;SHv0h}A*@oSfgedzQ; z^&ntd;~QZsTNwaimR;~xi%o5GE4I`hGCSl8{Hc#u@CE)C;f4Rx zZpom*1e*R&3(*U6ueNHTtW-xX1i^7Df5Dzra?nVeX{3IaWk>Xk=5Ycz;_+^9Uh;YrSb?YJb?up+kOQ?c4rIq|i*$f6$> z9K3CkB5uzV>a8jC?rj|tpasLHIvB#Vji(goVjS^Mh26@0b^|z6Ro&L({AC!ku}0bH zP0YaQD`Lu_>zP>BQ$7}(WT!CPu2y2K0b_h_(it+WH)A_K6Kh!2^RVI^mQ02AZdg+n zx1gUzUMW5bgDJ10dR>=)j1y`#5*Vy+;k$QSm!=sh0=w(W}TgSvr%oz6C4aM`}-L%0;5 z-J*w7c>j=ns@MubNh;!hBVvt%{xgd{7G&S{#r~K9mYZp$GqUzFPM%TaImjAx?(AMw zb)rPj8ua2ogtXjDhW~IrgUoxgTL@(_x)7m^@kaWs+76J;s=$aj@q+^)pt;qW*a{+Q z?pR|bj6?|}A%;1m=O&GhH3IavVmrPpQumyby60p4uo`$7M^&b9$Xbpm9Jy?&M2O-= z-lS1-;dsY&-b?sg3;d}>bme1PqghzAMD(!jH^nV=eIokOZA299*}SiGTX{ZZwUM9^TG! zXn1qHsGIRli;fSpsEfNrk>ZoaY{V&@*-|iFx=ae{lq}`F>QW1vypQqeK9Cy5N8un- zjCwP2^%+>v1ZW~xm*OUX=&kXh*H;VCLW9V(doLi0%pWuC1TM1>fPn%6JGv%PJFP#i z!z0t)gl!qUZB;SU&@cO_Mg;puSJ^$NAN}6$!32o08&87KASEitbt!F=lc~;zS3%gL zn}^!iB-F+RnQe4DhW8H(y+1be{y~}VN9K>mP#T_V{d{1o_M^!3@xxAxH7peiv*))( zhhTZttC9K31kI~Rkx}nNuKq?yGjuV27CHV<NVOpzH7Ql0)I|}7k&+Vc(3T)2LtCk& z)l7OTC~CBndK9HaRZ%0fv?yvYV!Yygt`;5t46RrG?^}EAbN0FS=2427OLO))d+)W@ zUa!6OPNW(#j@KNLoXJnr-VYY|@t&lsg=Era(dsq32S&A2O| ztr6F~5bN~0#4Rx78qu&9E*ck*hi;;^;LMUIZe`sy%rFF0mvLt%yB=&hPE=tG=v{^l z^jSTTRf1=wvAA}n$s;X&EQ2k+G?uyxeIB2pPh2Qh4bt%aj)#Kjf>Pqm^se&QIr$xf z8z7>SsFLoOA$7Gt;^f;Kea!Go9AzDy=6s!ZHi5{_E5m^Zdj~_0jL_}LL^5F-O!OCc zqmFvNCGkF#4ui7Y5Y>4jvDcmYZ!Vk21yuOIW=C*B>&0 zQx1o-9S@xDZ_vQ0Hj4~O4xIjW-MR!$D_;J2fm5Np7uZhVbjBIKVc_(SCm;_4 zF7C2P6OR?GQ#_{gKcD<3RrQ zY(&(KdAMQ@&$%K4mmuzgXA2z%<2!b~IwoW+Lxot)BJ*Nm*2Fgu(s1+u_ixVv@HUg9 z>qat=<%?~YumY0-mkuA1Z__}`TV2X}2$ck!hDyY1Vm;%95XZtv8t24OuHV7PdjN&l zc$O8H=%Y^07M1q^1`1^VJ%Az&vt^Nq^Rr-Hg$ch$(t(0>Z~T{>9Zp&5Xkb$rhJlJ{ zl9oQj&PLJOo_ITZVaBO;0swl2)&_4g@#6rMg>0H>>PVc~ff$_p#o@zQH4_O~x5?36 zgHhlmJigac-vz`NpF2r{&BxO6$=zjWtzgB`+f^nBBrGfGGH)CDKB%NXj4bRrr7mOY zu~gm>$I8C=Mn9>mW@nC3?AcHJp9mhoq>QDg zn_x0HjiX~2z0D&SSuHeE)|EH`+ijjx2PC4+bzJGjVM;=bDDGsnU@Gus&#`aO zIrws>q7qHf7!18;OgB@iGu)Z>#%HLZE0iD^bjx`7cv`B7ayY?|7>!U+)_*lf0KjSi zqLU}_$Sq$*!9t8>ukT?xI2hF{=0%|gASk@n(eH=1WwUfloI%aNTyWaV9=eeSAU7y^ z+1`MtfrTncqj;PnDEazLWAz6CiL7W_`EUsD)236Q0~TjZ_>v$YZnVlQg&69^jk48{ zeU7&s78EQqWD=Sa{at@&3;WZ7KC!fnW=j+O(w}ZihiTXiCy5+;D6>a%6uTK)w1;g6csAAS3-`lH!|37*h2_+z@sB!SCD*+%~xnJ?k~ zq}!FqFYd zNzA9#PS{bj)>0x<B2l7}{YCgYm-2qtL}$y$otBcN~I#Uq=|3C1 z+sWe^V`X3nm=61ro>pca+0AA|V0iJ!2K%Sm8YCsdpaVyD+B4?Wd3y#8RuC(RxL7hzb>u z?2oF*cf~U*H2;9-&TDGX5Fg~WjR@oK%CH-;*Cdc z7{m`j!Vktf(|2*$gVH&C6f-_=A9gl1UHOa$3mv+hu=>3#Rc5fIOj6)2pGuKI8U{f9 z2vmUcGC)2eHmTpu)E{@czPaPqpWIgc8(AMjfW0K5k*}S_Bg5j!L>$%@5Lr0_5Qv9B zE;m4?CZdJ|^>Uc0D3HTi*ny>0oJZFD$kC^FNnr)04iE8pAzz3PpwqQ zN`PxCVKV!If>5PfgG!|^pBlWVf$s}7*>C4Pg_|3!N4<cYaP`Db3>{*i^7rm=b8E+otmtg|GK8t`jw|RYT3sCc;+w31k7s#z!n6c zD(Uf1ftn?-Z^QqUAKAoBmd*HJozL7Ie!V+GzxYF0_bFBgf00&X#LA z_-NL}+j;Yh|GDK~@IUd$2n(FPBNoTB90edwr}|D)Un-c>j~}9h0dgS=)puc1%1ihB zwnS8WYZP&$@C4n25+Fq$lp>ome3w2`m+7hr7M<8kUhz)hgbi3uwg!pk^rO?UtKRl^ zux8bMMBVa9Mt8IO-N_VBI2zjQ(;!ShZwD@v87@r2`Wm=!XsL?ba)H@~3zywtU`hqU zg@2Gtw5yzjq+Q365?yvghSZjfy(9y(^z38J_?!(j(L*HzY2Cd5#1#y<8VTD(BX;A7 z1SGma1>cW7SxJRG6te5J{kKSOp;V_%fG-Rwj4E{dD;j|(rdi-r*SnHiHG%W1Nt^$cLZG89f z>Wxh;i5VFBfQ*>AY|o2!;@4q0-lhjR=`Zkpv3-7=TD9G})88y<4S1IFP+p%fbv91Ho}-dY7h@b0RRbF>M5PTxz8t z0yC9TBd|zNNw(Ty+Nwhl*b&q<735}4nulp)-1`tOT@pMm3(a$XPCO9o$GY?t2+`e- zC5{KPQAR^`$q5!fbL1~PE^7sD7f5uRA5@|=@)gV`$pN&WEo}mN-CVUfB;EpKj6qEu#LYCJgG0?N`oAw00efLQ1zs;h z9)Ik1$ai)-O}y&1Dacobn$pYq)4v;i%}zkfK_U>}CT6m#u?g!}*v`otGgt{0^GbLl zZU}5BGY$(WI-pLYtyr~Z(vZZsTjd;j9Nz&IUq>FQ6J>MQth6d*o1_|jJTw}``3vc* zeSc!s`KI@odlw0sc(>aHf`h7(fvA9eEbq(z{G4h#5ElJ!?+tk({|ih6pu6v z)ANjMXiPtp?LB`tSsI=>h2q1v;4B{&5gv<3ZBT~|fpC7yKa(E%ri+!&ma(uKy1NH& zHteiYdtjp|t!laUC8w*5|NW6qP`ij^#OP>?nG4l!iuHLBWjc)=0{T~!*z=fV@?3QY zA&tyca2j3wDq2SuoZ(gALvDl!9knmT#Ohw=9zslUpqkVmsCcgzVs)mwD>CM^vz*kx zJX9^Gf&zG$C(s)-6rDq#8KHJg$bmMHd@xX#CvXEs2CrkGVbjgdB^4NK;|JsW0{zkX zj~BGRf@#T`Q9jHQl9?(njIY{|?GBaBXK4&ZM7gzBlBQ;RM+BuwbB!}@dqG|H z%Im;R^Gl|0)$>YUKnf`J=VyLGElBR0emc7PVl{cCqpO@)9hh#qz(eVZK_i}VR^!eM z(1dto(1og6R%5+>H3k5DllY|2AXrAyQvWPd|Gnbm(bcLe+o(UA)PjgiLqya7dF=9J zBJOS-h#5&|8vyTT8bLq-C2YoHj08cr2rARt<9eehHXnFH`M2I=^I=fvobdv`m54u* z=EqfR&&rXsO>=e`%}JKmz-210LRtn4?j+M0j@~4gPp(0)PQ8y&QpFI%qZe3DdJ=?d zJ4o5!r>2Jn!H0X>&o`z3Wsp)Opjj8TjQTkA#A|blX({G?`#Y9`E{^XDs0d4I<+L5v zVVa`|NyB>-G9TtsjR%gRagqy^#&=UitCjtZqG&ce^>uAPcqBi7YbWu@-_K7Lb7Qry zD;8f!-9C}i*{H7HbQcg89G$FgW7`37gAT=2;~p?@4zr=NulD`hfpc(pNPo70^ZvKS zVS1P7XVx$i%cZuBSvu)l!lap8bl&VrVs%`AQLY;$2B{dYcwLABIZ~=-F`k0I^^qlS zABsxssXy$-0<}h9g7#_-vg3KNI7-%G-<Lmy+{3F75ZPX9%1$#^+} zaxosavLTb5IH)m!M=4b|SQ;+&?uukWS-8#tjV`0+mou!I$rkFmAVV9oz)%co_+tQ5 zB9u)v_sGN&AMr}qudcYT&r3c)4l&TJTA{pK=+xX%+GL<{uZ~-()MKf0YfUxn% zV_`G5A@yWPQpzzLjmR#E;LALw!{U-j%}Q|ndG6mg>b>nucF?#>L*V9Q@?zsY<&>Jq8^DR`UR$ZDZ6-H6l zS=U`jH{K(0h~v$7aME80SW3hO`4oyH+-z^br|dW^QIrn^SC!ZYHS4-3bf`arBmRuU zc^qSBBvv^?>W7^4DNZ`eNk1XOYuBF#?+d^AG@QBrzA$`%j02!rVxDm5tHEvl$dxrF z32oR2n)U*AWo zi`C!_QhE{LXIkEBoLN04_dqO)?n;G(p%t?u74G4tgg3NSs&_T7$?Kx}Sp3twQs5Z? zLOF8+KB|l1Lleax!T1}Q9gloFC7rOY`5Spj7Q-n+^tL*C2id)(Lsobl4pTmqGZ-R$ zw@)`@HHdY{YOsq}3WknR@3dXs7kuzB7_#~-1DRwQT_;r$!_{TDaDuEC!;{w81cIBS zBD+1|^G$Wm}Kv550{@yLvz#zjtzA%2bNQiJ;+q}mav24aF=5I9#P01aT>GgT91Z2M`Z_y!=E(Y;M9VLGA_K2_WiHBhb@$+-5i5!iHdO!R?`n#QVzVC>H zEf53Q;M;9=7oz;yCN@E$A7VcSREefjEUE)uWr2U^1QFhO}ztMo-@koa_7gbE)Rko zde`BzE?GSjQKqjl>EqFzIr>?fTS0?0`(c#3cks%cQim zTn5v6IyGG%3=+N~vaLkabc)tdiCcFdf*tC7qr*2J|5Gnltj?>_h$TEoEQ04UR|h9cay>vFuk9?kdLa*038QS>vp`Bu&W%cGZecM|`GWB*Q+YpbuwY|v| zFNJ+Unk#k~k1W<)aa{38SIw<9b+?pThPLs@rkbum`i-s4ivi_GKc?w2q#x0A3DOq| zWcKRu$XHFYV;ZmNBIkJ_(%0zo0;J=b&O^FR(@~^n9GEW^)r6#WWXSu;J<%GVF@Te(9AP#$Vf{;e~<6yCZlMTY~F1y6=r zd0K$-ffw6v<=-!tR`%@PCd%rtEF&+4)aT2Aek=Fy0LoJh%A9T6Kqf>W4+tNSK;XDyURoE+a$nuatH8TVel2^wTZ9X!8huOkO*(t-{JhFR$@A3}dyY)8Q( zdl-D)k^TvC5-#b;w27(-&xrWQ*Oy2b-_ZfSo0qlE&!?)SeNFGSVfdwt%zS)b+!(U@ z_Xhaw>)Qc*#~6IEFWSUcFBdO$*`ssnBoV zksZKyfx%basZISv!0O{08^$*!!1wlZ?YFPx5@}yfTP{u3Z+v_khw*J6;2Y5ad{-NM zSPs%a2`29lM#GRK`juHz-Es!y<3dWe=YoA_m8Wvd zfVX7UW>gllwSbRLG+^Gk@&I{jp&sXY=ka_}jO~Vj0vxZ4o2_w!AzgVkZ}@%sa(;N>5Q<2>n-kewP`68RWPkp(I3zdyZvvTEOF^U}!Zq%G6RD695% zR`AE>BH2Jrm0P5(Re26;L<2lQjjvm&A-W)MOBn45YBWlXwsoPwPRjC#CY$CLzQ`Q> zlKJz_oHY7zg^cWy_2YDT8t6w%#)2Kwk53kJ&Yr7tPz`zIkY{Y-B`Seg0=b_{xmSwZ zjkL}D>bWw%8hTs|Q!C1g)nAC~;n1UHSrg3bH=>tYKvlWJ1Ah?53w845hN^FlcM?dk z%LSEVeXFQEKURNn0ZaljDQXgxCt@N8j|O9o;Axx>(Lq~S`;3Diy&`v6c_-c_m=Y** zkitCPjhy!GlDG^P(NL~D&?cfbktYeM<&$#LhK3YorO-3xUZn?Y zb?7Pb>A{TpOsPqf;S<^#oaY>%@Mq*z2QQ1USv4QXU<5ZNxTlxR1VOQS|HVpZ9JEDr z!k%uI^fC-)2WAsg^5QR_fenWLNYFPY3*zLxoz|ym|2^7%Offm_j|T0>RJ(u${BjE) z>Wl6v1E6Uy5Id(<;C#!d*5#lxhqAJz9ksZB+YmLW^sJiQLH!`3ON6;z34j8p(T}j~ z-|f;4zA+YGYweFm4xbZ+6w%)5SBwvZMoN1z9R+OQ1(ehq9Gtm;?&H3NXnYJENz1db zI&))~!Ws@ghPOxGJ9jHTibC><`SOWJ?zvCtYkryZsl{*>;+RZ5z2G@FM;wSqkcE|p zwV$!Bb(WB|@GTbC^QiQsCvQt^pYbxKsWMZ!zifs)C>B2zo#^6dtPYCrR~B$E?riTp z>}v5|6%hxgu_Qe1htdtiAVlZbyEL?o$55Lj1wGo9a(6|8lSLr&0Fw zIsDn9hw|qxH-~dMTiTq-ZVqH1@}_ljcbo|Rh)-MN9Q}hmBg=am8%4aAwQP}uEIy;a z<#}$|xh#9Tly$f~rd2LuCW>6HVzm*;)vR!UGre#QVzqsOYF0R1NRq@g5Do-XjeE!6 zfCG*qR~}~smE3>#y0e4!?Ck{zWNWIwZ_~fscVtLIlJQT!L-Ds}-w;BXZCJS^K!fpb z#Q@!|e?$E?>3i|;HtG9e*3YM}0-)QaFD$09ZePgOCi81#d-PcD1Qx(lIc*`^+nzm} zzklj$q9^tHw>z^|}it0V!i!a=VX5Vs@T$V&c? z{LJGWxsHlB9#STmzD2hv{}9zU@(kj4^#8X*L+TK}H9qUaM>*)_ul|IyU&y)3 z&4H;!uGh^6-efn2G1cYwM@*fI+?+g;n?qPk6pLT-3f?pLz`8lP)ofFp?9zs7v%ART zKF`z(d{w6RpLbCe=S{{HSvNr@Lq;2V$}En&7!3OoyTTgLNJOHKv93hqOS!-ZPVy{( z`cXiSnGDw7<4*5BuWm_YIF>VfIW_QISp<2J++de;&w7$;t5zMdFxXJd8W4(Cf=E=(H z%>WZ$UQT>;!i0bgF)rgS#i@c1#1xH|Q)_>LBmR?>z+@$h? zW;ps^;P*$+{~0Q;jHexW(SNoW*}R|6W-v_Ie53$2T8?ed8DVdOfin9^oGZ|EXJlrqd=e9+oT#)v z`ipe@I%HmYel4HYF28P?uKZf@l*1MB>(=*`UkluvwEU`UO66DeH@X@AQmLNm1=8`S zuK+Uq!9MwR`C}QQ*Vg>${MXX+XU>i7`qMw(to)fL8wRPS&>HgRiubJjyE*g>6HZls zI>ya`&Zhd){oZsqSEXGZN(Rm#9=T+K4!rXPTq-Bi`O^>nLBNKSID$Bdla6z3&!48# zxA`m5^Rx7ZcJ-~#UzML_PbTTx9`7nYhqyUu^{uNkPK?*L&x%RPr5;i}l}qXL?TI%6 zF0o1N*<%`gOV{7*(~3O~yuKa&KtteyOk7kUzKBW#z0jdfHEE>&d9Tjx0cxc~(J>qy zM;iJH`HUqU|2p-Z^zxfNRq2a`{Hr@ZbnY~j-^?eHVIe zC(lx+dYqfXKJ>KPG^fzbVN7|L&Dq|~DPj|$%Z7Jl!aMJs*9?tO8kFfgC164LYxi-6 zW6GK275JO!-KJFw3`l4E=}puul~gbq&GbevD;~+MQr~y^<3_*WG-!%8g3PM@fQZnS zCPkxt1+=kRoM;ZYB}Jp4JSiH@s;yI4Xr&vGzW;aAc%TJSByb%@l;VdFjA)m%FtwP( zw-T;^t6J=upqP%hWwJ{iSqn`vgN9aO9YgvEol`o~SdHGAH#7An>P>u%t~=??V0*B)J&aX9M#AZSMaueq zGsCURoseE1mQQKdpWk$C6f|N~zv2-`ALxN^eM9wOfty1QeCMCkpHFvl=+9s5wXuPA zrJDop(lG%G6J^Hcigc9)ex^;|Tx9A641`nzZw&t#_+OmoNT7H>;T5&r@8`2of$e71 zQVfXKr(h+I_8SfCcdYM^;UU%Q-7E_l7^GuZvvZM$dZ4Q zW27Q~jD%5AwXTf-V;To)w|^uqrQht77$z>WHFU%?~^B7W;qA z+P|B_{`(O-KQPD5p}cRtSs8t;n?von?Iz8sa&xFXSJ|9X+#Jyn-!GRL9qF~)&A#=TtRkyfG;xFQK4!%uwHK-{d*UHNN%3W^_TM7}wDD(IsxKfu zq%U$4=u4~pcW))Lo&I~x3#Oq?v2^|St3k0e>bDO4ce;3T{?qC8ap+&#@vr!P-xSry z;s;GTr2nSY^?p_LabGuw8np8;^*_Db9O`3Fo736Nk%$L&XZ#NwH~aj?=M6sbKgNe^ zY$)ZN`9;^2XM5AMUaHQ8{E}C}a@a3FM(v5_qx~6~e=jp_Gxj8*pPaz}MpVKP$47D$Yrc{6d{9&!sjM(-T<4#` z;J@+Dok*a@{95x*OWsPa4+AH)>z_85tol$i*R;XchpbmrA9itb=xeqtR(;sW&4Krg zd~bWIuOD!rQByv+LFLlq=0F)_NEPa-ZdhvSf_ot^1eX;WMHE_pG85bpB@1iBDGJAT zNrB(ln_2P5@)wk-!9r9TWx0=_?YJROmj8Q>BpPMeltr8YekN}~t7uN3c$Fs+4nTx7 z=WzjKM^eFTw=f2OR5@#cVr_Yo8FmD4xX~KwOSVAd4>beE^7m~d%Ya8Q%%R%>(?a6uv#5r$V1@4pDRP45}6ImmFd^JNARU^P7qkT4!$sE!!8kIFA6-z z`&JhQK!wIp?nv%!E3$JSvex7^^@jBFDy>y{!Bm`hI+&jYhqc$$RYJ5S{rtwBK%vIC z?(-X4{5?H=i)z}{r@E_DpBnFVv?d2ybM*_VPj|UF?5VClQvJ_lH-}#4@@uX9-5mO? z@eP_&;^t6q&#^g!+#D#NwMrz)Ods}xt}jGWv@`6PAZmKFKtVITr?sl@jAm2Iq-VTK zvs6++e4XjlGYj$2xf&ncd=Ht_@%ZRS0d3-=%~h>I{LhMyT6BWn34GGcZ#1PAOBWwK z7!+&EqqQ@?fgU&;qlMd8f5-=TA9_iv(qGh`tVB^60p@cp;SSwmqmeZ4GwunC90V7~>xRtQ)msw{l% zi*#R6rgsC7kkV`u5rEPPPCuG07zVNarGJlEctti*XcGlCktc~Tt7qn9rszlMxOViz zDsa{U6JKLz2=p$PDFMlWlfrq2z`@QA?2y%99?Fk~p{K?y4-YpnPHRs3qaUzNybOe^ z?xbl#xXsABu#jbA##fRExuR? zpELjN8`N7^+9OEg56%Fz6oa|}yHU~^)Hps5`Gd&>rnFWoV8BL9wb?(9u$R!K+xQ+yuygD440V(!P8nS7c;@1o0_wo_J*KxM)VK4lcjob|)S|tQYA$ zSfh@u+#Gl|hJvWU1RBG!?(4b?flR(W0b?qU)#b(NcaPP_SAZ~n7IwhX7s0r;kJVq- z$R~B!ioGmWmtdi~>&>IMm{Z*ZsZxXeT;7X`CLCRW^5#c>lFcL&>HPD`?Lr($)~8;V zseFEhe{KNicKtJ0;^_5DAGc@!e_nU{uL4lt{=@jO*v< zqYqK&!z=waHk#7i&0$12`l0Pj&Z=9TI*`9J)`db)Q|{HZk^-YafoBHW0?!N;3Z`Il zygRiL0ud8t&Z7zlyptpgonfq=NBz~|I3m0)R@cugNM+T2#gZ77puz6i)lRI2^X;$E zChaYRkAd*yU@bYAJ)S?R8_y+JV^3(S;puV>1Sk!|ST*VEDT);zgc#pd_L;IFPSrY$m#(t8Bhk%_i9xUbBjJvI&S+0RS6$MMygAzkt3Xfd0kw z_5C5_agzP*oXVfizZKuZ&&kqC8}V>hpWl5qL``b{+{@Af^K$y{|l8OitAIkh5wTMbuQ(?Y@w>^rGL`eBr zLtnzYpe=_J+h;3DK#{2--~FoJ6R*Q&QW>OeS+!3SHoqh>I8(kEGF@<0a@1ko=Pn}% z)Ht5a)%Uq!D~Q9q{+M?6Uy?nWED%(c_=Y_DKl?s6W>4@HI{$s{1EACBjIawDuW+MD z!Ta2J@05)+43wr%W@m=81 zzxctMf#jp9VmqH=!_)v}R>GI_t0=G%TERq!=ZvHfC0RZr&ky9|`0K#`(Kh7(_R%qf zbNS!w1drVhL~~w>lh=5-@LxE818y8-J5O)l$vlk)PrWHSaj+5C`<7gepgqVW8)pR6 zfIkCI<(EwFqEXgTeGcCP;KR%V-_ja`O!WZ!UcsX6qehtP< z48|yvDjwZe4T|Mh!Dsmrd`&ZNM|_b(eKo5t#b_s_JQ60avx+cz97AZz%lF;2d>uL# z>Nh|bkjKNy>;6NPC@_v@z{?j`TIflAb zj$j}V5lkKh1H)-cFf;CBl+K_Xg2|&`3fmM6Isz4ph)4tj(kPhY2&x7zzj+I>B^`o! z&|K~{msxUwU=r$?sY(BlP%Gm!K#{SLaUUQixm-g-d>~*vMFVoonv_x9_ z-!6^)Z@13&|297J_FLNjS?%fD|BU_Lx!zRmGk!2mRPCtOjQyL-f#y;umtV>L&uC8` z|6BGyYrP5OID#_v|EjTnbGg@CX33>}`#*i%?EmvL_Mh_#A125DA8wt-{f{aXG@+KaK=Ks5!)34m6iSx%^7@e`UOZ)bJ%DUPAr)liJ@Wr(Dzj+$_-+Z0z|B2k+*8YdLr*Ho=_AjeN z>nHx7ZdL6l>}aR`o6CXbQYe>X`#0xtZd9uLEXG999({GadzTveCN2iz3j{^%J1`Mq zKIasVY+y@exTP@rBrkT^QnQZHmqq`1C1G(w6vI3Klqk4-H+FJvHGu`^WMJ!`{F3RNBlO~<6pwZ? zAE?*@>H8$zd32}6-Wa@tz%NtWh)12g^AE#UD29FFwRp#G`+bYod)Vq0?=QpO!_m5z zBEK_mB*PzS`B84B(!hu+62dlDGl5^I{dmr`E&lkN>s$PBO4b|A?=t=62;C8|!xa=I zkISj~E~9eaJ)h_9f>7)A)RALxs& zB9(!Lvv)Bx#Nz%j9)tfxW#(jCXnNaQx%eAUse5icvG-Kr|VUPbO;6HrQ3jG+#(mz2d`8}+8C`Ya~X?dob zZ5k_%oEPKl>gZ^zrN%EI5PXC#a@x)+h-qVuO~J%Uc?MPFFwF_3pdofnuVi@d?8&e4 zg+KNRYmJGu;>%5xH#rYjlXGXv4Yx5uk!Q;d7qbd)AU>{jfaFGb3{$t{(}a1mLNY`k z-4-F#0tlG)+##o=o)oy1lze<48AWr&= z4q`8y!LOpE!G48c=i(-SLK&!L*uuiH#g!n_e!qRP2nh#Q8`cZI>>|R+V2=Nl+G9ZN z3p=T9c8r^pk*v3RPpfE@8t7-C{ao#Q6@`_8eEP_U>Xq1t7OYKuF9L*~qcczK3IV1#%$lU!{b*{aDUSO7-zE~S(DAo#j*wp=bMcb`X`g$%g<*bhXsY1rUv9#iH{fM z(PzVGv4)BS>>uZ0(~EOK^aGR(?A7!iz5b~E2YbCM)@}_}pl96oGICOT#%Qcg1B1%F zVqhZ_M^s+-`T?1p2KP3(j`d`Z7j3M@Iauadl9`Hs`f-XMTY2E{ScHjUNg(3F3LC!W zen>37M=U-N%XlW7;ws)=cSd0>Y@@%5=l!(F2VyW#De-o)J_%@`L_XZUFtz;_e>tmE z5OR(l4#_!T!>>E{^jQjn?=Ea}}x5@p*6HosB{l$&NzeaztXKxim z`K3lHVG`8Jcw}qMp|mrt%9;LRPTybNUt~5A-@5b{6aU#tfAP}p9q2D6ZLj^s6_*&q zXz0517nwJ<(q9}S*w=G^@z;pz=DPM5*QjXLTYphBh3r~S{l(@2tV8{U7YE+|(f(r9 zP^Z7R`fKekx>u5u>)v0yH<|U;rN0qg*=Ji*qzj1|GDkQUkuP)56H;G z9s$sFZYDndD0ibbV-a~i3f(Yz%@GACiG^gRq}(|r4@5~sLHO)reF?fgr=;9DC9xl& zya*+W*x1A-49>A10so%FzpLrgc$^ZtsRE{rC#YL8$Z)|QI_Cbo2GXMy^R zT_z75#h6z?pfWYLNOBObn}cKH{YQ+<1EMjASsCIzS^B9c40yzs zB;t`dW0by{3q$lhg%ij?-%HItecz3=^i5};PoE)7$xNkhs?sO>+ZHK(V*>i>>+o?T zpT3AoUpeU8$kO*wMTovl4Sh!i^qu6>_hq;BNZ-mu{1Tw$-`JBK{#Aj#k(Vp~28Zc8 zgEWAD@B93F96MW#e2YT#$(KRx*VR+`H(B{70k$LGSe!3eEd?8ZXz38s4afTre2|~J z9Rq8lxQ{;5kPAiU1|O)V$MX0wz1k!ty~at;cGB}~x_*)Bqte@G^wEzHp@47?{D$^P z{91hdi3kXfsfg8|T1Bu>q<|WqaOjUTM?^!A=dH&-*0Mp zUcPPARW`o@F?E{4p+1vt>M|5+Q+v|Q?2*=W)U7otIuW2T4|xC<|Ab*uaU(l>TS~+j zrk{Tm(%k{+DP5mKXR_(u~R99Feq-{u5JuvjD9thFY z18)NXZ}*l%f5LOhIfOHtKv5dKW$?0hw)X(O56#HA$|bMztgHona13wXtOeWPqd%i} z_vf|CcMFm-30sl1U^{;GwrB7>kD5g-qqe2(Q!myASDbLXvhi&)lY-@g%0aQEjo?LxTbYxE#P)dl9mv=MrxYm$O zQSj?T#oWnT$ep~!87u$2XXDCe$sGGjrgzT4e*6e35&nR{{iv*nj~E*;CW!aHWP(E_ zJAzM!IV2Km5wYeGYZ0(oY^n1L11-LCwxL2CG_b*`R|=+8k442e-~-Kc4&5@$KEu0c zZ8LN+$s->^qgvZ(-05bvR;TVtE-8)GZ-|L^1V?K&7=5T2eks>Q5@=NZZ80kVJATIAOfO=t?s^rjjhS;=Frn zr{xsqR+yzH@-nJwv0b{V><{FfM`IR?t2tovB@ukI2EEM5CXDX9GVbj0uUPC|FqeE0 z9U71xbAC;dB27OrP^7F0`@y!uAbSZ&VYU28*56eJD!+?3c~HVKOq5B&SP3Pd+u^Cp ze|fYu4a@%4*D%^D_(6N z_p|h)QJ<|tu#2=jPQb7fJ;{=C-3#UM|51)c62nEAUKU zY#KA^I@(&2;k7lB{OamdUavYnXz1ui!n#_4t?tgN(8Azkc@I25`P)Hx|8PYr4do6E zmA_Ela|U)q-j}#ki2uhlwXbsPBJY6~U+eNtJe(x&ynp{T@@^QH%IhC6A8i|&EbnTZ z&eNW}hwdN9o73`~LikgR@A%-Ym6|o3M<1Nt&X?ShN=t=9ix_vz@9JadbTQ9xS4w}h ze7`pFcW({5MMv=uZ5#iFt>Ld7=X6o(=PG^%{^bL-{fIZ#&w9d!{WeCZ zj76E-$`~AT?Dm_lKX?C9$F^~QJz?=5Kn-q_*AqtE`FpJ=U|K1d-#Vlaa^U<{aa*B3 z1|Kqhg_W2k=vD>@1i~fgpH>+@cw3%o1}d2*)B~I{;(?erps{1(Oy0=Y1EDh*)$OOJ zIL~i~nliCCS(l)>I{f}t$+P`cHXN(Ss=bk;(RgIrm8uWdoZ`?BBdQM3a8itIXqASO zg$8%v&KQq987oyIZB~kt2J41H5&+>nsrVw90>Kb<8hi+dKI?NsG}j^#R!r9!5^%-4 ztUH@wp2+-dR;}zx!lO*`6tc;x{e~&NfQ7dawXDhb2Qr4%<26OR!dN#acP8lLP+G>9 zprRS~pkjMaF%%(g*-*5B&lvtA-kq-lTA59mqXTdT!2lrxS~RFgzI05ygR^6Gi(`Ed zn|z9Vb6&CI1;LR zLq0}1M=RTU7V?`|_m0Lo{S;$x4M3TI19g~hnu8g$Y%d21P9?8O*@J9@PDU%Y4h_GdA7{U!% zn-49Nf5l~j)`#JuLpoN*mzujIcH#iLOQH)dAW44Ym9B^XF6-s1_FmuqeK+0P<2`*6 zdHehL_s(jbao@jxv?oQM>fh^c{k{Bqu)pY>y zQ3qbCv~ia!zhTMa8xqjg>E-O z_e8gmHg=;^SH^CPbANhKD~q_9nS&aYGDrb)}K^WN75iUAv z&&MrD#`C=#Yk7{&c#@R2U6XA3F~Hl{^mDnaTPPLqcLD?cPH@+ka@xxHyJ;?&Gv!9f zoGmx>cSj4b4lUyD#G>$Jbe8-v-7G1jTi^8ad;70`d#L}?@gP(LqG)}-aMgvWae2uQ zCoXSqzOXM=Q#hdcne&BXc2|0ZO3sh;NHbsfX|Y2k$BT~~>X5iDS-WRVID!G1PM~n^q~ailDjiewatO<+&0!6H{$wYF6a!I*fevDs zYC*;|9^F^USwSCrj8YTq#b63{i*v8Hi+!((RP47L60jw!_Bz%GVgKoZ_OSbNsQNN- zrpH!W0avmKk9EQ86&+~;R8X71nG!U?oMsYCR=?7a+Jv_;;cW-Vy3sq-gqu;Pee8l5 zx|B7chFpd;ODylobk;Kenxj*(4|lLv9vNodX(-<&=GGL7a>cy)LaY}20V5b(Mj_(C z#lzYG$a8I{O&pG==tYJ*LGi7iDPO(fRaMyCvgGH-EoiR1&_Oe=fc; z7GHS`&K!0JXO74cif<;j``sRGW&Zx55B%BHpr`pI^YF@OI3<#cOlR{}b&0AYP7-bFi*}MOKWJvhn#RZ#6swJzt3) zvB-3pO~)fo=5GUQL6ovZF{2blL0Anh;fi@YQZk}!2wH9cK*l( zBamY5fxrj^!zv(@8+O7QoD0zL$Z;0cJ;ykxmUR(SM_E*JRwSd65*te>`O zkc(=yLG{n8v{eVCppp_DM76g;HO8WP?P#Y}d4_?(x3GN>-Js4`MeNr?`k`uc2X)ppBusA4tA z+n||;C@}`N8#CgO|2(TZ(?$wGveO95zm#ZQSGywp%~;$bzRr`LlZ%_%69=A{g41Os z5URLzH*MbbZu6Q5ZE4qBx@Rx<Uo56Fm#dGHo z4)>Z}Jomkr%sR>LAf6d#2<;3|H+U|wcwRcpX^-dP zd2Ly8dnCJqc%J22Njx&;IGxftOYn?AxFTEp{&Oi@YCJ#dQ96Y++`ak^0#r_mWYzwi zdDub`Mbwji_iEJ!$ic7=vCpF1YPlK1-UqMK$&Kz_?S#eu{QcbBt1Wx_yD!nlaO@Y4 ztUOjpd}at);gfiXA#w5opTq$^i93WyOt*p6ArVs}N)6{^4;;BKK?>CSJ&_fQjf}!OLgl!ue~&dk%%IF)2%bGTmEeb%`=hTu<+QG%a5Bt-C*hTyyBTY|lP5cnGwe_a`(7=V0rO=WRw6l4EX6f*4J?PgaA zPTa%M(-K4CU`yh*VG_?I8S(twfW&LC#l(691V;-^;diP*!iDBX%VG@5H z6I(H!`wll^H`ac@zK-#DhT?mMD#g_Yg?M`Hg+lS?5Bd~;i_IX0;tQDfOU2#_#cQuO zwqz)-@9$8&&`|vCkxKE)MInm+ULh2h1QZ|YQ#_Y>zY@huPjemATl+W^%f9P)Rb9@izHN@x1*)6z^*&-tS6Fap1YO2or2P z*Ln)KKaaZvFVdh!2yQe4m)jj`EdxRXUwW>v_@?ox1fRgHfWtqNU`JiM*1C$YRi2}+ zYYdgo^i{SF3sbqcT&V1lhRWNRwO**ivJS?h{cpL>rLtmIhsr`jWiLzR!-XMUW*I6+ zRj2aui*wcomGS(@bI!4S6?@B37%#MUf4$oK8AZ3gCY0TXA8l7(hxj~S-)5l;%Nzf zev})1ovi(VaCo*MxQ8Y9mVHA6uQ*Exo-{6%!w)d)mlNE7&P8FRC>4hrR*Ko`c7^1a zA^G?`9 zI1^bPIrXta<+eg@v6UBB-J<%=X()m3OAJya>Kbn10?E!l`VK1-?{aJ`F#+Xu%mcD? z6O3HlR`guVQoM4-eN#76Q|Q6{3cZ)Bd7E;+DTLK=%=QJdY&q^!Wz?Oj%tN=dbO$$Z z-bOqS!VzK*m~q^~R+({CnJ^=IfHLD-?i~#L>S>alf7&dc8RzF)W(;DU&y4U?=C8<% zU_K1Y2qs0zjPH(g-SI}^+otEP4m0D>M_XmaUZ)B(HXo?W_`D#*jEy8azw&mU8K?EL z%t)N#G9!F&!mr4TAc9TNj8UUquhb$&K0Vhg+xliwxS&;LygOW&F=R(&#=CojnDMA& z=WktQnGuAv*E1_n3=<*hwAZi5i#8PFgNSP-#(!XIbl7F|d!$uf)RhV^z8j#tcy;#> zFV2wc{L5!rUU)I=eK9VhhnI_y$)oKHY`g)%0Am6yz&L@A<7VW1o|S8Toop zmA526#EeZOJAac)EHeVdSap)ii||bS@1q#8zOG{Yb7#Ygys%?leljLM@_F&!pcr4}xr*`hPKFm|V~Ed-@8-42i$9zwyjW%z4Q|~n z#EVTOJHKwa<%PG^E>nt@<1SStH{T*e7eS2OP3!7#(@uko4D{6MSBh#xP^ zcwld3#)P~OGtQCh{JDSineoF;mKldI&u7MegJvun??zmIm9ZKQatZs-*Y0nX8HIlo zW_+-XGNWqO5HmKD?EDWeu*?Wt#_Ho-Ui>$>j4_j3_c^7vQH<;`FP6?}l@}i$E4+9k zM|m-Fmk=-hCfWI)o}bE#>C6iB!USA8hxjWRNgKiE>hoQXapm@g7iJrkZzNCL*D5a> ziiH<-1%=m8@mdvVhnK3$Im|^yM`OJ9W-d35h z|1rXhF?MO;kGUacY$@6KPu}1&5Ads=12r$-4h=5DE)F=VF@Ga4m3f5iyPjKE{u!Yp4g zp8l<@WU_AJ!3$l_WAAE}7oQ(4yr|zyd9h77g5goVS=lQJgJZT`Oa2(aYIaaamA*}i>-Qxcu^tQ`OW8~^5SS_ z`MgM{7lIvBtXJRJhQIjhyB1=aqwZni;J_B7aMLL;zcjX&j0xA zR9<{H#O1|*gTHwBR97#eTd7|31fB3;-mNlIt1r3C7A?Wib;_v>y_acR$S;H1gtuiH zFuE`!3_Tu8MjN$qo&b_kCWHM3)6fi-rxvc!`$>AwGRzmaatH!u5b$I~IbR4YV{ceL zqJrsildfXALee-2f>%I|>AjS}eX-t4Ioy}%y}8aY`F&Q(5eMgBf_w6v`l2r=5m@%n zJ^>`hS|CSiuUR9{$bl+^8v$T>Cbh{kuSwPpbU{FS&OFgUtyiEo@+wuK z-spjw^@mbvmCr?di3&Hu=a}4Jww70rTdk`F@*MY*cwd9~8`q4=V(M-YVDrax%%(xO z)$wBD#=U?72)-r8djW;}GTx70!gtE>rs{lMPr-)Yc>kTQ;Ikej?`);SsJrO zZY*3=PYSReWh(`!v|h0s2@x4~5(5jvDE+27iW$1dF5C!l)NS4fWw?oYublW^Te`Xq z3TSoODxlSAR{?Qy$U>e?5|4bg9Gy{oPHw}72H?(Mr7MmHc%1PiuG7Vbs1xSz(N zxSvP;!2L|QpKsQI0BW{^;*NKyk<8rS@xt(98Mou{GWRinE6^qdDl>v8)*LQYqQzEg zF_|kvu{BOHsF7(Ex~uHdNHfI-f~_kM^-XpK87g$kwoKl`74Z2wx&i?Od{zI^LbD)`Pt@b4?^3 zN#y@rdpq^`-_+i^?u@2qBwEa=J-5;Jz{4VFu^!9Y4ZAZ=>BNU6I-%7_;b9wB8EY~_ z9`K;2;iAPN0ACQLJTR1hcwQIZdLG^he@^Yh?rJt6;71@0G#p>o=F8Lh=Ben~;RBKH z=-MBS_)&CCY^7R?tE(?k#S<-zsp9eBI$DXqajZl@rLhu0j^}I*TeTWj{@AKXp;k?F zpGv1Oa(|YSqa&JyY;$ykC+X?Aa;^EkbJm2q{a6t0hB;7GXWKM|&;GFv4(`Ce8lNDlF;ja@xq@ZWc#qfEi{Kq`_-&T#lr=Gz zkLASN_Ozf=)`a&7tqm>sdRUScoR;Bg!Aw@i_~3L-ONN4hID>$sXlLo*Y?RONUOMKt z^ho@;3l%JebAhN_WGWTQIk}(5xMe;X9A;D{*?O2!wcO|_L6hVrbeK`g5{_|_j)=w> z2B**4W9H_V1L1KXQ4<+PsqzYaZIo-Rnb^Z~a}P5YJaYJvA;v%aU-SzF#cVY?Gs;Fa zzDQO*FqHI0Dw=)HlD%|m)Gq{-b*>$XX?F_!@V#L@T@fwb}OV@dL8W4 zw=o#*Hw%+ZY{Cqjg-#H5Xt7#)0t}OTfG_xobI1(RnKq3&QdZ2e@7`=AK9^F5un0Ag zE@Cm{`DjRq-b)$Wm+8Hf!+kmL;f|sV3h-k(8xBFz4#jJf;%O#J%9WvC zlX9q2Zqum4GVHaoCYSD|)UY^pk&-qrBuQ8_kqw2$ zvCPl`&t}#9b5G#1!(MR>q!ZZT!!UgyY4Cwpw7*&Jn@_%o`wqHxXMtI)h3O<&(V7!4*5~u(?lr){2;hX>-6-G^Ea@9BLZcPT**{3U325^r~?%cJQB#`Mv&k} zMzeweH#y$!vNociQa}QRs*_xizk>ImZ6?`7+K`@Y(?BDmOVOzfg$l9F)nacZzF4ES zC(lF?=I6>YjW519CW;1+G4X|*FA7D@@D@yCprPX>V?!!9qnJAR7S>8cK+0NUNz-#< zdT)#g6JdHU&(XX_HVMs;E9`t+8SexNbc3ZbvL^P)XCbF$#_QOYxup@p{JS4Y2O$g@ zXZ;izNBA;Y2KEMJZlTj-6glabO{0#K1raqr!hR^aK4OT|ljF=^jz?N5G zJQ^lxbufg^FJfeSb@y~aHMO4t(STAjY%SEA-^G4%s5)Si97asN!z2`c)WLa9dZA5& zO;XmfX;@zrRyMJ+WfLn~HnB2gBKgz^4H~2j?yVn`a<~^w0s)Oeim7Y0Z3T(rNwo@t zWf-8!bM}r$3d?JA7t)aBtcJO}u?X0!gPHm&^k|FBUJt@kl~i zW)=`Q3Y0I*VygJ{8PQDOB41)_E8lnZ$SC&`Da-MkK+}GPGFI z==uNgads|W0WB1`JKtD%acRlDgR@dW1U8y;c&rDGod!1uW z@`nGrYI8`CEtLXf0Vd8eF^!SoZMA#Cs-Jp2tAXP3P^a2aTTya)2LdxbQX?JXAfdco z<;})K#1Q6*?yKf5)SCj*T0y1*7Y1O6(0Bu#=EHRi3Iz^8*q~5A;XXMi6iVM}fd% zlZjXWiEZFUYSTPqPy+?Z@UD5#4CcUWOGT*}jT#cv3t9XI9E3}a<7^18Esexvfa|;k z#A)U$CTr8|z0HSYSQUzG$i>W%Hqks+c=1TatLF4HqA*;VW3Z0+q9E33C9Peio<*!| zs5fN`(;*tb2%{CSrG1{uOSF2S-b*>&tEEXf+>1DvGQ`kxjF10mx=L>De|7WKz~5 zyTC!l$`%0nIaI? z#Mycy<~mPr#9YhNc8jUXLJCs>%fdbhYC!OKQQOa6mH}(pUv9d+R$`%vNQ zkKB&b%B;!?@>}O}nTVy1g9gJir%%nNTBTG7QCtN64j+1$< ztmAas_qU9YDX4OGz0&maw)LAn(`ou_ZMr;DjgV*3^pCG;wdotIThlk}|64ab&u@D9 zHh$A9oTgW4)8&~qU7ktP*G_4*=|^X*lhm{J`E8p%KQ|^#=k~0#bEv1m6!t7m;>FST z(jJ2tiR-NR4|XhJf_1bqSosYct*4H*LLF^`6tbS&6cwD`vJ#J`-8O_2aylq**`3HG}!WkTioPZ(Ka%1UX`wSg7L<>S>fFpGGN-eh|%vb>N| zYYJ=CbT#as$==;oovk<7-jeiH57VlJ#9Bb9u&OsPed&$0bd+m6Ilel4wFTM4zbKk?pM<`a zVN#()L7M$OqcVynjX2hV%vvxq_Y^!Ra32iEgFW2`r{ck0_5p>bQuumv5DR{mFi#>Z zpPw{-+=!w}goT?N@2X4_RwqgG7KKwmI8mRuebSdcQ%hH|bhE1fp05Bu^+<~-!m8uD z=1yYYirS*fBFHDxS7_eMRA`h6?zXt6nB&T_K0Snbg_3P)>&nTj&g zSD*Z3lsV}ktliWQ?Fj@-F^TO^UEl1UmMx34LW82r_EFx<9JiHsh9E#%Vz|LE9L4Hi z%WVva*s{V&SJ^bUFJ*0P*@u{PK*Gv4wq#`+Te336Rw#0Y$|9CcA$fdl`S$>w#ZnS z$g&k#wIXY@Eda7*PI`q+qmGod$X>`2pwco{w#Zo7B4cGDYZSe}U{sMUvn>F!6;8Uz zrcp=AT4X0U$XMATV`Ynsm5HoaTQ*IR6tVPzmi2#+Bv9d+R$`%3I+eRIhOBviR(|ak0dzo`0C-|KAbX#nt-Z$yJltX?q??G@T8X*c7kDOVqOWHSo z?(}DcY8G-09A>t(LGjQD5SbvsjrdBzfSVle#DPtEZW9Omm zLL2B@=%gEM8g- ziLq;xu{i-_d!D0=Jvh-mV`pt-=o37av4X@hRxk)-J9loIv7~`*%~ZxtQpQ$W27t;m`!P$2W1^lF<%9Vu&(T_dxE1{o_` zWUOqFu`-cG>E9WHopXy5*fogEsD}{XG`*3~Z6Yg$MrT(~gT4_o%p>UqL=GMr?1kGrK2g3X2%#p+CGBoOdywRvWuKth!W>m3q| z+!Z9HeiUmJ`FN$o!&;(QN{mH`%VU0tfH&1FhK3chVaxo6ozBPDOp?iQgtwzhXHa)f zty{*rjegzDrLGfmek3aj$`m0kA;yRekpcMOv3o zjjPZb(YPwT$?-n<(NP&8@J8lAxFrFBHpWiUtJ7E#_!3mGgci6Fd=gvWCdV7? z;tNRMP(d{*sHhSs9Y&ts2&e+R$??O zRFx{IOmZHembp}|aH(qYshXM|R5t}BLL^n{?GmkRCZ-g(otet^9#3C;SFK&HwJTiQc5)}%8ae8hJD@ui@(pT6>D@;-h(urAO zC%N)&@a27nfSRv97jGDv&3up0S)$!D35v_(P;B_L`R+84jEUjko=#8A*$QHzQX{>b zrN(oqS?yD^l?zJDc^g83ITr`!yg~scne#^|L6Vy^TlzPq7lrAJMQ_A^br2wLO>58c!e@jbmqtF=LyX-@heC;d4#M_AgfW4cS?bmvjFlYZ@6$-doOPB)hU z=90}z_r#~)1ke^U-92%m^Qe;PE{P%L5^-`G@wHAAzJ?d&^Z8D?H`6^5-~AhxLo*WR z==JOW3yL4hH1Z~V9X$K^U*=hkUT3W~_q*%$v9HYiA$on~OWb!)oWhGzQRt+<|3b2t z^P<^zIq7pv_I}QzEu8e5tAc6`PWn$yx--*V61T0yjuoToi7`my(QtFwhnMb&4S7)# zKKndK-|wW)cG9^__eiuPr1q1Z+>Pg@d*Zs!aOsk`=2N*`{fS)SAL9aUp7xQsuKLhi z>pn2oEqKjHeEF`q9n5Q&#Ix_*iYVT1$&J3tP*xdV164f_h)Q z8q^!kboaztui(-pF&-ChiIhteFiB;3>nVFg7@v2yK$9fGSBorGA5QD1tiLtSb7x5set3Fx;DF<2f5M_k8Jz)&)xP|kn*>WYDdWoATrI;fsyeO9s*Kz-ZzyS!me?mav zKD>W|nDLM!n?%;LVu~fED~vCZyLpS{a=_DadGtwK)Z+jB1k&*CkK=+jqZi`RBk?XS z5Y&Z_^fDriN1od_2T2AI@yO?;he|rzTYbOL3Q>d#C}E%*Cy0;hlgG7={)5IFsD0h|x!`}FMVz&Xi>Q_u)vAq0(y=O;N0cFdEsQspA~bG`LhoJWF$_0NZ<^>1#mV9 z;GE*XxzdL-DFsgRg94`qFFg_;&l5OLKkV~oD+kVgKAfTyIQ6IrdLEi9aIVG$^!z!1 z^K#FCKVP3@+qLGt-@P2`_0WUogpUn|C ziHH1l4RYX|?!zfhfind)LC+)i37l(j0X??`aK70vXxFwroM;N10R)hdD7#nS9Dobp z3=7~q;K2F&Fw38&dz1O|@jU{kCoeq`-fV%hX#nSJ2hLx7I1MRqu0~DJv*2!lGZh!m z^ZbK8f3|nv9PGo1rNG&r05TG%-z9Jk#07B12XOweLBOByN^H9_Qs8`gr@+~mmmZ0g zcLxAJob!A*|4-e!z}GdU{o_e5 z8r3=(*SH)Gf|Pb9MMpxJpkZ>Q54 zMJm;HP>Mm_O&K5MV_tmnR-^{ln0XS8z| z8^}pqaF?`mBra&@&we}K=lSE>(`%1@P?TxAV)Sc5d?8nVZqh&)7gt;upV{c8fj|Ov5%GpYw7Y<`RznrauSdH zR!Vp9l9Sj{OCQ`MrAfRDOYEbi=#5hP1ur>?f3-;IUS4t%!?pC`4N^Lmmtl#0wRHU) zDP6=%PU6Y9l3Ha1J?VqS(Nj@HtWn3QhjB_}aVOYdDTrDJ#*me^ZMO;IWR zf|s1c+9oOejhCFnzFHc>i!smN&+O@eRZsf6(20%MyA5F@CqAKYu5;)S`M(yK~;0Be$NKBrOD>t+)1$8GKD8e=a3RRF1KMC9Q#2_`dO)Fs=w8LPfqo^=m!z09dC6<}PVO6eqzV@4SWBF` z=q6{`yF+-N?>>cD6Z2~1T}-zGWOS)*YD1H9UE3zPK>Eh$q)M;cL8=1nWxD+X$LJZN zH*bYNO*q=lmNd@4K=&!LlcmBs&Zuq=Pn)jr@ud6%77YVCz!PaLc-mst+N41w<4Jok zchlx{wXx?J^ERSON?U%9V+@er|rPP;ot3#t(7jF4r(b8r(ab zRH@}%rOIj@g|<#+5-q!jpvLM*xi=*>kl)LL$mh7XoXP#+(+H)UUNQkp4&DKCHy5_C z(}r$D1X_3pB-Z1~Ki)U#Eu*YAo@Pfcam`j`Ws&!Yte#zY9O24$;z%Ch>p)9^`&t#T z1cks3og`+JAvcf2#EL>!Zq*tzKs#RUaA*C90TSBxlz!3QmE*LZs2rLiPy>Ey!?}3# z%6!>RE}fr^&bwy12TN0Kv0T6g_d-HYlYc4ncP;(zH1ubC!~*HhKi-q5{G&opa_TId zL{{;~5ACLq@80np2iR=n9~fbs5~tzoA%Vu*gutr)ohTMHKxIq`$E_T?N9uu0FD*$9 zy__enDO*YSdQQ1{(q_7?^tBa3A93z9OpkZ)nFKdR@MZJuP=EJvy)=bS+{?9Di5(A) zm~P`4Q^)VR14t-n z*F+f#LT2;*7MF)mlyh8{YKsKgn zhUu55WjWbO<&T<8DA({c`c=jW%-(`)ezE=NR+KogsZeNCdKSe3D+*v1V`Wu4g{d~E zEgQPG2sBb=o#+U#6%LT&e*kUFF83vcDfR2l?!AAbAu%ska*t;SODKVetjbtk;`tTT z;F&Xb-XCKdjaGS3q~It{227I|Ll$?_5ON=nr3YZeeIgozSBFih2mVq7|0l$0=pIya zSOyZl%1Kff1_^g9%7%oRnToxJ?%{#PiQp;Q7IAsm+k5(Y$29YEX~vMz!{kR{79o%O1 zDB{6eruteJ=AK&jz}wTcuD+{U7rK_F1Tq4{O064tO|&b^?YjMC-0H zg^)XV(0@ub=+&)Y?cF~kJ3U}l9+T}a)-LD_=oGB_cBssEFa;|hr$PVG!{ZCqV;&GK?FPZ)Nmd!nPVn{fK`g9#&q;JeTw~BcRHy( zIbEg@9+ne375|RULl1Dilu5`uidgH>M`S)Xww=GIRu-qORUO>ubH;^t1MwLIIQkTc z2w(7PsII@u5Vq8XZ$s5GHq<7t*|f4S9Yku#X>=0dr@6Z<;z=czAD z=V0TOYVwnDol8Cn$v#`~yfyd~Yw5#UE1dni;h(Se zxbLo2c@cwx`S7xQ*&I9#Zb_*dXr3cdYS{A?1;x);tG70{SWYoey5|zKi=1R z_Y(?B^dW4fy{WJ_m2wjgUc3uV%Z4<7Jsc;-bEoP!F)(9}(woHr$L!V|kF#X!5J2F( zf_Z}9oY0B6;FLlq3|=Y^gO`BPY8d1+*7C%_vcC}rXzD=Y?*WT2_Ut(B!m&Y4>|_ay z)NFBlbeR)N4Qv~1Aobw@38}=m zyHCQ8?iG78mlM|=?v_Jk;sF~|6LK)eplOjgML4#V6T2cWaTK-KyF*N^!8JjxHR#Hb zFhHSjY?pBCl)SFxZo5|TFe@ushLr$sy@9id*EDYf;LBq%72iq)$@;Js1Fz5JQ%F#o zT+M7U9=zlN-&8;a&{X8LlJ$KXXy2u&keJV8)q_wSG!7mp_j2sSX{pvsU0zKWqj0GrJt${6&*`KAx3ad7u~ zm~U`mEy>5b6Q1~(kwY>+bMYNJg~$kM(kwdXbQ7qG#niMG*0ZimlEJ`2VW_(TCteM$ zyb`O@_;uycd2)@9t6V|~)B%N*y8|B5SX>#0Pzg|vc#T;}I`OGF%8VFebcE`3KcGiB zWZYHouE0Hkv!Qr!*r6r|{_uZtkj4y_JJBJUSI6ul+m8Fq^NKqBY$g>mmlMw&CaBu= z0%p|TQo#*NylTnB5y)SXew$FZ%Fyf9n+&~{pbq7cT9$vjU#qur-+lJmvUfH*=oy&|tJ28}7u81WQPSM1nO`a$;ALW**C`GQH*F z?*oUcN@Pu75$-0Y9yi=XF9EZd8t?+`GjSdtbNHV!Cok*fCpTdyFV$t#&^m5ol~C5P z8>N;~RpzB64JLuWSLq>13C%2pl4mgbdF; z8Tspo7kO9`XWXLbhyC$&Y%5KA4ZlMj&6gfc3_2d%;v8Seijd{Gch8}iBu7EoW_c%tVrS`d+wc%A`C#^G)h*xHcED(v`Hm<#aI6cwxCi2BvM27FhmQI_@VhP znH*VhPd1JWG)`q`tD$>HY76&0m)XJ&y|hqdS_m{wfaXYsWBF&9t*rS|QWUIlJ%YH2 zk$BCmK!&=VQ26@h&~v$zGkOkG%{r%HeJz7<^+X?JgWStM-nZzjx+9TNrUu1+L>&!2 zJOWC9yof;t8h7MRQLc}u@Ge`E3E~)lXgji^8;HEYjFpw`Fd;ePa{`SwNdgPK`bT&d zALYc!C2!%#AJO#gdBBB%mW|{yc+oh;d+RvfDU2l+#xjL*6n{#BF_;C$=pVDe_z43v z7RKr$oG6x32%_Y`H?$Y<*hL=F4{dhsUif;}w(}>TC!+{r!4alNY&s3gYoTuVc8slN z3~*SM0VZ{MB45hVW&OP=U0!91XfXdPfa}@j2cpjPR>y zL?BBhI>n+5)3>fF1lZpN6Lp+XtPgt}aQy!0_ z12-(-!`Q_L7M_K!G{d^2D-daw%4FpR-epjFJo>VoyMfLIqLQE%thk*mH6A_zl z|CqwVUz(!N!@X)J$W%0^>we58ucYRV1>a6>>eck7P;-0Kj1Ee?LggBp>R17W;*lr8 z!&93$IK7Fn?THv_qKP8CbWver$qKZt#v(>L^p7{bz?=^L8Vi=BwmLSw)##wEd)%=P;=k8_ z@qUkc%npej_p?!N^|-6=AC%*+{S?pczA!h({kXET$Gz?G4|?21OTVHEcGjW%5>mfi zu-%Z%?7)cu<|Vit9C;TJu0BkO=fjjys`K6AmEyy^^6F-}dH?(F1?Q|LtPKob*28ZGGUX z?FqqE;=ax5W54u1uIj6g@!H3qW^5L&R&=G|YVW@KSi4-tF>~|Aab9{KH~ygyTvelw z6+;ggGcjk72%Htzba`FhVB|H#$y|}h0=J%3pC=*5e7wgWAR8c~dqUSskRMqEO{qMZ z8+|}!IF9lL#0PIshIW-V=-s1%GJq2D=G9Nx3HHqvI9$`=3tRXcf>Ew3x-yrE9q7c4 z%i~jokh%J`T42RKqNDPh(q)0h|6v&+K0u;N&k$>wq|o)%7zLF8z$|c2ML6F2v(?vl zT~+_miJbzic@*43(@*v3h>_vZaRpB4sv0yYt*O^6jlm_5J{gimf6{4z`^9ZZ9q?06 zRk=bJ-odqiN{kNf`V;=mNq&+TO#`QM8AVb$en!vAPQO6pcO1S)5ub+FC$iJwQkKNW2lj(dAh&&^YJzlU3*FS!E5Ap9_814#);&HH0Nep)i9vxK#t|r6v zkE0usJLo^d?XL{Sw3QS_yqo^f;KXcPJX-N4onG^%rK(|=^04>#@!nMX9dw^X0N+Nr?2>ixvvz$N^206eqX%hBgeXDQAwJM$ z+G0TQxfA_!;;4CwJEB{3y_o`iCj75oYv3zs)0=^gG-@pM`!~^hUq^ zS~BVP(r*V!ztMG@#jmS7vy8X)>1^XYZ*)kcFqv8>jO~?Qhx9hyUq6~T-VYEU_q5+; z@$2}je}G?8x$}*;vW&OsschrD>ETTJo?V>EohkZdkMaTNm%3kX7QKSm;9vD*Hu$&M zKa*a+|HGjha2THHzt2T>XW8Ta{uYyrJGWb(|pgs7`KQrm|;E(&D*Nx)_ zK(D83H;Z1EzL5p~ilS`r4>F@lmamV;Y(BkqemIj}vu_wEy88FSLo<0sX>a$+`i zQgd#9qYOcW`#nb<38=CK=d65YM^#LURpmRSUDXnN&=^-Qaj!;17N%(wC_SDKzAQU_ zdyj8@^I~=!_a5J>eJT4JN%5^Ts@x)d^i7ri#kZ#Y(u@!E2{TPmb`tHx#i3NxAsm5V zCpI>wKfWBZ<4K55mg8E6pyaatQ}3L{Y}7-BpHeTB)>k&_rPFKPrM^6e3mqf_!(j<& z++Z4#g-YFPE+l&+0*kLouX2{P4|X1Y?ED)ZzT}gWbDY3KYxyl}`UDaWnSc~n{nQMW zXwXnzv5^kMMi^cGc%3>V7(Sci*Ko9xx;q#xK)9GupTS+spwYi{c-K!e@K!0PMXbhF zfPW+^-y|_ahKWHPtn+fAbcKly)^Z2}UqS=W_ef>)tV_cc^2Tg=180LzLU7oOEfBd_ zo?4j;G#)6gS2Gh!98ra!|SzWs6dTdD)FvB%oL9_Zh3}j z^#@1x6aw0IWYq{468B11p-A&D5rJHx87_>VS9O>I6-*Ur9fdNvOrw}v>t%z+E?aoX zOQ!zrAsM!k< z&WDdMA5kLv@^^PsA(nq6swDv}78OeKqdwAJ+3*oG1hXNrKV>=*A?$ zi$B15vo?InFk1Jv=7XPDi>*13(pARH7U?Gz+%LjqqKz{pz+Z9-=OUap78D&X3CIVhXPXZC5L ztSy=>PLvfQo2VZA%i$SVi~BjerWtgA?;Riv!v1_V?M>F~*5|>AKS7Y)AHPKZ&fQlo z7))k-_}gC?eLtO4#{MN`Bv$1;nUa6JCsXo|_hefBanlNTwtBD=+eIXH+-A4XuzWf; zkPN;1Fk*wj?C22iGmRDg%X2q9|0Tvw>wCZ?Z0;G1o zQ{+P6o%@}*@dTz8N%Ng}#dWa0$8@wZk&K9Lw}}TE$6H>RXSQmHkoh^~!ty#q+QSP^ zBF8K;-$wA{?N@_=1AK}`qwTofymzS z)SOrWY%T%N^jje1?Q+{H3EjH;eT_VkgzBXxce$Hn)ZOp%I7HDUAYdS}oZ60uRd~DK z?Pg?iUW3wxmbngE$LxV`?xeb{qsXW2fxl^&Eb6w^s9U>_${s$@te7%X;Hl$Sw}YyQ z?`RT#$%{_hsw1xb--Wd*Zc!3`iY+Z{<6t4>ow&+^SRnGfdF1jcYw~M3X1h{rT9Y4^ z$Pe3+_iAOuOPNzn*yzCqnkS`+9$1Bc;BHc^m@13XIVt9VZLRuO)4`Sall;U-GzIiv z-+_BAqV1kD@e`V$a*90`klL|5O3swfZTc5Ld!+M)Km1(_-67+CX!MPP!0o0DT2A3D zciwX{m7P!Zw8;h_&<5R#&;!7&l7uSeleMT;Du#Uh(T=w84Cov8wZs{Y( zud|S!mZT3R6s|G*BYt(R@uwD&%8>qcxkk*Err>W%eCbz#6X}=De`4*-mXiYaQnT+R zr0n(+;VR5SX8vw0)c2&cz|QqI%bo;6+r* z#WcKCR9_@mWwo%f!=GUdJXRLCnz_jo#OOqeWJ4M9_?+t1=9z~E&@GIrpwp9}B5U){ zrLl{;JJr=DqpQ*S*q0NMMR}bEl z_50rP56;43Y^pB^K#JZ@a%sI);pgXPiT`b<@g&aaxY-H<1!|Rf4wEAe6Q6+rNZmKO zHO3TblI)J8ftUfM<3D`1#ecuX6TczLcq+tZOrwk^t)K0=6RUE%>^*gVx$WkSha-a? z0k^u_LfFZ-MHpG7Pa=Ojm`^oX`9I6Ze>X-=ABNlD_{V$dO}U3y$UG}bH*}uaJPSqO z&OhNpa8ATbU?@R=0E%6l7ukepJePX318)iDw9eg#d<|O1Xi{zY`X)F9F9Z$rC^k#rdBOlbk;Q&#v3!wtny-^zoB;I>^(->>|DWW@#V$lZt`J8!FVh zbnmIByG{`VYlYONMvGA6qw!{YYD8)ff501mdBOZ5VL;$E$KB)K8nzXz7CAt>NVPla zHZ&d&zO%6af&+G24CRB z&cqNAG}yW41t-Q)5(aeT;pXp$ng9VFqPpl6Xg33DzPpm)YJ!v5-+J301QoognQcb{ zeRoH<7xeLQnT(is4)5~aE6*j0*;$-Eq_ryUgAc*lqngpk@!%sL8OSJs9Iw0oj}*01 zg-r3yPC=#9jo0!Q@kgK4Nb84q0dtcPSkt3F0J4p+AI50MPo#)YEfc<5wG+Hy=og60 zGH(Du#vJ4O54WV(t3H*jRNllo}ou=Agd&_uD_P zWHLWgBdj&D_TeAroHP~t>ACNLfd_DOV|&f9vKyw%o@xaAO$G7jIK-wxK%nfM_*8&5 zk)Qy&i9%>_QgmuTi~H1SG}f>@uLHYcmbSP{y`qtf-&idCg2T@o|EZolVEkp;1EMB! zgRzy6!tM&{V$mm}+hJo68}T?sbxcKw;^UiE`p)=8lL?93w8pc`%hJgP9tj4!nd|KsjV& zIM(?nk>$t`UBVBjMfZ2&cAkUn|8Vs1)+PCTNa%16;kD%Mis=3&AsTG~D0T?| z)Ol8md-GGmHP{k1xa*Y`ceYnFTyv-2(ACAg0&p*6lMH=u9{@ngJpjN=7J%)%9tD7* zUNH**c{w$|@Zj+J791jFSQ*lZi~IO z+T#JQ7m1-9FHS9p3mJs71>)icdR(cBoqp4~`RW8GHu9z1i4vnp1R@{M&#~0Azy=~6 zd<<4ZJKGmD90mRm`4DY9nQEUg!rgD8V#r|QtMRUT#jW59oG&rkHyf%z$*@2y&Bo7u zj`!nYHl~r)t=(XoO;$7jem(DFH_w-gSUnyhL5<{lvnH~Y3C-Jh%YE_YBp&rg$ygG| za>HWfi`^gh7+&{5YUC}a`nZfyV#=-9@lWc5>9Hq`aBzcee7UE^eSMW>T*D}~t=WYRhocLP~kqZtu zU;I7aTbmBCt)$pO8ZawySC<%i$lMcCX+(NP8TsbS7UL~L6Tisb1VpP$={j*2ZD)FY zUExnKLAj9wi5l;z`q%Cg0?)`tznh?X0b5dI+ZSC2xlhIdK&tSgWLz1; za$Io*G!?ISTy|-v&t>PLafN2%ab{Fqw^_#dH5k_eC=e+g3M3T^P^sA43O|U6BwAIW zxNBS0SSDlnw}*!W8u?*tBar=&CP9 zOH=-;%(x!k!BSi1D4}V{N)d1jfs#diU{97@)Y7!Li(!xidoXWc+IzjCQ5tg)>?u%R zyxNDO5^((cFA4|0$E9%m4Ep`6sX%pX`;ENxlYj@>K3m)(duv7IR_qlnFvjF!aMUyy zfY`+_0@LVU;K|BVU(W+E5E)Gm;Ua@d_*P7q(8L3Ax*_z~7UVf%5_h&ySbN~^QWd>G zL^klHNz-q^eeT8^RAKlGP+bGuELo_yah6)#OimTX>O;v&pp-Q?REH>tAr^gjSPX91%FqT*>_*s)lxMRnTjN{=Fp+Ufc_Sj5=YDy1w>;11f?7Ssz~6vk0|*Ks z7Stn1WzJ`4U593jI1u?WO?G_bG2nH>JNCOtQNP?#4GwE>F7uZQAzyjQP~J#~6DD zU1g_HxG4wjp*rj&2>b{gN?|p=Tb}#*XXI=@a>k`JvmW78b5nm2(nK;}YevAEGqZe> zA3j`|jE-(dG$<6!(JJyoNa^-@>CpyW@XN6f)+5o-nGhUWy4aa$OS%kGLBURrwlk|e z40BeoGuXBw>aINZ1RQ5VXi%FCG#r{!4bL4vnis22^lS}Y(m0BHvAi^eFX4%;xoei1 zH?U^I@^Ww9|C;5m`6<2p+8q~D4OVP=DN;;pmmx4?daQ97glbGsrW!FcRX=s1#{R`kj(w~3n_-7qN~Tf`3+e%x^_c)_-Ot24El)!slM#~XHq;7 z12~}ZWt>xi`0|iz&IJOGvaiO1c~V8Ium70g8s_K~NN`y27<|b*l}LgAQ-RZfm`lF9 zaX8UC0od-54(k4Z4(^(`HxwP%!JEdomvwcao+l&m;4jZt;FQr-V)N1UE7NEq{n$jG^^ksz!7Jk(D43djJPapok7Z_i~CGl%ZR;=Vz(iKYO0veVI|1 zWPa)XWa&P5hpiI}u8~`@iNUAMeZIS&*86-$#tL5jy0qb5X4?|EP8;q!4P3!{Wc>tL z!K*z>vfMVfC>h^84XMs-6uvt z$?~-x-d-OXmH{HUQ84eub4kyAH^euIjCZm z5Dz*6cw|0NJvBW%wsu_k$NN=D_e?aA=kZ|q?n&BY%X-#@9P-9(+%@X~$!qW?CqQfE zYRDC=v`iZAZK{YQ1-vEz)$;~_?6At-OqUxl7YtE%ULdaF96j%qXGBRSrH=<@ zP5%+zM3#g?^RhE)r4#+k8TGitWw+!fMslBWqOTB8huBcTTdFBO$Qy#w*(xbdG`e72 zWaddV@Hp=0^FH=-e$B;G0n8I{&TqnVA_&P5z>ujm3Cz%3oqO}?lL#Uyu@qhaevLQcS^d#po z%7);`h+#s@f2}4h?hTN6aA0;WTW#nV99WEO%I-md*$JGR?le3xD6sg_oMrFlZQ12S zSK}9C?yll5Jx}Nl`TW72x6B1)J%c$g`wr9!EFQJ&{Q}mQLcJ}A$@YUW&R_=_2V^Q` zS`AT}En~btL{~DMxc8ZmS%(gQD^}MDSA6x;jBQ*XMSr+rN*S~MI8caEIS=$LV`gAO z2R4dy1m-Mbh?q%@D39uJdO#xrjK)Q~pise7%t{a)iwG;R7)WVhQ4^{T!>T!uf>v;0 zV`$9+mVuNtgENqF=^+C^%95)EDKnFrgUdw8+bw%@Oz4jGDSa1elOLb4?*OImi^GX$ znK>{B($Efkx^w{I!LJL9l7N29Q{U>RJ0vC3iZFmMP_5#+&r@9tRVWG_i7Y}3D{j%p z$<7-D)kcTsc9Yw?`6%fNU^Bgb7wJi{qJB9Urur!$Bq4Y7j)cUt1Fa6#E;A;R(2qh1 zDJpGyTw&UakKRq@J9w@FP4|rU#C-`_Nwg8*Ix?I$gasx6x79Rgz5|f!5`I^PWQS&| z;JKPLg9VtAPS*2afswTgT)HVRr%~2C(u`!Z+bR7fFe^HYFWLrQa7JyCLr4F2Or;E- zQv%vc?wBeLgKRAVJ8_Z=BQ3ZY6P;}A<-ZuqOtP2EtI30ntYQUYFE23n1@6iBza;s# z+N6(bwVb}uyh2)45hsSur|`mk5Hu1k$B8ueK#8kWHA+1Cozw6U==q$}kjV4&I37fd zsar5m&DfSElsqhHV~1o+r;}}6JO(ddRnM8jh^~nkm@W&N2vej z-hTK12>3*e5b%TndqVZOVGJ`krRG?ZAtpyRYQaVnypZs;xwzPpoLIQg>5JPN2Gm@oW%KX0V3p|X=LwB}buG34cUY5xPQY958imRiLs+xiw^h<4$Y!muo-vfV7q-Dgzm;Tts8xap*{<0qrUn2M3eu#)* zdBxB+JkE7bn~AXZ+ZQ9m{p~q}Farthy)=DX?g1~RMN{u|K;I~_B#S0t)lfyMrdof= zXzGz@y|?`k@d<_9CRjF%Ky&}HAOQIvCJ^TCb}HGJZoR}tPK2C{eV&_N#O08WCpQVPzKvYOaVz*|WutEk$|K31lbZdksR8PH_TQYUjjh}rT# zxICP`;=iQrtJCoTIunlaHxTRgRcu$KN31VNYuvT!g>EsV=_05c9NYk7#$+TY6u9Fq z<-qwO{3Og`WbSMif`M{bB|VU7o-#-smH`-JGXP_N0N8b>p|P3EiCk~xXE_ufk0r*5y}D%;(Q5>Q_mvSW_pibOZylhR8%}A%{2id14d8k`f7nfwc%(F;XB>UyC)# zEK%NmOgLbn>%9$HNQrNQjx8J55#EN6qOSo{W#ECZiKw}EpPa&a7m@Y;MMx|aY$VO> zc?KcNluO6;#eG5?p$p*lxG#*JXFTq6A6P<&X_#B-sd3yi9$Y^x3lFZAC2a8Eg2H+k zr+rl|CjD__56taGt|d<;PljMfH3PA~(sE3&ox+kBt6@nD*svr< zO_n^B?af?H{zzfT<;s#b(GZ-3JbAb?$I8X71>TJOFTCXa`TVN;1(uGo`j4W8KnUWt z&G!6>3N5a~+x)dsi!zBovBVojAo8%Of}sgwrcjuH6?f^y+-HezDg+kSakev=tGA4} zM3Hoi8}Jj7j&Xy*PYp5rz9Nrpm2S9Z4~d6YA{n`eLF6m2b$;5=oU*2C5I1Z`g}S%O z>U*}V8R@L-z)E^gc#n=r*k{j^{`a7tH9Z_Xve<#sT*%yR~lm7A1(Cjt?(v65y znY{iQ$2Mg)uiuNDPz1bly@PHrml29cB65_(r9~}IlSyZ)TE4%N)y(7)=rYbP`2`p> zfo}aYW2KyU@(%R^YLRtBQ$)6wX0e)d5;*v(d@`5_7?5QTo>*kUx~*o~VB_>l%^XqV z&%nsY-*9`>c#K>(0iK04CZZZ`VF~xLhl!kEUK1;&pl2NFku8cC*;pkbHVqLyVe0b3#Avc$^_glk+Kc$>4x)gbX6F%n;y<>Ct#{(DI{Dda?G$D@^e|36DU!Z z@!+X@gwj#^4v~!jK^e!;$*v%54((xyGYT;?gf$S`2ZW#d5K6Tu7oA&8IM1k2tM2pN z{kMX`1cM{HJcWW+C~d?0X8>}B00P>I+)v7FC-fk+ArJt9Ucm=?bicNcu=y}3FmTFl za6;+0P^%&?@S2f4N|@>|Ruz zIf)mUAe)=$V!qDcL>w2O&i_l-m(7JnUsjRLv7*a$E@4=n^o-nXJgqfK&;}`tbx`J$ zG%-?unQ}!XWDy0u6Gn zJStDFz&13Uq$L=?3_3K}QMM!a6)uRpLM`pK?Md;>)LpB7M@&f)RM)LQ${tW#79;8S zsN2in18SWr2s{TN*B(x6lu56+5sQ#V8wX(`+yJ7$y@QmOx8(g%hz;o5*FDb1 zsI>|rH{+*CO%Z9R6ykqqkIaStAmv0H{wr{gW}^+uOFG=~NO8B{+Ts|};a|F^fxn!g zZxB^>PJ%@Pi_a*k-?U}**~qw^o>OzWEL=T-o<_in`z{Bce_HuC@r}TdToCUC)~695 zgLP3m4uLFiqMMvipL4(=_n!(Il8Pqgbp4Zwp=2WYj!HRFu8x4y+wJtMl9bJc?|K4} zC)vww&c^TP05Op>@X#AWvdz*&mIQ$9UlAIp6ESh$C=k7c52BNEnOn6w;ael@j9o}0B7Kv_%% z!G8;MwX3u%5I>NH4swD73gm1%vAJuA$yk$$>-f(gJF^dku3woucoz~X@UtZQH~Hi$rG%4k0-`5$<#nx?$Eu)M5kTH$p5 z2l-*(7^?r;GY!xo0$m+;sP|*ROD^%Le37|FyTS9#eS!Nm@)3!7Vw|7Pbtoj|>>6yQ zgqg%iL?f-P6Pqu#gC{Bk#Py(csis(fd0SkLJytJOV)v^hUtp}BjlW0K6d_BXL5^mN z@A{-+>wK<~?29aVoL>e-ZGo~-kOOKF;e)vG2Bk8yLJEW?W3`!6I6$h5K(@g`DzM$S zqp-p8%txJI$d!Tcw|=D%b%Psg^L6x}ds)EX!Hy))`1Ia>x6^#wm+V<83@hV5S> zL|#+ z*eT0)u_`8VllsNR;3{9 z@@@O9(meIWh>{`P~2uP0W4 z_$EQBrlo|VPlgTB`3Vp~y3B3F<@s+Q{f&)8x@6d>B>0$z^Ob^kBNywgsZq(3g-~i& z3Pw|3f|2$C(bC7Sz+S*z@%i=rWt9==EXZ;90{PR?o>&KRx(VcdWApo)ydQ&nc+3&^ zkxR0yiaHgv3{+P2i^IOGDp<@HwqP0MVGxDSW{Ym_B*7qX;n)$W0@uzTVi2#5&Zw8e z(G}SRZZ2zKIiXFidJLLJ_ZhXI`HU+B;r|sO`v|e`Od(4pb)p*6QMUv6>%jC$ukegTz;<-oIs+44mM*foQ_k_{v3iCK8BkZ(ZN$!&S0mLdC`=bC%t|_OC z!S2`*(pN@cshhw6C}|>AkspRqD?g;9t$>3o3(Exa~ifHZzu$blf1D{SvgtOb|_h3)e0GzCUS0bty1Pv`X51{W|7 z!o7}NJluJvF`28GxeCr3qd8QU#{yo*X__Lh2Y$&yX@mYj6Z#Fu>IoC=P@7z(NEV%s zq8CP8WI_Y-GG&ufVP8C(&tO7Y8W>%upd4JrewBC}PPzMUWP!sdtmOSFxkrUg^eb7s?%%ve&}D4H{`vYy4u-%aWH=%RPB*GXxD0y%4_e_N0ZwcGqw-8-8F~)duv7bnboWhwwbUh>> zr1$^rcBX%b6D1|~&=R%-r3a*RGk6n@m7&X|;LTgo5$Z5_6GnPgM(}1*v|V1tA#aiU zSX*L1RZwmf1uX+tCsX}wu;dPSx&zk*x? zG0=f*qg@KC@>0Q3Qop<`N;1_yqSjvJO&bhxJ=9Ul}QmcTcbdfbUp zl7V85Ot%>yW!|SIZ^g`2cz9?>{ig9XTWaC(u21VX_0+7_QcoAvrT>?X@8)d{zJUzP zxdV&mvq3EF9$Hfde?kD|elWdL8(+PrI@A~A9n2UYW~Y614Ck>#Y_R>pGbnWP(L%MXe7^7Q%d! zGlU%Xi;t=P>S%SuTg|cn=dE*q@5&sUH-Rfy^b)WSpet*lVV5o!71k4Bp0hpPi2RlQ z2n4D{W_6^Ry4cU1#(A)Ex~Ewd<7BkNiQg~szcTxRm#Pej#2W=~*Fpy41G=i^x@N+q zih^U@?&~ND01}^G{$&9f7u>MaYO7Vr}`kyl+njQ20^9zbj$Uu=*(WW!O9Tk}iS~q_LG|DEIpG%dPu+^UBIUq%aQnCXm=72WCeHoq)(UO< zO2w<djc4WiBs%jJ+?-7?_OW;?bZGZ-v-)Cv`R4W zkRGlk*surljoe9IEO1Z4i((vfU-UF5cDwKh80OkBfyK8|@es>fJ5en1oB~6|+US0} zLU`4AIqnAUQS838>>9ri_&f`IzT7|#3*1(i(iZpQ*+PvX?BRabzg=r@QQhY!=$97b zkN;|GqhB_#7o>17ABlgw7x^>yMg4g0y&IorX7@yAuw!TlxHFvN;p(F+h~xryZ?HU< zQu5G&*(@Ak_G~gNm?z}mXL`}BMh8ga3dZ*VW-0|}$Z9762D?{Kw;D+1PPq_Le#usB?J3=u6AfsT9%ms9`s@IXZP@#_(R$YX2- zzfCvMCxbUHSw9(x%@0FkG3`@GfgExrO|wE&`pk@9DiZ8U9OlB$%3Syv8+^io6IQNY zHM&_8ui3v1?*ia0G9i&_aQWe1QAp-_Ay4vJi`xxn0YM)!Z-=|p)l{Bp;o`wdzf)u5 zEeigBq$QW!(JAj(x7bb^?3v-7z2j-= z*WYFBoi&d#Mr$Kw;+SMye3O^!66D^joi$GORol2{1)~r1*N7;MciwH7yG!*qF{;KId;<9*V_)8PY;&-wbJq6kx^O(@pziI>VVGsskhk zyzEUl4s#CU><||BFoYC*_N2DJ>;+7)z^D?Fhl~_BQA^cZx47TT^r>$f4>XQvi?K5q zw0b z)Nya9CGSB^K$>2G@)p$*c@}qx1^6AseFDGv07$?cu>4U8zQ?Ch6Dc z2r2EqE$&=y6*T(Q z_aD?B9lwR~uNqUr60r9GSJ08#y z6Axtk0N@ZSYj|MuzrW-qRnikKU_eqgFMrXm7b%pt3+sA&z zw5?MRedl^$^_kxO_H_(y;xri^S!0fBNZ|NW9`RAyg^%RKa58EP(E${82`oMnQH6_T z6Z+OB(dz-=G?YushLHX?tm_{~M030DBoZ?CYyBWY{{ryoSNHq*yzAs%^LYz8+(lPV zHdhRN9*=X~dv3%LxMR2F`R0d%gLnK1?gs6-j%g+P|C7grk4C`8%k8TDRW7j4utYrg z^!7HX7ua;KJ(5|x*P>0RsO1Hat#o>Z1wO#`a|0XY=|lq?&gb3Lz;&p=b@r!Qp5eaJ z-phQqRD5~g-Kiu)R5@{~l(hU3c_v2oJ2sz@hhNX9h-HX|!Sq4AqIhuD8h=WP)*(~w z?m1L*bWngz@SIgv&a(g7q$h0T1kvmi4ynz@{)<^Jq%DKbE((MN*XtY|i` z;I-sGpMGi&M&}s*#aFbgpyQ^9?@;1_rBi_}IYe;;FaWM2nnEO35qK`&GKT3Sz5S}-QAXb-Q(`mjDuvVe-61j@emvp zbNl|_^ohUww8yRAZC#JM)z85Fx7>{%E*(_#Ea{IgPJX zkL1Z!SbI9O1`fks#A>Y|6Ev$gNTQlAr{7q8j^n3siKT^NGL{xtHnLVB7@&LSX=(lsVBMeS+RvSkERQyDGzGA1nuu4sYFe|NqAK(rSP4T2-8sJCl;@i`jX_yvun;DOy-2=4*L$?gHk60B7?4G zSMqN;YV$AYb2CMFgrE$+&(?swW3zT<3lOJDq}s7Ifp3#5=4}9HzTCr9xNj|cOYBJ% zWgwqGOFb08_r_KXxjDdl=h!)g7A_y zU}o^N5gc!U`{f&;L7es{ErbUIcd{1HSH>`qi$b{ci9o{+1kwL+n|q)+Dgp9MEH*65 zH%YL9_2%ovb2E)a6)?7?&Mtb{Uld7?q0Z9F=v!lJoxWOdd@ac(k6|V(J9_J zx*a(>U^&Fzrt=OQCMj4Z%Pl^%a7qxc7)>bZ$0`>R?#jWR3yT85#`#23Cdh`c2D_Hf zC72Fe6fyBDdSK{FR2=LgJ4CM`cP*x3L?{O1uP~cWNubpwG6?Kt&gJLy(KmX@%TZgGJ)w7ERKn z1!w_TXpvQ&*|K#75{Mq)&C4e#L7*m6x7hdbnbX(6V`}aq)ZBWFx61tA-PYGspvzO| z26VO+qq2${rVd*-7$-8|pE+3vz1VXE$iTpv@(vX=_*~H>idxRsG{_%H4q|F8ngByU)UxmW`K4F1td zzwuvdJZ;~r>jnRf=L_PWk&E!!oFxzmCvIj`sp{5yEVHO4Ry0XV=4=K8?UgC4*w|<@ zWR26c*~d%c)2IzCBfCF3h*~&FDsjI?2+a5e3fiQZ9x0!}6u7s^T1c~s68Kld2Ri7yqUjdO?&#v&reoI{qCF@MgxmCLXcgv;Y{ zfq_zmQYb7{;)^>uCw+RGnb^qR41z+|F`V4LL z(4Gv{yQ?(8{&kcX-TW%C7F=QmKw&U&rXo0^@H=+5sx=W-D%= zT+w00Huk6a38?txqo&36JFr{RVi_x{jN2BUwiP>)E8;vAn`kE$>z8W$BM|w7nu3uF zkd@<`wstoiUxU04UZrrAJFzL4E@%QX97gP$g1--KYm7fOn+0#W+yuiX$(tg|<~u?S z=mctI&2Xp{_*^BzIl8NPe6t?Lp>9U>WAc8TGJn4RwlHr$XyYG<84^A7Ry_ zSxxW?n2E97QmQRbi#Bt4J)rXz2E1td9mzph#Zd|N_@NG?E{a3oG9h@XjX0TsAI&LSftZOvqd{6ZL{4zaN6Gx`Mtnx39KqptO4 z)G!D21OWz|;Iz2&;RPYugE)jS zPD$XXW@t^sl&&{m53v!)7@Imu(NgUhuAPM1@ST^SD~A^d(|EK5n;TL*N*}xz3v6!KY5& zTOL6IEs=briSD%@nOOk+>hYA4jB6J(zAI5A=Jje%8E+OgBC zoY;xeo!B{GExR4r`hwQu@G?UtgST34v$3w;XE1&$Q&KYIhfh!#XhFeMMZ^!aH)##`n45mDVRgnH7BL!tzWjALu^A-e?~jGz3f zi0}woDIrTNAxYITQ^;q*F@*wI5_88K@;=^VL{A1`9be25h~wHo<0RI{7=YJPaU-+I zdFCKMHEfgZI^ebaPZ42QwX`Q zAD`~NQqbsT$~0)^a>^gqd3FjxoQhpw?HyX@I45NVdf* z-)q<%WI7Krz(3yS+k1ezR=`oV=#+aSx2_aaZa)|jN|)Og4${vXC(CU-c-En#q+*FL z%__5#Wn+^#FlK=a=lkqvoWzy#If6Rq3lY~^r1s&nbkAMKqxZYvRJw=f!4s2p#8dej zw2IIx?V#C%KuIV$fmH^Z3%uI@skrAUJkJA~r?zd*z4eSU}-H+z+P*kx~D&tsTARje<$^b{~;xbuMc#j2a zh>D#Ak6=<6<_ivEQ?&vqk{??QQ(@OYv$9m_szAfNe9LO_17&j>LK5|O33G@0u+GNZ zNKs+9@-Z7~Bg^61#4`A}p5=z`!8j*L$OXQD)D-i`?Q3l;LXk-Waco&KKS$qmcSf!Y zMjd@uKU~XN`YSN)?)A1hKoVID`QnHdx*y1hy~l%ly&V$Cg`{|P7-%d8d;k=#umF5& z$msZKbe?2m4NNkPLphnSLeg}JJD0CTsWJUSNAf5uXrB@Y*Q#5p)Y0u)Wb`z4ZMpjy zO;JpTFHd@vd>vygtV9;bFI=iX=M^N(X0giTg+})rmq&gT#c$$EU|#7qs?3`&2sg|t zz0$#S;zOS+qR84{6@?N&w9B9nUUj!={{jsso6gMu5HPf`CC*mNs({&@u!fI8>9xFO znoM~tA+T?xg05&8%L#;rWHimjt!q{9EFPTrkdYj;yoxW%bm*-&X);MOAgF*+t*-+y zN#h1t{c+>_A0Z-isWJ>yB0m-T6FtMnPWm^FPYT1DTyw8+PSH^)GH8eA;X9ti?$V=R zPkS?GMiU@|rx_Ntht_h7#C*n0CZ53P%h<2RKA$)pWjo{A6DtKUs9}Utus!XM@GDW8 zi3?Dme<}90()XX=d(+rg!3Y4V0KEJoaFzDn8;7z|u^CeyCBH-pYG02&J0!vf7P5Zv z6>W;6q9l2QeI2uxR4nnIs(t<9Bba_jV7Z;N^lhbX5%rg9rIhKRR0XhkW*IicN?kk0 zw^AE8SebQ!{3^@FO65ocDOT!5o|N++SSjsnk?99t_K+^dTPyW2?SQpXIu2u{bTGzB zsr1rHT^Lj=RWE~3>Xb>FM$jEo5Gz$~3dTwm{G@+YiY!6dAUnWHg>b=Ee2pDjJJikJ ztR3o-7c%US>Qb>oBHqYxL#v$xop$I!zGdyuR`R))WWGbyCK+XhbGs(UzEcG!Cn+ULpykz>63 zHbM~(ZZpDI*o0)^)miWUvyuFH%(m5@cVCHI6ZP(&|$?Tt$v210kfq3b;X5wII~J|4VmD+A)usURMq zAhuxhlbL`#vdMzDTMCHgOBV`hCW!ET3{(IS9*=?71M!*TlR@lUmjt57Eb>2x8xZgA zp)K~X*upQN#K(;ELEPB`@lyWgVNt)r(JK}a0THM~cW1%kCFdoBcvv!sElTK%KUJgP z=A?r77C(>@AM?#I7K@~V()khocjn(!<>~oO$Rs%J{U8s^`~z&c;ow; zcxQ<~t;SoRqSMO81S;dDA9wa}P$pvhN#ms#%bWDlr!7kN(l=)SOI5wf#Q&W;~F^SXMx>7WJ>{Wo=$4hHM@B%^M+TLd}A`<{CUF~ z!5FfX<%;Y+UU5F>-Tu5m;2;Uyd!J9AH|XmiRT3qHmc`N@l#lz_wsgtNN1CugyO0A# zbt2A*4#BIW0;}2u_%_K=M_4X*dswc=WcEIz4Z8Sl` zILHGN)v!uqn)qs2`~-Pmau66hh%A)&6lUu33;dTA?&)80y3bwvaqu#qW2)}h-`{i( z=I1s`$w8CRy`u}T;qxEw4dP37_mESr=yilS^#bD9&yQJ~8ZdxCn03c^m%_#T9W z2M?M2HGcVQ3wdT;WjoI>37nW|uM)g|%7L#jz0~7sm@V=Q(VfCv*f!*Fb zgzRQ`1)eq1lG+`fqyx8lI=_L}{8zegie4<9K0|MunZXSuG>h@2g$3vy!Le8uqyfyqqQ>{dewr-5m5)Tkr_#A5z{yDP=%f~Pv{YlAtF!Wzm!RVtl{8hhueQ43cRrko zE4F%lZ>@%$XrHh?xAo?5Y&`hsbs-=<)z3&$n<45&l`lH`C|I>w?4EW2`8b(PaQ^KY z_%gj(oO#z}5S>PxRIcTq6IOR2+0pRpM7bYkgz@!p^c~Q z70(t=Tm7?MX0(5Nm5S5E)7sE^N<0moSfsEXPdTfT35K|UGi2hG8dXy^F%}Fu%@w8T zMb%CRDT=Q4qiXH)vv})R&y)h3BQe%epaV-M5``T1x_imM27-PqH3RVdX%7^3T>;WA z;TT8<@CxKQ-p1B$-EuggN}X^O32|tz@I$dFh!~Za zf|+nF-6eg(l}B*QgewR4I^iOF(Cr~>V8TVNk=R-r@M2?Y&kV`CNVrz4G%h+0kZ)L>RJRSr9?dXt88ZZG7<6FT7xz*Bl_SjlqBQjp29Z@`Z|H=?p zc{JQ#FHnYHN2l~^Vr$|&a#h9s_1&befo-pBgR)Xb^q4@^2`nEju0mI?j{X{&J! zGA5nnQpHR+mwn(-v88zM$8|d^N+t@#f)d$D9f%x`mVlBuZxbap zGkb&`#dgvUJT&1$BiGU>N8#>c0H+ViX-|t(0}kRtAO4fh$MXd;3FIMcA_dL@pML*K z44GOEOHLv7+|755{BOX0AMzhJD@B>kMlm~(>Fp_;9%VQi^96ubGqEurngf1Xjk5u= z=omOu+1ek7e8-jk28qI4ZzzHr*B_)5vg7_DWhcAJo((C_AYZ_}_wfOs2kGe8w9SCgQNM3L(XolsmHwh*_)UHA$e-8}c_ifCv}^!Kd1FvIQo?L89Vs77 z957NY*+-|W!rl$F#fWd*EVdQqw7l4fm6af1QpP2r96Z*~rF092O;DF$gA~?qiiVndXb;c5F#SbC>o3p#2xQ>1cnL zqfAHpvls9)+!-@0mHoa&^NYfM@}dO)`iqonZ}53hk&>jZ-UpW45swW39jD9k$Wrya zMN`SSM(OBiyK=x>`2JqXh4V>C=+Nm1oaC7=xCmD@-^aj7Z}S4wH|?2r|==z`zy5U-SEzrpoy`3HuGET^v~Qeh|#BN;v=2`PD&>n)#JOMg|_MaOEHG zrzhRhFR{<*=g56LIN^~HSUtrJh5D~R1qnUT2vwRwfqT)N5T7^&AWb;p!FlIwwi{Z` zc6~Rrj+sZ*%-9Yy^GMvmY0Nz0jz~<$)C{|TD znafF%4(BjJ6^O{bY!9_2$<)KHJwQctFUMF-FBTfeeU~_o!E2-gt71d~psrMPT)`+CA2K3QcjFiNK*N!*qVK+0o z52yz5xo&};U7-brfqP+BQ8Fk9y9#{qk-tBL&bN;}FpE8tU_xQYJ?AzqhRL?zz(U_{8jK&l#b=dEcw3Mh1s4US^ z?PM}vOI5w_A8DzY+1V68VDSL7)R`MarR;T`ZPC+G?SISK+z)H1VcO)HM%!evDxKO} zt3RZr{_>Rodgg)qWs!mYXsP1he?v<_D^2eoH{cNGkw5KIAw7d*lNsO?_Ct)fk}5$u zP-QB|G5_bLH-@A4p@ssDdJ@D^W7y2sm0;-Rk~uS@3i4P?sGPc*;iW6mGfe1O&)_A~ zea8P}<)*$Z(<5I9%~#xAI6#_@-{n7~`4;ps6@j^dIse}v@YY$`1ZV7D2Y|r3&jo=O z{&S#0vuUUQ1_JqwCfLO?{6luaf73P|w+C$__*ef@@(Gj9Z`tmzW`0lx5#upTcGsE7 zO+Z<_iikQCu*(!m{?SHLFy%fT{N~9JQX94kORB}l1z#Qsi5>cYT!Ihs0yDoBbv5^5 z4esc}z|F>bhZI)Prs3;!$i4WK@{V5}q9hPGS7INCM95=FyeRxP6g5UY|pK{qtf%f@vjfyaaBR(<=P6&;`E#CCB8XOkYEnctT2>g#BY8IXKrs2Db z@dC{4{5c*RQtz{5Cm)H&`TK{`SyG&Fk!hYCqU#1?KDlV{2~Syw2bXxJ#-6vt`J#q1 z!r5E&Y)+O|Z_`$fJR_7vM<_hTd(|;<4gr%d1H&jnZpjWQERNsWWQ6K$3LeGT1U6da z2bpV`Q#yd|0{67v@&i2x=$dcxin~IhHMECJdV~UypoF^*-)C@SaAG6_A~}h<2!a5a{7canASS{ePgkxcxiucVu+CD`^hkzvd+tvssJ;%y2CDL<3A3_SAO#BPv0N&N2Tyr7 z+f+l}H{zr)7;)Ml4N#mC+oX^c=R=*4G21}*#io1Aix9~%-DB$_{pB>g*gQh6>{bzv z*`g)>6d^fUGF=*0pS@P@C8EGI8m=fZ-cc!!O|+y+3XGP_dW?qOEZWWGV-%pqp&d-2 zjD`79NM5w-CYQ)`Qf-RPD6{epMo#`AHOM<)Sh5>4Yg^AXGvS!YHN;HVM#C{Bh?zMj74B4tb*WF`_TVg!LICP@E#MK2?w`Q)(~())i#M&EomNk;2AS}UVXrXVufB86lbU7IAMYj8gx z8D03OS#bYQQuFE+P z*(Uc-lz=)UL+n!ZD0D>wBW+qeAPtHhz%SAo3I*;7A5sF0Z>aQX@dD<^74dB%<&$I=(KSu21K+ay_m^u?1t845F!S|>`E$6GwPrzt5c84@Vz zWwv4B}(F?xe^K8IyAnqwCGT0H6GYng87o0n%}z1lkmzn$R8JDqQ6^9~=CpL$wpDyF0d!#DTG?#JrdJR{qUQ1p=`ER(2CRmudizV;>QTHzJ zbxmpic+!gotrMdNdN^icq_m{8BN-i&YRV3$CMbfI42GB%(I#|EYSJbl$IhWl(V<4h z3|fjZo$64pw5hhPQvMgHIK^Q?9Dxh2vv@9+Jeeww}ZZLMcL_w}r2 ztxdj^RV-O#N$_?R#b~qeuw-N)jPeE*F|N+%(cOdbl4>${JQ;#VVog)oH2dweUj&uJ_x};q*l8wQ%Kq#H~9>4S=TYNShhvZ z_~u7{exp!`L-D zza@4}=C`KINiZZOB80|}s4o*YB+bh+8xq~<+Ft_GDR{yz`f@Z&VWYw8r)FZkgKypj z*1POgVZHI^*c#)8r1PeX)qT4m*8&Hn+L0c+sf3|Xj_$!5T^K&4VIi_NGK&HWv0 zM(+K|HlvCo7uu*~n_*l0-fV`h#7ngqDy_cF5P^lsQbT7o{EE0on2YYiBWz!)g3MFJ zi)@K!HzhQi7udyBX@dOJc~YaN%Q4OmU8^ae( zUfq))N+qY_;BAj&cG+6`YOIY+gRzjdNRwhCM!-(%uyeMqf@I)rpMc+4SSz$2o@B#r0#?gCuOA>=bgEJ4y z|&BNhL+;b~R``Sx9yol}eJs!SET2a?U+zhqxiSh7GdBnIbo}4fqK7Aowm&v+_ zB}-a0@$ejTQbPTiD<=|bo6LR7F!Ep(CfLG|NlgjqZ~1|Il*kViJO_VO;>aJ%aXy;8 zn(W8;culDi*qi#W@;72W92=l!fsLvJWdV(}=ZS!Z69&g$_={StRyLtC0Y1?~-k2G* zT8Sf^v|dP_7@_BnP!e(}gMNgbHiwWy)GgHC90AIk0ZufyWV~TgU=@&KD>SBfA8`5V$3}t`4IX=zX#`Km-CVCg+$i~8hRH3F zDKs=pQ)ItdfG7pziX9|KeI(0kU#5+MqeOTr1CP%oro2CXnIsxLsTH)Z2vt@{KE(9SADJO>Kf!qvjZvfhY9-+|K(bvFY}1No;n7mED!`Mw~|dX#q3w1X6no|&W^^H*8raj0XzA=h}uT^Ex!M7bE^(g z$~p9{wz&cRo}iHG((hyc;oNcly3q9kkFcm&y#?Sz6?V!U4y)qpLeIN^qmViZ4Kx$+ zR7hb(U;f|hKm5f%D43HObWlPTSwd3nl$aCHazT80-z*2c=M8R&l&ELw*zDdP!1R|nk8;r=NgjcdarR}BO1KpqfEwC->3Qj;@adL zV_d~)fF=)llRrz+AZST7mf6+e``mxHG=H;khSo+Q-26T$^(BS76-WM9reyKQG6jo2 zmf0Kr*cn9tdByIa%1~`|%r{%`wFf%`$6dW7pmhwF$cMG#{xDu_ z#f#$i%5jBJH%m3eX!dF%vE6%q3qA+DqgN*f3cw}Xn{?`~hrM&i#o)#Wxdh;T%ee;gL}Q`4H#uPf@$O!Us=x`+@Cqz*P!AF zsF82crNmZ)&XgCEH0XX+szGP=O@jhnEUTYJkabPHHn!BX0}M+OW9@9-i}ckS1~67@ zR)HvB*w6+U&4kZn#x7s$vQ3~ZEW)vKvWRP=*!Iop7I zT~kYzpe~Xa?(Eg%l(hXScOm3O{CywQKx4@BL&KSB?17QM+A?dVfQ4Pmo0REHPnc=58hR6BR`ch-TZKTfZ zXc<{-Qb241pIPz?O)c+5v2(G!FUf;5?&jD&SnwyE$9C|P-laZYbtP4^c*`;th*#X0Z?Dl3dX zU&o28r6#eZ1_PDHMfA)-CB$l6Gf*ioCnX$~h_i*p%h@<|o|(h$8`ngGpPXz4An)F* zb`MlG3s0bBq*=qq(ki$$hninn#R-(?!0LZ+3}P3rQ$A5c2iTQ{GUVNVZt56hYuMUE zvUF0qla-oDX^&-4dJ~T+e!0CY18&`5Id!g}T<9`S2Lyn(lIPLjTPK-e2C9(O*kSK- z8LY?_BTkHALtN)zr|A88%qH;mrg)>2I*Cm2{@AP-!F!W>}j8aJ0VA<0rof;@0wwL!uB*wD$@WP&-^z8BJZgN^YI9=j)4C0*_Gvu{ zZ!`^sTI~~Af+~RQfH7_f4r%sjZ$fVE)6Qbho=n}>KS$~j`?Q%2>3+&tyh{7@0t?nY z>6U?3b43P=V5+Tx+vk0a^|!Q2uuqH^KvP1tWVn*Rsd#(2v}1Bf+vG$vHRe3!L|AoR zeyg0oo%I@DV8zL!H?&j2Y0}=XgROlCzQs;7xZ|7JW8tMZWr!cYJU33-r&m`$NNk6sWjv3N?T5t4I8+Z!q zBjA68Q1aRqz(s(H+KdzaSmuVZQiedR6Bbl;wO-1`o$inmRabXzAa0Y?)eDpLQh~3S zU`6)+a}VzHXV;KjWXNIyiugX{1FBrSsyiv1buh5vOFzwItmw#(_q6-+davJxPC(oO zjdw|+mKk(q+< z>t@H`Xfxi624BD5K)mdZB#4J7#Fak8BjXUiI|Pl`VWRyYOwxYL2@w1H8w27M24alT z?3U5r^xIEB)GedSuT>CX9E@g*2FF?ucS#0uGQo(Bd~J_7Qm^`xMQU*-5Y2*;(V|d# z0?}?q3fZ(E-uwyURdq1i#Ns`36F_VxzQJ>@;dxhfPoBM+V$n|KZ^IM(vAiy!yxx}G)4+#F3Tzs{jm5CP z%|7XhB{*hQ2=}O0{ivMirC!vHh+5y(&0GNFL{#0(mvWi|-71%jx>+bEbfBB(s;~h& zh`aDIBu|)x9p;HJHG52B;5*P;fyrp_xkHUGEHasi;s%N#0ga{Eh|*YEwT4z&H4gNB z1J!{p5zvhT?Z^oo=<3tyKuaW|hNL#`fb3z=BBO^u<9j4!6ztEpQjl*ii#NPNXl}gW z$M7_eYxkEl+XcgPdD1woXbr6At&J4(MEAEt?xS1qE-cj2Zwqy<_r$~MYQ!G}Hag`s zGlbAK;A(gWzr*0y0y7Z8Qh4$#&V>$uE|GUJi}*9iB3hw3TU6y~Iqdzm?dd$dM!5ux z!HfztTMwjU+|yYMa5UKVCunz*CCd)kELkZJ{OJfzS!(>u?CCt4*-DlQy%FblNoz{| z7K~!hZcS(w2}Fa%W&Tj5+9K9_e&#mNYH!(b!FU)puNr+QlxmTp4FyspWx7T{k%DC0 zL`zlpRsO&`NKe$FPv;K|kFh)B|=>p)P76EBNWJDer+{c!U& z@ie7oQaYl+?4vTt&CRvjAUE%Dqk?Ggz6pMf%6JSKlx40lp32dq=A5gwo|>svvq{Ra)>agHXTMCXVpIY|vkGfd3zN3)ei9)K$Cd23Vfo&nzrtBhj=%ATU{n5wLkN6d zD=P@rMqi`Bn-=+LDCho|JV{eEUMvhkop76#UF% zZ{{KM2Fx9TC~LdpY`&+Rl}F7KJ;I;kEuEf`aoA;uXo);0gN7Cp!3m?&-LmCDU&)(5 zNO52-Aydr5X|KK79Xmwlq0I)&Yrlyn0S#N|W8cfS*uUc9RP1vDX75a-u4Dh?{Xux| zL@jr4->T5x&u8Kh9iaIi6is>HCK5`lgi9CxyrHih^_$HZMuK-Ej(n!0($lyQ@*ld zzu;j|Yy=Jvnw0sk96vv6^u=cUF4h5ZJ0C2`A7!{Tp}a7mObcV5$xSHdC6q%6<+=K} z)Hy$)OpC=I+oIRPAE;hk9m0VlkoepIjWsG1oxoA;Tsf)Xn0m}Fr}6P=bO|JR!K(z+BRBHFXmC}&887|j z1{G#NV;pa31TR{zg7jlWh0=s+3g<;yQ_<08S>eG_lc+86B;l~?CceLuaIdM5`j3W1 zYNImeiByG?Jnug;|H1du78LTLJ8<7USv8gBdchcCSaP&8A7&0E8l0YQ zmJ&uJgHd9O|InnTJJp|gE z;O(Dpk0-1bXcReJL7}*}+tpk_2!EEqLmy-PG@qs&BSiEHTTu=)HSmhv5A4#^{lL!T zeqdl6$_s+HAmCz+oC09EM&cWqQI1H%R&y>Kf^*6*2_Q^@^Cdi=y?Q1N?cNbcOb_hX zbsry4IWw~{IG@W0@q)*S;S^Tj98Tez&FU2LRGq?~uw)}m@qIx`T{mioF{%Qkr~4av_g=1ViRVmj%h zlo4+IXZOQo$bJ3WI-;SPY^#3M;20dH= z8R3s*j^Lz>ery)dK?szyD2^)LP;zo&=9eDO=q%Kn%_D2~bS9}F0Y}l`$k+E5oelM7 zF{krOrI%3&)=|5y(42akG2R9M(5i^7XdRG-S0o_u`1UBJ%rkWe#C8~ON6PVeCVpXH z&7P_o8K!0ZRK$=jOzFyrC~YVlIZ2vl3LedQCIdmrbVTN4GANtmR0wUa$IlCN<*;ui z6+*iruwnB~0mr05cosJAu0<*a&4MN+RIX1bSP^p~de{z|Oq6rV!;Er%`$(GHLHx+r ze)eiIjZ8JMQTus;0zz)5n)c#JdMZS#fZgNg1vWA+lQz}VDm`P6%&1U?+r8`lNsi&z z26TXqMFh|EB!OuGa;Lm)rkXrCF;h*dLS>r4ray41X^)3kaptL}9KxR#XHe`cPR33& z*m_ikoj}V1zwBDEhfroDk@oxbzZ8>NeS;%%SmGFw>M0t@L4pt?0n;a+#^YYbre>! za{~8>hgovw(6$@@M&LlJGo@9tizd$N&AC8>^Jbn$gB3@Z+J7Oni=nYeH*puIkTD_X zK&ex8ps5fiB3e=#PV&6nWiG^2k>=%?>+Zm!o#T#9D?>wOwGY`mM96SlFU(?=DS%%( zcpeR2v6u06ZfT+L3qH)Y3BN#1z{fk7pCf~*8xVJQ_LFvc{7%8;x3fC41u7&89uE)@ z9r*cC8aU4tu#6?nlM{|x_iswwFkv&{G;*>DWsS#W)FM&iDW(k1>}82Nok#yNZ7s(_ z0U+%o1(8FIivdnV2k6t8FBA-AHM(!u(6iNef^y=a*{yKY*p&_Ul{==6>IoOCglECrA@B3b zZNSL5+mg8>Lmtw-dE1PQ=N|($dh*kZMV34yGmC!+#`^Ft-x60dc20tuIhbXQ#352} z1f5RvPAC1y{;}&4+{u4v-qKx+^&x+B^IlL(kP+lRT<80w7Y(*P>BKV?ae1+W_@b$I z^?y*-J>tD5k^63v4*2CQ`^ffOzcwgV_<3*nQS0d$>-w^qO5?vSp=ScTcsTOM@+Mn` zzFyAz1R3QvDN`XJl(0@t)PMcSMd|+QGx;LK$^Pp-%{?R>G+sof!T7KB0*4NT*0NDR z;QOz2&`P2_CW=W({ybI%c^P`!ny@N4k2|kS;@v*icV0{6wsBq^IWf*_xtt_9ua#rz zyt4Te@1~EQt2VaO3~d_C{KZ&1l%7u8Vm(*whw)ssGsbh(9sw|K(;vw!u%dz>CDD4H zM40_DCt_YZ&57|`|GXsCbM0g`#^%sYs?8x^5TWD=jC;v0X-QJ|(Jole^){ZQd#*)- zPw`v}q$o+eg)A~j>Q{U#*>g=~J^(;hnQQ>p#ouE**L!#k83$fNe5{R=5Km|~lYR3} zUfHT1VonMW%1eP35e3`Ly9F<4xnSSY%?tTfayQX6jV-8y-pc00LH|fT;+xq)k4q)q zUMFuD#Hhn#9Q1{9$2jOq3dI+}@{d`WxEe9mrToqn`@AM;X z8C-M-&R(=n;wrFjJeSN-c|nj9}*1J95qynVQPT*_%A7cEtC-dKF!z< z(M_-!^8pusv>&au42-F|Qsq=Fup9d!Oo6lw;C{>vv(oHG!!4QOAMbbc6#qDX>+Q$z z4EDnj5KXuZ>{B7^4;u*HkSGY=D7VhF42By zKaBk-7g&t_&>qo#ESaBfKkDUCA(0Jfn&H`8bH~_^v+wGg{g^MWAzsTP_T0fCZalKMcM17Hr*&B3QpWW7!}`&*4YPqpZU@6YWp%% zCs}IMz8IEJ`(ju^?F$tk;8ptq+w0}Y%Js|vpiTmxW?vMH#mP((4c>ZED8(?)7SJ#- z;0Vh3pUb3SSaLicPcjU?RibSGl$+#b*aolPPc>jvl0MtD|G&B1A<-bwNQ8Qu0j(kr z_B~*vc0{#)mT+>K*3Xg4M(gLw3AO&|SoBPjT~5_sK~$=rmXVS@>188_-sSCa+Yq5` zxX?dem0%n0P}{H`wjs$LB&@f{pJePo2_XGW`@QdQK`3Fr_g8N`5_lc>njC@~d4M2x zfQsMGe($3%VVsBdIcj}{#p(n}fZZF4`@L)+4j+ix2R_h_7txnlpphpDx@^^c??Zo> zXd*SWKO@*+wA84>CO%YQ(C9~$CL)5N>XjjlfJ5NXdqTGof)hq8B@_~S+ z9li4m`cmvU701;V(T#})S8j&DY5FclBZ&hhRDr%H~#PCaPXyBqIF)d{uXN1Tm_1|J&c*VsuI zK=2%IQsx@tda%b@Z`NARNvL&wyw-1y%?M{a-Lc17CuprZCDhs$uXSNhwSswj#lVN0 z-N5*IFCPO!Il;gQJ=I$BEw%nZ=1giRP)BGWPAZKa=0wNlQv}fDWBcjqNEHm(vVaCc zsYX`{C+gss5WYG%aMHX3mQZVnboA#D%^WBnb#tI4AO#a4Q)X7FW(4D96?6*g1zX}o z`Jtj*?|l~-n7x`xq1}W^yPo7n-u{YUX_2%;9Pj?jZwR*G z1*gBUOx}twHRrxi(aN3ee83$PzvYW>A;7hdS=D zQ0vrga`j}nstf*+9^N#T=LjgE7hDA;0WDDq9Es?7p_KEibSU0N_}lIZ7-*ElR=+t} zqvD>Ji>(CU$;8`x1^{DETU zTg`>CORjrtLA;@wQylk1P!}8K7O$*@F!rrSyCgQS1Cm0jvOx!@oh2w@l(5t7?f8Fn z;+5EeDg#4sNV@)Ko#eOz2PKsGn@X<{PG)|rIm_o0pwRH*)%W$nSs8h8vb@ndXI-BF zVJdtrM`z%tcS*Q3etKH2`uwEi?Hl&5Kch$TrtlHT8|NXCw{QG2I_|heLXI09M1tThgb7XerqK&U9#avm)$?kF@aC7K)gjf+?clamQyAaDJ*bdAztL$#Gjnv&t2LSHF>O$H* zj#2cNrvJtnc&ilD0t+gvuNR2!D?SA+J6fsMZ0MuK@8AFoT@d(U>X7U&51VU%nZ_U4 z%7Ml~^2R8~ErWAl`W9$ZE9BdoRe+GzzQX!1l_tJ3iQScWCr6{`c%HXkMIyg8^GzTP z&GG9fSIMbwcNCX1679~ZtPr)T-y)R)G-=!TEz)?Nx8fAPp_(5N%~-@FXch#uybcFp zO`}ZC(%-0RHz#yCs)+gs5+X3S&%6j)A>`+Ntggj#JY>fnNcJ#N>GRajGw~A^SN>P{ zX>Tr{`A+;a%))E=$%6WSo1ZqE8IB=Gs-vWWJ*`zeGPold&;O zcy~%gST@b$?A3&=of@EsgJl_FLw8gr##ynFSd+aGe|Dh}oG9k(__nBl{RmFVx&nzs za$N<&CiQ$0>jwwe=zww4bG*Y2PYz?qTZ}YNrQ#1%h3tz$73|hYjA7D_el1WPM8`)z zO|K;$U&&C@IIZcJ8`2_dP;J#Rn5B{f>~t)E6X^g>Lf$)nN{V!%b3`%|MI@@#6D19j zp_*Q>S}0Zjgbz3R2ULJPqY>Pj zfGkqB7HCPt!O1)g;=^jt4AHXU<<$CzZDsw72>^O)`u(l-uP8R~oA^KkCS@ z5rRdG(diVBG&`|-m1u<)$q}@nkFy>ji@h$ z1#qQGKtP=(is2d}vIe3Q9n-NWVRtp|!t%wYjcC3OPxzPtZ-67ZVcx%#zHoP)4{hm+ zorFwS;l$65H@>9Tvuj5{zJL0(2_sJf)g)#+4d_xp*g0%}RAo5oNw8dY;EHSI^>!c; zn@^&`+QU)JCr@Rn2Ab`X-DH*3G^!>pv6^P8^Y+CyL4h5a3Wi!QffK?S5n4`yqqhn= zkp_+}N?+E)b8_etmMI_JZSuTNFX(^I>i@%x{-2MYa?1qjS|>`~BAQdaeHk5D^7KgP zkk_5a2i_2P)5umpBpc#l)@Z>YixrWuz|1ukCT4Lo(>1&#xj zWYo`{TPfAy;xa3;yBDlT8P0Dh#SE|*r7{J zF5EAgifkAVcCHxn1)m>!HMb!tIegV? z@E^E0E7m%_Nm+QX3n;3Crkb_ zTPcC2BLrFV%%Xg=4@MNkAX?IM>*cbD&o{YzAax^4@s5DqbwU(aXvOYc{jKA$AYu9c z-wsLk9TGMuf^pZ$0yE(w6HTCau9wAaA)>*@?@o6h?E5BhMPV>*ga9IL#I1jz8)1YB ztDu9IZ`=C@6Ica~<&R!w zwJn2uGlioupTXno)s!xNeqqD*NPKrOR)j{52G4uP3X?4D6+~FJm2u)?v&}tHKfNdR zCMs#mggB?khd;5)4L26Xc3VP?#X1=i4Myw8>v}gD?0(y{gV(FY!t#}nyh1lOlGx5! z$?bH>&TsK{TG>}TubMV^`_I@P+s=(!)6Rc_?2p-U(C=4Ga(nAddmTJB{0EXgonS*} zC?xd6Fk9pezVbcP2JRt>;8hBqpctCQCp~U>6R%4LpmJvNezXtLAjYJx(l8_|lQi6U z@HR-p$JHVYhtFdkWfBXc7b=XsOT)!CCOOq$)XYo^%^*yxdfzfFoND=yG8)Svs>pnC zq^bn@NTn5`9{=wkb@?}jjX|zz!Xm!n2?uQhQg69Pkb1`hT->lNNF8>=_k>gxTzbC- z!P2Pb{&gk--9KU* z2=vtjLZGI5wv|A?o%cNu2;T>QH^=BFRnOJW%PMQTYS5~lmB%E~O2Td&6o5j|Lt;jf z$fVmIbV5=BjfWfMq*~5$^}PR*{LI{vi9A0za2v=oWtx!Z+-tT~DZP5#_dp&s2#*O8 zMJT4h^B#_f?PJdH&z$0}K;t5V;9lhbl4l7}E^1|-rbi(tQvi*Kpv>o(U89lUshVH? zn45mZ%?>22I!^PAy1&eX_&*Ha2E@PhYeD=y2{kIr95x@FxyE>~rbmzKYOVFKWtmdc z`eI{-T>Bl#$&a~F1uhW_qUuoGVo`@5$UvH|ibz%5c^M4rk1ZR7XdI8ci0ytTb0r)| zuqi2a9(Mw=wTrL$ zj{kmD3K<3g!@ga_%l z_^6)=Wek-91Z?+m0=lRW2SM^ z=b0VS%wWI~xH%XYnMY1Sn30TLpn7n4|14%UAp(J3Y2{`~InLKfV++hyMvPuXgH`D* zLdO+KBg9A4L=W@4Bi_R}AL=j%U4T0LHzwQINUN!omw9e|YFQVCbEVY+-FXA&LUwo` zA$i_l0AT5PX!Wi5nA)(Q%x?~KcVD}^>a7_KYqGESx;1F)nFqhqNPmp@% zOZm5OrdG%jg|S(+KLQ>)f1vGpr-WG{gLxRM2O6Kiiu(J3CVaW;o@^%Y){qh7Oa1VrqHfH+ zVp}A6*}i9Me#x2IjXBqEBot-CF-~-;Zdk*BhSv?V=6!q)J8jp@gGhoTvq2Jw)oIR` zODkp@nP~9tM>7#CnSV@WP~myrmKZ}tjMYMv%4P1+*C!22xUL$U&`gfPQ;1}?A>Oqz z9`b1!@&TU^(ZI46!*KP60Xg#K2%G~L{#d5CN!f^8WV_hGFfx&Tv40^^5Qp_h6^#8I z4ab&p(RKe=6ZeekAKOU}xAL=}{bO6$Ze%D(#^HH1`20=j@t43W>G2oB8e(5TGOk%^ z*xWDBr0QiGLNOvCeI0zx{m768)TkD!(K$F^U(z|Q5<&4cxkqkn=_wRb%PkS`{qa9+ zYba)DGmVc8#l)(CO(1m?EK2Mgl)a%yjz?^Gh#atQU(tJ+^EX@e<$M8hHm`od&)=LQ zWy#;1jKvMi-@Fi)vb}?xE%-j`mW|zB>5_kUd)@nf(Cxk3&g9JFaG%MUemqq36-P+@ z$Y(Ef+*3nN(sBJ{gn}alkhO>#E_c;BK+)-!BjS=gl#B+? z{V0uD@M!rbdNt&Sqr9;%ZeWldB8~t%0)@kEU7Sbgew(}>C!NlC01TPDiEP*Pe0qN- zhs^xSw)V%BrJPAa<7n`PO_};rZ>}cxXWE8d`g6_J_oro_Z|P4mHJ)btE0r1@A7+C7 zwx`pnaqkPs(C=gGA~i+{^fZuAY$cWkuaPJGUn+k+wYPyEIzfhm5Ig4kX3noX=!#x4 zwKC>ce$}Lr_&f_#hRogG@+(JJ_~3}e^L5`vf4<-R$}wa7{DhQrDL>Dpf;z#kPo$DPeUJZ@(P4Huq=g2rW$Zm1T%=yF@HHA1VuKDUZQU9dUh^Z z4$;5BvOKP17~{Cr&?zMan9t(&)VC;?wrNzrUw|lDxm8E2V`|#yLWqpX0q!| z$E`vOGO($_ea>|9K3mtHufL+D`JHC6a1eoJzD+A0qK~!2Jk2r()ckQznT0%R2hM&) z)oZ*1x5>oC3VlWFNq1CD0Wua(E($Ii#&I=48NFJk0cM9;ffPS#V3VeB!t_?Wp1>&l76kpzwt zi!;#!Ni~>cC))u{xw?jROkAi_|1iS-!n?N9g&(h{bC~K3W(S%cVMEd2k%ySk$ICyb zgN8x0Hhd#*r?`BH89(R%aDfRz(bo)vQtZOo#fT2MF7?UTK=GU`cum$&P zICqv3C(m-%h8J|)45wA5!p$Dsz&6Q?(Q7LX?eNpif(OTEU@nLh_10s{=wN5Xp5kFp ztN;f*EEDcU~ zET@B7_HrsbBP=|X^z^C;GYd1N0I#gdu=Auproi(&gpO>A5esLhB7D(31_AmbD+9~+ zq=f$1iL64-!BE~QUiCXbLvaN26giRgJb@%q%PV&=LP50RPmXsG+Dd)F`=FNJHql%XU}E3qAT)(w^p@x9lqL&VH{REm7T2i1}lgqRk&wkIJ*ao^wkIt@an#O>SKp__32S zfnNo{AVomBS2T_f49y47Ib=a7g@Kcf;!1WX0z3xUlY|AKtn|6W_8I6jbCbXshQkz1 z97A!@Eb!j_DQo9YF@m+Fub!im(54}b&{S)gO%rFYu19|}>T8v+$wLi&VHcq3@UZZ6 zi4?%kXhm@J*6S%a>W{b^bCzHbu;(v6adT01vR=M!%a1iBTpW9Kz4zeyjD zJhe;TS76J+pi*GQ^7P_2U)HPrUp z3IXP=9*r?_w**H-?nWM@6B#@uLIaIIWIZX_rFJo~{qUgq?0q!&lQ;ax0y{27#ao}7 z8d;z~l8xC1FuW0b5u;ph-xDOJ@NTEA%UUPz%FGqT=Pxo;_5$}ofc{^ZHr|8jS1>qI z!%3@w7e2L(RD!F#8J8wS$02B)@}M#VEZ%yYA^|@3Qi3&0;;+X10vbczkMFHquo&~H zDg>{XYsZm4vKWIgQih(=c(ll1=&=+T{2h|b84Z(X-1+Q=1{y-FC1Z`VSF=I+(psyu zp)D>0!pCqK@)?^ zMIFjYyYy$}2x8#N&E{FX@rgWos2XOgPRXa`5}_qbXcEkBKYJ;DmdR{}^gx76Xb>=a zcpNaFeV}qOPqmdR*h(5FlYA6}4mld?MuXEfTJEze>ERxE+wGLf$@;o-a%G&8!P7Kh zr*I>PXfTveSG_dDx*i&mv91JWPOEQ_*0+8t`2m*I&sG9D6%xbD+8Y=WBD&MG8S?I^ zAu~&SfxaI~(DM{8q!P69DQtQ~mLPMH9r(?A%;?zg^zN_O@U*`>PY$DlZSpJwP$0xQ zIpOR!EK3N~&+>NaVqa~PkBSUx=ozOQ-)zDrPfN}F_ElT?({=|vY6`##{Q$(V1pP%X z_Q8p));tc-1q^_$5Ts})Kqg&^DwjH_)Vm>#ZJWvv{3X&_r59}2*9K^Nslki-$45<9 z$;`9X=x>jw`p1+;VnqV2Mhc-VW-!K#)EPazV^*c3P4i2#Ps@$+xO1?vPtw6en}qTv z^CkgS@)LM$hmPx%B}nX;&o5JWK_|7IwW|p)hm%Sjaq4Axkc?tVp`C%RW>z8A;8gY| zI_AQAN21Qxy*p?wQoeI#2Nkd|Ak!qY3kIndAiyBrC)GOKsU#NwZy2CN{^@i-$pKb{ zQ~Z3O;R8N9^_5&F`!y#@f=geUo{1IC4gNR0&p7hWT zf7F?AVOYq)%fi4XM3=QTI8xjJFyFkp9!?B=8+z8cM*R8{9>7 zKUc;Yt(GRw`-VNoJI9Q!K_CWWU8+Qs96qHW`cZ)sA>YTs7r<@+Xai09rYNokk3wg1 zJFFU%0lu)f_+p{}#l=t3e!1`Tru{_P%($T3iKHq$u(DBljw-!Xj@Aa3k&S{IAWEh) z7JHa*R?JB^41mC#0T7r2fZlx8WJU^h(~PxHO0sZozxf{IsnoQgE2;d3lRPhv=drkEy7qRvlhXqx911weU$dnhR@75 zt8eE!bL~6Ij2~i@;Z+^|A`-h>;#ms%4D=ln_1Tp$^n5E{gxZy^M1uovf`qw;6TbCw z2fhy{ccprhrBJ*k&{EG~3<`5DM}hT}69qVmpIF=$XgWh~P+c+vglH02npEtE$h?Kh zt`7(_7P7vzZKxz`Y*x*oq(nA8+Bh&UC%`)Zm^cqdo^Tr89mvo`%>V>x2C_xoC_|Du zIw5qyIESA{Bu%(O8tupj6)AS){pYAOkZ(YKETBK7uQn>OqCh-eR~vF=4ocCHzg{Rd zgsU#jEJ!ya;Ap-BrEHAJd^w>px#QPrOdzl-_}Z!n%z^~>^oWa->;`(12wr_1 z*tF*Kz%no*(oGnXIgUn4NiY}y7%~Xvqrt)zA<>#3fK3(YM6oi1$Mi)4a#=hE z8LQYZB~$Ux&jn`M*(5RoCG|p5qPhmI@uPzYHI)^(3AWxoPhMy-DKBJ1(8ZA#>1@9{ zp7I?0>zqs(q2hhfXJlnF4BKgnA)Urf@!iM-sFQb-UXZx4M|dJ z%+HnMg8V!l(aR-xQnxQ$Xx?$yfmS(LM>FWi0;2ahGC^nRi5-b5A2|@E=;Hh$QHbEO zHQsgkWB^(mpk1!x{${C)Tl4L*Or2puGvUdO$IB8!fjKH$R`TcNO z(tH4`lWI`id;vtN`;k^x+Gh4sM$0f8ltA;5h!%E|ABhOD27QxG`Nv0+coJL}3|d`E zUlIZ|6G5>v?-?%xRxi*vl(o1Lm!<^!VXQ)fF;KZB{;gkO2&^L-GVu_8^vUN1Fs;uE zA@AN@zY+#2pl@49g=N+ zKlBiz@YJO&EDJEHliQ)8`qj*ad3b=f}z}0Ay>BOKXaJl!#8Y&iBan^^Zc=qZJ z^qy;kMqL&E;Mo<2`X84#0ZplgxaljC9nj^H|IsMJNEitUnx|25>gewV{#I3wQj ztP9yeqw(N3lsf}kiIVPBvA41NY}YFEvus_wpMN~W@8=H}*?#8Oe#Rc+#F|7|HD%*Gv#I@kPW_o+@LSB19KMORv4ih2OR29P!qV zOl`dx*&}^z{YYrTuKLs(j@pVEO7JCIAM@x8eyRLC_CFT?g!(u1iBD&nhzE^a|0z<< z{XjwrCRZ5aQIA@Quih}ZjQRM2NmKQ%yB(BJHJhHvrf*gz5c&%z7;Ib82Y=R`whyJZ z$7`yyLmc3NgRE_d9RsFI?Qi%?)87(<*^xW!en1K+=M$9O?ER}+q0^GE;3V+Vvb{)A z(fEP_6SEXfvY09ImLZ2U^L*xt&4dT}jQ9P?&u9FzlqH|B<$Oxent|8gQnvTOq1aur z_%tLn=70W8xA(ix@aLg!Y)U!s3v57H-thC;--|T_!%MaK);39s{-o(Z`qIXsnGc?o&ZK`>Ju{FB3`K^TdSNgS8afwzYEdIudM`lP`~oPM%1N5cT9b!ifajJxD`fxT#^)7gM6P&3u{)u*PuJjig~A614~9xUa4wFtT};cE4- zRE|Hrg>rlphSl(V?whJTHrTj^<@|Z65VX*W2D+XNyVi-^H}0^!DHTMDPJe0=Q&1u#0xQ z{Y~0F@(Hl@_QBFVwj!C^vPzy&Ar5y5#F5&)tDrkv;B-2VBc)yB5y%Ug5Go z12;fR)n|2^jQ%01Uk@3c`|%jzxqp~*@Z5VRDbLmYGR|{Xi@jkNqQSSDtBV?Q`A{UhKULk6_*{`W0UK3~!v{0*lwPHgz(A)5zae=5> zsX8L~Y3iSqUqVmCpr=@bp5o?6|3aU`(Lum+|3JetIDx)uPS#g}hWl{+c`WyhsoDxO zU55*!-Y=>DI;&<1V0vjE-~~<2xWtJLd!Cu>_+F#E26q?NBA+?k00P`La*@6BQ?T9! zh~*T#3~t+nHWyqrG~fH2BWw^047N)8(lQ!WYOZ(Cc?Kokr&B~jy|0INM-G%A(!(ZE{j1B z>Ba5g0Y`&>zQS-2+7huBy@2oeJ)-<$bX4P7w5trm?N3CZAR$D=7rTdA4p^xiz)VWo znQ#;~j~uWFCvgsdY^%izG+c%2ajSLds5Z=njHjwl#L&9qL=?KR>Btvk1s+v50?|}4 zV8UtO&uNXm?}F{^&Mn}hSfP4{h{}| zEc_%YG@6XtMTtT?!@dAS8ky3sH*|ygxwE&t^v}aK)$$|s*|vkY4r;J_C>gymdK2-F zd0^{R*I-=oWma7-{*Ifq13A20l@ZKbIneE^CeWVMBwddqAg%uverY^6@=656KbnH1 zJx+c8t9MO*6Q3W{^Ydd9o~L`{PKOu1IcpZ(#2jeSBbc$DDh5=9rI5V1B4p4!lNjub z>sAZ`O<$mwqn@jW5HW}WUu+XfvCnTiHI5{Dw>2zCEhQQ0>T<9DOXkG-dc#5P0=wSWSm=%iU2}M5_Ztp zhC%JOH_Z&Pxt~Ul1^+hmm_OI2M~jq&9@B)VYX;85rEKr=Ed#T>;rTChdz1Fx2vVGd zt8r2YmVErGz8x#|BijcFGL|#*!C)IdtzXo!-aHP71>Fc4yR_ZTirab~Yvg7y_$ zci^Mf+u5T)oSw=_=-aQ~)ww(rAKfVr@2K5(@s70O#r~zHQ5Yhx>k*6_;(?SY(1o_E za!l>-*tZOQdgXuZZW~+7t?|8hFJB(w z_wsLeM|;`7mtLOd_cFDAli%!n|13R4ab@b?ML#nA!`PyEkw-MFoxMr$O3bWOjYk%A z2Y&MVUV6KmPt&f!es3SeJKEb_-$SK>tArYX6{(D9S70F<^860GO#`9mT>cswo%--yFA zfGltA03ZEOwi+-qPKX>JH_@E{Z##JMqc*b+z99JkVntCs?h&mU#)-jMv=VYKCa-5V zZ~}oglQoF1EHYI zyqQPbZ)+VZ0;XUA^A0d?pvRX?rR zNc|KBxH)0EW@U`d&Mb3}ojK8U>+w#RdpCJ;)N|qDCuYI!W@80vUby(B>EST;xD7}6 zzZ`v-nTNnp4&o7buCAlZbr<5TaPhO#gJtgT+4ZuB941D7-zsPFK)ZJ{a_iw%&y&MA zWGOe`uK!Dgcd)>lF#kQf9uLzA3|!5@IY$`X|8U%kA-&hiEq9T~61KH%n9T>G!@e;q zGz*>Xb$Ci|ubO_QyoK>Nu#eY4kP;`N)hpHXNuUa1ZYjGjr2`LB-PFSm;3;k!ogvc& zsye$~^p=FBtEb8VthD5GlR|ag0KO>G`KX7L6*}(hRzmA8A|CPZ_#2Y=jzGaydY?%r|3N$HK=OlWMz5p7|em6=@X$RMRuJC#`Szy@Kpk4c|vF% zA2yKA^Y>D`m+)JeSG5*)P0gNxWm6}WG*8Pv8Ii~CTJGK5#yT+g;e+k;8t$UOLH>vPKr8PQ zZ<=)?vvLECI}IeRZ_*kclAG>b3;7HT4_}HiHByX)B24*smeFL6pV#&W19dZ7qj*!@ zJu;iaTJPfhhLw3-VcgIr1gU24XVRyYH&CcV?Pxn8X__a(O_Vc~1rGQ0l5PY~HA7p6 zk%-3-t5rbsWV7jYyOWLW;3!5t)`52?$LoQ;#?uufAnM{sgSw!=AK-oZ z&UOINE&*y3yUb8f4rb@@1vXCFx>I2+uw8!BS$LQCPIemJ9KgAJOy42#8QXwi-WHF7 zF~~;u<1qr+irxp7-Ax>qG%psCS&9Xg&F5v#W3F;saO;!;nH#=3SKcjfr-WfuE4ag? zxIme^93t8>fR1VrdVyVI)pp%OZVz}XQrr_*vOTmt+_#qDB)TDqlfBNtKz=!&0Ev4e zfFd14pi}~A`%abY;nyqiQhNe?rV!9aTA)dyM(#p^nzXt4Imo}`E>Sjb*4`{kX7i=_ z^;vib{o^bQSv_#YJiZp$%~B9NEI?MHlb7d3x{*kgOKFF5rBx#~9pZedb2}N~6q&*W zr3N%1F{48)+F%q>Cq*kZ$$?wX^y$nIN(@7w9enjuZ5mq0c5*}$nUVU2%;OA{N) zpxWRGw5hSPQI7S;pWZmHAhR6gQiNkgbe8(Xet~p8??Gg<%dQ1o$m&C%6Mnuugg&2G#gqDY}$1Vn}f=;TvdteY|nW7;#So_QaKQ+?&bGdZRtmLO=(-(u zADI4`V*2UiRIsWt+9QY!7CUy$IC-7A}UKn8yi z@8EqAC%mgGKd>-Qx6hmef%xK7D-cV~*9&Usw$C#=083^Rs3#RA3B-l>lGy}ku6ThX zVx_|Fp(*PJ(5k*{s*etP(IJbYyNG}6tO5~|9<*qi5D0k#j3LQhRv?fLZiPYnWrRUH zXM{m}NMZN@8y}=HS8O1;RQb2-enENI-FMV;&6Dy^2}jP!pE)kDY(zdh&Ow1IFGk7) zN&^B-&x$*#uzWV)%S9cNl{Hi zfTk@MqB?D<>6fB*Ij-(*o9LccFp;c})opXeX8ccJcuQlW08VwCvltVl8sT(R4yfJ3jT=X36@%At+)r% zn%puBQs^|1a4koJxvlaF%o%|8!76#9J|_oKH%^Rjl`fW9qFff45wa{HicRw=N}BHz zEe02VsuLM21C}b`2Vh_v7Dfz!rOtH#%S^diXPoE8Yj_&H7y-!yZ*f6>BQA@>2yrj* zo&+1%&an;=Z_vaMNfgZ-XgmvkigHcQdQH)3b(GaGNqTLclPtGbHE8sjkPZGVTu!SH zll0mRi+a*)FFD=FkzbL*GN$?@y>{ea)oY@szKvB9^jcroWH;2Eip1DRf2~H>{m6iM zOpWrdaqtEno@lkthk?ce7t%%CF7{&_ytnW%Lgd+rZ}t*+1G}|~6~Z^mFf`&<&mNMi zMm9W4UeK0}mIqrR`3d}l9s39?GW#AgR6pNAmh$evhPF4z$&*gdX%31yS z&0DZ%hg=^G6EV*$M-{nghdRR}7$SL}eAtmJDVCXh;fOuTMJ$72XTt69{#q;;$d3Jx zXSd54m3-~t;YfZyM7JIwpynL!53g+p4o#3jTeC3}Myc2XH50%aUfPQ;%O<#)Xx z#cb~lzkvu`hijLF+&y78*n#4%nn9zUi~S-GpvDP9c~RRzOXlDZ z2Bf5RX<*r3M8lJhsg1&LiiItp6hsDaZe=G6FQCJ`0jDFeACpJ?{Cr zuIChg7HG)D)w1ZYh5V5H`JqTx@h6x3MA#V{5yQDED0SDA6?X(0-hla?IJGS|oc$Qm zD~j9GTM4`4K!7z+w0v(Oa>?i1j+esjZ{VTvKW~@8w49oU2SRA1AkG8uNmUj;qccYq z2^T*TXgGs5Up-RjJd=%C8R;K(w?}Kz4OT&t^Sw44T`yex82NxS4>atG8qmE(kA^JwOkIj1n7Y_#ZkgQ{OL;0r$qhvID^r z0|Hn65SLNP4qQ1L$VUl*pvUn-*g9?;vsJhk4q%#B7=M6FCs-M8h(3Tc%4kHD1!4ibBdmct!1e;;DImPeHR!aW zYG)daZ-4-Wce=DKvlPj!Bb{p;3D$=cpLDueWlnEM@|CB-6ORUOx!%gJ1ZgR}KYc8- z@ScUmnj&J@kNi`j`3x*`*b<1|&GLmPe;sHb#zC`pO~Affug{ppYvIU&TZ!9v0OnGP zdt6);lSGdo?(oHevl%-huGvLLp&Xh!_5rQJtw@2#T*Z7nTq}n-41FW*SJV?wRZeUH zY6MRE*Pe);PmFYyHEik*@7vD7P*XkbZDqxOj#oThD~1z(B1-fS-VHQWfY@3iOuBc+ zJA}gO4N=ewlm}>`uHFR?)3X+JBKxN>vCDBMLPREDpfv%!YggehIAe5cJ*XA9;&uGx z%YsZ+cf}fB!Iq|t56dmv62l|6$rUbp86UTG&2r5uH_NmO%z&UVzn=HuQgrfIyp}d_ zGlgrWtUraqQ)8HF06#_&6UW1qGL+&JbIsm5Jp#&0PsN%&-2X)+2*1BR^KLX=2J$a}?s~8k$+!d|F&eqeMK;w2eMJw9}8oA6Cr5yr|AEP9e&U*=) z;~>5T@Uv;E*2$^2QV%<57yqhfi}lg$*i&c}2v4$KttL2e=_+Htgd`9wkEC&RKEh5# z(3o*5g3t6m6)|rR-|k^5f+~SZTDSyUKn*RcPfy`n=~EF9dTxsc<6LTYHC~XsHN|GB zQ5Ebamg5r*G^2DY=*Ykg!@5_f=MkAE8Zy^`cSkVlD)m6hR1KSn2BhL}qTxJP-NcCo z_ZfOq8ph!J5)6i#-oMN}6{2?{qBtf<(wL7|A(Z$(0Rp79t6n;T84v^+!jTQMF(nct zEGu3WXy{TaT0+|uwTlXv*5s8UPlYOwpi1Pj=^;Fe3ky*pe2-E9kf5M$p)qxb`x6o^ ztQn7IKm?{AIJI1o)+>qooM>v2`G?FE6l&a-OeNl=yf?r!C;+>N$W4Gn#!$Xb#Dy9l zF+dy+V{ErEOfO2DfXL7n%s`oU3#d!L6f#%)?TsS#oZ5fJok7*%?i8%Q{-;k?na1v& ztUg6Q$M6u|NCt{df1`s=>R*60R8K%lX!TohUcUtnOD8B@zXkpZ7b^gzwPT&AKi>ep z$?>kiH!u^SE~PNU0d1mAq!RfBj;N{TQ8)l!T^<4-z`dVF??pF2F30u8sP7m!1SZGZ zmznud8lPmZzD#`O`YruxFD!Ex5ngnIY{)?7$q*-&%iR0t%OTP#2c0H|2gs{*)|zpo zV~a%<8gQ906x!hfS|(u`*z^dLr1#_q>cZG8lG_cewlIcc3TD9k*W+v;K}*E-UR*rkia|WPtcc@bk-92s_cyTkZ>_k#keNwxqb_AeG(bcgjsJ4Df4nJyTXKKt;Cm57U-=1OYjE}8KRxl`HFKMGV>MUS*^uL zN?07|M|plixz(0Io)VNv9`DB^Pyk{bUI4-?|45rH) zbz?0&MP0xj-=O&N$B|Z1+;a;wUc`5irPU$#Y_1*B))_TeA{Ut<_}-VA7>VUXy{2GR zA_cSh*Cqus(D=`OY*B}z1P(fBz0|pmBXq*YlnE5sIX*}*d2HhmoDXFR1MiNU^b9hM zIp6;;LCIwH75vPZ0rp%5gY|+&SSRl|>?y*5jv$snLrPVMa{E*1I$!gK6WPQJUgMAD zj1-!^n#7bG`ersk;U4eT^TvS$HF(TxfDmSw)!}r!Ic1GF9cxZWc4$vip=fzni8C&? z0Z2hS2DjeBzo#!Ac+5v`u@4w8hz3_b63?IhLnqVP2un10!Fe{LxP7S#PNn!3JCJ8=h|FqXbdETSvg)wwvZ+vdR4rxbdaSl z>v^*cmBq%gf6?H+564k-$?HCfjzr}|7xMZ3s(_$LxTRcx8=FBF%gh}!8OhgfEjsT7 z%*-^HnTfW9cJ(aaC&8oy6({3xAZMN2vztSS<}jHd)F9sDpDGw7ijN4Np1o3EV$Le? z@hgiDY&h8yK4$v(uxSH6N`^C95e@F-bIsWseU$th^(#uE4=5~Xl_Q*3@_$Cv*0*%=`uO5)}{$iuwkrHZ>{j$3>DVgN8TxLA_MZh^Vk=dg934~#Or&D zOeAv`2w^t8$TRGJdYW>qx8`M%fv-a!LH}{k6R&L#sm)AfCsg?eI)|KlOoy;au8~$u zWuHsc-1JA@h6_k->N?O>B|!Vs5JwKxv}ctXR)Sz%a*;cn!$a@P19aU@fjbT;w);IH z!R{FOIvDrWoeF|k{9qOrQ6UZjHc%Gp(cp|dd_=qF55S|ON9hw zV{o#L6fv2mx!!MYpuH4Q+05YB6n5_r=~H0Y9vH0D9Dx~a_*Wta?!>&v<2^}(0T;j% zQLxwowOwiau-Af&bs#M}b{gz}ce$JiHU`xEgl&{-xE`?t^G^ zKQu58TpK3>Qz@~%={PN*74pj3nOY~SV(1`Y#8o$%33Cvx8VszC2UC|7f^&+n%g&4d z28nar1I4T~aO0G__tp+}Z4lID*A6D%(CYAZJgCGI8|7-j}yXx*WG+v|CkJ+%<#ypXAE^C%M@Fgb$?k|6b|8yj4Bg zam#@RCj_x8pptod#xCg3UDBUiw`z3vW09)S?cPgBR1fUvx3{*WkSA+PM)T0lKlUf^ zuN@!1k=lNpv=8ipgJpD4m4lh1CoeTSw>T~^TaKj#CAn@4aySEo8h1-Vh&LCw??PkF*j-;Peo{Av$(D^_vbr{V+ewGK zZe+4!^t)LO+JjVhpSp+m3IpIAIF$@$5Z*19p2s!&wSyyH#;;_zm${?LFb~Ushx;Lc z$7V6Z?w#O{D=dxlALkxlScVC$GWX&To)8E>o56*{_eFLb=bm5K{n)t3`GsA7_s&pZclGe59Mbq_#bV-vs7R#WmP-*z=OFqM*%8Rt=Ds5T_;?pBqnqP11^I-&n>&3(=gDnoR zGx$*}6(p1k6UrPq*k?)-%8o6=K;)o|z1Go*1?t*ML<&k2nH8|v*anK0=y#mai*(WQ zAYx&!p3ke%;FB{naOJIfjyBMkze?P>-`-i6c&7q)zOc&?pdNA*M#?dM-g{S2J!AII zL7)M+Vwyivm2JdY)quAX( z8i#5Yn0fbLz?_m*aW}`Dl3Q{5_$Gar42#oM=9D~((}&F|*>(mo-5~BY zPYjiDmZFi#EM+d#r32OEVE)=HIRwipN=;C#cwM03N~vbV9QOjGSIqhjkhd@r$-%dk z^Qvby}uiE;5aO-If5#2qnt8k&5aoxH_jQe2F70CKo%{jC|cUuU0cjFB<{De zd!W5iSF+U2{2^}Eo102pJ4>}d0$FptYq-46P2=O6~|^x<&^@i9}G0U$9f>5&8#=_VHguk zLy+UbZT*q?@dVY2+=Bk7RQSF3*LBFIeU&mf!Mm7JxO6|ps`e;rXfG(!kFc|;y6b^N zf{w}Z?3#adb#ks?Vi~>UBgt=46(BU4O^muI64k%8R<@V0?5bhGYY4Zo#;$W(3ujTdN1N(BoJS;z{ zIVwJop^zO1si5>$%@|{QPu_`Fh?89J-nTa(DGX$@OhCsd6rOaB5EWIp?HunGnW==MyM zyuoeKxs%pw=e+Qfw7U3m6FCaj1w$S4y#f#R8CZJbQM@4ILkgaIVF*Y3 zM-WMpaB)S3hOK~1@_9AwmRJJHbc%>UKiUpS>HP~^#N7&+r)``n?to?(3CphWe!7M% z&1e;x@6M zmu>M|^6S|Qw2w+wJlB_tAorbWgQxOMB?(l98J3cW7k9}3tO<)C-}oI3w#=gVDZbCh z$Fg9+`EWIAJ$4_ZgaNNozZ@g;jh3IJL&8sIyh&=YdGJvcJxX{3vXsLN%L0wEa!q?9 z5ZW#YkT$6VaC&FSh6`ejK?LUYBBt90J@rSgB`uh(_N_kt33+0K&u*VYW;s6L~b`o2$ieRzHJQ03rYo`iSV*%URH=N#C}X8lQz{*vSn05`?sg)sWi2HW#(W)l6TAK4&^``(3JOkk zOch<@*YDqn|_Z%#P`+^B>c4;JgoV$lR9L`@;0P2du zT(e`TyIm=K0?yb*vbsLPjwLUkN*Zmg>>*Q`Yz+7jly28T?>3~GLm%F(hk0^y+3k1NAUyZ818^R3vuj>FQ^V%Fu#xA3aO3{SF74j&+Rib07_W!1azIDTFSY%_+J3`(j!`UNs>su-AoI?weklv+#$>&!b+ zftW8_0S93JA9HU4UsZ9wk0&I7fandbv631z)u5=MZi#DD&=a|8Dzrw$8e5m3s0ab6 z1`H%1*PAP}QomNQri+zYRBDk@1RE9s0To1%O$FC;4Jv{Qijx2Hyzk68=ic0eMf>xA zKcD1mbLPDJyz|aGGic064(G)h)7<`$N@(HI9V9- z%LWM4e(o8iwlq<(`cC>0Li3w~QaNhmHpOV?*XTiB)Y#29h}<2t~w!l=K@J~xXZS2CW$+@a98 zgIG^Aul5Nwi>kC%d5;^!+e~$sM@$V>(N!>6Wu@W<%8n%jk_HZKf_Yoe`uE!{V&lq&4Hg1NK1&c>q!K1Z?ah@HK3t`1d$x_xY*#opRP;_>YsTZgN>Q zYKT`zk&Nm$2vGfnxQh3cTb*w2j-GL-{#3c@SUpF2$30n~KyD!y`7k*_e$)PPf_`IX zKF`EI_o6H!53FzI)!BNL7SF+zb&C4X|1m@0+jW(brflJ}&{_ME0YrsBCWTkXr)&XpdB|L*N zv}rI*h@h-?mr0{RbBvp?qoRK^aTD@}tt%LQxRbBYZ@$oUdHT>jfV!DX$S~Hgt-FMU zbhudurl^pGqLBP}?N?y2jMmcIkZR}Pwh)2UUWiT+jXB+tKGCMKk|pe6qTY!pl|Yuv z>YK{y=A*}^eT<{11uzV*`-zHdwgWwLAD0{@HmK3#M*N*B?_%&2rbiVnQ^J3>gh1r| z*pK+KeQJ*66u5UPUx$8q+;czbAoA5AekMK+amRuTa*{Fpc;Y#3Ag-W1!1JAKhH~or z5y)uXM^lq(g8z=Up$P$t$I#J3tO3EBzygUp4yr z68wX2gSHIR#eiZ)^M^n@_)C`OZ+>UwSr-^)QMT3j0?F~6MwH+vz!Db4 zkLN4&6p)xKUjaBU{m%*gTbCZWo|5b?J+h;Pn$ivXR7ik_u%#r>Rn-Lv0}YTQevWpY zpMu?O!~vP&f+@uD56Ep*v{1izgP;He^JgpcLl8^`C!l5U5^b`c4H%gy5(um>eY4W5 z3{@QeR2HiC`(pHj@ZDX*YSM~4ScM^73*6&i3_VyYc?L$|LqGpZN6C%nazq%X%X{WA zv*KdcS?X|Pdn+!^hDCx?6vdbu>4qj6nFPAx;(d7Jv%xs-(}j4X{PY#-6yg=n*B8$~ zn@WL&UeL%ClI%E6eLE?Tx*F6Ag@=%f}qkt$RSbyry4p_Rf5K+;CL3_z1CKz#Cm zxyW^YDz!<15~>W%99(c}>4d5Q+<}s#7dRhD@hEko6#(M6eIBK$K~z8{JAnr7%14yn zC}BCqT5?M#+z8&np;5qOwl4t7C-qPz%R*!ghC5UYO+ z!36pW>L15IR$6n^;5!kd5VX~hxcVAWp~&qowbtMX=2TT9sKw-Ta#}5@YW-20Vdlc%B|V z8wXUYzhry3IcDr3s6SA3((vsRBTzN&gjdk32UZT2m=j@Q`1syGp+YJNR}Y*nEl6~d zJT?2Um%I-D&|f?-m)qJ!CyD%(EFB6N)|ZfSROm#^IpeAk{RY$?BCh2Z4rwace#&CRgM$Ea1b-Dq_1(!lj8LH}w%T=Wz%*kI~YkA~}#dF|MGQDdW484c2R;Ys!TeBRIpqIN+(Hp6e1L^ce z?^6;-mBbIJ9!nMzdq;q#iZRrlNYmMoK8oS(BM!8EOqtRo0v6WBN-!)Znt||khe7Rx zw;dM78>}kj!WA=Q+<}iF^bi!5PC&4_KeNRJ3Di=-svz+KJ6j7>4+H>^`=Hbmq)l~5 z*`7nX)CCp*bS=sM3NLnTKqF@0JXzk6KVkD5zr4q^uS!g76~PKv$VQQCGP?;|P!bcg zWpLPtj<6jA9A825VL3zfIxgH+1)s1gyax2lP$w=RZN@<30(9V4DNE5SW!*VzO2NU} z;YY%ug^2pb4)E0)_yCnzwF4@I{`bkfoAXed;Y*Zf_X;2m;lCmh7NUmnEw|woa@n{y zl{^D$DLjb(UG5K@ibQ3*PfmcitI-XD;jYGnO|0esn>m%xm@GG(2I76%e`tt!_Qi9v za8k*#=IfRK03+M2$@l>9(bWLW%Wc;e!h`(5-*R*FARH7T(3Z@JaMM+3w<<@8hEsLvS1Xkyf7TqR_GsQvb&~vf*)paf6YOCOD`+ z+8uX6Hr&MtWEm|XPQUaC$1 zKty2OK)piILwEJvTi7cCfR`Si zSu(ygcN=_#8&zuI)U@51j{r*{2@Jx+!M`mW&5$krN*2{z!PL|ugu{mp;0R)&Q_?j2 zd>Km&3npTmB*<7p7S~WL*bL)et~(Mja7t1>`fSxXrbCal{@_+FtYAjzHn*=}2QEcn zNp3@PZt+Qmf6jOVKe#0AydgKG)j_*H`NCl%+Qx`Ige0)Uz6KJ`1_OQ$pzFL0+I**>&S^IG>lJz=(e@R!W5uH!uW1F*{} z;4m$NRKGOf)y+#?XWsf`)Rs!mDyV0bM$by2XTO2AU?nxogMq4D!41W@I2KpJaw1=+ z&O!!7yMmaMWcM%o|u@7qKHFO>s;NLmLr(MIh` z|Gug7<<~mLeYlsO?;E4#K;nSP=1(A-MU>54<2b_;f1%5VqE1EVJ1JKnoUh|=7D$&& z{|5U#Aw87dkPXOIF?V~25N@^8b5WaAgFY+Opw5PB4oL_4*N{d~p`%iOIkXd#-_4K} zRlS@_wA#I5Yfy=j;oUIS&<9dNHh>@Hpm{H0csBZfN2PicR!qk{C8t z<3ByAKj3sPu$)#M|Agg0gDih~tOz^|p8XDh&4ngmmNn(m9W}zE76|pLT@wo5QbOTd zhEV2P_m7cp<>Cvyta4pC(N``?nzO(?8=EAGa-AY4GMgr-Tq*cFZHzBZu!o_U6*A2g z)_}dn!4M-X8FVlxsCzt7d|9I?vy3edbE4T|I(%X=LV-1OIEx)kBAfvfu#JE@mTgK^`5WIpW>Zlc<0>J8eV)H z6HOC8-X5^{xZqb5#IKl?E+v>eQFvco_?_YHx|{G?m>{%1&Eb&vv6MmwIPC_Jf7A}p z>~B!^s}^9babBbgk$KnrlIa~DZRm|eJgYl6sbq0u-Be z>MjuBasq*UTq2p$`GA!WX&VT2#aWKa)K1vKn}*2DysPqYTST|A^yO4V$GBvph%i zBCKIK&sn*N?1GrBK{j-!+gYOwel|+w2pGrA8fr3#X$QJ6jtOA241hrmtpt1Vd8%tT$gb1$8$E&{1LGVB~8~9qyaV)SSqq>5=@eE zh6KWG$d8C>k+2q66}wgNn%Ji+CF300a@b-HaWY5<3IKUS2Jnky_@FXC1|h5^12F&@ zYH?5j^zn!M+5I*Txzos>pwSKy@MX%!(LNET@&hJeUh%;|C5QK;dK@#X;^Orl_Vd$|%K0HVBmO+TVxcE%Y<#%y?+lacfTMsi?x;*)#OqPKmyVF(GdXs zLFWcDGhR~x7}3~B*w8A5#!aUB3QCvBt24};n8{|I4AmC%0LK1QKJ}H;-W0?JV=e5q z0y9*iFfb<)gE_X1LKE5BZ;71FQJa#!-5ZMOxrBg?W-z4w7dE;VG?;WODLc8OMZSB& z&nY&h9{5rqp7_JQZ2{4YZ2`$tc1?Y;UKrno>x%oT6SRfwSi5VdFonTP3Xa-kDb4bc zNRDqJ^yzVq{ZPILJ!OlurCdRMDTWK&mG9HrcvFuw2qox+?#IF)kZ`+a>n^n& zLwKEy21S#FQ&4j{A7O0*>WHJ%oW;`sHBSjF+N7E&IB{fao?(a*eAYuC?L7K)cRhmjYdrwn^ z+@tBK50a*HRJDP~MnV~oSp8Zn8dG8wQZqXT5-Z%qef`2@(+)IvL!=^aD7S*2z_C$| zJFrbFmb4uy1_Vpla$?9}igj~nqU1Ak$?Nf#@-ZeY(TS=5uc(N5@gKaX`(_Rnj>a~!CIS}!5=kb!;&S*}61iG_Nd%LZ zAO|SELW*sZs*sgT5@f`m#ZC88ix zFmyMt&W&fm33K;VFlJ)=Kj@`tzF{ZnfJ-|Dq0c9HuE+&l0no2VESuzaB@3x63lN4S z0cA^lf%FAWt(mdDo`9<0#h=AcpW9P_agWf$O?o&`A%wXWBP;geZULh+TSAEDi=nZ% z@X4-V)fzy`ADyv{a;E2$I{u^!2Wta#%oI^NUpQ9=(Qx8I@WhvM z8008$|B0cSvo#n4VXoo?{5d z>xGHN=zRrqs+2KcPB$0gm#ckdWF*F3NKzC6u22z`vDkh0Gdh7ueGt3!X@gocXp`V) zyII`h&8NTiujbq${j0joRiriH;*aM9i$9(dD*gymg_7ZbTZppsK_~GEDFK%OL?VhN zA|h<4mB(NMc{0IVq{a{A4)n9qQsbz^OKQ>>gFw}-`i~oKHuw!89*r!5Uz@o4`1SYk z(>75#UCX!0X+=@lsW%NfErx=wlBO+oCZgMITS}HT$`@_>rhGxPV~C*J3g69x4ZbkU zc@t-F<}qQ+Ymid`F>iu7M=l54XM{v@-QQ!Fg(&5-@gBvHN--L2L`8U(-uxM0&|k9r z)Y$I{eTh4Nq%TqDj~1tv$CVr5=TEuNnny2%e(eQZoS#`EXiB6c94GXcFmk|FqmZ$a zQuYEIihemJ?{T242wk|66``0i2T<~=j)~J)9J&KX6({s6aNmHJDRpyVqr(6@S|V2G zeF`;^49Nb2Gs3Os!<@tXXPjWvq~oHDfoR3$mhcs~93+B_EQ|Fz4NF8~Qp<#lvPctG zIwwqAi5Q8$fTW=c$|k+DaLK%(=MV=d&PfF^;8ROxWwUyi%DoXr8HBrueo&kK^gjnT5EXn{V35(7~fQ^5edk7?mXhG&_AR#oxlF5Vha~6S%OJPPqA-HQ_d9XB8 z%Z=o8K3(J;l3%In70|C(pMnQWKI7ekKvc#9U7^q%=|7``eOCs_JH>dbYV5Er6v$bN zg8UI?E?@<4O<2}?FmR<~G_!1tMAWcq_r%BKhMg}1MTUK96~RMIHnae(nWCOF2%paj z8(IKqY?y*wW?ZOCEuMzS*aD~QhESMsYSvZ?Rr5gOZv4@$lcjXm9z*v`s(er?CBci1s&GtnfX4zd~!I>=LR zpo46HLT7^j5ksVfqZ@kf%W_E?r6Zalw8E&UhXatcILMM#fo={KjJTCu92g;wv^2-s zbA;yeu8Y=%mWEd!fYvKj-MC0`G{iG48@HjEALkaWhBD^%I# zA=n+8Q_w^TqWb_f#uQVzV0UcAb*br|AFpF@V2pt39-|PeM2+aCeW(M35%Hlc*ICPT zFql~dQ1y$~U@|4XXn)D}an5zdK8pY2wOK(6i1SACI*l}pS6hl`ydKfQTD(H@2WI+S z&u)ylKn>E|znRp%a!LZUjiEirq8j2|0!d$p@+=yHRl}f(?8dV1c>tAl#Lt+;0G^)9 z5$iMgjgh+urSO~Nq$(fqD$Bkv2*{)QEUH1Q>wKD~Y&qz^gBU!p(N zo(#t5MI`kaydfSVpG6eOT2>4BOd6*Y@jH4d$-!ZbMDfdO(+^OQvs30&|*b#a-Ob!5Ef64UQe9bQD7u4-`_4#|D<@&$1 zBU&l>8-!2jnnJXcN=cItgj)TO1|P_&N~X{9%Dtlx2n8EK?;{{P$X#zo-0-aZ;boDv zXCM84OP^zrN1u{D@b8+8fA`qcAQJt%CI}gQjwL*TFRlumoNo!7)8pXJp>F}aQ~78s zdD3a&91(mHH37rSU3q7`W9Z^~yPhU3=%m1L9EF{FhMe=NCA{I!^&si=N+w)&^MqPAWyl&eO*a3~31F(9!1=HmyS)$^?NY9M}Ww3;` zdcf>Aq?2U%jvu^zh-Zj}0{PFZ_bsd-9EQ`rrIfpy&$9Ibah03x#a@gRvG(C_z@|xNl(t zSTz|jBoQ+OBJ$?9T*SkvTMU(vhI5I5#dAKqEt)F6KUU+ zNo?Ox%&J?d6B~#gWm5Zy0vpY%X#4%xb|o*im?u^4Z9q2AdG_SQET0AMT)R|C7W9Wm zJ=2ZEnf`ox9P`KbPrWjU-mWQ48WRBic<%85fb9i=rn4GQE1!tXG8b)F9X~Ck$rN<> zmZdRV13$njRI@Y|s%VYelsLdU@mjR~UNn)o}E$ zLU`_rM|tE@Rx+3bdR1BZ#QBiG`AB{W4}{tU#KR*TM6kgrzm9MIbC|pcNxw$vYC2^Xf@ZI}pw)^oxC;`G}Ia!BR8cA0p5)53lN1_y@ zc|Z`Q$&nm^XOMm)^Re+`Q8c^XK@=NskP z7!8zDwU}cDL>aZj{)c1xV!2)_kCG65?&MadjN28j<~U>M-riDma~O<~@)*2jz=BK( zjsL6*YHC>^E0`CA#$`#_rQygt*+y+gxF@`KOu4!m1pnkDOK>}~AfY%ryubhk5Kw>< z0&?R|q)l_%~cPqtzwHyYwpJlIVJkX7K(Zt=icR%;9p zgc#b>lVHr9BvUfzT_*G72CVMj)-NDW7;;d48GbMz*Kl_Rc`fl}gtzD;o`hGpVzluQ zuVw++Hq!Wr2jY2|Y|H&9c*Fg_kxz;72z(vNTTFg2>OY1jvF`A`PAn^VAyjuGt}kT# z7!!9&z6_1+F9jEc#$Je%FodhkEPorR`;zpcf+V#8z)K`NeY~6Bo5q4<&M7=zitWS@4voD? z3fj0Z#IKY$w1wrgu~l{z{k?97)|_BfupRc)9sj>*hmISO$eu=F{{N0W>oH{SZvU^a z=TCZgP!IRXfnMNtN|5CI{0<3Q;b^}~%zJ}f<6J>qFOyw8(}{+oQDHaeWhbYCot#)T zKEqW-D$8IMLiOjOp0a3Xtags(S7thJpc`%G1N@YZ9T{f<_15BMS;_OEaoef(kl6`R zsu#xE2DAN^W(v)dTY3YDH$y_@Y@H^dTwC^>Fle1WHS%K%2QPx?FTIY(1VucEZkt=rT{ABZt4sfxC7gzTh<)$@U0*f;~dW!PukK--kWgD8w+L zu70udCc!Uuj@=FRY{M3AWKSch@em+~=V{2k1EqMBpVPdb9}BmqnKL{vwQcR*c%ieqsex zw5Y6PYiMkUufdv?ha;~f&YoUoHj{xqa-2?VEXPA1xKJi<=Fo>lhZ9MDu-XL(ZMsix z*a{0OLnNr)%bOVYN0=ZK=0sO_-MZ9exI`_>)a|%BR8M1uoYJ)6Sr`y;76_o1@*XNL zCn%Nl-GM_D#!!z;t3F1sE07YH!o#b&!*~_zexmebMuo<8C^iKbVWfE8w7!cJ9w&u+ zp%!F=Vk64B<{~TxOacv&tdAu%zmws$%Z15B!!N;A`sgx>jg0vN%c0n!r9D=Rq`z2; z?--fG4i%ipI0CEqU?SslZl0XD2g|{$xOsw`sSm#WHw)@ZpUSy=nwCXdi@mEpj=#oH z;G?wk;rd7fEPZHq3Ri+-uA&v^8Z7QMt!+x+1C!(&zy^MPyhinDpdW^(k0l#vhKp zz{I!YEfB2<(E2z zhSu}~ri!sm3DKd4M!c*;54(gMi%z4k3_UdA1p7Igp@%L9+15?M=?qjohJ6kgId7DL zb_fD}Y?==+LWUl!A85y6?OY0toVFT$V5gQ`27^}wMjy_U+urCy5iS!(AM)gR;^@N) zf<;$=tEr&0H~R3lUVEbt%S=JFM@HrtUQz+q0SH;V;HHmqXmKcxc)Wz~wTb{y9z`f2 zsA@!rPmcRly^b?9@+}Yukyt~r;5b8?NlKc)Qt*z*Flv;7VgfR_e!x7Z$U&fmY3}%c zNsIil9!BcnHaRr^!L5=Ll*iAPceM{^^l8IBG)i%N1ENmR;*aN4DE`{C53%+|UGXtF zP>Kva($u2<<49{!2Mv@)yEF~RYLfBn1D=bLkcK6RUSFTdB)fLX2wkRrlLO_CB}h~=$YYlb=@ z64@eYILSfKG|fE$+l*0zU}yZ~RB@XariJ>Ildct-AiecG3aM|vBo zHCU_#O$(>uW`=F7{348Jl~F?f$a!=x5rPf`EWl5bR~qp}{@PR{CYRFD1B|Bm#08Ks zV{5p8KV~BIEUVRd|C8l)aH-)(6~9Q5^2hT=IZJ{BI0!->KWbT8`5_Ome)sA&`SFNs zIn|0E0GMOq;729-0n9ilcK<%8S^0qi!EE)EJTUnV;$jF;@He2yR{3S-i?xm(1F*&& z1cV~sF<_S@VAclT5i*MmN(BLKRC?TCSwlv1NT&bhvx54t%a6CBe?T7${qNb=w7;$O z;qV`Q@A?3MEVadAS=n#jVp%l6qayOX*zNPGaw4D#yCg<}Dp*d4Dl~%H9*?H-!m2_t z{Rf{Jlz)KZCX3fTdMZxEm$Pj{~xVrlinvB zl9Jw~v^QVE<1G%Kt7^&ML0Q zk6J>IX#d;h$0G-&iVj09D% zoY+(Qe`-+vcWD8Eu3(r-{^bGe|BG$X|B?Mu(m%EQ|MdK}0!IV+<2hsa_PpGlGb$AP{mY49P6!03P|C6$(a=;i zqEgq%Qm+yW33feIn@l7G)eFsId5>izyLhb0EzMz=WsZ=J<7Ff%qrdQptFezGJGH%= z`Xcgdr5I#ZF4~^S6v@Zv+xuPOk}Ysb^wZ2fLQJx}tYq`3Dvl*p=+==ZXJ8kBXhvD| zPHf_M6Ox{;$e>B^W7|*bQJN0mE&raR}p!_#b2HLl{6uNE*J8K(oXD6{;3To4sqGM-sWVroU3(|Tp+GF>7F==vU z7+p8x^Fu>i7)vdute*@o&fPJT(H{c~^kNI42GWFpqhBg%GepveRZ!C0oqy7BGM2#^ z|9jFeS`_Alk`|0tjK;NQ`0Kc4Ju`E|pik*V%$2CXRT&nb94p&R005;jawagGfz%I- z#A82uV787F0@#=hx%*W9Jk6)_3ZbRROj;ushRPe|B7w@AvF}=YRMz)3y2>z`R{kO~ zfZL_=?{6cOt*U?qzP?a?Y1SCmYa~D@MxiBBq;@ccUnNsE@~8wJfvGyOS_C#f%`IzL z7=H;9ncTca3AA0Whman!<-k2S7bH%0LTzH4uxAH0Fv-=;O45eI-herHw)mWEbIj2r z|KoP4xm_x^6MCG!{~h!5Sb{e-K#SkJwJy-+jUoUKs_kLToygeX<1wrMfw-3&tz$CgM2aimDmcDqd#$w0o9L<9*azYKEaJbVIJxh z>eK(o(^8tK@-mFYV>|J(D0k#EtCM#a)ejawGj3XG6=pM9P-RSVABL5!90HIu_u8(s zt?czDtNhDIhVB5U?tyje1Ai5Zzv)FOF0^*0jiEXir0y7=u*q@qO*4+qTpqR~v&aa3 z**)M^wnQ>?XO?-0_QZlENQpyM)-ig9ZEnaPa6uM}>jp;a#oP$t*~ta<%de zqjD4M2Yti#n|)HK9M;)iEO<>5;aAjPS?3gJb!MPQ;4xTElBx}s56FeVvQaLG<#D&X z)?x%99qnZk9xQO(DWWu+?tHUc-dsK!Zk&Oa+e1xFsP{=c<#x-N)$6$-^6KVI zZuB7%ms@HdgAs(XXh|7X5xyvT4q9%E9#Pke1S9N6jMagMjR4c1iXL{3YT zEmXc%{3MyLCcT`jZ4h55`iU^NUeX#vb%*l}yYZ=EN3^4ZrKcm!m@j?zg#`g2B4{E+ zkzNI$Yqop%DEizc2@PU7U4T}x49)B*dlub&>%Q3hgu9R4T?N+)XPBsd3C^N}GEtAZ zC$x)@2oC7W&TREPP=LNAB?sFPu^_Ibeu@b%riu`&DETkCux=h*VtKKR#$qJDtrcg& z?&i3K-EwW`G;@dwqy(O|oDB;D(F5y|O`K^c?%bN9O z|GX`HDT0aLn!k!pfhbDJ=Y-G2!%*Ey7V$A-`!s~LL;XSN2AwLv{sr5oT6sdtJ*ocu+wkxE#inIKIgum&8x(W@D!1H+^>Du&tYF0tz)PZH z^^d^;i{Gc09YW)lWVWqm6EHsm*aHD8bda~J-bf{HhAh#WRA095o2W1Bb`+$1F_uD5 zzupW%jpg+}Sij_ccoA!>26Mzu+7BRGK47Vp-Y-PY3rI4AAz3tiVQ?|Qm+V$Kc#bB- z$N`sqn`ZLj@AO2wN|--G#3Kx07%A82Sm79sH1U=rx8}$~^=4f@>7bYex0sxG&s)~> znqfLKz=bUa1PsloG^Fn5*lvvuxO@WUy^{4N%nFe&K?91Z0rCww2{MR$DNYWtl}|I3o30ehGHY?tT_&hwQ8*AtZh#<)U7U&_Uj&~UsXfs> z)wzCjZuea0TCN4_V|lI>g}3@q6qqzCZpuf5+sIz;S9-tTMBr}fCRmI3NK_MOsA@{C ztxgW0u7mo1mp|8?%uj*vYNain30sh=ZIPC8BdFln7EnzmnS|#7M08q6fT4EUsB{muP%<>N)@Uk6BKGYY0sJwZ_A;}K$sKK zjW(iqA#1WWtVk}54J(!l*f8Ja9iK***J7L0r+*1aYL2?}mGpaU-7_>s1!T3xGnClX z=Nm#>kj0M9Fp~|d)sALc7~Erj9V9eK(y}B@N5}3h^iOOi9;bt}^0z@NcRY*0i`$2f zX38V?DJ{`4-V9p_1BZPsm+q-Wi>}!Xi*{6J0%AyszV$sHQGZrnk zjJ0_dE$92PXicpwnkX_NRob>s^Xvxg1kG2au%$t!%NdI{Qf|#r-A{+qs=c$Tx6-1` zTIXA|AyPbrMLTjQBM#;h5H(Sa1dAqLvKFmY>QP%8v}kIIk}cYzzG~3~ekh_=ZXkt4 z6R3g~O~Ewt03%}2R|(d~@($kLh{C=XP!v3i z_6ZAGi}nI@z&wk#gpaI6E0hYwqM69CIxKbtV0cvS{Hv7#-_4?NCXuz=(G(VKh+4GL z&pCk!lb`Cl;f1njd0|=9DJqLr6rZCmpO`cS+d@3W*pUR2Ht-uOTM6dGnn6R*Y{5Ul zr2T705Zxq`=Jn=bTh*kgb)93Zl+JFHt&P}z1WcNOEKJqtnasDO#aAOprdIqi_-V#c zVA9?SnzVBwY4HzexV~)&+O%HArgi3{x8;$$UQ2Y0$JM4`SJ!ut^ADkz3Z&7V4-U;d zls()N*#|&)DDQ<;wiO_lsSMC#@4VU)e;Bn$x1o6%Ol7Cg-G9lJ?p9XyUvS+qRKE>8 zlqchc@`G)3zgoM67LIc)9DsGYFospe72kp6d2Hp8E3NyuUaTUP z*U!Xs+_%q5u$q!hjW5w5LF3;fPKoWs*lvmM``M1bi!^BJ0M5mmR79IW7E|aCE;|t*k=IGjC5X{xJBOqu&%$(g0qqvazov-=|z8e-(d=`mF zz5)!;ejqZNq}(q`a1ahl<0eK!a!-^0xaKKgOnUKEkc^mScz5hYUSW#AoDW z54s({+@o&Cj9&yHF+^%XZ#O`%*b11@MV&guhi>*Q?H|w`na}q5+;PFCI}^9q9ofWq z%+d15&6k51$ojK|;8o~lP7^~Ej+VoGR^{`$9M3qEse1X6HJjFE8b_RFi36YxkLfG; zR2re4+xdmjbi_}vsV_m(VnPcwHni{{_FvLzzPYU?vYHsbZ!I)cXW_3WEjj~!8HM{XI;QYX6nhh$$CCLtr zd%q(ZoIQ3)o?L2NBiaITMD0?Fs8jtqx+JRRXy!CDmld!2P#V@nCIP{{>U4^cdM<26 zvvopnDWGF8swH}Pp!Mu5t>-cX_t1Kt7ic}>?4+{w97r)(0?T1q&lPeit>+rCC&{hn znKs$RYsXA~LmM%piONIk9!p~~d5g531Cv_Mvd9wCm?XEJWSifZSa#{qDen_hY7gOL zEBUV{yjF4mtmnXBD@hFLe8@W>vf`G|N?yC%nwSJHY}c*iv!6&SIlx5AY%A$R7MpR( zRIMbHNhxMq-Wg`)pg9IHT_Az20ca}eRAR&r0HaeLM*K72{=)Aa>H6>Szh0>#*sWwUtYdx_2BN;Zqf zjt(}92bgAY3!B9pdE|DMgKX9rJqK10n>Lc}<1<0+=rM4asyMXV%1CnQyJ$~5zBZ+i zY@!aUd}5y+uZzLRT<#K|5!(8Qk=(T{xwVdLZ{TT|i z=k48d3wF1?o4hJzdpGhOY428>D2#jaNu)?MJGD$w$pTayb78My2$cm5z(_fo*c+@a zZaJby#}yC2^8Sp%nW2WjE+oSjSr+LahUs+IBn*mdjH__U7XSo0LB?az4+IB8qFGD( zb29-`U98u0P6U06Xx=~MHjNwlvEGo#xZdiwXw}Ev%R*?N=$WxwSIQ%|)Uwbun1G%w zVtw~^$D3@-Au#CFe$2tjPI5Eue!+o{Sl(Snn?B0wpDJY@fR3XukspmIQ` z+g(|8SEQ8H{Ox^(ANgpUjR5F9Isvih?*U_xA_%)DTs`F*_aJii%c;g zRRI%zz0{%GzbSN9ifoa9tPVp*n4|n{$HxK#<&|vH1D*n0PNkz*Q>zh1Rz-6lQMvAg z9NmcJow&oW<(MK;#`6?91U-esLA&)Ny!8|cd13q0MRH*V?TY0Bly~29l<2Ak7SBB$ zw7ZJ+wc{yFqDqOUaK)RDI2pG)g72j6Pb=WIZ=5p7efxV>qV_Pz{nEQZgp)i4&Bbk} zKfRrZKrX2N!sP_(5R7?WD+3pEObFM^2uIj^865ykOlW=*UFX;7 zBXk-O^brm3<$qqkf z>+toGvz3d3dzL`!o~nl;J@ix*5DaKsm#~&UU`(B_cUe{-Ur#e&nZtM!BkU01-~=hTvYO6mbs{MTVxx60i3a)w03Hflrf2%pg4iIX?r;Je||ornQxy7 z(r|qneCiI&Jl2Rc%k#X^yvTC`$RFL4Dtc`O3NDWzi?q}rTPS*Kws;_6#Ep$fzW~N* z=G#^QtBJSRbFnU-J->DnHBGAUjk%=5iY4b1+UNz4R$1$wm3YgRo?xsN7lQb4PnvFy z2*CgXnw#+kK>@Umz%|)$&CVMzv+nCs?C+xV>7HTe1C-6&9E2l84x&R*`?)!7(g`#p zANfNh3N6@MT>m9Bz7NfTz_`_5zyU7dn|4WT!y2@m zq78N2Tw?TX;=muRhkQ8zt-#Nh?^vILjV77%vUH>WjVOr>PUV~ApW6tOW^oE%!M8Q0 zM)G!J;M}$6u<8?V?nHlqy1-jTUpkXxv0fTrSG|7J{RW%B(h|TfNUYk%-aToGV2Pv~ z&LK^0l@_Gat<|xn0iW_sLk=&jX$V*yR3lj6b46xtVzou7mbq>s4v-gUh#!^!BWz>^ zvqs!|WWxea-Qfw<%3HcND?1w-7!eT9l(a!B|{1RqDXje!$%?DGCjp>IiFN;DVC5xQG zZf#ILjX@zV%V{rQh>ZBaAc+F0L8=TIq^h7ns@dRk5@st!%W=&5lm-b>Yz$HrDOpRZ z;Pr~OY|=YNsMjwAVUDa>!rKFAFzu`g9Y%0qmPGmLxEI?8gT*XO(nCZJ_#S`0{KFn? zG4^QjH()a7$B3pPW>5Z-G>tfVd=?&JRWb5V7IzHt@T?#YkKqM*D514o@=&NU&KMS_~Lz>4mi3c(9`79kv>fBz_rBA&lK2jJuwE;{Jpcj9Ex}FK~-*5_WC6 zQ4Z_mfCutR$*)6pB=8H>M^?3@pSQ`8k+;5nk?_lSJqH zf4gUNK4nb`I(u^i2k$kVcb@hg={%PeSURs5L;_pNrl7B#PxJ4u41KjtwRX=YtiUg& zpCvxjo9aWIMv_~7z!I_JwS%~y_)sBH2l!B$v(knS1q0^0t%o2X6koX-jPcT=&WGdr zuov1CBOrY=x=dC9phb4r2OmvyA6}h;F#!d@n|&C6mD-YL5dtE*ND%CDp5?fglxS@b zc77CMUzH&CkShZb{4En0s0A1Tl-rwco2ff)AEd$~^!d>Za(G`3-Qk<`^l&ZtONq-R>u}_zOedCNe8}MK;+DChMdz z*f;Bc1=E>hdF2x=)g+S04$l*>aIhIK+u5U>g|R` zD*h|gUQ&r0ihavhAes?9eFx%? zlJhW`EL`$>sBXDlV`)3Af(tj}8PQ2JQPX$=hyl%u;gU_Ey2-rZw*;8gxeFIWWE~`% zQ&20=ND$lX{|Gd5-QrV76e5|LGDMRrz0)QG`37zVs#=$FrsDwEfrIX`q_@ilisBgy zWp%Gn;7KqD4ZNm<(}bXvf^09DcCVB944a+GWBuzmtIZN!=rLQCBFSo|954BhQhas??u|)mP znQw*A*MF=qMkz11v#hEAP53^=ElK|Ys5;+V5cgW_Y!xs8*o^mGz6D8!30T76H)8^J zLOl~qz(1ti%VGjHApsC3AUj;LGF11XmVCjQfSG#jt#0`Ut|hc_KTlMGv83h3P@OCt z;LoTpgUv`8_5k?>bF%4U)5YNj8}xnqg=9?!ry!?B(|yU!b${8L@@ZZJr=>dh zqEa0wihhbJd!sPPD7$#77IM{mN^Cb)W>@Td71`_1@;v0r>+QpzlwOx3t|oeZS;IRmVa$&qZv=ik-;!sqg#ASV`OMe>?iV>V#eByV7T{rH>Pu znfJs4=cZwDb~UD?=KV>|I}FzauicY`@Qbn{xSj5f==UzxCtvbLi`#wl`z`M4_iSx( z|9oG(#Xau4j%n`5V~~&%%R6VPp=RssIj4ukrBtP*n zICi-#HI6qBM?|lHBkX?=$HM-p-w>*Zg-xc)7nkyl_Ng+-kSBhbMk19!$^2X1Z16*q zPx~op_|n9|4@JwyyXAWKUcoa%X1tax89tH>Ds&>55`k!~Pt^=hRKv~=`XzytVTe8j z<#wl#>f+GMik#5QK{=(x&DCANj4JeKp>FV#ARd^N0p94@vv zCgZpHLxUg8=jHj%xb@Zha)hebDLH+3h7&nb7}xtF?y!zAmArj#_^}_umLzf9Tysf2 zZVu+qf)~Dyv~x6~W8?s2AGgTjn9QGWe2@5Z^K~ikExtGve}1*1 zHNLm}F%e%t(+0kM1mDw%`cHXE#E&52eWHES`b5yFn?GzHJos(obiv-e?=nHUK@a2f zFj@{E!T(tjw8G!rGyJbjh5tpV@PB(*3j7~d{Hvh=NU*9t1Qe^CYlyA z!%9hu{@dGP_oNGuFptVXvh5mTg%0FKIqGaKScUn|n0z8sA#pqU1Ma~0)Yze8CC!|D zon8kA{O}K+gBb*n7Vhz*;Hw~iWl}-1 z?)8!lipPN3riGYPiZKhxE*PNrLF@^{@<#pMCPn3)_7!u4#HV3Eaet(k`$lgyB?Rkf z6S)~?sS`6WNe_!gy^zb8h3Z#jrP0R=jmslfEP30b`bUJ+uK1^u*gUG+!L`YXZ!9l7 z!vM?~`Qx=O27z+ll_`F7?Pg**>6wj?%vX$MgrvTO7cgrN*<=c zjsF9@Bm{FYX-Sn)XD5L>EmsC~#N74NWb8wpnvm^a100aa+W7_FR|x;>H5kS){k_NU zE<<+i2}7QJ+Deeg;i#J<1J=OnDb_>0L^IBPdrviE(viZUKP)fYOAduD++z+c|C!;? z4rC2!-tabNkXhD-M3gaWiTOt&Nm4`DKh5)pOWeY!Q`!hjW=+VTaC_(LyOkQ>iC|W( zjN3*y3rrgUidxEs*@&6@#>FD;nLhys)0*#bUzF>(%T&2}a_-L7BI)s?u!@K~O|Dp4 zf4+a9{r#G^j6XAy-=1Vj@tiRl{(yd`iPmQ1E!=8b9n8R}t-_@VmA zsK6cdMxv}q4Ju?%S83a+P13Nh{IN*vk8W?>z?i{aG*(naXrXk7hwv=ly}WO-V9~wc z&kw_ykQd{vwwqU}J)vA}*bCMe2|Fx{Qex7dMA9H6Xer<=ppQjai4FpZnV)5*Cbq>l z`BqrOJ-0_A{G%^!JN3FC4+20xt`DI%8TNwF;R zGgxBrJUM_WAgK&i(m2KPE|})?iDD&oKtnO1`fE^u``Y?sKA{HX6L2?t0>>C)=$R*c z8v3_(DwP!0I_PPxdq;|@1Gc7B^-H@;^#`<9JtG(ntIu%{OIdw>o6z5+)mO(_bqpX| zKw5l9YJruq3YD@0&P|Xqcnpm~Ni(o-#;~n$T}|OqD-r*U`LyQzKAva9`*||q%Y%vk ztvB|d5HY{e^?v+ssGMv3uW*5TQkaHlQPvf>o$kIr1EIejHzM@6eAEUS%-8NQ%s~s6 z4LH->1(V5PVh6;~p~$=AV_Fi})Xs;!hD8t2c85k?gZmHKSEG5CNf9l6Ufyvi{=7Hx z#+qVz$Cac_P82=n~9l-?Dm>j;u znb(xzJp12YPki>KPcBV!LQk#XkR51%{xae@eLR@}8!3vpqBEY!zxR@l1XUowDs_;R zAE|kW^wB^G!U3}=!tzVz#~BvhDh0LBf?CL-+SoF@q@)Ela4Om3dY|_IA{b)CIj*L3 zkrehtoL->3@i%#+H|D@)Q)~pcP<=%1di))t>0*Yzl^%Z`kH6*0->*J?9ji{Fh-(-mC@xd}4o94g@}L9}R2oi(Nx_PNY}**ut6E?#(&Pe0g?mI|j#_^nGU6xd z)d4u*4eysszi(Ct?9IWozP;%p=bpV;i1`GxH(T$5y@BF?HYVA?{AyB?ff@9nF)&jP zHU_4X7?}UqSEG67OA$3N=dR_#_CEF1!1OYAA#$k<%*|603{0n*M*v%e{eWlu7EMfo z?fJNYt*eDCOJK{huSWC!EJYNy@%N;HZHT$s25c)IN`Nhk#_wOFgT@bBN#@7k*HYtZci ze}gBmdT28kS&QY(YgU=3Wy&|^NensL#Q_I!5O2esDxO8sHWTJ#c$dE-@SD+uh3}*fU_peA2^kCA^R@P~lWT7cf7g`oXNAd%HJ2xwub4vxynR<9i4^!o! zNGH>?W~I{8;tQH8w!erxKkuX50Ip{NSKiAhoq$CjSAirQMjQ#KJMbomVs2)P=tNXV zl_LFoPdyx=hr#G`RF(-f);*tP zp5;Ik^jT(TJlinPH`6@J^`2#n7=-)a!_8?BpM39rhY=TAe&BwgcRzgurg;lTaJz`N z$rFr{QTmFdm`LAIXA4^n*F&xzy6K^d9y0Xs%~?|Nb2+4-&+?ZO`9&oVhK0s&AXaF= z=6zJ`vn@3KIo{@uRD4q8@u@>-yo`u~f%>S>dz3NaF0xQ>=X|a=ps#lVs|Q50RnbKaI6`*9GzQ7QSCF#;=uBs4`ASksr#6dlv5De4wziVT~NM|wR7akL)t^>C;hY((Pr z_WhF$OZSLAS8Yf^pQ*7_^m(OM3jW^};Qt*#{zJYY1Iqm?lAFeJQ#6f7gNm)1#(hZI z2^lIS-H`7N;&jnNh915_hBro>G9|zpzax=2DfDB`3wuPLGuNk}&xD3l^w~PQwfwv} zTIdr)Z`$i)!!5QmTX2HjCc7+Z5732j58I9iIxchhK*a(bYW9oem#hz)m+TQfH?K>9 z&#Y)Fd^#N4n&12FF+N14f~e%W*ATNh%@1i4pYD5x&%OHLtUrNX?Idi}#2hZ>&iHe_=}aU-_C5P{wq8`#ZWO z3I2VbV%xn}@W<*4il9C=|6vjEVE#in!p#WPV6cqK7`VTBo58Lry4sfnwEOG}e<_e= z5}Brn3Fyo_q!Hupnk2#eAjDxgL{H+DQ#R04pg)IL*r*#-38c<=SJsKHA_H_>V8gEK zU>CWXW)@qRrYW*$V}}3KyuUy+$5c)~PCgR&QqBFyiX~cjHo2gdAmV*OMn5++{yKg< zHqER#g|=?BTZ$|eVqHPd1;P@6@V+H{I~tY2=;%Xhc!fGQ%F$#}VBBzvTzeCbxTaE{ zDw`^67c^pz!W-9SHxP8w3fUb5HJM$K<{tKEj&~$wk7&-U*?-HvhxKiq;i72W(fT53 z-hPM4$b~X3Phurg44$+-6J;#L6vUW{qGiCa=(9csZA0}v_W`;n^HJKbOIQhE!7>+_{H8w*RL9t_hOv5N%&Ol5JO<)a-M--b6GFDJ2Ss2W{sPBe& zJO_O!k`$#XPS`8r1)!91W^jEZ0~v^6Y{!z%*J3|+_BBG|Z{}I_P;e0g&lmARd&Hsf zVJX8s*to%6R%qM_-cvaLSSkoLV6b1FqDrhjZ{E!ajsLc@JVjjeSPW@*3Qg>l!5iOZ zg(lXL5Ov>X3@`R1$da(SJITjjshMnB4JMqHfpvn4FhFS?q4iSFxIElyqlT%8HEi#I z8a~GQAHf;bg&-9I1_VMN zu=sj3@9kr0z*Ytru$$yd6xEgKAmd|PIMbN^MTio;M9CwE$Hnl(pTo^cN!@Yl#kCB!VyBA!_aBKStd?>g zeQ1J+zh!2-l)WalmvUS2P&<^hayw1c*b`c5!P+$g={xtBvS=bKs_j$u`ENnlhp@?R zkg{CH7`6Z_wzVm(Xb}44Ls|>{54B6veH-?YrkM}6LsOMjcmb`gt5u3NY{3)X>@iKz zYVRIRZ$sVj3%*FCsj&t7v_sP(&=hUym8JfN+NJ4#yjh4A+1<1N(;wI+ObHKUXFagfQ%2ZSHlmv_yYQw=mBjM&=^GoQ`X4E zO7;>R$q*=z^30P0E}{C%=`lpRA;}B9Ck7pnoB`KBX2TC=7ho_u2XEV*5P+d1xV0%R9+MulVDkLm3#q80=!EHRTU5i|I#+Q^c$#XNgbhxM@BGQ7!^6JK$ z0ryxS*UrtGiPvH>RLT>`@I}1=;t~=S*NsA4vlsz*BSHaj5@En|6#~!qXTNn?gFy?tnJTXvgEU<( zj1xUeE)snIU*D%g5j4=z6V|MdPcqJQ z=oe}Nqy}Ikm4oF9)MOQT$eD;b{EMK7yVD9J$oQxnke$(pUKeWiehK<$*EhN08KaLA zP>!2gP>?5^6@3px_q)N{1rt2Srj>bYbCgB~%b|=4Se=2@3WcT<+Gx< zDR>(Se0HC}XFGYHjbXv;y(Y4l@)Vyf-s_u%$EYn8|74eXL=EIWnw z{+QM~Ml;+xF}hMCb)Qk$k`kk3MJc;vqRbJ1<%cecNdN``%j`b>Db2|gqs`hvj1&bn zW=OSJ%#dBRgDnHv9*kx4&00zUE@1ld8n*bfm|)IHi+Xcj>UNP{S{riSnii!5MQEYx z6Shl>w+P8@(n8w0BwGA&%lAo($^b0}253>?(PAfh2W^UD5-rS1NN}TmgfMpVCpgJM zJ18sW0&Vl7smwt{F_$a?cgRCfuNu+gy6Gqry-%8n=s%ipfi%#&Ix`nEr)2eLyXiP4 zgcdI7-PHUghGmwv8h;)56yyIG3qPYm$HEW9d6ArV7@oes?Um2=Wl>gl+)BrI?t3k6 z*@te6o7v}Mj9+)e-41prULa0rZzfp(?@80%Y$uRr-Y*)HIofjDslRXnX$knFLrBld zp3`BJbBJde&ixs}`{cJuw8s95x9QkPPN0p7wR-;Sr6d*e*1f;wPf5B&2Xai7BUT{);-8YF*E)IP3A=KcDYof747eV`0#%R3ZvqM6F3J@S%OkPJk!J-PqNYg76H) z4e)^NRp8Fpso#L~zJmlJNbtUa{L*sz>YFmm2e-@K1l|Y5X*FM~V%6}Utl@HNzR`N~ z)nLW)9a$9L)VMKa;^FwX)1lChfoj+VkpD1|SJp#(9Q)^=uc z6{V@FxLv9+?k_&VdN|2L3^&~>oja53zWFV`#l_g5_NDxo;8pBIy5f}^0jRt}uQiG! zH8^4JKjanhP8A7(A7Bu}Kdx2SQ9TkTiC_9r%}oJ)bO~` zC+7ED(cjPSxmeD<{GI`rlt8<73T|V4llNfK{`uZJOm&<+@JNV%F9?KnZ{1EmOG@n- zKd+tCoV43W>A( zd=+ZBY3?~Y{;{_1a9kBRbAQug^Z|#yxbaF{6+4S-n+!ZSU1ClbICIzhF>Bsc4?nw1 zpy>2k%_+z9eDGIzBiosK$Qwh7u1LT9x46o2=9XN(-cksx z1t_{5R8e*Jg){EO6`*)*;#b%1dwkdRxB?V^z2xiX@|G`ZC;)9BF}K+mCsnFa2jq?c+`624JZ#ej3AA#$q^q%IVaWl%io zBGU%I$R{s86pW;=mUrZnv~DzG*ryXOs)AnhH~ma*^ISsEIzMX8W9`EG;x7!m3tzJE zE`FXWRXSlRMZkyt9T|=bK>r{lpUr67&~LfOgZ{cFeCV&iiwgb3N0Xq(2N4i}{5@>s zZ+I6{H>VV!EReGzp5f2_u(=OES5!5jXiu znA8@XK>2ebA3Bj~8c#^aPCirRX7qt3J`-p3IyT$bgRpK9%(YlKFL9`}oa@?FVq-r> zdYo{{{87lhTp^+o#vN>;ipCw~OZm?pn$X^blOoNS|awx@h{g6bBr7x%-2r` zG}$Bj3?+MHr7WcQAPHxjkg~`Y5+$-TksyeVtSgJG43j2bI%B>j7@>wn{HFsofycVH zYq@};@D>x&QUhSn=qA3ip7hMX4|#Eag8?$Oj$NC5dz0-*SMP1Y^8RCB%S=#uPQa z6dEi23F|QdmYy$%!Se*}8DO2r*95liYjoP~7YH#JU;ludHI>THe0?3S3{@9DU&|}* zVhI8aCdU=%i+F9Y^f0Vp=q;?&uf!U3o;Va4DL4s8BOQ(ZfGja^OytpTht|I>yh&!CfSGQ9-~y#xUGU3wQcC zIk$Im`}_rZ$9$SK2eon@|eCo3~zrH3-oNFJjjlmSJm2hGgjr0;?QS`Yz|oo{|$|an|&8Ui&~FGky#^X zQ)CeUvsWc9;C5kAeW^$5!=5JlIT1J~=m#l~qzJ@6$9)Gf`IZm2rA&D zyA($9l5suRwU2!lUXNM025)jLlFbwYkUEh>LK~k%ik(*PlSn=aF&9!PiB_Q2Ac;=9 z%O{bdkb*?-jp9Oz%6*bb>PsMzqGw3NZ*XTD))yp^0_l-xqR51;73-z&H5dzd9V8NP zbSot#QG+2-eJT=xQfI18^}+#?!=K-NL7yt1k4B$9d&KBdp?q_)#_6Fm#khvf%y^dE zdtBNj+^t1bxO*?|!Y}4ktrNlQgLm$N*bWKR{XPSbL&f-nGa~T}MhAWe3M_tp2=DfM z!x{4}pNHhOrp}`DwuvNI;#CVFGd2eS(uQX@a z#oqVNl&{onrWD1xXJGV}tM<;@lu@>L-besY))NbSzTiY&!)B?ap}M&&x9X#CWFF@j zv`~3+hCc1phHU~M+(iNvJSSnfy)E9lE zi8Vm+tA7qRY|EX92e2zN&5R(h*E3Cf^s&65$h>l3kqB6tKm$2)yJE#A>IR}030;Jf za%pt|W46L5hse&*%tuz>20K38@UUaTLnl^KPzo;3`p@evWsw!VUx8x~is?%Fm{{?; zGw*{8eybE~Fo13&2t=&=={n^Cb3g#OmT6fWDCQ&-(+MG3tZp%O4fm>(on5@@basd> z7yRspgxM>n(?x8#%s_q5CY00pBeq;tpj<;jIh{~q%XRe14Z~D%i>l5pSxJe)&`~E- z=Bv_Sr=ZL}Ot)T??X=7%^%^9{L6Af{yk zr5*<8;UYbpF9)`wBcSTNKZ>8hR(948X8n(c=s%+`e0d)~zITzFOMEZf zm9H<#D#5LE_m*iNw7CCy3jYRtiXM5^k+|Ddd{67|F7+dRmG7XvDs-qYGDZGqdiL2X z0TmyhA!9t^rF3=}FzCfgh;?9gJkYujq(8y0xen-u>X8~ z&>n1u)R^|*-9MQ2U;<4WJfsKYh|Pw0ocCcTSXxN>83)U{;=EU~GgSY`SuBhsV%)%H zX85}ZyQTdcbGxs?;>y?Mhod(ahNHua!qHKn_aY0mh2afyzR_;VSlGLTpZk3+B4iE?)09IGR~JPSggkuK4V*s7qRvC z%iZC~hkGnT*&|@X!#!3yyUcYu-)YQ5JctEPVk!>O{}aR$#K7 z*)LxA$&tV9bLwqn>5IbXETzN4TC2dU^MJt(0<%egStG!#4)<^cm@VN*OBj7E0p{y) z5A5toV7?0Xc)IW?A}td=$XsC@?wB>=RDEX!FZEnw}|3e?A-m%CCjd zwGqm^;sJvj1ZJ%OvqFG*E!<F<~w!$Vb+GEp(vh*f=6u{&wF!|2x;%A&~SI+-M z2{?$pYgsz-u|QJ-Gv5P-Lv8tK?^LDsLvjVdz+yi7# zVBQW#;tC8H?E$kM0)vkNm_h}n(3yScimaKRcKh^la4;O%UY7of(3HS@?Eym~0~m-O z%Lp*9gnKLzU{-`9Z-wC}2{7xzJ>F4Z){492h2JM3_c2AiWHb4XZAyv z9QxE>$DaK=a4?KcZ#p`+pecdb>H$L{0~pX9z-$p&rWb?^3d~Z`2?7H~d%!?*7viG;rc{9`b!MO2 zA>%I(Jl+Y9elR=ZC@_vQ`?*_(^i99AZvP+9&R|+0EpWLryW#0~FMe)Z?}8uD&QvHc z70&FpXSBSwU{u$i|A2O;Qh}*-X5SjQb8Gcg&kg+n?M#&dQ{~M5=luttzVn}N*8YHY zW{3ha#F>5a{)>O|SjPt~emEPaG!@q%i7~ltV^iT_lcU&7 z62?69T0?Zv!}CHvoRJ(SWKD%le%shode|WQk76c~;@Q_tnRff~KXrx4|Dn9OaYEKq z*c7&nO_hgDzGBlTycyo%*voJ26+iBWGt)}eRM-@?jm;1b8%!f4Z>9=1b?^S|mdER> zFZ|)`{5TMJHeMBGb zMG^FJ5u~)Fsv{Z2?RfN*AgW`6A|69fM4ONy)wD@Ey>ol3sF@l;hCz)QMW>1)ZK{oW z)w|yHoPDLL+M%r?|L=G0z0W!K<|b|ZX8yUKPjdD-XP>>-Yp=ET+OLl zgpS>J%j}kevgUQ6?GehRLkI?@BZL|WyhW%)BeY5o`h3T4o?SlatmnGW{0L>!Ap{%K z5kjJ$EkdOlq1A%WlAGony`j%)bjQ0YAW<)rO@|Q7Oh*WbBC!aSX@ry@bif0>ZykB_ z18;Sq5faL#LkO0pBZNeeScJ+oLhA&ftEXhGKK-H=36Wd238j zmBwikpFLH6)sDR{9XPOm7n&j=ZaSQ%b&6Aq4=0Vj=x-U$dg{l+UO%zE_Y((op+OS* zrbBCHr)aJ8qa_p&w6Za{<2-fX3kQxZ*mti(yU;A@;X;N=llwz=&h8YgRerRD0)m!| z2|e}o!AsBn@ybD`bfIw)`ljPnW2b1X_M;^f5VUfHTOU7u+nu}gD>$PIO_UyUOT(=> zouZ}uXf^Ui&FH68fe?tEp48MAH~U ze5X)A(2{}gr;ZvnrGNdP@ff7&s(4+!&^H}gEuEqzn#Q6f6cDr`B7_%beOvT5_1ryO zXt(slf;1{)Wv6I~rm<)V1q3Ze(8|pJ&7zYp*|RIVQ$pW#+*;KsTB2zzT0#Lqt60#w z`7fJRmd8%UsB2e^uGR~E)1kGxQ?x|WShR!!f>w#3mH+IRp7)+U4x^M^7TFW}rbA0x zrjC4f(KHq!Xs-~TqZ z=k0HIq1_VtrbA0xrjF1OO=Hm#3J6-|g4V&|YkpThY{&m}q1_Vtrb8=(5O&zvipX2t z*}79GAZS$yS_@x$`tb6`%Y$8Lw}igw(8}%m2lsyUcD0ebb>8?i8(3KUzWoL2I_4HOIN*lYcFmcSIN3Eun8ZwDLMdtIUsnFiXDZbTebb?p-zi$%~8f`0S*AtU9#|?Uv9t9a;sQ zqE+QbODG^{%@edHe0I@wr>$r>rwi?t&^H}gkxtR7@uMXa5VRHwTK6t|?ClL#A6nLh zc1!4+4lSosw5Ivd5()@fO@h{sk9~9Q+9@|xbfMi6`ldsxxKp%d`q2^!2wE+IR_S58 zA9wXd_f>VF-4gnyL#w1yv}XI!5()@fD+R6b53T!K|EiX{F0@-h-*jk|c8XS`A1$GP zptVZST2pxOp4r`&PwzszCG<^)R#~TL&GDlp6cDsl3tD-5U$p-ZZO_i^!v2=fHyv8# zouW0*kCsqC&{Bd{;+ZKQwT>(Pdl%X*p>I00syan$p&u=wfS|Qb(AxD6%O2Z!@8)N_ z&~6ER)1g(P1I z8ZJ2St5=RWXhj#=Eun8Zv}SgS)=EEGLIFWbmTNxMYf00-%NI^Xh^DL7PSoqgk!ix8 zvpYp=l^-pkfS@I-PoLVmb@j_{PkisIF0@;EIcyrV8aqX6wI3~^fS{GbMLSPby>`{w zNvBQxt_$s!&^MhB&gm2_AZUdJt*5Tuef&QzU58=*E}MuU^i7A>yiU?6>*Z?z4~GsSE9v&^H}g zO`W18n#P7dg#vvPRsU1+z2zUk0v=@c!|G!`wPfS?r-wCW~y-~YSo z-p}hoyCw8Zht|qY(GpE#(Gm&>T8^M~Ywq&M4G*n2ybJA?&^H}gt2#wXG>t_|C?IGR z3tEewePP$$&)zk>3+AOMAKNbgaU$AxuCV?hqr(I(A6)V--UKd=$j6$3_{rP_?Eo2 z<6G1&f>xEFwR_3Plcw)+{J5^OTV@4$7FLjBad=S{R*^^XmxYz&QT%0LHF*?&Sy)jX z#a|Xyl}GWHg_Y$|{AEonD2if*`Q&9a96>*7er^pA3rvYF#`<>bYl@p@yx`AU|E~87 zSaY^n&!4wG5bUw+Ux#2lyR6B_);}589)o*NJw8UzZqdZhO&*4-R&VVB4K78lB0&)rpV0Gh;&_i1qsM(E3cE zp$xhc&eNy{`)mk|1*#|=b)Egf1|W{S%aZaQ;^i$t-m_N(4sE%vN8(m&>w_;rBp(*) ziWY8wsxH=-bM@s+eK}1o0L=TP@^iphetv%cxSyZ--N8QW))j53{bbVmz`;#`bogJ7 z&2TOv7i&g^NK8bSWGn`UF zjV?hLZ3ShFTTV$6aCsNyyl_e2(8Yl%&o0Jk-0^)NdNaCcAAd0q>*3j?vMq`(sxb?jaHn{T3fG9aObrbcOCtj)bT^{A+$|;1A>L(+XG; zG+$3Yv^fH;Y@#ANf(ew_Mg~|__Md&bs8E-ATa&z++CHnj`hb6)?0s~wJ#i6F%x);y zJPOrvM#o+He3k%gt(iT_a-tr(g|9lz_XWQ1!&~`&c$)7wnTVo^`5)=c)oEzyY-aWRWw`88V#PO*>`Hu z%d&qpwjV+B#y%*}E|vRpyI?h1pkxaGsT}hfpcaEx1=ypq*;#0KS~KKzXX6Iv8IXm) zNzOp*FF6iGWifrcV)&>~-56ql5hn^xtmTF_(#m4`<)qKJ0Vpv1sjVX5-0p1riCZQfuFh>8bU?zU`=W$?55-H3KI#;`CjZ-+h}&sl5fo z7GOanNGHB=i4<)ni9nu>8%Uf<1K$E!&_+O(S@s(|08RGvXmWkhn@L}i9wbNK+c*B? z(!wRhx0Vnc&|}f*h921Wkp>QMLMK`I`QD{S*vd~HE<5A+Dtu6xJL69Jg1s;H*vz?o+s(4NW*%rsO)_`-LPH%j89?QxIL+9@Tv7pPp%Kn zRF5IHzEU8GQpBY@`*pnPwE)$~KsoIb?;U7>i2Gq;84q6BW(kJ#@akDz*SuxTl>dUcmA#(07mHvHC^Y|Sad6C{GTiq|GgBZ=9V|m9yQon!c zRP#LqI%z+#bJaDsVt;OV$PN5P;Z!xKHXgQ{V!M*9OmZo`)lsuhir-{@4IB5k-N@^& zsqhT%7@kjVNe>Td?8K_3!t)TZ+ID#6o+9*tF2JT=@U2HJha=1_iAQ9g%8pL-#Ze2h z@Brx=Y(+b2qr$$6PUeTs;-B_*7H>J0JJ4Yhq|4qHMUUO12Ckwynb_0mAy1I5?1i1y zM_&Bf9?%4#M=*aUnejR;haodj3?-u{G&%kfwQFI+1 zzOi_VdDwc{`z;S6|GI&zE^E4J5mG;0_Vvhq85si=>+E5w#JO10yAk+{Rym75%NrG4 z^XOk#?ZR^j)|ZfAjtz z_}njNI8TGL{7rJO=~5J1l(a3jl%D=)DBx!G(o<}JBchqDO{z)KWViQAmDlMfYxxkn zpXan;vun5(XmVRJCiZh;dCuhL$w+yMeb@OOmsm-*+mI4C6`z_QCRH0;o z&1%h)qF}zzmyhJ)Vb@+i%st8I2M2o^uG%m{w${u+`Xx#0{r#P0Rq-^-UDjhh9%rfr z_kV`{{g3%Z_R@!>WvIX71Uo7d@kOCOjU|hKkA?SWS6`K1LqD68TrMCv%OmJGfOyLz zLAgRBhn;A5z2jk^ZVunocGn&kG&)O1!4W}Kjs6o$GaIl&yY<*<(+INx`*F1GD9QFz zpoyVD(7M$#0w#LGfNS%)_Rs-0&B(xo!CfRe+R4CQVBM>^hXSeHW9)>p9}wBWz6pE zIcnh3Z^%ZGVeab6jUvmqJ*2~pBFj)?QYzZ5b#k;Ln@zC-{kTsaY^hPP!@3`2E) zgyV!ASbxr_*dKROan}dorpn;;JFtd$ztC?bWK=6Dvuj$4e)s zqel<4?`k^ce9^ir)W?9s=0^k{*jrAU&Yp9$Tw*9nWXFU(&LF>vSB@NIiE89%ZVv z`~M83FcoRLYilZf$4Pl<_G{JcSz4!vlPHW==62Gaabk(p0A71u^U(jTJ->9k*Pf-X z%1zqi!v3M!#I!aERi4>gz2ZKqlq*1)f;|utX7+6Qe2z8wA&w z5*vA?enp95cT9-`QcJwUE3w*FVhQO{M$Lg@#YR=5&jETwoWgGcGYY7Hu&q3{r#25& zApQgD9P&M3FCK#JyrnzJ?+cp)GsJ&GX@FD?EppR$2U&f8JZ`)H}-|epNDIVXzzMwPo=W)C5gU$J-P3hfSa$%ooNZ>Dl^%mG1WKso@yI|82wP!;jM7Gi_)( zd>*Ui!GiR`T-?>O880SuG`%rN z#~REz5On++yo2A>0lOh5(19aKkBqP}Jc#KV)6I#c;tbC+$CesD5<$2?y<#QtQ1kcu zq69e%Mf^z_j=~W+d<#F{k@}G+mP9=CMtqkHCyFTkNu@SQ0*?~jYIhqBk)dTkDa8S- zY=SK12?x6ULB~Vz2_2zWk59g^@eqtKNd!bwfk)AZKRS6SiNi?8ZhzZZDo65)7lTN$ z^myoQl)!XQefKLH>6mXL9oLZ9hzC@LJ0!2EfJAH2R2lprggAyHR~DJW=F#840ZJ?R z7T&n-4&&I77Q|c~oIf&U84~Qbt$|W_PLK&5-qX3nw83{%kOr1_1p^{uQq&Uc{OTSN4&}mOyT@19&&&q z8QNZO7)Q-wTmh8T6o#~c+CpV^`qY430JClg4Y{j`0NVnegdLovrK!xW6}}>=S<-4= z{cT}mwM*Y=QiMJjXeQI3Zvn27h)5zHTK*?P-($|*3Vo$Gkyf+?DNpG8ePs%L-}-c$ z>D&7*m%it>c=Wv$C1~a)hIT+-#NF$JAn{QBg$G)RT1e!KL^UxDjLQU3B+4Zb54{yN z7#EG*3dT~L#aPM{jJu~|{MjeljB(DLF2+|b_b~n&O3)Z@JUl(d9jR5*?$smr(wQF8 zl$gl_ef}nQMA-LB(%-AuRnq#q{}D!iH!`}8idN#vAJeOR>4m;@lTA}gB29hD4*fhy zS5T)7duVP-h~T}CXt{729Wz0=(XZIlR+%N|4njR691@ta7Go^TqYJes*HQWCBkQPo zvQ^U$EQ!5iX(MP6^F(W<=F98$VM;zC;Y4*lBB9F*Z)Q)hwV9YBDT zC5=l0Ja4hjCod%xspzl#(u|-&_OkhnI%f?7OtTF7V(}W}OUkJhPk;b2tO!h5-Irv* zxrQjsiN2kD&?81|RyjP9(!O8Eq)-*Q;KpM(zfbT27+2lSA!{0zA2;g&4OEJR>~XH1 z6mIwdTm$vXIFB(NI{m%f@ewR!-dVbJ!*n#{iUz>9$JBK554!fff70u<F;!l*nL8#n~F}NU+ z8@SPE(Obuj;D(yR>f>4OiF6^BCa&jnb8MjYm;vpfpKgb&W`;E$ep&sPbkwrC+9#_D zX^#F3CT}wdl;yY?HW~+t{p~IV=*ZNzro_(@RRbf1pjyorNLs7;+?!I={6#yZw!?DC zUYA?NYdkdilkLFmfPIJ?jD=~3JO}bemJ^fKyHaq&&@b8{ohE6AjYt^$#sUdQUnS&| zN}uiWR!oLv%l3rGBY`y}Mu-*);1r@6cdE98Vq}MJdBUWoE(^|@nud7^}K^ai5;9GHE@LtUV2ALvpHr+ z^QOdS8S2vMHF{*edqZYXt$IjqfoSnxv zoTCIV9Ro@kui|mbp_WlLehjy&XT`d@LRGsdvl8bdngd%!WXwUp^j|P5e8#;4GKw(p zf@KTKo#g9qu>I^wgYt!@FS>z3_*_e5I5Q8CaCtjoZp#omMZjfH@|H?-4P^=oL#9(xJjLUc^ z=RMP6T&Hg8r*!Ht$jp!BBYJK8I3D`yU6UK*PUU*w%oS>pN6)3rQAh8Yq~~HmYO?xe zhC>=0&-_Xa>=o*oGCoL!Ywag`G!vvSXYIyAXIpr{Q@}%h$31^RoQE3Lhc`KD@LCqo z4yWDPm(ej!n|ILy6qW%`+xiea(omoDzNHVDqh~GHM&FJ;p*>huvOhK#<%q)HSr@qZ zJGY$#`NZ@EbC^ckmHr^r_6-sKwO}v*fZt zF73t>st+*n&@%F?25|DnG;JY&)J>3Mx+E3UYuX&{Sr{XqAC;B+xa z2W@C-70MahCTSqKAsU^7iJS;+Jp;J#NZ{;PdkZ7qULJ!mahGkQ`;O)b~x1+ z$-N9T#v0ZKtt&1Afmb7LC7}ULkIF*QD&j;_Ah~-fHg0Eq=6P=6h@Zbw{@Dn7b} zRiI|~=fxZJ`0?ER4L^gxC~3G7!g0zrk=l9 z8qKqEA!hdH(FbnDJQLhGaz7BA^Ep-`8&4BoCD&OxatMxYGM|&X84zmzm{vL|>2)>@ zjLM)ecitDm63Z&GGA7>U7&b+%V;N4Kz6*PMj4SWN1iZdEEEzfG@yfXJw=}uY;nF0q ziW9yNam`U13fKseL3Ks3?rDDI#g#viQmfJYVc%-tQ)#$n^Rd7+E4N0nXg5hfyPQQ3 zG%@<=Kyx|(t)x@XcJ_l-d6LGB&fy5@LeVdQ8v@tUi&4zgaa|iwKCCNc{+tv6#P&k>lpQs0wbA%2dARRTD`bf{`3=#C{S zuLr|-xP#pt%&tOr2ShF4BxDOd?2w>=?g?7qMkk7+leM^~>!2($e3{xnItnoO9bdmKW-0o_T$3d#ozmhSGXinG4j zO=D%8Z)j$s9OkojQ@@GSsU4)$mGrS*qrIHyp zdA!jzOgGaIbqS49E7i!upC-FsHlNY^G}8Y&I)Q!~FRdIkq~a`xzMgDpaRVUa&^FMk zpj0uE4xbfLrK!Rv`A&4cm8uv2OznmdT$yIbh>pw@Jsvi=a9LpbQtC$}rYu3ilxC%B zjyxiXq}R^~xtP}3L-dfXrmL>WldAD7(VEu(A+>6MhE)9w&dKoTx7#XJ_tscS4*6u; zq$=?}rHYYQhz}dWR;A0hC;wY%F|AAe@JFK`XRuSWM()%X_Tm0ilkdnKAotH7gMZg# z{JY=f82_#bIV3J3SBzQlisruxSN@n@Eh(K=zVtei9@2(be__kSeeo|)+lM+PKA>k{ z!Cp064hYm8*A4d=z%Fd5{+M&As=N*C$SyK*IE_US7>Fq$GP4-tIz?b5brp5-Y*q?A(uk{`-pe(J06xB& zZ-_+|Wja2fS75;*k(!?l2$*wS01I_B)+83b7^vM61cf6?99;rYlk%xQVsX=4p|XsM{5EkF>gH0+LA{O-EI1+K z_-UBYV4xGh2*hPx5CEJqjUxR*os_jiU!Il=g+MO_jc{ow=tvgC|4usUrJ^O4E&EgA z;)C|Kq}`MEjQue$LQ}#BkflUO$=)(%)4N61eyF+Xe*Ql1(Z!2&UPj0gIldd+b|Ui~ zo8phPM22T{vj>OXgAM?%OXp55c3>}Sf5-~VC}O3xo3a8^j$&$g6T}0EnrS-P1{jfo zM4}gCqIJue5BZPFmaBa%18HB$8>)R|SS%N--_R)L@v$|u@zC$>&}`fW{Zuyz%X!Au z=h*|GQubNV9%*OrFR0Go{t)rdfU^%EH_%-DgI#l^HmX<%p{^Rul{X8`o3MKQ`lP|G zjmzCkB5dXvtd#CH3z)p26E{KLF}bX#~0<+ z0B8)s=N~FV@IO6ozY-tJh>>W7oh3%CpO_)|T_}uT(lnHzM`tgSCwk}zFIc#KF-l&b zlf|h-jAlS6N~n?|{8vuJ?eJd}-@+z{1ewqpqXidRz@UcmOyI?cB0|n%DQ^rOKJ$*o z6Q$CL8p}eVfz?~9w5^8%L`PE_aIAT|Tu0=L=L~r0=*S`v8WKX0qyCZS#jq+0-KK@| z)%l;XHa|(~zh=)#!)Uriw)Y(ml@=ZdazP!B1GqwnaS{p1UTuhO@yJ&91=w2HAd=dO zdKrr-F>;lan1_0BnTZQ%?EO4>G5w#Q^nYsC*rB8nhKoq#aC*M$&$f<_e41^VsUbqKf?~8Q4>ziM$j7P5&4TYMG9DbMkUov$=s9!wuHHMbYZ6 zh9xlu1%nambyIwum(0Xt$t}|3PaGa5T>(8`?(@Fj6X!dxraJ;-wh34Mn9dNht<%}Q zbVtwKZ?V7F6RC~z;AL*3G`(N6zkj9X>h8}aMmHV`{@yGEzjP>_L9yqyLyTUb9{mmM zMCRCjHFfPCMa2?*f$h*9iIm)LZCy5zwS z_#GorY;>R#$EY?){>ln@1x%q>EdYK4df1u&BK_t|mrTaV19b<BV5yCu=}WTdY@pr21h)>c zgkJPd)iCsqprDE|PHga@2Z#^^>JK0+QBMGNk@3AYlXg(kye#O;BCz@KfvmnQN@y(O{HB&MQWf6}n7J4Ps$n1A#~t%SI{F6Hi8! zm{*JGfEu58$3sV#yMxrX{M8$zUN)cPg*%`I^wcQjB&w-|yB~lWGZI6QCbVHG8(j!q zai3@I7s|a6c67ewc{~(&%&0+#M5*!2AidrkK(r8uvJ}EGrK_?0jp7s5c4-ebT(e|E zl6so_Je|h3b7iV8M+~GnfJ-Y0E`B5uJ#hX=PmENY!)oH88>S>pzTyXjXr=(6KO#`G z1tU8;j`lorY?;5TRzf@MT*7&fJYgVHlp z>1U)h7tTP2&@#jwe?>a$*sW#0`Mxe!e`*VV89t7zb&f*yg9jRNBVYoyFf!{zEnxXl zFR}>&P#ETZwz=1ZBQ(K#%)gwMj%9Jfa+d7iMhe4Cj+*--W}5|NRb>^t1#h+)v^DQ^E5` zJ|-*ay}9q9RqpVAAJ0K1kS!jX^(!_6QVsL*9<$QFcNVMDdXhEfBwC4DJaoXTd)hCr zFZ90r`4Ri&=iT@v$AyfVP28=&?6Z$i-%}3Jr~t!PwPUyod`EN*_XwkF2r;ShX^%D8 zKnKjt7fKlB7MPo$I`DXwB`&3F{~zWjwcWuWya4s39|ZeT#{NEY5iyOzn2R#v?l;dg7j1ik z{DldO&k!Q&UgIx($rr|4d}`7;YGq}|{z9PcRhiOGrx;O0fvd1JFk=(VWE@0J4fTXZ z57Fz9(YkG@MVBC;G149R7ITf#zVv$V%!(~gDig;$-tWkZ z56L+F@*H*K1kdLZGcGgbO?YuD96s)0k|xO&cu5R@k8g$d+Berav#y+P5X5K#n;@yz zVX%+QpSM~?JIt{Bc{V_Iw)ouSS>lki9Oh@c^9fD42(xMMRdT}yKYawn)qG;7c;mA< ztN|u|nrY|yb1}WM^o(WDDX32Ie=aq`Xi4p+4dt1epxSw`mNvB52JOnA-Gq4~(8T(k zZX`Yts5?wtiCMXgruG_vm-3e68kurLO9BUt6}4o~{a6sX2!Pv|( zqoUM_{T3d>DG)BRib1+wcH#l>R!jOLO5oRisFA`&3`7g!UIY*K+7}2`d18faxm)ir zwFT-%k}9!NP~!=rKFWn#+L76Z@1R#8$xyFSfsnn<%t2+p`p?H|u5G7(aP^!dV?*;k zjuyb0V`DmJOQm!WPL;W9u7faHifLBnnl0D4xzo%w$SWwM zuXFWm=Yg$a)Gwudm|~1N^60XR0O^8g2kqCigPu{3y-!k@!BF`UH=rGuAXTzEj~iVt zXejV3aoU#9?pSDajdM-S@Z}_zeQzL&55V{c8Hj4Y{QTN&R_4Zkf54 zY5+tz@8cnLe_A%gQ;fcpCPx2>W*Ggw)=MY7n%#2aCceda-X~-v9%Vl~9-7&AFWv0p zp%V`GjOJ$1K%k&{WD6BC`V5J?5k^9f|4~j`$NsbrxpsQZq27nZ4_Rw_t$b+hH0cj) zs2UQd>JloKyY~7Yz7kHHV@o(fO7Pq3A7HO%sx@#fT-9qG%UF_Y6PR)*)xb8oH`cW= zUX5m!G1?WUvS9&uIIc#zx30KfZN>UH)oTE%Xs`1d2f4D@yZm>u6_aC$*%lv`d(!POqjy7%-c4aSfiG6Oq z_vI(|+b@@I=9h-p!lsAtrInhIzH~OznTankBs^1*y`w6o!{ zXpC2G0wM^KR_x3vtOXgBy?I-}ml3CS3AS;>v@Bg|bwt@pbAc#c%Uxu+QOL;)bS5f})O4I)r*Ao2N9uy7aq2k&J1CSUHYs}}ejC+fog zC~E}&P>=v`OifUIek8x3e~Sw71-3SemSF+_#HJ_{k@~VQYb&+2l|rjuu+mj9*SAs#wr zpr@Wj-(%HN-gm5xy}boKV|D`4PW-CWmel8q_XRZIE8Q%g@o^!RMjz{u^MGMd#nF6) zwr${tL}{d~60r@%=nLdqM?4Ka0Q`g=t||R>i$}W!u8O@FJ0S@Ut+TMUiVLn#0LuUu zf;J&i)hy5LKd-%+`QP86seOh0n+jN3gr7V1^I}QFO7ca=Rqp6SyXUGqMEIChf}46N zj1zWZ5iG~uv_qg?j3opT?4!fX0Rj92=LeU6v$r>$-K?%^K-}Jj@G5=}%=?TEf%|&I z6X!4ZJjMw0G|Cc>QHmFL(UhN~_A_g1!ql)8SgMRN=wTL7T*p!CVVimkIDDA~M|q{g zUY1bino6(g|9JG`bi*|CI@_Zc&VjiC1+gm-0dA*#fh~qy+&+20x?z`hg4W5aZPVBa zS{mR~cwgFJ;4P;)sB&UhhdvxlW7tKwT2KCwW!845g)8FNg7h%lxeZ6k z_=x|D3b2n|5)=bF14W{;mLX_0mlq}Dx)fKHDSl{UZ zt39rS_DGq}wa(b1Kdv|SXePmqhyMLN7qbk4blXS(wYAmkpvQa@RHq9RAGYv!%uaiX z{G|5Cw*d{bA9Rhs5cTmYDp?u|pjgUO4pU`J;bSUe)H7T70a7B}C~4AT!>A3S5G1n{ z0R1DXnr#*H7hcfXSbdelO2~Lj9hIGJe+7RMe$Rw{IxbZ#4OjCiAg-tAGFCFf3`t<5 zb5pm#l&?e=Nci97>xo9IgF8S>hBA75&AyF#GSO+X{#=7R-u= z9$RVzd*l(TEMR}0uEMCz#o>a3`EJe!sajwxPx|W?KQJb zNt1OalQo;%b##$uOFnV0#a6+F?k<&5ctm}Q3KTyS+O`6rN8c=YxDJgZ4rG~xf{Q>J zHd8}Kkbu%QDwb{hw8yl6isaw-@jRb-e>0vBbxwp(<*5IB4Z`9!OvMBmdWuZSbCDlv zT3UhnRJLWPpc1w=5cT-r)ywv6 z=MPNp?(+w#X|sIw9hOvI=1|sGjSQm2rm*Dr)dfy`IBL>sx1WUvq-ktTRKBZ4Do!R- zAq!Lo_y;0j!x#Pws_zGB;X-bsZ^4sBRKQ=7&>DVNYcdxt;ySb_+in*79L&$yU`%_O z>q}2$Ix}&OG^AAf-FJ<#-;p#%S%fTh4g^zz|KMe)Z?-wGDr*;_;BN(Y0CuSP#$LJ= zVahY5wzgq%EjDF`E7_2w@9O;f?~Ngx z{{8nNXh;Gfpmls{hH$s`-2D~-@i6jhnxdc#-^ba$bkL^bCWIRwoOK|-!@Lf>AEX6J-(*GGl8*KK|Lsqai-E3>Tf%G@%`fvka8gwij-~ronb0kVrA0r&PMn;<{ zBy?eb+A4w2bm>={n;dnhOy1G;yS*C6iS2qqcc|c4zY}=@-&}?Q)+YISmO9F7g)S!QW+}AjF;OyUBQvB^@BdU>3Z5FPlF_Iu<5-NYBSF6C?~5H6)U>L3s-9_s!C zW_l!f*WUMrZ5jv)2}%}7Agf{Z)G3@7?T*rK7q?_TM8hpaytY95bFpRRZvoLQ2VneA z&u(ZGwAndzLrY`q3^EW`UIUhFwf1vurGv?+sNEnH4EMsnM^Un?4!DfTdOpz(`9Oe1cIlnTl_k4{*f{BY}o9j4&`GX%SMYY}=$|`IU4H zj86~lux4S+tKB)QCUYlbn3w}>#t@b2F;=f(O*cYiwMZ7XQgj=VR7nP~#rSm>Zt{r; z>PyjK`<+Mfh@EWEnhQ619jK88U3+YBQHC^B9uYFvK*TDO8|gvJWE$!ICY_^p`W-g6 zwL1>%BRdmSV&Eyg`IxEp|H%yF!v@_1?1FzW{;E-QZy%V24yuK z8uU;1v&lK$XFc4{S|!XPv3>A9(VL&aEQvxiyawTZTi^^tmuWLLd>0u?EP{6f6i!4) zRz{0ryH06~P+n?z*{()bc#elC+^u0KdB_V?Sc#J`7&KGu;d|e1|B6MQ8vg-NR~xTH zq72dqXpE;&fOzX0MvhfQ5#~SlAe2!ko>-`xBx&bBw*q=Q5pfy?PyWkMy(p*ci?78A zXdv+pH@k7spLg*{e4(@_a%P%@e9)U~t@pu?^$Lw99iPz;v$7?CSFx+!8gEdp`qFTX`WVd{N4UlYvMnH;-CMOdG^K0+P}!ncaU-U*k!9m1 z%r|r7M#dP#gi4zle9ljxRN>k{{X)Kmen8trixC?cVnpSk>8bh z^pSlkA8CPwijgk_7TZh(7Tn~hr^O)pi#eRspt9!=41DrOR&N(uhaNMxq!-%HYGlI1 z(4RHzW^Q)e1a8|~ylE^`EZ#dz8B^!2|Cz_9uvVHHc0n!)LUIuoH84TMsq=Iv#hB43 zqz%$k#(z*$Zr|i=ZYziO{kMJ77&u*>(OtSuW8j(u5E{65PfT6-;}Qox*(S-S#mABZ zrffgB=D&m;)xr)fp_Z|My7{amhU3fHFm!-Rv~R9jf{{MjT`<=_T7|&KCQ#7r8GEpr zeFFe<66^dj!#+L^F{JE{sF>FAAbgS4JF=W~4{&-^$xGqI3mxWZxP-Qm8G zh^~PS`6ZgGU^0Z4&f)bk{vvRf zM^Fu8X{biz&8z0GLPi<#isb*2YIc!oX!A6UBmhU3!kR$}8bq!dY~~O{9?s=VmA2C` z?j_PT%}#9LnyrjhH*R+}TC92jGta$|g4GZ@wLl)VM%B5JQ1|OBy%JAKkQ2DsU#ff# zc;}bN=Rhr=sjdFQa}{>?;8+bpTQ#VZQ4f)C$X>Z^NrAeT#Hca^v+xHeL}Xaw_-F0tt8PJ zjGKbiKqXl%CA6a$KF}1y2gd!y2jUk}OOs*{*mml1?KuXKB!TVK`liao40;G@X5t6P zCwh%5jUcAVU&EUse=q~WL+C?RiUxuW-0}a~O9Bh_sM!*(97(-}-QKaK?D!*Oul%>< z@Z0s&2ecCUSP5)7p!nS+>V ztmkX|_=ag8`EK-wiDHluvTYl=h>CPBJ~(89_<}+Df*@I_^+P>Iq&}7DeL`F_OvZJg z7$BI4(K-Vym?kdt3@nIG$$zmPk50DJUivc|kd&?sWxSSWykmanME4-s zzCFAiZxuddX3QskjqVA1yw6x)I}ToPT__Rr{Zje0=5<4ls=$J}+#2L$Z%?d{Nz+&7 z51SAihD`)8Qo;=b@*yFj2Rg_N(5sq-N~*prbM}vGllqPf!}p=m+PXNMXEY>b{y%0e&LZREK221(QAf3 zu&4wQvRWdvaKj@QiJ!P10zu=yjzEHYOuz-+OfhQ0o}O$lrQk)LxDzy$*mCa?6u_Nh zrXiBC2JM(SlAFRDq#G-c${{NF&h{LAr}F7Wf{7!M%xf>iQWRUzy|y4Z09ShBUO9TO ztHghrAS*ox$BSc6m}b;1;iOc|0Jb^@Q{}O9%NV(2WI)KXu}j>f-7r_G(rk#qUE{t3 z&e-{ayU2Z2yD41pMeACU$shlz%dG;jO$g{euY#@|U&WJ*LYUbfB^;(@HL0F#C{A%%P@Te#D?O#L;!*`h)~p| zflH{~r1R7vXIc|8HureCwt|rqdUFSb=J*Qj?<+Lu7W(#Yy+TiL(GyKEOa|f3098*0 zAXk9uGL?qb(VIyFig^)r3>Jibd#K)(3-PeC8MbzvWAG;5t-#|$Gv%OmJNPiaANk zp$dsJ#c3ScTQCf{Fk&)`8~4o@LahBfV>srS)mV^4L1&nyHVrWYcl3 zfcq@!#ey!d%r$C$oQ6d=I(CwOyMqTpViZn}uq1pEr%bE^32EB{bw3mM*mh7RQz+Bx zf$gUZc#xs)y3YfPV-;{}IF$jOO@R|d2jKbt5jjrG_UcXi8oP4($-z-(^k`}zI_7a= z2-8`Kr6gRhM47(y^~ji5>6MYFMjE08@j}QWRtE8!Yt)}H$#A-?MGj0I2bVUm;9w`3 zz|MU~2kH;k$`q8a0TWrq9|hlI9R^7BtUoqu=+TY@QqB90fO&R-hu)q@VxuzgDa<&m zfsd|=9MEAL6gP;2nVvVY2@xjkc3i|;kw*h#?N^vy`EBYP&us(q!JcTx3pioIryz2q zhDCbie_(1Wq-Po?q|epUWDtbV8iX50w}=o=H%Av>YeDQr{*|vAi9V!#IbVMUlI5{{ zUz}?EjV^i>mnWf?CO&1iJuu{7O#s*%_Y5D~;A=fRp`)_QXO&#Lt&@qzz#c1yan*c; zXtPE7@_V^hal9E4s_xNm?vM*)XNN%D8+cx`xnH1eg(P|h>NsDnW^;J_4mF!^3`~6- zchib;M>_FNP0{Owe_Ksa>+BtXEKCf_L?@m-+G$wcNU?(LfQv~~n}i}A*r9j3gD&yV zg;Ngtg?6aqkR&?mT%&<1KEPg2yd3OgzU)M=kUXj7Pq*b4V864c#(Ddl{ZrC< zzq5j7HAdLFtjC}6I8*h!6Z@S#`stT#YSCjr;orZC<@D+NaGps4eXuThyH%3obHXLl5D6oktGxC1FLivWVX=`XShcgZ zex7@19S_Y;iY~-MP7{Zw#iqM4hj{4lBHt@v&7@|s+~iIyfCDREQruN z=nxWD?GOk2Qsr|^lYzG&3Eqf%{yeBt#t+Gua!G&?D4U-4SUQ=)6f+o)W?{OIIqLN< zKZO7!cbp(2rG%}FuptbI6-6x4_e+JZ$if#%g3s~8SHpZ!JhrB}>hG$OQRO_~-m zwNJafM3A)@8`iVk0Aky2RKo;&!g)lxx7dJ4x3>GXBEA>BLFZ|!;v4PR`mieuNO<_i zkI!9Y*FQZ2B5=OZ9OR&VT*#}i+}cWTU9CQxZ(Td;wPClLVK$e?`M?iop0TibQW(Vs zUx;7?$v{Xuw68k(LGq1kly2wl;`f*>ATaYCuFy>R-tKs3JF%YLoK+Su1`vH(mOR(*v214j6q6E-Jq$(#Rtf(G&ezY;g1@TQp#Hu zQ9|1_Bd@pt2qv@~4_$hHI_ktlZ&3pvg+>hxph8nn=;Wp33!|~zY7R-?&*P`o?~9%` z^6U@-&{(%y0V-SVJwz)X5QP*+jvU=O;-Ov4u2AXsBZD$q*0y;XaG4(Zbn85RJf~iUNr0;ggZOR!_Xwww7q7;`hN*ZhK9u zsUo^%?oM8(=rL+@0_<3Tiv?h{Lw=H2$3rcD_W+Ja9!hQ={{<;X0GN_{^ZlCPBDq*? zVz%<+#wGAZDmw%LFR#V&Rdlh&fkCm$vzaIrW25>Fq%#P6_^9D=JN%zC_``m;vvca0 z!#d>ehI>7v3N%tK7u15OLVM`x)cVHR`ou0lS|Cp{WOSn13C^AIs2NKhN9P9#PWj@! z>5NtMSDPfGC;(~aIBd%HD?YP{j__Tx(BPX|{~qiF$wQH(Y}JjLqt;h8r#ZF5r(v7R zlaB9J%PZ=%JXj(l>DlT+K(lrDete=ceEsF!vQ7BTwdECf@}m35zrpwFlpi$@(UMER zzHw+Ag{?Sr(dAxm_3NLIg>A>O>T9&==kGQO7tJi2bXG$T*R269gyt4Sq0DoGx;c)( zC!?=w=l_@UljAiP(a?-&1?sqxNwXIXEn98kiOL|P!=goNC{Sg$z{xm|`hKK(O+wDCI-8Y-I z+t{YIpFs-@KZ}Wh*2kLuvq=A!f6(+VrCo(GI4j#JY{rb_cxeBhxRzWx6GRLRip;_K z`FevfFw@FO&6y7faSOxY_te!&Y-foP=(Z;6t5PRA0vtZeaO7kZ)if@ZBZpq?SnfE^E2+M+n=Q&@m1gX*rkb$K}q`-i2^im6eUp@m4#VVD2~k^nBv%ER3v zNGCrlg@Hk}6K!D<5i5>S4Im%_s)ylhWwMMh4ER`~1Mc(~>S;SuPzgnqbHl7eKWVwR zhmWJBVrx_RId;C`X9=q-ql7R~ZWC#Jec(7CSIOd0I33`E>q7yZuqFUfB6)yTX7K3g z5e|(GcyDGL1=Tq5T#Vf=BRS;za;5~mDyC3~@jPmmmUzxLfb{Tz|F_!ue~$wx`hSgr zPV#|H^ac522c}63`9yg99XG9sVilcGIob%3otS}st6^4B*iXC zqH~Q)sYqNL2$h(aB{MwCR!E%AuKQLJF<_-rF>A@RP_`s65w&0wQ2|w-kws6nNoo~F z*y*8$7bFn;xJF!(*pZ$e8z22&@Z;t^0Rv<;#VvBh*z%4_2P5x0@3jFqV}cv!SIJ3% z5VC42YZBkA_K|jt#ynCp0xW?Ljsvmb&BaV-bX)$rPDZ6b-dGj|W(QY0@EB>Gde8!TZcjCWb$31(I&fCrrs z44?RZp1#oii?NUVV*R&o7K!qI)qk_t{Qn#JPvbNFpMnp#2Q>u-4{34=SMn^Tm4Vt< zKnKU3#S}I>-@uv{uEbeP*fFAT@s0a%1Btemox-;!+<>fy$~4n(~?$)xSTgwiW_q5Jd9}M7o^_E-! z*@RtPh_P4CnXqSxQH(Or*ZCfnOIrT=?7?*p|1b2h|+pdvL|HF0cpJV%F3D z2YXOs?DM}LGW?Knd$eDUYx75a%8@9W=Ae^Ja|Fqz#Vx`O?K4NuoG9$`WQ-SbiibRq z24MA*_D{rK+f%e;$`99eiyLaRdqivZtwIA0B;#4o?t}z}kceQU$;>%}@vkhPc4SF> zDx+)AU&Mzvrp3jU66=M|OTLV3>J2{wGrkjCF|QB)Fzg#K%uuiOqCqn%7@Ae{ymU$hX7G;8? z#*Pm}auoweH=YA~dfgvAd#X*5*i$+apaQ5(d%E9L+EZN=#ZoGSSX!!^NF-o}sMt9m z^R;P<55kru;5Ecs3491P$l1o~rI*=K?fO--G99&uw~?9Ph^>amUhNV-lf~Cy%-Hhv zG-I{h3A=GtAS~IGT1_Ge5?MMiPIQ@Kzs1+^%ES=bh6hlEP@|pbaLjj(Jp;Mz!> zfHyggNDTHCO1F`G)xMFWP}V2hIym^NbPc3K z>N;Ow`{DO|``s=^sQYfXu(n%X%yh3rJ*M#5N7o~}I;=mP9~^G{0Owo1hKcLmKsqqw zFV%l-_`C663uqX^%)*uxkx&bIJ%eB**r@?!R#6>8&W*E~&&kQuS9uiyJ_O4dl44|R zc(`Ks;X71d)WTQN>nN!eeGld|JL0#_Y6nkW3lHK6>F2fcc@5#jkLhVT$w|~zcwl1> zsHfD4!mOVp>ui&|-2w!3$845?)eE*0RM7+Qmq1sulN{{}qhtaNaE4|40y;;X#gFL6 znjj9n09Y$nTuzIE@`-SjQ8{{nRa7T6%#OB4I4S44w_>{Fso{ur^!V`}!=DlsU&`V! zNzu1q7SfFDBx*Nxul_YBj`B>%snbM*H)m;QJy3T)^V*je z`(F+Y)QNe={^9qxTaFE)K}}FS{2S+WYDSAlfOL5jj$*Xx0iW!IvJu&ghrT_+JD??g zrdb-{#7$f?M~%3LcEb1^!YN&l(f^uJ28Ac6g=-B8fby@nchQ!EFDEkxIv&dx10kf^ ztx{62-Tk?AU=5K$?sE2Gfs6P_a6V7x>EsaX)uu&E{L1HS<2kpI}rbdspy7L3;VotZ~4)^-?`U`t{b&c zamHQdch2IUdOC}@94q@0y&R}p!p!kd_g%~~mo3XlHFgJL^x2}Iyo}J8;fFw7z0}j4 z8O#8jC_db1$)t$iZ#Ln~H?g=L-xb?6FMEIJ%_cQrN2#S<|O1k^9RME^Y07ys1Fhj)Fp{_5iDI%o1`1)c`t z+=$GR=%#CemWdc(LO3i_*srRLcTh0T1r zv6y9giD>emF5A6vddqc>bRo**kN7o7N~c|%ppgU!*ej{u1`8oV#ri`VCxuj$I#C^s zFVmei9}%!0mFY#Z8ul((1qDr8OBlt|*w?~316o!wn50ZWwD-yytN#Xt; zluP)!KQd-$>EPCB>O%pb0tGrQQrI9)lU*2u)<9W?7%!tI43RZzAX^M5L8|Ipq$6ut%KrMKDK0anTsE(d(&5IqwYMo*2 z%tbH=?dZ{PyP*ear27V1lnQ1@lre$h31WMgfyX=wvO|BMgbSzR9Hf^q%GxbG%s>rb zNBaf|H*8rC-ZLl5^;~E`Nl;5E`#F?LbWp2NXP}PD{D?bV4es%;NCroqaY~*H<4~oJ zA>9VI&c_=x@gUOwHt8JoRv+SRDhhLx4v;YvU@5w?P#=>v)m35%A_i9hI9FPSZj+Lv z?$FI9ZE|uOrGXf_#z^dol{DF0%(8T;eOU^&fzuTjkM78Dy(_mouZ1ID;@$Kf-QcN?a;_#ZOsY5qO)C zDCT3gh@PDmk*ka79;n|FDGR%x|1_HAaBRDf$tZdo|C*J2(E>*elV| zZuG|Nb5)rQHN`h*A=SABSke5K$IyR`Q>{tgyaw+uZAo92$pvdJI zREu?fA6+8$i6aScU^Ws$hznP@N%utpeG%8UbF`uX{$Z`Sq}zgF=Rn=9{4_TB_IVNL zny)IM*l5;i%VLA;_|T}C8k5dZSM{Qr5v9fwIEjI}W=HJ!c`q}?hW%YGR3x^C08W+h zhIC;I0(q^|WJ6zOX!f!&$OOkhwjvmXTd*-A1KCAT+JL&0q$s1B1Pm|grDK^B&x8S)dZCRqv8yK} zK+C8h#8A6ITH|SQ!{{u8QN|TiO}QTNjA*lf8uD0!u_StZRCI$E1F(fi9dG%LxulPR z#>UXopf^Zi@w|-(fVh*cTO2PLv_)%3tYz2X7);F%^hxZ4mZd(;WZI`c>T-Fyicul+ zZ-K~i{d6hm3Nfw1l|QCyeCd_?u{>YpORu(R$XprAh{DJ{+Y<>Wa2Np$6>|>F@Cz&@ z4N8zI;`Qd0^jc^=QyL*WPF6`x#Og?DR)wNYuQoIENF8I9tFJ7D0|b$H!6aI)mNNNb2EhL6$fpYM2KN zIkR3X&|iOI>W;4JrV6(Q<+Z0gw>>4H6%Rf7s@tiWy1&<{+V2FnQ)N3c)ZcH+)bs__ z8Z<#roRpnR6}Bld8$@|tMtWZk)c%7bB=G?Uo6+7KoVFI`ne>5dFH_IAU~h&{o9Ne> zK{pYR`DS2;H-;ZMbh1h)R-m3ZQEaAwu^fE- z(;vKvrjR;XQONjgkp+pEY4bt6a?~j|ya6Syr%@M~2y_t$v05aG<%>oC5sr`(%R;~% zGOy>?2I?C@-%-%+ff;|66n9ywXG(VooaM`L13mc>GT{~11QtbC6-8gi+Pk9Y3s!qF zL7XmW-z!=m!Ew{KN3L?-%;aYv(n9&XL64#0zRBDduwvY6KpXTbvv?@8 zsvRTZUIYx21x-of&dfgpwZk#5f@6M@xEOw&0Z3pbY&)^riQ&qcjRH}pV*)&;BK%cf zZj}o$?EoQAMI(f*bBsZxjLtP^C@0$L4BPrj7lVB;0Tj8FijZ)M{~{hb!LRx7M?umKMlJkyhL_27+5@}XmA?zl0UrH5V=el zckOmCWuMU)7@@ZhZ}KM&cpQTn^$713wj@vU=!18OpTRZEClwwn)0co`R}1A1!h)Y? zFU|aynDIwtgOgHb(bB1Bfsu^aAaI7dRk433lT@);w12!kqmrWt+-Xntn3X24E|%=l zZ6h~8e{B?INXH3|R)IL%Py!KZ0&sE+dz#QPG%>x^n-~|NM&Vak6Kw@-EP5;j*Cv`e z*jLW-D_k;unDhso=sV6p47sgOx3w2mL2eS$bkp_p6bQ6x#aV{FQKMA)jQf+JPacOr z;ObQ9PIE*k1?o6DAzS?n!K9yW1M$Up#6+za`uKnV_MpL}fEw%?HEQ?;<4+iV{dFUB zGzS`1t$m0!RR9xUYYb=kQ1O)DJrf-13sxsb}OXrF01_qD8t~C1Mad8Og`Jh%9OJh6r zr&#cDhgoQo7zE<09yl;B(1#MU6C|b|BxVO378I5(AMrF$|22aGBLY*t;PvdlA3wwu zhAfYywg1H5g)%ro^wP7mM~DKPh5b{$`v9K>XT;A z8Kd~v5EChAhcUXJ3K?W)75nS|+GXCycUb13-QXi>Jci~uDp5q{u}bhB`UBP-a%~}+ zeielqbBEv*VQFuIw@|NrZ~>_8^y9dxBF~f8)DRK$9cYaCW13D4e~d$vA`Wp71~1u^ zOSRW>94*uGCGcHHHn{*)ho}Kvs#5eHPPJHhrWw79YOJaV)P0XH)rvZzL-_gqH_*ER=5hSL@Q-1Abr^AQd&jI*2I zy6+k)@&PFzM>$8TgsHH)wDny<0XkI1=28ZQCoio5Om;SY;(T(X`vG{Ak@y+X4DRq8 zN8ST+lnRVZ`2ZE=H|tmO-;;N3-{#f{|3JTNRvx4n-gvPH+CRhQcKiFtK>RPTY+Q znyunkR#j1m|Gg`Q;(x!2!MgbV_Jft*!O*ZF{&EaNs)COt>qbyoqQtz+ly~_1J zPMiS}s>SjKK>B~F^qF33^fksSLd}D`_5V*uTCe}l!TNukM~Q*F9(Ut0*8kVFwyAFq zz^eZr$6~?%kvo6Ure41S3;yqX77P9t9;DjTguSpGz*Qg1@|t&kW#p0G1ffyS57%uJ zMlZC}>oF8{;Y>Dfa|3*t3ja$}4E$*AzV*We?)qWKOM$mq z_v^k~n42WJ@zBB*Av~n7;t6y-v?R0rYTdO*3h`N{nJ_|mgo-k*Jlb|gZJ>536*OYV zer~kK=f}z0g-<9QKI(;Z_}p?qdwll(Kj8EHHsLd9YxqDUib)c>1tpS5=GalPlsbiD zJ=0>ia{u-i4*%7*a7^7sY&=&1?F~u{0JY;-s{9qzY!|<-?43sb3R=?f>o@(|V{_H8 zZNg@`$D34m8zyZRywB{A2Ht6_)4_Yo9_`_M_6QGNdQw>S>YmyvhMmr3zMR@>nnfzS zYi=~~hS}1fe4!^~VC_QbnoyhY1uP*Np1SLc*TwXU@$qFIq(|YXeuDf0ti>0M(+&8N zUl_M60%*e44z<2$j8H2rrv0VDS7hOHC_crsF(op92KT2`_LD4wwMA&%iCqH=Gztc? z7}rP;k(o-6fZd7c5n|18C)Qk?D0GAfU_Srls523OccahT?6NFV3S~+c-w}LsCwlxY z%5{b`k!)dc;ouR4okBJ7_pAfNLWj7;S=^N6JpJ57H$8pDH={G0z$2?<9vlfw{vGcN z;tKsOHKF)O%~w7rHI2ueCtWmMN%b8>uK54a_AT&HRmcAU0t5wjRn%BrT{TEhXhQ`J z3Uw_Yiv}B?jfk4oS5(xfiADuYNJ6tNi`ZhN%1=|PEh??lBBG*(XYheV@e!Ym;^VGS z#CPz;|NEUe=ia-IK(PJq=abxX?mhR+oS8W@bLKp*ah=5sx0E)YsFGfrhKji`~`LMtDf>6F6gDM)}bc*|M5fx~wiCu9p@b$i`uJ|y_4 zEIX6tr=Ao1>s#T?f-aE3{-)FU&k6qRV+tLQr_k5#{m(<~l(w7`EceSuM6w-Q?-QZG z2!)B{y9>SP>>9ktN`lU%*Qi_2^*O=m^n3PND=(DC2r11()FzaoXn46@;d!IP@QoK4 zacP47Ybc3M%y9!aUC4Xo(U{RWfrd|6eSI#eD0C63xw@qJQKbmv^15J-U0aDNz&SrN zSZk>^_~V^XAtD&SZYo_o90uS4j}0_ruj(4+P=U$qU-dOUnApq>*{>cJjpdp;25TMh z&~3LwgxY`<`lCtX`|pnccadB5ygSxg?N@Jo@m?GvrPIIU8bg1f8dP6;aOnDTQsP1- zFH;WL#jKhLv&W&^p|Kz;NM(qsDg_-1(V#V$%^}soY}Irsz;f^b;Txv#T?Frjhac8I zwV1)~-)ev)_qVo?e|BLr25_4xCirnM*QrTKJ2p+CRzsl}dY;dSA0HBr>*3tvW3L}_ z>6zwA;&O!)Q5qYf5%{!i#_8}(672 zs_kYKG)o4W+c{1+WWo~>vI*UQS`SFAl~QhZIEY}hJDABkWuBeEqe+NA%uX>4jJ0&P zBJXvUl zX0|gQkL1Za5eT}nFVHxYydqBnjRy$Z_W0reRazeg8U_-eOtE6bV6s#Q2=(HOy@fmfWwjv{NG5SFX4Tsv z?oXGHxDCn|ZP!FdQea6L=Bcp^1&IS{zr{%QFv?dV^xUDCW79(g%I%6HEU(UR!Lfey zXjmO+lY5rzQi9Z6wAy{UN?#EKd}Mq4+>+7^bl6qY{Lo zgb-$xczWZj4mAy@?EqN7mS_;vhI5qEu1!u(LEzi!sb|r?pL**m>-&0BfDePos&5Be zsjbORUg3)}jP#{rkP945KbV)CC<{kQ1&u~4wzpeM7D}0PV8}pM7;!S7v zM*6>2fj-X={&jLIc>&TOL54p4?n# zdW)(>*MyFyI|j*wq89VU*?Z6yo|5ioD-SfhDAf(S@}>xa*iQ8o!g7=Wi-(=XnHj_z&KpULiUo zf6z78kCRx_T2B6)j!;rh8%i20p`}s(I;$74e=pNTJ#rYl>>*41ESeaNH}rt{MCgR) z7#S7C?}bKf)ikMqGlvua4u#CjGnpdiEY>IpRRfow`N%oRDNk`1JwDY78N#dysqh5@db z&>gkB>R@!kE8-ELZca#xhb}f*iiP)zM^PN0l}^pbl^Rh9dT}{tXq;wKA_2B)KV}9O zY*+jz24A01iT6#O%1f{0I%s5{Je&E?Oa1yb3go1>mP$h07Ve?^Wd?2q8#6fV%(+ob zIyfsMcZ|0wJv#gWN{^z_^#0!8!Y?Otn+O&^rYR@ijnp&i&Xe#JSRgwZV6rwWB ze_^5yLQPd%5@~$`E`LWf10$iULd8qWwC!PZCU#>M$#U1HMOn zGYy-HR+X>BMAI&#&%b&n6#flnO?K*7hv~&#@O>2CIY#b01{-_hZmtgjRjLOQMW{s! zfuazvND_%q`*Pz${Ccih-8_;5g5~-UG8v4v!2LHqM1-lJv&Y~0hH*l}P}N`TZG8yH z7NrvuswEu!*g;4+N-U`+tpTRtm)r$G)msC2Oc;sKy{Jl|Y`sYF%I~<}+GtJ(u}=F- z=hu{}MqWVA(C_!~;^i|Xt?_c`)q*#vSJ(8u6t{agGyjIL`0`y4FP|SoZ2Z@`pVJ$w z-4sp>Mmy_v1PW!AWXh9Krl=$q2+XZ7hY`e1rh!6 zvp~cDp^0RhM#L-=g3ja@7{d{z=zpQ=0`k{R{qRg?13WpFJ3Kns4 z7N3C%EGdi>cU12cSaN!gz>QS(&}~2HTu!ki!7C(@ z2!)z1vw5QW1LU?+4nR>V<(S$oq20DB_@r(1LIGR-_Q$`W^Apet9}xRKza0!1l|> z)7$$-g}=SpOtiPsw0F{j`BJs>?oF(M6{B{MeKbD>ah}-b>uM+)mJ)h8+e;*5eJ)#> zWuA4(0<9gwy_$|wr0M=r!ZLrD#w(6{m85r|`j&)~^e?e(ypBvLi z=+#$sjY~o_*VF}Kl7t1euGU)iUjCwq1#`qp9Ix5d@p*FFvTOla7LDZ^ik~ELL09#n z{&H4L-#_9~@H$WpQI?u$d_gTiU?czp7+jGt!0ClsH;`-5WVMgf{3M;Az&AjlyucE; zh(=~ohXX$U0RFb!5AnfyU<&>1^-_a5X#y6o-Be3!==jo`ed$g&ZPkL64M^Hpd=QSU zj7G;W;xX+Ptf}37!&hrO^yg_2G}wMzCUl$0vVJ&pL=8hExDt$uJlTs)od{KYF{rq( zpq7OUoj^RLlRcG#;N`6ud@FHpf`tX2Kz)VWn%Wx^^&ni+nW$BQhY~H7l{fmC&kAVR zu24r1h6M2i-xS$YNMBPL5(4SWoZ4@1xT-hlgRnl^vq2uFVD?CAdC2dbxPt?@#-e<0 zc^G;kln1a-J0Q6Vp9t&2_*j@KUeUQ2>_Ld^<^X#nhTWlJ!dlP(frh_{dp{NQ>Mca7 z`<`42{H}@jrNq@tVH&%2HJ`A_i_rA(~aD4WQ+l~?4(G>+hZ zCfgNZ2;PKN8AsgMsa*dG{-_RIHe>IyJ%<^C($I7Jn)bS_5wmHVB$l(mL=ov>fGk`u znd1zK=+=T#y0_(|O(C@k>-gy3z!L0=GnO@Uz8*Mn07ms5q^Y= zW}v4#f5OKO5%kGPoXxR5M&wD%=)Bn=w=%B$2?+5&QY-hovSAN zSBUlKnB(*ktT1(z?9VXN-T2a=d@u80#;N`&Ip-#O^J>P`dL)lDK`P*3f9dw3|_MkN<*j6@S--uyjX^wBsT;XiCtb$tN$sti-$!+9bV99;6aasOeUcU}>h|27(xP=%4v>7(CkJ>bO{ZT^ni}l2!0eQF)La-PtoRvy>0;?JRu~6w8m%T?l5SWRdpPPCsgL`;U|iu7muA+iy` zWLZHotBju=rQfBkg3wSpqV*edF@^~=B*^|4ChCsCqB2kuemN`EagQ-Pw-LWWt0c5Kk1YN<8re+0b)Ysuujm zd0li}6NrN{LQ9OTLI&buY!xzL=RenG@0~l+YTL`IpjmUR^vUicNS^@LW^$VoOe52eIs^|*it-!0GQbek7aqnGT|Rtw&@GH+vYV`eh9`?4)W;&Lc5odm1wis z>zQ5UEKX55Zgb#5xXt+molG<*!s-D7)jNN<&BNHkFDUr^PTB?hPWbjzo3gbpSBLU&xR7L=HzS$WQnryNuU`6@d!XE1% zWMu^>LoFj3^)(gnzwaV$i7~Motxr*r+MCLMo3%GNofq{6JW&c}E+9qOV$~C5qk<$_ zB&|o|NVlbu;o$RcJcXgP3)^jMof&syGCwh9@H>n~((9?HNb!1pAci0r_+qzx83%Np zv@P`aSf=i%Iyag~(;HX)#%-xcjq5%oSa;f_O6%AlDhCDZbOekH(sShA8JG@8a$hat z*Yn`ho(rEAv2^anwULD1`qE42IOYyweaY9MZxMYT%nRJ20XTsNZqcVWFNN7QUUQPS z>g76K%zJ~7c5< z;X?fM=kw3T6)ZK*+100+@iy%>*C4dZb(YLprMUiJIvoc7qVlc>lB3{wOkxl5 z`{%Lmpx9<9gfzsclf`2T)z_$7MJV`YIX3jjG?`lxZ?PnQtic6j-yoQY6&PYyl3#5s zhTg9Fi+5c0OSM*Ghu z8U9sE`1TM%I8uuQ9~uAo`U;!hB2PpcRk2^ulFO)1&G=$<%TSeKrL$l0rY5`=`?ANn z*aD`w3?$Ha9Q}y+ur<^rSP0X2B=a#0@^FfwG(!}6eAqprY^G8R4*Ro7=Q}sGG7Oyx z$4(^&8aBy3-sS2Ly~d0g%fYLn>wUn?F7!<2nQre(AG;WbyMeW}F3)2-T3z=?DMlng zq@^B_?3opqx^?gVKDz0KW<7HN@msXuFB#>pYR z$`v#)zSJ)TWv&z$QM1bHL9Qs`mfMEMXfh2w#LfE)Z?v|cVYsYOkIpPOqEeqZ4bKt( zR(BbG^m#0w&5s_>2U+~+TGnj*XbM1J=0Gj!`O%!)TJIkSbV%o0tw=3T9|&NZphF*0 z>28i(a^-WDnO5b=zVlH}V9EZ`*!REy$Tzay6y*5;gMjn+AQk!V31XfP`DQ_WgqHLn zUxmO1S8)h^cj4psap+k0)$(1)F?tHciE+vJ>BiWu$1`v*k5Q3P9f3w3OB$a?^59N{ zcQ`hJ|I&>5;2>1vn;Qe>T@pdvz5m2ZR?Vck2BWmKs0cwl4Uy(JKl_yKm=!+PV8Rwk zUo&1bdu`QWo(S&miJ(|cTFmO3A%bbb)ut_yZ-nSSQ=9;-PCU03Ai~#zWO64gYZt zS_rtrlXLU@+DUu|Z35O1+mFrQSf`%J4#sLed_qj(M!meDmzU%M%eV`RwCc?ky*#3q z2en9#7q5MTJ)Tj6qaCVEIXC+Vr&cUs)MjI~Xs_fKwA=Fq z3fgRbo_*E%_I-b4;zcrWEoLbW10s?T14LS3FYobc*dX^|EBEm9PdBR*fD&C=bOz`? zypCv1A(vdYro&r!f`JD`Df7&9Ze*<#EhQia;oEF=_8=a(pHD_YNxS=W((9X|^_l&E z7@A1WMlV{x7U0JowMdiTd*{|^)A7IG4Oe5}w|TXhoSINg*^nq7ai>&)!tAw1j=WVO zBD(?uh~+!O#54>3=0M7>K-aCRMSbYJ2%tt2oUTiA`{bS&@uvtlZ7q$g=5s$ViStj* zr&w7PNDksT!)2ePs|7$kXef|Z%p?Bg5jN}!`+H*oElz}HUsC`NJ=G}Mb%P{-C2Izo z&FY4*GhlJb&OtP`8OZWS8%dhe6DPePk+rz+D|toWD3bE?_?H-0&}{s>TT6_8*N!qI zy~C@};^#u(`dWE#zp{jLJZ8ug4m5nuN7TglQaeXH=I!{{8g4Ul@Eszw7;>acRjoo< zLqTdrwh-U@=*R_Nmc#cge}#>wx)-ks|(m3rPS(sK^ zNP$ctGfM@Yi7F>Tl`B>LT%5^9-D_I4S2Q8sACaq=B^|sSZ`+Blj&^6pr5q*EwGzRV zb!6iT3X`1O0?}J>!3!R}wZ9KN-t@mP-vd@8i-8217-52xVC4g?+ijZPJAf^m&4(cSjH@7vx)!$7u46$bvAPI} zDBncM{5#D$mYXj3^;`4;v_+h(>1+rjUD#}9#)Hm@H?p*8VKEGD(bth2m64F~+U$~L z6Ck#7ejD9?EyIe$zuuFD^0Cy#{yTdk5^FX-$p) z650sl4U@9E(*^!q)j;$b0K1`o{gxZ9{}*BQ=vW8=ZMf3yJz$Wo0;^%~DJO1BR7fHb zdhK@8drrL6*L%v+dQYX>dumie?*2RNJt)W?74QAo=PA7h_mwUbOwt5AAi3Ck20!5T zo@uXoy=M_>(8~La&)R!1d3!9{&Usu$9mVBIgdV}vZ8QeLp;39#C?VQs2V@QUsszn7 zl5NGrvsLY=!L?c2;~tj&;rxtkaF4T=d*cK0^vau2Ge4lQfDjN{rbIF}nh(x~SrPmi zjF}t$iTh3C3MQ0bR*7Fw|F#5Q>) zo1Y@sP%Irc!qRdd7Wu2>!0OaV8vh%O8g(JED^{@PB%Jl#^PP{+X852hIwU`*it5|( z0I)K@6#cZ;=%-(gHTp?f43TR=Y3e4@jX$P|9)HpLrOmuz0ED~kOyY+HG|jw#TYL#w z5nE)XS#_&eH6{qlDjC*pd|v`4X0264<(gWuX8$#{oVALtsl64KyfwA+Z~;7Sgxd{M zTFgf4*X3fqP?GU7^Z?ib-!qsm`wX5?>NBj+F;!3@4o0L4dx{F<6-8ni;uR3>g$1>M z!Nn4l(Z_T8UD|{J^45tx9Im&oTP_w+f+HIlmTEO|h!v;_c;PIGT`gJoI1~pbVQod^AnmJV|RW|+KQ$X!NZI{W>w+& zpLRb?CD9@cbO|im@3uwY2XFXa5!i0eYq-m$abY^XFCuEcO?-Rx+zx?z{txk$p73+yNIMtZFK+!gdYPh^Q{{r` ztvxx*m6Loy#+pFHv!5pZHQJ1a;U_UV0{^Lu2z#!x?fV!b8uf$)daixsW}SL0=|xC) zE?$Fi#LzuUB~nC;XZ4BVYKzKB3jwu`4HCAqmrSS0P8DOTw+$RZE~4XH|0-pIiWiN6 z=-KtbGAf?r7lUGs+GMy9QT=@7bt(o}aDp}fo?*K**6`dm7To@i<@SBV*!y|(O?dHv zhmTB&518pEcpok1MS3FaKK!}<2}IAe2Q7Ty`6SZS%oxu{`7rBYQT|fuv?F3qU{XcRv@~GpUa#R+ftch<3X;9-#yJHmAO1BS04Raj$`<-Xr$;XD56rU zh#>kpf1ztQvEmbg@v@0gh#L0=Ey{VLbvevEE+%Nfp*j7knWOPA_PrOc;D?1~hWQ3u zB;42N#0C_Gi`0Yn=_28Qx=09c$llj2@Q<*VJ}~nY(aS4)v4}WFvCTSWdYBJ-t3yZE zsF``|&@ESo&Rb!I6HPyf|3kDkoPS<1(Zp3gGk=5keCX1no4~4o?rI;p^yp*_0@1|- z7u~r9wIqb`=$eoY%FnVc5n^}J(Yk5kZ|b0BTj3b=S`Ej*EmJqm@0=|q z3Na&Cn11y64H-gp?bYn~zR-+c<+re+xU2I0{m!rQ?_iLHVP5Brdqf+*q?hOP(kd6I z;nQgm`Xqmei}Rp9yI(JN>*fEnWY6TEXd@7#@tKOZVJb58_msnp{^tI#g8xKB1M}>( zd`Wxzzpx*H`@eERO*6@3m{XmEb@ zk}#r;{@}Rt#2X)o*8|n6vEl)fB1&k;YuN3sh1y-i+|PskZJG64m0r(FCEKW{4bu~A zdLR2%#M@Q|w&>5(w`$KyM*8S+5niE1B0bKMv`deHe^q+0)*jCJhv0Cyn{l$OGo=y) zm~buJ;vlx~A+ck#^7MCksfGwSJlEv=r1f3=NzCTl$h zeV$RzqV#(1+*UoiX+5{Ul~GScdOZ`iRnOBnGGR^c*>7Z%2ETukXecOTWJ1?Bk2nl+ z!S&5$RB!R#Q?5Fiq4ag_HoQc?_sNgA{(_!EBD8V5r3s((mU9{g?8mp_z4w<(D9j6@ zfl+RHm5DP6Y{?wp+9)Qxah%nMfyBL#R6Z}#QS4pJCKj6LGFC#ZalSu=CmV6{H(@qU zWBLW=iOZy%c0Po+gdOO14T;=eEB8Y?+ZMz_MS?ONa48PV&=7yLRZaV z;npHLiyIpeY$Ant5-GDjeFJ}{-4OGG;l`h7W?K-xS;Q-R59(e1Qv48D#%k!)&@snH zKnJ5}wuR;Go^6fpUeDqOrWW5PTXCF2vw*LQEucS_7tHIG zp@BdNmvg5M2oA5Yp`cc3(3w*`JXS5GEF8DNJBL-^6h|B(s}^b;!Cu z_$!3t9V9Dw&8i^#x?+NP9c<;7bWoxBrR&fBMMi&?(~GZUDJE((p~SN3CMNJ>n6*N9 zkQn*h(Yi+-?fit}Pv=`0cHcl*DbybXVLR|ogf*Bx8Ei)a-|wt%7qVN5*cOwNzO_Yz zv*776)h;Z?PKao%e}QvW?&o5^^0b%J$s!JzDCnYP+(V&_H2>4-^~O&Py`&C`27j!t zSyGy&kn+d->?{275T#mPDZGi1y;h_VZbd(qVN?oD53|(~C0Zi%aJgzNXZES|T}VU` z#eJyT62tNzKLoX6HPI%g_lZy*?xqwtoOnPNQ(F$AV1fibXi#JnP7qm2l?DRY85+*O z?kQ6x=17-l94gNg;vP@YGq{IZ&15-S%OCmME-6hrzVv3B2Hyp|_T!_*r1j%(dgI*` zzL&DwA%rqlLuLpHuSZ?%nCLj;Xq3#bO8dM$Oo9qC5&CwTk(J+{m?A4vwD0fxtSc+e zV^vAIteAK{MuE)&5`9Wf_V6nKCB9JtEmDqxu&bO-Vbp>vH}2Xcs}+Kd!wp`@qMfjO zNWk8us}$-ND{#g%FY1VuhR$((5ETyl;VX{&(rDCs4AUTGj+g^ zvH#~Q|GQ%^K0NQo$ch|xxP4h^@e$G`FxW@}Q&yx$TYKS`2$27a9DqBrD7!!>VBv@7nUwN%RTX@{!mR4qYf zFjswn^VPY4o(MhggTiFJg<7u`A8o*5S{DNu^V)vSlY9+K3=gsu@w$6lf zylNAV*@Szt4p)qkXue-M{iYsd=vU4@HqVq~y4j|IY(+GtdJ4AGSe{xuW=8ZxlgZ>e zQ~UN2>HuYNR?OKt7~AP?;Yig1tbC5G99DxsDQnHVa)4mZ^Q^{k#ARVU-2ZGOG2q9* z?o^~A*gh6PmH6yeOy15lEA^^5>xLl>7pBA`#r7Luy?CTEZVLIpTJEO6zo3(l4OvoJ zR;QwsD3<38+U;{Oxj_yeiENkDA;OmMGo0yI_wM`JkY8RCDe;pp4glS~_{n@6b4w~f z9v>a3pn)b$KD?R=K7vlL_$LDYbIKO zgmNs>kWg@zf{E5u3TN4oAgo+*`c!}RB6d*0CMeior2q~Jj~@>P+mDkq7);DIFb?>P zBOEuY8hbcg>?4Y9$XdEj*JFk_wD%`{g>$TFf#6z2Owjd-Nj@nbb_%{H63Y|>#`mIV ziYQ&8M1dZp)_yNfQ+J)GS>>T(}M z5x1Y~MD9O}gtspMWp*MPlrt)HIaXaIIWy2Jd5T_&a6xm@`fnv?kWKt^KhuAMaEuTR z-=|eWiOP-L1Sj!Q!HAWaVV{^*a zdcwef3o>q(??TNwv+z~dXo6-nwOKFT>@}31QquDf(i}>62qq5iD8bnIt34E^uflN zgVG)}>4T^DwBP-rJc(VygPYkc5}{$!7-jJb9AObOV=oXM36;0PXgEEu?ExW@9vYgt z8V!txZr~*rYSP^0nw!B3@DHOB;Qu-%*jQ(wVzcbRbo^!IS7O-MsRe2HNA-=J`VaO$ zfHP5s2XhtwORmd?KSBHP?@RoDd5wqvKUOJ@?eJWI;}Hf&`RHn5SZ75#j-B*y6T{B_ zXV{MlT9v0bzCSb_$9z1Pqc}cwZ8jVU+K=NoSV-dBfhGNx#yt&=&5Gk6Ffm6uE>Kje zZcWE=sXjPr{efvXuGI&3z0OgMyT%Q4Y{LVCE>RBxpa5S7SYk^Waq; z9e-G^IJU!A0giveWE*+y&~-@+b7rK|u~Q%1G%3B$ zz;PEJju#mmn-#}i2FC@8O2L5{@~96EU2#B~5UkY)R~(y8$2L4LyuRh?Y;+`OKaM{m zju%yXbe!FybSy_f(DCe_8+nxXhBY6Nj$@5JXq}LuJN3b(zfQ-I+y4!(KfNj&js)$; zFr5XfelHUMmrhs*S;M;it3Br)v778;aI&Z)Fa@VKQQ8d}MC zMkU69cd#6yG!=bW1rp_wKuaoFv5XdwsbD5Zb|X{HOul4H3E%9RdQ3t}Z}<^(mYzgf zy2Xnq0L-@&tWw_iz{muhSZeW7TfD_zT&N($C;N+=ngv^1vtTPlkN!*r1Ok*UAb0nR z02c`6&a4jma+bORa?JmE0y4&=gU&`yPb5P9A92h5$ye?cx7=egjS+hBG1ea%wicIo z=q=3+)?AzB`Yn@Z4{C0AeKt#T1DH#MzVe{mKi|XZZzdgdCMi~jKk8!D%ZJrgx7;Ab z>K6u&mj!ZEa|dW{C(Z4nx&E5lLvw2$#S5`eKy&%}>_lGTq5JgN@tXTibK{vygkFBk z#jE3X5C0EL8u6b}q3WK?+;U@m?L6AW|2&q9hpyM!zg{Ddn>6>S=4NPa126H=6wSS< z&konzE1GLL5JkxQ2d4Qtod|Q>bk8=*UOaTHE!ij~eS@A=feiHp3AY^r0T}b89Wz3E zXc9EBRbO=bePbo`4{xkg460Q;tW$0gPo>HCL8jUUi#C z^eap{=;Uj;W4va&}I-?B6MhrTdvqwZiHKIvSM|m);?767^As^HFve<+IWeF zPSo6P`s~|>1^@n80KV?kvuD zVBMDV2&&1@ig_L{o-pa4bFP*fDLq2U-M2rhfbw;UW!5A#N?Ud$$0_m9$(kFXx$`vl z950E`*Ytra=d;cAx zV}I^@wH?LKv21gfbbK$D7y|A%Vw?!AUg1j5wYPe7yvn5UJxXoa0BzYORl0*U=Vuu`S+^;m}@DdMwx>(!I zTq1OPs|&5j2W_Ye?SG`CuF zmntR~Xs$vrd48>n$zN~r+I^Qv2c4)w`;ERend72(Xdlg;qPg=lx1ZMES9AGN|FVK+ zxHs^smk(0Ue*v;^r&b`qojO`xst<Y3`lRlW&FJsh%2WHgt*oE0}Bxpa5 zrxM3G7kD`48XUtY2pk(R4H!*e)T9vmT)BT5?TYom-~W|PyQn^>+K@47!UKcjURiM@ zXg`ksJOns?biRjU(Sx94JoMC0aG{Q9siJNwq35q*)}wc!p-qXlVSb^Vwx6?8e!I*u zNKv^j%xZMgvJO`_`Rj2S#9>e{5rcqEZQVFQ`o{4Vt3%SUx_7`1VRhTtnOGg%1y-A` zBLx(z6?-dL6ss?emEN4#6>LbQ2n<-4%Nd`$gvZCoWU4oj0)NI#q~QA)#=g@1UnF!j zqlKj=6Lg*?WG=~Mz#mlp(42AZ)D0t{SRVD&@*ygbD|C!IsCk?tT8?EP4LZ7!1m3IU zdzu|c}~|J&`@K-irQ;wt^$Stn28?LhIu4=6pTGOMn^SsSSjBl zdh<*s=zKn22s%HQK~NMEtniLZ)CpF|$g&~93YoBT#nkQ4_WAuHBG=oX?WIH_9%|i7 zOFBWo^C z9ge-PS;z(cb*p4T%1l@%Td=yqrjOvvmrjT!Puq+%j`qX_b@_kk>j#GRGV2GzrXKqyvrrVjklsV8X3YvJ{=l8`Dcb zU5+T0weM(-bIabouSidKK~-HEjdM19tTb5QRQ(#0F|`c@08<$N2uvLP z;R4NfM)(0_|DaH>j(f0&YBtVrso**ad={oxawt}S;1X~bf{?}}v2X>gmlY>@$$M7x z=1uKQ`WyxGNCY^n19h;NuTNK+4uJuDi0o(0YG{Lc$B z-~V#Guf197KW~G14r+$eV88l=c_!6nhrh>*zWTGkAOEuNc^3F7{K)crQ?!~K6J}xY5%FKx`v+u zcIs+VkQm|Dh5VoQk*~fi?S1HD^E^ZU{qWM(jt`^tA4PZwO|zJI*M98OGVRCun9jY$PjHF~Xji$rf~q|l!;%eP7*?m}^U?YcsxcosZ)wmYO&1>{ z-)H98dG)LESK?ke{Dt3b2Y#klCPKga+F*3YLEFISH-eEkN%&sz_uPmdpHvo&k1wZQ zE@C5!1uY)j^KKXP>HlN!``{~s-wy|F1Ha`*@nIT%Am8}>9l&quw?Be@6D)pbZ418x zvf&p6evrv-)9=}D41R?v@>S%MuSdQ#)LMUl5(M%^hanN#f25uh<}C3)36p4`5u6Vs zz(*Jsr|L+37t*NrBXXZ5qD%#yyQBoH4MnnkdRb02&elPX8EqUMd=fsF4mCek01c4G zPU~Fae+jG6;DGQT)7(K6mkxLw>GJ%>mhJEZ2)Q^K+-n}|EhZ{RL{%h>G-lR6&DP%) zJ(VQcX+Ua#d7z%N_$h@6T*QGws|03xd-_{=pt?^#;OmV>KcLD&OLI_DjJ#QO8+6`! zMxlUP7v-|7HK0Yanm0e=Yp- ze(3a>c>NjNL9}ZITwK;D+87#hRWO_V{^$#Xe{o8ESOmH) z|0zNUtX#BF9#dsh5kShgH~G%b-z0nMWKIQlCZVgG2~+0rMj~Nt_QQk60>_c} z_stQ2CXpNqu^U%MEWtwmMTy*Oi4z3|8@`fA_gWCQby?86u zR%5j_TSQOVwcmgLxz#4av^5g0E1d3eViZx)d*_NSgFa- zBW8{(s9RMFY+ZlgVIF((LCTJobo;aHQ`29HQu+&atb6^X9Cd0~OcKDiSer(pW-Tn* zjsC)~VU)qx;Y5!q1*ao{4;W7=n2f|voZ(9;p#I$_Lgfl{W%(2}E6?y>_Olkni3)*`D76V4!U~H)AFS*NP5x=Vie4fVcxw+N zi89Usxho=R^flu|<~wI^W_ZgeQRzT%Z6xZn$|@R`Mo-xXn<4NFBRqAR2wr~a{C@Tm zul>erb;=;(BwXD_yi&_OF*^@$!HKWf-~c6yk94pLbZnCPlp-iog>PnGTqGdl7Z-D5 z1o9E)!#r639VyNJX*fdv`RHP528fA=WIBFBEq=29D#BVk!lEvbJm+Aoqp|)H9s|L+&i%p{(o3Kj;HAhVKB;}b zRQIQ!<0U^c*V=aTWQcZdH&J0FD^*r1oNqY|f{WBlu`W{CzA9KRM zz8&;Go)nBdRrhudg06L2azM&z)}K?03?dSm>4{9U&Ez3dZZo;agpt{a@8sfNI0tuH z?BgC*@B&LNjz(&~KkVv4{2#8x^FY4fO5}fDwVBVVKk+K**oZqLs{6{Fj+c=cshQf2 zr;s_kdL^Iq>{y2X_<8by^G)n|{Cz)$5cB)S?I^+hDGsk#naFih{4t$x)7V!NXp|E8 zet1vJ*J+TlQuhyWTMs&HxxU6&C*MzmPCmvQL;dvbRM{rVP$p3ZJyKM5ia{iynxzk# z`Iey5Wab)Bn0`dO_XU57n1kGhP-@GFUYR`{N1s@M%piyo?&MMXn)Fzwr*f21TGPp)Xi*Pj8Ep9jT>ha^ScDn zPmRSz2DZlR*UkQpe9OSRvldnI6}+*YwIhw5rc3CMj?`_W*aLylXw~Ea#&NiOHxhOl z9l9-Y+F8RxkaSGGzTXFvujr^SDd?z5?Ah!Dz@%BQCtPF}m`u>w<51Qm{u^4Rul!2- zO)iu!_?w5KQUP%l>fwDN3#_2IyybpjXQI?)cBEjFlMoDSE5!!5(b3q2piBvI z-r5}Y;s6e+k#~V{G*%JRXOYxrY?=EknEH(B0M9T@Hs{-;MeI6o!WvrWNXwP+Dg?ql zbk%5lk8@Er8vh9eK|&H@rl-)p&o|qyx)4){FGab_-e<*Gn~ziR-R4`}9cYLHvo(<@ zzT%=ykJu)F%QX-Wdl~}O_A1?G)k~xs=&J z2v*RUo&sf{56Wr-C6`dfXeKP2gg7d=uz~{yhb3RdY?{4a?%p4fT+UfG5uco%tSKL* z54Qz_S}-}^E7XI92HFBGrU0hVw?e4LMH6;+D#RJjTE}X?vA6MZpy6G4vI0y;f#q_6 zkSt;rE6SG2)qJ!K>rju`6SqNj@MIkOU7j=KeQGUwvnp!#T@(VRYvp~J7xNC*2s%}R z$=A@BeGdY^hoYprI2y!P*wk6bC<3New@7Ue2j}xioc`ptXMl!E*uDnFJl7u7rt1GB z!@iSX@8Josxe|0sp3ijO2H+)CS)0H9xg}p7Y>Jln^q7W-hxTH z=|iJq=Hk`rLD9Na6&*Z^)~(Sr_jcB|^yQA@QER8YxDx-bJbYqe-yVS_`^X>zTW%=t zxSelr2cCF6+5-oA6!vf&$m9$j1YxOPRpAbV{_TuV0t}POF*xIKxK3ea zwEtbxeyC{C7<9&wDkUY0!7nriA|x(41QrS4!ER5N$9dv;njt7quo~VoJ{G=P-4?cL zS}P|0%HXGA0)(j^lEQ;@_(LsxcqP7V?MTl`L0&n# z=);yZW9)h!+mi_GG)sG^^Y%_eUfRM|xnS6MADl975oZ@dQBXyRAg&IG010;Wftc^rOVSGpy5ED&_UxEIA61rIw(W9rYD2c{FqgSFs{>?Ak40&3Gj^Ens zf%9hC$guJ#H90zB1^=O1IpGI0@y^J#Yy)>&gPY-w+0GYOaL$eR9={R|1#+UB?%%C? z2Xe#x_jEhyl7@{@ETV!Wj$k1djcJ;~fS;TdU%e~Qa8?}Rdr`hgFpMMyW#{WMG+G4= z^jRVFcRtgs5Nj|96Kz5zZw}?dxe6Vq=aGI6zTyW;6|yitBM^?pFY;A&QASmKMKOXBA_?`qK;=LcAWjxtH!$rIe5`lJhw>ODtcY335I$Iz8SR@L-%n}(i2+-!c zdo#k!i2DmqYO6O$QT34DOz_bp4 zRm=A+76Jw@siM{HB+iWVXgmy(Vgyb@0Hb^;^JQ~wCI&4-mGbcE@Bkg(bHngG2UusX2lMr4ly8XNb^_(Jg_vjZ>goNI zS14|IW!Bzl&y!)^{1m~nT)G$R`1VSdOGQDCOARs0rAObeT)GY-3NFa5CtyYoa`1;scbB5k_%c;WQsy%DyToOM8WGmd?>NQMZ;gCIjAhEfh^m5i z2JNdtSx)F?e7iI2LUTp%g^;!v2qBSyJ@j^|?=;%#^WExipf*A)cg%EZEA_w6Ul>0rtgOCh$WO_Z)%s>hzUx?o=YwlrXDOAq{jDl%VK+DkmI?#TIIZV;t8hdq&9{ zrZZXCG^JpI3e2DL@Gj7k5!lldoY^_$H0^> zoCxi*GuAb^?QEX4W9_U=hdEARVs1#=ITg;00OWDRiBRoMerP}6L1;bGp^aB)hZ9;N zbWTd;FU5DPDfc{;M!sKa&T_!bzK_7QqCx5Sz$gpf0!9n;E+vcz+VzSm zGUM(d9f6U8JsXO)Ix%wW#5A7#{v+~43wb=bPpYwc43@a#4Ax5y0HPyLY50&K&U}*3 z43TCg%nY$+2CB>ikI-~^7kLtsq>$H<7u}D%)PTJ88l)2Bm7+EXHD7eIOHzD)zIwv8 znmsj|*6iCmvNXG~9}FD&7zF!7rnW)HqtfYk94hqaw;Nwigl_3=rWW9x$cP8tN!67Z zp2=BnLaii7!h}EO=FB`*2`F^7L>D?+q6?iZ(S^>I=tY+3$(dr7J7VZ0W6?=)mJwPe z9wT*vS$Lrz-A?T!7d*AiPSQg5nohD5>27zDPn?ua;+Sk#oh13PFC_RW;(wI%>TzAF zo!Vp5c>O>!i`r?7ZNH||CZyGLUe=n9W=-AE4=6)1=8xssU`ZRzph|FmT*f294Dne) z4Xx8?P`W4QC4Yy{Sc$Ha$5*F6uE68}1tM_u=Hp9QxD3|IN_>e5xfArV;cLm2;i3&l zi`TT%0n~WSs`Vyb)6DLUHZQepM!LnO`RN2c$MTm_T;bhUP%FWHHW>RXzc?CG4S<$Ivpao-C{qi9uK}ytts2@0p-O4I~hzh3u507t#)w?OV2BVKg_zdSUDZ^HoR;fi+_ zn)xn(!=RH!pD|?y4D#h&Kz9xfz{I;;=XfxK>5V&6*t!xdgOMGxRI7Ri5kC?fJdVu5 z8hzJQF&wEujNT*KqkJO^(OwWQwriqEvrTlM33coU-6Eu$D0DyFiiJK(H>wazx2Q|E zO#?P;O|GQc*TGuH!yJHCaE<`(Ddro{wH_T!FZ(DCtjjdm%TF51&~((Az^pS^84@#2 zN1_Cr*6v`OiBTQsu}BIvs)3b)d*vL1(7H#q-C2)L?Qqr>ha^HUv5bnhAd-ct;sR4w$6T7QXkmaO5p@Z;qaE^#~_81D^JwrSR!wFGTGL5-wc_27xC|| zI(8LoL`J7(k4y7?=im!WexFwkdo(9M`h8yMjM~BR1p*Q&ql1qPC#P`i4#iZBvy(mC z=V!saa9g+^?GiU;wZ=gVfq<9NCgb~qEugcLz#K~Q9hhA!;4cD&yg=g~^lf}-y!3IV zuKx4ee)-%;^etagL6>F)y&FMakOJBV@Z91|o|R^4H>(bdDY^;g85+$ldf8Xm5rZ-- z+t}W<00bHy7HQ8A0%w>EjJj4*&3w-&sd-56h>{vZHu)BRK(mM0B-l}E_Clnsh7zA1 z<~Hn<^aB+S;72))hI$m>a|4a1(3SF$VBis%BxwJSpMeMRjSL3vmz8&?VMnw_Ix61&ubCtZvn}4R)^F_N{HBH&nry6!_R}tU?m;@vwoY2 z|9x-$_xPXocvk!u`S7Q;>K6X_$paOCSmU$652uH~@`q%*B=j~-0DmmP zff|2I)8Oz&#MkmleS`FRNz(&6bs;Sn0_xGYofPF_5Ah*l17T|IvFkD=?}defnC#B~ zsdKo<=s0K=X#J>wLZaLzDkM?gxi!%E29jN(k;P_Ac}zJE_d(o3EIlx8Azfyy3}<&Q zuNpc0h2c+e_FfOD2DQ@2nOv>X+FuEUR775 zwN=6yZ^mn^HWD4RJTRk5=0hwk?Lpe4shw68H^!S+4LY~pOZPKlSe}JEV;&{m6850- z#R|6nC3)b!M7S;mK?G?Nf?o63woxkrGyX^|fySzcyc`{ZrSjiIhpdnp=zct9T-JV2 zaux_ZXrt|ydKd=;tCq?GPUGCOfb!>xUVUf3K!UD0$4GDv?Xn?n#ZVdCwnc|CjyM$c zx{HNcS7IoU6CDE9(p*3BJAQl4trj9*DCR9a~0AjCr0&#O6w9h^V>LbIl2fI~lB zSjeDjA~dZk-Ic%SS}lT6!W51|3`!gy&mJi;-uYhW*FNR2lttB{fGAPVg`E>Hv7@Yo zGQ+A1(8k3U>oH%}@RA@M55-KD)N^r1kI_1N*f*pP<_k6_sljK^XN=EDs=~ zPR%{tRS)|u*|@bNez&x*#5M=xFeB3-ToHLBeb_%#OmEqemr`2xfXSw|%qR;i#@YJx z#8DdpGfrXjfx6;&BuZj$PmHafIHaW{_FATzm>7F{QfxU2FtDC4E!`X)^;uv>KYcYC z+YlYX1#em3=5jL9jVsBD z5_J4LjzeicIFJ=l7~_m>dkLhq^Vo~kzDTdnCK}Z*rV#K_lT9HY2fe#PAScCMn@C!0 z7S%h~Sg@~!k{`jJE{VO$&trF?aM=d7nfSAQ&p_HK7GvfI3<1m~%jF;s{ zhrFqK)K(J|NRaZx1K1JWisg`0m+v1;OhbW9ILm=yR;Bo7X+MFi(W3^kl7L)b*;RK1*_ zmkD}_$OSL?ex7~T^~uW~fn7J}ja1S6aX+M$CMGKQGS?}upT0N#U0EJY?Ar%RkGaMa zpIG68X&=z1DT6nA1;Tb*uWZO%q+J>svRJ$)=dC+jDsXxSq7M>KFVtgQtTP9T<LRd@d|jIbNyug56nCZJv*>uZ)~vQ6XJUeS6@GkPp`5) zozn*emK+j|C0V)}!MC?>h%SFWFR&yT?YD{FU1r-lr@c-EI7h0+g5qdQJ-j@LBA|$9juZ+eZud-$ecXQRV zjk^4T3Zy6T!`Ir^BNSAZ2zI2}>dZcv90Nr6m(H%Rci#+ez88i;)TAl$j^p>)) zj0m_+EP=I1t>dLmT-h|VEfSV%V$A6s*yYA!G7^O;%cwqGNn|Bfe+ng;<3Y5dlvbmV z?3b^ip((TyAXQK_KS>#%jD0C;n?M?fFNG7NB00*cdzVjwj+XSbPn47q+fP@x!_+Hb?Zv#0I2Ojg{qlGd-A_RD^gi1Z@m7sVV1A=GV|k9Pwz_&-WLi?Z02 zwnC(+F3H^p5|Zu{?Ja50p~%Pvg_&|mEYUW|rBf!MO4FAiXqi*ExP@lHAUkh7$N0!8 zDv$X}^HEP@*VCvKRX#L{aF32Joas2?Cq=-#_9hV9;IyKSPrg`e#wX2i2suB#fLGbL zaL=Jkt-->O9}wuD!(3}i4&9H|<#M5?1HXy3qgbx+3eB}bYTM&wI<)ZtugE3TX58CS zKEzAqa-CHW<#p8Z>Aj+{wbUAAa-S9lE|;WbzZc!2^IoNyS!S@@3cNl&1TRy3AlO!V zu-HKGFrJJe2mMd+Q4B$JXUK+h(UP`PP}#o&4L7oC?c?hI8VR#bFcBK~1v?K+6Y;FS z4qq7@NNu$US^gMdM-t-G`!)KeV@SBbj3KNUZz-DW8S@PZrE7Rt!U5RhX1-`i?okAq z(~u6r6ec~DuFzS|TkA+Bct3z$0(Bv9Fai)tV5meQuzMGwdj}dGMTb^LYXMVz{R(aDS%GFogSpH0>_o%J`y3I29{t#VjLx zhHw>R9{OsbbI-FR96~F&V+n+15L9-e^W_6)U`lA&I@B#1F&GLrbi)~!w95Byvi ztytlnUmzcLfgoxx#9A*tPt4VFt;^5l>)2`$Xvi5%$?aJp8&j?gMo0ZSFyp<0Ifz>| zG4{+v?0kibI|p*c@l+G#Ew*;zsHX!n9zh|F%{Taj87iX*1eGvUM>wFh zMGTXyoS1=EOX9ssu<9flzYYX#4a~Rz_k^G;4MD?T2ML;w>qJHve!;iUHh!$J`_!xz z>Uq>`lDtRFInrX6n(GR*Ro$Ux!zQIBJE)~5!MW5VEHRmsdIdz!|D!KRS_vM`HB|j2 z1_xI14527_#lR*-@<6B%?xhf_MWhRnR$PTpUmT=_S|ks;D|YQb)-QIBz|_lq`QRr`A3G#$Jw>x9o&X(-giC1B(<{-^s2R+4kav$2znM+)|Fd28C&UBMek9#TXSS0-z({H$n z+)n0OfYH1|9efew(%-?CO5W?>Eva&w40WF!Cvq+$rHK#}5R0zwZKx-`i8tV0N)s0t ziEFkJcN*U!8FxtHT13J;tGHJ3UK7`gRJaoN9(Sm9)5o~<1C=;&7o=g$d>f7|fihqq zz;G2H66U!YB?3!^;BePyDs|3vsWS;h(y8-v+)JTOsSyBv_D%$#AKwCXB0D4irD+1d zkBRy{u<}#^n72>&sZ%NkCtzi%RH36SR`2#lt(zX$9v`s_Zo>l`NVw={rDRPPZdi-? z>~bXt5KVK#*8L=tqz~d=3Q2<^8FLHra21lq_!dZ-BM-W33xeq7{yvp2c~9WNq6J)m z%LkC|3f%Yas=yJ1Xe&5dtllN5)=iQgcq3z%@PyUvBxxNml8NQLhx-(kIaPLq4C3z+jcJpTw|Rewn#YrtUG0=}cwl0t90R zM}dZAticS45#PxH&jK@=<)#@ox2}M!U?iXXPQm6>A-p4L;9Mq+X2gB28BtYf5FUadjY3JsA0G})j_iA`sal@ ztAbX^Ju9hbJIM_aV?RU>zRz)O8srWC$y_*lG$0F&1cGAfQSjkCiHRL`m{31hTMMd% z@kcfO`j!G%4T&qJ|7`GdB0^0Z;Jmj7L1F5S#W=Zwug&AsgY@MV92Ak&ys|CSOgdJ? zN_WY_|B&ZcLXA8JAJU$f8%?^5ko@{wCTZ}FS!#>ujARg?aPD|pyB9&(?nN+e_YxQq z7(C~L?P#oyfq1VzmlIc3-Xu=y30%9fwZi*eXHZWs2UL^DMt;OakdKOAej6F3m)7>lm+MZ5+Jj*Z1*_FR`@x`miRfx){t}3 z5|49#-W9jI$+<&hH#z1WSrtP;rb>chzQW`M6!MkK`zXIih>ZBVrTjdwoj+2(*_U2m z)4*3=63TxPL`kLmQl&NmY6}Zme3V}+Y3M4s0+J}a2k;^(uWv0jPqEAtr9|POpw)KM z1PCUxSwr_I&sO*;&zATp&(@Ig(h`sIeF&+WlwTw#J78Zcs{&=ChSCJZe5uI`DCEl| zzfi(BfhA`~Yrj1#(9pRH@$laq5op-Rn;`#Y<%Fa=ZF-yLac6Kbn|WN^mT4Zt|Js&$ zT+aO@J~?R;kr-DHz1_%01)9kp5v}y4Yit_Sm6t?LE@pKqCxs#h-0-xpph(lwLyIMi zSqiz9U`~%c^iaG=InlQep_HdspMk5_Ls1qzv=bf|b*q%^o}921emP-F{Bpw9P)?*J zo}A1eq;ASd(`%|*3CikLf^l`Lz!2R!sXaxv0)X`$DGHv?V>XQdFN%fez}fuZ2{F}@ z94?sEt!A6`KX=lpYtY(kvtFhVMLDVB9=@&9nPD>_<=iwrBH=(Q* zd|WSKGG2FXkb@NblST(2kKMtDQQ zs`06qq5S&IXx)2q>T2xbFdWUtF4l87oX?&l7fih0Va<3?t{zvLgxUUSy32S+$pQk% zEU(knru@`O2s8#0b{+eJ*E9EpGORO}jc9 zL3lB6_MngX?gr*C@9Wf#DI_9wh+ykiFee8ZS4t;>bP-_PmQV0%V8-F;NWt+g;=R@t z66>l^Zl5WBZX7P!|7U!X^HE zB3L4m@4Ptxx530P=~_wRAyddqjmZ=-Q!5!$0{K!yGAV?7naN8zHV^bVA``2SR>>IQzfR+wi0QvrKdDk==t$WzIsGY=b{Quy|RDnK{4oN zs7)c6E9Ma+5%4FgY&V&{B@MNBS50;0+Sat*l#?r}+CjNK$)HX|i3t@(y0VCa_TT(4 z5YHiEiO^*adZ){Ldo&xsf&Siqa4D|sN&W(h$*>*cOU_p24nqAo$-ny2*E8KWd5m86 z#Kl>S^MSl+&QV+-f%8KSHe64HzWk>L`5G7Uoxe|q>|g?v2iWjpAW!wBZ{tR#zR6Q? zN&dmxw3NJpOT&&49GoK+m0ro&W?M_O&I6~7m(S^w8F2{QzYT|=@e^!XaV?NU1E!^I zmwDiT%sL;t&p-M&bMiZqP!%+x>)+TESPje zqp4G|S<~WFbV?fbQm(RW4NgTBUZhi@Z^2H=Q=I*atLIc;i5r}XV+06R|FTT?oC>zW z?^LiQey4)1VW*Oo*e()ic!syT=~Nu{g7#d367fcL1mmg=fgu9k`3kkK8ywu8Q{iJz zi*RCGL51jlu%r_Z_#=CAKo^_NvuR+_f}1)j`$7zgu%}4~tn8ViX<^SiNnI4YR5M&MAV-H*5XAfKAXAfIL_DD-S_UueZ-DJ<) z^~xSs38FfJb=gChqJIcT0E$BX?q%{SV=iU&^WB(BIhz#7+~D4w>6GzA*T?vI(`zFQ20wQfEJ3*rSXOYg!mzDCvd*y>dw>o&DKjeK3(PPZyh~ zSdEXo*Dp~P{Ze*@!`YXz-D5mk;b%Ns;%7WtLw-n0JjTCAYIKwFw?CK3c!G5qPna&_ z1)wm#*GpL$|LniF%lN8DmfiW?VR|W0O)kZ}x%I6dwl;^~`*c42j-Li}K9md0;h{bg zcnj7@+rmj$J7<*^e%u!BjhnW>5LhthFIr%}Eij&I`9Nxa2Pr4lK@D+VDojQ^KnYq1 zonGI-_flNR`dacQtu7gi+qz^Vj*Qe*W-88iZpuLB!kv1AMYdi$87)oc)ehU}vPAzi5H^w!j&0dj-D5sNdH1E2N#PwD4tGxM%Xt|9Ay@ zBki231x~O9PJPQO@YtIuFhUCqvjuj>O$*}kH&9@AEzsWJDDtHjzKX)DweS;KxMy-p8*VProbh8Xf`WtZn#W6@)vTNS1{!Wh)- zkjJ%|c)?!ipqi5bg}+JZe!|)5a-D|U;$@Yo8<{+Xq|&w)#$d%9StWC zoNG)7%QdmXp@W0U;eyWNKp`&Z#Im{ranDYC zf5YjpwL%CzVt67qd2eCR68J8)6k6Lgh3+;Kx?6U)l2VI+1h2Jn)zx~WSd+BErBD+? zs@l&JW zyBE}(XVO9Eud4yQJDs*}RT}`gJ0I?4uqn{EoW3#_e>6Uf6wV#v0h1iUp@$xIj=zUe z)X`Og)DBK%d1f!g8hmMr1ZfVDDpJ60h$J)C>~lD?E&YV};k zmGtt2CYVdFao4=oni{a5Z50_}jy^}cWe%S}XDN1EkUw-sD8_T{$8>^rftkk;blpnH z7#&xDTi9YTLBu6rINjjJ4YgGoe^JFz4r1>SNc@57w+qGb44kO+B{qw2Z&GaaL@ss4 z$MBZPEIxDyMK=#XWl2Z_Uj!|4a6>*5!MW>_*mK#|Ib$P$lv*eOI;tS;8F!mCbC|1^ z=ZGiZ>PlmvVRv!ye7b|!%#$+H(sjp&D>8dVxfHdIsL7}!YBKrGNl*E72ez7L(H)JD zLeU-kN`cWG7vWwCk=ns{L!>q)Ikfo&Uj&gD8tXohih!G+NX3%(h!hdrUG=d}vfU%n z>gAb4A~;vU5|*nz6cE+Nu(he`qjWp!MmM2b~KD{l}`0>YYS&G_1xbg#ECB zCcKh5tr^s17hE7$I~C}DH}Y4s|9czl0ugSJCYoh3YbAqaGSmy}C44L@47^A|qZ9_}2_i+bl|L47aB<(xT z$U=MlcxU%$kICq)w8t(pX{bm0GSYs|S0Ik@a;GBb>O71!?4bQ3xq$Y|yyJe7Ly&g< zs0D7)0=<&gpa!Q-a%O9K@?z|%aQ2g1fa(5H{Nr*A(~W=p?sVfHQ~cOh*dh62n*GtH zqrP;hFI{HSiI8)KA-p)fv?gLwk#It%XPQ)qEcFyU5h^fth<09K)Z}WmK<&$l{vT~$ z0v|<@{hx4zc;Jk8RAwDCY7o)jnXI^ufZEYPqp%tg*LVkrYm`Le&!B+`nsL&|Dk`h2 z;(DRtii&`W8VHgo9-ym>;t|j77*Oz7LDBrb-&a-LJx4I?e*W`;bai(fuijO!URAw@ z)Jb0NbkiJWMbRY8Qq~PTNay;}L0>x0q%lY_Kjx~HqgmZx%hqwq&Y|{% z9zYxEL0pg)5F3&bC-BBVMW`>eL3N`gj3uIXXjkY%t5yGF8+Pc(-TX8M)XE~36UhZ< zljyLs2}_u*W45Eemxt?O$*sSeNBt%D*e0W|ZMZ7C0@}ZltNKpBewSVJbq&~ue-8I8{|fhH43XqV@_RZl_#9gqV@`SYC61lmRL0dQMsfy`DKhHzGq z*cso1YOpG*sv;6)L+2&@H!*!;M^a|a6)ZQQL4aHBhp0Q)L9Lfk^)G`q5u+mkcon3a; z4D9ms*VgJUtm2LyW8%4{BuqT5Z&NVw`A%v2v>J}156{@DDqThL08%CKD)0{bZd7SI z-b0nTTC|4t6+){iDV(R=4H$QuS*i$(mkh2u;6+_~L|~*JMrKy5oPT>3=8e^Z!B9 zE5;K|FK}bSxogI0O>da4DS?>;m3&b2qn`GHNvUkRRkT`zInhtWG(J%-@B{C|c}sT3 zYnWI7Pkw!`;??Xp396p)YCuscvRG|FR?SW{NDG3>I0a5_IhFMU66KBB*WdZoc9zkyoL?>$#gr8*HDu zAQ`-^oPUBmynvy!jtrBD4g?mkhqWH5CLI>!*Q3%Xn?u2>l0loIai&TC#E=U)5EOUR zjJ4t%q|h23j*`(qQKUqt^PFQoTkVE9s6LqL9F5`A@Ib=#`@o5MndFoY+=MQYGY@+mb?-$ABj|84f+UC z_9hoIo?Lt*MjCvrb~i?W3S;Q#x1x8J1W9VETUU}8AGWf8D2d~O{uj15ldugvutO*9 zTK_MVKZZ&BkY_MNHCbZ}d0j9_OBqtvsEac_!=(8wOaynWxkBOwB`ON=orTFqDBdTg zIZq)VdC&s|?0VSg#mOt$S;pp%?HrE;ipDcsI z7QY{ueif@IelIZfLMCw5F99@B6_F;wyQrngMQg3#)(JpaQ!$m3Wq}uR45UJ^hAtGk z7G}Z%TYP0@zmCt$AvH6!HQ+#tspvH?2=4okizB%V z-_?a-X`|KkiflaP!W<~g*pm2z_hVq{8R`p`^PIfLX-68khP={9!Th=g%N0jr+BZ*8 z7d(O%hRowjiVD(mbvn`=6I5R%Y^&ijvo8)D0$3;9chf1W9ia99``nI%anfUPT}N+imy#JLs& zhskIQ;~DKN`5;F%32cG?`35K};-8>%#Z_cP(Qufs8(yl}J9AT_Z)EJ^s3u?kosgHP z*v*Ph2(!Kdsv75KT3@I$7f^s{=?DO5RRW_Dpr_e~^lf0&3KSH;s5B+2guuX7c1|XW zPzzcZknijz8maphs-qe98*Qcbjz>^?M&$aWrSmZ(HYY%AFve{G6zGUYFUEo&EY!0ify;ZIexpI|f%+hc?v$Vd9 zzqnA(g1F{%7FMI=9w#SxwL{^<_52oS&9!2fj-m$n?pX|~DeM$pMznflG8J(W#*L_k zTgnx;Oqq-9*gx~P{ZKh|vH!Tm9BF#%uE?x6*GPK>WQ#)1J({JIvFu9S1xc{9=2S2a zIkhj_HU)r*>abEk>ev9%Fq5WYSz`tLN6F3=cqy3pJ-+u%g?+3j>3Mpn zhWc{HYj(tQ6v&coH8~tgALg26CC>L-*hQpFcbK}odrYl;h?vqW2Ruh8I7QZ=HPXvl z_NLX*Iy?;M!9l|du!k0kUv*25L-^Gf-ZiMM``M~}5%`}_0f)+4=^Hn_+N^)IPRs5=apy2}K z9ojrBt9mTiL*xxw6`eNBHIC!2n8$Q~+o2uy@|-@>VJczE)(%mqOtBNVHh95cU@|6O za(7|9UJeY^vs*ldQF9a(IycZcpbI9n7g5nP6wT1AJnxP=3M1<^#g5Wv)D4~gjfjgh?tJ#5I|;eWBrZ6SP-Whj?OA&E>VhZz$PW4QV#UkX#NdpeZDP9YH%)DN<<55D9d3s{>|qbp=>gEELsSl&X4-jpFReaV@sITn*FG z_l*6&Q1`!rjS8ZZ`;UnGJia0b2k2E6tW?N~F+uf?4ovL;H5YTB8VcBnLaX@g$@^Jx z*rAG`7%JHnc?e)R0V(1i2%NTmOF_`PcJ~BM1}346tz8cya40~5+i;MG z2Ex#)5iZhLF_hoy>}sQFef{sK!Rqoj-8&v^n$x(0wRAH={>s}MKIOFf>U{$X50yl~ zn(}%*Ad58O9%ykUVFx+ZJS)}Z61m`gs{R^wfu^6>s}baYW^(OR(G7~n&{Oaj7$=zR z9K>8oWPwhiAVL&aXt|(UezD<^;c~V9{$DxT{gj_z=D|%cNG`816T-Oi$8>>CgQ|=$ zS$!bp;%l#_mYFU2aQjbv%dB+Et>$D^c^AflQG#<_Y*w^frucaN`ZT z%4>mK6*jn!uTZ)<%*=3)KqJIVg*+BRY=Jt=2+adR&s2vQVO8ci(R;`TGo=YS@mMwa zOR5BFgpH{IQEHW-O|S{~v)s`5q$5{uWUjCzKS$;3WpMViftisuWq#T&6CRQLpr&3Gfss(m40 z=WFbfvAV%kA`JLba8-q8Nw~5=0pcoxtKjNnmICBO@}j4>DonvuQ3|di(jORz3Rmy$ z+jCriac`3( z-NWV|GKBZrKQ+AHEUgu17_ImdBH$65joYLZ%TusfA@?3{RwZLI&MNW_&5r9M}$}Tr_zGo- zM?e8VyUJ^hiT{Oh17Sc*_N|{5R>+4H4wyL^P{_vuy4<5$Ar3SN?ujw!PaHP58twOy z2!%c(aK}=WaCcp*d4IV?fJnBC*sQAq*ruxkq(M&QISKNa@e;`J3OEC}V69F~8asYm zO=#L=EGMNU;}fqsiUh{&a-sLasvZ^%npO5UE)lD+WLl0Bht7+SJ7q^0!4qvb(t z$uCe_q2+xuls;!uH0;Sn!XEmbY((#%GzI&ZO~XL@{a2)ra>#K9+xthWE!G%A#Ys7i zG=&>TN`vWm1w?arH4aGtF0B!8XbUyPcBj=&HKx@*x!oYt#A;VqlQjzv@<$Tq`qDv@ zM*UJqNW7yLC9z5gs_4pEl@=1$OS&OnUFn0Qu6zw~0V%Pn)B^n$a)#Wghx`A^7=j?N z(R z%*N%4mPB0FAVMK&sY+o3vAk6QRkXO48*zP*(F{RL$-8x0l5;uUu@|Hzxtv$_gtVj- z@XFqhmeLcCmWQ#W9@6sLrgU1eS(lb<)1{>}m`=+@LFBQosLDjkfiMQQ>Ou*BnXGy@ zX|mPhYP7EfAowFWOMU4wlLiu`oRD)M!BJ*Ry&|EIvr(mmoHHa13qr0CQC3a`{80d? z1w~ass3*w)(*svMo-(f?>RehhT0X^EsuiocMzOp>#o7x6Njg<(fet)5Qvy70!%|L2cPVD4TJYxhNH^CW`vuXgCvcF&xPe?+I7lRG4%MJM(jnlcqMvI3t)ry5WeUA;8oT6BA0*A?2jVF5-M zrS9hwLOp9;%(NYvf*=GIsR?WvzrCPV@*31iW}?fTmjAI$W!1JicJD;(TE8*2l(%*6?2!;iVF zq=2*Qu)xnU%8e&(7D}PKEnKXB<#eTUsF#Q=8<|iSEA#vJGOkz(8aQT!Cp9bEw7l>z{JTIY%m0PKdco+o7j^%tTHbtHpdzayo&X)3xX- zEk{E6HGZLL*Eiy459><8QFO+jN1+x+(js!df! z??gd`&14qpn9~BMw1Tb$e4}dB^FBCZ z6mhFVNh03vIe7ExcLLTbN1YTH?4K?(!z}5nd{1o?44nyV?rK0eUH)yV}gc zd7z{j5o!L695O|OG*#Gt2Z>cE@ zIFiC>J}ae-};H}vPfKsg^(M-iOQ5VMJ!IxT*4lXxnV2*p|$kq&sca@D87>$H*($(1yBd`Chu|c>HF zM~42KZ7GJX5=5wBtX3mMgMWd6W$1{l zK1**Dgl~*Zn7TeL)LfXVAiDREB?;3>^qsh>FhQMR)Bz#saie zz8g)xZy36-K;7wlhw#xQD&L<>zEZeOOhxZ9w%~r-&UAV*!KApF1R~E-4&?2MHuynI9@bD7^%-0qpBLEs_NIV6CU!* zx`)1xYfi@=yx_J2!TET78&~pJ+J3xw#d<$pk%bMb7HyGkPU*p~QNbF-!C?|*CQ&X4 z9KJhlHd2A<9r%kKGQ1J*(pyYmgop5A=^4AdAh;a-?a;T>-tME8@u?1a+#BjwT|P^f5VyZZ(Ma!G>#BED=a|LwbUwp z^{PXo`1sDCSGh%p-_TuYW#hQ?8ZJYZaieEB!Kff)RoG2f)Z+a7u!z9-a>4kq!|5D9 z)LFcKl7>EEXC(LQDjN=bb-ivCzdQ+F9360QfKj&&3ryo~cx<2S_!;WK87(<|__wiL z<`-m8`xEnv^!~&kM|nVK`gb5?!zQ2mmv0` z^Ga_iw6JCrX63T=>l4O~v#%)RBnOyRpRa$=Ij;7tE~jnFd$0kZMp0)Zx!CC#4s&Faxcu5Hpm<1|ME8g$&TXY)vg?sb@taZ^Zq6bPhCWbYg3nR}+9 zXB!_&hYzN?(YlnRN5AC)K<7x+a1O~;TU~K<0?n=xxV7CP$Vbm{ez!&qbF-xC7SKs$ z7jTFhmKAU$`*X?JK|Gaxj=y#_w_)uGe|D2qfYUWANSU>KPjZSF_9D{zh zUaqsIl=BalRIyE%?e8gOFj7-~uWnHvERVe?ezdAB9^fpe+2a`4Siv zvq~r_0r?meV}zhuO3RCZgg0>nB5wkOCT&?`%YxJ(`|V}hH&)67Pe%ezOZ35)Izkfq z!+aC_Lb;mA!d3hOs$qSPe+r!U_Jm1qlkJjN*xAU=qWdDaS-Q4B_Dp!A-~>eya-?=ui9P>>~^?}rkxE)M{oO5C<8uE$SOg~~Z%K)ve# zRB`UVQ-pWJT@YTE++diO(x^Rc7wC4vSwTHrfqM93y2_WX zHR;5aXzvUFa00g3!x_Jp4JR-xb^8H70$$HtxUzcT0DWZ>oITIbS2ja|*12D6-%tJneYKnUA3DdQjhIpUArhHCJH8jlD>5$l<w&h4J(1-=+v9?Rl@Yqw?TIb?CkFZXyL+%HcRE5_z0Hh@UV4cSM1rA zH{2jSQDg{wPAU`ga!bhH@NC65e*SS z7kV~usv7)ws|LTDI45mghQGKhl?(JzJ#XnQlB*s*>`5nV)=1o$hiX9?a-UQcxFSD5XY&^Tv1F9qnRpu_Rmt;evQ=4sYZhWL+c&Y53P69 zSV*IxY-Z9qPP9>~&(1>$Pt-C2^(Kc8dw|~gC8_A$mzDGsz0dyOVI`ula@HZ+gx-fQ z7mQSG@hZ~j?Vq`#t)X|Us;uS4{}#QQZ%syTlQx_bt3$Uf27BRrYsdT0?VTSZaTV-z zJmb%kA9WtD@(?|LDrHQK3M)}ZHs`!T&i_Gv>RAjw$`T3AAC2-_CISn`%1NXBG1Hhb zTzRVMnIRGSKYc4q5?fx{0)34Pi3wqed?M##6F6hb$S0qn2$l+&BU>FtcvUKK!=HfT zt5x`u3OD=-NKnW1j7o|!`IN`1bQl_*dqh{l>;*I{&UZ!=Cxls`R>GbjjR{rF!C2Bc zKC7D0x15j!{StlaLT|-k=80cskUm_Ctp)@VQ!iLQ3$##ILmF!*f?e2St++bhz_j=< zOs1SaVRJlUp6rD*it?9Aj}H#k^e9(@6IbJz&&9YL)(TA99}=LCc?G8JAuW&wrA^0LrE2_YTMHnu61#Bh4i0Fr))eXo+WgDA}tY|?igU#o=jX5SGK;tLP|7*7`K$!u$Z z9#7f?2Ryfp5I<@J7>f$n7yrnDbUSkLr{?5ZZPHc!AecIDd*}1v&|!cSWE}&xjQ!LV zn07A*39biD`Gv-I-Qld%9l8>s;PHwj*RbA1Xght|&f6)=30n)IrXVQLo0N$Nqo`O@ zTE%V$qnBF6KL_k*Y3=~|Ap5aaViJ0y77&_QNdgqK@JOBSo6ARFWU3Da%Z4^kU91$eIp0shFQb(1=m&pu~ze1=Z3G!_5JQ>-Niq_=#OoN@Dd`TI1M@_7n)1 zVL7{1yaf-6^om^}=Awv4W5s_eDc%&A`cL31TKr~U>Po>OqrUiXPUG#}=%6>E@nuot zI*EF&6TRMq@dx#p{^FbuVQUs}Kq6=ANeqlSh7=P9mcy$sW|={(GpN97oLu&i3?`q@ z3O#9OHccd){0By~BPe1OzY&<)pI{R|eFT1>mPge(~iao2=yA?##x^P|y5TXWs5IOhlpyqAxDKVdMj!~1PgzYRx9vL7>YTv5%lPf_ zpVH4s63eQyG9UNY1-#?2OP+JlCDdDl9ERR1Vx&6_p|R|oF;i^pQ`BXIx(rj7qvV2V zNzf|(>8f3=M4=VOKLm1$mj*k&g<0+FB3V5BrN;Bw`Fi|7l(f+KuOFYqbHE7Q5*jV( zUNwxFhNJrz-_FKY^gR}jvz>)^f79jc{OkK&PW0)|x}1OSxW3DI>ikc-oFPws3V+&m z|3N(Ni}CiO74LO9&$fL@V{>Y+e&9(Mq~f3>8p;sUc9a(!5l(hi+)B56bm zmO`a82Tcy>F5nX59RK7wdtZ#gb|}^sPBA~78Ly&Y)F|o&TowAJ*wm;`mIFQdWO>l} zmeDxv(9h}hSgG~2Zmph2RXyLGof_7}$x5x~^sUu%p{i$aIy{SCN$J-?TdQYpRnPsc zY51v1ttYUxdfvKF@U!-e15)u^kXp~8qOIWhX4cc%Cm$>?ERf5D^UsUYVj|h0eMjhe zgk_jtR15wvs!u8YLkElJ1O7GVN>-c*eI<6}fc!+rK?-9p2CUE*@{rSz=d+H!WO>(Z zM_t2VInO!dWYumMd;ikYOB!1K*czM|hh>R5oqRO6#sVa-bH`J%IfgyaWhFaFO^MA)39M#{MNIcTb_0B*z;^$p!e1HI z@T0U3{vtp8MIQY9Gr_-jP$u{H!894?4XI)yAjXM(N!0 z!j^bWXL}mHm+ZSu@SgW{27Kpcg!k}|(&7E+p9bH67x*5m_JaxHM;9he1<@x)$ixxw zu0_NnMiD^=;_-iVI=^iB-8RAhH*Tp)K>wk%12JAE9p_Q?!AxbdJ&J*a9=r@*+klR4%fgN+BBD-TtZ z9q0qGhHQ#SV~d3vw$wOQ!Hbt>dV-UL`YH4c_o@Mw}X!bp#(O-aR=*A0V0jL)w;f z^3CE^mN<4MFkJiK)Cv23+!q^({zPvpF&dU+TVUF1-UDjbGkwIwfjJ{4u|zNu6UVHB zV5;GKZ-X0&hmcUyYWFb<5B{s^wC*W!__4|BeD&poN8uIoo^$D@Rp?&|oeL-S ziHP}#8g>Ly=}8BNC?oSi@Hs)x0|sl-Ak~m(8^|%&Uj%Q#eW^W4y@$8#UhoPo{7QC) zx4G)Aqg`sL`endgndKE98*`=3lhy0Hkspx;C8sG8H~WU)mWJC&GW|=1uP#r+XHllg z6qDP?>@qo*S2)&P<8gP*1wEx~DB+_lMoSKehz!h#US-(yh1pDJ_4b&nRzSQEx|u0B z{B%k^!?-yO=&ywI0<2W{m+YAtzk!Cou@f0^ytn8NSs?Q3L#3lK>OyBqX00YvQF?G! zuG)AyD(Cv&ri!bh&Q?8B1WN7S2YcxLRggZliaxK2$ZI7;Uyi7zC*-N8fo|OfJx~+( z=oDxulbYP-hRdzdJ#KsX^4O<%a&&_|5&1qz4ZbD}$C~5rcs7sEFbF{V5E3YRY?Oza z1Fpzv@(R)~$PW_v&P5_R{wk`$%^8YULyaUCEkIFMbM%LdQ@4@%Dq8dnd9uPCW?nMG z%)MrqxxzQJSV$+;0p@*2DTzf&g?QED)hX)L5M0=58vS?E^q2J|szt0XJyysCkkI^* zG~0kMj0g32qi}>9HlPOozYXM^sgi>wV;^A-9u`B7-7TP^{DW6mRbT{c`d!do^hMg0owvvwiakkQUN&=vnL6+cUM)%by4;Y=}6hT*Xi!y7gy$HWhw z$Q7Te0*;O+aU!bd^e910aE@^pyM#d$;}HiX;A%+uVSoqmozEu9&|CW3syW>pauVO5 zM&utdT&MG#La}9}Eb|i{*3Kcl8ZMjNrM|>b7f1n_^8AEakhS_~86?FOzMo=RHCA%< z;P<0BpQeh$4;b{85#A9`?b0uD5tSN{lm-I}E76bb5Z;XUaBat4<~v}-hn1;cfz`w} z%m~{6vOFq2#>k{$*4v%*r<9wBv9ZmON&8!Gf5FXQ0}0Mv z^c+bcZHM}dQX=bIC#R~|X*3X__D~u_X%Dg6@FLea0t@=o13}LDOO?;UdG2sgT-Ri) z9ZPNxv}UiK#1hDiV$NHos!!5I^r`Ro=Z*Rav7qJd!h@S#EW|0x>j5wo%+)!2K(YXm z9h!K8r(h034XW}V`Wpqaz$o(u>1--~#sxHeAQXCylbB&c{83yg=%5cY)L~|T<-;l@ z6&7Us2Fz5lXApUvc5a$LfkJ|hrJ0|{4u|XdQULkTo7j-YE#{)6xxbtqcRRGxojaL+ z+0Pg7^u;$MCHHlpBU}foV6&n?Cu_ zmbux^L&9lnPYtr-*fp~}o}By_v-2wp^0^D~-piVkIMCF0j;!h(xCRy1Rt1*px!^(w zs&`I;i*R@mVTW09%s&-{DLqJ4i4I_@mMP3X#gY}&YKg%+5g+LwZosj6vX7f`(f4rW zjsUz+^_-Q0F%%{}0Qu>J-ktB^WW;_LmjEY!sr1;gJ?RnkY!6T+7oTrW%vwwit-q z8Eh&sYYs1n8r&Dv*WE&PFKBTlUdx4{k%`87$+WmpE>a|#sGo(q6A~R(@jHRoqv)Px z4|pQ6Pka_LCuYdsx%|6yeQsP5fN>6M=z{g2Qi)mf`5^Xl@0z^>3%@d;x7PD9e;wb5 zl`xCYGedDF!)VWyQc?|5swA@zH#-qGjk^LT9Z#XK^ANUy!%yzj+4-h(t331Q0sqe` z+=_oATjqD|jmkoNX5=Q+P}gFGA>i}_mg z4~Gt=wQ!bjm6Rg)W267oiHalRuvZiF@|)%PJT=ORI)m)Z(V4+{*gh>c&}vQs(FDOm z;7kQxe8iFDbc_-@x=453nX;U{ZE;?`hPX<^yyJ}33S9kT1;D$MNH>g*92uHyKP3jzxmAsJ~R*pI!@Kh zEbSOYCx}iS-&SG%_1r)pfaIc~OX^k#b@3Jz4w=oj5E%&KkXbsN=iFFJ|BRGJeltl6 zG)T)X#RWs+x(;KB@k}W#LrCZ}oeny)PXy+)sJVmAL@SwDLwiVm9a$|A3h3J;Ce`-B z46~V}g1*lrVhz_*L-4KGBF?^SJV`9XkTLDZNT;J<7*WuzJfo@xg#!&=$mj=e67A0J zv2Wp&5l{w1(s+VZR7Ja&fK=cU4a9w7$f04%yX$nG)B75d zK=uc*1~X5_=P~;iF;imqV!0$?AgVE-w+R4VR)9Z2XV;PcEiN8ot)rl*%!xU!cS68>uuHVt$m;eI;W zq1_U$v_B#?qO$x)Jwsf|tje!Y|I>?Hs0|na05=6x`F<$iZQ2c^AqD)#V4V zD>k+%IO$wp^YEGZTi(uVdEn1N#sj#CZ0VPMtn3xh;&%hFc7&#bS$f2Z-q|HxOHJpv z0S#4O^`OQF{Keygf+sWb!RlYtqC}W_q33)6 z=E!mmz$s}p^m1cx)4dXx&dmEZ<78Kh_&XP7z%@&V`QYH$(_JyXT61p}2y`34=wcDB^R zJ>F4NK8GY@y~rCBQg8@(lcT%(UE*LCNRk;mu_z0w$s=Pppaz` zI3}=gaHO#^|MU`kJq1Xc!z}VG!`qpG^9w12k7zEF$iLUf<4qKYuGgbHo2Ap8iwEGvFz53HLtg=-9Y-ZM z`EU!Hlw*gWeQ1DeIZvHcy$koy#)1l{od6VO@PJ23)V)Deg#~d(!jb|iBn>{7Pb08P zV)hJU@OZ;#>Ecr%rJC}qI#)8J z3`>3S(7B4i3^}QmN-3D=>nyxs%?Ru%1@*LyHBaXQ)VNAt=ST*xX6MSJ3e}zonU{#e ztBb+qIGb;(SE=0sw_ME>`Xl{BFQiJkO3va7aw4p5-J;?|feO$xT_tWBT@-pw8`Dr* zf-AD%1ynH@UTY~xwyg0nY?yN;huwsp@*6!LVee(U2RuSJz(eFwLWpmXkVT9NHgP>Z zh1*HxDi#j%BsBv(%7WhZXvX=a2pj?-WHVXSIJsbq2~8o@t9DkwUJZx&S)vZol6}jG zoFF@dQCh~kzb)I^c-M7#5Wr=_UmGbxP=vUgu zDsB<=y>z|y;m*?^fJw5+F7ja86!*sB*^gv|?Zh6!mIhNlfoU+I6)GMJ4hGb)j&eQH z*@*N`rci{s09#NvjWz35qQ^t`Sd4ioX(kZu~AE&$=59cfH=F z^;|J`6|JLlGvf1yAO0I!o6%tu&MwFPf`AOC;A?h1ioXftqI(Fhoa{oF_ z6ojgvN=Q5)0|)J64jdfS%DMPk!I7_x#8t-wb*#_8BGIxRxuj>yiVH4{{n{%KTPpm} zl~vQPM18%{if@X>TLO#T5bK>$PiVa}qRD%BZmotTFCGngYNl+?$_m3-dcPW@Cw;o_ zR%r9ibuMith>@(gXQziU(q_?jJ>j0AYdii#t;~2M(@zwJ9vg`cT8VR2lWE=!e0OWy zGQxvsjaYgLqPhn&LUcgSAbQ0r-W;&S&;g=nkVdeq>TxZJZ9)10iFO>gaSlA0Cj=H= z4wc~WpktunCh=|FRRK|sCT^{wL?<4txP=jHHV2vz4g(6wC?POgJqaIJ^pOOe=?qMJ zSCETic{mw*4N-ei^VW#%Th}u^-_Jr70;$~taTKr02YJ}j#cQYGp z58y492-Ql+qeLN*Mr6raBaK*MOdm{b(&&WC(m73{KxjunYdu#&_+xaRShHS7eu)q4 zN2GR}1HXv{YCXtNy_VgBE0umzn^{|z$~;;ta2PO~Kz_Px!nDD&1S+0=03CDX1{+SC zX+nMl2QO?GWH@O5e z>3l9LL@_hRQ9^u!F|epP8t;r2w+CYDiBNk$Z#@e+jeNUU@o;uvY8&42J6_Gg-9W~Q zlH!)Y)JNs96OD6sN)*T9@L6@nL{d|bW_Gtox{Kplf{<^mIE-q{hvexzHSgd=Wu}^n z6o18IjjN)-U;(m3>EVG5&gqES_9Ih}O6;a63 zpYfLyj&mYdTDyVF{Omf{CzfFvxX(2%GtZymG4q)FGBWcoU-yiepA{}mJgEfzkz_%K z!6Thqpn_H4v#!HIjytuGk9URKO4NW(zWexhTF5Ou%&3L0jw}Rea1K9@1a}6jOSQUO zt}c71OF%9-41E=&KV++iKaG=e->J(wb@@Ura9~y==7aMu^>CHCyrM44)a7}(0L^br z2ybP8SWx4lxuo7h^ZI);qWO;XJwvk@N#U0mv6j=1NtB z7mA=Ss37ztd+|_sD}IS0`fQa<&>ul|Owgw$j+pW#0Zn{u6~7*cB~+DIrQfHd_~%Kr zr`iMV8kyLi=}VZ7zl=S2Be(k^K3ED&Dna|m+*{opDR+#hh9z$-(>J5Nx*7COhOOdX zWU2bm#6C+qbD`HGh}U+Gkp6phS+6c%s>{dfvPNB2tIMnE(xNU)8FBQK{UlG4> zskXMtuu=Tewa5R)O-L>Yi?KiUow#?VYcq3RsJ|u?>&}c*RN3JdR;uw2y|5 z2rL|g2`kXIKF=EZ1M25AyCLP<{YjPB{erk!< zPLW2XrhL1gtyRV>?oJC(k`QR3N3Arjv_XCWf2c3^`G85Z6(C}ik zf`;$t%@v2xF)`zT;u02CD1*+CEp%lG|AF99;0#&?pL;<$y8RtOiNSk=)Dy)t_^`mj zgRSBXfmkEQMti_bmx9N6f2F>UG*0YArl&x!s)Kj4jvK?^k7QNgs&ZNnb8!QlU`5-^{$&%agQ!zq0q{bPFNNWiw_>iiLO%9lqI7vmG>KnHMAO)C){Y7^_SsUIkY zk7oyBocp2mn-F-sSET5>Ni`g@_@ay^nce3mOf9Tln9_v-OUa-%+_vEx%}^GB*rCW0 zc?w$(|J~BR7?&slppAiruRM<|S+ULGKrD)sEFF!^UU>pU zSEIq+3@M4mFV3%$=@fF4p0%Xs47pLKxS}BTEY=G8KIPJPdW}clyYBSSw~<*4$bOEVi7Y#(wo_^t`y4{7k1GbO&h9ZH$ zNXc9R`pffj=YgfdD2wmAlg&|gA?q%(OdU3yUsAXD0CW05-q0Kc-GbpvA;(-`4RT<^ zbjRZ~{13+db=WfdtIGg&*t%a${w*FUJs*K*Na&Dg&spSu0iO3l~5NvA`82+QD-_*Y7dzQW{b(ooFd|4LW~ z5>^bfn5N_Lj(mLS$oQ^}qkFYDS1AxCs>{Xda$YJxzlHw+8a@LR-A4%c)I6#16#I~+ ziSwX+F*z+MUOFl7G`r6$CnO4rJFn8%6wG&Savbag2M2v37e6wPPNny}Pki{eIECJm z#sVK3M<(_GF8Tl^z|6!PD-N72pHzg-e?puT04E#GAj3C7z8M+cXJq4OjJ~6DTAZ^L zK&9$ZqAtVb;=zOQ((EVPlR%mMgi)*(tpemxd{Ute*O735P+&M5iTGl$ba2lf2Tl%2 z{5`ub{)`;d@q(+d3NeX)`->Ce&ZzkJoN6>9!_ekv{6`qGlSjy6L_=TXN$eF^I9~U6 zd=6vKpj8!T~LVw>#wLr5Vj8}sq11rTM|8AUdwdQQpJZ{0P9wis@!j(2 z0)hd8V>}!|@YT#20Iw(*|}2MEP>~C^3@oGmVK(- z7M0u-!L<(_v$8`IE_LUTT~*#p`u-X2aL03{=yjfR`bV5Znr-)&g1Ot#J@giiD(N*C zfE_lNJR$bWzBOz+XJ!~E8O$b=+Wz_yx9ym(?SnG3{q~33);8Ip=8UZpG05#ibb4b{ zk%1D9G?zy)DylB&V9c61SYfv$e2E7kwy{EI@2F_UUFBlMmgaJPi{)nf4+M`ZlGA=h zz3|C>j|;}yS8x%u^N**mbo{>$M1RKCVch3IIoJcG%*RBTNt89>s)hkbxG;b6u!^8>Q`=|#lM3GaEVcmdx@gD_TJCt}f%{FUWNZYKM z(;7&qX81a62moC+Ox_iqiAnoGC-vfzKOfbt=gd?07~;*&!V|EugiR3DzF%7Z-`D+@ z#wyqtuqK8*WghWsV~?XaOyZrjd$r0!M0wfVA?{m))%DSMo7&A`#WyGK=4h7P z9OQ-g>L?Fj$TXpn>WPwE+#%86sK^VI&y;;ef0UAPj_vvS@& z7>;>6J4z>=KdQ@V>hdGDd+VO3_V=~-q`#;zmlX!HuHH`fE8OC|rsI3$V#;Mc*)<_G&S8^O{=! zAqu|OI>-SPLmW0Y_Yrr09{uJKR7~8qlvH3V=h5dLpSgtZJbDnIagYF!IQu(L+JFis zQ^Omwd}}c?wt5~tx<>OGSd9}1F&9EIKw~chgJN)kAy26tyqE!jX`gABEGtgex^TR( z30W4r6x6fkYK#Q(S?PClpE^4-^adzb4H_^4(|J|`Td+@(xEh6~-6BcYN8PX#CV*~>u`GchAV<(d z-3vtKIV+!~@-t&R->`zV1YfLpVmFc z$i_KhLlo=7ED1&eO581TP4aBhR=3QF4O~Z|g*yqG<-~~uZAmPGBaEhnd8anWc_Kt1 zU%mOCvNVM=5;Pv69V0ML8+$hI|IB08R32ErgVPz6Jz{{wgP`c zTVZWQX+DXpOG-f>kz7bY_&C$*#0GDw?E)O-r{7%S$hDd7q>bN|tG5aN{WJBa?8;2| zpSn1`KhqI0!q49|e*T6|j?jX{YS)TMV_-09PfjO2IrLt@y>v7l|Ap@l1SXUxhmUvW zV|a4tvtYbJh{pZLi`36nm)q54x?Ditn+!ry={s&!H}az57jdVhPhNI9W-FFSj!0N9 zmH=x($x&&2aCEm4=0@}K$1n2aEwLAUMMkb5YJDJTec-Y)k06Za<1#tn+K9-*Lj5S#kk4avfIxQu*<< z*SD#^mw%R_znebH)Zb4Rq|@hX#ESCuH_%WIu)6K@`H(tz7x!1*#ZIu^#2hWB$Klm# z%IOf|#kIeHoZb0mWPJaTjpz1(#E#BU;`;ruf|B*>@};_bEEf#Y*SdprDt_j@rtyPF zR(l1y3OdGG@CcDO&}z#g+#-Y^An0 z%(PdAV&~6P^JnKQ*}lfQMA8%V6vYcD{}I$7wyb3m%DsU2rYmk8YxRa!})L0!5UL^0x!FL0QV z16H0MIb;keRb$AHx@wf=c0>jkFi}I6m`zTXE0Uz*XTVBLk0RC_5!}nU((%q2yECA; zYd+w7$ay*}63jg`C9Xs1Hx=ciRYtV}7h&my0adUdpaz{C_unX3Kn}XyxK3<9<>GT1 z{pw!T@D&g~pc1@+l~&mQG=)H^5rQCR!G5e44lZT`DUeONae!s_Z5v0pIfKO?AeqKL z{sf)VcR>$h%L`l(-b!nK%PYG5Dp2f(i`B}Rvxn@_)BJ-$5L*Gs1$O8>X$sqGzTe=Z zsbwYR<<}Ej$yEDu04Zd8Q!>>NraC}w>!a)X>u_*C&O#af=x3iJDWnmfY99^9bhj0I z$W{GR{VA+?GiSLeta!|JE-Pw01scxM`GmtFie&>C^6jVdc{WV0^KYJ)hiJm)CXJLM zwA^^EDv0(ld0B}P63SC&hrYg7cjV=7eCPsixsvoSdyiVn1tO+U9ZlaBX*0=0u3n}V?y-oO=dwudhP)SFYyazsA7Dcqbs;BN>&R^Ebx{{&qs09`X5&) zc=HgYvCjddOy^W1X`>)%CjAyC*D6EDJ-+k=HQP?-_oi0OZ`4;$+@kf>L$Zxd^BWM{ z6MgmV3awtoyM^r`{ka>vXZmWFelC+JeRbb>U16SEAqeXctLOUaWL-7NZmYhkT%qv; znIc#ulG3?!BRYQzrs%BK?%h*S5&{qHp>hN zMA8=WccRk6t&sw`Hw;=mgggg*!=+o}n!zo#%Rq)W0FYtROUuhNIS?jhoY zzFKMOZtdM)l%}V*-_jlFyaQY4#``;yp+EDM`}FDQi?Du$34tUPC3o7=#K%l5O-h*_N>Q#gIw>Rh73<1Q>Ed zn*!ti7#b4ndJGZr^5c3{S104X$yQKo5!ZU zL6qpl3dn@ETCgJz05JB|_EvmHY?v9VKhupiumA~n15}O~gK=I4-?-+`o6;toof+Y; zYu5OxK+S@$D&}JqwUS5-799ix5hIu1Wz_2!8jo7NSW3N=zpRJ~$Z)v8^-b>w&m3If zEp>ZYT+~rpi1MW(@y)|WO%-=TKTN=~g4A-M75C%-@t_oP13}c?y=N<#6XF2bTF*j( zlRh9)Im-QczLtkexJwOCpzxcr=GYKNZ?Ge83)bfdEhH4kRFII_kvrh-hB zGnMD$>!1ZFXT$|u!JzRQx5Q({8TQ40fj0g0rY@ffP+Kwo%4#o!glDufttZE2L{=ETsGh}AD3A~QJCl` z?T*V7XDKd2E3)LB>zuS%aajr^oQM!4-!HX)v!#DnBLl>&~OE5A<@ERLGzxrr8GYVlMDsKBL1@k; z-uHfHN?LvIC$Gh+9-`=8hsW8@iX%byGfMDnpLMTo>2ms=kI(vix)Iy9vA%tWx8|d_ z-4+eq0%3=e!0SWa^g9&(uw^xPr2uu(>&RfP9>3TK!oV)6_$z$~C*!ZkmO*s0h*Z+u zjF>bwH5DMu<)2k}2YoX4U(hFZ=&0#NFH+~&UW~P%b8~`3R8M4mD9~^WoQ{07hV=`B zjFu+|W6TvxuI=a=XrYi@Nlb)F69vKbd1MW;P#OQ^Ifp(>*r{p-kb9-T5z51c_}gfIjx>c+SaLO= zqQWQQ_2Lw!F11#+!yPrkSA*K9>#rXTP^QFV(F*u96H%7_qucFWE=18&;d=|q1o0$3YgVwgXQ?LfN}F( zzJUS!bQ;@Cdxe{{x?{~L%gMPE)Ulj*_U?EUxp8?27rkMf`35$7*#?59>)S4>4jlL52%3#K@#W`QTRs65^R%prA*~H|J-CaD{jWq zYdN0gY5MB%6ue1Qyu!;(W=!;b5F)KYfA7WuXk5@r#-)D;6!`3r-Lov#ZHLOf<9vZN z+M!AmRCP{WNC?2?oiCV~*>&DvE$R-#^xkTiHt6%~kCFL}T6wfC0us5Oauf2Qk;`=3 z&PTGrOxrN!^a{x)1n~-8m{8s|=UF!s-ZOACXCWYS#?uNS(0Z^h?1#MQJvf@UMhZ<} zAImS8F22>9@BWDYCqko~2a(c;30|RSI)oEd6_B;t#>X}O$tW+$-Hk+Tz=hz8GtuO~^Y)wLcd47sN zK26!cO}w_SIIJQ<5Ni(d432@g=`<>G(|uF`|IaMDhjt0zJ(;&dgRigBE z9gN->&Wbn0$z%2v5eCag-mhi)aS`JIV0<`vSF{2Bv%g!JJ>+4}>uvd}J&N@}X2D=u zspUGaeXryi`LtXI8pL!$J}`hbMRJ`7bUuLT=6jv}Gx<;fINPc7@=Douhx(iApl;B)PFIM6vxVil6*Y}vW3=A~?7VTjQin*6*v*^Q z1^|;{upv)rrP6V}PnR6zOMmC{3ckd2zm6*3qdy{zkc026f*F(O`z|gWmr{{ubzF<> zlkpR?Iu68@ETev@`h3{aTAzd8IQGYC$>ax+Qj8^^h=c)qzmJpyh5R1jAK-}Q0saJ? zpI%ZFgro|_wRXiB9W@UPG>A2;Na@mU5x^n-3!MMMK_IqWg@!&lN!zrNJ2A0Pn;L9q z_}!)*HLEBjIjfXB*`WtAm&E7^!f{B5=?~3Rcnl!ExdLaqO$0!!1nNel$|MgGV4!n3 zeU9<#y2?%4`Kr!fs1Etx?rPpzcK`N024$TwA=jze zkG2vP=+8OFn${ec_Bm;i7+a`zC7lF%oOYt72lP%ZJLD{xpcod=`h_XbAi*y{P>>9H z_4>vbU?2G`RimWAKb(Nup>IbTT2Ihq2C)hhvEH4$x@(5hUI6%FTxmrex*Tg`9oIaP!rxyE>mTL^}sWo8jDOYBrB~l+dL4l@mog{PpmU^APoV{O&hjkKZyn z+o9GWdT9RLzZ7<8IXtBw5+49w*Z}$y()D*4LT2l+o0ONGpn-lF>dV8{`F=CKwfueS>R)!hdct3r~#c! z{mdkg#3d4jUzrai(P-K@85%@#W~-5F%5pL+ZT>6B@4Y)t^|AdM95$4W>$t|3J`-tx ztbd+7sQJK_d0HP?o(r(GA-`T{w}4{oT4L#Zo=UGgOF;CA;2Ct|emF4+ zWxe*C0%%~A2on#$H_cG7>VQ19Bg};0y;rtD5hE1rAFMb{FOE`)A>;TE6{7wjWjdYb zoU||YMPPiAPupO>D1nRvi~nGCG3@IGZW!goFaLV}WBMzeS_}DMhMAR1)DsbLJz7M26_;Oww?fLJTB`yBDdHX0o&OAJV|1O97)xU!GrlIotF6Xe@)^#~QeF0D2 zQKRrIc>0%J&dT8%;i8$0?6Q$PwY^FMe_=QKJ3*{;s`++&?sIGi#xCb0zMaQkKAmaD zP2rE}Uns3R-`jEH`P)HT5X5-`d-=$^z^Tk^qRNIMapiCb=s}7@(?H-`gvwt3F#eeD zJKpq&9)CoOLENYq_@iw)M^dcG%m~0%T&Coh2+dx}M&vXn6^Xd2WC}><<}XM*Pqv&r>X=tF-M7yp1Ca zcBzX{%GSuq22y7bz=TV+=2RF+lh35(j1E=P_);A*b4cma7VHPHY`qQI))P+E-B0*x z%5uVp2|uMP`TbJg`*==AU5fns@ZZn$x5xN@nYuU?|D|m3f5E@uhie|*R(?1t6Fkk> z%R+d{{rmu(+%tYq`f=SuT7QUsEGOSkKUSE8WfG+(Q6>pA3n2kv6NC&h0^OrkB=pXX z5XX_mv@Efe*$OG*D35Gm4*K9~naR8mvH%_=s2|@&dP<^@}7u7TgN zTg&HwxScg8q~^iwX2ve-qwtW1YeX9S_|xP61Df6yY)r{RZ&VG`shwB2%5VXDZO$?J zv?GXJ>!PlnnW^xc<^>7?wRC*RV_Dt=l@&_3s2L@dixfx5nMJd_naetW8JbE+LAXOR zCTYyu!d%qAL+)2ifOjzcBHl_Ux z+5-v{_(rdS|Li496!txZgcO3LUC#59-j|w-C`b`vH@#-(>IuxGQCq=O9#K<8Msi`i zKw#9}FLSd4YfEHM!ho<4t8JF8^@&)8`$E#N(uLUyE=%PCeWUO@Q+u?ux7-fBbfrho z3IdSpjJuBnb%#{Iqsl@?(G}4NAcvN*p!4{r$d2!;`6>cwS<$YUD~h!Mm)%rWt}2WF zO7tG$w-{V7h%(&F5IPcTxDkm&n_;J`U+P*~yJXZ3*D1@JaZ6kDeJDjF@$>YTlE1q9 zwEX2!=@l^x6A?*(PM|s1X9Z0)V98UeMMMgW)fDs1SHGRK-nARs@vnE)8Wm}WHk_h$ z(GxJ$fZcX|4_8A?j&e2h-Q}$=?Pa*6FF;I$j=g*sSbMgto1x6-ql}h3>YS&kB{`L| z5x$Q60re#u&6qjI-l_<0v?M=Ww*#u=qHDuo$xX&g*|K5tnJ}C<7gLs24NVXSl=$-| zWv5+X7)}F9R*}!I<~pC=lgfFDu!>nCWIy3N@E}c`Be)=9hqk8+!Q9229tlI+D<#*O)i@In$}!i}p5HYLi$1p>@Ru@1fOC zn$ZbNT0~5udaOs{3=FA8gLu0%CC1VU z8J9vIAMMg%`9Iv+d|>9) z7z#3lzAKrWoln&}!&$Z~sNt>ReovQ8cE{E9`e%21{S)1s_xiG+v;2AE2ka3?+at%^ zt?dzNFwE6MBh_3Tab`k0OS)H$#74*K7H2a~6L8DTe@1Z1ek|Pg&b#9hT`(cTU)vwzj%Im*u)Uzd9rXFrnI|%5MQG_^iYW_0zET)cMD0 z$=(b)<~(0TCivFP`VII%r3edBtyq!(4t)NX>z1dZFSMdL6U3_ySJti{;w__+A;uoJ zXXX1oe&Z*?A=#3ic=+|r?+;=pI3E=4qw$Q9bcs?w=BP04Nh^Yuu48Y&piml>v~NX!8#?jbuNL z*I&g?!|wba>9ulMhEDF0v6ESo)9DqBrqL_jGkR(J_m2M&{v9&Gf7Xkch}3*$I{Zzi zron&Cw!pvS_TPrTOvD88Qf?9vlTZ?bSEceKS(FNwW+2UVFJ$W4%O9ol-;)d&p$|)H z=G#fSM$;XMXELL zo1&L`;&wuFhVC{k$<*DW!^)rQ*Br}AOm|CtTQAh?kb1gYnZrM8`GfO7eEY5jeUMUF z$fp&a2E|qhE+>#U>X+94+jRedL$U2)m#Iw{18ISSvbh{O`4Uq$+T#;`S_NH0|8YtI zS-y?+0dZI=$Wl;qGSS2Le!465cjiMWvGY<({UdWJ72BmCQ#*Ctl#tjiMP7eA$nM(A z{&2d3?s0etyG!lv3F;YUVd_k{EKEA+OTTR<$f@`pcdN%=bPob?a82yR)eIcI-X6!P zE6{zA$VyxZt}Y2$iBeo6h|aP!Fs*_#09ylzM~XusqNjEGI1ffp?Uu}QE`(FwtSR9e zgDi<&>BX-+xg8CfG0-W^0Wsiz64Fk><5Llds4XzXN|swss~f_fyeWT7z(kh1YZVB z!6b3YxH49Yhh3~(HDJ;?0VMN3?C1jB@SMx<-gAKN{!;1LG$XUTRIBs+DYEj1A2Z4d zK6cxkoJ6<$HaFhxLYHozt-HnJH!4BJZ#Yeu&Tkg@tP1?bZTn|}-`Z-xU7|<(fb?{3 z;!iFa4(vw{m(s6TC2?}Hp{vaLr7&?S!VQS2_>21B^VyG{z9r9kI(7YX8FXsdATLj?{(LZetNr<#d<}3L`m?3U>rYhTm4gmp zC5DwS3=o_C63x{JTG?hTZSHM7|I$UbJU{W9GZCori8bg_UO%YKGsn9ix{~vR20v}a%zK;hX5EYyex2TMc5+ERI zXkCJ$4vIQx)Zo^r*rrx(SQNydsYVSuq zpdwluT*~ix-t(S&?<@%cZU6s#J}`IYp5;C7e%|w*bI1|$myZ7u7hWW4WPm!}fC_>F z9-R9*mZ}p{x!k~oW6=R54pr3et3uH1yvy}FQIZPC7 zAH*~Gj$#W&>Du~GeV10A-RZ%L`N%q*pWhY-k~tq~L*S14OC%l1W%=Wf>NPs#8cRL{mVC{9~g9T3hd4aLx0Ti8Ud4aoKliW zzoCik)(@|9lJ&mlLSuT@rKI0S)&5~ZD7mzYmYCT?U8m~5{FF# z>KO$)ddHE$uGjP+L5wp;m*p#1fiiOJet(!b=e81Mrw~_<YWeG%K!7-l3 zw)y!PC(;W3u-}vV-#JS@h9gb*L&FA4Ek<*G`qvgj;I63(+Vuvo0M~zHK?Y92t8z9-XkxC#dLudnnBuz098;mP2_(F_brlaIB-$ld#EaBndCUpmZv~LLR)qv zNG*%y1Jqu}uONxxNE=j#geP)K#^nmLE|eldI!n{>Fjz;)IS_W|maZj&S{10eb7ocD zEJrf*Sav$S(?urt1b zYY1M*KzBd^xkib5_m@&Bkhx~!lYe|}lqc!+mv04SY|euZk(UJXl1d6iVmUS*zW_VB(Y#B1RhYztk1#q-94=hB7Wf&s=D4pbZa)C?=r!1o&aO2R}^_m=y z_37Qc^P|5m;-V-!8adSfnBO|r>fwthSa4l1A5%s~N#V>5=nR~hm~A+dUyX+2O%Zm5 zT-VD1%Q}J09@T8AD4hA%iVPm{bLRgoB~+Q5N%q>~g^a3x_NtJoJeOOkP8Ldp?*7Wh zRo19kkho@r-VD4MjCJvHkFmO3gAL#oD`a`;Xgrmo+4%mz5EWgD+L!e8~w=W~qeHW(WjF+D|7&Wups5YqQNR)fzK~@SvMo!ULsq}&7 zAS+ZrF~&=ff1PwWfB7yR=WjaDa{g(u=K_YXb-v|%n@7YJ`RDn&CZ5|=LwsP}>9K)c zzUUlzmVD7_oUFvfr$6GSF3vuEvD&n$;1gto*5C(Zgr>JQTH3>XN?<>Kd`;s8`2fMi zOVHWr(+=VVStDc(QiHY`_=^BDS)x}R#S0c)=hEM>893gkubnCI_)YXv9=8b4vz0?# zL6RULcMkg8L@VGfy7d<8kW%Z-=C5wOZ`ZF*ous%yFbyD8UW%>7kOzdN1O(1|eudx> zenJ2X!6UFw=fYwqBS7DAr~5G*x6rHu)r( zFXHZDZaLOqA!;8w*k79(SwcluH+|tQEr~3E(_z6e|#>q&zSm727+u_<1Dj-5Z`lH z3;rBSV$Q+ts0cnixjTLa2ZF)!q_ui;Cm_w=Rb{mJX)6V?2gKVvsV&n5yXiebgYp$r zKNHD*Rg4h~d;xaQBrsIj?%Sk82hvTGp~lS=w?CL4_xr?*rbkHmj3RI+f z_Rc%|eu6<$#6V3niybdu?!@EEkXd#_yf9lKl{tw^pH2JT>WxW|*gY90$9r{m=|wj-O7>*A;`# zEfy_99Nq08>xzLj!!Swe4ZwvROq<&^8E~yoI{kjQ!txjFj@(cZNYFE3>i<{ptF9vi0L;YhfWZk4{0WwrQFCGdyeZ=z8-y$Uv z44I;b{qkqoi z9r4jGXL2{ZAUqEuHzzvfJDR@Bv3}8K7hHRS{fV3Ha2s|8awLrFZ2pKs)cP19>LN$o z;b{Q2V50<{`gf6wi2$zhQE6vomRrx2RK& z%)yK%g-Xt}z0-8c0H01Nb9D;zBPIGX?h;6Zewo=$B)y$4|K#bWjCSrZ?HrKVPTO8- z@I28`JLj?;96}rz05+!v>Iu~FA-JzT zFP-0pU9R#g^Un&FBJ308AwgT3mdNYRy&%LzMl%t1K7mM_2PHzU?dYDTvho!k3`&Oy z=c)A9$zfC)$FKQL+ay{%PCxOrf={pmlCTYLSmCxGe4EF&VlUvzqp-hB`uIjq((#FP zFzCkkie-FM2e^oh`yzWnB>=Z%wjyE?Auc&EI=#J~w!JXXl-?clAaa5e^n!Ugmj)3B+}&+01!YyRu)#f5lJrPZsdZlyCz;t#=LC^Yn9_d?J@u!<*0KY=7xAoJ+S^rxnhhm%GTJmtny#bD@eqR3mL*1Y`VV z0h*v?G?j(L$wPu7j`k>jSrJtcnPPD1=@X3K>x{XTOj!-~kkei!bj8RL2i`KDIj(Iu z?!~Esb7CgaC4ASi#Avw1@&O#=i9fG%N*tDjQPNss9Soh32^Seokmk3O<_|U@Ha$z` zO<60jlfb26ucnOyQi3qNnSulQ0r#d>iTJA+OlcK^3Rbx+wMw~H#hb{;WRrzQ_zO>2 zDowiMQ8fpUWG=+=yQY?JB%r?XrA7&$d>NmRkA>9=xC93S)uRgzHV))EA`L-H5u273 z6e=K_A0q+_j>n~!a6D`{9%u!hZD0`z>Vphz@&zWr`8V!jWxMdtHE!yKV}&wPmNv7n z0_glomQED^Q1_@oa*Bm_6Qw39iRN;^Gx4!qkRTrO=H>koy{x;HRn53q~8%n8PFPlu(VZ6 zPB7Ekd|Hh#ts@kujfvRVu{{V6OMKGyL((=@*k}^4j`8I6j5CC;-$yMXB5&{l6mNpz zJB~2)mkPLNyERbz3u#IVi8{WcI{}w4I8>s!@UT2H*kaduQldpC4Yfn_L|lPMLl~jxOg)Jf8Tm_%7G;^=eqerloce?4k^zn&*y8 z$5`DOQswF%OL0B$g?7nsbZa#a2Qmf=lxf(Mix;Q?-ysi$@CB#qF5S@-{`-im zJV0I}2FYhc0(p#G3J;($XTiS-PnySJPu0>x5Myn*fvHc^&VsANP`0#SAD?_(C!e)O zzj0AUIxvjQ=%sXstKO|W#SSBfRl2}lH5lvbJ2-M~n~o70bEULgNhasQx%HgG&KbvZ zsM?N1apR-u3TpTaU!W3nH48&ELzjairO9z`huwoCy=5-+!ZTxX4K_C*_oxKWOI?T~ zK`sF)#9PqYlt*?+lCPTyCWvse3e6 z>Hs6_Scm%pG<5=_CjOYJz@AH#V7M`pKdqM11{j=N!?%Q|WMDH*{(tTf87LCp2nLlPJAPR zDkmI;c*<9IA+pj``O#))KzBrUHr|Yrj_>S(6LOp@@mp5_>wM7zC*(YNG@wp|{?uD} z%xZQgCuBGX_!>Eih7u**mM_IC_Nw&x+b*u*GyVZ ziQ?mahco!&cxrksUy7dL`H$w;u=lI;!!A^wG=WiSGIUa8dn=ZQMCcFRi0`}1q79Ze z=)8A=p=D-x4t&LmGJS9ArIsWr?{0O%A#-FlZA!;GYM1*hSLhp@P5OK}rT#-vh z#DGR)v2Sa6|Ps|)imQLTEc6?zr z2X=)`X1+@H^}0)!ZE?LWkGy~$!S9@PHZ1*V>viKtEB--#cfBsbKH{nCb(L2}<94mC z^IM^=LAcyqMsv491?^TS?BYq;RE7vowyjWga2Up8E)THM@!NEs$3G=M%YF)D9@KTp zS8RjQ#P&XPa4ZX?>`v(Heu^K?Rd_34vZ(BYo^Xn>-^mFiUeNv^4NT_1OeIju;5LZ^ zCs)mv?5haWu8_i>Nn>c4>%=9cEPE#BuPVYtMc>L0Ch0tLn47vB8*Ic1-i;HRN0xuC0hKY!~a8>$FDy4Q}kVg70Db%@qzR{ zHFrR^5$&FJMB&XQ6~wRad%7b6S7h$b`ut-bgQK2r!6W}SH% z#iR}a0eN9!0%%qF+v!PaJ5|BkB!AVvviLXh7fu1Sqy0>PD`h{EfwL#1hrS4a4H8&q zZ-7W?`N{j4Og_qsXDhtntoFlb4|QCyUiM4}_CtV7&-eI2Y5-gg1L|XI^Dzfo_+US_ zcE9lCNN3YM4!gvsg0f~~0QK^hE^iHIS$Y$`s1hBqA*jM_=BgZdQZo*v&p>}xdcAW-hx{HC z!nyo@^wS;iyUA}#^Or_H_0#;NVHUpsj=yxuSRZEp8~#%D>HkZ4`04)Ai=z}?>o29s z!~Y-srTPjV4gbIPml{eHe+Wsnvo}aw%h>nb;lw3EO%8kphP0YAz{|y>rh-PwU5uCc zYU!NG{i1Q*sD@~%2?pEMXM13!ul%loneY-x=fOT>BzrvGs-4H ze_u%tX)wyT(_~W(fh#sp&i17#C|87%oogOX-&QIk=Mn)yCx)QphC;g$JJaR2?|0aW zu`iamg+1p_h9FTg2E%c`bEpU0A&e<~>~*Jfe(Z1EBxAqe#|+oF=XI zUy(aS?Oh#ZV6amBi=x!?lgi{Um4VMkW8dXeZXd;xPZwl}tfk=%N9((RRhgoM|MHy1 zlJ#IS^n%p^u&X4sMNuCO#Vg99T~=Wi7fVLKmq=ND|7lKU2!QV|-Cr7AqVNm<=abo- ze86fJCm~lQ@rX1(av;{e;18S$uws(>C9M*Syps5Elo?YdWrnBZq^0+_{$%YB73e== zd7=>O;LrTttjm;9>N1oag&E(5NtZ^4u9-9jzXqcN*T{SZ7<*M9Hsf4kP@9CTq?zuIN`czfFZ ziX}-Cmn49I$Ce}Ed(!Y|{Hh=i(*!#Y17FjN#D5@2XhjKilUb?aMB6!Qg8>11DMr=H5FxHKX4gWN*Y&y{a~dVm3c76ilvs3 z^fP^YO;H_R8Sw=t$(ec~z`=7dp0AMS(BW>UG->g19^(s_1)b|(L(h-{gxbe*Dkyti z_Jo(u(V|8*<>y+!kHd7NALj=+s(^2c_tEyW@IiLjIXHMSng|tq2?}RssBr1b7U{CV zEdt`1Bo<^dg~lALC}e>C-kKVtdz^psgOTtGAo67&W1V;N_@Anh@7cZIb6Vwmqs-0nCij6Y})}nx{*$J z<2;(tz~pB!u%J7z*X#(Vl5hCu!JF{TkNMT{0NOo22J7K-Q8F5*p`M6;r7+ZM0#k2= z7Yk#XW_pmK@zzKj+#?$)$4ikaP&``5+>eR;55UU)uWE<`v>!O8gmZV9dNYbR^rb*U zKUT!U)V_F-nk-cn9r|3LZhQHOo`B5HMN7i=J3Awk&x8yDYiH+y+PATWg?;dJD{B}n zSZ{_Bg|&hSZ4KP?B!8%1jLga2d_rzS4L%_vL(3^5GvuqWz^W?aqkse&;o)duV_+&b zl|+ZG2uw8*=25`N3Tup)M!O){>mO8qU|nPsu&f#Xd^2lEgk~O~0*wKI-Ceuvsp+6o zyV#iKBC)mmT3ZYLne-s}M|Z>7b6s*;-*vviU4dBI0^d7l^VW7n4cI3y_WkBS-69cp z_+}Op%LTS9m^k=1?O}rM$SAaM88ERrF!cg9NtB!;ZPP8;XdSt)J+}myFh}4LEmcH| z%pww@n+AE9C~OB4S2Yt8CG?7vF(nGLj=;yqKogAtM{y9{`HM%+u~=#B6glM_2$J)9 zX>zN{`P@Kn5XJ2b;_+t(s|3XN&KwCXbfuoPLjymQXW$Li0F#$hYKJlb+Pt^Ut&(MM*#4lyXkpCTQvD2#S_gD!K1q?_EH_9R`n z7Wv_S<;?j=igZMFx)}!mK}V736NEJ&(Ieyma(oCLDB7hZRLy9mEM20HL2%u|=t=Ys zB#SH2m3u%2PQBmAfJhe-a8Lqn5}9Co7KS%a4uP(qf)GDM{pkuYZ>lKY&f=uKv=ncT z_TVs)XYp>R%&>oDfJb$(rYpoW`eG87Xl%MrNPe(Oa_fM#95)f21K7~a`!YuZpL&(E z@1rCuNZyTHu(Nz~c90KN*BM<52dy@4(914LQ3=WA|9kB-<6Ab`m6kuX`Ut_5^vGsF>@_ja+!Iu z#nSOr%s=7m%!|x)gr(eX+QkwN+_WfyY;!(`b3*PlEaoBF9tE%n8JQQ4HnW0#EQD%s#;@GJ-c!Lf&+%sB3YQtBZx-{~xg+ZuzoO zPFp{87U6Ut|BT9$r^JW?d!Ogw!_+^L3{S|FctEQo}Y4kke248Aeg8W#_cF2#1;h_Y^l|B$lNE>vTc9$2KT=@>-;p9q= zz~f2>YSZJ&%FAF8%)ErkcE5WJ?*u75dPSrP_o)|eop7IuJx#7~r?=-c%Jp{*0vp`o zyja`jKLP%Mz3BxTs(q2nESl zMdbiLh+nO*>Bw`Mff8n*ff6sJ9RsD;p`g7DY{TWH`6dfF5$eC6Co?ejuFQCu=s2I^ z3FD$5)Bv&B*C#e@voo;>;d$4&4o3+Ec8s-E2kKU`W8L`$A8Z}IVwj&`buarc(;P|8 zPvA&S!q)cePNZdV&H2YrjkxGO3EZC@_J#AnjecM4aWaNuk4=|bOgNRS=z?W1GD_>RNlvtwmubWJD~FMSlfY> z^I~m9)w!{@q1WC=qsUpr^nJ;kGpsxoQ(y4>k4p4?EZ`e!0-ktGgkHQe+qen?b>EP( z*oe@w1R4pJ!R3wTsfjux0uKpqKm_jL!?ub*-+es(h_u5Wf%)VQqky8&KoQ}SL9Qso z$4r!DbbMeQKPz*@V4_!@F>?$P4TKh^dnJPpqz--+mie*|KE*x;rmmu*;_Q1FAKI~# z>B3=ci6{RdZ}2eOS%stb-;8kJy<$LorsJhwHKBq4gxP_B_&H)B0*PKI0Dr9*c6C@Z zp*QiQId}GFgt`K?%oI{%1Fk@AplFun^4skgGt7>SL}>kw3OT%?VYJ-Uj0@5s zu@hSt5fWIyY0_Q^Jt;fqWK8+>N>-Y0EH_vD6NkQXpwH)$>?YfiMnhLiQw)Q_XJ4yd z3Y~g6(^)-KzY)VqSOGK%cw@z1vhhZ8K7Fi{kV{XciDND3PEgRESoQ@2;;w+%95|(e z9_QzY&dsN_$36cQ>*4I>aZhw#VA;mVLNda=amE2TZTZ$YAYXpkP8TX? z$ri+g;Q8m{!&!oib@BYiVaDammv5Q={;(mQzpo3-&cct_4ZMHwY+kGl?$@gjj#wMq zujlYEqX9XkjJs!F`oJu8S(AEHKDD?h z;F{CzT3<^y=Bd-9z|>dZKZ+Sx$%l5#0JAYMNy20TJs*daPuoMFu1A`ZZp2{HXW&rM z^0O%Em!&{zW`aEqY=)j1r)Pd9LMOImDCv(5OqVv}uTe?M{8}`$9!U~(4xM1s^9FWn z)bpfW_Q{Yl(}t?&g;G}4bF+RabUqXARQ24(pQkJ%U6`mai0T=f3oXV;S0a@7P$7?p zjve9V`Zs9Umbn$MA~U6J*c#_j+4!RS>aj$u?ZEtnxwsSi5osTL0o5c!1kE4hHUHsp zZu1&q#>7~fHx`S{2c&uCpxPFp^H-vGxYBoEVUL+9{AyW6rGCezlUEGSg=>k_Xh>)OiI&NP!eW8mOJ7Hu#`q0$&C2dn3dVRwkJTsuYdz8 zi{gQ)X7aGcP98EB#?wdZ?Q&el(I-OP?Pw+9pKJE@Gyi*b!pR z24b!-;dz6Y4rf(0Y`T3m_`J8W0T6?Bv+}}Qa}8q5#L+{{mxxo#tg7rUikRHVM?~vA zq?DeUiIic-dPs3mQTH!6PSJYuNM0%`>ag7QKjM)OcJ@$_I>GdK{_4oq2b4knl3XQ&ab1IKV#Z+iV| zTOV${wcmweLtwvM`%t?O%>lc+@I%e?AS??0>}LATpohe)X1d`%gTYKQJ?Z8QGrbu% zqI1Oy(Hi1}&^vo`2o@*sMiJ=4FYcd*A4sFUZ~Iq;YQLLNj?TWJC{lrb?8+Y+>``Nj|@LMH?~v_?|IRJs}yioK($_4kH^`ZBWX1WQ{=`3*5iGlQ$kPu21cFLy0IQGR z|Fh)|=Y+RX-LM6SQfH90E)P~I-4UZJ)dq6A#INguZ{RPT?=qDjeX=X*1)S+-ccP{d znc#})@~H<4BtqMLsblu0EVB#JohVb+I8pHP)QOr%GZS<+Tx6Um!@V-cJ#dFiC(5*; zPLu&cov4`t5mbpY=WX9iB84xk6J=zA!m^sRJm%OKA=9fbDRF;2UL@V8{i#eps;9>! zskW(6$AR;C?lDY~8Px0>Z-?n0yoGF&Tn6ifW;}gi^zq;V)yIWYGDXpPD2cgmg1bP9 z*d|PcT2Lvr2~(lJdKp18@)<)&QnfLS?52+cm|mAmyVA< zeH9;w2r*%U^0M{~<7HQw`QZ-Nor6d|m%1dX{+E4xVHdksm)w{pMs`7PFUYRqS`#Fg zb&QpO%12tK$Jz!2>YfE;P*PCUV!TSBp)NVv7%wOfv+@Lsou+fQ=rzj1lg_E4W@42H zy|cZ?bj3c+Fxzlkv8W|)r9TmRY?|S?8p0`=(>bl{oFo58c8j%*4%Bg;DG0=! zt1?Yd1Y#AW84eH^KkBwendD#b4UO>6qleF)-LPMK_UvIfx2`tTp4A-Ynnpy)|NJAuf$WY5iP^aFb6FqIHJ+Zr!&dMF_K~im==$!cWUH6yZnR zw@newTI1tB(R9{88b#<_eY3GL2;()r#R2wj=brIwOFW02@?cp(QdoDuY&h}h{f7Kb@O~C+NglZ($8yCzO z1@pEZ_n*` z6EZ0-{#Yd810#|-hhfJ{C51r6=@q{?;dCaP%#@nJ4TfiUq%-1_x}m_P_1f5ln`8Ch zdL0znRB<}7&sK@k%=0tE>CauaO`J{<5z*jG3NxuV4Q?RzoHye9098EwX6$cMAGJ3{ zOw}#cSka0ala`Xl^aoy#XUyawyzV=l-a5^hiV~);R$DkHD zmwQ-BJ+4uILV+M*IuLR;pRRkEitLQ`49J(aQt zplE69ZOQ#;10OIpFr7ad_R91}qG(FIldS&8NxN^IKXRjtRav-(s7vuj_ILe}o%s&D zMStYoL;p+uNJ*FMD$Dgpj=asUul)YVel^+rk%y*H@>2bg9xtXKuyg*1k=GycGwHGL zh1BL;*KqT$TStn`;3IMj-0*bQ5bN|VA$s`;apocaB|lptOXv4ldnkT`aKH0on|@Py3|;U!4`4+RKUm3{Jdjh7$$j|l zt^2G3kNA<;V!M;sMp_0?Fw6I+?U~o)CV%`MfL6;|GD#Wu7;S)ig#PUZxRV&GSnvbwJY zoiiG0K)1(+Fai}uyE)FluL-jptnD3_VQ!JBWHqUQBynji^*B&313Zs2Ydcd9I=cxT zSOZjrQ^7VsnJVEpLEV8wUA~Tl$(m+3f?i25;{wAYX8|;sdUWeY>b5?QMUjnu4m0$X zGr5uF>Ax>4QR_eNyI?oqb&KbHCqgC9=q+r0hY>5vOaOkCIbl#1o9+_N(cXSOu8`{- zTv*2iobYBP*$!BXFlZtfc(`5xd=QBaO$HKj&LQ5G%gRD+i8K|&f`niI==L&&YA|9p zE#4kJ1-$?XE+DBM&wcq>uF)Va#myK_pmwF0biGU_ZF-u}pJf1&Fs-=^Cb^Ru$&vnS zQkEVGiGdq9=nQxy&U0SPaLP=5suY_CDAOF9?ZJ@Gk7p38+)n|P01Mlc2PXb$WC?sA z%w$?)uo&HL5YRLR)TUp;&LdZI*B6l~Y!>5rhl^cYH_QO17~TW3Ped(DyLs3F{sd!_ z`$Jrwx(VJx91bw9IROlX#3A4+;-{W`tP=r%70u@!(6gd(lzB5c@a1Uz#%!s`_SQ!Z zYmqKl(P;y5*AWWHQqbA2&ENt~1VpiQsXZU3VHI~J)h#fN2Aa>6P zS-}NH?A+5#jo3k=H0lj8n@b7-!g3>K_+_ThY%qwaQPB9gVP3KzoJwU6zNwKicE1AU zQzY$o>{srYv#MJc2vLO=i*mPCK2r{PzNppeaH|ePMcN~WMN8_r!@v__QC69c{+#&C zs?2rT2>LclhjPgCJbCP-RzIecjVnY594usIu#dC{j8#PIA^oD>FH-exN2}nQAuIT1 z+|=_cPBUCEkvK(w+?8V?Uc+%B$3l@=Da>hY>7T&ww;Jx}X{Px0I)%U(jpQ^w_efq$ zf$-$P_J!Gw#FfWyYM}`V2eMzjXM<@1*b{h#H!3pNie} zhnl(~C56#?=oz!?QGzX2#EPX;XQ-UJfE~dQG5#6-C>My1rnCS?3;`kl2%SaWpydR$ zuAP5r$a4-0p({(^J%zwdPib7IhFC`Q?Na=w#s9bt;;{|AbbNCDMU4PR5*R@eZ~;vR zM^gNQBT6%6qFrQ#hL$D~y3$G$h5&^`O6c{I(^;FxQ{+1z>`0uFHKC4VVpk@kg*^fy z#gb`+HRv363d@E9xFJf)#6vyhku9SSR1~|VIz$?);BR5)ok{6O7t|002<0>Zg$Gn9 z+g=E?fs^<3VGkwIJo*?1oijeo-x*P`LG}CLJypNU@PNxkw9P-_mFkUuz{~9a7%k%* zCMk-Q#LIu6Xb%)cYqnPpX@+_gRTh+A$K|u00Rs$p1J}X?2{qndqHc3otOu16VWc-0Zx9Gq|-`SeXjW`U{DIB4V?Y zPsMyHlMvlWiNQES9BLXrm-FX5#!nEhK)MsvRt-lDM-0u-`RMW)zeG6#`LBv*xs*Cy z3IYN&t8__(zP?9gZ--y_WG~{Ay^q+ukv)6hiXl^;v*09CC!!+ALCr*Q9M1P~MQYb9@vrS&{R;hcveAjoiXyfw zG9~k?Ky4%H!fiOGpK%+)(fXchNv?5S1|fQ$GiIa#D-2}H?j2CESg?o(5TqjCMQ7#V ztPDmKMW@mU603BAzHpwLs5Gcr9DX?zxQ?;4*$$TX{9=3KIVr-JWxR{>Tz!U4tBmBx zUiA1G#n^TT8l4Aj>u~;dtCfq+&ELj+OnhWD`QH4EO(ps~AFZdh_t+`V*&ES3)&^iD zkON4Dh!r@`YI>Qe0l@;Z*m0S7iV=5bYTejO`b>?fM!=E(&$Dld5d{lXU)|6{_0>ug zWr~rw3D8ya5co&EwN9Ss?cwCL_@#x&Uc>FG*NI>Ebu@l$7->Y%4dcKi=3a2#I%<8M zN@|Qnnv3us%6$=T9StNluyJUw@@V`Zju6A7Ho(~~*Mds49#8`l>EDTZCR0Ksh+4%9 zdgJGfGr`B8w-e6!)n~*hcNPMjh1!m7LfX?d3}3>*czjO|-1R3xA=96smg!IQnXFl= z|5PKu(|`ITnbIM&BnHIM#8%|#ZKpEc2Fh&b#`U{%GRJkDbfe_)jqht?He}~){93U2 z6%h~u2sF;LAw;918Ys4V#)J?!TGK~}G9?7$csw|9D+n>^yi9;!f&u9)Axg>d&M?We z*k(eUpV}b^fdNstJVMBLl@NNj2Uuzyu`^{E1z;((>ErNX@kpi+t(DE**A}d#Uu^C( z8_^9S#Q4TS2n6q~U@GvC&qoeTPDTzN*7ztVQ^+i6%HhChU+;c=;lb`5_G?_c>U0-f~ATdsLhL?0pT>BZQJuequ zVME~+)2UL&Gtc>GIO}NfmYm+G#RG@Svv@Q;wTXNh9s`^3^ehETof?5k?D0ZrTYV^C zPC$z1KK3_tZ34A7NLqjm7};CF-Tdww`l@Gx@ywO+$l!FlDbzadH|t9HC3Ipt(5L}q z$6*}|&RB<~{=2$MZnm5;LqkPk5gSarh)olT#X?F>BixDk(s$Wmnw4IqcZC#5d0S6g z_L*x#6kyF6A0g8j@unA9$eLh2X#tj#JzL?nqHP76Lu!eVlcLr^x(lP@W3{KG#wU}ICcRwLkct7|r|bIwt0MoWO5 zr6#B@J<90nt@~L)4uJ-><5EEL{eXropiZ?kY)O!f&(EXLG(-Wzu%enp>+|1?NjFz( z@$oh1Hagw8&G&pFpSvXY#|KE5zpp!y`n=qmNOgJCPNequ-Yli%Cr`wEc(y_3JMZ~+ zK6g#_--M6u$)5Naj`pkDI`E%O{Ho-K*KogbG`7CO_|*!zzl?GLMhs(`c+?|yn%G|a zs_%|&{3_o!sBWmpMuN_<-|3(_j9)c^awb6`dIvQy_!PZJRmLaDxxqo@Vgz&L+i&P8DI_ z%7{N2x^j8Y^@1WS9Ds;Wc_Zb76oyvJ1m{=)Hx``8v}Tk2@kh zXXJ5qWbFm0PYyY6s3{!raR}N)Ohs8G-)*3BLOO@+Bb9yOlT{C<$OSqVgfbKq!y%J^ z@}V7EVb3|=6ZRRXC?s$OA)AG~jkvC5vT0W2kI9%2r}JBNn@?Ug*DFSBJ|VE?tw$fa ztBI9>z15;tW~@gaCF?Urek421l^ge^L5;MA z$sRwkb&P=!JqoV=5Lp6iloF(4A~Y+SIqNQai^$e^S_Pi~Fg=z;XjM10Dj42eX-3qI z-Kj~tvX|HuiP8!lG%F-5Ic~B;0fV0@b?urRl0@$PoL1dGZ#PA#Tjv)Th${*4p%0$v zgP8lFfx&6goSZi4MRy7T?=xqa!caE$1ZroD46l;B%+0It>46~ywVaX&Y!&D}T448l87>=fK-^=lDlH z59+g7XZ{VDuL_>X<#VjYm4G!^ah5u;>J8d;=tOAxQ?BZ*`<179hoA+cdLRADs^0lo zm#rVIRegGbY+S9TCemf=B*X#}mG`mSMo|J7s#62CODHk1Zg3;O$z|**&-qvv0k~{! z^(y#*k^GEh>#IfLQnN)i04ZihA*_H(QF^%Rh%1vVVwSC$Gs`C7?PDKm?LcV?fUqMG zc)Kk}c?b}e6T%8|mEr2aBC|DYIm@zjqx7iLWYmVY&1uDx?04&ztsi;Os`{;5wx08n z(a(jH;UWrAakSp(d>g{;#Im&+jB1p*GBRqEX>yW6XO^u4wewjE#Lg!9Re6feaS`CDOBf?4oJ%;G6 z>f-#b8m1>dCgPGND#&2p zrF_bFhDkdbvaMl5F&v_88P`LVAOrt-_<%jM>+esjS9>^}4YZi38*8M*ztx7zdX^~N z0%1yed6$Plap1-1aI=0=!}{R=5=UqZ9fdR$F;6M6w)6VtL%%p!fwJ#gy1zASR9s^oC zLl3M^zhlgo)4w-IOAeNNh@-^p8kfskh6u~AKVLq?Wlvh;Da*F#Jv|@dx|Yu7L)e7| zw&Y)Bu<~N=aqlKnate_H^^@}>F1L#FGf7HRk%gqG_yuY^$d9;HS0JFYbt&Oz%8$52 z8um@_$KPQ!=N9uLhVSUA(A`h*ROleIVDJ|C)T+?=R&!>_k9dm)w|jDtF}R+-F!rj! zQT@sI*rO+C^6`BEpV|w$ILw^ipI>MSGCqc77Kpu#k3p8x=J$Aw0x*U_mQ*W`UT;4e z;%+t_(ey%R(DX`aHrSqg8TeoPRN*hCVgUW%$=ZI5_0@O~%ognzgFZNK?06mMGduYP z3e9G9^>xM+qVq!HI?t&bU7lt<|CbcFMi^q-@%rCpJ;9$1`Kq2!^()y+$k$2EYp%> zZ#u+?jiqmwek|$HZ_kkk2yQF=dRq9mihd_p`u*6mlk}V4&!e9mXbS!AxNS@H8B6Ri{nHKZaSw2UnlyW4jEPj%3XE`c9bEP^u^CkPRBS&YV5rlDa#scR@Ejf7v z4iaD0o}*JLb=Y@?K|Vv;QAbDolo)O^$#is_laR9SojC0AKm46_8sBR95J+_IV}QRi z4}kHH{?0=42tZB9XUMnkXT;z6f+gZ7!{0eBZ2cWZHHN?e@FEw$wvB15$on zPK^RB;P7%{JWHB_BM^beRnxm+<^`Oeay|h+CURB7V)&IbyJu7e&FC0a@V~I@4;4D! ztsv*p?-G9nS`Nfy7c$jraY1UhL_C-I8oZfdB602^`N{K*=dxp}MrmKa`uxe?f1vp7 z(4U0;cuoD6i?=s0|4;pw$L4Lxe|h%r{}unGqWjO_zx=XNC2>%m(Nth0E9z#ox&!}Z zjjmYGf1yzRZ26rJOT#|@<;*`>HMvFqrAwP@@6I0K>C4_|!RX7He_DOH?f%P)@2UQz zS)cHV;_#F1#G!xk%){L?M?`sHvf98jO%6RPk6L!CcCc22Ok&|ut zbUkwg?6Gi<&|u&cfLI%>$6w^j>QuvFRT?%8Y32%y%H$H@?THocw(p4bz@qql_QT!L zCT7$L<$yeA*t?(^z9Myifju`UePJ23G;CY=4<#ilT#ajx2eV7sk zUy+P7@CB&iF4vrj&Nen#@s%uSDoGSA<9|VxFXw-t31SjxH^j;F(PAyFzSJmkMDiHI^zvA|7OG3EZM?w52i_1rsAuFflBKC3M39vT9Ua1frN(tiL45zF48$*eJ3HcAvC|O;0K9&(v63D? zL4U8d>p$D*||M_iE44?`I{H~mC!=SA z2NIzTIi0`von>ADQUHWB~S zas_H7R)S{CSw`D?sruEO7oFM7)_lgPlPVjei6dAfOnT#=Rh%E5&@d zKToUZ$pJRQsLFKOL*@O>?QQfo;8>wF&-MlI~ba^1QE59cC9AuA? z+l)LCP9PC%9J(?vH7Q@`t74!SViS+cQLrAt2);Qz|Ng$H#Zsm@6_I{%ql`8Nf^^k^ zi!dQCq-+>t@g2G`dt4`<;R@fFy-}gpCxZ%eAe1AE@!zNj^^tQ2;nC4$0 zG!xY$upo2Pl#UE4q@#guNAww@VMcr>@9O=Cd)da*t*s~wEGRPvuFWR8EvHoM#e~<5 z(ZHZpKwcE)+?1;0g~s@@C-c|pxJ3?MaFRT}9M1agc>Y(a?4&!hsj`n=+y+&4FjsF9 zq2f!!+o;MOIb<7ES!XSUA|977`{;zYN4%nt`$wjGFAd@T^uNU7ljWjFD%Rn zOyw!QfTQ2(__i@H`W-gdI+AVy|7uExERWW=3KAwpU-^7w{o3KNbzMrfUoL$T1MC;K zprYZxjR&QG3Q1gw&Q`IruLl(7Od5cWc1z+39X(Ir7LVk$#r&%|Wys2s`r`_dt=L~A zuUa>-ix*mF3q;8)Xqi4nZaWSSYsU5nr(T}zT;g)v{bHX7^0`a02R=;Wlpkms^d5oA z3Pzx^mg2M5KK%=G0Nlzz-LVw78;4QSEC-C+%SvD^O$y3KO=Xc=d@U^^oJ)iiFif~9 z!Dx|bZaw-9-1rIpkG3pD<(z3{II~P7y>cg%i%8XGk_O+(SS$1jfC)^cX2VbYmg1X` z16?dl!_xARP<_{2m7O6|AelVss?%Hu_Ox7nh#9^B+v{9(G^sDT+^y7f*$!cr8lrqN zS57eWhW7@#LDZ z)~mdbb)bK;#K(`6+7cg!9+QBoMAO9v0}tYCX*yKU>E)H?%rI*-{T4g)Gcfd2{=iTS ze}GKe#vkKb6kk^AIP+ANJYJX&xz%sbsO;UJSmOWU`qYOsw zqYN@@wVqHX1K)Q_3*w_#>PRYtP)9gBkNrgqA5QQ}vr0VoiYm+7@J7_rA%18si8Bxo zcN1fO^M~%N{>VWdhaZmWrsa#4Sq^`~QkSU^_W4NP^S_N^K$1Vm=O#s(pgZo`Exr9Z?!>Q&C< z%`*sQA0qM)9|XSp_7tCn(0xE#d}`)MsHG>eoho!!KfOB|hI&kBT1%eOUvN-D zWh{Xhse%%y5#@h*2Bqje=v*ahBeK(BDOee$Fa>L4hqC{&*Pzuj%3ek8qoNgahWjdp z(<*{jdhPsDI~DVM6~Q4XJr<$j+EwjTe3?rT*k9iq2AT(BICiZq8kZ4DEJU)dB}k+z z1YzgO{wdQcOgK#J#1IuxA<~`q%l(nT35+!xjcQN^GRkk{8=S^@Xg6d*^@HXX{Yi zvtK7s&2y0ypquLtcO@qI9M2Yv{kV&~=yiejVjf>4LjPC~kjxr&nN@!fqR`Yt z28#E6hJzqiq;QLKVzF7ACJBL6xDZ+FAN0dq)erxEM)kv5siCLSKqol(&Oho0@(}-` zaZaV74a}Y)_q5RLP8hUbH5CDO&S?~i6XKa{C=ojK9%?uo!!ze2G5|e$crML+>1o{K zsUu>laiJ`!anF+V5iQ!1gF_Yom(jHt?RfU+I~FWZ`!5zi8(~+H@|>Ne4Lv3oK;evS!Z+Xs#vL2C9x>ifWoaiE%bs>?&<$xN73j6i zd&4yabz#pGj6x&E6g>Kr!CHRnW7bof==0PL^F40{JK8djDr=^au+;OTqZoTBMr0ix zkPsT9k}BDz=INF0*dKkjlJJ8Md?Z{*w6sG)s8^EkPjX0tp5@Y#6JQNcE-c<29?)a^ zBm^XE<5X!w6A#)Up%`o_9nM}lg@khjaJIcs_NCgk^)sIP{rD6Tnt`@U!q3;ZBwVtO zN5TbY#E@|P!kH8WK3c zkr!wG6{Z`&!F+MY4W1@~kcIMY?7hBsu;}I;@PvA&$~)al4w1f%078}=JcbV$7Q`PLLJ^$`zaF!Bn3eZ&jYzQ)0VIDP`Y{Vz5k z0VCIB&en1;8!i$5mQk*965H|<@n)|K8$>+g_f|6Z&_1jQX8s}*)?pTJf5{cdOZW5y z@(9%B7=zBtznL-Sw?3sD&{}6%;Vhp`j{ zJn)SvOnI?Zj+hn|39|T5o+&TmrE zy-SmqedOJ?$;)=PEAfW@!$-U=$;WOzwyc#dAan$ zPRPp`PhO7R-IJGJpstaZig{*?KZm?DJ?4{_M`tR^SFH7+Jm^zV+3d?7^i&7Ri*+eF zEic2Qa>w$LpIIhDUcQm_2WjVLm6wKj+afRDKID^$G{lN(!iGG<&2DSneuY5SH{T8#lP)@ygd1;YhQNS#gmso zsB7e<_~D;VUaB8aeh9;|?YoiD3QUJ@eZz-x&z&;IX1o3vgn}l0q&*b^D3?3E{4O}$ zF28*_*EQ!6sZ1*yHKXb+&7>?8c~Swgv#Wo8PPn8@`tp$Lb=_%A>Y4PkJbQ|GgWWHG z!^0RfjrimrpE(obUo`$}4Kdb9R11DD!n%w`q1bVG@+rSbKyi)y zyab*P-kKW-0eP9^i_>$e0Gf-d)v3mONS6`=wSQy{-V6|SRzAd0`Xg7U4`;^)&hi*t z1pZ+9oj$|}){jaNvrY-Z5KX8?4T7g~KIQYNf=^**S?}~XQX>IC^h0K#b_2XRt-qtE z(lyx^A57?QKcMsj=CQD54xieI)3{o8pY@!2ttKwapz(^OG`Y@*mU+;>Ro#_Hy-buj_4lkw~biVq;z<_$DPd6-;QjT956&h%K z@7z0(%Z9m_L4Yp{wHW5a_Esp;0biQ+O@v=o>X#_Ltky53&VIXcFk)M5E}@tg&57pH zzm*%#bWsm~9z9@>9UK3jqxN_vN^oaQBR{cjHy58^`ezq|>EnM9aA9SyJvkbGP`)6w zwcb4G+r-#1*rTqO?~hYR!aVCdVaNX-xY;?IMr+D4cC*y^BU0+Qg>h^tnX(xD{EGeH zxeCuG%X6q_A{TT8zF|Rtrb{aLAVjV*s^h#OP$j{oFkE0%W|qvHFOWr|d$_BqX0I)e zCb&VI{W!14OFbkI`=u%mjV3NdO)R)seq(9qWY{Y-=rp2&bBi1nVNjFoMb7Wu+Cpq` zwK4vHK?hRo#maOpp`9HN{CL&Sxl4`B!h3}lg(7&{a* zALA8F-CK2+OL~8Ovh-KoZht_Nj=5&;*HkBWbvdp>ph3FPI@O9*;xEvTjYCbryWh#*g{SIn+%=rA@J!bs7 zJcq8kaSP1&(t%l+@we>K94L^12Eoc__#V)C?@#6X7!KI=(ci!`J_DX(eefKX0#8vkc)msg zNCrIr19R!c(zPYqjf)u|Yv~7|h*9unsoF%BQH5 z<`YPS8HO|7t0(Bsa<@_IO)%74C*+{K@j(7;zR0JuRsJ@h1Z^`T$^7GUq3@ZSRP68E zPbAOrS-LC4SV@_*;SyV(XG-1ym}270&XJTd5tf0;H(ndmYON+}a50iz^3dl4Q=fu5 zq4_SyVi)XqHD^@AWO6o+Xw)U@MWG4TJ#t!S zk+BFGP?66u(8$a1fxRk&LQF$ziH+O?v zdu}omgXbn!kd?^&V5M)cwntVHVGve&Us!30I4H_dAmT(uiy#TOMFB$n|B0-=hn z(2)c(E|NkNAsuP<-Hf-V9d8u{qY;CGV7!M#JP&GkdTajW^YqYp2dcOK}v=nNr@HV}oD3Id+jFN7$ebOum`~I_)OJ zYMjxg({I>qNc$35oC=gqYk*v<#XJx`>k0T;yBPH*?h)~&a=70)r~~x zF`u!6Dq<_AW@*Kz`Z5IOE?FnBN3e;^?7f)EtJ5-5jjMMsPa+~IHru&@68ykF5C2Af zUYw!)7UAHd(RxVBH22VA@vFFrzg94h`wzYk0_PNW(Tdc7ka-9X95844y~LS!(j0tI z?x`>2p8BAO4v?Pb`~kZz13S_uPF4=56&wTq=z(Sc7i~G7F!D1`KZEj_7=sW&d+$PP z`}b0y=<1@6pmULG(|i|odJS}3XpaF%Ja`9Z@auq?sp>X1_&GcD{?hR^>lVcq6a=E# zYQ*c^z}q*d$~YyaW7a`)s$LWR_(~6`a;7~+JXHf$OmzdbPq9kkz*obC7)2WofTZ4Moy5wH?4^(J9@;n;=2L{7(>2C|Dp>gvIimegr`ps<&13T2%ZP6=vmYh=tlj zC`nGgK7UovQ|zM0J%j9e91`?fhK+h8kKu=UPC01|M=WvvQx7*MF}IoHX_t@{?Go8j zBI)$#`6r==o_B`n+&Xl@zmyOxe&^JWe;xh4PD&8vc7_3DB{cp>fyP460c`_vMvVpQtr3Xe6fWR$GxI|+cDtS6typ2YV4sT#W?esz8vh(x}W}RM;w%C~$rOSCH zx`dpIN?oZ1!M&c#S;j9`^OlpAW5H?eFgJ?7NRFrVcj8=WNQAmQmBNEm3X$12xy;TX-@#YHj%KH;<$1KCsmzzKgv;Oqgpj2*GV#c;BF`SOCV}oFQ2cP`ovlWBsPVXMroH1ot z4PIF3PKJDv{3=~dmFgS#+$H&Ie)LEV^S#;5ycvZl5)O;#!w;>~1<%u+CT{W5UeJ@z z{=ojXS^IyJ+J6om%=7!hx(oC8aSKE*GR!YZ^CFQCS(JilF`^W?igXhJ*im#Ju!!qi zYv&4M<$iUHF6{+sH^?tzz{Yk(5>a@lL6})*FSJav6_hg$#+$m2dv(nmUjK>`b{rT`>IpZ7@404HOJ^5@wf z@UMIScU<{*CCcy|wbk-zPtDPJx6U1f$7!gY)e^eWX@;KvhJM9fOb)IvwyX;V!e*Bq z)i-w5u)qy(fVEKjkfUDjc~+Onr(jfX&C=CqdROG(pmXcZ#A!y$hmeri?++0XpG>>p z=}D%G>DS-dYw}TOGxz?CHjnL0o0FRin00YtAQ3w1p^SFEyD1YkLAMLn={!ND5^g;* zeNye;9A|LoV~k8@j3dlsu~14|bh%@(=xhC=KBsj)(E@8R7{(L_E#e}f)bl5izY)$z zc)^^%k)xn*%Sr!S`2t3D4!?x^BdKVxdMn(DFNORfESd=2SEgK>@VFWGIZngK!KLX_ z{0eM34eWT-j4KXH1a7z;y$F4$hl?jp#!_175BFr?a6uvyhv1x4`UdLyK%h*sb>CCA z5}}8iGTIuOrL7b`3Dms~0Z2YcO;5)A^~GgR3SjFpnIx2@u`Gba(BM(YwL3i>sJp-b zHsjB#COjs7r6F^WDU1@Rm7pAsLlI|L{OEWoe4$9#WUDuc?KSsQEmZ13McByl>S%mC zRL0QcHJ4H;!t(;#T^^0Y7eKxV$Q~iLKn2PP-NJdIjaeu{m+eV}eQJ$D~$ z&Ybsry-xJ1Uc{;pYWWEvol@`BN!qF%pYvNk?tN|Srv>Gw*!Q~!>P{7BCRB70j!{mD z{*iP@8wPZMuSJssTQvD&_(y;dScc-^>JiATZt~ZH5^+=)8FY)wM9UFPPnlW2jHD9R z*Ck1#)(1)b^{1Np&|cNFGsfp?lKL}DH}E~6TaPWpvNOc2$>f8?$Aa`m67f4Yq)9@l z^l<5b*+{7Iv3qOR5H)hc(QF;(OW&!JiBlz$5pRsdze}_v4qUi1ClgrqG&5(62HCo) zDUN_e}OtwRKWIWK;n z@7%8qluHA6wT{CSQCS4qCU=B7wDE`gtp9vAv;mYtAAYDy{Q*^QkK~p7(4WpUKNa|X z>Vju3H3}nwSA|Ext3}eONWfilD9CgMMRRTt{;R;ZjGT>GrW)KrAVun4fV$3EI-)Xv z<^~4lGXLv5gA)7zw9uo0`7~Y~m=tzZe4zL_#dZxf_I-~)opI@P>YB#$7>1Z%3F#e5 za5WiL=?v4GBg1RZwOYMx8z4zvBpjZtXPM``uAUw!1&hvirasC6KI3T;dH~)iM5WWb zc`+FQ_r^u2TfR3`F->;73cDFJy|bZcIJuBFksBFlU0i>BPO^m((lxn^ zu1t*2Imzwu+^z}5?WRD0JFPj#YcJW0&)X$idAoUvy=D@E+Uv^e)LsXLVDrr~BbN`D zlO<{GcnHcVu8Bi;{|z-iP8d=yaz6ePEhXqwLU1<-&P4b=Mmk9p!XQ84)jaRj^L&Li zqxcEpfs7D&K;dTokf86&Hpr#U@i`xWtVEq*fAM8U(_axsmKqd1m`~X2Rp$k2mr?GZ z5v%y0h(--th8_tz_sZ!A^myn*2|K&BMZKb7=uZ-Uq_BP(Ms^Yy5AF49g9uSJ1hnTT zq!Ba~-pi=U<-rG>Gn8Oq7~n5zUi4AMC*YE1%~w**<5wIN7%FUR%s-y-TR>Dq?ekJJ zQ>_VFg(jX4;CPaOomlZKmnNfBu=unZkikj1;C4eIel?SOIlDe>3Bm@AOadNtj_5b( zzMjfTqfvRzpz8^rM=D#BnySPNfl2x&32`2WlL!@*cry^A0qL0i{pzf3`IaOql(uer zI|_Py)JhyWZEpIKgoR0UUL%JN>|H%6i@TjUY>?9;ILhz1?8kJ~jqXt16T$8#Dn_gtpsHjoVrqyaxRMdpV z3L2ORGEN3*#fpj=w~8%Q+ESnuX&{kBTtHjJr5fvYhqz#=%BK0>_dDm@duK8UiPq=& z|L4#1z+L7n-}(0MJIm$S_3bl^z3fBL*S511^6!)1QSSGy7vHSod7&XqDF?JFb0&>k zWZN+~+gWcYp+$ZpMKVht07qb~OEg+Spik@W+S$IDGZiu!5Zk8a17?Ds!AE;zCXmi{ zr7zcd1z8=e3$dlJ3f}g6nhnsFuS#>aVG7#VCAyXYfUlhKuagFPLCb6$-L>!iqw`98>Pby{A8Yal1hEQ&wM%xZNjY^WpvY&iN= zvY}bkq}fnWMC{zx_bMeSuV5G_YUlFhYfZCu{*afSo0UC|isqE*V78 ztq5Sc^G+RXHm}IXm276Dh<-YS&Ab|1;QP9F>qJnZaO)dhS~d?YD5m{ktr})QyZN{h zauix|?oB_3xex$5(Fd$^irBuwE0(FXh9y3aqYssTSFEAo0*ER6W!Cc_I!W`F2n8CU z2=I>$lDhn(nrq?}!sLALisCPM0Vtv7B#9%;)r2)81ig+gfqQuw=Sy%FL!y1HJANRV zcFR7R$L<=$4*Wbu5QtZH54;jG@>qecP`rN+E9|Q)Y?j>*JMF=2RKUu7wNU|jGbCa# zZ9RsZKGeU^h#17kF{fB+wgkJ$$Wh>6S?HoyYs=b}W7f`6w8M`Q&^Uh+@uHqYJM|nb zYL&1)7+F^OlD!j!H(aI#^t?S6p~Wl zHc(T?%0*fh0KRjeRMw6qJl4Dy4^9yPbZ!=Ly893np%R6UG`Iq=B|+-8Lvq0nG-oybd6+Nd<6P{IPf8bS&KP>)*3bm ziRS~oj&QP5+uN{_pdC(5a40%ZLv}#Z9 z#?w-jVV9+zZaFdNIq3-?YIFI61r$*IGtD`R)12#SiP@8&b1P}?G<1xxl(CD~5 zBz-V$FQK+~8G~Vsc`zQuS&nEo<8fZ|_L4osvbYPOqU=Ly&C0s)?ehoge2PMTH z!kT0GbyeXfyqAIrb^^mUQD`L=X-6W}SgjLk$WQO`Cp00iB3t@fcWmU3kuAB_9r6`V zF(RU#(!Iqnyu~{476%p(Q1%NISI@!W0S*?eiF_z7eoh&_yBWd<4?)k_Iu+Qc^EFZZ z*{PHq^RO+RF~|~dwUP+PgH{qjc}UTA)u(3Ab}GlbQ0LF1I(0rWbImVQ>0-|)a)e=9naZy&(DW!>>}wjbFtz>4mze&0=fEMg4j+c;Iwa3o5Eb%YXz zqF6#I1F~jbyHi>Jkpig`Xhu_XQdv(Qmq}%vd&Rd(I`r#!?|n_bRLQ zc`76=UXVwjMr6BHySuy9+l`=bHVNd8slvYS>D$){exuw1l>CuG?Vh*pi{CzO9s`?d*M5W>WBTT=nVew6_X}9Se_3HV(!QDJ|}q`FMX09_~sPu#bg3r zUHcW`h8_{>ZV%!kDpr=Ou!k@r(%$Gp28`xN) zi-|s|W?Vw-guMxMoe6T11-Ec;XZI+ZJIf=_LV;pB0eQ0k8bpf=6*#)Gb24ilDK(iO zP@B7%a!US%L*Au*3G!4m44^U$tki@4D>%7?zKYP-oZ2PiQpE@P-%-!`({IU5vg*#= zT%J6J{b#lRg<#8HN__MKTb;N!i33LOgTCHkA}`K9K3*$wb>$m6dPDnBaWWV_uIQ zC1Mb`sLJzDAJopJf5uM4^N2n|?qfPBLsp(VLBQmS;^HR>*IjZ*`@LHgE! zx5)zlcaD{YHRH-B7u52HSyz8{2p^0xno_TWB%hrIGDw}x0 zO|@dSzE_diT$sRFswN7dcD>Zr0m2MY~)+09V^61iDN#yvJl`>!KmCHd9+C? zXlttg(E)-9P)eM>&%)->`2ix2g$_;D6LpcTz`!KjC9lVSvz&*x8&IPjjjBIS|Em2+ zCsaZ2Zp1pbdi*ZYJg?BT#1;Q|KS$jHHxw{vmX)wX*^u9vkNGya>#6SjwowZZX7HS- zfD+z8<|KJ3ia_Tw5!guNB3bRisiX9Pfg5B7meGxfAvKv2{J|8%h!%VR0=hf#2bJL0 zLGaCK!gg2j##sCDdf;h-RkM6sjcL zp}(H}p#1L%Cb#1g=o4hlH)NE5X`l!6?^G@W{qH5@KKdUspvUx|c8f>M;(8(w3ZGVse<_9l${2`+GG-j2)(;g9h<0XxHOs*O2`T`XHfU*a z8|O}@+o+Xp2&&_puy*}6*88YkAsr}fFTs=1_UM_)`hGdvfSE4uGgu*^HlTxv$@@ot zgK+tx8QL?e5Or3HTcpwbzgmtKsA6;8#8;I- zBF`fgKMeR=t8uw;iWAHggFQ$;_Sz_Qy(orUybXPAwyUD>s;j&XS(ra(^AsxocHL>a#Q*C0a6w*uN z7zhTn-sh=8X(Gm7<9TQFGuW32aWri5kqRepM~EU4V9zNo0i35j0_39wMSwldGXyXb z;z=H3N}r%QoedAE@63iH{_e8je4VEi6z=g$qEOSqgl&7_L^c;~O&V?BIr=+^!rMk` zw4HQIPtXSN$g7|KMius>4NWS|1i4@)RH1F3U3-kSw{CXP_Q$_@X!~ctpzY0Z8PSFz z$zKZp&e6g5ap!6Nbx?*fzeShkeHNT9{!#4f)QwUUat}mq;*VtNwm&P33o}y$G}AU= zxeA$CULjvH&-GOxQfu4s!kTihtODFB(%`_ z#<}DdinHWZWczM4C)@GA$v8T&SYF-9DvrWMZ*ke>WJ03WhvLiAUeka{1_mA(M-Lij z$}zQYeLt4bqP>8?Ven-fP>92*qp;1;FxSh^TJ_;aG({IYQMlu7o$kN!W*;k8i9ji} zo9B13!LMZHLuRYORnP$Dh-mbzSUIFv*;OGjV(4v<#3bs8D?H57KnI-0YEK%2GSdJXo}RtG&$yZq$_S4?hS?1{-tw7|xL&cd@giOFQ2 z(|m&O{xb=#n2x-R`C}wZ6-O|HTc|i!$8gS~T5@{fK35$8^15f-$qL{b!EMP$(EuRy z{rTh(xi0EAl@ELLY=|WHA2I$N)=Xwry_)6bN-+7Ju{C9=l2>p8Xol5;?=3)EhDl51 zCsBWU5=78Ka#KJ>2=K1bpZ9bwxrtbjSYOWpW#>s6X6rSm1#Se+krPvl@`ir`NHfaU zzw#IbKLai^`vbsWpXX{Qp)E!bK>v$}B%dbyJ%KXLRcIo|Q218#3>hVv7(<@JrepJq zo8(INmZ*NXv~VNRH0OZ%MwWOB=Jn=mR3(Stv&Z(}S5PN=3TM?zhUVcFgZG8nLf23- zXX^~hI0ECHL4?(OP&a@k%Q^4}rfF)pI%k~P!wRAJr%W4fCU~L<+^VMWf7(}n61211 zrAr_{4MvNI8Bx&55mcIuJQ^5~c^wC!MB0s4Pe3kDCv4{H2|vjym|^Q7sIfC)(=dy4 z@=>GscbVDceXLut6M8lRx?3@!aMBw71c2mKWJ|tv$7JemCcYcSlUk@YgTQu9#K>zQ z*-#ejl!%$fYS85iG-!4dg$GO7`hHS-eshh&58Ld}tq zka^&D=?5lx6ZzmOGaaoHGNR}pLM6^5u?&*rz}6DX2GyQRJ)tC0T7Lgnwa^}XrS`2P zsN~Zyvub1z1I}^|b(@2Rt0IP`wo(tYv?r1Ac|qx;{F($YEO-E6f-I(-#M0{(&320X zXNlfUbL9$eX49sb$0}U$q&c)_uI`LV`mJzp(SDfhM@~V`6|>WK!uJgA9e;#QjRGCO z%F)!FkuAH`9^mT2_&lKyS8>Q)@&bi9tL80~3|i3%m={VeX8qiQiTLD_9n#hk-xSh* zY6@u!vRW+S)7PVlXJ}>pRapB^TTp^N6IC+*cu&H}J=ll7lpTZe`+@@N%Q?%8(N_G1 z9R{^UT{bbbl|A49a$i&1=5fYbn*+E9aE!Pr9Q-AI*alS4d{J;61=d||fh}NtA+Vez z4TWhk7N8}!o}fy8|gWXI^hk`PGB$aE$YPp2l!7pwZ+|H4XL>VrXYBe;zl=oD>KpcP-SA*GZB9{W# ziR1!>M!orkc3T)CvNd2eaKcROiWV;d#Chc!)?`*0G!FWQ!e(IVNN=c25qkQ!v{|zR zKq~yBf37+%V!%6v%2D!#J6Fr#s zImy0$r_ZN9qQ!OWN6&xS+TRP1r=d0qaOEHGi_AUvQcX5Ph1?+Di~zA%!EmJGS%Jf@ z1|uit%7%3t24aTylf|E)GUOH3Ls)mbB)h_~y5f$R;!4nlb3Fqa5CfEEsmyD!;W;eW z$&5^t{>(Z>y<9L+xP5QWhAWUrd1b@zI3?Yfs77eR^}0E5HrU*Ac7x6vx3SVfjTkYu zuRYw^jH{OPyh@$Grp5?dzVgU)bo`IjXhh@Q%(zB&a*`0&k zt@5B3odNAl@*FL;dF3*qhC%YiTZ1?09pBnHz4JQK5 zCuI)=*Z-&!ENDDHbTw|e>rlCZXM|l)eeT|1!(v6w!${w0RcYd4o~Z|w3bWFvPghoH zgCby4r45X<`O*g4gh@;=tMgm&yggG9v5ts?_eRmpfQY*WxT%L@T{>fEhrse2tWmVO5$MJWaCO5<56g}G|s zU!t()HHCO*?Un3Ww4Oc+J_zoFBUKH3V6V!?N^~%oSyJGxk$8u%A=?tQu!gd*=%_$H z1f43GXYrN+C}uai@!h7xqYyO#dx`V9q?V4sv4~)nv}cQgX=bnSypJ}g@R+>qn#Ts8 z?#ja3k9o52Fd9)xArNwT%$V5;kOp(V7w@x^N&4}9lCQzqCht>1Jx3=RIsFuv?OldvzMkC*?HbizvEA6 zLtbGioE7cMAHnSM2JNi&3Qy7PRPj}Ja!@J-)Y0wUSqu}UrA~5S=?^orQ`H$&{NR%n zN5P4N%SI4Y^=>7gMrLVJB;fjofAFm&V2pgU)}#gjnPQqZK2Kp9dD}J9EIh+ynkOFd znC31tqL}8D6FsKslU$=10&6-~U_~1AC^F6aaiZGQQbXZmxJv3b&2FaIES%Pyu|yvVq3}&@aBvH&M=wmfV;xdtFnT; z#3v9e(8)`v%FWw|w)J>Xx7R2DzY{LDmTqIck1G z?-yN_m9Ga`X$C1x#Ph}hKA$_J8t!tCZ=dT9@~8*BL0ax0FD}nGNOZ3My!cP8zgqfZ z#C;p>$j2Zr(*hDuJ&(dzYFLIGb_gp=ZRWzOhP_ND6z~hjaJw{wvBWOlIOSlbjZiq7 z7}TGvJHU=C57-?mOrgnd;t;eM1Olfo<1^TZnSpD)SPkEw+-OqZF!5|A#Q)$(hndmf zp-kr-!jVauTRIyL<^`}d2ioyIfDs`amJAQjon%WVNv`jW^=bbX%<|#5W$&HFUoPWE z5*;dI<~qU$kqFx5%Wptl;y2BF5!09H$|gvu7U$nsy>9jQ+DnWoZqmW@6>OCA@olWW zN@+{n%6$;pPVQYb1AT=1P5j;HA5rtvKm5fgwF2jev0zissfYzZ8m*{=XfM)3HJjTa z0&4vCGN72s$q)OIfq;4=r+LrTrf&kmkn&Hh#G%x~K)bCDft!Q|!|@y(@CAzC416Z) zD%pETamks|;mrkVQ7XR{Z>Cna+p(o;S^;Mp(~2}&ym_1C5mOesF*sGA;*NUZ$V{F2Ia=!#5gHlF5Il6Ybp^ zb2YWK4ec`y-1|aTj@s|@AgTrSNyKg?_BU01qU)&B;uJQKAlnK*$Pir6y7%YFo6=u9j?wz7 z#9CB1_MH>6c+e@1JS{v~?sIDMpbAP_oYvp6)0KIL;&rw&{f6}&&L3Of?Ql+b!GukB;Uen^QaqrqvfwE;jv zzBJ|cJ@Il*UZ>S8cst_P{1(py>K@lm-EHGbz^b$<2PJW`HG=Q?bxp6Zfe)M`X=Ck- z)%;ABbp=sVHAm&=d~>ft0C+B?@KEJ0k~&fY_$yP)Jo!FFrvjxRBdta5vhTIpn`*zy z1Fw@kn17VUpG^sZS`nSMuN{Y_Yp>~tg~!#9JAC;K=!M0ACz}5HdWhW^09=7YtN&V#3UDK^y?4Vm5I_1X#E9Y^kj-oR0a<0X1+xk=@K zcoT`8#sQ0N$;1K81?sJz1M(fk0o2XhF@*E(r7dU3x!9Al?A>of6M@*;YryCMhcF5D z1-;y9JVSRjo>b^xcrXL>by3BskX6H};NO22b%y?ok9y9(esKcTJ#hjX;9wf0{mAy7 zJa$)}2Z^Z)UU{X@h7R-S3Eu~b1#~NdyAH9S?3FuHeohpEcQCEE+Fst=$A0?nm)`O8 z)t{Z6Wm`{euwxsP0MR)b1*L+|n5wCMN=p$N5(?nIpmPb6W#DtLE1T?SHl0kqk6en~ zC;T{PpLVKy^_LFs>6Svx{?RaM)JC8zU8zF=7*FpxpAdaLQ+D;++@u@x`6UHpn0~e4R zPlr{4z|~RoDk*w(6!=Q!*MCBTl`ZG?cE(3{^zJ2pK=+kt9qQq`yY@5jQJzoaQ;`9B^ls)_PrL zeUsls`&Kljn=Vxzn)*n>wd^&>UY%+8sJ@^%jn8o^K}jh;)GL2B%5%Pp69u(2{2}Ur zB5H&XbwdWnVuA56+>^5~=iZh7+NFH<-kt!LCEqi@_OAWj^Q-+m!~cD^U-Ui0|9#{C z`-Z=F?f0I4dS}o6FSD1jV>R6$>_$I8-a|d-H?jAS@z*;%W4-<<^;Swf zlaEO8O1yLgJg#a4i0N6161+xalk)mMR&aPJ{LkD2wcmSv*Sq$6Z!e8L?HPW055H-j zvP$9ZR$uqM#Fe}DUg+yKe2-EyhFi@WkCNB74(v*w-mifQ(27uSbxd;m^vt?Pw3TeW zNY6P2Zp&Olw3X7MY5MI|>7$3*>U@6;kv_g12Xv*6ev?tJ)EK?OQ9IX)W=_>(a%6HR zJyx7j?^x8!tcBQ?OhBAVN9=gwu-ilvv0@~(K=HT7+4!V`M#{IjJ zxAKhgwvUk;j@tQVhJwRy|C1UWseS{G4;S4j^;V+ZPUP(lY34@A+F0$REtZ(&vYMO8J9g- zU4}H@gf4^Ym-KwjwjBv+S66oHG8o+lW^?u6QNH^;-~D?=5B7+kdKIAyw`KGKQ)rkm0p)0(onR zkA^>{cNBtmBs468cSIW2Vx0|vRuk$nl*VH~u$1MADGMS&(TSA*?BqGT^ht_l$WHF5 z$czD~zjS)<2$J4d@3iBuYVFfN+;5WmoZ9Rb=lQ8>-P2ommF?WJyVJ2UZyoM)I^{1E z|I9b-E%dcF&uee8Zf~}rtz?j%iN1>%vkP-xbylr!sqyZBU6q_v965>H<4E=!z!LlD5zz$FToJY$w6-ZDUS zU(o)bu_hH{m%hm(aH-$EyF2)SX7K%GC1Zxc{}!rhV-r%<{HG`j;-`(Ja{4+r9e$XJ)NpKtCMsS3XTUmC+rCg%B zy5g)v;WNkYCOiYI-_VrrQsAWJ8VEbV_z`p|a8?K{WG${a%tVXRx3?B#O*^ zGuL_}|A9O5$9L^+$J|Ms+#c5kl;Yv%wzt^Y}XvEw(`?y#)TUe&BPSA0*q8@U=`E?mk%ZutPu?tQijB zQJLXC$*OQ>nDHebvmsL!Yk$zoV30(E%wlHzB#f%I-P*B~f_U1$$#0@KPY) zXo^!@Q$JA5fm|b3&OsZLaOrs!m)=#g$V40U9oFYgUb*4~dAXXcLgx6m`NeH~A9LJe zd9d#R>uJ|+s`j@Xg&dkDjnBRE{yOGSHtJM>KV7I)~LC{IDg14K*Qx0YU# znpZ=a&ez*z%qmVGqXPX3Rx0HNgIT~AiNfRud)$%MTY2&Sn5`zZ1QU*O@fryf;4#$TPu=9f)K)<(+ zN1D~MKDGo22#LaD7aWRlq@4D17tGagYtg^@6+>kbGTVrN4eS@nz zJMj!Fr=27rBFmE$;6&gHf`xzkM;@30*hW(}ML6J`pG)C_XG?NJ!lVl6A>NfNMAger zgU;_qqimvZ;gbh~)rO*syF}S22ehJk_Jm9ea?;6! zDvC@YRtqTaP>e?|4}wS({^8<+3}iwzT1-PQA(LqHB4_@U>10xjsL#S7!a$>wT^gm+ zXJ{YN2Ql2~^SyX(xZF!Tw*%)IaUaX!c$Muu`PPOG=ZQW}hco-J*E*c*9)BM}*dF-F zgm<0kpQGsyW0Y}!2<%FT zwPVCuG$b?w=Sp4xJ(}vUgBnzu5iCAW$4|b2zli8B5&FsTjcWf0G&Gpi%^xkR?k0bf zBN+{NA6e`UCYIKzQEGHQGwaWHdVsrHyk-|@u_EjHZS>8wvK&?-SqJd z&Hj$`*?w;Z`ke9$wVx~KQ#Xmi;C-FxbHXA;AG4ohu%R`-pmrS&A@k`uh>VX?*v|1v z=kbis(&MR4;kSwI1`4oQ9T7p*Q_max@jjDEB4sCfo0o!_hI;(PnOHHetn=ojv;Ja+ zio_DOuHf7n(Z|kV2Vv{VrJr%E6KFqpSQxZ>B{eTZe*(QG?Xo}(r^$D93lQ-aH4glr zPTz3H%kF+#pZxt#@R3CgoGzL}#%IFEU-s>ckKqfuz{h?+06vbA55)Wr@qzua?)ksp z04dxr>yY>e7UvDq+*g@zws!wKyqz|j*YQY^94rwBiRyzDa!hmrlwa{kG$Bb(!0V_*|7j1^sn z-|WOCMdw^q;5>4z`(d8n%j?2nKhhQmTnjm2E(dqE*bXPRFYOEUOe(?R-bUb{b6tQ# zq|=TuPE?+|upioi>N7_;U{f?5X}v)=d^*sn=|MB&q; zdFlo*;5jZB26FKr2MVkj37F*?8tSe8G6ayZI1-|cMVZJ*0hj#Rm4B(pbfkF z7Ue9*PJ?aIv5XZo4V@9F-4)Z!a`Jt3otN+(6|4U&=PMo-sHq#EQOZ?V4XVaHtql8?IohQ}D_yMZLtxp+hJ!=V($rH}5+ zC`5Ij396F8sruPOo^%tP%UJ@<$qsBFM*@_otpr2cloWW4e7&|UvwYo+$+@mjrMo{o zj+6H7*briP6M>E~QpX66;?}W*5g~67Em#2JAA~945{Tn?fQ7V>aU2vfLjZK*`}4-5 z;;VcPh36H7JO`z7D2z8%Yy|uo|0-Q6I<|vNz7Qc;L&_2EAYeK?FXCMpl0GAUXOccr z0^%mqkn~GX0S-8W2He4KV0a&C4Kagze_$V=2t-a4zI=g~>iO~sljK_ZmG(&5pO8^{ z<4Z(~IRl_stavNN$@~ceS4PG~ydnat4FFMmi5;j5bvR2U$h1e|m}e#`lP-pyCVR(% z4ML70S}=@6Vh6qPAI57Pkpuz=Bjd`L851%1C5!#R!dH+^O19Qh166Pf;%Mb%%jC*Z z(ZiTrK@bWkDj9mulV){#VSzm8Gz0XTMA_vnxB3P$SASm;TN;62o+ipd;qqoHavq!4 z2NuWSIFkKL?30gin?snvfzE@-qd|Ux(D$RJZu_YHpo6W3diI_uEdEy?MHm1uM*tFi zZ1Ox{24{W8ORPQ0Wr!*U$a2uYNqko)ghhR65>yX3%f4t6PO2hifOE{~G5P?OaU%3` z92?M_Tn%M1b=xNw?sH-74S?f>ll4b4yM|+o3kQNp7ldQ%Sgx9*sQH10MvuUN6Lc(0 zbjT5(dUBxs)v4QlebA(+)o>!IiSI8=-6>sqET(Y(4V*h;cITCWdcsr zd>NUq>7q2|yY;k&9*`0IRSf1S!rnN^v0VsDpgr^IqSWJvliHIJj z5)tMO5``Dut4?Yz@+_=#$m<-Rs2!b#!$TQ8fM&vwC_K2;BqdCmj_mpO&7ft1iY}#l z=Og$kR)1$5&h5cL4B5#Oq07+@|5Egk?|jhN_<*VCBRL-w0xG9S!M>F+fWjZ`NU86> z%y%F1-P`7#x@$kBn8ym5xSq(}j|fF__=ffS$>*g`*)@L`q`xKDm;&cE7^)h3h2^&I5E zeZ^-OV9^vZwG@LoQ|D5BBZ+>KXw_maph4>doobo&FbYXk`8%sba)se0o{8+K=%-JQ zWUtJzt_l@oL8ZG&#EMSUHDK)YKv;zjG7$E}2N?(+3Y_)Qm~<=CM}-ydYVmt~UxgEh zA1Bs}(6W-gx%!xYT2OCVqPVrg~x!W zYBi<*b16FJTw1AZUpY;qVUzz~Ev7dczM{j+#^SOZ@QX`2&1tjP3B%`o6$f zbQzT%8u#?vMjYHXY>l#ogoWI)PG7|~LI+Y`(KObaKqz-A30?6a*kU3ZSi&*lkN3@T zhxs6v%@7^yWFa;bv04;c283|F(5j}coYs9@{@n&o_u_nV?LRpI5@{Ayt@Ifm z0f|mZ%C8UyJxe2xrF@*le&jL4#~JcyPJCw@6?|RK*YK|AU^M9SgZ}6fJ z7G@`8Y>B-3&b4Rj+At%|`X8m#E;6;7WEgo5|AV$SrEh=jJ5y@|O{#BkRuXxabzl43 z)Y>6aTM(VdTX}4!ar^t;C$%<^ulg3cB=Tl-U;FhVQpR0nYS*iApVoct`*iIMEG_+} z9mS`}r?ruyExi(usZI#X;N>&z=8q9HF-1gc*sI8huO!{kw=Jv*jnmU92OKG1D!guI+=^NvF!HG;2zAD zw4c%C@YQKVfg{x>9D4n%aE5Yxh7QYU_OYG3d} zC@JAFbHs4juipnvT>Y9TJhd;44rB`UtCIi03mC;zBAg26-XWkMcqIe~fHp7(qQG0B zdq3Y_`E-uG2Wd>>ELu;F%UrbrNJjDHa)Et@74%I~?e%Bl51QPQ^QWY;aa!x6JycOJ z*)B{FeZsU0VM-Lf^e3+suq+^OCS+*EXi5yMQ%g$^la`*{yC@Ay91s8yxfXXogj#zS zMb4PGUA|f*jdCI1v;&Q*j{}mNV z+WK27S|e}G`c13hLOvr=3JR#0G^E)&!%17mAPw*NdNdop?)u5&IS`bQLUhFPbWcB~ z3XR{0*Eo`orxmUjo!YaVWvxhYQzulAl`6fi6VfPV0(!i67rSpup{3!rSKu1L$!^$1 zcY=V@v$2;06b}ITc!Gy&wQcX55XLSP&|_EI_HM-Mu~^Q4v8!!+JsbP#ue}ayQn&5h z2z-pKB<`gnS%Z&PBP+RP0`%+Ih_3K=(Cr$0Ouy;9#n2DFZF}B(?+zsfFb~it`59&? zQ{Fe=1>RS41xV^&y1p6zf#zq>3hEK@1O&KPqQol*#{RP& z$zhy)22Mq?5Uca!SHmq^8{cS`KYL>_z$_6zYC~*u~B%aaJGs2akw89dpY*n`p*cL6`hIp{IGon*sMqc-umEsMZ-5C9?E5cCLDWJkLyH# zT^W}jo2FjBQ87E$bZ!UQ|La_h4;@;%_QyxQ@@u;4#{$1opbZ=w~M zU1Y3=K=ll$qZuYgjc)_7Jg3m2w~4Yp7Y&>a#=IDenLdqdmMXb{$0-=ryeCZHA?sTt z>R_4~u%ZcOckrJt-UuwCznC%J;54GtNE9BqoBo~}BMoVoVTKY9N^HVQln0%LAE+j) zDf<&Ct92B83=Lb8;ruEW>OLaJ9g~iZRB*4OBZ)@|trICit{!-!JArE$*HO5Ri;+5< zQBj+k00#>Uk@);N&N-oP{8#|(S%Jx@0-nqno3BzcU2(?L)@DFv4gyVL+g=Bfy2UbYL-0KH2FS|XzbxN7h-#RTIwr|v+O(q9dX?}s^2 zIv8Nq<$1XDn45?=a8nj08^KKqjj|L$bJJd(xXBFwn3_awo&`A=fgQdxNj|E2+~cE4 zop9%=jE0Y@)A*?Q>2CN4)nH4}>c;*le1wKO@sWa^;p&Nk8j%V13{--n=;!(PsODH5 z%4kLhdu#4dVW1O*lTL=b?aN79ZlE*4<>k0X0r^YOFJ?Y>@xL^^saH7r zPozzjKpux%b$BJdT;t5i* z##b@3a5+;?QE@}^0|+cwz_M+X3phk2YLW58cDzkuoOIIkHgzd!|U1N|N zHR$RNW;?FYW-Y!LC&a&3bU8I!34|q><b$d)WPqB>wkUqKY)6MGM~a^-Q)TUtTGo|ANbmJEc>%fkt3bDrH!m*aq5lZ0{11N8`e~R42DNHl9He2j*7-BgOzrf6qXT(G! z4{Azm_drQ!;F`=!~}_~b{h z5lEb%g`I4sYWz|(o{3)|i4~AQTGVm4=4(l%MWv(;bl%`Rwg*)Kpc-VLO5&@t6h(X- z>2GLXuvI14y3EB^s`}zrZuCAXT!|VFTfPBpv=ZvHay^&HAVj=xgR9y27E>3)snWx_ zOopRY+F(>c^cO{cGN^{kgQ^0mFQZ$c$iyBa%|Nw}jvKAU%ju$IM7KYGf_SG*$2*H( z*8XpkP+uuvcCt-jrF-wVe3!dsGPC+%+!1pUUR1jyYcoz+) z#VLC3A?VDJ`4%{YHYkYDg!N(jC^9K=%5cI~glHqaa2z>hce_t?CYd>3DP1alEUl;WXmuRaxMs zptB*UngrFl4l;$YFp_S9%r;90nPEf(8{j7?%!7u+dV1LT6lu8L7itP+B>tmtLshll zO-A}2_fjf-S4&l)@ALZBM_;&^y{7Ne8@r%yJcDF*OW*zP?j3z^{(VpA``Gqg(09vj zJEyM|eGF(KdAq0a4(#F&YuSMjX+|X&5N6N9u}$kgJUyNxS>5v_`&p;5x{h7`^^GU$ zWLa!1UNRq86i?b6&tgt`O8%Jme(E81brG0`rK-iuUzU9IiKZO?0d6}8qV1B6jpM@YQnENzHDwM@3oEC)X6?wEt|6|Dm3=`bgLPGRuS3vz(jpnYb>Kv7!vI(!cPrEh+qu zhCAsu1wQrLmj0^AD(bgt+9xDlIwfP<1@>{w4hxWGRHBDXVuogFYd zA#et#6vp8mM(_w_$rEff#U2>VD_P{aIE3Q`gTfmx(n10+Q-t8^T-=dOVpj*i2SQ~s z=n>)r8qVMtb3X!$0y>PV0*pYm0RQ+o#@QX;I>ho-XkC6~!AQ}rT8fI56nXLkf5-6e zsx?0T&CIdip4%!g<2M7JCD!Qoxb59~*+z|lH!W_X%qPUBfZ?!4N9Icmv*8Paa5X!Qg%S9ktVpvU>kF0jj`#WQ`*g3hT zoyh9!_CGtn!D@8HdKddxZwFY8?6{9lfoJ5uQ&)YD{I?F1W&bn&JN%B`@n7PRp77t| z&As5ie%vVsd;CA*zy6rQN$0;brPp)*gR4fY6p2ftBSz5JCK<@Vkj$&S$5bzg>V5(6`n}>7O%F#^=kil<4~+>>z%{@~j^u7J~~ zxk3V^AZZM@aqD&{xIDB;ekowRoB+$Cp;!D|ZiXa(8$wFn~(DnVu%2wns*6>yofal%0 z@;>}2l8ae8bVGkoPd_O~j}P)ooBpK$`(=sG$@JazrbW0A8~C%e*vv}2hwo3naXD0{ z!}pOb*;d0;x?Bh?tm(JoESWhs+{jt&F7DPiJTN@?~U8PVI2jUA9ytJqgEj@x>$0=Ekqd!r_pGEBjKp zGQc3`!+#;yBNA%HrA3+sYeP!QW+n+*( z+}bBtZPL}M%3NJ#(l|T9;*ssU*3MAxawe7IU4ZW}?Ihbyxd41ipGo`SeZFZLNolw@ zEBp3K@}r1O6V{qz+t@wo@@sX8t4mZ}rl`v#b-7M1_SAoWgZcO5Gf)Z6c=gM4Ws{Kcs{zhXL)ZHx z!&9dBG=AD**8e=M`H6~*>2~rH4l%9Yj_G(=X3RtIBUtIt5EivqQDVn!9KwLrxJY$a z)7Kyei-kXN9F-;SZJf=(R5HL0p#&5aLLO`Sea!M3wO}=5Nn1v(Vn{Kpio}wLc&HQ; zI%TYlCJ-c1%1ItH@hlb1V4{Q8UHBig3%9IwX$B3jV_Xavir0Vn6Du!I`zO=MejCS5??G#F|X%azUm+k8I4*j%iOU}^BV z&bJ5Ibv6INO(q7tDx3pM2Ar0y+!N*pcH8pp0=U;**RREhVLh*}*X7sF*S;RWF` z@Z8NAx$NBB9&y>BDCXm`A4yx4z>dqYIo9;;^oztKbjh_i?ohaPjTC)0UyPa6@DAzP z15S;jnzF#o*|fllP@oRBwQzmvWo$N1xGF@F=!R5KpMl-CfLXrQYPhV+ zuCZ1~$q6cooNVE!S#bz`fXg#N@Pc3l44w)B*_cq#M}6O9nf4mQGTbfx~Kd;65-jo!pmp-;>bNzK{i?_${8UJ*obHH zd?3ib1VlUoY;=koieuQwRlI*?A#sYzTWTlTaTY%Xs^VH`3Q@Acbz7jPg?S>TxG>LP z={J>qYknel@0xKY9Vbi^T?>E4&ol^Z0>E$wmssT^T|8I7SB)p1#zGnAuwq4t_WPX! z<<==sZ+1xzL`A2cdf7)^cKlGt_k~SW zety7?p9x!V9k$cFXhj~Q0!R${4_EF(lz@83T|2DEFHr7$RSwjFxu~J;XB=PtiWRv+ zReRfx_rVct_1m$eaTHz&&*EM*hMdF(cU?|nvm+m5%Q2dTtVs%!b}-&x02pv6jtU%R zQo_|a;z!1B!Vg#Chxy7IgTGGik?R7Ma8$T9%XK-{6!5Kh4VZv$;@fPbD)oH*V6&+4 zmWyECUY=mgo628`g`?6F<5obxikuT?sce;W1jI^{%C?DLsq>-mcL1NUR;s^%0h+W)?c50Pg>cI*VR-1vvK>DS%3uUYeii&6L{oU{GYt#cp)qsXpJBWrhxz9ojCxr~`QS(2}e(8tHZGofRxiYu@S-rb#@Hpkm{}^9%|sS;0ypd!r}=);3CDrrLl&U>3);^zn22$6x=xFWB_`nEsn?5+l&fj$zhNqTwb z0W9A}1bDYx*pg2lsQ6;S0v%s~s8~0FMP-N5rIa8eX+`tMBe7gV#Ek?-1sk$6`bs^Z zV*xB3w^CaL8&;GW8v)0=YgNE;s17(vK$8i@mt7vak|!;W$Kn_rl-KNwp;y5wJ91bk z+A6_|08mjChZh*TG990q3`yvq7p~Rih0ge}G?zRqxN!w|f5fDHFc| zy+x5N!zYhB@tuO~tXoe9-wedRAh7F9AM**begOwM=UF>;i5{Dw00jR1{v$A2(z zw%YahhMM*vgqYwqx#t629;%t_@=pzLO(q8s!0Co}wtb?oiT5f{JqdjC1ZMmgs2&Ku z;g+dVhAP4}fDl|p2;qr3pU5ePI*^9>X)R$iyUbAX4v_7aWjdPu<3BXn+PTy~|9SX= zeKhgp`G3&%QM44)cr!}Vb)jD2S=geQaFzHC8kuG?WpC4}sARS9THbHs4gOeWi@Ied zZ19+vLkb*%dql$Tg_xeQqBBG>Z^^oai7G^=ZOEuviw>;cesb;cI1d3Y5$(0&r5)R1 zcRVM0un*Voxt47m^(TRXg|j1@aiaEkbRz!N5RquvrwOzIKYtstI~s!E{puBsABl;h z+X-)CFiOYk(}!U|L44=)-&ms)M!6>18?{ zBbu|CjE4Q|AG2$%`;art`(nH~&Fz>j@v6$t)rXy_th5P?0riTC-DF(2J^v){0R8*W zGBs?_dG`r+itw*}u90+Zgm(Ulqkmu+vXkFHrGii46=5@20};op0Jx6`NEA*zOe3!H zWi~|HDXA)jxWiE5WE79Pc6hlM4*ek9s^a()$;rAbmC0bIt*RF#&imww)V8UL(G< zYsfF)qfy2co-)41VJ~#?%&}J`C<%pJfGI&L<~7W2)jqh-;S z*RY9r>c)n80f%W~C{RLCXH7qe<*1lYHAF@ZIJZhmG@bPD{K+qUqyX4qkNnii)`cd*6xp7GTp79&gz+iFr)K_!c%Y3} zJc~WSv%_cDjEwd}=cjbP0D!S6_r^Ml0TwMW6Nj}AvOzIefDNk0v`#ykC|r85mZv*k z=t7=;d}1MB%cT9a9sJHpEbyTsDAXT?DxUY%dEZ%{T2FK3>4Gv(p6*A>N{PMq2s`bp z{huD_lPBk5^`wpzaLzPOjhyAkPLAM3``^X9@0(nYP~E(`5BEUv)*opHr1W`q3AZKr zCkFJ{(wcLcx@_K){dV%tpMO;QZxFMZ;tFfg0c5DNkS&4xi&c6&J)uf{%$3hma`6j_ zP5>UulefsP;JQ{DZot;8TlVFM5u0r7u%eHUx9+jO+DiGrJ0@dh2>+c2wm$`Ie=W2% z65u?RQJ<577fjLOBrx=VfG9cTO#W6Pn|kTh#SrU24up~c=SMK7E+6_~0Tigi3K1@c zUv8S4{6}v%IN0}kI^JJx5CD@Gim&bYYs$Z#|A@xVMD|-}LlDzbG+RHV8K*9Z4~H#> zUv;w1Xow1Gq726`z?jbphT~%}s#mQ@R0MnIW*bRUYthA7Fh)1-N-crvw=S1r@tcBn z`6_GL*;4=dfIWCsIQAU(LozPKHpmuigY08xZ{{&WFm$0YKpW6kfsW9L-bxvcpM_Ww zrav4z3u=*jrDK2+Z(!k34zVQk9L|($kW5o-H4t@uaykE1d-Xj2aL+z*K?aj5lj@kr~$7Q~yYjZb|KSo)B|HA`Q- zMzb^~G^txv)_-zwknwQ=U@h9i*;l4BgyNb)9B058ma!}6$5@4rnDr=ic?)a9#TmN* z&KS6}6a63Z=-(xYzsN-5*LzOl$2Ez^#I}tYydsP^W$-Eq@KdQgCbmfk9gbmBilj-d z2ccJ5)8ue3Izf^di1EfHwB*LFFBn7DapsZi2s70k$cJ;%hWRpnk$OyG=mspP!*B4@ z`Qd8DM6etzBb+Uz*@T}>vU|=ZwQU*Lq!@F1wD}p>q!w%NcFraphiNuBc2x?SkU4+@ zM&)3&3Mypbl|7wLV7{oMpdC_pB`;%t&N8elxB4f)=Cn)>R{w)&TzSKfZYHiU(8TJr&nkiw0vS5+-v#HI9QiH{eGE5w25-Q-lLfl-~~;U?|{tnpX)5 zK`4FBz-Crwc@B6Y|HIHd&n8-255UL}17qPW?JxBnx!vbuZJa z)u2`tSNg$1&!3Qc-K7iIi<(jZlUAJkRFhU%$IuD(KGyX6RRMQF1NOIb6Lpuc=XtPK zLg@ixgWKU_U1rTZi!C8<9a$Mtrj1fFnrGyw6WBQ00pnI_$LmT_5$bUQH7=$&$(*nw zYWa0I*34&{l8Xa#wvcia_F%CCw}k0G;iykar3k*LKbD6A=Ts-|ik!oK$&@hLgc`1* z6&L0%CD+?zbM!4j02ATmfQ=0`yXjFR=)ALB9ZH3!I5UbyD|mvTS> zIZE?jChywMgZI4!9!#71Y=tduh8(qj=!CJB9a1)0T~1P$JyAL&`R zJ!CrHUy3}=(DM_o-KXV|xe^A;LE#I0;0UOjD~F!botcEQ#ITlXzB)v9YAZ{(IKRX4 zcnfCdWA{s23ED_*PUXoCQ~u((aGD*Z(% zV(2m^*36EV$WMBV0^qDo5FjMi9e@VV6*_kX!7Xt1f1NC+&+~_bSCXJr^gFHSc2Yc1T_htgYoANq8HeRdJ93XSx&>zB1N^%-}iW!ZD36LUxS+)o;h9T&}9)d|?)^ zGPgr65nY?O3P=A;<~a3n$4CWSrO)(ujYxpA0_l}$14$sJ;)x6Jl(aw^lxT>dY%FdP zq-i`U(IB2SzsAwZ5U^@1@-|ArVvC3 znfZ)@?1{#ftV{jao*_kzV?9#(H~Skjwrj9|HkZk5eL`ly8RUYAag}h8T2C2w`bBIh zyT|z=k4nqv%+1iXNTbc;CHG)-o0a@A@3WHM__XO`yw6FFXOzj+jU)wS*c&{KLqxA_ zgc}1Ej&^yi#hf%W4q|ugfky07W&#asYveaeL-cYGVzH+z=X8FF1$M16oxDi!Z~@PJ zE%au}RX3j)^qex9U>IlXKS@db3rHYp!bn_-IMp2QvPhf2qFF?Ztdl6MlZL?}$-O+Z zwJ!zEUMDs&>vuIK>2NXWdNUrQh>l8k0h`S9nESJ zHt;T(Fn$kYolpdN5Z7@0(PD?st6-cU6a3>nkGD7XJg1+3V~{zy!>DQFItJuJ4;8o_wkBNuu64)VxFx7Oub6+MhrJmFOjY`IwSLWRPC+}Uk_hgB zDu90j%jj|Nhsf^e99grqvH}2$^!BL5_d4($cBI*FIa-z`RX}<}u4$=f0~p;zUL~Oy zm9wO+>CHGS$d2dewFA-Fcm!ahhpmC9Hw>QJTrrkm428xr4CXJAD^_^vE62m%=iz#K zY%Om&CKg?wuN>RuP{OA`qm7sUClrs81qnysxC^+H<(sCIhs!riIU09XBmf}BBnC~3 z?@wDH?U!$`A{z@h=m`y3YE3b+9;`SSaU?YR%=h7pQwGY=m*fVX#|uMI`mumVND4Ga znU3W|<;*L=aU@=wz`9VlD-5aIglEtiUaL))fsfMBv}<%ntU#w>wmucQQJgPX9(23v#)aPRvukuPm)g2$i|UFJn5Rt`}@Ghs9nc@w9bC=P)C z27BmyFo7A>5Tf{%rOI@D5x~=`7C?Yh6QcOn@hl~Ct>_E5ANHoa zUSwY9VMyNVJI(7|aAqN2uc>EpeKVRH)6qf*W=_ChPmld090Sd98WxAjjNi1?xEuEJ z>9JR2XkSr{=#3R%-WkL%z7kx;LC+Foi*?0nvGTQ3uHwP6k$QHL7~1M(%5rKe;P8#< zXdc7gFTn3((|#{aJpp5K6D3utx7k{~Elp8xRD0xDVp{PcS|;@&Xy{pjfB=4HJ0xc~ z_6CKA^a;n-^P|QUQX4+!_OM>EdL}gcNd=zWnIXRDEp(U`Wfx6D7hZ$(r2lE-gY`6O!cLA@fe_ z*ZlaO^NhMIQkM?7j49u4H4H~d;Xyg|8bANLWTKBHe$Q*Fw3(7`f(6$s-%#6mhdwFOS#!v|%1sY>AC_KYD zDQNunl^M`zysVzHTpW`SU7}I(n}!8wBzlNOgFf4buH^l2s+<$BUZ05ihWTY0rPr-Q z6S0B3XXL*O9}`2dLQrMVX+k0!@G_jpeeU$QI+U@j{f0}W^pZ@a=XNS>HPo^o+pm)v zT!AdR&}RVODkCI!2gqZq5&`dpZ9C}8BOfbw-#WQh6!)=tB8#R$TJ!y2Sn?NOq^ z>J-={eU}*2F4c5^FKhLlXSKvNMJDXrL)E*FnKhOH51Lu-zUNqu^NU7brnl^ObsdK z@^kPG(pHd#`8tQzBW^e-=y8KsC8MaDg>$;LcjcFL!wsr(Pwd^lSE^tWUNE9)86OT* zk*ldbU%3_-mvA?flwvmJ`FM6jIrYikk>>F)l){D;qZnfa8N4)gI9mA@tKk?d#G%ih z$%{ua%EK)_^_Zg;?O+dp(laxF6X!m}MDA2bn}CZnyH^hq+M+b8Qi9N00q4tSIabf@ zXWEPL(Q0)#8kgQ}60ASRmFLrLW&`D0t!X##CIwclGY4;@12cFFgC5Ssssx{VB(0(+ z0(mNSMH0!q8pOiza_(|Z=VF|^!ziT0hG*F%dJp?p0SbN|xrZ;I{33O3%uOi&nUA9V z;IVFydM0tyPsX}by)~-$P&zn)dQy$5drRU^+0 zSc|pj$UOEF#M|C~HPC%z`hQc1{5@)A0IcS{{7q%P%hG0J{9HaR9&%-e%9BU5`-Yi=eDJaMG^XS}DK|wdje_oP- z&b@cazid`D{iUa5T<>l?AY;bAnP@iJ>hnC&R=IPPwi=<=1aj@)D78o%pSzJf zV>3$94mqrjT{}G7bfF~Q_;wyZBMleG6=#Y=L+};`uawtphriC@t)3$~2gDjvZiux| zfBLe9!aq4>)^#Di3`V%63*Ve8rst&xnRdlWNqI22HQiof=rVD2L5LFmP8Ft>^FaL} zBjucrMOpMERpT01Xeen-%@NIzib$cz6)Otls*9juL5Sxq;}8>3VkLA^nxrg(365U+ zFk#^W`32U=`R_8)MZyKJ1F_3f+Oz86&O-E63NxvP(_tz3& zlYBHLeTmdFCjGc)l#s|P39@T1%oIaDT*cS5OjFh<$wee91j#*bW;xp-j zTxI{Iu!a~kmF^%gt62lmu#Vk$(lD5>jY(HX={7IteE2j8&?C2gY_5mE9yINl^q*B` zKwwW*y&53#)*qmnc_60vsssh!Qq}*7pIgj57}(27uBF=l8cWl~nosjt^HY>Hzdlb} z^LY;uTeRkv(weW4I?fI1a57@Hr39tGTg3rqOfUMmcNd6sy(>p9FS>65f;7xenr|CDfj7L)dLpA5x z3F>~1ZyZxuW@G0O0{3{lGRmyx2g+t(Y~Uh}t)FjfIDys`;PzLsbM0}b{R8E=Re%HS zAbP`IuO|Qm_B#WnI!uc4Lj;7IFF5CbsoM2+#~J}FSJrTFz7U>+jG1%u2=eJx@VWf! zDOl(N{}+qI!Z8>(qvW~JMmafpA-F*FSJBQjb@ZaoC5;nE|nhB^Wjs6))9_$*kHwWX&}8bFP11^x9Q&L6`F9 z=?A6HKCVgCXF0X~TrJh2HQaEc7H&B%T_sS%VV+rOxRkmaZ9$7O7f1LoKhFmO;Pnsv zWX@x{fh2_R0Og-(p4DTEtD=)f01%}1zdch zPj(tnI$d^&ojvm`G+AzwaAWkSrW?K7C8 zttAstcC2Y~c37JH7y|c5$1Nai`iLp&xLRzq%cR+Wc^T;o6jCwc<>Vf&_9aIdTVHG+* zuklS*&4pyyQUY&9-{gSZWp8rikKvDJ{-~gi?|d0k{Ba{H4gJ`QF2-iCR9JPy#JJZd!c%Znij? znp-D7KA~*r=$9fCj6T zVALQ1Z!}=6sHmv%9R)SQ2BHQCYyxaI3uvvcqEcVQ78NZ5)>j}1C@LT-_>NNbuJM6d z6@r-W|35Qx@7>+7gxc@>eeoyv?!9wo&YahrIdkSr@I`b3!@C`V`cvaCk3nL;!3Gq@ zZy_%dr;5h_dmKa7#hw^NHrElVb@Gl8s^bb8Ca;+cXZX3O zC&FNnh`{=_KHA%Uh%I`|5%{h2)LHVl!W-Ub*GAj{51Wy}Bu_Pd@gNyR2pAAx!Ykbz z;|!l$n&-_al;+UW73x!dn90FGlqovp3nS=N=Jr1>mOxgIBH4e$yt^a>_qsX>hNHEr z(^OZaS@$?aLXLL?7x>j`Nt#ylLetK(kFn?Q8$>Uq7Xcioa?J!4KGY>`L0o>(VGke2JguA|0 z!$SneT6z%Xc$tc>H3HzVa`amdXVr7c1Ehc=J$c}tJ?+&LKxi6X`)PF@)^0SlzJ|Mo`75;B%x7}ERXRovD_`TKm4?}up>gia|WYA z#hP`Msy|uYnHlG*@$N7o0s=rw!Oi+WC-iw@KRHBgVW&jTS&krf_zij>VBXq0dK+|+ z^Rql6c_C{V8P3ROJid$G31tR$&9fThFiXX*I_1V4g1~KEti}lM7*5UHt&;Di9d>vh zCf}%L#ag?9hn+?Hqo^xt*qTl?Exalt8B`XAka3*T>IGVvTsMktu2rI^7N)NdTJ$@YVAAFq>5ztlj$0C*I_hUB)?@khE4dUM!B z36CB?AP*Mk#9G5Bn&I3s9=qVEON_!+sFw^jde?^{foxgU&cRNAi8y_d!GP&g5z_44 z%RHWPJp)iu#80#e{xab2NUNa|eUu%)D#CXLH%TZRikBS4I2!b#@=LujOL#dakbQEkRNC?J^KxEu1 z2EsMb0^{p;SUQ=Y*yHej7gVMx9OxO^7beTcmAMb64l1C0@;~4+7jV*32V&$Pjt5 zRlikfp9>PS$jdfSWCrX#)gtZi0Cz@<2sjNd(7uULeBH_FK`OqTLK3a`#xgpYimx9& z9BR$XQ-l7H>QSb@dpX}c#r~QFL*0Sk_AcY$jnsp4FbcOXZ25G!rQjg(kJ`~;fZQ2@ zoI^stQ@omcI(PiCnp+uA^c|A&NX4uTLj^onOu4ZWJ3^$t^v1=In0ylB*+I+zPMS(17pVI)r7|GyoH zH+6SM;&I=5Bk`i%W+eWhB4H$^=h1m>1CfLYD0fgptR|)-eS}FF(*x!msjcUUlA;G4 z%@vJ8WVmkKpYIg3Jq2gIRRnark1z2gs%yivkHFKVbnKKs@X>Ga5y^uJz7D@_E z+cu28*K=)BkG@q_{i9%2_g$IqUAa|%3)vW&?oJ_+PA*f;hemzN%r{#Ot;rxwl>e%} z6lD-kvw8)tr~!NQgl6N^Y{QWs^xlA)TQxQFoZk#&#U|Y(l`Nd%gJkq)8H_r`1g1%T zjG;Fe;Z%Y#@nq@97#KX{r$s2GGjD|Y>)BjD&*m`9DOjPhvz!!JV$oHhN;Te@I2)tN zJd2inR|vrX;;eYkQ%?!w*0TS2lfj^CsRA9d2(~x|n1{gg(lz#-FC8*VpvTTv)}=fR zVScWh3vbEiWE#LCb#e0Vbkn6td^78l-iT|!h@G0>^p#N_9z8vzDBEHOkDs3e)sj1-i`dAB^u=R@A{4$het>l7TRUGRHr$I@=2O-Bj+yeS5hltFT+ZIoh?6cC z7%P{0hQ!{^$VUm|e{G`Nk8m^R?}%6zL*gcE%c8ZVP01e4)`h>Q_7c`!Cbc`?zoZ+v z$ZDt~xqQwP&wAamwd}YRT<*^f{h3?6t?y2FI&^?%wsI4WO-3(%mva`vG znAl|8jJ`XA{?Q>`J2#*G>PvL)hc&`^7zS$l+S9f(DcaON_K9-sEke{N;{-N`%;uhU zvnr^(rjeY7H)~6Aavil1C%dT2s#kjpm=m+_)>uoizORrCGp8C3u7V_;7E@_5vmUFp zpFZz2n9liYqegC{wiwwSFkK~>CW1eem4gI}aot}3t;P7z&V4{kh%)>&t)9g=1r;ja z&B}8UEXFe^Zu5}I2Nq*$^m`~xQq7y8DnGZ@6^dIhWOKF&>erI$%sL7clOg?L6aao? z>L0dq!{14E!`uJs8L0xun~@5IFrI9sw1K^aIdN5H2o{M2t~Jqnp#h;*YORLp5_}5J z;hnw6$HvSx0RO-Bh;#>7j)g4(7_*kW$P4;`KhHm})|VU4k@e-^7r^`|4D=Ala)@+| z_z^1k1sw`i=BC2jjFuY?H}y{t6TF+T5O|(KXJ<~0?khP^uoS+-;MRan5S$p&n{6p(XW1);#5XmNMa|Yr}^z}G>|VJiDb1h9ACZ#2oAu(&RipI!;sO+-rLb8S z=Y5Oso~n$0d`^Rme^g&0G};FSTBKXE$8&zhi5y%DGhSw{;$SoO>BEm&j#H}Km&p0_ zuzHy$FN<&hfV?atnV>7dJXOLx=y~QzXwEsU>t>*pOY;~?s))2KQO*%1;YIi+fGNht zF$4|MZDqbdowg8IJu_ej1G(%*hh3Vsl9*_QcAWRR9tkGgq!c1X0t$uaoPQ@8GZFyc z3LAP+Pk`o2qoUoxHF61oNzc+{ZKTdQ=6Jc({hdM_yv~$=C)O2P(HUY{H zPAfU&Zf|+xq{~HVeoTx`gT<${zi+ldA0*<+2@-f_kpS=-Ol_I$oJ7q{tB@uy@G1#W zWnnF(bPDtk70ZF=qiQJaVtiQE_at-~DyEhrnbt|UEC)1TI3uzO=>2J7TTmP{>pG`< zf^CDXIrPp3+w!djbyf$50j3+Rs|A2o!%4XHYZ8nqY#9IG;E9}%U)8++bhV-kG#66@ zNv5R;)04MM%LPDY)=7ZN*)a^qdP1Qy`zlJwQC^t0D#y+O>5%9(6ZUDmZ`yjD&l13O zrjs{2P9lEOUX-FvvHP#}+rPhcCE~^wPa>ZCxd@F?4AaUIB%+LC=DP?*2PbujZi4}9 z2ft~*61wapV7vNok14XXjP$yXGUARkLU2>+$`Hcpp4F+E7k7${gKYz zu2!521vQ8?$n@d1H?=l7=}!wsjZl~2>hkq6dFZIiN9yv9x@?q7v$IzHTq&1C{+m}y z`YELhMP!n=&P0A7#;T-M7n-Cy)dw?rI$R3w8-|m|h9MXglZf6pK6YbuH}pFzwVD5> zv~F|GmB#RSdi8baJG1r_I@nn!B2{Cue(VT)V@f@ZYbwR*o`TMq>o&V3|!t=sUt zTlISiR`id5@$%ScYk8EYvsfmkwB_0%guXm1YXj!jHVmFLofrU9jTL(R9PMOGb9UUN z6jxkTL7WoP`dMQ8Jx%)+lw%ncE3GAY#HBTJC>p{YPW@^Vv7n13%DeClz}uM$ZydB{ zyn?6UgCzc1&TO+mEk1vg&yT_xz58P{K96S#RdzvYE}5BCG_Oj*dKQZ^<=M?rab+Hy z>!JR}dnNM&m0lMyxP#Pe6mv5PL8KUzTQexK;Uh8G%u?0kF5CIf2?UdlcytTEijQ4_ z8==M25cwm>q1SO(p>mg*88Ami*jJ#VlRwk7oH)`j*?0Y7ejB+SYm&4*Oh!c+zmaqp zE&C3=k{PrZq#p(-)v}^A((Cw;#q2l&lM|tgT#aWE zM(Ba=?0d3;1i&K{gDg`_*{Y-j3d?j3k~Ss3Z=%*OWqaWcPe1cqIoA~o}{6k`?zj*yoR-*Ms1);9gDfH8<#?NKChXl)C zA(r~QjF{~C|K=1v;?JHx&1!gBK3HwHuY-6?c@PotbepW;qf$QmXPo{b?jQh>-1>D&10lT8|*zk)I3I)k;DqiYjre)RahH_&#%)& zL)1&UqIlStt_WP{hwXVja$%Db>V2@?CfXDGq5#`0+-ulwFpmM-72e~K<}qM9g^v|% z+_k`=9mt~cs;?I16^AyaR#Tw;PGT!$F86twA_q<K^Z`*KnMdk2+Je=)6_L_$moujpM9pX};@k+DO2*v4R4=$cX17?&G&OH1_9WzVDydxZ zGsK_M{b!|2fSk$hx356}1DI<0_yg@Q&anvb|KXW-Xe4+4R?+yYXm&OsXx*Jnwl2g} z@+K%Pr%E0>SF6jVst}fPp_gDAAVg-mP-TU914$JgQXg};5sxyuPN5e^86j+2qW@rY zeGVbH5eU_XAhF!ZZaF#fC|CFya+1U6INH4y(>d5vLey4}WV2A^OjHs>6&YF#Ro;OR zgCkZ*+x`1Gy<|C5^@I{C$toK1j` z&&va6sVQ|mNu|yaiY|s;Gg*gj@!emCdt@Cd$HkdqKI|$5+rvzN%vO`lsDNKiMf># zX4O9j)gb!;-A#Db^!w!*qma3-BD?V<@Pu3P1moCn6hiRvOY?Mf*n$LSPg@r&@&Un! z0aT?F7p5Z`rf*0UT05?X?LIC$h`6|5HQ z{;cH+mY6NhkyDfu3)f)m>w3V~X7<0o%T1MJ^a>EQoKDy7TinV0y!GDXzU3=3xj(!} z!JCD{JG-|w8goMq@l1&h0k7DhO)}B|J={jgO_PP|aQG|-A!zfm@ZNf1Y7_K7gfp(( zAYG1U+lugFOBs_D9Kh${8gx$LDR_g3N)_`Rpnj~%5)-D*s@FKa;8~61V=mtXjte*Z zVjQokjl=O%U+xaa4}9d}c+ffz$F=y7LYe8T7`$5?TT5wWSoFiRFY4G?INnsJI}Y5Sn{)xn z@sIcPVDb+(0z!yKX0Qg6WJ&D@HfvrL#1|AaMy&>MxZ-@or!`~Vbx90kN_2@tL#E8j z1uwY5AHkl_)x%VStMw@&z$4Jyb$F{`w_*ASGlE_kn($fmlNr-1&QJ&TpZ7gFBD0=4^pR2<|Mf8eT^|p|65p6(G1_KI_-# z*#+CuCSOav8n{Zd>x}#HQu}DmR!>6a$?=nhhQ8xb1Smf7dN?mqTj4ngeE<)#R2g~^ zZ&JsP6yFU*XlF`5Q5Z{-4wLGlvD!azIfy8yvss+n=p0eaKeA1e+~Hn#$XWe2vb9sC zE?29|rE&@G9B4I6RVGPFAWy+tiQl>hzgADqFi(!RX8g!O82)wPWC#$nqAa@7y&TCo zeW_-)bUByYrA{4J@hZCm0z+I~4e}_T1!Y7+ zP`NHp#Zu51vJ?e-#kpgW(i8ZSBXGFu4CjBzzxI1B|Gxi{$G-=o5v5wMI?m%?JySlF z`s3t>MZKg(c>sX((L+L&cjQ7|tFOW1X*=uCEoAJ&edu#=UTs;ht#In8n%y|FX_&%y zdZX_i@fe*czqjf)^6@$H_&RIOYycbFdCAn{f;*4LagS2y6070&c&|mSyHF{PV_i|Z zvieY6u4mG6*I5l8qu07D=fDY4;MN(KIx4txyj$@;$qQQzA+KUA*e9uYqFX1UF?J0= z4e~6aP7$4Yo){<`Y@{T^Sqe`9Bm+83d7d^~r3yn1eaeozoHrQ}2mlgI;j@6{9cE zA(d1$)HID1s0r$6K03L4OM2>Btz4(!ab}7&X9ydTcInPW`_XSGPN=GdJ%>SnheaMz z@T8LEGMp5|C!nPmvS}ltlA11l{82lmsG0X@{0YIPKbxS8A{eG;ko(3Nm^ermC*vlx z(ce1_uL&XRy#3Pu7(Ks%j;1OGJQW;csC)Uxdn#@I@xG2X_~ZR7 zb*osdVLP8ja{4`?$A>QGDJ6;Vfpe0L@|ts!=+`mh1Ng4k22QjMc^}IKWdtyUVc#(Z z(5SuV2BrD&1vx9+wee%4`3JKD#gK#=g0)LnF{Y|6x&B?$ZFa9q?V%E4O3)iKrQ5$JL|M5)t*SElpA_uyRmRRAe08d+eb zhXD?kL9l{rsB!8DJb)x}DK83Goykjp4PmqtNiK&^7}bGaX)2*Q)H#k^iV)3CSLY1A z&(9+sfB52yx)*>+m|sMM7sEJt-d$w|Cv3xS{t@dbP)O#!McvAC$9KQg++!04kp@Ti zg`m1QKwSbSu@ec|W2xOJ5;GWAFD{lbR)fU;@%?mh!i3&5`#&N%jUVf+{NbFxmMGf6 zauEL)jY^=Ug8yVW6Z(*zvIfZPCtnkah~6&|`r3K#OyvKF=sgbz?}mz?A?>W>bC4Fc zI3`RPZp4lok3bj8JiV$6rNSTUSvT32(UF_wM*swi(CdY&b5XT34)r>Z!@23A6|fbP zo)An1oN;5;@Lg@pTHLoqs$Hn_5@NH9{8p49TahXTSm%y=#7^lJ?E%(xLh{Rfd8GWr z=kgcB4~ulX*^dJ>KSHqtub6glgj(mtzve0T zJIQIYaKIy53WDUD?NsEk!m$?uPc30FDV|kZd;{LCCDY_Q^r6e2yJm@WW_LhPqa>EUxd_zrVp(;9+^hfxJPvpL2%(L+kki z&r*s}>-q2btxP|MY&eLun^YcvYP3(!FK4-+*7N9>$conZna)#VS*f_!l!gD`dq&Sg zvvQyUr|gz%P^LqU1ER>GlnZjFOS(wTi1qF;@bPorFmO0pSHr-#eAU~mXf?IJw*G&o zMgj(P5?M;dl_uCKxYU|}deYSdB9id^K@*tV%UT&+JOaw#ewKykLkW~o32^!amSCp| zIK_nH1Vw~xwn)|URDuos7WRZ`L^0c?NNS$N@sMA_vUjH5B{P;9b-6(<206}t>gnEc zL1XIA(+?_silX5G zzD18_@d_543^qCz@{08eN-uK8X!eA_X89QIA?M=5_$9ZGqvb(FVKGt2=7~Z!O%$?O z@ke*I-tLDc)Z6+nme!!9Vd_k;5t7_k%;=a}PM?cJyMTP!5ia1M^p5U1`T>9-OFXqqgXWa z^IGx-`lK+5=gu>?`^}jId$;Ha&)y}ZSg5J~0}%l5$yAsj*^%RhFZd14I020qFGHeK zpF}l?59rd*MO;N7#}4P5Jo*GMkWBA#ey8tY7|@~w0_iQ8yw20pMXotQW(3AE*&Jxd zAcBAIN4+AsvG^raU#^W4$WVC!BkfudAQZ_t+N-U$quRukP2=WvsZHuYN)El^Q$eC> z@FF=|UUMO{lh$>bSC_z(r{Fn9b&)s$WPkQ*`}~At{rqWPrP$FsfhTQ!@VRbuxV=4o+5f+#@!k2bfCbE4V!|8#zLt=2s=XunX2Ss-}CYS%?WmNHlf81IpB?6lLV>b2Q2tt5h3uAZaF<22w4o zErSv{2RxmpxoMu>PpYQCL~ks}Re%`S-pynzxb0@EeglnOY{<}F!Dr;Bxcao+cE3E4 z$k?s%JzBwzLg@yED3o){xfq5QRUb`IZTrV}*$t>E)&?&-V+;}!bx1WB8R`giXn*Jd zGXbN=WSMvrp4Ao~js@u~vqEvLrCpHIuUM*JjdprOI%~5J2laGwHxJ zoi>xI*cB*e9l@RH%)V4f6Ev$u=T*iq zhfIb$DqEPFz(~;#*iyN)-NF_)Xu8(NR+mTBz>ITm|t$*Dwy)zJ=o{DgYu&&n;q?7`we2~OO%z`4ya2`7mF1sMD%$*qDY#7!^@`uDsTx;GObAbT4`NHsmgams(+!o*$m-=+QrW@Ya{4!SZ6v5n12vm!8PXeTl z=?X>>t%+^<-%Chj#Jo?)z*n0Tp0xEz?xt{>o7t7Xv@a@=Cp=ZNdzM>L1 zM}E)v2)~7@1FB0n@%EENG8$G7z#g%&DcI9QqqY7TtXsMhfGF@`W)K%z4I}Z6O|gM4 z*6jW)N+z0d6z-%EI7xr)ub>xycuvwb&KJ-_0Yd1vtDRuBsCYV5Hc*qBfoFczLi}SdA}(;ys<@E?(x9H%%q4}%ZPJUf&}RgXq|`@R zRmtrJCN&Y!bQgYSyuk{V98kC8!ayJOuA2IirDpz?_CZSnHL?&g&{Z;IyBm0J!MA#j z7Lzg12(8h8+Uw={5*nQ&M52~-Yt^biWW*T6M6L3Ee0ny8&c}jA;5grL)|>~l z;)$>mEKgFKzvr_V{9e!B-~v*ce=$Rmrn)f^ub^F!jhS(wjeI9Z4ni7`wv0SyK>XUIf1 zmJF)f+8k8fmX)k|nqBB804)?@#p9&U1_bHyoJY4P4I#B)LL(I@^hnU_VwGtH(hc-1 zRB0!{SwN3*;%M}=009&&cE<)11NkxC`H{#~Fnq;|6l<-Iav_~qq1i?qEwev>yNGmv zRQaR`PnXG4-J>S`BiC8eBFnZIp14?x+Es7dnG(E*0C=%lW79D1j$n#g`IVnw@THF9 zK^I#5WeL~h#Ltbv>m?2{R`A~}nm za;HMW9`L3@AyiIxMW(Z^7hA^|-FlbNYp1Ju&;htO^AV=cnQ^SWA*(Fa*Hefq*dE6k z+#7+$aN!AbCY}9Id)dxyT}g`AA)cBmmwFFufe-}BovKk=23pxf9UcI@XU%=j6Au5& z=59oD&Vz_zN0#Y!s(D-PogwPc{!kIlaq7`ga-mcR3!Ck>N}HG=U`;|!ntJUa;q<*x zugqbfa9-&3IXX&x0`gSBP2Ov^=E6@Tf{=p=CA&U@h?n5Wo{M9+5E!kJ)7i8MU%0}W zE~!hH#j*pEn;?>zhCI)ayrs#PQBT zyeT&~qs>i$+<^GSBz^%}yy21klyt#=dXFU{%UFZKMttpvUZ}}(-XezZGuMvv2Tz$b zbf;I&2f|Rr;_$1_CPA^oAv`prEPPfb#>Xy`_orhYIu|f8TQpXOVj;Lp{d}SXH6yeJ=Tq@mc5yC7vL6ZeX>TqmTw9A{ zSM)pCH;w0oJ0>I1oOyUOYJ4Pgg3RIySJlofEqr~vfemB22b;4O!uCPvCy}5Bmw(8` zE?hC;Fw}5M39~ey&KCj1gr26(6YCFbwumd;~mxK~47ZY7zU#ZCxf$sz- zw8S8l!BK=_Rf;|xe~rbN&U{UH%wK%}%6jPj!LGc#Z&e8xvZe%`tfh*sU{7U5zD|En z(|MNfo;rqqJZx!olQ0j{L(P%>%@}qYx%Uk2w96%Q z#c6MTGmIO%aN`8zyUV_}B!mrjn7<2H>Rc7h*$66-Il9@YtPxhYL@p9?BPp$zJ_M?} zEYwmK+G6J;Q#KqIT%=vL!ZeB{C!~3yHhnyw~+tWPQ4>Jr~y|z_ge%A_oV{2X_py z8Xp0zPh_puoO^MLrY7T{v-s)(Np>+Han6(K8F>fb73P)=!3$Je;XycM1n0F-WU8KW zSGYzKj7-#))q*Bnpwm#R-~edx)r@kN6Eq0-5$Y``*6v7U``oDewoDpC@MKaKAQK1vK+;l@Y%czGz(#C0>X=4!E$W7Kp^*r>x zsJ%&dboOtA+ZkdAtpuvkWlgFjLgJ#ZNv3}Zy^W_kFzEfo^XGeA4S&*!Q$dpuDB;#+ z;AJ#11bw4e;&U@ zeDN<`fON)ZuR$S(bF7!^Z8{D{Cl>^Ix9VDm>TSOJ6sT?faaQK=Dvs{o(|G`+5auP) z2xM|b-o%&aQzfpTi;kUx)Ks|M6-bYC0w}EH{J#RxOIAcCEvQ}fk8bo0G>wqEjqV9+ z=~x8Ke$8w8m8k9fD&k22KEq$NwMuU9C!5yjC1jD*u z6G*>h#L#^w**Pa`5pWIVYoXdV$|N*qtYGgIe9hf#(8lYA+DU@$`1{n@pDH#6W48g1 zSPp49EP-fZ1tkVhJSyk7o9eXQ zhZ%qb2&6@?z(fEju?x3Zb9&=`j~e8-knPOJtP?5%<5_%rT%IUKd-tNfJQyOlG-Fst zk2{ptr9W@*%j>gRUiIbx6HmVf@`@2t802k8Y*`o?M7VLfLy7f5K%fbgcZ^q$)zK3r zvEPzju0&8`1Jnm1u~CuOQYE>N*fK~gX=z0EZ9WVUYI``=2G=hIPphw|+COa-BoXCl;-4i}-4+#^PwAEG?(T@pS$9WtE(ltG}e#EL2? z*do!exJ&RNK%~|1u7r0*L%1y1@I6ZY0>p_YBmr?H?M-_s>f8aP2E;v}pF1*^(jgNI z2DxA>I!6vrdIJX``t$~HT2dIb=A4CwH3H7s6V3r1%Qg3`#YqR$B1IVJVWh^eQD{wj zQ%UOb*13@9QPdx4QD$gF>p0KUnlq1*uK0FOTQAeCkI=0bqxG^Rtv5iMp!Hm(RDc=t z=jj*apBmE!)$+L={Gx)=fDwyRHfWMM{Q>XEoBWG0xY`H4PP==}O9~fQKRnd#V?=!{Nik9q<7lS%*+ClKp&1=+*XDaR_Q~ zMVFG$CcG4Ldrj@_gsw(TWPG0Bz|X_5)o-AtOQwOc+|4O+1aei<2*j9=nGBYy#7al- z0hT{7hd&K-`2Rd<=J2DSpw+N1b2L4N$E+b{4nOLxb=2h;JG}9YGXaVGkhlYM#l##C z6gqviaB@^vaJf@>nK>~>!T)P@vD76)T~gJh?MikS z%sCt+1L(3QG8X!})n2~iWIO+T-fh?+D-_L%{r@qp|Lc~2w~mT6RyO)a&S(-iND!T5IZHrPDywev~5}`+=~O?p?ZW) z8@xLZh2VVbU0S$uLU%m>Yv_b#$C9o(8S0X%E^Su`!M{_NFVy7|b@@Opz|E1w4gV78 z|AUrS3|y`Y397M}g=se0awDM!gDGT?g#tU&6N96$E8~+#{}6=&9o2UbYRHuJpK057 zqB)#*!b)VQ5VS^eBGq~U;_@8jgV)PovbH75VBx*vv)Sa@A6C_QLJcnd*$3t*s9{1d~-0dzDRL}Aj3ZBM?!Yxkw zcdwyN$Su+Y={5VCsqs^y<+w1euW-fqlUSmlqa4+6Nv@Z0jD}S-_&UHU;BfwkyguF@ z>3I6|{NAMxz8`Iee z=||D@%e~8`-%~R@`fY#E(C_4L4gDT4^t(jS?--$bx30RST+b(P#-l=D*&OGNDx2DIUB z!U6W!FEg1?S0$GNKTuP`fz|9hi8Mae-k<@UhCShJ&qWmjUk|+&+zuZrLu!KC&$s5x zz>Q9-RL4`+b>5IrG`Mp}Z6S(GJ=XVnKRftsDsqZ2`gCi-EI`;C+=(=_c5qFX*3S@3 zI{9PV_Go=CxSiQTw%;^mMR0oo?+T|Z3vRzS@XvuSwJr(%tUgI?y%W1tC;thbbZw3B zlfCeXHJc6*euiI#*6fSq*Tq)-*|-__Qj`|}t^VTWYvDIqzGShbl7)!KD!GZ|ynmNk zGjkTp4pxa$VAw$j8VMp+K|PV-%w$9yD4)kq3rrn@cq6+ps&gP%-;TqcUOliXgF>yo zj0Tx%K!|b>l;=agJRXJ^6wq6C{%dxqts})k9YzS0gId-LBuoVY?u>)GT9Q?_qg(ZW zunm%;Ffy>m6&@I0IIvMZ>QcRr{-}Cws9UQf($4}Wa+{ssBbN_sm!su^-JsO6#2(QK z1mhS{m|e&@no$kLT;3heX8~B|HQp=m75?oJa9XLq634e!zSi`uad(04!U9z^9i0_= zS7^GCDjO(-+es7LsRC3)t(-E0P@p9hzyT{#p%kdD08= z3WiQo+aXe$xPX0CRs&8|UG;TLi>h~_R$pR=_6Nb&svL`)5suB(_NZt?mB6-g;xUrB zH^b?B)fT|2{Cjpt4G4MRvFVU?63tB_FkYGZ1JUo|F~(!4Ch{4xfsST%Q^KiqdhD%kXcjeBo)6js;V8sV)!S03ks@ z|ImbQj!gJw;w$*3t7PcTY$t1X3pCAwL^nHGV@Mw)DtsDG)2crwU+lFJoAq1obACdI zxhLI;@W1kf=6_&GhTZJGxaJ9q=c2!S3aQ`GE?M>qFmxjkH*D~N)YkuWgpXQNUxBjt zYH3a}8}8#G38e99XzCha&OC_@Yf!v_AW;>81&N<{L%3Vv>S{UcNLet!l?Bb=^Id)q zoB}!7A3DzY$BZwyuEs%Wf2?F333!VOo8v!a$!ReqtKT9M^ORbI#G-QN_4A1-umt9q zSHdjImhV5mAFHb&?vAp@~O%?f@?G4-PRQbJOi(R;O!XGd%xEHHOg*&EVne;__ z!zXG!JYfLfQ~>m#9?`AIP7+jH`?t6rw;+_<+PgHgymglIhTJ=^s>>?5Am{dJ&~hZR z`xiexG=8r6rvQ>hF9Bw(<6uh;%P2wu_6PA@QEGJ`q?Qj@!M65553r6+CMqBkVZ``P zQ5U@4&ez*Je4SqX>yAH!&Y5~Z4j2@=e;h4(WvS%h`4La+y~7c0NoF`J9hiFfnF-uM zXSfk7UtC5U6lI{5j@!?yt_iIVwp|?P5k%^;Q8@Ks>KR&TLCJ;I&)pa0E$eh;3{FUmz=Jb3NDYQFuW$%+__@;|nRE_gN0 z9y;(`zs5}H|7X&FlTT9(Xfz$}1hP1w&gT{CvxeCf2r>S_s6L7vSWnp~fNyRxhHIH< zV#~!vb{I;r5{P2JE(&52LmxNlQi>6SGoIS~2ZhFQsd*d>xhK!%2+mp{bzCAwcIxG( zf!h19gi!}jnnNkA_u^{)y#8Q)&g9Ek{V6)d^||#Z#)eyPg(lP@HAqAnM^ac3$!{y5 z>r%=oG?D9D9Q-}MJ_mYkQ^S~FC$~5rN^e)9R+YdbV>FIo?*vUy(+3u{$Z{}3#$a8Q zg|4(?ORp?C?VwV9fqNB5i9~J~LKgzg!vAaVl2e zH@hSOCMBU2P2$RPwn&Ru2xirYKW!nz;R`WP3B6jYv5<;agrur0)KkK;Yxsx(a&Hd@ zAQ6znr&fN2(@(iHi$z+pc?1#NtWrE^M-$Mpkv;B{`D&`4YTllC&Z4)5#W7&;OkegR_=>1x`+4 z0Cu1TAWyx}fNV1th)zJNGw6oik7*x1NYy?JN;1KG_8&M0mQ3(7CLzu|c#IVn)2)w@ zgKXA#7ojrAU(#CZ;h}mNBat%&xqJ{Mdmir(k$b!eqA)5~e;$7;fAbexw7$ya;8(yx zyb&vwhK|_2c#y$OT+Wn1Er5pe9FQ$b`?BcA3a-p;mIl1~eeyGtjTrgyHqojDAtu0= z(@0)~*27(@HM1Ys7hi1Rw!hBmwS#D#Qp7t1W07!pLHM{KX)d zdInN#M~t(V8}x+RA_Jz(B*8F~`pTJrz!y*qFaQC|nkS`V`3VY57eaIF7HX;FU6ykXVqaWBr$kH9 zIije#RU>79%(8Zily3fFyF|*P?0aOuBQsp2T!d(tUxbuL5AF<7W=g3}BV`u0%|<^( zm*7ZbP#`eU#cJRZM)(@xf!~PGCc}zw)K-x#U2Jz)+1TJ>#YT+GFT%NHlyBS0m(9zFN4f^$54SV{GFw?hFEth|G8BXXd~+3v8iv);wZF$iM$MOc~k+s^RH z1yZWhSQ+ypu<|eT+`~$`)$j;W5utjc>c+WI1Kv279pPxBRQGal6BL1*NKh6^$7o4% ziJW3&5w!qSAXW=z(9ZXWMv0!qX3|=p06%uOX7YFd+;y!!KenZtepyRlwiE@8bW7c= zhR3P>l#8A6q6rmSXEftnxR%S#UjWSjksMgTSbj& z+!=w08Ay}D&+eEl0Y6vCQc9=sQ;C3*=qji~7(dk*A8?Tr!fDY{IcRi={y;667QF)( zFk*()aEuVN1J>AQWyh@1^-LN<+5~};)O&=AiBNJ}7@k5HBeNw)%^QfcF@m6VzcHf6 z-EXE6U1E%U`jeom)5b`GnQ`2K9q3Y9=`R3V&bv&hA+H@iuDJ--cVPDA3nBs5OweN+)!LoyqT;)$xG6teLk$T!AY1sqV*f+`*oZCHinx z0le&(sDG9CH5OtJbUPXaDhCa0Dl6PPc}PjP2R)a8gaaFohbqQ_jo6OVK|R40>4*VC z1+_0|2vZG&&hX)!=Y&#Q9~JoOuYr`ezD=?sPQqF`x(kk3m3SkbkYZ2!g!ed>Ft8-P zulQsit3i}yc=Tv=YBZx=8)QdSxT*r3!EnMw1KbWpW|$RL!;`=T)g)x-Sn)hSX^Q88 z@yt-{P?~ft;-4(%XL!HejDy&+qvxD5A}dVNAutpcKTi2VjKIVRb~xXL=3vqJY>4*B z`O0sgi@CuovLit4sIEiNiT&kUOedX9P;Bn$b6um)LF>hL+({cIC`@a;-`Q58Ze=wC z80lp-{E-s|L1b`CE^dIu;3v5}+3`~PU1hPY*aQ1=JA9;oEx7W!)CpMo#lpI8N3fnN z06OJz0f3p44#2;bRgc61)Zm#`Jr5y?zM&NQzBo&lxa$ypP+>HT->Y$adMkI$jxNWK za{l;V_v}oVgFY%858x80FnK6Z?@W{nda|F@@EJi5R{^!eRiKpkl2#asQ8uf<<374cpqA)k#ELVXrWB&O zLHm+3oQX0=Q2NDmu{uGK$O;E%-~|XB%YZOPxzOx{PSL{Khz|F*>MfG)0K!+eCQ%O< z*>C*{c!|@0^Ns%7sP$h9N-%zYt6Uo;7T#KN6x!L#nt37iAma||Yz{U*$h=TvzJClWV2$3&$wWmcQ@`DBQXMjS{=g zwRy^60@QNsM}G57S*YJ{X42m?A60AJVR9YNzY@uLZlr1<*9T7N5@nMV#KB3O;YdZ; zYqa>3E$vYrY65_vw)dfdV=cW1Vyx2g29DN!IH7|+Ov1UH2RIR^2cYXp>SWI=Gy=QyqxCFt@BgFR(SQ_sFIFEg;t(KE%Vmz+hh zl=IxiEFNsacz~1jRCTpa#B|51zknJ`k;NI9NR|hO03XMr3|7ZaP-wwC@N9k*zNmnn z&*j???1t;m-6`N}5ZbnI&w2eBbSqxux0 zQV|9NM&!7tpT(G*HUo9}iO1?LWOetUy6AK^5ES;5IF5!Aa*mI)2;4;k zu8Z_lQ%tQ=3o6^!BAmvW-495{5s+whB$^!#za^>{xr}5_5BCNou`&lmRL-?I1fnCl zF+35aN1*gDUndtQ0{H-Y&lShL+h5|`)DIqqV*Fo>quv9P6l>*6bcq5Kwr?>w2!dE~B6Y8Re_E}sigx*iC^KHC=6wb@+P@x9Vg#y|ljR`kO|;gjYzGHV3? zs=k|n-ER%gC74{uE4DSwC@36XQ-t`3{og?_JhkAz@&e2{gBVI{_sg$j}2cINh zg4Nst>l$}^TQg^)F5LBi2S`+}vPmV+u<2t?|HS&X7oomJ)TeuPz`DdTZ?a6KYIAR^ zA>x&8?Eu2RvGib7x~GfZzphQJcQQ+6s**5_$BOV@RH=MOr}CG=_9y)kza4^a{aoU* z1R^-B`ZRtVxxT`V)N*iDXH)iy`-Eb65-IQyMo}&lP+?$c3*SG(yRe;68ZOQpfj}=e zy%>hiMR-T^nIp_H+*>mw$}XI*vh8#UoEZz(JY^tI$B&7(t(#a^2X#*D=bG0wm;(DN zB-Hu%%=wyw?(2B#JX9z)PFm}H=We+jf;sbvkO&;m{evE<_*ou5TgK10c|{ngp^4Qa zG|Z}>4P`FJ=!S>G+PhAyJq4f6y&BW!^Q3eaBB2h|O3c_klMa+COn@WgbtT87RBN^z zq^W56c77r)s|Ux^(u6|6nc++lw?@pM7C6#Z2?w>`=^98u#Gj#S)}$NR!D^&y_f!dy za3qR2|CB*+p`r{j9MV$Bl?;dVb<$kyHz)I(sT_na#aq^1jm6#AGW}TQ0+eZe7zHw` z`@|QJN(Qq)0}5c;a5IPyU+8Am@+*N(^G$fHEyms4gJO(3U+aFG4$SV^beT?{LSj~N zwwirZaw-zIHoo2dZ1=Fo9V)hC1ve$nD!Cix5X-g7JW@80tEXp(PM948V zXE+f!Mxsoa=WIlLIHug)qGMr?5S?ZYcBcMq)t`#HXcu@Z1ex`N)C){$zC-PH=sOJX z8SZQsLs}CaE5ngOOJksdBb-QcXe%u}L>PT;Me68!1QO@66hk}3dc+lGa?s1A^Xl^xcD)D4gCCC`CLsTNHqn5GDk6^Ss@4QdFZ-G zs#L{W*8vT^t%h&-%yb?}UgSV;-T5XC;;QrF!Zw|ki5of(V<9M?n>Y%YyH%N4A9dc8 z1K2!iSPS$x<4$6KHNcc_aOEt)F1!3ZJb3O~ILB3YByL0|Xst87^;@+*{K|`ZeYoRz zmYvt?c$PQ5P@&@B_QZIWQ>EG6#Ix)-1l0S#AI}oTajFy zsrz3J#;FKp_jT?*8v%8s7AleBBoN7(61WVLwal9jh@0DiQ!||dCT>ED^bkXMCm(`* zl9#7Y7s-N>gcDXMe&k>ncd~lxi-`qiqhRZssMjskvx8EVEcN)bHhR&l$gRRnGBG-NRbrJVuVGT z>_H}b@J5!>mEeCbasV4VBzRz3YW0aRoi5-fe?5V$%-9`+58hy|22PgAva{}YP*}a8 zvs>Sz5P$@)b^!h(DAfT(r^G_!wgCgWnAHm>+k`OFxsp{N#v4YrOyO2t!&$uc5>QVJ zBP2YhGT64aOPZDrNR!Qi6;jZ%#3nT-;_>VWU>gjvskqTy{9^}&SFvyplu3w3 z>$yVnFJ?5Dsto*ruAxk28{qJXa22|Q2XyL*nKg~n^}F{lcaVc{NGRYUi`o}7SWoqw z#ZWCl5oR%YL|U#4OOs?6WwmHC16#RpyjEzHpps8em?eWv(4Z2L#d>O&5fDrraQX^t zr5aQLP!jr6wA}3vcxyC^kjW~{O{Ls`nB{f|!ulogCO{y3CX(~j9J9-ia0zL{^QaFb z3YtJE@bu@puiCqd{%h|p_=DbEa;eLbqj`rS@NtJX~e{qI!P@r5E5Q|KOKn z2`pOVW4N`fnIn~N4>EHLCSuG(?Z#6f)ism#jpy_5ndnU^`T@r~Oc7)lVn82?sw8{j z`n*l2--F*%Oc9L6@20U%y$PSLdU19M#>dgFfK8_Gu~_Ae0GhyOCKbg(l|Q!dE309! zSmWjezs0&keP2F}*9?%iA&x`wM`$Qdtupj@PA;YY=EUOrdkNK3IJ9Fsf~oT9KOQdMy{WOfEdZ0Q|@L+p*ht>*9V;qZ6l)w z@(!~F`~bh3vpZCM*ggw3A*Y*_IU(B)n@53@-JMT9!m6KJxe0*O9#3GjNq~>ioReF( zU#5tODMTk!Ci*8xDeUtD(sq^Wgp?)@mA0AwlOo~*K0yqokQ%I1f0)$7`Qkae3!ekd z9tqCA2#7INn+z&ug0xvBeouwCBY#?nL9c;cG@c=iC_T@)s}iZ9r4(n~ol18C#qQo$ z2wXcV2T?{v+P?3aa*K=fSc84&H%>|oDy2_RX~X&0CajNK!wl}X)38javmYJ0cFAh4Z>5$Sok*XIPyz+}@ zfq%JB$ILo#0>}Ud(mC%igFd((+%PYub507*LgXrH^d{(C(Vq2JQ3IoGs#l|0@n&CZ z=6Fm9mUUBSAw6N3sEKr-*P?yv zh;FX*VV{oGaG2{tkvuhJ=lP)d!nj0{lL13GOT$% z;pvUmrxC}o9>2kKmOETCd6p8|j+yU(45C~!-y%{x2LHzjMPl*a#8Ti7(WLHR7o+r> zPxA1;Rf=n+&mme{x@w%3;fJz7m6+nZb883qe^pj-^Z{2Gwo(X`9{RCV<0^dtpR(ly zzgPH|w%w6ce`z`xGWaib@!#Z!RrN1^fO5{2y3JmbSgmJN`ePu)izE#)4sY`5>SuZ1 zJsQEq74Ac{@<^?Q(PI=uY_%~PB^hBr*_i!3(Gba*bg~xh$KH(>?QU3&o~-1f?$MKkp_FWL3fx+q z$qAF+Mq}f`*&@0@GR2;WE|TixEQ0+Yh%<^CS_5b>Y@pSwQtg~}xkJM0Mv_!mHi52O z-QUf)0A|l{CVWjwc3N&Fujro0?NF)Ths1#Ba-|O9ba^D_#X>DlKfM_%PXU^+;g=~( zsU4ZH#{8!%10&2tA5s4d^B<2Ez`vMR;arS$GJRYH12#&R$G)Lywbf&8QI`JqSvSaJY$6tC(2m)Il2iQ{IThzE#g0 zN}#}AFEOwZZWEmThW5wxz3IvjViZx2BB)QfrSc0;xgj=$qaKDnaq_t~(Qvf;_;E%6 zWS6OMzj%U#^|higVNzq$mA{GQUE6TN6*x6;)ve%j)1%|YC$2(>3xF$ zu<-9m0QlP~4FH52{m6OYTMvL|^gRJss_zNFGZ(t&bgzFw9XH-F0Jl~N0Biq|1c1X0 z02%`q`7m(44+H1;FfiBy;EbdI?5hCy{E;L8JcQ*yA%Vug`#uc3?Zd#EJ`6lP#>K#E z&nLsc-0KAcFD1i3Uju-~K&=me8Xo`w9{__q07fJQz)}F@CBwi2SP=AMV8=He5B#X_ z$phc%d-A~23tSAm@?0_u%)U-AFw>NG1?T%q@WL-RjZzN;=LAXIkaO%G4uD7`q?t3;F(#}%={Nc0I41T2PFky^Eko4zR55!&H$h> zknRH@#RtGoUn|TI19j)Q7`W$|WEePC0Z>(*1Ou&DIP+uR0o@Rl=Y9H~B>0ODfcDWY z0NF_acx$X+;OLP_0Jz2gpfPZW4}gPw037H8V2TI8U;dR017|A$W+x*-6iaP>3@rc3 zW5Vb3Ju&dKz9$KGp6g=Zz@z}YagAVL#E2vqs5Ag*3>5nSDDnX?$Ok~J2f$rVC&R#5 z3V?;lNbngJ)%+Ov@JkN^@9KMEV3WQl26mj|VjwFi0Iy#y7#LfY1OrzZ05k?J@&RzZ z4}f!g0NmsOaL2M_7&ub_@NzN|eDZuO26leoVPLzyCkDRP_r$>Vvt11QIw=6_D+L3g z)01G}aszpQ zN4Xf-KPdpOT_qU!+i6KKaH#=6W8m(n2f*$6o&emc?+L&}4}d={Nrr(D3V?3OF!0f{ zu^1@y0dSlTfPp>$zCX*wzB3xFi>Ft&=^?ecop$`kojFcmUk; zR5A>lt^nwpj0rz{CKdzd`T#h~2f!IV0KWT!i-F9f0K7~aKa#V>PJ)4p3;-GfZ++%r z;B|dZ47{fAiGlGR0CN^6!$7G5;FM%c`2N3QF;MLT;07N6*ZKhX=1dm@y^;d3=5oP6 zYBCIrF#u=`{O3~-16%byG4O@HCkCoK03!cPhJjNR02RrY@ZG0lG4LlJ0CRi*gna;f zUG8F_XHo!GT_za#?Wsw4;Cuss#=w3)0DAcV=-~t4IuC&GlgThJOaU+@842EA7K?!= zKJiHKsJrv2p0q0k^<0FAsD!^ zBnbva82~f}#`yrK^Z{_W4}eM!fQHADVc=u{u&V31LyJ=2pFX^KNK-2Uc@FU=9 zuJ_dGb;fJ(8cCgu^hKCl=(P=Bajh&c#3V`r=$Me`DsV}JEXgc0rmIqsF7a(`bj{Mjs(m= zUsWX0yNiET2{q{uOQgq`JNJkl7arLGJ)BQEg7@_Y6X`K!#BSmJ2jB(pS>i4w$`#z^ z-*|qScgG&Ve@}h~@GlsqAdTgx@sktbf4fdvD9rf>d#W}J4yR|m4 ze;=Ig_D_W5*AgH<7K<_xq&yC8Y?1`2fIig(iKj4nbpz5qV)1)^h|BKbms6Ugd8ISoJ}EX_^ZJ>@b)he7ba6+6r8V)iXRon&`si$li>l3v?He-wN$zTovO&muaMc zEoC{GzD5H3VBtI; z5AT5gGWO|+|DG&O5E%D_^~QBu!%yR zi&#Gh2*>V1XYv)~ZZJC*a@W|)o6_uOUbt+|Gh@I012PIczL{I+!2#e84B{n5mxiEb zT>XO2!64KYy|z=o=*>5ISoJoI)c%FCrFkZ;b(xFuczhQbctM2*)$nz13ghI(K$lRDQ>35=!^m;qtG%rEQ!G`_!Ob2WX+xj0_Ot{|qlk_TLl zCMIjxVih;n&*8{i8fq#{U5_~IGMofH{qKBI*kn!rE58HvQrDM;zCl`M-WR@QO`p!^ zI5A;zS?KN3{B3sr&m!h~*`XbFDx&`0F6F6BKm^{)i3+RA@W5n^<)#rS#iOHvn*uKM zBBfaqKgk0GlVL$_<uO= zIeXbRp_l*or|IQKJEfQJ$c02e(th13(8P4=efEW&k`p(H3+_!}&(L%9Y_m08j+kQ4 zNMB#i+2q)bXRJTo`!W&F(7q+?mAibs(wO4s9dCA-Zks z{CaXU$eIqa^2|v5qnY=OC)jy`aDjsGOI4Zr6<#1bIn6wjU*S6!3EVqa(rSED`m#Vh zGX>>WcmWCk))#e^@+*9&dbk6xuz@=p3!rv*mON`mFrWG)|5ZDr?ihT=U$}&8pf4(b z%gUO8ua^~mJoz#nr@*MceF=i>`%1xG8M0lKg>5Ow%zqU~if;v(HyX$DzFrpYLs2g0 zzKhZF=6Ul5sg2oGKOCH%flaY!qV^tDtvXP(rX1}rI+W!cc5Xd@gKfG){-rM21iX&zT3DBYG56EN1FUd}c5orhZmT;G`u#xI5h!T+-IG#a!4(4;@n1mV(29c2P#g*@5a{#PD4NsjRSh z>gjg)>G`;~!_(9w=-MXymVt7qytrj9E+azAOY^Zq^=CVOl^GTFc!4t#IYMx3lRA*9 zD^Kko();5w)a-&rG4E=KyR4E~!VIEiYSrw)CT~FV=y}Q@XFv%7lRboE^O!v-01wPP zn+cVP>j~e}qJIiwi!CuMrFFA24H50$MrM@ZU%Y<(X{N?EK!nnx9RUy#j0npFr!l~0 zE9Pf7rh#&Y>5t}W*aOX_;qZLE+6xm4dN&2KLaUyxZ=xMOnqi15wG z(Q#H5Pvy=lh1?cynVMd@yse8}xXB8pQt3ppPhwVxS>yV4r?J6f-#02<1C#b3=Ixj@ zrf)aADhqM=NyWh)c)yG=>Gy;`w-iHSXlJR?v$9cbw&d<(E}a9UaCR?iNgsxabw{#8 ztKlE)KuE&X3*WSY6{^fpx=c4IGgFl*OZ~)Vnd7`NC5U$$2i#Dm#6}|6lZ#m)gqVdH zZHCUV!qU*T(o~$!i1a-FMtN*9>t-#vHU&-K^c9$hw6XYoEs`9zO!*aLI&JFBe44-3 zp0*<;GbLrpxU#~iL|kPw^9Yn_AGJ><>%-C>Q5rtIvNSxjYD9QwO=;os3CH1(Lkt6Z zmxljQN9gjS__lT>w;0tvU)ugMku&8fIjr+DifbBTS_GDT_`j$Dp#KduWgRf{4L@E;wGSI%Oo$9Ys;9#)t8)a6cfxkX+6s4hWuc||S& zSpUWIYgvQl*Ie?Z%~HH6mm4V2L6nv}Y~xe{2>6*$4Cl3PJQ*cX0PiXxNzYM+QUb`4 z$X}4F99OQ!&`8iirRJ^hVL+mg9T#P_7Y{pB5N zpxOomO{_~Pa}5FbL_+{R;Y@M)3PPYFa4|%ZA)yHYOkE2u{2TaX@vH^QaD!*Flen1spD+UJ3UKlGEmG3g|>xvu?@EyOkF9@%@&K)Ct}!@g=I3pjl=>i zHlDI3&LCA)7zn=a#j5&aAh;G&%2qpcr^6z8YM~)6Y@JdDW@yaJ#+!aLKVhWN)5^Ws zIG@<8yCGr}LIYjk+%lC+OkJRzVmjr_(`{6#09XJDYxG4iUm^Oe$cLbMA__Z%=4Y#8 zXs%3zCT$nc^i$Aa7_b_yke2Txhk<^`v<`S&#A5L9BNhY`1R{8Umx%3!`amNfwqK|< z*qj2il%SR-!S38Oa+$TB7k59f*^i|6abkX(k8txHsgutIlGkOM_-m60N9J2zikwVF zcuVz=Engt^@G;aDhHv3~plU3jg#amhQ}(9)$Rr7o>^tDqDhYwU&+0rwi*^1TQ!l1^ zYBQy5t9B*ZUW)TFvmen`<7kHA&TQeSvo&>$$)gOAe)z>5LPIbUvWq z(=3+~@B}wJO~?addOQrxM+g!#GRch{x<%j)Ntx&$Xvyb%N!~WPry=@(X!{oUsEX_V zgd`9Y-9=HNWFczoFDPgtJ`#nxNYIUCfO|Dwd4y= zke)ttV1Eh(bD_o8?K^sspPN4H>VodD*?NV1Gi%DR@kK?z^jC`2`2m;ShI4-~aJF;^ z%eBlE0!q`zG^wx;N)=LrgTHy{W=YR2q|Jrf<(`g;lq$hSS<_CcVS1#d_CODD!I?ee zkJ2=riLYozMINLyRK)F`=H=YwG5Adn&#cFJ7Xr=2Xe&FR1Tkq~T;zbGkrtM+8vA0FA%finH+>-Q^Gma<+*`xSDvxj0U&Ov#Cfm35L#ixr`LC~XldsvU7+ z?jCNkC#=7+v-iLhy8!UGok8$aEz;P*7&$s+eB{3ot(QBQEiUZjr` z{z^B)G?;XjR@)T*_SPLrkAt-oJu7_<{i_&7@HzbU8z9oI7b0V!N}Si4dg;w1g{06Y^Q9B^YeeGM<^P5OS=&F^c#Qa{ z?4HN=JZRtwx!7t@b~1;)##m&J5friZUzTSJ5C1>Pvq3l#?!P6^5U}$TWm)?_V$>Kp znTsLS>c{9ZH!~dxUt30l*A{jqdpxr`Wls-Banz6WEVFIcdK{mf#Hmh7PfLFqPn~PP z>1lds70DEPN(2wc&Q*0?FPr?tBV8lX^ngraIK<-y949I9_g}M%m-mfzxYBnAXcwP! zQMVm#+r^lm~p>$vUjF#rD$geTmDFb1??{AA=mm5&#?0s8+UAFrX&Y`vc( zAJ28!&D<}*s#9swA|VljE)sqeq7<_Wo>_n3jaiXxfG1`T!9!#wrRoe1-MerpI~}jO)1x5>mfSB6WjM) zjc%V5Q3)|4En=X+tQKj~oCR`;%@-+mu$a%PwbcY$w%QOWFJ2x@jM4p*W1SUMRGCK* zVJ^$wdG=WCbho+&0)$`0<;t;I+fwoeH#6vLBvky#9EL3@+pPz&H&C39Ke2tecKgIq z_p5;;4EqWx3^$c>15g2PAK4=TLu46*(hdf=&|3`WGA}AL%%i(DaRWl!At;2?1k#ay zA%O1*9cTpE_tX9IeK%2qa(NgpW$P@4X>eAx%q%aKT37+_K_qJrYc}tIXYFgXp(@`m zRFiJ}KSDH{VH%uMs`HhZ3-_{V=-~?7i;EHWmFS6r4s7Eceb?&$uIPQQT!_!uFR?#n z-lFLZ7$pwT0|iXYn?iM?wNn)u%l5l4l4oe4gh>b67ma+`%%{BEyHFSrh0akPaBITR ze8Z|(8eJK6mpN2tPJ#0qp$~o|{Lp4Xp*CYzTP2VDt0KQVnzMi=h6m7+gNH)kA*Tbo zb*;3i@{a_^{>9o4|Dt_9)g8am{zc&*%+{^Y$vJb^X5YiJu>ki*2;72ua)3~#l}-O0 zngsH+5AD?qY}s zH&&BDWyxp@P&E)L?3+~KKUg9ZpArT7jO1+kr5gD~`FvIApK|-YxP%}jlv7tlpb<{z z8}P#Mx|zRDnecQbEJnh8>+FOE69RK7v8WI6vOA~UzL~9WB4>lrff8(lwvGUIwqaNf z^!k4HC_~>dN>o@2m|3lO6F~S-a2``k*i}Gh3p@~>=0>~-gnKZUCiJd#{VYi3P``ZZ z6O}!ckBVIskH)E@Pvlv?%+=dUdRcV>4Rb!r2 zzwvdc1Dq#F$q;QL=jfh1Hn6+d>?XfU9d#(jT@|?GI4I7P4u`lqIO(d`#)>WI?y*TRaX`^$b zn*K0vgYIH1nR!tK_89>h>!>^!wnOTiwS)P?zCWHe9PQZP7_ZXjY4kaDw&yWP=PJ3t zZI40jLcY}bbjJRJRKPcw)i-Vxg>)%1A$hk^ zUO~uU=DJOcCd{?MsNF1~h==eTcJ4VUQE7-WV59PQj#migl@Nm6$k_u(55awTp6TOQCum!&hv27ZHwifk?Cg2&5bVe`VMMx7+xWHfhJ~V$wmUgrT4!nRQsSf>mnQ{)lux+)vZr zl2=c*@dA;DcScA(#d-M=R68OKA8#*Fv~?fTn<}BHrUT4HB0a#qm>0{Pp`~k=&N!{p zt{7OJgcBbnFWpKhY6IMxQ2|JSowgkp{%~ulJKpZrw~?Lj7+4R!E|%B1a>34}+-AvY zRWF;=%Z$hv4ybDFr(-$PN{_q);b>iBzx)P;Nx?CBsmDJz{x|G3Mi)3%WU}>?(wIxP z@&*yvVrl2r7U^B7;uCGvPfI<;50@}Y{EGqy0HwOqv8V4zayT$RyQs_=4sKqV*R@F`Ix7HTwU~xvV01P#N+U`~GYp7%3XD{h z%V#7@#(&^?H~tmcQ9=#V5=20ftId3D!mIHtzzd#Xqv&SjSQ~K)ZVEs(o&`4I(l)Rd zU7ZZi%Ih5d02l>K!WI?E4eH8^!86eMOwRq_AQxEi5+MbOJY)!wc|0>k-{xQEm)L)S zpHkn+vT5gkRNvN0-M$JahpxZ&Nt58<>8>%<9=^I3zh&G&Ij< zQhY-<*&RKZ)%b}?aFwteDO*bVUULhqD2F)E=lrKf;c9cLN}YHh2@G4~#Dx?ejmcMW-=-MbvZH_ozML z2g=MIC<+|(#~W+@nH=QN!GU;6su@1y@qvnl4WaTH!9JO+N@k>r_E6^>>Y559d2V#2c#}2aP#R zTfk3t(-!InDQGDlI@<&-*dNUXOc4@2G`RCxby64~ZDh5&OPu2_aULJSzKza~pjr)h zt&?IPacHC9VLYsj=SG$FvNN@s|8V}GN4eb2JJ@Vb443RPvr z#5=`43KY8fQB*xrl2DY_%8*i|fc>KC#M3pZt`ByDs=+d?eqg8?IzJgz+c=&$FjRf| zfRml7r?X8cGVJ>(v3(GJq^f~uC{#gh9w@4Q>ugHuP}OD}MWzebFRIc`)2KRQdN-*0 zNJb$ChN>R1wmMXGKl2|Lsygm>p^D1oPnYRUF7IpN7jXr@s;uteC>Hx2_MA+=iUjra zu{FmL8e);-B6UIfJRLxZ-Kn~kn1J;(zsauvvXWe4k(TXzBJyko*sH(fSUD*QY0-s% zb?vh=DDv?j;?6E)yHm)f`&4_~kjQcm+joYnBJFHo+H_W7=5KuWJ8#2gD$N? zCA&YCY`&Z`1J?%ilw)W)>!csB)npaaq9YUXuqH6x*zDee@_i}p5sMXSdlAT z_lLUf`@>wa)2xrp$3|Xv?M&N>d$h;-#q_TlFDLV80EZ`H5Azsa|ajvHqXv}es(Pt)s=fuZ3PZHf+X@q6);R?|U-;9wjUj{oM z?%f~MDjxj}>LK<`j?P&P$%=|qd1Ff6pL(t`D1U~k0_LEAc{w<0q8AMcZ48ubm^wh9 z<&pv{a|${mZG39jK?Ia_wWE}VXJ`ZDplC4$^6Z-exiJ^F;mSb^RNrDDVch58Ug#9} z1*3~zE9-P%%P9-JJqC-!CY71JiP|gj0wtTL!t}+Gxq7&kP|QWhjukI(0bC6bUI$W%utCu|@JW|;vGiuyG`+$a!6*1S|dTDS^+&Tssl;1|e*-AxWjYrPc6 zeT8S<$hRNx?N#;dw6xHs_Gor1B9nsc*nkDuX3DH7ob16hKw~jt3A5=o^)%0Amd;gv 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πisKjV-FXw@OUwVosHpzlgW>ohj{ie-C)mFf>pyBHV}DY^ zG=Gib|21*sVZ_%AUvV=}-G-;`F)a z$OFOnD^`Es;%kdf^8<1G&wiMg1M#KBxAmd%MI3*5pVPtqhgkbH$2ajmj=z6s>vo9m zY_Q^wxdDow(&XoH{EeSXtd01B;Zyv~O2U~d^)GuXtP9pJV)c<$d~ioc+b{LMar`Cq zH*ACaBhmg*S$y(Oo1Z01maLw+mn>J@+rDeoY~kfU|9Va0mp!J;&yuwveZ1W4uI=Vb zZa1Y}yKGsmn?E`HugL#?pCwDS?B=u1qKfB&{oxZ+OnxPwjOJI)NTzLGC}@1(aRnBwOzk*q}9K;QU9m&?=przY{(y_k^P#{ z$2I5Q{TP1AGfl1z_!DC6*Oorgvfnl5-^I*~_3^K49IU^`)~^^I)t}l8#Wy28?_2iM`QNzb_-_6rcb)@SI2hRxIT ziQx;&e>{sX&G}6o!+-dud3^(ZY7AeFipC#p^XdFo%yWX*XYX}7;K#)`|5V2NN2z}4 z{FjX3um0+ns$XHnhyU1b_IF7? zWB%qk%bNxKQ!)Dcmi|sdtA5S?6Y6KEe7atpFvwR@5Mc5dgfE3gZ*i-e3#*C z!`Cs-vCg@|-{)k_8q1eV{HOUnwKrq`sakBqIb^@$_-200|02pCQzlfh*}2VcC-|*h z(|$?ceK|sZ(hQ&8f8=^0|FlWeA2FaEPZi4^)GzUE|MVFB>HW@Bzr+=$oFl*g9;^?> z@|DFGjiT+#u3zGJGzoQ!Va=}(>Nn1QF(TUkl78v_Y36UKeu@8p;qPm{XeZ*!%j9<@ z1DvvHe;WMain2%_IRNjEqWuGUyYZjwrU1IO-qQosuW#w^S^C@c>lki#Q_Qu=6Z0az zw)k}W>H3@VkKX&C{lrx{!%trM!mGjlvDQf@e$w}k8~=AkTls@+zZIW*7{C})zm5L5 zdNHbBb(!`1gyB~**DD_FdlK=5Wk1~?>EoIA8Xw_2X3g1>Q`T;{}5jp|D1Jj|2>E=MqXZg>t%GGWB7A# z-f|rAY>F+eQ>eoCU)idvb$!EBW&GqhjjVlNK;~M@c z%YT%`mp0$>AL8dW?d!t!eWMfn)+vUsJ`C5X&QkwtwJ+b|)BZzuYuLVsPuIVH`XU+m zr*GLWnppZ+{z=?Bj6TQzxaDb7zv?pUm-s42SU~wb<5W<;as996__V%h@}B|5?k|mh zI$7Udg6tQgF3VTf2{W9(WgTs?U$nRz>F-*6w<&I4#2sb~$?eU(g!t0p zo3EwUFFjv{@*m=QCjRUm(K47HYwa2RCoB!)Pwt$dou0*4mi_epKF{P2`HcZ|o%>$x z{>Xl1@j3g6>zfZ|tvxz;zFffx@tOFp@t^t~dpsHFv)GJ}#HvuA zt)(AtP7vPuhR$ej55e@#(tm z*#XZZ{k5f!wDqy#KXIEHYf2aWXAg>R+G@Xa6J)b2W&JltA%J_eh<^Qh5_wD+%{Ga%A-FuVhj{HYjd~sKJ=jrup`44eh8vCa_ zKjAf0zmn14_8;O;GyJBUvqqGeqf@p`$}_Nv;Oz` zNPo}L-+V1L{u8&3`QW+gqcsOb8Rw(8d&UlcHWy6(=myb`Kk|1#^Bxc8cJ9+

qGBH(`J5#>~{>m>fyz~`Ip%7m$dxH=F|JX&uHk=k@_}kdAMpatAME~@_>{l>Ff~VTJ}x~!Of~si9n-!X zhELBoQ%j@z2xEVjhR+>9{_iq;JO3g3NuL(kR~|b^o z=fbSN5TC9e4!yBS5PwwM`lH2HR{OH&pNT7t{oM!EE`jvdO#8C)6XN@Z-$r&$Mf!^u znD}P(FT}rK@{_@z-ggMuFFC#yKi@TW7dP|tFPA($1o72n^4~Z7vuBH>{VD65*{=re zi}G{xYp1DcU)tt3x8mnAGyZxmY+q$Q4hME)45)PJBWI9*`j-Dt`IJA{{#np`fW}9y zy5F}L)vspwcKa%1_;g)y;-Ar||8>SO@y*Jwi2H;oXGn6dXHor%ag2Xj{zLpX48L@t z`#whc3oHIhtA6eM6;~N*C3*j~h%YU^Xc28+VwE|+{A}31Z2mos z?hf|H#@a8+HSl_#UEh!pO$SBoS#b9=agl? zWbF6M`=^A8>O=kftVve~`~M62W_;Jnn!nOke(qWAm)_sxz7yq>|1VtrLE8jB*8g2A zK2s%-{&svO{~`NRCf*l3zp-Gdu|IiO)c-xp|Fva5J>OfK^?l-#{cE3l^EPC^wD`9D z^!#M~K~$e&=7S^0ESnwJPw^+!YQH|ir{@F9Wf}8xUtcHCzo0hy*nBZQ8h_lD(fCZy z?-k3VeA55S?JXAs{8MrMW7)4PzP&$?^cO~-m8G-3|8ISSeg4j}-`3yWA4vR4=7aYv z%vB`dQ+}w1M*T-Ie0n~fUKiCT+3*Lo9q~rMck+h1x|aRg=C_LKPtON)KZ){5|BWjj z3eM*iOfvkWK2iI{_-OtnExx@!f%GB&Y}ISn69HcszU@ECiVwcUx95L|Px?2>(=va+ zPd5As11$Tk{#T?#^`Z0ozL`HHKI!vav8CezzH9h)d~+;)Jd01~_eE+{e_`tPLc`j@ z{*!_!hA%ArU5l@6{=MP&!rdL^ll{*=c63mJKT#UKoj*uRAGdW>A3Fc8EIw_&x?=t- zZG!yPi|OB`Wxulc_V|MIr)$ldw&xD=TN%UmEWXnwYQH_cCa#$tb3UKk{Yf;w(3U=? z+S2nMdwflNT1WbRLB(+}|7ZGlX^pRmuZ$rt)O}%kP`?y^?D|!Q`PSzlh;VQxTK; z?@ZgjNBwWo2jTp7M>9X57=HTm4>yGE_iDo*VXj5rUiT)lUo(8$KZ(E6@Q;ih9-RN0 z*efPJXsdpu)xNaZU!l$ZrJ{yg$*f<`K2j&huUdPCZ+`7`H~L6x{N>wxr$O3R^u|yh z;?p|n-=BW+H_}H;xIF(MKCS=OufA_8YQK`>TkV(l=Zp|n6}$gM)V`b-qx~=GNA1_% zUqM{ze`lt?Fck3x$G7GOh%1c$_ne#TA$`O*|LUU;VmYxVyo@Sh2m|C}}ZAKVA- zAxYA%;+`AA>xqtO*YxLW?FjwnJbl_E==z0Ge*}DrpY-bi#y?#~AFoo#_00Spty|D_ z@y3deBmE`Ar}O)?KZ>}tezdlK<%WU&DyIE<7T>e5{*T!olCF~B+RMKHhdpY}V3+AqV`HN*Dn3=6MWjNOxsBYfEVvmK~^ zk(_^8^Uv29ZZ%WRzLpctqWV=F-|An8U&ruAX1fjUKhc-TFK+A~U=rv%9!!DjJK`0l z{aX4^znge#blOkp$}j(p^pPC@J~KWt=bMTeT^5_`g+-_D3H)cViJ!^K!~E?H%1nRseTYx{=evy?9?UPb_Kp4eqtO0&#(r(_-L}#G zk)B`eoBXq+v74^-`sVu{#b?jb$9(;N`MH%p5O<#W;DFQ{XQTEdUcEg3A$|o@zprh2 zw=1$=U8eoSEoJQAl5#cP-_G%^^FhRY+VB^yU-KODf6ei&_)mPgdM{V6iS%(^#_`{d z&%~wqhj&huYM=1Wf+}YHNHBc=DHET~{uVQ=NT?H*Fn9C7#}oY6{#P>oqdJDqSC^y1 za)_TkztP|OIMBz7nSaoeuz!k!4bp1THR~_LH{F+0w0rYzLH(x2J2)SjZoj?$ zBF5nLBYXXY_~f7C7rr?Q`KL1hw_kd{yqFX9fAXK>rBnN%`jwZt{zCSX|F5p_{U3q< z$E|OAmVZjiKkfZd#3%a~?0Gzx-;VcBi*Kqez5mkY`3AzQ?+{;*e|DM`JfET9DQaKV z`jKz(ean7({mAAY`(khHfbZlB{jt|`;kcIU)D~Z~kG5ZWf2&%Yas3{BH+Qf;UNEVA zm^b`qeV=Jx(!8HknDr^L-!%p%uX%b^z^D92^|I_|;zRoTar~(L!thf%9tqlS!6c*4 z;=WP7u>9Y%^s(13$o^!*KlH}clLEdle9vCrx6UtXi!bQ?3!9_%yN18-V$(+hezM`G z*ysDK`7yUcw0_f{pT8~2mxh1oaFyW!pXMh$YyC)k7S+pqE#3d=`S6}OKSKI==7a8t z^56ZNf67|FP}cm6&8O$9D|3E?_`-Z}?5sD7C-|}byRiCSW$R;}kL`XI)ra`Mmpz&G z{1Ea_yZ@3F-{~0DpPrAcEI!4z9d&NK1I0IG^UZyy&p%lE+esga|KhWD&4Tju$eBa{R^AE(Q>x^ON z8wdSkubBKzS$ta`JHI6^**|IShkKCyzQq@vqW+`J_=ukGL3~<2Dt_bSesFxmHI?K%t`MfeZ*v(AKL48#6OiMw4}%{Kdnab&6ya@-#p8I?ENkEOkP{eoL|1> zlM;oY{TBZ}`dIC^vEe&j_{sVwE=@=JyB1&D_FMA<#HD$@u5Z=|_P4~=uV>|-?!D3W zW$Pp828|=VJ^9?s1i!Uw`d?wrzpteEAIpAa^R4-xbbhw5pdb3~tRL`G3}3Ac^Q^5j zKV#(&&V5n)wRwMyH2pjA={l{`rFlqy&$3@yd^^4om-N3`-hCYDuPlCe*Uta?7c0II z-!~t;*x_Os6yGG*zO4B%;(NwV3q9EX2IT*W<6H5K_?wOWU*y;_0NJlOzGZ(|!yRwz z?=tM}n#g|f`sKwR;=87UpL^>q-rm{7T0D@*C>ijQrnc{GXm5>zMT&;(u$( z8QSr0cz!{=!PKv%Kk>I3`}N|H@cfbF_?G?^jNRHKpr=~43-*V%?q&2hzjlrr{guTR zoul#1%Xdfkl_jD66%C-5sbBwW{hR^cqxiWxjGt$zel7hyi*Jwbh)>snTWS|W@zZ%F z+W*r1rRV2X|3zHNubyl8#FB*l1t~vCvi8SHX8uQZY?M}{*EiJ1bSn<=AKEr_4dM&N zetUkE_;mi_+=Us}q4w)Cd~b9(zv`R$RpK`_LgwuIP4IlV^zms@|LAyBGJJaOq#hU5 zhxl)F+&2*MJ%&%ueUmRn`LuuRs@k`#Lh)0)%J|Rwp+273|4;f*{r)}o&6g7P$L2rU zYG42HPiy}?@#mQjcKfh@Fn^mq|2biC*uIXN{pWfL6MwAz^Ten1#|`ZYRQWewoA&FQ z=c|aZc>dF#za>89=X)1@Ug_U_WzH9C!paSrk<)6oPYVB|6B1vS$w;G^-~Sf{>fbx^-t2jjGz7aKp$o77iN9XDQ)7g zRln~2R(v+^U#92Vko~03r?ax&8`w|rE!m#GV&WUUUs##_$u_^?{@nQ6BMbe&M;Tygkf5gBxBzbs!AgT|&f7aa;)t~scHUB%v{|lxXzP9HN zExxq)^!`~D!>@2|_{4y(W9-+K{=Uu65&DnVlCk~U-x(Y14=i{phA%Dq#e-3O=>4bK z;!iNDE>a6G1$>&HoM6pQ%DvJ4fGUIfUweL%>Q|Z%iu|Y72Ye^LvFoWQPh0KFv+XzU zNAt}7ZQ@h>Kh%3jbrkWYG1J@ z(qD0WD}N@wS-y6zDxn0*KYdFdW$9zxC1Z!-P6HNL21xLIj@k*C*T z#Fv-JuWI=8;7EYMo@_8{L0yvp-hZ`A-+CeVO$sY1XH%H-LG@ zQOoTtFOdC$(Z`N&dyOu%KYYUJqT7-Fn$yQ>U)7EMl%LdJ)ae9jU#?}pwDhst7ja!v zPSY9Fzd(Fx@y*xL{nN=B=KsPxzs^)EZC`Z;?K=5Yz>ixW*Hdx(wfCP8UmHW(ocd$P zzx&_C*7;C94fCay{}W%CdLF&AY?^;k|9)y&IKB{+f4*>e`9JZs;XhrrbGE?$iJ!b8 z(}Q3eUgnno;5yF7GFFR zjX(DID4m}>ETCnRUe%C3($e3U^*?0bi1TTKhwkrH}h?RDXIu zwcZ)^Px7DfLkp&@U&r~6w)8P({ZD_Ze0p#rUW5TD1RFmi=~oCay4s zJaOCAY47)m%O8ZrcOHrAqpkdt_>|vPd}Tmi*gtad)5@=iPyNi;<&)v_VHP>F%=&Z>${)mZ zrvI|^AwG4$^>Z!VjQEnX-|~NYt}$I-uUuv|(#Ny-((+GRAL0%%^XC)hbg2mKzf66? zDB(E0Onlz7s()I1h-+WUvfos1YgYHykGk)_;>qqt@%C8@O7C`arta`HOu-A@kjiAb{OO{`q=aTHedhUYbxT4 zw{ZJXy^Z~5|2FYY8J*tkTYhiAr~EB-P)Bl+w5xa<^F8m*w9o0+GuG#q-KVlA__6tw zWbC*1CzJi8|J#MyX}{anOPF(3Tmx?{fu z`u8&V!vrgT6BggM;*Xub+5EnPvZT!)dWP>=`Lk>BMb~KmYv)(QA7JbseDtTGf&CK< z|CBYqs;&7+&*H1>4bn)y8UNb+o=3Jc2>8nIldb$sS>p?B@uii&+5E0gRa_hJ7sv3m z#do_|`s5DnSLXc-#HaRELT?JrC#JVAWzDbpd!p^l_8)tGmH2th2Y0_*_fC}mNUMHr zzCAxceDePdsRP>~|MwWaJ^x93y6&EwI9~wvk139C^)JMweO^nK^zDN5QC$47@LhwB^u1#_*lsLyo7 zR}9}>9@;Oz2<<1nV;Yz~-19_2pY-_+Q*7d&!Z@HA{pCL)-!;#7b<+XiAKE|R{}u45 ze(Bf6%>1Ed?6>#lr}K^e#j3BHf&9~Xo$0@<{F(T4&2{mY3aI@GoBya4KdtslT*{-r z{o>Y3lQ4dhU@Yzd`y4h4UYKe`z}33}E_|m~;}^FD?6} zrH^gD9Titf?&e@vPwww%=>qUKgt-|wpRA_sD3r0kDZ?opX&GNVR=46{_nhjHUi~`=5K6{WJO<9Dl?Ijnb6%%=0~HUEDYN z=Pr7#d4gZ?6#0*}zM!o7)mHrqC-fgVFZ6$#-)Y-zlLNkUMd){q#n)E*avzKOr#(MU ze42l&&?8&$e9_qWuP<|aNBm+&pC9sMeFU{%m#JU7{Ssdq{(@CEU$@ttS!ogPvB?eQJ)Ngr?M!sn4bg7Hsjou49pexuKu7yA5w z;)Am7H{VO|-_7$|=>0y#r|bKj@85*_FQ4Jt{TFe|89V;jy(&MlUvm0b{TK0@8vd?T zU*h>Oj&F@Gh@WiYPvZk!g8gX|la2q_`IWZxk(U41=hGV-yJ`P<^Zm8({^}VxzS;Rd z@t?>R7PS89ui*Gpa(qjl^tVkIex71iyo3D5nG)?^d`lnOe;mWDV|042iyy4t#l|=1 zw{(llH^K|~zrFsL%Y3Srxo$q7g6ESIbWQy(w&IVl>=%zmk3m7e=JD$CtLILVs?~ozLq|IabFGZN1Ofm#%zc9 zv;LSDEGfnEJxd>(ueXML*)Pn0Z2nwlWKdKrUo!UlQ^FC8AH%Qt%OCq8e-_q9KOW9# zc+X^PfALo1CE_baANN#~#Mcu)12X3S`p}l&6Tgks$7lF{o{;Me%$VP6TUx-053=gnyTkoauc5BaCPKA7A5-Zj_!*Ps3%@yA$w6cc~!^+Dp( z{M*n+zHX25AHmq~Gz$0EsZmjVXnntMkwpIj&cC}1Uvvohjyc~%_WMR3r$+tMKp$G) z6xRBY7$2QKp|6qt!o(eKOw@kj7s+3C8RBbBe-n3f4F8KO9zKEilC$4%-LV_OD$(cX5J0k@9nUe!!WE`!CrnoS$@Fjq<6S zYm>eY;&W{M%4rOLV3=QNbAFS!ZUP$o>{~tUVB(S<|LyUGo`>U)e9+|QQ=;~}0X*?D zy}@l?B`y=axbcy#PtR~XLH&z8e`4Fe{qR>$CHS%SyEZ>CD)E!f|19hu-KiPdU!d6U zMG_y6AD2*#h^B6-?#rq_IuUBm3H6alTLH4KUzKU-B|ze z8GYQ+W_)D&8RB}zpyIQiJ)QVt!3m~*?fvJ{(nnhLE58rt&$Y#O4L^C{&^?Ji#(|~NMfOwvrl$4^>bJEb|1|3h#c~@zd@-8;_?G?t;;{WvKS_Mw%pV@9Djx{= z>G_p8|Lf8E#RBX<_WA|!J;UEpvhzb}e6ru1pPgX%!qP`P8Es$ADr5hwjQul9mNjP* z{CNGD_^DTf?Mu#%^1TE!__-z9BXtv(g1)ie_8)Eer)SwOPlo>EnLL8@aRYebXNhcm zZQ>GZzkUzv?_3-DzdJW-zaPL8Kb=}{8J@TlOf~lZCx5o;S6lYGm%{j|EWR7S6F*yE!EXnZ6s{|UeKFMX{2hs1Zy2ba&9urcw+So=MOZ|@%fvH4=#r6&>!b4teyslpCchFj!uX??N8^u|fCfJwG!65gQ>K1Xt@Aa~;w!6uWwMEHiPsba zKV-j`CGD@yps$mI{IIoiW#|{D%=3pUnf_7Q@uyeRe`HJ3zgT?N@GJbJk^+8`;is7O zi#mp{Ec>O+FJR`+&GV7c?GMd&HqIPBCh^CD!tiZ<94mkJExtc6oc~nj`4zsPJG*#463S4QT4lC1st zlIh=NKckO1e`nWkwZR>8rL8|2`|a_au=t*BzqP(Ye9x%R?w;}W($)tJ-_C!8<)7N- zThI3+zHj(-YF|7X@TKAZCqJnWeZR2VC#t{58RjRRc|Hd54c@6Yd|=x10a9Z6FW0i4 zzDN0qGuFg^^Zp~^yXJ!(-<%q3RgR6H%F^HFd!vl~=KP?|KR9>HamZ)duihNmug&u} zZ2rwNP6)*Jxc=RG{|@m3Xz(+8Om!dSKc1z(vg+5~e@=WijqW(#?tUP6KU%#07T@U` z^&flx81d;^?_BaSl>hh^Us`;7eU`Xn|JWBkE{W{d7T?_V|MC-Se;V^!$Xz^Io_L z=_3~6{LR*f_>HrMH?Vlx$;T02UM9bb(WSZJKevC>=ZLQ^lmC$6w=w+t%3r)1@%3f$ zA2$4^=2~OSPfd~kD=z+6?-$EsxD(8E?~o_*2mMPg)4!xz`&)$NKfc|5t^SMn!sI9F z!IK3O{MMe~pIQ_Q2OOu4*`F+}{!2U^jX(DD=ZU}1*gxmZ)Di)Ig5jr__bV049&)5L z|K?eIl{f5PeDnNU;+Hf0>!zP5gW9ia>7y;a9iNF$*JjBjv!M1XExs`;J-*rTlel58 z<~Uo|E}Dt_Q!Ki?_DlRA=?{L6bx_3;`WJT1`yK4}o2xv{!w;JO%WtCfOZh|OL;w0q zi3NXFOz1NuHb3bb<*Nt7Jd^ShY4VeQA=CayarA7y9LWj$Z**ebPoY0bvA>%3cjD9j z3cAYtcclGZD>v<$J24`owwCq}=6_WFlR5GR`D1MPVom1C*EA1)MOeOiCv)Xr%y)b6 ze&5*g^}8+qZFc&f?fXxkC%G~#U(U!}`K?wQ2+se;moK94-y{S6Q@)vpa0-OwigZDedmM`AR-2F?F=V?>E&Sd%ha&P<=m9OgJ^#j_!lD%-w%B-R&w= zzGVE5_P5YFq)I%_BlwZCsr)QXbi|nU>-2ew&r9zL&ZoxeuQFLa%`6GO@^yOo#hfJ57lwBpz5gb1Y#vm;X6m2TH)$W1TiDe9+|1qo z`0c;+MCB{y{%QS_?q3u!^*@iw$M=7}%`@+z^7Z?;{YkSvO8ab`t4;mS56jPzcwpTd zq2!VOQ~WJ;U$L)I`QjGb{%HM+bnuHB{of7CPfB=tYNX`wFI4_#dCr}I<(I|rkJiW1 z*RhHj{of1A&+WKQO4k1xK;@sW*az#+v_D!OqWbr)3CkA?sC-=iKP`VCcz$DS`xonQ z|3~Xbv=2oV56jo4{G`N_tW!Yyd)cYH5S6bv|2OMbl*hOw!t&L^@cxq$(oguW{OR#; z-q$nW{cEQFX?=^!R`%Q~$JnMeSdk@^vQ5-*x+4!Sfwr?_aLP_fP$f7!&55erZ$xi|PKc|DU;bK=Ay! z*z#2-%cp$`s*I`sB~(7H{|cQaPeA31Qqla{F+Y@l(fyPDo-pC2)7F}i8uzYRGPfEmp)c-zwv3hX6GFE@VluzqBbpP(Prv8^^?*6M?dFd8ZzGT{e z`udF7XDO~T^}j4EKRJkhSxu$=>q7DWo>?bSQTfhUrvIV!A+t}+DHoP6mQ(qO{tv|8 zMKjA5LFG%P{nPr6F#9yMDPNoNx%mJ2nQFoOM11`(!1)K2Px-H3-qin!@cxq$3pFVJ z__#v$(x`mNUP0%(PDq!16PB{}czjil+WoX0H76x4rWXDqnH_ zZ`Q|X9ZOaU%h&1U3uglGzs>U3;Q9Em^{<%wmu7v7>ffzw>VH*u|B1yFrx+-|`*k(n zK;_Ginf}N0yL3)SR5A6xI&=DWpT4>VDqnN=Z_1~0L{3#x{~u+p{E2INJ&np&nY@2G zXQWN}I+Nx9IJMx=DABy{Q4#}@(>VHkvhzczE_ zx7>Sd11eu;vi$UOOw~>OughHdx3yGJiptlSynj09B5IoY_cK@itkD-?{-c=why0JukvO%&^2K^8ACJH4 zT~qu%c>kF!pZ0HRQ@+k*`7uV@1ORW%bUXT zb$a4wTznJu5@-)}bczlrW2mw(l3drP76C6|92{b?V$sAKAXbLPrlb*yzc zRKB>Cng257)BKZD*VO+OD&KV`WOe@YL*oy0)~0-&UVcX>CEI_B zPoIC;u<**n5>0&mC;VvnD#rh5AGUvsssF8X|0zxqD1V4I0FJ+9Chwo-VN~LE(7}(~ zM&)DwtMT+-|DgL2Z^2Lc{Dbj78h^;! z!}4`{`S|`vJ=FV3RKB*`f6k2KAI(3A`bPg9ZknCk{KLwjSt`TwE&oe{W^n(sPu6jb z{yV9BeE+|;eh{udi1ktbk1gNqqt&K-oyqc-e|=R6bpJAw_fPv^{RZLvtIz2E@%+!Y z*N-hh<*Uq=Z}zdOJ52rWqVg-j`Hx&b=js8=&!qme57ldE>OYmr$L;Tm%7ugHf5o;x zo!RouK1|stEMKRWkH_Dg-Z=*SUs&ruGN%1e9_rp{>VG%gKd%3kt=oKu?q6EvJLboZ zKQ#X@8k_q6oXW@Z|M^c8Scl3NnT)@*Pts{(>VFTFkK6wRH< z#5U!;bX8)1&oCLc|2X$uY2sB{7>+Oe=cD_FT=RQUIK_O9{vLNF{a@`+sb1p#pN~7g zqt}M}C+8WiH#}Ot(<`)3b?ul|RB9&6Pcnw}Y+F1Se@>WS_8-~%)8+QC{7Q?$`*+4f z%ctMdeWuXo=pSOPbpPYCmJi-v`?42PzGupxXSmWTpMFopq+VwEJ#XKrkp8kzcz&~z zd5^7nHG2OlPpD67w^08S^Et97?wZy7BH!18TP60#jqMfVf9m;g{c9e*NB6a8`QE5z zX(TE?HIwC&|L@&1r*y*q$He)+KRhhI(&DiG#T(J`oz~&+sr(f4xw!kLf2aDNFt%YW zq`#^b>OaqLwN<_+LjASTKlL)p&-uu&g;Dw9dQ<;P!uxlpMDO3fAzFTl`5fJ6+?DR% zuahkwD&Kj-)W6{>t9(&6T7K$fmOpFu*L_j>!jxa>1JnNBjNZT7B3gb5eJ<|C&A-$A zi(JF1qVlEDf1cq=t9i>i(ztS>u|5o{8QW$@z{1o#! z?*6lz5A3P;$>PNR<`-p5{1=tN{%xM&y6;8rpMFo}rDn2x^1t)X&8VKx|D|3r<-4Z* zO3TChS62D-dn!N0e2)GeccuP!b;XjuCdw}+O!-ND!g{3diJW2nHP3M61L1i~%KzOy zVSMnY{xexV)&E0XZvGI)|7D?nRWj%B#fqr@x{iteru-E1IkG?QO8U3_C0DTi5ugA3 z7`Cr@hO0h|mhXHP+UImP{(qU}@83JQH7Z~23CpkaVOan2k*NNnKv;e+Q+|s1T-<%r zztjD{-}K1CsC;em-+6}XZH?Z)Htl~g-G3&_r~3c%NR>Nb`!5^TZ>5#y{-0=+b_?Wx zYIS)3RDO#29NlN!mF~agnvMe!_dhBw{}oG&{~N9v*)USRe;`_Z>SdPy)3v#S_rt}u ze`(6Ev?{!RJvv&x{3%*~iuqjJebc|w{ddbV_DyvEiteAdW3BSd`3BNIl|DxW#ayZU zS)Y!F{wJyaSBLj6UWk_OS>>mg&&3p*{?AnYkzOAK>#woxUzz=X^9)yRkNUq{8Tv>1 z{b#a#ioe79CS8>%KR*6`5b`U16yCo(E_(mU#9t~u#e6RPMq~a!_rI*;=ZQn}xyQx% zzcl5~Gh8`7TE06bY@byA|FQP&aW@t3|Nly=-C0p6Wg^+-baxVw*6mQ64(?DWF{Ikb zS%pe19d}2P4hR#`rW`_4q@^5oIo;9upo!8(MdzaOb6a!m_xE1SbxvpawD zUaJ2QTTJ^mpDRntmp}AB>L!!_na2nJJDq!3+5WqD{i|d0pSh1se;hmhnyCG2bNmwX zzQPwpet_fe9@Mey`84?PFEHaD^SQxi<&Uq-@8K||%;UrP=epp-@AsX5-iMukhUW8= zW}g!sJ3jm#j$dNl2d}XRS7CR8{Qw@OwCZiFqHq#v;`Jy5YfV_SOG;vGZ?Xj-Q3kjorTnzlYL^WWk3(fD8XiP~R@c^`7vf(*y6)A_=( z=g*<_-+Mf2e_8XnqH_7`U;ZZ3{><@9na2nJH#BUUqVi90n`!^cO#VNq{PD%(=KJ4l zzQ1{2;fo?aK>OP<?jA z-pS>^zg!yo{_sBJdxH$+-{jW4{Fzzjg`L{{8Oe z`@duQzk215uT1-deE+}hUiTN-{-mk@=5zhC${*kB73C*5e(C@5_?!A4 zT6X@4jz5B)=KI4skMqkPUp!I%_$B6j*!Kn<#$OA%?bZ8^kB-0e{igpjpDQjXe|-2o zd~PZ8_~5_l*Ys7&e^J5A|C#5ki08|n|AlL#`ZpKaKRk~GfRG6NU!7xuKdJuDA8yLu ze6C8zzW<)6{e@8f|BuICbxP0NzT-cP^}jMBzlXz=GLH}ak2>n-omBr5n9om|>x?RP zeE2;azr?%`USkpJ{{{JWrBwY>@crR)2bBN*@OwB;DZCE^B!d49A3O7beg32QFNE)J z_HmK1W8xAgi ze7PdZe{h^q=JBhUKlt~~qssO-saj&@UrTR`#&Pg@!5z`@i&jV9U$-cq|6%_Ne`M57 z19Kg=i+MkMPCUZ#>&^W9G3xmGT{FL7K2N+5JO6>>bcyotE^{616VT%aHm~9MJ1$sp z0CjxjN9!+()|l~6{P^D%@Bc(`XVg!?@w=G!BZuF2S6KA#xHjK*rjGBM>ko6y=ZP1~ ze}C{lG~XYtLwv$KzIgS|Z>Zyo?;~G})<)l7rOVHM!tsMcP5GO7@Gj>4*!PF=PsOLM zE_?oJl_FFB2FCa2s~hqk4*#0ZBVe~!Xe-Fn8U9Kr1^V{ zC$0}O!sP6<{`>qx`Ly9v=JUfCAFQtu8>4>jX!E&Zd3nCv|B(-PpKfu_+I`~>bbljx zeB__MA@VQ0rTqLa=C|HOmrM=K3~i%U%sHnj~AG6 zMTyDRiH-L58~;0a4fW)qk^NUv`9mBX@xk9gjOP!993OPZs}O}5hrs8>Bk*OiwaV`A zNAsInWZFmU1LA!C2X=oz2QG-g6BorkvHVNm`z^hz?EYt*kLjOA_&^6Ph^l+kkC&(V z-z(r-w)2D96rX;L=U?!l-9ONQ3!;8Ms>lB$D*qGkU3uTdttdWu1h4*ykL-M)0~bWN z-?Kc`|6T##)AL^}+g}4OUnXCO@PQ6o5X14&zRUk3D*qGkRoi_M**-M0eaMgP{(%l$ z5Y^!5Jfb|+|6T###I7ULlz)QhpZAHK4|L#ysGf=P{Qro`{{(zj_nBID{Qxar!E7H2 z;R7AGAbQh_%LBz;0bldQ)yuB0qkQ^sUiK6NCIPa}Mw z0~bWtw=HH{;U)O@NwuS%BKer*8+>N>4|L#y7%Xa2V6puGeCt=-RD9~xaTC2?{!}P>wRhG10A>^>RLR$g*V(blj4(1K85gs4qOmLLmuB5jlL?| ze;zGg#pLrh+5H0@xFE{2d3NLkdHyDue8D&NjN8Xos%SBg&@!>fOCtNnPO0~f@gv;F;X z|IVK_>?n#)G5NgjkmDI0xFCkN^4jm?xv|YCKFQ=$2p{Oc1yP&lW`kex2<>-jquPBb zKFuBf$i0^U!pPPaVtS6Wi^4paU1gU?R`IV;=hF1&U9+!8?Bo5kAm? z3!*=h$9LHF%%2pW+ExBKDwIQfeq8Rb`v*F3K@4Z}_`az7TG{=vX#XLZNs-4Sbb5tuDJi5Uqbc(?9PgJ0Ix41rhdB0iJjSzVT=M zLeJkb{Zj}Z=)eV0&qBVB0R_G#&n=ru`KOtD{?GQ~feu^{;dvBs-{3Xyb$aUnvi^xG zyzz@h_&^6Ph@NA;3Gmffadz4Ld1(EUOL*g#;1|1ppaT~~F@QHe)cD-5=2CpB8qYrw zTOS7H1Uhg*l#ca<;NNrid{nl+9``TSe#1HC*KYtvi12|9ToAp?1@NcV2z*0oPW*}D z3u1imVgDKb{bny;X>{O%C>Pk@51$Ww4c6AYo8nVUKJRzrct!^= zIFheP`RBvJ=fwR}2p{Oc1ySVBhmW#G;G6t@yR!W?@cPHhFa95P|3C*Wi11t)_w*Q(9a> z@hRr`RQzS<10A>^!gG%>NZ?D?Z99wN(@ee);R7AGAQtw+MF4?s>%c2FQhbWpzscQp z|3C*Wh;j>W{(juAJt|Xtn#t$wvGairTo84lCE{EpgMSn6++245IGSI?alHOlA$*_% z7eu*-$M@|6O*O?AGW!qzZ@Yh>0~bWt4;M2L{9Ez*2tn~_CZ9(5KnE^}(s7?S@b$d& ziL(8X(em|v=AFL<|JeNl9k?LE^DJHd)m~789KUF0{S*J%`9KFQh_K(Vi*HD`iDmnH zq5g^EdF>-a_&^6Ph+bXZ`nvm`Oqbn%g7QfwpWJKr4|L#yD9+&V?fFZQ*Wc7)-uZ{; zore@vqyra3J;DBc;6tE&d|1_MP5Gypd3*hZ1)dz;DQMI;adxLp9tkUWAz{8`UA=2(+D5vzy%SW zTj=7u=brb-{zKN_jbDO8?EZlcTo8kMdFMx6hacFJEZ?d;K9R8Vfeu^{y)C@^1NP2( zuk8L>wEjsZUx@I54qOmbd*1xUqgC(yh2qo9`BQnQ-9ONQ3!*%imtX!kV(5bupQz3& zU+*wGALzgZ(QC}(+Y`J+kDr-*3gH7CxFEuFCtdCLtaDx^&)*c2&p+JmALzgZ5uS(P z;(KA-WO9A1IDuEb8sP&SxFBlBK3R~Tul{Ux532r2CSP!b-9ONQ3!*-cSN~?*-r^XF zPciw#k#;`NfeWI48*h9yrQhn4DL%;@pN0q@=)eULp2y&-f4Sc)R;Tzhvwg^;?EZlc zToCoO#TeRt9qQi&cc(8Q`IzPF9c||W9k?JCo@atk0$=jEW6GW%iuP}c*}o}-4|L#y zD7*6d-%Dz>YC`d8CZAu)?jPvD1yMEQwcp0~o_i|ACz$=OM)*JnE{J|}9$$|&C(!rz zF!_RG?EZlcToCn@yz$H6mHo;4Q^bk9{zDvV=K~$MAc}1~zFjY`T1SADb`S zcOx2+{{m+JrVu{RfeRu$_Xjf({F`}G%Qh6BV)FUN+5H0@xFBlBK5W4E#`a6e{Ubsq zpGNpV2QG-P?}^L5BQ}0V=4Z|13y!z@2Rd*;gndt3d?Py6T~C#-_Y3d(jHqho10A>^ z!oEW;z9&cQxRK%$Oui7|10A>^>UVkb&zoQPlf1qlnDZO5n%zIpfeWH^?9&GAW9sU^ zN0R=v;q`A`^@tCS4>4i%csYg-^XAtYeg9HO^3~+=DTFVJ@Ts-D`R5tUs(eK8DJGwP zg5AHA(f{M$gFL>rrytys;uC`BpGNrd7~eWx`HpG&{s@XsG5LZM?fzwq{vZF|;`!$_ z|CGGGFKYAr6E*C7Nu$U4bWI*#pPOc%NBO5e;9b8A5xyM4=Qrc=eUrbDo?rWr$0tv+ z` zUoeWdKT@6hAK66m)#dr;*R=bWGI}|4_Pvl#@#gQ(8?c+6KW)h4(+FQ4;q#v1@vT34 z)Z3JQvN?}05O)7EM*ok0Y2N(CuBYc5O!4U!JU(%XoiAzh|L|SQJO90_-}_05Pxw5( z5aG)qeCkMd3@gvs7bF+Wb%2n?R*KN$NBUG9^W^2 zjW~lUUwtvJd=42QwU!c;R`16^7GEK7L1|zBy;}7 zKi%$M%II;EwAqI?uET5aZ(EI;l}JA3`I|=g@(3U7V-7s=2z-^Ai!Kyj!1OOT!|q?k z=<(zGJ$Uu+)lY6D*XJlEpQvZ&OBy}Sr>^Jm$?b1FMfn#p`9g#*hw%AJd3--yci?vv zpJ+qx{|>&$`gZ@)Mu+!76eD@#`x`g;cTjwad4A+Iu=6F14qOnmdCn@ljz?%8bq~IN zE5)aodpJJXL`3>#xdG_QR;bii|D{gX^SQDo;!8a>X(-5>adOCIS+ z)jyw`{}8?$!spN7wU4FqI}NA!L?hn#MV@K*FKzU=f8Gnc`qz43@v{`4X8PxyW#>y6 z{l9#?`nTn~cW0grPpGNrd2%o&0m!D5Owe47nPcr#}bL{?Qj2`#Tdza_mv`G!$qxi(>JpaVGcD|(1 z<9xxvJieCIXK$eR6q7GR_;LuJyn}asdBngj^!n2?c>c-8cK^~wkNc-TUpSM;_s&gEk?mJ8{qvjH{Yx1= z?w|iWuY3<#vhfwFd^M9#BYb&;PqyH--)8gHlH&vQ4X=EIrgr}_Mvwa^Kj!i6>Gd_e zf6li&K5@RCFKP5RpP0?7e`lWBs3KXu%=H@~!k0t%{1H6={PVjEp!if1X8vnt_b+Yq zxPSg9y!J6{*HH&je7Y8o&uebyOBg-QC#vwqSDn8vo=5R1=Ji2^@MRIc@TBt3eT?%b zjIgZsqO#{pqU*CYlh41v?qAC2@#D*Y*Z=Ms{cJ$-i3@n;s}a6D!pD97$GM%G@1Xc3 zlP_pt_b+4gxPNLZul}jM#R-Z}G5N%WcD|(1<9yube;oJJ#kW&@n#mU;d^v<1s|8{M-bp^#InDbX&v7Ikr^f;dy$!otC zcdOr(;*(51h45t&KFuuOm7TuYM)I}dY6pyO3A^LWD1e@C8X;{@b>_9=Se3GWld1yMJk;|HnV(^KsIxhpeRhQ%pYZB0FEg z=y5*o^Kr(%-;AEWXRgmt2wxWA3o7vXkBfKTe>UZx{)~RUGWg`KjgKK zYQ1hD*SE`JUi;7pUmoF85Agc8$$!4^BIzHKFG$(_%NQMegD95q{5!7cd-VF}mOTGN zTRUIU=)eUrIEYvOYCW{KFXf+P@`VUr4&!@+cYfZa&op}c%;b~p?Ea;V4!%JY&-3P= zd#pb6I?6xI-njB2=3Fi1kA$(bcPc!*0y=*@D{0hzF^Dnjg zmoj?6H}gaI4zK+ldgJ!LNdH>%+OJ0V@(7=PkeB}&RJ)eUFOta@TxRz#WAy*{7x2cX zy?P8Tq5P9gnB%|8?R-h2$N6ME-u%nsgI*`s-;0BJd?CV@!}yrbr`s@m#LuLEO?mZC zwzvD2HhSDYZz-?;_@noqS5bV5$>){W`4UEt^Kqa5CZB0OjO1gkKUD}{7U9zkdF|u* zM|$k0_{2rL^7XH<`A zpUXS{edM#@7VRm_b+YqxPRQ|&%AiY4~r=OB$Lm(($1GKdYq5@{FKsKo1dfj z0w$kA__7Ee_xUO3rT!wXpL@UY+OL0=-M^I4&?Z9o0TW z33L31@Z}Ib|7+g(;F_v+>HQg)?L&68`e^88$O<+b0So87;R(c}L4HKO;&b$AWe_rL43hHSsGD>MIHYv)TE z9gYhzsL$hTKk1#X$?|3Lg$Q2`;q#H}BES#+)ji?Ydr7`tJpW{OyMJk;!*L-B=JQ?d z+xk;AlJ9rk_{HmC=SvtJxFB+$UvYG!GsyKX;tw95Lin;6AM^PYr)(W|8s(qQXe;K2LZ-vNwe#O;? zTtnU;5HR^fFFRk-=mjqG1NZqA-|g_p^@-|wUjGpyd^vdd5xG7`Gx;>amq+-x`&0LBnYoDc?Ntu|4&mjOV4&T zP;`9pS^4LS!#>#I26MgCTu}GFiu#92eWK4xn!hji;fxnDw`PiWzyae*5I(s$@=pQZ zv}oJ`_g8=(Ka?7I>3(Un;miGB`ONoBZoln|eSD~Y!i(-7^an@&g-fDwCGf#M*oEt* z=5ytnk?-o}$iKAt`}p@jUssEMGyc)}efHJAE9M&i;QgN*5|yLg6pf#?`F!rzY#$owIpWCtA-;3_${gb!a z{nItu?f<)hrhUkZ>HfCdLH4~k!U*p@G4xC-{{;_6dBVHR)bGJDJ~NLD>sbyopR13H z_$u{{>Pr&-J`RGshVni1*=GIs`G?+rDd+L-PY#jegI>XKKol*^`m2n++=1`-w;m(+ zXO(k#d~&Ege}E2L5JTAC+rf9;fSUJ^{#{?b{y}j-`-RuuFgqXUzy%TZPlQs5uvU1lm6rXs7*FJ*V?f!udToC=mW`5Vf*P&uh^88IQ z`NSP|KG1;+qPK|0*Ky8NN%^Okd?CUII&eXhxADsN-PVti`@?A_pS;uVALzgZv9N!W zqkI>Lb>#kuirId>5q3V%feT_`e-H=Xfz@}sL6xuO=0Ai_86CJF`U}kbse|vztDc)g z@d+lMf0x}q(18o0teA>=3I|`eR*ybL@}0-be+Zv8I&eV@ih1q#y(_+__n&0)1$W#1 z10A>^7VfWb_;+%R$WAZ744|L#y2z;*b-$h?t?o)h<$>-l|_YZX7f(X7r#KzCxw_eRMS@rVg8S_Lfeu^{3+p=_d?WvCd@kjmXu|71#Qk*l9at*~Nnf`?cALzgZ5!SC2$~jg6q5W z?EZlcToBcj(LA=ReasqAja*+MnSA15J0Ix41yOY7@tt}~$8V_eRZPAR;R7AGAj(xO zS^4?2^(POc_%xGGK4SL|bl`%hy72tlwf59cNIvHH-h0%}2Rd*;497?F2O;ttN63Fa zi*FC1_{2h9`%nlU=)eUL_+0H{@<)d~PVq_R_`rY6?jPvD1u^)FH~-S*hE|J7KBj*f z;R7AGAbMNO`X)#IEBzwaMDZymU+}oyKhS{-BCJnzjb9!e{A7mW)6D)&jI#5A4qOo7 zdYp@I&MUW0r})HSyzxPZ@PQ6o5P{FtK0bKk#wRI0$>fux?f!udTo8fJHNHCc(Vxzw z_!N`Rd&15KI&eWO@FDB$Aph04>ax!$KF#D)2p{Oc1rgRQxawbvdRq>s_{8D7`sa_a z`v*F3K?FWm{hPC@C3$`+nS2`I10A>^!ny^Qf1SQKy6pNsdi_!{`GP0y{(%l$5P{F- z-?HV4$or4vB3}P1#@hKn2QG;4{BD{f#TCl|GcN|dYmM9iGo#;6(Tq*57qJ=^wLv{b%g{r4SwXT<5RP0K%<>JMwfmPrbTKBnzU9g<_nqFmF2yI#OOz*m^(K-$ORowa|a_%xGGj<@@lM)U$-dvl(I@Qr+B z6M23vmh=4cCfNBBhz@)(4vgUy=KtaSz^7NF;%NI{L;ZXD)MxIb z%2zVmhyR@2zZ9a&2aES}xbk29)92CahnW6pgd>mWvPX3O>*A|As<;Q`pIE^gUj-BG z{$&tdt>s;x?)!L6vVW6IJ~7G8mqc{nbDh84Gpy1vlz)oJ7a|-vL@&%+Ir_K1mae9+ z|JLN4AIZsf|I&yKd@lcvI)6Zp@=r7U^HjtK<9CRaj2=%Sz~>?Np+kOYH~8!M6rWhh zYahyRz_=M=7SZ(&(fFWn9XR#{fUl@&tIZUjWb*mX+sikF=)mV1zs#z3yQ26MlTRZY zc|-?3*ZD`yD-z`ORn6oJrr7<ffNvgXrg{hP3YUL(9o(-o#V473a)#Z%G@^Tt z@$z4rp6AS=_%yTrc{A;N2}B1zmw$JhS&>{Hp<46$UxjdF5nWvv-QVLHA6$OcMdbZ6 zidnw?OLqTKh#qW@<~3a7zbd0=llRwZCZ9$)@`w(6uKc&@jWfvhA>QM)-{57te;Gsv zKE29*UmWyrwXgsEd#Zg%CZCvP=Sw1bAfx#MSNmwwH6-`Hl4E$!p9v9;9HOh9JiZf0 z)a*(5r`zz_ubgf7FOBGaCYm2AT<3}n73r?=s8Rn`7roAiDQGZ~exrPb_Oo z`KQ|R{8I==7STm9FaM32uy_^4rBBPzQ~rq$ zc;y=!4wx5$m_u}3lQ(}_p+*&Q{z{eb+OM2%_iv!lLjx3_9t~~#mKJv>J zicfvX#L*o z;VRz;m;6EAeYsemUcPBW2R_->jPqj#L;lNG{*b&rt(bh?QafJ)(F=TgTE@tt zm%z7fO7+{Q@|Dc;RR~8G(F=TU((^;DULMqv;uCN3%GZC(?q3Sgb!*=FEE zX#|GPH9j5l@>%ry1EznW;efmcF^A~l2A+RM-0}HXs(cmGKl!%Zzkx=N`v-h3|7JaK z19^Q_p2F)tym##NFM;U(sObE|HNQJ%^ak?&Y5gQ`e6I`#)H{fCjUM+8_<~VpAFS9L zAU}^>x~CsizT#qD`|y|B%eTbnvBP`7HNKE+FO+UA5um=Ua01 z>XQDgW9GjV_WGAWbkWU>?;ZVH@}M6tqWC0}Ppq_;Z;{dCaS;ge?lpToaLrcWX7Zxn-h^K1UQcK=d{9vCi& zvEnVPA8%T9H9f!kEU*4)gd>mW;gh`j_w;E;)AwI8`GWWC{$&u|dz#0W{q*Y5RQ;26 zdE*1I+Rm3mboo?N|6JpP5p%YX`@d)=UuZaBTmZ4u=<)hh;6wHyhx{_)tTSGr{8Kx4 z{hM54_b-j;-ZN%?qXL~@=6_r=gyItodFAV^weuwq9r#@3`*)Li4^e!oGVlH)g>YmM zU0lo?zsw#|m0o`^pE>?pXZJ6K=-$J{`>UjDexup7;Z>A>@>HIG8sW$zdV$X|zM8&# zAvwRHnEnOp?fzvDU0!SEg&h6w;SE-NP5Gyo{)tjMUlP#^e2)7ocKzCtzJDRfE8h^| z$RWCVHp(yhSUSJ7-1F`!lz;j{UVf49+x<%;I`FyjOV#efW>S3Obe@0S20LE@(f#pe zd{spI*W~SA2T^>I$)^yGETRLS%RhbXVEXzrlh5C1_b-L$dV=wGu0hs{V--um4a8M;6iL@@RdIYyRb{Rv-RN@~vTx|30z% zmqK*l69ee^jmkssCFf5i(?5-HNX##AkNCB%*5=-#hOAcz@^(!-`NUUtz9gc1{dwhkSjBb=sP-XCdG#+uIC6+C2JrZ9 zZd~I;icd59H>vIZr4ij9$m2`YI&~4nCt5Mbe_z}A5{NE)@%oSaBj3^cZ!q~3!jVOE zT`L;@K|dGo|KR-N-w}=8r~Fe)K7X^_zZ9YapR4`8_~+nHDL&2Q(}n}a1rT=`J?;U-ui>$lT1GGjh!!v=)mV1pDsJ*vqwn2 z_nG+*;m9F+FqoHLI^MHx48^CI{>g9c{-qIJ4dL-Ey5+@=6rX1L=WVs~B@o?zHac%} zt)DF2y6_8%Pi)|ouR=Johz@+N_A!0sCznxtlF8?PXZJ6K=;1BA^8N6Q;wcoLV)AK( zBai6%RvuroPg{}eW5q^Z`38Bre;GvghVuB{UR`+!<)3D@U$M>3mqc_ijK?>*!!VLh zanFAdjvS(gkC^Lkj_X@L-ZAuM(my7j+-~*0#5{RyQ zoADn!H#jzcfbrGNo!gpI{;7|6?L!$37`H&2YxLORJ>UyA((`NE^W!H_e46Q>|GnM6 z6rux{tN%En&aZb{R?R2(my#dz+DC|RrJ&t|CoGor`^9aqKkGs zz7PLw+LGea%<}bi+4&NPu9Td!N-3i&wn-Z{u%L$y?m31E+3ElbIsrP`ey+-KP1lQ)xQwo$RWBv%9O9; z`b>-F#S5wWCz*WmSG#{{MAxQ$xb|=Ad0QoV{$MF@eWLf9oiBmt>T+Iwxhbqk?;pYR zPazyxM2F|HyXxQYMa?~`d^MBL|K09i3ekbjmH#Fue<9C56tjFa!jVUG;B&2i8QkxW zmnr{5GhX`*{;>O(LG%Kjqy64BujdSs?=4>Y5PwE|ke4AA89kn#3w)0A%Ry6R9g?p( z&%e-c9AH2o<`7-B=e6I`5hs$*S5r(r`Io(X(}*rgczi#;xQ$*v$t+)Qx1BG6=wfu# zf4JK3=0nb$MU}5!&Z~b4;m9I-*eyEmb@d;+FX`Nl;*(o>eEuH0e`5MI=OyQGx7ST16ujvt^Cy{*hdF!uyugU(N7y4a@ zDMXjIoA%)tA3VL}nA#MdWb$c*Bai689X!4P54WY)58cFTAHe~3|1yZKpEmoi&7s#n zU)JN8y_A3IJ6``LD%kmwhz@+N^N*#aE6DkK$@DKoIC6*%e6HsoRUUWRT*^PmY`^kA zyMJj!2R=ECo_{%Gw7-<%)6DYqDn@)Tu7_C3=<)GA@VUl+^U_Vp^CQhHUxo0^b@0J+ zV&nX9edd8K%P8;2- z8s(p2@&yOm{mURa@VU;<)A!}ir}#9JPaI+VjL%iRJySsm#i#r5`d{x*J6|QEqkK)<#(%Z{ zHRP9%D~}|fzo41p7iBnLTm>sy*xzW!l$|4NJ=H;Kzvb=@3t z{|K?2*FLo20N)_y5nbNMTi-UKIH?)RhxJI5h8r04n9}^dwGMmw^DqX$tRDr z`!~?&F?&4l&$T|H=);=i^-FOo&p+=dJ6|QEV|;P}Jw9!?^ds{8S2Fn&!Z+8!ryYF5 zw^wY}~<=}J8Uk#f3Cw+fj9bWwlD%t%T zZS=T*>iQ_ZNXPSapVv3i*Uy=J;ut$$kVpH2EFnS6c~yMHM}FYr0ek8(9S(CgQjeA;lpc@e~2MvvD& z;B)oA-c@VJ{#P^kg5&J%W3fm$rZ*R}5PwwBOndcv}s=a-r5k0(=mtTH-{@U*;|73sq`~&iw zSIu6&m5d%QKj71j`R5rshE1gS1ato|WjKHrViwUw58nCFSGS$kp5jvu|G*c&y1jf; zi0+*mm9Kgx>gV8dAVT}-a@N-E6rX1DX~O||58^JP!*L7I@C8rPeAjfi?mqK*l zlbc&Y6)6{?eLQ)~z}^&}WcsHOjy$3l_#D@#s}(IF=l>LwFQ{qvFN5d>KF9d^qjR1k z$5)zJzCzgfl8COE{qNtW9J-7uU(NI{L^yJYt|V`KaAwD88H!I_%FKVK*!@c*x;FiX z_boktT5ydDMT;uIoj{u*X|xVSLkw^5fyIDW!@K2vwX$Mul@)q9y*}b-I^72cFaO4o(-w~}J@^?kC zT<5#*1@ylY9zMPq#V45eugcTx{-qHe_`>lt-^aaollQ-g?|JRRt83>=AUg1=!BIbg z`PcTQjpY2UVBTM=5RNRO1D|Vt=+h@w)u75(GX3+DcK=d{4t#n7ef?-_aOJxsAG7{x zgd>mWz!x^6%Xh#hf0OeEl3BjN>307zhz@+N{L*di^rn=5in%|7IK$4DM07FI%o{k) zKl+{cD!u=~HeUM;5sn<9>zkr}Ll)8Hd-j$Az`XRNx5-v5vJd@F@;WD#B7%j5Hx)gtdtmMLEU z>o>6bmqK*EQnYR;l=S`#*S0;3Tz{aLd>Y}%BRcT8p5OS{hKI=e1LPXs_&I23_b-F! zz~{<;$AxRi`lpzDqLID*78yO>eu2+5zxL_k@rP0ESGMKVztC{NydT6IqKjU<^Ix&` zsOKp@&Gb(e*~>SL=;4^+$WllD@x%BtOGrMZf8LpPz67EN8=}1IT0ivqFMVs0d{6QE zH-&Iy5gqtk`zyB?H}oTlPqgFJKmRPdesj`WZD z{K3$0K;DCxL-b%QFTcF7^VG8`KE>pd=i19Rjp)GVD&JXOHlXhxT*j+^USm670?{?I z|EO}$sM(Z%@;)A)LO8OBuCC+tZ_l>4E=%(5<&9tb^X&em5Z&7o%}a{q^!;0JH9vd? z#iy8j8sW$zI`FyHk573$L*Ab(7xVhJpo!hT45AnKX3+Bo)qWg4l=4qA{S!^?d`Uzv z@Hyspe}8dfRf%i--{?d-IV8_LO8OBE_?IxpU(dFHN_`x;PLs* z?f#_@T|UL@f1iIrR-*VMlTRZYc|`Z0=J7p##G>UCpX$r=FSx+&Uk1_j^}O=^=l9=s zQ+%4qCtBF~l87#ESCZ9q$vWO0RuKBC;b?G<_{0yq z_7Sv<`~xnCqm3RvKJdB9w@d3bbpOHR6Rqs!n?!WkH@d#yYQM{Fzjy-WpBls~-w@%* zAv*B6_CNUP! zOO>x=@+pKPi|D}T@^3@sjuk0B%`9L4BD;SnL=PX}U7s1->#rdcpBTa`UyX3&5nVsX zE8lsC4|K9_$_6b~ZrPnNgv>Yr?D_b-j;;$fbDb?RO6JLR8b`scN?^Cb`+_+0*dweo0k z{|L?WPazyxME4)z`S)*)-B(clDW-q^C3gQ(hz@)%|N4sMy6G znOy%Tmht#B!nX_I)1wXFI(mIhzTf)pWcf0$uLf7x>t6=Zy=QszlUF_a1$q5VpU1nt zAUfFjl8COE^{?)lO65;r4hZr=g2Sm z`pd?Wd>8S`*Xv~GOCWkUE~rgYr)?{R^(L`OuhFel8;&c zWEZ=CX+#G;*ZA+=(;p(oe{uoOKd-BuFM;UZPM&{H%pSRu@=w&^wO@sBWDyicN z!KgbZKFQ?sueSS_Li7TkBfoT+lDdTA(-(J&4=wk<7TL zi+6pd;m}XUQGDVwUi+2T+Wku-I`Fy1SKm}@{|v>aU*g?=>2iv06u((7|3 zjyq`%#V48mDTE`7=)mWyf1j<{Nspgj<@Fza54(RUMAv^u<15$rbnuK5_LBZF`82|j zM|9wG)xX2~eAArbQ_S)Wq}{&^qKhY^^K+MfZ?qe7I?2cMPxQ3&B@x{p%j0`=MqBdw zhi3X0A{;qHmrwEd2Gx4zQ_4TFoj3m?d)fUv!LDQ5js2uBvtfzNgS{%2L!oJ#UB%h$ij?q3Sg zfzLI*dh?Z+$o1`->7Pb8@`w)Y7C0fVK!p7AQ`PR*lKu_lwcntR-Mhao#HXLwW8saXaLtcX@ZjJa{{qM-Z zM-Qd^6U^r~1_SK=Wf0w;$h-c#cTaQr{(uHN|HME$UlP&fHRk?gM}C=jOg(b^BANRu zhX_Xw(F=Tz`R8hS1$q5fI@WI-U@DXx6!{1B4&p$gL%o9te6Ia%hj*RYm#Tk?S-#$2 zJ6|QE0~bW#bIq^mlC@n)K4$qUgm12k&r!bhi?95K;?qq3{2})CkwSDmE}DOF`S<#o z6{9IWRfE@lHNufcbZ=)WDr$&O@Fv3eFMmSOFp5uxy#6=1#qM7Q(Sc9TqvxN0zH-v9 z6rX1LCvLU#B@rF?T>FFEHE!r!icg%xE8h^|$RRrLx$0l_W%CuqCz*WmHoJdmL z_b-L${+uYkxa!{r6@ML1m9Jp(X@nz>=)e~)G7eN&lMh+OKz~oiBmtz~^eem!EVXIew8$K80{(5xv0YIKSLd zd%|6me~QWHkFfifLUiDB^>3?RJ8CJ#rh9m5d(ukIOe|?%v@fAM^em zWjJ6y0b&->iSyf%_xC6!pMQ_Nd{c<-yZOMcruZb2FUZ*a%OJX(Wc*t}pP$P^Zfr#IG4Br*583&Wh^~k7)~{W@ z@m9M1GW`n?jvS(^VLZMi7Yrfq|4>Z-pQP$v-S_Fd^MBLd&JI{ zKy=_!t?Bz$$DDI@Da9v#;k93daAXm^z*o}pKSS3t0p{;7_;}EXB;T35^EdxdyMHM} z2R>JR**JbJf3WTF~bo%<|O;M;_6G$BHV{rd~%%Kzciu) zpR4|*YxX41FV!Es_Ti1U^Cb{nXLE(Sgt9-(gEGAm=9)vwipz z?Ea+?J($VM&z--mPToJQnS2`I$Rj%Nx$^U%`6I~jf%ubG|AOc2{$&sy_*~`t)Kxv+ zrt*tq@`;Idz9gappDRCC`Q!KdC_Zrxum24ZjvS(g^LY8WPrYM&icc~9lauWJr4b$Y zT=}_T->1p-&zi~SO}6tT5FPkj^{?Lb+iOz($-j8*Lm?blL>Djf^2?DcYBnYLnDx(B zcK=d{4t%cs@=DWf>nT3P^iLxkc|-?3SNXpA+wbJ~Su^>9=k5Mw5FPkj`Q?i@|G0

3$JC_c&L3lWYSq642RzuYkJsTmZXV)DtUcK_0d4t%cq zcjyVv(f1$i;gzrVf}Jmc=;18h_;1+Y$rDKbM)2l`6vB~3bl`LO_p|JGHN~fyeEu}M zeF>!iDXA@5%hck%qw2uB{#fzOp+diR}9&R@zznaMxA{;qH2R>K+YxYX<2C981X8Fpj z-M=)V1D~sW+g~$=zJ7ErZ~W}du=6DlUEao9f7Rfq0l!iHiNAUISs@%*L(fVX-%QVMF!?mXkw;GP|`)XW}JU;QVoiB;#Vj7R{r=#X}qx_Rhz7XNaA$pYmMU1fQEV@i6F*Uu%>KY!mc*0O&G?En9NF@@;C3?ARcHhXtc<*S%{ z8sW$zx}3@53+C6YMDb}RUohA1Uk1_rmw0^Qt5S0QS&Zbh5AlkfFNx^lWgg$7=Z<-W z@=r4PLWCoS=-wDo*%FFcqm#>_3(=LinG5P!jcK=d{t~;1@yN>%mI;d~S`=^6( zy!~x8!jVUG;1l`tO-3&tp#N<=WXW}uf12rE@T%Rv459;{Yka?U`nDPrpZte+{vj6H z`I3k(dhyPGS9a)4Uf)+tz7XNaAv*B6&VRouy7eW>Kk+ZmKe;IK5AMr@IMC?jYnSH% zpKE^nwHwFL*Do70&wpRDmu~{mgYo9MIF9yv$K@U0qx_Rh{}jTJMReeE%^zI)*0J>S zFPZ-NuiO1gAv*B6+VB5gd>Y}%Bf1#DTi>*7>_LB0<*S(G8@yp}AES*PZy#!C)W5m> zTekU8^7)*a$tM=u%QuPWVj6FL_xVFRk?V8BUS56)5sn<91E0&kHVuwFi7H=tHE;YZ zm)QMFBYG&K{345@dKfQ%=zmk~QY$Dvy@}_a_okgMf#~WkUi*0L!HaLE_{3K{K80{( z5nbNR;~TZNPi=}%GWq`<2V={-qHe_*~=DUvCq)P<)cf=e=#`OCUP%x!OnH zSqGEnm!cc5eJH~L?H1x(qsQBCfzRZ@`0t_rcse|5CFviN&wnTK54a$f7(IS`;48$~ z8-VZjX~joTe2Q7V8sXdJ;M42q`GYR0FX{11cV77h%kA|qgXnsgncr~am&Lt)`kVAG z$vZz1E9`tpME52~{hI6g{(%!$JxlRvX8DE)M-I_}&y`MT%zveJ z|I&yqU*YAytvwWZ{Z}&iy!RtM=rSXi`Ra|2X?+BqKo;w`nRL{I}0d2#q=*kIC6;Y zKhHZqpL_4EisF+@|Kx{u|I&yqTSVtauJOy4{io3T*D?L`KC<&A5FPkjaSz~{QYaNXGzr%-(28(#bMKaTu^egk5O(c}FG@VVwU9;|-}J$_;Orws@6 z8xZq|?!CghzvrY`+nQ1S=`3%28hm1}e;GsvKG*gAKIyIW{V6keeBx6(UlP&vOT7Lg z_w``1{wXG3h;ZZ(9r#@R$LLgsY`>D(KICV1|I&!=&EolYdX4_msrn~o^2*oy+|HLk zbonvw`qrtNr$0gRUB~Nx6~d84^a7t_{%`!SKj{6Dn0)>hcK=d{4t%cpp$E2xC6s@X zS-u+K$Rj%Nx%!VgCO=8ePb#K=!IyUbGKda*uJ(J;Wi83;(~9Yz*c9O^8 zO#6U!2=U*;{J}!KVmnp7n(1F?IG|sHm_u|mkJrETs+J)4XVBdI_m#bT(})gyuJJ+L z?K{cyH{F|;Up#H+OCY+K&CAcve18#r|J(IEK80{(5#3u*9922T{Asryd+7Tw&*weg z!2jCrUkcI1DBk=~NxchSCEG`i=bttl&~72_GJ3py>JeuC&oRGt+=ve3_)j$B`4?=q z`1F zyoi@yG{TWbbTNj(7o9-)Cz*Wy z4!eITMEB=J<7bzDOSdkpPVp%wpGG+Hi0=K#8~=S&<)jG|pJws}-$(vIxk4Om^mzGl z`JQ<6NV0szdA$Bj{9rHNB%;fTsR-F|{&Dl`2OdxPCz*U9!jVIC;B(c#{^wtR3dN_G zeDX)Te`!PqKK(Ae{`AcoKO0N&X(pey)6SPbba8joK3vy7UhO$&HN__mVCFxBBa7(3 zr`kuH@%97#M~m4@22*^J$>;B~`hIC6*%e6IQD zr>ZY|hT; z&2K1#Ba7(3r!sW^@!FP)>r;G+>7W0b-M_`lk_&JfZ`i*hcps z&EFV5hvL&r|AOD`{$&tdj^*XQ?&G$T*N-$azlcBVd`UzXPepvL{4#m!FXZ)U(Ug~; zLxdxT==#;@ywWv(S@X|Aa(#(7keUDfwELGv^a7vb`Q4vhcV{K4{z)dE_m`b7f#|^J z$}fZ8YCE6eQ%pXEaAXm^z~>nMT~soQoFCUrK7Y5}zZ9YapDX{3fAP-mDE~x7Uj5Su zM;_6EPdlD3IeNst1;mNO*xY6pcKk+P`-`YF(G& z6YulNSN>!7FOBHh^dGMF(SFb>^7@Qq@_GN-`4Wh()4cI%>F#6c`p4u`2uBvtfzLHQ zeP~Hhf2w@t<-GB!zt`?x3ekbj)qkw4GJu}nW%{QPjy$3RpR4{&JNplE|5(NJFYub~ zZ=!JB5@H6?fzLHQtzYX(O_i_Mz-zx^-!{!<|9}f(646B!-u&Od_SKH1_#~4rL^yJY z4t%ciZP~Q>1r(oR^2rKz|I&yKe6IPwyAEG;5XC3Y;EfNw10z1@Hy~Cr`u@WIfBp+! zE#Cjim0wofu!r1VURL7qDZ>Hv4q_J31sO z8$iJI-=mIhzmoD#G5P$X?Ea+?9r(iG(L6#7&jY^Hfp3xP>ok*3BOG}|2R_-<^usYg z;G0st_JNdtlG#3jqwW4>5WT?XSf8B}_mlo9CZDKe=Sw0w@aY_#|K9s?PA|$o&EyLa zjvS&F_#ETso+q3*o8l9bdHF>iWA`tO=)fo6qy6hxb0fL_Kvd=BXYbgE56*ibRx*05 z`g_3V8vlLrRh@B^f0D_k5Wcw%KG*oF_wkR=^OHeJiE6y|A&#^26&W4lbB(V) z-*Xtbf3{@ug$Q4%gU>a-I=JJBr&InZ#ms-l+x;78bj&~3_+`k@W#s*zT3AG}|)Ho5*!G0RsWd~;oVj`4wi{raX<`D!MgU(N1ciP16tT;qeks&`vU@yX|T z^-m*wyBvJ3{AWXa__J;#V4ll@{50x z-MI;B)jJzvK?CLGei@Ur^ibUk1^E z&((j7xMMZBepfO1#Hn_^B%%YKtN%D|&0pmHz=~P_LWCoS=)mXdKk6^9x0Nbi&E%7H z?Ea+@9r#@R$NXg{3?%uOk z#^v)KZbz=)mXd-&S;3N%p_uL|*?E zB<=oX5FPkj{oBQFY$VqoNG6{+-OiUpbl`LKZv#ebCH+&(`WGS`IYck;Ir_J@Z$9z{ znO~TE@(jCwX+#G;SN}G!w8~71PfX+G7q6b3FM;U5=jz`+&*|4GKEK-_Q?CEpHJ~gX8CHv0sRKVT}F@hAHiRye{;-V9ow~G zF~uipF!Nu7$UoqMINInKpLCqRJ=FRMl20=EL_<4Yk zO(EtGJ$!)I|DG_m6}i8>Kb80VY1zo$KGKK|e6Iet=;VoKQ~oJt`|yhFdvHO=s^x!dGexCK~;?t<|l{sGf_0F~PB@i9>T=_X& zaak9NPci#ng>YmM9r#@NIrZgSdj5dP=Qp~2$j13oLRo!`F6epqWfcc`MKoU zQ^@g^dY6}<6~d84bl`L4=RMUrjwbzMmapH;?q3SgfzOqnUmjJN9zQerG{TWbbl`L4 z=bLH|dz11{GwWZ_-0oin(F=Tz{M@)_gJu+;$nx^DxWLYrM0DVD<>zLP{6w!GXYz#z zM-I_}&y}B3Km7U@>EFq`{4878{YxV{@VWAHrQ5pG_a8C&ybJAo2}B1zSAGs_-}5%* zpJJA;LO8OB?!mkj#MlH)!n|Hm?{jj0GyNVfKl{GjzZ9YapDRC~FmOG&eoZmUS0fyG zL)6G=*Y9?P$Z1*pN=)mX7&$qnP{RNVbS^q>!J6{sf3w)0JoY=URzQ1Ay zFF%I}M-I_}&y}BVKBj3a%0J2EldbIjr4b$YT={vz)G2i+K2ejGpS{+0z67EJpDRD_ zJ?4?Q6rW`BDTE`7=)mX7&nNVIXB)*QX7cKv-^T7=3em&odE@81i+lY*@#)pP{Hzg< zJfZ`iD?eABu<1yOPch3kxXA8b2GN1fm7gDcd?eX^HIq+VZ0AcNI`Fyj^EGq&JxBQ` z*6_+VL^yJYUf^@&=aR>3K1}gRX8VvSyMJj!2R>JR?!4zp^7^l0@_B9Td1I4)V6mhKF#FQ2uB{#fzOqn z+gy9-NQy7W^43QLC3gQZhz@xVVr+V&uz$q6rQgu^S1|L7xWdktM0DVC<(L1DwKtEq za(e&&Z)Mm;9CLdI&Y@`lvkrF?@bFXWEAKmYDUF&*0zTeLu-|Kx|_3b>pu63>HUiZ2WZ`BZue(KF9l^GycA~J;kS(eDX%Se`!Ql+oJJTY>&PpfaNz_|1x>Mg{aG$ zUwQ59dqoZ?gNBLUiDB)klv8 zkJI;qF!?mXkw^3bpQApuzuEn0%0JDlkDz_zADsJxSZ4Hi`v*Q(eT;tV`41^Rc^a=i z#Lf2nCK27+8=aqYwZB_m+u4ocQ%t@P;m9F+@E4D-Mz*_0@o6TX>|pmVjp*LrJidEw z>HQhSC+G6U53i%W{S_HK-u|H71t-(@>(yC4nVi2UCZ9t1${l>#!Pjqn1^IrcsK=`h zzmwg+5~E}Ox%$6XYkff9FIvvauQnWTE*4@Q(Sv_X`@4vKe|qq9mrkVGpJwJaxW!%{ z8AJy@*ZjF>{SM^(Kr-_yI@|e@h#vmU`@Y8AV$DmWf6V-b2uBXlfloT_=NhoD)3X$x ze2v%s)mG0ZvxTP(5OCK_50c%1IhCn@;qMuq7aTO zqRVOK{cgwn<+Eltoksbmn0)^2cK=d{E~fMNj=#Px*}sUTy!NLNjy$4!2blVGj33YZ zwvIl(%j65X*!{~OdV$Z;KYxAC^(9n(H8a0L+WC@*4t%cu`P|#&0*X&H-DtrB@i9>T;tnC?=2+n@03hFWjLT;fmm+zxJkh0s*ifT&Lh81 zB9`;UH$QFnFNNs(?C9QSSAHk_(Dp_uzmmzP5so~fht16Xv*`!p{zChEXH<>G6rW<| zH|S;eFN5g7=jvaM=>9l)Ke}e}iQaa;B%%YK>-%r1seS8`{xS0#8V;xnh!sYU=MVUx zPU3$K`JFMn8hQRjG~)Fy@~+4~;DT6c^!V=wKI!=WWt%picc=W5Og^uVJ--P=58p7~ z$5~3xPe(qO8%Oc!H+lVwLO8OBE`~?*XJ63!lVdJyN8b;8CNIDK-FE*{hz@+N@uNw0 z@m|V5$>h@rM;_6E&-MIw&Ch2Gicf#SJD(HuwfmPrbTz+uRmr&gd!S|!c|J^R;_-=o zcD^K{>v>Uq=+o%-w`a(Ohg1GZCSQnfUmDSYPj8_4 zcAoCh`)l)g{fl>xoiBmtazxa>xbBy~?ZKPr^9M}-6vB~3bl`K%5Bi?bklue``seqL z{DW}~Vu{h?<6D8xk>8q)pY2Q4hi39=!vX7Fh_);loRQqWsg${L1_6`As9bcW&fgupr8F++UcVu4(i^9g0sZeB!OhKffvMUmySa(Gc>m!5c-u!5O<>IUS?;Rgee45E8 z2HEplZ1i}3xqOXxE&7Y%Q_SzzhK2*`0%8u)gKE+Ku517AsXxA@-;Zj}`+mF}Y|n2R z(ZvGZ`m)(0%^srs6KC_rH*biYFM;TC2JiW0jpiNb`6-i6Asksm51xBSO|5UT`Y*P3+)ww1+Wku*x?E)1 zog=?jfBGhQKeb|xzuIs>T|lff`hNd0|Nfvxn)3&*(Dhrh+Mvg&{EBm#{ok<2Kj4B` zX7o6pRA&9Qj^=B2+XnLe1-*o~J`#`G^P5C;@4#q&<*hL7F!mn+^;@&|v|lLyB-6hT z;m9F6@VUNUd-kiNUZwaHlTQw}=eN}8F?&2NU(Fd!$orc#lg}Gr&u;?JgM-ZZu-oYT zZa93#B+5U*Jb$GO2h;_`a-+xn3*O?*pP#&@RY37+=JO+eq}{(1qN~LbpKE_@a)XDz zrTD}Jy#7Ta9C<_sKG*#D*WbVFK=H}>%=h0$+5O8Px_;L5e;?56^J>37`Z>iHGWkTt z&X+`V^&F3{q;`!t6raA1H~xkQM-I{D^E|#gp6+=Z#V48VPmYfKgSv%SYV>&hiWee2 z*ZfNN>QA13QA|E>jGeE@=y5*HJM{DL|EGaRt50Wpi{>P23D$EGvn{-kF5 z=Ranzj})SZ??mHtlc=q{@k1Mq z0}KenJfh39TUGr{xx}pFV*dfq{+4GN9ZdSSl9%7$aeMpAAUg1gKT|QX=ttn&_*Fl0 z{h^uuiHUZ;B%%XfFpQp`o^WgRH07UY%B$ZH;m9F6@VUm{i6wP5QhbV;U-^XHzciv3 z_&U-1lT#*L_YB3SnS9WUhKF#FQ2w$ax&ow`2 zbW|Jid}6qWx&EDO_pi+8n16Bxz5n;a#&+cVPcqw|c*@RKY;=szRUhR8J^Fqm%^TlB z!vW(O#2ljQ-ci3?Xos=?0H}|PU;9Q!0Nmd;gL~^l%Ap|7zjX1COEjB$LmZ zYUfKJx?alTE17u9V-%la@+pKPi|F2R9^aC?F7HqAX(pdP&F)_c(M8DPJNC^L{C?21jVb5_ej1VC<=3BS z_b-L$z^5*W_9^4_1LN=eC(Wu(wLi(^(+Ec%(Sgsul;+#8b0c~GkYe%$%I;qV(Sro9 zKCbJ~yfNjUX4Z#z*3Oqibl`K<$BvPQ(C^nW{RE(Y>0y`WSTZ<>dTS z9K;(x{1@#0r4SwXT=nt9KNF`@{wbz^8sW$zdV$YTAD{JKb`Hg-nS8;EcKmw9HNJB@#^F1Q7;Z9`Iz+~|6}(r zjp)GVs*l#^oJg;anErWLJ6{6P3w)0HxVy51K3~G*QwT>E(SgrZAE_&6*P!w%9^=)A z|B~Im6ruy4t3DR5Z}Jtzrg!o*PVR+tC;?U2uBXl3w)0HZTn@OydOj}`Q$5h z|I&yKe6ISfck*pFQ27;OdG+hfvGXMm9r#@JdttwwUr>CK$)^kl)GfqvqsQwP_@pDh zr}nvaC&j0jeEzF;|5At^9LgJipX&W4xj(KC=FLwv!jVUG;B(b)=GIr~=jTkmV6NT2 z45AnK9Ql2JTQ)=GS2Ob~%I$nfL%963Y>K3DxN$}K0q4%zcORkhE1CW&gd>aS1wKc8 zoH%YBxj&?seEu7D|5At!e6ISKy1fHAztT)Tjd0`<9r#@JvGkb}@1pW6#`EeUm}mDd zgXqeO&eyr-f5V<%^ftw(nSA0+J6{sffzMSR*O!M!Qhbuh7a|-vL@)3;>O&3LO27ZH zg!g<}&bRxQMs(nF)kpfGnNunM6w^O%ft@db=)mWykE6%D{xQWTnf7Pb8@`zsGbJWMTL5h67B_=TYzeRTc zGKda*uKIX<>*}7Af12r^c+1Y0M0DVD)yI7`29fhW$@DKoIC6*{REx$Bi1GCkJbyd- z=^5nvd5Xy=7u)?yBRX)o#<#k2Zz9hhC}#b7OYD3JL!15FNAXE!el^08M|9wG)$c*GPa>axNTz?m zvdBN!*ML}N^mu&&pKE{P{wK~O-;Y;JKC#@M-z1`YMZEEM?BlBB>H~xkQM-I_} z&sD#Nx13JCU#6MuPlk5?(uiK*bJXwE-I`TW{%K}@y|?Xr2}B1zSN*yCsFy;Og_2N?q3?wfzMSRzi${o*DtgEdGFcz5{M3buKs0H+kXur z?w?dlK80{(5nUb_&F>*%^-=oAh(jqp&E)e}+5Jl)I&it>_fr~IC;3E8-uyr#9C<_s zKG*zU?EzCl{0Fn>4e3 z4iSzVq643+e#gD~40*qW=I;NkiTs0kJ;YL@$LkaL;5lae&tZJqH{pa~RQr?6`ta7; z^P50)ZRRg7|K3WjUQh8UX8ThJM;6h8BYE?e16~?BoaAHr=f7|FFNNs9=jvb1oRhkU z;?qq3G{TWb^a7uwe|hME{7Q;XOk(zbAK3lNAUg25`j_p$p3;uulT1Fb&d!%abl`K< z$BHG_lKTgW$rmCVIYjr4=GDi}JO?oFP=;Bi6?pWp%9KNq643+KE}+fO@7}+GWq(|5E-b zCZ9$)@`xTB!>f<~4Etjt#V058@*AwT`f_A2X421pnS9>IcD@9n zd&lwWW9_DE$om=Op}h5*LO8OB4t%cqcp~40d_P_@{qsMu`mWz~`!us~bLY2g%3GZ?MVkUk1^E&s86PEZWZQNP^|?5V+5aINSwsgu*Zmt4`)#gA`6rot{%4VYu&)8J#OU$-75E(Y z(>%MeCVBo|G5IvYSLxt$-A{AXCC{~{{L>fn?q>)-xBFLSbj&~3{S3W+ey|zErg9bDpJwJaMEEKke6IRC+WVI@q6f$G=2t)O zdE|N0KPI2I)y|hdbl`K%ulCd$Pu?#onS2W2$Rc`y&oRFmf5f-+`0d40 z_$$7)^Cb}-_+0hT@9atB{cDoxUx;wz5WT?XsEWAe#w?Ea+@9r#@Jac-Z! z_fUM2nP2Z)J6{6PfzMSRLz}K4pTB9Qe+uEqB6@HluRcE9^*ed~N*vCs5C1#6e?EHrXl8yD!jVOE;B(c-5A$o#^8==T{*QM5Qiu+GuKJiU ztMQps`x8g-`e%)BewZCx_Um@SG5Y3qD-=FOMWe{DT7u`SZx?kRZ@2*oR z|0I)7Y`60z5gqtk>+=@RO(oAqNM?RRgd>OO1-@nU{jqP%I;j)opJMXKpY8so5gqtk z>+@&pq{#aTMG>z)yd4oA>{~%BGJ1S}1NdC^G5*G@22%cs>Ad-iLioxZeEK~)zf+#y z(wyScm+<`aciQutLiC_cH2&&&G~c+6We-q%;!+-;MmX|_Uf^@o$1^(~D5Ll!lP{>W z`_FP7h=4A;QU&f;&Jr)lIdTFaO4mjxLo7M zapyfoem_(*`Q)#5|I&yKe6I21*k_(6zb`2+90x{v?x6 zAsksm2R^+r6>oY~KSTTbrO_?)`D`Yi|C`;v6r#&lc=M}Y4{AM!@=r7QG{TWbbTNm= zmrm!mQ+(=jUi%An+5O8Py7x(xSIBcb$&lZVUps#+#V4=k%}>SecD^K{1D~sZ8PI-v zABs;g`9g#vhv>lP>R%QPIpRc$Pc!-CA9nxJhz@+N?{6jEe3d*uF0SF_*V}F9OCUP% zxyIibAKh3&`p2vfg>YmM9r(24{^A;&$IPbq#1*{y_5ZZ{mqPRcpQC>s+Vs+)6rW`B zX@nz>=)f0T7WIQz|59z!bCXCuX8Q~F*!{~OI`Fx^e_lWJ4gLI=$tU*O`I3n4uZq4O z;OhVO3~5b{zryFWzYyWbA-Z~%H@=NseE~iHyNbsr|BC#BbtS}7qsQBq*Dv}$iQkm| zepKy8*OTLiY(?|IcT&84_WULgUC%Y&PjSru-aF1C&;MyApF%jYh%VkW{#Baq)Wr;j z`9Z74Kcn9dZ9|VA;Gh4u-Mx7JJ$UB}ohd%Wmw9HIlC>;37|>KtB5@kwTWK0-i(Y4|8cBTMnzX*JjMpSMi`L^)d zUvQwkJ~D{zy=B@R#Qo?z5BP>0y#6hc?>b)pEDo~sB@vxFzEy@t&7%19r#$~c!vS>* zvBKyvdpuEL#y7|P5&op&UnoA+hBto5gYEvM5goo;t0&X*mtVRcbq~cSnfdh&vGXMm z9r#@J@l(%V$@ljalTRTWSwsguIgak1TW%Z`QvPXXe*J{qzZ9YaU+Ccb?{P0aO!6`P z(+Ec%(SZ-<3Gw=Y{$=`4&zwQ=iR<_8UqpHIJyNl~<9`2SP{ZzD2GM~J;(q_wzdr!q z)ungR=O<%)@bAR=L`^$i648OnH9zh0M`v<ftocK_0d4t%ct-97^c?V$WqOg`_(h!5t?5Q~f+ zuTS8E82@vq-yV1G9Zd0QCZ9t1${l>J@ng!4hCan7Zs4^)|0uhEB}R|?1HQS&k4qYC zCC?|y>v{dNM))cneBPOK|5EddPxes$Nv40n(RTmJjE?!|dj2-&gPP>|d&T4v$JqIb zjgIlT`oA9<{FtTu(@ee);j3`)x%$5`?{B2f58cSC4|%NJzfz;4{yF;RZ*P8LFX`Vf zUVV7SMSQR?1Tlf={sqzfdan8X)!7%x_shhiJU)eRWD&i<=h*){cffBXpE`=U|98CI zzZ9YapUTkVZ_{@7Jw)c0$)^#HJfau)+FluNnpHo;_;zZaPUQZTWac-hZTByO=)mXd z|Bjl|j=UdO9L>wGIKj@BM0DVDoxi$p=4T&L`4u->)gY z@V7SB_7UGdkSE&xOCvh)L5%+rXn#*$cmO&7lT81-lk9v6L@#hS09u2Hrz$| zraSz~`F({kV5a50a1RpMP@XAIzH}mKZ&567WHc|2gFM@7I5tOYw>Jy!y}x zU!{Z3_5A3+g}FJRgF|+nWO!E@aD~LQ2r?UF~ncU)Pf7BjnAz_9suZ*GH+*XYfl;qpS+aFSf1Lma=vxqJqiuz^O{NR$QN6`0gFzdswYp;(K zqRSQ0zMrc;zP$Kk`uyZ>-uy))9C<_!-r@0m{^-0~RDR|6y!-~I+5O8Px?0=3s!7V# z^!&NbO}pv$Lx1A&iF$UvB%*r{^V*+$@i%h)rkH#o!jVIC#pIj%bN7#_{AwnjJl*bJ z8qvK|qjN*9`WSIiqMYRG$QysX`gXnqqKj0tE^_T3bRFH|6OxbFKP!YIi|Ddd#OE5{ zTHHAOSBg)x=lSQKVfQbE=)eatKEA;GuSt69r4*lJ@@a%4kLbW9_qK?mRs9Tn*Uqg) zem_)n;LQ($GwuFm5WT>+lUj-8(Y!$|1t9$A{;qH z4~O#jHk^47xxN&8dE>8aVD~SL=wUbWeY(e^7;l8o{^tL(;WaY9Og`@{J6{6PgONPG zt)1^3Pw|Prc>XDbBa7(rm}p-kaQL@vSc-gqMl$*Qv+e$+5M6Cy`qyjRHM6X)9bl86p`uJuRJ zZAIr&d}<6YzaherLv%6P?CU!A585<%o4&t<$tTaV`Yt z^l%ezeR=CmXN{!tD{HrlwT$S;`2Mp-IP!?D-ZgxV^DjbfUPkdLCSP#A-M)>ng-gAn1!A-ZPz*JIN=WdE$0`IQ&g z{YxXdI)Rtpt?#VfM&_64pV!#Vmq2vY+Vn4u_IKh<4T~r~S)G?(g>YmM-Cr5aujE>K zeRRRK>O6{1wB^-@f1%yK6r!ugBLCnVOuQ3=@vYDNU&!Z|dMj`LN+TS3L=U$`?a#G; zFzeJ8$out#=J5qh?EYmC9r#@HtG6C5BF}e9CZD*-&X+`VF+bWjaPj?;%TA%%pJKMZ z5aGxny0?JGw`xx(a{jEC{>i3x|I&!=e`VHh8|e2JD*Cr3`xnjh&%4;pmq2vjbFDw> z%Dr2t{A#9u3gO5iI`FyL-}n9RrQhE#VfKH`BLAwHjtpXn(c}GFfzL5Nt^3?NF*)i{iNe@1oVPeiFxGu zNHY0E^N0_|HHgJVkNtX2ntL5x=Ofzh*-5^iqL_T4;ec@sVh+*a-bq(}50GCzN99*D z`D6>bf2Br``v-h3|3;iqzJTHrop|lfYiZ{zGJ2d(zH7!0$NA!BA55G@@@?krUn#=@ zd4-robpMOXtB_s!-MalkvVRd>Zi@e>SN$B{U-PfD*KZ2Z{pr!)_Z|1sOp@OmP5Gy{ z^X69?;m9Mp_%z~k-4AkSr`fMleByT=UvQP(zYL=5!O{FQyf$Uc5A=W6Z#k7bzpI(! zuejRImqc{`6yE((8@v2?8|hzn-uxgm9MCUAtT1}qBrad3^U8xLKE=$hye9GwxFD7q zJf4$wm6rvaS9PMw!53>&>`IzT(G{TWbbZLBp zi1jabU31+f6rb3~d%hL4wfmPrbl?ihO+Ot2g#K^z$^`lRLv-McAELz0mqc{nbL~Gb zXwjN{e?gAt@r4LS4$*@XQdN$*)*la?-mEK?Uv&a6zw!pVe`!PqKG*wswd+*gLGm5P zTVHxN+W8WQ4t%OV{eFCS^W$|%K4yLu!jVOE;B(Diy7p{J&R;asKfj&bzZ9YapPo)X zpT6mklj-w+%=V`djy$3RU)Ye&?@#xgl&A8mnfVQFvip}obl`LKFCW*eej&-nJ^$R^ z&X+`Vv6{C(zUQFk?@@f>CT9PKaO4o(U&G_uk}Ext;!{jMd9&TWG@{G3hR-oS*w8jV zlj76N_m8{|cD@9n`@4A0r#~5UAN_pmPu}>U5RNRO1E1&@J%@`;4+{57)w^zZ9YapR0e~{8#Um6rW(O&o#o4M|9wGoj={S=Na<*0g`z?L(s|YUk1@N^Zdp) z%YxyQe{v6ReJ*aX^Cb~ITo~;Sx%%g7O}ZUM@oDbT51xOr zbL1cF`#~%aS1wP04anOrH&!_xT%==6H+wA_O5ZybCw?AHT-jKH`KFPelL?aw|L>J@D{)XfI zw{OmF`Xj}snf?X0+x^QRdV$Z8-#;%~ej~*vxaXg{*!hx(9+XAh;LV@CJM4T3M3>v5`f%m9 z;nUUnQGAlgrx1=Tq6436{5^Ek9dA*5q6RO&{+)LJQiv|L^Xg;Afy?OgO-w$GaO4pk z_+0)?o_r>`f1sH84Z7O>%OJY^Z#4e8+TX8dKKwnEU(Mtb-RyixM3=wu_)0qMyq)5c z$MW{CLWCoS=zcxk`1|?H@EVej`F@$~Zuc*Z=$gsbxZ|z#`SIPn`Ki~#&X+)RxhBf5 zYyY(WyCdlD5BA{o&kEtlB6@IolwTKLpKiy~&ld*p=FfglyMHM}m#caG-yx?iBcBh3 zyLk7nX@nz>=rAvE-G9Gt@Wai>`nZMXUy!!@mqB#kbDf_Y(qGc|gE0LQz3hBRLdJcHu% znS9<|cD@9n1DAH3|MSPLAkT*>W_>7xBa7(3=eqy??<0@Dj`B};=Jn5hAG?1kL3LH@MsGUk1^EFC0YQ-&uOfN96oZ zbmsNXqOYAViRi%RIzQQX*RMM%|0FZNA;OVEbl}q={rv6S;a`ybpJe(c``P_VBRcT8 z)*mk~y7CXwKW_h5YUfKJdV$aJeS@9hcP~+V0h3Q599cv!@Hy^>OP|ti8pWrW`StIK z{HtaLDu^XUkB?u#=bFEqU1!w`6ko{nPa}Ml4nEiX<;eQ0$ma{1$rtpu`&VXk%s=ok z{^u}1=se~d@_rh58*ls&1MGaoMvwn~;BxhUE04OG9N*+^y#6^f9PnNM#2li-dljzy zUa@;{BdYx=CZD|5-oK;~9r#@H(~3l!B^00c2XFrD-Dl@ZAUg0tp5yt4_Ln)o7J0v! zX8NZPjx3@V_#E@o8EqeJPWdNp=e0loe!G7uL@)3;_V0JxJd|7?iQ9Sgs|^SA%MdG# z9?u`}i6s60`O0(Fx2OD*U3mTl57_&cGNWUBz#0E@Xn#H1Z@hxyQ%wKFKs#Tt(c`}# zxLn^im^JkF1|%QTztC_%zXvgg=o;$6@qN>ao36Qw;?qn%ImligX+#G;Xa79?h6xm( zki7Qi4Yu z1DAw$82byrcm6&}pU+|PX~O|^0Wpv0P`9r3*ZtEoJu1Jt3$K3;9<;Z=459;{tNooc zXZaSA?-$_#~50 z{<}^5|NkG1yAVr_9`~of=ctc46Q8BuFJtm~kJ$N&jE?bX$NKV_U+S);{1bQZ@~aF7 z)Gfp;qQiH~!cp}8(B3nOexmr~9lY_w5A5}kLUiDB)$gK-+~@N%==I01%>HkfoiB;#z~}nDX_Lht=P3U) z)4vem$RWBoE6Q)Ujy@mz{5M@LruY=IKIEfz|I&yKe6ISKedFNEDL&2Q^M*%!&@V$Q zGJ3rK13uUKcYA8(V2V#M@ApxL1NuFPSwz>Hqw}3E|5p5d4EcVoX5OFUkFe)Ah3NW2 z-ucrmC$1#-hXnKdsYW>Rh%RTC^QWDRkFf>-^V2<@e<$Bxkj(ER1|#kMWe{C2kN6*e46Q> z%-H=)BRcRw#PWOI!q2i4pJe*yjkfb85FNN&^XJ>wZlb@x%H&fBM;6fwe2(Wcb50mm zO!+66=ZE|;cK=d{?yocNB|GlVzCStaP>N47`82|jM|9wWbvoAmF01(VS&C0F&o>2+ zMgGCK3$e`T@!t>cr9h1TIrPt?imxQ+_nOHk#@hLcjUNB~;k4+vzHq!hSoi)JUy%MW z-wy~42h0l~<`CUGhj;!juP4&)clYGY@8vjqeWVdxUg1|+>gr$KdZz}xzrpm+8*k@J zAiBCTT35Q(AMbv4>`hdDMK|8~rVx%Sq5~hqc>9F&e7`^Xel+IC6*%d@ldazGZeP+5XbZ{%@k)zcivt zFIsoF`j`3#oqPhtC;sH^Z+K7G`4Wf@d@lbUZ?WY;icd5BQwT>E(Y=2k>sI}rV}A9> z;8zc%_$1Rmf0Et56r#)Oy!@_Mwu;=pQcOOLaO4pk_+0tDq2LYm4?q3Gc zh3{9T*ERpEzG)kMzK+?yh{<-oB%+5q%)XkV{Vo3Lkf+J^$Mi2mIC6*%d@lc1@3`U) zicc~9lTX?GOCvh)x!T|VD?V?EoiBmt;yUwwsN?)br#_jHq<_r(Dug48=%F_IR*v>J z`LM&t{TJ1VSHJ#LyMHM}hjo!Fzcq&3e?8@&X7Xu-Bai5C?~CjGnGYYI(UIa4xA6Q6 zrrG_=Ai7!=^)C>k!S4V3zc4>-cFcq1`3=eB6VoF;SeHXAHv0eh&C&k?E?0gZ|7|)s z{)&Hi?_Y)pUj@RaVScchem;1WYW)M1U&Z8;PuugGMs#^tRKNbS^z)e~M~qlY@o6TX zH^a`CKy=_!o9O3*7eCPUW|Hq`-uzS{99cw{*Yo=47T0tqpTCJ6JU;&!dwrA`JzgK) zuxS6!_55w)JNp0o2M5WT?n3jO}f&E0yuO8F<5d4ubln%Vxe;edGy#7d*b`{x4RBlP~?j4w8l>tA&o zZ~hXz5cvmO5X+1n=L@#-#ndA>w3-;bBG?Ea+@J$N*lAGqqH(a~S8q4F!3_fLBNvA4e>qyJC)WAZh9 zKY0tqrb6`TSQh{Zj}>7SVyv)&AN)-i5rsM5cNE z`LEmkOCdVkTjKKXh|;f@kojePKVBmoc|-?3*ZcbqC5L=P@hN70gE#E{We~lA% za!tK`r&D~I$tUL7`I3kZe4*q0nKonopx<9TkhgyjA{;qH2R`pDdVg)!*;kFG{1f*u z`@c8s{-qHe_+0mc-0;Mut0_LoG#;9C<_sKG*zy_!l|ye4^;jtB+uz z-MG3zvhyVo9r#@9kIQCGqMvUu`9g#vhv>iu^8~E@9ov6E zn(|LG`Q%%6|I&yKd@v4Ue52|gL*CCN4&sd;-eNmn0?~mFBF6Vg({d3v0O(#)&n#rdTjy$3l_#E$dUw!>+WdA3b z?Jrnr_b-F!z$e$x{)KCA?@Rfon0#Vc#0Sr1AQl@v-u{6vIMTf56Z;FWKRNc!|L!6A z61?ZrA;MST;yZ@sJM`i^$@}@m0N(f}m)rd-HG0e*5Bzh@pQqGnvySplGWopF&R1k~ zjL$Vc?ce=AvOYAEPa%Be4nEiX^nyQD?4$e>_ww@Vzis!g#ORoR+A%-f*Xl&_e3NAI zX@sxR#pjrxmR~tDPx+^qe8CF4e`Q9;{BzAu{W%REp!hVCPrPI2D>gdH=eWP5?crBw zicj9hYkwiaSK;7u&7Uv%wk3H!Q6J2kU&(jv{*@XX^UpOuP4|9b1L@x(JU(xwov+B~ z7$5Z0@jr+0ZP1#x$@gnDGrtPqD|hiZ&S(GDbjY8Se~QWHzi0Qa#OQHZT-CN^B@_s$dY=6NjyMJXyNBwim|L$z~9eIDEs>z#QiCn}7 z=MEqy5nb!(xlyoyo?o5a;s)~ki)QkL2uBXlbqSAeboz~NsrDzC?N6?@`wdXg5=>CT2e5|WJo;>B{dK8~z`lk_&JfeGRqVvx#zVikj)1Bf| zOupcKyMGx(mm7KhHJWo0Ieus+pZLJemqc`NKy-e?<=-VY4t$LAPaMW;e<8w=L-gQd zo`3H*>amI9lT1Fj&hB3t(bXqBzGmxIlIM#xvw!wJwDTnpT~3Jl7uWh@?ctp+BmFy) zH$PPfM;6iHy9WOK<{V(G1BdaWbLpYv{*VZG^DDo??q3Sg{fl_d_ZKaBn%=_ zT37OXon-QfO?JK{q8IoMq~BjX;^GIVk^KuZzaherL-Ycl<9v=-oO+Jp(@Z|O+3sH& z(Sc9AOP|lV>g_Xsqxi&Ky!!Ayweuwq9r#?&KhFB&fPmtYOg@EhWDy-~>*S5^orziJ3?{0Kg?`sK=cBi>g7j8D&{ z`@f!}HhxX|_aLu-(FkAV|0SQec|7_2L&e%3_z-V@fwucsW_0-f2NCk?8sGMOGhs62 zpZ^_ie@%R4=PNcka6tqrfeDZs{e`!Pq zKB$xZlJoBmP#-%xum6McPc!+vyqzzB=)p+d{^Z0ib)Kg9#4uid6~d84bnlX=-*erM zbnUI*w4(SVlh6Ob?q3SgRVLaOa<#uE-De*~@hK*sMmX|_4t%cl+re`iko#BSDBk=f z_|fiP2GM~J+96gSwZ1->d_P$;`)Bc!oiB;#;e(e|A-VP^H~cxQE0tey6mR?p5sn<9 z%LAizuUtYupZQ5Oc#7gvNAvP4x7+QcD@9n z1E1^sTE_!VKY-#B$MF192uBvtfls$L^Msg-;9rZT_mKG&!+HI)za#Pw*1Zr*j2`>- zUV(2my*{u1Q`fPSf0D_k5xzFLgpR0d<=>ExHkp40I z7g1^FD>gdHXTBp9|8r=6jp{YrOY$-6BSiQr9DJ_&$k+Pr6pBwX^DBR`_b+Kgmy>wU zFYCWFo?gF=;MK49tDP@_=;}!x-}XcFg_M7a$)^yGETZelJidb#{zyOnVDkC@wfmPs zbTNg;_kEigG1gl^!r;(z7XNaA-WjB^RL@O zSDi!FFZ2E|`Mce}G@=8a%fF4ud&v7~6w^QN4?AB1(Ze3m`pwn;>b|#j5#^s|@+pKP zi|D}T@~_&r=ac74#9zGn@ORt&OCh@6#%q7;mfzis^pDy8G{TWbbl`LOH}AAMgYBiccKE+uu+K zM;6h&F+BgiZIB_yH?fb||LwE;mqK*lbNScf>qVzi{z)dEMmX|_?rn+o$6e!F!|vU~c>S~VE~%QL!*eZ&X+&2y@%raOueqox<)38oc?U#%ux|yi$msF)1?>B| zo?kZFGUqdjPyEg6UzFhh-ymiY9qJZhoFCRl)own162&K(e10{1ep84Z92vbI<>I?- zW6QHBKE>qI2uB{#fzMSRU(~vv{(d}@FQ{(!FN5gbMZERL`N3Hik^V93LmX)5OCmb( zx%~U{ubNL%eBvKoeS`={4$*#hz@*S z5uM-LP8mI#st?8F(+Ec%(F=Sh(|j+z_(3g-Pc!*~gx$Xkq5~g9tUjj9YfJABdA#Ru zqK2I>iRj`p-u!v%()Oz<|3qJ2eS`={4$*hIC6*%d@lc5E>D$Ge2U2@kFfifMs)vk-uQ9N>ziI8 z`Izm`E3)$?5FPkj{_Wd0y#d9inS2W2$RfJ>hPQvv>&fj!Bp)-s{*iY7QivXYAMv@? zzfEg5AkQC&e!TgCMmX|_4t%csUeR;Gb(DXC`Td39D7$|dM2B-5uJf@o_vHpse2VFx zI6C5keIba&Mvu=wxqK6bduLF5lF1h$d=(Bp;EeOb{?Ii`H<9aKIg;1@Bd+)ZkRDLy+PazyxL7zPrm=AGQ9Q|A{;qH2jA3kdViza{oBd! zuPUa0@&vnoX+#G;SO4c9aLafqznaPCooMGvAUg25`oG^By!1E4C;IWuuPKBhi|D}T zI=^*BOG}|2R>K*{&~f&JE;6>X8i^y z+x^QRI`Bb181Dq3|7%iX_2U$u7|rWnL>)U{648MV`az7Z$IOGt{7NQYh;ZZ(y};)f zKaRie-CrsH6q8S$V)rkN=)f0TMxUSTJZ9>#6rX0+hj*%-FM;U5=ei$wb?sI)C_Xuc z*Zvg3kwtXy%~iisn${%W{|NtR6K}dzKgZ7(`@-&D3en}N=)H4S|GeY8iyoo;(@Z{% zaO4raz-Kt)CP4pk`0V@0^_#edH@*dR?fzvD9r#@BZ_?(8WdElh9+=o<3- zPK&s8RX>A&pVwPSKHry2|3ZW#hv?FLcg8ip8gjv2^8E!dmgk?WXZJ6S=)mW?fAX9= z20cL5NA3OhcQtnZ%jppx>}x!J-Gk9LXzoUaE878l^H#rMBsDz*RS8h^!Yy~pE%RbS8Q~Q&vk#vH3!~D zpD$+eg@yy_0%8u)rTMOv%fD8cV>(j#6$5znA(Qs{NFzG%xz?BSIuw!b*Qz(###2-E zbA0~dHHi5B=Pw(*y7>c$aPMEizt}w&Fuo)5>q#TRyGzW;&nDWd}yMEEYEUTN+(L)u^Q z^=b0^Wugghe(yJo{DXNj#1f;!cnnco9_?!s`W1xltbg)k|17`c)rUs-DqVb8+P`)? z2c1dfSFGTj-wlc*|G*!J8KZ-r5W_Li`6loYtKZ@iZYJNKQB42D`S$!48y$Ed0w2s1 z!g2fG^9c3(ae1weDE}0*{e=i$1(UDP4owFGd?%iBTqBZ?nP1t+?q8|V!8eF;|Kj`P zz}ItIi~A`)&E)egu=5oe9k?LM_j&Da`Cp^S{R8<9uRfIFfc_2QLZidD01^10{bBwM z_~osmDgV?(%>J*j-MHlDS15V&Cz{)QBmW?;5T_U&e1Qmj1>erxf1e!q&S`ceIsS^~JpV)!dwz?J4ta$L zd@lcrF4%Dr<)32mg$PFu;SNVd^F9~fFE1vKqxdwFPhMot??9tNULgXXE59SsPkm1D z$#J~)=QXwGx5(&_SBSvpnRchzHwW~p2<`91iV!MAOMhD*@hU?7uaaL5fqJ!PPZoP+*^Ly2TSHBwJt90f@8f zgJ)CiPqgIm1%0J2UFEkwB55x+igP#zA59*`P&zS!Z;M=ig0J;CCbG-VMm)h&2 z)abwkG0q2^;4|cg!VVrtK3ZSNhY80 z?R>>X2QG+lK5YN$w}Y-Lqxck)FEku5Z-%(p=unps1KG0be?q?k5&j(f+aa^${8>%p zjUTePy?+^Kbojjx)g3&(A8RyjMf!I)Z-32eVb5=o(IKx8r60{(AkXl;ANaw)IzPO2 z7{#ZV{waj79O3gb&8tu#uTaNvzAHXk{0zk>uIAOR-_q`1iP6C~h~D<7e}QoqIOBZx z4Lm1D@#!_Z@mC{!l@7i_zlZEkz9haRpI?d+o`1oWcK^zZ4!%Lur$+NX@DJPnTYmfJ z3Z7Y}hI?zYTf!^M{55`aOu7jSlS!V(^0*e><9S&YXvV zKZp9gy3?vkicdbx?EkKg`~xnC1C0*97h-|WjBABq1w4-fe(>*raKNLKe_{qNzkVw6586M(l+j_{ z2T@!ZjUNTykpAV#i+Ymt7tPGCMmQ=F?gF3rJ|fosW*t`VVah+r^e<>-?_bJ{4t_$E zrfx&vi@iq!`E4+6`uh~0cRsIw5v}d@(bVYBt{}$w{E7DGAJ1O!-uV=tV)_>%e4Ckk zSbaS9^i>y8eBv2ieaJR;{{|Wze1jO?*|O??LVZAlKZpFbT6;}7#V0#5`@d`L^_ws{ z)Gfqtr`cbF@8cl#TW#00i4>n=@+pKb>*9lP4dLs&=dc|VpZ839 ze}#Sp;maIeogCjZ(?5;yRXX@!e;1oy-PN+=F_eFz6R-UR*W3LoGdlPNQT-CNKiB;4 z-rqNo=VK+4PqekyZ&RZ~T|xvtVfJ^i`n_e<#x<0Gipdum4yaFv6-Ec&AOatpNLhn^*lW$SXwndywCi zkJdVo^3Utb+uzU#-)@A@pAfB&f(g<0Nie<_>aQiw7wgu%`Uu+D{hMNR@CBl{b^rYX zjPEviAbmf>Q@r{RH`)1`8XdSG`aOB=ufdA@-=p#?ZsGYC8V>09AXXS1`aOv9$^FL< z%)c3D?CC=CmGbyx`^Z1wf>>&F;DYEq#p7$d_UIJFCui{ZyqoR$t!;G3D@2**<@fvg z2a(^`5Q}(x%5Z>h5X+4YzClz|c>cY4WbbaIe@s5VgFU|`Mh7m4{xlxnijBqhQGANY zrxCtNgilZB@%_@eJ$XJmT*2#~gN~7Z;19%%(IMXuJ@Z{>{|WQ`C}jRT`RnQA_l5LY zUi%ZB?0iY10~bX3ZnQsHcrJ+W)qSpve14?g=kbLIM+L$Sd~#6psH73T-@n~Up3fE^ z@c85{_WCF_I^-K7@aehq`O}k!_9Evmss-=-n%CLRS7dbHf(U%B`SY~zD#-hv6*IpI z;VXCW!F$Ts{Qinx=Jg@_mvy}S`nTHsD=|9w1~KTh|M*c@2b%!~=700b9_~x=$!~e{ z7me^$I{2V|F}{tW(RUP|X7UBM+5IasI`{@r_2&6^{lJE#fBw6?{#o2^=PNcka6tq< zmw!!`zV{X7pZJcK-w@%eK={JDc>XQ<^7ShzKE?D;cCq_cYIN`oBJjEVt2Lw9&lI0z z`sYbIUy;#)3!?7B^Y7`aHk19Ix02WX6v9{T;B)zR;l?BCQvNBXfBqejf8Yd)WOeF*^7L5%^sB)w4b(*T0(SpGNp95k7rdw0P1#Ej8l+<++WiSi5Yu@*RE^XFs3arFKWGruBj&u_8Offr)X zpV$5#Y(2OW)&7F_c=Ll0;j3`)x!T`D`HpiaKE=$h>}B__)ac+FL^Xit-)sHvC-<)u zGrwMMJ71B}feRw=x%{hLJ4cScn#rdSjx56MPl@*LUGuBA_YJN`&*Zk_Uq0Mfh_#~50BYc$zUwALC{Z*gvH+?>bS-(LayMJXy2j3t9pR4_CSu}t= zzoyso`e$*sov+yFzy(p?$MY|JbK-I;zlxdP5aFwE@VWf^efs>U~rMMeiMh`{Ia@2*ytq$xh}1FwHk2uBv-76bS951Sv9 zoWGsy|KtW?EaM+9ejfb{)y|%d)>(Tqy1A?X^Ky5;?!vzt?VVj1szqDJ^C5k5J-c~wsg=hh&a?%9LqGrRWPPrhFpG~neo zxZmzynbE;Fi2j6#FWeSI%)jRk+t-`&&mYC(6Awgu@cSVqjSlN_i2k-{{~#XY{ylc( zc=Gvz7{P0QA;On)@D<*RLh9rEveE^VfASJu{~`z4^IK|k@Dn2V2JNn}PKwPBK5Ts9 z>lB}2@_B>od__hFE{JhH;Ed#W_3gIhv@tJ!bvGMKml9}Z94dkV~{Q86K z{*@RVe1j-=?SHgcCLG=IN<+rkBomo_V*!Z z!*;$RqXQSj@K%`LNAoM}{oh}2e3?AIE135;DTJ?_$tU4G5Mv6rUQ+s}F5Bpe`WpHafH`i2uVEy9Xcq^EZ7xpW@R@z95MF z11^YDj1F87<9t|tn{5iJQG8+y&p$EL&ezoFzy&eRhuweh>N(TM`|DH>Uj2rK1KJnF zoY7%k3Q_bh@BPBP5y<>6y{-Lj%0JEIlf&%wQEGJHg$R7G|ANh5mY#gdJc>{BdE`x&j3FIKloSU z#l{;bKGlm?zahd`;oyV3LX7jN=knzFb~Tqbe#lXF|4NMxzCi@PT>Z?y?~zPCg>aN3+yy=}zG3tGIpgm6hw@J``TWuL z{FWFU@(MA|hqb>iXXybXUpcS+X@sxR!RKm!4;SyMP4Q_aUoa-}5Bg<@Q;ZIE39;bc z#jUC&Z2#}Hbu-ERA#oS4KEz}8{1zJ>@(QuQ=h%N4U419{d|Lg$8{a~NuL9ua&TSKH{| z3&j87gL$<13*euB=4s^nZ<5KU3QtNAjLNTO@@a&x(#7Yf-(2x7vOeS|JpY0T_Vzc$=+N#U`dy;& z7sfTLJ~GojBJUR!?RfPe%IthijSgH8fltqg-rvIRSGjE3zwc*J-;ZMQg$Unf2cLYE z=3C$Ts_GP?r{v4)%a(1XwK0i{-`VFSq+uszU0~bW#gY`L<-&NN%F-D zZ&ZFoduIQK@NIVS!TM;f{eHrSGegMpLz>zCR-%IMG^LR1g7tg_Oze|pl?-D@d6&Gb(re0hY=Ulz?zUGu+5C;ssx#V0=FwZGsQ zyMGy@gKrQEd{7@ILi>dJc;KX>dni81YkwEqF=`vxzcBfN=k4vU%;>-cG0umz zzdgNgqt8dY&U=0&UWoYM_d`q?9sGm{-#vow&|v2`+MZUQe7{!T&1-)l!k2UK753GT z^9QR=2_K^JEBf;IeTY}>e8olwE{MP< z*R&w{1}z(YEajj0na(e?mk{BraPS4EN8>N%U$d(}%TavV(f)u>&b9kjYIN`oBKQ|J zr1@%Gbkg$_pJe*ymD~A>j1F87fe*$v%)j@W{Wol6AYAOb)5_uj+?jkX8ThJUpbQx z^DlGn$>jYEq7|<`{Q36!?Pzpp_YmX$Vf$M4|eYB+EF z2$tCWD>FLy2GQHQ|NaKn|NVK@+2s02Gx@|)J72NUfeT`s59?prFF&M|@=uQ7`4=L5 z6$oE2+{~XH`$PA?cnE#}Gxz&P%k2J@8XbIt=zkg2g=_vdW5uhy^})zM5+c|5R0k{$=m=o5=gQ#67(F&KEG7sdG#Sy*!h|o9k?LI`Q!q-e+MS-IhU+orhlQ~ zfVzNKVRUGB5M>|p{*j~qTRubmO7Y2gyzy7QW3P`=qXQR2HGgg7@tHl^Gp;gXllT z*!sNgvd!fbpJwuf z2ww%04|_f{;^QVqQhefNUVX?9?DRFQ9CwH8suBKci#*1&@(zJST+t+VI1 z$moz)h`^^#i|PaFINtv?`!?uC@yXYDb1u@R|a=)>YDL%E4H^28kwEI_L zbnp$LH*x>*7psppUyrR<8NVHL;UM-=dVjizIi!icd2Alk4sNrHu~0LG*U={A+Rf73BMQis_%X!QTFgj1KJ%BA0Jw_pl}9pJMu_ z5RNRuElPR*g^5dVr1&(G&);bGuf*u!8$>Q&^CuSUrTD}ry!zD$M;_sp_wf9im~BR$ zpOj3#;A6XgWkv_zAaeQY&U*VX%0Kxd&p+{ry?&EMhq{HR`bYk$j?KyW%gL(-P9ynp zy!lm#a8w}N1wO-xjlU%$52W{>AE5i^LcTWH^IK|k_@m##f-y@c{F zn8;fnd7JHgMMeiMh`{4IfBMVK>xwBpF`w7|6v9{T;B%cnJ$}k-XX!1`&8%_50wud&&D>yotQ=!}}uQt8NT{Slj5}3q;`4 zk2a4af@!{}eO7%5cE=3bEYi;2T8XbJa)hk6Trz+MjAo*9Z9Fe`(KeiP3=z zqI}Nm51I94VVz|DL1=$VhfjTk;*;HZd>Y}aMEHWq(fYh_ZUb4romlJdzbHP%PP#I(_&o*{ZWQ&lL1xtF*^7LG431I{>IGy|0p}}z$&UO+>aeZFUOAM>K0qlnVa96mRh_Wx)+X7hXGtXeP!QKJ$XEf6ZrpzH0Kp1^pWz)4vzKw$axj-#)tjO^5^Q7HBK^s9QxTFZ*(@ zc8hyH(w0j;5T9>mmHFAv{rT0CkKCZh4}HP)@6LyI7N0K=EBS&i{CoxS!3E9oS?2R` z#{t||-oWqCQxcOzk*i~KiNh>>_`D_2eTr zDDndzmtWPo`=2H8Ipy&qSnTI3kPj{>_}sMgzD{VizLR&p?N*7;C_kSrX81}|4M70E|#P~-*Rr?$Ln6iyvDN67x4Vg zEUxS5e&^>akPj{>_|Ug@qW}J|MZK>dCh<8XU(E28w0z9{+3T&nzTCfS>hcSh`1320 zkKCY@{Ahj3oqvqjc!K=?3MHRo_}X&#uzrSO&|v(zF8_N(s&6n#xBnb{pXP^rppE2X zUkDmsNcUaMOwZpc`;-I-zA=C84@;k~q2x0^`1z{H2NyJ0l3xD}?oao5IliuUz4L&` zr@jA~;V3iQ;KTj_xBfft{vqP?ZQT;x@y-6|&uMdUXwcqRb zf}c`8ygsx*KE@+d%XjA{jpF`utmKOszETcf+$YVEt8dSp7K-}^<`UiUE&SP^Uy*#| z21R~xu~&P?f-^h6oIUl1^Tqy9@;QcMA;TTtMf>+F(s>)Rf3???H?NWS;vaP5FIwu) zuZeu*2CeYnxW@1uQT}fv@i}FF<`+L-HTmFzg3sl=zx$bPBX<}1l=&qL$1H|BiEG=3 zT4nu$95cs{X=ff6N__T5U48AZ{`~66M{dyQ?)3T$`hx4<^XBg&uK%3!`gHKWln<{D z?LyPMne}6QQkMRfv zU!^aY`mX%P%#jkGRq~lX{Cw5qg9{2i%rD&f<+RRLy#LfH>zgoq%kzd~NN&SKnug z6P}j%oRTkQ_*!!KY|i|${juvmCh?i6y8OcB{Q31GAGtx1U*7ZAuG?+TJtRJ-9Dk1C zXk)m+mpA@yC|>$ciO*cFo1dfQ{rNSLkKCZiWZm&?yCWyvBJo)zpIO1rS4BR!pcTHH z@pt&4^5<{GO1^~QC^Os@zMSLRzGnqC39X71R8X544_q%s0>qAJ(PJ@$ID1 zcib-VIc0vqN`Afq`QUI{XOspJ&`Q@nwn64pz>8#DRREE#za|L6a49^IzW^w(BDCx&JBWzb^jz7Rd)M zw8ED&|E>Sb2=VhZoH9Sh@U`Xe<&D4Fj@;xUDZk_v-TRNC)%^K2k&oP2_Z9EYHbZpd&#a#E;q{?a7tf6wt9_1tIUrTpw~y78AV z9A$=E%h&kUt_Mkc$=O@Z^2H2aiQ%)C>-bK(`J6_H&nfxBfk6Z495iPsg{(_$_vp@{5&x(Hj2zn#f0P(C~g8-~1bhr`H4UOC*^0AdX83{!bbN2^G`2?KOO$+eEq{LXfiT{xmw(xjFfya!&hSX;ualW%ZB6S=MO3Q!gc)l70E|#(C8r@ z-?nbs|B-J-ouJ2=puf*^LKc?5UaNYr>)1v_A zN82R(itq1nO1^M|G(Y46?MFV&i=e^%>Ggf=A8>qsj=f?dDL*q*cmC!WzJ&~*J2buT z1%UH!UqT$%w}Q5kk8uwLAD&MG#rM%4n_jd)-aoiXH~#ED{rT0CkKCZ(OI+F~ z-1vL;&NCmD`ok*uf{p!r1@gfK1z+C&(74_Q%KN8EzL?=FF?{BvbpH>WTz)NmHr`mu z&nf#O+{B+>k$mI^1z+C%5f}FvJYC{5%FnNG3|||=7u}vd&o-~VXKguef01uz-SIav zX@2NiXfyffOQ?y`{f)fmZ+v*|k79qsN9+36Z0fIXHTkG3G#Q)bhvx%xxD}R0K$p;q{e3kbdG4o6K#yW3FeC9YEUr^=e zE07N^DERV@Z%20CK)nCOD*0lDuav`wzJ+3Z;`njKHt|zZezB4-+}htCb>!o9D@y$V zE-1bazJKg+&M6X~Q}Q|DK>eT#$w$9Haoot8pKrP7;-@9P_;}s;i25{9oehY#Zp z&+!C5#^1m{7mDv+F!$+>zjix+ehuW~b)m=)d^ir{`{3K^vOmX3`B^1ju)UwJ8~J$M zir$^B@9oR!c_znq>^rNA*WaA7KVsrQUqDObqc5NV@dbE3A#?nA@rV;Pl=6#n^26(e zJNWafBfpXx{!z(~o*(h3|NYZ_kGrI=#Aoi;jX%fmEoJzkmD9T7IOpd2Kfi3dov(gd z;YvTTMtmKP{1N%bIspKOU zDEM%Hr`ge;->1Kh5$Bg!IsU?3{PnFPA6!s(jc)&{>j87lkowo1s9Rq-hHoju7qz5) zi~UI`_%Z$#)jsmR#AkNX^>4JRKfh-3@w!mksLOAcr}mgF@kL5Lvzwo+R3Y4FXb0R%K2}1|NJtDe9SA*V3O|rWfvZ@>s*P? zD*1vQe!foRg9{42yz6g|?Qo!z_!1>w%<#43@L~Sr_MZz~AAVKhGgs>B8`h-xAs=Xw zd>l`p$S?2uLhD*ri_hP659y9?j^S(L_#R2;zr6Fy4d#9%Uf*)c{Gy)z@z+Q`@`T!V z=(wA=|J>GDyuUb7@|ivSd{yLw3kp7*r*q@)?Qv@^mBwGJo&OlVSvh=IpK^R-&irGs z#AhDXjX%4mzd!29M_)iI`QiDU%=)Uwm@mcWM_46au$P~&Kt8yj;LGceeRsV^zW$-) ziy6LB4j=Xppg2Bb{c`!GAB*>2IVE4XcbXs8rO-O^@w!mt2QDbS558YNx<{_VJIuCi1}x1s~4Ox&Hlf{0`#% zlkQ_3pV`;XS4}>+pzezFx*O^W&DM9F8_yG;KW;wJ@g>B8aR+TBAFm75^7TIC74h@w ztdh@$X@1BDI*5FXJ7{=CdVIs@r*QS%rpry@^D$#3Ur_7k>qI`dpy0#%dpN!ezaF}p z)E_3%^>57ZwdC=ABwzpSK4#em#YxYHo2@&)414+W>qkCvgCf65UogkFUoTp8u*mmc z9iL-3+8AzJ_sA;x2lMmYM{Ov7eu|PW>g~_3k$mI^4Ik~@j)MHS>%U9iX%V0Q;*@-* zPs)eahgOr1euf51b@N}(-FLW1s;`-+t8YRanD?NqJ*M>_NKvM*aNxHIk3qpwTI5ZWxDLe|$geb#Z?vR`Qws{d`sAg9{42 zy!FAkH@At`7o3tWVfbd{@Wlh<`u2Qd(i+nEGY9MHYya)fZxH#&4T}8Ckuu+#&%d@v z;)`$7^>1*1pRW`7;DVa9`=x!6Ge375uuweyn*O@{Vuqu{aDy*zetz)DmuE=%+1qvb zg$JhjAs=Xwd>l8R;LDqzFYi}6Q{pq*=#FoW;cH{~k|)w}hwC2P`l@Q=hzSy3T+s1F z2l?}BA|JUyZHd-@^!^Gv+kbuf&l68ST;j9J@n;V9^Hq}%E@(7K$M?$KpY9;>#dqrZ zBVqW;44-LEuYX|u48{5o>-*hY*DoYK_kylJY=8g!GKhTi3pDxX{_QBXXR6%z8(Kc8 zv&3g!)bRyHe|-z&qpr{jA3gUToZ0*ie8O!h@r8FP&wm-dQVw76G+oz+5+Lfk-@MPZ zk@)Q0y73nt;?J*0K5~O1KlcdT|H9nAaoP6|uOsm}C7)yX+Vc1wm-*&3Jn^8!7u=<* zZ*-_Xzb5jL8x;AOclYSfC)x40@he+jEb*CGS6_3OpRbyHa6!R`;|JFtQ+HTfyua8g z`4Wb&oWqCp0XM&Vy!Ch^<(DYyYY+G5S5H22gCf6V+3jC{{g2D<>t3(_Eb+zK`EP)q zuRuPypx^@+m*12NCnXY}xm(vCF~e6<@_{qkA7g@t#ryvvC0}?%njiLEpmpTqb)nh( zIKIagE&HHWVSm!Rq&vPj;=u70+D1O=3a#+r{wq2TgCEC_hwb^|{mUA1U*Tj`io)L_TtZR`LTM(;ugg+$xar zGt+hbVUF|jRg(`cXqFG-Fxwx;5AP-4zoFzy7`}22AGo;w=yh_<2r<8Vb^T$F_vcqn zK5~Nwk*+@ud+Sd5{xD^J!3lo80{P&AR`@XfnEn`LrikmmNSR;E@RhWDOn>Zj`QGCF z8)k;CKSJxzuSh;}gJ$!?IL!9P;O|F?&kwUoKF9F2yHT^_7UG76)X9o6Vv>V z544edtXHAYFLZtN75V)9*s*8UO8pz(r|VyHlE1#yn{k!AsUyGl=;AZOjH#phPS0Eo;&@3PN zB-_8!?%3sCDL*qy#}_kvr5rwRasB(^8Mli4n<(oWp5o81NIr6dMmOmCW9e3_kCpO^ zmH9b_uPu)cW!}w$RWB*U*|1R;FS9IeqX81~4KBhkoXc#45A5`*%|MBNn zBp0Kf6RIB>$1rAkZyn1p5@Q4 zo_yp6&E|)3nC*{$9eJtv{ClV53(ofQ703q{6nx;~`s1TnZ>}xo_kiyB5i@)xhA+8C z*B=L6dbIfdTKlT5f5UV9`4!1WZqN!}PJhfF^S$`~t>8gjevaX5)ABL>vEzy{ZX^hZVScyUeoo5JQhsKxF29)JD=GOf4zvBybBCVt{eMcn@B)8+Me>mw6#0RR>yI9*ttPIoVkMtr z_}VzWDe3h}+`qwHA6#$HLh=1ac7kqw5M7w&hkT%o&f&xT+4cti^Is-eHe{rNSKkKCZh4}4sGR~$M{od2wH{F%%AeAVQG3kp8mSB(2$vh|(Z zc{TCGeTya{1kL$ww=T^NW%%9PH1p zNIr6df)DeaOZ@L&SbO=^AD8&do4WiQ!`H^}MZf9tYq)Xh8xmivxk15~ zm!J8ePJI8lQ}UU}&sR-8xS+uwy8PB!@nZ4%k$p>7--O{S=kVp_cge*=FPG|T$Lr27 z?Unxg>d8lLP_sCFe`v5=dLH67@~=;K8@8LczKWIk1w;LO1@gfK1s~RZc9Zn|KH2&2 zmftqnN6Ifz<`*-3r5rx24>-R6toy)M5}*06Zv2H;`SUB1kKCZh562CT@9T%QdO_l| zCEfAOF??+dU-T#4Uqa6x;*KBY%DsP(_+lkrbhSUfCi0ORG|PuR&W^t!$A2q7AAOQ8 zKQqkFS4}>+pvfP!e=tkFKj(>Shwm)q=ahU2ap1mtXe;^11sY#T^`-qaF2CzmU7<uTT4RAA5?FpH=cj*ZT8oA|JUy!3X8$=hjDt+$ZtHN&Q{ zgAn8IpvE7Tm-w7Azi6aCzb5jL8x(ww=4Fm=$VPL;=RXHe>c*cL<>#v=A6(FQa(Z0L z9_O<89XM>T`1}a-p>F&o#DR4mw3U3kF7$7FG!F57)c4#UPM4q0y0dcq*OcZ5E@%V! zcwK1nSnu|KVt$6=``~-4dtsO~{=x~m`UW@p>sufnb%jP#YEzW$)ARDm*8~W@u@~>L zg~S&t`C{TgZqTXZBNu3eCx>tPp8JaL9}FJR6a)a7ov_9QD&5v8ZeD}wJ zbEN$26y5sSF??+dUsOf=Et|@Gj~8mi_s_&izUXFueof>fHz@dQ&ig-B=($Eg%uiWg zbBn)!YskmAgPNyn(|?|m<`>pbp7aCg4}1UhVZSc&k6ZBKgP- z8r?^qpOSNa-o3}0pGkb?8Qu7E3|||=7wkp-L3QQk=i&cd`zVReD*2-3G(Y46Z6qK4 z3{6g={BriM*55V|uYbf!K69I&uZnzdK`rH%_k4zd&vg^e&&{*C`X&tDEQT)`NBQBo zVa)R#-&?cl7qPxdK6|^rKkCUxy`jM~wQ2uiej&~F?~c!f;`KN4p6>V&+~MadkPj|s z@~n<;z^w2*F~5>-eHAl&C5A74PRDo2kip{qnpNf(j`inPBpKes=hXMSw_g|_ z<(DY)a|~Y_!xufT%kR6|;g?E$v9dp+JN@}Jk&oP<=B~{1>zL#3lY{4+B=MO zQa-#sw2FMpd(imh+V)nhJYNc*V?hm!B-N#(un!czrcI zSoir%_HKWD>&Zu+Q2S6?-^%sXJ<_kU^WW5KkN#Y$Z>-EOi2Zy8^1%gl!_)IO@Nv)I zJ$zaZvA*U7-S~@%1M5EMRPvDvG>OvvQ}A)?zq&6Um@egKm3-kn{``vMBR44cu&(0x zhL4M{koe-My5omqI2JP8c3XP>Bq>+leQtSn6^SoY@vHnL>p9{;UqF|VkJp9%jgR?!;u~A;ZWj3t)AdL6pg+GR^6_^- z!IxaVcRMn^20!}uxpx-xjA`1z{I2Nx7P;a;>(eKy_C%JQA_-07!?`6>Al zhOeyTi@NyvZk)JmfgwD9GJHmtpMA)mUp@KA4Vujl$GL2NH$FI5{QQ7e$rp_G^A*Sk z7c|Qk6#V(Ea^jMIOZf%Q>hg;jzLJ)2BR}6O&D)Ci*BPhVKL{UA^TWIXts@_GgCajS zpyPcy_&)l#*T^yA{!pUK&oO*Um3-jL@;!0cPiIN>H8XX`k7$BFzh?6By3pj=-tGUy zx*3Y^BfnY0X2{Q%SMr%h{CqX!<8`6#IUQfaj4Q?Kt4_(6Fnp~HUocI_cl7kJ+e`Je zvvl>f6aD!$kdNG;CeiWj@X4MVNPK1w-Sz3bFWja4% zp09lB**kwD@j2!E>=?eKIee%qm*0T7ch*RJcABof(IkI<&E!{d!#^lLa7AnQk8k~- z>ON88ix1bWPt9aMUk&-ds%VyPZ9m`5=byEi#Fr@ZOBlXZB_DTwdB^a^`z1c3{QOY+ zSehUD7Ftg}`WA}*t-L>g>5pgMy+geJ%I5G@Uhi>#eY=rgsVn}0`qKHYW6qDdJo>1( z{}<=*;pJk6Z>o|HeS+VI`T38_juEdf1j_LjKH<-=j(ogsMUfxvYjAvT-Zl9tY5axz z>iX9a2gV(=jeLv)XdI;b1?HFZID)UikNkeWd8&ASVyxtgp7i%e6ZznRf(Pf9_&UpH zd+s6c?>?tn-p9{;e?r^H$KL@3ALbX!>|bqv>ZjuTY?XY`Gyd_{L_WBnSw3$6>iLOJi_fQt zm3-z|KVLQZ;DY{*kFL|89yoryarTebOXJTe`4Wb&tmNbNug-mF`*S2dqnuytbN>A5 z$wzL`Y<>Z=f3^F1KQ>5w?pEFTdGNfyf4h;7xszrhznI~h zs^kM_maq8HG2;B^y6WcVaGJlqMekC|c z$M*mB36XD(Zhi@0_UBh5AGtx1AGo;r@8l1b|4HJDmH9b_uT9B^9JBT9_2CWT=SRiL z{G#dp{F=x|ZqRUMZ959Mxcu&)``iUmem2zgubGkZ;q{?a**Wt53-WUe-@+We;E?qG5{~b* zrCr76`^5Xp^9%T*SN!=kl8@Y=$ggtTWyarvdB+|h<(K5-N9`7vIsX2wCLezXG#E_R zweZ{s`Wn9v{X1^fF;gWz^Qv55{Jw8g=j}*Mf7xmq4(^uu|3rfD|b$@>}l8?TCV!ssUzufU{`x9?FQ_3$^ z@|kkVhj9n3As@Lw!H4k&#rKilh_7aKlla`f<>Lo_UqT$n2U;c{;|_}BM}>=-Uq0Tm z{}&RU`9L@R>>K|24k91CQ1q*5=-vJ&RygSoMt;%VJBaml@9X%2H~oB_$Ojh`e8IQ< zQX*)EZ|Miu^p^6o%KT!6uO){sYN$<#nEGCQ@UBIP&m5o|f8ksH{Q8lP+@Q!WuYXtH z{$ug|TUN>E7`}yhd^ztA4abic&(H0Fy8NR5ruiWsXcPJ9TWBRedOjDvrr{T$KlYyb zmiYYaSjlJR`T45J2Nx7PSUZe`5eR7rsRvR^YhJJe~Ng2M6BeC-u36#L_TtZX7j6@FJufz^lyB09VA=dum3Sce14}nSU3I>hOeB%hxaFA9A^3Yd~k(${m6Wz zn_ukv{`sYWe7r8Sk{{jo$IZ_x{aSmrG{3~3>G*;VQa;oV+KGJ3H&F24zBPOee)R7r z_n#p?Up_wkVEiW?)GV&+@O8{^lo)RCK)LgyhrYl3A5wl!nP2#!zdwrPBTp!}!t>?% zc~aYp>q~s*b6tHM!?BRzjyv~j&)?>(|B`E#94YbHpLNH#XuiKcn#u1l7?ynjKJ-bj zmH++mZulSK{UuhJpZUmN-)izvS19=M^80?zlOB`uGhgWHn-B-qEznl-v-#NkHic*W=wQwh{S$(bd;Fe|;Os&+G=M*zHx}eXO(=x$Nu^j$VXkF@toR@`Jqqf z55fF5_SgAuOMGUruD&sGpsvuVHc79`psrB-9Qb}4*k!QD*G*U7@DqQ2Me>mw z)cq&DzZm@s&GHRBa)@~UTJWuIf7~$~3mNXHCB1HL8fo3f>>s>v)3F~)`Pu%u^-HwC zpI;OC$PF4_NADZV>EEvp=`Oy1CVE|$pZV0!S4}>+pvmX8?WKg`c$cm3f*uFR^Yah7 z@s}_hvl#C17q>=Pe7;ny$ip zr3_y%OUHM>WhXC^_{@*G@fUra=7;eGZ6Y7z5$dkbtpAw(wFee_)l=e&m3-zKe|>An zN8O-*e#>&&{FSxb^8qy<+;c9!@cFSKpZ!VK zA2GvGVz|SN)BT|2z<%kFW9Gj#F8usdY5c{%>CQjG@BI1oBOkdz?N{mfdF8y9;p;K` z9r6CZ_-$Q%9mCPaaDy*yOpkAoq5C|kfziLo^T&wi=Vm>b592Ia;_r_p^6_)fX#KRV zxQ`=j^FP0?5G=S#s;_-l_x@V*y`Qg|d~iX*7v7Qf3CH)`4kw;2@wu<%{4k#;3|~2i z&%V;D{a0{&i&i*B+~0_E>I**mgFnA|@{t=9`9+(jea!JKt@%uRKActZ1wZ=v3gm+e z3ch4VneXJ+{w=?Ma0A`^5;J_I96sD1%jLK7*ozO6#-ClR8-L+X{``vMBR6PpVQo4z zW>eoX^I!j;FI!LIifgS-BA)1dw2`^SIP^+&>Rlo@XD z*-K~~GUIQx%bu3+&r$N(U;O=1Pd@U5g3moFpI@GR(5B+`LAy}5z6yTz^A*Sk7ZiM$ zU%2}2y8T1nO8sk<`Na%hDTfd5FXQ<7eYM_QBHz!t{KEhF`?rpK^exmLR@?qhtY0cQ z(hp#LHFEKN*GhcmRNegI7`~+pUouxWzYLquDBs`oAKm&Y`prN7n#jkvgWBooy2b31 z9)F`@{`+$tx%0~Vr2L$6ePDj~^Hq}%E@;$5>w8k}{HSi=ZDS=q(@l5$O&Gqil8@Ve z*-bdpo7TAaRX`>r1`~lwP{B%^K(;|(hU-y`&QS#!JmG*A%4O+?X zEjhmrw}0$wDL-?x?*1Xi@GZ>Y!{<+f7xOpf=ZDsxaJ0l{+jQeETF#$eBl*Y;TH)C< zo&UJ{-n;RJ-6cMEj4nU3e9DK{hgOr1dPBhn<>tSYiWh_upE*{?moR)~B_EgH=QEcR z-=7j6tLqQDfT{@*DlZ75&=RpuA0nDXJg1KN#zjC*K>i}rQ7`hNb} z3F7AmI3-_992j@d68XptTH(XKICK2Cf1jDZi{tM&-S`Vv^4GUWKDeM+K75UQF~5x2 zVB|!JFFsB;{v5-xkm3H@yvOACMY*n*#OIWJ(aLFl$Oqa;KI#q4@^S0u(q%u2`;+!~ zU46|e{`yvv4_;`NkL!;OukG}rl%G9bSKox;D{J{4q4P`{fEa(vt@i105?`#$&vx?X zS5H22gZ?c)TnEYUtuk=P!4jWS@&%p!dd&u8K5~Or^2_=B?xPnxHA%|PDf`1Qd~HfTF2CfUEq0Xn z?03rbUzapLbLFA*ZQ1DgO1mDWXIjb9gF~iZqaO3>|mGQ^q_wxDAUo7$2 z6LoxHSATv*@{t=9e0kS@zh0;6M~N?1@;QdDEr%~}{5^lv1M@|`CCd4);Lop#eB=g2 zerB6={^QnvcTc}k9Dn9}9iLgl-@jGlqi>-Vt`+;GEy0YxpB{VWBq=|8l5YGZ4BxCg zKHQhX@QsPqIacC}m3($he}03=M{ZE$m)E~r{)%=Le7u^-r|ge#ZGV16@{t=9`Bjb^%=r7}+iCLsS4uv| z@U`Xe*;uacfm6nb*Qf0%y73pSljetg7ics2IIcq7>%H6miTXnEeVo5V|DJlXSl^R% z*JsSS{{F2ZAAJk0_Mr%R>_wzd}SpcIJ11GzEpd)#AgoG^@rWapI<%s$PEe}tm~m!zCE89 zE$64?3;yZnE07N^XoZj7*MqOKe7Db@b(xf3tmKOszLJv9GVedycipMt`o$^v!j1j; z70E|#P~_!k-xObG^ZR7Ur0b;o+)~~8z%d*P8SdnEdT#bS`rKq@eY(Y>8u|R~G+lp0 zo22<6A7~@_SXV*gKIy&{)(716%k95BXd^K{C7&_=`c{(X!1?k7kT&B?Qn3dcz=mIU02_j;VW@`uH*R;*B|$-IpKUMzvu+r`BAu8 znjg;FpmpS4lZyzJ^xj%IG$2#Ib{h$lU$GC&WGt>Ge zF}?4Dng7mx?I-c`-^|y#@fU6GAAe2cgBJ=u>?3gXefQW6`%C#*C7;>C&sR-8xS-&} zx&?~*qrPXX=|)O?v63$#4vaf!EBSa`sFrW<&SyO*^1UlxU%>0xEz|sv4|EXu7B?o#DQ@KT}VF09n|cW zj=S&~`TF2BgHICI_lc4(+S=bAjpTz13O<{2ePOfndUTiaGwlZy6nt1m zbMy04t8XOsN2KIS7>+W-4Zghf%WG%;Cf;n|SmCVZR*BE7psTMV4y+5HOUcLULbZHH@7zs%K8;;V#~1D3 z&##GmAD`dLBWslSKj9-@%}oyzV7_PR{Qg7ARn&_)$;AvIAWsIAF=lQcPIb& zE0B-epuvLP?WlPF5jQ`7J^3^7^M&m1y8L2>qlMuPH}985Nt_(tfft?ljhNq8y7RYi zXMcW0@{t=9e0j%@n?KxR3yIGu`5eR7mctkKmyf?on;ZTi@x?3X>KpCi&##Gm zcr1PX0=~}j^{DD2zP~&CM3-O8@Rf4-f~V>IWl#dd_*-$?b03oOi_g~`f5RUB{EFlw zHz@MLxPxZ%+v8u!h7zA!NjJYZhOaG;kKPx+@x8qIkDEw*W@Q~;RO8RDiG1V+t>j0~ zU*q`t9=!7|5?`zwf2OCOubO;tLBWUTB;o69eRutRvbg_ZmH8zMUpa>l*A+Ov9giF@ zp8uK)b^T%Y@aI=gK5~PC2kQf_zN@#KF5ds*I_u__U{60^fqZa5!B;uXG4IbCw_S09 zH2%ygy8eh6zETb!IJx}#&i_a}|FsKr`GtG=^DB~%+@RpfYPLTLz1zg=gNc&Q5eLrO zpi9Ze>q4_!_!{5G@#C#S&lf)*$F8c&FWTFmUlaMr4GJEt`|x#^Z*VxWSsH(_vOml| ze!gn*!370R-uiEY`76C6@+tcxVfe~9e7OIB>yKx@yMD3Acad`b+t;68J^9EDYBx#G zFEKxJe4np!hFsrHy7?stQ$F+sv>W*tS5P~O_Fw4!ad6`M=#R-```#_)w}y@{CJyXt zKuhE!Hz+<&61m~)EZ@wnS9@6Evuo)3H>~y7w@5y?py0`BmhYV(H+Wv+b6@EA9K+Yf z@Y&7M@#lt8o$2c=-`DTnnNwdKU)0M#{+h|h>q7s=$GrdY#;VUZmhv-K>iXC8_Vd+{ z4=$*?QP&@TuJ)Du{?Ju*{gE(ytqfn#o%a87`gg6@$BFZcRr1+B{{E;ZAAJF>@L_)! z?^B_GF~2OlU_z}_-?%|n-(Wv~eY=s5x;z;rNK6Z6of5gOre4s7lV?Kmp zU69%xo3!zcO8P^NZ={=c^(g zTu|`2hO|$({pY3IcAY8ar|jQ^;hUAi7d|fE-}Knw&xrfuM%ll1e}8_1$VYBa@KSVzSSM~UGE7oN|+@!h_7(bHmnO1`j|=7)TsMe^}?K(l=K zI@`Z5ZgJ2XGM~IY#p^kSuT9ApA72Z!cE$R6^acNs?|;5rKK_C)I>et}6Z!Z#DDujC zzT=QdYwalJ_YXNg{L$u6KVLQZ;DUlL_xjtCf#UmT;+*`zmk;K95M&GMb_O7~U8`YQ7a4)^mF$OjiR%g4JA@>LV-k9MlDfz&Q--r4(tg)Q9{!8B0-Jcx}@aI<~AGtxnV;g(4Be}O} z9Zi7Xn?2&}g<^gs9iL>PFVPYH{F=x|ZcyYGeVBf}2ENYL zcl9Bi#rLl|<@hs4`uVEK2Nx7P*cazMKmMzuH)|B@J6P8r3By-b@`cy?$6xZ()#CjT zR>^1U{Q1?BkKCZy{3^$}On=mkFUaeAC0}rqpRYhZxS(0S%ICmk_?~?!67OG&mHiPj ze5D*doWE5*2Pwn1%jiA#lE$A?<`*9A&#y>6a)Tnjy!*4aZtk(C$k$a~KVv>{3}0Ig zpKGD#gy1%E4k%7zqonP zJz{=N$rl{&=PQs8E@+kyU!&i!emTj#`G-{BaG`E}5HlPt47Xh|-8YSvPv6Id`w+5x zqt+`=6Zt0T)>q*PX?{5GfYyLAp;C`69pX9-6b2#22rv zoc~Vr^Hq}%E@+mIn_upmypeeR5igSa1Fx452gV(=m3-s^{Ttt-{`KGO5A5)=lwa_r z%vX86ll=MBlaIdx3cheJy3hStx=usC5cU0V`l6pDKC9#l2KxC5*(g^gyC!D_-@hNzcFdONW8vkhw0X*_B4Nf4df#i zXgpfSH{+3KFOc$c%KU;se!gzxgA3}$==i$c^iGq+XV=x$H)i;zGJK|4$M@h0pNa23 zH`nOu8=mgZua11=26d%g?f=C75ES1>f2{b;pW^wY`(5|`JVzXuf1wM>$9fQo^&Zys z&@A5vUA7n3fAOC>zUV(`et3Oo6ZznUVqJiBRn&=@pF8)xN*aGo$!E^+^Hq}%E-3g= z*JuMj->1hEcaZqvRdmOXgyAda@!`0!x}R_2*l{OId?wKKuRYVBUp@KA4O+<$eCzu8 zetV+d$`YSb<`kx9?{=i*X@7pj-ZNg2@-xc!*E)u;jp1`M=)9N4AGdxvz3!k9BHwzt z{)o;=^Fuz+M)ENqLh;-ZT)*V5zYQo}_PWI9hU<=Rrryt2MLxKo;KTd}&5pmf?|ffe zKgY`a5{7S94qx8$X^!1w{0CBgwo#X#J=dS#Ao7tLw2~iP%9ert&@R^}I7;Lop#eB=hL za82*mj)WYud^0Y7SbYCwe4Q>obD_U~tH?*+LLEJCx1!ATqc3m2`Z_5;+f8@;NEnVX z!woJRKkRz7h^}36{xN3cDDm?(oc8m7FG};nz6P{`{0=X^>3@$wgYmc8b+!ML_>A)TQsz=WUlsY_f;!3% zeBAn_>B+(3^F^(aFJU;!3^(|oTzw~B6`j5;zukf@&TfykaCyhR3^qKl-7j92<`ZZ7 z7k@wIF|%*4_Mf+}hUxDM3PE96Q<$66>y=HXrN6&{eqZ|!dHxUe-LGqoN0Y;DS)5MMq09JrtyU)(+AE3LCj`|C8# z+qqql-*xks-&@Mh5#K_3U6(7_* ztzAv^tsmSmKlf$&`cvt3!x0_(BW8H)+>Z53{*iKrCwBaM9R2t0q5VJqhx~4z{lQ<) zXW;q1OY2t`(eJ;ZBVR~9a)O%eQVzUi@?Cno4bDt`N8=%){~kXF#rPY&{m^}u@eSq1 zpDm|+v*`D@J{`wj&@+9#HhR4_hL@{vyj5D?`pIjiXb+`|{2o~C%WI_kg6Zk&H(#0N zmyGO~Uqn7~gN9dk%r7cXpT19ZKQ$dk3H|rT4T}68yx{%6?yqC>i@#6v>ohdwi}&;A zSD@Fcrk?{Rl*=!yqWo50s~xR=#ZHN|{uWS1H`6A*g|9|q?ZBstC zQOZ?XFICic&2MIJD%IEhlIGWN73DXsV|^|8$O)S4)3Ls0XgVJ!7m`owgqZ$&)D;T8 z0h_EfSmHAer^mN$SEqcz10DGS^1%glmv-a}S50#YF6zh^;`aiK6!l$j^{l`4U-;w4 z-6>xq{T|!DV|{V_FqB7$;pN7k-6Q2L?6ONcS!v5u!FR<^7cG$Z9Pw2ROY<{DKVLQR z73t@YBb4I{_DuQAew()Q6}Ba%9DA+(RGm~`*EL;VEv46uTRPU)F+4Fd{v7#5`g_bZ zG;W9og7J62)V_-(KGT%;Z!><+Lml}d@{toX;l|%(>G%U*g5L`;Qq=eHUw+zu86Q9Y z-I(%q8cy{+s$+fQuR6Y7HT@hop>E@JeG0B%#GdUW$&7v4HQLLxYxS^A+77)@{tpi>j(V4cBp0l7iZ3U;e&6JQ9u9n`N=GwU6lUa-L9o^ zJfS0BKt8yj(ddrrtEgAnr{R|A?~ABELi}EUk%I4q&(CR<_#)z)O25Zu_+o}H*t%mq zE9-gk!RK=L!guG)llT(is~bW6@kqz~Lh_LtGb9mYC2imVXI_-DxB@7?tzt5llWR+!nyKws(u10tNMtFUi!-@n1wd8{n z8eWP;)4&zuk4^W|Apy@V|g;5ZH$lSdgJ{c$qjUWEX_CI zn}7cZ@%eT3MO}W;4QYPhf;KUJG9taN9s85W4f|N&JLJ91Yoz?#{6i5@2hHYZMy7n& zw};k{k8ugLucmyJ9C7_4li$euF8J&C!Hz#O<**K1_#(@fFnq0AK6;-|HowKo?_4kP zy`-zJ9p$fYJ>w(4y!v*%=sB71BVB!iCO=<+@$K;1_EO~W{m}o~zxLPI`Z{HOV}_%| z`1XX}D!#QgJ?$5X&noi^Z}j&^9r@@BXqFGpxkVqNf46w0DBgb%hr03Shy(L7G`K0{ zMqfdbp>!O2Ii2@#{TK5z`2KzF2NT8oM(D<0L>$Nm+DJa;8)*Dm`hFRVKk#Mycc-mJ z+$ZtHNO-~$&pv-vH(e3WNL+TH6y{z6HhyALeDQKise@MoRga8+82sFvAAGpagv;;pMeB<5iy5h_Z#34QUlZeJ`MCMzl!>Pp zslHapXYTa#RWp7vS9gAX>&IR17x{YW=9h%wC^J6z^5&Ob$9*rJAH~Z2>|Or+>KPw= zdFz+Yd%Y>%KWRqk#$Rx^pRd69;KR7XJd>SY8lzj^lj`e~^^J)G#|>x;`8aMslWFw% zTRH2~K3CuKyTlhO^9y5tenrLyALbP+i^2VY))e0a?_Vt<$> z-S~^{@#ojX_~6UykMC!{@v&52tK>8H`uVCEAAEVox7s;f0euXb*eShhe_lf%(=0@H43-0&x6&OFuha9u>-%7U~x}TJv>7(o4 zm^d)+L0ibjyax?#NRPjH{rjIAKNu$QS!I6VIDdXc#s^>C{I~f|`-{)Fa7sSMaI`T# z`11O9$^HH0&zHPOH~yjr()>_AXfye!H#D-n+qWul+<;;q5a++W*I9KfslMS^y8RdP zpr5aXd~iYI6LowyY_RQj5}&zQmtR60*!P2$89!LuN3}mb^oAqE=SP@3bbPkO-yiji zZ;sUQ9d+WdH%s|hC13E6pRd69Zj+At2N-|Z`R|IEd;fKPpS}JOEBRvLKwm(ol8}iQ$=8pR`8kH8jq$;kH$Tri zyMDA(Uwg4`eu*CT&o9m7qpnc!Vf_cr?D!kj^?dpH7Grh&YbN;XTg~{kce?KkF0Q^+ z10NRm@55@{_)CZb*R`OId|cOpMqj4ugZQS7*SElnpSx36-(aGjuN(Q`f+i>Fj&CQJPa7mYbB~TMCJr3e zpe4pnzD?hkhkA13@02f}K40RqO1|(>e}5DiKmJa~_w@HSFDLPtTXgw3;y_I(B$ZpFZi}!icFea|9!Mk zmp3IotK>72{PnG7eDEQ+EGP22WAefGN_?hSSKoveB=gAZcfKvmMfdzE@!{o zL*h%6`Ps?-{OTDWe0llpSNK)jKaI}QjlbZrln=QEp+d+4H zi-`mC9<;>x;LFSJ%y(YjMB;PG{KCim`PGq++@Q(Ly8Qazu*N8fFFapYUq>9s4cf-| z;LFSJ;|(v}NaBl?e9;sB{F=!}ZqQ(iF24(|cx=AJ7hIsr&phex-)hDOUtWF#1}qCm zI6rbn>Gp>bhNH~*cC_yJd-qj8&Jg*|(ec?S{`~40Ke$!LcirJ*Pn7uL7j(yuV5*<5 z!1(rGy7m3~pWU>z#AjP|d@;jOV*I#Sm)}YouOVI^jFo)hQ~vylj33^v z#-Dk{&sWX(;KOrFDoXc3WBoVqllA2N)0cGfbHZ?x8Q;E4`!5Z>+t<&Pc{+1{cEga3 z#p^SXlFvTt&##{G!3QowoZ0oMEwAydH2&A50Us{C13cwKffa5gAeruU$%d1w|!r% zulZEhzmDN(V|?&|3tvN#-*z<@9w+7Jl=(%|{P{I8J~+TvsdJ{jU*0->ti)&L>c*c* zQa+3?Xbt%ok5KSoe-fP8`cAt45OIGp{#;kzggCIShn5-NoS61U-uOE{nDCR7Uvz}- z_-0>7^TWOiG$J4SE>PD!ou6^s!1H7994w5#N2mNEem-aTu#PWy(LeqQj2||q$6t&0 zMV0CK4VmM|eJlSiU;jNy#}^X^#uv1Oe2hnE^cL~aeks1rj=#??y|7NIZ~Uf?FMP?L zUy<>_WA50sz2v6R|NgSRKRz$sADg_T<8us08{>m7YDxQq}iW@B|dkxZhkS-Q$D;tw2FL;J81ZM+P~Ph=jOlR&%X56 z`{UW`gVCwF{1W28yaz2aKKPIq$9M3FTZzvXwZnAz*%|)+sAqie<>eQC{ib++>6G~e zGyQx8#s?pcZ;tM>%g!$!zWnalQhmeIboGrHjuPX8FYo&Aq+8Ds&p%=%UpUL3Uy<>% zd|ZAXwcY)PlwYhIe~#g3V|?)8z9z0eRvOh)eE)ASNLSxzwm-in#;@?@+#lBe_op9_ z^0P`l^NOFZn(?!I$T8a=yLbApxPN7?(akRj!%=2@`(wJl0WQpgS-vh&!|hUjv69cu z@#k01_~FkwzC*`X%b$;}<#QJLUAvb*`<~K-pei;!5)=$u8^0D56+Dm(vZ+KrhMvK5??$_ zcYL$uG(T`bBl5uobz{=?bESWo@wa8KB|A!d!8JO*;0=HO78oCVIDX*#JbV0@ci5jp zB|i74a{eO@j4x;l`52GTO5f(Z|6|Od2ThguOi9NVzUj}e$oSx^)R+1=o8OeDdp|Dm zStXxiINBH=e0k>|&s1&mpvb2jf6-h1{F)dae0k>|1CCnuz#`%NGEwrG|N8l=86SK& z|KQg5!w>)L2Z_&2(v81_;V3gc_|U&Neq_gA>56b&iO(we>^y&d^^9NP%UR!FHS&tIHYvzx>hEAzAO`SXj&M{ZC<&#}zw-`~1C_Kd`5 z@6sJVg7^J=hJ0{A5E_RVe+#y`Ry@ANhwAzxCJyZDLQ9Mv4@&Es zx4v3w?h3z3`8g$D_(7T-+H^jg4& zl%E}-%g=t4=7-mZ4k91C(D?G+?SE>PFWVpgxa`+)5}#A@1)-HWe}5DiANiqwx%qFKGmny=zoyL3 zF&u4-55Bzqo&4mZ;{0Nj`9+_k`C)uPo5@GNK*5Lc7M`Cze;K@({~j7x63;(kWqxLX zzrNLs558>w;&=zX3r^{OsWkqak}n|+DUa4djCh%JNY^gKtSMC+?q`BX#pj@R^^l8~NaZvV8P;X5icTgm1;qSBsT=F~c`C zkB`U8yW4Bt{EALeIA z>wM%l;sn}XMep{1;yEkG4d)I3ueiDm40M6%8YNW zOy?K$1$X?IxyxX2e=SztUu?he=U318?({zCpGNg{4fJ(m`g<_Hd^h^om8AS^Pu=<; z_|`xEx{;4@01bzx`5`xGcKp4u$MUTbpX;mRiy6MD44=J9$JgbPncGNw=32RbD|xi} z>sw^}u#nzQg8oQ;@7Z4OY<^cg_r*05pVL17fH+p5hJh|6AAbiFeBgm*`*)B3Zhex( z7j7@-hyIPe^XJ#Z_~66w7VCs8-@QvNU0>p}qjkp*v&7#YHRK~VDEM&P;PP8&o8N~&%K630`r7aP^{r?8=*{%FhWEW;p3d_18qitX9}kqz7YKgv z^A#8$eBc5n>Wulh>%7yCm+BkV>*^ab93{rj@?n0?=J({*UFG}Nlk0eLE}@? z`eNQg-)8H(=!~Z2B|iI@?)YJsrupIZp@YZ=FEpIrufuwP8-G3D>T;9B7c2RKU;O>s zjePJz!H4w=mtV~jt3(oCbc3$GF>zqu0Gg1Gbp#ZA_ORM^3!KOi^Rr#&D6xOTkuqN; zk6-=y)sc^%gI4&k|3}v`v*Yiee|#cdKR1u-#-C&OmMZy>TbA#`SGKN^>KmV@Ti-|j z^XJ!0K5~O5*Ys|$E9N~Y#v$sv*U}@JCBEYL@8K5)AhDZk)O-TL1C?$57*eB=gAMy2(|=N#ZZ&v-zZ zE9(2`AD4;y<5tNR{Nd;8Mn1Tpu8H{Qa}IDEF-LafyJ~|UCrbIbvAXdW69@KPpe4o+ znp2Lv^+ED**RsfWkFLJqpJ{&Jf)*J+zCGoOXQuB{PGbN5P}@&4FPHejdv$z{;b>$0 z;3k@1(7$J->xJz6xA^V{>Lk8c$rlCb=O80DXcOaS`H*LpZ_meH6z@NXUX=60csI-W z`KlQ|sH5{Yx<4#9Bpn~w`DI{vU-|x*bL9R2UqT!!(1ZuJ2@?C-X&zvp?<_;XEie&7pM@bh&eA6(F|O}GD? zln0zH@x@Qb$2YuQOdRM7Xo>N`hq`k6&sWrcv4zNYqb|R2MSp&EW<^@nUfYhCh^&ubooUq`SWWgAGtx1ANZ0T(|$qS z!PoPNb#IjTB4z)YmHm7*w^IUPux!8 zb7SP=2Xb-5fx1H57~kHTu1E9M&wu=L-lGzqIazuByQ)9GX7Z66G_CL)IA*K7S zviWVe)yr)XpH=diE-4?z9W*2#IYYr$>5t5PvY4NDI%(J>i7!_2B@CZq_~Q4|+`xzT z=b?|mxA(F2zleMjbmPyi=AU2c8Q)xx_DA0MTYK^p@%=qc$rr5d=PNLNG^TfZsq^^W z-E-IsDL?awF29)JC^3F~tB&vR%`RRj@mVEb_z!=6MaFmM_fh3{>!`UiCB9h6=NOJQ z#&^o`_r`6j{3!9cQxSATv@jBhT~<@eBPedW)OQs!q0e!gnPPnvb(@0CuUi1&w? ziMsws7>+XIgAe;^nE$ftm+D74pC;AUD*5ah{`~40AAFdPvA>(;>wCi73nac+$rr5Y z=PNLNcxSDue~&Pu9}xM@()CA79N0I2P9-1f0;oMEJ-xE!>Tc`Zo?nHJ)(6@3%Pw}ORV6;Fe14824y^m2ZH%A&T!`$~SRc$d^u#YD zzF5f@t?kdRnSA61&GKZw2H&kG)ip|dc5mJIGwb;IYRCr{G|OXW((^Itb4tMXz?w&j z&+jyi%K4AsYt7+vRkRP2`5YDS&AVsVIbwcFKD(|zzXtM=8x;9P^Qljm=j)wPx5}v^ z-#)tf2J89xx{(hqDEKP<%hY$fT`n9d@x@BMnBkk6!-wM<6x^uq`&ZYC?{9R<`i9;7 z`PGq++@Rs3{o3b0H!bZ8X!2z0gRjQCcBPb`xmMR7j^SIH!v~(Mf^Wm0c79gkv-|4C zU$nkIzh?508x;A03-b%U2A|z&-YF7atmHEr`1xwc2Nx844(H{hS-$d1$wv~Oxl@;4 z!tk{+e3kkF`gwC%*qYzC=0yF&t&akMBy?eR=y= z*Z($gu9ROgT9=_Di2E;Qif(-nZ0hGLFn;)qF288O{^IpFtK^Fr zjuPX8FK>Ti`dS0U>sw}wuD)S+e||;AkH+ijJ8_*2Uy;V2ovN#^V>sFvKbfqn?{%yH zdY!}`?=paQ+Dp|?03!L{HYlqRzIRmEg$BsprsVYxE>0=%oNUJx#NS1i8bQ; zE6m_9|1@!6+zhQ};^|%XzPe)l+ozMuo|o#cel2YLl5A%E>yRt8D1s`AQ#ddBB0GM` zy4d%AV17~!**Uilu0QU)_L*%YzNlOO{4tmQ!(AWA5C_T?+Cp)ZD-?V#mzigI!8dG^ zgT(tc;t65-m-h76k6I>fE)N^u|8(XmXG;F5?ZV18-rUbu#>6va^AFD_bI-4ifBnQ) zBtCs{SpShR9F0sId?;UzZ{kru-6QcumxS@DE&T0E4aJdn(ClvOAMPtwn&wZP>&sKV z>mtsdMpMJeH`>x)z9mc?e0i>MwqB&8Yf1oWCho4aJ z;rb2g`uF7XU;SI+i*F3`FWuVjUo8{Q^L6c;Yxa}-sl9RPN1rWv_YwIn4XeNLHh#V` zCZ6Y``^VLl{_Ef4hE?1t@u_3O$~Pkplq;*Iz#dZ`jpH{+S2E+UI0D>mTwCT19c>9Ta@<59*GeUmbF)miVGxVeN|{ z4vd?j%}hM)WUr5qf2c1m-$v8NJuUHNf&Fi~y+8kInK<~=e9Nh*9d!8ybxOqhJ56Bw z9Pi-gD`Vn$z9Q}O;XT)p`?uo)+dqb*k%`Bb*m_ay`e@6G`^mq5JQP+xR4>1O)l58j zxNojsE5wh)FQP0Hnm_9-Nb!+;v zhs37>`I4Rd{#7#ZcyO41`k5i?NPO|gu>3O&M>7*wmxk4k-kkzTNEDlGr%ZaMpC$v++FU$UFOd@GrF@^lzq z^_B05^QZdwuIJltty0H8k zaM_BhO66+;^Dpl0FW)jIo;}((sQ-;tlHcDGKN8lyWW<4Tg*H(fzCq)mVg4=Bv3P$; za%EWmq4x0mSIxxZXZi&B*K?;O3uy}LQ>#G#qCNe5B~08f{<;0f{DG#c#24KZcKxOq zj(R4J`5;^$ao2Byex10n#AkL4<4Y3jAMy)YL2=|GRPABME5*hyTOBe+^iKztuOSZf z8_;GZ4!&a7AH5b{^oi(SAYa?c()EJSwbxiTCpJl`(PfVLX8T z!>u33Cg&}X{8NE^8N<=Y#N!)n`&W$b!2UzNlK6BWpX%%PubPP);wzSa@7@1U7l|(( z9ag^4-j)yb6Ix1f)Muz37S?|(|Iqc3#FtzZ)_-V*V-&-Ub}wJPSjXh?!uK0Ycx7kt z`5E(Qn19JWe*dZ{4&R`8K0Fu7JpXar+~q{RDD?er#DR7X+RViBd`0H(w|ex|{!;nI zfzMy2`}*rgEfZHa`SZ_hU%uZ#&6D`D!2UPh&(BxJ#P!pK^Y>i;yJ<`Ny(PYAa9I7w z7>-6J9zWSPXnfUSs-7kBsX#te;rFkaiAT@&3F6y&{x{4x|DyfX|s!dqMk$ZMS|*U*)OeB|dXa*!5*{fZxALCayYE1eNbaSDmt@ z$QO8jiD5XJnK<|`Zb=*L@B6NQtJa?OlEfEZ8|Ghnpx?h*Chqd#IewR~uR8o)iBCtB zxpHv-aql0B53+n17eLD?j(!d5^1(-!@9_;^`$6Oj^e-b0^lQ*YCZ6X*|3>|<%eToE zJBsULs{e+K57fW>5#}es>+HOZEyYU&C-TGx25k82`3kJZ`SU7vCGkm-hGjSIfkci^IzI;JNF+An|4Q zhm~)9grBdBiG#0L`M&n;6Jq_)f#sVq9F0tT89t_bS3m7A@%^T0VEL+l`~9nC;!zq_ zzSXzYA0(Bpc_6HOqbfgN2@?ljvGV=qwx_q2_@cgH^+Pip^-O#jKBj#Cn);FW`(XNd z7+-Rv-@i&Go?RPOzMJ22=%JE-D$qZ}a5OV<@D(fH)sOtwNfMt4tRLxr{QlK4@n!g! z@*Opxt9bupa$i{a#z*=2%9waMEUbJ_{^*$lCI8})Vf8m-I2xHa_==V90h4DuEAeH4 z`KONd`&Z4xm*Hc|w`#eU<@+}R%Qrg4&sW04liR||ciqn?R_uUPqR zb=dl2r1FjT4yzx@v3~z5nfNk%O!;oL*4N_uH6k6xXBduVCLWClE8m|!JW#wpEO|Jr z{-($I{i|i-;44iUQINj4AYXK0t&F^0w#o-&&^$&c>jfLeq>yE3$@-=~c@#%iPa*Bfs%JJcME|l+MH{R4D z`4`U&E8mRaYYOGV??|NJD?e`yCkDP*Jr>IA z`vm$IooV^-y8^U?iGvS$r)YgvY=iILeQ*3)@=pi)r-=joF0_H-@C};&9_HVBgT_se z_|&Yh{7cUA`&Y@t!3V!M|2ho3UA+G}dNeHm3~|6WXbZ*R8#MYe%)iTD`cN$2cy^e7 z>Dhk&YMD6riut!*)7+P(@-=~c@j3qbTTXHK293YA&zr0D`{qV^;BpJ2y`T5H^ zVg6+dUlYTZ{$(fi}Pd^oQ|ADIZ`&UD8_y*O3h|g*FT)qRgE|c#+ zcp;20I@ixvN^x*Oqjq%tfp(AaZ}L}5{)g~c91uAEJJ0W56~*Bj)ND!5e>`c&D{8X6FFUz#uUvfr--0g&iPx9vnK1th z!`D)T4?M^_Y=iIOiDSk4bCLtY{7cXG`&UPC_y&c4;Bggv$45KgCFP$EfBAYb(6)QnhJTayyXAX{FAK~+ z!|=5f;meN?82{Ap>;#EVy%#oqNo)N6)lnS2LE)dvhk6YEE)HnQ7_6#kt*a5M4w z6!T)(_)1;kFW(x9gA1BHLp(*se_dAFL!AH9^TP5ky3}93B}_cN+K#Ubt&5I%E40(_ zZ~lZ&#NW5f^I`sJ;y}4V8z>InplN#=pBC|NOx1C6{TLs{mt5vA-ztiO3mT6LE8lY_ z?A=+aA4x@6{V>FVdJAo4;^~8Q{kFU9-}3LVaPChW7QfR$;)@;(<4Z61`&UPC_y&!L zD?5SKIU{x3zis~9={ku|2l^LZ;pZ!-IJltT0w?N)%lGlkGtZRxqW#1C%ZLNz3TPLBy2pBjdvnTeYTeR8>2%)ga(x%od* z`9}3&eCbtw|7w{y`119F$-m2fIzE;7;=uWrc(9+ZjES3j!`2tL;Ef4SNPKDF{7c4g zG%|7ZVp#dUKKdwmeSyI7sk++lUo{g~&)e}qvHUylg8ckSbRPudN{0n4a2vP;WL4JpH=-OKEJ90`O@qB{tclxe1qyyVg4O9WV=jSu1>{`yhI#Iw}S?-r}SySLkAk;JDbhmEf?;&8`ThT{2w75xD|j0>Rd`1GZX zXY3&HMbC%zZ)&LDziK9~wzSU=#=lhLh{5HK57wKTR7rf0{zp(f&7OyP#oU_n&;cX))PI%-~PRN+LvPc7au13hrCK|@cUQE z#KD&zzcBvYfBV?Kr1DJz`3!NuH)spR;Tv=rKFnhgC+0WyJN>)95??$%tbU|7`u(eA z;(5L!`{s%u@1t{lbi=kYwvqTuWmx&f!z>?sgO*bqzCpp4>~8Z9^*8No=VjpEsI3-% zBk?7NhVf+#UsE6-+P`$ILcX`Jlh=>cfqd#Fzkf9phi_2VKa_9Ot&nfxTQ%bSyHUR| z|Dv1ye5Diz7nJ2&y^wFrVN)NF%2x&QX@;+%jeO}Eg?!g+x25>|w3--Jf0J6je^nHR zZ&1!ZMfDl=L!ZCaev*HBR9N{MhOZ@*kGQh&h5o&B=NE@bd|6=mrnmV0tD`u4gTg;E z#rA8cAEv*Zmxh0vPX4x5;xkji##iyJe!g;wgA1BXq;|Q;{BzF<7ycsgsi|Rn8N=7a z@R=9F_*U9$^DiYnZNkRSYPjFO8j8a=X!K$jUo!V)d46MBn19i2e!fzQg9{pGVSGQF zaEsi(9UfMHHN)4y@I_}<Zkd=quva4%f^|zOsr2NYQ`3%F?63CbL(czm>Sti!ssDGG$=^cLm>L?E1pv(A&aiGKZ z{z+f1BKc=t2&=#Got6*ty3jHvj_bC3-eLUgj8FS)QX|gqCU=GPzZr2XM;9c}CW^y1 zDENwvPp2OHw)p(24&+mH{_?G%IJlrLA2&X|Wc+d>Uo;}jzv#byzEX;V3%U#+m8&~G z-T&8l;_pW)kWVvw4Q=If#;1+fKCzrsKe8mO{w8<%{i~ule1mfSx#QCvpPTWB#HU^i ztG|ZfYiT1N>NEO}Iqf6y{(BYZUpm6?UmeBa8*~}}nDOZ@-<%=NUuA*$7vJsYE2lWP zpx`SuK7Hw|({7W>H!ZS$6V8`0d`%3W*@ngiRBz1~JCCK0?UQRkQNH`E_rp38pAKAK zRNZ6!bLS^hic_d6qnCA;%GU()X@;+%2p{e%0iS-ikgxp*=Znub z#_xvZU-FROzbcBuH)!5Jw11?y?+N+$XpbBJCHa@W5jMUz3|~tTKDXaRzYM-jMsM?~ z#HRxNOGo1Z*w0r^ad1Jw=eEmex4}0!+TmxB z@4c}6%NUMn47dBcv>s{4TW^Ag z#ovdu&(SD9UuTMg3+nR4kNf$?ev{oN@tMH#)ePULKt5g7$Bt~A_ajc;<=zb>J{9O+ zGTQH71;ybT)b%gg&Hhg4=HHojA9K6N_kLLYFvNj*D`+zl2OsJM`Z<@cIKKQ;L3w$Nad>o%Qs^<8ksow zpd8;;qc#_0JvOrxbUuKfvXxKCp27a?8*C21x#yK)&b+KVMAoP(JXY ze>-(yH@SWOAH#HR!K3~``cfi^Soyl+MBZ*RV4<$EMP6Udj2@wYFvOdNdZ*SPvS z@{PU+h*qdp|(7p{Bd_HXZ>x5_CJ zpAO_xPg(y^KcNFCj`|GMT`F=_20nt<e91HZ`ccWm!3QpIy5+m?b0Zoh|4bmC zVK|zZc%H9F`#1iN1@ilUXN6s#r_cKRt7YQgEB5}&^6hsXDEXJn4&#fT^YfK4aqty; zKH#uL8(t{!#Vuj=BV#xknK<|`FN8dF^KXYo>dPcP709Q?`u(eB;(0!LzLu*W#}4m) zqQs{I`J!=tz7i(x^1(;fzg;HG5a(aaXJO+jO&n-{p$!yAe*#r6_09DkC|4-@5sa_) z>p5UG(Z9g@ku+HUzy+ySPzkk(C9DK$6d!^z^@%N8- zZdmz76aD#DN^$rGRjbk9(0V2gzGD9MT`+iCiO&S` zB`^5>tD-o3gX(v}^6$-=XWlCDCG*0{*ANGMgElj9@D=m#&T|^X@s(LMj4z$!uOGEc z+?;Ox10ULFxBnfPuB;^g;?=_V;urmVWlY?RvAbo#LmHF#O4aLC)O;g+dg3DF(9~0MqRenDC$FTl4nr!)S zerRWk!%t}P5#2vjRUn@x4%Ay{Jrf5XeB0%ZK(2T1s)Whfp)6Z_xGS8uPCa=kHA*pJw

f5ON913ayJAo3r*0I|VddZ_oPIZz?|o`w=|!bkrR9&;DG z;t?+1U*hn;VJ20o;7j=_|JBrD*_@Uf!#)yPlY2+kXl|IxZ!WR^UH*NvS1cZ`asPTS z?+xpyXy68k*qonPEMOx75{C>6clT)tP-+413lDgg^H_N!u~7hPw0I~!Ec@UUoiHYs z#n9m*v=_dWH2K}|OB32F4wmL+sL%jVOtwMR;iEBW{U7qEvWWUHo`4lT)?eX|#SEGV zN&n$=9P5YP}@oavUGEXbQKv{Dl=bRs*(bH223wg|3>*gA-*lSFZLFUcbe?0hhMX#5C2 zjKzQs6_3K8HKrD1-~{G1*1xO2tbYiD)E{EtxjgLglnw=9O`uD`3g6YAz+Y((@nQxw zI&lb4%ijqf`yck7E2zLB`VKm=glywHFACtZ{LyXD22NNtLiRL{i_aOUO`!Q8>mU6G zYisE2xv$3teq4Z=^b_KkGyk;0xAHY#bmoEo;OH1N!(k6UrP2NiAN2~OJXH2ec*W?- z@clq~)rgZ#lJLUE{)2j+aE1x>g)bkX`-BnBbHn~P#8n-Pfy{@}@+Ur?KR8$%9%HwB z^caE_zRMqDFO>cU<*>Rl!vKy4#IkV}HUN_aL??Xo9~!#_ezw>JZ+tC(G+w(TU_P9d z|6uGGMy>rKK6>ykzH{~H&BXkT6+YGq7M%NoT)>`hb|E(d{_RF zN9E<^N1Dnb{L;rjBB*jc1op!B_M`d3Y=b3Bc|8fMNDrp8A{}C32O+xL(f+;8`p5d$ z*Lljm-M@DI&3!t)k0n|76FQXvOCPQ9vHsBWm9+Kxlw!VP%*ovc4kBYW4=wtu!?6qT zPWY%l_zgTx9&QukNk7P=zm~A>KcCA_*S{~c=Lffzcrb{w2(+R%aQ%>m`4ZN@l@#T^ z@A-?%^&a+OX$Sd`;_p@P#tI+%zm5-0<{oXw-@>%*6}bXIpA!+B@SXjl{KdU3T>@W` zpYEGn!+Bxcfe%v>8PXMD1WyI6E{Q;a3E6=!3v-2Pupg2gUxd9=E2Q< zzBH!bjT1h$ACiCg(JgvNAk+(CO^&V+NMYfJ*Z7O~-=SOkA9*E={`P3x_lh*0w4k^d zSiyXh^-uD@h~d*7{&y{mVqU@9t&*I481Pp3SpS3I7bkYM_r?pH1)%=&4py^6ww!mk z1l1|vgip$Ul<&~+!3*EjU-F-eGK+@?bSvl=wB7^de}(n$>L2s##pS)*Vb`L6!bwfR z3ZKbO{9(9BhRC1uu$HdkjjQu$DWA|Rf=`ZKh^3I}FMKOsi~TA8oDcOsrJ?`FSpUp^ z8n5)eX#a%I%D?2L@Wq2VF`V#<{Zsjchxc|Yeek>IAAI-%H-lXo=Hr_GQ|!MFz6SRR z&u1P`@V81C+A)5gmaH(C>1t5v1Fp)y{-Is+_hbAH`I|4*%Kri0A30c{)?SoP7rIZK z<@kdYJ}v)($ANlkcgj?p@M-yX{QY<6)B4}#52&hoNWcl7^gmJ9;PbD4NPegm@WQ9{m-5FT z{uRVbi`I*uI?efm`F=J16&_z@cw>bx!0~=$p4TQ~-kq_!CwkO2v`G-|pUd0}_zq!WxXZBC| z5&K)=Gx-O6DEG?f1@j-_GyCN{T3+3Leuw}Rg4^*`j#6Q^ZMNb^M6^obXxw z|J=;Jw$lL83!l~Bz$0L0E&??qL-%dWKI@;AU&_ZW4311bH~h~EugTx#A9=FFpzWh{ z+z9^|yD&I2Mn|95(t03)MEu4JpVi+WKb=H9THe6n+YL^=BNenop(q9lm>YHdS78^X zYd3pe_sCGJAQDCjA=!XT9McVB}up~Jce+iydUK^eYTbS%_ms@wEqzK zA040GpbZ>)OA!mWS`t?Hbo|jr9>E+OH(zexD2v{JIpNd#qx0GX#0#JLKX}NCDJaHn ztD*0tlTVa{d6V@o@+Y3pa9*3wV&hY|Ut@(=^B?dWKm$o3-Jt_G;S2j^`J?ON?qCSx zvll+~f6>3oKhFNkGB5|M|86{wM20oc3g3!c+Ds z7DP-Pet6;2`ilm05C7X?{l&bfcb`T~|uas84)xX_PjzW`;0PyM&#X%}Pf zP5d(yp7a+!^}i&yF7qy?@E{F8Ccj*!I-1a#Ufm7NTdaR-f61SJP`8l?G|0ZO!ng7z z`+vdL)Nh>dY5Bp`sK26ze6VCogZBPc>JEDeyzpuH6~MrW@c#|2@tB*M|A)U>?}ZvPt4Fi-p4I7P8u_M@o623GjA{TSi1F{Bed zwSUP+Hylh|gCF=29;fgW4HEZh%$L>mm+?1V;*K-XatLdMPyLtWFZp8n(KzAL_N&Ij zcJNACw!@Y;6s6(@A`mX0s5{l|8bs`?~K@uBs<<5spSv(t?jTl z{8xG~D}1Rx@l^jt&DS{LGyjqNp=#G}=mp?MBQ#v`iT?1)PKN-exq>xP=;Rk(ti=@Tzo!iQMNwl|K6_of8;5Sdhk1?^r64- zS^EL|tugP6?PaC%K?5gzsXy_^w_o{^irl#_>o0uP|49CU56N5@_~I}H^J&(vyZ(#pn+)0N(#S{q@y|?tb6@lS zB>(8Xl1`d{6~2|Px%>i;<3r*7ud(5G&?_*T9i z*uRrMG~Al=fHCi|{)+$hd|Z1}(y+ph=|ARxPI$%tyZpx-&$4`o*?KqtKF|C~S2dI5Oh75ym`15F@k-I31WO|h3*l%RRHTK-4zDbFzv zw!)|5ui*cZ}QC%hs*1q#~QetY2+|0jO`_Km|3LPlviLX9zBU9JDv{Y5BD zIy|>}14$L83%nIx$v@om&pXio4gPT>Jcm2I8D6uht-pEU75~M(Eee;)JYFMKlQ0w3 zU$H+Q<;BuD-TuNGq;w^zFoGT9@rGXPgycv8n`6+3I^om#L-3!+AxEA$SL=`$UTJ?S z{J{A5XdbZst$aObKTjvm>Bic+qB#S$&d0b_7ut`%+C_htY`PzA7e1JSE!lzc!3(dH z-{#m-G_R|3T&Akm|KqCvhvz3L6hZ8{v;nvkUa^14hXHV^ffHWw-;(E!AW6Ur-^#ar z`Qi1#`ChmEgZ&>Rca;B$rhn*haf%i{Y5FG%KdSz9zCXSbl9OIAksjke;nVg%^w`w) z#ja1jDAVx5r}oF6hn3I0&<0IUq6?Sf2Qy{;Q~T$;S{^eQy; zALC==8A?tsKrehcenI{g`ETt#Q2q~D|Fr(haC>5g7Y9~of_ULyUY{t0u)?S9SLC1J z=J0eh0VjOwzn@tz7kk~A1$E(1{K%{M5Bbn^_S5gI6wD*mKb1f5-MVM+1_`E+8^8*m zmVe+8gpgv;OjrB738K_ql)vz){{{Zm8C~4K=uIZx(T|cEr&yi^|cqJ&2IKW6>Y z`WN!=qUapq;%H3=E4*UAK`57c3QqX6{)YS?yf~m+pw+G~XyS!e?El~ez1T92H)f{! zf5@M<53q7gr(bFFeCP$e5v}lP{VRE$M)?chN|M}u=X_8?Sv|-4&rb5cLa~(SP5HgI zDVEP*{9!&*)qffS4v7A>^OIJ1MgIXW@+(USPIyKCl7|s{%kw9{ll&w4KVkj1$sd+r z^U4nqY@J8IAwE6{vAc!$d03XGRRwE?UbUa5cF-VAstg`^WSbJky}e-%D0 z0V}-He&PPvZH|E7YoFvzDY+^yH>me0hH9<#f&UAi_Fq(ghCG&H9??!_X+d+U`9B^j zSWM@8p9()DXbN3`DtRk>YCi;D+ItHTcxn2H7YBxwe^B>={=%pJH{=uV32peW1bmH0 z9J9Us1p>LF1L^jU$}YexSpT&AkpGZpPf+_GD|{h;$B$dUjpffK#JPVNPw{wYsD9(e z@{dIjc^L){6EI8GKkffS|HzLNp&jEx&@+0k6ZKb;q~C@v;Dk^6uTwntyth;T<%Lh{ z|LMtx%hOZpFv?i1{;RywdZYalJ}v)KY+ygyyMccYkFp=fEA6KfK9fJ?xl`;Dz0h0G z3*Sni=6@RUM-?h-E(7MXtbbzWpuQ53^$ZHT$2)ftxWItnixsGM=rFNRRek__Y49{!|Eu zxXnB^hV#O=lJ2nlH9pI}F>BU8?LT7v%L%sp#?)`D@Ou73URA$w!fW=Iaev6aR)k)7 zt^DCMTcpSMf5ZA~_V4*x?x_F5YyJ;@)OJ)BPI%4#BVW%Q{r`ykZ1Hgs%vrts2Ygio zE4*eu-Z37}-;Lxy;H&w2;WhgaKb||v|0(OQ`A^4Jb4U3LpXuK{85);Br1L1+P$zs= z|IVK8VaJdrUbx8rd~ZdcaT6U&vWQ7_)`uT%{5F2@9%x7^B-^(F=9yalG5;`lVLuR2 zGTsWG*}vzyPj5hsQ<#ZQl#Ae)0WTmTZer4qCR;5V_vZSC4X>-w~h|(+?=eRaO{DDJCaTJ z!wR43Px&9*LH1a79X|o=gir0?^V^p2yzpuJJLJRJS=z->MqkkXb5;HMB@jBXFBYVd z>=c&|R(K`O#IikUzC3= zKrQkK|GgJp(SPw|fq;Ft_#uH>6*fPhuD`+;RoDujj{nJjj(2GNpno-g;4Y!a58V{tFx2xK6_tGDi5N=zLKLtng+3-|-`@ zKkC2mrTrz#ZsMRWUp0PQejdWn7^eS}tiYHbI;uZY6a#gFG?Wh53SYJ#BL9{K$O&K8 zU%Q;ouTR%F!r7NVDS#KgwBKriCn&Zypyr3M{-ylFZ;{^$pZX8II!BlH@S5=c;_2J+ z>XWtx=hXZIPn{n&5U_R{=TOQ3)C-^bUxg22$Jlc7PxHgI`XBgv;o${HK)Zhz&%$qe z{AHhp6+Z2MQ@&TA6u{{`-x);hlgd+xzJ~r!_{{$C&f%8YgZ}SFu>Pt4byXHC2%!h$ z5>OfdD}3rd9WNhlVk5QmU9zGRKC@qxKbE{+`N4bPv-0nP_r20W1U>?%3SfRD>tEzQ z4E`5(UiI}?D|})9ln=Ei&H;Mwf&Oa#96a!92-X@x2DTUZtE1I)I>Z|#vnxnSWV+R(MVR zYmc#wHLiZ+M)Du4iwEf~gSNT-^#{5{;U-O@WFV%0X@S6W1`XareH);VV zyyia%U$KA}KAk^^{=@uxKCyuLajd^uekEU6zzV-b|9bpW;WhhTUxwJJ7{9XcMdJq# z@WN~M>-dW9L> zR(MT*8o(x&i(g1t(GMrQ=0EYz$0~pqzLhkG<=^wY2J&a!5A%~)f35y%d~N|N{FwaJ z$`2`=@U2KRl>gRjYxm!H;kEkT@xA)F_>K9=b^WRA2)Hl^-kc|3g;(mCVUh1dLl$S3Cy2P(J`o{mr_){9>Z zct0Y4{PVH;V}2^@-%6T8|LghQfd*NJk5+iC{%Cw^efYodTKV6dEFPr>DBP# z;HwIlpT_!Y<)`wQ0#d#>~0GW6|VE`|@X1^g{Gl2Q&tiM)&bUrnJ z6<)J{$(IIj!fW?N{7)G{<1tz9+MdB+p7M?VIpMYO7dd;!r-PY@ zH(q$vf56AS7xyquyLG6JhWsat*DZGffqU=w$Z* z=6XqS_$>cpJYKN<@eoMigiqW5 zI9kRC0&m&kP5Dmy{1p!`d|Lk^FQ@h}S^up3lG{>v#B4ozINiImgb$?QOBySD+W#gQ z4#QxT=O2Y{MJ#TA>wGFb^cQ|a|5swuYtKJlMK11J25{p9G5 zK7R4S>*W`o&J4X)i)Xd@2HilY zbay}VykWk^{IW6sC%&&fO7&~3@Vfn}H5j+Q6JGbaQE5QE@Ot@YJbtAzAO2^41?#W3pBb+- zK~{L(ei^USVJEz9Kb&13cb~=!ulrxeNBig1w=utRO#gz<-KViH$LH?TIN^2u(co>< zUwB>rj<4(gtH$&%_)`Cu<4gTVd9E&5^%=Tv#x_pj4!mu`1fV_ zLVJvVh1bh3*{z}_Ji21dwzixjtcr^bCdqBDZ_NDn$0VjM#{z3jq;|uw{@VfsF z<<|{hejV$tkH67<;|#!3#!#9BR`|UCpsQMlAV@!OfQ-rV^$hsG@Ok}Bc=%rU9RV#L zV@ZL^E&k_)&;4(}hwgXC5Bp#9>-GAd@DeyX{D>LLPb++0e=?qokLSbgzms30cEXR? zZ*YdQl)wu=s(*J1FwY(S{~Pr3*X2)|j$i@13(v(bK~z!$I^jp<@A<+7z3{pJC-O(W z6u&XQk@X+7f8>kY(f$js`mgwF?|@jsOQNs9|AkleFZj)4T9F(2uNS@*v&Qx>=#OXT z?@ZR~g9WWVD#C*?j`dglH|1YoLGL-1(&$ufSBO@4RsI1VIx&jnoRxtSUbUabXJc3| zyjuRj+_%{X{Pfk}&U zwp<|UOnAd=slNXsd{+L%^Xt(eaHa5f&K@8f0>0@B(d+qB$4zVYd)FqGHy>gwy&esp z%x_io&-pLQr0RsFx?QTEU9 z4mBTO&)P0BpcOvrKXhKPfZM{~#dA}W)#lC;1&>fZg#=#sto=Dd&{8~^a|3c<;{)wL z`1M_?U8w_@-&WC|?|oq8dv(2@uE>vh9WuomJIWv1Gc176YdB>6P=PYu315_7$iL^K z17Jov?EV@rd@Jcn`ymR0x5!`OAQi>~W4>-o|KRI~;ow58{S!WG|0Msg^b?K0o>Bz1 ztPGv-S^L%V+1hdL0bY3BeptWQgvm?i0uS)jun5d=XZ`j3g{J|GNJRXw0Icx3{_E-K zw|j-R*SCxx%Xa z%zj1w-1Lsl~f8jIvg~z`4jX8nhMV%dl~;S2pC z|9X$98`$=vgBUT5;S|6N--=&y`@ep%IL3A@4Aou?pDjMWwLG2_@hi;lQT@N4>rm^% zs}DT+l6>M1D}0fEoGU@)KC!{XNfL0vXYEIi$i%5OfAVAU)8@nI>I>Sx-#el|^CJKL zDf*H^0V{k~|5^To$9s6kk7+C#O&5N;F+Q#zQ5ljw`S*nP!ng8mSN{FqcO~#}HF=c4 z_{ID_)<3JioF5jyEXFRl_bURFDOllE{lm#2&?E9Y;j{Y3`7@9HE78BNypZ3I<&R@5 zc&;?KPWY#2y`cZ^XZ^GK`vSpB=kvWI3?kQdiZLX$U-F6>cEWorTH$m5?fIt@)WRCx zxKSSWr|7|$IQYW~S~~lH{=&B+5|{sG@*sqsUdf}ueFDAY{K@eL+I6T{~9NUvInrj=kiCsx4ixam=nGgkz)BNeDJ_ta{lCnPwNj!9D}D1#4p{aF@KQt zFXfMXw|L53cyPeJ0$Abm^6&E(K6p-2b%Fv;_`Lj9d;EL@Jsryf0I08ALH5Gu{#){c ztJni0nm@$)xAI+Y|2+TPa~QC~r|lovKj(Qui3VkmJN#ex(thjE`jP$;wv}p6@c^5z z<-a~V-CNJ-`N1Q4b{Wr5sV^{_KU~qj;4AtIpZTAh+~12w;L!*0G1B}3gA+cpU&%90 z=UEf``IqDA6l=npKcecN=Z`)pb9_m~3cp4F;VIg_@*oW-eCEGp{&Db^jo`iTS^bUt z>S-8%*ZV;8M_K>0|A&>r&5J#SPt4a?;Vbg5o*pbHf(2Yx?}450tt2b;ug^c@)7;Vj z319J_)zd>BiVs9ck}!Xa_0QU$KL2|VeMA8(d{%$!e3CoLf1JnS*QUF}5Ds%^yca&# z|M>VU?ob}JkFY*||jy~dMh0pyj^0Dpewm`FL6F{WJT~;vvnKXx$HOS7^KA?~)V$u)=5Z z6HkLjjQqO(FVmcPCwwcZiu?mURvoTC@@L%-FMMYIoDT}z#7XqWSu*BNs{TLV*=wZ! zkPVYg+zMZjKMDSpHC;gmCw%6AF@F?W5Iu$tDMs*K=kaz6&fQb=NeJ8x8_MBZWB!y{ z{vE%OPguExD}=`&I@{9+D|{xuP}@d-sQ<#ZlB$${#|Q1%lY;-qpLIX{HXbR_8!Q<5 zs=WErYW?r?$EOt@0$H8#DUdu7D}3gEpdQQ-H3|hlr7qq>#$;hS`JM1t`y2VK2K3|k zv$sbfl>E&%sQ%yQ-!(jvRAvAxd{+O#W7%gjdpJWIGDYCd>iWO%rTtQVV2Gp|`CWK& z+cOFuT1sL54C_CdKej+;4_~Of6+RpPkpAKM(>HMm1*^eN;yW^l@bCgBd|7{VJ~Myg zg;(s)`A_Hbr7AhQp!u^^{S&@sf4hapX662KItKkn_W~z;X}^cF#ccg}dII5VnL`CH ze9P*{{WWrQJiYXg+Q8W8RqFqrtJVKGma6#4$n)3*4$WyyO7fx~R`|01E~d{8@#F|v z&7;}zlj%k;1Xs;}fyLu6`WQ8U7rwL~cI~i!zRmy4pReh!^SS@oZ9MtkbsXf-)o+~e zrTfV3rzqo;pB}!5^=((_4ny(^xX3sXR~>DbF?!+aDc=DUiel7V*SA% z&r#`4Ld10#pMvOTk?R>Se_7MN&i6N8n76{G<(KpPfG4^_jKoAx`Qe05>+kaqn~#S3 zv$ThUwTJF^8Bp{l@M`|u-!tDW;gtno{tD}#*58ho{JPRFIuR>;EBdhg1OMi7y;2N!=f)4k2| z$rSx3S*>ruL{a%+g-`r9<3nQ<>TY4a#_9P3p@&CfLUXKJttK1|D9zsspZHHWCQH2R zo7})PCVKmecU6*29P`&$|4|;}msNOog2ssd}9CbN8PN8Ct=Fiff8}Tw~}J; zpOlXU5G*Kv*8T8${{3oUe|;-7XnoD$B+Oq|{6D)dOj^g&?;(*ccZ`38&-{noFG?Pr z@nTv3obaurDf&k~xK4-Tw?Wq7qZdB&zX3n!weXNwzJzT42J4@U-};U-rqhYQA9^XQ z@D=@&ju(Akp@AFEKX$}j{`^Iszt{7pKf`X>`FQ6YZD_m)-?Q||{7u#WJDx_;=}0DZ zLo0mJes%5b`Qva2e(w#M3#&E2jpq+FAUch|5AJXj=d26#!e`|l z*Rl^vT_+AC+{BO$-TKgiR`{&_2>BjR!5E@G?RtgcCk%KSh4NMBut9mw44A*G=wIRUwvSSA%9_yc$AIYEcvicCK<2lOm`ay#cQOatJ*Ac;F z2i^+bib%o#sH^!jmP}D&m786|Fz+dD3 z#cVQsMuk$k{CaOi^A8pO-@*?s(b#VUKitH3!e`}Ik)JJb`SrdN^4|y^*N{2`n196j zzfAta4InFgYJXa%kS-_NdCI!K#tGkwL|lKE-`@M6{}(>>-!NedNujvott+(&HUC(v z|7QT7H3leD?4m;%{HW zk%{^Sw)rQlzmk82?_4K*u)?SI5BZ-ipH7dKH&)nnydIvC$4Nk{ejgd8;Dk@?$4mbh zLSXT5RhOO8@xmwVkMJ0~Uki))SO!-MAH4aeivB7eN6|y+(f$da*k9pmD=1F*r2d@D zaBLA{_W7gb3NiRjFSPQ__3(cT*O0vMt%wzzzU1}8KcxRZWBrrzOLFTn@5C8ezzVO) zFGuf=Cac4<(@F>IgiqRk^zp~=T6#fc38zVZC3hYO;Dt}hA93rB_x7L9Vy_RU>sBKM zEPXWpTq*yYPqv`b1g!9h{Q{2#$o2F#BGwHDzffhFtN=RUOZiitdcOjOC|>x)|ML6? zN8j>P%)em$6CM|qV6gSx)zzbJ0l9bJWD&y(pXkr4XS)oa8Yg@!W)1$!`~j8PVtn}A zc;OTKF+W%|JH#A>jxoa#(&B5(ztr>(tA7PQD9A1qD}2&^%EQH7;ISSYcD*4DCwwa@ zvi_&Iy>dL^;|2kyK1?hA#tWa+pO8pgG70My-4rxmzcT+y@qb>f4zUlB`%;dQsuEb? z6ZsQ9%AwCcobXBcDSYRCVyF1SSLMeAmIWq&H>aD&%ad@6RFlB`Yt}!pU&tTZkE=;M zI(3n|bQuoB%<0YTbv}DKrE3Gc7n?hQ zujWrdC%5Ns{tfHjicZ0Gg8a~)_u%f*5h}VtpHzJLdn`-1$)9}U#pZHJ6 zS*F@C^EjRkM(oG$UiifRfsg<6@z3(QPxd$eRw;j=VfP>$o$Lir%U}51eqq@P+ivsC z3~TY5Jvx7{8Ndmj%iquX(lY2ZC+X4uRpjsb`_O9jqY0+^f6c#R{qyqccxis6_7*0v z!sq2T;Mr{}W^}@*`p3hLN$ab*f8&L3MWs-GY4U>5331z8?r+U#9i-QsKbe2e`sev~ z6Q7GxiL}B)5?1)sezD64R_jcmbs$doWc=85Ij^+10CS%ee}_A=tP%0Tr~cRH&updg zKz{QdSpTH``OJE`*yGn5Kz6-(R`r4bt?+I5P2xwVJZckpvqq!+6F#wj;2$7l!^!k{ zFk#L6;Q!V9AH3iI$bCCdI4|k{9~J)(`LpFho554CqVFP=t?)_t>Ab3h6TZ~H$e($! zbNu0jFUt>ifF%AzrRs$w%zsk+f4+RQI-@7}rt=f*n_iUP!!`PtvHY~cC-qp4R~-rKSK|1;~K$UmrbgKHbZ zXJ9%jSmBfUe~JP4BR+sa!yhimt`s_!J~-hM{h6mk`kTk9_rU+_`~uS#8oSI^(^DKp zQ8r(Yzxgkk{$01V=5xQ)l3t_v9M47vQ#kw5d}t0j8#v)x`G(66r&Vs!b!IxJ^IsMJ5BrTfJzw8g;fwt5?ezS1A6C%htm`TQcKmdWqy@|V0Kzxf}m ze`0@@AF)zr@_b{}e2o=8>HmZ;pARe*aKb13UzINv@OAl%=kLng(f<997ZAa31!hg;GV*Qo;V}8SaFY`Y5zwnCx z4xj(3I*=1SX@BIe2hXSRH<|6J8vDBZyF9PsZJ{O3k_p8IvF#1M!z_L4zm}-(wlzjcM+NUz71qr++tQiFSxjGIdE< z;dT4rd2HS2!39r&1B7CJhl;a`H!+YU;=d<)h;>Az!! zqJQ#hCpmwx!YBTp0NC_Rp8rS_aKb0;SHfcg&2_JD4+lwj;gj|=<0*^{-m<#<8g}6G zH4yVHx9Q*Q;*>Dtu)?eU8|){2P$E;WfD?X9e)tb9$KppRg5N>@m^JxNG5+~hO8t+3 z$e;Y0iC~4Vmw$i!k=?1+ojy6?TlqTlKS_pz(?6I{$e(pTyzuq<3qJ9`)B@&Pv;J!S zv;xtKubHp0!e{=wYxvs6>G@arPI39*D?G-|yM(W8%=^~B|FK+z~YDqPlX~2^C2`ML+B{ zu;Y92Je#7dE zNw~HMZG~6-Uq&p0J2;u_q=g&H9}0(kMN@!{%ey z$JnPcTcHs{@70$amw^>tEx(xQ$OU>QyefakM-M3LpBG;B-^gF=;yJ}RH49Jre@E6| zEx(v;OebXDq2YrSzLl@J{pE{>`y4S-zj!Er?}Sh5e}7R?N?g6WNJ)5Ae&%t2Wn1{i z#(XEO{>!zePb2&?$Ic)fIHV(v)Zk2-NRR$s_@w^q9)7TKI$ws58#aVp?$BTO#DBE# zbJCSiAol^@nD4BVzs7ePAwwGaSNI})T;&9+6Fw>b!d<%+z&w0he4gc0S;nVWV^Y8kdeE8aU;gj~Kv!4>aEla_CSJppi|Hk;# ze2o=emw#*cx5f#dv|oe#55rK17jm^JuopgQzef2~0rTBh|Fr%_`>&qfL%pl#4*wUv zm1INvH^@Kd)7;Vj37^Ry!0*UX z{cpgBzB@D?TKKWX37`7kfTz9KVHlgtfL{2t{096wIFJm%NR{F374(1KgY{4S55v|N zeusi*c4s)tTLf14B!9~0^6LYN#=&^Z=mzG+6h>^IgA+b!KZvIjzvpA%V|sLm*Fo|F z#9sKsf0)PkTTXrr-{HvyFy?!*{wh!7Cr(QaUzIBWR`^zQ3jSY)AL$yff$HI-)A&4m zMnCdg<-8X@@t>R@j$^X~%=c2tKjk~wwGprtKC$2K;VT-axXduCgAbI0>$UCzvM zo1}Evt@dJo92 z__g|fc|KV*^j|7|E&i8ty;h1eFaIjVuVugVo=QCZW<@UYuhc)LQqHMc!}`@Jex>|) zK&YvEB2g;7+kc!+o~YAF`QK_~`vE@TKa1~f^goVn%6Xs7e49?dUVmi%F zhqL(lkIX6F&p!eFe0sid7gy+>Z(PsiHuUx-WM!iLO>A{N9iC1`IqlrdQZyg?v-9i%HfINK<=bx}2g8U6gasJ-=+Y?PZas%_HlUPIiCGkpwDsrAQ~QyxEE$adJZLQ-znbOpIn>fQ#{$h z5(lcYzKnu@5GtE^7~1jhG?yzZWbh3auv$#q`I8rmaUQk~|KEdu_np=F;$m$7Q1cHj zq4VcMeLE_r%fE(D#Vj8q0~QsJf)%HDV+(jaH<=#|Pv_(Ol4z3D_xAAZ#_9v|zYc!f z##gU{KW*cSpCt0H#s9pGcZ#?912<1Nj8r$9-~zdvUjEC;>*lb0SU;X1iMuZ=TX^z$ zupZp}!bll4{NZeZb14mc)xwX)v~)$|r!we|rpxnDe(8L=$Zv1&H9MeqyD7ilZ^^mh zoeu(C(w&3++l}Tkr+6DbSh@0{UGu$oes_Avx*!H127>62MyYu7e@*;S%E)!%5M72- zK&5y;{&eQp+0BQe5zQUs@$v1(39ciA^KJUSOCrDdZ}WV#(j5=abIe1_F;MKg@{N}N zc8YJde~x7qyvJE zHUAo}5MLtpdO9{e85gDEbN!%&r_@n5Jgbs;JXJPbEKZ?-uTl7Nb&9YRIlaY;X7gEb zMdUa8{b>9mpHIFy&dFSdxu3`|b<(d8l^jR*>lAPLgVEsDWjq!+e{?o{{ywz-*ng9M z_viBn44F&CoBf~Rs%*M0I*5Vr)A{%`$LpDNjD?4QX%GHi@uok#_D6mOCR6)u%sunP z@SLo_5q)F+|D?!Yw|_o4g6+b4!*`9K3v72Rma}n=;8|`1jUs5*!n?tfCEfS@NRFQ9 z>EXxGPc{Fg;w}C~%E{wx_Zs;NDg%TY@{~^RX#hd>O@Zl*quo0YK3ka0mc-S4@Fr1MP_U-$qV8fse@Krbe zWV4UI;`t$g6WZrO_ z3)gQR(3N%p3#H;~|KrD>;(g+7K&eoyXrdfmrTB#ZP&^MKTwr-VI+#u9HNBv9$X~3I z9~!X}$Sv;y`4!*Yet;K_qV~&`?Mv}1&0l255g0#Iitp}!z4e!-1HQvIrchj8C4a}p zw~}!y@sjkii@@X7G5;yP+x`{5ppBSj??e8TcqH@r=I`5BzQ6z$)5rjd8=dmUjJJnA zi{ca?_W#Lfw%+6i3Z>%1`GfK1y=Jt0ASZG}uV)YN{&!>sRf7Kr51Z?pJkfq}Q{->* zzt-djyiYcnue#JNCxBl*(yhwhye1I?B75T&YhxDiIBYFz%FhN8t7Xq2~(Eo~W zjvvMMPhKQ{fBQ%T)_0erJXodpTv@X5qwV)ke!vu;7Wq5y{gW5)PVpW6*YCW6FZ=QR z&Kvkj@uC00TseERrUNTJBl3s+$M`h|uJdwoX;See_iF^hoB2cyP=NoQ1N6HyGWC$|3EXw`yGk%C|7U7HU z6Zv!f^c+?@gYBH=-hyF4v~xI`(zQYn7(ciMetLe-c1wA~Q#@~ui){G`iPrkHRJ@J9 zdhd)9uyq3b$%}k6ri5~Xfoe@WIv*PmNJ}>G#rKQ+rvK?&t2{RI`%}E%_#$7jKOnoH zc?Fr+h=Ob2kzbf2+k>vhmhtp(Q!>Wg`{$+NO@2p5r}xIVfD|2g8c=wXY1Qg2k@u;8}=S_Uoi$}fyX=?~B+Zhmr1Tb9@ z8^!w~e}n(coKpA3IlL!sVa7(zVNUC@5bqRk{ipJ8=36k9+mo4*AlqrA?y32#?85Wy zEf~SL0xs7P$mbatRsW~z$6M!d5+K!nu_f}G|MmQH`|tA|awY>pLZlL6Do*j{KRteD z&i5aTpfhEHN<(8X$**|xpB^tq)>bN@QoPMSO+3au4PEa%#S&`$6}LtH7XP@tMY^D0 zg--FglJxBZ|3Dlkjh>|J1Su8YvY+8>Hhi&C{H*HYpIW>-e4(b($wRR%^0)Ml9lNJA zWzKPp#K!a-J|*S;GS`JCoJ_fgPkZpC;#=~Izgcbno$Yho_eup8cSQcWeL8x*iOpA8 zEFglwVe2VS7M(Ujr#Rnq4$6J{i?K~|o z;g4sMbp0~wSDVRmP;iR(_JgfYgy4hy@!}3@Ax^QCI@^Q}&q)x9f~+BK9rmwyFTdbv z-o*4NRW!UG+u;MNbo*F>pmGVR@5BA^*-&sdnr)=ww&QX%$jrguGneyzu@P~(eyZfhKY}-e{!O<1Kq^C z*TB<@zD<1j8hDffhNW{%s#1Kb{}TMqA;95cgyC3oQT%|&-|D{v{uzz~qNX6yzf*j} z{>g#(MXcyPcZVE@*KN~xrQ&n_cs@N^JR4%W{cwnC*J%ARe1gqT{WJfiQoQ*eN!!c^ zi1zo!?sSM(#5eQlXjF&uhg6;5@x_;7`!~E4J|Yqwj&31-^2@U6(a}5%qMhO`es19R z$K#LcmF%+<423}X;G*nrU+}(lS=odYL{+RmrL()6)L@`5s;}AZ}Ug0 zec(9{j-^lojrjk*$ls?w;IRlF+@1_k{28=O{JZt=d=Ua~T{rNh;#>UV0`GIu81>nE zD8-&Ewy=Fefow#f>cS)864j5qmp`#0y08<92O@u~eN39%WrT~jpriKPI{0`CIl`Cg z;NzXx2w!#MV^o*?yCQ#1or!q8TI(01ImBz6yF;EPqgQrQQOV>N~<$iue7ue6l#j^v~h*Tyk%t$@e~BRP z=yW+n{uZ@tTtkQuZpv9Kfm5^opHsY-A8c>tdk@d)#Zy}OE%`glWP4v`X*^QCDHWgV z=Op%KzBW9ol6XI1&UAhG@liFBEQZ5QZ1n+`>1!8K}bu8EMleW2By-Hx9uzHV_SN(CM*j8^chB zO7Z4D=}(ZVBLcG4xO8!pKb_|nKl$`B{Rbt0`S%9}w8g&2Z~ccs<8yEy+soP{bC@A=mnr%j)9W--QdM4_BM zr2`b-TPL9_#hd=?_Ge?Qgy!N~WPX%#xcY+sKM?sn{}McF0^A=$p!FZc<5+~)nK?`tWOPViXS>@>Ba%yNj7l z;$@g%Sc!}}-tYvXQ@pny!UwT$i-lTs{9UPd-~WP_B`@6>k^3bKj|Sv{-8dM6mEtXa zWBpsvIC2I0K05_yGr!?<0{-d|z>K{a#K7e@(jr+DB0$d97j&~gXcZ~$94 zKC{4MB<;gHB){S<{zB_?&ptM;CdVg~F@O#tgKCs8SBlS7qQLaHaAO0?pkqkV_@@1t z{x!z`55@K$;IY1}V_{^E8}Jw3Fy{CvyuO{sYE zU(0hc+T(NNO~Mjx7$45yz>|^pdl=BD6kqF)c3gm^sN)!e7>_VwKA%3LT%7EN2589t z6_G#JPcg{IQnV9n@9EI*qD5f*;1qB6^9*|p$2w0EA?zZ-fRB;F7I79&X*-gz6Jo}y|J?yKSXr6-)? z&3@bXKyYIq=)_X-W2{y)7d_z&C?-JO17zPI=W%=; zxl{Z##Us3;eQ!BFf`sXCMll0oxnchFhEL#t<{KL)<5Tzc;1gN#Smd{JVV5pl zzwzlG9$b0^T|NHR^{Y3(J-Ga>8{e*fy!<1VHaD;P8|<9o2g?7IM>nWWP}cB6FK|#p zAFrlL#b5FGn-PI}5t?2^Rt^5IJh~aSU&G_opkId-KRK4afsau!>&&rh;Xf6&zj6&; zw(y?~@iqS)Yw$|(WZqLJFIoQu?XObtrYL=Cum=khs0Y?4QKIFy5;xyo=PaE_@4HA(3t-eAIVPzsOu;n zIGrU8ODvj$LQZW?y{rK&|KYEN)fQ#`UcomffkyE_qzYEU^MEm8p z{rD>t@AYSY(oEpOSt65rJ->oK2r`M)I(Q`TP>72J$lx|#W`lK=F;F}a`Mv$7+V4p~ zI>q<$ZwW{(4ncH$Zta(f_v5#teJhMs<5mKd;(PlK?K2)>+=$W;0g2*Je+W75yiN#}HC1A~ft@ z@f+sd(@oo9nm^^9xE56--Fn4T1KYHh}ZV3(!-4Z9$kGA=9 zi-3x8EdS@Q>X~u97gw8nVdHbUcH|%F8nweyL_<%u0`W~Jhdf0!p?mP727fw-(r8J;71w+YcTdT*H^` zy*-3uDBYXRurH?vV(VLkoZ_wj6hFlNGpfyiyM#d}`{;`b zR&ApXPTb*(_v!y9J0E=YWO(D@@mJ11JUKl3@Wsv-_nr=Ke7M~C!Owp_tD1PuyY4*5 zFU_=wEPpnprSxUoq>8(%#^dw+dchK1FNz{7jzxa!koT99Q|f{9@w0q#Haym)FS9L$ z1-u?cE^qhN!53lw4gA)F`v&zxdX@?R)vd{aYVwU%R_=Z|8u2zWCPt z?Sp*h+JjGE{!_f^4=7GGKRcPA8=x@c8?boQL?YHMmx_&>SM%cPb+Ld-@iu<9WaSs7 zF6AOLzKek}IGmZZL}qa!@|!&=9#<&v-mCOnzH^(>KjZ{_DnZA)Q@rU9zFjf*Zf*H1 z2ri8W$AkQ{H#SGb=Ha`W#c=b+XE$%&M5CqR&3{O;q}>4+6Gr)MuB@i3ZE5@~-u&O~ zG1)K1+8NRosKi}z;R;3nBms3J8RjvnG0!=RQA|XBv%lNyvv~aCZ{Z7$vEmX{&<28y zXU(P!GN*Xo{sd_%6fRLqXq>mO;B}D3nvXe~76?KrEER9^qvVnBSVch)K7l^LfmymZ zgBGsX0!K|1wx;|DsuXYi-;XB}R!}P)SbRMm|F@^SY@#&CAt^GaJ?s1ljS6xV9u=(B zu~i5WzEZr|pX8k+e?pyv$1ky*)P#!Wb=~p_GKrLlK>p_=k>AFj;P@foBS*BLED5c6>s*p4MWA`fsJ}f9bSUhqAeU!J(=Fg{2ou2eM8sc-$fRa#fep*o#9B2veBsW4I)Kd47hx&k6d_jOJ@R zd+lif7aal@e5rV^e`=pv@Kh_cRl0?$&U)}-2YAdf!7f2!UY#~x*#CJv{=ax|u$%Kqb-Q?Kj*FmB2TmPHsU?&_BFAgyk~ziO{6Y9@*9X`0cdp;e z_hio@N63W>Jo5u2(C?B*{jN`Zmk$4|RJ`>+ZhEDQr?}XX*k+IAd4}sJ^&=I6-7Mz6 zQoQ+(9lihN2~A*UwC9QAAh^#1wRr47F)_;C;@j6aWmZgM`3=wEUM{jv)a0lSc43Zn z?_>Nc-p21;x*;&9xqs`3w^M~^94);7`@v}mk1U*?2c)bbqPm^?0?!I3 z@|*q%pBnJ6k)q?!I;F;lYD@w+^;%s{vJtxA{95Bbw@+ zpSOMMDt=acBkq5X7ZGrd1_O%ku3|Y_c&B)i{{jB`8FJQ$9UwM#V29X5%D3+y?0seT z!Or~yi!5vsEgSgVTR)V4fMEs+wkhLHqgc+|(qe*cvf@zY_AXS`F7M9QZ;5&p)CrboTm=uR2sp8bjyqw~# z{}@kyu`g)~Wr0ZWZUhZ%xlT=bpj5osFSdu$ck^VMxqL9vMYe-9mOY=&-w+%Bzt;dtpv#3OSePVqMW z_OMy}lx(NgzmU_A)z*co{;X`ZFAH!tMTiDx2Z5b~_vA1%BsxY#7&@U+yxHGAb`Npy zBmt>hl?Oi7(hiG1L=D(}nn+Ay*SHo-k>C1n|Ae;+sodWNPwjk##17=2<#ZegLO8{n z{p?S%MZ>4xo{{^J?Lcg&O*wp~g*XweuW%_F_yc$iy||8Y2>3~t8W;#N{emq}w((ji z-t33)W+3%W%!FnkIgW|ne|RIutp-A&cq;On{RrM0ECL4FMe!B*!jRtQLw)EJZ}Jmf z_MT9CHHX#_vEV=-t$&U%H0Tr?&4(l7zf`>S-vJfR-;>}Gw;c^B&J6aXzlq{ySYKU( zTQ%D!{6h;rYYO##o^ArF0T$2V{y)Hl35ay+&Od`eBabwH#t9g@Pw!Ge)`jc=$?Ozw z_W$tQQQBERwP@u(L=B7{1BPUly}Xf61Cik9V{Q@rv2=z4ME zoq7icmfD|$D;00!?=`p2vP$u0e~(^o`z$M7i2N46#oK4AGnh{CroR}EWGJkO@}BUe z^d!uOx&v+L$E@td$Ed{iTUIskuebe{72g#3egA#tF%=x?%Xj-+2xSkMA#HzEs%pQ8 ziI9R=*uUbv{I9otmz9e5{r`H+XH}E`+V<8;Ko{Q<`OW`53i0MhJ9lp(zv9h*1^AV= zPa~*o;D?8tv)HH8Cz~4a%?EVygl|veqkNK?k?~h4-s~6GULxaxSaEnpC!cuy`dc)q zcnlXqP7hHAFMp5~KO*wm{6VuV9i2zE>Du!Rtp7K}n{PNI9yW#}c+bUT&T|Pf;1qBD zKb)Um-~65_*NzNNuOfs3xyj5WV}(25uuo48?^>(tTN}c%cBWWBNS(&VLP={7lLpZuS8T7s%4ep zt^X7czXNVDP0hy7XeEp)9yoHi6BY}9gyK5pp!lgGzvrJ$EDuobhCh&d&=0_l1@C+r zF6M&z1dUU?`47IVfsf4q{}9Do!x0^V#(6fX=sliDMii>mgUn^JeG+ZG_AAAk|B&@P z*Q!z=HXU8_^^+*UcJt2V)#X@}e>ia`&>W6GZ5`}w<~tu+G|9&=k&nT`5^*Gwh_uFo{6AgfH~%MiD&c+h!PY$} zN>iwKJesXnu<}>LgHybhpW7#k(P}ZcAUd(4F|DMqpb8LY5lY3|_&emcTE9+J*of5m zDscHo?_c0*OnS{lHBdGAukpcEu>4_?Lh&<1e$Ri6N5M7U*}?fke}FW*ce*CihI6=XS+%evr#CjO+!e~V$(Img(&40-eE$p7*uqrtpnn-BTLWM{)?D+!y zAc0r>ERo;*uT5BX-h^w-yw%b%a*64nM?MPS8u(ggm`Q2>Gbp{(d>ENvq%qGq1iQU$apB9FgDbrw`935Njx@FLR1t**?F( z#*dnTjhaZQc(cFG_G{5e4o{#`yzhSw-sSa#0oQ6^1o)TO{5K|UR{Y%9{-ymEUW`8R z9G+8ryZv|HS*QK7v;7F)*?y(?$o{Sn|G;zJg)*E zZMf=e9~(Z{dj=z4M)i9A9iBkOXZR&a5BYzA$ltJE`4d5TLinbE#`sr!!+u(L(!9K2 z7?UVF+NV{-0Gwh!7$rR30)@o&cm4RS-UJ^!qFDUGwEVs82Tw>k#mD}y>GDIzL0wl5 z!BX)J{n08Ym@;JGwwyQmuTp%&ej9kNKOs~%pB29-IsUuwutedDlOJf`DSlP^Jn-<0 zdUFmb*K8m7_T)kGE50#)TKszl%63>!z{M{X`Q!Pg*?(eop9#BBNjSy#_kWGI0c{+V zif{N2&p+*y)@qAw2jXXy;%z{v{|WHjeNXt}mx%m*_^!Sqyi)Q3-PY zE54z>2;Zl_O7V^H8{wfde*mASQvcKCtavH%H}oIlz02bmI?}&e4{!Q!^%sI6PGl}_(+({AQVM|CAf)}`SBm^8{%HkGn7;An6d#X& z&B7f%IYh&h(Fn-Y^jQ8Ccr4+1@s;9Z`L+Gy!!vlF`Uk$yZ(DYPRp8=RiTtttYl!DI z_~y!^>+kAi5l0ygz?2b7AB$A1%lH6IKH<^~uqy@&aKt@aVfbJWSp z21!3Cf#O$-{PFl}w{MN}F&=-jHs*iD$Nr}aFMQ}@aw5Ot3q{hFtAL8r$gEh_kJH;pEkMWer9#HN&lK(aE zb{|cMuN2>~zuDo<8w1(B^@c0nFNmE;fa2GR{PFmO!y8}=1w|87ipD8zPsV@4O*+NL z{Wm@w&4&ZjLeY_D++Tq;w;dxMY|#Z0yL6V9YKTh3$M)aG>$#a-E*}O(RzChyCHYsp z{c(5mS@G*qL48+W*ls%D`~w@-M! zgMcpV0`rQby6M<}E5*m-kK6b7+G2VBj|ddMA!Ywfyo4SWxP}Cr;v4oG@qd+`A|S!< zaZj-DX1}H48~ShH&HF~FPbN_%+egA1Q|^3l3%4(r$UGEP;0;V%_4sf{~9|cr;p4jKDOV8 ze?2itqY&~_76)J6eMdMb72hL&6VDdl_I4Mf&#M))x4i@=H$FdSA6(9Rgy=?Mo?os|5HX+d?k*L!A%Vm`TUh{5-Hg>b( zw~G7?{TrTpN-`iMjzp261WxfrQ2ht+&S{VP)wba|3N`r^-x7vX-+S3sRM0`G__qEC zuM&&GlMcM_I9l7UPmlcijUVXO?>@^m+8YIkm7fw`oDqaAGPMs_ktL(TL&NaUo-=hijVt0 zY#$-#*%EI;pcGgJ#DxWMqEF~ac9 zFwu{g zpU@xSag z{gD%1)qGYdKB51U#o6hq=Ck7Wc8>qE;T*QJf`U_gLjNfC8pD43MJT)5uT7>)`Osmd z_=Nwj@jV+T#qSgO6a81?&2zMuUzt;UV*Cio22cl$Qt=7?=cv{^JTZKS4ytbc7l-ak z=?2T%SRWxS?Azl02@fZ`8`{HgZM|NB71Ceke~l4K1!#i#Vw z!m|g9Ul1)7pYVT+2HvJ2Y2Eza`uwx|iKAc4e}Ayk{@d+i`bFu3Uwe}RoZ=JqpTPU& zr>9XWehvLw9CBG}6IuV2;uHR}-M-k3r$YpaKP2)e@XzQN>+AtaUA+fyuK=9l+x`#t z9-j_;`WZ7>6hxR7OU1|fgQ@aC>hY-Gd&2)IKDHm=cPF@-XY~e7@rOnJB;H0&hwmZ% zImNg5$3a9oM6rs6Qt@&BgMSX$SD_()2cET$7vt{Z&|OdWWyK#6`Q!eZz*nL7JRbZA zD`Eh_4zN>vQ-3kO!}&vhrQ)0VWBmEl$wqy*1eM}r|HIc+=}~@v7*L&W;5^Cx|ES2H zz&||qhX#55oWwiD$NJ;;Dg8FWIcRJFT&DY*>|N3@h|fyJ$Nk^Lv)8I4fA2le|J``0 zUexw!>Q2>96{W}@>z~^X@ZI`%icjz#;ko&?`^d`m@oD)LAN#L1|BXzDPr(#_OypmM z@3LU0_(cCl@>>c)U5Q@?l!}kzpEm!7Hy6&qIp)Ah@$vXW!O7t66qn~9^K6LZ@-Zv^ zxX9na&z5u4@1kIZmN0UvM@|KK*2(>4PVsU7#|1CVmc#k0RD2vi#d!Vc?)d2#zD#?9 zTZjCLkNYpi_i3Q`6Dj+*7FVm#DL&R;bk`&l80HOQ{gtcnH26#ew%cI%XO-e({}r|G zRfa?g64S?nJNS>PFDw3Js{iZ1!(Ew%x34yJGYO~oRQsdlj1LlO_E9@7b42*I`I#0ucN*6~USSmgqKTZCx@-fg>@eK4|b>c_o^S!;VZPA5F7r$fBoy7 z`*$An;GN>z`U_j@CQz0rDr{<-hTc=50J3nG6!|B$xU zTK;BE@v;0k|31eGcD}%MQYd!}f`3ecd_AvS08u8}_qOK4MV>Sg@pGm4IR5Z>z}Wri z2krWi;xDG`Kg82wPslJ24F~EJAL|czT;xQTzMyp~d(oeGF%nTI6(94@=S>GYBOHL9 z;HiPxeJ&i4Pw9KQ5ncMPO7bs%NhtvOYos3J1Kh?&H-R!WfoH{EO4+~s`GLNe)ZIG# zpW@^AL-DgQ)$VBHWDdfO{8qRq6(8GAjmP{~uN;-q0nt_dE5*nDFT@9}<(Dju)L0Dm z|CdGnF8;65MQZc$V0VhHY^yPIijVuh-F}F_J!M6(1f}BR`LiEynj`|%8?=9aa!ShQ z_KUxg8vp(6<5;i9JH@Y|zdC*v@=T*ty!EHl5477yDh{>0@;QBPe_yS{TiC6gXM=*J zNB{p-kv}#5$j*#u4n*Mq>P5H^aEg!TFX8h;+<`#{aM{w8cly2_y@-Dl->{#LCeH_3 z^`kY^mX*JO5^cszQtlPmAut1m;VMwk?s6e@z;|5U*jbQ7~$n3=>eyB>ksX} z`2ag@auG6O7}`lNMMl|M$e(N%A<*Qlo zkEHCsfwv(PeXRDc_;maHU;&vse5Zl2h{7~9J(p2XDn2cLfH(LSu7J2bnMv#Le~M4* z-{TwVmpx&kQT(HQ@^|6u5$qHnk6&Xpz}rWn4L^QM#mDPE`(vuM?^Rz`^|o*LPVuwi zAM3OK4tyL7DYKWheiciZ=-eiURicjm`@ICVX<9+gX;6wQppO(MIcgnB$ zwEZ3*B5*v01H%i9!y}49cnS(USf%*1{C>h}D3Koo;vrQ06C!`Q{RZBI*s8~%Q+(Qg zcHqB+E17fvmv4d(^j|4H?SG>78%7{Rihok%kK-2;w1KyeMVmZ^o#NB_L+skneC++; z{}rFMAH_E~ue}%iUoZb@{64S2_%Kvf{8J)-+W)5Uf%-G2_;mk!d_r?#0Hxy7`g4of z3jI}zPwP+dJ^CyD>AwC?<3s&9#i#X`#)tYV6`$6h$9L+lQhZu|9_O8NFZDq2&-BU9 zc*+1`Ak^_sB){U*@+&?=GSA5$4r|@Cxuz$s;$3I`P)@wnPxEr*qur9S@9}u|9yBrctFD`zPEjtA>TsP7C$Q$-z$F$ zFCVb{itp8b17D-z|Nq6b{YUZ}UcN>vc&GU0_+va@z(?0#;wS^we*sOuh%FVL0u(72mDD z2;UN*TFL*u8ef|K;$QCRf0p0yY5tw!yZMjsE&j{C_RsJF6Q1u5{FWLKGe+H)RekMy zdP29SEYg_qZG zXZ7@aTZ*rRhM>{^|9aB?6)z77(*nXipsREDP}n!q1-w&yy8RX&w}ysj*ne;Pcm?Bh zi=JT%SfI~tkLQOfzv3JISK0M=nty`N2roTW{2L;F%l=q@^TkI;^yoPHAWFda=__-J zkL5?r`}MW1U&uw%1o2l^+8^QR0IzZn34xL+N&l7!O z_U^jy2zcgE(QK;v68*3Exc|gP4Id1h)(MPC@p1gz#3KOIO^fCYK*hh6vVX%<-QV6A z4-(=Q+uHleZ^izc;^XO^8y~iONdp@1L^cPe?$In+~PVq*NGM<;N zM0kw7=;wOyfQfP)JWY4-01*`xpi+E8eu?vhf1U7?@T~ZElKn4ux;_BcHlXWi>ZFtF z$^x8%RuDSH$LlBkGu{T2stdAy{Zy2v5kRTIo{C_cLtn4dQ2bB*(f+HA`Ys~_Qm00@Da+Gk&zU%U;O(bf82irL99!6 zme}&6qXg9{KK8#gqX`nMLOMr8N-Py0`+s@^gI}As5)>G&?5PJOEZhN=;$!xOS07o?)@hRN}9Qc{VP7UfB)CBr~B-&9x|M#~)_xBDrcagRI;y)DmJM^!3GhEAI)jQx$@eTVi{YCgx4MnN=4*fUqQTwd& zO7U_0L|S1SL1Eb=$_w?C?Vp4wgmp1D+y(Q015bRtbi)Tx9z6` z?=$yeKgEBZ9RKKl!}kae5>D}L{hg1W?IZF-;^AO|ODGme@v~C#4gZDq&*8%nZ7%w> zkNHpWZT%zb@s!?A(G%z$_EY>9UE@E65Bfpv$0@!se}aF-ll|OAA}}p}Rw}-&zX0FU z1(o8vff#eXUCx9w*xoo9MWr~fji_;&w=_%82<_($;#`R(XCZlTmmSo8u9T!V8y zI>6PGxJ-pCxKey${xVdJ$4tmaf$T89n15FMS0aByf5@BR_}^@%XK2|D@oF62)1()5 zf*la2_=fz9-^JZA9>EvDwol-c>*5zpk|IE*_=f-EKRz%m5F?mA+aF^7`>#d*SpUmY zdd7S3kiWp`UeOQs_=7Nnaf*-a$Dh-(kSld`iv=i??LWOi$GqNOPEPp(Vo#+VLRE^7 z$6p5?ALCNUbDXND%apkN;=d93TlnA)5x&zQEIg#Wz;cLoc0R!OynU3pweYBevD43u zBVgqk_~;N^179gV?*CZO#>Gw1DYW9hP1%1F-+hS9DL(H1Cf+)*!904PRD5iIaNIO; z*mI#*^Tr2t3aL_jqyJXoY3)h>ivLdJkJqoyKUI7-tiOiyXnv$DIK{`~zxl`NM&MBB z`V-LxH=mV?kNFq;6#GWAAvpbTGR0~*nZmCWANw!HKRid+foDobTe!#qZ(5#i(}U`y z*MNoMzZd!A{!=_ZdwdITHq)DBFB05i{#Sg&e{fkfB4=9*+R8U{A6cpRi2o4J3B}+8 zo_FgYzEXVT|9yP|Tvzkr;HY)vM{LhNkpF)W z`5XF6;Bg!=LBJ_K8oz##Anp6ioj-=goybj=ijVBi#~LB$CQXec9aKI1o8-!Ql0fl4 zcFP|`dm;#}c^dZP6d&2Y=fC|;cy~PUUn)NG-)&g%3A!{`1y+hr>o0(DkJb`V+w`ya zpVpAyjtqpREbz=JKGpwvQJym4nfBihiLw`O!@$03A)-Ch=hOU$Y{2#iS*iGF{P;hmZ|M0l^jrHg>i(=!eB{4ce+vWll=PR3 zhW-DqB7Zc0M|ghzjQUQtJuvUf<7Ps@DL%3v@e@3A0Y|e2eF7o;c=Se4Ch`9HCckUx zkqsYICHZgTnGZIC*nt)Qo5&xH-}duYehkOGkNHpWvHlwEd*cNI{w5{SU%6iUY%>Y< zWz~A^Yd18xNB{rtB7bauE&kKS4-uT=qw&+$pUtPf8_fVp#mDy3YTxkY2o0W9ijVxy zliufJ!slnQ;{QmD|9-q$5p@aVSA0DF)_#5_D-|F4kHqsE;<Q(^=*eAGaSpUx5+RdHq6GDn1%N&F42dXCL&x;$!=X+Gl^olW)s= zV*LNVDf!#@u3I3S;(O%x8-{V@rsH4n(fr$5eRe)ykX4G0{9ka-DCDNXU#SMgW2#(A z>Aff9|Nlh($o@1@D%Y+1I)YUCG;@lN^v{2}*7eg_srab>8IN+a@cL%S-Ue4_i~cIb zNB$>;r#%==0f$72Y@Z25{)6#rU0<9z#Yg?ecriB9URMB7D!$!+YhC}FRf=!--&)uI zX2sti@+a`?T;H2H#kc!!t?PTUvKw#NYs=Up^&&)-DjC?2x_e;!?* zn-zbf$e-Z9(S8v2_}yE?KZ;N2FNJSjpPQA6Z`)6s|DcKy9vaRU|EkyE-)vC6%J?aM zl*r#6zwPz~=iM0-aGm&P>s+6km5Pu0520nPZFArChrE~)_OnXyk^cBkja$Q6;Ko0D z62;$?uz&nXyI#*K;A96to6nr$qwxzob#z#+Eh!Y1MW+({1&EZ2Z_4i@U2@>v*H31Z z;v@fs_C21P^gn@GynrnJW|2SgpR`EBc`16h9QCW#0e)4?8e|K+oH@lu_U{eVq~?Jq zWjImv3i%Zu*wA0RhvIJ$`D6X9ef@9d6d(6r1200D0jlQ2 zf=b25_AB@`uK&#{#Ygf}zIVOhmlc1j$RF`9IqG$;pURx#BmM=CE03&fPHw=l6224c zY4GJgWdDkf>?gpR>J-a|)(uM_|YPN#J`o9(LyN}!G7Zl;GE(k z{Y8I;ZjXM}WGc4~`4u0@-}rl#-S$sdnF`OUHSmq&+n#r#QM{EH|Bd$9S$0U_6d&oo zfoFe#|I{bQYZgkyNB*;cm+llBihc$Dt2OvHjI4X@C*h&^gvj65euU8Ovk<^3zPtbZ zd>LQkqa9fGwePQw!3x-zpp!}U^*LFk_@w<(%qv27!L#CT>#={zV6MPB#V7k;uYc&~ z9`@gd*Xs}Z@Rj0|`sb7CeQ4PK-`>;z{`h=14X5~M{;TnM)xloJIm zubf2VuJKq*<|Cj+HGUc&oYLt3Lj%=}QuSay10PS^bzv z6c>8r_joYE3j#e#9m=oxWdC_Q1!TAnmeS94*K_-&;*6`v{v(T`r1`A)yG8zp|JEOafCM4U<0qL@e5C&tJ~{_DE=Oie-;0VF+KQOG@arb`nTf?tBzk}rQ#d<@5aZ&H>;BE*T)xD9Dm4) zzgOgs{FguEz)RoyKkefSnOlKhar_}G*THumf5 zU*wP4x7}91TdPH6qD%R$`VXi0X#S56i%Z=AVp;#qWj;@ePcZ)}KC=I~d=k#5v-~ux z*1-qWXw3@D;vY!#f82gw`Dx}9AI)D)d^r88G**FIDn7EGCceA;G^-RJ^?##Uw5NPD zEB?Wh{A-twW=`>u{j6X9nU$&b*DwFfD#b_oTfh7>EB+yoKeS&O9XXxf9glLnL3om1 z9OXm2B>!GMKbbC1NBNU+em$Sg@*9Z%6>s{-iFYK9564f2hachZj;6D5emosNpDcE_ za0Cj4sKe9AH@TRVM^M>l{}}BppWyc3vuh(1ZH;HwMznV|d4dPArsvmeE9=_OO|Csf z`<3F&e<$!l#(i{rjh+=clhepLe6!*o7Wqwoy?CBPXY*@ElT##E=S0IP-pk+Szi!{~ z5bJz=D)PS;9*3{-D&>5}@47L*dL90u$no$DeS!x`AOI04eoSotG*mZp1ga<%Ufdm@ zA1_WmkM3tPcpneS=BNA_OoE%woZ?M?g4ZngyL6GeCvpc`0Eyzqiu^WyL;UF&DI3`Ym2>2h!RDdCoe#WI zeBA!|G?!KH;J|i)XuRAW9}OXd|BU2UyxEVmA2*w0IG#+tjuC|csoSC$46J}k@iu?( zk_qSIrAA~k2Pb$y;B+*{;LFEPho`tcZ{oABkpIVt{MLVybNtPOo003gb1@fcS3cPM z+&OMU`H{)!3&em^yy=gI*rqhjdctX${2mm4GCci({Rj7n8XrW-nS02ucpJYTjbAXU zX9(daaWcOjxPBiZ}UB>1j^1N$otrzW4b#{WLwwr%%3) z%AXwcqx$>e$H(@Msd6B<);#h#GfpEt_CIP?N(69KDM7gs4J~aAY@uB`sMzcq2DIe_@ zd2IhAKjBUJy~+dLDZbhMTEdh3insAY?bEZP>k3dQKIs2P(LpypiV!AJqMTAze7DGN z{tN9tiZs532MZoYp9IxEkUxPZABGt`DBmFCv)%i!`U3JRKG5IVx`+C*D$)J|{$_b* zhll9a4EhmY#B%q?bc;VN1As5Srz!v9N&{wko z?-XzTll;~uKsY3ZM#Nv!6qpZ>(5v~`cr+R2^W~ET4L)aH33t+}9AVHb2WT ze=XiaFtx}}aVZ|yA$+BHufG}}Fu?#!0QYgG_R{4|#S*^wUXkCAU&dqRqe)g~I!uC# z@9ls2 zd=qI}1f4<&y|$3(18O_vqtK)Q5uW5%yw^YB`J`SxJf%441wx2cbsC>4aqy}SLMJd-t^B6ePcPEy~vM-aF!#Ui7w9b(Q=$G zrknYti>PM5I49lHzp~LjGKJS92B6FV{B}NkhD&hB3M?qdPdNM&5|!dje&FfSvj=XB zX_&7t01KoC3L=h>a>_?_@gCYQE{gm%{*!p#OHLDTiZ}nG_z_wpqnqF!mrV>Cc!N3O zcp3=IjQu_<6>s(jBlEKj_SkUPcL-Ht?irp@1hXXpD?j7XwMywV{$4y@@8s)ex%KJ! z1{Ko4jo?O2YrnW8@|*p}{O{AB-rN)j><@czIgLpO!?rokoZ_wj68JuNR`#}!Cz$c< z10B2T>V-=2Y5l{`Q6Uco0kjYKaR*{k{>!obEB{ymQm65S$lY=5Eq}Q+!K)#ox!oL!pLA(IinS-o~%j9}Sed9Jxy`)FB*-_{S5ZxN>U0QoQ+Z zk8dsnZDDsd#&O<}*fQ|NCq@1io(3xk3g3$hL`Rsra&o!@TqjDa82EvMDezA54g1H! zvjYzg4&E0NB~U89rN1ux4rY`w`EN16s;hk-<#0W2c!;yhHfpgNKZYwl&*2$xwJqeo zD)P7VFL?E$I_5((awDXFr}$caO#X;?!ifs5pCbqh&92b|u|csE{GZ~z{CZ0%_`5T~ zI)3ua@oW=Ic>UG~H5l2{d{!ym+iwSc2A;eJ#Z<&#{HNFu`B$~y#G`wdgj2kqKa%a^ z72zq*hdTAv43r)Cv*AZ$tVJl4_A@3u1;`8dU;tK%_v2sM$Gkl|&gak`8LkeB0Z&9{ zl#*Ov4W3{B;Qg!^H0pnT1mEtMn%t6B4FN;-Xrk{k^=)dSU-JMgBhif#;M?kh$>+aEiC}lc^{iKfrVP zlFJ#lu@=OoK1QHayu}}Vc$z~f77j^Nitp<`Yai1`2xa{j@2u{B!z1zA!aK#UBR_`} z4GN{=z5h&%A8TK96BDQu-`{_%e!e**Mx*~fCGuPRUD_(TA-;=AAl|u-{PMZoV5!^9EPY3LkIyKePi&fQhclb z5g{UR@aUb#<~T8X)8xI)pKI%o|6P&4<$u`X$I~OqgNb>R=k(#GSb={A`MR zfwetHEVG9X-a|A!${*dl@tBJUAVsP8mi|#G*K|nmnD%5tXnE zRReFOKbx9H0d6#=S`gmU#WK+TKvQVNr$v7AKlW?gIXcDKky2W;V32h@!YL#o=VRIl zm}CA|y!9Vttu~Q7M10DB4(HO>E=;>~_p{+fSqNr_-lC=?Q~ASB9E`?NuZ9m9{tlDow~dI58K zGKLet97L<9vArKzrSM21){6!^%$*-Dp)^W`9F1olUu=r}HvcgHQ?N~I2g;n%Qy27w zmfX4zu8Tt60(Xix|G{{N1qT8Y+`J`CY7jb)7BkFFRw_QypLB1^ex4zh9T`xS!Y|MH z<}S12KcHZ?ME{3tuKoSHPjB!xy!42vLb^Y5iZ}U@DI{M7(;Y!|2)r?A z>qatX^{Mt+6WCy3o|TF>{nz+obU9LvyjOrp128syeB_W!hLZsr_OEywzrm)*MczoB z!eU@f@8#wbaDn>a`1_RotoWSBZ}V4xmx$RGf9lGyd>J2dEs9WZinsn-V$ldMt8;}c z_+SnjPy?N2h6(9+ngcBrZ~gT>-SReCcor*&zEOU5F?^V5Si;1$|e@wnE5Y` zcn^$6ANpVMWH?D@rBs_1<#2u_!*J-J>5%y1Q$^R#rscWd-TsK-t31; zuQ31Z-^$OXqb1hi`EZ;6-wgPVlATjeo(1BbLk%Eu#R&hV{^H3`bjW0BnEU(DYmXFSy87@Q;feW-WUC( z=rjB3uI0JS?mC8;YW>qorSJ70@Na3!RW&9xwf1*a5C3AS>(xQDDa$9jTcRHuUss5K zDvIdy&MJU9%uZerARQ9Q; zqy_EXY4``v|2}Ol&@%q!jrUOENYw%e@bUAz@4T1aL8XQL)GI=%^u2%Z^w&&4B)P6X zyzqhW-=_burxtF+DgB$;L(N8shp8!8JwltGUmzmrCFCkK2@|sO6yRn9507|+po|NWrjE3Ne8t8F4ma}Bg4Bb7^=vx(hyvhoeraO^Kildc z3lKxgi&jMeWmoh{@M1RY%U2j zRr9_gKB6i&DZZP?l7VExl62N4te+HLiuH4QA~ilRdaNKRhem5o>0GI#qTx(rk0!Jy zjO94CwL8gYFO|O8|Mu4HFK*}fFIES%uQ&k#is|JO-8~GJ4c(OGHg0w)PzQ974 zenl=;^AufjluF<0=efgU4WX?d4aD~J0_AfkE2FMQV22eBYRjH>4_s~V!ad>trv7|K ziW1?;kW`pW#_&FLR0pXBRF$GXY0*o)fVw9vc2TYPw0rClNvHIU|C+uO4U(l;AI$Qd z+vY<_q!p@Rj$bK#vwv&?gEOMaz7re7lq8@;I~V%bO_incg#eLC_ z@xOEL)(6{92>ne55b z(%43>_4Sp~xA{@%ll^~Z+9-Z7*3awF|Hg7kMNB>aUMhWy|L;-pW*qRq!Er1adpS%$ zv~_gKr^LD&sFc3hKh@h=bQwf(m-Ofrb@SW1w+_B|t^VcP-QEHAzbE>!{=M%rlT_Y3 zrvZjh^-OZp)Gg#mHM+%p74vS+ z-`d*SzICvD`>hXm_6{E2x(omI)$QIUF6;~cWWZ=fi6evH2LBl3-Wl> z&dMdg%NBh;OM!E28>g6jPmz%nCrUmD{|kdew6T(YrSxrl?JcoSYr<2)oo4rA9EgAz zB#OlT^D&0-=So2yS5#sr@d)h(>sjKDP#5OS*5vFF;lhW)zuC_|4OTE&D+xgkcF5^mCXeKK z{&hNQr~yTvYv5L$()ao?`rLB??Gse>(}q+qF62-8n|P)4t$&$+TYzGZ8^O>H40M*0 zjb#Sspn1i!}4egc~*k(ZcvDrxtJL_fB^H~?AHvtVFa z8FK#N4RV}|Dc*6ydfmJVYFM1$=I5K8f_o7w}s-XqMwj|uXSW%xK@~~^#!t5>g(X= z*6!e!N{NO zd*~lvS^aV8U-;oh{~}<8*oab49d=2-elnjw!!1!)^S3vyzfD$zJ12M@Kp)qgEyaohU7WF)vd|9!yk<8B&zxvsX&r{0~k9!NVa%0CT5;ifeq<@EYB& z#fRFk<_jXwhkHBSr1>|+WO#R7XSiDmwm)3|4sezYD-~2NL25)b? zO?eEmb1m6`iWqR43%2Eh)B9+07@)FkCpY@N3h>SDEhJSThqtQ;G6kAc3}7@ zJ;pCBY%nETdKE`dh7_Jg$2D70luAG1AC*3QdAt&ZtMgQuns^4Tv1$=)d~o53@Ne{? z7?gC08mBV@P_>E2aO zoMQ9v(-zI}gIBBQH>rsLYtt_dl~jWXJH8Sw7*J)W6ETB+|ZjD>&mpUS_Msn+FObj<;W(~=x^UV;?S;4`Q6P5)Zf zaOq0&4Z+l>{S)vjrEmH%`Y2Jw$>_nZoa?7sM&+f)uhCPF*!*o=vl?(5e_I@hej@r; zbaRF743YC^^a=vD#NaUPYvUb*m}>pg%QXG=1CzbCEY|dz-&IQA?34AAQZv@oQo%vF zXL<*Zo}u7VRJ|Rrdo22~`KzBkyJV%m4t1=5mHvAChxFIu|H8@I{L8(LsYe={N)LW^ zO5es;kA954+0km{qn%eu-`00RpAJCYyfNUzJZzKxrb_)Lc~^A6w*R)6h<@7i-+kvh zLI0)FxA;N%Z@vasKhXxx6OYAtew*J^Y5u$Ehb>t{O`^fiyI&XmSp3|{f30|<8nhG; zYWsGZ8kFG{7~(0}-V=>cl#Xe{w(PbLf6SD;CZ z{ONTYmtAdKI2Zn7`_w4+`0xyb>mT^ej%~SK!mF)!dd!^CkM-X?EN(#qPr}yE?Eky? zw$EQF{n$Tu)3?b*zOD{ZifPLJmHvIHz;XO-xjubJ zlX$>2CfEAu!Z%XBs)3^}y?!lFy1+%Kq)#%YYB? z?b7XIc>kmO71~%Q;ZHA>euIB(VxoBRFr;6H3-x#UNNz~5@qMNAizdKkhyi{oK@FNPLS@C1`s- zxP{Y+_0))?F^^>4r5rxiWosB{sr2LVB@X~ofjjMGPdSE@&p4CI{h)JWa2IEjcl!Cl zGvPnBAE8BMc6AFX8STpt!rxr(4S<}|Z|J8*g(Dw{+=7{MbqMrI>Bsgd{GTk3j zs%n)--<3)FeD*~`Hyd7H+U_-$J=4{^Q$rWNnX-STFSh}+VVeB}BbaSx#oz*cr}Sg{ zVfuRT5%U$jU$KXcm+`&f;_xK=V5R-MQu?ufi0NZ(Y63`y2jZ=Y(u;42eq#R|(>G_P z9Uu=Vuc!X(rP9Bty)O32^!Mo!i+juGK@SV#s8d6Qtp8Y%=`WSiPw1cNgA8q;VgW!a z0I?w216Y&&Z1+b*KMDH&8h_*TYA$-CV!MOc1Q(ahR`zeH^b`G?pznLaWLhc4g>QHE zFSe=<$ESQ53%$nRy`A}=wepir>Bs(u^?*|6!;eVu+jM5aEVK@@*uSl6k%kbP`t9-h1*Z5naAKdsaL&xX(Wa@~(X9r+)npRj)`j?rn|$Dn=?tfQa{KfSYm z7l-akjwti5Aa;k5qk|{zvbhd5uSJK7`#`^vxZ=rt^o+Un%`qKZtlxC{E{g8l1DQc%2n$@v}ug@%U}i zhsNG$1^H6x$McIkP*3SRJ5m4T*^uIe*PdT0r61eB(SJr|G;(DB4I9|~IVt_{eS&gI ziw^??Y|B-T!S8h7bbKk5emuW-(yy0bAJQfCtMkJbey;Gpihek$_&mxQ4#+9}IDTgS z`E1`<_4B6tN3YhWFM~{?xAiv1(I>^v>(Y-_w+!e+-aV;wiPlQ%Es$O+{hQkV;y-aR zYH)XYd`t#^#ZT;hYN-Qi47>gix>EXad>+0Od=<4h$Ft=eZx_)!SV-fBzwIzf|MBk6 z7yZQJE2I!H>rH3fW=f?W+mF(}t18kT-$Z~5zd-np^&eeEObJ!a6WG17mN(Eb;dPPv z#wq=n|0aEo)N1nl<2uyg|CN3`eiQV`;-ePmgVk*mzcAImP5MG7Y`{KQ)xt}q->-j4 z#)Q=6=T)?+KdQC(Cwj4h?2}b(?EWIrPdq<1^i%6y3`vQKU8St1{;X8`@%ZheA6ia+ z1wYl4(%)V9#ln9aKlITL?1o!-*PzJ;oYIfy_fGnv8E=?&6Lyj`fA~u2uc`mYaPlkk zV>fO3P4P=aKWp;eFdJ#1PeU)2ey{zDx^zabjcJu_691Lbw@#AzrJ;ZM@f_KDT56ym zmySxTm&4utrJ|o+{;gNBHx7jda{w4}n9yI=X}F8P-8?emwuyv@HII z-Z|_Knz@535LU`iycGR3^zZpc<*gQ+1TpS$HljiHnU$Q2ek!Hk zm>(_SjJciH+FiNml{-|szg+aw>|af2nnLX{LHlK>D%kzps>j(>|XM=$Hz!hR3*e zBYL6xk~O#@vmq@OzcS??DARBoFE!U$cC1{DgB%3z$N}<{eyn8gI}uyUae36jTBV;deKijKN5>{m4|tKts#(3_3^E_ zpuYL>rP6QvXS8wWHf~a(dr+I+`7&?XQtx!li}rb?^ke_b=cVxWIu#BFd-_-E&vE|} z--~s>@A5-5viloS_EXcjs&sazT5f@q(5LhLE68WB)})U-_nEBdtPyFKJ~vxQeJy@d zQa|Xs`QUvz1t8)1E+@!>ByO|=lOn92yg4|p?b1c zNa{WyL$J@nCE z&qusc`f2}+*!JU@XIA`f(NCIxPybELCwr;%)BNK_#gEB<)yu!9|Hl09{vOfKO*Mdc zewi(}5d4j)!~gfv=NBVCmWD3;Ug1Bj|A2mE`|H^zsl+M$^!N?vzoCv^DgAhTVdD!# zahK7@QBd*wL_g{IF{J-y3VNyZ)A|qnB$iz!R`_w39mr6-sm z$@JyX_yK;R34wZ8KcPS9rC%!jhJFHgn||;K(eEC-X!*h)7XBOayVA#-xV!RBeLypO zD0k)lpi}yd_)6*9ySJcDo0@cl%ByBhFWdL>PKtY#EjRhe4l1ix*K?@^ke@f@bAP84VBW5_1~lq-BVc$`()bL zp&!=C{viMJM@2uef2irZQ+h%Pr0X+Crkl04kV>WB(m&KYA5cx~`Dh=PX^m}X_BC@@ z7s{0V8~+LVuf;v$AElqx{}bH9vCpQmH#SXK1M;=oa^yF!lz!TN=#k^okJUo)$3#DA z{)IY%)$Esj2m457hbUK9Zq5HICZp3Y-hbMFn18%?ZNsp2$r613a5q(g_)ch-bicemPeCCvXvVU9jNgtNZ)h1V{=#|pHscMw@U9p_vPiQ~xjouC@{-o%q z;or;v@pKC4bC67vm$r+v)9eGfLY9IGp4U3tc&YT0`Z50Ffdzu~z8ja)bW%tDQ|ULx zZ_Iy8Uw&GZIMgR+EO*YfLev((l#3ajeS5P_BDKCgM&FUHH?&e`9_z z{iw^S2QaxLKYYDQ>Lj1J4*GH%;g03UXe(2T=*ec9`<>nNUn%{j|7p;FBihtz@n=%@ zk9!aOk>V@#gPoN|xY@kofIGQUfR{=?_CFzgZ#>q^_H_;Gf&F*V$2;E`y;R6(E6CRj z9ayH_Kbx{2dpl`xfctgnt^=A~WW$kWFxu3#jbZw}XObzEejNWN>9;;yCx*N5=Y;>8 z+C$<$6QrWO@k>(2w?+>*r5}&q1pOdDgoE=n1glOFzEb+Je@oC0EHf0P(=hcH#h(}b z#Qr%!UwW5&6V+tu;M8_|8hNSoWB=1hAKT=9`+W;3bX58F?~qqYKlTr6(Z4-ix%-az z|1Yd*Kcb(Ie;Wxs+CluI^xuI0`;#^5D=z#+;r|WjW98AWdlJkk{q_6T=Jxd}P+lqh zmG&?Cr*a4LJoJ5!=aFtH{*vftC4Dt@t8UqyxOK`;vX@H#rdmO#|MB!&wyVhWmrCh3 z<`;F#-anhtxl%UrKWVc5)7`%;`swIjTqC}q{GNITejH4EgynKq6cCh3zr#M2{-ejW z`)O>Kujt_mf2Fs7mHwMjhy5%4e*Hws@ap2X$XHum-K}q4t;K(Xel5-l?I8a7tD>K# z|9`$f4b39BF?oSvCHd&y&b@7mhgQyzFO`0Cel%hho4_U!L*Ty>m)G{XqJ>K7H|@WN zzD-^$C`(uD{KV33#dpW}sbyHlzP#+26tZV&?)${L#zn<)0 zqJLK(SE_Xl_19;|B?MZv{&GscF@Eim1Y7J%&ocM-aN!5;0OGEuUT>Lv^ua5o|Nry$ zCUBBuXMJF(gmXo}TXNth=f;lBSPoO^>E~l0HUanz1IUGON3$t1FYr zsy?J0Z*T7fvsW%F&Dz?F)h?_(^3JBUhFwc6tCbA~e3dcC27KGt2HQA|ZG0f3{r|rs zB3@)fX4WC{SFa-C#f$&@-uK@7-u1oj<@$%vPE+$p&%zX6i!<@;fzm?c+2-cf+A2@? zgIpS&#nnHh{F$*>O+FJy>|Y2bPEze4BV;SH48F$Sq0%+{9Dfr0v`;<|(^w5Xm+nv3@ zN0pya`iJ7bh@(hX@9zn}U5+o7SFzCY%sr~<+-U9zf5-51?F;f3hrF+5%BY-0fo#=k zE47Px&pj-|>R9!sl|SR*`xLrHG7f&%@N@DRlx;NcUeS7WbqxnFZ|#XaQQz=${Wsua z<_d?9hO(t5iyTL{c9#PpU zKT}A5g5TPB=7sa#2&ckG%FjsQ0Q|P$=kgb;fE^r8vAKma*m%A(`aE124E#o}tx;C& z7=Fl~JJXZbEuvgfbOEaUobo5+|Gl~D zQrOZSYu{SCm-W(>49S2YP{{?Jwb!BRHdgk={jaJew zCO4d=lvaKi@p#uZ{DA)%8{tQ#L*e|-yb#WeZsK=}@UOod&hVoK=!EY1_4*A=pyb~V zNkjF|DSra~=f6+zxi%6;Jp@`_bqzl#Kco7y5Ej`E@US@gh9B_XvM$L?NFVO#(H)WA z^%+mZ)&9KlCuko_@N-+g#)_b4_`&$74BvKa?Is14zfhRJ)`1<2$b7~v{!!cTi}?>0 zaH(Adj#q-rOr;6zAsM_g6yG6}bfg}LdYnX5|KhOxb-2AJplkR+{>s@HCf%+ zRpmkodWIj=uY)^YCaU~`(jT;6D^Ms>^}y3OJlgdGkD7!~dwDiPGpZJ}4L>OV2Y38M zv}5=Ie-7^Wi>UgG%AY{~6dmtSaH`eF!+nsyUBeIfUxc4Dyt_L7E9#G+KRMoEkM!5R zP*8p{^e6axq`znQVg4T2@eWbtuN38P?s$ZxNs)HTyH}%%zQ~`p;Ro{V;Es2Qb__p| z&j)w>LR9^$%AXJ)V^Fr?$wc1Z5Su-s5nU7EPuK8+{LPGs6ay^xC5$WS#>CO1Bj`UA z;j5_`>Fhv^rJ9+Uo~P0;SuAvx{j2?w@+auu3jTqZ_l|moAMi)S|tmyY^|AG9xu?{j<^^U{NM!$uXM+Fw)t1oEK_-@DF!l}c7t zv(&$5_yK<)dZhcoF@)dC9m-E4t4C3;_?5q2kiVg58?ah8zV;91e+)lQe@1i;;Af*B z&K=Bu8h*h4WGI))<>biTtM$znaI{uy1M@(m#amSU8_J)c|3>^|J56R5#q-tkgad5c z4@*PW@I(G6K2K@KDe9iHX%9v4$IIWo;Ro{B%|CCV3D}qQXXyX@P32Eeza0PWzRgQV zJ;M+9lU7r#K6qbBbZ-)MlaxKd`%-9mQTsau@*()1@*(h`R0uqV#n2lA zzo5G~Hh$&rD*ZwI3cem_VuH8BXy?2382ABTYJy{gW|YRfWB5V+3IKEZP`Squ(=$=^ z?-i7P$4BMTc8oiWQTE-R+X%-qZxD42KakH}sj`ZyRNolXS{vC2^bLQ;GAdJ6STH>% zziPMtSYRL5zAV1fepUGs$bUzZ$fPsmM|SvDq0oNjkWAndb#u8-Z?<@U*{BipIDrXjC?cH-108icKNy2QNq>vummt4K=0Ml*1Nq~837E1=U@NYD z!w<{Pfo<=IYX4CA6W|Y2RPsd|D_44UCEO9}jZx3=gZ}3Let?#iALZlF46gjzIP^Py zR(*Rc_4BB0_5mil?LWB5V)J{G>`M6q0R-|DX`e|As*SnB6dchC4^sh>xE z!w=-!F#gzR!;0%jD}uFuw9E42L$dMI+oPW02lAnSeis?}!KCM7*|qYIi}Lrt)H9>D z;m;TW(j+D)L+x9ADcUjop#9}iU@|wrCf%2qkAY1qt&KaAtLv@$ma2vFeHnKk|Nn{d zC#YZB8=d-U6Z%Wi0m4?<{4@MvT4${JPs0!DS6)2_nQEd8a&%YfMN!}IgYuKd-@AHI zRQnC(PavQ3_+B`(S)o0xkuwlI!w=dQQO~)ub_45w+nY@)=wP6I6B|2{$)9A9Ix2$7 zKUMkz`5^eJ^qI_+U}6bsFL^Dak?nii@B{uIoO)5TWB6JAb9M(BKev}#>+x27dA%8L zw6=43=aJsS;G^yy@v%e+#fX!2tWOTb?;F1JKSO^Dwi6%> zw9DK%36mr%C)d}O6R(roP~jX3j+eE6ru=dF!`|Pi_}R5r>npe7wGO5y!7A*NU1K)j zu*sV-P~+BWEYm5MTB_So9!swf-==JJ4{D6uHV=(qqZL2f>TJcW%@}%!ai=+C2Cnj( zVg4%pn0R}9E0*c2_}QyhYp^~eM-Vcq<;~Wu<^~FnEI%OA%ZbOEw&A;cQ+z+VQWKz? zMTmV<_=ZwCCOYOn4d3On;&-+??X?w5!*$m0<9Mr$8!?(3S|W(+t0?iY9qWe$+Q$8% zq@f|!{SQ3A)B0-#aabBLnG)KzVl~o<4%2j ztr6dD-fnH)kL%bMjd2#Ua${{hZflDZL#ws93Woz~hoWQs%kaH?Vu@>Vd7Jvw*L^@C zIr}o#zN9%@g~5{eqpxw|HkqU@kEHf5ls_(iGWb^gC!gVYEN3AIUJiWDH9IRf1Q_fq zM~D7HIX<%*f+({J24!msX?c-Z2pfi9`Ikz+%l{1h#rV|Kw=*}!iK1=z1^mG#@6Pt^ zNwhQEJo2(V;-dB8iWIK%kV?bo-!c3d3q<;FHZ~6?bAeg?E#;4wPsb0ka<7>S{B8+; zG4pqsxxnumewP2_Pci;3GZ*-^e^tz%1Ib+A_YB|V8~Klk;j#qmnn9I+t@L~Q2>b)% z4akq$hM$o?ZXiL10$N$G$X*O?0>H+Mv$C;DGRTjEAyV;g$MBQ#?2gb`u*E2 zbbL;_b_+M@-4Nt7GtdL6k_8b{ago&F8L#gNF5{i|%T8q%g5>BNogX1vvkPhm3y zH#@Oob@WK%iDB4`w4b9Ni!CR~+LS%Qi6h?+cEv|J?~WUrt#%tbG7|RjeW#TE+P@9? zlj3`qL61>KLhjx~dg8nFHJs;tLy|Q{E8i={PX>|k%6hBAo^2D&ZxdY=J*o&Xb?~s# z#PQXQQu-^ut@L~O2mS5V`nvSaPQ|im3ea3AWdDRQk@&_~Z5JbL8@|iWVtnms?InVp zV)`2(7{{MA*I<5wSq)B8ErgvGjmra+GR9t1zo`64>A!pN>iKg`mcPvpqCYE}luyN6 zszph^S-;ba-y2WQ&5zalf&4dom(QqBTR2$h1iL^qcr~OhoQkyqlow8

OyuKT#mI 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%0DCVj`P|@HjnZ-o0(`HS7S>GJB!1WM!}?W- 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

Ex-uD7SL>@2}sO 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

BK~sq`)CoF?C- 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 literal 0 HcmV?d00001 diff --git a/docs/install.md b/docs/install.md index adb32fd50..fa3679192 100644 --- a/docs/install.md +++ b/docs/install.md @@ -12,50 +12,67 @@ weight=4 # Install Docker Compose -To install Compose, you'll need to install Docker first. You'll then install -Compose with a `curl` command. +You can run Compose on OS X and 64-bit Linux. It is currently not supported on +the Windows operating system. To install Compose, you'll need to install Docker +first. -## Install Docker +Depending on how your system is configured, you may require `sudo` access to +install Compose. If your system requires `sudo`, you will receive "Permission +denied" errors when installing Compose. If this is the case for you, preface the +install commands with `sudo` to install. -First, install Docker version 1.7.1 or greater: +To install Compose, do the following: -- [Instructions for Mac OS X](http://docs.docker.com/installation/mac/) -- [Instructions for Ubuntu](http://docs.docker.com/installation/ubuntulinux/) -- [Instructions for other systems](http://docs.docker.com/installation/) +1. Install Docker Engine version 1.7.1 or greater: -## Install Compose + * Mac OS X installation (installs both Engine and Compose) + + * Ubuntu installation + + * other system installations + +2. Mac OS X users are done installing. Others should continue to the next step. + +3. Go to the repository release page. -To install Compose, run the following commands: +4. Enter the `curl` command in your termial. - curl -L https://github.com/docker/compose/releases/download/1.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose - chmod +x /usr/local/bin/docker-compose + The command has the following format: -> Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands above, then `exit`. + curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + + If you have problems installing with `curl`, you can use `pip` instead: `pip install -U docker-compose` + +4. Apply executable permissions to the binary: -Optionally, you can also install [command completion](completion.md) for the -bash and zsh shell. + $ chmod +x /usr/local/bin/docker-compose -> **Note:** Some older Mac OS X CPU architectures are incompatible with the binary. If you receive an "Illegal instruction: 4" error after installing, you should install using the `pip` command instead. +5. Optionally, install [command completion](completion.md) for the +`bash` and `zsh` shell. -Compose is available for OS X and 64-bit Linux. If you're on another platform, -Compose can also be installed as a Python package: +6. Test the installation. - $ sudo pip install -U docker-compose + $ docker-compose --version + docker-compose version: 1.4.0 -No further steps are required; Compose should now be successfully installed. -You can test the installation by running `docker-compose --version`. +## Upgrading -### Upgrading +If you're upgrading from Compose 1.2 or earlier, you'll need to remove or migrate +your existing containers after upgrading Compose. This is because, as of version +1.3, Compose uses Docker labels to keep track of containers, and so they need to +be recreated with labels added. -If you're coming from Compose 1.2 or earlier, you'll need to remove or migrate your existing containers after upgrading Compose. This is because, as of version 1.3, Compose uses Docker labels to keep track of containers, and so they need to be recreated with labels added. +If Compose detects containers that were created without labels, it will refuse +to run so that you don't end up with two sets of them. If you want to keep using +your existing containers (for example, because they have data volumes you want +to preserve) you can migrate them with the following command: -If Compose detects containers that were created without labels, it will refuse to run so that you don't end up with two sets of them. If you want to keep using your existing containers (for example, because they have data volumes you want to preserve) you can migrate them with the following command: + $ docker-compose migrate-to-labels - docker-compose migrate-to-labels +Alternatively, if you're not worried about keeping them, you can remove them &endash; +Compose will just create new ones. -Alternatively, if you're not worried about keeping them, you can remove them - Compose will just create new ones. - - docker rm -f myapp_web_1 myapp_db_1 ... + $ docker rm -f -v myapp_web_1 myapp_db_1 ... ## Uninstallation @@ -69,10 +86,13 @@ To uninstall Docker Compose if you installed using `pip`: $ pip uninstall docker-compose -> Note: If you get a "Permission denied" error using either of the above methods, you probably do not have the proper permissions to remove `docker-compose`. To force the removal, prepend `sudo` to either of the above commands and run again. +>**Note**: If you get a "Permission denied" error using either of the above +>methods, you probably do not have the proper permissions to remove +>`docker-compose`. To force the removal, prepend `sudo` to either of the above +>commands and run again. -## Compose documentation +## Where to go next - [User guide](/) - [Get started with Django](django.md) From 7ad1fe24bdae2374a954ebff67261205eca43fc7 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 6 Aug 2015 15:29:55 +0100 Subject: [PATCH 063/221] Merge pull request #1815 from aanand/abort-if-daemon-cant-start Abort tests if daemon fails to start (cherry picked from commit f7b9daf927cfa31324193d4b426c1c0d848e8bdf) Signed-off-by: Aanand Prasad --- script/wrapdocker | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/script/wrapdocker b/script/wrapdocker index 2e07bdadf..119e88df4 100755 --- a/script/wrapdocker +++ b/script/wrapdocker @@ -8,9 +8,16 @@ fi # delete it so that docker can start. rm -rf /var/run/docker.pid docker -d $DOCKER_DAEMON_ARGS &>/var/log/docker.log & +docker_pid=$! >&2 echo "Waiting for Docker to start..." while ! docker ps &>/dev/null; do + if ! kill -0 "$docker_pid" &>/dev/null; then + >&2 echo "Docker failed to start" + cat /var/log/docker.log + exit 1 + fi + sleep 1 done From 22ccf35fa1600d36225e422146c633fb1c2ba319 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Mon, 10 Aug 2015 18:47:29 +0100 Subject: [PATCH 064/221] Merge pull request #1836 from aanand/use-overlay-driver-in-tests Use overlay driver in tests (cherry picked from commit 197d332620dcf063cc888b8a64e6fa875a2e0943) Signed-off-by: Aanand Prasad --- script/wrapdocker | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/wrapdocker b/script/wrapdocker index 119e88df4..3e669b5d7 100755 --- a/script/wrapdocker +++ b/script/wrapdocker @@ -7,7 +7,7 @@ fi # If a pidfile is still around (for example after a container restart), # delete it so that docker can start. rm -rf /var/run/docker.pid -docker -d $DOCKER_DAEMON_ARGS &>/var/log/docker.log & +docker -d --storage-driver="overlay" &>/var/log/docker.log & docker_pid=$! >&2 echo "Waiting for Docker to start..." From 74b4fb89bbc7495e9ba68e04a65cda62afdae506 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Mon, 10 Aug 2015 18:50:00 +0100 Subject: [PATCH 065/221] Merge pull request #1835 from aanand/fix-crash-when-container-has-no-name Ignore containers that don't have a name (cherry picked from commit 4e12ce39b35ea49bfdcd6677b26a46eb593ec208) Signed-off-by: Aanand Prasad --- compose/container.py | 6 +++++- compose/project.py | 4 ++-- compose/service.py | 11 ++++++----- tests/integration/legacy_test.py | 17 ++++++++++++++--- tests/unit/project_test.py | 25 +++++++++++++++++++++++++ tests/unit/service_test.py | 12 ++++++++++++ 6 files changed, 64 insertions(+), 11 deletions(-) diff --git a/compose/container.py b/compose/container.py index 719514971..40aea98a4 100644 --- a/compose/container.py +++ b/compose/container.py @@ -22,10 +22,14 @@ class Container(object): """ Construct a container object from the output of GET /containers/json. """ + name = get_container_name(dictionary) + if name is None: + return None + new_dictionary = { 'Id': dictionary['Id'], 'Image': dictionary['Image'], - 'Name': '/' + get_container_name(dictionary), + 'Name': '/' + name, } return cls(client, new_dictionary, **kwargs) diff --git a/compose/project.py b/compose/project.py index 2667855d9..6d86a4a87 100644 --- a/compose/project.py +++ b/compose/project.py @@ -310,11 +310,11 @@ class Project(object): else: service_names = self.service_names - containers = [ + containers = filter(None, [ Container.from_ps(self.client, container) for container in self.client.containers( all=stopped, - filters={'label': self.labels(one_off=one_off)})] + filters={'label': self.labels(one_off=one_off)})]) def matches_service_names(container): return container.labels.get(LABEL_SERVICE) in service_names diff --git a/compose/service.py b/compose/service.py index 2e0490a50..2cdd6c9b5 100644 --- a/compose/service.py +++ b/compose/service.py @@ -101,11 +101,11 @@ class Service(object): self.options = options def containers(self, stopped=False, one_off=False): - containers = [ + containers = filter(None, [ Container.from_ps(self.client, container) for container in self.client.containers( all=stopped, - filters={'label': self.labels(one_off=one_off)})] + filters={'label': self.labels(one_off=one_off)})]) if not containers: check_for_legacy_containers( @@ -494,12 +494,13 @@ class Service(object): # TODO: this would benefit from github.com/docker/docker/pull/11943 # to remove the need to inspect every container def _next_container_number(self, one_off=False): - numbers = [ - Container.from_ps(self.client, container).number + containers = filter(None, [ + Container.from_ps(self.client, container) for container in self.client.containers( all=True, filters={'label': self.labels(one_off=one_off)}) - ] + ]) + numbers = [c.number for c in containers] return 1 if not numbers else max(numbers) + 1 def _get_links(self, link_to_self): diff --git a/tests/integration/legacy_test.py b/tests/integration/legacy_test.py index f79089b20..9913bbb0f 100644 --- a/tests/integration/legacy_test.py +++ b/tests/integration/legacy_test.py @@ -65,7 +65,7 @@ class UtilitiesTestCase(unittest.TestCase): legacy.is_valid_name("composetest_web_lol_1", one_off=True), ) - def test_get_legacy_containers_no_labels(self): + def test_get_legacy_containers(self): client = Mock() client.containers.return_value = [ { @@ -74,12 +74,23 @@ class UtilitiesTestCase(unittest.TestCase): "Name": "composetest_web_1", "Labels": None, }, + { + "Id": "ghi789", + "Image": "def456", + "Name": None, + "Labels": None, + }, + { + "Id": "jkl012", + "Image": "def456", + "Labels": None, + }, ] - containers = list(legacy.get_legacy_containers( - client, "composetest", ["web"])) + containers = legacy.get_legacy_containers(client, "composetest", ["web"]) self.assertEqual(len(containers), 1) + self.assertEqual(containers[0].id, 'abc123') class LegacyTestCase(DockerClientTestCase): diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index 39ad30a15..93bf12ff5 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -3,6 +3,7 @@ from .. import unittest from compose.service import Service from compose.project import Project from compose.container import Container +from compose.const import LABEL_SERVICE import mock import docker @@ -260,3 +261,27 @@ class ProjectTest(unittest.TestCase): service = project.get_service('test') self.assertEqual(service._get_net(), 'container:' + container_name) + + def test_container_without_name(self): + self.mock_client.containers.return_value = [ + {'Image': 'busybox:latest', 'Id': '1', 'Name': '1'}, + {'Image': 'busybox:latest', 'Id': '2', 'Name': None}, + {'Image': 'busybox:latest', 'Id': '3'}, + ] + self.mock_client.inspect_container.return_value = { + 'Id': '1', + 'Config': { + 'Labels': { + LABEL_SERVICE: 'web', + }, + }, + } + project = Project.from_dicts( + 'test', + [{ + 'name': 'web', + 'image': 'busybox:latest', + }], + self.mock_client, + ) + self.assertEqual([c.id for c in project.containers()], ['1']) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index bc6b9e485..0e274a358 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -76,6 +76,18 @@ class ServiceTest(unittest.TestCase): all=False, filters={'label': expected_labels}) + def test_container_without_name(self): + self.mock_client.containers.return_value = [ + {'Image': 'foo', 'Id': '1', 'Name': '1'}, + {'Image': 'foo', 'Id': '2', 'Name': None}, + {'Image': 'foo', 'Id': '3'}, + ] + service = Service('db', self.mock_client, 'myproject', image='foo') + + self.assertEqual([c.id for c in service.containers()], ['1']) + self.assertEqual(service._next_container_number(), 2) + self.assertEqual(service.get_container(1).id, '1') + def test_get_volumes_from_container(self): container_id = 'aabbccddee' service = Service( From 7850d6de4533de4f4663eace7ef5ee6aa2cb1ab0 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Mon, 10 Aug 2015 20:53:01 +0100 Subject: [PATCH 066/221] Merge pull request #1832 from aanand/use-docker-1.8.0-rc3 Test against Docker 1.8.0 RC3 (cherry picked from commit afc9629c59117ab2ae050b91d1e732234591b47f) Signed-off-by: Aanand Prasad --- Dockerfile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a0e7f14f9..7c0482323 100644 --- a/Dockerfile +++ b/Dockerfile @@ -48,11 +48,13 @@ RUN set -ex; \ rm -rf pip-7.0.1; \ rm pip-7.0.1.tar.gz -ENV ALL_DOCKER_VERSIONS 1.7.1 +ENV ALL_DOCKER_VERSIONS 1.7.1 1.8.0-rc3 RUN set -ex; \ curl https://get.docker.com/builds/Linux/x86_64/docker-1.7.1 -o /usr/local/bin/docker-1.7.1; \ - chmod +x /usr/local/bin/docker-1.7.1 + chmod +x /usr/local/bin/docker-1.7.1; \ + curl https://test.docker.com/builds/Linux/x86_64/docker-1.8.0-rc3 -o /usr/local/bin/docker-1.8.0-rc3; \ + chmod +x /usr/local/bin/docker-1.8.0-rc3 # Set the default Docker to be run RUN ln -s /usr/local/bin/docker-1.7.1 /usr/local/bin/docker From 16440ff05583707e1deff41f349f0d5929041333 Mon Sep 17 00:00:00 2001 From: Ben Firshman Date: Mon, 10 Aug 2015 22:13:30 +0100 Subject: [PATCH 067/221] Merge pull request #1829 from vlajos/typofixes-vlajos-20150807 typofix - https://github.com/vlajos/misspell_fixer (cherry picked from commit b7baa899e271fd13f17592be015b8bf066c17245) Signed-off-by: Aanand Prasad --- tests/unit/config_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index a2c17d725..c653ade20 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -9,7 +9,7 @@ from compose import config def make_service_dict(name, service_dict, working_dir): """ - Test helper function to contruct a ServiceLoader + Test helper function to construct a ServiceLoader """ return config.ServiceLoader(working_dir=working_dir).make_service_dict(name, service_dict) From 5548aa5c791f3d4419e1fa11547d0e9f4c886abb Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Tue, 11 Aug 2015 11:21:17 +0100 Subject: [PATCH 068/221] Merge pull request #1833 from aanand/deprecate-relative-volumes-without-dot Show a warning when a relative path is specified without "./" (cherry picked from commit 52733f699681c3ee762917d2d837fa4bd8c4a9ba) Signed-off-by: Aanand Prasad Conflicts: compose/config.py tests/unit/config_test.py --- compose/config.py | 30 +++++++++++++++++++++---- docs/yml.md | 5 +++-- tests/unit/config_test.py | 47 ++++++++++++++++++++++++++++++++++++++- 3 files changed, 75 insertions(+), 7 deletions(-) diff --git a/compose/config.py b/compose/config.py index af8983961..aa2db2c71 100644 --- a/compose/config.py +++ b/compose/config.py @@ -83,6 +83,13 @@ SUPPORTED_FILENAMES = [ ] +PATH_START_CHARS = [ + '/', + '.', + '~', +] + + log = logging.getLogger(__name__) @@ -253,7 +260,7 @@ def process_container_options(service_dict, working_dir=None): raise ConfigurationError("Invalid 'memswap_limit' configuration for %s service: when defining 'memswap_limit' you must set 'mem_limit' as well" % service_dict['name']) if 'volumes' in service_dict and service_dict.get('volume_driver') is None: - service_dict['volumes'] = resolve_volume_paths(service_dict['volumes'], working_dir=working_dir) + service_dict['volumes'] = resolve_volume_paths(service_dict, working_dir=working_dir) if 'build' in service_dict: service_dict['build'] = resolve_build_path(service_dict['build'], working_dir=working_dir) @@ -414,18 +421,33 @@ def env_vars_from_file(filename): return env -def resolve_volume_paths(volumes, working_dir=None): +def resolve_volume_paths(service_dict, working_dir=None): if working_dir is None: raise Exception("No working_dir passed to resolve_volume_paths()") - return [resolve_volume_path(v, working_dir) for v in volumes] + return [ + resolve_volume_path(v, working_dir, service_dict['name']) + for v in service_dict['volumes'] + ] -def resolve_volume_path(volume, working_dir): +def resolve_volume_path(volume, working_dir, service_name): container_path, host_path = split_path_mapping(volume) container_path = os.path.expanduser(os.path.expandvars(container_path)) + if host_path is not None: host_path = os.path.expanduser(os.path.expandvars(host_path)) + + if not any(host_path.startswith(c) for c in PATH_START_CHARS): + log.warn( + 'Warning: the mapping "{0}" in the volumes config for ' + 'service "{1}" is ambiguous. In a future version of Docker, ' + 'it will designate a "named" volume ' + '(see https://github.com/docker/docker/pull/14242). ' + 'To prevent unexpected behaviour, change it to "./{0}"' + .format(volume, service_name) + ) + return "%s:%s" % (expand_path(working_dir, host_path), container_path) else: return container_path diff --git a/docs/yml.md b/docs/yml.md index f89d107bd..bd339ec1a 100644 --- a/docs/yml.md +++ b/docs/yml.md @@ -131,11 +131,12 @@ Mount paths as volumes, optionally specifying a path on the host machine volumes: - /var/lib/mysql - - cache/:/tmp/cache + - ./cache:/tmp/cache - ~/configs:/etc/configs/:ro You can mount a relative path on the host, which will expand relative to -the directory of the Compose configuration file being used. +the directory of the Compose configuration file being used. Relative paths +should always begin with `.` or `..`. > Note: No path expansion will be done if you have also specified a > `volume_driver`. diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index c653ade20..c523798f2 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -72,7 +72,52 @@ class VolumePathTest(unittest.TestCase): d = make_service_dict('foo', {'volumes': ['~:/container/path']}, working_dir='.') self.assertEqual(d['volumes'], ['/home/user:/container/path']) - def test_named_volume_with_driver(self): + @mock.patch.dict(os.environ) + def test_volume_binding_with_local_dir_name_raises_warning(self): + def make_dict(**config): + make_service_dict('foo', config, working_dir='.') + + with mock.patch('compose.config.log.warn') as warn: + make_dict(volumes=['/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['/data:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['.:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['..:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['./data:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['../data:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['.profile:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['~:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['~/data:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['~tmp:/container/path']) + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['data:/container/path'], volume_driver='mydriver') + self.assertEqual(0, warn.call_count) + + make_dict(volumes=['data:/container/path']) + self.assertEqual(1, warn.call_count) + warning = warn.call_args[0][0] + self.assertIn('"data:/container/path"', warning) + self.assertIn('"./data:/container/path"', warning) + + def test_named_volume_with_driver_does_not_expand(self): d = make_service_dict('foo', { 'volumes': ['namedvolume:/data'], 'volume_driver': 'foodriver', From d0792b49fa6296fad32d879670a8edc8ae27cf29 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Tue, 11 Aug 2015 15:59:08 +0100 Subject: [PATCH 069/221] Merge pull request #1846 from aanand/fix-mem-limit-options Fix mem_limit and memswap_limit regression (cherry picked from commit 93cc7e375130ebaaa287bb5d7e04f59bd0d6d98e) Signed-off-by: Aanand Prasad --- compose/service.py | 4 ++++ tests/unit/service_test.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/compose/service.py b/compose/service.py index 2cdd6c9b5..ab7d154e6 100644 --- a/compose/service.py +++ b/compose/service.py @@ -42,6 +42,8 @@ DOCKER_START_KEYS = [ 'net', 'log_driver', 'log_opt', + 'mem_limit', + 'memswap_limit', 'pid', 'privileged', 'restart', @@ -684,6 +686,8 @@ class Service(object): restart_policy=restart, cap_add=cap_add, cap_drop=cap_drop, + mem_limit=options.get('mem_limit'), + memswap_limit=options.get('memswap_limit'), log_config=log_config, extra_hosts=extra_hosts, read_only=read_only, diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 0e274a358..7e5266dd7 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -173,8 +173,8 @@ class ServiceTest(unittest.TestCase): service = Service(name='foo', image='foo', hostname='name', client=self.mock_client, mem_limit=1000000000, memswap_limit=2000000000) self.mock_client.containers.return_value = [] opts = service._get_container_create_options({'some': 'overrides'}, 1) - self.assertEqual(opts['memswap_limit'], 2000000000) - self.assertEqual(opts['mem_limit'], 1000000000) + self.assertEqual(opts['host_config']['MemorySwap'], 2000000000) + self.assertEqual(opts['host_config']['Memory'], 1000000000) def test_log_opt(self): log_opt = {'address': 'tcp://192.168.0.42:123'} From 28139ab90dd1be21a3a9a0e768dc1f545ef5fe00 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 20 Jul 2015 17:01:00 +0100 Subject: [PATCH 070/221] Bump 1.4.0 Signed-off-by: Aanand Prasad --- CHANGES.md | 39 +++++++++++++++++++++++++++++++++++++++ compose/__init__.py | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index 38a543249..88e725da6 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,45 @@ Change log ========== +1.4.0 (2015-08-04) +------------------ + +- By default, `docker-compose up` now only recreates containers for services whose configuration has changed since they were created. This should result in a dramatic speed-up for many applications. + + The experimental `--x-smart-recreate` flag which introduced this feature in Compose 1.3.0 has been removed, and a `--force-recreate` flag has been added for when you want to recreate everything. + +- Several of Compose's commands - `scale`, `stop`, `kill` and `rm` - now perform actions on multiple containers in parallel, rather than in sequence, which will run much faster on larger applications. + +- You can now specify a custom name for a service's container with `container_name`. Because Docker container names must be unique, this means you can't scale the service beyond one container. + +- You no longer have to specify a `file` option when using `extends` - it will default to the current file. + +- Service names can now contain dots, dashes and underscores. + +- Compose can now read YAML configuration from standard input, rather than from a file, by specifying `-` as the filename. This makes it easier to generate configuration dynamically: + + $ echo 'redis: {"image": "redis"}' | docker-compose --file - up + +- There's a new `docker-compose version` command which prints extended information about Compose's bundled dependencies. + +- `docker-compose.yml` now supports `log_opt` as well as `log_driver`, allowing you to pass extra configuration to a service's logging driver. + +- `docker-compose.yml` now supports `memswap_limit`, similar to `docker run --memory-swap`. + +- When mounting volumes with the `volumes` option, you can now pass in any mode supported by the daemon, not just `:ro` or `:rw`. For example, SELinux users can pass `:z` or `:Z`. + +- You can now specify a custom volume driver with the `volume_driver` option in `docker-compose.yml`, much like `docker run --volume-driver`. + +- A bug has been fixed where Compose would fail to pull images from private registries serving plain (unsecured) HTTP. The `--allow-insecure-ssl` flag, which was previously used to work around this issue, has been deprecated and now has no effect. + +- A bug has been fixed where `docker-compose build` would fail if the build depended on a private Hub image or an image from a private registry. + +- A bug has been fixed where Compose would crash if there were containers which the Docker daemon had not finished removing. + +- Two bugs have been fixed where Compose would sometimes fail with a "Duplicate bind mount" error, or fail to attach volumes to a container, if there was a volume path specified in `docker-compose.yml` with a trailing slash. + +Thanks @mnowster, @dnephin, @ekristen, @funkyfuture, @jeffk and @lukemarsden! + 1.3.3 (2015-07-15) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 0d464ee86..04a072d5a 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.4.0dev' +__version__ = '1.4.0' From a9b1f15f92b200f4c2ccbd5d6d0ce3e2abc82133 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 14 Aug 2015 11:15:22 +0100 Subject: [PATCH 071/221] Fix volume path warning Signed-off-by: Aanand Prasad --- compose/config.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compose/config.py b/compose/config.py index aa2db2c71..365fc3c27 100644 --- a/compose/config.py +++ b/compose/config.py @@ -440,12 +440,12 @@ def resolve_volume_path(volume, working_dir, service_name): if not any(host_path.startswith(c) for c in PATH_START_CHARS): log.warn( - 'Warning: the mapping "{0}" in the volumes config for ' - 'service "{1}" is ambiguous. In a future version of Docker, ' + 'Warning: the mapping "{0}:{1}" in the volumes config for ' + 'service "{2}" is ambiguous. In a future version of Docker, ' 'it will designate a "named" volume ' '(see https://github.com/docker/docker/pull/14242). ' - 'To prevent unexpected behaviour, change it to "./{0}"' - .format(volume, service_name) + 'To prevent unexpected behaviour, change it to "./{0}:{1}"' + .format(host_path, container_path, service_name) ) return "%s:%s" % (expand_path(working_dir, host_path), container_path) From 294b9742be5da1f37d520ff8406fbf00b12387de Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Mon, 17 Aug 2015 16:31:57 +0100 Subject: [PATCH 072/221] Handle all exceptions If we get back an error that wasn't an APIError, it was causing the thread to hang. This catch all, while I appreciate feels risky to have a catch all, is better than not catching and silently failing, with a never ending thread. If something worse than an APIError has gone wrong, we want to stop the incredible journey of what we're doing. Signed-off-by: Mazz Mosley --- compose/utils.py | 7 +++++++ tests/integration/service_test.py | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/compose/utils.py b/compose/utils.py index 4c7f94c57..61d6d8024 100644 --- a/compose/utils.py +++ b/compose/utils.py @@ -32,6 +32,10 @@ def parallel_execute(objects, obj_callable, msg_index, msg): except APIError as e: errors[msg_index] = e.explanation result = "error" + except Exception as e: + errors[msg_index] = e + result = 'unexpected_exception' + q.put((msg_index, result)) for an_object in objects: @@ -48,6 +52,9 @@ def parallel_execute(objects, obj_callable, msg_index, msg): while done < total_to_execute: try: msg_index, result = q.get(timeout=1) + + if result == 'unexpected_exception': + raise errors[msg_index] if result == 'error': write_out_msg(stream, lines, msg_index, msg, status='error') else: diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 8856d0245..70ca758a5 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -672,6 +672,25 @@ class ServiceTest(DockerClientTestCase): self.assertTrue(service.containers()[0].is_running) self.assertIn("ERROR: for 2 Boom", mock_stdout.getvalue()) + @patch('sys.stdout', new_callable=StringIO) + def test_scale_with_api_returns_unexpected_exception(self, mock_stdout): + """ + Test that when scaling if the API returns an error, that is not of type + APIError, that error is re-raised. + """ + service = self.create_service('web') + next_number = service._next_container_number() + service.create_container(number=next_number, quiet=True) + + with patch( + 'compose.container.Container.create', + side_effect=ValueError("BOOM")): + with self.assertRaises(ValueError): + service.scale(3) + + self.assertEqual(len(service.containers()), 1) + self.assertTrue(service.containers()[0].is_running) + @patch('compose.service.log') def test_scale_with_desired_number_already_achieved(self, mock_log): """ From 6a23491fa943dec48d7c57fbd02dd931ad3ad0ec Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 26 Aug 2015 16:21:31 -0400 Subject: [PATCH 073/221] Resolves #1856, fix regression in #1645. Includes some refactoring to make testing easier. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 36 ++++++++++++++++++---------- compose/container.py | 6 ++++- tests/unit/cli/main_test.py | 47 +++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 tests/unit/cli/main_test.py diff --git a/compose/cli/main.py b/compose/cli/main.py index 56f6c0505..1fb62de69 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -496,19 +496,8 @@ class TopLevelCommand(Command): ) if not detached: - print("Attaching to", list_containers(to_attach)) - log_printer = LogPrinter(to_attach, attach_params={"logs": True}, monochrome=monochrome) - - try: - log_printer.run() - finally: - def handler(signal, frame): - project.kill(service_names=service_names) - sys.exit(0) - signal.signal(signal.SIGINT, handler) - - print("Gracefully stopping... (press Ctrl+C again to force)") - project.stop(service_names=service_names, timeout=timeout) + log_printer = build_log_printer(to_attach, service_names, monochrome) + attach_to_logs(project, log_printer, service_names, timeout) def migrate_to_labels(self, project, _options): """ @@ -551,5 +540,26 @@ class TopLevelCommand(Command): print(get_version_info('full')) +def build_log_printer(containers, service_names, monochrome): + return LogPrinter( + [c for c in containers if c.service in service_names], + attach_params={"logs": True}, + monochrome=monochrome) + + +def attach_to_logs(project, log_printer, service_names, timeout): + print("Attaching to", list_containers(log_printer.containers)) + try: + log_printer.run() + finally: + def handler(signal, frame): + project.kill(service_names=service_names) + sys.exit(0) + signal.signal(signal.SIGINT, handler) + + print("Gracefully stopping... (press Ctrl+C again to force)") + project.stop(service_names=service_names, timeout=timeout) + + def list_containers(containers): return ", ".join(c.name for c in containers) diff --git a/compose/container.py b/compose/container.py index 40aea98a4..6f88b41dc 100644 --- a/compose/container.py +++ b/compose/container.py @@ -62,9 +62,13 @@ class Container(object): def name(self): return self.dictionary['Name'][1:] + @property + def service(self): + return self.labels.get(LABEL_SERVICE) + @property def name_without_project(self): - return '{0}_{1}'.format(self.labels.get(LABEL_SERVICE), self.number) + return '{0}_{1}'.format(self.service, self.number) @property def number(self): diff --git a/tests/unit/cli/main_test.py b/tests/unit/cli/main_test.py new file mode 100644 index 000000000..817e8f49b --- /dev/null +++ b/tests/unit/cli/main_test.py @@ -0,0 +1,47 @@ +from __future__ import absolute_import + +from compose import container +from compose.cli.log_printer import LogPrinter +from compose.cli.main import attach_to_logs +from compose.cli.main import build_log_printer +from compose.project import Project +from tests import mock +from tests import unittest + + +def mock_container(service, number): + return mock.create_autospec( + container.Container, + service=service, + number=number, + name_without_project='{0}_{1}'.format(service, number)) + + +class CLIMainTestCase(unittest.TestCase): + + def test_build_log_printer(self): + containers = [ + mock_container('web', 1), + mock_container('web', 2), + mock_container('db', 1), + mock_container('other', 1), + mock_container('another', 1), + ] + service_names = ['web', 'db'] + log_printer = build_log_printer(containers, service_names, True) + self.assertEqual(log_printer.containers, containers[:3]) + + def test_attach_to_logs(self): + project = mock.create_autospec(Project) + log_printer = mock.create_autospec(LogPrinter, containers=[]) + service_names = ['web', 'db'] + timeout = 12 + + with mock.patch('compose.cli.main.signal', autospec=True) as mock_signal: + attach_to_logs(project, log_printer, service_names, timeout) + + mock_signal.signal.assert_called_once_with(mock_signal.SIGINT, mock.ANY) + log_printer.run.assert_called_once_with() + project.stop.assert_called_once_with( + service_names=service_names, + timeout=timeout) From 9cb2770da4e7dbd05206194edde86ab06238b4dc Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 1 Sep 2015 18:56:40 -0400 Subject: [PATCH 074/221] Make external_links a regular service.option so that it's part of the config hash Signed-off-by: Daniel Nephin --- compose/service.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/compose/service.py b/compose/service.py index ab7d154e6..34a19a599 100644 --- a/compose/service.py +++ b/compose/service.py @@ -83,7 +83,16 @@ ConvergencePlan = namedtuple('ConvergencePlan', 'action containers') class Service(object): - def __init__(self, name, client=None, project='default', links=None, external_links=None, volumes_from=None, net=None, **options): + def __init__( + self, + name, + client=None, + project='default', + links=None, + volumes_from=None, + net=None, + **options + ): if not re.match('^%s+$' % VALID_NAME_CHARS, name): raise ConfigError('Invalid service name "%s" - only %s are allowed' % (name, VALID_NAME_CHARS)) if not re.match('^%s+$' % VALID_NAME_CHARS, project): @@ -97,7 +106,6 @@ class Service(object): self.client = client self.project = project self.links = links or [] - self.external_links = external_links or [] self.volumes_from = volumes_from or [] self.net = net or None self.options = options @@ -517,7 +525,7 @@ class Service(object): links.append((container.name, self.name)) links.append((container.name, container.name)) links.append((container.name, container.name_without_project)) - for external_link in self.external_links: + for external_link in self.options.get('external_links') or []: if ':' not in external_link: link_name = external_link else: From 8d4c724c2dd3c61f7db9a4e411833a8d516aa521 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 1 Sep 2015 19:21:22 -0400 Subject: [PATCH 075/221] Sort config keys Signed-off-by: Daniel Nephin --- compose/config.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compose/config.py b/compose/config.py index 365fc3c27..75391e9b8 100644 --- a/compose/config.py +++ b/compose/config.py @@ -12,9 +12,9 @@ from compose.cli.utils import find_candidates_in_parent_dirs DOCKER_CONFIG_KEYS = [ 'cap_add', 'cap_drop', + 'command', 'cpu_shares', 'cpuset', - 'command', 'detach', 'devices', 'dns', @@ -28,12 +28,12 @@ DOCKER_CONFIG_KEYS = [ 'image', 'labels', 'links', + 'log_driver', + 'log_opt', 'mac_address', 'mem_limit', 'memswap_limit', 'net', - 'log_driver', - 'log_opt', 'pid', 'ports', 'privileged', From cf2dbf55b897802f615079e2ae175194a3502d61 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 1 Sep 2015 19:54:49 -0400 Subject: [PATCH 076/221] Cleanup some project logic. Signed-off-by: Daniel Nephin --- compose/project.py | 46 ++++++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/compose/project.py b/compose/project.py index 6d86a4a87..7df79685a 100644 --- a/compose/project.py +++ b/compose/project.py @@ -81,8 +81,14 @@ class Project(object): volumes_from = project.get_volumes_from(service_dict) net = project.get_net(service_dict) - project.services.append(Service(client=client, project=name, links=links, net=net, - volumes_from=volumes_from, **service_dict)) + project.services.append( + Service( + client=client, + project=name, + links=links, + net=net, + volumes_from=volumes_from, + **service_dict)) return project @property @@ -172,26 +178,26 @@ class Project(object): return volumes_from def get_net(self, service_dict): - if 'net' in service_dict: - net_name = get_service_name_from_net(service_dict.get('net')) + net = service_dict.pop('net', None) + if not net: + return - if net_name: - try: - net = self.get_service(net_name) - except NoSuchService: - try: - net = Container.from_id(self.client, net_name) - except APIError: - raise ConfigurationError('Service "%s" is trying to use the network of "%s", which is not the name of a service or container.' % (service_dict['name'], net_name)) - else: - net = service_dict['net'] + net_name = get_service_name_from_net(net) + if not net_name: + return net - del service_dict['net'] - - else: - net = None - - return net + try: + return self.get_service(net_name) + except NoSuchService: + pass + try: + return Container.from_id(self.client, net_name) + except APIError: + raise ConfigurationError( + 'Service "%s" is trying to use the network of "%s", ' + 'which is not the name of a service or container.' % ( + service_dict['name'], + net_name)) def start(self, service_names=None, **options): for service in self.get_services(service_names): From d92f323e6dd1b9dd210793263d81bd372f82b60d Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 1 Sep 2015 19:40:15 -0400 Subject: [PATCH 077/221] Fixes #1757 - include all service properties in the config_dict() Signed-off-by: Daniel Nephin --- compose/service.py | 3 ++ tests/integration/state_test.py | 22 +++++++++ tests/unit/service_test.py | 88 +++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+) diff --git a/compose/service.py b/compose/service.py index 34a19a599..a567a54c9 100644 --- a/compose/service.py +++ b/compose/service.py @@ -477,6 +477,9 @@ class Service(object): return { 'options': self.options, 'image_id': self.image()['Id'], + 'links': [(service.name, alias) for service, alias in self.links], + 'net': self.get_net_name() or getattr(self.net, 'id', self.net), + 'volumes_from': self.get_volumes_from_names(), } def get_dependency_names(self): diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index b124b19ff..b25437617 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -1,3 +1,7 @@ +""" +Integration tests which cover state convergence (aka smart recreate) performed +by `docker-compose up`. +""" from __future__ import unicode_literals import tempfile import shutil @@ -151,6 +155,24 @@ class ProjectWithDependenciesTest(ProjectTestCase): self.assertEqual(new_containers - old_containers, set()) + def test_service_removed_while_down(self): + next_cfg = { + 'web': { + 'image': 'busybox:latest', + 'command': 'tail -f /dev/null', + }, + 'nginx': self.cfg['nginx'], + } + + containers = self.run_up(self.cfg) + self.assertEqual(len(containers), 3) + + project = self.make_project(self.cfg) + project.stop(timeout=1) + + containers = self.run_up(next_cfg) + self.assertEqual(len(containers), 2) + def converge(service, allow_recreate=True, diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 7e5266dd7..9979c8f12 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -221,6 +221,53 @@ class ServiceTest(unittest.TestCase): self.assertEqual(opts['hostname'], 'name.sub', 'hostname') self.assertEqual(opts['domainname'], 'domain.tld', 'domainname') + def test_get_container_create_options_with_name_option(self): + service = Service( + 'foo', + image='foo', + client=self.mock_client, + container_name='foo1') + name = 'the_new_name' + opts = service._get_container_create_options( + {'name': name}, + 1, + one_off=True) + self.assertEqual(opts['name'], name) + + def test_get_container_create_options_does_not_mutate_options(self): + labels = {'thing': 'real'} + environment = {'also': 'real'} + service = Service( + 'foo', + image='foo', + labels=dict(labels), + client=self.mock_client, + environment=dict(environment), + ) + self.mock_client.inspect_image.return_value = {'Id': 'abcd'} + prev_container = mock.Mock( + id='ababab', + image_config={'ContainerConfig': {}}) + + opts = service._get_container_create_options( + {}, + 1, + previous_container=prev_container) + + self.assertEqual(service.options['labels'], labels) + self.assertEqual(service.options['environment'], environment) + + self.assertEqual( + opts['labels'][LABEL_CONFIG_HASH], + '3c85881a8903b9d73a06c41860c8be08acce1494ab4cf8408375966dccd714de') + self.assertEqual( + opts['environment'], + { + 'affinity:container': '=ababab', + 'also': 'real', + } + ) + def test_get_container_not_found(self): self.mock_client.containers.return_value = [] service = Service('foo', client=self.mock_client, image='foo') @@ -340,6 +387,47 @@ class ServiceTest(unittest.TestCase): self.assertEqual(self.mock_client.build.call_count, 1) self.assertFalse(self.mock_client.build.call_args[1]['pull']) + def test_config_dict(self): + self.mock_client.inspect_image.return_value = {'Id': 'abcd'} + service = Service( + 'foo', + image='example.com/foo', + client=self.mock_client, + net=Service('other'), + links=[(Service('one'), 'one')], + volumes_from=[Service('two')]) + + config_dict = service.config_dict() + expected = { + 'image_id': 'abcd', + 'options': {'image': 'example.com/foo'}, + 'links': [('one', 'one')], + 'net': 'other', + 'volumes_from': ['two'], + } + self.assertEqual(config_dict, expected) + + def test_config_dict_with_net_from_container(self): + self.mock_client.inspect_image.return_value = {'Id': 'abcd'} + container = Container( + self.mock_client, + {'Id': 'aaabbb', 'Name': '/foo_1'}) + service = Service( + 'foo', + image='example.com/foo', + client=self.mock_client, + net=container) + + config_dict = service.config_dict() + expected = { + 'image_id': 'abcd', + 'options': {'image': 'example.com/foo'}, + 'links': [], + 'net': 'aaabbb', + 'volumes_from': [], + } + self.assertEqual(config_dict, expected) + def mock_get_image(images): if images: From 805f6a76835567cd6b66b45310c7049946ad2f3a Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 3 Sep 2015 13:02:46 -0400 Subject: [PATCH 078/221] Refactor network_mode logic out of Service. Signed-off-by: Daniel Nephin --- compose/project.py | 11 +++-- compose/service.py | 88 +++++++++++++++++++++++++------------- tests/unit/project_test.py | 6 +-- tests/unit/service_test.py | 79 +++++++++++++++++++++++++++------- 4 files changed, 133 insertions(+), 51 deletions(-) diff --git a/compose/project.py b/compose/project.py index 7df79685a..abc3132a2 100644 --- a/compose/project.py +++ b/compose/project.py @@ -9,7 +9,10 @@ from .config import get_service_name_from_net, ConfigurationError from .const import DEFAULT_TIMEOUT, LABEL_PROJECT, LABEL_SERVICE, LABEL_ONE_OFF from .container import Container from .legacy import check_for_legacy_containers +from .service import ContainerNet +from .service import Net from .service import Service +from .service import ServiceNet from .utils import parallel_execute log = logging.getLogger(__name__) @@ -180,18 +183,18 @@ class Project(object): def get_net(self, service_dict): net = service_dict.pop('net', None) if not net: - return + return Net(None) net_name = get_service_name_from_net(net) if not net_name: - return net + return Net(net) try: - return self.get_service(net_name) + return ServiceNet(self.get_service(net_name)) except NoSuchService: pass try: - return Container.from_id(self.client, net_name) + return ContainerNet(Container.from_id(self.client, net_name)) except APIError: raise ConfigurationError( 'Service "%s" is trying to use the network of "%s", ' diff --git a/compose/service.py b/compose/service.py index a567a54c9..25584fe2c 100644 --- a/compose/service.py +++ b/compose/service.py @@ -107,7 +107,7 @@ class Service(object): self.project = project self.links = links or [] self.volumes_from = volumes_from or [] - self.net = net or None + self.net = net or Net(None) self.options = options def containers(self, stopped=False, one_off=False): @@ -478,12 +478,12 @@ class Service(object): 'options': self.options, 'image_id': self.image()['Id'], 'links': [(service.name, alias) for service, alias in self.links], - 'net': self.get_net_name() or getattr(self.net, 'id', self.net), + 'net': self.net.id, 'volumes_from': self.get_volumes_from_names(), } def get_dependency_names(self): - net_name = self.get_net_name() + net_name = self.net.service_name return (self.get_linked_names() + self.get_volumes_from_names() + ([net_name] if net_name else [])) @@ -494,12 +494,6 @@ class Service(object): def get_volumes_from_names(self): return [s.name for s in self.volumes_from if isinstance(s, Service)] - def get_net_name(self): - if isinstance(self.net, Service): - return self.net.name - else: - return - def get_container_name(self, number, one_off=False): # TODO: Implement issue #652 here return build_container_name(self.project, self.name, number, one_off) @@ -551,25 +545,6 @@ class Service(object): return volumes_from - def _get_net(self): - if not self.net: - return None - - if isinstance(self.net, Service): - containers = self.net.containers() - if len(containers) > 0: - net = 'container:' + containers[0].id - else: - log.warning("Warning: Service %s is trying to use reuse the network stack " - "of another service that is not running." % (self.net.name)) - net = None - elif isinstance(self.net, Container): - net = 'container:' + self.net.id - else: - net = self.net - - return net - def _get_container_create_options( self, override_options, @@ -690,7 +665,7 @@ class Service(object): binds=options.get('binds'), volumes_from=self._get_volumes_from(), privileged=privileged, - network_mode=self._get_net(), + network_mode=self.net.mode, devices=devices, dns=dns, dns_search=dns_search, @@ -785,6 +760,61 @@ class Service(object): stream_output(output, sys.stdout) +class Net(object): + """A `standard` network mode (ex: host, bridge)""" + + service_name = None + + def __init__(self, net): + self.net = net + + @property + def id(self): + return self.net + + mode = id + + +class ContainerNet(object): + """A network mode that uses a containers network stack.""" + + service_name = None + + def __init__(self, container): + self.container = container + + @property + def id(self): + return self.container.id + + @property + def mode(self): + return 'container:' + self.container.id + + +class ServiceNet(object): + """A network mode that uses a service's network stack.""" + + def __init__(self, service): + self.service = service + + @property + def id(self): + return self.service.name + + service_name = id + + @property + def mode(self): + containers = self.service.containers() + if containers: + return 'container:' + containers[0].id + + log.warn("Warning: Service %s is trying to use reuse the network stack " + "of another service that is not running." % (self.id)) + return None + + # Names diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index 93bf12ff5..a66aaf5d2 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -220,7 +220,7 @@ class ProjectTest(unittest.TestCase): } ], self.mock_client) service = project.get_service('test') - self.assertEqual(service._get_net(), None) + self.assertEqual(service.net.id, None) self.assertNotIn('NetworkMode', service._get_container_host_config({})) def test_use_net_from_container(self): @@ -235,7 +235,7 @@ class ProjectTest(unittest.TestCase): } ], self.mock_client) service = project.get_service('test') - self.assertEqual(service._get_net(), 'container:' + container_id) + self.assertEqual(service.net.mode, 'container:' + container_id) def test_use_net_from_service(self): container_name = 'test_aaa_1' @@ -260,7 +260,7 @@ class ProjectTest(unittest.TestCase): ], self.mock_client) service = project.get_service('test') - self.assertEqual(service._get_net(), 'container:' + container_name) + self.assertEqual(service.net.mode, 'container:' + container_name) def test_container_without_name(self): self.mock_client.containers.return_value = [ diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 9979c8f12..6ed3d981a 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -7,21 +7,27 @@ import mock import docker from docker.utils import LogConfig -from compose.service import Service +from .. import mock +from .. import unittest +from compose.const import LABEL_CONFIG_HASH +from compose.const import LABEL_ONE_OFF +from compose.const import LABEL_PROJECT +from compose.const import LABEL_SERVICE from compose.container import Container -from compose.const import LABEL_SERVICE, LABEL_PROJECT, LABEL_ONE_OFF -from compose.service import ( - ConfigError, - NeedsBuildError, - NoSuchImageError, - build_port_bindings, - build_volume_binding, - get_container_data_volumes, - merge_volume_bindings, - parse_repository_tag, - parse_volume_spec, - split_port, -) +from compose.service import ConfigError +from compose.service import ContainerNet +from compose.service import NeedsBuildError +from compose.service import Net +from compose.service import NoSuchImageError +from compose.service import Service +from compose.service import ServiceNet +from compose.service import build_port_bindings +from compose.service import build_volume_binding +from compose.service import get_container_data_volumes +from compose.service import merge_volume_bindings +from compose.service import parse_repository_tag +from compose.service import parse_volume_spec +from compose.service import split_port class ServiceTest(unittest.TestCase): @@ -393,7 +399,7 @@ class ServiceTest(unittest.TestCase): 'foo', image='example.com/foo', client=self.mock_client, - net=Service('other'), + net=ServiceNet(Service('other')), links=[(Service('one'), 'one')], volumes_from=[Service('two')]) @@ -429,6 +435,49 @@ class ServiceTest(unittest.TestCase): self.assertEqual(config_dict, expected) +class NetTestCase(unittest.TestCase): + + def test_net(self): + net = Net('host') + self.assertEqual(net.id, 'host') + self.assertEqual(net.mode, 'host') + self.assertEqual(net.service_name, None) + + def test_net_container(self): + container_id = 'abcd' + net = ContainerNet(Container(None, {'Id': container_id})) + self.assertEqual(net.id, container_id) + self.assertEqual(net.mode, 'container:' + container_id) + self.assertEqual(net.service_name, None) + + def test_net_service(self): + container_id = 'bbbb' + service_name = 'web' + mock_client = mock.create_autospec(docker.Client) + mock_client.containers.return_value = [ + {'Id': container_id, 'Name': container_id, 'Image': 'abcd'}, + ] + + service = Service(name=service_name, client=mock_client) + net = ServiceNet(service) + + self.assertEqual(net.id, service_name) + self.assertEqual(net.mode, 'container:' + container_id) + self.assertEqual(net.service_name, service_name) + + def test_net_service_no_containers(self): + service_name = 'web' + mock_client = mock.create_autospec(docker.Client) + mock_client.containers.return_value = [] + + service = Service(name=service_name, client=mock_client) + net = ServiceNet(service) + + self.assertEqual(net.id, service_name) + self.assertEqual(net.mode, None) + self.assertEqual(net.service_name, service_name) + + def mock_get_image(images): if images: return images[0] From db31adc2085c4b1b219f9195aee3cdfb33fda600 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 3 Sep 2015 13:13:22 -0400 Subject: [PATCH 079/221] Extract link names into a function. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 2 +- compose/service.py | 13 ++++++++----- tests/integration/project_test.py | 4 ++-- tests/integration/service_test.py | 19 +++++++++---------- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 1fb62de69..d9bda2937 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -304,7 +304,7 @@ class TopLevelCommand(Command): log.warn(INSECURE_SSL_WARNING) if not options['--no-deps']: - deps = service.get_linked_names() + deps = service.get_linked_service_names() if len(deps) > 0: project.up( diff --git a/compose/service.py b/compose/service.py index 25584fe2c..1433260be 100644 --- a/compose/service.py +++ b/compose/service.py @@ -477,19 +477,22 @@ class Service(object): return { 'options': self.options, 'image_id': self.image()['Id'], - 'links': [(service.name, alias) for service, alias in self.links], + 'links': self.get_link_names(), 'net': self.net.id, 'volumes_from': self.get_volumes_from_names(), } def get_dependency_names(self): net_name = self.net.service_name - return (self.get_linked_names() + + return (self.get_linked_service_names() + self.get_volumes_from_names() + ([net_name] if net_name else [])) - def get_linked_names(self): - return [s.name for (s, _) in self.links] + def get_linked_service_names(self): + return [service.name for (service, _) in self.links] + + def get_link_names(self): + return [(service.name, alias) for service, alias in self.links] def get_volumes_from_names(self): return [s.name for s in self.volumes_from if isinstance(s, Service)] @@ -776,7 +779,7 @@ class Net(object): class ContainerNet(object): - """A network mode that uses a containers network stack.""" + """A network mode that uses a container's network stack.""" service_name = None diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 9788c1861..a0fbe3e1f 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -112,7 +112,7 @@ class ProjectTest(DockerClientTestCase): web = project.get_service('web') net = project.get_service('net') - self.assertEqual(web._get_net(), 'container:' + net.containers()[0].id) + self.assertEqual(web.net.mode, 'container:' + net.containers()[0].id) def test_net_from_container(self): net_container = Container.create( @@ -138,7 +138,7 @@ class ProjectTest(DockerClientTestCase): project.up() web = project.get_service('web') - self.assertEqual(web._get_net(), 'container:' + net_container.id) + self.assertEqual(web.net.mode, 'container:' + net_container.id) def test_start_stop_kill_remove(self): web = self.create_service('web') diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 70ca758a5..ec6428200 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -9,6 +9,7 @@ import tempfile import shutil from six import StringIO, text_type +from .testcases import DockerClientTestCase from compose import __version__ from compose.const import ( LABEL_CONTAINER_NUMBER, @@ -17,14 +18,12 @@ from compose.const import ( LABEL_SERVICE, LABEL_VERSION, ) -from compose.service import ( - ConfigError, - ConvergencePlan, - Service, - build_extra_hosts, -) from compose.container import Container -from .testcases import DockerClientTestCase +from compose.service import build_extra_hosts +from compose.service import ConfigError +from compose.service import ConvergencePlan +from compose.service import Net +from compose.service import Service def create_and_start_container(service, **override_options): @@ -743,17 +742,17 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(list(container.inspect()['HostConfig']['PortBindings'].keys()), ['8000/tcp']) def test_network_mode_none(self): - service = self.create_service('web', net='none') + service = self.create_service('web', net=Net('none')) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.NetworkMode'), 'none') def test_network_mode_bridged(self): - service = self.create_service('web', net='bridge') + service = self.create_service('web', net=Net('bridge')) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.NetworkMode'), 'bridge') def test_network_mode_host(self): - service = self.create_service('web', net='host') + service = self.create_service('web', net=Net('host')) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.NetworkMode'), 'host') From 7ff8c2b224768c89f4a45e359338ae48084a9145 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 27 Aug 2015 17:42:26 -0400 Subject: [PATCH 080/221] Resolves #1804 Fix mutation of service.options when a label or environment variable is specified in the config. Signed-off-by: Daniel Nephin --- compose/config.py | 2 +- compose/service.py | 20 +++++++++----------- tests/unit/service_test.py | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/compose/config.py b/compose/config.py index 75391e9b8..6bb0fea6a 100644 --- a/compose/config.py +++ b/compose/config.py @@ -382,7 +382,7 @@ def parse_environment(environment): return dict(split_env(e) for e in environment) if isinstance(environment, dict): - return environment + return dict(environment) raise ConfigurationError( "environment \"%s\" must be a list or mapping," % diff --git a/compose/service.py b/compose/service.py index 1433260be..fb859ab7a 100644 --- a/compose/service.py +++ b/compose/service.py @@ -554,7 +554,6 @@ class Service(object): number, one_off=False, previous_container=None): - add_config_hash = (not one_off and not override_options) container_options = dict( @@ -567,13 +566,6 @@ class Service(object): else: container_options['name'] = self.get_container_name(number, one_off) - if add_config_hash: - config_hash = self.config_hash() - if 'labels' not in container_options: - container_options['labels'] = {} - container_options['labels'][LABEL_CONFIG_HASH] = config_hash - log.debug("Added config hash: %s" % config_hash) - if 'detach' not in container_options: container_options['detach'] = True @@ -621,7 +613,8 @@ class Service(object): container_options['labels'] = build_container_labels( container_options.get('labels', {}), self.labels(one_off=one_off), - number) + number, + self.config_hash if add_config_hash else None) # Delete options which are only used when starting for key in DOCKER_START_KEYS: @@ -943,11 +936,16 @@ def split_port(port): # Labels -def build_container_labels(label_options, service_labels, number, one_off=False): - labels = label_options or {} +def build_container_labels(label_options, service_labels, number, config_hash): + labels = dict(label_options or {}) labels.update(label.split('=', 1) for label in service_labels) labels[LABEL_CONTAINER_NUMBER] = str(number) labels[LABEL_VERSION] = __version__ + + if config_hash: + log.debug("Added config hash: %s" % config_hash) + labels[LABEL_CONFIG_HASH] = config_hash + return labels diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 6ed3d981a..f407d73e9 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -274,6 +274,40 @@ class ServiceTest(unittest.TestCase): } ) + def test_get_container_create_options_does_not_mutate_options(self): + labels = {'thing': 'real'} + environment = {'also': 'real'} + service = Service( + 'foo', + image='foo', + labels=dict(labels), + client=self.mock_client, + environment=dict(environment), + ) + self.mock_client.inspect_image.return_value = {'Id': 'abcd'} + prev_container = mock.Mock( + id='ababab', + image_config={'ContainerConfig': {}}) + + opts = service._get_container_create_options( + {}, + 1, + previous_container=prev_container) + + self.assertEqual(service.options['labels'], labels) + self.assertEqual(service.options['environment'], environment) + + self.assertEqual( + opts['labels'][LABEL_CONFIG_HASH], + 'b30306d0a73b67f67a45b99b88d36c359e470e6fa0c04dda1cf62d2087205b81') + self.assertEqual( + opts['environment'], + { + 'affinity:container': '=ababab', + 'also': 'real', + } + ) + def test_get_container_not_found(self): self.mock_client.containers.return_value = [] service = Service('foo', client=self.mock_client, image='foo') From 2b75741e5a03548d3b34aae7b158da730a5a1e36 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 10 Sep 2015 19:00:44 -0400 Subject: [PATCH 081/221] Fix cherry-pick errors. Signed-off-by: Daniel Nephin --- compose/service.py | 2 +- tests/__init__.py | 2 ++ tests/unit/config_test.py | 4 +-- tests/unit/service_test.py | 59 ++++---------------------------------- 4 files changed, 10 insertions(+), 57 deletions(-) diff --git a/compose/service.py b/compose/service.py index fb859ab7a..b3c68735c 100644 --- a/compose/service.py +++ b/compose/service.py @@ -614,7 +614,7 @@ class Service(object): container_options.get('labels', {}), self.labels(one_off=one_off), number, - self.config_hash if add_config_hash else None) + self.config_hash() if add_config_hash else None) # Delete options which are only used when starting for key in DOCKER_START_KEYS: diff --git a/tests/__init__.py b/tests/__init__.py index 08a7865e9..c7a1bd4a0 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,5 +1,7 @@ import sys +import mock # noqa + if sys.version_info >= (2, 7): import unittest # NOQA else: diff --git a/tests/unit/config_test.py b/tests/unit/config_test.py index c523798f2..cefb1a20f 100644 --- a/tests/unit/config_test.py +++ b/tests/unit/config_test.py @@ -512,7 +512,7 @@ class ExtendsTest(unittest.TestCase): We specify a 'file' key that is the filename we're already in. """ service_dicts = load_from_filename('tests/fixtures/extends/specify-file-as-self.yml') - self.assertEqual(service_dicts, [ + self.assertEqual(sorted(service_dicts), sorted([ { 'environment': { @@ -532,7 +532,7 @@ class ExtendsTest(unittest.TestCase): 'image': 'busybox', 'name': 'web' } - ]) + ])) def test_circular(self): try: diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index f407d73e9..263c9b329 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -7,8 +7,6 @@ import mock import docker from docker.utils import LogConfig -from .. import mock -from .. import unittest from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_ONE_OFF from compose.const import LABEL_PROJECT @@ -227,19 +225,6 @@ class ServiceTest(unittest.TestCase): self.assertEqual(opts['hostname'], 'name.sub', 'hostname') self.assertEqual(opts['domainname'], 'domain.tld', 'domainname') - def test_get_container_create_options_with_name_option(self): - service = Service( - 'foo', - image='foo', - client=self.mock_client, - container_name='foo1') - name = 'the_new_name' - opts = service._get_container_create_options( - {'name': name}, - 1, - one_off=True) - self.assertEqual(opts['name'], name) - def test_get_container_create_options_does_not_mutate_options(self): labels = {'thing': 'real'} environment = {'also': 'real'} @@ -274,40 +259,6 @@ class ServiceTest(unittest.TestCase): } ) - def test_get_container_create_options_does_not_mutate_options(self): - labels = {'thing': 'real'} - environment = {'also': 'real'} - service = Service( - 'foo', - image='foo', - labels=dict(labels), - client=self.mock_client, - environment=dict(environment), - ) - self.mock_client.inspect_image.return_value = {'Id': 'abcd'} - prev_container = mock.Mock( - id='ababab', - image_config={'ContainerConfig': {}}) - - opts = service._get_container_create_options( - {}, - 1, - previous_container=prev_container) - - self.assertEqual(service.options['labels'], labels) - self.assertEqual(service.options['environment'], environment) - - self.assertEqual( - opts['labels'][LABEL_CONFIG_HASH], - 'b30306d0a73b67f67a45b99b88d36c359e470e6fa0c04dda1cf62d2087205b81') - self.assertEqual( - opts['environment'], - { - 'affinity:container': '=ababab', - 'also': 'real', - } - ) - def test_get_container_not_found(self): self.mock_client.containers.return_value = [] service = Service('foo', client=self.mock_client, image='foo') @@ -433,9 +384,9 @@ class ServiceTest(unittest.TestCase): 'foo', image='example.com/foo', client=self.mock_client, - net=ServiceNet(Service('other')), - links=[(Service('one'), 'one')], - volumes_from=[Service('two')]) + net=ServiceNet(Service('other', image='foo')), + links=[(Service('one', image='foo'), 'one')], + volumes_from=[Service('two', image='foo')]) config_dict = service.config_dict() expected = { @@ -492,7 +443,7 @@ class NetTestCase(unittest.TestCase): {'Id': container_id, 'Name': container_id, 'Image': 'abcd'}, ] - service = Service(name=service_name, client=mock_client) + service = Service(name=service_name, client=mock_client, image='foo') net = ServiceNet(service) self.assertEqual(net.id, service_name) @@ -504,7 +455,7 @@ class NetTestCase(unittest.TestCase): mock_client = mock.create_autospec(docker.Client) mock_client.containers.return_value = [] - service = Service(name=service_name, client=mock_client) + service = Service(name=service_name, client=mock_client, image='foo') net = ServiceNet(service) self.assertEqual(net.id, service_name) From b24ca75914811af016e2b7fca6b33f4b8e5cda8a Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 10 Sep 2015 17:49:48 -0400 Subject: [PATCH 082/221] Bump 1.4.1 Signed-off-by: Daniel Nephin --- CHANGES.md | 16 ++++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 88e725da6..ad29512aa 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,22 @@ Change log ========== +1.4.1 (2015-09-10) +------------------ + +The following bugs have been fixed: + +- Some configuration changes (notably changes to `links`, `volumes_from`, and + `net`) were not properly triggering a container recreate as part of + `docker-compose up`. +- `docker-compose up ` was showing logs for all services instead of + just the specified services. +- Containers with custom container names were showing up in logs as + `service_number` instead of their custom container name. +- When scaling a service sometimes containers would be recreated even when + the configuration had not changed. + + 1.4.0 (2015-08-04) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 04a072d5a..8d684354d 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.4.0' +__version__ = '1.4.1' diff --git a/docs/install.md b/docs/install.md index fa3679192..3daf4d944 100644 --- a/docs/install.md +++ b/docs/install.md @@ -53,7 +53,7 @@ To install Compose, do the following: 6. Test the installation. $ docker-compose --version - docker-compose version: 1.4.0 + docker-compose version: 1.4.1 ## Upgrading From ac75d35927ad3d2eccfea36977f152890d4b5fc3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 2 Sep 2015 16:08:18 -0400 Subject: [PATCH 083/221] Fix #1961 - docker-compose up should attach to all containers with no service names are specified, and add tests. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 5 ++++- tests/integration/cli_test.py | 29 ++++++++++++++++++++++++----- tests/unit/cli/main_test.py | 10 ++++++++++ 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index d9bda2937..3504c2416 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -541,8 +541,11 @@ class TopLevelCommand(Command): def build_log_printer(containers, service_names, monochrome): + if service_names: + containers = [c for c in containers if c.service in service_names] + return LogPrinter( - [c for c in containers if c.service in service_names], + containers, attach_params={"logs": True}, monochrome=monochrome) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index f3b3b9f5f..c54a85bb2 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -4,6 +4,7 @@ import sys import os import shlex +import mock from six import StringIO from mock import patch @@ -104,7 +105,7 @@ class CLITestCase(DockerClientTestCase): output = mock_stdout.getvalue() self.assertNotIn(cache_indicator, output) - def test_up(self): + def test_up_detached(self): self.command.dispatch(['up', '-d'], None) service = self.project.get_service('simple') another = self.project.get_service('another') @@ -112,10 +113,28 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(another.containers()), 1) # Ensure containers don't have stdin and stdout connected in -d mode - config = service.containers()[0].inspect()['Config'] - self.assertFalse(config['AttachStderr']) - self.assertFalse(config['AttachStdout']) - self.assertFalse(config['AttachStdin']) + container, = service.containers() + self.assertFalse(container.get('Config.AttachStderr')) + self.assertFalse(container.get('Config.AttachStdout')) + self.assertFalse(container.get('Config.AttachStdin')) + + def test_up_attached(self): + with mock.patch( + 'compose.cli.main.attach_to_logs', + autospec=True + ) as mock_attach: + self.command.dispatch(['up'], None) + _, args, kwargs = mock_attach.mock_calls[0] + _project, log_printer, _names, _timeout = args + + service = self.project.get_service('simple') + another = self.project.get_service('another') + self.assertEqual(len(service.containers()), 1) + self.assertEqual(len(another.containers()), 1) + self.assertEqual( + set(log_printer.containers), + set(self.project.containers()) + ) def test_up_with_links(self): self.command.base_dir = 'tests/fixtures/links-composefile' diff --git a/tests/unit/cli/main_test.py b/tests/unit/cli/main_test.py index 817e8f49b..e3a4629e5 100644 --- a/tests/unit/cli/main_test.py +++ b/tests/unit/cli/main_test.py @@ -31,6 +31,16 @@ class CLIMainTestCase(unittest.TestCase): log_printer = build_log_printer(containers, service_names, True) self.assertEqual(log_printer.containers, containers[:3]) + def test_build_log_printer_all_services(self): + containers = [ + mock_container('web', 1), + mock_container('db', 1), + mock_container('other', 1), + ] + service_names = [] + log_printer = build_log_printer(containers, service_names, True) + self.assertEqual(log_printer.containers, containers) + def test_attach_to_logs(self): project = mock.create_autospec(Project) log_printer = mock.create_autospec(LogPrinter, containers=[]) From d01f712376f5ac6d41284fbf158ecb914fba5232 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 22 Sep 2015 12:24:56 -0400 Subject: [PATCH 084/221] Fix a test case that assumes busybox image id. Signed-off-by: Daniel Nephin --- tests/integration/service_test.py | 7 +++++-- tests/integration/testcases.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index ec6428200..aec2caf1d 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -10,6 +10,7 @@ import shutil from six import StringIO, text_type from .testcases import DockerClientTestCase +from .testcases import pull_busybox from compose import __version__ from compose.const import ( LABEL_CONTAINER_NUMBER, @@ -577,8 +578,10 @@ class ServiceTest(DockerClientTestCase): }) def test_create_with_image_id(self): - # Image id for the current busybox:latest - service = self.create_service('foo', image='8c2e06607696') + # Get image id for the current busybox:latest + pull_busybox(self.client) + image_id = self.client.inspect_image('busybox:latest')['Id'][:12] + service = self.create_service('foo', image=image_id) service.create_container() def test_scale(self): diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 2a7c0a440..41b50a815 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -1,5 +1,8 @@ from __future__ import unicode_literals from __future__ import absolute_import + +from docker import errors + from compose.service import Service from compose.config import ServiceLoader from compose.const import LABEL_PROJECT @@ -8,6 +11,13 @@ from compose.progress_stream import stream_output from .. import unittest +def pull_busybox(client): + try: + client.inspect_image('busybox:latest') + except errors.APIError: + client.pull('busybox:latest', stream=False) + + class DockerClientTestCase(unittest.TestCase): @classmethod def setUpClass(cls): From 7b5d5fcd58c871385613be4fc0dc371e62132858 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 22 Sep 2015 10:31:42 -0400 Subject: [PATCH 085/221] Bump 1.4.2 Signed-off-by: Daniel Nephin --- CHANGES.md | 7 +++++++ compose/__init__.py | 2 +- docs/install.md | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index ad29512aa..0353edc65 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,13 @@ Change log ========== +1.4.2 (2015-09-22) +------------------ + +Fixes a regression in the 1.4.1 release that would cause `docker-compose up` +without the `-d` option to exit immediately. + + 1.4.1 (2015-09-10) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 8d684354d..af2bdbf24 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.4.1' +__version__ = '1.4.2' diff --git a/docs/install.md b/docs/install.md index 3daf4d944..b74f8f620 100644 --- a/docs/install.md +++ b/docs/install.md @@ -53,7 +53,7 @@ To install Compose, do the following: 6. Test the installation. $ docker-compose --version - docker-compose version: 1.4.1 + docker-compose version: 1.4.2 ## Upgrading From 709bd9c363c1f48138ab671b9505569057b5e04b Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 14 Oct 2015 12:37:43 -0400 Subject: [PATCH 086/221] Bump 1.5.0rc1 Signed-off-by: Daniel Nephin --- CHANGELOG.md | 48 +++++++++++++++++++++++++++++++++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 4 ++-- script/run.sh | 2 +- 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 598f5e579..730cd30ef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,54 @@ Change log ========== +1.5.0 (2015-10-13) +------------------ + +Major Features + +- Compose is now available on windows. +- Environment variable can be used in the compose file. See + https://github.com/docker/compose/blob/129092b7/docs/yml.md#variable-substitution +- Multiple compose files can be specified, allowing you to override + setting in the default compose file. See + https://github.com/docker/compose/blob/129092b7/docs/reference/docker-compose.md + for more details. +- Configuration validation is now a lot more strict +- `up` now waits for all services to exit before shutting down +- Support for the new docker networking can be enabled with + the `--x-networking` flag + +New Features + +- `volumes_from` now supports a mode option allowing for read-only + `volumes_from` +- Volumes that don't start with a path indicator (`.` or `/`) will now be + treated as a named volume. Previously this was a warning. +- `--pull` flag added to `build` +- `--ignore-pull-failures` flag added to `pull` +- Support for the `ipc` field added to the compose file +- Containers created by `run` can now be named with the `--name` flag +- If you install Compose with pip or use it as a library, it now + works with Python 3 +- `image` field now supports image digests (in addition to ids and tags) +- `ports` now supports ranges of ports +- `--publish` flag added to `run` +- New subcommands `pause` and `unpause` +- services may be extended from the same file without a `file` key in + `extends` +- Compose can be installed and run as a docker image. This is an experimental + feature. + + +Bug Fixes + +- Support all `log_drivers` +- Fixed `build` when running against swarm +- `~` is no longer expanded on the host when included as part of a container + volume path + + + 1.4.2 (2015-09-22) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index e3ace9835..06897c844 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.0dev' +__version__ = '1.5.0rc1' diff --git a/docs/install.md b/docs/install.md index 2d4d6cadb..31b2ccad4 100644 --- a/docs/install.md +++ b/docs/install.md @@ -53,7 +53,7 @@ To install Compose, do the following: 7. Test the installation. $ docker-compose --version - docker-compose version: 1.4.2 + docker-compose version: 1.5.0rc1 ## Alternative install options @@ -75,7 +75,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc1/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index cf46c143c..68ee4faa5 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.0" +VERSION="1.5.0rc1" IMAGE="docker/compose:$VERSION" From 49ca23c0347a99670a156b8cf1d1f9647d664814 Mon Sep 17 00:00:00 2001 From: Tim Butler Date: Thu, 15 Oct 2015 17:09:57 +1000 Subject: [PATCH 087/221] Fix link to Release Process doc in README.md Signed-off-by: Tim Butler --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3c776a71c..d779d607c 100644 --- a/README.md +++ b/README.md @@ -56,4 +56,4 @@ Want to help build Compose? Check out our [contributing documentation](https://g Releasing --------- -Releases are built by maintainers, following an outline of the [release process](https://github.com/docker/compose/blob/master/RELEASE_PROCESS.md). +Releases are built by maintainers, following an outline of the [release process](https://github.com/docker/compose/blob/master/project/RELEASE-PROCESS.md). From 6571e079b9e7f1a67679c2cdc6322657f5030378 Mon Sep 17 00:00:00 2001 From: Per Persson Date: Thu, 15 Oct 2015 15:13:27 +0200 Subject: [PATCH 088/221] Remove incorrectly placed comment I'm not sure if it should be there at all, but at least it should hardly be where it currently is located. Signed-off-by: Per Persson --- docs/compose-file.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index 67322335a..90730fecd 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -48,8 +48,6 @@ See `man 7 capabilities` for a full list. - NET_ADMIN - SYS_ADMIN -Using `dockerfile` together with `image` is not allowed. Attempting to do so results in an error. - ### command Override the default command. @@ -106,6 +104,8 @@ Compose will use an alternate file to build with. dockerfile: Dockerfile-alternate +Using `dockerfile` together with `image` is not allowed. Attempting to do so results in an error. + ### env_file Add environment variables from a file. Can be a single value or a list. From 558098d322131e100db52382b7826d02882efc4f Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 14 Oct 2015 15:14:04 -0400 Subject: [PATCH 089/221] Add a script to generate contributor list. Signed-off-by: Daniel Nephin --- project/RELEASE-PROCESS.md | 11 +++++++---- script/release/contributors | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 4 deletions(-) create mode 100755 script/release/contributors diff --git a/project/RELEASE-PROCESS.md b/project/RELEASE-PROCESS.md index 85bbaf295..a7fea69ed 100644 --- a/project/RELEASE-PROCESS.md +++ b/project/RELEASE-PROCESS.md @@ -82,17 +82,20 @@ When prompted build the non-linux binaries and test them. 5. Attach the binaries and `script/run.sh` -6. If everything looks good, it's time to push the release. +6. Add "Thanks" with a list of contributors. The contributor list can be generated + by running `./script/release/contributors`. + +7. If everything looks good, it's time to push the release. ./script/release/push-release -7. Publish the release on GitHub. +8. Publish the release on GitHub. -8. Check that both binaries download (following the install instructions) and run. +9. Check that both binaries download (following the install instructions) and run. -9. Email maintainers@dockerproject.org and engineering@docker.com about the new release. +10. Email maintainers@dockerproject.org and engineering@docker.com about the new release. ## If it’s a stable release (not an RC) diff --git a/script/release/contributors b/script/release/contributors new file mode 100755 index 000000000..bb9fe871c --- /dev/null +++ b/script/release/contributors @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + + +function usage() { + >&2 cat << EOM +Print the list of github contributors for the release + +Usage: + + $0 +EOM + exit 1 +} + +[[ -n "$1" ]] || usage +PREV_RELEASE=$1 +VERSION=HEAD +URL="https://api.github.com/repos/docker/compose/compare" + +curl -sf "$URL/$PREV_RELEASE...$VERSION" | \ + jq -r '.commits[].author.login' | \ + sort | \ + uniq -c | \ + sort -nr | \ + awk '{print "@"$2","}' | \ + xargs echo From b2f9c182f3029b087aee3f027f80254eea9ca284 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 14 Oct 2015 15:16:58 -0400 Subject: [PATCH 090/221] Fix some release docs. Signed-off-by: Daniel Nephin --- project/RELEASE-PROCESS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/project/RELEASE-PROCESS.md b/project/RELEASE-PROCESS.md index a7fea69ed..ffa18077f 100644 --- a/project/RELEASE-PROCESS.md +++ b/project/RELEASE-PROCESS.md @@ -54,7 +54,7 @@ When prompted build the non-linux binaries and test them. 2. Download the windows binary from AppVeyor - https://ci.appveyor.com/project/docker/compose/build//artifacts + https://ci.appveyor.com/project/docker/compose 3. Draft a release from the tag on GitHub (the script will open the window for you) @@ -93,7 +93,7 @@ When prompted build the non-linux binaries and test them. 8. Publish the release on GitHub. -9. Check that both binaries download (following the install instructions) and run. +9. Check that all the binaries download (following the install instructions) and run. 10. Email maintainers@dockerproject.org and engineering@docker.com about the new release. From 284cda087e822fac205396aaacd135eb30ea60c3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 14 Oct 2015 15:20:57 -0400 Subject: [PATCH 091/221] Add missing merge for release branch. Signed-off-by: Daniel Nephin --- script/release/make-branch | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/release/make-branch b/script/release/make-branch index dde1fb65d..e2eae4d5f 100755 --- a/script/release/make-branch +++ b/script/release/make-branch @@ -39,7 +39,7 @@ fi DEFAULT_REMOTE=release REMOTE="$(find_remote "$GITHUB_REPO")" -# If we don't have a docker origin add one +# If we don't have a docker remote add one if [ -z "$REMOTE" ]; then echo "Creating $DEFAULT_REMOTE remote" git remote add ${DEFAULT_REMOTE} ${GITHUB_REPO} @@ -55,6 +55,8 @@ read -n1 -r -p "Continue? (ctrl+c to cancel)" git fetch $REMOTE -p git checkout -b $BRANCH $BASE_VERSION +echo "Merging remote release branch into new release branch" +git merge --strategy=ours --no-edit $REMOTE/release # Store the release version for this branch in git, so that other release # scripts can use it From 883f251e7d3f26e3fc5cc8658edde3fdbe6c97a1 Mon Sep 17 00:00:00 2001 From: Karol Duleba Date: Wed, 14 Oct 2015 19:06:05 +0100 Subject: [PATCH 092/221] Docs for shorthand notation of extends. Issue #1989 Signed-off-by: Karol Duleba --- docs/extends.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/extends.md b/docs/extends.md index d88ce61c5..f0b9e9ea2 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -59,6 +59,10 @@ You can go further and define (or re-define) configuration locally in - DEBUG=1 cpu_shares: 5 + important_web: + extends: web + cpu_shares: 10 + You can also write other services and link your `web` service to them: web: @@ -233,7 +237,8 @@ manually keep both environments in sync. ### Reference You can use `extends` on any service together with other configuration keys. It -always expects a dictionary that should always contain the key: `service` and optionally the `file` key. +expects a dictionary that contains a `service` key and optionally a `file` key. +The `extends` key can also take a string, whose value is the name of a `service` defined in the same file. The `file` key specifies the location of a Compose configuration file defining the extension. The `file` value can be an absolute or relative path. If you From 46de4411a7a4591874cfc41241e9393cc4826ea0 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Fri, 16 Oct 2015 11:58:27 +0530 Subject: [PATCH 093/221] Revert networking-related changes to getting started guides Signed-off-by: Aanand Prasad --- docs/django.md | 7 +++++-- docs/rails.md | 4 +++- docs/wordpress.md | 2 ++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/django.md b/docs/django.md index 2ebf4b4b9..c7ebf58bf 100644 --- a/docs/django.md +++ b/docs/django.md @@ -64,8 +64,9 @@ and a `docker-compose.yml` file. The `docker-compose.yml` file describes the services that make your app. In this example those services are a web server and database. The compose file - also describes which Docker images these services use, any volumes they might - need mounted inside the containers, and any ports they might + also describes which Docker images these services use, how they link + together, any volumes they might need mounted inside the containers. + Finally, the `docker-compose.yml` file describes which ports these services expose. See the [`docker-compose.yml` reference](yml.md) for more information on how this file works. @@ -80,6 +81,8 @@ and a `docker-compose.yml` file. - .:/code ports: - "8000:8000" + links: + - db This file defines two services: The `db` service and the `web` service. diff --git a/docs/rails.md b/docs/rails.md index 9801ef741..a33cac26e 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -37,7 +37,7 @@ Next, create a bootstrap `Gemfile` which just loads Rails. It'll be overwritten source 'https://rubygems.org' gem 'rails', '4.2.0' -Finally, `docker-compose.yml` is where the magic happens. This file describes the services that comprise your app (a database and a web app), how to get each one's Docker image (the database just runs on a pre-made PostgreSQL image, and the web app is built from the current directory), and the configuration needed to expose the web app's port. +Finally, `docker-compose.yml` is where the magic happens. This file describes the services that comprise your app (a database and a web app), how to get each one's Docker image (the database just runs on a pre-made PostgreSQL image, and the web app is built from the current directory), and the configuration needed to link them together and expose the web app's port. db: image: postgres @@ -48,6 +48,8 @@ Finally, `docker-compose.yml` is where the magic happens. This file describes th - .:/myapp ports: - "3000:3000" + links: + - db ### Build the project diff --git a/docs/wordpress.md b/docs/wordpress.md index 5c9bcdbd9..8c1f5b0ac 100644 --- a/docs/wordpress.md +++ b/docs/wordpress.md @@ -46,6 +46,8 @@ and a separate MySQL instance: command: php -S 0.0.0.0:8000 -t /code ports: - "8000:8000" + links: + - db volumes: - .:/code db: From 6048630a1194d439a698050aa423fb774bf7773c Mon Sep 17 00:00:00 2001 From: Cameron Eagans Date: Thu, 15 Oct 2015 16:58:27 -0600 Subject: [PATCH 094/221] docker-compose pull SERVICE should not pull SERVICE's dependencies Signed-off-by: Cameron Eagans --- compose/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/project.py b/compose/project.py index 0e20a4cee..fdd70caf1 100644 --- a/compose/project.py +++ b/compose/project.py @@ -335,7 +335,7 @@ class Project(object): return plans def pull(self, service_names=None, ignore_pull_failures=False): - for service in self.get_services(service_names, include_deps=True): + for service in self.get_services(service_names, include_deps=False): service.pull(ignore_pull_failures) def containers(self, service_names=None, stopped=False, one_off=False): From 49b98fa111bcea0086c35d91d0e42389139906a6 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Fri, 16 Oct 2015 12:57:54 +0100 Subject: [PATCH 095/221] Attempt to document escaping env vars People are likely to run into their env vars being set to empty strings, if they're not aware that they need to escape them for Compose to not interpolate them. Signed-off-by: Mazz Mosley --- docs/compose-file.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index 90730fecd..b72a7cc43 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -428,9 +428,18 @@ Both `$VARIABLE` and `${VARIABLE}` syntax are supported. Extended shell-style features, such as `${VARIABLE-default}` and `${VARIABLE/foo/bar}`, are not supported. -If you need to put a literal dollar sign in a configuration value, use a double -dollar sign (`$$`). +You can use a `$$` (double-dollar sign) when your configuration needs a literal +dollar sign. This also prevents Compose from interpolating a value, so a `$$` +allows you to refer to environment variables that you don't want processed by +Compose. + web: + build: . + command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE" + +If you forget and use a single dollar sign (`$`), Compose interprets the value as an environment variable and will warn you: + + The VAR_NOT_INTERPOLATED_BY_COMPOSE is not set. Substituting an empty string. ## Compose documentation From 6f45eb795976c6a4a8b7014b250ecc583b121d40 Mon Sep 17 00:00:00 2001 From: Harald Albers Date: Sat, 17 Oct 2015 09:26:32 -0700 Subject: [PATCH 096/221] bash completion for networking options Signed-off-by: Harald Albers --- contrib/completion/bash/docker-compose | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/contrib/completion/bash/docker-compose b/contrib/completion/bash/docker-compose index e64b24a00..0eed1f18b 100644 --- a/contrib/completion/bash/docker-compose +++ b/contrib/completion/bash/docker-compose @@ -105,11 +105,15 @@ _docker_compose_docker_compose() { --project-name|-p) return ;; + --x-network-driver) + COMPREPLY=( $( compgen -W "bridge host none overlay" -- "$cur" ) ) + return + ;; esac case "$cur" in -*) - COMPREPLY=( $( compgen -W "--help -h --verbose --version -v --file -f --project-name -p" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--file -f --help -h --project-name -p --verbose --version -v --x-networking --x-network-driver" -- "$cur" ) ) ;; *) COMPREPLY=( $( compgen -W "${commands[*]}" -- "$cur" ) ) @@ -410,6 +414,9 @@ _docker_compose() { (( counter++ )) compose_project="${words[$counter]}" ;; + --x-network-driver) + (( counter++ )) + ;; -*) ;; *) From 20d34c8b14113eb430c0d350c23f0088b6cd8047 Mon Sep 17 00:00:00 2001 From: Steve Durrheimer Date: Thu, 15 Oct 2015 23:02:40 +0200 Subject: [PATCH 097/221] Add zsh completion for 'docker-compose --x-networking --x-network-driver' Signed-off-by: Steve Durrheimer --- contrib/completion/zsh/_docker-compose | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contrib/completion/zsh/_docker-compose b/contrib/completion/zsh/_docker-compose index cefcb109e..d79b25d16 100644 --- a/contrib/completion/zsh/_docker-compose +++ b/contrib/completion/zsh/_docker-compose @@ -330,6 +330,8 @@ _docker-compose() { '(- :)'{-v,--version}'[Print version and exit]' \ '(-f --file)'{-f,--file}'[Specify an alternate docker-compose file (default: docker-compose.yml)]:file:_files -g "*.yml"' \ '(-p --project-name)'{-p,--project-name}'[Specify an alternate project name (default: directory name)]:project name:' \ + '--x-networking[(EXPERIMENTAL) Use new Docker networking functionality. Requires Docker 1.9 or later.]' \ + '--x-network-driver[(EXPERIMENTAL) Specify a network driver (default: "bridge"). Requires Docker 1.9 or later.]:Network Driver:(bridge host none overlay)' \ '(-): :->command' \ '(-)*:: :->option-or-argument' && ret=0 From 514f0650b2a857d6516d6ceb69aba6335d5618f2 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 16 Oct 2015 14:47:04 -0400 Subject: [PATCH 098/221] Give the user a better error message (without a stack trace) when there is a yaml error. Signed-off-by: Daniel Nephin --- compose/config/config.py | 5 +++-- tests/unit/config/config_test.py | 13 +++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 3bcd769ad..59b98f609 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -610,5 +610,6 @@ def load_yaml(filename): try: with open(filename, 'r') as fh: return yaml.safe_load(fh) - except IOError as e: - raise ConfigurationError(six.text_type(e)) + except (IOError, yaml.YAMLError) as e: + error_name = getattr(e, '__module__', '') + '.' + e.__class__.__name__ + raise ConfigurationError(u"{}: {}".format(error_name, e)) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 20ae7fa30..b4bd9c712 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -5,6 +5,7 @@ import shutil import tempfile from operator import itemgetter +import py import pytest from compose.config import config @@ -349,6 +350,18 @@ class ConfigTest(unittest.TestCase): ) ) + def test_load_yaml_with_yaml_error(self): + tmpdir = py.test.ensuretemp('invalid_yaml_test') + invalid_yaml_file = tmpdir.join('docker-compose.yml') + invalid_yaml_file.write(""" + web: + this is bogus: ok: what + """) + with pytest.raises(ConfigurationError) as exc: + config.load_yaml(str(invalid_yaml_file)) + + assert 'line 3, column 32' in exc.exconly() + class InterpolationTest(unittest.TestCase): @mock.patch.dict(os.environ) From 24d4a1045a6317a612f856af3cc99e1b301eae49 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 16 Oct 2015 15:45:56 -0400 Subject: [PATCH 099/221] Fixes #2203 - properly validate files when multiple files are used. Remove the single-use decorators so the functionality can be used directly as a function. Signed-off-by: Daniel Nephin --- compose/config/config.py | 22 +++++++------------- compose/config/validation.py | 35 +++++++++++++------------------- tests/unit/config/config_test.py | 22 ++++++++++++++++++++ 3 files changed, 43 insertions(+), 36 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 59b98f609..05e572585 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -14,7 +14,6 @@ from .validation import validate_against_fields_schema from .validation import validate_against_service_schema from .validation import validate_extended_service_exists from .validation import validate_extends_file_path -from .validation import validate_service_names from .validation import validate_top_level_object @@ -165,16 +164,6 @@ def find_candidates_in_parent_dirs(filenames, path): return (candidates, path) -@validate_top_level_object -@validate_service_names -def pre_process_config(config): - """ - Pre validation checks and processing of the config file to interpolate env - vars returning a config dict ready to be tested against the schema. - """ - return interpolate_environment_variables(config) - - def load(config_details): """Load the configuration from a working directory and a list of configuration files. Files are loaded in order, and merged on top @@ -194,7 +183,7 @@ def load(config_details): return service_dict def load_file(filename, config): - processed_config = pre_process_config(config) + processed_config = interpolate_environment_variables(config) validate_against_fields_schema(processed_config) return [ build_service(filename, name, service_config) @@ -209,7 +198,10 @@ def load(config_details): } config_file = config_details.config_files[0] + validate_top_level_object(config_file.config) for next_file in config_details.config_files[1:]: + validate_top_level_object(next_file.config) + config_file = ConfigFile( config_file.filename, merge_services(config_file.config, next_file.config)) @@ -283,9 +275,9 @@ class ServiceLoader(object): ) self.extended_service_name = extends['service'] - full_extended_config = pre_process_config( - load_yaml(self.extended_config_path) - ) + config = load_yaml(self.extended_config_path) + validate_top_level_object(config) + full_extended_config = interpolate_environment_variables(config) validate_extended_service_exists( self.extended_service_name, diff --git a/compose/config/validation.py b/compose/config/validation.py index 46b891b71..aea722864 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -2,7 +2,6 @@ import json import logging import os import sys -from functools import wraps import six from docker.utils.ports import split_port @@ -65,27 +64,21 @@ def format_boolean_in_environment(instance): return True -def validate_service_names(func): - @wraps(func) - def func_wrapper(config): - for service_name in config.keys(): - if type(service_name) is int: - raise ConfigurationError( - "Service name: {} needs to be a string, eg '{}'".format(service_name, service_name) - ) - return func(config) - return func_wrapper - - -def validate_top_level_object(func): - @wraps(func) - def func_wrapper(config): - if not isinstance(config, dict): +def validate_service_names(config): + for service_name in config.keys(): + if not isinstance(service_name, six.string_types): raise ConfigurationError( - "Top level object needs to be a dictionary. Check your .yml file that you have defined a service at the top level." - ) - return func(config) - return func_wrapper + "Service name: {} needs to be a string, eg '{}'".format( + service_name, + service_name)) + + +def validate_top_level_object(config): + if not isinstance(config, dict): + raise ConfigurationError( + "Top level object needs to be a dictionary. Check your .yml file " + "that you have defined a service at the top level.") + validate_service_names(config) def validate_extends_file_path(service_name, extends_options, filename): diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index b4bd9c712..e8caea814 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -134,6 +134,28 @@ class ConfigTest(unittest.TestCase): ] self.assertEqual(service_sort(service_dicts), service_sort(expected)) + def test_load_with_multiple_files_and_empty_override(self): + base_file = config.ConfigFile( + 'base.yaml', + {'web': {'image': 'example/web'}}) + override_file = config.ConfigFile('override.yaml', None) + details = config.ConfigDetails('.', [base_file, override_file]) + + with pytest.raises(ConfigurationError) as exc: + config.load(details) + assert 'Top level object needs to be a dictionary' in exc.exconly() + + def test_load_with_multiple_files_and_empty_base(self): + base_file = config.ConfigFile('base.yaml', None) + override_file = config.ConfigFile( + 'override.yaml', + {'web': {'image': 'example/web'}}) + details = config.ConfigDetails('.', [base_file, override_file]) + + with pytest.raises(ConfigurationError) as exc: + config.load(details) + assert 'Top level object needs to be a dictionary' in exc.exconly() + def test_config_valid_service_names(self): for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']: config.load( From 5fdb75b541cee7a6a26e7b9e5a6483afebc88174 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Mon, 19 Oct 2015 14:36:56 +0100 Subject: [PATCH 100/221] Improve error message for type constraints It was missing a space between the different types, when there were 3 possible type values. Signed-off-by: Mazz Mosley --- compose/config/validation.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/compose/config/validation.py b/compose/config/validation.py index aea722864..b21e12cb8 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -136,7 +136,7 @@ def process_errors(errors, service_name=None): if len(validator) >= 2: first_type = anglicize_validator(validator[0]) last_type = anglicize_validator(validator[-1]) - types_from_validator = "{}{}".format(first_type, ", ".join(validator[1:-1])) + types_from_validator = "{}".format(", ".join([first_type] + validator[1:-1])) msg = "{} or {}".format( types_from_validator, @@ -156,7 +156,6 @@ def process_errors(errors, service_name=None): Inspecting the context value of a ValidationError gives us information about which sub schema failed and which kind of error it is. """ - required = [context for context in error.context if context.validator == 'required'] if required: return required[0].message From 0e4f9c9a66f844cf725870c21cb5b5318b28ce16 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Mon, 19 Oct 2015 15:15:24 +0100 Subject: [PATCH 101/221] Environment keys can contain empty values Environment keys that contain no value, get populated with values taken from the environment not from the build phase but from running the command `up`. Signed-off-by: Mazz Mosley --- compose/config/fields_schema.json | 2 +- compose/config/validation.py | 2 +- tests/unit/config/config_test.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index cc37f444d..e254e3539 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -41,7 +41,7 @@ "type": "object", "patternProperties": { "^[^-]+$": { - "type": ["string", "number", "boolean"], + "type": ["string", "number", "boolean", "null"], "format": "environment" } }, diff --git a/compose/config/validation.py b/compose/config/validation.py index b21e12cb8..8cfc405fe 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -136,7 +136,7 @@ def process_errors(errors, service_name=None): if len(validator) >= 2: first_type = anglicize_validator(validator[0]) last_type = anglicize_validator(validator[-1]) - types_from_validator = "{}".format(", ".join([first_type] + validator[1:-1])) + types_from_validator = ", ".join([first_type] + validator[1:-1]) msg = "{} or {}".format( types_from_validator, diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index e8caea814..e32e5b47c 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -449,6 +449,23 @@ class InterpolationTest(unittest.TestCase): self.assertIn('in service "web"', cm.exception.msg) self.assertIn('"${"', cm.exception.msg) + def test_empty_environment_key_allowed(self): + service_dict = config.load( + build_config_details( + { + 'web': { + 'build': '.', + 'environment': { + 'POSTGRES_PASSWORD': '' + }, + }, + }, + '.', + None, + ) + )[0] + self.assertEquals(service_dict['environment']['POSTGRES_PASSWORD'], '') + class VolumeConfigTest(unittest.TestCase): def test_no_binding(self): From bf672ec3405c31a4c9d64984876665c68128c7fe Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 16 Oct 2015 11:18:07 -0400 Subject: [PATCH 102/221] Fixes #2205 - extends must be copied from override file. Signed-off-by: Daniel Nephin --- compose/config/config.py | 19 ++++++++++++---- tests/unit/config/config_test.py | 37 ++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+), 4 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 05e572585..ff8861b51 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -193,7 +193,9 @@ def load(config_details): def merge_services(base, override): all_service_names = set(base) | set(override) return { - name: merge_service_dicts(base.get(name, {}), override.get(name, {})) + name: merge_service_dicts_from_files( + base.get(name, {}), + override.get(name, {})) for name in all_service_names } @@ -270,9 +272,7 @@ class ServiceLoader(object): extends, self.filename ) - self.extended_config_path = self.get_extended_config_path( - extends - ) + self.extended_config_path = self.get_extended_config_path(extends) self.extended_service_name = extends['service'] config = load_yaml(self.extended_config_path) @@ -355,6 +355,17 @@ def process_container_options(service_dict, working_dir=None): return service_dict +def merge_service_dicts_from_files(base, override): + """When merging services from multiple files we need to merge the `extends` + field. This is not handled by `merge_service_dicts()` which is used to + perform the `extends`. + """ + new_service = merge_service_dicts(base, override) + if 'extends' in override: + new_service['extends'] = override['extends'] + return new_service + + def merge_service_dicts(base, override): d = base.copy() diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index e32e5b47c..c8b76f36d 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -156,6 +156,43 @@ class ConfigTest(unittest.TestCase): config.load(details) assert 'Top level object needs to be a dictionary' in exc.exconly() + def test_load_with_multiple_files_and_extends_in_override_file(self): + base_file = config.ConfigFile( + 'base.yaml', + { + 'web': {'image': 'example/web'}, + }) + override_file = config.ConfigFile( + 'override.yaml', + { + 'web': { + 'extends': { + 'file': 'common.yml', + 'service': 'base', + }, + 'volumes': ['/home/user/project:/code'], + }, + }) + details = config.ConfigDetails('.', [base_file, override_file]) + + tmpdir = py.test.ensuretemp('config_test') + tmpdir.join('common.yml').write(""" + base: + labels: ['label=one'] + """) + with tmpdir.as_cwd(): + service_dicts = config.load(details) + + expected = [ + { + 'name': 'web', + 'image': 'example/web', + 'volumes': ['/home/user/project:/code'], + 'labels': {'label': 'one'}, + }, + ] + self.assertEqual(service_sort(service_dicts), service_sort(expected)) + def test_config_valid_service_names(self): for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']: config.load( From 725088a18b81f0c1451006b5ea4999cae641aba6 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 20 Oct 2015 11:39:06 -0400 Subject: [PATCH 103/221] Force windows drives to be lowercase. Signed-off-by: Daniel Nephin --- compose/service.py | 2 +- tests/unit/config/config_test.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/compose/service.py b/compose/service.py index 5f1d59468..7daf7f2f9 100644 --- a/compose/service.py +++ b/compose/service.py @@ -952,7 +952,7 @@ def normalize_paths_for_engine(external_path, internal_path): drive, tail = os.path.splitdrive(external_path) if drive: - reformatted_drive = "/{}".format(drive.replace(":", "")) + reformatted_drive = "/{}".format(drive.lower().replace(":", "")) external_path = reformatted_drive + tail external_path = "/".join(external_path.split("\\")) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index c8b76f36d..d15cd9a68 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -537,8 +537,8 @@ class VolumeConfigTest(unittest.TestCase): self.assertEqual(d['volumes'], ['/var/lib/data:/data']) def test_absolute_windows_path_does_not_expand(self): - d = make_service_dict('foo', {'build': '.', 'volumes': ['C:\\data:/data']}, working_dir='.') - self.assertEqual(d['volumes'], ['C:\\data:/data']) + d = make_service_dict('foo', {'build': '.', 'volumes': ['c:\\data:/data']}, working_dir='.') + self.assertEqual(d['volumes'], ['c:\\data:/data']) @pytest.mark.skipif(IS_WINDOWS_PLATFORM, reason='posix paths') def test_relative_path_does_expand_posix(self): @@ -553,14 +553,14 @@ class VolumeConfigTest(unittest.TestCase): @pytest.mark.skipif(not IS_WINDOWS_PLATFORM, reason='windows paths') def test_relative_path_does_expand_windows(self): - d = make_service_dict('foo', {'build': '.', 'volumes': ['./data:/data']}, working_dir='C:\\Users\\me\\myproject') - self.assertEqual(d['volumes'], ['C:\\Users\\me\\myproject\\data:/data']) + d = make_service_dict('foo', {'build': '.', 'volumes': ['./data:/data']}, working_dir='c:\\Users\\me\\myproject') + self.assertEqual(d['volumes'], ['c:\\Users\\me\\myproject\\data:/data']) - d = make_service_dict('foo', {'build': '.', 'volumes': ['.:/data']}, working_dir='C:\\Users\\me\\myproject') - self.assertEqual(d['volumes'], ['C:\\Users\\me\\myproject:/data']) + d = make_service_dict('foo', {'build': '.', 'volumes': ['.:/data']}, working_dir='c:\\Users\\me\\myproject') + self.assertEqual(d['volumes'], ['c:\\Users\\me\\myproject:/data']) - d = make_service_dict('foo', {'build': '.', 'volumes': ['../otherproject:/data']}, working_dir='C:\\Users\\me\\myproject') - self.assertEqual(d['volumes'], ['C:\\Users\\me\\otherproject:/data']) + d = make_service_dict('foo', {'build': '.', 'volumes': ['../otherproject:/data']}, working_dir='c:\\Users\\me\\myproject') + self.assertEqual(d['volumes'], ['c:\\Users\\me\\otherproject:/data']) @mock.patch.dict(os.environ) def test_home_directory_with_driver_does_not_expand(self): From f290faf4ba8e4b98126909a4181534ff1fa20f30 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 20 Oct 2015 11:49:10 -0400 Subject: [PATCH 104/221] Minor refactor to use guard and replace instead of split+join Signed-off-by: Daniel Nephin --- compose/service.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/compose/service.py b/compose/service.py index 7daf7f2f9..f18afa485 100644 --- a/compose/service.py +++ b/compose/service.py @@ -943,24 +943,22 @@ def build_volume_binding(volume_spec): def normalize_paths_for_engine(external_path, internal_path): - """ - Windows paths, c:\my\path\shiny, need to be changed to be compatible with + """Windows paths, c:\my\path\shiny, need to be changed to be compatible with the Engine. Volume paths are expected to be linux style /c/my/path/shiny/ """ - if IS_WINDOWS_PLATFORM: - if external_path: - drive, tail = os.path.splitdrive(external_path) - - if drive: - reformatted_drive = "/{}".format(drive.lower().replace(":", "")) - external_path = reformatted_drive + tail - - external_path = "/".join(external_path.split("\\")) - - return external_path, "/".join(internal_path.split("\\")) - else: + if not IS_WINDOWS_PLATFORM: return external_path, internal_path + if external_path: + drive, tail = os.path.splitdrive(external_path) + + if drive: + external_path = '/' + drive.lower().rstrip(':') + tail + + external_path = external_path.replace('\\', '/') + + return external_path, internal_path.replace('\\', '/') + def parse_volume_spec(volume_config): """ From f5ad36314387e2b97c2f1be3303da50ff5e4cfdb Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 13:05:14 -0400 Subject: [PATCH 105/221] Use inspect network to query for an existing network. And more tests for get_network() Signed-off-by: Daniel Nephin --- compose/project.py | 9 +++++---- tests/integration/project_test.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/compose/project.py b/compose/project.py index fdd70caf1..d4934c268 100644 --- a/compose/project.py +++ b/compose/project.py @@ -5,6 +5,7 @@ import logging from functools import reduce from docker.errors import APIError +from docker.errors import NotFound from .config import ConfigurationError from .config import get_service_name_from_net @@ -363,10 +364,10 @@ class Project(object): return [c for c in containers if matches_service_names(c)] def get_network(self): - networks = self.client.networks(names=[self.name]) - if networks: - return networks[0] - return None + try: + return self.client.inspect_network(self.name) + except NotFound: + return None def ensure_network_exists(self): # TODO: recreate network if driver has changed? diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index ff50c80b2..ac0f121cf 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from .testcases import DockerClientTestCase +from compose.cli.docker_client import docker_client from compose.config import config from compose.const import LABEL_PROJECT from compose.container import Container @@ -96,6 +97,22 @@ class ProjectTest(DockerClientTestCase): db = project.get_service('db') self.assertEqual(db._get_volumes_from(), [data_container.id + ':rw']) + def test_get_network_does_not_exist(self): + self.require_engine_version("1.9") + client = docker_client(version='1.21') + + project = Project('composetest', [], client) + assert project.get_network() is None + + def test_get_network(self): + self.require_engine_version("1.9") + client = docker_client(version='1.21') + + network_name = 'network_does_exist' + project = Project(network_name, [], client) + client.create_network(network_name) + assert project.get_network()['name'] == network_name + def test_net_from_service(self): project = Project.from_dicts( name='composetest', From 95a23eb6829a48298f7db7fb806fc944f0c6cc18 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 15:40:50 -0400 Subject: [PATCH 106/221] Change version check from engine version to api version. Signed-off-by: Daniel Nephin --- tests/integration/cli_test.py | 4 ++-- tests/integration/project_test.py | 4 ++-- tests/integration/testcases.py | 12 ++++-------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 78519d141..19cc822ee 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -187,7 +187,7 @@ class CLITestCase(DockerClientTestCase): ) def test_up_without_networking(self): - self.require_engine_version("1.9") + self.require_api_version('1.21') self.command.base_dir = 'tests/fixtures/links-composefile' self.command.dispatch(['up', '-d'], None) @@ -205,7 +205,7 @@ class CLITestCase(DockerClientTestCase): self.assertTrue(web_container.get('HostConfig.Links')) def test_up_with_networking(self): - self.require_engine_version("1.9") + self.require_api_version('1.21') self.command.base_dir = 'tests/fixtures/links-composefile' self.command.dispatch(['--x-networking', 'up', '-d'], None) diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index ac0f121cf..fd45b9393 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -98,14 +98,14 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(db._get_volumes_from(), [data_container.id + ':rw']) def test_get_network_does_not_exist(self): - self.require_engine_version("1.9") + self.require_api_version('1.21') client = docker_client(version='1.21') project = Project('composetest', [], client) assert project.get_network() is None def test_get_network(self): - self.require_engine_version("1.9") + self.require_api_version('1.21') client = docker_client(version='1.21') network_name = 'network_does_exist' diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index a412fb04f..686a2b69a 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -76,11 +76,7 @@ class DockerClientTestCase(unittest.TestCase): build_output = self.client.build(*args, **kwargs) stream_output(build_output, open('/dev/null', 'w')) - def require_engine_version(self, minimum): - # Drop '-dev' or '-rcN' suffix - engine = self.client.version()['Version'].split('-', 1)[0] - if version_lt(engine, minimum): - skip( - "Engine version is too low ({} < {})" - .format(engine, minimum) - ) + def require_api_version(self, minimum): + api_version = self.client.version()['ApiVersion'] + if version_lt(api_version, minimum): + skip("API version is too low ({} < {})".format(api_version, minimum)) From e168fd03ca9ea4cdb2843f706b28a864ae669174 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 22 Oct 2015 12:12:43 -0400 Subject: [PATCH 107/221] Fix unicode in environment variables for python2. Signed-off-by: Daniel Nephin --- compose/config/config.py | 5 ++++- tests/fixtures/env/resolve.env | 2 +- tests/unit/cli_test.py | 5 +++-- tests/unit/config/config_test.py | 8 +++++++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index ff8861b51..21549e9b3 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -1,3 +1,4 @@ +import codecs import logging import os import sys @@ -451,6 +452,8 @@ def parse_environment(environment): def split_env(env): + if isinstance(env, six.binary_type): + env = env.decode('utf-8') if '=' in env: return env.split('=', 1) else: @@ -473,7 +476,7 @@ def env_vars_from_file(filename): if not os.path.exists(filename): raise ConfigurationError("Couldn't find env file: %s" % filename) env = {} - for line in open(filename, 'r'): + for line in codecs.open(filename, 'r', 'utf-8'): line = line.strip() if line and not line.startswith('#'): k, v = split_env(line) diff --git a/tests/fixtures/env/resolve.env b/tests/fixtures/env/resolve.env index 720520d29..b4f76b29e 100644 --- a/tests/fixtures/env/resolve.env +++ b/tests/fixtures/env/resolve.env @@ -1,4 +1,4 @@ -FILE_DEF=F1 +FILE_DEF=bär FILE_DEF_EMPTY= ENV_DEF NO_DEF diff --git a/tests/unit/cli_test.py b/tests/unit/cli_test.py index 0c78e6bbf..5b63d2e84 100644 --- a/tests/unit/cli_test.py +++ b/tests/unit/cli_test.py @@ -1,3 +1,4 @@ +# encoding: utf-8 from __future__ import absolute_import from __future__ import unicode_literals @@ -98,7 +99,7 @@ class CLITestCase(unittest.TestCase): command.run(mock_project, { 'SERVICE': 'service', 'COMMAND': None, - '-e': ['BAR=NEW', 'OTHER=THREE'], + '-e': ['BAR=NEW', 'OTHER=bär'.encode('utf-8')], '--user': None, '--no-deps': None, '--allow-insecure-ssl': None, @@ -114,7 +115,7 @@ class CLITestCase(unittest.TestCase): _, _, call_kwargs = mock_client.create_container.mock_calls[0] self.assertEqual( call_kwargs['environment'], - {'FOO': 'ONE', 'BAR': 'NEW', 'OTHER': 'THREE'}) + {'FOO': 'ONE', 'BAR': 'NEW', 'OTHER': u'bär'}) def test_run_service_with_restart_always(self): command = TopLevelCommand() diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index d15cd9a68..a54b006fa 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -1,3 +1,4 @@ +# encoding: utf-8 from __future__ import print_function import os @@ -894,7 +895,12 @@ class EnvTest(unittest.TestCase): ) self.assertEqual( service_dict['environment'], - {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}, + { + 'FILE_DEF': u'bär', + 'FILE_DEF_EMPTY': '', + 'ENV_DEF': 'E3', + 'NO_DEF': '' + }, ) @pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason='paths use slash') From 88e53e177dce3982f7106597bb0c431345a7099e Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 22 Sep 2015 16:42:43 -0400 Subject: [PATCH 108/221] Upgrade pyinstaller to 3.0 Signed-off-by: Daniel Nephin --- requirements-build.txt | 2 +- script/build-windows.ps1 | 8 ++------ 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/requirements-build.txt b/requirements-build.txt index 5da6fa496..20aad4208 100644 --- a/requirements-build.txt +++ b/requirements-build.txt @@ -1 +1 @@ -git+https://github.com/pyinstaller/pyinstaller.git@12e40471c77f588ea5be352f7219c873ddaae056#egg=pyinstaller +pyinstaller==3.0 diff --git a/script/build-windows.ps1 b/script/build-windows.ps1 index 6e8a7c5ae..42a4a501c 100644 --- a/script/build-windows.ps1 +++ b/script/build-windows.ps1 @@ -42,11 +42,6 @@ Get-ChildItem -Recurse -Include *.pyc | foreach ($_) { Remove-Item $_.FullName } virtualenv .\venv # Install dependencies -# TODO: pip warns when installing from a git sha, so we need to set ErrorAction to -# 'Continue'. See -# https://github.com/pypa/pip/blob/fbc4b7ae5fee00f95bce9ba4b887b22681327bb1/pip/vcs/git.py#L77 -# This can be removed once pyinstaller 3.x is released and we upgrade -$ErrorActionPreference = "Continue" .\venv\Scripts\pip install pypiwin32==219 .\venv\Scripts\pip install -r requirements.txt .\venv\Scripts\pip install --no-deps . @@ -54,8 +49,9 @@ $ErrorActionPreference = "Continue" # Build binary # pyinstaller has lots of warnings, so we need to run with ErrorAction = Continue +$ErrorActionPreference = "Continue" .\venv\Scripts\pyinstaller .\docker-compose.spec $ErrorActionPreference = "Stop" -Move-Item -Force .\dist\docker-compose .\dist\docker-compose-Windows-x86_64.exe +Move-Item -Force .\dist\docker-compose.exe .\dist\docker-compose-Windows-x86_64.exe .\dist\docker-compose-Windows-x86_64.exe --version From a9b4fe768d1a49a6b6fad9b36e1e41cd6be3b756 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 26 Oct 2015 13:29:59 -0400 Subject: [PATCH 109/221] Fix running one-off containers with --x-networking by disabling linking to self. docker create fails if networking and links are used together. Signed-off-by: Daniel Nephin --- compose/service.py | 3 +++ tests/unit/service_test.py | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/compose/service.py b/compose/service.py index f18afa485..43067d42c 100644 --- a/compose/service.py +++ b/compose/service.py @@ -545,6 +545,9 @@ class Service(object): return 1 if not numbers else max(numbers) + 1 def _get_links(self, link_to_self): + if self.use_networking: + return [] + links = [] for service, link_name in self.links: for container in service.containers(): diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index c5e1a9fb0..7149ff0ee 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -444,6 +444,14 @@ class ServiceTest(unittest.TestCase): } self.assertEqual(config_dict, expected) + def test_get_links_with_networking(self): + service = Service( + 'foo', + image='foo', + links=[(Service('one'), 'one')], + use_networking=True) + self.assertEqual(service._get_links(link_to_self=True), []) + class NetTestCase(unittest.TestCase): From d6fa8596d22c6a330449ae808d6bb2ddbb5c2534 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Wed, 21 Oct 2015 17:28:16 +0100 Subject: [PATCH 110/221] Attach to a container's log_stream before they're started So we're not displaying output of all previous logs for a container, we attach, if possible, to a container before the container is started. LogPrinter checks if a container has a log_stream already attached and print from that rather than always attempting to attach one itself. Signed-off-by: Mazz Mosley --- compose/cli/log_printer.py | 10 ++++-- compose/cli/main.py | 11 +++++-- compose/container.py | 8 +++++ compose/project.py | 6 ++-- compose/service.py | 58 +++++++++++++++++++++------------ tests/integration/state_test.py | 4 ++- 6 files changed, 67 insertions(+), 30 deletions(-) diff --git a/compose/cli/log_printer.py b/compose/cli/log_printer.py index 6e1499e1d..66920726c 100644 --- a/compose/cli/log_printer.py +++ b/compose/cli/log_printer.py @@ -73,9 +73,13 @@ def build_no_log_generator(container, prefix, color_func): def build_log_generator(container, prefix, color_func): - # Attach to container before log printer starts running - stream = container.attach(stdout=True, stderr=True, stream=True, logs=True) - line_generator = split_buffer(stream) + # if the container doesn't have a log_stream we need to attach to container + # before log printer starts running + if container.log_stream is None: + stream = container.attach(stdout=True, stderr=True, stream=True, logs=True) + line_generator = split_buffer(stream) + else: + line_generator = split_buffer(container.log_stream) for line in line_generator: yield prefix + line diff --git a/compose/cli/main.py b/compose/cli/main.py index c800d95f9..5505b89f5 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -565,16 +565,18 @@ class TopLevelCommand(DocoptCommand): start_deps = not options['--no-deps'] service_names = options['SERVICE'] timeout = int(options.get('--timeout') or DEFAULT_TIMEOUT) + detached = options.get('-d') to_attach = project.up( service_names=service_names, start_deps=start_deps, strategy=convergence_strategy_from_opts(options), do_build=not options['--no-build'], - timeout=timeout + timeout=timeout, + detached=detached ) - if not options['-d']: + if not detached: log_printer = build_log_printer(to_attach, service_names, monochrome) attach_to_logs(project, log_printer, service_names, timeout) @@ -636,7 +638,10 @@ def convergence_strategy_from_opts(options): def build_log_printer(containers, service_names, monochrome): if service_names: - containers = [c for c in containers if c.service in service_names] + containers = [ + container + for container in containers if container.service in service_names + ] return LogPrinter(containers, monochrome=monochrome) diff --git a/compose/container.py b/compose/container.py index a03acf56f..64773b9e6 100644 --- a/compose/container.py +++ b/compose/container.py @@ -19,6 +19,7 @@ class Container(object): self.client = client self.dictionary = dictionary self.has_been_inspected = has_been_inspected + self.log_stream = None @classmethod def from_ps(cls, client, dictionary, **kwargs): @@ -146,6 +147,13 @@ class Container(object): log_type = self.log_driver return not log_type or log_type == 'json-file' + def attach_log_stream(self): + """A log stream can only be attached if the container uses a json-file + log driver. + """ + if self.has_api_logs: + self.log_stream = self.attach(stdout=True, stderr=True, stream=True) + def get(self, key): """Return a value from the container or None if the value is not set. diff --git a/compose/project.py b/compose/project.py index d4934c268..68edaddcb 100644 --- a/compose/project.py +++ b/compose/project.py @@ -290,7 +290,8 @@ class Project(object): start_deps=True, strategy=ConvergenceStrategy.changed, do_build=True, - timeout=DEFAULT_TIMEOUT): + timeout=DEFAULT_TIMEOUT, + detached=False): services = self.get_services(service_names, include_deps=start_deps) @@ -308,7 +309,8 @@ class Project(object): for container in service.execute_convergence_plan( plans[service.name], do_build=do_build, - timeout=timeout + timeout=timeout, + detached=detached ) ] diff --git a/compose/service.py b/compose/service.py index 43067d42c..90ef709ec 100644 --- a/compose/service.py +++ b/compose/service.py @@ -399,13 +399,17 @@ class Service(object): def execute_convergence_plan(self, plan, do_build=True, - timeout=DEFAULT_TIMEOUT): + timeout=DEFAULT_TIMEOUT, + detached=False): (action, containers) = plan + should_attach_logs = not detached if action == 'create': - container = self.create_container( - do_build=do_build, - ) + container = self.create_container(do_build=do_build) + + if should_attach_logs: + container.attach_log_stream() + self.start_container(container) return [container] @@ -413,15 +417,16 @@ class Service(object): elif action == 'recreate': return [ self.recreate_container( - c, - timeout=timeout + container, + timeout=timeout, + attach_logs=should_attach_logs ) - for c in containers + for container in containers ] elif action == 'start': - for c in containers: - self.start_container_if_stopped(c) + for container in containers: + self.start_container_if_stopped(container, attach_logs=should_attach_logs) return containers @@ -434,16 +439,7 @@ class Service(object): else: raise Exception("Invalid action: {}".format(action)) - def recreate_container(self, - container, - timeout=DEFAULT_TIMEOUT): - """Recreate a container. - - The original container is renamed to a temporary name so that data - volumes can be copied to the new container, before the original - container is removed. - """ - log.info("Recreating %s" % container.name) + def _recreate_stop_container(self, container, timeout): try: container.stop(timeout=timeout) except APIError as e: @@ -454,26 +450,46 @@ class Service(object): else: raise + def _recreate_rename_container(self, container): # Use a hopefully unique container name by prepending the short id self.client.rename( container.id, - '%s_%s' % (container.short_id, container.name)) + '%s_%s' % (container.short_id, container.name) + ) + def recreate_container(self, + container, + timeout=DEFAULT_TIMEOUT, + attach_logs=False): + """Recreate a container. + + The original container is renamed to a temporary name so that data + volumes can be copied to the new container, before the original + container is removed. + """ + log.info("Recreating %s" % container.name) + + self._recreate_stop_container(container, timeout) + self._recreate_rename_container(container) new_container = self.create_container( do_build=False, previous_container=container, number=container.labels.get(LABEL_CONTAINER_NUMBER), quiet=True, ) + if attach_logs: + new_container.attach_log_stream() self.start_container(new_container) container.remove() return new_container - def start_container_if_stopped(self, container): + def start_container_if_stopped(self, container, attach_logs=False): if container.is_running: return container else: log.info("Starting %s" % container.name) + if attach_logs: + container.attach_log_stream() return self.start_container(container) def start_container(self, container): diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index ef7276bd8..02e9d3152 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -18,6 +18,7 @@ from compose.service import ConvergenceStrategy class ProjectTestCase(DockerClientTestCase): def run_up(self, cfg, **kwargs): kwargs.setdefault('timeout', 1) + kwargs.setdefault('detached', True) project = self.make_project(cfg) project.up(**kwargs) @@ -184,7 +185,8 @@ def converge(service, do_build=True): """Create a converge plan from a strategy and execute the plan.""" plan = service.convergence_plan(strategy) - return service.execute_convergence_plan(plan, do_build=do_build, timeout=1) + containers, logging_threads = zip(*service.execute_convergence_plan(plan, do_build=do_build, timeout=1)) + return containers class ServiceStateTest(DockerClientTestCase): From da41ed22f9358069daab28cb08ac55e0a31e4816 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Mon, 26 Oct 2015 10:27:57 +0000 Subject: [PATCH 111/221] Fix tests Signed-off-by: Mazz Mosley --- tests/integration/service_test.py | 1 + tests/integration/state_test.py | 3 +-- tests/unit/cli/log_printer_test.py | 1 + tests/unit/service_test.py | 4 +--- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 8a8e4d54d..38d7d5b55 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -362,6 +362,7 @@ class ServiceTest(DockerClientTestCase): new_container, = service.execute_convergence_plan( ConvergencePlan('recreate', [old_container])) + self.assertEqual(list(new_container.get('Volumes')), ['/data']) self.assertEqual(new_container.get('Volumes')['/data'], volume_path) diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 02e9d3152..3230aefc6 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -185,8 +185,7 @@ def converge(service, do_build=True): """Create a converge plan from a strategy and execute the plan.""" plan = service.convergence_plan(strategy) - containers, logging_threads = zip(*service.execute_convergence_plan(plan, do_build=do_build, timeout=1)) - return containers + return service.execute_convergence_plan(plan, do_build=do_build, timeout=1) class ServiceStateTest(DockerClientTestCase): diff --git a/tests/unit/cli/log_printer_test.py b/tests/unit/cli/log_printer_test.py index 2c9168980..575fcaf7b 100644 --- a/tests/unit/cli/log_printer_test.py +++ b/tests/unit/cli/log_printer_test.py @@ -16,6 +16,7 @@ def build_mock_container(reader): name='myapp_web_1', name_without_project='web_1', has_api_logs=True, + log_stream=None, attach=reader, wait=mock.Mock(return_value=0), ) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 7149ff0ee..d86f80f73 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -323,9 +323,7 @@ class ServiceTest(unittest.TestCase): new_container = service.recreate_container(mock_container) mock_container.stop.assert_called_once_with(timeout=10) - self.mock_client.rename.assert_called_once_with( - mock_container.id, - '%s_%s' % (mock_container.short_id, mock_container.name)) + mock_container.rename_to_tmp_name.assert_called_once_with() new_container.start.assert_called_once_with() mock_container.remove.assert_called_once_with() From 6f0096c87b6a33895752f1a5f6b914e40c2ceee1 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Tue, 27 Oct 2015 11:55:35 +0000 Subject: [PATCH 112/221] Move rename functionality into Container Signed-off-by: Mazz Mosley --- compose/container.py | 9 +++++++++ compose/service.py | 9 +-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/compose/container.py b/compose/container.py index 64773b9e6..dd69e8ddd 100644 --- a/compose/container.py +++ b/compose/container.py @@ -192,6 +192,15 @@ class Container(object): def remove(self, **options): return self.client.remove_container(self.id, **options) + def rename_to_tmp_name(self): + """Rename the container to a hopefully unique temporary container name + by prepending the short id. + """ + self.client.rename( + self.id, + '%s_%s' % (self.short_id, self.name) + ) + def inspect_if_not_inspected(self): if not self.has_been_inspected: self.inspect() diff --git a/compose/service.py b/compose/service.py index 90ef709ec..ac0a84906 100644 --- a/compose/service.py +++ b/compose/service.py @@ -450,13 +450,6 @@ class Service(object): else: raise - def _recreate_rename_container(self, container): - # Use a hopefully unique container name by prepending the short id - self.client.rename( - container.id, - '%s_%s' % (container.short_id, container.name) - ) - def recreate_container(self, container, timeout=DEFAULT_TIMEOUT, @@ -470,7 +463,7 @@ class Service(object): log.info("Recreating %s" % container.name) self._recreate_stop_container(container, timeout) - self._recreate_rename_container(container) + container.rename_to_tmp_name() new_container = self.create_container( do_build=False, previous_container=container, From a772a0d7d7c454fe35cb65b40a616df5413555c8 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Tue, 27 Oct 2015 11:59:09 +0000 Subject: [PATCH 113/221] Remove redundant try/except Code cleanup. We no longer need this as the api returns a 304 for any stopped containers, which doesn't raise an error. Signed-off-by: Mazz Mosley --- compose/service.py | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/compose/service.py b/compose/service.py index ac0a84906..dbcec1038 100644 --- a/compose/service.py +++ b/compose/service.py @@ -439,17 +439,6 @@ class Service(object): else: raise Exception("Invalid action: {}".format(action)) - def _recreate_stop_container(self, container, timeout): - try: - container.stop(timeout=timeout) - except APIError as e: - if (e.response.status_code == 500 - and e.explanation - and 'no such process' in str(e.explanation)): - pass - else: - raise - def recreate_container(self, container, timeout=DEFAULT_TIMEOUT, @@ -462,7 +451,7 @@ class Service(object): """ log.info("Recreating %s" % container.name) - self._recreate_stop_container(container, timeout) + container.stop(timeout=timeout) container.rename_to_tmp_name() new_container = self.create_container( do_build=False, From 29b0ffe5e99be0c49e750eb29b938972449c5bcc Mon Sep 17 00:00:00 2001 From: Sven Dowideit Date: Thu, 22 Oct 2015 17:17:11 +1000 Subject: [PATCH 114/221] Possible link fixes Signed-off-by: Sven Dowideit --- docs/django.md | 2 +- docs/env.md | 2 +- docs/index.md | 2 +- docs/networking.md | 8 ++++---- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/django.md b/docs/django.md index c7ebf58bf..fd18784ec 100644 --- a/docs/django.md +++ b/docs/django.md @@ -67,7 +67,7 @@ and a `docker-compose.yml` file. also describes which Docker images these services use, how they link together, any volumes they might need mounted inside the containers. Finally, the `docker-compose.yml` file describes which ports these services - expose. See the [`docker-compose.yml` reference](yml.md) for more + expose. See the [`docker-compose.yml` reference](compose-file.md) for more information on how this file works. 9. Add the following configuration to the file. diff --git a/docs/env.md b/docs/env.md index 8f3cc3ccb..d7b51ba2b 100644 --- a/docs/env.md +++ b/docs/env.md @@ -11,7 +11,7 @@ weight=3 # Compose environment variables reference -**Note:** Environment variables are no longer the recommended method for connecting to linked services. Instead, you should use the link name (by default, the name of the linked service) as the hostname to connect to. See the [docker-compose.yml documentation](yml.md#links) for details. +**Note:** Environment variables are no longer the recommended method for connecting to linked services. Instead, you should use the link name (by default, the name of the linked service) as the hostname to connect to. See the [docker-compose.yml documentation](compose-file.md#links) for details. Compose uses [Docker links] to expose services' containers to one another. Each linked container injects a set of environment variables, each of which begins with the uppercase name of the container. diff --git a/docs/index.md b/docs/index.md index e19e7d7f4..62c78d689 100644 --- a/docs/index.md +++ b/docs/index.md @@ -154,7 +154,7 @@ Now, when you run `docker-compose up`, Compose will pull a Redis image, build an If you're using [Docker Machine](https://docs.docker.com/machine), then `docker-machine ip MACHINE_VM` will tell you its address and you can open `http://MACHINE_VM_IP:5000` in a browser. -If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If http://0.0.0.0:5000 doesn't resolve, you can also try http://localhost:5000. +If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If `http://0.0.0.0:5000` doesn't resolve, you can also try `http://localhost:5000`. You should get a message in your browser saying: diff --git a/docs/networking.md b/docs/networking.md index f4227917a..9a6d792df 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -12,11 +12,11 @@ weight=6 # Networking in Compose -> **Note:** Compose’s networking support is experimental, and must be explicitly enabled with the `docker-compose --x-networking` flag. +> **Note:** Compose's networking support is experimental, and must be explicitly enabled with the `docker-compose --x-networking` flag. -Compose sets up a single default [network](http://TODO/docker-networking-docs) for your app. Each container for a service joins the default network and is both *reachable* by other containers on that network, and *discoverable* by them at a hostname identical to the service's name. +Compose sets up a single default [network](/engine/reference/commandline/network_create.md) for your app. Each container for a service joins the default network and is both *reachable* by other containers on that network, and *discoverable* by them at a hostname identical to the service's name. -> **Note:** Your app's network is given the same name as the "project name", which is based on the name of the directory it lives in. See the [CLI docs](cli.md#p-project-name-name) for how to override it. +> **Note:** Your app's network is given the same name as the "project name", which is based on the name of the directory it lives in. See the [Command line overview](reference/docker-compose.md) for how to override it. For example, suppose your app is in a directory called `myapp`, and your `docker-compose.yml` looks like this: @@ -65,7 +65,7 @@ Docker links are a one-way, single-host communication system. They should now be ## Specifying the network driver -By default, Compose uses the `bridge` driver when creating the app’s network. The Docker Engine provides one other driver out-of-the-box: `overlay`, which implements secure communication between containers on different hosts (see the next section for how to set up and use the `overlay` driver). Docker also allows you to install [custom network drivers](http://TODO/custom-driver-docs). +By default, Compose uses the `bridge` driver when creating the app’s network. The Docker Engine provides one other driver out-of-the-box: `overlay`, which implements secure communication between containers on different hosts (see the next section for how to set up and use the `overlay` driver). Docker also allows you to install [custom network drivers](/engine/extend/plugins_network.md). You can specify which one to use with the `--x-network-driver` flag: From 8cc8e614740a71234cb7d1d3d5456c2c316a022c Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 16 Oct 2015 12:55:32 -0400 Subject: [PATCH 115/221] Bump 1.5.0rc2 Signed-off-by: Daniel Nephin Fill out 1.5.0 release notes Signed-off-by: Aanand Prasad --- CHANGELOG.md | 102 ++++++++++++++++++++++++++++++-------------- compose/__init__.py | 2 +- docs/install.md | 4 +- script/run.sh | 2 +- 4 files changed, 75 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 730cd30ef..3b2ecd97e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,48 +4,88 @@ Change log 1.5.0 (2015-10-13) ------------------ -Major Features +Major features: -- Compose is now available on windows. -- Environment variable can be used in the compose file. See +- Compose is now available for Windows. + +- Environment variables can be used in the Compose file. See https://github.com/docker/compose/blob/129092b7/docs/yml.md#variable-substitution + - Multiple compose files can be specified, allowing you to override - setting in the default compose file. See + settings in the default Compose file. See https://github.com/docker/compose/blob/129092b7/docs/reference/docker-compose.md for more details. -- Configuration validation is now a lot more strict -- `up` now waits for all services to exit before shutting down -- Support for the new docker networking can be enabled with - the `--x-networking` flag -New Features +- Compose now produces better error messages when a file contains + invalid configuration. -- `volumes_from` now supports a mode option allowing for read-only - `volumes_from` -- Volumes that don't start with a path indicator (`.` or `/`) will now be - treated as a named volume. Previously this was a warning. -- `--pull` flag added to `build` -- `--ignore-pull-failures` flag added to `pull` -- Support for the `ipc` field added to the compose file -- Containers created by `run` can now be named with the `--name` flag -- If you install Compose with pip or use it as a library, it now - works with Python 3 -- `image` field now supports image digests (in addition to ids and tags) -- `ports` now supports ranges of ports -- `--publish` flag added to `run` -- New subcommands `pause` and `unpause` -- services may be extended from the same file without a `file` key in - `extends` -- Compose can be installed and run as a docker image. This is an experimental +- `up` now waits for all services to exit before shutting down, + rather than shutting down as soon as one container exits. + +- Experimental support for the new docker networking system can be + enabled with the `--x-networking` flag. Read more here: + https://github.com/docker/docker/blob/8fee1c20/docs/userguide/dockernetworks.md + +New features: + +- You can now optionally pass a mode to `volumes_from`, e.g. + `volumes_from: ["servicename:ro"]`. + +- Since Docker now lets you create volumes with names, you can refer to those + volumes by name in `docker-compose.yml`. For example, + `volumes: ["mydatavolume:/data"]` will mount the volume named + `mydatavolume` at the path `/data` inside the container. + + If the first component of an entry in `volumes` starts with a `.`, `/` or + `~`, it is treated as a path and expansion of relative paths is performed as + necessary. Otherwise, it is treated as a volume name and passed straight + through to Docker. + + Read more on named volumes and volume drivers here: + https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md + +- `docker-compose build --pull` instructs Compose to pull the base image for + each Dockerfile before building. + +- `docker-compose pull --ignore-pull-failures` instructs Compose to continue + if it fails to pull a single service's image, rather than aborting. + +- You can now specify an IPC namespace in `docker-compose.yml` with the `ipc` + option. + +- Containers created by `docker-compose run` can now be named with the + `--name` flag. + +- If you install Compose with pip or use it as a library, it now works with + Python 3. + +- `image` now supports image digests (in addition to ids and tags), e.g. + `image: "busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d"` + +- `ports` now supports ranges of ports, e.g. + + ports: + - "3000-3005" + - "9000-9001:8000-8001" + +- `docker-compose run` now supports a `-p|--publish` parameter, much like + `docker run -p`, for publishing specific ports to the host. + +- `docker-compose pause` and `docker-compose unpause` have been implemented, + analogous to `docker pause` and `docker unpause`. + +- When using `extends` to copy configuration from another service in the same + Compose file, you can omit the `file` option. + +- Compose can be installed and run as a Docker image. This is an experimental feature. +Bug fixes: -Bug Fixes +- All values for the `log_driver` option which are supported by the Docker + daemon are now supported by Compose. -- Support all `log_drivers` -- Fixed `build` when running against swarm -- `~` is no longer expanded on the host when included as part of a container - volume path +- `docker-compose build` can now be run successfully against a Swarm cluster. diff --git a/compose/__init__.py b/compose/__init__.py index 06897c844..8ea59a363 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.0rc1' +__version__ = '1.5.0rc2' diff --git a/docs/install.md b/docs/install.md index 31b2ccad4..3c5dea5eb 100644 --- a/docs/install.md +++ b/docs/install.md @@ -53,7 +53,7 @@ To install Compose, do the following: 7. Test the installation. $ docker-compose --version - docker-compose version: 1.5.0rc1 + docker-compose version: 1.5.0rc2 ## Alternative install options @@ -75,7 +75,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc1/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc2/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index 68ee4faa5..25fc8c077 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.0rc1" +VERSION="1.5.0rc2" IMAGE="docker/compose:$VERSION" From 8156cdc56e5b5b1f440b9abbf54faaad14558c23 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 17:54:38 -0400 Subject: [PATCH 116/221] Disable a test against docker 1.8.3 because it fails due to a bug in docker engine. Signed-off-by: Daniel Nephin --- tests/integration/service_test.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 38d7d5b55..4ac04545e 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -693,10 +693,11 @@ class ServiceTest(DockerClientTestCase): @mock.patch('compose.service.log') def test_scale_with_custom_container_name_outputs_warning(self, mock_log): - """ - Test that calling scale on a service that has a custom container name + """Test that calling scale on a service that has a custom container name results in warning output. """ + # Disable this test against earlier versions because it is flaky + self.require_api_version('1.21') service = self.create_service('app', container_name='custom-container') self.assertEqual(service.custom_container_name(), 'custom-container') From ce729b07216bd3f6e903829818e946282dbd7e51 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 15:17:11 -0400 Subject: [PATCH 117/221] Update docs about networking for current release. Signed-off-by: Daniel Nephin --- docs/networking.md | 36 ++++++++++++++++++++++-------------- project/ISSUE-TRIAGE.md | 25 +++++++++++++------------ 2 files changed, 35 insertions(+), 26 deletions(-) diff --git a/docs/networking.md b/docs/networking.md index 9a6d792df..718d56c7a 100644 --- a/docs/networking.md +++ b/docs/networking.md @@ -14,7 +14,11 @@ weight=6 > **Note:** Compose's networking support is experimental, and must be explicitly enabled with the `docker-compose --x-networking` flag. -Compose sets up a single default [network](/engine/reference/commandline/network_create.md) for your app. Each container for a service joins the default network and is both *reachable* by other containers on that network, and *discoverable* by them at a hostname identical to the service's name. +Compose sets up a single default +[network](/engine/reference/commandline/network_create.md) for your app. Each +container for a service joins the default network and is both *reachable* by +other containers on that network, and *discoverable* by them at a hostname +identical to the container name. > **Note:** Your app's network is given the same name as the "project name", which is based on the name of the directory it lives in. See the [Command line overview](reference/docker-compose.md) for how to override it. @@ -30,13 +34,23 @@ For example, suppose your app is in a directory called `myapp`, and your `docker When you run `docker-compose --x-networking up`, the following happens: 1. A network called `myapp` is created. -2. A container is created using `web`'s configuration. It joins the network `myapp` under the name `web`. -3. A container is created using `db`'s configuration. It joins the network `myapp` under the name `db`. +2. A container is created using `web`'s configuration. It joins the network +`myapp` under the name `myapp_web_1`. +3. A container is created using `db`'s configuration. It joins the network +`myapp` under the name `myapp_db_1`. -Each container can now look up the hostname `web` or `db` and get back the appropriate container's IP address. For example, `web`'s application code could connect to the URL `postgres://db:5432` and start using the Postgres database. +Each container can now look up the hostname `myapp_web_1` or `myapp_db_1` and +get back the appropriate container's IP address. For example, `web`'s +application code could connect to the URL `postgres://myapp_db_1:5432` and start +using the Postgres database. Because `web` explicitly maps a port, it's also accessible from the outside world via port 8000 on your Docker host's network interface. +> **Note:** in the next release there will be additional aliases for the +> container, including a short name without the project name and container +> index. The full container name will remain as one of the alias for backwards +> compatibility. + ## Updating containers If you make a configuration change to a service and run `docker-compose up` to update it, the old container will be removed and the new one will join the network under a different IP address but the same name. Running containers will be able to look up that name and connect to the new address, but the old address will stop working. @@ -45,19 +59,13 @@ If any containers have connections open to the old container, they will be close ## Configure how services are published -By default, containers for each service are published on the network with the same name as the service. If you want to change the name, or stop containers from being discoverable at all, you can use the `hostname` option: +By default, containers for each service are published on the network with the +container name. If you want to change the name, or stop containers from being +discoverable at all, you can use the `container_name` option: web: build: . - hostname: "my-web-application" - -This will also change the hostname inside the container, so that the `hostname` command will return `my-web-application`. - -## Scaling services - -If you create multiple containers for a service with `docker-compose scale`, each container will join the network with the same name. For example, if you run `docker-compose scale web=3`, then 3 containers will join the network under the name `web`. Inside any container on the network, looking up the name `web` will return the IP address of one of them, but Docker and Compose do not provide any guarantees about which one. - -This limitation will be addressed in a future version of Compose, where a load balancer will join under the service name and balance traffic between the service's containers in a configurable manner. + container_name: "my-web-application" ## Links diff --git a/project/ISSUE-TRIAGE.md b/project/ISSUE-TRIAGE.md index 58312a603..b89cdc240 100644 --- a/project/ISSUE-TRIAGE.md +++ b/project/ISSUE-TRIAGE.md @@ -20,15 +20,16 @@ The following labels are provided in additional to the standard labels: Most issues should fit into one of the following functional areas: -| Area | -|----------------| -| area/build | -| area/cli | -| area/config | -| area/logs | -| area/packaging | -| area/run | -| area/scale | -| area/tests | -| area/up | -| area/volumes | +| Area | +|-----------------| +| area/build | +| area/cli | +| area/config | +| area/logs | +| area/networking | +| area/packaging | +| area/run | +| area/scale | +| area/tests | +| area/up | +| area/volumes | From f67503d9fd2864fc16cf64811b1b38b6a58ff5e4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Oct 2015 11:28:17 -0400 Subject: [PATCH 118/221] Logs are available for all log drivers except for none. Signed-off-by: Daniel Nephin --- compose/container.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/container.py b/compose/container.py index dd69e8ddd..1ca483809 100644 --- a/compose/container.py +++ b/compose/container.py @@ -145,7 +145,7 @@ class Container(object): @property def has_api_logs(self): log_type = self.log_driver - return not log_type or log_type == 'json-file' + return not log_type or log_type != 'none' def attach_log_stream(self): """A log stream can only be attached if the container uses a json-file From ab0ddb593f8a6a98c3bb85b8487574179f8f2262 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Thu, 29 Oct 2015 16:52:00 +0000 Subject: [PATCH 119/221] Clarify the command is an example Signed-off-by: Mazz Mosley --- docs/install.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/install.md b/docs/install.md index 3c5dea5eb..ea78948ed 100644 --- a/docs/install.md +++ b/docs/install.md @@ -30,13 +30,14 @@ To install Compose, do the following: 3. Go to the Compose repository release page on GitHub. -4. Follow the instructions from the release page and run the `curl` command in your terminal. +4. Follow the instructions from the release page and run the `curl` command, +which the release page specifies, in your terminal. > Note: If you get a "Permission denied" error, your `/usr/local/bin` directory probably isn't writable and you'll need to install Compose as the superuser. Run `sudo -i`, then the two commands below, then `exit`. - The command has the following format: + The following is an example command illustrating the format: curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose From 9370cb033cc7a51e55144085d2e76795c64982af Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Thu, 29 Oct 2015 17:56:01 +0100 Subject: [PATCH 120/221] Ensure network exists when calling run before up Otherwise the daemon will error out because the network doesn't exist yet. Signed-off-by: Joffrey F --- compose/cli/main.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/compose/cli/main.py b/compose/cli/main.py index 5505b89f5..4369aa707 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -380,6 +380,8 @@ class TopLevelCommand(DocoptCommand): start_deps=True, strategy=ConvergenceStrategy.never, ) + elif project.use_networking: + project.ensure_network_exists() tty = True if detach or options['-T'] or not sys.stdin.isatty(): From 1f26841e238e4d1f005d194cae6f076b93a3d8a2 Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Fri, 30 Oct 2015 14:15:47 +0100 Subject: [PATCH 121/221] Integration test for run command with networking enabled Signed-off-by: Joffrey F --- tests/integration/cli_test.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 19cc822ee..45f45645f 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -508,6 +508,20 @@ class CLITestCase(DockerClientTestCase): container, = service.containers(stopped=True, one_off=True) self.assertEqual(container.name, name) + @mock.patch('dockerpty.start') + def test_run_with_networking(self, _): + self.require_api_version('1.21') + client = docker_client(version='1.21') + self.command.base_dir = 'tests/fixtures/simple-dockerfile' + self.command.dispatch(['--x-networking', 'run', 'simple', 'true'], None) + service = self.project.get_service('simple') + container, = service.containers(stopped=True, one_off=True) + networks = client.networks(names=[self.project.name]) + for n in networks: + self.addCleanup(client.remove_network, n['id']) + self.assertEqual(len(networks), 1) + self.assertEqual(container.human_readable_command, u'true') + def test_rm(self): service = self.project.get_service('simple') service.create_container() From 4d613d3ba780f46c46669e829eadad1daf5e0cb4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Oct 2015 14:06:50 -0400 Subject: [PATCH 122/221] Use colors when logging warnings or errors, so they are more obvious. Signed-off-by: Daniel Nephin --- compose/cli/formatter.py | 23 +++++++++++++++++++++++ compose/cli/main.py | 22 ++++++++++++++-------- compose/config/interpolation.py | 2 +- tests/unit/cli/main_test.py | 29 +++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 9 deletions(-) diff --git a/compose/cli/formatter.py b/compose/cli/formatter.py index 9ed52c4aa..d0ed0f87e 100644 --- a/compose/cli/formatter.py +++ b/compose/cli/formatter.py @@ -1,10 +1,13 @@ from __future__ import absolute_import from __future__ import unicode_literals +import logging import os import texttable +from compose.cli import colors + def get_tty_width(): tty_size = os.popen('stty size', 'r').read().split() @@ -15,6 +18,7 @@ def get_tty_width(): class Formatter(object): + """Format tabular data for printing.""" def table(self, headers, rows): table = texttable.Texttable(max_width=get_tty_width()) table.set_cols_dtype(['t' for h in headers]) @@ -23,3 +27,22 @@ class Formatter(object): table.set_chars(['-', '|', '+', '-']) return table.draw() + + +class ConsoleWarningFormatter(logging.Formatter): + """A logging.Formatter which prints WARNING and ERROR messages with + a prefix of the log level colored appropriate for the log level. + """ + + def get_level_message(self, record): + separator = ': ' + if record.levelno == logging.WARNING: + return colors.yellow(record.levelname) + separator + if record.levelno == logging.ERROR: + return colors.red(record.levelname) + separator + + return '' + + def format(self, record): + message = super(ConsoleWarningFormatter, self).format(record) + return self.get_level_message(record) + message diff --git a/compose/cli/main.py b/compose/cli/main.py index 4369aa707..2a5ab49af 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -28,6 +28,7 @@ from .command import project_from_options from .docopt_command import DocoptCommand from .docopt_command import NoSuchCommand from .errors import UserError +from .formatter import ConsoleWarningFormatter from .formatter import Formatter from .log_printer import LogPrinter from .utils import get_version_info @@ -41,7 +42,7 @@ log = logging.getLogger(__name__) console_handler = logging.StreamHandler(sys.stderr) INSECURE_SSL_WARNING = """ -Warning: --allow-insecure-ssl is deprecated and has no effect. +--allow-insecure-ssl is deprecated and has no effect. It will be removed in a future version of Compose. """ @@ -91,13 +92,18 @@ def setup_logging(): logging.getLogger("requests").propagate = False -def setup_console_handler(verbose): - if verbose: - console_handler.setFormatter(logging.Formatter('%(name)s.%(funcName)s: %(message)s')) - console_handler.setLevel(logging.DEBUG) +def setup_console_handler(handler, verbose): + if handler.stream.isatty(): + format_class = ConsoleWarningFormatter else: - console_handler.setFormatter(logging.Formatter()) - console_handler.setLevel(logging.INFO) + format_class = logging.Formatter + + if verbose: + handler.setFormatter(format_class('%(name)s.%(funcName)s: %(message)s')) + handler.setLevel(logging.DEBUG) + else: + handler.setFormatter(format_class()) + handler.setLevel(logging.INFO) # stolen from docopt master @@ -153,7 +159,7 @@ class TopLevelCommand(DocoptCommand): return options def perform_command(self, options, handler, command_options): - setup_console_handler(options.get('--verbose')) + setup_console_handler(console_handler, options.get('--verbose')) if options['COMMAND'] in ('help', 'version'): # Skip looking up the compose file. diff --git a/compose/config/interpolation.py b/compose/config/interpolation.py index f870ab4b2..f8e1da610 100644 --- a/compose/config/interpolation.py +++ b/compose/config/interpolation.py @@ -78,7 +78,7 @@ class BlankDefaultDict(dict): except KeyError: if key not in self.missing_keys: log.warn( - "The {} variable is not set. Substituting a blank string." + "The {} variable is not set. Defaulting to a blank string." .format(key) ) self.missing_keys.append(key) diff --git a/tests/unit/cli/main_test.py b/tests/unit/cli/main_test.py index a5b369808..ee837fcd4 100644 --- a/tests/unit/cli/main_test.py +++ b/tests/unit/cli/main_test.py @@ -1,11 +1,15 @@ from __future__ import absolute_import +import logging + from compose import container from compose.cli.errors import UserError +from compose.cli.formatter import ConsoleWarningFormatter from compose.cli.log_printer import LogPrinter from compose.cli.main import attach_to_logs from compose.cli.main import build_log_printer from compose.cli.main import convergence_strategy_from_opts +from compose.cli.main import setup_console_handler from compose.project import Project from compose.service import ConvergenceStrategy from tests import mock @@ -60,6 +64,31 @@ class CLIMainTestCase(unittest.TestCase): timeout=timeout) +class SetupConsoleHandlerTestCase(unittest.TestCase): + + def setUp(self): + self.stream = mock.Mock() + self.stream.isatty.return_value = True + self.handler = logging.StreamHandler(stream=self.stream) + + def test_with_tty_verbose(self): + setup_console_handler(self.handler, True) + assert type(self.handler.formatter) == ConsoleWarningFormatter + assert '%(name)s' in self.handler.formatter._fmt + assert '%(funcName)s' in self.handler.formatter._fmt + + def test_with_tty_not_verbose(self): + setup_console_handler(self.handler, False) + assert type(self.handler.formatter) == ConsoleWarningFormatter + assert '%(name)s' not in self.handler.formatter._fmt + assert '%(funcName)s' not in self.handler.formatter._fmt + + def test_with_not_a_tty(self): + self.stream.isatty.return_value = False + setup_console_handler(self.handler, False) + assert type(self.handler.formatter) == logging.Formatter + + class ConvergeStrategyFromOptsTestCase(unittest.TestCase): def test_invalid_opts(self): From db164cefd336e152b12e3088aa92d274d852b157 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Oct 2015 14:15:08 -0400 Subject: [PATCH 123/221] Remove the duplicate 'Warning' prefix now that the logger adds the prefix. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 5 ++--- compose/config/validation.py | 8 +++++--- compose/service.py | 2 +- tests/unit/cli/formatter_test.py | 35 ++++++++++++++++++++++++++++++++ tests/unit/config/config_test.py | 2 +- 5 files changed, 44 insertions(+), 8 deletions(-) create mode 100644 tests/unit/cli/formatter_test.py diff --git a/compose/cli/main.py b/compose/cli/main.py index 2a5ab49af..b54b307ef 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -59,9 +59,8 @@ def main(): log.error(e.msg) sys.exit(1) except NoSuchCommand as e: - log.error("No such command: %s", e.command) - log.error("") - log.error("\n".join(parse_doc_section("commands:", getdoc(e.supercommand)))) + commands = "\n".join(parse_doc_section("commands:", getdoc(e.supercommand))) + log.error("No such command: %s\n\n%s", e.command, commands) sys.exit(1) except APIError as e: log.error(e.explanation) diff --git a/compose/config/validation.py b/compose/config/validation.py index 8cfc405fe..542081d52 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -57,9 +57,11 @@ def format_boolean_in_environment(instance): """ if isinstance(instance, bool): log.warn( - "Warning: There is a boolean value in the 'environment' key.\n" - "Environment variables can only be strings.\nPlease add quotes to any boolean values to make them string " - "(eg, 'True', 'yes', 'N').\nThis warning will become an error in a future release. \r\n" + "There is a boolean value in the 'environment' key.\n" + "Environment variables can only be strings.\n" + "Please add quotes to any boolean values to make them string " + "(eg, 'True', 'yes', 'N').\n" + "This warning will become an error in a future release. \r\n" ) return True diff --git a/compose/service.py b/compose/service.py index dbcec1038..66c90b0e0 100644 --- a/compose/service.py +++ b/compose/service.py @@ -848,7 +848,7 @@ class ServiceNet(object): if containers: return 'container:' + containers[0].id - log.warn("Warning: Service %s is trying to use reuse the network stack " + log.warn("Service %s is trying to use reuse the network stack " "of another service that is not running." % (self.id)) return None diff --git a/tests/unit/cli/formatter_test.py b/tests/unit/cli/formatter_test.py new file mode 100644 index 000000000..1c3b6a68e --- /dev/null +++ b/tests/unit/cli/formatter_test.py @@ -0,0 +1,35 @@ +from __future__ import absolute_import +from __future__ import unicode_literals + +import logging + +from compose.cli import colors +from compose.cli.formatter import ConsoleWarningFormatter +from tests import unittest + + +MESSAGE = 'this is the message' + + +def makeLogRecord(level): + return logging.LogRecord('name', level, 'pathame', 0, MESSAGE, (), None) + + +class ConsoleWarningFormatterTestCase(unittest.TestCase): + + def setUp(self): + self.formatter = ConsoleWarningFormatter() + + def test_format_warn(self): + output = self.formatter.format(makeLogRecord(logging.WARN)) + expected = colors.yellow('WARNING') + ': ' + assert output == expected + MESSAGE + + def test_format_error(self): + output = self.formatter.format(makeLogRecord(logging.ERROR)) + expected = colors.red('ERROR') + ': ' + assert output == expected + MESSAGE + + def test_format_info(self): + output = self.formatter.format(makeLogRecord(logging.INFO)) + assert output == MESSAGE diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index a54b006fa..2835e9c80 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -380,7 +380,7 @@ class ConfigTest(unittest.TestCase): @mock.patch('compose.config.validation.log') def test_logs_warning_for_boolean_in_environment(self, mock_logging): - expected_warning_msg = "Warning: There is a boolean value in the 'environment' key." + expected_warning_msg = "There is a boolean value in the 'environment' key." config.load( build_config_details( {'web': { From d392f70cc6aa88f60f40cf2e58d9603ebac847ac Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 27 Oct 2015 15:04:35 -0400 Subject: [PATCH 124/221] Fixes #1843, #1936 - chown files back to host user in django example. Also add a missing 'touch Gemfile.lock' to fix the rails tutorial. Signed-off-by: Daniel Nephin --- docs/django.md | 16 ++++++++++++++-- docs/rails.md | 14 ++++++++++++-- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/docs/django.md b/docs/django.md index fd18784ec..2bb67399c 100644 --- a/docs/django.md +++ b/docs/django.md @@ -110,8 +110,20 @@ In this step, you create a Django started project by building the image from the 3. After the `docker-compose` command completes, list the contents of your project. - $ ls - Dockerfile docker-compose.yml composeexample manage.py requirements.txt + $ ls -l + drwxr-xr-x 2 root root composeexample + -rw-rw-r-- 1 user user docker-compose.yml + -rw-rw-r-- 1 user user Dockerfile + -rwxr-xr-x 1 root root manage.py + -rw-rw-r-- 1 user user requirements.txt + + The files `django-admin` created are owned by root. This happens because + the container runs as the `root` user. + +4. Change the ownership of the new files. + + sudo chown -R $USER:$USER . + ## Connect the database diff --git a/docs/rails.md b/docs/rails.md index a33cac26e..e81675c53 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -37,6 +37,10 @@ Next, create a bootstrap `Gemfile` which just loads Rails. It'll be overwritten source 'https://rubygems.org' gem 'rails', '4.2.0' +You'll need an empty `Gemfile.lock` in order to build our `Dockerfile`. + + $ touch Gemfile.lock + Finally, `docker-compose.yml` is where the magic happens. This file describes the services that comprise your app (a database and a web app), how to get each one's Docker image (the database just runs on a pre-made PostgreSQL image, and the web app is built from the current directory), and the configuration needed to link them together and expose the web app's port. db: @@ -69,6 +73,12 @@ image. Once it's done, you should have generated a fresh app: README.rdoc config.ru public Rakefile db test + +The files `rails new` created are owned by root. This happens because the +container runs as the `root` user. Change the ownership of the new files. + + sudo chown -R $USER:$USER . + Uncomment the line in your new `Gemfile` which loads `therubyracer`, so you've got a Javascript runtime: @@ -80,6 +90,7 @@ rebuild.) $ docker-compose build + ### Connect the database The app is now bootable, but you're not quite there yet. By default, Rails @@ -87,8 +98,7 @@ expects a database to be running on `localhost` - so you need to point it at the `db` container instead. You also need to change the database and username to align with the defaults set by the `postgres` image. -Open up your newly-generated `database.yml` file. Replace its contents with the -following: +Replace the contents of `config/database.yml` with the following: development: &default adapter: postgresql From 2f2e946907e463404e36525e91ec90f05b606e29 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 30 Oct 2015 11:53:36 -0400 Subject: [PATCH 125/221] Don't set a default network driver, let the server decide. Signed-off-by: Daniel Nephin --- compose/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/project.py b/compose/project.py index 68edaddcb..1e01eaf6d 100644 --- a/compose/project.py +++ b/compose/project.py @@ -83,7 +83,7 @@ class Project(object): self.services = services self.client = client self.use_networking = use_networking - self.network_driver = network_driver or 'bridge' + self.network_driver = network_driver def labels(self, one_off=False): return [ From ed1b584c42c5acd6f33278df48939957720319b4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 12:01:34 -0400 Subject: [PATCH 126/221] Fix release script notes about software and typos. Signed-off-by: Daniel Nephin --- project/RELEASE-PROCESS.md | 12 ++++++++++-- script/release/cherry-pick-pr | 2 +- script/release/push-release | 5 ++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/project/RELEASE-PROCESS.md b/project/RELEASE-PROCESS.md index ffa18077f..040a2602b 100644 --- a/project/RELEASE-PROCESS.md +++ b/project/RELEASE-PROCESS.md @@ -1,6 +1,14 @@ Building a Compose release ========================== +## Prerequisites + +The release scripts require the following tools installed on the host: + +* https://hub.github.com/ +* https://stedolan.github.io/jq/ +* http://pandoc.org/ + ## To get started with a new release Create a branch, update version, and add release notes by running `make-branch` @@ -40,10 +48,10 @@ As part of this script you'll be asked to: ## To release a version (whether RC or stable) -Check out the bump branch and run the `build-binary` script +Check out the bump branch and run the `build-binaries` script git checkout bump-$VERSION - ./script/release/build-binary + ./script/release/build-binaries When prompted build the non-linux binaries and test them. diff --git a/script/release/cherry-pick-pr b/script/release/cherry-pick-pr index 604600872..f4a5a7406 100755 --- a/script/release/cherry-pick-pr +++ b/script/release/cherry-pick-pr @@ -22,7 +22,7 @@ EOM if [ -z "$(command -v hub 2> /dev/null)" ]; then >&2 echo "$0 requires https://hub.github.com/." - >&2 echo "Please install it and ake sure it is available on your \$PATH." + >&2 echo "Please install it and make sure it is available on your \$PATH." exit 2 fi diff --git a/script/release/push-release b/script/release/push-release index 039436da0..9229f0934 100755 --- a/script/release/push-release +++ b/script/release/push-release @@ -34,7 +34,9 @@ GITHUB_REPO=git@github.com:$REPO sha=$(git rev-parse HEAD) url=$API/$REPO/statuses/$sha build_status=$(curl -s $url | jq -r '.[0].state') -if [[ "$build_status" != "success" ]]; then +if [ -n "$SKIP_BUILD_CHECK" ]; then + echo "Skipping build status check..." +elif [[ "$build_status" != "success" ]]; then >&2 echo "Build status is $build_status, but it should be success." exit -1 fi @@ -61,6 +63,7 @@ source venv-test/bin/activate pip install docker-compose==$VERSION docker-compose version deactivate +rm -rf venv-test echo "Now publish the github release, and test the downloads." echo "Email maintainers@dockerproject.org and engineering@docker.com about the new release." From 569ccbadec9edb396135ec991417e340d2bd56ee Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 12:11:29 -0400 Subject: [PATCH 127/221] Convert the README to rst and fix the logo url before packaging it up for pypi. Signed-off-by: Daniel Nephin --- .gitignore | 1 + MANIFEST.in | 2 ++ script/release/push-release | 15 +++++++++++---- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 1b0c50113..83a08a0e6 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /dist /docs/_site /venv +README.rst diff --git a/MANIFEST.in b/MANIFEST.in index 43ae06d3e..0342e35be 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -4,6 +4,8 @@ include requirements.txt include requirements-dev.txt include tox.ini include *.md +exclude README.md +include README.rst include compose/config/*.json recursive-include contrib/completion * recursive-include tests * diff --git a/script/release/push-release b/script/release/push-release index 9229f0934..ccdf24960 100755 --- a/script/release/push-release +++ b/script/release/push-release @@ -21,11 +21,17 @@ VERSION="$(git config "branch.${BRANCH}.release")" || usage if [ -z "$(command -v jq 2> /dev/null)" ]; then >&2 echo "$0 requires https://stedolan.github.io/jq/" - >&2 echo "Please install it and ake sure it is available on your \$PATH." + >&2 echo "Please install it and make sure it is available on your \$PATH." exit 2 fi +if [ -z "$(command -v pandoc 2> /dev/null)" ]; then + >&2 echo "$0 requires http://pandoc.org/" + >&2 echo "Please install it and make sure it is available on your \$PATH." + exit 2 +fi + API=https://api.github.com/repos REPO=docker/compose GITHUB_REPO=git@github.com:$REPO @@ -45,12 +51,13 @@ echo "Tagging the release as $VERSION" git tag $VERSION git push $GITHUB_REPO $VERSION -echo "Uploading sdist to pypi" -python setup.py sdist - echo "Uploading the docker image" docker push docker/compose:$VERSION +echo "Uploading sdist to pypi" +pandoc -f markdown -t rst README.md -o README.rst +sed -i -e 's/logo.png?raw=true/https:\/\/github.com\/docker\/compose\/raw\/master\/logo.png?raw=true/' README.rst +python setup.py sdist if [ "$(command -v twine 2> /dev/null)" ]; then twine upload ./dist/docker-compose-${VERSION}.tar.gz else From 73ca4eb5991dda6986d4970635a2f6aea463f8e4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 12:40:59 -0400 Subject: [PATCH 128/221] On error print daemon logs Signed-off-by: Daniel Nephin --- script/test-versions | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/script/test-versions b/script/test-versions index 89793359b..43326ccb6 100755 --- a/script/test-versions +++ b/script/test-versions @@ -28,10 +28,15 @@ for version in $DOCKER_VERSIONS; do >&2 echo "Running tests against Docker $version" daemon_container="compose-dind-$version-$BUILD_NUMBER" - trap "docker rm -vf $daemon_container" EXIT - # TODO: remove when we stop testing against 1.7.x - daemon=$([[ "$version" == "1.7"* ]] && echo "-d" || echo "daemon") + function on_exit() { + if [[ "$?" != "0" ]]; then + docker logs "$daemon_container" + fi + docker rm -vf "$daemon_container" + } + + trap "on_exit" EXIT docker run \ -d \ @@ -39,7 +44,7 @@ for version in $DOCKER_VERSIONS; do --privileged \ --volume="/var/lib/docker" \ dockerswarm/dind:$version \ - docker $daemon -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \ + docker daemon -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \ docker run \ --rm \ From bdb9a280bc8e42ac79dc453c44b4ceb74f1aaee6 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 15:26:44 -0400 Subject: [PATCH 129/221] Make storage driver configurable in CI Signed-off-by: Daniel Nephin --- script/ci | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/script/ci b/script/ci index 12dc3c473..f30265c02 100755 --- a/script/ci +++ b/script/ci @@ -11,7 +11,9 @@ set -ex docker version export DOCKER_VERSIONS=all -export DOCKER_DAEMON_ARGS="--storage-driver=overlay" +STORAGE_DRIVER=${STORAGE_DRIVER:-overlay} +export DOCKER_DAEMON_ARGS="--storage-driver=$STORAGE_DRIVER" + GIT_VOLUME="--volumes-from=$(hostname)" . script/test-versions From be6b811c4e9a1e8f22f2216c128b9bc91f4ebfdd Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Oct 2015 12:51:57 -0400 Subject: [PATCH 130/221] Bump 1.5.0rc3 Signed-off-by: Daniel Nephin --- CHANGELOG.md | 20 +++++++++++++++++--- compose/__init__.py | 2 +- docs/install.md | 4 ++-- script/run.sh | 2 +- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b2ecd97e..b0474ae2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,33 @@ Change log ========== -1.5.0 (2015-10-13) +1.5.0 (2015-11-02) ------------------ +**Breaking changes:** + +With the introduction of variable substitution support in the Compose file, any +Compose file that uses an environment variable (`$VAR` or `${VAR}`) in the `command:` +or `entrypoint:` field will break. + +Previously these values were interpolated inside the container, with a value +from the container environment. In Compose 1.5.0, the values will be +interpolated on the host, with a value from the host environment. + +To migrate a Compose file to 1.5.0, escape the variables with an extra `$` +(ex: `$$VAR` or `$${VAR}`). See +https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution + Major features: - Compose is now available for Windows. - Environment variables can be used in the Compose file. See - https://github.com/docker/compose/blob/129092b7/docs/yml.md#variable-substitution + https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution - Multiple compose files can be specified, allowing you to override settings in the default Compose file. See - https://github.com/docker/compose/blob/129092b7/docs/reference/docker-compose.md + https://github.com/docker/compose/blob/8cc8e61/docs/reference/docker-compose.md for more details. - Compose now produces better error messages when a file contains diff --git a/compose/__init__.py b/compose/__init__.py index 8ea59a363..7199babb4 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.0rc2' +__version__ = '1.5.0rc3' diff --git a/docs/install.md b/docs/install.md index ea78948ed..711902c7f 100644 --- a/docs/install.md +++ b/docs/install.md @@ -54,7 +54,7 @@ which the release page specifies, in your terminal. 7. Test the installation. $ docker-compose --version - docker-compose version: 1.5.0rc2 + docker-compose version: 1.5.0rc3 ## Alternative install options @@ -76,7 +76,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc2/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc3/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index 25fc8c077..9ed1ea74c 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.0rc2" +VERSION="1.5.0rc3" IMAGE="docker/compose:$VERSION" From e524cce222440f21740925a6e247b7d122f7c4c6 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 27 Oct 2015 16:29:36 -0400 Subject: [PATCH 131/221] Add missing title to compose file reference. Signed-off-by: Daniel Nephin --- docs/compose-file.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/compose-file.md b/docs/compose-file.md index b72a7cc43..ffcda61cb 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -24,6 +24,11 @@ As with `docker run`, options specified in the Dockerfile (e.g., `CMD`, `EXPOSE`, `VOLUME`, `ENV`) are respected by default - you don't need to specify them again in `docker-compose.yml`. +## Service configuration reference + +This section contains a list of all configuration options supported by a service +definition. + ### build Path to a directory containing a Dockerfile. When the value supplied is a From 8733d09a9c7b3a53fa7eef0d13d58c9dde7a4b30 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 9 Oct 2015 10:49:41 -0400 Subject: [PATCH 132/221] Extract the getting started guide from the index page. Signed-off-by: Daniel Nephin --- docs/completion.md | 2 +- docs/django.md | 1 + docs/extends.md | 1 + docs/gettingstarted.md | 163 +++++++++++++++++++++++++++++++++++++++++ docs/index.md | 139 +---------------------------------- docs/install.md | 1 + docs/production.md | 3 - docs/rails.md | 2 +- docs/wordpress.md | 2 +- 9 files changed, 170 insertions(+), 144 deletions(-) create mode 100644 docs/gettingstarted.md diff --git a/docs/completion.md b/docs/completion.md index bc8bedc96..3c2022d82 100644 --- a/docs/completion.md +++ b/docs/completion.md @@ -5,7 +5,7 @@ description = "Compose CLI reference" keywords = ["fig, composition, compose, docker, orchestration, cli, reference"] [menu.main] parent="smn_workw_compose" -weight=3 +weight=10 +++ diff --git a/docs/django.md b/docs/django.md index 2bb67399c..d4d2bd1ec 100644 --- a/docs/django.md +++ b/docs/django.md @@ -173,6 +173,7 @@ In this section, you set up the database connection for Django. - [User guide](../index.md) - [Installing Compose](install.md) +- [Getting Started](gettingstarted.md) - [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) - [Command line reference](./reference/index.md) diff --git a/docs/extends.md b/docs/extends.md index f0b9e9ea2..e63cf4662 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -360,6 +360,7 @@ locally-defined bindings taking precedence: - [User guide](/) - [Installing Compose](install.md) +- [Getting Started](gettingstarted.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) diff --git a/docs/gettingstarted.md b/docs/gettingstarted.md new file mode 100644 index 000000000..f2024b39b --- /dev/null +++ b/docs/gettingstarted.md @@ -0,0 +1,163 @@ + + + +## Getting Started + +Let's get started with a walkthrough of getting a simple Python web app running +on Compose. It assumes a little knowledge of Python, but the concepts +demonstrated here should be understandable even if you're not familiar with +Python. + +### Installation and set-up + +First, [install Docker and Compose](install.md). + +Next, you'll want to make a directory for the project: + + $ mkdir composetest + $ cd composetest + +Inside this directory, create `app.py`, a simple Python web app that uses the Flask +framework and increments a value in Redis. Don't worry if you don't have Redis installed, docker is going to take care of that for you when we [define services](#define-services): + + from flask import Flask + from redis import Redis + + app = Flask(__name__) + redis = Redis(host='redis', port=6379) + + @app.route('/') + def hello(): + redis.incr('hits') + return 'Hello World! I have been seen %s times.' % redis.get('hits') + + if __name__ == "__main__": + app.run(host="0.0.0.0", debug=True) + +Next, define the Python dependencies in a file called `requirements.txt`: + + flask + redis + +### Create a Docker image + +Now, create a Docker image containing all of your app's dependencies. You +specify how to build the image using a file called +[`Dockerfile`](http://docs.docker.com/reference/builder/): + + FROM python:2.7 + ADD . /code + WORKDIR /code + RUN pip install -r requirements.txt + CMD python app.py + +This tells Docker to: + +* Build an image starting with the Python 2.7 image. +* Add the current directory `.` into the path `/code` in the image. +* Set the working directory to `/code`. +* Install the Python dependencies. +* Set the default command for the container to `python app.py` + +For more information on how to write Dockerfiles, see the [Docker user guide](https://docs.docker.com/userguide/dockerimages/#building-an-image-from-a-dockerfile) and the [Dockerfile reference](http://docs.docker.com/reference/builder/). + +You can build the image by running `docker build -t web .`. + +### Define services + +Next, define a set of services using `docker-compose.yml`: + + web: + build: . + ports: + - "5000:5000" + volumes: + - .:/code + links: + - redis + redis: + image: redis + +This template defines two services, `web` and `redis`. The `web` service: + +* Builds from the `Dockerfile` in the current directory. +* Forwards the exposed port 5000 on the container to port 5000 on the host machine. +* Mounts the current directory on the host to `/code` inside the container allowing you to modify the code without having to rebuild the image. +* Links the web container to the Redis service. + +The `redis` service uses the latest public [Redis](https://registry.hub.docker.com/_/redis/) image pulled from the Docker Hub registry. + +### Build and run your app with Compose + +Now, when you run `docker-compose up`, Compose will pull a Redis image, build an image for your code, and start everything up: + + $ docker-compose up + Pulling image redis... + Building web... + Starting composetest_redis_1... + Starting composetest_web_1... + redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 + web_1 | * Running on http://0.0.0.0:5000/ + web_1 | * Restarting with stat + +If you're using [Docker Machine](https://docs.docker.com/machine), then `docker-machine ip MACHINE_VM` will tell you its address and you can open `http://MACHINE_VM_IP:5000` in a browser. + +If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If `http://0.0.0.0:5000` doesn't resolve, you can also try `http://localhost:5000`. + +You should get a message in your browser saying: + +`Hello World! I have been seen 1 times.` + +Refreshing the page will increment the number. + +If you want to run your services in the background, you can pass the `-d` flag +(for "detached" mode) to `docker-compose up` and use `docker-compose ps` to +see what is currently running: + + $ docker-compose up -d + Starting composetest_redis_1... + Starting composetest_web_1... + $ docker-compose ps + Name Command State Ports + ------------------------------------------------------------------- + composetest_redis_1 /usr/local/bin/run Up + composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp + +The `docker-compose run` command allows you to run one-off commands for your +services. For example, to see what environment variables are available to the +`web` service: + + $ docker-compose run web env + +See `docker-compose --help` to see other available commands. You can also install [command completion](completion.md) for the bash and zsh shell, which will also show you available commands. + +If you started Compose with `docker-compose up -d`, you'll probably want to stop +your services once you've finished with them: + + $ docker-compose stop + +At this point, you have seen the basics of how Compose works. + +- Next, try the quick start guide for [Django](django.md), + [Rails](rails.md), or [WordPress](wordpress.md). +- See the reference guides for complete details on the [commands](./reference/index.md), the + [configuration file](compose-file.md) and [environment variables](env.md). + +## More Compose documentation + +- [User guide](/) +- [Installing Compose](install.md) +- [Get started with Django](django.md) +- [Get started with Rails](rails.md) +- [Get started with WordPress](wordpress.md) +- [Command line reference](./reference/index.md) +- [Compose file reference](compose-file.md) diff --git a/docs/index.md b/docs/index.md index 62c78d689..19a6c801c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -50,150 +50,13 @@ Compose has commands for managing the whole lifecycle of your application: ## Compose documentation - [Installing Compose](install.md) +- [Getting Started](gettingstarted.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) -## Quick start - -Let's get started with a walkthrough of getting a simple Python web app running -on Compose. It assumes a little knowledge of Python, but the concepts -demonstrated here should be understandable even if you're not familiar with -Python. - -### Installation and set-up - -First, [install Docker and Compose](install.md). - -Next, you'll want to make a directory for the project: - - $ mkdir composetest - $ cd composetest - -Inside this directory, create `app.py`, a simple Python web app that uses the Flask -framework and increments a value in Redis. Don't worry if you don't have Redis installed, docker is going to take care of that for you when we [define services](#define-services): - - from flask import Flask - from redis import Redis - - app = Flask(__name__) - redis = Redis(host='redis', port=6379) - - @app.route('/') - def hello(): - redis.incr('hits') - return 'Hello World! I have been seen %s times.' % redis.get('hits') - - if __name__ == "__main__": - app.run(host="0.0.0.0", debug=True) - -Next, define the Python dependencies in a file called `requirements.txt`: - - flask - redis - -### Create a Docker image - -Now, create a Docker image containing all of your app's dependencies. You -specify how to build the image using a file called -[`Dockerfile`](http://docs.docker.com/reference/builder/): - - FROM python:2.7 - ADD . /code - WORKDIR /code - RUN pip install -r requirements.txt - CMD python app.py - -This tells Docker to: - -* Build an image starting with the Python 2.7 image. -* Add the current directory `.` into the path `/code` in the image. -* Set the working directory to `/code`. -* Install the Python dependencies. -* Set the default command for the container to `python app.py` - -For more information on how to write Dockerfiles, see the [Docker user guide](https://docs.docker.com/userguide/dockerimages/#building-an-image-from-a-dockerfile) and the [Dockerfile reference](http://docs.docker.com/reference/builder/). - -You can build the image by running `docker build -t web .`. - -### Define services - -Next, define a set of services using `docker-compose.yml`: - - web: - build: . - ports: - - "5000:5000" - volumes: - - .:/code - redis: - image: redis - -This template defines two services, `web` and `redis`. The `web` service: - -* Builds from the `Dockerfile` in the current directory. -* Forwards the exposed port 5000 on the container to port 5000 on the host machine. -* Mounts the current directory on the host to `/code` inside the container allowing you to modify the code without having to rebuild the image. - -The `redis` service uses the latest public [Redis](https://registry.hub.docker.com/_/redis/) image pulled from the Docker Hub registry. - -### Build and run your app with Compose - -Now, when you run `docker-compose up`, Compose will pull a Redis image, build an image for your code, and start everything up: - - $ docker-compose up - Pulling image redis... - Building web... - Starting composetest_redis_1... - Starting composetest_web_1... - redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 - web_1 | * Running on http://0.0.0.0:5000/ - web_1 | * Restarting with stat - -If you're using [Docker Machine](https://docs.docker.com/machine), then `docker-machine ip MACHINE_VM` will tell you its address and you can open `http://MACHINE_VM_IP:5000` in a browser. - -If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If `http://0.0.0.0:5000` doesn't resolve, you can also try `http://localhost:5000`. - -You should get a message in your browser saying: - -`Hello World! I have been seen 1 times.` - -Refreshing the page will increment the number. - -If you want to run your services in the background, you can pass the `-d` flag -(for "detached" mode) to `docker-compose up` and use `docker-compose ps` to -see what is currently running: - - $ docker-compose up -d - Starting composetest_redis_1... - Starting composetest_web_1... - $ docker-compose ps - Name Command State Ports - ------------------------------------------------------------------- - composetest_redis_1 /usr/local/bin/run Up - composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp - -The `docker-compose run` command allows you to run one-off commands for your -services. For example, to see what environment variables are available to the -`web` service: - - $ docker-compose run web env - -See `docker-compose --help` to see other available commands. You can also install [command completion](completion.md) for the bash and zsh shell, which will also show you available commands. - -If you started Compose with `docker-compose up -d`, you'll probably want to stop -your services once you've finished with them: - - $ docker-compose stop - -At this point, you have seen the basics of how Compose works. - -- Next, try the quick start guide for [Django](django.md), - [Rails](rails.md), or [WordPress](wordpress.md). -- See the reference guides for complete details on the [commands](./reference/index.md), the - [configuration file](compose-file.md) and [environment variables](env.md). ## Release Notes diff --git a/docs/install.md b/docs/install.md index 711902c7f..4eb0dc186 100644 --- a/docs/install.md +++ b/docs/install.md @@ -127,6 +127,7 @@ To uninstall Docker Compose if you installed using `pip`: ## Where to go next - [User guide](/) +- [Getting Started](gettingstarted.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) diff --git a/docs/production.md b/docs/production.md index 8793f9277..0b0e46c3f 100644 --- a/docs/production.md +++ b/docs/production.md @@ -86,8 +86,5 @@ guide. ## Compose documentation - [Installing Compose](install.md) -- [Get started with Django](django.md) -- [Get started with Rails](rails.md) -- [Get started with WordPress](wordpress.md) - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) diff --git a/docs/rails.md b/docs/rails.md index e81675c53..8e16af642 100644 --- a/docs/rails.md +++ b/docs/rails.md @@ -135,8 +135,8 @@ That's it. Your app should now be running on port 3000 on your Docker daemon. If - [User guide](/) - [Installing Compose](install.md) +- [Getting Started](gettingstarted.md) - [Get started with Django](django.md) -- [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) diff --git a/docs/wordpress.md b/docs/wordpress.md index 8c1f5b0ac..373ef4d0d 100644 --- a/docs/wordpress.md +++ b/docs/wordpress.md @@ -95,8 +95,8 @@ database containers. If you're using [Docker Machine](https://docs.docker.com/ma - [User guide](/) - [Installing Compose](install.md) +- [Getting Started](gettingstarted.md) - [Get started with Django](django.md) - [Get started with Rails](rails.md) -- [Get started with WordPress](wordpress.md) - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) From 09d2bdbb21135ef88b8eb296f2b6fcd4e6dc03f0 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 9 Oct 2015 11:08:23 -0400 Subject: [PATCH 133/221] Flush out features and use cases. Signed-off-by: Daniel Nephin --- README.md | 17 ++++++---- docs/index.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 97 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index d779d607c..6b783bf12 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,15 @@ Docker Compose *(Previously known as Fig)* -Compose is a tool for defining and running multi-container applications with -Docker. With Compose, you define a multi-container application in a single -file, then spin your application up in a single command which does everything -that needs to be done to get it running. +Compose is a tool for defining and running multi-container Docker applications. +With Compose, you define a multi-container application in a compose +file then, using a single command, you create and start all the containers +from your configuration. To learn more about all the features of Compose +see [the list of features](#features) -Compose is great for development environments, staging servers, and CI. We don't -recommend that you use it in production yet. +Compose is great for development, testing, and staging environments, as well as +CI workflows. You can learn more about each case in +[Common Use Cases](#common-use-cases). Using Compose is basically a three-step process. @@ -33,6 +35,9 @@ A `docker-compose.yml` looks like this: redis: image: redis +For more information about the Compose file, see the +[Compose file reference](docs/yml.md) + Compose has commands for managing the whole lifecycle of your application: * Start, stop and rebuild services diff --git a/docs/index.md b/docs/index.md index 19a6c801c..ac7e07f9b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,20 +11,22 @@ parent="smn_workw_compose" # Overview of Docker Compose -Compose is a tool for defining and running multi-container applications with -Docker. With Compose, you define a multi-container application in a single -file, then spin your application up in a single command which does everything -that needs to be done to get it running. +Compose is a tool for defining and running multi-container Docker applications. +With Compose, you define a multi-container application in a compose +file then, using a single command, you create and start all the containers +from your configuration. To learn more about all the features of Compose +see [the list of features](#features) -Compose is great for development environments, staging servers, and CI. We don't -recommend that you use it in production yet. +Compose is great for development, testing, and staging environments, as well as +CI workflows. You can learn more about each case in +[Common Use Cases](#common-use-cases). Using Compose is basically a three-step process. 1. Define your app's environment with a `Dockerfile` so it can be reproduced anywhere. 2. Define the services that make up your app in `docker-compose.yml` so -they can be run together in an isolated environment: +they can be run together in an isolated environment. 3. Lastly, run `docker-compose up` and Compose will start and run your entire app. A `docker-compose.yml` looks like this: @@ -40,6 +42,9 @@ A `docker-compose.yml` looks like this: redis: image: redis +For more information about the Compose file, see the +[Compose file reference](yml.md) + Compose has commands for managing the whole lifecycle of your application: * Start, stop and rebuild services @@ -57,11 +62,84 @@ Compose has commands for managing the whole lifecycle of your application: - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) +## Features + +#### Preserve volume data + +Compose preserves all volumes used by your services. When `docker-compose up` +runs, if it finds any containers from previous runs, it copies the volumes from +the old container to the new container. This process ensures that any data +you've created in volumes isn't lost. + + +#### Only recreate containers that have changed + +Compose caches the configuration used to create a container. When you +restart a service that has not changed, Compose re-uses the existing +containers. Re-using containers means that you can make changes to your +environment very quickly. + + +#### Variables and moving a composition to different environments + +> New in `docker-compose` 1.5 + +Compose supports variables in the Compose file. You can use these variables +to customize your composition for different environments, or different users. +See [Variable substitution](compose-file.md#variable-substitution) for more +details. + +Compose files can also be extended from other files using the `extends` +field in a compose file, or by using multiple files. See [extends](extends.md) +for more details. + + +## Common Use Cases + +Compose can be used in many different ways. Some common use cases are outlined +below. + +### Development environments + +When you're developing software it is often helpful to be able to run the +application and interact with it. If the application has any service dependencies +(databases, queues, caches, web services, etc) you need a way to document the +dependencies, configuration and operation of each. Compose provides a convenient +format for definition these dependencies (the [Compose file](yml.md)) and a CLI +tool for starting an isolated environment. Compose can replace a multi-page +"developer getting started guide" with a single machine readable configuration +file and a single command `docker-compose up`. + +### Automated testing environments + +An important part of any Continuous Deployment or Continuous Integration process +is the automated test suite. Automated end-to-end testing requires an +environment in which to run tests. Compose provides a convenient way to create +and destroy isolated testing environments for your test suite. By defining the full +environment in a [Compose file](yml.md) you can create and destroy these +environments in just a few commands: + + $ docker-compose up -d + $ ./run_tests + $ docker-compose stop + $ docker-compose rm -f + +### Single host deployments + +Compose has traditionally been focused on development and testing workflows, +but with each release we're making progress on more production-oriented features. +Compose can be used to deploy to a remote docker engine, for example a cloud +instance provisioned with [Docker Machine](https://docs.docker.com/machine/) or +a [Docker Swarm](https://docs.docker.com/swarm/) cluster. + +See [compose in production](production.md) for more details. + ## Release Notes To see a detailed list of changes for past and current releases of Docker -Compose, please refer to the [CHANGELOG](https://github.com/docker/compose/blob/master/CHANGELOG.md). +Compose, please refer to the +[CHANGELOG](https://github.com/docker/compose/blob/master/CHANGELOG.md). ## Getting help From bfb46b37d318eb7f07c031e59840e50bec1e14a2 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 16:28:47 -0400 Subject: [PATCH 134/221] Updates to gettingstarted guide from PR feedback. Signed-off-by: Daniel Nephin --- docs/gettingstarted.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/gettingstarted.md b/docs/gettingstarted.md index f2024b39b..9cc478d7e 100644 --- a/docs/gettingstarted.md +++ b/docs/gettingstarted.md @@ -21,13 +21,13 @@ Python. First, [install Docker and Compose](install.md). -Next, you'll want to make a directory for the project: +Create a directory for the project: $ mkdir composetest $ cd composetest Inside this directory, create `app.py`, a simple Python web app that uses the Flask -framework and increments a value in Redis. Don't worry if you don't have Redis installed, docker is going to take care of that for you when we [define services](#define-services): +framework and increments a value in Redis. from flask import Flask from redis import Redis @@ -74,7 +74,7 @@ You can build the image by running `docker build -t web .`. ### Define services -Next, define a set of services using `docker-compose.yml`: +Define a set of services using `docker-compose.yml`: web: build: . @@ -91,8 +91,8 @@ This template defines two services, `web` and `redis`. The `web` service: * Builds from the `Dockerfile` in the current directory. * Forwards the exposed port 5000 on the container to port 5000 on the host machine. -* Mounts the current directory on the host to `/code` inside the container allowing you to modify the code without having to rebuild the image. -* Links the web container to the Redis service. +* Mounts the project directory on the host to `/code` inside the container allowing you to modify the code without having to rebuild the image. +* Links the web service to the Redis service. The `redis` service uses the latest public [Redis](https://registry.hub.docker.com/_/redis/) image pulled from the Docker Hub registry. @@ -113,7 +113,7 @@ If you're using [Docker Machine](https://docs.docker.com/machine), then `docker- If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If `http://0.0.0.0:5000` doesn't resolve, you can also try `http://localhost:5000`. -You should get a message in your browser saying: +You will see a message in your browser saying: `Hello World! I have been seen 1 times.` From 7ee36829ac87f6e02d14b09c00a63498832d12d3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 23 Oct 2015 16:51:03 -0400 Subject: [PATCH 135/221] Update intro docs based on feedback. Signed-off-by: Daniel Nephin --- README.md | 4 +- docs/gettingstarted.md | 207 +++++++++++++++++++++++------------------ docs/index.md | 50 ++++++---- 3 files changed, 147 insertions(+), 114 deletions(-) diff --git a/README.md b/README.md index 6b783bf12..f8a5050e7 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,6 @@ Docker Compose ============== ![Docker Compose](logo.png?raw=true "Docker Compose Logo") -*(Previously known as Fig)* - Compose is a tool for defining and running multi-container Docker applications. With Compose, you define a multi-container application in a compose file then, using a single command, you create and start all the containers @@ -36,7 +34,7 @@ A `docker-compose.yml` looks like this: image: redis For more information about the Compose file, see the -[Compose file reference](docs/yml.md) +[Compose file reference](docs/compose-file.md) Compose has commands for managing the whole lifecycle of your application: diff --git a/docs/gettingstarted.md b/docs/gettingstarted.md index 9cc478d7e..f685bf382 100644 --- a/docs/gettingstarted.md +++ b/docs/gettingstarted.md @@ -10,84 +10,103 @@ weight=3 -## Getting Started +# Getting Started -Let's get started with a walkthrough of getting a simple Python web app running -on Compose. It assumes a little knowledge of Python, but the concepts -demonstrated here should be understandable even if you're not familiar with -Python. +On this page you build a simple Python web application running on Compose. The +application uses the Flask framework and increments a value in Redis. While the +sample uses Python, the concepts demonstrated here should be understandable even +if you're not familiar with it. -### Installation and set-up +## Prerequisites -First, [install Docker and Compose](install.md). +Make sure you have already +[installed both Docker Engine and Docker Compose](install.md). You +don't need to install Python, it is provided by a Docker image. -Create a directory for the project: +## Step 1: Setup - $ mkdir composetest - $ cd composetest +1. Create a directory for the project: -Inside this directory, create `app.py`, a simple Python web app that uses the Flask -framework and increments a value in Redis. + $ mkdir composetest + $ cd composetest - from flask import Flask - from redis import Redis +2. With your favorite text editor create a file called `app.py` in your project + directory. - app = Flask(__name__) - redis = Redis(host='redis', port=6379) + from flask import Flask + from redis import Redis - @app.route('/') - def hello(): - redis.incr('hits') - return 'Hello World! I have been seen %s times.' % redis.get('hits') + app = Flask(__name__) + redis = Redis(host='redis', port=6379) - if __name__ == "__main__": - app.run(host="0.0.0.0", debug=True) + @app.route('/') + def hello(): + redis.incr('hits') + return 'Hello World! I have been seen %s times.' % redis.get('hits') -Next, define the Python dependencies in a file called `requirements.txt`: + if __name__ == "__main__": + app.run(host="0.0.0.0", debug=True) - flask - redis +3. Create another file called `requirements.txt` in your project directory and + add the following: -### Create a Docker image + flask + redis -Now, create a Docker image containing all of your app's dependencies. You -specify how to build the image using a file called -[`Dockerfile`](http://docs.docker.com/reference/builder/): + These define the applications dependencies. - FROM python:2.7 - ADD . /code - WORKDIR /code - RUN pip install -r requirements.txt - CMD python app.py +## Step 2: Create a Docker image -This tells Docker to: +In this step, you build a new Docker image. The image contains all the +dependencies the Python application requires, including Python itself. -* Build an image starting with the Python 2.7 image. -* Add the current directory `.` into the path `/code` in the image. -* Set the working directory to `/code`. -* Install the Python dependencies. -* Set the default command for the container to `python app.py` +1. In your project directory create a file named `Dockerfile` and add the + following: -For more information on how to write Dockerfiles, see the [Docker user guide](https://docs.docker.com/userguide/dockerimages/#building-an-image-from-a-dockerfile) and the [Dockerfile reference](http://docs.docker.com/reference/builder/). + FROM python:2.7 + ADD . /code + WORKDIR /code + RUN pip install -r requirements.txt + CMD python app.py -You can build the image by running `docker build -t web .`. + This tells Docker to: -### Define services + * Build an image starting with the Python 2.7 image. + * Add the current directory `.` into the path `/code` in the image. + * Set the working directory to `/code`. + * Install the Python dependencies. + * Set the default command for the container to `python app.py` + + For more information on how to write Dockerfiles, see the [Docker user guide](https://docs.docker.com/userguide/dockerimages/#building-an-image-from-a-dockerfile) and the [Dockerfile reference](http://docs.docker.com/reference/builder/). + +2. Build the image. + + $ docker build -t web . + + This command builds an image named `web` from the contents of the current + directory. The command automatically locates the `Dockerfile`, `app.py`, and + `requirements.txt` files. + + +## Step 3: Define services Define a set of services using `docker-compose.yml`: - web: - build: . - ports: - - "5000:5000" - volumes: - - .:/code - links: - - redis - redis: - image: redis +1. Create a file called docker-compose.yml in your project directory and add + the following: -This template defines two services, `web` and `redis`. The `web` service: + web: + build: . + ports: + - "5000:5000" + volumes: + - .:/code + links: + - redis + redis: + image: redis + +This Compose file defines two services, `web` and `redis`. The web service: * Builds from the `Dockerfile` in the current directory. * Forwards the exposed port 5000 on the container to port 5000 on the host machine. @@ -96,68 +115,74 @@ This template defines two services, `web` and `redis`. The `web` service: The `redis` service uses the latest public [Redis](https://registry.hub.docker.com/_/redis/) image pulled from the Docker Hub registry. -### Build and run your app with Compose +## Step 4: Build and run your app with Compose -Now, when you run `docker-compose up`, Compose will pull a Redis image, build an image for your code, and start everything up: +1. From your project directory, start up your application. - $ docker-compose up - Pulling image redis... - Building web... - Starting composetest_redis_1... - Starting composetest_web_1... - redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 - web_1 | * Running on http://0.0.0.0:5000/ - web_1 | * Restarting with stat + $ docker-compose up + Pulling image redis... + Building web... + Starting composetest_redis_1... + Starting composetest_web_1... + redis_1 | [8] 02 Jan 18:43:35.576 # Server started, Redis version 2.8.3 + web_1 | * Running on http://0.0.0.0:5000/ + web_1 | * Restarting with stat -If you're using [Docker Machine](https://docs.docker.com/machine), then `docker-machine ip MACHINE_VM` will tell you its address and you can open `http://MACHINE_VM_IP:5000` in a browser. + Compose pulls a Redis image, builds an image for your code, and start the + services you defined. -If you're using Docker on Linux natively, then the web app should now be listening on port 5000 on your Docker daemon host. If `http://0.0.0.0:5000` doesn't resolve, you can also try `http://localhost:5000`. +2. Enter `http://0.0.0.0:5000/` in a browser to see the application running. -You will see a message in your browser saying: + If you're using Docker on Linux natively, then the web app should now be + listening on port 5000 on your Docker daemon host. If http://0.0.0.0:5000 + doesn't resolve, you can also try http://localhost:5000. -`Hello World! I have been seen 1 times.` + If you're using Docker Machine on a Mac, use `docker-machine ip MACHINE_VM` to get + the IP address of your Docker host. Then, `open http://MACHINE_VM_IP:5000` in a + browser. -Refreshing the page will increment the number. + You should see a message in your browser saying: + + `Hello World! I have been seen 1 times.` + +3. Refresh the page. + + The number should increment. + +## Step 5: Experiment with some other commands If you want to run your services in the background, you can pass the `-d` flag (for "detached" mode) to `docker-compose up` and use `docker-compose ps` to see what is currently running: - $ docker-compose up -d - Starting composetest_redis_1... - Starting composetest_web_1... - $ docker-compose ps - Name Command State Ports - ------------------------------------------------------------------- - composetest_redis_1 /usr/local/bin/run Up - composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp + $ docker-compose up -d + Starting composetest_redis_1... + Starting composetest_web_1... + $ docker-compose ps + Name Command State Ports + ------------------------------------------------------------------- + composetest_redis_1 /usr/local/bin/run Up + composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp The `docker-compose run` command allows you to run one-off commands for your services. For example, to see what environment variables are available to the `web` service: - $ docker-compose run web env + $ docker-compose run web env See `docker-compose --help` to see other available commands. You can also install [command completion](completion.md) for the bash and zsh shell, which will also show you available commands. If you started Compose with `docker-compose up -d`, you'll probably want to stop your services once you've finished with them: - $ docker-compose stop + $ docker-compose stop At this point, you have seen the basics of how Compose works. + +## Where to go next + - Next, try the quick start guide for [Django](django.md), [Rails](rails.md), or [WordPress](wordpress.md). -- See the reference guides for complete details on the [commands](./reference/index.md), the - [configuration file](compose-file.md) and [environment variables](env.md). - -## More Compose documentation - -- [User guide](/) -- [Installing Compose](install.md) -- [Get started with Django](django.md) -- [Get started with Rails](rails.md) -- [Get started with WordPress](wordpress.md) -- [Command line reference](./reference/index.md) -- [Compose file reference](compose-file.md) +- [Explore the full list of Compose commands](./reference/index.md) +- [Compose configuration file reference](compose-file.md) diff --git a/docs/index.md b/docs/index.md index ac7e07f9b..6ea0e99ab 100644 --- a/docs/index.md +++ b/docs/index.md @@ -43,7 +43,7 @@ A `docker-compose.yml` looks like this: image: redis For more information about the Compose file, see the -[Compose file reference](yml.md) +[Compose file reference](compose-file.md) Compose has commands for managing the whole lifecycle of your application: @@ -64,6 +64,12 @@ Compose has commands for managing the whole lifecycle of your application: ## Features +The features of Compose that make it effective are: + +* [Preserve volume data](#preserve-volume-data) +* [Only recreate containers that have changed](#only-recreate-containers-that-have-changed) +* [Variables and moving a composition between environments](#variables-and-moving-a-composition-between-environments) + #### Preserve volume data Compose preserves all volumes used by your services. When `docker-compose up` @@ -80,18 +86,15 @@ containers. Re-using containers means that you can make changes to your environment very quickly. -#### Variables and moving a composition to different environments - -> New in `docker-compose` 1.5 +#### Variables and moving a composition between environments Compose supports variables in the Compose file. You can use these variables to customize your composition for different environments, or different users. See [Variable substitution](compose-file.md#variable-substitution) for more details. -Compose files can also be extended from other files using the `extends` -field in a compose file, or by using multiple files. See [extends](extends.md) -for more details. +You can extend a Compose file using the `extends` field or by creating multiple +Compose files. See [extends](extends.md) for more details. ## Common Use Cases @@ -101,14 +104,19 @@ below. ### Development environments -When you're developing software it is often helpful to be able to run the -application and interact with it. If the application has any service dependencies -(databases, queues, caches, web services, etc) you need a way to document the -dependencies, configuration and operation of each. Compose provides a convenient -format for definition these dependencies (the [Compose file](yml.md)) and a CLI -tool for starting an isolated environment. Compose can replace a multi-page -"developer getting started guide" with a single machine readable configuration -file and a single command `docker-compose up`. +When you're developing software, the ability to run an application in an +isolated environment and interact with it is crucial. The Compose command +line tool can be used to create the environment and interact with it. + +The [Compose file](compose-file.md) provides a way to document and configure +all of the application's service dependencies (databases, queues, caches, +web service APIs, etc). Using the Compose command line tool you can create +and start one or more containers for each dependency with a single command +(`docker-compose up`). + +Together, these features provide a convenient way for developers to get +started on a project. Compose can reduce a multi-page "developer getting +started guide" to a single machine readable Compose file and a few commands. ### Automated testing environments @@ -116,7 +124,7 @@ An important part of any Continuous Deployment or Continuous Integration process is the automated test suite. Automated end-to-end testing requires an environment in which to run tests. Compose provides a convenient way to create and destroy isolated testing environments for your test suite. By defining the full -environment in a [Compose file](yml.md) you can create and destroy these +environment in a [Compose file](compose-file.md) you can create and destroy these environments in just a few commands: $ docker-compose up -d @@ -128,11 +136,13 @@ environments in just a few commands: Compose has traditionally been focused on development and testing workflows, but with each release we're making progress on more production-oriented features. -Compose can be used to deploy to a remote docker engine, for example a cloud -instance provisioned with [Docker Machine](https://docs.docker.com/machine/) or -a [Docker Swarm](https://docs.docker.com/swarm/) cluster. +You can use Compose to deploy to a remote Docker Engine. The Docker Engine may +be a single instance provisioned with +[Docker Machine](https://docs.docker.com/machine/) or an entire +[Docker Swarm](https://docs.docker.com/swarm/) cluster. -See [compose in production](production.md) for more details. +For details on using production-oriented features, see +[compose in production](production.md) in this documentation. ## Release Notes From 413921a287a55e62e9b6ed4f25f419fb7a7b7b1c Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 27 Oct 2015 16:51:49 -0400 Subject: [PATCH 136/221] Add another feature to the docs - multiple environments per host. Signed-off-by: Daniel Nephin --- docs/index.md | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 6ea0e99ab..ebc1320ea 100644 --- a/docs/index.md +++ b/docs/index.md @@ -66,11 +66,29 @@ Compose has commands for managing the whole lifecycle of your application: The features of Compose that make it effective are: -* [Preserve volume data](#preserve-volume-data) +* [Multiple isolated environments on a single host](#Multiple-isolated-environments-on-a-single-host) +* [Preserve volume data when containers are created](#preserve-volume-data-when-containers-are-created) * [Only recreate containers that have changed](#only-recreate-containers-that-have-changed) * [Variables and moving a composition between environments](#variables-and-moving-a-composition-between-environments) -#### Preserve volume data +#### Multiple isolated environments on a single host + +Compose uses a project name to isolate environments from each other. You can use +this project name to: + +* on a dev host, to create multiple copies of a single environment (ex: you want + to run a stable copy for each feature branch of a project) +* on a CI server, to keep builds from interfering with each other, you can set + the project name to a unique build number +* on a shared host or dev host, to prevent different projects which may use the + same service names, from interfering with each other + +The default project name is the basename of the project directory. You can set +a custom project name by using the +[`-p` command line option](./reference/docker-compose.md) or the +[`COMPOSE_PROJECT_NAME` environment variable](./reference/overview.md#compose-project-name). + +#### Preserve volume data when containers are created Compose preserves all volumes used by your services. When `docker-compose up` runs, if it finds any containers from previous runs, it copies the volumes from From 83714fbac26cad2c1fa0b0add01eb04042f29758 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 30 Oct 2015 13:27:06 -0400 Subject: [PATCH 137/221] Touch up intro paragraph with feedback from @moxiegirl. Signed-off-by: Daniel Nephin --- README.md | 6 +++--- docs/index.md | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f8a5050e7..4c967aebc 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,10 @@ Docker Compose ![Docker Compose](logo.png?raw=true "Docker Compose Logo") Compose is a tool for defining and running multi-container Docker applications. -With Compose, you define a multi-container application in a compose -file then, using a single command, you create and start all the containers +With Compose, you use a Compose file to configure your application's services. +Then, using a single command, you create and start all the services from your configuration. To learn more about all the features of Compose -see [the list of features](#features) +see [the list of features](docs/index.md#features). Compose is great for development, testing, and staging environments, as well as CI workflows. You can learn more about each case in diff --git a/docs/index.md b/docs/index.md index ebc1320ea..279154eef 100644 --- a/docs/index.md +++ b/docs/index.md @@ -12,10 +12,10 @@ parent="smn_workw_compose" # Overview of Docker Compose Compose is a tool for defining and running multi-container Docker applications. -With Compose, you define a multi-container application in a compose -file then, using a single command, you create and start all the containers +With Compose, you use a Compose file to configure your application's services. +Then, using a single command, you create and start all the services from your configuration. To learn more about all the features of Compose -see [the list of features](#features) +see [the list of features](#features). Compose is great for development, testing, and staging environments, as well as CI workflows. You can learn more about each case in From 621d1a51679e42a4fed2a1462332e03e6577d3f3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 30 Oct 2015 15:26:56 -0400 Subject: [PATCH 138/221] Fix networking tests to work with new API in engine rc4 (https://github.com/docker/docker/pull/17536) Signed-off-by: Daniel Nephin --- tests/integration/cli_test.py | 12 ++++++------ tests/integration/project_test.py | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 45f45645f..d621f2d13 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -215,17 +215,17 @@ class CLITestCase(DockerClientTestCase): networks = client.networks(names=[self.project.name]) for n in networks: - self.addCleanup(client.remove_network, n['id']) + self.addCleanup(client.remove_network, n['Id']) self.assertEqual(len(networks), 1) - self.assertEqual(networks[0]['driver'], 'bridge') + self.assertEqual(networks[0]['Driver'], 'bridge') - network = client.inspect_network(networks[0]['id']) - self.assertEqual(len(network['containers']), len(services)) + network = client.inspect_network(networks[0]['Id']) + self.assertEqual(len(network['Containers']), len(services)) for service in services: containers = service.containers() self.assertEqual(len(containers), 1) - self.assertIn(containers[0].id, network['containers']) + self.assertIn(containers[0].id, network['Containers']) self.assertEqual(containers[0].get('Config.Hostname'), service.name) web_container = self.project.get_service('web').containers()[0] @@ -518,7 +518,7 @@ class CLITestCase(DockerClientTestCase): container, = service.containers(stopped=True, one_off=True) networks = client.networks(names=[self.project.name]) for n in networks: - self.addCleanup(client.remove_network, n['id']) + self.addCleanup(client.remove_network, n['Id']) self.assertEqual(len(networks), 1) self.assertEqual(container.human_readable_command, u'true') diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index fd45b9393..950523878 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -111,7 +111,7 @@ class ProjectTest(DockerClientTestCase): network_name = 'network_does_exist' project = Project(network_name, [], client) client.create_network(network_name) - assert project.get_network()['name'] == network_name + assert project.get_network()['Name'] == network_name def test_net_from_service(self): project = Project.from_dicts( From 9286e62449da0322336728fc2035201939f6a903 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 2 Nov 2015 13:43:29 -0500 Subject: [PATCH 139/221] On a test failure only show the last 100 lines of daemon output. Signed-off-by: Daniel Nephin --- script/build-linux-inner | 2 +- script/test-versions | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/script/build-linux-inner b/script/build-linux-inner index 1d0f79050..01137ff24 100755 --- a/script/build-linux-inner +++ b/script/build-linux-inner @@ -8,7 +8,7 @@ VENV=/code/.tox/py27 mkdir -p `pwd`/dist chmod 777 `pwd`/dist -$VENV/bin/pip install -r requirements-build.txt +$VENV/bin/pip install -q -r requirements-build.txt su -c "$VENV/bin/pyinstaller docker-compose.spec" user mv dist/docker-compose $TARGET $TARGET version diff --git a/script/test-versions b/script/test-versions index 43326ccb6..623b107b9 100755 --- a/script/test-versions +++ b/script/test-versions @@ -31,7 +31,7 @@ for version in $DOCKER_VERSIONS; do function on_exit() { if [[ "$?" != "0" ]]; then - docker logs "$daemon_container" + docker logs "$daemon_container" 2>&1 | tail -n 100 fi docker rm -vf "$daemon_container" } @@ -45,6 +45,7 @@ for version in $DOCKER_VERSIONS; do --volume="/var/lib/docker" \ dockerswarm/dind:$version \ docker daemon -H tcp://0.0.0.0:2375 $DOCKER_DAEMON_ARGS \ + 2>&1 | tail -n 10 docker run \ --rm \ From bd3589689221af154f9b321c41f2d69b89aeb268 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 9 Oct 2015 12:34:55 -0400 Subject: [PATCH 140/221] Remove duplication from extends docs. Start restructuring extends docs in preparation for adding documentation about using multiple compose files. Signed-off-by: Daniel Nephin --- docs/compose-file.md | 51 ++++----- docs/extends.md | 240 +++++++++++-------------------------------- 2 files changed, 80 insertions(+), 211 deletions(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index ffcda61cb..33e7d2b53 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -166,44 +166,29 @@ accessible to linked services. Only the internal port can be specified. Extend another service, in the current file or another, optionally overriding configuration. -Here's a simple example. Suppose we have 2 files - **common.yml** and -**development.yml**. We can use `extends` to define a service in -**development.yml** which uses configuration defined in **common.yml**: +You can use `extends` on any service together with other configuration keys. +The value must be a dictionary with the key: `service` and may optionally have +the `file` key. -**common.yml** + extends: + file: common.yml + service: webapp - webapp: - build: ./webapp - environment: - - DEBUG=false - - SEND_EMAILS=false +The `file` key specifies the location of a Compose configuration file defining +the service which is being extended. The `file` value can be an absolute or +relative path. If you specify a relative path, Docker Compose treats it as +relative to the location of the current file. If you don't specify a `file`, +Compose looks in the current configuration file. -**development.yml** +The `service` key specifies the name of the service to extend, for example `web` +or `database`. - web: - extends: - file: common.yml - service: webapp - ports: - - "8000:8000" - links: - - db - environment: - - DEBUG=true - db: - image: postgres +You can extend a service that itself extends another. You can extend +indefinitely. Compose does not support circular references and `docker-compose` +returns an error if it encounters one. -Here, the `web` service in **development.yml** inherits the configuration of -the `webapp` service in **common.yml** - the `build` and `environment` keys - -and adds `ports` and `links` configuration. It overrides one of the defined -environment variables (DEBUG) with a new value, and the other one -(SEND_EMAILS) is left untouched. - -The `file` key is optional, if it is not set then Compose will look for the -service within the current file. - -For more on `extends`, see the [tutorial](extends.md#example) and -[reference](extends.md#reference). +For more on `extends`, see the +[the extends documentation](extends.md#extending-services). ### external_links diff --git a/docs/extends.md b/docs/extends.md index e63cf4662..c97b2b4fa 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -10,20 +10,29 @@ weight=2 -## Extending services in Compose +## Extending services and Compose files + +Compose supports two ways to sharing common configuration and +extend a service with that shared configuration. + +1. Extending individual services with [the `extends` field](#extending-services) +2. Extending entire compositions by + [exnteding compose files](#extending-compose-files) + +### Extending services Docker Compose's `extends` keyword enables sharing of common configurations among different files, or even different projects entirely. Extending services -is useful if you have several applications that reuse commonly-defined services. -Using `extends` you can define a service in one place and refer to it from -anywhere. +is useful if you have several services that reuse a common set of configuration +options. Using `extends` you can define a common set of service options in one +place and refer to it from anywhere. -Alternatively, you can deploy the same application to multiple environments with -a slightly different set of services in each case (or with changes to the -configuration of some services). Moreover, you can do so without copy-pasting -the configuration around. +> **Note:** `links` and `volumes_from` are never shared between services using +> `extends`. See +> [Adding and overriding configuration](#adding-and-overriding-configuration) +> for more information. -### Understand the extends configuration +#### Understand the extends configuration When defining any service in `docker-compose.yml`, you can declare that you are extending another service like this: @@ -77,183 +86,46 @@ You can also write other services and link your `web` service to them: db: image: postgres -For full details on how to use `extends`, refer to the [reference](#reference). +#### Example use case -### Example use case +Extending an individual service is useful when you have multiple services that +have a common configuration. In this example we have a composition that with +a web application and a queue worker. Both services use the same codebase and +share many configuration options. -In this example, you’ll repurpose the example app from the [quick start -guide](/). (If you're not familiar with Compose, it's recommended that -you go through the quick start first.) This example assumes you want to use -Compose both to develop an application locally and then deploy it to a -production environment. +In a **common.yml** we'll define the common configuration: -The local and production environments are similar, but there are some -differences. In development, you mount the application code as a volume so that -it can pick up changes; in production, the code should be immutable from the -outside. This ensures it’s not accidentally changed. The development environment -uses a local Redis container, but in production another team manages the Redis -service, which is listening at `redis-production.example.com`. + app: + build: . + environment: + CONFIG_FILE_PATH: /code/config + API_KEY: xxxyyy + cpu_shares: 5 -To configure with `extends` for this sample, you must: - -1. Define the web application as a Docker image in `Dockerfile` and a Compose - service in `common.yml`. - -2. Define the development environment in the standard Compose file, - `docker-compose.yml`. - - - Use `extends` to pull in the web service. - - Configure a volume to enable code reloading. - - Create an additional Redis service for the application to use locally. - -3. Define the production environment in a third Compose file, `production.yml`. - - - Use `extends` to pull in the web service. - - Configure the web service to talk to the external, production Redis service. - -#### Define the web app - -Defining the web application requires the following: - -1. Create an `app.py` file. - - This file contains a simple Python application that uses Flask to serve HTTP - and increments a counter in Redis: - - from flask import Flask - from redis import Redis - import os - - app = Flask(__name__) - redis = Redis(host=os.environ['REDIS_HOST'], port=6379) - - @app.route('/') - def hello(): - redis.incr('hits') - return 'Hello World! I have been seen %s times.\n' % redis.get('hits') - - if __name__ == "__main__": - app.run(host="0.0.0.0", debug=True) - - This code uses a `REDIS_HOST` environment variable to determine where to - find Redis. - -2. Define the Python dependencies in a `requirements.txt` file: - - flask - redis - -3. Create a `Dockerfile` to build an image containing the app: - - FROM python:2.7 - ADD . /code - WORKDIR /code - RUN pip install -r requirements.txt - CMD python app.py - -4. Create a Compose configuration file called `common.yml`: - - This configuration defines how to run the app. - - web: - build: . - ports: - - "5000:5000" - - Typically, you would have dropped this configuration into - `docker-compose.yml` file, but in order to pull it into multiple files with - `extends`, it needs to be in a separate file. - -#### Define the development environment - -1. Create a `docker-compose.yml` file. - - The `extends` option pulls in the `web` service from the `common.yml` file - you created in the previous section. - - web: - extends: - file: common.yml - service: web - volumes: - - .:/code - links: - - redis - environment: - - REDIS_HOST=redis - redis: - image: redis - - The new addition defines a `web` service that: - - - Fetches the base configuration for `web` out of `common.yml`. - - Adds `volumes` and `links` configuration to the base (`common.yml`) - configuration. - - Sets the `REDIS_HOST` environment variable to point to the linked redis - container. This environment uses a stock `redis` image from the Docker Hub. - -2. Run `docker-compose up`. - - Compose creates, links, and starts a web and redis container linked together. - It mounts your application code inside the web container. - -3. Verify that the code is mounted by changing the message in - `app.py`—say, from `Hello world!` to `Hello from Compose!`. - - Don't forget to refresh your browser to see the change! - -#### Define the production environment - -You are almost done. Now, define your production environment: - -1. Create a `production.yml` file. - - As with `docker-compose.yml`, the `extends` option pulls in the `web` service - from `common.yml`. - - web: - extends: - file: common.yml - service: web - environment: - - REDIS_HOST=redis-production.example.com - -2. Run `docker-compose -f production.yml up`. - - Compose creates *just* a web container and configures the Redis connection via - the `REDIS_HOST` environment variable. This variable points to the production - Redis instance. - - > **Note**: If you try to load up the webapp in your browser you'll get an - > error—`redis-production.example.com` isn't actually a Redis server. - -You've now done a basic `extends` configuration. As your application develops, -you can make any necessary changes to the web service in `common.yml`. Compose -picks up both the development and production environments when you next run -`docker-compose`. You don't have to do any copy-and-paste, and you don't have to -manually keep both environments in sync. +In a **docker-compose.yml** we'll define the concrete services which use the +common configuration: -### Reference + webapp: + extends: + file: common.yml + service: app + command: /code/run_web_app + ports: + - 8080:8080 + links: + - queue + - db -You can use `extends` on any service together with other configuration keys. It -expects a dictionary that contains a `service` key and optionally a `file` key. -The `extends` key can also take a string, whose value is the name of a `service` defined in the same file. + queue_worker: + extends: + file: common.yml + service: app + command: /code/run_worker + links: + - queue -The `file` key specifies the location of a Compose configuration file defining -the extension. The `file` value can be an absolute or relative path. If you -specify a relative path, Docker Compose treats it as relative to the location -of the current file. If you don't specify a `file`, Compose looks in the -current configuration file. - -The `service` key specifies the name of the service to extend, for example `web` -or `database`. - -You can extend a service that itself extends another. You can extend -indefinitely. Compose does not support circular references and `docker-compose` -returns an error if it encounters them. - -#### Adding and overriding configuration +#### Adding and overriding configuration Compose copies configurations from the original service over to the local one, **except** for `links` and `volumes_from`. These exceptions exist to avoid @@ -282,6 +154,8 @@ listed below.** In the case of `build` and `image`, using one in the local service causes Compose to discard the other, if it was defined in the original service. +Example of image replacing build: + # original service build: . @@ -291,6 +165,9 @@ Compose to discard the other, if it was defined in the original service. # result image: redis + +Example of build replacing image: + # original service image: redis @@ -356,6 +233,13 @@ locally-defined bindings taking precedence: - /local-dir/bar:/bar - /local-dir/baz/:baz + +### Extending Compose files + +> **Note:** This feature is new in `docker-compose` 1.5 + + + ## Compose documentation - [User guide](/) From 887c6753f800f1b11a49f17fe42559cf95c6ae61 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 29 Oct 2015 15:21:06 -0400 Subject: [PATCH 141/221] Support a volume to the docs directory and add --watch, so docs can be refreshed. Signed-off-by: Daniel Nephin --- docs/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index 021e8f6e5..b9ef05482 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -13,8 +13,8 @@ DOCKER_ENVS := \ -e TIMEOUT # note: we _cannot_ add "-e DOCKER_BUILDTAGS" here because even if it's unset in the shell, that would shadow the "ENV DOCKER_BUILDTAGS" set in our Dockerfile, which is very important for our official builds -# to allow `make DOCSDIR=docs docs-shell` (to create a bind mount in docs) -DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR)/$(DOCSDIR):/$(DOCSDIR)) +# to allow `make DOCSDIR=1 docs-shell` (to create a bind mount in docs) +DOCS_MOUNT := $(if $(DOCSDIR),-v $(CURDIR):/docs/content/compose) # to allow `make DOCSPORT=9000 docs` DOCSPORT := 8000 @@ -37,7 +37,7 @@ GITCOMMIT := $(shell git rev-parse --short HEAD 2>/dev/null) default: docs docs: docs-build - $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) + $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) --watch docs-draft: docs-build $(DOCKER_RUN_DOCS) -p $(if $(DOCSPORT),$(DOCSPORT):)8000 -e DOCKERHOST "$(DOCKER_DOCS_IMAGE)" hugo server --buildDrafts="true" --port=$(DOCSPORT) --baseUrl=$(HUGO_BASE_URL) --bind=$(HUGO_BIND_IP) From dbd6c62b70c451897178f6e56392947acafebea3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 17:17:38 -0400 Subject: [PATCH 142/221] Changes to production.md for working with multiple Compose files. Signed-off-by: Daniel Nephin --- docs/production.md | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/docs/production.md b/docs/production.md index 0b0e46c3f..39f0e1fe1 100644 --- a/docs/production.md +++ b/docs/production.md @@ -12,11 +12,9 @@ weight=1 ## Using Compose in production -While **Compose is not yet considered production-ready**, if you'd like to experiment and learn more about using it in production deployments, this guide -can help. -The project is actively working towards becoming -production-ready; to learn more about the progress being made, check out the roadmap for details -on how it's coming along and what still needs to be done. +> Compose is still primarily aimed at development and testing environments. +> Compose may be used for smaller production deployments, but is probably +> not yet suitable for larger deployments. When deploying to production, you'll almost certainly want to make changes to your app configuration that are more appropriate to a live environment. These @@ -30,22 +28,16 @@ changes may include: - Specifying a restart policy (e.g., `restart: always`) to avoid downtime - Adding extra services (e.g., a log aggregator) -For this reason, you'll probably want to define a separate Compose file, say -`production.yml`, which specifies production-appropriate configuration. +For this reason, you'll probably want to define an additional Compose file, say +`production.yml`, which specifies production-appropriate +configuration. This configuration file only needs to include the changes you'd +like to make from the original Compose file. The additional Compose file +can be applied over the original `docker-compose.yml` to create a new configuration. -> **Note:** The [extends](extends.md) keyword is useful for maintaining multiple -> Compose files which re-use common services without having to manually copy and -> paste. +Once you've got a second configuration file, tell Compose to use it with the +`-f` option: -Once you've got an alternate configuration file, make Compose use it -by setting the `COMPOSE_FILE` environment variable: - - $ export COMPOSE_FILE=production.yml - $ docker-compose up -d - -> **Note:** You can also use the file for a one-off command without setting -> an environment variable. You do this by passing the `-f` flag, e.g., -> `docker-compose -f production.yml up -d`. + $ docker-compose -f docker-compose.yml -f production.yml up -d ### Deploying changes From 58de4e0c267ebf34d053bf30e68acd1600544b68 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 9 Oct 2015 12:56:59 -0400 Subject: [PATCH 143/221] Document using multiple Compose files use cases. Signed-off-by: Daniel Nephin --- docs/compose-file.md | 18 ++-- docs/extends.md | 208 ++++++++++++++++++++++++++++++++++--------- docs/production.md | 3 + 3 files changed, 176 insertions(+), 53 deletions(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index 33e7d2b53..034653efe 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -167,21 +167,21 @@ Extend another service, in the current file or another, optionally overriding configuration. You can use `extends` on any service together with other configuration keys. -The value must be a dictionary with the key: `service` and may optionally have -the `file` key. +The `extends` value must be a dictionary defined with a required `service` +and an optional `file` key. extends: file: common.yml service: webapp -The `file` key specifies the location of a Compose configuration file defining -the service which is being extended. The `file` value can be an absolute or -relative path. If you specify a relative path, Docker Compose treats it as -relative to the location of the current file. If you don't specify a `file`, -Compose looks in the current configuration file. +The `service` the name of the service being extended, for example +`web` or `database`. The `file` is the location of a Compose configuration +file defining that service. -The `service` key specifies the name of the service to extend, for example `web` -or `database`. +If you omit the `file` Compose looks for the service configuration in the +current file. The `file` value can be an absolute or relative path. If you +specify a relative path, Compose treats it as relative to the location of the +current file. You can extend a service that itself extends another. You can extend indefinitely. Compose does not support circular references and `docker-compose` diff --git a/docs/extends.md b/docs/extends.md index c97b2b4fa..58def22d7 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -10,16 +10,15 @@ weight=2 -## Extending services and Compose files +# Extending services and Compose files -Compose supports two ways to sharing common configuration and -extend a service with that shared configuration. +Compose supports two methods of sharing common configuration: 1. Extending individual services with [the `extends` field](#extending-services) 2. Extending entire compositions by - [exnteding compose files](#extending-compose-files) + [using multiple compose files](#multiple-compose-files) -### Extending services +## Extending services Docker Compose's `extends` keyword enables sharing of common configurations among different files, or even different projects entirely. Extending services @@ -30,9 +29,9 @@ place and refer to it from anywhere. > **Note:** `links` and `volumes_from` are never shared between services using > `extends`. See > [Adding and overriding configuration](#adding-and-overriding-configuration) -> for more information. + > for more information. -#### Understand the extends configuration +### Understand the extends configuration When defining any service in `docker-compose.yml`, you can declare that you are extending another service like this: @@ -54,8 +53,8 @@ looks like this: - "/data" In this case, you'll get exactly the same result as if you wrote -`docker-compose.yml` with that `build`, `ports` and `volumes` configuration -defined directly under `web`. +`docker-compose.yml` with the same `build`, `ports` and `volumes` configuration +values defined directly under `web`. You can go further and define (or re-define) configuration locally in `docker-compose.yml`: @@ -86,14 +85,14 @@ You can also write other services and link your `web` service to them: db: image: postgres -#### Example use case +### Example use case Extending an individual service is useful when you have multiple services that -have a common configuration. In this example we have a composition that with -a web application and a queue worker. Both services use the same codebase and -share many configuration options. +have a common configuration. The example below is a composition with +two services: a web application and a queue worker. Both services use the same +codebase and share many configuration options. -In a **common.yml** we'll define the common configuration: +In a **common.yml** we define the common configuration: app: build: . @@ -102,10 +101,9 @@ In a **common.yml** we'll define the common configuration: API_KEY: xxxyyy cpu_shares: 5 -In a **docker-compose.yml** we'll define the concrete services which use the +In a **docker-compose.yml** we define the concrete services which use the common configuration: - webapp: extends: file: common.yml @@ -121,11 +119,11 @@ common configuration: extends: file: common.yml service: app - command: /code/run_worker - links: - - queue + command: /code/run_worker + links: + - queue -#### Adding and overriding configuration +### Adding and overriding configuration Compose copies configurations from the original service over to the local one, **except** for `links` and `volumes_from`. These exceptions exist to avoid @@ -134,13 +132,11 @@ locally. This ensures dependencies between services are clearly visible when reading the current file. Defining these locally also ensures changes to the referenced file don't result in breakage. -If a configuration option is defined in both the original service and the local -service, the local value either *override*s or *extend*s the definition of the -original service. This works differently for other configuration options. +If a configuration option is defined in both the original service the local +service, the local value *replaces* or *extends* the original value. For single-value options like `image`, `command` or `mem_limit`, the new value -replaces the old value. **This is the default behaviour - all exceptions are -listed below.** +replaces the old value. # original service command: python app.py @@ -195,8 +191,8 @@ For the **multi-value options** `ports`, `expose`, `external_links`, `dns` and - "4000" - "5000" -In the case of `environment` and `labels`, Compose "merges" entries together -with locally-defined values taking precedence: +In the case of `environment`, `labels`, `volumes` and `devices`, Compose +"merges" entries together with locally-defined values taking precedence: # original service environment: @@ -214,30 +210,154 @@ with locally-defined values taking precedence: - BAR=local - BAZ=local -Finally, for `volumes` and `devices`, Compose "merges" entries together with -locally-defined bindings taking precedence: - # original service - volumes: - - /original-dir/foo:/foo - - /original-dir/bar:/bar +## Multiple Compose files - # local service - volumes: - - /local-dir/bar:/bar - - /local-dir/baz/:baz +Using multiple Compose files enables you to customize a composition for +different environments or different workflows. - # result - volumes: - - /original-dir/foo:/foo - - /local-dir/bar:/bar - - /local-dir/baz/:baz +### Understanding multiple Compose files + +By default, Compose reads two files, a `docker-compose.yml` and an optional +`docker-compose.override.yml` file. By convention, the `docker-compose.yml` +contains your base configuration. The override file, as its name implies, can +contain configuration overrides for existing services or entirely new +services. + +If a service is defined in both files, Compose merges the configurations using +the same rules as the `extends` field (see [Adding and overriding +configuration](#adding-and-overriding-configuration)), with one exception. If a +service contains `links` or `volumes_from` those fields are copied over and +replace any values in the original service, in the same way single-valued fields +are copied. + +To use multiple override files, or an override file with a different name, you +can use the `-f` option to specify the list of files. Compose merges files in +the order they're specified on the command line. See the [`docker-compose` +command reference](./reference/docker-compose.md) for more information about +using `-f`. + +When you use multiple configuration files, you must make sure all paths in the +files are relative to the base Compose file (the first Compose file specified +with `-f`). This is required because override files need not be valid +Compose files. Override files can contain small fragments of configuration. +Tracking which fragment of a service is relative to which path is difficult and +confusing, so to keep paths easier to understand, all paths must be defined +relative to the base file. + +### Example use case + +In this section are two common use cases for multiple compose files: changing a +composition for different environments, and running administrative tasks +against a composition. + +#### Different environments + +A common use case for multiple files is changing a development composition +for a production-like environment (which may be production, staging or CI). +To support these differences, you can split your Compose configuration into +a few different files: + +Start with a base file that defines the canonical configuration for the +services. + +**docker-compose.yml** + + web: + image: example/my_web_app:latest + links: + - db + - cache + + db: + image: postgres:latest + + cache: + image: redis:latest + +In this example the development configuration exposes some ports to the +host, mounts our code as a volume, and builds the web image. + +**docker-compose.override.yml** -### Extending Compose files + web: + build: . + volumes: + - '.:/code' + ports: + - 8883:80 + environment: + DEBUG: 'true' -> **Note:** This feature is new in `docker-compose` 1.5 + db: + command: '-d' + ports: + - 5432:5432 + cache: + ports: + - 6379:6379 + +When you run `docker-compose up` it reads the overrides automatically. + +Now, it would be nice to use this composition in a production environment. So, +create another override file (which might be stored in a different git +repo or managed by a different team). + +**docker-compose.prod.yml** + + web: + ports: + - 80:80 + environment: + PRODUCTION: 'true' + + cache: + environment: + TTL: '500' + +To deploy with this production Compose file you can run + + docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d + +This deploys all three services using the configuration in +`docker-compose.yml` and `docker-compose.prod.yml` (but not the +dev configuration in `docker-compose.override.yml`). + + +See [production](production.md) for more information about Compose in +production. + +#### Administrative tasks + +Another common use case is running adhoc or administrative tasks against one +or more services in a composition. This example demonstrates running a +database backup. + +Start with a **docker-compose.yml**. + + web: + image: example/my_web_app:latest + links: + - db + + db: + image: postgres:latest + +In a **docker-compose.admin.yml** add a new service to run the database +export or backup. + + dbadmin: + build: database_admin/ + links: + - db + +To start a normal environment run `docker-compose up -d`. To run a database +backup, include the `docker-compose.admin.yml` as well. + + docker-compose -f docker-compose.yml -f docker-compose.admin.yml \ + run dbadmin db-backup ## Compose documentation diff --git a/docs/production.md b/docs/production.md index 39f0e1fe1..0a5e77b52 100644 --- a/docs/production.md +++ b/docs/production.md @@ -39,6 +39,9 @@ Once you've got a second configuration file, tell Compose to use it with the $ docker-compose -f docker-compose.yml -f production.yml up -d +See [Using multiple compose files](extends.md#different-environments) for a more +complete example. + ### Deploying changes When you make changes to your app code, you'll need to rebuild your image and From 62ebdce5a90ced63c27affcdf286189c11ea7885 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 2 Nov 2015 15:14:42 -0500 Subject: [PATCH 144/221] Replace composition with Compose app. Signed-off-by: Daniel Nephin --- docs/extends.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/extends.md b/docs/extends.md index 58def22d7..e4d09af98 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -15,8 +15,8 @@ weight=2 Compose supports two methods of sharing common configuration: 1. Extending individual services with [the `extends` field](#extending-services) -2. Extending entire compositions by - [using multiple compose files](#multiple-compose-files) +2. Extending entire Compose file by + [using multiple Compose files](#multiple-compose-files) ## Extending services @@ -88,7 +88,7 @@ You can also write other services and link your `web` service to them: ### Example use case Extending an individual service is useful when you have multiple services that -have a common configuration. The example below is a composition with +have a common configuration. The example below is a Compose app with two services: a web application and a queue worker. Both services use the same codebase and share many configuration options. @@ -213,8 +213,8 @@ In the case of `environment`, `labels`, `volumes` and `devices`, Compose ## Multiple Compose files -Using multiple Compose files enables you to customize a composition for -different environments or different workflows. +Using multiple Compose files enables you to customize a Compose application +for different environments or different workflows. ### Understanding multiple Compose files @@ -248,12 +248,12 @@ relative to the base file. ### Example use case In this section are two common use cases for multiple compose files: changing a -composition for different environments, and running administrative tasks -against a composition. +Compose app for different environments, and running administrative tasks +against a Compose app. #### Different environments -A common use case for multiple files is changing a development composition +A common use case for multiple files is changing a development Compose app for a production-like environment (which may be production, staging or CI). To support these differences, you can split your Compose configuration into a few different files: @@ -301,7 +301,7 @@ host, mounts our code as a volume, and builds the web image. When you run `docker-compose up` it reads the overrides automatically. -Now, it would be nice to use this composition in a production environment. So, +Now, it would be nice to use this Compose app in a production environment. So, create another override file (which might be stored in a different git repo or managed by a different team). @@ -332,7 +332,7 @@ production. #### Administrative tasks Another common use case is running adhoc or administrative tasks against one -or more services in a composition. This example demonstrates running a +or more services in a Compose app. This example demonstrates running a database backup. Start with a **docker-compose.yml**. From 40341674bd406c74eab83099cdc50684da3f45d4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 3 Nov 2015 11:52:44 -0500 Subject: [PATCH 145/221] Re-order extends docs. Signed-off-by: Daniel Nephin --- docs/extends.md | 391 ++++++++++++++++++++++++------------------------ 1 file changed, 197 insertions(+), 194 deletions(-) diff --git a/docs/extends.md b/docs/extends.md index e4d09af98..b21b6d76d 100644 --- a/docs/extends.md +++ b/docs/extends.md @@ -14,201 +14,9 @@ weight=2 Compose supports two methods of sharing common configuration: -1. Extending individual services with [the `extends` field](#extending-services) -2. Extending entire Compose file by +1. Extending an entire Compose file by [using multiple Compose files](#multiple-compose-files) - -## Extending services - -Docker Compose's `extends` keyword enables sharing of common configurations -among different files, or even different projects entirely. Extending services -is useful if you have several services that reuse a common set of configuration -options. Using `extends` you can define a common set of service options in one -place and refer to it from anywhere. - -> **Note:** `links` and `volumes_from` are never shared between services using -> `extends`. See -> [Adding and overriding configuration](#adding-and-overriding-configuration) - > for more information. - -### Understand the extends configuration - -When defining any service in `docker-compose.yml`, you can declare that you are -extending another service like this: - - web: - extends: - file: common-services.yml - service: webapp - -This instructs Compose to re-use the configuration for the `webapp` service -defined in the `common-services.yml` file. Suppose that `common-services.yml` -looks like this: - - webapp: - build: . - ports: - - "8000:8000" - volumes: - - "/data" - -In this case, you'll get exactly the same result as if you wrote -`docker-compose.yml` with the same `build`, `ports` and `volumes` configuration -values defined directly under `web`. - -You can go further and define (or re-define) configuration locally in -`docker-compose.yml`: - - web: - extends: - file: common-services.yml - service: webapp - environment: - - DEBUG=1 - cpu_shares: 5 - - important_web: - extends: web - cpu_shares: 10 - -You can also write other services and link your `web` service to them: - - web: - extends: - file: common-services.yml - service: webapp - environment: - - DEBUG=1 - cpu_shares: 5 - links: - - db - db: - image: postgres - -### Example use case - -Extending an individual service is useful when you have multiple services that -have a common configuration. The example below is a Compose app with -two services: a web application and a queue worker. Both services use the same -codebase and share many configuration options. - -In a **common.yml** we define the common configuration: - - app: - build: . - environment: - CONFIG_FILE_PATH: /code/config - API_KEY: xxxyyy - cpu_shares: 5 - -In a **docker-compose.yml** we define the concrete services which use the -common configuration: - - webapp: - extends: - file: common.yml - service: app - command: /code/run_web_app - ports: - - 8080:8080 - links: - - queue - - db - - queue_worker: - extends: - file: common.yml - service: app - command: /code/run_worker - links: - - queue - -### Adding and overriding configuration - -Compose copies configurations from the original service over to the local one, -**except** for `links` and `volumes_from`. These exceptions exist to avoid -implicit dependencies—you always define `links` and `volumes_from` -locally. This ensures dependencies between services are clearly visible when -reading the current file. Defining these locally also ensures changes to the -referenced file don't result in breakage. - -If a configuration option is defined in both the original service the local -service, the local value *replaces* or *extends* the original value. - -For single-value options like `image`, `command` or `mem_limit`, the new value -replaces the old value. - - # original service - command: python app.py - - # local service - command: python otherapp.py - - # result - command: python otherapp.py - -In the case of `build` and `image`, using one in the local service causes -Compose to discard the other, if it was defined in the original service. - -Example of image replacing build: - - # original service - build: . - - # local service - image: redis - - # result - image: redis - - -Example of build replacing image: - - # original service - image: redis - - # local service - build: . - - # result - build: . - -For the **multi-value options** `ports`, `expose`, `external_links`, `dns` and -`dns_search`, Compose concatenates both sets of values: - - # original service - expose: - - "3000" - - # local service - expose: - - "4000" - - "5000" - - # result - expose: - - "3000" - - "4000" - - "5000" - -In the case of `environment`, `labels`, `volumes` and `devices`, Compose -"merges" entries together with locally-defined values taking precedence: - - # original service - environment: - - FOO=original - - BAR=original - - # local service - environment: - - BAR=local - - BAZ=local - - # result - environment: - - FOO=original - - BAR=local - - BAZ=local +2. Extending individual services with [the `extends` field](#extending-services) ## Multiple Compose files @@ -360,6 +168,201 @@ backup, include the `docker-compose.admin.yml` as well. run dbadmin db-backup +## Extending services + +Docker Compose's `extends` keyword enables sharing of common configurations +among different files, or even different projects entirely. Extending services +is useful if you have several services that reuse a common set of configuration +options. Using `extends` you can define a common set of service options in one +place and refer to it from anywhere. + +> **Note:** `links` and `volumes_from` are never shared between services using +> `extends`. See +> [Adding and overriding configuration](#adding-and-overriding-configuration) + > for more information. + +### Understand the extends configuration + +When defining any service in `docker-compose.yml`, you can declare that you are +extending another service like this: + + web: + extends: + file: common-services.yml + service: webapp + +This instructs Compose to re-use the configuration for the `webapp` service +defined in the `common-services.yml` file. Suppose that `common-services.yml` +looks like this: + + webapp: + build: . + ports: + - "8000:8000" + volumes: + - "/data" + +In this case, you'll get exactly the same result as if you wrote +`docker-compose.yml` with the same `build`, `ports` and `volumes` configuration +values defined directly under `web`. + +You can go further and define (or re-define) configuration locally in +`docker-compose.yml`: + + web: + extends: + file: common-services.yml + service: webapp + environment: + - DEBUG=1 + cpu_shares: 5 + + important_web: + extends: web + cpu_shares: 10 + +You can also write other services and link your `web` service to them: + + web: + extends: + file: common-services.yml + service: webapp + environment: + - DEBUG=1 + cpu_shares: 5 + links: + - db + db: + image: postgres + +### Example use case + +Extending an individual service is useful when you have multiple services that +have a common configuration. The example below is a Compose app with +two services: a web application and a queue worker. Both services use the same +codebase and share many configuration options. + +In a **common.yml** we define the common configuration: + + app: + build: . + environment: + CONFIG_FILE_PATH: /code/config + API_KEY: xxxyyy + cpu_shares: 5 + +In a **docker-compose.yml** we define the concrete services which use the +common configuration: + + webapp: + extends: + file: common.yml + service: app + command: /code/run_web_app + ports: + - 8080:8080 + links: + - queue + - db + + queue_worker: + extends: + file: common.yml + service: app + command: /code/run_worker + links: + - queue + +## Adding and overriding configuration + +Compose copies configurations from the original service over to the local one, +**except** for `links` and `volumes_from`. These exceptions exist to avoid +implicit dependencies—you always define `links` and `volumes_from` +locally. This ensures dependencies between services are clearly visible when +reading the current file. Defining these locally also ensures changes to the +referenced file don't result in breakage. + +If a configuration option is defined in both the original service the local +service, the local value *replaces* or *extends* the original value. + +For single-value options like `image`, `command` or `mem_limit`, the new value +replaces the old value. + + # original service + command: python app.py + + # local service + command: python otherapp.py + + # result + command: python otherapp.py + +In the case of `build` and `image`, using one in the local service causes +Compose to discard the other, if it was defined in the original service. + +Example of image replacing build: + + # original service + build: . + + # local service + image: redis + + # result + image: redis + + +Example of build replacing image: + + # original service + image: redis + + # local service + build: . + + # result + build: . + +For the **multi-value options** `ports`, `expose`, `external_links`, `dns` and +`dns_search`, Compose concatenates both sets of values: + + # original service + expose: + - "3000" + + # local service + expose: + - "4000" + - "5000" + + # result + expose: + - "3000" + - "4000" + - "5000" + +In the case of `environment`, `labels`, `volumes` and `devices`, Compose +"merges" entries together with locally-defined values taking precedence: + + # original service + environment: + - FOO=original + - BAR=original + + # local service + environment: + - BAR=local + - BAZ=local + + # result + environment: + - FOO=original + - BAR=local + - BAZ=local + + + + ## Compose documentation - [User guide](/) From 77ff37a853b36e83de377cc83e7ff59eee11fc9c Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 3 Nov 2015 11:30:34 -0500 Subject: [PATCH 146/221] Bump 1.5.0 Signed-off-by: Daniel Nephin --- CHANGELOG.md | 2 +- compose/__init__.py | 2 +- docs/install.md | 4 ++-- script/run.sh | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b0474ae2b..a123c2a44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ Change log ========== -1.5.0 (2015-11-02) +1.5.0 (2015-11-03) ------------------ **Breaking changes:** diff --git a/compose/__init__.py b/compose/__init__.py index 7199babb4..2b8d5e72b 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.0rc3' +__version__ = '1.5.0' diff --git a/docs/install.md b/docs/install.md index 4eb0dc186..c5304409c 100644 --- a/docs/install.md +++ b/docs/install.md @@ -54,7 +54,7 @@ which the release page specifies, in your terminal. 7. Test the installation. $ docker-compose --version - docker-compose version: 1.5.0rc3 + docker-compose version: 1.5.0 ## Alternative install options @@ -76,7 +76,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0rc3/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.0/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index 9ed1ea74c..cf46c143c 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.0rc3" +VERSION="1.5.0" IMAGE="docker/compose:$VERSION" From 718ae13ae1702ca5766a79b395c939023b7c15db Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 28 Oct 2015 13:16:19 -0400 Subject: [PATCH 147/221] Move config hash tests to service_test.py Signed-off-by: Daniel Nephin --- tests/integration/service_test.py | 37 +++++++++++++++++++++++++++++++ tests/integration/state_test.py | 36 ------------------------------ 2 files changed, 37 insertions(+), 36 deletions(-) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 4ac04545e..df9190e70 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -14,6 +14,7 @@ from .. import mock from .testcases import DockerClientTestCase from .testcases import pull_busybox from compose import __version__ +from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_CONTAINER_NUMBER from compose.const import LABEL_ONE_OFF from compose.const import LABEL_PROJECT @@ -23,6 +24,7 @@ from compose.container import Container from compose.service import build_extra_hosts from compose.service import ConfigError from compose.service import ConvergencePlan +from compose.service import ConvergenceStrategy from compose.service import Net from compose.service import Service from compose.service import VolumeFromSpec @@ -929,3 +931,38 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(set(service.containers(stopped=True)), set([original, duplicate])) self.assertEqual(set(service.duplicate_containers()), set([duplicate])) + + +def converge(service, + strategy=ConvergenceStrategy.changed, + do_build=True): + """Create a converge plan from a strategy and execute the plan.""" + plan = service.convergence_plan(strategy) + return service.execute_convergence_plan(plan, do_build=do_build, timeout=1) + + +class ConfigHashTest(DockerClientTestCase): + def test_no_config_hash_when_one_off(self): + web = self.create_service('web') + container = web.create_container(one_off=True) + self.assertNotIn(LABEL_CONFIG_HASH, container.labels) + + def test_no_config_hash_when_overriding_options(self): + web = self.create_service('web') + container = web.create_container(environment={'FOO': '1'}) + self.assertNotIn(LABEL_CONFIG_HASH, container.labels) + + def test_config_hash_with_custom_labels(self): + web = self.create_service('web', labels={'foo': '1'}) + container = converge(web)[0] + self.assertIn(LABEL_CONFIG_HASH, container.labels) + self.assertIn('foo', container.labels) + + def test_config_hash_sticks_around(self): + web = self.create_service('web', command=["top"]) + container = converge(web)[0] + self.assertIn(LABEL_CONFIG_HASH, container.labels) + + web = self.create_service('web', command=["top", "-d", "1"]) + container = converge(web)[0] + self.assertIn(LABEL_CONFIG_HASH, container.labels) diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 3230aefc6..cb9045726 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -10,7 +10,6 @@ import tempfile from .testcases import DockerClientTestCase from compose.config import config -from compose.const import LABEL_CONFIG_HASH from compose.project import Project from compose.service import ConvergenceStrategy @@ -180,14 +179,6 @@ class ProjectWithDependenciesTest(ProjectTestCase): self.assertEqual(len(containers), 2) -def converge(service, - strategy=ConvergenceStrategy.changed, - do_build=True): - """Create a converge plan from a strategy and execute the plan.""" - plan = service.convergence_plan(strategy) - return service.execute_convergence_plan(plan, do_build=do_build, timeout=1) - - class ServiceStateTest(DockerClientTestCase): """Test cases for Service.convergence_plan.""" @@ -278,30 +269,3 @@ class ServiceStateTest(DockerClientTestCase): self.assertEqual(('recreate', [container]), web.convergence_plan()) finally: shutil.rmtree(context) - - -class ConfigHashTest(DockerClientTestCase): - def test_no_config_hash_when_one_off(self): - web = self.create_service('web') - container = web.create_container(one_off=True) - self.assertNotIn(LABEL_CONFIG_HASH, container.labels) - - def test_no_config_hash_when_overriding_options(self): - web = self.create_service('web') - container = web.create_container(environment={'FOO': '1'}) - self.assertNotIn(LABEL_CONFIG_HASH, container.labels) - - def test_config_hash_with_custom_labels(self): - web = self.create_service('web', labels={'foo': '1'}) - container = converge(web)[0] - self.assertIn(LABEL_CONFIG_HASH, container.labels) - self.assertIn('foo', container.labels) - - def test_config_hash_sticks_around(self): - web = self.create_service('web', command=["top"]) - container = converge(web)[0] - self.assertIn(LABEL_CONFIG_HASH, container.labels) - - web = self.create_service('web', command=["top", "-d", "1"]) - container = converge(web)[0] - self.assertIn(LABEL_CONFIG_HASH, container.labels) From 23d4eda2a5de23a72842132f606e545811c93a85 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 3 Nov 2015 20:00:54 -0500 Subject: [PATCH 148/221] Fix service recreate when image changes to build. Signed-off-by: Daniel Nephin --- compose/service.py | 13 ++++--- tests/integration/state_test.py | 65 ++++++++++++++++++-------------- tests/unit/config/config_test.py | 2 + 3 files changed, 46 insertions(+), 34 deletions(-) diff --git a/compose/service.py b/compose/service.py index 66c90b0e0..17746c3b5 100644 --- a/compose/service.py +++ b/compose/service.py @@ -418,6 +418,7 @@ class Service(object): return [ self.recreate_container( container, + do_build=do_build, timeout=timeout, attach_logs=should_attach_logs ) @@ -439,10 +440,12 @@ class Service(object): else: raise Exception("Invalid action: {}".format(action)) - def recreate_container(self, - container, - timeout=DEFAULT_TIMEOUT, - attach_logs=False): + def recreate_container( + self, + container, + do_build=False, + timeout=DEFAULT_TIMEOUT, + attach_logs=False): """Recreate a container. The original container is renamed to a temporary name so that data @@ -454,7 +457,7 @@ class Service(object): container.stop(timeout=timeout) container.rename_to_tmp_name() new_container = self.create_container( - do_build=False, + do_build=do_build, previous_container=container, number=container.labels.get(LABEL_CONTAINER_NUMBER), quiet=True, diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index cb9045726..7830ba32c 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -4,9 +4,7 @@ by `docker-compose up`. """ from __future__ import unicode_literals -import os -import shutil -import tempfile +import py from .testcases import DockerClientTestCase from compose.config import config @@ -232,40 +230,49 @@ class ServiceStateTest(DockerClientTestCase): image_id = self.client.images(name='busybox')[0]['Id'] self.client.tag(image_id, repository=repo, tag=tag) + self.addCleanup(self.client.remove_image, image) - try: - web = self.create_service('web', image=image) - container = web.create_container() + web = self.create_service('web', image=image) + container = web.create_container() - # update the image - c = self.client.create_container(image, ['touch', '/hello.txt']) - self.client.commit(c, repository=repo, tag=tag) - self.client.remove_container(c) + # update the image + c = self.client.create_container(image, ['touch', '/hello.txt']) + self.client.commit(c, repository=repo, tag=tag) + self.client.remove_container(c) - web = self.create_service('web', image=image) - self.assertEqual(('recreate', [container]), web.convergence_plan()) - - finally: - self.client.remove_image(image) + web = self.create_service('web', image=image) + self.assertEqual(('recreate', [container]), web.convergence_plan()) def test_trigger_recreate_with_build(self): - context = tempfile.mkdtemp() + context = py.test.ensuretemp('test_trigger_recreate_with_build') + self.addCleanup(context.remove) + base_image = "FROM busybox\nLABEL com.docker.compose.test_image=true\n" + dockerfile = context.join('Dockerfile') + dockerfile.write(base_image) - try: - dockerfile = os.path.join(context, 'Dockerfile') + web = self.create_service('web', build=str(context)) + container = web.create_container() - with open(dockerfile, 'w') as f: - f.write(base_image) + dockerfile.write(base_image + 'CMD echo hello world\n') + web.build() - web = self.create_service('web', build=context) - container = web.create_container() + web = self.create_service('web', build=str(context)) + self.assertEqual(('recreate', [container]), web.convergence_plan()) - with open(dockerfile, 'w') as f: - f.write(base_image + 'CMD echo hello world\n') - web.build() + def test_image_changed_to_build(self): + context = py.test.ensuretemp('test_image_changed_to_build') + self.addCleanup(context.remove) + context.join('Dockerfile').write(""" + FROM busybox + LABEL com.docker.compose.test_image=true + """) - web = self.create_service('web', build=context) - self.assertEqual(('recreate', [container]), web.convergence_plan()) - finally: - shutil.rmtree(context) + web = self.create_service('web', image='busybox') + container = web.create_container() + + web = self.create_service('web', build=str(context)) + plan = web.convergence_plan() + self.assertEqual(('recreate', [container]), plan) + containers = web.execute_convergence_plan(plan) + self.assertEqual(len(containers), 1) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 2835e9c80..fc5e22bf2 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -177,6 +177,7 @@ class ConfigTest(unittest.TestCase): details = config.ConfigDetails('.', [base_file, override_file]) tmpdir = py.test.ensuretemp('config_test') + self.addCleanup(tmpdir.remove) tmpdir.join('common.yml').write(""" base: labels: ['label=one'] @@ -412,6 +413,7 @@ class ConfigTest(unittest.TestCase): def test_load_yaml_with_yaml_error(self): tmpdir = py.test.ensuretemp('invalid_yaml_test') + self.addCleanup(tmpdir.remove) invalid_yaml_file = tmpdir.join('docker-compose.yml') invalid_yaml_file.write(""" web: From cf933623682f5483ea41fbbb7cab5bca2402b996 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Mon, 9 Nov 2015 17:24:21 +0000 Subject: [PATCH 149/221] Fix parallel output We were outputting an extra line, which in *some* cases, on *some* terminals, was causing the output of parallel actions to get messed up. In particular, it would happen when the terminal had just been cleared or hadn't yet filled up with a screen's worth of text. Signed-off-by: Aanand Prasad --- compose/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/utils.py b/compose/utils.py index c8fddc5f1..14cca61b0 100644 --- a/compose/utils.py +++ b/compose/utils.py @@ -164,7 +164,7 @@ def write_out_msg(stream, lines, msg_index, msg, status="done"): stream.write("%c[%dA" % (27, diff)) # erase stream.write("%c[2K\r" % 27) - stream.write("{} {} ... {}\n".format(msg, obj_index, status)) + stream.write("{} {} ... {}\r".format(msg, obj_index, status)) # move back down stream.write("%c[%dB" % (27, diff)) else: From 3daecfa8e434966b00214aade861aafdb0236c3b Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Mon, 9 Nov 2015 13:07:26 -0800 Subject: [PATCH 150/221] Update service config_dict computation to include volumes_from mode Ensure config_hash is updated when volumes_from mode is changed, and service is recreated on next up as a result. Signed-off-by: Joffrey F --- compose/service.py | 4 +++- tests/unit/service_test.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/compose/service.py b/compose/service.py index 17746c3b5..d841c0cc6 100644 --- a/compose/service.py +++ b/compose/service.py @@ -511,7 +511,9 @@ class Service(object): 'image_id': self.image()['Id'], 'links': self.get_link_names(), 'net': self.net.id, - 'volumes_from': self.get_volumes_from_names(), + 'volumes_from': [ + (v.source.name, v.mode) for v in self.volumes_from if isinstance(v.source, Service) + ], } def get_dependency_names(self): diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index d86f80f73..c77c6a364 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -417,7 +417,7 @@ class ServiceTest(unittest.TestCase): 'options': {'image': 'example.com/foo'}, 'links': [('one', 'one')], 'net': 'other', - 'volumes_from': ['two'], + 'volumes_from': [('two', 'rw')], } self.assertEqual(config_dict, expected) From e317d2db9dbe4a6fea5ceda4d5c0bc67a88b9d3e Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 2 Nov 2015 13:33:13 -0500 Subject: [PATCH 151/221] Remove service.start_container() It has been an unnecessary wrapper around container.start() for a little while now, so we can call it directly. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 2 +- compose/service.py | 13 ++++--------- tests/integration/cli_test.py | 2 +- tests/integration/resilience_test.py | 4 ++-- tests/integration/service_test.py | 27 ++++++++++++++------------- 5 files changed, 22 insertions(+), 26 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index b54b307ef..11aeac38c 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -448,7 +448,7 @@ class TopLevelCommand(DocoptCommand): raise e if detach: - service.start_container(container) + container.start() print(container.name) else: dockerpty.start(project.client, container.id, interactive=not options['-T']) diff --git a/compose/service.py b/compose/service.py index d841c0cc6..19aa78380 100644 --- a/compose/service.py +++ b/compose/service.py @@ -410,7 +410,7 @@ class Service(object): if should_attach_logs: container.attach_log_stream() - self.start_container(container) + container.start() return [container] @@ -464,21 +464,16 @@ class Service(object): ) if attach_logs: new_container.attach_log_stream() - self.start_container(new_container) + new_container.start() container.remove() return new_container def start_container_if_stopped(self, container, attach_logs=False): - if container.is_running: - return container - else: + if not container.is_running: log.info("Starting %s" % container.name) if attach_logs: container.attach_log_stream() - return self.start_container(container) - - def start_container(self, container): - container.start() + container.start() return container def remove_duplicate_containers(self, timeout=DEFAULT_TIMEOUT): diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index d621f2d13..e8f0df8cc 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -599,7 +599,7 @@ class CLITestCase(DockerClientTestCase): def test_restart(self): service = self.project.get_service('simple') container = service.create_container() - service.start_container(container) + container.start() started_at = container.dictionary['State']['StartedAt'] self.command.dispatch(['restart', '-t', '1'], None) container.inspect() diff --git a/tests/integration/resilience_test.py b/tests/integration/resilience_test.py index befd72c7f..53aedfecf 100644 --- a/tests/integration/resilience_test.py +++ b/tests/integration/resilience_test.py @@ -13,7 +13,7 @@ class ResilienceTest(DockerClientTestCase): self.project = Project('composetest', [self.db], self.client) container = self.db.create_container() - self.db.start_container(container) + container.start() self.host_path = container.get('Volumes')['/var/db'] def test_successful_recreate(self): @@ -31,7 +31,7 @@ class ResilienceTest(DockerClientTestCase): self.assertEqual(container.get('Volumes')['/var/db'], self.host_path) def test_start_failure(self): - with mock.patch('compose.service.Service.start_container', crash): + with mock.patch('compose.container.Container.start', crash): with self.assertRaises(Crash): self.project.up(strategy=ConvergenceStrategy.always) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index df9190e70..804f5219a 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -32,7 +32,8 @@ from compose.service import VolumeFromSpec def create_and_start_container(service, **override_options): container = service.create_container(**override_options) - return service.start_container(container) + container.start() + return container class ServiceTest(DockerClientTestCase): @@ -117,19 +118,19 @@ class ServiceTest(DockerClientTestCase): def test_create_container_with_unspecified_volume(self): service = self.create_service('db', volumes=['/var/db']) container = service.create_container() - service.start_container(container) + container.start() self.assertIn('/var/db', container.get('Volumes')) def test_create_container_with_volume_driver(self): service = self.create_service('db', volume_driver='foodriver') container = service.create_container() - service.start_container(container) + container.start() self.assertEqual('foodriver', container.get('Config.VolumeDriver')) def test_create_container_with_cpu_shares(self): service = self.create_service('db', cpu_shares=73) container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(container.get('HostConfig.CpuShares'), 73) def test_build_extra_hosts(self): @@ -167,7 +168,7 @@ class ServiceTest(DockerClientTestCase): extra_hosts = ['somehost:162.242.195.82', 'otherhost:50.31.209.229'] service = self.create_service('db', extra_hosts=extra_hosts) container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(set(container.get('HostConfig.ExtraHosts')), set(extra_hosts)) def test_create_container_with_extra_hosts_dicts(self): @@ -175,33 +176,33 @@ class ServiceTest(DockerClientTestCase): extra_hosts_list = ['somehost:162.242.195.82', 'otherhost:50.31.209.229'] service = self.create_service('db', extra_hosts=extra_hosts) container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(set(container.get('HostConfig.ExtraHosts')), set(extra_hosts_list)) def test_create_container_with_cpu_set(self): service = self.create_service('db', cpuset='0') container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(container.get('HostConfig.CpusetCpus'), '0') def test_create_container_with_read_only_root_fs(self): read_only = True service = self.create_service('db', read_only=read_only) container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(container.get('HostConfig.ReadonlyRootfs'), read_only, container.get('HostConfig')) def test_create_container_with_security_opt(self): security_opt = ['label:disable'] service = self.create_service('db', security_opt=security_opt) container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(set(container.get('HostConfig.SecurityOpt')), set(security_opt)) def test_create_container_with_mac_address(self): service = self.create_service('db', mac_address='02:42:ac:11:65:43') container = service.create_container() - service.start_container(container) + container.start() self.assertEqual(container.inspect()['Config']['MacAddress'], '02:42:ac:11:65:43') def test_create_container_with_specified_volume(self): @@ -210,7 +211,7 @@ class ServiceTest(DockerClientTestCase): service = self.create_service('db', volumes=['%s:%s' % (host_path, container_path)]) container = service.create_container() - service.start_container(container) + container.start() volumes = container.inspect()['Volumes'] self.assertIn(container_path, volumes) @@ -283,7 +284,7 @@ class ServiceTest(DockerClientTestCase): ] ) host_container = host_service.create_container() - host_service.start_container(host_container) + host_container.start() self.assertIn(volume_container_1.id + ':rw', host_container.get('HostConfig.VolumesFrom')) self.assertIn(volume_container_2.id + ':rw', @@ -302,7 +303,7 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(old_container.get('Config.Cmd'), ['-d', '1']) self.assertIn('FOO=1', old_container.get('Config.Env')) self.assertEqual(old_container.name, 'composetest_db_1') - service.start_container(old_container) + old_container.start() old_container.inspect() # reload volume data volume_path = old_container.get('Volumes')['/etc'] From 3c4bb5358e5ebee180c62a7d4d7cfa329a607f59 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 5 Nov 2015 10:26:54 -0500 Subject: [PATCH 152/221] Upgrade pyyaml to 3.11 Signed-off-by: Daniel Nephin --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index daaaa9502..60327d728 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -PyYAML==3.10 +PyYAML==3.11 docker-py==1.5.0 dockerpty==0.3.4 docopt==0.6.1 From 0375dccf640c1f94482da4f3f8f7acfc6a924700 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Tue, 27 Oct 2015 17:37:48 +0000 Subject: [PATCH 153/221] Handle non-ascii chars in volume directories Signed-off-by: Mazz Mosley --- compose/config/config.py | 2 +- tests/unit/config/config_test.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/compose/config/config.py b/compose/config/config.py index 21549e9b3..f664ec8d5 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -501,7 +501,7 @@ def resolve_volume_path(volume, working_dir, service_name): if host_path.startswith('.'): host_path = expand_path(working_dir, host_path) host_path = os.path.expanduser(host_path) - return "{}:{}".format(host_path, container_path) + return u"{}:{}".format(host_path, container_path) else: return container_path diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index fc5e22bf2..69b235852 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -575,6 +575,11 @@ class VolumeConfigTest(unittest.TestCase): }, working_dir='.') self.assertEqual(d['volumes'], ['~:/data']) + def test_volume_path_with_non_ascii_directory(self): + volume = u'/Füü/data:/data' + container_path = config.resolve_volume_path(volume, ".", "test") + self.assertEqual(container_path, volume) + class MergePathMappingTest(object): def config_name(self): From a5959d9be2167b5a9d671ca5611955eb34c20549 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 19 Oct 2015 12:52:38 -0400 Subject: [PATCH 154/221] Some minor style cleanup - fixed a docstring to make it PEP257 compliant - wrapped some long lines - used a more specific error Signed-off-by: Daniel Nephin --- compose/config/config.py | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index f664ec8d5..b9d71e9d7 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -213,9 +213,16 @@ def load(config_details): class ServiceLoader(object): - def __init__(self, working_dir, filename, service_name, service_dict, already_seen=None): + def __init__( + self, + working_dir, + filename, + service_name, + service_dict, + already_seen=None + ): if working_dir is None: - raise Exception("No working_dir passed to ServiceLoader()") + raise ValueError("No working_dir passed to ServiceLoader()") self.working_dir = os.path.abspath(working_dir) @@ -312,33 +319,33 @@ class ServiceLoader(object): return merge_service_dicts(other_service_dict, self.service_dict) def get_extended_config_path(self, extends_options): - """ - Service we are extending either has a value for 'file' set, which we + """Service we are extending either has a value for 'file' set, which we need to obtain a full path too or we are extending from a service defined in our own file. """ if 'file' in extends_options: - extends_from_filename = extends_options['file'] - return expand_path(self.working_dir, extends_from_filename) - + return expand_path(self.working_dir, extends_options['file']) return self.filename def signature(self, name): - return (self.filename, name) + return self.filename, name def validate_extended_service_dict(service_dict, filename, service): error_prefix = "Cannot extend service '%s' in %s:" % (service, filename) if 'links' in service_dict: - raise ConfigurationError("%s services with 'links' cannot be extended" % error_prefix) + raise ConfigurationError( + "%s services with 'links' cannot be extended" % error_prefix) if 'volumes_from' in service_dict: - raise ConfigurationError("%s services with 'volumes_from' cannot be extended" % error_prefix) + raise ConfigurationError( + "%s services with 'volumes_from' cannot be extended" % error_prefix) if 'net' in service_dict: if get_service_name_from_net(service_dict['net']) is not None: - raise ConfigurationError("%s services with 'net: container' cannot be extended" % error_prefix) + raise ConfigurationError( + "%s services with 'net: container' cannot be extended" % error_prefix) def process_container_options(service_dict, working_dir=None): From 805ed344c010df3a0aa82acfd7c15beec7fbdbc3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 19 Oct 2015 13:40:13 -0400 Subject: [PATCH 155/221] Refactor ServiceLoader to be immutable. Mutable objects are harder to debug and harder to reason about. ServiceLoader was almost immutable. There was just a single function which set fields for a second function. Instead of mutating the object, we can pass those values as parameters to the next function. Signed-off-by: Daniel Nephin --- compose/config/config.py | 89 +++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 46 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index b9d71e9d7..5bc534fe9 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -240,80 +240,61 @@ class ServiceLoader(object): raise CircularReference(self.already_seen + [self.signature(name)]) def make_service_dict(self): - self.resolve_environment() - if 'extends' in self.service_dict: - self.validate_and_construct_extends() - self.service_dict = self.resolve_extends() + service_dict = dict(self.service_dict) + env = resolve_environment(self.working_dir, self.service_dict) + if env: + service_dict['environment'] = env + service_dict.pop('env_file', None) + + if 'extends' in service_dict: + service_dict = self.resolve_extends(*self.validate_and_construct_extends()) if not self.already_seen: - validate_against_service_schema(self.service_dict, self.service_name) + validate_against_service_schema(service_dict, self.service_name) - return process_container_options(self.service_dict, working_dir=self.working_dir) - - def resolve_environment(self): - """ - Unpack any environment variables from an env_file, if set. - Interpolate environment values if set. - """ - if 'environment' not in self.service_dict and 'env_file' not in self.service_dict: - return - - env = {} - - if 'env_file' in self.service_dict: - for f in get_env_files(self.service_dict, working_dir=self.working_dir): - env.update(env_vars_from_file(f)) - del self.service_dict['env_file'] - - env.update(parse_environment(self.service_dict.get('environment'))) - env = dict(resolve_env_var(k, v) for k, v in six.iteritems(env)) - - self.service_dict['environment'] = env + return process_container_options(service_dict, working_dir=self.working_dir) def validate_and_construct_extends(self): extends = self.service_dict['extends'] if not isinstance(extends, dict): extends = {'service': extends} - validate_extends_file_path( - self.service_name, - extends, - self.filename - ) - self.extended_config_path = self.get_extended_config_path(extends) - self.extended_service_name = extends['service'] + validate_extends_file_path(self.service_name, extends, self.filename) + config_path = self.get_extended_config_path(extends) + service_name = extends['service'] - config = load_yaml(self.extended_config_path) + config = load_yaml(config_path) validate_top_level_object(config) full_extended_config = interpolate_environment_variables(config) validate_extended_service_exists( - self.extended_service_name, + service_name, full_extended_config, - self.extended_config_path + config_path ) validate_against_fields_schema(full_extended_config) - self.extended_config = full_extended_config[self.extended_service_name] + service_config = full_extended_config[service_name] + return config_path, service_config, service_name - def resolve_extends(self): - other_working_dir = os.path.dirname(self.extended_config_path) + def resolve_extends(self, extended_config_path, service_config, service_name): + other_working_dir = os.path.dirname(extended_config_path) other_already_seen = self.already_seen + [self.signature(self.service_name)] other_loader = ServiceLoader( - working_dir=other_working_dir, - filename=self.extended_config_path, - service_name=self.service_name, - service_dict=self.extended_config, + other_working_dir, + extended_config_path, + self.service_name, + service_config, already_seen=other_already_seen, ) - other_loader.detect_cycle(self.extended_service_name) + other_loader.detect_cycle(service_name) other_service_dict = other_loader.make_service_dict() validate_extended_service_dict( other_service_dict, - filename=self.extended_config_path, - service=self.extended_service_name, + extended_config_path, + service_name, ) return merge_service_dicts(other_service_dict, self.service_dict) @@ -331,6 +312,22 @@ class ServiceLoader(object): return self.filename, name +def resolve_environment(working_dir, service_dict): + """Unpack any environment variables from an env_file, if set. + Interpolate environment values if set. + """ + if 'environment' not in service_dict and 'env_file' not in service_dict: + return {} + + env = {} + if 'env_file' in service_dict: + for env_file in get_env_files(service_dict, working_dir=working_dir): + env.update(env_vars_from_file(env_file)) + + env.update(parse_environment(service_dict.get('environment'))) + return dict(resolve_env_var(k, v) for k, v in six.iteritems(env)) + + def validate_extended_service_dict(service_dict, filename, service): error_prefix = "Cannot extend service '%s' in %s:" % (service, filename) From c4f59e731d540780a767d105bcb8d7d164ba4cd5 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 4 Nov 2015 16:37:44 -0500 Subject: [PATCH 156/221] Make working_dir consistent in the config package. - make it a positional arg, since it's required - make it the first argument for all functions that require it - remove an unnecessary one-line function that was only called in one place Signed-off-by: Daniel Nephin --- compose/config/config.py | 33 ++++++++++++-------------------- tests/unit/config/config_test.py | 2 +- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 5bc534fe9..141fa89df 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -252,7 +252,7 @@ class ServiceLoader(object): if not self.already_seen: validate_against_service_schema(service_dict, self.service_name) - return process_container_options(service_dict, working_dir=self.working_dir) + return process_container_options(self.working_dir, service_dict) def validate_and_construct_extends(self): extends = self.service_dict['extends'] @@ -321,7 +321,7 @@ def resolve_environment(working_dir, service_dict): env = {} if 'env_file' in service_dict: - for env_file in get_env_files(service_dict, working_dir=working_dir): + for env_file in get_env_files(working_dir, service_dict): env.update(env_vars_from_file(env_file)) env.update(parse_environment(service_dict.get('environment'))) @@ -345,14 +345,14 @@ def validate_extended_service_dict(service_dict, filename, service): "%s services with 'net: container' cannot be extended" % error_prefix) -def process_container_options(service_dict, working_dir=None): - service_dict = service_dict.copy() +def process_container_options(working_dir, service_dict): + service_dict = dict(service_dict) if 'volumes' in service_dict and service_dict.get('volume_driver') is None: - service_dict['volumes'] = resolve_volume_paths(service_dict, working_dir=working_dir) + service_dict['volumes'] = resolve_volume_paths(working_dir, service_dict) if 'build' in service_dict: - service_dict['build'] = resolve_build_path(service_dict['build'], working_dir=working_dir) + service_dict['build'] = expand_path(working_dir, service_dict['build']) if 'labels' in service_dict: service_dict['labels'] = parse_labels(service_dict['labels']) @@ -428,7 +428,7 @@ def merge_environment(base, override): return env -def get_env_files(options, working_dir=None): +def get_env_files(working_dir, options): if 'env_file' not in options: return {} @@ -488,17 +488,14 @@ def env_vars_from_file(filename): return env -def resolve_volume_paths(service_dict, working_dir=None): - if working_dir is None: - raise Exception("No working_dir passed to resolve_volume_paths()") - +def resolve_volume_paths(working_dir, service_dict): return [ - resolve_volume_path(v, working_dir, service_dict['name']) - for v in service_dict['volumes'] + resolve_volume_path(working_dir, volume, service_dict['name']) + for volume in service_dict['volumes'] ] -def resolve_volume_path(volume, working_dir, service_name): +def resolve_volume_path(working_dir, volume, service_name): container_path, host_path = split_path_mapping(volume) if host_path is not None: @@ -510,12 +507,6 @@ def resolve_volume_path(volume, working_dir, service_name): return container_path -def resolve_build_path(build_path, working_dir=None): - if working_dir is None: - raise Exception("No working_dir passed to resolve_build_path") - return expand_path(working_dir, build_path) - - def validate_paths(service_dict): if 'build' in service_dict: build_path = service_dict['build'] @@ -582,7 +573,7 @@ def parse_labels(labels): return dict(split_label(e) for e in labels) if isinstance(labels, dict): - return labels + return dict(labels) def split_label(label): diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 69b235852..e0d2e870b 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -577,7 +577,7 @@ class VolumeConfigTest(unittest.TestCase): def test_volume_path_with_non_ascii_directory(self): volume = u'/Füü/data:/data' - container_path = config.resolve_volume_path(volume, ".", "test") + container_path = config.resolve_volume_path(".", volume, "test") self.assertEqual(container_path, volume) From e6755d1e7c548ebc5f011fd623c3bba53a3bf4b4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 4 Nov 2015 16:46:19 -0500 Subject: [PATCH 157/221] Use VolumeSpec instead of re-parsing the volume string. Signed-off-by: Daniel Nephin --- compose/service.py | 19 +++++++++++-------- tests/unit/service_test.py | 4 ++-- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/compose/service.py b/compose/service.py index 19aa78380..a98cf49fe 100644 --- a/compose/service.py +++ b/compose/service.py @@ -899,14 +899,15 @@ def merge_volume_bindings(volumes_option, previous_container): """Return a list of volume bindings for a container. Container data volumes are replaced by those from the previous container. """ + volumes = [parse_volume_spec(volume) for volume in volumes_option or []] volume_bindings = dict( - build_volume_binding(parse_volume_spec(volume)) - for volume in volumes_option or [] - if ':' in volume) + build_volume_binding(volume) + for volume in volumes + if volume.external) if previous_container: volume_bindings.update( - get_container_data_volumes(previous_container, volumes_option)) + get_container_data_volumes(previous_container, volumes)) return list(volume_bindings.values()) @@ -917,12 +918,14 @@ def get_container_data_volumes(container, volumes_option): """ volumes = [] - volumes_option = volumes_option or [] container_volumes = container.get('Volumes') or {} - image_volumes = container.image_config['ContainerConfig'].get('Volumes') or {} + image_volumes = [ + parse_volume_spec(volume) + for volume in + container.image_config['ContainerConfig'].get('Volumes') or {} + ] - for volume in set(volumes_option + list(image_volumes)): - volume = parse_volume_spec(volume) + for volume in set(volumes_option + image_volumes): # No need to preserve host volumes if volume.external: continue diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index c77c6a364..1a28ddf1f 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -545,11 +545,11 @@ class ServiceVolumesTest(unittest.TestCase): self.assertEqual(binding, ('/inside', '/outside:/inside:rw')) def test_get_container_data_volumes(self): - options = [ + options = [parse_volume_spec(v) for v in [ '/host/volume:/host/volume:ro', '/new/volume', '/existing/volume', - ] + ]] self.mock_client.inspect_image.return_value = { 'ContainerConfig': { From 3f14df374fa5e47558de2d376f69194033817407 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 4 Nov 2015 15:54:59 -0500 Subject: [PATCH 158/221] Handle non-utf8 unicode without raising an error. Signed-off-by: Daniel Nephin --- compose/config/config.py | 2 +- compose/utils.py | 2 +- tests/unit/utils_test.py | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 141fa89df..434589d31 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -457,7 +457,7 @@ def parse_environment(environment): def split_env(env): if isinstance(env, six.binary_type): - env = env.decode('utf-8') + env = env.decode('utf-8', 'replace') if '=' in env: return env.split('=', 1) else: diff --git a/compose/utils.py b/compose/utils.py index 14cca61b0..2c6c4584d 100644 --- a/compose/utils.py +++ b/compose/utils.py @@ -95,7 +95,7 @@ def stream_as_text(stream): """ for data in stream: if not isinstance(data, six.text_type): - data = data.decode('utf-8') + data = data.decode('utf-8', 'replace') yield data diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py index b272c7349..e3d0bc00b 100644 --- a/tests/unit/utils_test.py +++ b/tests/unit/utils_test.py @@ -1,3 +1,6 @@ +# encoding: utf-8 +from __future__ import unicode_literals + from .. import unittest from compose import utils @@ -14,3 +17,16 @@ class JsonSplitterTestCase(unittest.TestCase): utils.json_splitter(data), ({'foo': 'bar'}, '{"next": "obj"}') ) + + +class StreamAsTextTestCase(unittest.TestCase): + + def test_stream_with_non_utf_unicode_character(self): + stream = [b'\xed\xf3\xf3'] + output, = utils.stream_as_text(stream) + assert output == '���' + + def test_stream_with_utf_character(self): + stream = ['ěĝ'.encode('utf-8')] + output, = utils.stream_as_text(stream) + assert output == 'ěĝ' From ba61a6c5fbad38a6fc157f7c19003feea0be32e4 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 5 Nov 2015 17:50:32 -0500 Subject: [PATCH 159/221] Don't set the hostname to the service name with networking. Signed-off-by: Daniel Nephin --- compose/service.py | 3 --- tests/integration/cli_test.py | 1 - tests/unit/service_test.py | 10 ---------- 3 files changed, 14 deletions(-) diff --git a/compose/service.py b/compose/service.py index a98cf49fe..fc2677791 100644 --- a/compose/service.py +++ b/compose/service.py @@ -605,9 +605,6 @@ class Service(object): container_options['hostname'] = parts[0] container_options['domainname'] = parts[2] - if 'hostname' not in container_options and self.use_networking: - container_options['hostname'] = self.name - if 'ports' in container_options or 'expose' in self.options: ports = [] all_ports = container_options.get('ports', []) + self.options.get('expose', []) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index e8f0df8cc..279c97f5f 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -226,7 +226,6 @@ class CLITestCase(DockerClientTestCase): containers = service.containers() self.assertEqual(len(containers), 1) self.assertIn(containers[0].id, network['Containers']) - self.assertEqual(containers[0].get('Config.Hostname'), service.name) web_container = self.project.get_service('web').containers()[0] self.assertFalse(web_container.get('HostConfig.Links')) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 1a28ddf1f..90bad87ac 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -213,16 +213,6 @@ class ServiceTest(unittest.TestCase): opts = service._get_container_create_options({'image': 'foo'}, 1) self.assertIsNone(opts.get('hostname')) - def test_hostname_defaults_to_service_name_when_using_networking(self): - service = Service( - 'foo', - image='foo', - use_networking=True, - client=self.mock_client, - ) - opts = service._get_container_create_options({'image': 'foo'}, 1) - self.assertEqual(opts['hostname'], 'foo') - def test_get_container_create_options_with_name_option(self): service = Service( 'foo', From 886134c1f3ca27f6bb849551a5e5a31e3efc6e07 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 12:29:52 -0500 Subject: [PATCH 160/221] Recreate dependents when a dependency is created (not just when it's recreated). Signed-off-by: Daniel Nephin --- compose/project.py | 2 +- tests/integration/state_test.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/compose/project.py b/compose/project.py index 1e01eaf6d..f0478203b 100644 --- a/compose/project.py +++ b/compose/project.py @@ -322,7 +322,7 @@ class Project(object): name for name in service.get_dependency_names() if name in plans - and plans[name].action == 'recreate' + and plans[name].action in ('recreate', 'create') ] if updated_dependencies and strategy.allows_recreate: diff --git a/tests/integration/state_test.py b/tests/integration/state_test.py index 7830ba32c..1fecce87b 100644 --- a/tests/integration/state_test.py +++ b/tests/integration/state_test.py @@ -176,6 +176,19 @@ class ProjectWithDependenciesTest(ProjectTestCase): containers = self.run_up(next_cfg) self.assertEqual(len(containers), 2) + def test_service_recreated_when_dependency_created(self): + containers = self.run_up(self.cfg, service_names=['web'], start_deps=False) + self.assertEqual(len(containers), 1) + + containers = self.run_up(self.cfg) + self.assertEqual(len(containers), 3) + + web, = [c for c in containers if c.service == 'web'] + nginx, = [c for c in containers if c.service == 'nginx'] + + self.assertEqual(web.links(), ['composetest_db_1', 'db', 'db_1']) + self.assertEqual(nginx.links(), ['composetest_web_1', 'web', 'web_1']) + class ServiceStateTest(DockerClientTestCase): """Test cases for Service.convergence_plan.""" From 666c3cb1c76e6d69075337e523effce0d93b9e4d Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Tue, 10 Nov 2015 10:11:20 -0800 Subject: [PATCH 161/221] Use exit code 1 when encountering a ReadTimeout Signed-off-by: Joffrey F --- compose/cli/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/compose/cli/main.py b/compose/cli/main.py index 11aeac38c..95db45cec 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -80,6 +80,7 @@ def main(): "If you encounter this issue regularly because of slow network conditions, consider setting " "COMPOSE_HTTP_TIMEOUT to a higher value (current value: %s)." % HTTP_TIMEOUT ) + sys.exit(1) def setup_logging(): From 7f2f4eef48c2cec4f8cf8337c4a9076820cc9e3e Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 2 Nov 2015 16:46:49 -0500 Subject: [PATCH 162/221] Update cli tests to use subprocess. Signed-off-by: Daniel Nephin --- tests/integration/cli_test.py | 447 ++++++++++++++++------------------ 1 file changed, 209 insertions(+), 238 deletions(-) diff --git a/tests/integration/cli_test.py b/tests/integration/cli_test.py index 279c97f5f..7b7537e21 100644 --- a/tests/integration/cli_test.py +++ b/tests/integration/cli_test.py @@ -2,30 +2,32 @@ from __future__ import absolute_import import os import shlex -import sys +import subprocess +from collections import namedtuple from operator import attrgetter -from six import StringIO +import pytest from .. import mock from .testcases import DockerClientTestCase from compose.cli.command import get_project from compose.cli.docker_client import docker_client -from compose.cli.errors import UserError -from compose.cli.main import TopLevelCommand -from compose.project import NoSuchService + + +ProcessResult = namedtuple('ProcessResult', 'stdout stderr') + + +BUILD_CACHE_TEXT = 'Using cache' +BUILD_PULL_TEXT = 'Status: Image is up to date for busybox:latest' class CLITestCase(DockerClientTestCase): + def setUp(self): super(CLITestCase, self).setUp() - self.old_sys_exit = sys.exit - sys.exit = lambda code=0: None - self.command = TopLevelCommand() - self.command.base_dir = 'tests/fixtures/simple-composefile' + self.base_dir = 'tests/fixtures/simple-composefile' def tearDown(self): - sys.exit = self.old_sys_exit self.project.kill() self.project.remove_stopped() for container in self.project.containers(stopped=True, one_off=True): @@ -34,129 +36,121 @@ class CLITestCase(DockerClientTestCase): @property def project(self): - # Hack: allow project to be overridden. This needs refactoring so that - # the project object is built exactly once, by the command object, and - # accessed by the test case object. - if hasattr(self, '_project'): - return self._project + # Hack: allow project to be overridden + if not hasattr(self, '_project'): + self._project = get_project(self.base_dir) + return self._project - return get_project(self.command.base_dir) + def dispatch(self, options, project_options=None, returncode=0): + project_options = project_options or [] + proc = subprocess.Popen( + ['docker-compose'] + project_options + options, + # Note: this might actually be a patched sys.stdout, so we have + # to specify it here, even though it's the default + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + cwd=self.base_dir) + print("Running process: %s" % proc.pid) + stdout, stderr = proc.communicate() + if proc.returncode != returncode: + print(stderr) + assert proc.returncode == returncode + return ProcessResult(stdout.decode('utf-8'), stderr.decode('utf-8')) def test_help(self): - old_base_dir = self.command.base_dir - self.command.base_dir = 'tests/fixtures/no-composefile' - with self.assertRaises(SystemExit) as exc_context: - self.command.dispatch(['help', 'up'], None) - self.assertIn('Usage: up [options] [SERVICE...]', str(exc_context.exception)) + old_base_dir = self.base_dir + self.base_dir = 'tests/fixtures/no-composefile' + result = self.dispatch(['help', 'up'], returncode=1) + assert 'Usage: up [options] [SERVICE...]' in result.stderr # self.project.kill() fails during teardown # unless there is a composefile. - self.command.base_dir = old_base_dir + self.base_dir = old_base_dir - # TODO: address the "Inappropriate ioctl for device" warnings in test output def test_ps(self): self.project.get_service('simple').create_container() - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['ps'], None) - self.assertIn('simplecomposefile_simple_1', mock_stdout.getvalue()) + result = self.dispatch(['ps']) + assert 'simplecomposefile_simple_1' in result.stdout def test_ps_default_composefile(self): - self.command.base_dir = 'tests/fixtures/multiple-composefiles' - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['up', '-d'], None) - self.command.dispatch(['ps'], None) + self.base_dir = 'tests/fixtures/multiple-composefiles' + self.dispatch(['up', '-d']) + result = self.dispatch(['ps']) - output = mock_stdout.getvalue() - self.assertIn('multiplecomposefiles_simple_1', output) - self.assertIn('multiplecomposefiles_another_1', output) - self.assertNotIn('multiplecomposefiles_yetanother_1', output) + self.assertIn('multiplecomposefiles_simple_1', result.stdout) + self.assertIn('multiplecomposefiles_another_1', result.stdout) + self.assertNotIn('multiplecomposefiles_yetanother_1', result.stdout) def test_ps_alternate_composefile(self): config_path = os.path.abspath( 'tests/fixtures/multiple-composefiles/compose2.yml') - self._project = get_project(self.command.base_dir, [config_path]) + self._project = get_project(self.base_dir, [config_path]) - self.command.base_dir = 'tests/fixtures/multiple-composefiles' - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['-f', 'compose2.yml', 'up', '-d'], None) - self.command.dispatch(['-f', 'compose2.yml', 'ps'], None) + self.base_dir = 'tests/fixtures/multiple-composefiles' + self.dispatch(['-f', 'compose2.yml', 'up', '-d']) + result = self.dispatch(['-f', 'compose2.yml', 'ps']) - output = mock_stdout.getvalue() - self.assertNotIn('multiplecomposefiles_simple_1', output) - self.assertNotIn('multiplecomposefiles_another_1', output) - self.assertIn('multiplecomposefiles_yetanother_1', output) + self.assertNotIn('multiplecomposefiles_simple_1', result.stdout) + self.assertNotIn('multiplecomposefiles_another_1', result.stdout) + self.assertIn('multiplecomposefiles_yetanother_1', result.stdout) - @mock.patch('compose.service.log') - def test_pull(self, mock_logging): - self.command.dispatch(['pull'], None) - mock_logging.info.assert_any_call('Pulling simple (busybox:latest)...') - mock_logging.info.assert_any_call('Pulling another (busybox:latest)...') + def test_pull(self): + result = self.dispatch(['pull']) + assert sorted(result.stderr.split('\n'))[1:] == [ + 'Pulling another (busybox:latest)...', + 'Pulling simple (busybox:latest)...', + ] - @mock.patch('compose.service.log') - def test_pull_with_digest(self, mock_logging): - self.command.dispatch(['-f', 'digest.yml', 'pull'], None) - mock_logging.info.assert_any_call('Pulling simple (busybox:latest)...') - mock_logging.info.assert_any_call( - 'Pulling digest (busybox@' - 'sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d)...') + def test_pull_with_digest(self): + result = self.dispatch(['-f', 'digest.yml', 'pull']) - @mock.patch('compose.service.log') - def test_pull_with_ignore_pull_failures(self, mock_logging): - self.command.dispatch(['-f', 'ignore-pull-failures.yml', 'pull', '--ignore-pull-failures'], None) - mock_logging.info.assert_any_call('Pulling simple (busybox:latest)...') - mock_logging.info.assert_any_call('Pulling another (nonexisting-image:latest)...') - mock_logging.error.assert_any_call('Error: image library/nonexisting-image:latest not found') + assert 'Pulling simple (busybox:latest)...' in result.stderr + assert ('Pulling digest (busybox@' + 'sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b520' + '04ee8502d)...') in result.stderr + + def test_pull_with_ignore_pull_failures(self): + result = self.dispatch([ + '-f', 'ignore-pull-failures.yml', + 'pull', '--ignore-pull-failures']) + + assert 'Pulling simple (busybox:latest)...' in result.stderr + assert 'Pulling another (nonexisting-image:latest)...' in result.stderr + assert 'Error: image library/nonexisting-image:latest not found' in result.stderr def test_build_plain(self): - self.command.base_dir = 'tests/fixtures/simple-dockerfile' - self.command.dispatch(['build', 'simple'], None) + self.base_dir = 'tests/fixtures/simple-dockerfile' + self.dispatch(['build', 'simple']) - cache_indicator = 'Using cache' - pull_indicator = 'Status: Image is up to date for busybox:latest' - - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['build', 'simple'], None) - output = mock_stdout.getvalue() - self.assertIn(cache_indicator, output) - self.assertNotIn(pull_indicator, output) + result = self.dispatch(['build', 'simple']) + assert BUILD_CACHE_TEXT in result.stdout + assert BUILD_PULL_TEXT not in result.stdout def test_build_no_cache(self): - self.command.base_dir = 'tests/fixtures/simple-dockerfile' - self.command.dispatch(['build', 'simple'], None) + self.base_dir = 'tests/fixtures/simple-dockerfile' + self.dispatch(['build', 'simple']) - cache_indicator = 'Using cache' - pull_indicator = 'Status: Image is up to date for busybox:latest' - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['build', '--no-cache', 'simple'], None) - output = mock_stdout.getvalue() - self.assertNotIn(cache_indicator, output) - self.assertNotIn(pull_indicator, output) + result = self.dispatch(['build', '--no-cache', 'simple']) + assert BUILD_CACHE_TEXT not in result.stdout + assert BUILD_PULL_TEXT not in result.stdout def test_build_pull(self): - self.command.base_dir = 'tests/fixtures/simple-dockerfile' - self.command.dispatch(['build', 'simple'], None) + self.base_dir = 'tests/fixtures/simple-dockerfile' + self.dispatch(['build', 'simple'], None) - cache_indicator = 'Using cache' - pull_indicator = 'Status: Image is up to date for busybox:latest' - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['build', '--pull', 'simple'], None) - output = mock_stdout.getvalue() - self.assertIn(cache_indicator, output) - self.assertIn(pull_indicator, output) + result = self.dispatch(['build', '--pull', 'simple']) + assert BUILD_CACHE_TEXT in result.stdout + assert BUILD_PULL_TEXT in result.stdout def test_build_no_cache_pull(self): - self.command.base_dir = 'tests/fixtures/simple-dockerfile' - self.command.dispatch(['build', 'simple'], None) + self.base_dir = 'tests/fixtures/simple-dockerfile' + self.dispatch(['build', 'simple']) - cache_indicator = 'Using cache' - pull_indicator = 'Status: Image is up to date for busybox:latest' - with mock.patch('sys.stdout', new_callable=StringIO) as mock_stdout: - self.command.dispatch(['build', '--no-cache', '--pull', 'simple'], None) - output = mock_stdout.getvalue() - self.assertNotIn(cache_indicator, output) - self.assertIn(pull_indicator, output) + result = self.dispatch(['build', '--no-cache', '--pull', 'simple']) + assert BUILD_CACHE_TEXT not in result.stdout + assert BUILD_PULL_TEXT in result.stdout def test_up_detached(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') another = self.project.get_service('another') self.assertEqual(len(service.containers()), 1) @@ -168,12 +162,14 @@ class CLITestCase(DockerClientTestCase): self.assertFalse(container.get('Config.AttachStdout')) self.assertFalse(container.get('Config.AttachStdin')) + # TODO: needs rework + @pytest.mark.skipif(True, reason="runs top") def test_up_attached(self): with mock.patch( 'compose.cli.main.attach_to_logs', autospec=True ) as mock_attach: - self.command.dispatch(['up'], None) + self.dispatch(['up'], None) _, args, kwargs = mock_attach.mock_calls[0] _project, log_printer, _names, _timeout = args @@ -189,8 +185,8 @@ class CLITestCase(DockerClientTestCase): def test_up_without_networking(self): self.require_api_version('1.21') - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['up', '-d'], None) + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['up', '-d'], None) client = docker_client(version='1.21') networks = client.networks(names=[self.project.name]) @@ -207,8 +203,8 @@ class CLITestCase(DockerClientTestCase): def test_up_with_networking(self): self.require_api_version('1.21') - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['--x-networking', 'up', '-d'], None) + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['--x-networking', 'up', '-d'], None) client = docker_client(version='1.21') services = self.project.get_services() @@ -231,8 +227,8 @@ class CLITestCase(DockerClientTestCase): self.assertFalse(web_container.get('HostConfig.Links')) def test_up_with_links(self): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['up', '-d', 'web'], None) + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['up', '-d', 'web'], None) web = self.project.get_service('web') db = self.project.get_service('db') console = self.project.get_service('console') @@ -241,8 +237,8 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(console.containers()), 0) def test_up_with_no_deps(self): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['up', '-d', '--no-deps', 'web'], None) + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['up', '-d', '--no-deps', 'web'], None) web = self.project.get_service('web') db = self.project.get_service('db') console = self.project.get_service('console') @@ -251,13 +247,13 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(console.containers()), 0) def test_up_with_force_recreate(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) old_ids = [c.id for c in service.containers()] - self.command.dispatch(['up', '-d', '--force-recreate'], None) + self.dispatch(['up', '-d', '--force-recreate'], None) self.assertEqual(len(service.containers()), 1) new_ids = [c.id for c in service.containers()] @@ -265,13 +261,13 @@ class CLITestCase(DockerClientTestCase): self.assertNotEqual(old_ids, new_ids) def test_up_with_no_recreate(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) old_ids = [c.id for c in service.containers()] - self.command.dispatch(['up', '-d', '--no-recreate'], None) + self.dispatch(['up', '-d', '--no-recreate'], None) self.assertEqual(len(service.containers()), 1) new_ids = [c.id for c in service.containers()] @@ -279,11 +275,12 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(old_ids, new_ids) def test_up_with_force_recreate_and_no_recreate(self): - with self.assertRaises(UserError): - self.command.dispatch(['up', '-d', '--force-recreate', '--no-recreate'], None) + self.dispatch( + ['up', '-d', '--force-recreate', '--no-recreate'], + returncode=1) def test_up_with_timeout(self): - self.command.dispatch(['up', '-d', '-t', '1'], None) + self.dispatch(['up', '-d', '-t', '1'], None) service = self.project.get_service('simple') another = self.project.get_service('another') self.assertEqual(len(service.containers()), 1) @@ -295,10 +292,9 @@ class CLITestCase(DockerClientTestCase): self.assertFalse(config['AttachStdout']) self.assertFalse(config['AttachStdin']) - @mock.patch('dockerpty.start') - def test_run_service_without_links(self, mock_stdout): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['run', 'console', '/bin/true'], None) + def test_run_service_without_links(self): + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['run', 'console', '/bin/true']) self.assertEqual(len(self.project.containers()), 0) # Ensure stdin/out was open @@ -308,44 +304,40 @@ class CLITestCase(DockerClientTestCase): self.assertTrue(config['AttachStdout']) self.assertTrue(config['AttachStdin']) - @mock.patch('dockerpty.start') - def test_run_service_with_links(self, _): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['run', 'web', '/bin/true'], None) + def test_run_service_with_links(self): + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['run', 'web', '/bin/true'], None) db = self.project.get_service('db') console = self.project.get_service('console') self.assertEqual(len(db.containers()), 1) self.assertEqual(len(console.containers()), 0) - @mock.patch('dockerpty.start') - def test_run_with_no_deps(self, _): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['run', '--no-deps', 'web', '/bin/true'], None) + def test_run_with_no_deps(self): + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['run', '--no-deps', 'web', '/bin/true']) db = self.project.get_service('db') self.assertEqual(len(db.containers()), 0) - @mock.patch('dockerpty.start') - def test_run_does_not_recreate_linked_containers(self, _): - self.command.base_dir = 'tests/fixtures/links-composefile' - self.command.dispatch(['up', '-d', 'db'], None) + def test_run_does_not_recreate_linked_containers(self): + self.base_dir = 'tests/fixtures/links-composefile' + self.dispatch(['up', '-d', 'db']) db = self.project.get_service('db') self.assertEqual(len(db.containers()), 1) old_ids = [c.id for c in db.containers()] - self.command.dispatch(['run', 'web', '/bin/true'], None) + self.dispatch(['run', 'web', '/bin/true'], None) self.assertEqual(len(db.containers()), 1) new_ids = [c.id for c in db.containers()] self.assertEqual(old_ids, new_ids) - @mock.patch('dockerpty.start') - def test_run_without_command(self, _): - self.command.base_dir = 'tests/fixtures/commands-composefile' + def test_run_without_command(self): + self.base_dir = 'tests/fixtures/commands-composefile' self.check_build('tests/fixtures/simple-dockerfile', tag='composetest_test') - self.command.dispatch(['run', 'implicit'], None) + self.dispatch(['run', 'implicit']) service = self.project.get_service('implicit') containers = service.containers(stopped=True, one_off=True) self.assertEqual( @@ -353,7 +345,7 @@ class CLITestCase(DockerClientTestCase): [u'/bin/sh -c echo "success"'], ) - self.command.dispatch(['run', 'explicit'], None) + self.dispatch(['run', 'explicit']) service = self.project.get_service('explicit') containers = service.containers(stopped=True, one_off=True) self.assertEqual( @@ -361,14 +353,10 @@ class CLITestCase(DockerClientTestCase): [u'/bin/true'], ) - @mock.patch('dockerpty.start') - def test_run_service_with_entrypoint_overridden(self, _): - self.command.base_dir = 'tests/fixtures/dockerfile_with_entrypoint' + def test_run_service_with_entrypoint_overridden(self): + self.base_dir = 'tests/fixtures/dockerfile_with_entrypoint' name = 'service' - self.command.dispatch( - ['run', '--entrypoint', '/bin/echo', name, 'helloworld'], - None - ) + self.dispatch(['run', '--entrypoint', '/bin/echo', name, 'helloworld']) service = self.project.get_service(name) container = service.containers(stopped=True, one_off=True)[0] self.assertEqual( @@ -376,37 +364,34 @@ class CLITestCase(DockerClientTestCase): [u'/bin/echo', u'helloworld'], ) - @mock.patch('dockerpty.start') - def test_run_service_with_user_overridden(self, _): - self.command.base_dir = 'tests/fixtures/user-composefile' + def test_run_service_with_user_overridden(self): + self.base_dir = 'tests/fixtures/user-composefile' name = 'service' user = 'sshd' - args = ['run', '--user={user}'.format(user=user), name] - self.command.dispatch(args, None) + self.dispatch(['run', '--user={user}'.format(user=user), name], returncode=1) service = self.project.get_service(name) container = service.containers(stopped=True, one_off=True)[0] self.assertEqual(user, container.get('Config.User')) - @mock.patch('dockerpty.start') - def test_run_service_with_user_overridden_short_form(self, _): - self.command.base_dir = 'tests/fixtures/user-composefile' + def test_run_service_with_user_overridden_short_form(self): + self.base_dir = 'tests/fixtures/user-composefile' name = 'service' user = 'sshd' - args = ['run', '-u', user, name] - self.command.dispatch(args, None) + self.dispatch(['run', '-u', user, name], returncode=1) service = self.project.get_service(name) container = service.containers(stopped=True, one_off=True)[0] self.assertEqual(user, container.get('Config.User')) - @mock.patch('dockerpty.start') - def test_run_service_with_environement_overridden(self, _): + def test_run_service_with_environement_overridden(self): name = 'service' - self.command.base_dir = 'tests/fixtures/environment-composefile' - self.command.dispatch( - ['run', '-e', 'foo=notbar', '-e', 'allo=moto=bobo', - '-e', 'alpha=beta', name], - None - ) + self.base_dir = 'tests/fixtures/environment-composefile' + self.dispatch([ + 'run', '-e', 'foo=notbar', + '-e', 'allo=moto=bobo', + '-e', 'alpha=beta', + name, + '/bin/true', + ]) service = self.project.get_service(name) container = service.containers(stopped=True, one_off=True)[0] # env overriden @@ -418,11 +403,10 @@ class CLITestCase(DockerClientTestCase): # make sure a value with a = don't crash out self.assertEqual('moto=bobo', container.environment['allo']) - @mock.patch('dockerpty.start') - def test_run_service_without_map_ports(self, _): + def test_run_service_without_map_ports(self): # create one off container - self.command.base_dir = 'tests/fixtures/ports-composefile' - self.command.dispatch(['run', '-d', 'simple'], None) + self.base_dir = 'tests/fixtures/ports-composefile' + self.dispatch(['run', '-d', 'simple']) container = self.project.get_service('simple').containers(one_off=True)[0] # get port information @@ -436,12 +420,10 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(port_random, None) self.assertEqual(port_assigned, None) - @mock.patch('dockerpty.start') - def test_run_service_with_map_ports(self, _): - + def test_run_service_with_map_ports(self): # create one off container - self.command.base_dir = 'tests/fixtures/ports-composefile' - self.command.dispatch(['run', '-d', '--service-ports', 'simple'], None) + self.base_dir = 'tests/fixtures/ports-composefile' + self.dispatch(['run', '-d', '--service-ports', 'simple']) container = self.project.get_service('simple').containers(one_off=True)[0] # get port information @@ -459,12 +441,10 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(port_range[0], "0.0.0.0:49153") self.assertEqual(port_range[1], "0.0.0.0:49154") - @mock.patch('dockerpty.start') - def test_run_service_with_explicitly_maped_ports(self, _): - + def test_run_service_with_explicitly_maped_ports(self): # create one off container - self.command.base_dir = 'tests/fixtures/ports-composefile' - self.command.dispatch(['run', '-d', '-p', '30000:3000', '--publish', '30001:3001', 'simple'], None) + self.base_dir = 'tests/fixtures/ports-composefile' + self.dispatch(['run', '-d', '-p', '30000:3000', '--publish', '30001:3001', 'simple']) container = self.project.get_service('simple').containers(one_off=True)[0] # get port information @@ -478,12 +458,10 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(port_short, "0.0.0.0:30000") self.assertEqual(port_full, "0.0.0.0:30001") - @mock.patch('dockerpty.start') - def test_run_service_with_explicitly_maped_ip_ports(self, _): - + def test_run_service_with_explicitly_maped_ip_ports(self): # create one off container - self.command.base_dir = 'tests/fixtures/ports-composefile' - self.command.dispatch(['run', '-d', '-p', '127.0.0.1:30000:3000', '--publish', '127.0.0.1:30001:3001', 'simple'], None) + self.base_dir = 'tests/fixtures/ports-composefile' + self.dispatch(['run', '-d', '-p', '127.0.0.1:30000:3000', '--publish', '127.0.0.1:30001:3001', 'simple'], None) container = self.project.get_service('simple').containers(one_off=True)[0] # get port information @@ -497,22 +475,20 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(port_short, "127.0.0.1:30000") self.assertEqual(port_full, "127.0.0.1:30001") - @mock.patch('dockerpty.start') - def test_run_with_custom_name(self, _): - self.command.base_dir = 'tests/fixtures/environment-composefile' + def test_run_with_custom_name(self): + self.base_dir = 'tests/fixtures/environment-composefile' name = 'the-container-name' - self.command.dispatch(['run', '--name', name, 'service'], None) + self.dispatch(['run', '--name', name, 'service', '/bin/true']) service = self.project.get_service('service') container, = service.containers(stopped=True, one_off=True) self.assertEqual(container.name, name) - @mock.patch('dockerpty.start') - def test_run_with_networking(self, _): + def test_run_with_networking(self): self.require_api_version('1.21') client = docker_client(version='1.21') - self.command.base_dir = 'tests/fixtures/simple-dockerfile' - self.command.dispatch(['--x-networking', 'run', 'simple', 'true'], None) + self.base_dir = 'tests/fixtures/simple-dockerfile' + self.dispatch(['--x-networking', 'run', 'simple', 'true'], None) service = self.project.get_service('simple') container, = service.containers(stopped=True, one_off=True) networks = client.networks(names=[self.project.name]) @@ -526,71 +502,70 @@ class CLITestCase(DockerClientTestCase): service.create_container() service.kill() self.assertEqual(len(service.containers(stopped=True)), 1) - self.command.dispatch(['rm', '--force'], None) + self.dispatch(['rm', '--force'], None) self.assertEqual(len(service.containers(stopped=True)), 0) service = self.project.get_service('simple') service.create_container() service.kill() self.assertEqual(len(service.containers(stopped=True)), 1) - self.command.dispatch(['rm', '-f'], None) + self.dispatch(['rm', '-f'], None) self.assertEqual(len(service.containers(stopped=True)), 0) def test_stop(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) self.assertTrue(service.containers()[0].is_running) - self.command.dispatch(['stop', '-t', '1'], None) + self.dispatch(['stop', '-t', '1'], None) self.assertEqual(len(service.containers(stopped=True)), 1) self.assertFalse(service.containers(stopped=True)[0].is_running) def test_pause_unpause(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertFalse(service.containers()[0].is_paused) - self.command.dispatch(['pause'], None) + self.dispatch(['pause'], None) self.assertTrue(service.containers()[0].is_paused) - self.command.dispatch(['unpause'], None) + self.dispatch(['unpause'], None) self.assertFalse(service.containers()[0].is_paused) def test_logs_invalid_service_name(self): - with self.assertRaises(NoSuchService): - self.command.dispatch(['logs', 'madeupname'], None) + self.dispatch(['logs', 'madeupname'], returncode=1) def test_kill(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) self.assertTrue(service.containers()[0].is_running) - self.command.dispatch(['kill'], None) + self.dispatch(['kill'], None) self.assertEqual(len(service.containers(stopped=True)), 1) self.assertFalse(service.containers(stopped=True)[0].is_running) def test_kill_signal_sigstop(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') self.assertEqual(len(service.containers()), 1) self.assertTrue(service.containers()[0].is_running) - self.command.dispatch(['kill', '-s', 'SIGSTOP'], None) + self.dispatch(['kill', '-s', 'SIGSTOP'], None) self.assertEqual(len(service.containers()), 1) # The container is still running. It has only been paused self.assertTrue(service.containers()[0].is_running) def test_kill_stopped_service(self): - self.command.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d'], None) service = self.project.get_service('simple') - self.command.dispatch(['kill', '-s', 'SIGSTOP'], None) + self.dispatch(['kill', '-s', 'SIGSTOP'], None) self.assertTrue(service.containers()[0].is_running) - self.command.dispatch(['kill', '-s', 'SIGKILL'], None) + self.dispatch(['kill', '-s', 'SIGKILL'], None) self.assertEqual(len(service.containers(stopped=True)), 1) self.assertFalse(service.containers(stopped=True)[0].is_running) @@ -600,7 +575,7 @@ class CLITestCase(DockerClientTestCase): container = service.create_container() container.start() started_at = container.dictionary['State']['StartedAt'] - self.command.dispatch(['restart', '-t', '1'], None) + self.dispatch(['restart', '-t', '1'], None) container.inspect() self.assertNotEqual( container.dictionary['State']['FinishedAt'], @@ -614,53 +589,51 @@ class CLITestCase(DockerClientTestCase): def test_scale(self): project = self.project - self.command.scale(project, {'SERVICE=NUM': ['simple=1']}) + self.dispatch(['scale', 'simple=1']) self.assertEqual(len(project.get_service('simple').containers()), 1) - self.command.scale(project, {'SERVICE=NUM': ['simple=3', 'another=2']}) + self.dispatch(['scale', 'simple=3', 'another=2']) self.assertEqual(len(project.get_service('simple').containers()), 3) self.assertEqual(len(project.get_service('another').containers()), 2) - self.command.scale(project, {'SERVICE=NUM': ['simple=1', 'another=1']}) + self.dispatch(['scale', 'simple=1', 'another=1']) self.assertEqual(len(project.get_service('simple').containers()), 1) self.assertEqual(len(project.get_service('another').containers()), 1) - self.command.scale(project, {'SERVICE=NUM': ['simple=1', 'another=1']}) + self.dispatch(['scale', 'simple=1', 'another=1']) self.assertEqual(len(project.get_service('simple').containers()), 1) self.assertEqual(len(project.get_service('another').containers()), 1) - self.command.scale(project, {'SERVICE=NUM': ['simple=0', 'another=0']}) + self.dispatch(['scale', 'simple=0', 'another=0']) self.assertEqual(len(project.get_service('simple').containers()), 0) self.assertEqual(len(project.get_service('another').containers()), 0) def test_port(self): - self.command.base_dir = 'tests/fixtures/ports-composefile' - self.command.dispatch(['up', '-d'], None) + self.base_dir = 'tests/fixtures/ports-composefile' + self.dispatch(['up', '-d'], None) container = self.project.get_service('simple').get_container() - @mock.patch('sys.stdout', new_callable=StringIO) - def get_port(number, mock_stdout): - self.command.dispatch(['port', 'simple', str(number)], None) - return mock_stdout.getvalue().rstrip() + def get_port(number): + result = self.dispatch(['port', 'simple', str(number)]) + return result.stdout.rstrip() self.assertEqual(get_port(3000), container.get_local_port(3000)) self.assertEqual(get_port(3001), "0.0.0.0:49152") self.assertEqual(get_port(3002), "0.0.0.0:49153") def test_port_with_scale(self): - self.command.base_dir = 'tests/fixtures/ports-composefile-scale' - self.command.dispatch(['scale', 'simple=2'], None) + self.base_dir = 'tests/fixtures/ports-composefile-scale' + self.dispatch(['scale', 'simple=2'], None) containers = sorted( self.project.containers(service_names=['simple']), key=attrgetter('name')) - @mock.patch('sys.stdout', new_callable=StringIO) - def get_port(number, mock_stdout, index=None): + def get_port(number, index=None): if index is None: - self.command.dispatch(['port', 'simple', str(number)], None) + result = self.dispatch(['port', 'simple', str(number)]) else: - self.command.dispatch(['port', '--index=' + str(index), 'simple', str(number)], None) - return mock_stdout.getvalue().rstrip() + result = self.dispatch(['port', '--index=' + str(index), 'simple', str(number)]) + return result.stdout.rstrip() self.assertEqual(get_port(3000), containers[0].get_local_port(3000)) self.assertEqual(get_port(3000, index=1), containers[0].get_local_port(3000)) @@ -669,8 +642,8 @@ class CLITestCase(DockerClientTestCase): def test_env_file_relative_to_compose_file(self): config_path = os.path.abspath('tests/fixtures/env-file/docker-compose.yml') - self.command.dispatch(['-f', config_path, 'up', '-d'], None) - self._project = get_project(self.command.base_dir, [config_path]) + self.dispatch(['-f', config_path, 'up', '-d'], None) + self._project = get_project(self.base_dir, [config_path]) containers = self.project.containers(stopped=True) self.assertEqual(len(containers), 1) @@ -680,20 +653,18 @@ class CLITestCase(DockerClientTestCase): def test_home_and_env_var_in_volume_path(self): os.environ['VOLUME_NAME'] = 'my-volume' os.environ['HOME'] = '/tmp/home-dir' - expected_host_path = os.path.join(os.environ['HOME'], os.environ['VOLUME_NAME']) - self.command.base_dir = 'tests/fixtures/volume-path-interpolation' - self.command.dispatch(['up', '-d'], None) + self.base_dir = 'tests/fixtures/volume-path-interpolation' + self.dispatch(['up', '-d'], None) container = self.project.containers(stopped=True)[0] actual_host_path = container.get('Volumes')['/container-path'] components = actual_host_path.split('/') - self.assertTrue(components[-2:] == ['home-dir', 'my-volume'], - msg="Last two components differ: %s, %s" % (actual_host_path, expected_host_path)) + assert components[-2:] == ['home-dir', 'my-volume'] def test_up_with_default_override_file(self): - self.command.base_dir = 'tests/fixtures/override-files' - self.command.dispatch(['up', '-d'], None) + self.base_dir = 'tests/fixtures/override-files' + self.dispatch(['up', '-d'], None) containers = self.project.containers() self.assertEqual(len(containers), 2) @@ -703,15 +674,15 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(db.human_readable_command, 'top') def test_up_with_multiple_files(self): - self.command.base_dir = 'tests/fixtures/override-files' + self.base_dir = 'tests/fixtures/override-files' config_paths = [ 'docker-compose.yml', 'docker-compose.override.yml', 'extra.yml', ] - self._project = get_project(self.command.base_dir, config_paths) - self.command.dispatch( + self._project = get_project(self.base_dir, config_paths) + self.dispatch( [ '-f', config_paths[0], '-f', config_paths[1], @@ -730,8 +701,8 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(other.human_readable_command, 'top') def test_up_with_extends(self): - self.command.base_dir = 'tests/fixtures/extends' - self.command.dispatch(['up', '-d'], None) + self.base_dir = 'tests/fixtures/extends' + self.dispatch(['up', '-d'], None) self.assertEqual( set([s.name for s in self.project.services]), From 4105c3017c9a75b6044298daffe4a56d7409c2d5 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 2 Nov 2015 17:52:37 -0500 Subject: [PATCH 163/221] Move cli tests to a new testing package. These cli tests are now a different kind of that that run the compose binary. They are not the same as integration tests that test some internal interface. Signed-off-by: Daniel Nephin --- tests/acceptance/__init__.py | 0 tests/{integration => acceptance}/cli_test.py | 29 ++++--------------- .../fixtures/echo-services/docker-compose.yml | 6 ++++ 3 files changed, 12 insertions(+), 23 deletions(-) create mode 100644 tests/acceptance/__init__.py rename tests/{integration => acceptance}/cli_test.py (96%) create mode 100644 tests/fixtures/echo-services/docker-compose.yml diff --git a/tests/acceptance/__init__.py b/tests/acceptance/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/integration/cli_test.py b/tests/acceptance/cli_test.py similarity index 96% rename from tests/integration/cli_test.py rename to tests/acceptance/cli_test.py index 7b7537e21..fc68f9d85 100644 --- a/tests/integration/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -6,12 +6,10 @@ import subprocess from collections import namedtuple from operator import attrgetter -import pytest - from .. import mock -from .testcases import DockerClientTestCase from compose.cli.command import get_project from compose.cli.docker_client import docker_client +from tests.integration.testcases import DockerClientTestCase ProcessResult = namedtuple('ProcessResult', 'stdout stderr') @@ -45,8 +43,6 @@ class CLITestCase(DockerClientTestCase): project_options = project_options or [] proc = subprocess.Popen( ['docker-compose'] + project_options + options, - # Note: this might actually be a patched sys.stdout, so we have - # to specify it here, even though it's the default stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=self.base_dir) @@ -150,7 +146,7 @@ class CLITestCase(DockerClientTestCase): assert BUILD_PULL_TEXT in result.stdout def test_up_detached(self): - self.dispatch(['up', '-d'], None) + self.dispatch(['up', '-d']) service = self.project.get_service('simple') another = self.project.get_service('another') self.assertEqual(len(service.containers()), 1) @@ -162,25 +158,12 @@ class CLITestCase(DockerClientTestCase): self.assertFalse(container.get('Config.AttachStdout')) self.assertFalse(container.get('Config.AttachStdin')) - # TODO: needs rework - @pytest.mark.skipif(True, reason="runs top") def test_up_attached(self): - with mock.patch( - 'compose.cli.main.attach_to_logs', - autospec=True - ) as mock_attach: - self.dispatch(['up'], None) - _, args, kwargs = mock_attach.mock_calls[0] - _project, log_printer, _names, _timeout = args + self.base_dir = 'tests/fixtures/echo-services' + result = self.dispatch(['up', '--no-color']) - service = self.project.get_service('simple') - another = self.project.get_service('another') - self.assertEqual(len(service.containers()), 1) - self.assertEqual(len(another.containers()), 1) - self.assertEqual( - set(log_printer.containers), - set(self.project.containers()) - ) + assert 'simple_1 | simple' in result.stdout + assert 'another_1 | another' in result.stdout def test_up_without_networking(self): self.require_api_version('1.21') diff --git a/tests/fixtures/echo-services/docker-compose.yml b/tests/fixtures/echo-services/docker-compose.yml new file mode 100644 index 000000000..8014f3d91 --- /dev/null +++ b/tests/fixtures/echo-services/docker-compose.yml @@ -0,0 +1,6 @@ +simple: + image: busybox:latest + command: echo simple +another: + image: busybox:latest + command: echo another From 8fb44db92bd35c0ab9145401a0a560bc0391761f Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 20 Oct 2015 13:10:32 -0400 Subject: [PATCH 164/221] Cleanup some unit tests and whitespace. Remove some unnecessary newlines. Remove a unittest that was attempting to test behaviour that was removed a while ago, so isn't testing anything. Updated some unit tests to use mocks instead of a custom fake. Signed-off-by: Daniel Nephin --- compose/service.py | 8 ++---- tests/unit/service_test.py | 50 ++++++++++++++------------------------ 2 files changed, 20 insertions(+), 38 deletions(-) diff --git a/compose/service.py b/compose/service.py index fc2677791..4a7169e96 100644 --- a/compose/service.py +++ b/compose/service.py @@ -300,9 +300,7 @@ class Service(object): Create a container for this service. If the image doesn't exist, attempt to pull it. """ - self.ensure_image_exists( - do_build=do_build, - ) + self.ensure_image_exists(do_build=do_build) container_options = self._get_container_create_options( override_options, @@ -316,9 +314,7 @@ class Service(object): return Container.create(self.client, **container_options) - def ensure_image_exists(self, - do_build=True): - + def ensure_image_exists(self, do_build=True): try: self.image() return diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 90bad87ac..4c70beb70 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -339,44 +339,37 @@ class ServiceTest(unittest.TestCase): self.assertEqual(parse_repository_tag("user/repo@sha256:digest"), ("user/repo", "sha256:digest", "@")) self.assertEqual(parse_repository_tag("url:5000/repo@sha256:digest"), ("url:5000/repo", "sha256:digest", "@")) - @mock.patch('compose.service.Container', autospec=True) - def test_create_container_latest_is_used_when_no_tag_specified(self, mock_container): - service = Service('foo', client=self.mock_client, image='someimage') - images = [] - - def pull(repo, tag=None, **kwargs): - self.assertEqual('someimage', repo) - self.assertEqual('latest', tag) - images.append({'Id': 'abc123'}) - return [] - - service.image = lambda *args, **kwargs: mock_get_image(images) - self.mock_client.pull = pull - - service.create_container() - self.assertEqual(1, len(images)) - def test_create_container_with_build(self): service = Service('foo', client=self.mock_client, build='.') - - images = [] - service.image = lambda *args, **kwargs: mock_get_image(images) - service.build = lambda: images.append({'Id': 'abc123'}) + self.mock_client.inspect_image.side_effect = [ + NoSuchImageError, + {'Id': 'abc123'}, + ] + self.mock_client.build.return_value = [ + '{"stream": "Successfully built abcd"}', + ] service.create_container(do_build=True) - self.assertEqual(1, len(images)) + self.mock_client.build.assert_called_once_with( + tag='default_foo', + dockerfile=None, + stream=True, + path='.', + pull=False, + nocache=False, + rm=True, + ) def test_create_container_no_build(self): service = Service('foo', client=self.mock_client, build='.') - service.image = lambda: {'Id': 'abc123'} + self.mock_client.inspect_image.return_value = {'Id': 'abc123'} service.create_container(do_build=False) self.assertFalse(self.mock_client.build.called) def test_create_container_no_build_but_needs_build(self): service = Service('foo', client=self.mock_client, build='.') - service.image = lambda *args, **kwargs: mock_get_image([]) - + self.mock_client.inspect_image.side_effect = NoSuchImageError with self.assertRaises(NeedsBuildError): service.create_container(do_build=False) @@ -484,13 +477,6 @@ class NetTestCase(unittest.TestCase): self.assertEqual(net.service_name, service_name) -def mock_get_image(images): - if images: - return images[0] - else: - raise NoSuchImageError() - - class ServiceVolumesTest(unittest.TestCase): def setUp(self): From 4c2eb17ccd04e5da00366de2650acf20becf0200 Mon Sep 17 00:00:00 2001 From: Adrian Budau Date: Tue, 27 Oct 2015 02:00:51 -0700 Subject: [PATCH 165/221] Added --force-rm to compose build. It's a flag passed to docker build that removes the intermediate containers left behind on fail builds. Signed-off-by: Adrian Budau --- compose/cli/main.py | 4 ++- compose/project.py | 4 +-- compose/service.py | 3 +- contrib/completion/bash/docker-compose | 2 +- contrib/completion/zsh/_docker-compose | 1 + docs/reference/build.md | 1 + tests/acceptance/cli_test.py | 28 +++++++++++++++++++ .../simple-failing-dockerfile/Dockerfile | 7 +++++ .../docker-compose.yml | 2 ++ tests/unit/service_test.py | 1 + 10 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 tests/fixtures/simple-failing-dockerfile/Dockerfile create mode 100644 tests/fixtures/simple-failing-dockerfile/docker-compose.yml diff --git a/compose/cli/main.py b/compose/cli/main.py index 95db45cec..0360c8bef 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -181,12 +181,14 @@ class TopLevelCommand(DocoptCommand): Usage: build [options] [SERVICE...] Options: + --force-rm Always remove intermediate containers. --no-cache Do not use cache when building the image. --pull Always attempt to pull a newer version of the image. """ + force_rm = bool(options.get('--force-rm', False)) no_cache = bool(options.get('--no-cache', False)) pull = bool(options.get('--pull', False)) - project.build(service_names=options['SERVICE'], no_cache=no_cache, pull=pull) + project.build(service_names=options['SERVICE'], no_cache=no_cache, pull=pull, force_rm=force_rm) def help(self, project, options): """ diff --git a/compose/project.py b/compose/project.py index f0478203b..d2ba86b1b 100644 --- a/compose/project.py +++ b/compose/project.py @@ -278,10 +278,10 @@ class Project(object): for service in self.get_services(service_names): service.restart(**options) - def build(self, service_names=None, no_cache=False, pull=False): + def build(self, service_names=None, no_cache=False, pull=False, force_rm=False): for service in self.get_services(service_names): if service.can_be_built(): - service.build(no_cache, pull) + service.build(no_cache, pull, force_rm) else: log.info('%s uses an image, skipping' % service.name) diff --git a/compose/service.py b/compose/service.py index 4a7169e96..fcf438c09 100644 --- a/compose/service.py +++ b/compose/service.py @@ -701,7 +701,7 @@ class Service(object): cgroup_parent=cgroup_parent ) - def build(self, no_cache=False, pull=False): + def build(self, no_cache=False, pull=False, force_rm=False): log.info('Building %s' % self.name) path = self.options['build'] @@ -715,6 +715,7 @@ class Service(object): tag=self.image_name, stream=True, rm=True, + forcerm=force_rm, pull=pull, nocache=no_cache, dockerfile=self.options.get('dockerfile', None), diff --git a/contrib/completion/bash/docker-compose b/contrib/completion/bash/docker-compose index 0eed1f18b..3deff9a4b 100644 --- a/contrib/completion/bash/docker-compose +++ b/contrib/completion/bash/docker-compose @@ -87,7 +87,7 @@ __docker_compose_services_stopped() { _docker_compose_build() { case "$cur" in -*) - COMPREPLY=( $( compgen -W "--help --no-cache --pull" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--help --force-rm --no-cache --pull" -- "$cur" ) ) ;; *) __docker_compose_services_from_build diff --git a/contrib/completion/zsh/_docker-compose b/contrib/completion/zsh/_docker-compose index d79b25d16..08d5150d9 100644 --- a/contrib/completion/zsh/_docker-compose +++ b/contrib/completion/zsh/_docker-compose @@ -192,6 +192,7 @@ __docker-compose_subcommand() { (build) _arguments \ $opts_help \ + '--force-rm[Always remove intermediate containers.]' \ '--no-cache[Do not use cache when building the image]' \ '--pull[Always attempt to pull a newer version of the image.]' \ '*:services:__docker-compose_services_from_build' && ret=0 diff --git a/docs/reference/build.md b/docs/reference/build.md index c427199fe..84aefc253 100644 --- a/docs/reference/build.md +++ b/docs/reference/build.md @@ -15,6 +15,7 @@ parent = "smn_compose_cli" Usage: build [options] [SERVICE...] Options: +--force-rm Always remove intermediate containers. --no-cache Do not use cache when building the image. --pull Always attempt to pull a newer version of the image. ``` diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index fc68f9d85..88a43d7f0 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -9,6 +9,7 @@ from operator import attrgetter from .. import mock from compose.cli.command import get_project from compose.cli.docker_client import docker_client +from compose.container import Container from tests.integration.testcases import DockerClientTestCase @@ -145,6 +146,33 @@ class CLITestCase(DockerClientTestCase): assert BUILD_CACHE_TEXT not in result.stdout assert BUILD_PULL_TEXT in result.stdout + def test_build_failed(self): + self.base_dir = 'tests/fixtures/simple-failing-dockerfile' + self.dispatch(['build', 'simple'], returncode=1) + + labels = ["com.docker.compose.test_failing_image=true"] + containers = [ + Container.from_ps(self.project.client, c) + for c in self.project.client.containers( + all=True, + filters={"label": labels}) + ] + assert len(containers) == 1 + + def test_build_failed_forcerm(self): + self.base_dir = 'tests/fixtures/simple-failing-dockerfile' + self.dispatch(['build', '--force-rm', 'simple'], returncode=1) + + labels = ["com.docker.compose.test_failing_image=true"] + + containers = [ + Container.from_ps(self.project.client, c) + for c in self.project.client.containers( + all=True, + filters={"label": labels}) + ] + assert not containers + def test_up_detached(self): self.dispatch(['up', '-d']) service = self.project.get_service('simple') diff --git a/tests/fixtures/simple-failing-dockerfile/Dockerfile b/tests/fixtures/simple-failing-dockerfile/Dockerfile new file mode 100644 index 000000000..c2d06b167 --- /dev/null +++ b/tests/fixtures/simple-failing-dockerfile/Dockerfile @@ -0,0 +1,7 @@ +FROM busybox:latest +LABEL com.docker.compose.test_image=true +LABEL com.docker.compose.test_failing_image=true +# With the following label the container wil be cleaned up automatically +# Must be kept in sync with LABEL_PROJECT from compose/const.py +LABEL com.docker.compose.project=composetest +RUN exit 1 diff --git a/tests/fixtures/simple-failing-dockerfile/docker-compose.yml b/tests/fixtures/simple-failing-dockerfile/docker-compose.yml new file mode 100644 index 000000000..b0357541e --- /dev/null +++ b/tests/fixtures/simple-failing-dockerfile/docker-compose.yml @@ -0,0 +1,2 @@ +simple: + build: . diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 4c70beb70..af7007d39 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -356,6 +356,7 @@ class ServiceTest(unittest.TestCase): stream=True, path='.', pull=False, + forcerm=False, nocache=False, rm=True, ) From de08da278dcc9051d9b1040240cd9433f2266502 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 10 Nov 2015 13:11:59 -0500 Subject: [PATCH 166/221] Re-order flags in bash completion and remove unnecessary variables from build command. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 9 +++++---- contrib/completion/bash/docker-compose | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 0360c8bef..08c1aee07 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -185,10 +185,11 @@ class TopLevelCommand(DocoptCommand): --no-cache Do not use cache when building the image. --pull Always attempt to pull a newer version of the image. """ - force_rm = bool(options.get('--force-rm', False)) - no_cache = bool(options.get('--no-cache', False)) - pull = bool(options.get('--pull', False)) - project.build(service_names=options['SERVICE'], no_cache=no_cache, pull=pull, force_rm=force_rm) + project.build( + service_names=options['SERVICE'], + no_cache=bool(options.get('--no-cache', False)), + pull=bool(options.get('--pull', False)), + force_rm=bool(options.get('--force-rm', False))) def help(self, project, options): """ diff --git a/contrib/completion/bash/docker-compose b/contrib/completion/bash/docker-compose index 3deff9a4b..72e159e08 100644 --- a/contrib/completion/bash/docker-compose +++ b/contrib/completion/bash/docker-compose @@ -87,7 +87,7 @@ __docker_compose_services_stopped() { _docker_compose_build() { case "$cur" in -*) - COMPREPLY=( $( compgen -W "--help --force-rm --no-cache --pull" -- "$cur" ) ) + COMPREPLY=( $( compgen -W "--force-rm --help --no-cache --pull" -- "$cur" ) ) ;; *) __docker_compose_services_from_build From 36176befb0ef4a16ef24b09234238363756689e5 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 5 Nov 2015 15:33:42 -0500 Subject: [PATCH 167/221] Fix #1549 - flush after each line of logs. Includes some refactoring of log_printer_test to support checking for flush(), and so that each test calls the unit-under-test directly, instead of through a helper function. Signed-off-by: Daniel Nephin --- compose/cli/log_printer.py | 1 + tests/unit/cli/log_printer_test.py | 82 +++++++++++++++--------------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/compose/cli/log_printer.py b/compose/cli/log_printer.py index 66920726c..864657a4c 100644 --- a/compose/cli/log_printer.py +++ b/compose/cli/log_printer.py @@ -26,6 +26,7 @@ class LogPrinter(object): generators = list(self._make_log_generators(self.monochrome, prefix_width)) for line in Multiplexer(generators).loop(): self.output.write(line) + self.output.flush() def _make_log_generators(self, monochrome, prefix_width): def no_color(text): diff --git a/tests/unit/cli/log_printer_test.py b/tests/unit/cli/log_printer_test.py index 575fcaf7b..5b04226cf 100644 --- a/tests/unit/cli/log_printer_test.py +++ b/tests/unit/cli/log_printer_test.py @@ -1,13 +1,13 @@ from __future__ import absolute_import from __future__ import unicode_literals -import mock +import pytest import six from compose.cli.log_printer import LogPrinter from compose.cli.log_printer import wait_on_exit from compose.container import Container -from tests import unittest +from tests import mock def build_mock_container(reader): @@ -22,40 +22,52 @@ def build_mock_container(reader): ) -class LogPrinterTest(unittest.TestCase): - def get_default_output(self, monochrome=False): - def reader(*args, **kwargs): - yield b"hello\nworld" - container = build_mock_container(reader) - output = run_log_printer([container], monochrome=monochrome) - return output +@pytest.fixture +def output_stream(): + output = six.StringIO() + output.flush = mock.Mock() + return output - def test_single_container(self): - output = self.get_default_output() - self.assertIn('hello', output) - self.assertIn('world', output) +@pytest.fixture +def mock_container(): + def reader(*args, **kwargs): + yield b"hello\nworld" + return build_mock_container(reader) - def test_monochrome(self): - output = self.get_default_output(monochrome=True) - self.assertNotIn('\033[', output) - def test_polychrome(self): - output = self.get_default_output() - self.assertIn('\033[', output) +class TestLogPrinter(object): - def test_unicode(self): + def test_single_container(self, output_stream, mock_container): + LogPrinter([mock_container], output=output_stream).run() + + output = output_stream.getvalue() + assert 'hello' in output + assert 'world' in output + # Call count is 2 lines + "container exited line" + assert output_stream.flush.call_count == 3 + + def test_monochrome(self, output_stream, mock_container): + LogPrinter([mock_container], output=output_stream, monochrome=True).run() + assert '\033[' not in output_stream.getvalue() + + def test_polychrome(self, output_stream, mock_container): + LogPrinter([mock_container], output=output_stream).run() + assert '\033[' in output_stream.getvalue() + + def test_unicode(self, output_stream): glyph = u'\u2022' def reader(*args, **kwargs): yield glyph.encode('utf-8') + b'\n' container = build_mock_container(reader) - output = run_log_printer([container]) + LogPrinter([container], output=output_stream).run() + output = output_stream.getvalue() if six.PY2: output = output.decode('utf-8') - self.assertIn(glyph, output) + assert glyph in output def test_wait_on_exit(self): exit_status = 3 @@ -65,24 +77,12 @@ class LogPrinterTest(unittest.TestCase): wait=mock.Mock(return_value=exit_status)) expected = '{} exited with code {}\n'.format(mock_container.name, exit_status) - self.assertEqual(expected, wait_on_exit(mock_container)) + assert expected == wait_on_exit(mock_container) - def test_generator_with_no_logs(self): - mock_container = mock.Mock( - spec=Container, - has_api_logs=False, - log_driver='none', - name_without_project='web_1', - wait=mock.Mock(return_value=0)) + def test_generator_with_no_logs(self, mock_container, output_stream): + mock_container.has_api_logs = False + mock_container.log_driver = 'none' + LogPrinter([mock_container], output=output_stream).run() - output = run_log_printer([mock_container]) - self.assertIn( - "WARNING: no logs are available with the 'none' log driver\n", - output - ) - - -def run_log_printer(containers, monochrome=False): - output = six.StringIO() - LogPrinter(containers, output=output, monochrome=monochrome).run() - return output.getvalue() + output = output_stream.getvalue() + assert "WARNING: no logs are available with the 'none' log driver\n" in output From 0a96f86f7444841017c4fcd7063d6d22a2488a0b Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 14:30:27 -0500 Subject: [PATCH 168/221] Cleanup workaround in testcase.py Signed-off-by: Daniel Nephin --- tests/integration/testcases.py | 35 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 23 deletions(-) diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 686a2b69a..60e67b5bf 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -42,34 +42,23 @@ class DockerClientTestCase(unittest.TestCase): if 'command' not in kwargs: kwargs['command'] = ["top"] - links = kwargs.get('links', None) - volumes_from = kwargs.get('volumes_from', None) - net = kwargs.get('net', None) + workaround_options = {} + for option in ['links', 'volumes_from', 'net']: + if option in kwargs: + workaround_options[option] = kwargs.pop(option, None) - workaround_options = ['links', 'volumes_from', 'net'] - for key in workaround_options: - try: - del kwargs[key] - except KeyError: - pass - - options = ServiceLoader(working_dir='.', filename=None, service_name=name, service_dict=kwargs).make_service_dict() + options = ServiceLoader( + working_dir='.', + filename=None, + service_name=name, + service_dict=kwargs + ).make_service_dict() + options.update(workaround_options) labels = options.setdefault('labels', {}) labels['com.docker.compose.test-name'] = self.id() - if links: - options['links'] = links - if volumes_from: - options['volumes_from'] = volumes_from - if net: - options['net'] = net - - return Service( - project='composetest', - client=self.client, - **options - ) + return Service(project='composetest', client=self.client, **options) def check_build(self, *args, **kwargs): kwargs.setdefault('rm', True) From 73ebd7e560d6ec9ce3473ed77a91336bbf379af6 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 13:56:25 -0500 Subject: [PATCH 169/221] Only create the default network if at least one service needs it. Signed-off-by: Daniel Nephin --- compose/project.py | 7 +++++-- tests/integration/project_test.py | 16 ++++++++++++++++ tests/unit/project_test.py | 28 ++++++++++++++++++++++++++++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/compose/project.py b/compose/project.py index d2ba86b1b..41af86261 100644 --- a/compose/project.py +++ b/compose/project.py @@ -300,7 +300,7 @@ class Project(object): plans = self._get_convergence_plans(services, strategy) - if self.use_networking: + if self.use_networking and self.uses_default_network(): self.ensure_network_exists() return [ @@ -383,7 +383,10 @@ class Project(object): def remove_network(self): network = self.get_network() if network: - self.client.remove_network(network['id']) + self.client.remove_network(network['Id']) + + def uses_default_network(self): + return any(service.net.mode == self.name for service in self.services) def _inject_deps(self, acc, service): dep_names = service.get_dependency_names() diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 950523878..2ce319005 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -7,6 +7,7 @@ from compose.const import LABEL_PROJECT from compose.container import Container from compose.project import Project from compose.service import ConvergenceStrategy +from compose.service import Net from compose.service import VolumeFromSpec @@ -111,6 +112,7 @@ class ProjectTest(DockerClientTestCase): network_name = 'network_does_exist' project = Project(network_name, [], client) client.create_network(network_name) + self.addCleanup(client.remove_network, network_name) assert project.get_network()['Name'] == network_name def test_net_from_service(self): @@ -398,6 +400,20 @@ class ProjectTest(DockerClientTestCase): self.assertEqual(len(project.get_service('data').containers(stopped=True)), 1) self.assertEqual(len(project.get_service('console').containers()), 0) + def test_project_up_with_custom_network(self): + self.require_api_version('1.21') + client = docker_client(version='1.21') + network_name = 'composetest-custom' + + client.create_network(network_name) + self.addCleanup(client.remove_network, network_name) + + web = self.create_service('web', net=Net(network_name)) + project = Project('composetest', [web], client, use_networking=True) + project.up() + + assert project.get_network() is None + def test_unscale_after_restart(self): web = self.create_service('web') project = Project('composetest', [web], self.client) diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index fc189fbb1..b38f5c783 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -7,6 +7,8 @@ from .. import unittest from compose.const import LABEL_SERVICE from compose.container import Container from compose.project import Project +from compose.service import ContainerNet +from compose.service import Net from compose.service import Service @@ -263,6 +265,32 @@ class ProjectTest(unittest.TestCase): service = project.get_service('test') self.assertEqual(service.net.mode, 'container:' + container_name) + def test_uses_default_network_true(self): + web = Service('web', project='test', image="alpine", net=Net('test')) + db = Service('web', project='test', image="alpine", net=Net('other')) + project = Project('test', [web, db], None) + assert project.uses_default_network() + + def test_uses_default_network_custom_name(self): + web = Service('web', project='test', image="alpine", net=Net('other')) + project = Project('test', [web], None) + assert not project.uses_default_network() + + def test_uses_default_network_host(self): + web = Service('web', project='test', image="alpine", net=Net('host')) + project = Project('test', [web], None) + assert not project.uses_default_network() + + def test_uses_default_network_container(self): + container = mock.Mock(id='test') + web = Service( + 'web', + project='test', + image="alpine", + net=ContainerNet(container)) + project = Project('test', [web], None) + assert not project.uses_default_network() + def test_container_without_name(self): self.mock_client.containers.return_value = [ {'Image': 'busybox:latest', 'Id': '1', 'Name': '1'}, From 8444551373670035544edf7bc09fc870521884e6 Mon Sep 17 00:00:00 2001 From: Kevin Greene Date: Mon, 26 Oct 2015 17:39:50 -0400 Subject: [PATCH 170/221] Added ulimits functionality to docker compose Signed-off-by: Kevin Greene --- compose/config/config.py | 12 +++++++ compose/config/fields_schema.json | 19 ++++++++++ compose/service.py | 19 ++++++++++ docs/compose-file.md | 11 ++++++ tests/integration/service_test.py | 31 ++++++++++++++++ tests/unit/config/config_test.py | 60 +++++++++++++++++++++++++++++++ 6 files changed, 152 insertions(+) diff --git a/compose/config/config.py b/compose/config/config.py index 434589d31..7931608d2 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -345,6 +345,15 @@ def validate_extended_service_dict(service_dict, filename, service): "%s services with 'net: container' cannot be extended" % error_prefix) +def validate_ulimits(ulimit_config): + for limit_name, soft_hard_values in six.iteritems(ulimit_config): + if isinstance(soft_hard_values, dict): + if not soft_hard_values['soft'] <= soft_hard_values['hard']: + raise ConfigurationError( + "ulimit_config \"{}\" cannot contain a 'soft' value higher " + "than 'hard' value".format(ulimit_config)) + + def process_container_options(working_dir, service_dict): service_dict = dict(service_dict) @@ -357,6 +366,9 @@ def process_container_options(working_dir, service_dict): if 'labels' in service_dict: service_dict['labels'] = parse_labels(service_dict['labels']) + if 'ulimits' in service_dict: + validate_ulimits(service_dict['ulimits']) + return service_dict diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index e254e3539..f22b513ae 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -116,6 +116,25 @@ "security_opt": {"type": "array", "items": {"type": "string"}, "uniqueItems": true}, "stdin_open": {"type": "boolean"}, "tty": {"type": "boolean"}, + "ulimits": { + "type": "object", + "patternProperties": { + "^[a-z]+$": { + "oneOf": [ + {"type": "integer"}, + { + "type":"object", + "properties": { + "hard": {"type": "integer"}, + "soft": {"type": "integer"} + }, + "required": ["soft", "hard"], + "additionalProperties": false + } + ] + } + } + }, "user": {"type": "string"}, "volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true}, "volume_driver": {"type": "string"}, diff --git a/compose/service.py b/compose/service.py index fcf438c09..f2fe66cdf 100644 --- a/compose/service.py +++ b/compose/service.py @@ -676,6 +676,7 @@ class Service(object): devices = options.get('devices', None) cgroup_parent = options.get('cgroup_parent', None) + ulimits = build_ulimits(options.get('ulimits', None)) return self.client.create_host_config( links=self._get_links(link_to_self=one_off), @@ -692,6 +693,7 @@ class Service(object): cap_drop=cap_drop, mem_limit=options.get('mem_limit'), memswap_limit=options.get('memswap_limit'), + ulimits=ulimits, log_config=log_config, extra_hosts=extra_hosts, read_only=read_only, @@ -1055,6 +1057,23 @@ def parse_restart_spec(restart_config): return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} +# Ulimits + + +def build_ulimits(ulimit_config): + if not ulimit_config: + return None + ulimits = [] + for limit_name, soft_hard_values in six.iteritems(ulimit_config): + if isinstance(soft_hard_values, six.integer_types): + ulimits.append({'name': limit_name, 'soft': soft_hard_values, 'hard': soft_hard_values}) + elif isinstance(soft_hard_values, dict): + ulimit_dict = {'name': limit_name} + ulimit_dict.update(soft_hard_values) + ulimits.append(ulimit_dict) + + return ulimits + # Extra hosts diff --git a/docs/compose-file.md b/docs/compose-file.md index 034653efe..9370d9207 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -331,6 +331,17 @@ Override the default labeling scheme for each container. - label:user:USER - label:role:ROLE +### ulimits + +Override the default ulimits for a container. You can either use a number +to set the hard and soft limits, or specify them in a dictionary. + + ulimits: + nproc: 65535 + nofile: + soft: 20000 + hard: 40000 + ### volumes, volume\_driver Mount paths as volumes, optionally specifying a path on the host machine diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 804f5219a..2f3be89a3 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -22,6 +22,7 @@ from compose.const import LABEL_SERVICE from compose.const import LABEL_VERSION from compose.container import Container from compose.service import build_extra_hosts +from compose.service import build_ulimits from compose.service import ConfigError from compose.service import ConvergencePlan from compose.service import ConvergenceStrategy @@ -164,6 +165,36 @@ class ServiceTest(DockerClientTestCase): {'www.example.com': '192.168.0.17', 'api.example.com': '192.168.0.18'}) + def sort_dicts_by_name(self, dictionary_list): + return sorted(dictionary_list, key=lambda k: k['name']) + + def test_build_ulimits_with_invalid_options(self): + self.assertRaises(ConfigError, lambda: build_ulimits({'nofile': {'soft': 10000, 'hard': 10}})) + + def test_build_ulimits_with_integers(self): + self.assertEqual(build_ulimits( + {'nofile': {'soft': 10000, 'hard': 20000}}), + [{'name': 'nofile', 'soft': 10000, 'hard': 20000}]) + self.assertEqual(self.sort_dicts_by_name(build_ulimits( + {'nofile': {'soft': 10000, 'hard': 20000}, 'nproc': {'soft': 65535, 'hard': 65535}})), + self.sort_dicts_by_name([{'name': 'nofile', 'soft': 10000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) + + def test_build_ulimits_with_dicts(self): + self.assertEqual(build_ulimits( + {'nofile': 20000}), + [{'name': 'nofile', 'soft': 20000, 'hard': 20000}]) + self.assertEqual(self.sort_dicts_by_name(build_ulimits( + {'nofile': 20000, 'nproc': 65535})), + self.sort_dicts_by_name([{'name': 'nofile', 'soft': 20000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) + + def test_build_ulimits_with_integers_and_dicts(self): + self.assertEqual(self.sort_dicts_by_name(build_ulimits( + {'nproc': 65535, 'nofile': {'soft': 10000, 'hard': 20000}})), + self.sort_dicts_by_name([{'name': 'nofile', 'soft': 10000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) + def test_create_container_with_extra_hosts_list(self): extra_hosts = ['somehost:162.242.195.82', 'otherhost:50.31.209.229'] service = self.create_service('db', extra_hosts=extra_hosts) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index e0d2e870b..f27329ba0 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -349,6 +349,66 @@ class ConfigTest(unittest.TestCase): ) ) + def test_config_ulimits_invalid_keys_validation_error(self): + expected_error_msg = "Service 'web' configuration key 'ulimits' contains unsupported option: 'not_soft_or_hard'" + + with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): + config.load( + build_config_details( + {'web': { + 'image': 'busybox', + 'ulimits': { + 'nofile': { + "not_soft_or_hard": 100, + "soft": 10000, + "hard": 20000, + } + } + }}, + 'working_dir', + 'filename.yml' + ) + ) + + def test_config_ulimits_required_keys_validation_error(self): + expected_error_msg = "Service 'web' configuration key 'ulimits' u?'hard' is a required property" + + with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): + config.load( + build_config_details( + {'web': { + 'image': 'busybox', + 'ulimits': { + 'nofile': { + "soft": 10000, + } + } + }}, + 'working_dir', + 'filename.yml' + ) + ) + + def test_config_ulimits_soft_greater_than_hard_error(self): + expected_error_msg = "cannot contain a 'soft' value higher than 'hard' value" + + with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): + config.load( + build_config_details( + {'web': { + 'image': 'busybox', + 'ulimits': { + 'nofile': { + "soft": 10000, + "hard": 1000 + } + } + }}, + 'working_dir', + 'filename.yml' + ) + ) + def test_valid_config_which_allows_two_type_definitions(self): expose_values = [["8000"], [8000]] for expose in expose_values: From 1208f92d9cca35f378d8d5c497710e5481e7d7b1 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 10 Nov 2015 13:37:07 -0500 Subject: [PATCH 171/221] Update doc wording for ulimits. and move tests to the correct module Signed-off-by: Daniel Nephin --- docs/compose-file.md | 5 ++-- tests/integration/service_test.py | 31 ----------------------- tests/unit/service_test.py | 42 +++++++++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 33 deletions(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index 9370d9207..d5aeaa3f2 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -333,8 +333,9 @@ Override the default labeling scheme for each container. ### ulimits -Override the default ulimits for a container. You can either use a number -to set the hard and soft limits, or specify them in a dictionary. +Override the default ulimits for a container. You can either specify a single +limit as an integer or soft/hard limits as a mapping. + ulimits: nproc: 65535 diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 2f3be89a3..804f5219a 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -22,7 +22,6 @@ from compose.const import LABEL_SERVICE from compose.const import LABEL_VERSION from compose.container import Container from compose.service import build_extra_hosts -from compose.service import build_ulimits from compose.service import ConfigError from compose.service import ConvergencePlan from compose.service import ConvergenceStrategy @@ -165,36 +164,6 @@ class ServiceTest(DockerClientTestCase): {'www.example.com': '192.168.0.17', 'api.example.com': '192.168.0.18'}) - def sort_dicts_by_name(self, dictionary_list): - return sorted(dictionary_list, key=lambda k: k['name']) - - def test_build_ulimits_with_invalid_options(self): - self.assertRaises(ConfigError, lambda: build_ulimits({'nofile': {'soft': 10000, 'hard': 10}})) - - def test_build_ulimits_with_integers(self): - self.assertEqual(build_ulimits( - {'nofile': {'soft': 10000, 'hard': 20000}}), - [{'name': 'nofile', 'soft': 10000, 'hard': 20000}]) - self.assertEqual(self.sort_dicts_by_name(build_ulimits( - {'nofile': {'soft': 10000, 'hard': 20000}, 'nproc': {'soft': 65535, 'hard': 65535}})), - self.sort_dicts_by_name([{'name': 'nofile', 'soft': 10000, 'hard': 20000}, - {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) - - def test_build_ulimits_with_dicts(self): - self.assertEqual(build_ulimits( - {'nofile': 20000}), - [{'name': 'nofile', 'soft': 20000, 'hard': 20000}]) - self.assertEqual(self.sort_dicts_by_name(build_ulimits( - {'nofile': 20000, 'nproc': 65535})), - self.sort_dicts_by_name([{'name': 'nofile', 'soft': 20000, 'hard': 20000}, - {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) - - def test_build_ulimits_with_integers_and_dicts(self): - self.assertEqual(self.sort_dicts_by_name(build_ulimits( - {'nproc': 65535, 'nofile': {'soft': 10000, 'hard': 20000}})), - self.sort_dicts_by_name([{'name': 'nofile', 'soft': 10000, 'hard': 20000}, - {'name': 'nproc', 'soft': 65535, 'hard': 65535}])) - def test_create_container_with_extra_hosts_list(self): extra_hosts = ['somehost:162.242.195.82', 'otherhost:50.31.209.229'] service = self.create_service('db', extra_hosts=extra_hosts) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index af7007d39..f086b1075 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -12,6 +12,7 @@ from compose.const import LABEL_ONE_OFF from compose.const import LABEL_PROJECT from compose.const import LABEL_SERVICE from compose.container import Container +from compose.service import build_ulimits from compose.service import build_volume_binding from compose.service import ConfigError from compose.service import ContainerNet @@ -435,6 +436,47 @@ class ServiceTest(unittest.TestCase): self.assertEqual(service._get_links(link_to_self=True), []) +def sort_by_name(dictionary_list): + return sorted(dictionary_list, key=lambda k: k['name']) + + +class BuildUlimitsTestCase(unittest.TestCase): + + def test_build_ulimits_with_dict(self): + ulimits = build_ulimits( + { + 'nofile': {'soft': 10000, 'hard': 20000}, + 'nproc': {'soft': 65535, 'hard': 65535} + } + ) + expected = [ + {'name': 'nofile', 'soft': 10000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535} + ] + assert sort_by_name(ulimits) == sort_by_name(expected) + + def test_build_ulimits_with_ints(self): + ulimits = build_ulimits({'nofile': 20000, 'nproc': 65535}) + expected = [ + {'name': 'nofile', 'soft': 20000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535} + ] + assert sort_by_name(ulimits) == sort_by_name(expected) + + def test_build_ulimits_with_integers_and_dicts(self): + ulimits = build_ulimits( + { + 'nproc': 65535, + 'nofile': {'soft': 10000, 'hard': 20000} + } + ) + expected = [ + {'name': 'nofile', 'soft': 10000, 'hard': 20000}, + {'name': 'nproc', 'soft': 65535, 'hard': 65535} + ] + assert sort_by_name(ulimits) == sort_by_name(expected) + + class NetTestCase(unittest.TestCase): def test_net(self): From 92d56fab475256a732ba4e98b993c5a5d626d0d5 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 4 Nov 2015 18:00:24 -0500 Subject: [PATCH 172/221] Add a warning when the host volume config is being ignored. Signed-off-by: Daniel Nephin --- compose/service.py | 27 +++++++++++++++++++++++---- tests/integration/service_test.py | 27 +++++++++++++++++++++++++++ tests/unit/service_test.py | 12 ++++++------ 3 files changed, 56 insertions(+), 10 deletions(-) diff --git a/compose/service.py b/compose/service.py index f2fe66cdf..cc4915992 100644 --- a/compose/service.py +++ b/compose/service.py @@ -902,8 +902,10 @@ def merge_volume_bindings(volumes_option, previous_container): if volume.external) if previous_container: + data_volumes = get_container_data_volumes(previous_container, volumes) + warn_on_masked_volume(volumes, data_volumes, previous_container.service) volume_bindings.update( - get_container_data_volumes(previous_container, volumes)) + build_volume_binding(volume) for volume in data_volumes) return list(volume_bindings.values()) @@ -913,7 +915,6 @@ def get_container_data_volumes(container, volumes_option): a mapping of volume bindings for those volumes. """ volumes = [] - container_volumes = container.get('Volumes') or {} image_volumes = [ parse_volume_spec(volume) @@ -933,9 +934,27 @@ def get_container_data_volumes(container, volumes_option): # Copy existing volume from old container volume = volume._replace(external=volume_path) - volumes.append(build_volume_binding(volume)) + volumes.append(volume) - return dict(volumes) + return volumes + + +def warn_on_masked_volume(volumes_option, container_volumes, service): + container_volumes = dict( + (volume.internal, volume.external) + for volume in container_volumes) + + for volume in volumes_option: + if container_volumes.get(volume.internal) != volume.external: + log.warn(( + "Service \"{service}\" is using volume \"{volume}\" from the " + "previous container. Host mapping \"{host_path}\" has no effect. " + "Remove the existing containers (with `docker-compose rm {service}`) " + "to use the host volume mapping." + ).format( + service=service, + volume=volume.internal, + host_path=volume.external)) def build_volume_binding(volume_spec): diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 804f5219a..88214e836 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -369,6 +369,33 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(list(new_container.get('Volumes')), ['/data']) self.assertEqual(new_container.get('Volumes')['/data'], volume_path) + def test_execute_convergence_plan_when_image_volume_masks_config(self): + service = Service( + project='composetest', + name='db', + client=self.client, + build='tests/fixtures/dockerfile-with-volume', + ) + + old_container = create_and_start_container(service) + self.assertEqual(list(old_container.get('Volumes').keys()), ['/data']) + volume_path = old_container.get('Volumes')['/data'] + + service.options['volumes'] = ['/tmp:/data'] + + with mock.patch('compose.service.log') as mock_log: + new_container, = service.execute_convergence_plan( + ConvergencePlan('recreate', [old_container])) + + mock_log.warn.assert_called_once_with(mock.ANY) + _, args, kwargs = mock_log.warn.mock_calls[0] + self.assertIn( + "Service \"db\" is using volume \"/data\" from the previous container", + args[0]) + + self.assertEqual(list(new_container.get('Volumes')), ['/data']) + self.assertEqual(new_container.get('Volumes')['/data'], volume_path) + def test_start_container_passes_through_options(self): db = self.create_service('db') create_and_start_container(db, environment={'FOO': 'BAR'}) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index f086b1075..311d5c95e 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -587,13 +587,13 @@ class ServiceVolumesTest(unittest.TestCase): }, }, has_been_inspected=True) - expected = { - '/existing/volume': '/var/lib/docker/aaaaaaaa:/existing/volume:rw', - '/mnt/image/data': '/var/lib/docker/cccccccc:/mnt/image/data:rw', - } + expected = [ + parse_volume_spec('/var/lib/docker/aaaaaaaa:/existing/volume:rw'), + parse_volume_spec('/var/lib/docker/cccccccc:/mnt/image/data:rw'), + ] - binds = get_container_data_volumes(container, options) - self.assertEqual(binds, expected) + volumes = get_container_data_volumes(container, options) + self.assertEqual(sorted(volumes), sorted(expected)) def test_merge_volume_bindings(self): options = [ From 3313dcb1ce7306fc6936e547c86f6cf53af08a31 Mon Sep 17 00:00:00 2001 From: Yves Peter Date: Wed, 4 Nov 2015 23:40:57 +0100 Subject: [PATCH 173/221] Fixes #1490 progress_stream would print a lot of new lines on "docker-compose pull" if there's no tty. Signed-off-by: Yves Peter --- compose/progress_stream.py | 23 +++++++++++++--------- tests/unit/progress_stream_test.py | 31 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 9 deletions(-) diff --git a/compose/progress_stream.py b/compose/progress_stream.py index ac8e4b410..c729a6df0 100644 --- a/compose/progress_stream.py +++ b/compose/progress_stream.py @@ -14,8 +14,14 @@ def stream_output(output, stream): for event in utils.json_stream(output): all_events.append(event) + is_progress_event = 'progress' in event or 'progressDetail' in event - if 'progress' in event or 'progressDetail' in event: + if not is_progress_event: + print_output_event(event, stream, is_terminal) + stream.flush() + + # if it's a progress event and we have a terminal, then display the progress bars + elif is_terminal: image_id = event.get('id') if not image_id: continue @@ -27,17 +33,16 @@ def stream_output(output, stream): stream.write("\n") diff = 0 - if is_terminal: - # move cursor up `diff` rows - stream.write("%c[%dA" % (27, diff)) + # move cursor up `diff` rows + stream.write("%c[%dA" % (27, diff)) - print_output_event(event, stream, is_terminal) + print_output_event(event, stream, is_terminal) - if 'id' in event and is_terminal: - # move cursor back down - stream.write("%c[%dB" % (27, diff)) + if 'id' in event: + # move cursor back down + stream.write("%c[%dB" % (27, diff)) - stream.flush() + stream.flush() return all_events diff --git a/tests/unit/progress_stream_test.py b/tests/unit/progress_stream_test.py index d8f7ec836..b01be11a8 100644 --- a/tests/unit/progress_stream_test.py +++ b/tests/unit/progress_stream_test.py @@ -34,3 +34,34 @@ class ProgressStreamTestCase(unittest.TestCase): ] events = progress_stream.stream_output(output, StringIO()) self.assertEqual(len(events), 1) + + def test_stream_output_progress_event_tty(self): + events = [ + b'{"status": "Already exists", "progressDetail": {}, "id": "8d05e3af52b0"}' + ] + + class TTYStringIO(StringIO): + def isatty(self): + return True + + output = TTYStringIO() + events = progress_stream.stream_output(events, output) + self.assertTrue(len(output.getvalue()) > 0) + + def test_stream_output_progress_event_no_tty(self): + events = [ + b'{"status": "Already exists", "progressDetail": {}, "id": "8d05e3af52b0"}' + ] + output = StringIO() + + events = progress_stream.stream_output(events, output) + self.assertEqual(len(output.getvalue()), 0) + + def test_stream_output_no_progress_event_no_tty(self): + events = [ + b'{"status": "Pulling from library/xy", "id": "latest"}' + ] + output = StringIO() + + events = progress_stream.stream_output(events, output) + self.assertTrue(len(output.getvalue()) > 0) From ba90f55075a5e07ec23874707206260eb372734c Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Wed, 11 Nov 2015 11:21:24 -0800 Subject: [PATCH 174/221] Reorganize conditional branches to improve readability Signed-off-by: Joffrey F --- compose/progress_stream.py | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/compose/progress_stream.py b/compose/progress_stream.py index c729a6df0..a6c8e0a26 100644 --- a/compose/progress_stream.py +++ b/compose/progress_stream.py @@ -19,30 +19,33 @@ def stream_output(output, stream): if not is_progress_event: print_output_event(event, stream, is_terminal) stream.flush() + continue + + if not is_terminal: + continue # if it's a progress event and we have a terminal, then display the progress bars - elif is_terminal: - image_id = event.get('id') - if not image_id: - continue + image_id = event.get('id') + if not image_id: + continue - if image_id in lines: - diff = len(lines) - lines[image_id] - else: - lines[image_id] = len(lines) - stream.write("\n") - diff = 0 + if image_id in lines: + diff = len(lines) - lines[image_id] + else: + lines[image_id] = len(lines) + stream.write("\n") + diff = 0 - # move cursor up `diff` rows - stream.write("%c[%dA" % (27, diff)) + # move cursor up `diff` rows + stream.write("%c[%dA" % (27, diff)) - print_output_event(event, stream, is_terminal) + print_output_event(event, stream, is_terminal) - if 'id' in event: - # move cursor back down - stream.write("%c[%dB" % (27, diff)) + if 'id' in event: + # move cursor back down + stream.write("%c[%dB" % (27, diff)) - stream.flush() + stream.flush() return all_events From 83581c3a0ff393af4529734f079afcf26e5c6191 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 16:38:38 -0500 Subject: [PATCH 175/221] Validate additional files before merging them. Consolidates all the top level config handling into `process_config_file` which is now used for both files and merge sources. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 2 +- compose/config/__init__.py | 1 - compose/config/config.py | 56 +++++++++++++++++--------------- compose/config/validation.py | 10 +----- tests/unit/config/config_test.py | 13 ++++++++ 5 files changed, 45 insertions(+), 37 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 08c1aee07..806926d84 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -13,12 +13,12 @@ from requests.exceptions import ReadTimeout from .. import __version__ from .. import legacy +from ..config import ConfigurationError from ..config import parse_environment from ..const import DEFAULT_TIMEOUT from ..const import HTTP_TIMEOUT from ..const import IS_WINDOWS_PLATFORM from ..progress_stream import StreamOutputError -from ..project import ConfigurationError from ..project import NoSuchService from ..service import BuildError from ..service import ConvergenceStrategy diff --git a/compose/config/__init__.py b/compose/config/__init__.py index de6f10c94..ec607e087 100644 --- a/compose/config/__init__.py +++ b/compose/config/__init__.py @@ -1,5 +1,4 @@ # flake8: noqa -from .config import ConfigDetails from .config import ConfigurationError from .config import DOCKER_CONFIG_KEYS from .config import find diff --git a/compose/config/config.py b/compose/config/config.py index 7931608d2..feef03877 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -13,7 +13,6 @@ from .errors import ConfigurationError from .interpolation import interpolate_environment_variables from .validation import validate_against_fields_schema from .validation import validate_against_service_schema -from .validation import validate_extended_service_exists from .validation import validate_extends_file_path from .validation import validate_top_level_object @@ -99,6 +98,10 @@ class ConfigFile(namedtuple('_ConfigFile', 'filename config')): :type config: :class:`dict` """ + @classmethod + def from_filename(cls, filename): + return cls(filename, load_yaml(filename)) + def find(base_dir, filenames): if filenames == ['-']: @@ -114,7 +117,7 @@ def find(base_dir, filenames): log.debug("Using configuration files: {}".format(",".join(filenames))) return ConfigDetails( os.path.dirname(filenames[0]), - [ConfigFile(f, load_yaml(f)) for f in filenames]) + [ConfigFile.from_filename(f) for f in filenames]) def get_default_config_files(base_dir): @@ -183,12 +186,10 @@ def load(config_details): validate_paths(service_dict) return service_dict - def load_file(filename, config): - processed_config = interpolate_environment_variables(config) - validate_against_fields_schema(processed_config) + def build_services(filename, config): return [ build_service(filename, name, service_config) - for name, service_config in processed_config.items() + for name, service_config in config.items() ] def merge_services(base, override): @@ -200,16 +201,27 @@ def load(config_details): for name in all_service_names } - config_file = config_details.config_files[0] - validate_top_level_object(config_file.config) + config_file = process_config_file(config_details.config_files[0]) for next_file in config_details.config_files[1:]: - validate_top_level_object(next_file.config) + next_file = process_config_file(next_file) - config_file = ConfigFile( - config_file.filename, - merge_services(config_file.config, next_file.config)) + config = merge_services(config_file.config, next_file.config) + config_file = config_file._replace(config=config) - return load_file(config_file.filename, config_file.config) + return build_services(config_file.filename, config_file.config) + + +def process_config_file(config_file, service_name=None): + validate_top_level_object(config_file.config) + processed_config = interpolate_environment_variables(config_file.config) + validate_against_fields_schema(processed_config) + + if service_name and service_name not in processed_config: + raise ConfigurationError( + "Cannot extend service '{}' in {}: Service not found".format( + service_name, config_file.filename)) + + return config_file._replace(config=processed_config) class ServiceLoader(object): @@ -259,22 +271,13 @@ class ServiceLoader(object): if not isinstance(extends, dict): extends = {'service': extends} - validate_extends_file_path(self.service_name, extends, self.filename) config_path = self.get_extended_config_path(extends) service_name = extends['service'] - config = load_yaml(config_path) - validate_top_level_object(config) - full_extended_config = interpolate_environment_variables(config) - - validate_extended_service_exists( - service_name, - full_extended_config, - config_path - ) - validate_against_fields_schema(full_extended_config) - - service_config = full_extended_config[service_name] + extended_file = process_config_file( + ConfigFile.from_filename(config_path), + service_name=service_name) + service_config = extended_file.config[service_name] return config_path, service_config, service_name def resolve_extends(self, extended_config_path, service_config, service_name): @@ -304,6 +307,7 @@ class ServiceLoader(object): need to obtain a full path too or we are extending from a service defined in our own file. """ + validate_extends_file_path(self.service_name, extends_options, self.filename) if 'file' in extends_options: return expand_path(self.working_dir, extends_options['file']) return self.filename diff --git a/compose/config/validation.py b/compose/config/validation.py index 542081d52..3bd404109 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -96,14 +96,6 @@ def validate_extends_file_path(service_name, extends_options, filename): ) -def validate_extended_service_exists(extended_service_name, full_extended_config, extended_config_path): - if extended_service_name not in full_extended_config: - msg = ( - "Cannot extend service '%s' in %s: Service not found" - ) % (extended_service_name, extended_config_path) - raise ConfigurationError(msg) - - def get_unsupported_config_msg(service_name, error_key): msg = "Unsupported config option for '{}' service: '{}'".format(service_name, error_key) if error_key in DOCKER_CONFIG_HINTS: @@ -264,7 +256,7 @@ def process_errors(errors, service_name=None): msg)) else: root_msgs.append( - "Service '{}' doesn\'t have any configuration options. " + "Service \"{}\" doesn't have any configuration options. " "All top level keys in your docker-compose.yml must map " "to a dictionary of configuration options.'".format(service_name)) elif error.validator == 'required': diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index f27329ba0..ab34f4dcb 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -195,6 +195,19 @@ class ConfigTest(unittest.TestCase): ] self.assertEqual(service_sort(service_dicts), service_sort(expected)) + def test_load_with_multiple_files_and_invalid_override(self): + base_file = config.ConfigFile( + 'base.yaml', + {'web': {'image': 'example/web'}}) + override_file = config.ConfigFile( + 'override.yaml', + {'bogus': 'thing'}) + details = config.ConfigDetails('.', [base_file, override_file]) + + with pytest.raises(ConfigurationError) as exc: + config.load(details) + assert 'Service "bogus" doesn\'t have any configuration' in exc.exconly() + def test_config_valid_service_names(self): for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']: config.load( From 87d79d4d993bc06c16ae19aba71aadd88292abb3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 17:18:47 -0500 Subject: [PATCH 176/221] Rename ServiceLoader to ServiceExtendsResolver ServiceLoader has evolved to be not really all that related to "loading" a service. It's responsibility is more to do with handling the `extends` field, which is only part of loading. The class and its primary method (make_service_dict()) were renamed to better reflect their responsibility. As part of that change process_container_options() was removed from make_service_dict() and renamed to process_service(). It contains logic for handling the non-extends options. This change allows us to remove the hacks from testcase.py and only call the functions we need to format a service dict correctly for integration tests. Signed-off-by: Daniel Nephin --- compose/config/config.py | 27 ++++++++++++--------------- tests/integration/service_test.py | 25 ++++++++++++++++++++++--- tests/integration/testcases.py | 21 +++++++-------------- tests/unit/config/config_test.py | 7 ++++--- 4 files changed, 45 insertions(+), 35 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index feef03877..7846ea7b4 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -177,12 +177,12 @@ def load(config_details): """ def build_service(filename, service_name, service_dict): - loader = ServiceLoader( + resolver = ServiceExtendsResolver( config_details.working_dir, filename, service_name, service_dict) - service_dict = loader.make_service_dict() + service_dict = process_service(config_details.working_dir, resolver.run()) validate_paths(service_dict) return service_dict @@ -224,7 +224,7 @@ def process_config_file(config_file, service_name=None): return config_file._replace(config=processed_config) -class ServiceLoader(object): +class ServiceExtendsResolver(object): def __init__( self, working_dir, @@ -234,7 +234,7 @@ class ServiceLoader(object): already_seen=None ): if working_dir is None: - raise ValueError("No working_dir passed to ServiceLoader()") + raise ValueError("No working_dir passed to ServiceExtendsResolver()") self.working_dir = os.path.abspath(working_dir) @@ -251,7 +251,7 @@ class ServiceLoader(object): if self.signature(name) in self.already_seen: raise CircularReference(self.already_seen + [self.signature(name)]) - def make_service_dict(self): + def run(self): service_dict = dict(self.service_dict) env = resolve_environment(self.working_dir, self.service_dict) if env: @@ -264,7 +264,7 @@ class ServiceLoader(object): if not self.already_seen: validate_against_service_schema(service_dict, self.service_name) - return process_container_options(self.working_dir, service_dict) + return service_dict def validate_and_construct_extends(self): extends = self.service_dict['extends'] @@ -281,19 +281,16 @@ class ServiceLoader(object): return config_path, service_config, service_name def resolve_extends(self, extended_config_path, service_config, service_name): - other_working_dir = os.path.dirname(extended_config_path) - other_already_seen = self.already_seen + [self.signature(self.service_name)] - - other_loader = ServiceLoader( - other_working_dir, + resolver = ServiceExtendsResolver( + os.path.dirname(extended_config_path), extended_config_path, self.service_name, service_config, - already_seen=other_already_seen, + already_seen=self.already_seen + [self.signature(self.service_name)], ) - other_loader.detect_cycle(service_name) - other_service_dict = other_loader.make_service_dict() + resolver.detect_cycle(service_name) + other_service_dict = process_service(resolver.working_dir, resolver.run()) validate_extended_service_dict( other_service_dict, extended_config_path, @@ -358,7 +355,7 @@ def validate_ulimits(ulimit_config): "than 'hard' value".format(ulimit_config)) -def process_container_options(working_dir, service_dict): +def process_service(working_dir, service_dict): service_dict = dict(service_dict) if 'volumes' in service_dict and service_dict.get('volume_driver') is None: diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 88214e836..aaa4f01ec 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -842,7 +842,13 @@ class ServiceTest(DockerClientTestCase): environment=['ONE=1', 'TWO=2', 'THREE=3'], env_file=['tests/fixtures/env/one.env', 'tests/fixtures/env/two.env']) env = create_and_start_container(service).environment - for k, v in {'ONE': '1', 'TWO': '2', 'THREE': '3', 'FOO': 'baz', 'DOO': 'dah'}.items(): + for k, v in { + 'ONE': '1', + 'TWO': '2', + 'THREE': '3', + 'FOO': 'baz', + 'DOO': 'dah' + }.items(): self.assertEqual(env[k], v) @mock.patch.dict(os.environ) @@ -850,9 +856,22 @@ class ServiceTest(DockerClientTestCase): os.environ['FILE_DEF'] = 'E1' os.environ['FILE_DEF_EMPTY'] = 'E2' os.environ['ENV_DEF'] = 'E3' - service = self.create_service('web', environment={'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': None, 'NO_DEF': None}) + service = self.create_service( + 'web', + environment={ + 'FILE_DEF': 'F1', + 'FILE_DEF_EMPTY': '', + 'ENV_DEF': None, + 'NO_DEF': None + } + ) env = create_and_start_container(service).environment - for k, v in {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}.items(): + for k, v in { + 'FILE_DEF': 'F1', + 'FILE_DEF_EMPTY': '', + 'ENV_DEF': 'E3', + 'NO_DEF': '' + }.items(): self.assertEqual(env[k], v) def test_with_high_enough_api_version_we_get_default_network_mode(self): diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 60e67b5bf..5ee6a4212 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -7,7 +7,8 @@ from pytest import skip from .. import unittest from compose.cli.docker_client import docker_client -from compose.config.config import ServiceLoader +from compose.config.config import process_service +from compose.config.config import resolve_environment from compose.const import LABEL_PROJECT from compose.progress_stream import stream_output from compose.service import Service @@ -42,23 +43,15 @@ class DockerClientTestCase(unittest.TestCase): if 'command' not in kwargs: kwargs['command'] = ["top"] - workaround_options = {} - for option in ['links', 'volumes_from', 'net']: - if option in kwargs: - workaround_options[option] = kwargs.pop(option, None) - - options = ServiceLoader( - working_dir='.', - filename=None, - service_name=name, - service_dict=kwargs - ).make_service_dict() - options.update(workaround_options) + # TODO: remove this once #2299 is fixed + kwargs['name'] = name + options = process_service('.', kwargs) + options['environment'] = resolve_environment('.', kwargs) labels = options.setdefault('labels', {}) labels['com.docker.compose.test-name'] = self.id() - return Service(project='composetest', client=self.client, **options) + return Service(client=self.client, project='composetest', **options) def check_build(self, *args, **kwargs): kwargs.setdefault('rm', True) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index ab34f4dcb..2835a4317 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -18,13 +18,14 @@ from tests import unittest def make_service_dict(name, service_dict, working_dir, filename=None): """ - Test helper function to construct a ServiceLoader + Test helper function to construct a ServiceExtendsResolver """ - return config.ServiceLoader( + resolver = config.ServiceExtendsResolver( working_dir=working_dir, filename=filename, service_name=name, - service_dict=service_dict).make_service_dict() + service_dict=service_dict) + return config.process_service(working_dir, resolver.run()) def service_sort(services): From 3a43110f062a00b7e1256d7594f0dd345447c6fc Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 9 Nov 2015 14:24:44 -0500 Subject: [PATCH 177/221] Fix a bug in ExtendsResolver where the service name of the extended service was wrong. This bug can be seen by the change to the test case. When the extended service uses a different name, the error was reported incorrectly. By fixing this bug we can simplify self.signature and self.detect_cycles to always use self.service_name. Signed-off-by: Daniel Nephin --- compose/config/config.py | 20 +++++++++++--------- tests/fixtures/extends/circle-1.yml | 2 +- tests/fixtures/extends/circle-2.yml | 2 +- tests/unit/config/config_test.py | 23 ++++++++++++----------- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 7846ea7b4..1ddb2abe0 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -247,11 +247,17 @@ class ServiceExtendsResolver(object): self.service_name = service_name self.service_dict['name'] = service_name - def detect_cycle(self, name): - if self.signature(name) in self.already_seen: - raise CircularReference(self.already_seen + [self.signature(name)]) + @property + def signature(self): + return self.filename, self.service_name + + def detect_cycle(self): + if self.signature in self.already_seen: + raise CircularReference(self.already_seen + [self.signature]) def run(self): + self.detect_cycle() + service_dict = dict(self.service_dict) env = resolve_environment(self.working_dir, self.service_dict) if env: @@ -284,12 +290,11 @@ class ServiceExtendsResolver(object): resolver = ServiceExtendsResolver( os.path.dirname(extended_config_path), extended_config_path, - self.service_name, + service_name, service_config, - already_seen=self.already_seen + [self.signature(self.service_name)], + already_seen=self.already_seen + [self.signature], ) - resolver.detect_cycle(service_name) other_service_dict = process_service(resolver.working_dir, resolver.run()) validate_extended_service_dict( other_service_dict, @@ -309,9 +314,6 @@ class ServiceExtendsResolver(object): return expand_path(self.working_dir, extends_options['file']) return self.filename - def signature(self, name): - return self.filename, name - def resolve_environment(working_dir, service_dict): """Unpack any environment variables from an env_file, if set. diff --git a/tests/fixtures/extends/circle-1.yml b/tests/fixtures/extends/circle-1.yml index a034e9619..d88ea61d0 100644 --- a/tests/fixtures/extends/circle-1.yml +++ b/tests/fixtures/extends/circle-1.yml @@ -5,7 +5,7 @@ bar: web: extends: file: circle-2.yml - service: web + service: other baz: image: busybox quux: diff --git a/tests/fixtures/extends/circle-2.yml b/tests/fixtures/extends/circle-2.yml index fa6ddefcc..de05bc8da 100644 --- a/tests/fixtures/extends/circle-2.yml +++ b/tests/fixtures/extends/circle-2.yml @@ -2,7 +2,7 @@ foo: image: busybox bar: image: busybox -web: +other: extends: file: circle-1.yml service: web diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 2835a4317..717831681 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -1080,18 +1080,19 @@ class ExtendsTest(unittest.TestCase): ])) def test_circular(self): - try: + with pytest.raises(config.CircularReference) as exc: load_from_filename('tests/fixtures/extends/circle-1.yml') - raise Exception("Expected config.CircularReference to be raised") - except config.CircularReference as e: - self.assertEqual( - [(os.path.basename(filename), service_name) for (filename, service_name) in e.trail], - [ - ('circle-1.yml', 'web'), - ('circle-2.yml', 'web'), - ('circle-1.yml', 'web'), - ], - ) + + path = [ + (os.path.basename(filename), service_name) + for (filename, service_name) in exc.value.trail + ] + expected = [ + ('circle-1.yml', 'web'), + ('circle-2.yml', 'other'), + ('circle-1.yml', 'web'), + ] + self.assertEqual(path, expected) def test_extends_validation_empty_dictionary(self): with self.assertRaisesRegexp(ConfigurationError, 'service'): From 7fc577c31de5f316de543576609c675b177291a7 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 6 Nov 2015 11:57:27 -0500 Subject: [PATCH 178/221] Remove name from config schema. Refactors config validation of a service to use a ServiceConfig data object. Instead of passing around a bunch of related scalars, we can use the ServiceConfig object as a parameter to most of the service validation functions. This allows for a fix to the config schema, where the name is a field in the schema, but not actually in the configuration. My passing the name around as part of the ServiceConfig object, we don't need to add it to the config options. Fixes #2299 validate_against_service_schema() is moved from a conditional branch in ServiceExtendsResolver() to happen as one of the last steps after all configuration is merged. This schema only contains constraints which only need to be true at the very end of merging. Signed-off-by: Daniel Nephin --- compose/config/config.py | 101 +++++++++++++++-------------- compose/config/fields_schema.json | 1 - compose/config/service_schema.json | 6 -- compose/config/validation.py | 2 +- tests/integration/testcases.py | 9 ++- tests/unit/config/config_test.py | 10 +-- 6 files changed, 62 insertions(+), 67 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 1ddb2abe0..21788551d 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -103,6 +103,20 @@ class ConfigFile(namedtuple('_ConfigFile', 'filename config')): return cls(filename, load_yaml(filename)) +class ServiceConfig(namedtuple('_ServiceConfig', 'working_dir filename name config')): + + @classmethod + def with_abs_paths(cls, working_dir, filename, name, config): + if not working_dir: + raise ValueError("No working_dir for ServiceConfig.") + + return cls( + os.path.abspath(working_dir), + os.path.abspath(filename) if filename else filename, + name, + config) + + def find(base_dir, filenames): if filenames == ['-']: return ConfigDetails( @@ -177,19 +191,22 @@ def load(config_details): """ def build_service(filename, service_name, service_dict): - resolver = ServiceExtendsResolver( + service_config = ServiceConfig.with_abs_paths( config_details.working_dir, filename, service_name, service_dict) - service_dict = process_service(config_details.working_dir, resolver.run()) + resolver = ServiceExtendsResolver(service_config) + service_dict = process_service(resolver.run()) + validate_against_service_schema(service_dict, service_config.name) validate_paths(service_dict) + service_dict['name'] = service_config.name return service_dict - def build_services(filename, config): + def build_services(config_file): return [ - build_service(filename, name, service_config) - for name, service_config in config.items() + build_service(config_file.filename, name, service_dict) + for name, service_dict in config_file.config.items() ] def merge_services(base, override): @@ -208,7 +225,7 @@ def load(config_details): config = merge_services(config_file.config, next_file.config) config_file = config_file._replace(config=config) - return build_services(config_file.filename, config_file.config) + return build_services(config_file) def process_config_file(config_file, service_name=None): @@ -225,31 +242,14 @@ def process_config_file(config_file, service_name=None): class ServiceExtendsResolver(object): - def __init__( - self, - working_dir, - filename, - service_name, - service_dict, - already_seen=None - ): - if working_dir is None: - raise ValueError("No working_dir passed to ServiceExtendsResolver()") - - self.working_dir = os.path.abspath(working_dir) - - if filename: - self.filename = os.path.abspath(filename) - else: - self.filename = filename + def __init__(self, service_config, already_seen=None): + self.service_config = service_config + self.working_dir = service_config.working_dir self.already_seen = already_seen or [] - self.service_dict = service_dict.copy() - self.service_name = service_name - self.service_dict['name'] = service_name @property def signature(self): - return self.filename, self.service_name + return self.service_config.filename, self.service_config.name def detect_cycle(self): if self.signature in self.already_seen: @@ -258,8 +258,8 @@ class ServiceExtendsResolver(object): def run(self): self.detect_cycle() - service_dict = dict(self.service_dict) - env = resolve_environment(self.working_dir, self.service_dict) + service_dict = dict(self.service_config.config) + env = resolve_environment(self.working_dir, self.service_config.config) if env: service_dict['environment'] = env service_dict.pop('env_file', None) @@ -267,13 +267,10 @@ class ServiceExtendsResolver(object): if 'extends' in service_dict: service_dict = self.resolve_extends(*self.validate_and_construct_extends()) - if not self.already_seen: - validate_against_service_schema(service_dict, self.service_name) - - return service_dict + return self.service_config._replace(config=service_dict) def validate_and_construct_extends(self): - extends = self.service_dict['extends'] + extends = self.service_config.config['extends'] if not isinstance(extends, dict): extends = {'service': extends} @@ -286,33 +283,38 @@ class ServiceExtendsResolver(object): service_config = extended_file.config[service_name] return config_path, service_config, service_name - def resolve_extends(self, extended_config_path, service_config, service_name): + def resolve_extends(self, extended_config_path, service_dict, service_name): resolver = ServiceExtendsResolver( - os.path.dirname(extended_config_path), - extended_config_path, - service_name, - service_config, - already_seen=self.already_seen + [self.signature], - ) + ServiceConfig.with_abs_paths( + os.path.dirname(extended_config_path), + extended_config_path, + service_name, + service_dict), + already_seen=self.already_seen + [self.signature]) - other_service_dict = process_service(resolver.working_dir, resolver.run()) + service_config = resolver.run() + other_service_dict = process_service(service_config) validate_extended_service_dict( other_service_dict, extended_config_path, service_name, ) - return merge_service_dicts(other_service_dict, self.service_dict) + return merge_service_dicts(other_service_dict, self.service_config.config) def get_extended_config_path(self, extends_options): """Service we are extending either has a value for 'file' set, which we need to obtain a full path too or we are extending from a service defined in our own file. """ - validate_extends_file_path(self.service_name, extends_options, self.filename) + filename = self.service_config.filename + validate_extends_file_path( + self.service_config.name, + extends_options, + filename) if 'file' in extends_options: return expand_path(self.working_dir, extends_options['file']) - return self.filename + return filename def resolve_environment(working_dir, service_dict): @@ -357,8 +359,9 @@ def validate_ulimits(ulimit_config): "than 'hard' value".format(ulimit_config)) -def process_service(working_dir, service_dict): - service_dict = dict(service_dict) +def process_service(service_config): + working_dir = service_config.working_dir + service_dict = dict(service_config.config) if 'volumes' in service_dict and service_dict.get('volume_driver') is None: service_dict['volumes'] = resolve_volume_paths(working_dir, service_dict) @@ -505,12 +508,12 @@ def env_vars_from_file(filename): def resolve_volume_paths(working_dir, service_dict): return [ - resolve_volume_path(working_dir, volume, service_dict['name']) + resolve_volume_path(working_dir, volume) for volume in service_dict['volumes'] ] -def resolve_volume_path(working_dir, volume, service_name): +def resolve_volume_path(working_dir, volume): container_path, host_path = split_path_mapping(volume) if host_path is not None: diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index f22b513ae..7723f2fbc 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -89,7 +89,6 @@ "mac_address": {"type": "string"}, "mem_limit": {"type": ["number", "string"]}, "memswap_limit": {"type": ["number", "string"]}, - "name": {"type": "string"}, "net": {"type": "string"}, "pid": {"type": ["string", "null"]}, diff --git a/compose/config/service_schema.json b/compose/config/service_schema.json index 5cb5d6d07..221c5d8d7 100644 --- a/compose/config/service_schema.json +++ b/compose/config/service_schema.json @@ -3,12 +3,6 @@ "type": "object", - "properties": { - "name": {"type": "string"} - }, - - "required": ["name"], - "allOf": [ {"$ref": "fields_schema.json#/definitions/service"}, {"$ref": "#/definitions/service_constraints"} diff --git a/compose/config/validation.py b/compose/config/validation.py index 3bd404109..d3bcb35c4 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -195,7 +195,7 @@ def process_errors(errors, service_name=None): for error in errors: # handle root level errors - if len(error.path) == 0 and not error.instance.get('name'): + if len(error.path) == 0 and not service_name: if error.validator == 'type': msg = "Top level object needs to be a dictionary. Check your .yml file that you have defined a service at the top level." root_msgs.append(msg) diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 5ee6a4212..d63f05916 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -9,6 +9,7 @@ from .. import unittest from compose.cli.docker_client import docker_client from compose.config.config import process_service from compose.config.config import resolve_environment +from compose.config.config import ServiceConfig from compose.const import LABEL_PROJECT from compose.progress_stream import stream_output from compose.service import Service @@ -43,15 +44,13 @@ class DockerClientTestCase(unittest.TestCase): if 'command' not in kwargs: kwargs['command'] = ["top"] - # TODO: remove this once #2299 is fixed - kwargs['name'] = name - - options = process_service('.', kwargs) + service_config = ServiceConfig('.', None, name, kwargs) + options = process_service(service_config) options['environment'] = resolve_environment('.', kwargs) labels = options.setdefault('labels', {}) labels['com.docker.compose.test-name'] = self.id() - return Service(client=self.client, project='composetest', **options) + return Service(name, client=self.client, project='composetest', **options) def check_build(self, *args, **kwargs): kwargs.setdefault('rm', True) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 717831681..022ec7c7d 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -20,12 +20,12 @@ def make_service_dict(name, service_dict, working_dir, filename=None): """ Test helper function to construct a ServiceExtendsResolver """ - resolver = config.ServiceExtendsResolver( + resolver = config.ServiceExtendsResolver(config.ServiceConfig( working_dir=working_dir, filename=filename, - service_name=name, - service_dict=service_dict) - return config.process_service(working_dir, resolver.run()) + name=name, + config=service_dict)) + return config.process_service(resolver.run()) def service_sort(services): @@ -651,7 +651,7 @@ class VolumeConfigTest(unittest.TestCase): def test_volume_path_with_non_ascii_directory(self): volume = u'/Füü/data:/data' - container_path = config.resolve_volume_path(".", volume, "test") + container_path = config.resolve_volume_path(".", volume) self.assertEqual(container_path, volume) From 0ab76bb8bccf507dc17b2b016d5ecabc1fcb5dc6 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 9 Nov 2015 15:39:55 -0500 Subject: [PATCH 179/221] Add a test for invalid field 'name', and fix an existing test for invalid service names. Signed-off-by: Daniel Nephin --- tests/unit/config/config_test.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 022ec7c7d..add7a5a48 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -77,8 +77,8 @@ class ConfigTest(unittest.TestCase): ) def test_config_invalid_service_names(self): - with self.assertRaises(ConfigurationError): - for invalid_name in ['?not?allowed', ' ', '', '!', '/', '\xe2']: + for invalid_name in ['?not?allowed', ' ', '', '!', '/', '\xe2']: + with pytest.raises(ConfigurationError): config.load( build_config_details( {invalid_name: {'image': 'busybox'}}, @@ -87,6 +87,16 @@ class ConfigTest(unittest.TestCase): ) ) + def test_load_with_invalid_field_name(self): + config_details = build_config_details( + {'web': {'image': 'busybox', 'name': 'bogus'}}, + 'working_dir', + 'filename.yml') + with pytest.raises(ConfigurationError) as exc: + config.load(config_details) + error_msg = "Unsupported config option for 'web' service: 'name'" + assert error_msg in exc.exconly() + def test_config_integer_service_name_raise_validation_error(self): expected_error_msg = "Service name: 1 needs to be a string, eg '1'" with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): From 63c3e6f58c124d757705711dfc56b50130136615 Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Wed, 11 Nov 2015 12:45:02 -0800 Subject: [PATCH 180/221] Allow dashes in environment variable names See http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html Environment variable names used by the utilities in the Shell and Utilities volume of POSIX.1-2008 consist solely of uppercase letters, digits, and the ( '_' ) from the characters defined in Portable Character Set and do not begin with a digit. Other characters may be permitted by an implementation; applications shall tolerate the presence of such names. Signed-off-by: Joffrey F --- compose/config/fields_schema.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index 7723f2fbc..3d592bbc7 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -40,7 +40,7 @@ { "type": "object", "patternProperties": { - "^[^-]+$": { + ".+": { "type": ["string", "number", "boolean", "null"], "format": "environment" } From d52c969f947750efb85e10b7a598f3c7b92d3996 Mon Sep 17 00:00:00 2001 From: Joffrey F Date: Wed, 11 Nov 2015 12:52:30 -0800 Subject: [PATCH 181/221] Add test for environment variable dashes support Signed-off-by: Joffrey F --- tests/unit/config/config_test.py | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index add7a5a48..324061365 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -480,20 +480,18 @@ class ConfigTest(unittest.TestCase): self.assertTrue(mock_logging.warn.called) self.assertTrue(expected_warning_msg in mock_logging.warn.call_args[0][0]) - def test_config_invalid_environment_dict_key_raises_validation_error(self): - expected_error_msg = "Service 'web' configuration key 'environment' contains unsupported option: '---'" - - with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): - config.load( - build_config_details( - {'web': { - 'image': 'busybox', - 'environment': {'---': 'nope'} - }}, - 'working_dir', - 'filename.yml' - ) + def test_config_valid_environment_dict_key_contains_dashes(self): + services = config.load( + build_config_details( + {'web': { + 'image': 'busybox', + 'environment': {'SPRING_JPA_HIBERNATE_DDL-AUTO': 'none'} + }}, + 'working_dir', + 'filename.yml' ) + ) + self.assertEqual(services[0]['environment']['SPRING_JPA_HIBERNATE_DDL-AUTO'], 'none') def test_load_yaml_with_yaml_error(self): tmpdir = py.test.ensuretemp('invalid_yaml_test') From 285e52cc7c17764b54a683e849787ee20c476349 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 12 Nov 2015 12:40:36 -0500 Subject: [PATCH 182/221] Add ids to config schemas Also enforce a max complexity for functions and add some new tests for config. Signed-off-by: Daniel Nephin --- compose/config/fields_schema.json | 6 ++++-- compose/config/service_schema.json | 11 ++++------- compose/config/validation.py | 5 ++++- tests/unit/config/config_test.py | 24 ++++++++++++++++-------- tox.ini | 2 ++ 5 files changed, 30 insertions(+), 18 deletions(-) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index 3d592bbc7..ca3b3a502 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -2,15 +2,18 @@ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", + "id": "fields_schema.json", "patternProperties": { "^[a-zA-Z0-9._-]+$": { "$ref": "#/definitions/service" } }, + "additionalProperties": false, "definitions": { "service": { + "id": "#/definitions/service", "type": "object", "properties": { @@ -167,6 +170,5 @@ ] } - }, - "additionalProperties": false + } } diff --git a/compose/config/service_schema.json b/compose/config/service_schema.json index 221c5d8d7..05774efdd 100644 --- a/compose/config/service_schema.json +++ b/compose/config/service_schema.json @@ -1,15 +1,17 @@ { "$schema": "http://json-schema.org/draft-04/schema#", + "id": "service_schema.json", "type": "object", "allOf": [ {"$ref": "fields_schema.json#/definitions/service"}, - {"$ref": "#/definitions/service_constraints"} + {"$ref": "#/definitions/constraints"} ], "definitions": { - "service_constraints": { + "constraints": { + "id": "#/definitions/constraints", "anyOf": [ { "required": ["build"], @@ -21,13 +23,8 @@ {"required": ["build"]}, {"required": ["dockerfile"]} ]} - }, - { - "required": ["extends"], - "not": {"required": ["build", "image"]} } ] } } - } diff --git a/compose/config/validation.py b/compose/config/validation.py index d3bcb35c4..962d41e2f 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -307,7 +307,10 @@ def _validate_against_schema(config, schema_filename, format_checker=[], service schema = json.load(schema_fh) resolver = RefResolver(resolver_full_path, schema) - validation_output = Draft4Validator(schema, resolver=resolver, format_checker=FormatChecker(format_checker)) + validation_output = Draft4Validator( + schema, + resolver=resolver, + format_checker=FormatChecker(format_checker)) errors = [error for error in sorted(validation_output.iter_errors(config), key=str)] if errors: diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 324061365..0e2fb7d72 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -78,14 +78,12 @@ class ConfigTest(unittest.TestCase): def test_config_invalid_service_names(self): for invalid_name in ['?not?allowed', ' ', '', '!', '/', '\xe2']: - with pytest.raises(ConfigurationError): - config.load( - build_config_details( - {invalid_name: {'image': 'busybox'}}, - 'working_dir', - 'filename.yml' - ) - ) + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details( + {invalid_name: {'image': 'busybox'}}, + 'working_dir', + 'filename.yml')) + assert 'Invalid service name \'%s\'' % invalid_name in exc.exconly() def test_load_with_invalid_field_name(self): config_details = build_config_details( @@ -97,6 +95,16 @@ class ConfigTest(unittest.TestCase): error_msg = "Unsupported config option for 'web' service: 'name'" assert error_msg in exc.exconly() + def test_load_invalid_service_definition(self): + config_details = build_config_details( + {'web': 'wrong'}, + 'working_dir', + 'filename.yml') + with pytest.raises(ConfigurationError) as exc: + config.load(config_details) + error_msg = "Service \"web\" doesn\'t have any configuration options" + assert error_msg in exc.exconly() + def test_config_integer_service_name_raise_validation_error(self): expected_error_msg = "Service name: 1 needs to be a string, eg '1'" with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): diff --git a/tox.ini b/tox.ini index f05c5ed26..d1098a55a 100644 --- a/tox.ini +++ b/tox.ini @@ -43,4 +43,6 @@ directory = coverage-html [flake8] # Allow really long lines for now max-line-length = 140 +# Set this high for now +max-complexity = 20 exclude = compose/packages From 34166ef5a4a64cfd0cd13acb607fbd1b36412232 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 12 Nov 2015 12:43:29 -0500 Subject: [PATCH 183/221] Refactor process_errors into smaller functions So that it passed new max-complexity requirement Signed-off-by: Daniel Nephin --- compose/config/validation.py | 316 +++++++++++++++---------------- tests/unit/config/config_test.py | 2 +- 2 files changed, 149 insertions(+), 169 deletions(-) diff --git a/compose/config/validation.py b/compose/config/validation.py index 962d41e2f..2928238c3 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -109,189 +109,169 @@ def anglicize_validator(validator): return 'a ' + validator -def process_errors(errors, service_name=None): +def handle_error_for_schema_with_id(error, service_name): + schema_id = error.schema['id'] + + if schema_id == 'fields_schema.json' and error.validator == 'additionalProperties': + return "Invalid service name '{}' - only {} characters are allowed".format( + # The service_name is the key to the json object + list(error.instance)[0], + VALID_NAME_CHARS) + + if schema_id == '#/definitions/constraints': + if 'image' in error.instance and 'build' in error.instance: + return ( + "Service '{}' has both an image and build path specified. " + "A service can either be built to image or use an existing " + "image, not both.".format(service_name)) + if 'image' not in error.instance and 'build' not in error.instance: + return ( + "Service '{}' has neither an image nor a build path " + "specified. Exactly one must be provided.".format(service_name)) + if 'image' in error.instance and 'dockerfile' in error.instance: + return ( + "Service '{}' has both an image and alternate Dockerfile. " + "A service can either be built to image or use an existing " + "image, not both.".format(service_name)) + + if schema_id == '#/definitions/service': + if error.validator == 'additionalProperties': + invalid_config_key = parse_key_from_error_msg(error) + return get_unsupported_config_msg(service_name, invalid_config_key) + + +def handle_generic_service_error(error, service_name): + config_key = " ".join("'%s'" % k for k in error.path) + msg_format = None + error_msg = error.message + + if error.validator == 'oneOf': + msg_format = "Service '{}' configuration key {} {}" + error_msg = _parse_oneof_validator(error) + + elif error.validator == 'type': + msg_format = ("Service '{}' configuration key {} contains an invalid " + "type, it should be {}") + error_msg = _parse_valid_types_from_validator(error.validator_value) + + # TODO: no test case for this branch, there are no config options + # which exercise this branch + elif error.validator == 'required': + msg_format = "Service '{}' configuration key '{}' is invalid, {}" + + elif error.validator == 'dependencies': + msg_format = "Service '{}' configuration key '{}' is invalid: {}" + config_key = list(error.validator_value.keys())[0] + required_keys = ",".join(error.validator_value[config_key]) + error_msg = "when defining '{}' you must set '{}' as well".format( + config_key, + required_keys) + + elif error.path: + msg_format = "Service '{}' configuration key {} value {}" + + if msg_format: + return msg_format.format(service_name, config_key, error_msg) + + return error.message + + +def parse_key_from_error_msg(error): + return error.message.split("'")[1] + + +def _parse_valid_types_from_validator(validator): + """A validator value can be either an array of valid types or a string of + a valid type. Parse the valid types and prefix with the correct article. """ - jsonschema gives us an error tree full of information to explain what has + if not isinstance(validator, list): + return anglicize_validator(validator) + + if len(validator) == 1: + return anglicize_validator(validator[0]) + + return "{}, or {}".format( + ", ".join([anglicize_validator(validator[0])] + validator[1:-1]), + anglicize_validator(validator[-1])) + + +def _parse_oneof_validator(error): + """oneOf has multiple schemas, so we need to reason about which schema, sub + schema or constraint the validation is failing on. + Inspecting the context value of a ValidationError gives us information about + which sub schema failed and which kind of error it is. + """ + types = [] + for context in error.context: + + if context.validator == 'required': + return context.message + + if context.validator == 'additionalProperties': + invalid_config_key = parse_key_from_error_msg(context) + return "contains unsupported option: '{}'".format(invalid_config_key) + + if context.path: + invalid_config_key = " ".join( + "'{}' ".format(fragment) for fragment in context.path + if isinstance(fragment, six.string_types) + ) + return "{}contains {}, which is an invalid type, it should be {}".format( + invalid_config_key, + context.instance, + _parse_valid_types_from_validator(context.validator_value)) + + if context.validator == 'uniqueItems': + return "contains non unique items, please remove duplicates from {}".format( + context.instance) + + if context.validator == 'type': + types.append(context.validator_value) + + valid_types = _parse_valid_types_from_validator(types) + return "contains an invalid type, it should be {}".format(valid_types) + + +def process_errors(errors, service_name=None): + """jsonschema gives us an error tree full of information to explain what has gone wrong. Process each error and pull out relevant information and re-write helpful error messages that are relevant. """ - def _parse_key_from_error_msg(error): - return error.message.split("'")[1] + def format_error_message(error, service_name): + if not service_name and error.path: + # field_schema errors will have service name on the path + service_name = error.path.popleft() - def _clean_error_message(message): - return message.replace("u'", "'") + if 'id' in error.schema: + error_msg = handle_error_for_schema_with_id(error, service_name) + if error_msg: + return error_msg - def _parse_valid_types_from_validator(validator): - """ - A validator value can be either an array of valid types or a string of - a valid type. Parse the valid types and prefix with the correct article. - """ - if isinstance(validator, list): - if len(validator) >= 2: - first_type = anglicize_validator(validator[0]) - last_type = anglicize_validator(validator[-1]) - types_from_validator = ", ".join([first_type] + validator[1:-1]) + return handle_generic_service_error(error, service_name) - msg = "{} or {}".format( - types_from_validator, - last_type - ) - else: - msg = "{}".format(anglicize_validator(validator[0])) - else: - msg = "{}".format(anglicize_validator(validator)) - - return msg - - def _parse_oneof_validator(error): - """ - oneOf has multiple schemas, so we need to reason about which schema, sub - schema or constraint the validation is failing on. - Inspecting the context value of a ValidationError gives us information about - which sub schema failed and which kind of error it is. - """ - required = [context for context in error.context if context.validator == 'required'] - if required: - return required[0].message - - additionalProperties = [context for context in error.context if context.validator == 'additionalProperties'] - if additionalProperties: - invalid_config_key = _parse_key_from_error_msg(additionalProperties[0]) - return "contains unsupported option: '{}'".format(invalid_config_key) - - constraint = [context for context in error.context if len(context.path) > 0] - if constraint: - valid_types = _parse_valid_types_from_validator(constraint[0].validator_value) - invalid_config_key = "".join( - "'{}' ".format(fragment) for fragment in constraint[0].path - if isinstance(fragment, six.string_types) - ) - msg = "{}contains {}, which is an invalid type, it should be {}".format( - invalid_config_key, - constraint[0].instance, - valid_types - ) - return msg - - uniqueness = [context for context in error.context if context.validator == 'uniqueItems'] - if uniqueness: - msg = "contains non unique items, please remove duplicates from {}".format( - uniqueness[0].instance - ) - return msg - - types = [context.validator_value for context in error.context if context.validator == 'type'] - valid_types = _parse_valid_types_from_validator(types) - - msg = "contains an invalid type, it should be {}".format(valid_types) - - return msg - - root_msgs = [] - invalid_keys = [] - required = [] - type_errors = [] - other_errors = [] - - for error in errors: - # handle root level errors - if len(error.path) == 0 and not service_name: - if error.validator == 'type': - msg = "Top level object needs to be a dictionary. Check your .yml file that you have defined a service at the top level." - root_msgs.append(msg) - elif error.validator == 'additionalProperties': - invalid_service_name = _parse_key_from_error_msg(error) - msg = "Invalid service name '{}' - only {} characters are allowed".format(invalid_service_name, VALID_NAME_CHARS) - root_msgs.append(msg) - else: - root_msgs.append(_clean_error_message(error.message)) - - else: - if not service_name: - # field_schema errors will have service name on the path - service_name = error.path[0] - error.path.popleft() - else: - # service_schema errors have the service name passed in, as that - # is not available on error.path or necessarily error.instance - service_name = service_name - - if error.validator == 'additionalProperties': - invalid_config_key = _parse_key_from_error_msg(error) - invalid_keys.append(get_unsupported_config_msg(service_name, invalid_config_key)) - elif error.validator == 'anyOf': - if 'image' in error.instance and 'build' in error.instance: - required.append( - "Service '{}' has both an image and build path specified. " - "A service can either be built to image or use an existing " - "image, not both.".format(service_name)) - elif 'image' not in error.instance and 'build' not in error.instance: - required.append( - "Service '{}' has neither an image nor a build path " - "specified. Exactly one must be provided.".format(service_name)) - elif 'image' in error.instance and 'dockerfile' in error.instance: - required.append( - "Service '{}' has both an image and alternate Dockerfile. " - "A service can either be built to image or use an existing " - "image, not both.".format(service_name)) - else: - required.append(_clean_error_message(error.message)) - elif error.validator == 'oneOf': - config_key = error.path[0] - msg = _parse_oneof_validator(error) - - type_errors.append("Service '{}' configuration key '{}' {}".format( - service_name, config_key, msg) - ) - elif error.validator == 'type': - msg = _parse_valid_types_from_validator(error.validator_value) - - if len(error.path) > 0: - config_key = " ".join(["'%s'" % k for k in error.path]) - type_errors.append( - "Service '{}' configuration key {} contains an invalid " - "type, it should be {}".format( - service_name, - config_key, - msg)) - else: - root_msgs.append( - "Service \"{}\" doesn't have any configuration options. " - "All top level keys in your docker-compose.yml must map " - "to a dictionary of configuration options.'".format(service_name)) - elif error.validator == 'required': - config_key = error.path[0] - required.append( - "Service '{}' option '{}' is invalid, {}".format( - service_name, - config_key, - _clean_error_message(error.message))) - elif error.validator == 'dependencies': - dependency_key = list(error.validator_value.keys())[0] - required_keys = ",".join(error.validator_value[dependency_key]) - required.append("Invalid '{}' configuration for '{}' service: when defining '{}' you must set '{}' as well".format( - dependency_key, service_name, dependency_key, required_keys)) - else: - config_key = " ".join(["'%s'" % k for k in error.path]) - err_msg = "Service '{}' configuration key {} value {}".format(service_name, config_key, error.message) - other_errors.append(err_msg) - - return "\n".join(root_msgs + invalid_keys + required + type_errors + other_errors) + return '\n'.join(format_error_message(error, service_name) for error in errors) def validate_against_fields_schema(config): - schema_filename = "fields_schema.json" - format_checkers = ["ports", "environment"] - return _validate_against_schema(config, schema_filename, format_checkers) + return _validate_against_schema( + config, + "fields_schema.json", + ["ports", "environment"]) def validate_against_service_schema(config, service_name): - schema_filename = "service_schema.json" - format_checkers = ["ports"] - return _validate_against_schema(config, schema_filename, format_checkers, service_name) + return _validate_against_schema( + config, + "service_schema.json", + ["ports"], + service_name) -def _validate_against_schema(config, schema_filename, format_checker=[], service_name=None): +def _validate_against_schema( + config, + schema_filename, + format_checker=(), + service_name=None): config_source_dir = os.path.dirname(os.path.abspath(__file__)) if sys.platform == "win32": diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 0e2fb7d72..ada5e9cae 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -865,7 +865,7 @@ class MemoryOptionsTest(unittest.TestCase): a mem_limit """ expected_error_msg = ( - "Invalid 'memswap_limit' configuration for 'foo' service: when " + "Service 'foo' configuration key 'memswap_limit' is invalid: when " "defining 'memswap_limit' you must set 'mem_limit' as well" ) with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): From 96e9b470597594beaade8e1851cbb2b3f5c3b37c Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 9 Nov 2015 20:01:20 -0500 Subject: [PATCH 184/221] Inclide the filename in validation errors. Signed-off-by: Daniel Nephin --- compose/config/config.py | 4 +- compose/config/interpolation.py | 7 --- compose/config/validation.py | 60 ++++++++++++------ tests/unit/config/config_test.py | 104 +++++++++++++++---------------- 4 files changed, 95 insertions(+), 80 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 21788551d..2c1fdeb9c 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -229,9 +229,9 @@ def load(config_details): def process_config_file(config_file, service_name=None): - validate_top_level_object(config_file.config) + validate_top_level_object(config_file) processed_config = interpolate_environment_variables(config_file.config) - validate_against_fields_schema(processed_config) + validate_against_fields_schema(processed_config, config_file.filename) if service_name and service_name not in processed_config: raise ConfigurationError( diff --git a/compose/config/interpolation.py b/compose/config/interpolation.py index f8e1da610..ba7e35c1e 100644 --- a/compose/config/interpolation.py +++ b/compose/config/interpolation.py @@ -18,13 +18,6 @@ def interpolate_environment_variables(config): def process_service(service_name, service_dict, mapping): - if not isinstance(service_dict, dict): - raise ConfigurationError( - 'Service "%s" doesn\'t have any configuration options. ' - 'All top level keys in your docker-compose.yml must map ' - 'to a dictionary of configuration options.' % service_name - ) - return dict( (key, interpolate_value(service_name, key, val, mapping)) for (key, val) in service_dict.items() diff --git a/compose/config/validation.py b/compose/config/validation.py index 2928238c3..38866b0f4 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -66,21 +66,38 @@ def format_boolean_in_environment(instance): return True -def validate_service_names(config): - for service_name in config.keys(): +def validate_top_level_service_objects(config_file): + """Perform some high level validation of the service name and value. + + This validation must happen before interpolation, which must happen + before the rest of validation, which is why it's separate from the + rest of the service validation. + """ + for service_name, service_dict in config_file.config.items(): if not isinstance(service_name, six.string_types): raise ConfigurationError( - "Service name: {} needs to be a string, eg '{}'".format( + "In file '{}' service name: {} needs to be a string, eg '{}'".format( + config_file.filename, service_name, service_name)) + if not isinstance(service_dict, dict): + raise ConfigurationError( + "In file '{}' service '{}' doesn\'t have any configuration options. " + "All top level keys in your docker-compose.yml must map " + "to a dictionary of configuration options.".format( + config_file.filename, + service_name)) -def validate_top_level_object(config): - if not isinstance(config, dict): + +def validate_top_level_object(config_file): + if not isinstance(config_file.config, dict): raise ConfigurationError( - "Top level object needs to be a dictionary. Check your .yml file " - "that you have defined a service at the top level.") - validate_service_names(config) + "Top level object in '{}' needs to be an object not '{}'. Check " + "that you have defined a service at the top level.".format( + config_file.filename, + type(config_file.config))) + validate_top_level_service_objects(config_file) def validate_extends_file_path(service_name, extends_options, filename): @@ -252,26 +269,28 @@ def process_errors(errors, service_name=None): return '\n'.join(format_error_message(error, service_name) for error in errors) -def validate_against_fields_schema(config): - return _validate_against_schema( +def validate_against_fields_schema(config, filename): + _validate_against_schema( config, "fields_schema.json", - ["ports", "environment"]) + format_checker=["ports", "environment"], + filename=filename) def validate_against_service_schema(config, service_name): - return _validate_against_schema( + _validate_against_schema( config, "service_schema.json", - ["ports"], - service_name) + format_checker=["ports"], + service_name=service_name) def _validate_against_schema( config, schema_filename, format_checker=(), - service_name=None): + service_name=None, + filename=None): config_source_dir = os.path.dirname(os.path.abspath(__file__)) if sys.platform == "win32": @@ -293,6 +312,11 @@ def _validate_against_schema( format_checker=FormatChecker(format_checker)) errors = [error for error in sorted(validation_output.iter_errors(config), key=str)] - if errors: - error_msg = process_errors(errors, service_name) - raise ConfigurationError("Validation failed, reason(s):\n{}".format(error_msg)) + if not errors: + return + + error_msg = process_errors(errors, service_name) + file_msg = " in file '{}'".format(filename) if filename else '' + raise ConfigurationError("Validation failed{}, reason(s):\n{}".format( + file_msg, + error_msg)) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index ada5e9cae..3038af80d 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -94,6 +94,7 @@ class ConfigTest(unittest.TestCase): config.load(config_details) error_msg = "Unsupported config option for 'web' service: 'name'" assert error_msg in exc.exconly() + assert "Validation failed in file 'filename.yml'" in exc.exconly() def test_load_invalid_service_definition(self): config_details = build_config_details( @@ -102,11 +103,12 @@ class ConfigTest(unittest.TestCase): 'filename.yml') with pytest.raises(ConfigurationError) as exc: config.load(config_details) - error_msg = "Service \"web\" doesn\'t have any configuration options" + error_msg = "service 'web' doesn't have any configuration options" assert error_msg in exc.exconly() def test_config_integer_service_name_raise_validation_error(self): - expected_error_msg = "Service name: 1 needs to be a string, eg '1'" + expected_error_msg = ("In file 'filename.yml' service name: 1 needs to " + "be a string, eg '1'") with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): config.load( build_config_details( @@ -156,25 +158,26 @@ class ConfigTest(unittest.TestCase): def test_load_with_multiple_files_and_empty_override(self): base_file = config.ConfigFile( - 'base.yaml', + 'base.yml', {'web': {'image': 'example/web'}}) - override_file = config.ConfigFile('override.yaml', None) + override_file = config.ConfigFile('override.yml', None) details = config.ConfigDetails('.', [base_file, override_file]) with pytest.raises(ConfigurationError) as exc: config.load(details) - assert 'Top level object needs to be a dictionary' in exc.exconly() + error_msg = "Top level object in 'override.yml' needs to be an object" + assert error_msg in exc.exconly() def test_load_with_multiple_files_and_empty_base(self): - base_file = config.ConfigFile('base.yaml', None) + base_file = config.ConfigFile('base.yml', None) override_file = config.ConfigFile( - 'override.yaml', + 'override.yml', {'web': {'image': 'example/web'}}) details = config.ConfigDetails('.', [base_file, override_file]) with pytest.raises(ConfigurationError) as exc: config.load(details) - assert 'Top level object needs to be a dictionary' in exc.exconly() + assert "Top level object in 'base.yml' needs to be an object" in exc.exconly() def test_load_with_multiple_files_and_extends_in_override_file(self): base_file = config.ConfigFile( @@ -225,17 +228,17 @@ class ConfigTest(unittest.TestCase): with pytest.raises(ConfigurationError) as exc: config.load(details) - assert 'Service "bogus" doesn\'t have any configuration' in exc.exconly() + assert "service 'bogus' doesn't have any configuration" in exc.exconly() + assert "In file 'override.yaml'" in exc.exconly() def test_config_valid_service_names(self): for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']: - config.load( + services = config.load( build_config_details( {valid_name: {'image': 'busybox'}}, 'tests/fixtures/extends', - 'common.yml' - ) - ) + 'common.yml')) + assert services[0]['name'] == valid_name def test_config_invalid_ports_format_validation(self): expected_error_msg = "Service 'web' configuration key 'ports' contains an invalid type" @@ -300,7 +303,8 @@ class ConfigTest(unittest.TestCase): ) def test_invalid_config_not_a_dictionary(self): - expected_error_msg = "Top level object needs to be a dictionary." + expected_error_msg = ("Top level object in 'filename.yml' needs to be " + "an object.") with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): config.load( build_config_details( @@ -382,12 +386,13 @@ class ConfigTest(unittest.TestCase): ) def test_config_ulimits_invalid_keys_validation_error(self): - expected_error_msg = "Service 'web' configuration key 'ulimits' contains unsupported option: 'not_soft_or_hard'" + expected = ("Service 'web' configuration key 'ulimits' 'nofile' contains " + "unsupported option: 'not_soft_or_hard'") - with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): - config.load( - build_config_details( - {'web': { + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details( + { + 'web': { 'image': 'busybox', 'ulimits': { 'nofile': { @@ -396,50 +401,43 @@ class ConfigTest(unittest.TestCase): "hard": 20000, } } - }}, - 'working_dir', - 'filename.yml' - ) - ) + } + }, + 'working_dir', + 'filename.yml')) + assert expected in exc.exconly() def test_config_ulimits_required_keys_validation_error(self): - expected_error_msg = "Service 'web' configuration key 'ulimits' u?'hard' is a required property" - with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): - config.load( - build_config_details( - {'web': { + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details( + { + 'web': { 'image': 'busybox', - 'ulimits': { - 'nofile': { - "soft": 10000, - } - } - }}, - 'working_dir', - 'filename.yml' - ) - ) + 'ulimits': {'nofile': {"soft": 10000}} + } + }, + 'working_dir', + 'filename.yml')) + assert "Service 'web' configuration key 'ulimits' 'nofile'" in exc.exconly() + assert "'hard' is a required property" in exc.exconly() def test_config_ulimits_soft_greater_than_hard_error(self): - expected_error_msg = "cannot contain a 'soft' value higher than 'hard' value" + expected = "cannot contain a 'soft' value higher than 'hard' value" - with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): - config.load( - build_config_details( - {'web': { + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details( + { + 'web': { 'image': 'busybox', 'ulimits': { - 'nofile': { - "soft": 10000, - "hard": 1000 - } + 'nofile': {"soft": 10000, "hard": 1000} } - }}, - 'working_dir', - 'filename.yml' - ) - ) + } + }, + 'working_dir', + 'filename.yml')) + assert expected in exc.exconly() def test_valid_config_which_allows_two_type_definitions(self): expose_values = [["8000"], [8000]] From 82086a4e92aada343cf656e7c5c1e9f88d13533e Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 12 Nov 2015 13:26:13 -0500 Subject: [PATCH 185/221] Remove name field from the list of ALLOWED_KEYS Signed-off-by: Daniel Nephin --- compose/config/config.py | 1 - 1 file changed, 1 deletion(-) diff --git a/compose/config/config.py b/compose/config/config.py index 2c1fdeb9c..201266208 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -65,7 +65,6 @@ ALLOWED_KEYS = DOCKER_CONFIG_KEYS + [ 'dockerfile', 'expose', 'external_links', - 'name', ] From 4628e93fb2ee8e09f9410016574be58a5c2973ed Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 12 Nov 2015 13:23:04 -0500 Subject: [PATCH 186/221] Bump 1.5.1 Signed-off-by: Daniel Nephin --- CHANGELOG.md | 53 +++++++++++++++++++++++++++++++++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 6 ++--- script/run.sh | 2 +- 4 files changed, 58 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a123c2a44..50aabcb8e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,59 @@ Change log ========== +1.5.1 (2015-11-12) +------------------ + +- Add the `--force-rm` option to `build`. + +- Add the `ulimit` option for services in the Compose file. + +- Fixed a bug where `up` would error with "service needs to be built" if + a service changed from using `image` to using `build`. + +- Fixed a bug that would cause incorrect output of parallel operations + on some terminals. + +- Fixed a bug that prevented a container from being recreated when the + mode of a `volumes_from` was changed. + +- Fixed a regression in 1.5.0 where non-utf-8 unicode characters would cause + `up` or `logs` to crash. + +- Fixed a regression in 1.5.0 where Compose would use a success exit status + code when a command fails due to an HTTP timeout communicating with the + docker daemon. + +- Fixed a regression in 1.5.0 where `name` was being accepted as a valid + service option which would override the actual name of the service. + +- When using `--x-networking` Compose no longer sets the hostname to the + container name. + +- When using `--x-networking` Compose will only create the default network + if at least one container is using the network. + +- When printings logs during `up` or `logs`, flush the output buffer after + each line to prevent buffering issues from hideing logs. + +- Recreate a container if one of it's dependencies is being created. + Previously a container was only recreated if it's dependencies already + existed, but were being recreated as well. + +- Add a warning when a `volume` in the Compose file is being ignored + and masked by a container volume from a previous container. + +- Improve the output of `pull` when run without a tty. + +- When using multiple Compose files, validate each before attempting to merge + them together. Previously invalid files would result in not helpful errors. + +- Allow dashes in keys in the `environment` service option. + +- Improve validation error messages by including the filename as part of the + error message. + + 1.5.0 (2015-11-03) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 2b8d5e72b..5f2b332af 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.0' +__version__ = '1.5.1' diff --git a/docs/install.md b/docs/install.md index c5304409c..f8c9db638 100644 --- a/docs/install.md +++ b/docs/install.md @@ -39,7 +39,7 @@ which the release page specifies, in your terminal. The following is an example command illustrating the format: - curl -L https://github.com/docker/compose/releases/download/VERSION_NUM/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.5.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose If you have problems installing with `curl`, see [Alternative Install Options](#alternative-install-options). @@ -54,7 +54,7 @@ which the release page specifies, in your terminal. 7. Test the installation. $ docker-compose --version - docker-compose version: 1.5.0 + docker-compose version: 1.5.1 ## Alternative install options @@ -76,7 +76,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.0/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.1/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index cf46c143c..a9b954774 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.0" +VERSION="1.5.1" IMAGE="docker/compose:$VERSION" From 8d816fc2f39ae0c2e95c758c78e1108e72c09446 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Wed, 28 Oct 2015 16:27:14 +0000 Subject: [PATCH 187/221] Add cross references for env/cli Signed-off-by: Mazz Mosley --- docs/reference/docker-compose.md | 15 +++++++++------ docs/reference/overview.md | 9 +++++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/reference/docker-compose.md b/docs/reference/docker-compose.md index 32fcbe706..8712072e5 100644 --- a/docs/reference/docker-compose.md +++ b/docs/reference/docker-compose.md @@ -87,15 +87,18 @@ relative to the current working directory. The `-f` flag is optional. If you don't provide this flag on the command line, Compose traverses the working directory and its subdirectories looking for a -`docker-compose.yml` and a `docker-compose.override.yml` file. You must supply -at least the `docker-compose.yml` file. If both files are present, Compose -combines the two files into a single configuration. The configuration in the -`docker-compose.override.yml` file is applied over and in addition to the values -in the `docker-compose.yml` file. +`docker-compose.yml` and a `docker-compose.override.yml` file. You must +supply at least the `docker-compose.yml` file. If both files are present, +Compose combines the two files into a single configuration. The configuration +in the `docker-compose.override.yml` file is applied over and in addition to +the values in the `docker-compose.yml` file. + +See also the `COMPOSE_FILE` [environment variable](overview.md#compose-file). Each configuration has a project name. If you supply a `-p` flag, you can specify a project name. If you don't specify the flag, Compose uses the current -directory name. +directory name. See also the `COMPOSE_PROJECT_NAME` [environment variable]( +overview.md#compose-project-name) ## Where to go next diff --git a/docs/reference/overview.md b/docs/reference/overview.md index 3f589a9de..8e3967b22 100644 --- a/docs/reference/overview.md +++ b/docs/reference/overview.md @@ -32,11 +32,16 @@ Docker command-line client. If you're using `docker-machine`, then the `eval "$( Sets the project name. This value is prepended along with the service name to the container container on start up. For example, if you project name is `myapp` and it includes two services `db` and `web` then compose starts containers named `myapp_db_1` and `myapp_web_1` respectively. -Setting this is optional. If you do not set this, the `COMPOSE_PROJECT_NAME` defaults to the `basename` of the current working directory. +Setting this is optional. If you do not set this, the `COMPOSE_PROJECT_NAME` +defaults to the `basename` of the project directory. See also the `-p` +[command-line option](docker-compose.md). ### COMPOSE\_FILE -Specify the file containing the compose configuration. If not provided, Compose looks for a file named `docker-compose.yml` in the current directory and then each parent directory in succession until a file by that name is found. +Specify the file containing the compose configuration. If not provided, +Compose looks for a file named `docker-compose.yml` in the current directory +and then each parent directory in succession until a file by that name is +found. See also the `-f` [command-line option](docker-compose.md). ### COMPOSE\_API\_VERSION From d28b2027b8f584c3492bdc6554b73e926a583356 Mon Sep 17 00:00:00 2001 From: Mazz Mosley Date: Wed, 28 Oct 2015 16:48:35 +0000 Subject: [PATCH 188/221] Clarify `dockerfile` requires `build` key Credit to @funkyfuture for the first PR addressing the clarification. https://github.com/docker/compose/pull/1767 Signed-off-by: Mazz Mosley --- docs/compose-file.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/compose-file.md b/docs/compose-file.md index d5aeaa3f2..51d1f5e1a 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -105,8 +105,10 @@ Custom DNS search domains. Can be a single value or a list. Alternate Dockerfile. -Compose will use an alternate file to build with. +Compose will use an alternate file to build with. A build path must also be +specified using the `build` key. + build: /path/to/build/dir dockerfile: Dockerfile-alternate Using `dockerfile` together with `image` is not allowed. Attempting to do so results in an error. From c42918ec7c736b16394deeb30a7724ed5d403a52 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Sun, 18 Oct 2015 00:40:51 +0530 Subject: [PATCH 189/221] Fix specifies_host_port() to handle port binding with host IP but no host port Signed-off-by: Viranch Mehta --- compose/service.py | 24 +++++++++++++-- tests/unit/service_test.py | 62 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+), 3 deletions(-) diff --git a/compose/service.py b/compose/service.py index cc4915992..3b05264bb 100644 --- a/compose/service.py +++ b/compose/service.py @@ -767,10 +767,28 @@ class Service(object): return self.options.get('container_name') def specifies_host_port(self): - for port in self.options.get('ports', []): - if ':' in str(port): + def has_host_port(binding): + _, external_bindings = split_port(binding) + + # there are no external bindings + if external_bindings is None: + return False + + # we only need to check the first binding from the range + external_binding = external_bindings[0] + + # non-tuple binding means there is a host port specified + if not isinstance(external_binding, tuple): return True - return False + + # extract actual host port from tuple of (host_ip, host_port) + _, host_port = external_binding + if host_port is not None: + return True + + return False + + return any(has_host_port(binding) for binding in self.options.get('ports', [])) def pull(self, ignore_pull_failures=False): if 'image' not in self.options: diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 311d5c95e..0cff98990 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -427,6 +427,68 @@ class ServiceTest(unittest.TestCase): } self.assertEqual(config_dict, expected) + def test_specifies_host_port_with_no_ports(self): + service = Service( + 'foo', + image='foo') + self.assertEqual(service.specifies_host_port(), False) + + def test_specifies_host_port_with_container_port(self): + service = Service( + 'foo', + image='foo', + ports=["2000"]) + self.assertEqual(service.specifies_host_port(), False) + + def test_specifies_host_port_with_host_port(self): + service = Service( + 'foo', + image='foo', + ports=["1000:2000"]) + self.assertEqual(service.specifies_host_port(), True) + + def test_specifies_host_port_with_host_ip_no_port(self): + service = Service( + 'foo', + image='foo', + ports=["127.0.0.1::2000"]) + self.assertEqual(service.specifies_host_port(), False) + + def test_specifies_host_port_with_host_ip_and_port(self): + service = Service( + 'foo', + image='foo', + ports=["127.0.0.1:1000:2000"]) + self.assertEqual(service.specifies_host_port(), True) + + def test_specifies_host_port_with_container_port_range(self): + service = Service( + 'foo', + image='foo', + ports=["2000-3000"]) + self.assertEqual(service.specifies_host_port(), False) + + def test_specifies_host_port_with_host_port_range(self): + service = Service( + 'foo', + image='foo', + ports=["1000-2000:2000-3000"]) + self.assertEqual(service.specifies_host_port(), True) + + def test_specifies_host_port_with_host_ip_no_port_range(self): + service = Service( + 'foo', + image='foo', + ports=["127.0.0.1::2000-3000"]) + self.assertEqual(service.specifies_host_port(), False) + + def test_specifies_host_port_with_host_ip_and_port_range(self): + service = Service( + 'foo', + image='foo', + ports=["127.0.0.1:1000-2000:2000-3000"]) + self.assertEqual(service.specifies_host_port(), True) + def test_get_links_with_networking(self): service = Service( 'foo', From 16a74f3797a9afb06a6f522f452e0426d873221f Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 16 Nov 2015 12:55:35 -0500 Subject: [PATCH 190/221] Fix texttable dep. 0.8.2 was removed from pypi. Signed-off-by: Daniel Nephin --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 60327d728..659cb57f4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,5 +6,5 @@ enum34==1.0.4 jsonschema==2.5.1 requests==2.7.0 six==1.7.3 -texttable==0.8.2 +texttable==0.8.4 websocket-client==0.32.0 From 8f70c8cdeb28f82d9ccf4f060ccd9b44d002c502 Mon Sep 17 00:00:00 2001 From: Simon van der Veldt Date: Wed, 18 Nov 2015 21:38:58 +0100 Subject: [PATCH 191/221] run.sh script: Also pass DOCKER_TLS_VERIFY and DOCKER_CERT_PATH env vars to compose container Signed-off-by: Simon van der Veldt --- script/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/run.sh b/script/run.sh index a9b954774..9563b2e9c 100755 --- a/script/run.sh +++ b/script/run.sh @@ -26,7 +26,7 @@ fi if [ -S "$DOCKER_HOST" ]; then DOCKER_ADDR="-v $DOCKER_HOST:$DOCKER_HOST -e DOCKER_HOST" else - DOCKER_ADDR="-e DOCKER_HOST" + DOCKER_ADDR="-e DOCKER_HOST -e DOCKER_TLS_VERIFY -e DOCKER_CERT_PATH" fi From 0117148a360ccc1bc783e16435314bd6c69eaf11 Mon Sep 17 00:00:00 2001 From: Stefan Scherer Date: Fri, 13 Nov 2015 08:33:51 +0100 Subject: [PATCH 192/221] Use uname to build target name for different platforms Signed-off-by: Stefan Scherer --- script/build-linux-inner | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/script/build-linux-inner b/script/build-linux-inner index 01137ff24..47d5eb2e7 100755 --- a/script/build-linux-inner +++ b/script/build-linux-inner @@ -2,7 +2,7 @@ set -ex -TARGET=dist/docker-compose-Linux-x86_64 +TARGET=dist/docker-compose-$(uname -s)-$(uname -m) VENV=/code/.tox/py27 mkdir -p `pwd`/dist From 09f6a876cfc2c7cdbaba9383e0828d4435537bea Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 16 Nov 2015 12:35:26 -0500 Subject: [PATCH 193/221] Fixes #2398 - the build progress stream can contain empty json objects. Previously these empty objects would hit a bug in splitting objects causing it crash. With this fix the empty objects are returned properly. Signed-off-by: Daniel Nephin --- compose/utils.py | 12 ++++++------ tests/unit/utils_test.py | 28 ++++++++++++++++++++-------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/compose/utils.py b/compose/utils.py index 2c6c4584d..a013035e9 100644 --- a/compose/utils.py +++ b/compose/utils.py @@ -102,7 +102,7 @@ def stream_as_text(stream): def line_splitter(buffer, separator=u'\n'): index = buffer.find(six.text_type(separator)) if index == -1: - return None, None + return None return buffer[:index + 1], buffer[index + 1:] @@ -120,11 +120,11 @@ def split_buffer(stream, splitter=None, decoder=lambda a: a): for data in stream_as_text(stream): buffered += data while True: - item, rest = splitter(buffered) - if not item: + buffer_split = splitter(buffered) + if buffer_split is None: break - buffered = rest + item, buffered = buffer_split yield item if buffered: @@ -140,7 +140,7 @@ def json_splitter(buffer): rest = buffer[json.decoder.WHITESPACE.match(buffer, index).end():] return obj, rest except ValueError: - return None, None + return None def json_stream(stream): @@ -148,7 +148,7 @@ def json_stream(stream): This handles streams which are inconsistently buffered (some entries may be newline delimited, and others are not). """ - return split_buffer(stream_as_text(stream), json_splitter, json_decoder.decode) + return split_buffer(stream, json_splitter, json_decoder.decode) def write_out_msg(stream, lines, msg_index, msg, status="done"): diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py index e3d0bc00b..15999dde9 100644 --- a/tests/unit/utils_test.py +++ b/tests/unit/utils_test.py @@ -1,25 +1,21 @@ # encoding: utf-8 from __future__ import unicode_literals -from .. import unittest from compose import utils -class JsonSplitterTestCase(unittest.TestCase): +class TestJsonSplitter(object): def test_json_splitter_no_object(self): data = '{"foo": "bar' - self.assertEqual(utils.json_splitter(data), (None, None)) + assert utils.json_splitter(data) is None def test_json_splitter_with_object(self): data = '{"foo": "bar"}\n \n{"next": "obj"}' - self.assertEqual( - utils.json_splitter(data), - ({'foo': 'bar'}, '{"next": "obj"}') - ) + assert utils.json_splitter(data) == ({'foo': 'bar'}, '{"next": "obj"}') -class StreamAsTextTestCase(unittest.TestCase): +class TestStreamAsText(object): def test_stream_with_non_utf_unicode_character(self): stream = [b'\xed\xf3\xf3'] @@ -30,3 +26,19 @@ class StreamAsTextTestCase(unittest.TestCase): stream = ['ěĝ'.encode('utf-8')] output, = utils.stream_as_text(stream) assert output == 'ěĝ' + + +class TestJsonStream(object): + + def test_with_falsy_entries(self): + stream = [ + '{"one": "two"}\n{}\n', + "[1, 2, 3]\n[]\n", + ] + output = list(utils.json_stream(stream)) + assert output == [ + {'one': 'two'}, + {}, + [1, 2, 3], + [], + ] From 3a395892fc18bd097f767d6a420dc887f9e76e8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Seguin?= Date: Sat, 14 Nov 2015 12:19:57 +0100 Subject: [PATCH 194/221] Fix restart with stopped containers. Fixes #1814 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Seguin --- compose/service.py | 2 +- tests/acceptance/cli_test.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/compose/service.py b/compose/service.py index 3b05264bb..4f449d150 100644 --- a/compose/service.py +++ b/compose/service.py @@ -185,7 +185,7 @@ class Service(object): c.kill(**options) def restart(self, **options): - for c in self.containers(): + for c in self.containers(stopped=True): log.info("Restarting %s" % c.name) c.restart(**options) diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index 88a43d7f0..34a2d166e 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -597,6 +597,15 @@ class CLITestCase(DockerClientTestCase): started_at, ) + def test_restart_stopped_container(self): + service = self.project.get_service('simple') + container = service.create_container() + container.start() + container.kill() + self.assertEqual(len(service.containers(stopped=True)), 1) + self.dispatch(['restart', '-t', '1'], None) + self.assertEqual(len(service.containers(stopped=False)), 1) + def test_scale(self): project = self.project From e5a02d30524ac83fa0bc27e2697e1d2f69330658 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 10:49:17 -0500 Subject: [PATCH 195/221] Fix extra warnings on masked volumes. Signed-off-by: Daniel Nephin --- compose/service.py | 5 ++++- tests/unit/service_test.py | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/compose/service.py b/compose/service.py index 4f449d150..b79fd9001 100644 --- a/compose/service.py +++ b/compose/service.py @@ -963,7 +963,10 @@ def warn_on_masked_volume(volumes_option, container_volumes, service): for volume in container_volumes) for volume in volumes_option: - if container_volumes.get(volume.internal) != volume.external: + if ( + volume.internal in container_volumes and + container_volumes.get(volume.internal) != volume.external + ): log.warn(( "Service \"{service}\" is using volume \"{volume}\" from the " "previous container. Host mapping \"{host_path}\" has no effect. " diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 0cff98990..808c391cd 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -26,6 +26,8 @@ from compose.service import parse_volume_spec from compose.service import Service from compose.service import ServiceNet from compose.service import VolumeFromSpec +from compose.service import VolumeSpec +from compose.service import warn_on_masked_volume class ServiceTest(unittest.TestCase): @@ -750,6 +752,39 @@ class ServiceVolumesTest(unittest.TestCase): ['/mnt/sda1/host/path:/data:rw'], ) + def test_warn_on_masked_volume_no_warning_when_no_container_volumes(self): + volumes_option = [VolumeSpec('/home/user', '/path', 'rw')] + container_volumes = [] + service = 'service_name' + + with mock.patch('compose.service.log') as mock_log: + warn_on_masked_volume(volumes_option, container_volumes, service) + + assert not mock_log.warn.called + + def test_warn_on_masked_volume_when_masked(self): + volumes_option = [VolumeSpec('/home/user', '/path', 'rw')] + container_volumes = [ + VolumeSpec('/var/lib/docker/path', '/path', 'rw'), + VolumeSpec('/var/lib/docker/path', '/other', 'rw'), + ] + service = 'service_name' + + with mock.patch('compose.service.log') as mock_log: + warn_on_masked_volume(volumes_option, container_volumes, service) + + mock_log.warn.called_once_with(mock.ANY) + + def test_warn_on_masked_no_warning_with_same_path(self): + volumes_option = [VolumeSpec('/home/user', '/path', 'rw')] + container_volumes = [VolumeSpec('/home/user', '/path', 'rw')] + service = 'service_name' + + with mock.patch('compose.service.log') as mock_log: + warn_on_masked_volume(volumes_option, container_volumes, service) + + assert not mock_log.warn.called + def test_create_with_special_volume_mode(self): self.mock_client.inspect_image.return_value = {'Id': 'imageid'} From be5b7b6f0e3b8dd330b93523b7a98e47e8d9a833 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 10 Nov 2015 18:52:21 -0500 Subject: [PATCH 196/221] Handle both SIGINT and SIGTERM for docker-compose up. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 21 +++++++---- tests/acceptance/cli_test.py | 70 +++++++++++++++++++++++++++++------- tests/unit/cli/main_test.py | 8 ++--- 3 files changed, 76 insertions(+), 23 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 806926d84..7b1e0aa35 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -658,17 +658,24 @@ def build_log_printer(containers, service_names, monochrome): def attach_to_logs(project, log_printer, service_names, timeout): print("Attaching to", list_containers(log_printer.containers)) - try: - log_printer.run() - finally: - def handler(signal, frame): - project.kill(service_names=service_names) - sys.exit(0) - signal.signal(signal.SIGINT, handler) + def force_shutdown(signal, frame): + project.kill(service_names=service_names) + sys.exit(2) + + def shutdown(signal, frame): + set_signal_handler(force_shutdown) print("Gracefully stopping... (press Ctrl+C again to force)") project.stop(service_names=service_names, timeout=timeout) + set_signal_handler(shutdown) + log_printer.run() + + +def set_signal_handler(handler): + signal.signal(signal.SIGINT, handler) + signal.signal(signal.SIGTERM, handler) + def list_containers(containers): return ", ".join(c.name for c in containers) diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index 34a2d166e..3fda83291 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -2,7 +2,9 @@ from __future__ import absolute_import import os import shlex +import signal import subprocess +import time from collections import namedtuple from operator import attrgetter @@ -20,6 +22,45 @@ BUILD_CACHE_TEXT = 'Using cache' BUILD_PULL_TEXT = 'Status: Image is up to date for busybox:latest' +def start_process(base_dir, options): + proc = subprocess.Popen( + ['docker-compose'] + options, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + cwd=base_dir) + print("Running process: %s" % proc.pid) + return proc + + +def wait_on_process(proc, returncode=0): + stdout, stderr = proc.communicate() + if proc.returncode != returncode: + print(stderr) + assert proc.returncode == returncode + return ProcessResult(stdout.decode('utf-8'), stderr.decode('utf-8')) + + +def wait_on_condition(condition, delay=0.1, timeout=5): + start_time = time.time() + while not condition(): + if time.time() - start_time > timeout: + raise AssertionError("Timeout: %s" % condition) + time.sleep(delay) + + +class ContainerCountCondition(object): + + def __init__(self, project, expected): + self.project = project + self.expected = expected + + def __call__(self): + return len(self.project.containers()) == self.expected + + def __str__(self): + return "waiting for counter count == %s" % self.expected + + class CLITestCase(DockerClientTestCase): def setUp(self): @@ -42,17 +83,8 @@ class CLITestCase(DockerClientTestCase): def dispatch(self, options, project_options=None, returncode=0): project_options = project_options or [] - proc = subprocess.Popen( - ['docker-compose'] + project_options + options, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - cwd=self.base_dir) - print("Running process: %s" % proc.pid) - stdout, stderr = proc.communicate() - if proc.returncode != returncode: - print(stderr) - assert proc.returncode == returncode - return ProcessResult(stdout.decode('utf-8'), stderr.decode('utf-8')) + proc = start_process(self.base_dir, project_options + options) + return wait_on_process(proc, returncode=returncode) def test_help(self): old_base_dir = self.base_dir @@ -291,7 +323,7 @@ class CLITestCase(DockerClientTestCase): returncode=1) def test_up_with_timeout(self): - self.dispatch(['up', '-d', '-t', '1'], None) + self.dispatch(['up', '-d', '-t', '1']) service = self.project.get_service('simple') another = self.project.get_service('another') self.assertEqual(len(service.containers()), 1) @@ -303,6 +335,20 @@ class CLITestCase(DockerClientTestCase): self.assertFalse(config['AttachStdout']) self.assertFalse(config['AttachStdin']) + def test_up_handles_sigint(self): + proc = start_process(self.base_dir, ['up', '-t', '2']) + wait_on_condition(ContainerCountCondition(self.project, 2)) + + os.kill(proc.pid, signal.SIGINT) + wait_on_condition(ContainerCountCondition(self.project, 0)) + + def test_up_handles_sigterm(self): + proc = start_process(self.base_dir, ['up', '-t', '2']) + wait_on_condition(ContainerCountCondition(self.project, 2)) + + os.kill(proc.pid, signal.SIGTERM) + wait_on_condition(ContainerCountCondition(self.project, 0)) + def test_run_service_without_links(self): self.base_dir = 'tests/fixtures/links-composefile' self.dispatch(['run', 'console', '/bin/true']) diff --git a/tests/unit/cli/main_test.py b/tests/unit/cli/main_test.py index ee837fcd4..db37ac1af 100644 --- a/tests/unit/cli/main_test.py +++ b/tests/unit/cli/main_test.py @@ -57,11 +57,11 @@ class CLIMainTestCase(unittest.TestCase): with mock.patch('compose.cli.main.signal', autospec=True) as mock_signal: attach_to_logs(project, log_printer, service_names, timeout) - mock_signal.signal.assert_called_once_with(mock_signal.SIGINT, mock.ANY) + assert mock_signal.signal.mock_calls == [ + mock.call(mock_signal.SIGINT, mock.ANY), + mock.call(mock_signal.SIGTERM, mock.ANY), + ] log_printer.run.assert_called_once_with() - project.stop.assert_called_once_with( - service_names=service_names, - timeout=timeout) class SetupConsoleHandlerTestCase(unittest.TestCase): From 83760d0e9ee04ace2fa4da2efa13a3a933b62cd2 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 10 Nov 2015 19:43:05 -0500 Subject: [PATCH 197/221] Handle both SIGINT and SIGTERM for docker-compose run. Signed-off-by: Daniel Nephin --- compose/cli/main.py | 99 ++++++++++++++++++++---------------- tests/acceptance/cli_test.py | 47 +++++++++++++++++ 2 files changed, 102 insertions(+), 44 deletions(-) diff --git a/compose/cli/main.py b/compose/cli/main.py index 7b1e0aa35..9fef8d041 100644 --- a/compose/cli/main.py +++ b/compose/cli/main.py @@ -368,7 +368,6 @@ class TopLevelCommand(DocoptCommand): allocates a TTY. """ service = project.get_service(options['SERVICE']) - detach = options['-d'] if IS_WINDOWS_PLATFORM and not detach: @@ -380,22 +379,6 @@ class TopLevelCommand(DocoptCommand): if options['--allow-insecure-ssl']: log.warn(INSECURE_SSL_WARNING) - if not options['--no-deps']: - deps = service.get_linked_service_names() - - if len(deps) > 0: - project.up( - service_names=deps, - start_deps=True, - strategy=ConvergenceStrategy.never, - ) - elif project.use_networking: - project.ensure_network_exists() - - tty = True - if detach or options['-T'] or not sys.stdin.isatty(): - tty = False - if options['COMMAND']: command = [options['COMMAND']] + options['ARGS'] else: @@ -403,7 +386,7 @@ class TopLevelCommand(DocoptCommand): container_options = { 'command': command, - 'tty': tty, + 'tty': not (detach or options['-T'] or not sys.stdin.isatty()), 'stdin_open': not detach, 'detach': detach, } @@ -435,31 +418,7 @@ class TopLevelCommand(DocoptCommand): if options['--name']: container_options['name'] = options['--name'] - try: - container = service.create_container( - quiet=True, - one_off=True, - **container_options - ) - except APIError as e: - legacy.check_for_legacy_containers( - project.client, - project.name, - [service.name], - allow_one_off=False, - ) - - raise e - - if detach: - container.start() - print(container.name) - else: - dockerpty.start(project.client, container.id, interactive=not options['-T']) - exit_code = container.wait() - if options['--rm']: - project.client.remove_container(container.id) - sys.exit(exit_code) + run_one_off_container(container_options, project, service, options) def scale(self, project, options): """ @@ -647,6 +606,58 @@ def convergence_strategy_from_opts(options): return ConvergenceStrategy.changed +def run_one_off_container(container_options, project, service, options): + if not options['--no-deps']: + deps = service.get_linked_service_names() + if deps: + project.up( + service_names=deps, + start_deps=True, + strategy=ConvergenceStrategy.never) + + if project.use_networking: + project.ensure_network_exists() + + try: + container = service.create_container( + quiet=True, + one_off=True, + **container_options) + except APIError: + legacy.check_for_legacy_containers( + project.client, + project.name, + [service.name], + allow_one_off=False) + raise + + if options['-d']: + container.start() + print(container.name) + return + + def remove_container(force=False): + if options['--rm']: + project.client.remove_container(container.id, force=True) + + def force_shutdown(signal, frame): + project.client.kill(container.id) + remove_container(force=True) + sys.exit(2) + + def shutdown(signal, frame): + set_signal_handler(force_shutdown) + project.client.stop(container.id) + remove_container() + sys.exit(1) + + set_signal_handler(shutdown) + dockerpty.start(project.client, container.id, interactive=not options['-T']) + exit_code = container.wait() + remove_container() + sys.exit(exit_code) + + def build_log_printer(containers, service_names, monochrome): if service_names: containers = [ @@ -657,7 +668,6 @@ def build_log_printer(containers, service_names, monochrome): def attach_to_logs(project, log_printer, service_names, timeout): - print("Attaching to", list_containers(log_printer.containers)) def force_shutdown(signal, frame): project.kill(service_names=service_names) @@ -668,6 +678,7 @@ def attach_to_logs(project, log_printer, service_names, timeout): print("Gracefully stopping... (press Ctrl+C again to force)") project.stop(service_names=service_names, timeout=timeout) + print("Attaching to", list_containers(log_printer.containers)) set_signal_handler(shutdown) log_printer.run() diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index 3fda83291..7ca6e8194 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -8,6 +8,8 @@ import time from collections import namedtuple from operator import attrgetter +from docker import errors + from .. import mock from compose.cli.command import get_project from compose.cli.docker_client import docker_client @@ -61,6 +63,25 @@ class ContainerCountCondition(object): return "waiting for counter count == %s" % self.expected +class ContainerStateCondition(object): + + def __init__(self, client, name, running): + self.client = client + self.name = name + self.running = running + + # State.Running == true + def __call__(self): + try: + container = self.client.inspect_container(self.name) + return container['State']['Running'] == self.running + except errors.APIError: + return False + + def __str__(self): + return "waiting for container to have state %s" % self.expected + + class CLITestCase(DockerClientTestCase): def setUp(self): @@ -554,6 +575,32 @@ class CLITestCase(DockerClientTestCase): self.assertEqual(len(networks), 1) self.assertEqual(container.human_readable_command, u'true') + def test_run_handles_sigint(self): + proc = start_process(self.base_dir, ['run', '-T', 'simple', 'top']) + wait_on_condition(ContainerStateCondition( + self.project.client, + 'simplecomposefile_simple_run_1', + running=True)) + + os.kill(proc.pid, signal.SIGINT) + wait_on_condition(ContainerStateCondition( + self.project.client, + 'simplecomposefile_simple_run_1', + running=False)) + + def test_run_handles_sigterm(self): + proc = start_process(self.base_dir, ['run', '-T', 'simple', 'top']) + wait_on_condition(ContainerStateCondition( + self.project.client, + 'simplecomposefile_simple_run_1', + running=True)) + + os.kill(proc.pid, signal.SIGTERM) + wait_on_condition(ContainerStateCondition( + self.project.client, + 'simplecomposefile_simple_run_1', + running=False)) + def test_rm(self): service = self.project.get_service('simple') service.create_container() From 8fb6fb7b19467e20189c710ebd7b65ec071d7adc Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 18 Nov 2015 14:51:01 -0500 Subject: [PATCH 198/221] Fix env_file and environment when used with extends. Signed-off-by: Daniel Nephin --- compose/config/config.py | 22 +++++++-------- tests/integration/testcases.py | 3 +- tests/unit/config/config_test.py | 48 ++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 13 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 201266208..fa214767b 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -257,16 +257,11 @@ class ServiceExtendsResolver(object): def run(self): self.detect_cycle() - service_dict = dict(self.service_config.config) - env = resolve_environment(self.working_dir, self.service_config.config) - if env: - service_dict['environment'] = env - service_dict.pop('env_file', None) - - if 'extends' in service_dict: + if 'extends' in self.service_config.config: service_dict = self.resolve_extends(*self.validate_and_construct_extends()) + return self.service_config._replace(config=service_dict) - return self.service_config._replace(config=service_dict) + return self.service_config def validate_and_construct_extends(self): extends = self.service_config.config['extends'] @@ -316,16 +311,15 @@ class ServiceExtendsResolver(object): return filename -def resolve_environment(working_dir, service_dict): +def resolve_environment(service_config): """Unpack any environment variables from an env_file, if set. Interpolate environment values if set. """ - if 'environment' not in service_dict and 'env_file' not in service_dict: - return {} + service_dict = service_config.config env = {} if 'env_file' in service_dict: - for env_file in get_env_files(working_dir, service_dict): + for env_file in get_env_files(service_config.working_dir, service_dict): env.update(env_vars_from_file(env_file)) env.update(parse_environment(service_dict.get('environment'))) @@ -362,6 +356,10 @@ def process_service(service_config): working_dir = service_config.working_dir service_dict = dict(service_config.config) + if 'environment' in service_dict or 'env_file' in service_dict: + service_dict['environment'] = resolve_environment(service_config) + service_dict.pop('env_file', None) + if 'volumes' in service_dict and service_dict.get('volume_driver') is None: service_dict['volumes'] = resolve_volume_paths(working_dir, service_dict) diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index d63f05916..de2d1a701 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -46,7 +46,8 @@ class DockerClientTestCase(unittest.TestCase): service_config = ServiceConfig('.', None, name, kwargs) options = process_service(service_config) - options['environment'] = resolve_environment('.', kwargs) + options['environment'] = resolve_environment( + service_config._replace(config=options)) labels = options.setdefault('labels', {}) labels['com.docker.compose.test-name'] = self.id() diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 3038af80d..c69e34306 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -1317,6 +1317,54 @@ class ExtendsTest(unittest.TestCase): }, ])) + def test_extends_with_environment_and_env_files(self): + tmpdir = py.test.ensuretemp('test_extends_with_environment') + self.addCleanup(tmpdir.remove) + commondir = tmpdir.mkdir('common') + commondir.join('base.yml').write(""" + app: + image: 'example/app' + env_file: + - 'envs' + environment: + - SECRET + """) + tmpdir.join('docker-compose.yml').write(""" + ext: + extends: + file: common/base.yml + service: app + env_file: + - 'envs' + environment: + - THING + """) + commondir.join('envs').write(""" + COMMON_ENV_FILE=1 + """) + tmpdir.join('envs').write(""" + FROM_ENV_FILE=1 + """) + + expected = [ + { + 'name': 'ext', + 'image': 'example/app', + 'environment': { + 'SECRET': 'secret', + 'FROM_ENV_FILE': '1', + 'COMMON_ENV_FILE': '1', + 'THING': 'thing', + }, + }, + ] + with mock.patch.dict(os.environ): + os.environ['SECRET'] = 'secret' + os.environ['THING'] = 'thing' + config = load_from_filename(str(tmpdir.join('docker-compose.yml'))) + + assert config == expected + @pytest.mark.xfail(IS_WINDOWS_PLATFORM, reason='paths use slash') class ExpandPathTest(unittest.TestCase): From 9ce402495160c126ea0ec43c24b2c2f03ca56f2f Mon Sep 17 00:00:00 2001 From: Brandon Burton Date: Fri, 20 Nov 2015 16:02:37 -0800 Subject: [PATCH 199/221] Fixing matrix include so `os: linux` goes to trusty Signed-off-by: Brandon Burton --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3310e2ad9..3bb365a14 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,16 +2,14 @@ sudo: required language: python -services: - - docker - matrix: include: - os: linux + services: + - docker - os: osx language: generic - install: ./script/travis/install script: From 210a14cf28fa5e537cf81ffd23d5a29f86a1e298 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 19 Nov 2015 12:55:03 -0500 Subject: [PATCH 200/221] Add note about required pip version. Signed-off-by: Daniel Nephin --- docs/install.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/install.md b/docs/install.md index f8c9db638..5bbd6e595 100644 --- a/docs/install.md +++ b/docs/install.md @@ -70,6 +70,7 @@ to get started. $ pip install docker-compose +> **Note:** pip version 6.0 or greater is required ### Install as a container From 844e2c3d268e2af8cdce556b1b53f8658c6e4881 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 19 Nov 2015 14:52:50 -0500 Subject: [PATCH 201/221] Fix use case link in readme. Signed-off-by: Daniel Nephin --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c967aebc..b8a3f4659 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ see [the list of features](docs/index.md#features). Compose is great for development, testing, and staging environments, as well as CI workflows. You can learn more about each case in -[Common Use Cases](#common-use-cases). +[Common Use Cases](docs/index.md#common-use-cases). Using Compose is basically a three-step process. From a264470cc05bd76fee567294e8801dfe7dadcdcf Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 20 Nov 2015 17:51:36 -0500 Subject: [PATCH 202/221] Make sure we always have the latest busybox image, so that build --pull tests don't flake. Signed-off-by: Daniel Nephin --- tests/acceptance/cli_test.py | 5 +++++ tests/integration/testcases.py | 6 +----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index 7ca6e8194..88ec45738 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -15,6 +15,7 @@ from compose.cli.command import get_project from compose.cli.docker_client import docker_client from compose.container import Container from tests.integration.testcases import DockerClientTestCase +from tests.integration.testcases import pull_busybox ProcessResult = namedtuple('ProcessResult', 'stdout stderr') @@ -184,6 +185,8 @@ class CLITestCase(DockerClientTestCase): assert BUILD_PULL_TEXT not in result.stdout def test_build_pull(self): + # Make sure we have the latest busybox already + pull_busybox(self.client) self.base_dir = 'tests/fixtures/simple-dockerfile' self.dispatch(['build', 'simple'], None) @@ -192,6 +195,8 @@ class CLITestCase(DockerClientTestCase): assert BUILD_PULL_TEXT in result.stdout def test_build_no_cache_pull(self): + # Make sure we have the latest busybox already + pull_busybox(self.client) self.base_dir = 'tests/fixtures/simple-dockerfile' self.dispatch(['build', 'simple']) diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index de2d1a701..2c5ca9fdd 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -1,7 +1,6 @@ from __future__ import absolute_import from __future__ import unicode_literals -from docker import errors from docker.utils import version_lt from pytest import skip @@ -16,10 +15,7 @@ from compose.service import Service def pull_busybox(client): - try: - client.inspect_image('busybox:latest') - except errors.APIError: - client.pull('busybox:latest', stream=False) + client.pull('busybox:latest', stream=False) class DockerClientTestCase(unittest.TestCase): From 3b6cc7a7bbf6ce79fff98ca43b10778913a059dd Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 24 Nov 2015 10:40:36 -0500 Subject: [PATCH 203/221] Add missing assert and autospec. Signed-off-by: Daniel Nephin --- tests/unit/service_test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 808c391cd..85d1479d5 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -757,7 +757,7 @@ class ServiceVolumesTest(unittest.TestCase): container_volumes = [] service = 'service_name' - with mock.patch('compose.service.log') as mock_log: + with mock.patch('compose.service.log', autospec=True) as mock_log: warn_on_masked_volume(volumes_option, container_volumes, service) assert not mock_log.warn.called @@ -770,17 +770,17 @@ class ServiceVolumesTest(unittest.TestCase): ] service = 'service_name' - with mock.patch('compose.service.log') as mock_log: + with mock.patch('compose.service.log', autospec=True) as mock_log: warn_on_masked_volume(volumes_option, container_volumes, service) - mock_log.warn.called_once_with(mock.ANY) + mock_log.warn.assert_called_once_with(mock.ANY) def test_warn_on_masked_no_warning_with_same_path(self): volumes_option = [VolumeSpec('/home/user', '/path', 'rw')] container_volumes = [VolumeSpec('/home/user', '/path', 'rw')] service = 'service_name' - with mock.patch('compose.service.log') as mock_log: + with mock.patch('compose.service.log', autospec=True) as mock_log: warn_on_masked_volume(volumes_option, container_volumes, service) assert not mock_log.warn.called From bea2072b95a2fe679c2d33a2d6c6672dacc4a52f Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 12 Nov 2015 17:29:58 -0500 Subject: [PATCH 204/221] Add the git sha to version output Signed-off-by: Daniel Nephin --- .gitignore | 1 + Dockerfile.run | 2 +- MANIFEST.in | 1 + compose/cli/command.py | 4 ++-- compose/cli/utils.py | 39 +++++++++++++++++++++++++++---------- docker-compose.spec | 24 ++++++++++++++++++----- script/build-image | 1 + script/build-linux | 1 + script/build-linux-inner | 1 + script/build-osx | 1 + script/build-windows.ps1 | 2 ++ script/release/push-release | 1 + script/write-git-sha | 7 +++++++ 13 files changed, 67 insertions(+), 18 deletions(-) create mode 100755 script/write-git-sha diff --git a/.gitignore b/.gitignore index 83a08a0e6..da7282797 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /docs/_site /venv README.rst +compose/GITSHA diff --git a/Dockerfile.run b/Dockerfile.run index 9f3745fef..792077ad7 100644 --- a/Dockerfile.run +++ b/Dockerfile.run @@ -8,6 +8,6 @@ COPY requirements.txt /code/requirements.txt RUN pip install -r /code/requirements.txt ADD dist/docker-compose-release.tar.gz /code/docker-compose -RUN pip install /code/docker-compose/docker-compose-* +RUN pip install --no-deps /code/docker-compose/docker-compose-* ENTRYPOINT ["/usr/bin/docker-compose"] diff --git a/MANIFEST.in b/MANIFEST.in index 0342e35be..8c6f932ba 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -7,6 +7,7 @@ include *.md exclude README.md include README.rst include compose/config/*.json +include compose/GITSHA recursive-include contrib/completion * recursive-include tests * global-exclude *.pyc diff --git a/compose/cli/command.py b/compose/cli/command.py index 525217ee7..6094b5305 100644 --- a/compose/cli/command.py +++ b/compose/cli/command.py @@ -12,12 +12,12 @@ from requests.exceptions import SSLError from . import errors from . import verbose_proxy -from .. import __version__ from .. import config from ..project import Project from ..service import ConfigError from .docker_client import docker_client from .utils import call_silently +from .utils import get_version_info from .utils import is_mac from .utils import is_ubuntu @@ -71,7 +71,7 @@ def get_client(verbose=False, version=None): client = docker_client(version=version) if verbose: version_info = six.iteritems(client.version()) - log.info("Compose version %s", __version__) + log.info(get_version_info('full')) log.info("Docker base_url: %s", client.base_url) log.info("Docker version: %s", ", ".join("%s=%s" % item for item in version_info)) diff --git a/compose/cli/utils.py b/compose/cli/utils.py index 07510e2f3..dd859edc4 100644 --- a/compose/cli/utils.py +++ b/compose/cli/utils.py @@ -7,10 +7,10 @@ import platform import ssl import subprocess -from docker import version as docker_py_version +import docker from six.moves import input -from .. import __version__ +import compose def yesno(prompt, default=None): @@ -57,13 +57,32 @@ def is_ubuntu(): def get_version_info(scope): - versioninfo = 'docker-compose version: %s' % __version__ + versioninfo = 'docker-compose version {}, build {}'.format( + compose.__version__, + get_build_version()) + if scope == 'compose': return versioninfo - elif scope == 'full': - return versioninfo + '\n' \ - + "docker-py version: %s\n" % docker_py_version \ - + "%s version: %s\n" % (platform.python_implementation(), platform.python_version()) \ - + "OpenSSL version: %s" % ssl.OPENSSL_VERSION - else: - raise RuntimeError('passed unallowed value to `cli.utils.get_version_info`') + if scope == 'full': + return ( + "{}\n" + "docker-py version: {}\n" + "{} version: {}\n" + "OpenSSL version: {}" + ).format( + versioninfo, + docker.version, + platform.python_implementation(), + platform.python_version(), + ssl.OPENSSL_VERSION) + + raise ValueError("{} is not a valid version scope".format(scope)) + + +def get_build_version(): + filename = os.path.join(os.path.dirname(compose.__file__), 'GITSHA') + if not os.path.exists(filename): + return 'unknown' + + with open(filename) as fh: + return fh.read().strip() diff --git a/docker-compose.spec b/docker-compose.spec index 678fc1323..24d03e05b 100644 --- a/docker-compose.spec +++ b/docker-compose.spec @@ -9,18 +9,32 @@ a = Analysis(['bin/docker-compose'], runtime_hooks=None, cipher=block_cipher) -pyz = PYZ(a.pure, - cipher=block_cipher) +pyz = PYZ(a.pure, cipher=block_cipher) exe = EXE(pyz, a.scripts, a.binaries, a.zipfiles, a.datas, - [('compose/config/fields_schema.json', 'compose/config/fields_schema.json', 'DATA')], - [('compose/config/service_schema.json', 'compose/config/service_schema.json', 'DATA')], + [ + ( + 'compose/config/fields_schema.json', + 'compose/config/fields_schema.json', + 'DATA' + ), + ( + 'compose/config/service_schema.json', + 'compose/config/service_schema.json', + 'DATA' + ), + ( + 'compose/GITSHA', + 'compose/GITSHA', + 'DATA' + ) + ], name='docker-compose', debug=False, strip=None, upx=True, - console=True ) + console=True) diff --git a/script/build-image b/script/build-image index 3ac9729b4..897335054 100755 --- a/script/build-image +++ b/script/build-image @@ -10,6 +10,7 @@ fi TAG=$1 VERSION="$(python setup.py --version)" +./script/write-git-sha python setup.py sdist cp dist/docker-compose-$VERSION.tar.gz dist/docker-compose-release.tar.gz docker build -t docker/compose:$TAG -f Dockerfile.run . diff --git a/script/build-linux b/script/build-linux index ade18bc53..47fb45e17 100755 --- a/script/build-linux +++ b/script/build-linux @@ -9,4 +9,5 @@ docker build -t "$TAG" . | tail -n 200 docker run \ --rm --entrypoint="script/build-linux-inner" \ -v $(pwd)/dist:/code/dist \ + -v $(pwd)/.git:/code/.git \ "$TAG" diff --git a/script/build-linux-inner b/script/build-linux-inner index 47d5eb2e7..9bf7c95d9 100755 --- a/script/build-linux-inner +++ b/script/build-linux-inner @@ -9,6 +9,7 @@ mkdir -p `pwd`/dist chmod 777 `pwd`/dist $VENV/bin/pip install -q -r requirements-build.txt +./script/write-git-sha su -c "$VENV/bin/pyinstaller docker-compose.spec" user mv dist/docker-compose $TARGET $TARGET version diff --git a/script/build-osx b/script/build-osx index 042964e4b..168fd4309 100755 --- a/script/build-osx +++ b/script/build-osx @@ -9,6 +9,7 @@ virtualenv -p /usr/local/bin/python venv venv/bin/pip install -r requirements.txt venv/bin/pip install -r requirements-build.txt venv/bin/pip install --no-deps . +./script/write-git-sha venv/bin/pyinstaller docker-compose.spec mv dist/docker-compose dist/docker-compose-Darwin-x86_64 dist/docker-compose-Darwin-x86_64 version diff --git a/script/build-windows.ps1 b/script/build-windows.ps1 index 42a4a501c..28011b1db 100644 --- a/script/build-windows.ps1 +++ b/script/build-windows.ps1 @@ -47,6 +47,8 @@ virtualenv .\venv .\venv\Scripts\pip install --no-deps . .\venv\Scripts\pip install --allow-external pyinstaller -r requirements-build.txt +git rev-parse --short HEAD | out-file -encoding ASCII compose\GITSHA + # Build binary # pyinstaller has lots of warnings, so we need to run with ErrorAction = Continue $ErrorActionPreference = "Continue" diff --git a/script/release/push-release b/script/release/push-release index ccdf24960..b754d40f0 100755 --- a/script/release/push-release +++ b/script/release/push-release @@ -57,6 +57,7 @@ docker push docker/compose:$VERSION echo "Uploading sdist to pypi" pandoc -f markdown -t rst README.md -o README.rst sed -i -e 's/logo.png?raw=true/https:\/\/github.com\/docker\/compose\/raw\/master\/logo.png?raw=true/' README.rst +./script/write-git-sha python setup.py sdist if [ "$(command -v twine 2> /dev/null)" ]; then twine upload ./dist/docker-compose-${VERSION}.tar.gz diff --git a/script/write-git-sha b/script/write-git-sha new file mode 100755 index 000000000..d16743c6f --- /dev/null +++ b/script/write-git-sha @@ -0,0 +1,7 @@ +#!/bin/bash +# +# Write the current commit sha to the file GITSHA. This file is included in +# packaging so that `docker-compose version` can include the git sha. +# +set -e +git rev-parse --short HEAD > compose/GITSHA From 7e21b05f057911c11c447a463e5ab3e392a16640 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 17:39:02 -0500 Subject: [PATCH 205/221] Remove project name validation project name is already normalized to a valid name before creating a service. Signed-off-by: Daniel Nephin --- compose/service.py | 4 ---- tests/unit/service_test.py | 5 ----- 2 files changed, 9 deletions(-) diff --git a/compose/service.py b/compose/service.py index b79fd9001..6fe0058fb 100644 --- a/compose/service.py +++ b/compose/service.py @@ -18,7 +18,6 @@ from docker.utils.ports import split_port from . import __version__ from .config import DOCKER_CONFIG_KEYS from .config import merge_environment -from .config.validation import VALID_NAME_CHARS from .const import DEFAULT_TIMEOUT from .const import IS_WINDOWS_PLATFORM from .const import LABEL_CONFIG_HASH @@ -119,9 +118,6 @@ class Service(object): net=None, **options ): - if not re.match('^%s+$' % VALID_NAME_CHARS, project): - raise ConfigError('Invalid project name "%s" - only %s are allowed' % (project, VALID_NAME_CHARS)) - self.name = name self.client = client self.project = project diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 85d1479d5..98da5f186 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -35,11 +35,6 @@ class ServiceTest(unittest.TestCase): def setUp(self): self.mock_client = mock.create_autospec(docker.Client) - def test_project_validation(self): - self.assertRaises(ConfigError, lambda: Service(name='foo', project='>', image='foo')) - - Service(name='foo', project='bar.bar__', image='foo') - def test_containers(self): service = Service('db', self.mock_client, 'myproject', image='foo') self.mock_client.containers.return_value = [] From e549875e896ac49f203463f5a2997b2b0297e00e Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 18:20:09 -0500 Subject: [PATCH 206/221] Move parsing of volumes_from to the last step of config parsing. Includes creating a new compose.config.types module for all the domain objects. Signed-off-by: Daniel Nephin --- compose/config/config.py | 19 +++++++++++++++++++ compose/config/types.py | 28 ++++++++++++++++++++++++++++ compose/project.py | 18 ++++++------------ compose/service.py | 19 +------------------ tests/integration/project_test.py | 2 +- tests/integration/service_test.py | 2 +- tests/unit/project_test.py | 23 +++++++++++++---------- tests/unit/service_test.py | 1 + tests/unit/sort_service_test.py | 7 ++++--- 9 files changed, 74 insertions(+), 45 deletions(-) create mode 100644 compose/config/types.py diff --git a/compose/config/config.py b/compose/config/config.py index fa214767b..b21e639ff 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -1,3 +1,5 @@ +from __future__ import absolute_import + import codecs import logging import os @@ -11,6 +13,7 @@ from .errors import CircularReference from .errors import ComposeFileNotFound from .errors import ConfigurationError from .interpolation import interpolate_environment_variables +from .types import VolumeFromSpec from .validation import validate_against_fields_schema from .validation import validate_against_service_schema from .validation import validate_extends_file_path @@ -197,8 +200,12 @@ def load(config_details): service_dict) resolver = ServiceExtendsResolver(service_config) service_dict = process_service(resolver.run()) + + # TODO: move to validate_service() validate_against_service_schema(service_dict, service_config.name) validate_paths(service_dict) + + service_dict = finalize_service(service_config._replace(config=service_dict)) service_dict['name'] = service_config.name return service_dict @@ -352,6 +359,7 @@ def validate_ulimits(ulimit_config): "than 'hard' value".format(ulimit_config)) +# TODO: rename to normalize_service def process_service(service_config): working_dir = service_config.working_dir service_dict = dict(service_config.config) @@ -369,12 +377,23 @@ def process_service(service_config): if 'labels' in service_dict: service_dict['labels'] = parse_labels(service_dict['labels']) + # TODO: move to a validate_service() if 'ulimits' in service_dict: validate_ulimits(service_dict['ulimits']) return service_dict +def finalize_service(service_config): + service_dict = dict(service_config.config) + + if 'volumes_from' in service_dict: + service_dict['volumes_from'] = [ + VolumeFromSpec.parse(vf) for vf in service_dict['volumes_from']] + + return service_dict + + def merge_service_dicts_from_files(base, override): """When merging services from multiple files we need to merge the `extends` field. This is not handled by `merge_service_dicts()` which is used to diff --git a/compose/config/types.py b/compose/config/types.py new file mode 100644 index 000000000..73bfd4184 --- /dev/null +++ b/compose/config/types.py @@ -0,0 +1,28 @@ +""" +Types for objects parsed from the configuration. +""" +from __future__ import absolute_import +from __future__ import unicode_literals + +from collections import namedtuple + +from compose.config.errors import ConfigurationError + + +class VolumeFromSpec(namedtuple('_VolumeFromSpec', 'source mode')): + + @classmethod + def parse(cls, volume_from_config): + parts = volume_from_config.split(':') + if len(parts) > 2: + raise ConfigurationError( + "volume_from {} has incorrect format, should be " + "service[:mode]".format(volume_from_config)) + + if len(parts) == 1: + source = parts[0] + mode = 'rw' + else: + source, mode = parts + + return cls(source, mode) diff --git a/compose/project.py b/compose/project.py index 41af86261..69f084752 100644 --- a/compose/project.py +++ b/compose/project.py @@ -18,10 +18,8 @@ from .legacy import check_for_legacy_containers from .service import ContainerNet from .service import ConvergenceStrategy from .service import Net -from .service import parse_volume_from_spec from .service import Service from .service import ServiceNet -from .service import VolumeFromSpec from .utils import parallel_execute @@ -38,10 +36,7 @@ def sort_service_dicts(services): return [link.split(':')[0] for link in links] def get_service_names_from_volumes_from(volumes_from): - return [ - parse_volume_from_spec(volume_from).source - for volume_from in volumes_from - ] + return [volume_from.source for volume_from in volumes_from] def get_service_dependents(service_dict, services): name = service_dict['name'] @@ -192,16 +187,15 @@ class Project(object): def get_volumes_from(self, service_dict): volumes_from = [] if 'volumes_from' in service_dict: - for volume_from_config in service_dict.get('volumes_from', []): - volume_from_spec = parse_volume_from_spec(volume_from_config) + for volume_from_spec in service_dict.get('volumes_from', []): # Get service try: - service_name = self.get_service(volume_from_spec.source) - volume_from_spec = VolumeFromSpec(service_name, volume_from_spec.mode) + service = self.get_service(volume_from_spec.source) + volume_from_spec = volume_from_spec._replace(source=service) except NoSuchService: try: - container_name = Container.from_id(self.client, volume_from_spec.source) - volume_from_spec = VolumeFromSpec(container_name, volume_from_spec.mode) + container = Container.from_id(self.client, volume_from_spec.source) + volume_from_spec = volume_from_spec._replace(source=container) except APIError: raise ConfigurationError( 'Service "%s" mounts volumes from "%s", which is ' diff --git a/compose/service.py b/compose/service.py index 6fe0058fb..3d4103777 100644 --- a/compose/service.py +++ b/compose/service.py @@ -67,6 +67,7 @@ class BuildError(Exception): self.reason = reason +# TODO: remove class ConfigError(ValueError): pass @@ -83,9 +84,6 @@ class NoSuchImageError(Exception): VolumeSpec = namedtuple('VolumeSpec', 'external internal mode') -VolumeFromSpec = namedtuple('VolumeFromSpec', 'source mode') - - ServiceName = namedtuple('ServiceName', 'project service number') @@ -1044,21 +1042,6 @@ def build_volume_from(volume_from_spec): return ["{}:{}".format(volume_from_spec.source.id, volume_from_spec.mode)] -def parse_volume_from_spec(volume_from_config): - parts = volume_from_config.split(':') - if len(parts) > 2: - raise ConfigError("Volume %s has incorrect format, should be " - "external:internal[:mode]" % volume_from_config) - - if len(parts) == 1: - source = parts[0] - mode = 'rw' - else: - source, mode = parts - - return VolumeFromSpec(source, mode) - - # Labels diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index 2ce319005..d65d7ef0c 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -3,12 +3,12 @@ from __future__ import unicode_literals from .testcases import DockerClientTestCase from compose.cli.docker_client import docker_client from compose.config import config +from compose.config.types import VolumeFromSpec from compose.const import LABEL_PROJECT from compose.container import Container from compose.project import Project from compose.service import ConvergenceStrategy from compose.service import Net -from compose.service import VolumeFromSpec def build_service_dicts(service_config): diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index aaa4f01ec..7fbaae8c6 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -14,6 +14,7 @@ from .. import mock from .testcases import DockerClientTestCase from .testcases import pull_busybox from compose import __version__ +from compose.config.types import VolumeFromSpec from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_CONTAINER_NUMBER from compose.const import LABEL_ONE_OFF @@ -27,7 +28,6 @@ from compose.service import ConvergencePlan from compose.service import ConvergenceStrategy from compose.service import Net from compose.service import Service -from compose.service import VolumeFromSpec def create_and_start_container(service, **override_options): diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index b38f5c783..f8178ed8b 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -4,6 +4,7 @@ import docker from .. import mock from .. import unittest +from compose.config.types import VolumeFromSpec from compose.const import LABEL_SERVICE from compose.container import Container from compose.project import Project @@ -43,7 +44,7 @@ class ProjectTest(unittest.TestCase): { 'name': 'db', 'image': 'busybox:latest', - 'volumes_from': ['volume'] + 'volumes_from': [VolumeFromSpec('volume', 'ro')] }, { 'name': 'volume', @@ -167,7 +168,7 @@ class ProjectTest(unittest.TestCase): { 'name': 'test', 'image': 'busybox:latest', - 'volumes_from': ['aaa'] + 'volumes_from': [VolumeFromSpec('aaa', 'rw')] } ], self.mock_client) self.assertEqual(project.get_service('test')._get_volumes_from(), [container_id + ":rw"]) @@ -190,17 +191,13 @@ class ProjectTest(unittest.TestCase): { 'name': 'test', 'image': 'busybox:latest', - 'volumes_from': ['vol'] + 'volumes_from': [VolumeFromSpec('vol', 'rw')] } ], self.mock_client) self.assertEqual(project.get_service('test')._get_volumes_from(), [container_name + ":rw"]) - @mock.patch.object(Service, 'containers') - def test_use_volumes_from_service_container(self, mock_return): + def test_use_volumes_from_service_container(self): container_ids = ['aabbccddee', '12345'] - mock_return.return_value = [ - mock.Mock(id=container_id, spec=Container) - for container_id in container_ids] project = Project.from_dicts('test', [ { @@ -210,10 +207,16 @@ class ProjectTest(unittest.TestCase): { 'name': 'test', 'image': 'busybox:latest', - 'volumes_from': ['vol'] + 'volumes_from': [VolumeFromSpec('vol', 'rw')] } ], None) - self.assertEqual(project.get_service('test')._get_volumes_from(), [container_ids[0] + ':rw']) + with mock.patch.object(Service, 'containers') as mock_return: + mock_return.return_value = [ + mock.Mock(id=container_id, spec=Container) + for container_id in container_ids] + self.assertEqual( + project.get_service('test')._get_volumes_from(), + [container_ids[0] + ':rw']) def test_net_unset(self): project = Project.from_dicts('test', [ diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 98da5f186..83dd61589 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -6,6 +6,7 @@ import pytest from .. import mock from .. import unittest +from compose.config.types import VolumeFromSpec from compose.const import IS_WINDOWS_PLATFORM from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_ONE_OFF diff --git a/tests/unit/sort_service_test.py b/tests/unit/sort_service_test.py index a7e522a1d..ef0882877 100644 --- a/tests/unit/sort_service_test.py +++ b/tests/unit/sort_service_test.py @@ -1,4 +1,5 @@ from .. import unittest +from compose.config.types import VolumeFromSpec from compose.project import DependencyError from compose.project import sort_service_dicts @@ -73,7 +74,7 @@ class SortServiceTest(unittest.TestCase): }, { 'name': 'parent', - 'volumes_from': ['child'] + 'volumes_from': [VolumeFromSpec('child', 'rw')] }, { 'links': ['parent'], @@ -116,7 +117,7 @@ class SortServiceTest(unittest.TestCase): }, { 'name': 'parent', - 'volumes_from': ['child'] + 'volumes_from': [VolumeFromSpec('child', 'ro')] }, { 'name': 'child' @@ -141,7 +142,7 @@ class SortServiceTest(unittest.TestCase): }, { 'name': 'two', - 'volumes_from': ['one'] + 'volumes_from': [VolumeFromSpec('one', 'rw')] }, { 'name': 'one' From b19315b57ea4bd3b4594ca4b5c8abf9d18a3d8a0 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 18:29:25 -0500 Subject: [PATCH 207/221] Move restart spec to the config.types module. Signed-off-by: Daniel Nephin --- compose/config/config.py | 4 ++++ compose/config/types.py | 17 +++++++++++++++++ compose/service.py | 22 +--------------------- tests/integration/service_test.py | 24 ++++++------------------ tests/unit/cli_test.py | 2 +- 5 files changed, 29 insertions(+), 40 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index b21e639ff..8b36c6806 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -13,6 +13,7 @@ from .errors import CircularReference from .errors import ComposeFileNotFound from .errors import ConfigurationError from .interpolation import interpolate_environment_variables +from .types import parse_restart_spec from .types import VolumeFromSpec from .validation import validate_against_fields_schema from .validation import validate_against_service_schema @@ -391,6 +392,9 @@ def finalize_service(service_config): service_dict['volumes_from'] = [ VolumeFromSpec.parse(vf) for vf in service_dict['volumes_from']] + if 'restart' in service_dict: + service_dict['restart'] = parse_restart_spec(service_dict['restart']) + return service_dict diff --git a/compose/config/types.py b/compose/config/types.py index 73bfd4184..0ab53c825 100644 --- a/compose/config/types.py +++ b/compose/config/types.py @@ -26,3 +26,20 @@ class VolumeFromSpec(namedtuple('_VolumeFromSpec', 'source mode')): source, mode = parts return cls(source, mode) + + +def parse_restart_spec(restart_config): + if not restart_config: + return None + parts = restart_config.split(':') + if len(parts) > 2: + raise ConfigurationError( + "Restart %s has incorrect format, should be " + "mode[:max_retry]" % restart_config) + if len(parts) == 2: + name, max_retry_count = parts + else: + name, = parts + max_retry_count = 0 + + return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} diff --git a/compose/service.py b/compose/service.py index 3d4103777..85b6004bc 100644 --- a/compose/service.py +++ b/compose/service.py @@ -663,8 +663,6 @@ class Service(object): if isinstance(dns_search, six.string_types): dns_search = [dns_search] - restart = parse_restart_spec(options.get('restart', None)) - extra_hosts = build_extra_hosts(options.get('extra_hosts', None)) read_only = options.get('read_only', None) @@ -682,7 +680,7 @@ class Service(object): devices=devices, dns=dns, dns_search=dns_search, - restart_policy=restart, + restart_policy=options.get('restart'), cap_add=cap_add, cap_drop=cap_drop, mem_limit=options.get('mem_limit'), @@ -1058,24 +1056,6 @@ def build_container_labels(label_options, service_labels, number, config_hash): return labels -# Restart policy - - -def parse_restart_spec(restart_config): - if not restart_config: - return None - parts = restart_config.split(':') - if len(parts) > 2: - raise ConfigError("Restart %s has incorrect format, should be " - "mode[:max_retry]" % restart_config) - if len(parts) == 2: - name, max_retry_count = parts - else: - name, = parts - max_retry_count = 0 - - return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} - # Ulimits diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 7fbaae8c6..87744ad56 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -779,23 +779,21 @@ class ServiceTest(DockerClientTestCase): container = create_and_start_container(service) self.assertIsNone(container.get('HostConfig.Dns')) - def test_dns_single_value(self): - service = self.create_service('web', dns='8.8.8.8') - container = create_and_start_container(service) - self.assertEqual(container.get('HostConfig.Dns'), ['8.8.8.8']) - def test_dns_list(self): service = self.create_service('web', dns=['8.8.8.8', '9.9.9.9']) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.Dns'), ['8.8.8.8', '9.9.9.9']) def test_restart_always_value(self): - service = self.create_service('web', restart='always') + service = self.create_service('web', restart={'Name': 'always'}) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.RestartPolicy.Name'), 'always') def test_restart_on_failure_value(self): - service = self.create_service('web', restart='on-failure:5') + service = self.create_service('web', restart={ + 'Name': 'on-failure', + 'MaximumRetryCount': 5 + }) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.RestartPolicy.Name'), 'on-failure') self.assertEqual(container.get('HostConfig.RestartPolicy.MaximumRetryCount'), 5) @@ -810,17 +808,7 @@ class ServiceTest(DockerClientTestCase): container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.CapDrop'), ['SYS_ADMIN', 'NET_ADMIN']) - def test_dns_search_no_value(self): - service = self.create_service('web') - container = create_and_start_container(service) - self.assertIsNone(container.get('HostConfig.DnsSearch')) - - def test_dns_search_single_value(self): - service = self.create_service('web', dns_search='example.com') - container = create_and_start_container(service) - self.assertEqual(container.get('HostConfig.DnsSearch'), ['example.com']) - - def test_dns_search_list(self): + def test_dns_search(self): service = self.create_service('web', dns_search=['dc1.example.com', 'dc2.example.com']) container = create_and_start_container(service) self.assertEqual(container.get('HostConfig.DnsSearch'), ['dc1.example.com', 'dc2.example.com']) diff --git a/tests/unit/cli_test.py b/tests/unit/cli_test.py index 5b63d2e84..23dc42629 100644 --- a/tests/unit/cli_test.py +++ b/tests/unit/cli_test.py @@ -124,7 +124,7 @@ class CLITestCase(unittest.TestCase): mock_project.get_service.return_value = Service( 'service', client=mock_client, - restart='always', + restart={'Name': 'always', 'MaximumRetryCount': 0}, image='someimage') command.run(mock_project, { 'SERVICE': 'service', From 5d39813e1bbf3b25f60c1e230d2493d5b3b5be37 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 18:58:24 -0500 Subject: [PATCH 208/221] Fixes #2008 - re-use list_or_dict schema for all the types At the same time, moves extra_hosts validation to the config module. Signed-off-by: Daniel Nephin --- compose/config/config.py | 4 ++++ compose/config/fields_schema.json | 31 +++++++++++--------------- compose/config/types.py | 16 ++++++++++++++ compose/config/validation.py | 4 ++-- compose/service.py | 36 +++---------------------------- tests/integration/service_test.py | 33 ---------------------------- tests/unit/config/config_test.py | 25 ++++++++++++++++++++- tests/unit/config/types_test.py | 29 +++++++++++++++++++++++++ 8 files changed, 90 insertions(+), 88 deletions(-) create mode 100644 tests/unit/config/types_test.py diff --git a/compose/config/config.py b/compose/config/config.py index 8b36c6806..893784f86 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -13,6 +13,7 @@ from .errors import CircularReference from .errors import ComposeFileNotFound from .errors import ConfigurationError from .interpolation import interpolate_environment_variables +from .types import parse_extra_hosts from .types import parse_restart_spec from .types import VolumeFromSpec from .validation import validate_against_fields_schema @@ -378,6 +379,9 @@ def process_service(service_config): if 'labels' in service_dict: service_dict['labels'] = parse_labels(service_dict['labels']) + if 'extra_hosts' in service_dict: + service_dict['extra_hosts'] = parse_extra_hosts(service_dict['extra_hosts']) + # TODO: move to a validate_service() if 'ulimits' in service_dict: validate_ulimits(service_dict['ulimits']) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index ca3b3a502..9cbcfd1b2 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -37,22 +37,7 @@ "domainname": {"type": "string"}, "entrypoint": {"$ref": "#/definitions/string_or_list"}, "env_file": {"$ref": "#/definitions/string_or_list"}, - - "environment": { - "oneOf": [ - { - "type": "object", - "patternProperties": { - ".+": { - "type": ["string", "number", "boolean", "null"], - "format": "environment" - } - }, - "additionalProperties": false - }, - {"type": "array", "items": {"type": "string"}, "uniqueItems": true} - ] - }, + "environment": {"$ref": "#/definitions/list_or_dict"}, "expose": { "type": "array", @@ -165,10 +150,18 @@ "list_or_dict": { "oneOf": [ - {"type": "array", "items": {"type": "string"}, "uniqueItems": true}, - {"type": "object"} + { + "type": "object", + "patternProperties": { + ".+": { + "type": ["string", "number", "boolean", "null"], + "format": "bool-value-in-mapping" + } + }, + "additionalProperties": false + }, + {"type": "array", "items": {"type": "string"}, "uniqueItems": true} ] } - } } diff --git a/compose/config/types.py b/compose/config/types.py index 0ab53c825..b6add0894 100644 --- a/compose/config/types.py +++ b/compose/config/types.py @@ -43,3 +43,19 @@ def parse_restart_spec(restart_config): max_retry_count = 0 return {'Name': name, 'MaximumRetryCount': int(max_retry_count)} + + +def parse_extra_hosts(extra_hosts_config): + if not extra_hosts_config: + return {} + + if isinstance(extra_hosts_config, dict): + return dict(extra_hosts_config) + + if isinstance(extra_hosts_config, list): + extra_hosts_dict = {} + for extra_hosts_line in extra_hosts_config: + # TODO: validate string contains ':' ? + host, ip = extra_hosts_line.split(':') + extra_hosts_dict[host.strip()] = ip.strip() + return extra_hosts_dict diff --git a/compose/config/validation.py b/compose/config/validation.py index 38866b0f4..38020366d 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -49,7 +49,7 @@ def format_ports(instance): return True -@FormatChecker.cls_checks(format="environment") +@FormatChecker.cls_checks(format="bool-value-in-mapping") def format_boolean_in_environment(instance): """ Check if there is a boolean in the environment and display a warning. @@ -273,7 +273,7 @@ def validate_against_fields_schema(config, filename): _validate_against_schema( config, "fields_schema.json", - format_checker=["ports", "environment"], + format_checker=["ports", "bool-value-in-mapping"], filename=filename) diff --git a/compose/service.py b/compose/service.py index 85b6004bc..dd2433646 100644 --- a/compose/service.py +++ b/compose/service.py @@ -655,6 +655,7 @@ class Service(object): pid = options.get('pid', None) security_opt = options.get('security_opt', None) + # TODO: these options are already normalized by config dns = options.get('dns', None) if isinstance(dns, six.string_types): dns = [dns] @@ -663,9 +664,6 @@ class Service(object): if isinstance(dns_search, six.string_types): dns_search = [dns_search] - extra_hosts = build_extra_hosts(options.get('extra_hosts', None)) - read_only = options.get('read_only', None) - devices = options.get('devices', None) cgroup_parent = options.get('cgroup_parent', None) ulimits = build_ulimits(options.get('ulimits', None)) @@ -687,8 +685,8 @@ class Service(object): memswap_limit=options.get('memswap_limit'), ulimits=ulimits, log_config=log_config, - extra_hosts=extra_hosts, - read_only=read_only, + extra_hosts=options.get('extra_hosts'), + read_only=options.get('read_only'), pid_mode=pid, security_opt=security_opt, ipc_mode=options.get('ipc'), @@ -1072,31 +1070,3 @@ def build_ulimits(ulimit_config): ulimits.append(ulimit_dict) return ulimits - - -# Extra hosts - - -def build_extra_hosts(extra_hosts_config): - if not extra_hosts_config: - return {} - - if isinstance(extra_hosts_config, list): - extra_hosts_dict = {} - for extra_hosts_line in extra_hosts_config: - if not isinstance(extra_hosts_line, six.string_types): - raise ConfigError( - "extra_hosts_config \"%s\" must be either a list of strings or a string->string mapping," % - extra_hosts_config - ) - host, ip = extra_hosts_line.split(':') - extra_hosts_dict.update({host.strip(): ip.strip()}) - extra_hosts_config = extra_hosts_dict - - if isinstance(extra_hosts_config, dict): - return extra_hosts_config - - raise ConfigError( - "extra_hosts_config \"%s\" must be either a list of strings or a string->string mapping," % - extra_hosts_config - ) diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 87744ad56..3831e95a5 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -22,8 +22,6 @@ from compose.const import LABEL_PROJECT from compose.const import LABEL_SERVICE from compose.const import LABEL_VERSION from compose.container import Container -from compose.service import build_extra_hosts -from compose.service import ConfigError from compose.service import ConvergencePlan from compose.service import ConvergenceStrategy from compose.service import Net @@ -133,37 +131,6 @@ class ServiceTest(DockerClientTestCase): container.start() self.assertEqual(container.get('HostConfig.CpuShares'), 73) - def test_build_extra_hosts(self): - # string - self.assertRaises(ConfigError, lambda: build_extra_hosts("www.example.com: 192.168.0.17")) - - # list of strings - self.assertEqual(build_extra_hosts( - ["www.example.com:192.168.0.17"]), - {'www.example.com': '192.168.0.17'}) - self.assertEqual(build_extra_hosts( - ["www.example.com: 192.168.0.17"]), - {'www.example.com': '192.168.0.17'}) - self.assertEqual(build_extra_hosts( - ["www.example.com: 192.168.0.17", - "static.example.com:192.168.0.19", - "api.example.com: 192.168.0.18"]), - {'www.example.com': '192.168.0.17', - 'static.example.com': '192.168.0.19', - 'api.example.com': '192.168.0.18'}) - - # list of dictionaries - self.assertRaises(ConfigError, lambda: build_extra_hosts( - [{'www.example.com': '192.168.0.17'}, - {'api.example.com': '192.168.0.18'}])) - - # dictionaries - self.assertEqual(build_extra_hosts( - {'www.example.com': '192.168.0.17', - 'api.example.com': '192.168.0.18'}), - {'www.example.com': '192.168.0.17', - 'api.example.com': '192.168.0.18'}) - def test_create_container_with_extra_hosts_list(self): extra_hosts = ['somehost:162.242.195.82', 'otherhost:50.31.209.229'] service = self.create_service('db', extra_hosts=extra_hosts) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index c69e34306..f923fb370 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -32,7 +32,7 @@ def service_sort(services): return sorted(services, key=itemgetter('name')) -def build_config_details(contents, working_dir, filename): +def build_config_details(contents, working_dir='working_dir', filename='filename.yml'): return config.ConfigDetails( working_dir, [config.ConfigFile(filename, contents)]) @@ -512,6 +512,29 @@ class ConfigTest(unittest.TestCase): assert 'line 3, column 32' in exc.exconly() + def test_validate_extra_hosts_invalid(self): + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details({ + 'web': { + 'image': 'alpine', + 'extra_hosts': "www.example.com: 192.168.0.17", + } + })) + assert "'extra_hosts' contains an invalid type" in exc.exconly() + + def test_validate_extra_hosts_invalid_list(self): + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details({ + 'web': { + 'image': 'alpine', + 'extra_hosts': [ + {'www.example.com': '192.168.0.17'}, + {'api.example.com': '192.168.0.18'} + ], + } + })) + assert "which is an invalid type" in exc.exconly() + class InterpolationTest(unittest.TestCase): @mock.patch.dict(os.environ) diff --git a/tests/unit/config/types_test.py b/tests/unit/config/types_test.py new file mode 100644 index 000000000..25692ca37 --- /dev/null +++ b/tests/unit/config/types_test.py @@ -0,0 +1,29 @@ +from compose.config.types import parse_extra_hosts + + +def test_parse_extra_hosts_list(): + expected = {'www.example.com': '192.168.0.17'} + assert parse_extra_hosts(["www.example.com:192.168.0.17"]) == expected + + expected = {'www.example.com': '192.168.0.17'} + assert parse_extra_hosts(["www.example.com: 192.168.0.17"]) == expected + + assert parse_extra_hosts([ + "www.example.com: 192.168.0.17", + "static.example.com:192.168.0.19", + "api.example.com: 192.168.0.18" + ]) == { + 'www.example.com': '192.168.0.17', + 'static.example.com': '192.168.0.19', + 'api.example.com': '192.168.0.18' + } + + +def test_parse_extra_hosts_dict(): + assert parse_extra_hosts({ + 'www.example.com': '192.168.0.17', + 'api.example.com': '192.168.0.18' + }) == { + 'www.example.com': '192.168.0.17', + 'api.example.com': '192.168.0.18' + } From 8572d5090366811834e9247fac17ade4a3d8a813 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 19:40:10 -0500 Subject: [PATCH 209/221] Move volume parsing to config.types module This removes the last of the old service.ConfigError Signed-off-by: Daniel Nephin --- compose/cli/command.py | 17 ++---- compose/config/config.py | 5 ++ compose/config/types.py | 59 +++++++++++++++++++ compose/service.py | 69 ++--------------------- tests/acceptance/cli_test.py | 2 +- tests/integration/project_test.py | 11 ++-- tests/integration/resilience_test.py | 6 +- tests/integration/service_test.py | 43 ++++++-------- tests/integration/testcases.py | 11 ++-- tests/unit/config/config_test.py | 38 +++++++------ tests/unit/config/types_test.py | 37 ++++++++++++ tests/unit/service_test.py | 84 +++++++--------------------- 12 files changed, 186 insertions(+), 196 deletions(-) diff --git a/compose/cli/command.py b/compose/cli/command.py index 6094b5305..157e00161 100644 --- a/compose/cli/command.py +++ b/compose/cli/command.py @@ -14,7 +14,6 @@ from . import errors from . import verbose_proxy from .. import config from ..project import Project -from ..service import ConfigError from .docker_client import docker_client from .utils import call_silently from .utils import get_version_info @@ -84,16 +83,12 @@ def get_project(base_dir, config_path=None, project_name=None, verbose=False, config_details = config.find(base_dir, config_path) api_version = '1.21' if use_networking else None - try: - return Project.from_dicts( - get_project_name(config_details.working_dir, project_name), - config.load(config_details), - get_client(verbose=verbose, version=api_version), - use_networking=use_networking, - network_driver=network_driver, - ) - except ConfigError as e: - raise errors.UserError(six.text_type(e)) + return Project.from_dicts( + get_project_name(config_details.working_dir, project_name), + config.load(config_details), + get_client(verbose=verbose, version=api_version), + use_networking=use_networking, + network_driver=network_driver) def get_project_name(working_dir, project_name=None): diff --git a/compose/config/config.py b/compose/config/config.py index 893784f86..8bedeffe8 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -16,6 +16,7 @@ from .interpolation import interpolate_environment_variables from .types import parse_extra_hosts from .types import parse_restart_spec from .types import VolumeFromSpec +from .types import VolumeSpec from .validation import validate_against_fields_schema from .validation import validate_against_service_schema from .validation import validate_extends_file_path @@ -396,6 +397,10 @@ def finalize_service(service_config): service_dict['volumes_from'] = [ VolumeFromSpec.parse(vf) for vf in service_dict['volumes_from']] + if 'volumes' in service_dict: + service_dict['volumes'] = [ + VolumeSpec.parse(v) for v in service_dict['volumes']] + if 'restart' in service_dict: service_dict['restart'] = parse_restart_spec(service_dict['restart']) diff --git a/compose/config/types.py b/compose/config/types.py index b6add0894..cec1f6cfd 100644 --- a/compose/config/types.py +++ b/compose/config/types.py @@ -4,9 +4,11 @@ Types for objects parsed from the configuration. from __future__ import absolute_import from __future__ import unicode_literals +import os from collections import namedtuple from compose.config.errors import ConfigurationError +from compose.const import IS_WINDOWS_PLATFORM class VolumeFromSpec(namedtuple('_VolumeFromSpec', 'source mode')): @@ -59,3 +61,60 @@ def parse_extra_hosts(extra_hosts_config): host, ip = extra_hosts_line.split(':') extra_hosts_dict[host.strip()] = ip.strip() return extra_hosts_dict + + +def normalize_paths_for_engine(external_path, internal_path): + """Windows paths, c:\my\path\shiny, need to be changed to be compatible with + the Engine. Volume paths are expected to be linux style /c/my/path/shiny/ + """ + if not IS_WINDOWS_PLATFORM: + return external_path, internal_path + + if external_path: + drive, tail = os.path.splitdrive(external_path) + + if drive: + external_path = '/' + drive.lower().rstrip(':') + tail + + external_path = external_path.replace('\\', '/') + + return external_path, internal_path.replace('\\', '/') + + +class VolumeSpec(namedtuple('_VolumeSpec', 'external internal mode')): + + @classmethod + def parse(cls, volume_config): + """Parse a volume_config path and split it into external:internal[:mode] + parts to be returned as a valid VolumeSpec. + """ + if IS_WINDOWS_PLATFORM: + # relative paths in windows expand to include the drive, eg C:\ + # so we join the first 2 parts back together to count as one + drive, tail = os.path.splitdrive(volume_config) + parts = tail.split(":") + + if drive: + parts[0] = drive + parts[0] + else: + parts = volume_config.split(':') + + if len(parts) > 3: + raise ConfigurationError( + "Volume %s has incorrect format, should be " + "external:internal[:mode]" % volume_config) + + if len(parts) == 1: + external, internal = normalize_paths_for_engine( + None, + os.path.normpath(parts[0])) + else: + external, internal = normalize_paths_for_engine( + os.path.normpath(parts[0]), + os.path.normpath(parts[1])) + + mode = 'rw' + if len(parts) == 3: + mode = parts[2] + + return cls(external, internal, mode) diff --git a/compose/service.py b/compose/service.py index dd2433646..eb411d8aa 100644 --- a/compose/service.py +++ b/compose/service.py @@ -2,7 +2,6 @@ from __future__ import absolute_import from __future__ import unicode_literals import logging -import os import re import sys from collections import namedtuple @@ -18,8 +17,8 @@ from docker.utils.ports import split_port from . import __version__ from .config import DOCKER_CONFIG_KEYS from .config import merge_environment +from .config.types import VolumeSpec from .const import DEFAULT_TIMEOUT -from .const import IS_WINDOWS_PLATFORM from .const import LABEL_CONFIG_HASH from .const import LABEL_CONTAINER_NUMBER from .const import LABEL_ONE_OFF @@ -67,11 +66,6 @@ class BuildError(Exception): self.reason = reason -# TODO: remove -class ConfigError(ValueError): - pass - - class NeedsBuildError(Exception): def __init__(self, service): self.service = service @@ -81,9 +75,6 @@ class NoSuchImageError(Exception): pass -VolumeSpec = namedtuple('VolumeSpec', 'external internal mode') - - ServiceName = namedtuple('ServiceName', 'project service number') @@ -613,8 +604,7 @@ class Service(object): if 'volumes' in container_options: container_options['volumes'] = dict( - (parse_volume_spec(v).internal, {}) - for v in container_options['volumes']) + (v.internal, {}) for v in container_options['volumes']) container_options['environment'] = merge_environment( self.options.get('environment'), @@ -899,11 +889,10 @@ def parse_repository_tag(repo_path): # Volumes -def merge_volume_bindings(volumes_option, previous_container): +def merge_volume_bindings(volumes, previous_container): """Return a list of volume bindings for a container. Container data volumes are replaced by those from the previous container. """ - volumes = [parse_volume_spec(volume) for volume in volumes_option or []] volume_bindings = dict( build_volume_binding(volume) for volume in volumes @@ -925,7 +914,7 @@ def get_container_data_volumes(container, volumes_option): volumes = [] container_volumes = container.get('Volumes') or {} image_volumes = [ - parse_volume_spec(volume) + VolumeSpec.parse(volume) for volume in container.image_config['ContainerConfig'].get('Volumes') or {} ] @@ -972,56 +961,6 @@ def build_volume_binding(volume_spec): return volume_spec.internal, "{}:{}:{}".format(*volume_spec) -def normalize_paths_for_engine(external_path, internal_path): - """Windows paths, c:\my\path\shiny, need to be changed to be compatible with - the Engine. Volume paths are expected to be linux style /c/my/path/shiny/ - """ - if not IS_WINDOWS_PLATFORM: - return external_path, internal_path - - if external_path: - drive, tail = os.path.splitdrive(external_path) - - if drive: - external_path = '/' + drive.lower().rstrip(':') + tail - - external_path = external_path.replace('\\', '/') - - return external_path, internal_path.replace('\\', '/') - - -def parse_volume_spec(volume_config): - """ - Parse a volume_config path and split it into external:internal[:mode] - parts to be returned as a valid VolumeSpec. - """ - if IS_WINDOWS_PLATFORM: - # relative paths in windows expand to include the drive, eg C:\ - # so we join the first 2 parts back together to count as one - drive, tail = os.path.splitdrive(volume_config) - parts = tail.split(":") - - if drive: - parts[0] = drive + parts[0] - else: - parts = volume_config.split(':') - - if len(parts) > 3: - raise ConfigError("Volume %s has incorrect format, should be " - "external:internal[:mode]" % volume_config) - - if len(parts) == 1: - external, internal = normalize_paths_for_engine(None, os.path.normpath(parts[0])) - else: - external, internal = normalize_paths_for_engine(os.path.normpath(parts[0]), os.path.normpath(parts[1])) - - mode = 'rw' - if len(parts) == 3: - mode = parts[2] - - return VolumeSpec(external, internal, mode) - - def build_volume_from(volume_from_spec): """ volume_from can be either a service or a container. We want to return the diff --git a/tests/acceptance/cli_test.py b/tests/acceptance/cli_test.py index 88ec45738..282a52195 100644 --- a/tests/acceptance/cli_test.py +++ b/tests/acceptance/cli_test.py @@ -38,7 +38,7 @@ def start_process(base_dir, options): def wait_on_process(proc, returncode=0): stdout, stderr = proc.communicate() if proc.returncode != returncode: - print(stderr) + print(stderr.decode('utf-8')) assert proc.returncode == returncode return ProcessResult(stdout.decode('utf-8'), stderr.decode('utf-8')) diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py index d65d7ef0c..443ff9783 100644 --- a/tests/integration/project_test.py +++ b/tests/integration/project_test.py @@ -4,6 +4,7 @@ from .testcases import DockerClientTestCase from compose.cli.docker_client import docker_client from compose.config import config from compose.config.types import VolumeFromSpec +from compose.config.types import VolumeSpec from compose.const import LABEL_PROJECT from compose.container import Container from compose.project import Project @@ -214,7 +215,7 @@ class ProjectTest(DockerClientTestCase): def test_project_up(self): web = self.create_service('web') - db = self.create_service('db', volumes=['/var/db']) + db = self.create_service('db', volumes=[VolumeSpec.parse('/var/db')]) project = Project('composetest', [web, db], self.client) project.start() self.assertEqual(len(project.containers()), 0) @@ -238,7 +239,7 @@ class ProjectTest(DockerClientTestCase): def test_recreate_preserves_volumes(self): web = self.create_service('web') - db = self.create_service('db', volumes=['/etc']) + db = self.create_service('db', volumes=[VolumeSpec.parse('/etc')]) project = Project('composetest', [web, db], self.client) project.start() self.assertEqual(len(project.containers()), 0) @@ -257,7 +258,7 @@ class ProjectTest(DockerClientTestCase): def test_project_up_with_no_recreate_running(self): web = self.create_service('web') - db = self.create_service('db', volumes=['/var/db']) + db = self.create_service('db', volumes=[VolumeSpec.parse('/var/db')]) project = Project('composetest', [web, db], self.client) project.start() self.assertEqual(len(project.containers()), 0) @@ -277,7 +278,7 @@ class ProjectTest(DockerClientTestCase): def test_project_up_with_no_recreate_stopped(self): web = self.create_service('web') - db = self.create_service('db', volumes=['/var/db']) + db = self.create_service('db', volumes=[VolumeSpec.parse('/var/db')]) project = Project('composetest', [web, db], self.client) project.start() self.assertEqual(len(project.containers()), 0) @@ -316,7 +317,7 @@ class ProjectTest(DockerClientTestCase): def test_project_up_starts_links(self): console = self.create_service('console') - db = self.create_service('db', volumes=['/var/db']) + db = self.create_service('db', volumes=[VolumeSpec.parse('/var/db')]) web = self.create_service('web', links=[(db, 'db')]) project = Project('composetest', [web, db, console], self.client) diff --git a/tests/integration/resilience_test.py b/tests/integration/resilience_test.py index 53aedfecf..7f75356d8 100644 --- a/tests/integration/resilience_test.py +++ b/tests/integration/resilience_test.py @@ -3,13 +3,17 @@ from __future__ import unicode_literals from .. import mock from .testcases import DockerClientTestCase +from compose.config.types import VolumeSpec from compose.project import Project from compose.service import ConvergenceStrategy class ResilienceTest(DockerClientTestCase): def setUp(self): - self.db = self.create_service('db', volumes=['/var/db'], command='top') + self.db = self.create_service( + 'db', + volumes=[VolumeSpec.parse('/var/db')], + command='top') self.project = Project('composetest', [self.db], self.client) container = self.db.create_container() diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 3831e95a5..6808280f0 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -15,6 +15,7 @@ from .testcases import DockerClientTestCase from .testcases import pull_busybox from compose import __version__ from compose.config.types import VolumeFromSpec +from compose.config.types import VolumeSpec from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_CONTAINER_NUMBER from compose.const import LABEL_ONE_OFF @@ -114,7 +115,7 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(container.name, 'composetest_db_run_1') def test_create_container_with_unspecified_volume(self): - service = self.create_service('db', volumes=['/var/db']) + service = self.create_service('db', volumes=[VolumeSpec.parse('/var/db')]) container = service.create_container() container.start() self.assertIn('/var/db', container.get('Volumes')) @@ -176,7 +177,9 @@ class ServiceTest(DockerClientTestCase): host_path = '/tmp/host-path' container_path = '/container-path' - service = self.create_service('db', volumes=['%s:%s' % (host_path, container_path)]) + service = self.create_service( + 'db', + volumes=[VolumeSpec(host_path, container_path, 'rw')]) container = service.create_container() container.start() @@ -189,11 +192,10 @@ class ServiceTest(DockerClientTestCase): msg=("Last component differs: %s, %s" % (actual_host_path, host_path))) def test_recreate_preserves_volume_with_trailing_slash(self): - """ - When the Compose file specifies a trailing slash in the container path, make + """When the Compose file specifies a trailing slash in the container path, make sure we copy the volume over when recreating. """ - service = self.create_service('data', volumes=['/data/']) + service = self.create_service('data', volumes=[VolumeSpec.parse('/data/')]) old_container = create_and_start_container(service) volume_path = old_container.get('Volumes')['/data'] @@ -207,7 +209,7 @@ class ServiceTest(DockerClientTestCase): """ host_path = '/tmp/data' container_path = '/data' - volumes = ['{}:{}/'.format(host_path, container_path)] + volumes = [VolumeSpec.parse('{}:{}/'.format(host_path, container_path))] tmp_container = self.client.create_container( 'busybox', 'true', @@ -261,7 +263,7 @@ class ServiceTest(DockerClientTestCase): service = self.create_service( 'db', environment={'FOO': '1'}, - volumes=['/etc'], + volumes=[VolumeSpec.parse('/etc')], entrypoint=['top'], command=['-d', '1'] ) @@ -299,7 +301,7 @@ class ServiceTest(DockerClientTestCase): service = self.create_service( 'db', environment={'FOO': '1'}, - volumes=['/var/db'], + volumes=[VolumeSpec.parse('/var/db')], entrypoint=['top'], command=['-d', '1'] ) @@ -337,10 +339,8 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(new_container.get('Volumes')['/data'], volume_path) def test_execute_convergence_plan_when_image_volume_masks_config(self): - service = Service( - project='composetest', - name='db', - client=self.client, + service = self.create_service( + 'db', build='tests/fixtures/dockerfile-with-volume', ) @@ -348,7 +348,7 @@ class ServiceTest(DockerClientTestCase): self.assertEqual(list(old_container.get('Volumes').keys()), ['/data']) volume_path = old_container.get('Volumes')['/data'] - service.options['volumes'] = ['/tmp:/data'] + service.options['volumes'] = [VolumeSpec.parse('/tmp:/data')] with mock.patch('compose.service.log') as mock_log: new_container, = service.execute_convergence_plan( @@ -857,22 +857,11 @@ class ServiceTest(DockerClientTestCase): for pair in expected.items(): self.assertIn(pair, labels) - service.kill() - service.remove_stopped() - - labels_list = ["%s=%s" % pair for pair in labels_dict.items()] - - service = self.create_service('web', labels=labels_list) - labels = create_and_start_container(service).labels.items() - for pair in expected.items(): - self.assertIn(pair, labels) - def test_empty_labels(self): - labels_list = ['foo', 'bar'] - - service = self.create_service('web', labels=labels_list) + labels_dict = {'foo': '', 'bar': ''} + service = self.create_service('web', labels=labels_dict) labels = create_and_start_container(service).labels.items() - for name in labels_list: + for name in labels_dict: self.assertIn((name, ''), labels) def test_custom_container_name(self): diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 2c5ca9fdd..f0e5c6d85 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -6,9 +6,7 @@ from pytest import skip from .. import unittest from compose.cli.docker_client import docker_client -from compose.config.config import process_service from compose.config.config import resolve_environment -from compose.config.config import ServiceConfig from compose.const import LABEL_PROJECT from compose.progress_stream import stream_output from compose.service import Service @@ -41,13 +39,12 @@ class DockerClientTestCase(unittest.TestCase): kwargs['command'] = ["top"] service_config = ServiceConfig('.', None, name, kwargs) - options = process_service(service_config) - options['environment'] = resolve_environment( - service_config._replace(config=options)) - labels = options.setdefault('labels', {}) + kwargs['environment'] = resolve_environment(service_config) + + labels = dict(kwargs.setdefault('labels', {})) labels['com.docker.compose.test-name'] = self.id() - return Service(name, client=self.client, project='composetest', **options) + return Service(name, client=self.client, project='composetest', **kwargs) def check_build(self, *args, **kwargs): kwargs.setdefault('rm', True) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index f923fb370..b2a4cd68f 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -11,6 +11,7 @@ import pytest from compose.config import config from compose.config.errors import ConfigurationError +from compose.config.types import VolumeSpec from compose.const import IS_WINDOWS_PLATFORM from tests import mock from tests import unittest @@ -147,7 +148,7 @@ class ConfigTest(unittest.TestCase): 'name': 'web', 'build': '/', 'links': ['db'], - 'volumes': ['/home/user/project:/code'], + 'volumes': [VolumeSpec.parse('/home/user/project:/code')], }, { 'name': 'db', @@ -211,7 +212,7 @@ class ConfigTest(unittest.TestCase): { 'name': 'web', 'image': 'example/web', - 'volumes': ['/home/user/project:/code'], + 'volumes': [VolumeSpec.parse('/home/user/project:/code')], 'labels': {'label': 'one'}, }, ] @@ -626,14 +627,11 @@ class VolumeConfigTest(unittest.TestCase): @mock.patch.dict(os.environ) def test_volume_binding_with_environment_variable(self): os.environ['VOLUME_PATH'] = '/host/path' - d = config.load( - build_config_details( - {'foo': {'build': '.', 'volumes': ['${VOLUME_PATH}:/container/path']}}, - '.', - None, - ) - )[0] - self.assertEqual(d['volumes'], ['/host/path:/container/path']) + d = config.load(build_config_details( + {'foo': {'build': '.', 'volumes': ['${VOLUME_PATH}:/container/path']}}, + '.', + ))[0] + self.assertEqual(d['volumes'], [VolumeSpec.parse('/host/path:/container/path')]) @pytest.mark.skipif(IS_WINDOWS_PLATFORM, reason='posix paths') @mock.patch.dict(os.environ) @@ -1031,19 +1029,21 @@ class EnvTest(unittest.TestCase): build_config_details( {'foo': {'build': '.', 'volumes': ['$HOSTENV:$CONTAINERENV']}}, "tests/fixtures/env", - None, ) )[0] - self.assertEqual(set(service_dict['volumes']), set(['/tmp:/host/tmp'])) + self.assertEqual( + set(service_dict['volumes']), + set([VolumeSpec.parse('/tmp:/host/tmp')])) service_dict = config.load( build_config_details( {'foo': {'build': '.', 'volumes': ['/opt${HOSTENV}:/opt${CONTAINERENV}']}}, "tests/fixtures/env", - None, ) )[0] - self.assertEqual(set(service_dict['volumes']), set(['/opt/tmp:/opt/host/tmp'])) + self.assertEqual( + set(service_dict['volumes']), + set([VolumeSpec.parse('/opt/tmp:/opt/host/tmp')])) def load_from_filename(filename): @@ -1290,8 +1290,14 @@ class ExtendsTest(unittest.TestCase): dicts = load_from_filename('tests/fixtures/volume-path/docker-compose.yml') paths = [ - '%s:/foo' % os.path.abspath('tests/fixtures/volume-path/common/foo'), - '%s:/bar' % os.path.abspath('tests/fixtures/volume-path/bar'), + VolumeSpec( + os.path.abspath('tests/fixtures/volume-path/common/foo'), + '/foo', + 'rw'), + VolumeSpec( + os.path.abspath('tests/fixtures/volume-path/bar'), + '/bar', + 'rw') ] self.assertEqual(set(dicts[0]['volumes']), set(paths)) diff --git a/tests/unit/config/types_test.py b/tests/unit/config/types_test.py index 25692ca37..4df665485 100644 --- a/tests/unit/config/types_test.py +++ b/tests/unit/config/types_test.py @@ -1,4 +1,9 @@ +import pytest + +from compose.config.errors import ConfigurationError from compose.config.types import parse_extra_hosts +from compose.config.types import VolumeSpec +from compose.const import IS_WINDOWS_PLATFORM def test_parse_extra_hosts_list(): @@ -27,3 +32,35 @@ def test_parse_extra_hosts_dict(): 'www.example.com': '192.168.0.17', 'api.example.com': '192.168.0.18' } + + +class TestVolumeSpec(object): + + def test_parse_volume_spec_only_one_path(self): + spec = VolumeSpec.parse('/the/volume') + assert spec == (None, '/the/volume', 'rw') + + def test_parse_volume_spec_internal_and_external(self): + spec = VolumeSpec.parse('external:interval') + assert spec == ('external', 'interval', 'rw') + + def test_parse_volume_spec_with_mode(self): + spec = VolumeSpec.parse('external:interval:ro') + assert spec == ('external', 'interval', 'ro') + + spec = VolumeSpec.parse('external:interval:z') + assert spec == ('external', 'interval', 'z') + + def test_parse_volume_spec_too_many_parts(self): + with pytest.raises(ConfigurationError) as exc: + VolumeSpec.parse('one:two:three:four') + assert 'has incorrect format' in exc.exconly() + + @pytest.mark.xfail((not IS_WINDOWS_PLATFORM), reason='does not have a drive') + def test_parse_volume_windows_absolute_path(self): + windows_path = "c:\\Users\\me\\Documents\\shiny\\config:\\opt\\shiny\\config:ro" + assert VolumeSpec.parse(windows_path) == ( + "/c/Users/me/Documents/shiny/config", + "/opt/shiny/config", + "ro" + ) diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index 83dd61589..c87d31b1d 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -2,12 +2,11 @@ from __future__ import absolute_import from __future__ import unicode_literals import docker -import pytest from .. import mock from .. import unittest from compose.config.types import VolumeFromSpec -from compose.const import IS_WINDOWS_PLATFORM +from compose.config.types import VolumeSpec from compose.const import LABEL_CONFIG_HASH from compose.const import LABEL_ONE_OFF from compose.const import LABEL_PROJECT @@ -15,7 +14,6 @@ from compose.const import LABEL_SERVICE from compose.container import Container from compose.service import build_ulimits from compose.service import build_volume_binding -from compose.service import ConfigError from compose.service import ContainerNet from compose.service import get_container_data_volumes from compose.service import merge_volume_bindings @@ -23,7 +21,6 @@ from compose.service import NeedsBuildError from compose.service import Net from compose.service import NoSuchImageError from compose.service import parse_repository_tag -from compose.service import parse_volume_spec from compose.service import Service from compose.service import ServiceNet from compose.service import VolumeFromSpec @@ -585,46 +582,12 @@ class ServiceVolumesTest(unittest.TestCase): def setUp(self): self.mock_client = mock.create_autospec(docker.Client) - def test_parse_volume_spec_only_one_path(self): - spec = parse_volume_spec('/the/volume') - self.assertEqual(spec, (None, '/the/volume', 'rw')) - - def test_parse_volume_spec_internal_and_external(self): - spec = parse_volume_spec('external:interval') - self.assertEqual(spec, ('external', 'interval', 'rw')) - - def test_parse_volume_spec_with_mode(self): - spec = parse_volume_spec('external:interval:ro') - self.assertEqual(spec, ('external', 'interval', 'ro')) - - spec = parse_volume_spec('external:interval:z') - self.assertEqual(spec, ('external', 'interval', 'z')) - - def test_parse_volume_spec_too_many_parts(self): - with self.assertRaises(ConfigError): - parse_volume_spec('one:two:three:four') - - @pytest.mark.xfail((not IS_WINDOWS_PLATFORM), reason='does not have a drive') - def test_parse_volume_windows_absolute_path(self): - windows_absolute_path = "c:\\Users\\me\\Documents\\shiny\\config:\\opt\\shiny\\config:ro" - - spec = parse_volume_spec(windows_absolute_path) - - self.assertEqual( - spec, - ( - "/c/Users/me/Documents/shiny/config", - "/opt/shiny/config", - "ro" - ) - ) - def test_build_volume_binding(self): - binding = build_volume_binding(parse_volume_spec('/outside:/inside')) - self.assertEqual(binding, ('/inside', '/outside:/inside:rw')) + binding = build_volume_binding(VolumeSpec.parse('/outside:/inside')) + assert binding == ('/inside', '/outside:/inside:rw') def test_get_container_data_volumes(self): - options = [parse_volume_spec(v) for v in [ + options = [VolumeSpec.parse(v) for v in [ '/host/volume:/host/volume:ro', '/new/volume', '/existing/volume', @@ -648,19 +611,19 @@ class ServiceVolumesTest(unittest.TestCase): }, has_been_inspected=True) expected = [ - parse_volume_spec('/var/lib/docker/aaaaaaaa:/existing/volume:rw'), - parse_volume_spec('/var/lib/docker/cccccccc:/mnt/image/data:rw'), + VolumeSpec.parse('/var/lib/docker/aaaaaaaa:/existing/volume:rw'), + VolumeSpec.parse('/var/lib/docker/cccccccc:/mnt/image/data:rw'), ] volumes = get_container_data_volumes(container, options) - self.assertEqual(sorted(volumes), sorted(expected)) + assert sorted(volumes) == sorted(expected) def test_merge_volume_bindings(self): options = [ - '/host/volume:/host/volume:ro', - '/host/rw/volume:/host/rw/volume', - '/new/volume', - '/existing/volume', + VolumeSpec.parse('/host/volume:/host/volume:ro'), + VolumeSpec.parse('/host/rw/volume:/host/rw/volume'), + VolumeSpec.parse('/new/volume'), + VolumeSpec.parse('/existing/volume'), ] self.mock_client.inspect_image.return_value = { @@ -686,8 +649,8 @@ class ServiceVolumesTest(unittest.TestCase): 'web', image='busybox', volumes=[ - '/host/path:/data1', - '/host/path:/data2', + VolumeSpec.parse('/host/path:/data1'), + VolumeSpec.parse('/host/path:/data2'), ], client=self.mock_client, ) @@ -716,7 +679,7 @@ class ServiceVolumesTest(unittest.TestCase): service = Service( 'web', image='busybox', - volumes=['/host/path:/data'], + volumes=[VolumeSpec.parse('/host/path:/data')], client=self.mock_client, ) @@ -784,22 +747,17 @@ class ServiceVolumesTest(unittest.TestCase): def test_create_with_special_volume_mode(self): self.mock_client.inspect_image.return_value = {'Id': 'imageid'} - create_calls = [] - - def create_container(*args, **kwargs): - create_calls.append((args, kwargs)) - return {'Id': 'containerid'} - - self.mock_client.create_container = create_container - - volumes = ['/tmp:/foo:z'] + self.mock_client.create_container.return_value = {'Id': 'containerid'} + volume = '/tmp:/foo:z' Service( 'web', client=self.mock_client, image='busybox', - volumes=volumes, + volumes=[VolumeSpec.parse(volume)], ).create_container() - self.assertEqual(len(create_calls), 1) - self.assertEqual(self.mock_client.create_host_config.call_args[1]['binds'], volumes) + assert self.mock_client.create_container.call_count == 1 + self.assertEqual( + self.mock_client.create_host_config.call_args[1]['binds'], + [volume]) From da27f8e7e244883eaf9dec24c00c7179b63a94f3 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 13 Nov 2015 19:49:14 -0500 Subject: [PATCH 210/221] Remove unnecessary intermediate variables in get_container_host_config. Signed-off-by: Daniel Nephin --- compose/service.py | 44 ++++++++++++-------------------------------- 1 file changed, 12 insertions(+), 32 deletions(-) diff --git a/compose/service.py b/compose/service.py index eb411d8aa..34eb4c952 100644 --- a/compose/service.py +++ b/compose/service.py @@ -511,7 +511,7 @@ class Service(object): # TODO: Implement issue #652 here return build_container_name(self.project, self.name, number, one_off) - # TODO: this would benefit from github.com/docker/docker/pull/11943 + # TODO: this would benefit from github.com/docker/docker/pull/14699 # to remove the need to inspect every container def _next_container_number(self, one_off=False): containers = filter(None, [ @@ -633,54 +633,34 @@ class Service(object): def _get_container_host_config(self, override_options, one_off=False): options = dict(self.options, **override_options) - port_bindings = build_port_bindings(options.get('ports') or []) - privileged = options.get('privileged', False) - cap_add = options.get('cap_add', None) - cap_drop = options.get('cap_drop', None) log_config = LogConfig( type=options.get('log_driver', ""), config=options.get('log_opt', None) ) - pid = options.get('pid', None) - security_opt = options.get('security_opt', None) - - # TODO: these options are already normalized by config - dns = options.get('dns', None) - if isinstance(dns, six.string_types): - dns = [dns] - - dns_search = options.get('dns_search', None) - if isinstance(dns_search, six.string_types): - dns_search = [dns_search] - - devices = options.get('devices', None) - cgroup_parent = options.get('cgroup_parent', None) - ulimits = build_ulimits(options.get('ulimits', None)) - return self.client.create_host_config( links=self._get_links(link_to_self=one_off), - port_bindings=port_bindings, + port_bindings=build_port_bindings(options.get('ports') or []), binds=options.get('binds'), volumes_from=self._get_volumes_from(), - privileged=privileged, + privileged=options.get('privileged', False), network_mode=self.net.mode, - devices=devices, - dns=dns, - dns_search=dns_search, + devices=options.get('devices'), + dns=options.get('dns'), + dns_search=options.get('dns_search'), restart_policy=options.get('restart'), - cap_add=cap_add, - cap_drop=cap_drop, + cap_add=options.get('cap_add'), + cap_drop=options.get('cap_drop'), mem_limit=options.get('mem_limit'), memswap_limit=options.get('memswap_limit'), - ulimits=ulimits, + ulimits=build_ulimits(options.get('ulimits')), log_config=log_config, extra_hosts=options.get('extra_hosts'), read_only=options.get('read_only'), - pid_mode=pid, - security_opt=security_opt, + pid_mode=options.get('pid'), + security_opt=options.get('security_opt'), ipc_mode=options.get('ipc'), - cgroup_parent=cgroup_parent + cgroup_parent=options.get('cgroup_parent'), ) def build(self, no_cache=False, pull=False, force_rm=False): From 81f0e72bd2fa33327c7fe1ceb9303d0614ffd3bd Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 17 Nov 2015 13:35:28 -0500 Subject: [PATCH 211/221] Move service sorting to config package. Signed-off-by: Daniel Nephin --- compose/config/__init__.py | 1 - compose/config/config.py | 17 ++---- compose/config/errors.py | 4 ++ compose/config/sort_services.py | 55 +++++++++++++++++++ compose/project.py | 51 +---------------- tests/integration/testcases.py | 1 + tests/unit/config/config_test.py | 23 +++++++- .../sort_services_test.py} | 6 +- tests/unit/project_test.py | 23 -------- tests/unit/service_test.py | 2 - 10 files changed, 91 insertions(+), 92 deletions(-) create mode 100644 compose/config/sort_services.py rename tests/unit/{sort_service_test.py => config/sort_services_test.py} (98%) diff --git a/compose/config/__init__.py b/compose/config/__init__.py index ec607e087..6fe9ff9fb 100644 --- a/compose/config/__init__.py +++ b/compose/config/__init__.py @@ -2,7 +2,6 @@ from .config import ConfigurationError from .config import DOCKER_CONFIG_KEYS from .config import find -from .config import get_service_name_from_net from .config import load from .config import merge_environment from .config import parse_environment diff --git a/compose/config/config.py b/compose/config/config.py index 8bedeffe8..0ca6817e7 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -13,6 +13,8 @@ from .errors import CircularReference from .errors import ComposeFileNotFound from .errors import ConfigurationError from .interpolation import interpolate_environment_variables +from .sort_services import get_service_name_from_net +from .sort_services import sort_service_dicts from .types import parse_extra_hosts from .types import parse_restart_spec from .types import VolumeFromSpec @@ -213,10 +215,10 @@ def load(config_details): return service_dict def build_services(config_file): - return [ + return sort_service_dicts([ build_service(config_file.filename, name, service_dict) for name, service_dict in config_file.config.items() - ] + ]) def merge_services(base, override): all_service_names = set(base) | set(override) @@ -643,17 +645,6 @@ def to_list(value): return value -def get_service_name_from_net(net_config): - if not net_config: - return - - if not net_config.startswith('container:'): - return - - _, net_name = net_config.split(':', 1) - return net_name - - def load_yaml(filename): try: with open(filename, 'r') as fh: diff --git a/compose/config/errors.py b/compose/config/errors.py index 037b7ec84..6d6a69df9 100644 --- a/compose/config/errors.py +++ b/compose/config/errors.py @@ -6,6 +6,10 @@ class ConfigurationError(Exception): return self.msg +class DependencyError(ConfigurationError): + pass + + class CircularReference(ConfigurationError): def __init__(self, trail): self.trail = trail diff --git a/compose/config/sort_services.py b/compose/config/sort_services.py new file mode 100644 index 000000000..5d9adab11 --- /dev/null +++ b/compose/config/sort_services.py @@ -0,0 +1,55 @@ +from compose.config.errors import DependencyError + + +def get_service_name_from_net(net_config): + if not net_config: + return + + if not net_config.startswith('container:'): + return + + _, net_name = net_config.split(':', 1) + return net_name + + +def sort_service_dicts(services): + # Topological sort (Cormen/Tarjan algorithm). + unmarked = services[:] + temporary_marked = set() + sorted_services = [] + + def get_service_names(links): + return [link.split(':')[0] for link in links] + + def get_service_names_from_volumes_from(volumes_from): + return [volume_from.source for volume_from in volumes_from] + + def get_service_dependents(service_dict, services): + name = service_dict['name'] + return [ + service for service in services + if (name in get_service_names(service.get('links', [])) or + name in get_service_names_from_volumes_from(service.get('volumes_from', [])) or + name == get_service_name_from_net(service.get('net'))) + ] + + def visit(n): + if n['name'] in temporary_marked: + if n['name'] in get_service_names(n.get('links', [])): + raise DependencyError('A service can not link to itself: %s' % n['name']) + if n['name'] in n.get('volumes_from', []): + raise DependencyError('A service can not mount itself as volume: %s' % n['name']) + else: + raise DependencyError('Circular import between %s' % ' and '.join(temporary_marked)) + if n in unmarked: + temporary_marked.add(n['name']) + for m in get_service_dependents(n, services): + visit(m) + temporary_marked.remove(n['name']) + unmarked.remove(n) + sorted_services.insert(0, n) + + while unmarked: + visit(unmarked[-1]) + + return sorted_services diff --git a/compose/project.py b/compose/project.py index 69f084752..53e53cb1a 100644 --- a/compose/project.py +++ b/compose/project.py @@ -8,7 +8,7 @@ from docker.errors import APIError from docker.errors import NotFound from .config import ConfigurationError -from .config import get_service_name_from_net +from .config.sort_services import get_service_name_from_net from .const import DEFAULT_TIMEOUT from .const import LABEL_ONE_OFF from .const import LABEL_PROJECT @@ -26,49 +26,6 @@ from .utils import parallel_execute log = logging.getLogger(__name__) -def sort_service_dicts(services): - # Topological sort (Cormen/Tarjan algorithm). - unmarked = services[:] - temporary_marked = set() - sorted_services = [] - - def get_service_names(links): - return [link.split(':')[0] for link in links] - - def get_service_names_from_volumes_from(volumes_from): - return [volume_from.source for volume_from in volumes_from] - - def get_service_dependents(service_dict, services): - name = service_dict['name'] - return [ - service for service in services - if (name in get_service_names(service.get('links', [])) or - name in get_service_names_from_volumes_from(service.get('volumes_from', [])) or - name == get_service_name_from_net(service.get('net'))) - ] - - def visit(n): - if n['name'] in temporary_marked: - if n['name'] in get_service_names(n.get('links', [])): - raise DependencyError('A service can not link to itself: %s' % n['name']) - if n['name'] in n.get('volumes_from', []): - raise DependencyError('A service can not mount itself as volume: %s' % n['name']) - else: - raise DependencyError('Circular import between %s' % ' and '.join(temporary_marked)) - if n in unmarked: - temporary_marked.add(n['name']) - for m in get_service_dependents(n, services): - visit(m) - temporary_marked.remove(n['name']) - unmarked.remove(n) - sorted_services.insert(0, n) - - while unmarked: - visit(unmarked[-1]) - - return sorted_services - - class Project(object): """ A collection of services. @@ -96,7 +53,7 @@ class Project(object): if use_networking: remove_links(service_dicts) - for service_dict in sort_service_dicts(service_dicts): + for service_dict in service_dicts: links = project.get_links(service_dict) volumes_from = project.get_volumes_from(service_dict) net = project.get_net(service_dict) @@ -424,7 +381,3 @@ class NoSuchService(Exception): def __str__(self): return self.msg - - -class DependencyError(ConfigurationError): - pass diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index f0e5c6d85..334693f70 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -7,6 +7,7 @@ from pytest import skip from .. import unittest from compose.cli.docker_client import docker_client from compose.config.config import resolve_environment +from compose.config.config import ServiceConfig from compose.const import LABEL_PROJECT from compose.progress_stream import stream_output from compose.service import Service diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index b2a4cd68f..a5eeb64f9 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -77,7 +77,7 @@ class ConfigTest(unittest.TestCase): ) ) - def test_config_invalid_service_names(self): + def test_load_config_invalid_service_names(self): for invalid_name in ['?not?allowed', ' ', '', '!', '/', '\xe2']: with pytest.raises(ConfigurationError) as exc: config.load(build_config_details( @@ -232,6 +232,27 @@ class ConfigTest(unittest.TestCase): assert "service 'bogus' doesn't have any configuration" in exc.exconly() assert "In file 'override.yaml'" in exc.exconly() + def test_load_sorts_in_dependency_order(self): + config_details = build_config_details({ + 'web': { + 'image': 'busybox:latest', + 'links': ['db'], + }, + 'db': { + 'image': 'busybox:latest', + 'volumes_from': ['volume:ro'] + }, + 'volume': { + 'image': 'busybox:latest', + 'volumes': ['/tmp'], + } + }) + services = config.load(config_details) + + assert services[0]['name'] == 'volume' + assert services[1]['name'] == 'db' + assert services[2]['name'] == 'web' + def test_config_valid_service_names(self): for valid_name in ['_', '-', '.__.', '_what-up.', 'what_.up----', 'whatup']: services = config.load( diff --git a/tests/unit/sort_service_test.py b/tests/unit/config/sort_services_test.py similarity index 98% rename from tests/unit/sort_service_test.py rename to tests/unit/config/sort_services_test.py index ef0882877..8d0c3ae40 100644 --- a/tests/unit/sort_service_test.py +++ b/tests/unit/config/sort_services_test.py @@ -1,7 +1,7 @@ -from .. import unittest +from compose.config.errors import DependencyError +from compose.config.sort_services import sort_service_dicts from compose.config.types import VolumeFromSpec -from compose.project import DependencyError -from compose.project import sort_service_dicts +from tests import unittest class SortServiceTest(unittest.TestCase): diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py index f8178ed8b..f4c6f8ca1 100644 --- a/tests/unit/project_test.py +++ b/tests/unit/project_test.py @@ -34,29 +34,6 @@ class ProjectTest(unittest.TestCase): self.assertEqual(project.get_service('db').name, 'db') self.assertEqual(project.get_service('db').options['image'], 'busybox:latest') - def test_from_dict_sorts_in_dependency_order(self): - project = Project.from_dicts('composetest', [ - { - 'name': 'web', - 'image': 'busybox:latest', - 'links': ['db'], - }, - { - 'name': 'db', - 'image': 'busybox:latest', - 'volumes_from': [VolumeFromSpec('volume', 'ro')] - }, - { - 'name': 'volume', - 'image': 'busybox:latest', - 'volumes': ['/tmp'], - } - ], None) - - self.assertEqual(project.services[0].name, 'volume') - self.assertEqual(project.services[1].name, 'db') - self.assertEqual(project.services[2].name, 'web') - def test_from_config(self): dicts = [ { diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py index c87d31b1d..1c8b441f3 100644 --- a/tests/unit/service_test.py +++ b/tests/unit/service_test.py @@ -23,8 +23,6 @@ from compose.service import NoSuchImageError from compose.service import parse_repository_tag from compose.service import Service from compose.service import ServiceNet -from compose.service import VolumeFromSpec -from compose.service import VolumeSpec from compose.service import warn_on_masked_volume From fa975d7fbefd9578b02287ad5a2763efa3a446c7 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Mon, 23 Nov 2015 13:24:57 -0500 Subject: [PATCH 212/221] Properly resolve environment from all sources. Split env resolving into two phases. The first phase is to expand the paths of env_files, which is done before merging extends. Once all files are merged together, the final phase is to read the env_files and use them as the base for environment variables. Signed-off-by: Daniel Nephin --- compose/config/config.py | 34 +++++------- tests/integration/testcases.py | 5 +- tests/unit/config/config_test.py | 94 +++++++++++++++++--------------- 3 files changed, 64 insertions(+), 69 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 0ca6817e7..cbebeca83 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -323,16 +323,13 @@ class ServiceExtendsResolver(object): return filename -def resolve_environment(service_config): +def resolve_environment(service_dict): """Unpack any environment variables from an env_file, if set. Interpolate environment values if set. """ - service_dict = service_config.config - env = {} - if 'env_file' in service_dict: - for env_file in get_env_files(service_config.working_dir, service_dict): - env.update(env_vars_from_file(env_file)) + for env_file in service_dict.get('env_file', []): + env.update(env_vars_from_file(env_file)) env.update(parse_environment(service_dict.get('environment'))) return dict(resolve_env_var(k, v) for k, v in six.iteritems(env)) @@ -369,9 +366,11 @@ def process_service(service_config): working_dir = service_config.working_dir service_dict = dict(service_config.config) - if 'environment' in service_dict or 'env_file' in service_dict: - service_dict['environment'] = resolve_environment(service_config) - service_dict.pop('env_file', None) + if 'env_file' in service_dict: + service_dict['env_file'] = [ + expand_path(working_dir, path) + for path in to_list(service_dict['env_file']) + ] if 'volumes' in service_dict and service_dict.get('volume_driver') is None: service_dict['volumes'] = resolve_volume_paths(working_dir, service_dict) @@ -395,6 +394,10 @@ def process_service(service_config): def finalize_service(service_config): service_dict = dict(service_config.config) + if 'environment' in service_dict or 'env_file' in service_dict: + service_dict['environment'] = resolve_environment(service_dict) + service_dict.pop('env_file', None) + if 'volumes_from' in service_dict: service_dict['volumes_from'] = [ VolumeFromSpec.parse(vf) for vf in service_dict['volumes_from']] @@ -456,7 +459,7 @@ def merge_service_dicts(base, override): if key in base or key in override: d[key] = base.get(key, []) + override.get(key, []) - list_or_string_keys = ['dns', 'dns_search'] + list_or_string_keys = ['dns', 'dns_search', 'env_file'] for key in list_or_string_keys: if key in base or key in override: @@ -477,17 +480,6 @@ def merge_environment(base, override): return env -def get_env_files(working_dir, options): - if 'env_file' not in options: - return {} - - env_files = options.get('env_file', []) - if not isinstance(env_files, list): - env_files = [env_files] - - return [expand_path(working_dir, path) for path in env_files] - - def parse_environment(environment): if not environment: return {} diff --git a/tests/integration/testcases.py b/tests/integration/testcases.py index 334693f70..9ea68e39c 100644 --- a/tests/integration/testcases.py +++ b/tests/integration/testcases.py @@ -7,7 +7,6 @@ from pytest import skip from .. import unittest from compose.cli.docker_client import docker_client from compose.config.config import resolve_environment -from compose.config.config import ServiceConfig from compose.const import LABEL_PROJECT from compose.progress_stream import stream_output from compose.service import Service @@ -39,9 +38,7 @@ class DockerClientTestCase(unittest.TestCase): if 'command' not in kwargs: kwargs['command'] = ["top"] - service_config = ServiceConfig('.', None, name, kwargs) - kwargs['environment'] = resolve_environment(service_config) - + kwargs['environment'] = resolve_environment(kwargs) labels = dict(kwargs.setdefault('labels', {})) labels['com.docker.compose.test-name'] = self.id() diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index a5eeb64f9..2cd26e8f7 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -10,6 +10,7 @@ import py import pytest from compose.config import config +from compose.config.config import resolve_environment from compose.config.errors import ConfigurationError from compose.config.types import VolumeSpec from compose.const import IS_WINDOWS_PLATFORM @@ -973,65 +974,54 @@ class EnvTest(unittest.TestCase): os.environ['FILE_DEF_EMPTY'] = 'E2' os.environ['ENV_DEF'] = 'E3' - service_dict = make_service_dict( - 'foo', { - 'build': '.', - 'environment': { - 'FILE_DEF': 'F1', - 'FILE_DEF_EMPTY': '', - 'ENV_DEF': None, - 'NO_DEF': None - }, + service_dict = { + 'build': '.', + 'environment': { + 'FILE_DEF': 'F1', + 'FILE_DEF_EMPTY': '', + 'ENV_DEF': None, + 'NO_DEF': None }, - 'tests/' - ) - + } self.assertEqual( - service_dict['environment'], + resolve_environment(service_dict), {'FILE_DEF': 'F1', 'FILE_DEF_EMPTY': '', 'ENV_DEF': 'E3', 'NO_DEF': ''}, ) - def test_env_from_file(self): - service_dict = make_service_dict( - 'foo', - {'build': '.', 'env_file': 'one.env'}, - 'tests/fixtures/env', - ) + def test_resolve_environment_from_env_file(self): self.assertEqual( - service_dict['environment'], + resolve_environment({'env_file': ['tests/fixtures/env/one.env']}), {'ONE': '2', 'TWO': '1', 'THREE': '3', 'FOO': 'bar'}, ) - def test_env_from_multiple_files(self): - service_dict = make_service_dict( - 'foo', - {'build': '.', 'env_file': ['one.env', 'two.env']}, - 'tests/fixtures/env', - ) + def test_resolve_environment_with_multiple_env_files(self): + service_dict = { + 'env_file': [ + 'tests/fixtures/env/one.env', + 'tests/fixtures/env/two.env' + ] + } self.assertEqual( - service_dict['environment'], + resolve_environment(service_dict), {'ONE': '2', 'TWO': '1', 'THREE': '3', 'FOO': 'baz', 'DOO': 'dah'}, ) - def test_env_nonexistent_file(self): - options = {'env_file': 'nonexistent.env'} - self.assertRaises( - ConfigurationError, - lambda: make_service_dict('foo', options, 'tests/fixtures/env'), - ) + def test_resolve_environment_nonexistent_file(self): + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details( + {'foo': {'image': 'example', 'env_file': 'nonexistent.env'}}, + working_dir='tests/fixtures/env')) + + assert 'Couldn\'t find env file' in exc.exconly() + assert 'nonexistent.env' in exc.exconly() @mock.patch.dict(os.environ) - def test_resolve_environment_from_file(self): + def test_resolve_environment_from_env_file_with_empty_values(self): os.environ['FILE_DEF'] = 'E1' os.environ['FILE_DEF_EMPTY'] = 'E2' os.environ['ENV_DEF'] = 'E3' - service_dict = make_service_dict( - 'foo', - {'build': '.', 'env_file': 'resolve.env'}, - 'tests/fixtures/env', - ) self.assertEqual( - service_dict['environment'], + resolve_environment({'env_file': ['tests/fixtures/env/resolve.env']}), { 'FILE_DEF': u'bär', 'FILE_DEF_EMPTY': '', @@ -1378,6 +1368,8 @@ class ExtendsTest(unittest.TestCase): - 'envs' environment: - SECRET + - TEST_ONE=common + - TEST_TWO=common """) tmpdir.join('docker-compose.yml').write(""" ext: @@ -1388,12 +1380,20 @@ class ExtendsTest(unittest.TestCase): - 'envs' environment: - THING + - TEST_ONE=top """) commondir.join('envs').write(""" - COMMON_ENV_FILE=1 + COMMON_ENV_FILE + TEST_ONE=common-env-file + TEST_TWO=common-env-file + TEST_THREE=common-env-file + TEST_FOUR=common-env-file """) tmpdir.join('envs').write(""" - FROM_ENV_FILE=1 + TOP_ENV_FILE + TEST_ONE=top-env-file + TEST_TWO=top-env-file + TEST_THREE=top-env-file """) expected = [ @@ -1402,15 +1402,21 @@ class ExtendsTest(unittest.TestCase): 'image': 'example/app', 'environment': { 'SECRET': 'secret', - 'FROM_ENV_FILE': '1', - 'COMMON_ENV_FILE': '1', + 'TOP_ENV_FILE': 'secret', + 'COMMON_ENV_FILE': 'secret', 'THING': 'thing', + 'TEST_ONE': 'top', + 'TEST_TWO': 'common', + 'TEST_THREE': 'top-env-file', + 'TEST_FOUR': 'common-env-file', }, }, ] with mock.patch.dict(os.environ): os.environ['SECRET'] = 'secret' os.environ['THING'] = 'thing' + os.environ['COMMON_ENV_FILE'] = 'secret' + os.environ['TOP_ENV_FILE'] = 'secret' config = load_from_filename(str(tmpdir.join('docker-compose.yml'))) assert config == expected From 0dbd99bad2c6b3d99beda32e705777a912231053 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Eckerstr=C3=B6m?= Date: Wed, 29 Apr 2015 10:22:24 +0200 Subject: [PATCH 213/221] Added support for url buid paths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Eckerström --- compose/config/config.py | 27 ++++++++++++++++++++++++--- tests/unit/config/config_test.py | 14 ++++++++++++++ 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index cbebeca83..05ef8a59d 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -75,6 +75,13 @@ ALLOWED_KEYS = DOCKER_CONFIG_KEYS + [ 'external_links', ] +DOCKER_VALID_URL_PREFIXES = ( + 'http://', + 'https://', + 'git://', + 'github.com/', + 'git@', +) SUPPORTED_FILENAMES = [ 'docker-compose.yml', @@ -376,7 +383,7 @@ def process_service(service_config): service_dict['volumes'] = resolve_volume_paths(working_dir, service_dict) if 'build' in service_dict: - service_dict['build'] = expand_path(working_dir, service_dict['build']) + service_dict['build'] = resolve_build_path(working_dir, service_dict['build']) if 'labels' in service_dict: service_dict['labels'] = parse_labels(service_dict['labels']) @@ -548,11 +555,25 @@ def resolve_volume_path(working_dir, volume): return container_path +def resolve_build_path(working_dir, build_path): + if is_url(build_path): + return build_path + return expand_path(working_dir, build_path) + + +def is_url(build_path): + return build_path.startswith(DOCKER_VALID_URL_PREFIXES) + + def validate_paths(service_dict): if 'build' in service_dict: build_path = service_dict['build'] - if not os.path.exists(build_path) or not os.access(build_path, os.R_OK): - raise ConfigurationError("build path %s either does not exist or is not accessible." % build_path) + if ( + not is_url(build_path) and + (not os.path.exists(build_path) or not os.access(build_path, os.R_OK)) + ): + raise ConfigurationError( + "build path %s either does not exist or is not accessible." % build_path) def merge_path_mappings(base, override): diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 2cd26e8f7..6de794ade 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -1497,6 +1497,20 @@ class BuildPathTest(unittest.TestCase): service_dict = load_from_filename('tests/fixtures/build-path/docker-compose.yml') self.assertEquals(service_dict, [{'name': 'foo', 'build': self.abs_context_path}]) + def test_valid_url_path(self): + valid_urls = [ + 'git://github.com/docker/docker', + 'git@github.com:docker/docker.git', + 'git@bitbucket.org:atlassianlabs/atlassian-docker.git', + 'https://github.com/docker/docker.git', + 'http://github.com/docker/docker.git', + ] + for valid_url in valid_urls: + service_dict = config.load(build_config_details({ + 'validurl': {'build': valid_url}, + }, '.', None)) + assert service_dict[0]['build'] == valid_url + class GetDefaultConfigFilesTestCase(unittest.TestCase): From 69e956ce8b7d278dccf705d74280836f20fbf68a Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Thu, 19 Nov 2015 15:46:14 -0500 Subject: [PATCH 214/221] Add integration test and docs for build with a git url. Signed-off-by: Daniel Nephin --- compose/config/config.py | 3 ++- docs/compose-file.md | 11 +++++++---- tests/integration/service_test.py | 7 +++++++ tests/unit/config/config_test.py | 16 +++++++++++++++- 4 files changed, 31 insertions(+), 6 deletions(-) diff --git a/compose/config/config.py b/compose/config/config.py index 05ef8a59d..b5847d2ec 100644 --- a/compose/config/config.py +++ b/compose/config/config.py @@ -573,7 +573,8 @@ def validate_paths(service_dict): (not os.path.exists(build_path) or not os.access(build_path, os.R_OK)) ): raise ConfigurationError( - "build path %s either does not exist or is not accessible." % build_path) + "build path %s either does not exist, is not accessible, " + "or is not a valid URL." % build_path) def merge_path_mappings(base, override): diff --git a/docs/compose-file.md b/docs/compose-file.md index 51d1f5e1a..800d2aa98 100644 --- a/docs/compose-file.md +++ b/docs/compose-file.md @@ -31,15 +31,18 @@ definition. ### build -Path to a directory containing a Dockerfile. When the value supplied is a -relative path, it is interpreted as relative to the location of the yml file -itself. This directory is also the build context that is sent to the Docker daemon. +Either a path to a directory containing a Dockerfile, or a url to a git repository. + +When the value supplied is a relative path, it is interpreted as relative to the +location of the Compose file. This directory is also the build context that is +sent to the Docker daemon. Compose will build and tag it with a generated name, and use that image thereafter. build: /path/to/build/dir -Using `build` together with `image` is not allowed. Attempting to do so results in an error. +Using `build` together with `image` is not allowed. Attempting to do so results in +an error. ### cap_add, cap_drop diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py index 6808280f0..01133d585 100644 --- a/tests/integration/service_test.py +++ b/tests/integration/service_test.py @@ -501,6 +501,13 @@ class ServiceTest(DockerClientTestCase): self.create_service('web', build=text_type(base_dir)).build() self.assertEqual(len(self.client.images(name='composetest_web')), 1) + def test_build_with_git_url(self): + build_url = "https://github.com/dnephin/docker-build-from-url.git" + service = self.create_service('buildwithurl', build=build_url) + self.addCleanup(self.client.remove_image, service.image_name) + service.build() + assert service.image() + def test_start_container_stays_unpriviliged(self): service = self.create_service('web') container = create_and_start_container(service).inspect() diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 6de794ade..e15ac3502 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -1497,13 +1497,14 @@ class BuildPathTest(unittest.TestCase): service_dict = load_from_filename('tests/fixtures/build-path/docker-compose.yml') self.assertEquals(service_dict, [{'name': 'foo', 'build': self.abs_context_path}]) - def test_valid_url_path(self): + def test_valid_url_in_build_path(self): valid_urls = [ 'git://github.com/docker/docker', 'git@github.com:docker/docker.git', 'git@bitbucket.org:atlassianlabs/atlassian-docker.git', 'https://github.com/docker/docker.git', 'http://github.com/docker/docker.git', + 'github.com/docker/docker.git', ] for valid_url in valid_urls: service_dict = config.load(build_config_details({ @@ -1511,6 +1512,19 @@ class BuildPathTest(unittest.TestCase): }, '.', None)) assert service_dict[0]['build'] == valid_url + def test_invalid_url_in_build_path(self): + invalid_urls = [ + 'example.com/bogus', + 'ftp://example.com/', + '/path/does/not/exist', + ] + for invalid_url in invalid_urls: + with pytest.raises(ConfigurationError) as exc: + config.load(build_config_details({ + 'invalidurl': {'build': invalid_url}, + }, '.', None)) + assert 'build path' in exc.exconly() + class GetDefaultConfigFilesTestCase(unittest.TestCase): From e67419065ac55e8e9aae9bce73021e7da571733c Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 26 Nov 2015 15:06:30 +0000 Subject: [PATCH 215/221] Fix ports validation test We were essentially only testing that *at least one* of the invalid values fails the validation check, rather than that *all* of them fail. Signed-off-by: Aanand Prasad --- tests/unit/config/config_test.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index e15ac3502..a33944e77 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -264,9 +264,8 @@ class ConfigTest(unittest.TestCase): assert services[0]['name'] == valid_name def test_config_invalid_ports_format_validation(self): - expected_error_msg = "Service 'web' configuration key 'ports' contains an invalid type" - with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): - for invalid_ports in [{"1": "8000"}, False, 0, "8000", 8000, ["8000", "8000"]]: + for invalid_ports in [{"1": "8000"}, False, 0, "8000", 8000, ["8000", "8000"]]: + with pytest.raises(ConfigurationError): config.load( build_config_details( {'web': {'image': 'busybox', 'ports': invalid_ports}}, From ab36c9c6cd5df22f3647b1c619b1ae4c6b604208 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 26 Nov 2015 18:52:14 +0000 Subject: [PATCH 216/221] Refactor ports section of fields schema Signed-off-by: Aanand Prasad --- compose/config/fields_schema.json | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index 9cbcfd1b2..3f1f10fa6 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -83,16 +83,8 @@ "ports": { "type": "array", "items": { - "oneOf": [ - { - "type": "string", - "format": "ports" - }, - { - "type": "number", - "format": "ports" - } - ] + "type": ["string", "number"], + "format": "ports" }, "uniqueItems": true }, From 527bf3b0234e28d8de73d385c298ae1e0ecd15e2 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 26 Nov 2015 18:54:30 +0000 Subject: [PATCH 217/221] Fix ports validation message - The `raises` kwarg to the `cls_check` decorator was being used incorrectly (it should be an exception class, not an object). - We need to check for `error.cause` and get the message out of the exception object. NB: The particular case where validation fails in the case of `ports` is only when ranges don't match in length - no further validation is currently performed client-side. Signed-off-by: Aanand Prasad --- compose/config/validation.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/compose/config/validation.py b/compose/config/validation.py index 38020366d..24a45e768 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -36,16 +36,12 @@ DOCKER_CONFIG_HINTS = { VALID_NAME_CHARS = '[a-zA-Z0-9\._\-]' -@FormatChecker.cls_checks( - format="ports", - raises=ValidationError( - "Invalid port formatting, it should be " - "'[[remote_ip:]remote_port:]port[/protocol]'")) +@FormatChecker.cls_checks(format="ports", raises=ValidationError) def format_ports(instance): try: split_port(instance) - except ValueError: - return False + except ValueError as e: + raise ValidationError(six.text_type(e)) return True @@ -184,6 +180,10 @@ def handle_generic_service_error(error, service_name): config_key, required_keys) + elif error.cause: + error_msg = six.text_type(error.cause) + msg_format = "Service '{}' configuration key {} is invalid: {}" + elif error.path: msg_format = "Service '{}' configuration key {} value {}" From e6fbca42a13c6eda9af333f8775b8369ed0ec585 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 26 Nov 2015 19:17:13 +0000 Subject: [PATCH 218/221] Split out ports validation tests into type, uniqueness, format Signed-off-by: Aanand Prasad --- tests/unit/config/config_test.py | 86 ++++++++++++++++++++++++-------- 1 file changed, 64 insertions(+), 22 deletions(-) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index a33944e77..863da3b2d 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -263,28 +263,6 @@ class ConfigTest(unittest.TestCase): 'common.yml')) assert services[0]['name'] == valid_name - def test_config_invalid_ports_format_validation(self): - for invalid_ports in [{"1": "8000"}, False, 0, "8000", 8000, ["8000", "8000"]]: - with pytest.raises(ConfigurationError): - config.load( - build_config_details( - {'web': {'image': 'busybox', 'ports': invalid_ports}}, - 'working_dir', - 'filename.yml' - ) - ) - - def test_config_valid_ports_format_validation(self): - valid_ports = [["8000", "9000"], ["8000/8050"], ["8000"], [8000], ["49153-49154:3002-3003"]] - for ports in valid_ports: - config.load( - build_config_details( - {'web': {'image': 'busybox', 'ports': ports}}, - 'working_dir', - 'filename.yml' - ) - ) - def test_config_hint(self): expected_error_msg = "(did you mean 'privileged'?)" with self.assertRaisesRegexp(ConfigurationError, expected_error_msg): @@ -558,6 +536,70 @@ class ConfigTest(unittest.TestCase): assert "which is an invalid type" in exc.exconly() +class PortsTest(unittest.TestCase): + INVALID_PORTS_TYPES = [ + {"1": "8000"}, + False, + "8000", + 8000, + ] + + NON_UNIQUE_SINGLE_PORTS = [ + ["8000", "8000"], + ] + + INVALID_PORT_MAPPINGS = [ + ["8000-8001:8000"], + ] + + VALID_SINGLE_PORTS = [ + ["8000"], + ["8000/tcp"], + ["8000", "9000"], + [8000], + [8000, 9000], + ] + + VALID_PORT_MAPPINGS = [ + ["8000:8050"], + ["49153-49154:3002-3003"], + ] + + def test_config_invalid_ports_type_validation(self): + for invalid_ports in self.INVALID_PORTS_TYPES: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'ports': invalid_ports}) + + assert "contains an invalid type" in exc.value.msg + + def test_config_non_unique_ports_validation(self): + for invalid_ports in self.NON_UNIQUE_SINGLE_PORTS: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'ports': invalid_ports}) + + assert "non-unique" in exc.value.msg + + def test_config_invalid_ports_format_validation(self): + for invalid_ports in self.INVALID_PORT_MAPPINGS: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'ports': invalid_ports}) + + assert "Port ranges don't match in length" in exc.value.msg + + def test_config_valid_ports_format_validation(self): + for valid_ports in self.VALID_SINGLE_PORTS + self.VALID_PORT_MAPPINGS: + self.check_config({'ports': valid_ports}) + + def check_config(self, cfg): + config.load( + build_config_details( + {'web': dict(image='busybox', **cfg)}, + 'working_dir', + 'filename.yml' + ) + ) + + class InterpolationTest(unittest.TestCase): @mock.patch.dict(os.environ) def test_config_file_with_environment_variable(self): From 96f4a42a3572ec05bb37116cd53664fb6df629f9 Mon Sep 17 00:00:00 2001 From: Aanand Prasad Date: Thu, 26 Nov 2015 19:17:58 +0000 Subject: [PATCH 219/221] Validate the 'expose' option Signed-off-by: Aanand Prasad --- compose/config/fields_schema.json | 5 ++++- compose/config/validation.py | 14 +++++++++++++- tests/unit/config/config_test.py | 27 +++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 2 deletions(-) diff --git a/compose/config/fields_schema.json b/compose/config/fields_schema.json index 3f1f10fa6..7d5220e3f 100644 --- a/compose/config/fields_schema.json +++ b/compose/config/fields_schema.json @@ -41,7 +41,10 @@ "expose": { "type": "array", - "items": {"type": ["string", "number"]}, + "items": { + "type": ["string", "number"], + "format": "expose" + }, "uniqueItems": true }, diff --git a/compose/config/validation.py b/compose/config/validation.py index 24a45e768..d16bdb9d3 100644 --- a/compose/config/validation.py +++ b/compose/config/validation.py @@ -1,6 +1,7 @@ import json import logging import os +import re import sys import six @@ -34,6 +35,7 @@ DOCKER_CONFIG_HINTS = { VALID_NAME_CHARS = '[a-zA-Z0-9\._\-]' +VALID_EXPOSE_FORMAT = r'^\d+(\/[a-zA-Z]+)?$' @FormatChecker.cls_checks(format="ports", raises=ValidationError) @@ -45,6 +47,16 @@ def format_ports(instance): return True +@FormatChecker.cls_checks(format="expose", raises=ValidationError) +def format_expose(instance): + if isinstance(instance, six.string_types): + if not re.match(VALID_EXPOSE_FORMAT, instance): + raise ValidationError( + "should be of the format 'PORT[/PROTOCOL]'") + + return True + + @FormatChecker.cls_checks(format="bool-value-in-mapping") def format_boolean_in_environment(instance): """ @@ -273,7 +285,7 @@ def validate_against_fields_schema(config, filename): _validate_against_schema( config, "fields_schema.json", - format_checker=["ports", "bool-value-in-mapping"], + format_checker=["ports", "expose", "bool-value-in-mapping"], filename=filename) diff --git a/tests/unit/config/config_test.py b/tests/unit/config/config_test.py index 863da3b2d..20705d555 100644 --- a/tests/unit/config/config_test.py +++ b/tests/unit/config/config_test.py @@ -590,6 +590,33 @@ class PortsTest(unittest.TestCase): for valid_ports in self.VALID_SINGLE_PORTS + self.VALID_PORT_MAPPINGS: self.check_config({'ports': valid_ports}) + def test_config_invalid_expose_type_validation(self): + for invalid_expose in self.INVALID_PORTS_TYPES: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'expose': invalid_expose}) + + assert "contains an invalid type" in exc.value.msg + + def test_config_non_unique_expose_validation(self): + for invalid_expose in self.NON_UNIQUE_SINGLE_PORTS: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'expose': invalid_expose}) + + assert "non-unique" in exc.value.msg + + def test_config_invalid_expose_format_validation(self): + # Valid port mappings ARE NOT valid 'expose' entries + for invalid_expose in self.INVALID_PORT_MAPPINGS + self.VALID_PORT_MAPPINGS: + with pytest.raises(ConfigurationError) as exc: + self.check_config({'expose': invalid_expose}) + + assert "should be of the format" in exc.value.msg + + def test_config_valid_expose_format_validation(self): + # Valid single ports ARE valid 'expose' entries + for valid_expose in self.VALID_SINGLE_PORTS: + self.check_config({'expose': valid_expose}) + def check_config(self, cfg): config.load( build_config_details( From aaf66e34856361cfbf63638fa5bad93d6d75643a Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 21 Oct 2015 20:13:43 -0400 Subject: [PATCH 220/221] FAQ document for Compose Signed-off-by: Daniel Nephin --- docs/faq.md | 139 +++++++++++++++++++++++++ docs/index.md | 1 + script/travis/render-bintray-config.py | 4 +- 3 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 docs/faq.md diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 000000000..b36eb5ac5 --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,139 @@ + + +# Frequently asked questions + +If you don’t see your question here, feel free to drop by `#docker-compose` on +freenode IRC and ask the community. + +## Why do my services take 10 seconds to stop? + +Compose stop attempts to stop a container by sending a `SIGTERM`. It then waits +for a [default timeout of 10 seconds](./reference/stop.md). After the timeout, +a `SIGKILL` is sent to the container to forcefully kill it. If you +are waiting for this timeout, it means that your containers aren't shutting down +when they receive the `SIGTERM` signal. + +There has already been a lot written about this problem of +[processes handling signals](https://medium.com/@gchudnov/trapping-signals-in-docker-containers-7a57fdda7d86) +in containers. + +To fix this problem, try the following: + +* Make sure you're using the JSON form of `CMD` and `ENTRYPOINT` +in your Dockerfile. + + For example use `["program", "arg1", "arg2"]` not `"program arg1 arg2"`. + Using the string form causes Docker to run your process using `bash` which + doesn't handle signals properly. Compose always uses the JSON form, so don't + worry if you override the command or entrypoint in your Compose file. + +* If you are able, modify the application that you're running to +add an explicit signal handler for `SIGTERM`. + +* If you can't modify the application, wrap the application in a lightweight init +system (like [s6](http://skarnet.org/software/s6/)) or a signal proxy (like +[dumb-init](https://github.com/Yelp/dumb-init) or +[tini](https://github.com/krallin/tini)). Either of these wrappers take care of +handling `SIGTERM` properly. + +## How do I run multiple copies of a Compose file on the same host? + +Compose uses the project name to create unique identifiers for all of a +project's containers and other resources. To run multiple copies of a project, +set a custom project name using the [`-p` command line +option](./reference/docker-compose.md) or the [`COMPOSE_PROJECT_NAME` +environment variable](./reference/overview.md#compose-project-name). + +## What's the difference between `up`, `run`, and `start`? + +Typically, you want `docker-compose up`. Use `up` to start or restart all the +services defined in a `docker-compose.yml`. In the default "attached" +mode, you'll see all the logs from all the containers. In "detached" mode (`-d`), +Compose exits after starting the containers, but the containers continue to run +in the background. + +The `docker-compose run` command is for running "one-off" or "adhoc" tasks. It +requires the service name you want to run and only starts containers for services +that the running service depends on. Use `run` to run tests or perform +an administrative task such as removing or adding data to a data volume +container. The `run` command acts like `docker run -ti` in that it opens an +interactive terminal to the container and returns an exit status matching the +exit status of the process in the container. + +The `docker-compose start` command is useful only to restart containers +that were previously created, but were stopped. It never creates new +containers. + +## Can I use json instead of yaml for my Compose file? + +Yes. [Yaml is a superset of json](http://stackoverflow.com/a/1729545/444646) so +any JSON file should be valid Yaml. To use a JSON file with Compose, +specify the filename to use, for example: + +```bash +docker-compose -f docker-compose.json up +``` + +## How do I get Compose to wait for my database to be ready before starting my application? + +Unfortunately, Compose won't do that for you but for a good reason. + +The problem of waiting for a database to be ready is really just a subset of a +much larger problem of distributed systems. In production, your database could +become unavailable or move hosts at any time. The application needs to be +resilient to these types of failures. + +To handle this, the application would attempt to re-establish a connection to +the database after a failure. If the application retries the connection, +it should eventually be able to connect to the database. + +To wait for the application to be in a good state, you can implement a +healthcheck. A healthcheck makes a request to the application and checks +the response for a success status code. If it is not successful it waits +for a short period of time, and tries again. After some timeout value, the check +stops trying and report a failure. + +If you need to run tests against your application, you can start by running a +healthcheck. Once the healthcheck gets a successful response, you can start +running your tests. + + +## Should I include my code with `COPY`/`ADD` or a volume? + +You can add your code to the image using `COPY` or `ADD` directive in a +`Dockerfile`. This is useful if you need to relocate your code along with the +Docker image, for example when you're sending code to another environment +(production, CI, etc). + +You should use a `volume` if you want to make changes to your code and see them +reflected immediately, for example when you're developing code and your server +supports hot code reloading or live-reload. + +There may be cases where you'll want to use both. You can have the image +include the code using a `COPY`, and use a `volume` in your Compose file to +include the code from the host during development. The volume overrides +the directory contents of the image. + +## Where can I find example compose files? + +There are [many examples of Compose files on +github](https://github.com/search?q=in%3Apath+docker-compose.yml+extension%3Ayml&type=Code). + + +## Compose documentation + +- [Installing Compose](install.md) +- [Get started with Django](django.md) +- [Get started with Rails](rails.md) +- [Get started with WordPress](wordpress.md) +- [Command line reference](./reference/index.md) +- [Compose file reference](compose-file.md) diff --git a/docs/index.md b/docs/index.md index 279154eef..8b32a7541 100644 --- a/docs/index.md +++ b/docs/index.md @@ -59,6 +59,7 @@ Compose has commands for managing the whole lifecycle of your application: - [Get started with Django](django.md) - [Get started with Rails](rails.md) - [Get started with WordPress](wordpress.md) +- [Frequently asked questions](faq.md) - [Command line reference](./reference/index.md) - [Compose file reference](compose-file.md) diff --git a/script/travis/render-bintray-config.py b/script/travis/render-bintray-config.py index 6aa468d6d..fc5d409a0 100755 --- a/script/travis/render-bintray-config.py +++ b/script/travis/render-bintray-config.py @@ -1,4 +1,6 @@ #!/usr/bin/env python +from __future__ import print_function + import datetime import os.path import sys @@ -6,4 +8,4 @@ import sys os.environ['DATE'] = str(datetime.date.today()) for line in sys.stdin: - print os.path.expandvars(line), + print(os.path.expandvars(line), end='') From 7240ff35eeac36d7fb53892af495bb172e0e00c2 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 2 Dec 2015 17:06:17 -0800 Subject: [PATCH 221/221] Bump 1.5.2 Signed-off-by: Daniel Nephin --- CHANGELOG.md | 22 ++++++++++++++++++++++ compose/__init__.py | 2 +- docs/install.md | 6 +++--- script/run.sh | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50aabcb8e..955184272 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,28 @@ Change log ========== +1.5.2 (2015-12-03) +------------------ + +- Fixed a bug which broke the use of `environment` and `env_file` with + `extends`, and caused environment keys without values to have a `None` + value, instead of a value from the host environment. + +- Fixed a regression in 1.5.1 that caused a warning about volumes to be + raised incorrectly when containers were recreated. + +- Fixed a bug which prevented building a `Dockerfile` that used `ADD ` + +- Fixed a bug with `docker-compose restart` which prevented it from + starting stopped containers. + +- Fixed handling of SIGTERM and SIGINT to properly stop containers + +- Add support for using a url as the value of `build` + +- Improved the validation of the `expose` option + + 1.5.1 (2015-11-12) ------------------ diff --git a/compose/__init__.py b/compose/__init__.py index 5f2b332af..03d61530a 100644 --- a/compose/__init__.py +++ b/compose/__init__.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '1.5.1' +__version__ = '1.5.2' diff --git a/docs/install.md b/docs/install.md index 5bbd6e595..6635ddf19 100644 --- a/docs/install.md +++ b/docs/install.md @@ -39,7 +39,7 @@ which the release page specifies, in your terminal. The following is an example command illustrating the format: - curl -L https://github.com/docker/compose/releases/download/1.5.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose + curl -L https://github.com/docker/compose/releases/download/1.5.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose If you have problems installing with `curl`, see [Alternative Install Options](#alternative-install-options). @@ -54,7 +54,7 @@ which the release page specifies, in your terminal. 7. Test the installation. $ docker-compose --version - docker-compose version: 1.5.1 + docker-compose version: 1.5.2 ## Alternative install options @@ -77,7 +77,7 @@ to get started. Compose can also be run inside a container, from a small bash script wrapper. To install compose as a container run: - $ curl -L https://github.com/docker/compose/releases/download/1.5.1/run.sh > /usr/local/bin/docker-compose + $ curl -L https://github.com/docker/compose/releases/download/1.5.2/run.sh > /usr/local/bin/docker-compose $ chmod +x /usr/local/bin/docker-compose ## Master builds diff --git a/script/run.sh b/script/run.sh index 9563b2e9c..c5f7cc865 100755 --- a/script/run.sh +++ b/script/run.sh @@ -15,7 +15,7 @@ set -e -VERSION="1.5.1" +VERSION="1.5.2" IMAGE="docker/compose:$VERSION"

Msz>%Ih=Gco4~ge)=VM)2vp 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≪CBLH-)(%UXH$ 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 z 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�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