From d5366fcbdc42d06ca91e15c188b88b40e18d2363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Armando=20Garc=C3=ADa=20Sancio?= Date: Sat, 26 Sep 2015 18:20:39 -0700 Subject: [PATCH] dcos-3254 Implement package create --- cli/dcoscli/data/help/package.txt | 93 +++---- cli/dcoscli/data/universe-schema/command.json | 20 ++ cli/dcoscli/data/universe-schema/config.json | 150 ++++++++++++ cli/dcoscli/data/universe-schema/package.json | 78 ++++++ cli/dcoscli/package/main.py | 228 ++++++++++++++++- cli/setup.py | 1 + cli/tests/data/help/package.txt | 93 +++---- cli/tests/data/package/cassandra.zip | Bin 0 -> 27907 bytes .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../data/package/create-directory/config.json | 229 ++++++++++++++++++ .../create-directory/images/icon-large.png | Bin 0 -> 17969 bytes .../create-directory/images/icon-medium.png | Bin 0 -> 5070 bytes .../create-directory/images/icon-small.png | Bin 0 -> 1920 bytes .../create-directory/marathon.json.mustache | 74 ++++++ .../package/create-directory/package.json | 18 ++ .../assets/extra-file | 0 .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../extra-assets-files-directory/config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../extra-assets-files-directory/package.json | 18 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../package/extra-files-directory/config.json | 229 ++++++++++++++++++ .../package/extra-files-directory/extra-file | 0 .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../extra-files-directory/package.json | 18 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../package/extra-icons-directory/config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../extra-icons-directory/images/non-png | 0 .../marathon.json.mustache | 74 ++++++ .../extra-icons-directory/package.json | 18 ++ cli/tests/data/package/help.txt | 75 ------ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../command.json | 3 + .../config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../package.json | 18 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../invalid-config-json-directory/config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../package.json | 18 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../package.json | 17 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../non-png-icons-directory/config.json | 229 ++++++++++++++++++ .../images/icon-large.png | 0 .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../marathon.json.mustache | 74 ++++++ .../non-png-icons-directory/package.json | 18 ++ .../assets/uris/cassandra-mesos.tar.gz | 0 .../assets/uris/jre-linux.tar.gz | 0 .../non-png-screenshots-directory/config.json | 229 ++++++++++++++++++ .../images/icon-large.png | Bin 0 -> 17969 bytes .../images/icon-medium.png | Bin 0 -> 5070 bytes .../images/icon-small.png | Bin 0 -> 1920 bytes .../images/screenshots/non-png.png | 0 .../marathon.json.mustache | 74 ++++++ .../package.json | 18 ++ cli/tests/integrations/test_package.py | 2 +- cli/tests/integrations/test_package_bundle.py | 206 ++++++++++++++++ dcos/subcommand.py | 14 +- dcos/util.py | 57 +++-- setup.py | 10 +- 98 files changed, 4022 insertions(+), 199 deletions(-) create mode 100644 cli/dcoscli/data/universe-schema/command.json create mode 100644 cli/dcoscli/data/universe-schema/config.json create mode 100644 cli/dcoscli/data/universe-schema/package.json create mode 100644 cli/tests/data/package/cassandra.zip create mode 100644 cli/tests/data/package/create-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/create-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/create-directory/config.json create mode 100644 cli/tests/data/package/create-directory/images/icon-large.png create mode 100644 cli/tests/data/package/create-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/create-directory/images/icon-small.png create mode 100644 cli/tests/data/package/create-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/create-directory/package.json create mode 100644 cli/tests/data/package/extra-assets-files-directory/assets/extra-file create mode 100644 cli/tests/data/package/extra-assets-files-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/extra-assets-files-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/extra-assets-files-directory/config.json create mode 100644 cli/tests/data/package/extra-assets-files-directory/images/icon-large.png create mode 100644 cli/tests/data/package/extra-assets-files-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/extra-assets-files-directory/images/icon-small.png create mode 100644 cli/tests/data/package/extra-assets-files-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/extra-assets-files-directory/package.json create mode 100644 cli/tests/data/package/extra-files-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/extra-files-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/extra-files-directory/config.json create mode 100644 cli/tests/data/package/extra-files-directory/extra-file create mode 100644 cli/tests/data/package/extra-files-directory/images/icon-large.png create mode 100644 cli/tests/data/package/extra-files-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/extra-files-directory/images/icon-small.png create mode 100644 cli/tests/data/package/extra-files-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/extra-files-directory/package.json create mode 100644 cli/tests/data/package/extra-icons-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/extra-icons-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/extra-icons-directory/config.json create mode 100644 cli/tests/data/package/extra-icons-directory/images/icon-large.png create mode 100644 cli/tests/data/package/extra-icons-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/extra-icons-directory/images/icon-small.png create mode 100644 cli/tests/data/package/extra-icons-directory/images/non-png create mode 100644 cli/tests/data/package/extra-icons-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/extra-icons-directory/package.json delete mode 100644 cli/tests/data/package/help.txt create mode 100644 cli/tests/data/package/invalid-command-json-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/invalid-command-json-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/invalid-command-json-directory/command.json create mode 100644 cli/tests/data/package/invalid-command-json-directory/config.json create mode 100644 cli/tests/data/package/invalid-command-json-directory/images/icon-large.png create mode 100644 cli/tests/data/package/invalid-command-json-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/invalid-command-json-directory/images/icon-small.png create mode 100644 cli/tests/data/package/invalid-command-json-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/invalid-command-json-directory/package.json create mode 100644 cli/tests/data/package/invalid-config-json-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/invalid-config-json-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/invalid-config-json-directory/config.json create mode 100644 cli/tests/data/package/invalid-config-json-directory/images/icon-large.png create mode 100644 cli/tests/data/package/invalid-config-json-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/invalid-config-json-directory/images/icon-small.png create mode 100644 cli/tests/data/package/invalid-config-json-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/invalid-config-json-directory/package.json create mode 100644 cli/tests/data/package/invalid-package-json-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/invalid-package-json-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/invalid-package-json-directory/config.json create mode 100644 cli/tests/data/package/invalid-package-json-directory/images/icon-large.png create mode 100644 cli/tests/data/package/invalid-package-json-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/invalid-package-json-directory/images/icon-small.png create mode 100644 cli/tests/data/package/invalid-package-json-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/invalid-package-json-directory/package.json create mode 100644 cli/tests/data/package/missing-package-json-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/missing-package-json-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/missing-package-json-directory/config.json create mode 100644 cli/tests/data/package/missing-package-json-directory/images/icon-large.png create mode 100644 cli/tests/data/package/missing-package-json-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/missing-package-json-directory/images/icon-small.png create mode 100644 cli/tests/data/package/missing-package-json-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/non-png-icons-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/non-png-icons-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/non-png-icons-directory/config.json create mode 100644 cli/tests/data/package/non-png-icons-directory/images/icon-large.png create mode 100644 cli/tests/data/package/non-png-icons-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/non-png-icons-directory/images/icon-small.png create mode 100644 cli/tests/data/package/non-png-icons-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/non-png-icons-directory/package.json create mode 100644 cli/tests/data/package/non-png-screenshots-directory/assets/uris/cassandra-mesos.tar.gz create mode 100644 cli/tests/data/package/non-png-screenshots-directory/assets/uris/jre-linux.tar.gz create mode 100644 cli/tests/data/package/non-png-screenshots-directory/config.json create mode 100644 cli/tests/data/package/non-png-screenshots-directory/images/icon-large.png create mode 100644 cli/tests/data/package/non-png-screenshots-directory/images/icon-medium.png create mode 100644 cli/tests/data/package/non-png-screenshots-directory/images/icon-small.png create mode 100644 cli/tests/data/package/non-png-screenshots-directory/images/screenshots/non-png.png create mode 100644 cli/tests/data/package/non-png-screenshots-directory/marathon.json.mustache create mode 100644 cli/tests/data/package/non-png-screenshots-directory/package.json create mode 100644 cli/tests/integrations/test_package_bundle.py diff --git a/cli/dcoscli/data/help/package.txt b/cli/dcoscli/data/help/package.txt index 29be4df..e4753fa 100644 --- a/cli/dcoscli/data/help/package.txt +++ b/cli/dcoscli/data/help/package.txt @@ -3,73 +3,82 @@ Install and manage DCOS packages Usage: dcos package --config-schema dcos package --info + dcos package bundle [--output-directory=] + dcos package describe [--app --cli --config] [--render] [--package-versions] [--options=] [--package-version=] - + dcos package install [--cli | [--app --app-id=]] [--package-version=] - [--options=] [--yes] - dcos package list [--json --endpoints --app-id= ] + [--options=] + [--yes] + + dcos package list [--json --endpoints --app-id= ] dcos package search [--json ] dcos package sources dcos package uninstall [--cli | [--app --app-id= --all]] - + dcos package update [--validate] Options: - --all Apply the operation to all matching packages + --all + Apply the operation to all matching packages - --app Apply the operation only to the package's - Marathon application + --app + Apply the operation only to the package's Marathon application - --app-id= The application id + --app-id= + The application id - --cli Apply the operation only to the package's CLI - command + --cli + Apply the operation only to the package's CLI command - --config Print the package's config.json, which contains - the configurable properties for marathon.json - and command.json + --config + Print the package's config.json, which contains the configurable + properties for marathon.json and command.json - -h, --help Show this screen + -h, --help + Show this screen - --info Show a short description of this subcommand + --info + Show a short description of this subcommand - --options= Path to a JSON file containing package - installation options + --options= + Path to a JSON file containing package installation options - --package-version= Package version to install + --output-directory= + Directory path where the DCOS package will be created. By default the + package will be created in the current working directory - --package-versions Print all versions for this package + --package-version= + Package version to install - --render Render the package's marathon.json or - command.json template with the values from - config.json and --options. If not provided, - print the raw templates. + --package-versions + Print all versions for this package - --validate Validate package content when updating sources + --render + Render the package's marathon.json or command.json template with the + values from config.json and --options. If not provided, print the raw + templates. - --version Show version + --validate + Validate package content when updating sources - --yes Assume "yes" is the answer to all prompts and - run non-interactively + --version + Show version -Configuration: - [package] - # Path to the local package cache. - cache_dir = "/var/dcos/cache" + --yes + Assume "yes" is the answer to all prompts and run non-interactively - # List of package sources, in search order. - # - # Three protocols are supported: - # - Local file - # - HTTPS - # - Git - sources = [ - "file:///Users/me/test-registry", - "https://my.org/registry", - "git://github.com/mesosphere/universe.git" - ] +Positional Arguments: + + Path to the directory containing the DCOS package + + + Name of the DCOS package + + + Pattern to use for searching for package diff --git a/cli/dcoscli/data/universe-schema/command.json b/cli/dcoscli/data/universe-schema/command.json new file mode 100644 index 0000000..dbb355b --- /dev/null +++ b/cli/dcoscli/data/universe-schema/command.json @@ -0,0 +1,20 @@ +{ + "$schema": "http://json-schema.org/schema#", + "oneOf": [ + { + "type": "object", + "properties": { + "pip": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Embedded Requirements File", + "description": "An array of strings representing of the requirements file to use for installing the subcommand for Pip. Each item is interpreted as a line in the requirements file." + } + }, + "additionalProperties": false, + "required": ["pip"] + } + ] +} diff --git a/cli/dcoscli/data/universe-schema/config.json b/cli/dcoscli/data/universe-schema/config.json new file mode 100644 index 0000000..85eb502 --- /dev/null +++ b/cli/dcoscli/data/universe-schema/config.json @@ -0,0 +1,150 @@ +{ + "id": "http://json-schema.org/draft-04/schema#", + "$schema": "http://json-schema.org/draft-04/schema#", + "description": "Core schema meta-schema", + "definitions": { + "schemaArray": { + "type": "array", + "minItems": 1, + "items": { "$ref": "#" } + }, + "positiveInteger": { + "type": "integer", + "minimum": 0 + }, + "positiveIntegerDefault0": { + "allOf": [ { "$ref": "#/definitions/positiveInteger" }, { "default": 0 } ] + }, + "simpleTypes": { + "enum": [ "array", "boolean", "integer", "null", "number", "object", "string" ] + }, + "stringArray": { + "type": "array", + "items": { "type": "string" }, + "minItems": 1, + "uniqueItems": true + } + }, + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uri" + }, + "$schema": { + "type": "string", + "format": "uri" + }, + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "default": {}, + "multipleOf": { + "type": "number", + "minimum": 0, + "exclusiveMinimum": true + }, + "maximum": { + "type": "number" + }, + "exclusiveMaximum": { + "type": "boolean", + "default": false + }, + "minimum": { + "type": "number" + }, + "exclusiveMinimum": { + "type": "boolean", + "default": false + }, + "maxLength": { "$ref": "#/definitions/positiveInteger" }, + "minLength": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "pattern": { + "type": "string", + "format": "regex" + }, + "additionalItems": { + "anyOf": [ + { "type": "boolean" }, + { "$ref": "#" } + ], + "default": {} + }, + "items": { + "anyOf": [ + { "$ref": "#" }, + { "$ref": "#/definitions/schemaArray" } + ], + "default": {} + }, + "maxItems": { "$ref": "#/definitions/positiveInteger" }, + "minItems": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "uniqueItems": { + "type": "boolean", + "default": false + }, + "maxProperties": { "$ref": "#/definitions/positiveInteger" }, + "minProperties": { "$ref": "#/definitions/positiveIntegerDefault0" }, + "required": { "$ref": "#/definitions/stringArray" }, + "additionalProperties": { + "anyOf": [ + { "type": "boolean" }, + { "$ref": "#" } + ], + "default": {} + }, + "definitions": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "properties": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "patternProperties": { + "type": "object", + "additionalProperties": { "$ref": "#" }, + "default": {} + }, + "dependencies": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { "$ref": "#" }, + { "$ref": "#/definitions/stringArray" } + ] + } + }, + "enum": { + "type": "array", + "minItems": 1, + "uniqueItems": true + }, + "type": { + "anyOf": [ + { "$ref": "#/definitions/simpleTypes" }, + { + "type": "array", + "items": { "$ref": "#/definitions/simpleTypes" }, + "minItems": 1, + "uniqueItems": true + } + ] + }, + "allOf": { "$ref": "#/definitions/schemaArray" }, + "anyOf": { "$ref": "#/definitions/schemaArray" }, + "oneOf": { "$ref": "#/definitions/schemaArray" }, + "not": { "$ref": "#" } + }, + "dependencies": { + "exclusiveMaximum": [ "maximum" ], + "exclusiveMinimum": [ "minimum" ] + }, + "default": {} +} diff --git a/cli/dcoscli/data/universe-schema/package.json b/cli/dcoscli/data/universe-schema/package.json new file mode 100644 index 0000000..c364dbe --- /dev/null +++ b/cli/dcoscli/data/universe-schema/package.json @@ -0,0 +1,78 @@ +{ + "$schema": "http://json-schema.org/schema#", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + }, + "scm": { + "type": "string" + }, + "maintainer": { + "type": "string" + }, + "website": { + "type": "string" + }, + "description": { + "type": "string" + }, + "framework": { + "type": "boolean", + "default": false, + "description": "True if this package installs a new Mesos framework." + }, + "preInstallNotes": { + "type": "string", + "description": "Pre installation notes that would be useful to the user of this package." + }, + "postInstallNotes": { + "type": "string", + "description": "Post installation notes that would be useful to the user of this package." + }, + "postUninstallNotes": { + "type": "string", + "description": "Post uninstallation notes that would be useful to the user of this package." + }, + "tags": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[^\\s]+$" + } + }, + "licenses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the license. For example one of [Apache License Version 2.0 | MIT License | BSD License | Proprietary]" + }, + "url": { + "type": "string", + "pattern": "((?<=\\()[A-Za-z][A-Za-z0-9\\+\\.\\-]*:([A-Za-z0-9\\.\\-_~:/\\?#\\[\\]@!\\$&'\\(\\)\\*\\+,;=]|%[A-Fa-f0-9]{2})+(?=\\)))|([A-Za-z][A-Za-z0-9\\+\\.\\-]*:([A-Za-z0-9\\.\\-_~:/\\?#\\[\\]@!\\$&'\\(\\)\\*\\+,;=]|%[A-Fa-f0-9]{2})+)", + "description": "The URL where the license can be accessed" + } + }, + "additionalProperties": false, + "required": [ + "name", + "url" + ] + } + } + }, + "required": [ + "name", + "version", + "maintainer", + "description", + "tags" + ], + "additionalProperties": false +} diff --git a/cli/dcoscli/package/main.py b/cli/dcoscli/package/main.py index 0c0e1e9..fca3df0 100644 --- a/cli/dcoscli/package/main.py +++ b/cli/dcoscli/package/main.py @@ -1,12 +1,15 @@ +import hashlib import json import os import sys +import tempfile +import zipfile import dcoscli import docopt import pkg_resources -from dcos import (cmds, emitting, http, marathon, options, package, subcommand, - util) +from dcos import (cmds, emitting, errors, http, marathon, options, package, + subcommand, util) from dcos.errors import DCOSException from dcoscli import tables from dcoscli.main import decorate_docopt_usage @@ -60,20 +63,20 @@ def _cmds(): cmds.Command( hierarchy=['package', 'describe'], - arg_keys=['', '--app', '--cli', '--options', + arg_keys=['', '--app', '--cli', '--options', '--render', '--package-versions', '--package-version', '--config'], function=_describe), cmds.Command( hierarchy=['package', 'install'], - arg_keys=['', '--package-version', '--options', + arg_keys=['', '--package-version', '--options', '--app-id', '--cli', '--app', '--yes'], function=_install), cmds.Command( hierarchy=['package', 'list'], - arg_keys=['--json', '--endpoints', '--app-id', ''], + arg_keys=['--json', '--endpoints', '--app-id', ''], function=_list), cmds.Command( @@ -83,9 +86,14 @@ def _cmds(): cmds.Command( hierarchy=['package', 'uninstall'], - arg_keys=['', '--all', '--app-id', '--cli', '--app'], + arg_keys=['', '--all', '--app-id', '--cli', '--app'], function=_uninstall), + cmds.Command( + hierarchy=['package', 'bundle'], + arg_keys=['', '--output-directory'], + function=_bundle), + cmds.Command( hierarchy=['package'], arg_keys=['--config-schema', '--info'], @@ -517,3 +525,211 @@ def _uninstall(package_name, remove_all, app_id, cli, app): return 1 return 0 + + +def _bundle(package_directory, output_directory): + """ + :param package_directory: directory containing the package + :type package_directory: str + :param output_directory: directory where to save the package zip file + :type output_directory: str + :returns: process status + :rtype: int + """ + + if output_directory is None: + output_directory = os.getcwd() + logger.debug('Using [%s] as the ouput directory', output_directory) + + # Find package.json file and parse it + if not os.path.exists(os.path.join(package_directory, 'package.json')): + raise DCOSException( + ('The file package.json is required in the package directory ' + '[{}]').format(package_directory)) + + package_json = _validate_json_file( + os.path.join(package_directory, 'package.json')) + + with tempfile.NamedTemporaryFile() as temp_file: + with zipfile.ZipFile( + temp_file.name, + mode='w', + compression=zipfile.ZIP_DEFLATED, + allowZip64=True) as zip_file: + # list through package directory and add files zip archive + for filename in sorted(os.listdir(package_directory)): + fullpath = os.path.join(package_directory, filename) + if filename == 'marathon.json.mustache': + zip_file.write(fullpath, arcname=filename) + elif filename in ['config.json', 'command.json', + 'package.json']: + # schema check the config and command json file + _validate_json_file(fullpath) + zip_file.write(fullpath, arcname=filename) + elif filename == 'assets' and os.path.isdir(fullpath): + _bundle_assets(fullpath, zip_file) + elif filename == 'images' and os.path.isdir(fullpath): + _bundle_images(fullpath, zip_file) + else: + # anything else is an error + raise DCOSException( + ('Error bundling package. Extra file in package ' + 'directory [{}]').format(fullpath)) + + # Compute the name of the package file + zip_file_name = os.path.join( + output_directory, + '{}-{}-{}.zip'.format( + package_json['name'], + package_json['version'], + _hashfile(temp_file.name))) + + if os.path.exists(zip_file_name): + raise DCOSException( + 'Output file [{}] already exists'.format( + zip_file_name)) + + # rename with digest + util.sh_copy(temp_file.name, zip_file_name) + + # Print the full path to the file + emitter.publish( + errors.DefaultError( + 'Created DCOS Universe package [{}].'.format(zip_file_name))) + + return 0 + + +def _validate_json_file(fullpath): + """Validates the content of the file against its schema. Throws an + exception if the file is not valid. + + :param fullpath: full path to the file. + :type fullpath: str + :return: json object if it is a special file + :rtype: dict + """ + + filename = os.path.basename(fullpath) + if filename in ['command.json', 'config.json', 'package.json']: + schema_path = 'data/universe-schema/{}'.format(filename) + else: + raise DCOSException( + ('Error bundling package. Unknown file in package ' + 'directory [{}]').format(fullpath)) + + special_schema = util.load_jsons( + pkg_resources.resource_string('dcoscli', schema_path).decode('utf-8')) + + with util.open_file(fullpath) as special_file: + special_json = util.load_json(special_file) + + errs = util.validate_json(special_json, special_schema) + if errs: + emitter.publish( + errors.DefaultError( + 'Error validating JSON file [{}]'.format(fullpath))) + raise DCOSException(util.list_to_err(errs)) + + return special_json + + +def _hashfile(filename): + """Calculates the sha256 of a file + + :param filename: path to the file to sum + :type filename: str + :returns: digest in hexadecimal + :rtype: str + """ + + hasher = hashlib.sha256() + with open(filename, 'rb') as f: + for chunk in iter(lambda: f.read(4096), b''): + hasher.update(chunk) + return hasher.hexdigest() + + +def _bundle_assets(assets_directory, zip_file): + """Bundle the assets directory + + :param assets_directory: path to the assets directory + :type assets_directory: str + :param zip_file: zip file object + :type zip_file: zipfile.ZipFile + :rtype: None + """ + + for filename in sorted(os.listdir(assets_directory)): + fullpath = os.path.join(assets_directory, filename) + if filename == 'uris' and os.path.isdir(fullpath): + _bundle_uris(fullpath, zip_file) + else: + # anything else is an error + raise DCOSException( + ('Error bundling package. Extra file in package ' + 'directory [{}]').format(fullpath)) + + +def _bundle_uris(uris_directory, zip_file): + """Bundle the uris directory + + :param uris_directory: path to the uris directory + :type uris_directory: str + :param zip_file: zip file object + :type zip_file: zipfile.ZipFile + :rtype: None + """ + + for filename in sorted(os.listdir(uris_directory)): + fullpath = os.path.join(uris_directory, filename) + + zip_file.write(fullpath, arcname='assets/uris/{}'.format(filename)) + + +def _bundle_images(images_directory, zip_file): + """Bundle the images directory + + :param images_directory: path to the images directory + :type images_directory: str + :param zip_file: zip file object + :type zip_file: zipfile.ZipFile + :rtype: None + """ + + for filename in sorted(os.listdir(images_directory)): + fullpath = os.path.join(images_directory, filename) + if (filename == 'icon-small.png' or + filename == 'icon-medium.png' or + filename == 'icon-large.png'): + + util.validate_png(fullpath) + + zip_file.write(fullpath, arcname='images/{}'.format(filename)) + elif filename == 'screenshots' and os.path.isdir(fullpath): + _bundle_screenshots(fullpath, zip_file) + else: + # anything else is an error + raise DCOSException( + ('Error bundling package. Extra file in package ' + 'directory [{}]').format(fullpath)) + + +def _bundle_screenshots(screenshot_directory, zip_file): + """Bundle the screenshots directory + + :param screenshot_directory: path to the screenshots directory + :type screenshot_directory: str + :param zip_file: zip file object + :type zip_file: zipfile.ZipFile + :rtype: None + """ + + for filename in sorted(os.listdir(screenshot_directory)): + fullpath = os.path.join(screenshot_directory, filename) + + util.validate_png(fullpath) + + zip_file.write( + fullpath, + arcname='images/screenshots/{}'.format(filename)) diff --git a/cli/setup.py b/cli/setup.py index 1b39e7e..7fc59dc 100644 --- a/cli/setup.py +++ b/cli/setup.py @@ -83,6 +83,7 @@ setup( 'data/*.json', 'data/help/*.txt', 'data/config-schema/*.json', + 'data/universe-schema/*.json', ], }, diff --git a/cli/tests/data/help/package.txt b/cli/tests/data/help/package.txt index 29be4df..e4753fa 100644 --- a/cli/tests/data/help/package.txt +++ b/cli/tests/data/help/package.txt @@ -3,73 +3,82 @@ Install and manage DCOS packages Usage: dcos package --config-schema dcos package --info + dcos package bundle [--output-directory=] + dcos package describe [--app --cli --config] [--render] [--package-versions] [--options=] [--package-version=] - + dcos package install [--cli | [--app --app-id=]] [--package-version=] - [--options=] [--yes] - dcos package list [--json --endpoints --app-id= ] + [--options=] + [--yes] + + dcos package list [--json --endpoints --app-id= ] dcos package search [--json ] dcos package sources dcos package uninstall [--cli | [--app --app-id= --all]] - + dcos package update [--validate] Options: - --all Apply the operation to all matching packages + --all + Apply the operation to all matching packages - --app Apply the operation only to the package's - Marathon application + --app + Apply the operation only to the package's Marathon application - --app-id= The application id + --app-id= + The application id - --cli Apply the operation only to the package's CLI - command + --cli + Apply the operation only to the package's CLI command - --config Print the package's config.json, which contains - the configurable properties for marathon.json - and command.json + --config + Print the package's config.json, which contains the configurable + properties for marathon.json and command.json - -h, --help Show this screen + -h, --help + Show this screen - --info Show a short description of this subcommand + --info + Show a short description of this subcommand - --options= Path to a JSON file containing package - installation options + --options= + Path to a JSON file containing package installation options - --package-version= Package version to install + --output-directory= + Directory path where the DCOS package will be created. By default the + package will be created in the current working directory - --package-versions Print all versions for this package + --package-version= + Package version to install - --render Render the package's marathon.json or - command.json template with the values from - config.json and --options. If not provided, - print the raw templates. + --package-versions + Print all versions for this package - --validate Validate package content when updating sources + --render + Render the package's marathon.json or command.json template with the + values from config.json and --options. If not provided, print the raw + templates. - --version Show version + --validate + Validate package content when updating sources - --yes Assume "yes" is the answer to all prompts and - run non-interactively + --version + Show version -Configuration: - [package] - # Path to the local package cache. - cache_dir = "/var/dcos/cache" + --yes + Assume "yes" is the answer to all prompts and run non-interactively - # List of package sources, in search order. - # - # Three protocols are supported: - # - Local file - # - HTTPS - # - Git - sources = [ - "file:///Users/me/test-registry", - "https://my.org/registry", - "git://github.com/mesosphere/universe.git" - ] +Positional Arguments: + + Path to the directory containing the DCOS package + + + Name of the DCOS package + + + Pattern to use for searching for package diff --git a/cli/tests/data/package/cassandra.zip b/cli/tests/data/package/cassandra.zip new file mode 100644 index 0000000000000000000000000000000000000000..10b47b18a91974d9a21f027a43f25c5c8be94d4d GIT binary patch literal 27907 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 B$}9i? literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/create-directory/assets/uris/cassandra-mesos.tar.gz b/cli/tests/data/package/create-directory/assets/uris/cassandra-mesos.tar.gz new file mode 100644 index 0000000..e69de29 diff --git a/cli/tests/data/package/create-directory/assets/uris/jre-linux.tar.gz b/cli/tests/data/package/create-directory/assets/uris/jre-linux.tar.gz new file mode 100644 index 0000000..e69de29 diff --git a/cli/tests/data/package/create-directory/config.json b/cli/tests/data/package/create-directory/config.json new file mode 100644 index 0000000..32ec2c7 --- /dev/null +++ b/cli/tests/data/package/create-directory/config.json @@ -0,0 +1,229 @@ +{ + "type": "object", + "properties": { + "mesos": { + "description": "Mesos specific configuration properties", + "type": "object", + "properties": { + "master": { + "default": "zk://master.mesos:2181/mesos", + "description": "The URL of the Mesos master. The format is a comma-delimited list of hosts like zk://host1:port,host2:port/mesos. If using ZooKeeper, pay particular attention to the leading zk:// and trailing /mesos! If not using ZooKeeper, standard host:port patterns, like localhost:5050 or 10.0.0.5:5050,10.0.0.6:5050, are also acceptable.", + "type": "string" + } + }, + "required": [ + "master" + ] + }, + "cassandra": { + "description": "Cassandra Framework Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "framework": { + "description": "Framework Scheduler specific Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "failover-timeout-seconds": { + "description": "The failover_timeout for Mesos in seconds. If the framework instance has not re-registered with Mesos this long after a failover, Mesos will shut down all running tasks started by the framework.", + "type": "integer", + "minimum": 0, + "default": 604800 + }, + "cpus": { + "default": 0.5, + "description": "CPU shares to allocate to each Cassandra framework instance.", + "type": "number" + }, + "mem": { + "default": 512.0, + "description": "Memory (MB) to allocate to each Cassandra framework instance.", + "minimum": 512.0, + "type": "number" + }, + "instances": { + "default": 1, + "description": "Number of Cassandra framework instances to run.", + "minimum": 0, + "type": "integer" + }, + "role": { + "description": "Mesos role for this framework.", + "type": "string", + "default": "*" + }, + "authentication": { + "description": "Framework Scheduler Authentication Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "description": "Whether framework authentication should be used", + "type": "boolean", + "default": false + }, + "principal": { + "description": "The Mesos principal used for authentication.", + "type": "string" + }, + "secret": { + "description": "The path to the Mesos secret file containing the authentication secret.", + "type": "string" + } + }, + "required": [ + "enabled" + ] + } + }, + "required": [ + "instances", + "cpus", + "mem", + "failover-timeout-seconds", + "role", + "authentication" + ] + }, + "cluster-name": { + "description": "The name of the framework to register with mesos. Will also be used as the cluster name in Cassandra", + "type": "string", + "default": "dcos" + }, + "zk": { + "description": "ZooKeeper URL for storing state. Format: zk://host1:port1,host2:port2,.../path (can have nested directories)", + "type": "string" + }, + "zk-timeout-ms": { + "description": "Timeout for ZooKeeper in milliseconds.", + "type": "integer", + "minimum": 0, + "default": 10000 + }, + "node-count": { + "description": "The number of nodes in the ring for the framework to run.", + "type": "integer", + "minimum": 1, + "default": 3 + }, + "seed-count": { + "description": "The number of seed nodes in the ring for the framework to run.", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "health-check-interval-seconds": { + "description": "The interval in seconds that the framework should check the health of each Cassandra Server instance.", + "type": "integer", + "minimum": 15, + "default": 60 + }, + "bootstrap-grace-time-seconds": { + "description": "The minimum number of seconds to wait between starting each node. Setting this too low could result in the ring not bootstrapping correctly.", + "type": "integer", + "minimum": 15, + "default": 120 + }, + "data-directory": { + "description": "The location on disk where Cassandra will be configured to write it's data.", + "type": "string", + "default": "." + }, + "resources": { + "description": "Cassandra Server Resources Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "cpus": { + "description": "CPU shares to allocate to each Cassandra Server Instance.", + "type": "number", + "minimum": 0.0, + "default": 0.1 + }, + "mem": { + "description": "Memory (MB) to allocate to each Cassandra Server instance.", + "type": "integer", + "minimum": 0, + "default": 768 + }, + "disk": { + "description": "Disk (MB) to allocate to each Cassandra Server instance.", + "type": "integer", + "minimum": 0, + "default": 16 + }, + "heap-mb": { + "description": "The amount of memory in MB that are allocated to each Cassandra Server Instance. This value should be smaller than 'cassandra.resources.mem'. The remaining difference will be used for memory mapped files and other off-heap memory requirements.", + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "cpus", + "mem", + "disk" + ] + }, + "dc": { + "description": "Cassandra multi Datacenter Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "default-dc": { + "description": "Default value to be set for dc name in the GossipingPropertyFileSnitch", + "type": "string", + "default": "DC1" + }, + "default-rack": { + "description": "Default value to be set for rack name in the GossipingPropertyFileSnitch", + "type": "string", + "default": "RAC1" + }, + "external-dcs": { + "description": "Name and URL for another instance of Cassandra DCOS Service", + "type": "array", + "additionalProperties": false, + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "url" + ] + } + } + }, + "required": [ + "default-dc", + "default-rack" + ] + } + }, + "required": [ + "framework", + "cluster-name", + "zk-timeout-ms", + "node-count", + "seed-count", + "health-check-interval-seconds", + "bootstrap-grace-time-seconds", + "data-directory", + "resources" + ] + } + }, + "required": [ + "mesos", + "cassandra" + ] + +} diff --git a/cli/tests/data/package/create-directory/images/icon-large.png b/cli/tests/data/package/create-directory/images/icon-large.png new file mode 100644 index 0000000000000000000000000000000000000000..c6703cabf50c2899c8865cf8a515fbceb032f39b GIT binary patch literal 17969 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/create-directory/images/icon-small.png b/cli/tests/data/package/create-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/extra-assets-files-directory/images/icon-small.png b/cli/tests/data/package/extra-assets-files-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 zcmV-`2Y>j9P)Px+I!Q!9RA>e5Sb0#CWf=eM!m_|}?6NF3atm^3NOmBFN2wiVLn^6hrQLTkH8tIb zO@B0H*_5SYj*ezAR9bnYjzuOGffynQsHhwY>;k(B?7_nJJa27bxw^1Q~zJ}(lTx!;aUSfrP*?ZR{qfdAWr9uIgt;3fl}5OR}1x2JnN;5LPBD)4x~ zO#rUpD}b%02FWB0BG8(&gY{#`zugBNLMFxm%j*oI2mg>S(P^0G2im6r`(<3G>gkx`IHfSYbDfGR|djB(?zb<cy8)wr?-?{_s7X zU-~Ah_E#W#!WI7^f(M2Lpi`&A$IIVEWo0F%7R-k&F%$cAW^AoLjpy@H;U$&e?eYfn zFwHF1KA^83>7jvmZAu1`!!&3$+0k_5FiJOnhSG0~VYOJ`CmjQHjc4Fys&q5ih#*7D_1LXdYQ4yBIhKZ}T3$0t{=c4eN zN*I+2Y|T%_^!QM;Q3w^5)FG(XjGVAQd`Ohy)G#nU(_@~+iStHgN;~DAlN{M<9(%G(D=%5Rg?;OaT=ZqipDc! z*QcvdQT7YPe*23c;(qYNa{|~~@&gW0d0e(~_1}yP4o8k*8{t`$odj)<8BgV= zU|T~wHXqX>Srvd3r9WD_Etpq&1p6Cxn59-=?$|_FD9i`j-%wS7;+4yVUEz_Dn3z9F zR3_dx&L>U*=(O#Kh>8-*1}jnfNYFwR#36=0JK|MAxIHT#>#G{kN7W`rrNH13 z%a4{3=sw*4_>-71bCw{jr`rgN*+Tn50Q{-VIF~pDaG?BGQIDk*zg)(8y1QXC8er7x zA@}t~a8w*LV{#A@6EF00MGBHpC87Ho=m5iUYIGU1)vnVcfCgUa<^UyelW>K`M2rx{EnO z0>E+036`3kE*h>@>L!y%r{V}1vHQF22%ttx+t!BT$Bts|9ShM$jaW?VC;^n);~BTi z66JAh_IN=;;i5aSW6QV5y*6KTp}f;G*q~sgFwT{W>rhD>cZ6&_i=V&0FrH)9L~(uJ zV^3i0W!aQ`W<34UE4U&z59&}2QqsmCp5ptqc?-ndMhVLj5giR~m9M|?CIOhoIM;?^ zJkJ>t0G{9w$2QLmSXOqn7*5T|q-0E_#EceUFe*M?9B7h8kH$4qrixfk%lxxErlh8# z@pywUngI@1h7I6s3;tex5H}ah{`(c5wm8ftT%9Y%RFw4oa44~aQLpb1$2-UG;ogUo#KT?WV$Qpu9=Mo>I@9d|;Eb7(8uxf$ zq?mTLj>iMem>H>Yj|WDIX=m$rJm8F(ks9}SV5FFKw$2~Lw6`m}BosdY0000u<2OX&^}`Eyi@77 z;b5SVphW?@VjlNb^T%^gX#JOZ)l*;N(Lj`0qh3jnFu3*@z6WkT8usnZ|DFZ%K#VzU?K7L zbnE^wo<1IG5D6p)81O${9|wFG*Qf|^ZTKI4w0T_a&B6ZX5aItj^#47C-qEhQFuFyTkhT6of z>ui;ThIUXI)v7@uY$GsgAI|3a8FaqZZj)jNnM~#X*ZFwSNvpiw_nc?GP;xL(U&gI@ zf08kuuWw_$_QY4~d~Yv&`M%N|_`NU8m?eF!4*ucdQ<0GGYf3cnSKAa^98x4;SVX@0 zl!X_=>m7q8qjTu0px=8&HTwy00`Bfu;Uc*z$IsTS-Q?yolJD)mtP~ni&Uu^jg3a>k{_*?7sdfUt*|**^pw?r9 zJVEI@m-SPWw$Rxc_z=ufczsiwih42CXk+p1z(HQk9uAhiCzjFEx$GML;XLjfsc1#`JxK>~BxVxZH)rg4NkY z@t3E$hj*7xPTFX1xPN&XRcP3l)V8V+6|6rbCA}RmX&8%8buJ zLXt{rlJjmNl#^E{`>yY&pPt_bvuW*Dn?l^Q1cS(~8p#7orWWoI2MX9IwGTZq{~nB* zX}}_gK`vS*rLt#Py`l+0iKNfB1yyOB_1}ICqXz-R_ok4~UNExSv@&l2GViNLGaiXI z3qnP@Ujj==t9(JRW1eP0>_xK);ZJM6N4nuw3irqS>HmGFAoF*OB$NLmEv%^t!kAn6g0orv}E!8q*`lsN&l8WXOnn;vgx0| zXXqvc6tERWHwZZN1VQAuIMO=AB-+NU`bu`d3)x1WA^~qtu%=Uxa@Zt zL%&QdZgr~c+b+@izQVY2u*NcH30Y`h$JZ@%k&b5hkAPQ=yH}TvpDf%?luKtF9*+DM zs#J>|QqF{2Bx_!UqVcVkZ33m4-n~eC9>Z%`F#-l~e&J3xeezRbBqTteMc;-WFY1lW z#b)vKR)sKU@yTxZEocvMm1=`R7?N3LK3c6E`xG8-!j2OOhbIcidn8l9XIs66qx5?Z zZ*W+amP%D$VBCNHaq>+;_GQQ0c!jR3 ze|T>L>WS4-&(mljzmh~wmd)zl#6OQ$l%aog(;ehj#TEqLXf3kZ=!pk}pnrNxp{D!U zl_f~t8GcR(VX3EkoAH?PDDU$Hw>e8 zQARGK(Z;#{Y?UtFx6||>-iKq8MWRUeuBQw>7ab?upSYx0ZChuPnBmj3)e!NnohVM;qCl7Nr?qZ7Qct z>y9U7_MG-Q>lu=29GC=}-IX;b9F#d%kWDke4f1AIrC|5oo)ZYyq6JQbb$Rj)e z$e7cfG1-HG84XVIVM@4ZQ;(i`i?B)DOlta|>Q92S#d#zNBtOMa<# zbb5bw^!K9v%Od}=rTA((faI6`9g!p%`LriGOh)z*+y=r+X#+&2U%5`k3a&TtTduQ+ zU!JLC;-@nT87d-uS)bUt7Z`O*4Fq(fGdP1azk@If-Xxu5ePc$pk zLfAl~?Z{z+P;{gXP;y2pu$cW@7EW4b|29~=5$+K$GRdXIvkmzDBx6Vg3TR$KV_x;U z2N@Sv+ZNzqWu z)#2zh)Z#Z`%ZIl~V+BRuS%KY`^@zg)`3r|8yQ$?_Uy(k{muKrn`zIWz%jhYzt+j!< zG6b(a0myk+wU4*=MgjI0?Qao#=^5WY%P2T_|DH~V38zhpVd3tR8jFZ(}c6@%e zBA2h;=!8YDTl4#f1TXgR!Ez(1QGq-_DO)_;vaf(Hfm{D)K)Az0Lj{gk6%M_6Lz~VY zCv;-pu9*R0X)lRjWzGH9hNKM2S z7vqJi#-`OXt0i!yqWk<_i-{`p44@0_Hj#`lBwnbU&cTS1xBMqzTBY}3^)*P7?Od+X)qIWcd;h0xuP z6u+u00i2>U@nN+;R{MF>L58TfY`#*joPFY2Y)?{h8RernQjlll?%#^&thfXmKDan0 zF9>o2>zT_8&B)in=d3>O6rtr`<%(#kO=h!goe-hW!Nff&e>mjkQ;u`{{VXpIMBe_W zP6&SMHHv#3cL)ZELk-9LZLxnp6|!0z-Ya@5%{TYfn%2v)bc#r2qdAL8OjGFFY&VW< zw5F5VyF2>hv#nf~m-@$7&~G^XxPs-qVsOIhrck#o5%S*Zt|@=NqL_8^i`R!($epn? z{R^=hV_Z}On}rb~85GS$ZT*%mfzj}FExb6p@I3asI9%xPsg5YQiTEX{f zG=~jg_{Q==LcED!Dy`S--!$4$I@wqnhCFoL7G3IK*zfQS3|&;`1MEPiTkX@u8Y@nR zPhB{RP(fUQF)$iF?SoXSfiz=TgX5x4wm9km5-AjZYYpwWF+pPiaTyDS zo*A@yD3z%DvF2RN16|=G)mhCNlzL^G)%B5xaXVS0y!J}QP%lE`0|z|%^I%7>V^~ue zY@U?v9}pq6gq0}sK?12Wmh&x4d<=6l5kLE?KwwrhXu$||S=<@OBGJRM`U_MgW81W5 z`4g=AV-xRFp|s=@)*zMKEy+pD)TKVT_|7l>qeJn-^_4_s|F^6gPpA4uspjNSmzZ4{ zA;%G!o?{2N4qK(0&6*`jH|V^$Si8BX>2jA99~EvfB%PH*pKqXVVNd~vD;bAhQu(Sa zg0G+N76#0O$RruRl>GOSePBqd9bL?rzPxCR`r#Y_Uj(OIOT zR42cnheN8BO^yQ5g{FnLTMZhFI-HvVxN_Ga-Hh>s4ncsXFz@Q;NlHchuRWENQRrTM ziDd@qf=_=1pDf0|TT|=zr0f#DpmJ%|CF8Q%RCY^gtE%o7AX-ho|5~Q(-9SoJq30Ho zRUvKhfUqUrD@rbBId#-79K z7B@c@ICY~$AovrOBz(nzt!3R@?Nu_^$g7lUTk(W3_Q!H$IfS#*FfeuTM=RaKZX>6K;&jr35rCMiLW?K0Z(6Bn^R5c}ge|s+f}HY)grpPwg(lDI!j-L>jC|8r1iaBuC2 zKd1@rR(?l$&6v|lf+6$O%fpkyuj3uF;b=?0w^FXZ<8gbzu(MauKt!lPoxFc}7S(#| zhHZjk(Kc&zcyrd_u*s9x_OHG3_j#B|Nc~+bErRaRBbsP|tuyvlP@MPK^Oi@9STHF1 zk`ipO@8jNmF5rPM_k7JTLeIZ%fB?o4^XKvOt4^~*ZmnMqc)jowRwt+{$fK53&TG`+ zu02Kk-k(!n%%bw59y*q_1LyU?kXfd(yjAA;7r!c{wX;%~ditub0bG9&SaN)txv!{t zQ~Lf}d!MgmGxO`r&F`0>L!Gd39USSt3{iW(yjokYDjGnJMyjnN%05%-`S-t3T~U>! zstr>ohvW`IIRX5Or4#}lpHvaw*dGp~8QZ9I}r*wBq9;<%|+#m@wHcFQqrAY!@OagX9|7xWPvS#68 zqiE7_F7Lt4MP@RDwRdSoaY8EJvi@ZN3OFm{r>PF+vTs@elW;J#Lu8+YHu)O`JWgbe zHOaH(p+GSe803wPIN+Cnz0#7-oz{lwYr1@jOi-6$j$QIa0uXc5qkG?Q+XKGU-BvYP zBCQuUAnIMv7_%F`dqxBS9EBlz+JqtIr}nu(QX46uLb|@=EqdB)#O&L?L+bYxa=;8) z1`YoDV!)c_g-Wexsx2lsy?cU=IQ>`$3LzASKae+$uP@0P+ZAHRzW5CD3jZdg7Ca;t zE>*IuWELb0(hcKSSWj}KJS6)}y zo7>p3JFyx|5IThNLY9PEZE}xV=C(6!v=(PN7I>8E-K2I$ZlRm*WkS&>HdL=kwq)saAaewEegc2gp&XQ5U!vORAN z4EDp0nVBtEzzI+jLRH+=MPKZdY8?IxP{sgb+frfE3v(uJCno-V40c4dCAUOydaU)g zCBrt-K1`-15s9Djt$(_QGavB#+m` z)w}TrnM*GOW2EaJ*HZI(D~%>h-i81RNV!7PBk+*ZP`%0;pOVEbt#0-?6l2!vmA`i= z#15mV6I~#}N=&>HVdc4;?qv(7^G4ynYsS)bI zvlHD#U+6OwK+ay6eH{*Ye!tizlphM;9nSfEQ9%(_t!~MftNt( zOsYF6{Z9TEUIo*0Qg*Y*mFS42x>aY%5ZZE`tpbD|x{SWwYCSD#wnbI56(b8u7KWv?Z@dj~64 zt{Bs8pUnx3l1>hiOdgUDDpHWkrrDh%0apM%Hw{o*>Vj5_Eoch#%0;~goCB3S zMcLg^N)s96rM1@}tYXo{$uy2StjJgny316D!;8J?%;~bp4~xT>-M_vhM5=pNzhyUm zug|TCkxg_q$44{H7IItnCg3vDNyvKj_))b70M+2e8P~-sKcfSczk_J=bk-zY_j7%0 zxO~2PkzV`I*uCQYb()+DRs2JuSYQ>(tlB?Hmw3XwoH}y<3i(SGo3kDGQ&D%SUO^AR zG+YagqU8SixfVYw%9n&ccR8a|tdL(VvK@#ereOr!st_lc)g9(b=HDQPi zruiBMlcfHcmw?Lj#-!wp5g1QOFE5K{0`l+U?r6XVX%G;g=+2)nzs(IgJQDfG3T|ik zZwx4^`4X7$SjXUUbfpp)UulBp{CIY%bt-hYCq6qCF)NPjB)S8_dN>LcSvVk$c1GW> z|FE*IODAzdd)2l#*p!wgPWjGIRcC>8bSCD!thijy6uKHuhrZp|DEs0n92=w8zEBt0P6??jq^GHyqMDYRc2nGuGcX#l;eU$d zlaUi^MS;->CS>cWwleQnJSPv6rtjoT$Wl}rPGZ0#h0zH^!ePLz_}or1!EO0hQ1-T2 zax+x9^Hm&S*%Fa;^>EZ_%eemTS{}vyyOZ6u?!1Mk!^n?ycGB}2)WdgQwCR%vWA5_L zLhN7xAvbE%3G@@e^7+P8P!|lohA$&@*n}ki3etRN3}1z+u938-*BoP`h-9ve!3gC0%WEg`HeHl(^}?J| zIR|@+sKAN=RujZ=K%Bm|j_M3$Z447Dp(1H|Dlo-IUz>z?a27GuSlfMm%3c1`2~tCKh}w$ls< zfcvMnR=>eGQ*F#j=+m<_?;9prXFjY&p)RiVFM`_+f_dazRHw{c%-l#&s^vZ{VRII+ zvA2fXLx}Ril39_U4r&GA&fUv=MHemP!}8%34={J1BX$s?s2o)%=Jgkl;(xJ z2n4HQ<_w#A1)u7N$wyC;1gM#M+@V8+0Q+(s;a6#JwV6<#-2lk=E1w>@f=qp1{B%AW zu$&$~-CjI3sP*ZSU$-;y1%=sAThC+LAp&gcU)+zxTN@ne2|kI(6F=TmX#`}-p0<)? z9aS0DFcHcpr)VnT0o?Bhaty>DpIXPgWfY&8CD)N$r9r=Zcm4?-j+i7JFT8twS!=8l%x1Djm8+IVd-JAVqZ{&U}O)1*1nku;HT zO}kt!xPki9~@d6Kka9!IZblhh6KiYD7fVN9oT{jY;&~Ki0LJNjO0FMrzJ4i`FWYY5dVVG} zV7&U2-g}2&^mZoE=>IN&1^?=Zd)*rzx`kA`NwZ6`I;WC ztwL3Y{I>U9sBKevKz&*$SXI7YTc+?2s$%H#4T}lhmbJ?}SO3GvNZE1ZH_s#Zji%jS zv_iJW>5)sf1!$l1Rf#9fhWkTi z&0ed@pWuW}_0aLzHhJA%b;A*_ua8k*W|NN$EMUFI!Gv7t1p zSKNtnOyv-epd9pR@xcOJ?)O)li5$P|(FW+URO*d)GsH8epm(^MDdm-lVk;m8Je%fs z9QA*aHl>}Y^vfTKA<@6pH{%(tJ-eTo?sdZxUXquu_*LD$pz--_NV@8T z!ZNY9DV;Xm-HVQB&N-DJz2LX+Y+xOYV(K)vnnVb#Z1g%G%AWm(X1m^vn z7Bm?KAW?CsuEeM0Op7C^m*+vFVoJ@=Hi_lF?p`okIShA86{C{d1BJ-83clFgHO3VL z-Vz(`$D)fAq8dSzt(SPOhZv;(?rZc=u~9{Nt2?wGpPF7&n*N@0RrKIrIK`w8e2JXX zXn^4HPr91?*Zb*QmjU0Tg97r$zcLO_a(^r-yi3QZ+vbT z9*(;54`#E}eZPvXflZ{Q>0$ps97sbJU)PKS>bB*`#smq3ZMHgWFC=&>oZTDL>Y%%{ zO-0KOVyrOX9o=AfYydPb6k!&m+^|xIEC5dEDQ!NG*;Cp_Wk+@7r`yNR3dL(+B5h}O zcMu?Tdvqu%!ZH~RH|O$Xlg#Z$ZaG7SrsmTWIwln9jHXY<>m7$)bI{Hc3K{=ufj4LP z6Wn0XfkPMSYxy?m8($lN5$C7*#Up#%?NK@tr65xxXK%{4)}=0&i0%v-;B;we+7khZ za-^Ruo`)yGpWZIx{jX@^M*HWUzvW$01`6P^j_YQVjuz0jxmo@w^!_C=M*lchi^l?f zbSlWLfrN<^ZKw`@ueN|%;Fm*!CMgfqS5c26AQs$ybM;dw7HH)V;&zCso>CwG?X5PM zTd$*Hg1FKq1C=L5?5Ep`Ye12cT6X)w`4rYX#3nYF3yrc2chiVW{g8p1v>_-2mP1$Y zZ%b&Rfob;><%{J~#wX)a-?6`iYA^ZUIQJV3ZLQII)M`R;BAi8qJsh_1El$Tc0j>8l zr1^-Yf|}&9y(;k4Al5vbVmv`7kPy$u z9l4+3a<`CtDN9!`3OW^XKz2-HwY{T+{;#Icn>Jr?lFZDb?{n_`G*_dKAmDp&&(z|0 zp26#jV!boKNcb2L?C(hMO951f&=t*;o+vg^TWtF>p0ji<<^kO;uSJ%J2zZX=v`2|> zDCR?7`dN8=>qf5>VwR0@?`0M^tugOC=)ta$Ri6oU2NbS32(`wz0s^!$vjvNth|;U% zfhRa$sp4HAy>E{v#1>Zjl>3|j1em<9u)+Mw@ucwJE*CZ?TPS=-s!!wGw4>27^1t>_ z#;jhUcgp^41KywQ$n5laR+@|n6`h6^3rk7U3wwMwXRl1^93GfkJl^?n7!V;|LrIe{xYY+M-GNJ&u&wQ zV%D;y0nMXq4KM=O0r*Jd&KOX^!j;aC_s9_w3k?9iPrC4-%k(>^Hv%@vQ+59OnPc|D z$&^1x+&Fpi-WQ>o5_{<*9QgkK(m-;NcqsI+8zy2^{Yd|K(x9tlTYbTToTu!qrL%#A_6 zBW6$V{lu|895=WZA%;xFiGYhS-*UT0B+=Aex>W29^ug#=^&4fslt+cx3VI;50ftec zruPImu}+McxhNe?#s_xIF!K4u&+9uI@LfhGUeA2Jl&;5;Q|dAnzHv->m^6Ch@`3>Y z#gW(n9`NqEKjiwiIi$G-0-F0wq|D=sR>uwbTYiLozO|H}c*J+G0IvMorAti->G_UE z5)mKR4$GegFuI2DS9cO12OU4#JRKtlS)l4P1jQMl0)fet%sF!ALeEe&FQVP4`Q23k zYoTz$=xva!{t#gt_8>XAS&ru}iRW82GM_#LG5sHz#XbucwcHq{-2_J4t<;-nK25Ix zE}>$Rt0i-PI){JnkVP{znNd9;1vI%cD}q04mw}PdUJtHfg@f@=yH%`{wsAqvaX4d> z)`o&~&E{-oVe*Dg+U+KdNY~m$J@BQw1~^0`GbVn^MIiS1&(CM9(_>Va1h%z>mlBmrHc)c-Slb^i4C?rV}(4ErPW)n zR9jm!d{z1K`!cjCp6RnrCsqVP^1W?nk+fntabF@f9;?^ITX4)3?-=HblL-0|b7T~V zmp|-=B1L+2(&sW!mx#*$E2;n)JLna96DbluIG45hJMfv`(EM!v67Mr=Y^yj`gJBKE z#3RWDW;B8e&i24BsbBLB>`PHysVKkD#sh;6EN3(-^efoE?LA0C<;eRg?Pfvyg}FY+ zoi4?!q8c&+bn~-cst4GBxaZh~%)+Vst3j;;%e1} z=KE{2qJaa09l$TprH#T(wG0K#G@~Yn<@{0dzja%=zm*7;nXLOQnI4dn37gF#q)0=1{3 zpO$r}p0-gG%YnN(i z_EuP5N|i@=pSRifOskEMMDsJ()2Uw(S9D`nSX4^R`J7fWf2!B#1m7Z$xvk}_W{NfA zz!x=iUpI&MWQT2`%>W4K4+ejxgJ3PMQ>JVk-Q$F*IH7XcCE_9c5r9p-JMb?&tHUtm z1O~*^A&BqjA3&~hsTMZpr8BM5g|ZoGt}>Vx5&Q%UFEW_(D>?d2w-_4yQad3>vVpSX2c;fv;D-)7|QNSULu22f%32ixu> zD()dFLw0(E2-80>R-jrCNguRyGKHzAivYb5LKrZ}y&7xs{$>%)s6RCJg7@U1MjgzC ze!U$;j=ESa)eI4RgJ%}@b|U0R>{fcavz>Dxyc zvJhD+b%hN;bom?^^F4HPk)&W}5u$E0Ti~2nI(b*7c~tdj=AV%2=iw}d#y?t&`*70?9|4{RgJy3uEvjN1ia~M*=^#}5@;;sfM&Kw0Il4Dw4k4iNeIy~fK z?%F}J@~ca{zW8eQbJw87XV7go87(wc#1Pl7lFbaB&*cjtCgl19L!CUYSmi<*ZUC5{ zTK#NKA}|0g;yCnE!Er1YFap`nnD>v67?kOn6eOc}r2TQ}8-mT*VlE?S^^dJ4q}5G) z>y}^fIgU7O^2`Q!m@3cH=GU24a*5&wL#JB2kL4$rzkSLZeMaN@#)>p8Ho&N@)&?j+ zaAEZiVE{w$ZR!O$fwJ*ON~-*5p~QIkDfOJ6+qkpR}NG%ZpZj4tsBC2 z#kRzDRNvMF2NX$h%9P40h0B04MMRNDHY*ZI{Pp*Hx8O=lTTBX^zD`htG&u!3oWSe>+;=h(*j*=8ltly8B@FGX1$&>=+2>1cNPctxe4)7p#J?AhUSTUbYKF+E|JB(?x7 zshE=I+ZEV+@2vNa0$LPCK;1J+HV7LL&W7G7tX3Q_V{vu_c=lXzs^19B2k~EXJ{s-2 zFZay*B9T>uz6oeJ3J7nm7mbghZQ!Hnc{+Qurra%D2?tdst zM(K9LatJnjxI_V`n?xCaFk$gC!#jCnG#V2^AP?GCXmk%DAs2|1-~sbzR0wS+z4N^S z>mGiYE{^ga1!;>?JZq7XhpvGWpr|kiK7+Xc9sxn@;n_3Q<6SZhCiiQFD%lnG_$Ua0YO2;?f_UX=Qt67qYJcBbT&^(U< z0qDqT&3YgJIpnG`M`I5m|8&yCGD3vOv;HmJy7TD}@rmX;x%#xnXj^CQ=U)#~MDy5- zuyU@lH^vo!pui+iA%(z!T=kk$HC_(E(?+6DjnT{G)X0~%}kwU#?VBXw-&pby=E<7JAeT8SlFnX7~MraKh)ux!bB-?bI4Yke~ibuiT* z!^s`2%;zY5ZFatf175~-g8zN_{q5}UTXZZq3g6Rqks)v}2$ z^;njexkoZhXFC>n6bXMdW4$vSH~KxCIU8xt5`T9}=$Oq2^v2v^vmrb`DK4P=)HPzaG@Bt@5joA;DVlQ`vnpFmW*(Pa*!zf9y0>jX{ZzB-L+gpF|jIThu zfu&hVDXuv=dq8N|;n}Rfm7YEgTtk_7>imKsRizIxOoBGub3_c0(`nUJc9HVTIyr@} zQ<4vbEuvm_XsIXmFPt4z0n@~_vq8lKi7i?4vie{WI0-rr*;oo=Z*JJILVny{UZ-4o z)R<^UPfcK*`Lh;pn@R0)YX!sz6K!dr$I}H-Qjp-52XBJh0_Cgx(49Id(Z+{T#%d)X)z$lgxwxhEW|7V; z9KN0?!1bNWrG-A3+RJ^9qEcROEL^UvPIY4am`M6;eV)Y>y81!!Y_OQ276Sg_FNFa> zz0xZDQmHK;Hriq{$XysSH_d;9*H@x+g_+PQu08y^4xd2f*7q%-hFE%($iFzlE+(9G z^i(jwvuXH^zsV>5zFbdO7k4aIw+-SByYF~QBfd2Ss3Gq>=rzhIgIMia_On@Al_fD3 zi3qgT_E1uRM|0oa7P0RQ`}R)Qf4o6J3i7%2iNR%VJIgv zXK1RJRgmbO@%_w-MOAdhVHxwgP|f2b*%ss_)x_ z7fnHU^m4g7CB|EC!$G{(kah2{A*ZO1Fi}_~<(C;RAO_KElY>a>!>=`U5Be+=rr`8kRdh{2L!vNCFJgZhd3@cTB zFQm2U&P!Nj(Qhj4-<9giZIVOLA}m1x^ooI4x7enPZ*MakGU|8y*WaI;<6Vs*ovyYI z8oYlkz92his>XLQ;QAHtqMMq@MmLpz>YyMA7HQ|}1YMUup}&RVWFl7R;c0F={}!Y$ z^i-7;_pwNfrq+_ras3nbrdKUicHK|oCHT243@}#8S5FGJ7hkYCyF#R7rV<-E{(YHx zOQR47%IE;O$@dOvu2ij?6@FIEaMnS1k6z<*Q~Y*co&oVnY6DqF@F{=f$ob?^?Li(& z^R;S7h9|B3{%Hg)mGo|hI>Y0-U5nchBkVPj-`n=r7RPJaOg^X8Bb@c|lTs>}Rjt2P zWlQhG?Acplp`g5*W1!cYS$gA&>$txHWH}LlvnytZws2!Up7Wo?zcV^r8i!u9M(+OD ziyYt{;zyB9&lemhd`NEBay#21tLeroC--Y6EN!+@f+mJ|&Z4m;#2O3J+Jao>Iw4_L zh;jtPu6*tKp1_$%3MtH`qEl7yxD%IO zTcg`=w8+q@6iwTY`9i+@EKp$+%a3JGyzxafPZaO{P~vmL;hYMgg$D5hz+@O>9d`M7 zeajIDGk@2UT_3xAYYDDI=1bm!F-1jEf`8_?7z{_#xja$EAlOOjeFlUtDv)!-ze^v+ zYt=vyF`p-0%ohx6jd1|B5EI-<0Z$@1P@140$@YrF{1QT&2w60G*}|rySxtiD-Q>GZ zo!^AtDyhqp@COPpRj{;Q);^DFhhBvt*LMMr2OtW8^(ABv>-Ezwh>PEV1E9(ZO#O)j z0SNP#T1~uqoJ;{JG!LZr$Y$edW0LmkQa7Rcg{EwU+QOe5;m1;qz?O@=Qs@8tp=X=b zkW+dj<(BLO!gw#~CTnEnRPemTo+cSy)NW5Bh} z{5Du*mG;kLJt`7)4A7o&U|6`MR}MvaU%74W%+~4MX1|rpSK8=AQfmo-MrpX;I5m-u zwaqo9p+AL$8bEFAH|hjGarIxkgRtiNXT3C&Lv01$HoS3{J{S@%&ou2ii_I0>|MZVY zs8xlE={(G%dRWgWqG<4(Qo39f?T7CSFkRn+6l-Ho7D(af;NuW$_mytA&t|Rd9N#xXOmHh7BYgr95*Q% z6r&(D@i znjC7A8EGt_zUA?}BF|Up$W+T`v)V9=C>=5y`4M`&rK!6=epJ!s12CyJg)?vg6wu)f zOkfN(6EyEQK10D?Mh_M_sHRbSLC2t?S1v<|);Ws->u}n!B*)uHk;1DkcgxdT?FeC= zegD8HN-$~{dS{fv&pAp& zBm&-5#}94#u?=<8@wy+VKjxxM6#*rLHGGg`5Dg3z72gZL z!MktZ=2Won3FWNuHDHZ`XKJU=gG!BI5u7>9#`D6oKRB9R9r*+n8X^EXIgE$Vi|!?x z5-VN*;65W6^J>T(gVk)pr=pv^3?}5xo;90aJWiHTk`MoAZZvIuDe)FE z+x)}uEGe3;dz$K@D3qI7=f`;u#?Rl=m1ipmO?B|G#a-oi{=B*K$W?H#kK|FXl#zM{J2<=$3hhK%SqB1FMX2l2Nv~Ak6J}8{p$26jbs`lDsW($vJ@W5df1cH zrF~;YQyQtF-IfLTpt7O_D^!zDncS)G z6fIY5u{5CwXYe@e0VO{<5kzO5c=TjMz{OI(^8d`B12dF=Vq$u!&L-_)e4Yc3xPqA= z8L+mhT~4-6IjEDzGYHcklTCS<;w+mJ^Md97fve&D5)-R;&VTaKv(%oB^dKKEUXY#Juem6*OV_IQxk{EGG*NmP~Jv}oVxVCVLQD?EtGMiO@ z!ll&W(T)+D6uqJ6Db_}sdB-naX9lAqQ0Gw9K@hq?7W5y-1}BQfAq&UxL7lUTN$sv0 zLA7mF^J)3(`}3Vv89wb;n@e!&f7N`(kb#YZKHh{S8_O-l-FA~mc|b# z7;;itVOo3e)q~J6^Tzrf-aH)5elrk2=;u&>>;fj~HSPXUR{#LOZv3|v068GU@@h1+ zESXvP8XPU~Go(2%Db6K|ei}jey(c*8_gEH=(T%AG^Raro`6p3_&9)sBVKe~3F20{J z5MMyRWRMwn@DUwdU-_E_7WRJOsV&;#k6Ol4F=l@2Mq|AP7{pbpgGJD1L!tpM?zYfG zi08Kh68Fb2p#h1jaVD|tycEy;GG2BPcbp$cr729VD2&%ii|T^o9Sm;At;lRJmhQI3DeIztb;(J<*!9r)QpS(WJ6e%hS3WlGW#nmD7fI(mcQBzY5=pmtK z4u_uodJN!wIsVogJlLkD7QkUjwCDS7+gGx+nVS05M#CaK*?X(&;~qz{3w<2@W)BQ< zD%@y^7+ZuUZ?;=n_k$pJ9Y3-o^d=AGR@8-yWYqMOKSI6gsn`v_KB#i{shxN6(*;Fh zp`!BhbqNR1mrmE_#-hRThHxbl5u$rOimoJG7x7spx0L_h_*X&xbNicTH+mh6)AJ2j z;T5Hh>y;AW@dm`Z^xBTs@p-x@3epeioPu<4%NiKKHI^)-hx1kYkt7`nk7X}yh`lt# z@oFkR)&(QO_S;`iz<=v7bdfC{L*-p185w7+fBL7f9_A5!AJL&XZH8r1ml>4l0h34a z-({C6uzzE`*zj(zwtR3FH$xLwz@5i$n^ z>PmoyNrqhj0Gt3-d0`ZSb6`nmYCHfW* zu8D}y5gLhRaz06ZQwNe}K01!*C300o84V#H=MBq4RlP=kRQHkWS-Afs=4We{%Y7jx zAA>SU{PtxcUdwz_(WyR}AIJ}RhFAPM?it=cIFY%AhM3_x0@}uL1b{-Ck))A1(#5|w zoF1p)Op6k>J@4kn5e1lUMdrlkawrlgeq)$EJ#NAO0&va8GiS2S0nh>j0u;XuegplV z#heDCTtsFng0u3{ia#Qe;cvTtSf0EmXHJd3JmlTG;uI3n{cSb}e2@aAWoDMGt6s(2 zVDAqL_59@guE@2tw1&gg!em$n2C2OAHx>o0D5p?ESI0M(`ey2c)jT{)?Zec9-iL`D zW@ctYcU-0?3{#q z4;xLaboDR9PamfcGJq~+A9HK+dC-YH?)3f<+0)ZA_R8n1_(oDFce|^r)9b~4E6x52 z3U6*}d~o@pA+{$9$N7yYMJltLQe#K`P@w0*{>je_A#y0+#ch#G^X+I+AFu21>_gvI z%p?9s@($f1u2)2kAaY9=J2#%bI^!y`K;jCARU>BpGWgW3pOOZ$B%LBhz&x^AJlJn+ z{7Yn1iQNfyF|5HT{S7lYGd=P@SmXK+jM!4I$F@hf-ig}C$Ot>5+ef2nQ00_WqyYW* zvhZ#A#@=C6R+eKDodQl(3ga*)ldH)UBc+7aqTNhRvFa*|%B9}YK8re9#UnaiL$c#~ z{HQWCdbq$=2M9)=5-8p{XFjw-Rf4NDzqJ8@VSdquX-zz~b? zwcM`jRN-TNNkZy++s~$s*gcW2sIC2Apx+n-wd9UzNn5wQx;f};Rwj(~&iyRj+!PHB zqW)!StXh-)XjZ!}&EA$E94s~;)TVB%89=jRG}79pWh64K94;Fm4i}Ekd?C-u%1Uv6 z_1HT;78|kS75kG^$=yCmVkl!c>~<4K$i~l(Un}WJP)p$qiJ30;18dQUkk+rji?x@Z z%qcJ-j~4H1Z12zJjb69=GGRBdLtW2pRzLdu{FE|sB%WRQU=FK?Dh3BjrtDwFujNeG z0`lti8P+j%9H4zmKhYIXHNm5tHPuuNTT%L#z%j$m$isun0jf(t*3a}p!Tb=aZB|Gd5*LqigcZ9$=CTN9>(IG&1 z6S#jm=;INgq-8{@H9kJ`*~R8Oq!9?JS=z{CdsCLv&J$glF$B+}-zlxnlz1!U8y!>4 zQpwPTD3~#FQOVJesixmGAArH@-QpL}bS%1yM7M^Y_(e}P#YiGwCU63PN2iM%l=MUv=sX1xa;YQXZTbx)bwjK&kwJnL2;@56 zEBA0fRh4-4e$s`22q7!D8&d!=wr3J}O3#UV!$|)G>|2xSgu#`}KcsLc>r7EQXe8M! z_#OPRW56^Krvs0m!-;$rs@+mhqm?=E+U+@sv?mHbL5P)E-F5?J(@SxNn({xv`=Fw- zJ~vY)>~V_!EA8{~hhEZv*TB;M`bwg&pQm%UL{laCIdOuGIlonWs7HMQBHyIE4pU=# z;b@1OH@)TI3CNp63yLfzuG&c$<;x?Mjm5-b3A0t%s|GLs;>{2~%m`cz?`KIIEYqJw z0Q-hG)&^%VW-~cHS@}~_B@eeT{pimQww;2}yPh>IHm8;4GunBKRR;x9#Oeqx$m>%h zaeDEmVSk4ptY{@?c4x;8XRQ|QO@(ddQ9H##_h>}jCi<=s+sIu54*)QY;z}HBs3cv~ z9K|XGoTl{|q-7DLB}St}%nf^8&?_6<^%0eZKnLNblCDpS9Hgzog?mLW=WSvp(K96; zK+DzMC%p~#jmH#578E`BrYkyyvC@0kJ(F(p1D9l+V}2Prr1Ml?HpzCJlW^#XzoW&X zUjDNaCB3j<{k$j=+(Wg^t7FOIHWB5i18U#oK&d3?_9%OanjF{dY9B>?jm4~cL#!6= zx^D>oUz=xtHf(WzM3C}Hz1m5m^p!I-aMpj=2c~^YIL)|c|Fvh|cdWm2*8gmO^>bX{ z{UbYb^Ofa+Ry(#08d-I| zTqm1;YqqTSsq=Wv@K=Io3xUUl?_6zd*iQ+{4gaDr8vv1xsa^7&#irr;tp=KaXG9j> zY6&m2v;XEQzVVZM#6hZUZzAvcHHuy&`27{ke5HjOc6ZvjpKd%^+3s~BwOmXBr85i@+8vKBO}K9>UcBX05Lcbtd9i-kE?t4$QCy z(SE7ScGk0HECqYjxgangOhz17v*4`MLYG|E((1=Dhv9wil+@*XvS;w>lqlUG^_>wYt z1L30W>y`%+_Dt|FVqu@aNFfAEx&HYPqP3JZ}$y+0jwrlH61R8CzS~+(Vs?G%=MDa z-o3)kK`VCb6!J^w5HsC2++eX_u-7v3(@#7ZT3MP{GRh9qwG|R5DvnjnYt{|P6K#o# zkG?sdr}Q)xSM{^!Y~Q(#P)NGW=QWx}%fek1KGr6XK)qJa&D(y>??>sDg&1qSm%-CC zspHSS9`Ow6jWs}CScUW&YA)UXv?MVi=*1wrZHG7qWh59Q7~R<-J#Pd$ixL5roF$_v z-)Fx8MRxDSPBT7Gh77Swcf((6R#v0U(#JHu@f6-kQ?g<{`4X41GF6Y~43fWL;LyE} zR4~2sO~7h9Jn%A7%XjN@V>j+zv4%*5VI6%fe>n}2l0m~zKP>2t3?NROrPyY!E1ZrC zAL4LO@*!meJkb9kEa*LXQJA?a(( zc8yil8Rk|Mxe$ufo+ytE5lLUvm;O7HE8Y_QvNblu(?nHGCL0nBkTqnZ(Q_?%NC^;T zr!QJ~5-%k0ZiY;aB z=@KTO=H=_4RYyyOoA{5x{?!QJ+lYjmgJmS7m+U~ZDwTP72U;|ZiIMjjd*R!#Yi385t-&B~S+$^Ap7ztpP2FB6Kl;`+PQsr3{q$BhrlWaFqOn$QDM~P#+e55Ms@^PUSYCYG7#0dVPJ5i2HJR7#V?WB;8hg7aNB_@s zQeJQWwv~o2HV#v^Tq-cgnRE}L{*6AUPd)D)Ydg+5BG%BFj9KZ&lP45UahNwnD!{GR zF;~Yjf`U)Y0@Z4@vY|yShMOB0z@fJJ0Lsn6bQuQoF8w6M9^_r4j?=D`UH&m-_zCl8 z;muH+bZ$veTo~}0<#^qDNZ&b5g`vuQrcxjjZFutYUC^gML2{1>(tRX(mwXN`j>OhE&Fy=TwA|RyDcV6>Dx|}e zFxA;>W4ZWok`@xz%W^8iR>Qu35!?K_VVi1ld=f+-F26MEsLZnGO*9}_I6M(hMZpjl zSCBZ2)$d9?m9(l~#~Bu(v3hvso(JR?ays?j%?b;`)lv372iBuB}!- zx}53Orcdu3d~5>p`?&OVfpIcuuk76`tEGA0xNK#Kj0|^Salw{tj*|7kj9;H<%16}L zM0j!2ht3mZJNW|hM$!i`okpDx%SV0 zYQfYKZ{UL8l`#rA^Z?DRiIU_4vaL5LEmQC<4{1V4Geu$5Bxv>g-(hil-Rpu3FDut| zYK5h?&_XI=E0DAoyjZ*-Y8dQ&<>o(I?6A8Sm=dww5pLe&O1>p;m;2A|WO1!$`bo@m z^((mDO|PEW+ea@gtY|OH>uMe1$qd|!sJ>@@YULRX+*~&H>-Af-4lLf`@ky`>J6GEF zmQ#`2#vXs@AF9njv_2i*A%Bp@9Ol#R+Q$X&FKf?3y$)(ks3x;2BnoN4LAw~Rz;ef+ z3$mBo-3b`gH*|J=(wR(D`kei@rGY;5&Ao&@yEnljG-r>-Oju_XwLN8Y9DzMLPO1dm@wz$Md;Vcy_Z#RHiz+yfbS6t$Tk zpX=uByT3FVDPRjzwviO|^SLT41NaxzTKx|#WarU0`@0(EI2r7%=49hW9&&2`&8APr z(~g&0g4Zu0>f^4zV|-H!Tp$dkY9`U-AHnr zDpxiX))6s={Q=u+EU#6=v7M_gKQpurt@F>~**WESndYuzy+f`lQcD)`K)0Y>*-cN7 zSzQ7Ho32m|Uzr^U(;9@46y#`ij}?gf;Ly_{(J+MRBThZF0#URsa%1vfWlZ&V@V_2j z-VjfUn{djzVX5jpgM7_8FT*ll$_UsC-DO4Eg|8K-=a!Nv8#wR_IB#vSc7<+5t3vjB zb>{OHfnQF{j^tjZ}cdH#G5~W>nnZTvX^hYY>GZ#;u4?(y?0m zpL3R5y!0B3NsxLZC6ESV>i!Uk|kC@@g%En{mgpVq-$4FOf5k!~m7v}b*t zm-SMJW`T9GLAlD`W^1=2c_^^c?LjuJo&TggE zq>-GTYSfBE0q(+@U~MOWc)zj4-z*%x7_)b-ym-Zr8){~%NF(XSXH^Vo0ouOC$?{Hs zdD|S$cVht8=vw!49=u|LR`D4l0!6T;ahWbHKq9XKQ7H;|w_ZaRJ_h*M&#x_>{r^<* a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/extra-files-directory/images/icon-small.png b/cli/tests/data/package/extra-files-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/extra-icons-directory/images/icon-small.png b/cli/tests/data/package/extra-icons-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 zcmV-`2Y>j9P)Px+I!Q!9RA>e5Sb0#CWf=eM!m_|}?6NF3atm^3NOmBFN2wiVLn^6hrQLTkH8tIb zO@B0H*_5SYj*ezAR9bnYjzuOGffynQsHhwY>;k(B?7_nJJa27bxw^1Q~zJ}(lTx!;aUSfrP*?ZR{qfdAWr9uIgt;3fl}5OR}1x2JnN;5LPBD)4x~ zO#rUpD}b%02FWB0BG8(&gY{#`zugBNLMFxm%j*oI2mg>S(P^0G2im6r`(<3G>gkx`IHfSYbDfGR|djB(?zb<cy8)wr?-?{_s7X zU-~Ah_E#W#!WI7^f(M2Lpi`&A$IIVEWo0F%7R-k&F%$cAW^AoLjpy@H;U$&e?eYfn zFwHF1KA^83>7jvmZAu1`!!&3$+0k_5FiJOnhSG0~VYOJ`CmjQHjc4Fys&q5ih#*7D_1LXdYQ4yBIhKZ}T3$0t{=c4eN zN*I+2Y|T%_^!QM;Q3w^5)FG(XjGVAQd`Ohy)G#nU(_@~+iStHgN;~DAlN{M<9(%G(D=%5Rg?;OaT=ZqipDc! z*QcvdQT7YPe*23c;(qYNa{|~~@&gW0d0e(~_1}yP4o8k*8{t`$odj)<8BgV= zU|T~wHXqX>Srvd3r9WD_Etpq&1p6Cxn59-=?$|_FD9i`j-%wS7;+4yVUEz_Dn3z9F zR3_dx&L>U*=(O#Kh>8-*1}jnfNYFwR#36=0JK|MAxIHT#>#G{kN7W`rrNH13 z%a4{3=sw*4_>-71bCw{jr`rgN*+Tn50Q{-VIF~pDaG?BGQIDk*zg)(8y1QXC8er7x zA@}t~a8w*LV{#A@6EF00MGBHpC87Ho=m5iUYIGU1)vnVcfCgUa<^UyelW>K`M2rx{EnO z0>E+036`3kE*h>@>L!y%r{V}1vHQF22%ttx+t!BT$Bts|9ShM$jaW?VC;^n);~BTi z66JAh_IN=;;i5aSW6QV5y*6KTp}f;G*q~sgFwT{W>rhD>cZ6&_i=V&0FrH)9L~(uJ zV^3i0W!aQ`W<34UE4U&z59&}2QqsmCp5ptqc?-ndMhVLj5giR~m9M|?CIOhoIM;?^ zJkJ>t0G{9w$2QLmSXOqn7*5T|q-0E_#EceUFe*M?9B7h8kH$4qrixfk%lxxErlh8# z@pywUngI@1h7I6s3;tex5H}ah{`(c5wm8ftT%9Y%RFw4oa44~aQLpb1$2-UG;ogUo#KT?WV$Qpu9=Mo>I@9d|;Eb7(8uxf$ zq?mTLj>iMem>H>Yj|WDIX=m$rJm8F(ks9}SV5FFKw$2~Lw6`m}BosdY0000] - [--package-version=] - - dcos package install [--cli | [--app --app-id=]] - [--package-version=] - [--options=] [--yes] - dcos package list [--json --endpoints --app-id= ] - dcos package search [--json ] - dcos package sources - dcos package uninstall [--cli | [--app --app-id= --all]] - - dcos package update [--validate] - -Options: - --all Apply the operation to all matching packages - - --app Apply the operation only to the package's - Marathon application - - --app-id= The application id - - --cli Apply the operation only to the package's CLI - command - - --config Print the package's config.json, which contains - the configurable properties for marathon.json - and command.json - - -h, --help Show this screen - - --info Show a short description of this subcommand - - --options= Path to a JSON file containing package - installation options - - --package-version= Package version to install - - --package-versions Print all versions for this package - - --render Render the package's marathon.json or - command.json template with the values from - config.json and --options. If not provided, - print the raw templates. - - --validate Validate package content when updating sources - - --version Show version - - --yes Assume "yes" is the answer to all prompts and - run non-interactively - -Configuration: - [package] - # Path to the local package cache. - cache_dir = "/var/dcos/cache" - - # List of package sources, in search order. - # - # Three protocols are supported: - # - Local file - # - HTTPS - # - Git - sources = [ - "file:///Users/me/test-registry", - "https://my.org/registry", - "git://github.com/mesosphere/universe.git" - ] diff --git a/cli/tests/data/package/invalid-command-json-directory/assets/uris/cassandra-mesos.tar.gz b/cli/tests/data/package/invalid-command-json-directory/assets/uris/cassandra-mesos.tar.gz new file mode 100644 index 0000000..e69de29 diff --git a/cli/tests/data/package/invalid-command-json-directory/assets/uris/jre-linux.tar.gz b/cli/tests/data/package/invalid-command-json-directory/assets/uris/jre-linux.tar.gz new file mode 100644 index 0000000..e69de29 diff --git a/cli/tests/data/package/invalid-command-json-directory/command.json b/cli/tests/data/package/invalid-command-json-directory/command.json new file mode 100644 index 0000000..3575df1 --- /dev/null +++ b/cli/tests/data/package/invalid-command-json-directory/command.json @@ -0,0 +1,3 @@ +{ + "apt-get": "invalid command" +} diff --git a/cli/tests/data/package/invalid-command-json-directory/config.json b/cli/tests/data/package/invalid-command-json-directory/config.json new file mode 100644 index 0000000..32ec2c7 --- /dev/null +++ b/cli/tests/data/package/invalid-command-json-directory/config.json @@ -0,0 +1,229 @@ +{ + "type": "object", + "properties": { + "mesos": { + "description": "Mesos specific configuration properties", + "type": "object", + "properties": { + "master": { + "default": "zk://master.mesos:2181/mesos", + "description": "The URL of the Mesos master. The format is a comma-delimited list of hosts like zk://host1:port,host2:port/mesos. If using ZooKeeper, pay particular attention to the leading zk:// and trailing /mesos! If not using ZooKeeper, standard host:port patterns, like localhost:5050 or 10.0.0.5:5050,10.0.0.6:5050, are also acceptable.", + "type": "string" + } + }, + "required": [ + "master" + ] + }, + "cassandra": { + "description": "Cassandra Framework Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "framework": { + "description": "Framework Scheduler specific Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "failover-timeout-seconds": { + "description": "The failover_timeout for Mesos in seconds. If the framework instance has not re-registered with Mesos this long after a failover, Mesos will shut down all running tasks started by the framework.", + "type": "integer", + "minimum": 0, + "default": 604800 + }, + "cpus": { + "default": 0.5, + "description": "CPU shares to allocate to each Cassandra framework instance.", + "type": "number" + }, + "mem": { + "default": 512.0, + "description": "Memory (MB) to allocate to each Cassandra framework instance.", + "minimum": 512.0, + "type": "number" + }, + "instances": { + "default": 1, + "description": "Number of Cassandra framework instances to run.", + "minimum": 0, + "type": "integer" + }, + "role": { + "description": "Mesos role for this framework.", + "type": "string", + "default": "*" + }, + "authentication": { + "description": "Framework Scheduler Authentication Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": { + "description": "Whether framework authentication should be used", + "type": "boolean", + "default": false + }, + "principal": { + "description": "The Mesos principal used for authentication.", + "type": "string" + }, + "secret": { + "description": "The path to the Mesos secret file containing the authentication secret.", + "type": "string" + } + }, + "required": [ + "enabled" + ] + } + }, + "required": [ + "instances", + "cpus", + "mem", + "failover-timeout-seconds", + "role", + "authentication" + ] + }, + "cluster-name": { + "description": "The name of the framework to register with mesos. Will also be used as the cluster name in Cassandra", + "type": "string", + "default": "dcos" + }, + "zk": { + "description": "ZooKeeper URL for storing state. Format: zk://host1:port1,host2:port2,.../path (can have nested directories)", + "type": "string" + }, + "zk-timeout-ms": { + "description": "Timeout for ZooKeeper in milliseconds.", + "type": "integer", + "minimum": 0, + "default": 10000 + }, + "node-count": { + "description": "The number of nodes in the ring for the framework to run.", + "type": "integer", + "minimum": 1, + "default": 3 + }, + "seed-count": { + "description": "The number of seed nodes in the ring for the framework to run.", + "type": "integer", + "minimum": 1, + "default": 2 + }, + "health-check-interval-seconds": { + "description": "The interval in seconds that the framework should check the health of each Cassandra Server instance.", + "type": "integer", + "minimum": 15, + "default": 60 + }, + "bootstrap-grace-time-seconds": { + "description": "The minimum number of seconds to wait between starting each node. Setting this too low could result in the ring not bootstrapping correctly.", + "type": "integer", + "minimum": 15, + "default": 120 + }, + "data-directory": { + "description": "The location on disk where Cassandra will be configured to write it's data.", + "type": "string", + "default": "." + }, + "resources": { + "description": "Cassandra Server Resources Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "cpus": { + "description": "CPU shares to allocate to each Cassandra Server Instance.", + "type": "number", + "minimum": 0.0, + "default": 0.1 + }, + "mem": { + "description": "Memory (MB) to allocate to each Cassandra Server instance.", + "type": "integer", + "minimum": 0, + "default": 768 + }, + "disk": { + "description": "Disk (MB) to allocate to each Cassandra Server instance.", + "type": "integer", + "minimum": 0, + "default": 16 + }, + "heap-mb": { + "description": "The amount of memory in MB that are allocated to each Cassandra Server Instance. This value should be smaller than 'cassandra.resources.mem'. The remaining difference will be used for memory mapped files and other off-heap memory requirements.", + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "cpus", + "mem", + "disk" + ] + }, + "dc": { + "description": "Cassandra multi Datacenter Configuration Properties", + "type": "object", + "additionalProperties": false, + "properties": { + "default-dc": { + "description": "Default value to be set for dc name in the GossipingPropertyFileSnitch", + "type": "string", + "default": "DC1" + }, + "default-rack": { + "description": "Default value to be set for rack name in the GossipingPropertyFileSnitch", + "type": "string", + "default": "RAC1" + }, + "external-dcs": { + "description": "Name and URL for another instance of Cassandra DCOS Service", + "type": "array", + "additionalProperties": false, + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "required": [ + "name", + "url" + ] + } + } + }, + "required": [ + "default-dc", + "default-rack" + ] + } + }, + "required": [ + "framework", + "cluster-name", + "zk-timeout-ms", + "node-count", + "seed-count", + "health-check-interval-seconds", + "bootstrap-grace-time-seconds", + "data-directory", + "resources" + ] + } + }, + "required": [ + "mesos", + "cassandra" + ] + +} diff --git a/cli/tests/data/package/invalid-command-json-directory/images/icon-large.png b/cli/tests/data/package/invalid-command-json-directory/images/icon-large.png new file mode 100644 index 0000000000000000000000000000000000000000..c6703cabf50c2899c8865cf8a515fbceb032f39b GIT binary patch literal 17969 zcmeF3u<2OX&^}`Eyi@77 z;b5SVphW?@VjlNb^T%^gX#JOZ)l*;N(Lj`0qh3jnFu3*@z6WkT8usnZ|DFZ%K#VzU?K7L zbnE^wo<1IG5D6p)81O${9|wFG*Qf|^ZTKI4w0T_a&B6ZX5aItj^#47C-qEhQFuFyTkhT6of z>ui;ThIUXI)v7@uY$GsgAI|3a8FaqZZj)jNnM~#X*ZFwSNvpiw_nc?GP;xL(U&gI@ zf08kuuWw_$_QY4~d~Yv&`M%N|_`NU8m?eF!4*ucdQ<0GGYf3cnSKAa^98x4;SVX@0 zl!X_=>m7q8qjTu0px=8&HTwy00`Bfu;Uc*z$IsTS-Q?yolJD)mtP~ni&Uu^jg3a>k{_*?7sdfUt*|**^pw?r9 zJVEI@m-SPWw$Rxc_z=ufczsiwih42CXk+p1z(HQk9uAhiCzjFEx$GML;XLjfsc1#`JxK>~BxVxZH)rg4NkY z@t3E$hj*7xPTFX1xPN&XRcP3l)V8V+6|6rbCA}RmX&8%8buJ zLXt{rlJjmNl#^E{`>yY&pPt_bvuW*Dn?l^Q1cS(~8p#7orWWoI2MX9IwGTZq{~nB* zX}}_gK`vS*rLt#Py`l+0iKNfB1yyOB_1}ICqXz-R_ok4~UNExSv@&l2GViNLGaiXI z3qnP@Ujj==t9(JRW1eP0>_xK);ZJM6N4nuw3irqS>HmGFAoF*OB$NLmEv%^t!kAn6g0orv}E!8q*`lsN&l8WXOnn;vgx0| zXXqvc6tERWHwZZN1VQAuIMO=AB-+NU`bu`d3)x1WA^~qtu%=Uxa@Zt zL%&QdZgr~c+b+@izQVY2u*NcH30Y`h$JZ@%k&b5hkAPQ=yH}TvpDf%?luKtF9*+DM zs#J>|QqF{2Bx_!UqVcVkZ33m4-n~eC9>Z%`F#-l~e&J3xeezRbBqTteMc;-WFY1lW z#b)vKR)sKU@yTxZEocvMm1=`R7?N3LK3c6E`xG8-!j2OOhbIcidn8l9XIs66qx5?Z zZ*W+amP%D$VBCNHaq>+;_GQQ0c!jR3 ze|T>L>WS4-&(mljzmh~wmd)zl#6OQ$l%aog(;ehj#TEqLXf3kZ=!pk}pnrNxp{D!U zl_f~t8GcR(VX3EkoAH?PDDU$Hw>e8 zQARGK(Z;#{Y?UtFx6||>-iKq8MWRUeuBQw>7ab?upSYx0ZChuPnBmj3)e!NnohVM;qCl7Nr?qZ7Qct z>y9U7_MG-Q>lu=29GC=}-IX;b9F#d%kWDke4f1AIrC|5oo)ZYyq6JQbb$Rj)e z$e7cfG1-HG84XVIVM@4ZQ;(i`i?B)DOlta|>Q92S#d#zNBtOMa<# zbb5bw^!K9v%Od}=rTA((faI6`9g!p%`LriGOh)z*+y=r+X#+&2U%5`k3a&TtTduQ+ zU!JLC;-@nT87d-uS)bUt7Z`O*4Fq(fGdP1azk@If-Xxu5ePc$pk zLfAl~?Z{z+P;{gXP;y2pu$cW@7EW4b|29~=5$+K$GRdXIvkmzDBx6Vg3TR$KV_x;U z2N@Sv+ZNzqWu z)#2zh)Z#Z`%ZIl~V+BRuS%KY`^@zg)`3r|8yQ$?_Uy(k{muKrn`zIWz%jhYzt+j!< zG6b(a0myk+wU4*=MgjI0?Qao#=^5WY%P2T_|DH~V38zhpVd3tR8jFZ(}c6@%e zBA2h;=!8YDTl4#f1TXgR!Ez(1QGq-_DO)_;vaf(Hfm{D)K)Az0Lj{gk6%M_6Lz~VY zCv;-pu9*R0X)lRjWzGH9hNKM2S z7vqJi#-`OXt0i!yqWk<_i-{`p44@0_Hj#`lBwnbU&cTS1xBMqzTBY}3^)*P7?Od+X)qIWcd;h0xuP z6u+u00i2>U@nN+;R{MF>L58TfY`#*joPFY2Y)?{h8RernQjlll?%#^&thfXmKDan0 zF9>o2>zT_8&B)in=d3>O6rtr`<%(#kO=h!goe-hW!Nff&e>mjkQ;u`{{VXpIMBe_W zP6&SMHHv#3cL)ZELk-9LZLxnp6|!0z-Ya@5%{TYfn%2v)bc#r2qdAL8OjGFFY&VW< zw5F5VyF2>hv#nf~m-@$7&~G^XxPs-qVsOIhrck#o5%S*Zt|@=NqL_8^i`R!($epn? z{R^=hV_Z}On}rb~85GS$ZT*%mfzj}FExb6p@I3asI9%xPsg5YQiTEX{f zG=~jg_{Q==LcED!Dy`S--!$4$I@wqnhCFoL7G3IK*zfQS3|&;`1MEPiTkX@u8Y@nR zPhB{RP(fUQF)$iF?SoXSfiz=TgX5x4wm9km5-AjZYYpwWF+pPiaTyDS zo*A@yD3z%DvF2RN16|=G)mhCNlzL^G)%B5xaXVS0y!J}QP%lE`0|z|%^I%7>V^~ue zY@U?v9}pq6gq0}sK?12Wmh&x4d<=6l5kLE?KwwrhXu$||S=<@OBGJRM`U_MgW81W5 z`4g=AV-xRFp|s=@)*zMKEy+pD)TKVT_|7l>qeJn-^_4_s|F^6gPpA4uspjNSmzZ4{ zA;%G!o?{2N4qK(0&6*`jH|V^$Si8BX>2jA99~EvfB%PH*pKqXVVNd~vD;bAhQu(Sa zg0G+N76#0O$RruRl>GOSePBqd9bL?rzPxCR`r#Y_Uj(OIOT zR42cnheN8BO^yQ5g{FnLTMZhFI-HvVxN_Ga-Hh>s4ncsXFz@Q;NlHchuRWENQRrTM ziDd@qf=_=1pDf0|TT|=zr0f#DpmJ%|CF8Q%RCY^gtE%o7AX-ho|5~Q(-9SoJq30Ho zRUvKhfUqUrD@rbBId#-79K z7B@c@ICY~$AovrOBz(nzt!3R@?Nu_^$g7lUTk(W3_Q!H$IfS#*FfeuTM=RaKZX>6K;&jr35rCMiLW?K0Z(6Bn^R5c}ge|s+f}HY)grpPwg(lDI!j-L>jC|8r1iaBuC2 zKd1@rR(?l$&6v|lf+6$O%fpkyuj3uF;b=?0w^FXZ<8gbzu(MauKt!lPoxFc}7S(#| zhHZjk(Kc&zcyrd_u*s9x_OHG3_j#B|Nc~+bErRaRBbsP|tuyvlP@MPK^Oi@9STHF1 zk`ipO@8jNmF5rPM_k7JTLeIZ%fB?o4^XKvOt4^~*ZmnMqc)jowRwt+{$fK53&TG`+ zu02Kk-k(!n%%bw59y*q_1LyU?kXfd(yjAA;7r!c{wX;%~ditub0bG9&SaN)txv!{t zQ~Lf}d!MgmGxO`r&F`0>L!Gd39USSt3{iW(yjokYDjGnJMyjnN%05%-`S-t3T~U>! zstr>ohvW`IIRX5Or4#}lpHvaw*dGp~8QZ9I}r*wBq9;<%|+#m@wHcFQqrAY!@OagX9|7xWPvS#68 zqiE7_F7Lt4MP@RDwRdSoaY8EJvi@ZN3OFm{r>PF+vTs@elW;J#Lu8+YHu)O`JWgbe zHOaH(p+GSe803wPIN+Cnz0#7-oz{lwYr1@jOi-6$j$QIa0uXc5qkG?Q+XKGU-BvYP zBCQuUAnIMv7_%F`dqxBS9EBlz+JqtIr}nu(QX46uLb|@=EqdB)#O&L?L+bYxa=;8) z1`YoDV!)c_g-Wexsx2lsy?cU=IQ>`$3LzASKae+$uP@0P+ZAHRzW5CD3jZdg7Ca;t zE>*IuWELb0(hcKSSWj}KJS6)}y zo7>p3JFyx|5IThNLY9PEZE}xV=C(6!v=(PN7I>8E-K2I$ZlRm*WkS&>HdL=kwq)saAaewEegc2gp&XQ5U!vORAN z4EDp0nVBtEzzI+jLRH+=MPKZdY8?IxP{sgb+frfE3v(uJCno-V40c4dCAUOydaU)g zCBrt-K1`-15s9Djt$(_QGavB#+m` z)w}TrnM*GOW2EaJ*HZI(D~%>h-i81RNV!7PBk+*ZP`%0;pOVEbt#0-?6l2!vmA`i= z#15mV6I~#}N=&>HVdc4;?qv(7^G4ynYsS)bI zvlHD#U+6OwK+ay6eH{*Ye!tizlphM;9nSfEQ9%(_t!~MftNt( zOsYF6{Z9TEUIo*0Qg*Y*mFS42x>aY%5ZZE`tpbD|x{SWwYCSD#wnbI56(b8u7KWv?Z@dj~64 zt{Bs8pUnx3l1>hiOdgUDDpHWkrrDh%0apM%Hw{o*>Vj5_Eoch#%0;~goCB3S zMcLg^N)s96rM1@}tYXo{$uy2StjJgny316D!;8J?%;~bp4~xT>-M_vhM5=pNzhyUm zug|TCkxg_q$44{H7IItnCg3vDNyvKj_))b70M+2e8P~-sKcfSczk_J=bk-zY_j7%0 zxO~2PkzV`I*uCQYb()+DRs2JuSYQ>(tlB?Hmw3XwoH}y<3i(SGo3kDGQ&D%SUO^AR zG+YagqU8SixfVYw%9n&ccR8a|tdL(VvK@#ereOr!st_lc)g9(b=HDQPi zruiBMlcfHcmw?Lj#-!wp5g1QOFE5K{0`l+U?r6XVX%G;g=+2)nzs(IgJQDfG3T|ik zZwx4^`4X7$SjXUUbfpp)UulBp{CIY%bt-hYCq6qCF)NPjB)S8_dN>LcSvVk$c1GW> z|FE*IODAzdd)2l#*p!wgPWjGIRcC>8bSCD!thijy6uKHuhrZp|DEs0n92=w8zEBt0P6??jq^GHyqMDYRc2nGuGcX#l;eU$d zlaUi^MS;->CS>cWwleQnJSPv6rtjoT$Wl}rPGZ0#h0zH^!ePLz_}or1!EO0hQ1-T2 zax+x9^Hm&S*%Fa;^>EZ_%eemTS{}vyyOZ6u?!1Mk!^n?ycGB}2)WdgQwCR%vWA5_L zLhN7xAvbE%3G@@e^7+P8P!|lohA$&@*n}ki3etRN3}1z+u938-*BoP`h-9ve!3gC0%WEg`HeHl(^}?J| zIR|@+sKAN=RujZ=K%Bm|j_M3$Z447Dp(1H|Dlo-IUz>z?a27GuSlfMm%3c1`2~tCKh}w$ls< zfcvMnR=>eGQ*F#j=+m<_?;9prXFjY&p)RiVFM`_+f_dazRHw{c%-l#&s^vZ{VRII+ zvA2fXLx}Ril39_U4r&GA&fUv=MHemP!}8%34={J1BX$s?s2o)%=Jgkl;(xJ z2n4HQ<_w#A1)u7N$wyC;1gM#M+@V8+0Q+(s;a6#JwV6<#-2lk=E1w>@f=qp1{B%AW zu$&$~-CjI3sP*ZSU$-;y1%=sAThC+LAp&gcU)+zxTN@ne2|kI(6F=TmX#`}-p0<)? z9aS0DFcHcpr)VnT0o?Bhaty>DpIXPgWfY&8CD)N$r9r=Zcm4?-j+i7JFT8twS!=8l%x1Djm8+IVd-JAVqZ{&U}O)1*1nku;HT zO}kt!xPki9~@d6Kka9!IZblhh6KiYD7fVN9oT{jY;&~Ki0LJNjO0FMrzJ4i`FWYY5dVVG} zV7&U2-g}2&^mZoE=>IN&1^?=Zd)*rzx`kA`NwZ6`I;WC ztwL3Y{I>U9sBKevKz&*$SXI7YTc+?2s$%H#4T}lhmbJ?}SO3GvNZE1ZH_s#Zji%jS zv_iJW>5)sf1!$l1Rf#9fhWkTi z&0ed@pWuW}_0aLzHhJA%b;A*_ua8k*W|NN$EMUFI!Gv7t1p zSKNtnOyv-epd9pR@xcOJ?)O)li5$P|(FW+URO*d)GsH8epm(^MDdm-lVk;m8Je%fs z9QA*aHl>}Y^vfTKA<@6pH{%(tJ-eTo?sdZxUXquu_*LD$pz--_NV@8T z!ZNY9DV;Xm-HVQB&N-DJz2LX+Y+xOYV(K)vnnVb#Z1g%G%AWm(X1m^vn z7Bm?KAW?CsuEeM0Op7C^m*+vFVoJ@=Hi_lF?p`okIShA86{C{d1BJ-83clFgHO3VL z-Vz(`$D)fAq8dSzt(SPOhZv;(?rZc=u~9{Nt2?wGpPF7&n*N@0RrKIrIK`w8e2JXX zXn^4HPr91?*Zb*QmjU0Tg97r$zcLO_a(^r-yi3QZ+vbT z9*(;54`#E}eZPvXflZ{Q>0$ps97sbJU)PKS>bB*`#smq3ZMHgWFC=&>oZTDL>Y%%{ zO-0KOVyrOX9o=AfYydPb6k!&m+^|xIEC5dEDQ!NG*;Cp_Wk+@7r`yNR3dL(+B5h}O zcMu?Tdvqu%!ZH~RH|O$Xlg#Z$ZaG7SrsmTWIwln9jHXY<>m7$)bI{Hc3K{=ufj4LP z6Wn0XfkPMSYxy?m8($lN5$C7*#Up#%?NK@tr65xxXK%{4)}=0&i0%v-;B;we+7khZ za-^Ruo`)yGpWZIx{jX@^M*HWUzvW$01`6P^j_YQVjuz0jxmo@w^!_C=M*lchi^l?f zbSlWLfrN<^ZKw`@ueN|%;Fm*!CMgfqS5c26AQs$ybM;dw7HH)V;&zCso>CwG?X5PM zTd$*Hg1FKq1C=L5?5Ep`Ye12cT6X)w`4rYX#3nYF3yrc2chiVW{g8p1v>_-2mP1$Y zZ%b&Rfob;><%{J~#wX)a-?6`iYA^ZUIQJV3ZLQII)M`R;BAi8qJsh_1El$Tc0j>8l zr1^-Yf|}&9y(;k4Al5vbVmv`7kPy$u z9l4+3a<`CtDN9!`3OW^XKz2-HwY{T+{;#Icn>Jr?lFZDb?{n_`G*_dKAmDp&&(z|0 zp26#jV!boKNcb2L?C(hMO951f&=t*;o+vg^TWtF>p0ji<<^kO;uSJ%J2zZX=v`2|> zDCR?7`dN8=>qf5>VwR0@?`0M^tugOC=)ta$Ri6oU2NbS32(`wz0s^!$vjvNth|;U% zfhRa$sp4HAy>E{v#1>Zjl>3|j1em<9u)+Mw@ucwJE*CZ?TPS=-s!!wGw4>27^1t>_ z#;jhUcgp^41KywQ$n5laR+@|n6`h6^3rk7U3wwMwXRl1^93GfkJl^?n7!V;|LrIe{xYY+M-GNJ&u&wQ zV%D;y0nMXq4KM=O0r*Jd&KOX^!j;aC_s9_w3k?9iPrC4-%k(>^Hv%@vQ+59OnPc|D z$&^1x+&Fpi-WQ>o5_{<*9QgkK(m-;NcqsI+8zy2^{Yd|K(x9tlTYbTToTu!qrL%#A_6 zBW6$V{lu|895=WZA%;xFiGYhS-*UT0B+=Aex>W29^ug#=^&4fslt+cx3VI;50ftec zruPImu}+McxhNe?#s_xIF!K4u&+9uI@LfhGUeA2Jl&;5;Q|dAnzHv->m^6Ch@`3>Y z#gW(n9`NqEKjiwiIi$G-0-F0wq|D=sR>uwbTYiLozO|H}c*J+G0IvMorAti->G_UE z5)mKR4$GegFuI2DS9cO12OU4#JRKtlS)l4P1jQMl0)fet%sF!ALeEe&FQVP4`Q23k zYoTz$=xva!{t#gt_8>XAS&ru}iRW82GM_#LG5sHz#XbucwcHq{-2_J4t<;-nK25Ix zE}>$Rt0i-PI){JnkVP{znNd9;1vI%cD}q04mw}PdUJtHfg@f@=yH%`{wsAqvaX4d> z)`o&~&E{-oVe*Dg+U+KdNY~m$J@BQw1~^0`GbVn^MIiS1&(CM9(_>Va1h%z>mlBmrHc)c-Slb^i4C?rV}(4ErPW)n zR9jm!d{z1K`!cjCp6RnrCsqVP^1W?nk+fntabF@f9;?^ITX4)3?-=HblL-0|b7T~V zmp|-=B1L+2(&sW!mx#*$E2;n)JLna96DbluIG45hJMfv`(EM!v67Mr=Y^yj`gJBKE z#3RWDW;B8e&i24BsbBLB>`PHysVKkD#sh;6EN3(-^efoE?LA0C<;eRg?Pfvyg}FY+ zoi4?!q8c&+bn~-cst4GBxaZh~%)+Vst3j;;%e1} z=KE{2qJaa09l$TprH#T(wG0K#G@~Yn<@{0dzja%=zm*7;nXLOQnI4dn37gF#q)0=1{3 zpO$r}p0-gG%YnN(i z_EuP5N|i@=pSRifOskEMMDsJ()2Uw(S9D`nSX4^R`J7fWf2!B#1m7Z$xvk}_W{NfA zz!x=iUpI&MWQT2`%>W4K4+ejxgJ3PMQ>JVk-Q$F*IH7XcCE_9c5r9p-JMb?&tHUtm z1O~*^A&BqjA3&~hsTMZpr8BM5g|ZoGt}>Vx5&Q%UFEW_(D>?d2w-_4yQad3>vVpSX2c;fv;D-)7|QNSULu22f%32ixu> zD()dFLw0(E2-80>R-jrCNguRyGKHzAivYb5LKrZ}y&7xs{$>%)s6RCJg7@U1MjgzC ze!U$;j=ESa)eI4RgJ%}@b|U0R>{fcavz>Dxyc zvJhD+b%hN;bom?^^F4HPk)&W}5u$E0Ti~2nI(b*7c~tdj=AV%2=iw}d#y?t&`*70?9|4{RgJy3uEvjN1ia~M*=^#}5@;;sfM&Kw0Il4Dw4k4iNeIy~fK z?%F}J@~ca{zW8eQbJw87XV7go87(wc#1Pl7lFbaB&*cjtCgl19L!CUYSmi<*ZUC5{ zTK#NKA}|0g;yCnE!Er1YFap`nnD>v67?kOn6eOc}r2TQ}8-mT*VlE?S^^dJ4q}5G) z>y}^fIgU7O^2`Q!m@3cH=GU24a*5&wL#JB2kL4$rzkSLZeMaN@#)>p8Ho&N@)&?j+ zaAEZiVE{w$ZR!O$fwJ*ON~-*5p~QIkDfOJ6+qkpR}NG%ZpZj4tsBC2 z#kRzDRNvMF2NX$h%9P40h0B04MMRNDHY*ZI{Pp*Hx8O=lTTBX^zD`htG&u!3oWSe>+;=h(*j*=8ltly8B@FGX1$&>=+2>1cNPctxe4)7p#J?AhUSTUbYKF+E|JB(?x7 zshE=I+ZEV+@2vNa0$LPCK;1J+HV7LL&W7G7tX3Q_V{vu_c=lXzs^19B2k~EXJ{s-2 zFZay*B9T>uz6oeJ3J7nm7mbghZQ!Hnc{+Qurra%D2?tdst zM(K9LatJnjxI_V`n?xCaFk$gC!#jCnG#V2^AP?GCXmk%DAs2|1-~sbzR0wS+z4N^S z>mGiYE{^ga1!;>?JZq7XhpvGWpr|kiK7+Xc9sxn@;n_3Q<6SZhCiiQFD%lnG_$Ua0YO2;?f_UX=Qt67qYJcBbT&^(U< z0qDqT&3YgJIpnG`M`I5m|8&yCGD3vOv;HmJy7TD}@rmX;x%#xnXj^CQ=U)#~MDy5- zuyU@lH^vo!pui+iA%(z!T=kk$HC_(E(?+6DjnT{G)X0~%}kwU#?VBXw-&pby=E<7JAeT8SlFnX7~MraKh)ux!bB-?bI4Yke~ibuiT* z!^s`2%;zY5ZFatf175~-g8zN_{q5}UTXZZq3g6Rqks)v}2$ z^;njexkoZhXFC>n6bXMdW4$vSH~KxCIU8xt5`T9}=$Oq2^v2v^vmrb`DK4P=)HPzaG@Bt@5joA;DVlQ`vnpFmW*(Pa*!zf9y0>jX{ZzB-L+gpF|jIThu zfu&hVDXuv=dq8N|;n}Rfm7YEgTtk_7>imKsRizIxOoBGub3_c0(`nUJc9HVTIyr@} zQ<4vbEuvm_XsIXmFPt4z0n@~_vq8lKi7i?4vie{WI0-rr*;oo=Z*JJILVny{UZ-4o z)R<^UPfcK*`Lh;pn@R0)YX!sz6K!dr$I}H-Qjp-52XBJh0_Cgx(49Id(Z+{T#%d)X)z$lgxwxhEW|7V; z9KN0?!1bNWrG-A3+RJ^9qEcROEL^UvPIY4am`M6;eV)Y>y81!!Y_OQ276Sg_FNFa> zz0xZDQmHK;Hriq{$XysSH_d;9*H@x+g_+PQu08y^4xd2f*7q%-hFE%($iFzlE+(9G z^i(jwvuXH^zsV>5zFbdO7k4aIw+-SByYF~QBfd2Ss3Gq>=rzhIgIMia_On@Al_fD3 zi3qgT_E1uRM|0oa7P0RQ`}R)Qf4o6J3i7%2iNR%VJIgv zXK1RJRgmbO@%_w-MOAdhVHxwgP|f2b*%ss_)x_ z7fnHU^m4g7CB|EC!$G{(kah2{A*ZO1Fi}_~<(C;RAO_KElY>a>!>=`U5Be+=rr`8kRdh{2L!vNCFJgZhd3@cTB zFQm2U&P!Nj(Qhj4-<9giZIVOLA}m1x^ooI4x7enPZ*MakGU|8y*WaI;<6Vs*ovyYI z8oYlkz92his>XLQ;QAHtqMMq@MmLpz>YyMA7HQ|}1YMUup}&RVWFl7R;c0F={}!Y$ z^i-7;_pwNfrq+_ras3nbrdKUicHK|oCHT243@}#8S5FGJ7hkYCyF#R7rV<-E{(YHx zOQR47%IE;O$@dOvu2ij?6@FIEaMnS1k6z<*Q~Y*co&oVnY6DqF@F{=f$ob?^?Li(& z^R;S7h9|B3{%Hg)mGo|hI>Y0-U5nchBkVPj-`n=r7RPJaOg^X8Bb@c|lTs>}Rjt2P zWlQhG?Acplp`g5*W1!cYS$gA&>$txHWH}LlvnytZws2!Up7Wo?zcV^r8i!u9M(+OD ziyYt{;zyB9&lemhd`NEBay#21tLeroC--Y6EN!+@f+mJ|&Z4m;#2O3J+Jao>Iw4_L zh;jtPu6*tKp1_$%3MtH`qEl7yxD%IO zTcg`=w8+q@6iwTY`9i+@EKp$+%a3JGyzxafPZaO{P~vmL;hYMgg$D5hz+@O>9d`M7 zeajIDGk@2UT_3xAYYDDI=1bm!F-1jEf`8_?7z{_#xja$EAlOOjeFlUtDv)!-ze^v+ zYt=vyF`p-0%ohx6jd1|B5EI-<0Z$@1P@140$@YrF{1QT&2w60G*}|rySxtiD-Q>GZ zo!^AtDyhqp@COPpRj{;Q);^DFhhBvt*LMMr2OtW8^(ABv>-Ezwh>PEV1E9(ZO#O)j z0SNP#T1~uqoJ;{JG!LZr$Y$edW0LmkQa7Rcg{EwU+QOe5;m1;qz?O@=Qs@8tp=X=b zkW+dj<(BLO!gw#~CTnEnRPemTo+cSy)NW5Bh} z{5Du*mG;kLJt`7)4A7o&U|6`MR}MvaU%74W%+~4MX1|rpSK8=AQfmo-MrpX;I5m-u zwaqo9p+AL$8bEFAH|hjGarIxkgRtiNXT3C&Lv01$HoS3{J{S@%&ou2ii_I0>|MZVY zs8xlE={(G%dRWgWqG<4(Qo39f?T7CSFkRn+6l-Ho7D(af;NuW$_mytA&t|Rd9N#xXOmHh7BYgr95*Q% z6r&(D@i znjC7A8EGt_zUA?}BF|Up$W+T`v)V9=C>=5y`4M`&rK!6=epJ!s12CyJg)?vg6wu)f zOkfN(6EyEQK10D?Mh_M_sHRbSLC2t?S1v<|);Ws->u}n!B*)uHk;1DkcgxdT?FeC= zegD8HN-$~{dS{fv&pAp& zBm&-5#}94#u?=<8@wy+VKjxxM6#*rLHGGg`5Dg3z72gZL z!MktZ=2Won3FWNuHDHZ`XKJU=gG!BI5u7>9#`D6oKRB9R9r*+n8X^EXIgE$Vi|!?x z5-VN*;65W6^J>T(gVk)pr=pv^3?}5xo;90aJWiHTk`MoAZZvIuDe)FE z+x)}uEGe3;dz$K@D3qI7=f`;u#?Rl=m1ipmO?B|G#a-oi{=B*K$W?H#kK|FXl#zM{J2<=$3hhK%SqB1FMX2l2Nv~Ak6J}8{p$26jbs`lDsW($vJ@W5df1cH zrF~;YQyQtF-IfLTpt7O_D^!zDncS)G z6fIY5u{5CwXYe@e0VO{<5kzO5c=TjMz{OI(^8d`B12dF=Vq$u!&L-_)e4Yc3xPqA= z8L+mhT~4-6IjEDzGYHcklTCS<;w+mJ^Md97fve&D5)-R;&VTaKv(%oB^dKKEUXY#Juem6*OV_IQxk{EGG*NmP~Jv}oVxVCVLQD?EtGMiO@ z!ll&W(T)+D6uqJ6Db_}sdB-naX9lAqQ0Gw9K@hq?7W5y-1}BQfAq&UxL7lUTN$sv0 zLA7mF^J)3(`}3Vv89wb;n@e!&f7N`(kb#YZKHh{S8_O-l-FA~mc|b# z7;;itVOo3e)q~J6^Tzrf-aH)5elrk2=;u&>>;fj~HSPXUR{#LOZv3|v068GU@@h1+ zESXvP8XPU~Go(2%Db6K|ei}jey(c*8_gEH=(T%AG^Raro`6p3_&9)sBVKe~3F20{J z5MMyRWRMwn@DUwdU-_E_7WRJOsV&;#k6Ol4F=l@2Mq|AP7{pbpgGJD1L!tpM?zYfG zi08Kh68Fb2p#h1jaVD|tycEy;GG2BPcbp$cr729VD2&%ii|T^o9Sm;At;lRJmhQI3DeIztb;(J<*!9r)QpS(WJ6e%hS3WlGW#nmD7fI(mcQBzY5=pmtK z4u_uodJN!wIsVogJlLkD7QkUjwCDS7+gGx+nVS05M#CaK*?X(&;~qz{3w<2@W)BQ< zD%@y^7+ZuUZ?;=n_k$pJ9Y3-o^d=AGR@8-yWYqMOKSI6gsn`v_KB#i{shxN6(*;Fh zp`!BhbqNR1mrmE_#-hRThHxbl5u$rOimoJG7x7spx0L_h_*X&xbNicTH+mh6)AJ2j z;T5Hh>y;AW@dm`Z^xBTs@p-x@3epeioPu<4%NiKKHI^)-hx1kYkt7`nk7X}yh`lt# z@oFkR)&(QO_S;`iz<=v7bdfC{L*-p185w7+fBL7f9_A5!AJL&XZH8r1ml>4l0h34a z-({C6uzzE`*zj(zwtR3FH$xLwz@5i$n^ z>PmoyNrqhj0Gt3-d0`ZSb6`nmYCHfW* zu8D}y5gLhRaz06ZQwNe}K01!*C300o84V#H=MBq4RlP=kRQHkWS-Afs=4We{%Y7jx zAA>SU{PtxcUdwz_(WyR}AIJ}RhFAPM?it=cIFY%AhM3_x0@}uL1b{-Ck))A1(#5|w zoF1p)Op6k>J@4kn5e1lUMdrlkawrlgeq)$EJ#NAO0&va8GiS2S0nh>j0u;XuegplV z#heDCTtsFng0u3{ia#Qe;cvTtSf0EmXHJd3JmlTG;uI3n{cSb}e2@aAWoDMGt6s(2 zVDAqL_59@guE@2tw1&gg!em$n2C2OAHx>o0D5p?ESI0M(`ey2c)jT{)?Zec9-iL`D zW@ctYcU-0?3{#q z4;xLaboDR9PamfcGJq~+A9HK+dC-YH?)3f<+0)ZA_R8n1_(oDFce|^r)9b~4E6x52 z3U6*}d~o@pA+{$9$N7yYMJltLQe#K`P@w0*{>je_A#y0+#ch#G^X+I+AFu21>_gvI z%p?9s@($f1u2)2kAaY9=J2#%bI^!y`K;jCARU>BpGWgW3pOOZ$B%LBhz&x^AJlJn+ z{7Yn1iQNfyF|5HT{S7lYGd=P@SmXK+jM!4I$F@hf-ig}C$Ot>5+ef2nQ00_WqyYW* zvhZ#A#@=C6R+eKDodQl(3ga*)ldH)UBc+7aqTNhRvFa*|%B9}YK8re9#UnaiL$c#~ z{HQWCdbq$=2M9)=5-8p{XFjw-Rf4NDzqJ8@VSdquX-zz~b? zwcM`jRN-TNNkZy++s~$s*gcW2sIC2Apx+n-wd9UzNn5wQx;f};Rwj(~&iyRj+!PHB zqW)!StXh-)XjZ!}&EA$E94s~;)TVB%89=jRG}79pWh64K94;Fm4i}Ekd?C-u%1Uv6 z_1HT;78|kS75kG^$=yCmVkl!c>~<4K$i~l(Un}WJP)p$qiJ30;18dQUkk+rji?x@Z z%qcJ-j~4H1Z12zJjb69=GGRBdLtW2pRzLdu{FE|sB%WRQU=FK?Dh3BjrtDwFujNeG z0`lti8P+j%9H4zmKhYIXHNm5tHPuuNTT%L#z%j$m$isun0jf(t*3a}p!Tb=aZB|Gd5*LqigcZ9$=CTN9>(IG&1 z6S#jm=;INgq-8{@H9kJ`*~R8Oq!9?JS=z{CdsCLv&J$glF$B+}-zlxnlz1!U8y!>4 zQpwPTD3~#FQOVJesixmGAArH@-QpL}bS%1yM7M^Y_(e}P#YiGwCU63PN2iM%l=MUv=sX1xa;YQXZTbx)bwjK&kwJnL2;@56 zEBA0fRh4-4e$s`22q7!D8&d!=wr3J}O3#UV!$|)G>|2xSgu#`}KcsLc>r7EQXe8M! z_#OPRW56^Krvs0m!-;$rs@+mhqm?=E+U+@sv?mHbL5P)E-F5?J(@SxNn({xv`=Fw- zJ~vY)>~V_!EA8{~hhEZv*TB;M`bwg&pQm%UL{laCIdOuGIlonWs7HMQBHyIE4pU=# z;b@1OH@)TI3CNp63yLfzuG&c$<;x?Mjm5-b3A0t%s|GLs;>{2~%m`cz?`KIIEYqJw z0Q-hG)&^%VW-~cHS@}~_B@eeT{pimQww;2}yPh>IHm8;4GunBKRR;x9#Oeqx$m>%h zaeDEmVSk4ptY{@?c4x;8XRQ|QO@(ddQ9H##_h>}jCi<=s+sIu54*)QY;z}HBs3cv~ z9K|XGoTl{|q-7DLB}St}%nf^8&?_6<^%0eZKnLNblCDpS9Hgzog?mLW=WSvp(K96; zK+DzMC%p~#jmH#578E`BrYkyyvC@0kJ(F(p1D9l+V}2Prr1Ml?HpzCJlW^#XzoW&X zUjDNaCB3j<{k$j=+(Wg^t7FOIHWB5i18U#oK&d3?_9%OanjF{dY9B>?jm4~cL#!6= zx^D>oUz=xtHf(WzM3C}Hz1m5m^p!I-aMpj=2c~^YIL)|c|Fvh|cdWm2*8gmO^>bX{ z{UbYb^Ofa+Ry(#08d-I| zTqm1;YqqTSsq=Wv@K=Io3xUUl?_6zd*iQ+{4gaDr8vv1xsa^7&#irr;tp=KaXG9j> zY6&m2v;XEQzVVZM#6hZUZzAvcHHuy&`27{ke5HjOc6ZvjpKd%^+3s~BwOmXBr85i@+8vKBO}K9>UcBX05Lcbtd9i-kE?t4$QCy z(SE7ScGk0HECqYjxgangOhz17v*4`MLYG|E((1=Dhv9wil+@*XvS;w>lqlUG^_>wYt z1L30W>y`%+_Dt|FVqu@aNFfAEx&HYPqP3JZ}$y+0jwrlH61R8CzS~+(Vs?G%=MDa z-o3)kK`VCb6!J^w5HsC2++eX_u-7v3(@#7ZT3MP{GRh9qwG|R5DvnjnYt{|P6K#o# zkG?sdr}Q)xSM{^!Y~Q(#P)NGW=QWx}%fek1KGr6XK)qJa&D(y>??>sDg&1qSm%-CC zspHSS9`Ow6jWs}CScUW&YA)UXv?MVi=*1wrZHG7qWh59Q7~R<-J#Pd$ixL5roF$_v z-)Fx8MRxDSPBT7Gh77Swcf((6R#v0U(#JHu@f6-kQ?g<{`4X41GF6Y~43fWL;LyE} zR4~2sO~7h9Jn%A7%XjN@V>j+zv4%*5VI6%fe>n}2l0m~zKP>2t3?NROrPyY!E1ZrC zAL4LO@*!meJkb9kEa*LXQJA?a(( zc8yil8Rk|Mxe$ufo+ytE5lLUvm;O7HE8Y_QvNblu(?nHGCL0nBkTqnZ(Q_?%NC^;T zr!QJ~5-%k0ZiY;aB z=@KTO=H=_4RYyyOoA{5x{?!QJ+lYjmgJmS7m+U~ZDwTP72U;|ZiIMjjd*R!#Yi385t-&B~S+$^Ap7ztpP2FB6Kl;`+PQsr3{q$BhrlWaFqOn$QDM~P#+e55Ms@^PUSYCYG7#0dVPJ5i2HJR7#V?WB;8hg7aNB_@s zQeJQWwv~o2HV#v^Tq-cgnRE}L{*6AUPd)D)Ydg+5BG%BFj9KZ&lP45UahNwnD!{GR zF;~Yjf`U)Y0@Z4@vY|yShMOB0z@fJJ0Lsn6bQuQoF8w6M9^_r4j?=D`UH&m-_zCl8 z;muH+bZ$veTo~}0<#^qDNZ&b5g`vuQrcxjjZFutYUC^gML2{1>(tRX(mwXN`j>OhE&Fy=TwA|RyDcV6>Dx|}e zFxA;>W4ZWok`@xz%W^8iR>Qu35!?K_VVi1ld=f+-F26MEsLZnGO*9}_I6M(hMZpjl zSCBZ2)$d9?m9(l~#~Bu(v3hvso(JR?ays?j%?b;`)lv372iBuB}!- zx}53Orcdu3d~5>p`?&OVfpIcuuk76`tEGA0xNK#Kj0|^Salw{tj*|7kj9;H<%16}L zM0j!2ht3mZJNW|hM$!i`okpDx%SV0 zYQfYKZ{UL8l`#rA^Z?DRiIU_4vaL5LEmQC<4{1V4Geu$5Bxv>g-(hil-Rpu3FDut| zYK5h?&_XI=E0DAoyjZ*-Y8dQ&<>o(I?6A8Sm=dww5pLe&O1>p;m;2A|WO1!$`bo@m z^((mDO|PEW+ea@gtY|OH>uMe1$qd|!sJ>@@YULRX+*~&H>-Af-4lLf`@ky`>J6GEF zmQ#`2#vXs@AF9njv_2i*A%Bp@9Ol#R+Q$X&FKf?3y$)(ks3x;2BnoN4LAw~Rz;ef+ z3$mBo-3b`gH*|J=(wR(D`kei@rGY;5&Ao&@yEnljG-r>-Oju_XwLN8Y9DzMLPO1dm@wz$Md;Vcy_Z#RHiz+yfbS6t$Tk zpX=uByT3FVDPRjzwviO|^SLT41NaxzTKx|#WarU0`@0(EI2r7%=49hW9&&2`&8APr z(~g&0g4Zu0>f^4zV|-H!Tp$dkY9`U-AHnr zDpxiX))6s={Q=u+EU#6=v7M_gKQpurt@F>~**WESndYuzy+f`lQcD)`K)0Y>*-cN7 zSzQ7Ho32m|Uzr^U(;9@46y#`ij}?gf;Ly_{(J+MRBThZF0#URsa%1vfWlZ&V@V_2j z-VjfUn{djzVX5jpgM7_8FT*ll$_UsC-DO4Eg|8K-=a!Nv8#wR_IB#vSc7<+5t3vjB zb>{OHfnQF{j^tjZ}cdH#G5~W>nnZTvX^hYY>GZ#;u4?(y?0m zpL3R5y!0B3NsxLZC6ESV>i!Uk|kC@@g%En{mgpVq-$4FOf5k!~m7v}b*t zm-SMJW`T9GLAlD`W^1=2c_^^c?LjuJo&TggE zq>-GTYSfBE0q(+@U~MOWc)zj4-z*%x7_)b-ym-Zr8){~%NF(XSXH^Vo0ouOC$?{Hs zdD|S$cVht8=vw!49=u|LR`D4l0!6T;ahWbHKq9XKQ7H;|w_ZaRJ_h*M&#x_>{r^<* a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/invalid-command-json-directory/images/icon-small.png b/cli/tests/data/package/invalid-command-json-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/invalid-config-json-directory/images/icon-small.png b/cli/tests/data/package/invalid-config-json-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/invalid-package-json-directory/images/icon-small.png b/cli/tests/data/package/invalid-package-json-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/missing-package-json-directory/images/icon-small.png b/cli/tests/data/package/missing-package-json-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/non-png-icons-directory/images/icon-small.png b/cli/tests/data/package/non-png-icons-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 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 a9_Uu5CQP0-HU95G2Y{;Ts5B_qM*j~$!JHic literal 0 HcmV?d00001 diff --git a/cli/tests/data/package/non-png-screenshots-directory/images/icon-small.png b/cli/tests/data/package/non-png-screenshots-directory/images/icon-small.png new file mode 100644 index 0000000000000000000000000000000000000000..f072c7775ce4de615a4b9ffcac4b6eac6c2f2b0d GIT binary patch literal 1920 zcmV-`2Y>j9P)Px+I!Q!9RA>e5Sb0#CWf=eM!m_|}?6NF3atm^3NOmBFN2wiVLn^6hrQLTkH8tIb zO@B0H*_5SYj*ezAR9bnYjzuOGffynQsHhwY>;k(B?7_nJJa27bxw^1Q~zJ}(lTx!;aUSfrP*?ZR{qfdAWr9uIgt;3fl}5OR}1x2JnN;5LPBD)4x~ zO#rUpD}b%02FWB0BG8(&gY{#`zugBNLMFxm%j*oI2mg>S(P^0G2im6r`(<3G>gkx`IHfSYbDfGR|djB(?zb<cy8)wr?-?{_s7X zU-~Ah_E#W#!WI7^f(M2Lpi`&A$IIVEWo0F%7R-k&F%$cAW^AoLjpy@H;U$&e?eYfn zFwHF1KA^83>7jvmZAu1`!!&3$+0k_5FiJOnhSG0~VYOJ`CmjQHjc4Fys&q5ih#*7D_1LXdYQ4yBIhKZ}T3$0t{=c4eN zN*I+2Y|T%_^!QM;Q3w^5)FG(XjGVAQd`Ohy)G#nU(_@~+iStHgN;~DAlN{M<9(%G(D=%5Rg?;OaT=ZqipDc! z*QcvdQT7YPe*23c;(qYNa{|~~@&gW0d0e(~_1}yP4o8k*8{t`$odj)<8BgV= zU|T~wHXqX>Srvd3r9WD_Etpq&1p6Cxn59-=?$|_FD9i`j-%wS7;+4yVUEz_Dn3z9F zR3_dx&L>U*=(O#Kh>8-*1}jnfNYFwR#36=0JK|MAxIHT#>#G{kN7W`rrNH13 z%a4{3=sw*4_>-71bCw{jr`rgN*+Tn50Q{-VIF~pDaG?BGQIDk*zg)(8y1QXC8er7x zA@}t~a8w*LV{#A@6EF00MGBHpC87Ho=m5iUYIGU1)vnVcfCgUa<^UyelW>K`M2rx{EnO z0>E+036`3kE*h>@>L!y%r{V}1vHQF22%ttx+t!BT$Bts|9ShM$jaW?VC;^n);~BTi z66JAh_IN=;;i5aSW6QV5y*6KTp}f;G*q~sgFwT{W>rhD>cZ6&_i=V&0FrH)9L~(uJ zV^3i0W!aQ`W<34UE4U&z59&}2QqsmCp5ptqc?-ndMhVLj5giR~m9M|?CIOhoIM;?^ zJkJ>t0G{9w$2QLmSXOqn7*5T|q-0E_#EceUFe*M?9B7h8kH$4qrixfk%lxxErlh8# z@pywUngI@1h7I6s3;tex5H}ah{`(c5wm8ftT%9Y%RFw4oa44~aQLpb1$2-UG;ogUo#KT?WV$Qpu9=Mo>I@9d|;Eb7(8uxf$ zq?mTLj>iMem>H>Yj|WDIX=m$rJm8F(ks9}SV5FFKw$2~Lw6`m}BosdY0000=3.0, <4.0', 'gitpython>=1.0, <2.0', - - # pin the exact version, because jsonschema 2.5 broke py3 - 'jsonschema==2.4', - + 'jsonschema==2.4', # pin the exact version, jsonschema 2.5 broke py3 'pager>=3.3, <4.0', 'portalocker>=0.5, <1.0', + 'prettytable>=0.7, <1.0', 'pygments>=2.0, <3.0', + 'pypng==0.0.18', 'pystache>=0.5, <1.0', 'requests>=2.6, <3.0', 'six>=1.9, <2.0', 'toml>=0.9, <1.0', - 'futures>=3.0, <4.0', - 'prettytable>=0.7, <1.0', ], )